BCD to 7 セグメントの次のコードを書きました。コードは find をコンパイルしてシミュレートしますが、num の値が 2 を超えていません。その理由はわかりません。コードは次のとおりです。
module BCDtoSeven_TOP
reg [3:0] num;
wire a,b,c,d,e,f,g;
BCDtoSeven s(num,a,b,c,d,e,f,g);
initial begin
num=1;
end
always @(num<=9) begin
#2 num=num+1;
end
endmodule
サブモジュール:
module BCDtoSeven(num,a,b,c,d,e,f,g);
output a,b,c,d,e,f,g;
input [3:0] num;
assign a=(num==4 || num==5 || num==6 || num==7 || num==8 || num==9)? 1:0;
assign b=(num==2 || num==3 || num==5 || num==6 || num==7 || num==8 || num==9)? 1:0;
assign c=(num==2 || num==3 || num==8 || num==9 || num==7)? 1:0;
assign d=(num==4 || num==3 || num==5 || num==8 || num==9 || num==7)? 1:0;
assign e=(num==5 || num==3 || num==6 || num==8 || num==9)? 1:0;
assign f=(num==2 || num==1 || num==6 || num==8 )? 1:0;
assign g=(num==2 || num==3 || num==6 || num==8 || num==9 || num==5 )? 1:0;
endmodule