实验二 波形输入与仿真实现
一、实验目的:通过本次实验掌握波形输入法制作元件的过程,掌握实
验箱中时钟和扬声器的具体使用方法以及任意模值计数器的设计方法。
二、实验要求:
1、 利用波开输入法设计非门电路模块。
2、 利用VHDL语言输入方法设计数据选择器(参考二选一数据选择器程
序),编译、定义引脚并下载到实验箱中验证。
3、 利用VHDL硬件描述语言,参考提供源程序,设计带使能端的24进制
计数器,并下载到实验箱中验证功能。
三、实验步骤:
1、利用波开输入法设计非门电路模块。并生成顶层可调用的模块以备步骤3
中使用。
2、利用VHDL语言输入方法设计数据选择器(参考二选一数据选择器程序),
编译、定义引脚并下载到实验箱中验证(选用模式0)。输入A定义到CLK5
(1024Hz)、输入B定义到CLK0(256Hz)、CON定义到按键8,输出定义
到3脚,下载后改变按键8的值,听扬声器发生的情况。将CON定义到CLK2
(2Hz)、重新下载,听扬声器发生的情况。
3、利用VHDL硬件描述语言,参考提供源程序,利用VHDL硬件描述语言,
参考提供源程序,设计带使能端的16进制计数器,并下载到实验箱中验证功
能。选用模式0。CLK定义到CLK2、ENA定义到按键8、OUTY定义到数码
管1,下载完毕后观察,工作状况。把步骤1中生成的非门插入到按键8与
ENA之间,重新下载,观察结果。如下图:
按键8
参考源程序:
数据选择器参考程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY a2 IS
PORT(A:IN STD_LOGIC;
B:IN STD_LOGIC;
CON:IN BIT;
C:OUT STD_LOGIC
);
END a2;
ARCHITECTURE A OF a2 IS
BEGIN
C<=A WHEN CON='0' ELSE
B WHEN CON='1' ELSE
'Z';
END A;
带使能端的计数器参考程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT4B IS
PORT (CLK : IN STD_LOGIC;
ENA : IN STD_LOGIC;
OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END CNT4B;
ARCHITECTURE behav OF CNT4B IS
SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK,ENA)
BEGIN
IF CQI="1111" THEN CQI <= "0000";
ELSIF CLK'EVENT AND CLK = '1' THEN
IF ENA = '1' THEN CQI <= CQI + 1;
END IF;
END IF;
OUTY <= CQI ;
END PROCESS;
END behav;