ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:275.95KB ,
资源ID:2828783      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2828783.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA技术及应用课程设计报告.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

EDA技术及应用课程设计报告.docx

1、EDA技术及应用课程设计报告EDA技术及应用课程设计报告系 别: 机电与自动化学院 专业班级: 电气自动化技术0902 学生姓名: 指导教师: 李静 (课程设计时间:2011年6月27日2011年7月8日)华中科技大学武昌分校目 录1. 课程设计目的32. 课程设计题目描述和要求33. 课程设计报告内容34. 各模块VHDL源程序54.1.3MHz100Hz分频器的源程序54.2.十进制计数器源程序64.3.六进制计数器源程序94.4.顶层综合文件TIMES的源程序115.总结 14参考文献 15秒表是人们日常生活中常用的测时仪器,它能够简单的完成计时、清零等功能,从一年一度的校际运动会到NB

2、A、世界杯、奥运会,都能看到秒表的身影。1. 课程设计目的学习使用EDA集成设计软件Maxplus设计一个计时范围为0.01秒1小时的数字秒表,能够精确反映计时时间,并完成复位、计时功能。秒表计时的最大范围为1小时,精度为0.01秒。秒表可得到计时时间的分、秒、0.1秒等度量,且各度量单位间可正确进位。当复位清零有效时,秒表清零并做好计时准备。任何情况下,只要按下复位开关,秒表都要无条件的进行复位操作,即使在计时过程中也要无条件的清零。 了解全过程中VHDL程序的基本结构,掌握使用EDA工具设计数字系统的设计思路和设计方法。学习VHDL基本逻辑电路的综合设计应用,以及程序中数据对象、数据类型、

3、顺序语句、并行语句的综合使用。根据电路持点,用层次设计概念,将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,同时加深层次化设计概念;考虑软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合等问题。2.课程设计题目描述和要求(1)根据设计题目要求完成设计输入、综合、模拟仿真验证。(2)具有复位、暂停、秒表计时及结果直接送LED显示的功能。(3)三个输入端,分别为:时钟输入(CLK)、复位(CLR)和启动暂停(ENA)。(4)输出端有:百分秒、秒和分钟信号,皆采用BCD码计数方式,并直接送到6个LED显示。(5)提供设计报告,报告要求包括以下内容:

4、设计思路、设计输入文件、设计与调试过程、模拟仿真结果和设计结论。3. 课程设计报告内容系统由一个分频器CLKGEN,四个十进制计数器CNT10,两个六进制计数器CNT6组成。其中1/100和1/10秒都是十进制计数器,秒和分的个位是十进制计数器,十位是六进制计数器。分频器以3MHz的脉冲波做输入信号,为系统提供精确的100Hz时钟信号。作为百分秒的CLK输入端。1/100秒的进位信号作为1/10秒的CLK信号,而1/10秒的进位信号作为秒的CLK信号。秒的进位信号作为秒10的CLK,秒10的进位接分的CLK,分的进位接分10的CLK。 ENA为异步开始信号,为1时开始计时,为0时暂停计时。 C

5、LR为异步清零信号,为1清零,所有计数器重新从0000开始。输出:DOUT023是BCD码输出:DOUT03为1/100秒的BCD码输出;DOUT47为1/10秒的BCD码输出;DOUT811为秒的BCD码输出;DOUT1215为10秒的BCD码输出;DOUT1619为分的BCD码输出;DOUT2023为10分的BCD码输出。输出的BCD码送LED显示解码器。系统的结构原理图1所示:图1 系统的结构原理图4. 各模块VHDL源程序4.1.3MHz100Hz分频器的源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN ISPORT (

6、CLK: IN STD_LOGIC; NEWCLK: OUT STD_LOGIC);END ENTITY CLKGEN;ARCHITECTURE ART OF CLKGEN IS SIGNAL CNTER: INTEGER RANGE 0 TO 10#29999#;BEGIN PROCESS (CLK) IS BEGIN IF CLK EVENT AND CLK=1 THEN IF CNTER =10#29999# THEN CNTER=0; ELSE CNTER=CNTER+1; END IF; END IF; END PROCESS; PROCESS(CNTER) ISBEGIN IF C

7、NTER=10#29999# THEN NEWCLK=1; ELSE NEWCLK=0; END IF; END PROCESS;END ARCHITECTURE ART; 此处用到了一个分频比为30000的分频器,用来将3MHz的脉冲分成100Hz,也就是当CLK经过三万个脉冲的时候,才会看到一个100Hz的计数脉冲NEWCLK。由于使用的器件EPF10K10LC84-3反应时间最短为3ns ,因此Grid Size不能设置太小,否则会出错。在这里设置为10.0ns 。这样,一个CLK的周期为20ns ,总时间为29999 X 2X10.0ns =0.59998ms所以End Time要设置

