EDA课程设计报告

发布 2022-09-30 20:40:28 阅读 1716

课程名称eda技术。

设计项目多功能数字钟。

系(部)班级姓名学号#$@%指导老师日期2010-06-09

电子系电子仪器仪表与维修仪表z082王叁少安老师。

1、数字钟的设计要求。

多功能数字钟具有计时功能和时钟的校时基本功能。计时功能采用24小时计时,显示时,分,秒。采用时校时,对于分钟和秒模块采用60进制实现;小时设计了24进制的计数器。

校时部分,分为时校时,分校时,通过控制计数脉冲和校时控制使能的方法实现。

扩展了整点报时与闹铃功。整点报时部分,从59’50”开始报时,每隔两秒报时一次,前四声驱动脉冲为500hz,最后一声驱动脉冲为1khz,然后关闭。闹铃部分,将闹铃时间预置时,分,当计时时,分与预置时,分相同,计时秒为00时,开始闹铃,时间为10秒。

2、设计目的。

1、掌握多位计数器相连的设计方法。

2、掌握十进制、六进制、二十**制的计数器的设计方法3、掌握扬声器驱动宝石的设计方法4、led灯的花样显示。

5、掌握clpd技术的层次化设计方法。

3、硬件要求。

1、主芯片altter epf10klc个led灯,一个扬声器位数码显示器。

个按键(清零、调时、调分)

4、数字钟模块设计。

4.160进制计时器(cntm60)library ieee;

use cntm60 is

port(ci:in std_logic;

nreset:in std_logic;load: in std_logic;

d: in std_logic_vector(7 downto 0);clk: in std_logic;co: out std_logic;

qh: buffer std_logic_vector(3 downto 0);ql: buffer std_logic_vector(3 downto 0));end cntm60;

architecture beh**e of cntm60 isbegin

co<='1'when (qh="0101" and ql="1001" and ci='1') else'0';process (clk,nreset)begin

if(nreset='0') thenqh<="0000";

ql<="0000";

elsif (clk'event and clk='1') thenif (load='1') then

qh<=d(7 downto 4);ql<=d(3 downto 0);elsif(ci='1') thenif(ql=9) thenql<="0000";if(qh=5) thenqh<="0000";else

qh<=qh+1;end if;else

ql<=ql+1;end if;end if;end if;end process;end beh**e;**图:

4.224进制计数器(cntm24)library ieee;

use cntm24 is

port(ci:in std_logic;

nreset:in std_logic;load1: in std_logic;

d1: in std_logic_vector(7 downto 0);clk: in std_logic;ch: out std_logic;

q1: buffer std_logic_vector(3 downto 0);q2: buffer std_logic_vector(3 downto 0));end cntm24;

architecture beh**e of cntm24 isbegin

ch<='1'when (q1="0010" and q2="0011" and ci='1') else'0';process (clk,nreset)begin

if(nreset='0') thenq1<="0000";q2<="0000";

elsif (clk'event and clk='1') thenif (load1='1') then

q1<=d1(7 downto 4);q2<=d1(3 downto 0);elsif(ci='1') thenif(q1=2) thenif(q2=3) thenq2<="0000";q1<="0000";else q2<=q2+1;end if;

elsif (q2=9) thenq2<="0000";q1<=q1+1;else q2<=q2+1;end if;

end if;end if;end process;end beh**e;

**图如下:

4.3整点报时(alarm1)library ieee;

use alarm1 is

port(reset:in std_logic;qh,ql:in std_logic_vector(3 downto 0);

alarm:out std_logic );end;

architecture a of alarm1 is

process(clk1,c)--整点报时begin

if (rising_edge(clk))thenif c='1' then

if (min1="0101"and min0="1001" and sec1="0101")then

if(sec0="0000"or sec0="0010" or sec0="0100"or sec0="0110"or sec0="1000")thend1<='1'and clk2;--前四声相同else d1<='0';endif;

elsif (min1="0000"and min0="0000" and sec0="0000" and sec1="0000") thend1<='1';-最后一声高elsed1<='0';endif ;endif ;endif ;

endprocess;

end a;

5、数字钟系统设计。

5.1顶层原理图如下:

5.2编译结果如下:

5.3**波形图如下:

5.4时域分析:

6调试记录与实验小结一调试记录。

1)我们写程序之前,经过思考,分析,以及修正,将整个框架及模块分割,但是程序写好后,在软件上验证的时候,出现很多错误。比如时钟太复杂,或时钟无法响应等等,原因是我们对vhdl语言了解不够,及在使用时钟应该注意事项等等。

3)在调试过程中,我们程序里出现了在多个错误,我们三个人一同分析,查找,在翻阅了些资料书后才找到了原因试着修改,最后终于修改正确。

4)在调试过程中,程序**现了一个脉冲信号前用了多个if语句,我们试着修改,但是没改正确。最后在老师帮助下修改正确了。二实验小结。

为期一周的eda课程设计,使我们对eda的认识又提高了一个层次,现在能够较为熟练使用max+plusii,能够利用vhdl语言编写简单实用的程序。这次eda课程设计重点学习了数字钟部分程序的编写、调试、对max+plusii软件的进一步熟练。在整个课程设计过程中,我们查阅了一些的关于eda的资料。

在为期一周的eda课程设计过程中,虽然我们在设计方案,编写程序中存在一些不足,但经过不断的努力,检查与修改,使得程序得到了不断完善;同时老师给了我们很大的帮助,在他的精心的指导,让我们顺利完成了eda课程设计。

EDA课程设计报告

eda 课程设计报告。时间 2014年12月21日 学院自动化。专业班级自1204 姓名。学号。指导教师王丽君老师 成绩。2014年 12月。目录。卷烟机烟支漏气跟踪自检装置设计 1 一 设计背景及设计目的 3 1.1设计背景 3 1.2设计目的 3 二 设计原理 3 三 设计步骤 5 3.1模块分...

EDA课程设计报告

设计一个出租车自动计费器,计费包括起步价 行车里程计费 等待时间计费三部分,用四位数码管显示金额,最大值为999.9元,最小计价单元为 0.1元,行程 3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1元。用两位数码管显示总里程,最大为99公里。...

EDA课程设计报告

课程设计报告。课程。题目。院系。年级专业。班级学号。学生姓名。指导教师。设计时间。摘要。交通灯信号控制器通常要实现自动控制和手动控制其红绿灯的变化,基于fpga设计的交通灯信号控制器电路简单 可靠性好。本设计可控制2个路口的红 黄 绿三盏灯 让其按特定的规律进行变化。利用quartus 对设计结果进...