当前位置:文档之家› EDA课程设计-信号发生器与数字钟设计

EDA课程设计-信号发生器与数字钟设计

EDA课程设计-信号发生器与数字钟设计
EDA课程设计-信号发生器与数字钟设计

EDA综合设计报告

题目:信号发生器与数字钟设计学院:电气信息学院

专业:通信工程

姓名:

学号:

指导老师:汪敏

第一部分:信号发生器

一、设计任务

要求设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波,递减锯齿波,三角波,阶梯波,方波和正弦波六种信号,并能实现频率选择和幅度调节,信号发生器的控制模块可以用数据选择器实现,六种信号的选择可以用

6选1数据选择器实现。

二、方案设计

(一)设计思路

1.利用VHDL语言,设计分频器,实现2分频,4分频,8分频及16分频,实现频率选择功能,生成模块。与利用数据选择器原理设计的频率选择器模块相连,实现频率选择输出。

2.利用VHDL语言,分别实现六种信号(递增/递减锯齿波,三角波,阶梯波,方波和正弦波)的输出,生成模块。

3.将设计的各功能模块按要求连接,分配引脚接口,连接实验箱,进行硬件测试,验证实现功能。

(二)程序流程

(三)设计软件

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。

三、硬件设计

(一)分频器

分频器的功能是:利用对时钟上升沿计数,从而实现可以输出二分频,四分频,八分频及十六分频模块,分频器模块是为了实现信号发生器的频率选择功能。在VHDL编程中,设置一个4位标准逻辑矢量,并循环计数,分别输出它的每一位,即实现了分频功能。生成的模块如图3-1示。

图3-1

利用波形仿真工具,生成改分频器的波形图,如下图3-2示,该编程实现了分频功能。

图3-2

(二)频率选择器

频率选择器利用四选一数据选择器原理,与分频器结合实现各种分频的频率选择输出,接入各个信号的CLK输入接口。四选一数据选择器有四种实现方式:if语句,case语句,条件信号赋值语句及选择信号赋值语句。本次设计采用条件信号赋值语句。s1,s2为输出选择端,q输出选择的频率,生成的模块如图3-3示。

图3-3

利用波形仿真工具,生成的频率选择器波形如图3-4示。

图3-4

(三)输出选择模块

输出选择模块与频率选择模块原理一样,本次设计实现六选一波形发生器,故输出选择模块为六选一数据选择器,利用CASE语句实现波形选择输出,设置sel位三位标准逻辑矢量,超出范围case选择指向null。且case选择语句必须有others。生成模块如图3-5示。

图3-5

(四)调幅模块

MegaWizard Plug-In Manager工具提供了丰富的库函数,这些库函数专门针对Altera公司的器件进行优化,电路结构简单,并大大减少了设计者的工作量。通过MegaWizard Plug-In Manager工具的向导,设计者可以利用Quartus II 提供的库函数自定义功能宏块,并设置模块参数和可选端口数值。

调幅模块利用该库函数中的lpm_divide(除法器模块),通过利用除法器模块将输出选择模块中的输出值除以denom中设置的输入值,从而实现调幅功能。生成模块如图3-6示。

图3-6

(五)各信号模块

1.递增锯齿波

设置clk及reset两个标准逻辑位输入端,一个8位标准逻辑矢量q输出,具有异步复位功能,故进程中敏感信号包括clk及reset,当reset值为‘0’时,输出清零复位。检测是否达到最大值“11111111”,未到则加一,实现递增锯齿波,到后清零重复循环。生成模块如下图3-7示。

图3-7

2.递减锯齿波

与递增锯齿波类似,具有相同的输入输出端,及异步复位功能。区别在于检测是否达到最小值“00000000”,未到则减一,实现递减锯齿波,到后重置为“11111111”,循环重复实现锯齿波输出。生成模块如下图3-8示。

图3-8

3.三角波

设置clk,reset两个标准逻辑位输入、一个8位标准逻辑矢量数据输出、异步复位。reset为‘0’时,输出清零复位。设置局部变量a,当a为0时,temp 执行连加计算,当temp加至“11111111”时,a置为1;当a为1时,temp执行连减计算,当temp减至“00000000”后,a置为0。依次循环,实现三角波信号输出。生成模块如下图3-9示。

图3-9

4.阶梯波

设置clk,reset两个标准逻辑位输入、一个8位标准逻辑矢量数据输出、异步复位。同样reset为‘0’时有效,输出清零复位。检测变量temp为“11111111”后置0,否则按16为步长增加temp的值,输出阶梯波信号,生成模块如下图3-10示。

图3-10

5.方波

设置clk,reset两个标准逻辑位输入、一个8位标准逻辑矢量数据输出、异步复位。检测clk上升沿执行temp加1计算,当temp小于“10000000”时,a 置1,否则a置0,当a为1时,输出q为“11111111”,a为0时,q为“00000000”。从而实现占空比为1:1的方波输出。生成模块如下图3-11示。

图3-11

6.正弦波

设置clk,reset两个标准逻辑位输入,一个0到255的整形实数输出,异步复位。设置中间变量整形temp为0到63,检测clk上升沿执行temp加1计算,利用case语句,将temp对应为正弦信号的x轴,分别将y轴的值赋给64个temp 值相对应,从而输出q,实现近似于正弦信号的输出,生成模块如图3-12示。

图3-12

四、波形仿真结果及分析

(一)系统电路图

将上述模块按功能逻辑连接,如下图4-1示。具有一个clk时钟输入,一个reset 复位信号输入,一个(s1,s2)的频率选择端输入,一个三位sel输出信号选择端输入。一个8位的输出信号输出。

图4-1

(二)管脚分配

在前面选择好一个合适的目标器件(本次设计选择为EP2C35F672C8)完成设计的分析综合过程,得到工程的数据文件以后,需要对设计中的输入、输出指定到具体的器件管脚号码,指定管脚号码称为管脚分配或管脚锁定。

在菜单assignments中选择pins项,点击在下图4-2中下面的表格右侧的filter 的下箭头,选择pins:all,将显示本工程中所有的输入输出端口。选择要分配的端口,在location对应的行中双击鼠标左键,将显示芯片所有的引脚,选择要使用的引脚即可。引脚锁定后,必须再进行一次编译,将引脚信息编译进下载文件中。

图4-2

(三)仿真波形

创建波形仿真文件,选择QUARTUSII软件File>New,进行新建,选择Vector Waveform File,点击OK,则打开了一个空的波形编辑器。在波形编辑器窗口左边的的端口名列表区点击鼠标右键,在弹出的对话框中选择Insert Node or Bus 命令,在弹出的对话框中,选择需要的信号进行仿真。

这里,我们将分别对可选的6个信号波形进行波形仿真。

1.正弦波

设置时钟信号clk周期为10ns,reset为1。仿真波形如下图4-3示。

图4-3

2.递减锯齿波

设置同上,仿真波形如图4-4示。

图4-5

3.递增锯齿波

设置同上,仿真波形如图4-6示。

图4-6

4.阶梯波

设置同上,仿真波形如图4-7示。

图4-7

5.三角波

设置同上,仿真波形如图4-8示。

图4-8

6.方波

设置同上,仿真波形如图4-9示。

图4-9

7.整体仿真

1)频率选择为2分频(s1,s2=0),调幅系数为1(denom=1),输出选择方波(sel=110),仿真波形如图4-10示。

图4-10

2)频率选择为2分频(s1,s2=0),调幅系数为2(denom=2,输出幅值为原来二分之一),输出选择方波(sel=110),仿真波形如图4-11示。

图4-11

3)频率选择为16分频(s1,s2=1),调幅系数为2,输出方波,仿真波形如图4-12示。

图4-12

五、硬件调试及结果

(一)程序加载

完成对期间的加载有两种形式,一种是对目标器件进行加载文件,一种是对目标器件的配置芯片进行加载。

1.使用下载电缆将PC机与实验系统连接起来

2.选择QUARTUSII 软件的Tool>Programmer命令,进行编译器窗口,如下

图5-1示,如果没有设置编程硬件,则编程硬件类型为No Hardware,需要对编程硬件进行设置。点击Hardware Setup…编程硬件设置按钮,将currently selected hardware设置为:USB-Blaster[USB-0]。

3.点击start进行文件加载,直到加载进度变为100%,文件成功加载完成。

图5-1

(二)signaltap2

Signaltap II嵌入逻辑分析仪集成到Quartus II设计软件中,能够捕获和显示可编程芯片(sopc)设计中实时信号的状态,这样开发者就可以在整个设计过程中以系统级的速度观察硬件和软件的交互作用。它支持多达1024个通道,采样深度高达128Kb,每个分析仪均有10级触发输入/输出,从而增加了采样的精度。

新建SignalTap II Logic Analyzer File文件,在instance中添加观测节点(nodes),将要观察的输出信号q加入,设置clock为输入的clk信号,采样深度设为1k,重新编译添加了signal tap的工程文件,编译完后,在stp中点击右上角的SOF Manager后面的[...],选择好刚刚生成的SOF文件,然后点击program device。再点击run analyzer运行该stp文件,观察生成波形。

1.输出正弦波

设置sel=001,频率(s1,s2)设为00,幅度调节(denom)设为001,波形如图5-2示。

2.输出递减锯齿波

设置sel=010,频率(s1,s2)设为00,幅度调节(denom)设为001,波形如图5-3示。

图5-3

3.输出递增锯齿波

设置sel=011,频率(s1,s2)设为00,幅度调节(denom)设为001,波形如图5-4示。

图5-4

4.输出阶梯波

设置sel=100,频率(s1,s2)设为00,幅度调节(denom)设为001,波形如图5-5示。

图5-5

5.输出三角波

设置sel=101,频率(s1,s2)设为00,幅度调节(denom)设为001,波形如图5-6示。

图5-6

6.输出方波

1)设置sel=110,频率(s1,s2)设为00,幅度调节(denom)设为001,波形如图5-7示。

图5-7

2)设置sel=110,频率(s1,s2)设为11,幅度调节(denom)设为001,波形如图5-8示。

3)设置sel=110,频率(s1,s2)设为00,幅度调节(denom)设为010,波形如图5-9示。

图5-9

第二部分:数字钟设计

一、设计任务

设计一个多功能数字钟,要求显示格式为:小时-分钟-秒钟,整点报时,报时时间为5秒,即从整点前5秒开始进行报时提示,LED开始闪烁,过整点后,停止闪烁。系统时钟选择模块的10Khz,要得到1Hz时钟信号,必须对系统时钟进行10,000次分频。调整时间的按键模块S1和S2,S1调节小时,每按下一次,小时增加一个小时,S2调整分钟,每按下一次,分钟增加一分钟。另外用S3键作为系统时钟复位,复位后全部显示00-00-00。

二、方案设计

(一)设计思路

1.要实现显示时-分-秒、整点报时、小时和分钟可调等功能,首先整个时钟的工作应该是在1Hz的信号作用下进行,这样每来一个时钟的上升沿,秒加一,当秒达到59,跳转00,分钟加一,当分钟增加到59,跳转00,小时加一,当小时增加到23,跳转00,以此循环。

2.在设计中,为了显示方便,由于分钟和秒钟显示范围都是0~59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码显示个位,对于小时因为它的范围是从0~23,所以可以用一个2位的二进制码显示十位,用4位二进制码显示个位。

3.设计中由于七段码管是扫描的方式显示,所以虽然时钟信号需要的是1Hz,但扫描需要一个高频信号,因此1Hz信号只能通过分频的方式获得。

4.对于整点报时功能,主要是检测分钟与秒钟是否达到59分55秒,到后LED 灯开始闪烁。

三、软件设计

(一)分频程序

要实现1s的计时,需要对10k的系统时钟实现10,000分频,2的13次方为8192,接近10000,故令一14位的标准逻辑矢量,当小于10000时自加1,到后

重赋初值。输出第13位值,此值就为约等于1hz的时钟信号。

(二)计数程序

设置6个整形信号,分别表示时分秒的个位与十位。Reset为异步复位信号,当rst为0时,6个信号都清零复位。检测1hz信号的上升沿,S1为调整小时按钮,S2为调整分钟按钮,上升沿来后,若检测到S1或S2按下(值为0),可以调整数字钟起始值,又当秒的个位自加到9后,十位加1,个位清零,当秒十位到5,个位到9后,分的个位加1,秒的个位与十位同时清零,当分的个位到9,后十位加一,个位清零,当分十位到5,个位到9,小时的个位加一,当小时的十位为2,个位为3,同时分钟为59,秒钟为59后,小时清零。依次循环,实现整个设置计数初值及计数的过程。通过多个if语句嵌套,来实现该计数功能。

(三)报警程序

判断当分钟到59,秒钟到54后,输出四位标准逻辑矢量led_display,led_display外接四个LED,当55秒时利用case语句依次输出:

’1111’,’0111’,’0011’,’0001’,’1111’

LED灯将出现相应的闪烁效果,实现倒计时功能。

四、波形仿真及分析

新建波形文件,设置clk为10ns,rst为1,s1,s2部分为1,下图4-1为输出的波形图,因display为循环扫描,输出值不能明显看出是数字钟,此时我们需要进行硬件测试,以便更好的观察实验现象。

图4-1

五、硬件调试及结果

首先将管脚分配,具体分配如图5-1示。

图5-1

完成管脚分配后再进行全编译后,打开programmer如图5-2示,将目标文件加载到目标板上,具体步骤如下:

1.使用下载电缆将PC机与实验系统连接起来

2.选择QUARTUSII 软件的Tool>Programmer命令,进行编译器窗口,如下图5-1示,如果没有设置编程硬件,则编程硬件类型为No Hardware,需要对编程硬件进行设置。点击Hardware Setup…编程硬件设置按钮,将currently selected hardware设置为:USB-Blaster[USB-0]。

3.点击start进行文件加载,直到加载进度变为100%,文件成功加载完成。

图5-2

将数字信号源模块的时钟选择为10Khz,观察实验箱如图5-3示。

图5-3

按下s2键,调节分钟,如图5-4示。

图5-4

按下S1键,调节小时,如图5-5示。

图5-5

按下s3键开始,时分秒复位,如图5-6示。

图5-6

当59分55秒后LED开始倒计时,如图5-7示。

图5-7示

第三部分总结

一、结论

本次课程设计完成了多波形信号发生器与数字钟的设计,在设计信号发生器中,利用分频器实现了信号的频率调节,利用除法器实现了信号的幅度调节,再利用了数据选择起实现了信号波形的选择输出,最终通过quartus ii 软件中的signaltap ii观察到了输出波形,验证了实验结果。

在数字钟的设计中,同样利用分频原理获得了近似1hz的时钟信号,设置S1,S2端进行了时钟的初值设定,设置了LED的整点报时功能,利用多层if 嵌套实现时钟的计时,进位功能,最终将程序导入目标板,通过实验箱中的8位LED数码管观察到实验结果。

二、心得体会

通过前期的EDA理论课学习,对VHDL语言、对quartus ii 软件有了初步的认识与基础,所以在本次的课程设计中,将前期的学习内容进行了综合,学习了quartus ii软件中的signaltap ii 的使用方法,成功实现了波形的输出,对整个EDA程序的设计流程有了更深的认识,清楚了设计的总体步骤。

参考文献资料:

[1]朱正伟等《EDA技术及应用》清华大学出版社2014.7

[2]汪敏等,《课程实验及综合设计指导书》西南石油大学,2013.6

[3]潘松等《EDA技术实用教程[M]》科学出版社,2005年第2版1-25

[4]章彬宏《EDA应用技术》北京理工大学出版社,2007.7

[5]陈拓《使用SignalTap II逻辑分析仪调试FPGA》,2008.7

附录一:信号发生器程序

1.分频器

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity frequencydivider is

port(clk:in std_logic;

clk_div2,clk_div4,clk_div8,clk_div16:out std_logic);

end frequencydivider;

architecture behave of frequencydivider is

signal count:std_logic_vector(3 downto 0);

begin

process(clk)

begin

if clk'event and clk='1' then

if count="1111" then

count<="0000";

else

count<=count+1;

end if;

end if;

end process;

clk_div2<=count(0);

clk_div4<=count(1);

clk_div8<=count(2);

clk_div16<=count(3);

end behave;

2.频率选择

library ieee;

use ieee.std_logic_1164.all;

entity switchfrequency is

port(

s1,s2:in std_logic;

clk_div2,clk_div4,clk_div8,clk_div16:in std_logic;

q:out std_logic

);

end switchfrequency;

architecture behave of switchfrequency is

signal sel:std_logic_vector(1 downto 0);

begin

sel<=s1&s2;

q<=clk_div2 when sel="00" else

clk_div4 when sel="01" else

clk_div8 when sel="10" else

clk_div16;

end behave;

3.正弦波

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity sine is

port(clk,reset:in std_logic;

q:out integer range 0 to 255);

end sine;

architecture behave of sine is

begin

process(clk,reset)

variable tmp:integer range 0 to 63;

begin

if reset='0'then

q<=0;

elsif clk'event and clk='1'then

if tmp=63 then

tmp:=0;

else

tmp:=tmp+1;

end if;

case tmp is

when 00=>q<=255;when 01=>q<=254;when 02=>q<=252;

when 03=>q<=249;when 04=>q<=245;when 05=>q<=239;

when 06=>q<=233;when 07=>q<=225;when 08=>q<=217;

when 09=>q<=207;when 10=>q<=197;when 11=>q<=186;

when 12=>q<=174;when 13=>q<=162;when 14=>q<=150;

when 15=>q<=137;when 16=>q<=124;when 17=>q<=112;

when 18=>q<=99;when 19=>q<=87;when 20=>q<=75;

when 21=>q<=64;when 22=>q<=53;when 23=>q<=43;

when 24=>q<=34;when 25=>q<=26;when 26=>q<=19;

when 27=>q<=13;when 28=>q<=8;when 29=>q<=4;

when 30=>q<=1;when 31=>q<=0;when 32=>q<=0;

when 33=>q<=1;when 34=>q<=4;when 35=>q<=8;

when 36=>q<=13;when 37=>q<=19;when 38=>q<=26;

when 39=>q<=34;when 40=>q<=43;when 41=>q<=53;

when 42=>q<=64;when 43=>q<=75;when 44=>q<=87;

when 45=>q<=99;when 46=>q<=112;when 47=>q<=124;

when 48=>q<=137;when 49=>q<=150;when 50=>q<=162;

when 51=>q<=174;when 52=>q<=186;when 53=>q<=197;

when 54=>q<=207;when 55=>q<=217;when 56=>q<=225;

when 57=>q<=233;when 58=>q<=239;when 59=>q<=245;

when 60=>q<=249;when 61=>q<=252;when 62=>q<=254;

when 63=>q<=255;when others=>null;

end case;

end if;

end process;

end;

4.递减锯齿波

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity decreasesawtooth is

port( clk:in std_logic;

reset:in std_logic;

q:out std_logic_vector(7 downto 0)

);

end decreasesawtooth;

architecture behave of decreasesawtooth is

begin

process(clk,reset)

variable temp:std_logic_vector(7 downto 0);

begin

if reset='0' then

temp:="00000000";

elsif clk'event and clk='1' then

if temp="00000000" then

temp:="11111111";

else temp:=temp-1;

end if;

end if;

q<=temp;

end process;

end behave;

5.递增锯齿波

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity increasesawtooth is

port( clk:in std_logic;

eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 14微电子科学与工程 姓名:黄山 时间:2016年12月20日 指导教师:万美琳卢仕 完成日期:2015年12月20日

多功能数字钟设计任务书 1.设计目的与要求 了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解 2.设计内容 1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开; 2,能用按键调时调分; 3,能整点报时,到达整点时,蜂鸣器响一秒; 4,拓展功能:秒表,闹钟,闹钟可调 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录(四号仿宋_GB2312加粗居中) (空一行) 1 引言 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2总体设计框图 (2) 3设计原理分析 (3) 3.1分频器 (4) 3.2计时器和时间调节 (4) 3.3秒表模块 (5) 3.4状态机模块 (6) 3.5数码管显示模块 (7) 3.6顶层模块 (8) 3.7管脚绑定和顶层原理图 (9) 4 总结与体会 (11)

多功能电子表 摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能 关键词:Verilog语言,多功能数字钟,数码管显示; 1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然 2 总体设计方案 2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

EDA综合课程设计_数字时钟设计一、题_001

EDA综合课程设计-数字时钟设计 一、题目要求 1、功能 1)具有时、分、秒计数显示功能,以24小时循环计时。 2)时钟计数显示时有LED灯的花样显示。 3)具有调节小时、分钟、秒及清零的功能。 4)具有整点报时功能。 2、总体方框图 3、性能指标及功能设计 1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。 2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。 4)蜂鸣器在整点时有报时信号产生,蜂鸣器报警。产生“滴答.滴答”的报警声音。 5)LED灯在时钟显示时有花样显示信号产生。即根据进位情况,LED不停的闪烁,从而产生“花样”信号。

根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,而分钟均是采用6进制和10进制的组合。 数字时钟系统顶层原理图

多功能数字时钟的课程设计报告 1、本设计可以实现的功能 1)具有时、分、秒计数显示功能,以24小时循环计时。 2)时钟计数显示时有LED灯的花样显示。 3)具有调节小时、分钟及清零的功能。 4)具有整点报时功能。 2、初步设计的总体方框图 3、性能指标及功能设计 1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。 2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的K1-K7进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。

基于EDA技术的数字时钟设计

电子系统课程设计任务书 设计题目:基于EDA技术的数字时钟设计 设计目的:课程设计是一种复杂的学习实践过程。设计过程采用系统设计的方法,先分析任务,得到系统设计的要求,然后进行总体设计,划分子系统模块,然后进行详细设计,编写各个功能子系统VHDL代码并进行功能仿真,最后进行整个系统总装并仿真。 设计内容:设计一个采用0.5英寸LED数码管显示的数字时钟系统,工作电源5V,它采用24小时制,具有“时”、“分”、“秒”显示,并且可以校正时间显示。 设计要求: 1.由石英晶体多谐振荡器20MHz和分频器产生1Hz标准秒脉冲;(说 明:EDA试验箱中晶振频率20MHz,经试验箱内一系列二分频可将频率降低,但无法直接产生1Hz信号,需要大家根据实际情况编制分频器得到1Hz信号); 2.秒电路、分电路均为60进制计数,时电路为24进制计数; 3.数码管采用动态扫描方式; 4.能动手校时,校时模块功能可以自由发挥。比如可用两个按钮实 现校时,A按钮控制调整项目,B按钮调整数字,B按钮还可以根据按下时间长短实现慢调、快调功能。也可以用三个按钮实现增减两个方向的手动校时。校时用按钮开关不能超过4个; 5.扩展内容:1)进入校时状态后,被调整数字以2Hz闪烁; 2)24/12小时可调,处于12小时制时,要有AM/PM

