三八译码器
74HC138三八译码器的应用 - 单片机

74HC138三八译码器的应用 - 单片机在我们设计单片机电路的时候,单片机的IO口数量是有限的,有时并满足不了我们的设计需求,比如我们的STC89C52RC一共是32个IO口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如74HC138这个三八译码器,图1是74HC138在我们原理图上的一个应用。
图174HC138应用原理图从这个名字来分析,三八译码器,就是把3种输入状态翻译成8种输出状态。
从图1所看出来的,74HC138一共有1~6一共是6个输入引脚,但是其中4、5、6这三个引脚是使能引脚。
使能引脚和我们前边讲74HC245的OE引脚是一样的,这三个引脚如果不符合规定的输入要求,Y0到Y7不管你输入的1、2、3引脚是什么电平状态,总是高电平。
所以我们要想这个74HC138正常工作,ENLED那个输入位置必须输入低电平,ADDR3位置必须输入高电平,这两个位置都是使能控制端口。
不知道大家是否记得我们第二课的程序有这么两句ENLED=0;ADDR3=1;就是控制使这个74HC138使能的。
这类逻辑芯片,大多都是有使能引脚的,使能符合要求了,那下面就要研究逻辑控制了。
对于数字器件的引脚,如果一个引脚输入的时候,有0和1两种状态;对于两个引脚输入的时候,就会有00,01,10,11这四种状态了,那么对于3个输入的时候,就会出现8种状态了,大家可以看下边的这个真值表——图,其中输入是A2,A1,A0的顺序,输出是从Y0,Y1....Y7的顺序。
图274HC148真值表从图2可以看出,任一输入状态下,只有一个输出引脚是低电平,其他的引脚都是高电平。
我们清楚的知道,8个LED小灯的总开关三极管Q16基极的控制端是LEDS6,也就是Y6输出一个低电平的时候,可以开通三极管Q16,从右侧的希望输出的结果,我们可以推导出我们的A2,A1,A0的输入状态应该是110,那我们再来看下原理图3。
三八译码器原理

三八译码器原理三八译码器是一种常用的数字电路元件,它可以将三位二进制输入信号转换为八位输出信号。
在数字系统中,三八译码器扮演着重要的角色,它可以将输入的数字信号进行译码,输出对应的信号。
接下来,我们将详细介绍三八译码器的原理及其工作方式。
三八译码器的原理是基于二进制编码的原理。
在二进制编码中,每个数字都有唯一的二进制表示方式。
在三八译码器中,输入信号有三位,输出信号有八位,因此可以表示0-7的数字。
当输入信号为000时,输出信号为00000001;当输入信号为001时,输出信号为00000010;当输入信号为010时,输出信号为00000100;当输入信号为011时,输出信号为00001000;当输入信号为100时,输出信号为00010000;当输入信号为101时,输出信号为00100000;当输入信号为110时,输出信号为01000000;当输入信号为111时,输出信号为10000000。
通过这种方式,三八译码器可以将三位二进制输入信号转换为八位输出信号。
三八译码器的工作方式是通过逻辑门来实现的。
在数字电路中,逻辑门是实现各种逻辑运算的基本元件,包括与门、或门、非门等。
在三八译码器中,通过组合逻辑电路来实现输入信号到输出信号的转换。
通过逻辑门的组合,可以实现不同输入信号到输出信号的映射关系,从而实现译码的功能。
三八译码器在数字系统中有着广泛的应用。
它可以用于将数字信号转换为对应的控制信号,从而控制各种数字设备的工作。
例如,可以将三八译码器与显示器结合,实现对数字显示的控制;可以将三八译码器与存储器结合,实现对存储器的地址选择;可以将三八译码器与逻辑门结合,实现对数字逻辑电路的控制等。
因此,三八译码器在数字系统中具有重要的作用。
总之,三八译码器是一种重要的数字电路元件,它可以将三位二进制输入信号转换为八位输出信号。
通过逻辑门的组合,可以实现输入信号到输出信号的映射关系,从而实现译码的功能。
在数字系统中,三八译码器有着广泛的应用,可以用于控制各种数字设备的工作。
3 8译码器

