图1.功能仿真
图2.时序仿真 高电平有效的3-8译码器: 程序内容:
module a3_8yimaqi20100620(data_in,data_out); input[2:0] data_in; output[7:0] data_out; reg [7:0] data_out; always@(data_in) begin
case(data_in)
3'b000:data_out=8'b0000_0001; 3'b001:data_out=8'b0000_0010; 3'b010:data_out=8'b0000_0100; 3'b011:data_out=8'b0000_1000; 3'b100:data_out=8'b0001_0000; 3'b101:data_out=8'b0010_0000; 3'b110:data_out=8'b0100_0000; 3'b111:data_out=8'b1000_0000; endcase end
endmodule
图3.功能仿真
图4.时序仿真
题目:
3、 利用Verilog语言描述一分频器使其能将50MHz的时钟信号转换为1Hz的信号,并在quartus软件中进行时序仿真和功能仿真。 4、 利用Verilog语言描述一10进制计数器,并在quartus软件中进行时序仿真和功能仿真。
5、 利用Verilog语言描述一共阳极的7段数码管的译码电路,并在quartus软件中进行时序仿真和功能仿真。 要求:自学《数字电子技术基础》附录A中的内容,实验前写出程序源代码。 分频器
module z2(clk_out,clk_in); output clk_out;
input clk_in; integer cnt=0; reg clk_out=0;
always@(negedge clk_in) begin
if(1)
begin
if(cnt==49999999)
begin
clk_out<=!clk_out;
end
end
else
end
cnt<=0;
cnt<=cnt+1;
endmodule
十进制计数 module z1(CP,Q); input CP; output [3:0]Q; reg[3:0]Q;
always @(posedge CP) begin end
if(Q<4'b1001) else
Q<=4'b0000; Q<=Q+1;
endmodule
共阳数码管
module z3(decodeout,decodein); output[6:0] decodeout; input[3:0] decodein; reg[6:0] decodeout; always @(decodein) begin end endmodule
case(decodein)
4'd0:decodeout=7'b0000001; 4'd1:decodeout=7'b1001111; 4'd2:decodeout=7'b0010010; 4'd3:decodeout=7'b0000110; 4'd4:decodeout=7'b1001100; 4'd5:decodeout=7'b0100100; 4'd6:decodeout=7'b0100000; 4'd7:decodeout=7'b0001111; 4'd8:decodeout=7'b0000000; 4'd9:decodeout=7'b0000100; default: decodeout=7'bx;
endcase