状态机的others状态中应做什么?
时间:10-02
整理:3721RD
点击:
状态机的others状态中应做什么?恳请前辈指点。
一般是赋值为第一个状态,如果状态机带复位操作的话,第一个状态最好就只执行复位操作.
个人觉得赋全x更好,综合面积小,前仿又有利于X的传播。
楼上能详细解释一下为什么
“综合面积小”?
和“前仿又有利于X的传播”的好处么?
这个我今天也看到了,貌似只有夏宇闻的书上这么说,利于x的扩散很好理解,至于综合面积小,其实加上full_case以后应该就一样了,都是个人猜测
不知道你问的什么意思?一般情况下,如果有良好代码规范的人的话,在case中会写全每一个状态机, 当然某些不需要的状态机,你也可以用full case 让综合工具自己去处理, 这样做的目的是怕万一状态机跑入一个未知状态或者进入一个死循环时能及时的跳出状态。
others里放初始状态的话,综合后就会生成电路,保证所有case语句没提到的状态,都会回到初始状态。放x的话,就不会生成这样的保障电路。
有利于x的传播是说,如果case语句的跳转条件里出现x,那状态机就会进入x状态,而不是回到初始状态。这样有利于你仿真时发现这个x,从而追溯到最源头上,消除x。
其实影响不大,从硬件功能上说回到确定复位状态为好
others是用来保护的。防止FSM飞到其他封闭的小环里回不来。
