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

📄 cf_fp_mul_c_11_52.v

📁 verilog浮点乘发器
💻 V
📖 第 1 页 / 共 5 页
字号:
////  Copyright (c) 2003 Launchbird Design Systems, Inc.//  All rights reserved.//  //  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met://    Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.//    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.//  //  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,//  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.//  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,//  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;//  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT//  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.//  //  //  Overview://  //    Performs floating point multiply.//  //  Interface://  //  //  //    Inputs://      a_i : Left operand.//      b_i : Right operand.//  //    Outputs://      x_o : Result.//  //  Built In Parameters://  //    Exponent Precision = 11//    Mantissa Precision = 52//    Total    Precision = 64//  //  //  //  //  //  Generated by Confluence 0.6.3  --  Launchbird Design Systems, Inc.  --  www.launchbird.com//  //  Build Date : Fri Aug 22 09:47:15 CDT 2003//  //  Interface//  //    Build Name    : cf_fp_mul_c_11_52//    Clock Domains : //    Vector Input  : a_i(64)//    Vector Input  : b_i(64)//    Vector Output : x_o(64)//  //  //  `timescale 1 ns / 1 nsmodule cf_fp_mul_c_11_52 (a_i, b_i, x_o);input  [63:0] a_i;input  [63:0] b_i;output [63:0] x_o;wire   [63:0] n1;cf_fp_mul_c_11_52_1 s1 (a_i, b_i, n1);assign x_o = n1;endmodulemodule cf_fp_mul_c_11_52_1 (i1, i2, o1);input  [63:0] i1;input  [63:0] i2;output [63:0] o1;wire   n1;wire   [11:0] n2;wire   [11:0] n3;wire   [11:0] n4;wire   [104:0] n5;wire   [104:0] n6;wire   [104:0] n7;wire   [11:0] s8_1;wire   [102:0] s8_2;wire   [11:0] s9_1;wire   [52:0] s9_2;wire   [11:0] s10_1;wire   [103:0] s10_2;wire   [63:0] s11_1;wire   s12_1;wire   s12_2;wire   s12_3;wire   s12_4;wire   s12_5;wire   [11:0] s12_6;wire   [105:0] s12_7;assign n1 = s12_7[105];assign n2 = 12'b000000000001;assign n3 = s12_6 + n2;assign n4 = n1 ? n3 : s12_6;assign n5 = {s12_7[105],  s12_7[104],  s12_7[103],  s12_7[102],  s12_7[101],  s12_7[100],  s12_7[99],  s12_7[98],  s12_7[97],  s12_7[96],  s12_7[95],  s12_7[94],  s12_7[93],  s12_7[92],  s12_7[91],  s12_7[90],  s12_7[89],  s12_7[88],  s12_7[87],  s12_7[86],  s12_7[85],  s12_7[84],  s12_7[83],  s12_7[82],  s12_7[81],  s12_7[80],  s12_7[79],  s12_7[78],  s12_7[77],  s12_7[76],  s12_7[75],  s12_7[74],  s12_7[73],  s12_7[72],  s12_7[71],  s12_7[70],  s12_7[69],  s12_7[68],  s12_7[67],  s12_7[66],  s12_7[65],  s12_7[64],  s12_7[63],  s12_7[62],  s12_7[61],  s12_7[60],  s12_7[59],  s12_7[58],  s12_7[57],  s12_7[56],  s12_7[55],  s12_7[54],  s12_7[53],  s12_7[52],  s12_7[51],  s12_7[50],  s12_7[49],  s12_7[48],  s12_7[47],  s12_7[46],  s12_7[45],  s12_7[44],  s12_7[43],  s12_7[42],  s12_7[41],  s12_7[40],  s12_7[39],  s12_7[38],  s12_7[37],  s12_7[36],  s12_7[35],  s12_7[34],  s12_7[33],  s12_7[32],  s12_7[31],  s12_7[30],  s12_7[29],  s12_7[28],  s12_7[27],  s12_7[26],  s12_7[25],  s12_7[24],  s12_7[23],  s12_7[22],  s12_7[21],  s12_7[20],  s12_7[19],  s12_7[18],  s12_7[17],  s12_7[16],  s12_7[15],  s12_7[14],  s12_7[13],  s12_7[12],  s12_7[11],  s12_7[10],  s12_7[9],  s12_7[8],  s12_7[7],  s12_7[6],  s12_7[5],  s12_7[4],  s12_7[3],  s12_7[2],  s12_7[1]};assign n6 = {s12_7[104],  s12_7[103],  s12_7[102],  s12_7[101],  s12_7[100],  s12_7[99],  s12_7[98],  s12_7[97],  s12_7[96],  s12_7[95],  s12_7[94],  s12_7[93],  s12_7[92],  s12_7[91],  s12_7[90],  s12_7[89],  s12_7[88],  s12_7[87],  s12_7[86],  s12_7[85],  s12_7[84],  s12_7[83],  s12_7[82],  s12_7[81],  s12_7[80],  s12_7[79],  s12_7[78],  s12_7[77],  s12_7[76],  s12_7[75],  s12_7[74],  s12_7[73],  s12_7[72],  s12_7[71],  s12_7[70],  s12_7[69],  s12_7[68],  s12_7[67],  s12_7[66],  s12_7[65],  s12_7[64],  s12_7[63],  s12_7[62],  s12_7[61],  s12_7[60],  s12_7[59],  s12_7[58],  s12_7[57],  s12_7[56],  s12_7[55],  s12_7[54],  s12_7[53],  s12_7[52],  s12_7[51],  s12_7[50],  s12_7[49],  s12_7[48],  s12_7[47],  s12_7[46],  s12_7[45],  s12_7[44],  s12_7[43],  s12_7[42],  s12_7[41],  s12_7[40],  s12_7[39],  s12_7[38],  s12_7[37],  s12_7[36],  s12_7[35],  s12_7[34],  s12_7[33],  s12_7[32],  s12_7[31],  s12_7[30],  s12_7[29],  s12_7[28],  s12_7[27],  s12_7[26],  s12_7[25],  s12_7[24],  s12_7[23],  s12_7[22],  s12_7[21],  s12_7[20],  s12_7[19],  s12_7[18],  s12_7[17],  s12_7[16],  s12_7[15],  s12_7[14],  s12_7[13],  s12_7[12],  s12_7[11],  s12_7[10],  s12_7[9],  s12_7[8],  s12_7[7],  s12_7[6],  s12_7[5],  s12_7[4],  s12_7[3],  s12_7[2],  s12_7[1],  s12_7[0]};assign n7 = n1 ? n5 : n6;cf_fp_mul_c_11_52_87 s8 (s10_1, s10_2, s8_1, s8_2);cf_fp_mul_c_11_52_30 s9 (s8_1, s8_2, s9_1, s9_2);cf_fp_mul_c_11_52_29 s10 (n4, n7, s10_1, s10_2);cf_fp_mul_c_11_52_22 s11 (s12_1, s12_2, s12_3, s12_4, s12_5, s9_1, s9_2, s11_1);cf_fp_mul_c_11_52_2 s12 (i1, i2, s12_1, s12_2, s12_3, s12_4, s12_5, s12_6, s12_7);assign o1 = s11_1;endmodulemodule cf_fp_mul_c_11_52_2 (i1, i2, o1, o2, o3, o4, o5, o6, o7);input  [63:0] i1;input  [63:0] i2;output o1;output o2;output o3;output o4;output o5;output [11:0] o6;output [105:0] o7;wire   n1;wire   [10:0] n2;wire   [51:0] n3;wire   n4;wire   [10:0] n5;wire   [51:0] n6;wire   n7;wire   n8;wire   n9;wire   n10;wire   n11;wire   n12;wire   n13;wire   n14;wire   n15;wire   n16;wire   [11:0] n17;wire   n18;wire   [11:0] n19;wire   [11:0] n20;wire   [11:0] n21;wire   n22;wire   [52:0] n23;wire   n24;wire   [52:0] n25;wire   [105:0] n26;wire   [11:0] n27;wire   s28_1;wire   s28_2;wire   s28_3;wire   s28_4;wire   s28_5;wire   s29_1;wire   s29_2;wire   s29_3;wire   s29_4;wire   s29_5;assign n1 = i1[63];assign n2 = {i1[62],  i1[61],  i1[60],  i1[59],  i1[58],  i1[57],  i1[56],  i1[55],  i1[54],  i1[53],  i1[52]};assign n3 = {i1[51],  i1[50],  i1[49],  i1[48],  i1[47],  i1[46],  i1[45],  i1[44],  i1[43],  i1[42],  i1[41],  i1[40],  i1[39],  i1[38],  i1[37],  i1[36],  i1[35],  i1[34],  i1[33],  i1[32],  i1[31],  i1[30],  i1[29],  i1[28],  i1[27],  i1[26],  i1[25],  i1[24],  i1[23],  i1[22],  i1[21],  i1[20],  i1[19],  i1[18],  i1[17],  i1[16],  i1[15],  i1[14],  i1[13],  i1[12],  i1[11],  i1[10],  i1[9],  i1[8],  i1[7],  i1[6],  i1[5],  i1[4],  i1[3],  i1[2],  i1[1],  i1[0]};assign n4 = i2[63];assign n5 = {i2[62],  i2[61],  i2[60],  i2[59],  i2[58],  i2[57],  i2[56],  i2[55],  i2[54],  i2[53],  i2[52]};assign n6 = {i2[51],  i2[50],  i2[49],  i2[48],  i2[47],  i2[46],  i2[45],  i2[44],  i2[43],  i2[42],  i2[41],  i2[40],  i2[39],  i2[38],  i2[37],  i2[36],  i2[35],  i2[34],  i2[33],  i2[32],  i2[31],  i2[30],  i2[29],  i2[28],  i2[27],  i2[26],  i2[25],  i2[24],  i2[23],  i2[22],  i2[21],  i2[20],  i2[19],  i2[18],  i2[17],  i2[16],  i2[15],  i2[14],  i2[13],  i2[12],  i2[11],  i2[10],  i2[9],  i2[8],  i2[7],  i2[6],  i2[5],  i2[4],  i2[3],  i2[2],  i2[1],  i2[0]};assign n7 = s29_2 | s29_1;assign n8 = s28_2 | s28_1;assign n9 = n7 | n8;assign n10 = s29_3 & s28_4;assign n11 = s29_4 & s28_3;assign n12 = n10 | n11;assign n13 = s29_3 | s28_3;assign n14 = s29_4 | s28_4;assign n15 = n1 ^ n4;assign n16 = 1'b0;assign n17 = {n16, n2};assign n18 = 1'b0;assign n19 = {n18, n5};assign n20 = n17 + n19;assign n21 = n20 - n27;assign n22 = ~s29_5;assign n23 = {n22, n3};assign n24 = ~s28_5;assign n25 = {n24, n6};assign n26 = {{53{1'b0}}, n23} * {{53{1'b0}}, n25};assign n27 = 12'b001111111111;cf_fp_mul_c_11_52_3 s28 (i2, s28_1, s28_2, s28_3, s28_4, s28_5);cf_fp_mul_c_11_52_3 s29 (i1, s29_1, s29_2, s29_3, s29_4, s29_5);assign o7 = n26;assign o6 = n21;assign o5 = n15;assign o4 = n14;assign o3 = n13;assign o2 = n12;assign o1 = n9;endmodulemodule cf_fp_mul_c_11_52_3 (i1, o1, o2, o3, o4, o5);input  [63:0] i1;output o1;output o2;output o3;output o4;output o5;wire   [10:0] n1;wire   [51:0] n2;wire   n3;wire   [9:0] n4;wire   n5;wire   [8:0] n6;wire   n7;wire   [9:0] n8;wire   n9;wire   [8:0] n10;wire   n11;wire   n12;wire   n13;wire   n14;wire   n15;wire   n16;wire   n17;wire   n18;wire   n19;wire   n20;wire   n21;wire   n22;wire   s23_1;wire   s23_2;wire   s23_3;wire   s23_4;wire   s23_5;wire   s23_6;wire   s23_7;wire   s23_8;wire   s23_9;wire   s24_1;wire   s25_1;wire   s25_2;wire   s25_3;wire   s25_4;wire   s25_5;wire   s25_6;wire   s25_7;wire   s25_8;wire   s25_9;wire   s26_1;wire   s27_1;assign n1 = {i1[62],  i1[61],  i1[60],  i1[59],  i1[58],  i1[57],  i1[56],  i1[55],  i1[54],  i1[53],  i1[52]};assign n2 = {i1[51],  i1[50],  i1[49],  i1[48],  i1[47],  i1[46],  i1[45],  i1[44],  i1[43],  i1[42],  i1[41],  i1[40],  i1[39],  i1[38],  i1[37],  i1[36],  i1[35],  i1[34],  i1[33],  i1[32],  i1[31],  i1[30],  i1[29],  i1[28],  i1[27],  i1[26],  i1[25],  i1[24],  i1[23],  i1[22],  i1[21],  i1[20],  i1[19],  i1[18],  i1[17],  i1[16],  i1[15],  i1[14],  i1[13],  i1[12],  i1[11],  i1[10],  i1[9],  i1[8],  i1[7],  i1[6],  i1[5],  i1[4],  i1[3],  i1[2],  i1[1],  i1[0]};assign n3 = n1[10];assign n4 = {n1[9],  n1[8],  n1[7],  n1[6],  n1[5],  n1[4],  n1[3],  n1[2],  n1[1],  n1[0]};assign n5 = n4[9];assign n6 = {n4[8],  n4[7],  n4[6],  n4[5],  n4[4],  n4[3],  n4[2],  n4[1],  n4[0]};assign n7 = n1[10];assign n8 = {n1[9],  n1[8],  n1[7],  n1[6],  n1[5],  n1[4],  n1[3],  n1[2],  n1[1],  n1[0]};assign n9 = n8[9];assign n10 = {n8[8],  n8[7],  n8[6],  n8[5],  n8[4],  n8[3],  n8[2],  n8[1],  n8[0]};assign n11 = ~s26_1;assign n12 = n2[51];assign n13 = s24_1 & n12;assign n14 = n2[51];assign n15 = ~n14;assign n16 = s24_1 & n15;assign n17 = ~s27_1;assign n18 = n16 & n17;assign n19 = s24_1 & s27_1;assign n20 = n11 & s27_1;assign n21 = ~s27_1;assign n22 = n11 & n21;cf_fp_mul_c_11_52_90 s23 (n6, s23_1, s23_2, s23_3, s23_4, s23_5, s23_6, s23_7, s23_8, s23_9);cf_fp_mul_c_11_52_21 s24 (n3, n5, s23_1, s23_2, s23_3, s23_4, s23_5, s23_6, s23_7, s23_8, s23_9, s24_1);cf_fp_mul_c_11_52_90 s25 (n10, s25_1, s25_2, s25_3, s25_4, s25_5, s25_6, s25_7, s25_8, s25_9);cf_fp_mul_c_11_52_20 s26 (n7, n9, s25_1, s25_2, s25_3, s25_4, s25_5, s25_6, s25_7, s25_8, s25_9, s26_1);cf_fp_mul_c_11_52_4 s27 (n2, s27_1);assign o5 = n22;assign o4 = n20;assign o3 = n19;assign o2 = n18;assign o1 = n13;endmodulemodule cf_fp_mul_c_11_52_4 (i1, o1);input  [51:0] i1;output o1;wire   n1;wire   [50:0] n2;wire   n3;wire   [49:0] n4;wire   n5;wire   [48:0] n6;wire   n7;wire   s8_1;wire   s8_2;wire   s8_3;wire   s8_4;wire   s8_5;wire   s8_6;wire   s8_7;wire   s8_8;wire   s8_9;wire   s8_10;wire   s8_11;wire   s8_12;wire   s8_13;wire   s8_14;wire   s8_15;wire   s8_16;wire   s8_17;wire   s8_18;wire   s8_19;wire   s8_20;wire   s8_21;wire   s8_22;wire   s8_23;wire   s8_24;wire   s8_25;wire   s8_26;wire   s8_27;wire   s8_28;wire   s8_29;wire   s8_30;wire   s8_31;wire   s8_32;wire   s8_33;wire   s8_34;wire   s8_35;wire   s8_36;wire   s8_37;wire   s8_38;wire   s8_39;wire   s8_40;wire   s8_41;wire   s8_42;wire   s8_43;wire   s8_44;wire   s8_45;wire   s8_46;wire   s8_47;wire   s8_48;wire   s8_49;wire   s9_1;assign n1 = i1[51];assign n2 = {i1[50],  i1[49],  i1[48],  i1[47],  i1[46],  i1[45],  i1[44],  i1[43],  i1[42],  i1[41],  i1[40],  i1[39],  i1[38],  i1[37],  i1[36],  i1[35],  i1[34],  i1[33],  i1[32],  i1[31],  i1[30],  i1[29],  i1[28],  i1[27],  i1[26],  i1[25],  i1[24],  i1[23],  i1[22],  i1[21],  i1[20],  i1[19],  i1[18],  i1[17],  i1[16],  i1[15],  i1[14],  i1[13],  i1[12],  i1[11],  i1[10],  i1[9],  i1[8],  i1[7],  i1[6],  i1[5],  i1[4],  i1[3],  i1[2],  i1[1],  i1[0]};assign n3 = n2[50];assign n4 = {n2[49],  n2[48],  n2[47],  n2[46],  n2[45],  n2[44],  n2[43],  n2[42],  n2[41],  n2[40],  n2[39],  n2[38],  n2[37],  n2[36],  n2[35],  n2[34],  n2[33],  n2[32],  n2[31],  n2[30],  n2[29],  n2[28],  n2[27],  n2[26],  n2[25],  n2[24],  n2[23],  n2[22],  n2[21],  n2[20],  n2[19],  n2[18],  n2[17],  n2[16],  n2[15],  n2[14],  n2[13],  n2[12],  n2[11],  n2[10],  n2[9],  n2[8],  n2[7],  n2[6],  n2[5],  n2[4],  n2[3],  n2[2],  n2[1],  n2[0]};assign n5 = n4[49];assign n6 = {n4[48],  n4[47],  n4[46],  n4[45],  n4[44],  n4[43],  n4[42],  n4[41],  n4[40],  n4[39],

⌨️ 快捷键说明

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