一,内容介绍
除法器是数字电路中的基础电路之一,也是CPU计算单元的核心功能之一。下面我们用verilog实现三种常用的除法器。
目前:Verilog实现恢复余数(restoring)除法器
Verilog实现不恢复余数(non-restoring)除法器
Verilog实现牛顿迭代法除法器
verilog实现不恢复余数(non-restoring)除法器之单时钟周期改进版
二,恢复余数(restoring)除法器实现
module RS_DIV #(parameter WIDTH = 32)
(
input clk_i,
input rst_i,
input data_valid_i,
input [WIDTH-1:0] dividend_i,
input [WIDTH-1:0] divisor_i,
output reg qr_valid_o,
output reg [WIDTH-1:0] quotient_o,
output reg [WIDTH-1:0] remainder_o
);
reg [2*WIDTH :0] remainder [WIDTH-1:0];
reg [2*WIDTH-1:0] divisor [WIDTH-1:0];
reg [ WIDTH-1:0] quotient [WIDTH-1:0];
reg dat_valid [WIDTH-1:0];
genvar m;
//get valid input data
always @ (posedge clk_i or posedge rst_i) begin
if (rst_i) begin
remainder[0] <= {
2*WIDTH+1

本文介绍了数字电路中的基础——除法器,特别是重点探讨了使用Verilog实现恢复余数除法器的过程,包括其在CPU计算单元中的重要性,以及为何采用多周期实现以节省资源。
最低0.47元/天 解锁文章
5249

被折叠的 条评论
为什么被折叠?



