前言:除法器设计实现代码比较简单,需要的是大家要理解原理,我也是看了很多的教程,自己观看了其他作者的代码,然后自己写出的简易代码,供大家参考验证代码。
1.程序代码段
module FPGA_division
(
input wire [15:0] a ,
input wire [7:0] b,
output wire [15:0] result,
output wire [15:0] rmd
);
/************** Dparameter and internal signal define ********************/
/************** Wire and reg define ********************/
reg [31:0] reg_a ;
reg [31:0] reg_b ;
reg [15:0] temp_r ;
integer i ;
/************** Main code ********************/
always@(*)begin
reg_a = {16'd0,a} ;
reg_b = {b,16'd0} ;
temp_r= 0 ;
for(i = 0 ; i<16; i = i + 1)
begin
reg_a = reg_a <<1 ;
temp_r = temp_r <<1 ;
if(reg_a >= reg_b)
begin
reg_a = reg_a - reg_b ;
temp_r[0] = 1 ;