38译码逻辑设计(图形法)
三八译码器解读
《集成电路设计实践》报告题目: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软件,制作版图时应注意版图各层的相关设计规则及对尺寸的要求,在制作版图时需注意所有光刻孔的几何尺寸都必须大于或等于最小距离。
组合逻辑3-8译码器
M :out std_logic_vector(3 downto 0));——加入4位功能选择位);
END decoder_3_8;
ARCHITECTURErtfOFdecoder_3_8IS
signal input:STD_LOGIC_VECTOR(2 downto 0);
选择下载文件,点击“Start”开始下载,并可以看到下载进度
三、实验接线及说明
A、B、C、G1、G2AN、G2BN分别对应实验箱底板SW1-SW6
Y0N—Y7N分别对应实验箱底板IO9—IO16
实验接线:用导线将IO9—IO16与8位LED L1—L8相连,LED为高电平点亮
控制拨码开关SW1—SW6,观察L1—L8显示状态是否与预期输出结果一置。
图1 74LS138译码器逻辑图
表1 74LS138译码器的真值表
G1
G2A
G2B
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
X
1
X
XXΒιβλιοθήκη X111
1
1
1
1
1
X
X
1
X
X
X
1
1
1
1
1
1
1
1
0
X
X
X
X
X
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
38译码器实现逻辑电路ppt课件
0
X XXX1 1 1 1 1 1 1 1
X
1 XXX1 1 1 1 1 1 1 1
1
0 00011111110
1
0 00111111101
1
0 01011111011
1
0 01111110111
1
0 10011101111
1
0 10111011111
1
0 11010111111
1
0 11101111111
Z1 AC' A'BCAB'C m(3,4,5,6) Z1 m(3,4,5,6) (m3'm4' m5' m6' )'
Z2 BCA'B'C m(1,3,7)
Z2 m(1,3,7) (m1'm3'm7' )'
Z3 A'BAB'C m(2,3,5)
Z3 m(2,3,5) (m2' m3'm5' )'
利用附加控制端进行扩展 例: 用74HC138(3线—8线译码器)
4线—16线译码器
D3=0
Zi' mi'
D3=1
二、二—十进制译码器
将输入BCD码的10个代码译成10个高、低电平的输出信号 BCD码以外的伪码,输出均无低电平信号产生
例:74HC42
Yi'mi' (i0~9)
三、用译码器设计组合逻辑电路
用二极管与门阵 列组成的3线-8 线译码器
逻辑表达式:
用电路进行实现
集成译码器实例:74HC138
附加 控制端
SS3S2S1
Yi' (S mi)'
EDA设计38译码器
班级:通信13-3班姓名:王亚飞学号:1306030318 指导教师:成绩:电子与信息工程学院信息与通信工程系摘要EDA技术是以微电子技术为物理层面,现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC为目的的一门新兴技术。
而VHDL语言是硬件描述语言之一,其广泛应用性和结构的完整性使其成为硬件描述语言的代表。
随着社会经济和科技的发展,越来越多的电子产品涌如我们的日常生活当中,在日常生活中译码器起着不可忽视的作用。
本设计就是运用VHDL语言设计的3-8译码器。
3-8译码器电路的输入变量有三个即D0,D1,D2,输出变量有八个Y0-Y7,对输入变量D0,D1,D2译码,就能确定输出端Y0-Y7的输出端变为有效(低电平),从而达到译码目的。
关键词:EDA;3-8译码器1实验目的1、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、初步掌握VHDL语言的常用语句。
3、掌握VHDL语言的基本语句及文本输入的EDA设计方法。
2实验背景2.1 VHDL的简介VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为A I/IEEE的标准(IEEE STD 1076-1987)。
1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。
目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。
VHDL的英文全写是:VHSIC (Very High eed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。
因此它的应用主要是应用在数字电路的设计中。
38译码器实现逻辑电路
Z 2 BC A' B 'C Z 3 A' B AB 'C Z 4 A' BC ' B 'C ' ABC
' ' ' ' ' Z1 AC ' A' BC AB 'C m(3,4,5,6) Z1 m (3,4,5,6) ( m3 m4 m5 m6 )
附加 控制端
S S3 S2 S1
低电平 输出
Yi' ( S mi )'
74HC138的功能表:
输 入
《数字电子技术基础》第五版
输
出
S1
0 X 1 1 1 1 1 1 1 1
' ' A2 A1 A0 Y ' Y ' Y ' Y ' Y ' Y ' Y ' Y ' S2 S3 7 6 5 4 3 2 1 0
1 1 1 1 1 0 1 1 1 1
1 1 1 1 0 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1
《数字电子技术基础》第五版
• 利用附加控制端进行扩展 例: 用74HC138(3线—8线译码器)
4线—16线译码器
《数字电子技术基础》第五版
D3=0
1. 基本原理 3位二进制译码器给出3变量的全部最小项; 。。。 n位二进制译码器给出n变量的全部最小项; 任意函数 将n位二进制译码输出的最小项组合起来,可获 得任何形式的输入变量不大于n的组合函数
Y ∑ mi
《数字电子技术基础》第五版
2. 举例
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译码器的设计
2)确定仿真时间,End Time 为“1”的整数倍。 注意:如果在添加激励信号的时未设置结束时间 的话,此时在仿真窗口中就不能修改End Time 参数。在该例程中,我们使用的是默认时间,单 击Start 开始仿真,如有出错报告,请查找原因, 一般是激励信号添加有误。本电路仿真结果报告 中无错误、无警告,如下图所示。
二、项目的编译与适配
1)选择芯片型号:选择当前项目文件欲设计实 现的实际芯片进行编译适配, 点击Assign\Device 菜单选择芯片
2)编译适配 启动MAX+plus II \ Compiler 编译器菜单,按 Start 开始编译,并显示编译结果,生成下载文 件。生成 .sof 文件,以备硬件下载编程时调用。 同时生成 .rpt 报告文件、.sym 符号文件等,可 详细查看编译结果。如有错误待修改后再进行编 译适配,如下图所示。注意,此时在主菜单栏里 的 Processing 菜单下有许多编译时的设置选项, 视实际情况选择设置。
10)保存激励信号编辑结果:使用File\Save 或 关闭当前波形编辑窗口时均出现下图对话筐,注 意此时的文件名称不要随意改动,单击OK 按钮 保存激励信号波形,自动存盘为test1.scf。
说明:以上编辑的激励信号都比较有规律,如仿 真需要,我们还可对上述周期信号进行再次编辑, 将鼠标置于欲编辑的波形处按住鼠标左键往右拖 选中将再次编辑的波形,如下图所示;
8)根据电路要求编辑另外两路输入端口的激励信 号波形,在本实验中,3-8译码器的A、B、C 三路信号的周期分别为1、2、4倍关系,其译 码输出顺序就符合我们的观察习惯。按上述方法 为B、C 两路端口添加波形后再单击左边全屏显 示图标“”,三路激励信号的编辑结果为下图所 示。
38译码器
实验五 译码器、数据选择器及其应用一、实验目的1.掌握中规模集成译码器、数据选择器的逻辑功能和使用方法。
2.了解译码器的应用。
3.学习用数据选择器构成组合逻辑电路的方法。
二、实验原理1.译码器是将输入的具有特定含义的二进制代码翻译成输出信号的不同组合,实现电路控制功能的逻辑电路。
译码器在数字系统中应用广泛,可用于代码的转换、终端数字的显示、数据的分配等等。
译码器可分为变量译码器和显示译码器。
74LS138是目前常用的三线——八线译码器(变量译码器),它有三根输入线,可以输入三位二进制数码,共有八种状态组合,即可译出8个输出信号。
管脚图如图1所示。
该集成芯片共有16个引脚,其中8脚应接地线,16脚接+5V 电源,脚0A 、1A 、2A 为二进制编码输入端(2A 为高位,0A 为低位);0Y ~7Y 为译码输出端(7Y 为高位,0Y 为低位),1E 、A E 2、B E 2为信号输入允许端,也称使能端。
A E 2、B E 2为低电平有效(图中用管脚处的圆圈来表示低电平有效),1E 为高电平有效。
只有信号输入允许端有效时输入的信号才有效,才可能实现译码。
74LS138的功能见表一。
图1 74LS138管脚和符号图表一 74LS138的逻辑功能2.74LS138可用作函数信号发生器,如图2所示,实现的逻辑函数是ABC C B A C B A C B A Z +++= 图23.数据选择器又叫“多路开关”。
数据选择器在选择控制电位的控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。
数据选择器的功能类似一个多掷开关,,如图3所示,图中有四路数据0D ~3D ,通过选择从控制信号1A 、0A 从四路数据中选中某一路数据送至输出端W 。
数据选择器为目前逻辑设计中应用十分广泛的逻辑部件,它有2选1、4选1、8选1、16选1等类别。
8选1数据选择器74LS151:74LS151引脚排列如图3,功能如表二。
实验一 3-8译码器的设计
1 2 3
ห้องสมุดไป่ตู้任务分析: 任务分析:电路工作原理
知识准备:基于PLD的电路设计流程 知识准备:基于PLD的电路设计流程 PLD
任务实施: 任务实施:图形输入法实施步骤
1
一、任务分析:三八译码器工作原理 任务分析: 译码是编码的逆过程, 译码是编码的逆过程,它的功能是将具有特 定含义的二进制码进行辨别,并转换成控制信号, 定含义的二进制码进行辨别,并转换成控制信号, 具有译码功能的逻辑电路称为译码器。 具有译码功能的逻辑电路称为译码器。 三八译码器属于二进制译码器,即它具有N 三八译码器属于二进制译码器,即它具有N 个输入端, 个输出端和一个使能输入端。 个输入端,2n个输出端和一个使能输入端。在使 能输入端为有效电平时,对应每一组输入代码, 能输入端为有效电平时,对应每一组输入代码, 只有其中一个输出端为有效电平, 只有其中一个输出端为有效电平,其余输出端则 为非有效电平。下图为三八译码器的真值表。 为非有效电平。下图为三八译码器的真值表。
6
3、仿真:仿真包括功能仿真、时序仿真和定时分析, 、仿真:仿真包括功能仿真、时序仿真和定时分析, 可以利用软件的仿真功能来验证设计项目的逻辑功能 是否正确。 是否正确。
4、编程与验证:用经过仿真确认后的编程文件通过编 、编程与验证: 程器( 程器(Programmer)将设计下载到实际芯片中,最 )将设计下载到实际芯片中, 后测试芯片在系统中的实际运行性能。 后测试芯片在系统中的实际运行性能。
4、设计输入 1)放置器件在原理图上 在原理图的空白处双击鼠标左键,出现下图: a、在原理图的空白处双击鼠标左键,出现下图:
b、在光标处输入元件名称(如:input, input, 在光标处输入元件名称( output,and2,and3,nand2,or2,not,xor, output,and2,and3,nand2,or2,not,xor, dff等 或用鼠标点击库元件,按下OK即可。 OK即可 dff等)或用鼠标点击库元件,按下OK即可。 如果安放相同的元件,只要按住Ctrl Ctrl键 c、如果安放相同的元件,只要按住Ctrl键, 同时用鼠标按左键拖动该元件复制即可。 同时用鼠标按左键拖动该元件复制即可。 一个完整的电路包括:输入端口input input、 d、一个完整的电路包括:输入端口input、 电路元件集合、输出端口output。 电路元件集合、输出端口output output。 e、下图为3-8译码器元件安放结果。 下图为3 译码器元件安放结果。
三八译码器的结构、原理与设计_毕业论文
题目:三八译码器的结构、原理与设计学院:物理学院专业:电子科学与技术姓名:董少雨指导教师:赵宏亮完成日期:2014年5月20日毕业论文任务书毕业论文题目:三八译码器的结构、原理与设计选题意义、创新性、科学性和可行性论证:如今全球信息化的步伐正在不断加快,数字信号的产生、变换等方面应用的更加广泛。
三八译码器在信号处理方面起着十分重要的作用。
本文主要阐述三八译码器的基本结构和工作原理,并通过对时序逻辑电路设计方法的研究,完成三八译码器的设计。
主要内容:译码器的种类与特点,三八译码器的结构和工作原理,最后完成了三八译码器的设计。
目的要求:1、熟悉三八译码器的发展背景和趋势。
2、掌握各类译码器的工作性能。
3、了解三八译码器的基本结构和工作原理。
4、学会时序逻辑电路的设计方法。
计划进度:2013年12月21日~2014年2月25日,确定毕业论文选题,并搜集资料,查阅相关文献;2014年2月26日~4月10日,写出论文总体大纲,运用软件得到仿真数据;2014年4月11日~4月25日,论文撰写;提交初稿;2014年4月26日~5月19日,修改论文,论文定稿,准备答辩。
指导教师签字:主管院长(系主任)签字:2013年12 月25 日辽宁大学本科毕业论文(设计)指导记录表论文题目三八译码器的结构、原理与设计学生姓名董少雨学号101002103 年级、专业10级电子科学与技术指导教师姓名赵宏亮指导教师职称讲师所在院系物理学院第一次指导(对确定题目、毕业论文(设计)任务书的指导意见):由于以前对三八译码器有所了解,《三八译码器的结构、原理与设计》题目符合毕业论文设计的要求。
研究三八译码器可以加强对数字集成电路的了解,毕业论文进度安排合理,接下来按照进度写出论文总体大纲。
指导方式:(请选择)面谈√电话电子邮件指导教师签字:2013年12月24日第二次指导(对论文提纲的指导意见):查阅相关资料,进一步地掌握三八译码器的基本结构和工作原理,三八译码器的设计方法十分合理,要熟悉掌握相关软件的使用并从中得到相关数据。
EDA实验一38译码器设计
《电子设计自动化》实验报告实验一实验名称:3-8译码器的设计专业及班级:姓名:学号:一、实验目的:1.掌握组合逻辑电路的设计方法。
2.掌握 VHDL 语言的基本构造及设计的输入方法。
3.掌握 VHDL 语言的基本描绘语句的使用方法。
二、实验步骤(附源代码及仿真结果图):1.成立工程, Quartus II -- project wizard (注意工程目录中不可以出现中文字符,不可以成立在桌面上);弹出窗口如图 2-3 所示。
图 2-3 New Project Wizard 窗口2.点击next,在出现的对话框中输入以下项目信息:a.项目路径,如: D:\EDA experiment\decoder38; b.项目名称,如: decoder38。
如图 2-4 所示:图 2-4 项目路径和项目名称对话框3.点击 2 次 next 后,出现如图 2-5 所示的对话框:a.Device family 中选择 Cyclone IV E;b.Available devices 中选择 EP4CE115F29C7.图 2-5器件选择窗口4.点击next后,出现EDA工具设置对话框。
在Simulation一行中, Tool Name 选择ModelSim-Altera , Fomat(s)选择 VHDL ,如图 2-6 所示。
图 2-6 EDA 工具设置对话框5.点击 next,出现如图 2-7 所示的对话框:图 2-7 新建项目汇总对话框6. 点击 Finish 后,出现如图2-8 所示的界面:图 2-8 decoder38 项目界面7.点击 File->New->VHDL File ,如图 2-9 所示。
点击 ok 封闭对话框。
图 2-9 新建 VHDL 文件窗口8.在文本编写框内键入以下程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder38 ISPORT(A, B,C,G1,G2A,G2B: IN STD_LOGIC;Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END decoder38;ARCHITECTURE Behavior OF decoder38 ISSIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINindata <= C&B&A;PROCESS (indata, G1, G2A,G2B)BEGINIF (G1='1' AND G2A='0' AND G2B='0') THENCASE indata ISWHEN "000"=>Y<="11111110";WHEN "001"=>Y<="11111101";WHEN "010"=>Y<="11111011";WHEN "011"=>Y<="11110111";WHEN "100"=>Y<="11101111";WHEN "101"=>Y<="11011111";WHEN "110"=>Y<="10111111";WHEN "111"=>Y<="01111111";WHEN OTHERS =>Y<="XXXXXXXX";END CASE;ELSEY<="11111111";END IF;END PROCESS;END Behavior;9. 将文件保留为decoder38.vhd 后,开始编译,点击Processing->Start Compilation ,编译成功后,出现如图2-10 所示界面:图 2-10 编译成功界面10.再次新建一个 vhdl 文件,键入以下的 modelsim 测试程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder38_tb ISEND decoder38_tb;ARCHITECTURE Behavior OF decoder38_tb ISCOMPONENT decoder38PORT (A,B,C,G1,G2A,G2B: IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT;SIGNAL A: STD_LOGIC:='0';SIGNAL B : STD_LOGIC:='0';SIGNAL C: STD_LOGIC:='0';SIGNAL G1: STD_LOGIC:='1';SIGNAL G2A: STD_LOGIC:='0';SIGNAL G2B: STD_LOGIC:='0';SIGNAL Y: STD_LOGIC_VECTOR(7 DOWNTO 0);CONSTANT CLK_PERIOD: TIME:=10ns;BEGINA<=not A after CLK_PERIOD;B<=not B after 20ns;C<=not C after 40ns;U1: decoder38 port map(A=>A,B=>B,C=>C,G1=>G1,G2A=>G2A,G2B=>G2B,Y=>Y);END behavior;11.将文件保留为 decoder38_tb.vhd ,编译经过。
方案一38译码器
译码器和编码器译码器(Decoder)和编码器(Encoder)是数字系统中广泛使用的多输入多输出组合逻辑部件。
一. 译码器译码器的功能是对具有特定含义的输入代码进行"翻译",将其转换成相应的输出信号。
译码器的种类很多,常见的有二进制译码器、二-十进制译码器和数字显示译码器。
1.二进制译码器(1) 定义二进制译码器:能将n个输入变量变换成2n个输出函数,且输出函数与输入变量构成的最小项具有对应关系的一种多输出组合逻辑电路。
(2) 特点●二进制译码器一般具有n个输入端、2n个输出端和一个(或多个)使能输入端。
●在使能输入端为有效电平时,对应每一组输入代码,仅一个输出端为有效电平,其余输出端为无效电平(与有效电平相反)。
●有效电平可以是高电平(称为高电平译码),也可以是低电平(称为低电平译码)。
(3) 典型芯片常见的MSI二进制译码器有2-4线(2输入4输出)译码器、3-8线(3输入8输出)译码器和4-16线(4输入16输出)译码器等。
图7.7(a)、(b)所示分别是T4138型3-8线译码器的管脚排列图和逻辑符号。
图7.7 T4138译码器的管脚排列图和逻辑符图中, A2、A1、A0 ------ 输入端;Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7------- 输出端;S1,S2,S3 -------- 使能端,作用是禁止或选通译码器。
该译码器真值表如表7.1所示。
表7.1 T4138译码器真值表输入S1 S2+S3 A2 A1 A0输出Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y71 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 11 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 11 0 1 1 0 1 0 1 1 10 d d d dd 1 d d d 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1由真值表可知,当s1=1,s2+s3=0 时,无论A2、A1和A0取何值,输出Y0、…、Y7中有且仅有一个为0(低电平有效),其余都是1。
用原理图法设计一个3-8译码器组合电路
用原理图法设计一个3-8译码器组合电路用原理图法设计一个3,8译码器组合电路一、实验目的1.通过一个简单的3,8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2.掌握组合逻辑电路的静态测试方法。
3.初步了解可编程器件设计的全过程。
二、实验器材1.台式计算机 1台。
2.可编程逻辑逻辑器件实验软件1套。
3.下载电缆一套。
4.示波器一台。
三、实验说明(台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载1 的平台,供用户使用。
2(可编程逻辑逻辑器件实验软件向原理图的设计提供平台,并将调试好的原理图下载到可编程逻辑逻辑器件中。
3(下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。
4(示波器用于观察可编程逻辑器件执行程序时输出信号的变化。
四、实验原理说明3线-8线译码器具有将一组三位二进制代码翻译为相对应的输出信号的电路特点。
输出信号D7,D0的表达式功能表输入输出C B A D7 D6 D5 D4 D3 D2 D1 D0Y 0 0 0 0 0 0 0 0 0 0 1 0Y 0 0 1 0 0 0 0 0 0 1 0 1Y 0 1 0 0 0 0 0 0 1 0 0 2Y 0 1 1 0 0 0 0 1 0 0 0 3Y 1 0 0 0 0 0 1 0 0 0 0 4Y 1 0 1 0 0 1 0 0 0 0 0 5Y 1 1 0 0 1 0 0 0 0 0 0 6Y 1 1 1 1 0 0 0 0 0 0 0 7五、实验内容和步骤、建立工程 1(1)软件的启动:打开 Quartus II软件,如图1-1所示。
图1-1(2)启动File菜单,点击New Project Wizard,如下图1-2所示。
图1-2(3)进入向导,选择Next,如图1-3所示。
图1-3(4)设置保存路径,以及项目名称,项目名称为decode3_8,如图1-4所示。
38译码器的设计实验报告
EDA实验报告书姓名XXX学号xxxxxxxﻩ实验时间1根据74138的功能,当S0=1 ,S仁0, S2=0时译码器处于工作状态。
否则译码设器被禁止,所有输出端被封锁在高电平。
由真值表画出卡诺图,再写出对应表达计式,再画出电路。
思冒2、使用VHDL语言时,应注意头文件以及各种输入的格式,使用IF语句,CASE语句设计电路,最后再用END语句结束程序。
USEIEEE.STD LOGIC 1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SA ISPORT(D:IN STD_LOGIC_VECTOR(2DOWNTO 0); S0,S1,S2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7DOWNTO 0));END ;ARCHITECTURE XIANI OF SA ISBEGINPROCESS。
,SO,S1,S2)BEGINIF (SO如THEN Yv="11111111";ELSIF(SO="AND S1 =。
AND S2=,0,)THENIF (D(2)='O* AND D(1 )=0 AND D(0)=O)THEN Yv=”01111111”;ELSIF (D(2)=V ANDD(1)=0' AND D(0)=1 *)THEN Yv=”10111111H;ELSIF (D(2)=,0,AND D(1 )=1* AND D(O)=O,)THENYv=”11011111“;ELSIF (D(2)=V AND D(1)='1*AND D(0)='1')THEN Yv=”11101111”;ELSIF (D(2)=*1 *AND D(1 )=0' AND D(O)=O,)THEN Yv=”11110111“;ELSIF (D(2)=T AND D(1)=0' AND D(0)=1*)THEN Yv=”11111011”;ELSIF (D(2)=,1,AND D(1)=1* AND D(0)=0,)THENYv="11111101”; ELSIF (D(2)=T ANDD(1 )=T AND D(0)=T)THEN Y<=H11111110”;ELSE Y<= ZZZZZZZZ ;END IF;ELSE Y<="ZZZZZZZZ:END IF;END PROCESS;END;l¥T77T仿直/、波•■MB血潮偷珈血先WBGC^>OIB i LfflOOngi11910ﻩ930抽MO T IB MD^1蚁加耳e阮削饥;斯rs2 aa1Hi i 1 12T r r(1s2 f 1). $ K5KT;-I 、I3 WDF KTFVBf H CFilEFfFT/ra K fD ] \FE2潢【DF'EFK FT1 RA(FO K FEK?F K KDDelayMatrixDelay MatrixYO Y1 Y2¥3丫4Y6Y7 DID 5.0rts5L0hs 5.0m 5. Ohs 5.003 5.0ns 5.0ns 5.0hsD1 S.Ont5LDH& 5.0FB5.0nt 5.0<K5. Ohs 5.0ns5i0m D2 S.Om 5 0ht&0nEOit E.Qrd 5iOhf 5.Cktt 5i0mSO BOhMJSns 5?0n5/U6n5 B&is/Utni 5,0n?/13&i¥50nA nl6ni-5()n¥/136n? £0h5/i36n? 5Qn¥/13&1?515.0n&/13.6nE 5.0ns/13.&w &Ois/13.6ns 5.0ns/l3.6ns5.0hs/H3.6rft5.0n?/13 6ri?5.0h&/13.6ns5.0>?/13.5n&S25-Ons.d3.6ns&Dhs/13l6ns5.0ns/13.6n$5.0h&/13.6rw 5.Qns/13?Ens 5.0h&/13.6rB5.0ns/13lEns美捡结果DesinfllimabDsis&Orw7iS.Ohs 50ns- S.ftis5唏S.Ohs 50ns- 弓加50ns* 6.0ns伽S.Ohg5i Ohs 5心g 5.0ns5.0ns5i0r»S.OhE&0h$ 5.0ns50hs E.Qn? &0rw 5.0ns5&w50ht5.0m5.0ns5%&0m自阮SiOnaﻫ5.0ns5.QngﻫS.Oki?5Ohs伽5.0ns5.0nHOn盘5.0ns5.0ns5.QHttub• limp12naMrai|.2Pnaft#im比较此实验中两种输入法哪种要好一些,好在哪里?答:使用与非门设计电路对应延时比使用程序对应延时时间短,原因是程序的每步执行都需要一定的时间,其时间比调用库中的与非门所需时间长。
初识EDA--3三八译码器(上)
双击OK按钮,完成设置,回到图5-25所示的Insert Node or Bus对话框,双击OK按钮,所有的输入、输出端口将会在端口名 列表区内显示出来,如图5-27所示。
5-27 在波形编辑器中加入端口
4)编辑输入端口波形,即指定输入端口的逻辑电平变化,在如图
5-11 保存设计文件对话框
3、对设计文件进行编译 QUARTUSII编译器窗口包含了对设计文件处理的全过程。在
QUARTUSII软件中选择Tool>Compiler Tool菜单项,则出现 QUARTUSII的编译器窗口,如图5-12所示,图中标明了全编译过 程各个模块的功能。
5-12 QUARTUSII编译器窗口
实验步骤
下面将通过这个实验,向读者介绍QUARTUSII的项目文件的生 成、编译、管脚分配以及时序仿真等的操作过程。
1、建立工程文件
1)选择开始>程序>Altera>QuartusII5.1,运行QUARTUSII软 件。或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件, 出现如图5-1所示,如果是第一次打开QUARTUSII软件可能会有 其它的提示信息,使用者可以根据自己的实际情况进行设定后进入 图5-1所示界面。
5-13 全编译成功界面
4、对设计文件进行仿真
1)创建一个仿真波形文件,选择QUARTUSII软件File>New,进行新建文件 对话框。如图5-23所示。选取对话框的Other File标签页,从中选取Vector Waveform File,点击OK按钮,则打开了一个空的波形编辑器窗口,如图5-24 所示,并对该文件进行保存,保存方式参见图5-11。
5-9 Symbol对话框
38译码器实现逻辑电路ppt课件
Z4 A'BC' B'C' ABC m(0,2,4,7)Z4 m(0,2,4,7) (m0' m2' m4' m7' )'
例:写出由74HC138和门电路组成的组合逻辑电路的表达式。
Y2
Y1
Y1Y0Y2Y4Y6 m0 m2m4 m6
m0m2m4m6 CBACBACBA CBA
Y2
Y1
Y2Y1Y3Y5Y7 m1m3m5 m7
1. 基本原理 3位二进制译码器给出3变量的全部最小项; 。。。 n位二进制译码器给出n变量的全部最小项;
任意函数 将n位二进制译码输出的最小项组合起来,可获 得任何形式的输入变量不大于n的组合函数
Y ∑m i
2. 举例
例:利用74HC138设计一个多输出的组合逻辑电路,输出 逻辑函数式为:
Z1 AC ' A'BC AB'C Z2 BC A'B'C Z3 A'B AB'C Z4 A'BC ' B'C ' ABC
Z1 AC' A'BCAB'C m(3,4,5,6) Z1 m(3,4,5,6) (m3'm4' m5' m6' )'
Z2 BCA'B'C m(1,3,7)
Z2 m(1,3,7) (m1'm3'm7' )'
Z3 A'BAB'C m(2,3,5)
Z3 m(2,3,5) (m2' m3'm5' )'
m1m3m5m7 CBACBA CBACBA
38译码逻辑设计(图形法)
实验一 3—8译码逻辑设计(图形法)姓名:赵佳伟学号:1002100449一、实验目的l、学习并掌握MAX+PLUSⅡ10.0 Altera CPLD软件开发平台。
2、通过一个简单的3—8译码器的设计,掌握图形编程的使用方法。
3、掌握组合逻辑电路的静态测试方法。
二、实验步骤(1)进入windows操作系统,打开MAX+PLUSⅡ10.0。
1、启动File/Project Name菜单,输入设计项目的名字。
点Assign/Device菜单,选择器件(本设计全选用EPM7128) 。
见图2.1.1。
2、启动菜单File/New,选择Graphic Editor File,打开原理图编辑器,进行原理图设计输入。
图2.1.1(2)设计的输入1、编辑环境下放置一个器件①在原理图的空白处双击鼠标左键,出现图2.1.2。
②在光标处输入组件名称或用鼠标点取组件,OK即可。
③如果安放相同组件,只要按住Ctrl键,同时用鼠标拖动该组件④图2.1.3为组件安放结果.图2.1.2图2.1.32、在器件的管脚上添加连线在元件引脚附近,鼠标光标自动由箭头变为十字。
按住鼠标左键拖动,即可画出连线如图2.1.4。
图2.1.43、保存原理图单击保存按钮,对于第一次输入的新原理图,出现类似文件管理器的图框,选择合适的目录和名称保存刚才输入的原理图 2.1.4,原理图的扩展名.GDF,本实验中取名为:EDA.GDF。
(3)原理图编译启动MAX+PLUS II\COMPILER菜单,按START开始编译,生成.SOF和.POF等文件,以便硬件下载和编程时调用,同时生成.RPT文件,如图2.1.5。
图2.1.5(4)仿真1、创建波形文件:①首先,将设计指定为当前项目。
②创建一个波形文件。
选择菜单MAX+PLUSⅡ\Waveform Editor,打开仿真工具Waveform Editor,或选择新建一个Waveform Editor文件,将创建一个新的无标题波形文件,如图2.1.6所示:图2.1.6③储存波形文件。
38译码器实现组合逻辑电路
院系电子信息工程学院班级姓名学号实验名称38译码器实现组合逻辑电路实验日期一、实验目的1.掌握常用集成组合电路的应用;2.掌握译码器的工作原理和特点;3.熟悉集成门电路、译码器的逻辑功能和管脚排列。
二、实验器件1.数字电路实验箱2.集成电路:74LS00、74LS138三、实验原理译码器所谓译码,就是把代码的特定含义“翻译”出来的过程,而实现译码操作的电路称为译码器。
译码器可分为三类:变量译码器、码制变换译码器和显示译码器。
变量译码器又称二进制译码器,用以表示输入变量的状态。
对应于输入的每一组二进制代码,译码器都有确定的一条输出线有信号输出。
若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端。
而每一个输出所代表的函数对应于n 个输入变量的最小项。
74LS138为3/8译码器,管脚图如图所示:其中:A2、A1、A0为地址输入端Y0-Y7 为输出端,低电平有效STA、STB、STC 为选通端74LS138功能表如表3-2所示,当STA=1,STB+STC=0时,执行正常的译码操作,地址码所指定的输出端有信号输出(低电平0),其它所有输出端均无信号输出(全为1)。
当STA=0,STB+STC=1,或STA=,STB+STC=1时,译码器被禁止,所以输出同时为1。
指导教师签名院系电子信息工程学院班级姓名学号实验名称38译码器实现组合逻辑电路实验日期三、设计电路,实现四、(1)逻辑电路图(2)原理图指导教师签名院系电子信息工程学院班级姓名学号实验名称38译码器实现组合逻辑电路实验日期(3)实物连接图五、电路功能验证ABC为0,Y为1 A为1,BC为0,Y为0 AB为0,B为1,Y为0指导教师签名院系电子信息工程学院班级姓名学号实验名称38译码器实现组合逻辑电路实验日期AB为0,C为1,Y为0 A为0,BC为1,Y为0 ABC为1,B为1AB为1,C为0,Y为1 AC为1,B为0,Y为0指导教师签名。
实验二三八译码器设计
电子信息工程学系实验报告课程名称:EDA技术与实验实验项目名称:三八译码器设计实验时间:2012.9 班级:通信姓名:学号: 010705实验目的:1.熟悉ALTERA公司EDA设计工具软件max+plusⅡ。
2.掌握max+plusⅡ文本设计及其仿真。
实验内容:1)学习max+plusⅡ课件。
2)学习max+plusⅡ的安装,重要菜单命令含义。
3)模仿课件中实例动手操作一遍,掌握采用max+plusⅡ软件设计流程。
实验步骤:1)在教师的指导下,学习软件课件。
2)有教师演示max+plusⅡ软件的安装,介绍菜单命令功能。
3)参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程。
4)按照下面三八译码器原理图,进行原理图设计及仿真。
实验结果及分析:1.工作原理3-8译码器的输入是3个脚,输出是8个脚。
用高低电平来表示输入和输出。
输入是二进制。
3只脚也就是3位二进制数。
输入可以3位二进制数。
3位二进制最大是111 也就是8。
输出是8个脚,表示10进制。
是根据输入的二进制数来输出。
如果输入是101 那么就是第5只脚高电平,表示二进制数是5。
其实3-8译码器的功能就是把输入的3位2进制数翻译成10进制的输出。
2.文本设计1)新建文本:选择菜单File下的New,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。
2)在文本编辑窗口,输入Verilog语言,代码如下:3)将文件命名为“ym38”保存v文件。
4)打开编译器窗口:在MAX—plusⅡ菜单内选择Compiler 项,即出现编译器窗口。
选择Start即可开始编译,MAX+PLUS II编译器将检查项目是否有错。
5)建立波形编辑文件:在MAX—plusⅡ菜单内选择Waveform Editor File 项。
6)仿真节点插入:选择菜单Node下的Enter Nodes from SNF选项,出现如图2.5所示的选择信号结点对话框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 3—8译码逻辑设计(图形法)
姓名:赵佳伟学号:1002100449
一、实验目的
l、学习并掌握MAX+PLUSⅡ10.0 Altera CPLD软件开发平台。
2、通过一个简单的3—8译码器的设计,掌握图形编程的使用方法。
3、掌握组合逻辑电路的静态测试方法。
二、实验步骤
(1)进入windows操作系统,打开MAX+PLUSⅡ10.0。
1、启动File/Project Name菜单,输入设计项目的名字。
点Assign/Device菜单,选择器件(本设计全选用EPM7128) 。
见图2.1.1。
2、启动菜单File/New,选择Graphic Editor File,打开原理图编辑器,进行原理图设计输入。
图2.1.1
(2)设计的输入
1、编辑环境下放置一个器件
①在原理图的空白处双击鼠标左键,出现图2.1.2。
②在光标处输入组件名称或用鼠标点取组件,OK即可。
③如果安放相同组件,只要按住Ctrl键,同时用鼠标拖动该组件
④图2.1.3为组件安放结果.
图2.1.2
图2.1.3
2、在器件的管脚上添加连线
在元件引脚附近,鼠标光标自动由箭头变为十字。
按住鼠标左键拖动,即可画出连线如图2.1.4。
图2.1.4
3、保存原理图
单击保存按钮,对于第一次输入的新原理图,出现类似文件管理器的图框,选择合适的目录和名称保存刚才输入的原理图 2.1.4,原理图的扩展名.GDF,本实验中取名为:EDA.GDF。
(3)原理图编译
启动MAX+PLUS II\COMPILER菜单,按START开始编译,生成.SOF和.POF等文件,以便硬件下载和编程时调用,同时生成.RPT文件,如图2.1.5。
图2.1.5
(4)仿真
1、创建波形文件:
①首先,将设计指定为当前项目。
②创建一个波形文件。
选择菜单MAX+PLUSⅡ\Waveform Editor,打开仿真工具Waveform Editor,或选择新建一个Waveform Editor文件,将创建一个新的无标题波形文件,如图2.1.6所示:
图2.1.6
③储存波形文件。
选择File\Save As,在File Name框中,输入相应文件名,单击OK 按钮存盘。
④设定时间轴网格大小。
选择菜单Option\Grid Size,输入时间间隔(20ns),单击OK 按钮。
⑤设定时间轴长度。
选择菜单File\End Time并输入文件的结束时间(1s )。
2、选择欲仿真的引线端子:
①选择菜单Node\Enter Nodes Nodes from SNF出现如图2.1.7所示对话框。
也可在窗口空白处右击鼠标,在快捷菜单中,同样选择Enter Nodes Nodes from SNF。
②在Type框中选中Inputs和Outputs选项,然后单击List按钮。
③在A vailable Nodes﹠Groups列表中将出现所有的节点,选择全部节点,用右移键将它们移到右边的Selected Nodes﹠Groups列表中。
这时出现如图2.1.8所示结果。
④单击OK按钮完成。
图2.1.7
图2.1.8
3、编辑输入节点的仿真波形:
将输入节点的某段用鼠标选中(变黑)后,单击左边工具栏的有关按钮,进行设置,实现依次仿真出ABC=000~111即0到7(对应D0~D7)的波形曲线。
编辑完成后如图2.1.9所示。
图2.1.9
4、仿真:
保存文件后,在MAX+PLUS II中选择Simulator菜单,出现Simulator对话框,如图2.1.10
所示,单击Start按钮开始仿真,检查正确后,单击“确定”按钮。
图2.1.10
5、分析仿真结果
在仿真器窗口中选择Open SCF,即打开当前当前项目的仿真结果文件3-8.scf如图
2.1.11所示。
经检验是正确的。
图2.1.11
(5)管脚的重新分配锁定:
启动MAX+PLUSⅡ\FLOORPLIN EDITOR菜单命令,出现如图2.1.12所示的画面:
图2.1.12
FLOORPLAN EDITOR显示该设计项目的管脚分配,这是由软件自动分配的。
用户可随意改变管脚分配。
管脚编辑过程如下(见图2.1.13):
1.按下CURRENT ASSIGNMENTS FLOORPLAN,所有的输出都会出现在UNASSIGNED NODES栏框内。
2.用鼠标按住某输入输出门名称,并拖到下面芯片的某一管脚上,松开鼠标左键,使完成一个管脚的分配。
(6)实验电路板上的连线
用拨码开关的低三位代表译码器输入(A,B,C),将之与ALTERA(EPM712884—15芯片)的35,36,37芯片的管脚相连;用LED来表示译码器的输出,将它们与54,55,56,57,58,60,61,63管脚相连。
(我们实验例程的管脚分配结果)
注意:以上实验电路板上的连线可根据自己对管脚的锁定情况而定。
图2.1.13
(7)器件的下载与配置
1.启动MAX+PLUSⅡ\PROGRAMMER菜单,出现如图2.1.8所示对话框。
2.选择JTAG\MULTI—DEVICE JIAG CHAIN菜单项。
3.启动JTAG\MULTI—DEVICE JTAG CHAIN SETUP..菜单项。
4.点击SELECT PROGRAMMING FILE..按扭,选择要下载的.pof文件(对于MAx7000S 系列),然后按ADD加到文件列表中。
5.如果不能正确下载,可点击DETECT JTAG CHAIN INFO按扭进行测试,查找原因。
最后按OK退出。
6.这时回到图2.1.14的状态,按CONFIGURE按扭完成下载。
图2.1.14
三、实验总结
l、通过本次试验,学习并了解了MAX+PLUSⅡ10.0 Altera CPLD软件开发平台的使用。
MAX+PLUSⅡ的图形编辑器为我们提供了所见即所得的设计环境,提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,更为重要的是,MAX+PLUSⅡ还提供了原理图的多层次设计功能,使我们能设计更大规模的电路系统。
与传统的数字电路设计相比,MAX+PLUSⅡ提供的原理图输入设计功能更具有显著地优势。
2、通过一个简单的3—8译码器的设计,熟悉了图形编程的使用方法。
以原理图进行设计的主要内容在于元件的引入与线的连接。
当设计系统比较复杂时,应采用自顶向下的设计方法,将整个电路划分为若干相对独立的模块来分析设计。
采用原理图的设计方法,效率较低,但容易实现仿真,也便于对信号的观察以及电路的调整。
3、熟悉了组合逻辑电路的静态测试方法。