显示; 3)所有开关加入防抖设计; 4)加入检测外部环境亮度功能,夜间自动降低数码管显示亮度; 5)加入整点报时电路; 6)增加秒表功能; 7)增加报闹功能。 6.以上电路功能除外部环境亮度检测电路外均由VHDL代码实现层次式设计,顶层电路可以采用EDA电路图。 设计成果: 1.课程设计说明书,要求内容完整,图表完备,条理清楚,字迹工 整,程序完整有相应的注解,仿真波形设计合理有必要的分析,引用资料要注明出处。 2.顶层电路原理图,各层电路VHDL代码及仿真波形。

EDA课程设计——多功能数字钟

哈尔滨工业大学(威海) 电子学课程设计报告带有整点报时的数字钟设计与制作 姓名: 蒋栋栋 班级: 0802503 学号: 080250331 指导教师: 井岩

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

EDA课设数字钟设计

课程设计报告 课程名称数字系统与逻辑设计 课题名称数字钟设计 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛谭小兰 2013年7月7日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题数字钟设计 专业班级通信工程1101班 学生姓名 学号 指导老师 审批乔汇东 任务书下达日期2013 年6月29日 任务完成日期2013 年7月7日

《数字系统与逻辑设计》课程设计任务书一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的 组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试 程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养 使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单 及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应 的分析与结论。 三、进度安排 第十九周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

eda,verilog数字钟设计报告

数字钟 一、任务解析 用Verilog硬件描述语言设计数字钟,实现: 1、具有时、分、秒计数显示功能,以二十四小时循环计时。 2、具有调节小时,分钟的功能,调整时对应的数字闪烁。 3、具有整点报时及闹铃时间可调的功能。 4、数字钟具有四种模式:正常显示、时间调整、闹铃时间调整、秒表。 二、方案论证 没有闹铃功能 三、重难点解析 选择模式:module beii(clr,selin_key,beii_out); input clr,selin_key; output [1:0]beii_out; wire [1:0]beii_out; reg [1:0]selout_key; always@(negedge clr or posedge selin_key) begin if(!clr) selout_key=0; else begin if(selout_key==2) selout_key=0; else selout_key=selout_key+1;end end assign beii_out=selout_key; endmodule

头文件中: module clk_top(clr,clk,upkey,downkey,sel,a,b,c,d,e,f,g,p,clr_key,selin_key); clr:清零clk:50M时钟 upkey:向上调downkey:向下调 clr_key:恢复初始状态selin_key:模式选择 四、硬件资源分配 60进制module mycnt60(clr,clk,upkey,downkey,selout,q,c); input clk,clr,upkey,downkey;//upkey为加按键 input [1:0] selout; output[7:0] q;//60进制输出 output c;//进位溢出位 reg c; reg[7:0] q; wire new_clk1,ckb,ckc,ckd,cko; assign new_clk1=clk|((!selout[0]&selout[1])&(upkey|downkey)); LCELL AA(new_clk1,ckb);//信号延迟 LCELL BB(ckb,ckc); LCELL CC(ckc,ckd); LCELL DD(ckd,cko); initial c=0; always @(posedge cko or negedge clr )begin if(!clr) q=8'h00; else begin if(selout==2) begin if(upkey)begin if(q==8'h59) q=8'h00; else if(q==8'h?9) q=q+4'h7; else q=q+1; end else if(downkey)begin if(q==8'h00) q=8'h59; else if(q==8'h?0) q=q-4'h7; else q=q-1; end

推荐-基于多功能数字钟的课程设计报告 精品

EDA技术课程设计 多功能数字钟 学院:城市学院 专业、班级: 姓名: 指导老师: 20XX年12月

目录 1、设计任务与要求 (2) 2、总体框图 (2) 3、选择器件 (2) 4、功能模块 (3) (1)时钟记数模块 (3) (2)整点报时驱动信号产生模块 (6) (3)八段共阴扫描数码管的片选驱动信号输出模块 (7) (4)驱动八段字形译码输出模块 (8) (5)高3位数和低4位数并置输出模块 (9) 5、总体设计电路图 (10) (1)仿真图 (10) (2)电路图 (10) 6、设计心得体会 (11)

