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

📄 mul16.v

📁 verilog实例100多个
💻 V
字号:
module mult16(clk,resetb,start,done,ain,bin,yout);
parameter N=16;
input             clk;
input             resetb;
input             start;
input  [N-1:0]    ain;
input  [N-1:0]    bin;
output [2*N-1:0]  yout;
output            done;
reg    [2*N-1:0]  a;
reg    [N-1:0]    b;
reg    [2*N-1:0]  yout;
reg               done;

always@(posedge clk or negedge resetb)
      begin
         if(~resetb)
            begin
              a<=0;
              b<=0;
              yout<=0;
              done<=1'b1;
             end
             
         else
             begin
                if(start)
                     begin
                       a<=ain;
                       b<=bin;
                       yout<=0;
                       done<=0;
                     end
                  
                else
                     begin
                       if(~done)
                           begin
                           if(b!=0)
                             begin
                             if(b[0])yout<=yout+a;
                                b<=b>>1;
                                a<=a<<1;
                             end
                        
                           else
                           done<=1'b1;
                           end
                     end
             end
       end
endmodule
                
                        
                
              

⌨️ 快捷键说明

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