📄 booth_multiplier.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 + -