跳到主要内容

3.6实验六 2-4译码器

3.6.1 实验目的

(1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法;

(2)通过实验理解译码器电路;

(3)学习Verilog HDL行为级描述方法描述组合逻辑电路。

3.6.2实验任务

设计一个2-4译码器。

3.6.3实验原理

2-4译码器,输入的2位二进制代码共有四种状态,译码器将每个输入代码译成对应的一根输出线上的高、低电平信号。由此可得如下表1-6的真值表。将输入的A、B和输出Y0、Y1、Y2、Y3的关系写成逻辑表达式则得到:

Y0=A’B’

Y1=A’B

Y2=AB’

Y3=AB

表1-6 2-4译码器真值表

ABY0Y1Y2Y3
001000
010100
100010
110001

3.6.4 逻辑电路

alt text

3.6.5Verilog HDL建模描述

2-4译码器程序清单decode24.v

module decode24
(
input wire [1:0] a, //定义两位输入
output reg [3:0] led //定义输出的4位译码结果对应的led
);

//always块语句,a值变化时执行一次过程块
always@(a)
begin
case(a)
2'b00: led = 4'b0001; //2-4译码结果
2'b01: led = 4'b0010;
2'b10: led = 4'b0100;
2'b11: led = 4'b1000;
endcase
end
endmodule

3.6.6实验步骤

1.打开Lattice Diamond,建立工程。

2.新建Verilog HDL设计文件,并键入设计代码。

3.综合并分配管脚,将输入信号a[0]、a[1]分配至拨码开关,将输出信号led[0]~led[3]分配至板卡上的LED。

信号引脚
a[0]M7
a[1]M8
led[0]N13
led[1]M12
led[2]P12
led[3]M11

4.构建并输出编程文件,烧写至FPGA的Flash之中。

5.按下对应按键/拨动拨码开关,观察输出结果。