EDA实验3-8线译码器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五 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 IS
PORT(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 IS
SIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
LEDW<="000";
PROCESS (DATA_IN)
VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
DIN:=DATA_IN;
LEDOUT<=OUTA;
DATA_OUT<=D_OUT;
CASE DIN IS
when "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 IS
WHEN "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”中的“Vector
Waveform File”项,打开空白的波形编辑器,输入所有的信号节点,给输入随机
赋值,保存,单击工具栏上的快捷方式,进行波形仿真;
4、打开“Assignments”菜单下的“Pins”命令,打开引脚锁定窗口,进行引脚锁定,
再次对VHDL Files进行编译;
5、连接EDA实验箱,将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角
的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边,
将JPLED1短路帽右插,JPLED的短路帽全部上插,请将JP103的短路帽全部插上。
6、在Quartus II的菜单“Tool”中选择“Programmer”,或直接单击工具栏上的快捷
键,打开Programmer对话框, 单击“Start”按钮,当“Progress”显示为100%时,编程成功,观察实验面板,进行硬件测试验证。
7、3-8线译码器的三个输入C、B、A分别对应拨位开关SW3,SW2,SW1,改变SW3,SW2,SW1
的位置,当结果为0时彩色LED灯熄灭,当结果为1时彩灯点亮,改变SW1~SW3的输入状态,观察实验结果。