VIVADO里的文件分类
主要有HDL、IP、BD以及约束文件、网表文件和辅助文件。
HDL文件
HDL文件就是source里面用于综合和仿真的 .v和 .vhd文件。
- CTRL + E 可以快速查看文件对象的属性。
- hierarchy 为 文件的等级分类, IP source可以看到添加到IP核,libraries为目录分类,compile order 可以看到文件编译的顺序。若有公用的package的.v文件的时候,可以看到package文件是否优先编译起效。
IP文件
添加IP之后产生的.xcix和.xci文件。
- 如果勾选设置选项下IP内的Use Core Containers for IP框框,则IP的形式为.xcix,否则IP形式为.xci,且每个IP都会生成以IP名命名的文件夹,.xcix简化了IP核的管理。
- .xcix和.xci是可以相互转化的,IP核右键Enable Core Container或Disable Core Container即可。
BD文件
直接套用另一个工程产生的.BD文件。
如果一个工程想套用另一个既有工程的BD文件,可以直接将BD文件夹整个进行复制,这样较为方便。
约束文件
主要是.xdc和.tcl文件,包括管脚约束、时序约束、debug约束、位置约束等。
- 管脚约束 : 管脚和电平。
- Debug约束 : 抓取调试信号(使用综合里的set up debug会自动添加文件到这里,使用ip核中的ila核则不会),设置Debug_hub参数(debug_hub时钟等)。
- 位置约束:可通过pblock命令,设置指定模块位置或面积。
- 特别说明一下,约束的属性中有一个USED_IN的选项,之前提到的,如果要将当前工程封装成dcp文件,作为子文件放到大工程中,一定要勾选USED_IN中的synthesis、out_of_context选项,当然,USED_IN也适用于其他.v文件或ip核。
网表文件
主要是.dcp文件用于封装子模块或子工程辅助文件主要是.tcl(钩子脚本)和.dcp(增量编译)文件最近使用国内某公司的国产化芯片时,就用到了钩子脚本,用以给程序打补丁。
按照手册打完补丁后,在设置中的综合、布局布线、生成比特流中,会看到.pre和.post里面已经有补丁脚本的路径。当然,也可以自己写钩子脚本。
文章引用:知乎:FPGA通信小白成长之路。