EDA课程设计 分频器 钟福茹

合集下载

EDA设计—电子钟设计

EDA设计—电子钟设计

1 引言(或绪论)1.1 EDA课程设计的目的训练综合运用学过的数字电子、可编程逻辑器件等基本知识,培养独立设计比较复杂的数字逻辑的能力。

通过课程设计,力争掌握使用EDA(电子设计自动化)工具设计数字逻辑的方法,包括设计输入、编译、软件仿真、下载和硬件仿真等全过程,为以后进行工程实际问题的研究打下设计基础。

1.2 EDA课程设计使用的软硬件平台设计工作建立在硬件和软件两个平台的基础上。

硬件平台是实验室提供的MCU/CPLD开发实验仪。

实验仪上的可编程逻辑器件可保证在一片芯片上设计出题目要求的数字电路。

软件平台是ALTERA公司的MAX+PLUSII。

1.3 EDA课程设计的基本方法采用可编程逻辑器件进行设计,在微机上进行原理图或程序的输入、编译和软件仿真,满足设计要求后,再进行下载和硬件实验。

如硬件实验结果不满足要求,需要修改设计,直到满足要求为止。

2 EDA设计任务书设计一个时钟,从0时0分0秒计时到9时59分59秒,时间在5个七段LED数码管上显示,并且这个电子钟还具有校时功能和清零功能。

用MAX+PLUSII设计相关电路,并进行相关的仿真,并下载到实验板上演示现象,若现象不满足预期的效果,对电路进行调试,直到满足预期的现象,实现上述功能。

3系统设计方案论证3.1 系统设计的总体思路实验板上晶振的频率为1MHz,而时钟的秒位计数器需要1Hz的信号触发它计数,因此需要对实验板上晶振提供的1MHz的信号进行1000000分频得到1Hz的信号。

秒的个位计数用十进制计数器(74162)计数,由1Hz的信号触发计数;秒的十位计数用六进制计数器(自行设计封装)计数,由秒各位计数器的进位信号触发计数;分的个位由十进制计数器计数,由秒十位计数器的进位信号触发计数;分的十位由六进制计数器计数,由分个位计数器的进位信号触发计数;时位由十进制计数器计数,由分十位计数器的进位信号触发计数。

用计数电路、译码选通电路、七段译码电路、与门和或门,可实现在某一时刻只有一个数码显示管显示相关的数字,其他是不亮的,按一定规律循环地显示每一位上的数码,这个循环频率很高,以至于人眼在某一时刻感觉所有位上的数码管都在发光,这就实现了时钟每一位的显示功能。

EDA设计实验报告——数字钟的设计

EDA设计实验报告——数字钟的设计

EDA设计实验报告——数字钟的设计摘要随着现在社会的快速发展,人们都电子产品的要求越来越高,因而电子产品无论从制作上还是从销售上都要求很高。

要制作一个应用性比较好的电子产品就离不开数字电路,大到超级计算机、小到袖珍计算器,很多电子设备都有数字电路。

数字系统是一个能够对数字信号进行加工,传递,和存储的实体,它由实现各种功能的数字逻辑电路相互连接而成。

用来处理数字信号的电子线路称为数字电路,数字集成电路的基本逻辑单元是逻辑门,一块集成电路芯片所容纳的逻辑门数量反映了芯片的集成度,集成度越高,单个芯片所实现的逻辑功能越强。

数字电路在生活中应用广泛,而我所学习的专业为电子信息工程,对于数字电路的熟悉程度要更彻底,所以我选择设计数字钟电路。

在本次设计的课题中,其目的是得到一个计时准确的数字时钟。

在数字钟的制作过程中,要得到准确的计时,就必须对组成电路的每一部分的要求要高。

整个电路是由振荡器电路、分频器电路、时间计数单元、译码驱动电路、数码管五个部分组成。

整个电路的核心部分是振荡电路,振荡电路应采取晶体振荡,晶体振荡器输出频率为32768HZ,在设计中我们采用CD4060来完成电路的振荡和分频,以便于得到1HZ的输出频率。

在计数电路中采用了74LS161计数,74LS161是直接清零的计数器,在电路中起计数和分频的作用。

