毕业设计92多功能电子钟实现逻辑电路图及VHDL源代码.doc
毕业设计92多功能电子钟实现逻辑电路图及VHDL源代码
收藏
资源目录
压缩包内文档预览:
编号:545595
类型:共享资源
大小:154.62KB
格式:ZIP
上传时间:2015-12-01
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
电气电子毕业设计论文
- 资源描述:
-
毕业设计92多功能电子钟实现逻辑电路图及VHDL源代码,电气电子毕业设计论文
- 内容简介:
-
集成电路( SOC)设计 多功能电子钟 指导老师: 吴建辉 专业班级: 2003 级计算机科学与技术 3 班 学 号: 20030810305 姓 名: 胡严思 nts多功能电子钟 设计人 : 胡严思 ( 20030810305) 一 功能 简介 : 可以显示时间, 并可进行小 时、分 钟 、秒 钟的调节,有整点报时和定时闹铃的功能 ;运用到多路选择 ,在时间正常运行的同时, 可以通过一键切换,从而 进行运算, 并且 运算数 、 被运算数 和运算结果 都在数码管上显示,同时还可以把运算结果存储到存储器中。 二 .具体组成部分 ( 利用状态图来说明 ,主体是由电子钟和运算器构成 ): 1.电子钟部分: 分为秒钟生成器( 60 进制计数器)、分钟生成器( 60 进制计数器)、小时生成器( 24 进制计数器)、校时控制部分、定时器部分、脉冲分配器、 BCD 译码器、定时器和两路选择器几部分构成,通过 VHDL 机构体的 机构化描述文件将以上几个部分联接起来 ,实现了层次化设计 。 2.运算器部分: 分为运算器文件、运算数产生计数器、存储器、存储器地址产生计数器 、脉冲分配器和 2 进制转化为nts16 进制译码器,通过逻辑图将各部分( VHDL 文件)连接起来,具有直观性。 注 : 通过两路选择,一键控制,让电子钟、运算器能分别同时进行 工作 ,而不互相影响 。 三、 顶层设计 (逻辑图) : 定时器和运算器部分以逻辑图( *.gdf 文件)共同组成了顶层设计,用一个两路选择器就两部分的显示部分进行选择 ,以便在数码管上显示。 管脚功能和锁定: a.输出 部分: 整点报时显示 BAOSHI:p9 ; 定时闹铃 LAOZHONG:p21; 数码管位选位 seg7.0: p8,p96 p102 ; 数码管段选位 d6.0:p43 p51; b.输入部分: 时间校正控制端 START, S2-S0: P78-79 ; 时间清零端 CLR:P72; 基准时钟 RUNCLK:P122;消抖脉冲 RECLK:P128; 定时选择端 DSEL:P95; 定时清零端 DCLR:P92; 小时、分钟定制端 DHOU,DMIN:P67,P68; 运算类型选择端 LOGIC,EN1,EN0:P86,P87,P88; 运算数产生端 1EN,2EN:P69,P70;运算数清零端 CLR1:P82 ; 存储器读、写端 RE,WE:P89,P90 ; 存储器地址产生端 CEN:P91; 存储器地址清零端 CCLR:P83; 电子钟、运算器显示控制端 SEL:P81; nts *附 1: 运算器内部的逻辑图: 附二: 电子钟具体的内部实现 ( VHDL 文件) 附于后几页 : 四、试验设计心得体会: 掌握 ASIC 设计方法中先进、流行、有效的设计工具 - VHDL 语言设计 ASIC。掌握专用集成电路 ASIC设计方法;制造出自己设计的专用集成电路,验证电路工作。 通过 start 校时选择端,可以用 s0,s1,s2 单独对时钟,分钟,秒钟进行校正,而又不相互影响,利用了三个独立的校正端,也阻止其它值也发生跳变;对校时控制进行了消抖,把秒、分的进位独立出来,防止发生多次跳变;在显示部分,加了一个控 制端 sel,控制两端的显示,而又使这两部分都正常工作不相互干扰;同时在运算器部分内部,用到一个三态门将运算器和存储器联系起来,防止线路上数据发生冲突。 我们使用这个时序电路模块进行模型机的设计时,必须给予消抖处理,;实验在下载验证的时候应该要注意各个控制信号是高电平有效还是低电平有效,这样才能在下载的时候正确的掌握各个信号的控制顺序,才能得到正确的结果; 在实验中,任何一个步骤都不可以操作失误,否则就要从头再来了,而不像简单实验那样,可以改变各个信号控制的先后顺序,在这期的实验中很重要的一点是要能够掌握好各 个控制信号的顺序和电平逻辑;另外,这次的实验都要用到总线,而连接到总线上的器件都要由三态输出,且任何时候最多只能有一个器件向总线输出数据,其余器件输出必须处于高阻状态,绝对避免总线上发生数据冲突,还有应该注意在用MAX+PLUS 软件环境进行编译时,系统要求总线必须不被架空,即总要有一个器件往总线上送数据;还有一点,带触发器的芯片需要靠时序脉冲才能打入数据,并且应注意数据和时序的配合; 对于实验的顶层结构仍不能用语言实现;做实验要自己动手,注意各种问题: VHDL 程序的后缀名为 .*vhd , 文件名要与实体名 相同,实体名要以字母开头,不能是数字,等等一系列的问题,如果不亲自去做,是不会知道其种种的小细节,而要排除各种错误,又需要耐心和内在的修为,如果平时不注意积累的话,是很难排除各种问题的;要对各种语句能熟练的运用,还要看自己平时的练习,只有这样才能不断的提高自己的水平。 nts 附 :多功能电子钟的实现部分( VHDL)一、电子钟结构组成: 电子钟主体部分: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity clock is port( s0,s1,s2,clr:in std_logic; quickclk:in std_logic; runclk,reclk:in std_logic; start:in std_logic; dsel,dclr,denh,denm:in std_logic; seg:out std_logic_vector( 7 downto 0 ); as,bs,cs,ds,es,fs,gs,bao,LAO:out std_logic ); end clock; architecture behave of clock is component bcd7 port( date:in std_logic_vector( 3 downto 0 ); a,b,c,d,e,f,g:out std_logic ); end component; component counter24 port( clk,clr:in std_logic; low,high:out std_logic_vector(3 downto 0 ) ); end component; component counter60 port( clk,clr:in std_logic; cout :out std_logic; low,high:out std_logic_vector( 3 downto 0 ) ); end component; component dingshi24 port( clk,clr,en:in std_logic; low,high:out std_logic_vector(3 downto 0 ) ); end component; component dingshi60 port( clk,clr,en:in std_logic; low,high:out std_logic_vector( 3 downto 0 ) ); end component; component sel2 port( ha1,la1,ha2,la2:in std_logic_vector(3 downto 0); hb1,lb1,hb2,lb2:in std_logic_vector(3 downto 0); sel :in std_logic; ch,cl :out std_logic_vector(3 downto 0); dh,dl :out std_logic_vector(3 downto 0) ); end component; component select8 port( a,b,c,d,e,f:in std_logic_vector( 3 downto 0 ); clk:in std_logic; sel:out std_logic_vector( 7 downto 0 ); q:out std_logic_vector( 3 downto 0 ) ); end component; component comp2 port( ha1,la1,ha2,la2:in std_logic_vector(3 downto 0); hb1,lb1,hb2,lb2:in std_logic_vector(3 downto 0); laozhong :out std_logic); end component; signal secondclk,muniteclk,hourclk,s,m,h,sm,mh:std_logic; signal hhour,lhour,hdh,ldh,hsh,lsh:std_logic_vector( 3 downto 0 ); signal hmunite,lmunite,hdm,ldm,hsm,lsm:std_logic_vector( nts3 downto 0 ); signal hsecond,lsecond:std_logic_vector( 3 downto 0 ); signal sel:std_logic_vector( 7 downto 0 ); signal q: std_logic_vector( 3 downto 0 ); begin up0:counter60 port map( s,clr,sm,lsecond,hsecond ); up1:counter60 port map( m,clr,mh,lmunite,hmunite ); up2:counter24 port map( h,clr,lhour,hhour ); up3:dingshi24 port map( runclk,dclr,denh,ldh,hdh ); up4:dingshi60 port map( runclk,dclr,denm,ldm,hdm ); up5:sel2 port map( hdh,ldh,hhour,lhour,hdm,ldm,hmunite,lmunite, dsel,hsh,lsh,hsm,lsm); up6:select8 port map( hsh,lsh,hsm,lsm,hsecond,lsecond,quickclk,sel,q ); up7:bcd7 port map( q,as,bs,cs,ds,es,fs,gs ); up8:comp2 port map( hdh,ldh,hhour,lhour,hdm,ldm,hmunite,lmunite,lao); process( sel,s0,s1,runclk,start ) begin if(start=0)then if(s0=1 and s1=1 and s2=1)then secondclk =0 and l=0 and h=0 and l=0 and l=0 and h=0 and l=0 and l=0 and h=0 and l=0 and l=0 and h=0 and l q q q q q q q q q=0 and l=0 and h=0 and lQQQQQQQQQQqqqqqqQ=0000000; END CASE; end process; end b; 存储器地址生成计数器: Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; entity counters is port( clk:in bit; clear:in bit; enable:in bit; qg:out integer range 0 to 255); end counters; architecture s of counters is begin -a synch
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|