3线-8线译码器74LS138设计VHDL代码Quartus仿真

名称:3线-8线译码器74LS138设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

74LS138 为3 线-8 线译码器,其74LS138工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。下图是它的真值表:


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


演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件


3. 程序编译


4. RTL图


5. 仿真图


部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY LS138 IS
   PORT (
      S1,S2,S3  : IN STD_LOGIC;--控制信号S1,S2,S3
      A2,A1,A0  : IN STD_LOGIC;--输入A2,A1,A0
      Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7 : OUT STD_LOGIC--输出Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7
   );
END LS138;
ARCHITECTURE behave OF LS138 IS
signal A210:STD_LOGIC_VECTOR(2 DOWNTO 0);
signal Y:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
A210<=A2 & A1 & A0;--3个输入拼接为3bit信号
   
   PROCESS (S1, S2, S3, A210)
   BEGIN
      IF (S1 = '0') THEN--S1低电平时输出全为高电平
         Y <= "11111111";
      ELSIF (S2 = '1') THEN--S1高电平时输出全为高电平
         Y <= "11111111";
      ELSIF (S3 = '1') THEN--S2高电平时输出全为高电平
         Y <= "11111111";
      ELSE
         CASE A210 IS--根据A输出Y
            WHEN "000" =>--输入A2,A1,A0为000时
               Y <= "11111110";--Y0低电平,其他高电平
            WHEN "001" =>
               Y <= "11111101";--Y1低电平,其他高电平
            WHEN "010" =>
               Y <= "11111011";--Y2低电平,其他高电平
            WHEN "011" =>
               Y <= "11110111";--Y3低电平,其他高电平
            WHEN "100" =>
               Y <= "11101111";--Y4低电平,其他高电平
            WHEN "101" =>
               Y <= "11011111";--Y5低电平,其他高电平
            WHEN "110" =>
               Y <= "10111111";--Y6低电平,其他高电平
            WHEN "111" =>
               Y <= "01111111";--Y7低电平,其他高电平
            WHEN OTHERS =>
         END CASE;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 3线-8线译码器74LS138设计VHDL代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员