当前位置:文档之家› EDA数字钟设计

EDA数字钟设计

EDA数字钟设计
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技术的迅速发展。

2. VHDL简介

硬件描述语言HDL(HardwareDescriptionLanguage)诞生于1962年。HDL是用形式化的方法描述数字电路和设计数字逻辑系统的语言。主要用于描述离散电子系统的结构和行为。与SDL(SoftwareDescriptionLanguage)相似,经历了从机器码(晶体管和焊接)、汇编(网表)、到高级语言(HDL)的过程。

VHDL翻译成中文就是超高速集成电路硬件描述语言,他诞生于1982年。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,(即IEEE标准的1076-1993版本)主要是应用在数字电路的设计中。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。目前,它在中国的应用多数是用FPGA/CPLD/EPLD 的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。

VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

2.1 VHDL的特点

应用VHDL进行系统设计,有以下几方面的特点。

(一)功能强大

VHDL具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。VHDL是一种设计、仿真和综合的标准硬件描述语言。

(二)可移植性

VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另

一个综合工具,从一个工作平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为ASIC设计。

(三)独立性

VHDL的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。

(四)可操作性

由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。

(五)灵活性

VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。

2.2 VHDL的设计结构

VHDL描述数字电路系统设计的行为、功能、输入和输出。它在语法上与现代编程语言相似,但包含了许多与硬件有特殊关系的结构。

VHDL将一个设计称为一个实体Entity(元件、电路或者系统),并且将它分成外部的可见部分(实体名、连接)和内部的隐藏部分(实体算法、实现)。当定义了一个设计的实体之后,其他实体可以利用该实体,也可以开发一个实体库。所以,内部和外部的概念对系统设计的VHDL是十分重要的。

外部的实体名或连接由实体声明Entity来描述。而内部的实体算法或实现则由结构体Architecture来描述。结构体可以包含相连的多个进程process或者组建component等其他并行结构。需要说明的是,它们在硬件中都是并行运行的。

2.3 VHDL的设计步骤

采用VHDL的系统设计,一般有以下6个步骤。

1)要求的功能模块划分;

2)VHDL的设计描述(设计输入);

3)代码仿真模拟(前仿真);

4)计综合、优化和布局布线;

5)布局布线后的仿真模拟(后仿真);

6)设计的实现(下载到目标器件)。

3. MAX+plusII仿真软件的使用简介

Max+plusII(或写成Maxplus2,或MP2) 是Altera公司推出的的第三代PLD开发系统(Altera第四代PLD开发系统被称为:QuartusII,主要用于设计新器件和大规模CPLD/FPGA)。使用MAX+PLUSII的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAX+PLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内内完成。特别是在原理图输入等方面,MaxplusII被公认为是最易使用,人机界面最友善的PLD开发软件,特别适合初学者使用。PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在PLD的设计过程中广泛使用。常用的硬件描述语言有ABEL,VHDL语言等。

在这里我们可以先看一看用FPGA/CPLD开发工具进行电路设计的一般流程

通常可将FPGA/CPLD设计流程归纳为以下7个步骤,这与ASIC设计有相似之处。

1.设计输入。在传统设计中,设计人员是应用传统的原理图输入方法来开始设计的。自90年代初, Verilog、VHDL、AHDL等硬件描述语言的输入方法在大规模设计中得到了广泛应用。

2.前仿真(功能仿真)。设计的电路必须在布局布线前验证电路功能是否有效。(ASCI设计中,这一步骤称为第一次Sign-off)PLD设计中,有时跳过这一步。

3.设计编译。设计输入之后就有一个从高层次系统行为设计向门级逻辑电路设转化翻译过程,即把设计输入的某种或某几种数据格式(网表)转化为软件可识别的某种数据格式(网表)。

4.优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果代替一些复杂的单元,并与指定的库映射生成新的网表,这是减小电路规模的一条必由之路。

5.布局布线。在PLD设计中,3-5步可以用PLD厂家提供的开发软件(如Maxplus2)自动一次完成。