试验一组合逻辑3线-8线译码器设计试验一、试验目的1、了解并初步掌握ModelSim软件的使用;2、了解使用ModelSim进行组合数字电路设计的一般步骤;3、掌握组合逻辑电路的设计方法;4、掌握组合逻辑电路3线-8线译码器的原理;5、掌握门级建模的方法;二、试验原理译码器(Decoder)的逻辑功能是将每个输入的二进制代码译成对应得输出高、低电平或另外一个代码。
因此,译码是编码的反操作。
常用的译码器电路有二进制译码器、二-十进制译码器和显示译码器等。
二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应得高、低电平信号。
例如,典型的3线-8线译码器功能框图图1-1所示。
输入的3位二进制代码共有8种状态,译码器将每个输入代码译成对应的一根输出线上的高、低电平信号。
图1-1 3线-8线译码器框图74HC138是用CMOS门电路组成的3线-8线译码器,它的逻辑图图1-2所示。
表1-1是74HC138的逻辑功能表。
当门电路G S的输出为高电平时,可以由逻辑图写出。
图1-2 74HC138逻辑功能图表1-1 74HC138逻辑功能表由上式可以看出,由''07Y Y -同时又是210,,A A A 这三个变量的全部最小项的译码输出,所以也将这种译码器称为最小项译码器。
74HC138有3个附加的控制端''123,S S S 和。
当''123S 1,S S 0=+=时,s G 输出为高电平,译码器处于工作状态。
否则,译码器被禁止,所有的输出端被封锁为高电平。
这3个控制端也称为“片选”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能;三、 预习要求1、数字电子技术基础组合逻辑电路设计一般设计方法;2、74HC138的逻辑功能;3、门级建模的一般方法和基本语句;4、ModelSim 软件的一般使用方法(ModelSim SE Tutorial);四、 实验步骤(一)、熟悉ModelSim 软件环境 1、建立一个新Project1-1双击左面快捷方式或者电击[程序]/[ModelSim SE 6.1f]/[ModelSim]启动ModelSim 6.1(如图1-3);注意:必须首先关闭IMPORTANT Information 对话框才能开始其它操作;图1-31-2 [File]/[New]/[Project…]新建一个project,会弹出Create Project对话框(如图1-4);图1-4⏹Project Name(项目名称)需要填入你所建立的项目的名称;⏹指定项目所在路径;如果所指定的目录不存在,会弹出对话框提示是否建立这个目录;一般选择是;⏹缺省的工作库名;注意:1、路径一般不应包含汉字;2、逻辑应在ModelSim的安装目录下指定;3、缺省的工作库的名称一般不需要改动;2、载入HDL元文件2-1设定好1-2步骤的每项内容后,点击OK,弹出Add items to the Projects对话框;如图1-5所示。
实验三3-8译码器的功能测试及仿真

实验三3-8译码器的功能测试及仿真实验三3-8译码器功能测试及仿真⼀、实验⽬的1、掌握中规模集成3-8译码器的逻辑功能和使⽤⽅法。
2、进⼀步掌握VHDL语⾔的设计。
⼆、预习要求复习有关译码器的原理。
三、实验仪器和设备1.数字电⼦技术实验台1台2.数字万⽤表1块3.导线若⼲4.MUX PLUSII软件5.74LS138集成块若⼲四、实验原理译码器是⼀个多输⼊、多输出的组合逻辑电路。
它的作⽤是把给定的代码进⾏“翻译”,变成相应的状态,使输出通道中相应的⼀路有信号输出。
译码器在数字系统中有⼴泛的⽤途,不仅⽤于代码的转换、终端的数字显⽰,还⽤于数据分配,存贮器寻址和组合控制信号等。
不同的功能可选⽤不同种类的译码器。
译码器分为通⽤译码器和显⽰译码器两⼤类。
前者⼜分为变量译码器和代码变换译码器。
1.变量译码器(⼜称⼆进制译码器)⽤以表⽰输⼊变量的状态,如2线-4线、3线-8线和4线-16线译码器。
若有n个输⼊变量,则有2n个不同的组合状态,就有2n个输出端供其使⽤。
⽽每⼀个输出所代表的函数对应于n个输⼊变量的最⼩项。
以3线-8线译码器74LS138为例进⾏分析,下图(a)、(b)分别为其逻辑图及引脚排列。
其中 A2、A1、A0为地址输⼊端,0Y~7Y为译码输出端,S1、2S、3S为使能端。
下表为74LS138功能表,当S1=1,2S+3S=0时,器件使能,地址码所指定的输出端有信号(为0)输出,其它所有输出端均⽆信号(全为1)输出。
当S1=0,2S+3S=X时,或 S1=X,2S+3S=1时,译码器被禁⽌,所有输出同时为1。
3-8线译码器74LS138逻辑图及引脚排列图74LS138功能表输⼊输出S12S+3S A2A1A00Y1Y2Y3Y4Y5Y6Y7Y1 0 0 0 0 0 1 1 1 1 1 1 11 0 0 0 1 1 0 1 1 1 1 1 11 0 0 1 0 1 1 0 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1 1 11 0 1 0 0 1 1 1 1 0 1 1 11 0 1 0 1 1 1 1 1 1 0 1 11 0 1 1 0 1 1 1 1 1 1 0 11 0 1 1 1 1 1 1 1 1 1 1 00 ×××× 1 1 1 1 1 1 1 1× 1 ××× 1 1 1 1 1 1 1 1⼆进制译码器实际上也是负脉冲输出的脉冲分配器。
三八译码器

