PL端案例开发手册

目 录

[++++前++++ ++++言++++](#前 言)

[++++1++++ ++++工程编译、程序加载方法++++](#1 工程编译、程序加载方法)

[++++1.1++++ ++++工程编译++++](#1.1 工程编译)

[++++1.2++++ ++++程序加载++++](#1.2 程序加载)

[++++2 led-flash++++](#2 led-flash)

[++++2.1++++ ++++案例说明++++](#2.1 案例说明)

[++++2.2++++ ++++操作说明++++](#2.2 操作说明)

[++++2.3++++ ++++关键代码++++](#2.3 关键代码)

++++更多帮助++++

本文主要介绍PL端案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Unified 2022.2。在进行本文如下操作前,请先按照调试工具安装文档安装Xilinx Unified 2022.2开发工具包。本文默认使用创龙科技的TL-DLC10下载器进行操作演示,请使用下载器连接评估板JTAG接口至PC端USB接口。

注:本案例基于创龙科技Xilinx UltraScale+ MPSoC系列XCZU7EV高性能处理器设计的高端异构多核SoC工业核心板

PL端案例位于产品资料"4-软件资料\Demo\FPGA-HDL-demos\"目录下,案例使用Verilog语言进行开发。案例包含project和bin两个目录,其中project目录下包含案例工程文件,bin目录下含有案例可执行文件。案例目录详细说明见下表:

表 1

|--------|---------------------------------|-------------|
| 目录 | 文件/目录 | 说明 |
| bin | xxx_xczu7ev.bin/xxx_xczu7ev.bit | PL端可执行文件 |
| project || PL端Vivado工程 |

处理器硬件资源详细开发说明可查阅产品资料"6-开发参考资料\数据手册\核心板元器件\ZYNQ\"目录下的文档。

  1. 工程编译、程序加载方法

本章节以产品资料"4-软件资料\Demo\FPGA-HDL-demos\"目录下的led_flash案例为例,演示工程编译、程序加载等相关操作方法。此案例的功能是PL端控制评估底板的LED2进行闪烁。

请将对应案例目录拷贝至Windows非中文路径下。

备注:Windows路径有长度限制,路径太长将会导致工程打开出错。

  1. 工程 编译

进入案例工程对应平台目录,双击.xpr文件打开Vivado工程。

图 1

在弹出的界面中,点击左边"PROGRAM AND DEBUG"栏目下的"Generate Bitstream"选项。

图 2

如弹出如下对话框,请点击Yes。

图 3

弹出如下界面,请点击OK。

图 4

耗时约3~6min后,工程编译完成,编译时间与PL端工程大小、PC机性能相关。编译完成后,将弹出如下界面,请点击Cancel即可。

图 5

此时将在案例工程目录的"xxx.runs\impl_1\"路径下生成PL端.bit与.bin格式可执行文件。其中.bit文件一般通过下载器进行加载运行,.bin文件可基于PS端加载运行。

图 6

  1. 程序加载

请将评估板启动方式选择拨码开关设置为0000(1~4),此档位为JTAG模式,再将评估板上电。将Vivado界面左下角的"Open Hardware Manager"栏目展开,点击"Open Target"后点击"Auto Connect"选项。

图 7

等待Vivado识别评估板,识别成功后如下图所示。

图 8

右击xczu7_0后点击"Program Device..."选项。

图 9

在弹出界面的"Bitstream file"栏,选择待加载的PL端.bit格式可执行文件,已编译的工程将会自动选择,再点击Program进行加载。

图 10

图 11

加载完成后,即可看到评估底板的LED2进行闪烁,说明程序基于下载器加载并运行成功。

  1. led-flash
  1. 案例说明

案例功能:控制评估底板LED2每隔0.5s将状态翻转一次。

管脚约束请查看案例工程"xxx.srcs\constrs_1\imports\constraints\"目录下的.xdc文件。

图 12

  1. 操作说明

程序运行后,即可看到评估底板的LED2进行闪烁,

  1. 关键代码

顶层文件为"led_flash\project\led_flash.srcs\sources_1\imports\hdl\led_flash.v",关键代码说明如下。

  1. 根据50MHz时钟定义0.5s延时计数值。

图 13

  1. 使用STARTUPE3原语提供LED时钟及复位。

图 14

  1. 使用eos_n信号对LED延时进行复位;延时计数值累计次数达到设定的延时值,则翻转LED输出状态。

图 15

RTL原理图如下所示:

图 16

相关推荐
Saniffer_SH7 分钟前
【每日一题】讲讲PCIe链路训练和枚举的前后关系
运维·服务器·网络·数据库·驱动开发·fpga开发·硬件工程
沐欣工作室_lvyiyi43 分钟前
基于单片机的垃圾容量监测与语音交互系统设计(论文+源码)
stm32·单片机·嵌入式硬件·垃圾桶
rechol1 小时前
mcu启动流程
stm32·单片机·mcu·嵌入式
chuwengeileyan11 小时前
stm32 adc采集光敏传感器模块的模拟输出脚A0的值
单片机·嵌入式硬件
啊森要自信1 小时前
【C语言】 C语言文件操作
c语言·开发语言·汇编·stm32·单片机
1+2单片机电子设计2 小时前
基于 STM32 的数控 BUCK-BOOST 升降压电源设计
stm32·单片机·嵌入式硬件
SUNNYSPY0012 小时前
SI2301S-ASEMI工业控制专用SI2301S
单片机
易水寒陈3 小时前
解析器模式,解析不同协议
stm32·单片机
1379号监听员_3 小时前
PID定速/定位置控制电机
stm32·单片机
SystickInt5 小时前
32 LCD显示(FSMC应用)-寄存器
stm32·单片机·嵌入式硬件