6.后仿真(时序仿真)需要利用在布局布线中获得的精确参数再次验证电路的时序。(ASCI设计中,这一步骤称为第二次Sign—off)。

7.生产。布线和后仿真完成之后,就可以开始ASCI或PLD芯片的投产。

同样,使用MaxplusII基本上也是有以上几个步骤,但可简化为:设计输入、设计编译、设计仿真、下载。

4. 电子钟的设计要求与总体设计

4.1设计要求

本次设计的多功能数字钟具有如下功能:

1.秒/分/时的依次显示并正确计数;

2.定时闹钟:实现整点报时,扬声器发出报时声音;

3.时间设置,即手动调时功能:当认为时钟不准确时,可以分别对分/时进行调整;

4.2 总体设计

4.2.1 设计框图

图1 顶层框图

4.2.2外部输入输出要求

外部输入要求:输入信号有1kHz/1Hz时钟信号、低电平有效的秒清零信号CLR、低电平有效的调分信号SETmin、低电平有效的调时信号SEThour;

外部输出要求:整点报时信号SOUND(59分51/3/5/7秒时未500Hz 低频声,59分59秒时为1kHz高频声)、时十位显示信号h1(a,b,c,d,e,f,g)、时个位显示信号h0(a ,b,c,d,e,f,g)、分十位显示信号m1及分个位m0、秒十位s1及秒个位s0;数码管显示位选信号SEL0/1/2等三个信号。

4.2.3内部各功能模块:

1)FREQ分频模块:

整点报时用的1kH与500Hz的脉冲信号,这里的输入信号是1KHz信号,所以只要一个二分频即可;时间基准采用1Hz输入信号直接提供(当然也可以分频取得,这里先用的是分频取得的信号,后考虑到精度问题而采用硬件频率信号。

2)秒计数模块SECOND:

60进制,带有进位和清零功能的,输入为1Hz脉冲和低电平有效的清零信号CLR,输出秒个位、时位及进位信号CO。

3)分计数模块MINUTE

60进制,带有进位和置数功能的,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位及进位信号CO。

4)时计数模块HOUR:

24进制,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位。

5)扫描模块SELTIME:

输入为秒(含个/十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。

6)整点报时功能模块ALERT:

输入为分/秒信号,输出为高频声控Q1K和Q500。

7)译码显示功能模块DISPLAY:

输入为D,输出为Q

5. VHDL程序设计

5.1分频模块(原理图输入)

图2 顶层设计

5.2 秒模块程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity SECOND is

port(clk,clr:in std_logic;

sec1,sec0:out std_logic_vector(3 downto 0); co:out std_logic);

end SECOND;

architecture SEC of SECOND is

begin

process(clk,clr)

variable cnt1,cnt0:std_logic_vector(3 downto 0); begin

if clr='1' then

cnt1:="0000";

cnt0:="0000";

elsif clk'event and clk='1' then

if cnt1="0101" and cnt0="1000" then

co<='1';

cnt0:="1001";

elsif cnt0<"1001" then

cnt0:=cnt0+1;

else

cnt0:="0000";

if cnt1<"0101" then

cnt1:=cnt1+1;

else

cnt1:="0000";

co<='0';

end if;

end if;

end if;

sec1<=cnt1;

sec0<=cnt0;

end process;

end SEC;

图3 秒模块仿真波形

5.3分模块程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity MINUTE is

port(clk,en:in std_logic;

min1,min0:out std_logic_vector(3 downto 0); co:out std_logic);

end MINUTE;

architecture MIN of MINUTE is

begin

process(clk,en)

variable cnt1,cnt0:std_logic_vector(3 downto 0); begin

if clk'event and clk='1' then

if en='1' then

if cnt1="0101" and cnt0="1000" then

co<='1';

cnt0:="1001";

elsif cnt0<"1001" then

cnt0:=cnt0+1;

else

cnt0:="0000";

if cnt1<"0101" then

cnt1:=cnt1+1;

else

cnt1:="0000";

co<='0';

end if;

end if;

end if;

end if;

min1<=cnt1;

min0<=cnt0;

end process;

end MIN;

图4 分模块仿真波形

