实验三 3-8译码器的功能测试及仿真

合集下载

3-8译码器实验报告

3-8译码器实验报告

3-8译码器实验报告
班级:121 姓名:连森学号:02
1.实验目标与实验要求:
1.理解译码器的概念和意义
2.理解译码器在计算机电路里的作用。

2.实验器材:
Altair 80C31Small 教学实验平台杜邦线
3.实验原理(电路图):
74HC138 是集成3-8 线译码器,能将3 位二进制码转换为8 位输出信号,这8 位输出信号相对于输入的3 位二进制码的8 种编码,始终只有一位输出有效(低电平),其余7 位皆无效(高电平)
4.实验步骤
首先用杜邦线将A3实验区与逻辑开关K1~K6相连的JP1-1~JP1-6,连接到A7实验区与74HC138相连的JP9单号插针;接着在74HC138的输出端连接绿色LED显示器;然后用跳线连接JP39-1与JP39-2,即可接通电源。

5.实验结果(现象):
当K4、K5、K6 打到0、0、1时,译码器74HC138 的逻辑功能有效,相应引脚输出低电平,对应LED 熄灭。

否则,74HC138 始终输出高电平(无效电平),LED 全亮。

实验三-quartus-ii的设计处理(3-8译码器设计)

实验三-quartus-ii的设计处理(3-8译码器设计)

实验三-quartus-ii的设计处理(3-8译码器设计)
《可编程逻辑器件的设计与仿真》
实验报告
实验项目实验三Quartus II的设计处理(3-8译码器设计)
实验目的1.设计一个3-8译码器;
2.学习用VHDL进行逻辑描述。

实验器材PC机,Quartus II
授课形式集中训练任课教师:彭铁牛实验时间:2013-03-17
实验说明本设计实现一个3-8译码器,其逻辑功能如表所示
C B A Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
0 0 0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0 1
***********
0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 1 1 0 1 1 1 1
1 0 1 1 1 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1
本设计练习用VHDL语言描述仿真译码器。

要求编写3-8译码器的VHDL设计文件。

注意VHDL文件的结构和语法,并掌Quartus II 平台中文本编辑器的使用方法。

实验内容和体会
1
Ⅰ.VHDL源程序Ⅱ.仿真波形Ⅲ.元件符号Ⅳ.实验体会。

3 8译码器

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二进制译码器实际上也是负脉冲输出的脉冲分配器。

实验三+3-8译码器仿真及实现

实验三+3-8译码器仿真及实现

实验三3-8译码器仿真及实现姓名:学号:班级:日期:一、实验目的和要求本次实验使用Verilog 硬件描述语言在DE1开发平台上设计一个基本组合逻辑电路3-8 译码器,并完成功能仿真和时序仿真。

二、实验环境1、PC机,Pentium 4 2.0G以上,内存1G以上,硬盘500G以上,1024×768彩显,USB接口,网络接口,串口。

2、友晶DE1开发板和相关配件。

3、软件:Windows XP或者Windows 7操作系统,DE1配套光盘。

三、实验内容1、编写3-8的Verilog程序。

2、构建仿真波形文件,实现QuartusII的功能仿真和时序仿真。

3、下载设计到DE1,观察译码输出。

四、实验步骤1、建立Quartus 工程:1)打开Quartus II 工作环境。

2)点击菜单项File->New Project Wizard 帮助新建工程。

3)输入工程目录、工程文件名以及顶层实体名。

自己起名字,例如学号加38等。

注意:输入的顶层实体名必须与之后设计文件的顶层实体名相同,默认的顶层实体名与工程文件名相同,本类实验均采用这种命名方法以便于管理。

不要使用Quartus II的根目录作为工程目录。

4)添加设计文件。

如果用户之前已经有设计文件(比如.v 文件)。

那么直接添加相应文件,如果没有完成的设计文件,点击Next 之后添加并且编辑新的设计文件。

5)选择设计所用器件。

由于本次实验使用 Altera 公司提供的DE1 开发板,用户必须选择与之相对应的FPGA 器件型号,如下图:6)设置 EDA 工具。

设计中可能会用到的EDA 工具有综合工具、仿真工具以及时序分析工具。

本次实验中不使用这些工具,因此点击Next 直接跳过设置。

7)查看新建工程总结。

在基本设计完成后,Quartus II 会自动生成一个总结让用户核对之前的设计,确认后点击Finish 完成新建。

8)培养良好的文件布局。

Quartus II 默认把所有编译结果放在工程的根目录,为了让Quartus II 像Visual Studio 等IDE 一样把编译结果放在一个单独的目录中,需要指定编译结果输出路径。

实验一3-8译码器

实验一3-8译码器

3-8译码器的仿真
一:实验名称:3-8译码器仿真
二:实验要求:熟悉对max+plusⅡ10.0的使用,并且能简单的使用进行3-8译码器的仿真和论证。

三:实验步骤:
1:使用max+plusⅡ10.0软件,设计3-8译码器的实验原理图如下所示:
图1 实验原理图
2:波形的仿真与分析
启动max+plusⅡ10.0\Waveform editor菜单,进入波形编辑窗口,选择欲仿真的所有I\O管脚。

如下图所示:
图2 波形编辑
为输入端口添加激励波形,使用时钟信号。

选择初始电平为“0”,时
钟周期倍数为“1”。

添加完后,波形图如下所示:
图3 添加激励后的波形
打开max+plusⅡ10.0\Simulator菜单,确定仿真时间,单击Start开始仿真,如下图所示:
图4 仿真过程
图5 仿真结果
四:实验结论:使用max+plusⅡ10.0能很好的完成很多电路的仿真与工作。

3-8线译码器实验内容

3-8线译码器实验内容

实验五 3-8线译码器一、实验目的:1、熟悉常用译码器的功能逻辑。

2、掌握复杂译码器的设计方法。

二、实验原理:1、总体思路以EP2C5中的三个拨位开关,SW3,SW2,SW1为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在七段LED数码管上显示出来。

2、3-8线译码器原理图如下图所示:三、实验连线:1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边2、请将JPLED1短路帽右插,JPLED的短路帽全部上插。

3、请将JP103的短路帽全部插上。

四、实验步骤:按照步骤三正确连线,参考实验二步骤,完成项目的建立,文件的命名,文件的编辑,语法检查,引脚分配,编译,下载。

