- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验项目二:简单计算器设计与实现
基本要求:
1. 能够实现加减运算
2. 能够实现乘法运算
扩展要求:
1.能够实现除法运算
一、实验目的
利用原件例化语句完成一个8位加法器的设计。
二、实验环境
Quartus II 开发系统
三、实验内容
1、掌握层次化设计的方法;
2、掌握一位全加器工作原理;
3、掌握用VHDL文本输入法设计电子线路的详细流程;
4、掌握元件例化语句用法;
5、熟悉软硬件设计验证方法。
四、实验过程
设计思想:
8位二进制加法器可以由8个全加器通过级联的方式构成。根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。
实验步骤:
1、设计一个全加器
新建工程,建立源文件,输入VHDL设计文件,如下图所示:
完成设计文件输入后,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:
由图可知仿真结果正确。
2、元件例化
把VHDL设计文件转为原理图中使用的元件。在文件菜单File中选择Creat/Update选项,单击Create Symbol File for Current File 选项,系统自动生成相应的元件标号。
重复新建文件的操作,选择Block Diagram/Schmatic File 选项,新建一个原理图文件,在添加元件列表中可以看到自动生成的元件,选择full_adder这个元件添加到原理图中,如下图所示:
3、完成顶层图的设计
用生成的元件标号,完成顶层图的设计。这里有两种方法,一种是直接用原理图设计,根据原理图设计工具的使用方法,完成顶层文件的设计,这个方法比较复杂,所以这里选择另一种方法,通过VHDL设计文件。
继续建立源文件,输入VHDL设计文件,如下图所示:
依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:
五、实验总结
本次实验的目的是设计一个8位二进制加法器,而8位二进制加法器可以由8个全加器通过级联的方式构成。
根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。
总结实验过程中遇到的各种问题,问题产生的原因,解决方法,分析仿真结果,验证8位加法器设计的是否正确。
根据实验设计思路,我先用VHDL设计了一个全加器full_adder.vhd,编译、仿真成功后,通过元件例化的方式,采用原理图设计了一个8位的加法器adder8.bdf,但是在这个过程中出现了很多问题,即由于我是把这个8位的加法器的每个全加器元件输入输出引脚分开的,因此一开始就设计了17个输入引脚,这使得我在给输入引脚添加信号时不知道添加什么信号,才能够起到验证仿真结果是否正确的目的。
另外,我在这里还遇到了一些其他问题,由于在建立原理图文件adder8.bdf以后没有将该原理图文件设置成顶层文件,这使得我在给输入引脚添加信号时无法添加引脚。这里还存在一个问题:当通过原理图设计8位加法器时,我不知道能不能把它当着一个整体,即3输入2输出。另外,怎么通过在原理图设计里面把这一思想表示出来。
由于通过原理图设计无法完成8位加法器的设计,所以我又换了VHDL设计。通过VHDL设计比原理图设计简单,但是更容易出错,比如输入引脚、中间信号生成等的不匹配。
建立VHDL源文件以后,保存为adder8.vhd文件名,编译、仿真,但是由于我是将8位加法器当成的一个整体,即3输入2输出,并且在端口定义时我所定义的数据类型为逻辑矢量,因此这里又出现一个问题,即在仿真时给输入信号添加信号时不能确定到底应该怎么添加,并且其中间信号无法确定。不过后来在老师的指导下,我明白了错误根源在哪里。
在对8位的加法器进行仿真时,一开始我是用的时序仿真,这里就出现一个问题,即仿真结果为未知,但是换用功能仿真的时候,其结果就是正确的,不指导是什么原因。还有另外一个问题,即我在将adder8.vhd文件设置为顶层文件以后,并没有进行编译就开始仿真,这使得我在给引脚添加信号时始终也找不到输入信号,不过好在面意识到了这个问题。
在本次实验过程中,虽然出现了很多问题,但正是因为在操作过程中发现了很多问题并且通过对这些问题的解决,我对Quartus II 7.0 开发系统环境也有了更深入的了解和认识。
每一次发现错误,都是一个新的进步,比起上次实验课,我觉得自己在操作动手能力方面又有了提升,至少现在看到一个问题的时候,能够明白是什么问题,能够知道该怎么去问,该怎么去解决它。所以说,无论干什么,但凡是要想真正学一门知识,都要自己去摸索,只有自己亲自动手去做了,才能够真正深入地认识和了解它,才能够学到自己想要的
您可能关注的文档
最近下载
- 江苏专转本2022年退役士兵考试真题.pdf VIP
- 2025年绍兴职业技术学院单招职业倾向性测试题库审定版.docx VIP
- 天津宁河县—玖龙纸业卫生纸项目环境影响评价报告书简本.pdf
- 借条(模板)完整版.docx
- 江苏专转本2022年退役士兵考试真题.pdf VIP
- GBT 29490-2023 企业知识产权合规管理体系手册+程序文件(格式可转换).pdf
- 2022新大象版科学五年级下册2.4《电从哪里来》教案教学设计.docx VIP
- 《智慧物流与供应链基础》课程标准.docx VIP
- 《广东省玻璃体腔注药操作及质量控制规范》.pdf
- 2025年杭州科技职业技术学院单招职业倾向性测试题库审定版.docx VIP
文档评论(0)