news 2026/2/18 7:23:59

vivado hls设计总结(十四)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vivado hls设计总结(十四)

一、高层次综合编码样式
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 文件内。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/17 21:49:21

大数据领域Zookeeper的集群配置自动化工具推荐

大数据基石的"自动建筑师":Zookeeper集群配置自动化工具深度解析 关键词 Zookeeper集群、配置自动化、Ansible、Kubernetes Operator、云原生运维、分布式协调、故障容错 摘要 在大数据生态中,Zookeeper作为分布式系统的"协调大脑"&…

作者头像 李华
网站建设 2026/2/9 12:26:03

ArcGIS土地利用现状图制作全流程

将之前《ArcGIS Pro从0到1制作广东省土地利用现状图》直播回重新录制一遍给大家学习。详见下方视频教学 主要涉及的内容包括:ArcGIS土地利用现状图全流程教学(从零数据下载、镶嵌、裁剪、属性表连接整理、面积区域汇总计算、地图全流程制作) …

作者头像 李华
网站建设 2026/2/14 2:44:08

题解:AT_iroha2019_day3_f 闇のカードゲーム

AT_iroha2019_day3_f 闇のカードゲーム 题目描述 桌上整齐地摆放着 NNN 张卡片(NNN 为奇数),每张卡片上有一个正整数。卡片按整数从小到大排列,位于第 iii 张卡片上的整数为 aia_iai​。不同的卡片上不会有相同的整数。 すぬけ君和…

作者头像 李华