研究了半天特权同学的16位乘法器的移位累加部分的代码,始终没有搞清楚其中的原理。希望特权同学能对该段代码给出一个详细的分析,举例说明每一步具体是怎样移位并累加的。 本人个人认为:两个二进制数之间相乘,就是用乘数从最低位开始,每一位依次去和被乘数相乘,最终再将每一次所得的乘积相加,这样就得到了最终的乘积。但要注意的是,和十进制数的乘法类似,用乘数的某一位去和被乘数相乘时所得到的结果的最低位必须与该乘数所在位对齐,即每一步所得到的乘积应该依次左移移位,呈阶梯状排列。 基于以上分析,本人对特权同学的移位累加部分的代码作了相应的改进:if(i=0) begin /锁存乘数、被乘数 areg = ain; breg 5d0 & i 5d17) if(aregi-1) yout_r = yout_r+(16h0000,breg(i-1);关键语句为红色标示那
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。