5.4时模块程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity HOUR is

port(clk,en:in std_logic;

h1,h0:out std_logic_vector(3 downto 0)); end HOUR;

architecture hour_arc of HOUR is

begin

process(clk)

variable cnt1,cnt0:std_logic_vector(3 downto 0); begin

if clk'event and clk='1' then

if en='1' then

if cnt1="0010" and cnt0="0011" then

cnt1:="0000";

cnt0:="0000";

elsif cnt0>="1001" then

cnt1:=cnt1+1;

cnt0:="0000";

else

cnt0:=cnt0+1;

end if;

end if;

end if;

h1<=cnt1;

h0<=cnt0;

end process;

end hour_arc;

图5 时模块仿真波形

5.5扫描模块程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity SELTIME is

port(

clk:in std_logic;

sec1,sec0,min1,min0,h1,h0:in std_logic_vector(3 downto 0); daout:out std_logic_vector(3 downto 0);

sel:out std_logic_vector(2 downto 0));

end SELTIME;

architecture fun of SELTIME is

signal count:std_logic_vector(2 downto 0);

begin

sel<=count;

process(clk)

begin

if(clk'event and clk='1') then

if(count>="101") then

count<="000";

else

count<=count+1;

end if;

end if;

case count is

when"000"=>daout<= sec0;

when"001"=>daout<= sec1;

when"010"=>daout<= min0;

when"011"=>daout<= min1;

when"100"=>daout<=h0;

when others =>daout<=h1;

end case;

end process;

end fun;

图6 扫描模块仿真波形5.6显示模块程序

library ieee;

use ieee.std_logic_1164.all;

entity DISPLAY is

port(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0)); end DISPLAY;

architecture disp_are of DISPLAY is

begin

process(d)

begin

case d is

when"0000" =>q<="0111111";

when"0001" =>q<="0000110";

when"0010" =>q<="1011011";

when"0011" =>q<="1001111";

when"0100" =>q<="1100110";

when"0101" =>q<="1101101";

when"0110" =>q<="1111101";

when"0111" =>q<="0100111";

when"1000" =>q<="1111111";

when others =>q<="1101111";

end case;

end process;

end disp_are;

图7 显示模块仿真波形

5.7 定时闹钟模块程序

library ieee;

use ieee.std_logic_1164.all;

entity ALERT is

port(m1,m0,s1,s0:in std_logic_vector(3 downto 0);

clk:in std_logic;

q500,qlk:out std_logic);

end ALERT;

architecture sss_arc of ALERT is

begin

process(clk)

begin

if clk'event and clk='1' then

if m1="0101" and m0="1001" and s1="0101" then

if s0="0001" or s0="0011" or s0="0101" or s0="0111" then q500<='1';

else

q500<='0';

end if;

end if;

if m1="0101" and m0="1001" and s1="0101" and s0="1001" then qlk<='1';

else

qlk<='0';

end if;

end if;

end process;

end sss_arc;

图8 定时闹钟模块仿真波形

5.8 顶层文件(原理图输入)

6. 结语

毕业设计,也许是我大学生涯交上的最后一个作业了。想借次机会感谢三年以来给我帮助的所有老师、同学,你们的友谊是我人生的财富,是我生命中不可或缺的一部分。感谢老师对我的教育培养,你们细心指导我的学习,在此,我要向诸位老师深深地鞠上一躬。

毕业论文的撰写过程是对所学的电子技术基本理论知识的综合运用,对三年专业知识的一次综合应用、扩充和深化,也是对我们理论运用于实际设计的一次锻炼。通过毕业论文的撰写过程,我不仅温习了以前在课堂上学习的专业知识,同时我也得到了老师和同学的帮助,学习和体会到了电子技术的基本技能和思想。

从开始接到论文题目到电路图的设计,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战。在这段时间里,我学到了很多知识也有很多感受。当然在做的过程中也遇到过很多的麻烦,一些没有接触过的元件,它们的封装需要自己去书籍、网上搜索,在更新的时候会有一些错误,自己很难改正,只得求助老师,最后得以解决。这次毕业设计使我开始了自主的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次的成功都会让我兴奋好一段时间。

