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


相关推荐

  • 【转】性能优化-关于Asp.net性能的技巧

    【转】性能优化-关于Asp.net性能的技巧

    2021年8月8日
    50
  • query.php?sl=,stripslashes_deep().?php stripslashes?php stripslashes和addsl

    query.php?sl=,stripslashes_deep().?php stripslashes?php stripslashes和addsl你是否正在寻找关于stripslashes的内容?让我把最简洁的东西奉献给你:phpstripslashes和addslashes的区别作者:字体:[]类型:转载时间:2014-02-03这篇文章主要介绍了phpstripslashes和addslashes的区别,特分享下方便需要的朋友。我们在向mysql写入数据时,比如:复制代码代码如下:mysql_query(“update…

    2022年10月9日
    0
  • Django(18)聚合函数

    Django(18)聚合函数前言orm模型中的聚合函数跟MySQL中的聚合函数作用是一致的,也有像Sum、Avg、Count、Max、Min,接下来我们逐个介绍聚合函数所有的聚合函数都是放在django.db.models

    2022年7月28日
    1
  • 异或满足结合律吗_异或1⊕0的结果是

    异或满足结合律吗_异或1⊕0的结果是给定一个非负整数序列 a,初始长度为 N。有 M 个操作,有以下两种操作类型:A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N 增大 1。Q l r x:询问操作,你需要找到一个位置 p,满足 l≤p≤r,使得:a[p] xor a[p+1] xor … xor a[N] xor x 最大,输出这个最大值。输入格式第一行包含两个整数 N,M,含义如问题描述所示。第二行包含 N 个非负整数,表示初始的序列 A。接下来 M 行,每行描述一个操作,格式如题面所述。输出格式每个询问操

    2022年8月9日
    3
  • mysql的启动命令_mysql的配置和启动命令

    mysql的启动命令_mysql的配置和启动命令一.mysql配置文件在linux系统下的位置使用命令查询位置:1.找到安装位置whichmysql->/usr/bin/mysql2.接下来就可以针对这个目录通过一些命令查看配置文件在哪了,如下/usr/local/bin/mysql–verbose–help|grep-A1’Defaultoptions’得到以下结果:服务器首先读取的是/etc/mysql/m…

    2022年5月21日
    36
  • php接收二进制流(图片)生成图片文件文件

    php接收二进制流(图片)生成图片文件文件

    2022年2月12日
    49

发表回复

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

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