嵌入式硬件开发学习教程XilinxV

北京治疗白癜风哪里便宜 https://jbk.39.net/yiyuanfengcai/zn_bjzkbdfyy/

前言

本文主要介绍HLS案例的使用说明,适用开发环境:Windows7/bit、XilinxVivado.4、XilinxVivadoHLS.4、XilinxSDK.4。

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

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

TLZ7x-EasyEVM-S评估板

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

matrix_demo案例

案例功能:实现32*32浮点矩阵乘法运算功能,同时提供提高运算效率的方法。

HLS工程说明

时钟

HLS工程配置的时钟为MHz。如需修改时钟频率,请打开HLS工程后点击后,在弹出的界面中的Synthesis栏目进行修改。

图42

(2)顶层函数

案例有两个可选的顶层函数,分别为standalone_mmult()和HLS_accel()。前者为矩阵乘法运算函数,用于仿真阶段;后者基于前者将数据输入输出接口封装成AXI4-Stream接口,用于综合阶段。工程默认配置为standalone_mmult()。

图43

点击后矩阵乘法运算函数如下:

图44

矩阵乘法运算函数如下:

图45

matrix_demo_test.cpp中提供了矩阵乘法运算函数mmult_sw(),程序将mmult_sw()的运算结果和顶层函数standalone_mmult()的运算结果进行对比。如结果一致,则说明顶层函数逻辑正确。mmult_sw()函数不调用逻辑资源,而standalone_mmult()函数调用逻辑资源。

图46

图47

编译与仿真

请参考本文档HLS开发流程说明章节,进行编译。编译完成后,进入仿真界面点击综合

图48

运行完毕后,将在Console窗口打印如下提示信息,说明顶层函数逻辑正确。

图49

综合

案例提供三个solution,每个solution的算法运行效率不同。由于solution3所用资源较多,xc7z无法满足资源要求,因此案例默认使用solution2生成IP核。

进行综合时,需将顶层函数修改为HLS_accel()。修改顶层函数后


转载请注明:http://www.aierlanlan.com/cyrz/2246.html