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

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

2013-01-02 
帮我找一下这个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 
  ...

热点排行