Vivado将模块封装的两种方法(EDF/EDIF文件和IP核)

写在前面

参考文章:https://www.cnblogs.com/kingstacker/p/11508111.html

软件版本:Vivado2017.4

封装生成.edf,.edif文件

1建立工程设置顶层模块

将需要封装的模块设置为顶层模块。(shift_bus模块)

2、综合待封装模块

在设置选项的综合设置中选中打平整个设计,防止别人看到模块层次。

设置-mode out_of_context属性,表示在该级不插入任何I/O BUFFER。类似在ISE的综合选项中去掉-iobuf选项。

然后综合即可。

3、生成.edif/.edf网表文件

打开综合后的设计:在Flow Navigator中点击“Open Synthesis Deisgn”


在TCL Console中输入

a)导出空壳引脚描述文件:  write_verilog -mode synth_stub 自定义目录/da1_gen.v

特别注意:路径分隔字符为“/

b) 导出综合后的网表文件:

若不含Xilinx IP则可通过如下命令生成edf文件:

write_edif 盘符目录/ da1_gen.edf

若含Xilinx IP则需通过如下命令生成edf文件:

write_edif -security_mode all盘符目录/ da1_gen.edf

 

可以看见我的工程目录下生成了两个文件:da1_gen.v和da1_gen.edf。

4、调用

将da1_gen.v和da1_gen.edif文件添加到需要调用的工程中,然后直接对da1_gen模块进行例化即可。

在vivado中使用( read_edif    路径/xxx.ngc )读入网表文件到工程中,添加只包含端口信息的文件

综合后生成BIT文件完成。

封装成自定义IP

1. 将待封装模块设置为top层

2. I/O Buffers设置

 

设置Settings–>综合 synthesis–>选项options下拉至最后一项:More Options,将其值设置为:

-mode out_of_context

-mode out_of_context表示在该级不插入任何I/O BUFFERs,该选项类似ISE里在相应设置处不勾选I/O BUFFERs。

另外还可以在选项options中找到“-flatten_hierarchy”,将层级结构设置为“full”,

层级结构则可设置“-flatten_hierarchy”选项为“full”:“全”该选项指示工具把层级全面变平,只剩下顶层,保护IP的层级结构不被其他用户清楚查看。

可以看到在IP Catalog中找到自定义IP carrier_test_v1_0。可以点击添加自定义IP。

可以看到在工程目录下生成了自定义IP的所有文件

 

 

工程使用时,将整个文件拷贝到自己正式工程里

综合如下错误:

经过分析,需要将之前生成IP核里的.COE文件也一起拷贝过来。按照指定目录存放。

由此可见,自定义IP里,需要将整个设计文件全部包含在内。

 

文末总结:

这两种方法各有优劣,笔者的意见是:当需要给合作方提供封装模块时(有版权需求),可以提供EDF文件。当给同事们相互提交模块时,可以提供自定义IP核。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 13
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Vivado IP核封装是使用Vivado工具对自定义的IP进行打包和封装的过程。首先,你需要在Vivado中打开你的设计项目,并在设计文件中实现你的IP功能。然后,你可以使用Vivado提供的IP封装工具来将你的设计包装成一个可复用的IP核。 具体来说,IP封装的流程如下: 1. 在Vivado中打开设计项目并创建一个新的IP封装工程。 2. 将你的设计文件添加到封装工程中,并进行必要的设置和配置。 3. 确认IP核的接口和功能,并进行必要的修改和优化。 4. 对IP核进行验证和仿真,确保它的功能和性能符合要求。 5. 完成IP封装后,你可以将其导出为一个IP包,以便在其他项目中重复使用。 总的来说,Vivado IP核封装是一个简单而方便的过程,通过几个简单的步骤,你就可以将自定义的IP设计打包成一个可复用的IP核,方便在其他项目中使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [VIVADO 自定义封装ip核(超详细)](https://blog.csdn.net/qq_44517329/article/details/127758601)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Vivado进行自定义IP封装](https://blog.csdn.net/qq_33300585/article/details/132034749)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值