一、设计任务与要求 1、具有时、分、秒记数显示功能,以24小时循环计时。 2、要求数字钟具有清零、调节小时、分钟功能。 3、具有整点报时,整点报时的同时输出喇叭有音乐响起。 二、总体框图 多功能数字钟总体框图如下图所示。它由时钟记数模块(包括hour、minute、second 三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。 系统总体框图 三、选择器件 网络线若干、共阴八段数码管4个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、 seltime(驱动4位八段共阴扫描数码管的片选 驱动信号输出模块)、deled(驱动八段字形译 码输出模块)。

四、功能模块 多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。 (1) 时钟记数模块: <1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。 VHDL程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hour24 is port( clk: in std_logic; reset:instd_logic; qh:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); ql:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); end hour24; architecture behav of hour24 is begin process(reset,clk) begin if reset='1' then qh<="000"; ql<="0000"; elsif(clk'event and clk='1') then if (qh<2) then if (ql=9) then ql<="0000"; qh<=qh + 1; else ql<=ql+1; end if; else if (ql=3) then ql<="0000"; qh<="000"; else ql<=ql+1; end if; end if; end if; end process; end behav; 仿真波形如下:

EDA数字钟设计

EDA数字钟设计报告 姓名: xxx 学号:xxxxxxx 专业:电子与通信工程 日期:2014-11-7 江苏科技大学电信院 2014-11-7

1 引言 数字钟通过数字电路技术实现时、分、秒计时,与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,本次电子线路课程设计是在vhdl基础上设计并制作一个可以调控的数字钟。 1.1 实验目的与要求 1.1.1 实验目的 (1)掌握GW48PK2++实验系统的基本用法以及vhdl语言的使用: (2)巩固元件例化、元件调用的基本方法,以及数码管、按键扫描的相关 知识。 1.1.2实验要求 (1)采用元件例化、元件调用实现整体设计; (2)利用按键进行调时; (3)能在实验箱进行仿真验证。 2 系统设计 2.1 原理图设计 数字钟原理图,如图1 图1 数字钟原理图 如图1所示,该系统主要包含六个模块,分为分频器、计数以及显示模块三 大部分,另有按键进行时间控制。

2.2 各模块设计 2.2.1分频器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div is port(clk0:in std_logic; clk_1Hz,clk_1kHz:out std_logic); end entity; architecture one of div is signal q1Hz:integer range 0 to 10000000-1 ; signal q1kHz:integer range 0 to 10000-1 ; begin process(clk0) begin if clk0'event and clk0='1'then if q1Hz<5000000-1 then clk_1Hz<='0';q1Hz<=q1Hz+1; elsif q1Hz=10000000-1 then q1Hz<=0; else clk_1Hz<='1';q1Hz<=q1Hz+1; end if; if q1kHz<5000-1 then clk_1kHz<='0';q1kHz<=q1kHz+1; elsif q1kHz=10000-1 then q1kHz<=0; else clk_1kHz<='1';q1kHz<=q1kHz+1; end if; end if; end process; end; 该模块将10MHz的时钟进行分频,产生1S和1mS的信号传递给计数与显示

EDA数字时钟课程设计报告

EDA技术及应用课程设计说明书 2013 届电子信息工程专业班级 题目数字时钟 学号 姓名 指导教师 二О一五年月日

一、基本原理 一个完整的时钟应由三部分组成:秒脉冲发生电路、计数显示部分和时钟调整部分。 秒脉冲发生电路原理:一个时钟的准确与否主要取决于秒脉冲的精确度。为了保证计时准确我们对系统时钟48MHz进行了48000000分频,从而得到1Hz的秒脉冲。 计数显示部分原理:显示部分是用数码管LED实现的,这里使用的是共阳极的数码管如图所示8个数码管,其中左边两个数码管用来显示时的个位和十位、中间的显示分的个位和十位、最右边两个显示分的个位和十位。 时钟调整部分原理:校时电路里定义key[0]、key[1]和k2、k3分别用于控制时钟的计时开始、清零和调整功能中的时的加1、分的加1处理,从而完成对现在的时间调整。本实验电路校时电路在此完成了暂停、清零、时调整和分调整。

二、硬件设计 芯片图: 图1 数字时钟原理图 程序的调试工作都是在电脑上完成的,通过程序的输入、原理图的建立、管脚分配、编译、仿真、再下载到芯片进行运行。

电路中采用共阳极连接的七段数码管,通过程序的控制扫描驱动来显示时钟的时-分-秒。

程序中的按键设定为K1暂停、K2清零、K3调时、K4调分元件清单: 三、数字时钟的Verilog实现 管脚的分配: 程序: module clock(clk,s1,,s2,key,dig,seg); //模块名clock input clk,s1,s2; //输入时钟 input[1:0]key; //输入按键 output[7:0]dig; //数码管选择输出引脚

EDA实验数字计时器设计

数字计时器设计 一、实验目的 1、掌握常见集成电路的工作原理和使用方法。 2、学会单元电路的设计调试方法。 3、掌握QuartusII软件的基本使用方法及会用其设计调试数字计时器。 二、实验设计要求 1、能进行正常的时、分、秒计时功能; 2、分别由六个数码管显示时分秒的计时; 3、系统有保持、清零、校时、校分功能; 4、使时钟具有整点报时功能(当时钟计到59'53"时开始计时,分别在 59'53",59'55",59'57"报时频率500Hz,在59'59"报时频率1000Hz); 5、闹表设定功能。 三、整体电路的工作原理 原理框图: 脉冲产生电路将硬件上的48MHz脉冲依次分频使其产生1Hz脉冲,输入计时器电路,计时器电路时分秒对应的模24、模60、模60计数器采用同步触发方式实现00:00:00~ 23:59:59计时。

校时校分电路通过校时、校分开关的切换来改变计时器电路时分秒对应的模24、模60、模60计数器CLK 端输入脉冲及使能端的设置实现。 保持电路通过使计时器三个计数器使能端置0的方法来实现。 清零电路通过使计时器三个计数器清零端置0的方法来实现。 整点报时电路通过脉冲产生电路的分频及若干门电路组合实现。 闹表: 先设计一48选24的译码选择电路对计时器电路与闹钟定时电路的输出进行选择,界面显示切换通过设置一开关对译码选择电路的控制实现。 定时定分电路设计原理与上校时校分电路一致。 闹铃的设置是先通过一比较电路判断此时计时器电路的时分与闹钟定时电路是否一致来判断是否响铃,铃声是通过数据选择器及若干门电路来对响铃频率的设定。 最后设置一闹铃开关来实现闹表的开关。 四、各子模块设计原理及仿真波形 1、脉冲发生电路(分频电路) 原理图见附表1 用到了四分频、六分频、八分频和一千分频电路,下面以六分频和一千分频为列说明: A 、六分频电路: 它是应用了三个JK 触发器构成的T 触发器,[1][2][1][0]t q q q =+ [2][2][1][0][1]t q q q q =+ [2][1][0]q q q 依次循环输出:000 001 010 101 110 111;从而输出[2]q 就是将clk 六 分频,且脉宽仍为50% 仿真波形:

EDA课程设计--带有整点报时的数字钟设计与制作

电子学课程设计报告带有整点报时的数字钟设计与制作

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

EDA课程设计报告(电子钟VHDL 设计)

EDA课程设计报告(电子钟VHDL 设计) 作者:dang168 时间:2008-10-05 E D A课程设计报告 -----电子钟VHDL 设计 一设计要求 设计一个电子钟,要求可以显示时、分、秒,用户可以设置时间. 二.实验目的 1. 掌握多位计数器相连的设计方法。 2. 掌握十六进制,二十四进制,六十进制计数器的设计方法。 3. 掌握CPLD技术的层次化设计方法。 4. 了解软件的元件管理含义以及模块元件之间的连接概念。 5. 掌握电子电路一般的设计方法,并了解电子产品的研制开发过程,基本掌握电子电路安装和调试的方法。 6. 培养独立分析问题,解决问题的能力。 三.硬件要求 1.8位8段扫描共阴极数码显示管。 2. 三个按键开关(清零,调小时,调分钟)。 四.设计原理 数字钟是一个将“时”“分”“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时;显示满刻度为23时59分59秒,另外具备校时功能和报时功能。因此,一个基本的数字钟电路主要由“时”“分”“秒”计数器校时电路组成。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累加60秒发送一个“分脉冲”信号,该信号将被送到“时计数

器”。“时计数器”采用24进制计数器,可实现对一天24小时的累计。译码显示电路将“时”“分”“秒”计数器的输出状态六段显示译码器译码。通过六位LED七段显示器显示出来。校时电路器是用来 对“时”“分”“秒”显示数字进行校时调整的。 在同一CPLD芯片口集成如下电路模块: 1.电子钟计数采用层次化设计,将设计任务分成若干个模块。规定每一模块的功能和各模块之间的接口。 (1)second(秒) 60进制BCD码计数 (2)minute(分) 60进制BCD码计数 (3)hour (时) 24进制BCD码计数 (4)clock top 顶层设计 同时整个计数器有清零,调时,调分功能。 2.端口引脚名称  输入 clk,reset,setmin,sethour  输出 second—daout,minute-daout,hour-daout 五.设计原理图 逻辑功能图: 输入:CLK—时钟脉冲,RESET—复位信号,SETMIN—分加1信号,SETHOUR—秒加1信号 输出:SECOND_DAOUT—秒输出,MINUTE_DAOUT—分输出,

EDA数字钟设计

摘要:应用VHDL语言编程,进行了多功能数字钟的设计,并在MAX PLUSⅡ环境下通过了编译、仿真、调试。 关键词:VHDL;EDA;数字钟;仿真图 0.引言 随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展。基于这种情况,可编程逻辑器件的出现和发展大大改变了传统的系统设计方法。可编程逻辑器件和相应的设计技术体现在三个主要方面:一是可编程逻辑器件的芯片技术;二是适用于可逻辑编程器件的硬件编程技术,三是可编程逻辑器件设计的EDA开发工具,它主要用来进行可编程逻辑器件应用的具体实现。在本实验中采用了集成度较高的FPGA 可编程逻辑器件, 选用了VHDL硬件描述语言和MAX + p lusⅡ开发软件。VHDL硬件描述语言在电子设计自动化( EDA)中扮演着重要的角色。由于采用了具有多层次描述系统硬件功能的能力的“自顶向下”( Top - Down)和基于库(L ibrary - Based)的全新设计方法,它使设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短 了产品的研制周期。MAX + p lusⅡ是集成了编辑器、仿真工具、检查/分析工具和优化/综合工具的这些所有开发工具的一种集成的开发环境,通过该开发环境能够很方便的检验设计的仿真结果以及建立起与可编程逻辑器件的管脚之间对应的关系。 1. EDA简介 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了

EDA数字钟课程设计

课程设计报告 设计题目:用VHDL语言实现数字钟的设计 班级:电子1002班 学号:20102625 姓名:于晓 指导教师:李世平、李宁 设计时间:2012年12月

摘要 数字钟是一种用数字电路技术实现时、分、秒计时的钟表。本设计主要是实现数字钟的功能,程序用VHDL语言编写,整体采用TOP-TO-DOWN设计思路,具有基本的显示年月日时分秒和星期的功能,此外还有整点报时功能。该数字钟的实现程序分为顶层模块、年月模块、日模块、时分秒定时模块、数码管显示模块、分频模块、星期模块,此外还有一个库。该程序主要是用了元件例化的方法,此外还有进程等重要语句。 没有脉冲时,显示时分秒,set按钮产生第一个脉冲时,显示年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7、8个脉冲到来时分别可预置日期、时、分、秒、星期,第 9个脉冲到来时设置星期后预置结束,正常工作,显示的是时分秒和星期。调整设置通过Up来控制,UP为高电平,upclk有脉冲到达时,预置位加1,否则减1。当整点到达时,报时器会鸣响,然后手动按键停止报时。 关键词:数字钟,VHDL,元件例化,数码管

1、课程设计目的 掌握利用可编程逻辑器件和EDA设计工具进行电子系统设计的方法 2、课程设计内容及要求 设计实现一个具有带预置数的数字钟,具有显示年月日时分秒的功能。用6个数码管显示时分秒,set按钮产生第一个脉冲时,显示切换年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7个脉冲到来时分别可预置日期、时、分、秒,第 8个脉冲到来后预置结束,正常工作,显示的是时分秒。Up为高电平时,upclk有脉冲到达时,预置位加1.否则减1,还可以在此基础上增加其它功能。 3、VHDL程序设计 3.1整体设计思路 本设计采用top-down 模式设计,分模块进行,各功能都使用元件例化方式设计,主要有LED显示模块、时分秒定时模块、日期模块、年月模块、分频模块、星期模块,此外还创建了一个程序包,用来实现年月日、时分秒的加减调整。主要运用了过程语句、元件例化语句、信号赋值语句、和顺序语句

EDA数字时钟课程设计

课程设计报告 学生姓名学号 班级 专业电子信息工程 题目数字时钟设计 指导教师 2011 年11 月

一、任务和设计要求 1. 熟悉集成电路的引脚安排。 2. 掌握各芯片的逻辑功能及使用方法。 3. 了解数字钟的组成及工作原理。 4. 熟悉数字钟的设计与制作。 1.设计指标 (1)时间以24 小时为一个周期; (2)显示时、分、秒; (3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; (4)计时过程具有报时功能,当时间到达整点前 5 秒进行蜂鸣报时。 2.设计要求 (1)画出电路原理图(或仿真电路图); (2)元器件及参数选择; (3)电路仿真与调试 二、设计原理 设计思路 根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。 1)时钟计数: 首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。 由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。 用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。 2)时间设置: 手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能: reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。 总体结构图

数字钟的设计.EDA课程设计

EDA 课程设计报告书 课题名称 数字钟的设计 姓 名 王砾 学 号 0812201-37 院 系 物理与电信工程系 专 业 电子信息工程 指导教师 周来秀讲师 2011年 6月13日 ※※※※※※※※※ ※※ ※※ ※ ※ ※※※※※※※※※ 2008级学生 EDA 课程设计

一、设计任务及要求: 设计并制作一台能显示时、分、秒的数字钟。具体要求如下: 1)计时计数器用24进制计时器电路。 2)可手动校时,能清零及分别进行时、分、秒的校正。 3)可整点报时,扬声器发出时长为1s的信号。 4)可设置闹钟功能。当计时计到预定时间时,扬声器发出闹铃信号,可控制闹铃时长。 指导教师签名: 2011 年月日二、指导教师评语: 指导教师签名: 2011年月日三、成绩 验收盖章 2011年月日

