计算机组成原理实验_加减法运算器设计

计算机组成原理实验_加减法运算器设计

ID:19173659

大小:25.17 KB

页数:7页

时间:2018-09-29

计算机组成原理实验_加减法运算器设计_第1页
计算机组成原理实验_加减法运算器设计_第2页
计算机组成原理实验_加减法运算器设计_第3页
计算机组成原理实验_加减法运算器设计_第4页
计算机组成原理实验_加减法运算器设计_第5页
资源描述:

《计算机组成原理实验_加减法运算器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机组成原理与汇编语言实验报告实验二:加减法运算器的设计与实现专业班级:xxxxxxxxxx学号:xxxxxxx姓名:xxx学号:xxxxxxx姓名:xxx实验地点:实验时间:实验二加减法运算器的设计一、实验目的1、理解加减法运算器的原理图设计方法2、掌握加减法运算器的VERILOG语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验任务1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志

2、,并封装成模块。模块的端口描述如下:modulelab2_RippleCarry宽度可定制(默认为4位)的行波进位有符号数的加减法器。#(parameterWIDTH=4)(inputsigned[WIDTH-1:0]dataa,inputsigned[WIDTH-1:0]datab,inputadd_sub,//ifthisis1,add;elsesubtractinputclk,inputcclr,inputcarry_in,//1表示有进位或借位outputoverflow,outputcarry_out,outputreg[W

3、IDTH-1:0]result)2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。模块的端口描述如下:modulelab2_LookaheadCarry//4位超前进位无符号加法器(input[3:0]a,input[3:0]b,inputc0,//carry_ininputclk,inputcclr,outputregcarry_out,outputreg[3:0]sum);1、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。2、用宏模块的方

4、法实现一个8位加减运算器。三、实验步骤1编写VERILOG代码2功能仿真进行分析与综合,排除语法上的错误建立波形仿真文件,输入激励生成功能仿真网表进行功能仿真,观察输出结果3选择器件DE2_70开发板的使用者请选择EP2C70F896C64绑定管脚5下载验证DE2_70开发板的下载:使用USB-Blaster进行下载四、实验内容任务一:modulelab2_RippleCarry#(parameterWIDTH=4)(inputsigned[WIDTH-1:0]dataa,inputsigned[WIDTH-1:0]datab,inp

5、utadd_sub,//ifthisis1,add;elsesubtractinputclk,inputcclr,inputcarry_in,outputoverflow,outputcarry_out,outputreg[WIDTH-1:0]result);//内部变量wire[WIDTH:0]dataa_temp;wire[WIDTH:0]datab_temp;reg[WIDTH:0]ci_temp;reg[WIDTH:0]result_temp;regcarry_in_temp;integeri;integertemp;assi

6、gndataa_temp[WIDTH:0]={dataa[WIDTH-1],dataa[WIDTH-1:0]};//扩展aassigndatab_temp[WIDTH:0]=(add_sub==1)?{datab[WIDTH-1],datab[WIDTH-1:0]}:~{datab[WIDTH-1],datab[WIDTH-1:0]};//扩展bassignoverflow=(result_temp[WIDTH]^result_temp[WIDTH-1])==1?1'b1:1'b0;assigncarry_out=ci_temp[WI

7、DTH];always@(dataa_tempordatab_temporcarry_in)begincarry_in_temp=(add_sub==1)?{carry_in}:~{carry_in};ci_temp[0]=carry_in_temp;temp=carry_in_temp;result_temp[0]=dataa_temp[0]^datab_temp[0]^ci_temp[0];for(i=0;i

8、emp

9、(dataa_temp[i]&datab_temp[i]);//行波进位result_temp[i+1]=dataa_temp[i+1]^datab_temp[i+1]^ci_temp[i+1];temp=ci_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。