此次设计过程中,各种系统的适用条件,各种程序的选用标准,各种元件的安装方式,我都是随着设计的不断深入而不断熟悉并学会应用的。和老师的沟通交流更使我对设计有了新的认识也对自己提出了新的要求。课题设计过程中我不怕失败,在失败中总结经验,为成功积累素材;学着自我超越,敢于尝试,在尝试中进步,这对我能力的提高大有好处。设计中有太多的不懂和陌生,但是我会多看、多想、多问、多学,认真的对待每一次老师交代的任务,每一个任务都是一个锻炼的机会和成长的过程,我在规定的时间尽善尽美的完成,把自己的能力发挥到最大限度。这些本是我工作后才会意识到的问题,通过这次毕业设计让我提前了解了这些知识,这是很珍贵的。

这个课题设计的过程让我学习、工作的思路有了更为明朗的认识:它是站在一定高度上去工作的,眼界要放宽,思路要开阔,内容要饱满。我曾经也做过不少课程设计,但都是局限在课本中,而这次实验设计,能够让我走出来,仿佛推开门看见外面的世界是如此之大,如同井底之蛙跳上井沿过程中要有很好的团结合作意识和责任感,积极的参与到实验设计的讨论中去,学习和听取别人的意见,我也主动的发表意见,用一个积极上进、激情乐观的态度面对每一天的实验设计生活,让我的学习生活丰富多彩。

非常感谢学院能给我们提供这样的一个可以自己动脑、动手进行设计的机会,同时也大大加强了同学之间的沟通,以及学生与老师之间的交流,这是一个放飞自我的平台,也是我们理想与实际结合的升华,我想学院给我们提供的这些,教会我们的这些不仅仅在现在有用,对于我们今后步入社会也是同样有用的。目前我已经在一家公司实习了,我明显感到在社会上更加需要团体合作,以及自身的严谨作风。我在工作中不怕失败,在失败中总结经验,为成功积累素材;学着自我超越,敢于尝试,在尝试中进步,这对我能力的提高大有好处。

这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的

经历能让我在以后工作中激励我继续进步。离开学校完成论文,是一个终点,又是另外一个起点!喝水不忘挖井人,我将铭记大家对我的帮助,以后更好的为人民为社会服务!在这个竞争激烈、物欲浮躁的社会,怀着一颗认真、平和的心,踏实的走好每一步,我相信我的未来就一定不是梦,也坚信这次课程设计将成为我一辈子的财富,其所折射出的光芒将照亮我的前程,成为我人生中的一道亮丽风景。

7. 参考文献

1.姜雪松,吴钰淳,王鹰1VHDL 设计实例与仿真[M ]1北京:机械工业出版社, 2007.1。

2.Stefan Sjohp lm,LennartL indh1VHDL设计电子线路[M]1边计年,薛宏熙,译1北京:清华大学出版社, 20001。

3.李国洪,沈明山.可编程器件EDA 技术与实践[M].北京:机械工业出版社,2004

4.周红,刘光蓉,张红武. 利用MAX+ plus Ⅱ进行数字逻辑课程设计[J ] . 武汉工业学院学报,2004.4。

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技术的数字时钟设计

电子系统课程设计任务书 设计题目:基于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课设数字钟设计

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

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

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

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

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实验数字计时器设计

数字计时器设计 一、实验目的 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语言编程,进行了多功能数字钟的设计,并在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数字时钟课程设计

课程设计报告 学生姓名学号 班级 专业电子信息工程 题目数字时钟设计 指导教师 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数字钟设计班级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开关,电子钟从设置的时间开始往后计时。

EDA课程设计报告(数字电子时钟)

EDA课程设计报告 设计题目:数字时钟的设计 班级:电气工程及其自动化 姓名: 学号: 日期:2014年6月15日

