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

问题描述 投票: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) C:/Modeltech_pe_edu_10.4a/examples/beh.v(18):接近“end”:语法错误,意外结束。

verilog modelsim
1个回答
1
投票

运行 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.