如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PAGE\*MERGEFORMAT76深圳大学实验报告课程名称:数字系统现场集成技术实验项目名称:设计秒表学院:信息工程学院专业:集成电路设计与集成系统指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务部制目录实验要求--------------------------------------------------------------------------3实验环境--------------------------------------------------------------------------3Nexys2开发板介绍及本实验功能说明-------------------------------------3框架图功能与ASM图---------------------------------------------------------4各层VHDL代码、仿真结果及结果分析----------------------------------6资源报告及实验结果-----------------------------------------------------------50问题及解决-----------------------------------------------------------------------51总结--------------------------------------------------------------------------------52一、实验要求:基本要求:它具有计时功能。此秒表有两个按键(reset,start)按下reset键后,秒表清零,按下start键后,开始计时,再次按下start键后,停止计时,用FPGA开发板上的两个七段数码管显示时间(以秒为单位),计时由0到59循环。高级要求(可选):实现基本要求的前提下,增加一个按键(select),用于轮流切换两个七段数码管分别显示百分之一秒,秒,分钟。二、实验环境windows7ISE14.4Nexys2开发板三、Nexys2开发板介绍及本实验功能说明Nexys2开发板的核心芯片是具有1200K门的Spartan3EFPGA,时钟是由50MHz的晶振提供,还有4个的7段数码管,4个按钮,8个拨码开关。下图为Nexys2开发板的实际部分板分布:图3.1Nexys2开发板的实际部分板分布图3.2Nexys2开发板的I/O原理图Nexys2板上7段数码管为共阳极的方式,阴极独立。也就是说驱动7段数码管的每一段的显示,必须给低电平。由于板上的7段数码管的设计结构,为了在4个数码管上显示数字,必须给出扫描控制电路,图3.3给出了扫描控制电路的时序结构。为了在每个数码管上显示和连续的点亮数码管,所有的四个数码管应该每1到16ms就被驱动一次。图3。3时序结构但在本实验中,四个数码管的驱动时间为100us,所以每400us,数码管就被驱动一次,并且效果也很好。四、框架图功能与ASM图1、框架:图4.1.1框架本实验中使用了4个数码管、3个按钮、5个拨动开关,数码管用来显示时间,按钮分别是rst_p异步复位按键、start_stop开始/暂停按键、record_button记录时间按键(只能记录最近的4次),拨动开关作用分别是key1(两位)秒表时间选择(00表示显示秒和百分秒、01表示显示分和秒、10表示显示时和分、11表示显示天和时)、mode可切换看秒表还是记录(1表示数码管显示的是正在计数时间,0表示数码管显示的是已记录的时间)、key2(两位)记录次数选择(00表示最近的一次记录时间、01表示最近第二次的记录时间、11表示最近第三次的记录时间、10表示最近第四次的记录时间)。ASM图本实验中有一个counter计数模块,输出想要的天、时、分、秒和百分秒(后面有详细介绍),它的ASM图如下:图4.2counterASM图五、各层VHDL代码、仿真结果及结果分析全部的模块展开如下:图5.0全部模块展开图顶层chronography模块此模块只是负责连线、分频器的分频系数和复位的取反(因为我习惯低复位,而开发板的按键按下是高电平)代码为:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;entitychronographyisport(clk:instd_logic;rst_p:instd_logic;