基于Verilog多位加法器与乘法器设计实现.pdfVIP

基于Verilog多位加法器与乘法器设计实现.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

模块add_4(X,Y,sum,

C);输入[3:0]X,Y;输出

[3:0]sum;输出C;

赋值{C,和输出}=输入变量X+输入变量Y;

endmodule

而16位加法器只需增加位数即可,如下例所示:

模块add_16(X,Y,sum,

C);输入[15:0]X,Y;输出

[15:0]sum;输出进位输出;

assign{C,和输出}=输入变量X+输入变量

Y;

模块结束

快速乘法器常采用网格形式的迭代阵列结构,图10.3示出两个四位二进制数相乘的结构图,//用

Verilog硬件描述语言来描述乘法器是相当容易的,只需要把运算表达式写出就可以了,见下例。

模块mult_4(X,Y,乘积输出);

输入[3:0]输入变量X,输入

变量Y;输出[7:0]乘积输出;

赋值乘积输出=输入变量X*输入变量

Y;

模块结束

//而8位乘法器只需要扩大位数即可,见下例:

modulemult_8(X,Y,Product);input[7:

0]X,Y;output[15:0]Product;assign

ProductX*Y;endmodule

moduleadd_4(X,Y,sum,C);

input[3:0]X,Y;

output[3:0]sum;

outputC;

assign{C,Sum}X+Y;

endmodule

//而16位加法器只需要扩大位数即可,见下例:

moduleadd_16(X,Y,sum,C);

input[15:0]X,Y;

output[15:0]sum;

outputC;

assign{C,Sum}X+Y;

endmodule

快速乘法器常采用网格形式的迭带阵列结构,图10.3示出两个四位二进制数相乘的结构图,

//用VerilogHDL来描述乘法器是相当容易的,只需要把运算表达式写出就可以了,见下例。

modulemult_4(X,Y,Product);

input[3:0]X,Y;

output[7:0]Product;

assignProductX*Y;

endmodule

//而8位乘法器只需要扩大位数即可,见下例:

modulemult_8(X,Y,Product);

input[7:0]X,Y;

output[15:0]Product;

assignProductX*Y;

endmodule

//下面就是一个位数可以由用户定义的比较电路模块:

_

模块comparen(X,Y,XGY,XSY,

XEY);输入[width‑1:0]X,Y;输出

XGY,XSY,XEY;寄存器XGY,XSY,

XEY;参数width=8;

always@(X或Y)//每当X或Y变化时beginif(X=Y)XEY1;//

设置X等于Y的信号为1否则XEY0;if(XY)XGY1;//设置X大

于Y的信号为1否则XGY0;if(XY)XSY1;//设置X小于Y的信

号为1否则XSY0;end模块结束

//下面就是带使能控制信号(nCS)的数据位宽可以由用户定义的(8位)八路数据通道选择器

模块:

模块Mux_8(地址信号,输入1,输入2,输入3,输入4,输入5,输

入6,输入7,输入8,输出,使能控制信号);输入[2:0]地址信号;

输入[位宽‑1:0]输入1,输入2,输入3,输入4,输入5,输入6,输入

7,输入8;输入使能控制信号;输出[位宽‑1:0]输出;参数位宽

=8;

always@(地址信号or输入1or输入2or输入3or输入4or输入5

or输入6or

文档评论(0)

daluobu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档