代码编织梦想

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包。

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_50128907/article/details/126906787

xilinx fpga相关视频教程汇总_chenniangu7653的博客-爱代码爱编程

在 Vivado 中使用 Synopsys VCS 运行仿真  了解如何在 Vivado 中使用 Synopsys VCS simulator 运行仿真。我们将演示如何编译仿真库、为 IP 或整个项目生成仿真脚本,然后运行仿真。 http://xilinx.eetop.cn/viewnews-3057   基于 Zynq 的机器人视觉定

使用Vivado的Block Design详细步骤-爱代码爱编程

1.选择创建Block Design并命名 2.点击Add IP,并选择ZYNQ7 3.双击 ZYNQ Processing System,打开 ZYNQ 系统的配置界面 1)PS_PL 页面提供了 PS 到 PL 的相关接口配置信息以及 PS 部分一些配置信息; 2)Peripheral I/O Pins 页面主要是对一些通用外设接口的配置; 3)MIO

matlab编写识别手写数字_使用PYNQ搭建手写数字识别工程小白级说明(完整版)-爱代码爱编程

距离上次pynq的基础设置一文已经过去蛮久了,难得还有人催我更新233那么今天就再来把玩一番。今天要做的事情是用pynq来搭一个数字识别的工程。 在正式开始介绍工程之前,让我花一点篇幅简单说下pynq的内容结构以及数字识别的原理。 1.pynq结构简介。 pynq这个板子的结构大概是介个样子的,我们知道普通的zynq是

zybo上运行linux,Zybo Board 开发记录: 执行 Linux 操作系统 - 全文-爱代码爱编程

本文转载自:coldnew's blog 在 zybo board 开发记录: Zynq 与 LED 闪烁控制 一文中我们谈到了如何透过 C 语言撰写独立的程序,让它控制 Zynq 的处理器系统 (Processing System, PS) 去闪烁 LED 的亮暗。既然 Zynq 的处理器系统 (Processing System, PS) 使

zynq-7000学习笔记之lwip echo server调试-爱代码爱编程

zynq-7000入门学习笔记之lwip echo server调试 前言一、环境搭建二、操作步骤1.创建一个新的工程2.创建一个新的block design3.在SDK中创建新的应用项目补充总结参考文献 前言 本文详细介绍了zynq-7000裸机的lwip echo server调试过程,因为在学习过程中也是参考了多篇介绍文章的做法才最终调

【ZYNQ】从入门到秃头02 ZYNQ硬件介绍和Vivado开发流程-爱代码爱编程

文章目录 Vivado简介安装Vivado重新安装驱动开发板硬件介绍ZYNQ启动配置时钟配置PS系统时钟源PL系统时钟源PS端的外设USB转串口SD卡槽用户LED用户按键PL端的外设EEPROM 24LC04扩展口J10扩展口J11用户LED用户按键Vivado开发流程手把手教你使用Vivado软件——LED创建工程Add SourceRTL AN

fpga 异步复位同步释放 详解_居安士的博客-爱代码爱编程

上次芯动面试官问到了这个问题,回答的比较草率,这次把这个问题总结一下 首先分析一下什么是异步复位,同步复位 同步复位:只有在时钟沿到来时复位信号才起作用。 缺点是复位信号持续的时间应该超过一个时钟周期才能保证系统复位 异步复位:复位信号与时钟沿是否到来无关。 缺点是复位信号容易受到毛刺的影响。并且如果复位结束时刻恰在亚稳态窗口内时,就无法正常复位

【axi4 verilog】手把手带你撸axi代码(四、axi4接口的ram设计)_搞ic的那些年的博客-爱代码爱编程

说明: 1、本代码为原创设计,仅供学习使用。 2、从这篇开始,这个专栏将正式进入到RTL设计阶段。 3、这篇文章过后还会有 AXI-lite,Xilinx AXI主机等代码的分析,供大家学习参考。

zynq嵌入式开发基础教程_zynq教程-爱代码爱编程

文章目录 1. ZYNQ嵌入式系统1.1 开发流程1.2 ZYNQ嵌入式最小系统 2. 硬件设计2.1 创建 Vivado 工程2.2 使用 IP Integrator 创建 Processor Syst