目录 摘要 一、课程设计任务及要求 (3) 1.1实验目的 (3) 1.2功能设计 (4) 二、整体设计思想 (4) 2.1性能指标及功能设计 (4) 2.2总体方框图 (4) 三、详细设计........................................................................................................ 错误!未定义书签。 3.1数字时钟的结构:............................................................ 错误!未定义书签。 3.2控制模块的结构 (5) 3.3.1按键处理模块 (6) 3.3.2定时时钟模块 (6) 3.3.3扫描时钟模块 (6) 3.3.4定时计数模块 (6) 3.3.5显示控制模块 (7) 四、主程序 (7) 五、实验步骤 (14) 5.1工程建立及存盘14 5.2时序仿真14 5.3引脚锁定14 5.4硬件测试15 5.5实验结果15 结束语15参考文献16

EDA技术实现的数字电子时钟设计 作者:指导老师: 摘要 EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试与封装技术、FPGA /CPLD编程下载技术、自动检测技术等;EDA技术为现代电子理论和设计的表达与实现提供了可能性。在现代技术的所有领域中,纵观许多得以飞速发展的科学技术,多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有科学技术发展最前列的原因之一。不难理解,EDA技术已不是某一学科的分支,或某种新的技能技术,应该是一门综合性学科。它融合多学科于一体,打破了软件和硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术合应用激活速的发展方向。 电子时钟以成为人们常生活中数字电子钟一般由振荡器,分频器,译码器,显示器等部分组成。电子时钟的应用非常广泛,应用于人家庭或车站、剧场、办公室等公共场所,给人们的生活,学习,工作,娱乐带来极大的便利,尽管目前市场上以有现成电子时钟集成电路芯片,价格便宜这些都是数字电路中最基本的,应用最广的电路。数字电子钟的基本逻辑功能框图如下:它是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。他的计时装置的周期为24小时,显示满刻度为23时 59分59秒,另外应有校时功能。 关键字:EDA;VHDL语言;电子时钟 一、课程设计任务及要求 1.1实验内容 选用合适的可编程逻辑器件及外围电子元器件。设计一个数字电子钟,利用EDA 软件(QUARTUSⅡ)进行编译及仿真,设计输入可采取VHDL硬件描述语言输入法和原理图输入法,并下载到EDA实验开发系统,连接外围电路,完成实际测试。

eda数字钟设计

DA实验报告

验一、3/8 译码器的实现 一、实验目的: 1.学习QuartusⅡ的基本操作 2.熟悉教学实验箱的使用 3.设计一个3/8 译码器 4.初步掌握VHDL语言和原理图的设计输入,编译,仿真和调试过程 二、实验说明: 、本实验要求使用VHDL语言描述3/8译码器,并在实验平台上面实现这个译码器。描述的时候要注意VHDL语言的结构和语法,并熟悉QuartusⅡ的文本编辑器的使用方法。尝试使用不同的VHDL语言描述语句实现3/8译码器,并查看其RTL结构区别,理解不同描述方法对综合结果的影响。将程序下载到实验箱上,分别用按键和LED作为输入和输出对结果进行验证,进一步熟悉所用EDA实验箱系统。 、所用器件: EDA实验箱、EP1K10TC100-3器件 三、实验步骤: 照教学课件《QUARTUS II 使用方法》,学习QuartusⅡ软件的使用方法: 、在WINDOWS 界面双击QuartusⅡ图标进入QuartusⅡ环境; 、单击File 菜单下的New Project Wizard: Introduction 按照向导里面的介绍新建一个工程并把它保存到自己的路径下面。(注意路径当中不要有中文和空格) 、单击File 菜单下的New,选择VHDL File(原理图方式时选择Block Diagram/Schematic File),后单击OK,就能创建一个后缀名为.vhd (*.bdf)的文本(原理图)文件。此vhd文件名必须与设计实体名相同。另外,如果已经有设计文件存在,可以按File 菜单里面的Open 来选择你的文件。 、输入完成后检查并保存,编译。 、改错并重新编译; 、建立仿真波形文件并进行仿真。单击File 菜单下的New,选择Vector Waveform File,单击OK,创建一个后缀名为*.vwf的仿真波形文件,按照课件上的方法编辑输入波形,保存,进行仿真,验证仿真结果是否正确;

EDA简单数字时钟设计