实验参考代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DECODE ISPORT(DATA_IN :IN STD_LOGIC_VECTOR(2 DOWNTO 0);LEDOUT,DATA_OUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END DECODE;ARCHITECTURE ADO OF DECODE ISSIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINLEDW<="000";PROCESS (DATA_IN)VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DATA_OUT<=D_OUT;CASE DIN ISwhen "000" => OUTA<="00111111" ; --"0"when "001" => outa<="00000110" ; --"1"when "010" => outa<="01011011"; --"2"when "011" => outa<="01001111"; --"3"when "100" => outa<="01100110"; --"4"when "101" => outa<="01101101"; --"5"when "110" => outa<="01111101"; --"6"when "111" => outa<="00000111"; --"7"WHEN OTHERS => OUTA<="XXXXXXXX";END CASE;CASE DIN ISWHEN "000" => D_OUT<="00000000";WHEN "001" => D_OUT<="00000001";WHEN "010" => D_OUT<="00000010";WHEN "011" => D_OUT<="00000100";WHEN "100" => D_OUT<="00001000";WHEN "101" => D_OUT<="00010000";WHEN "110" => D_OUT<="00100000";WHEN "111" => D_OUT<="01000000";WHEN OTHERS=> D_OUT<="XXXXXXXX";END CASE;END PROCESS;END ADO;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY shiyan5 ISPORT(DATA_IN :IN STD_LOGIC_VECTOR(2 DOWNTO 0);LEDOUT,DATA_OUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END shiyan5;ARCHITECTURE ADO OF shiyan5 ISSIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINLEDW<="000";PROCESS (DATA_IN)VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DATA_OUT<=D_OUT;IF(DIN="000") THEN OUTA<="00111111" ;D_OUT<="00000000"; --"0"ELSIF(DIN="001") THEN outa<="00000110" ;D_OUT<="00000001"; --"1" ELSIF(DIN="010") THEN outa<="01011011";D_OUT<="00000010"; --"2" ELSIF(DIN="011") THEN outa<="01001111";D_OUT<="00000100"; --"3" ELSIF(DIN="100") THEN outa<="01100110";D_OUT<="00001000"; --"4" ELSIF(DIN="101") THEN outa<="01101101";D_OUT<="00010000"; --"5" ELSIF(DIN="110") THEN outa<="01111101";D_OUT<="00100000"; --"6"ELSIF(DIN="111") THEN outa<="00000111";D_OUT<="01000000"; --"7"ELSE OUTA<="XXXXXXXX";D_OUT<="XXXXXXXX";END IF;END PROCESS;END ADO;五、实验现象:(程序:EP2C5\dencode\dencode.sof)3-8线译码器的三个输入C、B、A分别对应拨位开关SW3,SW2,SW1,改变SW3,SW2,SW1的位置,以改变C、B、A 的状态,于LED1上观察译码实验结果。

仿真用与非门组成的3-8译码器(74HC138)

仿真用与非门组成的3-8译码器(74HC138)

贵州大学
电路EDA电路技术课程考
核报告
姓名:田泽民
学号:PZ082014131 班级:08级计维班
一、实验目的:
1、会PSpice软件的仿真应用。

2、知道全加器的原理,进行仿
真。

二、实验名称:
仿真用与非门组成的3-8译码器(74HC138)。

三、实验内容:
画出电路图,进行参数的设置,截图,分析得到仿真结果。

四、实验原理:
译码器74HC138有三个附加的控制端,当状态为(1,0,0)时,译码器工作。

输入端A2,A1,A0;输出端Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7.
五、实验过程:
1、实验电路:
2、参数设置:
DSTM4、DSTM5、DSTM6高低电平交互的时间分别设为:4ms、2ms 和1ms,0—30ms,步长为5ms
3、仿真结果:
从上图可以看出,当输入端为000的时候选择Y0输出,当输入端为001的时候选择Y1输出……
010 Y2 011 Y3 100 Y4
101 Y5 110 Y6 111 Y7
4、真值表对照:
5、结果截图(与理论值相符):
六、实验结论:
本次实验,所得到的显示结果与预计:完全相同,因而证明本次实验是正确的。

七、实验总结:
进行参数设置的时候,时间不能设得太短,最好是以(ms)为单位。

在输入端时间设置应该注意取到每个输入组合,否则实验就不一定仿真出真实的结果。

三八译码器

三八译码器

实验三三-八译码器的设计(文本输入方式)[实验目的]1.学习设计一个3/8译码器,并在实验板上验证;2.学习使用VHDL语言进行逻辑设计输入;3.学习设计仿真工具的使用方法;[实验说明]通过实验一的学习同学已基本掌握了软件设计、下载测试的过程,接下来我们将采用VHDL语言设计方法实现3/8译码器的设计和下载验证。

真值表该3/8译码器除了译码输入:A、B、C以外,另加一个输入信号:ENA;ENA输入信号正常时为高电平,当ENA为低电平时,无论A、B、C输入信号为何值,输出Y0…Y7均为高电平“1”。

电路逻辑功能实现后,可将该逻辑功能下载到FPGA中。

注意选择:输入信号线4根(接拨码开关)、输出线8根(接发光二极管指示灯);测试时根据输入信号的变化观察输出信号的改变。

[实验要求]1用VHDL语言实现3/8译码器2设计仿真文件,进行软件验证3通过下载线下载到实验板上进行验证[实验报告要求]1写出VHDL编程语言源文件2给出软件仿真和硬件测试结果3通过下载线下载到实验板上进行验证4写出学习总结library IEEE;use IEEE.std_logic_1164.all;entity seg38 isport (data_in : in std_logic_vector (2 downto 0);ENA : in std_logic;data_out : out std_logic_vector (7 downto 0) );end entity;architecture seg38_arch of seg38 isbeginprocess(data_in, ENA)beginif ENA='1' thencase data_in iswhen "000" => data_out <= "11111110"; -- 0when "001" => data_out <= "11111101"; -- 1when "010" => data_out <= "11111011"; -- 2when "011" => data_out <= "11110111"; -- 3when "100" => data_out <= "11101111"; -- 4when "101" => data_out <= "11011111"; -- 5when "110" => data_out <= "10111111"; -- 6when "111" => data_out <= "01111111"; -- 7when others => NULL;end case;end if;end process;end architecture;管脚说明:ABC 分别对应data_2,1,0,锁定为:29,30,31 输出Y0-Y7非别对应data_out0-7,锁定为:灯1到8实验五BCD/七段显示译码器实验(文本输入方式)[实验目的]1.学习设计一个BCD/七段显示译码器,并在实验板上验证;2.掌握使用VHDL语言进行逻辑设计输入;3.掌握设计仿真工具的使用方法;[实验说明],C,D、ENA共5根,信号ENA的功能与3/8译码器功能相同,7段译码器的逻辑表同学自行设计,要求实现功能为:输入“0…15 ”(二进制),输出“0…9…F ”(显示数码),输出结果应在数码管上显示出来。

实验三 3—8译码器

实验三 3—8译码器
D0
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
Q10
Q11
Q12
Q13
Q14
Q15
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1.实验现象与结果
(1)利用multisim仿真验证3/8译码器
(2)借助指示灯或万用表观测Q0-Q7的状态,记入表5-1中。
图5-2
2、 用两片74LS138组成4-16线译码器
按图5-3接线,利用开关改变输入D0-D3的状态。
图5-3
3.实验设备及材料
1.SAC-DS4数字逻辑电路实验箱1个
2.万用表 1块
3.74LS138 3-8线译码器2片
4.74LS40 双四输入与非门1片
4.实验方法步骤及注意事项
1)根据表5-1,利用开关设置S1、S2、S3、及A2、A1、A0的状态,借助指示灯或万用表观测Q0-Q7的状态,记入表5-1中。
0
1
1
0
1
1

EDA实验3-8线译码器

EDA实验3-8线译码器

实验五 3-8线译码器一、实验目的1、熟悉常用译码器的功能逻辑。

2、掌握复杂译码器的设计方法。

二、实验原理1、总体思路以EP2C5中的三个拨位开关,SW3,SW2,SW1为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在七段LED数码管上显示出来。

2、3-8线译码器原理图如下图所示:三、实验程序实验参考代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DECODE ISPORT(DATA_IN :IN STD_LOGIC_VECTOR(2 DOWNTO 0);LEDOUT,DATA_OUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END DECODE;ARCHITECTURE ADO OF DECODE ISSIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINLEDW<="000";PROCESS (DATA_IN)VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DATA_OUT<=D_OUT;CASE DIN ISwhen "000" => OUTA<="00111111" ; --"0"when "001" => outa<="00000110" ; --"1"when "010" => outa<="01011011"; --"2"when "011" => outa<="01001111"; --"3"when "100" => outa<="01100110"; --"4"when "101" => outa<="01101101"; --"5"when "110" => outa<="01111101"; --"6"when "111" => outa<="00000111"; --"7"WHEN OTHERS => OUTA<="XXXXXXXX";END CASE;CASE DIN ISWHEN "000" => D_OUT<="00000000";WHEN "001" => D_OUT<="00000001";WHEN "010" => D_OUT<="00000010";WHEN "011" => D_OUT<="00000100";WHEN "100" => D_OUT<="00001000";WHEN "101" => D_OUT<="00010000";WHEN "110" => D_OUT<="00100000";WHEN "111" => D_OUT<="01000000";WHEN OTHERS=> D_OUT<="XXXXXXXX";END CASE;END PROCESS;END ADO;四、实验步骤1、打开Quartus II,选择“File”菜单下的“New Project Wizard”,建立Project及顶层实体的名称为ADO,期间,选择的目标芯片为EP2C5Q208C8N;2、选择“File”菜单下的“New”命令,在“New”窗口中选择“VHDL Files”,输入程序,进行编译;3、选择“File”菜单中的“New”项,在“New”窗口中选择“Other Files”中的“VectorWaveform File”项,打开空白的波形编辑器,输入所有的信号节点,给输入随机赋值,保存,单击工具栏上的快捷方式,进行波形仿真;4、打开“Assignments”菜单下的“Pins”命令,打开引脚锁定窗口,进行引脚锁定,再次对VHDL Files进行编译;5、连接EDA实验箱,将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边,将JPLED1短路帽右插,JPLED的短路帽全部上插,请将JP103的短路帽全部插上。

数电实验丨异或门-3_8译码器-模型机指令译码器

数电实验丨异或门-3_8译码器-模型机指令译码器

数字电路与逻辑设计实验一一、实验目的熟悉QuartusII仿真软件的基本操作,并用VHDL语言设计一个异或门。

二、实验内容1、熟悉QuartusII软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、波形设计)2、用VHDL语言设计一个异或门,最后仿真验证。

3、用VHDL语言设计一个3-8译码器,最后仿真验证。

4、用VHDL语言设计一个指令译码器,最后仿真验证。

第一部分:异或门①实验方法1、实验方法采用基于FPGA进行数字逻辑电路设计的方法。

采用的软件工具是Quartus II。

2、实验步骤1、新建,编写源代码。

(1).选择保存项和芯片类型:【File】-【new project wizard】-【next】(设置文件路(设置文件名XOR2.vhd—在【add】)-【properties】径+设置project name为XOR2)-【next】(type=AHDL)-【next】(family=FLEX10K;name=EPF10K10TI144-4)-【next】-【finish】 (2).新建:【file】-【new】(第二个AHDL File)-【OK】2、根据题意,画好原理图,写好源代码并保存文件。

原理图:3、编译与调试。

确定源代码文件为当前工程文件,点击【processing】-【start compilation】进行文件编译,编译成功。

4、波形仿真及验证。

新建一个vector waveform file。

按照程序所述插入a,b,c三个节点(a、b为输入节点,c为输出节点)。

(操作为:右击 -【insert】-【insert node or bus】-【node finder】(pins=all;【list】)-【>>】-【ok】-【ok】)。

任意设置a,b的输入波形…点击保存按钮保存。

然后【start simulation】,出name C的输出图。

5、时序仿真或功能仿真。

实验三 83优先编码器和38线译码器

实验三  83优先编码器和38线译码器

实验三8-3优先编码器和3-8线译码器一、实验目的1、熟悉常用编码器,译码器的功能逻辑。

2、熟悉VHDL的代码编写方法。

3、掌握复杂译码器的设计方法。

二、实验原理2、逻辑表达式:Y2=X4&X5&X6&X7Y1=~(~(X2)&X4&X5|~(X3)&X4&X5|~(X6)|~(X7));Y0=~(~(X1)&x2&X4&X6|~(X3)&X4&X6|~(X5)&X6|~(X7));2、3-8线码器总体思路以EP2C5中的三个拨位开关,SW3,SW2,SW1为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在七段LED数码管上显示出来。

三、实验连线1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPCJTAG口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、请将JPLED1短路帽右插,JPLED的短路帽全部上插。

3、请将JP103的短路帽全部插上。

四、实验步骤及波形按照步骤三正确连线,参考实验二步骤,完成项目的建立,文件的命名,文件的编辑,语法检查,引脚分配,编译,下载。

8-3优先编码器参考代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYencodeISPORT(XINA:INSTD_LOGIC_VECTOR(7DOWNTO0);Y0,Y1,Y2:OUTSTD_LOGIC;OUTA:OUTSTD_LOGIC_VECTOR(7DOWNTO0);LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDencode;ARCHITECTUREADOOFencodeISSIGNALLED:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALXIN:STD_LOGIC_VECTOR(7DOWNTO0);BEGINXIN<=XINA;LEDW<="000";PROCESS(XIN)BEGINCASEXINISWHENx"00"=>OUTA<=x"3F";WHENx"01"=>OUTA<=x"06";WHENx"02"=>OUTA<=x"5B";WHENx"04"=>OUTA<=x"4F";WHENx"08"=>OUTA<=x"66";WHENx"10"=>OUTA<=x"6D";WHENx"20"=>OUTA<=x"7D";WHENx"40"=>OUTA<=x"07";WHENx"80"=>OUTA<=x"3F";WHENOTHERS=>OUTA<=x"3F";ENDCASE;ENDPROCESS;PROCESS(XIN)BEGINCASEXINISWHENx"01"=>LED<="001";WHENx"02"=>LED<="010";WHENx"04"=>LED<="011";WHENx"08"=>LED<="100";WHENx"10"=>LED<="101";WHENx"20"=>LED<="110";WHENx"40"=>LED<="111";WHENx"80"=>LED<="000";WHENOTHERS=>LED<="000";ENDCASE;ENDPROCESS;Y2<=LED(2);Y1<=LED(1);Y0<=LED(0);ENDADO;3-8译码器参考代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYDECODEISPORT(DATA_IN:INSTD_LOGIC_VECTOR(2DOWNTO0);LEDOUT,DATA_OUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDDECODE;ARCHITECTUREADOOFDECODEISSIGNALOUTA,D_OUT:STD_LOGIC_VECTOR(7DOWNTO0);BEGINLEDW<="000";PROCESS(DATA_IN)V ARIABLEDIN:STD_LOGIC_VECTOR(2DOWNTO0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DA TA_OUT<=D_OUT;CASEDINISwhen"000"=>OUTA<="00111111";--"0"when"001"=>outa<="00000110";--"1"when"010"=>outa<="01011011";--"2"when"011"=>outa<="01001111";--"3"when"100"=>outa<="01100110";--"4"when"101"=>outa<="01101101";--"5"when"110"=>outa<="01111101";--"6"when"111"=>outa<="00000111";--"7"WHENOTHERS=>OUTA<="XXXXXXXX";ENDCASE;CASEDINISWHEN"000"=>D_OUT<="00000000";WHEN"001"=>D_OUT<="00000001";WHEN"010"=>D_OUT<="00000010";WHEN"011"=>D_OUT<="00000100";WHEN"100"=>D_OUT<="00001000";WHEN"101"=>D_OUT<="00010000";WHEN"110"=>D_OUT<="00100000";WHEN"111"=>D_OUT<="01000000";WHENOTHERS=>D_OUT<="XXXXXXXX";ENDCASE;ENDPROCESS;ENDADO;五、实验仿真8-3编码器引脚锁定如图:图5-1图5-2仿真波形如图:3-8译码器引脚锁定如图:图5-3波形如图:图5-4六、实验现象调试ok的EP2C5文件在文件夹decode中,可以直接调用。

3-8译码器的实现(综合实验)

3-8译码器的实现(综合实验)

广东海洋大学学生实验报告书(学生用表)实验名称3-8译码器的实现(综合实验)课程名称EDA 课程号学院(系) 信息学院专业电子信息工程班级1083学生姓名蒙传剑学号200811611323 实验地点钟海楼04017 实验日期2011年4月实验八、3-8译码器的实现(综合实验)一、实验目的:学会用VHDL去实现3-8译码器的实现(综合实验)。

二、实验设备:友晶公司的DE2板。

FPGA核心芯片为EP2C35F672C6。

三、实验内容:实现功能:在DE2板上面用三个开关作为地址的输入,一个开关作为选通使能端,用LEDR中的8位作为输出(低电平有效)四. 实验程序library ieee;use ieee.std_logic_1164.all;entity xie8 isport( en:in std_logic;a: in std_logic_vector(2 downto 0);y:out std_logic_vector(7 downto 0));end xie8;architecture behavioral of xie8 isbeginprocess(en,a)beginif (en='1') thencase a iswhen "000"=> y<="11111110";when "001"=> y<="11111101";when "010"=> y<="11111011";when "011"=> y<="11110110";when "100"=> y<="11101110";when "101"=> y<="11011110";when "110"=> y<="10111110";when "111"=> y<="01111110";when others =>null;end case;GDOU-B-11-112end if;end process;end behavioral;五..实验结果:1、仿真后的RTL图如下:2、仿真的波形图如下:六、心得体会在实验过程中我受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前了解将要做的实验的有关质料,如:实验要求,实验内容,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。

EDA实验报告三(3-8译码器的设计)

EDA实验报告三(3-8译码器的设计)

实验三:3-8译码器的设计一、实验目的1、学习Quartus II 7.2软件设计平台。

2、了解EDA的设计过程。

3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。

4、学习和掌握3-8译码器的工作和设计原理。

5、初步掌握该实验的软件仿真过程。

二、实验仪器PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),Quartus II 7.2设计平台。

三、实验步骤1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。

2、新建设计文本文件,在file中选择new,出现如下对话框:选择VHDL File 点击OK。

3、文本输入,在文本中输入如下程序代码:library ieee;use ieee.std_logic_1164.all;entity variable_decoder isport(A:in STD_LOGIC;B:in STD_LOGIC;C:in STD_LOGIC;Y:out STD_LOGIC_VECTOR(7 downto 0));end variable_decoder;architecture rtl of variable_decoder isbeginprocess(A,B,C)variable COMB:std_logic_vector(2 downto 0);beginCOMB:=C&B&A;case COMB 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;end process;end rtl;然后保存到工程中,结果如下图所示:4、编译,如果有多个文件要把这个文件设为当前顶层实体,这样软件编译时就只编译这个文件。

实验三 3-8译码器仿真及实现

实验三  3-8译码器仿真及实现

实验三3-8译码器仿真及实现一、实验目的和要求本次实验使用Verilog 硬件描述语言在DE1开发平台上设计一个基本组合逻辑电路3-8 译码器,并完成功能仿真和时序仿真。

二、实验环境1、PC机,Pentium 4 2.0G以上,内存1G以上,硬盘500G以上,1024×768彩显,USB接口,网络接口,串口。

2、友晶DE1开发板和相关配件。

3、软件:Windows XP或者Windows 7操作系统,DE1配套光盘。

三、实验内容1、编写3-8的Verilog程序。

2、构建仿真波形文件,实现QuartusII的功能仿真和时序仿真。

3、下载设计到DE1,观察译码输出。

四、实验步骤1、建立Quartus 工程:1)打开Quartus II 工作环境。

2)点击菜单项File->New Project Wizard 帮助新建工程。

3)输入工程目录、工程文件名以及顶层实体名。

