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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

硬件平台:ZedBoard

软件平台:vivado2013.3

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

启动vivado而且创建一个项目

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

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

板子选择ZedBoard。其它默认。

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

创建一个IP综合设计

在IP Integrator中选择Create Block Design

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

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

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

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

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

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

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

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

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

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

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

依据要求定制IP核

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

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

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

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

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

使用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上

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

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

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

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

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

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

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

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

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

保存配置(CTRL+S)。

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

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

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

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

生成HDL设计文件

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

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

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

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

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

完毕设计并生成比特流

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

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

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

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

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

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

将硬件信息导入到SDK

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

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

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

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

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

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

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117198.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓log日志查看工具_手机怎么查看错误日志

    安卓log日志查看工具_手机怎么查看错误日志一个完整的程序日志记录功能是必不可少的,通过日志我们可以了解程序运行详情、错误信息等,以便更好的发现及解决问题。日志可以记录到数据库、日志服务器、文件等地方,本文主要介绍文件日志。 文

    2022年8月1日
    7
  • ubuntu命令chmod755

    ubuntu命令chmod755使用方式:在终端切换到文件目录输入chmod775hello.py这样就将hello.py变成了可执行文件当然作为python文件还需要再开头加上#!/usr/bin/envpython用于适应linux环境。chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文…

    2022年7月16日
    37
  • goland2022.01.13正版激活码[最新免费获取]2022.03.01

    (goland2022.01.13正版激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~40ZKSWCX8G-eyJsaWNlbnNlSWQiOi…

    2022年4月2日
    247
  • http,socks5,socks4代理的区别[通俗易懂]

    http,socks5,socks4代理的区别[通俗易懂]HTTP代理:能够代理客户机的HTTP访问,主要是代理浏览器访问网页,它的端口一般为80、8080、3128等;SOCKS代理:SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP请求,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。SOCKS代理又分为SOCKS4和SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输…

    2022年6月15日
    38
  • filter suction_filter属性

    filter suction_filter属性概要说明       FilterDispatcher是早期struts2的过滤器,后期的都用StrutsPrepareAndExecuteFilter了,如2.1.6、2.1.8。StrutsPrepareAndExecuteFilter名字已经很能说明问题了,prepare与execute,前者表示准备,可以说是指filter中的init方法,即配制的导入;后者表示进行过滤,指doF

    2022年8月16日
    3
  • Canvas之translate、scale、rotate、skew方法讲解!「建议收藏」

    Canvas之translate、scale、rotate、skew方法讲解!「建议收藏」前面说Canvas大致可以分为三类:1.save、restore等与层的保存和回滚相关的方法;2.scale、rotate、clipXXX等对画布进行操作的方法;3.drawXXX等一系列绘画相关的方法;前面主要讲了drawBitmap方法,并举了一个星球浮动的栗子,在那个例子中,星球有大有小,需要移动,有时候可能需求上还需要旋转或错切,有了这些需求,我们就需要使用到与Canvas相关的translate、scale、rotate、skew这几个方法,平移、缩放、旋转、错切,这四个词听起

    2025年8月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号