首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

帮小弟我找一下这个verilog程序中的异常?多谢

2012-02-22 
帮我找一下这个verilog程序中的错误??谢谢module san(clk,en,p)input clk, enoutput [5:0]preg[5:0]pr

帮我找一下这个verilog程序中的错误??谢谢
module san(clk,en,p);
  input clk, en;
  output [5:0]p;
  reg [5:0]p;
  reg [3:0]oa;
  parameter s0 =4'b0010, s1 = 4'b0100,s2=4'b0110,s3=4'b0101,s4=4'b0111,s5=4'b1011;
  always @(posedge clk or p) 
begin
  if(en)
  case(oa)
s0: begin oa= s1;p=6'b000001; end
  s1: begin oa= s2;p=6'b000010; end
s2: begin oa= s3;p=6'b000100; end
  s3: begin oa= s4;p=6'b001000; end
  s4: begin oa= s5;p=6'b010000; end
  s5: begin oa= s0;p=6'b100000; end
  default: oa=s0;
endcase
end
  endmodule


[解决办法]
module text;
reg clk,en;
wire [5:0]p;
initial begin
clk<=0;
en<=0;
#3 en<=1;
end
always #5 clk=~clk; 
 
san u1(clk,en,p);
endmodule
这是我写的测试 至少这段代码的编译时没有问题的 波形也正常
如果想去出开始的未知状态 可以上电复位一下就可以了
[解决办法]
if(en)
s0:...
s1:...
else 
...

热点排行