logo资料库

course_s3_ALINX_ZYNQ(AX7Z035_AX7Z100)开发平台HLS教程V1.01.pdf

第1页 / 共63页
第2页 / 共63页
第3页 / 共63页
第4页 / 共63页
第5页 / 共63页
第6页 / 共63页
第7页 / 共63页
第8页 / 共63页
资料共63页,剩余部分请下载后查看
版权声明
前言
目录
准备工作及注意事项
软件环境
硬件环境
实验工程及目录说明
实验快速复现
工程重新编译注意事项
第一章 初识HLS
1.1 实验led控制
1.1.1 创建vivado hls工程
1.1.2 创建vivado工程
1.1.3 实验总结
1.2 工程路径
1.3 HLS简介
1.3.1 Vivado HLS 包含库
1.3.2 Vivado HLS 接口
1.3.3 hls官方教程
第二章 状态指示led
2.1 模块控制block-level
2.2 可配置的模块
2.3 工程路径
2.4 实验结果
第三章 浮点协处理
3.1 实验介绍
3.2 IP创建
3.2.1 HLS源代码
3.2.2 接口介绍
3.2.3 运算
3.2.4 其它说明
3.3 TestBench
3.3.1 应用程序创建
3.3.2 源代码
3.3.3 C仿真
3.3.4 RTL仿真
3.4 工程路径
3.5 运行结果
第四章 视频彩条
4.1 Vivado HLS视频开发
4.1.1 与OpenCV关系
4.1.2 VivadoHLS视频库函数
4.2 实验介绍
4.3 HLS IP创建
4.3.1 源代码
4.3.2 接口介绍
4.3.3 hls::Mat介绍
4.3.4 优化
4.4 工程路径
4.5 实验结果
第五章 视频帧缓存读写管理
5.1 实验介绍
5.2 模块主要代码
5.1 工程路径
5.2 实验结果
第六章 图像缩放叠加
6.1 实验介绍
6.2 模块主要代码
6.3 工程路径
6.4 实验结果
第七章 字符叠加
7.1 实验介绍
7.2 模块主要代码
7.3 工程路径
7.4 实验结果
第八章 图像对比度调整
8.1 实验介绍
8.2 模块主要代码
8.3 工程路径
8.4 实验结果
第九章 自动聚焦
9.1 实验介绍
9.2 代码
9.3 工程路径
9.4 实验结果
第十章 边缘检测
10.1 实验介绍
10.2 TestBench结果
10.3 模块主要代码
10.4 工程路径
10.5 实验结果
第十一章 角点检测
11.1 模块主要代码
11.2 工程路径
11.3 实验结果
第十二章 快速傅里叶变换FFT
12.1 实验介绍
12.2 模块主要代码
12.3 工程路径
12.4 实验结果
ZYNQ 开发平台 HLS 教程 版本号:V1.01 2019-03-07 14:49:50
ZYNQ 开发平台 HLS 教程 版权声明 Copyright © 2012-2018 芯驿电子科技(上海)有限公司 公司网址: Http://www.alinx.com.cn 技术论坛: http://www.heijin.org 官方旗舰店: http://alinx.jd.com 邮箱: avic@alinx.com.cn 电话: 021-67676997 传真: 021-37737073 ALINX 微信公众号: http://www.alinx.com.cn 2 / 63
前言 ZYNQ 开发平台 HLS 教程 Vivado HLS 能提高系统设计的抽象层次,为设计人员带来切实的帮助。Vivado HLS 通过 下面两种方法提高抽象层次:第一,使用 C/C++作为编程语言,充分利用该语言中提供的高级 结构。第二,提供更多数据原语,便于设计人员使用基础硬件构建块(位向量、队列等)。与使 用 RTL 相比,这两大特性有助于设计人员使用 Vivado HLS 更轻松地解决常见的协议系统设计 难题。最终简化系统汇编,简化 FIFO 和存储器访问,实现控制流程的抽象。 Vivado HLS 便于架构研究,用户只需在代码中插入程序指令(如使用 GUI 或批处理模式 时的 Tcl 命令),就可以把设计所需特性传递给综合工具。这样用户可以在不修改设计代码本身 的情况下研究大量备选架构方案。研究的范围可以是模块流水线化等根本性问题,也可以是 FIFO 队列深度等较常见的问题。 Vivado HLS 便于仿真。C 和 RTL 仿真是 Vivado HLS 另一个大放异彩的地方。设计一般 采用两步流程验证:第一步是 C 语言仿真。这个步骤中 C/C++的编译和执行与常见的 C/C++ 程序相同;第二步是 C/RTL 协仿真。在这步骤中,Vivado HLS 会根据 C/C++测试平台自动生 成 RTL 测试平台,然后设置并执行 RTL 仿真,检查实现方案吧的正确性。 如能充分发挥这些优势,这将对于用户的系统设计大有裨益。这不仅体现在开发时间和生 产力上,还由于 Vivado HLS 代码更加紧凑的特点,体现在代码可维护性和可读性上。此外通 过高层次综合,用户仍能有效控制架构及其特性。正确理解和使用 Vivado HLS 程序对实现这 一控制起着根本作用。 http://www.alinx.com.cn 3 / 63
目录 ZYNQ 开发平台 HLS 教程 版权声明 ......................................................................................................................................... 2 前言 ................................................................................................................................................. 3 目录 ................................................................................................................................................. 4 准备工作及注意事项 ..................................................................................................................... 7 软件环境 ................................................................................................................................. 7 硬件环境 ................................................................................................................................. 7 实验工程及目录说明 ............................................................................................................. 8 实验快速复现 ......................................................................................................................... 8 工程重新编译注意事项 ......................................................................................................... 9 第一章 初识 HLS .......................................................................................................................... 10 1.1 实验 led 控制 ................................................................................................................. 10 1.1.1 创建 vivado hls 工程 ........................................................................................... 10 1.1.2 创建 vivado 工程 ................................................................................................. 14 1.1.3 实验总结 ............................................................................................................. 27 1.2 工程路径 ........................................................................................................................ 27 1.3 HLS 简介 .......................................................................................................................... 27 1.3.1 Vivado HLS 包含库 .............................................................................................. 27 1.3.2 Vivado HLS 接口 .................................................................................................. 28 1.3.3 hls 官方教程 ......................................................................................................... 28 第二章 状态指示 led ................................................................................................................... 29 2.1 模块控制 block-level ...................................................................................................... 29 2.2 可配置的模块 ................................................................................................................ 30 2.3 工程路径 ........................................................................................................................ 30 2.4 实验结果 ........................................................................................................................ 31 第三章 浮点协处理 ..................................................................................................................... 32 3.1 实验介绍 ........................................................................................................................ 32 3.2 IP 创建 ............................................................................................................................. 32 3.2.1 HLS 源代码 ........................................................................................................... 32 3.2.2 接口介绍 ............................................................................................................. 32 3.2.3 运算 ..................................................................................................................... 33 3.2.4 其它说明 ............................................................................................................. 33 3.3 TestBench ......................................................................................................................... 33 3.3.1 应用程序创建 ..................................................................................................... 33 3.3.2 源代码 ................................................................................................................. 33 3.3.3 C 仿真 ................................................................................................................... 34 http://www.alinx.com.cn 4 / 63
ZYNQ 开发平台 HLS 教程 3.3.4 RTL 仿真 ............................................................................................................... 34 3.4 工程路径 ........................................................................................................................ 34 3.5 运行结果 ........................................................................................................................ 34 第四章 视频彩条 ......................................................................................................................... 36 4.1 Vivado HLS 视频开发 ...................................................................................................... 36 4.1.1 与 OpenCV 关系 .................................................................................................. 36 4.1.2 VivadoHLS 视频库函数 ........................................................................................ 36 4.2 实验介绍 ........................................................................................................................ 37 4.3 HLS IP 创建 ...................................................................................................................... 37 4.3.1 源代码 ................................................................................................................. 37 4.3.2 接口介绍 ............................................................................................................. 38 4.3.3 hls::Mat 介绍 ........................................................................................................ 39 4.3.4 优化 ..................................................................................................................... 39 4.4 工程路径 ........................................................................................................................ 39 4.5 实验结果 ........................................................................................................................ 39 第五章 视频帧缓存读写管理 ..................................................................................................... 41 5.1 实验介绍 ........................................................................................................................ 41 5.2 模块主要代码 ................................................................................................................ 41 5.1 工程路径 ........................................................................................................................ 42 5.2 实验结果 ........................................................................................................................ 42 第六章 图像缩放叠加 ................................................................................................................. 43 6.1 实验介绍 ........................................................................................................................ 43 6.2 模块主要代码 ................................................................................................................ 43 6.3 工程路径 ........................................................................................................................ 44 6.4 实验结果 ........................................................................................................................ 45 第七章 字符叠加 ......................................................................................................................... 46 7.1 实验介绍 ........................................................................................................................ 46 7.2 模块主要代码 ................................................................................................................ 46 7.3 工程路径 ........................................................................................................................ 47 7.4 实验结果 ........................................................................................................................ 47 第八章 图像对比度调整 ............................................................................................................. 48 8.1 实验介绍 ........................................................................................................................ 48 8.2 模块主要代码 ................................................................................................................ 48 8.3 工程路径 ........................................................................................................................ 49 8.4 实验结果 ........................................................................................................................ 49 第九章 自动聚焦 ......................................................................................................................... 51 9.1 实验介绍 ........................................................................................................................ 51 9.2 代码 ................................................................................................................................ 51 http://www.alinx.com.cn 5 / 63
ZYNQ 开发平台 HLS 教程 9.3 工程路径 ........................................................................................................................ 52 9.4 实验结果 ........................................................................................................................ 52 第十章 边缘检测 ......................................................................................................................... 54 10.1 实验介绍 ...................................................................................................................... 54 10.2 TestBench 结果 .............................................................................................................. 54 10.3 模块主要代码 .............................................................................................................. 56 10.4 工程路径 ...................................................................................................................... 57 10.5 实验结果 ...................................................................................................................... 57 第十一章 角点检测 ..................................................................................................................... 59 11.1 模块主要代码 .............................................................................................................. 60 11.2 工程路径 ...................................................................................................................... 61 11.3 实验结果 ...................................................................................................................... 61 第十二章 快速傅里叶变换 FFT ................................................................................................... 62 12.1 实验介绍 ...................................................................................................................... 62 12.2 模块主要代码 .............................................................................................................. 62 12.3 工程路径 ...................................................................................................................... 63 12.4 实验结果 ...................................................................................................................... 63 http://www.alinx.com.cn 6 / 63
ZYNQ 开发平台 HLS 教程 准备工作及注意事项 本教程基于学习者已经熟练使用 Vivado 和 xSDK 的情况下编写,不详细讲解 Vivado 工程建立,xSDK 裸机软件编写,中断处理等。HLS 要求学习者熟练使用 C++, 具备一定硬件思维,对硬件流水线、组合逻辑、时序逻辑、FIFO、RAM、AXI 总线 协议有深刻理解才能学习,免得出现低级错误。 软件环境 本教程基于软件版本 SDx 2017.4,这里要用到的快捷方式图标有: vivado 软件 vivado hls 软件 硬件环境 ZYNQ(ALINX 芯驿电子科技)开发板一块,双目镜头模块一个。当前支持的型号列表如下: 开发板型号 双目模块 ZYNQ 芯片型号 ddr 参数兼容型号 AX7Z035 AX7Z100 AN5642 AN5642 xc7z035ffg676-2 xc7z100ffg900-2 MT41J256M16 RE-125 MT41J256M16 RE-125 AX7Z035/AX7Z100 http://www.alinx.com.cn 7 / 63
另外需要自己准备好 HDMI 显示器一台(支持 1080P60)。 ZYNQ 开发平台 HLS 教程 实验工程及目录说明 工程名称 目录路径 说明 hls vivado 各算法导出 IP,由 vivado 引用 vivado/xx_project/xx_.sdk/ vivado/xx_project/ip/normal 软件程序 Verilog 封装 ip vivado/xx_project/ip/hls flash_load_comm HLS 导出 ip 后拷贝至该目录 qspi 烧录 HLS 工程 vivado 工程 SDK 工程 常用 ip HLS 导出 IP flash_load_comm 实验快速复现 1) 连接好 jtag 接口 2) 设置启动模式为 QSPI 启动 3) 将对应实验 SDK 工程中文件 BOOT.bin 拷贝到 flash_load_comm 目录下。 4) 开发板上电 5) 点击 program_qspi.bat 脚本运行。烧录成功后界面如下 6) 开发板重新上电 注:若 SDx 软件安装位置非默认 C 盘,则 program_qspi.bat 运行会出错,此时需要修改 program_qspi.bat 中的命令路径。 http://www.alinx.com.cn 8 / 63
分享到:
收藏