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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • qt 气泡聊天界面_微信聊天气泡框素材

    qt 气泡聊天界面_微信聊天气泡框素材目录由于最近的项目需要,做了些相关IM的工作。所以聊天框也是必不可少的一部分。聊天框的制作分很多种,本文以QListWidget+QPainter绘制的Item做了一个Demo。该Demo只是做一个示例,代码已公布如下,需要的拿去!目录效果图实现原理调用样例实现类代码分享效果图实现原理气泡式聊天的显示是由QListWidget作为控件,每个…

    2022年5月3日
    56
  • 硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理

    硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理前端时间有研究多款加密芯片,加密算法实现,以及激活成功教程可能,也有一些个人的观点,仅供参考;一,加密芯片的来源及工作流程:市面上的加密芯片,基本都是基于某款单片机,使用I2C或SPI等通讯,使用复杂加密算法加密来实现的,流程大致如下:主控芯片生成随机码–>主控芯片给加密芯片发送明文–>加密芯片通过加密算法对明文进行加密生成密文–>加密芯片返回密文给主控芯片–>主控芯片对密文进行解密生成解密值–>主控芯片对解密值与之前明文进行对比,比较.

    2022年6月25日
    56
  • 一张图讲解对象锁和关键字synchronized修饰方法(代码块)

    每个对象在出生的时候就有一把钥匙(监视器Monitor),那么被synchronized 修饰的方法相当于给方法加了一个锁,这个方法就可以进行同步,在多线程的时候,不会出现线程安全问题。注:Monitor是 Java中用以实现线程之间的互斥与协作的主要手段,它可以看成是对象或者 Class的锁。每一个对象都有,也仅有一个 Monitor。

    2022年2月26日
    45
  • ubuntu域名服务器配置_linux虚拟主机配置

    ubuntu域名服务器配置_linux虚拟主机配置像我一样刚开始接触Ubuntu系统朋友不知道怎么配置虚拟主机的可以看一下,这里完整记录了我配置虚拟主机的全部过程

    2025年12月1日
    6
  • SPI协议简单介绍

    SPI协议简单介绍导言SPI是串行扩展总线。串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时系统的更改和扩充极为容易。常用的串行扩展总线有:I2C(InterICBus)总线、单总线(1-WIREBUS)、SPI(SerialPeripheralInterface)总线及Microwire/PLUS等。一、SPI协议SPI总线是微控制器四线的外部总线。SPI没有明文标准,是一种事实总线,对通信操作的实现由芯片厂商和驱动开发者通过datasheet和applicat..

    2022年10月15日
    3
  • 开启Mac os系统原生的NTFS读写功能「建议收藏」

    开启Mac os系统原生的NTFS读写功能「建议收藏」开启Macos系统原生的NTFS读写功能早期的MacOS是可以通过修改mount_ntfs指令实现的。但是10.5以后的版本都不可以编译了,打开是乱码。只能说微软霸道。后来只能用激活成功教程版的ParagonNTFSforMAC,但是更新Macos系统之后老版的Paragon激活成功教程版就不能用了。后来找到了Mounty这个软件,免费里的精品,用了好一段时间,而且更新系统还能用,但是在使用时遇到…

    2022年6月29日
    36

发表回复

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

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