⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booth_multiplier.v

📁 Booth multiplier written in verilog
💻 V
字号:
`include "parameters.h"module booth_multiplier ( Result , Xin, Yin );input [`X_WIDTH - 1 :0 ] Xin;input [`Y_WIDTH - 1 :0 ] Yin;output [`X_WIDTH + `Y_WIDTH - 1 : 0] Result;reg [`X_WIDTH + `Y_WIDTH - 1 : 0] Result;integer i;reg [`Y_WIDTH : 0] Yin_int;reg [`X_WIDTH + `Y_WIDTH - 1 : 0] Mul = 24'b0;// assign Yin_int = { Yin , 1'b0 } ;always @ ( Xin or Yin) beginYin_int = { Yin , 1'b0 } ;$display( "I M here 1" ) ;for ( i =  `Y_WIDTH ; i >= 2 ; i = i - 2 ) begin Mul = Mul << 1 ;$display( "I M here 2" ) ;     $display( "Value of Yin_int = %h", Yin_int ) ;       case (Yin_int[`Y_WIDTH : `Y_WIDTH -2])             0 | 7 : begin 		     Mul = Mul ;		     $display( "I M here 3" ) ;		     end             1 | 2 : begin		     Mul = Mul + Xin ;		     $display( "I M here 4" ) ;		     end             3     : begin			Mul = Mul + {Xin, 1'b0} ;		     $display( "I M here 5" ) ;		     end             4     : begin 			Mul = Mul + {((~Xin) + 1), 1'b0} ;		     $display( "I M here 6" ) ;		     end			             5 | 6 : begin 			Mul = Mul + (~Xin) + 1 ;		     $display( "I M here 7" ) ;		     end       endcaseYin_int = Yin_int << 3;endResult = Mul ; end endmodule 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -