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图框进行配置。可以看到有如下配置选项:
- Zynq Block Design
- PS-PL Configuration
- Peripheral I/O Pins
- MIO Configuration
- Clock Configuration
- DDR Configuration
- SMC Timing Calculation
- 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
-
在Block Design框图中增加AXI BRAM IP核,如下图所示。
-
配置AXI BRAM Controller,如下图所示。
-
增加Block Memory Generator并配置该IP核,连接Block Memory Generator和AXI BRAM Controller,如下图所示。
-
增加AXI Interconnect Block用于连接IP核到PS端,在本例中连接BRAM到zynq的PS,定制AXI Interconnect模块,然后连接MO0_AXI port和S_AXI port接口,如下图所示。
-
配置PS的AXI接口,如下图所示。
-
各模块之间进行连线,连接FCLK_RESET0_N、FCLK_CLK0、M_AXI_GP0等信号如下图所示。
-
分配AXI_BRAM_CTRL_0的地址空间,如下图所示。
-
重新配置blk_mem_gen_0,如下图所示,点击OK后保存该PS和PL配置。
-
至此,PS和PL配置完成,需要生成Bitstream文件,选择Generate Bitstream并导出SDK包。
1.Open Target 可以检测J-tag是否检测到板子信息,排除连接上的错误。
2.先点击File-Export导出hw硬件信息hdf文件(后续开发需要)
3.然后在Launch SDK 导出SDK包。