自己起名字,例如学号加38等。

注意:输入的顶层实体名必须与之后设计文件的顶层实体名相同,默认的顶层实体名与工程文件名相同,本类实验均采用这种命名方法以便于管理。

不要使用Quartus II的根目录作为工程目录。

4)添加设计文件。

如果用户之前已经有设计文件(比如.v 文件)。

那么直接添加相应文件,如果没有完成的设计文件,点击Next 之后添加并且编辑新的设计文件。

5)选择设计所用器件。

由于本次实验使用 Altera 公司提供的DE1 开发板,用户必须选择与之相对应的FPGA 器件型号,如下图:6)设置 EDA 工具。

设计中可能会用到的EDA 工具有综合工具、仿真工具以及时序分析工具。

本次实验中不使用这些工具,因此点击Next 直接跳过设置。

7)查看新建工程总结。

在基本设计完成后,Quartus II 会自动生成一个总结让用户核对之前的设计,确认后点击Finish 完成新建。

8)培养良好的文件布局。

Quartus II 默认把所有编译结果放在工程的根目录,为了让Quartus II 像Visual Studio 等IDE 一样把编译结果放在一个单独的目录中,需要指定编译结果输出路径。

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

实验三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 A2A1A00Y1Y2Y3Y4Y5Y6Y7Y
1 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1 1 1
1 0 1 0 0 1 1 1 1 0 1 1 1
1 0 1 0 1 1 1 1 1 1 0 1 1
1 0 1 1 0 1 1 1 1 1 1 0 1
1 0 1 1 1 1 1 1 1 1 1 1 0
0 ×××× 1 1 1 1 1 1 1 1
× 1 ××× 1 1 1 1 1 1 1 1
二进制译码器实际上也是负脉冲输出的脉冲分配器。

