EDA课程设计

发布 2022-09-30 19:49:28 阅读 6122

设计名称:含异步清零和同步时钟使能的加法计数器。

专业班级:

学号。姓名。

设计任务:设计一个含异步清零和同步时钟使能的加法计数器,已达到一下几个实验目的:

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计时...