开发环境:xp  vivado2013.4

基于AXI-Lite的用户自定义IP核设计

这里以用户自定义led_ip为例:

1.建立工程

和设计一过程一样,见vivado设计一http://blog.chinaaet.com/detail/35736

这样我们就进入了主界面

2.创建IP

Tools –》Create and Package IP

来到IP创建欢迎界面:Next

接下来我们要选择AXI4 peripheral,如下图

Next之后,我们可以看到IP的信息,可以自己修改某些信息:

然后修改一下Name,其余的保持默认:

下面要勾选一下Generate Drivers

然后Next之后,我们选第二个:如下图

点击finish,就进入了编辑IP的界面

3.编辑IP

既然是自定义IP核,那么我们需要修改led_ip_v1_0.v

双击文件,在15行添加output wire [3:0]led, 如下图所示:

添加用户定义的port

接下来,将我们用户的port,连接到led_ip_v1_0_S_AXI,在48行:

.LED(LED),

在led_ip_v1_0_S_AXI模块中还没有LED端口,因此展开source文件:

双击图上文件:在15行添加output wire [3:0]led,

如下图所示:

接下来就是新建用户逻辑文件了,user_logic.v

编写verilog文件:

然后这个用户逻辑模块要在led_ip_v1_0_S_AXI中例化:

例化如下:在397行左右:

保存所有文件,然后编译,在IP封装之前,确保无误:

果然编译出错,是上面有些写成了led,有些写成了LED,全部修改成LED吧:图我就不重新贴了:这次编译通过了

编译成功后,这里我们选择cancal了,就是不Run Implementation了、

接下来就是:

4.封装IP

点击左侧的Package IP

现在就一个一个来看,在IP Identification中

在IP Compatibility,可以看到已经支持zynq了,如果要添加family 右键添加即可

IP File Groups

点击红色框中的,有两警告,忽略之

在IP Customization Parameter中同样点击红色框中内容

在IP Ports里面可以看到LED这个端口了

Review and Package

可以IP核路径,点击Re-Package IP

然后出现一个警告,忽略,点击ok

这样我们就完成了自定义IP的设计和封装,然后也就回到了project_2主界面,注意之前的界面一直是在edit Ip的这个界面完成的、

在之前ise中也完成过自定义IP核:http://blog.chinaaet.com/detail/34661,相对而言,vivado设计的步骤更加的清晰明了,也简单一些。

下一次博客将在该工程中使用该自定义IP核,并且上板调试。

转载:http://blog.chinaaet.com/xzy610030/p/37177

最新文章

  1. JavaScript权威设计--命名空间,函数,闭包(简要学习笔记十二)
  2. 同步(Synchronous)和异步(Asynchronous)
  3. Codeforces Round #185 (Div. 2) B. Archer 水题
  4. HNOI2008明明的烦恼
  5. OC - 23.核心动画基础
  6. 关于android 1.6全部的权限介绍
  7. 流畅的python学习笔记第七章:装饰器
  8. 201521123092, 《java程序设计》第1周学习总结。
  9. java集合系列——Map之TreeMap介绍(九)
  10. Gsp
  11. C语言_指针和数组的几种访问形式
  12. AngularJS进阶(三十四)Angular数据更新不及时问题探讨
  13. source Insight 添加python 工程
  14. dubbo rest服务 No provider available for the service 错误问题
  15. Python自动化开发 - MySQL(一)
  16. 大数据入门第十二天——flume入门
  17. C# Socket模拟发送接收
  18. 改变placeholder的样式
  19. 8-机器分配(hud4045-组合+第二类斯特林数)
  20. CentOS 启动-运行级别

热门文章

  1. 这些年,我们一直追随的.NET
  2. jQuery旋转插件—rotate
  3. [Linux] Linux命令之pstree - 以树状图显示进程间的关系
  4. zabbix3.2 报错 Database error
  5. python Parent.__init()和super(Child, self)的区别
  6. [GLSL]着色器周记02——火焰特效 【转】
  7. tomcat下配置https环境(windows环境)
  8. scala类型系统 type关键字
  9. DirectX游戏开发——从一个小游戏開始
  10. javascript设置首页,加入收藏