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