1 / 10
文档名称:

实验二加减法运算器的设计实验报告.docx

格式:docx   大小:112KB   页数:10页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验二加减法运算器的设计实验报告.docx

上传人:今晚不太方便 2017/7/14 文件大小:112 KB

下载得到文件列表

实验二加减法运算器的设计实验报告.docx

文档介绍

文档介绍:加减法运算器的设计实验报告
实验二加减法运算器的设计
一、实验目的
1、理解加减法运算器的原理图设计方法
2、掌握加减法运算器的VERILOG语言描述方法
3、理解超前进位算法的基本原理
4、掌握基于模块的多位加减运算器的层次化设计方法
5、掌握溢出检测方法和标志线的生成技术
6、掌握加减运算器的宏模块设计方法
二、实验任务
用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。模块的端口描述如下:
module lab2_RippleCarry 宽度可定制(默认为4位)的行波进位有符号数的加减法器。
#(parameter WIDTH=4)
( input signed [WIDTH-1:0] dataa,
input signed [WIDTH-1:0] datab,
input add_sub, // if this is 1, add; else subtract
input clk,
lr,
input carry_in, //1 表示有进位或借位
output overflow,
output carry_out,
output reg [WIDTH-1:0] result
)
修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。模块的端口描述如下:
module lab2_LookaheadCarry // 4位超前进位无符号加法器
(
input [3:0] a,
input [3:0] b,
input c0, //carry_in
input clk,
lr,
output reg carry_out,
output reg [3:0]sum
);
在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器
,组内超前进位,组间行波进位。
用宏模块的方法实现一个32位加减运算器。
三、实验内容
1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。模块的端口描述如下:
1)lr(sw16)设为1[无效],将控制加减的信号add_sub(sw17)设为1[加法],将输入信号dataa(sw3~sw0)和输入信号datab(sw7~sw4)设为几组不同的值,观察输出信号result(ledr3~ledr0),输出信号overflow(ledg[6]),和输出信号carry_out(ledr[7])观察并记录输出;
2)lr(sw16)设为0[有效],将原来的数据清除,观察并记录输出,可以验证清零是否有效;
3)lr(sw16)设为1[无效],将控制加减的信号add_sub(sw17)设为0[减法],将输入信号dataa(sw3~sw0)和datab(sw7~sw4)设为几组不同的值,观察输出信号result(ledr3~ledr0),输出信号overflow(ledg[6]),和输出信号carry_out(ledr[7])观察并记录输出,观察并记录输出。
4)在时钟信号处输入一个上升沿(按下key0),观察并记录输出。
2、超前进位无符号加法算法器并封装成模块
1)lr(sw17)设为