在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6171|回复: 8

【zhanghe】【挑战笔记2】之用户自定义IP核的封装

[复制链接]
发表于 2014-6-26 22:42:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 zhanghe901126 于 2014-6-27 15:23 编辑

~~~~~~~写在前面~~~~~~~~~
以前只用过altera的产品,软件是Quartus。最近才接触xilinx的产品,新学的vivado,我的版本是vivado2013.4,我发现vivado确实强大,很多功能集成在一起,也确实很复杂,这样在一些细节或步骤注意不到就会产生错误,就比如在定制IP核的时候,我就遇到了很多细节上的问题,比如文件夹的路径、导入到SDK时总报错,研究了很久才找到原因,这些问题都会在这篇笔记中详细介绍。
~~~~~~~~华丽分割线~~~~~~~~~~

上一篇笔记已经完成了CRC8查找表的算法,在封装IP核的过程中我们只需要上一步的.v文件,也就是CRC8_LookupTable.v文件。


1)打开vivado, 点击 manage IP 创建新IP,如下图:
p1.png

2)选择IP核工程路径:CRC8_LUT_IP这个文件夹是之前创建的,以后我们所有的创建的文件都在这个文件下,这个路径很重要
p2.png

3)点击finish后,在TOOL下拉菜单选择Create and Package IP
p3.png

4)点击next,选择Create New AXI4 Peripheral,注意默认的路径是 CRC8_LUT_IP/managed_ip_project ,这个事错误的,如果在这个路径下的话,在接下来的过程中会遇到错误,将路径改为: CRC8_LUT_IP下
p4.png    p5.png

5)添加IP核的详细信息:
p6.png

6)更改AXI总线名字,添加4个32位的slv_reg寄存器,其实都是默认的即可
p7.png

7)选择Generate Drivers,点击next,然后finish
p8.png p9.png

8)这样我们就可以在IP Catalog下搜索CRC,就会找到自己生成的IP核"CRC8_LUT_ip_V1_0", 然后右键选择Edit in IP Packager,这样就会打开IP核编辑界面:
p10.png

9)在flow navigator栏中选择 add aoirce 添加之前自己编辑的CRC算法的.v文件,即CRC8_LookupTable.v p11.png p12.png

10)会发现在工程里一共3个.v文件:CRC8_LUT_ip_v1_0_S_AXI.v 和 CRC8_LUT_ip_v1_0.v 和刚刚添加的自己的CRC8_LookupTable.v文件,然后需要修改CRC8_LUT_ip_v1_0_s_AXI.v 文件,把我们的IP核挂载到AXI总线上,其实就是一个简单的例化过程。由于我所创建的IP核不需要和FPGA外部通信,不用分配引脚,只需和AXI总线通信,所以就不用在CRC8_LUT_ip_v1_0_S_AXI.v添加用户input或者output,只需把slv_reg 0 1 2 3 分别连接到sclk、en、din和CRC8.
由于slv_reg3是一个寄存器型的,所以要定义一个wie型变量CRC8,再连接到slv_reg3,不然综合会出错。
p13.png p14.png

11)然后保存,综合,如果报错,继续修改综合,知道没有报错。
p15.png

12)综合完成后,点击Package IP - CRC8_LUT_ip标签页,点击Categories ,选择我们的IP核将会出现在IP catalog的哪个类别里面,如果选择“basic elements” 就会在IP catalog的basic elements类别下找到,如图
p16.png p17.png

13)添加IP核支持的芯片型号,也就是添加family,因为要在microZed板子上跑,所以要把zynq系列添加进来


14)最后封装IP,如果我们能在Create archive of IP所示的路径下找到这个压缩文件,就说明我们的IP制定成功了~
p19.png p20.png
发表于 2014-7-17 19:58:21 | 显示全部楼层
集成电路设计宝典
发表于 2015-5-8 19:03:28 | 显示全部楼层
感谢楼主
发表于 2015-6-23 16:09:00 | 显示全部楼层
谢谢分享,很有用
发表于 2016-4-28 04:01:09 | 显示全部楼层
谢谢分享,这个很有用,建议作者写一个类似指南的东西,会更加有帮助!!
发表于 2016-4-28 10:56:25 | 显示全部楼层
这个很有用
发表于 2016-4-30 22:00:51 | 显示全部楼层
这个真实用
发表于 2016-8-1 13:49:24 | 显示全部楼层
太實用了這篇~我愛!!
发表于 2018-12-18 08:45:23 | 显示全部楼层
学习中。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 07:16 , Processed in 0.028769 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表