开发环境: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

vivado设计三:一步一步生成自己的自定义IP核的更多相关文章

  1. vivado设计四:自定义IP核测试

    在vivado设计三中:http://blog.chinaaet.com/detail/37177已经建立了vivado工程和封装好了自定义IP核. 那么接下来,我们对这个自定义IP核进行测试了:我们 ...

  2. Vivado 调用自定义IP核

    关于Vivado如何创建自定义IP核有大量的参考文章,这里就不多加阐述了,本文目的主要是解决如何在新建工程中引用其它工程已经自定义封装好的IP核,从而实现自定义IP核的灵活复用. 举个例子,我们的目标 ...

  3. 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计

    本帖最后由 xinxincaijq 于 2013-1-9 10:27 编辑 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计 转自博客:http:// ...

  4. 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单

    阅读目录 前言 解决数据一致性的方案 回到DDD 设计 实现 结语 一.前言 之前的十一篇把用户购买商品并提交订单整个流程上的中间环节都过了一遍.现在来到了这最后一个环节,提交订单.单从业务上看,这个 ...

  5. 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域

    一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...

  6. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  7. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成

    阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...

  8. 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车

     阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...

  9. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文

    阅读目录 前言 明确业务细节 建模 实现 结语 一.前言 上一篇我们已经确立的购买上下文和销售上下文的交互方式,传送门在此:http://www.cnblogs.com/Zachary-Fan/p/D ...

随机推荐

  1. 乐观锁悲观锁对应的JAVA代码和数据库

    乐观锁悲观锁是一种思想.可以用在很多方面. 比如数据库方面.悲观锁就是for update乐观锁就是 version字段 JDK方面:悲观锁就是sync乐观锁就是原子类(内部使用CAS实现) 本质来说 ...

  2. redis节点管理-新增从节点

    原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg12.html 新增从节点 新增一个节点7008节点,使用add-node --slave命令. [pl ...

  3. 一个简单的WebService服务

    现在,网上提供的免费的webservice服务的网站: http://www.webxml.com.cn/ 从扩展名上看,是 .net构建的网站. 看看功能的实现效果: 需求:我们要远程调用手机号归属 ...

  4. iOS:延时执行的三种方式

    延时执行的三种方式:performSelectorXXX方法.GCD中延时函数.创建定时器   第一种方式:NSObject分类当中的方法,延迟一段时间调用某一个方法 @interface NSObj ...

  5. unity shader 编译时间过长

    去掉opengles2.0能省一半时间 换ssd  Compiled shader 'Shader Forge/Scenes_Ground_Standard_M' in 315.51s    gles ...

  6. form表单提交时选择性传值到后台

    正常情况下form表单提交会把表单内的内容提交到后台,但是如果有些内容只是作为展示或者是标记而不想传到后台,我们采用如下方法: jsp页面如下,我们不想提交id为userIdMark和pwdMark的 ...

  7. 模糊搜索:concat各种函数详解、like操作符、通配符

    if(StringUtils.isNotBlank(queryBean.getConditions())){ hqlBuilder.addWhereClause(" concat(this. ...

  8. sublime HtmlPrettify

    用sublime都快一年多了,终于找到一款称心如意的format工具,可以同时格式化 html css js. HTML-CSS-JS Prettify 如果安装的时候出现问题,多调试调试,改改参数

  9. linux内核及其模块的查询,加载,卸载 lsusb等

    http://blog.sina.com.cn/s/blog_53e81e2a0100zkxi.html 1,/sbin/update-modules文件,他是一个linux通用的模块管理脚本程序. ...

  10. python错误处理/调试/单元测试/文档测试

    一.错误处理 1.错误处理 try: ... except Exception1: ... except Exception2: ... finally: ... 如果在try中发生错误,那么exce ...