设计名称:含异步清零和同步时钟使能的加法计数器。
专业班级:
学号。姓名。
设计任务:设计一个含异步清零和同步时钟使能的加法计数器,已达到一下几个实验目的:
1、了解加法计数器的工作原理;
2、学习计数器的设计、**和硬件测试的方法;
3、进一步熟悉和掌握vhdl设计技术;
4、熟悉**时钟设定。
设计功能:本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。实验中有三个输入信号:
复位信号reset、使能信号enable、时钟信号clk,还有两路输出信号:计数值、进位信号。要求每来一个时钟信号,加或减1(sel=‘0’时执行加,sel=‘1’时执行减);计数值为9时再加1,输出进位信号,并且计数值归零;复位信号reset 有效时(高电平有效)计数值清0,使能信号enable有效时(高电平有效)计数器才进行工作否则不进行累加或累减。
而以上实验功能是通过quartus软件对程序进行编译,并调试出**波形,与实验箱进行连接,观察实验现象实现的。
设计流程图:
使用quartusii分配管脚。
软件编写程序
功能****程序连观察实验现。
接试验箱象。
1. 实验目的。
学习计数器的设计、**和硬件测试,进一步熟悉vhdl设计技术。
2. 实验器材。
pc机、fpga实验箱。
3. 实验原理。
实验原理图如下:
实验图是一个含计数使能,异步复位和计数值并行预置4位加法计数器。由实验图所示,图中间是4位锁存器,rst是异步清0信号,高电平有效;clk是锁存信号;cq[3..0]是4位数据输入端。
当en为“1”时,多路选择器将加1器的输出值加载于锁存器的数据端,当en为“0”时,将“0000”加载于锁存器。
4. 实验路线。
1)实验程序如下:
library ieee;
use use
entity vhdl1 is;
port(clk,rst,en:in std_logic;
cq:out std_logic_vector (3 downto 0);
cout:out std_logic);
end vhdl1;
architecture beh**e of vhdl1 is
beginprocess(clk,rst,en)
variable cqi: std_logic_vector (3 downto 0);
beginif rst='1' then cqi:=others=>'0');计数器异步复位。
elsif clk'event and clk='1' then—检测时钟上升沿。
if en='1' then—检测是否允许计数(同步使能)
if cqi<9 then cqi:=cqi+1;--允许计数,检测是否小于9
else cqi:=(others=>'0');大于9,计数值清零。
end if;
end if;
end if;
if cqi=9 then cout<='1';-计数大于9,输出进位信号。
else cout<='0';
end if;
cq<=cqi; -将计数值向端口输出
end process;
end beh**;
在quartus ii对程序进行编辑、编译、综合、适配、**。
输入信号波形如下:
**波形:2)引脚锁定以及硬件**测试,引脚锁定后进行编译、**和硬件测试实验。
通过查表“gw48 eda系统实验信号名与芯片引脚对照表”决定引脚号:
目标器件是ep147c1448,实验电路模式选择模式5,用键0(pio0)控制en,用键1(pio1)控制rst,计数溢出cout接发光管d1(pio11),输出4位计数值cq[3..0]接(pi042、pio41、pio40、pio39),时钟clk接clock0(引脚号为pio93),通过跳线选择4hz信号。引脚锁定后进行编译、**和硬件测试实验。
引脚锁定如下图所示:
**和硬件测试:
3)实验结果。
由**波形可以看出:
当rst端输入为“1”时,其他输出端口皆为“0”,实现计数器异步复位功能。
当rst端始终为“0”时,遇到时钟上升沿触发,计数开始。计数从0000开始到1001,当计数到1001时,cout端输出进位信号“1”;然后又从0000开始,不断循坏计数。
当en为“1”时计数器按上述功能工作;当en为“0”时,计数停止。
综上,此程序实现了含异步清0和同步时钟使能加法计数器的功能,试验成功。
通过上述实验程序可以生成如下实验框图:
硬件实验结果图如下:
键2是复位键,清零键1技术开始。
计数“0计数“1”
计数“2计数“3”
计数“4计数“5”
计数“6计数“7”
计数“8计数“9”,进位,数码管亮。
5.实验结果及分析。
按下键1,开始计数,当计数计到“9”时,进位,数码管1亮;按下键2,计数清零。
6.实验心得。
耐心调试程序,更好的熟悉quartusii的使用流程,加深了对quartusii的**的认识,进一步熟悉了vhdl设计技术。
EDA课程设计
题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...
eda课程设计
哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...
eda课程设计
目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...