首先来看系统框图和原理图。
输入信号有三个,然后2的3次方是8,所以输出有8个。
了解了时序后,对功能进行编码实现。
`timescale 1ns/1ns
module decoder3_8
(
input wire in1 , //输入信号in1
input wire in2 , //输入信号in2
input wire in3 , //输入信号in2
output reg [7:0] out //输出信号out
);
//out:根据3个输入信号选择输出
always@(*)
case({in1, in2, in3})
3'b000 : out = 8'b0000_0001;
3'b001 : out = 8'b0000_0010;
3'b010 : out = 8'b0000_0100;
3'b011 : out = 8'b0000_1000;
3'b100 : out = 8'b00