第一次实验
- 格式:docx
- 大小:1.21 MB
- 文档页数:12
第一次实验报告
QuartusII的VHDL输入设计
姓名:程 甜
学号:1223150250
班级:2012级通信工程
日期:2015年5月
QuartusII的VHDL输入设计
一.实验目的
熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真
和测试。
二.实验器材
计算机一台,ALTERA公司Cyclone系列的EP1C3TC144芯片实验箱一台。
三.实验原理
通过在Quartus上编写VHDL程序,然后编译,观察电路仿真时序图,并且
下载到实验箱中运行从而验证程序。
电路原理
选择目标器件是EP1C3,选实验电路模式5 ,电路图如图所示,用时钟CLOCK0
(93引脚)接到CLK上,用键1(PIO0,引脚号为1)控制RST;用键2(PIO1,引
脚号为2)控制EN;用键3(PIO2,引脚号为3)控制LOAD;用键4~7控制LOAD;
输出数据DOUT接到数码管1上,PIO16~ PIO19(引脚号为41~44);COUT接到
PIO8(引脚号为11)。
四.实验内容
1. 根据课本实验4-1的步骤和要求,设计含异步清零和同步加载与时钟使能的
计数器(使用例3-20),给出程序设计、软件编译、仿真分析、硬件测试及详细
实验过程。
2. 引脚锁定以及硬件下载测试。若选择目标器件是EP1C3,建议选实验电路模
式5 (具体电路图见说明书),用时钟CLOCK0(93引脚)接到CLK上,用键1(PIO0,
引脚号为1)控制RST;用键2(PIO1,引脚号为2)控制EN;用键3(PIO2,引脚号
为3)控制LOAD;用键4~7控制LOAD;输出数据DOUT接到数码管1上,PIO16~ PIO19
(引脚号为41~44);COUT接到PIO8(引脚号为11);最后进行编译、下载和硬
件测试实验。
3. 程序代码
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY EDA IS
PORT (CLK,RST,EN,LOAD : IN STD_LOGIC;
DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT : OUT STD_LOGIC );
END EDA;
ARCHITECTURE behav OF EDA IS
BEGIN
PROCESS(CLK, RST, EN,LOAD)
VARIABLE Q : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST = '1' THEN Q:= (OTHERS =>'0') ; --计数器异步复位
ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿
IF EN = '1' THEN --检测是否允许计数(同步使能)
IF LOAD = '0' THEN Q:= DATA;ELSE --由LOAD=‘0'装载新数据
IF Q < 9 THEN Q:= Q + 1; --允许计数,检测是否小于9
ELSE Q:= (OTHERS =>'0'); --大于9,计数值清零
END IF;
END IF;
END IF;
END IF;
IF Q = "1001" THEN COUT <= '1'; --计数大于9,输出进位信号
ELSE COUT <= '0';
END IF;
DOUT <= Q; --将计数值向端口输出
END PROCESS;
END behav;
五.程序编译
六.芯片信号配置
七.波形仿真
八.测试
九.下载
在另一试验台下载成功
十.下载后得到的实验结果
十一.实验结果分析
1、 由实验结果分析可知只有当EN=1,时才能开始计数,当EN=0时,此计数器不
工作
2、
由图可知计数脉冲在输出0111时产生一个进位,而且计数改变是在CLK脉冲
下降沿有效,并且有一定的延迟,但是计数输出是在数据输出之后立刻改变
的。
3、
当把RST端置位有效时,可以看出输出端为0,表明清零成功。