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

📄 divider.v

📁 移位快速除法器
💻 V
字号:
`timescale 1ns/100psmodule divider (remainder,                divider_finish,                clk,                rst,                start_div,                dividened,                divisor                );    input clk;  input rst;  input start_div;  input [31:0] dividened;  input [31:0] divisor;    output [31:0] remainder;  output  divider_finish;    reg [5:0] counter;  reg [31:0] p;  //Store the divisor  reg [31:0] remainder;  reg [31:0] remainder_low;  reg        divider_finish;  reg  [1:0]  flag;     always@(posedge clk or negedge rst)    if(~rst) begin        counter <= 6'b0;        remainder <= 32'b0;        remainder_low <= 32'b0;        p <= 32'b0;        flag <= 2'b00;        end    else if(start_div)  //check if counter begin to count down                     //in the same period with start         begin             counter <= 6'd32;          remainder <= 32'b0;          remainder_low <= dividened;                  p <= divisor;                flag <= 2'b01;   //          divider_finish <=0;       end              else if(counter!=0) begin              remainder_low <= remainder_low<<1;                      if({remainder[30:0],remainder_low[31]} >=p)                   remainder <= {remainder[31:0],remainder_low[31]}-p;              else                 remainder <= {remainder[31:0],remainder_low[31]};              counter <= counter-1;           end           else if(flag==2'b01)begin                  divider_finish <= 1;                  flag <= flag+1;                end                else begin                   flag <= 2'b00;                   divider_finish <= 0;                 end                                                      /*always@(posedge clk or negedge rst)   if(!rst) begin        divider_finish <= 0;     end        else if (flag==2'b10)           divider_finish <= 1;        else divider_finish <= 0; */ endmodule         

⌨️ 快捷键说明

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