开发环境: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. python笔记10-多线程之线程同步(锁lock)

    前言 关于吃火锅的场景,小伙伴并不陌生,吃火锅的时候a同学往锅里下鱼丸,b同学同时去吃掉鱼丸,有可能会导致吃到生的鱼丸. 为了避免这种情况,在下鱼丸的过程中,先锁定操作,让吃火锅的小伙伴停一会,等鱼丸 ...

  2. centos7 keepalived以及防火墙配置

    安装和配置keepalived,网上有很多资料,但是都没有提到防火墙这块,而且很多都是互相抄袭的,就算配置对了也会遇到很多问题 在查阅资料的时候配置好了keepalived,但是出现了裂脑,即两台服务 ...

  3. Qunit的使用

    1.新建一个html页面,如下 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht ...

  4. 一起talk C栗子吧(第二十七回:C语言实例--插入排序)

    各位看官们,大家好.上一回中咱们说的是冒泡排序的样例.这一回咱们说的样例是:插入排序. 闲话休 提,言归正转.让我们一起talk C栗子吧. 看官们,我们这回说的插入排序和前一回说的冒泡排序一样.也是 ...

  5. Spark Streaming updateStateByKey和mapWithState源码解密

    本篇从二个方面进行源码分析: 一.updateStateByKey解密 二.mapWithState解密 通过对Spark研究角度来研究jvm.分布式.图计算.架构设计.软件工程思想,可以学到很多东西 ...

  6. promise对象解决回调地狱

    先放一张图片感受一下回调地狱 看起来是真的很让人头痛的东西 而现在我这里使用promise对象来解决回调地狱 采用链式的 then,可以指定一组按照次序调用的回调函数. 这时,前一个 then 里的一 ...

  7. idea中git从码云克隆项目到本地

    1.首先需要在操作系统上安装Git分布式管理系统 此处自行百度............. 2.在Intellij IDEA中配置Git 打开Settings(File-->Settings) - ...

  8. java集合Collection接口

    collection集合 Map集合 Hashtable和HashMap的区别: Hashtable的方法是同步的,而HashMap的方法不是.HashMap可以将空值作为一个表的条目的key或val ...

  9. js中,“\”转义字符的使用

    (1)针对双引号“”的使用: html= "<a href=\"javascript:void(0)\" onclick=\"getSubContent( ...

  10. 算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)

    目录 1 问题描述 2 解决方案 2.1 递归法 2.2 递推法   1 问题描述 问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰 ...