|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
小弟乃verilog新手,一下这段程序问题出在哪呢?为什么波形仿真不正确?求各位大仙指教
module BCD_cnt59(qout,cin,reset,clk);
output[7:0] qout;
reg[7:0]qout;
input cin,clk,reset;
always@(posedge clk )
begin
if(reset)
qout<=0;
else if(cin)
begin
if(qout[3:0]==4'd0)
begin
qout[3:0]<=9;
if(qout[7:4]==0)
qout[7:4]<=5;
else
qout[7:4]=qout[7:4]-1'b1;
end
else qout[3:0]<=qout[3:0]-1'b1;
end
end
endmodule
module BCD(in,out);
output[6:0]out;
input[3:0]in;
reg[6:0]out;
always@(in)
begin
case(in)
4'd0ut=7'b1111110;
4'd1ut=7'b0110000;
4'd2ut=7'b1101101;
4'd3:out=7'b1111001;
4'd4:out=7'b0110011;
4'd5:out=7'b1011011;
4'd6:out=7'b1011111;
4'd7:out=7'b1110000;
4'd8:out=7'b1111111;
4'd9:out=7'b1111011;
default:out=7'bx;
endcase
end
endmodule
module top (out1,out2,clk,reset,cin);
output[6:0] out1,out2;
input clk,reset,cin;
wire [7:0] qout;
BCD_cnt59 u1(qout,cin,clk,reset);
BCD u2 (qout[7:4],out2);
BCD u3 (qout[3:0],out1);
endmodule |
|