关于三段式状态机综合问题
时间:10-02
整理:3721RD
点击:
请教一个状态机的问题,我是用三段式方法写的状态机,每个状态我定义为parameter型(例如parameterREAD_DATA= 4‘h3),在Quartusii12.0环境中综合的时候,会报出警告,Warning (13012): Latch cfg_5338_if:cfg_5338_if_inst|nxt_state.READ_DATA_6656 has unsafe behavior
Warning (13013): Ports D and ENA on the latch are fed by the same signal cfg_5338_if:cfg_5338_if_inst|clk_counter[8]
我上网搜说是出现锁存现象,我在case的时候也使用了default,应该不会出现锁存吧,那为什么还会这样呢?这样的警报能否有什么好的方法消除呢?如果我的状态很多,就会出现N多警告。希望各位高手能给出好的方法帮助我消除这些警告。谢谢!
Warning (13013): Ports D and ENA on the latch are fed by the same signal cfg_5338_if:cfg_5338_if_inst|clk_counter[8]
我上网搜说是出现锁存现象,我在case的时候也使用了default,应该不会出现锁存吧,那为什么还会这样呢?这样的警报能否有什么好的方法消除呢?如果我的状态很多,就会出现N多警告。希望各位高手能给出好的方法帮助我消除这些警告。谢谢!
所谓安全的状态机, 状态会出现呆滞。 根本还是状态转换表的问题。
某个状态不应为任何信号发生改变,视为状态呆滞现象。
quartus工具综合设置里,有一个安全状态及的选项,你要勾上。
一段写完就好了,保证无任何Warning而且Quartus跑得很欢。
不好用,还是会出这些警告
比较喜欢写一段式的状态机
也有疑问
状态机是三段式好还是一段式好?
一般情况下是三段
