文档详情

改进Booth位乘法器.doc

发布:2017-02-12约8.58千字共9页下载文档
文本预览下载声明
改进Booth4位乘法器(verilog)(1)?? 原理本质还是Booth算法,也就是重新编码以后,来决定操作(移位或者加法运算).不过这次用的是牧猫同学介绍的改良Booth编码本,后来经过比较官方的定义应该叫”比特对编码”.只不过一次对乘数检测三个位,并生成一个两位代码来决定操作方式1)被乘数相加,2)移一位后相加/相减再移位3)仅仅移位运算…汗…截取百科里面的资料来说明吧. 判断位yi-1yiyi+1???????? 操作内容   000  ??????????????????????  [zi+1]补=2-2[zi]补   001   ?????????????????????? [zi+1]补=2-2{[zi]补+[x]补}   010   ?????????????????????? [zi+1]补=2-2{[zi]补+[x]补}   011   ?????????????????????? [zi+1]补=2-2{[zi]补+2[x]补}   100   ?????????????????????? [zi+1]补=2-2{[zi]补+2[-x]补}   101   ?????????????????????? [zi+1]补=2-2{[zi]补+ [-x]补}   110   ?????????????????????? [zi+1]补=2-2{[zi]补+-x}补}   111   ?????????????????????? [zi+1]补=2-2[zi]补 由上表可见,操作中出现加2[x]补和加2[-x]补,故除右移两位的操作外,还有被乘数左移一位的操作;而加2[x]补和加2[-x]补,都可能因溢出而侵占双符号位,故部分积和被乘数采用三位符号位. 简化下来可以这么看 算法是比较简单的,这次笔记的重点在于体验一下数据通路控制器设计的思路.所以,仅仅是描写4位乘法器,当然,改良版的Booth算法的优点在4位运算中并不明显,仅仅是减少了2次加法运算,然而n位数愈多,就会发现,加法运算的次数减少了n/2. 虽然这么简单,但是划分成了数据通道和控制器的确便于系统结构清晰,下图就是这次乘法器综合后结构.控制单元组织,协调和同步数据通道单元的操作,状态及控制单元产生装载,读取,移动存储内容的信号. 写乘法器的草稿之一如下图 首先,当然是研究Booth算法了,然后就是那一组数举例,对着每一次运算分析,理解算法每一步骤原因,再后就是画状态图,确定每一步的作用.然后就是写了…不过,这次写的时候,懂哥觉得难以平衡multiplier和multiplicant的移位和运算,于是参考了西里提书上的一个思路,就是在处理时序乘法器处理011(或者100)情况时,十分精巧地将被乘数移一位后和乘积相加,然后再移动一位,在这些动作之后,位置指针都同时到了下一位Yi中当两次移位后,正确地移到了运算结束后的位置. 丢状态图(真的就将就了嘛….word不好使) 然后丢程序 module mul(clk, ?????????????????????????????? res_n, ?????????????????????????????? start, ?????????????????????????????? mul1, ?????????????????????????????? mul2, ?????????????????????????????? ready, ?????????????????????????????? product); parameter width=3d4; input clk,res_n; input start;//signal to begin operate input [width-1:0]mul1,mul2;//multiplier multiplicant output ready;//signal to end operate output [2*width-1:0]product; wire [2:0]Yi; wire shift_2,shift_1,add,sub,load; controller m1(clk,res_n,start,Yi,shift_1,shift_2,add,sub,load,ready); datapath m2(clk,res_n,mul1,mul2,load,shift_1,shift_2,add,sub,Yi,product); endmodule 改进Booth4位乘法器(Verilog)(2)?? module controller(clk, ???????????????????????????????????????????
显示全部
相似文档