




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
王斯 电信10-01 秒表设计目录1 引言11.1 课程设计的目的21.2 课程设计的内容22 EDA、VHDL简介22.1 EDA技术22.2 硬件描述语言VHDL32.2.1 VHDL的简介32.2.2 VHDL语言的特点32.2.3 VHDL的设计流程43设计过程53.1 设计规划53.2 顶层模块设计63.3 底层模块设计64 系统仿真135 结束语166参考文献171 引言在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验。他们对时间精确度达到了几纳秒级别。1.1 课程设计的目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。通过课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。1.2 课程设计的内容利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。该数字秒表能对0秒59分59.99秒范围进行计时,显示最长时间是59分59秒。计时精度达到10ms。设计了复位开关和启停开关。复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。2 EDA、VHDL简介2.1 EDA技术EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言HDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。目前EDA主要辅助进行三个方面的设计工作:IC设计、电子电路设计和PCB设计。没有EDA技术的支持,想要完成超大规模集成电路的设计制造是不可想象的;反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。2.2 硬件描述语言VHDL2.2.1 VHDL的简介VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为A I/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。2.2.2 VHDL语言的特点VHDL的程序结构特点是将一项工程设计,关于用VHDL和原理图输入进行CPLD/FPGA设计的粗略比较:在设计中,如果采用原理图输入的设计方式是比较直观的。你要设计的是什么,你就直接从库中调出来用就行了。这样比较符合人们的习惯。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.2.3 VHDL的设计流程它主要包括以下几个步骤:1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件2.功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)3.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf或.edif 的EDA工业标准文件。4.布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放PLD/FPGA内。5.时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫后仿真) 通常以上过程可以都在PLD/FPGA厂家提供的开发工具。6.器件编程3设计过程3.1 设计规划根据系统设计要求,系统的组成框图如图31所示。数字秒表计时控制电路计时电路显示电路控制模块时基分频电路计数器扫描电路译码器六进制计数器十进制计数器图31 系统组成框图系统设计采用自顶向下的设计方法,它主要是由控制模块、时基分频模块、计时模块和显示模块四部分组成。(1)控制模块 计时控制模块的作用是对计时过程进行控制。计时控制模块可用两个按钮开关来完成秒表的启动、停止和复位。(2)计时模块 计时模块执行计时功能,计时的方法是对标准时钟脉冲计数。由于计时范围是0秒59分59.59秒,所以计时器可以由两个60进制计数器和一个100进制计数器构成,其中分和秒采用60进制计数器,毫秒采用100进制计数器。(3)显示模块计时显示电路的作用是将计时值在LED七段译码数码管上显示出来。计时电路产生的计时值经过BCD七段译码后,驱动LED数码管。3.2 顶层模块设计以上所描述的模块的程序编写均在同一工程下,由程序生成的元件也在该工程下,所以可以在该工程下再建一原理图作为顶层,将所需要的元件按照要求进行连线,加入输入输出处端口并改名。包层原理图,并将原理图置为顶层文件。如下图:3.3 底层模块设计 底层单元模块共有七个,全部用VHDL语言描述。它主要是由计时电路、计时控制电路及显示电路组成。3.3.1 计时模块计时电路执行计时功能,主要是由时基分频器、计数器组成。计时方法是对标准时钟脉冲计数,计数器是由一个100进制计数器和两个60进制计数器构成,其中毫秒位采用100进制计数器,秒位和分位采用60进制计数器。100进制计数器的源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt100 is port(cs,clk:in std_logic; co:buffer std_logic; s_10ms,s_100ms:buffer std_logic_vector(3 downto 0); clear:in std_logic);end ;architecture behave of cnt100 issignal clock:std_logic;beginprocess(clk) variable count1:integer range 0 to 5;begin if clkevent and clk=1 then if count15 then count1:=count1+1; else clock=not clock; count1:=0; end if; end if;end process;process(clock,cs,clear)begin if clear=0 then if cs=1 then if clockevent and clock=1 then co=0; if s_10ms=9 then s_10ms0); if s_100ms=9 then s_100ms0);co=not co; else s_100ms=s_100ms+1; end if; else s_10ms=s_10ms+1; end if; end if; else s_10ms=s_10ms;s_100ms=s_100ms; end if;else s_10ms0);s_100ms0);end if;end process;end behave;60秒进制计数器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60s is port(clk:in std_logic; co:buffer std_logic; s_1s,s_10s:buffer std_logic_vector(3 downto 0); clear:in std_logic);end ;architecture behave of cnt60s isbegin process(clk)begin if clear=0 then if clkevent and clk=1 then co=0; if s_1s=9 then s_1s0); if s_10s=5 then s_10s0);co=not co; else s_10s= s_10s+1; end if; else s_1s= s_1s+1; end if; end if;else s_1s0);s_10s0);end if;end process;end behave;60分进制源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60m is port(clk:in std_logic; s_1min,s_10min:buffer std_logic_vector(3 downto 0); clear:in std_logic);end ;architecture behave of cnt60m isbegin process(clk)begin if clear=0 then if clkevent and clk=1 then if s_1min=9 then s_1min0); if s_10min=5 then s_10min0); else s_10min= s_10min+1; end if; else s_1min= s_1min+1; end if; end if; else s_1min0);s_10min0);end if;end process;end behave;3.3.2 分频模块分频模块的作用把输入时钟信号变为分频输出信号。源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpin is port (clk:in std_logic; ft:out std_logic);end fenpin;architecture a of fenpin issignal fm:std_logic;beginprocess(clk)variable num:integer range 0 to 100;beginif clkevent and clk=1 then if num50 then num:=num+1; else num:=1; fm=not fm; end if ;end if;ft=fm;end process;end a;3.3.3 显示模块计时显示电路的作用是将计时值在LED数码管上显示出来。计时电路产生的值经过BCD七段译码后,驱动LED数码管。BCD七段译码器源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCD IS PORT( BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END BCD;ARCHITECTURE ART OF BCD ISBEGINLEDyyyyyynull; end case;end process;end behave;4 系统仿真(1) 分频模块的仿真(如图 4-1所示)图 4-1 分频器仿真图clk为时钟输入信号,ft为分频输出信号。(2) 计时电路模块的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级会计师考试《中级会计实务》冲刺卷及答案
- 2025年财务会计中级实操技能面试题及答案
- 2025年C1驾照考试通关宝典科目一模拟题及备考建议
- 2025年机械工程专家应聘模拟题及答案集
- 2025年建筑设计助理工程师模拟面试题及解析
- 冲孔灌注桩施工方案
- 2025年采购管理职位招聘面试模拟题集与答案详解版
- 2025年汽车维修技师技能考核模拟题及答案
- 2025年网络游戏公司招聘游戏设计师面试预测题大全
- 2025年物流行业仓储管理岗位招聘面试预测题
- 医院检验科实验室生物安全程序文件SOP
- 新入辅导员职员工培训
- IPS内置保温体系施工方案(经典)
- 房屋买卖合同范本Word模板下载
- 授权委托书保险理赔
- 保安公司安全生产培训课件
- 光伏发电项目技术标投标文件
- 普通话声母资料
- 社区开展康复护理知识讲座
- 《测量降水量》教学课件
- 楼顶发光字采购安装投标方案
评论
0/150
提交评论