为了能够得到即准确又清楚的输出,电路采用了译码驱动和数码显示,译码器为74LS247(BCD七段显示译码器)。

译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。

整个电路的设计有严密的逻辑关系。

关键词:计数器,译码器,振荡器,分频器,译码驱动目录摘要 (5)目录 (6)设计任务描述 (7)设计思路 (8)设计方案 (9)1.引言 (10)2.各部分的分析 (12)2.1、振荡电路 (12)2.2、分频电路 (13)2.3、时间计数电路 (13)2.4、译码驱动电路 (14)2.5、校时电路 (15)2.6、数码显示电路 (16)3.电路的逻辑功能 (17)3.1、十进制 (18)3.2、六进制 (18)3.3、二十四进制 (18)结论 (18)致谢 (21)参考文献 (22)附录A1.1 (23)附录A1.2 (24)附录A1.3 (25)设计任务描述1 设计题目题目:数字钟电路2设计要求(1)以二十四小时为一个周期计时。

EDA多功能数字钟设计报告

EDA多功能数字钟设计报告

江汉大学文理学院EDA课程设计报告课程设计题目多功能数字钟部(系)信息技术学部专业姓名学号指导教师2014年 12 月 29 日目录一、设计目的 (1)二、设计要求 (1)三、硬件方案 (1)3.1 设计思路 (1)3.2 设计框图 (2)3.3 数字钟主控电路状态表 (3)四、软件方案 (4)4.1 按键消抖模块 (4)4.2 时钟计数器模块 (5)4.3 显示译码模块 (13)4.4 分频器模块 (15)4.5 主控制电路模块 (16)4.5.1 计数器控制模块 (16)4.5.2 闹钟计数器模块 (19)4.5.3 闹钟控制模块 (21)4.5.4 显示输出控制模块 (25)4.5.5 led控制模块 (26)4.5.6 主控模块 (29)4.6 电子钟系统原理图 (29)五、实现过程中遇到的问题及措施 (30)六、设计心得体会 (30)七、参考文献 (31)一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。

能对VHDL语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。

在成功掌握软件操作基础上,将所数字电路的基础课知识与VHDL语言的应用型知识结合起来并与实际设计,操作了解起来,即“理论了解实际”。

深入了解VHDL语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。

对EDA技术有初步的认识,并开始对EDA 技术的开发创新有初步的理解。

二、设计要求设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。

三、硬件方案3.1 设计思路根据设计要求进行分析,数字钟应当有计数器,分频器,按键消抖,闹钟,显示及主控模块构成。

分频器用来提供时钟,计数器用于计时,按键消抖为系统提供准确的按键控制信号输入,闹钟用于提供闹钟功能,显示模块显示时间,主控模块根据按键输入控制各个模块以实现所需求功能。

EDA数字钟设计

EDA数字钟设计

EDA数字钟设计报告姓名: xxx学号:xxxxxxx专业:电子与通信工程日期:2014-11-7江苏科技大学电信院2014-11-71 引言数字钟通过数字电路技术实现时、分、秒计时,与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。

数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。

这些方法都各有其特点,本次电子线路课程设计是在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 isport(clk0:in std_logic;clk_1Hz,clk_1kHz:out std_logic);end entity;architecture one of div issignal q1Hz:integer range 0 to 10000000-1 ;signal q1kHz:integer range 0 to 10000-1 ;beginprocess(clk0)beginif clk0'event and clk0='1'thenif 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课程设计+(数字钟)

EDA课程设计报告课题名称:多功能数字钟设计多功能数字钟设计一、数字钟简介:20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。

数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。

这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,并便于功能的扩展。

二、设计要求1. 具有以二十四小时制计时、显示、时间设置的功能。

2. 精度要求为1s。

三、系统功能简介1. 计时:时钟计时:秒——60进制BCD码计数;分——60进制BCD码计数;时——24进制BCD码计数;2. 校时:同时整个计数器有清零,调分,调时功能。

可手动校时,能分别进行时、分的校正3. 显示:具有驱动8位八段共阴极扫描数码管的片选驱动信号输出和八段字形译码输出。

内容规划:(1)根据电路特点,可用层次化结构化设计概念。

将此项设计分成若干模块,规定每一模块的功能和各模块之间的接口。

EDA数字钟毕业设计

EDA数字钟毕业设计

EDA数字钟毕业设计第一篇:EDA数字钟毕业设计[ 标签:数字钟, eda ]1、设计一个能显示1/10秒、秒、分、时的12小时数字钟。

2、时钟源使用频率为0.1Hz的连续脉冲。

3、设置两个按钮,一个供“开始”及“停止”用,一个供系统“复位”用。

4、时钟显示使用数码管显示。

基于VHDL的多功能数字钟的设计EDA课程设计资料类别课程(专业)EDA 适用年级大学文件格式word+DLS 文件大小1725K 上传时间2008-10-10 20:57:00 预览文件无(只能预览文件中的部分内容)下载次数0内容简介:EDA课程设计基于VHDL的多功能数字钟的设计,共11页,6086字,附源程序。

摘要:介绍了利用VHDL硬件描述语言设计的多功能数字钟的思路和技巧。

在MAX+PLUSII开发环境中编译和仿真了所设计的程序,并在可编程逻辑器件上下栽验证。

仿真和验证结果表明,该设计方法切实可行。

EDA-时钟设计-基于Altera数字钟的实现:EDA课程设计基于VHDL的多功能数字钟的设计:EDA数字钟设计报告:资料包括:论文(12页2036字)图纸说明:中文摘要:数字钟学习的目的是掌握各类计数器及它们相连的设计方法;掌握多个数码管显示的原理与方法;掌握FPGA技术的层次化设计方法;掌握用VHDL语言的设计思想以及整个数字系统的设计。

此数字钟设计具有时,分,秒计数显示功能,以24小时为计数循环;能实现清零,调节小时,分钟以及整点报时的功能。