三八译码器预备知识三八译码器是一种常用的译码器一译码器知识1 译码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。
把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路称为译码器。
或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。
2 译码器是组合逻辑电路的一个重要的器件3 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。
有一些译码器设有一个和多个使能控制输入端,又成为片选端,用来控制允许译码或禁止译码。
二三八译码器知识1 三八译码器3-8译码器三输入,八输出。
当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。
因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。
2 三八译码器的真值表其真值表如表3-2的输入,输出关系输入输出A B C D7 D6 D5 D4 D3 D2 D1 D00 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 1 0 0 01 0 0 0 0 0 1 0 0 0 01 0 1 0 0 1 0 0 0 0 01 1 0 1 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0表3-23电路中的实现本电路图中,有三个输入A,B,C及八个输出D0-D7,其输入,输出关系如表3-24 现象的体现在本实验中,用三个拨动开关来表示三八译码器的三个输入(A、B、C);用八个LED 来表示三八译码器的八个输出(D0-D7)。
通过输入不同的值来观察输入的结果与三八译码器的真值表(表3-2)是否一致。
实验箱中的拨动开关与FPGA的接口电路如下图3-3所示,当开关闭合(拨动开关的档位在下方)时其输出为低电平,反之输出高电平。
3-8译码器(2)

三八译码器的设计与实现一.实验内容用FPGA设计一个3-8译码器,采用基本门结构化描述二.实验原理3-8译码器的真值表如下所示:根据这个真值表,我们画出卡诺图,化简之后就得到每个输出对应的组合逻辑,即得到如下的电路图根据这个电路图我们就可以写出3-8译码器的门电路的实现。
三.实验过程从上面的电路图我们可以看出需要若干个四输入与非门和三输入的非与门。
四输入与非门源程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity and4not isPort ( in1 : in STD_LOGIC;in2 : in STD_LOGIC;in3 : in STD_LOGIC;in4 : in STD_LOGIC;out1 : out STD_LOGIC);end and4not;architecture Behavioral of and4not issignal temp1: STD_LOGIC;signal temp2: STD_LOGIC;signal temp3: STD_LOGIC;begintemp1 <= in1 and in2;temp2 <= in3 and in4;temp3 <= temp1 and temp2;out1 <= not temp3;end Behavioral;三输入的非与门源程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity and3not isPort ( in1 : in STD_LOGIC;in2 : in STD_LOGIC;in3 : in STD_LOGIC;out1 : out STD_LOGIC);end and3not;architecture Behavioral of and3not issignal temp1: STD_LOGIC;begintemp1 <= in1 and (not in2);out1 <= temp1 and (not in3);end Behavioral;再在顶层模块里把这些器件按原理图连接起来就行了. 源程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity decoder isPort ( A : in STD_LOGIC;B : in STD_LOGIC;C : in STD_LOGIC;S1 : in STD_LOGIC;S2 : in STD_LOGIC;S3 : in STD_LOGIC;Y0 : out STD_LOGIC;Y1 : out STD_LOGIC;Y2 : out STD_LOGIC;Y3 : out STD_LOGIC;Y4 : out STD_LOGIC;Y5 : out STD_LOGIC;Y6 : out STD_LOGIC;Y7 : out STD_LOGIC);end decoder;architecture Behavioral of decoder is COMPONENT and4notPort ( in1 : in STD_LOGIC;in2 : in STD_LOGIC;in3 : in STD_LOGIC;in4 : in STD_LOGIC;out1 : out STD_LOGIC);end COMPONENT;COMPONENT and3notPort ( in1 : in STD_LOGIC;in2 : in STD_LOGIC;in3 : in STD_LOGIC;out1 : out STD_LOGIC);end COMPONENT;signal temp1:STD_LOGIC;beginU0:and3not PORT MAP(S1,S2,S3,temp1);U1:and4not PORT MAP(not A,not B,not C,temp1,y0); U2:and4not PORT MAP(A,not B,not C,temp1,y1);U3:and4not PORT MAP(not A,B,not C,temp1,y2);U4:and4not PORT MAP(A,B,not C,temp1,y3);U5:and4not PORT MAP(not A,not B,C,temp1,y4);U6:and4not PORT MAP(A,not B,C,temp1,y5);U7:and4not PORT MAP(not A,B,C,temp1,y6);U8:and4not PORT MAP(A,B,C,temp1,y7);end Behavioral;由于有5个输入量,因此输入共有32种情况,仿真程序如下: LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY decoderwb ISEND decoderwb;ARCHITECTURE behavior OF decoderwb IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT decoderPORT(A : IN std_logic;B : IN std_logic;C : IN std_logic;S1 : IN std_logic;S2 : IN std_logic;S3 : IN std_logic;Y0 : OUT std_logic;Y1 : OUT std_logic;Y2 : OUT std_logic;Y3 : OUT std_logic;Y4 : OUT std_logic;Y5 : OUT std_logic;Y6 : OUT std_logic;Y7 : OUT std_logic);END COMPONENT;--Inputssignal A : std_logic := '0';signal B : std_logic := '0';signal C : std_logic := '0';signal S1 : std_logic := '0';signal S2 : std_logic := '0';signal S3 : std_logic := '0';--Outputssignal Y0 : std_logic;signal Y1 : std_logic;signal Y2 : std_logic;signal Y3 : std_logic;signal Y4 : std_logic;signal Y5 : std_logic;signal Y6 : std_logic;signal Y7 : std_logic;-- No clocks detected in port list. Replace <clock> below with -- appropriate port nameBEGIN-- Instantiate the Unit Under Test (UUT)uut: decoder PORT MAP (A,B,C,S1,S2,S3,Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7);-- Stimulus processstim_proc: processbegin-- hold reset state for 100 ns.A<='0';B<='0';C<='0';S1<='0';S2<='0';S3<='0';wait for 100 ns;A<='0';B<='0';C<='0';S1<='0';S2<='0';S3<='1';wait for 100 ns;A<='0';B<='0';C<='0';S1<='0';S2<='1';S3<='0';wait for 100 ns;A<='0';B<='0';C<='0';S1<='0';S2<='1';S3<='1';A<='0';B<='0';C<='0';S1<='1';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='0';C<='0';S1<='1';S2<='0';S3<='1'; wait for 100 ns;A<='0';B<='0';C<='0';S1<='1';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='0';C<='0';S1<='1';S2<='1';S3<='1'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='0';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='0';S2<='0';S3<='1'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='0';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='0';S2<='1';S3<='1'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='1';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='1';S2<='0';S3<='1'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='1';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='0';C<='1';S1<='1';S2<='1';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='0';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='0';S2<='0';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='0';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='0';S2<='1';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='1';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='1';S2<='0';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='1';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='0';S1<='1';S2<='1';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='0';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='0';S2<='0';S3<='1';A<='0';B<='1';C<='1';S1<='0';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='0';S2<='1';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='1';S2<='0';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='1';S2<='0';S3<='1'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='1';S2<='1';S3<='0'; wait for 100 ns;A<='0';B<='1';C<='1';S1<='1';S2<='1';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='0';S2<='0';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='0';S2<='0';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='0';S2<='1';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='0';S2<='1';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='1';S2<='0';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='1';S2<='0';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='1';S2<='1';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='0';S1<='1';S2<='1';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='0';S2<='0';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='0';S2<='0';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='0';S2<='1';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='0';S2<='1';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='1';S2<='0';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='1';S2<='0';S3<='1'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='1';S2<='1';S3<='0'; wait for 100 ns;A<='1';B<='0';C<='1';S1<='1';S2<='1';S3<='1';A<='1';B<='1';C<='0';S1<='0';S2<='0';S3<='0';wait for 100 ns;A<='1';B<='1';C<='0';S1<='0';S2<='0';S3<='1';wait for 100 ns;A<='1';B<='1';C<='0';S1<='0';S2<='1';S3<='0';wait for 100 ns;A<='1';B<='1';C<='0';S1<='0';S2<='1';S3<='1';wait for 100 ns;A<='1';B<='1';C<='0';S1<='1';S2<='0';S3<='0';wait for 100 ns;A<='1';B<='1';C<='0';S1<='1';S2<='0';S3<='1';wait for 100 ns;A<='1';B<='1';C<='0';S1<='1';S2<='1';S3<='0';wait for 100 ns;A<='1';B<='1';C<='0';S1<='1';S2<='1';S3<='1';wait for 100 ns;A<='1';B<='1';C<='1';S1<='0';S2<='0';S3<='0';wait for 100 ns;A<='1';B<='1';C<='1';S1<='0';S2<='0';S3<='1';wait for 100 ns;A<='1';B<='1';C<='1';S1<='0';S2<='1';S3<='0';wait for 100 ns;A<='1';B<='1';C<='1';S1<='0';S2<='1';S3<='1';wait for 100 ns;A<='1';B<='1';C<='1';S1<='1';S2<='0';S3<='0';wait for 100 ns;A<='1';B<='1';C<='1';S1<='1';S2<='0';S3<='1';wait for 100 ns;A<='1';B<='1';C<='1';S1<='1';S2<='1';S3<='0';wait for 100 ns;A<='1';B<='1';C<='1';S1<='1';S2<='1';S3<='1';wait for 100 ns;-- insert stimulus hereend process;END;运行仿真程序,即得到如下的仿真结果:四.实验结果与分析此次实验没有要求上板,因此仿真结果就是最终的结果,可以看出这次实验还是很好完成了既定的任务。
实验三 3-8译码器的功能测试及仿真

