EDA实验-- 译码器与编码器的设计与仿真

合集下载

EDA编码器译码器设计

EDA编码器译码器设计

VHDL语言的编码器1.设计原理1.1编码器的设计VHDL是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。

在本设计中,应用VHDL语言,在Altera公司的Quartus II 7.2软件环境下,按照自顶而下的设计方法,对编译码器进行设计仿真。

根据给定的(n,k)值选定生成多项式g (x),即从xn+1的因子中选一个(n-k)次多项式作为,假设给定信息码组为m (x)= (mk-1,mk-2...m0),其次数小于k,则xn-km (x)的次数必定小于n。

用g (x)除xn-km (x),得到余式r (x),r (x)的次数必定小于g (x)的次数,即小于(n-k)。

将此余式r (x)加于信息位之后作为监督位,即r (x)和xn-km (x)相加,得到多项式必定是一个码组多项式。

因为它必定能被g (x)整除,且商的次数不大于(k-1)。

根据以上原理,循环码的编码步骤可以归纳如下:(1)用xn-k乘信息码m (x),这一运算实际上是在信息码后附加上(n-k)个“0”。

(2)用g (x)除xn-km (x),得到商Q (X),(3)编出的码组T (x) =xn-km (x) +r (x)。

由此可见,编码的核心是如何确定余式r (x),找到r (x)后,可直接将其所代表的编码位附加到信息位之后,完成编码。

编码电路可采用(n-k)级反馈移位寄存器和异或门(模2加)组成的除法电路实现。

2.设计步骤2.1 VHDL设计流程循环码编译系统的结构循环码编译系统结构图如图所示。

由定时控制单元信码发生器、编码器单元、模拟错码发生器、错码位置计算单元、纠错单元组成。

其中错码位置计算单元和纠错单元合在一起构成译码器。

2.2 程序流程分析该程序流程主要通过输入一组四位信息码组,然后根据编码后的余数输出对编码进行检错判断,若输出余数为000 则无错码。

eda译码器实验报告

eda译码器实验报告

eda译码器实验报告EDA译码器实验报告引言:本实验旨在通过使用EDA(Electronic Design Automation)软件,设计并验证一个译码器电路的功能和性能。

译码器是一种常见的数字电路,用于将输入的二进制代码转换为相应的输出信号。

在本实验中,我们将使用EDA软件进行电路设计、模拟和验证。

一、实验目的本实验的主要目的是通过设计和验证一个译码器电路,加深对EDA软件的理解和应用。

具体目标包括:1. 掌握EDA软件的基本操作和功能;2. 设计并实现一个译码器电路;3. 进行电路模拟和性能验证。

二、实验步骤1. EDA软件的安装与配置在开始实验之前,我们需要安装和配置EDA软件。

根据软件提供的安装向导,进行相应的操作,并确保软件能够正常运行。

2. 译码器电路的设计译码器电路是由多个逻辑门组成的,根据输入的二进制代码,将其转换为相应的输出信号。

在设计电路时,需要确定输入和输出的位数,并选择适当的逻辑门类型。

根据实验要求,我们选择了4位译码器电路作为设计目标。

3. 电路的连接与布线在EDA软件中,我们可以使用图形化界面进行电路的连接和布线。

首先,将所需的逻辑门拖拽到工作区,并根据电路设计的要求进行连接。

然后,通过布线功能将电路中的元件连接起来,确保信号能够正确传输。

4. 电路的模拟与验证在完成电路的连接和布线后,我们可以进行电路的模拟和验证。

通过EDA软件提供的仿真功能,输入不同的二进制代码,并观察输出信号的变化。

通过对比实际输出和预期输出,可以验证电路的正确性和性能。

三、实验结果与分析在进行电路模拟和验证后,我们得到了一系列的实验结果。

通过分析这些结果,可以得出以下结论:1. 译码器电路能够正确地将输入的二进制代码转换为相应的输出信号。

例如,输入“0000”时,输出为“0001”;输入“0001”时,输出为“0010”等等。

2. 译码器电路的响应速度较快,能够在很短的时间内完成输入和输出的转换。

编码器和译码器实验报告

编码器和译码器实验报告

