在 VIVADO 中,常见的三种封装形式包括 IP、edif、dcp。
封装成 edif:
1 将需要封装的模块设置为顶层模块;
2 在综合选项中去掉 IOBuffer,具体操作为在综合设置窗口的 Options 下面最后一项 More Options 一栏写入 -no_iobuf;
3 综合完成后,打开 Synthesized Design,并在 Tcl Console 中输入:write_edif path/xx.edif例化时,要保留一个跟eidf 同名的 hdl 文件,且文件中只保留 module 的接口和 parameter 参数。
封装成 dcp:
1 将需要封装的模块设置为顶层模块;
2 在综合选项中的Options 下面最后一项 More Options 一栏写入:
-mode out_of_context
3综合完成后,在 XX.runs/synth1 目录生成了对应的 dcp 文件,将其复制到其他不会被清除的目录,将被封装的源文件移除,将该 dcp 文件添加进来。
注意:其他模块调用dcp 时不能使用其中的 parameter 参数,而应该在封装前赋值实际需要的值;输入接口不能悬空;有inout 接口时需要使用 IOBUF 处理,不能使用 hdl;将被封装的文件设置为顶层后,需要 disable 工程的约束文件。
edif 和 dcp的区别:封装成 edif 文件时,不能将 Xilinx ip 核封装在文件中,而 dcp 可以;例化时,edif 是网表文件,例化时需要增加同名的 hdl 文件,dcp 文件其实是一个压缩文件,例化时只需使用 dcp 文件即可。
更多内容请关注公众号:
VIAVADO封装模块为edif和dcp
最新推荐文章于 2023-07-17 20:51:16 发布