哪位大侠帮我看看,就是照着书上写的Mealy型的状态机,仿真都不出波形
哪位大侠帮我看看,就是照着书上写的Mealy型的状态机,仿真都不出波形,晕死了。我把书上的源程序写下来了,编译也不好使。树上的源程序如下:module fpga5(a,clk,z);
input a,clk;
output z;
reg z;
regp_state,n_state;
parameter st0=0,st1=1,st2=2,st3=3;
always@(negedge clk)
p_state=n_state;
always@(p_state or a)
begin
case(p_state)
st0:
if(a)
begin
z=1;
n_state=st3;
end
else
z=0;
st1:
if(a)
begin
z=0;
n_state=st0;
end
else
z=1;
st2:
if(~a)
z=0;
else
begin
z=1;
n_state=st1;
end
st3:
begin
z=0;
if(~a)
n_state=st2;
else
n_state=st1;
end
endcase
end
endmodule 都看晕啦,为什么不对齐呢!
时序部分应该用非阻塞语句,p_state <= n_state;
组合逻辑部分代码都产出锁存器。 回复【1楼】honeybear
-----------------------------------------------------------------------
好的 我对齐下,考进来就变了 ,这个是书上的源代码,仿真也不出波形 回复【1楼】honeybear
-----------------------------------------------------------------------
我试验了,也不可以,Z输出的就是随机的,不知道怎么回事,和书上写的一模一样的东西都不好使, 嘿嘿,记得上研究生时,同宿舍的一牛哥们,推荐了一本学习VB的宝典。据说书里的每一个例子,手工敲进去都不能按照书上说的结果运行,他当年就是一个个的把书上的BUG找出来,把例子调通,终于成长位一名VB高手的。
1楼的程序到底是要实现什么功能啊?
p_state没有复位,也没有初始值,仿真貌似会有问题的。 学VB用不着这样吧?这东西拿来就用,根本不用学
页:
[1]