第二篇:eda数字钟程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clock IS PORT(EN :IN STD_LOGIC;数码管使能CLK:IN STD_LOGIC;时钟信号RST:IN STD_LOGIC;复位信号SEC_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);秒高位SEC_01 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);秒低位MIN_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);分高位MIN_01 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);分低位HOU_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);时高位HOU_01 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);时低位BEE:OUT STD_LOGIC);END clock;ARCHITECTURE behovior OF clock IS SIGNAL SEC_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SEC_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MIN_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MIN_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HOU_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HOU_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL CY_MIN:STD_LOGIC;分进位SIGNAL CY_HOU:STD_LOGIC;时进位SIGNAL LOGO_1:STD_LOGIC;标志SIGNAL LOGO_2:STD_LOGIC;SIGNAL LOGO_3:STD_LOGIC;BEGIN MIAOLOW:PROCESS(CLK,RST,EN)BEGINIF(RST = '0')THENSEC_LOW <= “1000”;附给秒低位为8ELSIF(CLK'EVENT AND CLK = '1' AND EN = '1')THEN 检测时钟上升沿及数码管使能端IF(SEC_LOW = “1001”)THENSEC_LOW <= “0000”;ELSESEC_LOW <= SEC_LOW + “0001”;加一END IF;END IF;END PROCESS MIAOLOW;LOGO_1 <= SEC_LOW(3)AND SEC_LOW(0);SEC_01<= SEC_LOW;秒个位放8MIAOHIGH:PROCESS(CLK,RST)BEGINIF(RST = '0')THENSEC_HIGH <= “0101”;ELSIF(CLK'EVENT AND CLK = '1')THEN检测时钟上升沿IF(LOGO_1 = '1')THENIF(SEC_HIGH = “0101”)THENSEC_HIGH <= “0000”;CY_MIN <= '1';ELSESEC_HIGH <= SEC_HIGH + “0001”;加一CY_MIN <= '0';END IF;END IF;END IF;END PROCESS MIAOHIGH;SEC_1 <= SEC_HIGH;秒十位放5FENLOW:PROCESS(CY_MIN,RST,EN)BEGINIF(RST = '0')THEN 若复位位为0MIN_LOW <= “1000”;则分个位为8ELSIF(CY_MIN'EVENT AND CY_MIN = '1' AND EN = '1')THEN 检测时钟上升沿及数码管使能端IF(MIN_LOW = “1001”)THENMIN_LOW <= “0000”;ELSEMIN_LO W <= MIN_LOW + “0001”;加一END IF;END IF;END PROCESS FENLOW;LOGO_2 <= MIN_LOW(3)AND MIN_LOW(0);MIN_01 <= MIN_LOW;分个位放8FENHIGH:PROCESS(CY_MIN,RST)BEGINIF(RST = '0')THENMIN_HIGH <= “0101”;ELSIF(CY_MIN'EVENT AND CY_MIN = '1')THEN检测分进位上升沿IF(LOGO_2 = '1')THENIF(MIN_HIGH = “0101”)THEN若分十位为5MIN_HIGH <= “0000”;CY_HOU <= '1';时进位为1ELSEMIN_HIGH <= MIN_HIGH + “0001”;加一CY_HOU <= '0';END IF;END IF;END IF;END PROCESS FENHIGH;MIN_1 <= MIN_HIGH;分十位放5SHILOW:PROCESS(CY_HOU,RST,EN)BEGINIF(RST = '0')THENHOU_LOW <= “1001”;ELSIF(CY_HOU'EVENT AND CY_HOU = '1'AND EN = '1')THEN检测时进位上升沿及数码管使能端IF(HOU_LOW = “1001”)THEN若时低位为9HOU_LOW <= “0000”;ELSIF(HOU_HIGH = “0010” AND HOU_LOW = “0011”)THEN若时十位为2,个位为3HOU_LOW <= “0000”;ELSEHOU_LOW <= HOU_LOW + “0001”;加一END IF;END IF;END PROCESS SHILOW;LOGO_3 <= HOU_LOW(3)AND HOU_LOW(0);HOU_01 <= HOU_LOW;时个位放3SHIHIGH:PROCESS(CY_HOU,RST)BEGINIF(RST = '0')THENHOU_HIGH <= “0001”;ELSIF(CY_HOU'EVENT AND CY_HOU = '1')THEN检测时进位上升沿IF(HOU_HIGH = “0010” AND HOU_LOW = “0011”)THEN 若时十位为2,时个位为3HOU_HIGH <= “0000”;ELSIF(LOGO_3 = '1')THENHOU_HIGH <= HOU_HIGH + “0001”;加一END IF;END IF;END PROCESS SHIHIGH;BEE_CLOCK:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK = '1')THEN检测时钟上升沿IF(SEC_HIGH = “0101” AND SEC_LOW = “1001”AND MIN_HIGH = “0101” AND MIN_LOW = “1001”)THENBEE <= '1';ELSEBEE <= '0';END IF;END IF;END PROCESS BEE_CLOCK;HOU_1 <= HOU_HIGH;时十位放2END behovior;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clock1 IS PORT(EN :IN STD_LOGIC;CLK:IN STD_LOGIC;RST:IN STD_LOGIC;SEC_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);SEC_01 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);MIN_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);MIN_01 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);HOU_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);HOU_01 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);BEE:OUT STD_LOGIC);END clock1;ARCHITECTURE behovior OF clock1 IS SIGNAL SEC_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SEC_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MIN_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MIN_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HOU_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HOU_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL CY_MIN:STD_LOGIC;SIGNAL CY_HOU:STD_LOGIC;SIGNAL LOGO_1:STD_LOGIC;SIGNAL LOGO_2:STD_LOGIC;SIGNAL LOGO_3:STD_LOGIC;BEGIN MIAOLOW:PROCESS(CLK,RST,EN)BEGINIF(RST = '0')THENSEC_LOW <= “1000”;ELSIF(CLK'EVENT AND CLK = '1' AND EN = '1')THEN IF(SEC_LOW = “1001”)THENSEC_LOW <= “0000”;ELSESEC_LOW <= SEC_LOW + “0001”;END IF;END IF;END PROCESS MIAOLOW;LOGO_1 <= SEC_LOW(3)AND SEC_LOW(0);SEC_01<= SEC_LOW;MIAOHIGH:PROCESS(CLK,RST)BEGINIF(RST = '0')THENSEC_HIGH <= “0101”;ELSIF(CLK'EVENT AND CLK = '1')THENIF(LOGO_1 = '1')THENIF(SEC_HIGH = “0101”)THENSEC_HIGH <= “0000”;CY_MIN <= '1';ELSESEC_HIGH <= SEC_HIGH + “0001”;CY_MIN <= '0';END IF;END IF;END IF;END PROCESS MIAOHIGH;SEC_1 <= SEC_HIGH;FENLOW:PROCESS(CY_MIN,RST,EN) BEGINIF(RST = '0')THENMIN_LOW <= “1000”;ELSIF(CY_MIN'EVENT AND CY_MIN = '1' AND EN = '1')THEN IF(MIN_LOW = “1001”)THENMIN_LOW <= “0000”;ELSEMIN_LOW <= MIN_LOW + “0001”;END IF;END IF;END PROCESS FENLOW;LOGO_2 <= MIN_LOW(3)AND MIN_LOW(0);MIN_01 <= MIN_LOW;FENHIGH:PROCESS(CY_MIN,RST)BEGINIF(RST = '0')THENMIN_HIGH <= “0101”;ELSIF(Cy_MIN'EVENT AND CY_MIN = '1')THENIF(LOGO_2 = '1')THENIF(MIN_HIGH = “0101”)THENMIN_HIGH <= “0000”;CY_HOU <= '1';ELSEMIN_HIGH <= MIN_HIGH + “0001”;CY_HOU <= '0';END IF;END IF;END IF;END PROCESS FENHIGH;MIN_1 <= MIN_HIGH;SHILOW:PROCESS(CY_HOU,RST,EN)BEGINIF(RST = '0')THENHOU_LOW <= “1001”;ELSIF(CY_HOU'EVENT AND CY_HOU = '1' AND EN = '1')THEN IF(HOU_LOW = “1001”)THENHOU_LOW <= “0000”;ELSIF(HOU_HIGH = “0010” AND HOU_LOW = “0011”)THENHOU_LOW <= “0000”;ELSEHOU_LOW <= HOU_LOW + “0001”;END IF;END IF;END PROCESS SHILOW;LOGO_3 <= HOU_LOW(3)AND HOU_LOW(0);HOU_01 <= HOU_LOW;SHIHIGH:PROCESS(Cy_HOU,RST)BEGINIF(RST = '0')THENHOU_HIGH <= “0001”;ELSIF(CY_HOU'EVENT AND CY_HOU = '1')THENIF(HOU_HIGH = “0010” AND HOU_LOW = “0011”)THEN HOU_HIGH <= “0000”;ELSIF(LOGO_3 = '1')THENHOU_HIGH <= HOU_HIGH + “0001”;END IF;END IF;END PROCESS SHIHIGH;BEE_CLOCK:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK = '1')THENIF(SEC_HIGH = “0101” AND SEC_LOW = “1001”AND MIN_HIGH = “0101” AND MIN_LOW = “1001”)THENBEE <= '1';ELSEBEE <= '0';END IF;END IF;END PROCESS BEE_CLOCK;HOU_1 <= HOU_HIGH;END behovior;第三篇:EDA数字钟课程设计课程设计报告设计题目:用VHDL语言实现数字钟的设计班级:电子1002班学号:20102625 姓名:于晓指导教师:李世平、李宁设计时间:2012年12月摘要数字钟是一种用数字电路技术实现时、分、秒计时的钟表。

