草庐IT

ZYNQ7000 Vivado详细教学步骤

charles遇见 2023-06-08 原文

ZYNQ7000 Vivado开发

ZYNQ7000 Vivado详细教学步骤

1.建立工程项目

Xilinx提供了一系列开发工具,其中包括Vivado平台工具,它是Xilinx FPGA的最新开发平台,Zynq7000系列产品采用该平台进行开发。Zynq系列处理器(PS)有一系列外设需要配置,此外PL可以定制需要的IP核。PS可以在不配置PL端的情况下使用,然而,若想要使用PL端扩展外设,则需要对PL端进行配置和编程。
下面,将以Zynq-7000系列为例来创建Vivado工程。

操作步骤:
1) 运行Vivado 2017.2软件,开始->所有程序->Xilinx Design Tools->Vivado 2017.2->Vivado 2017.2;
2) 在Vivado开始界面中点击Create New Project,如下图所示。

3) 在新项目窗口中点击Next并设置项目名称和保存的目录路径,如下图所示。

4) 选择RTL-based project类型,同时选择Do notspecify sources at this time,如下图所示。

5) 根据开发板提供商Avnet可以快速找到ZedBoard评估板的XC7Z020CLG484配置项。如下图所示。

6) 点击Next,出现配置相关的信息,如下图所示。

7) 点击Finish,出现Vivado工作界面。

2.创建Block Design

1) 在Vivado工作界面中选择的Project Manager->IP Integrator->Create Block Design,如下图所示,输入Block Design的名称Z_System。

2) 在Z_system Diagram窗口中选择+号增加 IP核,在搜索窗口输入zynq,点击查询到的ZYNQ7 Process System选项,然后点击Diagram窗口下面的Run Block Automation提示项后弹出Run Block Automation框,然后点击OK按钮,则将DDR和IO 端口连接到IP Core上。以上步骤完成后点击一下保存按钮保存当前的工程配置。

3) 在Z_system Block Design框图中配置ZYNQ7 Processing System(PS),双击processing_system7_0图框进行配置。可以看到有如下配置选项:

  1. Zynq Block Design
  2. PS-PL Configuration
  3. Peripheral I/O Pins
  4. MIO Configuration
  5. Clock Configuration
  6. DDR Configuration
  7. SMC Timing Calculation
  8. Interrupts

3.配置IO BANK

参考文档:zynq_hw\Lab_instructions\ZynqHW_2013_3_lab_2_v03.pdf。

1) 增加PS UART外设,双击processing_system7_0图框进行配置,选择MIO Configuration窗口,设置Bank0 I/O Volatage为LVCMOS 3.3V和Bank1 I/O Volatage为LVCMOS 1.8V。ZedBoard的UART1选择连接MIO48…49,使用默认串口配置,如下图所示。该配置的依据是ZedBoard的原理图。

配置UART1完成后可以在Zynq Block Design中查看是否√选上UART1,如下图所示则选择好了UART1作为PS的外设。

设置UART1波特率,如下图所示选择PS-PL Configuration选项设置UART1波特率为115200。

4.配置DDR和CLOCK

参考文档zynq_hw\Lab_instructions\ZynqHW_2013_3_lab_2_v03.pdf
(Page8-Page14)
Zynq7000 PS运行正常必须要配置一些关键的选项,例如DDR和系统时钟配置项。如果未正确配置参数的话,则Zynq7000 PS不能正常运行。
经过2.1-2.4章节操作步骤之后在Vivado上点击Run Synthesis进行综合和Run Implementation实现并最终通过Generate Bitstream生成Z_System.bit文件,该bit文件包含了PS和PL侧的配置。是运行Zynq7000平台必需的文件。

5.配置PS外设

参考文档zynq_hw\Lab_instructions\ZynqHW_2013_3_lab_3_v03.pdf (Page1-14)

6.测试PS外设

参考文档zynq_hw\Lab_instructions\ZynqHW_2013_3_lab_3_v03.pdf (Page15-18)

7.增加PL外设

参考文档zynq_hw\Lab_instructions\ZynqHW_2013_3_lab_5_v03.pdf

  1. 在Block Design框图中增加AXI BRAM IP核,如下图所示。

  2. 配置AXI BRAM Controller,如下图所示。

  3. 增加Block Memory Generator并配置该IP核,连接Block Memory Generator和AXI BRAM Controller,如下图所示。



  1. 增加AXI Interconnect Block用于连接IP核到PS端,在本例中连接BRAM到zynq的PS,定制AXI Interconnect模块,然后连接MO0_AXI port和S_AXI port接口,如下图所示。


  2. 配置PS的AXI接口,如下图所示。



  3. 各模块之间进行连线,连接FCLK_RESET0_N、FCLK_CLK0、M_AXI_GP0等信号如下图所示。

  4. 分配AXI_BRAM_CTRL_0的地址空间,如下图所示。

  5. 重新配置blk_mem_gen_0,如下图所示,点击OK后保存该PS和PL配置。

  6. 至此,PS和PL配置完成,需要生成Bitstream文件,选择Generate Bitstream并导出SDK包。

1.Open Target 可以检测J-tag是否检测到板子信息,排除连接上的错误。

