硬件平台:ZedBoard

软件平台:vivado2013.3

本演示样例通过综合、实现,生成比特流,发送到SDK实现。

启动vivado而且创建一个项目

依据提示操作一步步创建新项目的时候记得选择RTL Project

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

板子选择ZedBoard。其它默认。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

创建一个IP综合设计

在IP Integrator中选择Create Block Design

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在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连接起来

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

使用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的连接。布局完毕的连线例如以下所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

保存配置(CTRL+S)。

在工具栏那里,通过Validate Designbutton执行DRC(Design-Rules-Check)

假设成功会弹出成功的对话框。

生成HDL设计文件

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

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

完毕设计并生成比特流

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

将硬件信息导入到SDK

在这一步,我们将硬件信息导入到SDK,这一步须要将板子电源接上,而且把PROG和UART都已经连接电脑。详细例如以下所看到的:

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

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

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

至今。高端硬件。开始SDK操作软件的一部分。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Vivado的helloword计划(一个):硬件project部分的更多相关文章

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

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

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

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

  3. myeclipse 第一个web project

    创建一个java project. 不行...js文件是javascript代码的文件.应该放在web目录下...java文件是后台管理的程序代码.放在src目录下...不同的...   那是不是把所 ...

  4. 一个Web Project引用多个Java Project在Eclipse下的配置--转载

    项目结构: 项目由一个Web Project和多个Java Project构成,Web Project需要引用其它Java Project的类和Jar包.开发时用Eclipse3.5和Tomcat调试 ...

  5. WinHEC(Windows硬件project产业创新峰会)将2015回归

    WinHEC这是Windows Hardware Engineering Cumminity,中国呼吁Windows硬件project产业创新峰会.将2015在早期的回报,2015年3月18日至19日 ...

  6. Spring Framework5.0 学习(1)—— 用Gradle构建一个Java Project

    1.0  安装Gradle,参考之前文章<Gradle入门实战(Windows版)> 2.0  使用gradle 快速生成一个Java project gradle init --type ...

  7. 使用eclipse插件创建一个web project

    使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...

  8. 18 12 30 新建一个 django project

    1. 新建一个 django project 1 2 django-admin.py startproject project_name 特别是在 windows 上,如果报错,尝试用 django- ...

  9. 有个性的手动计划模式(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 任务工作表里默认的标题"工期"."开始时间"."结束时间"这些 ...

随机推荐

  1. 讨论JDK的File.equal()

    我们一般比较两个文件中的对象是相同的文件,通常使用java.io.File.equal().这里,equal()是不是文件内容的比较结果为.象是否指向同一个文件. File的equal()方法.实际上 ...

  2. update和saveOrUpdate具体解释

    在Hibernate中,最核心的概念就是对PO的状态管理.一个PO有三种状态:  1.未被持久化的VO  此时就是一个内存对象VO,由JVM管理生命周期  2.已被持久化的PO,而且在Session生 ...

  3. 谷歌宣布Android auto目前的汽车系统汽车市场的影响

    由于2007年.汽车导航产品已经得到长足的发展.其产品主要用于WinCE制.除了导航功能,通常有收音机,播放光盘.广播SD卡/U音频和视频盘,蓝牙手机,倒车后视功能.由于WinCE微软放弃系统,And ...

  4. oracle 包,函数,过程,块的创建和执行及在java中执行(转)

    SQL> create or replace procedure sp_guocheng1 is--如果有这个名字就替换  2  begin--执行部分  3  insert into guoc ...

  5. POJ1274 The Perfect Stall【二部图最大匹配】

    主题链接: id=1274">http://poj.org/problem? id=1274 题目大意: 有N头奶牛(编号1~N)和M个牛棚(编号1~M). 每头牛仅仅可产一次奶.每一 ...

  6. 【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张

    自从苹果宣布swift之后,我一直想了解,他一直没有能够把它的正式学习,从今天开始,我会用我的博客来驱动swift得知,据我们了解还快. 1.定义变量和常量 var  定义变量,let定义常量. 比如 ...

  7. oracle 优化or 更换in、exists、union all几个字眼,测试没有问题!

    oracle 优化or 更换in.exists.union几个字眼.测试没有问题! 根据实际情况选择相应的语句是.假设指数,or全表扫描,in 和not in 应慎用.否则会导致全表扫描.  sele ...

  8. addChildViewController transitionFromViewController nib storyboard

    本文记录addChildViewController由transitionFromViewController方法nib,storyboard的不同的效果. 在进行切换效果时,注意属于同一个story ...

  9. 开展:随笔记录 OSGI的jar增加了一些小问题和注意事项

    在引用jar当包,假设引用的项目包.在需要MANIFEST.MF 它定义 一.外用jar: 实例:外部参考需要包装的Import package里面 定义一下.如:google-gson-2.2.2. ...

  10. linux如何执行后台进程

    linux直接执行一个过程.电流指令结束后.或者关闭掉shell形成过程将结束. 如何在后台执行的处理 办法1 采用nohup命令,nohup命令本身的意思no hung up他说,他们将不会收到sh ...