EDA实验多功能数字钟课程设计报告

. . -.课程设计报告设计题目:EDA实现多功能数字钟. . -.课程设计 任务书题目 EDA 实验多功能数字钟 任务与要求一、实验任务:用FPGA 器件和EDA 技术实现多功能数字钟的设计 条件:1、MAX+Plus 软件2、FPGA 实验开发装置根本功能:1、以数字形式显示时、分、秒的时间; 2、小时计数器为24进制; 3、分、秒计数器为60进制。

二、小时计数器为24进制原理图如下:…………………………装………………………………订对该图进展编译及波形仿真如下:分析及结论:小时计数器是24进制用当下面的74161到9时等下个脉冲来是向上面一个74161进位使的上面的74161记数。

但是等到上面的计到2时下面的将不能超过4所以等上面的计到2,下面的计到4时就将两个74161共同预置。

从而实现00—24分的记数功能。

仿真波形显示里23小时到00分的循环的过程仿真到位。

对上述仿真波形图进展打包工作,将24进制图建立成模块:三、分计数器为60进制原理图如下:对该图进展编译及波形仿真如下:分析及结论:分计数器是60进制的。

当下面的74161到9时等下个脉冲来是向上面一个74161进位使的上面的74161计数,到5时将两个74161共同预置。

从而实现00—59秒的记数功能。