数字钟的设计 王砾 (湖南城市学院物理与电信工程系电子信息工程专业,湖南益阳,41300) 1设计目的 1,熟练的运用数字系统的设计方法进行数字时钟设计 2,能进行较复杂的数字系统设计 3,按要求设计一个数字钟 2设计的主要内容和要求 a.计时计数器用24进制计时器电路。 b.可手动校时,能清零及分别进行时、分、秒的校正。 c.可整点报时,扬声器发出时长为1s的信号。 d.可设置闹钟功能。当计时计到预定时间时,扬声器发出闹铃信号,可控制闹 铃时长。 3 整体设计方案 基于VHDL语言,用Top_Down的思想进行设计,其中计数模块、闹铃模块、定时模块、显示模块为主要模块,选择模块为辅助模块。

en1 en2clr clk rco q1[3..0]q2[3..0]count_60 inst 选择模块 定时模块 显示模块 闹铃模块计数模块选择模块 数码显示管 4 硬件电路的设计 4.1如下分别为60与24进制模块的代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity count_60 is port(en1,en2,clr,clk : in std_logic; rco : out std_logic; q1,q2 : out std_logic_vector(3 downto 0)); end count_60; architecture behav of count_60 is signal iq1,iq2 : std_logic_vector(3 downto 0); begin process(en1,en2,clr,clk) begin if(clr='1')then iq1<="0000"; iq2<="0000"; elsif(clk='1' and clk'event)then if(en1 or en2)='1'then if(iq2>=5)then

EDA数字时钟

设计报告 课程名称在系统编程技术任课教师周泽华 设计题目EDA数字钟设计班级09自动化1班姓名王冰 学号0905071010 日期2012/6/4

前言 随着基于PLD的EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益提高。 作为现在的大学生应熟练掌握这门技术,为以后的发展打下良好的基础,本实验设计是应用QuartusII环境及VHDL语言设计一个时间可调的数字时钟。使自己熟练使用QuartusII环境来进行设计,掌握VHDL语言的设计方法。要注重理论与实践之间的不同,培养自己的实践能力!

目录 一、课程设计任务及要求 (3) 1.1实验目的 (3) 1.2功能设计 (3) 二、整体设计思想 (3) 2.1性能指标及功能设计 (3) 2.2总体方框图 (4) 三、详细设计 (4) 3.1数字钟的基本工作原理: (4) 3.1.1时基T 产生电路 (4) 3.1.2调时、调分信号的产生 (4) 3.1.3计数显示电路 (5) 3.2设计思路 (5) 3.3设计步骤 (6) 3.3.1工程建立及存盘 (6) 3.3.2工程项目的编译 (7) 3.3.3目标芯片的选择 (8) 3.3.4时序仿真 (9) 3.3.5引脚锁定 (10) 3.3.6硬件测试 (11) 3.3.7实验结果 (12) 四、设计总结 (12) 五、附录 (13) 5.1 VHDL源程序 (13) 5.2电路图 (18) 5.3仿真波形 (18)

一、课程设计任务及要求 1.1实验目的 1)熟练地运用数字系统的设计方法进行数字系统设计; 2)能进行较复杂的数字系统设计; 3)按要求设计一个数字钟。 1.2功能设计 1)有时、分、秒计数显示功能,以24小时循环计时; 2)设置复位、清零等功能; 3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; 4)时钟计数显示时有LED灯显示; 5)具有整点报时功能。 二、整体设计思想 2.1性能指标及功能设计 1)时、分、秒计时器 时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。 2)校时电路 当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。

相关主题
文本预览
相关文档 最新文档