当前位置:文档之家› EDA设计38译码器

EDA设计38译码器

E D A设计38译码器-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
班级:通信13-3班
姓名:王亚飞
学号: 18 指导教师:
成绩:
电子与信息工程学院
信息与通信工程系
摘要
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实验背景
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.翻译成中文就是超高速集成电路硬件描述语言。

因此它的应用主要是应用在数字电路的设计中。

VHDL语言的特点
VHDL是一种用普通文本形式设计数字系统的硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口,可以在任何文字处理软件环境中编辑。

除了含有许多具有硬件特征的语句外,其形式、描述风格及语法十分类似于计算机高级语言。

VHDL程序将一项工程设计项目(或称设计实体)分成描述外部端口信号的可视部分和描述端口信号之间逻辑关系的内部不可视部分,这种将设计项目分成内、外两个部分的概念是硬件描述语言(VHDL)的基本特征。

VHDL的主要特点如下:
1.与其他的硬件描述语言先比,VHDL语言描述能力更强,从而决定了它成为系统设计领域最佳的硬件描述语言。

2. VHDL语言技术完备,具有丰富的仿真语句和库函数,而且还支持同步电路。

异步电路和其他电路的设计
3. VHDL语言方法灵活,对设计的秒东湖具有相对独立性
4. VHDL语言支持广泛。

3 3-8译码器简介
3-8译码器
3线-8线译码器是能实现译码功能的电路,常用的二进制集成译码器,二进制译码器是将输入的二进制代码转换成相对应的输入信号,它也是全译码器。

3-8译码器属于通用译码器,多用于计算机中的变量译码、地址译码及代码变换等
3-8译码器工作原理
对于3线-8线译码器来说,3位二进制共有8种状态,所以对应的输出有8种状态。

例如:对于二进制代码111来说,输出为。

由于3线-8线译码器只需要输入3根线即可输出8种不同的状态,对信息的译码有很大的好处,所以在硬件电路中占有较重要的地位,实验中也经常用到。

图3-2 逻辑图
无论从逻辑图还是功能表我们都可以看到3-8译码器的八个输出管脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出管脚全为高电平1。

如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。

3-8译码器的作用
当附加控制门的输出为高电平(S=1)时,可由逻辑图写出:
由上式可以看出,在同一个时间又是这三个变量的全部最小项的译码输出,所以也把这种译码器叫做最小项译码器。

3-8译码器有三个附加的控制端、和。

当、时,输出为高电平(S=1),译码器处于工作状态。

否则,译码器被禁止,所有的输出端被封锁在高电平,如表1所示。

这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。

带控制输入端的译码器又是一个完整的数据分配器。

电路中如果把作为“数据”输入端(在同一个时间),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。

这就不难理解为什么把叫做地址输入了。

例如当=101时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。

4设计思路与程序
根据查找的关于3-8译码器的资料了解到3-8译码器的工作原理与真值表,来编写程序,3-8译码器有3个输入和8个输出,所以可以指定当输入为:111时,译码后为指定的状态,即输出00000001,紧接着依次类推,当输入为:110时,输出01111111,当输入为101时,输出,当输入为100时,输出,输入011时,输出为,输入为010时,输出,输入为001时,输出,输入为000时,输出为。

调用库函数,定义实体,定义端口,不难设计出程序:
LIBRARY IEEE;
USE SA IS
PORT(
D:IN STD_LOGIC_VECTOR(2 DOWNTO 0);
S0,S1,S2:IN STD_LOGIC;
Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END ;
ARCHITECTURE XIANI OF SA IS
BEGIN
PROCESS(D,S0,S1,S2)
BEGIN
IF (S0='0')THEN Y<="";
ELSIF(S0='1' AND S1='0' AND S2='0')THEN
IF (D(2)='0' AND D(1)='0' AND D(0)='0')THEN Y<="01111111"; ELSIF (D(2)='0' AND D(1)='0' AND D(0)='1')THEN Y<="";
ELSIF (D(2)='0' AND D(1)='1' AND D(0)='0')THEN Y<="";
ELSIF (D(2)='0' AND D(1)='1' AND D(0)='1')THEN Y<=""; ELSIF (D(2)='1' AND D(1)='0' AND D(0)='0')THEN Y<=""; ELSIF (D(2)='1' AND D(1)='0' AND D(0)='1')THEN Y<=""; ELSIF (D(2)='1' AND D(1)='1' AND D(0)='0')THEN Y<=""; ELSIF (D(2)='1' AND D(1)='1' AND D(0)='1')THEN Y<="";
ELSE Y<="ZZZZZZZZ";
END IF;
ELSE Y<="ZZZZZZZZ";
END IF;
END PROCESS;
END;
5系统仿真
通过仿真得到仿真波形图如下
图5-1 仿真波形
图5-2 仿真波形
图5-3 实验结果
图5-3 实验结果
6总结与体会
在这个课程设计中,使我又了解到了一种语言,使我对本来很陌生的EDA 有了进一步的了解。

课设刚开始的两天里,我们在图书馆及相关网站上查阅了大量关于3-8译码器资料,之后我们就开始编程及仿真。

在这两周我顺利完成了3-8译码器的设计,通过本次设计使我对使用VHDL语言进行编程及Quarter II的使用有了更深一步的了解。

使用与非门设计电路对应延时比使用程序对应延时时间短,原因是程序的每步执行都需要一定的时间,其时间比调用库中的与非门所需时间长。

使用VHDL语言,设计描述与硬件无关,具有强大的硬件描述能力,设计方式多种多样。

相关主题