6ES7414-3XJ00-0AB0
发布时间:2019-03-05 14:49:08点击率:
这里的数据类型的操作是ap_fixed点类型,它类似于float和double(因为它们支持整数和分数位表示的类型),window_fn.h是 不同于上一个project的头文件。这些数据类型是在头文件中定义的ap_fixed。
注意:你可以通过修改C代码,将任意精度类型代替标准C类型,在这里必须做的更改是减少数据类型的大小。在这例子中,我们使用8位,24位,和18位,而不是32位浮点类型。通过较少的操作,减少面积,和更少的时钟周期就可以完成project。我们也可以改变更常见的C类型(如int,short,和char),例如,更改数据类型(18位int(32位))可以确保只要一个dsp48就可以执行任何乘法,但是你必须确认设计仍然执行正确的操作和它这样做所需的精度。由VIvado Hls提供的任意精度类型的好处是,可以仿真更新的C代码来确认其功能和准确性。
6ES7414-3XJ00-0AB0
注意:通过使用任意精度类型,已经减少了延迟和面积(50%和80%),并简化了RTL硬件的操作。由于memory中的总位小于1024 bit,所以现在是自动执行LUTs和FFS而不是模块RAM。
II.打开Interface Summary
注意:现在的数据端口是8 bits和24 bits
III.点击Analysis,打开winfn_loop
总结
本文介绍任意精度数据类型的处理方法。通过Vivado HLs中两个project的比较,得到结论,跟C-base 数据类型相比,使用任意精度数据类型能以更少的资源,获得相同的精度,同时可以运行在更高的时钟频率下。