实验三3-8译码器功能测试及仿真一、实验目的1、掌握中规模集成3-8译码器的逻辑功能和使用方法。
2、进一步掌握VHDL语言的设计。
二、预习要求复习有关译码器的原理。
三、实验仪器和设备1.数字电子技术实验台1台2.数字万用表1块3.导线若干4.MUX PLUSII软件5.74LS138集成块若干四、实验原理译码器是一个多输入、多输出的组合逻辑电路。
它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。
译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。
不同的功能可选用不同种类的译码器。
译码器分为通用译码器和显示译码器两大类。
前者又分为变量译码器和代码变换译码器。
1.变量译码器(又称二进制译码器)用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。
若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端供其使用。
而每一个输出所代表的函数对应于n个输入变量的最小项。
以3线-8线译码器74LS138为例进行分析,下图(a)、(b)分别为其逻辑图及引脚排列。
其中 A2、A1、A0为地址输入端,0Y~7Y为译码输出端,S1、2S、3S为使能端。
下表为74LS138功能表,当S1=1,2S+3S=0时,器件使能,地址码所指定的输出端有信号(为0)输出,其它所有输出端均无信号(全为1)输出。
当S1=0,2S+3S=X时,或 S1=X,2S+3S=1时,译码器被禁止,所有输出同时为1。
3-8线译码器74LS138逻辑图及引脚排列图74LS138功能表二进制译码器实际上也是负脉冲输出的脉冲分配器。
若利用使能端中的一个输入端输入数据信息,器件就成为一个数据分配器(又称多路分配器),如图3-2所示。
若在S1输入端输入数据信息,2S=3S=0,地址码所对应的输出是S1数据信息的反码;若从2S端输入数据信息,令S1=1、3S=0,地址码所对应的输出就是2S端数据信息的原码。
实验六 3线8线译码器及其应用

