1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算器计

集成电路设计验证技术课程设计 计算器设计与验证 填写日期: 2013 年 6 月 6 日 姓名 学号:杨林淼 1014020221 周冲冲 1014020120 李星洋 1014020318 张广智 1014020414 班 级: 集成10级 成 绩: 指导 教师: 黄海 目 录 TOC \o 1-3 \u 1 设计目的及任务要求 2 1.1 设计目的 2 1.2 设计任务 2 1.3 课设要求 2 2 设计思路、程序分析及其验证 PAGEREF _Toc313454122 \h 2 2.1 设计总体框图 PAGEREF _Toc313454123 \h 2 2.2 设计原理 3 2.2.1 计算其原理 3 2.2.2 数码显示原理 3 2.2.3 八位数码管扫描的原理 4 2.3 计算器模块 PAGEREF _Toc313454129 \h 4 2.3.1 计算器源程序 PAGEREF _Toc313454130 \h 4 2.3.2 计算器程序分析 PAGEREF _Toc313454131 \h 4 2.4 数码管显示部分 4 2.4.1 数码管显示源程序 4 2.4.2 数码管显示程序分析 PAGEREF _Toc313454134 \h 5 2.5 循环扫描模块 PAGEREF _Toc313454135 \h 6 2.5.1 循环扫描程序 PAGEREF _Toc313454136 \h 6 2.5.2 循环程序分析 7 2.6 总程序及其分析 8 2.7 仿真与分析………………………………………………………..……………………11 2.7.1 计算器时序仿真及其分析 11 2.7.2 数码管时序仿真及分析 12 2.7.3 总体时序仿真图 12 2.7.4 FPGA结果验证 12 3 设计总结…………………………………………………………………….…………………13 4 附录(源程序)………………………………………………………………………………14 1 设计目的及任务要求 1.1 设计目的 (1)进一步加强熟练EDA基础知识。 (2)熟练掌握Quartus II、Matlab、SMIMS的FPGA开发板的使用以及用该软件编程和仿真的全过程。 (3)培养独立思考问题,解决问题的能力以及查阅相关资料和资料的正确使用能力,为明年的毕业设计打下良好的设计基础。 (4)培养团结合作能力,能够快速融入一个陌生团队,共同完成规定的设计内容与实验。 1.2 设计任务 设计一个简单计算器,输入为8位二进制数,分别用两位数码管显示,输出的计算结果为16位二进制数,并用四位数码管显示,能够实现+、-、 *、/ 四种运算,其中除法的结果显示分为商和余数两部分,分别用两位数码管显示。 学习新的验证方法,用SMIMS的FPGA实际验证与仿真,学会观看仿真波形图、分析波形图找出错误及不足,并进行改正,直到设计正确。 1.3 课设要求 (1) 说明题目的设计原理和思路、采用方法及设计流程。 (2) 系统框图、Verilog语言设计程序或原理图。 (3) 对各子模块的功能以及各子模块之间的关系做较详细的描述。 (4) 详细说明调试方法和调试过程。 (5) 说明测试结果:运用多种方法进行仿真与验证,分析仿真时序图和结果显示图,并对其进行说明和分析。 2 设计思路、程序分析及其验证 2.1 设计总体框图 有分析可知,本次课程设计可以分成五个木块来实现相应的功能,分别是输入模块,计算模块,扫描模块,输出模块以及显示模块。 图一 设计总体框图 2.2 设计原理 2.2.1 计算其原理 Verilog语言中可直接用运算符+、-、*、/、%来实现四则运算,系统会根据程序自动综合出相应的计算器。 分别是加法器模块,减法器模块,乘法器模块和除法器模块,当程序变得正确的话则各个程序会按照一定的步骤一步步的往下执行的。 2.2.2 数码显示原理 7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。设计7段译码器,输出信号LED7S的7位分别接如图一数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h。 图二 共阴极七段数码管 2.2.

文档评论(0)

ybcm963 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档