




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FPGA的数字秒表设计一、设计实验条件QUARTUS72集成开发环境二、设计目标1能对0秒59分5999秒范围进行计时,显示最长时间是59分59秒;2计时精度达到10MS;3设计复位开关和启停开关,复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。三、设计内容1绪论数字秒表是日常生活中比较常见的电子产品,当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断进行更新换代,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师更愿意自己设计专业集成电路ASIC芯片,而且希望设计周期尽可能短,最好在实验室里就能设计出合适的ASIC芯片并且立即投入实际应用之中,因而出现了现场可编程器件(FPLD)。现场可编程门阵列(FPGA)即属其中应用最广泛的一种。超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,各个层次进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。2设计主体21原理根据数字秒表的设计要求,可以使用多个不同的计数器单元模块,通过有机的组合来得到数字秒表系统。要满足数字秒表的精度,首先应获得精确的计数基准信号,这里的系统精度要求为001S,因此必须设置周期001S的时钟脉冲。由于数字秒表输入脉冲为3MHZ,因此每个3000个外界输入脉冲的输出一个频率,该频率的时间周期正好为001S,即先将外界脉冲进行3MHZ100HZ的分频。01S、1S、1MIN等计时单位之间的进位转换可以通过十进制与六进制计数器来实现。每位计数器均能输出相应计时单位计时结果,其中十进制计数器可以实现001S、01S、1S和1MIN单位单元的计数;六进制可以实现10S,10MIN为单位的计数。由于秒表需要具有异步清零和启动/暂停功能,因此可以将每个计数器都设置异步清零(CRL)和启动/暂停(ENA)输入端口,再将各级计数器进行级联,即可显示不同度量单位的计时内容。数字秒表内部计数器内部构成如下图1。图1数字秒表内部计数器在上图中,U0模块用于将外界脉冲进行3MHZ100MHZ的分频,从而得到001S的脉冲信号;U1模块用于实现01S的脉冲信号;U2模块用于实现1S的脉冲信号;U3和U4用于实现1MIN的脉冲信号,U5和U6用于实现1H的脉冲信号。除U0外,U1U6的CQ都可以驱动显示带译码的七段LED进行数字显示。通过上述分析可知,数字秒表的构成实质上依赖于3个基本模块,即3MHZ100HZ的分频模块(CLKGEN)、十进制计数器模块(CNT10)和六进制计数器模块(CNT6),然后使用一个顶层模块(MIAOBIAO)进行有机结合。22各模块程序及仿真(1)3MHZ100HZ分频模块3MHZ100HZ分频模块流程图如下图2所示,在使用VHDL编写程序时,在实体中应定义3MHZ时钟频率输入端(CLK)和100HZ的时钟脉冲输出端(NEWCLK)。NY图23MHZ100HZ分频模块流程图在结构体的说明语句中,应定义一个频率脉冲计数信号(CNTER),该信号的类型为整数型,计数范围为029999。在结构体的功能描述语句中,可使用2个进程(U1和U2)来完成3MHZ100HZ的频率描述。在U1中,每次检测到一个上升沿输入脉冲时,先通过IF语句检测输入信号是否为上升沿。若是上升沿,在使用一个IF语句判断当前计数值(CNTER)是否等于29999,如果相等,则将CNTER清零,为输出下一个100HZ的频率做准备,否则将CNTER加1。在U2中,判断CNTER是否等于29999,如果相等,将NEWCLK输出为高电平,否则输出为低电平。3MHZ时钟输入每来一个脉冲,CNTER是否为29999CNTER清零NEWCLK输出为高电平得到100MHZ的输出脉冲CNTER1NEWCLK输出为低电平源程序如下LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYCLKGENISPORTCLKINSTD_LOGICNEWCLKOUTSTD_LOGICENDCLKGENARCHITECTUREARTOFCLKGENISSIGNALCNTERINTEGERRANGE0TO1029999BEGINU1PROCESSCLKBEGINIFCLKEVENTANDCLK1THENIFCNTER1029999THENCNTER0ELSECNTERCNTER1ENDIFENDIFENDPROCESSU1U2PROCESSCNTERBEGINIFCNTER1029999THENNEWCLK1ELSENEWCLK0ENDIFENDPROCESSU2ENDART系统仿真3MHZ100HZ分频模块仿真图如下图3图33MHZ100HZ分频模块仿真图生成的模块如下图4图43MHZ100HZ分频模块生成模块图(2)十进制计数器模块十进制计数器模块程序的流程图如下所示。使用VHDL编写程序时,在实体中应定义时钟脉冲输入端(CLK)、异步清零端(CLR)、启动/暂停控制端(ENA)、计数脉冲输出端CQ和计数脉冲溢出端(CARRY_OUT)。由于CQ的方向定义为OUT,在结构体中不能对输入脉冲进行加1计数,因此在结构体的说明语句中应定义一个频率脉冲计数信号(CQI),通过CQI来进行加1控制。在结构体的功能描述语句中,可以使用两个进程(U1和U2来完成十进制计数器的功能描述。在U1中,先判断清零信号(CLR)是否有效,若有效时,将CQI清零,否则检测输入脉冲。每次检测到一个上升沿输入脉冲时,通过IF语句检测输入信号是否为上升沿,若是上升沿,再判断是否允许计数(即ENA是否有效)。若ENA无效,则暂停计数,否则再使用IF语句判断当前计数值(CQI)是否等于“1001”(即整数9),如果相等,则将CQI清零,否则CQI加1。在U2中判断CQI是否等于“1001”,如果相等,产生溢出信号(CARRY_OUT1,否则CARRY_OUT输出为低电平(CARRY_OUT0。十进制模块流程图如下图5。YYNNNYNY图5十进制模块流程图源程序如下LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYCNT10ISPORTCLKINSTD_LOGIC开始清零信号是否有效CQI清零输入脉冲是否为上升沿是否允许计数计数值是否等于9计数值加1溢出信号输出为高电平计数值清零溢出信号输出为低电平CLRINSTD_LOGICENAINSTD_LOGICCQOUTSTD_LOGIC_VECTOR3DOWNTO0CARRY_OUTOUTSTD_LOGICENDCNT10ARCHITECTUREARTOFCNT10ISSIGNALCQISTD_LOGIC_VECTOR3DOWNTO0BEGINU1PROCESSCLK,CLR,ENABEGINIFCLR1THENCQI“0000“ELSIFCLKEVENTANDCLK1THENIFENA1THENIFCQI“1001“THENCQI“0000“ELSECQICQI1ENDIFENDIFENDIFENDPROCESSU1U2PROCESSCQIBEGINIFCQI“0000“THENCARRY_OUT1ELSECARRY_OUT0ENDIFENDPROCESSU2CQCQIENDART系统仿真十进制模块仿真图如下图6图6十进制模块仿真图生成的模块如下图7图7十进制生成模块图(3)六进制计数器模块六进制计数器模块的程序编写思路与十进制计数器模块类似,只不过将CQI的判断值“1001”改为“0101”即可。源程序如下LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYCNT6ISPORTCLKINSTD_LOGICCLRINSTD_LOGICENAINSTD_LOGICCQOUTSTD_LOGIC_VECTOR3DOWNTO0CARRY_OUTOUTSTD_LOGICENDCNT6ARCHITECTUREARTOFCNT6ISSIGNALCQISTD_LOGIC_VECTOR3DOWNTO0BEGINU1PROCESSCLK,CLR,ENABEGINIFCLR1THENCQI“0000“ELSIFCLKEVENTANDCLK1THENIFENA1THENIFCQI“0101“THENCQI“0000“ELSECQICQI1ENDIFENDIFENDIFENDPROCESSU1U2PROCESSCQIBEGINIFCQI“0000“THENCARRY_OUT1ELSECARRY_OUT0ENDIFENDPROCESSU2CQCQIENDART仿真波形如下图8图8六进制模块仿真图生成的模块如下图9图9六进制生成模块图(4)顶层模块在底层模块中,我们用事先生成好的CLKGEN模块、CNT10模块、CNT6模块连接生成了如下图10。图10顶层模块生成电路图系统整体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生成长记录与心理辅导案例分析
- 危险化学品丙酮安全使用及包装规范
- 湖北轻工职业技术学院《农业生态与可持续耕作制度》2024-2025学年第一学期期末试卷
- 长治职业技术学院《大学计算机基础(经管类)》2024-2025学年第一学期期末试卷
- 中学阶段英语词汇语法复习资料
- 福建卫生职业技术学院《形体(3)》2024-2025学年第一学期期末试卷
- 新疆轻工职业技术学院《建筑配电工程》2024-2025学年第一学期期末试卷
- 营销预算费用控制管理办法
- 榆林能源科技职业学院《装帧设计》2024-2025学年第一学期期末试卷
- 哈尔滨金融学院《管理沟通》2024-2025学年第一学期期末试卷
- 失语症筛查评定表
- 浙江云格电器股份有限公司年产6万台车载压缩机冰箱及制冰机生产项目环境影响报告
- 高考英语词汇词形转换之动词变名词清单(四)
- 人民医院心血管外科临床技术操作规范2023版
- 2023年江苏小高考历史试卷
- 主要组织相容性复合体及其编码分子
- 优化物理教学策略的思考(黄恕伯)
- 中国移动-安全-L1,2,3(珍藏版)
- 2017年全国大学生数学建模A题
- 2023年专升本计算机题库含答案专升本计算机真题
- scratch3.0编程校本课程
评论
0/150
提交评论