8、为1ms 才能使CNTER计数到29999并归0 。其仿真波形如图2所示:图2 CLKGEN的仿真波形当变量CNTER计数到29999时清零,同时NEWCLK产生一个脉冲波。其原理图如图3。图3 CLKGEN的原理图4.2. 十进制计数器源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT (CLK: IN STD_LOGIC; CLR: IN STD_LOGIC; ENA: IN STD_LOGIC; CQ: OUT STD_LOGIC_VECTOR(

9、3 DOWNTO 0); CARRY_OUT: OUT STD_LOGIC);END ENTITY cnt10; ARCHITECTURE ART10 OF cnt10 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR,ENA)IS BEGIN IF CLR=1 THEN CQI=0000; ELSIF CLKEVENT AND CLK=1THEN IF ENA=1 THEN IF CQI =1001 THEN CQI=0000; ELSE CQI=CQI+1; END IF; END IF; END IF; EN

10、D PROCESS; PROCESS(CQI) IS BEGIN IF CQI=0000 THEN CARRY_OUT=1; ELSE CARRY_OUT=0; END IF; END PROCESS; CQ=CQI;END ARCHITECTURE ART10;以上为十进制计数器源程序,基本原理是在使能信号ENA为高电平清零信号CLR为低电平且 CLK为时钟上升沿(CLKEVENT AND CLK=1)时,CQI开始进行累加计数(CQI=CQI+1),当CQI=0101,即为BCD数0101时,计数器向CARRY_OUT进位且CQI=0000进行清零。如此000000010010001101

11、0001010110011110001001循环,进行十进制计数。上述源程序的波形仿真波形如下图4所示。图4 cnt10的仿真波形由图4可以看出,CQ从“0000”开始计数,计数到“1001”时翻“0000”,同时CARRY_OUT进位信号输出高电平。当ENA使能信号为高电平时计数器计数,为低电平时停止计数,CQ输出值没有变化。当CLR清零信号为高电平时CQ清零,CARRY_OUT进位信号输出高电平,当CLR为低电平时正常计数。其原理图如图5。图5 cnt10的原理图4.3. 六进制计数器源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE

12、.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT (CLK: IN STD_LOGIC; CLR: IN STD_LOGIC; ENA: IN STD_LOGIC; CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT: OUT STD_LOGIC);END ENTITY cnt6; ARCHITECTURE ART11 OF cnt6 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR,ENA)IS BEGIN IF CLR=1 THEN

13、 CQI=0000; ELSIF CLKEVENT AND CLK=1THEN IF ENA=1 THEN IF CQI =0101 THEN CQI=0000; ELSE CQI=CQI+1; END IF; END IF; END IF; END PROCESS; PROCESS(CQI) IS BEGIN IF CQI=0000 THEN CARRY_OUT=1; ELSE CARRY_OUT=0; END IF; END PROCESS; CQ=CQI;END ARCHITECTURE ART11;以上为六进制计数器源程序,基本原理是在使能信号ENA为高电平清零信号CLR为低电平且 C

