在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 8648|回复: 19

[求助] 状态机是应该按子模块分开设计还是总体设计?

[复制链接]
发表于 2012-2-19 18:52:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 larlyii 于 2012-2-19 18:58 编辑

最近做一个FPGA设计,该模块由3个子模块组成,目前是把项目人员分成3部分,每部分做一个子模块,每个子模块中都有单独的状态机和数据通路,已经做完。但回想整个设计过程,我又想到了另一种设计方法,即整个顶层模块设计一个整体状态机,控制全部3个数据通路。
eetop问题.jpg

这2种设计思路应该各有优缺点
方法一人员分工明确,但子模块之间控制信号协议的交互比较麻烦,两两模块之间都需要有这种交互
方法二对子模块的交互信号的设计就简单得多,但整体状态机可能比较难调,而且这种大状态机可能状态数目比较多,因此可能会影响综合出来的时钟频率,如何写出状态数很多的快速FSM是一个难题。另外,在仿真过程中可能也会出现问题:各个子模块只能拿Datapath部分单独仿真,要把控制模块加上的话就只能顶层模块一起仿真了,这个工作量可能会突然变得很大。


请教有经验的高手们,你们一般是按照哪种方法做的???
 楼主| 发表于 2012-2-20 13:31:36 | 显示全部楼层
回复 2# gaochunzy


    恩,内部模块之间的接口规范化太重要了,我们都是FPGA新手,设计过程中没有注意到这个问题,等到大家都把各自的子模块设计完成了之后,才发现了许多问题。因此我才想到能不能用方法二来做,这样的话接口规范化就没那么难了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-21 13:48:59 | 显示全部楼层
谢谢各位大虾的高见哈!看来还是采用方法1表较好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-22 18:24:06 | 显示全部楼层
回复 8# jackertja


    哈哈~最经典的回答~顶!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-24 18:32:05 | 显示全部楼层
回复 10# digitalimage


    状态机上再叠一个总状态机???从来没这么做过,总状态机只控制下面的3个状态机而不控制datapath??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-25 14:02:00 | 显示全部楼层
回复 14# digitalimage


    哦,恍然大悟!你说的加总状态机的想法其实就是提取了顶楼中2种方法的优点:

    1.分开设计模块耦合度最小化的优点(即帖子中的方法一);
    2.合并设计状态机调试简单的优点(即帖子中的方法二)。

    二者优点合二为一,恩,看到的最好的方法!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-25 14:11:16 | 显示全部楼层
回复 16# digitalimage


    恩,谢谢提醒,一提到加班,大家都不爽呀~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-28 20:27:36 | 显示全部楼层
回复 19# hjj1123


    恩,我这个问题就是对目前一个刚刚完成的设计的思考。在设计初期都没考虑到复杂性的问题就直接采用了方法一,后来才想到可以用方法二。因此才有了这个帖子~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-13 04:34 , Processed in 0.045757 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表