前仿真出来的状态机时钟正确的,
而后仿真出来的状态机中,有些状态之间就会有很短时间的其他状态,时间不到系统时钟的十分之一。
上图是后仿真时序,状态3后应该是状态4,但是实际却是状态7 和 6 ,而且时间很短,不到一个时钟周期,这导致了后仿真失败
是什么原因造成的?
另外:状态可以这样写吗?还是必须0 2 4 8 16 这样写?
st0=8'b00000010,
st1=8'b00000011,
st2=8'b00000100,
st3=8'b00000101,
st4=8'b00000110,
st5=8'b00000111,
st6=8'b00001000,
st7=8'b00001001,
我程序的其中一个状态是这样的:
st3: //for reg ale==1
begin
ale<=1'b1;
oe<=1'b0;
lock<=1'b0;
tx_send<=1'b0;
trig_1<=1'b0;
trig_2<=1'b0;
trig_3<=1'b0;
trig_4<=1'b0;
trig_5<=1'b0;
trig_6<=1'b0;
trig_7<=1'b0;
trig_8<=1'b0;
trig_9<=1'b0;
next_state<=st4;
end
和阻塞性幅值有关系吗?
编译时有条警告:
Warning: Can't find clock settings "clk" in current project -- ignoring clock settings
于是添加时钟约束
如附件图
重新编译后结果如下:Critical Warning: Timing requirements were not met
请问这个问题该怎么解决呢?
平时只有自己弄这个,找不到讨论的人,
请高手帮我看看
非常感谢
Hi
[
本帖最后由 shumin748646 于 2011-4-29 11:36 编辑 ]
此帖出自
小平头技术问答
一周热门 更多>