EDA课程设计,数字频率计解析

EDA课程设计,数字频率计解析
EDA课程设计,数字频率计解析

目录

前言 (1)

1. 总体设计方案 (2)

1.1总体设计方案 (2)

2. 单元模块设计 (2)

2.1十进制计数器设计 (2)

2.1.1 十进制计数器原件cnt10设计 (2)

2.1.2 位十进制计数器的顶层设计 (4)

2.2闸门控制模块EDA设计 (5)

2.2.1 定时信号模块Timer (5)

2.2.2 控制信号发生器模块T_con (7)

2.3译码显示模块 (8)

2.3.1 显示寄存器设计 (8)

2.3.2 译码扫描显示电路 (9)

2.3.3 译码显示模块的顶层电路设计 (12)

3. 软件测试 (13)

3.1测试的环境 (13)

3.2调试和器件编程 (14)

4. 设计总结 (15)

5. 参考文献 (16)

前言

在电子技术高度发展的今天,各种电子产品层出不穷,而频率作为设计的最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程的自动化等优点。

数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器,它的基本功能是测量正弦信号、方波信号、尖脉冲信号以及其它各种单位时间内变化的物理量。当今国内外厂家生产的数字频率计在功能和性能方面都比较优良,而且还在不断发展中,但其结构比较复杂,价位也比较高,在测量精准度要求比较低的测量场合,使用这些数字频率计就不够经济合算。我所设计的这款数字频率计能够可靠实现频率显示功能,原理及结构也比较简单本次所做的课程设计就是一个数字频率计,能测量1HZ~9999HZ的矩形波信号,并正确地显示所测信号的频率值。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着现场可编程门阵列FPGA 的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。

采用FPGA现场可编程门阵列为控制核心,通过硬件描述语言VHDL编程,在Quartus‖仿真平台上编译、仿真、调试,并下载到FPGA芯片上,通过严格的测试后,能够较准确地测量各种常用的波形信号的频率,而且还能对其他多种物理量进行测量。

1. 总体设计方案

1.1 总体设计方案

数字频率计基本原理是用计数器来计算1S内输入信号周期的个数。如图1所示是4位十进制数字频率计的系统方框原理图,当系统正常工作时,脉冲发生器提供的1 Hz的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果。

图1 总体设计方案

2. 单元模块设计

2.1 十进制计数器设计

2.1.1 十进制计数器原件cnt10设计

十进制计数器即可采用Quartu s‖的宏元件74160,也可用VHDL语言设计,其源程序如下。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cnt10_v IS

PORT(CLK,RST,EN:IN STD_LOGIC;

CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

COUT:OUT STD_LOGIC );

END cnt10_v;

ARCHITECTURE behav OF cnt10_v IS

BEGIN

PROCESS(CLK,RST,EN)

V ARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF 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 behav;

在源程序中:COUT:计数器进位输出

CQ[3..0]:计数器的状态输出

CLK:时钟输入端

RST:复位控制输入端,当RST=1时,CQ[3..0]=0

EN:使能控制输入端,当EN=1时,计数器计数;当EN=0

时,计数器保持不工作状态。

图2 十进制计数器仿真输出波形

在项目编译仿真成功后将设计的十进制计数器电路设置成可调用的元件cnt10_v.bsf ,用于以下四位十进制计数器的顶层设计。

cnt10_v

inst

CLK RST EN

CQ[3..0]COUT

图3 十进制计数器元件符号

2.1.2 位十进制计数器的顶层设计

顶层电路原理图如图4所示。文件名4cnt10.bdf 。

该顶层设计可以用原理图输入的方法完成。在QuartusII 中,新建一个原理图编辑窗口,从当前的工程目录中调出4片十进制计数器元件cnt_v ,并按4所示的4位十进制计数器的顶层原理图完成电路接线。

完成4

位十进制计数器的顶层原理图编辑以后,即可进行仿真测试和波形分析,其仿真输出波形如图5所示,当CLR=0,EN=1时其计数值在0~9999之间的变化,COUT 为计数进位输入信号,在实际应用中可作为超量程报警信号,因此仿真结果真确无误。此后,可将以上设计的4位十进制计数器设置成可调用的元件4cnt10.bsf 以备高层设计中使用,其元件符号如图6所示。

图4 十进制计数器的顶层原理图

图5 四位十进制计数器的仿真图 4cnt10

inst

clk rst en

out1[3..0]out2[3..0]out3[3..0]out4[3..0]

cout

图6 元件封装符号图

2.2 闸门控制模块EDA 设计

根据以上所述,频率计电路工作时先要产生一个计数允许信号(即闸门信号),闸门

