暑期FPGA 培训实验报告 ————BCD 码—七段数码管显示译码器 一、实验设计 利用软件 Qu artu sII,Modelsim 及 DE0 开发板完成译码器的仿真及下载,其中使用 VerilogHDL 硬件描述语言完成其源代码。 译码器 将一位 BCD 码 0—9 用 DE0 开发板的数码管显示。 二、实验原理 发光二极管(LED)由特殊的半导体材料砷化镓、 磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式 LED 显示器件(半导体显示器)。 分段式显示器(LED 数码管)由7条线段围成8型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。 图4 - 17(a)是共阴式 LED 数码管的原理图,图4-17(b)是其表示符号。使用时,公共阴极接地,7个阳极 a~g由相应的 BCD 七段译码器来驱动(控制),如图4 - 17(c)所示。(摘自百度文库) (图片来自百度) BCD 码—七段数码管显示译码器是将一位 BCD 码(输入用图中 A,B,C,D)翻译为数码管上对应显示的十进制数字。例如:输入为 4’b0000 时,则显示为 g 号二极管灭,其他为亮,则可显示为数字0。其实BCD 码—七段数码管显示译码器即为 4-7 线译码器,只是将它显示在数码管上而已。 其(数码管为共阴极)真值表如下图: (图片来自百度) *由于DE0 开发板的数码管为共阳极则需要将上表的真值取反。 三、源代码及 testbench decode4_7.v module decode4_7(decodeout,indec); output[6:0] decodeout; input[3:0] indec; reg[6:0] decodeout; always @(indec) begin case(indec) //用 case 语句进行译码 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 end Endmodule decode4_7_testbench.v module decode4_7_testbench; reg[3:0] indec; wire[6:0] decodeout; la U0(decodeout,indec); initial begin indec=4'b0; #10 $stop; end always begin #1 indec=indec+1'b1; end endmodule 四、实验操作 1、打开 QuartusII...