编码器和译码器实验报告一、实验目的本次实验的主要目的是了解编码器和译码器的工作原理,掌握它们的应用方法,以及通过实际操作加深对它们的理解。

二、实验原理1. 编码器编码器是将输入信号转换为不同形式输出信号的电路。

常见的编码器有二进制编码器、格雷码编码器等。

其中,二进制编码器将输入信号转换为二进制数输出,而格雷码编码器则将输入信号转换为格雷码输出。

2. 译码器译码器是将输入信号转换为相应输出信号的电路。

常见的译码器有二进制译码器、BCD译码器等。

其中,二进制译码器将输入信号转换为相应位置上为1的二进制数输出,而BCD译码器则将4位二进制数转换为相应十进制数输出。

三、实验步骤1. 实验材料准备:编码开关、LED灯、电源线等。

2. 搭建编码-解码电路:将编码开关接入编码器输入端,并将LED灯接入对应位置的解码器输出端。

3. 进行测试:打开电源后,在编码开关上随意调整开关状态,观察LED灯是否能够正确显示对应的输出状态。

4. 实验记录:记录每次调整开关状态后LED灯的输出状态,以及对应的二进制数或十进制数。

四、实验结果与分析经过实验,我们得到了以下结果:1. 二进制编码器测试结果:编码开关状态 | 输出LED灯状态 | 二进制数---|---|---0000 | 0001 | 00000001 | 0010 | 00010010 | 0100 | 00100011 | 1000 | 00110100 | 0001 | 01000101 | 0010 | 01010110 | 0100 | 01100111 | 1000 | 0111从上表中可以看出,二进制编码器将输入的四位开关状态转换为相应的四位二进制数输出。

2. BCD译码器测试结果:编码开关状态(二进制)| 输出LED灯状态(十进制)---|---0000-1001(十进制)| 对应数字的十进制形式从上表中可以看出,BCD译码器将输入的4位二进制数转换为相应的十进制数字输出。

译码器和编码器实验报告

译码器和编码器实验报告

译码器和编码器实验报告一、实验目的。

本实验旨在通过对译码器和编码器的实验操作,加深对数字通信原理中编码解码技术的理解,掌握其工作原理和实际应用。

二、实验原理。

1. 译码器。

译码器是一种将数字信号转换为模拟信号或者模拟信号转换为数字信号的设备。

在数字通信系统中,译码器通常用于将数字信号转换为模拟信号,以便在模拟信道上传输。

在接收端,译码器将模拟信号转换为数字信号,以便进行数字信号处理和解码。

2. 编码器。

编码器是一种将数字信号转换为另一种数字信号的设备。

在数字通信系统中,编码器通常用于将数字信号转换为便于传输和存储的编码形式,以提高传输效率和数据安全性。

三、实验内容。

1. 实验仪器与材料。

本实验使用的仪器包括译码器、编码器、示波器、信号发生器等。

实验材料包括数字信号发生器、示波器连接线等。

2. 实验步骤。

(1)连接实验仪器,将数字信号发生器连接到编码器的输入端,将编码器的输出端连接到译码器的输入端,再将译码器的输出端连接到示波器。

(2)设置实验参数,调节数字信号发生器的频率和幅度,设置编码器和译码器的工作模式和参数。

(3)观察实验现象,通过示波器观察编码器和译码器的输入输出波形,记录实验数据。

(4)分析实验结果,根据实验数据分析编码器和译码器的工作原理和特性,总结实验结果。

四、实验结果与分析。

通过本次实验,我们成功观察到了编码器和译码器的输入输出波形,并记录了相应的实验数据。

通过分析实验结果,我们深入理解了译码器和编码器的工作原理和特性,对数字通信原理有了更深入的认识。

五、实验总结。

本次实验通过实际操作加深了我们对译码器和编码器的理解,提高了我们的实验操作能力和数据分析能力。

译码器和编码器作为数字通信系统中重要的组成部分,对数字信号的处理和传输起着至关重要的作用,我们应进一步深入学习和掌握其原理和应用。

六、实验心得。

通过本次实验,我们不仅学习到了译码器和编码器的工作原理,还提高了实验操作和数据分析的能力。

