Verilog行为建模:语法错误,意外结束

问题描述 投票:0回答:1
 module seven_seg1 ( in , o );
 input [2:0]in ;
 output [6:0]o ;
 always@(*)
 begin
   case (in) 
            0:  o=7'b1111110 ;
            1:  o=7'b0110000 ;
            2:  o=7'b1101101 ;
            3:  o=7'b1111001 ;
            4:  o=7'b0110011 ;
            5:  o=7'b1011011 ;
            6:  o=7'b0011111 ;
            7:  o=7'b1110000 ;
            8:  o=7'b1111111 ;
            9:  o=7'b1110011 ;
      default: o= 7'b0000000 ;
   endcase   
 end
endmodule

我写了上面的代码,但ModelSim显示这个错误。

错误: (vlog-13069) (vlog-13069) C:Modeltech_pe_edu_10.4aexamplesbeh.v(18): near "end": syntax error, unexpected end.

verilog modelsim
1个回答
0
投票

当运行Modelsim时,我没有得到这个错误。我得到的是一个非法引用 o. 那是因为你正在对一根线进行程序性赋值。你需要进行 o 变量,将其声明为 reg.

module seven_seg1 (
 input [2:0]in ,
 output reg [6:0]o );
 always@(*)
 begin
   case (in) 
            0:  o=7'b1111110 ;
            1:  o=7'b0110000 ;
            2:  o=7'b1101101 ;
            3:  o=7'b1111001 ;
            4:  o=7'b0110011 ;
            5:  o=7'b1011011 ;
            6:  o=7'b0011111 ;
            7:  o=7'b1110000 ;
            8:  o=7'b1111111 ;
            9:  o=7'b1110011 ;
      default: o= 7'b0000000 ;
   endcase   
 end
endmodule
© www.soinside.com 2019 - 2024. All rights reserved.