电子钟毕业设计[VHDL设计报告].doc_第1页
电子钟毕业设计[VHDL设计报告].doc_第2页
电子钟毕业设计[VHDL设计报告].doc_第3页
电子钟毕业设计[VHDL设计报告].doc_第4页
电子钟毕业设计[VHDL设计报告].doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VHDL的多功能数字钟设计报告题目:多功能数字钟姓名:学号:指导老师:设计时间:一、 VHDL的发展硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构。目前,这种高层次(high-level-design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行VHDL的开发。1987年,由IEEE(Institute of Electrical and Electro- nics Engineers)将VHDL制定为标准。参考手册为IEEE VHDL语言参考手册标准草案1076/B版,于1987年批准,称为IEEE 1076-1987。应当注意,起初VHDL只是作为系统规范的一个标准,而不是为设计而制定的。第二个版本是在1993年制定的,称为VHDL-93,增加了一些新的命令和属性。虽然有“VHDL是一个4亿美元的错误”这样的说法,但VHDL毕竟是1995年以前唯一制订为标准的硬件描述语言,这是它不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,VHDL是较为合适的。实质上,在底层的VHDL设计环境是由Verilog HDL描述的器件库支持的,因此,它们之间的互操作性十分重要。目前,Verilog和VDHL的两个国际组织OVI、VI正在筹划这一工作,准备成立专门的工作组来协调VHDL和Verilog HDL语言的互操作性。OVI也支持不需要翻译,由VHDL到Verilog的自由表达。二、设计要求基本要求:1、24小时计数显示;2、具有校时功能(时,分) ;附加要求:1、秒表功能(复位,计时);三、实验程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLOCK IS PORT ( CLK1:IN STD_LOGIC; CLK2:IN STD_LOGIC; R1:IN STD_LOGIC; R2:IN STD_LOGIC; scond:IN STD_LOGIC; HOUR:IN STD_LOGIC; MINI:IN STD_LOGIC; RESET:IN STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); CHOICE:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END CLOCK;ARCHITECTURE behav OF CLOCK IS SIGNAL LED7:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL SLIP:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL a,b,c,d,e,f,g,h:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN- PROCESS (CLK2) BEGIN IF CLK2EVENT AND CLK2=1 THEN IF SLIP111 THEN SLIP=SLIP+1; ELSE SLIP CHOICE=00000001;LED7 CHOICE=00000010;LED7 CHOICE=00000100;LED7 CHOICE=00001000;LED7 CHOICE=00010000;LED7 CHOICE=00100000;LED7 CHOICE=01000000;LED7 CHOICE=10000000;LED7CHOICE=00000001;LED7=a; END CASE; END IF; END PROCESS; PROCESS (CLK1) BEGIN IF CLK1EVENT AND CLK1=1 THEN IF a1001THEN a=a+1; ELSE b=b+1;a=0000; END IF; -0-a IF( a=1001and b=0101)then d=d+1;b=0000;a=0000; end if; IF c=1100THEN c=1101;f=1101; ELSE c=1100; f=1100; END IF; -2-c-f- IF d=1010THEN e=e+1;d=0000; END IF; -3-d IF( d=1001and e=0101)then g=g+1;e=0000;d=0000;end if; IF g=1010THEN h=h+1;g=0000; END IF; -6-g IF (h=0010 and g=0011)THEN a=a+1;h=0000; END IF; -7-h-部分时间可调开始- IF RESET=1 THEN a=0000; b=0000; c=0000; d=0000; e=0000; f=0000; g=0000; h=0000; END IF; -复位键IF scond=1 THEN a=0000;b=0000; END IF;-精确调整秒清零 IF MINI=1THEN d=d+1;END IF;-分钟调整IF (d=1001 and e=0101)thend=0000;e=0000;g=g;END IF;-59分时小时不加1IF d=1010THEN e=e+1;d=0000; END IF;-分钟不延时 IF HOUR=1THEN g1000THEN g=0000;h=h+1;END IF;-小时不延时 IF (g=0011 and h=0010)then g=0000;h=0000;END IF;-小时调整不延迟-部分时间可调结束-部分秒表计时开始- IF R1=1 THEN a=0000; b=0000; c=1100; d=0000; e=0000; f=1100; g=0000; h=0000; END IF;-秒表复位IF R2=1 THEN a=a;else a DOUT DOUT DOUT DOUT DOUT DOUT DOUT DOUT DOUT DOUT DOUT DOUT DOUT=0000000; END CASE; END PROCESS;END behav;四、 实验仿真效果图实验程序通过编译,无错误,设置CLK和CLK1的宽度为1输入信号进行仿真,得到仿真效果如下图:五、实验结果:1. 实现了基本要求:24小时计时;分钟小时可调;2. 并在基本要求的基础上增加了复位,以及精确调整时的秒清零功能;3. 解决了调节时候的分钟和小时进位时候的延迟现象;4. 分钟调整时,当调整至59时,此时的小时不增加,合理化设计;5. 简单秒表功能:R1复位开始秒表,R2计时;以上实验结果现象在实验箱上正常演示,通过老师检查!六.设计体会数字钟的原有程序是老师编写的,我只是在原有的基础上加上了一些程序段实现了时钟的可调和简单的秒表功能,调整的过程当中也发现不少问题,比如:进位的时候有2秒的延迟,小时到达23的时候有跳转错误的现象,通过解决每一个细节问题使我学到了不少东西,弄懂了硬件程序控制语言的基本原理,然后再来修改程序控制的功能就简单多了,于是我稍做修改,增加了复位功能,需要精确调整时候的秒个位和十位的清零功能,当我们调节时间的分钟的时候,我们通常希望这个调节到59的时候小时不要加1,实际的电子手表也是如此,我就加上了一个句子来控制调整.秒表功能设计得很简单,复位下来开始工作,简单地计时,只能记下一个人的时间成绩,R2可以的拨动可以继续计时.使用秒表时的数字钟功能不能恢复,秒表使用完毕后回到数字钟的功能时间不再正确,相当于复位了数字钟,这是此次设计的最大失败的地方,曾请教过多位同学查询过很多资料没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论