《EDA技术》 实训报告 项目名称:数字时钟仿真设计 专业班级:微机101 学号:周圣礼 姓名: 100507127 连云港职业技术学院信息工程学院 2012年 1 月 2 日

一、设计目的和背景及要求 (3) 1.1 背景 (3) 1.2 目的 (3) 设计的指标: (3) 1.3 设计要求 (3) 二、设计总体方案及原理 (4) 2.1 总体方案框图 (4) 2.2 设计原理 (4) 2.3 元器件的选择及功能分析 (4) 三、单元元件设计分析 (5) 3.1计数器 (5) (1)60进制计数器 (5) (2)12进制计数器 (6) (3)24进制计数器 (6) 3.2 分秒组成电路 (7) 3.3 校时电路 (7) 3.4 整点报时电路 (8) 3.5 12小时制与24小时制的切换 (10) 四、总电路图 (10) 五、总结 (11) 1、设计过程中遇到的问题及解决办法 (11) 2、实训心得 (11)

一、设计目的和背景及要求 1.1 背景 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可缺少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度,远远超过老式钟表,钟表的数字化给人们生活带来了极大的方便,而且大大扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 1.2 目的 本设计主要讲述简单数字钟的设计过程,主要介绍数字时钟电路的基础知识和基本功能电路,其中内容主要包括电路设计思想、电路设计基本单元及电路设计过程。电路设计过程包括六部分的设计,震荡电路设计、分频电路设计、“时、分、秒”计数器电路设计、译码器显示电路设计、校时电路设计、整点报时电路的设计。 设计的指标: 1、显示时、分、秒。 2、可以24小时制或12小时制切换。 3、具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。 钟源可以手动输入或借用电路中的时钟。 4、具有正点报时功能,正点前10秒开始,蜂鸣器1秒响1秒停地响5次。 5、为了保证计时准确、稳定,由晶体振荡器提供标准时间的基准信号。 由于数字钟在各行各业得到极为高度的关注和越来越广泛的应用,使我对它也产生了浓厚的兴趣,刚好借助于《EDA技术》实训,动手做一做,去揭开它那神秘的面纱。 1.3 设计要求 1、画出总体设计框图,以说明数字钟由哪些相对独立的功能模块组成,标出各个模块 之间互相联系,时钟信号传输路径、方向和频率变化。并以文字对原理作辅助说明。 2、设计各个功能模块的电路图,加上原理说明。 3、选择合适的元器件,在Multisim上仿真验证、调试各个功能模块的电路,在仿真验 证时设计、选择合适的输入信号和输出方式,在验证电路正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4、对电路作相关仿真分析。

EDA时钟设计

第一部分:设计说明 1设计任务 设计一款数字电子时钟,具体要求如下: 1:输入条件:50MHz时钟,2个输入按键; 2:功能实现:具有显示时、分、秒功能;采用LED数码管显示;具有闹钟与对时功能,对时精确到分,闹钟设置与对时采用按键作为输入信号。 3:采用altera公司的quartusII软件进行编程与仿真,设计语言可以选择VerilogHDL或VHDL。 2目的与意义 训练综合运用学过的数字电子技术、数字系统设计技术(HDL硬件设计)和计算机编程及电路相关基本知识,培养独立设计比较复杂数字系统设计能力。 通过综合设计,力争掌握使用EDA工具设计数字系统电路的基本方法,包括原理方案的确定、详细设计中的编程与仿真等一系列过程,为以后进行工程实践问题的研究打下设计基础。 时钟,自从它发明的那天起,就成为人类的朋友,但随着社会的进步,科技的的发展,人们对它的功能又提出了新的要求,怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现代社会,守时已不仅关系到一个人的职业生涯,还成了衡量一个人道德的标准。时钟为人们提供了科学利用时间规律的依据,然而,普通的机械钟表与半机械钟表对于忙碌的生活显然早已不太适应,设计一款高精度数字时钟势在必行。本课题将通过对目前市场上的数字电子钟的研究,利用EDA技术设计一款高精度数字式电子钟,使人们可以得到精确时间显示,帮助人们合理安排时间,方便人们的生活

