综合技术交流
直播中

Tronlong创龙科技

4年用户 743经验值
擅长:嵌入式技术 存储技术 处理器/DSP EDA/IC设计 MEMS/传感技术
私信 关注
[经验]

硬件开发学习教程——基于Zynq-7010/7020系列 HLS案例(led_flash、key_led_demo)

前 言
本文主要介绍HLS案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Vivado 2017.4、Xilinx Vivado HLS 2017.4、Xilinx SDK 2017.4。

Xilinx Vivado HLS(High-Level Synthesis,高层次综合)工具支持将C、C++等语言转化成硬件描述语言,同时支持基于OpenCL等框架对Xilinx可编程逻辑器件进行开发,可加速算法开发的进程,缩短产品上市时间。

本次案例用到的是创龙科技的TLZ7x-EasyEVM-S开发板,它是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC评估板,处理器集成PS端双核ARM Cortex-A9 + PL端Artix-7架构28nm可编程逻辑资源,评估板由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。


TLZ7x-EasyEVM-S评估板

TLZ7x-EasyEVM-S评估板评估板接口资源丰富,引出千兆网口、双路CAMERA、USB、Micro SD、CAN、UART等接口,支持LCD显示拓展及Qt图形界面开发,方便快速进行产品方案评估与技术预研。

led_flash案例


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

HLS工程说明

  • 时钟
HLS工程配置的时钟为100MHz,案例将该时钟用于计算0.5s间隔时间进行LED2亮灭状态控制,生成的IP核亦需接入该时钟。如需修改时钟频率,请打开HLS工程后点击,在弹出的界面中的Synthesis栏目进行修改。

图 26
  • 顶层函数
案例顶层函数为led_flash.cpp中的led_flash()。

图 27
点击然后,可在弹出的界面中的Synthesis栏目查看或设置顶层函数。

图 28
该函数控制评估底板LED2每隔0.5s将状态翻转一次。工程设置的时钟为100MHz(周期10ns),在for循环里计数值为100000000,用时为10ns x 100000000 = 1s。

编译与仿真
请参考本文档HLS开发流程说明章节,进行编译。编译完成后,进入仿真界面点击后进行单步运行,进入led_flash()函数。

图 29

图30

继续点击后进入for循环,当i < 50000000时,*led_o等于1(true)。


图 31

点击后全速运行或修改i的值为50000000,当i ≥ 50000000时,*led_o等于0(false)。


图 32
IP核测试
请参考本文档HLS开发流程说明章节,完成IP核测试前的准备工作。
HLS工程生成的IP核为led_flash_0。


图 33

加载PL端.bit格式可执行文件,即可看到评估底板的LED2进行闪烁。

key_led_demo案例
案例功能:通过按键KEY2控制评估底板的LED2状态。

HLS工程说明
  • 时钟
HLS工程配置的时钟为100MHz。案例通过按键KEY2控制评估底板的LED2状态,实际没有使用该时钟。如需修改时钟频率,请打开HLS工程后点击,在弹出的界面中的Synthesis栏目进行修改。


图 34
2.顶层函数
案例顶层函数为key_led_demo.cpp中的key_led_demo()。


图 35

点击后,可在弹出的界面中的Synthesis栏目查看或设置顶层函数。


图 36

按键所对应的IO默认是上拉、高电平。按下按键时,key_i为0;松开按键时,key_i为1。
普通标量类型参数对应IP核的输入接口,如key_i作为输入。指针类型参数可作为输入输出,如*led_o作为输出。

图 37
编译与仿真
请参考本文档HLS开发流程说明章节,进行编译。编译完成后,进入仿真界面点击后进行单步运行,可看到Console窗口打印led_o的值。由于key_i默认值为0,因此led_o的值为1。

图 38
修改key_i的值为1,并继续点击进行单步运行。

图 39
此时可看到led_o的值为0。

图 40
IP核测试
请参考本文档HLS开发流程说明章节,完成IP核测试前的准备工作。
HLS工程生成的IP核为key_led_demo_0。


图 41

加载PL端.bit格式可执行文件,按下KEY2则LED2点亮,松开KEY2则LED2熄灭。


更多回帖

发帖
×
20
完善资料,
赚取积分