3线8线译码器74LS138设计VHDL代码74138

名称:3线8线译码器74LS138设计

软件:QuartusII

语言:VHDL

代码功能:

3线8线译码器74LS138的设计

使用VHDL代码

74138

演示视频:74LS1383线8线译码器74LS138设计

FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

代码下载:

74LS1383线8线译码器74LS138设计(代码在文末付费下载)软件:QuartusII语言:VHDL代码功能:3线8线译码器74LS138的设计使用VHDL代码74138演示视频:FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com部分代码展示名称:3线8线译码器74LS138设计(代码在文末付费下载)软件:QuartusII语言:VHDL代码功能:3线8线译码器74LS138的设计使用VHDL代码74138演示视频:FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com部分代码展示LIBRARY ieee; USE ieee.std_logic_1164.all;ENTITY LS138 IS POicon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=225

部分代码展示

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY LS138 IS
   PORT (
      A0  : IN STD_LOGIC;
      A1  : IN STD_LOGIC;
      A2  : IN STD_LOGIC;
      
      S1  : IN STD_LOGIC;
      S2  : IN STD_LOGIC;
      S3  : IN STD_LOGIC;
      
      Y7  : OUT STD_LOGIC;
      Y6  : OUT STD_LOGIC;
      Y5  : OUT STD_LOGIC;
      Y4  : OUT STD_LOGIC;
      Y3  : OUT STD_LOGIC;
      Y2  : OUT STD_LOGIC;
      Y1  : OUT STD_LOGIC;
      Y0  : OUT STD_LOGIC
   );
END LS138;
ARCHITECTURE behave OF LS138 IS
   
   SIGNAL A_data : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL Y_data : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000";
BEGIN
   A_data <= (A2 & A1 & A0);
   Y7 <= Y_data(7);
   Y6 <= Y_data(6);
   Y5 <= Y_data(5);
   Y4 <= Y_data(4);
   Y3 <= Y_data(3);
   Y2 <= Y_data(2);
   Y1 <= Y_data(1);
   Y0 <= Y_data(0);
   
   PROCESS (S1, S2, S3, A_data)
   BEGIN

设计文档:

74LS138设计.doc

1.功能要求

2.工程文件

3.程序文件

4.程序编译

5.仿真程序(testbench)

6.仿真图

使用两片74LS138译码器构成4-16线译码器,通常是为了通过4位输入控制16路输出,每一片74LS138可以提供4选1的功能,我们将它们级联起来。首先,我们需要明白74LS138是一个三态缓冲器加编码器的组合,它的四个输入对应四位二进制数,其中一个使能输入(一般为最低位)用于选择哪一路输出。 以下是简单的Verilog代码示例: ```verilog module four_to_sixteen_decoder( input [3:0] input_code, // 4位输入 output reg [15:0] output_lines, // 16路输出 input enable // 使能信号 ); // 第一片74LS138 decode_1 : entity work.decode_1 ( .input(input_code[3:0]), .output(output_lines[0:3]), .enable(enable) ) port_map ( .input(input_code[3:0]), // A, B, C, D .output(output_lines[0:3]), // Y0, Y1, Y2, Y3 .enable(enable) ); // 第二片74LS138连接到第一片的输出上 decode_2 : entity work.decode_1 ( .input(output_lines[3:0]), .output(output_lines[4:7]), .enable(enable) ) port_map ( .input(output_lines[3:0]), // A, B, C, D .output(output_lines[4:7]), // Y0, Y1, Y2, Y3 .enable(enable) ); endmodule module decode_1 ( input [3:0] input_code, output reg [3:0] output_lines, input enable ); // 写出实际的decode_1模块代码... endmodule ``` 在这个例子中,`decode_1`模块代表单片74LS138,并将其输出作为下一片74LS138的输入。请注意,这只是一个简化的描述,实际的`decode_1`模块需要包含74LS138的行为模型或实际硬件引脚映射。同时,级联的实例化也需要适当地调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值