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

相关推荐
夜月yeyue2 小时前
ARM内核与寄存器
arm开发·stm32·单片机·嵌入式硬件·mcu·链表
云山工作室5 小时前
基于单片机的防火防盗报警系统设计(论文+源码)
单片机·嵌入式硬件
A-花开堪折6 小时前
Qemu-STM32(十三):STM32F103加入RCC控制器
stm32·单片机·嵌入式硬件
古希腊掌握嵌入式的神7 小时前
[硬件]单片机下载电路讲解-以ch340为例
单片机·嵌入式硬件
lzb7597 小时前
第16届蓝桥杯单片机模拟试题Ⅰ
单片机·蓝桥杯
XYN619 小时前
【嵌入式面试】
笔记·python·单片机·嵌入式硬件·学习
LongRunning9 小时前
【温酒笔记】电源管理-GPIO浮空输入
stm32·单片机
IDIOT___IDIOT11 小时前
为什么要给单片机植入操作系统
单片机·嵌入式硬件
Wythzhfrey15 小时前
51单片机Day03---让一个LED灯闪烁
c语言·单片机·嵌入式硬件·c#·51单片机
双叶83616 小时前
(51单片机)串口通讯(串口通讯教程)(串口接收发送教程)
c语言·开发语言·c++·单片机·嵌入式硬件·microsoft·51单片机