1
学习
Vivado
第
5
章
lab1
——任意精度类型
概述
C / C+ +
提供的数据类型被固定为
8
位边界
•char(8
-bit)
•short(16
-bit)
•in(32
-bit)
•longlong(64
-bit)
•float(32
-bit)
•double(64
-bit)
•
精确宽度的整数类型,如
int16_t
(
16
位)和
int32_t
(
32
位)
当创建硬件时,经常在一些例子中要求更高精度的位宽。例如,一个输入为
12
位的滤波器,累积的结果最大范围
只要求
27
位,用标准
C
数据类型的硬件设计会导致不必要的硬件成本。比精确类型要求更多
LUT
和寄存器的操作
延迟甚至超过时钟周期,因此需要更多的周期来计算结果
Vivado
高层次综合(
HLS
)提供了许多位准确或任意精度的数据类型,可以让你模拟使用任何(任意)宽度的变量。
本教程由两个实验练习组成:
• Lab1 –
综合使用浮点类型的设计和查看结果。本设计采用标准
C+ +
浮点类型。
• Lab2 –
综合在
lab1
中使用同样的功能但使用任意精度合适类型,突出在精度和结果的优点。这次演习显示了同样
的设计如何可以转换到
VivadoHLSap_fixed
类型,保留所要求的精度,但创造一个更优化的硬件实现。
教程设计描述
从
xilinx
网站下载教程设计文件,在教程设计中查看信息。教程所用的设计文件在教程目录
vivado_HLS_Tutorial\Arbitary\Precision
任意精度:
Lab1
任意精度
Lab1
:查看采用的标准
C/C++
类型设计
在这个
lab
中,您用标准的
C
类型综合设计,您用此设计作为一个参考,为
lab2
使用任意精度类型的设计的参考。
重要:在教程中的图片和命令假设教程数据路径
vivado_HLS_Tutorial
被解压放置在
c:\vivado_HLS_Tutorial
中。
如果教程数据目录解压缩到不同的位置,或者在
Linux
系统上,调整一些路径名引用到的位置您选择放置
Vivado_HLS_Tutorial
目录。
步骤
1
:创建并打开工程
1.
打开
Vivado HLS
命令提示符
a.
在
windows
系统中,采用
Start>All Programs>Xilinx Design Tools>Vivado2014.2>Vivado HLS>Vivado HLS 2014.2
Command Prompt
,如下图
b.
在
linux
系统下,打开新的
shell,