




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数字逻辑电路》实验报告课程名称:数字逻辑电路实验实验编号:05实验名称:简单加法器设计报告时间:2013.10.31、实验目的本实验的目的是复习一位全加器的原理,学习用门级语言、算术赋值语句和利用Altera公司提供的参数化功能模块完成加法器的设计,比较理解各种设计方式的优劣。具体实验如下:1•设计4位串行加法器2•用算术赋值语句实现8位加法器,要求带最低位的进位,有最高位进位和溢出判断3•查阅相关资料,完成一个只能进行加减运算的32位ALU。由于需要分配的引脚过多,故将实验简化为一个8位的ALU。二、实验原理(背景知识)理论知识:加法是数字系统中最常执行的算术运算,减法可以看作是与被减数与负的减数的补码相加。因此,可以用加法器同时实现加法和减法的运算。Carry=C16^CIN(C16为补码加法最高位的进位(补码加法进位其实没意义,实质上是看成无符号数的进位,C0为一开始输入的值,’为异或符号,如果CIN为0则为补码加法,如果CIN为1则为补码减法)Zero:如果结果每位都为0,则Zero为1,否则为0Overflow:结果溢出。判断规则:只有同号两数相加结果才有可能溢出。如果和的符号位和加数的符号位不同,则结果溢出。三.实验环境和工具:DE2-70板Quartus||12.0四•实验设计思路1•设计4位串行加法器先用门级描述语言设计一个1位全加器,然后再完成4位串行加法器。用算术赋值语句实现8位加法器在Verilog语言中,使用算术赋值语句和向量来执行运算,大大降低代码的复杂度,提咼运行效率。设计8位能进行补码加减运算的ALU利用书上参考的逻辑图,调用系统内部已有的8位加法器模板。实验的测试序列或验证方法测试序列:选取几组具有代表性的序列进行时序仿真,见后续的测试代码实验过程(验收实验的过程)1•实验4位串行加法器的设计:Verilog代码实现:moduleadd4(a,b,cin,s,cout);input[3:0]a;input[3:0]b;inputcin;output[3:0]s;outputcout;wire[3:0]temp;add_fulli0(a[0],b[0],cin,s[0],temp[0]);add_fulli1(a[1],b[1],temp[0],s[1],temp[1]);add_fulli2(a[2],b[2],temp[1],s[2],temp[2]);add_fulli3(a[3],b[3],temp[2],s[3],temp[3]);assigncout=temp[3];endmodulemoduleadd_full(inputa,inputb,inputci,outputs,outputco);assigns=aAbAci;assignco=(a&b)|((a|b)&ci);endmodule2•编写测试代码:a[0]=1'b0;a[1]=1'b0;a[2]=1'b0;a[3]=1'b0;b[0]=1'b0;b[1]=1'b0;b[2]=1'b0;b[3]=1'b0;cin=1'b0;#10;a[0]=1'b1;a[1]=1'b1;a[2]=1'b0;a[3]=1'b0;b[0]=1'b0;b[1]=1'b1;b[2]=1'b0;b[3]=1'b0;cin=1'b0;#10;a[0]=1'b1;a[1]=1'b0;a[2]=1'b0;a[3]=1'b1;b[0]=1'b1;b[1]=1'b0;b[2]=1'b1;b[3]=1'b0;cin=1'b0;#10;a[0]=1'b0;a[1]=1'b1;a[2]=1'b1;a[3]=1'b0;b[0]=1'b1;b[1]=1'b0;b[2]=1'b1;b[3]=1'b0;cin=1'b0;#10;a[0]=1'b1;a[1]=1'b0;a[2]=1'b0;a[3]=1'b1;b[0]=1'b1;b[1]=1'b1;b[2]=1'b1;b[3]=1'b0;cin=1'b1;#10;a[0]=1'b1;a[1]=1'b1;a[2]=1'b1;a[3]=1'b1;b[0]=1'b0;b[1]=1'b0;b[2]=1'b1;b[3]=1'b0;
cin=1'b1;#10;a[0]=1'b1;a[1]=1'b0;a[2]=1'b0;a[3]=1'b1;b[0]=1'b0;b[1]=1'b1;b[2]=1'b1;b[3]=1'b1;cin=1'b1;#10;3•仿真测试结果galWave-Default2.用算术赋值语句实现8位加法器Verilog代码modulewoadd(iSW,X,cin,cout,S,overflow,zero);input[7:0]iSW,X;inputcin;output[7:0]S;outputcout,overflow,zero;wireC;assign{cout,S}二cin+iSW+X;assignC=X[7「iSW[7厂S[7];assignoverflow二cout"C;assignzero二S[0]|S[l]|S[2]|S[3]|S[4]|S[5]|S[6]|S[7];endmodule测试和仿真结果3.设计8位能进行补码加减运算的ALU实验电路图:3.设计8位能进行补码加减运算的ALU实验电路图:实验测试和仿真效果:实验结果1•用Verilog代码成功实现了一个4位串行进位的加法器2•用算术赋值语句成功实现了一个8位串行加法器3•设计了一个能进行补码加减运算的8位ALU,根据控制端完成加,减和判断是否为0等运算。实验中遇到的问题及解决方案开发板的引脚数数目不够32位数运算解决方案:实验中将32位的输入改成了8位输入,成功解决了此项技术瓶颈一开始不清楚何谓门级描述语言,后来上网查询资料才知道,就是用Verilog语言中的~异或,&与门,|或门等逻辑描述语句来实现九 实验的启示/意见和建议更加熟练学会使用在module中套用另外一个module,从而减少verilog语言的复杂度。学会灵活地将问题分化分几个小问题来实现。门级描述语言的含义,如上已经介绍。模板A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国可拆式合页行业投资前景及策略咨询研究报告
- 2025至2031年中国ATM配件行业投资前景及策略咨询研究报告
- 会计稽核在医院财务管理中的重要意义研究
- 中小学美术特岗教师的教职适应现状及其影响因素研究
- 《三维游戏建模项目式教材》 课件 项目1.1-游戏场景模型设计
- 裙裾拼音教学工作总结
- 2025年烯唑醇项目发展计划
- 《变幻无穷的形象》游戏课件
- 二零二五年度外墙施工项目变更及索赔协议
- 医药及医疗器材专门零售企业ESG实践与创新战略研究报告
- 产品备案合同范例
- 2024-2025学年小学三年级第二学期心理健康教育计划
- 2024-2025学年全国版图知识竞赛考试题库 (含答案)
- 户外广告制作安装合同模板
- 厂房改公寓出租合同范例
- 2025年呼伦贝尔职业技术学院单招职业适应性测试题库及参考答案
- 污水处理厂SBR工艺的设计说明
- 城市轨道交通行车组织 课件 项目二任务六 车站行车组织作业
- 关于纳粹德国元首希特勒的历史资料课件
- (正式版)SHT 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范
- 统编版五年级语文下册第二单元快乐读书吧:读古典名著品百味人生教案
评论
0/150
提交评论