EDA技术之 秒表的设计.doc
文本预览下载声明
实验三 秒表的设计
一、实验目的:
1、 熟练利用VHDL语言进行数字系统设计;
2、 掌握数字系统的设计方法——自顶向下的设计思想;
3、 掌握计数器的设计与使用;
4、 根据秒表的功能要求设计一个秒表;
二、实验设备:
PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干
三、实验要求:
1、 有秒、分计数,数码扫描显示输出;
2、 有清零端和计数使能端;
3、 在功能允许的情况下,可自由发挥;
四、实验原理:
1、 功能描述:
秒表是一种计时的工具,有着很广泛的用途。本实验中的秒表要求有两个功能按钮:一个是计数和停止计数按钮,当第一次按下此按钮时,秒表开始计数,再一次按下时,秒表停止计数,并显示所计的数字;另一个是清零按钮,当按下此按钮时,秒表清零。在数码管上采用扫描显示输出。
2、 基本原理:
本实验中用到的主要元件有计数器、控制逻辑、数据选择器和译码器等。秒、分都是60 进制计数,所以必须采用两个60 进制的计数器(或6 进制计数器与10 进制计数器的组合);控制逻辑主要是用来实现计数和清零。基本方框图如下:
注意:计数器必须有进位输出、计数使能端和清零端。
3、 自顶向下的设计方法:
自顶向下的设计方法是数字系统设计中最常用的设计方法,也是基于芯片的系统
设计的主要方法。它的基本原理框图如下:
自顶向下的设计方法利用功能分割手段将设计由上到下进行层次化和模块化,即分层次、分模块进行设计和仿真。功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解为更少的逻辑块和电路。如此分割,逐步的将系统细化,将功能逐步具体化,模块化。高层次设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细描述在下一设计层次说明,最底层的设计才涉及具体寄存器和逻辑门电路等实现方式的描述。(注意:这里所说的模块可能是芯片或电路板。)
五、实验步骤:
1、 采用自顶向下的设计方法,首先将系统分块;
2、 设计元件,即逻辑块;
3、 一级一级向上进行元件例化(本实验只需例化一次即可),设计顶层文件。
六、实验报告
1,写出实验源程序:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity myclock is
PORT(CLK: IN bit;
second: out std_logic_vector (0 to 5);
minute: out std_logic_vector (0 to 5));
END myclock;
architecture rtl of myclock is
BEGIN
PROCESS(CLK)IS
variable count: std_logic_vector(0 to 5);
variable c: std_logic_vector(0 to 5);
BEGIN
IF(CLKEVENT AND CLK=1)THEN
count:=count+1;
IF count=111011then
count:=000000;
c:=c+1;
if c=111011then
c:=000000;
end IF;
end if;
end if;
second=count;
minute=c;
END PROCESS;
END architecture rtl;
2,仿真图如下:
显示全部