EDA实验三组合逻辑电路设计(一)--编译码器设计

EDA实验三组合逻辑电路设计(一)--编译码器设计

西安邮电学院实验中心实验报告院系电子工程学院班级学号姓名成绩教师签字实验日期实验名称组合逻辑电路设计(一)--编译码器设计_______________________________________________________一、实验目的二、实验所用仪表及主要器材三、实验原理简述四、实验测量记录:(如数据、表格、曲线、计算等)五、实验遇到的问题及解决办法:(余留问题,体会等)一、实验目的(1)熟悉组合逻辑电路的VHDL描述方法。

(2)掌握利用CPL器件实现组合逻辑数字电路的方法和过程。

(3)熟练掌握“case”语句与“if…else…”语句的用法。

二、实验所用仪表及主要器材PC,可编程逻辑实验电路板,下载线,USB电源线,双踪示波器,数字万用表,导线若干。

三、实验原理简述应用VHDL设计简单的逻辑电路四、实验内容在MAX+PULSII环境下,用VHDL语言按照输入—>编译—>仿真。

(1)8421BCD码转换为余3码转换表.在MAX+plusII 环境下,用VHDL 语言描述下列逻辑电路,并编译,仿真。

程序仿真结果:(2)设计一个优先编码器。

程序实现如下:仿真结果:五、实验结果见上述内容。

六、实验心得在本次实验中我学会了使用MAX+PLUSII软件的文本编程的方式设计电路。

在本次实验的文本编译环节中出现不少问题:(1)保存时文件名与实体名不一致,导致程序编译结果不正确。

(2)写程序时没有按照语法规则编写,使得文件编译频繁报错,标点的错误也会导致整个程序无法编译。

经过本次实验,加深了我对VHDL的文本编译设计的理解,今后我应该多练习MAX+PLUSII软件以减少错误。

译码器和编码器实验报告

译码器和编码器实验报告

译码器和编码器实验报告实验报告:译码器和编码器实验目的:1.了解数字电路中译码器和编码器的原理。

2.通过实验了解译码器和编码器的工作过程。

3.锻炼实验操作能力。

实验器材:1.数字实验箱。

2.74LS147译码器芯片。

3.74LS148编码器芯片。

4.连线电缆。

5.电源。

实验原理:1.译码器的作用是将输入的数字信号转换成特定的输出信号。

2.编码器的作用是将特定的输入信号转换成数字信号。

3.74LS147是一个10到4行BCD译码器,输入BCD码,输出对应的十进制数。

4.74LS148是一个4到10行BCD编码器,输入对应的十进制数,输出对应的BCD码。

实验步骤:1.搭建74LS147译码器电路。

2.输入BCD码,记录输出的十进制数。

3.搭建74LS148编码器电路。

4.输入十进制数,记录输出的BCD码。

实验结果:1.输入BCD码1111,输出的十进制数字为15。

2.输入BCD码0001,输出的十进制数字为1。

3.输入十进制数字9,输出的BCD码为1001。

4.输入十进制数字3,输出的BCD码为0011。

实验结论:1.通过本次实验,我们成功了解了数字电路中译码器和编码器的原理和工作过程,掌握了实验操作技能。

2.74LS147译码器芯片的作用是输入BCD码,输出对应的十进制数;74LS148编码器芯片的作用是输入对应的十进制数,输出对应的BCD码。

3.译码器和编码器是数字电路中常用的组件,广泛应用于计算机、通信等各个领域,对现代生产和生活产生了巨大的影响。

4.数字电路是计算机科学中非常重要的基础,通过实验学习数字电路的原理和工作方式,有助于我们更好地理解计算机的工作原理,同时也有助于锻炼我们的实验操作能力。

译码器、编码器及其应用实验报告

译码器、编码器及其应用实验报告

译码器、编码器及其应用实验报告实验四译码器、编码器及其应用实验人员:班号:学号:一、实验目的(1) 掌握中规模集成译码器的逻辑功能和使用方法;(2) 熟悉掌握集成译码器和编码器的应用;(3) 掌握集成译码器的扩展方法。

二、实验设备数字电路实验箱,74LS20,74LS138。

三、实验内容(1) 74LS138译码器逻辑功能的测试。

