用FPGA和VHDL设计电子钟_第1页
用FPGA和VHDL设计电子钟_第2页
用FPGA和VHDL设计电子钟_第3页
用FPGA和VHDL设计电子钟_第4页
用FPGA和VHDL设计电子钟_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDAEDA 技术课程设计报告技术课程设计报告 2013 学年第学年第 2 学期 学期 用用 FPGAFPGA 和和 VHDLVHDL 设计电子钟设计电子钟 学生姓名学生姓名 学学 号号 系系 别别 信息电子系 专业班级专业班级 电信 1101 填写日期填写日期 2014 6 28 一 设计要求 利用实验室的 EDA 实验箱上的晶振 键盘 FPGA CPLD 和数 码管完成 1 分频电路设计 利用实验室的 EDA 实验箱上晶振 设计分频电路 产生 三个频率 f1 f2 f3 f1是数码管扫描频率 f1 24n Hz n 为数码管的个数 24 Hz 是人眼视觉暂留的最低频率 f2 1 Hz 提供时钟计数 f3是键扫描频率 2 计数电路设计 设计 24 或 12 60 进制计数器分别用来做时 分 秒 的计数器 3 键扫描译码电路设计 4 弹跳消除电路设计 5 显示电路设计 6 时钟设定与调整电路设计 调整时间要求闪烁 7 进行仿真和调试 8 下载到实验箱上完成演示 9 可自行发挥其它功能 二 设计分析 要完成成一个完整的数字时钟系统 可以先创建制作该时钟所需 要的各个功能的电路模块 主要有核心模块和外部输入输出以及显 示模块组成 然后将各个模块以级联组合的方式连接组成一个完整 的电路模块图 主要模块由时间计数模块 译码显示模块 复位模 块组成 其中时间计数模块又可分为时计数模块 分计数模块和秒 计数模块 各个模块都可由变现 vhdl 代码生成 然后对其 vhdl 文 件进行编译 仿真 在做到没有错误的情况后 接入实验箱查看实 验结果验证 从而实现数字时钟的设计 三 各模块设计与调试 1 分频模块 代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC Arith ALL USE IEEE STD LOGIC Unsigned ALL ENTITY fenpin IS GENERIC N Integer 48000000 Port Clockin IN STD LOGIC ClockOut OUT STD LOGIC END ARCHITECTURE Devider OF fenpin IS SIGNAL Counter Integer RANGE 0 TO N 1 SIGNAL Temp1 Temp2 STD LOGIC BEGIN PROCESS Clockin BEGIN IF RISING EDGE Clockin THEN IF Counter N 1 THEN counter 0 Temp1 Not Temp1 ELSE Counter Counter 1 END IF END IF IF falling edge clockin THEN IF Counter N 2 THEN Temp2 NOT Temp2 END IF END IF END PROCESS ClockOut 0 elsif load 0 then q q 1 cout 9 then q others 0 cout 1 end if elsif clk event and clk 1 then if en 1 then if q 9 then q q 1 cout 0 cout 1 end if end if end if dout 0 elsif load 0 then q q 1 cout 6 then q others 0 cout 1 end if elsif clk event and clk 1 then if en 1 then if q 5 then q q 1 cout 0 cout 1 end if end if end if dout 0 elsif load 0 then q q 1 cout 24 then q others 0 cout 23 then q others 0 cout 1 else q q 1 cout 0 end if end if end if dout q end process end b 模块原理图 3 消抖模块 代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC Arith ALL USE IEEE STD LOGIC Unsigned ALL ENTITY xiaodou IS GENERIC KEY WIDTH Integer 8 PORT clk IN STD LOGIC key in IN STD LOGIC VECTOR KEY WIDTH 1 DOWNTO 0 key out OUT STD LOGIC VECTOR KEY WIDTH 1 DOWNTO 0 END ARCHITECTURE one OF xiaodou IS SIGNAL dout1 dout2 dout3 STD LOGIC VECTOR KEY WIDTH 1 DOWNTO 0 BEGIN key out dout1 OR dout2 OR dout3 PROCESS clk BEGIN IF RISING EDGE clk THEN dout1 key in dout2 dout1 dout3 0 q others 0 for i in qu1 range loop p p 3 downto 0 at at 3 downto 0 p p bt if p 4 1 then q i 0 p p bt else q i 1 end if end loop end if qu q 3 downto 0 re p 3 downto 0 end process end bhv 模块原理图 仿真图形 5 显示模块 代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC Arith ALL USE IEEE STD LOGIC Unsigned ALL ENTITY DUANWEI IS PORT clk 1k IN STD LOGIC d IN STD LOGIC VECTOR 31 DOWNTO 0 dig OUTSTD LOGIC VECTOR 7 DOWNTO 0 seg OUT STD LOGIC VECTOR 7 DOWNTO 0 END ENTITY ARCHITECTURE one OF DUANWEI IS SIGNAL seg r STD LOGIC VECTOR 7 DOWNTO 0 SIGNAL dig r STD LOGIC VECTOR 7 DOWNTO 0 SIGNALdisp dat STD LOGIC VECTOR 7 DOWNTO 0 SIGNALcount STD LOGIC VECTOR 2 DOWNTO 0 BEGIN dig dig r seg seg r PROCESS clk 1k BEGIN IFRISING EDGE clk 1k THEN count disp dat disp dat disp dat disp dat disp dat disp dat disp dat disp dat dig r dig r dig r dig r dig r dig r dig r dig rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg rseg r seg r X bf END CASE END PROCESS END 模块原理图 四 总体设计 数字时钟整体模块原理图 五 设计中遇到问题与解决方法 本次课程设计中 在设计时钟的时候 遇到诸多问题 许多都 非常的棘手 用实验箱进行测试的时候 出现在调时分模块的情况 下 出现调到 9 直接进位的情况 无法调到 9 这是由于在编写代 码时出现了错误 调整代码能够解决这个问题 其次就是出现按键 不灵的情况 可以通过改变键扫描频率解决 消抖模块也会出现不 灵敏的情况 同样也可以通过改变频率解决问题 六 实验心得 本设计是用 VHDL 语言编写编译建模设计成的 由于初学 VHDL 语言 设计初期遇到了很多困难 在经过一段时间的查阅资料以及 同学之间的相互讨论后完成了设计 但程序即使编译成功仿真还是 遇到了很多困难 在经过一次次试验和修改后仿真终于正确 仿真 无误后就根据元件引脚进行元器件之间的连线 通过本次课程设计 让我对数字电子钟有了更深刻的理解 也 对用 VHDL 语言设计实验有了更好的了解 进一步掌握了有关数字钟 的工作原理及相关设计知识 特别是对其各工作模块的功能有了更 深一步的了解 实验过程中熟悉了对 Quartus 软件的操作及应用 提高了个人独立分析问题及解决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论