基于10位的移位相加乘法器的设计.doc
《基于10位的移位相加乘法器的设计.doc》由会员分享,可在线阅读,更多相关《基于10位的移位相加乘法器的设计.doc(10页珍藏版)》请在沃文网上搜索。
1、玉林师范学院本科生课程设计论文基于10位的移位相加乘法器的设计院 系电子与通信工程学院专 业通信工程学 生 班 级通信111班姓 名学 号201108402132指导教师单位电子与通信工程学院指导教师姓名陈宇宁 2014年6月22日基于10位的移位相加乘法器设计1. 设置要求:设计一个10位的移位相加乘法器。要求作出功能和时序仿真。2. 设置原理:移位相加乘法器将乘法变为加法实现,乘法通过逐次移位相加实现,每次判断乘数的最低位,若为1则将被乘数移位相加,若为0左移后以全零相加直至被乘数的最高位。为了实现NxN乘法,需要一个2N位的左移寄存器,一个N位的右移寄存器,一个2N位加法器,再加少量的控
2、制逻辑即可实现。一、 新建工程:1.设置电路原理图如下:上图共包括5个子模块,shiftA,shiftB模块分别实现操作数A和B的移位,sum模块实现P+A,reg16模块存储结果,multshift_cntrl模块式控制逻辑,完成状态间的转移,并控制其他模块。2. 设置参数如下: shiftA模块源代码:module shiftA(R,L,E,CLK,Q);input 9:0 R;input L,E,CLK;output reg 19:0 Q;integer K;wire 19:0 R20;assign R20=101b0,R;always (posedge CLK)beginif(L) Q
3、=R20;else if(E) begin Q0=1b0;for (K=1;K20;K=K+1) QK=QK-1; endendendmodule shiftB模块源代码:module shiftB(R,L,E,CLK,Q0,Z);input 9:0 R;input L,E,CLK;output Q0;output Z;reg 9:0 Q;integer K;always (posedge CLK)beginif(L) Q0;K=K-1) QK-1=QK; Q9=1b0; endendassign Z=(Q=0);assign Q0=Q0;endmodule SUM模块源代码:module S
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 10 移位 相加 乘法器 设计