版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东 北 石 油 大 学课 程 设 计课 程 硬件课程设计 题 目 数字时钟设计 院 系 专业班级 学生姓名 学生学号 指导教师 2011年 7 月 10日2012年 6 月 10日东北石油大学课程设计任务书课程 硬件课程设计 题目 数字时钟设计 专业 主要内容、基本要求等一、主要内容:利用EL教学实验箱、微机和Quartus软件系统,使用VHDL语言和层次设计方法设计实现数字钟,完成硬件设计设计和功能仿真,最后下载到EL教学实验箱中予以实现。二、基本要求:1.具有时,分,秒,计数显示功能,以24小时循环计时。2.具有清零功能。三、扩展要求1.整点报时功能。四、参考文献1 崔国玮.李文涛.基于E
2、DA技术的数电课程设计新模式的探索与实践J. 2008 2 李国洪.沈明山.可编程逻辑器件EDA技术与实践M.机械工业出版社.20083 金凤莲.VHDL语言在EDA仿真中的应用现代电子技术J.2005 4 邢小杰.单片机电子时钟设.中国科技博览J.2009 5 王玫.基于EDA技术的数字电路课程设计实例分析J.20096 张晓军.解大.陈陈.VHDL语言在电子设计自动化中的应用J.2002 完成期限 第18-19周 指导教师 专业负责人 2011年 6月 10日目 录第一章 概述11.1 EDA 技术简介11.2 课题背景11.3 EDA发展趋势21.4 系统的总体设计2第二章实验开发系统软
3、件介绍32.1 VHDL设计步骤32.2系统软件介绍3第三章 数字时钟的设计53.1 设计目的53.2 设计原理53.3 设计要求53.4 单元模块的设计53.5 引脚设置123.6系统测试123.7 实验连线13结论15参考文献16东北石油大学本科生硬件课程设计第1章 概述1.1 EDA 技术简介现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronic design automat
4、ic,EDA)技术。电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化,如软件无线电技术的崛起、模拟电路系统硬件描述语言的表达和设计的标准化、系统可编程模拟器件的出现、数字信号处理和图像处理的全硬件实现方案的普遍接受以及软硬件技术的进一步融合等1。 EDA使得电子领域各学科的界限更加模糊,更加互为包容,如模拟与数字、软件与硬件、系统与器件、ASIC与FPGA、行为与结构等。随着硬件描述语言的标准化进一步确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用。与此同时,电子技术在通信、计算机及家电产品生产中的市场需
5、求和技术需求,极大地推动了全新的电子设计自动化技术的应用和发展,特别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,更有效地将EDA技术推向成熟和实用2。1.2 课题背景FPGA嵌入式应用开发技术与数字钟技术发展的客观实际出发,通过对该技术发展状况的了解,以及课题本身的需要,指出研究基于FPGA的芯片系统与设计数字钟的设计与实现的必要性。课题相关技术的发展当今电子产品正向
6、功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别师大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上MaxplusII(或最新的QUARTUS)开发环境,更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术,技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大
7、规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑映射,编程下载等工作。最终形成集成电子系统或专用集成芯片的一门新技术。本设计利用VHDL硬件描述语言结合可编程逻辑器件进行的,并通过数码管动态显示计时结果。数字钟可以由各种技术实现,如单片机等利用可编程逻辑器件具有其他方式没有的特点,它具有易学,方便,新颖,有趣,直观,设计与实验项目成功率高,理论与实践结合紧密,体积小,容量大,I/O口丰富,易编程和加密等特点,并且它还具有开放的界面,丰富的设计库,模块化的工具以及LPM定制等优良性能,应用非
8、常方便。因此,本设计采用可编程逻辑器件实现3。1.3 EDA发展趋势EDA 技术发展趋势面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的 EDA 工具,使用统一的集成化设计环境,改变传统设计思路,将精力集中到设计构思、方案比较和寻找优化设 计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对 EDA 技术提出 了更高的要求。未来的 EDA 技术将在仿真、时序分析、集成电路自动测试、高速印刷电路 板设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的 方向发展4。1.4 系统的总体设计数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式
9、时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,数字时钟可植入自动控制、测试等系统内部,作为系统的时钟源,可为系统提供定时信号或中断控制的时间基准,具有广泛的用途。由于数字集成电路的发展使得数字时钟的精度远远超过老式钟表,而且加入了一些诸如自动报时、定时闹钟等功能。这些都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。数字时钟的设计方法有很多种,包括基于单片机的硬件设计、基于各种描述语言的软件设计,本设计采用VHDL语言来设计数字时钟有着多方面的优越性,通过把整个设计分为多个模块依次来实现,减少了众多重复性步骤,合理化了设计过程,使得设计更加省时
10、、快捷,提高了设计效率5。第2章实验开发系统软件介绍2.1 VHDL设计步骤采用VHDL的系统设计,一般有以下6个步骤:1)按照要求的功能模块划分;2)VHDL的设计描述(设计输入);3)代码仿真模拟(前仿真);4)计综合、优化和布局布线;5)布局布线后的仿真模拟(后仿真);6)设计的实现(下载到目标器件)2.2系统软件介绍Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特
11、点。Quartus II 支持原理图输入与Verilog HDL 和VHDL输入混合设计,它除了承接原来的Max+Plus II 软件的部设计功能和器件对象外,还增加了许多新功能和新的FPGA器件系列。它可对设计进行功能仿真,对数字电路的设计实现同步模拟分析和时序仿真。这种同步模拟分析、时序仿真在数字电路的教学中可以起到很好的辅助作用。逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件VHDL网表文件和Verilog基于VHDL的数字时钟设计
12、和时序仿真网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。Quartus II软件设计流程设计输入:设计文件的输入方法有原理图输入、文本输入、内存编辑以及由第三方EDA工具产生的网表输入、格式输入,生成方法不同,生成的文件格式也有所不同。在图形设计文件中,Quartus II软件为了实现不同的逻辑功能提供了大量的基本单元符号和宏功能模块,在图形编辑器中可以直接调用;为了适应自顶向下的设计,设计者可以使用和Verilog HDL以及Tcl脚本输入文本型设计项目编译:项目编译主要完成设计项目的检查和逻辑综合,将项目最终设计结果生成器件的下载文件,并为模拟和编程产生输
13、出文件。仿真验证和时序分析:在把经过编译的输入设计编程或配置到器件之前,可以通过Quartus II软件的仿真器对文件进行全面测试,保证设计在各种可能的条件下都有正确的响应。根据所需的信息类型,可以进行功能仿真和时序仿真。Quartus II时序分析器允许分析设计中所有逻辑的性能,得出时序分析结果,如建立时间、保持时间、引脚到引脚延迟、最大时钟频率、延迟时间及其它时序特征,并协助引导适配器满足设计中的时序要求。器件编程:成功编译了设计工程之后,编译器的Assembler模块自动将适配过程的器件、逻辑单元和引脚分配信息转换为器件的编程图像,并以.sof形式保存,Quartus II软件的编程器(
14、programmer)使用该文件就可对器件进行编程配置。基于VHDL的数字时钟设计和时序仿真在Quartus II软件开发环境下,使用VHDL描述语言、结合FPGA开发板编译和仿真数字时钟;要求时钟能进行基本的计时功能,按照:“时:分:秒”来显示时间;并且能进行时间设置,具有整点报时功能,可对所有显示的内容进行调节设定6。第3章 数字时钟的设计3.1 设计目的设计一个24小时制数字钟,要求能显示时,分,秒,并且可以手动调整时和分具有清零功能。调节小时、分钟功能。整点报时功能,整点报时的同时LED灯花样显示。3.2 设计原理在同一EPLD芯片EPF10K10上集成了如下电路模块: 1时钟计数:
15、秒60进制BCD码计数; 分60进制BCDD码计数; 时24进制BCDD码计数;同时整个计数器有清零,调分,调时功能。在接近整数时间能提供报时信号。 2具有驱动8位八段共阴扫描数码管的片选驱动信号输出和八段字形译码输出。 3扬生器在整点时有报时驱动信号产生。4. LED灯按个人口味在整点时有花样显示信号产生。3.3 设计要求1主芯片EPF10K10LC84-4。 28个LED灯。 3扬声器。 48位八段扫描共阴级数码显示管。5三个按键开关(清零,调小时,调分钟)3.4 单元模块的设计时钟的设计共化分为6个模块:秒计数器(second),分计数器(minute),小时计数器(hour),报警电路
16、(alert),扫描电路(seltime),译码电路(deled)。下面具体分析各个模块的原理、内容和功能。分别对秒、分、小时进行计数。整个计数模块从00点00分00秒开始计时,当计数到23点59分59秒的时候,一天结束,计数器清零,新的一天重新开始计数。秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号。要设计一个同时显示时、分、秒6个数字的数字时钟,则需要6个七段数码显示管。通过产生一个扫描信号来控制6个七段显示器,依次点亮6个七段数码显示管,也就是每次只点亮一个七段显示器。只要扫描信号的频率超过人的眼睛视觉暂留频率24Hz以上,就可以达到尽
17、管每次点亮单个七段数码显示管,却能具有6个同时显示的视觉效果,而且显示也不致闪烁抖动。其中6位扫描信号一方面控制七段显示器依次点亮,时间数据选择模块的作用是将时钟产生的秒、分钟、小时信号集合起来,然后驱动六位七段数码管的片选驱动信号输出。1.秒模块的设计;能够实现60进制循环计数,带有复位端reset、手动调分功能端setmin和向分进位端enmin ,受时钟上升沿信号控制,其文本语言(文件名:second.vhd)为底层文本,图1为秒计数器的仿真波形图。process ( clk , reset , setmin) -秒计数进程 begin - enmin<=k; if (reset=
18、'0') then count <= "0000000"-复位信号为1时,秒计数清零 elsif (setmin='0') then enmin <= clk; elsif (clk 'event and clk='1') then -给他一个上升沿,然后 if (count(3 downto 0)="1001") then if (count <16#60#) then if (count="1011001") then enmin<='1
19、9; -当秒计数为58时进位信号为1 count<="0000000" ELSE count<=count+7; -分低位小于9时,cnt加1 end if; else count<="0000000" end if; elsif (count < 16#60#) then count <= count+1;-秒高位小于5时,加1 enmin<='0' after 100 ns; else count<="0000000" end if; end if; end process
20、;第一个模块为秒计数模块,其实质是一个六十进制计数器,其中输入管脚: clk为1hz的时钟脉冲;reset为秒模块清零复位键;setmin为调分钟按键输出管脚:enmin为分模块的进位信号。 如图所示:图3-1 六十进制秒计数器的仿真波形2.分模块的设计;能够实现60进制循环计数,带有带有复位端reset、手动调小时功能端sethour和向分进位端enhour ,受时钟上升沿信号控制。其文本语言(件名:minute.vhd)为底层文本,图2为分计数器的仿真波形图process ( clk,reset,sethour) -分计数进程 begin if (reset='0') th
21、en count <= "0000000" elsif (sethour='0') then enhour <= clk1; elsif (clk' event and clk='1') then-时钟上升沿,en为1时分开始计数 if (count(3 downto 0)="1001") then if (count <16#60#) then if (count="1011001") then enhour<='1' -当分计数到58时产生进位信号 c
22、ount<="0000000" ELSE count<=count+1; -分低位小于9时,cnt加1 end if; else count<="0000000" end if; elsif(count <16#60#) then -用十六进制表示60 count <= count + 1; enhour<='0' after 100 ns; else count<="0000000" end if; end if; end process;计数模块的第二个模块为分计时模块,其
23、实质是一个六十进制计数器,其中:输入管脚:clk为秒模块输出的进位信号;clk1为1hz的时钟控制脉冲;reset管脚的作用为分模块的清零、复位sethour为调小时按键。输出管脚:enhour输出为时模块的进位信号如图所示:图3-2 六十进制分计数器的仿真波形3.时模块的设计;能够实现24进制循环计数,带有复位端reset,受时钟上升沿信号控制。其文本语言(文件名:hour.vhd)为底层文本,图2为分计数器的仿真波形图。process ( clk,reset) -小时计数进程 begin if (reset='0') then count <= "00000
24、0" elsif (clk' event and clk='1') then-时钟上升沿,en为1时小时开始计数 if (count(3 downto 0)="1001") then if (count <16#24#) then -如果用用16进制表示24 count<=count + 1; else count<="000000" end if; elsif(count <16#24#) then -十六进制表示24 count <= count + 1; else count<=
25、"000000" end if; end if; end process;如图所示: 图3-3 小时计数器的仿真波形第三个模块为小时计数模块,其实质是一个二十四进制计数器,其中:输入管脚:clk为分模块输出的进位信号; Reset为小时模块的清零、复位管脚. 输出模块:dout5.0为小时模块输出的计数信号4.报时模块的设计;能够实现整点报时和循环点亮3只LED灯,工作时受时钟上升沿控制。其文本语言(文件名:alert.vhd)为底层文本,图4为其仿真波形。speaker:process (clk) - 进程begin- 开始speak <= count1(1);-
26、声音if (clk 'event and clk= '1') then -给个上升沿if (dain = "000000") then -如果输入数据为000000if (count1>="10") then count1<="00"elsecount1 <= count1 + 1;-加1给count1end if; end if;end if;end process speaker;lamper:process(clk)beginif (rising_edge(clk)thenif (cou
27、nt <= "10") thenif (count ="00") thenlamp <= "001" ; -第一个灯亮elsif (count = "01") thenlamp <= "010" ; -第二个灯亮elsif(count="10") then lamp <= "100" ;-第三个灯亮end if;count <= count + 1;else count <= "00" -如果没有加1
28、的话就都不亮end if; end if; end process lamper;如图所示:图3-4 报警电路的仿真波形报警模块的作用是在时钟整点的时候输出一个报时信号,信号作用用开发板上,产生外部响声,起到报时的作用,同时可以选择在开发板的LED上显示出整点报时的LED花样显示,其中:输出管脚:clk为1hz的脉冲信号; dain6.0是分钟的输入信号; 输出管脚:speak为整点报时的声音输出lamp2.0为整点报时的LED输出5.译码器模块的设计;能够实现译码功能,将扫描到的数据能够译码显示在7段数码管上,输出端led6.0分别对应数码管的ag。其文本语言(文件名:deled.vhd)为
29、底层文本。BEGIN led <= "1111110" when num= "0000" else "0110000" when num= "0001" else "1101101" when num= "0010" else "1111001" when num= "0011" else "0110011" when num= "0100" else "1011011"
30、 when num= "0101" else "1011111" when num= "0110" else "1110000" when num= "0111" else "1111111" when num= "1000" else "1111011" when num= "1001" else "1110111" when num= "1010" else "0
31、011111" when num= "1011" else "1001110" when num= "1100" else "0111101" when num= "1101" else "1001111" when num= "1110" else "1000111" when num= "1111" ;END fun;6.扫描模块的设计;能够实现逐次扫描秒个位、秒十位、分个位、分十位、时个位、时十位,并
32、输出扫描数据和相应位的点dp,带有复位端reset,受扫描时钟上升沿控制。其文本语言(文件名:seltime.vhd)为底层文本,图5为其仿真波形。process ( clk1,reset) begin if (reset ='0') then-如果设置等于0 count <= "000" elsif (clk1 'event and clk1='1') then-加一个上升沿 if ( count >= "101") then count <= "000"-清0 else c
33、ount <= count + 1; end if; end if; case count is when "000" => daout <= sec(3 downto 0);-当000时四位数据给数据输出 when "001" => daout(3) <= '0' daout(2 downto 0) <= sec (6 downto 4); when "010" => daout <= min (3 downto 0); when "011" =&g
34、t; daout(3) <= '0' daout(2 downto 0) <= min (6 downto 4); when "100" => daout <= hour (3 downto 0); when others => daout(3 downto 2) <= "00" daout(1 downto 0) <= hour(5 downto 4); end case;end process;如图所示:图3-5 扫描电路仿真波形3.5 引脚设置分配引脚,然后按照引脚连接电路图。如图所示:图3
35、-6 引脚设置图3.6系统测试输入接口:清零,调时,调分信号RESET、SETHOUR、SETMIN的管脚分别连接按键开关。代表输入脉冲信号CLK时钟源相连。输出接口代表扫描显示的驱动信号管脚SEL2,SEL1,SEL0的管脚同四位扫描驱动地址的低3位相连,最高位地址接“0”(也可以悬空);代表7段字码驱动信号dout6.0的管脚分别同扫描数码管的段输入。然后显示输出。如图所示:图3-7 实验箱连接图3.7 实验连线输入接口:代表清零,调时,调分信号RESET,SETHOUR,SETMIN的管脚分别连接按键开关。代表计数时钟信号CLK和扫描时钟信号CKDSP的管脚分别同1HZ时钟源和32HZ时钟源相连。输出接口:代表扫描显示的驱动信号管脚SEL2,SEL1,SEL0接实验箱上的SEL0SEL2,AG接八位数码管显示模块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁 保洁 合同范例
- 租凭钢管合同范例
- 加工定做承揽合同范例
- 油田压裂砂合同范例
- 武汉轻工大学《机器学习与大数据》2023-2024学年第一学期期末试卷
- 托管生源转让合同范例
- 茶叶合同范例供货方
- 大平米房屋租赁合同范例
- 建设代理合同范例
- 培训机构学生合同范例
- 文学常识(全)课件
- 小学信息技术川教四年级上册网络安全《信息安全小卫士》 高质作品
- 2023-2024年大学试题(法学)-婚姻家庭与继承法考试题库(含答案)
- 四川河道防洪堤坝工程地质勘察报告
- 译林版英语六年级下册知识点总结
- 管理学(浙江财经大学)知到章节答案智慧树2023年
- 【超星尔雅学习通】机器的征途:空天科技网课章节答案
- 探究“燃烧的条件”实验的改进与创新(共11张PPT)
- 《戴小桥和他的哥们儿:特务足球队》交流课课件
- 2023届高考英语一轮复习 语法填空:人物传记类 专项练习10篇有答案
- 年5万吨含锡废料综合回收再生利用项目环评报告
评论
0/150
提交评论