硬件平台:ZedBoard
软件平台:vivado2013.3

本示例通过综合、实现,生成比特流,发送到SDK实现。
启动vivado并且创建一个项目
根据提示操作一步步创建新项目的时候记得选择RTL Project

板子选择ZedBoard,其他默认。

创建一个IP综合设计
在IP Integrator中选择Create Block Design

在Create Block Design弹出页,为IP子系统设计定义个名字

在IP子系统中,在中间的Diagram中选择Add IP

在搜索页,输入zynq找到ZYNQ7 Processing System IP

在Diagram页,点击Run Block Automation,然后Run Block Automation对话框打开,选择/processing_system7_1,这时,会出现一个对话框,这个IP核会自动为FIXED_IO和DDR接口创建外部连接,点击OK。

用同样的方法,我们增加外设,在Diagram右击,选择Add IP,在搜索页,输入gpio找到AXI GPIO IP,点击enter确认添加,重复上述步骤,输入axi bram添加AXI BRAM Controller;输入block加入Block Memory Generator。完成之后的窗口如下所示:

根据要求定制IP核
双击Block Memory Generator进入Re-­-customize IP界面,在Basic页,将Mode设置为BRAM Controller,Memory Type设置为True Dual Port RAM。其中AXI BRAM Controller为Block Memory Generator提供AXI内存映射接口。

通过点击连接点并拖动连线将Block Memory Generator与AXI BRAM Controller连接起来

使用Designer Assistance
Block Designer Assistance可以帮助我们将AXI GPIO和AXI BRAM Controller连接到Zynq-7000 PS。
1.点击Run Connection Automation然后选择/axi_gpio_1/s_axi将GPIO IP和BRAM Controller连接到Zynq PS上

2.再次选择Run Connection Automation,连接/axi_gpio_1/gpio,然后会弹出一个对话框,选择板子接口为leds_8bits。这一步可是配置IP核,创建一些必要的文件约束(XDC)

3.再次再次选择Run Connection Automation,选择剩下的/axi_bram_ctrl_1/S_AXI选项,这样就完成了Zynq7 PS与AXI BRAM Controller的连接。布局完成的连线如下所示:

打开Address Editor标签页,这里是我们所使用的IP的内存映射,在这里有两个IP:GPIO和BRAM Controller,一般来说Vivado会自动分配这些内存映射,我们也可以修改它,这里把AXI BRAM Controller改成64K。

保存配置(CTRL+S);
在工具栏那里,通过Validate Design按钮运行DRC(Design-Rules-Check)

如果成功会弹出成功的对话框。

生成HDL设计文件
在Sources窗口,右击顶层子系统设计选择Generate Output Products,这会生成用于结构图IP核的源文件和相关的约束文件。

还是在顶层子系统设计选择Create HDL Wrapper创建一个顶层HDL文件

完成设计并生成比特流
在Flow Navigator中,点击Generate Bitstream完成设计并生成比特流(这一步时间会很长)

在生成比特流后,选择Open Implemented Design

将硬件信息导入到SDK
在这一步,我们将硬件信息导入到SDK,这一步需要将板子电源接上,并且把PROG和UART都已经连接电脑。具体如下所示:

1.在Flow Navigator,选择Open Block激活IP综合设计。

从Vivado菜单中选择Export Hardware for SDK,

在弹出的对话框中,确保Export Hardware,Include bitstream,Launch SDK都已经选择了。

至此,硬件部分结束,开始在SDK进行软件部分的操作。

软件部分请戳:Vivado的helloword程序:软件工程部分

转载:http://www.openhw.org/module/forum/thread-644409-1-1.html