2.先点击File-Export导出hw硬件信息hdf文件(后续开发需要)

3.然后在Launch SDK 导出SDK包。

有关ZYNQ7000 Vivado详细教学步骤的更多相关文章

  1. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  2. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  3. ruby - cucumber 特征和步骤定义 - 2

    我是Cucumber测试的新手。我创建了两个特征文件:events.featurepartner.feature并将我的步骤定义放在step_definitions文件夹中:./step_definitions/events.rbpartner.rbCucumber似乎在所有.rb文件中查找步骤信息。有没有办法限制该功能查看特定的步骤定义文件?我之所以要这样做,是因为即使我使用了--guess标志,我也会遇到不明确的匹配错误。我之所以要这样做,有以下几个原因。我正在测试CMS,并希望在不同的功能中测试每种不同的内容类型(事件和合作伙伴)。事件.特征Feature:AddpartnerA

  4. ruby - 如何在 Cucumber 步骤定义中使单词可选? - 2

    我在下面有一个步骤定义,它执行我想要它执行的操作,即它根据“PAGES”哈希的“page”元素检查页面的url。Then(/^Ishould(still)?beatthe"(.*)"page$/)do|still,page|BROWSER.url.should==PAGES[page]end步骤定义用于两者我应该在...页面我应该还在...页面但是,我不需要将“still”传递到block中。我只需要它是可选的以匹配步骤但不传递到block中。我该怎么做?谢谢。 最佳答案 您想将“静止”组标记为非捕获。这是通过使用?:启动组来完成的

  5. 100个python算法超详细讲解:画直线 - 2

    1.问题描述使用Python的turtle(海龟绘图)模块提供的函数绘制直线。2.问题分析一幅复杂的图形通常都可以由点、直线、三角形、矩形、平行四边形、圆、椭圆和圆弧等基本图形组成。其中的三角形、矩形、平行四边形又可以由直线组成,而直线又是由两个点确定的。我们使用Python的turtle模块所提供的函数来绘制直线。在使用之前我们先介绍一下turtle模块的相关知识点。turtle模块提供面向对象和面向过程两种形式的海龟绘图基本组件。面向对象的接口类如下:1)TurtleScreen类:定义图形窗口作为绘图海龟的运动场。它的构造器需要一个tkinter.Canvas或ScrolledCanva

  6. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  7. ruby - 如何预期失败的步骤并传递 cucumber 中的失败? - 2

    我们想测试cucumber的步骤定义。我们希望能够检查的一件事是我们期望失败的测试实际上失败了。为此,我们想编写我们知道会失败的场景并将它们添加到我们的测试套件中,但标记或以其他方式表示它们以便当且仅当它们失败时它们“通过”。如何解决这个问题? 最佳答案 您应该测试负面状态。失败的步骤只是通过步骤的倒数。所以做这样的事情:Then/ishouldnotbetrue/dosome_value.should_notbe_trueend这就是我进行失败测试的方式。您还可以捕获异常等,并验证block是否确实抛出该异常lambdadosom

  8. ruby - ruby 方法查找中的*实际*步骤是什么? - 2

    我已经阅读了有关此主题的stackoverflow帖子以及包括APrimeronRubyMethodLookup在内的几篇文章,WhatisthemethodlookuppathinRuby.此外,我查看了RubyMetaprogramming2中的对象模型章节,在几个聊天室中询问,并做了thisredditthread。.除了学习C,我已经尽我所能来解决这个问题。如上述资源所述,这6个位置在接收对象(如fido_instance)的方法查找期间(按顺序)被检查。:fido_instance的单例类IClass(来自扩展模块)IClass(来自前置模块)类IClass(来自包含的模块)

  9. 华为ensp详细安装包、安装教程及所遇问题 - 2

    目录一、安装包链接二、安装详细步骤1.安装Wireshark和WinPcap2.安装OracleVMVirtualBox3.安装ensp三、安装后注册四、启动路由器出现40错误怎么解决一、安装包链接二、安装详细步骤链接:https://pan.baidu.com/s/1QbUUYMOMIV2oeIKHWP1SpA?pwd=xftx提取码:xftx1.安装Wireshark和WinPcap找到Wireshark安装包所在文件夹,双击它,按照以下步骤安装。2.安装OracleVMVirtualBox找到OracleVMVirtualBox安装包所在文件夹,双击它,按照以下步骤安装。注:可自定义安装

  10. Linux操作系统CentOS7安装Nginx[详细版] - 2

    Nginx安装1.官网下载Nginx2.使用XShell和Xftp将压缩包上传到Linux虚拟机中3.解压文件nginx-1.20.2.tar.gz4.配置nginx5.启动nginx6.拓展(修改端口和常用命令)(一)修改nginx端口(二)常用命令1.官网下载Nginxhttp://nginx.org/en/download.html这里我下载的是1.20.2版本,大家按需下载对应稳定版即可2.使用XShell和Xftp将压缩包上传到Linux虚拟机中没有XShell可以参考《Linux操作系统CentOS7连接XShell》3.解压文件nginx-1.20.2.tar.gz1)检查是否存

随机推荐