第二部分原理方案设计 1总体方案 要实现一个数字时钟小系统,整个系统由主要模块电路模块和外部输入输出以及显示模块组成。首先分别实现单个模块的功能,然后再通过级联组合的方式实现对整个系统的设计。 其中,主要模块有六个。它包括脉冲信号产生模块、时间计数模块(计数模块又分为分计数模块、秒计数模块、时计数模块)、译码显示模块、复位模块、闹铃模块、调节模块。各个模块先用EDA技术中的VHDL语言编程仿真,再生成各个小模块的模拟元件,再元件例化,根据设计连接电路实现数字电子钟小系统。2各部分方案 1:通过分频,产生1HZ的时钟信号 2:分别设计秒计时,分计时,时计时,秒计时用上面的时钟信号1HZ产生,分计时也是60一清零,分计时的时钟用的是秒计时的进位信号,时计时 用的是24一清零,CLK是分的进位。 3:闹铃模块其实和整点报时差不多,程序是整点报时,改变程序里的数据就可以实现闹铃模式 4:显示模块用的是7段共阳数码管,用来显示数字。 具体的思想如下图1所示

EDA数字钟的设计实验报告

五邑大学实验报告 实验课程名称: EDA实验 院系名称:信息工程学院 专业名称:通信工程(物联网) (一)实验目的: 设计并实现具有一定功能的数字钟。掌握各类计数器及它们相连的设计方法,掌握多个数码管显示的原理与方法,掌握FPGA的层次化设计方法,掌握VHDL语言的设计思想以及整个数字系统的设计。此数字钟具有时,分,秒计数显示功能,能实现清零,调节小时,分钟以及整点报时的功能。 (二)实验器材: 计算机一台,EDA实验箱一台。 (三)实验原理:

实验内容: 1.正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟,60秒钟的计数器显示。 2.按键实现“校时”“校分”功能; 3.用扬声器做整点报时。当计时到达59’50”时鸣叫。 方案:利用试验箱上的七段码译码器(模式7),采用静态显示,系统时钟选择1Hz。整个系统可以是若干文件组成,用PORT MAP 实现的方式;也可以是一个文件用多进程方式实现;亦或者是用文本和图形混合的方式实现;亦或者是用LPM参数化模块实现。 (五)实验步骤: 1. 新建一个文件夹,命名为shuzizhong. 2. 输入源程序。打开QuartusⅡ,选择File→new命令。在New窗口中的DesignFiles 栏选择编译文件-的语言类型,这里选择VHDL File选项。然后在VHDL文本编译窗口中输入秒模块程序。

秒模块源程序如下: library ieee; use SECOND is port(clk,clr:in std_logic;----时钟/清零信号 sec1,sec0:out std_logic_vector(3 downto 0);----秒高位/低位 co:out std_logic);-------输出/进位信号 end SECOND; architecture SEC of SECOND is begin process(clk,clr) variable cnt1,cnt0:std_logic_vector(3 downto 0);---计数 begin if clr='1' then----当ckr为1时,高低位均为0 cnt1:="0000"; cnt0:="0000"; elsif clk'event and clk='1' then if cnt1="0101" and cnt0="1000" then----当记数为58(实际是经过59个记时脉冲)co<='1';----进位 cnt0:="1001";----低位为9 elsif cnt0<"1001" then----小于9时 cnt0:=cnt0+1;----计数 else cnt0:="0000"; if cnt1<"0101" then----高位小于5时 cnt1:=cnt1+1; else cnt1:="0000"; co<='0'; end if; end if; end if; sec1<=cnt1; sec0<=cnt0; end process; end SEC; 3.文件存盘。选择File→Save As命令,找到已经设立的文件夹,存盘文件名应与实体名一致。 4.创建工程。打开并建立新工程管理窗口,选择File→New Project Wizard命令,即弹出设置窗口,命名为57。

实训一简易数字钟的EDA设计1.2.1设计要求