若利用使能端中的一个输入端输
入数据信息,器件就成为一个数据分配器(又称多路分配器),如图3-2所示。

若在S1输入
端输入数据信息,2S=3S=0,地址码所对应的输出是S1数据信息的反码;若从2S端输入
数据信息,令S1=1、3S=0,地址码所对应的输出就是2S端数据信息的原码。

若数据信息是时
钟脉冲,则数据分配器便成为时钟脉冲分配器。

根据输入地址的不同组合译出唯一地址,故可用作地址译码器。

接成多路分配器,可
将一个信号源的数据信息传输到不同的地点。

二进制译码器还能方便地实现逻辑函数,如下图所示,实现的逻辑函数是 Z =C B A C B A C B A +++ABC
作数据分配器图 实现逻辑函数图
利用使能端能方便地将两个 3/8译码器组合成一个4/16译码器,如下图所示。

用两片74LS138组合成4/16译码器图
五、实验内容及步骤
1.74LS138译码器逻辑功能测试
将译码器使能端S 1、2S 、3S 及地址端A 2、A 1、A 0 分别接至逻辑电平开关输出口,八个
Y⋅⋅⋅依次连接在逻辑电平显示器的八个输入口上,拨动逻辑电平开关,按下表逐输出端0
7Y
项测试74LS138的逻辑功能。

