news 2026/5/5 19:33:12

forward path路径数据流架构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
forward path路径数据流架构

一、mealy machine架构

void foo(int I1,int I2,int*O){
static int L;//latch or flip-flop

*O = I1*L; //read current-L
L = I2 + L;//assign next-L

}
注意:描述上述电路的代码,必须先描述downstream,然后再描述upperstream.
先写output,再写input部分,这个由于C代码是blocking阻塞模式,所以必须
这么写。所有的forward path的架构都可以这么玩。

二、多次调用mealy machine架构

上述架构调用了两次foo函数

注意,不能直接按照上述代码来写,因为foo()这个函数代码如下:

void foo(int I1,int I2,int*O){
static int L;//latch or flip-flop

*O = I1*L; //read current-L
L = I2 + L;//assign next-L

}

可以看出,调用了两次,但是这函数有static修饰的L,在两次函数调用的时候共用了static变量L,这个是C/C++语言的特性,所以上述fxn_reuse_try并不能实现两次mealy_machine的调用!

三、使用函数模板来实现多次mealy_machine设计

上述代码中,使用函数模板实现了foo函数,上述的模板参数第一次写1,第二次写2,这样就实现了这两个函数的unify唯一性了,就可以实现上述功能。

另外,补充下:

其实还有一种办法,就是将foo函数起名搞成两个不同的名字,也可以实现这个功能,比如,第一个函数叫做foo1,第二个函数名字叫做foo2,这样和模板函数实现的效果其实是一样的,同样可以实现功能。

四、总结

c语言的函数调用并不能等同于module的例化,这个是不能画等号的。除非使用template模板化,才能唯一的函数,这样才行。

同一个函数的两次执行,并不是两个函数的直接copy。

在hls中处理多次调用,
如果是纯组合逻辑,没有static和global变量,那么多次调用可以认为是多次复制例化
如果多次调用是顺序依赖的,一个实例在不同clock使用,那么实例就被复用

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

Beta冲刺第1天 - 项目启动与任务分配

SCRUM部分 今日完成工作 成员 完成任务 耗时 剩余时间 代码提交记录 ------ --------- ------ ---------- ------------- 张泽瑞 完成项目代码分析与文档结构搭建 4小时 0小时 屏幕截图 2025-12-31 124944.png 邱温翰 完成Alpha阶段问题总结文档重写 3小时 0…

作者头像 李华
网站建设 2026/5/3 9:09:53

51. Reporting Functions

UVM报告函数与宏:从“函数调用”到“快捷指令”的进阶 🎯 课程目标:10分钟掌握UVM报告的两种使用方式 上次你学会了UVM报告系统的概念,今天我们来深入学习具体的两种使用方法:函数调用和宏调用。就像学会用手机打电话的…

作者头像 李华
网站建设 2026/4/25 9:01:34

【毕业设计】基于SpringBoot的新能源二手汽车销售平台的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/21 2:20:13

计算机Java毕设实战-基于SpringBoot的新能源二手汽车销售平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/4 13:05:28

计算机Java毕设实战-基于SpringBoot的课堂考勤系统设计与实现课程管理、学生请假管理、课堂考勤管理、课堂签到、打卡提醒【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华