shift_mult.v

来自「基于FPGA实现移位乘法功能」· Verilog 代码 · 共 33 行

V
33
字号
module shift_mult(clk,Enable,a,p);
  parameter size=32;
  input clk;
  input Enable;
  input [size:1]a;
  output [2*size:1]p;
  reg [2*size:1]p,tempa,temp;
  reg [27:1]tempb;
  integer i;

  always@(posedge clk)
  if(!Enable)
    begin
      if(i==(size+1))
        begin
          p<=temp;
          i<=1;
          tempa<=a;
          tempb<=100000000;
          temp<=0;
        end
      else if(i<=size)
             begin
               if(tempb[1]) temp<=temp+tempa;
               tempa<=tempa<<1;
               tempb<=tempb>>1;
               i<=i+1;
             end
    end
  else p<=0;

endmodule

⌨️ 快捷键说明

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