输入输出
S12S3S A2A1A00Y1Y2Y3Y4Y5Y6Y7Y 1 0 0 0 0 0
1 0 0 0 0 1
1 0 0 0 1 0
1 0 0 0 1 1
1 0 0 1 0 0
1 0 0 1 0 1
1 0 0 1 1 0
1 0 0 1 1 1
0 ×××××
× 1 1 ×××
2.3-8译码器的VHDL仿真
1)运行该软件,在主菜单中选择File中的New中的Text Editor file文本编辑框,输入与门的VHDL文本:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY decoder3_8 IS
PORT(a: IN STD_LOGIC_ VECTOR(DOWNTO 0);
y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END decoder3_8;
ARCHITECTURE one OF decoder3_8 IS
BEGIN
PROCESS (a)
BEGIN
CASE a IS
WHEN "000"=>Y<="00000001";
WHEN "001"=>Y<="00000010";
WHEN "010"=>Y<="00000100";
WHEN "011"=>Y<="00001000";
WHEN "100"=>Y<="00010000";
WHEN "101"=>Y<="00100000";
WHEN "110"=>Y<="01000000";
WHEN "111"=>Y<="10000000";
WHEN OTHERS =>null;
END CASE;
END PROCESS ;
END one;
3进行波形仿真
4.波形分析
六、实验报告要求
1.画出实验线路,把观察到的波形画出来,并标上对应的地址码。

2.对仿真实验结果进行分析,说明译码器的特点。

相关文档
最新文档