信号的宽度为单位时间如1s ,在闸门信号有效时间内,对被测信号计数,即为信号的频率,该频率计电路的精度取决于闸门信号T ,该模块课分为2个子模块,一个是定是信号模块,一个是控制信号发生器模块。

2.2.1 定时信号模块Timer

根据设计要求,对于4位十进制计数器来说,当闸门信号的最大采样时间为1s 时,其计数值在0~9999之间,则最大频率为9999Hz ,此即位频率计电路工作的1档;当闸门信号的最大采样时间为0.1s(100ms)时,其计数值在0~9999之间,把它转化为频率则为最小频率为10Hz ,最大频率为9999Hz ,此即为频率计电路工作的2档;当闸门信号的最大采样时间为0.01s(10ms)时,其计数值在0~9999之间,把它转换为频率则为最小频率为100Hz ,最大频率为999900Hz 或999.9KHz ,此即为频率计电路工作的3档;当闸门信号的最大采样时间为0.001s(1ms)时,其技术值在0~9999之间,把它转换为频率则为最小频

率为1000Hz,最大频率为9999000Hz或9.99MHz,此即为频率计电路工作的4档。

本设计中假设输入的系统基准时钟为1KHz,为产生4种不同的闸门信号T,可由一组3级模10计数器对1KHz信号进行分频,为控制信号发生器提供4种不同的频率信号,通过数据选择器41MUX利用量程选择开关控制闸门信号T的基准时钟,原理如图7所示。

图7中,cnt10_v为已设计好的十进制计数器元件,可直接把该模块作为底层元件使用,41MUX为4选1数据选择器,其4个输入为1KHz信号进行分频后的4中不同的频率信号L4(1s)、L3(100ms)、L2(10ms)、L1(1ms)。A、B为量程选择开关,其4种不同编码状态00、01、10、11通过4选1数据选择器分别选择输出4种不同的频率信号到Bclk,Blck将作为控制信号发生器模块的控制时钟脉冲。A、B的4种不同编码状态通过2-4译码器74139M产生4个量程状态显示信号p0(1档)、p1(2档)、p3(3档)、p4(4档)。图8为其编译仿真后的输出时序波形图,生成的元件符号图如图9所示。

图7 定时信号模块原理图

Timer inst

l1B A

Bclk p0p1p2p3

图9 定时信号模块

2.2.2 控制信号发生器模块T_con

控制信号发生器原理图如图10,文件名T_con.bdf 。

该模块主要根据输入的控制时钟脉冲,产生计数允许信号EN ,该信号的高电平是持续时间即计数允许时间输入的控制时钟脉冲周期;产生清零信号CLR ,在计数使能前对计数器清零;产生存储信号XEN ,在计数后,利用上升沿把最新的频率测量值保存在显示寄存器中。

控制信号发生器用74161构成4分频计数器,用一个与非门,一个或非门和一个异或门实现3种译码状态,以便产生清零信号CLR ,使能信号EN 和存储信号XEN 。其仿真输出波形图如图11,编译仿真真确无误后,生成元件符号图12所示。

图10 信号发生器模块原理图

图11 仿真输出波形

T_con

Bclk E N

CLR

XE N

inst

图12 控制信号发生器模块

2.3 译码显示模块

译码显示模块有显示寄存器和译码扫描显示电路组成。

2.3.1 显示寄存器设计

显示寄存器是在计数后,利用触发器的上升沿把最新的频率测量值保存起来,这样在计数过程中可不必一直看着数码管显示器,显示器将最终的频率读数定期进行更新,其输出将作为译码扫描显示电路的输入。16位显示寄存器的VHDL源程序如下。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY reg_16 IS

PORT ( Load: IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);

DOUT: OUT STD_LOGIC_VECTOR(15 DOWNTO 0));

END reg_16;

ARCHITECTURE behav OF reg_16 IS

BEGIN

PROCESS( Load, DIN)

BEGIN

IF Load ' EVENT AND Load='1' THEN --时钟到来时,锁存输入数据

DOUT<=DIN;

END IF;

END PROCESS;

END behav;

在源程序中:Load:锁存信号,上升沿触发

DIN[15..0]:寄存器输入

DOUT[15..0]:寄存器输出

reg_16

inst

Load DIN[15..0]

DOUT[15..0]

图13 16位显示寄存器元件符号

2.3.2 译码扫描显示电路

数字逻辑系统中常用的显示器件是数码管,半导体数码管的外形和等效电路如图14所示,其每一个字段都是一个发光二极管。在FPGA 验证设计结果时,两种方法均可采用。N 个LED 数码管以静态方式显示时,需用到8×N 条引脚端资源是有限的。因此对于多个LED 数码管显示,可以采用扫描方式来实现LED 数码管动态显示。

