版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告设计名称EDA (VHDL )课程设计专业班级电子 0942姓名任 泓 铭学号0904451219成绩评定考核平时设计设计成果综合评内容表现报告和答辩定成绩成 绩电气与信息工程学院二 0 一二年一月课程设计要求和成绩考核办法1不允许在教室或实验室内吸烟、吃零食,不准带无关人员到教室或实验室活动,否则扣平时表现分。2凡病事假超过3 天(每天 7 小时),或迟到早退三次以上,或旷课两次( 1 天)以上,不得参加本次考核,按不及格处理,本次课程设计不能通过。3病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。4课程设计的考核由指导教师根据设计表现(出勤、遵守纪律情况等)、设计
2、报告、设计成果、答辩等几个方面,给出各项成绩或权重,综合后给出课程设计总成绩。该设计考核须经教研室主任审核,主管院长审批备案。5成绩评定采用五级分制,即优、良、中、及格和不及格。6课程设计结束一周内,指导教师提交成绩和设计总结。7设计过程考核和成绩在教师手册中要有记载。实习报告要求实习报告内容、格式各专业根据实习(设计)类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。注意:1课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。2为了节省纸张,保护环境,便于保管设计报告,统一采用A4 纸,课程设计报告建议双面打印(
3、正文采用宋体五号字)或手写,左侧装订,订两个钉。基于 FPGA的半整数分频器设计一 . 系统设计任务及功能概述1. 系统设计任务基于 FPGA的半整数分频器设计任务要求:设有一个 5MHz(或 7、 9、 11、 13、 15、 17、 19、 21、 23 、 25MHz)的时钟源,但电路中需要产生一个 2MHz的时钟信号,由于分频比为 2.5 (或 3.5 、 4.5 、 5.5 、 6.5 、7.5 、 8.5 、 9.5 、10.5 、 11.5 、 12.5 ),因此采用小数分频。2. 小数分频的基本原理小数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频
4、器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。如设计一个分频系数为 10.1 的分频器时,可以将分频器设计成 9 次 10 分频, 1 次 11 分频,这样总的分频值为:F=(910+111) / (9+1)=10.13. 系统功能概述本系统是一个基于FPGA的半整数分频器,具有以下功能:有一个5MHz的时钟源,通过半整数分频器后电路中可以产生的是一个2MHz的时钟信号二 . 系统设计方案和程序设计1. 系统设计方案由于分频比为2.5 ,因此采用小数分频。分频系数为N-0.5 的分频器,其电路可由一个异或门、一个模 N 计数器和二分频器组成。下图给出了通用半整数分
5、频器电路组成。f /(N-0.5)f 0/(2N-1)Q(5分频)0异或门模 N计数器2分频器f 0=5MHzOUTCLK(2.5分频)由于分频比为 2.5 则本实验中先要设计一个模 3 的计数器,然后建立模三计数器的元件,再利用原理图设计完成分频器的设计2.VHDL 程序设计Q(五分频)模七计数器VHDL程序如下:library ieee;entity counter7 isport(clk,rst,en: in std_logic;qa,qb,qc:out std_logic);end counter7;architecture behavioral of counter7 issigna
6、l count:std_logic_vector(2 downto 0);beginprocess (clk,rst)beginif (rst=1) thencount(2 downto 0)=000;elsif ( clkevent and clk=1) thenif ( en = 1) thenif(count=110) then count=000;else count=count+1;end if;end if;end if;end process;qa=count(0);qb=count(1);qc=count(2);end behavioral;3. 模七计数器仿真波形图图 1 模
7、七计数器仿真波形图4. 输入、输出接口说明表 1输入、输出接口接口类型结构图上引脚说明名称(输入 /输出 )的信号名号INCLKINinclock2系统时钟 7MHzOUTCLKOUToutclk3系统输出QOUTq4系统输出5. 模七计数器元件图图 2模七计数器元件图6. 半整数分频器原理图图 3 半整数分频器原理图7. 半整数分频器仿真波形图图 4半整数分频器仿真波形图三 . 课程设计总结通过本次实习我学会了如何操作max2 软件来编辑计数器程序,画出了利用计数器原理的分频器原理图, 掌握了利用max2软件绘制原理图和程序编程的方法,同时还学会了用max2软件来形象的仿真计数器和分频器的波
8、形,以及器件的波形图。在软件的实际操作过程中通过具体的方法结合图形将从书上学到的理论知识进行分析实践,从而更好的理解和掌握了如何用软件设计图形和实际仿真的方法,以及max2 软件应用方面的知识,为以后的实践积累了宝贵的经验,打下了坚实的基础。四 . 参考文献1 谭会生,张昌凡 .EDA 技术及应用 . 西安:西安电子科技大学出版社,2006,12.2 潘松,王国栋编著 .VHDL 实用教程 . 成都:电子科技大学出版社, 2006.3 徐志军,徐光辉编著 .CPLD/FPGA的开发与应用 . 北京:电子工业出版社 .2002.4 杨晓慧,杨永健 . 基于 FPGA的 EDA/SOPC技术与 V
9、HDL.北京:国防工业出版社, 2007,7.5 王诚,吴继华等, ALTERAFPGA/CPLD设计(基础篇) . 北京:人民邮电出版社, 2008,12.6 陈雪松,滕立中编著 .VHDL 入门与应用 . 北京:人民邮电出版社 . 2000.7张凤祥 . 第 22 届全国计算机新科技与计算机教育学术会议论文集. 北京:科学教育出版社, 2011.99 分钟定时器的 VHDL设计一 . 系统设计任务及功能概述1. 系统设计任务任务要求:通过设计,定时器可以整体清零;可以定时最高到99MIN; 以秒速度递增至预定时间,以秒速度递减至零。2. 系统功能概述本系统是一个99 分钟的定时器,具有以下
10、功能:具有整体清零 (reset )功能,定时 99 分钟。以秒速度递增至 99 分钟停止, 启动报警 (cout)5 秒钟。具有置位( cn)控制,即 cn 高电平时, clk 脉冲上升沿到来,计数加一; cn 低电平时,置位结束,进入倒计时阶段,以秒速度使输出计数减一至零结束,并同时报警(cout )5 秒钟。时钟信号提供秒信号( 1HZ);四位数码管静态显示 , 高位 high(3 downto 0) 显示分 , 低位 low (3 downto 0 )显示秒二 . 系统设计方案和程序设计1. 系统设计方案时钟信号a时钟信号s控制计时部分二选一选择器报警器时钟信号b译码器数码管图 1 系
11、统设计框图通过记数器控制中心输入秒信号, 并输出两个四位的 BCD码,可分别来表示各位与十位,也可整体复位清零。通过该记数器实现以秒速度递增至清零,该记数器以秒的速度递增至99 来实现置位,而以秒的速度递减至零以实现定时功能。当以秒速度递增至99 分钟停止,启动报警 (cout)5 秒钟。 cn 低电平时,置位结束,进入倒计时阶段,以秒速度使输出计数减一至零结束时也同时报警(cout ) 5 秒钟。通过二选一选择器对个位和十位进行扫描输出,并将输出送到译码器, 通过译码器对输入的四位BCD码进行七段码编译, 然后输出到数码管。2.VHDL 程序设计Aaa 控制计数模块,是该定时器的核心部分.r
12、es 为复位端,用来清零,采用异步复位方式;cn 用于置位, 高电平有效。 cout 端将在定时结束时产生高电平。Low 和 high 为四位 BCD码输出端口,可用于显示。当cn 有效时, clk 脉冲上升沿到来,计数加1;当 cn 为低电平时,置位结束,进入计时阶段,每1 个时钟周期发出一个脉冲,使输出记数减1,直到记时结束,令cout 位为高电平为止。该模块的源程序如下:library ieee;entity aaa isport (cn,res,clk:in std_logic;cout :out std_logic;flow,fhigh,mlow,mhigh:out std_logi
13、c_vector(3 downto 0);end aaa;architecture art of aaa issignal fdisplow,fdisphigh,mdisplow,mdisphigh:std_logic_vector(3 downto 0);- 定义信号分别表示分钟和秒钟的十位和个位beginprocess(clk,cn,res)beginif(res=0)thenmdisplow=0000;mdisphigh=0000;fdisplow=0000;fdisphigh=0000;cout=0; -res低电平执行复位elsif (clkevent and clk=1)theni
14、f cn=1thenif mdisplow9 thenmdisplow=mdisplow+1;-秒钟个位数小于9 时执行计数加1cout=0;elsif mdisplow=1001 and mdisphigh5 thenmdisplow=0000;mdisphigh=mdisphigh+1;-秒钟十位进位加1elsif mdisphigh=0101 and fdisplow9 thenmdisplow=0000;mdisphigh=0000;fdisplow=fdisplow+1;-满 59 秒后分钟个位加1elsif fdisplow=1001 and fdisphigh9 thenmdis
15、plow=0000;mdisphigh=0000;fdisplow=0000;fdisphigh=fdisphigh+1;-满 9 分 59 秒后分钟十位加elsif fdisplow=1000 and fdisphigh=1001 thenmdisplow=0000;mdisphigh=0000;fdisplow=1001;-计时至 99 分停止elsif fdisplow=1001 and fdisphigh=1001 thencout0 thenmdisplow=mdisplow-1;-秒钟减 1cout0 thenmdisplow=1001;mdisphigh0 thenmdisplo
16、w=1001;mdisphigh=0101;fdisplow0 thenmdisplow=1001;mdisphigh=0101;fdisplow=1001;fdisphigh=fdisphigh-1;-分减 10elsiffdisphigh=0000andfdisplow=0000andmdisphigh=0000andmdisplow=0000thencout=1;-倒计时结束cout 变为高电平end if;end if;end if;end process;mhigh=mdisphigh;mlow=mdisplow;fhigh=fdisphigh;flowppppppppppp=000
17、0000;end case;end process;end disp_arc;译码器 disp 仿真波形图如图三:图 4 译码器 disp 仿真波形图器件仿真图如图四:图 5 器件仿真图报警器模块主要功能是计数定时器以秒速度递增至99 分钟停止时启动报警(cout)5秒钟。倒计时阶段,计时器以秒速度使输出计数减一至零结束时也同时报警(cout )5 秒钟。它的操作源程序如下:library ieee;entity cou5 isport(clk,reset,en:in std_logic;speak:out std_logic);end cou5;architecture behavior o
18、f cou5 issignal count:std_logic_vector(2 downto 0);- 定义计数信号 beginprocess(reset,clk)beginif reset=1 or en=0 thencount(2 downto 0)=000;speak=0;-有复位信号或始能端低电平时输出0elseif(clkevent and clk=1)thencount=count+1;speak=1;-有时钟上升沿计数加1,报警信号speak 高电平if count=101thenspeak=0;count=101;-5秒之后停止报警speak 为 0end if;end if
19、;end if;end process;end behavior;报警器模块仿真波形图:图 6 报警器模块仿真波形图器件仿真图:图 7 器件仿真根据定时器要实现的功能对以上程序进行元件例化,例化程序如下:定时器例化程序library ieee;entity dsq isport(sna,resa,clka,resb,clkb: in std_logic;myimal:out std_logic_vector(6 downto 0); -myimah:out std_logic_vector(6 downto 0); -fyimal:out std_logic_vector(6 downto 0
20、); -fyimah:out std_logic_vector(6 downto 0); -baoj:out std_logic);end entity dsq;architecture art of dsq iscomponent aaa isport (cn,res,clk:in std_logic;cout :out std_logic;秒钟个位译码输出秒钟十位译码输出分钟个位译码输出分钟十位译码输出flow,fhigh,mlow,mhigh:out std_logic_vector(3 downto 0);end component aaa; -aaa控制模块component dis
21、p isport(a:in std_logic_vector(3 downto 0);p:out std_logic_vector(6 downto 0);end component disp;-译码模块component cou5 isport(clk,reset,en:in std_logic;speak:out std_logic);end component cou5;-报警模块signal s1,s2,s3,s4:std_logic_vector(3 downto 0);signal s5:std_logic;beginu1:aaa port map(sna,resa,clka,s5
22、,s1,s2,s3,s4);u2:disp port map(s1,fyimal);u3:disp port map(s2,fyimah);u4:disp port map(s3,myimal);u5:disp port map(s4,myimah);u6:cou5 port map(clkb,resb,s5,baoj);-各模块通过位置关联end architecture art;定时器仿真波形图:图 8 定时器仿真波形图器件仿真图:图 9 器件仿真图3. 输入、输出接口说明表 1 输入、输出接口接口类型结构图上的说明名称(输入/ 出)信号名I0INsna计数控制模块Aaa置位控制端CLKINclka系统时钟 1HzCLKINclkb系统时钟 1HzI1INresa计数控制模块Aaa复位控制端I2INresb报警模块复位控制端Q0.6OUTmyimal译码器对秒
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年平凉职业技术学院单招职业适应性考试题库带答案解析
- 2026年惠州工程职业学院单招职业倾向性测试题库带答案解析
- 2026年云南省玉溪市单招职业适应性考试必刷测试卷附答案解析
- 2026年宁夏工商职业技术学院单招职业适应性测试题库带答案解析
- 2026年江苏信息职业技术学院单招职业倾向性考试题库带答案解析
- 2026年内蒙古能源职业学院单招职业技能测试必刷测试卷及答案解析(名师系列)
- 2026年四川科技职业学院单招职业适应性测试题库及答案解析(夺冠系列)
- 2026年上海兴伟学院单招职业技能考试题库附答案解析
- 2025年母婴用品代运营行业数字化转型与数据安全报告
- 2026年保定电力职业技术学院单招职业倾向性考试必刷测试卷及答案解析(名师系列)
- DB37T 3866-2020健身场地防护缓冲垫通用技术要求
- 山东省成人高等教育毕业生登记表
- 恒春电动执行机构操作及维护保养规程
- 药物外渗和渗出的预防和处理肖
- YS/T 433-2001银精矿
- 招标答疑回复函模板
- 人工智能与教育的深度融合课件
- 《国际贸易》习题答案
- 中国口腔CBCT简介、CBCT应用领域及市场规模分析
- LED-显示屏维修方案
- 人工挖孔桩安全旁站记录【范本模板】
评论
0/150
提交评论