




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FPGA 课程设计报告 专 业 通信工程 班 级 班 姓 名 学 号 指导老师 祝 宏 制作日期 11 10 11 20 设计课题设计课题 1 设计一个可控的 100 进制可逆计数器 要求用 DE2 115 开发板下载 1 计数器的时钟输入信号周期为 200ns 2 以十进制形式显示 3 有一个复位端 clr 和两个控制端 plus 和 minus 在这些控 制信号的作用下 计数器具有复位 增或减计数 暂停功能 clrplusminus功能 0 复位为 0 110递增计数 101递减计数 111暂停计数 设计步骤设计步骤 第一步 参考书中的 60 进制计数器设计出 100 进制的加法计数器 用时 30 分钟 第二步 仿照 100 进制的加法可以设计出 100 进制的减法计数器 用时 45 分钟 第三步 将两段程序拼凑起来 利用两个控制端控制加减和暂停功 能 用时 15 分钟 关键词关键词 可逆 暂停 循环计数 内容摘要内容摘要 计数器具有复位 增减计数和暂停功能 可循环计数 可用作平时 的 计数器用 总体方案总体方案 顶层逻辑电路图顶层逻辑电路图 上图为 100 进制可逆计数器的封装图 sw 0 控制计数脉冲的频率大 小 sw 1 控制清零端 sw 2 和 sw 3 为两个控制端 plus 和 minus hex1 和 hex0 分别显示 100 进制的十位和个位 底层功能模块设计底层功能模块设计 100 进制可逆加减的程序代码 module count100 qout 输出的数字 cout 进位 data 置位数字 load 置位端 clr 清零端 clk 时钟脉冲 plus 控制端 minus 控制端 input load clk clr plus minus input 7 0 data 输入 output 7 0 qout reg 7 0 qout output cout 输出 always posedge clk 脉冲 begin if clr qout 0 如果清零端为 0 将输出清零 else if load qout data 如果置数端为 1 将置数 端数字给输出 else if plus 当 plus 为 1 且 minus 为 0 时如果计数到 99 时回到 00 else if plus if qout 7 4 9 qout 7 4 0 else qout 7 4 qout 7 4 1 end else qout 3 0 qout 3 0 1 end else if plus if qout 7 4 0 qout 7 4 9 else qout 7 4 qout 7 4 1 end else qout 3 0 qout 3 0 1 end else if plus plus 为 1 minus 为 1 暂停计数 else qout 0 为其他时清零 end assign cout qout 8 d99 1 0 为 99 时进位端进 endmodule 注释 利用 plus 和 minus 的几种组合可控制加减和暂停计数 利 用清零端可将计数清零 以便计数 各模块功能仿真波形显示的结果 各模块功能仿真波形显示的结果 当 plus 为 1 minus 为 0 时 递增计数到 99 时下一刻为 00 当 clk 为 0 时 计数器清零 当 plus 为 0 minus 为 1 时 递减计数 00 时下一秒变为 99 当 plus 为 1 minus 为 1 暂停计数 设计中遇到问题及解决方法设计中遇到问题及解决方法 在设计时 我用的是让其自己加减的方法 在仿真时可以做出正确 的结果 但是在下载板中显示时 个位一直从 0 加到了 F 才向十位 进位 我感觉到可能是程序出错了 我没有将十位和个位分开 而 是写在了一起 导致默认为十六位计数 于是我将程序改为分开计 数 最后终于成功了 心得体会心得体会 从第一个简单的实验中我感觉到 看起来简单的事 可能自己亲手 做的时候就会 发现很多问题 这些问题都要自己去解决 后面的 两个实验更难 我需要更多的去开动脑筋 多多查阅资料 力争做 好 设计课题设计课题 2 2 交通灯控制系统 要求用 DE2 115 开发板下载 1 设计一个十字路口交通信号灯的定时控制电路 要求红 绿 灯按一定的规律亮和灭 绿灯亮时 表示该车道允许通行 红灯亮 时 该车道禁止通行 并在亮灯期间进行倒计时 并将运行时间用 数码管显示出来 2 要求主干道每次通行时间为 40 秒 支干道每次通行时间为 30 秒 每次变换运行车道前绿灯闪烁 持续时间为 5 秒 即车道 要由主干道转换为支干道时 主干道在通行时间只剩 5 秒钟时 绿 灯闪烁 5 秒显示 支干道仍为红灯 以便主干道上已过停车线的车 继续通行 未过停车线的车停止通行 同理 当车道由支干道转换 为主干道时 支干道绿灯闪烁显示 5 秒钟 主干道仍为红灯 3 定时器要求采用递减计时方式进行计时 两个定时时间 绿灯闪烁和绿灯停止闪烁 4 个状态 S0 主干道绿灯亮 支干道红灯亮 S1 主干道绿灯闪烁 支干道红灯亮 S2 支干道绿灯亮 主干道红灯亮 S3 支干道绿灯闪烁 主干道红灯亮 设计步骤设计步骤 第一步 在程序内部转载一个计数器 从 70 递减计数到 00 如此 循环 用时 15 分钟 第二步 设计主干道的计时器 从 40 到 00 主干道绿灯亮 最后 五秒时绿灯闪烁 支干道红灯亮 用时 120 分钟 第三步 设计支干道的计时器 从 30 到 00 支干道绿灯亮 最后 五秒时绿灯闪烁 主干道红灯亮 用时 60 分钟 关键词关键词 交通灯 十字路口 倒计时闪烁 内容摘要内容摘要 该红绿灯可实现十字路口的交通管制 主干道和支干道分别通行 40 秒和 30 秒如此循环 可便于交通顺畅 通行与否由红绿灯予以 提示 总体方案总体方案 顶层逻辑电路图顶层逻辑电路图 上图为红绿灯的封装图 sw 0 为脉冲频率控制端 sw 1 为清零端 LEDR 0 为主干道红灯 LEDG 0 为主干道绿灯 LEDR 1 为支干道 红灯 LEDG 1 为支干道绿灯 HEX7 为主干道秒钟的十位 HEX6 为 主 干道秒钟的个位 HEX5 为支干道秒钟的十位 HEX4 为支干道秒钟 的个位 底层功能模块设计底层功能模块设计 红绿灯的程序代码 module led clk 脉冲 clr 清零端 m ledr 主干道红灯 m ledg 主干道绿灯 s ledr 支干道红灯 s ledg 支干道绿灯 count1 主干道秒钟 count2 支干道秒钟 input clk clr output m ledr m ledg s ledr s ledg output 7 0 count1 count2 reg m ledr m ledg s ledr s ledg reg 7 0 count1 count2 reg 1 0 state reg 7 0 times parameter state0 2 b00 定义四种状态 state1 2 b01 state2 2 b10 state3 2 b11 always posedge clk or negedge clr begin if clr 清零 begin times 8 h70 计数清零 state state0 状态复位 end else if times 0 计数为零 times 8 h70 计数预置 else begin times 3 0 times 3 0 1 计数个位减一 if times 3 0 4 h0 判断计数个位是否为零 begin times 7 4 times 7 4 1 十位减一 times 3 0 4 h9 个位置数 end case state 是哪种状态 state0 if times 8 h36 状态零阶段 计数器为 36 70 state state1 状态转换 state1 if times 8 h31 状态一阶段 计数器为 31 35 state state2 状态转换 state2 if times 8 h6 状态二阶段 计数器为 6 30 state state3 状态转换 state3 if times 8 h1 状态三阶段 计数器为 1 5 begin state state0 状态转换 times 8 h70 计数清零 end endcase end end always posedge clk begin if times 0 计数不为零吗 begin case state 是哪种状态 状态机输出 state0 begin m ledg 1 状态零 主干道红灯灭 绿灯亮 支干 道红灯亮 绿灯灭 m ledr 0 s ledg 0 s ledr 1 count2 times 8 h30 支干道计数显示 count1 times 8 h30 主干道时间显示 end state1 begin m ledg m ledg 状态一 主干道红灯灭 绿灯 闪烁 支干道红灯亮 绿灯灭 m ledr 0 s ledg 0 s ledr 1 count1 times 8 h30 主干道时间显示 count2 times 8 h30 支干道计数显示 end state2 begin m ledg 0 状态二 主干道红灯亮 绿灯灭 支干道红灯灭 绿灯亮 m ledr 1 s ledg 1 s ledr 0 count1 times 主干道计数显示 count2 times 支干道时间显示 end state3 begin m ledg 0 状态三 主干道红灯亮 绿灯灭 支干道红灯灭 绿灯闪烁 m ledr 1 s ledg s ledg s ledr 0 count2 times 支干道时间显示 count1 times 主干道计数显示 end endcase end end endmodul 注释 四种状态分别对应题设要求的四种状态 之所以设一个 70 进制的递减计数器是因为主干道的 40 秒和支干道的 30 秒是循环 显示的 可以放在一起递减 各模块功能仿真波形显示的结果各模块功能仿真波形显示的结果 主干道 count1 从 40 递减到 00 支干道 count2 从 40 递减到 00 主 干道绿灯 m ledg 在最后五秒闪烁 支干道红灯 s ledr 亮之后转为 支干道绿灯 s ledg 亮 主干道红灯 m ledr 亮 支干道 count2 从 30 递减到 00 主干道 count1 从 30 递减到 00 支 干道绿灯 s ledg 在最后五秒闪烁 主干道红灯 m ledr 亮之后转为 主干道绿灯 m ledg 亮 支干道红灯 s ledr 亮 设计中遇到问题及解决方法设计中遇到问题及解决方法 在设计过程中 之前打算是分开计数 后来发现太麻烦 问过同学 后决定采用他的方法 在程序中放一个计数器 使得计数变得简单 后来在四种状态设置时 我参考书上的用状态机的方法 使得四种 状态变得清楚明朗 让我出现错误的概率变小了 由于题设木有说 明当主干道显示时 支干道显示什么 我觉得也要让支干道的人知 道还有多久可以通车 于是将主干道的时间也给了支干道 同样在 支干道倒计时时主干道也在倒计时 这样可以让司机估计好时间 闪烁的灯开始时不知道怎么设置 后来问同学了知道改为灯等于灯 的非就好了 这是我收获到的 心得体会心得体会 从这次的设计红绿灯的实验中 我感到了很大的压力 感觉平时看 着红绿灯在街上倒计时蛮简单的 什么事情都是想的很简单 真正 要自己上手去做的时候才会发现很多自己不懂的知识 例如控制主 干道和支干道的循环 跳变 如何让绿灯在特定的时间闪烁 都是 设计者需要去考虑的问题 以及自己的作品在实际生活中应用 会 不会有什么问题 如何让其更加简单明朗 让人们一看就明白 我 更加明白了自己的责任 和更多应该注意的问题 设计课题设计课题 3 3 多功能数字钟系统 层次化设计 要求用 DE2 115 开发板下载 1 基本功能 60 秒 60 分 24 小时 2 扩展功能 报时 每小时 59 分 51 53 55 57 秒低频报时 59 秒高频报时 校时校分 时段控制 6 点 18 点 输出灯 不亮 其它时间灯亮 闹钟功能 能自己预设一个时间 到预设 时间时 闹钟响起 持续一分钟 设计步骤设计步骤 第一步 设计 60 进制的加法计数器 带进位 用时 15 分钟 第二 步 设计 24 进制的加法计数器 用时 30 分钟 第三步 将两个 60 和一个 24 的计数器组合成一个数字钟 实现其 基本功能 用时 120 分钟 第四步 设计时段控制 6 18 点输出灯不亮 其他时间亮 用时 30 分钟 第五步 设计报时功能 由于缺少蜂鸣器 用指示灯代替 每小时 59 分 51 53 55 57 秒时红灯亮 59 秒时红灯亮 用时 60 分 钟 第六步 另外设置一个计数器 通过使能端控制 作为校时校分的 预设数 通过使能端将预设数送入数字钟内 用时两周 第七步 通过使能端将另外的计数器作为闹钟 预设一个时间 由 于缺少蜂鸣器 用显示灯代替 当时钟走到预设的时间时 预设的 红灯闪烁 持续一分钟 用时 120 分钟 关键词关键词 数字钟 校时校分 整点转换提示 时段控制 闹钟 内容摘要内容摘要 该数字钟可实现普通时钟的计时功能 为 24 进制 可实现手动校时 校分 方便更改时间 该数字钟可实现时段控制的功能 在深夜时 开灯照明 在白天时关闭照明 省电 整点转换时会有相应的提示 方便提示用户 在老师要求的基础下 我给这个数字钟设计了一个 闹钟的功能 用户可以手动设定闹钟的时间 方便用户的起床和事 项安排 总体方案总体方案 顶层逻辑电路图顶层逻辑电路图 注释 上图为数字钟的封装图 图中 sw 0 控制暂停 sw 1 控制 脉冲频率 sw 2 控制复位端 sw 3 控制另一计数器的分钟部分 sw 4 控制校分 sw 5 控制另一计数器的小时部分 sw 6 控制校时 sw 7 sw 8 控制最后两个数码管显示另一计数器的小时还是分钟部 分 sw 9 为闹钟控制端 hex7hex6 显示数字钟的小时部分 hex5hex4 显示数字钟的分钟部分 hex3hex2 显示数字钟的秒钟部分 hex1hex0 显示另一计数器的小时或者分钟部分 ledr 0 为控制端 的亮灯 ledg 0 为每小时 59 分 59 秒时的绿灯 ledr 1 为每小时 59 分 51 53 55 57 的亮灯 ledr 2 为闹钟的亮灯 底层功能模块设计底层功能模块设计 程序代码 module shizhong qout 数字钟秒钟 reset 复位端 clk 脉冲 qout1 数字钟分钟 qout2 数字钟小时 data 置数显示 data1 置数的分钟 data2 置数的小时 led 控制端的灯 leg 每小时 59 分 59 秒的绿灯 ler 每小时 59 分 51 53 55 57 秒的红灯 ler1 闹钟亮灯 h 校时 m 校分 a 控制置数分钟的变化 b 控制显示置数的分钟 c 控制置数小时的变化 d 控制显示置数的小时 e 闹钟控制端 input clk reset h m a b c d e output reg 7 0 qout data output reg 7 0 qout1 data1 output reg 7 0 qout2 data2 output reg led output reg leg ler ler1 always posedge clk begin begin if a 1 调整置数的分钟部分 begin if data1 3 0 9 begin data1 3 0 0 if data1 7 4 5 begin data1 7 4 0 end else data1 7 4 data1 7 4 1 end else data1 3 0 data1 3 0 1 end end begin if b 1 控制置数分钟的显示 data data1 end begin if c 1 控制置数小时的变化 begin begin if data2 3 0 9 begin data2 3 0 0 begin data2 7 4 data2 7 4 1 end end else data2 3 0 data2 3 0 1 end if data2 7 4 2 end end begin if d 1 控制置数小时的显示 data data2 end begin if reset 复位 begin qout 0 qout1 0 qout2 0 end else if h 校时 begin qout2 data end else if m 校分 begin qout1 data end else 正常计数部分 begin if qout 3 0 9 begin qout 3 0 0 begin if qout 7 4 5 begin qout 7 4 0 begin if qout1 3 0 9 begin qout1 3 0 0 if qout1 7 4 5 begin qout1 7 4 0 begin if qout2 3 0 9 begin qout2 3 0 0 begin qout2 7 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025出租专业租赁公司脚手架租赁合同
- 2025厂房及场地租赁合同范本涵盖场地使用与维护责任
- 2025版租赁住宅与室内空气质量检测合同
- 2025版外墙保温保温材料研发与推广应用合同
- 2025版能源企业员工劳动合同及节能减排承诺书
- 2025年度事业单位与劳动者双方聘用合同及劳动合同
- 2025版青少年素质教育培训合作合同
- 2025年度环保餐具采购与销售合作协议
- 2025年度银行存款质押贷款业务合同模板
- 2025版现代农业用地及开发权转让协议
- APP融资方案模板
- 支气管哮喘防治指南(2024年版)解读
- 2025年镍厂招工考试题及答案
- 财经法规与会计职业道德(第5版)课件 第一章 总论
- 舞蹈艺术概论
- 装卸劳务外包服务项目方案(技术标)
- 2025年度互联网行业市场调研服务协议4篇
- 小学音乐新课标考试题库800题(含答案)
- 《付出总有收获》课件
- 方剂学知到智慧树章节测试课后答案2024年秋安徽中医药大学
- 《蚕丝微观结构》课件
评论
0/150
提交评论