将74LS138输出接数字实验箱LED管,地址输入接实验箱开关,使能端接固定电平(或GND)。

电路图如Figure 1所示:Figure 2时,任意拨动开关,观察LED显示状态,记录观察结果。

时,按二进制顺序拨动开关,观察LED显示状态,并与功能表对照,记录观察结果。

用Multisim进行仿真,电路如Figure 3所示。

将结果与上面实验结果对照。

Figure 4(2) 利用3-8译码器74LS138和与非门74LS20实现函数:四输入与非门74LS20的管脚图如下:对函数表达式进行化简:按Figure 5所示的电路连接。

并用Multisim进行仿真,将结果对比。

Figure 6(3) 用两片74LS138组成4-16线译码器。

因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。

而输入端只有三个,故要另用使能端进行片选使两片138译码器进行分时工作。

而实验台上的小灯泡不够用,故只用一个灯泡,而用连接灯泡的导线测试,在各端子上移动即可。

在multisim中仿真电路连接如Figure 7所示(实验台上的电路没有接下面的两个8灯LED):Figure 8四、实验结果(1) 74LS138译码器逻辑功能的测试。

当输入时,应该是输出低电平,故应该第一个小灯亮。

实际用实验台测试时,LE0灯显示如Figure 9所示。

当输入时,应该是输出低电平,故理论上应该第二个小灯亮。

实际用实验台测试时,LE0灯显示如Figure 6所示。

Figure 10Figure 11同理进行其他的测试。

实验3 实验三 编码器、译码器及应用电路设计

实验3  实验三  编码器、译码器及应用电路设计

实验三编码器、译码器及应用电路设计一、实验目的:1、掌握中规模集成编码器、译码器的逻辑功能测试和使用方法;2、学会编码器、译码器应用电路设计的方法;3、熟悉译码显示电路的工作原理。

二、实验原理:1、什么是编码:用文字、符号、或者数字表示特定对象的过程称为编码.2、编码器74LS147的特点及引脚排列图:74LS147是优先编码器,当输入端有两个或两个以上为低电平,它将对优先级别相对较高的优先编码。

什么是译码:译码是编码的逆过程,把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。

译码器分为三类:二进制译码器、二—十进制译码器、显示译码器。

4、译码器按照功能的不同,一般分为三类:(1)变量译码器74LS138的特点及其引脚排列图:反码输出,ABC是地址输入端,Y0—Y7是输出端,G1、G2A’、G2B’为使能端,只有当G1=G2A’=G2B’=1时,译码器才工作。

(2)码制变换译码器:用于同一个数据的不同代码之间的相互转换,代表是4—10线译码器。

译码器74LS42的特点及其引脚排列图:译码器74LS42的功能是将8421BCD码译成10个对象其原理与74LS138类同,只不过它有四个输入端,十个输出端。

(3)数码显示与七段译码驱动器:将数字、文字、符号的代码译成数字、文字、符号的电路。

a、七段发光二极管数码显示管的特点:(共阴极)b、七段译码驱动器:4、在本数字电路实验装置上已完成了译码器74LS48和数码管之间的连接图。

三、实验器件:集成块:74LS147 74LS138 74LS42四、实验内容与步骤:74LS147编码器逻辑功能测试:将编码器9个输入端I1~I9各接一根导线,来改变输入端的状态,4个输出端依次从低到高Q3-Q0示,在各输入端输入有效电平,观察并记录电路输入与输出地对应关系,以及当几个输入同时我有效电平时编码器的优先级别关系。

2、74LS138 译码器逻辑功能测试:3、74LS47译码器逻辑功能测试:4、编码器、译码器和显示器三者之间的联接:5、用两片74LS138组合成一个4-16线的译码器,并进行实验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三译码器与编码器的设计与仿真
一、实验目的:
熟悉Quartus软件的基本操作,掌握用Quartus软件验证VHDL语言。

熟悉译码器与编码器所实现功能及其应用,通过实验堆译码器与编码器有更深刻理解。

一、实验内容:
1.参照芯片74LS138的电路结构,用逻辑图和VHDL语言设计3-8译码器;2.参照芯片74LS148的电路结构,用逻辑图和VHDL语言设计8-3优先编码器。

