《eda技术综合设计》
课程设计报告。
报告题目数字秒表设计
作者所在系部: 电子工程系
作者所在专业: 自动化。
作者所在班级。
作者姓名。指导教师姓名。
完成时间2024年11月30号
本次设计的目的就是在掌握eda实验开发系统的初步使用基础上,了解eda技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。
通过课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。
利用vhdl语言设计基于计算机电路中时钟脉冲原理的数字秒表。该数字秒表能对0秒~59分59.99秒范围进行计时,显示最长时间是59分59秒,到了一小时后,报警器开始报警,计时精度达到10ms。
设计了复位开关和启停开关。复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。
字体、格式、图号不对、重新修改。
一、设计要求:
1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为bcd码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。
2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。
3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的100hz计时脉冲。
二、实验目的:
通过本次课设,加深对eda技术设计的理解,学会用maxplusⅱ工具软件设计基本电路,熟练掌握vhdl语言,为以后工作使用打下坚实的基础。
3、实验原理:
秒表由于其计时精确,分辨率高(0.01秒),在各种竞技场所得到了广泛的应用。秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为0.
01秒,所以整个秒表的工作时钟是在100hz的时钟信号下完成。当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:0~59;ss表示秒:
0~59;xx表示百分之一秒:0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就是hh-mm-ss(hh表示小时:0~99),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是0~23,而是0~99,这也是和多功能时钟不一样的地方。
在设计秒表的时候,时钟的选择为100hz。变量的选择:因为xx(0.
01秒)和hh(小时)表示的范围都是0~99,所以用两个4位二进制码(bcd码)表示;而ss(秒钟)和mm(分钟)表示的范围是0~59,所以用一个3位的二进制码和一个4位的二进制码(bcd)码表示。显示的时候要注意的问题就是小时的判断,如果小时是00,则显示格式为mm-ss-xx,如果小时不为00,则显示hh-mm-ss。
四、源程序(*.vhd)和原理图(*gdf):
1.计时模块:计时模块执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。
他是由四个十进制计数器和俩个六进制计数器构成,其中毫秒位、十毫秒位、秒位和分位采用十进制计数器,十秒位和十分位采用六进制计数器。源程序:
1)十进制计数器(count_10)
library ieee;
use use
entity count10 is
port (clk,start,clr : in std_logic;
cout : out std_logic;
daout : out std_logic_vector(3 downto 0));
end count10;
architecture one of count10 is
signal q0 : std_logic_vector(3 downto 0);
signal q1 : std_logic;
beginprocess(clk,clr)
beginif clr='1' then q0<="0000";
elsif clk'event and clk='1' then
if start='1' then
if q0="1001" then
q0<="0000";
q1<='1';
else q0<=q0+1;
q1<='0';
end if;
end if;
end if;
end process;
daout<=q0;
cout<=q1;
end one;
2)六进制计数器(count_6)
library ieee;
use use
entity count6 is
port (clk,start,clr : in std_logic;
cout : out std_logic;
daout: out std_logic_vector(3 downto 0));
end count6;
architecture two of count6 is
signal q0 : std_logic_vector(3 downto 0);
signal q1 : std_logic;
beginprocess(clk,clr)
beginif clr='1' then q0<="0000";
elsif clk'event and clk='1' then
if start='1' then
if q0="0101" then
q0<="0000";
q1<='1';
else q0<=q0+1;
q1<='0';
end if;
2.报警器(alarm_3)
当计数到一小时的时候,回来一个高电平,然后报警器会出现10个高电平和10个低电平。程序如下:
library ieee;
use use
entity alarm_3 is
port (clk,clr,i : in std_logic;
qer:buffer std_logic_vector(4 downto 0);
q : out std_logic);
end alarm_3;
architecture four of alarm_3 is
beginprocess(clk,clr,i)
beginif clr='1' then qer<="00000";
elsif(clk'event and clk='1') then
if(i='1')then
if(qer="10100")then null;
else qer<=qer+1;
end if;
end if;
end if;
end process;
q<=qer(0);
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计时...