实验六 3线8线译码器及其应用一、实验目的1、掌握中规模集成电路译码器的工作原理及逻辑功2、学习译码器的灵活应用。
二、实验设备及器件1、实验箱(台) 1套2、数字万用表 1块3、74LS138 3-8线译码器 2片4、74LS20 二四输入与非门 1片三、实验内容与步骤74LS138管脚图见附录。
当控制输入端S1=1,时,译码器工作,否则译码器禁止,所有输出端均为高电平。
1、译码器逻辑功能测试(1)按图13-1接线。
根据表13-1,利用开关设置S1、、、及A2、A1、A0的状态,借助指示灯或万用表观测~的状态,记入表13-1中。
2、用两片74LS138组成4-16线译码器按图13-2接线,利用开关改变输入D0-D3的状态,借助指示灯或万用表监测输出端,记入表13-2中,写出各输出端的逻辑函数。
图13-2表13-2 输入输出D 3D2D1D0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 13、利用译码器组成全加器线路用74LS138和74LS20按图13-3接线,74LS20芯片14脚接 +5v,7脚接地。
利用开关改变输入A i、B i、C i-1的状态,借助指示灯或万用表观测输出S i、C i的状态,记入表13-3中,写出输出端的逻辑表达式。
图13-3表13-3 输入输出S 1AiBiCi-1SiCi0ΦΦΦ10001001101010111100110111101111四、实验要求:1、整理各步实验结果,列出相应实测真值表。
2、总结译码器的逻辑功能及灵活应用情况。
3、交出完整的实验报告。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《集成电路设计实践》报告题目:3-8译码器设计
院系:自动化学院电子工程系
专业班级:微电
学生学号:
学生姓名:
指导教师姓名:戴力职称:讲师
起止时间:2015.12.25-2016.01.08
成绩:
一、设计任务
1) 依据3-8译码器的真值表,给出3-8译码器的电路图,完成3-8译码器由电路图到晶体管级的转化(需提出至少2种方案);
2) 绘制原理图(Sedit),完成电路特性模拟(Tspice,瞬态特性),给出电路最大延时时间;
3) 遵循设计规则完成译码器晶体管级电路图的版图,流程如下:
4) 版图布局规划-基本单元绘制-功能块的绘制-布线规划-总体版图);
5) 版图检查与验证(DRC检查);
6) 针对自己画的版图,给出实现该电路的工艺流程图。
二、电路设计方案的确定
3-8译码器真值表
由三个输入端A,B,C和八个输出端Y0,Y1,Y2,Y3,Y4,Y5 ,Y6,Y7组成,输入输出用二进制表示。
从真值表可看出3-8译码器的八个输出管脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出管脚全为高电平1。
如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。
可通过使用三输入与非门及反相器实现功能,三输入与非门由三个pmos和三个nmos组成。
三、电路特性及其仿真
首先用S-Edit软件画出电路的模拟图,然后检查所画电路是否存在错误,将各个管子的尺寸标注出来,检查无误后点击T-Spice按钮将出现电路的网表图,然后给检测出的电路网表加上电源和输入信
号,经检查,确认添加无误后进行电路模拟仿真,即可得到电路模拟仿真图像。
网表如下:
仿真图如下:电路图如下:
结果:
据仿真结果和设计电路要求对比可以看出,所设计的电路满足设计需求,并且可以实现3-8译码器的功能,所以设计的电路是可以正常使用的。
四、版图的布局规划及基本单元设计
根据前面所画的电路模拟图,可以看出3-8译码器需要30个PMOS和30个NMOS,PMOS和NOMS一部分组成反向器,一部分组成多个逻辑门,制作版图时采用L-Edit软件,制作版图时应注意版图各层的相关设计规则及对尺寸的要求,在制作版图时需注意所有光刻孔的几何尺寸都必须大于或等于最小距离。
版图如下:
整个版图中一部分的反相器版图如下:
五、该电路实现工艺流程
n阱CMOS工艺流程:选择衬底---n阱光刻---有源区光刻---多晶硅光刻---n+区光刻----p+区光刻---光刻接触孔---金属化内连线---光刻钝化孔,便得到了反相器;然后,将nmos与pmos合理布局;最后,将pmos和coms按电路要求用金属连接起来,做钝化和封装处理;
六、总结
本次设计中,共使用了60个晶体管,其中一部分用于反相器,一部分用于逻辑门,课设中,应注意一些问题:
1、在S-edit中绘制原理图:更改每个MOS管的属性为NENH或PENH,以及管子的尺寸;
2、在T-Spice中进行原理图的仿真:在提取库文件时确保是正确的路径,并添加“tt”,仿真前输入正确的命令语句;
3、在L-Edit中绘制版图,注意各种规则,确保正确的绘制版图;
4、画版图和电路设计图时应严格按照要求电路来进行设计,应实现电路实际功能。
心得体会:在本次课设中,加深了对平时所学基础知识的理解,巩固平时所学的并进行运用,对于制作工艺流程有了更深的理解。
七、设计成果汇总
版图网表:
版图仿真:
版图网表与电路图网表的对比:
版图信息表格:。