文档详情

实验四 用VHDL设计组合电路.doc

发布:2018-06-30约2.1千字共4页下载文档
文本预览下载声明
实验四 用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
显示全部
相似文档