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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7005|回复: 19

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

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

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

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

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

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

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


请教有经验的高手们,你们一般是按照哪种方法做的???
发表于 2012-2-19 21:35:19 | 显示全部楼层
个人觉得分开设计比较好,接口难可以通过规范化来解决,但是耦合的太紧难调这个问题很棘手。当然这也要看具体的需求。楼下高手继续发表意见。
 楼主| 发表于 2012-2-20 13:31:36 | 显示全部楼层
回复 2# gaochunzy


    恩,内部模块之间的接口规范化太重要了,我们都是FPGA新手,设计过程中没有注意到这个问题,等到大家都把各自的子模块设计完成了之后,才发现了许多问题。因此我才想到能不能用方法二来做,这样的话接口规范化就没那么难了。
发表于 2012-2-20 15:25:24 | 显示全部楼层
肯定要分开设计,顶层模块只做例化不做逻辑。如果子模块相互的耦合严重,那时划分的问题。各个子模块一定要在功能上独立,这样维护简单,逻辑清楚,调试也容易得多
发表于 2012-2-20 17:28:47 | 显示全部楼层
顶层模块做粘合逻辑,其他只能存在模块例化逻辑。模块划分要求接口清晰,模块间耦合度最小化,RAM使用分配均匀
发表于 2012-2-20 22:34:11 | 显示全部楼层
分开设计是最好的,我以前也做一个比较大的状态机,弄的太复杂了,很不好调试...
设计之前要把各子模块划分好...这个很重要啊
 楼主| 发表于 2012-2-21 13:48:59 | 显示全部楼层
谢谢各位大虾的高见哈!看来还是采用方法1表较好
发表于 2012-2-21 14:39:51 | 显示全部楼层
分开设计各自加班,
合并设计一起加班。
^_^
 楼主| 发表于 2012-2-22 18:24:06 | 显示全部楼层
回复 8# jackertja


    哈哈~最经典的回答~顶!
发表于 2012-2-24 14:57:49 | 显示全部楼层
建议在三个子状态机上加一个总状态机。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-19 05:33 , Processed in 0.029588 second(s), 9 queries , Gzip On, Redis On.

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