收藏 分销(赏)

verilog实验四 乘法器.docx

上传人:pc****0 文档编号:7731869 上传时间:2025-01-14 格式:DOCX 页数:6 大小:396.13KB 下载积分:10 金币
下载 相关 举报
verilog实验四 乘法器.docx_第1页
第1页 / 共6页
verilog实验四 乘法器.docx_第2页
第2页 / 共6页


点击查看更多>>
资源描述
实验四 乘法器 一、实验任务 利用移位相加的原理设计并实现一个4 位的移位相加乘法器 二、实验器材 1、SOPC 实验箱 2、计算机(装有Quartus II 7.0 软件) 三、实验预习 1、预习乘法器的原理与结构。 2、书写预习报告,必须有完整的VHDL 设计程序及实验步骤。 四、实验原理 目前常用的硬件乘法器主要有移位相加乘法器和加法器树乘法器。下面以移位相加乘法 器的设计为例介绍它的原理。 首先,考虑下面两个4 位操作数的乘法,同我们在小学所学的竖式乘法形式相同。每行称为一个部分结果。由操作数通过一位一位相乘得到。例如:操作数a 的每一行乘上b,得到的部分结果为a3b0,a2b0,a1b0,a0b0,如图 所示。 a3 a2 a1 a0 ⅹ b3 b2 b1 b0 a3b0 a2b0 a1b0 a0b0 a3b1 a2b1 a1b1 a0b1 a3b2 a2b2 a1b2 a0b2 a3b3 a2b3 a1b3 a0b3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 其乘积按“手工计算”的方法给出是: å= = ´ = Y=A×B=k=03ak2kB 从中可以看出只要ak不等于0,输入B就随着k的位置连续地变化,然后累加B2k。如果ak等于0,相应的转换相加就可以忽略了。 移位相加乘法器就是按照这种方法,根据乘数的每一位是否为1进行计算,如果为1,就将被乘数移位相加。这种乘法器所用的硬件资源较少,但每个时钟周期内只能完成4位乘1位的运算,因此要完成4位乘4位的运算至少需要4个时钟周期。 五、实验内容 1、启动QuartusⅡ建立一个空白工程。 2、新建verilog源程序文件mult4.v,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 代码: module mult4b(r,a,b); parameter s=4; output[2*s:1] r; input [s:1]a,b; reg[2*s:1]r; integer i; always @(a or b) begin r=0; for (i=1;i<=s;i=i+1) if (b[i]) r=r+(a<<(i-1)); end endmodule 3、进行波形仿真。 11X10=110 3X4=12 5X5=25 运算均结果正确。 4、元器件仿真。 六、实验小结 1、在做实验前应该先充分理解实验原理,并根据原理编写语言。 2、编写语言时要在注意语法错误的同时注意逻辑错误。 3、实验波形中存在毛刺,是因为存在竞争冒险现象。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服