Cp60S为向分的进位信号上跳沿有效。

仿真波形显示里59秒到00秒的循环的过程,仿真到位。

对上述仿真波形图进展打包工作,将60进制图建立成模块:四、秒计数器为60进制原理图如下:对该图进展编译及波形仿真如下分析及结论:秒计数器是60进制的。

当下面的74161到9时等下个脉冲来是向上面一个74161进位使的上面的74161计数,到5时将两个74161共同预置。

从而实现00—59秒的记数功能。

Cp60S为向分的进位信号上跳沿有效。

仿真波形显示里59秒到00秒的循环的过程,仿真到位。

对上述仿真波形图进展打包工作,将60进制图建立成模块:五、多功能数字钟的主体局部原理图如下:仿真波形图如下:六、下载1、添加译码模块后的原理图对上述图形进展编译及波形图如下2、选用器件3、分配引脚号4、对器件进展下载下载模块的原理图如下七、心得体会:充分体会到了合作的重要性,在协同中觉察自己的缺乏,认真听取同伴的意见。

EDA课程设计-多功能数字钟设计模板

河南科技大学课程设计说明书课程名称EDA课程设计题目多功能数字钟设计课程设计任务书课程设计名称学生姓名专业班级设计题目多功能数字钟设计一、课程设计目的1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力;2、结合理论知识,考察阅读参考资料、文献、手册的能力;3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧;4、锻炼撰写研究报告、研究论文的能力;5、通过本实践环节,培养科学和严谨的工作作风。

二、设计内容、技术条件和要求l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。

2、能利用实验系统上的按钮实现“校时”、“校分”功能;(1)按下“SA”键时,计时器迅速递增,并按24小时循环;(2)按下“SB”键时,计时器迅速递增,并按59分钟循环,并向“时”进位;(3)按下“SC”键时,秒清零;抖动的,必须对其消抖处理。

3、能利用扬声器做整点报时:(1)当计时到达59’50”时开始报时,频率可为500Hz;计满23小时后回零;计满59分钟后回零。

(2)到达59’59”时为最后一声整点报时,整点报时的频率可定为lKHz。

4定时闹钟功能5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。

6、报时功能。

报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。

三、时间进度安排1周:(1) 完成设计准备,确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。

2周:(1) 完成文件至器件的下载,并进行硬件验证;(2) 撰写设计说明书。

四、主要参考文献(1)谭会生、瞿遂春,《EDA技术综合应用实例与分析》,西安电子科技大学出版社,2004(2)曹昕燕、周凤臣等,《EDA技术实验与课程设计》,清华大学出版社,2006指导教师签字:2010年9月5日多功能数字钟设计五、设计思路考虑到本次设计的多功能数字钟的结构比较复杂,故将其分为若干模块分层次设计,这样既方便仿真查错,又使得逻辑更加清晰。

EDA数字钟设计

EDA数字钟设计
数 字 钟
-- EDA课程设计
姓 名:
专 业:
班 级:
指导教师:
一、数字钟的设计要求
(1)具有正确的时、分、秒计时功能。
(2)计时结果要用6个数码管分别显示时、分、秒的十位和个位。
(3)有校时功能。当键MINUTE按下时,分计数器以秒脉冲的速度递增,并按60min循环,即计数到59min后再回00。当HOUR键按下时,时计数器以秒脉冲的速度递增,并按24h循环,即计数到23h后再回00。
END ENTITY s_clock_signal;
ARCHITECTURE mzm OF s_clock_signal IS
SIGNAL sec1_t,sec2_t, min1_t,min2_t,hour1_t,hour2_t:integer range 0 to 9;
SIGNAL carry1,carry2,carry3: STD_LOGIC;
hour1_t<=0;
IF hour2_t=2 THEN
hour2_t<=0;
ELSE
hour2_t<=hour2_t+1;
END IF;
ELSE
hour1_t<=hour1_t+1;
END IF;
END IF;
IF (hour1_t=0 AND hour2_t=0) THEN
carry3<='1';
seg7 <= "01000000";
when "110" =>
sel <= "110";
seg7 <= i2seg7(seg_h_l);