三、实验原理:
电路功能介绍
1.74148:8-3优先编码器(8 to 3 Priority Encoder)
用途:将各种输入信号转换成一组二进制代码,使得计算机可以识别这一信号的作用。

键盘里就有大家天天打交道的编码器,当你敲击按键时,被敲击的按键被键盘里的编码器编码成计算机能够识别的ASCII码。

译码器与编码器的功能正好相反。

逻辑框图
逻辑功能表
INPUTS OUTPUTS
EN 0N 1N 2N 3N 4N 5N 6N 7N A2 A1 A0 EO GS
1 × × × × × × × × 1 1 1 1 1
0 × × × × × × × 0 0 0 0 0 1
0 × × × × × × 0 1 0 0 1 0 1
0 × × × × × 0 1 1 0 1 0 0 1
0 × × × × 0 1 1 1 0 1 1 0 1
0 × × × 0 1 1 1 1 1 0 0 0 1
0 × × 0 1 1 1 1 1 1 0 1 0 1
0 × 0 1 1 1 1 1 1 1 1 0 0 1
0 0 1 1 1 1 1 1 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 1 1 0
逻辑表达式和逻辑图:由你来完成。

2.74138:3-8译码器(3 to 8 Demultiplexer),也叫3-8解码器
用途:用一组二进制代码来产生各种独立的输出信号,这种输出信号可以用来执行不同的工作。

显示器中的像素点受到译码器的输出控制。

逻辑框图:用逻辑符号(Symbol)来解释该电路输入与输出信号之间的逻辑关系,既省事又直观。

如下图所示。



输入端






端低




使能输入端
逻辑功能表:用真值表来定量描述该电路的逻辑功能。

这个表是设计3-8译码器的关键;74138的逻辑功能表如下:
注:使能端G1是高电平有效;
使能端G2是低电平有效,G2 = G2A AND G2B。

四、实验步骤:
1、译码器:
(1)在Quartus软件中输入以下程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity lbz3 is
port (A : in std_logic_vector(2 downto 0);
Y : out std_logic_vector(7 downto 0));
end lbz3;
architecture art of lbz3 is
begin
Y<="10000000" when(A="111")else
"01000000" when(A="110")else
"00100000" when(A="101")else
"00010000" when(A="100")else
"00001000" when(A="011")else
"00000100" when(A="010")else
"00000010" when(A="001")else
"00000001";
end art;
在Quartus中对程序进行编译如下所示:
从编译界面可以看到程序运行无错误;通过“RTL viewer”按钮生成综合电路图如下:
(2)根据综合电路图生成如下功能仿真波形:
如仿真图可以看出当A=“001”时Y=“00000010”,同理当A取其他值时Y也输出相应的值,满足译码器逻辑功能表。

(3)对应时序波形如下所示:
2、编码器:
(1)在Quartus软件中输入以下程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity lbz31 is
port (A : in std_logic_vector(0 to 7);
Y : out std_logic_vector(0 to 2));
end lbz31;
architecture art of lbz31 is
begin
process(A)
begin
if (A(7)='0')then Y<="111";
elsif (A(7)='0')then Y<="111";
elsif (A(6)='0')then Y<="110";
elsif (A(5)='0')then Y<="101";
elsif (A(4)='0')then Y<="100";
elsif (A(3)='0')then Y<="011";
elsif (A(2)='0')then Y<="010";
elsif (A(1)='0')then Y<="001";
elsif (A(0)='0')then Y<="000";
end if;
end process;
end;
(2)在Quartus中对程序进行编译如下所示:
从编译界面可以看到程序运行无错误;通过“RTL viewer”按钮生成综合电路图如下:
(3)根据综合电路图生成如下功能仿真波形:
如仿真图可以看出当A=“10000000”时Y=“110”,同理当A取其他值时Y也输出相应的值,满足译码器逻辑功能表。

(4)对应时序波形如下所示:
五、实验总结:
(1)通过实验掌握了译码器与编码器的原理与运行程序;(2)加深了对译码器与编码器的使用;
(3)对Quartus软件有更深刻的理解。

相关文档
最新文档