实现方法是将频率计的4个数码管的相应字段并联起来,由于FPGA 的输入信号a 、b 、c 、d 、e 、f 、g 、h (小数点)直接驱动相应字段,由片选信号S1、S2、S3、S4依次点亮各个LED 数码管,循环进行显示,其原理图如图15。

图14 数码管的外形和等效电路

图15 数码管动态扫描显示原理图

①七段数码显示译码器的VHDL 设计

该模块将显示寄存器的4位BCD 数字符译成七段码,根据表1,其VHDL 源程序如下。

七段数码显示译码器的VHDL源程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DECL7S IS

PORT(A :IN STD_LOGIC_VECTOR(3 DOWNTO 0);

LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END DECL7S;

ARCHITECTURE one OF DECL7S IS

BEGIN

PROCESS(A)

BEGIN

CASE A IS

WHEN"0000"=> LED7S<="0111111"; --0(LED为共阴级)

WHEN"0001"=> LED7S<="0000110"; --1

WHEN"0010"=> LED7S<="1011011"; --2

WHEN"0011"=> LED7S<="1001111"; --3

WHEN"0100"=> LED7S<="1100110"; --4

WHEN"0101"=> LED7S<="1101101"; --5

WHEN"0110"=> LED7S<="1111101"; --6

WHEN"0111"=> LED7S<="0000111"; --7

WHEN"1000"=> LED7S<="1111111"; --8

WHEN"1001"=> LED7S<="1101111"; --9

WHEN OTHERS=> NULL;

END CASE;

END PROCESS;

END one;

源程序中:A[3..0]:0~9的BCD码

LED7S:译码后的7段数据信号

DECL7S

A[3..0]LED7S[6..0]

inst

图16 段数码显示译码器元件符号

②动态扫描显示的VHDL源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY dynamic IS

port(clk, reset:in std_logic;

din1:in std_logic_vector(6 downto 0); --译码后的数据信号1

din2:in std_logic_vector(6 downto 0); --译码后的数据信号2

din3:in std_logic_vector(6 downto 0); --译码后饿数据信号3

din4:in std_logic_vector(6 downto 0); --译码后饿数据信号4 shift: out std_logic_vector(3 downto 0); --位选信号

bus4: out std_logic_vector(6 downto 0)); --数据信号end dynamic;

architecture one of dynamic is

signal scan_clk:std_logic_vector(1 downto 0);

begin

p1:process(clk,scan_clk,reset) --分频进程

variable scan:std_logic_vector(17 downto 0);

begin

if reset='1' then

scan:="000000000000000000";

scan_clk<="00";

elsif clk'event and clk='1'then

scan:=scan+1;

end if;

scan_clk<=scan(1 downto 0);

end process p1;

p2:process(scan_clk,din1,din2,din3,din4) --扫描进程

begin

case scan_clk is

when"00"=>bus4<=din1;shift<="0001";

when"01"=>bus4<=din2;shift<="0010";

when"10"=>bus4<=din3;shift<="0100";

when"11"=>bus4<=din4;shift<="1000";

when others=>bus4<="0000000";shift<="0000";

end case;

end process p2;

end one;

源程序中:clk : 扫描时钟

reset : 复位信号,当reset=1时对位选信号复位 shift : 4个数码管的位选信号,高电平有效 bus4: 进位选输出的7段数据信号

din1、din2、din3、din4:输入的7段数据信号

dy namic

inst

clk reset din1[6..0]din2[6..0]din3[6..0]din4[6..0]

shif t[3..0]bus4[6..0]

图17 动态扫描显示模块元件符号

2.3.3 译码显示模块的顶层电路设计

在QuartusII 中,按照图18所示的译码显示模块的原理图完成底层电路设计和仿真,文件名DEC_D.bdf 。

图20是编译仿真后的输出时序波形图和生成的元件符号。分析图19,当FX=1234时,在时钟脉CLK 作用下,首先送出最低位测量值4,此时数码管的位选信号CH[3..0]=(1)H ,数码管的译码电平输出为(66)H 。第2个为3,此时数码管的位选信号CH[3..0]=(2) H ,数码管的译码电平输出4(F) H 。第3个为2,此时数码管的位选信号CH[3..0]=(4) H ,数码管的译码电平输出为(5B) H 。第4个为1,此时数码管的位选信号CH[3..0]=(8) H ,数码管的译码电平输出为(06) H 。

图18 译码显示模块的原理图

图19 仿真输出波形

DE C_D inst

CLK RE XE N

FX[15..0]

CH[3..0]F[6..0]

图20 译码显示模块DEC_D

3. 软件测试

3.1 测试的环境

QuartusII是Altera公司推出各种可编程逻辑器件产品,具有完全集成化的易学、易用的可视化环境,还有具有工业标准EDA工具接口,并且可以运行在多种操作平台上。使QuartusII提供了丰富的逻辑功能库、模块库以及参数化的兆功能供设计者使用。它还具有开放核的特点,允许设计人员添加自己的宏功能模块。充分利用这些逻辑功能模块,可大大减少设计工作量。

QuartusII由设计输入、项目编译、项目检验和器件编程等四部分组成。设计输入主要有文本编辑器、图形编辑器、符号编辑器、波形编辑器以及第三方EDA工具生成的设计网表文件输入等,输入方式不同,生成的设计文件也不同。

编译设计项目主要是根据要求设计参数和编译策略,如选定其间、锁定引脚等等,然后对项目进行网表提取、逻辑综合、器件适配,产生报告文件,供分析仿真及编程用。项目检验方法包过功能仿真、模拟仿真和定时分析,编程验证是将仿真后的目标文件编入所选定的Altera可编程逻辑器件中,然后加入实际激励信号进行测试,检查是否达到要求。3.2 调试和器件编程

将各个模块的源文件程序代码输入文本文件,编译运行项目成功后,把各个模块放在一起形成顶层设计文件,对项目进行逻辑综合,然后将项目的设计结果加载到Altera器件中;成功编译以后,进入到模拟仿真时段,设置好完成时间和网络间距,在列出输入输出信号等等,进行波形编辑在模拟器运行成功;启动定时分析工具,对传播延迟、时序电路性能、建立和保持时间等进行分析顺利后,就可以开始器件编程了。通过利用ByteBlaster电缆与微机并行口相连,接通EL实验箱电源,打开QuartusII编程器窗口,将器件编程文件调出,确保与电路板顺序相同。设置完成后选择Program按键,对器件链进行编程。

管脚定义如表2示

表2 管脚定义表

4. 设计总结

经过将近半个月的努力、艰苦奋斗以及在同学和老师的帮助下最终完成了这次课程设计的题目——数字频率计。在完成课程设计的过程中我遇到了不少的麻烦,通过向学得好的同学及向老师请教,许多问题迎刃而解并加深了对于FPGA的理解与应用。

在这次课程设计中,从了解器件的原理到总体方案的确立到模块化的实现,以及对cortes Ⅱ软件的使用,经过这一套的流程操作,我发现自己学到了许多东西,同时也发现有很多的知识不懂,自己所懂得的知识在实际中也很难运用起来,所以,自己以后还是应该加强动手能力。我觉得做课程设计同时也是对课本中知识的巩固和加强,由于课本上的知识多,而且内容有限,所以在这次课程设计的过程中。我们了解了FPGA的强大功能,并且对其在电路中的使用有了更多地认识。平时看课本时老是有问题弄不懂,做完课程设计,那些问就迎刃而解了。这次课程设计不仅使我学到了知识也锻炼了我严谨认真的学习态度,知识和技能都得到了提高,,也让我明白了,不懂就要问,更加重要的是加深了大家之间的友情,同学之间变得更加团结了。

5. 参考文献

专著、论文、学位论文、报告

【1】.金西.VHDL与复杂数字系统设计【M】.西安: 西安电子科技大学出版社.2003.6

【2】.杨恒. FPGA/VHDL快速工程实践入门与提高【M】.北京: 北京航空航天大学出版社.2003.4 【3】.刘昌华.数字逻辑EDA设计与实践:MAX+PlusII与QuartrsII双剑合壁【M】.北京:国防工业出版社.2002.4

【4】.付家才.EDA原理与应用【M】.天津:化学工业出版社.2001.8

【5】.蒋尚坤.FPGA原理、设计与应用【M】.天津:天津大学出版社.1999.5

【6】.邓建国. Verilog HDL硬件描述语言【M】.北京:国防工业出版社.1998.7

【7】.胡振华. VHDL与FPGA设计【M】.北京: 中国铁道出版社.2003.4

EDA课程设计—秒表

EDA 课程设计 姓名:王亮 学号:2012118064 班级:1211自动化

一、课程设计目的 1、熟练利用Verilog HDL语言进行数字系统设计。 2、掌握数字系统的设计方法——自顶向下的设计思想。 3、掌握计数器的设计与使用。 4、根据秒表的功能要求设计一个秒表。 5、熟练掌握用Quartus II软件进行系统原理图设计、文本设计以及进行波形仿真。 二、课程设计所需器材 装有Quartus II软件的电脑一台、FPGA教学实验系统一台、下载电缆一根。 三、课程设计要求 1、有秒、分计数,数码扫描显示输出。 2、有清零端和暂停端。 3、下载,检查结果是否正确。 四、课程设计原理 1、功能描述 秒表是一种计时的工具,有着很广泛的用途。本实验中的秒表要求有两个功能按钮:一个是计数和停止计数按钮,当第一次按下此按钮时,秒表开始计数,再一次按下时,秒表停止计数,并显示所计的数字;另一个是清零按钮,当按下此按钮时,秒表清零。在数码管上采用动态扫描显示输出。 2、基本原理: 本设计中用到的主要元件有计数器、分频器、数据选择器、译码器、位选信号发生器等。秒、分都是60进制计数,所以必须采用两个60进制的计数器,而百分秒择采用的是100进制;分频器主要将1KHZ的时钟信号经过10分频后,产生100HZ的单位时钟周期;数据选择器主要功能是将即将显示的数据送给译码器;译码器将BCD码转换为七段译码进行显示;位选信号发生器根据人眼暂留效应和显示的数码的个数,产生一段循环码。 3、自顶向下的设计方法 自顶向下的设计方法是数字系统设计中最常用的设计方法,也是基于芯片的系统设计的主要方法。 自顶向下的设计方法利用功能分割手段将设计由上到下进行层次话和模块化,及分层次、分模块进行设计和仿真。功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解为更少的逻辑块和电路。如此分割,逐步的将系统细化,将功能逐步的具体化,模块化。高层次设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细描述在下一设计层次说明,最底层的设计才涉及具体寄存器和逻辑门电路等实现方式的描述。 五、课程设计步骤 1、采用自顶向下的设计方法,首先将系统分块。 2、设计元件,及逻辑块。

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课程设计——多功能数字钟

哈尔滨工业大学(威海) 电子学课程设计报告带有整点报时的数字钟设计与制作 姓名: 蒋栋栋 班级: 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综合课程设计_数字时钟设计一、题_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技术综合设计》 课程设计报告 报告题目:数字秒表设计 作者所在系部:电子工程系 作者所在专业:自动化 作者所在班级: B08221 作者姓名:赵天娇 指导教师姓名:崔瑞雪 完成时间: 2010年12月1日

内容摘要 EDA技术是电子设计技术和电子制造技术的核心,目前,电子系统的EDA 技术正从主要着眼于数字逻辑向模拟电路和数模混合电路的方向发展。 本设计主要内容是数字逻辑电路——数字秒表,数字秒表在日常生活中有广泛的用途,秒表的逻辑结构较简单,它主要由显示译码器、十进制计数器、六进制计数器和报警器组成。四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:用来分别对十秒和十分进行计数;显示译码器:完成对显示的控制。根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块合起来联试。 通过MAX+plusⅡ软件,对上述模块设计,仿真无误后,设计顶层文件,仿真无误后,下载到主芯片EPF10K10LC84-4中,按适配划分后的管脚定位,同相关功能块硬件电路接口连线,进行硬件实验。 EPF10K10LC84-4是Altera公司生产的FLEX10K系列可编程逻辑器件。主要采用了嵌入式阵列,容量高达百万门,为可重复配置的CMOS SRAM工艺,系统工作过程中可随时改变配置,有利于现场编程,完成秒表设计的修改于完善。 关键词 EDA、可编程逻辑器件、计数器、显示器

目录(字体?) 一、概述 (1) 二、实验目的 (1) 三、单元模块设计 (1) 1十进制计数器 (1) 2.六进制计数器 (2) 3.时间数据分时扫描模块 (3) 4.显示译码模块 (4) 5.报警电路模块 (6) 四、顶层文件原理图 (7) 五、硬件要求 (8) 六、实验连线 (8) 七、实验总结 (8) 八、心得体会 (9) 九、参考文献 (10)

EDA课程设计

课程设计说明书 课程:EDA技术基础 题目:数字钟的设计 闹钟与整点报时模块 学生姓名:XXX 学号201265110204 班级 :1203班 专业:电子信息与科学 指导教师:XXX 2014年12月20日 长沙理工大学课程设计任务书 物理与电子科学学院电子信息与科学专业1203班姓名王玲课程名称EDA技术基础 题目数字钟的设计

长沙理工大学课程设计成绩评定表

目录 1数字钟设计闹钟模块基本任务要求4 2设计思想4 3简述闹钟模块的输入与输出5 4分进程描述6 5仿真结果与分析7 6简述数字钟的设计总成果10 7总结11 参考文献13 代码附件13

基本任务要求:运用QuartusⅡ13.1软件平台,用VHDL语言描述并设计的闹钟模块满足可调闹钟时间,当时钟时间到达闹钟时间后会响闹铃,(由于实验室权限问题会以FPGA开发板上12个LED灯交替发光来表现);整点报时过程表现为整点的前十秒内响铃,(以FPGA开发板上一个LED灯交替发光来实现)。 设计思想:闹钟模块要以分频模块、计数器模块和译码显示模块为基础,将闹钟模块分为三个进程,一个进程用来实现调闹钟,一个进程来实现闹响闹钟(即实现LED灯交替发光),另一个进程来是实现整点报时。 (上面截图为数字钟整体编译后的RTL电路的闹钟模块) 简述闹钟模块图的输入与输出:上图中的输入粗黑实线为计数器模块输出的小时、分钟的高低位和秒钟的高位(都用四位的二进制表示);输出的粗黑实线为定的闹钟时间(包括小时和分钟),将送到译码显示模块显示闹钟时间,闹钟时间与时钟都在FPGA上的数码管显示,用二选一实现交替显示。clk和clk1都是经过分频器分出的不同频率的信号分别用于整点报时的闪灯脉冲与闹钟调时、闹响的闪灯脉冲。

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数字秒表设计

《EDA技术与应用》 课程设计报告 报告题目:数字秒表设计作者所在系部:电子工程系作者所在专业:电子信息工程作者所在班级: 作者姓名: 指导教师: 完成时间:2017-6-10

容摘要 在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本报告就是基于计算机电路的时钟脉冲信号、状态控制等原理,运用EDA技术及VHDL语言设计出的数字秒表。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验,他们对时间精确度达到了几纳秒级别。 利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。该数字秒表能对0秒~59分59.99秒围进行计时,显示最长时间是59分59秒,超过该时间能够进行报警。计时精度达到10ms。设计了复位开关和启停开关。复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。 关键词:EDA技术、VHDL语言、分频器、计数器、数码管、蜂鸣器

目录 一概述 (1) 二方案设计与论证 (1) 三单元电路设计 (2) ⒊1分频器的设计 (2) ⒊2计时控制模块的设计 (3) ⒊3计时模块的设计 (4) ⒊⒊1十进制计数器的设计 (4) ⒊⒊2六进制计数器的设计 (5) ⒊⒊3计数器的设计 (6) ⒊4显示模块的设计 (8) ⒊⒋1选择器的设计 (8) ⒊⒋2七段译码器的设计 (9) ⒊5报警模块设计 (10) ⒊6顶层文件的设计 (11) 四器件编程与下载 (11) 五性能测试与分析 (12) ⒌1分频器模块的仿真 (12) ⒌2计时控制模块的仿真 (12)

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

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课程设计完整版---数字秒表(设计报告+仿真文件+硬件实现) 仿真文件下载地址: https://www.360docs.net/doc/d415452317.html,/detail/zhj8861991/4061198(友情提示:关于页数,下载后请删除此页即可)

《可编程器件及应用课程设计报告》 题目数字秒表 学院信电工程学院 专业电子信息科学与技术 班级 姓名 学号 指导教师

目录 课程设计任务书 (3) 一、系统组成模块连图 (4) 二、模块器件及其程序 (4) 1、分频器 (4) 2、十进制计数器 (5) 3、六进制计数器 (6) 4、动态扫描 (7) 5、译码显示管 (8) 三、系统仿真 (9) 1、六进制计数器 (9) 2、十进制计数器 (9) 3、动态扫描 (9) 4、译码显示管 (10) 5、分频器 (10) 6、系统仿真 (11) 7、硬件实现 (11) 四、心得体会 (12)

课题名称数字秒表设计完成时间12.30 指导教师学生姓名班级 总体设计要求和技术要点 总体设计要求: 通过本课程的学习使学生掌握可编程器件、EDA开发系统软件、硬件描述语言和电子线路设计与技能训练等各方面知识;提高工程实践能力;学会应用EDA技术解决一些简单的电子设计问题。 技术要点: 1.利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。该秒表计时范围为0秒~59分59.99秒,显示的最长时间为59分59秒,计时精度为10毫秒,并且具有复位功能。复位开关一旦打开所有位都为0。 2.秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便与同显示译码器的连接。 工作内容及时间进度安排 工作内容: 在软件上编辑、编译程序,并在电脑上仿真, 最后在实验室下载到器件上实现硬件要求。 进度安排: 第十八周一周时间; 课程设计成果

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数字秒表课程设计报告

数字秒表设计 专业:自动化 班级学号:509 姓名: 2011年 6 月14日

目录 数字秒表设计实验任务书 (2) 一、设计实验目的: (2) 二、设计实验说明及要求: (2) 三、数字秒表组成及功能: (2) 四、系统硬件要求: (2) 五、设计内容及步骤: (3) 六、硬件实现 (3) 实验报告 (3) 一、数字秒表顶层设计 (3) 二、数字秒表内部设计 (4) 1、分频器 (4) 2、十进制计数器 (5) 3、六进制计数器 (6) 4、二十四进制计数器 (8) 5、数据选择和数码管选择模块 (9) 6、数码管驱动模块: (10) 三、数字秒表仿真波形 (12) 四、硬件验证 (12) 五、实验总结 (12)

数字秒表设计实验任务书 一、设计实验目的: 在MAX+plusII软件平台上,熟练运用VHDL语言,完成数字时钟设计的软件编程、编译、综合、仿真,使用EDA实验箱,实现数字秒表的硬件功能。 二、设计实验说明及要求: 1、数字秒表主要由:分频器、扫描显示译码器、一百进制计数器、六十进制计数器(或十进制计数器与6进制计数器)、十二进制计数器(或二十四进制计数器)电路组成。在整个秒表中最关键的是如何获得一个精确的100H Z 计时脉冲,除此之外,数字秒表需有清零控制端,以及启动控制端、保持保持,以便数字时钟能随意停止及启动。 2、数字秒表显示由时(12或24进制任选)、分(60进制)、秒(60进制)、百分之一秒(一百进制)组成,利用扫描显示译码电路在八个数码管显示。 3、能够完成清零、启动、保持(可以使用键盘或拨码开关置数)功能。 4、时、分、秒、百分之一秒显示准确。 三、数字秒表组成及功能: 1、分频率器:用来产生100H Z计时脉冲; 2、二十四进制计数器:对时进行计数; 3、六进制计数器:分别对秒十位和分十位进行计数; 4、十进制计数器:分别对秒个位和分个位进行计数; 5、扫描显示译码器:完成对7字段数码管显示的控制; 四、系统硬件要求: 1、时钟信号为10MHz; 2、FPGA芯片型号EPM7128LC84—15、EP1K30TC144—3或EP1K100QC208—3(根据实验箱上FPGA芯片具体选择); 3、8个7段扫描共阴级数码显示管; 4、按键开关(清零、启动、保持);

verilogEDA数字秒表设计quartus

课程考查报告 课程名称 EDA技术 题目名称数字电子钟 学生学院信息工程学院 专业班级通信工程09(1)班 学号 310900xx 学生姓名陈 XX 任课教师李学易 2013 年12月27日

电子钟 设计目的: 根据实验板的资源和利用Quartus II软件编译、仿真可以实现电子钟的数字系统设计。 设计内容: 数字电子钟的功能: 1、时钟显示功能(显示时、分、秒) 2、时钟调整功能(小时、分钟的校准) 3、闹钟设置功能 设计方案: 根据程序设计需要,信号的定义如下: Clk:标准时钟信号,频率为4Hz Clk_1k:产生闹铃声、报时声的时钟信号,频率为1024Hz Mode:功能控制信号,为0:计时功能;1:闹钟功能;2:手动校时功能 Turn:接按键,在手动校时功能时,选择的是校准小时,还是分钟; 若长时间按该键,可使秒信号清零 Change:接按键,在手动校时时,每按一次,计数器加一 若长按,则连续快速加一 Hour,min,sec:此三信号分别输出并显示时、分、秒信号 Alert:输出到扬声器的信号,产生闹钟音和报时音; 闹钟音为持续20秒的“嘀嘀嘀”音,若按住change键,

则可屏蔽该音; 报时音为“嘀嘀嘀嘀嘟”四短一长音。 Ld_alert:接发光二极管,指示是否设置了闹钟功能 Ld_hour:接发光二极管,指示当前调整的是小时信号Ld_min:接发光二极管,指示当前调整的是分钟信号 实验结果: 时序仿真图: RTL图:

D ENA Q PRE CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D ENA Q PRE CLR D ENA Q PRE CLR D Q PRE ENA CLR D ENA Q PRE CLR SEL DATAA DATAB OUT0 MUX21 < A[7..0]B[7..0] LESS_THAN SEL[1..0]DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL DATAA DATAB OUT0 MUX21 SEL[1..0] DATA[3..0] OUT MUX = A[3..0] B[3..0] EQUAL + A[3..0] B[3..0] ADDER + A[3..0] B[3..0] ADDER SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX < A[7..0] B[7..0] LESS_THAN D Q PRE ENA CLR 01 01 01 D Q PRE ENA CLR D ENA PRE CLR Q SEL[1..0] DATA[3..0] OUT MUX IO_BUF (TRI) D ENA PR E CLR Q loop1~_OUT0 loop1_OUT0 loop2~_OUT0 loop2_OUT0 loop3~_OUT0 loop3_OUT0 loop4~_OUT0 loop4_OUT0 num1~0_OUT0 num1_OUT0num2~0_OUT0 num2_OUT0num3~0_OUT0 num3_OUT0num4~0_OUT0 num4_OUT0 sound~_OUT0 sound_OUT0 Equal0_OUT ct1~0_OUT0 ct2~0_OUT0 cta~0_OUT0 ctb~0_OUT0 minclk~1_OUT0minclk_OUT0 always9~0_OUT0 Mux6_OUT Mux7_OUT Mux8_OUT Mux0_OUT WideNor5_OUT0 Mux2_OUT Mux3_OUT Mux4_OUT LessThan0_OUT min1~_OUT0 ct1_OUT0 min1_OUT0 Equal18_OUT alert1_OUT0m~_OUT0 m_OUT0Mux25_OUT sec[7]~7_OUT0sec[6]~6_OUT0sec[5]~5_OUT0sec[3]~0_OUT0sec[2]~1_OUT0sec[1]~2_OUT0sec[0]~3_OUT0 Mux1_OUT sec[2]_557_OUT0clk_2Hz clk loop1[1..0] loop2[1..0] loop3[1..0] loop4[1..0] num1[1..0] 1' h0 --num2[1..0] 1' h0 --num3[1..0] 1' h0 --num4[1..0] 1' h0 --sound[1..0] ear ct1~0 ct2~0 cta~0 ctb~0 alert~0 clk_1k alert2~0alert2~1 clk_1Hz sec1[7..0] minclk sec1~[15..8] 8' h00 --WideNor7 LessThan1 8' h54 -- Mux5 3' h0 -- Mux6 3' h0 --Mux7 3' h0 --Mux8 3' h0 --sec1~[7..0] 4' h0 --Mux0 3' h0 --WideNor5 Equal8 4' h9 -- Add6 4' h1 -- Add7 4' h1 -- Mux2 3' h0 --Mux3 3' h0 --Mux4 3' h0 --LessThan0 8' h20 --min1[7..0] always16~9 always16~0 alert2 alert2~2 alert~2 alert alert~1 m[1..0] mode sec[4]$latch Mux25 4' h7 --sec[4]~4 sec[7..0] sec[2]_557

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课程设计数字秒表

课程设计 题院目 系 数字秒表设计 信息工程学院 班级姓名指导教师

目录 第1章:系统设计要求 (3) 第2章:实验目的 (3) 第3章:实验原理 (3) 第4章:系统设计方案 (3) 第5章:主要VHDL源程序 (4) 1) 十进制计数器的VHDL 源程序. (4) 2) 六进制计数器的VHDL 源程序 (5) 3)蜂鸣器的VHDL源程序. (5) 4)译码器的VHDL源程序. (6) 5)控制选择器的VHDL源程序 (7) 6)元原件例化的VHDL源程序 (8) 第六章:系统仿真. (10) 第七章:系统扩展思路. (11) 第八章:设计心得总结. (11)

