|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
现在我有两种思路:一种是直接用CASE语句的嵌套来实现状态机的套路。
二种是每个状态机封装成一个module,从主状态机中接出一个信号到子机状态机模块。
这两种方法都靠谱吗?
如果采用第一种方法:
肯定要用到cs,ns,sub_cs,sub_ns四个状态信号吧?
一般状态机第一段要这么写:
[email=always@(posedge clk]always@(posedge clk[/email] or negedge rst)
if(!rst) cs<=idle;
else cs<=ns;
如果用子状态机嵌套的话,上一段代码中,应该加入: sub_cs<=sub_idle; 和一句sub_cs<= sub_ns;
但问题是在于这句sub_cs<= sub_ns;因为在还未发生嵌套过程时,sub_ns是未知的,这样便会影响到sub_cs的值,等嵌套发生时,就会错乱了。
那该如何解决这个问题呢?
请高手们指点迷津,谢谢 |
|