Vivado的helloword程序:硬件工程部分的更多相关文章

  1. Vivado的helloword程序:软件工程部分

    建立工程 Export结束后,会自动启动SDK.界面如下.可以看到工程浏览器Project Explorer中已经有一个硬件平台hw_platform_0,里面有一系列配置和初始化文件.不要修改这些文 ...

  2. Xamarin iOS编写第一个应用程序创建工程

    Xamarin iOS编写第一个应用程序创建工程 在Xcode以及Xamarin安装好后,就可以在Xamarin Studio中编写程序了.本节将主要讲解在Xamarin Studio中如何进行工程的 ...

  3. Vivado的helloword计划(一个):硬件project部分

    硬件平台:ZedBoard 软件平台:vivado2013.3 本演示样例通过综合.实现,生成比特流,发送到SDK实现. 启动vivado而且创建一个项目 依据提示操作一步步创建新项目的时候记得选择R ...

  4. Vivado的安装程序没反应怎么办

    在Windows操作系统上,在安装Vivado的时候会遇到双击xsetup.exe没有反应的情况,即使是用管理员权限再加上设置兼容模式也没有任何效果,且此问题有可能在多个版本上都存在,包括最新的201 ...

  5. Vivado SPI Flash程序下载

    由于Vivado下载程序步骤和ISE有较大差异,特此写此文章,希望对大家有所帮助. 1,下载文件生成 在.bit文件生成后,在TCL中输入 write_cfgmem -format mcs -inte ...

  6. Flask初识之安装及HelloWord程序

    Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用 ...

  7. java 学习------helloword 程序测试

    1.新建一个helloword.java  文件 2.在新建的helloword.java 文件中添加以下代码 class helloWord { public static void main(St ...

  8. 集成到Buildroot中的Helloword程序【转】

    本文转载自:http://www.openloongson.org/forum.php?mod=viewthread&tid=85 本帖最后由 gt945 于 2015-7-5 17:06 编 ...

  9. [机器学习] keras:MNIST手写数字体识别(DeepLearning 的 HelloWord程序)

    深度学习界的Hello Word程序:MNIST手写数字体识别 learn from(仍然是李宏毅老师<机器学习>课程):http://speech.ee.ntu.edu.tw/~tlka ...

随机推荐

  1. DN安卓2014版(5-9)

    DN安卓2014版(5-9) 联系2g32@sina.com

  2. mac -- 安装OpenCV

    brew install opencv #这个装的是3.4 brew unlink opencv # 取消关联 brew install opencv@2  # 安装2.X的版本

  3. 剖析ASP.NET Core MVC(Part 1)- AddMvcCore(译)

    原文:https://www.stevejgordon.co.uk/asp-net-core-mvc-anatomy-addmvccore发布于:2017年3月环境:ASP.NET Core 1.1 ...

  4. Android双系统实现

    1. 前言: 刷机,似乎是安卓手机用户的一项专利,可是,会刷机的用户一般都是喜新厌旧的角色. 一个系统用久了.就想换到还有一个系统.或者认为没有原来的好,或者又认为要换回去.这样又要重刷. 可是刷来刷 ...

  5. C/C++中的格式化字符

    格式化输出函数包括printf, fprintf, sprintf等等. 格式化输入函数包括scanf, fscanf, sscanf等等. 这类函数在输入输出的时候都有一个参数为格式化字符串(for ...

  6. 利用Nodejs & Cheerio & Request抓取Lofter美女图片

    还是参考了这篇文章: http://cnodejs.org/topic/54bdaac4514ea9146862abee 另外有上面文章 nodejs抓取网易公开课的一些经验. 代码如下,注意其中用到 ...

  7. 模拟源码深入理解Vue数据驱动原理(1)

    Vue有一核心就是数据驱动(Data Driven),允许我们采用简洁的模板语法来声明式的将数据渲染进DOM,且数据与DOM是绑定在一起的,这样当我们改变Vue实例的数据时,对应的DOM元素也就会改变 ...

  8. 从项目上一个子查询扩展学习开来:mysql的查询、子查询及连接查询

    上面这样的数据,想要的结果是:如果matchResult为2的话,代表是黑名单.同一个softId,version,pcInfoId的代表是同一个软件,需要去重:同时,如果相同软件里面只要有一个mat ...

  9. ivy由于sha1码不正确导致找不到模块(jar)的错误

    sbt设置jboss-interceptor-api-1.1作为依赖,但是找不到 [info] Resolving org.jboss.interceptor#jboss-interceptor-ap ...

  10. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...