VHDL专业课程设计.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 专业课程 设计
- 资源描述:
-
可编程逻辑器件及应用课程设计 题 目: 数字电子钟设计和实现 姓 名: 11111 学 号: 班 级: 同组人员: 1111 指导老师: 1111 完成日期: 目录 一、 设计目标 二、 设计内容 三、 设计原理 四、 设计方法 4.1分频器(输入1024Hz频率,输出1Hz和512Hz信号) 4.2六十进制计数器 4.3二十四进制计数器 4.4整点报时模块(数据选择器) 4.5校时校分模块 4.6完整数字钟 4.7开发平台及硬件显示结果 五、 课程设计总结 一、 设计目标 1. 熟练利用数字系统设计方法进行数字系统设计 2. 掌握较复杂数字系统设计 3. 掌握原理图设计方法和VHDL语言设计方法 二、 设计内容 分别用原理图和VHDL语言设计 1. 显示时、分、秒数字钟,显示格式以下: 含有清零、校时、校分、整点报时等功效 三、 设计原理 该系统由振荡器、分频器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成。石英晶体振荡器和分频器产生整个系统时基信号,它直接决定计时系统精度。“秒计数器”采取六十进制计数器,每累计60秒向“分计数器”进位;“分计数器”采取六十进制计数器,每累计60分向“时计数器”进位;“时计数器”采取二十四进制计数器,根据“24翻1”规律计数。“时、分、秒”计数器输出经译码器送显示器显示。校时电路用来当计时出现误差时对“时、分、秒”进行校对调整。整点报时电路是依据计时系统输出状态产生一脉冲信号,然后去触发音频发生器实现报时。 四、设计方法 4.1 分频器(输入1024Hz频率,输出1Hz和512Hz信号) 数字钟系统中需要1Hz、512Hz、1024Hz三种脉冲信号。1Hz信号用于计数秒信号,也用于校时、校分信号,1024Hz和512Hz用于整点报时。因为系统板上提供1024Hz信号,用分频器可得到这些信号。 1) 原理图设计 原理图设计时,可用三个16进制计数器74161串接后得到1Hz、512Hz两种脉冲信号。 分频器原理图: 分频器仿真波形: 由仿真波形能够看出,输入为1024Hz(试验仿真时没有正确计算周期)信号,512Hz输出端频率变为输入二分之一,1Hz输出端频率变为输入1/1024,可知所设计分频器含有将1024Hz信号分频得到512Hz和1Hz信号功效。 2) VHDL语言设计 VHDL语言设计分频器是,可做一个10位二进制计数器,其中输出512Hz=out(0),1Hz=out(9)。 分频器VHDL语言: 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; out1: OUT STD_LOGIC; out512: OUT STD_LOGIC); END fenpin; ARCHITECTURE a OF fenpin IS SIGNAL count: STD_LOGIC_VECTOR(9 DOWNTO 0); BEGIN PROCESS(clk) BEGIN if(clk'event AND clk='0') then count <= count + 1; end if; END PROCESS; out512 <= count(0); out1 <= count(9); END a; 4.2 六十进制计数器 1) 原理图设计 74160分别设计一个带清零功效10进制计数器和6进制计数器,然后串联起来就是六十进制计数器。 60进制计数器原理图以下: 60进制计数器仿真波形: 由仿真波形可看出,在计数脉冲作用下,输出端高四位[q60H3,q60H2,q60H1,q60H0]bcd码在0~5之间循环,而低四位[q60L3,q60L2,q60L1,q60L0]在0~9之间循环,这么完成了0~59计数功效。 2) VHDL语言设计 VHDL语言设计时,整体设计一个带清零功效60进制计数器BCD码计数器。输出低四位为outbcd[3..0],高四位为outbce[7..0]。 60进制计数器VHDL语言: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY bcd60 is PORT( clk: IN STD_LOGIC; reset: IN STD_LOGIC; c: OUT STD_LOGIC; daout: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END bcd60; ARCHITECTURE a OF bcd60 IS SIGNAL count: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(clk,reset) BEGIN if(reset = '1') then count <= "00000000"; elsif (clk'event AND clk='1') then if(count < "01011001") then if(count(3 downto 0)="1001")then count <= count+7; else count <= count + 1; c <= '0'; end if; else count <= "00000000"; c <= '1'; end if; end if; END PROCESS; daout <= count; END a; 4.3 二十四进制计数器 1) 原理图设计 原理图设计时,用74160设计一个带清零功效24进制BCD码计数器。 [q24H3,q24H2,q24H1,q24H0] 为输出高四位,其在0000~0010即0~2之间循环, [q24L3, q24L2,q24L1,q24L0]为输入低四位,其在0000~1001即在0~9之间循环。后一个74160在计数脉冲作用下计数,当到9后,再一个脉冲便产生进位信号,RCO端产生一个脉冲送到前一个74160使之加一。目前一个74160为2,后有一个74160为3时产生清零信号,使两个计数器同时清零。这么便完成24进制计数。 24进制计数器原理图: 24进制计数器仿真波形 2) VHDL语言设计 VHDL语言设计时,,整体设计一个带清零功效24进制BCD码计数器。 24进制BCD码VHDL语言代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY bcd24 is PORT( clk: IN STD_LOGIC; reset: IN STD_LOGIC; c: OUT STD_LOGIC; daout: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END bcd24; ARCHITECTURE a OF bcd24 IS SIGNAL count: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(clk,reset) BEGIN if(reset = '1') then count <= "00000000"; elsif (clk'event AND clk='1') then if(count(3 downto 0)="1001") then if(count < "00100011") then count <= count+7; else count <= "00000000"; end if; elsif (count < "00100011") then count <= count + 1; c<= '0'; else count <= "00000000"; c<= '1'; end if; end if; END PROCESS; daout <= count; END a; 4.4整点报时模块(数据选择器) 1)原理图 整点报时是数字钟最基础功效电路之一。要求在离整点10s时进行报时,即当初间在59:51、59:53、59:55、59:57时以低音512Hz信号连续1s发出整点报时预警声,在59:59时以高音1024Hz信号连续1s发出整点报时声。 当59:5X时,小时输出八位数是01011001,分八位数是0101XXXX。将其中高电平对应得管脚接到和非门,当计数器抵达59:5X时和非门输出为0,将4选1数据选择器打开。将秒信号个位sLa、sLd分别接到4选1数据选择器地址端A、B。图: 从真值表看出: mLd mLc mLb mLa 显示十进制数 mLd mLa组合 0 0 0 0 0 00 0 0 0 1 1 01 0 0 1 0 2 00 0 0 1 1 3 01 0 1 0 0 4 00 0 1 0 1 5 01 0 1 1 0 6 00 0 1 1 1 7 01 1 0 0 0 8 00 1 0 0 1 9 01 当59:51、59:53、59:55、59:57时,mLa、mLd为01,从上图看出选中2C1端口,喇叭发出512Hz低音信号。 当59:59是,mLa、mLd为11.从上图看出选中端口2C3,喇叭发出1024Hz高音信号。 2) VHDL语言代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY baoshi is PORT( clock: IN STD_LOGIC; clk1024,clk512:IN STD_LOGIC; tm,tc:IN STD_LOGIC_VECTOR(7 DOWNTO 0); speaker:OUT STD_LOGIC ); END baoshi; ARCHITECTURE a OF baoshi IS BEGIN PROCESS(tm,tc,clock) begin if(tm = "01011001" AND tc(7 downto 4)="0101" AND tc(0)='1')then if(tc(3 downto 0) = "1001")then speaker <= clk1024; else speaker <= clk512; end if; else speaker <= '0'; end if; END PROCESS; END a; 4.5校时校分模块 校时校分电路中用到2选1电路进行信号选择。 原理图: 仿真波形: VHDL语言代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 is PORT( a,b: IN STD_LOGIC; s: IN STD_LOGIC; y: OUT STD_LOGIC); END mux21; ARCHITECTURE one OF mux21 IS BEGIN PROCESS(a,b,s) BEGIN if(s='0') then y<=a; else y<=b; end if; END PROCESS; END one; 2选1数据选择器顶层文件 2选1电路接在前级向后间进位信号之间。2选1电路输入信号一个是前级向后级进位信号,另一个是1Hz信号。当SEL信号等于1时选择A端信号,输入下级时钟端信号为1Hz信号,实现校时、校分;当SEL信号等于0时选择B端信号,输入下级时钟端信号为正常进位信号,实现正常计时。 4.6完整数字钟 1)原理图设计 2)仿真图 VHDL语言顶层文件: 总体仿真: 从仿真图能够看出,所设计时钟含有校时、校分、清零、整点报时功效,符合课程设计要求。 4.7开发平台及硬件显示结果 开发平台: GW48-CK EDA 试验开发系统 编号 00067058 带MAX+PLUSII 软件PC机 硬件显示结果: 五、课程设计总结 此次可编程逻辑电路课程设计在设计系统和画原理图和编写程序过程当中,因为对可编程逻辑电路不太熟悉和对MAX+PLUSII软件利用也很生疏,我们碰到了很多问题,而且对碰到问题也只能在网上搜索或请教老师,不过最终在和队友协作下我们顺利完成了课程设计任务,总来说并不顺利。 此次课程设计任务——数字电子钟设计和实现,是将本学期VHDL硬件描述语言和数字逻辑电路设计和上学期所学数字电路中所学知识利用实践中去,提升了自己理论和实践相结合能力,使我深入掌握本专业各项知识,为以后专业学习打下良好基础。 在设计中还是需要注意部分常见问题,比如实体名、项目名等,还有在编写VHDL文件时,部分文件名也是需要注意。 最终,感谢老师在我们做课程设计过程当中耐心指导和辛勤付出,也感谢队友悉心帮助。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




VHDL专业课程设计.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2799323.html