实训一 简易数字钟的EDA设计 1.2.1 设计要求 本案例将在QuartusII开发系统中用可编程逻辑器件,完成简易数字钟的EDA设计,具体要求为: 1数字钟功能:数字钟的时间为24小时一个周期;数字钟须显示时、分、秒; 2校时功能:可以分别对时、分、秒进行单独校时,使期调整到标准时间; 3扩展功能:整点报时系统。设计报整点报时电路,每当数字钟计时59分50秒时开始 报时,并发出鸣叫声,到达整点时鸣叫结束,鸣叫频率为100Hz。1.2.2 功能描述 数字式电子钟实际上是一个对标准1Hz进行计数的计数电路,秒计数器满60后向分计数器进位, 分计数器满60后向时计数器进位, 时计数器按24翻1规律计数, 计数输出经译码器送LED显示器, 由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加上一个校时电路,该数字式电子钟除用于计时外,还能整点报时,如图8-4所示为多功能数字式电子钟的构成框图。除校

时功能外,电子钟处于其他功能状态时并不影响数字钟的运行,该电子钟利用GW48 实验平台的扬声器进行整点报时,设置2个按键作为功能键和调整键。 图8-4多功能数字式电子钟的系统框图 1输入 1)K1:模式选择键,第一次按K1按钮时为校秒状态, 按第二次为校分状态, 按第三次为校时状态,按第四次为计时状态,系统初始状态为计时状态。 2)K2:手动校时调整键,当按住该键不放时,表示调整时间直至校准的数值,松开该键则停止调整。 3)clk_1kHz:1000Hz的基准时钟输入,该信号10分频后作为整点报时所需的音频信号的输入时钟,1000分频后作为数字钟输入时钟。 2输出 HH[1..0] HL[3..0]为BCD码小时输出显示;MH[2..0] ML[3..0]为 BCD码分输出显示;SH[2..0] SL[3..0]为BCD码秒输出显示;alarm为报时输出。

简易数字钟的EDA设计

6.2 简易数字钟的EDA设计 6.2.1 设计要求 本案例将在QuartusII开发系统中用可编程逻辑器件,完成简易数字钟的EDA设计,具体要求为: 1数字钟功能:数字钟的时间为24小时一个周期;数字钟须显示时、分、秒; 2校时功能:可以分别对时、分、秒进行单独校时,使期调整到标准时间; 3扩展功能:整点报时系统。设计报整点报时电路,每当数字钟计时59分50秒时开始报时,并发出鸣叫声,到达整点时鸣叫结束,鸣叫频率为100Hz。 6.2.2 功能描述 数字式电子钟实际上是一个对标准1Hz进行计数的计数电路,秒计数器满60后向分计数器进位, 分计数器满60后向时计数器进位, 时计数器按24翻1规律计数, 计数输出经译码器送LED显示器, 由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加上一个校时电路,该数字式电子钟除用于计时外,还能整点报时,如图6-4所示为多功能数字式电子钟的构成框图。除校时功能外,电子钟处于其他功能状态时并不影响数字钟的运行,该电子钟利用GW48 实验平台的扬声器进行整点报时,设置2个按键作为功能键和调整键。 图6-4多功能数字式电子钟的系统框图 1输入 1)K1:模式选择键,第一次按K1按钮时为校秒状态, 按第二次为校分状态, 按第三次为校时状态,按第四次为计时状态,系统初始状态为计时状态。 2)K2:手动校时调整键,当按住该键不放时,表示调整时间直至校准的数值,松开该键则停止调整。 3)clk_1kHz:1000Hz的基准时钟输入,该信号10分频后作为整点报时所需的音频信号的输入时钟,1000分频后作为数字钟输入时钟。 2输出 HH[1..0] HL[3..0]为BCD码小时输出显示;MH[2..0] ML[3..0] 为BCD码分输出显示;SH[2..0] SL[3..0]为BCD码秒输出显示;alarm为报时输出。 6.2.3 数字钟的层次化设计方案 根据上述功能,可以把多功能数字式电子钟系统划分为三部分:时钟源(即标准秒钟的产生电路),时分秒计数器模块、数字钟模块、校时模块、数字秒表模块、闹钟和整点报模块。

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