实验四 用VHDL设计组合电路.doc
文本预览下载声明
实验四 用VHDL设计组合电路
实验目的
1 熟悉使用VHDL进行简单组合电路的设计;
2 熟悉使用VHDL进行简单层次电路的设计;
2 熟悉使用VHDL文本输入法设计PLD芯片的流程;
实验内容
用VHDL语言完成3—8线译码器设计;
三、实验原理
二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号。某三位二进制译码器的真值表及示意图如下:
1、请根据以上图原理图,编写一个3—8译码器的VHDL源程序。(只考虑三个输入A2A1A0和8个输出y7y6y5y4y3y2y1y0 ,不考虑它的使能控制输入端)。
2、 对DEC3_8.vhd文件编译后,再进行波形仿真,完成输入信号A、Y 输入的设置,启动仿真器Simulator,观察输出波形的情况。
3、 锁定引脚、编译并编程下载。参选实验电路模式5和附表一,键1、键2、键3为输入信号A0、A1、A2分别锁定在EP1K30/50144-PIN TQFP 目标芯片的输入引脚,输出信号y7、y6、y5、y4、y3、y2、y1、y0分别锁定在目标芯片的输出引脚上。
4、 硬件实测3—8线译码器的逻辑功能。按动GW48实验板上的高低电平输入键1、键2、键3,得到不同的A0、A1、A2输入组合;观察输出发光二极管Di的亮灭,检查3—8线译码器的设计结果是否正确。
思考题
1 试设计一个8---3编码器
2 如果有一个模6计数器采用约翰逊尾变码编码。其顺序为:
000-001- 011 -111 -110 -100-000
试设计一个由时钟CLK触发,复位控制端RESET=0进行复位操作的模6计数器。
实验报告要求:
写出实验源程序,画出仿真波形。分析实验结果,以及它们的硬件测试实验结果写进实验报告。写出心得体会。
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY DEC3_8 IS
PORT ( A : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
Y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END DEC3_8;
ARCHITECTURE beh OF DEC3_8 IS
BEGIN
PROCESS( A )
BEGIN
CASE A IS
WHEN 000 = Y =;
WHEN 001 = Y =;
WHEN 010 = Y =;
WHEN 011 = Y =;
WHEN 100 = Y =;
WHEN 101 = Y =;
WHEN 110 = Y =;
WHEN 111 = Y =;
WHEN OTHERS = NULL ;
END CASE ;
END PROCESS ;
END beh;
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY CNT6 IS
PORT ( clk,resset : IN STD_LOGIC;
COUNTOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
END CNT6;
ARCHITECTURE beh OF CNT6 IS
Signal NEXT_COUNT: STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
PROCESS(clk,resset )
BEGIN
IF resset=0 THEN NEXT_COUNT =000 ;
Elsif CLKevent and CLK=1 then
CASE NEXT_COUNT IS
WHEN 000 = NEXT_COUNT = 001 ;
WHEN 001 = NEXT_COUNT = 011 ;
WHEN 011 = NEXT_COUNT = 111 ;
WHEN 111 = NEXT_COUNT = 110 ;
WHEN 110 = NEXT_COUNT = 100 ;
WHEN 100 = NEXT_COUNT = 000 ;
WHEN OTHERS = NULL ;
END CASE ;
END if;
COUNTOUT = NEXT_COUNT;
END PROCESS
显示全部