From 52faa22774728bb64fc1af5d80816456f5fa23d4 Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Thu, 22 Jul 2021 20:24:24 -0400 Subject: [PATCH 02/11] include SFENCE.VMA in legal instructions --- wally-pipelined/testbench/testbench-imperas.sv | 1 + 1 file changed, 1 insertion(+) diff --git a/wally-pipelined/testbench/testbench-imperas.sv b/wally-pipelined/testbench/testbench-imperas.sv index 0090a43b..ba778366 100644 --- a/wally-pipelined/testbench/testbench-imperas.sv +++ b/wally-pipelined/testbench/testbench-imperas.sv @@ -886,6 +886,7 @@ module instrNameDecTB( else if (imm == 2) name = "URET"; else if (imm == 258) name = "SRET"; else if (imm == 770) name = "MRET"; + else if (funct7 == 9) name = "SFENCE.VMA" else name = "ILLEGAL"; 10'b1110011_001: name = "CSRRW"; 10'b1110011_010: name = "CSRRS"; From 5d2b30e33294531f19d4e61b2787e444ea8772c8 Mon Sep 17 00:00:00 2001 From: David Harris Date: Fri, 23 Jul 2021 08:11:15 -0400 Subject: [PATCH 03/11] Removed LEVELx states from HPTW --- wally-pipelined/src/mmu/hptw.sv | 92 ++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 42 deletions(-) diff --git a/wally-pipelined/src/mmu/hptw.sv b/wally-pipelined/src/mmu/hptw.sv index b3bff0ea..845f495d 100644 --- a/wally-pipelined/src/mmu/hptw.sv +++ b/wally-pipelined/src/mmu/hptw.sv @@ -65,10 +65,10 @@ module hptw logic [`XLEN-1:0] TranslationVAdr; - typedef enum {LEVEL0_SET_ADR, LEVEL0_READ, LEVEL0, - LEVEL1_SET_ADR, LEVEL1_READ, LEVEL1, - LEVEL2_SET_ADR, LEVEL2_READ, LEVEL2, - LEVEL3_SET_ADR, LEVEL3_READ, LEVEL3, + typedef enum {L0_ADR, L0_RD, + L1_ADR, L1_RD, + L2_ADR, L2_RD, + L3_ADR, L3_RD, LEAF, IDLE, FAULT} statetype; statetype WalkerState, NextWalkerState, InitialWalkerState; @@ -97,7 +97,7 @@ module hptw // Enable and select signals based on states assign StartWalk = (WalkerState == IDLE) & TLBMiss; - assign HPTWRead = (WalkerState == LEVEL3_READ) | (WalkerState == LEVEL2_READ) | (WalkerState == LEVEL1_READ) | (WalkerState == LEVEL0_READ); + assign HPTWRead = (WalkerState == L3_RD) | (WalkerState == L2_RD) | (WalkerState == L1_RD) | (WalkerState == L0_RD); assign SelPTW = (WalkerState != IDLE) & (WalkerState != FAULT); assign DTLBWriteM = (WalkerState == LEAF) & DTLBWalk; assign ITLBWriteF = (WalkerState == LEAF) & ~DTLBWalk; @@ -111,10 +111,10 @@ module hptw flopr #(2) PageTypeReg(clk, reset, NextPageType, PageType); always_comb case (WalkerState) - LEVEL3: NextPageType = 2'b11; // terapage - LEVEL2: NextPageType = 2'b10; // gigapage - LEVEL1: NextPageType = 2'b01; // megapage - LEVEL0: NextPageType = 2'b00; // kilopage + L3_RD: NextPageType = 2'b11; // terapage + L2_RD: NextPageType = 2'b10; // gigapage + L1_RD: NextPageType = 2'b01; // megapage + L0_RD: NextPageType = 2'b00; // kilopage default: NextPageType = PageType; endcase @@ -122,36 +122,36 @@ module hptw if (`XLEN==32) begin // RV32 logic [9:0] VPN; logic [`PPN_BITS-1:0] PPN; - assign VPN = ((WalkerState == LEVEL1_SET_ADR) | (WalkerState == LEVEL1_READ)) ? TranslationVAdr[31:22] : TranslationVAdr[21:12]; // select VPN field based on HPTW state - assign PPN = ((WalkerState == LEVEL1_SET_ADR) | (WalkerState == LEVEL1_READ)) ? BasePageTablePPN : CurrentPPN; + assign VPN = ((WalkerState == L1_ADR) | (WalkerState == L1_RD)) ? TranslationVAdr[31:22] : TranslationVAdr[21:12]; // select VPN field based on HPTW state + assign PPN = ((WalkerState == L1_ADR) | (WalkerState == L1_RD)) ? BasePageTablePPN : CurrentPPN; assign TranslationPAdr = {PPN, VPN, 2'b00}; end else begin // RV64 logic [8:0] VPN; logic [`PPN_BITS-1:0] PPN; always_comb case (WalkerState) // select VPN field based on HPTW state - LEVEL3_SET_ADR, LEVEL3_READ: VPN = TranslationVAdr[47:39]; - LEVEL3, LEVEL2_SET_ADR, LEVEL2_READ: VPN = TranslationVAdr[38:30]; - LEVEL2, LEVEL1_SET_ADR, LEVEL1_READ: VPN = TranslationVAdr[29:21]; + L3_ADR, L3_RD: VPN = TranslationVAdr[47:39]; + L2_ADR, L2_RD: VPN = TranslationVAdr[38:30]; + L1_ADR, L1_RD: VPN = TranslationVAdr[29:21]; default: VPN = TranslationVAdr[20:12]; endcase - assign PPN = ((WalkerState == LEVEL3_SET_ADR) | (WalkerState == LEVEL3_READ) | - (SvMode != `SV48 & ((WalkerState == LEVEL2_SET_ADR) | (WalkerState == LEVEL2_READ)))) ? BasePageTablePPN : CurrentPPN; + assign PPN = ((WalkerState == L3_ADR) | (WalkerState == L3_RD) | + (SvMode != `SV48 & ((WalkerState == L2_ADR) | (WalkerState == L2_RD)))) ? BasePageTablePPN : CurrentPPN; assign TranslationPAdr = {PPN, VPN, 3'b000}; end // Initial state and misalignment for RV32/64 if (`XLEN == 32) begin - assign InitialWalkerState = LEVEL1_SET_ADR; + assign InitialWalkerState = L1_ADR; assign MegapageMisaligned = |(CurrentPPN[9:0]); // must have zero PPN0 - assign Misaligned = ((WalkerState == LEVEL1) & MegapageMisaligned); + assign Misaligned = ((WalkerState == L0_ADR) & MegapageMisaligned); end else begin logic GigapageMisaligned, TerapageMisaligned; - assign InitialWalkerState = (SvMode == `SV48) ? LEVEL3_SET_ADR : LEVEL2_SET_ADR; + assign InitialWalkerState = (SvMode == `SV48) ? L3_ADR : L2_ADR; assign TerapageMisaligned = |(CurrentPPN[26:0]); // must have zero PPN2, PPN1, PPN0 assign GigapageMisaligned = |(CurrentPPN[17:0]); // must have zero PPN1 and PPN0 assign MegapageMisaligned = |(CurrentPPN[8:0]); // must have zero PPN0 - assign Misaligned = ((WalkerState == LEVEL3) & TerapageMisaligned) | ((WalkerState == LEVEL2) & GigapageMisaligned) | ((WalkerState == LEVEL1) & MegapageMisaligned); + assign Misaligned = ((WalkerState == L2_ADR) & TerapageMisaligned) | ((WalkerState == L1_ADR) & GigapageMisaligned) | ((WalkerState == L0_ADR) & MegapageMisaligned); end // Page Table Walker FSM @@ -164,29 +164,37 @@ module hptw case (WalkerState) IDLE: if (TLBMiss) NextWalkerState = InitialWalkerState; else NextWalkerState = IDLE; - LEVEL3_SET_ADR: NextWalkerState = LEVEL3_READ; - LEVEL3_READ: if (HPTWStall) NextWalkerState = LEVEL3_READ; - else NextWalkerState = LEVEL3; - LEVEL3: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; - else if (ValidNonLeafPTE) NextWalkerState = LEVEL2_SET_ADR; + L3_ADR: NextWalkerState = L3_RD; // first access in SV48 + L3_RD: if (HPTWStall) NextWalkerState = L3_RD; + else NextWalkerState = L2_ADR; +// LEVEL3: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; +// else if (ValidNonLeafPTE) NextWalkerState = L2_ADR; +// else NextWalkerState = FAULT; + L2_ADR: if (InitialWalkerState == L2_ADR) NextWalkerState = L2_RD; // first access in SV39 + else if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; // could shortcut this by a cyle for all Lx_ADR superpages + else if (ValidNonLeafPTE) NextWalkerState = L2_RD; + else NextWalkerState = FAULT; + L2_RD: if (HPTWStall) NextWalkerState = L2_RD; + else NextWalkerState = L1_ADR; +// LEVEL2: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; +// else if (ValidNonLeafPTE) NextWalkerState = L1_ADR; +// else NextWalkerState = FAULT; + L1_ADR: if (InitialWalkerState == L1_ADR) NextWalkerState = L1_RD; // first access in SV32 + else if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; // could shortcut this by a cyle for all Lx_ADR superpages + else if (ValidNonLeafPTE) NextWalkerState = L1_RD; + else NextWalkerState = FAULT; + L1_RD: if (HPTWStall) NextWalkerState = L1_RD; + else NextWalkerState = L0_ADR; +// LEVEL1: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; +// else if (ValidNonLeafPTE) NextWalkerState = L0_ADR; +// else NextWalkerState = FAULT; + L0_ADR: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; // could shortcut this by a cyle for all Lx_ADR superpages + else if (ValidNonLeafPTE) NextWalkerState = L0_RD; else NextWalkerState = FAULT; - LEVEL2_SET_ADR: NextWalkerState = LEVEL2_READ; - LEVEL2_READ: if (HPTWStall) NextWalkerState = LEVEL2_READ; - else NextWalkerState = LEVEL2; - LEVEL2: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; - else if (ValidNonLeafPTE) NextWalkerState = LEVEL1_SET_ADR; - else NextWalkerState = FAULT; - LEVEL1_SET_ADR: NextWalkerState = LEVEL1_READ; - LEVEL1_READ: if (HPTWStall) NextWalkerState = LEVEL1_READ; - else NextWalkerState = LEVEL1; - LEVEL1: if (ValidLeafPTE && ~Misaligned) NextWalkerState = LEAF; - else if (ValidNonLeafPTE) NextWalkerState = LEVEL0_SET_ADR; - else NextWalkerState = FAULT; - LEVEL0_SET_ADR: NextWalkerState = LEVEL0_READ; - LEVEL0_READ: if (HPTWStall) NextWalkerState = LEVEL0_READ; - else NextWalkerState = LEVEL0; - LEVEL0: if (ValidLeafPTE) NextWalkerState = LEAF; - else NextWalkerState = FAULT; + L0_RD: if (HPTWStall) NextWalkerState = L0_RD; + else NextWalkerState = LEAF; +// LEVEL0: if (ValidLeafPTE) NextWalkerState = LEAF; +// else NextWalkerState = FAULT; LEAF: NextWalkerState = IDLE; FAULT: NextWalkerState = IDLE; default: begin From f3579032bdd3e812be5ec94716f37d840f28437f Mon Sep 17 00:00:00 2001 From: kipmacsaigoren Date: Fri, 23 Jul 2021 11:57:58 -0500 Subject: [PATCH 04/11] Cleaned up priority thermometer verilog. passses regression, ideally shortens critical path through pmp's --- wally-pipelined/src/mmu/hptw.sv | 12 ++--- wally-pipelined/src/mmu/pmpadrdec.sv | 23 +++------ wally-pipelined/src/mmu/pmpchecker.sv | 2 +- .../{prioritycircuit.sv => priorityonehot.sv} | 21 +++----- .../src/mmu/prioritythermometer.sv | 50 +++++++++++++++++++ wally-pipelined/src/mmu/tlblru.sv | 2 +- 6 files changed, 70 insertions(+), 40 deletions(-) rename wally-pipelined/src/mmu/{prioritycircuit.sv => priorityonehot.sv} (78%) create mode 100644 wally-pipelined/src/mmu/prioritythermometer.sv diff --git a/wally-pipelined/src/mmu/hptw.sv b/wally-pipelined/src/mmu/hptw.sv index 845f495d..fd7cee43 100644 --- a/wally-pipelined/src/mmu/hptw.sv +++ b/wally-pipelined/src/mmu/hptw.sv @@ -48,6 +48,12 @@ module hptw output logic WalkerInstrPageFaultF, WalkerLoadPageFaultM,WalkerStorePageFaultM // faults ); + typedef enum {L0_ADR, L0_RD, + L1_ADR, L1_RD, + L2_ADR, L2_RD, + L3_ADR, L3_RD, + LEAF, IDLE, FAULT} statetype; // *** placed outside generate statement to remove synthesis errors + generate if (`MEM_VIRTMEM) begin logic DTLBWalk; // register TLBs translation miss requests @@ -64,12 +70,6 @@ module hptw logic [`SVMODE_BITS-1:0] SvMode; logic [`XLEN-1:0] TranslationVAdr; - - typedef enum {L0_ADR, L0_RD, - L1_ADR, L1_RD, - L2_ADR, L2_RD, - L3_ADR, L3_RD, - LEAF, IDLE, FAULT} statetype; statetype WalkerState, NextWalkerState, InitialWalkerState; // Extract bits from CSRs and inputs diff --git a/wally-pipelined/src/mmu/pmpadrdec.sv b/wally-pipelined/src/mmu/pmpadrdec.sv index 0fe2b2d7..61816782 100644 --- a/wally-pipelined/src/mmu/pmpadrdec.sv +++ b/wally-pipelined/src/mmu/pmpadrdec.sv @@ -67,9 +67,7 @@ module pmpadrdec ( assign TORMatch = PAgePMPAdrIn && PAltPMPAdr; // Naturally aligned regions - - // verilator lint_off UNOPTFLAT - logic [`PA_BITS-1:0] Mask; + logic [`PA_BITS-1:0] NAMask; //genvar i; // create a mask of which bits to ignore @@ -80,23 +78,14 @@ module pmpadrdec ( // assign Mask[i] = Mask[i-1] & PMPAdr[i-3]; // NAPOT mask: 1's indicate bits to ignore // end // endgenerate - prioritycircuit #(.ENTRIES(`PA_BITS-2), .FINAL_OP("NONE")) maskgen(.a(~PMPAdr[`PA_BITS-3:0]), .FirstPin(AdrMode==NAPOT), .y(Mask[`PA_BITS-1:2])); - assign Mask[1:0] = 2'b11; - // *** possible experiments: - /* PA < PMP addr could be in its own module, - preeserving hierarchy so we can know if this is the culprit on the critical path - Should take logarthmic time, so more like 6 levels than 40 should be expected + assign NAMask[1:0] = {2'b11}; - update mask generation - Should be concurrent with the subtraction/comparison - if one is the critical path, the other shouldn't be which makes us think the mask generation is the culprit. + prioritythemometer #(`PA_BITS-2) namaskgen( + .a({PMPAdr[`PA_BITS-4:0], (AdrMode == NAPOT)}), + .y(NAMask[`PA_BITS-1:2])); - Hopefully just use the priority circuit here - */ - // verilator lint_on UNOPTFLAT - - assign NAMatch = &((PhysicalAddress ~^ CurrentAdrFull) | Mask); + assign NAMatch = &((PhysicalAddress ~^ CurrentAdrFull) | NAMask); assign Match = (AdrMode == TOR) ? TORMatch : (AdrMode == NA4 || AdrMode == NAPOT) ? NAMatch : diff --git a/wally-pipelined/src/mmu/pmpchecker.sv b/wally-pipelined/src/mmu/pmpchecker.sv index eac4cc47..7dc37163 100644 --- a/wally-pipelined/src/mmu/pmpchecker.sv +++ b/wally-pipelined/src/mmu/pmpchecker.sv @@ -69,7 +69,7 @@ module pmpchecker ( .PAgePMPAdrOut(PAgePMPAdr), .FirstMatch, .Match, .Active, .L, .X, .W, .R); - prioritycircuit #(.ENTRIES(`PMP_ENTRIES), .FINAL_OP("AND")) pmppriority(.a(Match), .FirstPin(1'b1), .y(FirstMatch)); // Take the ripple gates/signals out of the pmpadrdec and into another unit. + priorityonehot #(`PMP_ENTRIES) pmppriority(.a(Match), .y(FirstMatch)); // Take the ripple gates/signals out of the pmpadrdec and into another unit. // Only enforce PMP checking for S and U modes when at least one PMP is active or in Machine mode when L bit is set in selected region assign EnforcePMP = (PrivilegeModeW == `M_MODE) ? |L : |Active; diff --git a/wally-pipelined/src/mmu/prioritycircuit.sv b/wally-pipelined/src/mmu/priorityonehot.sv similarity index 78% rename from wally-pipelined/src/mmu/prioritycircuit.sv rename to wally-pipelined/src/mmu/priorityonehot.sv index df44b35f..75825dc4 100644 --- a/wally-pipelined/src/mmu/prioritycircuit.sv +++ b/wally-pipelined/src/mmu/priorityonehot.sv @@ -1,5 +1,5 @@ /////////////////////////////////////////// -// prioritycircuit.sv +// priorityonehot.sv // // Written: tfleming@hmc.edu & jtorrey@hmc.edu 7 April 2021 // Modified: Teo Ene 15 Apr 2021: @@ -30,31 +30,22 @@ `include "wally-config.vh" -module prioritycircuit #(parameter ENTRIES = 8, - parameter FINAL_OP = "AND") ( +module priorityonehot #(parameter ENTRIES = 8) ( input logic [ENTRIES-1:0] a, - input logic FirstPin, output logic [ENTRIES-1:0] y ); - // verilator lint_off UNOPTFLAT + logic [ENTRIES-1:0] nolower; // generate thermometer code mask genvar i; generate - assign nolower[0] = FirstPin; + assign nolower[0] = 1'b1; for (i=1; i Date: Fri, 23 Jul 2021 14:00:44 -0400 Subject: [PATCH 05/11] testbench workaround for QEMU's SSTATUS XLEN bits --- wally-pipelined/testbench/testbench-linux.sv | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/wally-pipelined/testbench/testbench-linux.sv b/wally-pipelined/testbench/testbench-linux.sv index 79827c4f..64b0483d 100644 --- a/wally-pipelined/testbench/testbench-linux.sv +++ b/wally-pipelined/testbench/testbench-linux.sv @@ -27,7 +27,7 @@ module testbench(); - parameter waveOnICount = `BUSYBEAR*140000 + `BUILDROOT*3160000; // # of instructions at which to turn on waves in graphical sim + parameter waveOnICount = `BUSYBEAR*140000 + `BUILDROOT*3080000; // # of instructions at which to turn on waves in graphical sim parameter stopICount = `BUSYBEAR*143898 + `BUILDROOT*0000000; // # instructions at which to halt sim completely (set to 0 to let it run as far as it can) /////////////////////////////////////////////////////////////////////////////// @@ -184,9 +184,12 @@ module testbench(); scan_file_rf = $fscanf(data_file_rf, "%d\n", regNumExpected); scan_file_rf = $fscanf(data_file_rf, "%x\n", regExpected); force dut.hart.ieu.dp.regf.wd3 = regExpected; - // Hack to compensate for QEMU's incorrect MSTATUS + // Hack to compensate for QEMU's incorrect MSTATUS (Wally correctly identifies MXL, SXL to be 2 whereas QEMU sets them to an invalid value of 0 end else if (PCtextW.substr(0,3) == "csrr" && PCtextW.substr(10,16) == "mstatus") begin force dut.hart.ieu.dp.regf.wd3 = dut.hart.ieu.dp.WriteDataW & ~64'ha00000000; + // Hack to compensate for QEMU's incorrect SSTATUS (Wally correctly identifies UXL to be 2 whereas QEMU sets it to an invalid value of 0 + end else if (PCtextW.substr(0,3) == "csrr" && ((PCtextW.substr(10,16) == "sstatus") || (PCtextW.substr(11,17) == "sstatus"))) begin + force dut.hart.ieu.dp.regf.wd3 = dut.hart.ieu.dp.WriteDataW & ~64'h200000000; end else release dut.hart.ieu.dp.regf.wd3; // Hack to compensate for QEMU's correct but different MTVAL (according to spec, storing the faulting instr is an optional feature) if (PCtextW.substr(0,3) == "csrr" && PCtextW.substr(10,14) == "mtval") begin @@ -265,7 +268,7 @@ module testbench(); // Check PCD, InstrD if (~PCDwrong && ~(dut.hart.ifu.PCD === PCDexpected)) begin - $display("%0t ps, instr %0d: PC does not equal PC expected: %x, %x", $time, instrs, dut.hart.ifu.PCD, PCDexpected); + $display("%0t ps, instr %0d: PCD does not equal PCD expected: %x, %x", $time, instrs, dut.hart.ifu.PCD, PCDexpected); `ERROR end InstrMask = InstrDExpected[1:0] == 2'b11 ? 32'hFFFFFFFF : 32'h0000FFFF; From 381a93b45b61cbec9208d44d7b8c15be81a4485d Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Fri, 23 Jul 2021 15:55:08 -0400 Subject: [PATCH 08/11] added sfence to legal instructions, zeroed out rom file to populate for tests --- wally-pipelined/testbench/imperas-boottim.txt | 512 ++++++++++++++++++ .../testbench/testbench-imperas.sv | 8 +- 2 files changed, 518 insertions(+), 2 deletions(-) create mode 100644 wally-pipelined/testbench/imperas-boottim.txt diff --git a/wally-pipelined/testbench/imperas-boottim.txt b/wally-pipelined/testbench/imperas-boottim.txt new file mode 100644 index 00000000..3e34cef6 --- /dev/null +++ b/wally-pipelined/testbench/imperas-boottim.txt @@ -0,0 +1,512 @@ +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 diff --git a/wally-pipelined/testbench/testbench-imperas.sv b/wally-pipelined/testbench/testbench-imperas.sv index ba778366..a47faf20 100644 --- a/wally-pipelined/testbench/testbench-imperas.sv +++ b/wally-pipelined/testbench/testbench-imperas.sv @@ -51,6 +51,8 @@ module testbench(); string tests64mmu[] = '{ "rv64mmu/WALLY-MMU-SV48", "3000", "rv64mmu/WALLY-MMU-SV39", "3000" + //"rv64mmu/WALLY-PMA", "3000", + //"rv64mmu/WALLY-PMA", "3000" }; @@ -558,7 +560,7 @@ string tests32f[] = '{ end end - string signame, memfilename; + string signame, memfilename, romfilename; logic [31:0] GPIOPinsIn, GPIOPinsOut, GPIOPinsEn; logic UARTSin, UARTSout; @@ -604,7 +606,9 @@ string tests32f[] = '{ end // read test vectors into memory memfilename = {"../../imperas-riscv-tests/work/", tests[test], ".elf.memfile"}; + romfilename = {"../../imperas-riscv-tests/imperas-boottim.txt"}; $readmemh(memfilename, dut.uncore.dtim.RAM); + $readmemh(romfilename, dut.uncore.bootdtim.bootdtim.RAM); ProgramAddrMapFile = {"../../imperas-riscv-tests/work/", tests[test], ".elf.objdump.addr"}; ProgramLabelMapFile = {"../../imperas-riscv-tests/work/", tests[test], ".elf.objdump.lab"}; $display("Read memfile %s", memfilename); @@ -886,7 +890,7 @@ module instrNameDecTB( else if (imm == 2) name = "URET"; else if (imm == 258) name = "SRET"; else if (imm == 770) name = "MRET"; - else if (funct7 == 9) name = "SFENCE.VMA" + else if (funct7 == 9) name = "SFENCE.VMA"; else name = "ILLEGAL"; 10'b1110011_001: name = "CSRRW"; 10'b1110011_010: name = "CSRRS"; From 3008111bcd0d701ab866db3cf8fc4b1268ad5ede Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Fri, 23 Jul 2021 16:02:42 -0400 Subject: [PATCH 09/11] added tests for 64/32 bit pma/pmp checker. They compile, but skip OVPsim simulation. They DO NOT pass regression yet --- wally-pipelined/testbench/testbench-imperas.sv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wally-pipelined/testbench/testbench-imperas.sv b/wally-pipelined/testbench/testbench-imperas.sv index a47faf20..b3ccaf58 100644 --- a/wally-pipelined/testbench/testbench-imperas.sv +++ b/wally-pipelined/testbench/testbench-imperas.sv @@ -46,6 +46,8 @@ module testbench(); string tests32mmu[] = '{ "rv32mmu/WALLY-MMU-SV32", "3000" + //"rv32mmu/WALLY-PMA", "3000", + //"rv32mmu/WALLY-PMA", "3000" }; string tests64mmu[] = '{ From ef28679721363af9f3517820ccee612f05c9519d Mon Sep 17 00:00:00 2001 From: Katherine Parry Date: Sat, 24 Jul 2021 14:59:57 -0400 Subject: [PATCH 10/11] fpu cleanup --- .../config/rv64icfd/wally-config.vh | 1 + wally-pipelined/src/fpu/adder.sv | 0 wally-pipelined/src/fpu/bk15.sv | 117 - wally-pipelined/src/fpu/black_gray_cells.sv | 43 - wally-pipelined/src/fpu/cla12.sv | 0 wally-pipelined/src/fpu/cla52.sv | 0 wally-pipelined/src/fpu/cla64.sv | 2 +- wally-pipelined/src/fpu/convert_inputs.sv | 34 +- wally-pipelined/src/fpu/convert_inputs_div.sv | 23 +- wally-pipelined/src/fpu/divconv.sv | 210 +- wally-pipelined/src/fpu/exception.sv | 2 +- wally-pipelined/src/fpu/exception_div.sv | 32 +- wally-pipelined/src/fpu/faddcvt.sv | 152 +- wally-pipelined/src/fpu/fclassify.sv | 18 +- wally-pipelined/src/fpu/fctrl.sv | 91 +- wally-pipelined/src/fpu/fcvt.sv | 72 +- wally-pipelined/src/fpu/fdivsqrt.sv | 256 - wally-pipelined/src/fpu/fhazard.sv | 54 +- wally-pipelined/src/fpu/fma.sv | 125 +- wally-pipelined/src/fpu/fpadd_denorm.sv | 286 - wally-pipelined/src/fpu/fpdiv.sv | 156 +- wally-pipelined/src/fpu/fpu.sv | 495 +- wally-pipelined/src/fpu/fregfile.sv | 8 +- wally-pipelined/src/fpu/fsgn.sv | 21 +- wally-pipelined/src/fpu/fsm.sv | 77 +- wally-pipelined/src/fpu/fsm_div.v | 461 - wally-pipelined/src/fpu/ldf128.sv | 593 - wally-pipelined/src/fpu/ldf64.sv | 289 - wally-pipelined/src/fpu/lzd_denorm.sv | 2 +- wally-pipelined/src/fpu/mult_R4_64_64_cs.sv | 12002 ---------------- wally-pipelined/src/fpu/mult_R4_64_64_cs.v | 11995 --------------- wally-pipelined/src/fpu/rounder_denorm.sv | 2 +- wally-pipelined/src/fpu/rounder_div.sv | 74 +- wally-pipelined/src/fpu/sbtm_a0.sv | 2 +- wally-pipelined/src/fpu/sbtm_a1.sv | 2 +- wally-pipelined/src/fpu/sbtm_a2.sv | 2 +- wally-pipelined/src/fpu/sbtm_a3.sv | 2 +- wally-pipelined/src/fpu/sbtm_div.sv | 8 +- wally-pipelined/src/fpu/sbtm_sqrt.sv | 5 +- wally-pipelined/src/fpu/shifter_denorm.sv | 2 +- wally-pipelined/src/fpu/unpacking.sv | 12 +- 41 files changed, 777 insertions(+), 26951 deletions(-) mode change 100755 => 100644 wally-pipelined/src/fpu/adder.sv delete mode 100755 wally-pipelined/src/fpu/bk15.sv delete mode 100644 wally-pipelined/src/fpu/black_gray_cells.sv mode change 100755 => 100644 wally-pipelined/src/fpu/cla12.sv mode change 100755 => 100644 wally-pipelined/src/fpu/cla52.sv delete mode 100755 wally-pipelined/src/fpu/fdivsqrt.sv delete mode 100755 wally-pipelined/src/fpu/fpadd_denorm.sv delete mode 100755 wally-pipelined/src/fpu/fsm_div.v delete mode 100755 wally-pipelined/src/fpu/ldf128.sv delete mode 100755 wally-pipelined/src/fpu/ldf64.sv delete mode 100644 wally-pipelined/src/fpu/mult_R4_64_64_cs.sv delete mode 100755 wally-pipelined/src/fpu/mult_R4_64_64_cs.v diff --git a/wally-pipelined/config/rv64icfd/wally-config.vh b/wally-pipelined/config/rv64icfd/wally-config.vh index ec889d64..1ac72644 100644 --- a/wally-pipelined/config/rv64icfd/wally-config.vh +++ b/wally-pipelined/config/rv64icfd/wally-config.vh @@ -26,6 +26,7 @@ // include shared configuration `include "wally-shared.vh" +// `include "../../../config/shared/wally-shared.vh" `define BUILDROOT 0 `define BUSYBEAR 0 diff --git a/wally-pipelined/src/fpu/adder.sv b/wally-pipelined/src/fpu/adder.sv old mode 100755 new mode 100644 diff --git a/wally-pipelined/src/fpu/bk15.sv b/wally-pipelined/src/fpu/bk15.sv deleted file mode 100755 index 67dc0d26..00000000 --- a/wally-pipelined/src/fpu/bk15.sv +++ /dev/null @@ -1,117 +0,0 @@ -// Kogge-Stone Prefix Adder -module bk15 (cout, sum, a, b, cin); - - input [14:0] a, b; - input cin; - - output [14:0] sum; - output cout; - - wire [15:0] p,g; - wire [15:1] h,c; - - // pre-computation - assign p={a|b,1'b1}; - assign g={a&b, cin}; - - // prefix tree - kogge_stone prefix_tree(h, c, p[14:0], g[14:0]); - - // post-computation - assign h[15]=g[15]|c[15]; - assign sum=p[15:1]^h|g[15:1]&c; - assign cout=p[15]&h[15]; - -endmodule // bk15 - -module kogge_stone (h, c, p, g); - - input [14:0] p; - input [14:0] g; - - output [15:1] h; - output [15:1] c; - logic H_1_0,H_2_1,I_2_1,H_3_2,I_3_2,H_4_3,I_4_3,H_5_4,I_5_4,H_6_5,I_6_5,H_7_6,I_7_6,H_8_7,I_8_7,H_9_8,I_9_8,H_10_9 - ,I_10_9,H_11_10,I_11_10,H_12_11,I_12_11,H_13_12,I_13_12,H_14_13,I_14_13,H_2_0,H_3_0,H_4_1,I_4_1,H_5_2,I_5_2,H_6_3 - ,I_6_3,H_7_4,I_7_4,H_8_5,I_8_5,H_9_6,I_9_6,H_10_7,I_10_7,H_11_8,I_11_8,H_12_9,I_12_9,H_13_10,I_13_10,H_14_11,I_14_11 - ,H_4_0,H_5_0,H_6_0,H_7_0,H_8_1,I_8_1,H_9_2,I_9_2,H_10_3,I_10_3,H_11_4,I_11_4,H_12_5,I_12_5,H_13_6,I_13_6,H_14_7 - ,I_14_7,H_8_0,H_9_0,H_10_0,H_11_0,H_12_0,H_13_0,H_14_0; - - // parallel-prefix, Kogge-Stone - - // Stage 1: Generates G/P pairs that span 1 bits - rgry g_1_0 (H_1_0, {g[1],g[0]}); - rblk b_2_1 (H_2_1, I_2_1, {g[2],g[1]}, {p[1],p[0]}); - rblk b_3_2 (H_3_2, I_3_2, {g[3],g[2]}, {p[2],p[1]}); - rblk b_4_3 (H_4_3, I_4_3, {g[4],g[3]}, {p[3],p[2]}); - rblk b_5_4 (H_5_4, I_5_4, {g[5],g[4]}, {p[4],p[3]}); - rblk b_6_5 (H_6_5, I_6_5, {g[6],g[5]}, {p[5],p[4]}); - rblk b_7_6 (H_7_6, I_7_6, {g[7],g[6]}, {p[6],p[5]}); - rblk b_8_7 (H_8_7, I_8_7, {g[8],g[7]}, {p[7],p[6]}); - - rblk b_9_8 (H_9_8, I_9_8, {g[9],g[8]}, {p[8],p[7]}); - rblk b_10_9 (H_10_9, I_10_9, {g[10],g[9]}, {p[9],p[8]}); - rblk b_11_10 (H_11_10, I_11_10, {g[11],g[10]}, {p[10],p[9]}); - rblk b_12_11 (H_12_11, I_12_11, {g[12],g[11]}, {p[11],p[10]}); - rblk b_13_12 (H_13_12, I_13_12, {g[13],g[12]}, {p[12],p[11]}); - rblk b_14_13 (H_14_13, I_14_13, {g[14],g[13]}, {p[13],p[12]}); - - // Stage 2: Generates G/P pairs that span 2 bits - grey g_2_0 (H_2_0, {H_2_1,g[0]}, I_2_1); - grey g_3_0 (H_3_0, {H_3_2,H_1_0}, I_3_2); - black b_4_1 (H_4_1, I_4_1, {H_4_3,H_2_1}, {I_4_3,I_2_1}); - black b_5_2 (H_5_2, I_5_2, {H_5_4,H_3_2}, {I_5_4,I_3_2}); - black b_6_3 (H_6_3, I_6_3, {H_6_5,H_4_3}, {I_6_5,I_4_3}); - black b_7_4 (H_7_4, I_7_4, {H_7_6,H_5_4}, {I_7_6,I_5_4}); - black b_8_5 (H_8_5, I_8_5, {H_8_7,H_6_5}, {I_8_7,I_6_5}); - black b_9_6 (H_9_6, I_9_6, {H_9_8,H_7_6}, {I_9_8,I_7_6}); - - black b_10_7 (H_10_7, I_10_7, {H_10_9,H_8_7}, {I_10_9,I_8_7}); - black b_11_8 (H_11_8, I_11_8, {H_11_10,H_9_8}, {I_11_10,I_9_8}); - black b_12_9 (H_12_9, I_12_9, {H_12_11,H_10_9}, {I_12_11,I_10_9}); - black b_13_10 (H_13_10, I_13_10, {H_13_12,H_11_10}, {I_13_12,I_11_10}); - black b_14_11 (H_14_11, I_14_11, {H_14_13,H_12_11}, {I_14_13,I_12_11}); - - // Stage 3: Generates G/P pairs that span 4 bits - grey g_4_0 (H_4_0, {H_4_1,g[0]}, I_4_1); - grey g_5_0 (H_5_0, {H_5_2,H_1_0}, I_5_2); - grey g_6_0 (H_6_0, {H_6_3,H_2_0}, I_6_3); - grey g_7_0 (H_7_0, {H_7_4,H_3_0}, I_7_4); - black b_8_1 (H_8_1, I_8_1, {H_8_5,H_4_1}, {I_8_5,I_4_1}); - black b_9_2 (H_9_2, I_9_2, {H_9_6,H_5_2}, {I_9_6,I_5_2}); - black b_10_3 (H_10_3, I_10_3, {H_10_7,H_6_3}, {I_10_7,I_6_3}); - black b_11_4 (H_11_4, I_11_4, {H_11_8,H_7_4}, {I_11_8,I_7_4}); - - black b_12_5 (H_12_5, I_12_5, {H_12_9,H_8_5}, {I_12_9,I_8_5}); - black b_13_6 (H_13_6, I_13_6, {H_13_10,H_9_6}, {I_13_10,I_9_6}); - black b_14_7 (H_14_7, I_14_7, {H_14_11,H_10_7}, {I_14_11,I_10_7}); - - // Stage 4: Generates G/P pairs that span 8 bits - grey g_8_0 (H_8_0, {H_8_1,g[0]}, I_8_1); - grey g_9_0 (H_9_0, {H_9_2,H_1_0}, I_9_2); - grey g_10_0 (H_10_0, {H_10_3,H_2_0}, I_10_3); - grey g_11_0 (H_11_0, {H_11_4,H_3_0}, I_11_4); - grey g_12_0 (H_12_0, {H_12_5,H_4_0}, I_12_5); - grey g_13_0 (H_13_0, {H_13_6,H_5_0}, I_13_6); - grey g_14_0 (H_14_0, {H_14_7,H_6_0}, I_14_7); - - // Final Stage: Apply c_k+1=p_k&H_k_0 - assign c[1]=g[0]; - - assign h[1]=H_1_0; assign c[2]=p[1]&H_1_0; - assign h[2]=H_2_0; assign c[3]=p[2]&H_2_0; - assign h[3]=H_3_0; assign c[4]=p[3]&H_3_0; - assign h[4]=H_4_0; assign c[5]=p[4]&H_4_0; - assign h[5]=H_5_0; assign c[6]=p[5]&H_5_0; - assign h[6]=H_6_0; assign c[7]=p[6]&H_6_0; - assign h[7]=H_7_0; assign c[8]=p[7]&H_7_0; - assign h[8]=H_8_0; assign c[9]=p[8]&H_8_0; - - assign h[9]=H_9_0; assign c[10]=p[9]&H_9_0; - assign h[10]=H_10_0; assign c[11]=p[10]&H_10_0; - assign h[11]=H_11_0; assign c[12]=p[11]&H_11_0; - assign h[12]=H_12_0; assign c[13]=p[12]&H_12_0; - assign h[13]=H_13_0; assign c[14]=p[13]&H_13_0; - assign h[14]=H_14_0; assign c[15]=p[14]&H_14_0; - -endmodule // kogge_stone diff --git a/wally-pipelined/src/fpu/black_gray_cells.sv b/wally-pipelined/src/fpu/black_gray_cells.sv deleted file mode 100644 index 5b62b30d..00000000 --- a/wally-pipelined/src/fpu/black_gray_cells.sv +++ /dev/null @@ -1,43 +0,0 @@ - -// Black cell -module black(gout, pout, gin, pin); - - input [1:0] gin, pin; - output gout, pout; - - assign pout=pin[1]&pin[0]; - assign gout=gin[1]|(pin[1]&gin[0]); - -endmodule // black - -// Grey cell -module grey(gout, gin, pin); - - input[1:0] gin; - input pin; - output gout; - - assign gout=gin[1]|(pin&gin[0]); - -endmodule // grey - -// reduced Black cell -module rblk(hout, iout, gin, pin); - - input [1:0] gin, pin; - output hout, iout; - - assign iout=pin[1]&pin[0]; - assign hout=gin[1]|gin[0]; - -endmodule // rblk - -// reduced Grey cell -module rgry(hout, gin); - - input[1:0] gin; - output hout; - - assign hout=gin[1]|gin[0]; - -endmodule // rgry diff --git a/wally-pipelined/src/fpu/cla12.sv b/wally-pipelined/src/fpu/cla12.sv old mode 100755 new mode 100644 diff --git a/wally-pipelined/src/fpu/cla52.sv b/wally-pipelined/src/fpu/cla52.sv old mode 100755 new mode 100644 diff --git a/wally-pipelined/src/fpu/cla64.sv b/wally-pipelined/src/fpu/cla64.sv index 6b977ac3..6d28be10 100755 --- a/wally-pipelined/src/fpu/cla64.sv +++ b/wally-pipelined/src/fpu/cla64.sv @@ -207,7 +207,7 @@ module cla64 (S, X, Y, Sub); assign Bbar = B ^ {64{Sub}}; endmodule // cla64 - + // This module performs 64-bit subtraction. It is used to get the two's complement // of main addition or subtraction in the floating point adder. diff --git a/wally-pipelined/src/fpu/convert_inputs.sv b/wally-pipelined/src/fpu/convert_inputs.sv index 25f72c49..628519a7 100755 --- a/wally-pipelined/src/fpu/convert_inputs.sv +++ b/wally-pipelined/src/fpu/convert_inputs.sv @@ -5,19 +5,19 @@ // and modifies the sign of op1. The converted operands are Float1 // and Float2. -module convert_inputs(Float1, Float2, op1, op2, op_type, P); - - input [63:0] op1; // 1st input operand (A) - input [63:0] op2; // 2nd input operand (B) - input [3:0] op_type; // Function opcode - input P; // Result Precision (0 for double, 1 for single) +module convert_inputs( + input [63:0] op1, // 1st input operand (A) + input [63:0] op2, // 2nd input operand (B) + input [3:0] op_type, // Function opcode + input P, // Result Precision (0 for double, 1 for single) - output [63:0] Float1; // Converted 1st input operand - output [63:0] Float2; // Converted 2nd input operand - - wire conv_SP; // Convert from SP to DP - wire negate; // Operation is negation - wire abs_val; // Operation is absolute value + output [63:0] Float1, // Converted 1st input operand + output [63:0] Float2 // Converted 2nd input operand +); + + wire conv_SP; // Convert from SP to DP + wire negate; // Operation is negation + wire abs_val; // Operation is absolute value wire Zexp1; // One if the exponent of op1 is zero wire Zexp2; // One if the exponent of op2 is zero wire Oexp1; // One if the exponent of op1 is all ones @@ -33,14 +33,6 @@ module convert_inputs(Float1, Float2, op1, op2, op_type, P); assign Zexp2 = ~(|op2[30:23]); assign Oexp1 = (&op1[30:23]); assign Oexp2 = (&op2[30:23]); - // assign Zexp1 = ~(op1[62] | op1[61] | op1[60] | op1[59] | - // op1[58] | op1[57] | op1[56] | op1[55]); - // assign Zexp2 = ~(op2[62] | op2[61] | op2[60] | op2[59] | - // op2[58] | op2[57] | op2[56] | op2[55]); - // assign Oexp1 = (op1[62] & op1[61] & op1[60] & op1[59] & - // op1[58] & op1[57] & op1[56] & op1[55]); - // assign Oexp2 = (op2[62] & op2[61] & op2[60] & op2[59] & - // op2[58] & op2[57] & op2[56] &op2[55]); // Conditionally convert op1. Lower 29 bits are zero for single precision. assign Float1[62:29] = conv_SP ? {op1[30], {3{(~op1[30]&~Zexp1)|Oexp1}}, op1[29:0]} @@ -57,7 +49,7 @@ module convert_inputs(Float1, Float2, op1, op2, op_type, P); // is negation (op_type = 101) or absolute value (op_type = 100) assign negate = op_type[2] & ~op_type[1] & op_type[0]; - assign abs_val = op_type[2] & ~op_type[1] & ~op_type[0]; + assign abs_val = op_type[2] & ~op_type[1] & ~op_type[0]; //*** remove abs_val assign Float1[63] = conv_SP ? (op1[31] ^ negate) & ~abs_val : (op1[63] ^ negate) & ~abs_val; assign Float2[63] = conv_SP ? op2[31] : op2[63]; diff --git a/wally-pipelined/src/fpu/convert_inputs_div.sv b/wally-pipelined/src/fpu/convert_inputs_div.sv index 5ee88ca6..9d6d75c2 100755 --- a/wally-pipelined/src/fpu/convert_inputs_div.sv +++ b/wally-pipelined/src/fpu/convert_inputs_div.sv @@ -3,21 +3,22 @@ // it conditionally converts single precision values to double // precision values and modifies the sign of op1. // The converted operands are Float1 and Float2. -module convert_inputs_div (Float1, Float2b, op1, op2, op_type, P); +module convert_inputs_div ( - input logic [63:0] op1; // 1st input operand (A) - input logic [63:0] op2; // 2nd input operand (B) - input logic P; // Result Precision (0 for double, 1 for single) - input logic op_type; // Operation + input logic [63:0] op1, // 1st input operand (A) + input logic [63:0] op2, // 2nd input operand (B) + input logic P, // Result Precision (0 for double, 1 for single) + input logic op_type, // Operation - output logic [63:0] Float1; // Converted 1st input operand - output logic [63:0] Float2b; // Converted 2nd input operand + output logic [63:0] Float1, // Converted 1st input operand + output logic [63:0] Float2b // Converted 2nd input operand +); logic [63:0] Float2; - logic Zexp1; // One if the exponent of op1 is zero - logic Zexp2; // One if the exponent of op2 is zero - logic Oexp1; // One if the exponent of op1 is all ones - logic Oexp2; // One if the exponent of op2 is all ones + logic Zexp1; // One if the exponent of op1 is zero + logic Zexp2; // One if the exponent of op2 is zero + logic Oexp1; // One if the exponent of op1 is all ones + logic Oexp2; // One if the exponent of op2 is all ones // Test if the input exponent is zero, because if it is then the // exponent of the converted number should be zero. diff --git a/wally-pipelined/src/fpu/divconv.sv b/wally-pipelined/src/fpu/divconv.sv index 7cfde7ad..271cd69a 100755 --- a/wally-pipelined/src/fpu/divconv.sv +++ b/wally-pipelined/src/fpu/divconv.sv @@ -1,25 +1,21 @@ -module divconv (q1, qm1, qp1, q0, qm0, qp0, rega_out, regb_out, regc_out, regd_out, - regr_out, d, n, sel_muxa, sel_muxb, sel_muxr, reset, clk, load_rega, load_regb, - load_regc, load_regd, load_regr, load_regs, P, op_type, exp_odd); +module divconv ( - input logic [52:0] d, n; - input logic [2:0] sel_muxa, sel_muxb; - input logic sel_muxr; - input logic load_rega, load_regb, load_regc, load_regd; - input logic load_regr, load_regs; - input logic P; - input logic op_type; - input logic exp_odd; - input logic reset; - input logic clk; + input logic [52:0] d, n, + input logic [2:0] sel_muxa, sel_muxb, + input logic sel_muxr, + input logic load_rega, load_regb, load_regc, load_regd, + input logic load_regr, load_regs, + input logic P, + input logic op_type, + input logic exp_odd, + input logic reset, + input logic clk, - output logic [63:0] q1, qp1, qm1; - output logic [63:0] q0, qp0, qm0; - output logic [63:0] rega_out, regb_out, regc_out, regd_out; - output logic [127:0] regr_out; - - supply1 vdd; - supply0 vss; + output logic [63:0] q1, qp1, qm1, + output logic [63:0] q0, qp0, qm0, + output logic [63:0] rega_out, regb_out, regc_out, regd_out, + output logic [127:0] regr_out +); logic [63:0] muxa_out, muxb_out; logic [10:0] ia_div, ia_sqrt; @@ -36,12 +32,12 @@ module divconv (q1, qm1, qp1, q0, qm0, qp0, rega_out, regb_out, regc_out, regd_o logic [63:0] q_const, qp_const, qm_const; logic [63:0] d2, n2; logic [11:0] d3; - logic muxr_out; - logic cout1, cout2, cout3, cout4, cout5, cout6, cout7; + logic muxr_out; + logic cout1, cout2, cout3, cout4, cout5, cout6, cout7; // Check if exponent is odd for sqrt // If exp_odd=1 and sqrt, then M/2 and use ia_addr=0 as IA - assign d2 = (exp_odd&op_type) ? {vss,d,10'h0} : {d,11'h0}; + assign d2 = (exp_odd&op_type) ? {1'b0,d,10'h0} : {d,11'h0}; assign n2 = op_type ? d2 : {n,11'h0}; // IA div/sqrt @@ -62,10 +58,7 @@ module divconv (q1, qm1, qp1, q0, qm0, qp0, rega_out, regb_out, regc_out, regd_o mux2 #(64) mx4 (q0, q1, q1[63], mcand_q); mux2 #(64) mx5 (muxb_out, mcand_q, sel_muxr&op_type, mplier); mux2 #(64) mx6 (muxa_out, mcand_q, sel_muxr, mcand); - // TDM multiplier (carry/save) - multiplier mult1 (mcand, mplier, Sum, Carry); // Q*D - N (reversed but changed in rounder.v to account for sign reversal) - csa #(128) csa1 (Sum, Carry, constant, Sum2, Carry2); // Add ulp for subtraction in remainder mux2 #(1) mx7 (1'b0, 1'b1, sel_muxr, muxr_out); @@ -74,24 +67,17 @@ module divconv (q1, qm1, qp1, q0, qm0, qp0, rega_out, regb_out, regc_out, regd_o mux2 #(64) mx9 ({64'h0000_0000_0000_0A00}, {64'h0000_0140_0000_0000}, P, qp_const); mux2 #(64) mxA ({64'hFFFF_FFFF_FFFF_F9FF}, {64'hFFFF_FF3F_FFFF_FFFF}, P, qm_const); - // CPA (from CSA)/Remainder addition/subtraction - // adder #(128) cpa1 (Sum2, Carry2, muxr_out, mul_out, cout1); - assign {cout1, mul_out} = Sum2 + Carry2 + muxr_out; + // CPA (from CSA)/Remainder addition/subtraction + assign {cout1, mul_out} = (mcand*mplier) + constant + muxr_out; // Assuming [1,2) - q1 - // adder #(64) cpa2 (regb_out, q_const, 1'b0, q_out1, cout2); assign {cout2, q_out1} = regb_out + q_const; - // adder #(64) cpa3 (regb_out, qp_const, 1'b0, qp_out1, cout3); assign {cout3, qp_out1} = regb_out + qp_const; - // adder #(64) cpa4 (regb_out, qm_const, 1'b1, qm_out1, cout4); assign {cout4, qm_out1} = regb_out + qm_const + 1'b1; // Assuming [0.5,1) - q0 - // adder #(64) cpa5 ({regb_out[62:0], vss}, q_const, 1'b0, q_out0, cout5); - assign {cout5, q_out0} = {regb_out[62:0], vss} + q_const; - // adder #(64) cpa6 ({regb_out[62:0], vss}, qp_const, 1'b0, qp_out0, cout6); - assign {cout6, qp_out0} = {regb_out[62:0], vss} + qp_const; - // adder #(64) cpa7 ({regb_out[62:0], vss}, qm_const, 1'b1, qm_out0, cout7); - assign {cout7, qm_out0} = {regb_out[62:0], vss} + qm_const + 1'b1; + assign {cout5, q_out0} = {regb_out[62:0], 1'b0} + q_const; + assign {cout6, qp_out0} = {regb_out[62:0], 1'b0} + qp_const; + assign {cout7, qm_out0} = {regb_out[62:0], 1'b0} + qm_const + 1'b1; // One's complement instead of two's complement (for hw efficiency) assign three = {~mul_out[126], mul_out[126], ~mul_out[125:63]}; @@ -114,151 +100,3 @@ module divconv (q1, qm1, qp1, q0, qm0, qp0, rega_out, regb_out, regc_out, regd_o endmodule // divconv -// module adder #(parameter WIDTH=8) -// (input logic [WIDTH-1:0] a, b, -// input logic cin, -// output logic [WIDTH-1:0] y, -// output logic cout); - -// assign {cout, y} = a + b + cin; - -// endmodule // adder - -// module flopenr #(parameter WIDTH = 8) -// (input logic clk, reset, en, -// input logic [WIDTH-1:0] d, -// output logic [WIDTH-1:0] q); - -// always_ff @(posedge clk, posedge reset) -// if (reset) q <= #10 0; -// else if (en) q <= #10 d; - -// endmodule // flopenr - -// module flopr #(parameter WIDTH = 8) -// (input logic clk, reset, -// input logic [WIDTH-1:0] d, -// output logic [WIDTH-1:0] q); - -// always_ff @(posedge clk, posedge reset) -// if (reset) q <= #10 0; -// else q <= #10 d; - -// endmodule // flopr - -// module flopenrc #(parameter WIDTH = 8) -// (input logic clk, reset, en, clear, -// input logic [WIDTH-1:0] d, -// output logic [WIDTH-1:0] q); - -// always_ff @(posedge clk, posedge reset) -// if (reset) q <= #10 0; -// else if (en) -// if (clear) q <= #10 0; -// else q <= #10 d; - -// endmodule // flopenrc - -// module floprc #(parameter WIDTH = 8) -// (input logic clk, reset, clear, -// input logic [WIDTH-1:0] d, -// output logic [WIDTH-1:0] q); - -// always_ff @(posedge clk, posedge reset) -// if (reset) q <= #10 0; -// else -// if (clear) q <= #10 0; -// else q <= #10 d; - -// endmodule // floprc - -// module mux2 #(parameter WIDTH = 8) -// (input logic [WIDTH-1:0] d0, d1, -// input logic s, -// output logic [WIDTH-1:0] y); - -// assign y = s ? d1 : d0; - -// endmodule // mux2 - -// module mux3 #(parameter WIDTH = 8) -// (input logic [WIDTH-1:0] d0, d1, d2, -// input logic [1:0] s, -// output logic [WIDTH-1:0] y); - -// assign y = s[1] ? d2 : (s[0] ? d1 : d0); - -// endmodule // mux3 - -// module mux4 #(parameter WIDTH = 8) -// (input logic [WIDTH-1:0] d0, d1, d2, d3, -// input logic [1:0] s, -// output logic [WIDTH-1:0] y); - -// assign y = s[1] ? (s[0] ? d3 : d2) : (s[0] ? d1 : d0); - -// endmodule // mux4 - -// module mux5 #(parameter WIDTH = 8) -// (input logic [WIDTH-1:0] d0, d1, d2, d3, d4, -// input logic [2:0] s, -// output logic [WIDTH-1:0] y); - -// always_comb -// casez (s) -// 3'b000 : y = d0; -// 3'b001 : y = d1; -// 3'b010 : y = d2; -// 3'b011 : y = d3; -// 3'b1?? : y = d4; -// endcase // casez (s) - -// endmodule // mux5 - -// module mux6 #(parameter WIDTH = 8) -// (input logic [WIDTH-1:0] d0, d1, d2, d3, d4, d5, -// input logic [2:0] s, -// output logic [WIDTH-1:0] y); - -// always_comb -// casez (s) -// 3'b000 : y = d0; -// 3'b001 : y = d1; -// 3'b010 : y = d2; -// 3'b011 : y = d3; -// 3'b10? : y = d4; -// 3'b11? : y = d5; -// endcase // casez (s) - -// endmodule // mux6 - -module eqcmp #(parameter WIDTH = 8) - (input logic [WIDTH-1:0] a, b, - output logic y); - - assign y = (a == b); - -endmodule // eqcmp - -// module fa (input logic a, b, c, output logic sum, carry); - -// assign sum = a^b^c; -// assign carry = a&b|a&c|b&c; - -// endmodule // fa - -// module csa #(parameter WIDTH=8) -// (input logic [WIDTH-1:0] a, b, c, -// output logic [WIDTH-1:0] sum, carry); - -// logic [WIDTH:0] carry_temp; -// genvar i; -// generate -// for (i=0;i fp + + // convert // fcvt.w.s = 0010 // fcvt.wu.s = 0110 // fcvt.s.w = 0001 // fcvt.s.wu = 0101 - // fcvt.s.d = 0000 // fcvt.l.s = 1010 // fcvt.lu.s = 1110 // fcvt.s.l = 1001 // fcvt.s.lu = 1101 - // fcvt.w.d = 0010 + // fcvt.w.d = 0010 // fcvt.wu.d = 0110 // fcvt.d.w = 0001 // fcvt.d.wu = 0101 - // fcvt.d.s = 0000 // fcvt.l.d = 1010 // fcvt.lu.d = 1110 // fcvt.d.l = 1001 // fcvt.d.lu = 1101 - // {long, unsigned, to int, from int} Fmt controls the output for fp -> fp - - // fmv.w.x = ???0 - // fmv.w.d = ???1 - - // flw = ?000 - // fld = ?001 - // fsw = ?010 - // fsd = ?011 - // fmv.x.w = ?100 - // fmv.x.d = ?101 - // {?, is mv, is store, is double or fmv} + // {long, unsigned, to int, from int} endmodule diff --git a/wally-pipelined/src/fpu/fcvt.sv b/wally-pipelined/src/fpu/fcvt.sv index 665b69ea..84355738 100644 --- a/wally-pipelined/src/fpu/fcvt.sv +++ b/wally-pipelined/src/fpu/fcvt.sv @@ -1,36 +1,37 @@ -`include "wally-config.vh" +//`include "wally-config.vh" +`include "../../config/rv64icfd/wally-config.vh" module fcvt ( - input logic XSgnE, - input logic [10:0] XExpE, - input logic [52:0] XManE, - input logic XZeroE, - input logic XNaNE, - input logic XInfE, - input logic XDenormE, - input logic [10:0] BiasE, - input logic [`XLEN-1:0] SrcAE, // integer input - input logic [3:0] FOpCtrlE, // chooses which instruction is done (full list below) - input logic [2:0] FrmE, // rounding mode 000 = rount to nearest, ties to even 001 = round twords zero 010 = round down 011 = round up 100 = round to nearest, ties to max magnitude - input logic FmtE, // precision 1 = double 0 = single - output logic [63:0] CvtResE, // convert final result - output logic [4:0] CvtFlgE); // convert flags {invalid, divide by zero, overflow, underflow, inexact} + input logic XSgnE, // X's sign + input logic [10:0] XExpE, // X's exponent + input logic [52:0] XManE, // X's fraction + input logic XZeroE, // is X zero + input logic XNaNE, // is X NaN + input logic XInfE, // is X infinity + input logic XDenormE, // is X denormalized + input logic [10:0] BiasE, // bias - depends on precision (max exponent/2) + input logic [`XLEN-1:0] SrcAE, // integer input + input logic [3:0] FOpCtrlE, // chooses which instruction is done (full list below) + input logic [2:0] FrmE, // rounding mode 000 = rount to nearest, ties to even 001 = round twords zero 010 = round down 011 = round up 100 = round to nearest, ties to max magnitude + input logic FmtE, // precision 1 = double 0 = single + output logic [63:0] CvtResE, // convert final result + output logic [4:0] CvtFlgE); // convert flags {invalid, divide by zero, overflow, underflow, inexact} - logic ResSgn; // FP result's sign - logic [10:0] ResExp,TmpExp; // FP result's exponent - logic [51:0] ResFrac; // FP result's fraction - logic [5:0] LZResP; // lz output - logic [7:0] Bits; // how many bits are in the integer result - logic [7:0] SubBits; // subtract these bits from the exponent (FP result) - logic [64+51:0] ShiftedManTmp; // Shifted mantissa - logic [64+51:0] ShiftVal; // value being shifted (to int - XMan, to FP - |integer input|) - logic [64+1:0] ShiftedMan; // shifted mantissa truncated + logic ResSgn; // FP result's sign + logic [10:0] ResExp,TmpExp; // FP result's exponent + logic [51:0] ResFrac; // FP result's fraction + logic [5:0] LZResP; // lz output + logic [7:0] Bits; // how many bits are in the integer result + logic [7:0] SubBits; // subtract these bits from the exponent (FP result) + logic [64+51:0] ShiftedManTmp; // Shifted mantissa + logic [64+51:0] ShiftVal; // value being shifted (to int - XMan, to FP - |integer input|) + logic [64+1:0] ShiftedMan; // shifted mantissa truncated logic [64:0] RoundedTmp; // full size rounded result - in case of overfow logic [63:0] Rounded; // rounded result logic [12:0] ExpVal; // unbiased X exponent logic [12:0] ShiftCnt; // how much is the mantissa shifted - logic [64-1:0] IntIn; // trimed integer input - logic [64-1:0] PosInt; // absolute value of the integer input + logic [64-1:0] IntIn; // trimed integer input + logic [64-1:0] PosInt; // absolute value of the integer input logic [63:0] CvtIntRes; // interger result from the fp -> int instructions logic [63:0] CvtFPRes; // floating point result from the int -> fp instructions logic Of, Uf; // did the integer result underflow or overflow @@ -61,11 +62,9 @@ module fcvt ( // {long, unsigned, to int, from int} // calculate signals based off the input and output's size - // assign Bias = FmtE ? 12'h3ff : 12'h7f; - assign Res64 = ((FOpCtrlE==4'b1010 || FOpCtrlE==4'b1110) | (FmtE&(FOpCtrlE==4'b0001 | FOpCtrlE==4'b0101 | FOpCtrlE==4'b0000 | FOpCtrlE==4'b1001 | FOpCtrlE==4'b1101))); - assign In64 = ((FOpCtrlE==4'b1001 || FOpCtrlE==4'b1101) | (FmtE&(FOpCtrlE==4'b0010 | FOpCtrlE==4'b0110 | FOpCtrlE==4'b1010 | FOpCtrlE==4'b1110) | (FOpCtrlE==4'b1101 & ~FmtE))); - //assign SubBits = In64 ? 8'd64 : 8'd32; - assign SubBits = 8'd64; + assign Res64 = (FOpCtrlE[1]&FOpCtrlE[3]) | (FmtE&FOpCtrlE[0]); + assign In64 = (FOpCtrlE[0]&FOpCtrlE[3]) | (FmtE&FOpCtrlE[1]); + assign SubBits = In64 ? 8'd64 : 8'd32; assign Bits = Res64 ? 8'd64 : 8'd32; // calulate the unbiased exponent @@ -80,15 +79,6 @@ module fcvt ( // determine the integer's sign assign ResSgn = ~FOpCtrlE[2] ? IntIn[64-1] : 1'b0; - // generate - // if(`XLEN == 64) - // lz64 lz(LZResP, LZResV, PosInt); - // else if(`XLEN == 32) begin - // assign LZResP[5] = 1'b0; - // lz32 lz(LZResP[4:0], LZResV, PosInt); - // end - // endgenerate - // Leading one detector logic [8:0] i; always_comb begin @@ -98,7 +88,7 @@ module fcvt ( end // if no one was found set to zero otherwise calculate the exponent - assign TmpExp = i==`XLEN ? 0 : BiasE + SubBits - LZResP; + assign TmpExp = i==`XLEN ? 0 : FmtE ? 1023 + SubBits - LZResP : 127 + SubBits - LZResP; diff --git a/wally-pipelined/src/fpu/fdivsqrt.sv b/wally-pipelined/src/fpu/fdivsqrt.sv deleted file mode 100755 index 8510bcc5..00000000 --- a/wally-pipelined/src/fpu/fdivsqrt.sv +++ /dev/null @@ -1,256 +0,0 @@ -// // -// // File name : fpdiv -// // Title : Floating-Point Divider/Square-Root -// // project : FPU -// // Library : fpdiv -// // Author(s) : James E. Stine, Jr. -// // Purpose : definition of main unit to floating-point div/sqrt -// // notes : -// // -// // Copyright Oklahoma State University -// // -// // Basic Operations -// // -// // Step 1: Load operands, set flags, and convert SP to DP -// // Step 2: Check for special inputs ( +/- Infinity, NaN) -// // Step 3: Exponent Logic -// // Step 4: Divide/Sqrt using Goldschmidt -// // Step 5: Normalize the result.// -// // Shift left until normalized. Normalized when the value to the -// // left of the binrary point is 1. -// // Step 6: Round the result.// -// // Step 7: Put quotient/remainder onto output. -// // - -// // `timescale 1ps/1ps -// module fdivsqrt (FDivSqrtDoneE, FDivResultM, FDivSqrtFlgM, DivInput1E, DivInput2E, FrmE, DivOpType, FmtE, DivOvEn, DivUnEn, -// FDivStartE, reset, clk, FDivBusyE, HoldInputs); - -// input [63:0] DivInput1E; // 1st input operand (A) -// input [63:0] DivInput2E; // 2nd input operand (B) -// input [2:0] FrmE; // Rounding mode - specify values -// input DivOpType; // Function opcode -// input FmtE; // Result Precision (0 for double, 1 for single) //***will need to swap this -// input DivOvEn; // Overflow trap enabled -// input DivUnEn; // Underflow trap enabled - -// input FDivStartE; -// input reset; -// input clk; - -// output [63:0] FDivResultM; // Result of operation -// output [4:0] FDivSqrtFlgM; // IEEE exception flags -// output FDivSqrtDoneE; -// output FDivBusyE, HoldInputs; - -// supply1 vdd; -// supply0 vss; - -// wire [63:0] Float1; -// wire [63:0] Float2; -// wire [63:0] IntValue; - -// wire DivDenormM; // DivDenormM on input or output -// wire [12:0] exp1, exp2, expF; -// wire [12:0] exp_diff, bias; -// wire [13:0] exp_sqrt; -// wire [12:0] exp_s; -// wire [12:0] exp_c; - -// wire [10:0] exponent, exp_pre; -// wire [63:0] Result; -// wire [52:0] mantissaA; -// wire [52:0] mantissaB; -// wire [63:0] sum, sum_tc, sum_corr, sum_norm; - -// wire [5:0] align_shift; -// wire [5:0] norm_shift; -// wire [2:0] sel_inv; -// wire op1_Norm, op2_Norm; -// wire opA_Norm, opB_Norm; -// wire Invalid; -// wire DenormIn, DenormIO; -// wire [4:0] FlagsIn; -// wire exp_gt63; -// wire Sticky_out; -// wire signResult, sign_corr; -// wire corr_sign; -// wire zeroB; -// wire convert; -// wire swap; -// wire sub; - -// wire [63:0] q1, qm1, qp1, q0, qm0, qp0; -// wire [63:0] rega_out, regb_out, regc_out, regd_out; -// wire [127:0] regr_out; -// wire [2:0] sel_muxa, sel_muxb; -// wire sel_muxr; -// wire load_rega, load_regb, load_regc, load_regd, load_regr, load_regs; - -// wire donev, sel_muxrv, sel_muxsv; -// wire [1:0] sel_muxav, sel_muxbv; -// wire load_regav, load_regbv, load_regcv; -// wire load_regrv, load_regsv; - -// logic exp_cout1, exp_cout2, exp_odd, open; - - -// // Convert the input operands to their appropriate forms based on -// // the orignal operands, the DivOpType , and their precision FmtE. -// // Single precision inputs are converted to double precision -// // and the sign of the first operand is set appropratiately based on -// // if the operation is absolute value or negation. -// convert_inputs_div divconv1 (Float1, Float2, DivInput1E, DivInput2E, DivOpType, FmtE); - -// // Test for exceptions and return the "Invalid Operation" and -// // "Denormalized" Input FDivSqrtFlgM. The "sel_inv" is used in -// // the third pipeline stage to select the result. Also, op1_Norm -// // and op2_Norm are one if DivInput1E and DivInput2E are not zero or denormalized. -// // sub is one if the effective operation is subtaction. -// exception_div divexc1 (sel_inv, Invalid, DenormIn, op1_Norm, op2_Norm, -// Float1, Float2, DivOpType); - -// // Determine Sign/Mantissa -// assign signResult = ((Float1[63]^Float2[63])&~DivOpType) | Float1[63]&DivOpType; -// assign mantissaA = {vdd, Float1[51:0]}; -// assign mantissaB = {vdd, Float2[51:0]}; -// // Perform Exponent Subtraction - expA - expB + Bias -// assign exp1 = {2'b0, Float1[62:52]}; -// assign exp2 = {2'b0, Float2[62:52]}; -// // bias : DP = 2^{11-1}-1 = 1023 -// assign bias = {3'h0, 10'h3FF}; -// // Divide exponent -// csa #(13) csa1 (exp1, ~exp2, bias, exp_s, exp_c); //***adder -// exp_add explogic1 (exp_cout1, {open, exp_diff}, //***adder? -// {vss, exp_s}, {vss, exp_c}, 1'b1); -// // Sqrt exponent (check if exponent is odd) -// assign exp_odd = Float1[52] ? vss : vdd; -// exp_add explogic2 (exp_cout2, exp_sqrt, //***adder? -// {vss, exp1}, {4'h0, 10'h3ff}, exp_odd); -// // Choose correct exponent -// assign expF = DivOpType ? exp_sqrt[13:1] : exp_diff; - -// // Main Goldschmidt/Division Routine -// divconv goldy (q1, qm1, qp1, q0, qm0, qp0, -// rega_out, regb_out, regc_out, regd_out, -// regr_out, mantissaB, mantissaA, -// sel_muxa, sel_muxb, sel_muxr, -// reset, clk, -// load_rega, load_regb, load_regc, load_regd, -// load_regr, load_regs, FmtE, DivOpType, exp_odd); - -// // FSM : control divider -// fsm control (FDivSqrtDoneE, load_rega, load_regb, load_regc, load_regd, -// load_regr, load_regs, sel_muxa, sel_muxb, sel_muxr, -// clk, reset, FDivStartE, DivOpType, FDivBusyE, HoldInputs); - -// // Round the mantissa to a 52-bit value, with the leading one -// // removed. The rounding units also handles special cases and -// // set the exception flags. -// //***add max magnitude and swap negitive and positive infinity -// rounder_div divround1 (Result, DenormIO, FlagsIn, -// FrmE, FmtE, DivOvEn, DivUnEn, expF, -// sel_inv, Invalid, DenormIn, signResult, -// q1, qm1, qp1, q0, qm0, qp0, regr_out); - -// // Store the final result and the exception flags in registers. -// flopenr #(64) rega (clk, reset, FDivSqrtDoneE, Result, FDivResultM); -// flopenr #(1) regb (clk, reset, FDivSqrtDoneE, DenormIO, DivDenormM); -// flopenr #(5) regc (clk, reset, FDivSqrtDoneE, FlagsIn, FDivSqrtFlgM); - -// endmodule // fpadd - -// // -// // Brent-Kung Prefix Adder -// // (yes, it is 14 bits as my generator is broken for 13 bits :( -// // assume, synthesizer will delete stuff not needed ) -// // -// module exp_add (cout, sum, a, b, cin); - -// input [13:0] a, b; -// input cin; - -// output [13:0] sum; -// output cout; - -// wire [14:0] p,g; -// wire [13:0] c; - -// // pre-computation -// assign p={a^b,1'b0}; -// assign g={a&b, cin}; - -// // prefix tree -// brent_kung prefix_tree(c, p[13:0], g[13:0]); - -// // post-computation -// assign sum=p[14:1]^c; -// assign cout=g[14]|(p[14]&c[13]); - -// endmodule // exp_add - -// module brent_kung (c, p, g); - -// input [13:0] p; -// input [13:0] g; -// output [14:1] c; - -// logic G_1_0, G_3_2,G_5_4,G_7_6,G_9_8,G_11_10,G_13_12,G_3_0,G_7_4,G_11_8; -// logic P_3_2,P_5_4,P_7_6,P_9_8,P_11_10,P_13_12,P_7_4,P_11_8; -// logic G_7_0,G_11_0,G_5_0,G_9_0,G_13_0,G_2_0,G_4_0,G_6_0,G_8_0,G_10_0,G_12_0; -// // parallel-prefix, Brent-Kung - -// // Stage 1: Generates G/FmtE pairs that span 1 bits -// grey b_1_0 (G_1_0, {g[1],g[0]}, p[1]); -// black b_3_2 (G_3_2, P_3_2, {g[3],g[2]}, {p[3],p[2]}); -// black b_5_4 (G_5_4, P_5_4, {g[5],g[4]}, {p[5],p[4]}); -// black b_7_6 (G_7_6, P_7_6, {g[7],g[6]}, {p[7],p[6]}); -// black b_9_8 (G_9_8, P_9_8, {g[9],g[8]}, {p[9],p[8]}); -// black b_11_10 (G_11_10, P_11_10, {g[11],g[10]}, {p[11],p[10]}); -// black b_13_12 (G_13_12, P_13_12, {g[13],g[12]}, {p[13],p[12]}); - -// // Stage 2: Generates G/FmtE pairs that span 2 bits -// grey g_3_0 (G_3_0, {G_3_2,G_1_0}, P_3_2); -// black b_7_4 (G_7_4, P_7_4, {G_7_6,G_5_4}, {P_7_6,P_5_4}); -// black b_11_8 (G_11_8, P_11_8, {G_11_10,G_9_8}, {P_11_10,P_9_8}); - -// // Stage 3: Generates G/FmtE pairs that span 4 bits -// grey g_7_0 (G_7_0, {G_7_4,G_3_0}, P_7_4); - -// // Stage 4: Generates G/FmtE pairs that span 8 bits - -// // Stage 5: Generates G/FmtE pairs that span 4 bits -// grey g_11_0 (G_11_0, {G_11_8,G_7_0}, P_11_8); - -// // Stage 6: Generates G/FmtE pairs that span 2 bits -// grey g_5_0 (G_5_0, {G_5_4,G_3_0}, P_5_4); -// grey g_9_0 (G_9_0, {G_9_8,G_7_0}, P_9_8); -// grey g_13_0 (G_13_0, {G_13_12,G_11_0}, P_13_12); - -// // Last grey cell stage -// grey g_2_0 (G_2_0, {g[2],G_1_0}, p[2]); -// grey g_4_0 (G_4_0, {g[4],G_3_0}, p[4]); -// grey g_6_0 (G_6_0, {g[6],G_5_0}, p[6]); -// grey g_8_0 (G_8_0, {g[8],G_7_0}, p[8]); -// grey g_10_0 (G_10_0, {g[10],G_9_0}, p[10]); -// grey g_12_0 (G_12_0, {g[12],G_11_0}, p[12]); - -// // Final Stage: Apply c_k+1=G_k_0 -// assign c[1]=g[0]; -// assign c[2]=G_1_0; -// assign c[3]=G_2_0; -// assign c[4]=G_3_0; -// assign c[5]=G_4_0; -// assign c[6]=G_5_0; -// assign c[7]=G_6_0; -// assign c[8]=G_7_0; -// assign c[9]=G_8_0; - -// assign c[10]=G_9_0; -// assign c[11]=G_10_0; -// assign c[12]=G_11_0; -// assign c[13]=G_12_0; -// assign c[14]=G_13_0; - -// endmodule // brent_kung - diff --git a/wally-pipelined/src/fpu/fhazard.sv b/wally-pipelined/src/fpu/fhazard.sv index 2d3e2330..88d3b8fb 100644 --- a/wally-pipelined/src/fpu/fhazard.sv +++ b/wally-pipelined/src/fpu/fhazard.sv @@ -26,41 +26,47 @@ `include "wally-config.vh" module fhazard( - input logic [4:0] Adr1E, Adr2E, Adr3E, - input logic FRegWriteM, FRegWriteW, - input logic [4:0] RdM, RdW, - input logic [2:0] FResultSelM, - output logic FStallD, - output logic [1:0] FForwardXE, FForwardYE, FForwardZE + input logic [4:0] Adr1E, Adr2E, Adr3E, // read data adresses + input logic FRegWriteM, FRegWriteW, // is the fp register being written to + input logic [4:0] RdM, RdW, // the adress being written to + input logic [2:0] FResultSelM, // the result being selected + output logic FStallD, // stall the decode stage + output logic [1:0] FForwardXE, FForwardYE, FForwardZE // select a forwarded value ); always_comb begin - // set ReadData as default + // set defaults FForwardXE = 2'b00; // choose FRD1E FForwardYE = 2'b00; // choose FRD2E FForwardZE = 2'b00; // choose FRD3E FStallD = 0; - if ((Adr1E == RdM) & FRegWriteM) - // if the result will be FResM - if(FResultSelM == 3'b100) FForwardXE = 2'b10; // choose FResM - else FStallD = 1; // if the result won't be ready stall - else if ((Adr1E == RdW) & FRegWriteW) FForwardXE = 2'b01; // choose FPUResult64W - + // if the needed value is in the memory stage - input 1 + if ((Adr1E == RdM) & FRegWriteM) + // if the result will be FResM (can be taken from the memory stage) + if(FResultSelM == 3'b100) FForwardXE = 2'b10; // choose FResM + else FStallD = 1; // otherwise stall + // if the needed value is in the writeback stage + else if ((Adr1E == RdW) & FRegWriteW) FForwardXE = 2'b01; // choose FPUResult64W + - if ((Adr2E == RdM) & FRegWriteM) - // if the result will be FResM - if(FResultSelM == 3'b100) FForwardYE = 2'b10; // choose FResM - else FStallD = 1; // if the result won't be ready stall - else if ((Adr2E == RdW) & FRegWriteW) FForwardYE = 2'b01; // choose FPUResult64W + // if the needed value is in the memory stage - input 2 + if ((Adr2E == RdM) & FRegWriteM) + // if the result will be FResM (can be taken from the memory stage) + if(FResultSelM == 3'b100) FForwardYE = 2'b10; // choose FResM + else FStallD = 1; // otherwise stall + // if the needed value is in the writeback stage + else if ((Adr2E == RdW) & FRegWriteW) FForwardYE = 2'b01; // choose FPUResult64W - - if ((Adr3E == RdM) & FRegWriteM) - // if the result will be FResM - if(FResultSelM == 3'b100) FForwardZE = 2'b10; // choose FResM - else FStallD = 1; // if the result won't be ready stall - else if ((Adr3E == RdW) & FRegWriteW) FForwardZE = 2'b01; // choose FPUResult64W + + // if the needed value is in the memory stage - input 3 + if ((Adr3E == RdM) & FRegWriteM) + // if the result will be FResM (can be taken from the memory stage) + if(FResultSelM == 3'b100) FForwardZE = 2'b10; // choose FResM + else FStallD = 1; // otherwise stall + // if the needed value is in the writeback stage + else if ((Adr3E == RdW) & FRegWriteW) FForwardZE = 2'b01; // choose FPUResult64W end diff --git a/wally-pipelined/src/fpu/fma.sv b/wally-pipelined/src/fpu/fma.sv index faab2012..0601db06 100644 --- a/wally-pipelined/src/fpu/fma.sv +++ b/wally-pipelined/src/fpu/fma.sv @@ -26,41 +26,50 @@ // `include "../../../config/rv64icfd/wally-config.vh" module fma( - input logic clk, - input logic reset, - input logic FlushM, - input logic StallM, - input logic FmtE, FmtM, // precision 1 = double 0 = single - input logic [2:0] FOpCtrlM, FOpCtrlE, // 000 = fmadd (X*Y)+Z, 001 = fmsub (X*Y)-Z, 010 = fnmsub -(X*Y)+Z, 011 = fnmadd -(X*Y)-Z, 100 = fmul (X*Y) - input logic [2:0] FrmM, // rounding mode 000 = rount to nearest, ties to even 001 = round twords zero 010 = round down 011 = round up 100 = round to nearest, ties to max magnitude - input logic XSgnE, YSgnE, ZSgnE, - input logic [`NE-1:0] XExpE, YExpE, ZExpE, - input logic [`NF:0] XManE, YManE, ZManE, - input logic XSgnM, YSgnM, ZSgnM, - input logic [`NE-1:0] XExpM, YExpM, ZExpM, // ***needed - input logic [`NF:0] XManM, YManM, ZManM, - input logic XDenormE, YDenormE, ZDenormE, - input logic XZeroE, YZeroE, ZZeroE, - input logic XNaNM, YNaNM, ZNaNM, - input logic XSNaNM, YSNaNM, ZSNaNM, - input logic XZeroM, YZeroM, ZZeroM, - input logic XInfM, YInfM, ZInfM, - input logic [10:0] BiasE, - output logic [`FLEN-1:0] FMAResM, - output logic [4:0] FMAFlgM); + input logic clk, + input logic reset, + input logic FlushM, // flush the memory stage + input logic StallM, // stall memory stage + input logic FmtE, FmtM, // precision 1 = double 0 = single + input logic [2:0] FOpCtrlM, FOpCtrlE, // 000 = fmadd (X*Y)+Z, 001 = fmsub (X*Y)-Z, 010 = fnmsub -(X*Y)+Z, 011 = fnmadd -(X*Y)-Z, 100 = fmul (X*Y) + input logic [2:0] FrmM, // rounding mode 000 = rount to nearest, ties to even 001 = round twords zero 010 = round down 011 = round up 100 = round to nearest, ties to max magnitude + input logic XSgnE, YSgnE, ZSgnE, // input signs - execute stage + input logic [`NE-1:0] XExpE, YExpE, ZExpE, // input exponents - execute stage + input logic [`NF:0] XManE, YManE, ZManE, // input mantissa - execute stage + input logic XSgnM, YSgnM, ZSgnM, // input signs - memory stage + input logic [`NE-1:0] XExpM, YExpM, ZExpM, // input exponents - memory stage + input logic [`NF:0] XManM, YManM, ZManM, // input mantissa - memory stage + input logic XDenormE, YDenormE, ZDenormE, // is denorm + input logic XZeroE, YZeroE, ZZeroE, // is zero - execute stage + input logic XNaNM, YNaNM, ZNaNM, // is NaN + input logic XSNaNM, YSNaNM, ZSNaNM, // is signaling NaN + input logic XZeroM, YZeroM, ZZeroM, // is zero - memory stage + input logic XInfM, YInfM, ZInfM, // is infinity + input logic [10:0] BiasE, // bias - depends on precison (max exponent/2) + output logic [`FLEN-1:0] FMAResM, // FMA result + output logic [4:0] FMAFlgM); // FMA flags + //fma/mult + // fmadd = ?000 + // fmsub = ?001 + // fnmsub = ?010 -(a*b)+c + // fnmadd = ?011 -(a*b)-c + // fmul = ?100 + // {?, is mul, negate product, negate addend} + // signals transfered between pipeline stages logic [2*`NF+1:0] ProdManE, ProdManM; logic [3*`NF+5:0] AlignedAddendE, AlignedAddendM; - logic [`NE+1:0] ProdExpE, ProdExpM; - logic AddendStickyE, AddendStickyM; - logic KillProdE, KillProdM; + logic [`NE+1:0] ProdExpE, ProdExpM; + logic AddendStickyE, AddendStickyM; + logic KillProdE, KillProdM; fma1 fma1 (.XExpE, .YExpE, .ZExpE, .XManE, .YManE, .ZManE, .BiasE, .XDenormE, .YDenormE, .ZDenormE, .XZeroE, .YZeroE, .ZZeroE, .FOpCtrlE, .FmtE, .ProdManE, .AlignedAddendE, .ProdExpE, .AddendStickyE, .KillProdE); + // E/M pipeline registers flopenrc #(106) EMRegFma1(clk, reset, FlushM, ~StallM, ProdManE, ProdManM); flopenrc #(162) EMRegFma2(clk, reset, FlushM, ~StallM, AlignedAddendE, AlignedAddendM); flopenrc #(13) EMRegFma3(clk, reset, FlushM, ~StallM, ProdExpE, ProdExpM); @@ -82,8 +91,8 @@ module fma1( // input logic XSgnE, YSgnE, ZSgnE, input logic [`NE-1:0] XExpE, YExpE, ZExpE, // biased exponents in B(NE.0) format input logic [`NF:0] XManE, YManE, ZManE, // fractions in U(0.NF) format] - input logic XDenormE, YDenormE, ZDenormE, - input logic XZeroE, YZeroE, ZZeroE, + input logic XDenormE, YDenormE, ZDenormE, // is the input denormal + input logic XZeroE, YZeroE, ZZeroE, // is the input zero input logic [`NE-1:0] BiasE, input logic [2:0] FOpCtrlE, // 000 = fmadd (X*Y)+Z, 001 = fmsub (X*Y)-Z, 010 = fnmsub -(X*Y)+Z, 011 = fnmadd -(X*Y)-Z, 100 = fmul (X*Y) input logic FmtE, // precision 1 = double 0 = single @@ -94,8 +103,8 @@ module fma1( output logic KillProdE // set the product to zero before addition if the product is too small to matter ); - logic [`NE+1:0] AlignCnt; // how far to shift the addend to align with the product in Q(NE+2.0) format *** is this enough bits? - logic [4*`NF+5:0] ZManShifted; // output of the alignment shifter including sticky bits U(NF+5.3NF+1) + logic [`NE+1:0] AlignCnt; // how far to shift the addend to align with the product in Q(NE+2.0) format + logic [4*`NF+5:0] ZManShifted; // output of the alignment shifter including sticky bits U(NF+5.3NF+1) logic [4*`NF+5:0] ZManPreShifted; // input to the alignment shifter U(NF+5.3NF+1) /////////////////////////////////////////////////////////////////////////////// @@ -200,32 +209,33 @@ module fma2( output logic [4:0] FMAFlgM); // FMA flags {invalid, divide by zero, overflow, underflow, inexact} - logic [`NF-1:0] ResultFrac; // Result fraction - logic [`NE-1:0] ResultExp; // Result exponent - logic ResultSgn; // Result sign - logic PSgn; // product sign + + logic [`NF-1:0] ResultFrac; // Result fraction + logic [`NE-1:0] ResultExp; // Result exponent + logic ResultSgn; // Result sign + logic PSgn; // product sign logic [2*`NF+1:0] ProdMan2; // product being added logic [3*`NF+6:0] AlignedAddend2; // possibly inverted aligned Z logic [3*`NF+5:0] Sum; // positive sum logic [3*`NF+6:0] PreSum; // possibly negitive sum - logic [`NE+1:0] SumExp; // exponent of the normalized sum - logic [`NE+1:0] SumExpTmp; // exponent of the normalized sum not taking into account denormal or zero results - logic [`NE+1:0] SumExpTmpMinus1; // SumExpTmp-1 - logic [`NE+1:0] FullResultExp; // ResultExp with bits to determine sign and overflow - logic [`NF+2:0] NormSum; // normalized sum + logic [`NE+1:0] SumExp; // exponent of the normalized sum + logic [`NE+1:0] SumExpTmp; // exponent of the normalized sum not taking into account denormal or zero results + logic [`NE+1:0] SumExpTmpMinus1; // SumExpTmp-1 + logic [`NE+1:0] FullResultExp; // ResultExp with bits to determine sign and overflow + logic [`NF+2:0] NormSum; // normalized sum logic [3*`NF+5:0] SumShifted; // sum shifted for normalization - logic [8:0] NormCnt; // output of the leading zero detector //***change this later - logic NormSumSticky; // sticky bit calulated from the normalized sum - logic SumZero; // is the sum zero - logic NegSum; // is the sum negitive - logic InvZ; // invert Z if there is a subtraction (-product + Z or product - Z) - logic ResultDenorm; // is the result denormalized - logic Sticky; // Sticky bit - logic Plus1, Minus1, CalcPlus1, CalcMinus1; // do you add or subtract one for rounding - logic UfPlus1, UfCalcPlus1; // do you add one (for determining underflow flag) - logic Invalid,Underflow,Overflow,Inexact; // flags - logic [8:0] DenormShift; // right shift if the result is denormalized //***change this later - logic SubBySmallNum; // was there supposed to be a subtraction by a small number + logic [8:0] NormCnt; // output of the leading zero detector //***change this later + logic NormSumSticky; // sticky bit calulated from the normalized sum + logic SumZero; // is the sum zero + logic NegSum; // is the sum negitive + logic InvZ; // invert Z if there is a subtraction (-product + Z or product - Z) + logic ResultDenorm; // is the result denormalized + logic Sticky; // Sticky bit + logic Plus1, Minus1, CalcPlus1, CalcMinus1; // do you add or subtract one for rounding + logic UfPlus1, UfCalcPlus1; // do you add one (for determining underflow flag) + logic Invalid,Underflow,Overflow,Inexact; // flags + logic [8:0] DenormShift; // right shift if the result is denormalized //***change this later + logic SubBySmallNum; // was there supposed to be a subtraction by a small number logic [`FLEN-1:0] Addend; // value to add (Z or zero) logic ZeroSgn; // the result's sign if the sum is zero logic ResultSgnTmp; // the result's sign assuming the result is not zero @@ -306,11 +316,12 @@ module fma2( assign SumZero = ~(|Sum); // determine the length of the fraction based on precision - //assign FracLen = FmtM ? `NF : 13'd23; - assign FracLen = `NF; + assign FracLen = FmtM ? `NF : 13'd23; + //assign FracLen = `NF; // Determine if the result is denormal assign SumExpTmp = KillProdM ? {2'b0, ZExpM} : ProdExpM + -({4'b0, NormCnt} - (`NF+4)); + assign ResultDenorm = $signed(SumExpTmp)<=0 & ($signed(SumExpTmp)>=$signed(-FracLen)) & ~SumZero; // Determine the shift needed for denormal results @@ -458,16 +469,18 @@ module fma2( // 1) any input is a signaling NaN // 2) Inf - Inf (unless x or y is NaN) // 3) 0 * Inf - assign MaxExp = FmtM ? {`NE{1'b1}} : 13'd255; + + assign MaxExp = FmtM ? {`NE{1'b1}} : {8{1'b1}}; assign SigNaN = XSNaNM | YSNaNM | ZSNaNM; assign Invalid = SigNaN | ((XInfM || YInfM) & ZInfM & (PSgn ^ ZSgnEffM) & ~XNaNM & ~YNaNM) | (XZeroM & YInfM) | (YZeroM & XInfM); // Set Overflow flag if the number is too big to be represented // - Don't set the overflow flag if an overflowed result isn't outputed - assign Overflow = FullResultExp >= MaxExp & ~FullResultExp[`NE+1]&~(XNaNM|YNaNM|ZNaNM|XInfM|YInfM|ZInfM); + assign Overflow = FullResultExp >= {MaxExp} & ~FullResultExp[`NE+1]&~(XNaNM|YNaNM|ZNaNM|XInfM|YInfM|ZInfM); // Set Underflow flag if the number is too small to be represented in normal numbers // - Don't set the underflow flag if the result is exact + assign Underflow = (SumExp[`NE+1] | ((SumExp == 0) & (Round|Guard|Sticky|UfGuard)))&~(XNaNM|YNaNM|ZNaNM|XInfM|YInfM|ZInfM); assign UnderflowFlag = (FullResultExp[`NE+1] | ((FullResultExp == 0) | ((FullResultExp == 1) & (SumExp == 0) & ~(UfPlus1&UfLSBNormSum)))&(Round|Guard|Sticky))&~(XNaNM|YNaNM|ZNaNM|XInfM|YInfM|ZInfM); // Set Inexact flag if the result is diffrent from what would be outputed given infinite precision @@ -504,8 +517,8 @@ module fma2( YNaNM ? YNaNResult : ZNaNM ? ZNaNResult : Invalid ? InvalidResult : // has to be before inf - XInfM ? FmtM ? {PSgn, XExpM, XManM[`NF-1:0]} : {{32{1'b1}}, PSgn, XExpM[7:0], XManM[51:29]} : - YInfM ? FmtM ? {PSgn, YExpM, YManM[`NF-1:0]} : {{32{1'b1}}, PSgn, YExpM[7:0], YManM[51:29]} : + XInfM ? FmtM ? {PSgn, XExpM, XManM[`NF-1:0]} : {{32{1'b1}}, PSgn, XExpM[7:0], XManM[51:29]} : + YInfM ? FmtM ? {PSgn, YExpM, YManM[`NF-1:0]} : {{32{1'b1}}, PSgn, YExpM[7:0], YManM[51:29]} : ZInfM ? FmtM ? {ZSgnEffM, ZExpM, ZManM[`NF-1:0]} : {{32{1'b1}}, ZSgnEffM, ZExpM[7:0], ZManM[51:29]} : Overflow ? OverflowResult : KillProdM ? KillProdResult : // has to be after Underflow diff --git a/wally-pipelined/src/fpu/fpadd_denorm.sv b/wally-pipelined/src/fpu/fpadd_denorm.sv deleted file mode 100755 index 43de3087..00000000 --- a/wally-pipelined/src/fpu/fpadd_denorm.sv +++ /dev/null @@ -1,286 +0,0 @@ -/////////////////////////////////////////// -// -// Written: James.Stine@okstate.edu 1 February 2021 -// Modified: -// -// Purpose: FP Add/Sub instructions -// -// A component of the Wally configurable RISC-V project. -// -// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, -// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software -// is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT -// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -/////////////////////////////////////////// - -// -// Basic and Denormalized Operations -// -// Step 1: Load operands, set flags, and convert SP to DP -// Step 2: Check for special inputs ( +/- Infinity, NaN) -// Step 3: Compare exponents. Swap the operands of exp1 < exp2 -// or of (exp1 = exp2 AND mnt1 < mnt2) -// Step 4: Shift the mantissa corresponding to the smaller exponent, -// and extend precision by three bits to the right. -// Step 5: Add or subtract the mantissas. -// Step 6: Normalize the result.// -// Shift left until normalized. Normalized when the value to the -// left of the binrary point is 1. -// Step 7: Round the result.// -// Step 8: Put sum onto output. -// - -module fpadd (AS_Result, Flags, Denorm, op1, op2, rm, op_type, P, OvEn, UnEn); - - input [63:0] op1; // 1st input operand (A) - input [63:0] op2; // 2nd input operand (B) - input [2:0] rm; // Rounding mode - specify values - input [3:0] op_type; // Function opcode - input P; // Result Precision (0 for double, 1 for single) - input OvEn; // Overflow trap enabled - input UnEn; // Underflow trap enabled - - output [63:0] AS_Result; // Result of operation - output [4:0] Flags; // IEEE exception flags - output Denorm; // Denorm on input or output - - wire [63:0] Float1; - wire [63:0] Float2; - wire [63:0] IntValue; - wire [11:0] exp1, exp2; - wire [11:0] exp_diff1, exp_diff2; - wire [10:0] exponent, exp_pre; - wire [11:0] exp_shift; - wire [63:0] Result; - wire [51:0] mantissaA; - wire [56:0] mantissaA1; - wire [63:0] mantissaA3; - wire [51:0] mantissaB; - wire [56:0] mantissaB1, mantissaB2; - wire [63:0] mantissaB3; - wire [63:0] sum, sum_tc, sum_corr, sum_norm, sum_norm_w_bypass; - wire [5:0] align_shift; - wire [5:0] norm_shift, norm_shift_denorm; - wire [3:0] sel_inv; - wire op1_Norm, op2_Norm; - wire opA_Norm, opB_Norm; - wire Invalid; - wire DenormIn, DenormIO; - wire [4:0] FlagsIn; - wire exp_valid; - wire exp_gt63; - wire Sticky_out; - wire signA, sign_corr; - wire corr_sign; - wire zeroB; - wire convert; - wire swap; - wire sub; - wire [10:0] exponent_postsum; - wire mantissa_comp; - wire mantissa_comp_sum; - wire mantissa_comp_sum_tc; - wire Float1_sum_comp; - wire Float2_sum_comp; - wire Float1_sum_tc_comp; - wire Float2_sum_tc_comp; - wire [5:0] ZP_mantissaA; - wire [5:0] ZP_mantissaB; - wire ZV_mantissaA; - wire ZV_mantissaB; - wire normal_underflow; - wire normal_overflow; - - // Convert the input operands to their appropriate forms based on - // the orignal operands, the op_type , and their precision P. - // Single precision inputs are converted to double precision - // and the sign of the first operand is set appropratiately based on - // if the operation is absolute value or negation. - - convert_inputs conv1 (Float1, Float2, op1, op2, op_type, P); - - // Test for exceptions and return the "Invalid Operation" and - // "Denormalized" Input Flags. The "sel_inv" is used in - // the third pipeline stage to select the result. Also, op1_Norm - // and op2_Norm are one if op1 and op2 are not zero or denormalized. - // sub is one if the effective operation is subtaction. - - exception exc1 (sel_inv, Invalid, DenormIn, op1_Norm, op2_Norm, sub, - Float1, Float2, op_type); - - // Perform Exponent Subtraction (used for alignment). For performance - // both exponent subtractions are performed in parallel. This was - // changed to a behavior level to allow the tools to try to optimize - // the two parallel additions. The input values are zero-extended to 12 - // bits prior to performing the addition. - - assign exp1 = {1'b0, Float1[62:52]}; - assign exp2 = {1'b0, Float2[62:52]}; - assign exp_diff1 = exp1 - exp2; - assign exp_diff2 = DenormIn ? ({Float2[63], exp2[10:0]} - {Float1[63], exp1[10:0]}): exp2 - exp1; - - // The second operand (B) should be set to zero, if op_type does not - // specify addition or subtraction - assign zeroB = op_type[2] | op_type[1]; - - // Swapped operands if zeroB is not one and exp1 < exp2. - // Swapping causes exp2 to be used for the result exponent. - // Only the exponent of the larger operand is used to determine - // the final result. - assign swap = exp_diff1[11] & ~zeroB; - assign exponent = swap ? exp2[10:0] : exp1[10:0]; - assign exponent_postsum = swap ? exp2[10:0] : exp1[10:0]; - assign mantissaA = swap ? Float2[51:0] : Float1[51:0]; - assign mantissaB = swap ? Float1[51:0] : Float2[51:0]; - assign signA = swap ? Float2[63] : Float1[63]; - - // Leading-Zero Detector. Determine the size of the shift needed for - // normalization. If sum_corrected is all zeros, the exp_valid is - // zero; otherwise, it is one. - // modified to 52 bits to detect leading zeroes on denormalized mantissas - lz52 lz_norm_1 (ZP_mantissaA, ZV_mantissaA, mantissaA); - lz52 lz_norm_2 (ZP_mantissaB, ZV_mantissaB, mantissaB); - - // Denormalized exponents created by subtracting the leading zeroes from the original exponents - assign exp1_denorm = swap ? (exp1 - ZP_mantissaB) : (exp1 - ZP_mantissaA); - assign exp2_denorm = swap ? (exp2 - ZP_mantissaA) : (exp2 - ZP_mantissaB); - - // Finds normal underflow result to determine whether to round final exponent down - // Comparison between each float and the resulting sum of the primary cla adder/subtractor and cla subtractor - assign Float1_sum_comp = (Float1[51:0] > sum[51:0]) ? 1'b0 : 1'b1; - assign Float2_sum_comp = (Float2[51:0] > sum[51:0]) ? 1'b0 : 1'b1; - assign Float1_sum_tc_comp = (Float1[51:0] > sum_tc[51:0]) ? 1'b0 : 1'b1; - assign Float2_sum_tc_comp = (Float2[51:0] > sum_tc[51:0]) ? 1'b0 : 1'b1; - - // Determines the correct Float value to compare based on swap result - assign mantissa_comp_sum = swap ? Float2_sum_comp : Float1_sum_comp; - assign mantissa_comp_sum_tc = swap ? Float2_sum_tc_comp : Float1_sum_tc_comp; - - // Determines the correct comparison result based on operation and sign of resulting sum - assign mantissa_comp = (op_type[0] ^ sum[63]) ? mantissa_comp_sum_tc : mantissa_comp_sum; - - // If the signs are different and both operands aren't denormalized - // the normal underflow bit is needed and therefore updated. - assign normal_underflow = ((Float1[63] ~^ Float2[63]) & (opA_Norm | opB_Norm)) ? mantissa_comp : 1'b0; - - // Determine the alignment shift and limit it to 63. If any bit from - // exp_shift[6] to exp_shift[11] is one, then shift is set to all ones. - assign exp_shift = swap ? exp_diff2 : exp_diff1; - assign exp_gt63 = exp_shift[11] | exp_shift[10] | exp_shift[9] - | exp_shift[8] | exp_shift[7] | exp_shift[6]; - assign align_shift = exp_shift | {6{exp_gt63}}; - - // Unpack the 52-bit mantissas to 57-bit numbers of the form. - // 001.M[51]M[50] ... M[1]M[0]00 - // Unless the number has an exponent of zero, in which case it - // is unpacked as - // 000.00 ... 00 - // This effectively flushes denormalized values to zero. - // The three bits of to the left of the binary point prevent overflow - // and loss of sign information. The two bits to the right of the - // original mantissa form the "guard" and "round" bits that are used - // to round the result. - assign opA_Norm = swap ? op2_Norm : op1_Norm; - assign opB_Norm = swap ? op1_Norm : op2_Norm; - assign mantissaA1 = {2'h0, opA_Norm, mantissaA[51:0]&{52{opA_Norm}}, 2'h0}; - assign mantissaB1 = {2'h0, opB_Norm, mantissaB[51:0]&{52{opB_Norm}}, 2'h0}; - - // Perform mantissa alignment using a 57-bit barrel shifter - // If any of the bits shifted out are one, Sticky_out is set. - // The size of the barrel shifter could be reduced by two bits - // by not adding the leading two zeros until after the shift. - barrel_shifter_r57 bs1 (mantissaB2, Sticky_out, mantissaB1, align_shift); - - // Place either the sign-extened 32-bit value or the original 64-bit value - // into IntValue (to be used for integer to floating point conversion) - assign IntValue [31:0] = op1[31:0]; - assign IntValue [63:32] = op_type[0] ? {32{op1[31]}} : op1[63:32]; - - // If doing an integer to floating point conversion, mantissaA3 is set to - // IntVal and the prenomalized exponent is set to 1084. Otherwise, - // mantissaA3 is simply extended to 64-bits by setting the 7 LSBs to zero, - // and the exponent value is left unchanged. - // Under denormalized cases, the exponent before the rounder is set to 1 - // if the normal shift value is 11. - assign convert = ~op_type[2] & op_type[1]; - assign mantissaA3 = (op_type[3]) ? (op_type[0] ? Float1 : ~Float1) : (DenormIn ? ({12'h0, mantissaA}) : (convert ? IntValue : {mantissaA1, 7'h0})); - assign exp_pre = DenormIn ? - ((norm_shift == 6'b001011) ? 11'b00000000001 : (swap ? exp2_denorm : exp1_denorm)) - : (convert ? 11'b10000111100 : exponent); - - // Put zero in for mantissaB3, if zeroB is one. Otherwise, B is extended to - // 64-bits by setting the 7 LSBs to the Sticky_out bit followed by six - // zeros. - assign mantissaB3[63:7] = (op_type[3]) ? (57'h0) : (DenormIn ? {12'h0, mantissaB[51:7]} : mantissaB2 & {57{~zeroB}}); - assign mantissaB3[6] = (op_type[3]) ? (1'b0) : (DenormIn ? mantissaB[6] : Sticky_out & ~zeroB); - assign mantissaB3[5:0] = (op_type[3]) ? (6'h01) : (DenormIn ? mantissaB[5:0] : 6'h0); - - // The sign of the result needs to be corrected if the true - // operation is subtraction and the input operands were swapped. - assign corr_sign = ~op_type[2]&~op_type[1]&op_type[0]&swap; - - // 64-bit Mantissa Adder/Subtractor - cla64 add1 (sum, mantissaA3, mantissaB3, sub); //***adder - - // 64-bit Mantissa Subtractor - to get the two's complement of the - // result when the sign from the adder/subtractor is negative. - cla_sub64 sub1 (sum_tc, mantissaB3, mantissaA3); //***adder - - // Determine the correct sign of the result - assign sign_corr = ((corr_sign ^ signA) & ~convert) ^ sum[63]; - - // If the sum is negative, use its two complement instead. - // This value has to be 64-bits to correctly handle the - // case 10...00 - assign sum_corr = (DenormIn & (opA_Norm | opB_Norm) & ( ( (Float1[63] ~^ Float2[63]) & op_type[0] ) | ((Float1[63] ^ Float2[63]) & ~op_type[0]) )) - ? (sum[63] ? sum : sum_tc) : ( (op_type[3]) ? sum : (sum[63] ? sum_tc : sum)); - - // Finds normal underflow result to determine whether to round final exponent down - assign normal_overflow = (DenormIn & (sum == 16'h0) & (opA_Norm | opB_Norm) & ~op_type[0]) ? 1'b1 : (sum[63] ? sum_tc[52] : sum[52]); - - // Leading-Zero Detector. Determine the size of the shift needed for - // normalization. If sum_corrected is all zeros, the exp_valid is - // zero; otherwise, it is one. - lz64 lzd1 (norm_shift, exp_valid, sum_corr); - - assign norm_shift_denorm = (DenormIn & ( (~opA_Norm & ~opB_Norm) | normal_underflow)) ? (6'h00) : (norm_shift); - - // Barell shifter used for normalization. It takes as inputs the - // the corrected sum and the amount by which the sum should - // be right shifted. It outputs the normalized sum. - barrel_shifter_l64 bs2 (sum_norm, sum_corr, norm_shift_denorm); - - assign sum_norm_w_bypass = (op_type[3]) ? (op_type[0] ? ~sum_corr : sum_corr) : (sum_norm); - - // Round the mantissa to a 52-bit value, with the leading one - // removed. If the result is a single precision number, the actual - // mantissa is in the upper 23 bits and the lower 29 bits are zero. - // At this point, normalization has already been performed, so we know - // exactly where the rounding point is. The rounding units also - // handles special cases and set the exception flags. - - // Changed DenormIO -> Denorm and FlagsIn -> Flags in order to - // help in processor reservation station detection of load/stores. In - // other words, the processor would like to know ahead of time that - // if the result is an exception then don't load or store. - rounder round1 (Result, DenormIO, FlagsIn, rm, P, OvEn, UnEn, exp_valid, - sel_inv, Invalid, DenormIn, convert, sign_corr, exp_pre, norm_shift, sum_norm_w_bypass, - exponent_postsum, op1_Norm, op2_Norm, Float1[63:52], Float2[63:52], - normal_overflow, normal_underflow, swap, op_type, sum); - - // Store the final result and the exception flags in registers. - assign AS_Result = Result; - assign {Denorm, Flags} = {DenormIO, FlagsIn}; - -endmodule // fpadd - - diff --git a/wally-pipelined/src/fpu/fpdiv.sv b/wally-pipelined/src/fpu/fpdiv.sv index f718b430..19ef41b9 100755 --- a/wally-pipelined/src/fpu/fpdiv.sv +++ b/wally-pipelined/src/fpu/fpdiv.sv @@ -24,133 +24,117 @@ // `timescale 1ps/1ps module fpdiv ( - input logic [63:0] op1, // 1st input operand (A) - input logic [63:0] op2, // 2nd input operand (B) - input logic [1:0] rm, // Rounding mode - specify values - input logic op_type, // Function opcode - input logic P, // Result Precision (0 for double, 1 for single) - input logic OvEn, // Overflow trap enabled - input logic UnEn, // Underflow trap enabled - input logic start, - input logic reset, - input logic clk, - output logic done, - output logic FDivBusyE, - output logic HoldInputs, - output logic [63:0] AS_Result, // Result of operation - output logic [4:0] Flags); // IEEE exception flags - logic Denorm; // Denorm on input or output - // output done; + input logic clk, + input logic reset, + input logic start, + input logic [63:0] op1, // 1st input operand (A) + input logic [63:0] op2, // 2nd input operand (B) + input logic [1:0] rm, // Rounding mode - specify values + input logic op_type, // Function opcode + input logic P, // Result Precision (0 for double, 1 for single) + input logic OvEn, // Overflow trap enabled + input logic UnEn, // Underflow trap enabled + output logic done, + output logic FDivBusyE, + output logic [63:0] AS_Result, // Result of operation + output logic [4:0] Flags); // IEEE exception flags - supply1 vdd; - supply0 vss; - wire [63:0] Float1; - wire [63:0] Float2; - wire [63:0] IntValue; + logic [63:0] Float1; + logic [63:0] Float2; - wire [12:0] exp1, exp2, expF; - wire [12:0] exp_diff, bias; - wire [13:0] exp_sqrt; - wire [12:0] exp_s; - wire [12:0] exp_c; + logic [12:0] exp1, exp2, expF; + logic [12:0] exp_diff, bias; + logic [13:0] exp_sqrt; + logic [12:0] exp_s; + logic [12:0] exp_c; - wire [10:0] exponent, exp_pre; - wire [63:0] Result; - wire [52:0] mantissaA; - wire [52:0] mantissaB; - wire [63:0] sum, sum_tc, sum_corr, sum_norm; + logic [10:0] exponent; + logic [63:0] Result; + logic [52:0] mantissaA; + logic [52:0] mantissaB; - wire [5:0] align_shift; - wire [5:0] norm_shift; - wire [2:0] sel_inv; - wire op1_Norm, op2_Norm; - wire opA_Norm, opB_Norm; - wire Invalid; - wire DenormIn, DenormIO; - wire [4:0] FlagsIn; - wire exp_gt63; - wire Sticky_out; - wire signResult, sign_corr; - wire corr_sign; - wire zeroB; - wire convert; - wire swap; - wire sub; + logic [2:0] sel_inv; + logic Invalid; + logic [4:0] FlagsIn; + logic signResult; + logic convert; + logic sub; - wire [63:0] q1, qm1, qp1, q0, qm0, qp0; - wire [63:0] rega_out, regb_out, regc_out, regd_out; - wire [127:0] regr_out; - wire [2:0] sel_muxa, sel_muxb; - wire sel_muxr; - wire load_rega, load_regb, load_regc, load_regd, load_regr; + logic [63:0] q1, qm1, qp1, q0, qm0, qp0; + logic [63:0] rega_out, regb_out, regc_out, regd_out; + logic [127:0] regr_out; + logic [2:0] sel_muxa, sel_muxb; + logic sel_muxr; + logic load_rega, load_regb, load_regc, load_regd, load_regr; - wire donev, sel_muxrv, sel_muxsv; - wire [1:0] sel_muxav, sel_muxbv; - wire load_regav, load_regbv, load_regcv; - wire load_regrv, load_regs; - logic exp_cout1, exp_cout2; - logic exp_odd, open; - // logic reset; + logic load_regs; + logic exp_cout1, exp_cout2; + logic exp_odd, open; + // div/sqrt + // fdiv = 0 + // fsqrt = 1 + // Convert the input operands to their appropriate forms based on // the orignal operands, the op_type , and their precision P. // Single precision inputs are converted to double precision // and the sign of the first operand is set appropratiately based on // if the operation is absolute value or negation. - convert_inputs_div conv1 (Float1, Float2, op1, op2, op_type, P); + convert_inputs_div conv1 (.op1, .op2, .op_type, .P, + // outputs: + .Float1, .Float2b(Float2)); // Test for exceptions and return the "Invalid Operation" and // "Denormalized" Input Flags. The "sel_inv" is used in // the third pipeline stage to select the result. Also, op1_Norm // and op2_Norm are one if op1 and op2 are not zero or denormalized. // sub is one if the effective operation is subtaction. - exception_div exc1 (sel_inv, Invalid, DenormIn, op1_Norm, op2_Norm, - Float1, Float2, op_type); + exception_div exc1 (.A(Float1), .B(Float2), .op_type, + // output: + .Ztype(sel_inv), .Invalid); // Determine Sign/Mantissa assign signResult = (Float1[63]^Float2[63]); - assign mantissaA = {vdd, Float1[51:0]}; - assign mantissaB = {vdd, Float2[51:0]}; + assign mantissaA = {1'b1, Float1[51:0]}; + assign mantissaB = {1'b1, Float2[51:0]}; // Perform Exponent Subtraction - expA - expB + Bias assign exp1 = {2'b0, Float1[62:52]}; assign exp2 = {2'b0, Float2[62:52]}; - // bias : DP = 2^{11-1}-1 = 1023 assign bias = {3'h0, 10'h3FF}; // Divide exponent - csa #(13) csa1 (exp1, ~exp2, bias, exp_s, exp_c); - // adder #(14) explogic1 ({vss, exp_s}, {vss, exp_c}, 1'b1, {open, exp_diff}, exp_cout1); - assign {exp_cout1, open, exp_diff} = {vss, exp_s} + {vss, exp_c} + 1'b1; + assign {exp_cout1, open, exp_diff} = exp1 - exp2 + bias; // Sqrt exponent (check if exponent is odd) - assign exp_odd = Float1[52] ? vss : vdd; - // adder #(14) explogic2 ({vss, exp1}, {4'h0, 10'h3ff}, exp_odd, exp_sqrt, exp_cout2); - assign {exp_cout2, exp_sqrt} = {vss, exp1} + {4'h0, 10'h3ff} + exp_odd; + assign exp_odd = Float1[52] ? 1'b0 : 1'b1; + assign {exp_cout2, exp_sqrt} = {1'b0, exp1} + {4'h0, 10'h3ff} + exp_odd; // Choose correct exponent assign expF = op_type ? exp_sqrt[13:1] : exp_diff; // Main Goldschmidt/Division Routine - divconv goldy (q1, qm1, qp1, q0, qm0, qp0, rega_out, regb_out, regc_out, regd_out, - regr_out, mantissaB, mantissaA, sel_muxa, sel_muxb, sel_muxr, - reset, clk, load_rega, load_regb, load_regc, load_regd, - load_regr, load_regs, P, op_type, exp_odd); + divconv goldy (.q1, .qm1, .qp1, .q0, .qm0, .qp0, .rega_out, .regb_out, .regc_out, .regd_out, + .regr_out, .d(mantissaB), .n(mantissaA), .sel_muxa, .sel_muxb, .sel_muxr, + .reset, .clk, .load_rega, .load_regb, .load_regc, .load_regd, + .load_regr, .load_regs, .P, .op_type, .exp_odd); // FSM : control divider - fsm control (done, load_rega, load_regb, load_regc, load_regd, - load_regr, load_regs, sel_muxa, sel_muxb, sel_muxr, - clk, reset, start, op_type, FDivBusyE, HoldInputs); + fsm control (.clk, .reset, .start, .op_type, + // outputs: + .done, .load_rega, .load_regb, .load_regc, .load_regd, + .load_regr, .load_regs, .sel_muxa, .sel_muxb, .sel_muxr, + .divBusy(FDivBusyE)); // Round the mantissa to a 52-bit value, with the leading one // removed. The rounding units also handles special cases and // set the exception flags. - rounder_div round1 (Result, DenormIO, FlagsIn, - rm, P, OvEn, UnEn, expF, - sel_inv, Invalid, DenormIn, signResult, - q1, qm1, qp1, q0, qm0, qp0, regr_out); + rounder_div round1 (.rm, .P, .OvEn, .UnEn, .exp_diff(expF), + .sel_inv, .Invalid, .SignR(signResult), + .q1, .qm1, .qp1, .q0, .qm0, .qp0, .regr_out, + // outputs: + .Result, .Flags(FlagsIn)); // Store the final result and the exception flags in registers. - flopenr #(64) rega (clk, reset, done, Result, AS_Result); - flopenr #(1) regb (clk, reset, done, DenormIO, Denorm); + flopenr #(64) rega (clk, reset, done, Result, AS_Result); flopenr #(5) regc (clk, reset, done, FlagsIn, Flags); endmodule // fpadd diff --git a/wally-pipelined/src/fpu/fpu.sv b/wally-pipelined/src/fpu/fpu.sv index 5022e82a..4e7d898e 100755 --- a/wally-pipelined/src/fpu/fpu.sv +++ b/wally-pipelined/src/fpu/fpu.sv @@ -25,142 +25,173 @@ `include "wally-config.vh" module fpu ( - input logic clk, - input logic reset, - input logic [2:0] FRM_REGW, // Rounding mode from CSR - input logic [31:0] InstrD, - input logic [`XLEN-1:0] ReadDataW, // Read data from memory - input logic [`XLEN-1:0] SrcAE, // Integer input being processed - input logic [`XLEN-1:0] SrcAM, // Integer input being written into fpreg - input logic StallE, StallM, StallW, - input logic FlushE, FlushM, FlushW, - input logic [4:0] RdE, RdM, RdW, - output logic FRegWriteM, - output logic FStallD, // Stall the decode stage - output logic FWriteIntE, FWriteIntM, FWriteIntW, // Write integer register enable - output logic [`XLEN-1:0] FWriteDataE, // Data to be written to memory - output logic [`XLEN-1:0] FIntResM, - output logic FDivBusyE, // Is the divison/sqrt unit busy - output logic IllegalFPUInstrD, // Is the instruction an illegal fpu instruction - output logic [4:0] SetFflagsM); // FPU result -// *** change FMA to do 16 - 32 - 64 - 128 FEXPBITS -// *** folder at same level of src for tests fpu tests -// qa.b -// u1.52 - u sunsigned, q signed - generate - if (`F_SUPPORTED | `D_SUPPORTED) begin - // control logic signal instantiation - logic FRegWriteD, FRegWriteE, FRegWriteW; // FP register write enable - logic [2:0] FrmD, FrmE, FrmM; // FP rounding mode - logic FmtD, FmtE, FmtM, FmtW; // FP precision 0-single 1-double - logic FDivStartD, FDivStartE; // Start division - logic FWriteIntD; // Write to integer register - logic [1:0] FForwardXE, FForwardYE, FForwardZE; // Input3 forwarding mux control signal - logic [2:0] FResultSelD, FResultSelE, FResultSelM, FResultSelW; // Select FP result - logic [3:0] FOpCtrlD, FOpCtrlE, FOpCtrlM; // Select which opperation to do in each component - logic [1:0] FResSelD, FResSelE, FResSelM; - logic [1:0] FIntResSelD, FIntResSelE, FIntResSelM; - logic [4:0] Adr1E, Adr2E, Adr3E; + input logic clk, + input logic reset, + input logic [2:0] FRM_REGW, // Rounding mode from CSR + input logic [31:0] InstrD, // instruction from IFU + input logic [`XLEN-1:0] ReadDataW,// Read data from memory + input logic [`XLEN-1:0] SrcAE, // Integer input being processed (from IEU) + input logic [`XLEN-1:0] SrcAM, // Integer input being written into fpreg (from IEU) + input logic StallE, StallM, StallW, // stall signals from HZU + input logic FlushE, FlushM, FlushW, // flush signals from HZU + input logic [4:0] RdE, RdM, RdW, // which FP register to write to (from IEU) + output logic FRegWriteM, // FP register write enable + output logic FStallD, // Stall the decode stage + output logic FWriteIntE, FWriteIntM, FWriteIntW, // integer register write enable + output logic [`XLEN-1:0] FWriteDataE, // Data to be written to memory + output logic [`XLEN-1:0] FIntResM, // data to be written to integer register + output logic FDivBusyE, // Is the divide/sqrt unit busy (stall execute stage) + output logic IllegalFPUInstrD, // Is the instruction an illegal fpu instruction + output logic [4:0] SetFflagsM // FMA flags (to privileged unit) + ); + + //*** make everything FLEN at some point + //*** add the 128 bit support to the if statement when needed + //*** make new tests for fp using testfloat that include flag checking and all rounding modes + //*** what is the format for 16-bit - finding conflicting info online can't find anything specified in spec + //*** only fma/mul and fp <-> int convert flags have been tested. test the others. + + // FPU specifics: + // - uses NaN-blocking format + // - if there are any unsused bits the most significant bits are filled with 1s + // single stored in a double: | 32 1s | single precision value | + // - sets the underflow after rounding + + generate if (`F_SUPPORTED | `D_SUPPORTED) begin + + // control signals + logic FRegWriteD, FRegWriteE, FRegWriteW; // FP register write enable + logic [2:0] FrmD, FrmE, FrmM; // FP rounding mode + logic FmtD, FmtE, FmtM, FmtW; // FP precision 0-single 1-double + logic FDivStartD, FDivStartE; // Start division or squareroot + logic FWriteIntD; // Write to integer register + logic [1:0] FForwardXE, FForwardYE, FForwardZE; // forwarding mux control signals + logic [2:0] FResultSelD, FResultSelE, FResultSelM, FResultSelW; // Select the result written to FP register + logic [3:0] FOpCtrlD, FOpCtrlE, FOpCtrlM; // Select which opperation to do in each component + logic [1:0] FResSelD, FResSelE, FResSelM; // Select one of the results that finish in the memory stage + logic [1:0] FIntResSelD, FIntResSelE, FIntResSelM; // Select the result written to the integer resister + logic [4:0] Adr1E, Adr2E, Adr3E; // adresses of each input // regfile signals - logic [63:0] FRD1D, FRD2D, FRD3D; // Read Data from FP register - decode stage - logic [63:0] FRD1E, FRD2E, FRD3E; // Read Data from FP register - execute stage - logic [`XLEN-1:0] FSrcXMAligned; - logic [63:0] FSrcXE, FSrcXM; // Input 1 to the various units (after forwarding) - logic [63:0] FSrcYE; // Input 2 to the various units (after forwarding) - logic [63:0] FPreSrcZE, FSrcZE; // Input 3 to the various units (after forwarding) + logic [63:0] FRD1D, FRD2D, FRD3D; // Read Data from FP register - decode stage + logic [63:0] FRD1E, FRD2E, FRD3E; // Read Data from FP register - execute stage + logic [63:0] FSrcXE, FSrcXM; // Input 1 to the various units (after forwarding) + logic [63:0] FSrcYE; // Input 2 to the various units (after forwarding) + logic [63:0] FPreSrcZE, FSrcZE; // Input 3 to the various units (after forwarding) // unpacking signals - logic XSgnE, YSgnE, ZSgnE; - logic [10:0] XExpE, YExpE, ZExpE; - logic [52:0] XManE, YManE, ZManE; - logic XNaNE, YNaNE, ZNaNE; - logic XSNaNE, YSNaNE, ZSNaNE; - logic XDenormE, YDenormE, ZDenormE; - logic XZeroE, YZeroE, ZZeroE; - logic [10:0] BiasE; - logic XInfE, YInfE, ZInfE; - logic XExpMaxE; - logic XNormE; + logic XSgnE, YSgnE, ZSgnE; // input's sign - execute stage + logic XSgnM, YSgnM, ZSgnM; // input's sign - memory stage + logic [10:0] XExpE, YExpE, ZExpE; // input's exponent - execute stage + logic [10:0] XExpM, YExpM, ZExpM; // input's exponent - memory stage + logic [52:0] XManE, YManE, ZManE; // input's fraction - execute stage + logic [52:0] XManM, YManM, ZManM; // input's fraction - memory stage + logic [10:0] BiasE; // bias based on precision (single=7f double=3ff - max expoent/2) + logic XNaNE, YNaNE, ZNaNE; // is the input a NaN - execute stage + logic XNaNM, YNaNM, ZNaNM; // is the input a NaN - memory stage + logic XSNaNE, YSNaNE, ZSNaNE; // is the input a signaling NaN - execute stage + logic XSNaNM, YSNaNM, ZSNaNM; // is the input a signaling NaN - memory stage + logic XDenormE, YDenormE, ZDenormE; // is the input denormalized + logic XZeroE, YZeroE, ZZeroE; // is the input zero - execute stage + logic XZeroM, YZeroM, ZZeroM; // is the input zero - memory stage + logic XInfE, YInfE, ZInfE; // is the input infinity - execute stage + logic XInfM, YInfM, ZInfM; // is the input infinity - memory stage + logic XExpMaxE; // is the exponent all ones (max value) + logic XNormE; // is X normal - logic XSgnM, YSgnM, ZSgnM; - logic [10:0] XExpM, YExpM, ZExpM; - logic [52:0] XManM, YManM, ZManM; - logic XNaNM, YNaNM, ZNaNM; - logic XSNaNM, YSNaNM, ZSNaNM; - logic XZeroM, YZeroM, ZZeroM; - logic XInfM, YInfM, ZInfM; - // div/sqrt signals - logic [63:0] FDivResultM, FDivResultW; - logic [4:0] FDivSqrtFlgM, FDivSqrtFlgW; - logic FDivSqrtDoneE; - logic [63:0] DivInput1E, DivInput2E; - logic HoldInputs; // keep forwarded inputs arround durring division + // result and flag signals + logic [63:0] FDivResM, FDivResW; // divide/squareroot result + logic [4:0] FDivFlgM, FDivFlgW; // divide/squareroot flags + + logic [63:0] FMAResM, FMAResW; // FMA/multiply result + logic [4:0] FMAFlgM, FMAFlgW; // FMA/multiply result - //fpu signals - logic [63:0] FMAResM, FMAResW; - logic [4:0] FMAFlgM, FMAFlgW; + logic [63:0] ReadResW; // read result (load instruction) + + logic [63:0] FAddResM, FAddResW; // add/FP -> FP convert result + logic [4:0] FAddFlgM, FAddFlgW; // add/FP -> FP convert flags + + logic [63:0] CvtResE, CvtResM; // FP <-> int convert result + logic [4:0] CvtFlgE, CvtFlgM; // FP <-> int convert flags //*** trim this - logic [63:0] ReadResW; - - // add/cvt signals - logic [63:0] FAddResM, FAddResW; - logic [4:0] FAddFlgM, FAddFlgW; - logic [63:0] CvtResE, CvtResM; - logic [4:0] CvtFlgE, CvtFlgM; - - // cmp signals - logic CmpNVE, CmpNVM, CmpNVW; - logic [63:0] CmpResE, CmpResM, CmpResW; - - // fsgn signals - logic [63:0] SgnResE, SgnResM; - logic SgnNVE, SgnNVM, SgnNVW; - logic [63:0] FResM, FResW; - logic [4:0] FFlgM, FFlgW; - - // instantiation of W stage regfile signals - logic [63:0] AlignedSrcAM; - - // classify signals - logic [63:0] ClassResE, ClassResM; - - // 64-bit FPU result - logic [63:0] FPUResultW; - logic [4:0] FPUFlagsW; + logic [63:0] ClassResE, ClassResM; // classify result + + logic [63:0] CmpResE, CmpResM; // compare result + logic CmpNVE, CmpNVM; // compare invalid flag (Not Valid) + logic [63:0] SgnResE, SgnResM; // sign injection result + logic SgnNVE, SgnNVM; // sign injection invalid flag (Not Valid) + + logic [63:0] FResM, FResW; // selected result that is ready in the memory stage + logic [4:0] FFlgM; // selected flag that is ready in the memory stage + + logic [63:0] FPUResultW; // final FP result being written to the FP register + + // other signals + logic FDivSqrtDoneE; // is divide done + logic [63:0] DivInput1E, DivInput2E; // inputs to divide/squareroot unit + logic FDivClk; // clock for divide/squareroot unit + logic [63:0] AlignedSrcAM; // align SrcA to the floating point format + + + + + + //////////////////////////////////////////////////////////////////////////////////////// //DECODE STAGE + //////////////////////////////////////////////////////////////////////////////////////// + + + + // calculate FP control signals + fctrl fctrl (.Funct7D(InstrD[31:25]), .OpD(InstrD[6:0]), .Rs2D(InstrD[24:20]), .Funct3D(InstrD[14:12]), .FRM_REGW, + // outputs: + .IllegalFPUInstrD, .FRegWriteD, .FDivStartD, .FResultSelD, .FOpCtrlD, .FResSelD, + .FIntResSelD, .FmtD, .FrmD, .FWriteIntD); - // top-level controller for FPU - fctrl fctrl (.Funct7D(InstrD[31:25]), .OpD(InstrD[6:0]), .Rs2D(InstrD[24:20]), .Funct3D(InstrD[14:12]), - .FRM_REGW, .IllegalFPUInstrD, .FRegWriteD, .FDivStartD, .FResultSelD, .FOpCtrlD, .FResSelD, - .FIntResSelD, .FmtD, .FrmD, .FWriteIntD); + // FP register file + // - can read 3 registers and write 1 register every cycle + fregfile fregfile (.clk, .reset, .we4(FRegWriteW), + .a1(InstrD[19:15]), .a2(InstrD[24:20]), .a3(InstrD[31:27]), .a4(RdW), + .wd4(FPUResultW), + // outputs: + .rd1(FRD1D), .rd2(FRD2D), .rd3(FRD3D)); - // regfile instantiation - fregfile fregfile (clk, reset, FRegWriteW, - InstrD[19:15], InstrD[24:20], InstrD[31:27], RdW, - FPUResultW, - FRD1D, FRD2D, FRD3D); - - //***************** - // D/E pipe registers - //***************** + + + + + //////////////////////////////////////////////////////////////////////////////////////// + // D/E pipeline registers + //////////////////////////////////////////////////////////////////////////////////////// + flopenrc #(64) DEReg1(clk, reset, FlushE, ~StallE, FRD1D, FRD1E); flopenrc #(64) DEReg2(clk, reset, FlushE, ~StallE, FRD2D, FRD2E); flopenrc #(64) DEReg3(clk, reset, FlushE, ~StallE, FRD3D, FRD3E); - flopenrc #(1) DECtrlRegE1(clk, reset, FlushE, ~StallE, FDivStartD, FDivStartE); - flopenrc #(15) DECtrlRegE2(clk, reset, FlushE, ~StallE, {InstrD[19:15], InstrD[24:20], InstrD[31:27]}, - {Adr1E, Adr2E, Adr3E}); - flopenrc #(17) DECtrlReg3(clk, reset, FlushE, ~StallE, - {FRegWriteD, FResultSelD, FResSelD, FIntResSelD, FrmD, FmtD, FOpCtrlD, FWriteIntD}, - {FRegWriteE, FResultSelE, FResSelE, FIntResSelE, FrmE, FmtE, FOpCtrlE, FWriteIntE}); + flopenrc #(15) DEAdrReg(clk, reset, FlushE, ~StallE, {InstrD[19:15], InstrD[24:20], InstrD[31:27]}, + {Adr1E, Adr2E, Adr3E}); + flopenrc #(18) DECtrlReg3(clk, reset, FlushE, ~StallE, + {FRegWriteD, FResultSelD, FResSelD, FIntResSelD, FrmD, FmtD, FOpCtrlD, FWriteIntD, FDivStartD}, + {FRegWriteE, FResultSelE, FResSelE, FIntResSelE, FrmE, FmtE, FOpCtrlE, FWriteIntE, FDivStartE}); + + + + + + + //////////////////////////////////////////////////////////////////////////////////////// //EXECUTION STAGE + //////////////////////////////////////////////////////////////////////////////////////// + + + // Hazard unit for FPU + // - determines if any forwarding or stalls are needed + fhazard fhazard(.Adr1E, .Adr2E, .Adr3E, .FRegWriteM, .FRegWriteW, .RdM, .RdW, .FResultSelM, + // outputs: + .FStallD, .FForwardXE, .FForwardYE, .FForwardZE); - // Hazard unit for FPU - fhazard fhazard(.Adr1E, .Adr2E, .Adr3E, .FRegWriteM, .FRegWriteW, .RdM, .RdW, .FResultSelM, .FStallD, - .FForwardXE, .FForwardYE, .FForwardZE); // forwarding muxs mux3 #(64) fxemux(FRD1E, FPUResultW, FResM, FForwardXE, FSrcXE); @@ -168,128 +199,190 @@ module fpu ( mux3 #(64) fzemux(FRD3E, FPUResultW, FResM, FForwardZE, FPreSrcZE); mux2 #(64) fzmulmux(FPreSrcZE, 64'b0, FOpCtrlE[2], FSrcZE); // Force Z to be 0 for multiply instructions - unpacking unpacking(.X(FSrcXE), .Y(FSrcYE), .Z(FSrcZE), - .FOpCtrlE(FOpCtrlE[2:0]), .FmtE, .XSgnE, .YSgnE, - .ZSgnE, .XExpE, .YExpE, .ZExpE, .XManE, .YManE, .ZManE, - .XNaNE, .YNaNE, .ZNaNE, - .XSNaNE, .YSNaNE, .ZSNaNE, .XDenormE, .YDenormE, .ZDenormE, - .XZeroE, .YZeroE, .ZZeroE, .BiasE, .XInfE, .YInfE, .ZInfE, .XExpMaxE, .XNormE); - // first of two-stage instance of floating-point fused multiply-add unit + + // unpacking unit + // - splits FP inputs into their various parts + // - does some classifications (SNaN, NaN, Denorm, Norm, Zero, Infifnity) + unpacking unpacking(.X(FSrcXE), .Y(FSrcYE), .Z(FSrcZE), .FOpCtrlE(FOpCtrlE[2:0]), .FmtE, + // outputs: + .XSgnE, .YSgnE, .ZSgnE, .XExpE, .YExpE, .ZExpE, .XManE, .YManE, .ZManE, + .XNaNE, .YNaNE, .ZNaNE, .XSNaNE, .YSNaNE, .ZSNaNE, .XDenormE, .YDenormE, .ZDenormE, + .XZeroE, .YZeroE, .ZZeroE, .BiasE, .XInfE, .YInfE, .ZInfE, .XExpMaxE, .XNormE); + + // FMA + // - two stage FMA + // - execute stage - multiplication and addend shifting + // - memory stage - addition and rounding + // - handles FMA and multiply instructions + // - contains some E/M pipleine registers + // *** currently handles FLEN and 32 bits(dont know if 32 works with 128 - easy to fix) - change to handle only the supported formats fma fma (.clk, .reset, .FlushM, .StallM, - .XSgnE, .YSgnE, .ZSgnE, .XExpE, .YExpE, .ZExpE, .XManE, .YManE, . - ZManE, .XDenormE, .YDenormE, - .ZDenormE, .XZeroE, .YZeroE, .ZZeroE, .BiasE, - .XSgnM, .YSgnM, .ZSgnM, .XExpM, .YExpM, .ZExpM, .XManM, - .YManM, .ZManM, .XNaNM, .YNaNM, .ZNaNM, .XZeroM, .YZeroM, .ZZeroM, .XInfM, .YInfM, .ZInfM, .XSNaNM, .YSNaNM, .ZSNaNM, - // .FSrcXE, .FSrcYE, .FSrcZE, .FSrcXM, .FSrcYM, .FSrcZM, + .XSgnE, .YSgnE, .ZSgnE, .XExpE, .YExpE, .ZExpE, .XManE, .YManE, .ZManE, + .XDenormE, .YDenormE, .ZDenormE, .XZeroE, .YZeroE, .ZZeroE, .BiasE, + .XSgnM, .YSgnM, .ZSgnM, .XExpM, .YExpM, .ZExpM, .XManM, .YManM, .ZManM, + .XNaNM, .YNaNM, .ZNaNM, .XZeroM, .YZeroM, .ZZeroM, + .XInfM, .YInfM, .ZInfM, .XSNaNM, .YSNaNM, .ZSNaNM, .FOpCtrlE(FOpCtrlE[2:0]), .FOpCtrlM(FOpCtrlM[2:0]), - .FmtE, .FmtM, .FrmM, .FMAFlgM, .FMAResM); - - // first and only instance of floating-point divider - logic fpdivClk; + .FmtE, .FmtM, .FrmM, + // outputs: + .FMAFlgM, .FMAResM); + // clock gater + // - creates a clock that only runs durring divide/sqrt instructions + // - using the seperate clock gives the divide/sqrt unit some to get set up + // *** the module says not to use in synthisis clockgater fpdivclkg(.E(FDivStartE), .SE(1'b0), .CLK(clk), - .ECLK(fpdivClk)); + .ECLK(FDivClk)); - // capture the inputs for div/sqrt + // capture the inputs for divide/sqrt + // - if not captured any forwarded inputs will change durring computation + // - this problem is caused by stalling the execute stage + // - the other units don't have this problem, only div/sqrt stalls the execute stage flopenrc #(64) reg_input1 (.d(FSrcXE), .q(DivInput1E), .en(1'b1), .clear(FDivSqrtDoneE), - .reset(reset), .clk(HoldInputs)); + .reset(reset), .clk(FDivBusyE)); flopenrc #(64) reg_input2 (.d(FSrcYE), .q(DivInput2E), .en(1'b1), .clear(FDivSqrtDoneE), - .reset(reset), .clk(HoldInputs)); - //*** add round to nearest ties to max magnitude - fpdiv fdivsqrt (.op1(DivInput1E), .op2(DivInput2E), .done(FDivSqrtDoneE), .rm(FrmE[1:0]), .op_type(FOpCtrlE[0]), - .P(~FmtE), .FDivBusyE, .HoldInputs, - .OvEn(1'b1), .UnEn(1'b1), - .start(FDivStartE), .reset, .clk(fpdivClk), .AS_Result(FDivResultM), .Flags(FDivSqrtFlgM)); - - // .DivOpType(FOpCtrlE[0]), .clk(fpdivClk), .FmtE(~FmtE), .DivInput1E, .DivInput2E, - // .FrmE, .DivOvEn(1'b1), .DivUnEn(1'b1), .FDivStartE, .FDivResultM, .FDivSqrtFlgM, - // .FDivSqrtDoneE, .FDivBusyE, .HoldInputs, .reset); - // assign FDivBusyE = 0; - - // first of two-stage instance of floating-point add/cvt unit - faddcvt faddcvt (.clk, .reset, .FlushM, .StallM, .FrmM, .FOpCtrlM, .FmtE, .FmtM, - .FSrcXE, .FSrcYE, .FOpCtrlE, .FAddResM, .FAddFlgM); - - // first and only instance of floating-point comparator - fcmp fcmp (.op1({XSgnE,XExpE,XManE[`NF-1:0]}), .op2({YSgnE,YExpE,YManE[`NF-1:0]}), .FSrcXE, - .FSrcYE, .FOpCtrlE(FOpCtrlE[2:0]), .FmtE, - .Invalid(CmpNVE), .CmpResE, .XNaNE, .YNaNE, .XZeroE, .YZeroE); - - // first and only instance of floating-point sign converter - fsgn fsgn (.SgnOpCodeE(FOpCtrlE[1:0]), .XSgnE, .YSgnE, .FSrcXE, .FmtE, .SgnResE, .SgnNVE, .XExpMaxE); - - // first and only instance of floating-point classify unit - fclassify fclassify (.XSgnE, .XDenormE, .XZeroE, .XNaNE, .XInfE, .XNormE, .XSNaNE, .ClassResE); - - fcvt fcvt (.XSgnE, .XExpE, .XManE, .XZeroE, .XNaNE, .XInfE, .XDenormE, .BiasE, .SrcAE, .FOpCtrlE, .FmtE, .FrmE, .CvtResE, .CvtFlgE); + .reset(reset), .clk(FDivBusyE)); // output for store instructions + //*** change to use the unpacking unit if possible + fpdiv fdivsqrt (.op1(DivInput1E), .op2(DivInput2E), .rm(FrmE[1:0]), .op_type(FOpCtrlE[0]), + .reset, .clk(FDivClk), .start(FDivStartE), .P(~FmtE), .OvEn(1'b1), .UnEn(1'b1), + // outputs: + .FDivBusyE, .done(FDivSqrtDoneE), .AS_Result(FDivResM), .Flags(FDivFlgM)); + + + // add/FP <-> FP convert + // - computation is done in two stages + // - contains some E/M pipleine registers + //*** remove uneeded logic + //*** change to use the unpacking unit if possible + faddcvt faddcvt (.clk, .reset, .FlushM, .StallM, .FrmM, .FOpCtrlM, .FmtE, .FmtM, .FSrcXE, .FSrcYE, .FOpCtrlE, + // outputs: + .FAddResM, .FAddFlgM); + + // compare unit + // - computation is done in one stage + // - writes to FP file durring min/max instructions + // - other comparisons write a 1 or 0 to the integer register + fcmp fcmp (.op1({XSgnE,XExpE,XManE[`NF-1:0]}), .op2({YSgnE,YExpE,YManE[`NF-1:0]}), + .FSrcXE, .FSrcYE, .FOpCtrlE(FOpCtrlE[2:0]), + .FmtE, .XNaNE, .YNaNE, .XZeroE, .YZeroE, + // outputs: + .Invalid(CmpNVE), .CmpResE); + + // sign injection unit + // - computation is done in one stage + fsgn fsgn (.SgnOpCodeE(FOpCtrlE[1:0]), .XSgnE, .YSgnE, .FSrcXE, .FmtE, .XExpMaxE, + // outputs: + .SgnNVE, .SgnResE); + + // classify + // - computation is done in one stage + // - most of the work is done in the unpacking unit + // - result is written to the integer register + fclassify fclassify (.XSgnE, .XDenormE, .XZeroE, .XNaNE, .XInfE, .XNormE, + // outputs: + .XSNaNE, .ClassResE); + + fcvt fcvt (.XSgnE, .XExpE, .XManE, .XZeroE, .XNaNE, .XInfE, .XDenormE, .BiasE, .SrcAE, .FOpCtrlE, .FmtE, .FrmE, + // outputs: + .CvtResE, .CvtFlgE); + + // data to be stored in memory - to IEU + // - FP uses NaN-blocking format + // - if there are any unsused bits the most significant bits are filled with 1s assign FWriteDataE = FSrcYE[`XLEN-1:0]; - //***************** + + + + + //***will synth remove registers of values that are always zero? + //////////////////////////////////////////////////////////////////////////////////////// // E/M pipe registers - //***************** + //////////////////////////////////////////////////////////////////////////////////////// + flopenrc #(64) EMFpReg1(clk, reset, FlushM, ~StallM, FSrcXE, FSrcXM); - // flopenrc #(64) EMFpReg2(clk, reset, FlushM, ~StallM, FSrcYE, FSrcYM); - // flopenrc #(64) EMFpReg3(clk, reset, FlushM, ~StallM, FSrcZE, FSrcZM); - flopenrc #(65) EMFpReg4(clk, reset, FlushM, ~StallM, {XSgnE,XExpE,XManE}, {XSgnM,XExpM,XManM}); - flopenrc #(65) EMFpReg5(clk, reset, FlushM, ~StallM, {YSgnE,YExpE,YManE}, {YSgnM,YExpM,YManM}); - flopenrc #(65) EMFpReg6(clk, reset, FlushM, ~StallM, {ZSgnE,ZExpE,ZManE}, {ZSgnM,ZExpM,ZManM}); - flopenrc #(12) EMFpReg7(clk, reset, FlushM, ~StallM, + flopenrc #(65) EMFpReg2(clk, reset, FlushM, ~StallM, {XSgnE,XExpE,XManE}, {XSgnM,XExpM,XManM}); + flopenrc #(65) EMFpReg3(clk, reset, FlushM, ~StallM, {YSgnE,YExpE,YManE}, {YSgnM,YExpM,YManM}); + flopenrc #(65) EMFpReg4(clk, reset, FlushM, ~StallM, {ZSgnE,ZExpE,ZManE}, {ZSgnM,ZExpM,ZManM}); + flopenrc #(12) EMFpReg5(clk, reset, FlushM, ~StallM, {XZeroE, YZeroE, ZZeroE, XInfE, YInfE, ZInfE, XNaNE, YNaNE, ZNaNE, XSNaNE, YSNaNE, ZSNaNE}, {XZeroM, YZeroM, ZZeroM, XInfM, YInfM, ZInfM, XNaNM, YNaNM, ZNaNM, XSNaNM, YSNaNM, ZSNaNM}); - flopenrc #(1) EMRegCmp1(clk, reset, FlushM, ~StallM, CmpNVE, CmpNVM); - flopenrc #(64) EMRegCmp2(clk, reset, FlushM, ~StallM, CmpResE, CmpResM); + flopenrc #(64) EMRegCmpRes(clk, reset, FlushM, ~StallM, CmpResE, CmpResM); + flopenrc #(1) EMRegCmpFlg(clk, reset, FlushM, ~StallM, CmpNVE, CmpNVM); - flopenrc #(64) EMRegSgn1(clk, reset, FlushM, ~StallM, SgnResE, SgnResM); - flopenrc #(1) EMRegSgn2(clk, reset, FlushM, ~StallM, SgnNVE, SgnNVM); + flopenrc #(64) EMRegSgnRes(clk, reset, FlushM, ~StallM, SgnResE, SgnResM); + flopenrc #(1) EMRegSgnFlg(clk, reset, FlushM, ~StallM, SgnNVE, SgnNVM); - flopenrc #(64) EMRegCvt1(clk, reset, FlushM, ~StallM, CvtResE, CvtResM); - flopenrc #(5) EMRegCvt2(clk, reset, FlushM, ~StallM, CvtFlgE, CvtFlgM); + flopenrc #(64) EMRegCvtRes(clk, reset, FlushM, ~StallM, CvtResE, CvtResM); + flopenrc #(5) EMRegCvtFlg(clk, reset, FlushM, ~StallM, CvtFlgE, CvtFlgM); + + flopenrc #(64) EMRegClass(clk, reset, FlushM, ~StallM, ClassResE, ClassResM); flopenrc #(17) EMCtrlReg(clk, reset, FlushM, ~StallM, {FRegWriteE, FResultSelE, FResSelE, FIntResSelE, FrmE, FmtE, FOpCtrlE, FWriteIntE}, {FRegWriteM, FResultSelM, FResSelM, FIntResSelM, FrmM, FmtM, FOpCtrlM, FWriteIntM}); - flopenrc #(64) EMRegClass(clk, reset, FlushM, ~StallM, ClassResE, ClassResM); + + + + + //////////////////////////////////////////////////////////////////////////////////////// //BEGIN MEMORY STAGE - mux4 #(64) FResMux(AlignedSrcAM, SgnResM, CmpResM, CvtResM, FResSelM, FResM); - mux4 #(5) FFlgMux(5'b0, {4'b0, SgnNVM}, {4'b0, CmpNVM}, CvtFlgM, FResSelM, FFlgM); - - // mux2 #(`XLEN) FSrcXAlignedMux({{`XLEN-32{1'b0}}, FSrcXM[63:32]}, FSrcXM[63:64-`XLEN], FmtM, FSrcXMAligned); - mux4 #(`XLEN) IntResMux(CmpResM[`XLEN-1:0], FSrcXM[`XLEN-1:0], ClassResM[`XLEN-1:0], CvtResM[`XLEN-1:0], FIntResSelM, FIntResM); - + //////////////////////////////////////////////////////////////////////////////////////// + // Align SrcA to MSB when single precicion mux2 #(64) SrcAMux({{32{1'b1}}, SrcAM[31:0]}, {{64-`XLEN{1'b1}}, SrcAM}, FmtM, AlignedSrcAM); - mux5 #(5) FPUFlgMux(5'b0, FMAFlgM, FAddFlgM, FDivSqrtFlgM, FFlgM, FResultSelW, SetFflagsM); + + // select a result that may be written to the FP register + mux4 #(64) FResMux(AlignedSrcAM, SgnResM, CmpResM, CvtResM, FResSelM, FResM); + mux4 #(5) FFlgMux(5'b0, {4'b0, SgnNVM}, {4'b0, CmpNVM}, CvtFlgM, FResSelM, FFlgM); - //***************** + // select the result that may be written to the integer register - to IEU + mux4 #(`XLEN) IntResMux(CmpResM[`XLEN-1:0], FSrcXM[`XLEN-1:0], ClassResM[`XLEN-1:0], CvtResM[`XLEN-1:0], FIntResSelM, FIntResM); + + // FPU flag selection - to privileged + mux5 #(5) FPUFlgMux(5'b0, FMAFlgM, FAddFlgM, FDivFlgM, FFlgM, FResultSelW, SetFflagsM); + + + + + + //////////////////////////////////////////////////////////////////////////////////////// // M/W pipe registers - //***************** - flopenrc #(64) MWRegFma1(clk, reset, FlushW, ~StallW, FMAResM, FMAResW); - flopenrc #(64) MWRegDiv1(clk, reset, FlushW, ~StallW, FDivResultM, FDivResultW); - flopenrc #(64) MWRegAdd1(clk, reset, FlushW, ~StallW, FAddResM, FAddResW); - flopenrc #(64) MWRegCmp3(clk, reset, FlushW, ~StallW, CmpResM, CmpResW); - flopenrc #(64) MWRegClass2(clk, reset, FlushW, ~StallW, FResM, FResW); - flopenrc #(6) MWCtrlReg(clk, reset, FlushW, ~StallW, + //////////////////////////////////////////////////////////////////////////////////////// + flopenrc #(64) MWRegFma(clk, reset, FlushW, ~StallW, FMAResM, FMAResW); + flopenrc #(64) MWRegDiv(clk, reset, FlushW, ~StallW, FDivResM, FDivResW); + flopenrc #(64) MWRegAdd(clk, reset, FlushW, ~StallW, FAddResM, FAddResW); + flopenrc #(64) MWRegClass(clk, reset, FlushW, ~StallW, FResM, FResW); + flopenrc #(6) MWCtrlReg(clk, reset, FlushW, ~StallW, {FRegWriteM, FResultSelM, FmtM, FWriteIntM}, {FRegWriteW, FResultSelW, FmtW, FWriteIntW}); - //######################################### + + + + //////////////////////////////////////////////////////////////////////////////////////// // BEGIN WRITEBACK STAGE - //######################################### + //////////////////////////////////////////////////////////////////////////////////////// + + // put ReadData into NaN-blocking format + // - if there are any unsused bits the most significant bits are filled with 1s + // - for load instruction mux2 #(64) ReadResMux({{32{1'b1}}, ReadDataW[31:0]}, {{64-`XLEN{1'b1}}, ReadDataW}, FmtW, ReadResW); - mux5 #(64) FPUResultMux(ReadResW, FMAResW, FAddResW, FDivResultW, FResW, FResultSelW, FPUResultW); + + // select the result to be written to the FP register + mux5 #(64) FPUResultMux(ReadResW, FMAResW, FAddResW, FDivResW, FResW, FResultSelW, FPUResultW); - end else begin // no F_SUPPORTED; tie outputs low + end else begin // no F_SUPPORTED or D_SUPPORTED; tie outputs low assign FStallD = 0; assign FWriteIntE = 0; assign FWriteIntM = 0; @@ -299,7 +392,7 @@ module fpu ( assign FDivBusyE = 0; assign IllegalFPUInstrD = 1; assign SetFflagsM = 0; - end + end endgenerate endmodule // fpu diff --git a/wally-pipelined/src/fpu/fregfile.sv b/wally-pipelined/src/fpu/fregfile.sv index 78c24b3e..4b001bc9 100644 --- a/wally-pipelined/src/fpu/fregfile.sv +++ b/wally-pipelined/src/fpu/fregfile.sv @@ -26,10 +26,10 @@ `include "wally-config.vh" module fregfile ( - input logic clk, reset, - input logic we4, - input logic [ 4:0] a1, a2, a3, a4, - input logic [63:0] wd4, //KEP `XLEN-1 changed to 63 (lint warning) *** figure out if double can be suported when XLEN = 32 + input logic clk, reset, + input logic we4, + input logic [ 4:0] a1, a2, a3, a4, + input logic [63:0] wd4, output logic [63:0] rd1, rd2, rd3); logic [63:0] rf[31:0]; diff --git a/wally-pipelined/src/fpu/fsgn.sv b/wally-pipelined/src/fpu/fsgn.sv index 83cb940f..8aa69bdd 100755 --- a/wally-pipelined/src/fpu/fsgn.sv +++ b/wally-pipelined/src/fpu/fsgn.sv @@ -1,15 +1,15 @@ //performs the fsgnj/fsgnjn/fsgnjx RISCV instructions module fsgn ( - input logic XSgnE, YSgnE, - input logic [63:0] FSrcXE, - input logic XExpMaxE, - input logic FmtE, - input logic [1:0] SgnOpCodeE, - output logic [63:0] SgnResE, - output logic SgnNVE); + input logic XSgnE, YSgnE, // X and Y sign bits + input logic [63:0] FSrcXE, // X + input logic XExpMaxE, // max possible exponent (all ones) + input logic FmtE, // precision 1 = double 0 = single + input logic [1:0] SgnOpCodeE, // operation control + output logic [63:0] SgnResE, // result + output logic SgnNVE // invalid flag + ); - logic AonesExp; logic ResSgn; //op code designation: @@ -19,7 +19,12 @@ module fsgn ( //10 - fsgnjx - XOR sign values of FSrcXE & FSrcYE // + // calculate the result's sign assign ResSgn = SgnOpCodeE[1] ? (XSgnE ^ YSgnE) : (YSgnE ^ SgnOpCodeE[0]); + + // format final result based on precision + // - uses NaN-blocking format + // - if there are any unsused bits the most significant bits are filled with 1s assign SgnResE = FmtE ? {ResSgn, FSrcXE[62:0]} : {FSrcXE[63:32], ResSgn, FSrcXE[30:0]}; //If the exponent is all ones, then the value is either Inf or NaN, diff --git a/wally-pipelined/src/fpu/fsm.sv b/wally-pipelined/src/fpu/fsm.sv index 434f56e3..99ac4779 100755 --- a/wally-pipelined/src/fpu/fsm.sv +++ b/wally-pipelined/src/fpu/fsm.sv @@ -1,37 +1,22 @@ -module fsm (done, load_rega, load_regb, load_regc, - load_regd, load_regr, load_regs, - sel_muxa, sel_muxb, sel_muxr, - clk, reset, start, op_type, divBusy, holdInputs); +module fsm ( - input clk; - input reset; - input start; - // input error; - input op_type; - //***can use divbusy insted of holdinputs - output done; - output load_rega; - output load_regb; - output load_regc; - output load_regd; - output load_regr; - output load_regs; - - output [2:0] sel_muxa; - output [2:0] sel_muxb; - output sel_muxr; - output logic divBusy,holdInputs; + input logic clk, + input logic reset, + input logic start, + input logic op_type, + output logic done, // End of cycles + output logic load_rega, // enable for regA + output logic load_regb, // enable for regB + output logic load_regc, // enable for regC + output logic load_regd, // enable for regD + output logic load_regr, // enable for rem + output logic load_regs, // enable for q,qm,qp + output logic [2:0] sel_muxa, // Select muxA + output logic [2:0] sel_muxb, // Select muxB + output logic sel_muxr, // Select rem mux + output logic divBusy // calculation is happening + ); - reg done; // End of cycles - reg load_rega; // enable for regA - reg load_regb; // enable for regB - reg load_regc; // enable for regC - reg load_regd; // enable for regD - reg load_regr; // enable for rem - reg load_regs; // enable for q,qm,qp - reg [2:0] sel_muxa; // Select muxA - reg [2:0] sel_muxb; // Select muxB - reg sel_muxr; // Select rem mux reg [4:0] CURRENT_STATE; reg [4:0] NEXT_STATE; @@ -65,7 +50,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b0; - holdInputs = 1'b0; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -81,7 +65,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -97,7 +80,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -114,7 +96,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -130,7 +111,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -146,7 +126,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -162,7 +141,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -178,7 +156,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -194,7 +171,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -210,7 +186,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -226,7 +201,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -242,7 +216,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -258,7 +231,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b1; divBusy = 1'b0; - holdInputs = 1'b0; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -274,7 +246,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -290,7 +261,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -306,7 +276,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -322,7 +291,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -338,7 +306,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -354,7 +321,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -370,7 +336,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -386,7 +351,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -402,7 +366,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b1; load_regc = 1'b0; @@ -418,7 +381,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -434,7 +396,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b1; load_regb = 1'b0; load_regc = 1'b1; @@ -450,7 +411,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -466,7 +426,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b1; - holdInputs = 1'b1; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -482,7 +441,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b1; divBusy = 1'b0; - holdInputs = 1'b0; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; @@ -498,7 +456,6 @@ module fsm (done, load_rega, load_regb, load_regc, begin done = 1'b0; divBusy = 1'b0; - holdInputs = 1'b0; load_rega = 1'b0; load_regb = 1'b0; load_regc = 1'b0; diff --git a/wally-pipelined/src/fpu/fsm_div.v b/wally-pipelined/src/fpu/fsm_div.v deleted file mode 100755 index 5c6cc7ed..00000000 --- a/wally-pipelined/src/fpu/fsm_div.v +++ /dev/null @@ -1,461 +0,0 @@ - -// `timescale 1ps/1ps -// module fsm_div (done, load_rega, load_regb, load_regc, -// load_regd, load_regr, load_regs, -// sel_muxa, sel_muxb, sel_muxr, -// clk, reset, start, error, op_type); - -// input clk; -// input reset; -// input start; -// input error; -// input op_type; - -// output done; -// output load_rega; -// output load_regb; -// output load_regc; -// output load_regd; -// output load_regr; -// output load_regs; - -// output [2:0] sel_muxa; -// output [2:0] sel_muxb; -// output sel_muxr; - -// reg done; // End of cycles -// reg load_rega; // enable for regA -// reg load_regb; // enable for regB -// reg load_regc; // enable for regC -// reg load_regd; // enable for regD -// reg load_regr; // enable for rem -// reg load_regs; // enable for q,qm,qp -// reg [2:0] sel_muxa; // Select muxA -// reg [2:0] sel_muxb; // Select muxB -// reg sel_muxr; // Select rem mux - -// reg [4:0] CURRENT_STATE; -// reg [4:0] NEXT_STATE; - -// parameter [4:0] -// S0=5'd0, S1=5'd1, S2=5'd2, -// S3=5'd3, S4=5'd4, S5=5'd5, -// S6=5'd6, S7=5'd7, S8=5'd8, -// S9=5'd9, S10=5'd10, -// S13=5'd13, S14=5'd14, S15=5'd15, -// S16=5'd16, S17=5'd17, S18=5'd18, -// S19=5'd19, S20=5'd20, S21=5'd21, -// S22=5'd22, S23=5'd23, S24=5'd24, -// S25=5'd25, S26=5'd26, S27=5'd27, -// S28=5'd28, S29=5'd29, S30=5'd30; - -// always @(posedge clk) -// begin -// if(reset==1'b1) -// CURRENT_STATE<=S0; -// else -// CURRENT_STATE<=NEXT_STATE; -// end - -// always @(*) -// begin -// case(CURRENT_STATE) -// S0: // iteration 0 -// begin -// if (start==1'b0) -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S0; -// end -// else if (start==1'b1 && op_type==1'b0) -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b001; -// sel_muxb = 3'b001; -// sel_muxr = 1'b0; -// NEXT_STATE <= S1; -// end // if (start==1'b1 && op_type==1'b0) -// else if (start==1'b1 && op_type==1'b1) -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b010; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S13; -// end -// end // case: S0 -// S1: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b010; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S2; -// end -// S2: // iteration 1 -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S3; -// end -// S3: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b010; -// sel_muxr = 1'b0; -// NEXT_STATE <= S4; -// end -// S4: // iteration 2 -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S5; -// end -// S5: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b010; -// sel_muxr = 1'b0; // add -// NEXT_STATE <= S6; -// end -// S6: // iteration 3 -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S8; -// end -// S7: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b010; -// sel_muxr = 1'b0; -// NEXT_STATE <= S8; -// end // case: S7 -// S8: // q,qm,qp -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b1; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S9; -// end -// S9: // rem -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b1; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b1; -// NEXT_STATE <= S10; -// end -// S10: // done -// begin -// done = 1'b1; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S0; -// end -// S13: // start of sqrt path -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b1; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b010; -// sel_muxb = 3'b001; -// sel_muxr = 1'b0; -// NEXT_STATE <= S14; -// end -// S14: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b001; -// sel_muxb = 3'b100; -// sel_muxr = 1'b0; -// NEXT_STATE <= S15; -// end -// S15: // iteration 1 -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S16; -// end -// S16: -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b1; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S17; -// end -// S17: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b100; -// sel_muxb = 3'b010; -// sel_muxr = 1'b0; -// NEXT_STATE <= S18; -// end -// S18: // iteration 2 -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S19; -// end -// S19: -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b1; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S20; -// end -// S20: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b100; -// sel_muxb = 3'b010; -// sel_muxr = 1'b0; -// NEXT_STATE <= S21; -// end -// S21: // iteration 3 -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b1; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S22; -// end -// S22: -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b1; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b011; -// sel_muxr = 1'b0; -// NEXT_STATE <= S23; -// end -// S23: -// begin -// done = 1'b0; -// load_rega = 1'b1; -// load_regb = 1'b0; -// load_regc = 1'b1; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b100; -// sel_muxb = 3'b010; -// sel_muxr = 1'b0; -// NEXT_STATE <= S24; -// end -// S24: // q,qm,qp -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b1; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S25; -// end -// S25: // rem -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b1; -// load_regs = 1'b0; -// sel_muxa = 3'b011; -// sel_muxb = 3'b110; -// sel_muxr = 1'b1; -// NEXT_STATE <= S26; -// end -// S26: // done -// begin -// done = 1'b1; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S0; -// end -// default: -// begin -// done = 1'b0; -// load_rega = 1'b0; -// load_regb = 1'b0; -// load_regc = 1'b0; -// load_regd = 1'b0; -// load_regr = 1'b0; -// load_regs = 1'b0; -// sel_muxa = 3'b000; -// sel_muxb = 3'b000; -// sel_muxr = 1'b0; -// NEXT_STATE <= S0; -// end -// endcase // case(CURRENT_STATE) -// end // always @ (CURRENT_STATE or X) - -// endmodule // fsm diff --git a/wally-pipelined/src/fpu/ldf128.sv b/wally-pipelined/src/fpu/ldf128.sv deleted file mode 100755 index 23bdb574..00000000 --- a/wally-pipelined/src/fpu/ldf128.sv +++ /dev/null @@ -1,593 +0,0 @@ -// Ladner-Fischer Prefix Adder - -module ldf128 (cout, sum, a, b, cin); - - input [127:0] a, b; - input cin; - - output [127:0] sum; - output cout; - - wire [128:0] p,g; - wire [127:0] c; - - // pre-computation - assign p={a^b,1'b0}; - assign g={a&b, cin}; - - // prefix tree - ladner_fischer128 prefix_tree (c, p[127:0], g[127:0]); - - // post-computation - assign sum=p[128:1]^c; - assign cout=g[128]|(p[128]&c[127]); - -endmodule - -module ladner_fischer128 (c, p, g); - - input [127:0] p; - input [127:0] g; - - output [128:1] c; - - - logic G_1_0, G_3_2, P_3_2, G_5_4, P_5_4, G_7_6, P_7_6, G_9_8, P_9_8, G_11_10, P_11_10, G_13_12 - , P_13_12, G_15_14, P_15_14, G_17_16, P_17_16, G_19_18, P_19_18, G_21_20, P_21_20, G_23_22 - , P_23_22, G_25_24, P_25_24, G_27_26, P_27_26, G_29_28, P_29_28, G_31_30, P_31_30, G_33_32 - , P_33_32, G_35_34, P_35_34, G_37_36, P_37_36, G_39_38, P_39_38, G_41_40, P_41_40, G_43_42 - , P_43_42, G_45_44, P_45_44, G_47_46, P_47_46, G_49_48, P_49_48, G_51_50, P_51_50, G_53_52 - , P_53_52, G_55_54, P_55_54, G_57_56, P_57_56, G_59_58, P_59_58, G_61_60, P_61_60, G_63_62 - , P_63_62, G_65_64, P_65_64, G_67_66, P_67_66, G_69_68, P_69_68, G_71_70, P_71_70, G_73_72 - , P_73_72, G_75_74, P_75_74, G_77_76, P_77_76, G_79_78, P_79_78, G_81_80, P_81_80, G_83_82 - , P_83_82, G_85_84, P_85_84, G_87_86, P_87_86, G_89_88, P_89_88, G_91_90, P_91_90, G_93_92 - , P_93_92, G_95_94, P_95_94, G_97_96, P_97_96, G_99_98, P_99_98, G_101_100, P_101_100, G_103_102 - , P_103_102, G_105_104, P_105_104, G_107_106, P_107_106, G_109_108, P_109_108, G_111_110, P_111_110 - , G_113_112, P_113_112, G_115_114, P_115_114, G_117_116, P_117_116, G_119_118, P_119_118, G_121_120 - , P_121_120, G_123_122, P_123_122, G_125_124, P_125_124, G_127_126, P_127_126, G_3_0, G_7_4, P_7_4 - , G_11_8, P_11_8, G_15_12, P_15_12, G_19_16, P_19_16, G_23_20, P_23_20, G_27_24, P_27_24, G_31_28 - , P_31_28, G_35_32, P_35_32, G_39_36, P_39_36, G_43_40, P_43_40, G_47_44, P_47_44, G_51_48, P_51_48 - , G_55_52, P_55_52, G_59_56, P_59_56, G_63_60, P_63_60, G_67_64, P_67_64, G_71_68, P_71_68, G_75_72 - , P_75_72, G_79_76, P_79_76, G_83_80, P_83_80, G_87_84, P_87_84, G_91_88, P_91_88, G_95_92, P_95_92 - , G_99_96, P_99_96, G_103_100, P_103_100, G_107_104, P_107_104, G_111_108, P_111_108, G_115_112 - , P_115_112, G_119_116, P_119_116, G_123_120, P_123_120, G_127_124, P_127_124, G_5_0, G_7_0, G_13_8 - , P_13_8, G_15_8, P_15_8, G_21_16, P_21_16, G_23_16, P_23_16, G_29_24, P_29_24, G_31_24, P_31_24 - , G_37_32, P_37_32, G_39_32, P_39_32, G_45_40, P_45_40, G_47_40, P_47_40, G_53_48, P_53_48, G_55_48 - , P_55_48, G_61_56, P_61_56, G_63_56, P_63_56, G_69_64, P_69_64, G_71_64, P_71_64, G_77_72, P_77_72 - , G_79_72, P_79_72, G_85_80, P_85_80, G_87_80, P_87_80, G_93_88, P_93_88, G_95_88, P_95_88, G_101_96 - , P_101_96, G_103_96, P_103_96, G_109_104, P_109_104, G_111_104, P_111_104, G_117_112, P_117_112 - , G_119_112, P_119_112, G_125_120, P_125_120, G_127_120, P_127_120, G_9_0, G_11_0, G_13_0, G_15_0, G_25_16 - , P_25_16, G_27_16, P_27_16, G_29_16, P_29_16, G_31_16, P_31_16, G_41_32, P_41_32, G_43_32, P_43_32, G_45_32 - , P_45_32, G_47_32, P_47_32, G_57_48, P_57_48, G_59_48, P_59_48, G_61_48, P_61_48, G_63_48, P_63_48, G_73_64 - , P_73_64, G_75_64, P_75_64, G_77_64, P_77_64, G_79_64, P_79_64, G_89_80, P_89_80, G_91_80, P_91_80 - , G_93_80, P_93_80, G_95_80, P_95_80, G_105_96, P_105_96, G_107_96, P_107_96, G_109_96, P_109_96 - , G_111_96, P_111_96, G_121_112, P_121_112, G_123_112, P_123_112, G_125_112, P_125_112, G_127_112 - , P_127_112, G_17_0, G_19_0, G_21_0, G_23_0, G_25_0, G_27_0, G_29_0, G_31_0, G_49_32, P_49_32, G_51_32 - , P_51_32, G_53_32, P_53_32, G_55_32, P_55_32, G_57_32, P_57_32, G_59_32, P_59_32, G_61_32, P_61_32 - , G_63_32, P_63_32, G_81_64, P_81_64, G_83_64, P_83_64, G_85_64, P_85_64, G_87_64, P_87_64, G_89_64, P_89_64 - , G_91_64, P_91_64, G_93_64, P_93_64, G_95_64, P_95_64, G_113_96, P_113_96, G_115_96, P_115_96 - , G_117_96, P_117_96, G_119_96, P_119_96, G_121_96, P_121_96, G_123_96, P_123_96, G_125_96, P_125_96 - , G_127_96, P_127_96, G_33_0, G_35_0, G_37_0, G_39_0, G_41_0, G_43_0, G_45_0, G_47_0, G_49_0, G_51_0 - , G_53_0, G_55_0, G_57_0, G_59_0, G_61_0, G_63_0, G_97_64, P_97_64, G_99_64, P_99_64, G_101_64, P_101_64 - , G_103_64, P_103_64, G_105_64, P_105_64, G_107_64, P_107_64, G_109_64, P_109_64, G_111_64, P_111_64 - , G_113_64, P_113_64, G_115_64, P_115_64, G_117_64, P_117_64, G_119_64, P_119_64, G_121_64, P_121_64 - , G_123_64, P_123_64, G_125_64, P_125_64, G_127_64, P_127_64, G_65_0, G_67_0, G_69_0, G_71_0, G_73_0 - , G_75_0, G_77_0, G_79_0, G_81_0, G_83_0, G_85_0, G_87_0, G_89_0, G_91_0, G_93_0, G_95_0, G_97_0 - , G_99_0, G_101_0, G_103_0, G_105_0, G_107_0, G_109_0, G_111_0, G_113_0, G_115_0, G_117_0, G_119_0 - , G_121_0, G_123_0, G_125_0, G_127_0, G_2_0, G_4_0, G_6_0, G_8_0, G_10_0, G_12_0, G_14_0, G_16_0 - , G_18_0, G_20_0, G_22_0, G_24_0, G_26_0, G_28_0, G_30_0, G_32_0, G_34_0, G_36_0, G_38_0, G_40_0 - , G_42_0, G_44_0, G_46_0, G_48_0, G_50_0, G_52_0, G_54_0, G_56_0, G_58_0, G_60_0, G_62_0, G_64_0 - , G_66_0, G_68_0, G_70_0, G_72_0, G_74_0, G_76_0, G_78_0, G_80_0, G_82_0, G_84_0, G_86_0, G_88_0 - , G_90_0, G_92_0, G_94_0, G_96_0, G_98_0, G_100_0, G_102_0, G_104_0, G_106_0, G_108_0, G_110_0, G_112_0 - , G_114_0, G_116_0, G_118_0, G_120_0, G_122_0, G_124_0, G_126_0; - - // parallel-prefix, Ladner-Fischer - - // Stage 1: Generates G/P pairs that span 1 bits - grey b_1_0 (G_1_0, {g[1],g[0]}, p[1]); - black b_3_2 (G_3_2, P_3_2, {g[3],g[2]}, {p[3],p[2]}); - black b_5_4 (G_5_4, P_5_4, {g[5],g[4]}, {p[5],p[4]}); - black b_7_6 (G_7_6, P_7_6, {g[7],g[6]}, {p[7],p[6]}); - black b_9_8 (G_9_8, P_9_8, {g[9],g[8]}, {p[9],p[8]}); - black b_11_10 (G_11_10, P_11_10, {g[11],g[10]}, {p[11],p[10]}); - black b_13_12 (G_13_12, P_13_12, {g[13],g[12]}, {p[13],p[12]}); - black b_15_14 (G_15_14, P_15_14, {g[15],g[14]}, {p[15],p[14]}); - - black b_17_16 (G_17_16, P_17_16, {g[17],g[16]}, {p[17],p[16]}); - black b_19_18 (G_19_18, P_19_18, {g[19],g[18]}, {p[19],p[18]}); - black b_21_20 (G_21_20, P_21_20, {g[21],g[20]}, {p[21],p[20]}); - black b_23_22 (G_23_22, P_23_22, {g[23],g[22]}, {p[23],p[22]}); - black b_25_24 (G_25_24, P_25_24, {g[25],g[24]}, {p[25],p[24]}); - black b_27_26 (G_27_26, P_27_26, {g[27],g[26]}, {p[27],p[26]}); - black b_29_28 (G_29_28, P_29_28, {g[29],g[28]}, {p[29],p[28]}); - black b_31_30 (G_31_30, P_31_30, {g[31],g[30]}, {p[31],p[30]}); - - black b_33_32 (G_33_32, P_33_32, {g[33],g[32]}, {p[33],p[32]}); - black b_35_34 (G_35_34, P_35_34, {g[35],g[34]}, {p[35],p[34]}); - black b_37_36 (G_37_36, P_37_36, {g[37],g[36]}, {p[37],p[36]}); - black b_39_38 (G_39_38, P_39_38, {g[39],g[38]}, {p[39],p[38]}); - black b_41_40 (G_41_40, P_41_40, {g[41],g[40]}, {p[41],p[40]}); - black b_43_42 (G_43_42, P_43_42, {g[43],g[42]}, {p[43],p[42]}); - black b_45_44 (G_45_44, P_45_44, {g[45],g[44]}, {p[45],p[44]}); - black b_47_46 (G_47_46, P_47_46, {g[47],g[46]}, {p[47],p[46]}); - - black b_49_48 (G_49_48, P_49_48, {g[49],g[48]}, {p[49],p[48]}); - black b_51_50 (G_51_50, P_51_50, {g[51],g[50]}, {p[51],p[50]}); - black b_53_52 (G_53_52, P_53_52, {g[53],g[52]}, {p[53],p[52]}); - black b_55_54 (G_55_54, P_55_54, {g[55],g[54]}, {p[55],p[54]}); - black b_57_56 (G_57_56, P_57_56, {g[57],g[56]}, {p[57],p[56]}); - black b_59_58 (G_59_58, P_59_58, {g[59],g[58]}, {p[59],p[58]}); - black b_61_60 (G_61_60, P_61_60, {g[61],g[60]}, {p[61],p[60]}); - black b_63_62 (G_63_62, P_63_62, {g[63],g[62]}, {p[63],p[62]}); - - black b_65_64 (G_65_64, P_65_64, {g[65],g[64]}, {p[65],p[64]}); - black b_67_66 (G_67_66, P_67_66, {g[67],g[66]}, {p[67],p[66]}); - black b_69_68 (G_69_68, P_69_68, {g[69],g[68]}, {p[69],p[68]}); - black b_71_70 (G_71_70, P_71_70, {g[71],g[70]}, {p[71],p[70]}); - black b_73_72 (G_73_72, P_73_72, {g[73],g[72]}, {p[73],p[72]}); - black b_75_74 (G_75_74, P_75_74, {g[75],g[74]}, {p[75],p[74]}); - black b_77_76 (G_77_76, P_77_76, {g[77],g[76]}, {p[77],p[76]}); - black b_79_78 (G_79_78, P_79_78, {g[79],g[78]}, {p[79],p[78]}); - - black b_81_80 (G_81_80, P_81_80, {g[81],g[80]}, {p[81],p[80]}); - black b_83_82 (G_83_82, P_83_82, {g[83],g[82]}, {p[83],p[82]}); - black b_85_84 (G_85_84, P_85_84, {g[85],g[84]}, {p[85],p[84]}); - black b_87_86 (G_87_86, P_87_86, {g[87],g[86]}, {p[87],p[86]}); - black b_89_88 (G_89_88, P_89_88, {g[89],g[88]}, {p[89],p[88]}); - black b_91_90 (G_91_90, P_91_90, {g[91],g[90]}, {p[91],p[90]}); - black b_93_92 (G_93_92, P_93_92, {g[93],g[92]}, {p[93],p[92]}); - black b_95_94 (G_95_94, P_95_94, {g[95],g[94]}, {p[95],p[94]}); - - black b_97_96 (G_97_96, P_97_96, {g[97],g[96]}, {p[97],p[96]}); - black b_99_98 (G_99_98, P_99_98, {g[99],g[98]}, {p[99],p[98]}); - black b_101_100 (G_101_100, P_101_100, {g[101],g[100]}, {p[101],p[100]}); - black b_103_102 (G_103_102, P_103_102, {g[103],g[102]}, {p[103],p[102]}); - black b_105_104 (G_105_104, P_105_104, {g[105],g[104]}, {p[105],p[104]}); - black b_107_106 (G_107_106, P_107_106, {g[107],g[106]}, {p[107],p[106]}); - black b_109_108 (G_109_108, P_109_108, {g[109],g[108]}, {p[109],p[108]}); - black b_111_110 (G_111_110, P_111_110, {g[111],g[110]}, {p[111],p[110]}); - - black b_113_112 (G_113_112, P_113_112, {g[113],g[112]}, {p[113],p[112]}); - black b_115_114 (G_115_114, P_115_114, {g[115],g[114]}, {p[115],p[114]}); - black b_117_116 (G_117_116, P_117_116, {g[117],g[116]}, {p[117],p[116]}); - black b_119_118 (G_119_118, P_119_118, {g[119],g[118]}, {p[119],p[118]}); - black b_121_120 (G_121_120, P_121_120, {g[121],g[120]}, {p[121],p[120]}); - black b_123_122 (G_123_122, P_123_122, {g[123],g[122]}, {p[123],p[122]}); - black b_125_124 (G_125_124, P_125_124, {g[125],g[124]}, {p[125],p[124]}); - black b_127_126 (G_127_126, P_127_126, {g[127],g[126]}, {p[127],p[126]}); - - - // Stage 2: Generates G/P pairs that span 2 bits - grey g_3_0 (G_3_0, {G_3_2,G_1_0}, P_3_2); - black b_7_4 (G_7_4, P_7_4, {G_7_6,G_5_4}, {P_7_6,P_5_4}); - black b_11_8 (G_11_8, P_11_8, {G_11_10,G_9_8}, {P_11_10,P_9_8}); - black b_15_12 (G_15_12, P_15_12, {G_15_14,G_13_12}, {P_15_14,P_13_12}); - black b_19_16 (G_19_16, P_19_16, {G_19_18,G_17_16}, {P_19_18,P_17_16}); - black b_23_20 (G_23_20, P_23_20, {G_23_22,G_21_20}, {P_23_22,P_21_20}); - black b_27_24 (G_27_24, P_27_24, {G_27_26,G_25_24}, {P_27_26,P_25_24}); - black b_31_28 (G_31_28, P_31_28, {G_31_30,G_29_28}, {P_31_30,P_29_28}); - - black b_35_32 (G_35_32, P_35_32, {G_35_34,G_33_32}, {P_35_34,P_33_32}); - black b_39_36 (G_39_36, P_39_36, {G_39_38,G_37_36}, {P_39_38,P_37_36}); - black b_43_40 (G_43_40, P_43_40, {G_43_42,G_41_40}, {P_43_42,P_41_40}); - black b_47_44 (G_47_44, P_47_44, {G_47_46,G_45_44}, {P_47_46,P_45_44}); - black b_51_48 (G_51_48, P_51_48, {G_51_50,G_49_48}, {P_51_50,P_49_48}); - black b_55_52 (G_55_52, P_55_52, {G_55_54,G_53_52}, {P_55_54,P_53_52}); - black b_59_56 (G_59_56, P_59_56, {G_59_58,G_57_56}, {P_59_58,P_57_56}); - black b_63_60 (G_63_60, P_63_60, {G_63_62,G_61_60}, {P_63_62,P_61_60}); - - black b_67_64 (G_67_64, P_67_64, {G_67_66,G_65_64}, {P_67_66,P_65_64}); - black b_71_68 (G_71_68, P_71_68, {G_71_70,G_69_68}, {P_71_70,P_69_68}); - black b_75_72 (G_75_72, P_75_72, {G_75_74,G_73_72}, {P_75_74,P_73_72}); - black b_79_76 (G_79_76, P_79_76, {G_79_78,G_77_76}, {P_79_78,P_77_76}); - black b_83_80 (G_83_80, P_83_80, {G_83_82,G_81_80}, {P_83_82,P_81_80}); - black b_87_84 (G_87_84, P_87_84, {G_87_86,G_85_84}, {P_87_86,P_85_84}); - black b_91_88 (G_91_88, P_91_88, {G_91_90,G_89_88}, {P_91_90,P_89_88}); - black b_95_92 (G_95_92, P_95_92, {G_95_94,G_93_92}, {P_95_94,P_93_92}); - - black b_99_96 (G_99_96, P_99_96, {G_99_98,G_97_96}, {P_99_98,P_97_96}); - black b_103_100 (G_103_100, P_103_100, {G_103_102,G_101_100}, {P_103_102,P_101_100}); - black b_107_104 (G_107_104, P_107_104, {G_107_106,G_105_104}, {P_107_106,P_105_104}); - black b_111_108 (G_111_108, P_111_108, {G_111_110,G_109_108}, {P_111_110,P_109_108}); - black b_115_112 (G_115_112, P_115_112, {G_115_114,G_113_112}, {P_115_114,P_113_112}); - black b_119_116 (G_119_116, P_119_116, {G_119_118,G_117_116}, {P_119_118,P_117_116}); - black b_123_120 (G_123_120, P_123_120, {G_123_122,G_121_120}, {P_123_122,P_121_120}); - black b_127_124 (G_127_124, P_127_124, {G_127_126,G_125_124}, {P_127_126,P_125_124}); - - // Stage 3: Generates G/P pairs that span 4 bits - grey g_5_0 (G_5_0, {G_5_4,G_3_0}, P_5_4); - grey g_7_0 (G_7_0, {G_7_4,G_3_0}, P_7_4); - black b_13_8 (G_13_8, P_13_8, {G_13_12,G_11_8}, {P_13_12,P_11_8}); - black b_15_8 (G_15_8, P_15_8, {G_15_12,G_11_8}, {P_15_12,P_11_8}); - black b_21_16 (G_21_16, P_21_16, {G_21_20,G_19_16}, {P_21_20,P_19_16}); - black b_23_16 (G_23_16, P_23_16, {G_23_20,G_19_16}, {P_23_20,P_19_16}); - black b_29_24 (G_29_24, P_29_24, {G_29_28,G_27_24}, {P_29_28,P_27_24}); - black b_31_24 (G_31_24, P_31_24, {G_31_28,G_27_24}, {P_31_28,P_27_24}); - - black b_37_32 (G_37_32, P_37_32, {G_37_36,G_35_32}, {P_37_36,P_35_32}); - black b_39_32 (G_39_32, P_39_32, {G_39_36,G_35_32}, {P_39_36,P_35_32}); - black b_45_40 (G_45_40, P_45_40, {G_45_44,G_43_40}, {P_45_44,P_43_40}); - black b_47_40 (G_47_40, P_47_40, {G_47_44,G_43_40}, {P_47_44,P_43_40}); - black b_53_48 (G_53_48, P_53_48, {G_53_52,G_51_48}, {P_53_52,P_51_48}); - black b_55_48 (G_55_48, P_55_48, {G_55_52,G_51_48}, {P_55_52,P_51_48}); - black b_61_56 (G_61_56, P_61_56, {G_61_60,G_59_56}, {P_61_60,P_59_56}); - black b_63_56 (G_63_56, P_63_56, {G_63_60,G_59_56}, {P_63_60,P_59_56}); - - black b_69_64 (G_69_64, P_69_64, {G_69_68,G_67_64}, {P_69_68,P_67_64}); - black b_71_64 (G_71_64, P_71_64, {G_71_68,G_67_64}, {P_71_68,P_67_64}); - black b_77_72 (G_77_72, P_77_72, {G_77_76,G_75_72}, {P_77_76,P_75_72}); - black b_79_72 (G_79_72, P_79_72, {G_79_76,G_75_72}, {P_79_76,P_75_72}); - black b_85_80 (G_85_80, P_85_80, {G_85_84,G_83_80}, {P_85_84,P_83_80}); - black b_87_80 (G_87_80, P_87_80, {G_87_84,G_83_80}, {P_87_84,P_83_80}); - black b_93_88 (G_93_88, P_93_88, {G_93_92,G_91_88}, {P_93_92,P_91_88}); - black b_95_88 (G_95_88, P_95_88, {G_95_92,G_91_88}, {P_95_92,P_91_88}); - - black b_101_96 (G_101_96, P_101_96, {G_101_100,G_99_96}, {P_101_100,P_99_96}); - black b_103_96 (G_103_96, P_103_96, {G_103_100,G_99_96}, {P_103_100,P_99_96}); - black b_109_104 (G_109_104, P_109_104, {G_109_108,G_107_104}, {P_109_108,P_107_104}); - black b_111_104 (G_111_104, P_111_104, {G_111_108,G_107_104}, {P_111_108,P_107_104}); - black b_117_112 (G_117_112, P_117_112, {G_117_116,G_115_112}, {P_117_116,P_115_112}); - black b_119_112 (G_119_112, P_119_112, {G_119_116,G_115_112}, {P_119_116,P_115_112}); - black b_125_120 (G_125_120, P_125_120, {G_125_124,G_123_120}, {P_125_124,P_123_120}); - black b_127_120 (G_127_120, P_127_120, {G_127_124,G_123_120}, {P_127_124,P_123_120}); - - // Stage 4: Generates G/P pairs that span 8 bits - grey g_9_0 (G_9_0, {G_9_8,G_7_0}, P_9_8); - grey g_11_0 (G_11_0, {G_11_8,G_7_0}, P_11_8); - grey g_13_0 (G_13_0, {G_13_8,G_7_0}, P_13_8); - grey g_15_0 (G_15_0, {G_15_8,G_7_0}, P_15_8); - black b_25_16 (G_25_16, P_25_16, {G_25_24,G_23_16}, {P_25_24,P_23_16}); - black b_27_16 (G_27_16, P_27_16, {G_27_24,G_23_16}, {P_27_24,P_23_16}); - black b_29_16 (G_29_16, P_29_16, {G_29_24,G_23_16}, {P_29_24,P_23_16}); - black b_31_16 (G_31_16, P_31_16, {G_31_24,G_23_16}, {P_31_24,P_23_16}); - - black b_41_32 (G_41_32, P_41_32, {G_41_40,G_39_32}, {P_41_40,P_39_32}); - black b_43_32 (G_43_32, P_43_32, {G_43_40,G_39_32}, {P_43_40,P_39_32}); - black b_45_32 (G_45_32, P_45_32, {G_45_40,G_39_32}, {P_45_40,P_39_32}); - black b_47_32 (G_47_32, P_47_32, {G_47_40,G_39_32}, {P_47_40,P_39_32}); - black b_57_48 (G_57_48, P_57_48, {G_57_56,G_55_48}, {P_57_56,P_55_48}); - black b_59_48 (G_59_48, P_59_48, {G_59_56,G_55_48}, {P_59_56,P_55_48}); - black b_61_48 (G_61_48, P_61_48, {G_61_56,G_55_48}, {P_61_56,P_55_48}); - black b_63_48 (G_63_48, P_63_48, {G_63_56,G_55_48}, {P_63_56,P_55_48}); - - black b_73_64 (G_73_64, P_73_64, {G_73_72,G_71_64}, {P_73_72,P_71_64}); - black b_75_64 (G_75_64, P_75_64, {G_75_72,G_71_64}, {P_75_72,P_71_64}); - black b_77_64 (G_77_64, P_77_64, {G_77_72,G_71_64}, {P_77_72,P_71_64}); - black b_79_64 (G_79_64, P_79_64, {G_79_72,G_71_64}, {P_79_72,P_71_64}); - black b_89_80 (G_89_80, P_89_80, {G_89_88,G_87_80}, {P_89_88,P_87_80}); - black b_91_80 (G_91_80, P_91_80, {G_91_88,G_87_80}, {P_91_88,P_87_80}); - black b_93_80 (G_93_80, P_93_80, {G_93_88,G_87_80}, {P_93_88,P_87_80}); - black b_95_80 (G_95_80, P_95_80, {G_95_88,G_87_80}, {P_95_88,P_87_80}); - - black b_105_96 (G_105_96, P_105_96, {G_105_104,G_103_96}, {P_105_104,P_103_96}); - black b_107_96 (G_107_96, P_107_96, {G_107_104,G_103_96}, {P_107_104,P_103_96}); - black b_109_96 (G_109_96, P_109_96, {G_109_104,G_103_96}, {P_109_104,P_103_96}); - black b_111_96 (G_111_96, P_111_96, {G_111_104,G_103_96}, {P_111_104,P_103_96}); - black b_121_112 (G_121_112, P_121_112, {G_121_120,G_119_112}, {P_121_120,P_119_112}); - black b_123_112 (G_123_112, P_123_112, {G_123_120,G_119_112}, {P_123_120,P_119_112}); - black b_125_112 (G_125_112, P_125_112, {G_125_120,G_119_112}, {P_125_120,P_119_112}); - black b_127_112 (G_127_112, P_127_112, {G_127_120,G_119_112}, {P_127_120,P_119_112}); - - // Stage 5: Generates G/P pairs that span 16 bits - grey g_17_0 (G_17_0, {G_17_16,G_15_0}, P_17_16); - grey g_19_0 (G_19_0, {G_19_16,G_15_0}, P_19_16); - grey g_21_0 (G_21_0, {G_21_16,G_15_0}, P_21_16); - grey g_23_0 (G_23_0, {G_23_16,G_15_0}, P_23_16); - grey g_25_0 (G_25_0, {G_25_16,G_15_0}, P_25_16); - grey g_27_0 (G_27_0, {G_27_16,G_15_0}, P_27_16); - grey g_29_0 (G_29_0, {G_29_16,G_15_0}, P_29_16); - grey g_31_0 (G_31_0, {G_31_16,G_15_0}, P_31_16); - - black b_49_32 (G_49_32, P_49_32, {G_49_48,G_47_32}, {P_49_48,P_47_32}); - black b_51_32 (G_51_32, P_51_32, {G_51_48,G_47_32}, {P_51_48,P_47_32}); - black b_53_32 (G_53_32, P_53_32, {G_53_48,G_47_32}, {P_53_48,P_47_32}); - black b_55_32 (G_55_32, P_55_32, {G_55_48,G_47_32}, {P_55_48,P_47_32}); - black b_57_32 (G_57_32, P_57_32, {G_57_48,G_47_32}, {P_57_48,P_47_32}); - black b_59_32 (G_59_32, P_59_32, {G_59_48,G_47_32}, {P_59_48,P_47_32}); - black b_61_32 (G_61_32, P_61_32, {G_61_48,G_47_32}, {P_61_48,P_47_32}); - black b_63_32 (G_63_32, P_63_32, {G_63_48,G_47_32}, {P_63_48,P_47_32}); - - black b_81_64 (G_81_64, P_81_64, {G_81_80,G_79_64}, {P_81_80,P_79_64}); - black b_83_64 (G_83_64, P_83_64, {G_83_80,G_79_64}, {P_83_80,P_79_64}); - black b_85_64 (G_85_64, P_85_64, {G_85_80,G_79_64}, {P_85_80,P_79_64}); - black b_87_64 (G_87_64, P_87_64, {G_87_80,G_79_64}, {P_87_80,P_79_64}); - black b_89_64 (G_89_64, P_89_64, {G_89_80,G_79_64}, {P_89_80,P_79_64}); - black b_91_64 (G_91_64, P_91_64, {G_91_80,G_79_64}, {P_91_80,P_79_64}); - black b_93_64 (G_93_64, P_93_64, {G_93_80,G_79_64}, {P_93_80,P_79_64}); - black b_95_64 (G_95_64, P_95_64, {G_95_80,G_79_64}, {P_95_80,P_79_64}); - - black b_113_96 (G_113_96, P_113_96, {G_113_112,G_111_96}, {P_113_112,P_111_96}); - black b_115_96 (G_115_96, P_115_96, {G_115_112,G_111_96}, {P_115_112,P_111_96}); - black b_117_96 (G_117_96, P_117_96, {G_117_112,G_111_96}, {P_117_112,P_111_96}); - black b_119_96 (G_119_96, P_119_96, {G_119_112,G_111_96}, {P_119_112,P_111_96}); - black b_121_96 (G_121_96, P_121_96, {G_121_112,G_111_96}, {P_121_112,P_111_96}); - black b_123_96 (G_123_96, P_123_96, {G_123_112,G_111_96}, {P_123_112,P_111_96}); - black b_125_96 (G_125_96, P_125_96, {G_125_112,G_111_96}, {P_125_112,P_111_96}); - black b_127_96 (G_127_96, P_127_96, {G_127_112,G_111_96}, {P_127_112,P_111_96}); - - // Stage 6: Generates G/P pairs that span 32 bits - grey g_33_0 (G_33_0, {G_33_32,G_31_0}, P_33_32); - grey g_35_0 (G_35_0, {G_35_32,G_31_0}, P_35_32); - grey g_37_0 (G_37_0, {G_37_32,G_31_0}, P_37_32); - grey g_39_0 (G_39_0, {G_39_32,G_31_0}, P_39_32); - grey g_41_0 (G_41_0, {G_41_32,G_31_0}, P_41_32); - grey g_43_0 (G_43_0, {G_43_32,G_31_0}, P_43_32); - grey g_45_0 (G_45_0, {G_45_32,G_31_0}, P_45_32); - grey g_47_0 (G_47_0, {G_47_32,G_31_0}, P_47_32); - - grey g_49_0 (G_49_0, {G_49_32,G_31_0}, P_49_32); - grey g_51_0 (G_51_0, {G_51_32,G_31_0}, P_51_32); - grey g_53_0 (G_53_0, {G_53_32,G_31_0}, P_53_32); - grey g_55_0 (G_55_0, {G_55_32,G_31_0}, P_55_32); - grey g_57_0 (G_57_0, {G_57_32,G_31_0}, P_57_32); - grey g_59_0 (G_59_0, {G_59_32,G_31_0}, P_59_32); - grey g_61_0 (G_61_0, {G_61_32,G_31_0}, P_61_32); - grey g_63_0 (G_63_0, {G_63_32,G_31_0}, P_63_32); - - black b_97_64 (G_97_64, P_97_64, {G_97_96,G_95_64}, {P_97_96,P_95_64}); - black b_99_64 (G_99_64, P_99_64, {G_99_96,G_95_64}, {P_99_96,P_95_64}); - black b_101_64 (G_101_64, P_101_64, {G_101_96,G_95_64}, {P_101_96,P_95_64}); - black b_103_64 (G_103_64, P_103_64, {G_103_96,G_95_64}, {P_103_96,P_95_64}); - black b_105_64 (G_105_64, P_105_64, {G_105_96,G_95_64}, {P_105_96,P_95_64}); - black b_107_64 (G_107_64, P_107_64, {G_107_96,G_95_64}, {P_107_96,P_95_64}); - black b_109_64 (G_109_64, P_109_64, {G_109_96,G_95_64}, {P_109_96,P_95_64}); - black b_111_64 (G_111_64, P_111_64, {G_111_96,G_95_64}, {P_111_96,P_95_64}); - - black b_113_64 (G_113_64, P_113_64, {G_113_96,G_95_64}, {P_113_96,P_95_64}); - black b_115_64 (G_115_64, P_115_64, {G_115_96,G_95_64}, {P_115_96,P_95_64}); - black b_117_64 (G_117_64, P_117_64, {G_117_96,G_95_64}, {P_117_96,P_95_64}); - black b_119_64 (G_119_64, P_119_64, {G_119_96,G_95_64}, {P_119_96,P_95_64}); - black b_121_64 (G_121_64, P_121_64, {G_121_96,G_95_64}, {P_121_96,P_95_64}); - black b_123_64 (G_123_64, P_123_64, {G_123_96,G_95_64}, {P_123_96,P_95_64}); - black b_125_64 (G_125_64, P_125_64, {G_125_96,G_95_64}, {P_125_96,P_95_64}); - black b_127_64 (G_127_64, P_127_64, {G_127_96,G_95_64}, {P_127_96,P_95_64}); - - // Stage 7: Generates G/P pairs that span 64 bits - grey g_65_0 (G_65_0, {G_65_64,G_63_0}, P_65_64); - grey g_67_0 (G_67_0, {G_67_64,G_63_0}, P_67_64); - grey g_69_0 (G_69_0, {G_69_64,G_63_0}, P_69_64); - grey g_71_0 (G_71_0, {G_71_64,G_63_0}, P_71_64); - grey g_73_0 (G_73_0, {G_73_64,G_63_0}, P_73_64); - grey g_75_0 (G_75_0, {G_75_64,G_63_0}, P_75_64); - grey g_77_0 (G_77_0, {G_77_64,G_63_0}, P_77_64); - grey g_79_0 (G_79_0, {G_79_64,G_63_0}, P_79_64); - - grey g_81_0 (G_81_0, {G_81_64,G_63_0}, P_81_64); - grey g_83_0 (G_83_0, {G_83_64,G_63_0}, P_83_64); - grey g_85_0 (G_85_0, {G_85_64,G_63_0}, P_85_64); - grey g_87_0 (G_87_0, {G_87_64,G_63_0}, P_87_64); - grey g_89_0 (G_89_0, {G_89_64,G_63_0}, P_89_64); - grey g_91_0 (G_91_0, {G_91_64,G_63_0}, P_91_64); - grey g_93_0 (G_93_0, {G_93_64,G_63_0}, P_93_64); - grey g_95_0 (G_95_0, {G_95_64,G_63_0}, P_95_64); - - grey g_97_0 (G_97_0, {G_97_64,G_63_0}, P_97_64); - grey g_99_0 (G_99_0, {G_99_64,G_63_0}, P_99_64); - grey g_101_0 (G_101_0, {G_101_64,G_63_0}, P_101_64); - grey g_103_0 (G_103_0, {G_103_64,G_63_0}, P_103_64); - grey g_105_0 (G_105_0, {G_105_64,G_63_0}, P_105_64); - grey g_107_0 (G_107_0, {G_107_64,G_63_0}, P_107_64); - grey g_109_0 (G_109_0, {G_109_64,G_63_0}, P_109_64); - grey g_111_0 (G_111_0, {G_111_64,G_63_0}, P_111_64); - - grey g_113_0 (G_113_0, {G_113_64,G_63_0}, P_113_64); - grey g_115_0 (G_115_0, {G_115_64,G_63_0}, P_115_64); - grey g_117_0 (G_117_0, {G_117_64,G_63_0}, P_117_64); - grey g_119_0 (G_119_0, {G_119_64,G_63_0}, P_119_64); - grey g_121_0 (G_121_0, {G_121_64,G_63_0}, P_121_64); - grey g_123_0 (G_123_0, {G_123_64,G_63_0}, P_123_64); - grey g_125_0 (G_125_0, {G_125_64,G_63_0}, P_125_64); - grey g_127_0 (G_127_0, {G_127_64,G_63_0}, P_127_64); - - // Extra grey cell stage - grey g_2_0 (G_2_0, {g[2],G_1_0}, p[2]); - grey g_4_0 (G_4_0, {g[4],G_3_0}, p[4]); - grey g_6_0 (G_6_0, {g[6],G_5_0}, p[6]); - grey g_8_0 (G_8_0, {g[8],G_7_0}, p[8]); - grey g_10_0 (G_10_0, {g[10],G_9_0}, p[10]); - grey g_12_0 (G_12_0, {g[12],G_11_0}, p[12]); - grey g_14_0 (G_14_0, {g[14],G_13_0}, p[14]); - grey g_16_0 (G_16_0, {g[16],G_15_0}, p[16]); - grey g_18_0 (G_18_0, {g[18],G_17_0}, p[18]); - grey g_20_0 (G_20_0, {g[20],G_19_0}, p[20]); - grey g_22_0 (G_22_0, {g[22],G_21_0}, p[22]); - grey g_24_0 (G_24_0, {g[24],G_23_0}, p[24]); - grey g_26_0 (G_26_0, {g[26],G_25_0}, p[26]); - grey g_28_0 (G_28_0, {g[28],G_27_0}, p[28]); - grey g_30_0 (G_30_0, {g[30],G_29_0}, p[30]); - grey g_32_0 (G_32_0, {g[32],G_31_0}, p[32]); - grey g_34_0 (G_34_0, {g[34],G_33_0}, p[34]); - grey g_36_0 (G_36_0, {g[36],G_35_0}, p[36]); - grey g_38_0 (G_38_0, {g[38],G_37_0}, p[38]); - grey g_40_0 (G_40_0, {g[40],G_39_0}, p[40]); - grey g_42_0 (G_42_0, {g[42],G_41_0}, p[42]); - grey g_44_0 (G_44_0, {g[44],G_43_0}, p[44]); - grey g_46_0 (G_46_0, {g[46],G_45_0}, p[46]); - grey g_48_0 (G_48_0, {g[48],G_47_0}, p[48]); - grey g_50_0 (G_50_0, {g[50],G_49_0}, p[50]); - grey g_52_0 (G_52_0, {g[52],G_51_0}, p[52]); - grey g_54_0 (G_54_0, {g[54],G_53_0}, p[54]); - grey g_56_0 (G_56_0, {g[56],G_55_0}, p[56]); - grey g_58_0 (G_58_0, {g[58],G_57_0}, p[58]); - grey g_60_0 (G_60_0, {g[60],G_59_0}, p[60]); - grey g_62_0 (G_62_0, {g[62],G_61_0}, p[62]); - grey g_64_0 (G_64_0, {g[64],G_63_0}, p[64]); - grey g_66_0 (G_66_0, {g[66],G_65_0}, p[66]); - grey g_68_0 (G_68_0, {g[68],G_67_0}, p[68]); - grey g_70_0 (G_70_0, {g[70],G_69_0}, p[70]); - grey g_72_0 (G_72_0, {g[72],G_71_0}, p[72]); - grey g_74_0 (G_74_0, {g[74],G_73_0}, p[74]); - grey g_76_0 (G_76_0, {g[76],G_75_0}, p[76]); - grey g_78_0 (G_78_0, {g[78],G_77_0}, p[78]); - grey g_80_0 (G_80_0, {g[80],G_79_0}, p[80]); - grey g_82_0 (G_82_0, {g[82],G_81_0}, p[82]); - grey g_84_0 (G_84_0, {g[84],G_83_0}, p[84]); - grey g_86_0 (G_86_0, {g[86],G_85_0}, p[86]); - grey g_88_0 (G_88_0, {g[88],G_87_0}, p[88]); - grey g_90_0 (G_90_0, {g[90],G_89_0}, p[90]); - grey g_92_0 (G_92_0, {g[92],G_91_0}, p[92]); - grey g_94_0 (G_94_0, {g[94],G_93_0}, p[94]); - grey g_96_0 (G_96_0, {g[96],G_95_0}, p[96]); - grey g_98_0 (G_98_0, {g[98],G_97_0}, p[98]); - grey g_100_0 (G_100_0, {g[100],G_99_0}, p[100]); - grey g_102_0 (G_102_0, {g[102],G_101_0}, p[102]); - grey g_104_0 (G_104_0, {g[104],G_103_0}, p[104]); - grey g_106_0 (G_106_0, {g[106],G_105_0}, p[106]); - grey g_108_0 (G_108_0, {g[108],G_107_0}, p[108]); - grey g_110_0 (G_110_0, {g[110],G_109_0}, p[110]); - grey g_112_0 (G_112_0, {g[112],G_111_0}, p[112]); - grey g_114_0 (G_114_0, {g[114],G_113_0}, p[114]); - grey g_116_0 (G_116_0, {g[116],G_115_0}, p[116]); - grey g_118_0 (G_118_0, {g[118],G_117_0}, p[118]); - grey g_120_0 (G_120_0, {g[120],G_119_0}, p[120]); - grey g_122_0 (G_122_0, {g[122],G_121_0}, p[122]); - grey g_124_0 (G_124_0, {g[124],G_123_0}, p[124]); - grey g_126_0 (G_126_0, {g[126],G_125_0}, p[126]); - - // Final Stage: Apply c_k+1=G_k_0 - assign c[1]=g[0]; - assign c[2]=G_1_0; - assign c[3]=G_2_0; - assign c[4]=G_3_0; - assign c[5]=G_4_0; - assign c[6]=G_5_0; - assign c[7]=G_6_0; - assign c[8]=G_7_0; - assign c[9]=G_8_0; - - assign c[10]=G_9_0; - assign c[11]=G_10_0; - assign c[12]=G_11_0; - assign c[13]=G_12_0; - assign c[14]=G_13_0; - assign c[15]=G_14_0; - assign c[16]=G_15_0; - assign c[17]=G_16_0; - - assign c[18]=G_17_0; - assign c[19]=G_18_0; - assign c[20]=G_19_0; - assign c[21]=G_20_0; - assign c[22]=G_21_0; - assign c[23]=G_22_0; - assign c[24]=G_23_0; - assign c[25]=G_24_0; - - assign c[26]=G_25_0; - assign c[27]=G_26_0; - assign c[28]=G_27_0; - assign c[29]=G_28_0; - assign c[30]=G_29_0; - assign c[31]=G_30_0; - assign c[32]=G_31_0; - assign c[33]=G_32_0; - - assign c[34]=G_33_0; - assign c[35]=G_34_0; - assign c[36]=G_35_0; - assign c[37]=G_36_0; - assign c[38]=G_37_0; - assign c[39]=G_38_0; - assign c[40]=G_39_0; - assign c[41]=G_40_0; - - assign c[42]=G_41_0; - assign c[43]=G_42_0; - assign c[44]=G_43_0; - assign c[45]=G_44_0; - assign c[46]=G_45_0; - assign c[47]=G_46_0; - assign c[48]=G_47_0; - assign c[49]=G_48_0; - - assign c[50]=G_49_0; - assign c[51]=G_50_0; - assign c[52]=G_51_0; - assign c[53]=G_52_0; - assign c[54]=G_53_0; - assign c[55]=G_54_0; - assign c[56]=G_55_0; - assign c[57]=G_56_0; - - assign c[58]=G_57_0; - assign c[59]=G_58_0; - assign c[60]=G_59_0; - assign c[61]=G_60_0; - assign c[62]=G_61_0; - assign c[63]=G_62_0; - assign c[64]=G_63_0; - assign c[65]=G_64_0; - - assign c[66]=G_65_0; - assign c[67]=G_66_0; - assign c[68]=G_67_0; - assign c[69]=G_68_0; - assign c[70]=G_69_0; - assign c[71]=G_70_0; - assign c[72]=G_71_0; - assign c[73]=G_72_0; - - assign c[74]=G_73_0; - assign c[75]=G_74_0; - assign c[76]=G_75_0; - assign c[77]=G_76_0; - assign c[78]=G_77_0; - assign c[79]=G_78_0; - assign c[80]=G_79_0; - assign c[81]=G_80_0; - - assign c[82]=G_81_0; - assign c[83]=G_82_0; - assign c[84]=G_83_0; - assign c[85]=G_84_0; - assign c[86]=G_85_0; - assign c[87]=G_86_0; - assign c[88]=G_87_0; - assign c[89]=G_88_0; - - assign c[90]=G_89_0; - assign c[91]=G_90_0; - assign c[92]=G_91_0; - assign c[93]=G_92_0; - assign c[94]=G_93_0; - assign c[95]=G_94_0; - assign c[96]=G_95_0; - assign c[97]=G_96_0; - - assign c[98]=G_97_0; - assign c[99]=G_98_0; - assign c[100]=G_99_0; - assign c[101]=G_100_0; - assign c[102]=G_101_0; - assign c[103]=G_102_0; - assign c[104]=G_103_0; - assign c[105]=G_104_0; - - assign c[106]=G_105_0; - assign c[107]=G_106_0; - assign c[108]=G_107_0; - assign c[109]=G_108_0; - assign c[110]=G_109_0; - assign c[111]=G_110_0; - assign c[112]=G_111_0; - assign c[113]=G_112_0; - - assign c[114]=G_113_0; - assign c[115]=G_114_0; - assign c[116]=G_115_0; - assign c[117]=G_116_0; - assign c[118]=G_117_0; - assign c[119]=G_118_0; - assign c[120]=G_119_0; - assign c[121]=G_120_0; - - assign c[122]=G_121_0; - assign c[123]=G_122_0; - assign c[124]=G_123_0; - assign c[125]=G_124_0; - assign c[126]=G_125_0; - assign c[127]=G_126_0; - assign c[128]=G_127_0; - -endmodule // ladner_fischer - diff --git a/wally-pipelined/src/fpu/ldf64.sv b/wally-pipelined/src/fpu/ldf64.sv deleted file mode 100755 index dc2e3bb9..00000000 --- a/wally-pipelined/src/fpu/ldf64.sv +++ /dev/null @@ -1,289 +0,0 @@ -// Ladner-Fischer Prefix Adder - -module ldf64 (cout, sum, a, b, cin); - input [63:0] a, b; - input cin; - output [63:0] sum; - output cout; - - wire [64:0] p,g; - wire [63:0] c; - - // pre-computation - assign p={a^b,1'b0}; - assign g={a&b, cin}; - - // prefix tree - ladner_fischer64 prefix_tree(c, p[63:0], g[63:0]); - - // post-computation - assign sum=p[64:1]^c; - assign cout=g[64]|(p[64]&c[63]); - -endmodule - -module ladner_fischer64 (c, p, g); - - input [63:0] p; - input [63:0] g; - - output [64:1] c; - - logic G_1_0,G_3_2,P_3_2,G_5_4,P_5_4,G_7_6,P_7_6,G_9_8,P_9_8,G_11_10,P_11_10,G_13_12,P_13_12,G_15_14,P_15_14 - ,G_17_16,P_17_16,G_19_18,P_19_18,G_21_20,P_21_20,G_23_22,P_23_22,G_25_24,P_25_24,G_27_26,P_27_26,G_29_28,P_29_28 - ,G_31_30,P_31_30,G_33_32,P_33_32,G_35_34,P_35_34,G_37_36,P_37_36,G_39_38,P_39_38,G_41_40,P_41_40,G_43_42,P_43_42 - ,G_45_44,P_45_44,G_47_46,P_47_46,G_49_48,P_49_48,G_51_50,P_51_50,G_53_52,P_53_52,G_55_54,P_55_54,G_57_56,P_57_56 - ,G_59_58,P_59_58,G_61_60,P_61_60,G_63_62,P_63_62,G_3_0,G_7_4,P_7_4,G_11_8,P_11_8,G_15_12,P_15_12,G_19_16,P_19_16 - ,G_23_20,P_23_20,G_27_24,P_27_24,G_31_28,P_31_28,G_35_32,P_35_32,G_39_36,P_39_36,G_43_40,P_43_40,G_47_44,P_47_44 - ,G_51_48,P_51_48,G_55_52,P_55_52,G_59_56,P_59_56,G_63_60,P_63_60,G_5_0,G_7_0,G_13_8,P_13_8,G_15_8,P_15_8,G_21_16 - ,P_21_16,G_23_16,P_23_16,G_29_24,P_29_24,G_31_24,P_31_24,G_37_32,P_37_32,G_39_32,P_39_32,G_45_40,P_45_40,G_47_40 - ,P_47_40,G_53_48,P_53_48,G_55_48,P_55_48,G_61_56,P_61_56,G_63_56,P_63_56,G_9_0,G_11_0,G_13_0,G_15_0,G_25_16 - ,P_25_16,G_27_16,P_27_16,G_29_16,P_29_16,G_31_16,P_31_16,G_41_32,P_41_32,G_43_32,P_43_32,G_45_32,P_45_32,G_47_32 - ,P_47_32,G_57_48,P_57_48,G_59_48,P_59_48,G_61_48,P_61_48,G_63_48,P_63_48,G_17_0,G_19_0,G_21_0,G_23_0,G_25_0,G_27_0 - ,G_29_0,G_31_0,G_49_32,P_49_32,G_51_32,P_51_32,G_53_32,P_53_32,G_55_32,P_55_32,G_57_32,P_57_32,G_59_32,P_59_32 - ,G_61_32,P_61_32,G_63_32,P_63_32,G_33_0,G_35_0,G_37_0,G_39_0,G_41_0,G_43_0,G_45_0,G_47_0,G_49_0,G_51_0,G_53_0 - ,G_55_0,G_57_0,G_59_0,G_61_0,G_63_0,G_2_0,G_4_0,G_6_0,G_8_0,G_10_0,G_12_0,G_14_0,G_16_0,G_18_0,G_20_0,G_22_0 - ,G_24_0,G_26_0,G_28_0,G_30_0,G_32_0,G_34_0,G_36_0,G_38_0,G_40_0,G_42_0,G_44_0,G_46_0,G_48_0,G_50_0,G_52_0 - ,G_54_0,G_56_0,G_58_0,G_60_0,G_62_0; - // parallel-prefix, Ladner-Fischer - - // Stage 1: Generates G/P pairs that span 1 bits - grey b_1_0 (G_1_0, {g[1],g[0]}, p[1]); - black b_3_2 (G_3_2, P_3_2, {g[3],g[2]}, {p[3],p[2]}); - black b_5_4 (G_5_4, P_5_4, {g[5],g[4]}, {p[5],p[4]}); - black b_7_6 (G_7_6, P_7_6, {g[7],g[6]}, {p[7],p[6]}); - black b_9_8 (G_9_8, P_9_8, {g[9],g[8]}, {p[9],p[8]}); - black b_11_10 (G_11_10, P_11_10, {g[11],g[10]}, {p[11],p[10]}); - black b_13_12 (G_13_12, P_13_12, {g[13],g[12]}, {p[13],p[12]}); - black b_15_14 (G_15_14, P_15_14, {g[15],g[14]}, {p[15],p[14]}); - - black b_17_16 (G_17_16, P_17_16, {g[17],g[16]}, {p[17],p[16]}); - black b_19_18 (G_19_18, P_19_18, {g[19],g[18]}, {p[19],p[18]}); - black b_21_20 (G_21_20, P_21_20, {g[21],g[20]}, {p[21],p[20]}); - black b_23_22 (G_23_22, P_23_22, {g[23],g[22]}, {p[23],p[22]}); - black b_25_24 (G_25_24, P_25_24, {g[25],g[24]}, {p[25],p[24]}); - black b_27_26 (G_27_26, P_27_26, {g[27],g[26]}, {p[27],p[26]}); - black b_29_28 (G_29_28, P_29_28, {g[29],g[28]}, {p[29],p[28]}); - black b_31_30 (G_31_30, P_31_30, {g[31],g[30]}, {p[31],p[30]}); - - black b_33_32 (G_33_32, P_33_32, {g[33],g[32]}, {p[33],p[32]}); - black b_35_34 (G_35_34, P_35_34, {g[35],g[34]}, {p[35],p[34]}); - black b_37_36 (G_37_36, P_37_36, {g[37],g[36]}, {p[37],p[36]}); - black b_39_38 (G_39_38, P_39_38, {g[39],g[38]}, {p[39],p[38]}); - black b_41_40 (G_41_40, P_41_40, {g[41],g[40]}, {p[41],p[40]}); - black b_43_42 (G_43_42, P_43_42, {g[43],g[42]}, {p[43],p[42]}); - black b_45_44 (G_45_44, P_45_44, {g[45],g[44]}, {p[45],p[44]}); - black b_47_46 (G_47_46, P_47_46, {g[47],g[46]}, {p[47],p[46]}); - - black b_49_48 (G_49_48, P_49_48, {g[49],g[48]}, {p[49],p[48]}); - black b_51_50 (G_51_50, P_51_50, {g[51],g[50]}, {p[51],p[50]}); - black b_53_52 (G_53_52, P_53_52, {g[53],g[52]}, {p[53],p[52]}); - black b_55_54 (G_55_54, P_55_54, {g[55],g[54]}, {p[55],p[54]}); - black b_57_56 (G_57_56, P_57_56, {g[57],g[56]}, {p[57],p[56]}); - black b_59_58 (G_59_58, P_59_58, {g[59],g[58]}, {p[59],p[58]}); - black b_61_60 (G_61_60, P_61_60, {g[61],g[60]}, {p[61],p[60]}); - black b_63_62 (G_63_62, P_63_62, {g[63],g[62]}, {p[63],p[62]}); - - // Stage 2: Generates G/P pairs that span 2 bits - grey g_3_0 (G_3_0, {G_3_2,G_1_0}, P_3_2); - black b_7_4 (G_7_4, P_7_4, {G_7_6,G_5_4}, {P_7_6,P_5_4}); - black b_11_8 (G_11_8, P_11_8, {G_11_10,G_9_8}, {P_11_10,P_9_8}); - black b_15_12 (G_15_12, P_15_12, {G_15_14,G_13_12}, {P_15_14,P_13_12}); - black b_19_16 (G_19_16, P_19_16, {G_19_18,G_17_16}, {P_19_18,P_17_16}); - black b_23_20 (G_23_20, P_23_20, {G_23_22,G_21_20}, {P_23_22,P_21_20}); - black b_27_24 (G_27_24, P_27_24, {G_27_26,G_25_24}, {P_27_26,P_25_24}); - black b_31_28 (G_31_28, P_31_28, {G_31_30,G_29_28}, {P_31_30,P_29_28}); - - black b_35_32 (G_35_32, P_35_32, {G_35_34,G_33_32}, {P_35_34,P_33_32}); - black b_39_36 (G_39_36, P_39_36, {G_39_38,G_37_36}, {P_39_38,P_37_36}); - black b_43_40 (G_43_40, P_43_40, {G_43_42,G_41_40}, {P_43_42,P_41_40}); - black b_47_44 (G_47_44, P_47_44, {G_47_46,G_45_44}, {P_47_46,P_45_44}); - black b_51_48 (G_51_48, P_51_48, {G_51_50,G_49_48}, {P_51_50,P_49_48}); - black b_55_52 (G_55_52, P_55_52, {G_55_54,G_53_52}, {P_55_54,P_53_52}); - black b_59_56 (G_59_56, P_59_56, {G_59_58,G_57_56}, {P_59_58,P_57_56}); - black b_63_60 (G_63_60, P_63_60, {G_63_62,G_61_60}, {P_63_62,P_61_60}); - - // Stage 3: Generates G/P pairs that span 4 bits - grey g_5_0 (G_5_0, {G_5_4,G_3_0}, P_5_4); - grey g_7_0 (G_7_0, {G_7_4,G_3_0}, P_7_4); - black b_13_8 (G_13_8, P_13_8, {G_13_12,G_11_8}, {P_13_12,P_11_8}); - black b_15_8 (G_15_8, P_15_8, {G_15_12,G_11_8}, {P_15_12,P_11_8}); - black b_21_16 (G_21_16, P_21_16, {G_21_20,G_19_16}, {P_21_20,P_19_16}); - black b_23_16 (G_23_16, P_23_16, {G_23_20,G_19_16}, {P_23_20,P_19_16}); - black b_29_24 (G_29_24, P_29_24, {G_29_28,G_27_24}, {P_29_28,P_27_24}); - black b_31_24 (G_31_24, P_31_24, {G_31_28,G_27_24}, {P_31_28,P_27_24}); - - black b_37_32 (G_37_32, P_37_32, {G_37_36,G_35_32}, {P_37_36,P_35_32}); - black b_39_32 (G_39_32, P_39_32, {G_39_36,G_35_32}, {P_39_36,P_35_32}); - black b_45_40 (G_45_40, P_45_40, {G_45_44,G_43_40}, {P_45_44,P_43_40}); - black b_47_40 (G_47_40, P_47_40, {G_47_44,G_43_40}, {P_47_44,P_43_40}); - black b_53_48 (G_53_48, P_53_48, {G_53_52,G_51_48}, {P_53_52,P_51_48}); - black b_55_48 (G_55_48, P_55_48, {G_55_52,G_51_48}, {P_55_52,P_51_48}); - black b_61_56 (G_61_56, P_61_56, {G_61_60,G_59_56}, {P_61_60,P_59_56}); - black b_63_56 (G_63_56, P_63_56, {G_63_60,G_59_56}, {P_63_60,P_59_56}); - - // Stage 4: Generates G/P pairs that span 8 bits - grey g_9_0 (G_9_0, {G_9_8,G_7_0}, P_9_8); - grey g_11_0 (G_11_0, {G_11_8,G_7_0}, P_11_8); - grey g_13_0 (G_13_0, {G_13_8,G_7_0}, P_13_8); - grey g_15_0 (G_15_0, {G_15_8,G_7_0}, P_15_8); - black b_25_16 (G_25_16, P_25_16, {G_25_24,G_23_16}, {P_25_24,P_23_16}); - black b_27_16 (G_27_16, P_27_16, {G_27_24,G_23_16}, {P_27_24,P_23_16}); - black b_29_16 (G_29_16, P_29_16, {G_29_24,G_23_16}, {P_29_24,P_23_16}); - black b_31_16 (G_31_16, P_31_16, {G_31_24,G_23_16}, {P_31_24,P_23_16}); - - black b_41_32 (G_41_32, P_41_32, {G_41_40,G_39_32}, {P_41_40,P_39_32}); - black b_43_32 (G_43_32, P_43_32, {G_43_40,G_39_32}, {P_43_40,P_39_32}); - black b_45_32 (G_45_32, P_45_32, {G_45_40,G_39_32}, {P_45_40,P_39_32}); - black b_47_32 (G_47_32, P_47_32, {G_47_40,G_39_32}, {P_47_40,P_39_32}); - black b_57_48 (G_57_48, P_57_48, {G_57_56,G_55_48}, {P_57_56,P_55_48}); - black b_59_48 (G_59_48, P_59_48, {G_59_56,G_55_48}, {P_59_56,P_55_48}); - black b_61_48 (G_61_48, P_61_48, {G_61_56,G_55_48}, {P_61_56,P_55_48}); - black b_63_48 (G_63_48, P_63_48, {G_63_56,G_55_48}, {P_63_56,P_55_48}); - - // Stage 5: Generates G/P pairs that span 16 bits - grey g_17_0 (G_17_0, {G_17_16,G_15_0}, P_17_16); - grey g_19_0 (G_19_0, {G_19_16,G_15_0}, P_19_16); - grey g_21_0 (G_21_0, {G_21_16,G_15_0}, P_21_16); - grey g_23_0 (G_23_0, {G_23_16,G_15_0}, P_23_16); - grey g_25_0 (G_25_0, {G_25_16,G_15_0}, P_25_16); - grey g_27_0 (G_27_0, {G_27_16,G_15_0}, P_27_16); - grey g_29_0 (G_29_0, {G_29_16,G_15_0}, P_29_16); - grey g_31_0 (G_31_0, {G_31_16,G_15_0}, P_31_16); - - black b_49_32 (G_49_32, P_49_32, {G_49_48,G_47_32}, {P_49_48,P_47_32}); - black b_51_32 (G_51_32, P_51_32, {G_51_48,G_47_32}, {P_51_48,P_47_32}); - black b_53_32 (G_53_32, P_53_32, {G_53_48,G_47_32}, {P_53_48,P_47_32}); - black b_55_32 (G_55_32, P_55_32, {G_55_48,G_47_32}, {P_55_48,P_47_32}); - black b_57_32 (G_57_32, P_57_32, {G_57_48,G_47_32}, {P_57_48,P_47_32}); - black b_59_32 (G_59_32, P_59_32, {G_59_48,G_47_32}, {P_59_48,P_47_32}); - black b_61_32 (G_61_32, P_61_32, {G_61_48,G_47_32}, {P_61_48,P_47_32}); - black b_63_32 (G_63_32, P_63_32, {G_63_48,G_47_32}, {P_63_48,P_47_32}); - - // Stage 6: Generates G/P pairs that span 32 bits - grey g_33_0 (G_33_0, {G_33_32,G_31_0}, P_33_32); - grey g_35_0 (G_35_0, {G_35_32,G_31_0}, P_35_32); - grey g_37_0 (G_37_0, {G_37_32,G_31_0}, P_37_32); - grey g_39_0 (G_39_0, {G_39_32,G_31_0}, P_39_32); - grey g_41_0 (G_41_0, {G_41_32,G_31_0}, P_41_32); - grey g_43_0 (G_43_0, {G_43_32,G_31_0}, P_43_32); - grey g_45_0 (G_45_0, {G_45_32,G_31_0}, P_45_32); - grey g_47_0 (G_47_0, {G_47_32,G_31_0}, P_47_32); - - grey g_49_0 (G_49_0, {G_49_32,G_31_0}, P_49_32); - grey g_51_0 (G_51_0, {G_51_32,G_31_0}, P_51_32); - grey g_53_0 (G_53_0, {G_53_32,G_31_0}, P_53_32); - grey g_55_0 (G_55_0, {G_55_32,G_31_0}, P_55_32); - grey g_57_0 (G_57_0, {G_57_32,G_31_0}, P_57_32); - grey g_59_0 (G_59_0, {G_59_32,G_31_0}, P_59_32); - grey g_61_0 (G_61_0, {G_61_32,G_31_0}, P_61_32); - grey g_63_0 (G_63_0, {G_63_32,G_31_0}, P_63_32); - - // Extra grey cell stage - grey g_2_0 (G_2_0, {g[2],G_1_0}, p[2]); - grey g_4_0 (G_4_0, {g[4],G_3_0}, p[4]); - grey g_6_0 (G_6_0, {g[6],G_5_0}, p[6]); - grey g_8_0 (G_8_0, {g[8],G_7_0}, p[8]); - grey g_10_0 (G_10_0, {g[10],G_9_0}, p[10]); - grey g_12_0 (G_12_0, {g[12],G_11_0}, p[12]); - grey g_14_0 (G_14_0, {g[14],G_13_0}, p[14]); - grey g_16_0 (G_16_0, {g[16],G_15_0}, p[16]); - grey g_18_0 (G_18_0, {g[18],G_17_0}, p[18]); - grey g_20_0 (G_20_0, {g[20],G_19_0}, p[20]); - grey g_22_0 (G_22_0, {g[22],G_21_0}, p[22]); - grey g_24_0 (G_24_0, {g[24],G_23_0}, p[24]); - grey g_26_0 (G_26_0, {g[26],G_25_0}, p[26]); - grey g_28_0 (G_28_0, {g[28],G_27_0}, p[28]); - grey g_30_0 (G_30_0, {g[30],G_29_0}, p[30]); - grey g_32_0 (G_32_0, {g[32],G_31_0}, p[32]); - grey g_34_0 (G_34_0, {g[34],G_33_0}, p[34]); - grey g_36_0 (G_36_0, {g[36],G_35_0}, p[36]); - grey g_38_0 (G_38_0, {g[38],G_37_0}, p[38]); - grey g_40_0 (G_40_0, {g[40],G_39_0}, p[40]); - grey g_42_0 (G_42_0, {g[42],G_41_0}, p[42]); - grey g_44_0 (G_44_0, {g[44],G_43_0}, p[44]); - grey g_46_0 (G_46_0, {g[46],G_45_0}, p[46]); - grey g_48_0 (G_48_0, {g[48],G_47_0}, p[48]); - grey g_50_0 (G_50_0, {g[50],G_49_0}, p[50]); - grey g_52_0 (G_52_0, {g[52],G_51_0}, p[52]); - grey g_54_0 (G_54_0, {g[54],G_53_0}, p[54]); - grey g_56_0 (G_56_0, {g[56],G_55_0}, p[56]); - grey g_58_0 (G_58_0, {g[58],G_57_0}, p[58]); - grey g_60_0 (G_60_0, {g[60],G_59_0}, p[60]); - grey g_62_0 (G_62_0, {g[62],G_61_0}, p[62]); - - // Final Stage: Apply c_k+1=G_k_0 - assign c[1]=g[0]; - assign c[2]=G_1_0; - assign c[3]=G_2_0; - assign c[4]=G_3_0; - assign c[5]=G_4_0; - assign c[6]=G_5_0; - assign c[7]=G_6_0; - assign c[8]=G_7_0; - assign c[9]=G_8_0; - - assign c[10]=G_9_0; - assign c[11]=G_10_0; - assign c[12]=G_11_0; - assign c[13]=G_12_0; - assign c[14]=G_13_0; - assign c[15]=G_14_0; - assign c[16]=G_15_0; - assign c[17]=G_16_0; - - assign c[18]=G_17_0; - assign c[19]=G_18_0; - assign c[20]=G_19_0; - assign c[21]=G_20_0; - assign c[22]=G_21_0; - assign c[23]=G_22_0; - assign c[24]=G_23_0; - assign c[25]=G_24_0; - - assign c[26]=G_25_0; - assign c[27]=G_26_0; - assign c[28]=G_27_0; - assign c[29]=G_28_0; - assign c[30]=G_29_0; - assign c[31]=G_30_0; - assign c[32]=G_31_0; - assign c[33]=G_32_0; - - assign c[34]=G_33_0; - assign c[35]=G_34_0; - assign c[36]=G_35_0; - assign c[37]=G_36_0; - assign c[38]=G_37_0; - assign c[39]=G_38_0; - assign c[40]=G_39_0; - assign c[41]=G_40_0; - - assign c[42]=G_41_0; - assign c[43]=G_42_0; - assign c[44]=G_43_0; - assign c[45]=G_44_0; - assign c[46]=G_45_0; - assign c[47]=G_46_0; - assign c[48]=G_47_0; - assign c[49]=G_48_0; - - assign c[50]=G_49_0; - assign c[51]=G_50_0; - assign c[52]=G_51_0; - assign c[53]=G_52_0; - assign c[54]=G_53_0; - assign c[55]=G_54_0; - assign c[56]=G_55_0; - assign c[57]=G_56_0; - - assign c[58]=G_57_0; - assign c[59]=G_58_0; - assign c[60]=G_59_0; - assign c[61]=G_60_0; - assign c[62]=G_61_0; - assign c[63]=G_62_0; - assign c[64]=G_63_0; - -endmodule // ladner_fischer - diff --git a/wally-pipelined/src/fpu/lzd_denorm.sv b/wally-pipelined/src/fpu/lzd_denorm.sv index 860a3381..a91b0920 100755 --- a/wally-pipelined/src/fpu/lzd_denorm.sv +++ b/wally-pipelined/src/fpu/lzd_denorm.sv @@ -2,7 +2,7 @@ // input B0; // input B1; - + // output P; // output V; diff --git a/wally-pipelined/src/fpu/mult_R4_64_64_cs.sv b/wally-pipelined/src/fpu/mult_R4_64_64_cs.sv deleted file mode 100644 index eca5fadf..00000000 --- a/wally-pipelined/src/fpu/mult_R4_64_64_cs.sv +++ /dev/null @@ -1,12002 +0,0 @@ -// This module is a 64 by 64 TDM multiplier. -// It is unsigned and uses Radix-4 Booth encoding. -// This file was automatically generated by tdm.pl. - -/* -module mult64 (x, y, P); - - input [63:0] x; - input [63:0] y; - - output [127:0] P; - - wire [127:0] Sum; - wire [127:0] Carry; - wire [128:0] Pt; - - multiplier p1 (y, x, Sum, Carry); - //assign Pt = Sum + Carry; - //assign P = Pt[127:0]; - ldf128 cpa (cout, P, Sum, Carry, 1'b0); - -endmodule // mult64 -*/ - -module multiplier( y, x, Sum, Carry ); - - input [63:0] x; - input [63:0] y; - - output [127:0] Sum; - output [127:0] Carry; - - supply0 gnd; - - //Buffers and their nets. - - wire [63:0] xx; - wire [63:0] yy; - - buffer buffer_0_0( xx[0], x[0]); - buffer buffer_0_32( yy[0], y[0]); - buffer buffer_80_0( xx[1], x[1]); - buffer buffer_80_32( yy[1], y[1]); - buffer buffer_160_0( xx[2], x[2]); - buffer buffer_160_32( yy[2], y[2]); - buffer buffer_240_0( xx[3], x[3]); - buffer buffer_240_32( yy[3], y[3]); - buffer buffer_320_0( xx[4], x[4]); - buffer buffer_320_32( yy[4], y[4]); - buffer buffer_400_0( xx[5], x[5]); - buffer buffer_400_32( yy[5], y[5]); - buffer buffer_480_0( xx[6], x[6]); - buffer buffer_480_32( yy[6], y[6]); - buffer buffer_560_0( xx[7], x[7]); - buffer buffer_560_32( yy[7], y[7]); - buffer buffer_640_0( xx[8], x[8]); - buffer buffer_640_32( yy[8], y[8]); - buffer buffer_720_0( xx[9], x[9]); - buffer buffer_720_32( yy[9], y[9]); - buffer buffer_800_0( xx[10], x[10]); - buffer buffer_800_32( yy[10], y[10]); - buffer buffer_880_0( xx[11], x[11]); - buffer buffer_880_32( yy[11], y[11]); - buffer buffer_960_0( xx[12], x[12]); - buffer buffer_960_32( yy[12], y[12]); - buffer buffer_1040_0( xx[13], x[13]); - buffer buffer_1040_32( yy[13], y[13]); - buffer buffer_1120_0( xx[14], x[14]); - buffer buffer_1120_32( yy[14], y[14]); - buffer buffer_1200_0( xx[15], x[15]); - buffer buffer_1200_32( yy[15], y[15]); - buffer buffer_1280_0( xx[16], x[16]); - buffer buffer_1280_32( yy[16], y[16]); - buffer buffer_1360_0( xx[17], x[17]); - buffer buffer_1360_32( yy[17], y[17]); - buffer buffer_1440_0( xx[18], x[18]); - buffer buffer_1440_32( yy[18], y[18]); - buffer buffer_1520_0( xx[19], x[19]); - buffer buffer_1520_32( yy[19], y[19]); - buffer buffer_1600_0( xx[20], x[20]); - buffer buffer_1600_32( yy[20], y[20]); - buffer buffer_1680_0( xx[21], x[21]); - buffer buffer_1680_32( yy[21], y[21]); - buffer buffer_1760_0( xx[22], x[22]); - buffer buffer_1760_32( yy[22], y[22]); - buffer buffer_1840_0( xx[23], x[23]); - buffer buffer_1840_32( yy[23], y[23]); - buffer buffer_1920_0( xx[24], x[24]); - buffer buffer_1920_32( yy[24], y[24]); - buffer buffer_2000_0( xx[25], x[25]); - buffer buffer_2000_32( yy[25], y[25]); - buffer buffer_2080_0( xx[26], x[26]); - buffer buffer_2080_32( yy[26], y[26]); - buffer buffer_2160_0( xx[27], x[27]); - buffer buffer_2160_32( yy[27], y[27]); - buffer buffer_2240_0( xx[28], x[28]); - buffer buffer_2240_32( yy[28], y[28]); - buffer buffer_2320_0( xx[29], x[29]); - buffer buffer_2320_32( yy[29], y[29]); - buffer buffer_2400_0( xx[30], x[30]); - buffer buffer_2400_32( yy[30], y[30]); - buffer buffer_2480_0( xx[31], x[31]); - buffer buffer_2480_32( yy[31], y[31]); - buffer buffer_2560_0( xx[32], x[32]); - buffer buffer_2560_32( yy[32], y[32]); - buffer buffer_2640_0( xx[33], x[33]); - buffer buffer_2640_32( yy[33], y[33]); - buffer buffer_2720_0( xx[34], x[34]); - buffer buffer_2720_32( yy[34], y[34]); - buffer buffer_2800_0( xx[35], x[35]); - buffer buffer_2800_32( yy[35], y[35]); - buffer buffer_2880_0( xx[36], x[36]); - buffer buffer_2880_32( yy[36], y[36]); - buffer buffer_2960_0( xx[37], x[37]); - buffer buffer_2960_32( yy[37], y[37]); - buffer buffer_3040_0( xx[38], x[38]); - buffer buffer_3040_32( yy[38], y[38]); - buffer buffer_3120_0( xx[39], x[39]); - buffer buffer_3120_32( yy[39], y[39]); - buffer buffer_3200_0( xx[40], x[40]); - buffer buffer_3200_32( yy[40], y[40]); - buffer buffer_3280_0( xx[41], x[41]); - buffer buffer_3280_32( yy[41], y[41]); - buffer buffer_3360_0( xx[42], x[42]); - buffer buffer_3360_32( yy[42], y[42]); - buffer buffer_3440_0( xx[43], x[43]); - buffer buffer_3440_32( yy[43], y[43]); - buffer buffer_3520_0( xx[44], x[44]); - buffer buffer_3520_32( yy[44], y[44]); - buffer buffer_3600_0( xx[45], x[45]); - buffer buffer_3600_32( yy[45], y[45]); - buffer buffer_3680_0( xx[46], x[46]); - buffer buffer_3680_32( yy[46], y[46]); - buffer buffer_3760_0( xx[47], x[47]); - buffer buffer_3760_32( yy[47], y[47]); - buffer buffer_3840_0( xx[48], x[48]); - buffer buffer_3840_32( yy[48], y[48]); - buffer buffer_3920_0( xx[49], x[49]); - buffer buffer_3920_32( yy[49], y[49]); - buffer buffer_4000_0( xx[50], x[50]); - buffer buffer_4000_32( yy[50], y[50]); - buffer buffer_4080_0( xx[51], x[51]); - buffer buffer_4080_32( yy[51], y[51]); - buffer buffer_4160_0( xx[52], x[52]); - buffer buffer_4160_32( yy[52], y[52]); - buffer buffer_4240_0( xx[53], x[53]); - buffer buffer_4240_32( yy[53], y[53]); - buffer buffer_4320_0( xx[54], x[54]); - buffer buffer_4320_32( yy[54], y[54]); - buffer buffer_4400_0( xx[55], x[55]); - buffer buffer_4400_32( yy[55], y[55]); - buffer buffer_4480_0( xx[56], x[56]); - buffer buffer_4480_32( yy[56], y[56]); - buffer buffer_4560_0( xx[57], x[57]); - buffer buffer_4560_32( yy[57], y[57]); - buffer buffer_4640_0( xx[58], x[58]); - buffer buffer_4640_32( yy[58], y[58]); - buffer buffer_4720_0( xx[59], x[59]); - buffer buffer_4720_32( yy[59], y[59]); - buffer buffer_4800_0( xx[60], x[60]); - buffer buffer_4800_32( yy[60], y[60]); - buffer buffer_4880_0( xx[61], x[61]); - buffer buffer_4880_32( yy[61], y[61]); - buffer buffer_4960_0( xx[62], x[62]); - buffer buffer_4960_32( yy[62], y[62]); - buffer buffer_5040_0( xx[63], x[63]); - buffer buffer_5040_32( yy[63], y[63]); - - - //Booth encoders and related wiring - - wire [32:0] single; - wire [32:0] double; - wire [32:0] neg; - wire [31:0] negbar; - - r4be r4be_10240_0(gnd, xx[0], xx[1], single[0], double[0], neg[0]); - inverter inverter_10240_168(negbar[0], neg[0]); - r4be r4be_10240_184(xx[1], xx[2], xx[3], single[1], double[1], neg[1]); - inverter inverter_10240_352(negbar[1], neg[1]); - r4be r4be_10240_368(xx[3], xx[4], xx[5], single[2], double[2], neg[2]); - inverter inverter_10240_536(negbar[2], neg[2]); - r4be r4be_10240_552(xx[5], xx[6], xx[7], single[3], double[3], neg[3]); - inverter inverter_10240_720(negbar[3], neg[3]); - r4be r4be_10240_736(xx[7], xx[8], xx[9], single[4], double[4], neg[4]); - inverter inverter_10240_904(negbar[4], neg[4]); - r4be r4be_10240_920(xx[9], xx[10], xx[11], single[5], double[5], neg[5]); - inverter inverter_10240_1088(negbar[5], neg[5]); - r4be r4be_10240_1104(xx[11], xx[12], xx[13], single[6], double[6], neg[6]); - inverter inverter_10240_1272(negbar[6], neg[6]); - r4be r4be_10240_1288(xx[13], xx[14], xx[15], single[7], double[7], neg[7]); - inverter inverter_10240_1456(negbar[7], neg[7]); - r4be r4be_10240_1472(xx[15], xx[16], xx[17], single[8], double[8], neg[8]); - inverter inverter_10240_1640(negbar[8], neg[8]); - r4be r4be_10240_1656(xx[17], xx[18], xx[19], single[9], double[9], neg[9]); - inverter inverter_10240_1824(negbar[9], neg[9]); - r4be r4be_10240_1840(xx[19], xx[20], xx[21], single[10], double[10], neg[10]); - inverter inverter_10240_2008(negbar[10], neg[10]); - r4be r4be_10240_2024(xx[21], xx[22], xx[23], single[11], double[11], neg[11]); - inverter inverter_10240_2192(negbar[11], neg[11]); - r4be r4be_10240_2208(xx[23], xx[24], xx[25], single[12], double[12], neg[12]); - inverter inverter_10240_2376(negbar[12], neg[12]); - r4be r4be_10240_2392(xx[25], xx[26], xx[27], single[13], double[13], neg[13]); - inverter inverter_10240_2560(negbar[13], neg[13]); - r4be r4be_10240_2576(xx[27], xx[28], xx[29], single[14], double[14], neg[14]); - inverter inverter_10240_2744(negbar[14], neg[14]); - r4be r4be_10240_2760(xx[29], xx[30], xx[31], single[15], double[15], neg[15]); - inverter inverter_10240_2928(negbar[15], neg[15]); - r4be r4be_10240_2944(xx[31], xx[32], xx[33], single[16], double[16], neg[16]); - inverter inverter_10240_3112(negbar[16], neg[16]); - r4be r4be_10240_3128(xx[33], xx[34], xx[35], single[17], double[17], neg[17]); - inverter inverter_10240_3296(negbar[17], neg[17]); - r4be r4be_10240_3312(xx[35], xx[36], xx[37], single[18], double[18], neg[18]); - inverter inverter_10240_3480(negbar[18], neg[18]); - r4be r4be_10240_3496(xx[37], xx[38], xx[39], single[19], double[19], neg[19]); - inverter inverter_10240_3664(negbar[19], neg[19]); - r4be r4be_10240_3680(xx[39], xx[40], xx[41], single[20], double[20], neg[20]); - inverter inverter_10240_3848(negbar[20], neg[20]); - r4be r4be_10240_3864(xx[41], xx[42], xx[43], single[21], double[21], neg[21]); - inverter inverter_10240_4032(negbar[21], neg[21]); - r4be r4be_10240_4048(xx[43], xx[44], xx[45], single[22], double[22], neg[22]); - inverter inverter_10240_4216(negbar[22], neg[22]); - r4be r4be_10240_4232(xx[45], xx[46], xx[47], single[23], double[23], neg[23]); - inverter inverter_10240_4400(negbar[23], neg[23]); - r4be r4be_10240_4416(xx[47], xx[48], xx[49], single[24], double[24], neg[24]); - inverter inverter_10240_4584(negbar[24], neg[24]); - r4be r4be_10240_4600(xx[49], xx[50], xx[51], single[25], double[25], neg[25]); - inverter inverter_10240_4768(negbar[25], neg[25]); - r4be r4be_10240_4784(xx[51], xx[52], xx[53], single[26], double[26], neg[26]); - inverter inverter_10240_4952(negbar[26], neg[26]); - r4be r4be_10240_4968(xx[53], xx[54], xx[55], single[27], double[27], neg[27]); - inverter inverter_10240_5136(negbar[27], neg[27]); - r4be r4be_10240_5152(xx[55], xx[56], xx[57], single[28], double[28], neg[28]); - inverter inverter_10240_5320(negbar[28], neg[28]); - r4be r4be_10240_5336(xx[57], xx[58], xx[59], single[29], double[29], neg[29]); - inverter inverter_10240_5504(negbar[29], neg[29]); - r4be r4be_10240_5520(xx[59], xx[60], xx[61], single[30], double[30], neg[30]); - inverter inverter_10240_5688(negbar[30], neg[30]); - r4be r4be_10240_5704(xx[61], xx[62], xx[63], single[31], double[31], neg[31]); - inverter inverter_10240_5872(negbar[31], neg[31]); - r4be r4be_10240_5888(xx[63], gnd, gnd, single[32], double[32], neg[32]); - - // Below are the nets for the partial products (booth) - wire pp_0_0; - wire pp_0_1; - wire pp_0_2; - wire pp_1_2; - wire pp_0_3; - wire pp_1_3; - wire pp_0_4; - wire pp_1_4; - wire pp_2_4; - wire pp_0_5; - wire pp_1_5; - wire pp_2_5; - wire pp_0_6; - wire pp_1_6; - wire pp_2_6; - wire pp_3_6; - wire pp_0_7; - wire pp_1_7; - wire pp_2_7; - wire pp_3_7; - wire pp_0_8; - wire pp_1_8; - wire pp_2_8; - wire pp_3_8; - wire pp_4_8; - wire pp_0_9; - wire pp_1_9; - wire pp_2_9; - wire pp_3_9; - wire pp_4_9; - wire pp_0_10; - wire pp_1_10; - wire pp_2_10; - wire pp_3_10; - wire pp_4_10; - wire pp_5_10; - wire pp_0_11; - wire pp_1_11; - wire pp_2_11; - wire pp_3_11; - wire pp_4_11; - wire pp_5_11; - wire pp_0_12; - wire pp_1_12; - wire pp_2_12; - wire pp_3_12; - wire pp_4_12; - wire pp_5_12; - wire pp_6_12; - wire pp_0_13; - wire pp_1_13; - wire pp_2_13; - wire pp_3_13; - wire pp_4_13; - wire pp_5_13; - wire pp_6_13; - wire pp_0_14; - wire pp_1_14; - wire pp_2_14; - wire pp_3_14; - wire pp_4_14; - wire pp_5_14; - wire pp_6_14; - wire pp_7_14; - wire pp_0_15; - wire pp_1_15; - wire pp_2_15; - wire pp_3_15; - wire pp_4_15; - wire pp_5_15; - wire pp_6_15; - wire pp_7_15; - wire pp_0_16; - wire pp_1_16; - wire pp_2_16; - wire pp_3_16; - wire pp_4_16; - wire pp_5_16; - wire pp_6_16; - wire pp_7_16; - wire pp_8_16; - wire pp_0_17; - wire pp_1_17; - wire pp_2_17; - wire pp_3_17; - wire pp_4_17; - wire pp_5_17; - wire pp_6_17; - wire pp_7_17; - wire pp_8_17; - wire pp_0_18; - wire pp_1_18; - wire pp_2_18; - wire pp_3_18; - wire pp_4_18; - wire pp_5_18; - wire pp_6_18; - wire pp_7_18; - wire pp_8_18; - wire pp_9_18; - wire pp_0_19; - wire pp_1_19; - wire pp_2_19; - wire pp_3_19; - wire pp_4_19; - wire pp_5_19; - wire pp_6_19; - wire pp_7_19; - wire pp_8_19; - wire pp_9_19; - wire pp_0_20; - wire pp_1_20; - wire pp_2_20; - wire pp_3_20; - wire pp_4_20; - wire pp_5_20; - wire pp_6_20; - wire pp_7_20; - wire pp_8_20; - wire pp_9_20; - wire pp_10_20; - wire pp_0_21; - wire pp_1_21; - wire pp_2_21; - wire pp_3_21; - wire pp_4_21; - wire pp_5_21; - wire pp_6_21; - wire pp_7_21; - wire pp_8_21; - wire pp_9_21; - wire pp_10_21; - wire pp_0_22; - wire pp_1_22; - wire pp_2_22; - wire pp_3_22; - wire pp_4_22; - wire pp_5_22; - wire pp_6_22; - wire pp_7_22; - wire pp_8_22; - wire pp_9_22; - wire pp_10_22; - wire pp_11_22; - wire pp_0_23; - wire pp_1_23; - wire pp_2_23; - wire pp_3_23; - wire pp_4_23; - wire pp_5_23; - wire pp_6_23; - wire pp_7_23; - wire pp_8_23; - wire pp_9_23; - wire pp_10_23; - wire pp_11_23; - wire pp_0_24; - wire pp_1_24; - wire pp_2_24; - wire pp_3_24; - wire pp_4_24; - wire pp_5_24; - wire pp_6_24; - wire pp_7_24; - wire pp_8_24; - wire pp_9_24; - wire pp_10_24; - wire pp_11_24; - wire pp_12_24; - wire pp_0_25; - wire pp_1_25; - wire pp_2_25; - wire pp_3_25; - wire pp_4_25; - wire pp_5_25; - wire pp_6_25; - wire pp_7_25; - wire pp_8_25; - wire pp_9_25; - wire pp_10_25; - wire pp_11_25; - wire pp_12_25; - wire pp_0_26; - wire pp_1_26; - wire pp_2_26; - wire pp_3_26; - wire pp_4_26; - wire pp_5_26; - wire pp_6_26; - wire pp_7_26; - wire pp_8_26; - wire pp_9_26; - wire pp_10_26; - wire pp_11_26; - wire pp_12_26; - wire pp_13_26; - wire pp_0_27; - wire pp_1_27; - wire pp_2_27; - wire pp_3_27; - wire pp_4_27; - wire pp_5_27; - wire pp_6_27; - wire pp_7_27; - wire pp_8_27; - wire pp_9_27; - wire pp_10_27; - wire pp_11_27; - wire pp_12_27; - wire pp_13_27; - wire pp_0_28; - wire pp_1_28; - wire pp_2_28; - wire pp_3_28; - wire pp_4_28; - wire pp_5_28; - wire pp_6_28; - wire pp_7_28; - wire pp_8_28; - wire pp_9_28; - wire pp_10_28; - wire pp_11_28; - wire pp_12_28; - wire pp_13_28; - wire pp_14_28; - wire pp_0_29; - wire pp_1_29; - wire pp_2_29; - wire pp_3_29; - wire pp_4_29; - wire pp_5_29; - wire pp_6_29; - wire pp_7_29; - wire pp_8_29; - wire pp_9_29; - wire pp_10_29; - wire pp_11_29; - wire pp_12_29; - wire pp_13_29; - wire pp_14_29; - wire pp_0_30; - wire pp_1_30; - wire pp_2_30; - wire pp_3_30; - wire pp_4_30; - wire pp_5_30; - wire pp_6_30; - wire pp_7_30; - wire pp_8_30; - wire pp_9_30; - wire pp_10_30; - wire pp_11_30; - wire pp_12_30; - wire pp_13_30; - wire pp_14_30; - wire pp_15_30; - wire pp_0_31; - wire pp_1_31; - wire pp_2_31; - wire pp_3_31; - wire pp_4_31; - wire pp_5_31; - wire pp_6_31; - wire pp_7_31; - wire pp_8_31; - wire pp_9_31; - wire pp_10_31; - wire pp_11_31; - wire pp_12_31; - wire pp_13_31; - wire pp_14_31; - wire pp_15_31; - wire pp_0_32; - wire pp_1_32; - wire pp_2_32; - wire pp_3_32; - wire pp_4_32; - wire pp_5_32; - wire pp_6_32; - wire pp_7_32; - wire pp_8_32; - wire pp_9_32; - wire pp_10_32; - wire pp_11_32; - wire pp_12_32; - wire pp_13_32; - wire pp_14_32; - wire pp_15_32; - wire pp_16_32; - wire pp_0_33; - wire pp_1_33; - wire pp_2_33; - wire pp_3_33; - wire pp_4_33; - wire pp_5_33; - wire pp_6_33; - wire pp_7_33; - wire pp_8_33; - wire pp_9_33; - wire pp_10_33; - wire pp_11_33; - wire pp_12_33; - wire pp_13_33; - wire pp_14_33; - wire pp_15_33; - wire pp_16_33; - wire pp_0_34; - wire pp_1_34; - wire pp_2_34; - wire pp_3_34; - wire pp_4_34; - wire pp_5_34; - wire pp_6_34; - wire pp_7_34; - wire pp_8_34; - wire pp_9_34; - wire pp_10_34; - wire pp_11_34; - wire pp_12_34; - wire pp_13_34; - wire pp_14_34; - wire pp_15_34; - wire pp_16_34; - wire pp_17_34; - wire pp_0_35; - wire pp_1_35; - wire pp_2_35; - wire pp_3_35; - wire pp_4_35; - wire pp_5_35; - wire pp_6_35; - wire pp_7_35; - wire pp_8_35; - wire pp_9_35; - wire pp_10_35; - wire pp_11_35; - wire pp_12_35; - wire pp_13_35; - wire pp_14_35; - wire pp_15_35; - wire pp_16_35; - wire pp_17_35; - wire pp_0_36; - wire pp_1_36; - wire pp_2_36; - wire pp_3_36; - wire pp_4_36; - wire pp_5_36; - wire pp_6_36; - wire pp_7_36; - wire pp_8_36; - wire pp_9_36; - wire pp_10_36; - wire pp_11_36; - wire pp_12_36; - wire pp_13_36; - wire pp_14_36; - wire pp_15_36; - wire pp_16_36; - wire pp_17_36; - wire pp_18_36; - wire pp_0_37; - wire pp_1_37; - wire pp_2_37; - wire pp_3_37; - wire pp_4_37; - wire pp_5_37; - wire pp_6_37; - wire pp_7_37; - wire pp_8_37; - wire pp_9_37; - wire pp_10_37; - wire pp_11_37; - wire pp_12_37; - wire pp_13_37; - wire pp_14_37; - wire pp_15_37; - wire pp_16_37; - wire pp_17_37; - wire pp_18_37; - wire pp_0_38; - wire pp_1_38; - wire pp_2_38; - wire pp_3_38; - wire pp_4_38; - wire pp_5_38; - wire pp_6_38; - wire pp_7_38; - wire pp_8_38; - wire pp_9_38; - wire pp_10_38; - wire pp_11_38; - wire pp_12_38; - wire pp_13_38; - wire pp_14_38; - wire pp_15_38; - wire pp_16_38; - wire pp_17_38; - wire pp_18_38; - wire pp_19_38; - wire pp_0_39; - wire pp_1_39; - wire pp_2_39; - wire pp_3_39; - wire pp_4_39; - wire pp_5_39; - wire pp_6_39; - wire pp_7_39; - wire pp_8_39; - wire pp_9_39; - wire pp_10_39; - wire pp_11_39; - wire pp_12_39; - wire pp_13_39; - wire pp_14_39; - wire pp_15_39; - wire pp_16_39; - wire pp_17_39; - wire pp_18_39; - wire pp_19_39; - wire pp_0_40; - wire pp_1_40; - wire pp_2_40; - wire pp_3_40; - wire pp_4_40; - wire pp_5_40; - wire pp_6_40; - wire pp_7_40; - wire pp_8_40; - wire pp_9_40; - wire pp_10_40; - wire pp_11_40; - wire pp_12_40; - wire pp_13_40; - wire pp_14_40; - wire pp_15_40; - wire pp_16_40; - wire pp_17_40; - wire pp_18_40; - wire pp_19_40; - wire pp_20_40; - wire pp_0_41; - wire pp_1_41; - wire pp_2_41; - wire pp_3_41; - wire pp_4_41; - wire pp_5_41; - wire pp_6_41; - wire pp_7_41; - wire pp_8_41; - wire pp_9_41; - wire pp_10_41; - wire pp_11_41; - wire pp_12_41; - wire pp_13_41; - wire pp_14_41; - wire pp_15_41; - wire pp_16_41; - wire pp_17_41; - wire pp_18_41; - wire pp_19_41; - wire pp_20_41; - wire pp_0_42; - wire pp_1_42; - wire pp_2_42; - wire pp_3_42; - wire pp_4_42; - wire pp_5_42; - wire pp_6_42; - wire pp_7_42; - wire pp_8_42; - wire pp_9_42; - wire pp_10_42; - wire pp_11_42; - wire pp_12_42; - wire pp_13_42; - wire pp_14_42; - wire pp_15_42; - wire pp_16_42; - wire pp_17_42; - wire pp_18_42; - wire pp_19_42; - wire pp_20_42; - wire pp_21_42; - wire pp_0_43; - wire pp_1_43; - wire pp_2_43; - wire pp_3_43; - wire pp_4_43; - wire pp_5_43; - wire pp_6_43; - wire pp_7_43; - wire pp_8_43; - wire pp_9_43; - wire pp_10_43; - wire pp_11_43; - wire pp_12_43; - wire pp_13_43; - wire pp_14_43; - wire pp_15_43; - wire pp_16_43; - wire pp_17_43; - wire pp_18_43; - wire pp_19_43; - wire pp_20_43; - wire pp_21_43; - wire pp_0_44; - wire pp_1_44; - wire pp_2_44; - wire pp_3_44; - wire pp_4_44; - wire pp_5_44; - wire pp_6_44; - wire pp_7_44; - wire pp_8_44; - wire pp_9_44; - wire pp_10_44; - wire pp_11_44; - wire pp_12_44; - wire pp_13_44; - wire pp_14_44; - wire pp_15_44; - wire pp_16_44; - wire pp_17_44; - wire pp_18_44; - wire pp_19_44; - wire pp_20_44; - wire pp_21_44; - wire pp_22_44; - wire pp_0_45; - wire pp_1_45; - wire pp_2_45; - wire pp_3_45; - wire pp_4_45; - wire pp_5_45; - wire pp_6_45; - wire pp_7_45; - wire pp_8_45; - wire pp_9_45; - wire pp_10_45; - wire pp_11_45; - wire pp_12_45; - wire pp_13_45; - wire pp_14_45; - wire pp_15_45; - wire pp_16_45; - wire pp_17_45; - wire pp_18_45; - wire pp_19_45; - wire pp_20_45; - wire pp_21_45; - wire pp_22_45; - wire pp_0_46; - wire pp_1_46; - wire pp_2_46; - wire pp_3_46; - wire pp_4_46; - wire pp_5_46; - wire pp_6_46; - wire pp_7_46; - wire pp_8_46; - wire pp_9_46; - wire pp_10_46; - wire pp_11_46; - wire pp_12_46; - wire pp_13_46; - wire pp_14_46; - wire pp_15_46; - wire pp_16_46; - wire pp_17_46; - wire pp_18_46; - wire pp_19_46; - wire pp_20_46; - wire pp_21_46; - wire pp_22_46; - wire pp_23_46; - wire pp_0_47; - wire pp_1_47; - wire pp_2_47; - wire pp_3_47; - wire pp_4_47; - wire pp_5_47; - wire pp_6_47; - wire pp_7_47; - wire pp_8_47; - wire pp_9_47; - wire pp_10_47; - wire pp_11_47; - wire pp_12_47; - wire pp_13_47; - wire pp_14_47; - wire pp_15_47; - wire pp_16_47; - wire pp_17_47; - wire pp_18_47; - wire pp_19_47; - wire pp_20_47; - wire pp_21_47; - wire pp_22_47; - wire pp_23_47; - wire pp_0_48; - wire pp_1_48; - wire pp_2_48; - wire pp_3_48; - wire pp_4_48; - wire pp_5_48; - wire pp_6_48; - wire pp_7_48; - wire pp_8_48; - wire pp_9_48; - wire pp_10_48; - wire pp_11_48; - wire pp_12_48; - wire pp_13_48; - wire pp_14_48; - wire pp_15_48; - wire pp_16_48; - wire pp_17_48; - wire pp_18_48; - wire pp_19_48; - wire pp_20_48; - wire pp_21_48; - wire pp_22_48; - wire pp_23_48; - wire pp_24_48; - wire pp_0_49; - wire pp_1_49; - wire pp_2_49; - wire pp_3_49; - wire pp_4_49; - wire pp_5_49; - wire pp_6_49; - wire pp_7_49; - wire pp_8_49; - wire pp_9_49; - wire pp_10_49; - wire pp_11_49; - wire pp_12_49; - wire pp_13_49; - wire pp_14_49; - wire pp_15_49; - wire pp_16_49; - wire pp_17_49; - wire pp_18_49; - wire pp_19_49; - wire pp_20_49; - wire pp_21_49; - wire pp_22_49; - wire pp_23_49; - wire pp_24_49; - wire pp_0_50; - wire pp_1_50; - wire pp_2_50; - wire pp_3_50; - wire pp_4_50; - wire pp_5_50; - wire pp_6_50; - wire pp_7_50; - wire pp_8_50; - wire pp_9_50; - wire pp_10_50; - wire pp_11_50; - wire pp_12_50; - wire pp_13_50; - wire pp_14_50; - wire pp_15_50; - wire pp_16_50; - wire pp_17_50; - wire pp_18_50; - wire pp_19_50; - wire pp_20_50; - wire pp_21_50; - wire pp_22_50; - wire pp_23_50; - wire pp_24_50; - wire pp_25_50; - wire pp_0_51; - wire pp_1_51; - wire pp_2_51; - wire pp_3_51; - wire pp_4_51; - wire pp_5_51; - wire pp_6_51; - wire pp_7_51; - wire pp_8_51; - wire pp_9_51; - wire pp_10_51; - wire pp_11_51; - wire pp_12_51; - wire pp_13_51; - wire pp_14_51; - wire pp_15_51; - wire pp_16_51; - wire pp_17_51; - wire pp_18_51; - wire pp_19_51; - wire pp_20_51; - wire pp_21_51; - wire pp_22_51; - wire pp_23_51; - wire pp_24_51; - wire pp_25_51; - wire pp_0_52; - wire pp_1_52; - wire pp_2_52; - wire pp_3_52; - wire pp_4_52; - wire pp_5_52; - wire pp_6_52; - wire pp_7_52; - wire pp_8_52; - wire pp_9_52; - wire pp_10_52; - wire pp_11_52; - wire pp_12_52; - wire pp_13_52; - wire pp_14_52; - wire pp_15_52; - wire pp_16_52; - wire pp_17_52; - wire pp_18_52; - wire pp_19_52; - wire pp_20_52; - wire pp_21_52; - wire pp_22_52; - wire pp_23_52; - wire pp_24_52; - wire pp_25_52; - wire pp_26_52; - wire pp_0_53; - wire pp_1_53; - wire pp_2_53; - wire pp_3_53; - wire pp_4_53; - wire pp_5_53; - wire pp_6_53; - wire pp_7_53; - wire pp_8_53; - wire pp_9_53; - wire pp_10_53; - wire pp_11_53; - wire pp_12_53; - wire pp_13_53; - wire pp_14_53; - wire pp_15_53; - wire pp_16_53; - wire pp_17_53; - wire pp_18_53; - wire pp_19_53; - wire pp_20_53; - wire pp_21_53; - wire pp_22_53; - wire pp_23_53; - wire pp_24_53; - wire pp_25_53; - wire pp_26_53; - wire pp_0_54; - wire pp_1_54; - wire pp_2_54; - wire pp_3_54; - wire pp_4_54; - wire pp_5_54; - wire pp_6_54; - wire pp_7_54; - wire pp_8_54; - wire pp_9_54; - wire pp_10_54; - wire pp_11_54; - wire pp_12_54; - wire pp_13_54; - wire pp_14_54; - wire pp_15_54; - wire pp_16_54; - wire pp_17_54; - wire pp_18_54; - wire pp_19_54; - wire pp_20_54; - wire pp_21_54; - wire pp_22_54; - wire pp_23_54; - wire pp_24_54; - wire pp_25_54; - wire pp_26_54; - wire pp_27_54; - wire pp_0_55; - wire pp_1_55; - wire pp_2_55; - wire pp_3_55; - wire pp_4_55; - wire pp_5_55; - wire pp_6_55; - wire pp_7_55; - wire pp_8_55; - wire pp_9_55; - wire pp_10_55; - wire pp_11_55; - wire pp_12_55; - wire pp_13_55; - wire pp_14_55; - wire pp_15_55; - wire pp_16_55; - wire pp_17_55; - wire pp_18_55; - wire pp_19_55; - wire pp_20_55; - wire pp_21_55; - wire pp_22_55; - wire pp_23_55; - wire pp_24_55; - wire pp_25_55; - wire pp_26_55; - wire pp_27_55; - wire pp_0_56; - wire pp_1_56; - wire pp_2_56; - wire pp_3_56; - wire pp_4_56; - wire pp_5_56; - wire pp_6_56; - wire pp_7_56; - wire pp_8_56; - wire pp_9_56; - wire pp_10_56; - wire pp_11_56; - wire pp_12_56; - wire pp_13_56; - wire pp_14_56; - wire pp_15_56; - wire pp_16_56; - wire pp_17_56; - wire pp_18_56; - wire pp_19_56; - wire pp_20_56; - wire pp_21_56; - wire pp_22_56; - wire pp_23_56; - wire pp_24_56; - wire pp_25_56; - wire pp_26_56; - wire pp_27_56; - wire pp_28_56; - wire pp_0_57; - wire pp_1_57; - wire pp_2_57; - wire pp_3_57; - wire pp_4_57; - wire pp_5_57; - wire pp_6_57; - wire pp_7_57; - wire pp_8_57; - wire pp_9_57; - wire pp_10_57; - wire pp_11_57; - wire pp_12_57; - wire pp_13_57; - wire pp_14_57; - wire pp_15_57; - wire pp_16_57; - wire pp_17_57; - wire pp_18_57; - wire pp_19_57; - wire pp_20_57; - wire pp_21_57; - wire pp_22_57; - wire pp_23_57; - wire pp_24_57; - wire pp_25_57; - wire pp_26_57; - wire pp_27_57; - wire pp_28_57; - wire pp_0_58; - wire pp_1_58; - wire pp_2_58; - wire pp_3_58; - wire pp_4_58; - wire pp_5_58; - wire pp_6_58; - wire pp_7_58; - wire pp_8_58; - wire pp_9_58; - wire pp_10_58; - wire pp_11_58; - wire pp_12_58; - wire pp_13_58; - wire pp_14_58; - wire pp_15_58; - wire pp_16_58; - wire pp_17_58; - wire pp_18_58; - wire pp_19_58; - wire pp_20_58; - wire pp_21_58; - wire pp_22_58; - wire pp_23_58; - wire pp_24_58; - wire pp_25_58; - wire pp_26_58; - wire pp_27_58; - wire pp_28_58; - wire pp_29_58; - wire pp_0_59; - wire pp_1_59; - wire pp_2_59; - wire pp_3_59; - wire pp_4_59; - wire pp_5_59; - wire pp_6_59; - wire pp_7_59; - wire pp_8_59; - wire pp_9_59; - wire pp_10_59; - wire pp_11_59; - wire pp_12_59; - wire pp_13_59; - wire pp_14_59; - wire pp_15_59; - wire pp_16_59; - wire pp_17_59; - wire pp_18_59; - wire pp_19_59; - wire pp_20_59; - wire pp_21_59; - wire pp_22_59; - wire pp_23_59; - wire pp_24_59; - wire pp_25_59; - wire pp_26_59; - wire pp_27_59; - wire pp_28_59; - wire pp_29_59; - wire pp_0_60; - wire pp_1_60; - wire pp_2_60; - wire pp_3_60; - wire pp_4_60; - wire pp_5_60; - wire pp_6_60; - wire pp_7_60; - wire pp_8_60; - wire pp_9_60; - wire pp_10_60; - wire pp_11_60; - wire pp_12_60; - wire pp_13_60; - wire pp_14_60; - wire pp_15_60; - wire pp_16_60; - wire pp_17_60; - wire pp_18_60; - wire pp_19_60; - wire pp_20_60; - wire pp_21_60; - wire pp_22_60; - wire pp_23_60; - wire pp_24_60; - wire pp_25_60; - wire pp_26_60; - wire pp_27_60; - wire pp_28_60; - wire pp_29_60; - wire pp_30_60; - wire pp_0_61; - wire pp_1_61; - wire pp_2_61; - wire pp_3_61; - wire pp_4_61; - wire pp_5_61; - wire pp_6_61; - wire pp_7_61; - wire pp_8_61; - wire pp_9_61; - wire pp_10_61; - wire pp_11_61; - wire pp_12_61; - wire pp_13_61; - wire pp_14_61; - wire pp_15_61; - wire pp_16_61; - wire pp_17_61; - wire pp_18_61; - wire pp_19_61; - wire pp_20_61; - wire pp_21_61; - wire pp_22_61; - wire pp_23_61; - wire pp_24_61; - wire pp_25_61; - wire pp_26_61; - wire pp_27_61; - wire pp_28_61; - wire pp_29_61; - wire pp_30_61; - wire pp_0_62; - wire pp_1_62; - wire pp_2_62; - wire pp_3_62; - wire pp_4_62; - wire pp_5_62; - wire pp_6_62; - wire pp_7_62; - wire pp_8_62; - wire pp_9_62; - wire pp_10_62; - wire pp_11_62; - wire pp_12_62; - wire pp_13_62; - wire pp_14_62; - wire pp_15_62; - wire pp_16_62; - wire pp_17_62; - wire pp_18_62; - wire pp_19_62; - wire pp_20_62; - wire pp_21_62; - wire pp_22_62; - wire pp_23_62; - wire pp_24_62; - wire pp_25_62; - wire pp_26_62; - wire pp_27_62; - wire pp_28_62; - wire pp_29_62; - wire pp_30_62; - wire pp_31_62; - wire pp_0_63; - wire pp_1_63; - wire pp_2_63; - wire pp_3_63; - wire pp_4_63; - wire pp_5_63; - wire pp_6_63; - wire pp_7_63; - wire pp_8_63; - wire pp_9_63; - wire pp_10_63; - wire pp_11_63; - wire pp_12_63; - wire pp_13_63; - wire pp_14_63; - wire pp_15_63; - wire pp_16_63; - wire pp_17_63; - wire pp_18_63; - wire pp_19_63; - wire pp_20_63; - wire pp_21_63; - wire pp_22_63; - wire pp_23_63; - wire pp_24_63; - wire pp_25_63; - wire pp_26_63; - wire pp_27_63; - wire pp_28_63; - wire pp_29_63; - wire pp_30_63; - wire pp_31_63; - wire pp_0_64; - wire pp_1_64; - wire pp_2_64; - wire pp_3_64; - wire pp_4_64; - wire pp_5_64; - wire pp_6_64; - wire pp_7_64; - wire pp_8_64; - wire pp_9_64; - wire pp_10_64; - wire pp_11_64; - wire pp_12_64; - wire pp_13_64; - wire pp_14_64; - wire pp_15_64; - wire pp_16_64; - wire pp_17_64; - wire pp_18_64; - wire pp_19_64; - wire pp_20_64; - wire pp_21_64; - wire pp_22_64; - wire pp_23_64; - wire pp_24_64; - wire pp_25_64; - wire pp_26_64; - wire pp_27_64; - wire pp_28_64; - wire pp_29_64; - wire pp_30_64; - wire pp_31_64; - wire pp_32_64; - wire pp_1_65; - wire pp_2_65; - wire pp_3_65; - wire pp_4_65; - wire pp_5_65; - wire pp_6_65; - wire pp_7_65; - wire pp_8_65; - wire pp_9_65; - wire pp_10_65; - wire pp_11_65; - wire pp_12_65; - wire pp_13_65; - wire pp_14_65; - wire pp_15_65; - wire pp_16_65; - wire pp_17_65; - wire pp_18_65; - wire pp_19_65; - wire pp_20_65; - wire pp_21_65; - wire pp_22_65; - wire pp_23_65; - wire pp_24_65; - wire pp_25_65; - wire pp_26_65; - wire pp_27_65; - wire pp_28_65; - wire pp_29_65; - wire pp_30_65; - wire pp_31_65; - wire pp_32_65; - wire pp_1_66; - wire pp_2_66; - wire pp_3_66; - wire pp_4_66; - wire pp_5_66; - wire pp_6_66; - wire pp_7_66; - wire pp_8_66; - wire pp_9_66; - wire pp_10_66; - wire pp_11_66; - wire pp_12_66; - wire pp_13_66; - wire pp_14_66; - wire pp_15_66; - wire pp_16_66; - wire pp_17_66; - wire pp_18_66; - wire pp_19_66; - wire pp_20_66; - wire pp_21_66; - wire pp_22_66; - wire pp_23_66; - wire pp_24_66; - wire pp_25_66; - wire pp_26_66; - wire pp_27_66; - wire pp_28_66; - wire pp_29_66; - wire pp_30_66; - wire pp_31_66; - wire pp_32_66; - wire pp_2_67; - wire pp_3_67; - wire pp_4_67; - wire pp_5_67; - wire pp_6_67; - wire pp_7_67; - wire pp_8_67; - wire pp_9_67; - wire pp_10_67; - wire pp_11_67; - wire pp_12_67; - wire pp_13_67; - wire pp_14_67; - wire pp_15_67; - wire pp_16_67; - wire pp_17_67; - wire pp_18_67; - wire pp_19_67; - wire pp_20_67; - wire pp_21_67; - wire pp_22_67; - wire pp_23_67; - wire pp_24_67; - wire pp_25_67; - wire pp_26_67; - wire pp_27_67; - wire pp_28_67; - wire pp_29_67; - wire pp_30_67; - wire pp_31_67; - wire pp_32_67; - wire pp_2_68; - wire pp_3_68; - wire pp_4_68; - wire pp_5_68; - wire pp_6_68; - wire pp_7_68; - wire pp_8_68; - wire pp_9_68; - wire pp_10_68; - wire pp_11_68; - wire pp_12_68; - wire pp_13_68; - wire pp_14_68; - wire pp_15_68; - wire pp_16_68; - wire pp_17_68; - wire pp_18_68; - wire pp_19_68; - wire pp_20_68; - wire pp_21_68; - wire pp_22_68; - wire pp_23_68; - wire pp_24_68; - wire pp_25_68; - wire pp_26_68; - wire pp_27_68; - wire pp_28_68; - wire pp_29_68; - wire pp_30_68; - wire pp_31_68; - wire pp_32_68; - wire pp_3_69; - wire pp_4_69; - wire pp_5_69; - wire pp_6_69; - wire pp_7_69; - wire pp_8_69; - wire pp_9_69; - wire pp_10_69; - wire pp_11_69; - wire pp_12_69; - wire pp_13_69; - wire pp_14_69; - wire pp_15_69; - wire pp_16_69; - wire pp_17_69; - wire pp_18_69; - wire pp_19_69; - wire pp_20_69; - wire pp_21_69; - wire pp_22_69; - wire pp_23_69; - wire pp_24_69; - wire pp_25_69; - wire pp_26_69; - wire pp_27_69; - wire pp_28_69; - wire pp_29_69; - wire pp_30_69; - wire pp_31_69; - wire pp_32_69; - wire pp_3_70; - wire pp_4_70; - wire pp_5_70; - wire pp_6_70; - wire pp_7_70; - wire pp_8_70; - wire pp_9_70; - wire pp_10_70; - wire pp_11_70; - wire pp_12_70; - wire pp_13_70; - wire pp_14_70; - wire pp_15_70; - wire pp_16_70; - wire pp_17_70; - wire pp_18_70; - wire pp_19_70; - wire pp_20_70; - wire pp_21_70; - wire pp_22_70; - wire pp_23_70; - wire pp_24_70; - wire pp_25_70; - wire pp_26_70; - wire pp_27_70; - wire pp_28_70; - wire pp_29_70; - wire pp_30_70; - wire pp_31_70; - wire pp_32_70; - wire pp_4_71; - wire pp_5_71; - wire pp_6_71; - wire pp_7_71; - wire pp_8_71; - wire pp_9_71; - wire pp_10_71; - wire pp_11_71; - wire pp_12_71; - wire pp_13_71; - wire pp_14_71; - wire pp_15_71; - wire pp_16_71; - wire pp_17_71; - wire pp_18_71; - wire pp_19_71; - wire pp_20_71; - wire pp_21_71; - wire pp_22_71; - wire pp_23_71; - wire pp_24_71; - wire pp_25_71; - wire pp_26_71; - wire pp_27_71; - wire pp_28_71; - wire pp_29_71; - wire pp_30_71; - wire pp_31_71; - wire pp_32_71; - wire pp_4_72; - wire pp_5_72; - wire pp_6_72; - wire pp_7_72; - wire pp_8_72; - wire pp_9_72; - wire pp_10_72; - wire pp_11_72; - wire pp_12_72; - wire pp_13_72; - wire pp_14_72; - wire pp_15_72; - wire pp_16_72; - wire pp_17_72; - wire pp_18_72; - wire pp_19_72; - wire pp_20_72; - wire pp_21_72; - wire pp_22_72; - wire pp_23_72; - wire pp_24_72; - wire pp_25_72; - wire pp_26_72; - wire pp_27_72; - wire pp_28_72; - wire pp_29_72; - wire pp_30_72; - wire pp_31_72; - wire pp_32_72; - wire pp_5_73; - wire pp_6_73; - wire pp_7_73; - wire pp_8_73; - wire pp_9_73; - wire pp_10_73; - wire pp_11_73; - wire pp_12_73; - wire pp_13_73; - wire pp_14_73; - wire pp_15_73; - wire pp_16_73; - wire pp_17_73; - wire pp_18_73; - wire pp_19_73; - wire pp_20_73; - wire pp_21_73; - wire pp_22_73; - wire pp_23_73; - wire pp_24_73; - wire pp_25_73; - wire pp_26_73; - wire pp_27_73; - wire pp_28_73; - wire pp_29_73; - wire pp_30_73; - wire pp_31_73; - wire pp_32_73; - wire pp_5_74; - wire pp_6_74; - wire pp_7_74; - wire pp_8_74; - wire pp_9_74; - wire pp_10_74; - wire pp_11_74; - wire pp_12_74; - wire pp_13_74; - wire pp_14_74; - wire pp_15_74; - wire pp_16_74; - wire pp_17_74; - wire pp_18_74; - wire pp_19_74; - wire pp_20_74; - wire pp_21_74; - wire pp_22_74; - wire pp_23_74; - wire pp_24_74; - wire pp_25_74; - wire pp_26_74; - wire pp_27_74; - wire pp_28_74; - wire pp_29_74; - wire pp_30_74; - wire pp_31_74; - wire pp_32_74; - wire pp_6_75; - wire pp_7_75; - wire pp_8_75; - wire pp_9_75; - wire pp_10_75; - wire pp_11_75; - wire pp_12_75; - wire pp_13_75; - wire pp_14_75; - wire pp_15_75; - wire pp_16_75; - wire pp_17_75; - wire pp_18_75; - wire pp_19_75; - wire pp_20_75; - wire pp_21_75; - wire pp_22_75; - wire pp_23_75; - wire pp_24_75; - wire pp_25_75; - wire pp_26_75; - wire pp_27_75; - wire pp_28_75; - wire pp_29_75; - wire pp_30_75; - wire pp_31_75; - wire pp_32_75; - wire pp_6_76; - wire pp_7_76; - wire pp_8_76; - wire pp_9_76; - wire pp_10_76; - wire pp_11_76; - wire pp_12_76; - wire pp_13_76; - wire pp_14_76; - wire pp_15_76; - wire pp_16_76; - wire pp_17_76; - wire pp_18_76; - wire pp_19_76; - wire pp_20_76; - wire pp_21_76; - wire pp_22_76; - wire pp_23_76; - wire pp_24_76; - wire pp_25_76; - wire pp_26_76; - wire pp_27_76; - wire pp_28_76; - wire pp_29_76; - wire pp_30_76; - wire pp_31_76; - wire pp_32_76; - wire pp_7_77; - wire pp_8_77; - wire pp_9_77; - wire pp_10_77; - wire pp_11_77; - wire pp_12_77; - wire pp_13_77; - wire pp_14_77; - wire pp_15_77; - wire pp_16_77; - wire pp_17_77; - wire pp_18_77; - wire pp_19_77; - wire pp_20_77; - wire pp_21_77; - wire pp_22_77; - wire pp_23_77; - wire pp_24_77; - wire pp_25_77; - wire pp_26_77; - wire pp_27_77; - wire pp_28_77; - wire pp_29_77; - wire pp_30_77; - wire pp_31_77; - wire pp_32_77; - wire pp_7_78; - wire pp_8_78; - wire pp_9_78; - wire pp_10_78; - wire pp_11_78; - wire pp_12_78; - wire pp_13_78; - wire pp_14_78; - wire pp_15_78; - wire pp_16_78; - wire pp_17_78; - wire pp_18_78; - wire pp_19_78; - wire pp_20_78; - wire pp_21_78; - wire pp_22_78; - wire pp_23_78; - wire pp_24_78; - wire pp_25_78; - wire pp_26_78; - wire pp_27_78; - wire pp_28_78; - wire pp_29_78; - wire pp_30_78; - wire pp_31_78; - wire pp_32_78; - wire pp_8_79; - wire pp_9_79; - wire pp_10_79; - wire pp_11_79; - wire pp_12_79; - wire pp_13_79; - wire pp_14_79; - wire pp_15_79; - wire pp_16_79; - wire pp_17_79; - wire pp_18_79; - wire pp_19_79; - wire pp_20_79; - wire pp_21_79; - wire pp_22_79; - wire pp_23_79; - wire pp_24_79; - wire pp_25_79; - wire pp_26_79; - wire pp_27_79; - wire pp_28_79; - wire pp_29_79; - wire pp_30_79; - wire pp_31_79; - wire pp_32_79; - wire pp_8_80; - wire pp_9_80; - wire pp_10_80; - wire pp_11_80; - wire pp_12_80; - wire pp_13_80; - wire pp_14_80; - wire pp_15_80; - wire pp_16_80; - wire pp_17_80; - wire pp_18_80; - wire pp_19_80; - wire pp_20_80; - wire pp_21_80; - wire pp_22_80; - wire pp_23_80; - wire pp_24_80; - wire pp_25_80; - wire pp_26_80; - wire pp_27_80; - wire pp_28_80; - wire pp_29_80; - wire pp_30_80; - wire pp_31_80; - wire pp_32_80; - wire pp_9_81; - wire pp_10_81; - wire pp_11_81; - wire pp_12_81; - wire pp_13_81; - wire pp_14_81; - wire pp_15_81; - wire pp_16_81; - wire pp_17_81; - wire pp_18_81; - wire pp_19_81; - wire pp_20_81; - wire pp_21_81; - wire pp_22_81; - wire pp_23_81; - wire pp_24_81; - wire pp_25_81; - wire pp_26_81; - wire pp_27_81; - wire pp_28_81; - wire pp_29_81; - wire pp_30_81; - wire pp_31_81; - wire pp_32_81; - wire pp_9_82; - wire pp_10_82; - wire pp_11_82; - wire pp_12_82; - wire pp_13_82; - wire pp_14_82; - wire pp_15_82; - wire pp_16_82; - wire pp_17_82; - wire pp_18_82; - wire pp_19_82; - wire pp_20_82; - wire pp_21_82; - wire pp_22_82; - wire pp_23_82; - wire pp_24_82; - wire pp_25_82; - wire pp_26_82; - wire pp_27_82; - wire pp_28_82; - wire pp_29_82; - wire pp_30_82; - wire pp_31_82; - wire pp_32_82; - wire pp_10_83; - wire pp_11_83; - wire pp_12_83; - wire pp_13_83; - wire pp_14_83; - wire pp_15_83; - wire pp_16_83; - wire pp_17_83; - wire pp_18_83; - wire pp_19_83; - wire pp_20_83; - wire pp_21_83; - wire pp_22_83; - wire pp_23_83; - wire pp_24_83; - wire pp_25_83; - wire pp_26_83; - wire pp_27_83; - wire pp_28_83; - wire pp_29_83; - wire pp_30_83; - wire pp_31_83; - wire pp_32_83; - wire pp_10_84; - wire pp_11_84; - wire pp_12_84; - wire pp_13_84; - wire pp_14_84; - wire pp_15_84; - wire pp_16_84; - wire pp_17_84; - wire pp_18_84; - wire pp_19_84; - wire pp_20_84; - wire pp_21_84; - wire pp_22_84; - wire pp_23_84; - wire pp_24_84; - wire pp_25_84; - wire pp_26_84; - wire pp_27_84; - wire pp_28_84; - wire pp_29_84; - wire pp_30_84; - wire pp_31_84; - wire pp_32_84; - wire pp_11_85; - wire pp_12_85; - wire pp_13_85; - wire pp_14_85; - wire pp_15_85; - wire pp_16_85; - wire pp_17_85; - wire pp_18_85; - wire pp_19_85; - wire pp_20_85; - wire pp_21_85; - wire pp_22_85; - wire pp_23_85; - wire pp_24_85; - wire pp_25_85; - wire pp_26_85; - wire pp_27_85; - wire pp_28_85; - wire pp_29_85; - wire pp_30_85; - wire pp_31_85; - wire pp_32_85; - wire pp_11_86; - wire pp_12_86; - wire pp_13_86; - wire pp_14_86; - wire pp_15_86; - wire pp_16_86; - wire pp_17_86; - wire pp_18_86; - wire pp_19_86; - wire pp_20_86; - wire pp_21_86; - wire pp_22_86; - wire pp_23_86; - wire pp_24_86; - wire pp_25_86; - wire pp_26_86; - wire pp_27_86; - wire pp_28_86; - wire pp_29_86; - wire pp_30_86; - wire pp_31_86; - wire pp_32_86; - wire pp_12_87; - wire pp_13_87; - wire pp_14_87; - wire pp_15_87; - wire pp_16_87; - wire pp_17_87; - wire pp_18_87; - wire pp_19_87; - wire pp_20_87; - wire pp_21_87; - wire pp_22_87; - wire pp_23_87; - wire pp_24_87; - wire pp_25_87; - wire pp_26_87; - wire pp_27_87; - wire pp_28_87; - wire pp_29_87; - wire pp_30_87; - wire pp_31_87; - wire pp_32_87; - wire pp_12_88; - wire pp_13_88; - wire pp_14_88; - wire pp_15_88; - wire pp_16_88; - wire pp_17_88; - wire pp_18_88; - wire pp_19_88; - wire pp_20_88; - wire pp_21_88; - wire pp_22_88; - wire pp_23_88; - wire pp_24_88; - wire pp_25_88; - wire pp_26_88; - wire pp_27_88; - wire pp_28_88; - wire pp_29_88; - wire pp_30_88; - wire pp_31_88; - wire pp_32_88; - wire pp_13_89; - wire pp_14_89; - wire pp_15_89; - wire pp_16_89; - wire pp_17_89; - wire pp_18_89; - wire pp_19_89; - wire pp_20_89; - wire pp_21_89; - wire pp_22_89; - wire pp_23_89; - wire pp_24_89; - wire pp_25_89; - wire pp_26_89; - wire pp_27_89; - wire pp_28_89; - wire pp_29_89; - wire pp_30_89; - wire pp_31_89; - wire pp_32_89; - wire pp_13_90; - wire pp_14_90; - wire pp_15_90; - wire pp_16_90; - wire pp_17_90; - wire pp_18_90; - wire pp_19_90; - wire pp_20_90; - wire pp_21_90; - wire pp_22_90; - wire pp_23_90; - wire pp_24_90; - wire pp_25_90; - wire pp_26_90; - wire pp_27_90; - wire pp_28_90; - wire pp_29_90; - wire pp_30_90; - wire pp_31_90; - wire pp_32_90; - wire pp_14_91; - wire pp_15_91; - wire pp_16_91; - wire pp_17_91; - wire pp_18_91; - wire pp_19_91; - wire pp_20_91; - wire pp_21_91; - wire pp_22_91; - wire pp_23_91; - wire pp_24_91; - wire pp_25_91; - wire pp_26_91; - wire pp_27_91; - wire pp_28_91; - wire pp_29_91; - wire pp_30_91; - wire pp_31_91; - wire pp_32_91; - wire pp_14_92; - wire pp_15_92; - wire pp_16_92; - wire pp_17_92; - wire pp_18_92; - wire pp_19_92; - wire pp_20_92; - wire pp_21_92; - wire pp_22_92; - wire pp_23_92; - wire pp_24_92; - wire pp_25_92; - wire pp_26_92; - wire pp_27_92; - wire pp_28_92; - wire pp_29_92; - wire pp_30_92; - wire pp_31_92; - wire pp_32_92; - wire pp_15_93; - wire pp_16_93; - wire pp_17_93; - wire pp_18_93; - wire pp_19_93; - wire pp_20_93; - wire pp_21_93; - wire pp_22_93; - wire pp_23_93; - wire pp_24_93; - wire pp_25_93; - wire pp_26_93; - wire pp_27_93; - wire pp_28_93; - wire pp_29_93; - wire pp_30_93; - wire pp_31_93; - wire pp_32_93; - wire pp_15_94; - wire pp_16_94; - wire pp_17_94; - wire pp_18_94; - wire pp_19_94; - wire pp_20_94; - wire pp_21_94; - wire pp_22_94; - wire pp_23_94; - wire pp_24_94; - wire pp_25_94; - wire pp_26_94; - wire pp_27_94; - wire pp_28_94; - wire pp_29_94; - wire pp_30_94; - wire pp_31_94; - wire pp_32_94; - wire pp_16_95; - wire pp_17_95; - wire pp_18_95; - wire pp_19_95; - wire pp_20_95; - wire pp_21_95; - wire pp_22_95; - wire pp_23_95; - wire pp_24_95; - wire pp_25_95; - wire pp_26_95; - wire pp_27_95; - wire pp_28_95; - wire pp_29_95; - wire pp_30_95; - wire pp_31_95; - wire pp_32_95; - wire pp_16_96; - wire pp_17_96; - wire pp_18_96; - wire pp_19_96; - wire pp_20_96; - wire pp_21_96; - wire pp_22_96; - wire pp_23_96; - wire pp_24_96; - wire pp_25_96; - wire pp_26_96; - wire pp_27_96; - wire pp_28_96; - wire pp_29_96; - wire pp_30_96; - wire pp_31_96; - wire pp_32_96; - wire pp_17_97; - wire pp_18_97; - wire pp_19_97; - wire pp_20_97; - wire pp_21_97; - wire pp_22_97; - wire pp_23_97; - wire pp_24_97; - wire pp_25_97; - wire pp_26_97; - wire pp_27_97; - wire pp_28_97; - wire pp_29_97; - wire pp_30_97; - wire pp_31_97; - wire pp_32_97; - wire pp_17_98; - wire pp_18_98; - wire pp_19_98; - wire pp_20_98; - wire pp_21_98; - wire pp_22_98; - wire pp_23_98; - wire pp_24_98; - wire pp_25_98; - wire pp_26_98; - wire pp_27_98; - wire pp_28_98; - wire pp_29_98; - wire pp_30_98; - wire pp_31_98; - wire pp_32_98; - wire pp_18_99; - wire pp_19_99; - wire pp_20_99; - wire pp_21_99; - wire pp_22_99; - wire pp_23_99; - wire pp_24_99; - wire pp_25_99; - wire pp_26_99; - wire pp_27_99; - wire pp_28_99; - wire pp_29_99; - wire pp_30_99; - wire pp_31_99; - wire pp_32_99; - wire pp_18_100; - wire pp_19_100; - wire pp_20_100; - wire pp_21_100; - wire pp_22_100; - wire pp_23_100; - wire pp_24_100; - wire pp_25_100; - wire pp_26_100; - wire pp_27_100; - wire pp_28_100; - wire pp_29_100; - wire pp_30_100; - wire pp_31_100; - wire pp_32_100; - wire pp_19_101; - wire pp_20_101; - wire pp_21_101; - wire pp_22_101; - wire pp_23_101; - wire pp_24_101; - wire pp_25_101; - wire pp_26_101; - wire pp_27_101; - wire pp_28_101; - wire pp_29_101; - wire pp_30_101; - wire pp_31_101; - wire pp_32_101; - wire pp_19_102; - wire pp_20_102; - wire pp_21_102; - wire pp_22_102; - wire pp_23_102; - wire pp_24_102; - wire pp_25_102; - wire pp_26_102; - wire pp_27_102; - wire pp_28_102; - wire pp_29_102; - wire pp_30_102; - wire pp_31_102; - wire pp_32_102; - wire pp_20_103; - wire pp_21_103; - wire pp_22_103; - wire pp_23_103; - wire pp_24_103; - wire pp_25_103; - wire pp_26_103; - wire pp_27_103; - wire pp_28_103; - wire pp_29_103; - wire pp_30_103; - wire pp_31_103; - wire pp_32_103; - wire pp_20_104; - wire pp_21_104; - wire pp_22_104; - wire pp_23_104; - wire pp_24_104; - wire pp_25_104; - wire pp_26_104; - wire pp_27_104; - wire pp_28_104; - wire pp_29_104; - wire pp_30_104; - wire pp_31_104; - wire pp_32_104; - wire pp_21_105; - wire pp_22_105; - wire pp_23_105; - wire pp_24_105; - wire pp_25_105; - wire pp_26_105; - wire pp_27_105; - wire pp_28_105; - wire pp_29_105; - wire pp_30_105; - wire pp_31_105; - wire pp_32_105; - wire pp_21_106; - wire pp_22_106; - wire pp_23_106; - wire pp_24_106; - wire pp_25_106; - wire pp_26_106; - wire pp_27_106; - wire pp_28_106; - wire pp_29_106; - wire pp_30_106; - wire pp_31_106; - wire pp_32_106; - wire pp_22_107; - wire pp_23_107; - wire pp_24_107; - wire pp_25_107; - wire pp_26_107; - wire pp_27_107; - wire pp_28_107; - wire pp_29_107; - wire pp_30_107; - wire pp_31_107; - wire pp_32_107; - wire pp_22_108; - wire pp_23_108; - wire pp_24_108; - wire pp_25_108; - wire pp_26_108; - wire pp_27_108; - wire pp_28_108; - wire pp_29_108; - wire pp_30_108; - wire pp_31_108; - wire pp_32_108; - wire pp_23_109; - wire pp_24_109; - wire pp_25_109; - wire pp_26_109; - wire pp_27_109; - wire pp_28_109; - wire pp_29_109; - wire pp_30_109; - wire pp_31_109; - wire pp_32_109; - wire pp_23_110; - wire pp_24_110; - wire pp_25_110; - wire pp_26_110; - wire pp_27_110; - wire pp_28_110; - wire pp_29_110; - wire pp_30_110; - wire pp_31_110; - wire pp_32_110; - wire pp_24_111; - wire pp_25_111; - wire pp_26_111; - wire pp_27_111; - wire pp_28_111; - wire pp_29_111; - wire pp_30_111; - wire pp_31_111; - wire pp_32_111; - wire pp_24_112; - wire pp_25_112; - wire pp_26_112; - wire pp_27_112; - wire pp_28_112; - wire pp_29_112; - wire pp_30_112; - wire pp_31_112; - wire pp_32_112; - wire pp_25_113; - wire pp_26_113; - wire pp_27_113; - wire pp_28_113; - wire pp_29_113; - wire pp_30_113; - wire pp_31_113; - wire pp_32_113; - wire pp_25_114; - wire pp_26_114; - wire pp_27_114; - wire pp_28_114; - wire pp_29_114; - wire pp_30_114; - wire pp_31_114; - wire pp_32_114; - wire pp_26_115; - wire pp_27_115; - wire pp_28_115; - wire pp_29_115; - wire pp_30_115; - wire pp_31_115; - wire pp_32_115; - wire pp_26_116; - wire pp_27_116; - wire pp_28_116; - wire pp_29_116; - wire pp_30_116; - wire pp_31_116; - wire pp_32_116; - wire pp_27_117; - wire pp_28_117; - wire pp_29_117; - wire pp_30_117; - wire pp_31_117; - wire pp_32_117; - wire pp_27_118; - wire pp_28_118; - wire pp_29_118; - wire pp_30_118; - wire pp_31_118; - wire pp_32_118; - wire pp_28_119; - wire pp_29_119; - wire pp_30_119; - wire pp_31_119; - wire pp_32_119; - wire pp_28_120; - wire pp_29_120; - wire pp_30_120; - wire pp_31_120; - wire pp_32_120; - wire pp_29_121; - wire pp_30_121; - wire pp_31_121; - wire pp_32_121; - wire pp_29_122; - wire pp_30_122; - wire pp_31_122; - wire pp_32_122; - wire pp_30_123; - wire pp_31_123; - wire pp_32_123; - wire pp_30_124; - wire pp_31_124; - wire pp_32_124; - wire pp_31_125; - wire pp_32_125; - wire pp_31_126; - wire pp_32_126; - wire pp_32_127; - - // Below are the intermediate nets generated by the tree adders - wire int_0_2; - wire int_1_2; - wire int_0_3; - wire int_1_3; - wire int_0_4; - wire int_1_4; - wire int_2_4; - wire int_3_4; - wire int_0_5; - wire int_1_5; - wire int_2_5; - wire int_3_5; - wire int_0_6; - wire int_1_6; - wire int_2_6; - wire int_3_6; - wire int_4_6; - wire int_5_6; - wire int_0_7; - wire int_1_7; - wire int_2_7; - wire int_3_7; - wire int_4_7; - wire int_5_7; - wire int_0_8; - wire int_1_8; - wire int_2_8; - wire int_3_8; - wire int_4_8; - wire int_5_8; - wire int_6_8; - wire int_7_8; - wire int_0_9; - wire int_1_9; - wire int_2_9; - wire int_3_9; - wire int_4_9; - wire int_5_9; - wire int_6_9; - wire int_7_9; - wire int_0_10; - wire int_1_10; - wire int_2_10; - wire int_3_10; - wire int_4_10; - wire int_5_10; - wire int_6_10; - wire int_7_10; - wire int_8_10; - wire int_9_10; - wire int_0_11; - wire int_1_11; - wire int_2_11; - wire int_3_11; - wire int_4_11; - wire int_5_11; - wire int_6_11; - wire int_7_11; - wire int_8_11; - wire int_9_11; - wire int_0_12; - wire int_1_12; - wire int_2_12; - wire int_3_12; - wire int_4_12; - wire int_5_12; - wire int_6_12; - wire int_7_12; - wire int_8_12; - wire int_9_12; - wire int_10_12; - wire int_11_12; - wire int_0_13; - wire int_1_13; - wire int_2_13; - wire int_3_13; - wire int_4_13; - wire int_5_13; - wire int_6_13; - wire int_7_13; - wire int_8_13; - wire int_9_13; - wire int_10_13; - wire int_11_13; - wire int_0_14; - wire int_1_14; - wire int_2_14; - wire int_3_14; - wire int_4_14; - wire int_5_14; - wire int_6_14; - wire int_7_14; - wire int_8_14; - wire int_9_14; - wire int_10_14; - wire int_11_14; - wire int_12_14; - wire int_13_14; - wire int_0_15; - wire int_1_15; - wire int_2_15; - wire int_3_15; - wire int_4_15; - wire int_5_15; - wire int_6_15; - wire int_7_15; - wire int_8_15; - wire int_9_15; - wire int_10_15; - wire int_11_15; - wire int_12_15; - wire int_13_15; - wire int_0_16; - wire int_1_16; - wire int_2_16; - wire int_3_16; - wire int_4_16; - wire int_5_16; - wire int_6_16; - wire int_7_16; - wire int_8_16; - wire int_9_16; - wire int_10_16; - wire int_11_16; - wire int_12_16; - wire int_13_16; - wire int_14_16; - wire int_15_16; - wire int_0_17; - wire int_1_17; - wire int_2_17; - wire int_3_17; - wire int_4_17; - wire int_5_17; - wire int_6_17; - wire int_7_17; - wire int_8_17; - wire int_9_17; - wire int_10_17; - wire int_11_17; - wire int_12_17; - wire int_13_17; - wire int_14_17; - wire int_15_17; - wire int_0_18; - wire int_1_18; - wire int_2_18; - wire int_3_18; - wire int_4_18; - wire int_5_18; - wire int_6_18; - wire int_7_18; - wire int_8_18; - wire int_9_18; - wire int_10_18; - wire int_11_18; - wire int_12_18; - wire int_13_18; - wire int_14_18; - wire int_15_18; - wire int_16_18; - wire int_17_18; - wire int_0_19; - wire int_1_19; - wire int_2_19; - wire int_3_19; - wire int_4_19; - wire int_5_19; - wire int_6_19; - wire int_7_19; - wire int_8_19; - wire int_9_19; - wire int_10_19; - wire int_11_19; - wire int_12_19; - wire int_13_19; - wire int_14_19; - wire int_15_19; - wire int_16_19; - wire int_17_19; - wire int_0_20; - wire int_1_20; - wire int_2_20; - wire int_3_20; - wire int_4_20; - wire int_5_20; - wire int_6_20; - wire int_7_20; - wire int_8_20; - wire int_9_20; - wire int_10_20; - wire int_11_20; - wire int_12_20; - wire int_13_20; - wire int_14_20; - wire int_15_20; - wire int_16_20; - wire int_17_20; - wire int_18_20; - wire int_19_20; - wire int_0_21; - wire int_1_21; - wire int_2_21; - wire int_3_21; - wire int_4_21; - wire int_5_21; - wire int_6_21; - wire int_7_21; - wire int_8_21; - wire int_9_21; - wire int_10_21; - wire int_11_21; - wire int_12_21; - wire int_13_21; - wire int_14_21; - wire int_15_21; - wire int_16_21; - wire int_17_21; - wire int_18_21; - wire int_19_21; - wire int_0_22; - wire int_1_22; - wire int_2_22; - wire int_3_22; - wire int_4_22; - wire int_5_22; - wire int_6_22; - wire int_7_22; - wire int_8_22; - wire int_9_22; - wire int_10_22; - wire int_11_22; - wire int_12_22; - wire int_13_22; - wire int_14_22; - wire int_15_22; - wire int_16_22; - wire int_17_22; - wire int_18_22; - wire int_19_22; - wire int_20_22; - wire int_21_22; - wire int_0_23; - wire int_1_23; - wire int_2_23; - wire int_3_23; - wire int_4_23; - wire int_5_23; - wire int_6_23; - wire int_7_23; - wire int_8_23; - wire int_9_23; - wire int_10_23; - wire int_11_23; - wire int_12_23; - wire int_13_23; - wire int_14_23; - wire int_15_23; - wire int_16_23; - wire int_17_23; - wire int_18_23; - wire int_19_23; - wire int_20_23; - wire int_21_23; - wire int_0_24; - wire int_1_24; - wire int_2_24; - wire int_3_24; - wire int_4_24; - wire int_5_24; - wire int_6_24; - wire int_7_24; - wire int_8_24; - wire int_9_24; - wire int_10_24; - wire int_11_24; - wire int_12_24; - wire int_13_24; - wire int_14_24; - wire int_15_24; - wire int_16_24; - wire int_17_24; - wire int_18_24; - wire int_19_24; - wire int_20_24; - wire int_21_24; - wire int_22_24; - wire int_23_24; - wire int_0_25; - wire int_1_25; - wire int_2_25; - wire int_3_25; - wire int_4_25; - wire int_5_25; - wire int_6_25; - wire int_7_25; - wire int_8_25; - wire int_9_25; - wire int_10_25; - wire int_11_25; - wire int_12_25; - wire int_13_25; - wire int_14_25; - wire int_15_25; - wire int_16_25; - wire int_17_25; - wire int_18_25; - wire int_19_25; - wire int_20_25; - wire int_21_25; - wire int_22_25; - wire int_23_25; - wire int_0_26; - wire int_1_26; - wire int_2_26; - wire int_3_26; - wire int_4_26; - wire int_5_26; - wire int_6_26; - wire int_7_26; - wire int_8_26; - wire int_9_26; - wire int_10_26; - wire int_11_26; - wire int_12_26; - wire int_13_26; - wire int_14_26; - wire int_15_26; - wire int_16_26; - wire int_17_26; - wire int_18_26; - wire int_19_26; - wire int_20_26; - wire int_21_26; - wire int_22_26; - wire int_23_26; - wire int_24_26; - wire int_25_26; - wire int_0_27; - wire int_1_27; - wire int_2_27; - wire int_3_27; - wire int_4_27; - wire int_5_27; - wire int_6_27; - wire int_7_27; - wire int_8_27; - wire int_9_27; - wire int_10_27; - wire int_11_27; - wire int_12_27; - wire int_13_27; - wire int_14_27; - wire int_15_27; - wire int_16_27; - wire int_17_27; - wire int_18_27; - wire int_19_27; - wire int_20_27; - wire int_21_27; - wire int_22_27; - wire int_23_27; - wire int_24_27; - wire int_25_27; - wire int_0_28; - wire int_1_28; - wire int_2_28; - wire int_3_28; - wire int_4_28; - wire int_5_28; - wire int_6_28; - wire int_7_28; - wire int_8_28; - wire int_9_28; - wire int_10_28; - wire int_11_28; - wire int_12_28; - wire int_13_28; - wire int_14_28; - wire int_15_28; - wire int_16_28; - wire int_17_28; - wire int_18_28; - wire int_19_28; - wire int_20_28; - wire int_21_28; - wire int_22_28; - wire int_23_28; - wire int_24_28; - wire int_25_28; - wire int_26_28; - wire int_27_28; - wire int_0_29; - wire int_1_29; - wire int_2_29; - wire int_3_29; - wire int_4_29; - wire int_5_29; - wire int_6_29; - wire int_7_29; - wire int_8_29; - wire int_9_29; - wire int_10_29; - wire int_11_29; - wire int_12_29; - wire int_13_29; - wire int_14_29; - wire int_15_29; - wire int_16_29; - wire int_17_29; - wire int_18_29; - wire int_19_29; - wire int_20_29; - wire int_21_29; - wire int_22_29; - wire int_23_29; - wire int_24_29; - wire int_25_29; - wire int_26_29; - wire int_27_29; - wire int_0_30; - wire int_1_30; - wire int_2_30; - wire int_3_30; - wire int_4_30; - wire int_5_30; - wire int_6_30; - wire int_7_30; - wire int_8_30; - wire int_9_30; - wire int_10_30; - wire int_11_30; - wire int_12_30; - wire int_13_30; - wire int_14_30; - wire int_15_30; - wire int_16_30; - wire int_17_30; - wire int_18_30; - wire int_19_30; - wire int_20_30; - wire int_21_30; - wire int_22_30; - wire int_23_30; - wire int_24_30; - wire int_25_30; - wire int_26_30; - wire int_27_30; - wire int_28_30; - wire int_29_30; - wire int_0_31; - wire int_1_31; - wire int_2_31; - wire int_3_31; - wire int_4_31; - wire int_5_31; - wire int_6_31; - wire int_7_31; - wire int_8_31; - wire int_9_31; - wire int_10_31; - wire int_11_31; - wire int_12_31; - wire int_13_31; - wire int_14_31; - wire int_15_31; - wire int_16_31; - wire int_17_31; - wire int_18_31; - wire int_19_31; - wire int_20_31; - wire int_21_31; - wire int_22_31; - wire int_23_31; - wire int_24_31; - wire int_25_31; - wire int_26_31; - wire int_27_31; - wire int_28_31; - wire int_29_31; - wire int_0_32; - wire int_1_32; - wire int_2_32; - wire int_3_32; - wire int_4_32; - wire int_5_32; - wire int_6_32; - wire int_7_32; - wire int_8_32; - wire int_9_32; - wire int_10_32; - wire int_11_32; - wire int_12_32; - wire int_13_32; - wire int_14_32; - wire int_15_32; - wire int_16_32; - wire int_17_32; - wire int_18_32; - wire int_19_32; - wire int_20_32; - wire int_21_32; - wire int_22_32; - wire int_23_32; - wire int_24_32; - wire int_25_32; - wire int_26_32; - wire int_27_32; - wire int_28_32; - wire int_29_32; - wire int_30_32; - wire int_31_32; - wire int_0_33; - wire int_1_33; - wire int_2_33; - wire int_3_33; - wire int_4_33; - wire int_5_33; - wire int_6_33; - wire int_7_33; - wire int_8_33; - wire int_9_33; - wire int_10_33; - wire int_11_33; - wire int_12_33; - wire int_13_33; - wire int_14_33; - wire int_15_33; - wire int_16_33; - wire int_17_33; - wire int_18_33; - wire int_19_33; - wire int_20_33; - wire int_21_33; - wire int_22_33; - wire int_23_33; - wire int_24_33; - wire int_25_33; - wire int_26_33; - wire int_27_33; - wire int_28_33; - wire int_29_33; - wire int_30_33; - wire int_31_33; - wire int_0_34; - wire int_1_34; - wire int_2_34; - wire int_3_34; - wire int_4_34; - wire int_5_34; - wire int_6_34; - wire int_7_34; - wire int_8_34; - wire int_9_34; - wire int_10_34; - wire int_11_34; - wire int_12_34; - wire int_13_34; - wire int_14_34; - wire int_15_34; - wire int_16_34; - wire int_17_34; - wire int_18_34; - wire int_19_34; - wire int_20_34; - wire int_21_34; - wire int_22_34; - wire int_23_34; - wire int_24_34; - wire int_25_34; - wire int_26_34; - wire int_27_34; - wire int_28_34; - wire int_29_34; - wire int_30_34; - wire int_31_34; - wire int_32_34; - wire int_33_34; - wire int_0_35; - wire int_1_35; - wire int_2_35; - wire int_3_35; - wire int_4_35; - wire int_5_35; - wire int_6_35; - wire int_7_35; - wire int_8_35; - wire int_9_35; - wire int_10_35; - wire int_11_35; - wire int_12_35; - wire int_13_35; - wire int_14_35; - wire int_15_35; - wire int_16_35; - wire int_17_35; - wire int_18_35; - wire int_19_35; - wire int_20_35; - wire int_21_35; - wire int_22_35; - wire int_23_35; - wire int_24_35; - wire int_25_35; - wire int_26_35; - wire int_27_35; - wire int_28_35; - wire int_29_35; - wire int_30_35; - wire int_31_35; - wire int_32_35; - wire int_33_35; - wire int_0_36; - wire int_1_36; - wire int_2_36; - wire int_3_36; - wire int_4_36; - wire int_5_36; - wire int_6_36; - wire int_7_36; - wire int_8_36; - wire int_9_36; - wire int_10_36; - wire int_11_36; - wire int_12_36; - wire int_13_36; - wire int_14_36; - wire int_15_36; - wire int_16_36; - wire int_17_36; - wire int_18_36; - wire int_19_36; - wire int_20_36; - wire int_21_36; - wire int_22_36; - wire int_23_36; - wire int_24_36; - wire int_25_36; - wire int_26_36; - wire int_27_36; - wire int_28_36; - wire int_29_36; - wire int_30_36; - wire int_31_36; - wire int_32_36; - wire int_33_36; - wire int_34_36; - wire int_35_36; - wire int_0_37; - wire int_1_37; - wire int_2_37; - wire int_3_37; - wire int_4_37; - wire int_5_37; - wire int_6_37; - wire int_7_37; - wire int_8_37; - wire int_9_37; - wire int_10_37; - wire int_11_37; - wire int_12_37; - wire int_13_37; - wire int_14_37; - wire int_15_37; - wire int_16_37; - wire int_17_37; - wire int_18_37; - wire int_19_37; - wire int_20_37; - wire int_21_37; - wire int_22_37; - wire int_23_37; - wire int_24_37; - wire int_25_37; - wire int_26_37; - wire int_27_37; - wire int_28_37; - wire int_29_37; - wire int_30_37; - wire int_31_37; - wire int_32_37; - wire int_33_37; - wire int_34_37; - wire int_35_37; - wire int_0_38; - wire int_1_38; - wire int_2_38; - wire int_3_38; - wire int_4_38; - wire int_5_38; - wire int_6_38; - wire int_7_38; - wire int_8_38; - wire int_9_38; - wire int_10_38; - wire int_11_38; - wire int_12_38; - wire int_13_38; - wire int_14_38; - wire int_15_38; - wire int_16_38; - wire int_17_38; - wire int_18_38; - wire int_19_38; - wire int_20_38; - wire int_21_38; - wire int_22_38; - wire int_23_38; - wire int_24_38; - wire int_25_38; - wire int_26_38; - wire int_27_38; - wire int_28_38; - wire int_29_38; - wire int_30_38; - wire int_31_38; - wire int_32_38; - wire int_33_38; - wire int_34_38; - wire int_35_38; - wire int_36_38; - wire int_37_38; - wire int_0_39; - wire int_1_39; - wire int_2_39; - wire int_3_39; - wire int_4_39; - wire int_5_39; - wire int_6_39; - wire int_7_39; - wire int_8_39; - wire int_9_39; - wire int_10_39; - wire int_11_39; - wire int_12_39; - wire int_13_39; - wire int_14_39; - wire int_15_39; - wire int_16_39; - wire int_17_39; - wire int_18_39; - wire int_19_39; - wire int_20_39; - wire int_21_39; - wire int_22_39; - wire int_23_39; - wire int_24_39; - wire int_25_39; - wire int_26_39; - wire int_27_39; - wire int_28_39; - wire int_29_39; - wire int_30_39; - wire int_31_39; - wire int_32_39; - wire int_33_39; - wire int_34_39; - wire int_35_39; - wire int_36_39; - wire int_37_39; - wire int_0_40; - wire int_1_40; - wire int_2_40; - wire int_3_40; - wire int_4_40; - wire int_5_40; - wire int_6_40; - wire int_7_40; - wire int_8_40; - wire int_9_40; - wire int_10_40; - wire int_11_40; - wire int_12_40; - wire int_13_40; - wire int_14_40; - wire int_15_40; - wire int_16_40; - wire int_17_40; - wire int_18_40; - wire int_19_40; - wire int_20_40; - wire int_21_40; - wire int_22_40; - wire int_23_40; - wire int_24_40; - wire int_25_40; - wire int_26_40; - wire int_27_40; - wire int_28_40; - wire int_29_40; - wire int_30_40; - wire int_31_40; - wire int_32_40; - wire int_33_40; - wire int_34_40; - wire int_35_40; - wire int_36_40; - wire int_37_40; - wire int_38_40; - wire int_39_40; - wire int_0_41; - wire int_1_41; - wire int_2_41; - wire int_3_41; - wire int_4_41; - wire int_5_41; - wire int_6_41; - wire int_7_41; - wire int_8_41; - wire int_9_41; - wire int_10_41; - wire int_11_41; - wire int_12_41; - wire int_13_41; - wire int_14_41; - wire int_15_41; - wire int_16_41; - wire int_17_41; - wire int_18_41; - wire int_19_41; - wire int_20_41; - wire int_21_41; - wire int_22_41; - wire int_23_41; - wire int_24_41; - wire int_25_41; - wire int_26_41; - wire int_27_41; - wire int_28_41; - wire int_29_41; - wire int_30_41; - wire int_31_41; - wire int_32_41; - wire int_33_41; - wire int_34_41; - wire int_35_41; - wire int_36_41; - wire int_37_41; - wire int_38_41; - wire int_39_41; - wire int_0_42; - wire int_1_42; - wire int_2_42; - wire int_3_42; - wire int_4_42; - wire int_5_42; - wire int_6_42; - wire int_7_42; - wire int_8_42; - wire int_9_42; - wire int_10_42; - wire int_11_42; - wire int_12_42; - wire int_13_42; - wire int_14_42; - wire int_15_42; - wire int_16_42; - wire int_17_42; - wire int_18_42; - wire int_19_42; - wire int_20_42; - wire int_21_42; - wire int_22_42; - wire int_23_42; - wire int_24_42; - wire int_25_42; - wire int_26_42; - wire int_27_42; - wire int_28_42; - wire int_29_42; - wire int_30_42; - wire int_31_42; - wire int_32_42; - wire int_33_42; - wire int_34_42; - wire int_35_42; - wire int_36_42; - wire int_37_42; - wire int_38_42; - wire int_39_42; - wire int_40_42; - wire int_41_42; - wire int_0_43; - wire int_1_43; - wire int_2_43; - wire int_3_43; - wire int_4_43; - wire int_5_43; - wire int_6_43; - wire int_7_43; - wire int_8_43; - wire int_9_43; - wire int_10_43; - wire int_11_43; - wire int_12_43; - wire int_13_43; - wire int_14_43; - wire int_15_43; - wire int_16_43; - wire int_17_43; - wire int_18_43; - wire int_19_43; - wire int_20_43; - wire int_21_43; - wire int_22_43; - wire int_23_43; - wire int_24_43; - wire int_25_43; - wire int_26_43; - wire int_27_43; - wire int_28_43; - wire int_29_43; - wire int_30_43; - wire int_31_43; - wire int_32_43; - wire int_33_43; - wire int_34_43; - wire int_35_43; - wire int_36_43; - wire int_37_43; - wire int_38_43; - wire int_39_43; - wire int_40_43; - wire int_41_43; - wire int_0_44; - wire int_1_44; - wire int_2_44; - wire int_3_44; - wire int_4_44; - wire int_5_44; - wire int_6_44; - wire int_7_44; - wire int_8_44; - wire int_9_44; - wire int_10_44; - wire int_11_44; - wire int_12_44; - wire int_13_44; - wire int_14_44; - wire int_15_44; - wire int_16_44; - wire int_17_44; - wire int_18_44; - wire int_19_44; - wire int_20_44; - wire int_21_44; - wire int_22_44; - wire int_23_44; - wire int_24_44; - wire int_25_44; - wire int_26_44; - wire int_27_44; - wire int_28_44; - wire int_29_44; - wire int_30_44; - wire int_31_44; - wire int_32_44; - wire int_33_44; - wire int_34_44; - wire int_35_44; - wire int_36_44; - wire int_37_44; - wire int_38_44; - wire int_39_44; - wire int_40_44; - wire int_41_44; - wire int_42_44; - wire int_43_44; - wire int_0_45; - wire int_1_45; - wire int_2_45; - wire int_3_45; - wire int_4_45; - wire int_5_45; - wire int_6_45; - wire int_7_45; - wire int_8_45; - wire int_9_45; - wire int_10_45; - wire int_11_45; - wire int_12_45; - wire int_13_45; - wire int_14_45; - wire int_15_45; - wire int_16_45; - wire int_17_45; - wire int_18_45; - wire int_19_45; - wire int_20_45; - wire int_21_45; - wire int_22_45; - wire int_23_45; - wire int_24_45; - wire int_25_45; - wire int_26_45; - wire int_27_45; - wire int_28_45; - wire int_29_45; - wire int_30_45; - wire int_31_45; - wire int_32_45; - wire int_33_45; - wire int_34_45; - wire int_35_45; - wire int_36_45; - wire int_37_45; - wire int_38_45; - wire int_39_45; - wire int_40_45; - wire int_41_45; - wire int_42_45; - wire int_43_45; - wire int_0_46; - wire int_1_46; - wire int_2_46; - wire int_3_46; - wire int_4_46; - wire int_5_46; - wire int_6_46; - wire int_7_46; - wire int_8_46; - wire int_9_46; - wire int_10_46; - wire int_11_46; - wire int_12_46; - wire int_13_46; - wire int_14_46; - wire int_15_46; - wire int_16_46; - wire int_17_46; - wire int_18_46; - wire int_19_46; - wire int_20_46; - wire int_21_46; - wire int_22_46; - wire int_23_46; - wire int_24_46; - wire int_25_46; - wire int_26_46; - wire int_27_46; - wire int_28_46; - wire int_29_46; - wire int_30_46; - wire int_31_46; - wire int_32_46; - wire int_33_46; - wire int_34_46; - wire int_35_46; - wire int_36_46; - wire int_37_46; - wire int_38_46; - wire int_39_46; - wire int_40_46; - wire int_41_46; - wire int_42_46; - wire int_43_46; - wire int_44_46; - wire int_45_46; - wire int_0_47; - wire int_1_47; - wire int_2_47; - wire int_3_47; - wire int_4_47; - wire int_5_47; - wire int_6_47; - wire int_7_47; - wire int_8_47; - wire int_9_47; - wire int_10_47; - wire int_11_47; - wire int_12_47; - wire int_13_47; - wire int_14_47; - wire int_15_47; - wire int_16_47; - wire int_17_47; - wire int_18_47; - wire int_19_47; - wire int_20_47; - wire int_21_47; - wire int_22_47; - wire int_23_47; - wire int_24_47; - wire int_25_47; - wire int_26_47; - wire int_27_47; - wire int_28_47; - wire int_29_47; - wire int_30_47; - wire int_31_47; - wire int_32_47; - wire int_33_47; - wire int_34_47; - wire int_35_47; - wire int_36_47; - wire int_37_47; - wire int_38_47; - wire int_39_47; - wire int_40_47; - wire int_41_47; - wire int_42_47; - wire int_43_47; - wire int_44_47; - wire int_45_47; - wire int_0_48; - wire int_1_48; - wire int_2_48; - wire int_3_48; - wire int_4_48; - wire int_5_48; - wire int_6_48; - wire int_7_48; - wire int_8_48; - wire int_9_48; - wire int_10_48; - wire int_11_48; - wire int_12_48; - wire int_13_48; - wire int_14_48; - wire int_15_48; - wire int_16_48; - wire int_17_48; - wire int_18_48; - wire int_19_48; - wire int_20_48; - wire int_21_48; - wire int_22_48; - wire int_23_48; - wire int_24_48; - wire int_25_48; - wire int_26_48; - wire int_27_48; - wire int_28_48; - wire int_29_48; - wire int_30_48; - wire int_31_48; - wire int_32_48; - wire int_33_48; - wire int_34_48; - wire int_35_48; - wire int_36_48; - wire int_37_48; - wire int_38_48; - wire int_39_48; - wire int_40_48; - wire int_41_48; - wire int_42_48; - wire int_43_48; - wire int_44_48; - wire int_45_48; - wire int_46_48; - wire int_47_48; - wire int_0_49; - wire int_1_49; - wire int_2_49; - wire int_3_49; - wire int_4_49; - wire int_5_49; - wire int_6_49; - wire int_7_49; - wire int_8_49; - wire int_9_49; - wire int_10_49; - wire int_11_49; - wire int_12_49; - wire int_13_49; - wire int_14_49; - wire int_15_49; - wire int_16_49; - wire int_17_49; - wire int_18_49; - wire int_19_49; - wire int_20_49; - wire int_21_49; - wire int_22_49; - wire int_23_49; - wire int_24_49; - wire int_25_49; - wire int_26_49; - wire int_27_49; - wire int_28_49; - wire int_29_49; - wire int_30_49; - wire int_31_49; - wire int_32_49; - wire int_33_49; - wire int_34_49; - wire int_35_49; - wire int_36_49; - wire int_37_49; - wire int_38_49; - wire int_39_49; - wire int_40_49; - wire int_41_49; - wire int_42_49; - wire int_43_49; - wire int_44_49; - wire int_45_49; - wire int_46_49; - wire int_47_49; - wire int_0_50; - wire int_1_50; - wire int_2_50; - wire int_3_50; - wire int_4_50; - wire int_5_50; - wire int_6_50; - wire int_7_50; - wire int_8_50; - wire int_9_50; - wire int_10_50; - wire int_11_50; - wire int_12_50; - wire int_13_50; - wire int_14_50; - wire int_15_50; - wire int_16_50; - wire int_17_50; - wire int_18_50; - wire int_19_50; - wire int_20_50; - wire int_21_50; - wire int_22_50; - wire int_23_50; - wire int_24_50; - wire int_25_50; - wire int_26_50; - wire int_27_50; - wire int_28_50; - wire int_29_50; - wire int_30_50; - wire int_31_50; - wire int_32_50; - wire int_33_50; - wire int_34_50; - wire int_35_50; - wire int_36_50; - wire int_37_50; - wire int_38_50; - wire int_39_50; - wire int_40_50; - wire int_41_50; - wire int_42_50; - wire int_43_50; - wire int_44_50; - wire int_45_50; - wire int_46_50; - wire int_47_50; - wire int_48_50; - wire int_49_50; - wire int_0_51; - wire int_1_51; - wire int_2_51; - wire int_3_51; - wire int_4_51; - wire int_5_51; - wire int_6_51; - wire int_7_51; - wire int_8_51; - wire int_9_51; - wire int_10_51; - wire int_11_51; - wire int_12_51; - wire int_13_51; - wire int_14_51; - wire int_15_51; - wire int_16_51; - wire int_17_51; - wire int_18_51; - wire int_19_51; - wire int_20_51; - wire int_21_51; - wire int_22_51; - wire int_23_51; - wire int_24_51; - wire int_25_51; - wire int_26_51; - wire int_27_51; - wire int_28_51; - wire int_29_51; - wire int_30_51; - wire int_31_51; - wire int_32_51; - wire int_33_51; - wire int_34_51; - wire int_35_51; - wire int_36_51; - wire int_37_51; - wire int_38_51; - wire int_39_51; - wire int_40_51; - wire int_41_51; - wire int_42_51; - wire int_43_51; - wire int_44_51; - wire int_45_51; - wire int_46_51; - wire int_47_51; - wire int_48_51; - wire int_49_51; - wire int_0_52; - wire int_1_52; - wire int_2_52; - wire int_3_52; - wire int_4_52; - wire int_5_52; - wire int_6_52; - wire int_7_52; - wire int_8_52; - wire int_9_52; - wire int_10_52; - wire int_11_52; - wire int_12_52; - wire int_13_52; - wire int_14_52; - wire int_15_52; - wire int_16_52; - wire int_17_52; - wire int_18_52; - wire int_19_52; - wire int_20_52; - wire int_21_52; - wire int_22_52; - wire int_23_52; - wire int_24_52; - wire int_25_52; - wire int_26_52; - wire int_27_52; - wire int_28_52; - wire int_29_52; - wire int_30_52; - wire int_31_52; - wire int_32_52; - wire int_33_52; - wire int_34_52; - wire int_35_52; - wire int_36_52; - wire int_37_52; - wire int_38_52; - wire int_39_52; - wire int_40_52; - wire int_41_52; - wire int_42_52; - wire int_43_52; - wire int_44_52; - wire int_45_52; - wire int_46_52; - wire int_47_52; - wire int_48_52; - wire int_49_52; - wire int_50_52; - wire int_51_52; - wire int_0_53; - wire int_1_53; - wire int_2_53; - wire int_3_53; - wire int_4_53; - wire int_5_53; - wire int_6_53; - wire int_7_53; - wire int_8_53; - wire int_9_53; - wire int_10_53; - wire int_11_53; - wire int_12_53; - wire int_13_53; - wire int_14_53; - wire int_15_53; - wire int_16_53; - wire int_17_53; - wire int_18_53; - wire int_19_53; - wire int_20_53; - wire int_21_53; - wire int_22_53; - wire int_23_53; - wire int_24_53; - wire int_25_53; - wire int_26_53; - wire int_27_53; - wire int_28_53; - wire int_29_53; - wire int_30_53; - wire int_31_53; - wire int_32_53; - wire int_33_53; - wire int_34_53; - wire int_35_53; - wire int_36_53; - wire int_37_53; - wire int_38_53; - wire int_39_53; - wire int_40_53; - wire int_41_53; - wire int_42_53; - wire int_43_53; - wire int_44_53; - wire int_45_53; - wire int_46_53; - wire int_47_53; - wire int_48_53; - wire int_49_53; - wire int_50_53; - wire int_51_53; - wire int_0_54; - wire int_1_54; - wire int_2_54; - wire int_3_54; - wire int_4_54; - wire int_5_54; - wire int_6_54; - wire int_7_54; - wire int_8_54; - wire int_9_54; - wire int_10_54; - wire int_11_54; - wire int_12_54; - wire int_13_54; - wire int_14_54; - wire int_15_54; - wire int_16_54; - wire int_17_54; - wire int_18_54; - wire int_19_54; - wire int_20_54; - wire int_21_54; - wire int_22_54; - wire int_23_54; - wire int_24_54; - wire int_25_54; - wire int_26_54; - wire int_27_54; - wire int_28_54; - wire int_29_54; - wire int_30_54; - wire int_31_54; - wire int_32_54; - wire int_33_54; - wire int_34_54; - wire int_35_54; - wire int_36_54; - wire int_37_54; - wire int_38_54; - wire int_39_54; - wire int_40_54; - wire int_41_54; - wire int_42_54; - wire int_43_54; - wire int_44_54; - wire int_45_54; - wire int_46_54; - wire int_47_54; - wire int_48_54; - wire int_49_54; - wire int_50_54; - wire int_51_54; - wire int_52_54; - wire int_53_54; - wire int_0_55; - wire int_1_55; - wire int_2_55; - wire int_3_55; - wire int_4_55; - wire int_5_55; - wire int_6_55; - wire int_7_55; - wire int_8_55; - wire int_9_55; - wire int_10_55; - wire int_11_55; - wire int_12_55; - wire int_13_55; - wire int_14_55; - wire int_15_55; - wire int_16_55; - wire int_17_55; - wire int_18_55; - wire int_19_55; - wire int_20_55; - wire int_21_55; - wire int_22_55; - wire int_23_55; - wire int_24_55; - wire int_25_55; - wire int_26_55; - wire int_27_55; - wire int_28_55; - wire int_29_55; - wire int_30_55; - wire int_31_55; - wire int_32_55; - wire int_33_55; - wire int_34_55; - wire int_35_55; - wire int_36_55; - wire int_37_55; - wire int_38_55; - wire int_39_55; - wire int_40_55; - wire int_41_55; - wire int_42_55; - wire int_43_55; - wire int_44_55; - wire int_45_55; - wire int_46_55; - wire int_47_55; - wire int_48_55; - wire int_49_55; - wire int_50_55; - wire int_51_55; - wire int_52_55; - wire int_53_55; - wire int_0_56; - wire int_1_56; - wire int_2_56; - wire int_3_56; - wire int_4_56; - wire int_5_56; - wire int_6_56; - wire int_7_56; - wire int_8_56; - wire int_9_56; - wire int_10_56; - wire int_11_56; - wire int_12_56; - wire int_13_56; - wire int_14_56; - wire int_15_56; - wire int_16_56; - wire int_17_56; - wire int_18_56; - wire int_19_56; - wire int_20_56; - wire int_21_56; - wire int_22_56; - wire int_23_56; - wire int_24_56; - wire int_25_56; - wire int_26_56; - wire int_27_56; - wire int_28_56; - wire int_29_56; - wire int_30_56; - wire int_31_56; - wire int_32_56; - wire int_33_56; - wire int_34_56; - wire int_35_56; - wire int_36_56; - wire int_37_56; - wire int_38_56; - wire int_39_56; - wire int_40_56; - wire int_41_56; - wire int_42_56; - wire int_43_56; - wire int_44_56; - wire int_45_56; - wire int_46_56; - wire int_47_56; - wire int_48_56; - wire int_49_56; - wire int_50_56; - wire int_51_56; - wire int_52_56; - wire int_53_56; - wire int_54_56; - wire int_55_56; - wire int_0_57; - wire int_1_57; - wire int_2_57; - wire int_3_57; - wire int_4_57; - wire int_5_57; - wire int_6_57; - wire int_7_57; - wire int_8_57; - wire int_9_57; - wire int_10_57; - wire int_11_57; - wire int_12_57; - wire int_13_57; - wire int_14_57; - wire int_15_57; - wire int_16_57; - wire int_17_57; - wire int_18_57; - wire int_19_57; - wire int_20_57; - wire int_21_57; - wire int_22_57; - wire int_23_57; - wire int_24_57; - wire int_25_57; - wire int_26_57; - wire int_27_57; - wire int_28_57; - wire int_29_57; - wire int_30_57; - wire int_31_57; - wire int_32_57; - wire int_33_57; - wire int_34_57; - wire int_35_57; - wire int_36_57; - wire int_37_57; - wire int_38_57; - wire int_39_57; - wire int_40_57; - wire int_41_57; - wire int_42_57; - wire int_43_57; - wire int_44_57; - wire int_45_57; - wire int_46_57; - wire int_47_57; - wire int_48_57; - wire int_49_57; - wire int_50_57; - wire int_51_57; - wire int_52_57; - wire int_53_57; - wire int_54_57; - wire int_55_57; - wire int_0_58; - wire int_1_58; - wire int_2_58; - wire int_3_58; - wire int_4_58; - wire int_5_58; - wire int_6_58; - wire int_7_58; - wire int_8_58; - wire int_9_58; - wire int_10_58; - wire int_11_58; - wire int_12_58; - wire int_13_58; - wire int_14_58; - wire int_15_58; - wire int_16_58; - wire int_17_58; - wire int_18_58; - wire int_19_58; - wire int_20_58; - wire int_21_58; - wire int_22_58; - wire int_23_58; - wire int_24_58; - wire int_25_58; - wire int_26_58; - wire int_27_58; - wire int_28_58; - wire int_29_58; - wire int_30_58; - wire int_31_58; - wire int_32_58; - wire int_33_58; - wire int_34_58; - wire int_35_58; - wire int_36_58; - wire int_37_58; - wire int_38_58; - wire int_39_58; - wire int_40_58; - wire int_41_58; - wire int_42_58; - wire int_43_58; - wire int_44_58; - wire int_45_58; - wire int_46_58; - wire int_47_58; - wire int_48_58; - wire int_49_58; - wire int_50_58; - wire int_51_58; - wire int_52_58; - wire int_53_58; - wire int_54_58; - wire int_55_58; - wire int_56_58; - wire int_57_58; - wire int_0_59; - wire int_1_59; - wire int_2_59; - wire int_3_59; - wire int_4_59; - wire int_5_59; - wire int_6_59; - wire int_7_59; - wire int_8_59; - wire int_9_59; - wire int_10_59; - wire int_11_59; - wire int_12_59; - wire int_13_59; - wire int_14_59; - wire int_15_59; - wire int_16_59; - wire int_17_59; - wire int_18_59; - wire int_19_59; - wire int_20_59; - wire int_21_59; - wire int_22_59; - wire int_23_59; - wire int_24_59; - wire int_25_59; - wire int_26_59; - wire int_27_59; - wire int_28_59; - wire int_29_59; - wire int_30_59; - wire int_31_59; - wire int_32_59; - wire int_33_59; - wire int_34_59; - wire int_35_59; - wire int_36_59; - wire int_37_59; - wire int_38_59; - wire int_39_59; - wire int_40_59; - wire int_41_59; - wire int_42_59; - wire int_43_59; - wire int_44_59; - wire int_45_59; - wire int_46_59; - wire int_47_59; - wire int_48_59; - wire int_49_59; - wire int_50_59; - wire int_51_59; - wire int_52_59; - wire int_53_59; - wire int_54_59; - wire int_55_59; - wire int_56_59; - wire int_57_59; - wire int_0_60; - wire int_1_60; - wire int_2_60; - wire int_3_60; - wire int_4_60; - wire int_5_60; - wire int_6_60; - wire int_7_60; - wire int_8_60; - wire int_9_60; - wire int_10_60; - wire int_11_60; - wire int_12_60; - wire int_13_60; - wire int_14_60; - wire int_15_60; - wire int_16_60; - wire int_17_60; - wire int_18_60; - wire int_19_60; - wire int_20_60; - wire int_21_60; - wire int_22_60; - wire int_23_60; - wire int_24_60; - wire int_25_60; - wire int_26_60; - wire int_27_60; - wire int_28_60; - wire int_29_60; - wire int_30_60; - wire int_31_60; - wire int_32_60; - wire int_33_60; - wire int_34_60; - wire int_35_60; - wire int_36_60; - wire int_37_60; - wire int_38_60; - wire int_39_60; - wire int_40_60; - wire int_41_60; - wire int_42_60; - wire int_43_60; - wire int_44_60; - wire int_45_60; - wire int_46_60; - wire int_47_60; - wire int_48_60; - wire int_49_60; - wire int_50_60; - wire int_51_60; - wire int_52_60; - wire int_53_60; - wire int_54_60; - wire int_55_60; - wire int_56_60; - wire int_57_60; - wire int_58_60; - wire int_59_60; - wire int_0_61; - wire int_1_61; - wire int_2_61; - wire int_3_61; - wire int_4_61; - wire int_5_61; - wire int_6_61; - wire int_7_61; - wire int_8_61; - wire int_9_61; - wire int_10_61; - wire int_11_61; - wire int_12_61; - wire int_13_61; - wire int_14_61; - wire int_15_61; - wire int_16_61; - wire int_17_61; - wire int_18_61; - wire int_19_61; - wire int_20_61; - wire int_21_61; - wire int_22_61; - wire int_23_61; - wire int_24_61; - wire int_25_61; - wire int_26_61; - wire int_27_61; - wire int_28_61; - wire int_29_61; - wire int_30_61; - wire int_31_61; - wire int_32_61; - wire int_33_61; - wire int_34_61; - wire int_35_61; - wire int_36_61; - wire int_37_61; - wire int_38_61; - wire int_39_61; - wire int_40_61; - wire int_41_61; - wire int_42_61; - wire int_43_61; - wire int_44_61; - wire int_45_61; - wire int_46_61; - wire int_47_61; - wire int_48_61; - wire int_49_61; - wire int_50_61; - wire int_51_61; - wire int_52_61; - wire int_53_61; - wire int_54_61; - wire int_55_61; - wire int_56_61; - wire int_57_61; - wire int_58_61; - wire int_59_61; - wire int_0_62; - wire int_1_62; - wire int_2_62; - wire int_3_62; - wire int_4_62; - wire int_5_62; - wire int_6_62; - wire int_7_62; - wire int_8_62; - wire int_9_62; - wire int_10_62; - wire int_11_62; - wire int_12_62; - wire int_13_62; - wire int_14_62; - wire int_15_62; - wire int_16_62; - wire int_17_62; - wire int_18_62; - wire int_19_62; - wire int_20_62; - wire int_21_62; - wire int_22_62; - wire int_23_62; - wire int_24_62; - wire int_25_62; - wire int_26_62; - wire int_27_62; - wire int_28_62; - wire int_29_62; - wire int_30_62; - wire int_31_62; - wire int_32_62; - wire int_33_62; - wire int_34_62; - wire int_35_62; - wire int_36_62; - wire int_37_62; - wire int_38_62; - wire int_39_62; - wire int_40_62; - wire int_41_62; - wire int_42_62; - wire int_43_62; - wire int_44_62; - wire int_45_62; - wire int_46_62; - wire int_47_62; - wire int_48_62; - wire int_49_62; - wire int_50_62; - wire int_51_62; - wire int_52_62; - wire int_53_62; - wire int_54_62; - wire int_55_62; - wire int_56_62; - wire int_57_62; - wire int_58_62; - wire int_59_62; - wire int_60_62; - wire int_61_62; - wire int_0_63; - wire int_1_63; - wire int_2_63; - wire int_3_63; - wire int_4_63; - wire int_5_63; - wire int_6_63; - wire int_7_63; - wire int_8_63; - wire int_9_63; - wire int_10_63; - wire int_11_63; - wire int_12_63; - wire int_13_63; - wire int_14_63; - wire int_15_63; - wire int_16_63; - wire int_17_63; - wire int_18_63; - wire int_19_63; - wire int_20_63; - wire int_21_63; - wire int_22_63; - wire int_23_63; - wire int_24_63; - wire int_25_63; - wire int_26_63; - wire int_27_63; - wire int_28_63; - wire int_29_63; - wire int_30_63; - wire int_31_63; - wire int_32_63; - wire int_33_63; - wire int_34_63; - wire int_35_63; - wire int_36_63; - wire int_37_63; - wire int_38_63; - wire int_39_63; - wire int_40_63; - wire int_41_63; - wire int_42_63; - wire int_43_63; - wire int_44_63; - wire int_45_63; - wire int_46_63; - wire int_47_63; - wire int_48_63; - wire int_49_63; - wire int_50_63; - wire int_51_63; - wire int_52_63; - wire int_53_63; - wire int_54_63; - wire int_55_63; - wire int_56_63; - wire int_57_63; - wire int_58_63; - wire int_59_63; - wire int_60_63; - wire int_61_63; - wire int_0_64; - wire int_1_64; - wire int_2_64; - wire int_3_64; - wire int_4_64; - wire int_5_64; - wire int_6_64; - wire int_7_64; - wire int_8_64; - wire int_9_64; - wire int_10_64; - wire int_11_64; - wire int_12_64; - wire int_13_64; - wire int_14_64; - wire int_15_64; - wire int_16_64; - wire int_17_64; - wire int_18_64; - wire int_19_64; - wire int_20_64; - wire int_21_64; - wire int_22_64; - wire int_23_64; - wire int_24_64; - wire int_25_64; - wire int_26_64; - wire int_27_64; - wire int_28_64; - wire int_29_64; - wire int_30_64; - wire int_31_64; - wire int_32_64; - wire int_33_64; - wire int_34_64; - wire int_35_64; - wire int_36_64; - wire int_37_64; - wire int_38_64; - wire int_39_64; - wire int_40_64; - wire int_41_64; - wire int_42_64; - wire int_43_64; - wire int_44_64; - wire int_45_64; - wire int_46_64; - wire int_47_64; - wire int_48_64; - wire int_49_64; - wire int_50_64; - wire int_51_64; - wire int_52_64; - wire int_53_64; - wire int_54_64; - wire int_55_64; - wire int_56_64; - wire int_57_64; - wire int_58_64; - wire int_59_64; - wire int_60_64; - wire int_61_64; - wire int_0_65; - wire int_1_65; - wire int_2_65; - wire int_3_65; - wire int_4_65; - wire int_5_65; - wire int_6_65; - wire int_7_65; - wire int_8_65; - wire int_9_65; - wire int_10_65; - wire int_11_65; - wire int_12_65; - wire int_13_65; - wire int_14_65; - wire int_15_65; - wire int_16_65; - wire int_17_65; - wire int_18_65; - wire int_19_65; - wire int_20_65; - wire int_21_65; - wire int_22_65; - wire int_23_65; - wire int_24_65; - wire int_25_65; - wire int_26_65; - wire int_27_65; - wire int_28_65; - wire int_29_65; - wire int_30_65; - wire int_31_65; - wire int_32_65; - wire int_33_65; - wire int_34_65; - wire int_35_65; - wire int_36_65; - wire int_37_65; - wire int_38_65; - wire int_39_65; - wire int_40_65; - wire int_41_65; - wire int_42_65; - wire int_43_65; - wire int_44_65; - wire int_45_65; - wire int_46_65; - wire int_47_65; - wire int_48_65; - wire int_49_65; - wire int_50_65; - wire int_51_65; - wire int_52_65; - wire int_53_65; - wire int_54_65; - wire int_55_65; - wire int_56_65; - wire int_57_65; - wire int_58_65; - wire int_59_65; - wire int_60_65; - wire int_61_65; - wire int_0_66; - wire int_1_66; - wire int_2_66; - wire int_3_66; - wire int_4_66; - wire int_5_66; - wire int_6_66; - wire int_7_66; - wire int_8_66; - wire int_9_66; - wire int_10_66; - wire int_11_66; - wire int_12_66; - wire int_13_66; - wire int_14_66; - wire int_15_66; - wire int_16_66; - wire int_17_66; - wire int_18_66; - wire int_19_66; - wire int_20_66; - wire int_21_66; - wire int_22_66; - wire int_23_66; - wire int_24_66; - wire int_25_66; - wire int_26_66; - wire int_27_66; - wire int_28_66; - wire int_29_66; - wire int_30_66; - wire int_31_66; - wire int_32_66; - wire int_33_66; - wire int_34_66; - wire int_35_66; - wire int_36_66; - wire int_37_66; - wire int_38_66; - wire int_39_66; - wire int_40_66; - wire int_41_66; - wire int_42_66; - wire int_43_66; - wire int_44_66; - wire int_45_66; - wire int_46_66; - wire int_47_66; - wire int_48_66; - wire int_49_66; - wire int_50_66; - wire int_51_66; - wire int_52_66; - wire int_53_66; - wire int_54_66; - wire int_55_66; - wire int_56_66; - wire int_57_66; - wire int_58_66; - wire int_59_66; - wire int_60_66; - wire int_61_66; - wire int_0_67; - wire int_1_67; - wire int_2_67; - wire int_3_67; - wire int_4_67; - wire int_5_67; - wire int_6_67; - wire int_7_67; - wire int_8_67; - wire int_9_67; - wire int_10_67; - wire int_11_67; - wire int_12_67; - wire int_13_67; - wire int_14_67; - wire int_15_67; - wire int_16_67; - wire int_17_67; - wire int_18_67; - wire int_19_67; - wire int_20_67; - wire int_21_67; - wire int_22_67; - wire int_23_67; - wire int_24_67; - wire int_25_67; - wire int_26_67; - wire int_27_67; - wire int_28_67; - wire int_29_67; - wire int_30_67; - wire int_31_67; - wire int_32_67; - wire int_33_67; - wire int_34_67; - wire int_35_67; - wire int_36_67; - wire int_37_67; - wire int_38_67; - wire int_39_67; - wire int_40_67; - wire int_41_67; - wire int_42_67; - wire int_43_67; - wire int_44_67; - wire int_45_67; - wire int_46_67; - wire int_47_67; - wire int_48_67; - wire int_49_67; - wire int_50_67; - wire int_51_67; - wire int_52_67; - wire int_53_67; - wire int_54_67; - wire int_55_67; - wire int_56_67; - wire int_57_67; - wire int_58_67; - wire int_59_67; - wire int_60_67; - wire int_61_67; - wire int_0_68; - wire int_1_68; - wire int_2_68; - wire int_3_68; - wire int_4_68; - wire int_5_68; - wire int_6_68; - wire int_7_68; - wire int_8_68; - wire int_9_68; - wire int_10_68; - wire int_11_68; - wire int_12_68; - wire int_13_68; - wire int_14_68; - wire int_15_68; - wire int_16_68; - wire int_17_68; - wire int_18_68; - wire int_19_68; - wire int_20_68; - wire int_21_68; - wire int_22_68; - wire int_23_68; - wire int_24_68; - wire int_25_68; - wire int_26_68; - wire int_27_68; - wire int_28_68; - wire int_29_68; - wire int_30_68; - wire int_31_68; - wire int_32_68; - wire int_33_68; - wire int_34_68; - wire int_35_68; - wire int_36_68; - wire int_37_68; - wire int_38_68; - wire int_39_68; - wire int_40_68; - wire int_41_68; - wire int_42_68; - wire int_43_68; - wire int_44_68; - wire int_45_68; - wire int_46_68; - wire int_47_68; - wire int_48_68; - wire int_49_68; - wire int_50_68; - wire int_51_68; - wire int_52_68; - wire int_53_68; - wire int_54_68; - wire int_55_68; - wire int_56_68; - wire int_57_68; - wire int_58_68; - wire int_59_68; - wire int_60_68; - wire int_61_68; - wire int_0_69; - wire int_1_69; - wire int_2_69; - wire int_3_69; - wire int_4_69; - wire int_5_69; - wire int_6_69; - wire int_7_69; - wire int_8_69; - wire int_9_69; - wire int_10_69; - wire int_11_69; - wire int_12_69; - wire int_13_69; - wire int_14_69; - wire int_15_69; - wire int_16_69; - wire int_17_69; - wire int_18_69; - wire int_19_69; - wire int_20_69; - wire int_21_69; - wire int_22_69; - wire int_23_69; - wire int_24_69; - wire int_25_69; - wire int_26_69; - wire int_27_69; - wire int_28_69; - wire int_29_69; - wire int_30_69; - wire int_31_69; - wire int_32_69; - wire int_33_69; - wire int_34_69; - wire int_35_69; - wire int_36_69; - wire int_37_69; - wire int_38_69; - wire int_39_69; - wire int_40_69; - wire int_41_69; - wire int_42_69; - wire int_43_69; - wire int_44_69; - wire int_45_69; - wire int_46_69; - wire int_47_69; - wire int_48_69; - wire int_49_69; - wire int_50_69; - wire int_51_69; - wire int_52_69; - wire int_53_69; - wire int_54_69; - wire int_55_69; - wire int_56_69; - wire int_57_69; - wire int_58_69; - wire int_59_69; - wire int_0_70; - wire int_1_70; - wire int_2_70; - wire int_3_70; - wire int_4_70; - wire int_5_70; - wire int_6_70; - wire int_7_70; - wire int_8_70; - wire int_9_70; - wire int_10_70; - wire int_11_70; - wire int_12_70; - wire int_13_70; - wire int_14_70; - wire int_15_70; - wire int_16_70; - wire int_17_70; - wire int_18_70; - wire int_19_70; - wire int_20_70; - wire int_21_70; - wire int_22_70; - wire int_23_70; - wire int_24_70; - wire int_25_70; - wire int_26_70; - wire int_27_70; - wire int_28_70; - wire int_29_70; - wire int_30_70; - wire int_31_70; - wire int_32_70; - wire int_33_70; - wire int_34_70; - wire int_35_70; - wire int_36_70; - wire int_37_70; - wire int_38_70; - wire int_39_70; - wire int_40_70; - wire int_41_70; - wire int_42_70; - wire int_43_70; - wire int_44_70; - wire int_45_70; - wire int_46_70; - wire int_47_70; - wire int_48_70; - wire int_49_70; - wire int_50_70; - wire int_51_70; - wire int_52_70; - wire int_53_70; - wire int_54_70; - wire int_55_70; - wire int_56_70; - wire int_57_70; - wire int_58_70; - wire int_59_70; - wire int_0_71; - wire int_1_71; - wire int_2_71; - wire int_3_71; - wire int_4_71; - wire int_5_71; - wire int_6_71; - wire int_7_71; - wire int_8_71; - wire int_9_71; - wire int_10_71; - wire int_11_71; - wire int_12_71; - wire int_13_71; - wire int_14_71; - wire int_15_71; - wire int_16_71; - wire int_17_71; - wire int_18_71; - wire int_19_71; - wire int_20_71; - wire int_21_71; - wire int_22_71; - wire int_23_71; - wire int_24_71; - wire int_25_71; - wire int_26_71; - wire int_27_71; - wire int_28_71; - wire int_29_71; - wire int_30_71; - wire int_31_71; - wire int_32_71; - wire int_33_71; - wire int_34_71; - wire int_35_71; - wire int_36_71; - wire int_37_71; - wire int_38_71; - wire int_39_71; - wire int_40_71; - wire int_41_71; - wire int_42_71; - wire int_43_71; - wire int_44_71; - wire int_45_71; - wire int_46_71; - wire int_47_71; - wire int_48_71; - wire int_49_71; - wire int_50_71; - wire int_51_71; - wire int_52_71; - wire int_53_71; - wire int_54_71; - wire int_55_71; - wire int_56_71; - wire int_57_71; - wire int_0_72; - wire int_1_72; - wire int_2_72; - wire int_3_72; - wire int_4_72; - wire int_5_72; - wire int_6_72; - wire int_7_72; - wire int_8_72; - wire int_9_72; - wire int_10_72; - wire int_11_72; - wire int_12_72; - wire int_13_72; - wire int_14_72; - wire int_15_72; - wire int_16_72; - wire int_17_72; - wire int_18_72; - wire int_19_72; - wire int_20_72; - wire int_21_72; - wire int_22_72; - wire int_23_72; - wire int_24_72; - wire int_25_72; - wire int_26_72; - wire int_27_72; - wire int_28_72; - wire int_29_72; - wire int_30_72; - wire int_31_72; - wire int_32_72; - wire int_33_72; - wire int_34_72; - wire int_35_72; - wire int_36_72; - wire int_37_72; - wire int_38_72; - wire int_39_72; - wire int_40_72; - wire int_41_72; - wire int_42_72; - wire int_43_72; - wire int_44_72; - wire int_45_72; - wire int_46_72; - wire int_47_72; - wire int_48_72; - wire int_49_72; - wire int_50_72; - wire int_51_72; - wire int_52_72; - wire int_53_72; - wire int_54_72; - wire int_55_72; - wire int_56_72; - wire int_57_72; - wire int_0_73; - wire int_1_73; - wire int_2_73; - wire int_3_73; - wire int_4_73; - wire int_5_73; - wire int_6_73; - wire int_7_73; - wire int_8_73; - wire int_9_73; - wire int_10_73; - wire int_11_73; - wire int_12_73; - wire int_13_73; - wire int_14_73; - wire int_15_73; - wire int_16_73; - wire int_17_73; - wire int_18_73; - wire int_19_73; - wire int_20_73; - wire int_21_73; - wire int_22_73; - wire int_23_73; - wire int_24_73; - wire int_25_73; - wire int_26_73; - wire int_27_73; - wire int_28_73; - wire int_29_73; - wire int_30_73; - wire int_31_73; - wire int_32_73; - wire int_33_73; - wire int_34_73; - wire int_35_73; - wire int_36_73; - wire int_37_73; - wire int_38_73; - wire int_39_73; - wire int_40_73; - wire int_41_73; - wire int_42_73; - wire int_43_73; - wire int_44_73; - wire int_45_73; - wire int_46_73; - wire int_47_73; - wire int_48_73; - wire int_49_73; - wire int_50_73; - wire int_51_73; - wire int_52_73; - wire int_53_73; - wire int_54_73; - wire int_55_73; - wire int_0_74; - wire int_1_74; - wire int_2_74; - wire int_3_74; - wire int_4_74; - wire int_5_74; - wire int_6_74; - wire int_7_74; - wire int_8_74; - wire int_9_74; - wire int_10_74; - wire int_11_74; - wire int_12_74; - wire int_13_74; - wire int_14_74; - wire int_15_74; - wire int_16_74; - wire int_17_74; - wire int_18_74; - wire int_19_74; - wire int_20_74; - wire int_21_74; - wire int_22_74; - wire int_23_74; - wire int_24_74; - wire int_25_74; - wire int_26_74; - wire int_27_74; - wire int_28_74; - wire int_29_74; - wire int_30_74; - wire int_31_74; - wire int_32_74; - wire int_33_74; - wire int_34_74; - wire int_35_74; - wire int_36_74; - wire int_37_74; - wire int_38_74; - wire int_39_74; - wire int_40_74; - wire int_41_74; - wire int_42_74; - wire int_43_74; - wire int_44_74; - wire int_45_74; - wire int_46_74; - wire int_47_74; - wire int_48_74; - wire int_49_74; - wire int_50_74; - wire int_51_74; - wire int_52_74; - wire int_53_74; - wire int_54_74; - wire int_55_74; - wire int_0_75; - wire int_1_75; - wire int_2_75; - wire int_3_75; - wire int_4_75; - wire int_5_75; - wire int_6_75; - wire int_7_75; - wire int_8_75; - wire int_9_75; - wire int_10_75; - wire int_11_75; - wire int_12_75; - wire int_13_75; - wire int_14_75; - wire int_15_75; - wire int_16_75; - wire int_17_75; - wire int_18_75; - wire int_19_75; - wire int_20_75; - wire int_21_75; - wire int_22_75; - wire int_23_75; - wire int_24_75; - wire int_25_75; - wire int_26_75; - wire int_27_75; - wire int_28_75; - wire int_29_75; - wire int_30_75; - wire int_31_75; - wire int_32_75; - wire int_33_75; - wire int_34_75; - wire int_35_75; - wire int_36_75; - wire int_37_75; - wire int_38_75; - wire int_39_75; - wire int_40_75; - wire int_41_75; - wire int_42_75; - wire int_43_75; - wire int_44_75; - wire int_45_75; - wire int_46_75; - wire int_47_75; - wire int_48_75; - wire int_49_75; - wire int_50_75; - wire int_51_75; - wire int_52_75; - wire int_53_75; - wire int_0_76; - wire int_1_76; - wire int_2_76; - wire int_3_76; - wire int_4_76; - wire int_5_76; - wire int_6_76; - wire int_7_76; - wire int_8_76; - wire int_9_76; - wire int_10_76; - wire int_11_76; - wire int_12_76; - wire int_13_76; - wire int_14_76; - wire int_15_76; - wire int_16_76; - wire int_17_76; - wire int_18_76; - wire int_19_76; - wire int_20_76; - wire int_21_76; - wire int_22_76; - wire int_23_76; - wire int_24_76; - wire int_25_76; - wire int_26_76; - wire int_27_76; - wire int_28_76; - wire int_29_76; - wire int_30_76; - wire int_31_76; - wire int_32_76; - wire int_33_76; - wire int_34_76; - wire int_35_76; - wire int_36_76; - wire int_37_76; - wire int_38_76; - wire int_39_76; - wire int_40_76; - wire int_41_76; - wire int_42_76; - wire int_43_76; - wire int_44_76; - wire int_45_76; - wire int_46_76; - wire int_47_76; - wire int_48_76; - wire int_49_76; - wire int_50_76; - wire int_51_76; - wire int_52_76; - wire int_53_76; - wire int_0_77; - wire int_1_77; - wire int_2_77; - wire int_3_77; - wire int_4_77; - wire int_5_77; - wire int_6_77; - wire int_7_77; - wire int_8_77; - wire int_9_77; - wire int_10_77; - wire int_11_77; - wire int_12_77; - wire int_13_77; - wire int_14_77; - wire int_15_77; - wire int_16_77; - wire int_17_77; - wire int_18_77; - wire int_19_77; - wire int_20_77; - wire int_21_77; - wire int_22_77; - wire int_23_77; - wire int_24_77; - wire int_25_77; - wire int_26_77; - wire int_27_77; - wire int_28_77; - wire int_29_77; - wire int_30_77; - wire int_31_77; - wire int_32_77; - wire int_33_77; - wire int_34_77; - wire int_35_77; - wire int_36_77; - wire int_37_77; - wire int_38_77; - wire int_39_77; - wire int_40_77; - wire int_41_77; - wire int_42_77; - wire int_43_77; - wire int_44_77; - wire int_45_77; - wire int_46_77; - wire int_47_77; - wire int_48_77; - wire int_49_77; - wire int_50_77; - wire int_51_77; - wire int_0_78; - wire int_1_78; - wire int_2_78; - wire int_3_78; - wire int_4_78; - wire int_5_78; - wire int_6_78; - wire int_7_78; - wire int_8_78; - wire int_9_78; - wire int_10_78; - wire int_11_78; - wire int_12_78; - wire int_13_78; - wire int_14_78; - wire int_15_78; - wire int_16_78; - wire int_17_78; - wire int_18_78; - wire int_19_78; - wire int_20_78; - wire int_21_78; - wire int_22_78; - wire int_23_78; - wire int_24_78; - wire int_25_78; - wire int_26_78; - wire int_27_78; - wire int_28_78; - wire int_29_78; - wire int_30_78; - wire int_31_78; - wire int_32_78; - wire int_33_78; - wire int_34_78; - wire int_35_78; - wire int_36_78; - wire int_37_78; - wire int_38_78; - wire int_39_78; - wire int_40_78; - wire int_41_78; - wire int_42_78; - wire int_43_78; - wire int_44_78; - wire int_45_78; - wire int_46_78; - wire int_47_78; - wire int_48_78; - wire int_49_78; - wire int_50_78; - wire int_51_78; - wire int_0_79; - wire int_1_79; - wire int_2_79; - wire int_3_79; - wire int_4_79; - wire int_5_79; - wire int_6_79; - wire int_7_79; - wire int_8_79; - wire int_9_79; - wire int_10_79; - wire int_11_79; - wire int_12_79; - wire int_13_79; - wire int_14_79; - wire int_15_79; - wire int_16_79; - wire int_17_79; - wire int_18_79; - wire int_19_79; - wire int_20_79; - wire int_21_79; - wire int_22_79; - wire int_23_79; - wire int_24_79; - wire int_25_79; - wire int_26_79; - wire int_27_79; - wire int_28_79; - wire int_29_79; - wire int_30_79; - wire int_31_79; - wire int_32_79; - wire int_33_79; - wire int_34_79; - wire int_35_79; - wire int_36_79; - wire int_37_79; - wire int_38_79; - wire int_39_79; - wire int_40_79; - wire int_41_79; - wire int_42_79; - wire int_43_79; - wire int_44_79; - wire int_45_79; - wire int_46_79; - wire int_47_79; - wire int_48_79; - wire int_49_79; - wire int_0_80; - wire int_1_80; - wire int_2_80; - wire int_3_80; - wire int_4_80; - wire int_5_80; - wire int_6_80; - wire int_7_80; - wire int_8_80; - wire int_9_80; - wire int_10_80; - wire int_11_80; - wire int_12_80; - wire int_13_80; - wire int_14_80; - wire int_15_80; - wire int_16_80; - wire int_17_80; - wire int_18_80; - wire int_19_80; - wire int_20_80; - wire int_21_80; - wire int_22_80; - wire int_23_80; - wire int_24_80; - wire int_25_80; - wire int_26_80; - wire int_27_80; - wire int_28_80; - wire int_29_80; - wire int_30_80; - wire int_31_80; - wire int_32_80; - wire int_33_80; - wire int_34_80; - wire int_35_80; - wire int_36_80; - wire int_37_80; - wire int_38_80; - wire int_39_80; - wire int_40_80; - wire int_41_80; - wire int_42_80; - wire int_43_80; - wire int_44_80; - wire int_45_80; - wire int_46_80; - wire int_47_80; - wire int_48_80; - wire int_49_80; - wire int_0_81; - wire int_1_81; - wire int_2_81; - wire int_3_81; - wire int_4_81; - wire int_5_81; - wire int_6_81; - wire int_7_81; - wire int_8_81; - wire int_9_81; - wire int_10_81; - wire int_11_81; - wire int_12_81; - wire int_13_81; - wire int_14_81; - wire int_15_81; - wire int_16_81; - wire int_17_81; - wire int_18_81; - wire int_19_81; - wire int_20_81; - wire int_21_81; - wire int_22_81; - wire int_23_81; - wire int_24_81; - wire int_25_81; - wire int_26_81; - wire int_27_81; - wire int_28_81; - wire int_29_81; - wire int_30_81; - wire int_31_81; - wire int_32_81; - wire int_33_81; - wire int_34_81; - wire int_35_81; - wire int_36_81; - wire int_37_81; - wire int_38_81; - wire int_39_81; - wire int_40_81; - wire int_41_81; - wire int_42_81; - wire int_43_81; - wire int_44_81; - wire int_45_81; - wire int_46_81; - wire int_47_81; - wire int_0_82; - wire int_1_82; - wire int_2_82; - wire int_3_82; - wire int_4_82; - wire int_5_82; - wire int_6_82; - wire int_7_82; - wire int_8_82; - wire int_9_82; - wire int_10_82; - wire int_11_82; - wire int_12_82; - wire int_13_82; - wire int_14_82; - wire int_15_82; - wire int_16_82; - wire int_17_82; - wire int_18_82; - wire int_19_82; - wire int_20_82; - wire int_21_82; - wire int_22_82; - wire int_23_82; - wire int_24_82; - wire int_25_82; - wire int_26_82; - wire int_27_82; - wire int_28_82; - wire int_29_82; - wire int_30_82; - wire int_31_82; - wire int_32_82; - wire int_33_82; - wire int_34_82; - wire int_35_82; - wire int_36_82; - wire int_37_82; - wire int_38_82; - wire int_39_82; - wire int_40_82; - wire int_41_82; - wire int_42_82; - wire int_43_82; - wire int_44_82; - wire int_45_82; - wire int_46_82; - wire int_47_82; - wire int_0_83; - wire int_1_83; - wire int_2_83; - wire int_3_83; - wire int_4_83; - wire int_5_83; - wire int_6_83; - wire int_7_83; - wire int_8_83; - wire int_9_83; - wire int_10_83; - wire int_11_83; - wire int_12_83; - wire int_13_83; - wire int_14_83; - wire int_15_83; - wire int_16_83; - wire int_17_83; - wire int_18_83; - wire int_19_83; - wire int_20_83; - wire int_21_83; - wire int_22_83; - wire int_23_83; - wire int_24_83; - wire int_25_83; - wire int_26_83; - wire int_27_83; - wire int_28_83; - wire int_29_83; - wire int_30_83; - wire int_31_83; - wire int_32_83; - wire int_33_83; - wire int_34_83; - wire int_35_83; - wire int_36_83; - wire int_37_83; - wire int_38_83; - wire int_39_83; - wire int_40_83; - wire int_41_83; - wire int_42_83; - wire int_43_83; - wire int_44_83; - wire int_45_83; - wire int_0_84; - wire int_1_84; - wire int_2_84; - wire int_3_84; - wire int_4_84; - wire int_5_84; - wire int_6_84; - wire int_7_84; - wire int_8_84; - wire int_9_84; - wire int_10_84; - wire int_11_84; - wire int_12_84; - wire int_13_84; - wire int_14_84; - wire int_15_84; - wire int_16_84; - wire int_17_84; - wire int_18_84; - wire int_19_84; - wire int_20_84; - wire int_21_84; - wire int_22_84; - wire int_23_84; - wire int_24_84; - wire int_25_84; - wire int_26_84; - wire int_27_84; - wire int_28_84; - wire int_29_84; - wire int_30_84; - wire int_31_84; - wire int_32_84; - wire int_33_84; - wire int_34_84; - wire int_35_84; - wire int_36_84; - wire int_37_84; - wire int_38_84; - wire int_39_84; - wire int_40_84; - wire int_41_84; - wire int_42_84; - wire int_43_84; - wire int_44_84; - wire int_45_84; - wire int_0_85; - wire int_1_85; - wire int_2_85; - wire int_3_85; - wire int_4_85; - wire int_5_85; - wire int_6_85; - wire int_7_85; - wire int_8_85; - wire int_9_85; - wire int_10_85; - wire int_11_85; - wire int_12_85; - wire int_13_85; - wire int_14_85; - wire int_15_85; - wire int_16_85; - wire int_17_85; - wire int_18_85; - wire int_19_85; - wire int_20_85; - wire int_21_85; - wire int_22_85; - wire int_23_85; - wire int_24_85; - wire int_25_85; - wire int_26_85; - wire int_27_85; - wire int_28_85; - wire int_29_85; - wire int_30_85; - wire int_31_85; - wire int_32_85; - wire int_33_85; - wire int_34_85; - wire int_35_85; - wire int_36_85; - wire int_37_85; - wire int_38_85; - wire int_39_85; - wire int_40_85; - wire int_41_85; - wire int_42_85; - wire int_43_85; - wire int_0_86; - wire int_1_86; - wire int_2_86; - wire int_3_86; - wire int_4_86; - wire int_5_86; - wire int_6_86; - wire int_7_86; - wire int_8_86; - wire int_9_86; - wire int_10_86; - wire int_11_86; - wire int_12_86; - wire int_13_86; - wire int_14_86; - wire int_15_86; - wire int_16_86; - wire int_17_86; - wire int_18_86; - wire int_19_86; - wire int_20_86; - wire int_21_86; - wire int_22_86; - wire int_23_86; - wire int_24_86; - wire int_25_86; - wire int_26_86; - wire int_27_86; - wire int_28_86; - wire int_29_86; - wire int_30_86; - wire int_31_86; - wire int_32_86; - wire int_33_86; - wire int_34_86; - wire int_35_86; - wire int_36_86; - wire int_37_86; - wire int_38_86; - wire int_39_86; - wire int_40_86; - wire int_41_86; - wire int_42_86; - wire int_43_86; - wire int_0_87; - wire int_1_87; - wire int_2_87; - wire int_3_87; - wire int_4_87; - wire int_5_87; - wire int_6_87; - wire int_7_87; - wire int_8_87; - wire int_9_87; - wire int_10_87; - wire int_11_87; - wire int_12_87; - wire int_13_87; - wire int_14_87; - wire int_15_87; - wire int_16_87; - wire int_17_87; - wire int_18_87; - wire int_19_87; - wire int_20_87; - wire int_21_87; - wire int_22_87; - wire int_23_87; - wire int_24_87; - wire int_25_87; - wire int_26_87; - wire int_27_87; - wire int_28_87; - wire int_29_87; - wire int_30_87; - wire int_31_87; - wire int_32_87; - wire int_33_87; - wire int_34_87; - wire int_35_87; - wire int_36_87; - wire int_37_87; - wire int_38_87; - wire int_39_87; - wire int_40_87; - wire int_41_87; - wire int_0_88; - wire int_1_88; - wire int_2_88; - wire int_3_88; - wire int_4_88; - wire int_5_88; - wire int_6_88; - wire int_7_88; - wire int_8_88; - wire int_9_88; - wire int_10_88; - wire int_11_88; - wire int_12_88; - wire int_13_88; - wire int_14_88; - wire int_15_88; - wire int_16_88; - wire int_17_88; - wire int_18_88; - wire int_19_88; - wire int_20_88; - wire int_21_88; - wire int_22_88; - wire int_23_88; - wire int_24_88; - wire int_25_88; - wire int_26_88; - wire int_27_88; - wire int_28_88; - wire int_29_88; - wire int_30_88; - wire int_31_88; - wire int_32_88; - wire int_33_88; - wire int_34_88; - wire int_35_88; - wire int_36_88; - wire int_37_88; - wire int_38_88; - wire int_39_88; - wire int_40_88; - wire int_41_88; - wire int_0_89; - wire int_1_89; - wire int_2_89; - wire int_3_89; - wire int_4_89; - wire int_5_89; - wire int_6_89; - wire int_7_89; - wire int_8_89; - wire int_9_89; - wire int_10_89; - wire int_11_89; - wire int_12_89; - wire int_13_89; - wire int_14_89; - wire int_15_89; - wire int_16_89; - wire int_17_89; - wire int_18_89; - wire int_19_89; - wire int_20_89; - wire int_21_89; - wire int_22_89; - wire int_23_89; - wire int_24_89; - wire int_25_89; - wire int_26_89; - wire int_27_89; - wire int_28_89; - wire int_29_89; - wire int_30_89; - wire int_31_89; - wire int_32_89; - wire int_33_89; - wire int_34_89; - wire int_35_89; - wire int_36_89; - wire int_37_89; - wire int_38_89; - wire int_39_89; - wire int_0_90; - wire int_1_90; - wire int_2_90; - wire int_3_90; - wire int_4_90; - wire int_5_90; - wire int_6_90; - wire int_7_90; - wire int_8_90; - wire int_9_90; - wire int_10_90; - wire int_11_90; - wire int_12_90; - wire int_13_90; - wire int_14_90; - wire int_15_90; - wire int_16_90; - wire int_17_90; - wire int_18_90; - wire int_19_90; - wire int_20_90; - wire int_21_90; - wire int_22_90; - wire int_23_90; - wire int_24_90; - wire int_25_90; - wire int_26_90; - wire int_27_90; - wire int_28_90; - wire int_29_90; - wire int_30_90; - wire int_31_90; - wire int_32_90; - wire int_33_90; - wire int_34_90; - wire int_35_90; - wire int_36_90; - wire int_37_90; - wire int_38_90; - wire int_39_90; - wire int_0_91; - wire int_1_91; - wire int_2_91; - wire int_3_91; - wire int_4_91; - wire int_5_91; - wire int_6_91; - wire int_7_91; - wire int_8_91; - wire int_9_91; - wire int_10_91; - wire int_11_91; - wire int_12_91; - wire int_13_91; - wire int_14_91; - wire int_15_91; - wire int_16_91; - wire int_17_91; - wire int_18_91; - wire int_19_91; - wire int_20_91; - wire int_21_91; - wire int_22_91; - wire int_23_91; - wire int_24_91; - wire int_25_91; - wire int_26_91; - wire int_27_91; - wire int_28_91; - wire int_29_91; - wire int_30_91; - wire int_31_91; - wire int_32_91; - wire int_33_91; - wire int_34_91; - wire int_35_91; - wire int_36_91; - wire int_37_91; - wire int_0_92; - wire int_1_92; - wire int_2_92; - wire int_3_92; - wire int_4_92; - wire int_5_92; - wire int_6_92; - wire int_7_92; - wire int_8_92; - wire int_9_92; - wire int_10_92; - wire int_11_92; - wire int_12_92; - wire int_13_92; - wire int_14_92; - wire int_15_92; - wire int_16_92; - wire int_17_92; - wire int_18_92; - wire int_19_92; - wire int_20_92; - wire int_21_92; - wire int_22_92; - wire int_23_92; - wire int_24_92; - wire int_25_92; - wire int_26_92; - wire int_27_92; - wire int_28_92; - wire int_29_92; - wire int_30_92; - wire int_31_92; - wire int_32_92; - wire int_33_92; - wire int_34_92; - wire int_35_92; - wire int_36_92; - wire int_37_92; - wire int_0_93; - wire int_1_93; - wire int_2_93; - wire int_3_93; - wire int_4_93; - wire int_5_93; - wire int_6_93; - wire int_7_93; - wire int_8_93; - wire int_9_93; - wire int_10_93; - wire int_11_93; - wire int_12_93; - wire int_13_93; - wire int_14_93; - wire int_15_93; - wire int_16_93; - wire int_17_93; - wire int_18_93; - wire int_19_93; - wire int_20_93; - wire int_21_93; - wire int_22_93; - wire int_23_93; - wire int_24_93; - wire int_25_93; - wire int_26_93; - wire int_27_93; - wire int_28_93; - wire int_29_93; - wire int_30_93; - wire int_31_93; - wire int_32_93; - wire int_33_93; - wire int_34_93; - wire int_35_93; - wire int_0_94; - wire int_1_94; - wire int_2_94; - wire int_3_94; - wire int_4_94; - wire int_5_94; - wire int_6_94; - wire int_7_94; - wire int_8_94; - wire int_9_94; - wire int_10_94; - wire int_11_94; - wire int_12_94; - wire int_13_94; - wire int_14_94; - wire int_15_94; - wire int_16_94; - wire int_17_94; - wire int_18_94; - wire int_19_94; - wire int_20_94; - wire int_21_94; - wire int_22_94; - wire int_23_94; - wire int_24_94; - wire int_25_94; - wire int_26_94; - wire int_27_94; - wire int_28_94; - wire int_29_94; - wire int_30_94; - wire int_31_94; - wire int_32_94; - wire int_33_94; - wire int_34_94; - wire int_35_94; - wire int_0_95; - wire int_1_95; - wire int_2_95; - wire int_3_95; - wire int_4_95; - wire int_5_95; - wire int_6_95; - wire int_7_95; - wire int_8_95; - wire int_9_95; - wire int_10_95; - wire int_11_95; - wire int_12_95; - wire int_13_95; - wire int_14_95; - wire int_15_95; - wire int_16_95; - wire int_17_95; - wire int_18_95; - wire int_19_95; - wire int_20_95; - wire int_21_95; - wire int_22_95; - wire int_23_95; - wire int_24_95; - wire int_25_95; - wire int_26_95; - wire int_27_95; - wire int_28_95; - wire int_29_95; - wire int_30_95; - wire int_31_95; - wire int_32_95; - wire int_33_95; - wire int_0_96; - wire int_1_96; - wire int_2_96; - wire int_3_96; - wire int_4_96; - wire int_5_96; - wire int_6_96; - wire int_7_96; - wire int_8_96; - wire int_9_96; - wire int_10_96; - wire int_11_96; - wire int_12_96; - wire int_13_96; - wire int_14_96; - wire int_15_96; - wire int_16_96; - wire int_17_96; - wire int_18_96; - wire int_19_96; - wire int_20_96; - wire int_21_96; - wire int_22_96; - wire int_23_96; - wire int_24_96; - wire int_25_96; - wire int_26_96; - wire int_27_96; - wire int_28_96; - wire int_29_96; - wire int_30_96; - wire int_31_96; - wire int_32_96; - wire int_33_96; - wire int_0_97; - wire int_1_97; - wire int_2_97; - wire int_3_97; - wire int_4_97; - wire int_5_97; - wire int_6_97; - wire int_7_97; - wire int_8_97; - wire int_9_97; - wire int_10_97; - wire int_11_97; - wire int_12_97; - wire int_13_97; - wire int_14_97; - wire int_15_97; - wire int_16_97; - wire int_17_97; - wire int_18_97; - wire int_19_97; - wire int_20_97; - wire int_21_97; - wire int_22_97; - wire int_23_97; - wire int_24_97; - wire int_25_97; - wire int_26_97; - wire int_27_97; - wire int_28_97; - wire int_29_97; - wire int_30_97; - wire int_31_97; - wire int_0_98; - wire int_1_98; - wire int_2_98; - wire int_3_98; - wire int_4_98; - wire int_5_98; - wire int_6_98; - wire int_7_98; - wire int_8_98; - wire int_9_98; - wire int_10_98; - wire int_11_98; - wire int_12_98; - wire int_13_98; - wire int_14_98; - wire int_15_98; - wire int_16_98; - wire int_17_98; - wire int_18_98; - wire int_19_98; - wire int_20_98; - wire int_21_98; - wire int_22_98; - wire int_23_98; - wire int_24_98; - wire int_25_98; - wire int_26_98; - wire int_27_98; - wire int_28_98; - wire int_29_98; - wire int_30_98; - wire int_31_98; - wire int_0_99; - wire int_1_99; - wire int_2_99; - wire int_3_99; - wire int_4_99; - wire int_5_99; - wire int_6_99; - wire int_7_99; - wire int_8_99; - wire int_9_99; - wire int_10_99; - wire int_11_99; - wire int_12_99; - wire int_13_99; - wire int_14_99; - wire int_15_99; - wire int_16_99; - wire int_17_99; - wire int_18_99; - wire int_19_99; - wire int_20_99; - wire int_21_99; - wire int_22_99; - wire int_23_99; - wire int_24_99; - wire int_25_99; - wire int_26_99; - wire int_27_99; - wire int_28_99; - wire int_29_99; - wire int_0_100; - wire int_1_100; - wire int_2_100; - wire int_3_100; - wire int_4_100; - wire int_5_100; - wire int_6_100; - wire int_7_100; - wire int_8_100; - wire int_9_100; - wire int_10_100; - wire int_11_100; - wire int_12_100; - wire int_13_100; - wire int_14_100; - wire int_15_100; - wire int_16_100; - wire int_17_100; - wire int_18_100; - wire int_19_100; - wire int_20_100; - wire int_21_100; - wire int_22_100; - wire int_23_100; - wire int_24_100; - wire int_25_100; - wire int_26_100; - wire int_27_100; - wire int_28_100; - wire int_29_100; - wire int_0_101; - wire int_1_101; - wire int_2_101; - wire int_3_101; - wire int_4_101; - wire int_5_101; - wire int_6_101; - wire int_7_101; - wire int_8_101; - wire int_9_101; - wire int_10_101; - wire int_11_101; - wire int_12_101; - wire int_13_101; - wire int_14_101; - wire int_15_101; - wire int_16_101; - wire int_17_101; - wire int_18_101; - wire int_19_101; - wire int_20_101; - wire int_21_101; - wire int_22_101; - wire int_23_101; - wire int_24_101; - wire int_25_101; - wire int_26_101; - wire int_27_101; - wire int_0_102; - wire int_1_102; - wire int_2_102; - wire int_3_102; - wire int_4_102; - wire int_5_102; - wire int_6_102; - wire int_7_102; - wire int_8_102; - wire int_9_102; - wire int_10_102; - wire int_11_102; - wire int_12_102; - wire int_13_102; - wire int_14_102; - wire int_15_102; - wire int_16_102; - wire int_17_102; - wire int_18_102; - wire int_19_102; - wire int_20_102; - wire int_21_102; - wire int_22_102; - wire int_23_102; - wire int_24_102; - wire int_25_102; - wire int_26_102; - wire int_27_102; - wire int_0_103; - wire int_1_103; - wire int_2_103; - wire int_3_103; - wire int_4_103; - wire int_5_103; - wire int_6_103; - wire int_7_103; - wire int_8_103; - wire int_9_103; - wire int_10_103; - wire int_11_103; - wire int_12_103; - wire int_13_103; - wire int_14_103; - wire int_15_103; - wire int_16_103; - wire int_17_103; - wire int_18_103; - wire int_19_103; - wire int_20_103; - wire int_21_103; - wire int_22_103; - wire int_23_103; - wire int_24_103; - wire int_25_103; - wire int_0_104; - wire int_1_104; - wire int_2_104; - wire int_3_104; - wire int_4_104; - wire int_5_104; - wire int_6_104; - wire int_7_104; - wire int_8_104; - wire int_9_104; - wire int_10_104; - wire int_11_104; - wire int_12_104; - wire int_13_104; - wire int_14_104; - wire int_15_104; - wire int_16_104; - wire int_17_104; - wire int_18_104; - wire int_19_104; - wire int_20_104; - wire int_21_104; - wire int_22_104; - wire int_23_104; - wire int_24_104; - wire int_25_104; - wire int_0_105; - wire int_1_105; - wire int_2_105; - wire int_3_105; - wire int_4_105; - wire int_5_105; - wire int_6_105; - wire int_7_105; - wire int_8_105; - wire int_9_105; - wire int_10_105; - wire int_11_105; - wire int_12_105; - wire int_13_105; - wire int_14_105; - wire int_15_105; - wire int_16_105; - wire int_17_105; - wire int_18_105; - wire int_19_105; - wire int_20_105; - wire int_21_105; - wire int_22_105; - wire int_23_105; - wire int_0_106; - wire int_1_106; - wire int_2_106; - wire int_3_106; - wire int_4_106; - wire int_5_106; - wire int_6_106; - wire int_7_106; - wire int_8_106; - wire int_9_106; - wire int_10_106; - wire int_11_106; - wire int_12_106; - wire int_13_106; - wire int_14_106; - wire int_15_106; - wire int_16_106; - wire int_17_106; - wire int_18_106; - wire int_19_106; - wire int_20_106; - wire int_21_106; - wire int_22_106; - wire int_23_106; - wire int_0_107; - wire int_1_107; - wire int_2_107; - wire int_3_107; - wire int_4_107; - wire int_5_107; - wire int_6_107; - wire int_7_107; - wire int_8_107; - wire int_9_107; - wire int_10_107; - wire int_11_107; - wire int_12_107; - wire int_13_107; - wire int_14_107; - wire int_15_107; - wire int_16_107; - wire int_17_107; - wire int_18_107; - wire int_19_107; - wire int_20_107; - wire int_21_107; - wire int_0_108; - wire int_1_108; - wire int_2_108; - wire int_3_108; - wire int_4_108; - wire int_5_108; - wire int_6_108; - wire int_7_108; - wire int_8_108; - wire int_9_108; - wire int_10_108; - wire int_11_108; - wire int_12_108; - wire int_13_108; - wire int_14_108; - wire int_15_108; - wire int_16_108; - wire int_17_108; - wire int_18_108; - wire int_19_108; - wire int_20_108; - wire int_21_108; - wire int_0_109; - wire int_1_109; - wire int_2_109; - wire int_3_109; - wire int_4_109; - wire int_5_109; - wire int_6_109; - wire int_7_109; - wire int_8_109; - wire int_9_109; - wire int_10_109; - wire int_11_109; - wire int_12_109; - wire int_13_109; - wire int_14_109; - wire int_15_109; - wire int_16_109; - wire int_17_109; - wire int_18_109; - wire int_19_109; - wire int_0_110; - wire int_1_110; - wire int_2_110; - wire int_3_110; - wire int_4_110; - wire int_5_110; - wire int_6_110; - wire int_7_110; - wire int_8_110; - wire int_9_110; - wire int_10_110; - wire int_11_110; - wire int_12_110; - wire int_13_110; - wire int_14_110; - wire int_15_110; - wire int_16_110; - wire int_17_110; - wire int_18_110; - wire int_19_110; - wire int_0_111; - wire int_1_111; - wire int_2_111; - wire int_3_111; - wire int_4_111; - wire int_5_111; - wire int_6_111; - wire int_7_111; - wire int_8_111; - wire int_9_111; - wire int_10_111; - wire int_11_111; - wire int_12_111; - wire int_13_111; - wire int_14_111; - wire int_15_111; - wire int_16_111; - wire int_17_111; - wire int_0_112; - wire int_1_112; - wire int_2_112; - wire int_3_112; - wire int_4_112; - wire int_5_112; - wire int_6_112; - wire int_7_112; - wire int_8_112; - wire int_9_112; - wire int_10_112; - wire int_11_112; - wire int_12_112; - wire int_13_112; - wire int_14_112; - wire int_15_112; - wire int_16_112; - wire int_17_112; - wire int_0_113; - wire int_1_113; - wire int_2_113; - wire int_3_113; - wire int_4_113; - wire int_5_113; - wire int_6_113; - wire int_7_113; - wire int_8_113; - wire int_9_113; - wire int_10_113; - wire int_11_113; - wire int_12_113; - wire int_13_113; - wire int_14_113; - wire int_15_113; - wire int_0_114; - wire int_1_114; - wire int_2_114; - wire int_3_114; - wire int_4_114; - wire int_5_114; - wire int_6_114; - wire int_7_114; - wire int_8_114; - wire int_9_114; - wire int_10_114; - wire int_11_114; - wire int_12_114; - wire int_13_114; - wire int_14_114; - wire int_15_114; - wire int_0_115; - wire int_1_115; - wire int_2_115; - wire int_3_115; - wire int_4_115; - wire int_5_115; - wire int_6_115; - wire int_7_115; - wire int_8_115; - wire int_9_115; - wire int_10_115; - wire int_11_115; - wire int_12_115; - wire int_13_115; - wire int_0_116; - wire int_1_116; - wire int_2_116; - wire int_3_116; - wire int_4_116; - wire int_5_116; - wire int_6_116; - wire int_7_116; - wire int_8_116; - wire int_9_116; - wire int_10_116; - wire int_11_116; - wire int_12_116; - wire int_13_116; - wire int_0_117; - wire int_1_117; - wire int_2_117; - wire int_3_117; - wire int_4_117; - wire int_5_117; - wire int_6_117; - wire int_7_117; - wire int_8_117; - wire int_9_117; - wire int_10_117; - wire int_11_117; - wire int_0_118; - wire int_1_118; - wire int_2_118; - wire int_3_118; - wire int_4_118; - wire int_5_118; - wire int_6_118; - wire int_7_118; - wire int_8_118; - wire int_9_118; - wire int_10_118; - wire int_11_118; - wire int_0_119; - wire int_1_119; - wire int_2_119; - wire int_3_119; - wire int_4_119; - wire int_5_119; - wire int_6_119; - wire int_7_119; - wire int_8_119; - wire int_9_119; - wire int_0_120; - wire int_1_120; - wire int_2_120; - wire int_3_120; - wire int_4_120; - wire int_5_120; - wire int_6_120; - wire int_7_120; - wire int_8_120; - wire int_9_120; - wire int_0_121; - wire int_1_121; - wire int_2_121; - wire int_3_121; - wire int_4_121; - wire int_5_121; - wire int_6_121; - wire int_7_121; - wire int_0_122; - wire int_1_122; - wire int_2_122; - wire int_3_122; - wire int_4_122; - wire int_5_122; - wire int_6_122; - wire int_7_122; - wire int_0_123; - wire int_1_123; - wire int_2_123; - wire int_3_123; - wire int_4_123; - wire int_5_123; - wire int_0_124; - wire int_1_124; - wire int_2_124; - wire int_3_124; - wire int_4_124; - wire int_5_124; - wire int_0_125; - wire int_1_125; - wire int_2_125; - wire int_3_125; - wire int_0_126; - wire int_1_126; - wire int_2_126; - wire int_3_126; - wire int_0_127; - wire int_1_127; - - // Below are the intermediate nets for the final adders - wire final_0; - wire final_1; - wire final_2; - wire final_3; - wire final_4; - wire final_5; - wire final_6; - wire final_7; - wire final_8; - wire final_9; - wire final_10; - wire final_11; - wire final_12; - wire final_13; - wire final_14; - wire final_15; - wire final_16; - wire final_17; - wire final_18; - wire final_19; - wire final_20; - wire final_21; - wire final_22; - wire final_23; - wire final_24; - wire final_25; - wire final_26; - wire final_27; - wire final_28; - wire final_29; - wire final_30; - wire final_31; - wire final_32; - wire final_33; - wire final_34; - wire final_35; - wire final_36; - wire final_37; - wire final_38; - wire final_39; - wire final_40; - wire final_41; - wire final_42; - wire final_43; - wire final_44; - wire final_45; - wire final_46; - wire final_47; - wire final_48; - wire final_49; - wire final_50; - wire final_51; - wire final_52; - wire final_53; - wire final_54; - wire final_55; - wire final_56; - wire final_57; - wire final_58; - wire final_59; - wire final_60; - wire final_61; - wire final_62; - wire final_63; - wire final_64; - wire final_65; - wire final_66; - wire final_67; - wire final_68; - wire final_69; - wire final_70; - wire final_71; - wire final_72; - wire final_73; - wire final_74; - wire final_75; - wire final_76; - wire final_77; - wire final_78; - wire final_79; - wire final_80; - wire final_81; - wire final_82; - wire final_83; - wire final_84; - wire final_85; - wire final_86; - wire final_87; - wire final_88; - wire final_89; - wire final_90; - wire final_91; - wire final_92; - wire final_93; - wire final_94; - wire final_95; - wire final_96; - wire final_97; - wire final_98; - wire final_99; - wire final_100; - wire final_101; - wire final_102; - wire final_103; - wire final_104; - wire final_105; - wire final_106; - wire final_107; - wire final_108; - wire final_109; - wire final_110; - wire final_111; - wire final_112; - wire final_113; - wire final_114; - wire final_115; - wire final_116; - wire final_117; - wire final_118; - wire final_119; - wire final_120; - wire final_121; - wire final_122; - wire final_123; - wire final_124; - wire final_125; - wire final_126; - - // Below are the gates for the TDM trees. - - // Hardware for column 0 - - r4bs r4bs_0_64(gnd, yy[0], single[0], double[0], neg[0], pp_0_0); - assign Sum[0] = neg[0]; - assign Carry[0] = pp_0_0; - - // Hardware for column 1 - - r4bs r4bs_80_64(yy[0], yy[1], single[0], double[0], neg[0], pp_0_1); - assign Sum[1] = pp_0_1; - assign Carry[1] = gnd; - - // Hardware for column 2 - - r4bs r4bs_160_64(yy[1], yy[2], single[0], double[0], neg[0], pp_0_2); - halfAdd HA_160_192(int_1_2, int_0_2, neg[1], pp_0_2); - r4bs r4bs_160_272(gnd, yy[0], single[1], double[1], neg[1], pp_1_2); - assign Sum[2] = pp_1_2; - assign Carry[2] = int_0_2; - - // Hardware for column 3 - - r4bs r4bs_240_64(yy[2], yy[3], single[0], double[0], neg[0], pp_0_3); - r4bs r4bs_240_192(yy[0], yy[1], single[1], double[1], neg[1], pp_1_3); - halfAdd HA_240_320(int_1_3, int_0_3, pp_0_3, pp_1_3); - assign Sum[3] = int_1_2; - assign Carry[3] = int_0_3; - - // Hardware for column 4 - - r4bs r4bs_320_64(yy[3], yy[4], single[0], double[0], neg[0], pp_0_4); - halfAdd HA_320_192(int_1_4, int_0_4, neg[2], pp_0_4); - r4bs r4bs_320_272(yy[1], yy[2], single[1], double[1], neg[1], pp_1_4); - r4bs r4bs_320_400(gnd, yy[0], single[2], double[2], neg[2], pp_2_4); - fullAdd_x FA_320_528(int_3_4, int_2_4, pp_1_4, pp_2_4, int_1_3); - assign Sum[4] = int_0_4; - assign Carry[4] = int_2_4; - - // Hardware for column 5 - - r4bs r4bs_400_64(yy[4], yy[5], single[0], double[0], neg[0], pp_0_5); - r4bs r4bs_400_192(yy[2], yy[3], single[1], double[1], neg[1], pp_1_5); - halfAdd HA_400_320(int_1_5, int_0_5, pp_0_5, pp_1_5); - r4bs r4bs_400_400(yy[0], yy[1], single[2], double[2], neg[2], pp_2_5); - fullAdd_x FA_400_528(int_3_5, int_2_5, pp_2_5, int_1_4, int_0_5); - assign Sum[5] = int_3_4; - assign Carry[5] = int_2_5; - - // Hardware for column 6 - - r4bs r4bs_480_64(yy[5], yy[6], single[0], double[0], neg[0], pp_0_6); - halfAdd HA_480_192(int_1_6, int_0_6, neg[3], pp_0_6); - r4bs r4bs_480_272(yy[3], yy[4], single[1], double[1], neg[1], pp_1_6); - r4bs r4bs_480_400(yy[1], yy[2], single[2], double[2], neg[2], pp_2_6); - r4bs r4bs_480_528(gnd, yy[0], single[3], double[3], neg[3], pp_3_6); - fullAdd_x FA_480_656(int_3_6, int_2_6, pp_1_6, pp_2_6, pp_3_6); - fullAdd_x FA_480_872(int_5_6, int_4_6, int_1_5, int_0_6, int_3_5); - assign Sum[6] = int_2_6; - assign Carry[6] = int_4_6; - - // Hardware for column 7 - - r4bs r4bs_560_64(yy[6], yy[7], single[0], double[0], neg[0], pp_0_7); - r4bs r4bs_560_192(yy[4], yy[5], single[1], double[1], neg[1], pp_1_7); - halfAdd HA_560_320(int_1_7, int_0_7, pp_0_7, pp_1_7); - r4bs r4bs_560_400(yy[2], yy[3], single[2], double[2], neg[2], pp_2_7); - r4bs r4bs_560_528(yy[0], yy[1], single[3], double[3], neg[3], pp_3_7); - fullAdd_x FA_560_656(int_3_7, int_2_7, pp_2_7, pp_3_7, int_1_6); - fullAdd_x FA_560_872(int_5_7, int_4_7, int_3_6, int_0_7, int_2_7); - assign Sum[7] = int_5_6; - assign Carry[7] = int_4_7; - - // Hardware for column 8 - - r4bs r4bs_640_64(yy[7], yy[8], single[0], double[0], neg[0], pp_0_8); - halfAdd HA_640_192(int_1_8, int_0_8, neg[4], pp_0_8); - r4bs r4bs_640_272(yy[5], yy[6], single[1], double[1], neg[1], pp_1_8); - r4bs r4bs_640_400(yy[3], yy[4], single[2], double[2], neg[2], pp_2_8); - r4bs r4bs_640_528(yy[1], yy[2], single[3], double[3], neg[3], pp_3_8); - fullAdd_x FA_640_656(int_3_8, int_2_8, pp_1_8, pp_2_8, pp_3_8); - r4bs r4bs_640_872(gnd, yy[0], single[4], double[4], neg[4], pp_4_8); - fullAdd_x FA_640_1000(int_5_8, int_4_8, pp_4_8, int_1_7, int_0_8); - fullAdd_x FA_640_1216(int_7_8, int_6_8, int_3_7, int_2_8, int_4_8); - assign Sum[8] = int_5_7; - assign Carry[8] = int_6_8; - - // Hardware for column 9 - - r4bs r4bs_720_64(yy[8], yy[9], single[0], double[0], neg[0], pp_0_9); - r4bs r4bs_720_192(yy[6], yy[7], single[1], double[1], neg[1], pp_1_9); - halfAdd HA_720_320(int_1_9, int_0_9, pp_0_9, pp_1_9); - r4bs r4bs_720_400(yy[4], yy[5], single[2], double[2], neg[2], pp_2_9); - r4bs r4bs_720_528(yy[2], yy[3], single[3], double[3], neg[3], pp_3_9); - r4bs r4bs_720_656(yy[0], yy[1], single[4], double[4], neg[4], pp_4_9); - fullAdd_x FA_720_784(int_3_9, int_2_9, pp_2_9, pp_3_9, pp_4_9); - fullAdd_x FA_720_1000(int_5_9, int_4_9, int_1_8, int_3_8, int_0_9); - fullAdd_x FA_720_1216(int_7_9, int_6_9, int_5_8, int_2_9, int_4_9); - assign Sum[9] = int_7_8; - assign Carry[9] = int_6_9; - - // Hardware for column 10 - - r4bs r4bs_800_64(yy[9], yy[10], single[0], double[0], neg[0], pp_0_10); - halfAdd HA_800_192(int_1_10, int_0_10, neg[5], pp_0_10); - r4bs r4bs_800_272(yy[7], yy[8], single[1], double[1], neg[1], pp_1_10); - r4bs r4bs_800_400(yy[5], yy[6], single[2], double[2], neg[2], pp_2_10); - r4bs r4bs_800_528(yy[3], yy[4], single[3], double[3], neg[3], pp_3_10); - fullAdd_x FA_800_656(int_3_10, int_2_10, pp_1_10, pp_2_10, pp_3_10); - r4bs r4bs_800_872(yy[1], yy[2], single[4], double[4], neg[4], pp_4_10); - r4bs r4bs_800_1000(gnd, yy[0], single[5], double[5], neg[5], pp_5_10); - fullAdd_x FA_800_1128(int_5_10, int_4_10, pp_4_10, pp_5_10, int_1_9); - fullAdd_x FA_800_1344(int_7_10, int_6_10, int_3_9, int_0_10, int_5_9); - fullAdd_x FA_800_1560(int_9_10, int_8_10, int_2_10, int_4_10, int_6_10); - assign Sum[10] = int_7_9; - assign Carry[10] = int_8_10; - - // Hardware for column 11 - - r4bs r4bs_880_64(yy[10], yy[11], single[0], double[0], neg[0], pp_0_11); - r4bs r4bs_880_192(yy[8], yy[9], single[1], double[1], neg[1], pp_1_11); - halfAdd HA_880_320(int_1_11, int_0_11, pp_0_11, pp_1_11); - r4bs r4bs_880_400(yy[6], yy[7], single[2], double[2], neg[2], pp_2_11); - r4bs r4bs_880_528(yy[4], yy[5], single[3], double[3], neg[3], pp_3_11); - r4bs r4bs_880_656(yy[2], yy[3], single[4], double[4], neg[4], pp_4_11); - fullAdd_x FA_880_784(int_3_11, int_2_11, pp_2_11, pp_3_11, pp_4_11); - r4bs r4bs_880_1000(yy[0], yy[1], single[5], double[5], neg[5], pp_5_11); - fullAdd_x FA_880_1128(int_5_11, int_4_11, pp_5_11, int_1_10, int_3_10); - fullAdd_x FA_880_1344(int_7_11, int_6_11, int_0_11, int_5_10, int_2_11); - fullAdd_x FA_880_1560(int_9_11, int_8_11, int_4_11, int_7_10, int_6_11); - assign Sum[11] = int_9_10; - assign Carry[11] = int_8_11; - - // Hardware for column 12 - - r4bs r4bs_960_64(yy[11], yy[12], single[0], double[0], neg[0], pp_0_12); - halfAdd HA_960_192(int_1_12, int_0_12, neg[6], pp_0_12); - r4bs r4bs_960_272(yy[9], yy[10], single[1], double[1], neg[1], pp_1_12); - r4bs r4bs_960_400(yy[7], yy[8], single[2], double[2], neg[2], pp_2_12); - r4bs r4bs_960_528(yy[5], yy[6], single[3], double[3], neg[3], pp_3_12); - fullAdd_x FA_960_656(int_3_12, int_2_12, pp_1_12, pp_2_12, pp_3_12); - r4bs r4bs_960_872(yy[3], yy[4], single[4], double[4], neg[4], pp_4_12); - r4bs r4bs_960_1000(yy[1], yy[2], single[5], double[5], neg[5], pp_5_12); - r4bs r4bs_960_1128(gnd, yy[0], single[6], double[6], neg[6], pp_6_12); - fullAdd_x FA_960_1256(int_5_12, int_4_12, pp_4_12, pp_5_12, pp_6_12); - fullAdd_x FA_960_1472(int_7_12, int_6_12, int_1_11, int_3_11, int_0_12); - fullAdd_x FA_960_1688(int_9_12, int_8_12, int_5_11, int_2_12, int_4_12); - fullAdd_x FA_960_1904(int_11_12, int_10_12, int_7_11, int_6_12, int_8_12); - assign Sum[12] = int_9_11; - assign Carry[12] = int_10_12; - - // Hardware for column 13 - - r4bs r4bs_1040_64(yy[12], yy[13], single[0], double[0], neg[0], pp_0_13); - r4bs r4bs_1040_192(yy[10], yy[11], single[1], double[1], neg[1], pp_1_13); - halfAdd HA_1040_320(int_1_13, int_0_13, pp_0_13, pp_1_13); - r4bs r4bs_1040_400(yy[8], yy[9], single[2], double[2], neg[2], pp_2_13); - r4bs r4bs_1040_528(yy[6], yy[7], single[3], double[3], neg[3], pp_3_13); - r4bs r4bs_1040_656(yy[4], yy[5], single[4], double[4], neg[4], pp_4_13); - fullAdd_x FA_1040_784(int_3_13, int_2_13, pp_2_13, pp_3_13, pp_4_13); - r4bs r4bs_1040_1000(yy[2], yy[3], single[5], double[5], neg[5], pp_5_13); - r4bs r4bs_1040_1128(yy[0], yy[1], single[6], double[6], neg[6], pp_6_13); - fullAdd_x FA_1040_1256(int_5_13, int_4_13, pp_5_13, pp_6_13, int_1_12); - fullAdd_x FA_1040_1472(int_7_13, int_6_13, int_3_12, int_5_12, int_0_13); - fullAdd_x FA_1040_1688(int_9_13, int_8_13, int_7_12, int_2_13, int_4_13); - fullAdd_x FA_1040_1904(int_11_13, int_10_13, int_9_12, int_6_13, int_8_13); - assign Sum[13] = int_11_12; - assign Carry[13] = int_10_13; - - // Hardware for column 14 - - r4bs r4bs_1120_64(yy[13], yy[14], single[0], double[0], neg[0], pp_0_14); - halfAdd HA_1120_192(int_1_14, int_0_14, neg[7], pp_0_14); - r4bs r4bs_1120_272(yy[11], yy[12], single[1], double[1], neg[1], pp_1_14); - r4bs r4bs_1120_400(yy[9], yy[10], single[2], double[2], neg[2], pp_2_14); - r4bs r4bs_1120_528(yy[7], yy[8], single[3], double[3], neg[3], pp_3_14); - fullAdd_x FA_1120_656(int_3_14, int_2_14, pp_1_14, pp_2_14, pp_3_14); - r4bs r4bs_1120_872(yy[5], yy[6], single[4], double[4], neg[4], pp_4_14); - r4bs r4bs_1120_1000(yy[3], yy[4], single[5], double[5], neg[5], pp_5_14); - r4bs r4bs_1120_1128(yy[1], yy[2], single[6], double[6], neg[6], pp_6_14); - fullAdd_x FA_1120_1256(int_5_14, int_4_14, pp_4_14, pp_5_14, pp_6_14); - r4bs r4bs_1120_1472(gnd, yy[0], single[7], double[7], neg[7], pp_7_14); - fullAdd_x FA_1120_1600(int_7_14, int_6_14, pp_7_14, int_1_13, int_3_13); - fullAdd_x FA_1120_1816(int_9_14, int_8_14, int_0_14, int_5_13, int_7_13); - fullAdd_x FA_1120_2032(int_11_14, int_10_14, int_2_14, int_4_14, int_6_14); - fullAdd_x FA_1120_2248(int_13_14, int_12_14, int_9_13, int_8_14, int_10_14); - assign Sum[14] = int_11_13; - assign Carry[14] = int_12_14; - - // Hardware for column 15 - - r4bs r4bs_1200_64(yy[14], yy[15], single[0], double[0], neg[0], pp_0_15); - r4bs r4bs_1200_192(yy[12], yy[13], single[1], double[1], neg[1], pp_1_15); - halfAdd HA_1200_320(int_1_15, int_0_15, pp_0_15, pp_1_15); - r4bs r4bs_1200_400(yy[10], yy[11], single[2], double[2], neg[2], pp_2_15); - r4bs r4bs_1200_528(yy[8], yy[9], single[3], double[3], neg[3], pp_3_15); - r4bs r4bs_1200_656(yy[6], yy[7], single[4], double[4], neg[4], pp_4_15); - fullAdd_x FA_1200_784(int_3_15, int_2_15, pp_2_15, pp_3_15, pp_4_15); - r4bs r4bs_1200_1000(yy[4], yy[5], single[5], double[5], neg[5], pp_5_15); - r4bs r4bs_1200_1128(yy[2], yy[3], single[6], double[6], neg[6], pp_6_15); - r4bs r4bs_1200_1256(yy[0], yy[1], single[7], double[7], neg[7], pp_7_15); - fullAdd_x FA_1200_1384(int_5_15, int_4_15, pp_5_15, pp_6_15, pp_7_15); - fullAdd_x FA_1200_1600(int_7_15, int_6_15, int_1_14, int_3_14, int_5_14); - fullAdd_x FA_1200_1816(int_9_15, int_8_15, int_0_15, int_7_14, int_2_15); - fullAdd_x FA_1200_2032(int_11_15, int_10_15, int_4_15, int_9_14, int_6_15); - fullAdd_x FA_1200_2248(int_13_15, int_12_15, int_11_14, int_8_15, int_13_14); - assign Sum[15] = int_10_15; - assign Carry[15] = int_12_15; - - // Hardware for column 16 - - r4bs r4bs_1280_64(yy[15], yy[16], single[0], double[0], neg[0], pp_0_16); - halfAdd HA_1280_192(int_1_16, int_0_16, neg[8], pp_0_16); - r4bs r4bs_1280_272(yy[13], yy[14], single[1], double[1], neg[1], pp_1_16); - r4bs r4bs_1280_400(yy[11], yy[12], single[2], double[2], neg[2], pp_2_16); - r4bs r4bs_1280_528(yy[9], yy[10], single[3], double[3], neg[3], pp_3_16); - fullAdd_x FA_1280_656(int_3_16, int_2_16, pp_1_16, pp_2_16, pp_3_16); - r4bs r4bs_1280_872(yy[7], yy[8], single[4], double[4], neg[4], pp_4_16); - r4bs r4bs_1280_1000(yy[5], yy[6], single[5], double[5], neg[5], pp_5_16); - r4bs r4bs_1280_1128(yy[3], yy[4], single[6], double[6], neg[6], pp_6_16); - fullAdd_x FA_1280_1256(int_5_16, int_4_16, pp_4_16, pp_5_16, pp_6_16); - r4bs r4bs_1280_1472(yy[1], yy[2], single[7], double[7], neg[7], pp_7_16); - r4bs r4bs_1280_1600(gnd, yy[0], single[8], double[8], neg[8], pp_8_16); - fullAdd_x FA_1280_1728(int_7_16, int_6_16, pp_7_16, pp_8_16, int_1_15); - fullAdd_x FA_1280_1944(int_9_16, int_8_16, int_3_15, int_5_15, int_0_16); - fullAdd_x FA_1280_2160(int_11_16, int_10_16, int_7_15, int_2_16, int_4_16); - fullAdd_x FA_1280_2376(int_13_16, int_12_16, int_6_16, int_9_15, int_8_16); - fullAdd_x FA_1280_2592(int_15_16, int_14_16, int_11_15, int_10_16, int_12_16); - assign Sum[16] = int_13_15; - assign Carry[16] = int_14_16; - - // Hardware for column 17 - - r4bs r4bs_1360_64(yy[16], yy[17], single[0], double[0], neg[0], pp_0_17); - r4bs r4bs_1360_192(yy[14], yy[15], single[1], double[1], neg[1], pp_1_17); - halfAdd HA_1360_320(int_1_17, int_0_17, pp_0_17, pp_1_17); - r4bs r4bs_1360_400(yy[12], yy[13], single[2], double[2], neg[2], pp_2_17); - r4bs r4bs_1360_528(yy[10], yy[11], single[3], double[3], neg[3], pp_3_17); - r4bs r4bs_1360_656(yy[8], yy[9], single[4], double[4], neg[4], pp_4_17); - fullAdd_x FA_1360_784(int_3_17, int_2_17, pp_2_17, pp_3_17, pp_4_17); - r4bs r4bs_1360_1000(yy[6], yy[7], single[5], double[5], neg[5], pp_5_17); - r4bs r4bs_1360_1128(yy[4], yy[5], single[6], double[6], neg[6], pp_6_17); - r4bs r4bs_1360_1256(yy[2], yy[3], single[7], double[7], neg[7], pp_7_17); - fullAdd_x FA_1360_1384(int_5_17, int_4_17, pp_5_17, pp_6_17, pp_7_17); - r4bs r4bs_1360_1600(yy[0], yy[1], single[8], double[8], neg[8], pp_8_17); - fullAdd_x FA_1360_1728(int_7_17, int_6_17, pp_8_17, int_1_16, int_3_16); - fullAdd_x FA_1360_1944(int_9_17, int_8_17, int_5_16, int_0_17, int_7_16); - fullAdd_x FA_1360_2160(int_11_17, int_10_17, int_9_16, int_2_17, int_4_17); - fullAdd_x FA_1360_2376(int_13_17, int_12_17, int_6_17, int_11_16, int_8_17); - fullAdd_x FA_1360_2592(int_15_17, int_14_17, int_13_16, int_10_17, int_12_17); - assign Sum[17] = int_15_16; - assign Carry[17] = int_14_17; - - // Hardware for column 18 - - r4bs r4bs_1440_64(yy[17], yy[18], single[0], double[0], neg[0], pp_0_18); - halfAdd HA_1440_192(int_1_18, int_0_18, neg[9], pp_0_18); - r4bs r4bs_1440_272(yy[15], yy[16], single[1], double[1], neg[1], pp_1_18); - r4bs r4bs_1440_400(yy[13], yy[14], single[2], double[2], neg[2], pp_2_18); - r4bs r4bs_1440_528(yy[11], yy[12], single[3], double[3], neg[3], pp_3_18); - fullAdd_x FA_1440_656(int_3_18, int_2_18, pp_1_18, pp_2_18, pp_3_18); - r4bs r4bs_1440_872(yy[9], yy[10], single[4], double[4], neg[4], pp_4_18); - r4bs r4bs_1440_1000(yy[7], yy[8], single[5], double[5], neg[5], pp_5_18); - r4bs r4bs_1440_1128(yy[5], yy[6], single[6], double[6], neg[6], pp_6_18); - fullAdd_x FA_1440_1256(int_5_18, int_4_18, pp_4_18, pp_5_18, pp_6_18); - r4bs r4bs_1440_1472(yy[3], yy[4], single[7], double[7], neg[7], pp_7_18); - r4bs r4bs_1440_1600(yy[1], yy[2], single[8], double[8], neg[8], pp_8_18); - r4bs r4bs_1440_1728(gnd, yy[0], single[9], double[9], neg[9], pp_9_18); - fullAdd_x FA_1440_1856(int_7_18, int_6_18, pp_7_18, pp_8_18, pp_9_18); - fullAdd_x FA_1440_2072(int_9_18, int_8_18, int_1_17, int_3_17, int_5_17); - fullAdd_x FA_1440_2288(int_11_18, int_10_18, int_0_18, int_7_17, int_2_18); - fullAdd_x FA_1440_2504(int_13_18, int_12_18, int_4_18, int_6_18, int_9_17); - fullAdd_x FA_1440_2720(int_15_18, int_14_18, int_11_17, int_8_18, int_13_17); - fullAdd_x FA_1440_2936(int_17_18, int_16_18, int_10_18, int_12_18, int_14_18); - assign Sum[18] = int_15_17; - assign Carry[18] = int_16_18; - - // Hardware for column 19 - - r4bs r4bs_1520_64(yy[18], yy[19], single[0], double[0], neg[0], pp_0_19); - r4bs r4bs_1520_192(yy[16], yy[17], single[1], double[1], neg[1], pp_1_19); - halfAdd HA_1520_320(int_1_19, int_0_19, pp_0_19, pp_1_19); - r4bs r4bs_1520_400(yy[14], yy[15], single[2], double[2], neg[2], pp_2_19); - r4bs r4bs_1520_528(yy[12], yy[13], single[3], double[3], neg[3], pp_3_19); - r4bs r4bs_1520_656(yy[10], yy[11], single[4], double[4], neg[4], pp_4_19); - fullAdd_x FA_1520_784(int_3_19, int_2_19, pp_2_19, pp_3_19, pp_4_19); - r4bs r4bs_1520_1000(yy[8], yy[9], single[5], double[5], neg[5], pp_5_19); - r4bs r4bs_1520_1128(yy[6], yy[7], single[6], double[6], neg[6], pp_6_19); - r4bs r4bs_1520_1256(yy[4], yy[5], single[7], double[7], neg[7], pp_7_19); - fullAdd_x FA_1520_1384(int_5_19, int_4_19, pp_5_19, pp_6_19, pp_7_19); - r4bs r4bs_1520_1600(yy[2], yy[3], single[8], double[8], neg[8], pp_8_19); - r4bs r4bs_1520_1728(yy[0], yy[1], single[9], double[9], neg[9], pp_9_19); - fullAdd_x FA_1520_1856(int_7_19, int_6_19, pp_8_19, pp_9_19, int_1_18); - fullAdd_x FA_1520_2072(int_9_19, int_8_19, int_3_18, int_5_18, int_7_18); - fullAdd_x FA_1520_2288(int_11_19, int_10_19, int_0_19, int_9_18, int_2_19); - fullAdd_x FA_1520_2504(int_13_19, int_12_19, int_4_19, int_6_19, int_11_18); - fullAdd_x FA_1520_2720(int_15_19, int_14_19, int_8_19, int_13_18, int_10_19); - fullAdd_x FA_1520_2936(int_17_19, int_16_19, int_12_19, int_15_18, int_14_19); - assign Sum[19] = int_17_18; - assign Carry[19] = int_16_19; - - // Hardware for column 20 - - r4bs r4bs_1600_64(yy[19], yy[20], single[0], double[0], neg[0], pp_0_20); - halfAdd HA_1600_192(int_1_20, int_0_20, neg[10], pp_0_20); - r4bs r4bs_1600_272(yy[17], yy[18], single[1], double[1], neg[1], pp_1_20); - r4bs r4bs_1600_400(yy[15], yy[16], single[2], double[2], neg[2], pp_2_20); - r4bs r4bs_1600_528(yy[13], yy[14], single[3], double[3], neg[3], pp_3_20); - fullAdd_x FA_1600_656(int_3_20, int_2_20, pp_1_20, pp_2_20, pp_3_20); - r4bs r4bs_1600_872(yy[11], yy[12], single[4], double[4], neg[4], pp_4_20); - r4bs r4bs_1600_1000(yy[9], yy[10], single[5], double[5], neg[5], pp_5_20); - r4bs r4bs_1600_1128(yy[7], yy[8], single[6], double[6], neg[6], pp_6_20); - fullAdd_x FA_1600_1256(int_5_20, int_4_20, pp_4_20, pp_5_20, pp_6_20); - r4bs r4bs_1600_1472(yy[5], yy[6], single[7], double[7], neg[7], pp_7_20); - r4bs r4bs_1600_1600(yy[3], yy[4], single[8], double[8], neg[8], pp_8_20); - r4bs r4bs_1600_1728(yy[1], yy[2], single[9], double[9], neg[9], pp_9_20); - fullAdd_x FA_1600_1856(int_7_20, int_6_20, pp_7_20, pp_8_20, pp_9_20); - r4bs r4bs_1600_2072(gnd, yy[0], single[10], double[10], neg[10], pp_10_20); - fullAdd_x FA_1600_2200(int_9_20, int_8_20, pp_10_20, int_1_19, int_3_19); - fullAdd_x FA_1600_2416(int_11_20, int_10_20, int_5_19, int_0_20, int_7_19); - fullAdd_x FA_1600_2632(int_13_20, int_12_20, int_9_19, int_2_20, int_4_20); - fullAdd_x FA_1600_2848(int_15_20, int_14_20, int_6_20, int_8_20, int_11_19); - fullAdd_x FA_1600_3064(int_17_20, int_16_20, int_10_20, int_13_19, int_12_20); - fullAdd_x FA_1600_3280(int_19_20, int_18_20, int_14_20, int_15_19, int_16_20); - assign Sum[20] = int_17_19; - assign Carry[20] = int_18_20; - - // Hardware for column 21 - - r4bs r4bs_1680_64(yy[20], yy[21], single[0], double[0], neg[0], pp_0_21); - r4bs r4bs_1680_192(yy[18], yy[19], single[1], double[1], neg[1], pp_1_21); - halfAdd HA_1680_320(int_1_21, int_0_21, pp_0_21, pp_1_21); - r4bs r4bs_1680_400(yy[16], yy[17], single[2], double[2], neg[2], pp_2_21); - r4bs r4bs_1680_528(yy[14], yy[15], single[3], double[3], neg[3], pp_3_21); - r4bs r4bs_1680_656(yy[12], yy[13], single[4], double[4], neg[4], pp_4_21); - fullAdd_x FA_1680_784(int_3_21, int_2_21, pp_2_21, pp_3_21, pp_4_21); - r4bs r4bs_1680_1000(yy[10], yy[11], single[5], double[5], neg[5], pp_5_21); - r4bs r4bs_1680_1128(yy[8], yy[9], single[6], double[6], neg[6], pp_6_21); - r4bs r4bs_1680_1256(yy[6], yy[7], single[7], double[7], neg[7], pp_7_21); - fullAdd_x FA_1680_1384(int_5_21, int_4_21, pp_5_21, pp_6_21, pp_7_21); - r4bs r4bs_1680_1600(yy[4], yy[5], single[8], double[8], neg[8], pp_8_21); - r4bs r4bs_1680_1728(yy[2], yy[3], single[9], double[9], neg[9], pp_9_21); - r4bs r4bs_1680_1856(yy[0], yy[1], single[10], double[10], neg[10], pp_10_21); - fullAdd_x FA_1680_1984(int_7_21, int_6_21, pp_8_21, pp_9_21, pp_10_21); - fullAdd_x FA_1680_2200(int_9_21, int_8_21, int_1_20, int_3_20, int_5_20); - fullAdd_x FA_1680_2416(int_11_21, int_10_21, int_7_20, int_0_21, int_9_20); - fullAdd_x FA_1680_2632(int_13_21, int_12_21, int_2_21, int_4_21, int_6_21); - fullAdd_x FA_1680_2848(int_15_21, int_14_21, int_11_20, int_13_20, int_8_21); - fullAdd_x FA_1680_3064(int_17_21, int_16_21, int_10_21, int_15_20, int_12_21); - fullAdd_x FA_1680_3280(int_19_21, int_18_21, int_17_20, int_14_21, int_16_21); - assign Sum[21] = int_19_20; - assign Carry[21] = int_18_21; - - // Hardware for column 22 - - r4bs r4bs_1760_64(yy[21], yy[22], single[0], double[0], neg[0], pp_0_22); - halfAdd HA_1760_192(int_1_22, int_0_22, neg[11], pp_0_22); - r4bs r4bs_1760_272(yy[19], yy[20], single[1], double[1], neg[1], pp_1_22); - r4bs r4bs_1760_400(yy[17], yy[18], single[2], double[2], neg[2], pp_2_22); - r4bs r4bs_1760_528(yy[15], yy[16], single[3], double[3], neg[3], pp_3_22); - fullAdd_x FA_1760_656(int_3_22, int_2_22, pp_1_22, pp_2_22, pp_3_22); - r4bs r4bs_1760_872(yy[13], yy[14], single[4], double[4], neg[4], pp_4_22); - r4bs r4bs_1760_1000(yy[11], yy[12], single[5], double[5], neg[5], pp_5_22); - r4bs r4bs_1760_1128(yy[9], yy[10], single[6], double[6], neg[6], pp_6_22); - fullAdd_x FA_1760_1256(int_5_22, int_4_22, pp_4_22, pp_5_22, pp_6_22); - r4bs r4bs_1760_1472(yy[7], yy[8], single[7], double[7], neg[7], pp_7_22); - r4bs r4bs_1760_1600(yy[5], yy[6], single[8], double[8], neg[8], pp_8_22); - r4bs r4bs_1760_1728(yy[3], yy[4], single[9], double[9], neg[9], pp_9_22); - fullAdd_x FA_1760_1856(int_7_22, int_6_22, pp_7_22, pp_8_22, pp_9_22); - r4bs r4bs_1760_2072(yy[1], yy[2], single[10], double[10], neg[10], pp_10_22); - r4bs r4bs_1760_2200(gnd, yy[0], single[11], double[11], neg[11], pp_11_22); - fullAdd_x FA_1760_2328(int_9_22, int_8_22, pp_10_22, pp_11_22, int_1_21); - fullAdd_x FA_1760_2544(int_11_22, int_10_22, int_3_21, int_5_21, int_7_21); - fullAdd_x FA_1760_2760(int_13_22, int_12_22, int_0_22, int_9_21, int_2_22); - fullAdd_x FA_1760_2976(int_15_22, int_14_22, int_4_22, int_6_22, int_8_22); - fullAdd_x FA_1760_3192(int_17_22, int_16_22, int_11_21, int_13_21, int_10_22); - fullAdd_x FA_1760_3408(int_19_22, int_18_22, int_15_21, int_12_22, int_14_22); - fullAdd_x FA_1760_3624(int_21_22, int_20_22, int_17_21, int_16_22, int_18_22); - assign Sum[22] = int_19_21; - assign Carry[22] = int_20_22; - - // Hardware for column 23 - - r4bs r4bs_1840_64(yy[22], yy[23], single[0], double[0], neg[0], pp_0_23); - r4bs r4bs_1840_192(yy[20], yy[21], single[1], double[1], neg[1], pp_1_23); - halfAdd HA_1840_320(int_1_23, int_0_23, pp_0_23, pp_1_23); - r4bs r4bs_1840_400(yy[18], yy[19], single[2], double[2], neg[2], pp_2_23); - r4bs r4bs_1840_528(yy[16], yy[17], single[3], double[3], neg[3], pp_3_23); - r4bs r4bs_1840_656(yy[14], yy[15], single[4], double[4], neg[4], pp_4_23); - fullAdd_x FA_1840_784(int_3_23, int_2_23, pp_2_23, pp_3_23, pp_4_23); - r4bs r4bs_1840_1000(yy[12], yy[13], single[5], double[5], neg[5], pp_5_23); - r4bs r4bs_1840_1128(yy[10], yy[11], single[6], double[6], neg[6], pp_6_23); - r4bs r4bs_1840_1256(yy[8], yy[9], single[7], double[7], neg[7], pp_7_23); - fullAdd_x FA_1840_1384(int_5_23, int_4_23, pp_5_23, pp_6_23, pp_7_23); - r4bs r4bs_1840_1600(yy[6], yy[7], single[8], double[8], neg[8], pp_8_23); - r4bs r4bs_1840_1728(yy[4], yy[5], single[9], double[9], neg[9], pp_9_23); - r4bs r4bs_1840_1856(yy[2], yy[3], single[10], double[10], neg[10], pp_10_23); - fullAdd_x FA_1840_1984(int_7_23, int_6_23, pp_8_23, pp_9_23, pp_10_23); - r4bs r4bs_1840_2200(yy[0], yy[1], single[11], double[11], neg[11], pp_11_23); - fullAdd_x FA_1840_2328(int_9_23, int_8_23, pp_11_23, int_1_22, int_3_22); - fullAdd_x FA_1840_2544(int_11_23, int_10_23, int_5_22, int_7_22, int_0_23); - fullAdd_x FA_1840_2760(int_13_23, int_12_23, int_9_22, int_11_22, int_2_23); - fullAdd_x FA_1840_2976(int_15_23, int_14_23, int_4_23, int_6_23, int_8_23); - fullAdd_x FA_1840_3192(int_17_23, int_16_23, int_13_22, int_15_22, int_10_23); - fullAdd_x FA_1840_3408(int_19_23, int_18_23, int_17_22, int_12_23, int_14_23); - fullAdd_x FA_1840_3624(int_21_23, int_20_23, int_19_22, int_16_23, int_18_23); - assign Sum[23] = int_21_22; - assign Carry[23] = int_20_23; - - // Hardware for column 24 - - r4bs r4bs_1920_64(yy[23], yy[24], single[0], double[0], neg[0], pp_0_24); - halfAdd HA_1920_192(int_1_24, int_0_24, neg[12], pp_0_24); - r4bs r4bs_1920_272(yy[21], yy[22], single[1], double[1], neg[1], pp_1_24); - r4bs r4bs_1920_400(yy[19], yy[20], single[2], double[2], neg[2], pp_2_24); - r4bs r4bs_1920_528(yy[17], yy[18], single[3], double[3], neg[3], pp_3_24); - fullAdd_x FA_1920_656(int_3_24, int_2_24, pp_1_24, pp_2_24, pp_3_24); - r4bs r4bs_1920_872(yy[15], yy[16], single[4], double[4], neg[4], pp_4_24); - r4bs r4bs_1920_1000(yy[13], yy[14], single[5], double[5], neg[5], pp_5_24); - r4bs r4bs_1920_1128(yy[11], yy[12], single[6], double[6], neg[6], pp_6_24); - fullAdd_x FA_1920_1256(int_5_24, int_4_24, pp_4_24, pp_5_24, pp_6_24); - r4bs r4bs_1920_1472(yy[9], yy[10], single[7], double[7], neg[7], pp_7_24); - r4bs r4bs_1920_1600(yy[7], yy[8], single[8], double[8], neg[8], pp_8_24); - r4bs r4bs_1920_1728(yy[5], yy[6], single[9], double[9], neg[9], pp_9_24); - fullAdd_x FA_1920_1856(int_7_24, int_6_24, pp_7_24, pp_8_24, pp_9_24); - r4bs r4bs_1920_2072(yy[3], yy[4], single[10], double[10], neg[10], pp_10_24); - r4bs r4bs_1920_2200(yy[1], yy[2], single[11], double[11], neg[11], pp_11_24); - r4bs r4bs_1920_2328(gnd, yy[0], single[12], double[12], neg[12], pp_12_24); - fullAdd_x FA_1920_2456(int_9_24, int_8_24, pp_10_24, pp_11_24, pp_12_24); - fullAdd_x FA_1920_2672(int_11_24, int_10_24, int_1_23, int_3_23, int_5_23); - fullAdd_x FA_1920_2888(int_13_24, int_12_24, int_7_23, int_0_24, int_9_23); - fullAdd_x FA_1920_3104(int_15_24, int_14_24, int_11_23, int_2_24, int_4_24); - fullAdd_x FA_1920_3320(int_17_24, int_16_24, int_6_24, int_8_24, int_13_23); - fullAdd_x FA_1920_3536(int_19_24, int_18_24, int_10_24, int_12_24, int_15_23); - fullAdd_x FA_1920_3752(int_21_24, int_20_24, int_17_23, int_14_24, int_16_24); - fullAdd_x FA_1920_3968(int_23_24, int_22_24, int_19_23, int_18_24, int_20_24); - assign Sum[24] = int_21_23; - assign Carry[24] = int_22_24; - - // Hardware for column 25 - - r4bs r4bs_2000_64(yy[24], yy[25], single[0], double[0], neg[0], pp_0_25); - r4bs r4bs_2000_192(yy[22], yy[23], single[1], double[1], neg[1], pp_1_25); - halfAdd HA_2000_320(int_1_25, int_0_25, pp_0_25, pp_1_25); - r4bs r4bs_2000_400(yy[20], yy[21], single[2], double[2], neg[2], pp_2_25); - r4bs r4bs_2000_528(yy[18], yy[19], single[3], double[3], neg[3], pp_3_25); - r4bs r4bs_2000_656(yy[16], yy[17], single[4], double[4], neg[4], pp_4_25); - fullAdd_x FA_2000_784(int_3_25, int_2_25, pp_2_25, pp_3_25, pp_4_25); - r4bs r4bs_2000_1000(yy[14], yy[15], single[5], double[5], neg[5], pp_5_25); - r4bs r4bs_2000_1128(yy[12], yy[13], single[6], double[6], neg[6], pp_6_25); - r4bs r4bs_2000_1256(yy[10], yy[11], single[7], double[7], neg[7], pp_7_25); - fullAdd_x FA_2000_1384(int_5_25, int_4_25, pp_5_25, pp_6_25, pp_7_25); - r4bs r4bs_2000_1600(yy[8], yy[9], single[8], double[8], neg[8], pp_8_25); - r4bs r4bs_2000_1728(yy[6], yy[7], single[9], double[9], neg[9], pp_9_25); - r4bs r4bs_2000_1856(yy[4], yy[5], single[10], double[10], neg[10], pp_10_25); - fullAdd_x FA_2000_1984(int_7_25, int_6_25, pp_8_25, pp_9_25, pp_10_25); - r4bs r4bs_2000_2200(yy[2], yy[3], single[11], double[11], neg[11], pp_11_25); - r4bs r4bs_2000_2328(yy[0], yy[1], single[12], double[12], neg[12], pp_12_25); - fullAdd_x FA_2000_2456(int_9_25, int_8_25, pp_11_25, pp_12_25, int_1_24); - fullAdd_x FA_2000_2672(int_11_25, int_10_25, int_3_24, int_5_24, int_7_24); - fullAdd_x FA_2000_2888(int_13_25, int_12_25, int_9_24, int_0_25, int_11_24); - fullAdd_x FA_2000_3104(int_15_25, int_14_25, int_2_25, int_4_25, int_6_25); - fullAdd_x FA_2000_3320(int_17_25, int_16_25, int_8_25, int_13_24, int_15_24); - fullAdd_x FA_2000_3536(int_19_25, int_18_25, int_10_25, int_12_25, int_17_24); - fullAdd_x FA_2000_3752(int_21_25, int_20_25, int_14_25, int_19_24, int_21_24); - fullAdd_x FA_2000_3968(int_23_25, int_22_25, int_16_25, int_18_25, int_20_25); - assign Sum[25] = int_23_24; - assign Carry[25] = int_22_25; - - // Hardware for column 26 - - r4bs r4bs_2080_64(yy[25], yy[26], single[0], double[0], neg[0], pp_0_26); - halfAdd HA_2080_192(int_1_26, int_0_26, neg[13], pp_0_26); - r4bs r4bs_2080_272(yy[23], yy[24], single[1], double[1], neg[1], pp_1_26); - r4bs r4bs_2080_400(yy[21], yy[22], single[2], double[2], neg[2], pp_2_26); - r4bs r4bs_2080_528(yy[19], yy[20], single[3], double[3], neg[3], pp_3_26); - fullAdd_x FA_2080_656(int_3_26, int_2_26, pp_1_26, pp_2_26, pp_3_26); - r4bs r4bs_2080_872(yy[17], yy[18], single[4], double[4], neg[4], pp_4_26); - r4bs r4bs_2080_1000(yy[15], yy[16], single[5], double[5], neg[5], pp_5_26); - r4bs r4bs_2080_1128(yy[13], yy[14], single[6], double[6], neg[6], pp_6_26); - fullAdd_x FA_2080_1256(int_5_26, int_4_26, pp_4_26, pp_5_26, pp_6_26); - r4bs r4bs_2080_1472(yy[11], yy[12], single[7], double[7], neg[7], pp_7_26); - r4bs r4bs_2080_1600(yy[9], yy[10], single[8], double[8], neg[8], pp_8_26); - r4bs r4bs_2080_1728(yy[7], yy[8], single[9], double[9], neg[9], pp_9_26); - fullAdd_x FA_2080_1856(int_7_26, int_6_26, pp_7_26, pp_8_26, pp_9_26); - r4bs r4bs_2080_2072(yy[5], yy[6], single[10], double[10], neg[10], pp_10_26); - r4bs r4bs_2080_2200(yy[3], yy[4], single[11], double[11], neg[11], pp_11_26); - r4bs r4bs_2080_2328(yy[1], yy[2], single[12], double[12], neg[12], pp_12_26); - fullAdd_x FA_2080_2456(int_9_26, int_8_26, pp_10_26, pp_11_26, pp_12_26); - r4bs r4bs_2080_2672(gnd, yy[0], single[13], double[13], neg[13], pp_13_26); - fullAdd_x FA_2080_2800(int_11_26, int_10_26, pp_13_26, int_1_25, int_3_25); - fullAdd_x FA_2080_3016(int_13_26, int_12_26, int_5_25, int_7_25, int_0_26); - fullAdd_x FA_2080_3232(int_15_26, int_14_26, int_9_25, int_11_25, int_2_26); - fullAdd_x FA_2080_3448(int_17_26, int_16_26, int_4_26, int_6_26, int_8_26); - fullAdd_x FA_2080_3664(int_19_26, int_18_26, int_10_26, int_13_25, int_15_25); - fullAdd_x FA_2080_3880(int_21_26, int_20_26, int_12_26, int_17_25, int_14_26); - fullAdd_x FA_2080_4096(int_23_26, int_22_26, int_16_26, int_19_25, int_18_26); - fullAdd_x FA_2080_4312(int_25_26, int_24_26, int_21_25, int_20_26, int_22_26); - assign Sum[26] = int_23_25; - assign Carry[26] = int_24_26; - - // Hardware for column 27 - - r4bs r4bs_2160_64(yy[26], yy[27], single[0], double[0], neg[0], pp_0_27); - r4bs r4bs_2160_192(yy[24], yy[25], single[1], double[1], neg[1], pp_1_27); - halfAdd HA_2160_320(int_1_27, int_0_27, pp_0_27, pp_1_27); - r4bs r4bs_2160_400(yy[22], yy[23], single[2], double[2], neg[2], pp_2_27); - r4bs r4bs_2160_528(yy[20], yy[21], single[3], double[3], neg[3], pp_3_27); - r4bs r4bs_2160_656(yy[18], yy[19], single[4], double[4], neg[4], pp_4_27); - fullAdd_x FA_2160_784(int_3_27, int_2_27, pp_2_27, pp_3_27, pp_4_27); - r4bs r4bs_2160_1000(yy[16], yy[17], single[5], double[5], neg[5], pp_5_27); - r4bs r4bs_2160_1128(yy[14], yy[15], single[6], double[6], neg[6], pp_6_27); - r4bs r4bs_2160_1256(yy[12], yy[13], single[7], double[7], neg[7], pp_7_27); - fullAdd_x FA_2160_1384(int_5_27, int_4_27, pp_5_27, pp_6_27, pp_7_27); - r4bs r4bs_2160_1600(yy[10], yy[11], single[8], double[8], neg[8], pp_8_27); - r4bs r4bs_2160_1728(yy[8], yy[9], single[9], double[9], neg[9], pp_9_27); - r4bs r4bs_2160_1856(yy[6], yy[7], single[10], double[10], neg[10], pp_10_27); - fullAdd_x FA_2160_1984(int_7_27, int_6_27, pp_8_27, pp_9_27, pp_10_27); - r4bs r4bs_2160_2200(yy[4], yy[5], single[11], double[11], neg[11], pp_11_27); - r4bs r4bs_2160_2328(yy[2], yy[3], single[12], double[12], neg[12], pp_12_27); - r4bs r4bs_2160_2456(yy[0], yy[1], single[13], double[13], neg[13], pp_13_27); - fullAdd_x FA_2160_2584(int_9_27, int_8_27, pp_11_27, pp_12_27, pp_13_27); - fullAdd_x FA_2160_2800(int_11_27, int_10_27, int_1_26, int_3_26, int_5_26); - fullAdd_x FA_2160_3016(int_13_27, int_12_27, int_7_26, int_9_26, int_0_27); - fullAdd_x FA_2160_3232(int_15_27, int_14_27, int_11_26, int_13_26, int_2_27); - fullAdd_x FA_2160_3448(int_17_27, int_16_27, int_4_27, int_6_27, int_8_27); - fullAdd_x FA_2160_3664(int_19_27, int_18_27, int_15_26, int_17_26, int_10_27); - fullAdd_x FA_2160_3880(int_21_27, int_20_27, int_12_27, int_19_26, int_14_27); - fullAdd_x FA_2160_4096(int_23_27, int_22_27, int_16_27, int_21_26, int_18_27); - fullAdd_x FA_2160_4312(int_25_27, int_24_27, int_23_26, int_20_27, int_22_27); - assign Sum[27] = int_25_26; - assign Carry[27] = int_24_27; - - // Hardware for column 28 - - r4bs r4bs_2240_64(yy[27], yy[28], single[0], double[0], neg[0], pp_0_28); - halfAdd HA_2240_192(int_1_28, int_0_28, neg[14], pp_0_28); - r4bs r4bs_2240_272(yy[25], yy[26], single[1], double[1], neg[1], pp_1_28); - r4bs r4bs_2240_400(yy[23], yy[24], single[2], double[2], neg[2], pp_2_28); - r4bs r4bs_2240_528(yy[21], yy[22], single[3], double[3], neg[3], pp_3_28); - fullAdd_x FA_2240_656(int_3_28, int_2_28, pp_1_28, pp_2_28, pp_3_28); - r4bs r4bs_2240_872(yy[19], yy[20], single[4], double[4], neg[4], pp_4_28); - r4bs r4bs_2240_1000(yy[17], yy[18], single[5], double[5], neg[5], pp_5_28); - r4bs r4bs_2240_1128(yy[15], yy[16], single[6], double[6], neg[6], pp_6_28); - fullAdd_x FA_2240_1256(int_5_28, int_4_28, pp_4_28, pp_5_28, pp_6_28); - r4bs r4bs_2240_1472(yy[13], yy[14], single[7], double[7], neg[7], pp_7_28); - r4bs r4bs_2240_1600(yy[11], yy[12], single[8], double[8], neg[8], pp_8_28); - r4bs r4bs_2240_1728(yy[9], yy[10], single[9], double[9], neg[9], pp_9_28); - fullAdd_x FA_2240_1856(int_7_28, int_6_28, pp_7_28, pp_8_28, pp_9_28); - r4bs r4bs_2240_2072(yy[7], yy[8], single[10], double[10], neg[10], pp_10_28); - r4bs r4bs_2240_2200(yy[5], yy[6], single[11], double[11], neg[11], pp_11_28); - r4bs r4bs_2240_2328(yy[3], yy[4], single[12], double[12], neg[12], pp_12_28); - fullAdd_x FA_2240_2456(int_9_28, int_8_28, pp_10_28, pp_11_28, pp_12_28); - r4bs r4bs_2240_2672(yy[1], yy[2], single[13], double[13], neg[13], pp_13_28); - r4bs r4bs_2240_2800(gnd, yy[0], single[14], double[14], neg[14], pp_14_28); - fullAdd_x FA_2240_2928(int_11_28, int_10_28, pp_13_28, pp_14_28, int_1_27); - fullAdd_x FA_2240_3144(int_13_28, int_12_28, int_3_27, int_5_27, int_7_27); - fullAdd_x FA_2240_3360(int_15_28, int_14_28, int_9_27, int_0_28, int_11_27); - fullAdd_x FA_2240_3576(int_17_28, int_16_28, int_13_27, int_2_28, int_4_28); - fullAdd_x FA_2240_3792(int_19_28, int_18_28, int_6_28, int_8_28, int_10_28); - fullAdd_x FA_2240_4008(int_21_28, int_20_28, int_15_27, int_17_27, int_12_28); - fullAdd_x FA_2240_4224(int_23_28, int_22_28, int_14_28, int_19_27, int_16_28); - fullAdd_x FA_2240_4440(int_25_28, int_24_28, int_18_28, int_21_27, int_20_28); - fullAdd_x FA_2240_4656(int_27_28, int_26_28, int_23_27, int_22_28, int_24_28); - assign Sum[28] = int_25_27; - assign Carry[28] = int_26_28; - - // Hardware for column 29 - - r4bs r4bs_2320_64(yy[28], yy[29], single[0], double[0], neg[0], pp_0_29); - r4bs r4bs_2320_192(yy[26], yy[27], single[1], double[1], neg[1], pp_1_29); - halfAdd HA_2320_320(int_1_29, int_0_29, pp_0_29, pp_1_29); - r4bs r4bs_2320_400(yy[24], yy[25], single[2], double[2], neg[2], pp_2_29); - r4bs r4bs_2320_528(yy[22], yy[23], single[3], double[3], neg[3], pp_3_29); - r4bs r4bs_2320_656(yy[20], yy[21], single[4], double[4], neg[4], pp_4_29); - fullAdd_x FA_2320_784(int_3_29, int_2_29, pp_2_29, pp_3_29, pp_4_29); - r4bs r4bs_2320_1000(yy[18], yy[19], single[5], double[5], neg[5], pp_5_29); - r4bs r4bs_2320_1128(yy[16], yy[17], single[6], double[6], neg[6], pp_6_29); - r4bs r4bs_2320_1256(yy[14], yy[15], single[7], double[7], neg[7], pp_7_29); - fullAdd_x FA_2320_1384(int_5_29, int_4_29, pp_5_29, pp_6_29, pp_7_29); - r4bs r4bs_2320_1600(yy[12], yy[13], single[8], double[8], neg[8], pp_8_29); - r4bs r4bs_2320_1728(yy[10], yy[11], single[9], double[9], neg[9], pp_9_29); - r4bs r4bs_2320_1856(yy[8], yy[9], single[10], double[10], neg[10], pp_10_29); - fullAdd_x FA_2320_1984(int_7_29, int_6_29, pp_8_29, pp_9_29, pp_10_29); - r4bs r4bs_2320_2200(yy[6], yy[7], single[11], double[11], neg[11], pp_11_29); - r4bs r4bs_2320_2328(yy[4], yy[5], single[12], double[12], neg[12], pp_12_29); - r4bs r4bs_2320_2456(yy[2], yy[3], single[13], double[13], neg[13], pp_13_29); - fullAdd_x FA_2320_2584(int_9_29, int_8_29, pp_11_29, pp_12_29, pp_13_29); - r4bs r4bs_2320_2800(yy[0], yy[1], single[14], double[14], neg[14], pp_14_29); - fullAdd_x FA_2320_2928(int_11_29, int_10_29, pp_14_29, int_1_28, int_3_28); - fullAdd_x FA_2320_3144(int_13_29, int_12_29, int_5_28, int_7_28, int_9_28); - fullAdd_x FA_2320_3360(int_15_29, int_14_29, int_0_29, int_11_28, int_13_28); - fullAdd_x FA_2320_3576(int_17_29, int_16_29, int_2_29, int_4_29, int_6_29); - fullAdd_x FA_2320_3792(int_19_29, int_18_29, int_8_29, int_10_29, int_15_28); - fullAdd_x FA_2320_4008(int_21_29, int_20_29, int_17_28, int_19_28, int_12_29); - fullAdd_x FA_2320_4224(int_23_29, int_22_29, int_14_29, int_21_28, int_16_29); - fullAdd_x FA_2320_4440(int_25_29, int_24_29, int_18_29, int_23_28, int_20_29); - fullAdd_x FA_2320_4656(int_27_29, int_26_29, int_25_28, int_22_29, int_24_29); - assign Sum[29] = int_27_28; - assign Carry[29] = int_26_29; - - // Hardware for column 30 - - r4bs r4bs_2400_64(yy[29], yy[30], single[0], double[0], neg[0], pp_0_30); - halfAdd HA_2400_192(int_1_30, int_0_30, neg[15], pp_0_30); - r4bs r4bs_2400_272(yy[27], yy[28], single[1], double[1], neg[1], pp_1_30); - r4bs r4bs_2400_400(yy[25], yy[26], single[2], double[2], neg[2], pp_2_30); - r4bs r4bs_2400_528(yy[23], yy[24], single[3], double[3], neg[3], pp_3_30); - fullAdd_x FA_2400_656(int_3_30, int_2_30, pp_1_30, pp_2_30, pp_3_30); - r4bs r4bs_2400_872(yy[21], yy[22], single[4], double[4], neg[4], pp_4_30); - r4bs r4bs_2400_1000(yy[19], yy[20], single[5], double[5], neg[5], pp_5_30); - r4bs r4bs_2400_1128(yy[17], yy[18], single[6], double[6], neg[6], pp_6_30); - fullAdd_x FA_2400_1256(int_5_30, int_4_30, pp_4_30, pp_5_30, pp_6_30); - r4bs r4bs_2400_1472(yy[15], yy[16], single[7], double[7], neg[7], pp_7_30); - r4bs r4bs_2400_1600(yy[13], yy[14], single[8], double[8], neg[8], pp_8_30); - r4bs r4bs_2400_1728(yy[11], yy[12], single[9], double[9], neg[9], pp_9_30); - fullAdd_x FA_2400_1856(int_7_30, int_6_30, pp_7_30, pp_8_30, pp_9_30); - r4bs r4bs_2400_2072(yy[9], yy[10], single[10], double[10], neg[10], pp_10_30); - r4bs r4bs_2400_2200(yy[7], yy[8], single[11], double[11], neg[11], pp_11_30); - r4bs r4bs_2400_2328(yy[5], yy[6], single[12], double[12], neg[12], pp_12_30); - fullAdd_x FA_2400_2456(int_9_30, int_8_30, pp_10_30, pp_11_30, pp_12_30); - r4bs r4bs_2400_2672(yy[3], yy[4], single[13], double[13], neg[13], pp_13_30); - r4bs r4bs_2400_2800(yy[1], yy[2], single[14], double[14], neg[14], pp_14_30); - r4bs r4bs_2400_2928(gnd, yy[0], single[15], double[15], neg[15], pp_15_30); - fullAdd_x FA_2400_3056(int_11_30, int_10_30, pp_13_30, pp_14_30, pp_15_30); - fullAdd_x FA_2400_3272(int_13_30, int_12_30, int_1_29, int_3_29, int_5_29); - fullAdd_x FA_2400_3488(int_15_30, int_14_30, int_7_29, int_9_29, int_0_30); - fullAdd_x FA_2400_3704(int_17_30, int_16_30, int_11_29, int_13_29, int_2_30); - fullAdd_x FA_2400_3920(int_19_30, int_18_30, int_4_30, int_6_30, int_8_30); - fullAdd_x FA_2400_4136(int_21_30, int_20_30, int_10_30, int_15_29, int_17_29); - fullAdd_x FA_2400_4352(int_23_30, int_22_30, int_12_30, int_14_30, int_19_29); - fullAdd_x FA_2400_4568(int_25_30, int_24_30, int_21_29, int_16_30, int_18_30); - fullAdd_x FA_2400_4784(int_27_30, int_26_30, int_23_29, int_20_30, int_22_30); - fullAdd_x FA_2400_5000(int_29_30, int_28_30, int_25_29, int_24_30, int_26_30); - assign Sum[30] = int_27_29; - assign Carry[30] = int_28_30; - - // Hardware for column 31 - - r4bs r4bs_2480_64(yy[30], yy[31], single[0], double[0], neg[0], pp_0_31); - r4bs r4bs_2480_192(yy[28], yy[29], single[1], double[1], neg[1], pp_1_31); - halfAdd HA_2480_320(int_1_31, int_0_31, pp_0_31, pp_1_31); - r4bs r4bs_2480_400(yy[26], yy[27], single[2], double[2], neg[2], pp_2_31); - r4bs r4bs_2480_528(yy[24], yy[25], single[3], double[3], neg[3], pp_3_31); - r4bs r4bs_2480_656(yy[22], yy[23], single[4], double[4], neg[4], pp_4_31); - fullAdd_x FA_2480_784(int_3_31, int_2_31, pp_2_31, pp_3_31, pp_4_31); - r4bs r4bs_2480_1000(yy[20], yy[21], single[5], double[5], neg[5], pp_5_31); - r4bs r4bs_2480_1128(yy[18], yy[19], single[6], double[6], neg[6], pp_6_31); - r4bs r4bs_2480_1256(yy[16], yy[17], single[7], double[7], neg[7], pp_7_31); - fullAdd_x FA_2480_1384(int_5_31, int_4_31, pp_5_31, pp_6_31, pp_7_31); - r4bs r4bs_2480_1600(yy[14], yy[15], single[8], double[8], neg[8], pp_8_31); - r4bs r4bs_2480_1728(yy[12], yy[13], single[9], double[9], neg[9], pp_9_31); - r4bs r4bs_2480_1856(yy[10], yy[11], single[10], double[10], neg[10], pp_10_31); - fullAdd_x FA_2480_1984(int_7_31, int_6_31, pp_8_31, pp_9_31, pp_10_31); - r4bs r4bs_2480_2200(yy[8], yy[9], single[11], double[11], neg[11], pp_11_31); - r4bs r4bs_2480_2328(yy[6], yy[7], single[12], double[12], neg[12], pp_12_31); - r4bs r4bs_2480_2456(yy[4], yy[5], single[13], double[13], neg[13], pp_13_31); - fullAdd_x FA_2480_2584(int_9_31, int_8_31, pp_11_31, pp_12_31, pp_13_31); - r4bs r4bs_2480_2800(yy[2], yy[3], single[14], double[14], neg[14], pp_14_31); - r4bs r4bs_2480_2928(yy[0], yy[1], single[15], double[15], neg[15], pp_15_31); - fullAdd_x FA_2480_3056(int_11_31, int_10_31, pp_14_31, pp_15_31, int_1_30); - fullAdd_x FA_2480_3272(int_13_31, int_12_31, int_3_30, int_5_30, int_7_30); - fullAdd_x FA_2480_3488(int_15_31, int_14_31, int_9_30, int_11_30, int_0_31); - fullAdd_x FA_2480_3704(int_17_31, int_16_31, int_13_30, int_15_30, int_2_31); - fullAdd_x FA_2480_3920(int_19_31, int_18_31, int_4_31, int_6_31, int_8_31); - fullAdd_x FA_2480_4136(int_21_31, int_20_31, int_10_31, int_17_30, int_19_30); - fullAdd_x FA_2480_4352(int_23_31, int_22_31, int_12_31, int_14_31, int_21_30); - fullAdd_x FA_2480_4568(int_25_31, int_24_31, int_16_31, int_18_31, int_23_30); - fullAdd_x FA_2480_4784(int_27_31, int_26_31, int_25_30, int_20_31, int_22_31); - fullAdd_x FA_2480_5000(int_29_31, int_28_31, int_27_30, int_24_31, int_26_31); - assign Sum[31] = int_29_30; - assign Carry[31] = int_28_31; - - // Hardware for column 32 - - r4bs r4bs_2560_64(yy[31], yy[32], single[0], double[0], neg[0], pp_0_32); - halfAdd HA_2560_192(int_1_32, int_0_32, neg[16], pp_0_32); - r4bs r4bs_2560_272(yy[29], yy[30], single[1], double[1], neg[1], pp_1_32); - r4bs r4bs_2560_400(yy[27], yy[28], single[2], double[2], neg[2], pp_2_32); - r4bs r4bs_2560_528(yy[25], yy[26], single[3], double[3], neg[3], pp_3_32); - fullAdd_x FA_2560_656(int_3_32, int_2_32, pp_1_32, pp_2_32, pp_3_32); - r4bs r4bs_2560_872(yy[23], yy[24], single[4], double[4], neg[4], pp_4_32); - r4bs r4bs_2560_1000(yy[21], yy[22], single[5], double[5], neg[5], pp_5_32); - r4bs r4bs_2560_1128(yy[19], yy[20], single[6], double[6], neg[6], pp_6_32); - fullAdd_x FA_2560_1256(int_5_32, int_4_32, pp_4_32, pp_5_32, pp_6_32); - r4bs r4bs_2560_1472(yy[17], yy[18], single[7], double[7], neg[7], pp_7_32); - r4bs r4bs_2560_1600(yy[15], yy[16], single[8], double[8], neg[8], pp_8_32); - r4bs r4bs_2560_1728(yy[13], yy[14], single[9], double[9], neg[9], pp_9_32); - fullAdd_x FA_2560_1856(int_7_32, int_6_32, pp_7_32, pp_8_32, pp_9_32); - r4bs r4bs_2560_2072(yy[11], yy[12], single[10], double[10], neg[10], pp_10_32); - r4bs r4bs_2560_2200(yy[9], yy[10], single[11], double[11], neg[11], pp_11_32); - r4bs r4bs_2560_2328(yy[7], yy[8], single[12], double[12], neg[12], pp_12_32); - fullAdd_x FA_2560_2456(int_9_32, int_8_32, pp_10_32, pp_11_32, pp_12_32); - r4bs r4bs_2560_2672(yy[5], yy[6], single[13], double[13], neg[13], pp_13_32); - r4bs r4bs_2560_2800(yy[3], yy[4], single[14], double[14], neg[14], pp_14_32); - r4bs r4bs_2560_2928(yy[1], yy[2], single[15], double[15], neg[15], pp_15_32); - fullAdd_x FA_2560_3056(int_11_32, int_10_32, pp_13_32, pp_14_32, pp_15_32); - r4bs r4bs_2560_3272(gnd, yy[0], single[16], double[16], neg[16], pp_16_32); - fullAdd_x FA_2560_3400(int_13_32, int_12_32, pp_16_32, int_1_31, int_3_31); - fullAdd_x FA_2560_3616(int_15_32, int_14_32, int_5_31, int_7_31, int_9_31); - fullAdd_x FA_2560_3832(int_17_32, int_16_32, int_0_32, int_11_31, int_13_31); - fullAdd_x FA_2560_4048(int_19_32, int_18_32, int_15_31, int_2_32, int_4_32); - fullAdd_x FA_2560_4264(int_21_32, int_20_32, int_6_32, int_8_32, int_10_32); - fullAdd_x FA_2560_4480(int_23_32, int_22_32, int_12_32, int_17_31, int_19_31); - fullAdd_x FA_2560_4696(int_25_32, int_24_32, int_14_32, int_16_32, int_21_31); - fullAdd_x FA_2560_4912(int_27_32, int_26_32, int_18_32, int_20_32, int_23_31); - fullAdd_x FA_2560_5128(int_29_32, int_28_32, int_22_32, int_24_32, int_25_31); - fullAdd_x FA_2560_5344(int_31_32, int_30_32, int_27_31, int_26_32, int_28_32); - assign Sum[32] = int_29_31; - assign Carry[32] = int_30_32; - - // Hardware for column 33 - - r4bs r4bs_2640_64(yy[32], yy[33], single[0], double[0], neg[0], pp_0_33); - r4bs r4bs_2640_192(yy[30], yy[31], single[1], double[1], neg[1], pp_1_33); - halfAdd HA_2640_320(int_1_33, int_0_33, pp_0_33, pp_1_33); - r4bs r4bs_2640_400(yy[28], yy[29], single[2], double[2], neg[2], pp_2_33); - r4bs r4bs_2640_528(yy[26], yy[27], single[3], double[3], neg[3], pp_3_33); - r4bs r4bs_2640_656(yy[24], yy[25], single[4], double[4], neg[4], pp_4_33); - fullAdd_x FA_2640_784(int_3_33, int_2_33, pp_2_33, pp_3_33, pp_4_33); - r4bs r4bs_2640_1000(yy[22], yy[23], single[5], double[5], neg[5], pp_5_33); - r4bs r4bs_2640_1128(yy[20], yy[21], single[6], double[6], neg[6], pp_6_33); - r4bs r4bs_2640_1256(yy[18], yy[19], single[7], double[7], neg[7], pp_7_33); - fullAdd_x FA_2640_1384(int_5_33, int_4_33, pp_5_33, pp_6_33, pp_7_33); - r4bs r4bs_2640_1600(yy[16], yy[17], single[8], double[8], neg[8], pp_8_33); - r4bs r4bs_2640_1728(yy[14], yy[15], single[9], double[9], neg[9], pp_9_33); - r4bs r4bs_2640_1856(yy[12], yy[13], single[10], double[10], neg[10], pp_10_33); - fullAdd_x FA_2640_1984(int_7_33, int_6_33, pp_8_33, pp_9_33, pp_10_33); - r4bs r4bs_2640_2200(yy[10], yy[11], single[11], double[11], neg[11], pp_11_33); - r4bs r4bs_2640_2328(yy[8], yy[9], single[12], double[12], neg[12], pp_12_33); - r4bs r4bs_2640_2456(yy[6], yy[7], single[13], double[13], neg[13], pp_13_33); - fullAdd_x FA_2640_2584(int_9_33, int_8_33, pp_11_33, pp_12_33, pp_13_33); - r4bs r4bs_2640_2800(yy[4], yy[5], single[14], double[14], neg[14], pp_14_33); - r4bs r4bs_2640_2928(yy[2], yy[3], single[15], double[15], neg[15], pp_15_33); - r4bs r4bs_2640_3056(yy[0], yy[1], single[16], double[16], neg[16], pp_16_33); - fullAdd_x FA_2640_3184(int_11_33, int_10_33, pp_14_33, pp_15_33, pp_16_33); - fullAdd_x FA_2640_3400(int_13_33, int_12_33, int_1_32, int_3_32, int_5_32); - fullAdd_x FA_2640_3616(int_15_33, int_14_33, int_7_32, int_9_32, int_11_32); - fullAdd_x FA_2640_3832(int_17_33, int_16_33, int_0_33, int_13_32, int_15_32); - fullAdd_x FA_2640_4048(int_19_33, int_18_33, int_2_33, int_4_33, int_6_33); - fullAdd_x FA_2640_4264(int_21_33, int_20_33, int_8_33, int_10_33, int_17_32); - fullAdd_x FA_2640_4480(int_23_33, int_22_33, int_19_32, int_21_32, int_12_33); - fullAdd_x FA_2640_4696(int_25_33, int_24_33, int_14_33, int_23_32, int_16_33); - fullAdd_x FA_2640_4912(int_27_33, int_26_33, int_18_33, int_20_33, int_25_32); - fullAdd_x FA_2640_5128(int_29_33, int_28_33, int_22_33, int_27_32, int_24_33); - fullAdd_x FA_2640_5344(int_31_33, int_30_33, int_26_33, int_29_32, int_28_33); - assign Sum[33] = int_31_32; - assign Carry[33] = int_30_33; - - // Hardware for column 34 - - r4bs r4bs_2720_64(yy[33], yy[34], single[0], double[0], neg[0], pp_0_34); - halfAdd HA_2720_192(int_1_34, int_0_34, neg[17], pp_0_34); - r4bs r4bs_2720_272(yy[31], yy[32], single[1], double[1], neg[1], pp_1_34); - r4bs r4bs_2720_400(yy[29], yy[30], single[2], double[2], neg[2], pp_2_34); - r4bs r4bs_2720_528(yy[27], yy[28], single[3], double[3], neg[3], pp_3_34); - fullAdd_x FA_2720_656(int_3_34, int_2_34, pp_1_34, pp_2_34, pp_3_34); - r4bs r4bs_2720_872(yy[25], yy[26], single[4], double[4], neg[4], pp_4_34); - r4bs r4bs_2720_1000(yy[23], yy[24], single[5], double[5], neg[5], pp_5_34); - r4bs r4bs_2720_1128(yy[21], yy[22], single[6], double[6], neg[6], pp_6_34); - fullAdd_x FA_2720_1256(int_5_34, int_4_34, pp_4_34, pp_5_34, pp_6_34); - r4bs r4bs_2720_1472(yy[19], yy[20], single[7], double[7], neg[7], pp_7_34); - r4bs r4bs_2720_1600(yy[17], yy[18], single[8], double[8], neg[8], pp_8_34); - r4bs r4bs_2720_1728(yy[15], yy[16], single[9], double[9], neg[9], pp_9_34); - fullAdd_x FA_2720_1856(int_7_34, int_6_34, pp_7_34, pp_8_34, pp_9_34); - r4bs r4bs_2720_2072(yy[13], yy[14], single[10], double[10], neg[10], pp_10_34); - r4bs r4bs_2720_2200(yy[11], yy[12], single[11], double[11], neg[11], pp_11_34); - r4bs r4bs_2720_2328(yy[9], yy[10], single[12], double[12], neg[12], pp_12_34); - fullAdd_x FA_2720_2456(int_9_34, int_8_34, pp_10_34, pp_11_34, pp_12_34); - r4bs r4bs_2720_2672(yy[7], yy[8], single[13], double[13], neg[13], pp_13_34); - r4bs r4bs_2720_2800(yy[5], yy[6], single[14], double[14], neg[14], pp_14_34); - r4bs r4bs_2720_2928(yy[3], yy[4], single[15], double[15], neg[15], pp_15_34); - fullAdd_x FA_2720_3056(int_11_34, int_10_34, pp_13_34, pp_14_34, pp_15_34); - r4bs r4bs_2720_3272(yy[1], yy[2], single[16], double[16], neg[16], pp_16_34); - r4bs r4bs_2720_3400(gnd, yy[0], single[17], double[17], neg[17], pp_17_34); - fullAdd_x FA_2720_3528(int_13_34, int_12_34, pp_16_34, pp_17_34, int_1_33); - fullAdd_x FA_2720_3744(int_15_34, int_14_34, int_3_33, int_5_33, int_7_33); - fullAdd_x FA_2720_3960(int_17_34, int_16_34, int_9_33, int_11_33, int_0_34); - fullAdd_x FA_2720_4176(int_19_34, int_18_34, int_13_33, int_15_33, int_2_34); - fullAdd_x FA_2720_4392(int_21_34, int_20_34, int_4_34, int_6_34, int_8_34); - fullAdd_x FA_2720_4608(int_23_34, int_22_34, int_10_34, int_12_34, int_17_33); - fullAdd_x FA_2720_4824(int_25_34, int_24_34, int_19_33, int_14_34, int_16_34); - fullAdd_x FA_2720_5040(int_27_34, int_26_34, int_21_33, int_23_33, int_18_34); - fullAdd_x FA_2720_5256(int_29_34, int_28_34, int_20_34, int_22_34, int_25_33); - fullAdd_x FA_2720_5472(int_31_34, int_30_34, int_24_34, int_27_33, int_26_34); - fullAdd_x FA_2720_5688(int_33_34, int_32_34, int_28_34, int_29_33, int_30_34); - assign Sum[34] = int_31_33; - assign Carry[34] = int_32_34; - - // Hardware for column 35 - - r4bs r4bs_2800_64(yy[34], yy[35], single[0], double[0], neg[0], pp_0_35); - r4bs r4bs_2800_192(yy[32], yy[33], single[1], double[1], neg[1], pp_1_35); - halfAdd HA_2800_320(int_1_35, int_0_35, pp_0_35, pp_1_35); - r4bs r4bs_2800_400(yy[30], yy[31], single[2], double[2], neg[2], pp_2_35); - r4bs r4bs_2800_528(yy[28], yy[29], single[3], double[3], neg[3], pp_3_35); - r4bs r4bs_2800_656(yy[26], yy[27], single[4], double[4], neg[4], pp_4_35); - fullAdd_x FA_2800_784(int_3_35, int_2_35, pp_2_35, pp_3_35, pp_4_35); - r4bs r4bs_2800_1000(yy[24], yy[25], single[5], double[5], neg[5], pp_5_35); - r4bs r4bs_2800_1128(yy[22], yy[23], single[6], double[6], neg[6], pp_6_35); - r4bs r4bs_2800_1256(yy[20], yy[21], single[7], double[7], neg[7], pp_7_35); - fullAdd_x FA_2800_1384(int_5_35, int_4_35, pp_5_35, pp_6_35, pp_7_35); - r4bs r4bs_2800_1600(yy[18], yy[19], single[8], double[8], neg[8], pp_8_35); - r4bs r4bs_2800_1728(yy[16], yy[17], single[9], double[9], neg[9], pp_9_35); - r4bs r4bs_2800_1856(yy[14], yy[15], single[10], double[10], neg[10], pp_10_35); - fullAdd_x FA_2800_1984(int_7_35, int_6_35, pp_8_35, pp_9_35, pp_10_35); - r4bs r4bs_2800_2200(yy[12], yy[13], single[11], double[11], neg[11], pp_11_35); - r4bs r4bs_2800_2328(yy[10], yy[11], single[12], double[12], neg[12], pp_12_35); - r4bs r4bs_2800_2456(yy[8], yy[9], single[13], double[13], neg[13], pp_13_35); - fullAdd_x FA_2800_2584(int_9_35, int_8_35, pp_11_35, pp_12_35, pp_13_35); - r4bs r4bs_2800_2800(yy[6], yy[7], single[14], double[14], neg[14], pp_14_35); - r4bs r4bs_2800_2928(yy[4], yy[5], single[15], double[15], neg[15], pp_15_35); - r4bs r4bs_2800_3056(yy[2], yy[3], single[16], double[16], neg[16], pp_16_35); - fullAdd_x FA_2800_3184(int_11_35, int_10_35, pp_14_35, pp_15_35, pp_16_35); - r4bs r4bs_2800_3400(yy[0], yy[1], single[17], double[17], neg[17], pp_17_35); - fullAdd_x FA_2800_3528(int_13_35, int_12_35, pp_17_35, int_1_34, int_3_34); - fullAdd_x FA_2800_3744(int_15_35, int_14_35, int_5_34, int_7_34, int_9_34); - fullAdd_x FA_2800_3960(int_17_35, int_16_35, int_11_34, int_0_35, int_13_34); - fullAdd_x FA_2800_4176(int_19_35, int_18_35, int_15_34, int_17_34, int_2_35); - fullAdd_x FA_2800_4392(int_21_35, int_20_35, int_4_35, int_6_35, int_8_35); - fullAdd_x FA_2800_4608(int_23_35, int_22_35, int_10_35, int_12_35, int_19_34); - fullAdd_x FA_2800_4824(int_25_35, int_24_35, int_21_34, int_14_35, int_16_35); - fullAdd_x FA_2800_5040(int_27_35, int_26_35, int_23_34, int_25_34, int_18_35); - fullAdd_x FA_2800_5256(int_29_35, int_28_35, int_20_35, int_22_35, int_27_34); - fullAdd_x FA_2800_5472(int_31_35, int_30_35, int_24_35, int_29_34, int_26_35); - fullAdd_x FA_2800_5688(int_33_35, int_32_35, int_28_35, int_31_34, int_30_35); - assign Sum[35] = int_33_34; - assign Carry[35] = int_32_35; - - // Hardware for column 36 - - r4bs r4bs_2880_64(yy[35], yy[36], single[0], double[0], neg[0], pp_0_36); - halfAdd HA_2880_192(int_1_36, int_0_36, neg[18], pp_0_36); - r4bs r4bs_2880_272(yy[33], yy[34], single[1], double[1], neg[1], pp_1_36); - r4bs r4bs_2880_400(yy[31], yy[32], single[2], double[2], neg[2], pp_2_36); - r4bs r4bs_2880_528(yy[29], yy[30], single[3], double[3], neg[3], pp_3_36); - fullAdd_x FA_2880_656(int_3_36, int_2_36, pp_1_36, pp_2_36, pp_3_36); - r4bs r4bs_2880_872(yy[27], yy[28], single[4], double[4], neg[4], pp_4_36); - r4bs r4bs_2880_1000(yy[25], yy[26], single[5], double[5], neg[5], pp_5_36); - r4bs r4bs_2880_1128(yy[23], yy[24], single[6], double[6], neg[6], pp_6_36); - fullAdd_x FA_2880_1256(int_5_36, int_4_36, pp_4_36, pp_5_36, pp_6_36); - r4bs r4bs_2880_1472(yy[21], yy[22], single[7], double[7], neg[7], pp_7_36); - r4bs r4bs_2880_1600(yy[19], yy[20], single[8], double[8], neg[8], pp_8_36); - r4bs r4bs_2880_1728(yy[17], yy[18], single[9], double[9], neg[9], pp_9_36); - fullAdd_x FA_2880_1856(int_7_36, int_6_36, pp_7_36, pp_8_36, pp_9_36); - r4bs r4bs_2880_2072(yy[15], yy[16], single[10], double[10], neg[10], pp_10_36); - r4bs r4bs_2880_2200(yy[13], yy[14], single[11], double[11], neg[11], pp_11_36); - r4bs r4bs_2880_2328(yy[11], yy[12], single[12], double[12], neg[12], pp_12_36); - fullAdd_x FA_2880_2456(int_9_36, int_8_36, pp_10_36, pp_11_36, pp_12_36); - r4bs r4bs_2880_2672(yy[9], yy[10], single[13], double[13], neg[13], pp_13_36); - r4bs r4bs_2880_2800(yy[7], yy[8], single[14], double[14], neg[14], pp_14_36); - r4bs r4bs_2880_2928(yy[5], yy[6], single[15], double[15], neg[15], pp_15_36); - fullAdd_x FA_2880_3056(int_11_36, int_10_36, pp_13_36, pp_14_36, pp_15_36); - r4bs r4bs_2880_3272(yy[3], yy[4], single[16], double[16], neg[16], pp_16_36); - r4bs r4bs_2880_3400(yy[1], yy[2], single[17], double[17], neg[17], pp_17_36); - r4bs r4bs_2880_3528(gnd, yy[0], single[18], double[18], neg[18], pp_18_36); - fullAdd_x FA_2880_3656(int_13_36, int_12_36, pp_16_36, pp_17_36, pp_18_36); - fullAdd_x FA_2880_3872(int_15_36, int_14_36, int_1_35, int_3_35, int_5_35); - fullAdd_x FA_2880_4088(int_17_36, int_16_36, int_7_35, int_9_35, int_11_35); - fullAdd_x FA_2880_4304(int_19_36, int_18_36, int_0_36, int_13_35, int_15_35); - fullAdd_x FA_2880_4520(int_21_36, int_20_36, int_2_36, int_4_36, int_6_36); - fullAdd_x FA_2880_4736(int_23_36, int_22_36, int_8_36, int_10_36, int_12_36); - fullAdd_x FA_2880_4952(int_25_36, int_24_36, int_17_35, int_19_35, int_21_35); - fullAdd_x FA_2880_5168(int_27_36, int_26_36, int_14_36, int_16_36, int_23_35); - fullAdd_x FA_2880_5384(int_29_36, int_28_36, int_25_35, int_18_36, int_20_36); - fullAdd_x FA_2880_5600(int_31_36, int_30_36, int_22_36, int_27_35, int_24_36); - fullAdd_x FA_2880_5816(int_33_36, int_32_36, int_26_36, int_29_35, int_28_36); - fullAdd_x FA_2880_6032(int_35_36, int_34_36, int_31_35, int_30_36, int_32_36); - assign Sum[36] = int_33_35; - assign Carry[36] = int_34_36; - - // Hardware for column 37 - - r4bs r4bs_2960_64(yy[36], yy[37], single[0], double[0], neg[0], pp_0_37); - r4bs r4bs_2960_192(yy[34], yy[35], single[1], double[1], neg[1], pp_1_37); - halfAdd HA_2960_320(int_1_37, int_0_37, pp_0_37, pp_1_37); - r4bs r4bs_2960_400(yy[32], yy[33], single[2], double[2], neg[2], pp_2_37); - r4bs r4bs_2960_528(yy[30], yy[31], single[3], double[3], neg[3], pp_3_37); - r4bs r4bs_2960_656(yy[28], yy[29], single[4], double[4], neg[4], pp_4_37); - fullAdd_x FA_2960_784(int_3_37, int_2_37, pp_2_37, pp_3_37, pp_4_37); - r4bs r4bs_2960_1000(yy[26], yy[27], single[5], double[5], neg[5], pp_5_37); - r4bs r4bs_2960_1128(yy[24], yy[25], single[6], double[6], neg[6], pp_6_37); - r4bs r4bs_2960_1256(yy[22], yy[23], single[7], double[7], neg[7], pp_7_37); - fullAdd_x FA_2960_1384(int_5_37, int_4_37, pp_5_37, pp_6_37, pp_7_37); - r4bs r4bs_2960_1600(yy[20], yy[21], single[8], double[8], neg[8], pp_8_37); - r4bs r4bs_2960_1728(yy[18], yy[19], single[9], double[9], neg[9], pp_9_37); - r4bs r4bs_2960_1856(yy[16], yy[17], single[10], double[10], neg[10], pp_10_37); - fullAdd_x FA_2960_1984(int_7_37, int_6_37, pp_8_37, pp_9_37, pp_10_37); - r4bs r4bs_2960_2200(yy[14], yy[15], single[11], double[11], neg[11], pp_11_37); - r4bs r4bs_2960_2328(yy[12], yy[13], single[12], double[12], neg[12], pp_12_37); - r4bs r4bs_2960_2456(yy[10], yy[11], single[13], double[13], neg[13], pp_13_37); - fullAdd_x FA_2960_2584(int_9_37, int_8_37, pp_11_37, pp_12_37, pp_13_37); - r4bs r4bs_2960_2800(yy[8], yy[9], single[14], double[14], neg[14], pp_14_37); - r4bs r4bs_2960_2928(yy[6], yy[7], single[15], double[15], neg[15], pp_15_37); - r4bs r4bs_2960_3056(yy[4], yy[5], single[16], double[16], neg[16], pp_16_37); - fullAdd_x FA_2960_3184(int_11_37, int_10_37, pp_14_37, pp_15_37, pp_16_37); - r4bs r4bs_2960_3400(yy[2], yy[3], single[17], double[17], neg[17], pp_17_37); - r4bs r4bs_2960_3528(yy[0], yy[1], single[18], double[18], neg[18], pp_18_37); - fullAdd_x FA_2960_3656(int_13_37, int_12_37, pp_17_37, pp_18_37, int_1_36); - fullAdd_x FA_2960_3872(int_15_37, int_14_37, int_3_36, int_5_36, int_7_36); - fullAdd_x FA_2960_4088(int_17_37, int_16_37, int_9_36, int_11_36, int_13_36); - fullAdd_x FA_2960_4304(int_19_37, int_18_37, int_0_37, int_15_36, int_17_36); - fullAdd_x FA_2960_4520(int_21_37, int_20_37, int_2_37, int_4_37, int_6_37); - fullAdd_x FA_2960_4736(int_23_37, int_22_37, int_8_37, int_10_37, int_12_37); - fullAdd_x FA_2960_4952(int_25_37, int_24_37, int_19_36, int_21_36, int_23_36); - fullAdd_x FA_2960_5168(int_27_37, int_26_37, int_14_37, int_16_37, int_25_36); - fullAdd_x FA_2960_5384(int_29_37, int_28_37, int_18_37, int_20_37, int_22_37); - fullAdd_x FA_2960_5600(int_31_37, int_30_37, int_27_36, int_29_36, int_24_37); - fullAdd_x FA_2960_5816(int_33_37, int_32_37, int_26_37, int_31_36, int_28_37); - fullAdd_x FA_2960_6032(int_35_37, int_34_37, int_33_36, int_30_37, int_32_37); - assign Sum[37] = int_35_36; - assign Carry[37] = int_34_37; - - // Hardware for column 38 - - r4bs r4bs_3040_64(yy[37], yy[38], single[0], double[0], neg[0], pp_0_38); - halfAdd HA_3040_192(int_1_38, int_0_38, neg[19], pp_0_38); - r4bs r4bs_3040_272(yy[35], yy[36], single[1], double[1], neg[1], pp_1_38); - r4bs r4bs_3040_400(yy[33], yy[34], single[2], double[2], neg[2], pp_2_38); - r4bs r4bs_3040_528(yy[31], yy[32], single[3], double[3], neg[3], pp_3_38); - fullAdd_x FA_3040_656(int_3_38, int_2_38, pp_1_38, pp_2_38, pp_3_38); - r4bs r4bs_3040_872(yy[29], yy[30], single[4], double[4], neg[4], pp_4_38); - r4bs r4bs_3040_1000(yy[27], yy[28], single[5], double[5], neg[5], pp_5_38); - r4bs r4bs_3040_1128(yy[25], yy[26], single[6], double[6], neg[6], pp_6_38); - fullAdd_x FA_3040_1256(int_5_38, int_4_38, pp_4_38, pp_5_38, pp_6_38); - r4bs r4bs_3040_1472(yy[23], yy[24], single[7], double[7], neg[7], pp_7_38); - r4bs r4bs_3040_1600(yy[21], yy[22], single[8], double[8], neg[8], pp_8_38); - r4bs r4bs_3040_1728(yy[19], yy[20], single[9], double[9], neg[9], pp_9_38); - fullAdd_x FA_3040_1856(int_7_38, int_6_38, pp_7_38, pp_8_38, pp_9_38); - r4bs r4bs_3040_2072(yy[17], yy[18], single[10], double[10], neg[10], pp_10_38); - r4bs r4bs_3040_2200(yy[15], yy[16], single[11], double[11], neg[11], pp_11_38); - r4bs r4bs_3040_2328(yy[13], yy[14], single[12], double[12], neg[12], pp_12_38); - fullAdd_x FA_3040_2456(int_9_38, int_8_38, pp_10_38, pp_11_38, pp_12_38); - r4bs r4bs_3040_2672(yy[11], yy[12], single[13], double[13], neg[13], pp_13_38); - r4bs r4bs_3040_2800(yy[9], yy[10], single[14], double[14], neg[14], pp_14_38); - r4bs r4bs_3040_2928(yy[7], yy[8], single[15], double[15], neg[15], pp_15_38); - fullAdd_x FA_3040_3056(int_11_38, int_10_38, pp_13_38, pp_14_38, pp_15_38); - r4bs r4bs_3040_3272(yy[5], yy[6], single[16], double[16], neg[16], pp_16_38); - r4bs r4bs_3040_3400(yy[3], yy[4], single[17], double[17], neg[17], pp_17_38); - r4bs r4bs_3040_3528(yy[1], yy[2], single[18], double[18], neg[18], pp_18_38); - fullAdd_x FA_3040_3656(int_13_38, int_12_38, pp_16_38, pp_17_38, pp_18_38); - r4bs r4bs_3040_3872(gnd, yy[0], single[19], double[19], neg[19], pp_19_38); - fullAdd_x FA_3040_4000(int_15_38, int_14_38, pp_19_38, int_1_37, int_3_37); - fullAdd_x FA_3040_4216(int_17_38, int_16_38, int_5_37, int_7_37, int_9_37); - fullAdd_x FA_3040_4432(int_19_38, int_18_38, int_11_37, int_0_38, int_13_37); - fullAdd_x FA_3040_4648(int_21_38, int_20_38, int_15_37, int_17_37, int_2_38); - fullAdd_x FA_3040_4864(int_23_38, int_22_38, int_4_38, int_6_38, int_8_38); - fullAdd_x FA_3040_5080(int_25_38, int_24_38, int_10_38, int_12_38, int_14_38); - fullAdd_x FA_3040_5296(int_27_38, int_26_38, int_19_37, int_21_37, int_23_37); - fullAdd_x FA_3040_5512(int_29_38, int_28_38, int_16_38, int_18_38, int_25_37); - fullAdd_x FA_3040_5728(int_31_38, int_30_38, int_20_38, int_22_38, int_24_38); - fullAdd_x FA_3040_5944(int_33_38, int_32_38, int_27_37, int_29_37, int_26_38); - fullAdd_x FA_3040_6160(int_35_38, int_34_38, int_28_38, int_31_37, int_30_38); - fullAdd_x FA_3040_6376(int_37_38, int_36_38, int_33_37, int_32_38, int_34_38); - assign Sum[38] = int_35_37; - assign Carry[38] = int_36_38; - - // Hardware for column 39 - - r4bs r4bs_3120_64(yy[38], yy[39], single[0], double[0], neg[0], pp_0_39); - r4bs r4bs_3120_192(yy[36], yy[37], single[1], double[1], neg[1], pp_1_39); - halfAdd HA_3120_320(int_1_39, int_0_39, pp_0_39, pp_1_39); - r4bs r4bs_3120_400(yy[34], yy[35], single[2], double[2], neg[2], pp_2_39); - r4bs r4bs_3120_528(yy[32], yy[33], single[3], double[3], neg[3], pp_3_39); - r4bs r4bs_3120_656(yy[30], yy[31], single[4], double[4], neg[4], pp_4_39); - fullAdd_x FA_3120_784(int_3_39, int_2_39, pp_2_39, pp_3_39, pp_4_39); - r4bs r4bs_3120_1000(yy[28], yy[29], single[5], double[5], neg[5], pp_5_39); - r4bs r4bs_3120_1128(yy[26], yy[27], single[6], double[6], neg[6], pp_6_39); - r4bs r4bs_3120_1256(yy[24], yy[25], single[7], double[7], neg[7], pp_7_39); - fullAdd_x FA_3120_1384(int_5_39, int_4_39, pp_5_39, pp_6_39, pp_7_39); - r4bs r4bs_3120_1600(yy[22], yy[23], single[8], double[8], neg[8], pp_8_39); - r4bs r4bs_3120_1728(yy[20], yy[21], single[9], double[9], neg[9], pp_9_39); - r4bs r4bs_3120_1856(yy[18], yy[19], single[10], double[10], neg[10], pp_10_39); - fullAdd_x FA_3120_1984(int_7_39, int_6_39, pp_8_39, pp_9_39, pp_10_39); - r4bs r4bs_3120_2200(yy[16], yy[17], single[11], double[11], neg[11], pp_11_39); - r4bs r4bs_3120_2328(yy[14], yy[15], single[12], double[12], neg[12], pp_12_39); - r4bs r4bs_3120_2456(yy[12], yy[13], single[13], double[13], neg[13], pp_13_39); - fullAdd_x FA_3120_2584(int_9_39, int_8_39, pp_11_39, pp_12_39, pp_13_39); - r4bs r4bs_3120_2800(yy[10], yy[11], single[14], double[14], neg[14], pp_14_39); - r4bs r4bs_3120_2928(yy[8], yy[9], single[15], double[15], neg[15], pp_15_39); - r4bs r4bs_3120_3056(yy[6], yy[7], single[16], double[16], neg[16], pp_16_39); - fullAdd_x FA_3120_3184(int_11_39, int_10_39, pp_14_39, pp_15_39, pp_16_39); - r4bs r4bs_3120_3400(yy[4], yy[5], single[17], double[17], neg[17], pp_17_39); - r4bs r4bs_3120_3528(yy[2], yy[3], single[18], double[18], neg[18], pp_18_39); - r4bs r4bs_3120_3656(yy[0], yy[1], single[19], double[19], neg[19], pp_19_39); - fullAdd_x FA_3120_3784(int_13_39, int_12_39, pp_17_39, pp_18_39, pp_19_39); - fullAdd_x FA_3120_4000(int_15_39, int_14_39, int_1_38, int_3_38, int_5_38); - fullAdd_x FA_3120_4216(int_17_39, int_16_39, int_7_38, int_9_38, int_11_38); - fullAdd_x FA_3120_4432(int_19_39, int_18_39, int_13_38, int_0_39, int_15_38); - fullAdd_x FA_3120_4648(int_21_39, int_20_39, int_17_38, int_2_39, int_4_39); - fullAdd_x FA_3120_4864(int_23_39, int_22_39, int_6_39, int_8_39, int_10_39); - fullAdd_x FA_3120_5080(int_25_39, int_24_39, int_12_39, int_19_38, int_21_38); - fullAdd_x FA_3120_5296(int_27_39, int_26_39, int_23_38, int_14_39, int_16_39); - fullAdd_x FA_3120_5512(int_29_39, int_28_39, int_18_39, int_25_38, int_27_38); - fullAdd_x FA_3120_5728(int_31_39, int_30_39, int_20_39, int_22_39, int_24_39); - fullAdd_x FA_3120_5944(int_33_39, int_32_39, int_29_38, int_31_38, int_26_39); - fullAdd_x FA_3120_6160(int_35_39, int_34_39, int_28_39, int_33_38, int_30_39); - fullAdd_x FA_3120_6376(int_37_39, int_36_39, int_35_38, int_32_39, int_34_39); - assign Sum[39] = int_37_38; - assign Carry[39] = int_36_39; - - // Hardware for column 40 - - r4bs r4bs_3200_64(yy[39], yy[40], single[0], double[0], neg[0], pp_0_40); - halfAdd HA_3200_192(int_1_40, int_0_40, neg[20], pp_0_40); - r4bs r4bs_3200_272(yy[37], yy[38], single[1], double[1], neg[1], pp_1_40); - r4bs r4bs_3200_400(yy[35], yy[36], single[2], double[2], neg[2], pp_2_40); - r4bs r4bs_3200_528(yy[33], yy[34], single[3], double[3], neg[3], pp_3_40); - fullAdd_x FA_3200_656(int_3_40, int_2_40, pp_1_40, pp_2_40, pp_3_40); - r4bs r4bs_3200_872(yy[31], yy[32], single[4], double[4], neg[4], pp_4_40); - r4bs r4bs_3200_1000(yy[29], yy[30], single[5], double[5], neg[5], pp_5_40); - r4bs r4bs_3200_1128(yy[27], yy[28], single[6], double[6], neg[6], pp_6_40); - fullAdd_x FA_3200_1256(int_5_40, int_4_40, pp_4_40, pp_5_40, pp_6_40); - r4bs r4bs_3200_1472(yy[25], yy[26], single[7], double[7], neg[7], pp_7_40); - r4bs r4bs_3200_1600(yy[23], yy[24], single[8], double[8], neg[8], pp_8_40); - r4bs r4bs_3200_1728(yy[21], yy[22], single[9], double[9], neg[9], pp_9_40); - fullAdd_x FA_3200_1856(int_7_40, int_6_40, pp_7_40, pp_8_40, pp_9_40); - r4bs r4bs_3200_2072(yy[19], yy[20], single[10], double[10], neg[10], pp_10_40); - r4bs r4bs_3200_2200(yy[17], yy[18], single[11], double[11], neg[11], pp_11_40); - r4bs r4bs_3200_2328(yy[15], yy[16], single[12], double[12], neg[12], pp_12_40); - fullAdd_x FA_3200_2456(int_9_40, int_8_40, pp_10_40, pp_11_40, pp_12_40); - r4bs r4bs_3200_2672(yy[13], yy[14], single[13], double[13], neg[13], pp_13_40); - r4bs r4bs_3200_2800(yy[11], yy[12], single[14], double[14], neg[14], pp_14_40); - r4bs r4bs_3200_2928(yy[9], yy[10], single[15], double[15], neg[15], pp_15_40); - fullAdd_x FA_3200_3056(int_11_40, int_10_40, pp_13_40, pp_14_40, pp_15_40); - r4bs r4bs_3200_3272(yy[7], yy[8], single[16], double[16], neg[16], pp_16_40); - r4bs r4bs_3200_3400(yy[5], yy[6], single[17], double[17], neg[17], pp_17_40); - r4bs r4bs_3200_3528(yy[3], yy[4], single[18], double[18], neg[18], pp_18_40); - fullAdd_x FA_3200_3656(int_13_40, int_12_40, pp_16_40, pp_17_40, pp_18_40); - r4bs r4bs_3200_3872(yy[1], yy[2], single[19], double[19], neg[19], pp_19_40); - r4bs r4bs_3200_4000(gnd, yy[0], single[20], double[20], neg[20], pp_20_40); - fullAdd_x FA_3200_4128(int_15_40, int_14_40, pp_19_40, pp_20_40, int_1_39); - fullAdd_x FA_3200_4344(int_17_40, int_16_40, int_3_39, int_5_39, int_7_39); - fullAdd_x FA_3200_4560(int_19_40, int_18_40, int_9_39, int_11_39, int_13_39); - fullAdd_x FA_3200_4776(int_21_40, int_20_40, int_0_40, int_15_39, int_17_39); - fullAdd_x FA_3200_4992(int_23_40, int_22_40, int_2_40, int_4_40, int_6_40); - fullAdd_x FA_3200_5208(int_25_40, int_24_40, int_8_40, int_10_40, int_12_40); - fullAdd_x FA_3200_5424(int_27_40, int_26_40, int_14_40, int_19_39, int_21_39); - fullAdd_x FA_3200_5640(int_29_40, int_28_40, int_23_39, int_16_40, int_18_40); - fullAdd_x FA_3200_5856(int_31_40, int_30_40, int_25_39, int_27_39, int_20_40); - fullAdd_x FA_3200_6072(int_33_40, int_32_40, int_22_40, int_24_40, int_29_39); - fullAdd_x FA_3200_6288(int_35_40, int_34_40, int_26_40, int_28_40, int_31_39); - fullAdd_x FA_3200_6504(int_37_40, int_36_40, int_33_39, int_30_40, int_32_40); - fullAdd_x FA_3200_6720(int_39_40, int_38_40, int_35_39, int_34_40, int_36_40); - assign Sum[40] = int_37_39; - assign Carry[40] = int_38_40; - - // Hardware for column 41 - - r4bs r4bs_3280_64(yy[40], yy[41], single[0], double[0], neg[0], pp_0_41); - r4bs r4bs_3280_192(yy[38], yy[39], single[1], double[1], neg[1], pp_1_41); - halfAdd HA_3280_320(int_1_41, int_0_41, pp_0_41, pp_1_41); - r4bs r4bs_3280_400(yy[36], yy[37], single[2], double[2], neg[2], pp_2_41); - r4bs r4bs_3280_528(yy[34], yy[35], single[3], double[3], neg[3], pp_3_41); - r4bs r4bs_3280_656(yy[32], yy[33], single[4], double[4], neg[4], pp_4_41); - fullAdd_x FA_3280_784(int_3_41, int_2_41, pp_2_41, pp_3_41, pp_4_41); - r4bs r4bs_3280_1000(yy[30], yy[31], single[5], double[5], neg[5], pp_5_41); - r4bs r4bs_3280_1128(yy[28], yy[29], single[6], double[6], neg[6], pp_6_41); - r4bs r4bs_3280_1256(yy[26], yy[27], single[7], double[7], neg[7], pp_7_41); - fullAdd_x FA_3280_1384(int_5_41, int_4_41, pp_5_41, pp_6_41, pp_7_41); - r4bs r4bs_3280_1600(yy[24], yy[25], single[8], double[8], neg[8], pp_8_41); - r4bs r4bs_3280_1728(yy[22], yy[23], single[9], double[9], neg[9], pp_9_41); - r4bs r4bs_3280_1856(yy[20], yy[21], single[10], double[10], neg[10], pp_10_41); - fullAdd_x FA_3280_1984(int_7_41, int_6_41, pp_8_41, pp_9_41, pp_10_41); - r4bs r4bs_3280_2200(yy[18], yy[19], single[11], double[11], neg[11], pp_11_41); - r4bs r4bs_3280_2328(yy[16], yy[17], single[12], double[12], neg[12], pp_12_41); - r4bs r4bs_3280_2456(yy[14], yy[15], single[13], double[13], neg[13], pp_13_41); - fullAdd_x FA_3280_2584(int_9_41, int_8_41, pp_11_41, pp_12_41, pp_13_41); - r4bs r4bs_3280_2800(yy[12], yy[13], single[14], double[14], neg[14], pp_14_41); - r4bs r4bs_3280_2928(yy[10], yy[11], single[15], double[15], neg[15], pp_15_41); - r4bs r4bs_3280_3056(yy[8], yy[9], single[16], double[16], neg[16], pp_16_41); - fullAdd_x FA_3280_3184(int_11_41, int_10_41, pp_14_41, pp_15_41, pp_16_41); - r4bs r4bs_3280_3400(yy[6], yy[7], single[17], double[17], neg[17], pp_17_41); - r4bs r4bs_3280_3528(yy[4], yy[5], single[18], double[18], neg[18], pp_18_41); - r4bs r4bs_3280_3656(yy[2], yy[3], single[19], double[19], neg[19], pp_19_41); - fullAdd_x FA_3280_3784(int_13_41, int_12_41, pp_17_41, pp_18_41, pp_19_41); - r4bs r4bs_3280_4000(yy[0], yy[1], single[20], double[20], neg[20], pp_20_41); - fullAdd_x FA_3280_4128(int_15_41, int_14_41, pp_20_41, int_1_40, int_3_40); - fullAdd_x FA_3280_4344(int_17_41, int_16_41, int_5_40, int_7_40, int_9_40); - fullAdd_x FA_3280_4560(int_19_41, int_18_41, int_11_40, int_13_40, int_0_41); - fullAdd_x FA_3280_4776(int_21_41, int_20_41, int_15_40, int_17_40, int_19_40); - fullAdd_x FA_3280_4992(int_23_41, int_22_41, int_2_41, int_4_41, int_6_41); - fullAdd_x FA_3280_5208(int_25_41, int_24_41, int_8_41, int_10_41, int_12_41); - fullAdd_x FA_3280_5424(int_27_41, int_26_41, int_14_41, int_21_40, int_23_40); - fullAdd_x FA_3280_5640(int_29_41, int_28_41, int_25_40, int_16_41, int_18_41); - fullAdd_x FA_3280_5856(int_31_41, int_30_41, int_27_40, int_29_40, int_20_41); - fullAdd_x FA_3280_6072(int_33_41, int_32_41, int_22_41, int_24_41, int_31_40); - fullAdd_x FA_3280_6288(int_35_41, int_34_41, int_26_41, int_28_41, int_33_40); - fullAdd_x FA_3280_6504(int_37_41, int_36_41, int_30_41, int_32_41, int_35_40); - fullAdd_x FA_3280_6720(int_39_41, int_38_41, int_37_40, int_34_41, int_36_41); - assign Sum[41] = int_39_40; - assign Carry[41] = int_38_41; - - // Hardware for column 42 - - r4bs r4bs_3360_64(yy[41], yy[42], single[0], double[0], neg[0], pp_0_42); - halfAdd HA_3360_192(int_1_42, int_0_42, neg[21], pp_0_42); - r4bs r4bs_3360_272(yy[39], yy[40], single[1], double[1], neg[1], pp_1_42); - r4bs r4bs_3360_400(yy[37], yy[38], single[2], double[2], neg[2], pp_2_42); - r4bs r4bs_3360_528(yy[35], yy[36], single[3], double[3], neg[3], pp_3_42); - fullAdd_x FA_3360_656(int_3_42, int_2_42, pp_1_42, pp_2_42, pp_3_42); - r4bs r4bs_3360_872(yy[33], yy[34], single[4], double[4], neg[4], pp_4_42); - r4bs r4bs_3360_1000(yy[31], yy[32], single[5], double[5], neg[5], pp_5_42); - r4bs r4bs_3360_1128(yy[29], yy[30], single[6], double[6], neg[6], pp_6_42); - fullAdd_x FA_3360_1256(int_5_42, int_4_42, pp_4_42, pp_5_42, pp_6_42); - r4bs r4bs_3360_1472(yy[27], yy[28], single[7], double[7], neg[7], pp_7_42); - r4bs r4bs_3360_1600(yy[25], yy[26], single[8], double[8], neg[8], pp_8_42); - r4bs r4bs_3360_1728(yy[23], yy[24], single[9], double[9], neg[9], pp_9_42); - fullAdd_x FA_3360_1856(int_7_42, int_6_42, pp_7_42, pp_8_42, pp_9_42); - r4bs r4bs_3360_2072(yy[21], yy[22], single[10], double[10], neg[10], pp_10_42); - r4bs r4bs_3360_2200(yy[19], yy[20], single[11], double[11], neg[11], pp_11_42); - r4bs r4bs_3360_2328(yy[17], yy[18], single[12], double[12], neg[12], pp_12_42); - fullAdd_x FA_3360_2456(int_9_42, int_8_42, pp_10_42, pp_11_42, pp_12_42); - r4bs r4bs_3360_2672(yy[15], yy[16], single[13], double[13], neg[13], pp_13_42); - r4bs r4bs_3360_2800(yy[13], yy[14], single[14], double[14], neg[14], pp_14_42); - r4bs r4bs_3360_2928(yy[11], yy[12], single[15], double[15], neg[15], pp_15_42); - fullAdd_x FA_3360_3056(int_11_42, int_10_42, pp_13_42, pp_14_42, pp_15_42); - r4bs r4bs_3360_3272(yy[9], yy[10], single[16], double[16], neg[16], pp_16_42); - r4bs r4bs_3360_3400(yy[7], yy[8], single[17], double[17], neg[17], pp_17_42); - r4bs r4bs_3360_3528(yy[5], yy[6], single[18], double[18], neg[18], pp_18_42); - fullAdd_x FA_3360_3656(int_13_42, int_12_42, pp_16_42, pp_17_42, pp_18_42); - r4bs r4bs_3360_3872(yy[3], yy[4], single[19], double[19], neg[19], pp_19_42); - r4bs r4bs_3360_4000(yy[1], yy[2], single[20], double[20], neg[20], pp_20_42); - r4bs r4bs_3360_4128(gnd, yy[0], single[21], double[21], neg[21], pp_21_42); - fullAdd_x FA_3360_4256(int_15_42, int_14_42, pp_19_42, pp_20_42, pp_21_42); - fullAdd_x FA_3360_4472(int_17_42, int_16_42, int_1_41, int_3_41, int_5_41); - fullAdd_x FA_3360_4688(int_19_42, int_18_42, int_7_41, int_9_41, int_11_41); - fullAdd_x FA_3360_4904(int_21_42, int_20_42, int_13_41, int_0_42, int_15_41); - fullAdd_x FA_3360_5120(int_23_42, int_22_42, int_17_41, int_19_41, int_2_42); - fullAdd_x FA_3360_5336(int_25_42, int_24_42, int_4_42, int_6_42, int_8_42); - fullAdd_x FA_3360_5552(int_27_42, int_26_42, int_10_42, int_12_42, int_14_42); - fullAdd_x FA_3360_5768(int_29_42, int_28_42, int_21_41, int_23_41, int_25_41); - fullAdd_x FA_3360_5984(int_31_42, int_30_42, int_16_42, int_18_42, int_20_42); - fullAdd_x FA_3360_6200(int_33_42, int_32_42, int_27_41, int_29_41, int_22_42); - fullAdd_x FA_3360_6416(int_35_42, int_34_42, int_24_42, int_26_42, int_31_41); - fullAdd_x FA_3360_6632(int_37_42, int_36_42, int_28_42, int_30_42, int_33_41); - fullAdd_x FA_3360_6848(int_39_42, int_38_42, int_32_42, int_34_42, int_35_41); - fullAdd_x FA_3360_7064(int_41_42, int_40_42, int_36_42, int_37_41, int_38_42); - assign Sum[42] = int_39_41; - assign Carry[42] = int_40_42; - - // Hardware for column 43 - - r4bs r4bs_3440_64(yy[42], yy[43], single[0], double[0], neg[0], pp_0_43); - r4bs r4bs_3440_192(yy[40], yy[41], single[1], double[1], neg[1], pp_1_43); - halfAdd HA_3440_320(int_1_43, int_0_43, pp_0_43, pp_1_43); - r4bs r4bs_3440_400(yy[38], yy[39], single[2], double[2], neg[2], pp_2_43); - r4bs r4bs_3440_528(yy[36], yy[37], single[3], double[3], neg[3], pp_3_43); - r4bs r4bs_3440_656(yy[34], yy[35], single[4], double[4], neg[4], pp_4_43); - fullAdd_x FA_3440_784(int_3_43, int_2_43, pp_2_43, pp_3_43, pp_4_43); - r4bs r4bs_3440_1000(yy[32], yy[33], single[5], double[5], neg[5], pp_5_43); - r4bs r4bs_3440_1128(yy[30], yy[31], single[6], double[6], neg[6], pp_6_43); - r4bs r4bs_3440_1256(yy[28], yy[29], single[7], double[7], neg[7], pp_7_43); - fullAdd_x FA_3440_1384(int_5_43, int_4_43, pp_5_43, pp_6_43, pp_7_43); - r4bs r4bs_3440_1600(yy[26], yy[27], single[8], double[8], neg[8], pp_8_43); - r4bs r4bs_3440_1728(yy[24], yy[25], single[9], double[9], neg[9], pp_9_43); - r4bs r4bs_3440_1856(yy[22], yy[23], single[10], double[10], neg[10], pp_10_43); - fullAdd_x FA_3440_1984(int_7_43, int_6_43, pp_8_43, pp_9_43, pp_10_43); - r4bs r4bs_3440_2200(yy[20], yy[21], single[11], double[11], neg[11], pp_11_43); - r4bs r4bs_3440_2328(yy[18], yy[19], single[12], double[12], neg[12], pp_12_43); - r4bs r4bs_3440_2456(yy[16], yy[17], single[13], double[13], neg[13], pp_13_43); - fullAdd_x FA_3440_2584(int_9_43, int_8_43, pp_11_43, pp_12_43, pp_13_43); - r4bs r4bs_3440_2800(yy[14], yy[15], single[14], double[14], neg[14], pp_14_43); - r4bs r4bs_3440_2928(yy[12], yy[13], single[15], double[15], neg[15], pp_15_43); - r4bs r4bs_3440_3056(yy[10], yy[11], single[16], double[16], neg[16], pp_16_43); - fullAdd_x FA_3440_3184(int_11_43, int_10_43, pp_14_43, pp_15_43, pp_16_43); - r4bs r4bs_3440_3400(yy[8], yy[9], single[17], double[17], neg[17], pp_17_43); - r4bs r4bs_3440_3528(yy[6], yy[7], single[18], double[18], neg[18], pp_18_43); - r4bs r4bs_3440_3656(yy[4], yy[5], single[19], double[19], neg[19], pp_19_43); - fullAdd_x FA_3440_3784(int_13_43, int_12_43, pp_17_43, pp_18_43, pp_19_43); - r4bs r4bs_3440_4000(yy[2], yy[3], single[20], double[20], neg[20], pp_20_43); - r4bs r4bs_3440_4128(yy[0], yy[1], single[21], double[21], neg[21], pp_21_43); - fullAdd_x FA_3440_4256(int_15_43, int_14_43, pp_20_43, pp_21_43, int_1_42); - fullAdd_x FA_3440_4472(int_17_43, int_16_43, int_3_42, int_5_42, int_7_42); - fullAdd_x FA_3440_4688(int_19_43, int_18_43, int_9_42, int_11_42, int_13_42); - fullAdd_x FA_3440_4904(int_21_43, int_20_43, int_15_42, int_0_43, int_17_42); - fullAdd_x FA_3440_5120(int_23_43, int_22_43, int_19_42, int_2_43, int_4_43); - fullAdd_x FA_3440_5336(int_25_43, int_24_43, int_6_43, int_8_43, int_10_43); - fullAdd_x FA_3440_5552(int_27_43, int_26_43, int_12_43, int_14_43, int_21_42); - fullAdd_x FA_3440_5768(int_29_43, int_28_43, int_23_42, int_25_42, int_27_42); - fullAdd_x FA_3440_5984(int_31_43, int_30_43, int_16_43, int_18_43, int_20_43); - fullAdd_x FA_3440_6200(int_33_43, int_32_43, int_29_42, int_31_42, int_22_43); - fullAdd_x FA_3440_6416(int_35_43, int_34_43, int_24_43, int_26_43, int_33_42); - fullAdd_x FA_3440_6632(int_37_43, int_36_43, int_28_43, int_30_43, int_35_42); - fullAdd_x FA_3440_6848(int_39_43, int_38_43, int_32_43, int_34_43, int_37_42); - fullAdd_x FA_3440_7064(int_41_43, int_40_43, int_36_43, int_39_42, int_38_43); - assign Sum[43] = int_41_42; - assign Carry[43] = int_40_43; - - // Hardware for column 44 - - r4bs r4bs_3520_64(yy[43], yy[44], single[0], double[0], neg[0], pp_0_44); - halfAdd HA_3520_192(int_1_44, int_0_44, neg[22], pp_0_44); - r4bs r4bs_3520_272(yy[41], yy[42], single[1], double[1], neg[1], pp_1_44); - r4bs r4bs_3520_400(yy[39], yy[40], single[2], double[2], neg[2], pp_2_44); - r4bs r4bs_3520_528(yy[37], yy[38], single[3], double[3], neg[3], pp_3_44); - fullAdd_x FA_3520_656(int_3_44, int_2_44, pp_1_44, pp_2_44, pp_3_44); - r4bs r4bs_3520_872(yy[35], yy[36], single[4], double[4], neg[4], pp_4_44); - r4bs r4bs_3520_1000(yy[33], yy[34], single[5], double[5], neg[5], pp_5_44); - r4bs r4bs_3520_1128(yy[31], yy[32], single[6], double[6], neg[6], pp_6_44); - fullAdd_x FA_3520_1256(int_5_44, int_4_44, pp_4_44, pp_5_44, pp_6_44); - r4bs r4bs_3520_1472(yy[29], yy[30], single[7], double[7], neg[7], pp_7_44); - r4bs r4bs_3520_1600(yy[27], yy[28], single[8], double[8], neg[8], pp_8_44); - r4bs r4bs_3520_1728(yy[25], yy[26], single[9], double[9], neg[9], pp_9_44); - fullAdd_x FA_3520_1856(int_7_44, int_6_44, pp_7_44, pp_8_44, pp_9_44); - r4bs r4bs_3520_2072(yy[23], yy[24], single[10], double[10], neg[10], pp_10_44); - r4bs r4bs_3520_2200(yy[21], yy[22], single[11], double[11], neg[11], pp_11_44); - r4bs r4bs_3520_2328(yy[19], yy[20], single[12], double[12], neg[12], pp_12_44); - fullAdd_x FA_3520_2456(int_9_44, int_8_44, pp_10_44, pp_11_44, pp_12_44); - r4bs r4bs_3520_2672(yy[17], yy[18], single[13], double[13], neg[13], pp_13_44); - r4bs r4bs_3520_2800(yy[15], yy[16], single[14], double[14], neg[14], pp_14_44); - r4bs r4bs_3520_2928(yy[13], yy[14], single[15], double[15], neg[15], pp_15_44); - fullAdd_x FA_3520_3056(int_11_44, int_10_44, pp_13_44, pp_14_44, pp_15_44); - r4bs r4bs_3520_3272(yy[11], yy[12], single[16], double[16], neg[16], pp_16_44); - r4bs r4bs_3520_3400(yy[9], yy[10], single[17], double[17], neg[17], pp_17_44); - r4bs r4bs_3520_3528(yy[7], yy[8], single[18], double[18], neg[18], pp_18_44); - fullAdd_x FA_3520_3656(int_13_44, int_12_44, pp_16_44, pp_17_44, pp_18_44); - r4bs r4bs_3520_3872(yy[5], yy[6], single[19], double[19], neg[19], pp_19_44); - r4bs r4bs_3520_4000(yy[3], yy[4], single[20], double[20], neg[20], pp_20_44); - r4bs r4bs_3520_4128(yy[1], yy[2], single[21], double[21], neg[21], pp_21_44); - fullAdd_x FA_3520_4256(int_15_44, int_14_44, pp_19_44, pp_20_44, pp_21_44); - r4bs r4bs_3520_4472(gnd, yy[0], single[22], double[22], neg[22], pp_22_44); - fullAdd_x FA_3520_4600(int_17_44, int_16_44, pp_22_44, int_1_43, int_3_43); - fullAdd_x FA_3520_4816(int_19_44, int_18_44, int_5_43, int_7_43, int_9_43); - fullAdd_x FA_3520_5032(int_21_44, int_20_44, int_11_43, int_13_43, int_0_44); - fullAdd_x FA_3520_5248(int_23_44, int_22_44, int_15_43, int_17_43, int_19_43); - fullAdd_x FA_3520_5464(int_25_44, int_24_44, int_2_44, int_4_44, int_6_44); - fullAdd_x FA_3520_5680(int_27_44, int_26_44, int_8_44, int_10_44, int_12_44); - fullAdd_x FA_3520_5896(int_29_44, int_28_44, int_14_44, int_16_44, int_21_43); - fullAdd_x FA_3520_6112(int_31_44, int_30_44, int_23_43, int_25_43, int_18_44); - fullAdd_x FA_3520_6328(int_33_44, int_32_44, int_20_44, int_27_43, int_29_43); - fullAdd_x FA_3520_6544(int_35_44, int_34_44, int_31_43, int_22_44, int_24_44); - fullAdd_x FA_3520_6760(int_37_44, int_36_44, int_26_44, int_28_44, int_33_43); - fullAdd_x FA_3520_6976(int_39_44, int_38_44, int_30_44, int_35_43, int_32_44); - fullAdd_x FA_3520_7192(int_41_44, int_40_44, int_34_44, int_36_44, int_37_43); - fullAdd_x FA_3520_7408(int_43_44, int_42_44, int_39_43, int_38_44, int_40_44); - assign Sum[44] = int_41_43; - assign Carry[44] = int_42_44; - - // Hardware for column 45 - - r4bs r4bs_3600_64(yy[44], yy[45], single[0], double[0], neg[0], pp_0_45); - r4bs r4bs_3600_192(yy[42], yy[43], single[1], double[1], neg[1], pp_1_45); - halfAdd HA_3600_320(int_1_45, int_0_45, pp_0_45, pp_1_45); - r4bs r4bs_3600_400(yy[40], yy[41], single[2], double[2], neg[2], pp_2_45); - r4bs r4bs_3600_528(yy[38], yy[39], single[3], double[3], neg[3], pp_3_45); - r4bs r4bs_3600_656(yy[36], yy[37], single[4], double[4], neg[4], pp_4_45); - fullAdd_x FA_3600_784(int_3_45, int_2_45, pp_2_45, pp_3_45, pp_4_45); - r4bs r4bs_3600_1000(yy[34], yy[35], single[5], double[5], neg[5], pp_5_45); - r4bs r4bs_3600_1128(yy[32], yy[33], single[6], double[6], neg[6], pp_6_45); - r4bs r4bs_3600_1256(yy[30], yy[31], single[7], double[7], neg[7], pp_7_45); - fullAdd_x FA_3600_1384(int_5_45, int_4_45, pp_5_45, pp_6_45, pp_7_45); - r4bs r4bs_3600_1600(yy[28], yy[29], single[8], double[8], neg[8], pp_8_45); - r4bs r4bs_3600_1728(yy[26], yy[27], single[9], double[9], neg[9], pp_9_45); - r4bs r4bs_3600_1856(yy[24], yy[25], single[10], double[10], neg[10], pp_10_45); - fullAdd_x FA_3600_1984(int_7_45, int_6_45, pp_8_45, pp_9_45, pp_10_45); - r4bs r4bs_3600_2200(yy[22], yy[23], single[11], double[11], neg[11], pp_11_45); - r4bs r4bs_3600_2328(yy[20], yy[21], single[12], double[12], neg[12], pp_12_45); - r4bs r4bs_3600_2456(yy[18], yy[19], single[13], double[13], neg[13], pp_13_45); - fullAdd_x FA_3600_2584(int_9_45, int_8_45, pp_11_45, pp_12_45, pp_13_45); - r4bs r4bs_3600_2800(yy[16], yy[17], single[14], double[14], neg[14], pp_14_45); - r4bs r4bs_3600_2928(yy[14], yy[15], single[15], double[15], neg[15], pp_15_45); - r4bs r4bs_3600_3056(yy[12], yy[13], single[16], double[16], neg[16], pp_16_45); - fullAdd_x FA_3600_3184(int_11_45, int_10_45, pp_14_45, pp_15_45, pp_16_45); - r4bs r4bs_3600_3400(yy[10], yy[11], single[17], double[17], neg[17], pp_17_45); - r4bs r4bs_3600_3528(yy[8], yy[9], single[18], double[18], neg[18], pp_18_45); - r4bs r4bs_3600_3656(yy[6], yy[7], single[19], double[19], neg[19], pp_19_45); - fullAdd_x FA_3600_3784(int_13_45, int_12_45, pp_17_45, pp_18_45, pp_19_45); - r4bs r4bs_3600_4000(yy[4], yy[5], single[20], double[20], neg[20], pp_20_45); - r4bs r4bs_3600_4128(yy[2], yy[3], single[21], double[21], neg[21], pp_21_45); - r4bs r4bs_3600_4256(yy[0], yy[1], single[22], double[22], neg[22], pp_22_45); - fullAdd_x FA_3600_4384(int_15_45, int_14_45, pp_20_45, pp_21_45, pp_22_45); - fullAdd_x FA_3600_4600(int_17_45, int_16_45, int_1_44, int_3_44, int_5_44); - fullAdd_x FA_3600_4816(int_19_45, int_18_45, int_7_44, int_9_44, int_11_44); - fullAdd_x FA_3600_5032(int_21_45, int_20_45, int_13_44, int_15_44, int_0_45); - fullAdd_x FA_3600_5248(int_23_45, int_22_45, int_17_44, int_19_44, int_21_44); - fullAdd_x FA_3600_5464(int_25_45, int_24_45, int_2_45, int_4_45, int_6_45); - fullAdd_x FA_3600_5680(int_27_45, int_26_45, int_8_45, int_10_45, int_12_45); - fullAdd_x FA_3600_5896(int_29_45, int_28_45, int_14_45, int_23_44, int_25_44); - fullAdd_x FA_3600_6112(int_31_45, int_30_45, int_27_44, int_16_45, int_18_45); - fullAdd_x FA_3600_6328(int_33_45, int_32_45, int_20_45, int_29_44, int_31_44); - fullAdd_x FA_3600_6544(int_35_45, int_34_45, int_22_45, int_24_45, int_26_45); - fullAdd_x FA_3600_6760(int_37_45, int_36_45, int_33_44, int_35_44, int_28_45); - fullAdd_x FA_3600_6976(int_39_45, int_38_45, int_30_45, int_37_44, int_32_45); - fullAdd_x FA_3600_7192(int_41_45, int_40_45, int_34_45, int_39_44, int_36_45); - fullAdd_x FA_3600_7408(int_43_45, int_42_45, int_41_44, int_38_45, int_40_45); - assign Sum[45] = int_43_44; - assign Carry[45] = int_42_45; - - // Hardware for column 46 - - r4bs r4bs_3680_64(yy[45], yy[46], single[0], double[0], neg[0], pp_0_46); - halfAdd HA_3680_192(int_1_46, int_0_46, neg[23], pp_0_46); - r4bs r4bs_3680_272(yy[43], yy[44], single[1], double[1], neg[1], pp_1_46); - r4bs r4bs_3680_400(yy[41], yy[42], single[2], double[2], neg[2], pp_2_46); - r4bs r4bs_3680_528(yy[39], yy[40], single[3], double[3], neg[3], pp_3_46); - fullAdd_x FA_3680_656(int_3_46, int_2_46, pp_1_46, pp_2_46, pp_3_46); - r4bs r4bs_3680_872(yy[37], yy[38], single[4], double[4], neg[4], pp_4_46); - r4bs r4bs_3680_1000(yy[35], yy[36], single[5], double[5], neg[5], pp_5_46); - r4bs r4bs_3680_1128(yy[33], yy[34], single[6], double[6], neg[6], pp_6_46); - fullAdd_x FA_3680_1256(int_5_46, int_4_46, pp_4_46, pp_5_46, pp_6_46); - r4bs r4bs_3680_1472(yy[31], yy[32], single[7], double[7], neg[7], pp_7_46); - r4bs r4bs_3680_1600(yy[29], yy[30], single[8], double[8], neg[8], pp_8_46); - r4bs r4bs_3680_1728(yy[27], yy[28], single[9], double[9], neg[9], pp_9_46); - fullAdd_x FA_3680_1856(int_7_46, int_6_46, pp_7_46, pp_8_46, pp_9_46); - r4bs r4bs_3680_2072(yy[25], yy[26], single[10], double[10], neg[10], pp_10_46); - r4bs r4bs_3680_2200(yy[23], yy[24], single[11], double[11], neg[11], pp_11_46); - r4bs r4bs_3680_2328(yy[21], yy[22], single[12], double[12], neg[12], pp_12_46); - fullAdd_x FA_3680_2456(int_9_46, int_8_46, pp_10_46, pp_11_46, pp_12_46); - r4bs r4bs_3680_2672(yy[19], yy[20], single[13], double[13], neg[13], pp_13_46); - r4bs r4bs_3680_2800(yy[17], yy[18], single[14], double[14], neg[14], pp_14_46); - r4bs r4bs_3680_2928(yy[15], yy[16], single[15], double[15], neg[15], pp_15_46); - fullAdd_x FA_3680_3056(int_11_46, int_10_46, pp_13_46, pp_14_46, pp_15_46); - r4bs r4bs_3680_3272(yy[13], yy[14], single[16], double[16], neg[16], pp_16_46); - r4bs r4bs_3680_3400(yy[11], yy[12], single[17], double[17], neg[17], pp_17_46); - r4bs r4bs_3680_3528(yy[9], yy[10], single[18], double[18], neg[18], pp_18_46); - fullAdd_x FA_3680_3656(int_13_46, int_12_46, pp_16_46, pp_17_46, pp_18_46); - r4bs r4bs_3680_3872(yy[7], yy[8], single[19], double[19], neg[19], pp_19_46); - r4bs r4bs_3680_4000(yy[5], yy[6], single[20], double[20], neg[20], pp_20_46); - r4bs r4bs_3680_4128(yy[3], yy[4], single[21], double[21], neg[21], pp_21_46); - fullAdd_x FA_3680_4256(int_15_46, int_14_46, pp_19_46, pp_20_46, pp_21_46); - r4bs r4bs_3680_4472(yy[1], yy[2], single[22], double[22], neg[22], pp_22_46); - r4bs r4bs_3680_4600(gnd, yy[0], single[23], double[23], neg[23], pp_23_46); - fullAdd_x FA_3680_4728(int_17_46, int_16_46, pp_22_46, pp_23_46, int_1_45); - fullAdd_x FA_3680_4944(int_19_46, int_18_46, int_3_45, int_5_45, int_7_45); - fullAdd_x FA_3680_5160(int_21_46, int_20_46, int_9_45, int_11_45, int_13_45); - fullAdd_x FA_3680_5376(int_23_46, int_22_46, int_15_45, int_0_46, int_17_45); - fullAdd_x FA_3680_5592(int_25_46, int_24_46, int_19_45, int_21_45, int_2_46); - fullAdd_x FA_3680_5808(int_27_46, int_26_46, int_4_46, int_6_46, int_8_46); - fullAdd_x FA_3680_6024(int_29_46, int_28_46, int_10_46, int_12_46, int_14_46); - fullAdd_x FA_3680_6240(int_31_46, int_30_46, int_16_46, int_23_45, int_25_45); - fullAdd_x FA_3680_6456(int_33_46, int_32_46, int_27_45, int_18_46, int_20_46); - fullAdd_x FA_3680_6672(int_35_46, int_34_46, int_22_46, int_29_45, int_31_45); - fullAdd_x FA_3680_6888(int_37_46, int_36_46, int_24_46, int_26_46, int_28_46); - fullAdd_x FA_3680_7104(int_39_46, int_38_46, int_33_45, int_35_45, int_30_46); - fullAdd_x FA_3680_7320(int_41_46, int_40_46, int_32_46, int_37_45, int_34_46); - fullAdd_x FA_3680_7536(int_43_46, int_42_46, int_36_46, int_39_45, int_38_46); - fullAdd_x FA_3680_7752(int_45_46, int_44_46, int_41_45, int_40_46, int_42_46); - assign Sum[46] = int_43_45; - assign Carry[46] = int_44_46; - - // Hardware for column 47 - - r4bs r4bs_3760_64(yy[46], yy[47], single[0], double[0], neg[0], pp_0_47); - r4bs r4bs_3760_192(yy[44], yy[45], single[1], double[1], neg[1], pp_1_47); - halfAdd HA_3760_320(int_1_47, int_0_47, pp_0_47, pp_1_47); - r4bs r4bs_3760_400(yy[42], yy[43], single[2], double[2], neg[2], pp_2_47); - r4bs r4bs_3760_528(yy[40], yy[41], single[3], double[3], neg[3], pp_3_47); - r4bs r4bs_3760_656(yy[38], yy[39], single[4], double[4], neg[4], pp_4_47); - fullAdd_x FA_3760_784(int_3_47, int_2_47, pp_2_47, pp_3_47, pp_4_47); - r4bs r4bs_3760_1000(yy[36], yy[37], single[5], double[5], neg[5], pp_5_47); - r4bs r4bs_3760_1128(yy[34], yy[35], single[6], double[6], neg[6], pp_6_47); - r4bs r4bs_3760_1256(yy[32], yy[33], single[7], double[7], neg[7], pp_7_47); - fullAdd_x FA_3760_1384(int_5_47, int_4_47, pp_5_47, pp_6_47, pp_7_47); - r4bs r4bs_3760_1600(yy[30], yy[31], single[8], double[8], neg[8], pp_8_47); - r4bs r4bs_3760_1728(yy[28], yy[29], single[9], double[9], neg[9], pp_9_47); - r4bs r4bs_3760_1856(yy[26], yy[27], single[10], double[10], neg[10], pp_10_47); - fullAdd_x FA_3760_1984(int_7_47, int_6_47, pp_8_47, pp_9_47, pp_10_47); - r4bs r4bs_3760_2200(yy[24], yy[25], single[11], double[11], neg[11], pp_11_47); - r4bs r4bs_3760_2328(yy[22], yy[23], single[12], double[12], neg[12], pp_12_47); - r4bs r4bs_3760_2456(yy[20], yy[21], single[13], double[13], neg[13], pp_13_47); - fullAdd_x FA_3760_2584(int_9_47, int_8_47, pp_11_47, pp_12_47, pp_13_47); - r4bs r4bs_3760_2800(yy[18], yy[19], single[14], double[14], neg[14], pp_14_47); - r4bs r4bs_3760_2928(yy[16], yy[17], single[15], double[15], neg[15], pp_15_47); - r4bs r4bs_3760_3056(yy[14], yy[15], single[16], double[16], neg[16], pp_16_47); - fullAdd_x FA_3760_3184(int_11_47, int_10_47, pp_14_47, pp_15_47, pp_16_47); - r4bs r4bs_3760_3400(yy[12], yy[13], single[17], double[17], neg[17], pp_17_47); - r4bs r4bs_3760_3528(yy[10], yy[11], single[18], double[18], neg[18], pp_18_47); - r4bs r4bs_3760_3656(yy[8], yy[9], single[19], double[19], neg[19], pp_19_47); - fullAdd_x FA_3760_3784(int_13_47, int_12_47, pp_17_47, pp_18_47, pp_19_47); - r4bs r4bs_3760_4000(yy[6], yy[7], single[20], double[20], neg[20], pp_20_47); - r4bs r4bs_3760_4128(yy[4], yy[5], single[21], double[21], neg[21], pp_21_47); - r4bs r4bs_3760_4256(yy[2], yy[3], single[22], double[22], neg[22], pp_22_47); - fullAdd_x FA_3760_4384(int_15_47, int_14_47, pp_20_47, pp_21_47, pp_22_47); - r4bs r4bs_3760_4600(yy[0], yy[1], single[23], double[23], neg[23], pp_23_47); - fullAdd_x FA_3760_4728(int_17_47, int_16_47, pp_23_47, int_1_46, int_3_46); - fullAdd_x FA_3760_4944(int_19_47, int_18_47, int_5_46, int_7_46, int_9_46); - fullAdd_x FA_3760_5160(int_21_47, int_20_47, int_11_46, int_13_46, int_15_46); - fullAdd_x FA_3760_5376(int_23_47, int_22_47, int_0_47, int_17_46, int_19_46); - fullAdd_x FA_3760_5592(int_25_47, int_24_47, int_21_46, int_2_47, int_4_47); - fullAdd_x FA_3760_5808(int_27_47, int_26_47, int_6_47, int_8_47, int_10_47); - fullAdd_x FA_3760_6024(int_29_47, int_28_47, int_12_47, int_14_47, int_16_47); - fullAdd_x FA_3760_6240(int_31_47, int_30_47, int_23_46, int_25_46, int_27_46); - fullAdd_x FA_3760_6456(int_33_47, int_32_47, int_29_46, int_18_47, int_20_47); - fullAdd_x FA_3760_6672(int_35_47, int_34_47, int_22_47, int_31_46, int_33_46); - fullAdd_x FA_3760_6888(int_37_47, int_36_47, int_24_47, int_26_47, int_28_47); - fullAdd_x FA_3760_7104(int_39_47, int_38_47, int_35_46, int_37_46, int_30_47); - fullAdd_x FA_3760_7320(int_41_47, int_40_47, int_32_47, int_39_46, int_34_47); - fullAdd_x FA_3760_7536(int_43_47, int_42_47, int_36_47, int_41_46, int_38_47); - fullAdd_x FA_3760_7752(int_45_47, int_44_47, int_43_46, int_40_47, int_42_47); - assign Sum[47] = int_45_46; - assign Carry[47] = int_44_47; - - // Hardware for column 48 - - r4bs r4bs_3840_64(yy[47], yy[48], single[0], double[0], neg[0], pp_0_48); - halfAdd HA_3840_192(int_1_48, int_0_48, neg[24], pp_0_48); - r4bs r4bs_3840_272(yy[45], yy[46], single[1], double[1], neg[1], pp_1_48); - r4bs r4bs_3840_400(yy[43], yy[44], single[2], double[2], neg[2], pp_2_48); - r4bs r4bs_3840_528(yy[41], yy[42], single[3], double[3], neg[3], pp_3_48); - fullAdd_x FA_3840_656(int_3_48, int_2_48, pp_1_48, pp_2_48, pp_3_48); - r4bs r4bs_3840_872(yy[39], yy[40], single[4], double[4], neg[4], pp_4_48); - r4bs r4bs_3840_1000(yy[37], yy[38], single[5], double[5], neg[5], pp_5_48); - r4bs r4bs_3840_1128(yy[35], yy[36], single[6], double[6], neg[6], pp_6_48); - fullAdd_x FA_3840_1256(int_5_48, int_4_48, pp_4_48, pp_5_48, pp_6_48); - r4bs r4bs_3840_1472(yy[33], yy[34], single[7], double[7], neg[7], pp_7_48); - r4bs r4bs_3840_1600(yy[31], yy[32], single[8], double[8], neg[8], pp_8_48); - r4bs r4bs_3840_1728(yy[29], yy[30], single[9], double[9], neg[9], pp_9_48); - fullAdd_x FA_3840_1856(int_7_48, int_6_48, pp_7_48, pp_8_48, pp_9_48); - r4bs r4bs_3840_2072(yy[27], yy[28], single[10], double[10], neg[10], pp_10_48); - r4bs r4bs_3840_2200(yy[25], yy[26], single[11], double[11], neg[11], pp_11_48); - r4bs r4bs_3840_2328(yy[23], yy[24], single[12], double[12], neg[12], pp_12_48); - fullAdd_x FA_3840_2456(int_9_48, int_8_48, pp_10_48, pp_11_48, pp_12_48); - r4bs r4bs_3840_2672(yy[21], yy[22], single[13], double[13], neg[13], pp_13_48); - r4bs r4bs_3840_2800(yy[19], yy[20], single[14], double[14], neg[14], pp_14_48); - r4bs r4bs_3840_2928(yy[17], yy[18], single[15], double[15], neg[15], pp_15_48); - fullAdd_x FA_3840_3056(int_11_48, int_10_48, pp_13_48, pp_14_48, pp_15_48); - r4bs r4bs_3840_3272(yy[15], yy[16], single[16], double[16], neg[16], pp_16_48); - r4bs r4bs_3840_3400(yy[13], yy[14], single[17], double[17], neg[17], pp_17_48); - r4bs r4bs_3840_3528(yy[11], yy[12], single[18], double[18], neg[18], pp_18_48); - fullAdd_x FA_3840_3656(int_13_48, int_12_48, pp_16_48, pp_17_48, pp_18_48); - r4bs r4bs_3840_3872(yy[9], yy[10], single[19], double[19], neg[19], pp_19_48); - r4bs r4bs_3840_4000(yy[7], yy[8], single[20], double[20], neg[20], pp_20_48); - r4bs r4bs_3840_4128(yy[5], yy[6], single[21], double[21], neg[21], pp_21_48); - fullAdd_x FA_3840_4256(int_15_48, int_14_48, pp_19_48, pp_20_48, pp_21_48); - r4bs r4bs_3840_4472(yy[3], yy[4], single[22], double[22], neg[22], pp_22_48); - r4bs r4bs_3840_4600(yy[1], yy[2], single[23], double[23], neg[23], pp_23_48); - r4bs r4bs_3840_4728(gnd, yy[0], single[24], double[24], neg[24], pp_24_48); - fullAdd_x FA_3840_4856(int_17_48, int_16_48, pp_22_48, pp_23_48, pp_24_48); - fullAdd_x FA_3840_5072(int_19_48, int_18_48, int_1_47, int_3_47, int_5_47); - fullAdd_x FA_3840_5288(int_21_48, int_20_48, int_7_47, int_9_47, int_11_47); - fullAdd_x FA_3840_5504(int_23_48, int_22_48, int_13_47, int_15_47, int_0_48); - fullAdd_x FA_3840_5720(int_25_48, int_24_48, int_17_47, int_19_47, int_21_47); - fullAdd_x FA_3840_5936(int_27_48, int_26_48, int_2_48, int_4_48, int_6_48); - fullAdd_x FA_3840_6152(int_29_48, int_28_48, int_8_48, int_10_48, int_12_48); - fullAdd_x FA_3840_6368(int_31_48, int_30_48, int_14_48, int_16_48, int_23_47); - fullAdd_x FA_3840_6584(int_33_48, int_32_48, int_25_47, int_27_47, int_18_48); - fullAdd_x FA_3840_6800(int_35_48, int_34_48, int_20_48, int_22_48, int_29_47); - fullAdd_x FA_3840_7016(int_37_48, int_36_48, int_31_47, int_33_47, int_24_48); - fullAdd_x FA_3840_7232(int_39_48, int_38_48, int_26_48, int_28_48, int_30_48); - fullAdd_x FA_3840_7448(int_41_48, int_40_48, int_35_47, int_37_47, int_32_48); - fullAdd_x FA_3840_7664(int_43_48, int_42_48, int_34_48, int_39_47, int_36_48); - fullAdd_x FA_3840_7880(int_45_48, int_44_48, int_38_48, int_41_47, int_40_48); - fullAdd_x FA_3840_8096(int_47_48, int_46_48, int_43_47, int_42_48, int_44_48); - assign Sum[48] = int_45_47; - assign Carry[48] = int_46_48; - - // Hardware for column 49 - - r4bs r4bs_3920_64(yy[48], yy[49], single[0], double[0], neg[0], pp_0_49); - r4bs r4bs_3920_192(yy[46], yy[47], single[1], double[1], neg[1], pp_1_49); - halfAdd HA_3920_320(int_1_49, int_0_49, pp_0_49, pp_1_49); - r4bs r4bs_3920_400(yy[44], yy[45], single[2], double[2], neg[2], pp_2_49); - r4bs r4bs_3920_528(yy[42], yy[43], single[3], double[3], neg[3], pp_3_49); - r4bs r4bs_3920_656(yy[40], yy[41], single[4], double[4], neg[4], pp_4_49); - fullAdd_x FA_3920_784(int_3_49, int_2_49, pp_2_49, pp_3_49, pp_4_49); - r4bs r4bs_3920_1000(yy[38], yy[39], single[5], double[5], neg[5], pp_5_49); - r4bs r4bs_3920_1128(yy[36], yy[37], single[6], double[6], neg[6], pp_6_49); - r4bs r4bs_3920_1256(yy[34], yy[35], single[7], double[7], neg[7], pp_7_49); - fullAdd_x FA_3920_1384(int_5_49, int_4_49, pp_5_49, pp_6_49, pp_7_49); - r4bs r4bs_3920_1600(yy[32], yy[33], single[8], double[8], neg[8], pp_8_49); - r4bs r4bs_3920_1728(yy[30], yy[31], single[9], double[9], neg[9], pp_9_49); - r4bs r4bs_3920_1856(yy[28], yy[29], single[10], double[10], neg[10], pp_10_49); - fullAdd_x FA_3920_1984(int_7_49, int_6_49, pp_8_49, pp_9_49, pp_10_49); - r4bs r4bs_3920_2200(yy[26], yy[27], single[11], double[11], neg[11], pp_11_49); - r4bs r4bs_3920_2328(yy[24], yy[25], single[12], double[12], neg[12], pp_12_49); - r4bs r4bs_3920_2456(yy[22], yy[23], single[13], double[13], neg[13], pp_13_49); - fullAdd_x FA_3920_2584(int_9_49, int_8_49, pp_11_49, pp_12_49, pp_13_49); - r4bs r4bs_3920_2800(yy[20], yy[21], single[14], double[14], neg[14], pp_14_49); - r4bs r4bs_3920_2928(yy[18], yy[19], single[15], double[15], neg[15], pp_15_49); - r4bs r4bs_3920_3056(yy[16], yy[17], single[16], double[16], neg[16], pp_16_49); - fullAdd_x FA_3920_3184(int_11_49, int_10_49, pp_14_49, pp_15_49, pp_16_49); - r4bs r4bs_3920_3400(yy[14], yy[15], single[17], double[17], neg[17], pp_17_49); - r4bs r4bs_3920_3528(yy[12], yy[13], single[18], double[18], neg[18], pp_18_49); - r4bs r4bs_3920_3656(yy[10], yy[11], single[19], double[19], neg[19], pp_19_49); - fullAdd_x FA_3920_3784(int_13_49, int_12_49, pp_17_49, pp_18_49, pp_19_49); - r4bs r4bs_3920_4000(yy[8], yy[9], single[20], double[20], neg[20], pp_20_49); - r4bs r4bs_3920_4128(yy[6], yy[7], single[21], double[21], neg[21], pp_21_49); - r4bs r4bs_3920_4256(yy[4], yy[5], single[22], double[22], neg[22], pp_22_49); - fullAdd_x FA_3920_4384(int_15_49, int_14_49, pp_20_49, pp_21_49, pp_22_49); - r4bs r4bs_3920_4600(yy[2], yy[3], single[23], double[23], neg[23], pp_23_49); - r4bs r4bs_3920_4728(yy[0], yy[1], single[24], double[24], neg[24], pp_24_49); - fullAdd_x FA_3920_4856(int_17_49, int_16_49, pp_23_49, pp_24_49, int_1_48); - fullAdd_x FA_3920_5072(int_19_49, int_18_49, int_3_48, int_5_48, int_7_48); - fullAdd_x FA_3920_5288(int_21_49, int_20_49, int_9_48, int_11_48, int_13_48); - fullAdd_x FA_3920_5504(int_23_49, int_22_49, int_15_48, int_17_48, int_0_49); - fullAdd_x FA_3920_5720(int_25_49, int_24_49, int_19_48, int_21_48, int_23_48); - fullAdd_x FA_3920_5936(int_27_49, int_26_49, int_2_49, int_4_49, int_6_49); - fullAdd_x FA_3920_6152(int_29_49, int_28_49, int_8_49, int_10_49, int_12_49); - fullAdd_x FA_3920_6368(int_31_49, int_30_49, int_14_49, int_16_49, int_25_48); - fullAdd_x FA_3920_6584(int_33_49, int_32_49, int_27_48, int_29_48, int_18_49); - fullAdd_x FA_3920_6800(int_35_49, int_34_49, int_20_49, int_22_49, int_31_48); - fullAdd_x FA_3920_7016(int_37_49, int_36_49, int_33_48, int_24_49, int_26_49); - fullAdd_x FA_3920_7232(int_39_49, int_38_49, int_28_49, int_30_49, int_35_48); - fullAdd_x FA_3920_7448(int_41_49, int_40_49, int_37_48, int_39_48, int_32_49); - fullAdd_x FA_3920_7664(int_43_49, int_42_49, int_34_49, int_41_48, int_36_49); - fullAdd_x FA_3920_7880(int_45_49, int_44_49, int_38_49, int_43_48, int_40_49); - fullAdd_x FA_3920_8096(int_47_49, int_46_49, int_45_48, int_42_49, int_44_49); - assign Sum[49] = int_47_48; - assign Carry[49] = int_46_49; - - // Hardware for column 50 - - r4bs r4bs_4000_64(yy[49], yy[50], single[0], double[0], neg[0], pp_0_50); - halfAdd HA_4000_192(int_1_50, int_0_50, neg[25], pp_0_50); - r4bs r4bs_4000_272(yy[47], yy[48], single[1], double[1], neg[1], pp_1_50); - r4bs r4bs_4000_400(yy[45], yy[46], single[2], double[2], neg[2], pp_2_50); - r4bs r4bs_4000_528(yy[43], yy[44], single[3], double[3], neg[3], pp_3_50); - fullAdd_x FA_4000_656(int_3_50, int_2_50, pp_1_50, pp_2_50, pp_3_50); - r4bs r4bs_4000_872(yy[41], yy[42], single[4], double[4], neg[4], pp_4_50); - r4bs r4bs_4000_1000(yy[39], yy[40], single[5], double[5], neg[5], pp_5_50); - r4bs r4bs_4000_1128(yy[37], yy[38], single[6], double[6], neg[6], pp_6_50); - fullAdd_x FA_4000_1256(int_5_50, int_4_50, pp_4_50, pp_5_50, pp_6_50); - r4bs r4bs_4000_1472(yy[35], yy[36], single[7], double[7], neg[7], pp_7_50); - r4bs r4bs_4000_1600(yy[33], yy[34], single[8], double[8], neg[8], pp_8_50); - r4bs r4bs_4000_1728(yy[31], yy[32], single[9], double[9], neg[9], pp_9_50); - fullAdd_x FA_4000_1856(int_7_50, int_6_50, pp_7_50, pp_8_50, pp_9_50); - r4bs r4bs_4000_2072(yy[29], yy[30], single[10], double[10], neg[10], pp_10_50); - r4bs r4bs_4000_2200(yy[27], yy[28], single[11], double[11], neg[11], pp_11_50); - r4bs r4bs_4000_2328(yy[25], yy[26], single[12], double[12], neg[12], pp_12_50); - fullAdd_x FA_4000_2456(int_9_50, int_8_50, pp_10_50, pp_11_50, pp_12_50); - r4bs r4bs_4000_2672(yy[23], yy[24], single[13], double[13], neg[13], pp_13_50); - r4bs r4bs_4000_2800(yy[21], yy[22], single[14], double[14], neg[14], pp_14_50); - r4bs r4bs_4000_2928(yy[19], yy[20], single[15], double[15], neg[15], pp_15_50); - fullAdd_x FA_4000_3056(int_11_50, int_10_50, pp_13_50, pp_14_50, pp_15_50); - r4bs r4bs_4000_3272(yy[17], yy[18], single[16], double[16], neg[16], pp_16_50); - r4bs r4bs_4000_3400(yy[15], yy[16], single[17], double[17], neg[17], pp_17_50); - r4bs r4bs_4000_3528(yy[13], yy[14], single[18], double[18], neg[18], pp_18_50); - fullAdd_x FA_4000_3656(int_13_50, int_12_50, pp_16_50, pp_17_50, pp_18_50); - r4bs r4bs_4000_3872(yy[11], yy[12], single[19], double[19], neg[19], pp_19_50); - r4bs r4bs_4000_4000(yy[9], yy[10], single[20], double[20], neg[20], pp_20_50); - r4bs r4bs_4000_4128(yy[7], yy[8], single[21], double[21], neg[21], pp_21_50); - fullAdd_x FA_4000_4256(int_15_50, int_14_50, pp_19_50, pp_20_50, pp_21_50); - r4bs r4bs_4000_4472(yy[5], yy[6], single[22], double[22], neg[22], pp_22_50); - r4bs r4bs_4000_4600(yy[3], yy[4], single[23], double[23], neg[23], pp_23_50); - r4bs r4bs_4000_4728(yy[1], yy[2], single[24], double[24], neg[24], pp_24_50); - fullAdd_x FA_4000_4856(int_17_50, int_16_50, pp_22_50, pp_23_50, pp_24_50); - r4bs r4bs_4000_5072(gnd, yy[0], single[25], double[25], neg[25], pp_25_50); - fullAdd_x FA_4000_5200(int_19_50, int_18_50, pp_25_50, int_1_49, int_3_49); - fullAdd_x FA_4000_5416(int_21_50, int_20_50, int_5_49, int_7_49, int_9_49); - fullAdd_x FA_4000_5632(int_23_50, int_22_50, int_11_49, int_13_49, int_15_49); - fullAdd_x FA_4000_5848(int_25_50, int_24_50, int_0_50, int_17_49, int_19_49); - fullAdd_x FA_4000_6064(int_27_50, int_26_50, int_21_49, int_23_49, int_2_50); - fullAdd_x FA_4000_6280(int_29_50, int_28_50, int_4_50, int_6_50, int_8_50); - fullAdd_x FA_4000_6496(int_31_50, int_30_50, int_10_50, int_12_50, int_14_50); - fullAdd_x FA_4000_6712(int_33_50, int_32_50, int_16_50, int_18_50, int_25_49); - fullAdd_x FA_4000_6928(int_35_50, int_34_50, int_27_49, int_29_49, int_20_50); - fullAdd_x FA_4000_7144(int_37_50, int_36_50, int_22_50, int_24_50, int_31_49); - fullAdd_x FA_4000_7360(int_39_50, int_38_50, int_33_49, int_26_50, int_28_50); - fullAdd_x FA_4000_7576(int_41_50, int_40_50, int_30_50, int_32_50, int_35_49); - fullAdd_x FA_4000_7792(int_43_50, int_42_50, int_37_49, int_34_50, int_39_49); - fullAdd_x FA_4000_8008(int_45_50, int_44_50, int_36_50, int_41_49, int_38_50); - fullAdd_x FA_4000_8224(int_47_50, int_46_50, int_40_50, int_43_49, int_42_50); - fullAdd_x FA_4000_8440(int_49_50, int_48_50, int_45_49, int_44_50, int_46_50); - assign Sum[50] = int_47_49; - assign Carry[50] = int_48_50; - - // Hardware for column 51 - - r4bs r4bs_4080_64(yy[50], yy[51], single[0], double[0], neg[0], pp_0_51); - r4bs r4bs_4080_192(yy[48], yy[49], single[1], double[1], neg[1], pp_1_51); - halfAdd HA_4080_320(int_1_51, int_0_51, pp_0_51, pp_1_51); - r4bs r4bs_4080_400(yy[46], yy[47], single[2], double[2], neg[2], pp_2_51); - r4bs r4bs_4080_528(yy[44], yy[45], single[3], double[3], neg[3], pp_3_51); - r4bs r4bs_4080_656(yy[42], yy[43], single[4], double[4], neg[4], pp_4_51); - fullAdd_x FA_4080_784(int_3_51, int_2_51, pp_2_51, pp_3_51, pp_4_51); - r4bs r4bs_4080_1000(yy[40], yy[41], single[5], double[5], neg[5], pp_5_51); - r4bs r4bs_4080_1128(yy[38], yy[39], single[6], double[6], neg[6], pp_6_51); - r4bs r4bs_4080_1256(yy[36], yy[37], single[7], double[7], neg[7], pp_7_51); - fullAdd_x FA_4080_1384(int_5_51, int_4_51, pp_5_51, pp_6_51, pp_7_51); - r4bs r4bs_4080_1600(yy[34], yy[35], single[8], double[8], neg[8], pp_8_51); - r4bs r4bs_4080_1728(yy[32], yy[33], single[9], double[9], neg[9], pp_9_51); - r4bs r4bs_4080_1856(yy[30], yy[31], single[10], double[10], neg[10], pp_10_51); - fullAdd_x FA_4080_1984(int_7_51, int_6_51, pp_8_51, pp_9_51, pp_10_51); - r4bs r4bs_4080_2200(yy[28], yy[29], single[11], double[11], neg[11], pp_11_51); - r4bs r4bs_4080_2328(yy[26], yy[27], single[12], double[12], neg[12], pp_12_51); - r4bs r4bs_4080_2456(yy[24], yy[25], single[13], double[13], neg[13], pp_13_51); - fullAdd_x FA_4080_2584(int_9_51, int_8_51, pp_11_51, pp_12_51, pp_13_51); - r4bs r4bs_4080_2800(yy[22], yy[23], single[14], double[14], neg[14], pp_14_51); - r4bs r4bs_4080_2928(yy[20], yy[21], single[15], double[15], neg[15], pp_15_51); - r4bs r4bs_4080_3056(yy[18], yy[19], single[16], double[16], neg[16], pp_16_51); - fullAdd_x FA_4080_3184(int_11_51, int_10_51, pp_14_51, pp_15_51, pp_16_51); - r4bs r4bs_4080_3400(yy[16], yy[17], single[17], double[17], neg[17], pp_17_51); - r4bs r4bs_4080_3528(yy[14], yy[15], single[18], double[18], neg[18], pp_18_51); - r4bs r4bs_4080_3656(yy[12], yy[13], single[19], double[19], neg[19], pp_19_51); - fullAdd_x FA_4080_3784(int_13_51, int_12_51, pp_17_51, pp_18_51, pp_19_51); - r4bs r4bs_4080_4000(yy[10], yy[11], single[20], double[20], neg[20], pp_20_51); - r4bs r4bs_4080_4128(yy[8], yy[9], single[21], double[21], neg[21], pp_21_51); - r4bs r4bs_4080_4256(yy[6], yy[7], single[22], double[22], neg[22], pp_22_51); - fullAdd_x FA_4080_4384(int_15_51, int_14_51, pp_20_51, pp_21_51, pp_22_51); - r4bs r4bs_4080_4600(yy[4], yy[5], single[23], double[23], neg[23], pp_23_51); - r4bs r4bs_4080_4728(yy[2], yy[3], single[24], double[24], neg[24], pp_24_51); - r4bs r4bs_4080_4856(yy[0], yy[1], single[25], double[25], neg[25], pp_25_51); - fullAdd_x FA_4080_4984(int_17_51, int_16_51, pp_23_51, pp_24_51, pp_25_51); - fullAdd_x FA_4080_5200(int_19_51, int_18_51, int_1_50, int_3_50, int_5_50); - fullAdd_x FA_4080_5416(int_21_51, int_20_51, int_7_50, int_9_50, int_11_50); - fullAdd_x FA_4080_5632(int_23_51, int_22_51, int_13_50, int_15_50, int_17_50); - fullAdd_x FA_4080_5848(int_25_51, int_24_51, int_0_51, int_19_50, int_21_50); - fullAdd_x FA_4080_6064(int_27_51, int_26_51, int_23_50, int_2_51, int_4_51); - fullAdd_x FA_4080_6280(int_29_51, int_28_51, int_6_51, int_8_51, int_10_51); - fullAdd_x FA_4080_6496(int_31_51, int_30_51, int_12_51, int_14_51, int_16_51); - fullAdd_x FA_4080_6712(int_33_51, int_32_51, int_25_50, int_27_50, int_29_50); - fullAdd_x FA_4080_6928(int_35_51, int_34_51, int_31_50, int_18_51, int_20_51); - fullAdd_x FA_4080_7144(int_37_51, int_36_51, int_22_51, int_33_50, int_35_50); - fullAdd_x FA_4080_7360(int_39_51, int_38_51, int_24_51, int_26_51, int_28_51); - fullAdd_x FA_4080_7576(int_41_51, int_40_51, int_30_51, int_37_50, int_39_50); - fullAdd_x FA_4080_7792(int_43_51, int_42_51, int_32_51, int_34_51, int_41_50); - fullAdd_x FA_4080_8008(int_45_51, int_44_51, int_36_51, int_38_51, int_43_50); - fullAdd_x FA_4080_8224(int_47_51, int_46_51, int_45_50, int_40_51, int_42_51); - fullAdd_x FA_4080_8440(int_49_51, int_48_51, int_47_50, int_44_51, int_46_51); - assign Sum[51] = int_49_50; - assign Carry[51] = int_48_51; - - // Hardware for column 52 - - r4bs r4bs_4160_64(yy[51], yy[52], single[0], double[0], neg[0], pp_0_52); - halfAdd HA_4160_192(int_1_52, int_0_52, neg[26], pp_0_52); - r4bs r4bs_4160_272(yy[49], yy[50], single[1], double[1], neg[1], pp_1_52); - r4bs r4bs_4160_400(yy[47], yy[48], single[2], double[2], neg[2], pp_2_52); - r4bs r4bs_4160_528(yy[45], yy[46], single[3], double[3], neg[3], pp_3_52); - fullAdd_x FA_4160_656(int_3_52, int_2_52, pp_1_52, pp_2_52, pp_3_52); - r4bs r4bs_4160_872(yy[43], yy[44], single[4], double[4], neg[4], pp_4_52); - r4bs r4bs_4160_1000(yy[41], yy[42], single[5], double[5], neg[5], pp_5_52); - r4bs r4bs_4160_1128(yy[39], yy[40], single[6], double[6], neg[6], pp_6_52); - fullAdd_x FA_4160_1256(int_5_52, int_4_52, pp_4_52, pp_5_52, pp_6_52); - r4bs r4bs_4160_1472(yy[37], yy[38], single[7], double[7], neg[7], pp_7_52); - r4bs r4bs_4160_1600(yy[35], yy[36], single[8], double[8], neg[8], pp_8_52); - r4bs r4bs_4160_1728(yy[33], yy[34], single[9], double[9], neg[9], pp_9_52); - fullAdd_x FA_4160_1856(int_7_52, int_6_52, pp_7_52, pp_8_52, pp_9_52); - r4bs r4bs_4160_2072(yy[31], yy[32], single[10], double[10], neg[10], pp_10_52); - r4bs r4bs_4160_2200(yy[29], yy[30], single[11], double[11], neg[11], pp_11_52); - r4bs r4bs_4160_2328(yy[27], yy[28], single[12], double[12], neg[12], pp_12_52); - fullAdd_x FA_4160_2456(int_9_52, int_8_52, pp_10_52, pp_11_52, pp_12_52); - r4bs r4bs_4160_2672(yy[25], yy[26], single[13], double[13], neg[13], pp_13_52); - r4bs r4bs_4160_2800(yy[23], yy[24], single[14], double[14], neg[14], pp_14_52); - r4bs r4bs_4160_2928(yy[21], yy[22], single[15], double[15], neg[15], pp_15_52); - fullAdd_x FA_4160_3056(int_11_52, int_10_52, pp_13_52, pp_14_52, pp_15_52); - r4bs r4bs_4160_3272(yy[19], yy[20], single[16], double[16], neg[16], pp_16_52); - r4bs r4bs_4160_3400(yy[17], yy[18], single[17], double[17], neg[17], pp_17_52); - r4bs r4bs_4160_3528(yy[15], yy[16], single[18], double[18], neg[18], pp_18_52); - fullAdd_x FA_4160_3656(int_13_52, int_12_52, pp_16_52, pp_17_52, pp_18_52); - r4bs r4bs_4160_3872(yy[13], yy[14], single[19], double[19], neg[19], pp_19_52); - r4bs r4bs_4160_4000(yy[11], yy[12], single[20], double[20], neg[20], pp_20_52); - r4bs r4bs_4160_4128(yy[9], yy[10], single[21], double[21], neg[21], pp_21_52); - fullAdd_x FA_4160_4256(int_15_52, int_14_52, pp_19_52, pp_20_52, pp_21_52); - r4bs r4bs_4160_4472(yy[7], yy[8], single[22], double[22], neg[22], pp_22_52); - r4bs r4bs_4160_4600(yy[5], yy[6], single[23], double[23], neg[23], pp_23_52); - r4bs r4bs_4160_4728(yy[3], yy[4], single[24], double[24], neg[24], pp_24_52); - fullAdd_x FA_4160_4856(int_17_52, int_16_52, pp_22_52, pp_23_52, pp_24_52); - r4bs r4bs_4160_5072(yy[1], yy[2], single[25], double[25], neg[25], pp_25_52); - r4bs r4bs_4160_5200(gnd, yy[0], single[26], double[26], neg[26], pp_26_52); - fullAdd_x FA_4160_5328(int_19_52, int_18_52, pp_25_52, pp_26_52, int_1_51); - fullAdd_x FA_4160_5544(int_21_52, int_20_52, int_3_51, int_5_51, int_7_51); - fullAdd_x FA_4160_5760(int_23_52, int_22_52, int_9_51, int_11_51, int_13_51); - fullAdd_x FA_4160_5976(int_25_52, int_24_52, int_15_51, int_17_51, int_0_52); - fullAdd_x FA_4160_6192(int_27_52, int_26_52, int_19_51, int_21_51, int_23_51); - fullAdd_x FA_4160_6408(int_29_52, int_28_52, int_2_52, int_4_52, int_6_52); - fullAdd_x FA_4160_6624(int_31_52, int_30_52, int_8_52, int_10_52, int_12_52); - fullAdd_x FA_4160_6840(int_33_52, int_32_52, int_14_52, int_16_52, int_18_52); - fullAdd_x FA_4160_7056(int_35_52, int_34_52, int_25_51, int_27_51, int_29_51); - fullAdd_x FA_4160_7272(int_37_52, int_36_52, int_31_51, int_20_52, int_22_52); - fullAdd_x FA_4160_7488(int_39_52, int_38_52, int_24_52, int_33_51, int_35_51); - fullAdd_x FA_4160_7704(int_41_52, int_40_52, int_26_52, int_28_52, int_30_52); - fullAdd_x FA_4160_7920(int_43_52, int_42_52, int_32_52, int_37_51, int_39_51); - fullAdd_x FA_4160_8136(int_45_52, int_44_52, int_34_52, int_36_52, int_41_51); - fullAdd_x FA_4160_8352(int_47_52, int_46_52, int_38_52, int_40_52, int_43_51); - fullAdd_x FA_4160_8568(int_49_52, int_48_52, int_42_52, int_44_52, int_45_51); - fullAdd_x FA_4160_8784(int_51_52, int_50_52, int_47_51, int_46_52, int_48_52); - assign Sum[52] = int_49_51; - assign Carry[52] = int_50_52; - - // Hardware for column 53 - - r4bs r4bs_4240_64(yy[52], yy[53], single[0], double[0], neg[0], pp_0_53); - r4bs r4bs_4240_192(yy[50], yy[51], single[1], double[1], neg[1], pp_1_53); - halfAdd HA_4240_320(int_1_53, int_0_53, pp_0_53, pp_1_53); - r4bs r4bs_4240_400(yy[48], yy[49], single[2], double[2], neg[2], pp_2_53); - r4bs r4bs_4240_528(yy[46], yy[47], single[3], double[3], neg[3], pp_3_53); - r4bs r4bs_4240_656(yy[44], yy[45], single[4], double[4], neg[4], pp_4_53); - fullAdd_x FA_4240_784(int_3_53, int_2_53, pp_2_53, pp_3_53, pp_4_53); - r4bs r4bs_4240_1000(yy[42], yy[43], single[5], double[5], neg[5], pp_5_53); - r4bs r4bs_4240_1128(yy[40], yy[41], single[6], double[6], neg[6], pp_6_53); - r4bs r4bs_4240_1256(yy[38], yy[39], single[7], double[7], neg[7], pp_7_53); - fullAdd_x FA_4240_1384(int_5_53, int_4_53, pp_5_53, pp_6_53, pp_7_53); - r4bs r4bs_4240_1600(yy[36], yy[37], single[8], double[8], neg[8], pp_8_53); - r4bs r4bs_4240_1728(yy[34], yy[35], single[9], double[9], neg[9], pp_9_53); - r4bs r4bs_4240_1856(yy[32], yy[33], single[10], double[10], neg[10], pp_10_53); - fullAdd_x FA_4240_1984(int_7_53, int_6_53, pp_8_53, pp_9_53, pp_10_53); - r4bs r4bs_4240_2200(yy[30], yy[31], single[11], double[11], neg[11], pp_11_53); - r4bs r4bs_4240_2328(yy[28], yy[29], single[12], double[12], neg[12], pp_12_53); - r4bs r4bs_4240_2456(yy[26], yy[27], single[13], double[13], neg[13], pp_13_53); - fullAdd_x FA_4240_2584(int_9_53, int_8_53, pp_11_53, pp_12_53, pp_13_53); - r4bs r4bs_4240_2800(yy[24], yy[25], single[14], double[14], neg[14], pp_14_53); - r4bs r4bs_4240_2928(yy[22], yy[23], single[15], double[15], neg[15], pp_15_53); - r4bs r4bs_4240_3056(yy[20], yy[21], single[16], double[16], neg[16], pp_16_53); - fullAdd_x FA_4240_3184(int_11_53, int_10_53, pp_14_53, pp_15_53, pp_16_53); - r4bs r4bs_4240_3400(yy[18], yy[19], single[17], double[17], neg[17], pp_17_53); - r4bs r4bs_4240_3528(yy[16], yy[17], single[18], double[18], neg[18], pp_18_53); - r4bs r4bs_4240_3656(yy[14], yy[15], single[19], double[19], neg[19], pp_19_53); - fullAdd_x FA_4240_3784(int_13_53, int_12_53, pp_17_53, pp_18_53, pp_19_53); - r4bs r4bs_4240_4000(yy[12], yy[13], single[20], double[20], neg[20], pp_20_53); - r4bs r4bs_4240_4128(yy[10], yy[11], single[21], double[21], neg[21], pp_21_53); - r4bs r4bs_4240_4256(yy[8], yy[9], single[22], double[22], neg[22], pp_22_53); - fullAdd_x FA_4240_4384(int_15_53, int_14_53, pp_20_53, pp_21_53, pp_22_53); - r4bs r4bs_4240_4600(yy[6], yy[7], single[23], double[23], neg[23], pp_23_53); - r4bs r4bs_4240_4728(yy[4], yy[5], single[24], double[24], neg[24], pp_24_53); - r4bs r4bs_4240_4856(yy[2], yy[3], single[25], double[25], neg[25], pp_25_53); - fullAdd_x FA_4240_4984(int_17_53, int_16_53, pp_23_53, pp_24_53, pp_25_53); - r4bs r4bs_4240_5200(yy[0], yy[1], single[26], double[26], neg[26], pp_26_53); - fullAdd_x FA_4240_5328(int_19_53, int_18_53, pp_26_53, int_1_52, int_3_52); - fullAdd_x FA_4240_5544(int_21_53, int_20_53, int_5_52, int_7_52, int_9_52); - fullAdd_x FA_4240_5760(int_23_53, int_22_53, int_11_52, int_13_52, int_15_52); - fullAdd_x FA_4240_5976(int_25_53, int_24_53, int_17_52, int_0_53, int_19_52); - fullAdd_x FA_4240_6192(int_27_53, int_26_53, int_21_52, int_23_52, int_25_52); - fullAdd_x FA_4240_6408(int_29_53, int_28_53, int_2_53, int_4_53, int_6_53); - fullAdd_x FA_4240_6624(int_31_53, int_30_53, int_8_53, int_10_53, int_12_53); - fullAdd_x FA_4240_6840(int_33_53, int_32_53, int_14_53, int_16_53, int_18_53); - fullAdd_x FA_4240_7056(int_35_53, int_34_53, int_27_52, int_29_52, int_31_52); - fullAdd_x FA_4240_7272(int_37_53, int_36_53, int_33_52, int_20_53, int_22_53); - fullAdd_x FA_4240_7488(int_39_53, int_38_53, int_24_53, int_35_52, int_37_52); - fullAdd_x FA_4240_7704(int_41_53, int_40_53, int_26_53, int_28_53, int_30_53); - fullAdd_x FA_4240_7920(int_43_53, int_42_53, int_32_53, int_39_52, int_41_52); - fullAdd_x FA_4240_8136(int_45_53, int_44_53, int_34_53, int_36_53, int_43_52); - fullAdd_x FA_4240_8352(int_47_53, int_46_53, int_38_53, int_40_53, int_45_52); - fullAdd_x FA_4240_8568(int_49_53, int_48_53, int_42_53, int_44_53, int_47_52); - fullAdd_x FA_4240_8784(int_51_53, int_50_53, int_46_53, int_49_52, int_48_53); - assign Sum[53] = int_51_52; - assign Carry[53] = int_50_53; - - // Hardware for column 54 - - r4bs r4bs_4320_64(yy[53], yy[54], single[0], double[0], neg[0], pp_0_54); - halfAdd HA_4320_192(int_1_54, int_0_54, neg[27], pp_0_54); - r4bs r4bs_4320_272(yy[51], yy[52], single[1], double[1], neg[1], pp_1_54); - r4bs r4bs_4320_400(yy[49], yy[50], single[2], double[2], neg[2], pp_2_54); - r4bs r4bs_4320_528(yy[47], yy[48], single[3], double[3], neg[3], pp_3_54); - fullAdd_x FA_4320_656(int_3_54, int_2_54, pp_1_54, pp_2_54, pp_3_54); - r4bs r4bs_4320_872(yy[45], yy[46], single[4], double[4], neg[4], pp_4_54); - r4bs r4bs_4320_1000(yy[43], yy[44], single[5], double[5], neg[5], pp_5_54); - r4bs r4bs_4320_1128(yy[41], yy[42], single[6], double[6], neg[6], pp_6_54); - fullAdd_x FA_4320_1256(int_5_54, int_4_54, pp_4_54, pp_5_54, pp_6_54); - r4bs r4bs_4320_1472(yy[39], yy[40], single[7], double[7], neg[7], pp_7_54); - r4bs r4bs_4320_1600(yy[37], yy[38], single[8], double[8], neg[8], pp_8_54); - r4bs r4bs_4320_1728(yy[35], yy[36], single[9], double[9], neg[9], pp_9_54); - fullAdd_x FA_4320_1856(int_7_54, int_6_54, pp_7_54, pp_8_54, pp_9_54); - r4bs r4bs_4320_2072(yy[33], yy[34], single[10], double[10], neg[10], pp_10_54); - r4bs r4bs_4320_2200(yy[31], yy[32], single[11], double[11], neg[11], pp_11_54); - r4bs r4bs_4320_2328(yy[29], yy[30], single[12], double[12], neg[12], pp_12_54); - fullAdd_x FA_4320_2456(int_9_54, int_8_54, pp_10_54, pp_11_54, pp_12_54); - r4bs r4bs_4320_2672(yy[27], yy[28], single[13], double[13], neg[13], pp_13_54); - r4bs r4bs_4320_2800(yy[25], yy[26], single[14], double[14], neg[14], pp_14_54); - r4bs r4bs_4320_2928(yy[23], yy[24], single[15], double[15], neg[15], pp_15_54); - fullAdd_x FA_4320_3056(int_11_54, int_10_54, pp_13_54, pp_14_54, pp_15_54); - r4bs r4bs_4320_3272(yy[21], yy[22], single[16], double[16], neg[16], pp_16_54); - r4bs r4bs_4320_3400(yy[19], yy[20], single[17], double[17], neg[17], pp_17_54); - r4bs r4bs_4320_3528(yy[17], yy[18], single[18], double[18], neg[18], pp_18_54); - fullAdd_x FA_4320_3656(int_13_54, int_12_54, pp_16_54, pp_17_54, pp_18_54); - r4bs r4bs_4320_3872(yy[15], yy[16], single[19], double[19], neg[19], pp_19_54); - r4bs r4bs_4320_4000(yy[13], yy[14], single[20], double[20], neg[20], pp_20_54); - r4bs r4bs_4320_4128(yy[11], yy[12], single[21], double[21], neg[21], pp_21_54); - fullAdd_x FA_4320_4256(int_15_54, int_14_54, pp_19_54, pp_20_54, pp_21_54); - r4bs r4bs_4320_4472(yy[9], yy[10], single[22], double[22], neg[22], pp_22_54); - r4bs r4bs_4320_4600(yy[7], yy[8], single[23], double[23], neg[23], pp_23_54); - r4bs r4bs_4320_4728(yy[5], yy[6], single[24], double[24], neg[24], pp_24_54); - fullAdd_x FA_4320_4856(int_17_54, int_16_54, pp_22_54, pp_23_54, pp_24_54); - r4bs r4bs_4320_5072(yy[3], yy[4], single[25], double[25], neg[25], pp_25_54); - r4bs r4bs_4320_5200(yy[1], yy[2], single[26], double[26], neg[26], pp_26_54); - r4bs r4bs_4320_5328(gnd, yy[0], single[27], double[27], neg[27], pp_27_54); - fullAdd_x FA_4320_5456(int_19_54, int_18_54, pp_25_54, pp_26_54, pp_27_54); - fullAdd_x FA_4320_5672(int_21_54, int_20_54, int_1_53, int_3_53, int_5_53); - fullAdd_x FA_4320_5888(int_23_54, int_22_54, int_7_53, int_9_53, int_11_53); - fullAdd_x FA_4320_6104(int_25_54, int_24_54, int_13_53, int_15_53, int_17_53); - fullAdd_x FA_4320_6320(int_27_54, int_26_54, int_0_54, int_19_53, int_21_53); - fullAdd_x FA_4320_6536(int_29_54, int_28_54, int_23_53, int_2_54, int_4_54); - fullAdd_x FA_4320_6752(int_31_54, int_30_54, int_6_54, int_8_54, int_10_54); - fullAdd_x FA_4320_6968(int_33_54, int_32_54, int_12_54, int_14_54, int_16_54); - fullAdd_x FA_4320_7184(int_35_54, int_34_54, int_18_54, int_25_53, int_27_53); - fullAdd_x FA_4320_7400(int_37_54, int_36_54, int_29_53, int_31_53, int_20_54); - fullAdd_x FA_4320_7616(int_39_54, int_38_54, int_22_54, int_24_54, int_33_53); - fullAdd_x FA_4320_7832(int_41_54, int_40_54, int_35_53, int_37_53, int_26_54); - fullAdd_x FA_4320_8048(int_43_54, int_42_54, int_28_54, int_30_54, int_32_54); - fullAdd_x FA_4320_8264(int_45_54, int_44_54, int_34_54, int_39_53, int_41_53); - fullAdd_x FA_4320_8480(int_47_54, int_46_54, int_36_54, int_38_54, int_43_53); - fullAdd_x FA_4320_8696(int_49_54, int_48_54, int_40_54, int_42_54, int_45_53); - fullAdd_x FA_4320_8912(int_51_54, int_50_54, int_44_54, int_46_54, int_47_53); - fullAdd_x FA_4320_9128(int_53_54, int_52_54, int_48_54, int_49_53, int_50_54); - assign Sum[54] = int_51_53; - assign Carry[54] = int_52_54; - - // Hardware for column 55 - - r4bs r4bs_4400_64(yy[54], yy[55], single[0], double[0], neg[0], pp_0_55); - r4bs r4bs_4400_192(yy[52], yy[53], single[1], double[1], neg[1], pp_1_55); - halfAdd HA_4400_320(int_1_55, int_0_55, pp_0_55, pp_1_55); - r4bs r4bs_4400_400(yy[50], yy[51], single[2], double[2], neg[2], pp_2_55); - r4bs r4bs_4400_528(yy[48], yy[49], single[3], double[3], neg[3], pp_3_55); - r4bs r4bs_4400_656(yy[46], yy[47], single[4], double[4], neg[4], pp_4_55); - fullAdd_x FA_4400_784(int_3_55, int_2_55, pp_2_55, pp_3_55, pp_4_55); - r4bs r4bs_4400_1000(yy[44], yy[45], single[5], double[5], neg[5], pp_5_55); - r4bs r4bs_4400_1128(yy[42], yy[43], single[6], double[6], neg[6], pp_6_55); - r4bs r4bs_4400_1256(yy[40], yy[41], single[7], double[7], neg[7], pp_7_55); - fullAdd_x FA_4400_1384(int_5_55, int_4_55, pp_5_55, pp_6_55, pp_7_55); - r4bs r4bs_4400_1600(yy[38], yy[39], single[8], double[8], neg[8], pp_8_55); - r4bs r4bs_4400_1728(yy[36], yy[37], single[9], double[9], neg[9], pp_9_55); - r4bs r4bs_4400_1856(yy[34], yy[35], single[10], double[10], neg[10], pp_10_55); - fullAdd_x FA_4400_1984(int_7_55, int_6_55, pp_8_55, pp_9_55, pp_10_55); - r4bs r4bs_4400_2200(yy[32], yy[33], single[11], double[11], neg[11], pp_11_55); - r4bs r4bs_4400_2328(yy[30], yy[31], single[12], double[12], neg[12], pp_12_55); - r4bs r4bs_4400_2456(yy[28], yy[29], single[13], double[13], neg[13], pp_13_55); - fullAdd_x FA_4400_2584(int_9_55, int_8_55, pp_11_55, pp_12_55, pp_13_55); - r4bs r4bs_4400_2800(yy[26], yy[27], single[14], double[14], neg[14], pp_14_55); - r4bs r4bs_4400_2928(yy[24], yy[25], single[15], double[15], neg[15], pp_15_55); - r4bs r4bs_4400_3056(yy[22], yy[23], single[16], double[16], neg[16], pp_16_55); - fullAdd_x FA_4400_3184(int_11_55, int_10_55, pp_14_55, pp_15_55, pp_16_55); - r4bs r4bs_4400_3400(yy[20], yy[21], single[17], double[17], neg[17], pp_17_55); - r4bs r4bs_4400_3528(yy[18], yy[19], single[18], double[18], neg[18], pp_18_55); - r4bs r4bs_4400_3656(yy[16], yy[17], single[19], double[19], neg[19], pp_19_55); - fullAdd_x FA_4400_3784(int_13_55, int_12_55, pp_17_55, pp_18_55, pp_19_55); - r4bs r4bs_4400_4000(yy[14], yy[15], single[20], double[20], neg[20], pp_20_55); - r4bs r4bs_4400_4128(yy[12], yy[13], single[21], double[21], neg[21], pp_21_55); - r4bs r4bs_4400_4256(yy[10], yy[11], single[22], double[22], neg[22], pp_22_55); - fullAdd_x FA_4400_4384(int_15_55, int_14_55, pp_20_55, pp_21_55, pp_22_55); - r4bs r4bs_4400_4600(yy[8], yy[9], single[23], double[23], neg[23], pp_23_55); - r4bs r4bs_4400_4728(yy[6], yy[7], single[24], double[24], neg[24], pp_24_55); - r4bs r4bs_4400_4856(yy[4], yy[5], single[25], double[25], neg[25], pp_25_55); - fullAdd_x FA_4400_4984(int_17_55, int_16_55, pp_23_55, pp_24_55, pp_25_55); - r4bs r4bs_4400_5200(yy[2], yy[3], single[26], double[26], neg[26], pp_26_55); - r4bs r4bs_4400_5328(yy[0], yy[1], single[27], double[27], neg[27], pp_27_55); - fullAdd_x FA_4400_5456(int_19_55, int_18_55, pp_26_55, pp_27_55, int_1_54); - fullAdd_x FA_4400_5672(int_21_55, int_20_55, int_3_54, int_5_54, int_7_54); - fullAdd_x FA_4400_5888(int_23_55, int_22_55, int_9_54, int_11_54, int_13_54); - fullAdd_x FA_4400_6104(int_25_55, int_24_55, int_15_54, int_17_54, int_19_54); - fullAdd_x FA_4400_6320(int_27_55, int_26_55, int_0_55, int_21_54, int_23_54); - fullAdd_x FA_4400_6536(int_29_55, int_28_55, int_25_54, int_2_55, int_4_55); - fullAdd_x FA_4400_6752(int_31_55, int_30_55, int_6_55, int_8_55, int_10_55); - fullAdd_x FA_4400_6968(int_33_55, int_32_55, int_12_55, int_14_55, int_16_55); - fullAdd_x FA_4400_7184(int_35_55, int_34_55, int_18_55, int_27_54, int_29_54); - fullAdd_x FA_4400_7400(int_37_55, int_36_55, int_31_54, int_33_54, int_20_55); - fullAdd_x FA_4400_7616(int_39_55, int_38_55, int_22_55, int_24_55, int_35_54); - fullAdd_x FA_4400_7832(int_41_55, int_40_55, int_37_54, int_26_55, int_28_55); - fullAdd_x FA_4400_8048(int_43_55, int_42_55, int_30_55, int_32_55, int_39_54); - fullAdd_x FA_4400_8264(int_45_55, int_44_55, int_41_54, int_43_54, int_34_55); - fullAdd_x FA_4400_8480(int_47_55, int_46_55, int_36_55, int_38_55, int_45_54); - fullAdd_x FA_4400_8696(int_49_55, int_48_55, int_40_55, int_42_55, int_47_54); - fullAdd_x FA_4400_8912(int_51_55, int_50_55, int_44_55, int_46_55, int_49_54); - fullAdd_x FA_4400_9128(int_53_55, int_52_55, int_48_55, int_51_54, int_50_55); - assign Sum[55] = int_53_54; - assign Carry[55] = int_52_55; - - // Hardware for column 56 - - r4bs r4bs_4480_64(yy[55], yy[56], single[0], double[0], neg[0], pp_0_56); - halfAdd HA_4480_192(int_1_56, int_0_56, neg[28], pp_0_56); - r4bs r4bs_4480_272(yy[53], yy[54], single[1], double[1], neg[1], pp_1_56); - r4bs r4bs_4480_400(yy[51], yy[52], single[2], double[2], neg[2], pp_2_56); - r4bs r4bs_4480_528(yy[49], yy[50], single[3], double[3], neg[3], pp_3_56); - fullAdd_x FA_4480_656(int_3_56, int_2_56, pp_1_56, pp_2_56, pp_3_56); - r4bs r4bs_4480_872(yy[47], yy[48], single[4], double[4], neg[4], pp_4_56); - r4bs r4bs_4480_1000(yy[45], yy[46], single[5], double[5], neg[5], pp_5_56); - r4bs r4bs_4480_1128(yy[43], yy[44], single[6], double[6], neg[6], pp_6_56); - fullAdd_x FA_4480_1256(int_5_56, int_4_56, pp_4_56, pp_5_56, pp_6_56); - r4bs r4bs_4480_1472(yy[41], yy[42], single[7], double[7], neg[7], pp_7_56); - r4bs r4bs_4480_1600(yy[39], yy[40], single[8], double[8], neg[8], pp_8_56); - r4bs r4bs_4480_1728(yy[37], yy[38], single[9], double[9], neg[9], pp_9_56); - fullAdd_x FA_4480_1856(int_7_56, int_6_56, pp_7_56, pp_8_56, pp_9_56); - r4bs r4bs_4480_2072(yy[35], yy[36], single[10], double[10], neg[10], pp_10_56); - r4bs r4bs_4480_2200(yy[33], yy[34], single[11], double[11], neg[11], pp_11_56); - r4bs r4bs_4480_2328(yy[31], yy[32], single[12], double[12], neg[12], pp_12_56); - fullAdd_x FA_4480_2456(int_9_56, int_8_56, pp_10_56, pp_11_56, pp_12_56); - r4bs r4bs_4480_2672(yy[29], yy[30], single[13], double[13], neg[13], pp_13_56); - r4bs r4bs_4480_2800(yy[27], yy[28], single[14], double[14], neg[14], pp_14_56); - r4bs r4bs_4480_2928(yy[25], yy[26], single[15], double[15], neg[15], pp_15_56); - fullAdd_x FA_4480_3056(int_11_56, int_10_56, pp_13_56, pp_14_56, pp_15_56); - r4bs r4bs_4480_3272(yy[23], yy[24], single[16], double[16], neg[16], pp_16_56); - r4bs r4bs_4480_3400(yy[21], yy[22], single[17], double[17], neg[17], pp_17_56); - r4bs r4bs_4480_3528(yy[19], yy[20], single[18], double[18], neg[18], pp_18_56); - fullAdd_x FA_4480_3656(int_13_56, int_12_56, pp_16_56, pp_17_56, pp_18_56); - r4bs r4bs_4480_3872(yy[17], yy[18], single[19], double[19], neg[19], pp_19_56); - r4bs r4bs_4480_4000(yy[15], yy[16], single[20], double[20], neg[20], pp_20_56); - r4bs r4bs_4480_4128(yy[13], yy[14], single[21], double[21], neg[21], pp_21_56); - fullAdd_x FA_4480_4256(int_15_56, int_14_56, pp_19_56, pp_20_56, pp_21_56); - r4bs r4bs_4480_4472(yy[11], yy[12], single[22], double[22], neg[22], pp_22_56); - r4bs r4bs_4480_4600(yy[9], yy[10], single[23], double[23], neg[23], pp_23_56); - r4bs r4bs_4480_4728(yy[7], yy[8], single[24], double[24], neg[24], pp_24_56); - fullAdd_x FA_4480_4856(int_17_56, int_16_56, pp_22_56, pp_23_56, pp_24_56); - r4bs r4bs_4480_5072(yy[5], yy[6], single[25], double[25], neg[25], pp_25_56); - r4bs r4bs_4480_5200(yy[3], yy[4], single[26], double[26], neg[26], pp_26_56); - r4bs r4bs_4480_5328(yy[1], yy[2], single[27], double[27], neg[27], pp_27_56); - fullAdd_x FA_4480_5456(int_19_56, int_18_56, pp_25_56, pp_26_56, pp_27_56); - r4bs r4bs_4480_5672(gnd, yy[0], single[28], double[28], neg[28], pp_28_56); - fullAdd_x FA_4480_5800(int_21_56, int_20_56, pp_28_56, int_1_55, int_3_55); - fullAdd_x FA_4480_6016(int_23_56, int_22_56, int_5_55, int_7_55, int_9_55); - fullAdd_x FA_4480_6232(int_25_56, int_24_56, int_11_55, int_13_55, int_15_55); - fullAdd_x FA_4480_6448(int_27_56, int_26_56, int_17_55, int_0_56, int_19_55); - fullAdd_x FA_4480_6664(int_29_56, int_28_56, int_21_55, int_23_55, int_25_55); - fullAdd_x FA_4480_6880(int_31_56, int_30_56, int_2_56, int_4_56, int_6_56); - fullAdd_x FA_4480_7096(int_33_56, int_32_56, int_8_56, int_10_56, int_12_56); - fullAdd_x FA_4480_7312(int_35_56, int_34_56, int_14_56, int_16_56, int_18_56); - fullAdd_x FA_4480_7528(int_37_56, int_36_56, int_20_56, int_27_55, int_29_55); - fullAdd_x FA_4480_7744(int_39_56, int_38_56, int_31_55, int_33_55, int_22_56); - fullAdd_x FA_4480_7960(int_41_56, int_40_56, int_24_56, int_26_56, int_35_55); - fullAdd_x FA_4480_8176(int_43_56, int_42_56, int_37_55, int_28_56, int_30_56); - fullAdd_x FA_4480_8392(int_45_56, int_44_56, int_32_56, int_34_56, int_39_55); - fullAdd_x FA_4480_8608(int_47_56, int_46_56, int_41_55, int_36_56, int_38_56); - fullAdd_x FA_4480_8824(int_49_56, int_48_56, int_40_56, int_43_55, int_45_55); - fullAdd_x FA_4480_9040(int_51_56, int_50_56, int_42_56, int_44_56, int_47_55); - fullAdd_x FA_4480_9256(int_53_56, int_52_56, int_46_56, int_48_56, int_49_55); - fullAdd_x FA_4480_9472(int_55_56, int_54_56, int_50_56, int_51_55, int_52_56); - assign Sum[56] = int_53_55; - assign Carry[56] = int_54_56; - - // Hardware for column 57 - - r4bs r4bs_4560_64(yy[56], yy[57], single[0], double[0], neg[0], pp_0_57); - r4bs r4bs_4560_192(yy[54], yy[55], single[1], double[1], neg[1], pp_1_57); - halfAdd HA_4560_320(int_1_57, int_0_57, pp_0_57, pp_1_57); - r4bs r4bs_4560_400(yy[52], yy[53], single[2], double[2], neg[2], pp_2_57); - r4bs r4bs_4560_528(yy[50], yy[51], single[3], double[3], neg[3], pp_3_57); - r4bs r4bs_4560_656(yy[48], yy[49], single[4], double[4], neg[4], pp_4_57); - fullAdd_x FA_4560_784(int_3_57, int_2_57, pp_2_57, pp_3_57, pp_4_57); - r4bs r4bs_4560_1000(yy[46], yy[47], single[5], double[5], neg[5], pp_5_57); - r4bs r4bs_4560_1128(yy[44], yy[45], single[6], double[6], neg[6], pp_6_57); - r4bs r4bs_4560_1256(yy[42], yy[43], single[7], double[7], neg[7], pp_7_57); - fullAdd_x FA_4560_1384(int_5_57, int_4_57, pp_5_57, pp_6_57, pp_7_57); - r4bs r4bs_4560_1600(yy[40], yy[41], single[8], double[8], neg[8], pp_8_57); - r4bs r4bs_4560_1728(yy[38], yy[39], single[9], double[9], neg[9], pp_9_57); - r4bs r4bs_4560_1856(yy[36], yy[37], single[10], double[10], neg[10], pp_10_57); - fullAdd_x FA_4560_1984(int_7_57, int_6_57, pp_8_57, pp_9_57, pp_10_57); - r4bs r4bs_4560_2200(yy[34], yy[35], single[11], double[11], neg[11], pp_11_57); - r4bs r4bs_4560_2328(yy[32], yy[33], single[12], double[12], neg[12], pp_12_57); - r4bs r4bs_4560_2456(yy[30], yy[31], single[13], double[13], neg[13], pp_13_57); - fullAdd_x FA_4560_2584(int_9_57, int_8_57, pp_11_57, pp_12_57, pp_13_57); - r4bs r4bs_4560_2800(yy[28], yy[29], single[14], double[14], neg[14], pp_14_57); - r4bs r4bs_4560_2928(yy[26], yy[27], single[15], double[15], neg[15], pp_15_57); - r4bs r4bs_4560_3056(yy[24], yy[25], single[16], double[16], neg[16], pp_16_57); - fullAdd_x FA_4560_3184(int_11_57, int_10_57, pp_14_57, pp_15_57, pp_16_57); - r4bs r4bs_4560_3400(yy[22], yy[23], single[17], double[17], neg[17], pp_17_57); - r4bs r4bs_4560_3528(yy[20], yy[21], single[18], double[18], neg[18], pp_18_57); - r4bs r4bs_4560_3656(yy[18], yy[19], single[19], double[19], neg[19], pp_19_57); - fullAdd_x FA_4560_3784(int_13_57, int_12_57, pp_17_57, pp_18_57, pp_19_57); - r4bs r4bs_4560_4000(yy[16], yy[17], single[20], double[20], neg[20], pp_20_57); - r4bs r4bs_4560_4128(yy[14], yy[15], single[21], double[21], neg[21], pp_21_57); - r4bs r4bs_4560_4256(yy[12], yy[13], single[22], double[22], neg[22], pp_22_57); - fullAdd_x FA_4560_4384(int_15_57, int_14_57, pp_20_57, pp_21_57, pp_22_57); - r4bs r4bs_4560_4600(yy[10], yy[11], single[23], double[23], neg[23], pp_23_57); - r4bs r4bs_4560_4728(yy[8], yy[9], single[24], double[24], neg[24], pp_24_57); - r4bs r4bs_4560_4856(yy[6], yy[7], single[25], double[25], neg[25], pp_25_57); - fullAdd_x FA_4560_4984(int_17_57, int_16_57, pp_23_57, pp_24_57, pp_25_57); - r4bs r4bs_4560_5200(yy[4], yy[5], single[26], double[26], neg[26], pp_26_57); - r4bs r4bs_4560_5328(yy[2], yy[3], single[27], double[27], neg[27], pp_27_57); - r4bs r4bs_4560_5456(yy[0], yy[1], single[28], double[28], neg[28], pp_28_57); - fullAdd_x FA_4560_5584(int_19_57, int_18_57, pp_26_57, pp_27_57, pp_28_57); - fullAdd_x FA_4560_5800(int_21_57, int_20_57, int_1_56, int_3_56, int_5_56); - fullAdd_x FA_4560_6016(int_23_57, int_22_57, int_7_56, int_9_56, int_11_56); - fullAdd_x FA_4560_6232(int_25_57, int_24_57, int_13_56, int_15_56, int_17_56); - fullAdd_x FA_4560_6448(int_27_57, int_26_57, int_19_56, int_0_57, int_21_56); - fullAdd_x FA_4560_6664(int_29_57, int_28_57, int_23_56, int_25_56, int_2_57); - fullAdd_x FA_4560_6880(int_31_57, int_30_57, int_4_57, int_6_57, int_8_57); - fullAdd_x FA_4560_7096(int_33_57, int_32_57, int_10_57, int_12_57, int_14_57); - fullAdd_x FA_4560_7312(int_35_57, int_34_57, int_16_57, int_18_57, int_27_56); - fullAdd_x FA_4560_7528(int_37_57, int_36_57, int_29_56, int_31_56, int_33_56); - fullAdd_x FA_4560_7744(int_39_57, int_38_57, int_35_56, int_20_57, int_22_57); - fullAdd_x FA_4560_7960(int_41_57, int_40_57, int_24_57, int_26_57, int_37_56); - fullAdd_x FA_4560_8176(int_43_57, int_42_57, int_39_56, int_28_57, int_30_57); - fullAdd_x FA_4560_8392(int_45_57, int_44_57, int_32_57, int_34_57, int_41_56); - fullAdd_x FA_4560_8608(int_47_57, int_46_57, int_43_56, int_36_57, int_38_57); - fullAdd_x FA_4560_8824(int_49_57, int_48_57, int_40_57, int_45_56, int_47_56); - fullAdd_x FA_4560_9040(int_51_57, int_50_57, int_42_57, int_44_57, int_49_56); - fullAdd_x FA_4560_9256(int_53_57, int_52_57, int_46_57, int_51_56, int_48_57); - fullAdd_x FA_4560_9472(int_55_57, int_54_57, int_50_57, int_53_56, int_52_57); - assign Sum[57] = int_55_56; - assign Carry[57] = int_54_57; - - // Hardware for column 58 - - r4bs r4bs_4640_64(yy[57], yy[58], single[0], double[0], neg[0], pp_0_58); - halfAdd HA_4640_192(int_1_58, int_0_58, neg[29], pp_0_58); - r4bs r4bs_4640_272(yy[55], yy[56], single[1], double[1], neg[1], pp_1_58); - r4bs r4bs_4640_400(yy[53], yy[54], single[2], double[2], neg[2], pp_2_58); - r4bs r4bs_4640_528(yy[51], yy[52], single[3], double[3], neg[3], pp_3_58); - fullAdd_x FA_4640_656(int_3_58, int_2_58, pp_1_58, pp_2_58, pp_3_58); - r4bs r4bs_4640_872(yy[49], yy[50], single[4], double[4], neg[4], pp_4_58); - r4bs r4bs_4640_1000(yy[47], yy[48], single[5], double[5], neg[5], pp_5_58); - r4bs r4bs_4640_1128(yy[45], yy[46], single[6], double[6], neg[6], pp_6_58); - fullAdd_x FA_4640_1256(int_5_58, int_4_58, pp_4_58, pp_5_58, pp_6_58); - r4bs r4bs_4640_1472(yy[43], yy[44], single[7], double[7], neg[7], pp_7_58); - r4bs r4bs_4640_1600(yy[41], yy[42], single[8], double[8], neg[8], pp_8_58); - r4bs r4bs_4640_1728(yy[39], yy[40], single[9], double[9], neg[9], pp_9_58); - fullAdd_x FA_4640_1856(int_7_58, int_6_58, pp_7_58, pp_8_58, pp_9_58); - r4bs r4bs_4640_2072(yy[37], yy[38], single[10], double[10], neg[10], pp_10_58); - r4bs r4bs_4640_2200(yy[35], yy[36], single[11], double[11], neg[11], pp_11_58); - r4bs r4bs_4640_2328(yy[33], yy[34], single[12], double[12], neg[12], pp_12_58); - fullAdd_x FA_4640_2456(int_9_58, int_8_58, pp_10_58, pp_11_58, pp_12_58); - r4bs r4bs_4640_2672(yy[31], yy[32], single[13], double[13], neg[13], pp_13_58); - r4bs r4bs_4640_2800(yy[29], yy[30], single[14], double[14], neg[14], pp_14_58); - r4bs r4bs_4640_2928(yy[27], yy[28], single[15], double[15], neg[15], pp_15_58); - fullAdd_x FA_4640_3056(int_11_58, int_10_58, pp_13_58, pp_14_58, pp_15_58); - r4bs r4bs_4640_3272(yy[25], yy[26], single[16], double[16], neg[16], pp_16_58); - r4bs r4bs_4640_3400(yy[23], yy[24], single[17], double[17], neg[17], pp_17_58); - r4bs r4bs_4640_3528(yy[21], yy[22], single[18], double[18], neg[18], pp_18_58); - fullAdd_x FA_4640_3656(int_13_58, int_12_58, pp_16_58, pp_17_58, pp_18_58); - r4bs r4bs_4640_3872(yy[19], yy[20], single[19], double[19], neg[19], pp_19_58); - r4bs r4bs_4640_4000(yy[17], yy[18], single[20], double[20], neg[20], pp_20_58); - r4bs r4bs_4640_4128(yy[15], yy[16], single[21], double[21], neg[21], pp_21_58); - fullAdd_x FA_4640_4256(int_15_58, int_14_58, pp_19_58, pp_20_58, pp_21_58); - r4bs r4bs_4640_4472(yy[13], yy[14], single[22], double[22], neg[22], pp_22_58); - r4bs r4bs_4640_4600(yy[11], yy[12], single[23], double[23], neg[23], pp_23_58); - r4bs r4bs_4640_4728(yy[9], yy[10], single[24], double[24], neg[24], pp_24_58); - fullAdd_x FA_4640_4856(int_17_58, int_16_58, pp_22_58, pp_23_58, pp_24_58); - r4bs r4bs_4640_5072(yy[7], yy[8], single[25], double[25], neg[25], pp_25_58); - r4bs r4bs_4640_5200(yy[5], yy[6], single[26], double[26], neg[26], pp_26_58); - r4bs r4bs_4640_5328(yy[3], yy[4], single[27], double[27], neg[27], pp_27_58); - fullAdd_x FA_4640_5456(int_19_58, int_18_58, pp_25_58, pp_26_58, pp_27_58); - r4bs r4bs_4640_5672(yy[1], yy[2], single[28], double[28], neg[28], pp_28_58); - r4bs r4bs_4640_5800(gnd, yy[0], single[29], double[29], neg[29], pp_29_58); - fullAdd_x FA_4640_5928(int_21_58, int_20_58, pp_28_58, pp_29_58, int_1_57); - fullAdd_x FA_4640_6144(int_23_58, int_22_58, int_3_57, int_5_57, int_7_57); - fullAdd_x FA_4640_6360(int_25_58, int_24_58, int_9_57, int_11_57, int_13_57); - fullAdd_x FA_4640_6576(int_27_58, int_26_58, int_15_57, int_17_57, int_19_57); - fullAdd_x FA_4640_6792(int_29_58, int_28_58, int_0_58, int_21_57, int_23_57); - fullAdd_x FA_4640_7008(int_31_58, int_30_58, int_25_57, int_2_58, int_4_58); - fullAdd_x FA_4640_7224(int_33_58, int_32_58, int_6_58, int_8_58, int_10_58); - fullAdd_x FA_4640_7440(int_35_58, int_34_58, int_12_58, int_14_58, int_16_58); - fullAdd_x FA_4640_7656(int_37_58, int_36_58, int_18_58, int_20_58, int_27_57); - fullAdd_x FA_4640_7872(int_39_58, int_38_58, int_29_57, int_31_57, int_33_57); - fullAdd_x FA_4640_8088(int_41_58, int_40_58, int_22_58, int_24_58, int_26_58); - fullAdd_x FA_4640_8304(int_43_58, int_42_58, int_35_57, int_37_57, int_39_57); - fullAdd_x FA_4640_8520(int_45_58, int_44_58, int_28_58, int_30_58, int_32_58); - fullAdd_x FA_4640_8736(int_47_58, int_46_58, int_34_58, int_36_58, int_41_57); - fullAdd_x FA_4640_8952(int_49_58, int_48_58, int_43_57, int_38_58, int_40_58); - fullAdd_x FA_4640_9168(int_51_58, int_50_58, int_45_57, int_47_57, int_42_58); - fullAdd_x FA_4640_9384(int_53_58, int_52_58, int_44_58, int_46_58, int_49_57); - fullAdd_x FA_4640_9600(int_55_58, int_54_58, int_48_58, int_51_57, int_50_58); - fullAdd_x FA_4640_9816(int_57_58, int_56_58, int_52_58, int_53_57, int_54_58); - assign Sum[58] = int_55_57; - assign Carry[58] = int_56_58; - - // Hardware for column 59 - - r4bs r4bs_4720_64(yy[58], yy[59], single[0], double[0], neg[0], pp_0_59); - r4bs r4bs_4720_192(yy[56], yy[57], single[1], double[1], neg[1], pp_1_59); - halfAdd HA_4720_320(int_1_59, int_0_59, pp_0_59, pp_1_59); - r4bs r4bs_4720_400(yy[54], yy[55], single[2], double[2], neg[2], pp_2_59); - r4bs r4bs_4720_528(yy[52], yy[53], single[3], double[3], neg[3], pp_3_59); - r4bs r4bs_4720_656(yy[50], yy[51], single[4], double[4], neg[4], pp_4_59); - fullAdd_x FA_4720_784(int_3_59, int_2_59, pp_2_59, pp_3_59, pp_4_59); - r4bs r4bs_4720_1000(yy[48], yy[49], single[5], double[5], neg[5], pp_5_59); - r4bs r4bs_4720_1128(yy[46], yy[47], single[6], double[6], neg[6], pp_6_59); - r4bs r4bs_4720_1256(yy[44], yy[45], single[7], double[7], neg[7], pp_7_59); - fullAdd_x FA_4720_1384(int_5_59, int_4_59, pp_5_59, pp_6_59, pp_7_59); - r4bs r4bs_4720_1600(yy[42], yy[43], single[8], double[8], neg[8], pp_8_59); - r4bs r4bs_4720_1728(yy[40], yy[41], single[9], double[9], neg[9], pp_9_59); - r4bs r4bs_4720_1856(yy[38], yy[39], single[10], double[10], neg[10], pp_10_59); - fullAdd_x FA_4720_1984(int_7_59, int_6_59, pp_8_59, pp_9_59, pp_10_59); - r4bs r4bs_4720_2200(yy[36], yy[37], single[11], double[11], neg[11], pp_11_59); - r4bs r4bs_4720_2328(yy[34], yy[35], single[12], double[12], neg[12], pp_12_59); - r4bs r4bs_4720_2456(yy[32], yy[33], single[13], double[13], neg[13], pp_13_59); - fullAdd_x FA_4720_2584(int_9_59, int_8_59, pp_11_59, pp_12_59, pp_13_59); - r4bs r4bs_4720_2800(yy[30], yy[31], single[14], double[14], neg[14], pp_14_59); - r4bs r4bs_4720_2928(yy[28], yy[29], single[15], double[15], neg[15], pp_15_59); - r4bs r4bs_4720_3056(yy[26], yy[27], single[16], double[16], neg[16], pp_16_59); - fullAdd_x FA_4720_3184(int_11_59, int_10_59, pp_14_59, pp_15_59, pp_16_59); - r4bs r4bs_4720_3400(yy[24], yy[25], single[17], double[17], neg[17], pp_17_59); - r4bs r4bs_4720_3528(yy[22], yy[23], single[18], double[18], neg[18], pp_18_59); - r4bs r4bs_4720_3656(yy[20], yy[21], single[19], double[19], neg[19], pp_19_59); - fullAdd_x FA_4720_3784(int_13_59, int_12_59, pp_17_59, pp_18_59, pp_19_59); - r4bs r4bs_4720_4000(yy[18], yy[19], single[20], double[20], neg[20], pp_20_59); - r4bs r4bs_4720_4128(yy[16], yy[17], single[21], double[21], neg[21], pp_21_59); - r4bs r4bs_4720_4256(yy[14], yy[15], single[22], double[22], neg[22], pp_22_59); - fullAdd_x FA_4720_4384(int_15_59, int_14_59, pp_20_59, pp_21_59, pp_22_59); - r4bs r4bs_4720_4600(yy[12], yy[13], single[23], double[23], neg[23], pp_23_59); - r4bs r4bs_4720_4728(yy[10], yy[11], single[24], double[24], neg[24], pp_24_59); - r4bs r4bs_4720_4856(yy[8], yy[9], single[25], double[25], neg[25], pp_25_59); - fullAdd_x FA_4720_4984(int_17_59, int_16_59, pp_23_59, pp_24_59, pp_25_59); - r4bs r4bs_4720_5200(yy[6], yy[7], single[26], double[26], neg[26], pp_26_59); - r4bs r4bs_4720_5328(yy[4], yy[5], single[27], double[27], neg[27], pp_27_59); - r4bs r4bs_4720_5456(yy[2], yy[3], single[28], double[28], neg[28], pp_28_59); - fullAdd_x FA_4720_5584(int_19_59, int_18_59, pp_26_59, pp_27_59, pp_28_59); - r4bs r4bs_4720_5800(yy[0], yy[1], single[29], double[29], neg[29], pp_29_59); - fullAdd_x FA_4720_5928(int_21_59, int_20_59, pp_29_59, int_1_58, int_3_58); - fullAdd_x FA_4720_6144(int_23_59, int_22_59, int_5_58, int_7_58, int_9_58); - fullAdd_x FA_4720_6360(int_25_59, int_24_59, int_11_58, int_13_58, int_15_58); - fullAdd_x FA_4720_6576(int_27_59, int_26_59, int_17_58, int_19_58, int_0_59); - fullAdd_x FA_4720_6792(int_29_59, int_28_59, int_21_58, int_23_58, int_25_58); - fullAdd_x FA_4720_7008(int_31_59, int_30_59, int_27_58, int_2_59, int_4_59); - fullAdd_x FA_4720_7224(int_33_59, int_32_59, int_6_59, int_8_59, int_10_59); - fullAdd_x FA_4720_7440(int_35_59, int_34_59, int_12_59, int_14_59, int_16_59); - fullAdd_x FA_4720_7656(int_37_59, int_36_59, int_18_59, int_20_59, int_29_58); - fullAdd_x FA_4720_7872(int_39_59, int_38_59, int_31_58, int_33_58, int_35_58); - fullAdd_x FA_4720_8088(int_41_59, int_40_59, int_22_59, int_24_59, int_26_59); - fullAdd_x FA_4720_8304(int_43_59, int_42_59, int_37_58, int_39_58, int_41_58); - fullAdd_x FA_4720_8520(int_45_59, int_44_59, int_28_59, int_30_59, int_32_59); - fullAdd_x FA_4720_8736(int_47_59, int_46_59, int_34_59, int_36_59, int_43_58); - fullAdd_x FA_4720_8952(int_49_59, int_48_59, int_45_58, int_38_59, int_40_59); - fullAdd_x FA_4720_9168(int_51_59, int_50_59, int_47_58, int_49_58, int_42_59); - fullAdd_x FA_4720_9384(int_53_59, int_52_59, int_44_59, int_46_59, int_51_58); - fullAdd_x FA_4720_9600(int_55_59, int_54_59, int_48_59, int_53_58, int_50_59); - fullAdd_x FA_4720_9816(int_57_59, int_56_59, int_52_59, int_55_58, int_54_59); - assign Sum[59] = int_57_58; - assign Carry[59] = int_56_59; - - // Hardware for column 60 - - r4bs r4bs_4800_64(yy[59], yy[60], single[0], double[0], neg[0], pp_0_60); - halfAdd HA_4800_192(int_1_60, int_0_60, neg[30], pp_0_60); - r4bs r4bs_4800_272(yy[57], yy[58], single[1], double[1], neg[1], pp_1_60); - r4bs r4bs_4800_400(yy[55], yy[56], single[2], double[2], neg[2], pp_2_60); - r4bs r4bs_4800_528(yy[53], yy[54], single[3], double[3], neg[3], pp_3_60); - fullAdd_x FA_4800_656(int_3_60, int_2_60, pp_1_60, pp_2_60, pp_3_60); - r4bs r4bs_4800_872(yy[51], yy[52], single[4], double[4], neg[4], pp_4_60); - r4bs r4bs_4800_1000(yy[49], yy[50], single[5], double[5], neg[5], pp_5_60); - r4bs r4bs_4800_1128(yy[47], yy[48], single[6], double[6], neg[6], pp_6_60); - fullAdd_x FA_4800_1256(int_5_60, int_4_60, pp_4_60, pp_5_60, pp_6_60); - r4bs r4bs_4800_1472(yy[45], yy[46], single[7], double[7], neg[7], pp_7_60); - r4bs r4bs_4800_1600(yy[43], yy[44], single[8], double[8], neg[8], pp_8_60); - r4bs r4bs_4800_1728(yy[41], yy[42], single[9], double[9], neg[9], pp_9_60); - fullAdd_x FA_4800_1856(int_7_60, int_6_60, pp_7_60, pp_8_60, pp_9_60); - r4bs r4bs_4800_2072(yy[39], yy[40], single[10], double[10], neg[10], pp_10_60); - r4bs r4bs_4800_2200(yy[37], yy[38], single[11], double[11], neg[11], pp_11_60); - r4bs r4bs_4800_2328(yy[35], yy[36], single[12], double[12], neg[12], pp_12_60); - fullAdd_x FA_4800_2456(int_9_60, int_8_60, pp_10_60, pp_11_60, pp_12_60); - r4bs r4bs_4800_2672(yy[33], yy[34], single[13], double[13], neg[13], pp_13_60); - r4bs r4bs_4800_2800(yy[31], yy[32], single[14], double[14], neg[14], pp_14_60); - r4bs r4bs_4800_2928(yy[29], yy[30], single[15], double[15], neg[15], pp_15_60); - fullAdd_x FA_4800_3056(int_11_60, int_10_60, pp_13_60, pp_14_60, pp_15_60); - r4bs r4bs_4800_3272(yy[27], yy[28], single[16], double[16], neg[16], pp_16_60); - r4bs r4bs_4800_3400(yy[25], yy[26], single[17], double[17], neg[17], pp_17_60); - r4bs r4bs_4800_3528(yy[23], yy[24], single[18], double[18], neg[18], pp_18_60); - fullAdd_x FA_4800_3656(int_13_60, int_12_60, pp_16_60, pp_17_60, pp_18_60); - r4bs r4bs_4800_3872(yy[21], yy[22], single[19], double[19], neg[19], pp_19_60); - r4bs r4bs_4800_4000(yy[19], yy[20], single[20], double[20], neg[20], pp_20_60); - r4bs r4bs_4800_4128(yy[17], yy[18], single[21], double[21], neg[21], pp_21_60); - fullAdd_x FA_4800_4256(int_15_60, int_14_60, pp_19_60, pp_20_60, pp_21_60); - r4bs r4bs_4800_4472(yy[15], yy[16], single[22], double[22], neg[22], pp_22_60); - r4bs r4bs_4800_4600(yy[13], yy[14], single[23], double[23], neg[23], pp_23_60); - r4bs r4bs_4800_4728(yy[11], yy[12], single[24], double[24], neg[24], pp_24_60); - fullAdd_x FA_4800_4856(int_17_60, int_16_60, pp_22_60, pp_23_60, pp_24_60); - r4bs r4bs_4800_5072(yy[9], yy[10], single[25], double[25], neg[25], pp_25_60); - r4bs r4bs_4800_5200(yy[7], yy[8], single[26], double[26], neg[26], pp_26_60); - r4bs r4bs_4800_5328(yy[5], yy[6], single[27], double[27], neg[27], pp_27_60); - fullAdd_x FA_4800_5456(int_19_60, int_18_60, pp_25_60, pp_26_60, pp_27_60); - r4bs r4bs_4800_5672(yy[3], yy[4], single[28], double[28], neg[28], pp_28_60); - r4bs r4bs_4800_5800(yy[1], yy[2], single[29], double[29], neg[29], pp_29_60); - r4bs r4bs_4800_5928(gnd, yy[0], single[30], double[30], neg[30], pp_30_60); - fullAdd_x FA_4800_6056(int_21_60, int_20_60, pp_28_60, pp_29_60, pp_30_60); - fullAdd_x FA_4800_6272(int_23_60, int_22_60, int_1_59, int_3_59, int_5_59); - fullAdd_x FA_4800_6488(int_25_60, int_24_60, int_7_59, int_9_59, int_11_59); - fullAdd_x FA_4800_6704(int_27_60, int_26_60, int_13_59, int_15_59, int_17_59); - fullAdd_x FA_4800_6920(int_29_60, int_28_60, int_19_59, int_0_60, int_21_59); - fullAdd_x FA_4800_7136(int_31_60, int_30_60, int_23_59, int_25_59, int_27_59); - fullAdd_x FA_4800_7352(int_33_60, int_32_60, int_2_60, int_4_60, int_6_60); - fullAdd_x FA_4800_7568(int_35_60, int_34_60, int_8_60, int_10_60, int_12_60); - fullAdd_x FA_4800_7784(int_37_60, int_36_60, int_14_60, int_16_60, int_18_60); - fullAdd_x FA_4800_8000(int_39_60, int_38_60, int_20_60, int_29_59, int_31_59); - fullAdd_x FA_4800_8216(int_41_60, int_40_60, int_33_59, int_35_59, int_22_60); - fullAdd_x FA_4800_8432(int_43_60, int_42_60, int_24_60, int_26_60, int_28_60); - fullAdd_x FA_4800_8648(int_45_60, int_44_60, int_37_59, int_39_59, int_41_59); - fullAdd_x FA_4800_8864(int_47_60, int_46_60, int_30_60, int_32_60, int_34_60); - fullAdd_x FA_4800_9080(int_49_60, int_48_60, int_36_60, int_43_59, int_45_59); - fullAdd_x FA_4800_9296(int_51_60, int_50_60, int_38_60, int_40_60, int_42_60); - fullAdd_x FA_4800_9512(int_53_60, int_52_60, int_47_59, int_49_59, int_44_60); - fullAdd_x FA_4800_9728(int_55_60, int_54_60, int_46_60, int_51_59, int_48_60); - fullAdd_x FA_4800_9944(int_57_60, int_56_60, int_50_60, int_53_59, int_52_60); - fullAdd_x FA_4800_10160(int_59_60, int_58_60, int_55_59, int_54_60, int_56_60); - assign Sum[60] = int_57_59; - assign Carry[60] = int_58_60; - - // Hardware for column 61 - - r4bs r4bs_4880_64(yy[60], yy[61], single[0], double[0], neg[0], pp_0_61); - r4bs r4bs_4880_192(yy[58], yy[59], single[1], double[1], neg[1], pp_1_61); - halfAdd HA_4880_320(int_1_61, int_0_61, pp_0_61, pp_1_61); - r4bs r4bs_4880_400(yy[56], yy[57], single[2], double[2], neg[2], pp_2_61); - r4bs r4bs_4880_528(yy[54], yy[55], single[3], double[3], neg[3], pp_3_61); - r4bs r4bs_4880_656(yy[52], yy[53], single[4], double[4], neg[4], pp_4_61); - fullAdd_x FA_4880_784(int_3_61, int_2_61, pp_2_61, pp_3_61, pp_4_61); - r4bs r4bs_4880_1000(yy[50], yy[51], single[5], double[5], neg[5], pp_5_61); - r4bs r4bs_4880_1128(yy[48], yy[49], single[6], double[6], neg[6], pp_6_61); - r4bs r4bs_4880_1256(yy[46], yy[47], single[7], double[7], neg[7], pp_7_61); - fullAdd_x FA_4880_1384(int_5_61, int_4_61, pp_5_61, pp_6_61, pp_7_61); - r4bs r4bs_4880_1600(yy[44], yy[45], single[8], double[8], neg[8], pp_8_61); - r4bs r4bs_4880_1728(yy[42], yy[43], single[9], double[9], neg[9], pp_9_61); - r4bs r4bs_4880_1856(yy[40], yy[41], single[10], double[10], neg[10], pp_10_61); - fullAdd_x FA_4880_1984(int_7_61, int_6_61, pp_8_61, pp_9_61, pp_10_61); - r4bs r4bs_4880_2200(yy[38], yy[39], single[11], double[11], neg[11], pp_11_61); - r4bs r4bs_4880_2328(yy[36], yy[37], single[12], double[12], neg[12], pp_12_61); - r4bs r4bs_4880_2456(yy[34], yy[35], single[13], double[13], neg[13], pp_13_61); - fullAdd_x FA_4880_2584(int_9_61, int_8_61, pp_11_61, pp_12_61, pp_13_61); - r4bs r4bs_4880_2800(yy[32], yy[33], single[14], double[14], neg[14], pp_14_61); - r4bs r4bs_4880_2928(yy[30], yy[31], single[15], double[15], neg[15], pp_15_61); - r4bs r4bs_4880_3056(yy[28], yy[29], single[16], double[16], neg[16], pp_16_61); - fullAdd_x FA_4880_3184(int_11_61, int_10_61, pp_14_61, pp_15_61, pp_16_61); - r4bs r4bs_4880_3400(yy[26], yy[27], single[17], double[17], neg[17], pp_17_61); - r4bs r4bs_4880_3528(yy[24], yy[25], single[18], double[18], neg[18], pp_18_61); - r4bs r4bs_4880_3656(yy[22], yy[23], single[19], double[19], neg[19], pp_19_61); - fullAdd_x FA_4880_3784(int_13_61, int_12_61, pp_17_61, pp_18_61, pp_19_61); - r4bs r4bs_4880_4000(yy[20], yy[21], single[20], double[20], neg[20], pp_20_61); - r4bs r4bs_4880_4128(yy[18], yy[19], single[21], double[21], neg[21], pp_21_61); - r4bs r4bs_4880_4256(yy[16], yy[17], single[22], double[22], neg[22], pp_22_61); - fullAdd_x FA_4880_4384(int_15_61, int_14_61, pp_20_61, pp_21_61, pp_22_61); - r4bs r4bs_4880_4600(yy[14], yy[15], single[23], double[23], neg[23], pp_23_61); - r4bs r4bs_4880_4728(yy[12], yy[13], single[24], double[24], neg[24], pp_24_61); - r4bs r4bs_4880_4856(yy[10], yy[11], single[25], double[25], neg[25], pp_25_61); - fullAdd_x FA_4880_4984(int_17_61, int_16_61, pp_23_61, pp_24_61, pp_25_61); - r4bs r4bs_4880_5200(yy[8], yy[9], single[26], double[26], neg[26], pp_26_61); - r4bs r4bs_4880_5328(yy[6], yy[7], single[27], double[27], neg[27], pp_27_61); - r4bs r4bs_4880_5456(yy[4], yy[5], single[28], double[28], neg[28], pp_28_61); - fullAdd_x FA_4880_5584(int_19_61, int_18_61, pp_26_61, pp_27_61, pp_28_61); - r4bs r4bs_4880_5800(yy[2], yy[3], single[29], double[29], neg[29], pp_29_61); - r4bs r4bs_4880_5928(yy[0], yy[1], single[30], double[30], neg[30], pp_30_61); - fullAdd_x FA_4880_6056(int_21_61, int_20_61, pp_29_61, pp_30_61, int_1_60); - fullAdd_x FA_4880_6272(int_23_61, int_22_61, int_3_60, int_5_60, int_7_60); - fullAdd_x FA_4880_6488(int_25_61, int_24_61, int_9_60, int_11_60, int_13_60); - fullAdd_x FA_4880_6704(int_27_61, int_26_61, int_15_60, int_17_60, int_19_60); - fullAdd_x FA_4880_6920(int_29_61, int_28_61, int_21_60, int_0_61, int_23_60); - fullAdd_x FA_4880_7136(int_31_61, int_30_61, int_25_60, int_27_60, int_2_61); - fullAdd_x FA_4880_7352(int_33_61, int_32_61, int_4_61, int_6_61, int_8_61); - fullAdd_x FA_4880_7568(int_35_61, int_34_61, int_10_61, int_12_61, int_14_61); - fullAdd_x FA_4880_7784(int_37_61, int_36_61, int_16_61, int_18_61, int_20_61); - fullAdd_x FA_4880_8000(int_39_61, int_38_61, int_29_60, int_31_60, int_33_60); - fullAdd_x FA_4880_8216(int_41_61, int_40_61, int_35_60, int_37_60, int_22_61); - fullAdd_x FA_4880_8432(int_43_61, int_42_61, int_24_61, int_26_61, int_28_61); - fullAdd_x FA_4880_8648(int_45_61, int_44_61, int_39_60, int_41_60, int_43_60); - fullAdd_x FA_4880_8864(int_47_61, int_46_61, int_30_61, int_32_61, int_34_61); - fullAdd_x FA_4880_9080(int_49_61, int_48_61, int_36_61, int_45_60, int_47_60); - fullAdd_x FA_4880_9296(int_51_61, int_50_61, int_38_61, int_40_61, int_42_61); - fullAdd_x FA_4880_9512(int_53_61, int_52_61, int_49_60, int_51_60, int_44_61); - fullAdd_x FA_4880_9728(int_55_61, int_54_61, int_46_61, int_53_60, int_48_61); - fullAdd_x FA_4880_9944(int_57_61, int_56_61, int_50_61, int_55_60, int_52_61); - fullAdd_x FA_4880_10160(int_59_61, int_58_61, int_57_60, int_54_61, int_56_61); - assign Sum[61] = int_59_60; - assign Carry[61] = int_58_61; - - // Hardware for column 62 - - r4bs r4bs_4960_64(yy[61], yy[62], single[0], double[0], neg[0], pp_0_62); - halfAdd HA_4960_192(int_1_62, int_0_62, neg[31], pp_0_62); - r4bs r4bs_4960_272(yy[59], yy[60], single[1], double[1], neg[1], pp_1_62); - r4bs r4bs_4960_400(yy[57], yy[58], single[2], double[2], neg[2], pp_2_62); - r4bs r4bs_4960_528(yy[55], yy[56], single[3], double[3], neg[3], pp_3_62); - fullAdd_x FA_4960_656(int_3_62, int_2_62, pp_1_62, pp_2_62, pp_3_62); - r4bs r4bs_4960_872(yy[53], yy[54], single[4], double[4], neg[4], pp_4_62); - r4bs r4bs_4960_1000(yy[51], yy[52], single[5], double[5], neg[5], pp_5_62); - r4bs r4bs_4960_1128(yy[49], yy[50], single[6], double[6], neg[6], pp_6_62); - fullAdd_x FA_4960_1256(int_5_62, int_4_62, pp_4_62, pp_5_62, pp_6_62); - r4bs r4bs_4960_1472(yy[47], yy[48], single[7], double[7], neg[7], pp_7_62); - r4bs r4bs_4960_1600(yy[45], yy[46], single[8], double[8], neg[8], pp_8_62); - r4bs r4bs_4960_1728(yy[43], yy[44], single[9], double[9], neg[9], pp_9_62); - fullAdd_x FA_4960_1856(int_7_62, int_6_62, pp_7_62, pp_8_62, pp_9_62); - r4bs r4bs_4960_2072(yy[41], yy[42], single[10], double[10], neg[10], pp_10_62); - r4bs r4bs_4960_2200(yy[39], yy[40], single[11], double[11], neg[11], pp_11_62); - r4bs r4bs_4960_2328(yy[37], yy[38], single[12], double[12], neg[12], pp_12_62); - fullAdd_x FA_4960_2456(int_9_62, int_8_62, pp_10_62, pp_11_62, pp_12_62); - r4bs r4bs_4960_2672(yy[35], yy[36], single[13], double[13], neg[13], pp_13_62); - r4bs r4bs_4960_2800(yy[33], yy[34], single[14], double[14], neg[14], pp_14_62); - r4bs r4bs_4960_2928(yy[31], yy[32], single[15], double[15], neg[15], pp_15_62); - fullAdd_x FA_4960_3056(int_11_62, int_10_62, pp_13_62, pp_14_62, pp_15_62); - r4bs r4bs_4960_3272(yy[29], yy[30], single[16], double[16], neg[16], pp_16_62); - r4bs r4bs_4960_3400(yy[27], yy[28], single[17], double[17], neg[17], pp_17_62); - r4bs r4bs_4960_3528(yy[25], yy[26], single[18], double[18], neg[18], pp_18_62); - fullAdd_x FA_4960_3656(int_13_62, int_12_62, pp_16_62, pp_17_62, pp_18_62); - r4bs r4bs_4960_3872(yy[23], yy[24], single[19], double[19], neg[19], pp_19_62); - r4bs r4bs_4960_4000(yy[21], yy[22], single[20], double[20], neg[20], pp_20_62); - r4bs r4bs_4960_4128(yy[19], yy[20], single[21], double[21], neg[21], pp_21_62); - fullAdd_x FA_4960_4256(int_15_62, int_14_62, pp_19_62, pp_20_62, pp_21_62); - r4bs r4bs_4960_4472(yy[17], yy[18], single[22], double[22], neg[22], pp_22_62); - r4bs r4bs_4960_4600(yy[15], yy[16], single[23], double[23], neg[23], pp_23_62); - r4bs r4bs_4960_4728(yy[13], yy[14], single[24], double[24], neg[24], pp_24_62); - fullAdd_x FA_4960_4856(int_17_62, int_16_62, pp_22_62, pp_23_62, pp_24_62); - r4bs r4bs_4960_5072(yy[11], yy[12], single[25], double[25], neg[25], pp_25_62); - r4bs r4bs_4960_5200(yy[9], yy[10], single[26], double[26], neg[26], pp_26_62); - r4bs r4bs_4960_5328(yy[7], yy[8], single[27], double[27], neg[27], pp_27_62); - fullAdd_x FA_4960_5456(int_19_62, int_18_62, pp_25_62, pp_26_62, pp_27_62); - r4bs r4bs_4960_5672(yy[5], yy[6], single[28], double[28], neg[28], pp_28_62); - r4bs r4bs_4960_5800(yy[3], yy[4], single[29], double[29], neg[29], pp_29_62); - r4bs r4bs_4960_5928(yy[1], yy[2], single[30], double[30], neg[30], pp_30_62); - fullAdd_x FA_4960_6056(int_21_62, int_20_62, pp_28_62, pp_29_62, pp_30_62); - r4bs r4bs_4960_6272(gnd, yy[0], single[31], double[31], neg[31], pp_31_62); - fullAdd_x FA_4960_6400(int_23_62, int_22_62, pp_31_62, int_1_61, int_3_61); - fullAdd_x FA_4960_6616(int_25_62, int_24_62, int_5_61, int_7_61, int_9_61); - fullAdd_x FA_4960_6832(int_27_62, int_26_62, int_11_61, int_13_61, int_15_61); - fullAdd_x FA_4960_7048(int_29_62, int_28_62, int_17_61, int_19_61, int_0_62); - fullAdd_x FA_4960_7264(int_31_62, int_30_62, int_21_61, int_23_61, int_25_61); - fullAdd_x FA_4960_7480(int_33_62, int_32_62, int_27_61, int_2_62, int_4_62); - fullAdd_x FA_4960_7696(int_35_62, int_34_62, int_6_62, int_8_62, int_10_62); - fullAdd_x FA_4960_7912(int_37_62, int_36_62, int_12_62, int_14_62, int_16_62); - fullAdd_x FA_4960_8128(int_39_62, int_38_62, int_18_62, int_20_62, int_22_62); - fullAdd_x FA_4960_8344(int_41_62, int_40_62, int_29_61, int_31_61, int_33_61); - fullAdd_x FA_4960_8560(int_43_62, int_42_62, int_35_61, int_37_61, int_24_62); - fullAdd_x FA_4960_8776(int_45_62, int_44_62, int_26_62, int_28_62, int_39_61); - fullAdd_x FA_4960_8992(int_47_62, int_46_62, int_41_61, int_43_61, int_30_62); - fullAdd_x FA_4960_9208(int_49_62, int_48_62, int_32_62, int_34_62, int_36_62); - fullAdd_x FA_4960_9424(int_51_62, int_50_62, int_38_62, int_45_61, int_47_61); - fullAdd_x FA_4960_9640(int_53_62, int_52_62, int_40_62, int_42_62, int_44_62); - fullAdd_x FA_4960_9856(int_55_62, int_54_62, int_49_61, int_51_61, int_46_62); - fullAdd_x FA_4960_10072(int_57_62, int_56_62, int_48_62, int_53_61, int_50_62); - fullAdd_x FA_4960_10288(int_59_62, int_58_62, int_52_62, int_55_61, int_54_62); - fullAdd_x FA_4960_10504(int_61_62, int_60_62, int_57_61, int_56_62, int_58_62); - assign Sum[62] = int_59_61; - assign Carry[62] = int_60_62; - - // Hardware for column 63 - - r4bs r4bs_5040_64(yy[62], yy[63], single[0], double[0], neg[0], pp_0_63); - r4bs r4bs_5040_192(yy[60], yy[61], single[1], double[1], neg[1], pp_1_63); - halfAdd HA_5040_320(int_1_63, int_0_63, pp_0_63, pp_1_63); - r4bs r4bs_5040_400(yy[58], yy[59], single[2], double[2], neg[2], pp_2_63); - r4bs r4bs_5040_528(yy[56], yy[57], single[3], double[3], neg[3], pp_3_63); - r4bs r4bs_5040_656(yy[54], yy[55], single[4], double[4], neg[4], pp_4_63); - fullAdd_x FA_5040_784(int_3_63, int_2_63, pp_2_63, pp_3_63, pp_4_63); - r4bs r4bs_5040_1000(yy[52], yy[53], single[5], double[5], neg[5], pp_5_63); - r4bs r4bs_5040_1128(yy[50], yy[51], single[6], double[6], neg[6], pp_6_63); - r4bs r4bs_5040_1256(yy[48], yy[49], single[7], double[7], neg[7], pp_7_63); - fullAdd_x FA_5040_1384(int_5_63, int_4_63, pp_5_63, pp_6_63, pp_7_63); - r4bs r4bs_5040_1600(yy[46], yy[47], single[8], double[8], neg[8], pp_8_63); - r4bs r4bs_5040_1728(yy[44], yy[45], single[9], double[9], neg[9], pp_9_63); - r4bs r4bs_5040_1856(yy[42], yy[43], single[10], double[10], neg[10], pp_10_63); - fullAdd_x FA_5040_1984(int_7_63, int_6_63, pp_8_63, pp_9_63, pp_10_63); - r4bs r4bs_5040_2200(yy[40], yy[41], single[11], double[11], neg[11], pp_11_63); - r4bs r4bs_5040_2328(yy[38], yy[39], single[12], double[12], neg[12], pp_12_63); - r4bs r4bs_5040_2456(yy[36], yy[37], single[13], double[13], neg[13], pp_13_63); - fullAdd_x FA_5040_2584(int_9_63, int_8_63, pp_11_63, pp_12_63, pp_13_63); - r4bs r4bs_5040_2800(yy[34], yy[35], single[14], double[14], neg[14], pp_14_63); - r4bs r4bs_5040_2928(yy[32], yy[33], single[15], double[15], neg[15], pp_15_63); - r4bs r4bs_5040_3056(yy[30], yy[31], single[16], double[16], neg[16], pp_16_63); - fullAdd_x FA_5040_3184(int_11_63, int_10_63, pp_14_63, pp_15_63, pp_16_63); - r4bs r4bs_5040_3400(yy[28], yy[29], single[17], double[17], neg[17], pp_17_63); - r4bs r4bs_5040_3528(yy[26], yy[27], single[18], double[18], neg[18], pp_18_63); - r4bs r4bs_5040_3656(yy[24], yy[25], single[19], double[19], neg[19], pp_19_63); - fullAdd_x FA_5040_3784(int_13_63, int_12_63, pp_17_63, pp_18_63, pp_19_63); - r4bs r4bs_5040_4000(yy[22], yy[23], single[20], double[20], neg[20], pp_20_63); - r4bs r4bs_5040_4128(yy[20], yy[21], single[21], double[21], neg[21], pp_21_63); - r4bs r4bs_5040_4256(yy[18], yy[19], single[22], double[22], neg[22], pp_22_63); - fullAdd_x FA_5040_4384(int_15_63, int_14_63, pp_20_63, pp_21_63, pp_22_63); - r4bs r4bs_5040_4600(yy[16], yy[17], single[23], double[23], neg[23], pp_23_63); - r4bs r4bs_5040_4728(yy[14], yy[15], single[24], double[24], neg[24], pp_24_63); - r4bs r4bs_5040_4856(yy[12], yy[13], single[25], double[25], neg[25], pp_25_63); - fullAdd_x FA_5040_4984(int_17_63, int_16_63, pp_23_63, pp_24_63, pp_25_63); - r4bs r4bs_5040_5200(yy[10], yy[11], single[26], double[26], neg[26], pp_26_63); - r4bs r4bs_5040_5328(yy[8], yy[9], single[27], double[27], neg[27], pp_27_63); - r4bs r4bs_5040_5456(yy[6], yy[7], single[28], double[28], neg[28], pp_28_63); - fullAdd_x FA_5040_5584(int_19_63, int_18_63, pp_26_63, pp_27_63, pp_28_63); - r4bs r4bs_5040_5800(yy[4], yy[5], single[29], double[29], neg[29], pp_29_63); - r4bs r4bs_5040_5928(yy[2], yy[3], single[30], double[30], neg[30], pp_30_63); - r4bs r4bs_5040_6056(yy[0], yy[1], single[31], double[31], neg[31], pp_31_63); - fullAdd_x FA_5040_6184(int_21_63, int_20_63, pp_29_63, pp_30_63, pp_31_63); - fullAdd_x FA_5040_6400(int_23_63, int_22_63, int_1_62, int_3_62, int_5_62); - fullAdd_x FA_5040_6616(int_25_63, int_24_63, int_7_62, int_9_62, int_11_62); - fullAdd_x FA_5040_6832(int_27_63, int_26_63, int_13_62, int_15_62, int_17_62); - fullAdd_x FA_5040_7048(int_29_63, int_28_63, int_19_62, int_21_62, int_0_63); - fullAdd_x FA_5040_7264(int_31_63, int_30_63, int_23_62, int_25_62, int_27_62); - fullAdd_x FA_5040_7480(int_33_63, int_32_63, int_29_62, int_2_63, int_4_63); - fullAdd_x FA_5040_7696(int_35_63, int_34_63, int_6_63, int_8_63, int_10_63); - fullAdd_x FA_5040_7912(int_37_63, int_36_63, int_12_63, int_14_63, int_16_63); - fullAdd_x FA_5040_8128(int_39_63, int_38_63, int_18_63, int_20_63, int_31_62); - fullAdd_x FA_5040_8344(int_41_63, int_40_63, int_33_62, int_35_62, int_37_62); - fullAdd_x FA_5040_8560(int_43_63, int_42_63, int_22_63, int_24_63, int_26_63); - fullAdd_x FA_5040_8776(int_45_63, int_44_63, int_28_63, int_39_62, int_41_62); - fullAdd_x FA_5040_8992(int_47_63, int_46_63, int_43_62, int_30_63, int_32_63); - fullAdd_x FA_5040_9208(int_49_63, int_48_63, int_34_63, int_36_63, int_38_63); - fullAdd_x FA_5040_9424(int_51_63, int_50_63, int_45_62, int_47_62, int_49_62); - fullAdd_x FA_5040_9640(int_53_63, int_52_63, int_40_63, int_42_63, int_44_63); - fullAdd_x FA_5040_9856(int_55_63, int_54_63, int_51_62, int_53_62, int_46_63); - fullAdd_x FA_5040_10072(int_57_63, int_56_63, int_48_63, int_55_62, int_50_63); - fullAdd_x FA_5040_10288(int_59_63, int_58_63, int_52_63, int_57_62, int_54_63); - fullAdd_x FA_5040_10504(int_61_63, int_60_63, int_59_62, int_56_63, int_58_63); - assign Sum[63] = int_61_62; - assign Carry[63] = int_60_63; - - // Hardware for column 64 - - r4bs r4bs_5120_0(yy[63], gnd, single[0], double[0], neg[0], pp_0_64); - r4bs r4bs_5120_128(yy[61], yy[62], single[1], double[1], neg[1], pp_1_64); - r4bs r4bs_5120_256(yy[59], yy[60], single[2], double[2], neg[2], pp_2_64); - fullAdd_x FA_5120_384(int_1_64, int_0_64, pp_0_64, pp_1_64, pp_2_64); - r4bs r4bs_5120_600(yy[57], yy[58], single[3], double[3], neg[3], pp_3_64); - r4bs r4bs_5120_728(yy[55], yy[56], single[4], double[4], neg[4], pp_4_64); - r4bs r4bs_5120_856(yy[53], yy[54], single[5], double[5], neg[5], pp_5_64); - fullAdd_x FA_5120_984(int_3_64, int_2_64, pp_3_64, pp_4_64, pp_5_64); - r4bs r4bs_5120_1200(yy[51], yy[52], single[6], double[6], neg[6], pp_6_64); - r4bs r4bs_5120_1328(yy[49], yy[50], single[7], double[7], neg[7], pp_7_64); - r4bs r4bs_5120_1456(yy[47], yy[48], single[8], double[8], neg[8], pp_8_64); - fullAdd_x FA_5120_1584(int_5_64, int_4_64, pp_6_64, pp_7_64, pp_8_64); - r4bs r4bs_5120_1800(yy[45], yy[46], single[9], double[9], neg[9], pp_9_64); - r4bs r4bs_5120_1928(yy[43], yy[44], single[10], double[10], neg[10], pp_10_64); - r4bs r4bs_5120_2056(yy[41], yy[42], single[11], double[11], neg[11], pp_11_64); - fullAdd_x FA_5120_2184(int_7_64, int_6_64, pp_9_64, pp_10_64, pp_11_64); - r4bs r4bs_5120_2400(yy[39], yy[40], single[12], double[12], neg[12], pp_12_64); - r4bs r4bs_5120_2528(yy[37], yy[38], single[13], double[13], neg[13], pp_13_64); - r4bs r4bs_5120_2656(yy[35], yy[36], single[14], double[14], neg[14], pp_14_64); - fullAdd_x FA_5120_2784(int_9_64, int_8_64, pp_12_64, pp_13_64, pp_14_64); - r4bs r4bs_5120_3000(yy[33], yy[34], single[15], double[15], neg[15], pp_15_64); - r4bs r4bs_5120_3128(yy[31], yy[32], single[16], double[16], neg[16], pp_16_64); - r4bs r4bs_5120_3256(yy[29], yy[30], single[17], double[17], neg[17], pp_17_64); - fullAdd_x FA_5120_3384(int_11_64, int_10_64, pp_15_64, pp_16_64, pp_17_64); - r4bs r4bs_5120_3600(yy[27], yy[28], single[18], double[18], neg[18], pp_18_64); - r4bs r4bs_5120_3728(yy[25], yy[26], single[19], double[19], neg[19], pp_19_64); - r4bs r4bs_5120_3856(yy[23], yy[24], single[20], double[20], neg[20], pp_20_64); - fullAdd_x FA_5120_3984(int_13_64, int_12_64, pp_18_64, pp_19_64, pp_20_64); - r4bs r4bs_5120_4200(yy[21], yy[22], single[21], double[21], neg[21], pp_21_64); - r4bs r4bs_5120_4328(yy[19], yy[20], single[22], double[22], neg[22], pp_22_64); - r4bs r4bs_5120_4456(yy[17], yy[18], single[23], double[23], neg[23], pp_23_64); - fullAdd_x FA_5120_4584(int_15_64, int_14_64, pp_21_64, pp_22_64, pp_23_64); - r4bs r4bs_5120_4800(yy[15], yy[16], single[24], double[24], neg[24], pp_24_64); - r4bs r4bs_5120_4928(yy[13], yy[14], single[25], double[25], neg[25], pp_25_64); - r4bs r4bs_5120_5056(yy[11], yy[12], single[26], double[26], neg[26], pp_26_64); - fullAdd_x FA_5120_5184(int_17_64, int_16_64, pp_24_64, pp_25_64, pp_26_64); - r4bs r4bs_5120_5400(yy[9], yy[10], single[27], double[27], neg[27], pp_27_64); - r4bs r4bs_5120_5528(yy[7], yy[8], single[28], double[28], neg[28], pp_28_64); - r4bs r4bs_5120_5656(yy[5], yy[6], single[29], double[29], neg[29], pp_29_64); - fullAdd_x FA_5120_5784(int_19_64, int_18_64, pp_27_64, pp_28_64, pp_29_64); - r4bs r4bs_5120_6000(yy[3], yy[4], single[30], double[30], neg[30], pp_30_64); - r4bs r4bs_5120_6128(yy[1], yy[2], single[31], double[31], neg[31], pp_31_64); - r4bs r4bs_5120_6256(gnd, yy[0], single[32], double[32], neg[32], pp_32_64); - fullAdd_x FA_5120_6384(int_21_64, int_20_64, pp_30_64, pp_31_64, pp_32_64); - fullAdd_x FA_5120_6600(int_23_64, int_22_64, int_1_63, int_3_63, int_5_63); - fullAdd_x FA_5120_6816(int_25_64, int_24_64, int_7_63, int_9_63, int_11_63); - fullAdd_x FA_5120_7032(int_27_64, int_26_64, int_13_63, int_15_63, int_17_63); - fullAdd_x FA_5120_7248(int_29_64, int_28_64, int_19_63, int_21_63, int_23_63); - fullAdd_x FA_5120_7464(int_31_64, int_30_64, int_25_63, int_27_63, int_29_63); - fullAdd_x FA_5120_7680(int_33_64, int_32_64, int_0_64, int_2_64, int_4_64); - fullAdd_x FA_5120_7896(int_35_64, int_34_64, int_6_64, int_8_64, int_10_64); - fullAdd_x FA_5120_8112(int_37_64, int_36_64, int_12_64, int_14_64, int_16_64); - fullAdd_x FA_5120_8328(int_39_64, int_38_64, int_18_64, int_20_64, int_31_63); - fullAdd_x FA_5120_8544(int_41_64, int_40_64, int_33_63, int_35_63, int_37_63); - fullAdd_x FA_5120_8760(int_43_64, int_42_64, int_22_64, int_24_64, int_26_64); - fullAdd_x FA_5120_8976(int_45_64, int_44_64, int_28_64, int_39_63, int_41_63); - fullAdd_x FA_5120_9192(int_47_64, int_46_64, int_43_63, int_30_64, int_32_64); - fullAdd_x FA_5120_9408(int_49_64, int_48_64, int_34_64, int_36_64, int_38_64); - fullAdd_x FA_5120_9624(int_51_64, int_50_64, int_45_63, int_47_63, int_49_63); - fullAdd_x FA_5120_9840(int_53_64, int_52_64, int_40_64, int_42_64, int_51_63); - fullAdd_x FA_5120_10056(int_55_64, int_54_64, int_44_64, int_46_64, int_48_64); - fullAdd_x FA_5120_10272(int_57_64, int_56_64, int_53_63, int_55_63, int_50_64); - fullAdd_x FA_5120_10488(int_59_64, int_58_64, int_52_64, int_57_63, int_54_64); - fullAdd_x FA_5120_10704(int_61_64, int_60_64, int_59_63, int_56_64, int_58_64); - assign Sum[64] = int_61_63; - assign Carry[64] = int_60_64; - - // Hardware for column 65 - - r4bs r4bs_5200_0(yy[62], yy[63], single[1], double[1], neg[1], pp_1_65); - r4bs r4bs_5200_128(yy[60], yy[61], single[2], double[2], neg[2], pp_2_65); - fullAdd_x FA_5200_256(int_1_65, int_0_65, neg[0], pp_1_65, pp_2_65); - r4bs r4bs_5200_472(yy[58], yy[59], single[3], double[3], neg[3], pp_3_65); - r4bs r4bs_5200_600(yy[56], yy[57], single[4], double[4], neg[4], pp_4_65); - r4bs r4bs_5200_728(yy[54], yy[55], single[5], double[5], neg[5], pp_5_65); - fullAdd_x FA_5200_856(int_3_65, int_2_65, pp_3_65, pp_4_65, pp_5_65); - r4bs r4bs_5200_1072(yy[52], yy[53], single[6], double[6], neg[6], pp_6_65); - r4bs r4bs_5200_1200(yy[50], yy[51], single[7], double[7], neg[7], pp_7_65); - r4bs r4bs_5200_1328(yy[48], yy[49], single[8], double[8], neg[8], pp_8_65); - fullAdd_x FA_5200_1456(int_5_65, int_4_65, pp_6_65, pp_7_65, pp_8_65); - r4bs r4bs_5200_1672(yy[46], yy[47], single[9], double[9], neg[9], pp_9_65); - r4bs r4bs_5200_1800(yy[44], yy[45], single[10], double[10], neg[10], pp_10_65); - r4bs r4bs_5200_1928(yy[42], yy[43], single[11], double[11], neg[11], pp_11_65); - fullAdd_x FA_5200_2056(int_7_65, int_6_65, pp_9_65, pp_10_65, pp_11_65); - r4bs r4bs_5200_2272(yy[40], yy[41], single[12], double[12], neg[12], pp_12_65); - r4bs r4bs_5200_2400(yy[38], yy[39], single[13], double[13], neg[13], pp_13_65); - r4bs r4bs_5200_2528(yy[36], yy[37], single[14], double[14], neg[14], pp_14_65); - fullAdd_x FA_5200_2656(int_9_65, int_8_65, pp_12_65, pp_13_65, pp_14_65); - r4bs r4bs_5200_2872(yy[34], yy[35], single[15], double[15], neg[15], pp_15_65); - r4bs r4bs_5200_3000(yy[32], yy[33], single[16], double[16], neg[16], pp_16_65); - r4bs r4bs_5200_3128(yy[30], yy[31], single[17], double[17], neg[17], pp_17_65); - fullAdd_x FA_5200_3256(int_11_65, int_10_65, pp_15_65, pp_16_65, pp_17_65); - r4bs r4bs_5200_3472(yy[28], yy[29], single[18], double[18], neg[18], pp_18_65); - r4bs r4bs_5200_3600(yy[26], yy[27], single[19], double[19], neg[19], pp_19_65); - r4bs r4bs_5200_3728(yy[24], yy[25], single[20], double[20], neg[20], pp_20_65); - fullAdd_x FA_5200_3856(int_13_65, int_12_65, pp_18_65, pp_19_65, pp_20_65); - r4bs r4bs_5200_4072(yy[22], yy[23], single[21], double[21], neg[21], pp_21_65); - r4bs r4bs_5200_4200(yy[20], yy[21], single[22], double[22], neg[22], pp_22_65); - r4bs r4bs_5200_4328(yy[18], yy[19], single[23], double[23], neg[23], pp_23_65); - fullAdd_x FA_5200_4456(int_15_65, int_14_65, pp_21_65, pp_22_65, pp_23_65); - r4bs r4bs_5200_4672(yy[16], yy[17], single[24], double[24], neg[24], pp_24_65); - r4bs r4bs_5200_4800(yy[14], yy[15], single[25], double[25], neg[25], pp_25_65); - r4bs r4bs_5200_4928(yy[12], yy[13], single[26], double[26], neg[26], pp_26_65); - fullAdd_x FA_5200_5056(int_17_65, int_16_65, pp_24_65, pp_25_65, pp_26_65); - r4bs r4bs_5200_5272(yy[10], yy[11], single[27], double[27], neg[27], pp_27_65); - r4bs r4bs_5200_5400(yy[8], yy[9], single[28], double[28], neg[28], pp_28_65); - r4bs r4bs_5200_5528(yy[6], yy[7], single[29], double[29], neg[29], pp_29_65); - fullAdd_x FA_5200_5656(int_19_65, int_18_65, pp_27_65, pp_28_65, pp_29_65); - r4bs r4bs_5200_5872(yy[4], yy[5], single[30], double[30], neg[30], pp_30_65); - r4bs r4bs_5200_6000(yy[2], yy[3], single[31], double[31], neg[31], pp_31_65); - r4bs r4bs_5200_6128(yy[0], yy[1], single[32], double[32], neg[32], pp_32_65); - fullAdd_x FA_5200_6256(int_21_65, int_20_65, pp_30_65, pp_31_65, pp_32_65); - fullAdd_x FA_5200_6472(int_23_65, int_22_65, int_1_64, int_3_64, int_5_64); - fullAdd_x FA_5200_6688(int_25_65, int_24_65, int_7_64, int_9_64, int_11_64); - fullAdd_x FA_5200_6904(int_27_65, int_26_65, int_13_64, int_15_64, int_17_64); - fullAdd_x FA_5200_7120(int_29_65, int_28_65, int_19_64, int_21_64, int_23_64); - fullAdd_x FA_5200_7336(int_31_65, int_30_65, int_25_64, int_27_64, int_0_65); - fullAdd_x FA_5200_7552(int_33_65, int_32_65, int_2_65, int_4_65, int_6_65); - fullAdd_x FA_5200_7768(int_35_65, int_34_65, int_8_65, int_10_65, int_12_65); - fullAdd_x FA_5200_7984(int_37_65, int_36_65, int_14_65, int_16_65, int_18_65); - fullAdd_x FA_5200_8200(int_39_65, int_38_65, int_20_65, int_29_64, int_31_64); - fullAdd_x FA_5200_8416(int_41_65, int_40_65, int_33_64, int_35_64, int_37_64); - fullAdd_x FA_5200_8632(int_43_65, int_42_65, int_22_65, int_24_65, int_26_65); - fullAdd_x FA_5200_8848(int_45_65, int_44_65, int_28_65, int_39_64, int_41_64); - fullAdd_x FA_5200_9064(int_47_65, int_46_65, int_43_64, int_30_65, int_32_65); - fullAdd_x FA_5200_9280(int_49_65, int_48_65, int_34_65, int_36_65, int_45_64); - fullAdd_x FA_5200_9496(int_51_65, int_50_65, int_47_64, int_49_64, int_38_65); - fullAdd_x FA_5200_9712(int_53_65, int_52_65, int_40_65, int_42_65, int_51_64); - fullAdd_x FA_5200_9928(int_55_65, int_54_65, int_44_65, int_46_65, int_48_65); - fullAdd_x FA_5200_10144(int_57_65, int_56_65, int_53_64, int_55_64, int_50_65); - fullAdd_x FA_5200_10360(int_59_65, int_58_65, int_52_65, int_57_64, int_54_65); - fullAdd_x FA_5200_10576(int_61_65, int_60_65, int_59_64, int_56_65, int_58_65); - assign Sum[65] = int_61_64; - assign Carry[65] = int_60_65; - - // Hardware for column 66 - - r4bs r4bs_5280_0(yy[63], gnd, single[1], double[1], neg[1], pp_1_66); - r4bs r4bs_5280_128(yy[61], yy[62], single[2], double[2], neg[2], pp_2_66); - fullAdd_x FA_5280_256(int_1_66, int_0_66, neg[0], pp_1_66, pp_2_66); - r4bs r4bs_5280_472(yy[59], yy[60], single[3], double[3], neg[3], pp_3_66); - r4bs r4bs_5280_600(yy[57], yy[58], single[4], double[4], neg[4], pp_4_66); - r4bs r4bs_5280_728(yy[55], yy[56], single[5], double[5], neg[5], pp_5_66); - fullAdd_x FA_5280_856(int_3_66, int_2_66, pp_3_66, pp_4_66, pp_5_66); - r4bs r4bs_5280_1072(yy[53], yy[54], single[6], double[6], neg[6], pp_6_66); - r4bs r4bs_5280_1200(yy[51], yy[52], single[7], double[7], neg[7], pp_7_66); - r4bs r4bs_5280_1328(yy[49], yy[50], single[8], double[8], neg[8], pp_8_66); - fullAdd_x FA_5280_1456(int_5_66, int_4_66, pp_6_66, pp_7_66, pp_8_66); - r4bs r4bs_5280_1672(yy[47], yy[48], single[9], double[9], neg[9], pp_9_66); - r4bs r4bs_5280_1800(yy[45], yy[46], single[10], double[10], neg[10], pp_10_66); - r4bs r4bs_5280_1928(yy[43], yy[44], single[11], double[11], neg[11], pp_11_66); - fullAdd_x FA_5280_2056(int_7_66, int_6_66, pp_9_66, pp_10_66, pp_11_66); - r4bs r4bs_5280_2272(yy[41], yy[42], single[12], double[12], neg[12], pp_12_66); - r4bs r4bs_5280_2400(yy[39], yy[40], single[13], double[13], neg[13], pp_13_66); - r4bs r4bs_5280_2528(yy[37], yy[38], single[14], double[14], neg[14], pp_14_66); - fullAdd_x FA_5280_2656(int_9_66, int_8_66, pp_12_66, pp_13_66, pp_14_66); - r4bs r4bs_5280_2872(yy[35], yy[36], single[15], double[15], neg[15], pp_15_66); - r4bs r4bs_5280_3000(yy[33], yy[34], single[16], double[16], neg[16], pp_16_66); - r4bs r4bs_5280_3128(yy[31], yy[32], single[17], double[17], neg[17], pp_17_66); - fullAdd_x FA_5280_3256(int_11_66, int_10_66, pp_15_66, pp_16_66, pp_17_66); - r4bs r4bs_5280_3472(yy[29], yy[30], single[18], double[18], neg[18], pp_18_66); - r4bs r4bs_5280_3600(yy[27], yy[28], single[19], double[19], neg[19], pp_19_66); - r4bs r4bs_5280_3728(yy[25], yy[26], single[20], double[20], neg[20], pp_20_66); - fullAdd_x FA_5280_3856(int_13_66, int_12_66, pp_18_66, pp_19_66, pp_20_66); - r4bs r4bs_5280_4072(yy[23], yy[24], single[21], double[21], neg[21], pp_21_66); - r4bs r4bs_5280_4200(yy[21], yy[22], single[22], double[22], neg[22], pp_22_66); - r4bs r4bs_5280_4328(yy[19], yy[20], single[23], double[23], neg[23], pp_23_66); - fullAdd_x FA_5280_4456(int_15_66, int_14_66, pp_21_66, pp_22_66, pp_23_66); - r4bs r4bs_5280_4672(yy[17], yy[18], single[24], double[24], neg[24], pp_24_66); - r4bs r4bs_5280_4800(yy[15], yy[16], single[25], double[25], neg[25], pp_25_66); - r4bs r4bs_5280_4928(yy[13], yy[14], single[26], double[26], neg[26], pp_26_66); - fullAdd_x FA_5280_5056(int_17_66, int_16_66, pp_24_66, pp_25_66, pp_26_66); - r4bs r4bs_5280_5272(yy[11], yy[12], single[27], double[27], neg[27], pp_27_66); - r4bs r4bs_5280_5400(yy[9], yy[10], single[28], double[28], neg[28], pp_28_66); - r4bs r4bs_5280_5528(yy[7], yy[8], single[29], double[29], neg[29], pp_29_66); - fullAdd_x FA_5280_5656(int_19_66, int_18_66, pp_27_66, pp_28_66, pp_29_66); - r4bs r4bs_5280_5872(yy[5], yy[6], single[30], double[30], neg[30], pp_30_66); - r4bs r4bs_5280_6000(yy[3], yy[4], single[31], double[31], neg[31], pp_31_66); - r4bs r4bs_5280_6128(yy[1], yy[2], single[32], double[32], neg[32], pp_32_66); - fullAdd_x FA_5280_6256(int_21_66, int_20_66, pp_30_66, pp_31_66, pp_32_66); - fullAdd_x FA_5280_6472(int_23_66, int_22_66, int_1_65, int_3_65, int_5_65); - fullAdd_x FA_5280_6688(int_25_66, int_24_66, int_7_65, int_9_65, int_11_65); - fullAdd_x FA_5280_6904(int_27_66, int_26_66, int_13_65, int_15_65, int_17_65); - fullAdd_x FA_5280_7120(int_29_66, int_28_66, int_19_65, int_21_65, int_23_65); - fullAdd_x FA_5280_7336(int_31_66, int_30_66, int_25_65, int_27_65, int_0_66); - fullAdd_x FA_5280_7552(int_33_66, int_32_66, int_2_66, int_4_66, int_6_66); - fullAdd_x FA_5280_7768(int_35_66, int_34_66, int_8_66, int_10_66, int_12_66); - fullAdd_x FA_5280_7984(int_37_66, int_36_66, int_14_66, int_16_66, int_18_66); - fullAdd_x FA_5280_8200(int_39_66, int_38_66, int_20_66, int_29_65, int_31_65); - fullAdd_x FA_5280_8416(int_41_66, int_40_66, int_33_65, int_35_65, int_37_65); - fullAdd_x FA_5280_8632(int_43_66, int_42_66, int_22_66, int_24_66, int_26_66); - fullAdd_x FA_5280_8848(int_45_66, int_44_66, int_28_66, int_39_65, int_41_65); - fullAdd_x FA_5280_9064(int_47_66, int_46_66, int_43_65, int_30_66, int_32_66); - fullAdd_x FA_5280_9280(int_49_66, int_48_66, int_34_66, int_36_66, int_45_65); - fullAdd_x FA_5280_9496(int_51_66, int_50_66, int_47_65, int_38_66, int_40_66); - fullAdd_x FA_5280_9712(int_53_66, int_52_66, int_42_66, int_49_65, int_51_65); - fullAdd_x FA_5280_9928(int_55_66, int_54_66, int_44_66, int_46_66, int_48_66); - fullAdd_x FA_5280_10144(int_57_66, int_56_66, int_53_65, int_55_65, int_50_66); - fullAdd_x FA_5280_10360(int_59_66, int_58_66, int_57_65, int_52_66, int_54_66); - fullAdd_x FA_5280_10576(int_61_66, int_60_66, int_59_65, int_56_66, int_58_66); - assign Sum[66] = int_61_65; - assign Carry[66] = int_60_66; - - // Hardware for column 67 - - r4bs r4bs_5360_0(yy[62], yy[63], single[2], double[2], neg[2], pp_2_67); - fullAdd_x FA_5360_128(int_1_67, int_0_67, negbar[0], negbar[1], pp_2_67); - r4bs r4bs_5360_344(yy[60], yy[61], single[3], double[3], neg[3], pp_3_67); - r4bs r4bs_5360_472(yy[58], yy[59], single[4], double[4], neg[4], pp_4_67); - r4bs r4bs_5360_600(yy[56], yy[57], single[5], double[5], neg[5], pp_5_67); - fullAdd_x FA_5360_728(int_3_67, int_2_67, pp_3_67, pp_4_67, pp_5_67); - r4bs r4bs_5360_944(yy[54], yy[55], single[6], double[6], neg[6], pp_6_67); - r4bs r4bs_5360_1072(yy[52], yy[53], single[7], double[7], neg[7], pp_7_67); - r4bs r4bs_5360_1200(yy[50], yy[51], single[8], double[8], neg[8], pp_8_67); - fullAdd_x FA_5360_1328(int_5_67, int_4_67, pp_6_67, pp_7_67, pp_8_67); - r4bs r4bs_5360_1544(yy[48], yy[49], single[9], double[9], neg[9], pp_9_67); - r4bs r4bs_5360_1672(yy[46], yy[47], single[10], double[10], neg[10], pp_10_67); - r4bs r4bs_5360_1800(yy[44], yy[45], single[11], double[11], neg[11], pp_11_67); - fullAdd_x FA_5360_1928(int_7_67, int_6_67, pp_9_67, pp_10_67, pp_11_67); - r4bs r4bs_5360_2144(yy[42], yy[43], single[12], double[12], neg[12], pp_12_67); - r4bs r4bs_5360_2272(yy[40], yy[41], single[13], double[13], neg[13], pp_13_67); - r4bs r4bs_5360_2400(yy[38], yy[39], single[14], double[14], neg[14], pp_14_67); - fullAdd_x FA_5360_2528(int_9_67, int_8_67, pp_12_67, pp_13_67, pp_14_67); - r4bs r4bs_5360_2744(yy[36], yy[37], single[15], double[15], neg[15], pp_15_67); - r4bs r4bs_5360_2872(yy[34], yy[35], single[16], double[16], neg[16], pp_16_67); - r4bs r4bs_5360_3000(yy[32], yy[33], single[17], double[17], neg[17], pp_17_67); - fullAdd_x FA_5360_3128(int_11_67, int_10_67, pp_15_67, pp_16_67, pp_17_67); - r4bs r4bs_5360_3344(yy[30], yy[31], single[18], double[18], neg[18], pp_18_67); - r4bs r4bs_5360_3472(yy[28], yy[29], single[19], double[19], neg[19], pp_19_67); - r4bs r4bs_5360_3600(yy[26], yy[27], single[20], double[20], neg[20], pp_20_67); - fullAdd_x FA_5360_3728(int_13_67, int_12_67, pp_18_67, pp_19_67, pp_20_67); - r4bs r4bs_5360_3944(yy[24], yy[25], single[21], double[21], neg[21], pp_21_67); - r4bs r4bs_5360_4072(yy[22], yy[23], single[22], double[22], neg[22], pp_22_67); - r4bs r4bs_5360_4200(yy[20], yy[21], single[23], double[23], neg[23], pp_23_67); - fullAdd_x FA_5360_4328(int_15_67, int_14_67, pp_21_67, pp_22_67, pp_23_67); - r4bs r4bs_5360_4544(yy[18], yy[19], single[24], double[24], neg[24], pp_24_67); - r4bs r4bs_5360_4672(yy[16], yy[17], single[25], double[25], neg[25], pp_25_67); - r4bs r4bs_5360_4800(yy[14], yy[15], single[26], double[26], neg[26], pp_26_67); - fullAdd_x FA_5360_4928(int_17_67, int_16_67, pp_24_67, pp_25_67, pp_26_67); - r4bs r4bs_5360_5144(yy[12], yy[13], single[27], double[27], neg[27], pp_27_67); - r4bs r4bs_5360_5272(yy[10], yy[11], single[28], double[28], neg[28], pp_28_67); - r4bs r4bs_5360_5400(yy[8], yy[9], single[29], double[29], neg[29], pp_29_67); - fullAdd_x FA_5360_5528(int_19_67, int_18_67, pp_27_67, pp_28_67, pp_29_67); - r4bs r4bs_5360_5744(yy[6], yy[7], single[30], double[30], neg[30], pp_30_67); - r4bs r4bs_5360_5872(yy[4], yy[5], single[31], double[31], neg[31], pp_31_67); - r4bs r4bs_5360_6000(yy[2], yy[3], single[32], double[32], neg[32], pp_32_67); - fullAdd_x FA_5360_6128(int_21_67, int_20_67, pp_30_67, pp_31_67, pp_32_67); - fullAdd_x FA_5360_6344(int_23_67, int_22_67, int_1_66, int_3_66, int_5_66); - fullAdd_x FA_5360_6560(int_25_67, int_24_67, int_7_66, int_9_66, int_11_66); - fullAdd_x FA_5360_6776(int_27_67, int_26_67, int_13_66, int_15_66, int_17_66); - fullAdd_x FA_5360_6992(int_29_67, int_28_67, int_19_66, int_21_66, int_0_67); - fullAdd_x FA_5360_7208(int_31_67, int_30_67, int_23_66, int_25_66, int_27_66); - fullAdd_x FA_5360_7424(int_33_67, int_32_67, int_2_67, int_4_67, int_6_67); - fullAdd_x FA_5360_7640(int_35_67, int_34_67, int_8_67, int_10_67, int_12_67); - fullAdd_x FA_5360_7856(int_37_67, int_36_67, int_14_67, int_16_67, int_18_67); - fullAdd_x FA_5360_8072(int_39_67, int_38_67, int_20_67, int_29_66, int_31_66); - fullAdd_x FA_5360_8288(int_41_67, int_40_67, int_33_66, int_35_66, int_37_66); - fullAdd_x FA_5360_8504(int_43_67, int_42_67, int_22_67, int_24_67, int_26_67); - fullAdd_x FA_5360_8720(int_45_67, int_44_67, int_28_67, int_39_66, int_41_66); - fullAdd_x FA_5360_8936(int_47_67, int_46_67, int_43_66, int_30_67, int_32_67); - fullAdd_x FA_5360_9152(int_49_67, int_48_67, int_34_67, int_36_67, int_45_66); - fullAdd_x FA_5360_9368(int_51_67, int_50_67, int_47_66, int_38_67, int_40_67); - fullAdd_x FA_5360_9584(int_53_67, int_52_67, int_42_67, int_49_66, int_51_66); - fullAdd_x FA_5360_9800(int_55_67, int_54_67, int_44_67, int_46_67, int_48_67); - fullAdd_x FA_5360_10016(int_57_67, int_56_67, int_53_66, int_55_66, int_50_67); - fullAdd_x FA_5360_10232(int_59_67, int_58_67, int_57_66, int_52_67, int_54_67); - fullAdd_x FA_5360_10448(int_61_67, int_60_67, int_59_66, int_56_67, int_58_67); - assign Sum[67] = int_61_66; - assign Carry[67] = int_60_67; - - // Hardware for column 68 - - r4bs r4bs_5440_0(yy[63], gnd, single[2], double[2], neg[2], pp_2_68); - halfAdd HA_5440_128(int_1_68, int_0_68, 1'b1, pp_2_68); - r4bs r4bs_5440_208(yy[61], yy[62], single[3], double[3], neg[3], pp_3_68); - r4bs r4bs_5440_336(yy[59], yy[60], single[4], double[4], neg[4], pp_4_68); - r4bs r4bs_5440_464(yy[57], yy[58], single[5], double[5], neg[5], pp_5_68); - fullAdd_x FA_5440_592(int_3_68, int_2_68, pp_3_68, pp_4_68, pp_5_68); - r4bs r4bs_5440_808(yy[55], yy[56], single[6], double[6], neg[6], pp_6_68); - r4bs r4bs_5440_936(yy[53], yy[54], single[7], double[7], neg[7], pp_7_68); - r4bs r4bs_5440_1064(yy[51], yy[52], single[8], double[8], neg[8], pp_8_68); - fullAdd_x FA_5440_1192(int_5_68, int_4_68, pp_6_68, pp_7_68, pp_8_68); - r4bs r4bs_5440_1408(yy[49], yy[50], single[9], double[9], neg[9], pp_9_68); - r4bs r4bs_5440_1536(yy[47], yy[48], single[10], double[10], neg[10], pp_10_68); - r4bs r4bs_5440_1664(yy[45], yy[46], single[11], double[11], neg[11], pp_11_68); - fullAdd_x FA_5440_1792(int_7_68, int_6_68, pp_9_68, pp_10_68, pp_11_68); - r4bs r4bs_5440_2008(yy[43], yy[44], single[12], double[12], neg[12], pp_12_68); - r4bs r4bs_5440_2136(yy[41], yy[42], single[13], double[13], neg[13], pp_13_68); - r4bs r4bs_5440_2264(yy[39], yy[40], single[14], double[14], neg[14], pp_14_68); - fullAdd_x FA_5440_2392(int_9_68, int_8_68, pp_12_68, pp_13_68, pp_14_68); - r4bs r4bs_5440_2608(yy[37], yy[38], single[15], double[15], neg[15], pp_15_68); - r4bs r4bs_5440_2736(yy[35], yy[36], single[16], double[16], neg[16], pp_16_68); - r4bs r4bs_5440_2864(yy[33], yy[34], single[17], double[17], neg[17], pp_17_68); - fullAdd_x FA_5440_2992(int_11_68, int_10_68, pp_15_68, pp_16_68, pp_17_68); - r4bs r4bs_5440_3208(yy[31], yy[32], single[18], double[18], neg[18], pp_18_68); - r4bs r4bs_5440_3336(yy[29], yy[30], single[19], double[19], neg[19], pp_19_68); - r4bs r4bs_5440_3464(yy[27], yy[28], single[20], double[20], neg[20], pp_20_68); - fullAdd_x FA_5440_3592(int_13_68, int_12_68, pp_18_68, pp_19_68, pp_20_68); - r4bs r4bs_5440_3808(yy[25], yy[26], single[21], double[21], neg[21], pp_21_68); - r4bs r4bs_5440_3936(yy[23], yy[24], single[22], double[22], neg[22], pp_22_68); - r4bs r4bs_5440_4064(yy[21], yy[22], single[23], double[23], neg[23], pp_23_68); - fullAdd_x FA_5440_4192(int_15_68, int_14_68, pp_21_68, pp_22_68, pp_23_68); - r4bs r4bs_5440_4408(yy[19], yy[20], single[24], double[24], neg[24], pp_24_68); - r4bs r4bs_5440_4536(yy[17], yy[18], single[25], double[25], neg[25], pp_25_68); - r4bs r4bs_5440_4664(yy[15], yy[16], single[26], double[26], neg[26], pp_26_68); - fullAdd_x FA_5440_4792(int_17_68, int_16_68, pp_24_68, pp_25_68, pp_26_68); - r4bs r4bs_5440_5008(yy[13], yy[14], single[27], double[27], neg[27], pp_27_68); - r4bs r4bs_5440_5136(yy[11], yy[12], single[28], double[28], neg[28], pp_28_68); - r4bs r4bs_5440_5264(yy[9], yy[10], single[29], double[29], neg[29], pp_29_68); - fullAdd_x FA_5440_5392(int_19_68, int_18_68, pp_27_68, pp_28_68, pp_29_68); - r4bs r4bs_5440_5608(yy[7], yy[8], single[30], double[30], neg[30], pp_30_68); - r4bs r4bs_5440_5736(yy[5], yy[6], single[31], double[31], neg[31], pp_31_68); - r4bs r4bs_5440_5864(yy[3], yy[4], single[32], double[32], neg[32], pp_32_68); - fullAdd_x FA_5440_5992(int_21_68, int_20_68, pp_30_68, pp_31_68, pp_32_68); - fullAdd_x FA_5440_6208(int_23_68, int_22_68, int_1_67, int_3_67, int_5_67); - fullAdd_x FA_5440_6424(int_25_68, int_24_68, int_7_67, int_9_67, int_11_67); - fullAdd_x FA_5440_6640(int_27_68, int_26_68, int_13_67, int_15_67, int_17_67); - fullAdd_x FA_5440_6856(int_29_68, int_28_68, int_19_67, int_21_67, int_0_68); - fullAdd_x FA_5440_7072(int_31_68, int_30_68, int_23_67, int_25_67, int_27_67); - fullAdd_x FA_5440_7288(int_33_68, int_32_68, int_29_67, int_2_68, int_4_68); - fullAdd_x FA_5440_7504(int_35_68, int_34_68, int_6_68, int_8_68, int_10_68); - fullAdd_x FA_5440_7720(int_37_68, int_36_68, int_12_68, int_14_68, int_16_68); - fullAdd_x FA_5440_7936(int_39_68, int_38_68, int_18_68, int_20_68, int_31_67); - fullAdd_x FA_5440_8152(int_41_68, int_40_68, int_33_67, int_35_67, int_37_67); - fullAdd_x FA_5440_8368(int_43_68, int_42_68, int_22_68, int_24_68, int_26_68); - fullAdd_x FA_5440_8584(int_45_68, int_44_68, int_28_68, int_39_67, int_41_67); - fullAdd_x FA_5440_8800(int_47_68, int_46_68, int_43_67, int_30_68, int_32_68); - fullAdd_x FA_5440_9016(int_49_68, int_48_68, int_34_68, int_36_68, int_38_68); - fullAdd_x FA_5440_9232(int_51_68, int_50_68, int_45_67, int_47_67, int_40_68); - fullAdd_x FA_5440_9448(int_53_68, int_52_68, int_42_68, int_49_67, int_51_67); - fullAdd_x FA_5440_9664(int_55_68, int_54_68, int_44_68, int_46_68, int_48_68); - fullAdd_x FA_5440_9880(int_57_68, int_56_68, int_53_67, int_55_67, int_50_68); - fullAdd_x FA_5440_10096(int_59_68, int_58_68, int_57_67, int_52_68, int_54_68); - fullAdd_x FA_5440_10312(int_61_68, int_60_68, int_59_67, int_56_68, int_58_68); - assign Sum[68] = int_61_67; - assign Carry[68] = int_60_68; - - // Hardware for column 69 - - r4bs r4bs_5520_0(yy[62], yy[63], single[3], double[3], neg[3], pp_3_69); - r4bs r4bs_5520_128(yy[60], yy[61], single[4], double[4], neg[4], pp_4_69); - fullAdd_x FA_5520_256(int_1_69, int_0_69, negbar[2], pp_3_69, pp_4_69); - r4bs r4bs_5520_472(yy[58], yy[59], single[5], double[5], neg[5], pp_5_69); - r4bs r4bs_5520_600(yy[56], yy[57], single[6], double[6], neg[6], pp_6_69); - r4bs r4bs_5520_728(yy[54], yy[55], single[7], double[7], neg[7], pp_7_69); - fullAdd_x FA_5520_856(int_3_69, int_2_69, pp_5_69, pp_6_69, pp_7_69); - r4bs r4bs_5520_1072(yy[52], yy[53], single[8], double[8], neg[8], pp_8_69); - r4bs r4bs_5520_1200(yy[50], yy[51], single[9], double[9], neg[9], pp_9_69); - r4bs r4bs_5520_1328(yy[48], yy[49], single[10], double[10], neg[10], pp_10_69); - fullAdd_x FA_5520_1456(int_5_69, int_4_69, pp_8_69, pp_9_69, pp_10_69); - r4bs r4bs_5520_1672(yy[46], yy[47], single[11], double[11], neg[11], pp_11_69); - r4bs r4bs_5520_1800(yy[44], yy[45], single[12], double[12], neg[12], pp_12_69); - r4bs r4bs_5520_1928(yy[42], yy[43], single[13], double[13], neg[13], pp_13_69); - fullAdd_x FA_5520_2056(int_7_69, int_6_69, pp_11_69, pp_12_69, pp_13_69); - r4bs r4bs_5520_2272(yy[40], yy[41], single[14], double[14], neg[14], pp_14_69); - r4bs r4bs_5520_2400(yy[38], yy[39], single[15], double[15], neg[15], pp_15_69); - r4bs r4bs_5520_2528(yy[36], yy[37], single[16], double[16], neg[16], pp_16_69); - fullAdd_x FA_5520_2656(int_9_69, int_8_69, pp_14_69, pp_15_69, pp_16_69); - r4bs r4bs_5520_2872(yy[34], yy[35], single[17], double[17], neg[17], pp_17_69); - r4bs r4bs_5520_3000(yy[32], yy[33], single[18], double[18], neg[18], pp_18_69); - r4bs r4bs_5520_3128(yy[30], yy[31], single[19], double[19], neg[19], pp_19_69); - fullAdd_x FA_5520_3256(int_11_69, int_10_69, pp_17_69, pp_18_69, pp_19_69); - r4bs r4bs_5520_3472(yy[28], yy[29], single[20], double[20], neg[20], pp_20_69); - r4bs r4bs_5520_3600(yy[26], yy[27], single[21], double[21], neg[21], pp_21_69); - r4bs r4bs_5520_3728(yy[24], yy[25], single[22], double[22], neg[22], pp_22_69); - fullAdd_x FA_5520_3856(int_13_69, int_12_69, pp_20_69, pp_21_69, pp_22_69); - r4bs r4bs_5520_4072(yy[22], yy[23], single[23], double[23], neg[23], pp_23_69); - r4bs r4bs_5520_4200(yy[20], yy[21], single[24], double[24], neg[24], pp_24_69); - r4bs r4bs_5520_4328(yy[18], yy[19], single[25], double[25], neg[25], pp_25_69); - fullAdd_x FA_5520_4456(int_15_69, int_14_69, pp_23_69, pp_24_69, pp_25_69); - r4bs r4bs_5520_4672(yy[16], yy[17], single[26], double[26], neg[26], pp_26_69); - r4bs r4bs_5520_4800(yy[14], yy[15], single[27], double[27], neg[27], pp_27_69); - r4bs r4bs_5520_4928(yy[12], yy[13], single[28], double[28], neg[28], pp_28_69); - fullAdd_x FA_5520_5056(int_17_69, int_16_69, pp_26_69, pp_27_69, pp_28_69); - r4bs r4bs_5520_5272(yy[10], yy[11], single[29], double[29], neg[29], pp_29_69); - r4bs r4bs_5520_5400(yy[8], yy[9], single[30], double[30], neg[30], pp_30_69); - r4bs r4bs_5520_5528(yy[6], yy[7], single[31], double[31], neg[31], pp_31_69); - fullAdd_x FA_5520_5656(int_19_69, int_18_69, pp_29_69, pp_30_69, pp_31_69); - r4bs r4bs_5520_5872(yy[4], yy[5], single[32], double[32], neg[32], pp_32_69); - fullAdd_x FA_5520_6000(int_21_69, int_20_69, pp_32_69, int_1_68, int_3_68); - fullAdd_x FA_5520_6216(int_23_69, int_22_69, int_5_68, int_7_68, int_9_68); - fullAdd_x FA_5520_6432(int_25_69, int_24_69, int_11_68, int_13_68, int_15_68); - fullAdd_x FA_5520_6648(int_27_69, int_26_69, int_17_68, int_19_68, int_21_68); - fullAdd_x FA_5520_6864(int_29_69, int_28_69, int_23_68, int_25_68, int_27_68); - fullAdd_x FA_5520_7080(int_31_69, int_30_69, int_29_68, int_0_69, int_2_69); - fullAdd_x FA_5520_7296(int_33_69, int_32_69, int_4_69, int_6_69, int_8_69); - fullAdd_x FA_5520_7512(int_35_69, int_34_69, int_10_69, int_12_69, int_14_69); - fullAdd_x FA_5520_7728(int_37_69, int_36_69, int_16_69, int_18_69, int_20_69); - fullAdd_x FA_5520_7944(int_39_69, int_38_69, int_31_68, int_33_68, int_35_68); - fullAdd_x FA_5520_8160(int_41_69, int_40_69, int_37_68, int_22_69, int_24_69); - fullAdd_x FA_5520_8376(int_43_69, int_42_69, int_26_69, int_39_68, int_41_68); - fullAdd_x FA_5520_8592(int_45_69, int_44_69, int_43_68, int_28_69, int_30_69); - fullAdd_x FA_5520_8808(int_47_69, int_46_69, int_32_69, int_34_69, int_36_69); - fullAdd_x FA_5520_9024(int_49_69, int_48_69, int_45_68, int_47_68, int_49_68); - fullAdd_x FA_5520_9240(int_51_69, int_50_69, int_38_69, int_40_69, int_51_68); - fullAdd_x FA_5520_9456(int_53_69, int_52_69, int_42_69, int_44_69, int_46_69); - fullAdd_x FA_5520_9672(int_55_69, int_54_69, int_53_68, int_55_68, int_48_69); - fullAdd_x FA_5520_9888(int_57_69, int_56_69, int_50_69, int_57_68, int_52_69); - fullAdd_x FA_5520_10104(int_59_69, int_58_69, int_59_68, int_54_69, int_56_69); - assign Sum[69] = int_61_68; - assign Carry[69] = int_58_69; - - // Hardware for column 70 - - r4bs r4bs_5600_0(yy[63], gnd, single[3], double[3], neg[3], pp_3_70); - halfAdd HA_5600_128(int_1_70, int_0_70, 1'b1, pp_3_70); - r4bs r4bs_5600_208(yy[61], yy[62], single[4], double[4], neg[4], pp_4_70); - r4bs r4bs_5600_336(yy[59], yy[60], single[5], double[5], neg[5], pp_5_70); - r4bs r4bs_5600_464(yy[57], yy[58], single[6], double[6], neg[6], pp_6_70); - fullAdd_x FA_5600_592(int_3_70, int_2_70, pp_4_70, pp_5_70, pp_6_70); - r4bs r4bs_5600_808(yy[55], yy[56], single[7], double[7], neg[7], pp_7_70); - r4bs r4bs_5600_936(yy[53], yy[54], single[8], double[8], neg[8], pp_8_70); - r4bs r4bs_5600_1064(yy[51], yy[52], single[9], double[9], neg[9], pp_9_70); - fullAdd_x FA_5600_1192(int_5_70, int_4_70, pp_7_70, pp_8_70, pp_9_70); - r4bs r4bs_5600_1408(yy[49], yy[50], single[10], double[10], neg[10], pp_10_70); - r4bs r4bs_5600_1536(yy[47], yy[48], single[11], double[11], neg[11], pp_11_70); - r4bs r4bs_5600_1664(yy[45], yy[46], single[12], double[12], neg[12], pp_12_70); - fullAdd_x FA_5600_1792(int_7_70, int_6_70, pp_10_70, pp_11_70, pp_12_70); - r4bs r4bs_5600_2008(yy[43], yy[44], single[13], double[13], neg[13], pp_13_70); - r4bs r4bs_5600_2136(yy[41], yy[42], single[14], double[14], neg[14], pp_14_70); - r4bs r4bs_5600_2264(yy[39], yy[40], single[15], double[15], neg[15], pp_15_70); - fullAdd_x FA_5600_2392(int_9_70, int_8_70, pp_13_70, pp_14_70, pp_15_70); - r4bs r4bs_5600_2608(yy[37], yy[38], single[16], double[16], neg[16], pp_16_70); - r4bs r4bs_5600_2736(yy[35], yy[36], single[17], double[17], neg[17], pp_17_70); - r4bs r4bs_5600_2864(yy[33], yy[34], single[18], double[18], neg[18], pp_18_70); - fullAdd_x FA_5600_2992(int_11_70, int_10_70, pp_16_70, pp_17_70, pp_18_70); - r4bs r4bs_5600_3208(yy[31], yy[32], single[19], double[19], neg[19], pp_19_70); - r4bs r4bs_5600_3336(yy[29], yy[30], single[20], double[20], neg[20], pp_20_70); - r4bs r4bs_5600_3464(yy[27], yy[28], single[21], double[21], neg[21], pp_21_70); - fullAdd_x FA_5600_3592(int_13_70, int_12_70, pp_19_70, pp_20_70, pp_21_70); - r4bs r4bs_5600_3808(yy[25], yy[26], single[22], double[22], neg[22], pp_22_70); - r4bs r4bs_5600_3936(yy[23], yy[24], single[23], double[23], neg[23], pp_23_70); - r4bs r4bs_5600_4064(yy[21], yy[22], single[24], double[24], neg[24], pp_24_70); - fullAdd_x FA_5600_4192(int_15_70, int_14_70, pp_22_70, pp_23_70, pp_24_70); - r4bs r4bs_5600_4408(yy[19], yy[20], single[25], double[25], neg[25], pp_25_70); - r4bs r4bs_5600_4536(yy[17], yy[18], single[26], double[26], neg[26], pp_26_70); - r4bs r4bs_5600_4664(yy[15], yy[16], single[27], double[27], neg[27], pp_27_70); - fullAdd_x FA_5600_4792(int_17_70, int_16_70, pp_25_70, pp_26_70, pp_27_70); - r4bs r4bs_5600_5008(yy[13], yy[14], single[28], double[28], neg[28], pp_28_70); - r4bs r4bs_5600_5136(yy[11], yy[12], single[29], double[29], neg[29], pp_29_70); - r4bs r4bs_5600_5264(yy[9], yy[10], single[30], double[30], neg[30], pp_30_70); - fullAdd_x FA_5600_5392(int_19_70, int_18_70, pp_28_70, pp_29_70, pp_30_70); - r4bs r4bs_5600_5608(yy[7], yy[8], single[31], double[31], neg[31], pp_31_70); - r4bs r4bs_5600_5736(yy[5], yy[6], single[32], double[32], neg[32], pp_32_70); - fullAdd_x FA_5600_5864(int_21_70, int_20_70, pp_31_70, pp_32_70, int_1_69); - fullAdd_x FA_5600_6080(int_23_70, int_22_70, int_3_69, int_5_69, int_7_69); - fullAdd_x FA_5600_6296(int_25_70, int_24_70, int_9_69, int_11_69, int_13_69); - fullAdd_x FA_5600_6512(int_27_70, int_26_70, int_15_69, int_17_69, int_19_69); - fullAdd_x FA_5600_6728(int_29_70, int_28_70, int_0_70, int_21_69, int_23_69); - fullAdd_x FA_5600_6944(int_31_70, int_30_70, int_25_69, int_27_69, int_2_70); - fullAdd_x FA_5600_7160(int_33_70, int_32_70, int_4_70, int_6_70, int_8_70); - fullAdd_x FA_5600_7376(int_35_70, int_34_70, int_10_70, int_12_70, int_14_70); - fullAdd_x FA_5600_7592(int_37_70, int_36_70, int_16_70, int_18_70, int_20_70); - fullAdd_x FA_5600_7808(int_39_70, int_38_70, int_29_69, int_31_69, int_33_69); - fullAdd_x FA_5600_8024(int_41_70, int_40_70, int_35_69, int_22_70, int_24_70); - fullAdd_x FA_5600_8240(int_43_70, int_42_70, int_26_70, int_37_69, int_39_69); - fullAdd_x FA_5600_8456(int_45_70, int_44_70, int_41_69, int_28_70, int_30_70); - fullAdd_x FA_5600_8672(int_47_70, int_46_70, int_32_70, int_34_70, int_36_70); - fullAdd_x FA_5600_8888(int_49_70, int_48_70, int_43_69, int_45_69, int_47_69); - fullAdd_x FA_5600_9104(int_51_70, int_50_70, int_38_70, int_40_70, int_42_70); - fullAdd_x FA_5600_9320(int_53_70, int_52_70, int_49_69, int_44_70, int_46_70); - fullAdd_x FA_5600_9536(int_55_70, int_54_70, int_51_69, int_53_69, int_48_70); - fullAdd_x FA_5600_9752(int_57_70, int_56_70, int_50_70, int_55_69, int_52_70); - fullAdd_x FA_5600_9968(int_59_70, int_58_70, int_57_69, int_54_70, int_56_70); - assign Sum[70] = int_59_69; - assign Carry[70] = int_58_70; - - // Hardware for column 71 - - r4bs r4bs_5680_0(yy[62], yy[63], single[4], double[4], neg[4], pp_4_71); - r4bs r4bs_5680_128(yy[60], yy[61], single[5], double[5], neg[5], pp_5_71); - fullAdd_x FA_5680_256(int_1_71, int_0_71, negbar[3], pp_4_71, pp_5_71); - r4bs r4bs_5680_472(yy[58], yy[59], single[6], double[6], neg[6], pp_6_71); - r4bs r4bs_5680_600(yy[56], yy[57], single[7], double[7], neg[7], pp_7_71); - r4bs r4bs_5680_728(yy[54], yy[55], single[8], double[8], neg[8], pp_8_71); - fullAdd_x FA_5680_856(int_3_71, int_2_71, pp_6_71, pp_7_71, pp_8_71); - r4bs r4bs_5680_1072(yy[52], yy[53], single[9], double[9], neg[9], pp_9_71); - r4bs r4bs_5680_1200(yy[50], yy[51], single[10], double[10], neg[10], pp_10_71); - r4bs r4bs_5680_1328(yy[48], yy[49], single[11], double[11], neg[11], pp_11_71); - fullAdd_x FA_5680_1456(int_5_71, int_4_71, pp_9_71, pp_10_71, pp_11_71); - r4bs r4bs_5680_1672(yy[46], yy[47], single[12], double[12], neg[12], pp_12_71); - r4bs r4bs_5680_1800(yy[44], yy[45], single[13], double[13], neg[13], pp_13_71); - r4bs r4bs_5680_1928(yy[42], yy[43], single[14], double[14], neg[14], pp_14_71); - fullAdd_x FA_5680_2056(int_7_71, int_6_71, pp_12_71, pp_13_71, pp_14_71); - r4bs r4bs_5680_2272(yy[40], yy[41], single[15], double[15], neg[15], pp_15_71); - r4bs r4bs_5680_2400(yy[38], yy[39], single[16], double[16], neg[16], pp_16_71); - r4bs r4bs_5680_2528(yy[36], yy[37], single[17], double[17], neg[17], pp_17_71); - fullAdd_x FA_5680_2656(int_9_71, int_8_71, pp_15_71, pp_16_71, pp_17_71); - r4bs r4bs_5680_2872(yy[34], yy[35], single[18], double[18], neg[18], pp_18_71); - r4bs r4bs_5680_3000(yy[32], yy[33], single[19], double[19], neg[19], pp_19_71); - r4bs r4bs_5680_3128(yy[30], yy[31], single[20], double[20], neg[20], pp_20_71); - fullAdd_x FA_5680_3256(int_11_71, int_10_71, pp_18_71, pp_19_71, pp_20_71); - r4bs r4bs_5680_3472(yy[28], yy[29], single[21], double[21], neg[21], pp_21_71); - r4bs r4bs_5680_3600(yy[26], yy[27], single[22], double[22], neg[22], pp_22_71); - r4bs r4bs_5680_3728(yy[24], yy[25], single[23], double[23], neg[23], pp_23_71); - fullAdd_x FA_5680_3856(int_13_71, int_12_71, pp_21_71, pp_22_71, pp_23_71); - r4bs r4bs_5680_4072(yy[22], yy[23], single[24], double[24], neg[24], pp_24_71); - r4bs r4bs_5680_4200(yy[20], yy[21], single[25], double[25], neg[25], pp_25_71); - r4bs r4bs_5680_4328(yy[18], yy[19], single[26], double[26], neg[26], pp_26_71); - fullAdd_x FA_5680_4456(int_15_71, int_14_71, pp_24_71, pp_25_71, pp_26_71); - r4bs r4bs_5680_4672(yy[16], yy[17], single[27], double[27], neg[27], pp_27_71); - r4bs r4bs_5680_4800(yy[14], yy[15], single[28], double[28], neg[28], pp_28_71); - r4bs r4bs_5680_4928(yy[12], yy[13], single[29], double[29], neg[29], pp_29_71); - fullAdd_x FA_5680_5056(int_17_71, int_16_71, pp_27_71, pp_28_71, pp_29_71); - r4bs r4bs_5680_5272(yy[10], yy[11], single[30], double[30], neg[30], pp_30_71); - r4bs r4bs_5680_5400(yy[8], yy[9], single[31], double[31], neg[31], pp_31_71); - r4bs r4bs_5680_5528(yy[6], yy[7], single[32], double[32], neg[32], pp_32_71); - fullAdd_x FA_5680_5656(int_19_71, int_18_71, pp_30_71, pp_31_71, pp_32_71); - fullAdd_x FA_5680_5872(int_21_71, int_20_71, int_1_70, int_3_70, int_5_70); - fullAdd_x FA_5680_6088(int_23_71, int_22_71, int_7_70, int_9_70, int_11_70); - fullAdd_x FA_5680_6304(int_25_71, int_24_71, int_13_70, int_15_70, int_17_70); - fullAdd_x FA_5680_6520(int_27_71, int_26_71, int_19_70, int_21_70, int_23_70); - fullAdd_x FA_5680_6736(int_29_71, int_28_71, int_25_70, int_27_70, int_0_71); - fullAdd_x FA_5680_6952(int_31_71, int_30_71, int_2_71, int_4_71, int_6_71); - fullAdd_x FA_5680_7168(int_33_71, int_32_71, int_8_71, int_10_71, int_12_71); - fullAdd_x FA_5680_7384(int_35_71, int_34_71, int_14_71, int_16_71, int_18_71); - fullAdd_x FA_5680_7600(int_37_71, int_36_71, int_29_70, int_31_70, int_33_70); - fullAdd_x FA_5680_7816(int_39_71, int_38_71, int_35_70, int_37_70, int_20_71); - fullAdd_x FA_5680_8032(int_41_71, int_40_71, int_22_71, int_24_71, int_39_70); - fullAdd_x FA_5680_8248(int_43_71, int_42_71, int_41_70, int_26_71, int_28_71); - fullAdd_x FA_5680_8464(int_45_71, int_44_71, int_30_71, int_32_71, int_34_71); - fullAdd_x FA_5680_8680(int_47_71, int_46_71, int_43_70, int_45_70, int_47_70); - fullAdd_x FA_5680_8896(int_49_71, int_48_71, int_36_71, int_38_71, int_40_71); - fullAdd_x FA_5680_9112(int_51_71, int_50_71, int_49_70, int_42_71, int_44_71); - fullAdd_x FA_5680_9328(int_53_71, int_52_71, int_51_70, int_53_70, int_46_71); - fullAdd_x FA_5680_9544(int_55_71, int_54_71, int_48_71, int_55_70, int_50_71); - fullAdd_x FA_5680_9760(int_57_71, int_56_71, int_57_70, int_52_71, int_54_71); - assign Sum[71] = int_59_70; - assign Carry[71] = int_56_71; - - // Hardware for column 72 - - r4bs r4bs_5760_0(yy[63], gnd, single[4], double[4], neg[4], pp_4_72); - halfAdd HA_5760_128(int_1_72, int_0_72, 1'b1, pp_4_72); - r4bs r4bs_5760_208(yy[61], yy[62], single[5], double[5], neg[5], pp_5_72); - r4bs r4bs_5760_336(yy[59], yy[60], single[6], double[6], neg[6], pp_6_72); - r4bs r4bs_5760_464(yy[57], yy[58], single[7], double[7], neg[7], pp_7_72); - fullAdd_x FA_5760_592(int_3_72, int_2_72, pp_5_72, pp_6_72, pp_7_72); - r4bs r4bs_5760_808(yy[55], yy[56], single[8], double[8], neg[8], pp_8_72); - r4bs r4bs_5760_936(yy[53], yy[54], single[9], double[9], neg[9], pp_9_72); - r4bs r4bs_5760_1064(yy[51], yy[52], single[10], double[10], neg[10], pp_10_72); - fullAdd_x FA_5760_1192(int_5_72, int_4_72, pp_8_72, pp_9_72, pp_10_72); - r4bs r4bs_5760_1408(yy[49], yy[50], single[11], double[11], neg[11], pp_11_72); - r4bs r4bs_5760_1536(yy[47], yy[48], single[12], double[12], neg[12], pp_12_72); - r4bs r4bs_5760_1664(yy[45], yy[46], single[13], double[13], neg[13], pp_13_72); - fullAdd_x FA_5760_1792(int_7_72, int_6_72, pp_11_72, pp_12_72, pp_13_72); - r4bs r4bs_5760_2008(yy[43], yy[44], single[14], double[14], neg[14], pp_14_72); - r4bs r4bs_5760_2136(yy[41], yy[42], single[15], double[15], neg[15], pp_15_72); - r4bs r4bs_5760_2264(yy[39], yy[40], single[16], double[16], neg[16], pp_16_72); - fullAdd_x FA_5760_2392(int_9_72, int_8_72, pp_14_72, pp_15_72, pp_16_72); - r4bs r4bs_5760_2608(yy[37], yy[38], single[17], double[17], neg[17], pp_17_72); - r4bs r4bs_5760_2736(yy[35], yy[36], single[18], double[18], neg[18], pp_18_72); - r4bs r4bs_5760_2864(yy[33], yy[34], single[19], double[19], neg[19], pp_19_72); - fullAdd_x FA_5760_2992(int_11_72, int_10_72, pp_17_72, pp_18_72, pp_19_72); - r4bs r4bs_5760_3208(yy[31], yy[32], single[20], double[20], neg[20], pp_20_72); - r4bs r4bs_5760_3336(yy[29], yy[30], single[21], double[21], neg[21], pp_21_72); - r4bs r4bs_5760_3464(yy[27], yy[28], single[22], double[22], neg[22], pp_22_72); - fullAdd_x FA_5760_3592(int_13_72, int_12_72, pp_20_72, pp_21_72, pp_22_72); - r4bs r4bs_5760_3808(yy[25], yy[26], single[23], double[23], neg[23], pp_23_72); - r4bs r4bs_5760_3936(yy[23], yy[24], single[24], double[24], neg[24], pp_24_72); - r4bs r4bs_5760_4064(yy[21], yy[22], single[25], double[25], neg[25], pp_25_72); - fullAdd_x FA_5760_4192(int_15_72, int_14_72, pp_23_72, pp_24_72, pp_25_72); - r4bs r4bs_5760_4408(yy[19], yy[20], single[26], double[26], neg[26], pp_26_72); - r4bs r4bs_5760_4536(yy[17], yy[18], single[27], double[27], neg[27], pp_27_72); - r4bs r4bs_5760_4664(yy[15], yy[16], single[28], double[28], neg[28], pp_28_72); - fullAdd_x FA_5760_4792(int_17_72, int_16_72, pp_26_72, pp_27_72, pp_28_72); - r4bs r4bs_5760_5008(yy[13], yy[14], single[29], double[29], neg[29], pp_29_72); - r4bs r4bs_5760_5136(yy[11], yy[12], single[30], double[30], neg[30], pp_30_72); - r4bs r4bs_5760_5264(yy[9], yy[10], single[31], double[31], neg[31], pp_31_72); - fullAdd_x FA_5760_5392(int_19_72, int_18_72, pp_29_72, pp_30_72, pp_31_72); - r4bs r4bs_5760_5608(yy[7], yy[8], single[32], double[32], neg[32], pp_32_72); - fullAdd_x FA_5760_5736(int_21_72, int_20_72, pp_32_72, int_1_71, int_3_71); - fullAdd_x FA_5760_5952(int_23_72, int_22_72, int_5_71, int_7_71, int_9_71); - fullAdd_x FA_5760_6168(int_25_72, int_24_72, int_11_71, int_13_71, int_15_71); - fullAdd_x FA_5760_6384(int_27_72, int_26_72, int_17_71, int_19_71, int_0_72); - fullAdd_x FA_5760_6600(int_29_72, int_28_72, int_21_71, int_23_71, int_25_71); - fullAdd_x FA_5760_6816(int_31_72, int_30_72, int_2_72, int_4_72, int_6_72); - fullAdd_x FA_5760_7032(int_33_72, int_32_72, int_8_72, int_10_72, int_12_72); - fullAdd_x FA_5760_7248(int_35_72, int_34_72, int_14_72, int_16_72, int_18_72); - fullAdd_x FA_5760_7464(int_37_72, int_36_72, int_27_71, int_29_71, int_31_71); - fullAdd_x FA_5760_7680(int_39_72, int_38_72, int_33_71, int_35_71, int_20_72); - fullAdd_x FA_5760_7896(int_41_72, int_40_72, int_22_72, int_24_72, int_26_72); - fullAdd_x FA_5760_8112(int_43_72, int_42_72, int_37_71, int_39_71, int_28_72); - fullAdd_x FA_5760_8328(int_45_72, int_44_72, int_30_72, int_32_72, int_34_72); - fullAdd_x FA_5760_8544(int_47_72, int_46_72, int_41_71, int_43_71, int_45_71); - fullAdd_x FA_5760_8760(int_49_72, int_48_72, int_36_72, int_38_72, int_40_72); - fullAdd_x FA_5760_8976(int_51_72, int_50_72, int_47_71, int_49_71, int_42_72); - fullAdd_x FA_5760_9192(int_53_72, int_52_72, int_44_72, int_51_71, int_46_72); - fullAdd_x FA_5760_9408(int_55_72, int_54_72, int_48_72, int_53_71, int_50_72); - fullAdd_x FA_5760_9624(int_57_72, int_56_72, int_55_71, int_52_72, int_54_72); - assign Sum[72] = int_57_71; - assign Carry[72] = int_56_72; - - // Hardware for column 73 - - r4bs r4bs_5840_0(yy[62], yy[63], single[5], double[5], neg[5], pp_5_73); - r4bs r4bs_5840_128(yy[60], yy[61], single[6], double[6], neg[6], pp_6_73); - fullAdd_x FA_5840_256(int_1_73, int_0_73, negbar[4], pp_5_73, pp_6_73); - r4bs r4bs_5840_472(yy[58], yy[59], single[7], double[7], neg[7], pp_7_73); - r4bs r4bs_5840_600(yy[56], yy[57], single[8], double[8], neg[8], pp_8_73); - r4bs r4bs_5840_728(yy[54], yy[55], single[9], double[9], neg[9], pp_9_73); - fullAdd_x FA_5840_856(int_3_73, int_2_73, pp_7_73, pp_8_73, pp_9_73); - r4bs r4bs_5840_1072(yy[52], yy[53], single[10], double[10], neg[10], pp_10_73); - r4bs r4bs_5840_1200(yy[50], yy[51], single[11], double[11], neg[11], pp_11_73); - r4bs r4bs_5840_1328(yy[48], yy[49], single[12], double[12], neg[12], pp_12_73); - fullAdd_x FA_5840_1456(int_5_73, int_4_73, pp_10_73, pp_11_73, pp_12_73); - r4bs r4bs_5840_1672(yy[46], yy[47], single[13], double[13], neg[13], pp_13_73); - r4bs r4bs_5840_1800(yy[44], yy[45], single[14], double[14], neg[14], pp_14_73); - r4bs r4bs_5840_1928(yy[42], yy[43], single[15], double[15], neg[15], pp_15_73); - fullAdd_x FA_5840_2056(int_7_73, int_6_73, pp_13_73, pp_14_73, pp_15_73); - r4bs r4bs_5840_2272(yy[40], yy[41], single[16], double[16], neg[16], pp_16_73); - r4bs r4bs_5840_2400(yy[38], yy[39], single[17], double[17], neg[17], pp_17_73); - r4bs r4bs_5840_2528(yy[36], yy[37], single[18], double[18], neg[18], pp_18_73); - fullAdd_x FA_5840_2656(int_9_73, int_8_73, pp_16_73, pp_17_73, pp_18_73); - r4bs r4bs_5840_2872(yy[34], yy[35], single[19], double[19], neg[19], pp_19_73); - r4bs r4bs_5840_3000(yy[32], yy[33], single[20], double[20], neg[20], pp_20_73); - r4bs r4bs_5840_3128(yy[30], yy[31], single[21], double[21], neg[21], pp_21_73); - fullAdd_x FA_5840_3256(int_11_73, int_10_73, pp_19_73, pp_20_73, pp_21_73); - r4bs r4bs_5840_3472(yy[28], yy[29], single[22], double[22], neg[22], pp_22_73); - r4bs r4bs_5840_3600(yy[26], yy[27], single[23], double[23], neg[23], pp_23_73); - r4bs r4bs_5840_3728(yy[24], yy[25], single[24], double[24], neg[24], pp_24_73); - fullAdd_x FA_5840_3856(int_13_73, int_12_73, pp_22_73, pp_23_73, pp_24_73); - r4bs r4bs_5840_4072(yy[22], yy[23], single[25], double[25], neg[25], pp_25_73); - r4bs r4bs_5840_4200(yy[20], yy[21], single[26], double[26], neg[26], pp_26_73); - r4bs r4bs_5840_4328(yy[18], yy[19], single[27], double[27], neg[27], pp_27_73); - fullAdd_x FA_5840_4456(int_15_73, int_14_73, pp_25_73, pp_26_73, pp_27_73); - r4bs r4bs_5840_4672(yy[16], yy[17], single[28], double[28], neg[28], pp_28_73); - r4bs r4bs_5840_4800(yy[14], yy[15], single[29], double[29], neg[29], pp_29_73); - r4bs r4bs_5840_4928(yy[12], yy[13], single[30], double[30], neg[30], pp_30_73); - fullAdd_x FA_5840_5056(int_17_73, int_16_73, pp_28_73, pp_29_73, pp_30_73); - r4bs r4bs_5840_5272(yy[10], yy[11], single[31], double[31], neg[31], pp_31_73); - r4bs r4bs_5840_5400(yy[8], yy[9], single[32], double[32], neg[32], pp_32_73); - fullAdd_x FA_5840_5528(int_19_73, int_18_73, pp_31_73, pp_32_73, int_1_72); - fullAdd_x FA_5840_5744(int_21_73, int_20_73, int_3_72, int_5_72, int_7_72); - fullAdd_x FA_5840_5960(int_23_73, int_22_73, int_9_72, int_11_72, int_13_72); - fullAdd_x FA_5840_6176(int_25_73, int_24_73, int_15_72, int_17_72, int_19_72); - fullAdd_x FA_5840_6392(int_27_73, int_26_73, int_21_72, int_23_72, int_25_72); - fullAdd_x FA_5840_6608(int_29_73, int_28_73, int_27_72, int_0_73, int_2_73); - fullAdd_x FA_5840_6824(int_31_73, int_30_73, int_4_73, int_6_73, int_8_73); - fullAdd_x FA_5840_7040(int_33_73, int_32_73, int_10_73, int_12_73, int_14_73); - fullAdd_x FA_5840_7256(int_35_73, int_34_73, int_16_73, int_18_73, int_29_72); - fullAdd_x FA_5840_7472(int_37_73, int_36_73, int_31_72, int_33_72, int_35_72); - fullAdd_x FA_5840_7688(int_39_73, int_38_73, int_20_73, int_22_73, int_24_73); - fullAdd_x FA_5840_7904(int_41_73, int_40_73, int_37_72, int_39_72, int_41_72); - fullAdd_x FA_5840_8120(int_43_73, int_42_73, int_26_73, int_28_73, int_30_73); - fullAdd_x FA_5840_8336(int_45_73, int_44_73, int_32_73, int_34_73, int_43_72); - fullAdd_x FA_5840_8552(int_47_73, int_46_73, int_45_72, int_36_73, int_38_73); - fullAdd_x FA_5840_8768(int_49_73, int_48_73, int_47_72, int_49_72, int_40_73); - fullAdd_x FA_5840_8984(int_51_73, int_50_73, int_42_73, int_44_73, int_51_72); - fullAdd_x FA_5840_9200(int_53_73, int_52_73, int_46_73, int_53_72, int_48_73); - fullAdd_x FA_5840_9416(int_55_73, int_54_73, int_50_73, int_55_72, int_52_73); - assign Sum[73] = int_57_72; - assign Carry[73] = int_54_73; - - // Hardware for column 74 - - r4bs r4bs_5920_0(yy[63], gnd, single[5], double[5], neg[5], pp_5_74); - halfAdd HA_5920_128(int_1_74, int_0_74, 1'b1, pp_5_74); - r4bs r4bs_5920_208(yy[61], yy[62], single[6], double[6], neg[6], pp_6_74); - r4bs r4bs_5920_336(yy[59], yy[60], single[7], double[7], neg[7], pp_7_74); - r4bs r4bs_5920_464(yy[57], yy[58], single[8], double[8], neg[8], pp_8_74); - fullAdd_x FA_5920_592(int_3_74, int_2_74, pp_6_74, pp_7_74, pp_8_74); - r4bs r4bs_5920_808(yy[55], yy[56], single[9], double[9], neg[9], pp_9_74); - r4bs r4bs_5920_936(yy[53], yy[54], single[10], double[10], neg[10], pp_10_74); - r4bs r4bs_5920_1064(yy[51], yy[52], single[11], double[11], neg[11], pp_11_74); - fullAdd_x FA_5920_1192(int_5_74, int_4_74, pp_9_74, pp_10_74, pp_11_74); - r4bs r4bs_5920_1408(yy[49], yy[50], single[12], double[12], neg[12], pp_12_74); - r4bs r4bs_5920_1536(yy[47], yy[48], single[13], double[13], neg[13], pp_13_74); - r4bs r4bs_5920_1664(yy[45], yy[46], single[14], double[14], neg[14], pp_14_74); - fullAdd_x FA_5920_1792(int_7_74, int_6_74, pp_12_74, pp_13_74, pp_14_74); - r4bs r4bs_5920_2008(yy[43], yy[44], single[15], double[15], neg[15], pp_15_74); - r4bs r4bs_5920_2136(yy[41], yy[42], single[16], double[16], neg[16], pp_16_74); - r4bs r4bs_5920_2264(yy[39], yy[40], single[17], double[17], neg[17], pp_17_74); - fullAdd_x FA_5920_2392(int_9_74, int_8_74, pp_15_74, pp_16_74, pp_17_74); - r4bs r4bs_5920_2608(yy[37], yy[38], single[18], double[18], neg[18], pp_18_74); - r4bs r4bs_5920_2736(yy[35], yy[36], single[19], double[19], neg[19], pp_19_74); - r4bs r4bs_5920_2864(yy[33], yy[34], single[20], double[20], neg[20], pp_20_74); - fullAdd_x FA_5920_2992(int_11_74, int_10_74, pp_18_74, pp_19_74, pp_20_74); - r4bs r4bs_5920_3208(yy[31], yy[32], single[21], double[21], neg[21], pp_21_74); - r4bs r4bs_5920_3336(yy[29], yy[30], single[22], double[22], neg[22], pp_22_74); - r4bs r4bs_5920_3464(yy[27], yy[28], single[23], double[23], neg[23], pp_23_74); - fullAdd_x FA_5920_3592(int_13_74, int_12_74, pp_21_74, pp_22_74, pp_23_74); - r4bs r4bs_5920_3808(yy[25], yy[26], single[24], double[24], neg[24], pp_24_74); - r4bs r4bs_5920_3936(yy[23], yy[24], single[25], double[25], neg[25], pp_25_74); - r4bs r4bs_5920_4064(yy[21], yy[22], single[26], double[26], neg[26], pp_26_74); - fullAdd_x FA_5920_4192(int_15_74, int_14_74, pp_24_74, pp_25_74, pp_26_74); - r4bs r4bs_5920_4408(yy[19], yy[20], single[27], double[27], neg[27], pp_27_74); - r4bs r4bs_5920_4536(yy[17], yy[18], single[28], double[28], neg[28], pp_28_74); - r4bs r4bs_5920_4664(yy[15], yy[16], single[29], double[29], neg[29], pp_29_74); - fullAdd_x FA_5920_4792(int_17_74, int_16_74, pp_27_74, pp_28_74, pp_29_74); - r4bs r4bs_5920_5008(yy[13], yy[14], single[30], double[30], neg[30], pp_30_74); - r4bs r4bs_5920_5136(yy[11], yy[12], single[31], double[31], neg[31], pp_31_74); - r4bs r4bs_5920_5264(yy[9], yy[10], single[32], double[32], neg[32], pp_32_74); - fullAdd_x FA_5920_5392(int_19_74, int_18_74, pp_30_74, pp_31_74, pp_32_74); - fullAdd_x FA_5920_5608(int_21_74, int_20_74, int_1_73, int_3_73, int_5_73); - fullAdd_x FA_5920_5824(int_23_74, int_22_74, int_7_73, int_9_73, int_11_73); - fullAdd_x FA_5920_6040(int_25_74, int_24_74, int_13_73, int_15_73, int_17_73); - fullAdd_x FA_5920_6256(int_27_74, int_26_74, int_0_74, int_19_73, int_21_73); - fullAdd_x FA_5920_6472(int_29_74, int_28_74, int_23_73, int_25_73, int_2_74); - fullAdd_x FA_5920_6688(int_31_74, int_30_74, int_4_74, int_6_74, int_8_74); - fullAdd_x FA_5920_6904(int_33_74, int_32_74, int_10_74, int_12_74, int_14_74); - fullAdd_x FA_5920_7120(int_35_74, int_34_74, int_16_74, int_18_74, int_27_73); - fullAdd_x FA_5920_7336(int_37_74, int_36_74, int_29_73, int_31_73, int_33_73); - fullAdd_x FA_5920_7552(int_39_74, int_38_74, int_20_74, int_22_74, int_24_74); - fullAdd_x FA_5920_7768(int_41_74, int_40_74, int_26_74, int_35_73, int_37_73); - fullAdd_x FA_5920_7984(int_43_74, int_42_74, int_39_73, int_28_74, int_30_74); - fullAdd_x FA_5920_8200(int_45_74, int_44_74, int_32_74, int_34_74, int_41_73); - fullAdd_x FA_5920_8416(int_47_74, int_46_74, int_43_73, int_36_74, int_38_74); - fullAdd_x FA_5920_8632(int_49_74, int_48_74, int_45_73, int_47_73, int_40_74); - fullAdd_x FA_5920_8848(int_51_74, int_50_74, int_42_74, int_44_74, int_49_73); - fullAdd_x FA_5920_9064(int_53_74, int_52_74, int_46_74, int_51_73, int_48_74); - fullAdd_x FA_5920_9280(int_55_74, int_54_74, int_50_74, int_53_73, int_52_74); - assign Sum[74] = int_55_73; - assign Carry[74] = int_54_74; - - // Hardware for column 75 - - r4bs r4bs_6000_0(yy[62], yy[63], single[6], double[6], neg[6], pp_6_75); - r4bs r4bs_6000_128(yy[60], yy[61], single[7], double[7], neg[7], pp_7_75); - fullAdd_x FA_6000_256(int_1_75, int_0_75, negbar[5], pp_6_75, pp_7_75); - r4bs r4bs_6000_472(yy[58], yy[59], single[8], double[8], neg[8], pp_8_75); - r4bs r4bs_6000_600(yy[56], yy[57], single[9], double[9], neg[9], pp_9_75); - r4bs r4bs_6000_728(yy[54], yy[55], single[10], double[10], neg[10], pp_10_75); - fullAdd_x FA_6000_856(int_3_75, int_2_75, pp_8_75, pp_9_75, pp_10_75); - r4bs r4bs_6000_1072(yy[52], yy[53], single[11], double[11], neg[11], pp_11_75); - r4bs r4bs_6000_1200(yy[50], yy[51], single[12], double[12], neg[12], pp_12_75); - r4bs r4bs_6000_1328(yy[48], yy[49], single[13], double[13], neg[13], pp_13_75); - fullAdd_x FA_6000_1456(int_5_75, int_4_75, pp_11_75, pp_12_75, pp_13_75); - r4bs r4bs_6000_1672(yy[46], yy[47], single[14], double[14], neg[14], pp_14_75); - r4bs r4bs_6000_1800(yy[44], yy[45], single[15], double[15], neg[15], pp_15_75); - r4bs r4bs_6000_1928(yy[42], yy[43], single[16], double[16], neg[16], pp_16_75); - fullAdd_x FA_6000_2056(int_7_75, int_6_75, pp_14_75, pp_15_75, pp_16_75); - r4bs r4bs_6000_2272(yy[40], yy[41], single[17], double[17], neg[17], pp_17_75); - r4bs r4bs_6000_2400(yy[38], yy[39], single[18], double[18], neg[18], pp_18_75); - r4bs r4bs_6000_2528(yy[36], yy[37], single[19], double[19], neg[19], pp_19_75); - fullAdd_x FA_6000_2656(int_9_75, int_8_75, pp_17_75, pp_18_75, pp_19_75); - r4bs r4bs_6000_2872(yy[34], yy[35], single[20], double[20], neg[20], pp_20_75); - r4bs r4bs_6000_3000(yy[32], yy[33], single[21], double[21], neg[21], pp_21_75); - r4bs r4bs_6000_3128(yy[30], yy[31], single[22], double[22], neg[22], pp_22_75); - fullAdd_x FA_6000_3256(int_11_75, int_10_75, pp_20_75, pp_21_75, pp_22_75); - r4bs r4bs_6000_3472(yy[28], yy[29], single[23], double[23], neg[23], pp_23_75); - r4bs r4bs_6000_3600(yy[26], yy[27], single[24], double[24], neg[24], pp_24_75); - r4bs r4bs_6000_3728(yy[24], yy[25], single[25], double[25], neg[25], pp_25_75); - fullAdd_x FA_6000_3856(int_13_75, int_12_75, pp_23_75, pp_24_75, pp_25_75); - r4bs r4bs_6000_4072(yy[22], yy[23], single[26], double[26], neg[26], pp_26_75); - r4bs r4bs_6000_4200(yy[20], yy[21], single[27], double[27], neg[27], pp_27_75); - r4bs r4bs_6000_4328(yy[18], yy[19], single[28], double[28], neg[28], pp_28_75); - fullAdd_x FA_6000_4456(int_15_75, int_14_75, pp_26_75, pp_27_75, pp_28_75); - r4bs r4bs_6000_4672(yy[16], yy[17], single[29], double[29], neg[29], pp_29_75); - r4bs r4bs_6000_4800(yy[14], yy[15], single[30], double[30], neg[30], pp_30_75); - r4bs r4bs_6000_4928(yy[12], yy[13], single[31], double[31], neg[31], pp_31_75); - fullAdd_x FA_6000_5056(int_17_75, int_16_75, pp_29_75, pp_30_75, pp_31_75); - r4bs r4bs_6000_5272(yy[10], yy[11], single[32], double[32], neg[32], pp_32_75); - fullAdd_x FA_6000_5400(int_19_75, int_18_75, pp_32_75, int_1_74, int_3_74); - fullAdd_x FA_6000_5616(int_21_75, int_20_75, int_5_74, int_7_74, int_9_74); - fullAdd_x FA_6000_5832(int_23_75, int_22_75, int_11_74, int_13_74, int_15_74); - fullAdd_x FA_6000_6048(int_25_75, int_24_75, int_17_74, int_19_74, int_21_74); - fullAdd_x FA_6000_6264(int_27_75, int_26_75, int_23_74, int_25_74, int_0_75); - fullAdd_x FA_6000_6480(int_29_75, int_28_75, int_2_75, int_4_75, int_6_75); - fullAdd_x FA_6000_6696(int_31_75, int_30_75, int_8_75, int_10_75, int_12_75); - fullAdd_x FA_6000_6912(int_33_75, int_32_75, int_14_75, int_16_75, int_18_75); - fullAdd_x FA_6000_7128(int_35_75, int_34_75, int_27_74, int_29_74, int_31_74); - fullAdd_x FA_6000_7344(int_37_75, int_36_75, int_33_74, int_20_75, int_22_75); - fullAdd_x FA_6000_7560(int_39_75, int_38_75, int_24_75, int_35_74, int_37_74); - fullAdd_x FA_6000_7776(int_41_75, int_40_75, int_39_74, int_26_75, int_28_75); - fullAdd_x FA_6000_7992(int_43_75, int_42_75, int_30_75, int_32_75, int_41_74); - fullAdd_x FA_6000_8208(int_45_75, int_44_75, int_43_74, int_34_75, int_36_75); - fullAdd_x FA_6000_8424(int_47_75, int_46_75, int_45_74, int_47_74, int_38_75); - fullAdd_x FA_6000_8640(int_49_75, int_48_75, int_40_75, int_42_75, int_49_74); - fullAdd_x FA_6000_8856(int_51_75, int_50_75, int_44_75, int_51_74, int_46_75); - fullAdd_x FA_6000_9072(int_53_75, int_52_75, int_48_75, int_53_74, int_50_75); - assign Sum[75] = int_55_74; - assign Carry[75] = int_52_75; - - // Hardware for column 76 - - r4bs r4bs_6080_0(yy[63], gnd, single[6], double[6], neg[6], pp_6_76); - halfAdd HA_6080_128(int_1_76, int_0_76, 1'b1, pp_6_76); - r4bs r4bs_6080_208(yy[61], yy[62], single[7], double[7], neg[7], pp_7_76); - r4bs r4bs_6080_336(yy[59], yy[60], single[8], double[8], neg[8], pp_8_76); - r4bs r4bs_6080_464(yy[57], yy[58], single[9], double[9], neg[9], pp_9_76); - fullAdd_x FA_6080_592(int_3_76, int_2_76, pp_7_76, pp_8_76, pp_9_76); - r4bs r4bs_6080_808(yy[55], yy[56], single[10], double[10], neg[10], pp_10_76); - r4bs r4bs_6080_936(yy[53], yy[54], single[11], double[11], neg[11], pp_11_76); - r4bs r4bs_6080_1064(yy[51], yy[52], single[12], double[12], neg[12], pp_12_76); - fullAdd_x FA_6080_1192(int_5_76, int_4_76, pp_10_76, pp_11_76, pp_12_76); - r4bs r4bs_6080_1408(yy[49], yy[50], single[13], double[13], neg[13], pp_13_76); - r4bs r4bs_6080_1536(yy[47], yy[48], single[14], double[14], neg[14], pp_14_76); - r4bs r4bs_6080_1664(yy[45], yy[46], single[15], double[15], neg[15], pp_15_76); - fullAdd_x FA_6080_1792(int_7_76, int_6_76, pp_13_76, pp_14_76, pp_15_76); - r4bs r4bs_6080_2008(yy[43], yy[44], single[16], double[16], neg[16], pp_16_76); - r4bs r4bs_6080_2136(yy[41], yy[42], single[17], double[17], neg[17], pp_17_76); - r4bs r4bs_6080_2264(yy[39], yy[40], single[18], double[18], neg[18], pp_18_76); - fullAdd_x FA_6080_2392(int_9_76, int_8_76, pp_16_76, pp_17_76, pp_18_76); - r4bs r4bs_6080_2608(yy[37], yy[38], single[19], double[19], neg[19], pp_19_76); - r4bs r4bs_6080_2736(yy[35], yy[36], single[20], double[20], neg[20], pp_20_76); - r4bs r4bs_6080_2864(yy[33], yy[34], single[21], double[21], neg[21], pp_21_76); - fullAdd_x FA_6080_2992(int_11_76, int_10_76, pp_19_76, pp_20_76, pp_21_76); - r4bs r4bs_6080_3208(yy[31], yy[32], single[22], double[22], neg[22], pp_22_76); - r4bs r4bs_6080_3336(yy[29], yy[30], single[23], double[23], neg[23], pp_23_76); - r4bs r4bs_6080_3464(yy[27], yy[28], single[24], double[24], neg[24], pp_24_76); - fullAdd_x FA_6080_3592(int_13_76, int_12_76, pp_22_76, pp_23_76, pp_24_76); - r4bs r4bs_6080_3808(yy[25], yy[26], single[25], double[25], neg[25], pp_25_76); - r4bs r4bs_6080_3936(yy[23], yy[24], single[26], double[26], neg[26], pp_26_76); - r4bs r4bs_6080_4064(yy[21], yy[22], single[27], double[27], neg[27], pp_27_76); - fullAdd_x FA_6080_4192(int_15_76, int_14_76, pp_25_76, pp_26_76, pp_27_76); - r4bs r4bs_6080_4408(yy[19], yy[20], single[28], double[28], neg[28], pp_28_76); - r4bs r4bs_6080_4536(yy[17], yy[18], single[29], double[29], neg[29], pp_29_76); - r4bs r4bs_6080_4664(yy[15], yy[16], single[30], double[30], neg[30], pp_30_76); - fullAdd_x FA_6080_4792(int_17_76, int_16_76, pp_28_76, pp_29_76, pp_30_76); - r4bs r4bs_6080_5008(yy[13], yy[14], single[31], double[31], neg[31], pp_31_76); - r4bs r4bs_6080_5136(yy[11], yy[12], single[32], double[32], neg[32], pp_32_76); - fullAdd_x FA_6080_5264(int_19_76, int_18_76, pp_31_76, pp_32_76, int_1_75); - fullAdd_x FA_6080_5480(int_21_76, int_20_76, int_3_75, int_5_75, int_7_75); - fullAdd_x FA_6080_5696(int_23_76, int_22_76, int_9_75, int_11_75, int_13_75); - fullAdd_x FA_6080_5912(int_25_76, int_24_76, int_15_75, int_17_75, int_0_76); - fullAdd_x FA_6080_6128(int_27_76, int_26_76, int_19_75, int_21_75, int_23_75); - fullAdd_x FA_6080_6344(int_29_76, int_28_76, int_2_76, int_4_76, int_6_76); - fullAdd_x FA_6080_6560(int_31_76, int_30_76, int_8_76, int_10_76, int_12_76); - fullAdd_x FA_6080_6776(int_33_76, int_32_76, int_14_76, int_16_76, int_18_76); - fullAdd_x FA_6080_6992(int_35_76, int_34_76, int_25_75, int_27_75, int_29_75); - fullAdd_x FA_6080_7208(int_37_76, int_36_76, int_31_75, int_20_76, int_22_76); - fullAdd_x FA_6080_7424(int_39_76, int_38_76, int_24_76, int_33_75, int_35_75); - fullAdd_x FA_6080_7640(int_41_76, int_40_76, int_37_75, int_26_76, int_28_76); - fullAdd_x FA_6080_7856(int_43_76, int_42_76, int_30_76, int_32_76, int_39_75); - fullAdd_x FA_6080_8072(int_45_76, int_44_76, int_41_75, int_34_76, int_36_76); - fullAdd_x FA_6080_8288(int_47_76, int_46_76, int_38_76, int_43_75, int_45_75); - fullAdd_x FA_6080_8504(int_49_76, int_48_76, int_40_76, int_42_76, int_47_75); - fullAdd_x FA_6080_8720(int_51_76, int_50_76, int_44_76, int_49_75, int_46_76); - fullAdd_x FA_6080_8936(int_53_76, int_52_76, int_48_76, int_51_75, int_50_76); - assign Sum[76] = int_53_75; - assign Carry[76] = int_52_76; - - // Hardware for column 77 - - r4bs r4bs_6160_0(yy[62], yy[63], single[7], double[7], neg[7], pp_7_77); - r4bs r4bs_6160_128(yy[60], yy[61], single[8], double[8], neg[8], pp_8_77); - fullAdd_x FA_6160_256(int_1_77, int_0_77, negbar[6], pp_7_77, pp_8_77); - r4bs r4bs_6160_472(yy[58], yy[59], single[9], double[9], neg[9], pp_9_77); - r4bs r4bs_6160_600(yy[56], yy[57], single[10], double[10], neg[10], pp_10_77); - r4bs r4bs_6160_728(yy[54], yy[55], single[11], double[11], neg[11], pp_11_77); - fullAdd_x FA_6160_856(int_3_77, int_2_77, pp_9_77, pp_10_77, pp_11_77); - r4bs r4bs_6160_1072(yy[52], yy[53], single[12], double[12], neg[12], pp_12_77); - r4bs r4bs_6160_1200(yy[50], yy[51], single[13], double[13], neg[13], pp_13_77); - r4bs r4bs_6160_1328(yy[48], yy[49], single[14], double[14], neg[14], pp_14_77); - fullAdd_x FA_6160_1456(int_5_77, int_4_77, pp_12_77, pp_13_77, pp_14_77); - r4bs r4bs_6160_1672(yy[46], yy[47], single[15], double[15], neg[15], pp_15_77); - r4bs r4bs_6160_1800(yy[44], yy[45], single[16], double[16], neg[16], pp_16_77); - r4bs r4bs_6160_1928(yy[42], yy[43], single[17], double[17], neg[17], pp_17_77); - fullAdd_x FA_6160_2056(int_7_77, int_6_77, pp_15_77, pp_16_77, pp_17_77); - r4bs r4bs_6160_2272(yy[40], yy[41], single[18], double[18], neg[18], pp_18_77); - r4bs r4bs_6160_2400(yy[38], yy[39], single[19], double[19], neg[19], pp_19_77); - r4bs r4bs_6160_2528(yy[36], yy[37], single[20], double[20], neg[20], pp_20_77); - fullAdd_x FA_6160_2656(int_9_77, int_8_77, pp_18_77, pp_19_77, pp_20_77); - r4bs r4bs_6160_2872(yy[34], yy[35], single[21], double[21], neg[21], pp_21_77); - r4bs r4bs_6160_3000(yy[32], yy[33], single[22], double[22], neg[22], pp_22_77); - r4bs r4bs_6160_3128(yy[30], yy[31], single[23], double[23], neg[23], pp_23_77); - fullAdd_x FA_6160_3256(int_11_77, int_10_77, pp_21_77, pp_22_77, pp_23_77); - r4bs r4bs_6160_3472(yy[28], yy[29], single[24], double[24], neg[24], pp_24_77); - r4bs r4bs_6160_3600(yy[26], yy[27], single[25], double[25], neg[25], pp_25_77); - r4bs r4bs_6160_3728(yy[24], yy[25], single[26], double[26], neg[26], pp_26_77); - fullAdd_x FA_6160_3856(int_13_77, int_12_77, pp_24_77, pp_25_77, pp_26_77); - r4bs r4bs_6160_4072(yy[22], yy[23], single[27], double[27], neg[27], pp_27_77); - r4bs r4bs_6160_4200(yy[20], yy[21], single[28], double[28], neg[28], pp_28_77); - r4bs r4bs_6160_4328(yy[18], yy[19], single[29], double[29], neg[29], pp_29_77); - fullAdd_x FA_6160_4456(int_15_77, int_14_77, pp_27_77, pp_28_77, pp_29_77); - r4bs r4bs_6160_4672(yy[16], yy[17], single[30], double[30], neg[30], pp_30_77); - r4bs r4bs_6160_4800(yy[14], yy[15], single[31], double[31], neg[31], pp_31_77); - r4bs r4bs_6160_4928(yy[12], yy[13], single[32], double[32], neg[32], pp_32_77); - fullAdd_x FA_6160_5056(int_17_77, int_16_77, pp_30_77, pp_31_77, pp_32_77); - fullAdd_x FA_6160_5272(int_19_77, int_18_77, int_1_76, int_3_76, int_5_76); - fullAdd_x FA_6160_5488(int_21_77, int_20_77, int_7_76, int_9_76, int_11_76); - fullAdd_x FA_6160_5704(int_23_77, int_22_77, int_13_76, int_15_76, int_17_76); - fullAdd_x FA_6160_5920(int_25_77, int_24_77, int_19_76, int_21_76, int_23_76); - fullAdd_x FA_6160_6136(int_27_77, int_26_77, int_25_76, int_0_77, int_2_77); - fullAdd_x FA_6160_6352(int_29_77, int_28_77, int_4_77, int_6_77, int_8_77); - fullAdd_x FA_6160_6568(int_31_77, int_30_77, int_10_77, int_12_77, int_14_77); - fullAdd_x FA_6160_6784(int_33_77, int_32_77, int_16_77, int_27_76, int_29_76); - fullAdd_x FA_6160_7000(int_35_77, int_34_77, int_31_76, int_33_76, int_18_77); - fullAdd_x FA_6160_7216(int_37_77, int_36_77, int_20_77, int_22_77, int_35_76); - fullAdd_x FA_6160_7432(int_39_77, int_38_77, int_37_76, int_24_77, int_26_77); - fullAdd_x FA_6160_7648(int_41_77, int_40_77, int_28_77, int_30_77, int_39_76); - fullAdd_x FA_6160_7864(int_43_77, int_42_77, int_41_76, int_32_77, int_34_77); - fullAdd_x FA_6160_8080(int_45_77, int_44_77, int_36_77, int_43_76, int_45_76); - fullAdd_x FA_6160_8296(int_47_77, int_46_77, int_38_77, int_40_77, int_47_76); - fullAdd_x FA_6160_8512(int_49_77, int_48_77, int_42_77, int_49_76, int_44_77); - fullAdd_x FA_6160_8728(int_51_77, int_50_77, int_46_77, int_51_76, int_48_77); - assign Sum[77] = int_53_76; - assign Carry[77] = int_50_77; - - // Hardware for column 78 - - r4bs r4bs_6240_0(yy[63], gnd, single[7], double[7], neg[7], pp_7_78); - halfAdd HA_6240_128(int_1_78, int_0_78, 1'b1, pp_7_78); - r4bs r4bs_6240_208(yy[61], yy[62], single[8], double[8], neg[8], pp_8_78); - r4bs r4bs_6240_336(yy[59], yy[60], single[9], double[9], neg[9], pp_9_78); - r4bs r4bs_6240_464(yy[57], yy[58], single[10], double[10], neg[10], pp_10_78); - fullAdd_x FA_6240_592(int_3_78, int_2_78, pp_8_78, pp_9_78, pp_10_78); - r4bs r4bs_6240_808(yy[55], yy[56], single[11], double[11], neg[11], pp_11_78); - r4bs r4bs_6240_936(yy[53], yy[54], single[12], double[12], neg[12], pp_12_78); - r4bs r4bs_6240_1064(yy[51], yy[52], single[13], double[13], neg[13], pp_13_78); - fullAdd_x FA_6240_1192(int_5_78, int_4_78, pp_11_78, pp_12_78, pp_13_78); - r4bs r4bs_6240_1408(yy[49], yy[50], single[14], double[14], neg[14], pp_14_78); - r4bs r4bs_6240_1536(yy[47], yy[48], single[15], double[15], neg[15], pp_15_78); - r4bs r4bs_6240_1664(yy[45], yy[46], single[16], double[16], neg[16], pp_16_78); - fullAdd_x FA_6240_1792(int_7_78, int_6_78, pp_14_78, pp_15_78, pp_16_78); - r4bs r4bs_6240_2008(yy[43], yy[44], single[17], double[17], neg[17], pp_17_78); - r4bs r4bs_6240_2136(yy[41], yy[42], single[18], double[18], neg[18], pp_18_78); - r4bs r4bs_6240_2264(yy[39], yy[40], single[19], double[19], neg[19], pp_19_78); - fullAdd_x FA_6240_2392(int_9_78, int_8_78, pp_17_78, pp_18_78, pp_19_78); - r4bs r4bs_6240_2608(yy[37], yy[38], single[20], double[20], neg[20], pp_20_78); - r4bs r4bs_6240_2736(yy[35], yy[36], single[21], double[21], neg[21], pp_21_78); - r4bs r4bs_6240_2864(yy[33], yy[34], single[22], double[22], neg[22], pp_22_78); - fullAdd_x FA_6240_2992(int_11_78, int_10_78, pp_20_78, pp_21_78, pp_22_78); - r4bs r4bs_6240_3208(yy[31], yy[32], single[23], double[23], neg[23], pp_23_78); - r4bs r4bs_6240_3336(yy[29], yy[30], single[24], double[24], neg[24], pp_24_78); - r4bs r4bs_6240_3464(yy[27], yy[28], single[25], double[25], neg[25], pp_25_78); - fullAdd_x FA_6240_3592(int_13_78, int_12_78, pp_23_78, pp_24_78, pp_25_78); - r4bs r4bs_6240_3808(yy[25], yy[26], single[26], double[26], neg[26], pp_26_78); - r4bs r4bs_6240_3936(yy[23], yy[24], single[27], double[27], neg[27], pp_27_78); - r4bs r4bs_6240_4064(yy[21], yy[22], single[28], double[28], neg[28], pp_28_78); - fullAdd_x FA_6240_4192(int_15_78, int_14_78, pp_26_78, pp_27_78, pp_28_78); - r4bs r4bs_6240_4408(yy[19], yy[20], single[29], double[29], neg[29], pp_29_78); - r4bs r4bs_6240_4536(yy[17], yy[18], single[30], double[30], neg[30], pp_30_78); - r4bs r4bs_6240_4664(yy[15], yy[16], single[31], double[31], neg[31], pp_31_78); - fullAdd_x FA_6240_4792(int_17_78, int_16_78, pp_29_78, pp_30_78, pp_31_78); - r4bs r4bs_6240_5008(yy[13], yy[14], single[32], double[32], neg[32], pp_32_78); - fullAdd_x FA_6240_5136(int_19_78, int_18_78, pp_32_78, int_1_77, int_3_77); - fullAdd_x FA_6240_5352(int_21_78, int_20_78, int_5_77, int_7_77, int_9_77); - fullAdd_x FA_6240_5568(int_23_78, int_22_78, int_11_77, int_13_77, int_15_77); - fullAdd_x FA_6240_5784(int_25_78, int_24_78, int_17_77, int_0_78, int_19_77); - fullAdd_x FA_6240_6000(int_27_78, int_26_78, int_21_77, int_23_77, int_2_78); - fullAdd_x FA_6240_6216(int_29_78, int_28_78, int_4_78, int_6_78, int_8_78); - fullAdd_x FA_6240_6432(int_31_78, int_30_78, int_10_78, int_12_78, int_14_78); - fullAdd_x FA_6240_6648(int_33_78, int_32_78, int_16_78, int_25_77, int_27_77); - fullAdd_x FA_6240_6864(int_35_78, int_34_78, int_29_77, int_31_77, int_18_78); - fullAdd_x FA_6240_7080(int_37_78, int_36_78, int_20_78, int_22_78, int_24_78); - fullAdd_x FA_6240_7296(int_39_78, int_38_78, int_33_77, int_35_77, int_26_78); - fullAdd_x FA_6240_7512(int_41_78, int_40_78, int_28_78, int_30_78, int_37_77); - fullAdd_x FA_6240_7728(int_43_78, int_42_78, int_39_77, int_32_78, int_34_78); - fullAdd_x FA_6240_7944(int_45_78, int_44_78, int_36_78, int_41_77, int_43_77); - fullAdd_x FA_6240_8160(int_47_78, int_46_78, int_38_78, int_40_78, int_45_77); - fullAdd_x FA_6240_8376(int_49_78, int_48_78, int_42_78, int_47_77, int_44_78); - fullAdd_x FA_6240_8592(int_51_78, int_50_78, int_46_78, int_49_77, int_48_78); - assign Sum[78] = int_51_77; - assign Carry[78] = int_50_78; - - // Hardware for column 79 - - r4bs r4bs_6320_0(yy[62], yy[63], single[8], double[8], neg[8], pp_8_79); - r4bs r4bs_6320_128(yy[60], yy[61], single[9], double[9], neg[9], pp_9_79); - fullAdd_x FA_6320_256(int_1_79, int_0_79, negbar[7], pp_8_79, pp_9_79); - r4bs r4bs_6320_472(yy[58], yy[59], single[10], double[10], neg[10], pp_10_79); - r4bs r4bs_6320_600(yy[56], yy[57], single[11], double[11], neg[11], pp_11_79); - r4bs r4bs_6320_728(yy[54], yy[55], single[12], double[12], neg[12], pp_12_79); - fullAdd_x FA_6320_856(int_3_79, int_2_79, pp_10_79, pp_11_79, pp_12_79); - r4bs r4bs_6320_1072(yy[52], yy[53], single[13], double[13], neg[13], pp_13_79); - r4bs r4bs_6320_1200(yy[50], yy[51], single[14], double[14], neg[14], pp_14_79); - r4bs r4bs_6320_1328(yy[48], yy[49], single[15], double[15], neg[15], pp_15_79); - fullAdd_x FA_6320_1456(int_5_79, int_4_79, pp_13_79, pp_14_79, pp_15_79); - r4bs r4bs_6320_1672(yy[46], yy[47], single[16], double[16], neg[16], pp_16_79); - r4bs r4bs_6320_1800(yy[44], yy[45], single[17], double[17], neg[17], pp_17_79); - r4bs r4bs_6320_1928(yy[42], yy[43], single[18], double[18], neg[18], pp_18_79); - fullAdd_x FA_6320_2056(int_7_79, int_6_79, pp_16_79, pp_17_79, pp_18_79); - r4bs r4bs_6320_2272(yy[40], yy[41], single[19], double[19], neg[19], pp_19_79); - r4bs r4bs_6320_2400(yy[38], yy[39], single[20], double[20], neg[20], pp_20_79); - r4bs r4bs_6320_2528(yy[36], yy[37], single[21], double[21], neg[21], pp_21_79); - fullAdd_x FA_6320_2656(int_9_79, int_8_79, pp_19_79, pp_20_79, pp_21_79); - r4bs r4bs_6320_2872(yy[34], yy[35], single[22], double[22], neg[22], pp_22_79); - r4bs r4bs_6320_3000(yy[32], yy[33], single[23], double[23], neg[23], pp_23_79); - r4bs r4bs_6320_3128(yy[30], yy[31], single[24], double[24], neg[24], pp_24_79); - fullAdd_x FA_6320_3256(int_11_79, int_10_79, pp_22_79, pp_23_79, pp_24_79); - r4bs r4bs_6320_3472(yy[28], yy[29], single[25], double[25], neg[25], pp_25_79); - r4bs r4bs_6320_3600(yy[26], yy[27], single[26], double[26], neg[26], pp_26_79); - r4bs r4bs_6320_3728(yy[24], yy[25], single[27], double[27], neg[27], pp_27_79); - fullAdd_x FA_6320_3856(int_13_79, int_12_79, pp_25_79, pp_26_79, pp_27_79); - r4bs r4bs_6320_4072(yy[22], yy[23], single[28], double[28], neg[28], pp_28_79); - r4bs r4bs_6320_4200(yy[20], yy[21], single[29], double[29], neg[29], pp_29_79); - r4bs r4bs_6320_4328(yy[18], yy[19], single[30], double[30], neg[30], pp_30_79); - fullAdd_x FA_6320_4456(int_15_79, int_14_79, pp_28_79, pp_29_79, pp_30_79); - r4bs r4bs_6320_4672(yy[16], yy[17], single[31], double[31], neg[31], pp_31_79); - r4bs r4bs_6320_4800(yy[14], yy[15], single[32], double[32], neg[32], pp_32_79); - fullAdd_x FA_6320_4928(int_17_79, int_16_79, pp_31_79, pp_32_79, int_1_78); - fullAdd_x FA_6320_5144(int_19_79, int_18_79, int_3_78, int_5_78, int_7_78); - fullAdd_x FA_6320_5360(int_21_79, int_20_79, int_9_78, int_11_78, int_13_78); - fullAdd_x FA_6320_5576(int_23_79, int_22_79, int_15_78, int_17_78, int_19_78); - fullAdd_x FA_6320_5792(int_25_79, int_24_79, int_21_78, int_23_78, int_0_79); - fullAdd_x FA_6320_6008(int_27_79, int_26_79, int_2_79, int_4_79, int_6_79); - fullAdd_x FA_6320_6224(int_29_79, int_28_79, int_8_79, int_10_79, int_12_79); - fullAdd_x FA_6320_6440(int_31_79, int_30_79, int_14_79, int_16_79, int_25_78); - fullAdd_x FA_6320_6656(int_33_79, int_32_79, int_27_78, int_29_78, int_31_78); - fullAdd_x FA_6320_6872(int_35_79, int_34_79, int_18_79, int_20_79, int_22_79); - fullAdd_x FA_6320_7088(int_37_79, int_36_79, int_33_78, int_35_78, int_37_78); - fullAdd_x FA_6320_7304(int_39_79, int_38_79, int_24_79, int_26_79, int_28_79); - fullAdd_x FA_6320_7520(int_41_79, int_40_79, int_30_79, int_39_78, int_32_79); - fullAdd_x FA_6320_7736(int_43_79, int_42_79, int_34_79, int_41_78, int_43_78); - fullAdd_x FA_6320_7952(int_45_79, int_44_79, int_36_79, int_38_79, int_45_78); - fullAdd_x FA_6320_8168(int_47_79, int_46_79, int_40_79, int_47_78, int_42_79); - fullAdd_x FA_6320_8384(int_49_79, int_48_79, int_44_79, int_49_78, int_46_79); - assign Sum[79] = int_51_78; - assign Carry[79] = int_48_79; - - // Hardware for column 80 - - r4bs r4bs_6400_0(yy[63], gnd, single[8], double[8], neg[8], pp_8_80); - halfAdd HA_6400_128(int_1_80, int_0_80, 1'b1, pp_8_80); - r4bs r4bs_6400_208(yy[61], yy[62], single[9], double[9], neg[9], pp_9_80); - r4bs r4bs_6400_336(yy[59], yy[60], single[10], double[10], neg[10], pp_10_80); - r4bs r4bs_6400_464(yy[57], yy[58], single[11], double[11], neg[11], pp_11_80); - fullAdd_x FA_6400_592(int_3_80, int_2_80, pp_9_80, pp_10_80, pp_11_80); - r4bs r4bs_6400_808(yy[55], yy[56], single[12], double[12], neg[12], pp_12_80); - r4bs r4bs_6400_936(yy[53], yy[54], single[13], double[13], neg[13], pp_13_80); - r4bs r4bs_6400_1064(yy[51], yy[52], single[14], double[14], neg[14], pp_14_80); - fullAdd_x FA_6400_1192(int_5_80, int_4_80, pp_12_80, pp_13_80, pp_14_80); - r4bs r4bs_6400_1408(yy[49], yy[50], single[15], double[15], neg[15], pp_15_80); - r4bs r4bs_6400_1536(yy[47], yy[48], single[16], double[16], neg[16], pp_16_80); - r4bs r4bs_6400_1664(yy[45], yy[46], single[17], double[17], neg[17], pp_17_80); - fullAdd_x FA_6400_1792(int_7_80, int_6_80, pp_15_80, pp_16_80, pp_17_80); - r4bs r4bs_6400_2008(yy[43], yy[44], single[18], double[18], neg[18], pp_18_80); - r4bs r4bs_6400_2136(yy[41], yy[42], single[19], double[19], neg[19], pp_19_80); - r4bs r4bs_6400_2264(yy[39], yy[40], single[20], double[20], neg[20], pp_20_80); - fullAdd_x FA_6400_2392(int_9_80, int_8_80, pp_18_80, pp_19_80, pp_20_80); - r4bs r4bs_6400_2608(yy[37], yy[38], single[21], double[21], neg[21], pp_21_80); - r4bs r4bs_6400_2736(yy[35], yy[36], single[22], double[22], neg[22], pp_22_80); - r4bs r4bs_6400_2864(yy[33], yy[34], single[23], double[23], neg[23], pp_23_80); - fullAdd_x FA_6400_2992(int_11_80, int_10_80, pp_21_80, pp_22_80, pp_23_80); - r4bs r4bs_6400_3208(yy[31], yy[32], single[24], double[24], neg[24], pp_24_80); - r4bs r4bs_6400_3336(yy[29], yy[30], single[25], double[25], neg[25], pp_25_80); - r4bs r4bs_6400_3464(yy[27], yy[28], single[26], double[26], neg[26], pp_26_80); - fullAdd_x FA_6400_3592(int_13_80, int_12_80, pp_24_80, pp_25_80, pp_26_80); - r4bs r4bs_6400_3808(yy[25], yy[26], single[27], double[27], neg[27], pp_27_80); - r4bs r4bs_6400_3936(yy[23], yy[24], single[28], double[28], neg[28], pp_28_80); - r4bs r4bs_6400_4064(yy[21], yy[22], single[29], double[29], neg[29], pp_29_80); - fullAdd_x FA_6400_4192(int_15_80, int_14_80, pp_27_80, pp_28_80, pp_29_80); - r4bs r4bs_6400_4408(yy[19], yy[20], single[30], double[30], neg[30], pp_30_80); - r4bs r4bs_6400_4536(yy[17], yy[18], single[31], double[31], neg[31], pp_31_80); - r4bs r4bs_6400_4664(yy[15], yy[16], single[32], double[32], neg[32], pp_32_80); - fullAdd_x FA_6400_4792(int_17_80, int_16_80, pp_30_80, pp_31_80, pp_32_80); - fullAdd_x FA_6400_5008(int_19_80, int_18_80, int_1_79, int_3_79, int_5_79); - fullAdd_x FA_6400_5224(int_21_80, int_20_80, int_7_79, int_9_79, int_11_79); - fullAdd_x FA_6400_5440(int_23_80, int_22_80, int_13_79, int_15_79, int_0_80); - fullAdd_x FA_6400_5656(int_25_80, int_24_80, int_17_79, int_19_79, int_21_79); - fullAdd_x FA_6400_5872(int_27_80, int_26_80, int_2_80, int_4_80, int_6_80); - fullAdd_x FA_6400_6088(int_29_80, int_28_80, int_8_80, int_10_80, int_12_80); - fullAdd_x FA_6400_6304(int_31_80, int_30_80, int_14_80, int_16_80, int_23_79); - fullAdd_x FA_6400_6520(int_33_80, int_32_80, int_25_79, int_27_79, int_29_79); - fullAdd_x FA_6400_6736(int_35_80, int_34_80, int_18_80, int_20_80, int_22_80); - fullAdd_x FA_6400_6952(int_37_80, int_36_80, int_31_79, int_33_79, int_35_79); - fullAdd_x FA_6400_7168(int_39_80, int_38_80, int_24_80, int_26_80, int_28_80); - fullAdd_x FA_6400_7384(int_41_80, int_40_80, int_30_80, int_37_79, int_39_79); - fullAdd_x FA_6400_7600(int_43_80, int_42_80, int_32_80, int_34_80, int_41_79); - fullAdd_x FA_6400_7816(int_45_80, int_44_80, int_36_80, int_38_80, int_43_79); - fullAdd_x FA_6400_8032(int_47_80, int_46_80, int_40_80, int_42_80, int_45_79); - fullAdd_x FA_6400_8248(int_49_80, int_48_80, int_44_80, int_47_79, int_46_80); - assign Sum[80] = int_49_79; - assign Carry[80] = int_48_80; - - // Hardware for column 81 - - r4bs r4bs_6480_0(yy[62], yy[63], single[9], double[9], neg[9], pp_9_81); - r4bs r4bs_6480_128(yy[60], yy[61], single[10], double[10], neg[10], pp_10_81); - fullAdd_x FA_6480_256(int_1_81, int_0_81, negbar[8], pp_9_81, pp_10_81); - r4bs r4bs_6480_472(yy[58], yy[59], single[11], double[11], neg[11], pp_11_81); - r4bs r4bs_6480_600(yy[56], yy[57], single[12], double[12], neg[12], pp_12_81); - r4bs r4bs_6480_728(yy[54], yy[55], single[13], double[13], neg[13], pp_13_81); - fullAdd_x FA_6480_856(int_3_81, int_2_81, pp_11_81, pp_12_81, pp_13_81); - r4bs r4bs_6480_1072(yy[52], yy[53], single[14], double[14], neg[14], pp_14_81); - r4bs r4bs_6480_1200(yy[50], yy[51], single[15], double[15], neg[15], pp_15_81); - r4bs r4bs_6480_1328(yy[48], yy[49], single[16], double[16], neg[16], pp_16_81); - fullAdd_x FA_6480_1456(int_5_81, int_4_81, pp_14_81, pp_15_81, pp_16_81); - r4bs r4bs_6480_1672(yy[46], yy[47], single[17], double[17], neg[17], pp_17_81); - r4bs r4bs_6480_1800(yy[44], yy[45], single[18], double[18], neg[18], pp_18_81); - r4bs r4bs_6480_1928(yy[42], yy[43], single[19], double[19], neg[19], pp_19_81); - fullAdd_x FA_6480_2056(int_7_81, int_6_81, pp_17_81, pp_18_81, pp_19_81); - r4bs r4bs_6480_2272(yy[40], yy[41], single[20], double[20], neg[20], pp_20_81); - r4bs r4bs_6480_2400(yy[38], yy[39], single[21], double[21], neg[21], pp_21_81); - r4bs r4bs_6480_2528(yy[36], yy[37], single[22], double[22], neg[22], pp_22_81); - fullAdd_x FA_6480_2656(int_9_81, int_8_81, pp_20_81, pp_21_81, pp_22_81); - r4bs r4bs_6480_2872(yy[34], yy[35], single[23], double[23], neg[23], pp_23_81); - r4bs r4bs_6480_3000(yy[32], yy[33], single[24], double[24], neg[24], pp_24_81); - r4bs r4bs_6480_3128(yy[30], yy[31], single[25], double[25], neg[25], pp_25_81); - fullAdd_x FA_6480_3256(int_11_81, int_10_81, pp_23_81, pp_24_81, pp_25_81); - r4bs r4bs_6480_3472(yy[28], yy[29], single[26], double[26], neg[26], pp_26_81); - r4bs r4bs_6480_3600(yy[26], yy[27], single[27], double[27], neg[27], pp_27_81); - r4bs r4bs_6480_3728(yy[24], yy[25], single[28], double[28], neg[28], pp_28_81); - fullAdd_x FA_6480_3856(int_13_81, int_12_81, pp_26_81, pp_27_81, pp_28_81); - r4bs r4bs_6480_4072(yy[22], yy[23], single[29], double[29], neg[29], pp_29_81); - r4bs r4bs_6480_4200(yy[20], yy[21], single[30], double[30], neg[30], pp_30_81); - r4bs r4bs_6480_4328(yy[18], yy[19], single[31], double[31], neg[31], pp_31_81); - fullAdd_x FA_6480_4456(int_15_81, int_14_81, pp_29_81, pp_30_81, pp_31_81); - r4bs r4bs_6480_4672(yy[16], yy[17], single[32], double[32], neg[32], pp_32_81); - fullAdd_x FA_6480_4800(int_17_81, int_16_81, pp_32_81, int_1_80, int_3_80); - fullAdd_x FA_6480_5016(int_19_81, int_18_81, int_5_80, int_7_80, int_9_80); - fullAdd_x FA_6480_5232(int_21_81, int_20_81, int_11_80, int_13_80, int_15_80); - fullAdd_x FA_6480_5448(int_23_81, int_22_81, int_17_80, int_19_80, int_21_80); - fullAdd_x FA_6480_5664(int_25_81, int_24_81, int_23_80, int_0_81, int_2_81); - fullAdd_x FA_6480_5880(int_27_81, int_26_81, int_4_81, int_6_81, int_8_81); - fullAdd_x FA_6480_6096(int_29_81, int_28_81, int_10_81, int_12_81, int_14_81); - fullAdd_x FA_6480_6312(int_31_81, int_30_81, int_16_81, int_25_80, int_27_80); - fullAdd_x FA_6480_6528(int_33_81, int_32_81, int_29_80, int_18_81, int_20_81); - fullAdd_x FA_6480_6744(int_35_81, int_34_81, int_31_80, int_33_80, int_35_80); - fullAdd_x FA_6480_6960(int_37_81, int_36_81, int_22_81, int_24_81, int_26_81); - fullAdd_x FA_6480_7176(int_39_81, int_38_81, int_28_81, int_37_80, int_39_80); - fullAdd_x FA_6480_7392(int_41_81, int_40_81, int_30_81, int_32_81, int_41_80); - fullAdd_x FA_6480_7608(int_43_81, int_42_81, int_34_81, int_36_81, int_43_80); - fullAdd_x FA_6480_7824(int_45_81, int_44_81, int_38_81, int_40_81, int_45_80); - fullAdd_x FA_6480_8040(int_47_81, int_46_81, int_42_81, int_47_80, int_44_81); - assign Sum[81] = int_49_80; - assign Carry[81] = int_46_81; - - // Hardware for column 82 - - r4bs r4bs_6560_0(yy[63], gnd, single[9], double[9], neg[9], pp_9_82); - halfAdd HA_6560_128(int_1_82, int_0_82, 1'b1, pp_9_82); - r4bs r4bs_6560_208(yy[61], yy[62], single[10], double[10], neg[10], pp_10_82); - r4bs r4bs_6560_336(yy[59], yy[60], single[11], double[11], neg[11], pp_11_82); - r4bs r4bs_6560_464(yy[57], yy[58], single[12], double[12], neg[12], pp_12_82); - fullAdd_x FA_6560_592(int_3_82, int_2_82, pp_10_82, pp_11_82, pp_12_82); - r4bs r4bs_6560_808(yy[55], yy[56], single[13], double[13], neg[13], pp_13_82); - r4bs r4bs_6560_936(yy[53], yy[54], single[14], double[14], neg[14], pp_14_82); - r4bs r4bs_6560_1064(yy[51], yy[52], single[15], double[15], neg[15], pp_15_82); - fullAdd_x FA_6560_1192(int_5_82, int_4_82, pp_13_82, pp_14_82, pp_15_82); - r4bs r4bs_6560_1408(yy[49], yy[50], single[16], double[16], neg[16], pp_16_82); - r4bs r4bs_6560_1536(yy[47], yy[48], single[17], double[17], neg[17], pp_17_82); - r4bs r4bs_6560_1664(yy[45], yy[46], single[18], double[18], neg[18], pp_18_82); - fullAdd_x FA_6560_1792(int_7_82, int_6_82, pp_16_82, pp_17_82, pp_18_82); - r4bs r4bs_6560_2008(yy[43], yy[44], single[19], double[19], neg[19], pp_19_82); - r4bs r4bs_6560_2136(yy[41], yy[42], single[20], double[20], neg[20], pp_20_82); - r4bs r4bs_6560_2264(yy[39], yy[40], single[21], double[21], neg[21], pp_21_82); - fullAdd_x FA_6560_2392(int_9_82, int_8_82, pp_19_82, pp_20_82, pp_21_82); - r4bs r4bs_6560_2608(yy[37], yy[38], single[22], double[22], neg[22], pp_22_82); - r4bs r4bs_6560_2736(yy[35], yy[36], single[23], double[23], neg[23], pp_23_82); - r4bs r4bs_6560_2864(yy[33], yy[34], single[24], double[24], neg[24], pp_24_82); - fullAdd_x FA_6560_2992(int_11_82, int_10_82, pp_22_82, pp_23_82, pp_24_82); - r4bs r4bs_6560_3208(yy[31], yy[32], single[25], double[25], neg[25], pp_25_82); - r4bs r4bs_6560_3336(yy[29], yy[30], single[26], double[26], neg[26], pp_26_82); - r4bs r4bs_6560_3464(yy[27], yy[28], single[27], double[27], neg[27], pp_27_82); - fullAdd_x FA_6560_3592(int_13_82, int_12_82, pp_25_82, pp_26_82, pp_27_82); - r4bs r4bs_6560_3808(yy[25], yy[26], single[28], double[28], neg[28], pp_28_82); - r4bs r4bs_6560_3936(yy[23], yy[24], single[29], double[29], neg[29], pp_29_82); - r4bs r4bs_6560_4064(yy[21], yy[22], single[30], double[30], neg[30], pp_30_82); - fullAdd_x FA_6560_4192(int_15_82, int_14_82, pp_28_82, pp_29_82, pp_30_82); - r4bs r4bs_6560_4408(yy[19], yy[20], single[31], double[31], neg[31], pp_31_82); - r4bs r4bs_6560_4536(yy[17], yy[18], single[32], double[32], neg[32], pp_32_82); - fullAdd_x FA_6560_4664(int_17_82, int_16_82, pp_31_82, pp_32_82, int_1_81); - fullAdd_x FA_6560_4880(int_19_82, int_18_82, int_3_81, int_5_81, int_7_81); - fullAdd_x FA_6560_5096(int_21_82, int_20_82, int_9_81, int_11_81, int_13_81); - fullAdd_x FA_6560_5312(int_23_82, int_22_82, int_15_81, int_0_82, int_17_81); - fullAdd_x FA_6560_5528(int_25_82, int_24_82, int_19_81, int_21_81, int_2_82); - fullAdd_x FA_6560_5744(int_27_82, int_26_82, int_4_82, int_6_82, int_8_82); - fullAdd_x FA_6560_5960(int_29_82, int_28_82, int_10_82, int_12_82, int_14_82); - fullAdd_x FA_6560_6176(int_31_82, int_30_82, int_16_82, int_23_81, int_25_81); - fullAdd_x FA_6560_6392(int_33_82, int_32_82, int_27_81, int_29_81, int_18_82); - fullAdd_x FA_6560_6608(int_35_82, int_34_82, int_20_82, int_22_82, int_31_81); - fullAdd_x FA_6560_6824(int_37_82, int_36_82, int_33_81, int_24_82, int_26_82); - fullAdd_x FA_6560_7040(int_39_82, int_38_82, int_28_82, int_35_81, int_37_81); - fullAdd_x FA_6560_7256(int_41_82, int_40_82, int_30_82, int_32_82, int_34_82); - fullAdd_x FA_6560_7472(int_43_82, int_42_82, int_39_81, int_36_82, int_41_81); - fullAdd_x FA_6560_7688(int_45_82, int_44_82, int_38_82, int_40_82, int_43_81); - fullAdd_x FA_6560_7904(int_47_82, int_46_82, int_42_82, int_45_81, int_44_82); - assign Sum[82] = int_47_81; - assign Carry[82] = int_46_82; - - // Hardware for column 83 - - r4bs r4bs_6640_0(yy[62], yy[63], single[10], double[10], neg[10], pp_10_83); - r4bs r4bs_6640_128(yy[60], yy[61], single[11], double[11], neg[11], pp_11_83); - fullAdd_x FA_6640_256(int_1_83, int_0_83, negbar[9], pp_10_83, pp_11_83); - r4bs r4bs_6640_472(yy[58], yy[59], single[12], double[12], neg[12], pp_12_83); - r4bs r4bs_6640_600(yy[56], yy[57], single[13], double[13], neg[13], pp_13_83); - r4bs r4bs_6640_728(yy[54], yy[55], single[14], double[14], neg[14], pp_14_83); - fullAdd_x FA_6640_856(int_3_83, int_2_83, pp_12_83, pp_13_83, pp_14_83); - r4bs r4bs_6640_1072(yy[52], yy[53], single[15], double[15], neg[15], pp_15_83); - r4bs r4bs_6640_1200(yy[50], yy[51], single[16], double[16], neg[16], pp_16_83); - r4bs r4bs_6640_1328(yy[48], yy[49], single[17], double[17], neg[17], pp_17_83); - fullAdd_x FA_6640_1456(int_5_83, int_4_83, pp_15_83, pp_16_83, pp_17_83); - r4bs r4bs_6640_1672(yy[46], yy[47], single[18], double[18], neg[18], pp_18_83); - r4bs r4bs_6640_1800(yy[44], yy[45], single[19], double[19], neg[19], pp_19_83); - r4bs r4bs_6640_1928(yy[42], yy[43], single[20], double[20], neg[20], pp_20_83); - fullAdd_x FA_6640_2056(int_7_83, int_6_83, pp_18_83, pp_19_83, pp_20_83); - r4bs r4bs_6640_2272(yy[40], yy[41], single[21], double[21], neg[21], pp_21_83); - r4bs r4bs_6640_2400(yy[38], yy[39], single[22], double[22], neg[22], pp_22_83); - r4bs r4bs_6640_2528(yy[36], yy[37], single[23], double[23], neg[23], pp_23_83); - fullAdd_x FA_6640_2656(int_9_83, int_8_83, pp_21_83, pp_22_83, pp_23_83); - r4bs r4bs_6640_2872(yy[34], yy[35], single[24], double[24], neg[24], pp_24_83); - r4bs r4bs_6640_3000(yy[32], yy[33], single[25], double[25], neg[25], pp_25_83); - r4bs r4bs_6640_3128(yy[30], yy[31], single[26], double[26], neg[26], pp_26_83); - fullAdd_x FA_6640_3256(int_11_83, int_10_83, pp_24_83, pp_25_83, pp_26_83); - r4bs r4bs_6640_3472(yy[28], yy[29], single[27], double[27], neg[27], pp_27_83); - r4bs r4bs_6640_3600(yy[26], yy[27], single[28], double[28], neg[28], pp_28_83); - r4bs r4bs_6640_3728(yy[24], yy[25], single[29], double[29], neg[29], pp_29_83); - fullAdd_x FA_6640_3856(int_13_83, int_12_83, pp_27_83, pp_28_83, pp_29_83); - r4bs r4bs_6640_4072(yy[22], yy[23], single[30], double[30], neg[30], pp_30_83); - r4bs r4bs_6640_4200(yy[20], yy[21], single[31], double[31], neg[31], pp_31_83); - r4bs r4bs_6640_4328(yy[18], yy[19], single[32], double[32], neg[32], pp_32_83); - fullAdd_x FA_6640_4456(int_15_83, int_14_83, pp_30_83, pp_31_83, pp_32_83); - fullAdd_x FA_6640_4672(int_17_83, int_16_83, int_1_82, int_3_82, int_5_82); - fullAdd_x FA_6640_4888(int_19_83, int_18_83, int_7_82, int_9_82, int_11_82); - fullAdd_x FA_6640_5104(int_21_83, int_20_83, int_13_82, int_15_82, int_17_82); - fullAdd_x FA_6640_5320(int_23_83, int_22_83, int_19_82, int_21_82, int_0_83); - fullAdd_x FA_6640_5536(int_25_83, int_24_83, int_2_83, int_4_83, int_6_83); - fullAdd_x FA_6640_5752(int_27_83, int_26_83, int_8_83, int_10_83, int_12_83); - fullAdd_x FA_6640_5968(int_29_83, int_28_83, int_14_83, int_23_82, int_25_82); - fullAdd_x FA_6640_6184(int_31_83, int_30_83, int_27_82, int_29_82, int_16_83); - fullAdd_x FA_6640_6400(int_33_83, int_32_83, int_18_83, int_20_83, int_31_82); - fullAdd_x FA_6640_6616(int_35_83, int_34_83, int_33_82, int_22_83, int_24_83); - fullAdd_x FA_6640_6832(int_37_83, int_36_83, int_26_83, int_35_82, int_37_82); - fullAdd_x FA_6640_7048(int_39_83, int_38_83, int_28_83, int_30_83, int_32_83); - fullAdd_x FA_6640_7264(int_41_83, int_40_83, int_39_82, int_41_82, int_34_83); - fullAdd_x FA_6640_7480(int_43_83, int_42_83, int_36_83, int_38_83, int_43_82); - fullAdd_x FA_6640_7696(int_45_83, int_44_83, int_40_83, int_45_82, int_42_83); - assign Sum[83] = int_47_82; - assign Carry[83] = int_44_83; - - // Hardware for column 84 - - r4bs r4bs_6720_0(yy[63], gnd, single[10], double[10], neg[10], pp_10_84); - halfAdd HA_6720_128(int_1_84, int_0_84, 1'b1, pp_10_84); - r4bs r4bs_6720_208(yy[61], yy[62], single[11], double[11], neg[11], pp_11_84); - r4bs r4bs_6720_336(yy[59], yy[60], single[12], double[12], neg[12], pp_12_84); - r4bs r4bs_6720_464(yy[57], yy[58], single[13], double[13], neg[13], pp_13_84); - fullAdd_x FA_6720_592(int_3_84, int_2_84, pp_11_84, pp_12_84, pp_13_84); - r4bs r4bs_6720_808(yy[55], yy[56], single[14], double[14], neg[14], pp_14_84); - r4bs r4bs_6720_936(yy[53], yy[54], single[15], double[15], neg[15], pp_15_84); - r4bs r4bs_6720_1064(yy[51], yy[52], single[16], double[16], neg[16], pp_16_84); - fullAdd_x FA_6720_1192(int_5_84, int_4_84, pp_14_84, pp_15_84, pp_16_84); - r4bs r4bs_6720_1408(yy[49], yy[50], single[17], double[17], neg[17], pp_17_84); - r4bs r4bs_6720_1536(yy[47], yy[48], single[18], double[18], neg[18], pp_18_84); - r4bs r4bs_6720_1664(yy[45], yy[46], single[19], double[19], neg[19], pp_19_84); - fullAdd_x FA_6720_1792(int_7_84, int_6_84, pp_17_84, pp_18_84, pp_19_84); - r4bs r4bs_6720_2008(yy[43], yy[44], single[20], double[20], neg[20], pp_20_84); - r4bs r4bs_6720_2136(yy[41], yy[42], single[21], double[21], neg[21], pp_21_84); - r4bs r4bs_6720_2264(yy[39], yy[40], single[22], double[22], neg[22], pp_22_84); - fullAdd_x FA_6720_2392(int_9_84, int_8_84, pp_20_84, pp_21_84, pp_22_84); - r4bs r4bs_6720_2608(yy[37], yy[38], single[23], double[23], neg[23], pp_23_84); - r4bs r4bs_6720_2736(yy[35], yy[36], single[24], double[24], neg[24], pp_24_84); - r4bs r4bs_6720_2864(yy[33], yy[34], single[25], double[25], neg[25], pp_25_84); - fullAdd_x FA_6720_2992(int_11_84, int_10_84, pp_23_84, pp_24_84, pp_25_84); - r4bs r4bs_6720_3208(yy[31], yy[32], single[26], double[26], neg[26], pp_26_84); - r4bs r4bs_6720_3336(yy[29], yy[30], single[27], double[27], neg[27], pp_27_84); - r4bs r4bs_6720_3464(yy[27], yy[28], single[28], double[28], neg[28], pp_28_84); - fullAdd_x FA_6720_3592(int_13_84, int_12_84, pp_26_84, pp_27_84, pp_28_84); - r4bs r4bs_6720_3808(yy[25], yy[26], single[29], double[29], neg[29], pp_29_84); - r4bs r4bs_6720_3936(yy[23], yy[24], single[30], double[30], neg[30], pp_30_84); - r4bs r4bs_6720_4064(yy[21], yy[22], single[31], double[31], neg[31], pp_31_84); - fullAdd_x FA_6720_4192(int_15_84, int_14_84, pp_29_84, pp_30_84, pp_31_84); - r4bs r4bs_6720_4408(yy[19], yy[20], single[32], double[32], neg[32], pp_32_84); - fullAdd_x FA_6720_4536(int_17_84, int_16_84, pp_32_84, int_1_83, int_3_83); - fullAdd_x FA_6720_4752(int_19_84, int_18_84, int_5_83, int_7_83, int_9_83); - fullAdd_x FA_6720_4968(int_21_84, int_20_84, int_11_83, int_13_83, int_15_83); - fullAdd_x FA_6720_5184(int_23_84, int_22_84, int_0_84, int_17_83, int_19_83); - fullAdd_x FA_6720_5400(int_25_84, int_24_84, int_2_84, int_4_84, int_6_84); - fullAdd_x FA_6720_5616(int_27_84, int_26_84, int_8_84, int_10_84, int_12_84); - fullAdd_x FA_6720_5832(int_29_84, int_28_84, int_14_84, int_21_83, int_23_83); - fullAdd_x FA_6720_6048(int_31_84, int_30_84, int_25_83, int_27_83, int_16_84); - fullAdd_x FA_6720_6264(int_33_84, int_32_84, int_18_84, int_20_84, int_29_83); - fullAdd_x FA_6720_6480(int_35_84, int_34_84, int_31_83, int_22_84, int_24_84); - fullAdd_x FA_6720_6696(int_37_84, int_36_84, int_26_84, int_33_83, int_35_83); - fullAdd_x FA_6720_6912(int_39_84, int_38_84, int_28_84, int_30_84, int_32_84); - fullAdd_x FA_6720_7128(int_41_84, int_40_84, int_37_83, int_39_83, int_34_84); - fullAdd_x FA_6720_7344(int_43_84, int_42_84, int_41_83, int_36_84, int_38_84); - fullAdd_x FA_6720_7560(int_45_84, int_44_84, int_40_84, int_43_83, int_42_84); - assign Sum[84] = int_45_83; - assign Carry[84] = int_44_84; - - // Hardware for column 85 - - r4bs r4bs_6800_0(yy[62], yy[63], single[11], double[11], neg[11], pp_11_85); - r4bs r4bs_6800_128(yy[60], yy[61], single[12], double[12], neg[12], pp_12_85); - fullAdd_x FA_6800_256(int_1_85, int_0_85, negbar[10], pp_11_85, pp_12_85); - r4bs r4bs_6800_472(yy[58], yy[59], single[13], double[13], neg[13], pp_13_85); - r4bs r4bs_6800_600(yy[56], yy[57], single[14], double[14], neg[14], pp_14_85); - r4bs r4bs_6800_728(yy[54], yy[55], single[15], double[15], neg[15], pp_15_85); - fullAdd_x FA_6800_856(int_3_85, int_2_85, pp_13_85, pp_14_85, pp_15_85); - r4bs r4bs_6800_1072(yy[52], yy[53], single[16], double[16], neg[16], pp_16_85); - r4bs r4bs_6800_1200(yy[50], yy[51], single[17], double[17], neg[17], pp_17_85); - r4bs r4bs_6800_1328(yy[48], yy[49], single[18], double[18], neg[18], pp_18_85); - fullAdd_x FA_6800_1456(int_5_85, int_4_85, pp_16_85, pp_17_85, pp_18_85); - r4bs r4bs_6800_1672(yy[46], yy[47], single[19], double[19], neg[19], pp_19_85); - r4bs r4bs_6800_1800(yy[44], yy[45], single[20], double[20], neg[20], pp_20_85); - r4bs r4bs_6800_1928(yy[42], yy[43], single[21], double[21], neg[21], pp_21_85); - fullAdd_x FA_6800_2056(int_7_85, int_6_85, pp_19_85, pp_20_85, pp_21_85); - r4bs r4bs_6800_2272(yy[40], yy[41], single[22], double[22], neg[22], pp_22_85); - r4bs r4bs_6800_2400(yy[38], yy[39], single[23], double[23], neg[23], pp_23_85); - r4bs r4bs_6800_2528(yy[36], yy[37], single[24], double[24], neg[24], pp_24_85); - fullAdd_x FA_6800_2656(int_9_85, int_8_85, pp_22_85, pp_23_85, pp_24_85); - r4bs r4bs_6800_2872(yy[34], yy[35], single[25], double[25], neg[25], pp_25_85); - r4bs r4bs_6800_3000(yy[32], yy[33], single[26], double[26], neg[26], pp_26_85); - r4bs r4bs_6800_3128(yy[30], yy[31], single[27], double[27], neg[27], pp_27_85); - fullAdd_x FA_6800_3256(int_11_85, int_10_85, pp_25_85, pp_26_85, pp_27_85); - r4bs r4bs_6800_3472(yy[28], yy[29], single[28], double[28], neg[28], pp_28_85); - r4bs r4bs_6800_3600(yy[26], yy[27], single[29], double[29], neg[29], pp_29_85); - r4bs r4bs_6800_3728(yy[24], yy[25], single[30], double[30], neg[30], pp_30_85); - fullAdd_x FA_6800_3856(int_13_85, int_12_85, pp_28_85, pp_29_85, pp_30_85); - r4bs r4bs_6800_4072(yy[22], yy[23], single[31], double[31], neg[31], pp_31_85); - r4bs r4bs_6800_4200(yy[20], yy[21], single[32], double[32], neg[32], pp_32_85); - fullAdd_x FA_6800_4328(int_15_85, int_14_85, pp_31_85, pp_32_85, int_1_84); - fullAdd_x FA_6800_4544(int_17_85, int_16_85, int_3_84, int_5_84, int_7_84); - fullAdd_x FA_6800_4760(int_19_85, int_18_85, int_9_84, int_11_84, int_13_84); - fullAdd_x FA_6800_4976(int_21_85, int_20_85, int_15_84, int_17_84, int_19_84); - fullAdd_x FA_6800_5192(int_23_85, int_22_85, int_21_84, int_0_85, int_2_85); - fullAdd_x FA_6800_5408(int_25_85, int_24_85, int_4_85, int_6_85, int_8_85); - fullAdd_x FA_6800_5624(int_27_85, int_26_85, int_10_85, int_12_85, int_14_85); - fullAdd_x FA_6800_5840(int_29_85, int_28_85, int_23_84, int_25_84, int_27_84); - fullAdd_x FA_6800_6056(int_31_85, int_30_85, int_16_85, int_18_85, int_29_84); - fullAdd_x FA_6800_6272(int_33_85, int_32_85, int_31_84, int_20_85, int_22_85); - fullAdd_x FA_6800_6488(int_35_85, int_34_85, int_24_85, int_26_85, int_33_84); - fullAdd_x FA_6800_6704(int_37_85, int_36_85, int_35_84, int_28_85, int_30_85); - fullAdd_x FA_6800_6920(int_39_85, int_38_85, int_37_84, int_39_84, int_32_85); - fullAdd_x FA_6800_7136(int_41_85, int_40_85, int_34_85, int_41_84, int_36_85); - fullAdd_x FA_6800_7352(int_43_85, int_42_85, int_43_84, int_38_85, int_40_85); - assign Sum[85] = int_45_84; - assign Carry[85] = int_42_85; - - // Hardware for column 86 - - r4bs r4bs_6880_0(yy[63], gnd, single[11], double[11], neg[11], pp_11_86); - halfAdd HA_6880_128(int_1_86, int_0_86, 1'b1, pp_11_86); - r4bs r4bs_6880_208(yy[61], yy[62], single[12], double[12], neg[12], pp_12_86); - r4bs r4bs_6880_336(yy[59], yy[60], single[13], double[13], neg[13], pp_13_86); - r4bs r4bs_6880_464(yy[57], yy[58], single[14], double[14], neg[14], pp_14_86); - fullAdd_x FA_6880_592(int_3_86, int_2_86, pp_12_86, pp_13_86, pp_14_86); - r4bs r4bs_6880_808(yy[55], yy[56], single[15], double[15], neg[15], pp_15_86); - r4bs r4bs_6880_936(yy[53], yy[54], single[16], double[16], neg[16], pp_16_86); - r4bs r4bs_6880_1064(yy[51], yy[52], single[17], double[17], neg[17], pp_17_86); - fullAdd_x FA_6880_1192(int_5_86, int_4_86, pp_15_86, pp_16_86, pp_17_86); - r4bs r4bs_6880_1408(yy[49], yy[50], single[18], double[18], neg[18], pp_18_86); - r4bs r4bs_6880_1536(yy[47], yy[48], single[19], double[19], neg[19], pp_19_86); - r4bs r4bs_6880_1664(yy[45], yy[46], single[20], double[20], neg[20], pp_20_86); - fullAdd_x FA_6880_1792(int_7_86, int_6_86, pp_18_86, pp_19_86, pp_20_86); - r4bs r4bs_6880_2008(yy[43], yy[44], single[21], double[21], neg[21], pp_21_86); - r4bs r4bs_6880_2136(yy[41], yy[42], single[22], double[22], neg[22], pp_22_86); - r4bs r4bs_6880_2264(yy[39], yy[40], single[23], double[23], neg[23], pp_23_86); - fullAdd_x FA_6880_2392(int_9_86, int_8_86, pp_21_86, pp_22_86, pp_23_86); - r4bs r4bs_6880_2608(yy[37], yy[38], single[24], double[24], neg[24], pp_24_86); - r4bs r4bs_6880_2736(yy[35], yy[36], single[25], double[25], neg[25], pp_25_86); - r4bs r4bs_6880_2864(yy[33], yy[34], single[26], double[26], neg[26], pp_26_86); - fullAdd_x FA_6880_2992(int_11_86, int_10_86, pp_24_86, pp_25_86, pp_26_86); - r4bs r4bs_6880_3208(yy[31], yy[32], single[27], double[27], neg[27], pp_27_86); - r4bs r4bs_6880_3336(yy[29], yy[30], single[28], double[28], neg[28], pp_28_86); - r4bs r4bs_6880_3464(yy[27], yy[28], single[29], double[29], neg[29], pp_29_86); - fullAdd_x FA_6880_3592(int_13_86, int_12_86, pp_27_86, pp_28_86, pp_29_86); - r4bs r4bs_6880_3808(yy[25], yy[26], single[30], double[30], neg[30], pp_30_86); - r4bs r4bs_6880_3936(yy[23], yy[24], single[31], double[31], neg[31], pp_31_86); - r4bs r4bs_6880_4064(yy[21], yy[22], single[32], double[32], neg[32], pp_32_86); - fullAdd_x FA_6880_4192(int_15_86, int_14_86, pp_30_86, pp_31_86, pp_32_86); - fullAdd_x FA_6880_4408(int_17_86, int_16_86, int_1_85, int_3_85, int_5_85); - fullAdd_x FA_6880_4624(int_19_86, int_18_86, int_7_85, int_9_85, int_11_85); - fullAdd_x FA_6880_4840(int_21_86, int_20_86, int_13_85, int_0_86, int_15_85); - fullAdd_x FA_6880_5056(int_23_86, int_22_86, int_17_85, int_19_85, int_2_86); - fullAdd_x FA_6880_5272(int_25_86, int_24_86, int_4_86, int_6_86, int_8_86); - fullAdd_x FA_6880_5488(int_27_86, int_26_86, int_10_86, int_12_86, int_14_86); - fullAdd_x FA_6880_5704(int_29_86, int_28_86, int_21_85, int_23_85, int_25_85); - fullAdd_x FA_6880_5920(int_31_86, int_30_86, int_27_85, int_16_86, int_18_86); - fullAdd_x FA_6880_6136(int_33_86, int_32_86, int_20_86, int_29_85, int_22_86); - fullAdd_x FA_6880_6352(int_35_86, int_34_86, int_24_86, int_26_86, int_31_85); - fullAdd_x FA_6880_6568(int_37_86, int_36_86, int_33_85, int_28_86, int_30_86); - fullAdd_x FA_6880_6784(int_39_86, int_38_86, int_35_85, int_37_85, int_32_86); - fullAdd_x FA_6880_7000(int_41_86, int_40_86, int_34_86, int_39_85, int_36_86); - fullAdd_x FA_6880_7216(int_43_86, int_42_86, int_41_85, int_38_86, int_40_86); - assign Sum[86] = int_43_85; - assign Carry[86] = int_42_86; - - // Hardware for column 87 - - r4bs r4bs_6960_0(yy[62], yy[63], single[12], double[12], neg[12], pp_12_87); - r4bs r4bs_6960_128(yy[60], yy[61], single[13], double[13], neg[13], pp_13_87); - fullAdd_x FA_6960_256(int_1_87, int_0_87, negbar[11], pp_12_87, pp_13_87); - r4bs r4bs_6960_472(yy[58], yy[59], single[14], double[14], neg[14], pp_14_87); - r4bs r4bs_6960_600(yy[56], yy[57], single[15], double[15], neg[15], pp_15_87); - r4bs r4bs_6960_728(yy[54], yy[55], single[16], double[16], neg[16], pp_16_87); - fullAdd_x FA_6960_856(int_3_87, int_2_87, pp_14_87, pp_15_87, pp_16_87); - r4bs r4bs_6960_1072(yy[52], yy[53], single[17], double[17], neg[17], pp_17_87); - r4bs r4bs_6960_1200(yy[50], yy[51], single[18], double[18], neg[18], pp_18_87); - r4bs r4bs_6960_1328(yy[48], yy[49], single[19], double[19], neg[19], pp_19_87); - fullAdd_x FA_6960_1456(int_5_87, int_4_87, pp_17_87, pp_18_87, pp_19_87); - r4bs r4bs_6960_1672(yy[46], yy[47], single[20], double[20], neg[20], pp_20_87); - r4bs r4bs_6960_1800(yy[44], yy[45], single[21], double[21], neg[21], pp_21_87); - r4bs r4bs_6960_1928(yy[42], yy[43], single[22], double[22], neg[22], pp_22_87); - fullAdd_x FA_6960_2056(int_7_87, int_6_87, pp_20_87, pp_21_87, pp_22_87); - r4bs r4bs_6960_2272(yy[40], yy[41], single[23], double[23], neg[23], pp_23_87); - r4bs r4bs_6960_2400(yy[38], yy[39], single[24], double[24], neg[24], pp_24_87); - r4bs r4bs_6960_2528(yy[36], yy[37], single[25], double[25], neg[25], pp_25_87); - fullAdd_x FA_6960_2656(int_9_87, int_8_87, pp_23_87, pp_24_87, pp_25_87); - r4bs r4bs_6960_2872(yy[34], yy[35], single[26], double[26], neg[26], pp_26_87); - r4bs r4bs_6960_3000(yy[32], yy[33], single[27], double[27], neg[27], pp_27_87); - r4bs r4bs_6960_3128(yy[30], yy[31], single[28], double[28], neg[28], pp_28_87); - fullAdd_x FA_6960_3256(int_11_87, int_10_87, pp_26_87, pp_27_87, pp_28_87); - r4bs r4bs_6960_3472(yy[28], yy[29], single[29], double[29], neg[29], pp_29_87); - r4bs r4bs_6960_3600(yy[26], yy[27], single[30], double[30], neg[30], pp_30_87); - r4bs r4bs_6960_3728(yy[24], yy[25], single[31], double[31], neg[31], pp_31_87); - fullAdd_x FA_6960_3856(int_13_87, int_12_87, pp_29_87, pp_30_87, pp_31_87); - r4bs r4bs_6960_4072(yy[22], yy[23], single[32], double[32], neg[32], pp_32_87); - fullAdd_x FA_6960_4200(int_15_87, int_14_87, pp_32_87, int_1_86, int_3_86); - fullAdd_x FA_6960_4416(int_17_87, int_16_87, int_5_86, int_7_86, int_9_86); - fullAdd_x FA_6960_4632(int_19_87, int_18_87, int_11_86, int_13_86, int_15_86); - fullAdd_x FA_6960_4848(int_21_87, int_20_87, int_17_86, int_19_86, int_0_87); - fullAdd_x FA_6960_5064(int_23_87, int_22_87, int_2_87, int_4_87, int_6_87); - fullAdd_x FA_6960_5280(int_25_87, int_24_87, int_8_87, int_10_87, int_12_87); - fullAdd_x FA_6960_5496(int_27_87, int_26_87, int_21_86, int_14_87, int_23_86); - fullAdd_x FA_6960_5712(int_29_87, int_28_87, int_25_86, int_27_86, int_16_87); - fullAdd_x FA_6960_5928(int_31_87, int_30_87, int_18_87, int_29_86, int_31_86); - fullAdd_x FA_6960_6144(int_33_87, int_32_87, int_20_87, int_22_87, int_24_87); - fullAdd_x FA_6960_6360(int_35_87, int_34_87, int_26_87, int_33_86, int_28_87); - fullAdd_x FA_6960_6576(int_37_87, int_36_87, int_35_86, int_37_86, int_30_87); - fullAdd_x FA_6960_6792(int_39_87, int_38_87, int_32_87, int_39_86, int_34_87); - fullAdd_x FA_6960_7008(int_41_87, int_40_87, int_41_86, int_36_87, int_38_87); - assign Sum[87] = int_43_86; - assign Carry[87] = int_40_87; - - // Hardware for column 88 - - r4bs r4bs_7040_0(yy[63], gnd, single[12], double[12], neg[12], pp_12_88); - halfAdd HA_7040_128(int_1_88, int_0_88, 1'b1, pp_12_88); - r4bs r4bs_7040_208(yy[61], yy[62], single[13], double[13], neg[13], pp_13_88); - r4bs r4bs_7040_336(yy[59], yy[60], single[14], double[14], neg[14], pp_14_88); - r4bs r4bs_7040_464(yy[57], yy[58], single[15], double[15], neg[15], pp_15_88); - fullAdd_x FA_7040_592(int_3_88, int_2_88, pp_13_88, pp_14_88, pp_15_88); - r4bs r4bs_7040_808(yy[55], yy[56], single[16], double[16], neg[16], pp_16_88); - r4bs r4bs_7040_936(yy[53], yy[54], single[17], double[17], neg[17], pp_17_88); - r4bs r4bs_7040_1064(yy[51], yy[52], single[18], double[18], neg[18], pp_18_88); - fullAdd_x FA_7040_1192(int_5_88, int_4_88, pp_16_88, pp_17_88, pp_18_88); - r4bs r4bs_7040_1408(yy[49], yy[50], single[19], double[19], neg[19], pp_19_88); - r4bs r4bs_7040_1536(yy[47], yy[48], single[20], double[20], neg[20], pp_20_88); - r4bs r4bs_7040_1664(yy[45], yy[46], single[21], double[21], neg[21], pp_21_88); - fullAdd_x FA_7040_1792(int_7_88, int_6_88, pp_19_88, pp_20_88, pp_21_88); - r4bs r4bs_7040_2008(yy[43], yy[44], single[22], double[22], neg[22], pp_22_88); - r4bs r4bs_7040_2136(yy[41], yy[42], single[23], double[23], neg[23], pp_23_88); - r4bs r4bs_7040_2264(yy[39], yy[40], single[24], double[24], neg[24], pp_24_88); - fullAdd_x FA_7040_2392(int_9_88, int_8_88, pp_22_88, pp_23_88, pp_24_88); - r4bs r4bs_7040_2608(yy[37], yy[38], single[25], double[25], neg[25], pp_25_88); - r4bs r4bs_7040_2736(yy[35], yy[36], single[26], double[26], neg[26], pp_26_88); - r4bs r4bs_7040_2864(yy[33], yy[34], single[27], double[27], neg[27], pp_27_88); - fullAdd_x FA_7040_2992(int_11_88, int_10_88, pp_25_88, pp_26_88, pp_27_88); - r4bs r4bs_7040_3208(yy[31], yy[32], single[28], double[28], neg[28], pp_28_88); - r4bs r4bs_7040_3336(yy[29], yy[30], single[29], double[29], neg[29], pp_29_88); - r4bs r4bs_7040_3464(yy[27], yy[28], single[30], double[30], neg[30], pp_30_88); - fullAdd_x FA_7040_3592(int_13_88, int_12_88, pp_28_88, pp_29_88, pp_30_88); - r4bs r4bs_7040_3808(yy[25], yy[26], single[31], double[31], neg[31], pp_31_88); - r4bs r4bs_7040_3936(yy[23], yy[24], single[32], double[32], neg[32], pp_32_88); - fullAdd_x FA_7040_4064(int_15_88, int_14_88, pp_31_88, pp_32_88, int_1_87); - fullAdd_x FA_7040_4280(int_17_88, int_16_88, int_3_87, int_5_87, int_7_87); - fullAdd_x FA_7040_4496(int_19_88, int_18_88, int_9_87, int_11_87, int_13_87); - fullAdd_x FA_7040_4712(int_21_88, int_20_88, int_0_88, int_15_87, int_17_87); - fullAdd_x FA_7040_4928(int_23_88, int_22_88, int_19_87, int_2_88, int_4_88); - fullAdd_x FA_7040_5144(int_25_88, int_24_88, int_6_88, int_8_88, int_10_88); - fullAdd_x FA_7040_5360(int_27_88, int_26_88, int_12_88, int_14_88, int_21_87); - fullAdd_x FA_7040_5576(int_29_88, int_28_88, int_23_87, int_25_87, int_16_88); - fullAdd_x FA_7040_5792(int_31_88, int_30_88, int_18_88, int_27_87, int_29_87); - fullAdd_x FA_7040_6008(int_33_88, int_32_88, int_20_88, int_22_88, int_24_88); - fullAdd_x FA_7040_6224(int_35_88, int_34_88, int_26_88, int_31_87, int_33_87); - fullAdd_x FA_7040_6440(int_37_88, int_36_88, int_28_88, int_35_87, int_30_88); - fullAdd_x FA_7040_6656(int_39_88, int_38_88, int_32_88, int_37_87, int_34_88); - fullAdd_x FA_7040_6872(int_41_88, int_40_88, int_39_87, int_36_88, int_38_88); - assign Sum[88] = int_41_87; - assign Carry[88] = int_40_88; - - // Hardware for column 89 - - r4bs r4bs_7120_0(yy[62], yy[63], single[13], double[13], neg[13], pp_13_89); - r4bs r4bs_7120_128(yy[60], yy[61], single[14], double[14], neg[14], pp_14_89); - fullAdd_x FA_7120_256(int_1_89, int_0_89, negbar[12], pp_13_89, pp_14_89); - r4bs r4bs_7120_472(yy[58], yy[59], single[15], double[15], neg[15], pp_15_89); - r4bs r4bs_7120_600(yy[56], yy[57], single[16], double[16], neg[16], pp_16_89); - r4bs r4bs_7120_728(yy[54], yy[55], single[17], double[17], neg[17], pp_17_89); - fullAdd_x FA_7120_856(int_3_89, int_2_89, pp_15_89, pp_16_89, pp_17_89); - r4bs r4bs_7120_1072(yy[52], yy[53], single[18], double[18], neg[18], pp_18_89); - r4bs r4bs_7120_1200(yy[50], yy[51], single[19], double[19], neg[19], pp_19_89); - r4bs r4bs_7120_1328(yy[48], yy[49], single[20], double[20], neg[20], pp_20_89); - fullAdd_x FA_7120_1456(int_5_89, int_4_89, pp_18_89, pp_19_89, pp_20_89); - r4bs r4bs_7120_1672(yy[46], yy[47], single[21], double[21], neg[21], pp_21_89); - r4bs r4bs_7120_1800(yy[44], yy[45], single[22], double[22], neg[22], pp_22_89); - r4bs r4bs_7120_1928(yy[42], yy[43], single[23], double[23], neg[23], pp_23_89); - fullAdd_x FA_7120_2056(int_7_89, int_6_89, pp_21_89, pp_22_89, pp_23_89); - r4bs r4bs_7120_2272(yy[40], yy[41], single[24], double[24], neg[24], pp_24_89); - r4bs r4bs_7120_2400(yy[38], yy[39], single[25], double[25], neg[25], pp_25_89); - r4bs r4bs_7120_2528(yy[36], yy[37], single[26], double[26], neg[26], pp_26_89); - fullAdd_x FA_7120_2656(int_9_89, int_8_89, pp_24_89, pp_25_89, pp_26_89); - r4bs r4bs_7120_2872(yy[34], yy[35], single[27], double[27], neg[27], pp_27_89); - r4bs r4bs_7120_3000(yy[32], yy[33], single[28], double[28], neg[28], pp_28_89); - r4bs r4bs_7120_3128(yy[30], yy[31], single[29], double[29], neg[29], pp_29_89); - fullAdd_x FA_7120_3256(int_11_89, int_10_89, pp_27_89, pp_28_89, pp_29_89); - r4bs r4bs_7120_3472(yy[28], yy[29], single[30], double[30], neg[30], pp_30_89); - r4bs r4bs_7120_3600(yy[26], yy[27], single[31], double[31], neg[31], pp_31_89); - r4bs r4bs_7120_3728(yy[24], yy[25], single[32], double[32], neg[32], pp_32_89); - fullAdd_x FA_7120_3856(int_13_89, int_12_89, pp_30_89, pp_31_89, pp_32_89); - fullAdd_x FA_7120_4072(int_15_89, int_14_89, int_1_88, int_3_88, int_5_88); - fullAdd_x FA_7120_4288(int_17_89, int_16_89, int_7_88, int_9_88, int_11_88); - fullAdd_x FA_7120_4504(int_19_89, int_18_89, int_13_88, int_15_88, int_17_88); - fullAdd_x FA_7120_4720(int_21_89, int_20_89, int_19_88, int_0_89, int_2_89); - fullAdd_x FA_7120_4936(int_23_89, int_22_89, int_4_89, int_6_89, int_8_89); - fullAdd_x FA_7120_5152(int_25_89, int_24_89, int_10_89, int_12_89, int_21_88); - fullAdd_x FA_7120_5368(int_27_89, int_26_89, int_23_88, int_25_88, int_14_89); - fullAdd_x FA_7120_5584(int_29_89, int_28_89, int_16_89, int_27_88, int_29_88); - fullAdd_x FA_7120_5800(int_31_89, int_30_89, int_18_89, int_20_89, int_22_89); - fullAdd_x FA_7120_6016(int_33_89, int_32_89, int_24_89, int_31_88, int_33_88); - fullAdd_x FA_7120_6232(int_35_89, int_34_89, int_26_89, int_35_88, int_28_89); - fullAdd_x FA_7120_6448(int_37_89, int_36_89, int_30_89, int_37_88, int_32_89); - fullAdd_x FA_7120_6664(int_39_89, int_38_89, int_39_88, int_34_89, int_36_89); - assign Sum[89] = int_41_88; - assign Carry[89] = int_38_89; - - // Hardware for column 90 - - r4bs r4bs_7200_0(yy[63], gnd, single[13], double[13], neg[13], pp_13_90); - halfAdd HA_7200_128(int_1_90, int_0_90, 1'b1, pp_13_90); - r4bs r4bs_7200_208(yy[61], yy[62], single[14], double[14], neg[14], pp_14_90); - r4bs r4bs_7200_336(yy[59], yy[60], single[15], double[15], neg[15], pp_15_90); - r4bs r4bs_7200_464(yy[57], yy[58], single[16], double[16], neg[16], pp_16_90); - fullAdd_x FA_7200_592(int_3_90, int_2_90, pp_14_90, pp_15_90, pp_16_90); - r4bs r4bs_7200_808(yy[55], yy[56], single[17], double[17], neg[17], pp_17_90); - r4bs r4bs_7200_936(yy[53], yy[54], single[18], double[18], neg[18], pp_18_90); - r4bs r4bs_7200_1064(yy[51], yy[52], single[19], double[19], neg[19], pp_19_90); - fullAdd_x FA_7200_1192(int_5_90, int_4_90, pp_17_90, pp_18_90, pp_19_90); - r4bs r4bs_7200_1408(yy[49], yy[50], single[20], double[20], neg[20], pp_20_90); - r4bs r4bs_7200_1536(yy[47], yy[48], single[21], double[21], neg[21], pp_21_90); - r4bs r4bs_7200_1664(yy[45], yy[46], single[22], double[22], neg[22], pp_22_90); - fullAdd_x FA_7200_1792(int_7_90, int_6_90, pp_20_90, pp_21_90, pp_22_90); - r4bs r4bs_7200_2008(yy[43], yy[44], single[23], double[23], neg[23], pp_23_90); - r4bs r4bs_7200_2136(yy[41], yy[42], single[24], double[24], neg[24], pp_24_90); - r4bs r4bs_7200_2264(yy[39], yy[40], single[25], double[25], neg[25], pp_25_90); - fullAdd_x FA_7200_2392(int_9_90, int_8_90, pp_23_90, pp_24_90, pp_25_90); - r4bs r4bs_7200_2608(yy[37], yy[38], single[26], double[26], neg[26], pp_26_90); - r4bs r4bs_7200_2736(yy[35], yy[36], single[27], double[27], neg[27], pp_27_90); - r4bs r4bs_7200_2864(yy[33], yy[34], single[28], double[28], neg[28], pp_28_90); - fullAdd_x FA_7200_2992(int_11_90, int_10_90, pp_26_90, pp_27_90, pp_28_90); - r4bs r4bs_7200_3208(yy[31], yy[32], single[29], double[29], neg[29], pp_29_90); - r4bs r4bs_7200_3336(yy[29], yy[30], single[30], double[30], neg[30], pp_30_90); - r4bs r4bs_7200_3464(yy[27], yy[28], single[31], double[31], neg[31], pp_31_90); - fullAdd_x FA_7200_3592(int_13_90, int_12_90, pp_29_90, pp_30_90, pp_31_90); - r4bs r4bs_7200_3808(yy[25], yy[26], single[32], double[32], neg[32], pp_32_90); - fullAdd_x FA_7200_3936(int_15_90, int_14_90, pp_32_90, int_1_89, int_3_89); - fullAdd_x FA_7200_4152(int_17_90, int_16_90, int_5_89, int_7_89, int_9_89); - fullAdd_x FA_7200_4368(int_19_90, int_18_90, int_11_89, int_13_89, int_0_90); - fullAdd_x FA_7200_4584(int_21_90, int_20_90, int_15_89, int_17_89, int_2_90); - fullAdd_x FA_7200_4800(int_23_90, int_22_90, int_4_90, int_6_90, int_8_90); - fullAdd_x FA_7200_5016(int_25_90, int_24_90, int_10_90, int_12_90, int_19_89); - fullAdd_x FA_7200_5232(int_27_90, int_26_90, int_21_89, int_23_89, int_14_90); - fullAdd_x FA_7200_5448(int_29_90, int_28_90, int_16_90, int_18_90, int_25_89); - fullAdd_x FA_7200_5664(int_31_90, int_30_90, int_27_89, int_20_90, int_22_90); - fullAdd_x FA_7200_5880(int_33_90, int_32_90, int_24_90, int_29_89, int_31_89); - fullAdd_x FA_7200_6096(int_35_90, int_34_90, int_26_90, int_28_90, int_33_89); - fullAdd_x FA_7200_6312(int_37_90, int_36_90, int_30_90, int_35_89, int_32_90); - fullAdd_x FA_7200_6528(int_39_90, int_38_90, int_34_90, int_37_89, int_36_90); - assign Sum[90] = int_39_89; - assign Carry[90] = int_38_90; - - // Hardware for column 91 - - r4bs r4bs_7280_0(yy[62], yy[63], single[14], double[14], neg[14], pp_14_91); - r4bs r4bs_7280_128(yy[60], yy[61], single[15], double[15], neg[15], pp_15_91); - fullAdd_x FA_7280_256(int_1_91, int_0_91, negbar[13], pp_14_91, pp_15_91); - r4bs r4bs_7280_472(yy[58], yy[59], single[16], double[16], neg[16], pp_16_91); - r4bs r4bs_7280_600(yy[56], yy[57], single[17], double[17], neg[17], pp_17_91); - r4bs r4bs_7280_728(yy[54], yy[55], single[18], double[18], neg[18], pp_18_91); - fullAdd_x FA_7280_856(int_3_91, int_2_91, pp_16_91, pp_17_91, pp_18_91); - r4bs r4bs_7280_1072(yy[52], yy[53], single[19], double[19], neg[19], pp_19_91); - r4bs r4bs_7280_1200(yy[50], yy[51], single[20], double[20], neg[20], pp_20_91); - r4bs r4bs_7280_1328(yy[48], yy[49], single[21], double[21], neg[21], pp_21_91); - fullAdd_x FA_7280_1456(int_5_91, int_4_91, pp_19_91, pp_20_91, pp_21_91); - r4bs r4bs_7280_1672(yy[46], yy[47], single[22], double[22], neg[22], pp_22_91); - r4bs r4bs_7280_1800(yy[44], yy[45], single[23], double[23], neg[23], pp_23_91); - r4bs r4bs_7280_1928(yy[42], yy[43], single[24], double[24], neg[24], pp_24_91); - fullAdd_x FA_7280_2056(int_7_91, int_6_91, pp_22_91, pp_23_91, pp_24_91); - r4bs r4bs_7280_2272(yy[40], yy[41], single[25], double[25], neg[25], pp_25_91); - r4bs r4bs_7280_2400(yy[38], yy[39], single[26], double[26], neg[26], pp_26_91); - r4bs r4bs_7280_2528(yy[36], yy[37], single[27], double[27], neg[27], pp_27_91); - fullAdd_x FA_7280_2656(int_9_91, int_8_91, pp_25_91, pp_26_91, pp_27_91); - r4bs r4bs_7280_2872(yy[34], yy[35], single[28], double[28], neg[28], pp_28_91); - r4bs r4bs_7280_3000(yy[32], yy[33], single[29], double[29], neg[29], pp_29_91); - r4bs r4bs_7280_3128(yy[30], yy[31], single[30], double[30], neg[30], pp_30_91); - fullAdd_x FA_7280_3256(int_11_91, int_10_91, pp_28_91, pp_29_91, pp_30_91); - r4bs r4bs_7280_3472(yy[28], yy[29], single[31], double[31], neg[31], pp_31_91); - r4bs r4bs_7280_3600(yy[26], yy[27], single[32], double[32], neg[32], pp_32_91); - fullAdd_x FA_7280_3728(int_13_91, int_12_91, pp_31_91, pp_32_91, int_1_90); - fullAdd_x FA_7280_3944(int_15_91, int_14_91, int_3_90, int_5_90, int_7_90); - fullAdd_x FA_7280_4160(int_17_91, int_16_91, int_9_90, int_11_90, int_13_90); - fullAdd_x FA_7280_4376(int_19_91, int_18_91, int_15_90, int_17_90, int_19_90); - fullAdd_x FA_7280_4592(int_21_91, int_20_91, int_0_91, int_2_91, int_4_91); - fullAdd_x FA_7280_4808(int_23_91, int_22_91, int_6_91, int_8_91, int_10_91); - fullAdd_x FA_7280_5024(int_25_91, int_24_91, int_12_91, int_21_90, int_23_90); - fullAdd_x FA_7280_5240(int_27_91, int_26_91, int_14_91, int_16_91, int_25_90); - fullAdd_x FA_7280_5456(int_29_91, int_28_91, int_27_90, int_18_91, int_20_91); - fullAdd_x FA_7280_5672(int_31_91, int_30_91, int_22_91, int_29_90, int_31_90); - fullAdd_x FA_7280_5888(int_33_91, int_32_91, int_24_91, int_26_91, int_33_90); - fullAdd_x FA_7280_6104(int_35_91, int_34_91, int_28_91, int_35_90, int_30_91); - fullAdd_x FA_7280_6320(int_37_91, int_36_91, int_32_91, int_37_90, int_34_91); - assign Sum[91] = int_39_90; - assign Carry[91] = int_36_91; - - // Hardware for column 92 - - r4bs r4bs_7360_0(yy[63], gnd, single[14], double[14], neg[14], pp_14_92); - halfAdd HA_7360_128(int_1_92, int_0_92, 1'b1, pp_14_92); - r4bs r4bs_7360_208(yy[61], yy[62], single[15], double[15], neg[15], pp_15_92); - r4bs r4bs_7360_336(yy[59], yy[60], single[16], double[16], neg[16], pp_16_92); - r4bs r4bs_7360_464(yy[57], yy[58], single[17], double[17], neg[17], pp_17_92); - fullAdd_x FA_7360_592(int_3_92, int_2_92, pp_15_92, pp_16_92, pp_17_92); - r4bs r4bs_7360_808(yy[55], yy[56], single[18], double[18], neg[18], pp_18_92); - r4bs r4bs_7360_936(yy[53], yy[54], single[19], double[19], neg[19], pp_19_92); - r4bs r4bs_7360_1064(yy[51], yy[52], single[20], double[20], neg[20], pp_20_92); - fullAdd_x FA_7360_1192(int_5_92, int_4_92, pp_18_92, pp_19_92, pp_20_92); - r4bs r4bs_7360_1408(yy[49], yy[50], single[21], double[21], neg[21], pp_21_92); - r4bs r4bs_7360_1536(yy[47], yy[48], single[22], double[22], neg[22], pp_22_92); - r4bs r4bs_7360_1664(yy[45], yy[46], single[23], double[23], neg[23], pp_23_92); - fullAdd_x FA_7360_1792(int_7_92, int_6_92, pp_21_92, pp_22_92, pp_23_92); - r4bs r4bs_7360_2008(yy[43], yy[44], single[24], double[24], neg[24], pp_24_92); - r4bs r4bs_7360_2136(yy[41], yy[42], single[25], double[25], neg[25], pp_25_92); - r4bs r4bs_7360_2264(yy[39], yy[40], single[26], double[26], neg[26], pp_26_92); - fullAdd_x FA_7360_2392(int_9_92, int_8_92, pp_24_92, pp_25_92, pp_26_92); - r4bs r4bs_7360_2608(yy[37], yy[38], single[27], double[27], neg[27], pp_27_92); - r4bs r4bs_7360_2736(yy[35], yy[36], single[28], double[28], neg[28], pp_28_92); - r4bs r4bs_7360_2864(yy[33], yy[34], single[29], double[29], neg[29], pp_29_92); - fullAdd_x FA_7360_2992(int_11_92, int_10_92, pp_27_92, pp_28_92, pp_29_92); - r4bs r4bs_7360_3208(yy[31], yy[32], single[30], double[30], neg[30], pp_30_92); - r4bs r4bs_7360_3336(yy[29], yy[30], single[31], double[31], neg[31], pp_31_92); - r4bs r4bs_7360_3464(yy[27], yy[28], single[32], double[32], neg[32], pp_32_92); - fullAdd_x FA_7360_3592(int_13_92, int_12_92, pp_30_92, pp_31_92, pp_32_92); - fullAdd_x FA_7360_3808(int_15_92, int_14_92, int_1_91, int_3_91, int_5_91); - fullAdd_x FA_7360_4024(int_17_92, int_16_92, int_7_91, int_9_91, int_11_91); - fullAdd_x FA_7360_4240(int_19_92, int_18_92, int_0_92, int_13_91, int_15_91); - fullAdd_x FA_7360_4456(int_21_92, int_20_92, int_17_91, int_2_92, int_4_92); - fullAdd_x FA_7360_4672(int_23_92, int_22_92, int_6_92, int_8_92, int_10_92); - fullAdd_x FA_7360_4888(int_25_92, int_24_92, int_12_92, int_19_91, int_21_91); - fullAdd_x FA_7360_5104(int_27_92, int_26_92, int_23_91, int_14_92, int_16_92); - fullAdd_x FA_7360_5320(int_29_92, int_28_92, int_18_92, int_25_91, int_20_92); - fullAdd_x FA_7360_5536(int_31_92, int_30_92, int_22_92, int_27_91, int_29_91); - fullAdd_x FA_7360_5752(int_33_92, int_32_92, int_24_92, int_26_92, int_31_91); - fullAdd_x FA_7360_5968(int_35_92, int_34_92, int_28_92, int_33_91, int_30_92); - fullAdd_x FA_7360_6184(int_37_92, int_36_92, int_32_92, int_35_91, int_34_92); - assign Sum[92] = int_37_91; - assign Carry[92] = int_36_92; - - // Hardware for column 93 - - r4bs r4bs_7440_0(yy[62], yy[63], single[15], double[15], neg[15], pp_15_93); - r4bs r4bs_7440_128(yy[60], yy[61], single[16], double[16], neg[16], pp_16_93); - fullAdd_x FA_7440_256(int_1_93, int_0_93, negbar[14], pp_15_93, pp_16_93); - r4bs r4bs_7440_472(yy[58], yy[59], single[17], double[17], neg[17], pp_17_93); - r4bs r4bs_7440_600(yy[56], yy[57], single[18], double[18], neg[18], pp_18_93); - r4bs r4bs_7440_728(yy[54], yy[55], single[19], double[19], neg[19], pp_19_93); - fullAdd_x FA_7440_856(int_3_93, int_2_93, pp_17_93, pp_18_93, pp_19_93); - r4bs r4bs_7440_1072(yy[52], yy[53], single[20], double[20], neg[20], pp_20_93); - r4bs r4bs_7440_1200(yy[50], yy[51], single[21], double[21], neg[21], pp_21_93); - r4bs r4bs_7440_1328(yy[48], yy[49], single[22], double[22], neg[22], pp_22_93); - fullAdd_x FA_7440_1456(int_5_93, int_4_93, pp_20_93, pp_21_93, pp_22_93); - r4bs r4bs_7440_1672(yy[46], yy[47], single[23], double[23], neg[23], pp_23_93); - r4bs r4bs_7440_1800(yy[44], yy[45], single[24], double[24], neg[24], pp_24_93); - r4bs r4bs_7440_1928(yy[42], yy[43], single[25], double[25], neg[25], pp_25_93); - fullAdd_x FA_7440_2056(int_7_93, int_6_93, pp_23_93, pp_24_93, pp_25_93); - r4bs r4bs_7440_2272(yy[40], yy[41], single[26], double[26], neg[26], pp_26_93); - r4bs r4bs_7440_2400(yy[38], yy[39], single[27], double[27], neg[27], pp_27_93); - r4bs r4bs_7440_2528(yy[36], yy[37], single[28], double[28], neg[28], pp_28_93); - fullAdd_x FA_7440_2656(int_9_93, int_8_93, pp_26_93, pp_27_93, pp_28_93); - r4bs r4bs_7440_2872(yy[34], yy[35], single[29], double[29], neg[29], pp_29_93); - r4bs r4bs_7440_3000(yy[32], yy[33], single[30], double[30], neg[30], pp_30_93); - r4bs r4bs_7440_3128(yy[30], yy[31], single[31], double[31], neg[31], pp_31_93); - fullAdd_x FA_7440_3256(int_11_93, int_10_93, pp_29_93, pp_30_93, pp_31_93); - r4bs r4bs_7440_3472(yy[28], yy[29], single[32], double[32], neg[32], pp_32_93); - fullAdd_x FA_7440_3600(int_13_93, int_12_93, pp_32_93, int_1_92, int_3_92); - fullAdd_x FA_7440_3816(int_15_93, int_14_93, int_5_92, int_7_92, int_9_92); - fullAdd_x FA_7440_4032(int_17_93, int_16_93, int_11_92, int_13_92, int_15_92); - fullAdd_x FA_7440_4248(int_19_93, int_18_93, int_17_92, int_0_93, int_2_93); - fullAdd_x FA_7440_4464(int_21_93, int_20_93, int_4_93, int_6_93, int_8_93); - fullAdd_x FA_7440_4680(int_23_93, int_22_93, int_10_93, int_12_93, int_19_92); - fullAdd_x FA_7440_4896(int_25_93, int_24_93, int_21_92, int_23_92, int_14_93); - fullAdd_x FA_7440_5112(int_27_93, int_26_93, int_16_93, int_25_92, int_27_92); - fullAdd_x FA_7440_5328(int_29_93, int_28_93, int_18_93, int_20_93, int_22_93); - fullAdd_x FA_7440_5544(int_31_93, int_30_93, int_29_92, int_24_93, int_31_92); - fullAdd_x FA_7440_5760(int_33_93, int_32_93, int_26_93, int_28_93, int_33_92); - fullAdd_x FA_7440_5976(int_35_93, int_34_93, int_30_93, int_35_92, int_32_93); - assign Sum[93] = int_37_92; - assign Carry[93] = int_34_93; - - // Hardware for column 94 - - r4bs r4bs_7520_0(yy[63], gnd, single[15], double[15], neg[15], pp_15_94); - halfAdd HA_7520_128(int_1_94, int_0_94, 1'b1, pp_15_94); - r4bs r4bs_7520_208(yy[61], yy[62], single[16], double[16], neg[16], pp_16_94); - r4bs r4bs_7520_336(yy[59], yy[60], single[17], double[17], neg[17], pp_17_94); - r4bs r4bs_7520_464(yy[57], yy[58], single[18], double[18], neg[18], pp_18_94); - fullAdd_x FA_7520_592(int_3_94, int_2_94, pp_16_94, pp_17_94, pp_18_94); - r4bs r4bs_7520_808(yy[55], yy[56], single[19], double[19], neg[19], pp_19_94); - r4bs r4bs_7520_936(yy[53], yy[54], single[20], double[20], neg[20], pp_20_94); - r4bs r4bs_7520_1064(yy[51], yy[52], single[21], double[21], neg[21], pp_21_94); - fullAdd_x FA_7520_1192(int_5_94, int_4_94, pp_19_94, pp_20_94, pp_21_94); - r4bs r4bs_7520_1408(yy[49], yy[50], single[22], double[22], neg[22], pp_22_94); - r4bs r4bs_7520_1536(yy[47], yy[48], single[23], double[23], neg[23], pp_23_94); - r4bs r4bs_7520_1664(yy[45], yy[46], single[24], double[24], neg[24], pp_24_94); - fullAdd_x FA_7520_1792(int_7_94, int_6_94, pp_22_94, pp_23_94, pp_24_94); - r4bs r4bs_7520_2008(yy[43], yy[44], single[25], double[25], neg[25], pp_25_94); - r4bs r4bs_7520_2136(yy[41], yy[42], single[26], double[26], neg[26], pp_26_94); - r4bs r4bs_7520_2264(yy[39], yy[40], single[27], double[27], neg[27], pp_27_94); - fullAdd_x FA_7520_2392(int_9_94, int_8_94, pp_25_94, pp_26_94, pp_27_94); - r4bs r4bs_7520_2608(yy[37], yy[38], single[28], double[28], neg[28], pp_28_94); - r4bs r4bs_7520_2736(yy[35], yy[36], single[29], double[29], neg[29], pp_29_94); - r4bs r4bs_7520_2864(yy[33], yy[34], single[30], double[30], neg[30], pp_30_94); - fullAdd_x FA_7520_2992(int_11_94, int_10_94, pp_28_94, pp_29_94, pp_30_94); - r4bs r4bs_7520_3208(yy[31], yy[32], single[31], double[31], neg[31], pp_31_94); - r4bs r4bs_7520_3336(yy[29], yy[30], single[32], double[32], neg[32], pp_32_94); - fullAdd_x FA_7520_3464(int_13_94, int_12_94, pp_31_94, pp_32_94, int_1_93); - fullAdd_x FA_7520_3680(int_15_94, int_14_94, int_3_93, int_5_93, int_7_93); - fullAdd_x FA_7520_3896(int_17_94, int_16_94, int_9_93, int_11_93, int_0_94); - fullAdd_x FA_7520_4112(int_19_94, int_18_94, int_13_93, int_15_93, int_2_94); - fullAdd_x FA_7520_4328(int_21_94, int_20_94, int_4_94, int_6_94, int_8_94); - fullAdd_x FA_7520_4544(int_23_94, int_22_94, int_10_94, int_12_94, int_17_93); - fullAdd_x FA_7520_4760(int_25_94, int_24_94, int_19_93, int_21_93, int_14_94); - fullAdd_x FA_7520_4976(int_27_94, int_26_94, int_16_94, int_23_93, int_25_93); - fullAdd_x FA_7520_5192(int_29_94, int_28_94, int_18_94, int_20_94, int_22_94); - fullAdd_x FA_7520_5408(int_31_94, int_30_94, int_27_93, int_24_94, int_29_93); - fullAdd_x FA_7520_5624(int_33_94, int_32_94, int_26_94, int_28_94, int_31_93); - fullAdd_x FA_7520_5840(int_35_94, int_34_94, int_30_94, int_33_93, int_32_94); - assign Sum[94] = int_35_93; - assign Carry[94] = int_34_94; - - // Hardware for column 95 - - r4bs r4bs_7600_0(yy[62], yy[63], single[16], double[16], neg[16], pp_16_95); - r4bs r4bs_7600_128(yy[60], yy[61], single[17], double[17], neg[17], pp_17_95); - fullAdd_x FA_7600_256(int_1_95, int_0_95, negbar[15], pp_16_95, pp_17_95); - r4bs r4bs_7600_472(yy[58], yy[59], single[18], double[18], neg[18], pp_18_95); - r4bs r4bs_7600_600(yy[56], yy[57], single[19], double[19], neg[19], pp_19_95); - r4bs r4bs_7600_728(yy[54], yy[55], single[20], double[20], neg[20], pp_20_95); - fullAdd_x FA_7600_856(int_3_95, int_2_95, pp_18_95, pp_19_95, pp_20_95); - r4bs r4bs_7600_1072(yy[52], yy[53], single[21], double[21], neg[21], pp_21_95); - r4bs r4bs_7600_1200(yy[50], yy[51], single[22], double[22], neg[22], pp_22_95); - r4bs r4bs_7600_1328(yy[48], yy[49], single[23], double[23], neg[23], pp_23_95); - fullAdd_x FA_7600_1456(int_5_95, int_4_95, pp_21_95, pp_22_95, pp_23_95); - r4bs r4bs_7600_1672(yy[46], yy[47], single[24], double[24], neg[24], pp_24_95); - r4bs r4bs_7600_1800(yy[44], yy[45], single[25], double[25], neg[25], pp_25_95); - r4bs r4bs_7600_1928(yy[42], yy[43], single[26], double[26], neg[26], pp_26_95); - fullAdd_x FA_7600_2056(int_7_95, int_6_95, pp_24_95, pp_25_95, pp_26_95); - r4bs r4bs_7600_2272(yy[40], yy[41], single[27], double[27], neg[27], pp_27_95); - r4bs r4bs_7600_2400(yy[38], yy[39], single[28], double[28], neg[28], pp_28_95); - r4bs r4bs_7600_2528(yy[36], yy[37], single[29], double[29], neg[29], pp_29_95); - fullAdd_x FA_7600_2656(int_9_95, int_8_95, pp_27_95, pp_28_95, pp_29_95); - r4bs r4bs_7600_2872(yy[34], yy[35], single[30], double[30], neg[30], pp_30_95); - r4bs r4bs_7600_3000(yy[32], yy[33], single[31], double[31], neg[31], pp_31_95); - r4bs r4bs_7600_3128(yy[30], yy[31], single[32], double[32], neg[32], pp_32_95); - fullAdd_x FA_7600_3256(int_11_95, int_10_95, pp_30_95, pp_31_95, pp_32_95); - fullAdd_x FA_7600_3472(int_13_95, int_12_95, int_1_94, int_3_94, int_5_94); - fullAdd_x FA_7600_3688(int_15_95, int_14_95, int_7_94, int_9_94, int_11_94); - fullAdd_x FA_7600_3904(int_17_95, int_16_95, int_13_94, int_15_94, int_17_94); - fullAdd_x FA_7600_4120(int_19_95, int_18_95, int_0_95, int_2_95, int_4_95); - fullAdd_x FA_7600_4336(int_21_95, int_20_95, int_6_95, int_8_95, int_10_95); - fullAdd_x FA_7600_4552(int_23_95, int_22_95, int_19_94, int_21_94, int_12_95); - fullAdd_x FA_7600_4768(int_25_95, int_24_95, int_14_95, int_23_94, int_25_94); - fullAdd_x FA_7600_4984(int_27_95, int_26_95, int_16_95, int_18_95, int_20_95); - fullAdd_x FA_7600_5200(int_29_95, int_28_95, int_27_94, int_29_94, int_22_95); - fullAdd_x FA_7600_5416(int_31_95, int_30_95, int_24_95, int_26_95, int_31_94); - fullAdd_x FA_7600_5632(int_33_95, int_32_95, int_28_95, int_33_94, int_30_95); - assign Sum[95] = int_35_94; - assign Carry[95] = int_32_95; - - // Hardware for column 96 - - r4bs r4bs_7680_0(yy[63], gnd, single[16], double[16], neg[16], pp_16_96); - halfAdd HA_7680_128(int_1_96, int_0_96, 1'b1, pp_16_96); - r4bs r4bs_7680_208(yy[61], yy[62], single[17], double[17], neg[17], pp_17_96); - r4bs r4bs_7680_336(yy[59], yy[60], single[18], double[18], neg[18], pp_18_96); - r4bs r4bs_7680_464(yy[57], yy[58], single[19], double[19], neg[19], pp_19_96); - fullAdd_x FA_7680_592(int_3_96, int_2_96, pp_17_96, pp_18_96, pp_19_96); - r4bs r4bs_7680_808(yy[55], yy[56], single[20], double[20], neg[20], pp_20_96); - r4bs r4bs_7680_936(yy[53], yy[54], single[21], double[21], neg[21], pp_21_96); - r4bs r4bs_7680_1064(yy[51], yy[52], single[22], double[22], neg[22], pp_22_96); - fullAdd_x FA_7680_1192(int_5_96, int_4_96, pp_20_96, pp_21_96, pp_22_96); - r4bs r4bs_7680_1408(yy[49], yy[50], single[23], double[23], neg[23], pp_23_96); - r4bs r4bs_7680_1536(yy[47], yy[48], single[24], double[24], neg[24], pp_24_96); - r4bs r4bs_7680_1664(yy[45], yy[46], single[25], double[25], neg[25], pp_25_96); - fullAdd_x FA_7680_1792(int_7_96, int_6_96, pp_23_96, pp_24_96, pp_25_96); - r4bs r4bs_7680_2008(yy[43], yy[44], single[26], double[26], neg[26], pp_26_96); - r4bs r4bs_7680_2136(yy[41], yy[42], single[27], double[27], neg[27], pp_27_96); - r4bs r4bs_7680_2264(yy[39], yy[40], single[28], double[28], neg[28], pp_28_96); - fullAdd_x FA_7680_2392(int_9_96, int_8_96, pp_26_96, pp_27_96, pp_28_96); - r4bs r4bs_7680_2608(yy[37], yy[38], single[29], double[29], neg[29], pp_29_96); - r4bs r4bs_7680_2736(yy[35], yy[36], single[30], double[30], neg[30], pp_30_96); - r4bs r4bs_7680_2864(yy[33], yy[34], single[31], double[31], neg[31], pp_31_96); - fullAdd_x FA_7680_2992(int_11_96, int_10_96, pp_29_96, pp_30_96, pp_31_96); - r4bs r4bs_7680_3208(yy[31], yy[32], single[32], double[32], neg[32], pp_32_96); - fullAdd_x FA_7680_3336(int_13_96, int_12_96, pp_32_96, int_1_95, int_3_95); - fullAdd_x FA_7680_3552(int_15_96, int_14_96, int_5_95, int_7_95, int_9_95); - fullAdd_x FA_7680_3768(int_17_96, int_16_96, int_11_95, int_0_96, int_13_95); - fullAdd_x FA_7680_3984(int_19_96, int_18_96, int_15_95, int_2_96, int_4_96); - fullAdd_x FA_7680_4200(int_21_96, int_20_96, int_6_96, int_8_96, int_10_96); - fullAdd_x FA_7680_4416(int_23_96, int_22_96, int_17_95, int_19_95, int_21_95); - fullAdd_x FA_7680_4632(int_25_96, int_24_96, int_12_96, int_14_96, int_16_96); - fullAdd_x FA_7680_4848(int_27_96, int_26_96, int_23_95, int_18_96, int_20_96); - fullAdd_x FA_7680_5064(int_29_96, int_28_96, int_25_95, int_27_95, int_22_96); - fullAdd_x FA_7680_5280(int_31_96, int_30_96, int_24_96, int_29_95, int_26_96); - fullAdd_x FA_7680_5496(int_33_96, int_32_96, int_28_96, int_31_95, int_30_96); - assign Sum[96] = int_33_95; - assign Carry[96] = int_32_96; - - // Hardware for column 97 - - r4bs r4bs_7760_0(yy[62], yy[63], single[17], double[17], neg[17], pp_17_97); - r4bs r4bs_7760_128(yy[60], yy[61], single[18], double[18], neg[18], pp_18_97); - fullAdd_x FA_7760_256(int_1_97, int_0_97, negbar[16], pp_17_97, pp_18_97); - r4bs r4bs_7760_472(yy[58], yy[59], single[19], double[19], neg[19], pp_19_97); - r4bs r4bs_7760_600(yy[56], yy[57], single[20], double[20], neg[20], pp_20_97); - r4bs r4bs_7760_728(yy[54], yy[55], single[21], double[21], neg[21], pp_21_97); - fullAdd_x FA_7760_856(int_3_97, int_2_97, pp_19_97, pp_20_97, pp_21_97); - r4bs r4bs_7760_1072(yy[52], yy[53], single[22], double[22], neg[22], pp_22_97); - r4bs r4bs_7760_1200(yy[50], yy[51], single[23], double[23], neg[23], pp_23_97); - r4bs r4bs_7760_1328(yy[48], yy[49], single[24], double[24], neg[24], pp_24_97); - fullAdd_x FA_7760_1456(int_5_97, int_4_97, pp_22_97, pp_23_97, pp_24_97); - r4bs r4bs_7760_1672(yy[46], yy[47], single[25], double[25], neg[25], pp_25_97); - r4bs r4bs_7760_1800(yy[44], yy[45], single[26], double[26], neg[26], pp_26_97); - r4bs r4bs_7760_1928(yy[42], yy[43], single[27], double[27], neg[27], pp_27_97); - fullAdd_x FA_7760_2056(int_7_97, int_6_97, pp_25_97, pp_26_97, pp_27_97); - r4bs r4bs_7760_2272(yy[40], yy[41], single[28], double[28], neg[28], pp_28_97); - r4bs r4bs_7760_2400(yy[38], yy[39], single[29], double[29], neg[29], pp_29_97); - r4bs r4bs_7760_2528(yy[36], yy[37], single[30], double[30], neg[30], pp_30_97); - fullAdd_x FA_7760_2656(int_9_97, int_8_97, pp_28_97, pp_29_97, pp_30_97); - r4bs r4bs_7760_2872(yy[34], yy[35], single[31], double[31], neg[31], pp_31_97); - r4bs r4bs_7760_3000(yy[32], yy[33], single[32], double[32], neg[32], pp_32_97); - fullAdd_x FA_7760_3128(int_11_97, int_10_97, pp_31_97, pp_32_97, int_1_96); - fullAdd_x FA_7760_3344(int_13_97, int_12_97, int_3_96, int_5_96, int_7_96); - fullAdd_x FA_7760_3560(int_15_97, int_14_97, int_9_96, int_11_96, int_13_96); - fullAdd_x FA_7760_3776(int_17_97, int_16_97, int_15_96, int_0_97, int_2_97); - fullAdd_x FA_7760_3992(int_19_97, int_18_97, int_4_97, int_6_97, int_8_97); - fullAdd_x FA_7760_4208(int_21_97, int_20_97, int_10_97, int_17_96, int_19_96); - fullAdd_x FA_7760_4424(int_23_97, int_22_97, int_21_96, int_12_97, int_14_97); - fullAdd_x FA_7760_4640(int_25_97, int_24_97, int_23_96, int_25_96, int_16_97); - fullAdd_x FA_7760_4856(int_27_97, int_26_97, int_18_97, int_27_96, int_20_97); - fullAdd_x FA_7760_5072(int_29_97, int_28_97, int_22_97, int_29_96, int_24_97); - fullAdd_x FA_7760_5288(int_31_97, int_30_97, int_31_96, int_26_97, int_28_97); - assign Sum[97] = int_33_96; - assign Carry[97] = int_30_97; - - // Hardware for column 98 - - r4bs r4bs_7840_0(yy[63], gnd, single[17], double[17], neg[17], pp_17_98); - halfAdd HA_7840_128(int_1_98, int_0_98, 1'b1, pp_17_98); - r4bs r4bs_7840_208(yy[61], yy[62], single[18], double[18], neg[18], pp_18_98); - r4bs r4bs_7840_336(yy[59], yy[60], single[19], double[19], neg[19], pp_19_98); - r4bs r4bs_7840_464(yy[57], yy[58], single[20], double[20], neg[20], pp_20_98); - fullAdd_x FA_7840_592(int_3_98, int_2_98, pp_18_98, pp_19_98, pp_20_98); - r4bs r4bs_7840_808(yy[55], yy[56], single[21], double[21], neg[21], pp_21_98); - r4bs r4bs_7840_936(yy[53], yy[54], single[22], double[22], neg[22], pp_22_98); - r4bs r4bs_7840_1064(yy[51], yy[52], single[23], double[23], neg[23], pp_23_98); - fullAdd_x FA_7840_1192(int_5_98, int_4_98, pp_21_98, pp_22_98, pp_23_98); - r4bs r4bs_7840_1408(yy[49], yy[50], single[24], double[24], neg[24], pp_24_98); - r4bs r4bs_7840_1536(yy[47], yy[48], single[25], double[25], neg[25], pp_25_98); - r4bs r4bs_7840_1664(yy[45], yy[46], single[26], double[26], neg[26], pp_26_98); - fullAdd_x FA_7840_1792(int_7_98, int_6_98, pp_24_98, pp_25_98, pp_26_98); - r4bs r4bs_7840_2008(yy[43], yy[44], single[27], double[27], neg[27], pp_27_98); - r4bs r4bs_7840_2136(yy[41], yy[42], single[28], double[28], neg[28], pp_28_98); - r4bs r4bs_7840_2264(yy[39], yy[40], single[29], double[29], neg[29], pp_29_98); - fullAdd_x FA_7840_2392(int_9_98, int_8_98, pp_27_98, pp_28_98, pp_29_98); - r4bs r4bs_7840_2608(yy[37], yy[38], single[30], double[30], neg[30], pp_30_98); - r4bs r4bs_7840_2736(yy[35], yy[36], single[31], double[31], neg[31], pp_31_98); - r4bs r4bs_7840_2864(yy[33], yy[34], single[32], double[32], neg[32], pp_32_98); - fullAdd_x FA_7840_2992(int_11_98, int_10_98, pp_30_98, pp_31_98, pp_32_98); - fullAdd_x FA_7840_3208(int_13_98, int_12_98, int_1_97, int_3_97, int_5_97); - fullAdd_x FA_7840_3424(int_15_98, int_14_98, int_7_97, int_9_97, int_0_98); - fullAdd_x FA_7840_3640(int_17_98, int_16_98, int_11_97, int_13_97, int_2_98); - fullAdd_x FA_7840_3856(int_19_98, int_18_98, int_4_98, int_6_98, int_8_98); - fullAdd_x FA_7840_4072(int_21_98, int_20_98, int_10_98, int_15_97, int_17_97); - fullAdd_x FA_7840_4288(int_23_98, int_22_98, int_19_97, int_12_98, int_14_98); - fullAdd_x FA_7840_4504(int_25_98, int_24_98, int_21_97, int_23_97, int_16_98); - fullAdd_x FA_7840_4720(int_27_98, int_26_98, int_18_98, int_25_97, int_20_98); - fullAdd_x FA_7840_4936(int_29_98, int_28_98, int_22_98, int_27_97, int_24_98); - fullAdd_x FA_7840_5152(int_31_98, int_30_98, int_29_97, int_26_98, int_28_98); - assign Sum[98] = int_31_97; - assign Carry[98] = int_30_98; - - // Hardware for column 99 - - r4bs r4bs_7920_0(yy[62], yy[63], single[18], double[18], neg[18], pp_18_99); - r4bs r4bs_7920_128(yy[60], yy[61], single[19], double[19], neg[19], pp_19_99); - fullAdd_x FA_7920_256(int_1_99, int_0_99, negbar[17], pp_18_99, pp_19_99); - r4bs r4bs_7920_472(yy[58], yy[59], single[20], double[20], neg[20], pp_20_99); - r4bs r4bs_7920_600(yy[56], yy[57], single[21], double[21], neg[21], pp_21_99); - r4bs r4bs_7920_728(yy[54], yy[55], single[22], double[22], neg[22], pp_22_99); - fullAdd_x FA_7920_856(int_3_99, int_2_99, pp_20_99, pp_21_99, pp_22_99); - r4bs r4bs_7920_1072(yy[52], yy[53], single[23], double[23], neg[23], pp_23_99); - r4bs r4bs_7920_1200(yy[50], yy[51], single[24], double[24], neg[24], pp_24_99); - r4bs r4bs_7920_1328(yy[48], yy[49], single[25], double[25], neg[25], pp_25_99); - fullAdd_x FA_7920_1456(int_5_99, int_4_99, pp_23_99, pp_24_99, pp_25_99); - r4bs r4bs_7920_1672(yy[46], yy[47], single[26], double[26], neg[26], pp_26_99); - r4bs r4bs_7920_1800(yy[44], yy[45], single[27], double[27], neg[27], pp_27_99); - r4bs r4bs_7920_1928(yy[42], yy[43], single[28], double[28], neg[28], pp_28_99); - fullAdd_x FA_7920_2056(int_7_99, int_6_99, pp_26_99, pp_27_99, pp_28_99); - r4bs r4bs_7920_2272(yy[40], yy[41], single[29], double[29], neg[29], pp_29_99); - r4bs r4bs_7920_2400(yy[38], yy[39], single[30], double[30], neg[30], pp_30_99); - r4bs r4bs_7920_2528(yy[36], yy[37], single[31], double[31], neg[31], pp_31_99); - fullAdd_x FA_7920_2656(int_9_99, int_8_99, pp_29_99, pp_30_99, pp_31_99); - r4bs r4bs_7920_2872(yy[34], yy[35], single[32], double[32], neg[32], pp_32_99); - fullAdd_x FA_7920_3000(int_11_99, int_10_99, pp_32_99, int_1_98, int_3_98); - fullAdd_x FA_7920_3216(int_13_99, int_12_99, int_5_98, int_7_98, int_9_98); - fullAdd_x FA_7920_3432(int_15_99, int_14_99, int_11_98, int_13_98, int_15_98); - fullAdd_x FA_7920_3648(int_17_99, int_16_99, int_0_99, int_2_99, int_4_99); - fullAdd_x FA_7920_3864(int_19_99, int_18_99, int_6_99, int_8_99, int_10_99); - fullAdd_x FA_7920_4080(int_21_99, int_20_99, int_17_98, int_19_98, int_12_99); - fullAdd_x FA_7920_4296(int_23_99, int_22_99, int_21_98, int_23_98, int_14_99); - fullAdd_x FA_7920_4512(int_25_99, int_24_99, int_16_99, int_18_99, int_25_98); - fullAdd_x FA_7920_4728(int_27_99, int_26_99, int_20_99, int_27_98, int_22_99); - fullAdd_x FA_7920_4944(int_29_99, int_28_99, int_24_99, int_29_98, int_26_99); - assign Sum[99] = int_31_98; - assign Carry[99] = int_28_99; - - // Hardware for column 100 - - r4bs r4bs_8000_0(yy[63], gnd, single[18], double[18], neg[18], pp_18_100); - halfAdd HA_8000_128(int_1_100, int_0_100, 1'b1, pp_18_100); - r4bs r4bs_8000_208(yy[61], yy[62], single[19], double[19], neg[19], pp_19_100); - r4bs r4bs_8000_336(yy[59], yy[60], single[20], double[20], neg[20], pp_20_100); - r4bs r4bs_8000_464(yy[57], yy[58], single[21], double[21], neg[21], pp_21_100); - fullAdd_x FA_8000_592(int_3_100, int_2_100, pp_19_100, pp_20_100, pp_21_100); - r4bs r4bs_8000_808(yy[55], yy[56], single[22], double[22], neg[22], pp_22_100); - r4bs r4bs_8000_936(yy[53], yy[54], single[23], double[23], neg[23], pp_23_100); - r4bs r4bs_8000_1064(yy[51], yy[52], single[24], double[24], neg[24], pp_24_100); - fullAdd_x FA_8000_1192(int_5_100, int_4_100, pp_22_100, pp_23_100, pp_24_100); - r4bs r4bs_8000_1408(yy[49], yy[50], single[25], double[25], neg[25], pp_25_100); - r4bs r4bs_8000_1536(yy[47], yy[48], single[26], double[26], neg[26], pp_26_100); - r4bs r4bs_8000_1664(yy[45], yy[46], single[27], double[27], neg[27], pp_27_100); - fullAdd_x FA_8000_1792(int_7_100, int_6_100, pp_25_100, pp_26_100, pp_27_100); - r4bs r4bs_8000_2008(yy[43], yy[44], single[28], double[28], neg[28], pp_28_100); - r4bs r4bs_8000_2136(yy[41], yy[42], single[29], double[29], neg[29], pp_29_100); - r4bs r4bs_8000_2264(yy[39], yy[40], single[30], double[30], neg[30], pp_30_100); - fullAdd_x FA_8000_2392(int_9_100, int_8_100, pp_28_100, pp_29_100, pp_30_100); - r4bs r4bs_8000_2608(yy[37], yy[38], single[31], double[31], neg[31], pp_31_100); - r4bs r4bs_8000_2736(yy[35], yy[36], single[32], double[32], neg[32], pp_32_100); - fullAdd_x FA_8000_2864(int_11_100, int_10_100, pp_31_100, pp_32_100, int_1_99); - fullAdd_x FA_8000_3080(int_13_100, int_12_100, int_3_99, int_5_99, int_7_99); - fullAdd_x FA_8000_3296(int_15_100, int_14_100, int_9_99, int_0_100, int_11_99); - fullAdd_x FA_8000_3512(int_17_100, int_16_100, int_13_99, int_2_100, int_4_100); - fullAdd_x FA_8000_3728(int_19_100, int_18_100, int_6_100, int_8_100, int_10_100); - fullAdd_x FA_8000_3944(int_21_100, int_20_100, int_15_99, int_17_99, int_12_100); - fullAdd_x FA_8000_4160(int_23_100, int_22_100, int_14_100, int_19_99, int_21_99); - fullAdd_x FA_8000_4376(int_25_100, int_24_100, int_16_100, int_18_100, int_23_99); - fullAdd_x FA_8000_4592(int_27_100, int_26_100, int_20_100, int_22_100, int_25_99); - fullAdd_x FA_8000_4808(int_29_100, int_28_100, int_24_100, int_27_99, int_26_100); - assign Sum[100] = int_29_99; - assign Carry[100] = int_28_100; - - // Hardware for column 101 - - r4bs r4bs_8080_0(yy[62], yy[63], single[19], double[19], neg[19], pp_19_101); - r4bs r4bs_8080_128(yy[60], yy[61], single[20], double[20], neg[20], pp_20_101); - fullAdd_x FA_8080_256(int_1_101, int_0_101, negbar[18], pp_19_101, pp_20_101); - r4bs r4bs_8080_472(yy[58], yy[59], single[21], double[21], neg[21], pp_21_101); - r4bs r4bs_8080_600(yy[56], yy[57], single[22], double[22], neg[22], pp_22_101); - r4bs r4bs_8080_728(yy[54], yy[55], single[23], double[23], neg[23], pp_23_101); - fullAdd_x FA_8080_856(int_3_101, int_2_101, pp_21_101, pp_22_101, pp_23_101); - r4bs r4bs_8080_1072(yy[52], yy[53], single[24], double[24], neg[24], pp_24_101); - r4bs r4bs_8080_1200(yy[50], yy[51], single[25], double[25], neg[25], pp_25_101); - r4bs r4bs_8080_1328(yy[48], yy[49], single[26], double[26], neg[26], pp_26_101); - fullAdd_x FA_8080_1456(int_5_101, int_4_101, pp_24_101, pp_25_101, pp_26_101); - r4bs r4bs_8080_1672(yy[46], yy[47], single[27], double[27], neg[27], pp_27_101); - r4bs r4bs_8080_1800(yy[44], yy[45], single[28], double[28], neg[28], pp_28_101); - r4bs r4bs_8080_1928(yy[42], yy[43], single[29], double[29], neg[29], pp_29_101); - fullAdd_x FA_8080_2056(int_7_101, int_6_101, pp_27_101, pp_28_101, pp_29_101); - r4bs r4bs_8080_2272(yy[40], yy[41], single[30], double[30], neg[30], pp_30_101); - r4bs r4bs_8080_2400(yy[38], yy[39], single[31], double[31], neg[31], pp_31_101); - r4bs r4bs_8080_2528(yy[36], yy[37], single[32], double[32], neg[32], pp_32_101); - fullAdd_x FA_8080_2656(int_9_101, int_8_101, pp_30_101, pp_31_101, pp_32_101); - fullAdd_x FA_8080_2872(int_11_101, int_10_101, int_1_100, int_3_100, int_5_100); - fullAdd_x FA_8080_3088(int_13_101, int_12_101, int_7_100, int_9_100, int_11_100); - fullAdd_x FA_8080_3304(int_15_101, int_14_101, int_13_100, int_0_101, int_2_101); - fullAdd_x FA_8080_3520(int_17_101, int_16_101, int_4_101, int_6_101, int_8_101); - fullAdd_x FA_8080_3736(int_19_101, int_18_101, int_15_100, int_17_100, int_19_100); - fullAdd_x FA_8080_3952(int_21_101, int_20_101, int_10_101, int_12_101, int_21_100); - fullAdd_x FA_8080_4168(int_23_101, int_22_101, int_14_101, int_16_101, int_23_100); - fullAdd_x FA_8080_4384(int_25_101, int_24_101, int_18_101, int_20_101, int_25_100); - fullAdd_x FA_8080_4600(int_27_101, int_26_101, int_22_101, int_27_100, int_24_101); - assign Sum[101] = int_29_100; - assign Carry[101] = int_26_101; - - // Hardware for column 102 - - r4bs r4bs_8160_0(yy[63], gnd, single[19], double[19], neg[19], pp_19_102); - halfAdd HA_8160_128(int_1_102, int_0_102, 1'b1, pp_19_102); - r4bs r4bs_8160_208(yy[61], yy[62], single[20], double[20], neg[20], pp_20_102); - r4bs r4bs_8160_336(yy[59], yy[60], single[21], double[21], neg[21], pp_21_102); - r4bs r4bs_8160_464(yy[57], yy[58], single[22], double[22], neg[22], pp_22_102); - fullAdd_x FA_8160_592(int_3_102, int_2_102, pp_20_102, pp_21_102, pp_22_102); - r4bs r4bs_8160_808(yy[55], yy[56], single[23], double[23], neg[23], pp_23_102); - r4bs r4bs_8160_936(yy[53], yy[54], single[24], double[24], neg[24], pp_24_102); - r4bs r4bs_8160_1064(yy[51], yy[52], single[25], double[25], neg[25], pp_25_102); - fullAdd_x FA_8160_1192(int_5_102, int_4_102, pp_23_102, pp_24_102, pp_25_102); - r4bs r4bs_8160_1408(yy[49], yy[50], single[26], double[26], neg[26], pp_26_102); - r4bs r4bs_8160_1536(yy[47], yy[48], single[27], double[27], neg[27], pp_27_102); - r4bs r4bs_8160_1664(yy[45], yy[46], single[28], double[28], neg[28], pp_28_102); - fullAdd_x FA_8160_1792(int_7_102, int_6_102, pp_26_102, pp_27_102, pp_28_102); - r4bs r4bs_8160_2008(yy[43], yy[44], single[29], double[29], neg[29], pp_29_102); - r4bs r4bs_8160_2136(yy[41], yy[42], single[30], double[30], neg[30], pp_30_102); - r4bs r4bs_8160_2264(yy[39], yy[40], single[31], double[31], neg[31], pp_31_102); - fullAdd_x FA_8160_2392(int_9_102, int_8_102, pp_29_102, pp_30_102, pp_31_102); - r4bs r4bs_8160_2608(yy[37], yy[38], single[32], double[32], neg[32], pp_32_102); - fullAdd_x FA_8160_2736(int_11_102, int_10_102, pp_32_102, int_1_101, int_3_101); - fullAdd_x FA_8160_2952(int_13_102, int_12_102, int_5_101, int_7_101, int_9_101); - fullAdd_x FA_8160_3168(int_15_102, int_14_102, int_0_102, int_11_101, int_2_102); - fullAdd_x FA_8160_3384(int_17_102, int_16_102, int_4_102, int_6_102, int_8_102); - fullAdd_x FA_8160_3600(int_19_102, int_18_102, int_13_101, int_15_101, int_17_101); - fullAdd_x FA_8160_3816(int_21_102, int_20_102, int_10_102, int_12_102, int_19_101); - fullAdd_x FA_8160_4032(int_23_102, int_22_102, int_14_102, int_16_102, int_21_101); - fullAdd_x FA_8160_4248(int_25_102, int_24_102, int_18_102, int_20_102, int_23_101); - fullAdd_x FA_8160_4464(int_27_102, int_26_102, int_22_102, int_25_101, int_24_102); - assign Sum[102] = int_27_101; - assign Carry[102] = int_26_102; - - // Hardware for column 103 - - r4bs r4bs_8240_0(yy[62], yy[63], single[20], double[20], neg[20], pp_20_103); - r4bs r4bs_8240_128(yy[60], yy[61], single[21], double[21], neg[21], pp_21_103); - fullAdd_x FA_8240_256(int_1_103, int_0_103, negbar[19], pp_20_103, pp_21_103); - r4bs r4bs_8240_472(yy[58], yy[59], single[22], double[22], neg[22], pp_22_103); - r4bs r4bs_8240_600(yy[56], yy[57], single[23], double[23], neg[23], pp_23_103); - r4bs r4bs_8240_728(yy[54], yy[55], single[24], double[24], neg[24], pp_24_103); - fullAdd_x FA_8240_856(int_3_103, int_2_103, pp_22_103, pp_23_103, pp_24_103); - r4bs r4bs_8240_1072(yy[52], yy[53], single[25], double[25], neg[25], pp_25_103); - r4bs r4bs_8240_1200(yy[50], yy[51], single[26], double[26], neg[26], pp_26_103); - r4bs r4bs_8240_1328(yy[48], yy[49], single[27], double[27], neg[27], pp_27_103); - fullAdd_x FA_8240_1456(int_5_103, int_4_103, pp_25_103, pp_26_103, pp_27_103); - r4bs r4bs_8240_1672(yy[46], yy[47], single[28], double[28], neg[28], pp_28_103); - r4bs r4bs_8240_1800(yy[44], yy[45], single[29], double[29], neg[29], pp_29_103); - r4bs r4bs_8240_1928(yy[42], yy[43], single[30], double[30], neg[30], pp_30_103); - fullAdd_x FA_8240_2056(int_7_103, int_6_103, pp_28_103, pp_29_103, pp_30_103); - r4bs r4bs_8240_2272(yy[40], yy[41], single[31], double[31], neg[31], pp_31_103); - r4bs r4bs_8240_2400(yy[38], yy[39], single[32], double[32], neg[32], pp_32_103); - fullAdd_x FA_8240_2528(int_9_103, int_8_103, pp_31_103, pp_32_103, int_1_102); - fullAdd_x FA_8240_2744(int_11_103, int_10_103, int_3_102, int_5_102, int_7_102); - fullAdd_x FA_8240_2960(int_13_103, int_12_103, int_9_102, int_11_102, int_13_102); - fullAdd_x FA_8240_3176(int_15_103, int_14_103, int_0_103, int_2_103, int_4_103); - fullAdd_x FA_8240_3392(int_17_103, int_16_103, int_6_103, int_8_103, int_15_102); - fullAdd_x FA_8240_3608(int_19_103, int_18_103, int_17_102, int_10_103, int_19_102); - fullAdd_x FA_8240_3824(int_21_103, int_20_103, int_12_103, int_14_103, int_16_103); - fullAdd_x FA_8240_4040(int_23_103, int_22_103, int_21_102, int_18_103, int_23_102); - fullAdd_x FA_8240_4256(int_25_103, int_24_103, int_20_103, int_25_102, int_22_103); - assign Sum[103] = int_27_102; - assign Carry[103] = int_24_103; - - // Hardware for column 104 - - r4bs r4bs_8320_0(yy[63], gnd, single[20], double[20], neg[20], pp_20_104); - halfAdd HA_8320_128(int_1_104, int_0_104, 1'b1, pp_20_104); - r4bs r4bs_8320_208(yy[61], yy[62], single[21], double[21], neg[21], pp_21_104); - r4bs r4bs_8320_336(yy[59], yy[60], single[22], double[22], neg[22], pp_22_104); - r4bs r4bs_8320_464(yy[57], yy[58], single[23], double[23], neg[23], pp_23_104); - fullAdd_x FA_8320_592(int_3_104, int_2_104, pp_21_104, pp_22_104, pp_23_104); - r4bs r4bs_8320_808(yy[55], yy[56], single[24], double[24], neg[24], pp_24_104); - r4bs r4bs_8320_936(yy[53], yy[54], single[25], double[25], neg[25], pp_25_104); - r4bs r4bs_8320_1064(yy[51], yy[52], single[26], double[26], neg[26], pp_26_104); - fullAdd_x FA_8320_1192(int_5_104, int_4_104, pp_24_104, pp_25_104, pp_26_104); - r4bs r4bs_8320_1408(yy[49], yy[50], single[27], double[27], neg[27], pp_27_104); - r4bs r4bs_8320_1536(yy[47], yy[48], single[28], double[28], neg[28], pp_28_104); - r4bs r4bs_8320_1664(yy[45], yy[46], single[29], double[29], neg[29], pp_29_104); - fullAdd_x FA_8320_1792(int_7_104, int_6_104, pp_27_104, pp_28_104, pp_29_104); - r4bs r4bs_8320_2008(yy[43], yy[44], single[30], double[30], neg[30], pp_30_104); - r4bs r4bs_8320_2136(yy[41], yy[42], single[31], double[31], neg[31], pp_31_104); - r4bs r4bs_8320_2264(yy[39], yy[40], single[32], double[32], neg[32], pp_32_104); - fullAdd_x FA_8320_2392(int_9_104, int_8_104, pp_30_104, pp_31_104, pp_32_104); - fullAdd_x FA_8320_2608(int_11_104, int_10_104, int_1_103, int_3_103, int_5_103); - fullAdd_x FA_8320_2824(int_13_104, int_12_104, int_7_103, int_0_104, int_9_103); - fullAdd_x FA_8320_3040(int_15_104, int_14_104, int_11_103, int_2_104, int_4_104); - fullAdd_x FA_8320_3256(int_17_104, int_16_104, int_6_104, int_8_104, int_13_103); - fullAdd_x FA_8320_3472(int_19_104, int_18_104, int_15_103, int_10_104, int_12_104); - fullAdd_x FA_8320_3688(int_21_104, int_20_104, int_17_103, int_14_104, int_16_104); - fullAdd_x FA_8320_3904(int_23_104, int_22_104, int_19_103, int_21_103, int_18_104); - fullAdd_x FA_8320_4120(int_25_104, int_24_104, int_20_104, int_23_103, int_22_104); - assign Sum[104] = int_25_103; - assign Carry[104] = int_24_104; - - // Hardware for column 105 - - r4bs r4bs_8400_0(yy[62], yy[63], single[21], double[21], neg[21], pp_21_105); - r4bs r4bs_8400_128(yy[60], yy[61], single[22], double[22], neg[22], pp_22_105); - fullAdd_x FA_8400_256(int_1_105, int_0_105, negbar[20], pp_21_105, pp_22_105); - r4bs r4bs_8400_472(yy[58], yy[59], single[23], double[23], neg[23], pp_23_105); - r4bs r4bs_8400_600(yy[56], yy[57], single[24], double[24], neg[24], pp_24_105); - r4bs r4bs_8400_728(yy[54], yy[55], single[25], double[25], neg[25], pp_25_105); - fullAdd_x FA_8400_856(int_3_105, int_2_105, pp_23_105, pp_24_105, pp_25_105); - r4bs r4bs_8400_1072(yy[52], yy[53], single[26], double[26], neg[26], pp_26_105); - r4bs r4bs_8400_1200(yy[50], yy[51], single[27], double[27], neg[27], pp_27_105); - r4bs r4bs_8400_1328(yy[48], yy[49], single[28], double[28], neg[28], pp_28_105); - fullAdd_x FA_8400_1456(int_5_105, int_4_105, pp_26_105, pp_27_105, pp_28_105); - r4bs r4bs_8400_1672(yy[46], yy[47], single[29], double[29], neg[29], pp_29_105); - r4bs r4bs_8400_1800(yy[44], yy[45], single[30], double[30], neg[30], pp_30_105); - r4bs r4bs_8400_1928(yy[42], yy[43], single[31], double[31], neg[31], pp_31_105); - fullAdd_x FA_8400_2056(int_7_105, int_6_105, pp_29_105, pp_30_105, pp_31_105); - r4bs r4bs_8400_2272(yy[40], yy[41], single[32], double[32], neg[32], pp_32_105); - fullAdd_x FA_8400_2400(int_9_105, int_8_105, pp_32_105, int_1_104, int_3_104); - fullAdd_x FA_8400_2616(int_11_105, int_10_105, int_5_104, int_7_104, int_9_104); - fullAdd_x FA_8400_2832(int_13_105, int_12_105, int_11_104, int_0_105, int_2_105); - fullAdd_x FA_8400_3048(int_15_105, int_14_105, int_4_105, int_6_105, int_13_104); - fullAdd_x FA_8400_3264(int_17_105, int_16_105, int_8_105, int_15_104, int_10_105); - fullAdd_x FA_8400_3480(int_19_105, int_18_105, int_17_104, int_19_104, int_12_105); - fullAdd_x FA_8400_3696(int_21_105, int_20_105, int_14_105, int_21_104, int_16_105); - fullAdd_x FA_8400_3912(int_23_105, int_22_105, int_23_104, int_18_105, int_20_105); - assign Sum[105] = int_25_104; - assign Carry[105] = int_22_105; - - // Hardware for column 106 - - r4bs r4bs_8480_0(yy[63], gnd, single[21], double[21], neg[21], pp_21_106); - halfAdd HA_8480_128(int_1_106, int_0_106, 1'b1, pp_21_106); - r4bs r4bs_8480_208(yy[61], yy[62], single[22], double[22], neg[22], pp_22_106); - r4bs r4bs_8480_336(yy[59], yy[60], single[23], double[23], neg[23], pp_23_106); - r4bs r4bs_8480_464(yy[57], yy[58], single[24], double[24], neg[24], pp_24_106); - fullAdd_x FA_8480_592(int_3_106, int_2_106, pp_22_106, pp_23_106, pp_24_106); - r4bs r4bs_8480_808(yy[55], yy[56], single[25], double[25], neg[25], pp_25_106); - r4bs r4bs_8480_936(yy[53], yy[54], single[26], double[26], neg[26], pp_26_106); - r4bs r4bs_8480_1064(yy[51], yy[52], single[27], double[27], neg[27], pp_27_106); - fullAdd_x FA_8480_1192(int_5_106, int_4_106, pp_25_106, pp_26_106, pp_27_106); - r4bs r4bs_8480_1408(yy[49], yy[50], single[28], double[28], neg[28], pp_28_106); - r4bs r4bs_8480_1536(yy[47], yy[48], single[29], double[29], neg[29], pp_29_106); - r4bs r4bs_8480_1664(yy[45], yy[46], single[30], double[30], neg[30], pp_30_106); - fullAdd_x FA_8480_1792(int_7_106, int_6_106, pp_28_106, pp_29_106, pp_30_106); - r4bs r4bs_8480_2008(yy[43], yy[44], single[31], double[31], neg[31], pp_31_106); - r4bs r4bs_8480_2136(yy[41], yy[42], single[32], double[32], neg[32], pp_32_106); - fullAdd_x FA_8480_2264(int_9_106, int_8_106, pp_31_106, pp_32_106, int_1_105); - fullAdd_x FA_8480_2480(int_11_106, int_10_106, int_3_105, int_5_105, int_7_105); - fullAdd_x FA_8480_2696(int_13_106, int_12_106, int_0_106, int_9_105, int_11_105); - fullAdd_x FA_8480_2912(int_15_106, int_14_106, int_2_106, int_4_106, int_6_106); - fullAdd_x FA_8480_3128(int_17_106, int_16_106, int_8_106, int_13_105, int_10_106); - fullAdd_x FA_8480_3344(int_19_106, int_18_106, int_15_105, int_17_105, int_12_106); - fullAdd_x FA_8480_3560(int_21_106, int_20_106, int_14_106, int_19_105, int_16_106); - fullAdd_x FA_8480_3776(int_23_106, int_22_106, int_21_105, int_18_106, int_20_106); - assign Sum[106] = int_23_105; - assign Carry[106] = int_22_106; - - // Hardware for column 107 - - r4bs r4bs_8560_0(yy[62], yy[63], single[22], double[22], neg[22], pp_22_107); - r4bs r4bs_8560_128(yy[60], yy[61], single[23], double[23], neg[23], pp_23_107); - fullAdd_x FA_8560_256(int_1_107, int_0_107, negbar[21], pp_22_107, pp_23_107); - r4bs r4bs_8560_472(yy[58], yy[59], single[24], double[24], neg[24], pp_24_107); - r4bs r4bs_8560_600(yy[56], yy[57], single[25], double[25], neg[25], pp_25_107); - r4bs r4bs_8560_728(yy[54], yy[55], single[26], double[26], neg[26], pp_26_107); - fullAdd_x FA_8560_856(int_3_107, int_2_107, pp_24_107, pp_25_107, pp_26_107); - r4bs r4bs_8560_1072(yy[52], yy[53], single[27], double[27], neg[27], pp_27_107); - r4bs r4bs_8560_1200(yy[50], yy[51], single[28], double[28], neg[28], pp_28_107); - r4bs r4bs_8560_1328(yy[48], yy[49], single[29], double[29], neg[29], pp_29_107); - fullAdd_x FA_8560_1456(int_5_107, int_4_107, pp_27_107, pp_28_107, pp_29_107); - r4bs r4bs_8560_1672(yy[46], yy[47], single[30], double[30], neg[30], pp_30_107); - r4bs r4bs_8560_1800(yy[44], yy[45], single[31], double[31], neg[31], pp_31_107); - r4bs r4bs_8560_1928(yy[42], yy[43], single[32], double[32], neg[32], pp_32_107); - fullAdd_x FA_8560_2056(int_7_107, int_6_107, pp_30_107, pp_31_107, pp_32_107); - fullAdd_x FA_8560_2272(int_9_107, int_8_107, int_1_106, int_3_106, int_5_106); - fullAdd_x FA_8560_2488(int_11_107, int_10_107, int_7_106, int_9_106, int_11_106); - fullAdd_x FA_8560_2704(int_13_107, int_12_107, int_0_107, int_2_107, int_4_107); - fullAdd_x FA_8560_2920(int_15_107, int_14_107, int_6_107, int_13_106, int_15_106); - fullAdd_x FA_8560_3136(int_17_107, int_16_107, int_8_107, int_17_106, int_10_107); - fullAdd_x FA_8560_3352(int_19_107, int_18_107, int_12_107, int_19_106, int_14_107); - fullAdd_x FA_8560_3568(int_21_107, int_20_107, int_21_106, int_16_107, int_18_107); - assign Sum[107] = int_23_106; - assign Carry[107] = int_20_107; - - // Hardware for column 108 - - r4bs r4bs_8640_0(yy[63], gnd, single[22], double[22], neg[22], pp_22_108); - halfAdd HA_8640_128(int_1_108, int_0_108, 1'b1, pp_22_108); - r4bs r4bs_8640_208(yy[61], yy[62], single[23], double[23], neg[23], pp_23_108); - r4bs r4bs_8640_336(yy[59], yy[60], single[24], double[24], neg[24], pp_24_108); - r4bs r4bs_8640_464(yy[57], yy[58], single[25], double[25], neg[25], pp_25_108); - fullAdd_x FA_8640_592(int_3_108, int_2_108, pp_23_108, pp_24_108, pp_25_108); - r4bs r4bs_8640_808(yy[55], yy[56], single[26], double[26], neg[26], pp_26_108); - r4bs r4bs_8640_936(yy[53], yy[54], single[27], double[27], neg[27], pp_27_108); - r4bs r4bs_8640_1064(yy[51], yy[52], single[28], double[28], neg[28], pp_28_108); - fullAdd_x FA_8640_1192(int_5_108, int_4_108, pp_26_108, pp_27_108, pp_28_108); - r4bs r4bs_8640_1408(yy[49], yy[50], single[29], double[29], neg[29], pp_29_108); - r4bs r4bs_8640_1536(yy[47], yy[48], single[30], double[30], neg[30], pp_30_108); - r4bs r4bs_8640_1664(yy[45], yy[46], single[31], double[31], neg[31], pp_31_108); - fullAdd_x FA_8640_1792(int_7_108, int_6_108, pp_29_108, pp_30_108, pp_31_108); - r4bs r4bs_8640_2008(yy[43], yy[44], single[32], double[32], neg[32], pp_32_108); - fullAdd_x FA_8640_2136(int_9_108, int_8_108, pp_32_108, int_1_107, int_3_107); - fullAdd_x FA_8640_2352(int_11_108, int_10_108, int_5_107, int_7_107, int_0_108); - fullAdd_x FA_8640_2568(int_13_108, int_12_108, int_9_107, int_2_108, int_4_108); - fullAdd_x FA_8640_2784(int_15_108, int_14_108, int_6_108, int_11_107, int_13_107); - fullAdd_x FA_8640_3000(int_17_108, int_16_108, int_8_108, int_10_108, int_15_107); - fullAdd_x FA_8640_3216(int_19_108, int_18_108, int_12_108, int_17_107, int_14_108); - fullAdd_x FA_8640_3432(int_21_108, int_20_108, int_16_108, int_19_107, int_18_108); - assign Sum[108] = int_21_107; - assign Carry[108] = int_20_108; - - // Hardware for column 109 - - r4bs r4bs_8720_0(yy[62], yy[63], single[23], double[23], neg[23], pp_23_109); - r4bs r4bs_8720_128(yy[60], yy[61], single[24], double[24], neg[24], pp_24_109); - fullAdd_x FA_8720_256(int_1_109, int_0_109, negbar[22], pp_23_109, pp_24_109); - r4bs r4bs_8720_472(yy[58], yy[59], single[25], double[25], neg[25], pp_25_109); - r4bs r4bs_8720_600(yy[56], yy[57], single[26], double[26], neg[26], pp_26_109); - r4bs r4bs_8720_728(yy[54], yy[55], single[27], double[27], neg[27], pp_27_109); - fullAdd_x FA_8720_856(int_3_109, int_2_109, pp_25_109, pp_26_109, pp_27_109); - r4bs r4bs_8720_1072(yy[52], yy[53], single[28], double[28], neg[28], pp_28_109); - r4bs r4bs_8720_1200(yy[50], yy[51], single[29], double[29], neg[29], pp_29_109); - r4bs r4bs_8720_1328(yy[48], yy[49], single[30], double[30], neg[30], pp_30_109); - fullAdd_x FA_8720_1456(int_5_109, int_4_109, pp_28_109, pp_29_109, pp_30_109); - r4bs r4bs_8720_1672(yy[46], yy[47], single[31], double[31], neg[31], pp_31_109); - r4bs r4bs_8720_1800(yy[44], yy[45], single[32], double[32], neg[32], pp_32_109); - fullAdd_x FA_8720_1928(int_7_109, int_6_109, pp_31_109, pp_32_109, int_1_108); - fullAdd_x FA_8720_2144(int_9_109, int_8_109, int_3_108, int_5_108, int_7_108); - fullAdd_x FA_8720_2360(int_11_109, int_10_109, int_9_108, int_11_108, int_0_109); - fullAdd_x FA_8720_2576(int_13_109, int_12_109, int_2_109, int_4_109, int_6_109); - fullAdd_x FA_8720_2792(int_15_109, int_14_109, int_13_108, int_8_109, int_15_108); - fullAdd_x FA_8720_3008(int_17_109, int_16_109, int_10_109, int_12_109, int_17_108); - fullAdd_x FA_8720_3224(int_19_109, int_18_109, int_14_109, int_19_108, int_16_109); - assign Sum[109] = int_21_108; - assign Carry[109] = int_18_109; - - // Hardware for column 110 - - r4bs r4bs_8800_0(yy[63], gnd, single[23], double[23], neg[23], pp_23_110); - halfAdd HA_8800_128(int_1_110, int_0_110, 1'b1, pp_23_110); - r4bs r4bs_8800_208(yy[61], yy[62], single[24], double[24], neg[24], pp_24_110); - r4bs r4bs_8800_336(yy[59], yy[60], single[25], double[25], neg[25], pp_25_110); - r4bs r4bs_8800_464(yy[57], yy[58], single[26], double[26], neg[26], pp_26_110); - fullAdd_x FA_8800_592(int_3_110, int_2_110, pp_24_110, pp_25_110, pp_26_110); - r4bs r4bs_8800_808(yy[55], yy[56], single[27], double[27], neg[27], pp_27_110); - r4bs r4bs_8800_936(yy[53], yy[54], single[28], double[28], neg[28], pp_28_110); - r4bs r4bs_8800_1064(yy[51], yy[52], single[29], double[29], neg[29], pp_29_110); - fullAdd_x FA_8800_1192(int_5_110, int_4_110, pp_27_110, pp_28_110, pp_29_110); - r4bs r4bs_8800_1408(yy[49], yy[50], single[30], double[30], neg[30], pp_30_110); - r4bs r4bs_8800_1536(yy[47], yy[48], single[31], double[31], neg[31], pp_31_110); - r4bs r4bs_8800_1664(yy[45], yy[46], single[32], double[32], neg[32], pp_32_110); - fullAdd_x FA_8800_1792(int_7_110, int_6_110, pp_30_110, pp_31_110, pp_32_110); - fullAdd_x FA_8800_2008(int_9_110, int_8_110, int_1_109, int_3_109, int_5_109); - fullAdd_x FA_8800_2224(int_11_110, int_10_110, int_0_110, int_7_109, int_9_109); - fullAdd_x FA_8800_2440(int_13_110, int_12_110, int_2_110, int_4_110, int_6_110); - fullAdd_x FA_8800_2656(int_15_110, int_14_110, int_11_109, int_13_109, int_8_110); - fullAdd_x FA_8800_2872(int_17_110, int_16_110, int_10_110, int_12_110, int_15_109); - fullAdd_x FA_8800_3088(int_19_110, int_18_110, int_14_110, int_17_109, int_16_110); - assign Sum[110] = int_19_109; - assign Carry[110] = int_18_110; - - // Hardware for column 111 - - r4bs r4bs_8880_0(yy[62], yy[63], single[24], double[24], neg[24], pp_24_111); - r4bs r4bs_8880_128(yy[60], yy[61], single[25], double[25], neg[25], pp_25_111); - fullAdd_x FA_8880_256(int_1_111, int_0_111, negbar[23], pp_24_111, pp_25_111); - r4bs r4bs_8880_472(yy[58], yy[59], single[26], double[26], neg[26], pp_26_111); - r4bs r4bs_8880_600(yy[56], yy[57], single[27], double[27], neg[27], pp_27_111); - r4bs r4bs_8880_728(yy[54], yy[55], single[28], double[28], neg[28], pp_28_111); - fullAdd_x FA_8880_856(int_3_111, int_2_111, pp_26_111, pp_27_111, pp_28_111); - r4bs r4bs_8880_1072(yy[52], yy[53], single[29], double[29], neg[29], pp_29_111); - r4bs r4bs_8880_1200(yy[50], yy[51], single[30], double[30], neg[30], pp_30_111); - r4bs r4bs_8880_1328(yy[48], yy[49], single[31], double[31], neg[31], pp_31_111); - fullAdd_x FA_8880_1456(int_5_111, int_4_111, pp_29_111, pp_30_111, pp_31_111); - r4bs r4bs_8880_1672(yy[46], yy[47], single[32], double[32], neg[32], pp_32_111); - fullAdd_x FA_8880_1800(int_7_111, int_6_111, pp_32_111, int_1_110, int_3_110); - fullAdd_x FA_8880_2016(int_9_111, int_8_111, int_5_110, int_7_110, int_9_110); - fullAdd_x FA_8880_2232(int_11_111, int_10_111, int_0_111, int_2_111, int_4_111); - fullAdd_x FA_8880_2448(int_13_111, int_12_111, int_6_111, int_11_110, int_13_110); - fullAdd_x FA_8880_2664(int_15_111, int_14_111, int_8_111, int_15_110, int_10_111); - fullAdd_x FA_8880_2880(int_17_111, int_16_111, int_12_111, int_17_110, int_14_111); - assign Sum[111] = int_19_110; - assign Carry[111] = int_16_111; - - // Hardware for column 112 - - r4bs r4bs_8960_0(yy[63], gnd, single[24], double[24], neg[24], pp_24_112); - halfAdd HA_8960_128(int_1_112, int_0_112, 1'b1, pp_24_112); - r4bs r4bs_8960_208(yy[61], yy[62], single[25], double[25], neg[25], pp_25_112); - r4bs r4bs_8960_336(yy[59], yy[60], single[26], double[26], neg[26], pp_26_112); - r4bs r4bs_8960_464(yy[57], yy[58], single[27], double[27], neg[27], pp_27_112); - fullAdd_x FA_8960_592(int_3_112, int_2_112, pp_25_112, pp_26_112, pp_27_112); - r4bs r4bs_8960_808(yy[55], yy[56], single[28], double[28], neg[28], pp_28_112); - r4bs r4bs_8960_936(yy[53], yy[54], single[29], double[29], neg[29], pp_29_112); - r4bs r4bs_8960_1064(yy[51], yy[52], single[30], double[30], neg[30], pp_30_112); - fullAdd_x FA_8960_1192(int_5_112, int_4_112, pp_28_112, pp_29_112, pp_30_112); - r4bs r4bs_8960_1408(yy[49], yy[50], single[31], double[31], neg[31], pp_31_112); - r4bs r4bs_8960_1536(yy[47], yy[48], single[32], double[32], neg[32], pp_32_112); - fullAdd_x FA_8960_1664(int_7_112, int_6_112, pp_31_112, pp_32_112, int_1_111); - fullAdd_x FA_8960_1880(int_9_112, int_8_112, int_3_111, int_5_111, int_0_112); - fullAdd_x FA_8960_2096(int_11_112, int_10_112, int_7_111, int_2_112, int_4_112); - fullAdd_x FA_8960_2312(int_13_112, int_12_112, int_6_112, int_9_111, int_11_111); - fullAdd_x FA_8960_2528(int_15_112, int_14_112, int_8_112, int_13_111, int_10_112); - fullAdd_x FA_8960_2744(int_17_112, int_16_112, int_15_111, int_12_112, int_14_112); - assign Sum[112] = int_17_111; - assign Carry[112] = int_16_112; - - // Hardware for column 113 - - r4bs r4bs_9040_0(yy[62], yy[63], single[25], double[25], neg[25], pp_25_113); - r4bs r4bs_9040_128(yy[60], yy[61], single[26], double[26], neg[26], pp_26_113); - fullAdd_x FA_9040_256(int_1_113, int_0_113, negbar[24], pp_25_113, pp_26_113); - r4bs r4bs_9040_472(yy[58], yy[59], single[27], double[27], neg[27], pp_27_113); - r4bs r4bs_9040_600(yy[56], yy[57], single[28], double[28], neg[28], pp_28_113); - r4bs r4bs_9040_728(yy[54], yy[55], single[29], double[29], neg[29], pp_29_113); - fullAdd_x FA_9040_856(int_3_113, int_2_113, pp_27_113, pp_28_113, pp_29_113); - r4bs r4bs_9040_1072(yy[52], yy[53], single[30], double[30], neg[30], pp_30_113); - r4bs r4bs_9040_1200(yy[50], yy[51], single[31], double[31], neg[31], pp_31_113); - r4bs r4bs_9040_1328(yy[48], yy[49], single[32], double[32], neg[32], pp_32_113); - fullAdd_x FA_9040_1456(int_5_113, int_4_113, pp_30_113, pp_31_113, pp_32_113); - fullAdd_x FA_9040_1672(int_7_113, int_6_113, int_1_112, int_3_112, int_5_112); - fullAdd_x FA_9040_1888(int_9_113, int_8_113, int_7_112, int_9_112, int_0_113); - fullAdd_x FA_9040_2104(int_11_113, int_10_113, int_2_113, int_4_113, int_11_112); - fullAdd_x FA_9040_2320(int_13_113, int_12_113, int_6_113, int_13_112, int_8_113); - fullAdd_x FA_9040_2536(int_15_113, int_14_113, int_10_113, int_15_112, int_12_113); - assign Sum[113] = int_17_112; - assign Carry[113] = int_14_113; - - // Hardware for column 114 - - r4bs r4bs_9120_0(yy[63], gnd, single[25], double[25], neg[25], pp_25_114); - halfAdd HA_9120_128(int_1_114, int_0_114, 1'b1, pp_25_114); - r4bs r4bs_9120_208(yy[61], yy[62], single[26], double[26], neg[26], pp_26_114); - r4bs r4bs_9120_336(yy[59], yy[60], single[27], double[27], neg[27], pp_27_114); - r4bs r4bs_9120_464(yy[57], yy[58], single[28], double[28], neg[28], pp_28_114); - fullAdd_x FA_9120_592(int_3_114, int_2_114, pp_26_114, pp_27_114, pp_28_114); - r4bs r4bs_9120_808(yy[55], yy[56], single[29], double[29], neg[29], pp_29_114); - r4bs r4bs_9120_936(yy[53], yy[54], single[30], double[30], neg[30], pp_30_114); - r4bs r4bs_9120_1064(yy[51], yy[52], single[31], double[31], neg[31], pp_31_114); - fullAdd_x FA_9120_1192(int_5_114, int_4_114, pp_29_114, pp_30_114, pp_31_114); - r4bs r4bs_9120_1408(yy[49], yy[50], single[32], double[32], neg[32], pp_32_114); - fullAdd_x FA_9120_1536(int_7_114, int_6_114, pp_32_114, int_1_113, int_3_113); - fullAdd_x FA_9120_1752(int_9_114, int_8_114, int_5_113, int_0_114, int_7_113); - fullAdd_x FA_9120_1968(int_11_114, int_10_114, int_2_114, int_4_114, int_9_113); - fullAdd_x FA_9120_2184(int_13_114, int_12_114, int_6_114, int_8_114, int_11_113); - fullAdd_x FA_9120_2400(int_15_114, int_14_114, int_10_114, int_13_113, int_12_114); - assign Sum[114] = int_15_113; - assign Carry[114] = int_14_114; - - // Hardware for column 115 - - r4bs r4bs_9200_0(yy[62], yy[63], single[26], double[26], neg[26], pp_26_115); - r4bs r4bs_9200_128(yy[60], yy[61], single[27], double[27], neg[27], pp_27_115); - fullAdd_x FA_9200_256(int_1_115, int_0_115, negbar[25], pp_26_115, pp_27_115); - r4bs r4bs_9200_472(yy[58], yy[59], single[28], double[28], neg[28], pp_28_115); - r4bs r4bs_9200_600(yy[56], yy[57], single[29], double[29], neg[29], pp_29_115); - r4bs r4bs_9200_728(yy[54], yy[55], single[30], double[30], neg[30], pp_30_115); - fullAdd_x FA_9200_856(int_3_115, int_2_115, pp_28_115, pp_29_115, pp_30_115); - r4bs r4bs_9200_1072(yy[52], yy[53], single[31], double[31], neg[31], pp_31_115); - r4bs r4bs_9200_1200(yy[50], yy[51], single[32], double[32], neg[32], pp_32_115); - fullAdd_x FA_9200_1328(int_5_115, int_4_115, pp_31_115, pp_32_115, int_1_114); - fullAdd_x FA_9200_1544(int_7_115, int_6_115, int_3_114, int_5_114, int_7_114); - fullAdd_x FA_9200_1760(int_9_115, int_8_115, int_0_115, int_2_115, int_4_115); - fullAdd_x FA_9200_1976(int_11_115, int_10_115, int_9_114, int_6_115, int_11_114); - fullAdd_x FA_9200_2192(int_13_115, int_12_115, int_8_115, int_13_114, int_10_115); - assign Sum[115] = int_15_114; - assign Carry[115] = int_12_115; - - // Hardware for column 116 - - r4bs r4bs_9280_0(yy[63], gnd, single[26], double[26], neg[26], pp_26_116); - halfAdd HA_9280_128(int_1_116, int_0_116, 1'b1, pp_26_116); - r4bs r4bs_9280_208(yy[61], yy[62], single[27], double[27], neg[27], pp_27_116); - r4bs r4bs_9280_336(yy[59], yy[60], single[28], double[28], neg[28], pp_28_116); - r4bs r4bs_9280_464(yy[57], yy[58], single[29], double[29], neg[29], pp_29_116); - fullAdd_x FA_9280_592(int_3_116, int_2_116, pp_27_116, pp_28_116, pp_29_116); - r4bs r4bs_9280_808(yy[55], yy[56], single[30], double[30], neg[30], pp_30_116); - r4bs r4bs_9280_936(yy[53], yy[54], single[31], double[31], neg[31], pp_31_116); - r4bs r4bs_9280_1064(yy[51], yy[52], single[32], double[32], neg[32], pp_32_116); - fullAdd_x FA_9280_1192(int_5_116, int_4_116, pp_30_116, pp_31_116, pp_32_116); - fullAdd_x FA_9280_1408(int_7_116, int_6_116, int_1_115, int_3_115, int_0_116); - fullAdd_x FA_9280_1624(int_9_116, int_8_116, int_5_115, int_2_116, int_4_116); - fullAdd_x FA_9280_1840(int_11_116, int_10_116, int_7_115, int_9_115, int_6_116); - fullAdd_x FA_9280_2056(int_13_116, int_12_116, int_8_116, int_11_115, int_10_116); - assign Sum[116] = int_13_115; - assign Carry[116] = int_12_116; - - // Hardware for column 117 - - r4bs r4bs_9360_0(yy[62], yy[63], single[27], double[27], neg[27], pp_27_117); - r4bs r4bs_9360_128(yy[60], yy[61], single[28], double[28], neg[28], pp_28_117); - fullAdd_x FA_9360_256(int_1_117, int_0_117, negbar[26], pp_27_117, pp_28_117); - r4bs r4bs_9360_472(yy[58], yy[59], single[29], double[29], neg[29], pp_29_117); - r4bs r4bs_9360_600(yy[56], yy[57], single[30], double[30], neg[30], pp_30_117); - r4bs r4bs_9360_728(yy[54], yy[55], single[31], double[31], neg[31], pp_31_117); - fullAdd_x FA_9360_856(int_3_117, int_2_117, pp_29_117, pp_30_117, pp_31_117); - r4bs r4bs_9360_1072(yy[52], yy[53], single[32], double[32], neg[32], pp_32_117); - fullAdd_x FA_9360_1200(int_5_117, int_4_117, pp_32_117, int_1_116, int_3_116); - fullAdd_x FA_9360_1416(int_7_117, int_6_117, int_5_116, int_7_116, int_0_117); - fullAdd_x FA_9360_1632(int_9_117, int_8_117, int_2_117, int_4_117, int_9_116); - fullAdd_x FA_9360_1848(int_11_117, int_10_117, int_11_116, int_6_117, int_8_117); - assign Sum[117] = int_13_116; - assign Carry[117] = int_10_117; - - // Hardware for column 118 - - r4bs r4bs_9440_0(yy[63], gnd, single[27], double[27], neg[27], pp_27_118); - halfAdd HA_9440_128(int_1_118, int_0_118, 1'b1, pp_27_118); - r4bs r4bs_9440_208(yy[61], yy[62], single[28], double[28], neg[28], pp_28_118); - r4bs r4bs_9440_336(yy[59], yy[60], single[29], double[29], neg[29], pp_29_118); - r4bs r4bs_9440_464(yy[57], yy[58], single[30], double[30], neg[30], pp_30_118); - fullAdd_x FA_9440_592(int_3_118, int_2_118, pp_28_118, pp_29_118, pp_30_118); - r4bs r4bs_9440_808(yy[55], yy[56], single[31], double[31], neg[31], pp_31_118); - r4bs r4bs_9440_936(yy[53], yy[54], single[32], double[32], neg[32], pp_32_118); - fullAdd_x FA_9440_1064(int_5_118, int_4_118, pp_31_118, pp_32_118, int_1_117); - fullAdd_x FA_9440_1280(int_7_118, int_6_118, int_3_117, int_0_118, int_5_117); - fullAdd_x FA_9440_1496(int_9_118, int_8_118, int_2_118, int_4_118, int_7_117); - fullAdd_x FA_9440_1712(int_11_118, int_10_118, int_6_118, int_9_117, int_8_118); - assign Sum[118] = int_11_117; - assign Carry[118] = int_10_118; - - // Hardware for column 119 - - r4bs r4bs_9520_0(yy[62], yy[63], single[28], double[28], neg[28], pp_28_119); - r4bs r4bs_9520_128(yy[60], yy[61], single[29], double[29], neg[29], pp_29_119); - fullAdd_x FA_9520_256(int_1_119, int_0_119, negbar[27], pp_28_119, pp_29_119); - r4bs r4bs_9520_472(yy[58], yy[59], single[30], double[30], neg[30], pp_30_119); - r4bs r4bs_9520_600(yy[56], yy[57], single[31], double[31], neg[31], pp_31_119); - r4bs r4bs_9520_728(yy[54], yy[55], single[32], double[32], neg[32], pp_32_119); - fullAdd_x FA_9520_856(int_3_119, int_2_119, pp_30_119, pp_31_119, pp_32_119); - fullAdd_x FA_9520_1072(int_5_119, int_4_119, int_1_118, int_3_118, int_5_118); - fullAdd_x FA_9520_1288(int_7_119, int_6_119, int_0_119, int_2_119, int_7_118); - fullAdd_x FA_9520_1504(int_9_119, int_8_119, int_4_119, int_9_118, int_6_119); - assign Sum[119] = int_11_118; - assign Carry[119] = int_8_119; - - // Hardware for column 120 - - r4bs r4bs_9600_0(yy[63], gnd, single[28], double[28], neg[28], pp_28_120); - halfAdd HA_9600_128(int_1_120, int_0_120, 1'b1, pp_28_120); - r4bs r4bs_9600_208(yy[61], yy[62], single[29], double[29], neg[29], pp_29_120); - r4bs r4bs_9600_336(yy[59], yy[60], single[30], double[30], neg[30], pp_30_120); - r4bs r4bs_9600_464(yy[57], yy[58], single[31], double[31], neg[31], pp_31_120); - fullAdd_x FA_9600_592(int_3_120, int_2_120, pp_29_120, pp_30_120, pp_31_120); - r4bs r4bs_9600_808(yy[55], yy[56], single[32], double[32], neg[32], pp_32_120); - fullAdd_x FA_9600_936(int_5_120, int_4_120, pp_32_120, int_1_119, int_3_119); - fullAdd_x FA_9600_1152(int_7_120, int_6_120, int_0_120, int_2_120, int_5_119); - fullAdd_x FA_9600_1368(int_9_120, int_8_120, int_4_120, int_7_119, int_6_120); - assign Sum[120] = int_9_119; - assign Carry[120] = int_8_120; - - // Hardware for column 121 - - r4bs r4bs_9680_0(yy[62], yy[63], single[29], double[29], neg[29], pp_29_121); - r4bs r4bs_9680_128(yy[60], yy[61], single[30], double[30], neg[30], pp_30_121); - fullAdd_x FA_9680_256(int_1_121, int_0_121, negbar[28], pp_29_121, pp_30_121); - r4bs r4bs_9680_472(yy[58], yy[59], single[31], double[31], neg[31], pp_31_121); - r4bs r4bs_9680_600(yy[56], yy[57], single[32], double[32], neg[32], pp_32_121); - fullAdd_x FA_9680_728(int_3_121, int_2_121, pp_31_121, pp_32_121, int_1_120); - fullAdd_x FA_9680_944(int_5_121, int_4_121, int_3_120, int_5_120, int_0_121); - fullAdd_x FA_9680_1160(int_7_121, int_6_121, int_2_121, int_7_120, int_4_121); - assign Sum[121] = int_9_120; - assign Carry[121] = int_6_121; - - // Hardware for column 122 - - r4bs r4bs_9760_0(yy[63], gnd, single[29], double[29], neg[29], pp_29_122); - halfAdd HA_9760_128(int_1_122, int_0_122, 1'b1, pp_29_122); - r4bs r4bs_9760_208(yy[61], yy[62], single[30], double[30], neg[30], pp_30_122); - r4bs r4bs_9760_336(yy[59], yy[60], single[31], double[31], neg[31], pp_31_122); - r4bs r4bs_9760_464(yy[57], yy[58], single[32], double[32], neg[32], pp_32_122); - fullAdd_x FA_9760_592(int_3_122, int_2_122, pp_30_122, pp_31_122, pp_32_122); - fullAdd_x FA_9760_808(int_5_122, int_4_122, int_1_121, int_0_122, int_3_121); - fullAdd_x FA_9760_1024(int_7_122, int_6_122, int_2_122, int_5_121, int_4_122); - assign Sum[122] = int_7_121; - assign Carry[122] = int_6_122; - - // Hardware for column 123 - - r4bs r4bs_9840_0(yy[62], yy[63], single[30], double[30], neg[30], pp_30_123); - r4bs r4bs_9840_128(yy[60], yy[61], single[31], double[31], neg[31], pp_31_123); - fullAdd_x FA_9840_256(int_1_123, int_0_123, negbar[29], pp_30_123, pp_31_123); - r4bs r4bs_9840_472(yy[58], yy[59], single[32], double[32], neg[32], pp_32_123); - fullAdd_x FA_9840_600(int_3_123, int_2_123, pp_32_123, int_1_122, int_3_122); - fullAdd_x FA_9840_816(int_5_123, int_4_123, int_0_123, int_5_122, int_2_123); - assign Sum[123] = int_7_122; - assign Carry[123] = int_4_123; - - // Hardware for column 124 - - r4bs r4bs_9920_0(yy[63], gnd, single[30], double[30], neg[30], pp_30_124); - halfAdd HA_9920_128(int_1_124, int_0_124, 1'b1, pp_30_124); - r4bs r4bs_9920_208(yy[61], yy[62], single[31], double[31], neg[31], pp_31_124); - r4bs r4bs_9920_336(yy[59], yy[60], single[32], double[32], neg[32], pp_32_124); - fullAdd_x FA_9920_464(int_3_124, int_2_124, pp_31_124, pp_32_124, int_1_123); - fullAdd_x FA_9920_680(int_5_124, int_4_124, int_0_124, int_3_123, int_2_124); - assign Sum[124] = int_5_123; - assign Carry[124] = int_4_124; - - // Hardware for column 125 - - r4bs r4bs_10000_0(yy[62], yy[63], single[31], double[31], neg[31], pp_31_125); - r4bs r4bs_10000_128(yy[60], yy[61], single[32], double[32], neg[32], pp_32_125); - fullAdd_x FA_10000_256(int_1_125, int_0_125, negbar[30], pp_31_125, pp_32_125); - fullAdd_x FA_10000_472(int_3_125, int_2_125, int_1_124, int_3_124, int_0_125); - assign Sum[125] = int_5_124; - assign Carry[125] = int_2_125; - - // Hardware for column 126 - - r4bs r4bs_10080_0(yy[63], gnd, single[31], double[31], neg[31], pp_31_126); - halfAdd HA_10080_128(int_1_126, int_0_126, 1'b1, pp_31_126); - r4bs r4bs_10080_208(yy[61], yy[62], single[32], double[32], neg[32], pp_32_126); - fullAdd_x FA_10080_336(int_3_126, int_2_126, pp_32_126, int_1_125, int_0_126); - assign Sum[126] = int_3_125; - assign Carry[126] = int_2_126; - - // Hardware for column 127 - - r4bs r4bs_10160_0(yy[62], yy[63], single[32], double[32], neg[32], pp_32_127); - xor3 xor_10160_128(negbar[31], pp_32_127, int_1_126, int_0_127); - assign Sum[127] = int_3_126; - assign Carry[127] = int_0_127; - -endmodule // multiplier - -// Extra Modules - -module aaoi(egress,in1,in2,in3,in4); - - output egress; - input in1; - input in2; - input in3; - input in4; - - assign egress = !(in1&in2) & !(in3&in4); - -endmodule // aaoi - - -module halfAdd(cout,s,a,b); - - output cout; - output s; - input a; - input b; - - and2 carryComp0_0(cout,a,b); - xor2 sumComp_0_40(a,b,s); - -endmodule // halfAdd - - -// booth_encoder_r4 takes in X[2:0], which corresponds to X_(2n-1) to X_(2n+1) -// it outputs control signals to a Booth selector that cause the selector to -// send out the correct partial product - -module r4bs(y1,y0,sing,doub,neg,pp); - - input y1; - input y0; - input sing; - input doub; - input neg; - output pp; - - wire aaoiRes; - - aaoi usppgen_0_0(aaoiRes,doub,y1,sing,y0); - xnor2 ppinverter_0_40(aaoiRes,neg,pp); - -endmodule // r4bs - - -module r4be(x0,x1,x2,sing,doub,neg); - - input x0; - input x1; - input x2; - output sing; - output doub; - output neg; - - wire singRes; - wire doubRes; - - wire x0b; - wire x1b; - wire x2b; - - wire nandaRes; - wire nandbRes; - - assign neg = x2; - assign sing = x0^x1; - assign x0b = ~x0; - assign x1b = ~x1; - assign x2b = ~x2; - - // Nand structure = see Bewick - assign nandaRes = ~(x0 & x1 & x2b); - assign nandbRes = ~(x0b & x1b & x2); - assign doub = ~(nandaRes & nandbRes); - -endmodule // r4be - -/* -// Use maj and two xor2's, with cin being late -module fullAdd_xc(cout, s, a, b, cin); - - output cout; - output s; - input a; - input b; - input cin; - - wire xorRes; - - xor2 XOR1_0_0(a,b,xorRes); - xor2 XOR2_0_56(xorRes,cin,s); - maj MAJ_0_112(cout,a,b,cin); - -endmodule // fullAdd_xc -*/ - -module maj(y, a, b, c); - - output y; - input a; - input b; - input c; - - wire min; - - min mincomp_0_0(min,a,b,c); - inverter outinv_0_32(y,min); - -endmodule // maj - -/* -// 4:2 Weinberger compressor -module fourtwo_x(t, S, C, X, Y, Z, W, t_1); - - output t;//fast cout - output S; - output C;//slow cout - - input X;//two xor delays to s - input Y;//three xor delays to s - input Z;//three xor delays to s - input W;//two xor delays to s - input t_1;//two xor delayts to s - - wire intermediate; - - fullAdd_xc firstCSA_0_0(t,intermediate,Y,Z,X); - fullAdd_xc secondCSA_0_160(C,S,W,t_1,intermediate); - -endmodule // fourtwo_x -*/ - -module inverter(egress, in); - - output egress; - input in; - - assign egress = ~in; - -endmodule // inverter - -module buffer(egress, in); - - output egress; - input in; - - assign egress = in; - -endmodule // buffer - -module subxor(egress,in1,in1_b,in2,in2_b); - - output egress; - input in1; - input in1_b; - input in2; - input in2_b; - - assign egress = (~(in2_b&in1_b)) & (~(in2&in1)); - -endmodule // subxor - -module xnor2(a,b,y); - input a; - input b; - output y; - - assign y = ~(a^b); - -endmodule // xnor2 - -module xor2(a,b,y); - input a; - input b; - output y; - - wire a_b; - wire b_b; - - - inverter inva_0_0(a_b,a); - inverter invb_0_16(b_b,b); - - subxor sub_0_32(y,a,a_b,b,b_b); - -endmodule // xor2 - -module xor3(a,b,c,y); - - input a; - input b; - input c; - output y; - - assign y = a^b^c; - -endmodule // xor3 - -module xor3c(egress,in1,in2,in3,in4,in5,in6); - - output egress; - input in1; - input in2; - input in3; - input in4; - input in5; - input in6; - - assign egress = (~in6&~in4&~in2) | (~in5&~in3&~in2) | (~in5&~in4&~in1) | - (~in6&~in3&~in1); - -endmodule // xor3c - -module fullAdd_x(cout,sum,a,b,c); - - output cout; - output sum; - input a; - input b; - input c; - - wire ab; - wire bb; - wire cb; - - inverter ainv_0_0(ab,a); - inverter binv_0_16(bb,b); - inverter cinv_0_32(cb,c); - - xor3c sumcomp_0_48(sum,a,ab,b,bb,c,cb); - maj majcomp_0_144(cout,a,b,c); - -endmodule // fullAdd_x - -/* -module nand2(egress,in1,in2); - - output egress; - input in1; - input in2; - - assign egress = ~(in1&in2); - -endmodule // nand2 - -module nand3(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - wire a,b; - - assign egress = ~(in1&in2&in3); - -endmodule // nand3 - -module and3(y,a,b,c); - - output y; - input a; - input b; - input c; - - assign y = a&b&c; - -endmodule // and3 -*/ -module and2(y,a,b); - - output y; - input a; - input b; - - assign y = a&b; - -endmodule // and2 -/* -module nor2(egress,in1,in2); - - output egress; - input in1; - input in2; - - assign egress = ~(in1|in2); - -endmodule // nor2 - -module or2(y,a,b); - - output y; - input a; - input b; - - assign y = a|b; - -endmodule // or2 - -module nor3(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~(in1|in2|in3); - -endmodule // nor3 - -module nand5(egress,in1,in2,in3,in4,in5); - - output egress; - input in1; - input in2; - input in3; - input in4; - input in5; - - assign egress = ~(in1&in2&in3&in4&in5); - -endmodule // nand5 - -module and5(y,a,b,c,d,e); - - output y; - input a; - input b; - input c; - input d; - input e; - - assign y = a&b&c&d&e; - -endmodule // and5 - -module nand4(egress,in1,in2,in3,in4); - - output egress; - input in1; - input in2; - input in3; - input in4; - - assign egress = ~(in1&in2&in3&in4); - -endmodule // nand4 - -module and4(y,a,b,c,d); - - output y; - input a; - input b; - input c; - input d; - - assign y = a&b&c&d; - -endmodule // and4 - -module oai(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~(in3 & (in1|in2)); - -endmodule // oai -*/ - -module aoi(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~(in3 | (in1&in2)); - -endmodule // aoi - -module min(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~in3&~in2 | ~in3&~in1 | ~in2&~in1; - -endmodule // min - -module sum_b(egress,in1,in2,in3,in4); - - output egress; - input in1; - input in2; - input in3; - input in4; - - assign egress = ~in4&(~(in3&in2&in1)) | ~(in3|in2|in1); - -endmodule // sum_b - -module fullAdd_i(cout_b,sum_b,a,b,c); - - output cout_b; - output sum_b; - input a; - input b; - input c; - - min carry_0_0(cout_b,a,b,c); - sum_b sum_0_32(sum_b,a,b,c,cout_b); - -endmodule // fullAdd_i -/* -module fullAdd(cout,s,a,b,c); - - output cout; - output s; - input a; - input b; - input c; - wire cout_b; - wire sum_b; - - fullAdd_i adder_0_0(cout_b,sum_b,a,b,c); - inverter couti_0_96(cout,cout_b); - inverter sumi_0_112(s,sum_b); - -endmodule // fullAdd - -module blackCell(g_i_j, p_i_j, g_i_k, p_i_k, g_kneg1_j, p_kneg1_j); - - output g_i_j; - output p_i_j; - input g_i_k; - input p_i_k; - input g_kneg1_j; - input p_kneg1_j; - - grayCell grayCell_0_0(g_i_j, g_i_k, p_i_k, g_kneg1_j); - and2 and_0_48(p_i_j, p_i_k, p_kneg1_j); - -endmodule // blackCell -*/ -module grayCell(g_i_j, g_i_k, p_i_k, g_kneg1_j); - - output g_i_j; - input g_i_k; - input p_i_k; - input g_kneg1_j; - - wire intermediate; - - aoi andorinv_0_0(intermediate,p_i_k,g_kneg1_j,g_i_k); - inverter inv_0_32(g_i_j,intermediate); - -endmodule // grayCell - diff --git a/wally-pipelined/src/fpu/mult_R4_64_64_cs.v b/wally-pipelined/src/fpu/mult_R4_64_64_cs.v deleted file mode 100755 index 7ad230df..00000000 --- a/wally-pipelined/src/fpu/mult_R4_64_64_cs.v +++ /dev/null @@ -1,11995 +0,0 @@ -// This module is a 64 by 64 TDM multiplier. -// It is unsigned and uses Radix-4 Booth encoding. -// This file was automatically generated by tdm.pl. - -module mult64 (x, y, P); - - input [63:0] x; - input [63:0] y; - - output [127:0] P; - - wire [127:0] Sum; - wire [127:0] Carry; - wire [128:0] Pt; - - multiplier p1 (y, x, Sum, Carry); - //assign Pt = Sum + Carry; - //assign P = Pt[127:0]; - ldf128 cpa (cout, P, Sum, Carry, 1'b0); - -endmodule // mult64 - -module multiplier( y, x, Sum, Carry ); - - input [63:0] x; - input [63:0] y; - - output [127:0] Sum; - output [127:0] Carry; - - supply0 gnd; - - //Buffers and their nets. - - wire [63:0] xx; - wire [63:0] yy; - - buffer buffer_0_0( xx[0], x[0]); - buffer buffer_0_32( yy[0], y[0]); - buffer buffer_80_0( xx[1], x[1]); - buffer buffer_80_32( yy[1], y[1]); - buffer buffer_160_0( xx[2], x[2]); - buffer buffer_160_32( yy[2], y[2]); - buffer buffer_240_0( xx[3], x[3]); - buffer buffer_240_32( yy[3], y[3]); - buffer buffer_320_0( xx[4], x[4]); - buffer buffer_320_32( yy[4], y[4]); - buffer buffer_400_0( xx[5], x[5]); - buffer buffer_400_32( yy[5], y[5]); - buffer buffer_480_0( xx[6], x[6]); - buffer buffer_480_32( yy[6], y[6]); - buffer buffer_560_0( xx[7], x[7]); - buffer buffer_560_32( yy[7], y[7]); - buffer buffer_640_0( xx[8], x[8]); - buffer buffer_640_32( yy[8], y[8]); - buffer buffer_720_0( xx[9], x[9]); - buffer buffer_720_32( yy[9], y[9]); - buffer buffer_800_0( xx[10], x[10]); - buffer buffer_800_32( yy[10], y[10]); - buffer buffer_880_0( xx[11], x[11]); - buffer buffer_880_32( yy[11], y[11]); - buffer buffer_960_0( xx[12], x[12]); - buffer buffer_960_32( yy[12], y[12]); - buffer buffer_1040_0( xx[13], x[13]); - buffer buffer_1040_32( yy[13], y[13]); - buffer buffer_1120_0( xx[14], x[14]); - buffer buffer_1120_32( yy[14], y[14]); - buffer buffer_1200_0( xx[15], x[15]); - buffer buffer_1200_32( yy[15], y[15]); - buffer buffer_1280_0( xx[16], x[16]); - buffer buffer_1280_32( yy[16], y[16]); - buffer buffer_1360_0( xx[17], x[17]); - buffer buffer_1360_32( yy[17], y[17]); - buffer buffer_1440_0( xx[18], x[18]); - buffer buffer_1440_32( yy[18], y[18]); - buffer buffer_1520_0( xx[19], x[19]); - buffer buffer_1520_32( yy[19], y[19]); - buffer buffer_1600_0( xx[20], x[20]); - buffer buffer_1600_32( yy[20], y[20]); - buffer buffer_1680_0( xx[21], x[21]); - buffer buffer_1680_32( yy[21], y[21]); - buffer buffer_1760_0( xx[22], x[22]); - buffer buffer_1760_32( yy[22], y[22]); - buffer buffer_1840_0( xx[23], x[23]); - buffer buffer_1840_32( yy[23], y[23]); - buffer buffer_1920_0( xx[24], x[24]); - buffer buffer_1920_32( yy[24], y[24]); - buffer buffer_2000_0( xx[25], x[25]); - buffer buffer_2000_32( yy[25], y[25]); - buffer buffer_2080_0( xx[26], x[26]); - buffer buffer_2080_32( yy[26], y[26]); - buffer buffer_2160_0( xx[27], x[27]); - buffer buffer_2160_32( yy[27], y[27]); - buffer buffer_2240_0( xx[28], x[28]); - buffer buffer_2240_32( yy[28], y[28]); - buffer buffer_2320_0( xx[29], x[29]); - buffer buffer_2320_32( yy[29], y[29]); - buffer buffer_2400_0( xx[30], x[30]); - buffer buffer_2400_32( yy[30], y[30]); - buffer buffer_2480_0( xx[31], x[31]); - buffer buffer_2480_32( yy[31], y[31]); - buffer buffer_2560_0( xx[32], x[32]); - buffer buffer_2560_32( yy[32], y[32]); - buffer buffer_2640_0( xx[33], x[33]); - buffer buffer_2640_32( yy[33], y[33]); - buffer buffer_2720_0( xx[34], x[34]); - buffer buffer_2720_32( yy[34], y[34]); - buffer buffer_2800_0( xx[35], x[35]); - buffer buffer_2800_32( yy[35], y[35]); - buffer buffer_2880_0( xx[36], x[36]); - buffer buffer_2880_32( yy[36], y[36]); - buffer buffer_2960_0( xx[37], x[37]); - buffer buffer_2960_32( yy[37], y[37]); - buffer buffer_3040_0( xx[38], x[38]); - buffer buffer_3040_32( yy[38], y[38]); - buffer buffer_3120_0( xx[39], x[39]); - buffer buffer_3120_32( yy[39], y[39]); - buffer buffer_3200_0( xx[40], x[40]); - buffer buffer_3200_32( yy[40], y[40]); - buffer buffer_3280_0( xx[41], x[41]); - buffer buffer_3280_32( yy[41], y[41]); - buffer buffer_3360_0( xx[42], x[42]); - buffer buffer_3360_32( yy[42], y[42]); - buffer buffer_3440_0( xx[43], x[43]); - buffer buffer_3440_32( yy[43], y[43]); - buffer buffer_3520_0( xx[44], x[44]); - buffer buffer_3520_32( yy[44], y[44]); - buffer buffer_3600_0( xx[45], x[45]); - buffer buffer_3600_32( yy[45], y[45]); - buffer buffer_3680_0( xx[46], x[46]); - buffer buffer_3680_32( yy[46], y[46]); - buffer buffer_3760_0( xx[47], x[47]); - buffer buffer_3760_32( yy[47], y[47]); - buffer buffer_3840_0( xx[48], x[48]); - buffer buffer_3840_32( yy[48], y[48]); - buffer buffer_3920_0( xx[49], x[49]); - buffer buffer_3920_32( yy[49], y[49]); - buffer buffer_4000_0( xx[50], x[50]); - buffer buffer_4000_32( yy[50], y[50]); - buffer buffer_4080_0( xx[51], x[51]); - buffer buffer_4080_32( yy[51], y[51]); - buffer buffer_4160_0( xx[52], x[52]); - buffer buffer_4160_32( yy[52], y[52]); - buffer buffer_4240_0( xx[53], x[53]); - buffer buffer_4240_32( yy[53], y[53]); - buffer buffer_4320_0( xx[54], x[54]); - buffer buffer_4320_32( yy[54], y[54]); - buffer buffer_4400_0( xx[55], x[55]); - buffer buffer_4400_32( yy[55], y[55]); - buffer buffer_4480_0( xx[56], x[56]); - buffer buffer_4480_32( yy[56], y[56]); - buffer buffer_4560_0( xx[57], x[57]); - buffer buffer_4560_32( yy[57], y[57]); - buffer buffer_4640_0( xx[58], x[58]); - buffer buffer_4640_32( yy[58], y[58]); - buffer buffer_4720_0( xx[59], x[59]); - buffer buffer_4720_32( yy[59], y[59]); - buffer buffer_4800_0( xx[60], x[60]); - buffer buffer_4800_32( yy[60], y[60]); - buffer buffer_4880_0( xx[61], x[61]); - buffer buffer_4880_32( yy[61], y[61]); - buffer buffer_4960_0( xx[62], x[62]); - buffer buffer_4960_32( yy[62], y[62]); - buffer buffer_5040_0( xx[63], x[63]); - buffer buffer_5040_32( yy[63], y[63]); - - - //Booth encoders and related wiring - - wire [32:0] single; - wire [32:0] double; - wire [32:0] neg; - wire [31:0] negbar; - - r4be r4be_10240_0(gnd, xx[0], xx[1], single[0], double[0], neg[0]); - inverter inverter_10240_168(negbar[0], neg[0]); - r4be r4be_10240_184(xx[1], xx[2], xx[3], single[1], double[1], neg[1]); - inverter inverter_10240_352(negbar[1], neg[1]); - r4be r4be_10240_368(xx[3], xx[4], xx[5], single[2], double[2], neg[2]); - inverter inverter_10240_536(negbar[2], neg[2]); - r4be r4be_10240_552(xx[5], xx[6], xx[7], single[3], double[3], neg[3]); - inverter inverter_10240_720(negbar[3], neg[3]); - r4be r4be_10240_736(xx[7], xx[8], xx[9], single[4], double[4], neg[4]); - inverter inverter_10240_904(negbar[4], neg[4]); - r4be r4be_10240_920(xx[9], xx[10], xx[11], single[5], double[5], neg[5]); - inverter inverter_10240_1088(negbar[5], neg[5]); - r4be r4be_10240_1104(xx[11], xx[12], xx[13], single[6], double[6], neg[6]); - inverter inverter_10240_1272(negbar[6], neg[6]); - r4be r4be_10240_1288(xx[13], xx[14], xx[15], single[7], double[7], neg[7]); - inverter inverter_10240_1456(negbar[7], neg[7]); - r4be r4be_10240_1472(xx[15], xx[16], xx[17], single[8], double[8], neg[8]); - inverter inverter_10240_1640(negbar[8], neg[8]); - r4be r4be_10240_1656(xx[17], xx[18], xx[19], single[9], double[9], neg[9]); - inverter inverter_10240_1824(negbar[9], neg[9]); - r4be r4be_10240_1840(xx[19], xx[20], xx[21], single[10], double[10], neg[10]); - inverter inverter_10240_2008(negbar[10], neg[10]); - r4be r4be_10240_2024(xx[21], xx[22], xx[23], single[11], double[11], neg[11]); - inverter inverter_10240_2192(negbar[11], neg[11]); - r4be r4be_10240_2208(xx[23], xx[24], xx[25], single[12], double[12], neg[12]); - inverter inverter_10240_2376(negbar[12], neg[12]); - r4be r4be_10240_2392(xx[25], xx[26], xx[27], single[13], double[13], neg[13]); - inverter inverter_10240_2560(negbar[13], neg[13]); - r4be r4be_10240_2576(xx[27], xx[28], xx[29], single[14], double[14], neg[14]); - inverter inverter_10240_2744(negbar[14], neg[14]); - r4be r4be_10240_2760(xx[29], xx[30], xx[31], single[15], double[15], neg[15]); - inverter inverter_10240_2928(negbar[15], neg[15]); - r4be r4be_10240_2944(xx[31], xx[32], xx[33], single[16], double[16], neg[16]); - inverter inverter_10240_3112(negbar[16], neg[16]); - r4be r4be_10240_3128(xx[33], xx[34], xx[35], single[17], double[17], neg[17]); - inverter inverter_10240_3296(negbar[17], neg[17]); - r4be r4be_10240_3312(xx[35], xx[36], xx[37], single[18], double[18], neg[18]); - inverter inverter_10240_3480(negbar[18], neg[18]); - r4be r4be_10240_3496(xx[37], xx[38], xx[39], single[19], double[19], neg[19]); - inverter inverter_10240_3664(negbar[19], neg[19]); - r4be r4be_10240_3680(xx[39], xx[40], xx[41], single[20], double[20], neg[20]); - inverter inverter_10240_3848(negbar[20], neg[20]); - r4be r4be_10240_3864(xx[41], xx[42], xx[43], single[21], double[21], neg[21]); - inverter inverter_10240_4032(negbar[21], neg[21]); - r4be r4be_10240_4048(xx[43], xx[44], xx[45], single[22], double[22], neg[22]); - inverter inverter_10240_4216(negbar[22], neg[22]); - r4be r4be_10240_4232(xx[45], xx[46], xx[47], single[23], double[23], neg[23]); - inverter inverter_10240_4400(negbar[23], neg[23]); - r4be r4be_10240_4416(xx[47], xx[48], xx[49], single[24], double[24], neg[24]); - inverter inverter_10240_4584(negbar[24], neg[24]); - r4be r4be_10240_4600(xx[49], xx[50], xx[51], single[25], double[25], neg[25]); - inverter inverter_10240_4768(negbar[25], neg[25]); - r4be r4be_10240_4784(xx[51], xx[52], xx[53], single[26], double[26], neg[26]); - inverter inverter_10240_4952(negbar[26], neg[26]); - r4be r4be_10240_4968(xx[53], xx[54], xx[55], single[27], double[27], neg[27]); - inverter inverter_10240_5136(negbar[27], neg[27]); - r4be r4be_10240_5152(xx[55], xx[56], xx[57], single[28], double[28], neg[28]); - inverter inverter_10240_5320(negbar[28], neg[28]); - r4be r4be_10240_5336(xx[57], xx[58], xx[59], single[29], double[29], neg[29]); - inverter inverter_10240_5504(negbar[29], neg[29]); - r4be r4be_10240_5520(xx[59], xx[60], xx[61], single[30], double[30], neg[30]); - inverter inverter_10240_5688(negbar[30], neg[30]); - r4be r4be_10240_5704(xx[61], xx[62], xx[63], single[31], double[31], neg[31]); - inverter inverter_10240_5872(negbar[31], neg[31]); - r4be r4be_10240_5888(xx[63], gnd, gnd, single[32], double[32], neg[32]); - - // Below are the nets for the partial products (booth) - wire pp_0_0; - wire pp_0_2; - wire pp_1_2; - wire pp_0_3; - wire pp_1_3; - wire pp_0_4; - wire pp_1_4; - wire pp_2_4; - wire pp_0_5; - wire pp_1_5; - wire pp_2_5; - wire pp_0_6; - wire pp_1_6; - wire pp_2_6; - wire pp_3_6; - wire pp_0_7; - wire pp_1_7; - wire pp_2_7; - wire pp_3_7; - wire pp_0_8; - wire pp_1_8; - wire pp_2_8; - wire pp_3_8; - wire pp_4_8; - wire pp_0_9; - wire pp_1_9; - wire pp_2_9; - wire pp_3_9; - wire pp_4_9; - wire pp_0_10; - wire pp_1_10; - wire pp_2_10; - wire pp_3_10; - wire pp_4_10; - wire pp_5_10; - wire pp_0_11; - wire pp_1_11; - wire pp_2_11; - wire pp_3_11; - wire pp_4_11; - wire pp_5_11; - wire pp_0_12; - wire pp_1_12; - wire pp_2_12; - wire pp_3_12; - wire pp_4_12; - wire pp_5_12; - wire pp_6_12; - wire pp_0_13; - wire pp_1_13; - wire pp_2_13; - wire pp_3_13; - wire pp_4_13; - wire pp_5_13; - wire pp_6_13; - wire pp_0_14; - wire pp_1_14; - wire pp_2_14; - wire pp_3_14; - wire pp_4_14; - wire pp_5_14; - wire pp_6_14; - wire pp_7_14; - wire pp_0_15; - wire pp_1_15; - wire pp_2_15; - wire pp_3_15; - wire pp_4_15; - wire pp_5_15; - wire pp_6_15; - wire pp_7_15; - wire pp_0_16; - wire pp_1_16; - wire pp_2_16; - wire pp_3_16; - wire pp_4_16; - wire pp_5_16; - wire pp_6_16; - wire pp_7_16; - wire pp_8_16; - wire pp_0_17; - wire pp_1_17; - wire pp_2_17; - wire pp_3_17; - wire pp_4_17; - wire pp_5_17; - wire pp_6_17; - wire pp_7_17; - wire pp_8_17; - wire pp_0_18; - wire pp_1_18; - wire pp_2_18; - wire pp_3_18; - wire pp_4_18; - wire pp_5_18; - wire pp_6_18; - wire pp_7_18; - wire pp_8_18; - wire pp_9_18; - wire pp_0_19; - wire pp_1_19; - wire pp_2_19; - wire pp_3_19; - wire pp_4_19; - wire pp_5_19; - wire pp_6_19; - wire pp_7_19; - wire pp_8_19; - wire pp_9_19; - wire pp_0_20; - wire pp_1_20; - wire pp_2_20; - wire pp_3_20; - wire pp_4_20; - wire pp_5_20; - wire pp_6_20; - wire pp_7_20; - wire pp_8_20; - wire pp_9_20; - wire pp_10_20; - wire pp_0_21; - wire pp_1_21; - wire pp_2_21; - wire pp_3_21; - wire pp_4_21; - wire pp_5_21; - wire pp_6_21; - wire pp_7_21; - wire pp_8_21; - wire pp_9_21; - wire pp_10_21; - wire pp_0_22; - wire pp_1_22; - wire pp_2_22; - wire pp_3_22; - wire pp_4_22; - wire pp_5_22; - wire pp_6_22; - wire pp_7_22; - wire pp_8_22; - wire pp_9_22; - wire pp_10_22; - wire pp_11_22; - wire pp_0_23; - wire pp_1_23; - wire pp_2_23; - wire pp_3_23; - wire pp_4_23; - wire pp_5_23; - wire pp_6_23; - wire pp_7_23; - wire pp_8_23; - wire pp_9_23; - wire pp_10_23; - wire pp_11_23; - wire pp_0_24; - wire pp_1_24; - wire pp_2_24; - wire pp_3_24; - wire pp_4_24; - wire pp_5_24; - wire pp_6_24; - wire pp_7_24; - wire pp_8_24; - wire pp_9_24; - wire pp_10_24; - wire pp_11_24; - wire pp_12_24; - wire pp_0_25; - wire pp_1_25; - wire pp_2_25; - wire pp_3_25; - wire pp_4_25; - wire pp_5_25; - wire pp_6_25; - wire pp_7_25; - wire pp_8_25; - wire pp_9_25; - wire pp_10_25; - wire pp_11_25; - wire pp_12_25; - wire pp_0_26; - wire pp_1_26; - wire pp_2_26; - wire pp_3_26; - wire pp_4_26; - wire pp_5_26; - wire pp_6_26; - wire pp_7_26; - wire pp_8_26; - wire pp_9_26; - wire pp_10_26; - wire pp_11_26; - wire pp_12_26; - wire pp_13_26; - wire pp_0_27; - wire pp_1_27; - wire pp_2_27; - wire pp_3_27; - wire pp_4_27; - wire pp_5_27; - wire pp_6_27; - wire pp_7_27; - wire pp_8_27; - wire pp_9_27; - wire pp_10_27; - wire pp_11_27; - wire pp_12_27; - wire pp_13_27; - wire pp_0_28; - wire pp_1_28; - wire pp_2_28; - wire pp_3_28; - wire pp_4_28; - wire pp_5_28; - wire pp_6_28; - wire pp_7_28; - wire pp_8_28; - wire pp_9_28; - wire pp_10_28; - wire pp_11_28; - wire pp_12_28; - wire pp_13_28; - wire pp_14_28; - wire pp_0_29; - wire pp_1_29; - wire pp_2_29; - wire pp_3_29; - wire pp_4_29; - wire pp_5_29; - wire pp_6_29; - wire pp_7_29; - wire pp_8_29; - wire pp_9_29; - wire pp_10_29; - wire pp_11_29; - wire pp_12_29; - wire pp_13_29; - wire pp_14_29; - wire pp_0_30; - wire pp_1_30; - wire pp_2_30; - wire pp_3_30; - wire pp_4_30; - wire pp_5_30; - wire pp_6_30; - wire pp_7_30; - wire pp_8_30; - wire pp_9_30; - wire pp_10_30; - wire pp_11_30; - wire pp_12_30; - wire pp_13_30; - wire pp_14_30; - wire pp_15_30; - wire pp_0_31; - wire pp_1_31; - wire pp_2_31; - wire pp_3_31; - wire pp_4_31; - wire pp_5_31; - wire pp_6_31; - wire pp_7_31; - wire pp_8_31; - wire pp_9_31; - wire pp_10_31; - wire pp_11_31; - wire pp_12_31; - wire pp_13_31; - wire pp_14_31; - wire pp_15_31; - wire pp_0_32; - wire pp_1_32; - wire pp_2_32; - wire pp_3_32; - wire pp_4_32; - wire pp_5_32; - wire pp_6_32; - wire pp_7_32; - wire pp_8_32; - wire pp_9_32; - wire pp_10_32; - wire pp_11_32; - wire pp_12_32; - wire pp_13_32; - wire pp_14_32; - wire pp_15_32; - wire pp_16_32; - wire pp_0_33; - wire pp_1_33; - wire pp_2_33; - wire pp_3_33; - wire pp_4_33; - wire pp_5_33; - wire pp_6_33; - wire pp_7_33; - wire pp_8_33; - wire pp_9_33; - wire pp_10_33; - wire pp_11_33; - wire pp_12_33; - wire pp_13_33; - wire pp_14_33; - wire pp_15_33; - wire pp_16_33; - wire pp_0_34; - wire pp_1_34; - wire pp_2_34; - wire pp_3_34; - wire pp_4_34; - wire pp_5_34; - wire pp_6_34; - wire pp_7_34; - wire pp_8_34; - wire pp_9_34; - wire pp_10_34; - wire pp_11_34; - wire pp_12_34; - wire pp_13_34; - wire pp_14_34; - wire pp_15_34; - wire pp_16_34; - wire pp_17_34; - wire pp_0_35; - wire pp_1_35; - wire pp_2_35; - wire pp_3_35; - wire pp_4_35; - wire pp_5_35; - wire pp_6_35; - wire pp_7_35; - wire pp_8_35; - wire pp_9_35; - wire pp_10_35; - wire pp_11_35; - wire pp_12_35; - wire pp_13_35; - wire pp_14_35; - wire pp_15_35; - wire pp_16_35; - wire pp_17_35; - wire pp_0_36; - wire pp_1_36; - wire pp_2_36; - wire pp_3_36; - wire pp_4_36; - wire pp_5_36; - wire pp_6_36; - wire pp_7_36; - wire pp_8_36; - wire pp_9_36; - wire pp_10_36; - wire pp_11_36; - wire pp_12_36; - wire pp_13_36; - wire pp_14_36; - wire pp_15_36; - wire pp_16_36; - wire pp_17_36; - wire pp_18_36; - wire pp_0_37; - wire pp_1_37; - wire pp_2_37; - wire pp_3_37; - wire pp_4_37; - wire pp_5_37; - wire pp_6_37; - wire pp_7_37; - wire pp_8_37; - wire pp_9_37; - wire pp_10_37; - wire pp_11_37; - wire pp_12_37; - wire pp_13_37; - wire pp_14_37; - wire pp_15_37; - wire pp_16_37; - wire pp_17_37; - wire pp_18_37; - wire pp_0_38; - wire pp_1_38; - wire pp_2_38; - wire pp_3_38; - wire pp_4_38; - wire pp_5_38; - wire pp_6_38; - wire pp_7_38; - wire pp_8_38; - wire pp_9_38; - wire pp_10_38; - wire pp_11_38; - wire pp_12_38; - wire pp_13_38; - wire pp_14_38; - wire pp_15_38; - wire pp_16_38; - wire pp_17_38; - wire pp_18_38; - wire pp_19_38; - wire pp_0_39; - wire pp_1_39; - wire pp_2_39; - wire pp_3_39; - wire pp_4_39; - wire pp_5_39; - wire pp_6_39; - wire pp_7_39; - wire pp_8_39; - wire pp_9_39; - wire pp_10_39; - wire pp_11_39; - wire pp_12_39; - wire pp_13_39; - wire pp_14_39; - wire pp_15_39; - wire pp_16_39; - wire pp_17_39; - wire pp_18_39; - wire pp_19_39; - wire pp_0_40; - wire pp_1_40; - wire pp_2_40; - wire pp_3_40; - wire pp_4_40; - wire pp_5_40; - wire pp_6_40; - wire pp_7_40; - wire pp_8_40; - wire pp_9_40; - wire pp_10_40; - wire pp_11_40; - wire pp_12_40; - wire pp_13_40; - wire pp_14_40; - wire pp_15_40; - wire pp_16_40; - wire pp_17_40; - wire pp_18_40; - wire pp_19_40; - wire pp_20_40; - wire pp_0_41; - wire pp_1_41; - wire pp_2_41; - wire pp_3_41; - wire pp_4_41; - wire pp_5_41; - wire pp_6_41; - wire pp_7_41; - wire pp_8_41; - wire pp_9_41; - wire pp_10_41; - wire pp_11_41; - wire pp_12_41; - wire pp_13_41; - wire pp_14_41; - wire pp_15_41; - wire pp_16_41; - wire pp_17_41; - wire pp_18_41; - wire pp_19_41; - wire pp_20_41; - wire pp_0_42; - wire pp_1_42; - wire pp_2_42; - wire pp_3_42; - wire pp_4_42; - wire pp_5_42; - wire pp_6_42; - wire pp_7_42; - wire pp_8_42; - wire pp_9_42; - wire pp_10_42; - wire pp_11_42; - wire pp_12_42; - wire pp_13_42; - wire pp_14_42; - wire pp_15_42; - wire pp_16_42; - wire pp_17_42; - wire pp_18_42; - wire pp_19_42; - wire pp_20_42; - wire pp_21_42; - wire pp_0_43; - wire pp_1_43; - wire pp_2_43; - wire pp_3_43; - wire pp_4_43; - wire pp_5_43; - wire pp_6_43; - wire pp_7_43; - wire pp_8_43; - wire pp_9_43; - wire pp_10_43; - wire pp_11_43; - wire pp_12_43; - wire pp_13_43; - wire pp_14_43; - wire pp_15_43; - wire pp_16_43; - wire pp_17_43; - wire pp_18_43; - wire pp_19_43; - wire pp_20_43; - wire pp_21_43; - wire pp_0_44; - wire pp_1_44; - wire pp_2_44; - wire pp_3_44; - wire pp_4_44; - wire pp_5_44; - wire pp_6_44; - wire pp_7_44; - wire pp_8_44; - wire pp_9_44; - wire pp_10_44; - wire pp_11_44; - wire pp_12_44; - wire pp_13_44; - wire pp_14_44; - wire pp_15_44; - wire pp_16_44; - wire pp_17_44; - wire pp_18_44; - wire pp_19_44; - wire pp_20_44; - wire pp_21_44; - wire pp_22_44; - wire pp_0_45; - wire pp_1_45; - wire pp_2_45; - wire pp_3_45; - wire pp_4_45; - wire pp_5_45; - wire pp_6_45; - wire pp_7_45; - wire pp_8_45; - wire pp_9_45; - wire pp_10_45; - wire pp_11_45; - wire pp_12_45; - wire pp_13_45; - wire pp_14_45; - wire pp_15_45; - wire pp_16_45; - wire pp_17_45; - wire pp_18_45; - wire pp_19_45; - wire pp_20_45; - wire pp_21_45; - wire pp_22_45; - wire pp_0_46; - wire pp_1_46; - wire pp_2_46; - wire pp_3_46; - wire pp_4_46; - wire pp_5_46; - wire pp_6_46; - wire pp_7_46; - wire pp_8_46; - wire pp_9_46; - wire pp_10_46; - wire pp_11_46; - wire pp_12_46; - wire pp_13_46; - wire pp_14_46; - wire pp_15_46; - wire pp_16_46; - wire pp_17_46; - wire pp_18_46; - wire pp_19_46; - wire pp_20_46; - wire pp_21_46; - wire pp_22_46; - wire pp_23_46; - wire pp_0_47; - wire pp_1_47; - wire pp_2_47; - wire pp_3_47; - wire pp_4_47; - wire pp_5_47; - wire pp_6_47; - wire pp_7_47; - wire pp_8_47; - wire pp_9_47; - wire pp_10_47; - wire pp_11_47; - wire pp_12_47; - wire pp_13_47; - wire pp_14_47; - wire pp_15_47; - wire pp_16_47; - wire pp_17_47; - wire pp_18_47; - wire pp_19_47; - wire pp_20_47; - wire pp_21_47; - wire pp_22_47; - wire pp_23_47; - wire pp_0_48; - wire pp_1_48; - wire pp_2_48; - wire pp_3_48; - wire pp_4_48; - wire pp_5_48; - wire pp_6_48; - wire pp_7_48; - wire pp_8_48; - wire pp_9_48; - wire pp_10_48; - wire pp_11_48; - wire pp_12_48; - wire pp_13_48; - wire pp_14_48; - wire pp_15_48; - wire pp_16_48; - wire pp_17_48; - wire pp_18_48; - wire pp_19_48; - wire pp_20_48; - wire pp_21_48; - wire pp_22_48; - wire pp_23_48; - wire pp_24_48; - wire pp_0_49; - wire pp_1_49; - wire pp_2_49; - wire pp_3_49; - wire pp_4_49; - wire pp_5_49; - wire pp_6_49; - wire pp_7_49; - wire pp_8_49; - wire pp_9_49; - wire pp_10_49; - wire pp_11_49; - wire pp_12_49; - wire pp_13_49; - wire pp_14_49; - wire pp_15_49; - wire pp_16_49; - wire pp_17_49; - wire pp_18_49; - wire pp_19_49; - wire pp_20_49; - wire pp_21_49; - wire pp_22_49; - wire pp_23_49; - wire pp_24_49; - wire pp_0_50; - wire pp_1_50; - wire pp_2_50; - wire pp_3_50; - wire pp_4_50; - wire pp_5_50; - wire pp_6_50; - wire pp_7_50; - wire pp_8_50; - wire pp_9_50; - wire pp_10_50; - wire pp_11_50; - wire pp_12_50; - wire pp_13_50; - wire pp_14_50; - wire pp_15_50; - wire pp_16_50; - wire pp_17_50; - wire pp_18_50; - wire pp_19_50; - wire pp_20_50; - wire pp_21_50; - wire pp_22_50; - wire pp_23_50; - wire pp_24_50; - wire pp_25_50; - wire pp_0_51; - wire pp_1_51; - wire pp_2_51; - wire pp_3_51; - wire pp_4_51; - wire pp_5_51; - wire pp_6_51; - wire pp_7_51; - wire pp_8_51; - wire pp_9_51; - wire pp_10_51; - wire pp_11_51; - wire pp_12_51; - wire pp_13_51; - wire pp_14_51; - wire pp_15_51; - wire pp_16_51; - wire pp_17_51; - wire pp_18_51; - wire pp_19_51; - wire pp_20_51; - wire pp_21_51; - wire pp_22_51; - wire pp_23_51; - wire pp_24_51; - wire pp_25_51; - wire pp_0_52; - wire pp_1_52; - wire pp_2_52; - wire pp_3_52; - wire pp_4_52; - wire pp_5_52; - wire pp_6_52; - wire pp_7_52; - wire pp_8_52; - wire pp_9_52; - wire pp_10_52; - wire pp_11_52; - wire pp_12_52; - wire pp_13_52; - wire pp_14_52; - wire pp_15_52; - wire pp_16_52; - wire pp_17_52; - wire pp_18_52; - wire pp_19_52; - wire pp_20_52; - wire pp_21_52; - wire pp_22_52; - wire pp_23_52; - wire pp_24_52; - wire pp_25_52; - wire pp_26_52; - wire pp_0_53; - wire pp_1_53; - wire pp_2_53; - wire pp_3_53; - wire pp_4_53; - wire pp_5_53; - wire pp_6_53; - wire pp_7_53; - wire pp_8_53; - wire pp_9_53; - wire pp_10_53; - wire pp_11_53; - wire pp_12_53; - wire pp_13_53; - wire pp_14_53; - wire pp_15_53; - wire pp_16_53; - wire pp_17_53; - wire pp_18_53; - wire pp_19_53; - wire pp_20_53; - wire pp_21_53; - wire pp_22_53; - wire pp_23_53; - wire pp_24_53; - wire pp_25_53; - wire pp_26_53; - wire pp_0_54; - wire pp_1_54; - wire pp_2_54; - wire pp_3_54; - wire pp_4_54; - wire pp_5_54; - wire pp_6_54; - wire pp_7_54; - wire pp_8_54; - wire pp_9_54; - wire pp_10_54; - wire pp_11_54; - wire pp_12_54; - wire pp_13_54; - wire pp_14_54; - wire pp_15_54; - wire pp_16_54; - wire pp_17_54; - wire pp_18_54; - wire pp_19_54; - wire pp_20_54; - wire pp_21_54; - wire pp_22_54; - wire pp_23_54; - wire pp_24_54; - wire pp_25_54; - wire pp_26_54; - wire pp_27_54; - wire pp_0_55; - wire pp_1_55; - wire pp_2_55; - wire pp_3_55; - wire pp_4_55; - wire pp_5_55; - wire pp_6_55; - wire pp_7_55; - wire pp_8_55; - wire pp_9_55; - wire pp_10_55; - wire pp_11_55; - wire pp_12_55; - wire pp_13_55; - wire pp_14_55; - wire pp_15_55; - wire pp_16_55; - wire pp_17_55; - wire pp_18_55; - wire pp_19_55; - wire pp_20_55; - wire pp_21_55; - wire pp_22_55; - wire pp_23_55; - wire pp_24_55; - wire pp_25_55; - wire pp_26_55; - wire pp_27_55; - wire pp_0_56; - wire pp_1_56; - wire pp_2_56; - wire pp_3_56; - wire pp_4_56; - wire pp_5_56; - wire pp_6_56; - wire pp_7_56; - wire pp_8_56; - wire pp_9_56; - wire pp_10_56; - wire pp_11_56; - wire pp_12_56; - wire pp_13_56; - wire pp_14_56; - wire pp_15_56; - wire pp_16_56; - wire pp_17_56; - wire pp_18_56; - wire pp_19_56; - wire pp_20_56; - wire pp_21_56; - wire pp_22_56; - wire pp_23_56; - wire pp_24_56; - wire pp_25_56; - wire pp_26_56; - wire pp_27_56; - wire pp_28_56; - wire pp_0_57; - wire pp_1_57; - wire pp_2_57; - wire pp_3_57; - wire pp_4_57; - wire pp_5_57; - wire pp_6_57; - wire pp_7_57; - wire pp_8_57; - wire pp_9_57; - wire pp_10_57; - wire pp_11_57; - wire pp_12_57; - wire pp_13_57; - wire pp_14_57; - wire pp_15_57; - wire pp_16_57; - wire pp_17_57; - wire pp_18_57; - wire pp_19_57; - wire pp_20_57; - wire pp_21_57; - wire pp_22_57; - wire pp_23_57; - wire pp_24_57; - wire pp_25_57; - wire pp_26_57; - wire pp_27_57; - wire pp_28_57; - wire pp_0_58; - wire pp_1_58; - wire pp_2_58; - wire pp_3_58; - wire pp_4_58; - wire pp_5_58; - wire pp_6_58; - wire pp_7_58; - wire pp_8_58; - wire pp_9_58; - wire pp_10_58; - wire pp_11_58; - wire pp_12_58; - wire pp_13_58; - wire pp_14_58; - wire pp_15_58; - wire pp_16_58; - wire pp_17_58; - wire pp_18_58; - wire pp_19_58; - wire pp_20_58; - wire pp_21_58; - wire pp_22_58; - wire pp_23_58; - wire pp_24_58; - wire pp_25_58; - wire pp_26_58; - wire pp_27_58; - wire pp_28_58; - wire pp_29_58; - wire pp_0_59; - wire pp_1_59; - wire pp_2_59; - wire pp_3_59; - wire pp_4_59; - wire pp_5_59; - wire pp_6_59; - wire pp_7_59; - wire pp_8_59; - wire pp_9_59; - wire pp_10_59; - wire pp_11_59; - wire pp_12_59; - wire pp_13_59; - wire pp_14_59; - wire pp_15_59; - wire pp_16_59; - wire pp_17_59; - wire pp_18_59; - wire pp_19_59; - wire pp_20_59; - wire pp_21_59; - wire pp_22_59; - wire pp_23_59; - wire pp_24_59; - wire pp_25_59; - wire pp_26_59; - wire pp_27_59; - wire pp_28_59; - wire pp_29_59; - wire pp_0_60; - wire pp_1_60; - wire pp_2_60; - wire pp_3_60; - wire pp_4_60; - wire pp_5_60; - wire pp_6_60; - wire pp_7_60; - wire pp_8_60; - wire pp_9_60; - wire pp_10_60; - wire pp_11_60; - wire pp_12_60; - wire pp_13_60; - wire pp_14_60; - wire pp_15_60; - wire pp_16_60; - wire pp_17_60; - wire pp_18_60; - wire pp_19_60; - wire pp_20_60; - wire pp_21_60; - wire pp_22_60; - wire pp_23_60; - wire pp_24_60; - wire pp_25_60; - wire pp_26_60; - wire pp_27_60; - wire pp_28_60; - wire pp_29_60; - wire pp_30_60; - wire pp_0_61; - wire pp_1_61; - wire pp_2_61; - wire pp_3_61; - wire pp_4_61; - wire pp_5_61; - wire pp_6_61; - wire pp_7_61; - wire pp_8_61; - wire pp_9_61; - wire pp_10_61; - wire pp_11_61; - wire pp_12_61; - wire pp_13_61; - wire pp_14_61; - wire pp_15_61; - wire pp_16_61; - wire pp_17_61; - wire pp_18_61; - wire pp_19_61; - wire pp_20_61; - wire pp_21_61; - wire pp_22_61; - wire pp_23_61; - wire pp_24_61; - wire pp_25_61; - wire pp_26_61; - wire pp_27_61; - wire pp_28_61; - wire pp_29_61; - wire pp_30_61; - wire pp_0_62; - wire pp_1_62; - wire pp_2_62; - wire pp_3_62; - wire pp_4_62; - wire pp_5_62; - wire pp_6_62; - wire pp_7_62; - wire pp_8_62; - wire pp_9_62; - wire pp_10_62; - wire pp_11_62; - wire pp_12_62; - wire pp_13_62; - wire pp_14_62; - wire pp_15_62; - wire pp_16_62; - wire pp_17_62; - wire pp_18_62; - wire pp_19_62; - wire pp_20_62; - wire pp_21_62; - wire pp_22_62; - wire pp_23_62; - wire pp_24_62; - wire pp_25_62; - wire pp_26_62; - wire pp_27_62; - wire pp_28_62; - wire pp_29_62; - wire pp_30_62; - wire pp_31_62; - wire pp_0_63; - wire pp_1_63; - wire pp_2_63; - wire pp_3_63; - wire pp_4_63; - wire pp_5_63; - wire pp_6_63; - wire pp_7_63; - wire pp_8_63; - wire pp_9_63; - wire pp_10_63; - wire pp_11_63; - wire pp_12_63; - wire pp_13_63; - wire pp_14_63; - wire pp_15_63; - wire pp_16_63; - wire pp_17_63; - wire pp_18_63; - wire pp_19_63; - wire pp_20_63; - wire pp_21_63; - wire pp_22_63; - wire pp_23_63; - wire pp_24_63; - wire pp_25_63; - wire pp_26_63; - wire pp_27_63; - wire pp_28_63; - wire pp_29_63; - wire pp_30_63; - wire pp_31_63; - wire pp_0_64; - wire pp_1_64; - wire pp_2_64; - wire pp_3_64; - wire pp_4_64; - wire pp_5_64; - wire pp_6_64; - wire pp_7_64; - wire pp_8_64; - wire pp_9_64; - wire pp_10_64; - wire pp_11_64; - wire pp_12_64; - wire pp_13_64; - wire pp_14_64; - wire pp_15_64; - wire pp_16_64; - wire pp_17_64; - wire pp_18_64; - wire pp_19_64; - wire pp_20_64; - wire pp_21_64; - wire pp_22_64; - wire pp_23_64; - wire pp_24_64; - wire pp_25_64; - wire pp_26_64; - wire pp_27_64; - wire pp_28_64; - wire pp_29_64; - wire pp_30_64; - wire pp_31_64; - wire pp_32_64; - wire pp_1_65; - wire pp_2_65; - wire pp_3_65; - wire pp_4_65; - wire pp_5_65; - wire pp_6_65; - wire pp_7_65; - wire pp_8_65; - wire pp_9_65; - wire pp_10_65; - wire pp_11_65; - wire pp_12_65; - wire pp_13_65; - wire pp_14_65; - wire pp_15_65; - wire pp_16_65; - wire pp_17_65; - wire pp_18_65; - wire pp_19_65; - wire pp_20_65; - wire pp_21_65; - wire pp_22_65; - wire pp_23_65; - wire pp_24_65; - wire pp_25_65; - wire pp_26_65; - wire pp_27_65; - wire pp_28_65; - wire pp_29_65; - wire pp_30_65; - wire pp_31_65; - wire pp_32_65; - wire pp_1_66; - wire pp_2_66; - wire pp_3_66; - wire pp_4_66; - wire pp_5_66; - wire pp_6_66; - wire pp_7_66; - wire pp_8_66; - wire pp_9_66; - wire pp_10_66; - wire pp_11_66; - wire pp_12_66; - wire pp_13_66; - wire pp_14_66; - wire pp_15_66; - wire pp_16_66; - wire pp_17_66; - wire pp_18_66; - wire pp_19_66; - wire pp_20_66; - wire pp_21_66; - wire pp_22_66; - wire pp_23_66; - wire pp_24_66; - wire pp_25_66; - wire pp_26_66; - wire pp_27_66; - wire pp_28_66; - wire pp_29_66; - wire pp_30_66; - wire pp_31_66; - wire pp_32_66; - wire pp_2_67; - wire pp_3_67; - wire pp_4_67; - wire pp_5_67; - wire pp_6_67; - wire pp_7_67; - wire pp_8_67; - wire pp_9_67; - wire pp_10_67; - wire pp_11_67; - wire pp_12_67; - wire pp_13_67; - wire pp_14_67; - wire pp_15_67; - wire pp_16_67; - wire pp_17_67; - wire pp_18_67; - wire pp_19_67; - wire pp_20_67; - wire pp_21_67; - wire pp_22_67; - wire pp_23_67; - wire pp_24_67; - wire pp_25_67; - wire pp_26_67; - wire pp_27_67; - wire pp_28_67; - wire pp_29_67; - wire pp_30_67; - wire pp_31_67; - wire pp_32_67; - wire pp_2_68; - wire pp_3_68; - wire pp_4_68; - wire pp_5_68; - wire pp_6_68; - wire pp_7_68; - wire pp_8_68; - wire pp_9_68; - wire pp_10_68; - wire pp_11_68; - wire pp_12_68; - wire pp_13_68; - wire pp_14_68; - wire pp_15_68; - wire pp_16_68; - wire pp_17_68; - wire pp_18_68; - wire pp_19_68; - wire pp_20_68; - wire pp_21_68; - wire pp_22_68; - wire pp_23_68; - wire pp_24_68; - wire pp_25_68; - wire pp_26_68; - wire pp_27_68; - wire pp_28_68; - wire pp_29_68; - wire pp_30_68; - wire pp_31_68; - wire pp_32_68; - wire pp_3_69; - wire pp_4_69; - wire pp_5_69; - wire pp_6_69; - wire pp_7_69; - wire pp_8_69; - wire pp_9_69; - wire pp_10_69; - wire pp_11_69; - wire pp_12_69; - wire pp_13_69; - wire pp_14_69; - wire pp_15_69; - wire pp_16_69; - wire pp_17_69; - wire pp_18_69; - wire pp_19_69; - wire pp_20_69; - wire pp_21_69; - wire pp_22_69; - wire pp_23_69; - wire pp_24_69; - wire pp_25_69; - wire pp_26_69; - wire pp_27_69; - wire pp_28_69; - wire pp_29_69; - wire pp_30_69; - wire pp_31_69; - wire pp_32_69; - wire pp_3_70; - wire pp_4_70; - wire pp_5_70; - wire pp_6_70; - wire pp_7_70; - wire pp_8_70; - wire pp_9_70; - wire pp_10_70; - wire pp_11_70; - wire pp_12_70; - wire pp_13_70; - wire pp_14_70; - wire pp_15_70; - wire pp_16_70; - wire pp_17_70; - wire pp_18_70; - wire pp_19_70; - wire pp_20_70; - wire pp_21_70; - wire pp_22_70; - wire pp_23_70; - wire pp_24_70; - wire pp_25_70; - wire pp_26_70; - wire pp_27_70; - wire pp_28_70; - wire pp_29_70; - wire pp_30_70; - wire pp_31_70; - wire pp_32_70; - wire pp_4_71; - wire pp_5_71; - wire pp_6_71; - wire pp_7_71; - wire pp_8_71; - wire pp_9_71; - wire pp_10_71; - wire pp_11_71; - wire pp_12_71; - wire pp_13_71; - wire pp_14_71; - wire pp_15_71; - wire pp_16_71; - wire pp_17_71; - wire pp_18_71; - wire pp_19_71; - wire pp_20_71; - wire pp_21_71; - wire pp_22_71; - wire pp_23_71; - wire pp_24_71; - wire pp_25_71; - wire pp_26_71; - wire pp_27_71; - wire pp_28_71; - wire pp_29_71; - wire pp_30_71; - wire pp_31_71; - wire pp_32_71; - wire pp_4_72; - wire pp_5_72; - wire pp_6_72; - wire pp_7_72; - wire pp_8_72; - wire pp_9_72; - wire pp_10_72; - wire pp_11_72; - wire pp_12_72; - wire pp_13_72; - wire pp_14_72; - wire pp_15_72; - wire pp_16_72; - wire pp_17_72; - wire pp_18_72; - wire pp_19_72; - wire pp_20_72; - wire pp_21_72; - wire pp_22_72; - wire pp_23_72; - wire pp_24_72; - wire pp_25_72; - wire pp_26_72; - wire pp_27_72; - wire pp_28_72; - wire pp_29_72; - wire pp_30_72; - wire pp_31_72; - wire pp_32_72; - wire pp_5_73; - wire pp_6_73; - wire pp_7_73; - wire pp_8_73; - wire pp_9_73; - wire pp_10_73; - wire pp_11_73; - wire pp_12_73; - wire pp_13_73; - wire pp_14_73; - wire pp_15_73; - wire pp_16_73; - wire pp_17_73; - wire pp_18_73; - wire pp_19_73; - wire pp_20_73; - wire pp_21_73; - wire pp_22_73; - wire pp_23_73; - wire pp_24_73; - wire pp_25_73; - wire pp_26_73; - wire pp_27_73; - wire pp_28_73; - wire pp_29_73; - wire pp_30_73; - wire pp_31_73; - wire pp_32_73; - wire pp_5_74; - wire pp_6_74; - wire pp_7_74; - wire pp_8_74; - wire pp_9_74; - wire pp_10_74; - wire pp_11_74; - wire pp_12_74; - wire pp_13_74; - wire pp_14_74; - wire pp_15_74; - wire pp_16_74; - wire pp_17_74; - wire pp_18_74; - wire pp_19_74; - wire pp_20_74; - wire pp_21_74; - wire pp_22_74; - wire pp_23_74; - wire pp_24_74; - wire pp_25_74; - wire pp_26_74; - wire pp_27_74; - wire pp_28_74; - wire pp_29_74; - wire pp_30_74; - wire pp_31_74; - wire pp_32_74; - wire pp_6_75; - wire pp_7_75; - wire pp_8_75; - wire pp_9_75; - wire pp_10_75; - wire pp_11_75; - wire pp_12_75; - wire pp_13_75; - wire pp_14_75; - wire pp_15_75; - wire pp_16_75; - wire pp_17_75; - wire pp_18_75; - wire pp_19_75; - wire pp_20_75; - wire pp_21_75; - wire pp_22_75; - wire pp_23_75; - wire pp_24_75; - wire pp_25_75; - wire pp_26_75; - wire pp_27_75; - wire pp_28_75; - wire pp_29_75; - wire pp_30_75; - wire pp_31_75; - wire pp_32_75; - wire pp_6_76; - wire pp_7_76; - wire pp_8_76; - wire pp_9_76; - wire pp_10_76; - wire pp_11_76; - wire pp_12_76; - wire pp_13_76; - wire pp_14_76; - wire pp_15_76; - wire pp_16_76; - wire pp_17_76; - wire pp_18_76; - wire pp_19_76; - wire pp_20_76; - wire pp_21_76; - wire pp_22_76; - wire pp_23_76; - wire pp_24_76; - wire pp_25_76; - wire pp_26_76; - wire pp_27_76; - wire pp_28_76; - wire pp_29_76; - wire pp_30_76; - wire pp_31_76; - wire pp_32_76; - wire pp_7_77; - wire pp_8_77; - wire pp_9_77; - wire pp_10_77; - wire pp_11_77; - wire pp_12_77; - wire pp_13_77; - wire pp_14_77; - wire pp_15_77; - wire pp_16_77; - wire pp_17_77; - wire pp_18_77; - wire pp_19_77; - wire pp_20_77; - wire pp_21_77; - wire pp_22_77; - wire pp_23_77; - wire pp_24_77; - wire pp_25_77; - wire pp_26_77; - wire pp_27_77; - wire pp_28_77; - wire pp_29_77; - wire pp_30_77; - wire pp_31_77; - wire pp_32_77; - wire pp_7_78; - wire pp_8_78; - wire pp_9_78; - wire pp_10_78; - wire pp_11_78; - wire pp_12_78; - wire pp_13_78; - wire pp_14_78; - wire pp_15_78; - wire pp_16_78; - wire pp_17_78; - wire pp_18_78; - wire pp_19_78; - wire pp_20_78; - wire pp_21_78; - wire pp_22_78; - wire pp_23_78; - wire pp_24_78; - wire pp_25_78; - wire pp_26_78; - wire pp_27_78; - wire pp_28_78; - wire pp_29_78; - wire pp_30_78; - wire pp_31_78; - wire pp_32_78; - wire pp_8_79; - wire pp_9_79; - wire pp_10_79; - wire pp_11_79; - wire pp_12_79; - wire pp_13_79; - wire pp_14_79; - wire pp_15_79; - wire pp_16_79; - wire pp_17_79; - wire pp_18_79; - wire pp_19_79; - wire pp_20_79; - wire pp_21_79; - wire pp_22_79; - wire pp_23_79; - wire pp_24_79; - wire pp_25_79; - wire pp_26_79; - wire pp_27_79; - wire pp_28_79; - wire pp_29_79; - wire pp_30_79; - wire pp_31_79; - wire pp_32_79; - wire pp_8_80; - wire pp_9_80; - wire pp_10_80; - wire pp_11_80; - wire pp_12_80; - wire pp_13_80; - wire pp_14_80; - wire pp_15_80; - wire pp_16_80; - wire pp_17_80; - wire pp_18_80; - wire pp_19_80; - wire pp_20_80; - wire pp_21_80; - wire pp_22_80; - wire pp_23_80; - wire pp_24_80; - wire pp_25_80; - wire pp_26_80; - wire pp_27_80; - wire pp_28_80; - wire pp_29_80; - wire pp_30_80; - wire pp_31_80; - wire pp_32_80; - wire pp_9_81; - wire pp_10_81; - wire pp_11_81; - wire pp_12_81; - wire pp_13_81; - wire pp_14_81; - wire pp_15_81; - wire pp_16_81; - wire pp_17_81; - wire pp_18_81; - wire pp_19_81; - wire pp_20_81; - wire pp_21_81; - wire pp_22_81; - wire pp_23_81; - wire pp_24_81; - wire pp_25_81; - wire pp_26_81; - wire pp_27_81; - wire pp_28_81; - wire pp_29_81; - wire pp_30_81; - wire pp_31_81; - wire pp_32_81; - wire pp_9_82; - wire pp_10_82; - wire pp_11_82; - wire pp_12_82; - wire pp_13_82; - wire pp_14_82; - wire pp_15_82; - wire pp_16_82; - wire pp_17_82; - wire pp_18_82; - wire pp_19_82; - wire pp_20_82; - wire pp_21_82; - wire pp_22_82; - wire pp_23_82; - wire pp_24_82; - wire pp_25_82; - wire pp_26_82; - wire pp_27_82; - wire pp_28_82; - wire pp_29_82; - wire pp_30_82; - wire pp_31_82; - wire pp_32_82; - wire pp_10_83; - wire pp_11_83; - wire pp_12_83; - wire pp_13_83; - wire pp_14_83; - wire pp_15_83; - wire pp_16_83; - wire pp_17_83; - wire pp_18_83; - wire pp_19_83; - wire pp_20_83; - wire pp_21_83; - wire pp_22_83; - wire pp_23_83; - wire pp_24_83; - wire pp_25_83; - wire pp_26_83; - wire pp_27_83; - wire pp_28_83; - wire pp_29_83; - wire pp_30_83; - wire pp_31_83; - wire pp_32_83; - wire pp_10_84; - wire pp_11_84; - wire pp_12_84; - wire pp_13_84; - wire pp_14_84; - wire pp_15_84; - wire pp_16_84; - wire pp_17_84; - wire pp_18_84; - wire pp_19_84; - wire pp_20_84; - wire pp_21_84; - wire pp_22_84; - wire pp_23_84; - wire pp_24_84; - wire pp_25_84; - wire pp_26_84; - wire pp_27_84; - wire pp_28_84; - wire pp_29_84; - wire pp_30_84; - wire pp_31_84; - wire pp_32_84; - wire pp_11_85; - wire pp_12_85; - wire pp_13_85; - wire pp_14_85; - wire pp_15_85; - wire pp_16_85; - wire pp_17_85; - wire pp_18_85; - wire pp_19_85; - wire pp_20_85; - wire pp_21_85; - wire pp_22_85; - wire pp_23_85; - wire pp_24_85; - wire pp_25_85; - wire pp_26_85; - wire pp_27_85; - wire pp_28_85; - wire pp_29_85; - wire pp_30_85; - wire pp_31_85; - wire pp_32_85; - wire pp_11_86; - wire pp_12_86; - wire pp_13_86; - wire pp_14_86; - wire pp_15_86; - wire pp_16_86; - wire pp_17_86; - wire pp_18_86; - wire pp_19_86; - wire pp_20_86; - wire pp_21_86; - wire pp_22_86; - wire pp_23_86; - wire pp_24_86; - wire pp_25_86; - wire pp_26_86; - wire pp_27_86; - wire pp_28_86; - wire pp_29_86; - wire pp_30_86; - wire pp_31_86; - wire pp_32_86; - wire pp_12_87; - wire pp_13_87; - wire pp_14_87; - wire pp_15_87; - wire pp_16_87; - wire pp_17_87; - wire pp_18_87; - wire pp_19_87; - wire pp_20_87; - wire pp_21_87; - wire pp_22_87; - wire pp_23_87; - wire pp_24_87; - wire pp_25_87; - wire pp_26_87; - wire pp_27_87; - wire pp_28_87; - wire pp_29_87; - wire pp_30_87; - wire pp_31_87; - wire pp_32_87; - wire pp_12_88; - wire pp_13_88; - wire pp_14_88; - wire pp_15_88; - wire pp_16_88; - wire pp_17_88; - wire pp_18_88; - wire pp_19_88; - wire pp_20_88; - wire pp_21_88; - wire pp_22_88; - wire pp_23_88; - wire pp_24_88; - wire pp_25_88; - wire pp_26_88; - wire pp_27_88; - wire pp_28_88; - wire pp_29_88; - wire pp_30_88; - wire pp_31_88; - wire pp_32_88; - wire pp_13_89; - wire pp_14_89; - wire pp_15_89; - wire pp_16_89; - wire pp_17_89; - wire pp_18_89; - wire pp_19_89; - wire pp_20_89; - wire pp_21_89; - wire pp_22_89; - wire pp_23_89; - wire pp_24_89; - wire pp_25_89; - wire pp_26_89; - wire pp_27_89; - wire pp_28_89; - wire pp_29_89; - wire pp_30_89; - wire pp_31_89; - wire pp_32_89; - wire pp_13_90; - wire pp_14_90; - wire pp_15_90; - wire pp_16_90; - wire pp_17_90; - wire pp_18_90; - wire pp_19_90; - wire pp_20_90; - wire pp_21_90; - wire pp_22_90; - wire pp_23_90; - wire pp_24_90; - wire pp_25_90; - wire pp_26_90; - wire pp_27_90; - wire pp_28_90; - wire pp_29_90; - wire pp_30_90; - wire pp_31_90; - wire pp_32_90; - wire pp_14_91; - wire pp_15_91; - wire pp_16_91; - wire pp_17_91; - wire pp_18_91; - wire pp_19_91; - wire pp_20_91; - wire pp_21_91; - wire pp_22_91; - wire pp_23_91; - wire pp_24_91; - wire pp_25_91; - wire pp_26_91; - wire pp_27_91; - wire pp_28_91; - wire pp_29_91; - wire pp_30_91; - wire pp_31_91; - wire pp_32_91; - wire pp_14_92; - wire pp_15_92; - wire pp_16_92; - wire pp_17_92; - wire pp_18_92; - wire pp_19_92; - wire pp_20_92; - wire pp_21_92; - wire pp_22_92; - wire pp_23_92; - wire pp_24_92; - wire pp_25_92; - wire pp_26_92; - wire pp_27_92; - wire pp_28_92; - wire pp_29_92; - wire pp_30_92; - wire pp_31_92; - wire pp_32_92; - wire pp_15_93; - wire pp_16_93; - wire pp_17_93; - wire pp_18_93; - wire pp_19_93; - wire pp_20_93; - wire pp_21_93; - wire pp_22_93; - wire pp_23_93; - wire pp_24_93; - wire pp_25_93; - wire pp_26_93; - wire pp_27_93; - wire pp_28_93; - wire pp_29_93; - wire pp_30_93; - wire pp_31_93; - wire pp_32_93; - wire pp_15_94; - wire pp_16_94; - wire pp_17_94; - wire pp_18_94; - wire pp_19_94; - wire pp_20_94; - wire pp_21_94; - wire pp_22_94; - wire pp_23_94; - wire pp_24_94; - wire pp_25_94; - wire pp_26_94; - wire pp_27_94; - wire pp_28_94; - wire pp_29_94; - wire pp_30_94; - wire pp_31_94; - wire pp_32_94; - wire pp_16_95; - wire pp_17_95; - wire pp_18_95; - wire pp_19_95; - wire pp_20_95; - wire pp_21_95; - wire pp_22_95; - wire pp_23_95; - wire pp_24_95; - wire pp_25_95; - wire pp_26_95; - wire pp_27_95; - wire pp_28_95; - wire pp_29_95; - wire pp_30_95; - wire pp_31_95; - wire pp_32_95; - wire pp_16_96; - wire pp_17_96; - wire pp_18_96; - wire pp_19_96; - wire pp_20_96; - wire pp_21_96; - wire pp_22_96; - wire pp_23_96; - wire pp_24_96; - wire pp_25_96; - wire pp_26_96; - wire pp_27_96; - wire pp_28_96; - wire pp_29_96; - wire pp_30_96; - wire pp_31_96; - wire pp_32_96; - wire pp_17_97; - wire pp_18_97; - wire pp_19_97; - wire pp_20_97; - wire pp_21_97; - wire pp_22_97; - wire pp_23_97; - wire pp_24_97; - wire pp_25_97; - wire pp_26_97; - wire pp_27_97; - wire pp_28_97; - wire pp_29_97; - wire pp_30_97; - wire pp_31_97; - wire pp_32_97; - wire pp_17_98; - wire pp_18_98; - wire pp_19_98; - wire pp_20_98; - wire pp_21_98; - wire pp_22_98; - wire pp_23_98; - wire pp_24_98; - wire pp_25_98; - wire pp_26_98; - wire pp_27_98; - wire pp_28_98; - wire pp_29_98; - wire pp_30_98; - wire pp_31_98; - wire pp_32_98; - wire pp_18_99; - wire pp_19_99; - wire pp_20_99; - wire pp_21_99; - wire pp_22_99; - wire pp_23_99; - wire pp_24_99; - wire pp_25_99; - wire pp_26_99; - wire pp_27_99; - wire pp_28_99; - wire pp_29_99; - wire pp_30_99; - wire pp_31_99; - wire pp_32_99; - wire pp_18_100; - wire pp_19_100; - wire pp_20_100; - wire pp_21_100; - wire pp_22_100; - wire pp_23_100; - wire pp_24_100; - wire pp_25_100; - wire pp_26_100; - wire pp_27_100; - wire pp_28_100; - wire pp_29_100; - wire pp_30_100; - wire pp_31_100; - wire pp_32_100; - wire pp_19_101; - wire pp_20_101; - wire pp_21_101; - wire pp_22_101; - wire pp_23_101; - wire pp_24_101; - wire pp_25_101; - wire pp_26_101; - wire pp_27_101; - wire pp_28_101; - wire pp_29_101; - wire pp_30_101; - wire pp_31_101; - wire pp_32_101; - wire pp_19_102; - wire pp_20_102; - wire pp_21_102; - wire pp_22_102; - wire pp_23_102; - wire pp_24_102; - wire pp_25_102; - wire pp_26_102; - wire pp_27_102; - wire pp_28_102; - wire pp_29_102; - wire pp_30_102; - wire pp_31_102; - wire pp_32_102; - wire pp_20_103; - wire pp_21_103; - wire pp_22_103; - wire pp_23_103; - wire pp_24_103; - wire pp_25_103; - wire pp_26_103; - wire pp_27_103; - wire pp_28_103; - wire pp_29_103; - wire pp_30_103; - wire pp_31_103; - wire pp_32_103; - wire pp_20_104; - wire pp_21_104; - wire pp_22_104; - wire pp_23_104; - wire pp_24_104; - wire pp_25_104; - wire pp_26_104; - wire pp_27_104; - wire pp_28_104; - wire pp_29_104; - wire pp_30_104; - wire pp_31_104; - wire pp_32_104; - wire pp_21_105; - wire pp_22_105; - wire pp_23_105; - wire pp_24_105; - wire pp_25_105; - wire pp_26_105; - wire pp_27_105; - wire pp_28_105; - wire pp_29_105; - wire pp_30_105; - wire pp_31_105; - wire pp_32_105; - wire pp_21_106; - wire pp_22_106; - wire pp_23_106; - wire pp_24_106; - wire pp_25_106; - wire pp_26_106; - wire pp_27_106; - wire pp_28_106; - wire pp_29_106; - wire pp_30_106; - wire pp_31_106; - wire pp_32_106; - wire pp_22_107; - wire pp_23_107; - wire pp_24_107; - wire pp_25_107; - wire pp_26_107; - wire pp_27_107; - wire pp_28_107; - wire pp_29_107; - wire pp_30_107; - wire pp_31_107; - wire pp_32_107; - wire pp_22_108; - wire pp_23_108; - wire pp_24_108; - wire pp_25_108; - wire pp_26_108; - wire pp_27_108; - wire pp_28_108; - wire pp_29_108; - wire pp_30_108; - wire pp_31_108; - wire pp_32_108; - wire pp_23_109; - wire pp_24_109; - wire pp_25_109; - wire pp_26_109; - wire pp_27_109; - wire pp_28_109; - wire pp_29_109; - wire pp_30_109; - wire pp_31_109; - wire pp_32_109; - wire pp_23_110; - wire pp_24_110; - wire pp_25_110; - wire pp_26_110; - wire pp_27_110; - wire pp_28_110; - wire pp_29_110; - wire pp_30_110; - wire pp_31_110; - wire pp_32_110; - wire pp_24_111; - wire pp_25_111; - wire pp_26_111; - wire pp_27_111; - wire pp_28_111; - wire pp_29_111; - wire pp_30_111; - wire pp_31_111; - wire pp_32_111; - wire pp_24_112; - wire pp_25_112; - wire pp_26_112; - wire pp_27_112; - wire pp_28_112; - wire pp_29_112; - wire pp_30_112; - wire pp_31_112; - wire pp_32_112; - wire pp_25_113; - wire pp_26_113; - wire pp_27_113; - wire pp_28_113; - wire pp_29_113; - wire pp_30_113; - wire pp_31_113; - wire pp_32_113; - wire pp_25_114; - wire pp_26_114; - wire pp_27_114; - wire pp_28_114; - wire pp_29_114; - wire pp_30_114; - wire pp_31_114; - wire pp_32_114; - wire pp_26_115; - wire pp_27_115; - wire pp_28_115; - wire pp_29_115; - wire pp_30_115; - wire pp_31_115; - wire pp_32_115; - wire pp_26_116; - wire pp_27_116; - wire pp_28_116; - wire pp_29_116; - wire pp_30_116; - wire pp_31_116; - wire pp_32_116; - wire pp_27_117; - wire pp_28_117; - wire pp_29_117; - wire pp_30_117; - wire pp_31_117; - wire pp_32_117; - wire pp_27_118; - wire pp_28_118; - wire pp_29_118; - wire pp_30_118; - wire pp_31_118; - wire pp_32_118; - wire pp_28_119; - wire pp_29_119; - wire pp_30_119; - wire pp_31_119; - wire pp_32_119; - wire pp_28_120; - wire pp_29_120; - wire pp_30_120; - wire pp_31_120; - wire pp_32_120; - wire pp_29_121; - wire pp_30_121; - wire pp_31_121; - wire pp_32_121; - wire pp_29_122; - wire pp_30_122; - wire pp_31_122; - wire pp_32_122; - wire pp_30_123; - wire pp_31_123; - wire pp_32_123; - wire pp_30_124; - wire pp_31_124; - wire pp_32_124; - wire pp_31_125; - wire pp_32_125; - wire pp_31_126; - wire pp_32_126; - wire pp_32_127; - - // Below are the intermediate nets generated by the tree adders - wire int_0_2; - wire int_1_2; - wire int_0_3; - wire int_1_3; - wire int_0_4; - wire int_1_4; - wire int_2_4; - wire int_3_4; - wire int_0_5; - wire int_1_5; - wire int_2_5; - wire int_3_5; - wire int_0_6; - wire int_1_6; - wire int_2_6; - wire int_3_6; - wire int_4_6; - wire int_5_6; - wire int_0_7; - wire int_1_7; - wire int_2_7; - wire int_3_7; - wire int_4_7; - wire int_5_7; - wire int_0_8; - wire int_1_8; - wire int_2_8; - wire int_3_8; - wire int_4_8; - wire int_5_8; - wire int_6_8; - wire int_7_8; - wire int_0_9; - wire int_1_9; - wire int_2_9; - wire int_3_9; - wire int_4_9; - wire int_5_9; - wire int_6_9; - wire int_7_9; - wire int_0_10; - wire int_1_10; - wire int_2_10; - wire int_3_10; - wire int_4_10; - wire int_5_10; - wire int_6_10; - wire int_7_10; - wire int_8_10; - wire int_9_10; - wire int_0_11; - wire int_1_11; - wire int_2_11; - wire int_3_11; - wire int_4_11; - wire int_5_11; - wire int_6_11; - wire int_7_11; - wire int_8_11; - wire int_9_11; - wire int_0_12; - wire int_1_12; - wire int_2_12; - wire int_3_12; - wire int_4_12; - wire int_5_12; - wire int_6_12; - wire int_7_12; - wire int_8_12; - wire int_9_12; - wire int_10_12; - wire int_11_12; - wire int_0_13; - wire int_1_13; - wire int_2_13; - wire int_3_13; - wire int_4_13; - wire int_5_13; - wire int_6_13; - wire int_7_13; - wire int_8_13; - wire int_9_13; - wire int_10_13; - wire int_11_13; - wire int_0_14; - wire int_1_14; - wire int_2_14; - wire int_3_14; - wire int_4_14; - wire int_5_14; - wire int_6_14; - wire int_7_14; - wire int_8_14; - wire int_9_14; - wire int_10_14; - wire int_11_14; - wire int_12_14; - wire int_13_14; - wire int_0_15; - wire int_1_15; - wire int_2_15; - wire int_3_15; - wire int_4_15; - wire int_5_15; - wire int_6_15; - wire int_7_15; - wire int_8_15; - wire int_9_15; - wire int_10_15; - wire int_11_15; - wire int_12_15; - wire int_13_15; - wire int_0_16; - wire int_1_16; - wire int_2_16; - wire int_3_16; - wire int_4_16; - wire int_5_16; - wire int_6_16; - wire int_7_16; - wire int_8_16; - wire int_9_16; - wire int_10_16; - wire int_11_16; - wire int_12_16; - wire int_13_16; - wire int_14_16; - wire int_15_16; - wire int_0_17; - wire int_1_17; - wire int_2_17; - wire int_3_17; - wire int_4_17; - wire int_5_17; - wire int_6_17; - wire int_7_17; - wire int_8_17; - wire int_9_17; - wire int_10_17; - wire int_11_17; - wire int_12_17; - wire int_13_17; - wire int_14_17; - wire int_15_17; - wire int_0_18; - wire int_1_18; - wire int_2_18; - wire int_3_18; - wire int_4_18; - wire int_5_18; - wire int_6_18; - wire int_7_18; - wire int_8_18; - wire int_9_18; - wire int_10_18; - wire int_11_18; - wire int_12_18; - wire int_13_18; - wire int_14_18; - wire int_15_18; - wire int_16_18; - wire int_17_18; - wire int_0_19; - wire int_1_19; - wire int_2_19; - wire int_3_19; - wire int_4_19; - wire int_5_19; - wire int_6_19; - wire int_7_19; - wire int_8_19; - wire int_9_19; - wire int_10_19; - wire int_11_19; - wire int_12_19; - wire int_13_19; - wire int_14_19; - wire int_15_19; - wire int_16_19; - wire int_17_19; - wire int_0_20; - wire int_1_20; - wire int_2_20; - wire int_3_20; - wire int_4_20; - wire int_5_20; - wire int_6_20; - wire int_7_20; - wire int_8_20; - wire int_9_20; - wire int_10_20; - wire int_11_20; - wire int_12_20; - wire int_13_20; - wire int_14_20; - wire int_15_20; - wire int_16_20; - wire int_17_20; - wire int_18_20; - wire int_19_20; - wire int_0_21; - wire int_1_21; - wire int_2_21; - wire int_3_21; - wire int_4_21; - wire int_5_21; - wire int_6_21; - wire int_7_21; - wire int_8_21; - wire int_9_21; - wire int_10_21; - wire int_11_21; - wire int_12_21; - wire int_13_21; - wire int_14_21; - wire int_15_21; - wire int_16_21; - wire int_17_21; - wire int_18_21; - wire int_19_21; - wire int_0_22; - wire int_1_22; - wire int_2_22; - wire int_3_22; - wire int_4_22; - wire int_5_22; - wire int_6_22; - wire int_7_22; - wire int_8_22; - wire int_9_22; - wire int_10_22; - wire int_11_22; - wire int_12_22; - wire int_13_22; - wire int_14_22; - wire int_15_22; - wire int_16_22; - wire int_17_22; - wire int_18_22; - wire int_19_22; - wire int_20_22; - wire int_21_22; - wire int_0_23; - wire int_1_23; - wire int_2_23; - wire int_3_23; - wire int_4_23; - wire int_5_23; - wire int_6_23; - wire int_7_23; - wire int_8_23; - wire int_9_23; - wire int_10_23; - wire int_11_23; - wire int_12_23; - wire int_13_23; - wire int_14_23; - wire int_15_23; - wire int_16_23; - wire int_17_23; - wire int_18_23; - wire int_19_23; - wire int_20_23; - wire int_21_23; - wire int_0_24; - wire int_1_24; - wire int_2_24; - wire int_3_24; - wire int_4_24; - wire int_5_24; - wire int_6_24; - wire int_7_24; - wire int_8_24; - wire int_9_24; - wire int_10_24; - wire int_11_24; - wire int_12_24; - wire int_13_24; - wire int_14_24; - wire int_15_24; - wire int_16_24; - wire int_17_24; - wire int_18_24; - wire int_19_24; - wire int_20_24; - wire int_21_24; - wire int_22_24; - wire int_23_24; - wire int_0_25; - wire int_1_25; - wire int_2_25; - wire int_3_25; - wire int_4_25; - wire int_5_25; - wire int_6_25; - wire int_7_25; - wire int_8_25; - wire int_9_25; - wire int_10_25; - wire int_11_25; - wire int_12_25; - wire int_13_25; - wire int_14_25; - wire int_15_25; - wire int_16_25; - wire int_17_25; - wire int_18_25; - wire int_19_25; - wire int_20_25; - wire int_21_25; - wire int_22_25; - wire int_23_25; - wire int_0_26; - wire int_1_26; - wire int_2_26; - wire int_3_26; - wire int_4_26; - wire int_5_26; - wire int_6_26; - wire int_7_26; - wire int_8_26; - wire int_9_26; - wire int_10_26; - wire int_11_26; - wire int_12_26; - wire int_13_26; - wire int_14_26; - wire int_15_26; - wire int_16_26; - wire int_17_26; - wire int_18_26; - wire int_19_26; - wire int_20_26; - wire int_21_26; - wire int_22_26; - wire int_23_26; - wire int_24_26; - wire int_25_26; - wire int_0_27; - wire int_1_27; - wire int_2_27; - wire int_3_27; - wire int_4_27; - wire int_5_27; - wire int_6_27; - wire int_7_27; - wire int_8_27; - wire int_9_27; - wire int_10_27; - wire int_11_27; - wire int_12_27; - wire int_13_27; - wire int_14_27; - wire int_15_27; - wire int_16_27; - wire int_17_27; - wire int_18_27; - wire int_19_27; - wire int_20_27; - wire int_21_27; - wire int_22_27; - wire int_23_27; - wire int_24_27; - wire int_25_27; - wire int_0_28; - wire int_1_28; - wire int_2_28; - wire int_3_28; - wire int_4_28; - wire int_5_28; - wire int_6_28; - wire int_7_28; - wire int_8_28; - wire int_9_28; - wire int_10_28; - wire int_11_28; - wire int_12_28; - wire int_13_28; - wire int_14_28; - wire int_15_28; - wire int_16_28; - wire int_17_28; - wire int_18_28; - wire int_19_28; - wire int_20_28; - wire int_21_28; - wire int_22_28; - wire int_23_28; - wire int_24_28; - wire int_25_28; - wire int_26_28; - wire int_27_28; - wire int_0_29; - wire int_1_29; - wire int_2_29; - wire int_3_29; - wire int_4_29; - wire int_5_29; - wire int_6_29; - wire int_7_29; - wire int_8_29; - wire int_9_29; - wire int_10_29; - wire int_11_29; - wire int_12_29; - wire int_13_29; - wire int_14_29; - wire int_15_29; - wire int_16_29; - wire int_17_29; - wire int_18_29; - wire int_19_29; - wire int_20_29; - wire int_21_29; - wire int_22_29; - wire int_23_29; - wire int_24_29; - wire int_25_29; - wire int_26_29; - wire int_27_29; - wire int_0_30; - wire int_1_30; - wire int_2_30; - wire int_3_30; - wire int_4_30; - wire int_5_30; - wire int_6_30; - wire int_7_30; - wire int_8_30; - wire int_9_30; - wire int_10_30; - wire int_11_30; - wire int_12_30; - wire int_13_30; - wire int_14_30; - wire int_15_30; - wire int_16_30; - wire int_17_30; - wire int_18_30; - wire int_19_30; - wire int_20_30; - wire int_21_30; - wire int_22_30; - wire int_23_30; - wire int_24_30; - wire int_25_30; - wire int_26_30; - wire int_27_30; - wire int_28_30; - wire int_29_30; - wire int_0_31; - wire int_1_31; - wire int_2_31; - wire int_3_31; - wire int_4_31; - wire int_5_31; - wire int_6_31; - wire int_7_31; - wire int_8_31; - wire int_9_31; - wire int_10_31; - wire int_11_31; - wire int_12_31; - wire int_13_31; - wire int_14_31; - wire int_15_31; - wire int_16_31; - wire int_17_31; - wire int_18_31; - wire int_19_31; - wire int_20_31; - wire int_21_31; - wire int_22_31; - wire int_23_31; - wire int_24_31; - wire int_25_31; - wire int_26_31; - wire int_27_31; - wire int_28_31; - wire int_29_31; - wire int_0_32; - wire int_1_32; - wire int_2_32; - wire int_3_32; - wire int_4_32; - wire int_5_32; - wire int_6_32; - wire int_7_32; - wire int_8_32; - wire int_9_32; - wire int_10_32; - wire int_11_32; - wire int_12_32; - wire int_13_32; - wire int_14_32; - wire int_15_32; - wire int_16_32; - wire int_17_32; - wire int_18_32; - wire int_19_32; - wire int_20_32; - wire int_21_32; - wire int_22_32; - wire int_23_32; - wire int_24_32; - wire int_25_32; - wire int_26_32; - wire int_27_32; - wire int_28_32; - wire int_29_32; - wire int_30_32; - wire int_31_32; - wire int_0_33; - wire int_1_33; - wire int_2_33; - wire int_3_33; - wire int_4_33; - wire int_5_33; - wire int_6_33; - wire int_7_33; - wire int_8_33; - wire int_9_33; - wire int_10_33; - wire int_11_33; - wire int_12_33; - wire int_13_33; - wire int_14_33; - wire int_15_33; - wire int_16_33; - wire int_17_33; - wire int_18_33; - wire int_19_33; - wire int_20_33; - wire int_21_33; - wire int_22_33; - wire int_23_33; - wire int_24_33; - wire int_25_33; - wire int_26_33; - wire int_27_33; - wire int_28_33; - wire int_29_33; - wire int_30_33; - wire int_31_33; - wire int_0_34; - wire int_1_34; - wire int_2_34; - wire int_3_34; - wire int_4_34; - wire int_5_34; - wire int_6_34; - wire int_7_34; - wire int_8_34; - wire int_9_34; - wire int_10_34; - wire int_11_34; - wire int_12_34; - wire int_13_34; - wire int_14_34; - wire int_15_34; - wire int_16_34; - wire int_17_34; - wire int_18_34; - wire int_19_34; - wire int_20_34; - wire int_21_34; - wire int_22_34; - wire int_23_34; - wire int_24_34; - wire int_25_34; - wire int_26_34; - wire int_27_34; - wire int_28_34; - wire int_29_34; - wire int_30_34; - wire int_31_34; - wire int_32_34; - wire int_33_34; - wire int_0_35; - wire int_1_35; - wire int_2_35; - wire int_3_35; - wire int_4_35; - wire int_5_35; - wire int_6_35; - wire int_7_35; - wire int_8_35; - wire int_9_35; - wire int_10_35; - wire int_11_35; - wire int_12_35; - wire int_13_35; - wire int_14_35; - wire int_15_35; - wire int_16_35; - wire int_17_35; - wire int_18_35; - wire int_19_35; - wire int_20_35; - wire int_21_35; - wire int_22_35; - wire int_23_35; - wire int_24_35; - wire int_25_35; - wire int_26_35; - wire int_27_35; - wire int_28_35; - wire int_29_35; - wire int_30_35; - wire int_31_35; - wire int_32_35; - wire int_33_35; - wire int_0_36; - wire int_1_36; - wire int_2_36; - wire int_3_36; - wire int_4_36; - wire int_5_36; - wire int_6_36; - wire int_7_36; - wire int_8_36; - wire int_9_36; - wire int_10_36; - wire int_11_36; - wire int_12_36; - wire int_13_36; - wire int_14_36; - wire int_15_36; - wire int_16_36; - wire int_17_36; - wire int_18_36; - wire int_19_36; - wire int_20_36; - wire int_21_36; - wire int_22_36; - wire int_23_36; - wire int_24_36; - wire int_25_36; - wire int_26_36; - wire int_27_36; - wire int_28_36; - wire int_29_36; - wire int_30_36; - wire int_31_36; - wire int_32_36; - wire int_33_36; - wire int_34_36; - wire int_35_36; - wire int_0_37; - wire int_1_37; - wire int_2_37; - wire int_3_37; - wire int_4_37; - wire int_5_37; - wire int_6_37; - wire int_7_37; - wire int_8_37; - wire int_9_37; - wire int_10_37; - wire int_11_37; - wire int_12_37; - wire int_13_37; - wire int_14_37; - wire int_15_37; - wire int_16_37; - wire int_17_37; - wire int_18_37; - wire int_19_37; - wire int_20_37; - wire int_21_37; - wire int_22_37; - wire int_23_37; - wire int_24_37; - wire int_25_37; - wire int_26_37; - wire int_27_37; - wire int_28_37; - wire int_29_37; - wire int_30_37; - wire int_31_37; - wire int_32_37; - wire int_33_37; - wire int_34_37; - wire int_35_37; - wire int_0_38; - wire int_1_38; - wire int_2_38; - wire int_3_38; - wire int_4_38; - wire int_5_38; - wire int_6_38; - wire int_7_38; - wire int_8_38; - wire int_9_38; - wire int_10_38; - wire int_11_38; - wire int_12_38; - wire int_13_38; - wire int_14_38; - wire int_15_38; - wire int_16_38; - wire int_17_38; - wire int_18_38; - wire int_19_38; - wire int_20_38; - wire int_21_38; - wire int_22_38; - wire int_23_38; - wire int_24_38; - wire int_25_38; - wire int_26_38; - wire int_27_38; - wire int_28_38; - wire int_29_38; - wire int_30_38; - wire int_31_38; - wire int_32_38; - wire int_33_38; - wire int_34_38; - wire int_35_38; - wire int_36_38; - wire int_37_38; - wire int_0_39; - wire int_1_39; - wire int_2_39; - wire int_3_39; - wire int_4_39; - wire int_5_39; - wire int_6_39; - wire int_7_39; - wire int_8_39; - wire int_9_39; - wire int_10_39; - wire int_11_39; - wire int_12_39; - wire int_13_39; - wire int_14_39; - wire int_15_39; - wire int_16_39; - wire int_17_39; - wire int_18_39; - wire int_19_39; - wire int_20_39; - wire int_21_39; - wire int_22_39; - wire int_23_39; - wire int_24_39; - wire int_25_39; - wire int_26_39; - wire int_27_39; - wire int_28_39; - wire int_29_39; - wire int_30_39; - wire int_31_39; - wire int_32_39; - wire int_33_39; - wire int_34_39; - wire int_35_39; - wire int_36_39; - wire int_37_39; - wire int_0_40; - wire int_1_40; - wire int_2_40; - wire int_3_40; - wire int_4_40; - wire int_5_40; - wire int_6_40; - wire int_7_40; - wire int_8_40; - wire int_9_40; - wire int_10_40; - wire int_11_40; - wire int_12_40; - wire int_13_40; - wire int_14_40; - wire int_15_40; - wire int_16_40; - wire int_17_40; - wire int_18_40; - wire int_19_40; - wire int_20_40; - wire int_21_40; - wire int_22_40; - wire int_23_40; - wire int_24_40; - wire int_25_40; - wire int_26_40; - wire int_27_40; - wire int_28_40; - wire int_29_40; - wire int_30_40; - wire int_31_40; - wire int_32_40; - wire int_33_40; - wire int_34_40; - wire int_35_40; - wire int_36_40; - wire int_37_40; - wire int_38_40; - wire int_39_40; - wire int_0_41; - wire int_1_41; - wire int_2_41; - wire int_3_41; - wire int_4_41; - wire int_5_41; - wire int_6_41; - wire int_7_41; - wire int_8_41; - wire int_9_41; - wire int_10_41; - wire int_11_41; - wire int_12_41; - wire int_13_41; - wire int_14_41; - wire int_15_41; - wire int_16_41; - wire int_17_41; - wire int_18_41; - wire int_19_41; - wire int_20_41; - wire int_21_41; - wire int_22_41; - wire int_23_41; - wire int_24_41; - wire int_25_41; - wire int_26_41; - wire int_27_41; - wire int_28_41; - wire int_29_41; - wire int_30_41; - wire int_31_41; - wire int_32_41; - wire int_33_41; - wire int_34_41; - wire int_35_41; - wire int_36_41; - wire int_37_41; - wire int_38_41; - wire int_39_41; - wire int_0_42; - wire int_1_42; - wire int_2_42; - wire int_3_42; - wire int_4_42; - wire int_5_42; - wire int_6_42; - wire int_7_42; - wire int_8_42; - wire int_9_42; - wire int_10_42; - wire int_11_42; - wire int_12_42; - wire int_13_42; - wire int_14_42; - wire int_15_42; - wire int_16_42; - wire int_17_42; - wire int_18_42; - wire int_19_42; - wire int_20_42; - wire int_21_42; - wire int_22_42; - wire int_23_42; - wire int_24_42; - wire int_25_42; - wire int_26_42; - wire int_27_42; - wire int_28_42; - wire int_29_42; - wire int_30_42; - wire int_31_42; - wire int_32_42; - wire int_33_42; - wire int_34_42; - wire int_35_42; - wire int_36_42; - wire int_37_42; - wire int_38_42; - wire int_39_42; - wire int_40_42; - wire int_41_42; - wire int_0_43; - wire int_1_43; - wire int_2_43; - wire int_3_43; - wire int_4_43; - wire int_5_43; - wire int_6_43; - wire int_7_43; - wire int_8_43; - wire int_9_43; - wire int_10_43; - wire int_11_43; - wire int_12_43; - wire int_13_43; - wire int_14_43; - wire int_15_43; - wire int_16_43; - wire int_17_43; - wire int_18_43; - wire int_19_43; - wire int_20_43; - wire int_21_43; - wire int_22_43; - wire int_23_43; - wire int_24_43; - wire int_25_43; - wire int_26_43; - wire int_27_43; - wire int_28_43; - wire int_29_43; - wire int_30_43; - wire int_31_43; - wire int_32_43; - wire int_33_43; - wire int_34_43; - wire int_35_43; - wire int_36_43; - wire int_37_43; - wire int_38_43; - wire int_39_43; - wire int_40_43; - wire int_41_43; - wire int_0_44; - wire int_1_44; - wire int_2_44; - wire int_3_44; - wire int_4_44; - wire int_5_44; - wire int_6_44; - wire int_7_44; - wire int_8_44; - wire int_9_44; - wire int_10_44; - wire int_11_44; - wire int_12_44; - wire int_13_44; - wire int_14_44; - wire int_15_44; - wire int_16_44; - wire int_17_44; - wire int_18_44; - wire int_19_44; - wire int_20_44; - wire int_21_44; - wire int_22_44; - wire int_23_44; - wire int_24_44; - wire int_25_44; - wire int_26_44; - wire int_27_44; - wire int_28_44; - wire int_29_44; - wire int_30_44; - wire int_31_44; - wire int_32_44; - wire int_33_44; - wire int_34_44; - wire int_35_44; - wire int_36_44; - wire int_37_44; - wire int_38_44; - wire int_39_44; - wire int_40_44; - wire int_41_44; - wire int_42_44; - wire int_43_44; - wire int_0_45; - wire int_1_45; - wire int_2_45; - wire int_3_45; - wire int_4_45; - wire int_5_45; - wire int_6_45; - wire int_7_45; - wire int_8_45; - wire int_9_45; - wire int_10_45; - wire int_11_45; - wire int_12_45; - wire int_13_45; - wire int_14_45; - wire int_15_45; - wire int_16_45; - wire int_17_45; - wire int_18_45; - wire int_19_45; - wire int_20_45; - wire int_21_45; - wire int_22_45; - wire int_23_45; - wire int_24_45; - wire int_25_45; - wire int_26_45; - wire int_27_45; - wire int_28_45; - wire int_29_45; - wire int_30_45; - wire int_31_45; - wire int_32_45; - wire int_33_45; - wire int_34_45; - wire int_35_45; - wire int_36_45; - wire int_37_45; - wire int_38_45; - wire int_39_45; - wire int_40_45; - wire int_41_45; - wire int_42_45; - wire int_43_45; - wire int_0_46; - wire int_1_46; - wire int_2_46; - wire int_3_46; - wire int_4_46; - wire int_5_46; - wire int_6_46; - wire int_7_46; - wire int_8_46; - wire int_9_46; - wire int_10_46; - wire int_11_46; - wire int_12_46; - wire int_13_46; - wire int_14_46; - wire int_15_46; - wire int_16_46; - wire int_17_46; - wire int_18_46; - wire int_19_46; - wire int_20_46; - wire int_21_46; - wire int_22_46; - wire int_23_46; - wire int_24_46; - wire int_25_46; - wire int_26_46; - wire int_27_46; - wire int_28_46; - wire int_29_46; - wire int_30_46; - wire int_31_46; - wire int_32_46; - wire int_33_46; - wire int_34_46; - wire int_35_46; - wire int_36_46; - wire int_37_46; - wire int_38_46; - wire int_39_46; - wire int_40_46; - wire int_41_46; - wire int_42_46; - wire int_43_46; - wire int_44_46; - wire int_45_46; - wire int_0_47; - wire int_1_47; - wire int_2_47; - wire int_3_47; - wire int_4_47; - wire int_5_47; - wire int_6_47; - wire int_7_47; - wire int_8_47; - wire int_9_47; - wire int_10_47; - wire int_11_47; - wire int_12_47; - wire int_13_47; - wire int_14_47; - wire int_15_47; - wire int_16_47; - wire int_17_47; - wire int_18_47; - wire int_19_47; - wire int_20_47; - wire int_21_47; - wire int_22_47; - wire int_23_47; - wire int_24_47; - wire int_25_47; - wire int_26_47; - wire int_27_47; - wire int_28_47; - wire int_29_47; - wire int_30_47; - wire int_31_47; - wire int_32_47; - wire int_33_47; - wire int_34_47; - wire int_35_47; - wire int_36_47; - wire int_37_47; - wire int_38_47; - wire int_39_47; - wire int_40_47; - wire int_41_47; - wire int_42_47; - wire int_43_47; - wire int_44_47; - wire int_45_47; - wire int_0_48; - wire int_1_48; - wire int_2_48; - wire int_3_48; - wire int_4_48; - wire int_5_48; - wire int_6_48; - wire int_7_48; - wire int_8_48; - wire int_9_48; - wire int_10_48; - wire int_11_48; - wire int_12_48; - wire int_13_48; - wire int_14_48; - wire int_15_48; - wire int_16_48; - wire int_17_48; - wire int_18_48; - wire int_19_48; - wire int_20_48; - wire int_21_48; - wire int_22_48; - wire int_23_48; - wire int_24_48; - wire int_25_48; - wire int_26_48; - wire int_27_48; - wire int_28_48; - wire int_29_48; - wire int_30_48; - wire int_31_48; - wire int_32_48; - wire int_33_48; - wire int_34_48; - wire int_35_48; - wire int_36_48; - wire int_37_48; - wire int_38_48; - wire int_39_48; - wire int_40_48; - wire int_41_48; - wire int_42_48; - wire int_43_48; - wire int_44_48; - wire int_45_48; - wire int_46_48; - wire int_47_48; - wire int_0_49; - wire int_1_49; - wire int_2_49; - wire int_3_49; - wire int_4_49; - wire int_5_49; - wire int_6_49; - wire int_7_49; - wire int_8_49; - wire int_9_49; - wire int_10_49; - wire int_11_49; - wire int_12_49; - wire int_13_49; - wire int_14_49; - wire int_15_49; - wire int_16_49; - wire int_17_49; - wire int_18_49; - wire int_19_49; - wire int_20_49; - wire int_21_49; - wire int_22_49; - wire int_23_49; - wire int_24_49; - wire int_25_49; - wire int_26_49; - wire int_27_49; - wire int_28_49; - wire int_29_49; - wire int_30_49; - wire int_31_49; - wire int_32_49; - wire int_33_49; - wire int_34_49; - wire int_35_49; - wire int_36_49; - wire int_37_49; - wire int_38_49; - wire int_39_49; - wire int_40_49; - wire int_41_49; - wire int_42_49; - wire int_43_49; - wire int_44_49; - wire int_45_49; - wire int_46_49; - wire int_47_49; - wire int_0_50; - wire int_1_50; - wire int_2_50; - wire int_3_50; - wire int_4_50; - wire int_5_50; - wire int_6_50; - wire int_7_50; - wire int_8_50; - wire int_9_50; - wire int_10_50; - wire int_11_50; - wire int_12_50; - wire int_13_50; - wire int_14_50; - wire int_15_50; - wire int_16_50; - wire int_17_50; - wire int_18_50; - wire int_19_50; - wire int_20_50; - wire int_21_50; - wire int_22_50; - wire int_23_50; - wire int_24_50; - wire int_25_50; - wire int_26_50; - wire int_27_50; - wire int_28_50; - wire int_29_50; - wire int_30_50; - wire int_31_50; - wire int_32_50; - wire int_33_50; - wire int_34_50; - wire int_35_50; - wire int_36_50; - wire int_37_50; - wire int_38_50; - wire int_39_50; - wire int_40_50; - wire int_41_50; - wire int_42_50; - wire int_43_50; - wire int_44_50; - wire int_45_50; - wire int_46_50; - wire int_47_50; - wire int_48_50; - wire int_49_50; - wire int_0_51; - wire int_1_51; - wire int_2_51; - wire int_3_51; - wire int_4_51; - wire int_5_51; - wire int_6_51; - wire int_7_51; - wire int_8_51; - wire int_9_51; - wire int_10_51; - wire int_11_51; - wire int_12_51; - wire int_13_51; - wire int_14_51; - wire int_15_51; - wire int_16_51; - wire int_17_51; - wire int_18_51; - wire int_19_51; - wire int_20_51; - wire int_21_51; - wire int_22_51; - wire int_23_51; - wire int_24_51; - wire int_25_51; - wire int_26_51; - wire int_27_51; - wire int_28_51; - wire int_29_51; - wire int_30_51; - wire int_31_51; - wire int_32_51; - wire int_33_51; - wire int_34_51; - wire int_35_51; - wire int_36_51; - wire int_37_51; - wire int_38_51; - wire int_39_51; - wire int_40_51; - wire int_41_51; - wire int_42_51; - wire int_43_51; - wire int_44_51; - wire int_45_51; - wire int_46_51; - wire int_47_51; - wire int_48_51; - wire int_49_51; - wire int_0_52; - wire int_1_52; - wire int_2_52; - wire int_3_52; - wire int_4_52; - wire int_5_52; - wire int_6_52; - wire int_7_52; - wire int_8_52; - wire int_9_52; - wire int_10_52; - wire int_11_52; - wire int_12_52; - wire int_13_52; - wire int_14_52; - wire int_15_52; - wire int_16_52; - wire int_17_52; - wire int_18_52; - wire int_19_52; - wire int_20_52; - wire int_21_52; - wire int_22_52; - wire int_23_52; - wire int_24_52; - wire int_25_52; - wire int_26_52; - wire int_27_52; - wire int_28_52; - wire int_29_52; - wire int_30_52; - wire int_31_52; - wire int_32_52; - wire int_33_52; - wire int_34_52; - wire int_35_52; - wire int_36_52; - wire int_37_52; - wire int_38_52; - wire int_39_52; - wire int_40_52; - wire int_41_52; - wire int_42_52; - wire int_43_52; - wire int_44_52; - wire int_45_52; - wire int_46_52; - wire int_47_52; - wire int_48_52; - wire int_49_52; - wire int_50_52; - wire int_51_52; - wire int_0_53; - wire int_1_53; - wire int_2_53; - wire int_3_53; - wire int_4_53; - wire int_5_53; - wire int_6_53; - wire int_7_53; - wire int_8_53; - wire int_9_53; - wire int_10_53; - wire int_11_53; - wire int_12_53; - wire int_13_53; - wire int_14_53; - wire int_15_53; - wire int_16_53; - wire int_17_53; - wire int_18_53; - wire int_19_53; - wire int_20_53; - wire int_21_53; - wire int_22_53; - wire int_23_53; - wire int_24_53; - wire int_25_53; - wire int_26_53; - wire int_27_53; - wire int_28_53; - wire int_29_53; - wire int_30_53; - wire int_31_53; - wire int_32_53; - wire int_33_53; - wire int_34_53; - wire int_35_53; - wire int_36_53; - wire int_37_53; - wire int_38_53; - wire int_39_53; - wire int_40_53; - wire int_41_53; - wire int_42_53; - wire int_43_53; - wire int_44_53; - wire int_45_53; - wire int_46_53; - wire int_47_53; - wire int_48_53; - wire int_49_53; - wire int_50_53; - wire int_51_53; - wire int_0_54; - wire int_1_54; - wire int_2_54; - wire int_3_54; - wire int_4_54; - wire int_5_54; - wire int_6_54; - wire int_7_54; - wire int_8_54; - wire int_9_54; - wire int_10_54; - wire int_11_54; - wire int_12_54; - wire int_13_54; - wire int_14_54; - wire int_15_54; - wire int_16_54; - wire int_17_54; - wire int_18_54; - wire int_19_54; - wire int_20_54; - wire int_21_54; - wire int_22_54; - wire int_23_54; - wire int_24_54; - wire int_25_54; - wire int_26_54; - wire int_27_54; - wire int_28_54; - wire int_29_54; - wire int_30_54; - wire int_31_54; - wire int_32_54; - wire int_33_54; - wire int_34_54; - wire int_35_54; - wire int_36_54; - wire int_37_54; - wire int_38_54; - wire int_39_54; - wire int_40_54; - wire int_41_54; - wire int_42_54; - wire int_43_54; - wire int_44_54; - wire int_45_54; - wire int_46_54; - wire int_47_54; - wire int_48_54; - wire int_49_54; - wire int_50_54; - wire int_51_54; - wire int_52_54; - wire int_53_54; - wire int_0_55; - wire int_1_55; - wire int_2_55; - wire int_3_55; - wire int_4_55; - wire int_5_55; - wire int_6_55; - wire int_7_55; - wire int_8_55; - wire int_9_55; - wire int_10_55; - wire int_11_55; - wire int_12_55; - wire int_13_55; - wire int_14_55; - wire int_15_55; - wire int_16_55; - wire int_17_55; - wire int_18_55; - wire int_19_55; - wire int_20_55; - wire int_21_55; - wire int_22_55; - wire int_23_55; - wire int_24_55; - wire int_25_55; - wire int_26_55; - wire int_27_55; - wire int_28_55; - wire int_29_55; - wire int_30_55; - wire int_31_55; - wire int_32_55; - wire int_33_55; - wire int_34_55; - wire int_35_55; - wire int_36_55; - wire int_37_55; - wire int_38_55; - wire int_39_55; - wire int_40_55; - wire int_41_55; - wire int_42_55; - wire int_43_55; - wire int_44_55; - wire int_45_55; - wire int_46_55; - wire int_47_55; - wire int_48_55; - wire int_49_55; - wire int_50_55; - wire int_51_55; - wire int_52_55; - wire int_53_55; - wire int_0_56; - wire int_1_56; - wire int_2_56; - wire int_3_56; - wire int_4_56; - wire int_5_56; - wire int_6_56; - wire int_7_56; - wire int_8_56; - wire int_9_56; - wire int_10_56; - wire int_11_56; - wire int_12_56; - wire int_13_56; - wire int_14_56; - wire int_15_56; - wire int_16_56; - wire int_17_56; - wire int_18_56; - wire int_19_56; - wire int_20_56; - wire int_21_56; - wire int_22_56; - wire int_23_56; - wire int_24_56; - wire int_25_56; - wire int_26_56; - wire int_27_56; - wire int_28_56; - wire int_29_56; - wire int_30_56; - wire int_31_56; - wire int_32_56; - wire int_33_56; - wire int_34_56; - wire int_35_56; - wire int_36_56; - wire int_37_56; - wire int_38_56; - wire int_39_56; - wire int_40_56; - wire int_41_56; - wire int_42_56; - wire int_43_56; - wire int_44_56; - wire int_45_56; - wire int_46_56; - wire int_47_56; - wire int_48_56; - wire int_49_56; - wire int_50_56; - wire int_51_56; - wire int_52_56; - wire int_53_56; - wire int_54_56; - wire int_55_56; - wire int_0_57; - wire int_1_57; - wire int_2_57; - wire int_3_57; - wire int_4_57; - wire int_5_57; - wire int_6_57; - wire int_7_57; - wire int_8_57; - wire int_9_57; - wire int_10_57; - wire int_11_57; - wire int_12_57; - wire int_13_57; - wire int_14_57; - wire int_15_57; - wire int_16_57; - wire int_17_57; - wire int_18_57; - wire int_19_57; - wire int_20_57; - wire int_21_57; - wire int_22_57; - wire int_23_57; - wire int_24_57; - wire int_25_57; - wire int_26_57; - wire int_27_57; - wire int_28_57; - wire int_29_57; - wire int_30_57; - wire int_31_57; - wire int_32_57; - wire int_33_57; - wire int_34_57; - wire int_35_57; - wire int_36_57; - wire int_37_57; - wire int_38_57; - wire int_39_57; - wire int_40_57; - wire int_41_57; - wire int_42_57; - wire int_43_57; - wire int_44_57; - wire int_45_57; - wire int_46_57; - wire int_47_57; - wire int_48_57; - wire int_49_57; - wire int_50_57; - wire int_51_57; - wire int_52_57; - wire int_53_57; - wire int_54_57; - wire int_55_57; - wire int_0_58; - wire int_1_58; - wire int_2_58; - wire int_3_58; - wire int_4_58; - wire int_5_58; - wire int_6_58; - wire int_7_58; - wire int_8_58; - wire int_9_58; - wire int_10_58; - wire int_11_58; - wire int_12_58; - wire int_13_58; - wire int_14_58; - wire int_15_58; - wire int_16_58; - wire int_17_58; - wire int_18_58; - wire int_19_58; - wire int_20_58; - wire int_21_58; - wire int_22_58; - wire int_23_58; - wire int_24_58; - wire int_25_58; - wire int_26_58; - wire int_27_58; - wire int_28_58; - wire int_29_58; - wire int_30_58; - wire int_31_58; - wire int_32_58; - wire int_33_58; - wire int_34_58; - wire int_35_58; - wire int_36_58; - wire int_37_58; - wire int_38_58; - wire int_39_58; - wire int_40_58; - wire int_41_58; - wire int_42_58; - wire int_43_58; - wire int_44_58; - wire int_45_58; - wire int_46_58; - wire int_47_58; - wire int_48_58; - wire int_49_58; - wire int_50_58; - wire int_51_58; - wire int_52_58; - wire int_53_58; - wire int_54_58; - wire int_55_58; - wire int_56_58; - wire int_57_58; - wire int_0_59; - wire int_1_59; - wire int_2_59; - wire int_3_59; - wire int_4_59; - wire int_5_59; - wire int_6_59; - wire int_7_59; - wire int_8_59; - wire int_9_59; - wire int_10_59; - wire int_11_59; - wire int_12_59; - wire int_13_59; - wire int_14_59; - wire int_15_59; - wire int_16_59; - wire int_17_59; - wire int_18_59; - wire int_19_59; - wire int_20_59; - wire int_21_59; - wire int_22_59; - wire int_23_59; - wire int_24_59; - wire int_25_59; - wire int_26_59; - wire int_27_59; - wire int_28_59; - wire int_29_59; - wire int_30_59; - wire int_31_59; - wire int_32_59; - wire int_33_59; - wire int_34_59; - wire int_35_59; - wire int_36_59; - wire int_37_59; - wire int_38_59; - wire int_39_59; - wire int_40_59; - wire int_41_59; - wire int_42_59; - wire int_43_59; - wire int_44_59; - wire int_45_59; - wire int_46_59; - wire int_47_59; - wire int_48_59; - wire int_49_59; - wire int_50_59; - wire int_51_59; - wire int_52_59; - wire int_53_59; - wire int_54_59; - wire int_55_59; - wire int_56_59; - wire int_57_59; - wire int_0_60; - wire int_1_60; - wire int_2_60; - wire int_3_60; - wire int_4_60; - wire int_5_60; - wire int_6_60; - wire int_7_60; - wire int_8_60; - wire int_9_60; - wire int_10_60; - wire int_11_60; - wire int_12_60; - wire int_13_60; - wire int_14_60; - wire int_15_60; - wire int_16_60; - wire int_17_60; - wire int_18_60; - wire int_19_60; - wire int_20_60; - wire int_21_60; - wire int_22_60; - wire int_23_60; - wire int_24_60; - wire int_25_60; - wire int_26_60; - wire int_27_60; - wire int_28_60; - wire int_29_60; - wire int_30_60; - wire int_31_60; - wire int_32_60; - wire int_33_60; - wire int_34_60; - wire int_35_60; - wire int_36_60; - wire int_37_60; - wire int_38_60; - wire int_39_60; - wire int_40_60; - wire int_41_60; - wire int_42_60; - wire int_43_60; - wire int_44_60; - wire int_45_60; - wire int_46_60; - wire int_47_60; - wire int_48_60; - wire int_49_60; - wire int_50_60; - wire int_51_60; - wire int_52_60; - wire int_53_60; - wire int_54_60; - wire int_55_60; - wire int_56_60; - wire int_57_60; - wire int_58_60; - wire int_59_60; - wire int_0_61; - wire int_1_61; - wire int_2_61; - wire int_3_61; - wire int_4_61; - wire int_5_61; - wire int_6_61; - wire int_7_61; - wire int_8_61; - wire int_9_61; - wire int_10_61; - wire int_11_61; - wire int_12_61; - wire int_13_61; - wire int_14_61; - wire int_15_61; - wire int_16_61; - wire int_17_61; - wire int_18_61; - wire int_19_61; - wire int_20_61; - wire int_21_61; - wire int_22_61; - wire int_23_61; - wire int_24_61; - wire int_25_61; - wire int_26_61; - wire int_27_61; - wire int_28_61; - wire int_29_61; - wire int_30_61; - wire int_31_61; - wire int_32_61; - wire int_33_61; - wire int_34_61; - wire int_35_61; - wire int_36_61; - wire int_37_61; - wire int_38_61; - wire int_39_61; - wire int_40_61; - wire int_41_61; - wire int_42_61; - wire int_43_61; - wire int_44_61; - wire int_45_61; - wire int_46_61; - wire int_47_61; - wire int_48_61; - wire int_49_61; - wire int_50_61; - wire int_51_61; - wire int_52_61; - wire int_53_61; - wire int_54_61; - wire int_55_61; - wire int_56_61; - wire int_57_61; - wire int_58_61; - wire int_59_61; - wire int_0_62; - wire int_1_62; - wire int_2_62; - wire int_3_62; - wire int_4_62; - wire int_5_62; - wire int_6_62; - wire int_7_62; - wire int_8_62; - wire int_9_62; - wire int_10_62; - wire int_11_62; - wire int_12_62; - wire int_13_62; - wire int_14_62; - wire int_15_62; - wire int_16_62; - wire int_17_62; - wire int_18_62; - wire int_19_62; - wire int_20_62; - wire int_21_62; - wire int_22_62; - wire int_23_62; - wire int_24_62; - wire int_25_62; - wire int_26_62; - wire int_27_62; - wire int_28_62; - wire int_29_62; - wire int_30_62; - wire int_31_62; - wire int_32_62; - wire int_33_62; - wire int_34_62; - wire int_35_62; - wire int_36_62; - wire int_37_62; - wire int_38_62; - wire int_39_62; - wire int_40_62; - wire int_41_62; - wire int_42_62; - wire int_43_62; - wire int_44_62; - wire int_45_62; - wire int_46_62; - wire int_47_62; - wire int_48_62; - wire int_49_62; - wire int_50_62; - wire int_51_62; - wire int_52_62; - wire int_53_62; - wire int_54_62; - wire int_55_62; - wire int_56_62; - wire int_57_62; - wire int_58_62; - wire int_59_62; - wire int_60_62; - wire int_61_62; - wire int_0_63; - wire int_1_63; - wire int_2_63; - wire int_3_63; - wire int_4_63; - wire int_5_63; - wire int_6_63; - wire int_7_63; - wire int_8_63; - wire int_9_63; - wire int_10_63; - wire int_11_63; - wire int_12_63; - wire int_13_63; - wire int_14_63; - wire int_15_63; - wire int_16_63; - wire int_17_63; - wire int_18_63; - wire int_19_63; - wire int_20_63; - wire int_21_63; - wire int_22_63; - wire int_23_63; - wire int_24_63; - wire int_25_63; - wire int_26_63; - wire int_27_63; - wire int_28_63; - wire int_29_63; - wire int_30_63; - wire int_31_63; - wire int_32_63; - wire int_33_63; - wire int_34_63; - wire int_35_63; - wire int_36_63; - wire int_37_63; - wire int_38_63; - wire int_39_63; - wire int_40_63; - wire int_41_63; - wire int_42_63; - wire int_43_63; - wire int_44_63; - wire int_45_63; - wire int_46_63; - wire int_47_63; - wire int_48_63; - wire int_49_63; - wire int_50_63; - wire int_51_63; - wire int_52_63; - wire int_53_63; - wire int_54_63; - wire int_55_63; - wire int_56_63; - wire int_57_63; - wire int_58_63; - wire int_59_63; - wire int_60_63; - wire int_61_63; - wire int_0_64; - wire int_1_64; - wire int_2_64; - wire int_3_64; - wire int_4_64; - wire int_5_64; - wire int_6_64; - wire int_7_64; - wire int_8_64; - wire int_9_64; - wire int_10_64; - wire int_11_64; - wire int_12_64; - wire int_13_64; - wire int_14_64; - wire int_15_64; - wire int_16_64; - wire int_17_64; - wire int_18_64; - wire int_19_64; - wire int_20_64; - wire int_21_64; - wire int_22_64; - wire int_23_64; - wire int_24_64; - wire int_25_64; - wire int_26_64; - wire int_27_64; - wire int_28_64; - wire int_29_64; - wire int_30_64; - wire int_31_64; - wire int_32_64; - wire int_33_64; - wire int_34_64; - wire int_35_64; - wire int_36_64; - wire int_37_64; - wire int_38_64; - wire int_39_64; - wire int_40_64; - wire int_41_64; - wire int_42_64; - wire int_43_64; - wire int_44_64; - wire int_45_64; - wire int_46_64; - wire int_47_64; - wire int_48_64; - wire int_49_64; - wire int_50_64; - wire int_51_64; - wire int_52_64; - wire int_53_64; - wire int_54_64; - wire int_55_64; - wire int_56_64; - wire int_57_64; - wire int_58_64; - wire int_59_64; - wire int_60_64; - wire int_61_64; - wire int_0_65; - wire int_1_65; - wire int_2_65; - wire int_3_65; - wire int_4_65; - wire int_5_65; - wire int_6_65; - wire int_7_65; - wire int_8_65; - wire int_9_65; - wire int_10_65; - wire int_11_65; - wire int_12_65; - wire int_13_65; - wire int_14_65; - wire int_15_65; - wire int_16_65; - wire int_17_65; - wire int_18_65; - wire int_19_65; - wire int_20_65; - wire int_21_65; - wire int_22_65; - wire int_23_65; - wire int_24_65; - wire int_25_65; - wire int_26_65; - wire int_27_65; - wire int_28_65; - wire int_29_65; - wire int_30_65; - wire int_31_65; - wire int_32_65; - wire int_33_65; - wire int_34_65; - wire int_35_65; - wire int_36_65; - wire int_37_65; - wire int_38_65; - wire int_39_65; - wire int_40_65; - wire int_41_65; - wire int_42_65; - wire int_43_65; - wire int_44_65; - wire int_45_65; - wire int_46_65; - wire int_47_65; - wire int_48_65; - wire int_49_65; - wire int_50_65; - wire int_51_65; - wire int_52_65; - wire int_53_65; - wire int_54_65; - wire int_55_65; - wire int_56_65; - wire int_57_65; - wire int_58_65; - wire int_59_65; - wire int_60_65; - wire int_61_65; - wire int_0_66; - wire int_1_66; - wire int_2_66; - wire int_3_66; - wire int_4_66; - wire int_5_66; - wire int_6_66; - wire int_7_66; - wire int_8_66; - wire int_9_66; - wire int_10_66; - wire int_11_66; - wire int_12_66; - wire int_13_66; - wire int_14_66; - wire int_15_66; - wire int_16_66; - wire int_17_66; - wire int_18_66; - wire int_19_66; - wire int_20_66; - wire int_21_66; - wire int_22_66; - wire int_23_66; - wire int_24_66; - wire int_25_66; - wire int_26_66; - wire int_27_66; - wire int_28_66; - wire int_29_66; - wire int_30_66; - wire int_31_66; - wire int_32_66; - wire int_33_66; - wire int_34_66; - wire int_35_66; - wire int_36_66; - wire int_37_66; - wire int_38_66; - wire int_39_66; - wire int_40_66; - wire int_41_66; - wire int_42_66; - wire int_43_66; - wire int_44_66; - wire int_45_66; - wire int_46_66; - wire int_47_66; - wire int_48_66; - wire int_49_66; - wire int_50_66; - wire int_51_66; - wire int_52_66; - wire int_53_66; - wire int_54_66; - wire int_55_66; - wire int_56_66; - wire int_57_66; - wire int_58_66; - wire int_59_66; - wire int_60_66; - wire int_61_66; - wire int_0_67; - wire int_1_67; - wire int_2_67; - wire int_3_67; - wire int_4_67; - wire int_5_67; - wire int_6_67; - wire int_7_67; - wire int_8_67; - wire int_9_67; - wire int_10_67; - wire int_11_67; - wire int_12_67; - wire int_13_67; - wire int_14_67; - wire int_15_67; - wire int_16_67; - wire int_17_67; - wire int_18_67; - wire int_19_67; - wire int_20_67; - wire int_21_67; - wire int_22_67; - wire int_23_67; - wire int_24_67; - wire int_25_67; - wire int_26_67; - wire int_27_67; - wire int_28_67; - wire int_29_67; - wire int_30_67; - wire int_31_67; - wire int_32_67; - wire int_33_67; - wire int_34_67; - wire int_35_67; - wire int_36_67; - wire int_37_67; - wire int_38_67; - wire int_39_67; - wire int_40_67; - wire int_41_67; - wire int_42_67; - wire int_43_67; - wire int_44_67; - wire int_45_67; - wire int_46_67; - wire int_47_67; - wire int_48_67; - wire int_49_67; - wire int_50_67; - wire int_51_67; - wire int_52_67; - wire int_53_67; - wire int_54_67; - wire int_55_67; - wire int_56_67; - wire int_57_67; - wire int_58_67; - wire int_59_67; - wire int_60_67; - wire int_61_67; - wire int_0_68; - wire int_1_68; - wire int_2_68; - wire int_3_68; - wire int_4_68; - wire int_5_68; - wire int_6_68; - wire int_7_68; - wire int_8_68; - wire int_9_68; - wire int_10_68; - wire int_11_68; - wire int_12_68; - wire int_13_68; - wire int_14_68; - wire int_15_68; - wire int_16_68; - wire int_17_68; - wire int_18_68; - wire int_19_68; - wire int_20_68; - wire int_21_68; - wire int_22_68; - wire int_23_68; - wire int_24_68; - wire int_25_68; - wire int_26_68; - wire int_27_68; - wire int_28_68; - wire int_29_68; - wire int_30_68; - wire int_31_68; - wire int_32_68; - wire int_33_68; - wire int_34_68; - wire int_35_68; - wire int_36_68; - wire int_37_68; - wire int_38_68; - wire int_39_68; - wire int_40_68; - wire int_41_68; - wire int_42_68; - wire int_43_68; - wire int_44_68; - wire int_45_68; - wire int_46_68; - wire int_47_68; - wire int_48_68; - wire int_49_68; - wire int_50_68; - wire int_51_68; - wire int_52_68; - wire int_53_68; - wire int_54_68; - wire int_55_68; - wire int_56_68; - wire int_57_68; - wire int_58_68; - wire int_59_68; - wire int_60_68; - wire int_61_68; - wire int_0_69; - wire int_1_69; - wire int_2_69; - wire int_3_69; - wire int_4_69; - wire int_5_69; - wire int_6_69; - wire int_7_69; - wire int_8_69; - wire int_9_69; - wire int_10_69; - wire int_11_69; - wire int_12_69; - wire int_13_69; - wire int_14_69; - wire int_15_69; - wire int_16_69; - wire int_17_69; - wire int_18_69; - wire int_19_69; - wire int_20_69; - wire int_21_69; - wire int_22_69; - wire int_23_69; - wire int_24_69; - wire int_25_69; - wire int_26_69; - wire int_27_69; - wire int_28_69; - wire int_29_69; - wire int_30_69; - wire int_31_69; - wire int_32_69; - wire int_33_69; - wire int_34_69; - wire int_35_69; - wire int_36_69; - wire int_37_69; - wire int_38_69; - wire int_39_69; - wire int_40_69; - wire int_41_69; - wire int_42_69; - wire int_43_69; - wire int_44_69; - wire int_45_69; - wire int_46_69; - wire int_47_69; - wire int_48_69; - wire int_49_69; - wire int_50_69; - wire int_51_69; - wire int_52_69; - wire int_53_69; - wire int_54_69; - wire int_55_69; - wire int_56_69; - wire int_57_69; - wire int_58_69; - wire int_59_69; - wire int_0_70; - wire int_1_70; - wire int_2_70; - wire int_3_70; - wire int_4_70; - wire int_5_70; - wire int_6_70; - wire int_7_70; - wire int_8_70; - wire int_9_70; - wire int_10_70; - wire int_11_70; - wire int_12_70; - wire int_13_70; - wire int_14_70; - wire int_15_70; - wire int_16_70; - wire int_17_70; - wire int_18_70; - wire int_19_70; - wire int_20_70; - wire int_21_70; - wire int_22_70; - wire int_23_70; - wire int_24_70; - wire int_25_70; - wire int_26_70; - wire int_27_70; - wire int_28_70; - wire int_29_70; - wire int_30_70; - wire int_31_70; - wire int_32_70; - wire int_33_70; - wire int_34_70; - wire int_35_70; - wire int_36_70; - wire int_37_70; - wire int_38_70; - wire int_39_70; - wire int_40_70; - wire int_41_70; - wire int_42_70; - wire int_43_70; - wire int_44_70; - wire int_45_70; - wire int_46_70; - wire int_47_70; - wire int_48_70; - wire int_49_70; - wire int_50_70; - wire int_51_70; - wire int_52_70; - wire int_53_70; - wire int_54_70; - wire int_55_70; - wire int_56_70; - wire int_57_70; - wire int_58_70; - wire int_59_70; - wire int_0_71; - wire int_1_71; - wire int_2_71; - wire int_3_71; - wire int_4_71; - wire int_5_71; - wire int_6_71; - wire int_7_71; - wire int_8_71; - wire int_9_71; - wire int_10_71; - wire int_11_71; - wire int_12_71; - wire int_13_71; - wire int_14_71; - wire int_15_71; - wire int_16_71; - wire int_17_71; - wire int_18_71; - wire int_19_71; - wire int_20_71; - wire int_21_71; - wire int_22_71; - wire int_23_71; - wire int_24_71; - wire int_25_71; - wire int_26_71; - wire int_27_71; - wire int_28_71; - wire int_29_71; - wire int_30_71; - wire int_31_71; - wire int_32_71; - wire int_33_71; - wire int_34_71; - wire int_35_71; - wire int_36_71; - wire int_37_71; - wire int_38_71; - wire int_39_71; - wire int_40_71; - wire int_41_71; - wire int_42_71; - wire int_43_71; - wire int_44_71; - wire int_45_71; - wire int_46_71; - wire int_47_71; - wire int_48_71; - wire int_49_71; - wire int_50_71; - wire int_51_71; - wire int_52_71; - wire int_53_71; - wire int_54_71; - wire int_55_71; - wire int_56_71; - wire int_57_71; - wire int_0_72; - wire int_1_72; - wire int_2_72; - wire int_3_72; - wire int_4_72; - wire int_5_72; - wire int_6_72; - wire int_7_72; - wire int_8_72; - wire int_9_72; - wire int_10_72; - wire int_11_72; - wire int_12_72; - wire int_13_72; - wire int_14_72; - wire int_15_72; - wire int_16_72; - wire int_17_72; - wire int_18_72; - wire int_19_72; - wire int_20_72; - wire int_21_72; - wire int_22_72; - wire int_23_72; - wire int_24_72; - wire int_25_72; - wire int_26_72; - wire int_27_72; - wire int_28_72; - wire int_29_72; - wire int_30_72; - wire int_31_72; - wire int_32_72; - wire int_33_72; - wire int_34_72; - wire int_35_72; - wire int_36_72; - wire int_37_72; - wire int_38_72; - wire int_39_72; - wire int_40_72; - wire int_41_72; - wire int_42_72; - wire int_43_72; - wire int_44_72; - wire int_45_72; - wire int_46_72; - wire int_47_72; - wire int_48_72; - wire int_49_72; - wire int_50_72; - wire int_51_72; - wire int_52_72; - wire int_53_72; - wire int_54_72; - wire int_55_72; - wire int_56_72; - wire int_57_72; - wire int_0_73; - wire int_1_73; - wire int_2_73; - wire int_3_73; - wire int_4_73; - wire int_5_73; - wire int_6_73; - wire int_7_73; - wire int_8_73; - wire int_9_73; - wire int_10_73; - wire int_11_73; - wire int_12_73; - wire int_13_73; - wire int_14_73; - wire int_15_73; - wire int_16_73; - wire int_17_73; - wire int_18_73; - wire int_19_73; - wire int_20_73; - wire int_21_73; - wire int_22_73; - wire int_23_73; - wire int_24_73; - wire int_25_73; - wire int_26_73; - wire int_27_73; - wire int_28_73; - wire int_29_73; - wire int_30_73; - wire int_31_73; - wire int_32_73; - wire int_33_73; - wire int_34_73; - wire int_35_73; - wire int_36_73; - wire int_37_73; - wire int_38_73; - wire int_39_73; - wire int_40_73; - wire int_41_73; - wire int_42_73; - wire int_43_73; - wire int_44_73; - wire int_45_73; - wire int_46_73; - wire int_47_73; - wire int_48_73; - wire int_49_73; - wire int_50_73; - wire int_51_73; - wire int_52_73; - wire int_53_73; - wire int_54_73; - wire int_55_73; - wire int_0_74; - wire int_1_74; - wire int_2_74; - wire int_3_74; - wire int_4_74; - wire int_5_74; - wire int_6_74; - wire int_7_74; - wire int_8_74; - wire int_9_74; - wire int_10_74; - wire int_11_74; - wire int_12_74; - wire int_13_74; - wire int_14_74; - wire int_15_74; - wire int_16_74; - wire int_17_74; - wire int_18_74; - wire int_19_74; - wire int_20_74; - wire int_21_74; - wire int_22_74; - wire int_23_74; - wire int_24_74; - wire int_25_74; - wire int_26_74; - wire int_27_74; - wire int_28_74; - wire int_29_74; - wire int_30_74; - wire int_31_74; - wire int_32_74; - wire int_33_74; - wire int_34_74; - wire int_35_74; - wire int_36_74; - wire int_37_74; - wire int_38_74; - wire int_39_74; - wire int_40_74; - wire int_41_74; - wire int_42_74; - wire int_43_74; - wire int_44_74; - wire int_45_74; - wire int_46_74; - wire int_47_74; - wire int_48_74; - wire int_49_74; - wire int_50_74; - wire int_51_74; - wire int_52_74; - wire int_53_74; - wire int_54_74; - wire int_55_74; - wire int_0_75; - wire int_1_75; - wire int_2_75; - wire int_3_75; - wire int_4_75; - wire int_5_75; - wire int_6_75; - wire int_7_75; - wire int_8_75; - wire int_9_75; - wire int_10_75; - wire int_11_75; - wire int_12_75; - wire int_13_75; - wire int_14_75; - wire int_15_75; - wire int_16_75; - wire int_17_75; - wire int_18_75; - wire int_19_75; - wire int_20_75; - wire int_21_75; - wire int_22_75; - wire int_23_75; - wire int_24_75; - wire int_25_75; - wire int_26_75; - wire int_27_75; - wire int_28_75; - wire int_29_75; - wire int_30_75; - wire int_31_75; - wire int_32_75; - wire int_33_75; - wire int_34_75; - wire int_35_75; - wire int_36_75; - wire int_37_75; - wire int_38_75; - wire int_39_75; - wire int_40_75; - wire int_41_75; - wire int_42_75; - wire int_43_75; - wire int_44_75; - wire int_45_75; - wire int_46_75; - wire int_47_75; - wire int_48_75; - wire int_49_75; - wire int_50_75; - wire int_51_75; - wire int_52_75; - wire int_53_75; - wire int_0_76; - wire int_1_76; - wire int_2_76; - wire int_3_76; - wire int_4_76; - wire int_5_76; - wire int_6_76; - wire int_7_76; - wire int_8_76; - wire int_9_76; - wire int_10_76; - wire int_11_76; - wire int_12_76; - wire int_13_76; - wire int_14_76; - wire int_15_76; - wire int_16_76; - wire int_17_76; - wire int_18_76; - wire int_19_76; - wire int_20_76; - wire int_21_76; - wire int_22_76; - wire int_23_76; - wire int_24_76; - wire int_25_76; - wire int_26_76; - wire int_27_76; - wire int_28_76; - wire int_29_76; - wire int_30_76; - wire int_31_76; - wire int_32_76; - wire int_33_76; - wire int_34_76; - wire int_35_76; - wire int_36_76; - wire int_37_76; - wire int_38_76; - wire int_39_76; - wire int_40_76; - wire int_41_76; - wire int_42_76; - wire int_43_76; - wire int_44_76; - wire int_45_76; - wire int_46_76; - wire int_47_76; - wire int_48_76; - wire int_49_76; - wire int_50_76; - wire int_51_76; - wire int_52_76; - wire int_53_76; - wire int_0_77; - wire int_1_77; - wire int_2_77; - wire int_3_77; - wire int_4_77; - wire int_5_77; - wire int_6_77; - wire int_7_77; - wire int_8_77; - wire int_9_77; - wire int_10_77; - wire int_11_77; - wire int_12_77; - wire int_13_77; - wire int_14_77; - wire int_15_77; - wire int_16_77; - wire int_17_77; - wire int_18_77; - wire int_19_77; - wire int_20_77; - wire int_21_77; - wire int_22_77; - wire int_23_77; - wire int_24_77; - wire int_25_77; - wire int_26_77; - wire int_27_77; - wire int_28_77; - wire int_29_77; - wire int_30_77; - wire int_31_77; - wire int_32_77; - wire int_33_77; - wire int_34_77; - wire int_35_77; - wire int_36_77; - wire int_37_77; - wire int_38_77; - wire int_39_77; - wire int_40_77; - wire int_41_77; - wire int_42_77; - wire int_43_77; - wire int_44_77; - wire int_45_77; - wire int_46_77; - wire int_47_77; - wire int_48_77; - wire int_49_77; - wire int_50_77; - wire int_51_77; - wire int_0_78; - wire int_1_78; - wire int_2_78; - wire int_3_78; - wire int_4_78; - wire int_5_78; - wire int_6_78; - wire int_7_78; - wire int_8_78; - wire int_9_78; - wire int_10_78; - wire int_11_78; - wire int_12_78; - wire int_13_78; - wire int_14_78; - wire int_15_78; - wire int_16_78; - wire int_17_78; - wire int_18_78; - wire int_19_78; - wire int_20_78; - wire int_21_78; - wire int_22_78; - wire int_23_78; - wire int_24_78; - wire int_25_78; - wire int_26_78; - wire int_27_78; - wire int_28_78; - wire int_29_78; - wire int_30_78; - wire int_31_78; - wire int_32_78; - wire int_33_78; - wire int_34_78; - wire int_35_78; - wire int_36_78; - wire int_37_78; - wire int_38_78; - wire int_39_78; - wire int_40_78; - wire int_41_78; - wire int_42_78; - wire int_43_78; - wire int_44_78; - wire int_45_78; - wire int_46_78; - wire int_47_78; - wire int_48_78; - wire int_49_78; - wire int_50_78; - wire int_51_78; - wire int_0_79; - wire int_1_79; - wire int_2_79; - wire int_3_79; - wire int_4_79; - wire int_5_79; - wire int_6_79; - wire int_7_79; - wire int_8_79; - wire int_9_79; - wire int_10_79; - wire int_11_79; - wire int_12_79; - wire int_13_79; - wire int_14_79; - wire int_15_79; - wire int_16_79; - wire int_17_79; - wire int_18_79; - wire int_19_79; - wire int_20_79; - wire int_21_79; - wire int_22_79; - wire int_23_79; - wire int_24_79; - wire int_25_79; - wire int_26_79; - wire int_27_79; - wire int_28_79; - wire int_29_79; - wire int_30_79; - wire int_31_79; - wire int_32_79; - wire int_33_79; - wire int_34_79; - wire int_35_79; - wire int_36_79; - wire int_37_79; - wire int_38_79; - wire int_39_79; - wire int_40_79; - wire int_41_79; - wire int_42_79; - wire int_43_79; - wire int_44_79; - wire int_45_79; - wire int_46_79; - wire int_47_79; - wire int_48_79; - wire int_49_79; - wire int_0_80; - wire int_1_80; - wire int_2_80; - wire int_3_80; - wire int_4_80; - wire int_5_80; - wire int_6_80; - wire int_7_80; - wire int_8_80; - wire int_9_80; - wire int_10_80; - wire int_11_80; - wire int_12_80; - wire int_13_80; - wire int_14_80; - wire int_15_80; - wire int_16_80; - wire int_17_80; - wire int_18_80; - wire int_19_80; - wire int_20_80; - wire int_21_80; - wire int_22_80; - wire int_23_80; - wire int_24_80; - wire int_25_80; - wire int_26_80; - wire int_27_80; - wire int_28_80; - wire int_29_80; - wire int_30_80; - wire int_31_80; - wire int_32_80; - wire int_33_80; - wire int_34_80; - wire int_35_80; - wire int_36_80; - wire int_37_80; - wire int_38_80; - wire int_39_80; - wire int_40_80; - wire int_41_80; - wire int_42_80; - wire int_43_80; - wire int_44_80; - wire int_45_80; - wire int_46_80; - wire int_47_80; - wire int_48_80; - wire int_49_80; - wire int_0_81; - wire int_1_81; - wire int_2_81; - wire int_3_81; - wire int_4_81; - wire int_5_81; - wire int_6_81; - wire int_7_81; - wire int_8_81; - wire int_9_81; - wire int_10_81; - wire int_11_81; - wire int_12_81; - wire int_13_81; - wire int_14_81; - wire int_15_81; - wire int_16_81; - wire int_17_81; - wire int_18_81; - wire int_19_81; - wire int_20_81; - wire int_21_81; - wire int_22_81; - wire int_23_81; - wire int_24_81; - wire int_25_81; - wire int_26_81; - wire int_27_81; - wire int_28_81; - wire int_29_81; - wire int_30_81; - wire int_31_81; - wire int_32_81; - wire int_33_81; - wire int_34_81; - wire int_35_81; - wire int_36_81; - wire int_37_81; - wire int_38_81; - wire int_39_81; - wire int_40_81; - wire int_41_81; - wire int_42_81; - wire int_43_81; - wire int_44_81; - wire int_45_81; - wire int_46_81; - wire int_47_81; - wire int_0_82; - wire int_1_82; - wire int_2_82; - wire int_3_82; - wire int_4_82; - wire int_5_82; - wire int_6_82; - wire int_7_82; - wire int_8_82; - wire int_9_82; - wire int_10_82; - wire int_11_82; - wire int_12_82; - wire int_13_82; - wire int_14_82; - wire int_15_82; - wire int_16_82; - wire int_17_82; - wire int_18_82; - wire int_19_82; - wire int_20_82; - wire int_21_82; - wire int_22_82; - wire int_23_82; - wire int_24_82; - wire int_25_82; - wire int_26_82; - wire int_27_82; - wire int_28_82; - wire int_29_82; - wire int_30_82; - wire int_31_82; - wire int_32_82; - wire int_33_82; - wire int_34_82; - wire int_35_82; - wire int_36_82; - wire int_37_82; - wire int_38_82; - wire int_39_82; - wire int_40_82; - wire int_41_82; - wire int_42_82; - wire int_43_82; - wire int_44_82; - wire int_45_82; - wire int_46_82; - wire int_47_82; - wire int_0_83; - wire int_1_83; - wire int_2_83; - wire int_3_83; - wire int_4_83; - wire int_5_83; - wire int_6_83; - wire int_7_83; - wire int_8_83; - wire int_9_83; - wire int_10_83; - wire int_11_83; - wire int_12_83; - wire int_13_83; - wire int_14_83; - wire int_15_83; - wire int_16_83; - wire int_17_83; - wire int_18_83; - wire int_19_83; - wire int_20_83; - wire int_21_83; - wire int_22_83; - wire int_23_83; - wire int_24_83; - wire int_25_83; - wire int_26_83; - wire int_27_83; - wire int_28_83; - wire int_29_83; - wire int_30_83; - wire int_31_83; - wire int_32_83; - wire int_33_83; - wire int_34_83; - wire int_35_83; - wire int_36_83; - wire int_37_83; - wire int_38_83; - wire int_39_83; - wire int_40_83; - wire int_41_83; - wire int_42_83; - wire int_43_83; - wire int_44_83; - wire int_45_83; - wire int_0_84; - wire int_1_84; - wire int_2_84; - wire int_3_84; - wire int_4_84; - wire int_5_84; - wire int_6_84; - wire int_7_84; - wire int_8_84; - wire int_9_84; - wire int_10_84; - wire int_11_84; - wire int_12_84; - wire int_13_84; - wire int_14_84; - wire int_15_84; - wire int_16_84; - wire int_17_84; - wire int_18_84; - wire int_19_84; - wire int_20_84; - wire int_21_84; - wire int_22_84; - wire int_23_84; - wire int_24_84; - wire int_25_84; - wire int_26_84; - wire int_27_84; - wire int_28_84; - wire int_29_84; - wire int_30_84; - wire int_31_84; - wire int_32_84; - wire int_33_84; - wire int_34_84; - wire int_35_84; - wire int_36_84; - wire int_37_84; - wire int_38_84; - wire int_39_84; - wire int_40_84; - wire int_41_84; - wire int_42_84; - wire int_43_84; - wire int_44_84; - wire int_45_84; - wire int_0_85; - wire int_1_85; - wire int_2_85; - wire int_3_85; - wire int_4_85; - wire int_5_85; - wire int_6_85; - wire int_7_85; - wire int_8_85; - wire int_9_85; - wire int_10_85; - wire int_11_85; - wire int_12_85; - wire int_13_85; - wire int_14_85; - wire int_15_85; - wire int_16_85; - wire int_17_85; - wire int_18_85; - wire int_19_85; - wire int_20_85; - wire int_21_85; - wire int_22_85; - wire int_23_85; - wire int_24_85; - wire int_25_85; - wire int_26_85; - wire int_27_85; - wire int_28_85; - wire int_29_85; - wire int_30_85; - wire int_31_85; - wire int_32_85; - wire int_33_85; - wire int_34_85; - wire int_35_85; - wire int_36_85; - wire int_37_85; - wire int_38_85; - wire int_39_85; - wire int_40_85; - wire int_41_85; - wire int_42_85; - wire int_43_85; - wire int_0_86; - wire int_1_86; - wire int_2_86; - wire int_3_86; - wire int_4_86; - wire int_5_86; - wire int_6_86; - wire int_7_86; - wire int_8_86; - wire int_9_86; - wire int_10_86; - wire int_11_86; - wire int_12_86; - wire int_13_86; - wire int_14_86; - wire int_15_86; - wire int_16_86; - wire int_17_86; - wire int_18_86; - wire int_19_86; - wire int_20_86; - wire int_21_86; - wire int_22_86; - wire int_23_86; - wire int_24_86; - wire int_25_86; - wire int_26_86; - wire int_27_86; - wire int_28_86; - wire int_29_86; - wire int_30_86; - wire int_31_86; - wire int_32_86; - wire int_33_86; - wire int_34_86; - wire int_35_86; - wire int_36_86; - wire int_37_86; - wire int_38_86; - wire int_39_86; - wire int_40_86; - wire int_41_86; - wire int_42_86; - wire int_43_86; - wire int_0_87; - wire int_1_87; - wire int_2_87; - wire int_3_87; - wire int_4_87; - wire int_5_87; - wire int_6_87; - wire int_7_87; - wire int_8_87; - wire int_9_87; - wire int_10_87; - wire int_11_87; - wire int_12_87; - wire int_13_87; - wire int_14_87; - wire int_15_87; - wire int_16_87; - wire int_17_87; - wire int_18_87; - wire int_19_87; - wire int_20_87; - wire int_21_87; - wire int_22_87; - wire int_23_87; - wire int_24_87; - wire int_25_87; - wire int_26_87; - wire int_27_87; - wire int_28_87; - wire int_29_87; - wire int_30_87; - wire int_31_87; - wire int_32_87; - wire int_33_87; - wire int_34_87; - wire int_35_87; - wire int_36_87; - wire int_37_87; - wire int_38_87; - wire int_39_87; - wire int_40_87; - wire int_41_87; - wire int_0_88; - wire int_1_88; - wire int_2_88; - wire int_3_88; - wire int_4_88; - wire int_5_88; - wire int_6_88; - wire int_7_88; - wire int_8_88; - wire int_9_88; - wire int_10_88; - wire int_11_88; - wire int_12_88; - wire int_13_88; - wire int_14_88; - wire int_15_88; - wire int_16_88; - wire int_17_88; - wire int_18_88; - wire int_19_88; - wire int_20_88; - wire int_21_88; - wire int_22_88; - wire int_23_88; - wire int_24_88; - wire int_25_88; - wire int_26_88; - wire int_27_88; - wire int_28_88; - wire int_29_88; - wire int_30_88; - wire int_31_88; - wire int_32_88; - wire int_33_88; - wire int_34_88; - wire int_35_88; - wire int_36_88; - wire int_37_88; - wire int_38_88; - wire int_39_88; - wire int_40_88; - wire int_41_88; - wire int_0_89; - wire int_1_89; - wire int_2_89; - wire int_3_89; - wire int_4_89; - wire int_5_89; - wire int_6_89; - wire int_7_89; - wire int_8_89; - wire int_9_89; - wire int_10_89; - wire int_11_89; - wire int_12_89; - wire int_13_89; - wire int_14_89; - wire int_15_89; - wire int_16_89; - wire int_17_89; - wire int_18_89; - wire int_19_89; - wire int_20_89; - wire int_21_89; - wire int_22_89; - wire int_23_89; - wire int_24_89; - wire int_25_89; - wire int_26_89; - wire int_27_89; - wire int_28_89; - wire int_29_89; - wire int_30_89; - wire int_31_89; - wire int_32_89; - wire int_33_89; - wire int_34_89; - wire int_35_89; - wire int_36_89; - wire int_37_89; - wire int_38_89; - wire int_39_89; - wire int_0_90; - wire int_1_90; - wire int_2_90; - wire int_3_90; - wire int_4_90; - wire int_5_90; - wire int_6_90; - wire int_7_90; - wire int_8_90; - wire int_9_90; - wire int_10_90; - wire int_11_90; - wire int_12_90; - wire int_13_90; - wire int_14_90; - wire int_15_90; - wire int_16_90; - wire int_17_90; - wire int_18_90; - wire int_19_90; - wire int_20_90; - wire int_21_90; - wire int_22_90; - wire int_23_90; - wire int_24_90; - wire int_25_90; - wire int_26_90; - wire int_27_90; - wire int_28_90; - wire int_29_90; - wire int_30_90; - wire int_31_90; - wire int_32_90; - wire int_33_90; - wire int_34_90; - wire int_35_90; - wire int_36_90; - wire int_37_90; - wire int_38_90; - wire int_39_90; - wire int_0_91; - wire int_1_91; - wire int_2_91; - wire int_3_91; - wire int_4_91; - wire int_5_91; - wire int_6_91; - wire int_7_91; - wire int_8_91; - wire int_9_91; - wire int_10_91; - wire int_11_91; - wire int_12_91; - wire int_13_91; - wire int_14_91; - wire int_15_91; - wire int_16_91; - wire int_17_91; - wire int_18_91; - wire int_19_91; - wire int_20_91; - wire int_21_91; - wire int_22_91; - wire int_23_91; - wire int_24_91; - wire int_25_91; - wire int_26_91; - wire int_27_91; - wire int_28_91; - wire int_29_91; - wire int_30_91; - wire int_31_91; - wire int_32_91; - wire int_33_91; - wire int_34_91; - wire int_35_91; - wire int_36_91; - wire int_37_91; - wire int_0_92; - wire int_1_92; - wire int_2_92; - wire int_3_92; - wire int_4_92; - wire int_5_92; - wire int_6_92; - wire int_7_92; - wire int_8_92; - wire int_9_92; - wire int_10_92; - wire int_11_92; - wire int_12_92; - wire int_13_92; - wire int_14_92; - wire int_15_92; - wire int_16_92; - wire int_17_92; - wire int_18_92; - wire int_19_92; - wire int_20_92; - wire int_21_92; - wire int_22_92; - wire int_23_92; - wire int_24_92; - wire int_25_92; - wire int_26_92; - wire int_27_92; - wire int_28_92; - wire int_29_92; - wire int_30_92; - wire int_31_92; - wire int_32_92; - wire int_33_92; - wire int_34_92; - wire int_35_92; - wire int_36_92; - wire int_37_92; - wire int_0_93; - wire int_1_93; - wire int_2_93; - wire int_3_93; - wire int_4_93; - wire int_5_93; - wire int_6_93; - wire int_7_93; - wire int_8_93; - wire int_9_93; - wire int_10_93; - wire int_11_93; - wire int_12_93; - wire int_13_93; - wire int_14_93; - wire int_15_93; - wire int_16_93; - wire int_17_93; - wire int_18_93; - wire int_19_93; - wire int_20_93; - wire int_21_93; - wire int_22_93; - wire int_23_93; - wire int_24_93; - wire int_25_93; - wire int_26_93; - wire int_27_93; - wire int_28_93; - wire int_29_93; - wire int_30_93; - wire int_31_93; - wire int_32_93; - wire int_33_93; - wire int_34_93; - wire int_35_93; - wire int_0_94; - wire int_1_94; - wire int_2_94; - wire int_3_94; - wire int_4_94; - wire int_5_94; - wire int_6_94; - wire int_7_94; - wire int_8_94; - wire int_9_94; - wire int_10_94; - wire int_11_94; - wire int_12_94; - wire int_13_94; - wire int_14_94; - wire int_15_94; - wire int_16_94; - wire int_17_94; - wire int_18_94; - wire int_19_94; - wire int_20_94; - wire int_21_94; - wire int_22_94; - wire int_23_94; - wire int_24_94; - wire int_25_94; - wire int_26_94; - wire int_27_94; - wire int_28_94; - wire int_29_94; - wire int_30_94; - wire int_31_94; - wire int_32_94; - wire int_33_94; - wire int_34_94; - wire int_35_94; - wire int_0_95; - wire int_1_95; - wire int_2_95; - wire int_3_95; - wire int_4_95; - wire int_5_95; - wire int_6_95; - wire int_7_95; - wire int_8_95; - wire int_9_95; - wire int_10_95; - wire int_11_95; - wire int_12_95; - wire int_13_95; - wire int_14_95; - wire int_15_95; - wire int_16_95; - wire int_17_95; - wire int_18_95; - wire int_19_95; - wire int_20_95; - wire int_21_95; - wire int_22_95; - wire int_23_95; - wire int_24_95; - wire int_25_95; - wire int_26_95; - wire int_27_95; - wire int_28_95; - wire int_29_95; - wire int_30_95; - wire int_31_95; - wire int_32_95; - wire int_33_95; - wire int_0_96; - wire int_1_96; - wire int_2_96; - wire int_3_96; - wire int_4_96; - wire int_5_96; - wire int_6_96; - wire int_7_96; - wire int_8_96; - wire int_9_96; - wire int_10_96; - wire int_11_96; - wire int_12_96; - wire int_13_96; - wire int_14_96; - wire int_15_96; - wire int_16_96; - wire int_17_96; - wire int_18_96; - wire int_19_96; - wire int_20_96; - wire int_21_96; - wire int_22_96; - wire int_23_96; - wire int_24_96; - wire int_25_96; - wire int_26_96; - wire int_27_96; - wire int_28_96; - wire int_29_96; - wire int_30_96; - wire int_31_96; - wire int_32_96; - wire int_33_96; - wire int_0_97; - wire int_1_97; - wire int_2_97; - wire int_3_97; - wire int_4_97; - wire int_5_97; - wire int_6_97; - wire int_7_97; - wire int_8_97; - wire int_9_97; - wire int_10_97; - wire int_11_97; - wire int_12_97; - wire int_13_97; - wire int_14_97; - wire int_15_97; - wire int_16_97; - wire int_17_97; - wire int_18_97; - wire int_19_97; - wire int_20_97; - wire int_21_97; - wire int_22_97; - wire int_23_97; - wire int_24_97; - wire int_25_97; - wire int_26_97; - wire int_27_97; - wire int_28_97; - wire int_29_97; - wire int_30_97; - wire int_31_97; - wire int_0_98; - wire int_1_98; - wire int_2_98; - wire int_3_98; - wire int_4_98; - wire int_5_98; - wire int_6_98; - wire int_7_98; - wire int_8_98; - wire int_9_98; - wire int_10_98; - wire int_11_98; - wire int_12_98; - wire int_13_98; - wire int_14_98; - wire int_15_98; - wire int_16_98; - wire int_17_98; - wire int_18_98; - wire int_19_98; - wire int_20_98; - wire int_21_98; - wire int_22_98; - wire int_23_98; - wire int_24_98; - wire int_25_98; - wire int_26_98; - wire int_27_98; - wire int_28_98; - wire int_29_98; - wire int_30_98; - wire int_31_98; - wire int_0_99; - wire int_1_99; - wire int_2_99; - wire int_3_99; - wire int_4_99; - wire int_5_99; - wire int_6_99; - wire int_7_99; - wire int_8_99; - wire int_9_99; - wire int_10_99; - wire int_11_99; - wire int_12_99; - wire int_13_99; - wire int_14_99; - wire int_15_99; - wire int_16_99; - wire int_17_99; - wire int_18_99; - wire int_19_99; - wire int_20_99; - wire int_21_99; - wire int_22_99; - wire int_23_99; - wire int_24_99; - wire int_25_99; - wire int_26_99; - wire int_27_99; - wire int_28_99; - wire int_29_99; - wire int_0_100; - wire int_1_100; - wire int_2_100; - wire int_3_100; - wire int_4_100; - wire int_5_100; - wire int_6_100; - wire int_7_100; - wire int_8_100; - wire int_9_100; - wire int_10_100; - wire int_11_100; - wire int_12_100; - wire int_13_100; - wire int_14_100; - wire int_15_100; - wire int_16_100; - wire int_17_100; - wire int_18_100; - wire int_19_100; - wire int_20_100; - wire int_21_100; - wire int_22_100; - wire int_23_100; - wire int_24_100; - wire int_25_100; - wire int_26_100; - wire int_27_100; - wire int_28_100; - wire int_29_100; - wire int_0_101; - wire int_1_101; - wire int_2_101; - wire int_3_101; - wire int_4_101; - wire int_5_101; - wire int_6_101; - wire int_7_101; - wire int_8_101; - wire int_9_101; - wire int_10_101; - wire int_11_101; - wire int_12_101; - wire int_13_101; - wire int_14_101; - wire int_15_101; - wire int_16_101; - wire int_17_101; - wire int_18_101; - wire int_19_101; - wire int_20_101; - wire int_21_101; - wire int_22_101; - wire int_23_101; - wire int_24_101; - wire int_25_101; - wire int_26_101; - wire int_27_101; - wire int_0_102; - wire int_1_102; - wire int_2_102; - wire int_3_102; - wire int_4_102; - wire int_5_102; - wire int_6_102; - wire int_7_102; - wire int_8_102; - wire int_9_102; - wire int_10_102; - wire int_11_102; - wire int_12_102; - wire int_13_102; - wire int_14_102; - wire int_15_102; - wire int_16_102; - wire int_17_102; - wire int_18_102; - wire int_19_102; - wire int_20_102; - wire int_21_102; - wire int_22_102; - wire int_23_102; - wire int_24_102; - wire int_25_102; - wire int_26_102; - wire int_27_102; - wire int_0_103; - wire int_1_103; - wire int_2_103; - wire int_3_103; - wire int_4_103; - wire int_5_103; - wire int_6_103; - wire int_7_103; - wire int_8_103; - wire int_9_103; - wire int_10_103; - wire int_11_103; - wire int_12_103; - wire int_13_103; - wire int_14_103; - wire int_15_103; - wire int_16_103; - wire int_17_103; - wire int_18_103; - wire int_19_103; - wire int_20_103; - wire int_21_103; - wire int_22_103; - wire int_23_103; - wire int_24_103; - wire int_25_103; - wire int_0_104; - wire int_1_104; - wire int_2_104; - wire int_3_104; - wire int_4_104; - wire int_5_104; - wire int_6_104; - wire int_7_104; - wire int_8_104; - wire int_9_104; - wire int_10_104; - wire int_11_104; - wire int_12_104; - wire int_13_104; - wire int_14_104; - wire int_15_104; - wire int_16_104; - wire int_17_104; - wire int_18_104; - wire int_19_104; - wire int_20_104; - wire int_21_104; - wire int_22_104; - wire int_23_104; - wire int_24_104; - wire int_25_104; - wire int_0_105; - wire int_1_105; - wire int_2_105; - wire int_3_105; - wire int_4_105; - wire int_5_105; - wire int_6_105; - wire int_7_105; - wire int_8_105; - wire int_9_105; - wire int_10_105; - wire int_11_105; - wire int_12_105; - wire int_13_105; - wire int_14_105; - wire int_15_105; - wire int_16_105; - wire int_17_105; - wire int_18_105; - wire int_19_105; - wire int_20_105; - wire int_21_105; - wire int_22_105; - wire int_23_105; - wire int_0_106; - wire int_1_106; - wire int_2_106; - wire int_3_106; - wire int_4_106; - wire int_5_106; - wire int_6_106; - wire int_7_106; - wire int_8_106; - wire int_9_106; - wire int_10_106; - wire int_11_106; - wire int_12_106; - wire int_13_106; - wire int_14_106; - wire int_15_106; - wire int_16_106; - wire int_17_106; - wire int_18_106; - wire int_19_106; - wire int_20_106; - wire int_21_106; - wire int_22_106; - wire int_23_106; - wire int_0_107; - wire int_1_107; - wire int_2_107; - wire int_3_107; - wire int_4_107; - wire int_5_107; - wire int_6_107; - wire int_7_107; - wire int_8_107; - wire int_9_107; - wire int_10_107; - wire int_11_107; - wire int_12_107; - wire int_13_107; - wire int_14_107; - wire int_15_107; - wire int_16_107; - wire int_17_107; - wire int_18_107; - wire int_19_107; - wire int_20_107; - wire int_21_107; - wire int_0_108; - wire int_1_108; - wire int_2_108; - wire int_3_108; - wire int_4_108; - wire int_5_108; - wire int_6_108; - wire int_7_108; - wire int_8_108; - wire int_9_108; - wire int_10_108; - wire int_11_108; - wire int_12_108; - wire int_13_108; - wire int_14_108; - wire int_15_108; - wire int_16_108; - wire int_17_108; - wire int_18_108; - wire int_19_108; - wire int_20_108; - wire int_21_108; - wire int_0_109; - wire int_1_109; - wire int_2_109; - wire int_3_109; - wire int_4_109; - wire int_5_109; - wire int_6_109; - wire int_7_109; - wire int_8_109; - wire int_9_109; - wire int_10_109; - wire int_11_109; - wire int_12_109; - wire int_13_109; - wire int_14_109; - wire int_15_109; - wire int_16_109; - wire int_17_109; - wire int_18_109; - wire int_19_109; - wire int_0_110; - wire int_1_110; - wire int_2_110; - wire int_3_110; - wire int_4_110; - wire int_5_110; - wire int_6_110; - wire int_7_110; - wire int_8_110; - wire int_9_110; - wire int_10_110; - wire int_11_110; - wire int_12_110; - wire int_13_110; - wire int_14_110; - wire int_15_110; - wire int_16_110; - wire int_17_110; - wire int_18_110; - wire int_19_110; - wire int_0_111; - wire int_1_111; - wire int_2_111; - wire int_3_111; - wire int_4_111; - wire int_5_111; - wire int_6_111; - wire int_7_111; - wire int_8_111; - wire int_9_111; - wire int_10_111; - wire int_11_111; - wire int_12_111; - wire int_13_111; - wire int_14_111; - wire int_15_111; - wire int_16_111; - wire int_17_111; - wire int_0_112; - wire int_1_112; - wire int_2_112; - wire int_3_112; - wire int_4_112; - wire int_5_112; - wire int_6_112; - wire int_7_112; - wire int_8_112; - wire int_9_112; - wire int_10_112; - wire int_11_112; - wire int_12_112; - wire int_13_112; - wire int_14_112; - wire int_15_112; - wire int_16_112; - wire int_17_112; - wire int_0_113; - wire int_1_113; - wire int_2_113; - wire int_3_113; - wire int_4_113; - wire int_5_113; - wire int_6_113; - wire int_7_113; - wire int_8_113; - wire int_9_113; - wire int_10_113; - wire int_11_113; - wire int_12_113; - wire int_13_113; - wire int_14_113; - wire int_15_113; - wire int_0_114; - wire int_1_114; - wire int_2_114; - wire int_3_114; - wire int_4_114; - wire int_5_114; - wire int_6_114; - wire int_7_114; - wire int_8_114; - wire int_9_114; - wire int_10_114; - wire int_11_114; - wire int_12_114; - wire int_13_114; - wire int_14_114; - wire int_15_114; - wire int_0_115; - wire int_1_115; - wire int_2_115; - wire int_3_115; - wire int_4_115; - wire int_5_115; - wire int_6_115; - wire int_7_115; - wire int_8_115; - wire int_9_115; - wire int_10_115; - wire int_11_115; - wire int_12_115; - wire int_13_115; - wire int_0_116; - wire int_1_116; - wire int_2_116; - wire int_3_116; - wire int_4_116; - wire int_5_116; - wire int_6_116; - wire int_7_116; - wire int_8_116; - wire int_9_116; - wire int_10_116; - wire int_11_116; - wire int_12_116; - wire int_13_116; - wire int_0_117; - wire int_1_117; - wire int_2_117; - wire int_3_117; - wire int_4_117; - wire int_5_117; - wire int_6_117; - wire int_7_117; - wire int_8_117; - wire int_9_117; - wire int_10_117; - wire int_11_117; - wire int_0_118; - wire int_1_118; - wire int_2_118; - wire int_3_118; - wire int_4_118; - wire int_5_118; - wire int_6_118; - wire int_7_118; - wire int_8_118; - wire int_9_118; - wire int_10_118; - wire int_11_118; - wire int_0_119; - wire int_1_119; - wire int_2_119; - wire int_3_119; - wire int_4_119; - wire int_5_119; - wire int_6_119; - wire int_7_119; - wire int_8_119; - wire int_9_119; - wire int_0_120; - wire int_1_120; - wire int_2_120; - wire int_3_120; - wire int_4_120; - wire int_5_120; - wire int_6_120; - wire int_7_120; - wire int_8_120; - wire int_9_120; - wire int_0_121; - wire int_1_121; - wire int_2_121; - wire int_3_121; - wire int_4_121; - wire int_5_121; - wire int_6_121; - wire int_7_121; - wire int_0_122; - wire int_1_122; - wire int_2_122; - wire int_3_122; - wire int_4_122; - wire int_5_122; - wire int_6_122; - wire int_7_122; - wire int_0_123; - wire int_1_123; - wire int_2_123; - wire int_3_123; - wire int_4_123; - wire int_5_123; - wire int_0_124; - wire int_1_124; - wire int_2_124; - wire int_3_124; - wire int_4_124; - wire int_5_124; - wire int_0_125; - wire int_1_125; - wire int_2_125; - wire int_3_125; - wire int_0_126; - wire int_1_126; - wire int_2_126; - wire int_3_126; - wire int_0_127; - wire int_1_127; - - // Below are the intermediate nets for the final adders - wire final_0; - wire final_1; - wire final_2; - wire final_3; - wire final_4; - wire final_5; - wire final_6; - wire final_7; - wire final_8; - wire final_9; - wire final_10; - wire final_11; - wire final_12; - wire final_13; - wire final_14; - wire final_15; - wire final_16; - wire final_17; - wire final_18; - wire final_19; - wire final_20; - wire final_21; - wire final_22; - wire final_23; - wire final_24; - wire final_25; - wire final_26; - wire final_27; - wire final_28; - wire final_29; - wire final_30; - wire final_31; - wire final_32; - wire final_33; - wire final_34; - wire final_35; - wire final_36; - wire final_37; - wire final_38; - wire final_39; - wire final_40; - wire final_41; - wire final_42; - wire final_43; - wire final_44; - wire final_45; - wire final_46; - wire final_47; - wire final_48; - wire final_49; - wire final_50; - wire final_51; - wire final_52; - wire final_53; - wire final_54; - wire final_55; - wire final_56; - wire final_57; - wire final_58; - wire final_59; - wire final_60; - wire final_61; - wire final_62; - wire final_63; - wire final_64; - wire final_65; - wire final_66; - wire final_67; - wire final_68; - wire final_69; - wire final_70; - wire final_71; - wire final_72; - wire final_73; - wire final_74; - wire final_75; - wire final_76; - wire final_77; - wire final_78; - wire final_79; - wire final_80; - wire final_81; - wire final_82; - wire final_83; - wire final_84; - wire final_85; - wire final_86; - wire final_87; - wire final_88; - wire final_89; - wire final_90; - wire final_91; - wire final_92; - wire final_93; - wire final_94; - wire final_95; - wire final_96; - wire final_97; - wire final_98; - wire final_99; - wire final_100; - wire final_101; - wire final_102; - wire final_103; - wire final_104; - wire final_105; - wire final_106; - wire final_107; - wire final_108; - wire final_109; - wire final_110; - wire final_111; - wire final_112; - wire final_113; - wire final_114; - wire final_115; - wire final_116; - wire final_117; - wire final_118; - wire final_119; - wire final_120; - wire final_121; - wire final_122; - wire final_123; - wire final_124; - wire final_125; - wire final_126; - - // Below are the gates for the TDM trees. - - // Hardware for column 0 - - r4bs r4bs_0_64(gnd, yy[0], single[0], double[0], neg[0], pp_0_0); - assign Sum[0] = neg[0]; - assign Carry[0] = pp_0_0; - - // Hardware for column 1 - - r4bs r4bs_80_64(yy[0], yy[1], single[0], double[0], neg[0], pp_0_1); - assign Sum[1] = pp_0_1; - assign Carry[1] = gnd; - - // Hardware for column 2 - - r4bs r4bs_160_64(yy[1], yy[2], single[0], double[0], neg[0], pp_0_2); - halfAdd HA_160_192(int_1_2, int_0_2, neg[1], pp_0_2); - r4bs r4bs_160_272(gnd, yy[0], single[1], double[1], neg[1], pp_1_2); - assign Sum[2] = pp_1_2; - assign Carry[2] = int_0_2; - - // Hardware for column 3 - - r4bs r4bs_240_64(yy[2], yy[3], single[0], double[0], neg[0], pp_0_3); - r4bs r4bs_240_192(yy[0], yy[1], single[1], double[1], neg[1], pp_1_3); - halfAdd HA_240_320(int_1_3, int_0_3, pp_0_3, pp_1_3); - assign Sum[3] = int_1_2; - assign Carry[3] = int_0_3; - - // Hardware for column 4 - - r4bs r4bs_320_64(yy[3], yy[4], single[0], double[0], neg[0], pp_0_4); - halfAdd HA_320_192(int_1_4, int_0_4, neg[2], pp_0_4); - r4bs r4bs_320_272(yy[1], yy[2], single[1], double[1], neg[1], pp_1_4); - r4bs r4bs_320_400(gnd, yy[0], single[2], double[2], neg[2], pp_2_4); - fullAdd_x FA_320_528(int_3_4, int_2_4, pp_1_4, pp_2_4, int_1_3); - assign Sum[4] = int_0_4; - assign Carry[4] = int_2_4; - - // Hardware for column 5 - - r4bs r4bs_400_64(yy[4], yy[5], single[0], double[0], neg[0], pp_0_5); - r4bs r4bs_400_192(yy[2], yy[3], single[1], double[1], neg[1], pp_1_5); - halfAdd HA_400_320(int_1_5, int_0_5, pp_0_5, pp_1_5); - r4bs r4bs_400_400(yy[0], yy[1], single[2], double[2], neg[2], pp_2_5); - fullAdd_x FA_400_528(int_3_5, int_2_5, pp_2_5, int_1_4, int_0_5); - assign Sum[5] = int_3_4; - assign Carry[5] = int_2_5; - - // Hardware for column 6 - - r4bs r4bs_480_64(yy[5], yy[6], single[0], double[0], neg[0], pp_0_6); - halfAdd HA_480_192(int_1_6, int_0_6, neg[3], pp_0_6); - r4bs r4bs_480_272(yy[3], yy[4], single[1], double[1], neg[1], pp_1_6); - r4bs r4bs_480_400(yy[1], yy[2], single[2], double[2], neg[2], pp_2_6); - r4bs r4bs_480_528(gnd, yy[0], single[3], double[3], neg[3], pp_3_6); - fullAdd_x FA_480_656(int_3_6, int_2_6, pp_1_6, pp_2_6, pp_3_6); - fullAdd_x FA_480_872(int_5_6, int_4_6, int_1_5, int_0_6, int_3_5); - assign Sum[6] = int_2_6; - assign Carry[6] = int_4_6; - - // Hardware for column 7 - - r4bs r4bs_560_64(yy[6], yy[7], single[0], double[0], neg[0], pp_0_7); - r4bs r4bs_560_192(yy[4], yy[5], single[1], double[1], neg[1], pp_1_7); - halfAdd HA_560_320(int_1_7, int_0_7, pp_0_7, pp_1_7); - r4bs r4bs_560_400(yy[2], yy[3], single[2], double[2], neg[2], pp_2_7); - r4bs r4bs_560_528(yy[0], yy[1], single[3], double[3], neg[3], pp_3_7); - fullAdd_x FA_560_656(int_3_7, int_2_7, pp_2_7, pp_3_7, int_1_6); - fullAdd_x FA_560_872(int_5_7, int_4_7, int_3_6, int_0_7, int_2_7); - assign Sum[7] = int_5_6; - assign Carry[7] = int_4_7; - - // Hardware for column 8 - - r4bs r4bs_640_64(yy[7], yy[8], single[0], double[0], neg[0], pp_0_8); - halfAdd HA_640_192(int_1_8, int_0_8, neg[4], pp_0_8); - r4bs r4bs_640_272(yy[5], yy[6], single[1], double[1], neg[1], pp_1_8); - r4bs r4bs_640_400(yy[3], yy[4], single[2], double[2], neg[2], pp_2_8); - r4bs r4bs_640_528(yy[1], yy[2], single[3], double[3], neg[3], pp_3_8); - fullAdd_x FA_640_656(int_3_8, int_2_8, pp_1_8, pp_2_8, pp_3_8); - r4bs r4bs_640_872(gnd, yy[0], single[4], double[4], neg[4], pp_4_8); - fullAdd_x FA_640_1000(int_5_8, int_4_8, pp_4_8, int_1_7, int_0_8); - fullAdd_x FA_640_1216(int_7_8, int_6_8, int_3_7, int_2_8, int_4_8); - assign Sum[8] = int_5_7; - assign Carry[8] = int_6_8; - - // Hardware for column 9 - - r4bs r4bs_720_64(yy[8], yy[9], single[0], double[0], neg[0], pp_0_9); - r4bs r4bs_720_192(yy[6], yy[7], single[1], double[1], neg[1], pp_1_9); - halfAdd HA_720_320(int_1_9, int_0_9, pp_0_9, pp_1_9); - r4bs r4bs_720_400(yy[4], yy[5], single[2], double[2], neg[2], pp_2_9); - r4bs r4bs_720_528(yy[2], yy[3], single[3], double[3], neg[3], pp_3_9); - r4bs r4bs_720_656(yy[0], yy[1], single[4], double[4], neg[4], pp_4_9); - fullAdd_x FA_720_784(int_3_9, int_2_9, pp_2_9, pp_3_9, pp_4_9); - fullAdd_x FA_720_1000(int_5_9, int_4_9, int_1_8, int_3_8, int_0_9); - fullAdd_x FA_720_1216(int_7_9, int_6_9, int_5_8, int_2_9, int_4_9); - assign Sum[9] = int_7_8; - assign Carry[9] = int_6_9; - - // Hardware for column 10 - - r4bs r4bs_800_64(yy[9], yy[10], single[0], double[0], neg[0], pp_0_10); - halfAdd HA_800_192(int_1_10, int_0_10, neg[5], pp_0_10); - r4bs r4bs_800_272(yy[7], yy[8], single[1], double[1], neg[1], pp_1_10); - r4bs r4bs_800_400(yy[5], yy[6], single[2], double[2], neg[2], pp_2_10); - r4bs r4bs_800_528(yy[3], yy[4], single[3], double[3], neg[3], pp_3_10); - fullAdd_x FA_800_656(int_3_10, int_2_10, pp_1_10, pp_2_10, pp_3_10); - r4bs r4bs_800_872(yy[1], yy[2], single[4], double[4], neg[4], pp_4_10); - r4bs r4bs_800_1000(gnd, yy[0], single[5], double[5], neg[5], pp_5_10); - fullAdd_x FA_800_1128(int_5_10, int_4_10, pp_4_10, pp_5_10, int_1_9); - fullAdd_x FA_800_1344(int_7_10, int_6_10, int_3_9, int_0_10, int_5_9); - fullAdd_x FA_800_1560(int_9_10, int_8_10, int_2_10, int_4_10, int_6_10); - assign Sum[10] = int_7_9; - assign Carry[10] = int_8_10; - - // Hardware for column 11 - - r4bs r4bs_880_64(yy[10], yy[11], single[0], double[0], neg[0], pp_0_11); - r4bs r4bs_880_192(yy[8], yy[9], single[1], double[1], neg[1], pp_1_11); - halfAdd HA_880_320(int_1_11, int_0_11, pp_0_11, pp_1_11); - r4bs r4bs_880_400(yy[6], yy[7], single[2], double[2], neg[2], pp_2_11); - r4bs r4bs_880_528(yy[4], yy[5], single[3], double[3], neg[3], pp_3_11); - r4bs r4bs_880_656(yy[2], yy[3], single[4], double[4], neg[4], pp_4_11); - fullAdd_x FA_880_784(int_3_11, int_2_11, pp_2_11, pp_3_11, pp_4_11); - r4bs r4bs_880_1000(yy[0], yy[1], single[5], double[5], neg[5], pp_5_11); - fullAdd_x FA_880_1128(int_5_11, int_4_11, pp_5_11, int_1_10, int_3_10); - fullAdd_x FA_880_1344(int_7_11, int_6_11, int_0_11, int_5_10, int_2_11); - fullAdd_x FA_880_1560(int_9_11, int_8_11, int_4_11, int_7_10, int_6_11); - assign Sum[11] = int_9_10; - assign Carry[11] = int_8_11; - - // Hardware for column 12 - - r4bs r4bs_960_64(yy[11], yy[12], single[0], double[0], neg[0], pp_0_12); - halfAdd HA_960_192(int_1_12, int_0_12, neg[6], pp_0_12); - r4bs r4bs_960_272(yy[9], yy[10], single[1], double[1], neg[1], pp_1_12); - r4bs r4bs_960_400(yy[7], yy[8], single[2], double[2], neg[2], pp_2_12); - r4bs r4bs_960_528(yy[5], yy[6], single[3], double[3], neg[3], pp_3_12); - fullAdd_x FA_960_656(int_3_12, int_2_12, pp_1_12, pp_2_12, pp_3_12); - r4bs r4bs_960_872(yy[3], yy[4], single[4], double[4], neg[4], pp_4_12); - r4bs r4bs_960_1000(yy[1], yy[2], single[5], double[5], neg[5], pp_5_12); - r4bs r4bs_960_1128(gnd, yy[0], single[6], double[6], neg[6], pp_6_12); - fullAdd_x FA_960_1256(int_5_12, int_4_12, pp_4_12, pp_5_12, pp_6_12); - fullAdd_x FA_960_1472(int_7_12, int_6_12, int_1_11, int_3_11, int_0_12); - fullAdd_x FA_960_1688(int_9_12, int_8_12, int_5_11, int_2_12, int_4_12); - fullAdd_x FA_960_1904(int_11_12, int_10_12, int_7_11, int_6_12, int_8_12); - assign Sum[12] = int_9_11; - assign Carry[12] = int_10_12; - - // Hardware for column 13 - - r4bs r4bs_1040_64(yy[12], yy[13], single[0], double[0], neg[0], pp_0_13); - r4bs r4bs_1040_192(yy[10], yy[11], single[1], double[1], neg[1], pp_1_13); - halfAdd HA_1040_320(int_1_13, int_0_13, pp_0_13, pp_1_13); - r4bs r4bs_1040_400(yy[8], yy[9], single[2], double[2], neg[2], pp_2_13); - r4bs r4bs_1040_528(yy[6], yy[7], single[3], double[3], neg[3], pp_3_13); - r4bs r4bs_1040_656(yy[4], yy[5], single[4], double[4], neg[4], pp_4_13); - fullAdd_x FA_1040_784(int_3_13, int_2_13, pp_2_13, pp_3_13, pp_4_13); - r4bs r4bs_1040_1000(yy[2], yy[3], single[5], double[5], neg[5], pp_5_13); - r4bs r4bs_1040_1128(yy[0], yy[1], single[6], double[6], neg[6], pp_6_13); - fullAdd_x FA_1040_1256(int_5_13, int_4_13, pp_5_13, pp_6_13, int_1_12); - fullAdd_x FA_1040_1472(int_7_13, int_6_13, int_3_12, int_5_12, int_0_13); - fullAdd_x FA_1040_1688(int_9_13, int_8_13, int_7_12, int_2_13, int_4_13); - fullAdd_x FA_1040_1904(int_11_13, int_10_13, int_9_12, int_6_13, int_8_13); - assign Sum[13] = int_11_12; - assign Carry[13] = int_10_13; - - // Hardware for column 14 - - r4bs r4bs_1120_64(yy[13], yy[14], single[0], double[0], neg[0], pp_0_14); - halfAdd HA_1120_192(int_1_14, int_0_14, neg[7], pp_0_14); - r4bs r4bs_1120_272(yy[11], yy[12], single[1], double[1], neg[1], pp_1_14); - r4bs r4bs_1120_400(yy[9], yy[10], single[2], double[2], neg[2], pp_2_14); - r4bs r4bs_1120_528(yy[7], yy[8], single[3], double[3], neg[3], pp_3_14); - fullAdd_x FA_1120_656(int_3_14, int_2_14, pp_1_14, pp_2_14, pp_3_14); - r4bs r4bs_1120_872(yy[5], yy[6], single[4], double[4], neg[4], pp_4_14); - r4bs r4bs_1120_1000(yy[3], yy[4], single[5], double[5], neg[5], pp_5_14); - r4bs r4bs_1120_1128(yy[1], yy[2], single[6], double[6], neg[6], pp_6_14); - fullAdd_x FA_1120_1256(int_5_14, int_4_14, pp_4_14, pp_5_14, pp_6_14); - r4bs r4bs_1120_1472(gnd, yy[0], single[7], double[7], neg[7], pp_7_14); - fullAdd_x FA_1120_1600(int_7_14, int_6_14, pp_7_14, int_1_13, int_3_13); - fullAdd_x FA_1120_1816(int_9_14, int_8_14, int_0_14, int_5_13, int_7_13); - fullAdd_x FA_1120_2032(int_11_14, int_10_14, int_2_14, int_4_14, int_6_14); - fullAdd_x FA_1120_2248(int_13_14, int_12_14, int_9_13, int_8_14, int_10_14); - assign Sum[14] = int_11_13; - assign Carry[14] = int_12_14; - - // Hardware for column 15 - - r4bs r4bs_1200_64(yy[14], yy[15], single[0], double[0], neg[0], pp_0_15); - r4bs r4bs_1200_192(yy[12], yy[13], single[1], double[1], neg[1], pp_1_15); - halfAdd HA_1200_320(int_1_15, int_0_15, pp_0_15, pp_1_15); - r4bs r4bs_1200_400(yy[10], yy[11], single[2], double[2], neg[2], pp_2_15); - r4bs r4bs_1200_528(yy[8], yy[9], single[3], double[3], neg[3], pp_3_15); - r4bs r4bs_1200_656(yy[6], yy[7], single[4], double[4], neg[4], pp_4_15); - fullAdd_x FA_1200_784(int_3_15, int_2_15, pp_2_15, pp_3_15, pp_4_15); - r4bs r4bs_1200_1000(yy[4], yy[5], single[5], double[5], neg[5], pp_5_15); - r4bs r4bs_1200_1128(yy[2], yy[3], single[6], double[6], neg[6], pp_6_15); - r4bs r4bs_1200_1256(yy[0], yy[1], single[7], double[7], neg[7], pp_7_15); - fullAdd_x FA_1200_1384(int_5_15, int_4_15, pp_5_15, pp_6_15, pp_7_15); - fullAdd_x FA_1200_1600(int_7_15, int_6_15, int_1_14, int_3_14, int_5_14); - fullAdd_x FA_1200_1816(int_9_15, int_8_15, int_0_15, int_7_14, int_2_15); - fullAdd_x FA_1200_2032(int_11_15, int_10_15, int_4_15, int_9_14, int_6_15); - fullAdd_x FA_1200_2248(int_13_15, int_12_15, int_11_14, int_8_15, int_13_14); - assign Sum[15] = int_10_15; - assign Carry[15] = int_12_15; - - // Hardware for column 16 - - r4bs r4bs_1280_64(yy[15], yy[16], single[0], double[0], neg[0], pp_0_16); - halfAdd HA_1280_192(int_1_16, int_0_16, neg[8], pp_0_16); - r4bs r4bs_1280_272(yy[13], yy[14], single[1], double[1], neg[1], pp_1_16); - r4bs r4bs_1280_400(yy[11], yy[12], single[2], double[2], neg[2], pp_2_16); - r4bs r4bs_1280_528(yy[9], yy[10], single[3], double[3], neg[3], pp_3_16); - fullAdd_x FA_1280_656(int_3_16, int_2_16, pp_1_16, pp_2_16, pp_3_16); - r4bs r4bs_1280_872(yy[7], yy[8], single[4], double[4], neg[4], pp_4_16); - r4bs r4bs_1280_1000(yy[5], yy[6], single[5], double[5], neg[5], pp_5_16); - r4bs r4bs_1280_1128(yy[3], yy[4], single[6], double[6], neg[6], pp_6_16); - fullAdd_x FA_1280_1256(int_5_16, int_4_16, pp_4_16, pp_5_16, pp_6_16); - r4bs r4bs_1280_1472(yy[1], yy[2], single[7], double[7], neg[7], pp_7_16); - r4bs r4bs_1280_1600(gnd, yy[0], single[8], double[8], neg[8], pp_8_16); - fullAdd_x FA_1280_1728(int_7_16, int_6_16, pp_7_16, pp_8_16, int_1_15); - fullAdd_x FA_1280_1944(int_9_16, int_8_16, int_3_15, int_5_15, int_0_16); - fullAdd_x FA_1280_2160(int_11_16, int_10_16, int_7_15, int_2_16, int_4_16); - fullAdd_x FA_1280_2376(int_13_16, int_12_16, int_6_16, int_9_15, int_8_16); - fullAdd_x FA_1280_2592(int_15_16, int_14_16, int_11_15, int_10_16, int_12_16); - assign Sum[16] = int_13_15; - assign Carry[16] = int_14_16; - - // Hardware for column 17 - - r4bs r4bs_1360_64(yy[16], yy[17], single[0], double[0], neg[0], pp_0_17); - r4bs r4bs_1360_192(yy[14], yy[15], single[1], double[1], neg[1], pp_1_17); - halfAdd HA_1360_320(int_1_17, int_0_17, pp_0_17, pp_1_17); - r4bs r4bs_1360_400(yy[12], yy[13], single[2], double[2], neg[2], pp_2_17); - r4bs r4bs_1360_528(yy[10], yy[11], single[3], double[3], neg[3], pp_3_17); - r4bs r4bs_1360_656(yy[8], yy[9], single[4], double[4], neg[4], pp_4_17); - fullAdd_x FA_1360_784(int_3_17, int_2_17, pp_2_17, pp_3_17, pp_4_17); - r4bs r4bs_1360_1000(yy[6], yy[7], single[5], double[5], neg[5], pp_5_17); - r4bs r4bs_1360_1128(yy[4], yy[5], single[6], double[6], neg[6], pp_6_17); - r4bs r4bs_1360_1256(yy[2], yy[3], single[7], double[7], neg[7], pp_7_17); - fullAdd_x FA_1360_1384(int_5_17, int_4_17, pp_5_17, pp_6_17, pp_7_17); - r4bs r4bs_1360_1600(yy[0], yy[1], single[8], double[8], neg[8], pp_8_17); - fullAdd_x FA_1360_1728(int_7_17, int_6_17, pp_8_17, int_1_16, int_3_16); - fullAdd_x FA_1360_1944(int_9_17, int_8_17, int_5_16, int_0_17, int_7_16); - fullAdd_x FA_1360_2160(int_11_17, int_10_17, int_9_16, int_2_17, int_4_17); - fullAdd_x FA_1360_2376(int_13_17, int_12_17, int_6_17, int_11_16, int_8_17); - fullAdd_x FA_1360_2592(int_15_17, int_14_17, int_13_16, int_10_17, int_12_17); - assign Sum[17] = int_15_16; - assign Carry[17] = int_14_17; - - // Hardware for column 18 - - r4bs r4bs_1440_64(yy[17], yy[18], single[0], double[0], neg[0], pp_0_18); - halfAdd HA_1440_192(int_1_18, int_0_18, neg[9], pp_0_18); - r4bs r4bs_1440_272(yy[15], yy[16], single[1], double[1], neg[1], pp_1_18); - r4bs r4bs_1440_400(yy[13], yy[14], single[2], double[2], neg[2], pp_2_18); - r4bs r4bs_1440_528(yy[11], yy[12], single[3], double[3], neg[3], pp_3_18); - fullAdd_x FA_1440_656(int_3_18, int_2_18, pp_1_18, pp_2_18, pp_3_18); - r4bs r4bs_1440_872(yy[9], yy[10], single[4], double[4], neg[4], pp_4_18); - r4bs r4bs_1440_1000(yy[7], yy[8], single[5], double[5], neg[5], pp_5_18); - r4bs r4bs_1440_1128(yy[5], yy[6], single[6], double[6], neg[6], pp_6_18); - fullAdd_x FA_1440_1256(int_5_18, int_4_18, pp_4_18, pp_5_18, pp_6_18); - r4bs r4bs_1440_1472(yy[3], yy[4], single[7], double[7], neg[7], pp_7_18); - r4bs r4bs_1440_1600(yy[1], yy[2], single[8], double[8], neg[8], pp_8_18); - r4bs r4bs_1440_1728(gnd, yy[0], single[9], double[9], neg[9], pp_9_18); - fullAdd_x FA_1440_1856(int_7_18, int_6_18, pp_7_18, pp_8_18, pp_9_18); - fullAdd_x FA_1440_2072(int_9_18, int_8_18, int_1_17, int_3_17, int_5_17); - fullAdd_x FA_1440_2288(int_11_18, int_10_18, int_0_18, int_7_17, int_2_18); - fullAdd_x FA_1440_2504(int_13_18, int_12_18, int_4_18, int_6_18, int_9_17); - fullAdd_x FA_1440_2720(int_15_18, int_14_18, int_11_17, int_8_18, int_13_17); - fullAdd_x FA_1440_2936(int_17_18, int_16_18, int_10_18, int_12_18, int_14_18); - assign Sum[18] = int_15_17; - assign Carry[18] = int_16_18; - - // Hardware for column 19 - - r4bs r4bs_1520_64(yy[18], yy[19], single[0], double[0], neg[0], pp_0_19); - r4bs r4bs_1520_192(yy[16], yy[17], single[1], double[1], neg[1], pp_1_19); - halfAdd HA_1520_320(int_1_19, int_0_19, pp_0_19, pp_1_19); - r4bs r4bs_1520_400(yy[14], yy[15], single[2], double[2], neg[2], pp_2_19); - r4bs r4bs_1520_528(yy[12], yy[13], single[3], double[3], neg[3], pp_3_19); - r4bs r4bs_1520_656(yy[10], yy[11], single[4], double[4], neg[4], pp_4_19); - fullAdd_x FA_1520_784(int_3_19, int_2_19, pp_2_19, pp_3_19, pp_4_19); - r4bs r4bs_1520_1000(yy[8], yy[9], single[5], double[5], neg[5], pp_5_19); - r4bs r4bs_1520_1128(yy[6], yy[7], single[6], double[6], neg[6], pp_6_19); - r4bs r4bs_1520_1256(yy[4], yy[5], single[7], double[7], neg[7], pp_7_19); - fullAdd_x FA_1520_1384(int_5_19, int_4_19, pp_5_19, pp_6_19, pp_7_19); - r4bs r4bs_1520_1600(yy[2], yy[3], single[8], double[8], neg[8], pp_8_19); - r4bs r4bs_1520_1728(yy[0], yy[1], single[9], double[9], neg[9], pp_9_19); - fullAdd_x FA_1520_1856(int_7_19, int_6_19, pp_8_19, pp_9_19, int_1_18); - fullAdd_x FA_1520_2072(int_9_19, int_8_19, int_3_18, int_5_18, int_7_18); - fullAdd_x FA_1520_2288(int_11_19, int_10_19, int_0_19, int_9_18, int_2_19); - fullAdd_x FA_1520_2504(int_13_19, int_12_19, int_4_19, int_6_19, int_11_18); - fullAdd_x FA_1520_2720(int_15_19, int_14_19, int_8_19, int_13_18, int_10_19); - fullAdd_x FA_1520_2936(int_17_19, int_16_19, int_12_19, int_15_18, int_14_19); - assign Sum[19] = int_17_18; - assign Carry[19] = int_16_19; - - // Hardware for column 20 - - r4bs r4bs_1600_64(yy[19], yy[20], single[0], double[0], neg[0], pp_0_20); - halfAdd HA_1600_192(int_1_20, int_0_20, neg[10], pp_0_20); - r4bs r4bs_1600_272(yy[17], yy[18], single[1], double[1], neg[1], pp_1_20); - r4bs r4bs_1600_400(yy[15], yy[16], single[2], double[2], neg[2], pp_2_20); - r4bs r4bs_1600_528(yy[13], yy[14], single[3], double[3], neg[3], pp_3_20); - fullAdd_x FA_1600_656(int_3_20, int_2_20, pp_1_20, pp_2_20, pp_3_20); - r4bs r4bs_1600_872(yy[11], yy[12], single[4], double[4], neg[4], pp_4_20); - r4bs r4bs_1600_1000(yy[9], yy[10], single[5], double[5], neg[5], pp_5_20); - r4bs r4bs_1600_1128(yy[7], yy[8], single[6], double[6], neg[6], pp_6_20); - fullAdd_x FA_1600_1256(int_5_20, int_4_20, pp_4_20, pp_5_20, pp_6_20); - r4bs r4bs_1600_1472(yy[5], yy[6], single[7], double[7], neg[7], pp_7_20); - r4bs r4bs_1600_1600(yy[3], yy[4], single[8], double[8], neg[8], pp_8_20); - r4bs r4bs_1600_1728(yy[1], yy[2], single[9], double[9], neg[9], pp_9_20); - fullAdd_x FA_1600_1856(int_7_20, int_6_20, pp_7_20, pp_8_20, pp_9_20); - r4bs r4bs_1600_2072(gnd, yy[0], single[10], double[10], neg[10], pp_10_20); - fullAdd_x FA_1600_2200(int_9_20, int_8_20, pp_10_20, int_1_19, int_3_19); - fullAdd_x FA_1600_2416(int_11_20, int_10_20, int_5_19, int_0_20, int_7_19); - fullAdd_x FA_1600_2632(int_13_20, int_12_20, int_9_19, int_2_20, int_4_20); - fullAdd_x FA_1600_2848(int_15_20, int_14_20, int_6_20, int_8_20, int_11_19); - fullAdd_x FA_1600_3064(int_17_20, int_16_20, int_10_20, int_13_19, int_12_20); - fullAdd_x FA_1600_3280(int_19_20, int_18_20, int_14_20, int_15_19, int_16_20); - assign Sum[20] = int_17_19; - assign Carry[20] = int_18_20; - - // Hardware for column 21 - - r4bs r4bs_1680_64(yy[20], yy[21], single[0], double[0], neg[0], pp_0_21); - r4bs r4bs_1680_192(yy[18], yy[19], single[1], double[1], neg[1], pp_1_21); - halfAdd HA_1680_320(int_1_21, int_0_21, pp_0_21, pp_1_21); - r4bs r4bs_1680_400(yy[16], yy[17], single[2], double[2], neg[2], pp_2_21); - r4bs r4bs_1680_528(yy[14], yy[15], single[3], double[3], neg[3], pp_3_21); - r4bs r4bs_1680_656(yy[12], yy[13], single[4], double[4], neg[4], pp_4_21); - fullAdd_x FA_1680_784(int_3_21, int_2_21, pp_2_21, pp_3_21, pp_4_21); - r4bs r4bs_1680_1000(yy[10], yy[11], single[5], double[5], neg[5], pp_5_21); - r4bs r4bs_1680_1128(yy[8], yy[9], single[6], double[6], neg[6], pp_6_21); - r4bs r4bs_1680_1256(yy[6], yy[7], single[7], double[7], neg[7], pp_7_21); - fullAdd_x FA_1680_1384(int_5_21, int_4_21, pp_5_21, pp_6_21, pp_7_21); - r4bs r4bs_1680_1600(yy[4], yy[5], single[8], double[8], neg[8], pp_8_21); - r4bs r4bs_1680_1728(yy[2], yy[3], single[9], double[9], neg[9], pp_9_21); - r4bs r4bs_1680_1856(yy[0], yy[1], single[10], double[10], neg[10], pp_10_21); - fullAdd_x FA_1680_1984(int_7_21, int_6_21, pp_8_21, pp_9_21, pp_10_21); - fullAdd_x FA_1680_2200(int_9_21, int_8_21, int_1_20, int_3_20, int_5_20); - fullAdd_x FA_1680_2416(int_11_21, int_10_21, int_7_20, int_0_21, int_9_20); - fullAdd_x FA_1680_2632(int_13_21, int_12_21, int_2_21, int_4_21, int_6_21); - fullAdd_x FA_1680_2848(int_15_21, int_14_21, int_11_20, int_13_20, int_8_21); - fullAdd_x FA_1680_3064(int_17_21, int_16_21, int_10_21, int_15_20, int_12_21); - fullAdd_x FA_1680_3280(int_19_21, int_18_21, int_17_20, int_14_21, int_16_21); - assign Sum[21] = int_19_20; - assign Carry[21] = int_18_21; - - // Hardware for column 22 - - r4bs r4bs_1760_64(yy[21], yy[22], single[0], double[0], neg[0], pp_0_22); - halfAdd HA_1760_192(int_1_22, int_0_22, neg[11], pp_0_22); - r4bs r4bs_1760_272(yy[19], yy[20], single[1], double[1], neg[1], pp_1_22); - r4bs r4bs_1760_400(yy[17], yy[18], single[2], double[2], neg[2], pp_2_22); - r4bs r4bs_1760_528(yy[15], yy[16], single[3], double[3], neg[3], pp_3_22); - fullAdd_x FA_1760_656(int_3_22, int_2_22, pp_1_22, pp_2_22, pp_3_22); - r4bs r4bs_1760_872(yy[13], yy[14], single[4], double[4], neg[4], pp_4_22); - r4bs r4bs_1760_1000(yy[11], yy[12], single[5], double[5], neg[5], pp_5_22); - r4bs r4bs_1760_1128(yy[9], yy[10], single[6], double[6], neg[6], pp_6_22); - fullAdd_x FA_1760_1256(int_5_22, int_4_22, pp_4_22, pp_5_22, pp_6_22); - r4bs r4bs_1760_1472(yy[7], yy[8], single[7], double[7], neg[7], pp_7_22); - r4bs r4bs_1760_1600(yy[5], yy[6], single[8], double[8], neg[8], pp_8_22); - r4bs r4bs_1760_1728(yy[3], yy[4], single[9], double[9], neg[9], pp_9_22); - fullAdd_x FA_1760_1856(int_7_22, int_6_22, pp_7_22, pp_8_22, pp_9_22); - r4bs r4bs_1760_2072(yy[1], yy[2], single[10], double[10], neg[10], pp_10_22); - r4bs r4bs_1760_2200(gnd, yy[0], single[11], double[11], neg[11], pp_11_22); - fullAdd_x FA_1760_2328(int_9_22, int_8_22, pp_10_22, pp_11_22, int_1_21); - fullAdd_x FA_1760_2544(int_11_22, int_10_22, int_3_21, int_5_21, int_7_21); - fullAdd_x FA_1760_2760(int_13_22, int_12_22, int_0_22, int_9_21, int_2_22); - fullAdd_x FA_1760_2976(int_15_22, int_14_22, int_4_22, int_6_22, int_8_22); - fullAdd_x FA_1760_3192(int_17_22, int_16_22, int_11_21, int_13_21, int_10_22); - fullAdd_x FA_1760_3408(int_19_22, int_18_22, int_15_21, int_12_22, int_14_22); - fullAdd_x FA_1760_3624(int_21_22, int_20_22, int_17_21, int_16_22, int_18_22); - assign Sum[22] = int_19_21; - assign Carry[22] = int_20_22; - - // Hardware for column 23 - - r4bs r4bs_1840_64(yy[22], yy[23], single[0], double[0], neg[0], pp_0_23); - r4bs r4bs_1840_192(yy[20], yy[21], single[1], double[1], neg[1], pp_1_23); - halfAdd HA_1840_320(int_1_23, int_0_23, pp_0_23, pp_1_23); - r4bs r4bs_1840_400(yy[18], yy[19], single[2], double[2], neg[2], pp_2_23); - r4bs r4bs_1840_528(yy[16], yy[17], single[3], double[3], neg[3], pp_3_23); - r4bs r4bs_1840_656(yy[14], yy[15], single[4], double[4], neg[4], pp_4_23); - fullAdd_x FA_1840_784(int_3_23, int_2_23, pp_2_23, pp_3_23, pp_4_23); - r4bs r4bs_1840_1000(yy[12], yy[13], single[5], double[5], neg[5], pp_5_23); - r4bs r4bs_1840_1128(yy[10], yy[11], single[6], double[6], neg[6], pp_6_23); - r4bs r4bs_1840_1256(yy[8], yy[9], single[7], double[7], neg[7], pp_7_23); - fullAdd_x FA_1840_1384(int_5_23, int_4_23, pp_5_23, pp_6_23, pp_7_23); - r4bs r4bs_1840_1600(yy[6], yy[7], single[8], double[8], neg[8], pp_8_23); - r4bs r4bs_1840_1728(yy[4], yy[5], single[9], double[9], neg[9], pp_9_23); - r4bs r4bs_1840_1856(yy[2], yy[3], single[10], double[10], neg[10], pp_10_23); - fullAdd_x FA_1840_1984(int_7_23, int_6_23, pp_8_23, pp_9_23, pp_10_23); - r4bs r4bs_1840_2200(yy[0], yy[1], single[11], double[11], neg[11], pp_11_23); - fullAdd_x FA_1840_2328(int_9_23, int_8_23, pp_11_23, int_1_22, int_3_22); - fullAdd_x FA_1840_2544(int_11_23, int_10_23, int_5_22, int_7_22, int_0_23); - fullAdd_x FA_1840_2760(int_13_23, int_12_23, int_9_22, int_11_22, int_2_23); - fullAdd_x FA_1840_2976(int_15_23, int_14_23, int_4_23, int_6_23, int_8_23); - fullAdd_x FA_1840_3192(int_17_23, int_16_23, int_13_22, int_15_22, int_10_23); - fullAdd_x FA_1840_3408(int_19_23, int_18_23, int_17_22, int_12_23, int_14_23); - fullAdd_x FA_1840_3624(int_21_23, int_20_23, int_19_22, int_16_23, int_18_23); - assign Sum[23] = int_21_22; - assign Carry[23] = int_20_23; - - // Hardware for column 24 - - r4bs r4bs_1920_64(yy[23], yy[24], single[0], double[0], neg[0], pp_0_24); - halfAdd HA_1920_192(int_1_24, int_0_24, neg[12], pp_0_24); - r4bs r4bs_1920_272(yy[21], yy[22], single[1], double[1], neg[1], pp_1_24); - r4bs r4bs_1920_400(yy[19], yy[20], single[2], double[2], neg[2], pp_2_24); - r4bs r4bs_1920_528(yy[17], yy[18], single[3], double[3], neg[3], pp_3_24); - fullAdd_x FA_1920_656(int_3_24, int_2_24, pp_1_24, pp_2_24, pp_3_24); - r4bs r4bs_1920_872(yy[15], yy[16], single[4], double[4], neg[4], pp_4_24); - r4bs r4bs_1920_1000(yy[13], yy[14], single[5], double[5], neg[5], pp_5_24); - r4bs r4bs_1920_1128(yy[11], yy[12], single[6], double[6], neg[6], pp_6_24); - fullAdd_x FA_1920_1256(int_5_24, int_4_24, pp_4_24, pp_5_24, pp_6_24); - r4bs r4bs_1920_1472(yy[9], yy[10], single[7], double[7], neg[7], pp_7_24); - r4bs r4bs_1920_1600(yy[7], yy[8], single[8], double[8], neg[8], pp_8_24); - r4bs r4bs_1920_1728(yy[5], yy[6], single[9], double[9], neg[9], pp_9_24); - fullAdd_x FA_1920_1856(int_7_24, int_6_24, pp_7_24, pp_8_24, pp_9_24); - r4bs r4bs_1920_2072(yy[3], yy[4], single[10], double[10], neg[10], pp_10_24); - r4bs r4bs_1920_2200(yy[1], yy[2], single[11], double[11], neg[11], pp_11_24); - r4bs r4bs_1920_2328(gnd, yy[0], single[12], double[12], neg[12], pp_12_24); - fullAdd_x FA_1920_2456(int_9_24, int_8_24, pp_10_24, pp_11_24, pp_12_24); - fullAdd_x FA_1920_2672(int_11_24, int_10_24, int_1_23, int_3_23, int_5_23); - fullAdd_x FA_1920_2888(int_13_24, int_12_24, int_7_23, int_0_24, int_9_23); - fullAdd_x FA_1920_3104(int_15_24, int_14_24, int_11_23, int_2_24, int_4_24); - fullAdd_x FA_1920_3320(int_17_24, int_16_24, int_6_24, int_8_24, int_13_23); - fullAdd_x FA_1920_3536(int_19_24, int_18_24, int_10_24, int_12_24, int_15_23); - fullAdd_x FA_1920_3752(int_21_24, int_20_24, int_17_23, int_14_24, int_16_24); - fullAdd_x FA_1920_3968(int_23_24, int_22_24, int_19_23, int_18_24, int_20_24); - assign Sum[24] = int_21_23; - assign Carry[24] = int_22_24; - - // Hardware for column 25 - - r4bs r4bs_2000_64(yy[24], yy[25], single[0], double[0], neg[0], pp_0_25); - r4bs r4bs_2000_192(yy[22], yy[23], single[1], double[1], neg[1], pp_1_25); - halfAdd HA_2000_320(int_1_25, int_0_25, pp_0_25, pp_1_25); - r4bs r4bs_2000_400(yy[20], yy[21], single[2], double[2], neg[2], pp_2_25); - r4bs r4bs_2000_528(yy[18], yy[19], single[3], double[3], neg[3], pp_3_25); - r4bs r4bs_2000_656(yy[16], yy[17], single[4], double[4], neg[4], pp_4_25); - fullAdd_x FA_2000_784(int_3_25, int_2_25, pp_2_25, pp_3_25, pp_4_25); - r4bs r4bs_2000_1000(yy[14], yy[15], single[5], double[5], neg[5], pp_5_25); - r4bs r4bs_2000_1128(yy[12], yy[13], single[6], double[6], neg[6], pp_6_25); - r4bs r4bs_2000_1256(yy[10], yy[11], single[7], double[7], neg[7], pp_7_25); - fullAdd_x FA_2000_1384(int_5_25, int_4_25, pp_5_25, pp_6_25, pp_7_25); - r4bs r4bs_2000_1600(yy[8], yy[9], single[8], double[8], neg[8], pp_8_25); - r4bs r4bs_2000_1728(yy[6], yy[7], single[9], double[9], neg[9], pp_9_25); - r4bs r4bs_2000_1856(yy[4], yy[5], single[10], double[10], neg[10], pp_10_25); - fullAdd_x FA_2000_1984(int_7_25, int_6_25, pp_8_25, pp_9_25, pp_10_25); - r4bs r4bs_2000_2200(yy[2], yy[3], single[11], double[11], neg[11], pp_11_25); - r4bs r4bs_2000_2328(yy[0], yy[1], single[12], double[12], neg[12], pp_12_25); - fullAdd_x FA_2000_2456(int_9_25, int_8_25, pp_11_25, pp_12_25, int_1_24); - fullAdd_x FA_2000_2672(int_11_25, int_10_25, int_3_24, int_5_24, int_7_24); - fullAdd_x FA_2000_2888(int_13_25, int_12_25, int_9_24, int_0_25, int_11_24); - fullAdd_x FA_2000_3104(int_15_25, int_14_25, int_2_25, int_4_25, int_6_25); - fullAdd_x FA_2000_3320(int_17_25, int_16_25, int_8_25, int_13_24, int_15_24); - fullAdd_x FA_2000_3536(int_19_25, int_18_25, int_10_25, int_12_25, int_17_24); - fullAdd_x FA_2000_3752(int_21_25, int_20_25, int_14_25, int_19_24, int_21_24); - fullAdd_x FA_2000_3968(int_23_25, int_22_25, int_16_25, int_18_25, int_20_25); - assign Sum[25] = int_23_24; - assign Carry[25] = int_22_25; - - // Hardware for column 26 - - r4bs r4bs_2080_64(yy[25], yy[26], single[0], double[0], neg[0], pp_0_26); - halfAdd HA_2080_192(int_1_26, int_0_26, neg[13], pp_0_26); - r4bs r4bs_2080_272(yy[23], yy[24], single[1], double[1], neg[1], pp_1_26); - r4bs r4bs_2080_400(yy[21], yy[22], single[2], double[2], neg[2], pp_2_26); - r4bs r4bs_2080_528(yy[19], yy[20], single[3], double[3], neg[3], pp_3_26); - fullAdd_x FA_2080_656(int_3_26, int_2_26, pp_1_26, pp_2_26, pp_3_26); - r4bs r4bs_2080_872(yy[17], yy[18], single[4], double[4], neg[4], pp_4_26); - r4bs r4bs_2080_1000(yy[15], yy[16], single[5], double[5], neg[5], pp_5_26); - r4bs r4bs_2080_1128(yy[13], yy[14], single[6], double[6], neg[6], pp_6_26); - fullAdd_x FA_2080_1256(int_5_26, int_4_26, pp_4_26, pp_5_26, pp_6_26); - r4bs r4bs_2080_1472(yy[11], yy[12], single[7], double[7], neg[7], pp_7_26); - r4bs r4bs_2080_1600(yy[9], yy[10], single[8], double[8], neg[8], pp_8_26); - r4bs r4bs_2080_1728(yy[7], yy[8], single[9], double[9], neg[9], pp_9_26); - fullAdd_x FA_2080_1856(int_7_26, int_6_26, pp_7_26, pp_8_26, pp_9_26); - r4bs r4bs_2080_2072(yy[5], yy[6], single[10], double[10], neg[10], pp_10_26); - r4bs r4bs_2080_2200(yy[3], yy[4], single[11], double[11], neg[11], pp_11_26); - r4bs r4bs_2080_2328(yy[1], yy[2], single[12], double[12], neg[12], pp_12_26); - fullAdd_x FA_2080_2456(int_9_26, int_8_26, pp_10_26, pp_11_26, pp_12_26); - r4bs r4bs_2080_2672(gnd, yy[0], single[13], double[13], neg[13], pp_13_26); - fullAdd_x FA_2080_2800(int_11_26, int_10_26, pp_13_26, int_1_25, int_3_25); - fullAdd_x FA_2080_3016(int_13_26, int_12_26, int_5_25, int_7_25, int_0_26); - fullAdd_x FA_2080_3232(int_15_26, int_14_26, int_9_25, int_11_25, int_2_26); - fullAdd_x FA_2080_3448(int_17_26, int_16_26, int_4_26, int_6_26, int_8_26); - fullAdd_x FA_2080_3664(int_19_26, int_18_26, int_10_26, int_13_25, int_15_25); - fullAdd_x FA_2080_3880(int_21_26, int_20_26, int_12_26, int_17_25, int_14_26); - fullAdd_x FA_2080_4096(int_23_26, int_22_26, int_16_26, int_19_25, int_18_26); - fullAdd_x FA_2080_4312(int_25_26, int_24_26, int_21_25, int_20_26, int_22_26); - assign Sum[26] = int_23_25; - assign Carry[26] = int_24_26; - - // Hardware for column 27 - - r4bs r4bs_2160_64(yy[26], yy[27], single[0], double[0], neg[0], pp_0_27); - r4bs r4bs_2160_192(yy[24], yy[25], single[1], double[1], neg[1], pp_1_27); - halfAdd HA_2160_320(int_1_27, int_0_27, pp_0_27, pp_1_27); - r4bs r4bs_2160_400(yy[22], yy[23], single[2], double[2], neg[2], pp_2_27); - r4bs r4bs_2160_528(yy[20], yy[21], single[3], double[3], neg[3], pp_3_27); - r4bs r4bs_2160_656(yy[18], yy[19], single[4], double[4], neg[4], pp_4_27); - fullAdd_x FA_2160_784(int_3_27, int_2_27, pp_2_27, pp_3_27, pp_4_27); - r4bs r4bs_2160_1000(yy[16], yy[17], single[5], double[5], neg[5], pp_5_27); - r4bs r4bs_2160_1128(yy[14], yy[15], single[6], double[6], neg[6], pp_6_27); - r4bs r4bs_2160_1256(yy[12], yy[13], single[7], double[7], neg[7], pp_7_27); - fullAdd_x FA_2160_1384(int_5_27, int_4_27, pp_5_27, pp_6_27, pp_7_27); - r4bs r4bs_2160_1600(yy[10], yy[11], single[8], double[8], neg[8], pp_8_27); - r4bs r4bs_2160_1728(yy[8], yy[9], single[9], double[9], neg[9], pp_9_27); - r4bs r4bs_2160_1856(yy[6], yy[7], single[10], double[10], neg[10], pp_10_27); - fullAdd_x FA_2160_1984(int_7_27, int_6_27, pp_8_27, pp_9_27, pp_10_27); - r4bs r4bs_2160_2200(yy[4], yy[5], single[11], double[11], neg[11], pp_11_27); - r4bs r4bs_2160_2328(yy[2], yy[3], single[12], double[12], neg[12], pp_12_27); - r4bs r4bs_2160_2456(yy[0], yy[1], single[13], double[13], neg[13], pp_13_27); - fullAdd_x FA_2160_2584(int_9_27, int_8_27, pp_11_27, pp_12_27, pp_13_27); - fullAdd_x FA_2160_2800(int_11_27, int_10_27, int_1_26, int_3_26, int_5_26); - fullAdd_x FA_2160_3016(int_13_27, int_12_27, int_7_26, int_9_26, int_0_27); - fullAdd_x FA_2160_3232(int_15_27, int_14_27, int_11_26, int_13_26, int_2_27); - fullAdd_x FA_2160_3448(int_17_27, int_16_27, int_4_27, int_6_27, int_8_27); - fullAdd_x FA_2160_3664(int_19_27, int_18_27, int_15_26, int_17_26, int_10_27); - fullAdd_x FA_2160_3880(int_21_27, int_20_27, int_12_27, int_19_26, int_14_27); - fullAdd_x FA_2160_4096(int_23_27, int_22_27, int_16_27, int_21_26, int_18_27); - fullAdd_x FA_2160_4312(int_25_27, int_24_27, int_23_26, int_20_27, int_22_27); - assign Sum[27] = int_25_26; - assign Carry[27] = int_24_27; - - // Hardware for column 28 - - r4bs r4bs_2240_64(yy[27], yy[28], single[0], double[0], neg[0], pp_0_28); - halfAdd HA_2240_192(int_1_28, int_0_28, neg[14], pp_0_28); - r4bs r4bs_2240_272(yy[25], yy[26], single[1], double[1], neg[1], pp_1_28); - r4bs r4bs_2240_400(yy[23], yy[24], single[2], double[2], neg[2], pp_2_28); - r4bs r4bs_2240_528(yy[21], yy[22], single[3], double[3], neg[3], pp_3_28); - fullAdd_x FA_2240_656(int_3_28, int_2_28, pp_1_28, pp_2_28, pp_3_28); - r4bs r4bs_2240_872(yy[19], yy[20], single[4], double[4], neg[4], pp_4_28); - r4bs r4bs_2240_1000(yy[17], yy[18], single[5], double[5], neg[5], pp_5_28); - r4bs r4bs_2240_1128(yy[15], yy[16], single[6], double[6], neg[6], pp_6_28); - fullAdd_x FA_2240_1256(int_5_28, int_4_28, pp_4_28, pp_5_28, pp_6_28); - r4bs r4bs_2240_1472(yy[13], yy[14], single[7], double[7], neg[7], pp_7_28); - r4bs r4bs_2240_1600(yy[11], yy[12], single[8], double[8], neg[8], pp_8_28); - r4bs r4bs_2240_1728(yy[9], yy[10], single[9], double[9], neg[9], pp_9_28); - fullAdd_x FA_2240_1856(int_7_28, int_6_28, pp_7_28, pp_8_28, pp_9_28); - r4bs r4bs_2240_2072(yy[7], yy[8], single[10], double[10], neg[10], pp_10_28); - r4bs r4bs_2240_2200(yy[5], yy[6], single[11], double[11], neg[11], pp_11_28); - r4bs r4bs_2240_2328(yy[3], yy[4], single[12], double[12], neg[12], pp_12_28); - fullAdd_x FA_2240_2456(int_9_28, int_8_28, pp_10_28, pp_11_28, pp_12_28); - r4bs r4bs_2240_2672(yy[1], yy[2], single[13], double[13], neg[13], pp_13_28); - r4bs r4bs_2240_2800(gnd, yy[0], single[14], double[14], neg[14], pp_14_28); - fullAdd_x FA_2240_2928(int_11_28, int_10_28, pp_13_28, pp_14_28, int_1_27); - fullAdd_x FA_2240_3144(int_13_28, int_12_28, int_3_27, int_5_27, int_7_27); - fullAdd_x FA_2240_3360(int_15_28, int_14_28, int_9_27, int_0_28, int_11_27); - fullAdd_x FA_2240_3576(int_17_28, int_16_28, int_13_27, int_2_28, int_4_28); - fullAdd_x FA_2240_3792(int_19_28, int_18_28, int_6_28, int_8_28, int_10_28); - fullAdd_x FA_2240_4008(int_21_28, int_20_28, int_15_27, int_17_27, int_12_28); - fullAdd_x FA_2240_4224(int_23_28, int_22_28, int_14_28, int_19_27, int_16_28); - fullAdd_x FA_2240_4440(int_25_28, int_24_28, int_18_28, int_21_27, int_20_28); - fullAdd_x FA_2240_4656(int_27_28, int_26_28, int_23_27, int_22_28, int_24_28); - assign Sum[28] = int_25_27; - assign Carry[28] = int_26_28; - - // Hardware for column 29 - - r4bs r4bs_2320_64(yy[28], yy[29], single[0], double[0], neg[0], pp_0_29); - r4bs r4bs_2320_192(yy[26], yy[27], single[1], double[1], neg[1], pp_1_29); - halfAdd HA_2320_320(int_1_29, int_0_29, pp_0_29, pp_1_29); - r4bs r4bs_2320_400(yy[24], yy[25], single[2], double[2], neg[2], pp_2_29); - r4bs r4bs_2320_528(yy[22], yy[23], single[3], double[3], neg[3], pp_3_29); - r4bs r4bs_2320_656(yy[20], yy[21], single[4], double[4], neg[4], pp_4_29); - fullAdd_x FA_2320_784(int_3_29, int_2_29, pp_2_29, pp_3_29, pp_4_29); - r4bs r4bs_2320_1000(yy[18], yy[19], single[5], double[5], neg[5], pp_5_29); - r4bs r4bs_2320_1128(yy[16], yy[17], single[6], double[6], neg[6], pp_6_29); - r4bs r4bs_2320_1256(yy[14], yy[15], single[7], double[7], neg[7], pp_7_29); - fullAdd_x FA_2320_1384(int_5_29, int_4_29, pp_5_29, pp_6_29, pp_7_29); - r4bs r4bs_2320_1600(yy[12], yy[13], single[8], double[8], neg[8], pp_8_29); - r4bs r4bs_2320_1728(yy[10], yy[11], single[9], double[9], neg[9], pp_9_29); - r4bs r4bs_2320_1856(yy[8], yy[9], single[10], double[10], neg[10], pp_10_29); - fullAdd_x FA_2320_1984(int_7_29, int_6_29, pp_8_29, pp_9_29, pp_10_29); - r4bs r4bs_2320_2200(yy[6], yy[7], single[11], double[11], neg[11], pp_11_29); - r4bs r4bs_2320_2328(yy[4], yy[5], single[12], double[12], neg[12], pp_12_29); - r4bs r4bs_2320_2456(yy[2], yy[3], single[13], double[13], neg[13], pp_13_29); - fullAdd_x FA_2320_2584(int_9_29, int_8_29, pp_11_29, pp_12_29, pp_13_29); - r4bs r4bs_2320_2800(yy[0], yy[1], single[14], double[14], neg[14], pp_14_29); - fullAdd_x FA_2320_2928(int_11_29, int_10_29, pp_14_29, int_1_28, int_3_28); - fullAdd_x FA_2320_3144(int_13_29, int_12_29, int_5_28, int_7_28, int_9_28); - fullAdd_x FA_2320_3360(int_15_29, int_14_29, int_0_29, int_11_28, int_13_28); - fullAdd_x FA_2320_3576(int_17_29, int_16_29, int_2_29, int_4_29, int_6_29); - fullAdd_x FA_2320_3792(int_19_29, int_18_29, int_8_29, int_10_29, int_15_28); - fullAdd_x FA_2320_4008(int_21_29, int_20_29, int_17_28, int_19_28, int_12_29); - fullAdd_x FA_2320_4224(int_23_29, int_22_29, int_14_29, int_21_28, int_16_29); - fullAdd_x FA_2320_4440(int_25_29, int_24_29, int_18_29, int_23_28, int_20_29); - fullAdd_x FA_2320_4656(int_27_29, int_26_29, int_25_28, int_22_29, int_24_29); - assign Sum[29] = int_27_28; - assign Carry[29] = int_26_29; - - // Hardware for column 30 - - r4bs r4bs_2400_64(yy[29], yy[30], single[0], double[0], neg[0], pp_0_30); - halfAdd HA_2400_192(int_1_30, int_0_30, neg[15], pp_0_30); - r4bs r4bs_2400_272(yy[27], yy[28], single[1], double[1], neg[1], pp_1_30); - r4bs r4bs_2400_400(yy[25], yy[26], single[2], double[2], neg[2], pp_2_30); - r4bs r4bs_2400_528(yy[23], yy[24], single[3], double[3], neg[3], pp_3_30); - fullAdd_x FA_2400_656(int_3_30, int_2_30, pp_1_30, pp_2_30, pp_3_30); - r4bs r4bs_2400_872(yy[21], yy[22], single[4], double[4], neg[4], pp_4_30); - r4bs r4bs_2400_1000(yy[19], yy[20], single[5], double[5], neg[5], pp_5_30); - r4bs r4bs_2400_1128(yy[17], yy[18], single[6], double[6], neg[6], pp_6_30); - fullAdd_x FA_2400_1256(int_5_30, int_4_30, pp_4_30, pp_5_30, pp_6_30); - r4bs r4bs_2400_1472(yy[15], yy[16], single[7], double[7], neg[7], pp_7_30); - r4bs r4bs_2400_1600(yy[13], yy[14], single[8], double[8], neg[8], pp_8_30); - r4bs r4bs_2400_1728(yy[11], yy[12], single[9], double[9], neg[9], pp_9_30); - fullAdd_x FA_2400_1856(int_7_30, int_6_30, pp_7_30, pp_8_30, pp_9_30); - r4bs r4bs_2400_2072(yy[9], yy[10], single[10], double[10], neg[10], pp_10_30); - r4bs r4bs_2400_2200(yy[7], yy[8], single[11], double[11], neg[11], pp_11_30); - r4bs r4bs_2400_2328(yy[5], yy[6], single[12], double[12], neg[12], pp_12_30); - fullAdd_x FA_2400_2456(int_9_30, int_8_30, pp_10_30, pp_11_30, pp_12_30); - r4bs r4bs_2400_2672(yy[3], yy[4], single[13], double[13], neg[13], pp_13_30); - r4bs r4bs_2400_2800(yy[1], yy[2], single[14], double[14], neg[14], pp_14_30); - r4bs r4bs_2400_2928(gnd, yy[0], single[15], double[15], neg[15], pp_15_30); - fullAdd_x FA_2400_3056(int_11_30, int_10_30, pp_13_30, pp_14_30, pp_15_30); - fullAdd_x FA_2400_3272(int_13_30, int_12_30, int_1_29, int_3_29, int_5_29); - fullAdd_x FA_2400_3488(int_15_30, int_14_30, int_7_29, int_9_29, int_0_30); - fullAdd_x FA_2400_3704(int_17_30, int_16_30, int_11_29, int_13_29, int_2_30); - fullAdd_x FA_2400_3920(int_19_30, int_18_30, int_4_30, int_6_30, int_8_30); - fullAdd_x FA_2400_4136(int_21_30, int_20_30, int_10_30, int_15_29, int_17_29); - fullAdd_x FA_2400_4352(int_23_30, int_22_30, int_12_30, int_14_30, int_19_29); - fullAdd_x FA_2400_4568(int_25_30, int_24_30, int_21_29, int_16_30, int_18_30); - fullAdd_x FA_2400_4784(int_27_30, int_26_30, int_23_29, int_20_30, int_22_30); - fullAdd_x FA_2400_5000(int_29_30, int_28_30, int_25_29, int_24_30, int_26_30); - assign Sum[30] = int_27_29; - assign Carry[30] = int_28_30; - - // Hardware for column 31 - - r4bs r4bs_2480_64(yy[30], yy[31], single[0], double[0], neg[0], pp_0_31); - r4bs r4bs_2480_192(yy[28], yy[29], single[1], double[1], neg[1], pp_1_31); - halfAdd HA_2480_320(int_1_31, int_0_31, pp_0_31, pp_1_31); - r4bs r4bs_2480_400(yy[26], yy[27], single[2], double[2], neg[2], pp_2_31); - r4bs r4bs_2480_528(yy[24], yy[25], single[3], double[3], neg[3], pp_3_31); - r4bs r4bs_2480_656(yy[22], yy[23], single[4], double[4], neg[4], pp_4_31); - fullAdd_x FA_2480_784(int_3_31, int_2_31, pp_2_31, pp_3_31, pp_4_31); - r4bs r4bs_2480_1000(yy[20], yy[21], single[5], double[5], neg[5], pp_5_31); - r4bs r4bs_2480_1128(yy[18], yy[19], single[6], double[6], neg[6], pp_6_31); - r4bs r4bs_2480_1256(yy[16], yy[17], single[7], double[7], neg[7], pp_7_31); - fullAdd_x FA_2480_1384(int_5_31, int_4_31, pp_5_31, pp_6_31, pp_7_31); - r4bs r4bs_2480_1600(yy[14], yy[15], single[8], double[8], neg[8], pp_8_31); - r4bs r4bs_2480_1728(yy[12], yy[13], single[9], double[9], neg[9], pp_9_31); - r4bs r4bs_2480_1856(yy[10], yy[11], single[10], double[10], neg[10], pp_10_31); - fullAdd_x FA_2480_1984(int_7_31, int_6_31, pp_8_31, pp_9_31, pp_10_31); - r4bs r4bs_2480_2200(yy[8], yy[9], single[11], double[11], neg[11], pp_11_31); - r4bs r4bs_2480_2328(yy[6], yy[7], single[12], double[12], neg[12], pp_12_31); - r4bs r4bs_2480_2456(yy[4], yy[5], single[13], double[13], neg[13], pp_13_31); - fullAdd_x FA_2480_2584(int_9_31, int_8_31, pp_11_31, pp_12_31, pp_13_31); - r4bs r4bs_2480_2800(yy[2], yy[3], single[14], double[14], neg[14], pp_14_31); - r4bs r4bs_2480_2928(yy[0], yy[1], single[15], double[15], neg[15], pp_15_31); - fullAdd_x FA_2480_3056(int_11_31, int_10_31, pp_14_31, pp_15_31, int_1_30); - fullAdd_x FA_2480_3272(int_13_31, int_12_31, int_3_30, int_5_30, int_7_30); - fullAdd_x FA_2480_3488(int_15_31, int_14_31, int_9_30, int_11_30, int_0_31); - fullAdd_x FA_2480_3704(int_17_31, int_16_31, int_13_30, int_15_30, int_2_31); - fullAdd_x FA_2480_3920(int_19_31, int_18_31, int_4_31, int_6_31, int_8_31); - fullAdd_x FA_2480_4136(int_21_31, int_20_31, int_10_31, int_17_30, int_19_30); - fullAdd_x FA_2480_4352(int_23_31, int_22_31, int_12_31, int_14_31, int_21_30); - fullAdd_x FA_2480_4568(int_25_31, int_24_31, int_16_31, int_18_31, int_23_30); - fullAdd_x FA_2480_4784(int_27_31, int_26_31, int_25_30, int_20_31, int_22_31); - fullAdd_x FA_2480_5000(int_29_31, int_28_31, int_27_30, int_24_31, int_26_31); - assign Sum[31] = int_29_30; - assign Carry[31] = int_28_31; - - // Hardware for column 32 - - r4bs r4bs_2560_64(yy[31], yy[32], single[0], double[0], neg[0], pp_0_32); - halfAdd HA_2560_192(int_1_32, int_0_32, neg[16], pp_0_32); - r4bs r4bs_2560_272(yy[29], yy[30], single[1], double[1], neg[1], pp_1_32); - r4bs r4bs_2560_400(yy[27], yy[28], single[2], double[2], neg[2], pp_2_32); - r4bs r4bs_2560_528(yy[25], yy[26], single[3], double[3], neg[3], pp_3_32); - fullAdd_x FA_2560_656(int_3_32, int_2_32, pp_1_32, pp_2_32, pp_3_32); - r4bs r4bs_2560_872(yy[23], yy[24], single[4], double[4], neg[4], pp_4_32); - r4bs r4bs_2560_1000(yy[21], yy[22], single[5], double[5], neg[5], pp_5_32); - r4bs r4bs_2560_1128(yy[19], yy[20], single[6], double[6], neg[6], pp_6_32); - fullAdd_x FA_2560_1256(int_5_32, int_4_32, pp_4_32, pp_5_32, pp_6_32); - r4bs r4bs_2560_1472(yy[17], yy[18], single[7], double[7], neg[7], pp_7_32); - r4bs r4bs_2560_1600(yy[15], yy[16], single[8], double[8], neg[8], pp_8_32); - r4bs r4bs_2560_1728(yy[13], yy[14], single[9], double[9], neg[9], pp_9_32); - fullAdd_x FA_2560_1856(int_7_32, int_6_32, pp_7_32, pp_8_32, pp_9_32); - r4bs r4bs_2560_2072(yy[11], yy[12], single[10], double[10], neg[10], pp_10_32); - r4bs r4bs_2560_2200(yy[9], yy[10], single[11], double[11], neg[11], pp_11_32); - r4bs r4bs_2560_2328(yy[7], yy[8], single[12], double[12], neg[12], pp_12_32); - fullAdd_x FA_2560_2456(int_9_32, int_8_32, pp_10_32, pp_11_32, pp_12_32); - r4bs r4bs_2560_2672(yy[5], yy[6], single[13], double[13], neg[13], pp_13_32); - r4bs r4bs_2560_2800(yy[3], yy[4], single[14], double[14], neg[14], pp_14_32); - r4bs r4bs_2560_2928(yy[1], yy[2], single[15], double[15], neg[15], pp_15_32); - fullAdd_x FA_2560_3056(int_11_32, int_10_32, pp_13_32, pp_14_32, pp_15_32); - r4bs r4bs_2560_3272(gnd, yy[0], single[16], double[16], neg[16], pp_16_32); - fullAdd_x FA_2560_3400(int_13_32, int_12_32, pp_16_32, int_1_31, int_3_31); - fullAdd_x FA_2560_3616(int_15_32, int_14_32, int_5_31, int_7_31, int_9_31); - fullAdd_x FA_2560_3832(int_17_32, int_16_32, int_0_32, int_11_31, int_13_31); - fullAdd_x FA_2560_4048(int_19_32, int_18_32, int_15_31, int_2_32, int_4_32); - fullAdd_x FA_2560_4264(int_21_32, int_20_32, int_6_32, int_8_32, int_10_32); - fullAdd_x FA_2560_4480(int_23_32, int_22_32, int_12_32, int_17_31, int_19_31); - fullAdd_x FA_2560_4696(int_25_32, int_24_32, int_14_32, int_16_32, int_21_31); - fullAdd_x FA_2560_4912(int_27_32, int_26_32, int_18_32, int_20_32, int_23_31); - fullAdd_x FA_2560_5128(int_29_32, int_28_32, int_22_32, int_24_32, int_25_31); - fullAdd_x FA_2560_5344(int_31_32, int_30_32, int_27_31, int_26_32, int_28_32); - assign Sum[32] = int_29_31; - assign Carry[32] = int_30_32; - - // Hardware for column 33 - - r4bs r4bs_2640_64(yy[32], yy[33], single[0], double[0], neg[0], pp_0_33); - r4bs r4bs_2640_192(yy[30], yy[31], single[1], double[1], neg[1], pp_1_33); - halfAdd HA_2640_320(int_1_33, int_0_33, pp_0_33, pp_1_33); - r4bs r4bs_2640_400(yy[28], yy[29], single[2], double[2], neg[2], pp_2_33); - r4bs r4bs_2640_528(yy[26], yy[27], single[3], double[3], neg[3], pp_3_33); - r4bs r4bs_2640_656(yy[24], yy[25], single[4], double[4], neg[4], pp_4_33); - fullAdd_x FA_2640_784(int_3_33, int_2_33, pp_2_33, pp_3_33, pp_4_33); - r4bs r4bs_2640_1000(yy[22], yy[23], single[5], double[5], neg[5], pp_5_33); - r4bs r4bs_2640_1128(yy[20], yy[21], single[6], double[6], neg[6], pp_6_33); - r4bs r4bs_2640_1256(yy[18], yy[19], single[7], double[7], neg[7], pp_7_33); - fullAdd_x FA_2640_1384(int_5_33, int_4_33, pp_5_33, pp_6_33, pp_7_33); - r4bs r4bs_2640_1600(yy[16], yy[17], single[8], double[8], neg[8], pp_8_33); - r4bs r4bs_2640_1728(yy[14], yy[15], single[9], double[9], neg[9], pp_9_33); - r4bs r4bs_2640_1856(yy[12], yy[13], single[10], double[10], neg[10], pp_10_33); - fullAdd_x FA_2640_1984(int_7_33, int_6_33, pp_8_33, pp_9_33, pp_10_33); - r4bs r4bs_2640_2200(yy[10], yy[11], single[11], double[11], neg[11], pp_11_33); - r4bs r4bs_2640_2328(yy[8], yy[9], single[12], double[12], neg[12], pp_12_33); - r4bs r4bs_2640_2456(yy[6], yy[7], single[13], double[13], neg[13], pp_13_33); - fullAdd_x FA_2640_2584(int_9_33, int_8_33, pp_11_33, pp_12_33, pp_13_33); - r4bs r4bs_2640_2800(yy[4], yy[5], single[14], double[14], neg[14], pp_14_33); - r4bs r4bs_2640_2928(yy[2], yy[3], single[15], double[15], neg[15], pp_15_33); - r4bs r4bs_2640_3056(yy[0], yy[1], single[16], double[16], neg[16], pp_16_33); - fullAdd_x FA_2640_3184(int_11_33, int_10_33, pp_14_33, pp_15_33, pp_16_33); - fullAdd_x FA_2640_3400(int_13_33, int_12_33, int_1_32, int_3_32, int_5_32); - fullAdd_x FA_2640_3616(int_15_33, int_14_33, int_7_32, int_9_32, int_11_32); - fullAdd_x FA_2640_3832(int_17_33, int_16_33, int_0_33, int_13_32, int_15_32); - fullAdd_x FA_2640_4048(int_19_33, int_18_33, int_2_33, int_4_33, int_6_33); - fullAdd_x FA_2640_4264(int_21_33, int_20_33, int_8_33, int_10_33, int_17_32); - fullAdd_x FA_2640_4480(int_23_33, int_22_33, int_19_32, int_21_32, int_12_33); - fullAdd_x FA_2640_4696(int_25_33, int_24_33, int_14_33, int_23_32, int_16_33); - fullAdd_x FA_2640_4912(int_27_33, int_26_33, int_18_33, int_20_33, int_25_32); - fullAdd_x FA_2640_5128(int_29_33, int_28_33, int_22_33, int_27_32, int_24_33); - fullAdd_x FA_2640_5344(int_31_33, int_30_33, int_26_33, int_29_32, int_28_33); - assign Sum[33] = int_31_32; - assign Carry[33] = int_30_33; - - // Hardware for column 34 - - r4bs r4bs_2720_64(yy[33], yy[34], single[0], double[0], neg[0], pp_0_34); - halfAdd HA_2720_192(int_1_34, int_0_34, neg[17], pp_0_34); - r4bs r4bs_2720_272(yy[31], yy[32], single[1], double[1], neg[1], pp_1_34); - r4bs r4bs_2720_400(yy[29], yy[30], single[2], double[2], neg[2], pp_2_34); - r4bs r4bs_2720_528(yy[27], yy[28], single[3], double[3], neg[3], pp_3_34); - fullAdd_x FA_2720_656(int_3_34, int_2_34, pp_1_34, pp_2_34, pp_3_34); - r4bs r4bs_2720_872(yy[25], yy[26], single[4], double[4], neg[4], pp_4_34); - r4bs r4bs_2720_1000(yy[23], yy[24], single[5], double[5], neg[5], pp_5_34); - r4bs r4bs_2720_1128(yy[21], yy[22], single[6], double[6], neg[6], pp_6_34); - fullAdd_x FA_2720_1256(int_5_34, int_4_34, pp_4_34, pp_5_34, pp_6_34); - r4bs r4bs_2720_1472(yy[19], yy[20], single[7], double[7], neg[7], pp_7_34); - r4bs r4bs_2720_1600(yy[17], yy[18], single[8], double[8], neg[8], pp_8_34); - r4bs r4bs_2720_1728(yy[15], yy[16], single[9], double[9], neg[9], pp_9_34); - fullAdd_x FA_2720_1856(int_7_34, int_6_34, pp_7_34, pp_8_34, pp_9_34); - r4bs r4bs_2720_2072(yy[13], yy[14], single[10], double[10], neg[10], pp_10_34); - r4bs r4bs_2720_2200(yy[11], yy[12], single[11], double[11], neg[11], pp_11_34); - r4bs r4bs_2720_2328(yy[9], yy[10], single[12], double[12], neg[12], pp_12_34); - fullAdd_x FA_2720_2456(int_9_34, int_8_34, pp_10_34, pp_11_34, pp_12_34); - r4bs r4bs_2720_2672(yy[7], yy[8], single[13], double[13], neg[13], pp_13_34); - r4bs r4bs_2720_2800(yy[5], yy[6], single[14], double[14], neg[14], pp_14_34); - r4bs r4bs_2720_2928(yy[3], yy[4], single[15], double[15], neg[15], pp_15_34); - fullAdd_x FA_2720_3056(int_11_34, int_10_34, pp_13_34, pp_14_34, pp_15_34); - r4bs r4bs_2720_3272(yy[1], yy[2], single[16], double[16], neg[16], pp_16_34); - r4bs r4bs_2720_3400(gnd, yy[0], single[17], double[17], neg[17], pp_17_34); - fullAdd_x FA_2720_3528(int_13_34, int_12_34, pp_16_34, pp_17_34, int_1_33); - fullAdd_x FA_2720_3744(int_15_34, int_14_34, int_3_33, int_5_33, int_7_33); - fullAdd_x FA_2720_3960(int_17_34, int_16_34, int_9_33, int_11_33, int_0_34); - fullAdd_x FA_2720_4176(int_19_34, int_18_34, int_13_33, int_15_33, int_2_34); - fullAdd_x FA_2720_4392(int_21_34, int_20_34, int_4_34, int_6_34, int_8_34); - fullAdd_x FA_2720_4608(int_23_34, int_22_34, int_10_34, int_12_34, int_17_33); - fullAdd_x FA_2720_4824(int_25_34, int_24_34, int_19_33, int_14_34, int_16_34); - fullAdd_x FA_2720_5040(int_27_34, int_26_34, int_21_33, int_23_33, int_18_34); - fullAdd_x FA_2720_5256(int_29_34, int_28_34, int_20_34, int_22_34, int_25_33); - fullAdd_x FA_2720_5472(int_31_34, int_30_34, int_24_34, int_27_33, int_26_34); - fullAdd_x FA_2720_5688(int_33_34, int_32_34, int_28_34, int_29_33, int_30_34); - assign Sum[34] = int_31_33; - assign Carry[34] = int_32_34; - - // Hardware for column 35 - - r4bs r4bs_2800_64(yy[34], yy[35], single[0], double[0], neg[0], pp_0_35); - r4bs r4bs_2800_192(yy[32], yy[33], single[1], double[1], neg[1], pp_1_35); - halfAdd HA_2800_320(int_1_35, int_0_35, pp_0_35, pp_1_35); - r4bs r4bs_2800_400(yy[30], yy[31], single[2], double[2], neg[2], pp_2_35); - r4bs r4bs_2800_528(yy[28], yy[29], single[3], double[3], neg[3], pp_3_35); - r4bs r4bs_2800_656(yy[26], yy[27], single[4], double[4], neg[4], pp_4_35); - fullAdd_x FA_2800_784(int_3_35, int_2_35, pp_2_35, pp_3_35, pp_4_35); - r4bs r4bs_2800_1000(yy[24], yy[25], single[5], double[5], neg[5], pp_5_35); - r4bs r4bs_2800_1128(yy[22], yy[23], single[6], double[6], neg[6], pp_6_35); - r4bs r4bs_2800_1256(yy[20], yy[21], single[7], double[7], neg[7], pp_7_35); - fullAdd_x FA_2800_1384(int_5_35, int_4_35, pp_5_35, pp_6_35, pp_7_35); - r4bs r4bs_2800_1600(yy[18], yy[19], single[8], double[8], neg[8], pp_8_35); - r4bs r4bs_2800_1728(yy[16], yy[17], single[9], double[9], neg[9], pp_9_35); - r4bs r4bs_2800_1856(yy[14], yy[15], single[10], double[10], neg[10], pp_10_35); - fullAdd_x FA_2800_1984(int_7_35, int_6_35, pp_8_35, pp_9_35, pp_10_35); - r4bs r4bs_2800_2200(yy[12], yy[13], single[11], double[11], neg[11], pp_11_35); - r4bs r4bs_2800_2328(yy[10], yy[11], single[12], double[12], neg[12], pp_12_35); - r4bs r4bs_2800_2456(yy[8], yy[9], single[13], double[13], neg[13], pp_13_35); - fullAdd_x FA_2800_2584(int_9_35, int_8_35, pp_11_35, pp_12_35, pp_13_35); - r4bs r4bs_2800_2800(yy[6], yy[7], single[14], double[14], neg[14], pp_14_35); - r4bs r4bs_2800_2928(yy[4], yy[5], single[15], double[15], neg[15], pp_15_35); - r4bs r4bs_2800_3056(yy[2], yy[3], single[16], double[16], neg[16], pp_16_35); - fullAdd_x FA_2800_3184(int_11_35, int_10_35, pp_14_35, pp_15_35, pp_16_35); - r4bs r4bs_2800_3400(yy[0], yy[1], single[17], double[17], neg[17], pp_17_35); - fullAdd_x FA_2800_3528(int_13_35, int_12_35, pp_17_35, int_1_34, int_3_34); - fullAdd_x FA_2800_3744(int_15_35, int_14_35, int_5_34, int_7_34, int_9_34); - fullAdd_x FA_2800_3960(int_17_35, int_16_35, int_11_34, int_0_35, int_13_34); - fullAdd_x FA_2800_4176(int_19_35, int_18_35, int_15_34, int_17_34, int_2_35); - fullAdd_x FA_2800_4392(int_21_35, int_20_35, int_4_35, int_6_35, int_8_35); - fullAdd_x FA_2800_4608(int_23_35, int_22_35, int_10_35, int_12_35, int_19_34); - fullAdd_x FA_2800_4824(int_25_35, int_24_35, int_21_34, int_14_35, int_16_35); - fullAdd_x FA_2800_5040(int_27_35, int_26_35, int_23_34, int_25_34, int_18_35); - fullAdd_x FA_2800_5256(int_29_35, int_28_35, int_20_35, int_22_35, int_27_34); - fullAdd_x FA_2800_5472(int_31_35, int_30_35, int_24_35, int_29_34, int_26_35); - fullAdd_x FA_2800_5688(int_33_35, int_32_35, int_28_35, int_31_34, int_30_35); - assign Sum[35] = int_33_34; - assign Carry[35] = int_32_35; - - // Hardware for column 36 - - r4bs r4bs_2880_64(yy[35], yy[36], single[0], double[0], neg[0], pp_0_36); - halfAdd HA_2880_192(int_1_36, int_0_36, neg[18], pp_0_36); - r4bs r4bs_2880_272(yy[33], yy[34], single[1], double[1], neg[1], pp_1_36); - r4bs r4bs_2880_400(yy[31], yy[32], single[2], double[2], neg[2], pp_2_36); - r4bs r4bs_2880_528(yy[29], yy[30], single[3], double[3], neg[3], pp_3_36); - fullAdd_x FA_2880_656(int_3_36, int_2_36, pp_1_36, pp_2_36, pp_3_36); - r4bs r4bs_2880_872(yy[27], yy[28], single[4], double[4], neg[4], pp_4_36); - r4bs r4bs_2880_1000(yy[25], yy[26], single[5], double[5], neg[5], pp_5_36); - r4bs r4bs_2880_1128(yy[23], yy[24], single[6], double[6], neg[6], pp_6_36); - fullAdd_x FA_2880_1256(int_5_36, int_4_36, pp_4_36, pp_5_36, pp_6_36); - r4bs r4bs_2880_1472(yy[21], yy[22], single[7], double[7], neg[7], pp_7_36); - r4bs r4bs_2880_1600(yy[19], yy[20], single[8], double[8], neg[8], pp_8_36); - r4bs r4bs_2880_1728(yy[17], yy[18], single[9], double[9], neg[9], pp_9_36); - fullAdd_x FA_2880_1856(int_7_36, int_6_36, pp_7_36, pp_8_36, pp_9_36); - r4bs r4bs_2880_2072(yy[15], yy[16], single[10], double[10], neg[10], pp_10_36); - r4bs r4bs_2880_2200(yy[13], yy[14], single[11], double[11], neg[11], pp_11_36); - r4bs r4bs_2880_2328(yy[11], yy[12], single[12], double[12], neg[12], pp_12_36); - fullAdd_x FA_2880_2456(int_9_36, int_8_36, pp_10_36, pp_11_36, pp_12_36); - r4bs r4bs_2880_2672(yy[9], yy[10], single[13], double[13], neg[13], pp_13_36); - r4bs r4bs_2880_2800(yy[7], yy[8], single[14], double[14], neg[14], pp_14_36); - r4bs r4bs_2880_2928(yy[5], yy[6], single[15], double[15], neg[15], pp_15_36); - fullAdd_x FA_2880_3056(int_11_36, int_10_36, pp_13_36, pp_14_36, pp_15_36); - r4bs r4bs_2880_3272(yy[3], yy[4], single[16], double[16], neg[16], pp_16_36); - r4bs r4bs_2880_3400(yy[1], yy[2], single[17], double[17], neg[17], pp_17_36); - r4bs r4bs_2880_3528(gnd, yy[0], single[18], double[18], neg[18], pp_18_36); - fullAdd_x FA_2880_3656(int_13_36, int_12_36, pp_16_36, pp_17_36, pp_18_36); - fullAdd_x FA_2880_3872(int_15_36, int_14_36, int_1_35, int_3_35, int_5_35); - fullAdd_x FA_2880_4088(int_17_36, int_16_36, int_7_35, int_9_35, int_11_35); - fullAdd_x FA_2880_4304(int_19_36, int_18_36, int_0_36, int_13_35, int_15_35); - fullAdd_x FA_2880_4520(int_21_36, int_20_36, int_2_36, int_4_36, int_6_36); - fullAdd_x FA_2880_4736(int_23_36, int_22_36, int_8_36, int_10_36, int_12_36); - fullAdd_x FA_2880_4952(int_25_36, int_24_36, int_17_35, int_19_35, int_21_35); - fullAdd_x FA_2880_5168(int_27_36, int_26_36, int_14_36, int_16_36, int_23_35); - fullAdd_x FA_2880_5384(int_29_36, int_28_36, int_25_35, int_18_36, int_20_36); - fullAdd_x FA_2880_5600(int_31_36, int_30_36, int_22_36, int_27_35, int_24_36); - fullAdd_x FA_2880_5816(int_33_36, int_32_36, int_26_36, int_29_35, int_28_36); - fullAdd_x FA_2880_6032(int_35_36, int_34_36, int_31_35, int_30_36, int_32_36); - assign Sum[36] = int_33_35; - assign Carry[36] = int_34_36; - - // Hardware for column 37 - - r4bs r4bs_2960_64(yy[36], yy[37], single[0], double[0], neg[0], pp_0_37); - r4bs r4bs_2960_192(yy[34], yy[35], single[1], double[1], neg[1], pp_1_37); - halfAdd HA_2960_320(int_1_37, int_0_37, pp_0_37, pp_1_37); - r4bs r4bs_2960_400(yy[32], yy[33], single[2], double[2], neg[2], pp_2_37); - r4bs r4bs_2960_528(yy[30], yy[31], single[3], double[3], neg[3], pp_3_37); - r4bs r4bs_2960_656(yy[28], yy[29], single[4], double[4], neg[4], pp_4_37); - fullAdd_x FA_2960_784(int_3_37, int_2_37, pp_2_37, pp_3_37, pp_4_37); - r4bs r4bs_2960_1000(yy[26], yy[27], single[5], double[5], neg[5], pp_5_37); - r4bs r4bs_2960_1128(yy[24], yy[25], single[6], double[6], neg[6], pp_6_37); - r4bs r4bs_2960_1256(yy[22], yy[23], single[7], double[7], neg[7], pp_7_37); - fullAdd_x FA_2960_1384(int_5_37, int_4_37, pp_5_37, pp_6_37, pp_7_37); - r4bs r4bs_2960_1600(yy[20], yy[21], single[8], double[8], neg[8], pp_8_37); - r4bs r4bs_2960_1728(yy[18], yy[19], single[9], double[9], neg[9], pp_9_37); - r4bs r4bs_2960_1856(yy[16], yy[17], single[10], double[10], neg[10], pp_10_37); - fullAdd_x FA_2960_1984(int_7_37, int_6_37, pp_8_37, pp_9_37, pp_10_37); - r4bs r4bs_2960_2200(yy[14], yy[15], single[11], double[11], neg[11], pp_11_37); - r4bs r4bs_2960_2328(yy[12], yy[13], single[12], double[12], neg[12], pp_12_37); - r4bs r4bs_2960_2456(yy[10], yy[11], single[13], double[13], neg[13], pp_13_37); - fullAdd_x FA_2960_2584(int_9_37, int_8_37, pp_11_37, pp_12_37, pp_13_37); - r4bs r4bs_2960_2800(yy[8], yy[9], single[14], double[14], neg[14], pp_14_37); - r4bs r4bs_2960_2928(yy[6], yy[7], single[15], double[15], neg[15], pp_15_37); - r4bs r4bs_2960_3056(yy[4], yy[5], single[16], double[16], neg[16], pp_16_37); - fullAdd_x FA_2960_3184(int_11_37, int_10_37, pp_14_37, pp_15_37, pp_16_37); - r4bs r4bs_2960_3400(yy[2], yy[3], single[17], double[17], neg[17], pp_17_37); - r4bs r4bs_2960_3528(yy[0], yy[1], single[18], double[18], neg[18], pp_18_37); - fullAdd_x FA_2960_3656(int_13_37, int_12_37, pp_17_37, pp_18_37, int_1_36); - fullAdd_x FA_2960_3872(int_15_37, int_14_37, int_3_36, int_5_36, int_7_36); - fullAdd_x FA_2960_4088(int_17_37, int_16_37, int_9_36, int_11_36, int_13_36); - fullAdd_x FA_2960_4304(int_19_37, int_18_37, int_0_37, int_15_36, int_17_36); - fullAdd_x FA_2960_4520(int_21_37, int_20_37, int_2_37, int_4_37, int_6_37); - fullAdd_x FA_2960_4736(int_23_37, int_22_37, int_8_37, int_10_37, int_12_37); - fullAdd_x FA_2960_4952(int_25_37, int_24_37, int_19_36, int_21_36, int_23_36); - fullAdd_x FA_2960_5168(int_27_37, int_26_37, int_14_37, int_16_37, int_25_36); - fullAdd_x FA_2960_5384(int_29_37, int_28_37, int_18_37, int_20_37, int_22_37); - fullAdd_x FA_2960_5600(int_31_37, int_30_37, int_27_36, int_29_36, int_24_37); - fullAdd_x FA_2960_5816(int_33_37, int_32_37, int_26_37, int_31_36, int_28_37); - fullAdd_x FA_2960_6032(int_35_37, int_34_37, int_33_36, int_30_37, int_32_37); - assign Sum[37] = int_35_36; - assign Carry[37] = int_34_37; - - // Hardware for column 38 - - r4bs r4bs_3040_64(yy[37], yy[38], single[0], double[0], neg[0], pp_0_38); - halfAdd HA_3040_192(int_1_38, int_0_38, neg[19], pp_0_38); - r4bs r4bs_3040_272(yy[35], yy[36], single[1], double[1], neg[1], pp_1_38); - r4bs r4bs_3040_400(yy[33], yy[34], single[2], double[2], neg[2], pp_2_38); - r4bs r4bs_3040_528(yy[31], yy[32], single[3], double[3], neg[3], pp_3_38); - fullAdd_x FA_3040_656(int_3_38, int_2_38, pp_1_38, pp_2_38, pp_3_38); - r4bs r4bs_3040_872(yy[29], yy[30], single[4], double[4], neg[4], pp_4_38); - r4bs r4bs_3040_1000(yy[27], yy[28], single[5], double[5], neg[5], pp_5_38); - r4bs r4bs_3040_1128(yy[25], yy[26], single[6], double[6], neg[6], pp_6_38); - fullAdd_x FA_3040_1256(int_5_38, int_4_38, pp_4_38, pp_5_38, pp_6_38); - r4bs r4bs_3040_1472(yy[23], yy[24], single[7], double[7], neg[7], pp_7_38); - r4bs r4bs_3040_1600(yy[21], yy[22], single[8], double[8], neg[8], pp_8_38); - r4bs r4bs_3040_1728(yy[19], yy[20], single[9], double[9], neg[9], pp_9_38); - fullAdd_x FA_3040_1856(int_7_38, int_6_38, pp_7_38, pp_8_38, pp_9_38); - r4bs r4bs_3040_2072(yy[17], yy[18], single[10], double[10], neg[10], pp_10_38); - r4bs r4bs_3040_2200(yy[15], yy[16], single[11], double[11], neg[11], pp_11_38); - r4bs r4bs_3040_2328(yy[13], yy[14], single[12], double[12], neg[12], pp_12_38); - fullAdd_x FA_3040_2456(int_9_38, int_8_38, pp_10_38, pp_11_38, pp_12_38); - r4bs r4bs_3040_2672(yy[11], yy[12], single[13], double[13], neg[13], pp_13_38); - r4bs r4bs_3040_2800(yy[9], yy[10], single[14], double[14], neg[14], pp_14_38); - r4bs r4bs_3040_2928(yy[7], yy[8], single[15], double[15], neg[15], pp_15_38); - fullAdd_x FA_3040_3056(int_11_38, int_10_38, pp_13_38, pp_14_38, pp_15_38); - r4bs r4bs_3040_3272(yy[5], yy[6], single[16], double[16], neg[16], pp_16_38); - r4bs r4bs_3040_3400(yy[3], yy[4], single[17], double[17], neg[17], pp_17_38); - r4bs r4bs_3040_3528(yy[1], yy[2], single[18], double[18], neg[18], pp_18_38); - fullAdd_x FA_3040_3656(int_13_38, int_12_38, pp_16_38, pp_17_38, pp_18_38); - r4bs r4bs_3040_3872(gnd, yy[0], single[19], double[19], neg[19], pp_19_38); - fullAdd_x FA_3040_4000(int_15_38, int_14_38, pp_19_38, int_1_37, int_3_37); - fullAdd_x FA_3040_4216(int_17_38, int_16_38, int_5_37, int_7_37, int_9_37); - fullAdd_x FA_3040_4432(int_19_38, int_18_38, int_11_37, int_0_38, int_13_37); - fullAdd_x FA_3040_4648(int_21_38, int_20_38, int_15_37, int_17_37, int_2_38); - fullAdd_x FA_3040_4864(int_23_38, int_22_38, int_4_38, int_6_38, int_8_38); - fullAdd_x FA_3040_5080(int_25_38, int_24_38, int_10_38, int_12_38, int_14_38); - fullAdd_x FA_3040_5296(int_27_38, int_26_38, int_19_37, int_21_37, int_23_37); - fullAdd_x FA_3040_5512(int_29_38, int_28_38, int_16_38, int_18_38, int_25_37); - fullAdd_x FA_3040_5728(int_31_38, int_30_38, int_20_38, int_22_38, int_24_38); - fullAdd_x FA_3040_5944(int_33_38, int_32_38, int_27_37, int_29_37, int_26_38); - fullAdd_x FA_3040_6160(int_35_38, int_34_38, int_28_38, int_31_37, int_30_38); - fullAdd_x FA_3040_6376(int_37_38, int_36_38, int_33_37, int_32_38, int_34_38); - assign Sum[38] = int_35_37; - assign Carry[38] = int_36_38; - - // Hardware for column 39 - - r4bs r4bs_3120_64(yy[38], yy[39], single[0], double[0], neg[0], pp_0_39); - r4bs r4bs_3120_192(yy[36], yy[37], single[1], double[1], neg[1], pp_1_39); - halfAdd HA_3120_320(int_1_39, int_0_39, pp_0_39, pp_1_39); - r4bs r4bs_3120_400(yy[34], yy[35], single[2], double[2], neg[2], pp_2_39); - r4bs r4bs_3120_528(yy[32], yy[33], single[3], double[3], neg[3], pp_3_39); - r4bs r4bs_3120_656(yy[30], yy[31], single[4], double[4], neg[4], pp_4_39); - fullAdd_x FA_3120_784(int_3_39, int_2_39, pp_2_39, pp_3_39, pp_4_39); - r4bs r4bs_3120_1000(yy[28], yy[29], single[5], double[5], neg[5], pp_5_39); - r4bs r4bs_3120_1128(yy[26], yy[27], single[6], double[6], neg[6], pp_6_39); - r4bs r4bs_3120_1256(yy[24], yy[25], single[7], double[7], neg[7], pp_7_39); - fullAdd_x FA_3120_1384(int_5_39, int_4_39, pp_5_39, pp_6_39, pp_7_39); - r4bs r4bs_3120_1600(yy[22], yy[23], single[8], double[8], neg[8], pp_8_39); - r4bs r4bs_3120_1728(yy[20], yy[21], single[9], double[9], neg[9], pp_9_39); - r4bs r4bs_3120_1856(yy[18], yy[19], single[10], double[10], neg[10], pp_10_39); - fullAdd_x FA_3120_1984(int_7_39, int_6_39, pp_8_39, pp_9_39, pp_10_39); - r4bs r4bs_3120_2200(yy[16], yy[17], single[11], double[11], neg[11], pp_11_39); - r4bs r4bs_3120_2328(yy[14], yy[15], single[12], double[12], neg[12], pp_12_39); - r4bs r4bs_3120_2456(yy[12], yy[13], single[13], double[13], neg[13], pp_13_39); - fullAdd_x FA_3120_2584(int_9_39, int_8_39, pp_11_39, pp_12_39, pp_13_39); - r4bs r4bs_3120_2800(yy[10], yy[11], single[14], double[14], neg[14], pp_14_39); - r4bs r4bs_3120_2928(yy[8], yy[9], single[15], double[15], neg[15], pp_15_39); - r4bs r4bs_3120_3056(yy[6], yy[7], single[16], double[16], neg[16], pp_16_39); - fullAdd_x FA_3120_3184(int_11_39, int_10_39, pp_14_39, pp_15_39, pp_16_39); - r4bs r4bs_3120_3400(yy[4], yy[5], single[17], double[17], neg[17], pp_17_39); - r4bs r4bs_3120_3528(yy[2], yy[3], single[18], double[18], neg[18], pp_18_39); - r4bs r4bs_3120_3656(yy[0], yy[1], single[19], double[19], neg[19], pp_19_39); - fullAdd_x FA_3120_3784(int_13_39, int_12_39, pp_17_39, pp_18_39, pp_19_39); - fullAdd_x FA_3120_4000(int_15_39, int_14_39, int_1_38, int_3_38, int_5_38); - fullAdd_x FA_3120_4216(int_17_39, int_16_39, int_7_38, int_9_38, int_11_38); - fullAdd_x FA_3120_4432(int_19_39, int_18_39, int_13_38, int_0_39, int_15_38); - fullAdd_x FA_3120_4648(int_21_39, int_20_39, int_17_38, int_2_39, int_4_39); - fullAdd_x FA_3120_4864(int_23_39, int_22_39, int_6_39, int_8_39, int_10_39); - fullAdd_x FA_3120_5080(int_25_39, int_24_39, int_12_39, int_19_38, int_21_38); - fullAdd_x FA_3120_5296(int_27_39, int_26_39, int_23_38, int_14_39, int_16_39); - fullAdd_x FA_3120_5512(int_29_39, int_28_39, int_18_39, int_25_38, int_27_38); - fullAdd_x FA_3120_5728(int_31_39, int_30_39, int_20_39, int_22_39, int_24_39); - fullAdd_x FA_3120_5944(int_33_39, int_32_39, int_29_38, int_31_38, int_26_39); - fullAdd_x FA_3120_6160(int_35_39, int_34_39, int_28_39, int_33_38, int_30_39); - fullAdd_x FA_3120_6376(int_37_39, int_36_39, int_35_38, int_32_39, int_34_39); - assign Sum[39] = int_37_38; - assign Carry[39] = int_36_39; - - // Hardware for column 40 - - r4bs r4bs_3200_64(yy[39], yy[40], single[0], double[0], neg[0], pp_0_40); - halfAdd HA_3200_192(int_1_40, int_0_40, neg[20], pp_0_40); - r4bs r4bs_3200_272(yy[37], yy[38], single[1], double[1], neg[1], pp_1_40); - r4bs r4bs_3200_400(yy[35], yy[36], single[2], double[2], neg[2], pp_2_40); - r4bs r4bs_3200_528(yy[33], yy[34], single[3], double[3], neg[3], pp_3_40); - fullAdd_x FA_3200_656(int_3_40, int_2_40, pp_1_40, pp_2_40, pp_3_40); - r4bs r4bs_3200_872(yy[31], yy[32], single[4], double[4], neg[4], pp_4_40); - r4bs r4bs_3200_1000(yy[29], yy[30], single[5], double[5], neg[5], pp_5_40); - r4bs r4bs_3200_1128(yy[27], yy[28], single[6], double[6], neg[6], pp_6_40); - fullAdd_x FA_3200_1256(int_5_40, int_4_40, pp_4_40, pp_5_40, pp_6_40); - r4bs r4bs_3200_1472(yy[25], yy[26], single[7], double[7], neg[7], pp_7_40); - r4bs r4bs_3200_1600(yy[23], yy[24], single[8], double[8], neg[8], pp_8_40); - r4bs r4bs_3200_1728(yy[21], yy[22], single[9], double[9], neg[9], pp_9_40); - fullAdd_x FA_3200_1856(int_7_40, int_6_40, pp_7_40, pp_8_40, pp_9_40); - r4bs r4bs_3200_2072(yy[19], yy[20], single[10], double[10], neg[10], pp_10_40); - r4bs r4bs_3200_2200(yy[17], yy[18], single[11], double[11], neg[11], pp_11_40); - r4bs r4bs_3200_2328(yy[15], yy[16], single[12], double[12], neg[12], pp_12_40); - fullAdd_x FA_3200_2456(int_9_40, int_8_40, pp_10_40, pp_11_40, pp_12_40); - r4bs r4bs_3200_2672(yy[13], yy[14], single[13], double[13], neg[13], pp_13_40); - r4bs r4bs_3200_2800(yy[11], yy[12], single[14], double[14], neg[14], pp_14_40); - r4bs r4bs_3200_2928(yy[9], yy[10], single[15], double[15], neg[15], pp_15_40); - fullAdd_x FA_3200_3056(int_11_40, int_10_40, pp_13_40, pp_14_40, pp_15_40); - r4bs r4bs_3200_3272(yy[7], yy[8], single[16], double[16], neg[16], pp_16_40); - r4bs r4bs_3200_3400(yy[5], yy[6], single[17], double[17], neg[17], pp_17_40); - r4bs r4bs_3200_3528(yy[3], yy[4], single[18], double[18], neg[18], pp_18_40); - fullAdd_x FA_3200_3656(int_13_40, int_12_40, pp_16_40, pp_17_40, pp_18_40); - r4bs r4bs_3200_3872(yy[1], yy[2], single[19], double[19], neg[19], pp_19_40); - r4bs r4bs_3200_4000(gnd, yy[0], single[20], double[20], neg[20], pp_20_40); - fullAdd_x FA_3200_4128(int_15_40, int_14_40, pp_19_40, pp_20_40, int_1_39); - fullAdd_x FA_3200_4344(int_17_40, int_16_40, int_3_39, int_5_39, int_7_39); - fullAdd_x FA_3200_4560(int_19_40, int_18_40, int_9_39, int_11_39, int_13_39); - fullAdd_x FA_3200_4776(int_21_40, int_20_40, int_0_40, int_15_39, int_17_39); - fullAdd_x FA_3200_4992(int_23_40, int_22_40, int_2_40, int_4_40, int_6_40); - fullAdd_x FA_3200_5208(int_25_40, int_24_40, int_8_40, int_10_40, int_12_40); - fullAdd_x FA_3200_5424(int_27_40, int_26_40, int_14_40, int_19_39, int_21_39); - fullAdd_x FA_3200_5640(int_29_40, int_28_40, int_23_39, int_16_40, int_18_40); - fullAdd_x FA_3200_5856(int_31_40, int_30_40, int_25_39, int_27_39, int_20_40); - fullAdd_x FA_3200_6072(int_33_40, int_32_40, int_22_40, int_24_40, int_29_39); - fullAdd_x FA_3200_6288(int_35_40, int_34_40, int_26_40, int_28_40, int_31_39); - fullAdd_x FA_3200_6504(int_37_40, int_36_40, int_33_39, int_30_40, int_32_40); - fullAdd_x FA_3200_6720(int_39_40, int_38_40, int_35_39, int_34_40, int_36_40); - assign Sum[40] = int_37_39; - assign Carry[40] = int_38_40; - - // Hardware for column 41 - - r4bs r4bs_3280_64(yy[40], yy[41], single[0], double[0], neg[0], pp_0_41); - r4bs r4bs_3280_192(yy[38], yy[39], single[1], double[1], neg[1], pp_1_41); - halfAdd HA_3280_320(int_1_41, int_0_41, pp_0_41, pp_1_41); - r4bs r4bs_3280_400(yy[36], yy[37], single[2], double[2], neg[2], pp_2_41); - r4bs r4bs_3280_528(yy[34], yy[35], single[3], double[3], neg[3], pp_3_41); - r4bs r4bs_3280_656(yy[32], yy[33], single[4], double[4], neg[4], pp_4_41); - fullAdd_x FA_3280_784(int_3_41, int_2_41, pp_2_41, pp_3_41, pp_4_41); - r4bs r4bs_3280_1000(yy[30], yy[31], single[5], double[5], neg[5], pp_5_41); - r4bs r4bs_3280_1128(yy[28], yy[29], single[6], double[6], neg[6], pp_6_41); - r4bs r4bs_3280_1256(yy[26], yy[27], single[7], double[7], neg[7], pp_7_41); - fullAdd_x FA_3280_1384(int_5_41, int_4_41, pp_5_41, pp_6_41, pp_7_41); - r4bs r4bs_3280_1600(yy[24], yy[25], single[8], double[8], neg[8], pp_8_41); - r4bs r4bs_3280_1728(yy[22], yy[23], single[9], double[9], neg[9], pp_9_41); - r4bs r4bs_3280_1856(yy[20], yy[21], single[10], double[10], neg[10], pp_10_41); - fullAdd_x FA_3280_1984(int_7_41, int_6_41, pp_8_41, pp_9_41, pp_10_41); - r4bs r4bs_3280_2200(yy[18], yy[19], single[11], double[11], neg[11], pp_11_41); - r4bs r4bs_3280_2328(yy[16], yy[17], single[12], double[12], neg[12], pp_12_41); - r4bs r4bs_3280_2456(yy[14], yy[15], single[13], double[13], neg[13], pp_13_41); - fullAdd_x FA_3280_2584(int_9_41, int_8_41, pp_11_41, pp_12_41, pp_13_41); - r4bs r4bs_3280_2800(yy[12], yy[13], single[14], double[14], neg[14], pp_14_41); - r4bs r4bs_3280_2928(yy[10], yy[11], single[15], double[15], neg[15], pp_15_41); - r4bs r4bs_3280_3056(yy[8], yy[9], single[16], double[16], neg[16], pp_16_41); - fullAdd_x FA_3280_3184(int_11_41, int_10_41, pp_14_41, pp_15_41, pp_16_41); - r4bs r4bs_3280_3400(yy[6], yy[7], single[17], double[17], neg[17], pp_17_41); - r4bs r4bs_3280_3528(yy[4], yy[5], single[18], double[18], neg[18], pp_18_41); - r4bs r4bs_3280_3656(yy[2], yy[3], single[19], double[19], neg[19], pp_19_41); - fullAdd_x FA_3280_3784(int_13_41, int_12_41, pp_17_41, pp_18_41, pp_19_41); - r4bs r4bs_3280_4000(yy[0], yy[1], single[20], double[20], neg[20], pp_20_41); - fullAdd_x FA_3280_4128(int_15_41, int_14_41, pp_20_41, int_1_40, int_3_40); - fullAdd_x FA_3280_4344(int_17_41, int_16_41, int_5_40, int_7_40, int_9_40); - fullAdd_x FA_3280_4560(int_19_41, int_18_41, int_11_40, int_13_40, int_0_41); - fullAdd_x FA_3280_4776(int_21_41, int_20_41, int_15_40, int_17_40, int_19_40); - fullAdd_x FA_3280_4992(int_23_41, int_22_41, int_2_41, int_4_41, int_6_41); - fullAdd_x FA_3280_5208(int_25_41, int_24_41, int_8_41, int_10_41, int_12_41); - fullAdd_x FA_3280_5424(int_27_41, int_26_41, int_14_41, int_21_40, int_23_40); - fullAdd_x FA_3280_5640(int_29_41, int_28_41, int_25_40, int_16_41, int_18_41); - fullAdd_x FA_3280_5856(int_31_41, int_30_41, int_27_40, int_29_40, int_20_41); - fullAdd_x FA_3280_6072(int_33_41, int_32_41, int_22_41, int_24_41, int_31_40); - fullAdd_x FA_3280_6288(int_35_41, int_34_41, int_26_41, int_28_41, int_33_40); - fullAdd_x FA_3280_6504(int_37_41, int_36_41, int_30_41, int_32_41, int_35_40); - fullAdd_x FA_3280_6720(int_39_41, int_38_41, int_37_40, int_34_41, int_36_41); - assign Sum[41] = int_39_40; - assign Carry[41] = int_38_41; - - // Hardware for column 42 - - r4bs r4bs_3360_64(yy[41], yy[42], single[0], double[0], neg[0], pp_0_42); - halfAdd HA_3360_192(int_1_42, int_0_42, neg[21], pp_0_42); - r4bs r4bs_3360_272(yy[39], yy[40], single[1], double[1], neg[1], pp_1_42); - r4bs r4bs_3360_400(yy[37], yy[38], single[2], double[2], neg[2], pp_2_42); - r4bs r4bs_3360_528(yy[35], yy[36], single[3], double[3], neg[3], pp_3_42); - fullAdd_x FA_3360_656(int_3_42, int_2_42, pp_1_42, pp_2_42, pp_3_42); - r4bs r4bs_3360_872(yy[33], yy[34], single[4], double[4], neg[4], pp_4_42); - r4bs r4bs_3360_1000(yy[31], yy[32], single[5], double[5], neg[5], pp_5_42); - r4bs r4bs_3360_1128(yy[29], yy[30], single[6], double[6], neg[6], pp_6_42); - fullAdd_x FA_3360_1256(int_5_42, int_4_42, pp_4_42, pp_5_42, pp_6_42); - r4bs r4bs_3360_1472(yy[27], yy[28], single[7], double[7], neg[7], pp_7_42); - r4bs r4bs_3360_1600(yy[25], yy[26], single[8], double[8], neg[8], pp_8_42); - r4bs r4bs_3360_1728(yy[23], yy[24], single[9], double[9], neg[9], pp_9_42); - fullAdd_x FA_3360_1856(int_7_42, int_6_42, pp_7_42, pp_8_42, pp_9_42); - r4bs r4bs_3360_2072(yy[21], yy[22], single[10], double[10], neg[10], pp_10_42); - r4bs r4bs_3360_2200(yy[19], yy[20], single[11], double[11], neg[11], pp_11_42); - r4bs r4bs_3360_2328(yy[17], yy[18], single[12], double[12], neg[12], pp_12_42); - fullAdd_x FA_3360_2456(int_9_42, int_8_42, pp_10_42, pp_11_42, pp_12_42); - r4bs r4bs_3360_2672(yy[15], yy[16], single[13], double[13], neg[13], pp_13_42); - r4bs r4bs_3360_2800(yy[13], yy[14], single[14], double[14], neg[14], pp_14_42); - r4bs r4bs_3360_2928(yy[11], yy[12], single[15], double[15], neg[15], pp_15_42); - fullAdd_x FA_3360_3056(int_11_42, int_10_42, pp_13_42, pp_14_42, pp_15_42); - r4bs r4bs_3360_3272(yy[9], yy[10], single[16], double[16], neg[16], pp_16_42); - r4bs r4bs_3360_3400(yy[7], yy[8], single[17], double[17], neg[17], pp_17_42); - r4bs r4bs_3360_3528(yy[5], yy[6], single[18], double[18], neg[18], pp_18_42); - fullAdd_x FA_3360_3656(int_13_42, int_12_42, pp_16_42, pp_17_42, pp_18_42); - r4bs r4bs_3360_3872(yy[3], yy[4], single[19], double[19], neg[19], pp_19_42); - r4bs r4bs_3360_4000(yy[1], yy[2], single[20], double[20], neg[20], pp_20_42); - r4bs r4bs_3360_4128(gnd, yy[0], single[21], double[21], neg[21], pp_21_42); - fullAdd_x FA_3360_4256(int_15_42, int_14_42, pp_19_42, pp_20_42, pp_21_42); - fullAdd_x FA_3360_4472(int_17_42, int_16_42, int_1_41, int_3_41, int_5_41); - fullAdd_x FA_3360_4688(int_19_42, int_18_42, int_7_41, int_9_41, int_11_41); - fullAdd_x FA_3360_4904(int_21_42, int_20_42, int_13_41, int_0_42, int_15_41); - fullAdd_x FA_3360_5120(int_23_42, int_22_42, int_17_41, int_19_41, int_2_42); - fullAdd_x FA_3360_5336(int_25_42, int_24_42, int_4_42, int_6_42, int_8_42); - fullAdd_x FA_3360_5552(int_27_42, int_26_42, int_10_42, int_12_42, int_14_42); - fullAdd_x FA_3360_5768(int_29_42, int_28_42, int_21_41, int_23_41, int_25_41); - fullAdd_x FA_3360_5984(int_31_42, int_30_42, int_16_42, int_18_42, int_20_42); - fullAdd_x FA_3360_6200(int_33_42, int_32_42, int_27_41, int_29_41, int_22_42); - fullAdd_x FA_3360_6416(int_35_42, int_34_42, int_24_42, int_26_42, int_31_41); - fullAdd_x FA_3360_6632(int_37_42, int_36_42, int_28_42, int_30_42, int_33_41); - fullAdd_x FA_3360_6848(int_39_42, int_38_42, int_32_42, int_34_42, int_35_41); - fullAdd_x FA_3360_7064(int_41_42, int_40_42, int_36_42, int_37_41, int_38_42); - assign Sum[42] = int_39_41; - assign Carry[42] = int_40_42; - - // Hardware for column 43 - - r4bs r4bs_3440_64(yy[42], yy[43], single[0], double[0], neg[0], pp_0_43); - r4bs r4bs_3440_192(yy[40], yy[41], single[1], double[1], neg[1], pp_1_43); - halfAdd HA_3440_320(int_1_43, int_0_43, pp_0_43, pp_1_43); - r4bs r4bs_3440_400(yy[38], yy[39], single[2], double[2], neg[2], pp_2_43); - r4bs r4bs_3440_528(yy[36], yy[37], single[3], double[3], neg[3], pp_3_43); - r4bs r4bs_3440_656(yy[34], yy[35], single[4], double[4], neg[4], pp_4_43); - fullAdd_x FA_3440_784(int_3_43, int_2_43, pp_2_43, pp_3_43, pp_4_43); - r4bs r4bs_3440_1000(yy[32], yy[33], single[5], double[5], neg[5], pp_5_43); - r4bs r4bs_3440_1128(yy[30], yy[31], single[6], double[6], neg[6], pp_6_43); - r4bs r4bs_3440_1256(yy[28], yy[29], single[7], double[7], neg[7], pp_7_43); - fullAdd_x FA_3440_1384(int_5_43, int_4_43, pp_5_43, pp_6_43, pp_7_43); - r4bs r4bs_3440_1600(yy[26], yy[27], single[8], double[8], neg[8], pp_8_43); - r4bs r4bs_3440_1728(yy[24], yy[25], single[9], double[9], neg[9], pp_9_43); - r4bs r4bs_3440_1856(yy[22], yy[23], single[10], double[10], neg[10], pp_10_43); - fullAdd_x FA_3440_1984(int_7_43, int_6_43, pp_8_43, pp_9_43, pp_10_43); - r4bs r4bs_3440_2200(yy[20], yy[21], single[11], double[11], neg[11], pp_11_43); - r4bs r4bs_3440_2328(yy[18], yy[19], single[12], double[12], neg[12], pp_12_43); - r4bs r4bs_3440_2456(yy[16], yy[17], single[13], double[13], neg[13], pp_13_43); - fullAdd_x FA_3440_2584(int_9_43, int_8_43, pp_11_43, pp_12_43, pp_13_43); - r4bs r4bs_3440_2800(yy[14], yy[15], single[14], double[14], neg[14], pp_14_43); - r4bs r4bs_3440_2928(yy[12], yy[13], single[15], double[15], neg[15], pp_15_43); - r4bs r4bs_3440_3056(yy[10], yy[11], single[16], double[16], neg[16], pp_16_43); - fullAdd_x FA_3440_3184(int_11_43, int_10_43, pp_14_43, pp_15_43, pp_16_43); - r4bs r4bs_3440_3400(yy[8], yy[9], single[17], double[17], neg[17], pp_17_43); - r4bs r4bs_3440_3528(yy[6], yy[7], single[18], double[18], neg[18], pp_18_43); - r4bs r4bs_3440_3656(yy[4], yy[5], single[19], double[19], neg[19], pp_19_43); - fullAdd_x FA_3440_3784(int_13_43, int_12_43, pp_17_43, pp_18_43, pp_19_43); - r4bs r4bs_3440_4000(yy[2], yy[3], single[20], double[20], neg[20], pp_20_43); - r4bs r4bs_3440_4128(yy[0], yy[1], single[21], double[21], neg[21], pp_21_43); - fullAdd_x FA_3440_4256(int_15_43, int_14_43, pp_20_43, pp_21_43, int_1_42); - fullAdd_x FA_3440_4472(int_17_43, int_16_43, int_3_42, int_5_42, int_7_42); - fullAdd_x FA_3440_4688(int_19_43, int_18_43, int_9_42, int_11_42, int_13_42); - fullAdd_x FA_3440_4904(int_21_43, int_20_43, int_15_42, int_0_43, int_17_42); - fullAdd_x FA_3440_5120(int_23_43, int_22_43, int_19_42, int_2_43, int_4_43); - fullAdd_x FA_3440_5336(int_25_43, int_24_43, int_6_43, int_8_43, int_10_43); - fullAdd_x FA_3440_5552(int_27_43, int_26_43, int_12_43, int_14_43, int_21_42); - fullAdd_x FA_3440_5768(int_29_43, int_28_43, int_23_42, int_25_42, int_27_42); - fullAdd_x FA_3440_5984(int_31_43, int_30_43, int_16_43, int_18_43, int_20_43); - fullAdd_x FA_3440_6200(int_33_43, int_32_43, int_29_42, int_31_42, int_22_43); - fullAdd_x FA_3440_6416(int_35_43, int_34_43, int_24_43, int_26_43, int_33_42); - fullAdd_x FA_3440_6632(int_37_43, int_36_43, int_28_43, int_30_43, int_35_42); - fullAdd_x FA_3440_6848(int_39_43, int_38_43, int_32_43, int_34_43, int_37_42); - fullAdd_x FA_3440_7064(int_41_43, int_40_43, int_36_43, int_39_42, int_38_43); - assign Sum[43] = int_41_42; - assign Carry[43] = int_40_43; - - // Hardware for column 44 - - r4bs r4bs_3520_64(yy[43], yy[44], single[0], double[0], neg[0], pp_0_44); - halfAdd HA_3520_192(int_1_44, int_0_44, neg[22], pp_0_44); - r4bs r4bs_3520_272(yy[41], yy[42], single[1], double[1], neg[1], pp_1_44); - r4bs r4bs_3520_400(yy[39], yy[40], single[2], double[2], neg[2], pp_2_44); - r4bs r4bs_3520_528(yy[37], yy[38], single[3], double[3], neg[3], pp_3_44); - fullAdd_x FA_3520_656(int_3_44, int_2_44, pp_1_44, pp_2_44, pp_3_44); - r4bs r4bs_3520_872(yy[35], yy[36], single[4], double[4], neg[4], pp_4_44); - r4bs r4bs_3520_1000(yy[33], yy[34], single[5], double[5], neg[5], pp_5_44); - r4bs r4bs_3520_1128(yy[31], yy[32], single[6], double[6], neg[6], pp_6_44); - fullAdd_x FA_3520_1256(int_5_44, int_4_44, pp_4_44, pp_5_44, pp_6_44); - r4bs r4bs_3520_1472(yy[29], yy[30], single[7], double[7], neg[7], pp_7_44); - r4bs r4bs_3520_1600(yy[27], yy[28], single[8], double[8], neg[8], pp_8_44); - r4bs r4bs_3520_1728(yy[25], yy[26], single[9], double[9], neg[9], pp_9_44); - fullAdd_x FA_3520_1856(int_7_44, int_6_44, pp_7_44, pp_8_44, pp_9_44); - r4bs r4bs_3520_2072(yy[23], yy[24], single[10], double[10], neg[10], pp_10_44); - r4bs r4bs_3520_2200(yy[21], yy[22], single[11], double[11], neg[11], pp_11_44); - r4bs r4bs_3520_2328(yy[19], yy[20], single[12], double[12], neg[12], pp_12_44); - fullAdd_x FA_3520_2456(int_9_44, int_8_44, pp_10_44, pp_11_44, pp_12_44); - r4bs r4bs_3520_2672(yy[17], yy[18], single[13], double[13], neg[13], pp_13_44); - r4bs r4bs_3520_2800(yy[15], yy[16], single[14], double[14], neg[14], pp_14_44); - r4bs r4bs_3520_2928(yy[13], yy[14], single[15], double[15], neg[15], pp_15_44); - fullAdd_x FA_3520_3056(int_11_44, int_10_44, pp_13_44, pp_14_44, pp_15_44); - r4bs r4bs_3520_3272(yy[11], yy[12], single[16], double[16], neg[16], pp_16_44); - r4bs r4bs_3520_3400(yy[9], yy[10], single[17], double[17], neg[17], pp_17_44); - r4bs r4bs_3520_3528(yy[7], yy[8], single[18], double[18], neg[18], pp_18_44); - fullAdd_x FA_3520_3656(int_13_44, int_12_44, pp_16_44, pp_17_44, pp_18_44); - r4bs r4bs_3520_3872(yy[5], yy[6], single[19], double[19], neg[19], pp_19_44); - r4bs r4bs_3520_4000(yy[3], yy[4], single[20], double[20], neg[20], pp_20_44); - r4bs r4bs_3520_4128(yy[1], yy[2], single[21], double[21], neg[21], pp_21_44); - fullAdd_x FA_3520_4256(int_15_44, int_14_44, pp_19_44, pp_20_44, pp_21_44); - r4bs r4bs_3520_4472(gnd, yy[0], single[22], double[22], neg[22], pp_22_44); - fullAdd_x FA_3520_4600(int_17_44, int_16_44, pp_22_44, int_1_43, int_3_43); - fullAdd_x FA_3520_4816(int_19_44, int_18_44, int_5_43, int_7_43, int_9_43); - fullAdd_x FA_3520_5032(int_21_44, int_20_44, int_11_43, int_13_43, int_0_44); - fullAdd_x FA_3520_5248(int_23_44, int_22_44, int_15_43, int_17_43, int_19_43); - fullAdd_x FA_3520_5464(int_25_44, int_24_44, int_2_44, int_4_44, int_6_44); - fullAdd_x FA_3520_5680(int_27_44, int_26_44, int_8_44, int_10_44, int_12_44); - fullAdd_x FA_3520_5896(int_29_44, int_28_44, int_14_44, int_16_44, int_21_43); - fullAdd_x FA_3520_6112(int_31_44, int_30_44, int_23_43, int_25_43, int_18_44); - fullAdd_x FA_3520_6328(int_33_44, int_32_44, int_20_44, int_27_43, int_29_43); - fullAdd_x FA_3520_6544(int_35_44, int_34_44, int_31_43, int_22_44, int_24_44); - fullAdd_x FA_3520_6760(int_37_44, int_36_44, int_26_44, int_28_44, int_33_43); - fullAdd_x FA_3520_6976(int_39_44, int_38_44, int_30_44, int_35_43, int_32_44); - fullAdd_x FA_3520_7192(int_41_44, int_40_44, int_34_44, int_36_44, int_37_43); - fullAdd_x FA_3520_7408(int_43_44, int_42_44, int_39_43, int_38_44, int_40_44); - assign Sum[44] = int_41_43; - assign Carry[44] = int_42_44; - - // Hardware for column 45 - - r4bs r4bs_3600_64(yy[44], yy[45], single[0], double[0], neg[0], pp_0_45); - r4bs r4bs_3600_192(yy[42], yy[43], single[1], double[1], neg[1], pp_1_45); - halfAdd HA_3600_320(int_1_45, int_0_45, pp_0_45, pp_1_45); - r4bs r4bs_3600_400(yy[40], yy[41], single[2], double[2], neg[2], pp_2_45); - r4bs r4bs_3600_528(yy[38], yy[39], single[3], double[3], neg[3], pp_3_45); - r4bs r4bs_3600_656(yy[36], yy[37], single[4], double[4], neg[4], pp_4_45); - fullAdd_x FA_3600_784(int_3_45, int_2_45, pp_2_45, pp_3_45, pp_4_45); - r4bs r4bs_3600_1000(yy[34], yy[35], single[5], double[5], neg[5], pp_5_45); - r4bs r4bs_3600_1128(yy[32], yy[33], single[6], double[6], neg[6], pp_6_45); - r4bs r4bs_3600_1256(yy[30], yy[31], single[7], double[7], neg[7], pp_7_45); - fullAdd_x FA_3600_1384(int_5_45, int_4_45, pp_5_45, pp_6_45, pp_7_45); - r4bs r4bs_3600_1600(yy[28], yy[29], single[8], double[8], neg[8], pp_8_45); - r4bs r4bs_3600_1728(yy[26], yy[27], single[9], double[9], neg[9], pp_9_45); - r4bs r4bs_3600_1856(yy[24], yy[25], single[10], double[10], neg[10], pp_10_45); - fullAdd_x FA_3600_1984(int_7_45, int_6_45, pp_8_45, pp_9_45, pp_10_45); - r4bs r4bs_3600_2200(yy[22], yy[23], single[11], double[11], neg[11], pp_11_45); - r4bs r4bs_3600_2328(yy[20], yy[21], single[12], double[12], neg[12], pp_12_45); - r4bs r4bs_3600_2456(yy[18], yy[19], single[13], double[13], neg[13], pp_13_45); - fullAdd_x FA_3600_2584(int_9_45, int_8_45, pp_11_45, pp_12_45, pp_13_45); - r4bs r4bs_3600_2800(yy[16], yy[17], single[14], double[14], neg[14], pp_14_45); - r4bs r4bs_3600_2928(yy[14], yy[15], single[15], double[15], neg[15], pp_15_45); - r4bs r4bs_3600_3056(yy[12], yy[13], single[16], double[16], neg[16], pp_16_45); - fullAdd_x FA_3600_3184(int_11_45, int_10_45, pp_14_45, pp_15_45, pp_16_45); - r4bs r4bs_3600_3400(yy[10], yy[11], single[17], double[17], neg[17], pp_17_45); - r4bs r4bs_3600_3528(yy[8], yy[9], single[18], double[18], neg[18], pp_18_45); - r4bs r4bs_3600_3656(yy[6], yy[7], single[19], double[19], neg[19], pp_19_45); - fullAdd_x FA_3600_3784(int_13_45, int_12_45, pp_17_45, pp_18_45, pp_19_45); - r4bs r4bs_3600_4000(yy[4], yy[5], single[20], double[20], neg[20], pp_20_45); - r4bs r4bs_3600_4128(yy[2], yy[3], single[21], double[21], neg[21], pp_21_45); - r4bs r4bs_3600_4256(yy[0], yy[1], single[22], double[22], neg[22], pp_22_45); - fullAdd_x FA_3600_4384(int_15_45, int_14_45, pp_20_45, pp_21_45, pp_22_45); - fullAdd_x FA_3600_4600(int_17_45, int_16_45, int_1_44, int_3_44, int_5_44); - fullAdd_x FA_3600_4816(int_19_45, int_18_45, int_7_44, int_9_44, int_11_44); - fullAdd_x FA_3600_5032(int_21_45, int_20_45, int_13_44, int_15_44, int_0_45); - fullAdd_x FA_3600_5248(int_23_45, int_22_45, int_17_44, int_19_44, int_21_44); - fullAdd_x FA_3600_5464(int_25_45, int_24_45, int_2_45, int_4_45, int_6_45); - fullAdd_x FA_3600_5680(int_27_45, int_26_45, int_8_45, int_10_45, int_12_45); - fullAdd_x FA_3600_5896(int_29_45, int_28_45, int_14_45, int_23_44, int_25_44); - fullAdd_x FA_3600_6112(int_31_45, int_30_45, int_27_44, int_16_45, int_18_45); - fullAdd_x FA_3600_6328(int_33_45, int_32_45, int_20_45, int_29_44, int_31_44); - fullAdd_x FA_3600_6544(int_35_45, int_34_45, int_22_45, int_24_45, int_26_45); - fullAdd_x FA_3600_6760(int_37_45, int_36_45, int_33_44, int_35_44, int_28_45); - fullAdd_x FA_3600_6976(int_39_45, int_38_45, int_30_45, int_37_44, int_32_45); - fullAdd_x FA_3600_7192(int_41_45, int_40_45, int_34_45, int_39_44, int_36_45); - fullAdd_x FA_3600_7408(int_43_45, int_42_45, int_41_44, int_38_45, int_40_45); - assign Sum[45] = int_43_44; - assign Carry[45] = int_42_45; - - // Hardware for column 46 - - r4bs r4bs_3680_64(yy[45], yy[46], single[0], double[0], neg[0], pp_0_46); - halfAdd HA_3680_192(int_1_46, int_0_46, neg[23], pp_0_46); - r4bs r4bs_3680_272(yy[43], yy[44], single[1], double[1], neg[1], pp_1_46); - r4bs r4bs_3680_400(yy[41], yy[42], single[2], double[2], neg[2], pp_2_46); - r4bs r4bs_3680_528(yy[39], yy[40], single[3], double[3], neg[3], pp_3_46); - fullAdd_x FA_3680_656(int_3_46, int_2_46, pp_1_46, pp_2_46, pp_3_46); - r4bs r4bs_3680_872(yy[37], yy[38], single[4], double[4], neg[4], pp_4_46); - r4bs r4bs_3680_1000(yy[35], yy[36], single[5], double[5], neg[5], pp_5_46); - r4bs r4bs_3680_1128(yy[33], yy[34], single[6], double[6], neg[6], pp_6_46); - fullAdd_x FA_3680_1256(int_5_46, int_4_46, pp_4_46, pp_5_46, pp_6_46); - r4bs r4bs_3680_1472(yy[31], yy[32], single[7], double[7], neg[7], pp_7_46); - r4bs r4bs_3680_1600(yy[29], yy[30], single[8], double[8], neg[8], pp_8_46); - r4bs r4bs_3680_1728(yy[27], yy[28], single[9], double[9], neg[9], pp_9_46); - fullAdd_x FA_3680_1856(int_7_46, int_6_46, pp_7_46, pp_8_46, pp_9_46); - r4bs r4bs_3680_2072(yy[25], yy[26], single[10], double[10], neg[10], pp_10_46); - r4bs r4bs_3680_2200(yy[23], yy[24], single[11], double[11], neg[11], pp_11_46); - r4bs r4bs_3680_2328(yy[21], yy[22], single[12], double[12], neg[12], pp_12_46); - fullAdd_x FA_3680_2456(int_9_46, int_8_46, pp_10_46, pp_11_46, pp_12_46); - r4bs r4bs_3680_2672(yy[19], yy[20], single[13], double[13], neg[13], pp_13_46); - r4bs r4bs_3680_2800(yy[17], yy[18], single[14], double[14], neg[14], pp_14_46); - r4bs r4bs_3680_2928(yy[15], yy[16], single[15], double[15], neg[15], pp_15_46); - fullAdd_x FA_3680_3056(int_11_46, int_10_46, pp_13_46, pp_14_46, pp_15_46); - r4bs r4bs_3680_3272(yy[13], yy[14], single[16], double[16], neg[16], pp_16_46); - r4bs r4bs_3680_3400(yy[11], yy[12], single[17], double[17], neg[17], pp_17_46); - r4bs r4bs_3680_3528(yy[9], yy[10], single[18], double[18], neg[18], pp_18_46); - fullAdd_x FA_3680_3656(int_13_46, int_12_46, pp_16_46, pp_17_46, pp_18_46); - r4bs r4bs_3680_3872(yy[7], yy[8], single[19], double[19], neg[19], pp_19_46); - r4bs r4bs_3680_4000(yy[5], yy[6], single[20], double[20], neg[20], pp_20_46); - r4bs r4bs_3680_4128(yy[3], yy[4], single[21], double[21], neg[21], pp_21_46); - fullAdd_x FA_3680_4256(int_15_46, int_14_46, pp_19_46, pp_20_46, pp_21_46); - r4bs r4bs_3680_4472(yy[1], yy[2], single[22], double[22], neg[22], pp_22_46); - r4bs r4bs_3680_4600(gnd, yy[0], single[23], double[23], neg[23], pp_23_46); - fullAdd_x FA_3680_4728(int_17_46, int_16_46, pp_22_46, pp_23_46, int_1_45); - fullAdd_x FA_3680_4944(int_19_46, int_18_46, int_3_45, int_5_45, int_7_45); - fullAdd_x FA_3680_5160(int_21_46, int_20_46, int_9_45, int_11_45, int_13_45); - fullAdd_x FA_3680_5376(int_23_46, int_22_46, int_15_45, int_0_46, int_17_45); - fullAdd_x FA_3680_5592(int_25_46, int_24_46, int_19_45, int_21_45, int_2_46); - fullAdd_x FA_3680_5808(int_27_46, int_26_46, int_4_46, int_6_46, int_8_46); - fullAdd_x FA_3680_6024(int_29_46, int_28_46, int_10_46, int_12_46, int_14_46); - fullAdd_x FA_3680_6240(int_31_46, int_30_46, int_16_46, int_23_45, int_25_45); - fullAdd_x FA_3680_6456(int_33_46, int_32_46, int_27_45, int_18_46, int_20_46); - fullAdd_x FA_3680_6672(int_35_46, int_34_46, int_22_46, int_29_45, int_31_45); - fullAdd_x FA_3680_6888(int_37_46, int_36_46, int_24_46, int_26_46, int_28_46); - fullAdd_x FA_3680_7104(int_39_46, int_38_46, int_33_45, int_35_45, int_30_46); - fullAdd_x FA_3680_7320(int_41_46, int_40_46, int_32_46, int_37_45, int_34_46); - fullAdd_x FA_3680_7536(int_43_46, int_42_46, int_36_46, int_39_45, int_38_46); - fullAdd_x FA_3680_7752(int_45_46, int_44_46, int_41_45, int_40_46, int_42_46); - assign Sum[46] = int_43_45; - assign Carry[46] = int_44_46; - - // Hardware for column 47 - - r4bs r4bs_3760_64(yy[46], yy[47], single[0], double[0], neg[0], pp_0_47); - r4bs r4bs_3760_192(yy[44], yy[45], single[1], double[1], neg[1], pp_1_47); - halfAdd HA_3760_320(int_1_47, int_0_47, pp_0_47, pp_1_47); - r4bs r4bs_3760_400(yy[42], yy[43], single[2], double[2], neg[2], pp_2_47); - r4bs r4bs_3760_528(yy[40], yy[41], single[3], double[3], neg[3], pp_3_47); - r4bs r4bs_3760_656(yy[38], yy[39], single[4], double[4], neg[4], pp_4_47); - fullAdd_x FA_3760_784(int_3_47, int_2_47, pp_2_47, pp_3_47, pp_4_47); - r4bs r4bs_3760_1000(yy[36], yy[37], single[5], double[5], neg[5], pp_5_47); - r4bs r4bs_3760_1128(yy[34], yy[35], single[6], double[6], neg[6], pp_6_47); - r4bs r4bs_3760_1256(yy[32], yy[33], single[7], double[7], neg[7], pp_7_47); - fullAdd_x FA_3760_1384(int_5_47, int_4_47, pp_5_47, pp_6_47, pp_7_47); - r4bs r4bs_3760_1600(yy[30], yy[31], single[8], double[8], neg[8], pp_8_47); - r4bs r4bs_3760_1728(yy[28], yy[29], single[9], double[9], neg[9], pp_9_47); - r4bs r4bs_3760_1856(yy[26], yy[27], single[10], double[10], neg[10], pp_10_47); - fullAdd_x FA_3760_1984(int_7_47, int_6_47, pp_8_47, pp_9_47, pp_10_47); - r4bs r4bs_3760_2200(yy[24], yy[25], single[11], double[11], neg[11], pp_11_47); - r4bs r4bs_3760_2328(yy[22], yy[23], single[12], double[12], neg[12], pp_12_47); - r4bs r4bs_3760_2456(yy[20], yy[21], single[13], double[13], neg[13], pp_13_47); - fullAdd_x FA_3760_2584(int_9_47, int_8_47, pp_11_47, pp_12_47, pp_13_47); - r4bs r4bs_3760_2800(yy[18], yy[19], single[14], double[14], neg[14], pp_14_47); - r4bs r4bs_3760_2928(yy[16], yy[17], single[15], double[15], neg[15], pp_15_47); - r4bs r4bs_3760_3056(yy[14], yy[15], single[16], double[16], neg[16], pp_16_47); - fullAdd_x FA_3760_3184(int_11_47, int_10_47, pp_14_47, pp_15_47, pp_16_47); - r4bs r4bs_3760_3400(yy[12], yy[13], single[17], double[17], neg[17], pp_17_47); - r4bs r4bs_3760_3528(yy[10], yy[11], single[18], double[18], neg[18], pp_18_47); - r4bs r4bs_3760_3656(yy[8], yy[9], single[19], double[19], neg[19], pp_19_47); - fullAdd_x FA_3760_3784(int_13_47, int_12_47, pp_17_47, pp_18_47, pp_19_47); - r4bs r4bs_3760_4000(yy[6], yy[7], single[20], double[20], neg[20], pp_20_47); - r4bs r4bs_3760_4128(yy[4], yy[5], single[21], double[21], neg[21], pp_21_47); - r4bs r4bs_3760_4256(yy[2], yy[3], single[22], double[22], neg[22], pp_22_47); - fullAdd_x FA_3760_4384(int_15_47, int_14_47, pp_20_47, pp_21_47, pp_22_47); - r4bs r4bs_3760_4600(yy[0], yy[1], single[23], double[23], neg[23], pp_23_47); - fullAdd_x FA_3760_4728(int_17_47, int_16_47, pp_23_47, int_1_46, int_3_46); - fullAdd_x FA_3760_4944(int_19_47, int_18_47, int_5_46, int_7_46, int_9_46); - fullAdd_x FA_3760_5160(int_21_47, int_20_47, int_11_46, int_13_46, int_15_46); - fullAdd_x FA_3760_5376(int_23_47, int_22_47, int_0_47, int_17_46, int_19_46); - fullAdd_x FA_3760_5592(int_25_47, int_24_47, int_21_46, int_2_47, int_4_47); - fullAdd_x FA_3760_5808(int_27_47, int_26_47, int_6_47, int_8_47, int_10_47); - fullAdd_x FA_3760_6024(int_29_47, int_28_47, int_12_47, int_14_47, int_16_47); - fullAdd_x FA_3760_6240(int_31_47, int_30_47, int_23_46, int_25_46, int_27_46); - fullAdd_x FA_3760_6456(int_33_47, int_32_47, int_29_46, int_18_47, int_20_47); - fullAdd_x FA_3760_6672(int_35_47, int_34_47, int_22_47, int_31_46, int_33_46); - fullAdd_x FA_3760_6888(int_37_47, int_36_47, int_24_47, int_26_47, int_28_47); - fullAdd_x FA_3760_7104(int_39_47, int_38_47, int_35_46, int_37_46, int_30_47); - fullAdd_x FA_3760_7320(int_41_47, int_40_47, int_32_47, int_39_46, int_34_47); - fullAdd_x FA_3760_7536(int_43_47, int_42_47, int_36_47, int_41_46, int_38_47); - fullAdd_x FA_3760_7752(int_45_47, int_44_47, int_43_46, int_40_47, int_42_47); - assign Sum[47] = int_45_46; - assign Carry[47] = int_44_47; - - // Hardware for column 48 - - r4bs r4bs_3840_64(yy[47], yy[48], single[0], double[0], neg[0], pp_0_48); - halfAdd HA_3840_192(int_1_48, int_0_48, neg[24], pp_0_48); - r4bs r4bs_3840_272(yy[45], yy[46], single[1], double[1], neg[1], pp_1_48); - r4bs r4bs_3840_400(yy[43], yy[44], single[2], double[2], neg[2], pp_2_48); - r4bs r4bs_3840_528(yy[41], yy[42], single[3], double[3], neg[3], pp_3_48); - fullAdd_x FA_3840_656(int_3_48, int_2_48, pp_1_48, pp_2_48, pp_3_48); - r4bs r4bs_3840_872(yy[39], yy[40], single[4], double[4], neg[4], pp_4_48); - r4bs r4bs_3840_1000(yy[37], yy[38], single[5], double[5], neg[5], pp_5_48); - r4bs r4bs_3840_1128(yy[35], yy[36], single[6], double[6], neg[6], pp_6_48); - fullAdd_x FA_3840_1256(int_5_48, int_4_48, pp_4_48, pp_5_48, pp_6_48); - r4bs r4bs_3840_1472(yy[33], yy[34], single[7], double[7], neg[7], pp_7_48); - r4bs r4bs_3840_1600(yy[31], yy[32], single[8], double[8], neg[8], pp_8_48); - r4bs r4bs_3840_1728(yy[29], yy[30], single[9], double[9], neg[9], pp_9_48); - fullAdd_x FA_3840_1856(int_7_48, int_6_48, pp_7_48, pp_8_48, pp_9_48); - r4bs r4bs_3840_2072(yy[27], yy[28], single[10], double[10], neg[10], pp_10_48); - r4bs r4bs_3840_2200(yy[25], yy[26], single[11], double[11], neg[11], pp_11_48); - r4bs r4bs_3840_2328(yy[23], yy[24], single[12], double[12], neg[12], pp_12_48); - fullAdd_x FA_3840_2456(int_9_48, int_8_48, pp_10_48, pp_11_48, pp_12_48); - r4bs r4bs_3840_2672(yy[21], yy[22], single[13], double[13], neg[13], pp_13_48); - r4bs r4bs_3840_2800(yy[19], yy[20], single[14], double[14], neg[14], pp_14_48); - r4bs r4bs_3840_2928(yy[17], yy[18], single[15], double[15], neg[15], pp_15_48); - fullAdd_x FA_3840_3056(int_11_48, int_10_48, pp_13_48, pp_14_48, pp_15_48); - r4bs r4bs_3840_3272(yy[15], yy[16], single[16], double[16], neg[16], pp_16_48); - r4bs r4bs_3840_3400(yy[13], yy[14], single[17], double[17], neg[17], pp_17_48); - r4bs r4bs_3840_3528(yy[11], yy[12], single[18], double[18], neg[18], pp_18_48); - fullAdd_x FA_3840_3656(int_13_48, int_12_48, pp_16_48, pp_17_48, pp_18_48); - r4bs r4bs_3840_3872(yy[9], yy[10], single[19], double[19], neg[19], pp_19_48); - r4bs r4bs_3840_4000(yy[7], yy[8], single[20], double[20], neg[20], pp_20_48); - r4bs r4bs_3840_4128(yy[5], yy[6], single[21], double[21], neg[21], pp_21_48); - fullAdd_x FA_3840_4256(int_15_48, int_14_48, pp_19_48, pp_20_48, pp_21_48); - r4bs r4bs_3840_4472(yy[3], yy[4], single[22], double[22], neg[22], pp_22_48); - r4bs r4bs_3840_4600(yy[1], yy[2], single[23], double[23], neg[23], pp_23_48); - r4bs r4bs_3840_4728(gnd, yy[0], single[24], double[24], neg[24], pp_24_48); - fullAdd_x FA_3840_4856(int_17_48, int_16_48, pp_22_48, pp_23_48, pp_24_48); - fullAdd_x FA_3840_5072(int_19_48, int_18_48, int_1_47, int_3_47, int_5_47); - fullAdd_x FA_3840_5288(int_21_48, int_20_48, int_7_47, int_9_47, int_11_47); - fullAdd_x FA_3840_5504(int_23_48, int_22_48, int_13_47, int_15_47, int_0_48); - fullAdd_x FA_3840_5720(int_25_48, int_24_48, int_17_47, int_19_47, int_21_47); - fullAdd_x FA_3840_5936(int_27_48, int_26_48, int_2_48, int_4_48, int_6_48); - fullAdd_x FA_3840_6152(int_29_48, int_28_48, int_8_48, int_10_48, int_12_48); - fullAdd_x FA_3840_6368(int_31_48, int_30_48, int_14_48, int_16_48, int_23_47); - fullAdd_x FA_3840_6584(int_33_48, int_32_48, int_25_47, int_27_47, int_18_48); - fullAdd_x FA_3840_6800(int_35_48, int_34_48, int_20_48, int_22_48, int_29_47); - fullAdd_x FA_3840_7016(int_37_48, int_36_48, int_31_47, int_33_47, int_24_48); - fullAdd_x FA_3840_7232(int_39_48, int_38_48, int_26_48, int_28_48, int_30_48); - fullAdd_x FA_3840_7448(int_41_48, int_40_48, int_35_47, int_37_47, int_32_48); - fullAdd_x FA_3840_7664(int_43_48, int_42_48, int_34_48, int_39_47, int_36_48); - fullAdd_x FA_3840_7880(int_45_48, int_44_48, int_38_48, int_41_47, int_40_48); - fullAdd_x FA_3840_8096(int_47_48, int_46_48, int_43_47, int_42_48, int_44_48); - assign Sum[48] = int_45_47; - assign Carry[48] = int_46_48; - - // Hardware for column 49 - - r4bs r4bs_3920_64(yy[48], yy[49], single[0], double[0], neg[0], pp_0_49); - r4bs r4bs_3920_192(yy[46], yy[47], single[1], double[1], neg[1], pp_1_49); - halfAdd HA_3920_320(int_1_49, int_0_49, pp_0_49, pp_1_49); - r4bs r4bs_3920_400(yy[44], yy[45], single[2], double[2], neg[2], pp_2_49); - r4bs r4bs_3920_528(yy[42], yy[43], single[3], double[3], neg[3], pp_3_49); - r4bs r4bs_3920_656(yy[40], yy[41], single[4], double[4], neg[4], pp_4_49); - fullAdd_x FA_3920_784(int_3_49, int_2_49, pp_2_49, pp_3_49, pp_4_49); - r4bs r4bs_3920_1000(yy[38], yy[39], single[5], double[5], neg[5], pp_5_49); - r4bs r4bs_3920_1128(yy[36], yy[37], single[6], double[6], neg[6], pp_6_49); - r4bs r4bs_3920_1256(yy[34], yy[35], single[7], double[7], neg[7], pp_7_49); - fullAdd_x FA_3920_1384(int_5_49, int_4_49, pp_5_49, pp_6_49, pp_7_49); - r4bs r4bs_3920_1600(yy[32], yy[33], single[8], double[8], neg[8], pp_8_49); - r4bs r4bs_3920_1728(yy[30], yy[31], single[9], double[9], neg[9], pp_9_49); - r4bs r4bs_3920_1856(yy[28], yy[29], single[10], double[10], neg[10], pp_10_49); - fullAdd_x FA_3920_1984(int_7_49, int_6_49, pp_8_49, pp_9_49, pp_10_49); - r4bs r4bs_3920_2200(yy[26], yy[27], single[11], double[11], neg[11], pp_11_49); - r4bs r4bs_3920_2328(yy[24], yy[25], single[12], double[12], neg[12], pp_12_49); - r4bs r4bs_3920_2456(yy[22], yy[23], single[13], double[13], neg[13], pp_13_49); - fullAdd_x FA_3920_2584(int_9_49, int_8_49, pp_11_49, pp_12_49, pp_13_49); - r4bs r4bs_3920_2800(yy[20], yy[21], single[14], double[14], neg[14], pp_14_49); - r4bs r4bs_3920_2928(yy[18], yy[19], single[15], double[15], neg[15], pp_15_49); - r4bs r4bs_3920_3056(yy[16], yy[17], single[16], double[16], neg[16], pp_16_49); - fullAdd_x FA_3920_3184(int_11_49, int_10_49, pp_14_49, pp_15_49, pp_16_49); - r4bs r4bs_3920_3400(yy[14], yy[15], single[17], double[17], neg[17], pp_17_49); - r4bs r4bs_3920_3528(yy[12], yy[13], single[18], double[18], neg[18], pp_18_49); - r4bs r4bs_3920_3656(yy[10], yy[11], single[19], double[19], neg[19], pp_19_49); - fullAdd_x FA_3920_3784(int_13_49, int_12_49, pp_17_49, pp_18_49, pp_19_49); - r4bs r4bs_3920_4000(yy[8], yy[9], single[20], double[20], neg[20], pp_20_49); - r4bs r4bs_3920_4128(yy[6], yy[7], single[21], double[21], neg[21], pp_21_49); - r4bs r4bs_3920_4256(yy[4], yy[5], single[22], double[22], neg[22], pp_22_49); - fullAdd_x FA_3920_4384(int_15_49, int_14_49, pp_20_49, pp_21_49, pp_22_49); - r4bs r4bs_3920_4600(yy[2], yy[3], single[23], double[23], neg[23], pp_23_49); - r4bs r4bs_3920_4728(yy[0], yy[1], single[24], double[24], neg[24], pp_24_49); - fullAdd_x FA_3920_4856(int_17_49, int_16_49, pp_23_49, pp_24_49, int_1_48); - fullAdd_x FA_3920_5072(int_19_49, int_18_49, int_3_48, int_5_48, int_7_48); - fullAdd_x FA_3920_5288(int_21_49, int_20_49, int_9_48, int_11_48, int_13_48); - fullAdd_x FA_3920_5504(int_23_49, int_22_49, int_15_48, int_17_48, int_0_49); - fullAdd_x FA_3920_5720(int_25_49, int_24_49, int_19_48, int_21_48, int_23_48); - fullAdd_x FA_3920_5936(int_27_49, int_26_49, int_2_49, int_4_49, int_6_49); - fullAdd_x FA_3920_6152(int_29_49, int_28_49, int_8_49, int_10_49, int_12_49); - fullAdd_x FA_3920_6368(int_31_49, int_30_49, int_14_49, int_16_49, int_25_48); - fullAdd_x FA_3920_6584(int_33_49, int_32_49, int_27_48, int_29_48, int_18_49); - fullAdd_x FA_3920_6800(int_35_49, int_34_49, int_20_49, int_22_49, int_31_48); - fullAdd_x FA_3920_7016(int_37_49, int_36_49, int_33_48, int_24_49, int_26_49); - fullAdd_x FA_3920_7232(int_39_49, int_38_49, int_28_49, int_30_49, int_35_48); - fullAdd_x FA_3920_7448(int_41_49, int_40_49, int_37_48, int_39_48, int_32_49); - fullAdd_x FA_3920_7664(int_43_49, int_42_49, int_34_49, int_41_48, int_36_49); - fullAdd_x FA_3920_7880(int_45_49, int_44_49, int_38_49, int_43_48, int_40_49); - fullAdd_x FA_3920_8096(int_47_49, int_46_49, int_45_48, int_42_49, int_44_49); - assign Sum[49] = int_47_48; - assign Carry[49] = int_46_49; - - // Hardware for column 50 - - r4bs r4bs_4000_64(yy[49], yy[50], single[0], double[0], neg[0], pp_0_50); - halfAdd HA_4000_192(int_1_50, int_0_50, neg[25], pp_0_50); - r4bs r4bs_4000_272(yy[47], yy[48], single[1], double[1], neg[1], pp_1_50); - r4bs r4bs_4000_400(yy[45], yy[46], single[2], double[2], neg[2], pp_2_50); - r4bs r4bs_4000_528(yy[43], yy[44], single[3], double[3], neg[3], pp_3_50); - fullAdd_x FA_4000_656(int_3_50, int_2_50, pp_1_50, pp_2_50, pp_3_50); - r4bs r4bs_4000_872(yy[41], yy[42], single[4], double[4], neg[4], pp_4_50); - r4bs r4bs_4000_1000(yy[39], yy[40], single[5], double[5], neg[5], pp_5_50); - r4bs r4bs_4000_1128(yy[37], yy[38], single[6], double[6], neg[6], pp_6_50); - fullAdd_x FA_4000_1256(int_5_50, int_4_50, pp_4_50, pp_5_50, pp_6_50); - r4bs r4bs_4000_1472(yy[35], yy[36], single[7], double[7], neg[7], pp_7_50); - r4bs r4bs_4000_1600(yy[33], yy[34], single[8], double[8], neg[8], pp_8_50); - r4bs r4bs_4000_1728(yy[31], yy[32], single[9], double[9], neg[9], pp_9_50); - fullAdd_x FA_4000_1856(int_7_50, int_6_50, pp_7_50, pp_8_50, pp_9_50); - r4bs r4bs_4000_2072(yy[29], yy[30], single[10], double[10], neg[10], pp_10_50); - r4bs r4bs_4000_2200(yy[27], yy[28], single[11], double[11], neg[11], pp_11_50); - r4bs r4bs_4000_2328(yy[25], yy[26], single[12], double[12], neg[12], pp_12_50); - fullAdd_x FA_4000_2456(int_9_50, int_8_50, pp_10_50, pp_11_50, pp_12_50); - r4bs r4bs_4000_2672(yy[23], yy[24], single[13], double[13], neg[13], pp_13_50); - r4bs r4bs_4000_2800(yy[21], yy[22], single[14], double[14], neg[14], pp_14_50); - r4bs r4bs_4000_2928(yy[19], yy[20], single[15], double[15], neg[15], pp_15_50); - fullAdd_x FA_4000_3056(int_11_50, int_10_50, pp_13_50, pp_14_50, pp_15_50); - r4bs r4bs_4000_3272(yy[17], yy[18], single[16], double[16], neg[16], pp_16_50); - r4bs r4bs_4000_3400(yy[15], yy[16], single[17], double[17], neg[17], pp_17_50); - r4bs r4bs_4000_3528(yy[13], yy[14], single[18], double[18], neg[18], pp_18_50); - fullAdd_x FA_4000_3656(int_13_50, int_12_50, pp_16_50, pp_17_50, pp_18_50); - r4bs r4bs_4000_3872(yy[11], yy[12], single[19], double[19], neg[19], pp_19_50); - r4bs r4bs_4000_4000(yy[9], yy[10], single[20], double[20], neg[20], pp_20_50); - r4bs r4bs_4000_4128(yy[7], yy[8], single[21], double[21], neg[21], pp_21_50); - fullAdd_x FA_4000_4256(int_15_50, int_14_50, pp_19_50, pp_20_50, pp_21_50); - r4bs r4bs_4000_4472(yy[5], yy[6], single[22], double[22], neg[22], pp_22_50); - r4bs r4bs_4000_4600(yy[3], yy[4], single[23], double[23], neg[23], pp_23_50); - r4bs r4bs_4000_4728(yy[1], yy[2], single[24], double[24], neg[24], pp_24_50); - fullAdd_x FA_4000_4856(int_17_50, int_16_50, pp_22_50, pp_23_50, pp_24_50); - r4bs r4bs_4000_5072(gnd, yy[0], single[25], double[25], neg[25], pp_25_50); - fullAdd_x FA_4000_5200(int_19_50, int_18_50, pp_25_50, int_1_49, int_3_49); - fullAdd_x FA_4000_5416(int_21_50, int_20_50, int_5_49, int_7_49, int_9_49); - fullAdd_x FA_4000_5632(int_23_50, int_22_50, int_11_49, int_13_49, int_15_49); - fullAdd_x FA_4000_5848(int_25_50, int_24_50, int_0_50, int_17_49, int_19_49); - fullAdd_x FA_4000_6064(int_27_50, int_26_50, int_21_49, int_23_49, int_2_50); - fullAdd_x FA_4000_6280(int_29_50, int_28_50, int_4_50, int_6_50, int_8_50); - fullAdd_x FA_4000_6496(int_31_50, int_30_50, int_10_50, int_12_50, int_14_50); - fullAdd_x FA_4000_6712(int_33_50, int_32_50, int_16_50, int_18_50, int_25_49); - fullAdd_x FA_4000_6928(int_35_50, int_34_50, int_27_49, int_29_49, int_20_50); - fullAdd_x FA_4000_7144(int_37_50, int_36_50, int_22_50, int_24_50, int_31_49); - fullAdd_x FA_4000_7360(int_39_50, int_38_50, int_33_49, int_26_50, int_28_50); - fullAdd_x FA_4000_7576(int_41_50, int_40_50, int_30_50, int_32_50, int_35_49); - fullAdd_x FA_4000_7792(int_43_50, int_42_50, int_37_49, int_34_50, int_39_49); - fullAdd_x FA_4000_8008(int_45_50, int_44_50, int_36_50, int_41_49, int_38_50); - fullAdd_x FA_4000_8224(int_47_50, int_46_50, int_40_50, int_43_49, int_42_50); - fullAdd_x FA_4000_8440(int_49_50, int_48_50, int_45_49, int_44_50, int_46_50); - assign Sum[50] = int_47_49; - assign Carry[50] = int_48_50; - - // Hardware for column 51 - - r4bs r4bs_4080_64(yy[50], yy[51], single[0], double[0], neg[0], pp_0_51); - r4bs r4bs_4080_192(yy[48], yy[49], single[1], double[1], neg[1], pp_1_51); - halfAdd HA_4080_320(int_1_51, int_0_51, pp_0_51, pp_1_51); - r4bs r4bs_4080_400(yy[46], yy[47], single[2], double[2], neg[2], pp_2_51); - r4bs r4bs_4080_528(yy[44], yy[45], single[3], double[3], neg[3], pp_3_51); - r4bs r4bs_4080_656(yy[42], yy[43], single[4], double[4], neg[4], pp_4_51); - fullAdd_x FA_4080_784(int_3_51, int_2_51, pp_2_51, pp_3_51, pp_4_51); - r4bs r4bs_4080_1000(yy[40], yy[41], single[5], double[5], neg[5], pp_5_51); - r4bs r4bs_4080_1128(yy[38], yy[39], single[6], double[6], neg[6], pp_6_51); - r4bs r4bs_4080_1256(yy[36], yy[37], single[7], double[7], neg[7], pp_7_51); - fullAdd_x FA_4080_1384(int_5_51, int_4_51, pp_5_51, pp_6_51, pp_7_51); - r4bs r4bs_4080_1600(yy[34], yy[35], single[8], double[8], neg[8], pp_8_51); - r4bs r4bs_4080_1728(yy[32], yy[33], single[9], double[9], neg[9], pp_9_51); - r4bs r4bs_4080_1856(yy[30], yy[31], single[10], double[10], neg[10], pp_10_51); - fullAdd_x FA_4080_1984(int_7_51, int_6_51, pp_8_51, pp_9_51, pp_10_51); - r4bs r4bs_4080_2200(yy[28], yy[29], single[11], double[11], neg[11], pp_11_51); - r4bs r4bs_4080_2328(yy[26], yy[27], single[12], double[12], neg[12], pp_12_51); - r4bs r4bs_4080_2456(yy[24], yy[25], single[13], double[13], neg[13], pp_13_51); - fullAdd_x FA_4080_2584(int_9_51, int_8_51, pp_11_51, pp_12_51, pp_13_51); - r4bs r4bs_4080_2800(yy[22], yy[23], single[14], double[14], neg[14], pp_14_51); - r4bs r4bs_4080_2928(yy[20], yy[21], single[15], double[15], neg[15], pp_15_51); - r4bs r4bs_4080_3056(yy[18], yy[19], single[16], double[16], neg[16], pp_16_51); - fullAdd_x FA_4080_3184(int_11_51, int_10_51, pp_14_51, pp_15_51, pp_16_51); - r4bs r4bs_4080_3400(yy[16], yy[17], single[17], double[17], neg[17], pp_17_51); - r4bs r4bs_4080_3528(yy[14], yy[15], single[18], double[18], neg[18], pp_18_51); - r4bs r4bs_4080_3656(yy[12], yy[13], single[19], double[19], neg[19], pp_19_51); - fullAdd_x FA_4080_3784(int_13_51, int_12_51, pp_17_51, pp_18_51, pp_19_51); - r4bs r4bs_4080_4000(yy[10], yy[11], single[20], double[20], neg[20], pp_20_51); - r4bs r4bs_4080_4128(yy[8], yy[9], single[21], double[21], neg[21], pp_21_51); - r4bs r4bs_4080_4256(yy[6], yy[7], single[22], double[22], neg[22], pp_22_51); - fullAdd_x FA_4080_4384(int_15_51, int_14_51, pp_20_51, pp_21_51, pp_22_51); - r4bs r4bs_4080_4600(yy[4], yy[5], single[23], double[23], neg[23], pp_23_51); - r4bs r4bs_4080_4728(yy[2], yy[3], single[24], double[24], neg[24], pp_24_51); - r4bs r4bs_4080_4856(yy[0], yy[1], single[25], double[25], neg[25], pp_25_51); - fullAdd_x FA_4080_4984(int_17_51, int_16_51, pp_23_51, pp_24_51, pp_25_51); - fullAdd_x FA_4080_5200(int_19_51, int_18_51, int_1_50, int_3_50, int_5_50); - fullAdd_x FA_4080_5416(int_21_51, int_20_51, int_7_50, int_9_50, int_11_50); - fullAdd_x FA_4080_5632(int_23_51, int_22_51, int_13_50, int_15_50, int_17_50); - fullAdd_x FA_4080_5848(int_25_51, int_24_51, int_0_51, int_19_50, int_21_50); - fullAdd_x FA_4080_6064(int_27_51, int_26_51, int_23_50, int_2_51, int_4_51); - fullAdd_x FA_4080_6280(int_29_51, int_28_51, int_6_51, int_8_51, int_10_51); - fullAdd_x FA_4080_6496(int_31_51, int_30_51, int_12_51, int_14_51, int_16_51); - fullAdd_x FA_4080_6712(int_33_51, int_32_51, int_25_50, int_27_50, int_29_50); - fullAdd_x FA_4080_6928(int_35_51, int_34_51, int_31_50, int_18_51, int_20_51); - fullAdd_x FA_4080_7144(int_37_51, int_36_51, int_22_51, int_33_50, int_35_50); - fullAdd_x FA_4080_7360(int_39_51, int_38_51, int_24_51, int_26_51, int_28_51); - fullAdd_x FA_4080_7576(int_41_51, int_40_51, int_30_51, int_37_50, int_39_50); - fullAdd_x FA_4080_7792(int_43_51, int_42_51, int_32_51, int_34_51, int_41_50); - fullAdd_x FA_4080_8008(int_45_51, int_44_51, int_36_51, int_38_51, int_43_50); - fullAdd_x FA_4080_8224(int_47_51, int_46_51, int_45_50, int_40_51, int_42_51); - fullAdd_x FA_4080_8440(int_49_51, int_48_51, int_47_50, int_44_51, int_46_51); - assign Sum[51] = int_49_50; - assign Carry[51] = int_48_51; - - // Hardware for column 52 - - r4bs r4bs_4160_64(yy[51], yy[52], single[0], double[0], neg[0], pp_0_52); - halfAdd HA_4160_192(int_1_52, int_0_52, neg[26], pp_0_52); - r4bs r4bs_4160_272(yy[49], yy[50], single[1], double[1], neg[1], pp_1_52); - r4bs r4bs_4160_400(yy[47], yy[48], single[2], double[2], neg[2], pp_2_52); - r4bs r4bs_4160_528(yy[45], yy[46], single[3], double[3], neg[3], pp_3_52); - fullAdd_x FA_4160_656(int_3_52, int_2_52, pp_1_52, pp_2_52, pp_3_52); - r4bs r4bs_4160_872(yy[43], yy[44], single[4], double[4], neg[4], pp_4_52); - r4bs r4bs_4160_1000(yy[41], yy[42], single[5], double[5], neg[5], pp_5_52); - r4bs r4bs_4160_1128(yy[39], yy[40], single[6], double[6], neg[6], pp_6_52); - fullAdd_x FA_4160_1256(int_5_52, int_4_52, pp_4_52, pp_5_52, pp_6_52); - r4bs r4bs_4160_1472(yy[37], yy[38], single[7], double[7], neg[7], pp_7_52); - r4bs r4bs_4160_1600(yy[35], yy[36], single[8], double[8], neg[8], pp_8_52); - r4bs r4bs_4160_1728(yy[33], yy[34], single[9], double[9], neg[9], pp_9_52); - fullAdd_x FA_4160_1856(int_7_52, int_6_52, pp_7_52, pp_8_52, pp_9_52); - r4bs r4bs_4160_2072(yy[31], yy[32], single[10], double[10], neg[10], pp_10_52); - r4bs r4bs_4160_2200(yy[29], yy[30], single[11], double[11], neg[11], pp_11_52); - r4bs r4bs_4160_2328(yy[27], yy[28], single[12], double[12], neg[12], pp_12_52); - fullAdd_x FA_4160_2456(int_9_52, int_8_52, pp_10_52, pp_11_52, pp_12_52); - r4bs r4bs_4160_2672(yy[25], yy[26], single[13], double[13], neg[13], pp_13_52); - r4bs r4bs_4160_2800(yy[23], yy[24], single[14], double[14], neg[14], pp_14_52); - r4bs r4bs_4160_2928(yy[21], yy[22], single[15], double[15], neg[15], pp_15_52); - fullAdd_x FA_4160_3056(int_11_52, int_10_52, pp_13_52, pp_14_52, pp_15_52); - r4bs r4bs_4160_3272(yy[19], yy[20], single[16], double[16], neg[16], pp_16_52); - r4bs r4bs_4160_3400(yy[17], yy[18], single[17], double[17], neg[17], pp_17_52); - r4bs r4bs_4160_3528(yy[15], yy[16], single[18], double[18], neg[18], pp_18_52); - fullAdd_x FA_4160_3656(int_13_52, int_12_52, pp_16_52, pp_17_52, pp_18_52); - r4bs r4bs_4160_3872(yy[13], yy[14], single[19], double[19], neg[19], pp_19_52); - r4bs r4bs_4160_4000(yy[11], yy[12], single[20], double[20], neg[20], pp_20_52); - r4bs r4bs_4160_4128(yy[9], yy[10], single[21], double[21], neg[21], pp_21_52); - fullAdd_x FA_4160_4256(int_15_52, int_14_52, pp_19_52, pp_20_52, pp_21_52); - r4bs r4bs_4160_4472(yy[7], yy[8], single[22], double[22], neg[22], pp_22_52); - r4bs r4bs_4160_4600(yy[5], yy[6], single[23], double[23], neg[23], pp_23_52); - r4bs r4bs_4160_4728(yy[3], yy[4], single[24], double[24], neg[24], pp_24_52); - fullAdd_x FA_4160_4856(int_17_52, int_16_52, pp_22_52, pp_23_52, pp_24_52); - r4bs r4bs_4160_5072(yy[1], yy[2], single[25], double[25], neg[25], pp_25_52); - r4bs r4bs_4160_5200(gnd, yy[0], single[26], double[26], neg[26], pp_26_52); - fullAdd_x FA_4160_5328(int_19_52, int_18_52, pp_25_52, pp_26_52, int_1_51); - fullAdd_x FA_4160_5544(int_21_52, int_20_52, int_3_51, int_5_51, int_7_51); - fullAdd_x FA_4160_5760(int_23_52, int_22_52, int_9_51, int_11_51, int_13_51); - fullAdd_x FA_4160_5976(int_25_52, int_24_52, int_15_51, int_17_51, int_0_52); - fullAdd_x FA_4160_6192(int_27_52, int_26_52, int_19_51, int_21_51, int_23_51); - fullAdd_x FA_4160_6408(int_29_52, int_28_52, int_2_52, int_4_52, int_6_52); - fullAdd_x FA_4160_6624(int_31_52, int_30_52, int_8_52, int_10_52, int_12_52); - fullAdd_x FA_4160_6840(int_33_52, int_32_52, int_14_52, int_16_52, int_18_52); - fullAdd_x FA_4160_7056(int_35_52, int_34_52, int_25_51, int_27_51, int_29_51); - fullAdd_x FA_4160_7272(int_37_52, int_36_52, int_31_51, int_20_52, int_22_52); - fullAdd_x FA_4160_7488(int_39_52, int_38_52, int_24_52, int_33_51, int_35_51); - fullAdd_x FA_4160_7704(int_41_52, int_40_52, int_26_52, int_28_52, int_30_52); - fullAdd_x FA_4160_7920(int_43_52, int_42_52, int_32_52, int_37_51, int_39_51); - fullAdd_x FA_4160_8136(int_45_52, int_44_52, int_34_52, int_36_52, int_41_51); - fullAdd_x FA_4160_8352(int_47_52, int_46_52, int_38_52, int_40_52, int_43_51); - fullAdd_x FA_4160_8568(int_49_52, int_48_52, int_42_52, int_44_52, int_45_51); - fullAdd_x FA_4160_8784(int_51_52, int_50_52, int_47_51, int_46_52, int_48_52); - assign Sum[52] = int_49_51; - assign Carry[52] = int_50_52; - - // Hardware for column 53 - - r4bs r4bs_4240_64(yy[52], yy[53], single[0], double[0], neg[0], pp_0_53); - r4bs r4bs_4240_192(yy[50], yy[51], single[1], double[1], neg[1], pp_1_53); - halfAdd HA_4240_320(int_1_53, int_0_53, pp_0_53, pp_1_53); - r4bs r4bs_4240_400(yy[48], yy[49], single[2], double[2], neg[2], pp_2_53); - r4bs r4bs_4240_528(yy[46], yy[47], single[3], double[3], neg[3], pp_3_53); - r4bs r4bs_4240_656(yy[44], yy[45], single[4], double[4], neg[4], pp_4_53); - fullAdd_x FA_4240_784(int_3_53, int_2_53, pp_2_53, pp_3_53, pp_4_53); - r4bs r4bs_4240_1000(yy[42], yy[43], single[5], double[5], neg[5], pp_5_53); - r4bs r4bs_4240_1128(yy[40], yy[41], single[6], double[6], neg[6], pp_6_53); - r4bs r4bs_4240_1256(yy[38], yy[39], single[7], double[7], neg[7], pp_7_53); - fullAdd_x FA_4240_1384(int_5_53, int_4_53, pp_5_53, pp_6_53, pp_7_53); - r4bs r4bs_4240_1600(yy[36], yy[37], single[8], double[8], neg[8], pp_8_53); - r4bs r4bs_4240_1728(yy[34], yy[35], single[9], double[9], neg[9], pp_9_53); - r4bs r4bs_4240_1856(yy[32], yy[33], single[10], double[10], neg[10], pp_10_53); - fullAdd_x FA_4240_1984(int_7_53, int_6_53, pp_8_53, pp_9_53, pp_10_53); - r4bs r4bs_4240_2200(yy[30], yy[31], single[11], double[11], neg[11], pp_11_53); - r4bs r4bs_4240_2328(yy[28], yy[29], single[12], double[12], neg[12], pp_12_53); - r4bs r4bs_4240_2456(yy[26], yy[27], single[13], double[13], neg[13], pp_13_53); - fullAdd_x FA_4240_2584(int_9_53, int_8_53, pp_11_53, pp_12_53, pp_13_53); - r4bs r4bs_4240_2800(yy[24], yy[25], single[14], double[14], neg[14], pp_14_53); - r4bs r4bs_4240_2928(yy[22], yy[23], single[15], double[15], neg[15], pp_15_53); - r4bs r4bs_4240_3056(yy[20], yy[21], single[16], double[16], neg[16], pp_16_53); - fullAdd_x FA_4240_3184(int_11_53, int_10_53, pp_14_53, pp_15_53, pp_16_53); - r4bs r4bs_4240_3400(yy[18], yy[19], single[17], double[17], neg[17], pp_17_53); - r4bs r4bs_4240_3528(yy[16], yy[17], single[18], double[18], neg[18], pp_18_53); - r4bs r4bs_4240_3656(yy[14], yy[15], single[19], double[19], neg[19], pp_19_53); - fullAdd_x FA_4240_3784(int_13_53, int_12_53, pp_17_53, pp_18_53, pp_19_53); - r4bs r4bs_4240_4000(yy[12], yy[13], single[20], double[20], neg[20], pp_20_53); - r4bs r4bs_4240_4128(yy[10], yy[11], single[21], double[21], neg[21], pp_21_53); - r4bs r4bs_4240_4256(yy[8], yy[9], single[22], double[22], neg[22], pp_22_53); - fullAdd_x FA_4240_4384(int_15_53, int_14_53, pp_20_53, pp_21_53, pp_22_53); - r4bs r4bs_4240_4600(yy[6], yy[7], single[23], double[23], neg[23], pp_23_53); - r4bs r4bs_4240_4728(yy[4], yy[5], single[24], double[24], neg[24], pp_24_53); - r4bs r4bs_4240_4856(yy[2], yy[3], single[25], double[25], neg[25], pp_25_53); - fullAdd_x FA_4240_4984(int_17_53, int_16_53, pp_23_53, pp_24_53, pp_25_53); - r4bs r4bs_4240_5200(yy[0], yy[1], single[26], double[26], neg[26], pp_26_53); - fullAdd_x FA_4240_5328(int_19_53, int_18_53, pp_26_53, int_1_52, int_3_52); - fullAdd_x FA_4240_5544(int_21_53, int_20_53, int_5_52, int_7_52, int_9_52); - fullAdd_x FA_4240_5760(int_23_53, int_22_53, int_11_52, int_13_52, int_15_52); - fullAdd_x FA_4240_5976(int_25_53, int_24_53, int_17_52, int_0_53, int_19_52); - fullAdd_x FA_4240_6192(int_27_53, int_26_53, int_21_52, int_23_52, int_25_52); - fullAdd_x FA_4240_6408(int_29_53, int_28_53, int_2_53, int_4_53, int_6_53); - fullAdd_x FA_4240_6624(int_31_53, int_30_53, int_8_53, int_10_53, int_12_53); - fullAdd_x FA_4240_6840(int_33_53, int_32_53, int_14_53, int_16_53, int_18_53); - fullAdd_x FA_4240_7056(int_35_53, int_34_53, int_27_52, int_29_52, int_31_52); - fullAdd_x FA_4240_7272(int_37_53, int_36_53, int_33_52, int_20_53, int_22_53); - fullAdd_x FA_4240_7488(int_39_53, int_38_53, int_24_53, int_35_52, int_37_52); - fullAdd_x FA_4240_7704(int_41_53, int_40_53, int_26_53, int_28_53, int_30_53); - fullAdd_x FA_4240_7920(int_43_53, int_42_53, int_32_53, int_39_52, int_41_52); - fullAdd_x FA_4240_8136(int_45_53, int_44_53, int_34_53, int_36_53, int_43_52); - fullAdd_x FA_4240_8352(int_47_53, int_46_53, int_38_53, int_40_53, int_45_52); - fullAdd_x FA_4240_8568(int_49_53, int_48_53, int_42_53, int_44_53, int_47_52); - fullAdd_x FA_4240_8784(int_51_53, int_50_53, int_46_53, int_49_52, int_48_53); - assign Sum[53] = int_51_52; - assign Carry[53] = int_50_53; - - // Hardware for column 54 - - r4bs r4bs_4320_64(yy[53], yy[54], single[0], double[0], neg[0], pp_0_54); - halfAdd HA_4320_192(int_1_54, int_0_54, neg[27], pp_0_54); - r4bs r4bs_4320_272(yy[51], yy[52], single[1], double[1], neg[1], pp_1_54); - r4bs r4bs_4320_400(yy[49], yy[50], single[2], double[2], neg[2], pp_2_54); - r4bs r4bs_4320_528(yy[47], yy[48], single[3], double[3], neg[3], pp_3_54); - fullAdd_x FA_4320_656(int_3_54, int_2_54, pp_1_54, pp_2_54, pp_3_54); - r4bs r4bs_4320_872(yy[45], yy[46], single[4], double[4], neg[4], pp_4_54); - r4bs r4bs_4320_1000(yy[43], yy[44], single[5], double[5], neg[5], pp_5_54); - r4bs r4bs_4320_1128(yy[41], yy[42], single[6], double[6], neg[6], pp_6_54); - fullAdd_x FA_4320_1256(int_5_54, int_4_54, pp_4_54, pp_5_54, pp_6_54); - r4bs r4bs_4320_1472(yy[39], yy[40], single[7], double[7], neg[7], pp_7_54); - r4bs r4bs_4320_1600(yy[37], yy[38], single[8], double[8], neg[8], pp_8_54); - r4bs r4bs_4320_1728(yy[35], yy[36], single[9], double[9], neg[9], pp_9_54); - fullAdd_x FA_4320_1856(int_7_54, int_6_54, pp_7_54, pp_8_54, pp_9_54); - r4bs r4bs_4320_2072(yy[33], yy[34], single[10], double[10], neg[10], pp_10_54); - r4bs r4bs_4320_2200(yy[31], yy[32], single[11], double[11], neg[11], pp_11_54); - r4bs r4bs_4320_2328(yy[29], yy[30], single[12], double[12], neg[12], pp_12_54); - fullAdd_x FA_4320_2456(int_9_54, int_8_54, pp_10_54, pp_11_54, pp_12_54); - r4bs r4bs_4320_2672(yy[27], yy[28], single[13], double[13], neg[13], pp_13_54); - r4bs r4bs_4320_2800(yy[25], yy[26], single[14], double[14], neg[14], pp_14_54); - r4bs r4bs_4320_2928(yy[23], yy[24], single[15], double[15], neg[15], pp_15_54); - fullAdd_x FA_4320_3056(int_11_54, int_10_54, pp_13_54, pp_14_54, pp_15_54); - r4bs r4bs_4320_3272(yy[21], yy[22], single[16], double[16], neg[16], pp_16_54); - r4bs r4bs_4320_3400(yy[19], yy[20], single[17], double[17], neg[17], pp_17_54); - r4bs r4bs_4320_3528(yy[17], yy[18], single[18], double[18], neg[18], pp_18_54); - fullAdd_x FA_4320_3656(int_13_54, int_12_54, pp_16_54, pp_17_54, pp_18_54); - r4bs r4bs_4320_3872(yy[15], yy[16], single[19], double[19], neg[19], pp_19_54); - r4bs r4bs_4320_4000(yy[13], yy[14], single[20], double[20], neg[20], pp_20_54); - r4bs r4bs_4320_4128(yy[11], yy[12], single[21], double[21], neg[21], pp_21_54); - fullAdd_x FA_4320_4256(int_15_54, int_14_54, pp_19_54, pp_20_54, pp_21_54); - r4bs r4bs_4320_4472(yy[9], yy[10], single[22], double[22], neg[22], pp_22_54); - r4bs r4bs_4320_4600(yy[7], yy[8], single[23], double[23], neg[23], pp_23_54); - r4bs r4bs_4320_4728(yy[5], yy[6], single[24], double[24], neg[24], pp_24_54); - fullAdd_x FA_4320_4856(int_17_54, int_16_54, pp_22_54, pp_23_54, pp_24_54); - r4bs r4bs_4320_5072(yy[3], yy[4], single[25], double[25], neg[25], pp_25_54); - r4bs r4bs_4320_5200(yy[1], yy[2], single[26], double[26], neg[26], pp_26_54); - r4bs r4bs_4320_5328(gnd, yy[0], single[27], double[27], neg[27], pp_27_54); - fullAdd_x FA_4320_5456(int_19_54, int_18_54, pp_25_54, pp_26_54, pp_27_54); - fullAdd_x FA_4320_5672(int_21_54, int_20_54, int_1_53, int_3_53, int_5_53); - fullAdd_x FA_4320_5888(int_23_54, int_22_54, int_7_53, int_9_53, int_11_53); - fullAdd_x FA_4320_6104(int_25_54, int_24_54, int_13_53, int_15_53, int_17_53); - fullAdd_x FA_4320_6320(int_27_54, int_26_54, int_0_54, int_19_53, int_21_53); - fullAdd_x FA_4320_6536(int_29_54, int_28_54, int_23_53, int_2_54, int_4_54); - fullAdd_x FA_4320_6752(int_31_54, int_30_54, int_6_54, int_8_54, int_10_54); - fullAdd_x FA_4320_6968(int_33_54, int_32_54, int_12_54, int_14_54, int_16_54); - fullAdd_x FA_4320_7184(int_35_54, int_34_54, int_18_54, int_25_53, int_27_53); - fullAdd_x FA_4320_7400(int_37_54, int_36_54, int_29_53, int_31_53, int_20_54); - fullAdd_x FA_4320_7616(int_39_54, int_38_54, int_22_54, int_24_54, int_33_53); - fullAdd_x FA_4320_7832(int_41_54, int_40_54, int_35_53, int_37_53, int_26_54); - fullAdd_x FA_4320_8048(int_43_54, int_42_54, int_28_54, int_30_54, int_32_54); - fullAdd_x FA_4320_8264(int_45_54, int_44_54, int_34_54, int_39_53, int_41_53); - fullAdd_x FA_4320_8480(int_47_54, int_46_54, int_36_54, int_38_54, int_43_53); - fullAdd_x FA_4320_8696(int_49_54, int_48_54, int_40_54, int_42_54, int_45_53); - fullAdd_x FA_4320_8912(int_51_54, int_50_54, int_44_54, int_46_54, int_47_53); - fullAdd_x FA_4320_9128(int_53_54, int_52_54, int_48_54, int_49_53, int_50_54); - assign Sum[54] = int_51_53; - assign Carry[54] = int_52_54; - - // Hardware for column 55 - - r4bs r4bs_4400_64(yy[54], yy[55], single[0], double[0], neg[0], pp_0_55); - r4bs r4bs_4400_192(yy[52], yy[53], single[1], double[1], neg[1], pp_1_55); - halfAdd HA_4400_320(int_1_55, int_0_55, pp_0_55, pp_1_55); - r4bs r4bs_4400_400(yy[50], yy[51], single[2], double[2], neg[2], pp_2_55); - r4bs r4bs_4400_528(yy[48], yy[49], single[3], double[3], neg[3], pp_3_55); - r4bs r4bs_4400_656(yy[46], yy[47], single[4], double[4], neg[4], pp_4_55); - fullAdd_x FA_4400_784(int_3_55, int_2_55, pp_2_55, pp_3_55, pp_4_55); - r4bs r4bs_4400_1000(yy[44], yy[45], single[5], double[5], neg[5], pp_5_55); - r4bs r4bs_4400_1128(yy[42], yy[43], single[6], double[6], neg[6], pp_6_55); - r4bs r4bs_4400_1256(yy[40], yy[41], single[7], double[7], neg[7], pp_7_55); - fullAdd_x FA_4400_1384(int_5_55, int_4_55, pp_5_55, pp_6_55, pp_7_55); - r4bs r4bs_4400_1600(yy[38], yy[39], single[8], double[8], neg[8], pp_8_55); - r4bs r4bs_4400_1728(yy[36], yy[37], single[9], double[9], neg[9], pp_9_55); - r4bs r4bs_4400_1856(yy[34], yy[35], single[10], double[10], neg[10], pp_10_55); - fullAdd_x FA_4400_1984(int_7_55, int_6_55, pp_8_55, pp_9_55, pp_10_55); - r4bs r4bs_4400_2200(yy[32], yy[33], single[11], double[11], neg[11], pp_11_55); - r4bs r4bs_4400_2328(yy[30], yy[31], single[12], double[12], neg[12], pp_12_55); - r4bs r4bs_4400_2456(yy[28], yy[29], single[13], double[13], neg[13], pp_13_55); - fullAdd_x FA_4400_2584(int_9_55, int_8_55, pp_11_55, pp_12_55, pp_13_55); - r4bs r4bs_4400_2800(yy[26], yy[27], single[14], double[14], neg[14], pp_14_55); - r4bs r4bs_4400_2928(yy[24], yy[25], single[15], double[15], neg[15], pp_15_55); - r4bs r4bs_4400_3056(yy[22], yy[23], single[16], double[16], neg[16], pp_16_55); - fullAdd_x FA_4400_3184(int_11_55, int_10_55, pp_14_55, pp_15_55, pp_16_55); - r4bs r4bs_4400_3400(yy[20], yy[21], single[17], double[17], neg[17], pp_17_55); - r4bs r4bs_4400_3528(yy[18], yy[19], single[18], double[18], neg[18], pp_18_55); - r4bs r4bs_4400_3656(yy[16], yy[17], single[19], double[19], neg[19], pp_19_55); - fullAdd_x FA_4400_3784(int_13_55, int_12_55, pp_17_55, pp_18_55, pp_19_55); - r4bs r4bs_4400_4000(yy[14], yy[15], single[20], double[20], neg[20], pp_20_55); - r4bs r4bs_4400_4128(yy[12], yy[13], single[21], double[21], neg[21], pp_21_55); - r4bs r4bs_4400_4256(yy[10], yy[11], single[22], double[22], neg[22], pp_22_55); - fullAdd_x FA_4400_4384(int_15_55, int_14_55, pp_20_55, pp_21_55, pp_22_55); - r4bs r4bs_4400_4600(yy[8], yy[9], single[23], double[23], neg[23], pp_23_55); - r4bs r4bs_4400_4728(yy[6], yy[7], single[24], double[24], neg[24], pp_24_55); - r4bs r4bs_4400_4856(yy[4], yy[5], single[25], double[25], neg[25], pp_25_55); - fullAdd_x FA_4400_4984(int_17_55, int_16_55, pp_23_55, pp_24_55, pp_25_55); - r4bs r4bs_4400_5200(yy[2], yy[3], single[26], double[26], neg[26], pp_26_55); - r4bs r4bs_4400_5328(yy[0], yy[1], single[27], double[27], neg[27], pp_27_55); - fullAdd_x FA_4400_5456(int_19_55, int_18_55, pp_26_55, pp_27_55, int_1_54); - fullAdd_x FA_4400_5672(int_21_55, int_20_55, int_3_54, int_5_54, int_7_54); - fullAdd_x FA_4400_5888(int_23_55, int_22_55, int_9_54, int_11_54, int_13_54); - fullAdd_x FA_4400_6104(int_25_55, int_24_55, int_15_54, int_17_54, int_19_54); - fullAdd_x FA_4400_6320(int_27_55, int_26_55, int_0_55, int_21_54, int_23_54); - fullAdd_x FA_4400_6536(int_29_55, int_28_55, int_25_54, int_2_55, int_4_55); - fullAdd_x FA_4400_6752(int_31_55, int_30_55, int_6_55, int_8_55, int_10_55); - fullAdd_x FA_4400_6968(int_33_55, int_32_55, int_12_55, int_14_55, int_16_55); - fullAdd_x FA_4400_7184(int_35_55, int_34_55, int_18_55, int_27_54, int_29_54); - fullAdd_x FA_4400_7400(int_37_55, int_36_55, int_31_54, int_33_54, int_20_55); - fullAdd_x FA_4400_7616(int_39_55, int_38_55, int_22_55, int_24_55, int_35_54); - fullAdd_x FA_4400_7832(int_41_55, int_40_55, int_37_54, int_26_55, int_28_55); - fullAdd_x FA_4400_8048(int_43_55, int_42_55, int_30_55, int_32_55, int_39_54); - fullAdd_x FA_4400_8264(int_45_55, int_44_55, int_41_54, int_43_54, int_34_55); - fullAdd_x FA_4400_8480(int_47_55, int_46_55, int_36_55, int_38_55, int_45_54); - fullAdd_x FA_4400_8696(int_49_55, int_48_55, int_40_55, int_42_55, int_47_54); - fullAdd_x FA_4400_8912(int_51_55, int_50_55, int_44_55, int_46_55, int_49_54); - fullAdd_x FA_4400_9128(int_53_55, int_52_55, int_48_55, int_51_54, int_50_55); - assign Sum[55] = int_53_54; - assign Carry[55] = int_52_55; - - // Hardware for column 56 - - r4bs r4bs_4480_64(yy[55], yy[56], single[0], double[0], neg[0], pp_0_56); - halfAdd HA_4480_192(int_1_56, int_0_56, neg[28], pp_0_56); - r4bs r4bs_4480_272(yy[53], yy[54], single[1], double[1], neg[1], pp_1_56); - r4bs r4bs_4480_400(yy[51], yy[52], single[2], double[2], neg[2], pp_2_56); - r4bs r4bs_4480_528(yy[49], yy[50], single[3], double[3], neg[3], pp_3_56); - fullAdd_x FA_4480_656(int_3_56, int_2_56, pp_1_56, pp_2_56, pp_3_56); - r4bs r4bs_4480_872(yy[47], yy[48], single[4], double[4], neg[4], pp_4_56); - r4bs r4bs_4480_1000(yy[45], yy[46], single[5], double[5], neg[5], pp_5_56); - r4bs r4bs_4480_1128(yy[43], yy[44], single[6], double[6], neg[6], pp_6_56); - fullAdd_x FA_4480_1256(int_5_56, int_4_56, pp_4_56, pp_5_56, pp_6_56); - r4bs r4bs_4480_1472(yy[41], yy[42], single[7], double[7], neg[7], pp_7_56); - r4bs r4bs_4480_1600(yy[39], yy[40], single[8], double[8], neg[8], pp_8_56); - r4bs r4bs_4480_1728(yy[37], yy[38], single[9], double[9], neg[9], pp_9_56); - fullAdd_x FA_4480_1856(int_7_56, int_6_56, pp_7_56, pp_8_56, pp_9_56); - r4bs r4bs_4480_2072(yy[35], yy[36], single[10], double[10], neg[10], pp_10_56); - r4bs r4bs_4480_2200(yy[33], yy[34], single[11], double[11], neg[11], pp_11_56); - r4bs r4bs_4480_2328(yy[31], yy[32], single[12], double[12], neg[12], pp_12_56); - fullAdd_x FA_4480_2456(int_9_56, int_8_56, pp_10_56, pp_11_56, pp_12_56); - r4bs r4bs_4480_2672(yy[29], yy[30], single[13], double[13], neg[13], pp_13_56); - r4bs r4bs_4480_2800(yy[27], yy[28], single[14], double[14], neg[14], pp_14_56); - r4bs r4bs_4480_2928(yy[25], yy[26], single[15], double[15], neg[15], pp_15_56); - fullAdd_x FA_4480_3056(int_11_56, int_10_56, pp_13_56, pp_14_56, pp_15_56); - r4bs r4bs_4480_3272(yy[23], yy[24], single[16], double[16], neg[16], pp_16_56); - r4bs r4bs_4480_3400(yy[21], yy[22], single[17], double[17], neg[17], pp_17_56); - r4bs r4bs_4480_3528(yy[19], yy[20], single[18], double[18], neg[18], pp_18_56); - fullAdd_x FA_4480_3656(int_13_56, int_12_56, pp_16_56, pp_17_56, pp_18_56); - r4bs r4bs_4480_3872(yy[17], yy[18], single[19], double[19], neg[19], pp_19_56); - r4bs r4bs_4480_4000(yy[15], yy[16], single[20], double[20], neg[20], pp_20_56); - r4bs r4bs_4480_4128(yy[13], yy[14], single[21], double[21], neg[21], pp_21_56); - fullAdd_x FA_4480_4256(int_15_56, int_14_56, pp_19_56, pp_20_56, pp_21_56); - r4bs r4bs_4480_4472(yy[11], yy[12], single[22], double[22], neg[22], pp_22_56); - r4bs r4bs_4480_4600(yy[9], yy[10], single[23], double[23], neg[23], pp_23_56); - r4bs r4bs_4480_4728(yy[7], yy[8], single[24], double[24], neg[24], pp_24_56); - fullAdd_x FA_4480_4856(int_17_56, int_16_56, pp_22_56, pp_23_56, pp_24_56); - r4bs r4bs_4480_5072(yy[5], yy[6], single[25], double[25], neg[25], pp_25_56); - r4bs r4bs_4480_5200(yy[3], yy[4], single[26], double[26], neg[26], pp_26_56); - r4bs r4bs_4480_5328(yy[1], yy[2], single[27], double[27], neg[27], pp_27_56); - fullAdd_x FA_4480_5456(int_19_56, int_18_56, pp_25_56, pp_26_56, pp_27_56); - r4bs r4bs_4480_5672(gnd, yy[0], single[28], double[28], neg[28], pp_28_56); - fullAdd_x FA_4480_5800(int_21_56, int_20_56, pp_28_56, int_1_55, int_3_55); - fullAdd_x FA_4480_6016(int_23_56, int_22_56, int_5_55, int_7_55, int_9_55); - fullAdd_x FA_4480_6232(int_25_56, int_24_56, int_11_55, int_13_55, int_15_55); - fullAdd_x FA_4480_6448(int_27_56, int_26_56, int_17_55, int_0_56, int_19_55); - fullAdd_x FA_4480_6664(int_29_56, int_28_56, int_21_55, int_23_55, int_25_55); - fullAdd_x FA_4480_6880(int_31_56, int_30_56, int_2_56, int_4_56, int_6_56); - fullAdd_x FA_4480_7096(int_33_56, int_32_56, int_8_56, int_10_56, int_12_56); - fullAdd_x FA_4480_7312(int_35_56, int_34_56, int_14_56, int_16_56, int_18_56); - fullAdd_x FA_4480_7528(int_37_56, int_36_56, int_20_56, int_27_55, int_29_55); - fullAdd_x FA_4480_7744(int_39_56, int_38_56, int_31_55, int_33_55, int_22_56); - fullAdd_x FA_4480_7960(int_41_56, int_40_56, int_24_56, int_26_56, int_35_55); - fullAdd_x FA_4480_8176(int_43_56, int_42_56, int_37_55, int_28_56, int_30_56); - fullAdd_x FA_4480_8392(int_45_56, int_44_56, int_32_56, int_34_56, int_39_55); - fullAdd_x FA_4480_8608(int_47_56, int_46_56, int_41_55, int_36_56, int_38_56); - fullAdd_x FA_4480_8824(int_49_56, int_48_56, int_40_56, int_43_55, int_45_55); - fullAdd_x FA_4480_9040(int_51_56, int_50_56, int_42_56, int_44_56, int_47_55); - fullAdd_x FA_4480_9256(int_53_56, int_52_56, int_46_56, int_48_56, int_49_55); - fullAdd_x FA_4480_9472(int_55_56, int_54_56, int_50_56, int_51_55, int_52_56); - assign Sum[56] = int_53_55; - assign Carry[56] = int_54_56; - - // Hardware for column 57 - - r4bs r4bs_4560_64(yy[56], yy[57], single[0], double[0], neg[0], pp_0_57); - r4bs r4bs_4560_192(yy[54], yy[55], single[1], double[1], neg[1], pp_1_57); - halfAdd HA_4560_320(int_1_57, int_0_57, pp_0_57, pp_1_57); - r4bs r4bs_4560_400(yy[52], yy[53], single[2], double[2], neg[2], pp_2_57); - r4bs r4bs_4560_528(yy[50], yy[51], single[3], double[3], neg[3], pp_3_57); - r4bs r4bs_4560_656(yy[48], yy[49], single[4], double[4], neg[4], pp_4_57); - fullAdd_x FA_4560_784(int_3_57, int_2_57, pp_2_57, pp_3_57, pp_4_57); - r4bs r4bs_4560_1000(yy[46], yy[47], single[5], double[5], neg[5], pp_5_57); - r4bs r4bs_4560_1128(yy[44], yy[45], single[6], double[6], neg[6], pp_6_57); - r4bs r4bs_4560_1256(yy[42], yy[43], single[7], double[7], neg[7], pp_7_57); - fullAdd_x FA_4560_1384(int_5_57, int_4_57, pp_5_57, pp_6_57, pp_7_57); - r4bs r4bs_4560_1600(yy[40], yy[41], single[8], double[8], neg[8], pp_8_57); - r4bs r4bs_4560_1728(yy[38], yy[39], single[9], double[9], neg[9], pp_9_57); - r4bs r4bs_4560_1856(yy[36], yy[37], single[10], double[10], neg[10], pp_10_57); - fullAdd_x FA_4560_1984(int_7_57, int_6_57, pp_8_57, pp_9_57, pp_10_57); - r4bs r4bs_4560_2200(yy[34], yy[35], single[11], double[11], neg[11], pp_11_57); - r4bs r4bs_4560_2328(yy[32], yy[33], single[12], double[12], neg[12], pp_12_57); - r4bs r4bs_4560_2456(yy[30], yy[31], single[13], double[13], neg[13], pp_13_57); - fullAdd_x FA_4560_2584(int_9_57, int_8_57, pp_11_57, pp_12_57, pp_13_57); - r4bs r4bs_4560_2800(yy[28], yy[29], single[14], double[14], neg[14], pp_14_57); - r4bs r4bs_4560_2928(yy[26], yy[27], single[15], double[15], neg[15], pp_15_57); - r4bs r4bs_4560_3056(yy[24], yy[25], single[16], double[16], neg[16], pp_16_57); - fullAdd_x FA_4560_3184(int_11_57, int_10_57, pp_14_57, pp_15_57, pp_16_57); - r4bs r4bs_4560_3400(yy[22], yy[23], single[17], double[17], neg[17], pp_17_57); - r4bs r4bs_4560_3528(yy[20], yy[21], single[18], double[18], neg[18], pp_18_57); - r4bs r4bs_4560_3656(yy[18], yy[19], single[19], double[19], neg[19], pp_19_57); - fullAdd_x FA_4560_3784(int_13_57, int_12_57, pp_17_57, pp_18_57, pp_19_57); - r4bs r4bs_4560_4000(yy[16], yy[17], single[20], double[20], neg[20], pp_20_57); - r4bs r4bs_4560_4128(yy[14], yy[15], single[21], double[21], neg[21], pp_21_57); - r4bs r4bs_4560_4256(yy[12], yy[13], single[22], double[22], neg[22], pp_22_57); - fullAdd_x FA_4560_4384(int_15_57, int_14_57, pp_20_57, pp_21_57, pp_22_57); - r4bs r4bs_4560_4600(yy[10], yy[11], single[23], double[23], neg[23], pp_23_57); - r4bs r4bs_4560_4728(yy[8], yy[9], single[24], double[24], neg[24], pp_24_57); - r4bs r4bs_4560_4856(yy[6], yy[7], single[25], double[25], neg[25], pp_25_57); - fullAdd_x FA_4560_4984(int_17_57, int_16_57, pp_23_57, pp_24_57, pp_25_57); - r4bs r4bs_4560_5200(yy[4], yy[5], single[26], double[26], neg[26], pp_26_57); - r4bs r4bs_4560_5328(yy[2], yy[3], single[27], double[27], neg[27], pp_27_57); - r4bs r4bs_4560_5456(yy[0], yy[1], single[28], double[28], neg[28], pp_28_57); - fullAdd_x FA_4560_5584(int_19_57, int_18_57, pp_26_57, pp_27_57, pp_28_57); - fullAdd_x FA_4560_5800(int_21_57, int_20_57, int_1_56, int_3_56, int_5_56); - fullAdd_x FA_4560_6016(int_23_57, int_22_57, int_7_56, int_9_56, int_11_56); - fullAdd_x FA_4560_6232(int_25_57, int_24_57, int_13_56, int_15_56, int_17_56); - fullAdd_x FA_4560_6448(int_27_57, int_26_57, int_19_56, int_0_57, int_21_56); - fullAdd_x FA_4560_6664(int_29_57, int_28_57, int_23_56, int_25_56, int_2_57); - fullAdd_x FA_4560_6880(int_31_57, int_30_57, int_4_57, int_6_57, int_8_57); - fullAdd_x FA_4560_7096(int_33_57, int_32_57, int_10_57, int_12_57, int_14_57); - fullAdd_x FA_4560_7312(int_35_57, int_34_57, int_16_57, int_18_57, int_27_56); - fullAdd_x FA_4560_7528(int_37_57, int_36_57, int_29_56, int_31_56, int_33_56); - fullAdd_x FA_4560_7744(int_39_57, int_38_57, int_35_56, int_20_57, int_22_57); - fullAdd_x FA_4560_7960(int_41_57, int_40_57, int_24_57, int_26_57, int_37_56); - fullAdd_x FA_4560_8176(int_43_57, int_42_57, int_39_56, int_28_57, int_30_57); - fullAdd_x FA_4560_8392(int_45_57, int_44_57, int_32_57, int_34_57, int_41_56); - fullAdd_x FA_4560_8608(int_47_57, int_46_57, int_43_56, int_36_57, int_38_57); - fullAdd_x FA_4560_8824(int_49_57, int_48_57, int_40_57, int_45_56, int_47_56); - fullAdd_x FA_4560_9040(int_51_57, int_50_57, int_42_57, int_44_57, int_49_56); - fullAdd_x FA_4560_9256(int_53_57, int_52_57, int_46_57, int_51_56, int_48_57); - fullAdd_x FA_4560_9472(int_55_57, int_54_57, int_50_57, int_53_56, int_52_57); - assign Sum[57] = int_55_56; - assign Carry[57] = int_54_57; - - // Hardware for column 58 - - r4bs r4bs_4640_64(yy[57], yy[58], single[0], double[0], neg[0], pp_0_58); - halfAdd HA_4640_192(int_1_58, int_0_58, neg[29], pp_0_58); - r4bs r4bs_4640_272(yy[55], yy[56], single[1], double[1], neg[1], pp_1_58); - r4bs r4bs_4640_400(yy[53], yy[54], single[2], double[2], neg[2], pp_2_58); - r4bs r4bs_4640_528(yy[51], yy[52], single[3], double[3], neg[3], pp_3_58); - fullAdd_x FA_4640_656(int_3_58, int_2_58, pp_1_58, pp_2_58, pp_3_58); - r4bs r4bs_4640_872(yy[49], yy[50], single[4], double[4], neg[4], pp_4_58); - r4bs r4bs_4640_1000(yy[47], yy[48], single[5], double[5], neg[5], pp_5_58); - r4bs r4bs_4640_1128(yy[45], yy[46], single[6], double[6], neg[6], pp_6_58); - fullAdd_x FA_4640_1256(int_5_58, int_4_58, pp_4_58, pp_5_58, pp_6_58); - r4bs r4bs_4640_1472(yy[43], yy[44], single[7], double[7], neg[7], pp_7_58); - r4bs r4bs_4640_1600(yy[41], yy[42], single[8], double[8], neg[8], pp_8_58); - r4bs r4bs_4640_1728(yy[39], yy[40], single[9], double[9], neg[9], pp_9_58); - fullAdd_x FA_4640_1856(int_7_58, int_6_58, pp_7_58, pp_8_58, pp_9_58); - r4bs r4bs_4640_2072(yy[37], yy[38], single[10], double[10], neg[10], pp_10_58); - r4bs r4bs_4640_2200(yy[35], yy[36], single[11], double[11], neg[11], pp_11_58); - r4bs r4bs_4640_2328(yy[33], yy[34], single[12], double[12], neg[12], pp_12_58); - fullAdd_x FA_4640_2456(int_9_58, int_8_58, pp_10_58, pp_11_58, pp_12_58); - r4bs r4bs_4640_2672(yy[31], yy[32], single[13], double[13], neg[13], pp_13_58); - r4bs r4bs_4640_2800(yy[29], yy[30], single[14], double[14], neg[14], pp_14_58); - r4bs r4bs_4640_2928(yy[27], yy[28], single[15], double[15], neg[15], pp_15_58); - fullAdd_x FA_4640_3056(int_11_58, int_10_58, pp_13_58, pp_14_58, pp_15_58); - r4bs r4bs_4640_3272(yy[25], yy[26], single[16], double[16], neg[16], pp_16_58); - r4bs r4bs_4640_3400(yy[23], yy[24], single[17], double[17], neg[17], pp_17_58); - r4bs r4bs_4640_3528(yy[21], yy[22], single[18], double[18], neg[18], pp_18_58); - fullAdd_x FA_4640_3656(int_13_58, int_12_58, pp_16_58, pp_17_58, pp_18_58); - r4bs r4bs_4640_3872(yy[19], yy[20], single[19], double[19], neg[19], pp_19_58); - r4bs r4bs_4640_4000(yy[17], yy[18], single[20], double[20], neg[20], pp_20_58); - r4bs r4bs_4640_4128(yy[15], yy[16], single[21], double[21], neg[21], pp_21_58); - fullAdd_x FA_4640_4256(int_15_58, int_14_58, pp_19_58, pp_20_58, pp_21_58); - r4bs r4bs_4640_4472(yy[13], yy[14], single[22], double[22], neg[22], pp_22_58); - r4bs r4bs_4640_4600(yy[11], yy[12], single[23], double[23], neg[23], pp_23_58); - r4bs r4bs_4640_4728(yy[9], yy[10], single[24], double[24], neg[24], pp_24_58); - fullAdd_x FA_4640_4856(int_17_58, int_16_58, pp_22_58, pp_23_58, pp_24_58); - r4bs r4bs_4640_5072(yy[7], yy[8], single[25], double[25], neg[25], pp_25_58); - r4bs r4bs_4640_5200(yy[5], yy[6], single[26], double[26], neg[26], pp_26_58); - r4bs r4bs_4640_5328(yy[3], yy[4], single[27], double[27], neg[27], pp_27_58); - fullAdd_x FA_4640_5456(int_19_58, int_18_58, pp_25_58, pp_26_58, pp_27_58); - r4bs r4bs_4640_5672(yy[1], yy[2], single[28], double[28], neg[28], pp_28_58); - r4bs r4bs_4640_5800(gnd, yy[0], single[29], double[29], neg[29], pp_29_58); - fullAdd_x FA_4640_5928(int_21_58, int_20_58, pp_28_58, pp_29_58, int_1_57); - fullAdd_x FA_4640_6144(int_23_58, int_22_58, int_3_57, int_5_57, int_7_57); - fullAdd_x FA_4640_6360(int_25_58, int_24_58, int_9_57, int_11_57, int_13_57); - fullAdd_x FA_4640_6576(int_27_58, int_26_58, int_15_57, int_17_57, int_19_57); - fullAdd_x FA_4640_6792(int_29_58, int_28_58, int_0_58, int_21_57, int_23_57); - fullAdd_x FA_4640_7008(int_31_58, int_30_58, int_25_57, int_2_58, int_4_58); - fullAdd_x FA_4640_7224(int_33_58, int_32_58, int_6_58, int_8_58, int_10_58); - fullAdd_x FA_4640_7440(int_35_58, int_34_58, int_12_58, int_14_58, int_16_58); - fullAdd_x FA_4640_7656(int_37_58, int_36_58, int_18_58, int_20_58, int_27_57); - fullAdd_x FA_4640_7872(int_39_58, int_38_58, int_29_57, int_31_57, int_33_57); - fullAdd_x FA_4640_8088(int_41_58, int_40_58, int_22_58, int_24_58, int_26_58); - fullAdd_x FA_4640_8304(int_43_58, int_42_58, int_35_57, int_37_57, int_39_57); - fullAdd_x FA_4640_8520(int_45_58, int_44_58, int_28_58, int_30_58, int_32_58); - fullAdd_x FA_4640_8736(int_47_58, int_46_58, int_34_58, int_36_58, int_41_57); - fullAdd_x FA_4640_8952(int_49_58, int_48_58, int_43_57, int_38_58, int_40_58); - fullAdd_x FA_4640_9168(int_51_58, int_50_58, int_45_57, int_47_57, int_42_58); - fullAdd_x FA_4640_9384(int_53_58, int_52_58, int_44_58, int_46_58, int_49_57); - fullAdd_x FA_4640_9600(int_55_58, int_54_58, int_48_58, int_51_57, int_50_58); - fullAdd_x FA_4640_9816(int_57_58, int_56_58, int_52_58, int_53_57, int_54_58); - assign Sum[58] = int_55_57; - assign Carry[58] = int_56_58; - - // Hardware for column 59 - - r4bs r4bs_4720_64(yy[58], yy[59], single[0], double[0], neg[0], pp_0_59); - r4bs r4bs_4720_192(yy[56], yy[57], single[1], double[1], neg[1], pp_1_59); - halfAdd HA_4720_320(int_1_59, int_0_59, pp_0_59, pp_1_59); - r4bs r4bs_4720_400(yy[54], yy[55], single[2], double[2], neg[2], pp_2_59); - r4bs r4bs_4720_528(yy[52], yy[53], single[3], double[3], neg[3], pp_3_59); - r4bs r4bs_4720_656(yy[50], yy[51], single[4], double[4], neg[4], pp_4_59); - fullAdd_x FA_4720_784(int_3_59, int_2_59, pp_2_59, pp_3_59, pp_4_59); - r4bs r4bs_4720_1000(yy[48], yy[49], single[5], double[5], neg[5], pp_5_59); - r4bs r4bs_4720_1128(yy[46], yy[47], single[6], double[6], neg[6], pp_6_59); - r4bs r4bs_4720_1256(yy[44], yy[45], single[7], double[7], neg[7], pp_7_59); - fullAdd_x FA_4720_1384(int_5_59, int_4_59, pp_5_59, pp_6_59, pp_7_59); - r4bs r4bs_4720_1600(yy[42], yy[43], single[8], double[8], neg[8], pp_8_59); - r4bs r4bs_4720_1728(yy[40], yy[41], single[9], double[9], neg[9], pp_9_59); - r4bs r4bs_4720_1856(yy[38], yy[39], single[10], double[10], neg[10], pp_10_59); - fullAdd_x FA_4720_1984(int_7_59, int_6_59, pp_8_59, pp_9_59, pp_10_59); - r4bs r4bs_4720_2200(yy[36], yy[37], single[11], double[11], neg[11], pp_11_59); - r4bs r4bs_4720_2328(yy[34], yy[35], single[12], double[12], neg[12], pp_12_59); - r4bs r4bs_4720_2456(yy[32], yy[33], single[13], double[13], neg[13], pp_13_59); - fullAdd_x FA_4720_2584(int_9_59, int_8_59, pp_11_59, pp_12_59, pp_13_59); - r4bs r4bs_4720_2800(yy[30], yy[31], single[14], double[14], neg[14], pp_14_59); - r4bs r4bs_4720_2928(yy[28], yy[29], single[15], double[15], neg[15], pp_15_59); - r4bs r4bs_4720_3056(yy[26], yy[27], single[16], double[16], neg[16], pp_16_59); - fullAdd_x FA_4720_3184(int_11_59, int_10_59, pp_14_59, pp_15_59, pp_16_59); - r4bs r4bs_4720_3400(yy[24], yy[25], single[17], double[17], neg[17], pp_17_59); - r4bs r4bs_4720_3528(yy[22], yy[23], single[18], double[18], neg[18], pp_18_59); - r4bs r4bs_4720_3656(yy[20], yy[21], single[19], double[19], neg[19], pp_19_59); - fullAdd_x FA_4720_3784(int_13_59, int_12_59, pp_17_59, pp_18_59, pp_19_59); - r4bs r4bs_4720_4000(yy[18], yy[19], single[20], double[20], neg[20], pp_20_59); - r4bs r4bs_4720_4128(yy[16], yy[17], single[21], double[21], neg[21], pp_21_59); - r4bs r4bs_4720_4256(yy[14], yy[15], single[22], double[22], neg[22], pp_22_59); - fullAdd_x FA_4720_4384(int_15_59, int_14_59, pp_20_59, pp_21_59, pp_22_59); - r4bs r4bs_4720_4600(yy[12], yy[13], single[23], double[23], neg[23], pp_23_59); - r4bs r4bs_4720_4728(yy[10], yy[11], single[24], double[24], neg[24], pp_24_59); - r4bs r4bs_4720_4856(yy[8], yy[9], single[25], double[25], neg[25], pp_25_59); - fullAdd_x FA_4720_4984(int_17_59, int_16_59, pp_23_59, pp_24_59, pp_25_59); - r4bs r4bs_4720_5200(yy[6], yy[7], single[26], double[26], neg[26], pp_26_59); - r4bs r4bs_4720_5328(yy[4], yy[5], single[27], double[27], neg[27], pp_27_59); - r4bs r4bs_4720_5456(yy[2], yy[3], single[28], double[28], neg[28], pp_28_59); - fullAdd_x FA_4720_5584(int_19_59, int_18_59, pp_26_59, pp_27_59, pp_28_59); - r4bs r4bs_4720_5800(yy[0], yy[1], single[29], double[29], neg[29], pp_29_59); - fullAdd_x FA_4720_5928(int_21_59, int_20_59, pp_29_59, int_1_58, int_3_58); - fullAdd_x FA_4720_6144(int_23_59, int_22_59, int_5_58, int_7_58, int_9_58); - fullAdd_x FA_4720_6360(int_25_59, int_24_59, int_11_58, int_13_58, int_15_58); - fullAdd_x FA_4720_6576(int_27_59, int_26_59, int_17_58, int_19_58, int_0_59); - fullAdd_x FA_4720_6792(int_29_59, int_28_59, int_21_58, int_23_58, int_25_58); - fullAdd_x FA_4720_7008(int_31_59, int_30_59, int_27_58, int_2_59, int_4_59); - fullAdd_x FA_4720_7224(int_33_59, int_32_59, int_6_59, int_8_59, int_10_59); - fullAdd_x FA_4720_7440(int_35_59, int_34_59, int_12_59, int_14_59, int_16_59); - fullAdd_x FA_4720_7656(int_37_59, int_36_59, int_18_59, int_20_59, int_29_58); - fullAdd_x FA_4720_7872(int_39_59, int_38_59, int_31_58, int_33_58, int_35_58); - fullAdd_x FA_4720_8088(int_41_59, int_40_59, int_22_59, int_24_59, int_26_59); - fullAdd_x FA_4720_8304(int_43_59, int_42_59, int_37_58, int_39_58, int_41_58); - fullAdd_x FA_4720_8520(int_45_59, int_44_59, int_28_59, int_30_59, int_32_59); - fullAdd_x FA_4720_8736(int_47_59, int_46_59, int_34_59, int_36_59, int_43_58); - fullAdd_x FA_4720_8952(int_49_59, int_48_59, int_45_58, int_38_59, int_40_59); - fullAdd_x FA_4720_9168(int_51_59, int_50_59, int_47_58, int_49_58, int_42_59); - fullAdd_x FA_4720_9384(int_53_59, int_52_59, int_44_59, int_46_59, int_51_58); - fullAdd_x FA_4720_9600(int_55_59, int_54_59, int_48_59, int_53_58, int_50_59); - fullAdd_x FA_4720_9816(int_57_59, int_56_59, int_52_59, int_55_58, int_54_59); - assign Sum[59] = int_57_58; - assign Carry[59] = int_56_59; - - // Hardware for column 60 - - r4bs r4bs_4800_64(yy[59], yy[60], single[0], double[0], neg[0], pp_0_60); - halfAdd HA_4800_192(int_1_60, int_0_60, neg[30], pp_0_60); - r4bs r4bs_4800_272(yy[57], yy[58], single[1], double[1], neg[1], pp_1_60); - r4bs r4bs_4800_400(yy[55], yy[56], single[2], double[2], neg[2], pp_2_60); - r4bs r4bs_4800_528(yy[53], yy[54], single[3], double[3], neg[3], pp_3_60); - fullAdd_x FA_4800_656(int_3_60, int_2_60, pp_1_60, pp_2_60, pp_3_60); - r4bs r4bs_4800_872(yy[51], yy[52], single[4], double[4], neg[4], pp_4_60); - r4bs r4bs_4800_1000(yy[49], yy[50], single[5], double[5], neg[5], pp_5_60); - r4bs r4bs_4800_1128(yy[47], yy[48], single[6], double[6], neg[6], pp_6_60); - fullAdd_x FA_4800_1256(int_5_60, int_4_60, pp_4_60, pp_5_60, pp_6_60); - r4bs r4bs_4800_1472(yy[45], yy[46], single[7], double[7], neg[7], pp_7_60); - r4bs r4bs_4800_1600(yy[43], yy[44], single[8], double[8], neg[8], pp_8_60); - r4bs r4bs_4800_1728(yy[41], yy[42], single[9], double[9], neg[9], pp_9_60); - fullAdd_x FA_4800_1856(int_7_60, int_6_60, pp_7_60, pp_8_60, pp_9_60); - r4bs r4bs_4800_2072(yy[39], yy[40], single[10], double[10], neg[10], pp_10_60); - r4bs r4bs_4800_2200(yy[37], yy[38], single[11], double[11], neg[11], pp_11_60); - r4bs r4bs_4800_2328(yy[35], yy[36], single[12], double[12], neg[12], pp_12_60); - fullAdd_x FA_4800_2456(int_9_60, int_8_60, pp_10_60, pp_11_60, pp_12_60); - r4bs r4bs_4800_2672(yy[33], yy[34], single[13], double[13], neg[13], pp_13_60); - r4bs r4bs_4800_2800(yy[31], yy[32], single[14], double[14], neg[14], pp_14_60); - r4bs r4bs_4800_2928(yy[29], yy[30], single[15], double[15], neg[15], pp_15_60); - fullAdd_x FA_4800_3056(int_11_60, int_10_60, pp_13_60, pp_14_60, pp_15_60); - r4bs r4bs_4800_3272(yy[27], yy[28], single[16], double[16], neg[16], pp_16_60); - r4bs r4bs_4800_3400(yy[25], yy[26], single[17], double[17], neg[17], pp_17_60); - r4bs r4bs_4800_3528(yy[23], yy[24], single[18], double[18], neg[18], pp_18_60); - fullAdd_x FA_4800_3656(int_13_60, int_12_60, pp_16_60, pp_17_60, pp_18_60); - r4bs r4bs_4800_3872(yy[21], yy[22], single[19], double[19], neg[19], pp_19_60); - r4bs r4bs_4800_4000(yy[19], yy[20], single[20], double[20], neg[20], pp_20_60); - r4bs r4bs_4800_4128(yy[17], yy[18], single[21], double[21], neg[21], pp_21_60); - fullAdd_x FA_4800_4256(int_15_60, int_14_60, pp_19_60, pp_20_60, pp_21_60); - r4bs r4bs_4800_4472(yy[15], yy[16], single[22], double[22], neg[22], pp_22_60); - r4bs r4bs_4800_4600(yy[13], yy[14], single[23], double[23], neg[23], pp_23_60); - r4bs r4bs_4800_4728(yy[11], yy[12], single[24], double[24], neg[24], pp_24_60); - fullAdd_x FA_4800_4856(int_17_60, int_16_60, pp_22_60, pp_23_60, pp_24_60); - r4bs r4bs_4800_5072(yy[9], yy[10], single[25], double[25], neg[25], pp_25_60); - r4bs r4bs_4800_5200(yy[7], yy[8], single[26], double[26], neg[26], pp_26_60); - r4bs r4bs_4800_5328(yy[5], yy[6], single[27], double[27], neg[27], pp_27_60); - fullAdd_x FA_4800_5456(int_19_60, int_18_60, pp_25_60, pp_26_60, pp_27_60); - r4bs r4bs_4800_5672(yy[3], yy[4], single[28], double[28], neg[28], pp_28_60); - r4bs r4bs_4800_5800(yy[1], yy[2], single[29], double[29], neg[29], pp_29_60); - r4bs r4bs_4800_5928(gnd, yy[0], single[30], double[30], neg[30], pp_30_60); - fullAdd_x FA_4800_6056(int_21_60, int_20_60, pp_28_60, pp_29_60, pp_30_60); - fullAdd_x FA_4800_6272(int_23_60, int_22_60, int_1_59, int_3_59, int_5_59); - fullAdd_x FA_4800_6488(int_25_60, int_24_60, int_7_59, int_9_59, int_11_59); - fullAdd_x FA_4800_6704(int_27_60, int_26_60, int_13_59, int_15_59, int_17_59); - fullAdd_x FA_4800_6920(int_29_60, int_28_60, int_19_59, int_0_60, int_21_59); - fullAdd_x FA_4800_7136(int_31_60, int_30_60, int_23_59, int_25_59, int_27_59); - fullAdd_x FA_4800_7352(int_33_60, int_32_60, int_2_60, int_4_60, int_6_60); - fullAdd_x FA_4800_7568(int_35_60, int_34_60, int_8_60, int_10_60, int_12_60); - fullAdd_x FA_4800_7784(int_37_60, int_36_60, int_14_60, int_16_60, int_18_60); - fullAdd_x FA_4800_8000(int_39_60, int_38_60, int_20_60, int_29_59, int_31_59); - fullAdd_x FA_4800_8216(int_41_60, int_40_60, int_33_59, int_35_59, int_22_60); - fullAdd_x FA_4800_8432(int_43_60, int_42_60, int_24_60, int_26_60, int_28_60); - fullAdd_x FA_4800_8648(int_45_60, int_44_60, int_37_59, int_39_59, int_41_59); - fullAdd_x FA_4800_8864(int_47_60, int_46_60, int_30_60, int_32_60, int_34_60); - fullAdd_x FA_4800_9080(int_49_60, int_48_60, int_36_60, int_43_59, int_45_59); - fullAdd_x FA_4800_9296(int_51_60, int_50_60, int_38_60, int_40_60, int_42_60); - fullAdd_x FA_4800_9512(int_53_60, int_52_60, int_47_59, int_49_59, int_44_60); - fullAdd_x FA_4800_9728(int_55_60, int_54_60, int_46_60, int_51_59, int_48_60); - fullAdd_x FA_4800_9944(int_57_60, int_56_60, int_50_60, int_53_59, int_52_60); - fullAdd_x FA_4800_10160(int_59_60, int_58_60, int_55_59, int_54_60, int_56_60); - assign Sum[60] = int_57_59; - assign Carry[60] = int_58_60; - - // Hardware for column 61 - - r4bs r4bs_4880_64(yy[60], yy[61], single[0], double[0], neg[0], pp_0_61); - r4bs r4bs_4880_192(yy[58], yy[59], single[1], double[1], neg[1], pp_1_61); - halfAdd HA_4880_320(int_1_61, int_0_61, pp_0_61, pp_1_61); - r4bs r4bs_4880_400(yy[56], yy[57], single[2], double[2], neg[2], pp_2_61); - r4bs r4bs_4880_528(yy[54], yy[55], single[3], double[3], neg[3], pp_3_61); - r4bs r4bs_4880_656(yy[52], yy[53], single[4], double[4], neg[4], pp_4_61); - fullAdd_x FA_4880_784(int_3_61, int_2_61, pp_2_61, pp_3_61, pp_4_61); - r4bs r4bs_4880_1000(yy[50], yy[51], single[5], double[5], neg[5], pp_5_61); - r4bs r4bs_4880_1128(yy[48], yy[49], single[6], double[6], neg[6], pp_6_61); - r4bs r4bs_4880_1256(yy[46], yy[47], single[7], double[7], neg[7], pp_7_61); - fullAdd_x FA_4880_1384(int_5_61, int_4_61, pp_5_61, pp_6_61, pp_7_61); - r4bs r4bs_4880_1600(yy[44], yy[45], single[8], double[8], neg[8], pp_8_61); - r4bs r4bs_4880_1728(yy[42], yy[43], single[9], double[9], neg[9], pp_9_61); - r4bs r4bs_4880_1856(yy[40], yy[41], single[10], double[10], neg[10], pp_10_61); - fullAdd_x FA_4880_1984(int_7_61, int_6_61, pp_8_61, pp_9_61, pp_10_61); - r4bs r4bs_4880_2200(yy[38], yy[39], single[11], double[11], neg[11], pp_11_61); - r4bs r4bs_4880_2328(yy[36], yy[37], single[12], double[12], neg[12], pp_12_61); - r4bs r4bs_4880_2456(yy[34], yy[35], single[13], double[13], neg[13], pp_13_61); - fullAdd_x FA_4880_2584(int_9_61, int_8_61, pp_11_61, pp_12_61, pp_13_61); - r4bs r4bs_4880_2800(yy[32], yy[33], single[14], double[14], neg[14], pp_14_61); - r4bs r4bs_4880_2928(yy[30], yy[31], single[15], double[15], neg[15], pp_15_61); - r4bs r4bs_4880_3056(yy[28], yy[29], single[16], double[16], neg[16], pp_16_61); - fullAdd_x FA_4880_3184(int_11_61, int_10_61, pp_14_61, pp_15_61, pp_16_61); - r4bs r4bs_4880_3400(yy[26], yy[27], single[17], double[17], neg[17], pp_17_61); - r4bs r4bs_4880_3528(yy[24], yy[25], single[18], double[18], neg[18], pp_18_61); - r4bs r4bs_4880_3656(yy[22], yy[23], single[19], double[19], neg[19], pp_19_61); - fullAdd_x FA_4880_3784(int_13_61, int_12_61, pp_17_61, pp_18_61, pp_19_61); - r4bs r4bs_4880_4000(yy[20], yy[21], single[20], double[20], neg[20], pp_20_61); - r4bs r4bs_4880_4128(yy[18], yy[19], single[21], double[21], neg[21], pp_21_61); - r4bs r4bs_4880_4256(yy[16], yy[17], single[22], double[22], neg[22], pp_22_61); - fullAdd_x FA_4880_4384(int_15_61, int_14_61, pp_20_61, pp_21_61, pp_22_61); - r4bs r4bs_4880_4600(yy[14], yy[15], single[23], double[23], neg[23], pp_23_61); - r4bs r4bs_4880_4728(yy[12], yy[13], single[24], double[24], neg[24], pp_24_61); - r4bs r4bs_4880_4856(yy[10], yy[11], single[25], double[25], neg[25], pp_25_61); - fullAdd_x FA_4880_4984(int_17_61, int_16_61, pp_23_61, pp_24_61, pp_25_61); - r4bs r4bs_4880_5200(yy[8], yy[9], single[26], double[26], neg[26], pp_26_61); - r4bs r4bs_4880_5328(yy[6], yy[7], single[27], double[27], neg[27], pp_27_61); - r4bs r4bs_4880_5456(yy[4], yy[5], single[28], double[28], neg[28], pp_28_61); - fullAdd_x FA_4880_5584(int_19_61, int_18_61, pp_26_61, pp_27_61, pp_28_61); - r4bs r4bs_4880_5800(yy[2], yy[3], single[29], double[29], neg[29], pp_29_61); - r4bs r4bs_4880_5928(yy[0], yy[1], single[30], double[30], neg[30], pp_30_61); - fullAdd_x FA_4880_6056(int_21_61, int_20_61, pp_29_61, pp_30_61, int_1_60); - fullAdd_x FA_4880_6272(int_23_61, int_22_61, int_3_60, int_5_60, int_7_60); - fullAdd_x FA_4880_6488(int_25_61, int_24_61, int_9_60, int_11_60, int_13_60); - fullAdd_x FA_4880_6704(int_27_61, int_26_61, int_15_60, int_17_60, int_19_60); - fullAdd_x FA_4880_6920(int_29_61, int_28_61, int_21_60, int_0_61, int_23_60); - fullAdd_x FA_4880_7136(int_31_61, int_30_61, int_25_60, int_27_60, int_2_61); - fullAdd_x FA_4880_7352(int_33_61, int_32_61, int_4_61, int_6_61, int_8_61); - fullAdd_x FA_4880_7568(int_35_61, int_34_61, int_10_61, int_12_61, int_14_61); - fullAdd_x FA_4880_7784(int_37_61, int_36_61, int_16_61, int_18_61, int_20_61); - fullAdd_x FA_4880_8000(int_39_61, int_38_61, int_29_60, int_31_60, int_33_60); - fullAdd_x FA_4880_8216(int_41_61, int_40_61, int_35_60, int_37_60, int_22_61); - fullAdd_x FA_4880_8432(int_43_61, int_42_61, int_24_61, int_26_61, int_28_61); - fullAdd_x FA_4880_8648(int_45_61, int_44_61, int_39_60, int_41_60, int_43_60); - fullAdd_x FA_4880_8864(int_47_61, int_46_61, int_30_61, int_32_61, int_34_61); - fullAdd_x FA_4880_9080(int_49_61, int_48_61, int_36_61, int_45_60, int_47_60); - fullAdd_x FA_4880_9296(int_51_61, int_50_61, int_38_61, int_40_61, int_42_61); - fullAdd_x FA_4880_9512(int_53_61, int_52_61, int_49_60, int_51_60, int_44_61); - fullAdd_x FA_4880_9728(int_55_61, int_54_61, int_46_61, int_53_60, int_48_61); - fullAdd_x FA_4880_9944(int_57_61, int_56_61, int_50_61, int_55_60, int_52_61); - fullAdd_x FA_4880_10160(int_59_61, int_58_61, int_57_60, int_54_61, int_56_61); - assign Sum[61] = int_59_60; - assign Carry[61] = int_58_61; - - // Hardware for column 62 - - r4bs r4bs_4960_64(yy[61], yy[62], single[0], double[0], neg[0], pp_0_62); - halfAdd HA_4960_192(int_1_62, int_0_62, neg[31], pp_0_62); - r4bs r4bs_4960_272(yy[59], yy[60], single[1], double[1], neg[1], pp_1_62); - r4bs r4bs_4960_400(yy[57], yy[58], single[2], double[2], neg[2], pp_2_62); - r4bs r4bs_4960_528(yy[55], yy[56], single[3], double[3], neg[3], pp_3_62); - fullAdd_x FA_4960_656(int_3_62, int_2_62, pp_1_62, pp_2_62, pp_3_62); - r4bs r4bs_4960_872(yy[53], yy[54], single[4], double[4], neg[4], pp_4_62); - r4bs r4bs_4960_1000(yy[51], yy[52], single[5], double[5], neg[5], pp_5_62); - r4bs r4bs_4960_1128(yy[49], yy[50], single[6], double[6], neg[6], pp_6_62); - fullAdd_x FA_4960_1256(int_5_62, int_4_62, pp_4_62, pp_5_62, pp_6_62); - r4bs r4bs_4960_1472(yy[47], yy[48], single[7], double[7], neg[7], pp_7_62); - r4bs r4bs_4960_1600(yy[45], yy[46], single[8], double[8], neg[8], pp_8_62); - r4bs r4bs_4960_1728(yy[43], yy[44], single[9], double[9], neg[9], pp_9_62); - fullAdd_x FA_4960_1856(int_7_62, int_6_62, pp_7_62, pp_8_62, pp_9_62); - r4bs r4bs_4960_2072(yy[41], yy[42], single[10], double[10], neg[10], pp_10_62); - r4bs r4bs_4960_2200(yy[39], yy[40], single[11], double[11], neg[11], pp_11_62); - r4bs r4bs_4960_2328(yy[37], yy[38], single[12], double[12], neg[12], pp_12_62); - fullAdd_x FA_4960_2456(int_9_62, int_8_62, pp_10_62, pp_11_62, pp_12_62); - r4bs r4bs_4960_2672(yy[35], yy[36], single[13], double[13], neg[13], pp_13_62); - r4bs r4bs_4960_2800(yy[33], yy[34], single[14], double[14], neg[14], pp_14_62); - r4bs r4bs_4960_2928(yy[31], yy[32], single[15], double[15], neg[15], pp_15_62); - fullAdd_x FA_4960_3056(int_11_62, int_10_62, pp_13_62, pp_14_62, pp_15_62); - r4bs r4bs_4960_3272(yy[29], yy[30], single[16], double[16], neg[16], pp_16_62); - r4bs r4bs_4960_3400(yy[27], yy[28], single[17], double[17], neg[17], pp_17_62); - r4bs r4bs_4960_3528(yy[25], yy[26], single[18], double[18], neg[18], pp_18_62); - fullAdd_x FA_4960_3656(int_13_62, int_12_62, pp_16_62, pp_17_62, pp_18_62); - r4bs r4bs_4960_3872(yy[23], yy[24], single[19], double[19], neg[19], pp_19_62); - r4bs r4bs_4960_4000(yy[21], yy[22], single[20], double[20], neg[20], pp_20_62); - r4bs r4bs_4960_4128(yy[19], yy[20], single[21], double[21], neg[21], pp_21_62); - fullAdd_x FA_4960_4256(int_15_62, int_14_62, pp_19_62, pp_20_62, pp_21_62); - r4bs r4bs_4960_4472(yy[17], yy[18], single[22], double[22], neg[22], pp_22_62); - r4bs r4bs_4960_4600(yy[15], yy[16], single[23], double[23], neg[23], pp_23_62); - r4bs r4bs_4960_4728(yy[13], yy[14], single[24], double[24], neg[24], pp_24_62); - fullAdd_x FA_4960_4856(int_17_62, int_16_62, pp_22_62, pp_23_62, pp_24_62); - r4bs r4bs_4960_5072(yy[11], yy[12], single[25], double[25], neg[25], pp_25_62); - r4bs r4bs_4960_5200(yy[9], yy[10], single[26], double[26], neg[26], pp_26_62); - r4bs r4bs_4960_5328(yy[7], yy[8], single[27], double[27], neg[27], pp_27_62); - fullAdd_x FA_4960_5456(int_19_62, int_18_62, pp_25_62, pp_26_62, pp_27_62); - r4bs r4bs_4960_5672(yy[5], yy[6], single[28], double[28], neg[28], pp_28_62); - r4bs r4bs_4960_5800(yy[3], yy[4], single[29], double[29], neg[29], pp_29_62); - r4bs r4bs_4960_5928(yy[1], yy[2], single[30], double[30], neg[30], pp_30_62); - fullAdd_x FA_4960_6056(int_21_62, int_20_62, pp_28_62, pp_29_62, pp_30_62); - r4bs r4bs_4960_6272(gnd, yy[0], single[31], double[31], neg[31], pp_31_62); - fullAdd_x FA_4960_6400(int_23_62, int_22_62, pp_31_62, int_1_61, int_3_61); - fullAdd_x FA_4960_6616(int_25_62, int_24_62, int_5_61, int_7_61, int_9_61); - fullAdd_x FA_4960_6832(int_27_62, int_26_62, int_11_61, int_13_61, int_15_61); - fullAdd_x FA_4960_7048(int_29_62, int_28_62, int_17_61, int_19_61, int_0_62); - fullAdd_x FA_4960_7264(int_31_62, int_30_62, int_21_61, int_23_61, int_25_61); - fullAdd_x FA_4960_7480(int_33_62, int_32_62, int_27_61, int_2_62, int_4_62); - fullAdd_x FA_4960_7696(int_35_62, int_34_62, int_6_62, int_8_62, int_10_62); - fullAdd_x FA_4960_7912(int_37_62, int_36_62, int_12_62, int_14_62, int_16_62); - fullAdd_x FA_4960_8128(int_39_62, int_38_62, int_18_62, int_20_62, int_22_62); - fullAdd_x FA_4960_8344(int_41_62, int_40_62, int_29_61, int_31_61, int_33_61); - fullAdd_x FA_4960_8560(int_43_62, int_42_62, int_35_61, int_37_61, int_24_62); - fullAdd_x FA_4960_8776(int_45_62, int_44_62, int_26_62, int_28_62, int_39_61); - fullAdd_x FA_4960_8992(int_47_62, int_46_62, int_41_61, int_43_61, int_30_62); - fullAdd_x FA_4960_9208(int_49_62, int_48_62, int_32_62, int_34_62, int_36_62); - fullAdd_x FA_4960_9424(int_51_62, int_50_62, int_38_62, int_45_61, int_47_61); - fullAdd_x FA_4960_9640(int_53_62, int_52_62, int_40_62, int_42_62, int_44_62); - fullAdd_x FA_4960_9856(int_55_62, int_54_62, int_49_61, int_51_61, int_46_62); - fullAdd_x FA_4960_10072(int_57_62, int_56_62, int_48_62, int_53_61, int_50_62); - fullAdd_x FA_4960_10288(int_59_62, int_58_62, int_52_62, int_55_61, int_54_62); - fullAdd_x FA_4960_10504(int_61_62, int_60_62, int_57_61, int_56_62, int_58_62); - assign Sum[62] = int_59_61; - assign Carry[62] = int_60_62; - - // Hardware for column 63 - - r4bs r4bs_5040_64(yy[62], yy[63], single[0], double[0], neg[0], pp_0_63); - r4bs r4bs_5040_192(yy[60], yy[61], single[1], double[1], neg[1], pp_1_63); - halfAdd HA_5040_320(int_1_63, int_0_63, pp_0_63, pp_1_63); - r4bs r4bs_5040_400(yy[58], yy[59], single[2], double[2], neg[2], pp_2_63); - r4bs r4bs_5040_528(yy[56], yy[57], single[3], double[3], neg[3], pp_3_63); - r4bs r4bs_5040_656(yy[54], yy[55], single[4], double[4], neg[4], pp_4_63); - fullAdd_x FA_5040_784(int_3_63, int_2_63, pp_2_63, pp_3_63, pp_4_63); - r4bs r4bs_5040_1000(yy[52], yy[53], single[5], double[5], neg[5], pp_5_63); - r4bs r4bs_5040_1128(yy[50], yy[51], single[6], double[6], neg[6], pp_6_63); - r4bs r4bs_5040_1256(yy[48], yy[49], single[7], double[7], neg[7], pp_7_63); - fullAdd_x FA_5040_1384(int_5_63, int_4_63, pp_5_63, pp_6_63, pp_7_63); - r4bs r4bs_5040_1600(yy[46], yy[47], single[8], double[8], neg[8], pp_8_63); - r4bs r4bs_5040_1728(yy[44], yy[45], single[9], double[9], neg[9], pp_9_63); - r4bs r4bs_5040_1856(yy[42], yy[43], single[10], double[10], neg[10], pp_10_63); - fullAdd_x FA_5040_1984(int_7_63, int_6_63, pp_8_63, pp_9_63, pp_10_63); - r4bs r4bs_5040_2200(yy[40], yy[41], single[11], double[11], neg[11], pp_11_63); - r4bs r4bs_5040_2328(yy[38], yy[39], single[12], double[12], neg[12], pp_12_63); - r4bs r4bs_5040_2456(yy[36], yy[37], single[13], double[13], neg[13], pp_13_63); - fullAdd_x FA_5040_2584(int_9_63, int_8_63, pp_11_63, pp_12_63, pp_13_63); - r4bs r4bs_5040_2800(yy[34], yy[35], single[14], double[14], neg[14], pp_14_63); - r4bs r4bs_5040_2928(yy[32], yy[33], single[15], double[15], neg[15], pp_15_63); - r4bs r4bs_5040_3056(yy[30], yy[31], single[16], double[16], neg[16], pp_16_63); - fullAdd_x FA_5040_3184(int_11_63, int_10_63, pp_14_63, pp_15_63, pp_16_63); - r4bs r4bs_5040_3400(yy[28], yy[29], single[17], double[17], neg[17], pp_17_63); - r4bs r4bs_5040_3528(yy[26], yy[27], single[18], double[18], neg[18], pp_18_63); - r4bs r4bs_5040_3656(yy[24], yy[25], single[19], double[19], neg[19], pp_19_63); - fullAdd_x FA_5040_3784(int_13_63, int_12_63, pp_17_63, pp_18_63, pp_19_63); - r4bs r4bs_5040_4000(yy[22], yy[23], single[20], double[20], neg[20], pp_20_63); - r4bs r4bs_5040_4128(yy[20], yy[21], single[21], double[21], neg[21], pp_21_63); - r4bs r4bs_5040_4256(yy[18], yy[19], single[22], double[22], neg[22], pp_22_63); - fullAdd_x FA_5040_4384(int_15_63, int_14_63, pp_20_63, pp_21_63, pp_22_63); - r4bs r4bs_5040_4600(yy[16], yy[17], single[23], double[23], neg[23], pp_23_63); - r4bs r4bs_5040_4728(yy[14], yy[15], single[24], double[24], neg[24], pp_24_63); - r4bs r4bs_5040_4856(yy[12], yy[13], single[25], double[25], neg[25], pp_25_63); - fullAdd_x FA_5040_4984(int_17_63, int_16_63, pp_23_63, pp_24_63, pp_25_63); - r4bs r4bs_5040_5200(yy[10], yy[11], single[26], double[26], neg[26], pp_26_63); - r4bs r4bs_5040_5328(yy[8], yy[9], single[27], double[27], neg[27], pp_27_63); - r4bs r4bs_5040_5456(yy[6], yy[7], single[28], double[28], neg[28], pp_28_63); - fullAdd_x FA_5040_5584(int_19_63, int_18_63, pp_26_63, pp_27_63, pp_28_63); - r4bs r4bs_5040_5800(yy[4], yy[5], single[29], double[29], neg[29], pp_29_63); - r4bs r4bs_5040_5928(yy[2], yy[3], single[30], double[30], neg[30], pp_30_63); - r4bs r4bs_5040_6056(yy[0], yy[1], single[31], double[31], neg[31], pp_31_63); - fullAdd_x FA_5040_6184(int_21_63, int_20_63, pp_29_63, pp_30_63, pp_31_63); - fullAdd_x FA_5040_6400(int_23_63, int_22_63, int_1_62, int_3_62, int_5_62); - fullAdd_x FA_5040_6616(int_25_63, int_24_63, int_7_62, int_9_62, int_11_62); - fullAdd_x FA_5040_6832(int_27_63, int_26_63, int_13_62, int_15_62, int_17_62); - fullAdd_x FA_5040_7048(int_29_63, int_28_63, int_19_62, int_21_62, int_0_63); - fullAdd_x FA_5040_7264(int_31_63, int_30_63, int_23_62, int_25_62, int_27_62); - fullAdd_x FA_5040_7480(int_33_63, int_32_63, int_29_62, int_2_63, int_4_63); - fullAdd_x FA_5040_7696(int_35_63, int_34_63, int_6_63, int_8_63, int_10_63); - fullAdd_x FA_5040_7912(int_37_63, int_36_63, int_12_63, int_14_63, int_16_63); - fullAdd_x FA_5040_8128(int_39_63, int_38_63, int_18_63, int_20_63, int_31_62); - fullAdd_x FA_5040_8344(int_41_63, int_40_63, int_33_62, int_35_62, int_37_62); - fullAdd_x FA_5040_8560(int_43_63, int_42_63, int_22_63, int_24_63, int_26_63); - fullAdd_x FA_5040_8776(int_45_63, int_44_63, int_28_63, int_39_62, int_41_62); - fullAdd_x FA_5040_8992(int_47_63, int_46_63, int_43_62, int_30_63, int_32_63); - fullAdd_x FA_5040_9208(int_49_63, int_48_63, int_34_63, int_36_63, int_38_63); - fullAdd_x FA_5040_9424(int_51_63, int_50_63, int_45_62, int_47_62, int_49_62); - fullAdd_x FA_5040_9640(int_53_63, int_52_63, int_40_63, int_42_63, int_44_63); - fullAdd_x FA_5040_9856(int_55_63, int_54_63, int_51_62, int_53_62, int_46_63); - fullAdd_x FA_5040_10072(int_57_63, int_56_63, int_48_63, int_55_62, int_50_63); - fullAdd_x FA_5040_10288(int_59_63, int_58_63, int_52_63, int_57_62, int_54_63); - fullAdd_x FA_5040_10504(int_61_63, int_60_63, int_59_62, int_56_63, int_58_63); - assign Sum[63] = int_61_62; - assign Carry[63] = int_60_63; - - // Hardware for column 64 - - r4bs r4bs_5120_0(yy[63], gnd, single[0], double[0], neg[0], pp_0_64); - r4bs r4bs_5120_128(yy[61], yy[62], single[1], double[1], neg[1], pp_1_64); - r4bs r4bs_5120_256(yy[59], yy[60], single[2], double[2], neg[2], pp_2_64); - fullAdd_x FA_5120_384(int_1_64, int_0_64, pp_0_64, pp_1_64, pp_2_64); - r4bs r4bs_5120_600(yy[57], yy[58], single[3], double[3], neg[3], pp_3_64); - r4bs r4bs_5120_728(yy[55], yy[56], single[4], double[4], neg[4], pp_4_64); - r4bs r4bs_5120_856(yy[53], yy[54], single[5], double[5], neg[5], pp_5_64); - fullAdd_x FA_5120_984(int_3_64, int_2_64, pp_3_64, pp_4_64, pp_5_64); - r4bs r4bs_5120_1200(yy[51], yy[52], single[6], double[6], neg[6], pp_6_64); - r4bs r4bs_5120_1328(yy[49], yy[50], single[7], double[7], neg[7], pp_7_64); - r4bs r4bs_5120_1456(yy[47], yy[48], single[8], double[8], neg[8], pp_8_64); - fullAdd_x FA_5120_1584(int_5_64, int_4_64, pp_6_64, pp_7_64, pp_8_64); - r4bs r4bs_5120_1800(yy[45], yy[46], single[9], double[9], neg[9], pp_9_64); - r4bs r4bs_5120_1928(yy[43], yy[44], single[10], double[10], neg[10], pp_10_64); - r4bs r4bs_5120_2056(yy[41], yy[42], single[11], double[11], neg[11], pp_11_64); - fullAdd_x FA_5120_2184(int_7_64, int_6_64, pp_9_64, pp_10_64, pp_11_64); - r4bs r4bs_5120_2400(yy[39], yy[40], single[12], double[12], neg[12], pp_12_64); - r4bs r4bs_5120_2528(yy[37], yy[38], single[13], double[13], neg[13], pp_13_64); - r4bs r4bs_5120_2656(yy[35], yy[36], single[14], double[14], neg[14], pp_14_64); - fullAdd_x FA_5120_2784(int_9_64, int_8_64, pp_12_64, pp_13_64, pp_14_64); - r4bs r4bs_5120_3000(yy[33], yy[34], single[15], double[15], neg[15], pp_15_64); - r4bs r4bs_5120_3128(yy[31], yy[32], single[16], double[16], neg[16], pp_16_64); - r4bs r4bs_5120_3256(yy[29], yy[30], single[17], double[17], neg[17], pp_17_64); - fullAdd_x FA_5120_3384(int_11_64, int_10_64, pp_15_64, pp_16_64, pp_17_64); - r4bs r4bs_5120_3600(yy[27], yy[28], single[18], double[18], neg[18], pp_18_64); - r4bs r4bs_5120_3728(yy[25], yy[26], single[19], double[19], neg[19], pp_19_64); - r4bs r4bs_5120_3856(yy[23], yy[24], single[20], double[20], neg[20], pp_20_64); - fullAdd_x FA_5120_3984(int_13_64, int_12_64, pp_18_64, pp_19_64, pp_20_64); - r4bs r4bs_5120_4200(yy[21], yy[22], single[21], double[21], neg[21], pp_21_64); - r4bs r4bs_5120_4328(yy[19], yy[20], single[22], double[22], neg[22], pp_22_64); - r4bs r4bs_5120_4456(yy[17], yy[18], single[23], double[23], neg[23], pp_23_64); - fullAdd_x FA_5120_4584(int_15_64, int_14_64, pp_21_64, pp_22_64, pp_23_64); - r4bs r4bs_5120_4800(yy[15], yy[16], single[24], double[24], neg[24], pp_24_64); - r4bs r4bs_5120_4928(yy[13], yy[14], single[25], double[25], neg[25], pp_25_64); - r4bs r4bs_5120_5056(yy[11], yy[12], single[26], double[26], neg[26], pp_26_64); - fullAdd_x FA_5120_5184(int_17_64, int_16_64, pp_24_64, pp_25_64, pp_26_64); - r4bs r4bs_5120_5400(yy[9], yy[10], single[27], double[27], neg[27], pp_27_64); - r4bs r4bs_5120_5528(yy[7], yy[8], single[28], double[28], neg[28], pp_28_64); - r4bs r4bs_5120_5656(yy[5], yy[6], single[29], double[29], neg[29], pp_29_64); - fullAdd_x FA_5120_5784(int_19_64, int_18_64, pp_27_64, pp_28_64, pp_29_64); - r4bs r4bs_5120_6000(yy[3], yy[4], single[30], double[30], neg[30], pp_30_64); - r4bs r4bs_5120_6128(yy[1], yy[2], single[31], double[31], neg[31], pp_31_64); - r4bs r4bs_5120_6256(gnd, yy[0], single[32], double[32], neg[32], pp_32_64); - fullAdd_x FA_5120_6384(int_21_64, int_20_64, pp_30_64, pp_31_64, pp_32_64); - fullAdd_x FA_5120_6600(int_23_64, int_22_64, int_1_63, int_3_63, int_5_63); - fullAdd_x FA_5120_6816(int_25_64, int_24_64, int_7_63, int_9_63, int_11_63); - fullAdd_x FA_5120_7032(int_27_64, int_26_64, int_13_63, int_15_63, int_17_63); - fullAdd_x FA_5120_7248(int_29_64, int_28_64, int_19_63, int_21_63, int_23_63); - fullAdd_x FA_5120_7464(int_31_64, int_30_64, int_25_63, int_27_63, int_29_63); - fullAdd_x FA_5120_7680(int_33_64, int_32_64, int_0_64, int_2_64, int_4_64); - fullAdd_x FA_5120_7896(int_35_64, int_34_64, int_6_64, int_8_64, int_10_64); - fullAdd_x FA_5120_8112(int_37_64, int_36_64, int_12_64, int_14_64, int_16_64); - fullAdd_x FA_5120_8328(int_39_64, int_38_64, int_18_64, int_20_64, int_31_63); - fullAdd_x FA_5120_8544(int_41_64, int_40_64, int_33_63, int_35_63, int_37_63); - fullAdd_x FA_5120_8760(int_43_64, int_42_64, int_22_64, int_24_64, int_26_64); - fullAdd_x FA_5120_8976(int_45_64, int_44_64, int_28_64, int_39_63, int_41_63); - fullAdd_x FA_5120_9192(int_47_64, int_46_64, int_43_63, int_30_64, int_32_64); - fullAdd_x FA_5120_9408(int_49_64, int_48_64, int_34_64, int_36_64, int_38_64); - fullAdd_x FA_5120_9624(int_51_64, int_50_64, int_45_63, int_47_63, int_49_63); - fullAdd_x FA_5120_9840(int_53_64, int_52_64, int_40_64, int_42_64, int_51_63); - fullAdd_x FA_5120_10056(int_55_64, int_54_64, int_44_64, int_46_64, int_48_64); - fullAdd_x FA_5120_10272(int_57_64, int_56_64, int_53_63, int_55_63, int_50_64); - fullAdd_x FA_5120_10488(int_59_64, int_58_64, int_52_64, int_57_63, int_54_64); - fullAdd_x FA_5120_10704(int_61_64, int_60_64, int_59_63, int_56_64, int_58_64); - assign Sum[64] = int_61_63; - assign Carry[64] = int_60_64; - - // Hardware for column 65 - - r4bs r4bs_5200_0(yy[62], yy[63], single[1], double[1], neg[1], pp_1_65); - r4bs r4bs_5200_128(yy[60], yy[61], single[2], double[2], neg[2], pp_2_65); - fullAdd_x FA_5200_256(int_1_65, int_0_65, neg[0], pp_1_65, pp_2_65); - r4bs r4bs_5200_472(yy[58], yy[59], single[3], double[3], neg[3], pp_3_65); - r4bs r4bs_5200_600(yy[56], yy[57], single[4], double[4], neg[4], pp_4_65); - r4bs r4bs_5200_728(yy[54], yy[55], single[5], double[5], neg[5], pp_5_65); - fullAdd_x FA_5200_856(int_3_65, int_2_65, pp_3_65, pp_4_65, pp_5_65); - r4bs r4bs_5200_1072(yy[52], yy[53], single[6], double[6], neg[6], pp_6_65); - r4bs r4bs_5200_1200(yy[50], yy[51], single[7], double[7], neg[7], pp_7_65); - r4bs r4bs_5200_1328(yy[48], yy[49], single[8], double[8], neg[8], pp_8_65); - fullAdd_x FA_5200_1456(int_5_65, int_4_65, pp_6_65, pp_7_65, pp_8_65); - r4bs r4bs_5200_1672(yy[46], yy[47], single[9], double[9], neg[9], pp_9_65); - r4bs r4bs_5200_1800(yy[44], yy[45], single[10], double[10], neg[10], pp_10_65); - r4bs r4bs_5200_1928(yy[42], yy[43], single[11], double[11], neg[11], pp_11_65); - fullAdd_x FA_5200_2056(int_7_65, int_6_65, pp_9_65, pp_10_65, pp_11_65); - r4bs r4bs_5200_2272(yy[40], yy[41], single[12], double[12], neg[12], pp_12_65); - r4bs r4bs_5200_2400(yy[38], yy[39], single[13], double[13], neg[13], pp_13_65); - r4bs r4bs_5200_2528(yy[36], yy[37], single[14], double[14], neg[14], pp_14_65); - fullAdd_x FA_5200_2656(int_9_65, int_8_65, pp_12_65, pp_13_65, pp_14_65); - r4bs r4bs_5200_2872(yy[34], yy[35], single[15], double[15], neg[15], pp_15_65); - r4bs r4bs_5200_3000(yy[32], yy[33], single[16], double[16], neg[16], pp_16_65); - r4bs r4bs_5200_3128(yy[30], yy[31], single[17], double[17], neg[17], pp_17_65); - fullAdd_x FA_5200_3256(int_11_65, int_10_65, pp_15_65, pp_16_65, pp_17_65); - r4bs r4bs_5200_3472(yy[28], yy[29], single[18], double[18], neg[18], pp_18_65); - r4bs r4bs_5200_3600(yy[26], yy[27], single[19], double[19], neg[19], pp_19_65); - r4bs r4bs_5200_3728(yy[24], yy[25], single[20], double[20], neg[20], pp_20_65); - fullAdd_x FA_5200_3856(int_13_65, int_12_65, pp_18_65, pp_19_65, pp_20_65); - r4bs r4bs_5200_4072(yy[22], yy[23], single[21], double[21], neg[21], pp_21_65); - r4bs r4bs_5200_4200(yy[20], yy[21], single[22], double[22], neg[22], pp_22_65); - r4bs r4bs_5200_4328(yy[18], yy[19], single[23], double[23], neg[23], pp_23_65); - fullAdd_x FA_5200_4456(int_15_65, int_14_65, pp_21_65, pp_22_65, pp_23_65); - r4bs r4bs_5200_4672(yy[16], yy[17], single[24], double[24], neg[24], pp_24_65); - r4bs r4bs_5200_4800(yy[14], yy[15], single[25], double[25], neg[25], pp_25_65); - r4bs r4bs_5200_4928(yy[12], yy[13], single[26], double[26], neg[26], pp_26_65); - fullAdd_x FA_5200_5056(int_17_65, int_16_65, pp_24_65, pp_25_65, pp_26_65); - r4bs r4bs_5200_5272(yy[10], yy[11], single[27], double[27], neg[27], pp_27_65); - r4bs r4bs_5200_5400(yy[8], yy[9], single[28], double[28], neg[28], pp_28_65); - r4bs r4bs_5200_5528(yy[6], yy[7], single[29], double[29], neg[29], pp_29_65); - fullAdd_x FA_5200_5656(int_19_65, int_18_65, pp_27_65, pp_28_65, pp_29_65); - r4bs r4bs_5200_5872(yy[4], yy[5], single[30], double[30], neg[30], pp_30_65); - r4bs r4bs_5200_6000(yy[2], yy[3], single[31], double[31], neg[31], pp_31_65); - r4bs r4bs_5200_6128(yy[0], yy[1], single[32], double[32], neg[32], pp_32_65); - fullAdd_x FA_5200_6256(int_21_65, int_20_65, pp_30_65, pp_31_65, pp_32_65); - fullAdd_x FA_5200_6472(int_23_65, int_22_65, int_1_64, int_3_64, int_5_64); - fullAdd_x FA_5200_6688(int_25_65, int_24_65, int_7_64, int_9_64, int_11_64); - fullAdd_x FA_5200_6904(int_27_65, int_26_65, int_13_64, int_15_64, int_17_64); - fullAdd_x FA_5200_7120(int_29_65, int_28_65, int_19_64, int_21_64, int_23_64); - fullAdd_x FA_5200_7336(int_31_65, int_30_65, int_25_64, int_27_64, int_0_65); - fullAdd_x FA_5200_7552(int_33_65, int_32_65, int_2_65, int_4_65, int_6_65); - fullAdd_x FA_5200_7768(int_35_65, int_34_65, int_8_65, int_10_65, int_12_65); - fullAdd_x FA_5200_7984(int_37_65, int_36_65, int_14_65, int_16_65, int_18_65); - fullAdd_x FA_5200_8200(int_39_65, int_38_65, int_20_65, int_29_64, int_31_64); - fullAdd_x FA_5200_8416(int_41_65, int_40_65, int_33_64, int_35_64, int_37_64); - fullAdd_x FA_5200_8632(int_43_65, int_42_65, int_22_65, int_24_65, int_26_65); - fullAdd_x FA_5200_8848(int_45_65, int_44_65, int_28_65, int_39_64, int_41_64); - fullAdd_x FA_5200_9064(int_47_65, int_46_65, int_43_64, int_30_65, int_32_65); - fullAdd_x FA_5200_9280(int_49_65, int_48_65, int_34_65, int_36_65, int_45_64); - fullAdd_x FA_5200_9496(int_51_65, int_50_65, int_47_64, int_49_64, int_38_65); - fullAdd_x FA_5200_9712(int_53_65, int_52_65, int_40_65, int_42_65, int_51_64); - fullAdd_x FA_5200_9928(int_55_65, int_54_65, int_44_65, int_46_65, int_48_65); - fullAdd_x FA_5200_10144(int_57_65, int_56_65, int_53_64, int_55_64, int_50_65); - fullAdd_x FA_5200_10360(int_59_65, int_58_65, int_52_65, int_57_64, int_54_65); - fullAdd_x FA_5200_10576(int_61_65, int_60_65, int_59_64, int_56_65, int_58_65); - assign Sum[65] = int_61_64; - assign Carry[65] = int_60_65; - - // Hardware for column 66 - - r4bs r4bs_5280_0(yy[63], gnd, single[1], double[1], neg[1], pp_1_66); - r4bs r4bs_5280_128(yy[61], yy[62], single[2], double[2], neg[2], pp_2_66); - fullAdd_x FA_5280_256(int_1_66, int_0_66, neg[0], pp_1_66, pp_2_66); - r4bs r4bs_5280_472(yy[59], yy[60], single[3], double[3], neg[3], pp_3_66); - r4bs r4bs_5280_600(yy[57], yy[58], single[4], double[4], neg[4], pp_4_66); - r4bs r4bs_5280_728(yy[55], yy[56], single[5], double[5], neg[5], pp_5_66); - fullAdd_x FA_5280_856(int_3_66, int_2_66, pp_3_66, pp_4_66, pp_5_66); - r4bs r4bs_5280_1072(yy[53], yy[54], single[6], double[6], neg[6], pp_6_66); - r4bs r4bs_5280_1200(yy[51], yy[52], single[7], double[7], neg[7], pp_7_66); - r4bs r4bs_5280_1328(yy[49], yy[50], single[8], double[8], neg[8], pp_8_66); - fullAdd_x FA_5280_1456(int_5_66, int_4_66, pp_6_66, pp_7_66, pp_8_66); - r4bs r4bs_5280_1672(yy[47], yy[48], single[9], double[9], neg[9], pp_9_66); - r4bs r4bs_5280_1800(yy[45], yy[46], single[10], double[10], neg[10], pp_10_66); - r4bs r4bs_5280_1928(yy[43], yy[44], single[11], double[11], neg[11], pp_11_66); - fullAdd_x FA_5280_2056(int_7_66, int_6_66, pp_9_66, pp_10_66, pp_11_66); - r4bs r4bs_5280_2272(yy[41], yy[42], single[12], double[12], neg[12], pp_12_66); - r4bs r4bs_5280_2400(yy[39], yy[40], single[13], double[13], neg[13], pp_13_66); - r4bs r4bs_5280_2528(yy[37], yy[38], single[14], double[14], neg[14], pp_14_66); - fullAdd_x FA_5280_2656(int_9_66, int_8_66, pp_12_66, pp_13_66, pp_14_66); - r4bs r4bs_5280_2872(yy[35], yy[36], single[15], double[15], neg[15], pp_15_66); - r4bs r4bs_5280_3000(yy[33], yy[34], single[16], double[16], neg[16], pp_16_66); - r4bs r4bs_5280_3128(yy[31], yy[32], single[17], double[17], neg[17], pp_17_66); - fullAdd_x FA_5280_3256(int_11_66, int_10_66, pp_15_66, pp_16_66, pp_17_66); - r4bs r4bs_5280_3472(yy[29], yy[30], single[18], double[18], neg[18], pp_18_66); - r4bs r4bs_5280_3600(yy[27], yy[28], single[19], double[19], neg[19], pp_19_66); - r4bs r4bs_5280_3728(yy[25], yy[26], single[20], double[20], neg[20], pp_20_66); - fullAdd_x FA_5280_3856(int_13_66, int_12_66, pp_18_66, pp_19_66, pp_20_66); - r4bs r4bs_5280_4072(yy[23], yy[24], single[21], double[21], neg[21], pp_21_66); - r4bs r4bs_5280_4200(yy[21], yy[22], single[22], double[22], neg[22], pp_22_66); - r4bs r4bs_5280_4328(yy[19], yy[20], single[23], double[23], neg[23], pp_23_66); - fullAdd_x FA_5280_4456(int_15_66, int_14_66, pp_21_66, pp_22_66, pp_23_66); - r4bs r4bs_5280_4672(yy[17], yy[18], single[24], double[24], neg[24], pp_24_66); - r4bs r4bs_5280_4800(yy[15], yy[16], single[25], double[25], neg[25], pp_25_66); - r4bs r4bs_5280_4928(yy[13], yy[14], single[26], double[26], neg[26], pp_26_66); - fullAdd_x FA_5280_5056(int_17_66, int_16_66, pp_24_66, pp_25_66, pp_26_66); - r4bs r4bs_5280_5272(yy[11], yy[12], single[27], double[27], neg[27], pp_27_66); - r4bs r4bs_5280_5400(yy[9], yy[10], single[28], double[28], neg[28], pp_28_66); - r4bs r4bs_5280_5528(yy[7], yy[8], single[29], double[29], neg[29], pp_29_66); - fullAdd_x FA_5280_5656(int_19_66, int_18_66, pp_27_66, pp_28_66, pp_29_66); - r4bs r4bs_5280_5872(yy[5], yy[6], single[30], double[30], neg[30], pp_30_66); - r4bs r4bs_5280_6000(yy[3], yy[4], single[31], double[31], neg[31], pp_31_66); - r4bs r4bs_5280_6128(yy[1], yy[2], single[32], double[32], neg[32], pp_32_66); - fullAdd_x FA_5280_6256(int_21_66, int_20_66, pp_30_66, pp_31_66, pp_32_66); - fullAdd_x FA_5280_6472(int_23_66, int_22_66, int_1_65, int_3_65, int_5_65); - fullAdd_x FA_5280_6688(int_25_66, int_24_66, int_7_65, int_9_65, int_11_65); - fullAdd_x FA_5280_6904(int_27_66, int_26_66, int_13_65, int_15_65, int_17_65); - fullAdd_x FA_5280_7120(int_29_66, int_28_66, int_19_65, int_21_65, int_23_65); - fullAdd_x FA_5280_7336(int_31_66, int_30_66, int_25_65, int_27_65, int_0_66); - fullAdd_x FA_5280_7552(int_33_66, int_32_66, int_2_66, int_4_66, int_6_66); - fullAdd_x FA_5280_7768(int_35_66, int_34_66, int_8_66, int_10_66, int_12_66); - fullAdd_x FA_5280_7984(int_37_66, int_36_66, int_14_66, int_16_66, int_18_66); - fullAdd_x FA_5280_8200(int_39_66, int_38_66, int_20_66, int_29_65, int_31_65); - fullAdd_x FA_5280_8416(int_41_66, int_40_66, int_33_65, int_35_65, int_37_65); - fullAdd_x FA_5280_8632(int_43_66, int_42_66, int_22_66, int_24_66, int_26_66); - fullAdd_x FA_5280_8848(int_45_66, int_44_66, int_28_66, int_39_65, int_41_65); - fullAdd_x FA_5280_9064(int_47_66, int_46_66, int_43_65, int_30_66, int_32_66); - fullAdd_x FA_5280_9280(int_49_66, int_48_66, int_34_66, int_36_66, int_45_65); - fullAdd_x FA_5280_9496(int_51_66, int_50_66, int_47_65, int_38_66, int_40_66); - fullAdd_x FA_5280_9712(int_53_66, int_52_66, int_42_66, int_49_65, int_51_65); - fullAdd_x FA_5280_9928(int_55_66, int_54_66, int_44_66, int_46_66, int_48_66); - fullAdd_x FA_5280_10144(int_57_66, int_56_66, int_53_65, int_55_65, int_50_66); - fullAdd_x FA_5280_10360(int_59_66, int_58_66, int_57_65, int_52_66, int_54_66); - fullAdd_x FA_5280_10576(int_61_66, int_60_66, int_59_65, int_56_66, int_58_66); - assign Sum[66] = int_61_65; - assign Carry[66] = int_60_66; - - // Hardware for column 67 - - r4bs r4bs_5360_0(yy[62], yy[63], single[2], double[2], neg[2], pp_2_67); - fullAdd_x FA_5360_128(int_1_67, int_0_67, negbar[0], negbar[1], pp_2_67); - r4bs r4bs_5360_344(yy[60], yy[61], single[3], double[3], neg[3], pp_3_67); - r4bs r4bs_5360_472(yy[58], yy[59], single[4], double[4], neg[4], pp_4_67); - r4bs r4bs_5360_600(yy[56], yy[57], single[5], double[5], neg[5], pp_5_67); - fullAdd_x FA_5360_728(int_3_67, int_2_67, pp_3_67, pp_4_67, pp_5_67); - r4bs r4bs_5360_944(yy[54], yy[55], single[6], double[6], neg[6], pp_6_67); - r4bs r4bs_5360_1072(yy[52], yy[53], single[7], double[7], neg[7], pp_7_67); - r4bs r4bs_5360_1200(yy[50], yy[51], single[8], double[8], neg[8], pp_8_67); - fullAdd_x FA_5360_1328(int_5_67, int_4_67, pp_6_67, pp_7_67, pp_8_67); - r4bs r4bs_5360_1544(yy[48], yy[49], single[9], double[9], neg[9], pp_9_67); - r4bs r4bs_5360_1672(yy[46], yy[47], single[10], double[10], neg[10], pp_10_67); - r4bs r4bs_5360_1800(yy[44], yy[45], single[11], double[11], neg[11], pp_11_67); - fullAdd_x FA_5360_1928(int_7_67, int_6_67, pp_9_67, pp_10_67, pp_11_67); - r4bs r4bs_5360_2144(yy[42], yy[43], single[12], double[12], neg[12], pp_12_67); - r4bs r4bs_5360_2272(yy[40], yy[41], single[13], double[13], neg[13], pp_13_67); - r4bs r4bs_5360_2400(yy[38], yy[39], single[14], double[14], neg[14], pp_14_67); - fullAdd_x FA_5360_2528(int_9_67, int_8_67, pp_12_67, pp_13_67, pp_14_67); - r4bs r4bs_5360_2744(yy[36], yy[37], single[15], double[15], neg[15], pp_15_67); - r4bs r4bs_5360_2872(yy[34], yy[35], single[16], double[16], neg[16], pp_16_67); - r4bs r4bs_5360_3000(yy[32], yy[33], single[17], double[17], neg[17], pp_17_67); - fullAdd_x FA_5360_3128(int_11_67, int_10_67, pp_15_67, pp_16_67, pp_17_67); - r4bs r4bs_5360_3344(yy[30], yy[31], single[18], double[18], neg[18], pp_18_67); - r4bs r4bs_5360_3472(yy[28], yy[29], single[19], double[19], neg[19], pp_19_67); - r4bs r4bs_5360_3600(yy[26], yy[27], single[20], double[20], neg[20], pp_20_67); - fullAdd_x FA_5360_3728(int_13_67, int_12_67, pp_18_67, pp_19_67, pp_20_67); - r4bs r4bs_5360_3944(yy[24], yy[25], single[21], double[21], neg[21], pp_21_67); - r4bs r4bs_5360_4072(yy[22], yy[23], single[22], double[22], neg[22], pp_22_67); - r4bs r4bs_5360_4200(yy[20], yy[21], single[23], double[23], neg[23], pp_23_67); - fullAdd_x FA_5360_4328(int_15_67, int_14_67, pp_21_67, pp_22_67, pp_23_67); - r4bs r4bs_5360_4544(yy[18], yy[19], single[24], double[24], neg[24], pp_24_67); - r4bs r4bs_5360_4672(yy[16], yy[17], single[25], double[25], neg[25], pp_25_67); - r4bs r4bs_5360_4800(yy[14], yy[15], single[26], double[26], neg[26], pp_26_67); - fullAdd_x FA_5360_4928(int_17_67, int_16_67, pp_24_67, pp_25_67, pp_26_67); - r4bs r4bs_5360_5144(yy[12], yy[13], single[27], double[27], neg[27], pp_27_67); - r4bs r4bs_5360_5272(yy[10], yy[11], single[28], double[28], neg[28], pp_28_67); - r4bs r4bs_5360_5400(yy[8], yy[9], single[29], double[29], neg[29], pp_29_67); - fullAdd_x FA_5360_5528(int_19_67, int_18_67, pp_27_67, pp_28_67, pp_29_67); - r4bs r4bs_5360_5744(yy[6], yy[7], single[30], double[30], neg[30], pp_30_67); - r4bs r4bs_5360_5872(yy[4], yy[5], single[31], double[31], neg[31], pp_31_67); - r4bs r4bs_5360_6000(yy[2], yy[3], single[32], double[32], neg[32], pp_32_67); - fullAdd_x FA_5360_6128(int_21_67, int_20_67, pp_30_67, pp_31_67, pp_32_67); - fullAdd_x FA_5360_6344(int_23_67, int_22_67, int_1_66, int_3_66, int_5_66); - fullAdd_x FA_5360_6560(int_25_67, int_24_67, int_7_66, int_9_66, int_11_66); - fullAdd_x FA_5360_6776(int_27_67, int_26_67, int_13_66, int_15_66, int_17_66); - fullAdd_x FA_5360_6992(int_29_67, int_28_67, int_19_66, int_21_66, int_0_67); - fullAdd_x FA_5360_7208(int_31_67, int_30_67, int_23_66, int_25_66, int_27_66); - fullAdd_x FA_5360_7424(int_33_67, int_32_67, int_2_67, int_4_67, int_6_67); - fullAdd_x FA_5360_7640(int_35_67, int_34_67, int_8_67, int_10_67, int_12_67); - fullAdd_x FA_5360_7856(int_37_67, int_36_67, int_14_67, int_16_67, int_18_67); - fullAdd_x FA_5360_8072(int_39_67, int_38_67, int_20_67, int_29_66, int_31_66); - fullAdd_x FA_5360_8288(int_41_67, int_40_67, int_33_66, int_35_66, int_37_66); - fullAdd_x FA_5360_8504(int_43_67, int_42_67, int_22_67, int_24_67, int_26_67); - fullAdd_x FA_5360_8720(int_45_67, int_44_67, int_28_67, int_39_66, int_41_66); - fullAdd_x FA_5360_8936(int_47_67, int_46_67, int_43_66, int_30_67, int_32_67); - fullAdd_x FA_5360_9152(int_49_67, int_48_67, int_34_67, int_36_67, int_45_66); - fullAdd_x FA_5360_9368(int_51_67, int_50_67, int_47_66, int_38_67, int_40_67); - fullAdd_x FA_5360_9584(int_53_67, int_52_67, int_42_67, int_49_66, int_51_66); - fullAdd_x FA_5360_9800(int_55_67, int_54_67, int_44_67, int_46_67, int_48_67); - fullAdd_x FA_5360_10016(int_57_67, int_56_67, int_53_66, int_55_66, int_50_67); - fullAdd_x FA_5360_10232(int_59_67, int_58_67, int_57_66, int_52_67, int_54_67); - fullAdd_x FA_5360_10448(int_61_67, int_60_67, int_59_66, int_56_67, int_58_67); - assign Sum[67] = int_61_66; - assign Carry[67] = int_60_67; - - // Hardware for column 68 - - r4bs r4bs_5440_0(yy[63], gnd, single[2], double[2], neg[2], pp_2_68); - halfAdd HA_5440_128(int_1_68, int_0_68, 1'b1, pp_2_68); - r4bs r4bs_5440_208(yy[61], yy[62], single[3], double[3], neg[3], pp_3_68); - r4bs r4bs_5440_336(yy[59], yy[60], single[4], double[4], neg[4], pp_4_68); - r4bs r4bs_5440_464(yy[57], yy[58], single[5], double[5], neg[5], pp_5_68); - fullAdd_x FA_5440_592(int_3_68, int_2_68, pp_3_68, pp_4_68, pp_5_68); - r4bs r4bs_5440_808(yy[55], yy[56], single[6], double[6], neg[6], pp_6_68); - r4bs r4bs_5440_936(yy[53], yy[54], single[7], double[7], neg[7], pp_7_68); - r4bs r4bs_5440_1064(yy[51], yy[52], single[8], double[8], neg[8], pp_8_68); - fullAdd_x FA_5440_1192(int_5_68, int_4_68, pp_6_68, pp_7_68, pp_8_68); - r4bs r4bs_5440_1408(yy[49], yy[50], single[9], double[9], neg[9], pp_9_68); - r4bs r4bs_5440_1536(yy[47], yy[48], single[10], double[10], neg[10], pp_10_68); - r4bs r4bs_5440_1664(yy[45], yy[46], single[11], double[11], neg[11], pp_11_68); - fullAdd_x FA_5440_1792(int_7_68, int_6_68, pp_9_68, pp_10_68, pp_11_68); - r4bs r4bs_5440_2008(yy[43], yy[44], single[12], double[12], neg[12], pp_12_68); - r4bs r4bs_5440_2136(yy[41], yy[42], single[13], double[13], neg[13], pp_13_68); - r4bs r4bs_5440_2264(yy[39], yy[40], single[14], double[14], neg[14], pp_14_68); - fullAdd_x FA_5440_2392(int_9_68, int_8_68, pp_12_68, pp_13_68, pp_14_68); - r4bs r4bs_5440_2608(yy[37], yy[38], single[15], double[15], neg[15], pp_15_68); - r4bs r4bs_5440_2736(yy[35], yy[36], single[16], double[16], neg[16], pp_16_68); - r4bs r4bs_5440_2864(yy[33], yy[34], single[17], double[17], neg[17], pp_17_68); - fullAdd_x FA_5440_2992(int_11_68, int_10_68, pp_15_68, pp_16_68, pp_17_68); - r4bs r4bs_5440_3208(yy[31], yy[32], single[18], double[18], neg[18], pp_18_68); - r4bs r4bs_5440_3336(yy[29], yy[30], single[19], double[19], neg[19], pp_19_68); - r4bs r4bs_5440_3464(yy[27], yy[28], single[20], double[20], neg[20], pp_20_68); - fullAdd_x FA_5440_3592(int_13_68, int_12_68, pp_18_68, pp_19_68, pp_20_68); - r4bs r4bs_5440_3808(yy[25], yy[26], single[21], double[21], neg[21], pp_21_68); - r4bs r4bs_5440_3936(yy[23], yy[24], single[22], double[22], neg[22], pp_22_68); - r4bs r4bs_5440_4064(yy[21], yy[22], single[23], double[23], neg[23], pp_23_68); - fullAdd_x FA_5440_4192(int_15_68, int_14_68, pp_21_68, pp_22_68, pp_23_68); - r4bs r4bs_5440_4408(yy[19], yy[20], single[24], double[24], neg[24], pp_24_68); - r4bs r4bs_5440_4536(yy[17], yy[18], single[25], double[25], neg[25], pp_25_68); - r4bs r4bs_5440_4664(yy[15], yy[16], single[26], double[26], neg[26], pp_26_68); - fullAdd_x FA_5440_4792(int_17_68, int_16_68, pp_24_68, pp_25_68, pp_26_68); - r4bs r4bs_5440_5008(yy[13], yy[14], single[27], double[27], neg[27], pp_27_68); - r4bs r4bs_5440_5136(yy[11], yy[12], single[28], double[28], neg[28], pp_28_68); - r4bs r4bs_5440_5264(yy[9], yy[10], single[29], double[29], neg[29], pp_29_68); - fullAdd_x FA_5440_5392(int_19_68, int_18_68, pp_27_68, pp_28_68, pp_29_68); - r4bs r4bs_5440_5608(yy[7], yy[8], single[30], double[30], neg[30], pp_30_68); - r4bs r4bs_5440_5736(yy[5], yy[6], single[31], double[31], neg[31], pp_31_68); - r4bs r4bs_5440_5864(yy[3], yy[4], single[32], double[32], neg[32], pp_32_68); - fullAdd_x FA_5440_5992(int_21_68, int_20_68, pp_30_68, pp_31_68, pp_32_68); - fullAdd_x FA_5440_6208(int_23_68, int_22_68, int_1_67, int_3_67, int_5_67); - fullAdd_x FA_5440_6424(int_25_68, int_24_68, int_7_67, int_9_67, int_11_67); - fullAdd_x FA_5440_6640(int_27_68, int_26_68, int_13_67, int_15_67, int_17_67); - fullAdd_x FA_5440_6856(int_29_68, int_28_68, int_19_67, int_21_67, int_0_68); - fullAdd_x FA_5440_7072(int_31_68, int_30_68, int_23_67, int_25_67, int_27_67); - fullAdd_x FA_5440_7288(int_33_68, int_32_68, int_29_67, int_2_68, int_4_68); - fullAdd_x FA_5440_7504(int_35_68, int_34_68, int_6_68, int_8_68, int_10_68); - fullAdd_x FA_5440_7720(int_37_68, int_36_68, int_12_68, int_14_68, int_16_68); - fullAdd_x FA_5440_7936(int_39_68, int_38_68, int_18_68, int_20_68, int_31_67); - fullAdd_x FA_5440_8152(int_41_68, int_40_68, int_33_67, int_35_67, int_37_67); - fullAdd_x FA_5440_8368(int_43_68, int_42_68, int_22_68, int_24_68, int_26_68); - fullAdd_x FA_5440_8584(int_45_68, int_44_68, int_28_68, int_39_67, int_41_67); - fullAdd_x FA_5440_8800(int_47_68, int_46_68, int_43_67, int_30_68, int_32_68); - fullAdd_x FA_5440_9016(int_49_68, int_48_68, int_34_68, int_36_68, int_38_68); - fullAdd_x FA_5440_9232(int_51_68, int_50_68, int_45_67, int_47_67, int_40_68); - fullAdd_x FA_5440_9448(int_53_68, int_52_68, int_42_68, int_49_67, int_51_67); - fullAdd_x FA_5440_9664(int_55_68, int_54_68, int_44_68, int_46_68, int_48_68); - fullAdd_x FA_5440_9880(int_57_68, int_56_68, int_53_67, int_55_67, int_50_68); - fullAdd_x FA_5440_10096(int_59_68, int_58_68, int_57_67, int_52_68, int_54_68); - fullAdd_x FA_5440_10312(int_61_68, int_60_68, int_59_67, int_56_68, int_58_68); - assign Sum[68] = int_61_67; - assign Carry[68] = int_60_68; - - // Hardware for column 69 - - r4bs r4bs_5520_0(yy[62], yy[63], single[3], double[3], neg[3], pp_3_69); - r4bs r4bs_5520_128(yy[60], yy[61], single[4], double[4], neg[4], pp_4_69); - fullAdd_x FA_5520_256(int_1_69, int_0_69, negbar[2], pp_3_69, pp_4_69); - r4bs r4bs_5520_472(yy[58], yy[59], single[5], double[5], neg[5], pp_5_69); - r4bs r4bs_5520_600(yy[56], yy[57], single[6], double[6], neg[6], pp_6_69); - r4bs r4bs_5520_728(yy[54], yy[55], single[7], double[7], neg[7], pp_7_69); - fullAdd_x FA_5520_856(int_3_69, int_2_69, pp_5_69, pp_6_69, pp_7_69); - r4bs r4bs_5520_1072(yy[52], yy[53], single[8], double[8], neg[8], pp_8_69); - r4bs r4bs_5520_1200(yy[50], yy[51], single[9], double[9], neg[9], pp_9_69); - r4bs r4bs_5520_1328(yy[48], yy[49], single[10], double[10], neg[10], pp_10_69); - fullAdd_x FA_5520_1456(int_5_69, int_4_69, pp_8_69, pp_9_69, pp_10_69); - r4bs r4bs_5520_1672(yy[46], yy[47], single[11], double[11], neg[11], pp_11_69); - r4bs r4bs_5520_1800(yy[44], yy[45], single[12], double[12], neg[12], pp_12_69); - r4bs r4bs_5520_1928(yy[42], yy[43], single[13], double[13], neg[13], pp_13_69); - fullAdd_x FA_5520_2056(int_7_69, int_6_69, pp_11_69, pp_12_69, pp_13_69); - r4bs r4bs_5520_2272(yy[40], yy[41], single[14], double[14], neg[14], pp_14_69); - r4bs r4bs_5520_2400(yy[38], yy[39], single[15], double[15], neg[15], pp_15_69); - r4bs r4bs_5520_2528(yy[36], yy[37], single[16], double[16], neg[16], pp_16_69); - fullAdd_x FA_5520_2656(int_9_69, int_8_69, pp_14_69, pp_15_69, pp_16_69); - r4bs r4bs_5520_2872(yy[34], yy[35], single[17], double[17], neg[17], pp_17_69); - r4bs r4bs_5520_3000(yy[32], yy[33], single[18], double[18], neg[18], pp_18_69); - r4bs r4bs_5520_3128(yy[30], yy[31], single[19], double[19], neg[19], pp_19_69); - fullAdd_x FA_5520_3256(int_11_69, int_10_69, pp_17_69, pp_18_69, pp_19_69); - r4bs r4bs_5520_3472(yy[28], yy[29], single[20], double[20], neg[20], pp_20_69); - r4bs r4bs_5520_3600(yy[26], yy[27], single[21], double[21], neg[21], pp_21_69); - r4bs r4bs_5520_3728(yy[24], yy[25], single[22], double[22], neg[22], pp_22_69); - fullAdd_x FA_5520_3856(int_13_69, int_12_69, pp_20_69, pp_21_69, pp_22_69); - r4bs r4bs_5520_4072(yy[22], yy[23], single[23], double[23], neg[23], pp_23_69); - r4bs r4bs_5520_4200(yy[20], yy[21], single[24], double[24], neg[24], pp_24_69); - r4bs r4bs_5520_4328(yy[18], yy[19], single[25], double[25], neg[25], pp_25_69); - fullAdd_x FA_5520_4456(int_15_69, int_14_69, pp_23_69, pp_24_69, pp_25_69); - r4bs r4bs_5520_4672(yy[16], yy[17], single[26], double[26], neg[26], pp_26_69); - r4bs r4bs_5520_4800(yy[14], yy[15], single[27], double[27], neg[27], pp_27_69); - r4bs r4bs_5520_4928(yy[12], yy[13], single[28], double[28], neg[28], pp_28_69); - fullAdd_x FA_5520_5056(int_17_69, int_16_69, pp_26_69, pp_27_69, pp_28_69); - r4bs r4bs_5520_5272(yy[10], yy[11], single[29], double[29], neg[29], pp_29_69); - r4bs r4bs_5520_5400(yy[8], yy[9], single[30], double[30], neg[30], pp_30_69); - r4bs r4bs_5520_5528(yy[6], yy[7], single[31], double[31], neg[31], pp_31_69); - fullAdd_x FA_5520_5656(int_19_69, int_18_69, pp_29_69, pp_30_69, pp_31_69); - r4bs r4bs_5520_5872(yy[4], yy[5], single[32], double[32], neg[32], pp_32_69); - fullAdd_x FA_5520_6000(int_21_69, int_20_69, pp_32_69, int_1_68, int_3_68); - fullAdd_x FA_5520_6216(int_23_69, int_22_69, int_5_68, int_7_68, int_9_68); - fullAdd_x FA_5520_6432(int_25_69, int_24_69, int_11_68, int_13_68, int_15_68); - fullAdd_x FA_5520_6648(int_27_69, int_26_69, int_17_68, int_19_68, int_21_68); - fullAdd_x FA_5520_6864(int_29_69, int_28_69, int_23_68, int_25_68, int_27_68); - fullAdd_x FA_5520_7080(int_31_69, int_30_69, int_29_68, int_0_69, int_2_69); - fullAdd_x FA_5520_7296(int_33_69, int_32_69, int_4_69, int_6_69, int_8_69); - fullAdd_x FA_5520_7512(int_35_69, int_34_69, int_10_69, int_12_69, int_14_69); - fullAdd_x FA_5520_7728(int_37_69, int_36_69, int_16_69, int_18_69, int_20_69); - fullAdd_x FA_5520_7944(int_39_69, int_38_69, int_31_68, int_33_68, int_35_68); - fullAdd_x FA_5520_8160(int_41_69, int_40_69, int_37_68, int_22_69, int_24_69); - fullAdd_x FA_5520_8376(int_43_69, int_42_69, int_26_69, int_39_68, int_41_68); - fullAdd_x FA_5520_8592(int_45_69, int_44_69, int_43_68, int_28_69, int_30_69); - fullAdd_x FA_5520_8808(int_47_69, int_46_69, int_32_69, int_34_69, int_36_69); - fullAdd_x FA_5520_9024(int_49_69, int_48_69, int_45_68, int_47_68, int_49_68); - fullAdd_x FA_5520_9240(int_51_69, int_50_69, int_38_69, int_40_69, int_51_68); - fullAdd_x FA_5520_9456(int_53_69, int_52_69, int_42_69, int_44_69, int_46_69); - fullAdd_x FA_5520_9672(int_55_69, int_54_69, int_53_68, int_55_68, int_48_69); - fullAdd_x FA_5520_9888(int_57_69, int_56_69, int_50_69, int_57_68, int_52_69); - fullAdd_x FA_5520_10104(int_59_69, int_58_69, int_59_68, int_54_69, int_56_69); - assign Sum[69] = int_61_68; - assign Carry[69] = int_58_69; - - // Hardware for column 70 - - r4bs r4bs_5600_0(yy[63], gnd, single[3], double[3], neg[3], pp_3_70); - halfAdd HA_5600_128(int_1_70, int_0_70, 1'b1, pp_3_70); - r4bs r4bs_5600_208(yy[61], yy[62], single[4], double[4], neg[4], pp_4_70); - r4bs r4bs_5600_336(yy[59], yy[60], single[5], double[5], neg[5], pp_5_70); - r4bs r4bs_5600_464(yy[57], yy[58], single[6], double[6], neg[6], pp_6_70); - fullAdd_x FA_5600_592(int_3_70, int_2_70, pp_4_70, pp_5_70, pp_6_70); - r4bs r4bs_5600_808(yy[55], yy[56], single[7], double[7], neg[7], pp_7_70); - r4bs r4bs_5600_936(yy[53], yy[54], single[8], double[8], neg[8], pp_8_70); - r4bs r4bs_5600_1064(yy[51], yy[52], single[9], double[9], neg[9], pp_9_70); - fullAdd_x FA_5600_1192(int_5_70, int_4_70, pp_7_70, pp_8_70, pp_9_70); - r4bs r4bs_5600_1408(yy[49], yy[50], single[10], double[10], neg[10], pp_10_70); - r4bs r4bs_5600_1536(yy[47], yy[48], single[11], double[11], neg[11], pp_11_70); - r4bs r4bs_5600_1664(yy[45], yy[46], single[12], double[12], neg[12], pp_12_70); - fullAdd_x FA_5600_1792(int_7_70, int_6_70, pp_10_70, pp_11_70, pp_12_70); - r4bs r4bs_5600_2008(yy[43], yy[44], single[13], double[13], neg[13], pp_13_70); - r4bs r4bs_5600_2136(yy[41], yy[42], single[14], double[14], neg[14], pp_14_70); - r4bs r4bs_5600_2264(yy[39], yy[40], single[15], double[15], neg[15], pp_15_70); - fullAdd_x FA_5600_2392(int_9_70, int_8_70, pp_13_70, pp_14_70, pp_15_70); - r4bs r4bs_5600_2608(yy[37], yy[38], single[16], double[16], neg[16], pp_16_70); - r4bs r4bs_5600_2736(yy[35], yy[36], single[17], double[17], neg[17], pp_17_70); - r4bs r4bs_5600_2864(yy[33], yy[34], single[18], double[18], neg[18], pp_18_70); - fullAdd_x FA_5600_2992(int_11_70, int_10_70, pp_16_70, pp_17_70, pp_18_70); - r4bs r4bs_5600_3208(yy[31], yy[32], single[19], double[19], neg[19], pp_19_70); - r4bs r4bs_5600_3336(yy[29], yy[30], single[20], double[20], neg[20], pp_20_70); - r4bs r4bs_5600_3464(yy[27], yy[28], single[21], double[21], neg[21], pp_21_70); - fullAdd_x FA_5600_3592(int_13_70, int_12_70, pp_19_70, pp_20_70, pp_21_70); - r4bs r4bs_5600_3808(yy[25], yy[26], single[22], double[22], neg[22], pp_22_70); - r4bs r4bs_5600_3936(yy[23], yy[24], single[23], double[23], neg[23], pp_23_70); - r4bs r4bs_5600_4064(yy[21], yy[22], single[24], double[24], neg[24], pp_24_70); - fullAdd_x FA_5600_4192(int_15_70, int_14_70, pp_22_70, pp_23_70, pp_24_70); - r4bs r4bs_5600_4408(yy[19], yy[20], single[25], double[25], neg[25], pp_25_70); - r4bs r4bs_5600_4536(yy[17], yy[18], single[26], double[26], neg[26], pp_26_70); - r4bs r4bs_5600_4664(yy[15], yy[16], single[27], double[27], neg[27], pp_27_70); - fullAdd_x FA_5600_4792(int_17_70, int_16_70, pp_25_70, pp_26_70, pp_27_70); - r4bs r4bs_5600_5008(yy[13], yy[14], single[28], double[28], neg[28], pp_28_70); - r4bs r4bs_5600_5136(yy[11], yy[12], single[29], double[29], neg[29], pp_29_70); - r4bs r4bs_5600_5264(yy[9], yy[10], single[30], double[30], neg[30], pp_30_70); - fullAdd_x FA_5600_5392(int_19_70, int_18_70, pp_28_70, pp_29_70, pp_30_70); - r4bs r4bs_5600_5608(yy[7], yy[8], single[31], double[31], neg[31], pp_31_70); - r4bs r4bs_5600_5736(yy[5], yy[6], single[32], double[32], neg[32], pp_32_70); - fullAdd_x FA_5600_5864(int_21_70, int_20_70, pp_31_70, pp_32_70, int_1_69); - fullAdd_x FA_5600_6080(int_23_70, int_22_70, int_3_69, int_5_69, int_7_69); - fullAdd_x FA_5600_6296(int_25_70, int_24_70, int_9_69, int_11_69, int_13_69); - fullAdd_x FA_5600_6512(int_27_70, int_26_70, int_15_69, int_17_69, int_19_69); - fullAdd_x FA_5600_6728(int_29_70, int_28_70, int_0_70, int_21_69, int_23_69); - fullAdd_x FA_5600_6944(int_31_70, int_30_70, int_25_69, int_27_69, int_2_70); - fullAdd_x FA_5600_7160(int_33_70, int_32_70, int_4_70, int_6_70, int_8_70); - fullAdd_x FA_5600_7376(int_35_70, int_34_70, int_10_70, int_12_70, int_14_70); - fullAdd_x FA_5600_7592(int_37_70, int_36_70, int_16_70, int_18_70, int_20_70); - fullAdd_x FA_5600_7808(int_39_70, int_38_70, int_29_69, int_31_69, int_33_69); - fullAdd_x FA_5600_8024(int_41_70, int_40_70, int_35_69, int_22_70, int_24_70); - fullAdd_x FA_5600_8240(int_43_70, int_42_70, int_26_70, int_37_69, int_39_69); - fullAdd_x FA_5600_8456(int_45_70, int_44_70, int_41_69, int_28_70, int_30_70); - fullAdd_x FA_5600_8672(int_47_70, int_46_70, int_32_70, int_34_70, int_36_70); - fullAdd_x FA_5600_8888(int_49_70, int_48_70, int_43_69, int_45_69, int_47_69); - fullAdd_x FA_5600_9104(int_51_70, int_50_70, int_38_70, int_40_70, int_42_70); - fullAdd_x FA_5600_9320(int_53_70, int_52_70, int_49_69, int_44_70, int_46_70); - fullAdd_x FA_5600_9536(int_55_70, int_54_70, int_51_69, int_53_69, int_48_70); - fullAdd_x FA_5600_9752(int_57_70, int_56_70, int_50_70, int_55_69, int_52_70); - fullAdd_x FA_5600_9968(int_59_70, int_58_70, int_57_69, int_54_70, int_56_70); - assign Sum[70] = int_59_69; - assign Carry[70] = int_58_70; - - // Hardware for column 71 - - r4bs r4bs_5680_0(yy[62], yy[63], single[4], double[4], neg[4], pp_4_71); - r4bs r4bs_5680_128(yy[60], yy[61], single[5], double[5], neg[5], pp_5_71); - fullAdd_x FA_5680_256(int_1_71, int_0_71, negbar[3], pp_4_71, pp_5_71); - r4bs r4bs_5680_472(yy[58], yy[59], single[6], double[6], neg[6], pp_6_71); - r4bs r4bs_5680_600(yy[56], yy[57], single[7], double[7], neg[7], pp_7_71); - r4bs r4bs_5680_728(yy[54], yy[55], single[8], double[8], neg[8], pp_8_71); - fullAdd_x FA_5680_856(int_3_71, int_2_71, pp_6_71, pp_7_71, pp_8_71); - r4bs r4bs_5680_1072(yy[52], yy[53], single[9], double[9], neg[9], pp_9_71); - r4bs r4bs_5680_1200(yy[50], yy[51], single[10], double[10], neg[10], pp_10_71); - r4bs r4bs_5680_1328(yy[48], yy[49], single[11], double[11], neg[11], pp_11_71); - fullAdd_x FA_5680_1456(int_5_71, int_4_71, pp_9_71, pp_10_71, pp_11_71); - r4bs r4bs_5680_1672(yy[46], yy[47], single[12], double[12], neg[12], pp_12_71); - r4bs r4bs_5680_1800(yy[44], yy[45], single[13], double[13], neg[13], pp_13_71); - r4bs r4bs_5680_1928(yy[42], yy[43], single[14], double[14], neg[14], pp_14_71); - fullAdd_x FA_5680_2056(int_7_71, int_6_71, pp_12_71, pp_13_71, pp_14_71); - r4bs r4bs_5680_2272(yy[40], yy[41], single[15], double[15], neg[15], pp_15_71); - r4bs r4bs_5680_2400(yy[38], yy[39], single[16], double[16], neg[16], pp_16_71); - r4bs r4bs_5680_2528(yy[36], yy[37], single[17], double[17], neg[17], pp_17_71); - fullAdd_x FA_5680_2656(int_9_71, int_8_71, pp_15_71, pp_16_71, pp_17_71); - r4bs r4bs_5680_2872(yy[34], yy[35], single[18], double[18], neg[18], pp_18_71); - r4bs r4bs_5680_3000(yy[32], yy[33], single[19], double[19], neg[19], pp_19_71); - r4bs r4bs_5680_3128(yy[30], yy[31], single[20], double[20], neg[20], pp_20_71); - fullAdd_x FA_5680_3256(int_11_71, int_10_71, pp_18_71, pp_19_71, pp_20_71); - r4bs r4bs_5680_3472(yy[28], yy[29], single[21], double[21], neg[21], pp_21_71); - r4bs r4bs_5680_3600(yy[26], yy[27], single[22], double[22], neg[22], pp_22_71); - r4bs r4bs_5680_3728(yy[24], yy[25], single[23], double[23], neg[23], pp_23_71); - fullAdd_x FA_5680_3856(int_13_71, int_12_71, pp_21_71, pp_22_71, pp_23_71); - r4bs r4bs_5680_4072(yy[22], yy[23], single[24], double[24], neg[24], pp_24_71); - r4bs r4bs_5680_4200(yy[20], yy[21], single[25], double[25], neg[25], pp_25_71); - r4bs r4bs_5680_4328(yy[18], yy[19], single[26], double[26], neg[26], pp_26_71); - fullAdd_x FA_5680_4456(int_15_71, int_14_71, pp_24_71, pp_25_71, pp_26_71); - r4bs r4bs_5680_4672(yy[16], yy[17], single[27], double[27], neg[27], pp_27_71); - r4bs r4bs_5680_4800(yy[14], yy[15], single[28], double[28], neg[28], pp_28_71); - r4bs r4bs_5680_4928(yy[12], yy[13], single[29], double[29], neg[29], pp_29_71); - fullAdd_x FA_5680_5056(int_17_71, int_16_71, pp_27_71, pp_28_71, pp_29_71); - r4bs r4bs_5680_5272(yy[10], yy[11], single[30], double[30], neg[30], pp_30_71); - r4bs r4bs_5680_5400(yy[8], yy[9], single[31], double[31], neg[31], pp_31_71); - r4bs r4bs_5680_5528(yy[6], yy[7], single[32], double[32], neg[32], pp_32_71); - fullAdd_x FA_5680_5656(int_19_71, int_18_71, pp_30_71, pp_31_71, pp_32_71); - fullAdd_x FA_5680_5872(int_21_71, int_20_71, int_1_70, int_3_70, int_5_70); - fullAdd_x FA_5680_6088(int_23_71, int_22_71, int_7_70, int_9_70, int_11_70); - fullAdd_x FA_5680_6304(int_25_71, int_24_71, int_13_70, int_15_70, int_17_70); - fullAdd_x FA_5680_6520(int_27_71, int_26_71, int_19_70, int_21_70, int_23_70); - fullAdd_x FA_5680_6736(int_29_71, int_28_71, int_25_70, int_27_70, int_0_71); - fullAdd_x FA_5680_6952(int_31_71, int_30_71, int_2_71, int_4_71, int_6_71); - fullAdd_x FA_5680_7168(int_33_71, int_32_71, int_8_71, int_10_71, int_12_71); - fullAdd_x FA_5680_7384(int_35_71, int_34_71, int_14_71, int_16_71, int_18_71); - fullAdd_x FA_5680_7600(int_37_71, int_36_71, int_29_70, int_31_70, int_33_70); - fullAdd_x FA_5680_7816(int_39_71, int_38_71, int_35_70, int_37_70, int_20_71); - fullAdd_x FA_5680_8032(int_41_71, int_40_71, int_22_71, int_24_71, int_39_70); - fullAdd_x FA_5680_8248(int_43_71, int_42_71, int_41_70, int_26_71, int_28_71); - fullAdd_x FA_5680_8464(int_45_71, int_44_71, int_30_71, int_32_71, int_34_71); - fullAdd_x FA_5680_8680(int_47_71, int_46_71, int_43_70, int_45_70, int_47_70); - fullAdd_x FA_5680_8896(int_49_71, int_48_71, int_36_71, int_38_71, int_40_71); - fullAdd_x FA_5680_9112(int_51_71, int_50_71, int_49_70, int_42_71, int_44_71); - fullAdd_x FA_5680_9328(int_53_71, int_52_71, int_51_70, int_53_70, int_46_71); - fullAdd_x FA_5680_9544(int_55_71, int_54_71, int_48_71, int_55_70, int_50_71); - fullAdd_x FA_5680_9760(int_57_71, int_56_71, int_57_70, int_52_71, int_54_71); - assign Sum[71] = int_59_70; - assign Carry[71] = int_56_71; - - // Hardware for column 72 - - r4bs r4bs_5760_0(yy[63], gnd, single[4], double[4], neg[4], pp_4_72); - halfAdd HA_5760_128(int_1_72, int_0_72, 1'b1, pp_4_72); - r4bs r4bs_5760_208(yy[61], yy[62], single[5], double[5], neg[5], pp_5_72); - r4bs r4bs_5760_336(yy[59], yy[60], single[6], double[6], neg[6], pp_6_72); - r4bs r4bs_5760_464(yy[57], yy[58], single[7], double[7], neg[7], pp_7_72); - fullAdd_x FA_5760_592(int_3_72, int_2_72, pp_5_72, pp_6_72, pp_7_72); - r4bs r4bs_5760_808(yy[55], yy[56], single[8], double[8], neg[8], pp_8_72); - r4bs r4bs_5760_936(yy[53], yy[54], single[9], double[9], neg[9], pp_9_72); - r4bs r4bs_5760_1064(yy[51], yy[52], single[10], double[10], neg[10], pp_10_72); - fullAdd_x FA_5760_1192(int_5_72, int_4_72, pp_8_72, pp_9_72, pp_10_72); - r4bs r4bs_5760_1408(yy[49], yy[50], single[11], double[11], neg[11], pp_11_72); - r4bs r4bs_5760_1536(yy[47], yy[48], single[12], double[12], neg[12], pp_12_72); - r4bs r4bs_5760_1664(yy[45], yy[46], single[13], double[13], neg[13], pp_13_72); - fullAdd_x FA_5760_1792(int_7_72, int_6_72, pp_11_72, pp_12_72, pp_13_72); - r4bs r4bs_5760_2008(yy[43], yy[44], single[14], double[14], neg[14], pp_14_72); - r4bs r4bs_5760_2136(yy[41], yy[42], single[15], double[15], neg[15], pp_15_72); - r4bs r4bs_5760_2264(yy[39], yy[40], single[16], double[16], neg[16], pp_16_72); - fullAdd_x FA_5760_2392(int_9_72, int_8_72, pp_14_72, pp_15_72, pp_16_72); - r4bs r4bs_5760_2608(yy[37], yy[38], single[17], double[17], neg[17], pp_17_72); - r4bs r4bs_5760_2736(yy[35], yy[36], single[18], double[18], neg[18], pp_18_72); - r4bs r4bs_5760_2864(yy[33], yy[34], single[19], double[19], neg[19], pp_19_72); - fullAdd_x FA_5760_2992(int_11_72, int_10_72, pp_17_72, pp_18_72, pp_19_72); - r4bs r4bs_5760_3208(yy[31], yy[32], single[20], double[20], neg[20], pp_20_72); - r4bs r4bs_5760_3336(yy[29], yy[30], single[21], double[21], neg[21], pp_21_72); - r4bs r4bs_5760_3464(yy[27], yy[28], single[22], double[22], neg[22], pp_22_72); - fullAdd_x FA_5760_3592(int_13_72, int_12_72, pp_20_72, pp_21_72, pp_22_72); - r4bs r4bs_5760_3808(yy[25], yy[26], single[23], double[23], neg[23], pp_23_72); - r4bs r4bs_5760_3936(yy[23], yy[24], single[24], double[24], neg[24], pp_24_72); - r4bs r4bs_5760_4064(yy[21], yy[22], single[25], double[25], neg[25], pp_25_72); - fullAdd_x FA_5760_4192(int_15_72, int_14_72, pp_23_72, pp_24_72, pp_25_72); - r4bs r4bs_5760_4408(yy[19], yy[20], single[26], double[26], neg[26], pp_26_72); - r4bs r4bs_5760_4536(yy[17], yy[18], single[27], double[27], neg[27], pp_27_72); - r4bs r4bs_5760_4664(yy[15], yy[16], single[28], double[28], neg[28], pp_28_72); - fullAdd_x FA_5760_4792(int_17_72, int_16_72, pp_26_72, pp_27_72, pp_28_72); - r4bs r4bs_5760_5008(yy[13], yy[14], single[29], double[29], neg[29], pp_29_72); - r4bs r4bs_5760_5136(yy[11], yy[12], single[30], double[30], neg[30], pp_30_72); - r4bs r4bs_5760_5264(yy[9], yy[10], single[31], double[31], neg[31], pp_31_72); - fullAdd_x FA_5760_5392(int_19_72, int_18_72, pp_29_72, pp_30_72, pp_31_72); - r4bs r4bs_5760_5608(yy[7], yy[8], single[32], double[32], neg[32], pp_32_72); - fullAdd_x FA_5760_5736(int_21_72, int_20_72, pp_32_72, int_1_71, int_3_71); - fullAdd_x FA_5760_5952(int_23_72, int_22_72, int_5_71, int_7_71, int_9_71); - fullAdd_x FA_5760_6168(int_25_72, int_24_72, int_11_71, int_13_71, int_15_71); - fullAdd_x FA_5760_6384(int_27_72, int_26_72, int_17_71, int_19_71, int_0_72); - fullAdd_x FA_5760_6600(int_29_72, int_28_72, int_21_71, int_23_71, int_25_71); - fullAdd_x FA_5760_6816(int_31_72, int_30_72, int_2_72, int_4_72, int_6_72); - fullAdd_x FA_5760_7032(int_33_72, int_32_72, int_8_72, int_10_72, int_12_72); - fullAdd_x FA_5760_7248(int_35_72, int_34_72, int_14_72, int_16_72, int_18_72); - fullAdd_x FA_5760_7464(int_37_72, int_36_72, int_27_71, int_29_71, int_31_71); - fullAdd_x FA_5760_7680(int_39_72, int_38_72, int_33_71, int_35_71, int_20_72); - fullAdd_x FA_5760_7896(int_41_72, int_40_72, int_22_72, int_24_72, int_26_72); - fullAdd_x FA_5760_8112(int_43_72, int_42_72, int_37_71, int_39_71, int_28_72); - fullAdd_x FA_5760_8328(int_45_72, int_44_72, int_30_72, int_32_72, int_34_72); - fullAdd_x FA_5760_8544(int_47_72, int_46_72, int_41_71, int_43_71, int_45_71); - fullAdd_x FA_5760_8760(int_49_72, int_48_72, int_36_72, int_38_72, int_40_72); - fullAdd_x FA_5760_8976(int_51_72, int_50_72, int_47_71, int_49_71, int_42_72); - fullAdd_x FA_5760_9192(int_53_72, int_52_72, int_44_72, int_51_71, int_46_72); - fullAdd_x FA_5760_9408(int_55_72, int_54_72, int_48_72, int_53_71, int_50_72); - fullAdd_x FA_5760_9624(int_57_72, int_56_72, int_55_71, int_52_72, int_54_72); - assign Sum[72] = int_57_71; - assign Carry[72] = int_56_72; - - // Hardware for column 73 - - r4bs r4bs_5840_0(yy[62], yy[63], single[5], double[5], neg[5], pp_5_73); - r4bs r4bs_5840_128(yy[60], yy[61], single[6], double[6], neg[6], pp_6_73); - fullAdd_x FA_5840_256(int_1_73, int_0_73, negbar[4], pp_5_73, pp_6_73); - r4bs r4bs_5840_472(yy[58], yy[59], single[7], double[7], neg[7], pp_7_73); - r4bs r4bs_5840_600(yy[56], yy[57], single[8], double[8], neg[8], pp_8_73); - r4bs r4bs_5840_728(yy[54], yy[55], single[9], double[9], neg[9], pp_9_73); - fullAdd_x FA_5840_856(int_3_73, int_2_73, pp_7_73, pp_8_73, pp_9_73); - r4bs r4bs_5840_1072(yy[52], yy[53], single[10], double[10], neg[10], pp_10_73); - r4bs r4bs_5840_1200(yy[50], yy[51], single[11], double[11], neg[11], pp_11_73); - r4bs r4bs_5840_1328(yy[48], yy[49], single[12], double[12], neg[12], pp_12_73); - fullAdd_x FA_5840_1456(int_5_73, int_4_73, pp_10_73, pp_11_73, pp_12_73); - r4bs r4bs_5840_1672(yy[46], yy[47], single[13], double[13], neg[13], pp_13_73); - r4bs r4bs_5840_1800(yy[44], yy[45], single[14], double[14], neg[14], pp_14_73); - r4bs r4bs_5840_1928(yy[42], yy[43], single[15], double[15], neg[15], pp_15_73); - fullAdd_x FA_5840_2056(int_7_73, int_6_73, pp_13_73, pp_14_73, pp_15_73); - r4bs r4bs_5840_2272(yy[40], yy[41], single[16], double[16], neg[16], pp_16_73); - r4bs r4bs_5840_2400(yy[38], yy[39], single[17], double[17], neg[17], pp_17_73); - r4bs r4bs_5840_2528(yy[36], yy[37], single[18], double[18], neg[18], pp_18_73); - fullAdd_x FA_5840_2656(int_9_73, int_8_73, pp_16_73, pp_17_73, pp_18_73); - r4bs r4bs_5840_2872(yy[34], yy[35], single[19], double[19], neg[19], pp_19_73); - r4bs r4bs_5840_3000(yy[32], yy[33], single[20], double[20], neg[20], pp_20_73); - r4bs r4bs_5840_3128(yy[30], yy[31], single[21], double[21], neg[21], pp_21_73); - fullAdd_x FA_5840_3256(int_11_73, int_10_73, pp_19_73, pp_20_73, pp_21_73); - r4bs r4bs_5840_3472(yy[28], yy[29], single[22], double[22], neg[22], pp_22_73); - r4bs r4bs_5840_3600(yy[26], yy[27], single[23], double[23], neg[23], pp_23_73); - r4bs r4bs_5840_3728(yy[24], yy[25], single[24], double[24], neg[24], pp_24_73); - fullAdd_x FA_5840_3856(int_13_73, int_12_73, pp_22_73, pp_23_73, pp_24_73); - r4bs r4bs_5840_4072(yy[22], yy[23], single[25], double[25], neg[25], pp_25_73); - r4bs r4bs_5840_4200(yy[20], yy[21], single[26], double[26], neg[26], pp_26_73); - r4bs r4bs_5840_4328(yy[18], yy[19], single[27], double[27], neg[27], pp_27_73); - fullAdd_x FA_5840_4456(int_15_73, int_14_73, pp_25_73, pp_26_73, pp_27_73); - r4bs r4bs_5840_4672(yy[16], yy[17], single[28], double[28], neg[28], pp_28_73); - r4bs r4bs_5840_4800(yy[14], yy[15], single[29], double[29], neg[29], pp_29_73); - r4bs r4bs_5840_4928(yy[12], yy[13], single[30], double[30], neg[30], pp_30_73); - fullAdd_x FA_5840_5056(int_17_73, int_16_73, pp_28_73, pp_29_73, pp_30_73); - r4bs r4bs_5840_5272(yy[10], yy[11], single[31], double[31], neg[31], pp_31_73); - r4bs r4bs_5840_5400(yy[8], yy[9], single[32], double[32], neg[32], pp_32_73); - fullAdd_x FA_5840_5528(int_19_73, int_18_73, pp_31_73, pp_32_73, int_1_72); - fullAdd_x FA_5840_5744(int_21_73, int_20_73, int_3_72, int_5_72, int_7_72); - fullAdd_x FA_5840_5960(int_23_73, int_22_73, int_9_72, int_11_72, int_13_72); - fullAdd_x FA_5840_6176(int_25_73, int_24_73, int_15_72, int_17_72, int_19_72); - fullAdd_x FA_5840_6392(int_27_73, int_26_73, int_21_72, int_23_72, int_25_72); - fullAdd_x FA_5840_6608(int_29_73, int_28_73, int_27_72, int_0_73, int_2_73); - fullAdd_x FA_5840_6824(int_31_73, int_30_73, int_4_73, int_6_73, int_8_73); - fullAdd_x FA_5840_7040(int_33_73, int_32_73, int_10_73, int_12_73, int_14_73); - fullAdd_x FA_5840_7256(int_35_73, int_34_73, int_16_73, int_18_73, int_29_72); - fullAdd_x FA_5840_7472(int_37_73, int_36_73, int_31_72, int_33_72, int_35_72); - fullAdd_x FA_5840_7688(int_39_73, int_38_73, int_20_73, int_22_73, int_24_73); - fullAdd_x FA_5840_7904(int_41_73, int_40_73, int_37_72, int_39_72, int_41_72); - fullAdd_x FA_5840_8120(int_43_73, int_42_73, int_26_73, int_28_73, int_30_73); - fullAdd_x FA_5840_8336(int_45_73, int_44_73, int_32_73, int_34_73, int_43_72); - fullAdd_x FA_5840_8552(int_47_73, int_46_73, int_45_72, int_36_73, int_38_73); - fullAdd_x FA_5840_8768(int_49_73, int_48_73, int_47_72, int_49_72, int_40_73); - fullAdd_x FA_5840_8984(int_51_73, int_50_73, int_42_73, int_44_73, int_51_72); - fullAdd_x FA_5840_9200(int_53_73, int_52_73, int_46_73, int_53_72, int_48_73); - fullAdd_x FA_5840_9416(int_55_73, int_54_73, int_50_73, int_55_72, int_52_73); - assign Sum[73] = int_57_72; - assign Carry[73] = int_54_73; - - // Hardware for column 74 - - r4bs r4bs_5920_0(yy[63], gnd, single[5], double[5], neg[5], pp_5_74); - halfAdd HA_5920_128(int_1_74, int_0_74, 1'b1, pp_5_74); - r4bs r4bs_5920_208(yy[61], yy[62], single[6], double[6], neg[6], pp_6_74); - r4bs r4bs_5920_336(yy[59], yy[60], single[7], double[7], neg[7], pp_7_74); - r4bs r4bs_5920_464(yy[57], yy[58], single[8], double[8], neg[8], pp_8_74); - fullAdd_x FA_5920_592(int_3_74, int_2_74, pp_6_74, pp_7_74, pp_8_74); - r4bs r4bs_5920_808(yy[55], yy[56], single[9], double[9], neg[9], pp_9_74); - r4bs r4bs_5920_936(yy[53], yy[54], single[10], double[10], neg[10], pp_10_74); - r4bs r4bs_5920_1064(yy[51], yy[52], single[11], double[11], neg[11], pp_11_74); - fullAdd_x FA_5920_1192(int_5_74, int_4_74, pp_9_74, pp_10_74, pp_11_74); - r4bs r4bs_5920_1408(yy[49], yy[50], single[12], double[12], neg[12], pp_12_74); - r4bs r4bs_5920_1536(yy[47], yy[48], single[13], double[13], neg[13], pp_13_74); - r4bs r4bs_5920_1664(yy[45], yy[46], single[14], double[14], neg[14], pp_14_74); - fullAdd_x FA_5920_1792(int_7_74, int_6_74, pp_12_74, pp_13_74, pp_14_74); - r4bs r4bs_5920_2008(yy[43], yy[44], single[15], double[15], neg[15], pp_15_74); - r4bs r4bs_5920_2136(yy[41], yy[42], single[16], double[16], neg[16], pp_16_74); - r4bs r4bs_5920_2264(yy[39], yy[40], single[17], double[17], neg[17], pp_17_74); - fullAdd_x FA_5920_2392(int_9_74, int_8_74, pp_15_74, pp_16_74, pp_17_74); - r4bs r4bs_5920_2608(yy[37], yy[38], single[18], double[18], neg[18], pp_18_74); - r4bs r4bs_5920_2736(yy[35], yy[36], single[19], double[19], neg[19], pp_19_74); - r4bs r4bs_5920_2864(yy[33], yy[34], single[20], double[20], neg[20], pp_20_74); - fullAdd_x FA_5920_2992(int_11_74, int_10_74, pp_18_74, pp_19_74, pp_20_74); - r4bs r4bs_5920_3208(yy[31], yy[32], single[21], double[21], neg[21], pp_21_74); - r4bs r4bs_5920_3336(yy[29], yy[30], single[22], double[22], neg[22], pp_22_74); - r4bs r4bs_5920_3464(yy[27], yy[28], single[23], double[23], neg[23], pp_23_74); - fullAdd_x FA_5920_3592(int_13_74, int_12_74, pp_21_74, pp_22_74, pp_23_74); - r4bs r4bs_5920_3808(yy[25], yy[26], single[24], double[24], neg[24], pp_24_74); - r4bs r4bs_5920_3936(yy[23], yy[24], single[25], double[25], neg[25], pp_25_74); - r4bs r4bs_5920_4064(yy[21], yy[22], single[26], double[26], neg[26], pp_26_74); - fullAdd_x FA_5920_4192(int_15_74, int_14_74, pp_24_74, pp_25_74, pp_26_74); - r4bs r4bs_5920_4408(yy[19], yy[20], single[27], double[27], neg[27], pp_27_74); - r4bs r4bs_5920_4536(yy[17], yy[18], single[28], double[28], neg[28], pp_28_74); - r4bs r4bs_5920_4664(yy[15], yy[16], single[29], double[29], neg[29], pp_29_74); - fullAdd_x FA_5920_4792(int_17_74, int_16_74, pp_27_74, pp_28_74, pp_29_74); - r4bs r4bs_5920_5008(yy[13], yy[14], single[30], double[30], neg[30], pp_30_74); - r4bs r4bs_5920_5136(yy[11], yy[12], single[31], double[31], neg[31], pp_31_74); - r4bs r4bs_5920_5264(yy[9], yy[10], single[32], double[32], neg[32], pp_32_74); - fullAdd_x FA_5920_5392(int_19_74, int_18_74, pp_30_74, pp_31_74, pp_32_74); - fullAdd_x FA_5920_5608(int_21_74, int_20_74, int_1_73, int_3_73, int_5_73); - fullAdd_x FA_5920_5824(int_23_74, int_22_74, int_7_73, int_9_73, int_11_73); - fullAdd_x FA_5920_6040(int_25_74, int_24_74, int_13_73, int_15_73, int_17_73); - fullAdd_x FA_5920_6256(int_27_74, int_26_74, int_0_74, int_19_73, int_21_73); - fullAdd_x FA_5920_6472(int_29_74, int_28_74, int_23_73, int_25_73, int_2_74); - fullAdd_x FA_5920_6688(int_31_74, int_30_74, int_4_74, int_6_74, int_8_74); - fullAdd_x FA_5920_6904(int_33_74, int_32_74, int_10_74, int_12_74, int_14_74); - fullAdd_x FA_5920_7120(int_35_74, int_34_74, int_16_74, int_18_74, int_27_73); - fullAdd_x FA_5920_7336(int_37_74, int_36_74, int_29_73, int_31_73, int_33_73); - fullAdd_x FA_5920_7552(int_39_74, int_38_74, int_20_74, int_22_74, int_24_74); - fullAdd_x FA_5920_7768(int_41_74, int_40_74, int_26_74, int_35_73, int_37_73); - fullAdd_x FA_5920_7984(int_43_74, int_42_74, int_39_73, int_28_74, int_30_74); - fullAdd_x FA_5920_8200(int_45_74, int_44_74, int_32_74, int_34_74, int_41_73); - fullAdd_x FA_5920_8416(int_47_74, int_46_74, int_43_73, int_36_74, int_38_74); - fullAdd_x FA_5920_8632(int_49_74, int_48_74, int_45_73, int_47_73, int_40_74); - fullAdd_x FA_5920_8848(int_51_74, int_50_74, int_42_74, int_44_74, int_49_73); - fullAdd_x FA_5920_9064(int_53_74, int_52_74, int_46_74, int_51_73, int_48_74); - fullAdd_x FA_5920_9280(int_55_74, int_54_74, int_50_74, int_53_73, int_52_74); - assign Sum[74] = int_55_73; - assign Carry[74] = int_54_74; - - // Hardware for column 75 - - r4bs r4bs_6000_0(yy[62], yy[63], single[6], double[6], neg[6], pp_6_75); - r4bs r4bs_6000_128(yy[60], yy[61], single[7], double[7], neg[7], pp_7_75); - fullAdd_x FA_6000_256(int_1_75, int_0_75, negbar[5], pp_6_75, pp_7_75); - r4bs r4bs_6000_472(yy[58], yy[59], single[8], double[8], neg[8], pp_8_75); - r4bs r4bs_6000_600(yy[56], yy[57], single[9], double[9], neg[9], pp_9_75); - r4bs r4bs_6000_728(yy[54], yy[55], single[10], double[10], neg[10], pp_10_75); - fullAdd_x FA_6000_856(int_3_75, int_2_75, pp_8_75, pp_9_75, pp_10_75); - r4bs r4bs_6000_1072(yy[52], yy[53], single[11], double[11], neg[11], pp_11_75); - r4bs r4bs_6000_1200(yy[50], yy[51], single[12], double[12], neg[12], pp_12_75); - r4bs r4bs_6000_1328(yy[48], yy[49], single[13], double[13], neg[13], pp_13_75); - fullAdd_x FA_6000_1456(int_5_75, int_4_75, pp_11_75, pp_12_75, pp_13_75); - r4bs r4bs_6000_1672(yy[46], yy[47], single[14], double[14], neg[14], pp_14_75); - r4bs r4bs_6000_1800(yy[44], yy[45], single[15], double[15], neg[15], pp_15_75); - r4bs r4bs_6000_1928(yy[42], yy[43], single[16], double[16], neg[16], pp_16_75); - fullAdd_x FA_6000_2056(int_7_75, int_6_75, pp_14_75, pp_15_75, pp_16_75); - r4bs r4bs_6000_2272(yy[40], yy[41], single[17], double[17], neg[17], pp_17_75); - r4bs r4bs_6000_2400(yy[38], yy[39], single[18], double[18], neg[18], pp_18_75); - r4bs r4bs_6000_2528(yy[36], yy[37], single[19], double[19], neg[19], pp_19_75); - fullAdd_x FA_6000_2656(int_9_75, int_8_75, pp_17_75, pp_18_75, pp_19_75); - r4bs r4bs_6000_2872(yy[34], yy[35], single[20], double[20], neg[20], pp_20_75); - r4bs r4bs_6000_3000(yy[32], yy[33], single[21], double[21], neg[21], pp_21_75); - r4bs r4bs_6000_3128(yy[30], yy[31], single[22], double[22], neg[22], pp_22_75); - fullAdd_x FA_6000_3256(int_11_75, int_10_75, pp_20_75, pp_21_75, pp_22_75); - r4bs r4bs_6000_3472(yy[28], yy[29], single[23], double[23], neg[23], pp_23_75); - r4bs r4bs_6000_3600(yy[26], yy[27], single[24], double[24], neg[24], pp_24_75); - r4bs r4bs_6000_3728(yy[24], yy[25], single[25], double[25], neg[25], pp_25_75); - fullAdd_x FA_6000_3856(int_13_75, int_12_75, pp_23_75, pp_24_75, pp_25_75); - r4bs r4bs_6000_4072(yy[22], yy[23], single[26], double[26], neg[26], pp_26_75); - r4bs r4bs_6000_4200(yy[20], yy[21], single[27], double[27], neg[27], pp_27_75); - r4bs r4bs_6000_4328(yy[18], yy[19], single[28], double[28], neg[28], pp_28_75); - fullAdd_x FA_6000_4456(int_15_75, int_14_75, pp_26_75, pp_27_75, pp_28_75); - r4bs r4bs_6000_4672(yy[16], yy[17], single[29], double[29], neg[29], pp_29_75); - r4bs r4bs_6000_4800(yy[14], yy[15], single[30], double[30], neg[30], pp_30_75); - r4bs r4bs_6000_4928(yy[12], yy[13], single[31], double[31], neg[31], pp_31_75); - fullAdd_x FA_6000_5056(int_17_75, int_16_75, pp_29_75, pp_30_75, pp_31_75); - r4bs r4bs_6000_5272(yy[10], yy[11], single[32], double[32], neg[32], pp_32_75); - fullAdd_x FA_6000_5400(int_19_75, int_18_75, pp_32_75, int_1_74, int_3_74); - fullAdd_x FA_6000_5616(int_21_75, int_20_75, int_5_74, int_7_74, int_9_74); - fullAdd_x FA_6000_5832(int_23_75, int_22_75, int_11_74, int_13_74, int_15_74); - fullAdd_x FA_6000_6048(int_25_75, int_24_75, int_17_74, int_19_74, int_21_74); - fullAdd_x FA_6000_6264(int_27_75, int_26_75, int_23_74, int_25_74, int_0_75); - fullAdd_x FA_6000_6480(int_29_75, int_28_75, int_2_75, int_4_75, int_6_75); - fullAdd_x FA_6000_6696(int_31_75, int_30_75, int_8_75, int_10_75, int_12_75); - fullAdd_x FA_6000_6912(int_33_75, int_32_75, int_14_75, int_16_75, int_18_75); - fullAdd_x FA_6000_7128(int_35_75, int_34_75, int_27_74, int_29_74, int_31_74); - fullAdd_x FA_6000_7344(int_37_75, int_36_75, int_33_74, int_20_75, int_22_75); - fullAdd_x FA_6000_7560(int_39_75, int_38_75, int_24_75, int_35_74, int_37_74); - fullAdd_x FA_6000_7776(int_41_75, int_40_75, int_39_74, int_26_75, int_28_75); - fullAdd_x FA_6000_7992(int_43_75, int_42_75, int_30_75, int_32_75, int_41_74); - fullAdd_x FA_6000_8208(int_45_75, int_44_75, int_43_74, int_34_75, int_36_75); - fullAdd_x FA_6000_8424(int_47_75, int_46_75, int_45_74, int_47_74, int_38_75); - fullAdd_x FA_6000_8640(int_49_75, int_48_75, int_40_75, int_42_75, int_49_74); - fullAdd_x FA_6000_8856(int_51_75, int_50_75, int_44_75, int_51_74, int_46_75); - fullAdd_x FA_6000_9072(int_53_75, int_52_75, int_48_75, int_53_74, int_50_75); - assign Sum[75] = int_55_74; - assign Carry[75] = int_52_75; - - // Hardware for column 76 - - r4bs r4bs_6080_0(yy[63], gnd, single[6], double[6], neg[6], pp_6_76); - halfAdd HA_6080_128(int_1_76, int_0_76, 1'b1, pp_6_76); - r4bs r4bs_6080_208(yy[61], yy[62], single[7], double[7], neg[7], pp_7_76); - r4bs r4bs_6080_336(yy[59], yy[60], single[8], double[8], neg[8], pp_8_76); - r4bs r4bs_6080_464(yy[57], yy[58], single[9], double[9], neg[9], pp_9_76); - fullAdd_x FA_6080_592(int_3_76, int_2_76, pp_7_76, pp_8_76, pp_9_76); - r4bs r4bs_6080_808(yy[55], yy[56], single[10], double[10], neg[10], pp_10_76); - r4bs r4bs_6080_936(yy[53], yy[54], single[11], double[11], neg[11], pp_11_76); - r4bs r4bs_6080_1064(yy[51], yy[52], single[12], double[12], neg[12], pp_12_76); - fullAdd_x FA_6080_1192(int_5_76, int_4_76, pp_10_76, pp_11_76, pp_12_76); - r4bs r4bs_6080_1408(yy[49], yy[50], single[13], double[13], neg[13], pp_13_76); - r4bs r4bs_6080_1536(yy[47], yy[48], single[14], double[14], neg[14], pp_14_76); - r4bs r4bs_6080_1664(yy[45], yy[46], single[15], double[15], neg[15], pp_15_76); - fullAdd_x FA_6080_1792(int_7_76, int_6_76, pp_13_76, pp_14_76, pp_15_76); - r4bs r4bs_6080_2008(yy[43], yy[44], single[16], double[16], neg[16], pp_16_76); - r4bs r4bs_6080_2136(yy[41], yy[42], single[17], double[17], neg[17], pp_17_76); - r4bs r4bs_6080_2264(yy[39], yy[40], single[18], double[18], neg[18], pp_18_76); - fullAdd_x FA_6080_2392(int_9_76, int_8_76, pp_16_76, pp_17_76, pp_18_76); - r4bs r4bs_6080_2608(yy[37], yy[38], single[19], double[19], neg[19], pp_19_76); - r4bs r4bs_6080_2736(yy[35], yy[36], single[20], double[20], neg[20], pp_20_76); - r4bs r4bs_6080_2864(yy[33], yy[34], single[21], double[21], neg[21], pp_21_76); - fullAdd_x FA_6080_2992(int_11_76, int_10_76, pp_19_76, pp_20_76, pp_21_76); - r4bs r4bs_6080_3208(yy[31], yy[32], single[22], double[22], neg[22], pp_22_76); - r4bs r4bs_6080_3336(yy[29], yy[30], single[23], double[23], neg[23], pp_23_76); - r4bs r4bs_6080_3464(yy[27], yy[28], single[24], double[24], neg[24], pp_24_76); - fullAdd_x FA_6080_3592(int_13_76, int_12_76, pp_22_76, pp_23_76, pp_24_76); - r4bs r4bs_6080_3808(yy[25], yy[26], single[25], double[25], neg[25], pp_25_76); - r4bs r4bs_6080_3936(yy[23], yy[24], single[26], double[26], neg[26], pp_26_76); - r4bs r4bs_6080_4064(yy[21], yy[22], single[27], double[27], neg[27], pp_27_76); - fullAdd_x FA_6080_4192(int_15_76, int_14_76, pp_25_76, pp_26_76, pp_27_76); - r4bs r4bs_6080_4408(yy[19], yy[20], single[28], double[28], neg[28], pp_28_76); - r4bs r4bs_6080_4536(yy[17], yy[18], single[29], double[29], neg[29], pp_29_76); - r4bs r4bs_6080_4664(yy[15], yy[16], single[30], double[30], neg[30], pp_30_76); - fullAdd_x FA_6080_4792(int_17_76, int_16_76, pp_28_76, pp_29_76, pp_30_76); - r4bs r4bs_6080_5008(yy[13], yy[14], single[31], double[31], neg[31], pp_31_76); - r4bs r4bs_6080_5136(yy[11], yy[12], single[32], double[32], neg[32], pp_32_76); - fullAdd_x FA_6080_5264(int_19_76, int_18_76, pp_31_76, pp_32_76, int_1_75); - fullAdd_x FA_6080_5480(int_21_76, int_20_76, int_3_75, int_5_75, int_7_75); - fullAdd_x FA_6080_5696(int_23_76, int_22_76, int_9_75, int_11_75, int_13_75); - fullAdd_x FA_6080_5912(int_25_76, int_24_76, int_15_75, int_17_75, int_0_76); - fullAdd_x FA_6080_6128(int_27_76, int_26_76, int_19_75, int_21_75, int_23_75); - fullAdd_x FA_6080_6344(int_29_76, int_28_76, int_2_76, int_4_76, int_6_76); - fullAdd_x FA_6080_6560(int_31_76, int_30_76, int_8_76, int_10_76, int_12_76); - fullAdd_x FA_6080_6776(int_33_76, int_32_76, int_14_76, int_16_76, int_18_76); - fullAdd_x FA_6080_6992(int_35_76, int_34_76, int_25_75, int_27_75, int_29_75); - fullAdd_x FA_6080_7208(int_37_76, int_36_76, int_31_75, int_20_76, int_22_76); - fullAdd_x FA_6080_7424(int_39_76, int_38_76, int_24_76, int_33_75, int_35_75); - fullAdd_x FA_6080_7640(int_41_76, int_40_76, int_37_75, int_26_76, int_28_76); - fullAdd_x FA_6080_7856(int_43_76, int_42_76, int_30_76, int_32_76, int_39_75); - fullAdd_x FA_6080_8072(int_45_76, int_44_76, int_41_75, int_34_76, int_36_76); - fullAdd_x FA_6080_8288(int_47_76, int_46_76, int_38_76, int_43_75, int_45_75); - fullAdd_x FA_6080_8504(int_49_76, int_48_76, int_40_76, int_42_76, int_47_75); - fullAdd_x FA_6080_8720(int_51_76, int_50_76, int_44_76, int_49_75, int_46_76); - fullAdd_x FA_6080_8936(int_53_76, int_52_76, int_48_76, int_51_75, int_50_76); - assign Sum[76] = int_53_75; - assign Carry[76] = int_52_76; - - // Hardware for column 77 - - r4bs r4bs_6160_0(yy[62], yy[63], single[7], double[7], neg[7], pp_7_77); - r4bs r4bs_6160_128(yy[60], yy[61], single[8], double[8], neg[8], pp_8_77); - fullAdd_x FA_6160_256(int_1_77, int_0_77, negbar[6], pp_7_77, pp_8_77); - r4bs r4bs_6160_472(yy[58], yy[59], single[9], double[9], neg[9], pp_9_77); - r4bs r4bs_6160_600(yy[56], yy[57], single[10], double[10], neg[10], pp_10_77); - r4bs r4bs_6160_728(yy[54], yy[55], single[11], double[11], neg[11], pp_11_77); - fullAdd_x FA_6160_856(int_3_77, int_2_77, pp_9_77, pp_10_77, pp_11_77); - r4bs r4bs_6160_1072(yy[52], yy[53], single[12], double[12], neg[12], pp_12_77); - r4bs r4bs_6160_1200(yy[50], yy[51], single[13], double[13], neg[13], pp_13_77); - r4bs r4bs_6160_1328(yy[48], yy[49], single[14], double[14], neg[14], pp_14_77); - fullAdd_x FA_6160_1456(int_5_77, int_4_77, pp_12_77, pp_13_77, pp_14_77); - r4bs r4bs_6160_1672(yy[46], yy[47], single[15], double[15], neg[15], pp_15_77); - r4bs r4bs_6160_1800(yy[44], yy[45], single[16], double[16], neg[16], pp_16_77); - r4bs r4bs_6160_1928(yy[42], yy[43], single[17], double[17], neg[17], pp_17_77); - fullAdd_x FA_6160_2056(int_7_77, int_6_77, pp_15_77, pp_16_77, pp_17_77); - r4bs r4bs_6160_2272(yy[40], yy[41], single[18], double[18], neg[18], pp_18_77); - r4bs r4bs_6160_2400(yy[38], yy[39], single[19], double[19], neg[19], pp_19_77); - r4bs r4bs_6160_2528(yy[36], yy[37], single[20], double[20], neg[20], pp_20_77); - fullAdd_x FA_6160_2656(int_9_77, int_8_77, pp_18_77, pp_19_77, pp_20_77); - r4bs r4bs_6160_2872(yy[34], yy[35], single[21], double[21], neg[21], pp_21_77); - r4bs r4bs_6160_3000(yy[32], yy[33], single[22], double[22], neg[22], pp_22_77); - r4bs r4bs_6160_3128(yy[30], yy[31], single[23], double[23], neg[23], pp_23_77); - fullAdd_x FA_6160_3256(int_11_77, int_10_77, pp_21_77, pp_22_77, pp_23_77); - r4bs r4bs_6160_3472(yy[28], yy[29], single[24], double[24], neg[24], pp_24_77); - r4bs r4bs_6160_3600(yy[26], yy[27], single[25], double[25], neg[25], pp_25_77); - r4bs r4bs_6160_3728(yy[24], yy[25], single[26], double[26], neg[26], pp_26_77); - fullAdd_x FA_6160_3856(int_13_77, int_12_77, pp_24_77, pp_25_77, pp_26_77); - r4bs r4bs_6160_4072(yy[22], yy[23], single[27], double[27], neg[27], pp_27_77); - r4bs r4bs_6160_4200(yy[20], yy[21], single[28], double[28], neg[28], pp_28_77); - r4bs r4bs_6160_4328(yy[18], yy[19], single[29], double[29], neg[29], pp_29_77); - fullAdd_x FA_6160_4456(int_15_77, int_14_77, pp_27_77, pp_28_77, pp_29_77); - r4bs r4bs_6160_4672(yy[16], yy[17], single[30], double[30], neg[30], pp_30_77); - r4bs r4bs_6160_4800(yy[14], yy[15], single[31], double[31], neg[31], pp_31_77); - r4bs r4bs_6160_4928(yy[12], yy[13], single[32], double[32], neg[32], pp_32_77); - fullAdd_x FA_6160_5056(int_17_77, int_16_77, pp_30_77, pp_31_77, pp_32_77); - fullAdd_x FA_6160_5272(int_19_77, int_18_77, int_1_76, int_3_76, int_5_76); - fullAdd_x FA_6160_5488(int_21_77, int_20_77, int_7_76, int_9_76, int_11_76); - fullAdd_x FA_6160_5704(int_23_77, int_22_77, int_13_76, int_15_76, int_17_76); - fullAdd_x FA_6160_5920(int_25_77, int_24_77, int_19_76, int_21_76, int_23_76); - fullAdd_x FA_6160_6136(int_27_77, int_26_77, int_25_76, int_0_77, int_2_77); - fullAdd_x FA_6160_6352(int_29_77, int_28_77, int_4_77, int_6_77, int_8_77); - fullAdd_x FA_6160_6568(int_31_77, int_30_77, int_10_77, int_12_77, int_14_77); - fullAdd_x FA_6160_6784(int_33_77, int_32_77, int_16_77, int_27_76, int_29_76); - fullAdd_x FA_6160_7000(int_35_77, int_34_77, int_31_76, int_33_76, int_18_77); - fullAdd_x FA_6160_7216(int_37_77, int_36_77, int_20_77, int_22_77, int_35_76); - fullAdd_x FA_6160_7432(int_39_77, int_38_77, int_37_76, int_24_77, int_26_77); - fullAdd_x FA_6160_7648(int_41_77, int_40_77, int_28_77, int_30_77, int_39_76); - fullAdd_x FA_6160_7864(int_43_77, int_42_77, int_41_76, int_32_77, int_34_77); - fullAdd_x FA_6160_8080(int_45_77, int_44_77, int_36_77, int_43_76, int_45_76); - fullAdd_x FA_6160_8296(int_47_77, int_46_77, int_38_77, int_40_77, int_47_76); - fullAdd_x FA_6160_8512(int_49_77, int_48_77, int_42_77, int_49_76, int_44_77); - fullAdd_x FA_6160_8728(int_51_77, int_50_77, int_46_77, int_51_76, int_48_77); - assign Sum[77] = int_53_76; - assign Carry[77] = int_50_77; - - // Hardware for column 78 - - r4bs r4bs_6240_0(yy[63], gnd, single[7], double[7], neg[7], pp_7_78); - halfAdd HA_6240_128(int_1_78, int_0_78, 1'b1, pp_7_78); - r4bs r4bs_6240_208(yy[61], yy[62], single[8], double[8], neg[8], pp_8_78); - r4bs r4bs_6240_336(yy[59], yy[60], single[9], double[9], neg[9], pp_9_78); - r4bs r4bs_6240_464(yy[57], yy[58], single[10], double[10], neg[10], pp_10_78); - fullAdd_x FA_6240_592(int_3_78, int_2_78, pp_8_78, pp_9_78, pp_10_78); - r4bs r4bs_6240_808(yy[55], yy[56], single[11], double[11], neg[11], pp_11_78); - r4bs r4bs_6240_936(yy[53], yy[54], single[12], double[12], neg[12], pp_12_78); - r4bs r4bs_6240_1064(yy[51], yy[52], single[13], double[13], neg[13], pp_13_78); - fullAdd_x FA_6240_1192(int_5_78, int_4_78, pp_11_78, pp_12_78, pp_13_78); - r4bs r4bs_6240_1408(yy[49], yy[50], single[14], double[14], neg[14], pp_14_78); - r4bs r4bs_6240_1536(yy[47], yy[48], single[15], double[15], neg[15], pp_15_78); - r4bs r4bs_6240_1664(yy[45], yy[46], single[16], double[16], neg[16], pp_16_78); - fullAdd_x FA_6240_1792(int_7_78, int_6_78, pp_14_78, pp_15_78, pp_16_78); - r4bs r4bs_6240_2008(yy[43], yy[44], single[17], double[17], neg[17], pp_17_78); - r4bs r4bs_6240_2136(yy[41], yy[42], single[18], double[18], neg[18], pp_18_78); - r4bs r4bs_6240_2264(yy[39], yy[40], single[19], double[19], neg[19], pp_19_78); - fullAdd_x FA_6240_2392(int_9_78, int_8_78, pp_17_78, pp_18_78, pp_19_78); - r4bs r4bs_6240_2608(yy[37], yy[38], single[20], double[20], neg[20], pp_20_78); - r4bs r4bs_6240_2736(yy[35], yy[36], single[21], double[21], neg[21], pp_21_78); - r4bs r4bs_6240_2864(yy[33], yy[34], single[22], double[22], neg[22], pp_22_78); - fullAdd_x FA_6240_2992(int_11_78, int_10_78, pp_20_78, pp_21_78, pp_22_78); - r4bs r4bs_6240_3208(yy[31], yy[32], single[23], double[23], neg[23], pp_23_78); - r4bs r4bs_6240_3336(yy[29], yy[30], single[24], double[24], neg[24], pp_24_78); - r4bs r4bs_6240_3464(yy[27], yy[28], single[25], double[25], neg[25], pp_25_78); - fullAdd_x FA_6240_3592(int_13_78, int_12_78, pp_23_78, pp_24_78, pp_25_78); - r4bs r4bs_6240_3808(yy[25], yy[26], single[26], double[26], neg[26], pp_26_78); - r4bs r4bs_6240_3936(yy[23], yy[24], single[27], double[27], neg[27], pp_27_78); - r4bs r4bs_6240_4064(yy[21], yy[22], single[28], double[28], neg[28], pp_28_78); - fullAdd_x FA_6240_4192(int_15_78, int_14_78, pp_26_78, pp_27_78, pp_28_78); - r4bs r4bs_6240_4408(yy[19], yy[20], single[29], double[29], neg[29], pp_29_78); - r4bs r4bs_6240_4536(yy[17], yy[18], single[30], double[30], neg[30], pp_30_78); - r4bs r4bs_6240_4664(yy[15], yy[16], single[31], double[31], neg[31], pp_31_78); - fullAdd_x FA_6240_4792(int_17_78, int_16_78, pp_29_78, pp_30_78, pp_31_78); - r4bs r4bs_6240_5008(yy[13], yy[14], single[32], double[32], neg[32], pp_32_78); - fullAdd_x FA_6240_5136(int_19_78, int_18_78, pp_32_78, int_1_77, int_3_77); - fullAdd_x FA_6240_5352(int_21_78, int_20_78, int_5_77, int_7_77, int_9_77); - fullAdd_x FA_6240_5568(int_23_78, int_22_78, int_11_77, int_13_77, int_15_77); - fullAdd_x FA_6240_5784(int_25_78, int_24_78, int_17_77, int_0_78, int_19_77); - fullAdd_x FA_6240_6000(int_27_78, int_26_78, int_21_77, int_23_77, int_2_78); - fullAdd_x FA_6240_6216(int_29_78, int_28_78, int_4_78, int_6_78, int_8_78); - fullAdd_x FA_6240_6432(int_31_78, int_30_78, int_10_78, int_12_78, int_14_78); - fullAdd_x FA_6240_6648(int_33_78, int_32_78, int_16_78, int_25_77, int_27_77); - fullAdd_x FA_6240_6864(int_35_78, int_34_78, int_29_77, int_31_77, int_18_78); - fullAdd_x FA_6240_7080(int_37_78, int_36_78, int_20_78, int_22_78, int_24_78); - fullAdd_x FA_6240_7296(int_39_78, int_38_78, int_33_77, int_35_77, int_26_78); - fullAdd_x FA_6240_7512(int_41_78, int_40_78, int_28_78, int_30_78, int_37_77); - fullAdd_x FA_6240_7728(int_43_78, int_42_78, int_39_77, int_32_78, int_34_78); - fullAdd_x FA_6240_7944(int_45_78, int_44_78, int_36_78, int_41_77, int_43_77); - fullAdd_x FA_6240_8160(int_47_78, int_46_78, int_38_78, int_40_78, int_45_77); - fullAdd_x FA_6240_8376(int_49_78, int_48_78, int_42_78, int_47_77, int_44_78); - fullAdd_x FA_6240_8592(int_51_78, int_50_78, int_46_78, int_49_77, int_48_78); - assign Sum[78] = int_51_77; - assign Carry[78] = int_50_78; - - // Hardware for column 79 - - r4bs r4bs_6320_0(yy[62], yy[63], single[8], double[8], neg[8], pp_8_79); - r4bs r4bs_6320_128(yy[60], yy[61], single[9], double[9], neg[9], pp_9_79); - fullAdd_x FA_6320_256(int_1_79, int_0_79, negbar[7], pp_8_79, pp_9_79); - r4bs r4bs_6320_472(yy[58], yy[59], single[10], double[10], neg[10], pp_10_79); - r4bs r4bs_6320_600(yy[56], yy[57], single[11], double[11], neg[11], pp_11_79); - r4bs r4bs_6320_728(yy[54], yy[55], single[12], double[12], neg[12], pp_12_79); - fullAdd_x FA_6320_856(int_3_79, int_2_79, pp_10_79, pp_11_79, pp_12_79); - r4bs r4bs_6320_1072(yy[52], yy[53], single[13], double[13], neg[13], pp_13_79); - r4bs r4bs_6320_1200(yy[50], yy[51], single[14], double[14], neg[14], pp_14_79); - r4bs r4bs_6320_1328(yy[48], yy[49], single[15], double[15], neg[15], pp_15_79); - fullAdd_x FA_6320_1456(int_5_79, int_4_79, pp_13_79, pp_14_79, pp_15_79); - r4bs r4bs_6320_1672(yy[46], yy[47], single[16], double[16], neg[16], pp_16_79); - r4bs r4bs_6320_1800(yy[44], yy[45], single[17], double[17], neg[17], pp_17_79); - r4bs r4bs_6320_1928(yy[42], yy[43], single[18], double[18], neg[18], pp_18_79); - fullAdd_x FA_6320_2056(int_7_79, int_6_79, pp_16_79, pp_17_79, pp_18_79); - r4bs r4bs_6320_2272(yy[40], yy[41], single[19], double[19], neg[19], pp_19_79); - r4bs r4bs_6320_2400(yy[38], yy[39], single[20], double[20], neg[20], pp_20_79); - r4bs r4bs_6320_2528(yy[36], yy[37], single[21], double[21], neg[21], pp_21_79); - fullAdd_x FA_6320_2656(int_9_79, int_8_79, pp_19_79, pp_20_79, pp_21_79); - r4bs r4bs_6320_2872(yy[34], yy[35], single[22], double[22], neg[22], pp_22_79); - r4bs r4bs_6320_3000(yy[32], yy[33], single[23], double[23], neg[23], pp_23_79); - r4bs r4bs_6320_3128(yy[30], yy[31], single[24], double[24], neg[24], pp_24_79); - fullAdd_x FA_6320_3256(int_11_79, int_10_79, pp_22_79, pp_23_79, pp_24_79); - r4bs r4bs_6320_3472(yy[28], yy[29], single[25], double[25], neg[25], pp_25_79); - r4bs r4bs_6320_3600(yy[26], yy[27], single[26], double[26], neg[26], pp_26_79); - r4bs r4bs_6320_3728(yy[24], yy[25], single[27], double[27], neg[27], pp_27_79); - fullAdd_x FA_6320_3856(int_13_79, int_12_79, pp_25_79, pp_26_79, pp_27_79); - r4bs r4bs_6320_4072(yy[22], yy[23], single[28], double[28], neg[28], pp_28_79); - r4bs r4bs_6320_4200(yy[20], yy[21], single[29], double[29], neg[29], pp_29_79); - r4bs r4bs_6320_4328(yy[18], yy[19], single[30], double[30], neg[30], pp_30_79); - fullAdd_x FA_6320_4456(int_15_79, int_14_79, pp_28_79, pp_29_79, pp_30_79); - r4bs r4bs_6320_4672(yy[16], yy[17], single[31], double[31], neg[31], pp_31_79); - r4bs r4bs_6320_4800(yy[14], yy[15], single[32], double[32], neg[32], pp_32_79); - fullAdd_x FA_6320_4928(int_17_79, int_16_79, pp_31_79, pp_32_79, int_1_78); - fullAdd_x FA_6320_5144(int_19_79, int_18_79, int_3_78, int_5_78, int_7_78); - fullAdd_x FA_6320_5360(int_21_79, int_20_79, int_9_78, int_11_78, int_13_78); - fullAdd_x FA_6320_5576(int_23_79, int_22_79, int_15_78, int_17_78, int_19_78); - fullAdd_x FA_6320_5792(int_25_79, int_24_79, int_21_78, int_23_78, int_0_79); - fullAdd_x FA_6320_6008(int_27_79, int_26_79, int_2_79, int_4_79, int_6_79); - fullAdd_x FA_6320_6224(int_29_79, int_28_79, int_8_79, int_10_79, int_12_79); - fullAdd_x FA_6320_6440(int_31_79, int_30_79, int_14_79, int_16_79, int_25_78); - fullAdd_x FA_6320_6656(int_33_79, int_32_79, int_27_78, int_29_78, int_31_78); - fullAdd_x FA_6320_6872(int_35_79, int_34_79, int_18_79, int_20_79, int_22_79); - fullAdd_x FA_6320_7088(int_37_79, int_36_79, int_33_78, int_35_78, int_37_78); - fullAdd_x FA_6320_7304(int_39_79, int_38_79, int_24_79, int_26_79, int_28_79); - fullAdd_x FA_6320_7520(int_41_79, int_40_79, int_30_79, int_39_78, int_32_79); - fullAdd_x FA_6320_7736(int_43_79, int_42_79, int_34_79, int_41_78, int_43_78); - fullAdd_x FA_6320_7952(int_45_79, int_44_79, int_36_79, int_38_79, int_45_78); - fullAdd_x FA_6320_8168(int_47_79, int_46_79, int_40_79, int_47_78, int_42_79); - fullAdd_x FA_6320_8384(int_49_79, int_48_79, int_44_79, int_49_78, int_46_79); - assign Sum[79] = int_51_78; - assign Carry[79] = int_48_79; - - // Hardware for column 80 - - r4bs r4bs_6400_0(yy[63], gnd, single[8], double[8], neg[8], pp_8_80); - halfAdd HA_6400_128(int_1_80, int_0_80, 1'b1, pp_8_80); - r4bs r4bs_6400_208(yy[61], yy[62], single[9], double[9], neg[9], pp_9_80); - r4bs r4bs_6400_336(yy[59], yy[60], single[10], double[10], neg[10], pp_10_80); - r4bs r4bs_6400_464(yy[57], yy[58], single[11], double[11], neg[11], pp_11_80); - fullAdd_x FA_6400_592(int_3_80, int_2_80, pp_9_80, pp_10_80, pp_11_80); - r4bs r4bs_6400_808(yy[55], yy[56], single[12], double[12], neg[12], pp_12_80); - r4bs r4bs_6400_936(yy[53], yy[54], single[13], double[13], neg[13], pp_13_80); - r4bs r4bs_6400_1064(yy[51], yy[52], single[14], double[14], neg[14], pp_14_80); - fullAdd_x FA_6400_1192(int_5_80, int_4_80, pp_12_80, pp_13_80, pp_14_80); - r4bs r4bs_6400_1408(yy[49], yy[50], single[15], double[15], neg[15], pp_15_80); - r4bs r4bs_6400_1536(yy[47], yy[48], single[16], double[16], neg[16], pp_16_80); - r4bs r4bs_6400_1664(yy[45], yy[46], single[17], double[17], neg[17], pp_17_80); - fullAdd_x FA_6400_1792(int_7_80, int_6_80, pp_15_80, pp_16_80, pp_17_80); - r4bs r4bs_6400_2008(yy[43], yy[44], single[18], double[18], neg[18], pp_18_80); - r4bs r4bs_6400_2136(yy[41], yy[42], single[19], double[19], neg[19], pp_19_80); - r4bs r4bs_6400_2264(yy[39], yy[40], single[20], double[20], neg[20], pp_20_80); - fullAdd_x FA_6400_2392(int_9_80, int_8_80, pp_18_80, pp_19_80, pp_20_80); - r4bs r4bs_6400_2608(yy[37], yy[38], single[21], double[21], neg[21], pp_21_80); - r4bs r4bs_6400_2736(yy[35], yy[36], single[22], double[22], neg[22], pp_22_80); - r4bs r4bs_6400_2864(yy[33], yy[34], single[23], double[23], neg[23], pp_23_80); - fullAdd_x FA_6400_2992(int_11_80, int_10_80, pp_21_80, pp_22_80, pp_23_80); - r4bs r4bs_6400_3208(yy[31], yy[32], single[24], double[24], neg[24], pp_24_80); - r4bs r4bs_6400_3336(yy[29], yy[30], single[25], double[25], neg[25], pp_25_80); - r4bs r4bs_6400_3464(yy[27], yy[28], single[26], double[26], neg[26], pp_26_80); - fullAdd_x FA_6400_3592(int_13_80, int_12_80, pp_24_80, pp_25_80, pp_26_80); - r4bs r4bs_6400_3808(yy[25], yy[26], single[27], double[27], neg[27], pp_27_80); - r4bs r4bs_6400_3936(yy[23], yy[24], single[28], double[28], neg[28], pp_28_80); - r4bs r4bs_6400_4064(yy[21], yy[22], single[29], double[29], neg[29], pp_29_80); - fullAdd_x FA_6400_4192(int_15_80, int_14_80, pp_27_80, pp_28_80, pp_29_80); - r4bs r4bs_6400_4408(yy[19], yy[20], single[30], double[30], neg[30], pp_30_80); - r4bs r4bs_6400_4536(yy[17], yy[18], single[31], double[31], neg[31], pp_31_80); - r4bs r4bs_6400_4664(yy[15], yy[16], single[32], double[32], neg[32], pp_32_80); - fullAdd_x FA_6400_4792(int_17_80, int_16_80, pp_30_80, pp_31_80, pp_32_80); - fullAdd_x FA_6400_5008(int_19_80, int_18_80, int_1_79, int_3_79, int_5_79); - fullAdd_x FA_6400_5224(int_21_80, int_20_80, int_7_79, int_9_79, int_11_79); - fullAdd_x FA_6400_5440(int_23_80, int_22_80, int_13_79, int_15_79, int_0_80); - fullAdd_x FA_6400_5656(int_25_80, int_24_80, int_17_79, int_19_79, int_21_79); - fullAdd_x FA_6400_5872(int_27_80, int_26_80, int_2_80, int_4_80, int_6_80); - fullAdd_x FA_6400_6088(int_29_80, int_28_80, int_8_80, int_10_80, int_12_80); - fullAdd_x FA_6400_6304(int_31_80, int_30_80, int_14_80, int_16_80, int_23_79); - fullAdd_x FA_6400_6520(int_33_80, int_32_80, int_25_79, int_27_79, int_29_79); - fullAdd_x FA_6400_6736(int_35_80, int_34_80, int_18_80, int_20_80, int_22_80); - fullAdd_x FA_6400_6952(int_37_80, int_36_80, int_31_79, int_33_79, int_35_79); - fullAdd_x FA_6400_7168(int_39_80, int_38_80, int_24_80, int_26_80, int_28_80); - fullAdd_x FA_6400_7384(int_41_80, int_40_80, int_30_80, int_37_79, int_39_79); - fullAdd_x FA_6400_7600(int_43_80, int_42_80, int_32_80, int_34_80, int_41_79); - fullAdd_x FA_6400_7816(int_45_80, int_44_80, int_36_80, int_38_80, int_43_79); - fullAdd_x FA_6400_8032(int_47_80, int_46_80, int_40_80, int_42_80, int_45_79); - fullAdd_x FA_6400_8248(int_49_80, int_48_80, int_44_80, int_47_79, int_46_80); - assign Sum[80] = int_49_79; - assign Carry[80] = int_48_80; - - // Hardware for column 81 - - r4bs r4bs_6480_0(yy[62], yy[63], single[9], double[9], neg[9], pp_9_81); - r4bs r4bs_6480_128(yy[60], yy[61], single[10], double[10], neg[10], pp_10_81); - fullAdd_x FA_6480_256(int_1_81, int_0_81, negbar[8], pp_9_81, pp_10_81); - r4bs r4bs_6480_472(yy[58], yy[59], single[11], double[11], neg[11], pp_11_81); - r4bs r4bs_6480_600(yy[56], yy[57], single[12], double[12], neg[12], pp_12_81); - r4bs r4bs_6480_728(yy[54], yy[55], single[13], double[13], neg[13], pp_13_81); - fullAdd_x FA_6480_856(int_3_81, int_2_81, pp_11_81, pp_12_81, pp_13_81); - r4bs r4bs_6480_1072(yy[52], yy[53], single[14], double[14], neg[14], pp_14_81); - r4bs r4bs_6480_1200(yy[50], yy[51], single[15], double[15], neg[15], pp_15_81); - r4bs r4bs_6480_1328(yy[48], yy[49], single[16], double[16], neg[16], pp_16_81); - fullAdd_x FA_6480_1456(int_5_81, int_4_81, pp_14_81, pp_15_81, pp_16_81); - r4bs r4bs_6480_1672(yy[46], yy[47], single[17], double[17], neg[17], pp_17_81); - r4bs r4bs_6480_1800(yy[44], yy[45], single[18], double[18], neg[18], pp_18_81); - r4bs r4bs_6480_1928(yy[42], yy[43], single[19], double[19], neg[19], pp_19_81); - fullAdd_x FA_6480_2056(int_7_81, int_6_81, pp_17_81, pp_18_81, pp_19_81); - r4bs r4bs_6480_2272(yy[40], yy[41], single[20], double[20], neg[20], pp_20_81); - r4bs r4bs_6480_2400(yy[38], yy[39], single[21], double[21], neg[21], pp_21_81); - r4bs r4bs_6480_2528(yy[36], yy[37], single[22], double[22], neg[22], pp_22_81); - fullAdd_x FA_6480_2656(int_9_81, int_8_81, pp_20_81, pp_21_81, pp_22_81); - r4bs r4bs_6480_2872(yy[34], yy[35], single[23], double[23], neg[23], pp_23_81); - r4bs r4bs_6480_3000(yy[32], yy[33], single[24], double[24], neg[24], pp_24_81); - r4bs r4bs_6480_3128(yy[30], yy[31], single[25], double[25], neg[25], pp_25_81); - fullAdd_x FA_6480_3256(int_11_81, int_10_81, pp_23_81, pp_24_81, pp_25_81); - r4bs r4bs_6480_3472(yy[28], yy[29], single[26], double[26], neg[26], pp_26_81); - r4bs r4bs_6480_3600(yy[26], yy[27], single[27], double[27], neg[27], pp_27_81); - r4bs r4bs_6480_3728(yy[24], yy[25], single[28], double[28], neg[28], pp_28_81); - fullAdd_x FA_6480_3856(int_13_81, int_12_81, pp_26_81, pp_27_81, pp_28_81); - r4bs r4bs_6480_4072(yy[22], yy[23], single[29], double[29], neg[29], pp_29_81); - r4bs r4bs_6480_4200(yy[20], yy[21], single[30], double[30], neg[30], pp_30_81); - r4bs r4bs_6480_4328(yy[18], yy[19], single[31], double[31], neg[31], pp_31_81); - fullAdd_x FA_6480_4456(int_15_81, int_14_81, pp_29_81, pp_30_81, pp_31_81); - r4bs r4bs_6480_4672(yy[16], yy[17], single[32], double[32], neg[32], pp_32_81); - fullAdd_x FA_6480_4800(int_17_81, int_16_81, pp_32_81, int_1_80, int_3_80); - fullAdd_x FA_6480_5016(int_19_81, int_18_81, int_5_80, int_7_80, int_9_80); - fullAdd_x FA_6480_5232(int_21_81, int_20_81, int_11_80, int_13_80, int_15_80); - fullAdd_x FA_6480_5448(int_23_81, int_22_81, int_17_80, int_19_80, int_21_80); - fullAdd_x FA_6480_5664(int_25_81, int_24_81, int_23_80, int_0_81, int_2_81); - fullAdd_x FA_6480_5880(int_27_81, int_26_81, int_4_81, int_6_81, int_8_81); - fullAdd_x FA_6480_6096(int_29_81, int_28_81, int_10_81, int_12_81, int_14_81); - fullAdd_x FA_6480_6312(int_31_81, int_30_81, int_16_81, int_25_80, int_27_80); - fullAdd_x FA_6480_6528(int_33_81, int_32_81, int_29_80, int_18_81, int_20_81); - fullAdd_x FA_6480_6744(int_35_81, int_34_81, int_31_80, int_33_80, int_35_80); - fullAdd_x FA_6480_6960(int_37_81, int_36_81, int_22_81, int_24_81, int_26_81); - fullAdd_x FA_6480_7176(int_39_81, int_38_81, int_28_81, int_37_80, int_39_80); - fullAdd_x FA_6480_7392(int_41_81, int_40_81, int_30_81, int_32_81, int_41_80); - fullAdd_x FA_6480_7608(int_43_81, int_42_81, int_34_81, int_36_81, int_43_80); - fullAdd_x FA_6480_7824(int_45_81, int_44_81, int_38_81, int_40_81, int_45_80); - fullAdd_x FA_6480_8040(int_47_81, int_46_81, int_42_81, int_47_80, int_44_81); - assign Sum[81] = int_49_80; - assign Carry[81] = int_46_81; - - // Hardware for column 82 - - r4bs r4bs_6560_0(yy[63], gnd, single[9], double[9], neg[9], pp_9_82); - halfAdd HA_6560_128(int_1_82, int_0_82, 1'b1, pp_9_82); - r4bs r4bs_6560_208(yy[61], yy[62], single[10], double[10], neg[10], pp_10_82); - r4bs r4bs_6560_336(yy[59], yy[60], single[11], double[11], neg[11], pp_11_82); - r4bs r4bs_6560_464(yy[57], yy[58], single[12], double[12], neg[12], pp_12_82); - fullAdd_x FA_6560_592(int_3_82, int_2_82, pp_10_82, pp_11_82, pp_12_82); - r4bs r4bs_6560_808(yy[55], yy[56], single[13], double[13], neg[13], pp_13_82); - r4bs r4bs_6560_936(yy[53], yy[54], single[14], double[14], neg[14], pp_14_82); - r4bs r4bs_6560_1064(yy[51], yy[52], single[15], double[15], neg[15], pp_15_82); - fullAdd_x FA_6560_1192(int_5_82, int_4_82, pp_13_82, pp_14_82, pp_15_82); - r4bs r4bs_6560_1408(yy[49], yy[50], single[16], double[16], neg[16], pp_16_82); - r4bs r4bs_6560_1536(yy[47], yy[48], single[17], double[17], neg[17], pp_17_82); - r4bs r4bs_6560_1664(yy[45], yy[46], single[18], double[18], neg[18], pp_18_82); - fullAdd_x FA_6560_1792(int_7_82, int_6_82, pp_16_82, pp_17_82, pp_18_82); - r4bs r4bs_6560_2008(yy[43], yy[44], single[19], double[19], neg[19], pp_19_82); - r4bs r4bs_6560_2136(yy[41], yy[42], single[20], double[20], neg[20], pp_20_82); - r4bs r4bs_6560_2264(yy[39], yy[40], single[21], double[21], neg[21], pp_21_82); - fullAdd_x FA_6560_2392(int_9_82, int_8_82, pp_19_82, pp_20_82, pp_21_82); - r4bs r4bs_6560_2608(yy[37], yy[38], single[22], double[22], neg[22], pp_22_82); - r4bs r4bs_6560_2736(yy[35], yy[36], single[23], double[23], neg[23], pp_23_82); - r4bs r4bs_6560_2864(yy[33], yy[34], single[24], double[24], neg[24], pp_24_82); - fullAdd_x FA_6560_2992(int_11_82, int_10_82, pp_22_82, pp_23_82, pp_24_82); - r4bs r4bs_6560_3208(yy[31], yy[32], single[25], double[25], neg[25], pp_25_82); - r4bs r4bs_6560_3336(yy[29], yy[30], single[26], double[26], neg[26], pp_26_82); - r4bs r4bs_6560_3464(yy[27], yy[28], single[27], double[27], neg[27], pp_27_82); - fullAdd_x FA_6560_3592(int_13_82, int_12_82, pp_25_82, pp_26_82, pp_27_82); - r4bs r4bs_6560_3808(yy[25], yy[26], single[28], double[28], neg[28], pp_28_82); - r4bs r4bs_6560_3936(yy[23], yy[24], single[29], double[29], neg[29], pp_29_82); - r4bs r4bs_6560_4064(yy[21], yy[22], single[30], double[30], neg[30], pp_30_82); - fullAdd_x FA_6560_4192(int_15_82, int_14_82, pp_28_82, pp_29_82, pp_30_82); - r4bs r4bs_6560_4408(yy[19], yy[20], single[31], double[31], neg[31], pp_31_82); - r4bs r4bs_6560_4536(yy[17], yy[18], single[32], double[32], neg[32], pp_32_82); - fullAdd_x FA_6560_4664(int_17_82, int_16_82, pp_31_82, pp_32_82, int_1_81); - fullAdd_x FA_6560_4880(int_19_82, int_18_82, int_3_81, int_5_81, int_7_81); - fullAdd_x FA_6560_5096(int_21_82, int_20_82, int_9_81, int_11_81, int_13_81); - fullAdd_x FA_6560_5312(int_23_82, int_22_82, int_15_81, int_0_82, int_17_81); - fullAdd_x FA_6560_5528(int_25_82, int_24_82, int_19_81, int_21_81, int_2_82); - fullAdd_x FA_6560_5744(int_27_82, int_26_82, int_4_82, int_6_82, int_8_82); - fullAdd_x FA_6560_5960(int_29_82, int_28_82, int_10_82, int_12_82, int_14_82); - fullAdd_x FA_6560_6176(int_31_82, int_30_82, int_16_82, int_23_81, int_25_81); - fullAdd_x FA_6560_6392(int_33_82, int_32_82, int_27_81, int_29_81, int_18_82); - fullAdd_x FA_6560_6608(int_35_82, int_34_82, int_20_82, int_22_82, int_31_81); - fullAdd_x FA_6560_6824(int_37_82, int_36_82, int_33_81, int_24_82, int_26_82); - fullAdd_x FA_6560_7040(int_39_82, int_38_82, int_28_82, int_35_81, int_37_81); - fullAdd_x FA_6560_7256(int_41_82, int_40_82, int_30_82, int_32_82, int_34_82); - fullAdd_x FA_6560_7472(int_43_82, int_42_82, int_39_81, int_36_82, int_41_81); - fullAdd_x FA_6560_7688(int_45_82, int_44_82, int_38_82, int_40_82, int_43_81); - fullAdd_x FA_6560_7904(int_47_82, int_46_82, int_42_82, int_45_81, int_44_82); - assign Sum[82] = int_47_81; - assign Carry[82] = int_46_82; - - // Hardware for column 83 - - r4bs r4bs_6640_0(yy[62], yy[63], single[10], double[10], neg[10], pp_10_83); - r4bs r4bs_6640_128(yy[60], yy[61], single[11], double[11], neg[11], pp_11_83); - fullAdd_x FA_6640_256(int_1_83, int_0_83, negbar[9], pp_10_83, pp_11_83); - r4bs r4bs_6640_472(yy[58], yy[59], single[12], double[12], neg[12], pp_12_83); - r4bs r4bs_6640_600(yy[56], yy[57], single[13], double[13], neg[13], pp_13_83); - r4bs r4bs_6640_728(yy[54], yy[55], single[14], double[14], neg[14], pp_14_83); - fullAdd_x FA_6640_856(int_3_83, int_2_83, pp_12_83, pp_13_83, pp_14_83); - r4bs r4bs_6640_1072(yy[52], yy[53], single[15], double[15], neg[15], pp_15_83); - r4bs r4bs_6640_1200(yy[50], yy[51], single[16], double[16], neg[16], pp_16_83); - r4bs r4bs_6640_1328(yy[48], yy[49], single[17], double[17], neg[17], pp_17_83); - fullAdd_x FA_6640_1456(int_5_83, int_4_83, pp_15_83, pp_16_83, pp_17_83); - r4bs r4bs_6640_1672(yy[46], yy[47], single[18], double[18], neg[18], pp_18_83); - r4bs r4bs_6640_1800(yy[44], yy[45], single[19], double[19], neg[19], pp_19_83); - r4bs r4bs_6640_1928(yy[42], yy[43], single[20], double[20], neg[20], pp_20_83); - fullAdd_x FA_6640_2056(int_7_83, int_6_83, pp_18_83, pp_19_83, pp_20_83); - r4bs r4bs_6640_2272(yy[40], yy[41], single[21], double[21], neg[21], pp_21_83); - r4bs r4bs_6640_2400(yy[38], yy[39], single[22], double[22], neg[22], pp_22_83); - r4bs r4bs_6640_2528(yy[36], yy[37], single[23], double[23], neg[23], pp_23_83); - fullAdd_x FA_6640_2656(int_9_83, int_8_83, pp_21_83, pp_22_83, pp_23_83); - r4bs r4bs_6640_2872(yy[34], yy[35], single[24], double[24], neg[24], pp_24_83); - r4bs r4bs_6640_3000(yy[32], yy[33], single[25], double[25], neg[25], pp_25_83); - r4bs r4bs_6640_3128(yy[30], yy[31], single[26], double[26], neg[26], pp_26_83); - fullAdd_x FA_6640_3256(int_11_83, int_10_83, pp_24_83, pp_25_83, pp_26_83); - r4bs r4bs_6640_3472(yy[28], yy[29], single[27], double[27], neg[27], pp_27_83); - r4bs r4bs_6640_3600(yy[26], yy[27], single[28], double[28], neg[28], pp_28_83); - r4bs r4bs_6640_3728(yy[24], yy[25], single[29], double[29], neg[29], pp_29_83); - fullAdd_x FA_6640_3856(int_13_83, int_12_83, pp_27_83, pp_28_83, pp_29_83); - r4bs r4bs_6640_4072(yy[22], yy[23], single[30], double[30], neg[30], pp_30_83); - r4bs r4bs_6640_4200(yy[20], yy[21], single[31], double[31], neg[31], pp_31_83); - r4bs r4bs_6640_4328(yy[18], yy[19], single[32], double[32], neg[32], pp_32_83); - fullAdd_x FA_6640_4456(int_15_83, int_14_83, pp_30_83, pp_31_83, pp_32_83); - fullAdd_x FA_6640_4672(int_17_83, int_16_83, int_1_82, int_3_82, int_5_82); - fullAdd_x FA_6640_4888(int_19_83, int_18_83, int_7_82, int_9_82, int_11_82); - fullAdd_x FA_6640_5104(int_21_83, int_20_83, int_13_82, int_15_82, int_17_82); - fullAdd_x FA_6640_5320(int_23_83, int_22_83, int_19_82, int_21_82, int_0_83); - fullAdd_x FA_6640_5536(int_25_83, int_24_83, int_2_83, int_4_83, int_6_83); - fullAdd_x FA_6640_5752(int_27_83, int_26_83, int_8_83, int_10_83, int_12_83); - fullAdd_x FA_6640_5968(int_29_83, int_28_83, int_14_83, int_23_82, int_25_82); - fullAdd_x FA_6640_6184(int_31_83, int_30_83, int_27_82, int_29_82, int_16_83); - fullAdd_x FA_6640_6400(int_33_83, int_32_83, int_18_83, int_20_83, int_31_82); - fullAdd_x FA_6640_6616(int_35_83, int_34_83, int_33_82, int_22_83, int_24_83); - fullAdd_x FA_6640_6832(int_37_83, int_36_83, int_26_83, int_35_82, int_37_82); - fullAdd_x FA_6640_7048(int_39_83, int_38_83, int_28_83, int_30_83, int_32_83); - fullAdd_x FA_6640_7264(int_41_83, int_40_83, int_39_82, int_41_82, int_34_83); - fullAdd_x FA_6640_7480(int_43_83, int_42_83, int_36_83, int_38_83, int_43_82); - fullAdd_x FA_6640_7696(int_45_83, int_44_83, int_40_83, int_45_82, int_42_83); - assign Sum[83] = int_47_82; - assign Carry[83] = int_44_83; - - // Hardware for column 84 - - r4bs r4bs_6720_0(yy[63], gnd, single[10], double[10], neg[10], pp_10_84); - halfAdd HA_6720_128(int_1_84, int_0_84, 1'b1, pp_10_84); - r4bs r4bs_6720_208(yy[61], yy[62], single[11], double[11], neg[11], pp_11_84); - r4bs r4bs_6720_336(yy[59], yy[60], single[12], double[12], neg[12], pp_12_84); - r4bs r4bs_6720_464(yy[57], yy[58], single[13], double[13], neg[13], pp_13_84); - fullAdd_x FA_6720_592(int_3_84, int_2_84, pp_11_84, pp_12_84, pp_13_84); - r4bs r4bs_6720_808(yy[55], yy[56], single[14], double[14], neg[14], pp_14_84); - r4bs r4bs_6720_936(yy[53], yy[54], single[15], double[15], neg[15], pp_15_84); - r4bs r4bs_6720_1064(yy[51], yy[52], single[16], double[16], neg[16], pp_16_84); - fullAdd_x FA_6720_1192(int_5_84, int_4_84, pp_14_84, pp_15_84, pp_16_84); - r4bs r4bs_6720_1408(yy[49], yy[50], single[17], double[17], neg[17], pp_17_84); - r4bs r4bs_6720_1536(yy[47], yy[48], single[18], double[18], neg[18], pp_18_84); - r4bs r4bs_6720_1664(yy[45], yy[46], single[19], double[19], neg[19], pp_19_84); - fullAdd_x FA_6720_1792(int_7_84, int_6_84, pp_17_84, pp_18_84, pp_19_84); - r4bs r4bs_6720_2008(yy[43], yy[44], single[20], double[20], neg[20], pp_20_84); - r4bs r4bs_6720_2136(yy[41], yy[42], single[21], double[21], neg[21], pp_21_84); - r4bs r4bs_6720_2264(yy[39], yy[40], single[22], double[22], neg[22], pp_22_84); - fullAdd_x FA_6720_2392(int_9_84, int_8_84, pp_20_84, pp_21_84, pp_22_84); - r4bs r4bs_6720_2608(yy[37], yy[38], single[23], double[23], neg[23], pp_23_84); - r4bs r4bs_6720_2736(yy[35], yy[36], single[24], double[24], neg[24], pp_24_84); - r4bs r4bs_6720_2864(yy[33], yy[34], single[25], double[25], neg[25], pp_25_84); - fullAdd_x FA_6720_2992(int_11_84, int_10_84, pp_23_84, pp_24_84, pp_25_84); - r4bs r4bs_6720_3208(yy[31], yy[32], single[26], double[26], neg[26], pp_26_84); - r4bs r4bs_6720_3336(yy[29], yy[30], single[27], double[27], neg[27], pp_27_84); - r4bs r4bs_6720_3464(yy[27], yy[28], single[28], double[28], neg[28], pp_28_84); - fullAdd_x FA_6720_3592(int_13_84, int_12_84, pp_26_84, pp_27_84, pp_28_84); - r4bs r4bs_6720_3808(yy[25], yy[26], single[29], double[29], neg[29], pp_29_84); - r4bs r4bs_6720_3936(yy[23], yy[24], single[30], double[30], neg[30], pp_30_84); - r4bs r4bs_6720_4064(yy[21], yy[22], single[31], double[31], neg[31], pp_31_84); - fullAdd_x FA_6720_4192(int_15_84, int_14_84, pp_29_84, pp_30_84, pp_31_84); - r4bs r4bs_6720_4408(yy[19], yy[20], single[32], double[32], neg[32], pp_32_84); - fullAdd_x FA_6720_4536(int_17_84, int_16_84, pp_32_84, int_1_83, int_3_83); - fullAdd_x FA_6720_4752(int_19_84, int_18_84, int_5_83, int_7_83, int_9_83); - fullAdd_x FA_6720_4968(int_21_84, int_20_84, int_11_83, int_13_83, int_15_83); - fullAdd_x FA_6720_5184(int_23_84, int_22_84, int_0_84, int_17_83, int_19_83); - fullAdd_x FA_6720_5400(int_25_84, int_24_84, int_2_84, int_4_84, int_6_84); - fullAdd_x FA_6720_5616(int_27_84, int_26_84, int_8_84, int_10_84, int_12_84); - fullAdd_x FA_6720_5832(int_29_84, int_28_84, int_14_84, int_21_83, int_23_83); - fullAdd_x FA_6720_6048(int_31_84, int_30_84, int_25_83, int_27_83, int_16_84); - fullAdd_x FA_6720_6264(int_33_84, int_32_84, int_18_84, int_20_84, int_29_83); - fullAdd_x FA_6720_6480(int_35_84, int_34_84, int_31_83, int_22_84, int_24_84); - fullAdd_x FA_6720_6696(int_37_84, int_36_84, int_26_84, int_33_83, int_35_83); - fullAdd_x FA_6720_6912(int_39_84, int_38_84, int_28_84, int_30_84, int_32_84); - fullAdd_x FA_6720_7128(int_41_84, int_40_84, int_37_83, int_39_83, int_34_84); - fullAdd_x FA_6720_7344(int_43_84, int_42_84, int_41_83, int_36_84, int_38_84); - fullAdd_x FA_6720_7560(int_45_84, int_44_84, int_40_84, int_43_83, int_42_84); - assign Sum[84] = int_45_83; - assign Carry[84] = int_44_84; - - // Hardware for column 85 - - r4bs r4bs_6800_0(yy[62], yy[63], single[11], double[11], neg[11], pp_11_85); - r4bs r4bs_6800_128(yy[60], yy[61], single[12], double[12], neg[12], pp_12_85); - fullAdd_x FA_6800_256(int_1_85, int_0_85, negbar[10], pp_11_85, pp_12_85); - r4bs r4bs_6800_472(yy[58], yy[59], single[13], double[13], neg[13], pp_13_85); - r4bs r4bs_6800_600(yy[56], yy[57], single[14], double[14], neg[14], pp_14_85); - r4bs r4bs_6800_728(yy[54], yy[55], single[15], double[15], neg[15], pp_15_85); - fullAdd_x FA_6800_856(int_3_85, int_2_85, pp_13_85, pp_14_85, pp_15_85); - r4bs r4bs_6800_1072(yy[52], yy[53], single[16], double[16], neg[16], pp_16_85); - r4bs r4bs_6800_1200(yy[50], yy[51], single[17], double[17], neg[17], pp_17_85); - r4bs r4bs_6800_1328(yy[48], yy[49], single[18], double[18], neg[18], pp_18_85); - fullAdd_x FA_6800_1456(int_5_85, int_4_85, pp_16_85, pp_17_85, pp_18_85); - r4bs r4bs_6800_1672(yy[46], yy[47], single[19], double[19], neg[19], pp_19_85); - r4bs r4bs_6800_1800(yy[44], yy[45], single[20], double[20], neg[20], pp_20_85); - r4bs r4bs_6800_1928(yy[42], yy[43], single[21], double[21], neg[21], pp_21_85); - fullAdd_x FA_6800_2056(int_7_85, int_6_85, pp_19_85, pp_20_85, pp_21_85); - r4bs r4bs_6800_2272(yy[40], yy[41], single[22], double[22], neg[22], pp_22_85); - r4bs r4bs_6800_2400(yy[38], yy[39], single[23], double[23], neg[23], pp_23_85); - r4bs r4bs_6800_2528(yy[36], yy[37], single[24], double[24], neg[24], pp_24_85); - fullAdd_x FA_6800_2656(int_9_85, int_8_85, pp_22_85, pp_23_85, pp_24_85); - r4bs r4bs_6800_2872(yy[34], yy[35], single[25], double[25], neg[25], pp_25_85); - r4bs r4bs_6800_3000(yy[32], yy[33], single[26], double[26], neg[26], pp_26_85); - r4bs r4bs_6800_3128(yy[30], yy[31], single[27], double[27], neg[27], pp_27_85); - fullAdd_x FA_6800_3256(int_11_85, int_10_85, pp_25_85, pp_26_85, pp_27_85); - r4bs r4bs_6800_3472(yy[28], yy[29], single[28], double[28], neg[28], pp_28_85); - r4bs r4bs_6800_3600(yy[26], yy[27], single[29], double[29], neg[29], pp_29_85); - r4bs r4bs_6800_3728(yy[24], yy[25], single[30], double[30], neg[30], pp_30_85); - fullAdd_x FA_6800_3856(int_13_85, int_12_85, pp_28_85, pp_29_85, pp_30_85); - r4bs r4bs_6800_4072(yy[22], yy[23], single[31], double[31], neg[31], pp_31_85); - r4bs r4bs_6800_4200(yy[20], yy[21], single[32], double[32], neg[32], pp_32_85); - fullAdd_x FA_6800_4328(int_15_85, int_14_85, pp_31_85, pp_32_85, int_1_84); - fullAdd_x FA_6800_4544(int_17_85, int_16_85, int_3_84, int_5_84, int_7_84); - fullAdd_x FA_6800_4760(int_19_85, int_18_85, int_9_84, int_11_84, int_13_84); - fullAdd_x FA_6800_4976(int_21_85, int_20_85, int_15_84, int_17_84, int_19_84); - fullAdd_x FA_6800_5192(int_23_85, int_22_85, int_21_84, int_0_85, int_2_85); - fullAdd_x FA_6800_5408(int_25_85, int_24_85, int_4_85, int_6_85, int_8_85); - fullAdd_x FA_6800_5624(int_27_85, int_26_85, int_10_85, int_12_85, int_14_85); - fullAdd_x FA_6800_5840(int_29_85, int_28_85, int_23_84, int_25_84, int_27_84); - fullAdd_x FA_6800_6056(int_31_85, int_30_85, int_16_85, int_18_85, int_29_84); - fullAdd_x FA_6800_6272(int_33_85, int_32_85, int_31_84, int_20_85, int_22_85); - fullAdd_x FA_6800_6488(int_35_85, int_34_85, int_24_85, int_26_85, int_33_84); - fullAdd_x FA_6800_6704(int_37_85, int_36_85, int_35_84, int_28_85, int_30_85); - fullAdd_x FA_6800_6920(int_39_85, int_38_85, int_37_84, int_39_84, int_32_85); - fullAdd_x FA_6800_7136(int_41_85, int_40_85, int_34_85, int_41_84, int_36_85); - fullAdd_x FA_6800_7352(int_43_85, int_42_85, int_43_84, int_38_85, int_40_85); - assign Sum[85] = int_45_84; - assign Carry[85] = int_42_85; - - // Hardware for column 86 - - r4bs r4bs_6880_0(yy[63], gnd, single[11], double[11], neg[11], pp_11_86); - halfAdd HA_6880_128(int_1_86, int_0_86, 1'b1, pp_11_86); - r4bs r4bs_6880_208(yy[61], yy[62], single[12], double[12], neg[12], pp_12_86); - r4bs r4bs_6880_336(yy[59], yy[60], single[13], double[13], neg[13], pp_13_86); - r4bs r4bs_6880_464(yy[57], yy[58], single[14], double[14], neg[14], pp_14_86); - fullAdd_x FA_6880_592(int_3_86, int_2_86, pp_12_86, pp_13_86, pp_14_86); - r4bs r4bs_6880_808(yy[55], yy[56], single[15], double[15], neg[15], pp_15_86); - r4bs r4bs_6880_936(yy[53], yy[54], single[16], double[16], neg[16], pp_16_86); - r4bs r4bs_6880_1064(yy[51], yy[52], single[17], double[17], neg[17], pp_17_86); - fullAdd_x FA_6880_1192(int_5_86, int_4_86, pp_15_86, pp_16_86, pp_17_86); - r4bs r4bs_6880_1408(yy[49], yy[50], single[18], double[18], neg[18], pp_18_86); - r4bs r4bs_6880_1536(yy[47], yy[48], single[19], double[19], neg[19], pp_19_86); - r4bs r4bs_6880_1664(yy[45], yy[46], single[20], double[20], neg[20], pp_20_86); - fullAdd_x FA_6880_1792(int_7_86, int_6_86, pp_18_86, pp_19_86, pp_20_86); - r4bs r4bs_6880_2008(yy[43], yy[44], single[21], double[21], neg[21], pp_21_86); - r4bs r4bs_6880_2136(yy[41], yy[42], single[22], double[22], neg[22], pp_22_86); - r4bs r4bs_6880_2264(yy[39], yy[40], single[23], double[23], neg[23], pp_23_86); - fullAdd_x FA_6880_2392(int_9_86, int_8_86, pp_21_86, pp_22_86, pp_23_86); - r4bs r4bs_6880_2608(yy[37], yy[38], single[24], double[24], neg[24], pp_24_86); - r4bs r4bs_6880_2736(yy[35], yy[36], single[25], double[25], neg[25], pp_25_86); - r4bs r4bs_6880_2864(yy[33], yy[34], single[26], double[26], neg[26], pp_26_86); - fullAdd_x FA_6880_2992(int_11_86, int_10_86, pp_24_86, pp_25_86, pp_26_86); - r4bs r4bs_6880_3208(yy[31], yy[32], single[27], double[27], neg[27], pp_27_86); - r4bs r4bs_6880_3336(yy[29], yy[30], single[28], double[28], neg[28], pp_28_86); - r4bs r4bs_6880_3464(yy[27], yy[28], single[29], double[29], neg[29], pp_29_86); - fullAdd_x FA_6880_3592(int_13_86, int_12_86, pp_27_86, pp_28_86, pp_29_86); - r4bs r4bs_6880_3808(yy[25], yy[26], single[30], double[30], neg[30], pp_30_86); - r4bs r4bs_6880_3936(yy[23], yy[24], single[31], double[31], neg[31], pp_31_86); - r4bs r4bs_6880_4064(yy[21], yy[22], single[32], double[32], neg[32], pp_32_86); - fullAdd_x FA_6880_4192(int_15_86, int_14_86, pp_30_86, pp_31_86, pp_32_86); - fullAdd_x FA_6880_4408(int_17_86, int_16_86, int_1_85, int_3_85, int_5_85); - fullAdd_x FA_6880_4624(int_19_86, int_18_86, int_7_85, int_9_85, int_11_85); - fullAdd_x FA_6880_4840(int_21_86, int_20_86, int_13_85, int_0_86, int_15_85); - fullAdd_x FA_6880_5056(int_23_86, int_22_86, int_17_85, int_19_85, int_2_86); - fullAdd_x FA_6880_5272(int_25_86, int_24_86, int_4_86, int_6_86, int_8_86); - fullAdd_x FA_6880_5488(int_27_86, int_26_86, int_10_86, int_12_86, int_14_86); - fullAdd_x FA_6880_5704(int_29_86, int_28_86, int_21_85, int_23_85, int_25_85); - fullAdd_x FA_6880_5920(int_31_86, int_30_86, int_27_85, int_16_86, int_18_86); - fullAdd_x FA_6880_6136(int_33_86, int_32_86, int_20_86, int_29_85, int_22_86); - fullAdd_x FA_6880_6352(int_35_86, int_34_86, int_24_86, int_26_86, int_31_85); - fullAdd_x FA_6880_6568(int_37_86, int_36_86, int_33_85, int_28_86, int_30_86); - fullAdd_x FA_6880_6784(int_39_86, int_38_86, int_35_85, int_37_85, int_32_86); - fullAdd_x FA_6880_7000(int_41_86, int_40_86, int_34_86, int_39_85, int_36_86); - fullAdd_x FA_6880_7216(int_43_86, int_42_86, int_41_85, int_38_86, int_40_86); - assign Sum[86] = int_43_85; - assign Carry[86] = int_42_86; - - // Hardware for column 87 - - r4bs r4bs_6960_0(yy[62], yy[63], single[12], double[12], neg[12], pp_12_87); - r4bs r4bs_6960_128(yy[60], yy[61], single[13], double[13], neg[13], pp_13_87); - fullAdd_x FA_6960_256(int_1_87, int_0_87, negbar[11], pp_12_87, pp_13_87); - r4bs r4bs_6960_472(yy[58], yy[59], single[14], double[14], neg[14], pp_14_87); - r4bs r4bs_6960_600(yy[56], yy[57], single[15], double[15], neg[15], pp_15_87); - r4bs r4bs_6960_728(yy[54], yy[55], single[16], double[16], neg[16], pp_16_87); - fullAdd_x FA_6960_856(int_3_87, int_2_87, pp_14_87, pp_15_87, pp_16_87); - r4bs r4bs_6960_1072(yy[52], yy[53], single[17], double[17], neg[17], pp_17_87); - r4bs r4bs_6960_1200(yy[50], yy[51], single[18], double[18], neg[18], pp_18_87); - r4bs r4bs_6960_1328(yy[48], yy[49], single[19], double[19], neg[19], pp_19_87); - fullAdd_x FA_6960_1456(int_5_87, int_4_87, pp_17_87, pp_18_87, pp_19_87); - r4bs r4bs_6960_1672(yy[46], yy[47], single[20], double[20], neg[20], pp_20_87); - r4bs r4bs_6960_1800(yy[44], yy[45], single[21], double[21], neg[21], pp_21_87); - r4bs r4bs_6960_1928(yy[42], yy[43], single[22], double[22], neg[22], pp_22_87); - fullAdd_x FA_6960_2056(int_7_87, int_6_87, pp_20_87, pp_21_87, pp_22_87); - r4bs r4bs_6960_2272(yy[40], yy[41], single[23], double[23], neg[23], pp_23_87); - r4bs r4bs_6960_2400(yy[38], yy[39], single[24], double[24], neg[24], pp_24_87); - r4bs r4bs_6960_2528(yy[36], yy[37], single[25], double[25], neg[25], pp_25_87); - fullAdd_x FA_6960_2656(int_9_87, int_8_87, pp_23_87, pp_24_87, pp_25_87); - r4bs r4bs_6960_2872(yy[34], yy[35], single[26], double[26], neg[26], pp_26_87); - r4bs r4bs_6960_3000(yy[32], yy[33], single[27], double[27], neg[27], pp_27_87); - r4bs r4bs_6960_3128(yy[30], yy[31], single[28], double[28], neg[28], pp_28_87); - fullAdd_x FA_6960_3256(int_11_87, int_10_87, pp_26_87, pp_27_87, pp_28_87); - r4bs r4bs_6960_3472(yy[28], yy[29], single[29], double[29], neg[29], pp_29_87); - r4bs r4bs_6960_3600(yy[26], yy[27], single[30], double[30], neg[30], pp_30_87); - r4bs r4bs_6960_3728(yy[24], yy[25], single[31], double[31], neg[31], pp_31_87); - fullAdd_x FA_6960_3856(int_13_87, int_12_87, pp_29_87, pp_30_87, pp_31_87); - r4bs r4bs_6960_4072(yy[22], yy[23], single[32], double[32], neg[32], pp_32_87); - fullAdd_x FA_6960_4200(int_15_87, int_14_87, pp_32_87, int_1_86, int_3_86); - fullAdd_x FA_6960_4416(int_17_87, int_16_87, int_5_86, int_7_86, int_9_86); - fullAdd_x FA_6960_4632(int_19_87, int_18_87, int_11_86, int_13_86, int_15_86); - fullAdd_x FA_6960_4848(int_21_87, int_20_87, int_17_86, int_19_86, int_0_87); - fullAdd_x FA_6960_5064(int_23_87, int_22_87, int_2_87, int_4_87, int_6_87); - fullAdd_x FA_6960_5280(int_25_87, int_24_87, int_8_87, int_10_87, int_12_87); - fullAdd_x FA_6960_5496(int_27_87, int_26_87, int_21_86, int_14_87, int_23_86); - fullAdd_x FA_6960_5712(int_29_87, int_28_87, int_25_86, int_27_86, int_16_87); - fullAdd_x FA_6960_5928(int_31_87, int_30_87, int_18_87, int_29_86, int_31_86); - fullAdd_x FA_6960_6144(int_33_87, int_32_87, int_20_87, int_22_87, int_24_87); - fullAdd_x FA_6960_6360(int_35_87, int_34_87, int_26_87, int_33_86, int_28_87); - fullAdd_x FA_6960_6576(int_37_87, int_36_87, int_35_86, int_37_86, int_30_87); - fullAdd_x FA_6960_6792(int_39_87, int_38_87, int_32_87, int_39_86, int_34_87); - fullAdd_x FA_6960_7008(int_41_87, int_40_87, int_41_86, int_36_87, int_38_87); - assign Sum[87] = int_43_86; - assign Carry[87] = int_40_87; - - // Hardware for column 88 - - r4bs r4bs_7040_0(yy[63], gnd, single[12], double[12], neg[12], pp_12_88); - halfAdd HA_7040_128(int_1_88, int_0_88, 1'b1, pp_12_88); - r4bs r4bs_7040_208(yy[61], yy[62], single[13], double[13], neg[13], pp_13_88); - r4bs r4bs_7040_336(yy[59], yy[60], single[14], double[14], neg[14], pp_14_88); - r4bs r4bs_7040_464(yy[57], yy[58], single[15], double[15], neg[15], pp_15_88); - fullAdd_x FA_7040_592(int_3_88, int_2_88, pp_13_88, pp_14_88, pp_15_88); - r4bs r4bs_7040_808(yy[55], yy[56], single[16], double[16], neg[16], pp_16_88); - r4bs r4bs_7040_936(yy[53], yy[54], single[17], double[17], neg[17], pp_17_88); - r4bs r4bs_7040_1064(yy[51], yy[52], single[18], double[18], neg[18], pp_18_88); - fullAdd_x FA_7040_1192(int_5_88, int_4_88, pp_16_88, pp_17_88, pp_18_88); - r4bs r4bs_7040_1408(yy[49], yy[50], single[19], double[19], neg[19], pp_19_88); - r4bs r4bs_7040_1536(yy[47], yy[48], single[20], double[20], neg[20], pp_20_88); - r4bs r4bs_7040_1664(yy[45], yy[46], single[21], double[21], neg[21], pp_21_88); - fullAdd_x FA_7040_1792(int_7_88, int_6_88, pp_19_88, pp_20_88, pp_21_88); - r4bs r4bs_7040_2008(yy[43], yy[44], single[22], double[22], neg[22], pp_22_88); - r4bs r4bs_7040_2136(yy[41], yy[42], single[23], double[23], neg[23], pp_23_88); - r4bs r4bs_7040_2264(yy[39], yy[40], single[24], double[24], neg[24], pp_24_88); - fullAdd_x FA_7040_2392(int_9_88, int_8_88, pp_22_88, pp_23_88, pp_24_88); - r4bs r4bs_7040_2608(yy[37], yy[38], single[25], double[25], neg[25], pp_25_88); - r4bs r4bs_7040_2736(yy[35], yy[36], single[26], double[26], neg[26], pp_26_88); - r4bs r4bs_7040_2864(yy[33], yy[34], single[27], double[27], neg[27], pp_27_88); - fullAdd_x FA_7040_2992(int_11_88, int_10_88, pp_25_88, pp_26_88, pp_27_88); - r4bs r4bs_7040_3208(yy[31], yy[32], single[28], double[28], neg[28], pp_28_88); - r4bs r4bs_7040_3336(yy[29], yy[30], single[29], double[29], neg[29], pp_29_88); - r4bs r4bs_7040_3464(yy[27], yy[28], single[30], double[30], neg[30], pp_30_88); - fullAdd_x FA_7040_3592(int_13_88, int_12_88, pp_28_88, pp_29_88, pp_30_88); - r4bs r4bs_7040_3808(yy[25], yy[26], single[31], double[31], neg[31], pp_31_88); - r4bs r4bs_7040_3936(yy[23], yy[24], single[32], double[32], neg[32], pp_32_88); - fullAdd_x FA_7040_4064(int_15_88, int_14_88, pp_31_88, pp_32_88, int_1_87); - fullAdd_x FA_7040_4280(int_17_88, int_16_88, int_3_87, int_5_87, int_7_87); - fullAdd_x FA_7040_4496(int_19_88, int_18_88, int_9_87, int_11_87, int_13_87); - fullAdd_x FA_7040_4712(int_21_88, int_20_88, int_0_88, int_15_87, int_17_87); - fullAdd_x FA_7040_4928(int_23_88, int_22_88, int_19_87, int_2_88, int_4_88); - fullAdd_x FA_7040_5144(int_25_88, int_24_88, int_6_88, int_8_88, int_10_88); - fullAdd_x FA_7040_5360(int_27_88, int_26_88, int_12_88, int_14_88, int_21_87); - fullAdd_x FA_7040_5576(int_29_88, int_28_88, int_23_87, int_25_87, int_16_88); - fullAdd_x FA_7040_5792(int_31_88, int_30_88, int_18_88, int_27_87, int_29_87); - fullAdd_x FA_7040_6008(int_33_88, int_32_88, int_20_88, int_22_88, int_24_88); - fullAdd_x FA_7040_6224(int_35_88, int_34_88, int_26_88, int_31_87, int_33_87); - fullAdd_x FA_7040_6440(int_37_88, int_36_88, int_28_88, int_35_87, int_30_88); - fullAdd_x FA_7040_6656(int_39_88, int_38_88, int_32_88, int_37_87, int_34_88); - fullAdd_x FA_7040_6872(int_41_88, int_40_88, int_39_87, int_36_88, int_38_88); - assign Sum[88] = int_41_87; - assign Carry[88] = int_40_88; - - // Hardware for column 89 - - r4bs r4bs_7120_0(yy[62], yy[63], single[13], double[13], neg[13], pp_13_89); - r4bs r4bs_7120_128(yy[60], yy[61], single[14], double[14], neg[14], pp_14_89); - fullAdd_x FA_7120_256(int_1_89, int_0_89, negbar[12], pp_13_89, pp_14_89); - r4bs r4bs_7120_472(yy[58], yy[59], single[15], double[15], neg[15], pp_15_89); - r4bs r4bs_7120_600(yy[56], yy[57], single[16], double[16], neg[16], pp_16_89); - r4bs r4bs_7120_728(yy[54], yy[55], single[17], double[17], neg[17], pp_17_89); - fullAdd_x FA_7120_856(int_3_89, int_2_89, pp_15_89, pp_16_89, pp_17_89); - r4bs r4bs_7120_1072(yy[52], yy[53], single[18], double[18], neg[18], pp_18_89); - r4bs r4bs_7120_1200(yy[50], yy[51], single[19], double[19], neg[19], pp_19_89); - r4bs r4bs_7120_1328(yy[48], yy[49], single[20], double[20], neg[20], pp_20_89); - fullAdd_x FA_7120_1456(int_5_89, int_4_89, pp_18_89, pp_19_89, pp_20_89); - r4bs r4bs_7120_1672(yy[46], yy[47], single[21], double[21], neg[21], pp_21_89); - r4bs r4bs_7120_1800(yy[44], yy[45], single[22], double[22], neg[22], pp_22_89); - r4bs r4bs_7120_1928(yy[42], yy[43], single[23], double[23], neg[23], pp_23_89); - fullAdd_x FA_7120_2056(int_7_89, int_6_89, pp_21_89, pp_22_89, pp_23_89); - r4bs r4bs_7120_2272(yy[40], yy[41], single[24], double[24], neg[24], pp_24_89); - r4bs r4bs_7120_2400(yy[38], yy[39], single[25], double[25], neg[25], pp_25_89); - r4bs r4bs_7120_2528(yy[36], yy[37], single[26], double[26], neg[26], pp_26_89); - fullAdd_x FA_7120_2656(int_9_89, int_8_89, pp_24_89, pp_25_89, pp_26_89); - r4bs r4bs_7120_2872(yy[34], yy[35], single[27], double[27], neg[27], pp_27_89); - r4bs r4bs_7120_3000(yy[32], yy[33], single[28], double[28], neg[28], pp_28_89); - r4bs r4bs_7120_3128(yy[30], yy[31], single[29], double[29], neg[29], pp_29_89); - fullAdd_x FA_7120_3256(int_11_89, int_10_89, pp_27_89, pp_28_89, pp_29_89); - r4bs r4bs_7120_3472(yy[28], yy[29], single[30], double[30], neg[30], pp_30_89); - r4bs r4bs_7120_3600(yy[26], yy[27], single[31], double[31], neg[31], pp_31_89); - r4bs r4bs_7120_3728(yy[24], yy[25], single[32], double[32], neg[32], pp_32_89); - fullAdd_x FA_7120_3856(int_13_89, int_12_89, pp_30_89, pp_31_89, pp_32_89); - fullAdd_x FA_7120_4072(int_15_89, int_14_89, int_1_88, int_3_88, int_5_88); - fullAdd_x FA_7120_4288(int_17_89, int_16_89, int_7_88, int_9_88, int_11_88); - fullAdd_x FA_7120_4504(int_19_89, int_18_89, int_13_88, int_15_88, int_17_88); - fullAdd_x FA_7120_4720(int_21_89, int_20_89, int_19_88, int_0_89, int_2_89); - fullAdd_x FA_7120_4936(int_23_89, int_22_89, int_4_89, int_6_89, int_8_89); - fullAdd_x FA_7120_5152(int_25_89, int_24_89, int_10_89, int_12_89, int_21_88); - fullAdd_x FA_7120_5368(int_27_89, int_26_89, int_23_88, int_25_88, int_14_89); - fullAdd_x FA_7120_5584(int_29_89, int_28_89, int_16_89, int_27_88, int_29_88); - fullAdd_x FA_7120_5800(int_31_89, int_30_89, int_18_89, int_20_89, int_22_89); - fullAdd_x FA_7120_6016(int_33_89, int_32_89, int_24_89, int_31_88, int_33_88); - fullAdd_x FA_7120_6232(int_35_89, int_34_89, int_26_89, int_35_88, int_28_89); - fullAdd_x FA_7120_6448(int_37_89, int_36_89, int_30_89, int_37_88, int_32_89); - fullAdd_x FA_7120_6664(int_39_89, int_38_89, int_39_88, int_34_89, int_36_89); - assign Sum[89] = int_41_88; - assign Carry[89] = int_38_89; - - // Hardware for column 90 - - r4bs r4bs_7200_0(yy[63], gnd, single[13], double[13], neg[13], pp_13_90); - halfAdd HA_7200_128(int_1_90, int_0_90, 1'b1, pp_13_90); - r4bs r4bs_7200_208(yy[61], yy[62], single[14], double[14], neg[14], pp_14_90); - r4bs r4bs_7200_336(yy[59], yy[60], single[15], double[15], neg[15], pp_15_90); - r4bs r4bs_7200_464(yy[57], yy[58], single[16], double[16], neg[16], pp_16_90); - fullAdd_x FA_7200_592(int_3_90, int_2_90, pp_14_90, pp_15_90, pp_16_90); - r4bs r4bs_7200_808(yy[55], yy[56], single[17], double[17], neg[17], pp_17_90); - r4bs r4bs_7200_936(yy[53], yy[54], single[18], double[18], neg[18], pp_18_90); - r4bs r4bs_7200_1064(yy[51], yy[52], single[19], double[19], neg[19], pp_19_90); - fullAdd_x FA_7200_1192(int_5_90, int_4_90, pp_17_90, pp_18_90, pp_19_90); - r4bs r4bs_7200_1408(yy[49], yy[50], single[20], double[20], neg[20], pp_20_90); - r4bs r4bs_7200_1536(yy[47], yy[48], single[21], double[21], neg[21], pp_21_90); - r4bs r4bs_7200_1664(yy[45], yy[46], single[22], double[22], neg[22], pp_22_90); - fullAdd_x FA_7200_1792(int_7_90, int_6_90, pp_20_90, pp_21_90, pp_22_90); - r4bs r4bs_7200_2008(yy[43], yy[44], single[23], double[23], neg[23], pp_23_90); - r4bs r4bs_7200_2136(yy[41], yy[42], single[24], double[24], neg[24], pp_24_90); - r4bs r4bs_7200_2264(yy[39], yy[40], single[25], double[25], neg[25], pp_25_90); - fullAdd_x FA_7200_2392(int_9_90, int_8_90, pp_23_90, pp_24_90, pp_25_90); - r4bs r4bs_7200_2608(yy[37], yy[38], single[26], double[26], neg[26], pp_26_90); - r4bs r4bs_7200_2736(yy[35], yy[36], single[27], double[27], neg[27], pp_27_90); - r4bs r4bs_7200_2864(yy[33], yy[34], single[28], double[28], neg[28], pp_28_90); - fullAdd_x FA_7200_2992(int_11_90, int_10_90, pp_26_90, pp_27_90, pp_28_90); - r4bs r4bs_7200_3208(yy[31], yy[32], single[29], double[29], neg[29], pp_29_90); - r4bs r4bs_7200_3336(yy[29], yy[30], single[30], double[30], neg[30], pp_30_90); - r4bs r4bs_7200_3464(yy[27], yy[28], single[31], double[31], neg[31], pp_31_90); - fullAdd_x FA_7200_3592(int_13_90, int_12_90, pp_29_90, pp_30_90, pp_31_90); - r4bs r4bs_7200_3808(yy[25], yy[26], single[32], double[32], neg[32], pp_32_90); - fullAdd_x FA_7200_3936(int_15_90, int_14_90, pp_32_90, int_1_89, int_3_89); - fullAdd_x FA_7200_4152(int_17_90, int_16_90, int_5_89, int_7_89, int_9_89); - fullAdd_x FA_7200_4368(int_19_90, int_18_90, int_11_89, int_13_89, int_0_90); - fullAdd_x FA_7200_4584(int_21_90, int_20_90, int_15_89, int_17_89, int_2_90); - fullAdd_x FA_7200_4800(int_23_90, int_22_90, int_4_90, int_6_90, int_8_90); - fullAdd_x FA_7200_5016(int_25_90, int_24_90, int_10_90, int_12_90, int_19_89); - fullAdd_x FA_7200_5232(int_27_90, int_26_90, int_21_89, int_23_89, int_14_90); - fullAdd_x FA_7200_5448(int_29_90, int_28_90, int_16_90, int_18_90, int_25_89); - fullAdd_x FA_7200_5664(int_31_90, int_30_90, int_27_89, int_20_90, int_22_90); - fullAdd_x FA_7200_5880(int_33_90, int_32_90, int_24_90, int_29_89, int_31_89); - fullAdd_x FA_7200_6096(int_35_90, int_34_90, int_26_90, int_28_90, int_33_89); - fullAdd_x FA_7200_6312(int_37_90, int_36_90, int_30_90, int_35_89, int_32_90); - fullAdd_x FA_7200_6528(int_39_90, int_38_90, int_34_90, int_37_89, int_36_90); - assign Sum[90] = int_39_89; - assign Carry[90] = int_38_90; - - // Hardware for column 91 - - r4bs r4bs_7280_0(yy[62], yy[63], single[14], double[14], neg[14], pp_14_91); - r4bs r4bs_7280_128(yy[60], yy[61], single[15], double[15], neg[15], pp_15_91); - fullAdd_x FA_7280_256(int_1_91, int_0_91, negbar[13], pp_14_91, pp_15_91); - r4bs r4bs_7280_472(yy[58], yy[59], single[16], double[16], neg[16], pp_16_91); - r4bs r4bs_7280_600(yy[56], yy[57], single[17], double[17], neg[17], pp_17_91); - r4bs r4bs_7280_728(yy[54], yy[55], single[18], double[18], neg[18], pp_18_91); - fullAdd_x FA_7280_856(int_3_91, int_2_91, pp_16_91, pp_17_91, pp_18_91); - r4bs r4bs_7280_1072(yy[52], yy[53], single[19], double[19], neg[19], pp_19_91); - r4bs r4bs_7280_1200(yy[50], yy[51], single[20], double[20], neg[20], pp_20_91); - r4bs r4bs_7280_1328(yy[48], yy[49], single[21], double[21], neg[21], pp_21_91); - fullAdd_x FA_7280_1456(int_5_91, int_4_91, pp_19_91, pp_20_91, pp_21_91); - r4bs r4bs_7280_1672(yy[46], yy[47], single[22], double[22], neg[22], pp_22_91); - r4bs r4bs_7280_1800(yy[44], yy[45], single[23], double[23], neg[23], pp_23_91); - r4bs r4bs_7280_1928(yy[42], yy[43], single[24], double[24], neg[24], pp_24_91); - fullAdd_x FA_7280_2056(int_7_91, int_6_91, pp_22_91, pp_23_91, pp_24_91); - r4bs r4bs_7280_2272(yy[40], yy[41], single[25], double[25], neg[25], pp_25_91); - r4bs r4bs_7280_2400(yy[38], yy[39], single[26], double[26], neg[26], pp_26_91); - r4bs r4bs_7280_2528(yy[36], yy[37], single[27], double[27], neg[27], pp_27_91); - fullAdd_x FA_7280_2656(int_9_91, int_8_91, pp_25_91, pp_26_91, pp_27_91); - r4bs r4bs_7280_2872(yy[34], yy[35], single[28], double[28], neg[28], pp_28_91); - r4bs r4bs_7280_3000(yy[32], yy[33], single[29], double[29], neg[29], pp_29_91); - r4bs r4bs_7280_3128(yy[30], yy[31], single[30], double[30], neg[30], pp_30_91); - fullAdd_x FA_7280_3256(int_11_91, int_10_91, pp_28_91, pp_29_91, pp_30_91); - r4bs r4bs_7280_3472(yy[28], yy[29], single[31], double[31], neg[31], pp_31_91); - r4bs r4bs_7280_3600(yy[26], yy[27], single[32], double[32], neg[32], pp_32_91); - fullAdd_x FA_7280_3728(int_13_91, int_12_91, pp_31_91, pp_32_91, int_1_90); - fullAdd_x FA_7280_3944(int_15_91, int_14_91, int_3_90, int_5_90, int_7_90); - fullAdd_x FA_7280_4160(int_17_91, int_16_91, int_9_90, int_11_90, int_13_90); - fullAdd_x FA_7280_4376(int_19_91, int_18_91, int_15_90, int_17_90, int_19_90); - fullAdd_x FA_7280_4592(int_21_91, int_20_91, int_0_91, int_2_91, int_4_91); - fullAdd_x FA_7280_4808(int_23_91, int_22_91, int_6_91, int_8_91, int_10_91); - fullAdd_x FA_7280_5024(int_25_91, int_24_91, int_12_91, int_21_90, int_23_90); - fullAdd_x FA_7280_5240(int_27_91, int_26_91, int_14_91, int_16_91, int_25_90); - fullAdd_x FA_7280_5456(int_29_91, int_28_91, int_27_90, int_18_91, int_20_91); - fullAdd_x FA_7280_5672(int_31_91, int_30_91, int_22_91, int_29_90, int_31_90); - fullAdd_x FA_7280_5888(int_33_91, int_32_91, int_24_91, int_26_91, int_33_90); - fullAdd_x FA_7280_6104(int_35_91, int_34_91, int_28_91, int_35_90, int_30_91); - fullAdd_x FA_7280_6320(int_37_91, int_36_91, int_32_91, int_37_90, int_34_91); - assign Sum[91] = int_39_90; - assign Carry[91] = int_36_91; - - // Hardware for column 92 - - r4bs r4bs_7360_0(yy[63], gnd, single[14], double[14], neg[14], pp_14_92); - halfAdd HA_7360_128(int_1_92, int_0_92, 1'b1, pp_14_92); - r4bs r4bs_7360_208(yy[61], yy[62], single[15], double[15], neg[15], pp_15_92); - r4bs r4bs_7360_336(yy[59], yy[60], single[16], double[16], neg[16], pp_16_92); - r4bs r4bs_7360_464(yy[57], yy[58], single[17], double[17], neg[17], pp_17_92); - fullAdd_x FA_7360_592(int_3_92, int_2_92, pp_15_92, pp_16_92, pp_17_92); - r4bs r4bs_7360_808(yy[55], yy[56], single[18], double[18], neg[18], pp_18_92); - r4bs r4bs_7360_936(yy[53], yy[54], single[19], double[19], neg[19], pp_19_92); - r4bs r4bs_7360_1064(yy[51], yy[52], single[20], double[20], neg[20], pp_20_92); - fullAdd_x FA_7360_1192(int_5_92, int_4_92, pp_18_92, pp_19_92, pp_20_92); - r4bs r4bs_7360_1408(yy[49], yy[50], single[21], double[21], neg[21], pp_21_92); - r4bs r4bs_7360_1536(yy[47], yy[48], single[22], double[22], neg[22], pp_22_92); - r4bs r4bs_7360_1664(yy[45], yy[46], single[23], double[23], neg[23], pp_23_92); - fullAdd_x FA_7360_1792(int_7_92, int_6_92, pp_21_92, pp_22_92, pp_23_92); - r4bs r4bs_7360_2008(yy[43], yy[44], single[24], double[24], neg[24], pp_24_92); - r4bs r4bs_7360_2136(yy[41], yy[42], single[25], double[25], neg[25], pp_25_92); - r4bs r4bs_7360_2264(yy[39], yy[40], single[26], double[26], neg[26], pp_26_92); - fullAdd_x FA_7360_2392(int_9_92, int_8_92, pp_24_92, pp_25_92, pp_26_92); - r4bs r4bs_7360_2608(yy[37], yy[38], single[27], double[27], neg[27], pp_27_92); - r4bs r4bs_7360_2736(yy[35], yy[36], single[28], double[28], neg[28], pp_28_92); - r4bs r4bs_7360_2864(yy[33], yy[34], single[29], double[29], neg[29], pp_29_92); - fullAdd_x FA_7360_2992(int_11_92, int_10_92, pp_27_92, pp_28_92, pp_29_92); - r4bs r4bs_7360_3208(yy[31], yy[32], single[30], double[30], neg[30], pp_30_92); - r4bs r4bs_7360_3336(yy[29], yy[30], single[31], double[31], neg[31], pp_31_92); - r4bs r4bs_7360_3464(yy[27], yy[28], single[32], double[32], neg[32], pp_32_92); - fullAdd_x FA_7360_3592(int_13_92, int_12_92, pp_30_92, pp_31_92, pp_32_92); - fullAdd_x FA_7360_3808(int_15_92, int_14_92, int_1_91, int_3_91, int_5_91); - fullAdd_x FA_7360_4024(int_17_92, int_16_92, int_7_91, int_9_91, int_11_91); - fullAdd_x FA_7360_4240(int_19_92, int_18_92, int_0_92, int_13_91, int_15_91); - fullAdd_x FA_7360_4456(int_21_92, int_20_92, int_17_91, int_2_92, int_4_92); - fullAdd_x FA_7360_4672(int_23_92, int_22_92, int_6_92, int_8_92, int_10_92); - fullAdd_x FA_7360_4888(int_25_92, int_24_92, int_12_92, int_19_91, int_21_91); - fullAdd_x FA_7360_5104(int_27_92, int_26_92, int_23_91, int_14_92, int_16_92); - fullAdd_x FA_7360_5320(int_29_92, int_28_92, int_18_92, int_25_91, int_20_92); - fullAdd_x FA_7360_5536(int_31_92, int_30_92, int_22_92, int_27_91, int_29_91); - fullAdd_x FA_7360_5752(int_33_92, int_32_92, int_24_92, int_26_92, int_31_91); - fullAdd_x FA_7360_5968(int_35_92, int_34_92, int_28_92, int_33_91, int_30_92); - fullAdd_x FA_7360_6184(int_37_92, int_36_92, int_32_92, int_35_91, int_34_92); - assign Sum[92] = int_37_91; - assign Carry[92] = int_36_92; - - // Hardware for column 93 - - r4bs r4bs_7440_0(yy[62], yy[63], single[15], double[15], neg[15], pp_15_93); - r4bs r4bs_7440_128(yy[60], yy[61], single[16], double[16], neg[16], pp_16_93); - fullAdd_x FA_7440_256(int_1_93, int_0_93, negbar[14], pp_15_93, pp_16_93); - r4bs r4bs_7440_472(yy[58], yy[59], single[17], double[17], neg[17], pp_17_93); - r4bs r4bs_7440_600(yy[56], yy[57], single[18], double[18], neg[18], pp_18_93); - r4bs r4bs_7440_728(yy[54], yy[55], single[19], double[19], neg[19], pp_19_93); - fullAdd_x FA_7440_856(int_3_93, int_2_93, pp_17_93, pp_18_93, pp_19_93); - r4bs r4bs_7440_1072(yy[52], yy[53], single[20], double[20], neg[20], pp_20_93); - r4bs r4bs_7440_1200(yy[50], yy[51], single[21], double[21], neg[21], pp_21_93); - r4bs r4bs_7440_1328(yy[48], yy[49], single[22], double[22], neg[22], pp_22_93); - fullAdd_x FA_7440_1456(int_5_93, int_4_93, pp_20_93, pp_21_93, pp_22_93); - r4bs r4bs_7440_1672(yy[46], yy[47], single[23], double[23], neg[23], pp_23_93); - r4bs r4bs_7440_1800(yy[44], yy[45], single[24], double[24], neg[24], pp_24_93); - r4bs r4bs_7440_1928(yy[42], yy[43], single[25], double[25], neg[25], pp_25_93); - fullAdd_x FA_7440_2056(int_7_93, int_6_93, pp_23_93, pp_24_93, pp_25_93); - r4bs r4bs_7440_2272(yy[40], yy[41], single[26], double[26], neg[26], pp_26_93); - r4bs r4bs_7440_2400(yy[38], yy[39], single[27], double[27], neg[27], pp_27_93); - r4bs r4bs_7440_2528(yy[36], yy[37], single[28], double[28], neg[28], pp_28_93); - fullAdd_x FA_7440_2656(int_9_93, int_8_93, pp_26_93, pp_27_93, pp_28_93); - r4bs r4bs_7440_2872(yy[34], yy[35], single[29], double[29], neg[29], pp_29_93); - r4bs r4bs_7440_3000(yy[32], yy[33], single[30], double[30], neg[30], pp_30_93); - r4bs r4bs_7440_3128(yy[30], yy[31], single[31], double[31], neg[31], pp_31_93); - fullAdd_x FA_7440_3256(int_11_93, int_10_93, pp_29_93, pp_30_93, pp_31_93); - r4bs r4bs_7440_3472(yy[28], yy[29], single[32], double[32], neg[32], pp_32_93); - fullAdd_x FA_7440_3600(int_13_93, int_12_93, pp_32_93, int_1_92, int_3_92); - fullAdd_x FA_7440_3816(int_15_93, int_14_93, int_5_92, int_7_92, int_9_92); - fullAdd_x FA_7440_4032(int_17_93, int_16_93, int_11_92, int_13_92, int_15_92); - fullAdd_x FA_7440_4248(int_19_93, int_18_93, int_17_92, int_0_93, int_2_93); - fullAdd_x FA_7440_4464(int_21_93, int_20_93, int_4_93, int_6_93, int_8_93); - fullAdd_x FA_7440_4680(int_23_93, int_22_93, int_10_93, int_12_93, int_19_92); - fullAdd_x FA_7440_4896(int_25_93, int_24_93, int_21_92, int_23_92, int_14_93); - fullAdd_x FA_7440_5112(int_27_93, int_26_93, int_16_93, int_25_92, int_27_92); - fullAdd_x FA_7440_5328(int_29_93, int_28_93, int_18_93, int_20_93, int_22_93); - fullAdd_x FA_7440_5544(int_31_93, int_30_93, int_29_92, int_24_93, int_31_92); - fullAdd_x FA_7440_5760(int_33_93, int_32_93, int_26_93, int_28_93, int_33_92); - fullAdd_x FA_7440_5976(int_35_93, int_34_93, int_30_93, int_35_92, int_32_93); - assign Sum[93] = int_37_92; - assign Carry[93] = int_34_93; - - // Hardware for column 94 - - r4bs r4bs_7520_0(yy[63], gnd, single[15], double[15], neg[15], pp_15_94); - halfAdd HA_7520_128(int_1_94, int_0_94, 1'b1, pp_15_94); - r4bs r4bs_7520_208(yy[61], yy[62], single[16], double[16], neg[16], pp_16_94); - r4bs r4bs_7520_336(yy[59], yy[60], single[17], double[17], neg[17], pp_17_94); - r4bs r4bs_7520_464(yy[57], yy[58], single[18], double[18], neg[18], pp_18_94); - fullAdd_x FA_7520_592(int_3_94, int_2_94, pp_16_94, pp_17_94, pp_18_94); - r4bs r4bs_7520_808(yy[55], yy[56], single[19], double[19], neg[19], pp_19_94); - r4bs r4bs_7520_936(yy[53], yy[54], single[20], double[20], neg[20], pp_20_94); - r4bs r4bs_7520_1064(yy[51], yy[52], single[21], double[21], neg[21], pp_21_94); - fullAdd_x FA_7520_1192(int_5_94, int_4_94, pp_19_94, pp_20_94, pp_21_94); - r4bs r4bs_7520_1408(yy[49], yy[50], single[22], double[22], neg[22], pp_22_94); - r4bs r4bs_7520_1536(yy[47], yy[48], single[23], double[23], neg[23], pp_23_94); - r4bs r4bs_7520_1664(yy[45], yy[46], single[24], double[24], neg[24], pp_24_94); - fullAdd_x FA_7520_1792(int_7_94, int_6_94, pp_22_94, pp_23_94, pp_24_94); - r4bs r4bs_7520_2008(yy[43], yy[44], single[25], double[25], neg[25], pp_25_94); - r4bs r4bs_7520_2136(yy[41], yy[42], single[26], double[26], neg[26], pp_26_94); - r4bs r4bs_7520_2264(yy[39], yy[40], single[27], double[27], neg[27], pp_27_94); - fullAdd_x FA_7520_2392(int_9_94, int_8_94, pp_25_94, pp_26_94, pp_27_94); - r4bs r4bs_7520_2608(yy[37], yy[38], single[28], double[28], neg[28], pp_28_94); - r4bs r4bs_7520_2736(yy[35], yy[36], single[29], double[29], neg[29], pp_29_94); - r4bs r4bs_7520_2864(yy[33], yy[34], single[30], double[30], neg[30], pp_30_94); - fullAdd_x FA_7520_2992(int_11_94, int_10_94, pp_28_94, pp_29_94, pp_30_94); - r4bs r4bs_7520_3208(yy[31], yy[32], single[31], double[31], neg[31], pp_31_94); - r4bs r4bs_7520_3336(yy[29], yy[30], single[32], double[32], neg[32], pp_32_94); - fullAdd_x FA_7520_3464(int_13_94, int_12_94, pp_31_94, pp_32_94, int_1_93); - fullAdd_x FA_7520_3680(int_15_94, int_14_94, int_3_93, int_5_93, int_7_93); - fullAdd_x FA_7520_3896(int_17_94, int_16_94, int_9_93, int_11_93, int_0_94); - fullAdd_x FA_7520_4112(int_19_94, int_18_94, int_13_93, int_15_93, int_2_94); - fullAdd_x FA_7520_4328(int_21_94, int_20_94, int_4_94, int_6_94, int_8_94); - fullAdd_x FA_7520_4544(int_23_94, int_22_94, int_10_94, int_12_94, int_17_93); - fullAdd_x FA_7520_4760(int_25_94, int_24_94, int_19_93, int_21_93, int_14_94); - fullAdd_x FA_7520_4976(int_27_94, int_26_94, int_16_94, int_23_93, int_25_93); - fullAdd_x FA_7520_5192(int_29_94, int_28_94, int_18_94, int_20_94, int_22_94); - fullAdd_x FA_7520_5408(int_31_94, int_30_94, int_27_93, int_24_94, int_29_93); - fullAdd_x FA_7520_5624(int_33_94, int_32_94, int_26_94, int_28_94, int_31_93); - fullAdd_x FA_7520_5840(int_35_94, int_34_94, int_30_94, int_33_93, int_32_94); - assign Sum[94] = int_35_93; - assign Carry[94] = int_34_94; - - // Hardware for column 95 - - r4bs r4bs_7600_0(yy[62], yy[63], single[16], double[16], neg[16], pp_16_95); - r4bs r4bs_7600_128(yy[60], yy[61], single[17], double[17], neg[17], pp_17_95); - fullAdd_x FA_7600_256(int_1_95, int_0_95, negbar[15], pp_16_95, pp_17_95); - r4bs r4bs_7600_472(yy[58], yy[59], single[18], double[18], neg[18], pp_18_95); - r4bs r4bs_7600_600(yy[56], yy[57], single[19], double[19], neg[19], pp_19_95); - r4bs r4bs_7600_728(yy[54], yy[55], single[20], double[20], neg[20], pp_20_95); - fullAdd_x FA_7600_856(int_3_95, int_2_95, pp_18_95, pp_19_95, pp_20_95); - r4bs r4bs_7600_1072(yy[52], yy[53], single[21], double[21], neg[21], pp_21_95); - r4bs r4bs_7600_1200(yy[50], yy[51], single[22], double[22], neg[22], pp_22_95); - r4bs r4bs_7600_1328(yy[48], yy[49], single[23], double[23], neg[23], pp_23_95); - fullAdd_x FA_7600_1456(int_5_95, int_4_95, pp_21_95, pp_22_95, pp_23_95); - r4bs r4bs_7600_1672(yy[46], yy[47], single[24], double[24], neg[24], pp_24_95); - r4bs r4bs_7600_1800(yy[44], yy[45], single[25], double[25], neg[25], pp_25_95); - r4bs r4bs_7600_1928(yy[42], yy[43], single[26], double[26], neg[26], pp_26_95); - fullAdd_x FA_7600_2056(int_7_95, int_6_95, pp_24_95, pp_25_95, pp_26_95); - r4bs r4bs_7600_2272(yy[40], yy[41], single[27], double[27], neg[27], pp_27_95); - r4bs r4bs_7600_2400(yy[38], yy[39], single[28], double[28], neg[28], pp_28_95); - r4bs r4bs_7600_2528(yy[36], yy[37], single[29], double[29], neg[29], pp_29_95); - fullAdd_x FA_7600_2656(int_9_95, int_8_95, pp_27_95, pp_28_95, pp_29_95); - r4bs r4bs_7600_2872(yy[34], yy[35], single[30], double[30], neg[30], pp_30_95); - r4bs r4bs_7600_3000(yy[32], yy[33], single[31], double[31], neg[31], pp_31_95); - r4bs r4bs_7600_3128(yy[30], yy[31], single[32], double[32], neg[32], pp_32_95); - fullAdd_x FA_7600_3256(int_11_95, int_10_95, pp_30_95, pp_31_95, pp_32_95); - fullAdd_x FA_7600_3472(int_13_95, int_12_95, int_1_94, int_3_94, int_5_94); - fullAdd_x FA_7600_3688(int_15_95, int_14_95, int_7_94, int_9_94, int_11_94); - fullAdd_x FA_7600_3904(int_17_95, int_16_95, int_13_94, int_15_94, int_17_94); - fullAdd_x FA_7600_4120(int_19_95, int_18_95, int_0_95, int_2_95, int_4_95); - fullAdd_x FA_7600_4336(int_21_95, int_20_95, int_6_95, int_8_95, int_10_95); - fullAdd_x FA_7600_4552(int_23_95, int_22_95, int_19_94, int_21_94, int_12_95); - fullAdd_x FA_7600_4768(int_25_95, int_24_95, int_14_95, int_23_94, int_25_94); - fullAdd_x FA_7600_4984(int_27_95, int_26_95, int_16_95, int_18_95, int_20_95); - fullAdd_x FA_7600_5200(int_29_95, int_28_95, int_27_94, int_29_94, int_22_95); - fullAdd_x FA_7600_5416(int_31_95, int_30_95, int_24_95, int_26_95, int_31_94); - fullAdd_x FA_7600_5632(int_33_95, int_32_95, int_28_95, int_33_94, int_30_95); - assign Sum[95] = int_35_94; - assign Carry[95] = int_32_95; - - // Hardware for column 96 - - r4bs r4bs_7680_0(yy[63], gnd, single[16], double[16], neg[16], pp_16_96); - halfAdd HA_7680_128(int_1_96, int_0_96, 1'b1, pp_16_96); - r4bs r4bs_7680_208(yy[61], yy[62], single[17], double[17], neg[17], pp_17_96); - r4bs r4bs_7680_336(yy[59], yy[60], single[18], double[18], neg[18], pp_18_96); - r4bs r4bs_7680_464(yy[57], yy[58], single[19], double[19], neg[19], pp_19_96); - fullAdd_x FA_7680_592(int_3_96, int_2_96, pp_17_96, pp_18_96, pp_19_96); - r4bs r4bs_7680_808(yy[55], yy[56], single[20], double[20], neg[20], pp_20_96); - r4bs r4bs_7680_936(yy[53], yy[54], single[21], double[21], neg[21], pp_21_96); - r4bs r4bs_7680_1064(yy[51], yy[52], single[22], double[22], neg[22], pp_22_96); - fullAdd_x FA_7680_1192(int_5_96, int_4_96, pp_20_96, pp_21_96, pp_22_96); - r4bs r4bs_7680_1408(yy[49], yy[50], single[23], double[23], neg[23], pp_23_96); - r4bs r4bs_7680_1536(yy[47], yy[48], single[24], double[24], neg[24], pp_24_96); - r4bs r4bs_7680_1664(yy[45], yy[46], single[25], double[25], neg[25], pp_25_96); - fullAdd_x FA_7680_1792(int_7_96, int_6_96, pp_23_96, pp_24_96, pp_25_96); - r4bs r4bs_7680_2008(yy[43], yy[44], single[26], double[26], neg[26], pp_26_96); - r4bs r4bs_7680_2136(yy[41], yy[42], single[27], double[27], neg[27], pp_27_96); - r4bs r4bs_7680_2264(yy[39], yy[40], single[28], double[28], neg[28], pp_28_96); - fullAdd_x FA_7680_2392(int_9_96, int_8_96, pp_26_96, pp_27_96, pp_28_96); - r4bs r4bs_7680_2608(yy[37], yy[38], single[29], double[29], neg[29], pp_29_96); - r4bs r4bs_7680_2736(yy[35], yy[36], single[30], double[30], neg[30], pp_30_96); - r4bs r4bs_7680_2864(yy[33], yy[34], single[31], double[31], neg[31], pp_31_96); - fullAdd_x FA_7680_2992(int_11_96, int_10_96, pp_29_96, pp_30_96, pp_31_96); - r4bs r4bs_7680_3208(yy[31], yy[32], single[32], double[32], neg[32], pp_32_96); - fullAdd_x FA_7680_3336(int_13_96, int_12_96, pp_32_96, int_1_95, int_3_95); - fullAdd_x FA_7680_3552(int_15_96, int_14_96, int_5_95, int_7_95, int_9_95); - fullAdd_x FA_7680_3768(int_17_96, int_16_96, int_11_95, int_0_96, int_13_95); - fullAdd_x FA_7680_3984(int_19_96, int_18_96, int_15_95, int_2_96, int_4_96); - fullAdd_x FA_7680_4200(int_21_96, int_20_96, int_6_96, int_8_96, int_10_96); - fullAdd_x FA_7680_4416(int_23_96, int_22_96, int_17_95, int_19_95, int_21_95); - fullAdd_x FA_7680_4632(int_25_96, int_24_96, int_12_96, int_14_96, int_16_96); - fullAdd_x FA_7680_4848(int_27_96, int_26_96, int_23_95, int_18_96, int_20_96); - fullAdd_x FA_7680_5064(int_29_96, int_28_96, int_25_95, int_27_95, int_22_96); - fullAdd_x FA_7680_5280(int_31_96, int_30_96, int_24_96, int_29_95, int_26_96); - fullAdd_x FA_7680_5496(int_33_96, int_32_96, int_28_96, int_31_95, int_30_96); - assign Sum[96] = int_33_95; - assign Carry[96] = int_32_96; - - // Hardware for column 97 - - r4bs r4bs_7760_0(yy[62], yy[63], single[17], double[17], neg[17], pp_17_97); - r4bs r4bs_7760_128(yy[60], yy[61], single[18], double[18], neg[18], pp_18_97); - fullAdd_x FA_7760_256(int_1_97, int_0_97, negbar[16], pp_17_97, pp_18_97); - r4bs r4bs_7760_472(yy[58], yy[59], single[19], double[19], neg[19], pp_19_97); - r4bs r4bs_7760_600(yy[56], yy[57], single[20], double[20], neg[20], pp_20_97); - r4bs r4bs_7760_728(yy[54], yy[55], single[21], double[21], neg[21], pp_21_97); - fullAdd_x FA_7760_856(int_3_97, int_2_97, pp_19_97, pp_20_97, pp_21_97); - r4bs r4bs_7760_1072(yy[52], yy[53], single[22], double[22], neg[22], pp_22_97); - r4bs r4bs_7760_1200(yy[50], yy[51], single[23], double[23], neg[23], pp_23_97); - r4bs r4bs_7760_1328(yy[48], yy[49], single[24], double[24], neg[24], pp_24_97); - fullAdd_x FA_7760_1456(int_5_97, int_4_97, pp_22_97, pp_23_97, pp_24_97); - r4bs r4bs_7760_1672(yy[46], yy[47], single[25], double[25], neg[25], pp_25_97); - r4bs r4bs_7760_1800(yy[44], yy[45], single[26], double[26], neg[26], pp_26_97); - r4bs r4bs_7760_1928(yy[42], yy[43], single[27], double[27], neg[27], pp_27_97); - fullAdd_x FA_7760_2056(int_7_97, int_6_97, pp_25_97, pp_26_97, pp_27_97); - r4bs r4bs_7760_2272(yy[40], yy[41], single[28], double[28], neg[28], pp_28_97); - r4bs r4bs_7760_2400(yy[38], yy[39], single[29], double[29], neg[29], pp_29_97); - r4bs r4bs_7760_2528(yy[36], yy[37], single[30], double[30], neg[30], pp_30_97); - fullAdd_x FA_7760_2656(int_9_97, int_8_97, pp_28_97, pp_29_97, pp_30_97); - r4bs r4bs_7760_2872(yy[34], yy[35], single[31], double[31], neg[31], pp_31_97); - r4bs r4bs_7760_3000(yy[32], yy[33], single[32], double[32], neg[32], pp_32_97); - fullAdd_x FA_7760_3128(int_11_97, int_10_97, pp_31_97, pp_32_97, int_1_96); - fullAdd_x FA_7760_3344(int_13_97, int_12_97, int_3_96, int_5_96, int_7_96); - fullAdd_x FA_7760_3560(int_15_97, int_14_97, int_9_96, int_11_96, int_13_96); - fullAdd_x FA_7760_3776(int_17_97, int_16_97, int_15_96, int_0_97, int_2_97); - fullAdd_x FA_7760_3992(int_19_97, int_18_97, int_4_97, int_6_97, int_8_97); - fullAdd_x FA_7760_4208(int_21_97, int_20_97, int_10_97, int_17_96, int_19_96); - fullAdd_x FA_7760_4424(int_23_97, int_22_97, int_21_96, int_12_97, int_14_97); - fullAdd_x FA_7760_4640(int_25_97, int_24_97, int_23_96, int_25_96, int_16_97); - fullAdd_x FA_7760_4856(int_27_97, int_26_97, int_18_97, int_27_96, int_20_97); - fullAdd_x FA_7760_5072(int_29_97, int_28_97, int_22_97, int_29_96, int_24_97); - fullAdd_x FA_7760_5288(int_31_97, int_30_97, int_31_96, int_26_97, int_28_97); - assign Sum[97] = int_33_96; - assign Carry[97] = int_30_97; - - // Hardware for column 98 - - r4bs r4bs_7840_0(yy[63], gnd, single[17], double[17], neg[17], pp_17_98); - halfAdd HA_7840_128(int_1_98, int_0_98, 1'b1, pp_17_98); - r4bs r4bs_7840_208(yy[61], yy[62], single[18], double[18], neg[18], pp_18_98); - r4bs r4bs_7840_336(yy[59], yy[60], single[19], double[19], neg[19], pp_19_98); - r4bs r4bs_7840_464(yy[57], yy[58], single[20], double[20], neg[20], pp_20_98); - fullAdd_x FA_7840_592(int_3_98, int_2_98, pp_18_98, pp_19_98, pp_20_98); - r4bs r4bs_7840_808(yy[55], yy[56], single[21], double[21], neg[21], pp_21_98); - r4bs r4bs_7840_936(yy[53], yy[54], single[22], double[22], neg[22], pp_22_98); - r4bs r4bs_7840_1064(yy[51], yy[52], single[23], double[23], neg[23], pp_23_98); - fullAdd_x FA_7840_1192(int_5_98, int_4_98, pp_21_98, pp_22_98, pp_23_98); - r4bs r4bs_7840_1408(yy[49], yy[50], single[24], double[24], neg[24], pp_24_98); - r4bs r4bs_7840_1536(yy[47], yy[48], single[25], double[25], neg[25], pp_25_98); - r4bs r4bs_7840_1664(yy[45], yy[46], single[26], double[26], neg[26], pp_26_98); - fullAdd_x FA_7840_1792(int_7_98, int_6_98, pp_24_98, pp_25_98, pp_26_98); - r4bs r4bs_7840_2008(yy[43], yy[44], single[27], double[27], neg[27], pp_27_98); - r4bs r4bs_7840_2136(yy[41], yy[42], single[28], double[28], neg[28], pp_28_98); - r4bs r4bs_7840_2264(yy[39], yy[40], single[29], double[29], neg[29], pp_29_98); - fullAdd_x FA_7840_2392(int_9_98, int_8_98, pp_27_98, pp_28_98, pp_29_98); - r4bs r4bs_7840_2608(yy[37], yy[38], single[30], double[30], neg[30], pp_30_98); - r4bs r4bs_7840_2736(yy[35], yy[36], single[31], double[31], neg[31], pp_31_98); - r4bs r4bs_7840_2864(yy[33], yy[34], single[32], double[32], neg[32], pp_32_98); - fullAdd_x FA_7840_2992(int_11_98, int_10_98, pp_30_98, pp_31_98, pp_32_98); - fullAdd_x FA_7840_3208(int_13_98, int_12_98, int_1_97, int_3_97, int_5_97); - fullAdd_x FA_7840_3424(int_15_98, int_14_98, int_7_97, int_9_97, int_0_98); - fullAdd_x FA_7840_3640(int_17_98, int_16_98, int_11_97, int_13_97, int_2_98); - fullAdd_x FA_7840_3856(int_19_98, int_18_98, int_4_98, int_6_98, int_8_98); - fullAdd_x FA_7840_4072(int_21_98, int_20_98, int_10_98, int_15_97, int_17_97); - fullAdd_x FA_7840_4288(int_23_98, int_22_98, int_19_97, int_12_98, int_14_98); - fullAdd_x FA_7840_4504(int_25_98, int_24_98, int_21_97, int_23_97, int_16_98); - fullAdd_x FA_7840_4720(int_27_98, int_26_98, int_18_98, int_25_97, int_20_98); - fullAdd_x FA_7840_4936(int_29_98, int_28_98, int_22_98, int_27_97, int_24_98); - fullAdd_x FA_7840_5152(int_31_98, int_30_98, int_29_97, int_26_98, int_28_98); - assign Sum[98] = int_31_97; - assign Carry[98] = int_30_98; - - // Hardware for column 99 - - r4bs r4bs_7920_0(yy[62], yy[63], single[18], double[18], neg[18], pp_18_99); - r4bs r4bs_7920_128(yy[60], yy[61], single[19], double[19], neg[19], pp_19_99); - fullAdd_x FA_7920_256(int_1_99, int_0_99, negbar[17], pp_18_99, pp_19_99); - r4bs r4bs_7920_472(yy[58], yy[59], single[20], double[20], neg[20], pp_20_99); - r4bs r4bs_7920_600(yy[56], yy[57], single[21], double[21], neg[21], pp_21_99); - r4bs r4bs_7920_728(yy[54], yy[55], single[22], double[22], neg[22], pp_22_99); - fullAdd_x FA_7920_856(int_3_99, int_2_99, pp_20_99, pp_21_99, pp_22_99); - r4bs r4bs_7920_1072(yy[52], yy[53], single[23], double[23], neg[23], pp_23_99); - r4bs r4bs_7920_1200(yy[50], yy[51], single[24], double[24], neg[24], pp_24_99); - r4bs r4bs_7920_1328(yy[48], yy[49], single[25], double[25], neg[25], pp_25_99); - fullAdd_x FA_7920_1456(int_5_99, int_4_99, pp_23_99, pp_24_99, pp_25_99); - r4bs r4bs_7920_1672(yy[46], yy[47], single[26], double[26], neg[26], pp_26_99); - r4bs r4bs_7920_1800(yy[44], yy[45], single[27], double[27], neg[27], pp_27_99); - r4bs r4bs_7920_1928(yy[42], yy[43], single[28], double[28], neg[28], pp_28_99); - fullAdd_x FA_7920_2056(int_7_99, int_6_99, pp_26_99, pp_27_99, pp_28_99); - r4bs r4bs_7920_2272(yy[40], yy[41], single[29], double[29], neg[29], pp_29_99); - r4bs r4bs_7920_2400(yy[38], yy[39], single[30], double[30], neg[30], pp_30_99); - r4bs r4bs_7920_2528(yy[36], yy[37], single[31], double[31], neg[31], pp_31_99); - fullAdd_x FA_7920_2656(int_9_99, int_8_99, pp_29_99, pp_30_99, pp_31_99); - r4bs r4bs_7920_2872(yy[34], yy[35], single[32], double[32], neg[32], pp_32_99); - fullAdd_x FA_7920_3000(int_11_99, int_10_99, pp_32_99, int_1_98, int_3_98); - fullAdd_x FA_7920_3216(int_13_99, int_12_99, int_5_98, int_7_98, int_9_98); - fullAdd_x FA_7920_3432(int_15_99, int_14_99, int_11_98, int_13_98, int_15_98); - fullAdd_x FA_7920_3648(int_17_99, int_16_99, int_0_99, int_2_99, int_4_99); - fullAdd_x FA_7920_3864(int_19_99, int_18_99, int_6_99, int_8_99, int_10_99); - fullAdd_x FA_7920_4080(int_21_99, int_20_99, int_17_98, int_19_98, int_12_99); - fullAdd_x FA_7920_4296(int_23_99, int_22_99, int_21_98, int_23_98, int_14_99); - fullAdd_x FA_7920_4512(int_25_99, int_24_99, int_16_99, int_18_99, int_25_98); - fullAdd_x FA_7920_4728(int_27_99, int_26_99, int_20_99, int_27_98, int_22_99); - fullAdd_x FA_7920_4944(int_29_99, int_28_99, int_24_99, int_29_98, int_26_99); - assign Sum[99] = int_31_98; - assign Carry[99] = int_28_99; - - // Hardware for column 100 - - r4bs r4bs_8000_0(yy[63], gnd, single[18], double[18], neg[18], pp_18_100); - halfAdd HA_8000_128(int_1_100, int_0_100, 1'b1, pp_18_100); - r4bs r4bs_8000_208(yy[61], yy[62], single[19], double[19], neg[19], pp_19_100); - r4bs r4bs_8000_336(yy[59], yy[60], single[20], double[20], neg[20], pp_20_100); - r4bs r4bs_8000_464(yy[57], yy[58], single[21], double[21], neg[21], pp_21_100); - fullAdd_x FA_8000_592(int_3_100, int_2_100, pp_19_100, pp_20_100, pp_21_100); - r4bs r4bs_8000_808(yy[55], yy[56], single[22], double[22], neg[22], pp_22_100); - r4bs r4bs_8000_936(yy[53], yy[54], single[23], double[23], neg[23], pp_23_100); - r4bs r4bs_8000_1064(yy[51], yy[52], single[24], double[24], neg[24], pp_24_100); - fullAdd_x FA_8000_1192(int_5_100, int_4_100, pp_22_100, pp_23_100, pp_24_100); - r4bs r4bs_8000_1408(yy[49], yy[50], single[25], double[25], neg[25], pp_25_100); - r4bs r4bs_8000_1536(yy[47], yy[48], single[26], double[26], neg[26], pp_26_100); - r4bs r4bs_8000_1664(yy[45], yy[46], single[27], double[27], neg[27], pp_27_100); - fullAdd_x FA_8000_1792(int_7_100, int_6_100, pp_25_100, pp_26_100, pp_27_100); - r4bs r4bs_8000_2008(yy[43], yy[44], single[28], double[28], neg[28], pp_28_100); - r4bs r4bs_8000_2136(yy[41], yy[42], single[29], double[29], neg[29], pp_29_100); - r4bs r4bs_8000_2264(yy[39], yy[40], single[30], double[30], neg[30], pp_30_100); - fullAdd_x FA_8000_2392(int_9_100, int_8_100, pp_28_100, pp_29_100, pp_30_100); - r4bs r4bs_8000_2608(yy[37], yy[38], single[31], double[31], neg[31], pp_31_100); - r4bs r4bs_8000_2736(yy[35], yy[36], single[32], double[32], neg[32], pp_32_100); - fullAdd_x FA_8000_2864(int_11_100, int_10_100, pp_31_100, pp_32_100, int_1_99); - fullAdd_x FA_8000_3080(int_13_100, int_12_100, int_3_99, int_5_99, int_7_99); - fullAdd_x FA_8000_3296(int_15_100, int_14_100, int_9_99, int_0_100, int_11_99); - fullAdd_x FA_8000_3512(int_17_100, int_16_100, int_13_99, int_2_100, int_4_100); - fullAdd_x FA_8000_3728(int_19_100, int_18_100, int_6_100, int_8_100, int_10_100); - fullAdd_x FA_8000_3944(int_21_100, int_20_100, int_15_99, int_17_99, int_12_100); - fullAdd_x FA_8000_4160(int_23_100, int_22_100, int_14_100, int_19_99, int_21_99); - fullAdd_x FA_8000_4376(int_25_100, int_24_100, int_16_100, int_18_100, int_23_99); - fullAdd_x FA_8000_4592(int_27_100, int_26_100, int_20_100, int_22_100, int_25_99); - fullAdd_x FA_8000_4808(int_29_100, int_28_100, int_24_100, int_27_99, int_26_100); - assign Sum[100] = int_29_99; - assign Carry[100] = int_28_100; - - // Hardware for column 101 - - r4bs r4bs_8080_0(yy[62], yy[63], single[19], double[19], neg[19], pp_19_101); - r4bs r4bs_8080_128(yy[60], yy[61], single[20], double[20], neg[20], pp_20_101); - fullAdd_x FA_8080_256(int_1_101, int_0_101, negbar[18], pp_19_101, pp_20_101); - r4bs r4bs_8080_472(yy[58], yy[59], single[21], double[21], neg[21], pp_21_101); - r4bs r4bs_8080_600(yy[56], yy[57], single[22], double[22], neg[22], pp_22_101); - r4bs r4bs_8080_728(yy[54], yy[55], single[23], double[23], neg[23], pp_23_101); - fullAdd_x FA_8080_856(int_3_101, int_2_101, pp_21_101, pp_22_101, pp_23_101); - r4bs r4bs_8080_1072(yy[52], yy[53], single[24], double[24], neg[24], pp_24_101); - r4bs r4bs_8080_1200(yy[50], yy[51], single[25], double[25], neg[25], pp_25_101); - r4bs r4bs_8080_1328(yy[48], yy[49], single[26], double[26], neg[26], pp_26_101); - fullAdd_x FA_8080_1456(int_5_101, int_4_101, pp_24_101, pp_25_101, pp_26_101); - r4bs r4bs_8080_1672(yy[46], yy[47], single[27], double[27], neg[27], pp_27_101); - r4bs r4bs_8080_1800(yy[44], yy[45], single[28], double[28], neg[28], pp_28_101); - r4bs r4bs_8080_1928(yy[42], yy[43], single[29], double[29], neg[29], pp_29_101); - fullAdd_x FA_8080_2056(int_7_101, int_6_101, pp_27_101, pp_28_101, pp_29_101); - r4bs r4bs_8080_2272(yy[40], yy[41], single[30], double[30], neg[30], pp_30_101); - r4bs r4bs_8080_2400(yy[38], yy[39], single[31], double[31], neg[31], pp_31_101); - r4bs r4bs_8080_2528(yy[36], yy[37], single[32], double[32], neg[32], pp_32_101); - fullAdd_x FA_8080_2656(int_9_101, int_8_101, pp_30_101, pp_31_101, pp_32_101); - fullAdd_x FA_8080_2872(int_11_101, int_10_101, int_1_100, int_3_100, int_5_100); - fullAdd_x FA_8080_3088(int_13_101, int_12_101, int_7_100, int_9_100, int_11_100); - fullAdd_x FA_8080_3304(int_15_101, int_14_101, int_13_100, int_0_101, int_2_101); - fullAdd_x FA_8080_3520(int_17_101, int_16_101, int_4_101, int_6_101, int_8_101); - fullAdd_x FA_8080_3736(int_19_101, int_18_101, int_15_100, int_17_100, int_19_100); - fullAdd_x FA_8080_3952(int_21_101, int_20_101, int_10_101, int_12_101, int_21_100); - fullAdd_x FA_8080_4168(int_23_101, int_22_101, int_14_101, int_16_101, int_23_100); - fullAdd_x FA_8080_4384(int_25_101, int_24_101, int_18_101, int_20_101, int_25_100); - fullAdd_x FA_8080_4600(int_27_101, int_26_101, int_22_101, int_27_100, int_24_101); - assign Sum[101] = int_29_100; - assign Carry[101] = int_26_101; - - // Hardware for column 102 - - r4bs r4bs_8160_0(yy[63], gnd, single[19], double[19], neg[19], pp_19_102); - halfAdd HA_8160_128(int_1_102, int_0_102, 1'b1, pp_19_102); - r4bs r4bs_8160_208(yy[61], yy[62], single[20], double[20], neg[20], pp_20_102); - r4bs r4bs_8160_336(yy[59], yy[60], single[21], double[21], neg[21], pp_21_102); - r4bs r4bs_8160_464(yy[57], yy[58], single[22], double[22], neg[22], pp_22_102); - fullAdd_x FA_8160_592(int_3_102, int_2_102, pp_20_102, pp_21_102, pp_22_102); - r4bs r4bs_8160_808(yy[55], yy[56], single[23], double[23], neg[23], pp_23_102); - r4bs r4bs_8160_936(yy[53], yy[54], single[24], double[24], neg[24], pp_24_102); - r4bs r4bs_8160_1064(yy[51], yy[52], single[25], double[25], neg[25], pp_25_102); - fullAdd_x FA_8160_1192(int_5_102, int_4_102, pp_23_102, pp_24_102, pp_25_102); - r4bs r4bs_8160_1408(yy[49], yy[50], single[26], double[26], neg[26], pp_26_102); - r4bs r4bs_8160_1536(yy[47], yy[48], single[27], double[27], neg[27], pp_27_102); - r4bs r4bs_8160_1664(yy[45], yy[46], single[28], double[28], neg[28], pp_28_102); - fullAdd_x FA_8160_1792(int_7_102, int_6_102, pp_26_102, pp_27_102, pp_28_102); - r4bs r4bs_8160_2008(yy[43], yy[44], single[29], double[29], neg[29], pp_29_102); - r4bs r4bs_8160_2136(yy[41], yy[42], single[30], double[30], neg[30], pp_30_102); - r4bs r4bs_8160_2264(yy[39], yy[40], single[31], double[31], neg[31], pp_31_102); - fullAdd_x FA_8160_2392(int_9_102, int_8_102, pp_29_102, pp_30_102, pp_31_102); - r4bs r4bs_8160_2608(yy[37], yy[38], single[32], double[32], neg[32], pp_32_102); - fullAdd_x FA_8160_2736(int_11_102, int_10_102, pp_32_102, int_1_101, int_3_101); - fullAdd_x FA_8160_2952(int_13_102, int_12_102, int_5_101, int_7_101, int_9_101); - fullAdd_x FA_8160_3168(int_15_102, int_14_102, int_0_102, int_11_101, int_2_102); - fullAdd_x FA_8160_3384(int_17_102, int_16_102, int_4_102, int_6_102, int_8_102); - fullAdd_x FA_8160_3600(int_19_102, int_18_102, int_13_101, int_15_101, int_17_101); - fullAdd_x FA_8160_3816(int_21_102, int_20_102, int_10_102, int_12_102, int_19_101); - fullAdd_x FA_8160_4032(int_23_102, int_22_102, int_14_102, int_16_102, int_21_101); - fullAdd_x FA_8160_4248(int_25_102, int_24_102, int_18_102, int_20_102, int_23_101); - fullAdd_x FA_8160_4464(int_27_102, int_26_102, int_22_102, int_25_101, int_24_102); - assign Sum[102] = int_27_101; - assign Carry[102] = int_26_102; - - // Hardware for column 103 - - r4bs r4bs_8240_0(yy[62], yy[63], single[20], double[20], neg[20], pp_20_103); - r4bs r4bs_8240_128(yy[60], yy[61], single[21], double[21], neg[21], pp_21_103); - fullAdd_x FA_8240_256(int_1_103, int_0_103, negbar[19], pp_20_103, pp_21_103); - r4bs r4bs_8240_472(yy[58], yy[59], single[22], double[22], neg[22], pp_22_103); - r4bs r4bs_8240_600(yy[56], yy[57], single[23], double[23], neg[23], pp_23_103); - r4bs r4bs_8240_728(yy[54], yy[55], single[24], double[24], neg[24], pp_24_103); - fullAdd_x FA_8240_856(int_3_103, int_2_103, pp_22_103, pp_23_103, pp_24_103); - r4bs r4bs_8240_1072(yy[52], yy[53], single[25], double[25], neg[25], pp_25_103); - r4bs r4bs_8240_1200(yy[50], yy[51], single[26], double[26], neg[26], pp_26_103); - r4bs r4bs_8240_1328(yy[48], yy[49], single[27], double[27], neg[27], pp_27_103); - fullAdd_x FA_8240_1456(int_5_103, int_4_103, pp_25_103, pp_26_103, pp_27_103); - r4bs r4bs_8240_1672(yy[46], yy[47], single[28], double[28], neg[28], pp_28_103); - r4bs r4bs_8240_1800(yy[44], yy[45], single[29], double[29], neg[29], pp_29_103); - r4bs r4bs_8240_1928(yy[42], yy[43], single[30], double[30], neg[30], pp_30_103); - fullAdd_x FA_8240_2056(int_7_103, int_6_103, pp_28_103, pp_29_103, pp_30_103); - r4bs r4bs_8240_2272(yy[40], yy[41], single[31], double[31], neg[31], pp_31_103); - r4bs r4bs_8240_2400(yy[38], yy[39], single[32], double[32], neg[32], pp_32_103); - fullAdd_x FA_8240_2528(int_9_103, int_8_103, pp_31_103, pp_32_103, int_1_102); - fullAdd_x FA_8240_2744(int_11_103, int_10_103, int_3_102, int_5_102, int_7_102); - fullAdd_x FA_8240_2960(int_13_103, int_12_103, int_9_102, int_11_102, int_13_102); - fullAdd_x FA_8240_3176(int_15_103, int_14_103, int_0_103, int_2_103, int_4_103); - fullAdd_x FA_8240_3392(int_17_103, int_16_103, int_6_103, int_8_103, int_15_102); - fullAdd_x FA_8240_3608(int_19_103, int_18_103, int_17_102, int_10_103, int_19_102); - fullAdd_x FA_8240_3824(int_21_103, int_20_103, int_12_103, int_14_103, int_16_103); - fullAdd_x FA_8240_4040(int_23_103, int_22_103, int_21_102, int_18_103, int_23_102); - fullAdd_x FA_8240_4256(int_25_103, int_24_103, int_20_103, int_25_102, int_22_103); - assign Sum[103] = int_27_102; - assign Carry[103] = int_24_103; - - // Hardware for column 104 - - r4bs r4bs_8320_0(yy[63], gnd, single[20], double[20], neg[20], pp_20_104); - halfAdd HA_8320_128(int_1_104, int_0_104, 1'b1, pp_20_104); - r4bs r4bs_8320_208(yy[61], yy[62], single[21], double[21], neg[21], pp_21_104); - r4bs r4bs_8320_336(yy[59], yy[60], single[22], double[22], neg[22], pp_22_104); - r4bs r4bs_8320_464(yy[57], yy[58], single[23], double[23], neg[23], pp_23_104); - fullAdd_x FA_8320_592(int_3_104, int_2_104, pp_21_104, pp_22_104, pp_23_104); - r4bs r4bs_8320_808(yy[55], yy[56], single[24], double[24], neg[24], pp_24_104); - r4bs r4bs_8320_936(yy[53], yy[54], single[25], double[25], neg[25], pp_25_104); - r4bs r4bs_8320_1064(yy[51], yy[52], single[26], double[26], neg[26], pp_26_104); - fullAdd_x FA_8320_1192(int_5_104, int_4_104, pp_24_104, pp_25_104, pp_26_104); - r4bs r4bs_8320_1408(yy[49], yy[50], single[27], double[27], neg[27], pp_27_104); - r4bs r4bs_8320_1536(yy[47], yy[48], single[28], double[28], neg[28], pp_28_104); - r4bs r4bs_8320_1664(yy[45], yy[46], single[29], double[29], neg[29], pp_29_104); - fullAdd_x FA_8320_1792(int_7_104, int_6_104, pp_27_104, pp_28_104, pp_29_104); - r4bs r4bs_8320_2008(yy[43], yy[44], single[30], double[30], neg[30], pp_30_104); - r4bs r4bs_8320_2136(yy[41], yy[42], single[31], double[31], neg[31], pp_31_104); - r4bs r4bs_8320_2264(yy[39], yy[40], single[32], double[32], neg[32], pp_32_104); - fullAdd_x FA_8320_2392(int_9_104, int_8_104, pp_30_104, pp_31_104, pp_32_104); - fullAdd_x FA_8320_2608(int_11_104, int_10_104, int_1_103, int_3_103, int_5_103); - fullAdd_x FA_8320_2824(int_13_104, int_12_104, int_7_103, int_0_104, int_9_103); - fullAdd_x FA_8320_3040(int_15_104, int_14_104, int_11_103, int_2_104, int_4_104); - fullAdd_x FA_8320_3256(int_17_104, int_16_104, int_6_104, int_8_104, int_13_103); - fullAdd_x FA_8320_3472(int_19_104, int_18_104, int_15_103, int_10_104, int_12_104); - fullAdd_x FA_8320_3688(int_21_104, int_20_104, int_17_103, int_14_104, int_16_104); - fullAdd_x FA_8320_3904(int_23_104, int_22_104, int_19_103, int_21_103, int_18_104); - fullAdd_x FA_8320_4120(int_25_104, int_24_104, int_20_104, int_23_103, int_22_104); - assign Sum[104] = int_25_103; - assign Carry[104] = int_24_104; - - // Hardware for column 105 - - r4bs r4bs_8400_0(yy[62], yy[63], single[21], double[21], neg[21], pp_21_105); - r4bs r4bs_8400_128(yy[60], yy[61], single[22], double[22], neg[22], pp_22_105); - fullAdd_x FA_8400_256(int_1_105, int_0_105, negbar[20], pp_21_105, pp_22_105); - r4bs r4bs_8400_472(yy[58], yy[59], single[23], double[23], neg[23], pp_23_105); - r4bs r4bs_8400_600(yy[56], yy[57], single[24], double[24], neg[24], pp_24_105); - r4bs r4bs_8400_728(yy[54], yy[55], single[25], double[25], neg[25], pp_25_105); - fullAdd_x FA_8400_856(int_3_105, int_2_105, pp_23_105, pp_24_105, pp_25_105); - r4bs r4bs_8400_1072(yy[52], yy[53], single[26], double[26], neg[26], pp_26_105); - r4bs r4bs_8400_1200(yy[50], yy[51], single[27], double[27], neg[27], pp_27_105); - r4bs r4bs_8400_1328(yy[48], yy[49], single[28], double[28], neg[28], pp_28_105); - fullAdd_x FA_8400_1456(int_5_105, int_4_105, pp_26_105, pp_27_105, pp_28_105); - r4bs r4bs_8400_1672(yy[46], yy[47], single[29], double[29], neg[29], pp_29_105); - r4bs r4bs_8400_1800(yy[44], yy[45], single[30], double[30], neg[30], pp_30_105); - r4bs r4bs_8400_1928(yy[42], yy[43], single[31], double[31], neg[31], pp_31_105); - fullAdd_x FA_8400_2056(int_7_105, int_6_105, pp_29_105, pp_30_105, pp_31_105); - r4bs r4bs_8400_2272(yy[40], yy[41], single[32], double[32], neg[32], pp_32_105); - fullAdd_x FA_8400_2400(int_9_105, int_8_105, pp_32_105, int_1_104, int_3_104); - fullAdd_x FA_8400_2616(int_11_105, int_10_105, int_5_104, int_7_104, int_9_104); - fullAdd_x FA_8400_2832(int_13_105, int_12_105, int_11_104, int_0_105, int_2_105); - fullAdd_x FA_8400_3048(int_15_105, int_14_105, int_4_105, int_6_105, int_13_104); - fullAdd_x FA_8400_3264(int_17_105, int_16_105, int_8_105, int_15_104, int_10_105); - fullAdd_x FA_8400_3480(int_19_105, int_18_105, int_17_104, int_19_104, int_12_105); - fullAdd_x FA_8400_3696(int_21_105, int_20_105, int_14_105, int_21_104, int_16_105); - fullAdd_x FA_8400_3912(int_23_105, int_22_105, int_23_104, int_18_105, int_20_105); - assign Sum[105] = int_25_104; - assign Carry[105] = int_22_105; - - // Hardware for column 106 - - r4bs r4bs_8480_0(yy[63], gnd, single[21], double[21], neg[21], pp_21_106); - halfAdd HA_8480_128(int_1_106, int_0_106, 1'b1, pp_21_106); - r4bs r4bs_8480_208(yy[61], yy[62], single[22], double[22], neg[22], pp_22_106); - r4bs r4bs_8480_336(yy[59], yy[60], single[23], double[23], neg[23], pp_23_106); - r4bs r4bs_8480_464(yy[57], yy[58], single[24], double[24], neg[24], pp_24_106); - fullAdd_x FA_8480_592(int_3_106, int_2_106, pp_22_106, pp_23_106, pp_24_106); - r4bs r4bs_8480_808(yy[55], yy[56], single[25], double[25], neg[25], pp_25_106); - r4bs r4bs_8480_936(yy[53], yy[54], single[26], double[26], neg[26], pp_26_106); - r4bs r4bs_8480_1064(yy[51], yy[52], single[27], double[27], neg[27], pp_27_106); - fullAdd_x FA_8480_1192(int_5_106, int_4_106, pp_25_106, pp_26_106, pp_27_106); - r4bs r4bs_8480_1408(yy[49], yy[50], single[28], double[28], neg[28], pp_28_106); - r4bs r4bs_8480_1536(yy[47], yy[48], single[29], double[29], neg[29], pp_29_106); - r4bs r4bs_8480_1664(yy[45], yy[46], single[30], double[30], neg[30], pp_30_106); - fullAdd_x FA_8480_1792(int_7_106, int_6_106, pp_28_106, pp_29_106, pp_30_106); - r4bs r4bs_8480_2008(yy[43], yy[44], single[31], double[31], neg[31], pp_31_106); - r4bs r4bs_8480_2136(yy[41], yy[42], single[32], double[32], neg[32], pp_32_106); - fullAdd_x FA_8480_2264(int_9_106, int_8_106, pp_31_106, pp_32_106, int_1_105); - fullAdd_x FA_8480_2480(int_11_106, int_10_106, int_3_105, int_5_105, int_7_105); - fullAdd_x FA_8480_2696(int_13_106, int_12_106, int_0_106, int_9_105, int_11_105); - fullAdd_x FA_8480_2912(int_15_106, int_14_106, int_2_106, int_4_106, int_6_106); - fullAdd_x FA_8480_3128(int_17_106, int_16_106, int_8_106, int_13_105, int_10_106); - fullAdd_x FA_8480_3344(int_19_106, int_18_106, int_15_105, int_17_105, int_12_106); - fullAdd_x FA_8480_3560(int_21_106, int_20_106, int_14_106, int_19_105, int_16_106); - fullAdd_x FA_8480_3776(int_23_106, int_22_106, int_21_105, int_18_106, int_20_106); - assign Sum[106] = int_23_105; - assign Carry[106] = int_22_106; - - // Hardware for column 107 - - r4bs r4bs_8560_0(yy[62], yy[63], single[22], double[22], neg[22], pp_22_107); - r4bs r4bs_8560_128(yy[60], yy[61], single[23], double[23], neg[23], pp_23_107); - fullAdd_x FA_8560_256(int_1_107, int_0_107, negbar[21], pp_22_107, pp_23_107); - r4bs r4bs_8560_472(yy[58], yy[59], single[24], double[24], neg[24], pp_24_107); - r4bs r4bs_8560_600(yy[56], yy[57], single[25], double[25], neg[25], pp_25_107); - r4bs r4bs_8560_728(yy[54], yy[55], single[26], double[26], neg[26], pp_26_107); - fullAdd_x FA_8560_856(int_3_107, int_2_107, pp_24_107, pp_25_107, pp_26_107); - r4bs r4bs_8560_1072(yy[52], yy[53], single[27], double[27], neg[27], pp_27_107); - r4bs r4bs_8560_1200(yy[50], yy[51], single[28], double[28], neg[28], pp_28_107); - r4bs r4bs_8560_1328(yy[48], yy[49], single[29], double[29], neg[29], pp_29_107); - fullAdd_x FA_8560_1456(int_5_107, int_4_107, pp_27_107, pp_28_107, pp_29_107); - r4bs r4bs_8560_1672(yy[46], yy[47], single[30], double[30], neg[30], pp_30_107); - r4bs r4bs_8560_1800(yy[44], yy[45], single[31], double[31], neg[31], pp_31_107); - r4bs r4bs_8560_1928(yy[42], yy[43], single[32], double[32], neg[32], pp_32_107); - fullAdd_x FA_8560_2056(int_7_107, int_6_107, pp_30_107, pp_31_107, pp_32_107); - fullAdd_x FA_8560_2272(int_9_107, int_8_107, int_1_106, int_3_106, int_5_106); - fullAdd_x FA_8560_2488(int_11_107, int_10_107, int_7_106, int_9_106, int_11_106); - fullAdd_x FA_8560_2704(int_13_107, int_12_107, int_0_107, int_2_107, int_4_107); - fullAdd_x FA_8560_2920(int_15_107, int_14_107, int_6_107, int_13_106, int_15_106); - fullAdd_x FA_8560_3136(int_17_107, int_16_107, int_8_107, int_17_106, int_10_107); - fullAdd_x FA_8560_3352(int_19_107, int_18_107, int_12_107, int_19_106, int_14_107); - fullAdd_x FA_8560_3568(int_21_107, int_20_107, int_21_106, int_16_107, int_18_107); - assign Sum[107] = int_23_106; - assign Carry[107] = int_20_107; - - // Hardware for column 108 - - r4bs r4bs_8640_0(yy[63], gnd, single[22], double[22], neg[22], pp_22_108); - halfAdd HA_8640_128(int_1_108, int_0_108, 1'b1, pp_22_108); - r4bs r4bs_8640_208(yy[61], yy[62], single[23], double[23], neg[23], pp_23_108); - r4bs r4bs_8640_336(yy[59], yy[60], single[24], double[24], neg[24], pp_24_108); - r4bs r4bs_8640_464(yy[57], yy[58], single[25], double[25], neg[25], pp_25_108); - fullAdd_x FA_8640_592(int_3_108, int_2_108, pp_23_108, pp_24_108, pp_25_108); - r4bs r4bs_8640_808(yy[55], yy[56], single[26], double[26], neg[26], pp_26_108); - r4bs r4bs_8640_936(yy[53], yy[54], single[27], double[27], neg[27], pp_27_108); - r4bs r4bs_8640_1064(yy[51], yy[52], single[28], double[28], neg[28], pp_28_108); - fullAdd_x FA_8640_1192(int_5_108, int_4_108, pp_26_108, pp_27_108, pp_28_108); - r4bs r4bs_8640_1408(yy[49], yy[50], single[29], double[29], neg[29], pp_29_108); - r4bs r4bs_8640_1536(yy[47], yy[48], single[30], double[30], neg[30], pp_30_108); - r4bs r4bs_8640_1664(yy[45], yy[46], single[31], double[31], neg[31], pp_31_108); - fullAdd_x FA_8640_1792(int_7_108, int_6_108, pp_29_108, pp_30_108, pp_31_108); - r4bs r4bs_8640_2008(yy[43], yy[44], single[32], double[32], neg[32], pp_32_108); - fullAdd_x FA_8640_2136(int_9_108, int_8_108, pp_32_108, int_1_107, int_3_107); - fullAdd_x FA_8640_2352(int_11_108, int_10_108, int_5_107, int_7_107, int_0_108); - fullAdd_x FA_8640_2568(int_13_108, int_12_108, int_9_107, int_2_108, int_4_108); - fullAdd_x FA_8640_2784(int_15_108, int_14_108, int_6_108, int_11_107, int_13_107); - fullAdd_x FA_8640_3000(int_17_108, int_16_108, int_8_108, int_10_108, int_15_107); - fullAdd_x FA_8640_3216(int_19_108, int_18_108, int_12_108, int_17_107, int_14_108); - fullAdd_x FA_8640_3432(int_21_108, int_20_108, int_16_108, int_19_107, int_18_108); - assign Sum[108] = int_21_107; - assign Carry[108] = int_20_108; - - // Hardware for column 109 - - r4bs r4bs_8720_0(yy[62], yy[63], single[23], double[23], neg[23], pp_23_109); - r4bs r4bs_8720_128(yy[60], yy[61], single[24], double[24], neg[24], pp_24_109); - fullAdd_x FA_8720_256(int_1_109, int_0_109, negbar[22], pp_23_109, pp_24_109); - r4bs r4bs_8720_472(yy[58], yy[59], single[25], double[25], neg[25], pp_25_109); - r4bs r4bs_8720_600(yy[56], yy[57], single[26], double[26], neg[26], pp_26_109); - r4bs r4bs_8720_728(yy[54], yy[55], single[27], double[27], neg[27], pp_27_109); - fullAdd_x FA_8720_856(int_3_109, int_2_109, pp_25_109, pp_26_109, pp_27_109); - r4bs r4bs_8720_1072(yy[52], yy[53], single[28], double[28], neg[28], pp_28_109); - r4bs r4bs_8720_1200(yy[50], yy[51], single[29], double[29], neg[29], pp_29_109); - r4bs r4bs_8720_1328(yy[48], yy[49], single[30], double[30], neg[30], pp_30_109); - fullAdd_x FA_8720_1456(int_5_109, int_4_109, pp_28_109, pp_29_109, pp_30_109); - r4bs r4bs_8720_1672(yy[46], yy[47], single[31], double[31], neg[31], pp_31_109); - r4bs r4bs_8720_1800(yy[44], yy[45], single[32], double[32], neg[32], pp_32_109); - fullAdd_x FA_8720_1928(int_7_109, int_6_109, pp_31_109, pp_32_109, int_1_108); - fullAdd_x FA_8720_2144(int_9_109, int_8_109, int_3_108, int_5_108, int_7_108); - fullAdd_x FA_8720_2360(int_11_109, int_10_109, int_9_108, int_11_108, int_0_109); - fullAdd_x FA_8720_2576(int_13_109, int_12_109, int_2_109, int_4_109, int_6_109); - fullAdd_x FA_8720_2792(int_15_109, int_14_109, int_13_108, int_8_109, int_15_108); - fullAdd_x FA_8720_3008(int_17_109, int_16_109, int_10_109, int_12_109, int_17_108); - fullAdd_x FA_8720_3224(int_19_109, int_18_109, int_14_109, int_19_108, int_16_109); - assign Sum[109] = int_21_108; - assign Carry[109] = int_18_109; - - // Hardware for column 110 - - r4bs r4bs_8800_0(yy[63], gnd, single[23], double[23], neg[23], pp_23_110); - halfAdd HA_8800_128(int_1_110, int_0_110, 1'b1, pp_23_110); - r4bs r4bs_8800_208(yy[61], yy[62], single[24], double[24], neg[24], pp_24_110); - r4bs r4bs_8800_336(yy[59], yy[60], single[25], double[25], neg[25], pp_25_110); - r4bs r4bs_8800_464(yy[57], yy[58], single[26], double[26], neg[26], pp_26_110); - fullAdd_x FA_8800_592(int_3_110, int_2_110, pp_24_110, pp_25_110, pp_26_110); - r4bs r4bs_8800_808(yy[55], yy[56], single[27], double[27], neg[27], pp_27_110); - r4bs r4bs_8800_936(yy[53], yy[54], single[28], double[28], neg[28], pp_28_110); - r4bs r4bs_8800_1064(yy[51], yy[52], single[29], double[29], neg[29], pp_29_110); - fullAdd_x FA_8800_1192(int_5_110, int_4_110, pp_27_110, pp_28_110, pp_29_110); - r4bs r4bs_8800_1408(yy[49], yy[50], single[30], double[30], neg[30], pp_30_110); - r4bs r4bs_8800_1536(yy[47], yy[48], single[31], double[31], neg[31], pp_31_110); - r4bs r4bs_8800_1664(yy[45], yy[46], single[32], double[32], neg[32], pp_32_110); - fullAdd_x FA_8800_1792(int_7_110, int_6_110, pp_30_110, pp_31_110, pp_32_110); - fullAdd_x FA_8800_2008(int_9_110, int_8_110, int_1_109, int_3_109, int_5_109); - fullAdd_x FA_8800_2224(int_11_110, int_10_110, int_0_110, int_7_109, int_9_109); - fullAdd_x FA_8800_2440(int_13_110, int_12_110, int_2_110, int_4_110, int_6_110); - fullAdd_x FA_8800_2656(int_15_110, int_14_110, int_11_109, int_13_109, int_8_110); - fullAdd_x FA_8800_2872(int_17_110, int_16_110, int_10_110, int_12_110, int_15_109); - fullAdd_x FA_8800_3088(int_19_110, int_18_110, int_14_110, int_17_109, int_16_110); - assign Sum[110] = int_19_109; - assign Carry[110] = int_18_110; - - // Hardware for column 111 - - r4bs r4bs_8880_0(yy[62], yy[63], single[24], double[24], neg[24], pp_24_111); - r4bs r4bs_8880_128(yy[60], yy[61], single[25], double[25], neg[25], pp_25_111); - fullAdd_x FA_8880_256(int_1_111, int_0_111, negbar[23], pp_24_111, pp_25_111); - r4bs r4bs_8880_472(yy[58], yy[59], single[26], double[26], neg[26], pp_26_111); - r4bs r4bs_8880_600(yy[56], yy[57], single[27], double[27], neg[27], pp_27_111); - r4bs r4bs_8880_728(yy[54], yy[55], single[28], double[28], neg[28], pp_28_111); - fullAdd_x FA_8880_856(int_3_111, int_2_111, pp_26_111, pp_27_111, pp_28_111); - r4bs r4bs_8880_1072(yy[52], yy[53], single[29], double[29], neg[29], pp_29_111); - r4bs r4bs_8880_1200(yy[50], yy[51], single[30], double[30], neg[30], pp_30_111); - r4bs r4bs_8880_1328(yy[48], yy[49], single[31], double[31], neg[31], pp_31_111); - fullAdd_x FA_8880_1456(int_5_111, int_4_111, pp_29_111, pp_30_111, pp_31_111); - r4bs r4bs_8880_1672(yy[46], yy[47], single[32], double[32], neg[32], pp_32_111); - fullAdd_x FA_8880_1800(int_7_111, int_6_111, pp_32_111, int_1_110, int_3_110); - fullAdd_x FA_8880_2016(int_9_111, int_8_111, int_5_110, int_7_110, int_9_110); - fullAdd_x FA_8880_2232(int_11_111, int_10_111, int_0_111, int_2_111, int_4_111); - fullAdd_x FA_8880_2448(int_13_111, int_12_111, int_6_111, int_11_110, int_13_110); - fullAdd_x FA_8880_2664(int_15_111, int_14_111, int_8_111, int_15_110, int_10_111); - fullAdd_x FA_8880_2880(int_17_111, int_16_111, int_12_111, int_17_110, int_14_111); - assign Sum[111] = int_19_110; - assign Carry[111] = int_16_111; - - // Hardware for column 112 - - r4bs r4bs_8960_0(yy[63], gnd, single[24], double[24], neg[24], pp_24_112); - halfAdd HA_8960_128(int_1_112, int_0_112, 1'b1, pp_24_112); - r4bs r4bs_8960_208(yy[61], yy[62], single[25], double[25], neg[25], pp_25_112); - r4bs r4bs_8960_336(yy[59], yy[60], single[26], double[26], neg[26], pp_26_112); - r4bs r4bs_8960_464(yy[57], yy[58], single[27], double[27], neg[27], pp_27_112); - fullAdd_x FA_8960_592(int_3_112, int_2_112, pp_25_112, pp_26_112, pp_27_112); - r4bs r4bs_8960_808(yy[55], yy[56], single[28], double[28], neg[28], pp_28_112); - r4bs r4bs_8960_936(yy[53], yy[54], single[29], double[29], neg[29], pp_29_112); - r4bs r4bs_8960_1064(yy[51], yy[52], single[30], double[30], neg[30], pp_30_112); - fullAdd_x FA_8960_1192(int_5_112, int_4_112, pp_28_112, pp_29_112, pp_30_112); - r4bs r4bs_8960_1408(yy[49], yy[50], single[31], double[31], neg[31], pp_31_112); - r4bs r4bs_8960_1536(yy[47], yy[48], single[32], double[32], neg[32], pp_32_112); - fullAdd_x FA_8960_1664(int_7_112, int_6_112, pp_31_112, pp_32_112, int_1_111); - fullAdd_x FA_8960_1880(int_9_112, int_8_112, int_3_111, int_5_111, int_0_112); - fullAdd_x FA_8960_2096(int_11_112, int_10_112, int_7_111, int_2_112, int_4_112); - fullAdd_x FA_8960_2312(int_13_112, int_12_112, int_6_112, int_9_111, int_11_111); - fullAdd_x FA_8960_2528(int_15_112, int_14_112, int_8_112, int_13_111, int_10_112); - fullAdd_x FA_8960_2744(int_17_112, int_16_112, int_15_111, int_12_112, int_14_112); - assign Sum[112] = int_17_111; - assign Carry[112] = int_16_112; - - // Hardware for column 113 - - r4bs r4bs_9040_0(yy[62], yy[63], single[25], double[25], neg[25], pp_25_113); - r4bs r4bs_9040_128(yy[60], yy[61], single[26], double[26], neg[26], pp_26_113); - fullAdd_x FA_9040_256(int_1_113, int_0_113, negbar[24], pp_25_113, pp_26_113); - r4bs r4bs_9040_472(yy[58], yy[59], single[27], double[27], neg[27], pp_27_113); - r4bs r4bs_9040_600(yy[56], yy[57], single[28], double[28], neg[28], pp_28_113); - r4bs r4bs_9040_728(yy[54], yy[55], single[29], double[29], neg[29], pp_29_113); - fullAdd_x FA_9040_856(int_3_113, int_2_113, pp_27_113, pp_28_113, pp_29_113); - r4bs r4bs_9040_1072(yy[52], yy[53], single[30], double[30], neg[30], pp_30_113); - r4bs r4bs_9040_1200(yy[50], yy[51], single[31], double[31], neg[31], pp_31_113); - r4bs r4bs_9040_1328(yy[48], yy[49], single[32], double[32], neg[32], pp_32_113); - fullAdd_x FA_9040_1456(int_5_113, int_4_113, pp_30_113, pp_31_113, pp_32_113); - fullAdd_x FA_9040_1672(int_7_113, int_6_113, int_1_112, int_3_112, int_5_112); - fullAdd_x FA_9040_1888(int_9_113, int_8_113, int_7_112, int_9_112, int_0_113); - fullAdd_x FA_9040_2104(int_11_113, int_10_113, int_2_113, int_4_113, int_11_112); - fullAdd_x FA_9040_2320(int_13_113, int_12_113, int_6_113, int_13_112, int_8_113); - fullAdd_x FA_9040_2536(int_15_113, int_14_113, int_10_113, int_15_112, int_12_113); - assign Sum[113] = int_17_112; - assign Carry[113] = int_14_113; - - // Hardware for column 114 - - r4bs r4bs_9120_0(yy[63], gnd, single[25], double[25], neg[25], pp_25_114); - halfAdd HA_9120_128(int_1_114, int_0_114, 1'b1, pp_25_114); - r4bs r4bs_9120_208(yy[61], yy[62], single[26], double[26], neg[26], pp_26_114); - r4bs r4bs_9120_336(yy[59], yy[60], single[27], double[27], neg[27], pp_27_114); - r4bs r4bs_9120_464(yy[57], yy[58], single[28], double[28], neg[28], pp_28_114); - fullAdd_x FA_9120_592(int_3_114, int_2_114, pp_26_114, pp_27_114, pp_28_114); - r4bs r4bs_9120_808(yy[55], yy[56], single[29], double[29], neg[29], pp_29_114); - r4bs r4bs_9120_936(yy[53], yy[54], single[30], double[30], neg[30], pp_30_114); - r4bs r4bs_9120_1064(yy[51], yy[52], single[31], double[31], neg[31], pp_31_114); - fullAdd_x FA_9120_1192(int_5_114, int_4_114, pp_29_114, pp_30_114, pp_31_114); - r4bs r4bs_9120_1408(yy[49], yy[50], single[32], double[32], neg[32], pp_32_114); - fullAdd_x FA_9120_1536(int_7_114, int_6_114, pp_32_114, int_1_113, int_3_113); - fullAdd_x FA_9120_1752(int_9_114, int_8_114, int_5_113, int_0_114, int_7_113); - fullAdd_x FA_9120_1968(int_11_114, int_10_114, int_2_114, int_4_114, int_9_113); - fullAdd_x FA_9120_2184(int_13_114, int_12_114, int_6_114, int_8_114, int_11_113); - fullAdd_x FA_9120_2400(int_15_114, int_14_114, int_10_114, int_13_113, int_12_114); - assign Sum[114] = int_15_113; - assign Carry[114] = int_14_114; - - // Hardware for column 115 - - r4bs r4bs_9200_0(yy[62], yy[63], single[26], double[26], neg[26], pp_26_115); - r4bs r4bs_9200_128(yy[60], yy[61], single[27], double[27], neg[27], pp_27_115); - fullAdd_x FA_9200_256(int_1_115, int_0_115, negbar[25], pp_26_115, pp_27_115); - r4bs r4bs_9200_472(yy[58], yy[59], single[28], double[28], neg[28], pp_28_115); - r4bs r4bs_9200_600(yy[56], yy[57], single[29], double[29], neg[29], pp_29_115); - r4bs r4bs_9200_728(yy[54], yy[55], single[30], double[30], neg[30], pp_30_115); - fullAdd_x FA_9200_856(int_3_115, int_2_115, pp_28_115, pp_29_115, pp_30_115); - r4bs r4bs_9200_1072(yy[52], yy[53], single[31], double[31], neg[31], pp_31_115); - r4bs r4bs_9200_1200(yy[50], yy[51], single[32], double[32], neg[32], pp_32_115); - fullAdd_x FA_9200_1328(int_5_115, int_4_115, pp_31_115, pp_32_115, int_1_114); - fullAdd_x FA_9200_1544(int_7_115, int_6_115, int_3_114, int_5_114, int_7_114); - fullAdd_x FA_9200_1760(int_9_115, int_8_115, int_0_115, int_2_115, int_4_115); - fullAdd_x FA_9200_1976(int_11_115, int_10_115, int_9_114, int_6_115, int_11_114); - fullAdd_x FA_9200_2192(int_13_115, int_12_115, int_8_115, int_13_114, int_10_115); - assign Sum[115] = int_15_114; - assign Carry[115] = int_12_115; - - // Hardware for column 116 - - r4bs r4bs_9280_0(yy[63], gnd, single[26], double[26], neg[26], pp_26_116); - halfAdd HA_9280_128(int_1_116, int_0_116, 1'b1, pp_26_116); - r4bs r4bs_9280_208(yy[61], yy[62], single[27], double[27], neg[27], pp_27_116); - r4bs r4bs_9280_336(yy[59], yy[60], single[28], double[28], neg[28], pp_28_116); - r4bs r4bs_9280_464(yy[57], yy[58], single[29], double[29], neg[29], pp_29_116); - fullAdd_x FA_9280_592(int_3_116, int_2_116, pp_27_116, pp_28_116, pp_29_116); - r4bs r4bs_9280_808(yy[55], yy[56], single[30], double[30], neg[30], pp_30_116); - r4bs r4bs_9280_936(yy[53], yy[54], single[31], double[31], neg[31], pp_31_116); - r4bs r4bs_9280_1064(yy[51], yy[52], single[32], double[32], neg[32], pp_32_116); - fullAdd_x FA_9280_1192(int_5_116, int_4_116, pp_30_116, pp_31_116, pp_32_116); - fullAdd_x FA_9280_1408(int_7_116, int_6_116, int_1_115, int_3_115, int_0_116); - fullAdd_x FA_9280_1624(int_9_116, int_8_116, int_5_115, int_2_116, int_4_116); - fullAdd_x FA_9280_1840(int_11_116, int_10_116, int_7_115, int_9_115, int_6_116); - fullAdd_x FA_9280_2056(int_13_116, int_12_116, int_8_116, int_11_115, int_10_116); - assign Sum[116] = int_13_115; - assign Carry[116] = int_12_116; - - // Hardware for column 117 - - r4bs r4bs_9360_0(yy[62], yy[63], single[27], double[27], neg[27], pp_27_117); - r4bs r4bs_9360_128(yy[60], yy[61], single[28], double[28], neg[28], pp_28_117); - fullAdd_x FA_9360_256(int_1_117, int_0_117, negbar[26], pp_27_117, pp_28_117); - r4bs r4bs_9360_472(yy[58], yy[59], single[29], double[29], neg[29], pp_29_117); - r4bs r4bs_9360_600(yy[56], yy[57], single[30], double[30], neg[30], pp_30_117); - r4bs r4bs_9360_728(yy[54], yy[55], single[31], double[31], neg[31], pp_31_117); - fullAdd_x FA_9360_856(int_3_117, int_2_117, pp_29_117, pp_30_117, pp_31_117); - r4bs r4bs_9360_1072(yy[52], yy[53], single[32], double[32], neg[32], pp_32_117); - fullAdd_x FA_9360_1200(int_5_117, int_4_117, pp_32_117, int_1_116, int_3_116); - fullAdd_x FA_9360_1416(int_7_117, int_6_117, int_5_116, int_7_116, int_0_117); - fullAdd_x FA_9360_1632(int_9_117, int_8_117, int_2_117, int_4_117, int_9_116); - fullAdd_x FA_9360_1848(int_11_117, int_10_117, int_11_116, int_6_117, int_8_117); - assign Sum[117] = int_13_116; - assign Carry[117] = int_10_117; - - // Hardware for column 118 - - r4bs r4bs_9440_0(yy[63], gnd, single[27], double[27], neg[27], pp_27_118); - halfAdd HA_9440_128(int_1_118, int_0_118, 1'b1, pp_27_118); - r4bs r4bs_9440_208(yy[61], yy[62], single[28], double[28], neg[28], pp_28_118); - r4bs r4bs_9440_336(yy[59], yy[60], single[29], double[29], neg[29], pp_29_118); - r4bs r4bs_9440_464(yy[57], yy[58], single[30], double[30], neg[30], pp_30_118); - fullAdd_x FA_9440_592(int_3_118, int_2_118, pp_28_118, pp_29_118, pp_30_118); - r4bs r4bs_9440_808(yy[55], yy[56], single[31], double[31], neg[31], pp_31_118); - r4bs r4bs_9440_936(yy[53], yy[54], single[32], double[32], neg[32], pp_32_118); - fullAdd_x FA_9440_1064(int_5_118, int_4_118, pp_31_118, pp_32_118, int_1_117); - fullAdd_x FA_9440_1280(int_7_118, int_6_118, int_3_117, int_0_118, int_5_117); - fullAdd_x FA_9440_1496(int_9_118, int_8_118, int_2_118, int_4_118, int_7_117); - fullAdd_x FA_9440_1712(int_11_118, int_10_118, int_6_118, int_9_117, int_8_118); - assign Sum[118] = int_11_117; - assign Carry[118] = int_10_118; - - // Hardware for column 119 - - r4bs r4bs_9520_0(yy[62], yy[63], single[28], double[28], neg[28], pp_28_119); - r4bs r4bs_9520_128(yy[60], yy[61], single[29], double[29], neg[29], pp_29_119); - fullAdd_x FA_9520_256(int_1_119, int_0_119, negbar[27], pp_28_119, pp_29_119); - r4bs r4bs_9520_472(yy[58], yy[59], single[30], double[30], neg[30], pp_30_119); - r4bs r4bs_9520_600(yy[56], yy[57], single[31], double[31], neg[31], pp_31_119); - r4bs r4bs_9520_728(yy[54], yy[55], single[32], double[32], neg[32], pp_32_119); - fullAdd_x FA_9520_856(int_3_119, int_2_119, pp_30_119, pp_31_119, pp_32_119); - fullAdd_x FA_9520_1072(int_5_119, int_4_119, int_1_118, int_3_118, int_5_118); - fullAdd_x FA_9520_1288(int_7_119, int_6_119, int_0_119, int_2_119, int_7_118); - fullAdd_x FA_9520_1504(int_9_119, int_8_119, int_4_119, int_9_118, int_6_119); - assign Sum[119] = int_11_118; - assign Carry[119] = int_8_119; - - // Hardware for column 120 - - r4bs r4bs_9600_0(yy[63], gnd, single[28], double[28], neg[28], pp_28_120); - halfAdd HA_9600_128(int_1_120, int_0_120, 1'b1, pp_28_120); - r4bs r4bs_9600_208(yy[61], yy[62], single[29], double[29], neg[29], pp_29_120); - r4bs r4bs_9600_336(yy[59], yy[60], single[30], double[30], neg[30], pp_30_120); - r4bs r4bs_9600_464(yy[57], yy[58], single[31], double[31], neg[31], pp_31_120); - fullAdd_x FA_9600_592(int_3_120, int_2_120, pp_29_120, pp_30_120, pp_31_120); - r4bs r4bs_9600_808(yy[55], yy[56], single[32], double[32], neg[32], pp_32_120); - fullAdd_x FA_9600_936(int_5_120, int_4_120, pp_32_120, int_1_119, int_3_119); - fullAdd_x FA_9600_1152(int_7_120, int_6_120, int_0_120, int_2_120, int_5_119); - fullAdd_x FA_9600_1368(int_9_120, int_8_120, int_4_120, int_7_119, int_6_120); - assign Sum[120] = int_9_119; - assign Carry[120] = int_8_120; - - // Hardware for column 121 - - r4bs r4bs_9680_0(yy[62], yy[63], single[29], double[29], neg[29], pp_29_121); - r4bs r4bs_9680_128(yy[60], yy[61], single[30], double[30], neg[30], pp_30_121); - fullAdd_x FA_9680_256(int_1_121, int_0_121, negbar[28], pp_29_121, pp_30_121); - r4bs r4bs_9680_472(yy[58], yy[59], single[31], double[31], neg[31], pp_31_121); - r4bs r4bs_9680_600(yy[56], yy[57], single[32], double[32], neg[32], pp_32_121); - fullAdd_x FA_9680_728(int_3_121, int_2_121, pp_31_121, pp_32_121, int_1_120); - fullAdd_x FA_9680_944(int_5_121, int_4_121, int_3_120, int_5_120, int_0_121); - fullAdd_x FA_9680_1160(int_7_121, int_6_121, int_2_121, int_7_120, int_4_121); - assign Sum[121] = int_9_120; - assign Carry[121] = int_6_121; - - // Hardware for column 122 - - r4bs r4bs_9760_0(yy[63], gnd, single[29], double[29], neg[29], pp_29_122); - halfAdd HA_9760_128(int_1_122, int_0_122, 1'b1, pp_29_122); - r4bs r4bs_9760_208(yy[61], yy[62], single[30], double[30], neg[30], pp_30_122); - r4bs r4bs_9760_336(yy[59], yy[60], single[31], double[31], neg[31], pp_31_122); - r4bs r4bs_9760_464(yy[57], yy[58], single[32], double[32], neg[32], pp_32_122); - fullAdd_x FA_9760_592(int_3_122, int_2_122, pp_30_122, pp_31_122, pp_32_122); - fullAdd_x FA_9760_808(int_5_122, int_4_122, int_1_121, int_0_122, int_3_121); - fullAdd_x FA_9760_1024(int_7_122, int_6_122, int_2_122, int_5_121, int_4_122); - assign Sum[122] = int_7_121; - assign Carry[122] = int_6_122; - - // Hardware for column 123 - - r4bs r4bs_9840_0(yy[62], yy[63], single[30], double[30], neg[30], pp_30_123); - r4bs r4bs_9840_128(yy[60], yy[61], single[31], double[31], neg[31], pp_31_123); - fullAdd_x FA_9840_256(int_1_123, int_0_123, negbar[29], pp_30_123, pp_31_123); - r4bs r4bs_9840_472(yy[58], yy[59], single[32], double[32], neg[32], pp_32_123); - fullAdd_x FA_9840_600(int_3_123, int_2_123, pp_32_123, int_1_122, int_3_122); - fullAdd_x FA_9840_816(int_5_123, int_4_123, int_0_123, int_5_122, int_2_123); - assign Sum[123] = int_7_122; - assign Carry[123] = int_4_123; - - // Hardware for column 124 - - r4bs r4bs_9920_0(yy[63], gnd, single[30], double[30], neg[30], pp_30_124); - halfAdd HA_9920_128(int_1_124, int_0_124, 1'b1, pp_30_124); - r4bs r4bs_9920_208(yy[61], yy[62], single[31], double[31], neg[31], pp_31_124); - r4bs r4bs_9920_336(yy[59], yy[60], single[32], double[32], neg[32], pp_32_124); - fullAdd_x FA_9920_464(int_3_124, int_2_124, pp_31_124, pp_32_124, int_1_123); - fullAdd_x FA_9920_680(int_5_124, int_4_124, int_0_124, int_3_123, int_2_124); - assign Sum[124] = int_5_123; - assign Carry[124] = int_4_124; - - // Hardware for column 125 - - r4bs r4bs_10000_0(yy[62], yy[63], single[31], double[31], neg[31], pp_31_125); - r4bs r4bs_10000_128(yy[60], yy[61], single[32], double[32], neg[32], pp_32_125); - fullAdd_x FA_10000_256(int_1_125, int_0_125, negbar[30], pp_31_125, pp_32_125); - fullAdd_x FA_10000_472(int_3_125, int_2_125, int_1_124, int_3_124, int_0_125); - assign Sum[125] = int_5_124; - assign Carry[125] = int_2_125; - - // Hardware for column 126 - - r4bs r4bs_10080_0(yy[63], gnd, single[31], double[31], neg[31], pp_31_126); - halfAdd HA_10080_128(int_1_126, int_0_126, 1'b1, pp_31_126); - r4bs r4bs_10080_208(yy[61], yy[62], single[32], double[32], neg[32], pp_32_126); - fullAdd_x FA_10080_336(int_3_126, int_2_126, pp_32_126, int_1_125, int_0_126); - assign Sum[126] = int_3_125; - assign Carry[126] = int_2_126; - - // Hardware for column 127 - - r4bs r4bs_10160_0(yy[62], yy[63], single[32], double[32], neg[32], pp_32_127); - xor3 xor_10160_128(negbar[31], pp_32_127, int_1_126, int_0_127); - assign Sum[127] = int_3_126; - assign Carry[127] = int_0_127; - -endmodule // multiplier - -// Extra Modules - -module aaoi(egress,in1,in2,in3,in4); - - output egress; - input in1; - input in2; - input in3; - input in4; - - assign egress = !(in1&in2) & !(in3&in4); - -endmodule // aaoi - - -module halfAdd(cout,s,a,b); - - output cout; - output s; - input a; - input b; - - and2 carryComp0_0(cout,a,b); - xor2 sumComp_0_40(a,b,s); - -endmodule // halfAdd - - -// booth_encoder_r4 takes in X[2:0], which corresponds to X_(2n-1) to X_(2n+1) -// it outputs control signals to a Booth selector that cause the selector to -// send out the correct partial product - -module r4bs(y1,y0,sing,doub,neg,pp); - - input y1; - input y0; - input sing; - input doub; - input neg; - output pp; - - wire aaoiRes; - - aaoi usppgen_0_0(aaoiRes,doub,y1,sing,y0); - xnor2 ppinverter_0_40(aaoiRes,neg,pp); - -endmodule // r4bs - - -module r4be(x0,x1,x2,sing,doub,neg); - - input x0; - input x1; - input x2; - output sing; - output doub; - output neg; - - wire singRes; - wire doubRes; - - wire x0b; - wire x1b; - wire x2b; - - wire nandaRes; - wire nandbRes; - - assign neg = x2; - assign sing = x0^x1; - assign x0b = ~x0; - assign x1b = ~x1; - assign x2b = ~x2; - - // Nand structure = see Bewick - assign nandaRes = ~(x0 & x1 & x2b); - assign nandbRes = ~(x0b & x1b & x2); - assign doub = ~(nandaRes & nandbRes); - -endmodule // r4be - - -// Use maj and two xor2's, with cin being late -module fullAdd_xc(cout, s, a, b, cin); - - output cout; - output s; - input a; - input b; - input cin; - - wire xorRes; - - xor2 XOR1_0_0(a,b,xorRes); - xor2 XOR2_0_56(xorRes,cin,s); - maj MAJ_0_112(cout,a,b,cin); - -endmodule // fullAdd_xc - - -module maj(y, a, b, c); - - output y; - input a; - input b; - input c; - - wire min; - - min mincomp_0_0(min,a,b,c); - inverter outinv_0_32(y,min); - -endmodule // maj - -// 4:2 Weinberger compressor -module fourtwo_x(t, S, C, X, Y, Z, W, t_1); - - output t;//fast cout - output S; - output C;//slow cout - - input X;//two xor delays to s - input Y;//three xor delays to s - input Z;//three xor delays to s - input W;//two xor delays to s - input t_1;//two xor delayts to s - - wire intermediate; - - fullAdd_xc firstCSA_0_0(t,intermediate,Y,Z,X); - fullAdd_xc secondCSA_0_160(C,S,W,t_1,intermediate); - -endmodule // fourtwo_x - -module inverter(egress, in); - - output egress; - input in; - - assign egress = ~in; - -endmodule // inverter - -module buffer(egress, in); - - output egress; - input in; - - assign egress = in; - -endmodule // buffer - -module subxor(egress,in1,in1_b,in2,in2_b); - - output egress; - input in1; - input in1_b; - input in2; - input in2_b; - - assign egress = (~(in2_b&in1_b)) & (~(in2&in1)); - -endmodule // subxor - -module xnor2(a,b,y); - input a; - input b; - output y; - - assign y = ~(a^b); - -endmodule // xnor2 - -module xor2(a,b,y); - input a; - input b; - output y; - - wire a_b; - wire b_b; - - - inverter inva_0_0(a_b,a); - inverter invb_0_16(b_b,b); - - subxor sub_0_32(y,a,a_b,b,b_b); - -endmodule // xor2 - -module xor3(a,b,c,y); - - input a; - input b; - input c; - output y; - - assign y = a^b^c; - -endmodule // xor3 - -module xor3c(egress,in1,in2,in3,in4,in5,in6); - - output egress; - input in1; - input in2; - input in3; - input in4; - input in5; - input in6; - - assign egress = (~in6&~in4&~in2) | (~in5&~in3&~in2) | (~in5&~in4&~in1) | - (~in6&~in3&~in1); - -endmodule // xor3c - -module fullAdd_x(cout,sum,a,b,c); - - output cout; - output sum; - input a; - input b; - input c; - - wire ab; - wire bb; - wire cb; - - inverter ainv_0_0(ab,a); - inverter binv_0_16(bb,b); - inverter cinv_0_32(cb,c); - - xor3c sumcomp_0_48(sum,a,ab,b,bb,c,cb); - maj majcomp_0_144(cout,a,b,c); - -endmodule // fullAdd_x - -module nand2(egress,in1,in2); - - output egress; - input in1; - input in2; - - assign egress = ~(in1&in2); - -endmodule // nand2 - -module nand3(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - wire a,b; - - assign egress = ~(in1&in2&in3); - -endmodule // nand3 - -module and3(y,a,b,c); - - output y; - input a; - input b; - input c; - - assign y = a&b&c; - -endmodule // and3 - -module and2(y,a,b); - - output y; - input a; - input b; - - assign y = a&b; - -endmodule // and2 - -module nor2(egress,in1,in2); - - output egress; - input in1; - input in2; - - assign egress = ~(in1|in2); - -endmodule // nor2 - -module or2(y,a,b); - - output y; - input a; - input b; - - assign y = a|b; - -endmodule // or2 - -module nor3(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~(in1|in2|in3); - -endmodule // nor3 - -module nand5(egress,in1,in2,in3,in4,in5); - - output egress; - input in1; - input in2; - input in3; - input in4; - input in5; - - assign egress = ~(in1&in2&in3&in4&in5); - -endmodule // nand5 - -module and5(y,a,b,c,d,e); - - output y; - input a; - input b; - input c; - input d; - input e; - - assign y = a&b&c&d&e; - -endmodule // and5 - -module nand4(egress,in1,in2,in3,in4); - - output egress; - input in1; - input in2; - input in3; - input in4; - - assign egress = ~(in1&in2&in3&in4); - -endmodule // nand4 - -module and4(y,a,b,c,d); - - output y; - input a; - input b; - input c; - input d; - - assign y = a&b&c&d; - -endmodule // and4 - -module oai(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~(in3 & (in1|in2)); - -endmodule // oai - -module aoi(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~(in3 | (in1&in2)); - -endmodule // aoi - -module min(egress,in1,in2,in3); - - output egress; - input in1; - input in2; - input in3; - - assign egress = ~in3&~in2 | ~in3&~in1 | ~in2&~in1; - -endmodule // min - -module sum_b(egress,in1,in2,in3,in4); - - output egress; - input in1; - input in2; - input in3; - input in4; - - assign egress = ~in4&(~(in3&in2&in1)) | ~(in3|in2|in1); - -endmodule // sum_b - -module fullAdd_i(cout_b,sum_b,a,b,c); - - output cout_b; - output sum_b; - input a; - input b; - input c; - - min carry_0_0(cout_b,a,b,c); - sum_b sum_0_32(sum_b,a,b,c,cout_b); - -endmodule // fullAdd_i - -module fullAdd(cout,s,a,b,c); - - output cout; - output s; - input a; - input b; - input c; - wire cout_b; - wire sum_b; - - fullAdd_i adder_0_0(cout_b,sum_b,a,b,c); - inverter couti_0_96(cout,cout_b); - inverter sumi_0_112(s,sum_b); - -endmodule // fullAdd - -module blackCell(g_i_j, p_i_j, g_i_k, p_i_k, g_kneg1_j, p_kneg1_j); - - output g_i_j; - output p_i_j; - input g_i_k; - input p_i_k; - input g_kneg1_j; - input p_kneg1_j; - - grayCell grayCell_0_0(g_i_j, g_i_k, p_i_k, g_kneg1_j); - and2 and_0_48(p_i_j, p_i_k, p_kneg1_j); - -endmodule // blackCell - -module grayCell(g_i_j, g_i_k, p_i_k, g_kneg1_j); - - output g_i_j; - input g_i_k; - input p_i_k; - input g_kneg1_j; - - wire intermediate; - - aoi andorinv_0_0(intermediate,p_i_k,g_kneg1_j,g_i_k); - inverter inv_0_32(g_i_j,intermediate); - -endmodule // grayCell - diff --git a/wally-pipelined/src/fpu/rounder_denorm.sv b/wally-pipelined/src/fpu/rounder_denorm.sv index b8128e63..2e1ad07e 100755 --- a/wally-pipelined/src/fpu/rounder_denorm.sv +++ b/wally-pipelined/src/fpu/rounder_denorm.sv @@ -16,7 +16,7 @@ // xxxxxL,Rxxxxxxx // where , denotes the rounding boundary. S is the logical OR of all the // bits to the right of R. - + module rounder (Result, DenormIO, Flags, rm, P, OvEn, UnEn, exp_valid, sel_inv, Invalid, DenormIn, convert, Asign, Aexp, norm_shift, A, exponent_postsum, A_Norm, B_Norm, exp_A_unmodified, exp_B_unmodified, diff --git a/wally-pipelined/src/fpu/rounder_div.sv b/wally-pipelined/src/fpu/rounder_div.sv index f855edef..ff7c4830 100755 --- a/wally-pipelined/src/fpu/rounder_div.sv +++ b/wally-pipelined/src/fpu/rounder_div.sv @@ -5,48 +5,41 @@ // It produces a rounded 52-bit result, Z, the exponent of the rounded // result, Z_exp, and a flag that indicates if the result was rounded, // Inexact. The rounding mode has the following values. -// rm Modee +// rm Mode // 00 round-to-nearest-even -// 01 round-toward-zero +// 01 round-toward-zero // 10 round-toward-plus infinity -// 11 round-toward-minus infinity +// 11 round-toward-minus infinity // -module rounder_div (Result, DenormIO, Flags, rm, P, OvEn, - UnEn, exp_diff, sel_inv, Invalid, DenormIn, - SignR, q1, qm1, qp1, q0, qm0, qp0, regr_out); - - input [1:0] rm; - input P; - input OvEn; - input UnEn; - input [12:0] exp_diff; - input [2:0] sel_inv; - input Invalid; - input DenormIn; - input SignR; +module rounder_div ( + input logic [1:0] rm, + input logic P, + input logic OvEn, + input logic UnEn, + input logic [12:0] exp_diff, + input logic [2:0] sel_inv, + input logic Invalid, + input logic SignR, - input logic [63:0] q1; - input logic [63:0] qm1; - input logic [63:0] qp1; - input logic [63:0] q0; - input logic [63:0] qm0; - input logic [63:0] qp0; - input logic [127:0] regr_out; - - output logic [63:0] Result; - output logic DenormIO; - output logic [4:0] Flags; - - supply1 vdd; - supply0 vss; + input logic [63:0] q1, + input logic [63:0] qm1, + input logic [63:0] qp1, + input logic [63:0] q0, + input logic [63:0] qm0, + input logic [63:0] qp0, + input logic [127:0] regr_out, + output logic [63:0] Result, + output logic [4:0] Flags + ); + logic Rsign; - logic [10:0] Rexp; - logic [12:0] Texp; - logic [51:0] Rmant; - logic [63:0] Tmant; - logic [51:0] Smant; + logic [10:0] Rexp; + logic [12:0] Texp; + logic [51:0] Rmant; + logic [63:0] Tmant; + logic [51:0] Smant; logic Rzero; logic Gdp, Gsp, G; logic UnFlow_SP, UnFlow_DP, UnderFlow; @@ -64,10 +57,10 @@ module rounder_div (Result, DenormIO, Flags, rm, P, OvEn, logic Texp_l7o; logic OvCon; logic zero_rem; - logic [1:0] mux_mant; + logic [1:0] mux_mant; logic sign_rem; - logic [63:0] q, qm, qp; - logic exp_ovf, exp_ovfSP, exp_ovfDP; + logic [63:0] q, qm, qp; + logic exp_ovf; // Remainder = 0? assign zero_rem = ~(|regr_out); @@ -98,7 +91,7 @@ module rounder_div (Result, DenormIO, Flags, rm, P, OvEn, // 1.) we choose any qm0, qp0, q0 (since we shift mant) // 2.) we choose qp and we overflow (for RU) assign exp_ovf = |{qp[62:40], (qp[39:11] & {29{~P}})}; - assign Texp = exp_diff - {{13{vss}}, ~q1[63]} + {{13{vss}}, mux_mant[1]&qp1[63]&~exp_ovf}; + assign Texp = exp_diff - {{13{1'b0}}, ~q1[63]} + {{13{1'b0}}, mux_mant[1]&qp1[63]&~exp_ovf}; // Overflow only occurs for double precision, if Texp[10] to Texp[0] are // all ones. To encourage sharing with single precision overflow detection, @@ -130,9 +123,6 @@ module rounder_div (Result, DenormIO, Flags, rm, P, OvEn, assign OverFlow = (P & OvFlow_SP | OvFlow_DP) & Valid; assign Div0 = sel_inv[2]&sel_inv[1]&~sel_inv[0]; - // The DenormIO is set if underflow has occurred or if their was a - // denormalized input. - assign DenormIO = DenormIn | UnderFlow; // The final result is Inexact if any rounding occurred ((i.e., R or S // is one), or (if the result overflows ) or (if the result underflows and the diff --git a/wally-pipelined/src/fpu/sbtm_a0.sv b/wally-pipelined/src/fpu/sbtm_a0.sv index 381e4a82..83953787 100644 --- a/wally-pipelined/src/fpu/sbtm_a0.sv +++ b/wally-pipelined/src/fpu/sbtm_a0.sv @@ -1,5 +1,5 @@ module sbtm_a0 (input logic [6:0] a, - output logic [12:0] y); + output logic [12:0] y); always_comb case(a) 7'b0000000: y = 13'b1111111100010; diff --git a/wally-pipelined/src/fpu/sbtm_a1.sv b/wally-pipelined/src/fpu/sbtm_a1.sv index df1e600a..76e4bdec 100644 --- a/wally-pipelined/src/fpu/sbtm_a1.sv +++ b/wally-pipelined/src/fpu/sbtm_a1.sv @@ -1,5 +1,5 @@ module sbtm_a1 (input logic [6:0] a, - output logic [4:0] y); + output logic [4:0] y); always_comb case(a) 7'b0000000: y = 5'b11100; diff --git a/wally-pipelined/src/fpu/sbtm_a2.sv b/wally-pipelined/src/fpu/sbtm_a2.sv index 1553c80d..ae407ec8 100755 --- a/wally-pipelined/src/fpu/sbtm_a2.sv +++ b/wally-pipelined/src/fpu/sbtm_a2.sv @@ -1,5 +1,5 @@ module sbtm_a2 (input logic [7:0] a, - output logic [13:0] y); + output logic [13:0] y); always_comb case(a) 8'b01000000: y = 14'b10110100010111; diff --git a/wally-pipelined/src/fpu/sbtm_a3.sv b/wally-pipelined/src/fpu/sbtm_a3.sv index ff0aaa4b..c6b36793 100755 --- a/wally-pipelined/src/fpu/sbtm_a3.sv +++ b/wally-pipelined/src/fpu/sbtm_a3.sv @@ -1,5 +1,5 @@ module sbtm_a3 (input logic [7:0] a, - output logic [5:0] y); + output logic [5:0] y); always_comb case(a) 8'b01000000: y = 6'b100110; diff --git a/wally-pipelined/src/fpu/sbtm_div.sv b/wally-pipelined/src/fpu/sbtm_div.sv index ceda26a5..53b56dbd 100644 --- a/wally-pipelined/src/fpu/sbtm_div.sv +++ b/wally-pipelined/src/fpu/sbtm_div.sv @@ -7,12 +7,12 @@ module sbtm_div (input logic [11:0] a, output logic [10:0] ia_out); logic [2:0] x2_1cmp; // mem outputs logic [12:0] y0; - logic [4:0] y1; + logic [4:0] y1; // input to CPA logic [14:0] op1; logic [14:0] op2; logic [14:0] p; - logic cout; + logic cout; assign x0 = a[10:7]; assign x1 = a[6:4]; @@ -26,10 +26,8 @@ module sbtm_div (input logic [11:0] a, output logic [10:0] ia_out); // 1s cmp per sbtm/stam assign op2 = x2[3] ? {1'b1, {8{1'b1}}, ~y1, 1'b1} : {1'b0, 8'b0, y1, 1'b1}; - // CPA -// adder #(15) cp1 (op1, op2, 1'b0, p, cout); + // CPA assign {cout, p} = op1 + op2; - //assign ia_out = {p[14:4], {53{1'b0}}}; assign ia_out = p[14:4]; endmodule // sbtm diff --git a/wally-pipelined/src/fpu/sbtm_sqrt.sv b/wally-pipelined/src/fpu/sbtm_sqrt.sv index 9f1ca5e2..27ffbecc 100644 --- a/wally-pipelined/src/fpu/sbtm_sqrt.sv +++ b/wally-pipelined/src/fpu/sbtm_sqrt.sv @@ -7,12 +7,12 @@ module sbtm_sqrt (input logic [11:0] a, output logic [10:0] y); logic [2:0] x2_1cmp; // mem outputs logic [13:0] y0; - logic [5:0] y1; + logic [5:0] y1; // input to CPA logic [14:0] op1; logic [14:0] op2; logic [14:0] p; - logic cout; + logic cout; assign x0 = a[11:7]; assign x1 = a[6:4]; @@ -29,7 +29,6 @@ module sbtm_sqrt (input logic [11:0] a, output logic [10:0] y); {8'b0, y1, 1'b1}; // CPA - //adder #(15) cp1 (op1, op2, 1'b0, p, cout); assign {cout, p} = op1 + op2; assign y = p[14:4]; diff --git a/wally-pipelined/src/fpu/shifter_denorm.sv b/wally-pipelined/src/fpu/shifter_denorm.sv index e56b0072..b354433f 100755 --- a/wally-pipelined/src/fpu/shifter_denorm.sv +++ b/wally-pipelined/src/fpu/shifter_denorm.sv @@ -28,7 +28,7 @@ module mux21x64 (Z, A, B, Sel); assign Z = Sel ? B : A; endmodule // mux21x64 - + // The implementation of the barrel shifter was modified to use // fewer gates. It is now implemented using six 64-bit 2-to-1 muxes. The // barrel shifter takes a 64-bit input A and shifts it left by up to diff --git a/wally-pipelined/src/fpu/unpacking.sv b/wally-pipelined/src/fpu/unpacking.sv index 914e9979..2d33aa8a 100644 --- a/wally-pipelined/src/fpu/unpacking.sv +++ b/wally-pipelined/src/fpu/unpacking.sv @@ -1,4 +1,4 @@ -module unpacking ( +module unpacking ( input logic [63:0] X, Y, Z, input logic FmtE, input logic [2:0] FOpCtrlE, @@ -25,9 +25,9 @@ module unpacking ( assign YSgnE = FmtE ? Y[63] : Y[31]; assign ZSgnE = FmtE ? Z[63] : Z[31]; - assign XExpE = FmtE ? X[62:52] : {X[30], {3{~X[30]&~XExpZero|XExpMaxE}}, X[29:23]}; - assign YExpE = FmtE ? Y[62:52] : {Y[30], {3{~Y[30]&~YExpZero|YExpMaxE}}, Y[29:23]}; - assign ZExpE = FmtE ? Z[62:52] : {Z[30], {3{~Z[30]&~ZExpZero|ZExpMaxE}}, Z[29:23]}; + assign XExpE = FmtE ? X[62:52] : {3'b0, X[30:23]};//{X[30], {3{~X[30]&~XExpZero|XExpMaxE}}, X[29:23]}; + assign YExpE = FmtE ? Y[62:52] : {3'b0, Y[30:23]};//{Y[30], {3{~Y[30]&~YExpZero|YExpMaxE}}, Y[29:23]}; + assign ZExpE = FmtE ? Z[62:52] : {3'b0, Z[30:23]};//{Z[30], {3{~Z[30]&~ZExpZero|ZExpMaxE}}, Z[29:23]}; /* assign XExpE = FmtE ? X[62:52] : {3'b0, X[30:23]}; // *** maybe convert to full number of bits here? assign YExpE = FmtE ? Y[62:52] : {3'b0, Y[30:23]}; assign ZExpE = FmtE ? Z[62:52] : {3'b0, Z[30:23]};*/ @@ -78,7 +78,7 @@ module unpacking ( assign YZeroE = YExpZero & YFracZero; assign ZZeroE = ZExpZero & ZFracZero; - //assign BiasE = FmtE ? 13'h3ff : 13'h7f; // *** is it better to convert to full precision exponents so bias isn't needed? - assign BiasE = 13'h3ff; // always use 1023 because exponents are unpacked to double precision + assign BiasE = FmtE ? 13'h3ff : 13'h7f; // *** is it better to convert to full precision exponents so bias isn't needed? + // assign BiasE = 13'h3ff; // always use 1023 because exponents are unpacked to double precision endmodule \ No newline at end of file From 30ac22edff139814faf0d1a1522167a4806dd91f Mon Sep 17 00:00:00 2001 From: Katherine Parry Date: Sat, 24 Jul 2021 16:41:12 -0400 Subject: [PATCH 11/11] fixed some fpu lint errors --- wally-pipelined/fpu-testfloat/FMA/tbgen/tb.sv | 215 ++++++++++++++++++ .../fpu-testfloat/FMA/tbgen/test_gen.sh | 3 + wally-pipelined/src/fpu/faddcvt.sv | 2 +- wally-pipelined/src/fpu/fcvt.sv | 4 +- 4 files changed, 221 insertions(+), 3 deletions(-) create mode 100644 wally-pipelined/fpu-testfloat/FMA/tbgen/tb.sv create mode 100755 wally-pipelined/fpu-testfloat/FMA/tbgen/test_gen.sh diff --git a/wally-pipelined/fpu-testfloat/FMA/tbgen/tb.sv b/wally-pipelined/fpu-testfloat/FMA/tbgen/tb.sv new file mode 100644 index 00000000..cd3e2a4d --- /dev/null +++ b/wally-pipelined/fpu-testfloat/FMA/tbgen/tb.sv @@ -0,0 +1,215 @@ + +`include "../../../config/rv64icfd/wally-config.vh" +module testbench3(); + + logic [31:0] errors=0; + logic [31:0] vectornum=0; + logic [`FLEN*4+7:0] testvectors[6133248:0]; + +// logic [63:0] X,Y,Z; + logic [`FLEN-1:0] ans; + logic [7:0] flags; + logic [2:0] FrmE; + logic FmtE; + logic [`FLEN-1:0] FMAResM; + logic [4:0] FMAFlgM; +integer fp; +logic [2:0] FOpCtrlE; +logic [2*`NF+1:0] ProdManE; +logic [3*`NF+5:0] AlignedAddendE; +logic [`NE+1:0] ProdExpE; +logic AddendStickyE; +logic KillProdE; +// logic XZeroE; +// logic YZeroE; +// logic ZZeroE; +// logic XDenormE; +// logic YDenormE; +// logic ZDenormE; +// logic XInfE; +// logic YInfE; +// logic ZInfE; +// logic XNaNE; +// logic YNaNE; +// logic ZNaNE; + +logic wnan; +// logic XNaNE; +// logic YNaNE; +// logic ZNaNE; +logic ansnan, clk; + + +assign FOpCtrlE = 3'b0; + +// nearest even - 000 +// twords zero - 001 +// down - 010 +// up - 011 +// nearest max mag - 100 +assign FrmE = 3'b000; +assign FmtE = 1'b0; + + logic [`FLEN-1:0] X, Y, Z; + // logic FmtE; + // logic [2:0] FOpCtrlE; + logic XSgnE, YSgnE, ZSgnE; + logic [`NE-1:0] XExpE, YExpE, ZExpE; + logic [`NF-1:0] XFracE, YFracE, ZFracE; + logic XAssumed1E, YAssumed1E, ZAssumed1E; + logic XNormE; + logic XNaNE, YNaNE, ZNaNE; + logic XSNaNE, YSNaNE, ZSNaNE; + logic XDenormE, YDenormE, ZDenormE; + logic XZeroE, YZeroE, ZZeroE; + logic [`NE-1:0] BiasE; + logic XInfE, YInfE, ZInfE; + logic XExpMaxE; + //***rename to make significand = 1.frac m = significand + logic XFracZero, YFracZero, ZFracZero; // input fraction zero + logic XExpZero, YExpZero, ZExpZero; // input exponent zero + logic [`FLEN-1:0] Addend; // value to add (Z or zero) + logic YExpMaxE, ZExpMaxE; // input exponent all 1s + + assign Addend = FOpCtrlE[2] ? (`FLEN)'(0) : Z; // Z is only used in the FMA, and is set to Zero if a multiply opperation + assign XSgnE = FmtE ? X[`FLEN-1] : X[31]; + assign YSgnE = FmtE ? Y[`FLEN-1] : Y[31]; + assign ZSgnE = FmtE ? Addend[`FLEN-1] : Addend[31]; + + assign XExpE = FmtE ? X[62:52] : {3'b0, X[30:23]};//{X[30], {3{~X[30]&~XExpZero|XExpMaxE}}, X[29:23]}; + assign YExpE = FmtE ? Y[62:52] : {3'b0, Y[30:23]};//{Y[30], {3{~Y[30]&~YExpZero|YExpMaxE}}, Y[29:23]}; + assign ZExpE = FmtE ? Addend[62:52] : {3'b0, Addend[30:23]};//{Addend[30], {3{~Addend[30]&~ZExpZero|ZExpMaxE}}, Addend[29:23]}; + + assign XFracE = FmtE ? X[`NF-1:0] : {X[22:0], 29'b0}; + assign YFracE = FmtE ? Y[`NF-1:0] : {Y[22:0], 29'b0}; + assign ZFracE = FmtE ? Addend[`NF-1:0] : {Addend[22:0], 29'b0}; + + assign XAssumed1E = FmtE ? |X[62:52] : |X[30:23]; + assign YAssumed1E = FmtE ? |Y[62:52] : |Y[30:23]; + assign ZAssumed1E = FmtE ? |Z[62:52] : |Z[30:23]; + + assign XExpZero = ~XAssumed1E; + assign YExpZero = ~YAssumed1E; + assign ZExpZero = ~ZAssumed1E; + + assign XFracZero = ~|XFracE; + assign YFracZero = ~|YFracE; + assign ZFracZero = ~|ZFracE; + + assign XExpMaxE = FmtE ? &X[62:52] : &X[30:23]; + assign YExpMaxE = FmtE ? &Y[62:52] : &Y[30:23]; + assign ZExpMaxE = FmtE ? &Z[62:52] : &Z[30:23]; + + assign XNormE = ~(XExpMaxE|XExpZero); + + assign XNaNE = XExpMaxE & ~XFracZero; + assign YNaNE = YExpMaxE & ~YFracZero; + assign ZNaNE = ZExpMaxE & ~ZFracZero; + + assign XSNaNE = XNaNE&~XFracE[`NF-1]; + assign YSNaNE = YNaNE&~YFracE[`NF-1]; + assign ZSNaNE = ZNaNE&~ZFracE[`NF-1]; + + assign XDenormE = XExpZero & ~XFracZero; + assign YDenormE = YExpZero & ~YFracZero; + assign ZDenormE = ZExpZero & ~ZFracZero; + + assign XInfE = XExpMaxE & XFracZero; + assign YInfE = YExpMaxE & YFracZero; + assign ZInfE = ZExpMaxE & ZFracZero; + + assign XZeroE = XExpZero & XFracZero; + assign YZeroE = YExpZero & YFracZero; + assign ZZeroE = ZExpZero & ZFracZero; + + assign BiasE = FmtE ? {1'b0, {`NE-1{1'b1}}} : 13'h7f; + +assign wnan = FmtE ? &FMAResM[`FLEN-2:`NF] && |FMAResM[`NF-1:0] : &FMAResM[30:23] && |FMAResM[22:0]; +// assign XNaNE = FmtE ? &X[62:52] && |X[51:0] : &X[62:55] && |X[54:32]; +// assign YNaNE = FmtE ? &Y[62:52] && |Y[51:0] : &Y[62:55] && |Y[54:32]; +// assign ZNaNE = FmtE ? &Z[62:52] && |Z[51:0] : &Z[62:55] && |Z[54:32]; +assign ansnan = FmtE ? &ans[`FLEN-2:`NF] && |ans[`NF-1:0] : &ans[30:23] && |ans[22:0]; + // instantiate device under test +fma1 UUT1(.XManE({XAssumed1E,XFracE}), .YManE({YAssumed1E,YFracE}), .ZManE({ZAssumed1E,ZFracE}), .*); +fma2 UUT2(.XSgnM(XSgnE), .YSgnM(YSgnE), .ZSgnM(ZSgnE), .XExpM(XExpE), .YExpM(YExpE), .ZExpM(ZExpE), .XManM({XAssumed1E,XFracE}), .YManM({YAssumed1E,YFracE}), .ZManM({ZAssumed1E,ZFracE}), .XNaNM(XNaNE), .YNaNM(YNaNE), .ZNaNM(ZNaNE), .XZeroM(XZeroE), .YZeroM(YZeroE), .ZZeroM(ZZeroE), .XInfM(XInfE), .YInfM(YInfE), .ZInfM(ZInfE), .XSNaNM(XSNaNE), .YSNaNM(YSNaNE), .ZSNaNM(ZSNaNE), + // .FSrcXE, .FSrcYE, .FSrcZE, .FSrcXM, .FSrcYM, .FSrcZM, + .FOpCtrlM(FOpCtrlE[2:0]), .KillProdM(KillProdE), .AddendStickyM(AddendStickyE), .ProdExpM(ProdExpE), .AlignedAddendM(AlignedAddendE), .ProdManM(ProdManE), + .FmtM(FmtE), .FrmM(FrmE), .FMAFlgM, .FMAResM); + + + // generate clock + always + begin + clk = 1; #5; clk = 0; #5; + end + // at start of test, load vectors + // and pulse reset + initial + begin + $readmemh("testFloatNoSpace", testvectors); + end + // apply test vectors on rising edge of clk +always @(posedge clk) + begin + #1; + if (FmtE==1'b1) {X, Y, Z, ans, flags} = testvectors[vectornum]; + else begin X = {{32{1'b1}}, testvectors[vectornum][135:104]}; + Y = {{32{1'b1}}, testvectors[vectornum][103:72]}; + Z = {{32{1'b1}}, testvectors[vectornum][71:40]}; + ans = {{32{1'b1}}, testvectors[vectornum][39:8]}; + flags = testvectors[vectornum][7:0]; + end + end + // check results on falling edge of clk + always @(negedge clk) begin + + // fp = $fopen("/home/kparry/riscv-wally/wally-pipelined/src/fpu/FMA/tbgen/results.dat","w"); + if((FmtE==1'b1) & (FMAFlgM != flags[4:0] || (!wnan && (FMAResM != ans)) || (wnan && ansnan && ~((XNaNE && (FMAResM[`FLEN-2:0] == {XExpE,1'b1,X[`NF-2:0]})) || (YNaNE && (FMAResM[`FLEN-2:0] == {YExpE,1'b1,Y[`NF-2:0]})) || (ZNaNE && (FMAResM[`FLEN-2:0] == {ZExpE,1'b1,Z[`NF-2:0]})) || (FMAResM[`FLEN-2:0] == ans[`FLEN-2:0]))))) begin + $display( "%h %h %h %h %h %h %h Wrong ",X,Y, Z, FMAResM, ans, FMAFlgM, flags); + if(FMAResM == 64'h8000000000000000) $display( "FMAResM=-zero "); + if(XDenormE) $display( "xdenorm "); + if(YDenormE) $display( "ydenorm "); + if(ZDenormE) $display( "zdenorm "); + if(FMAFlgM[4] != 0) $display( "invld "); + if(FMAFlgM[2] != 0) $display( "ovrflw "); + if(FMAFlgM[1] != 0) $display( "unflw "); + if(FMAResM[`FLEN] && FMAResM[`FLEN-2:`NF] == {`NE{1'b1}} && FMAResM[`NF-1:0] == 0) $display( "FMAResM=-inf "); + if(~FMAResM[`FLEN] && FMAResM[`FLEN-2:`NF] == {`NE{1'b1}} && FMAResM[`NF-1:0] == 0) $display( "FMAResM=+inf "); + if(FMAResM[`FLEN-2:`NF] == {`NE{1'b1}} && FMAResM[`NF-1:0] != 0 && ~FMAResM[`NF-1]) $display( "FMAResM=sigNaN "); + if(FMAResM[`FLEN-2:`NF] == {`NE{1'b1}} && FMAResM[`NF-1:0] != 0 && FMAResM[`NF-1]) $display( "FMAResM=qutNaN "); + if(ans[`FLEN] && ans[`FLEN-2:`NF] == {`NE{1'b1}} && ans[`NF-1:0] == 0) $display( "ans=-inf "); + if(~ans[`FLEN] && ans[`FLEN-2:`NF] == {`NE{1'b1}} && ans[`NF-1:0] == 0) $display( "ans=+inf "); + if(ans[`FLEN-2:`NF] == {`NE{1'b1}} && ans[`NF-1:0] != 0 && ~ans[`NF-1]) $display( "ans=sigNaN "); + if(ans[`FLEN-2:`NF] == {`NE{1'b1}} && ans[`NF-1:0] != 0 && ans[`NF-1]) $display( "ans=qutNaN "); + errors = errors + 1; + + $stop; + end + if((FmtE==1'b0)&(FMAFlgM != flags[4:0] || (!wnan && (FMAResM != ans)) || (wnan && ansnan && ~(((XNaNE && (FMAResM[30:0] == {X[30:23],1'b1,X[21:0]})) || (YNaNE && (FMAResM[30:0] == {Y[30:23],1'b1,Y[21:0]})) || (ZNaNE && (FMAResM[30:0] == {Z[30:23],1'b1,Z[21:0]})) || (FMAResM[30:0] == ans[30:0]))) ))) begin + $display( "%h %h %h %h %h %h %h Wrong ",X,Y, Z, FMAResM, ans, FMAFlgM, flags); + if(FMAResM == 64'h8000000000000000) $display( "FMAResM=-zero "); + if(~(|X[30:23]) && |X[22:0]) $display( "xdenorm "); + if(~(|Y[30:23]) && |Y[22:0]) $display( "ydenorm "); + if(~(|Z[30:23]) && |Z[22:0]) $display( "zdenorm "); + if(FMAFlgM[4] != 0) $display( "invld "); + if(FMAFlgM[2] != 0) $display( "ovrflw "); + if(FMAFlgM[1] != 0) $display( "unflw "); + if(FMAResM == 64'hFF80000000000000) $display( "FMAResM=-inf "); + if(FMAResM == 64'h7F80000000000000) $display( "FMAResM=+inf "); + if(&FMAResM[30:23] && |FMAResM[22:0] && ~FMAResM[22]) $display( "FMAResM=sigNaN "); + if(&FMAResM[30:23] && |FMAResM[22:0] && FMAResM[22] ) $display( "FMAResM=qutNaN "); + if(ans == 64'hFF80000000000000) $display( "ans=-inf "); + if(ans == 64'h7F80000000000000) $display( "ans=+inf "); + if(&ans[30:23] && |ans[22:0] && ~ans[22] ) $display( "ans=sigNaN "); + if(&ans[30:23] && |ans[22:0] && ans[22]) $display( "ans=qutNaN "); + errors = errors + 1; + //if (errors == 10) + $stop; + end + vectornum = vectornum + 1; + if (testvectors[vectornum] === 194'bx) begin + $display("%d tests completed with %d errors", vectornum, errors); + $stop; + end + end +endmodule diff --git a/wally-pipelined/fpu-testfloat/FMA/tbgen/test_gen.sh b/wally-pipelined/fpu-testfloat/FMA/tbgen/test_gen.sh new file mode 100755 index 00000000..c7cf5f09 --- /dev/null +++ b/wally-pipelined/fpu-testfloat/FMA/tbgen/test_gen.sh @@ -0,0 +1,3 @@ +testfloat_gen f32_mulAdd -tininessafter -n 6133248 -rnear_even -seed 113355 -level 1 > testFloat +tr -d ' ' < testFloat > testFloatNoSpace + diff --git a/wally-pipelined/src/fpu/faddcvt.sv b/wally-pipelined/src/fpu/faddcvt.sv index 10afbc71..a604f887 100755 --- a/wally-pipelined/src/fpu/faddcvt.sv +++ b/wally-pipelined/src/fpu/faddcvt.sv @@ -246,7 +246,7 @@ module fpuaddcvt1 ( // Finds normal underflow result to determine whether to round final exponent down //***KEP used to be (AddSumE == 16'h0) I am unsure what it's supposed to be - assign AddNormOvflowE = (AddDenormInE & (AddSumE == 64'h0) & (AddOpANormE | AddOpBNormE) & ~FOpCtrlE[0]) ? 1'b1 : (AddSumE[63] ? AddSumTcE[52] : AddSumE[52]); + // assign AddNormOvflowE = (AddDenormInE & (AddSumE == 64'h0) & (AddOpANormE | AddOpBNormE) & ~FOpCtrlE[0]) ? 1'b1 : (AddSumE[63] ? AddSumTcE[52] : AddSumE[52]); endmodule // fpadd diff --git a/wally-pipelined/src/fpu/fcvt.sv b/wally-pipelined/src/fpu/fcvt.sv index 84355738..a8f845a6 100644 --- a/wally-pipelined/src/fpu/fcvt.sv +++ b/wally-pipelined/src/fpu/fcvt.sv @@ -1,6 +1,6 @@ -//`include "wally-config.vh" -`include "../../config/rv64icfd/wally-config.vh" +`include "wally-config.vh" +// `include "../../config/rv64icfd/wally-config.vh" module fcvt ( input logic XSgnE, // X's sign input logic [10:0] XExpE, // X's exponent