14、LK为时钟上升沿(CLKEVENT AND CLK=1)时,CQI开始进行累加计数(CQI=CQI+1),当CQI=0101,即为BCD数0101时,计数器向CARRY_OUT进位且CQICLK, NEWCLK=S0);U1: CNT10 PORT MAP(S0,CLR,ENA, DOUT(3 DOWNTO 0),S1);U2: CNT10 PORT MAP(S1,CLR,ENA, DOUT(7 DOWNTO 4),S2);U3: CNT10 PORT MAP(S2,CLR,ENA, DOUT(11 DOWNTO 8),S3);U4: CNT6 PORT MAP(S3,CLR,ENA, DOU

15、T(15 DOWNTO 12),S4);U5: CNT10 PORT MAP(S4,CLR,ENA, DOUT(19 DOWNTO 16),S5);U6: CNT6 PORT MAP(S5,CLR,ENA, DOUT(23 DOWNTO 20);END ARCHITECTURE ART;因为TIMES中包含的CLKGEN的分频作用,因此需要30000个CLK信号才能使1/100秒位计数一次,给仿真带来很大难度。所以仿真前先要把CLKGEN去掉,直接把CLK信号作为1/100秒的时钟信号。但是还是需要360000个CLK信号才能得到59分翻0分。所以分两步进行仿真,先检验1/100秒跟1/10秒

16、,再把CLK信号作为秒的时钟信号进行仿真。第一步:对TIMES中相应的程序进行一下改动:(把CLKGEN去掉,直接把CLK信号作为1/100秒的时钟信号。)SIGNAL S0: STD_LOGIC; SIGNAL S1,S2,S3,S4,S5: STD_LOGIC;BEGINU1: CNT10 PORT MAP(clk,CLR,ENA, DOUT(3 DOWNTO 0),S1);U2: CNT10 PORT MAP(S1,CLR,ENA, DOUT(7 DOWNTO 4),S2);U3: CNT10 PORT MAP(S2,CLR,ENA, DOUT(11 DOWNTO 8),S3);U4:

17、CNT6 PORT MAP(S3,CLR,ENA, DOUT(15 DOWNTO 12),S4);U5: CNT10 PORT MAP(S4,CLR,ENA, DOUT(19 DOWNTO 16),S5);U6: CNT6 PORT MAP(S5,CLR,ENA, DOUT(23 DOWNTO 20);END ARCHITECTURE ART;然后进行波形仿真,仿真波形如下图8:图8 times test1的波形仿真如图所示,1/100秒,1/10秒,秒,10秒位都能正常计数和进位,翻0。第二步:对TIMES中相应的程序进行一下改动:(把CLKGEN去掉,直接把CLK信号作为秒的时钟信号。)S

18、IGNAL S3,S4,S5: STD_LOGIC; BEGINU2: CNT10 PORT MAP(clk,CLR,ENA, DOUT(11 DOWNTO 8),S3);U3: CNT6 PORT MAP(S3,CLR,ENA, DOUT(15 DOWNTO 12),S4);U4: CNT10 PORT MAP(S4,CLR,ENA, DOUT(19 DOWNTO 16),S5);U5: CNT6 PORT MAP(S5,CLR,ENA, DOUT(23 DOWNTO 20);END ARCHITECTURE ART;然后进行波形仿真,仿真波形如图9。图9 times test2的波形仿真如

19、图8所示,秒,10秒,分和10分位都能正常计数和进位,翻0。5.总结通过这次课程设计,使我们加深了对VHDL语言和MaxplusII的认识,增强了动手能力,并培养了我们独立思考的习惯,和树立了对试验操作和数据分析一丝不苟的的态度。下面是试验中碰到的部分问题的解决方法和应该注意的事项:图10 cnt10的波形仿真进行波形仿真时,要考虑不同的输入条件所能出现的所有情况。比如说在有使能信号ENA(或者清零信号CLR)的仿真图要包含信号为1和为0两种情况下的波形;有二输入与门(或者非门)这样器件则要包含输入信号四种不同组合情况下的四种波形;还有计数器,要包含计满清零向高位进位的波形等。如图10,包含了

20、ENA,CLR分别为0和1时的波形,还有CQ在时钟CLK下降沿计数到9后清零并由CARRY_OUT向高位输出进位信号的波形。关于时钟信号的设置。时钟信号能设置的最小周期和Options中的Grid Size来决定,要得到周期为20ns的时钟信号,就要把Grid Size设置为10ns。但是CLK的周期也不是越小越好,因为器件有最小反应时间,设置的周期必须大于器件的反应时间。减少不必要的计算。第一次做Times的波形时,没有进行分步仿真,直接把CLK信号加在CLKGEN的输入端开始仿真。结果半个多小时过去了,还只是仿真到8分多。(仿真用的计算机CPU为奔腾4 1.7G)要得出59分翻0的波形,估

21、计要4个多小时。所以把CLKGEN去掉,并且分两步来进行波形仿真,计算量大大减小了,仅几分钟就得出了59分翻0的波形。参考文献1. 潘松.EDA技术实用教程. 成都:电子科技大学出版社,20002. 李玉山. 电子系统集成设计技术. 北京:电子工业出版社,2001.6.3. 李国丽.EDA与数字系统设计.北京:机械工业出版社,20044. 周彩宝.VHDL语言及其应用. 上海:华东计算机技术研究所,19985. 于海生.微型计算机控制技术.北京:清华大学出版社,2006.86. 林红.周鑫霞.数字电路与逻辑设计.北京:清华大学出版社,2004.87. 谭会生.张昌凡. EDA技术及应用.西安:

22、 西安电子科技大学出版社,20018. 朱定华.陈林.电子电路测试与实验. 北京:清华大学出版社,2005.79. 刘皖.谭明. FPGA设计与应用.北京: 清华大学出版社,2006.610.黄智伟. FPGA系统设计与实践.北京: 电子工业出版社,2005.111.王志鹏.何丽琴. 可编程逻辑器件开发技术MAX+plus.北京: 国防工业出版社,2005.3、课程设计成绩:项 目业务考核成绩(70%)(百分制记分)平时成绩(30%)(百分制记分)综合总成绩(百分制记分)0.01秒1小时数字秒表注:教师按学生实际成绩(平时成绩和业务考核成绩)登记并录入教务MIS系统,由系统自动转化为“优秀(90100分)、良好(8089分)、中等(7079分)、及格(6069分)和不及格(60分以下)”五等。指导教师评语:指导教师(签名): 20 年 月 日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2