EDA实现多功能数字钟课程设计

目录一、实验任务 (1)二、关键词 (1)三、内容摘要 (1)四、数字钟电路系统组成框图 (2)五、各个功能模块的实现 (3)(1)小时计时 (3)(2)分钟计时 (3)(3)秒钟计时 (4)(4)校时校分 (5)(5)整点报时 (6)(6)时段控制 (6)六、数字钟的顶层文件 (7)七、下载 (8)(1)添加译码模块后的原理图 (8)(2)选用芯片 (8)(3)分配引脚号 (9)(4)器件下载 (9)(5)效果显示 (9)八、遇到的问题及解决办法 (12)九、《课程设计》中设计项目完成最终结论 (13)十、结束语 (13)十一、附录 (14)一、实验任务:用FPGA器件和EDA技术实现多功能数字钟的设计已知条件:1、QuartusП软件2、FPGA实验开发装置基本功能:1、以数字形式显示时、分、秒的时间;2、小时计数器为24进制;3、分、秒计数器为60进制。

拓展功能:1、校时、校分(有两个使能端构成,分别为校时、校分功能,同时按无效)2、仿电台报时(每个小时的59分51、53、55、57、59分别以四长声一短声进行报时)3、时段控制(让信号显示灯在晚上19点至早上5点灭。

之后亮)二、关键词小时、分钟计时模块、顶层文件、整点报时、时段控制、下载模块三、内容摘要1、设计要求:(1)小时计数器为8421BCD码24制;分和秒计数器为8421BCD 码60进制计数器;(2)拓展功能:①校正“时”和“分”;②整点报时;③时段控制。

2、硬件描述语言设计(Verilog HDL语言)方法在QuartusП软件系统平台上建立数字电子钟电路的顶层文件并完成编译和仿真。

3、输入变量:时钟CPS,直接清零RD;输出变量:小时计时H[7..4]、H[3..0]为8421BCD码输出,其时钟为CPH;之后的分计时、秒计时均为8421BCD码输出,其时钟为CPS等。

4、在顶层文件中,由若干低层模块“打包”组成整个多功能数字钟,分别对各模块作设计及仿真,最后级联各模块,统调、仿真及下载,从而实现各项功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程设计 设计题目: 竞赛抢答器

姓名: 刘 云 龙 学号: 2010508140 班级: 10级2班 专业: 电子信息 院系: 信息科学与技术学院 指导老师: 田 敏 实验日期: 2013 年 1 月 13 日 1

一、前言........................................................................................................................................... 2 1.1课程设计的意义 ................................................................................................................ 2 1.2 VHDL语言简介 .................................................................................................................. 2 二、方案选择及原理分析 ............................................................................................................... 3 2.1 通用可控分频器硬件方案选择 ....................................................................................... 3 2.2 通用可控分频器原理分析 ............................................................................................... 3 2.2.1 偶数分频器 ................................................................................................................... 3 2.2.2奇数分频器 ............................................................................................................ 4 三、 软件设计 ................................................................................................................................. 5 3.1系统分析 ............................................................................................................................ 5 3.2系统的结构和模块划分 .................................................................................................... 5 3.2.1固定数值分频模块 ................................................................................................ 6 3.2.2按键和显示模块 .................................................................................................... 7 3.2.3占空比和分频系数可控分频模块 ........................................................................ 7 3.3 可控分频的实现 ............................................................................................................... 8 四、软硬件的系统测试 ................................................................................................................... 8 五、 心得体会 ................................................................................................................................. 8 附录 .................................................................................................................................................. 9 参考文献......................................................................................................................................... 16 2

