Vivado HLS工程testbench的三个要素

您所在的位置:网站首页 vivado的testbench Vivado HLS工程testbench的三个要素

Vivado HLS工程testbench的三个要素

2022-12-24 14:13| 来源: 网络整理| 查看: 265

编写高效

Vivado HLS

工程

testbench

的三个要素

  

  

C

程序的设计中,

任何一个

C

程序的顶层都是

main(

函数

.

而在

vivado 

HLS

的设计中,只要函数的层次在

main(

)函数以下,都可以被综合。

但是每个

vivado HLS

工程只能指定一个

top

层函数作为输出

RTL

模块的

顶层,其它和这个函数层次平行,不需要被综合的函数都可以作为

testbench

来使用。这样就带来一个问题,如何编写

vivado HLS

工程的

testbench

更高效,或者说能更好的让

HLS

工具自动重用

C testbench

证产生的

RTL

代码就变得非常重要。

 

 

 

        

通常,

Vivado HLS

中,好的

C testbench

设计原则是

testbench

设计和需

要实现的算法函数分别保存在不同的文件中,并且充分利用头文件。

Testbench

常常包含了一些

HLS

综合不支持的操作,

比如通过文件的读写取得仿真数据并保

存结果,或者打印一些测试结果进行分析。在头文件中,完成对

testbench

中所

有的数据类型和函数的定义

,

以及包含共享的设计文件和函数库。

 

 

 

        

Vivado HLS

中,只能指定一个

top

层函数用于综合,

top

层函数可以包含多

个子函数。

当需要综合多个并行层次的函数时,

可以编写一个

wrapper

函数作为

top

层函数,将需要综合的多个并行函数封装起来。

 

 

 

        

C testbench

的目不仅是要验证需要综合的

top

函数功能正确

C

编译器验证

环境),同时重用

C testbench

作为综合产生

RTL

代码的仿真激励

,

HLS

工具自动

调用

C testbench

来验证

RTL

功能的一致性

(

C

编译器和

RTL

仿真器的协同仿真环

)

。这样

,

编写一个好的风格

testbench

可以很好的提高设计的验证效率

,

如果在

HLS

综合前和综合过程中,需要修改综合函数的代码,可以用

testbench

验证,

确保需要综合的

C

算法功能正确。

 

 

 

        

Vivado HLS

中推荐高效的

testbench

具有如下三个特征:

 

        

1

 

Testbench

代码和需要综合的

C

算法代码保存在不同的文件中

(例子

1

1

.

输入多个不同的数据,

对需要综合的

Top

层函数执行多次的处理和验证。

还可以



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3