news 2026/4/24 18:37:24

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/4/15 6:13:25

别再熬夜改论文!8款免费AI工具一键润色,原创性飙升超省心!

还在用“手动硬扛百度拼凑”?别再靠咖啡续命赶DDL?别再因查重红线和导师批注崩溃到想弃学? 如果你是一名大学生、研究生或科研人员,看到这三连问,是不是瞬间头皮发麻、频频点头——这就是我现在的状态! 每…

作者头像 李华
网站建设 2026/4/22 19:41:40

基于SSM的大学生就业信息平台【源码+文档+调试】

🔥🔥作者: 米罗老师 🔥🔥个人简介:混迹java圈十余年,精通Java、小程序、数据库等。 🔥🔥各类成品Java毕设 。javaweb,ssm,springboot等项目&#…

作者头像 李华
网站建设 2026/4/23 2:19:31

【计算机毕业设计案例】基于SpringBoot+Vue的非遗传统手工艺购物系统管理系统设计与实现基于SpringBoot的非遗传统手工艺购物系统(程序+文档+讲解+定制)

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

作者头像 李华
网站建设 2026/4/22 17:42:10

Java毕设项目推荐-基于Spring Boot的非物质文化商城系统的设计与开发基于SpringBoot的非遗传统手工艺购物系统【附源码+文档,调试定制服务】

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

作者头像 李华
网站建设 2026/4/23 13:23:09

Cobalt Strike(简称 CS)专业的红队安全测试工具

Cobalt Strike(简称 CS)是一款专业的红队安全测试工具,核心用于模拟真实网络攻击,实现目标主机控制、权限提升、横向渗透等操作,是企业安全演练中常用的工具之一。以下是它的核心功能和基础使用流程(结合你…

作者头像 李华