实验二加减法运算器的设计实验概述.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
加减法运算器的设计实验报告 实验二 加减法运算器的设计 一、实验目的 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, input cclr, 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, input cclr, output reg carry_out, output reg [3:0]sum ); 在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。 用宏模块的方法实现一个32位加减运算器。 三、实验内容 1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。模块的端口描述如下: 1)将清零信号cclr(sw16)设为1[无效],将控制加减的信号add_sub(sw17)设为1[加法],将输入信号dataa(sw3~sw0)和输入信号datab(sw7~sw4)设为几组不同的值,观察输出信号result(ledr3~ledr0),输出信号overflow(ledg[6]),和输出信号carry_out(ledr[7])观察并记录输出; 2)将清零信号cclr(sw16)设为0[有效],将原来的数据清除,观察并记录输出,可以验证清零是否有效; 3)再将清零信号cclr(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)将清零信号cclr(sw17)设为1[无效],将输入信号a(sw3~sw0)和b(sw7~sw4)和c0(sw15)设为几组不同的值,观察输出信号sum(ledg[3]~ledg[0])和carry_out(ledg7),观察并记录输出; 2)将清零信号cclr(sw17)设为0[有效],观察是否可以清零,验证清零是否有效,观察并记录输出。 3、用基于模块2的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。 1)调用一个32计数器模块并封装,引用两个该计数器,分别给的加数和被加数输入,将低位来的进位c0(sw0)设为0,加法器清零信号cclr(sw[17])设为0[无效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复位信号reset1(sw[0])设为0[无效],观察并记录观察结果; 2)在1)的基础上,将低位来的进位c0(sw0)设为1,加法器清零信号cclr(sw[17])设为0[无效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复位信号reset1(sw[0])设为0[无效],观察并记录观察结果; 3)在1)的基础上,将低位来的进位c0(sw0)设为0,加法器清零信号cclr(sw[17])设为1[有效],计数器的使能控制端enable(sw15)设为 1[有效],计数器的复

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档