安庆市网站建设_网站建设公司_改版升级_seo优化
2026/1/8 22:04:58 网站建设 项目流程

一、高层次综合编码样式
1.c实现的递归是不支持可综合的
2.vivado hls中,使用c++的函数模板和类模板可以实现递归函数

二、函数
1.顶层函数综合后变为RTL设计的顶层
2.子函数综合变为RTL设计的块
3.顶层函数不能采用静态函数

三、函数内联
1.子函数可以通过内联来将其逻辑和周围的函数的逻辑合并

四、RTL黑盒设计
1.rtl黑盒设计说明
rtl黑盒设计,就是hls c/c++代码和rtl verilog代码混合编程设计,
但是有有些区别,将预先设计好的verilog模块集成到HLS设计中。

2.RTL设计集成到HLS需要满足的条件
需要黑盒json描述文件;
需要RTL IP文件,也就是rtl的verilog的module代码文件;
需要RTL的c语言实现,也就是一个c语言设计接口。

3.如何将RTL的IP集成到HLS设计中
首先,需要创建RTL的C语言实现函数
其次,在HLS中调用该C语言实现函数
再次,创建必要的JSON文件
然后,使用add_files将JSON文件添加到script.tcl文件中
然后,进行C仿真,综合和协同仿真

4.RTL黑盒设计需要注意的问题
在hls c++设计中才能支持RTL黑盒,c设计是不支持的;
注意rtl黑盒设计只能作为中间模块,不能连接到顶层IO信号;
RTL不支持接口类型为struct结构体或者class类

5.rtl黑盒设计支持的接口
hls::stream接口是支持的;
数组接口是支持的;
标量和指针接口是支持的;
RTL IP 必须使用 ap_ctrl_chain 协议。

6.综合的端口
指定对应 C 语言实参的 RTL 端口协议信号。可使用 5 种类型
的 RTL 端口协议:
• wire:C 语言实参使用标量或含输入方向的指针时,可
映射到 wire。
• ap_vld:C 语言实参使用含输出方向的指针时,可映射到
ap_vld。
• ap_ovld:C 语言实参使用含输入输出方向的指针时,可
映射到 ap_ovld。
• FIFO:C 语言实参使用 hls::stream 数据类型时,可映射
到 FIFO。
• RAM:C 语言实参使用数组类型时,可映射到 RAM。数
组类型支持输入输出方向。
以上指定的 RTL 端口协议具有关联的控制信号,这些关联信
号需在 JSON 文件内。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询