1 Star 0 Fork 0

voiue/FPU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
finv.v 1.52 KB
一键复制 编辑 原始数据 按行查看 历史
YutaPic 提交于 2020-11-14 18:06 . Update and rename finv2.v to finv.v
`timescale 1ns / 100ps
`default_nettype none
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2020/10/26 22:22:15
// Design Name:
// Module Name: finv
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module finv(
input wire clk,
input wire [31:0] a,
output wire [31:0] b
);
wire s0 = a[31];
wire [7:0] e0 = a[30:23];
wire [9:0] am0 = a[22:13];
wire [12:0] al0 = a[12:0];
wire [22:0] c1;
wire [12:0] g1;
reg [22:0] c2;
reg [12:0] g2;
reg [12:0] al1;
wire [34:0] ag;
//reg [23:0] ags;
reg [7:0] e1, e2;
reg s1, s2;
//wire [7:0] e;
wire [22:0] m;
(* ram_style = "block" *) finv_const_table u1 (clk, am0, c1);
(* ram_style = "block" *) finv_grad_table u2 (clk, am0, g1);
initial begin
al1 <= 0;
//c2 <= 0;
e1 <= 0;
//e2 <= 0;
s1 <= 0;
//s2 <= 0;
//ags <= 0;
end
always @(posedge clk) begin
e1 <= e0;
s1 <= s0;
al1 <= al0;
//ags <= ag >> 12;
//c2 <= c1;
//e2 <= e1;
//s2 <= s1;
end
assign ag = al1 * g1;
wire [23:0] ags = ag >> 12;
assign m = c1 - ags;
assign b = {s1, e1, m};
endmodule
`default_nettype wire
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/voiue/FPU.git
git@gitee.com:voiue/FPU.git
voiue
FPU
FPU
main

搜索帮助