一、前言 分频器是数字系统设计中的一种基本电路,我们往往需要通过分频器得到我们所需要的时钟频率。在实际设计中我们经常用到的为整数分频,有时要求等占空比,有时又要求非等占空比。在同一个设计中有时要求多种形式的分频,通常由计数器或计数器的级联结构构成各种形式的任意占空比偶数分频及非等占空比的奇数分频,实现起来比较简单,对于等占空比的奇数分频以及可控的分频实现起来会较为困难。本文利用VHDL硬件描述语言,使用Altera公司的FPGA芯片,设计了一种能够满足上述要求,而且较为通用的可控分频器。只需在分频器的输入端用按键输入相应的分频系数,就可以得到所需的频率。

1.1课程设计的意义 随着电子技术的高速发展,FPGA/CPLD以其高速、高可靠性、串并行工作方式等突出优点在电子设计中受到广泛的应用,而且代表着未来EDA设计的方向。FPGA/CPLD的设计采用了高级语言,如VHDL语言AHDL语言等,进一步打破了软件与硬件之间的界限,缩短了产品的开发周期。所以采用先进的FPGA/CPLD取代传统的标准集成电路、接口电路已成为电子技术发展的必然趋势。 EDA技术代表了当今电子设计技术的最新发展方向,采用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在汁算机上自动处理完成。由于现代电子产品的复杂度和集成度的日益提高,一般分离的中小规模集成电路组合已不能满足要求,电路设计逐步地从中小规模芯片转为大规模、超大规模芯片,具有高速度、高集成度、低功耗的可编程朋IC器件已蓬勃发展起来。[1] 分频器是一种在 FPGA 的设计中使用效率非常高的设计,使用硬件描述语言进行设计消耗不多的逻辑单元就可以实现对时钟的操作,具有成本低、可编程等优点。

1.2 VHDL语言简介 VHDL(VHSIC(Very High Speed Integrated Circuit)Hardware Description Language)是超高速集成电路硬件描述语言,是一种用于电路设计的高级语言。它出现于80年代后期,刚开始时它是由美国国防部开发出来的,是为了供美军用来提高设计的可靠性和缩减开发周期的一种使用范围比较小的设计语言 。VHDL语言主要应用于数字电路系统的设计。目前,国内对它的应用多数集中在FPGA/CPLD/EPLD的设计当中,除此之外,一些较为有实力的单位,也将它用来设计ASIC。 VHDL语言具有多层次描述系统硬件功能的能力,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL还支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定 3

义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。VHDL语言具有自顶向下和基于库的设计特点。其开发流程:在顶层用方框图或硬件语言对电路的行为进行描述后,进行系统仿真验证和纠错,再用逻辑综合优化工具生成具体的门级逻辑电路的网表,然后通过适配器将网表文件配置于指定的目标器件,产生最终下载文件或配置文件。最后把适配后生成的下载或配置文件通过编程器或编程电缆下载到具体的FPGA/CPLD器件中去,以便进行硬件调试和验证,从而实现可编程的专用集成电路ASIC的设计。 VHDL主要用于描述数字系统的结构,行为,功能和接口,除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL系统设计与其他硬件描述语言相比,具有比较强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言之一。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证.

二、方案选择及原理分析 2.1 通用可控分频器硬件方案选择 分频器是数字电路中最常用的电路之一,在 FPGA 的设计中也是使用频率非常高的一种基本设计。基于 FPGA 实现的分频电路一般有两种方法:一种是使用FPGA 芯片内部提供的锁相环电路进行分频,如 ALTERA 提供的 PLL(Phase Locked Loop),Xilinx 提供的 DLL(DelayLocked Loop);第二种是使用硬件描述语言,如VHDL、Verilog HDL 等。使用锁相环电路进行分频有许多的优点,例如可以实现倍频、相位偏移以及占空比可调等。但是由于 FPGA 内部提供的锁相环个数极为有限,不能满足使用时的要求。因此使用硬件描述语言实现分频电路在数字电路设计较为常用,因为它消耗不多的逻辑单元就可以实现对时钟的操作,具有成本低、可编程等优点。

相关文档
最新文档