# 之除法电路模块

```reg [2*DW-1:0] mean_temp;
reg [2*DW-1:0] mean_temp1;
reg [2*DW-1:0] mean_temp2;
reg [2*DW-1:0] mean_temp3;
reg [2*DW-1:0] mean_temp4;
reg [2*DW-1:0] mean_temp5;
reg [2*DW-1:0] mean_temp6;
reg [2*DW-1:0] mean_temp7;
reg [2*DW-1:0] mean_temp8;
wire [DW-1:0] mean_temp9;
wire [DW+3-1:0] mean_temp10;
wire [2*DW+6-1:0] mean_temp11;
wire [2*DW-1:0] mean_out_temp;
generate
if(KSZ==5)
begin : divide_25
always @(posedge clk or negedge rst_n)
if(!rst_n)
begin
mean_temp <= {2*DW-1+1{1'b0}};
mean_temp1 <= {2*DW-1+1{1'b0}};
mean_temp2 <= {2*DW+1{1'b0}};
mean_temp3 <= {2*DW+5-1+1{1'b0}};
mean_temp4 <= {2*DW+6-1+1{1'b0}};
mean_temp5 <= {2*DW+1-1+1{1'b0}};
mean_temp6 <= {2*DW+6-1+1{1'b0}};
end
else
begin
//将二维求和结果缓存到mean_temp
if(sum_dout_valid[3])
mean_temp <= sum_dout_r[2];
//下一拍计算
if(sum_dout_valid[4])
begin
//计算mean_temp (2^-6+2^-7)
mean_temp1 <= ({6'b000000,mean_temp[2*DW-1:6]})+({7'b0000000,mean_temp[2*DW-1:7]});
//计算mean_temp (2^-3+2^-4)
mean_temp2 <= ({4'b0000,mean_temp[2*DW-1:4]})+({5'b00000,mean_temp[2*DW-1:5]});
//计算mean_temp (2^-1+2^-2)
mean_temp3 <= ({1'b0,mean_temp[2*DW-1:1]})+({2'b00,mean_temp[2*DW-1:2]});
//计算mean_temp (2^3+2^5)
mean_temp4 <= ({mean_temp[2*DW-4:0]},3'b000)+({mean_temp[2*DW-6:0]},5'b00000);
end
//下一排计算上一排的中间结果
if(sum_dout_valid[5])
begin
mean_temp5 <= mean_temp1 + mean_temp2;
mean_temp6 <= mean_temp3 + mean_temp4;
end
//下一排计算上一排的中间结果
if(sum_dout_valid[6])
mean_temp7<= mean_temp6 + mean_temp7;
end
end
endgenerate
//求和结果除以1024的结果
assign mean_temp8 = (sum_is_broarder_r[6]==1'b0)?(mean_temp7>>10):(2*DW{1'b0});
//四舍五入操作
assign mean_temp9 = (mean_temp[7] == 1'b1) ? (mean_temp8[DW-1:0]+1'b1):mean_temp8[DW-1:0];
//对输出结果保存三位小数‘
assign mean_temp11 = (sum_is_broarder_r[6]==1'b0) ? (mean_temp7>>7) : {2*DW-1-1{1'b0}};
assign mean_temp10 = (mean_temp11[DW+3-1:0] + 1'b1)```

0 条评论

• ### BP神经网络

BP(Back Propagation)神经网络是1986年由以Rumelhart和McCelland为首的科学家小组提出的，是一种按误差逆传播算法训练的多层前...

• ### AXI Central DMA

Programming工作模式： 1.首先验证CDMASR.IDLE=1（开始写） 2.如果传输完成，则产生CDMACR.IOC_IrqEn中断请求，否则产生错...

• ### 蜂鸟E203系列——Linux调试（GDB+Openocd）

GDB（GNU Project Debugger），是 GNU 工具链中的调试软件。GDB 是一款应用非常广泛的调试工具，能够用于调试 C、 C++、 Ada ...

• ### 绘制带误差bar的统计图

df<-ToothGrowth #这里用的是R自带数据Toothgrowth

• ### 本体节点现已登陆Libra协会创始成员Bison Trails的基础设施平台

近日，本体北斗节点基础设施已集成至专注于 IaaS （Infrastructure as a Service）服务的 Bison Trails 平台。这一战略性...

• ### SQL Server 验证身份证合法性函数（使用VBScript.RegExp）

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.csdn.n...

• ### 西电OJ题解-21(C语言)：数位输出

本专栏为西安电子科技大学C语言课程题库的题解，题目及其部分解题思路由好兄弟梁忠鑫提供，学长在此只是修改完善。请各位支持原创，目前仅在CSDN发布。

• ### This License XXX has been cancelled（Mac环境）

1.打开Finder，按快捷键组合 Shift+Command+G 查找文件，输入/etc/hosts,确认前往

• ### 海盗分赃难题

船上有十个海盗，有一天，他们抢到了一箱100斤的黄金，打算分赃（以斤为最小单位）。十个海盗从高到低分为10个等级，分配权在最高等级的海盗手里。他可以任意分配每个...