数字秒表的设计 1、系统设计要求 1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、 分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。 2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及 启动。 3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、 六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的 100HZ计时脉冲。 2、实验目的 通过本次课设,加深对EDA技术设计的理解,学会用QuartusⅡ工具软件 设计基本电路,熟练掌握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。 4、系统设计方案 秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、 六进制计数器和报警器组成。 四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:用来分别对十秒和十分进行计数;分频器:用来产生100HZ计时脉冲;显示译码器:完成对显示的控制。

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数字秒表课程设计

EDA课程设计实验报告 数字秒表 班级:电1104 姓名:高倩 学号:20112669

设计数字秒表 一、实验要求: 1.要求设置启/停开关。当按下启/停开关,将启动秒表开始计时,当再按一下启 /停开关时,将终止计时操作。 2.数字秒表的计时范围是0秒~59分59.99…… 3.要求计时精度为0.01s。 4.复位开关可以在任何情况下使用,即便在计时过程中,只要按一下复位开关, 计时器就清零,并做好下次计时的准备。 二、实验分模块源程序及仿真结果: (一)时积分频模块的VHDL源程序(CB10.VHD) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CB10 IS PORT(CLK:IN STD_LOGIC; CO:OUT STD_LOGIC); END CB10; ARCHITECTURE ART OF CB10 IS SIGNAL COUNT:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF RISING_EDGE(CLK) THEN IF COUNT="1001"THEN COUNT<="0000"; CO<='1'; ELSE COUNT<=COUNT+1; CO<='0'; END IF; END IF; END PROCESS; END ART; CB10仿真波形 (二)控制模块的VHDL源程序(CTRL.VHD) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

数字钟的设计.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

相关文档
最新文档