diff --git a/techlibs/nanoxplore/cells_bb.v b/techlibs/nanoxplore/cells_bb.v index 5a2ec90f4..7aa8dcfb7 100644 --- a/techlibs/nanoxplore/cells_bb.v +++ b/techlibs/nanoxplore/cells_bb.v @@ -853,763 +853,6 @@ module NX_DFR(I, CK, L, R, O); parameter ring = 0; endmodule -(* blackbox *) -module NX_DSP(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21 -, A22, A23, A24, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18 -, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 -, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, CAI1, CAI2, CAI3, CAI4, CAI5, CAI6 -, CAI7, CAI8, CAI9, CAI10, CAI11, CAI12, CAI13, CAI14, CAI15, CAI16, CAI17, CAI18, CAO1, CAO2, CAO3, CAO4, CAO5, CAO6, CAO7, CAO8, CAO9 -, CAO10, CAO11, CAO12, CAO13, CAO14, CAO15, CAO16, CAO17, CAO18, CBI1, CBI2, CBI3, CBI4, CBI5, CBI6, CBI7, CBI8, CBI9, CBI10, CBI11, CBI12 -, CBI13, CBI14, CBI15, CBI16, CBI17, CBI18, CBO1, CBO2, CBO3, CBO4, CBO5, CBO6, CBO7, CBO8, CBO9, CBO10, CBO11, CBO12, CBO13, CBO14, CBO15 -, CBO16, CBO17, CBO18, CCI, CCO, CI, CK, CO, CO37, CO49, CZI1, CZI2, CZI3, CZI4, CZI5, CZI6, CZI7, CZI8, CZI9, CZI10, CZI11 -, CZI12, CZI13, CZI14, CZI15, CZI16, CZI17, CZI18, CZI19, CZI20, CZI21, CZI22, CZI23, CZI24, CZI25, CZI26, CZI27, CZI28, CZI29, CZI30, CZI31, CZI32 -, CZI33, CZI34, CZI35, CZI36, CZI37, CZI38, CZI39, CZI40, CZI41, CZI42, CZI43, CZI44, CZI45, CZI46, CZI47, CZI48, CZI49, CZI50, CZI51, CZI52, CZI53 -, CZI54, CZI55, CZI56, CZO1, CZO2, CZO3, CZO4, CZO5, CZO6, CZO7, CZO8, CZO9, CZO10, CZO11, CZO12, CZO13, CZO14, CZO15, CZO16, CZO17, CZO18 -, CZO19, CZO20, CZO21, CZO22, CZO23, CZO24, CZO25, CZO26, CZO27, CZO28, CZO29, CZO30, CZO31, CZO32, CZO33, CZO34, CZO35, CZO36, CZO37, CZO38, CZO39 -, CZO40, CZO41, CZO42, CZO43, CZO44, CZO45, CZO46, CZO47, CZO48, CZO49, CZO50, CZO51, CZO52, CZO53, CZO54, CZO55, CZO56, D1, D2, D3, D4 -, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, OVF, R, RZ, WE, Z1, Z2, Z3 -, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z22, Z23, Z24 -, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32, Z33, Z34, Z35, Z36, Z37, Z38, Z39, Z40, Z41, Z42, Z43, Z44, Z45 -, Z46, Z47, Z48, Z49, Z50, Z51, Z52, Z53, Z54, Z55, Z56); - input A1; - input A10; - input A11; - input A12; - input A13; - input A14; - input A15; - input A16; - input A17; - input A18; - input A19; - input A2; - input A20; - input A21; - input A22; - input A23; - input A24; - input A3; - input A4; - input A5; - input A6; - input A7; - input A8; - input A9; - input B1; - input B10; - input B11; - input B12; - input B13; - input B14; - input B15; - input B16; - input B17; - input B18; - input B2; - input B3; - input B4; - input B5; - input B6; - input B7; - input B8; - input B9; - input C1; - input C10; - input C11; - input C12; - input C13; - input C14; - input C15; - input C16; - input C17; - input C18; - input C19; - input C2; - input C20; - input C21; - input C22; - input C23; - input C24; - input C25; - input C26; - input C27; - input C28; - input C29; - input C3; - input C30; - input C31; - input C32; - input C33; - input C34; - input C35; - input C36; - input C4; - input C5; - input C6; - input C7; - input C8; - input C9; - input CAI1; - input CAI10; - input CAI11; - input CAI12; - input CAI13; - input CAI14; - input CAI15; - input CAI16; - input CAI17; - input CAI18; - input CAI2; - input CAI3; - input CAI4; - input CAI5; - input CAI6; - input CAI7; - input CAI8; - input CAI9; - output CAO1; - output CAO10; - output CAO11; - output CAO12; - output CAO13; - output CAO14; - output CAO15; - output CAO16; - output CAO17; - output CAO18; - output CAO2; - output CAO3; - output CAO4; - output CAO5; - output CAO6; - output CAO7; - output CAO8; - output CAO9; - input CBI1; - input CBI10; - input CBI11; - input CBI12; - input CBI13; - input CBI14; - input CBI15; - input CBI16; - input CBI17; - input CBI18; - input CBI2; - input CBI3; - input CBI4; - input CBI5; - input CBI6; - input CBI7; - input CBI8; - input CBI9; - output CBO1; - output CBO10; - output CBO11; - output CBO12; - output CBO13; - output CBO14; - output CBO15; - output CBO16; - output CBO17; - output CBO18; - output CBO2; - output CBO3; - output CBO4; - output CBO5; - output CBO6; - output CBO7; - output CBO8; - output CBO9; - input CCI; - output CCO; - input CI; - input CK; - output CO; - output CO37; - output CO49; - input CZI1; - input CZI10; - input CZI11; - input CZI12; - input CZI13; - input CZI14; - input CZI15; - input CZI16; - input CZI17; - input CZI18; - input CZI19; - input CZI2; - input CZI20; - input CZI21; - input CZI22; - input CZI23; - input CZI24; - input CZI25; - input CZI26; - input CZI27; - input CZI28; - input CZI29; - input CZI3; - input CZI30; - input CZI31; - input CZI32; - input CZI33; - input CZI34; - input CZI35; - input CZI36; - input CZI37; - input CZI38; - input CZI39; - input CZI4; - input CZI40; - input CZI41; - input CZI42; - input CZI43; - input CZI44; - input CZI45; - input CZI46; - input CZI47; - input CZI48; - input CZI49; - input CZI5; - input CZI50; - input CZI51; - input CZI52; - input CZI53; - input CZI54; - input CZI55; - input CZI56; - input CZI6; - input CZI7; - input CZI8; - input CZI9; - output CZO1; - output CZO10; - output CZO11; - output CZO12; - output CZO13; - output CZO14; - output CZO15; - output CZO16; - output CZO17; - output CZO18; - output CZO19; - output CZO2; - output CZO20; - output CZO21; - output CZO22; - output CZO23; - output CZO24; - output CZO25; - output CZO26; - output CZO27; - output CZO28; - output CZO29; - output CZO3; - output CZO30; - output CZO31; - output CZO32; - output CZO33; - output CZO34; - output CZO35; - output CZO36; - output CZO37; - output CZO38; - output CZO39; - output CZO4; - output CZO40; - output CZO41; - output CZO42; - output CZO43; - output CZO44; - output CZO45; - output CZO46; - output CZO47; - output CZO48; - output CZO49; - output CZO5; - output CZO50; - output CZO51; - output CZO52; - output CZO53; - output CZO54; - output CZO55; - output CZO56; - output CZO6; - output CZO7; - output CZO8; - output CZO9; - input D1; - input D10; - input D11; - input D12; - input D13; - input D14; - input D15; - input D16; - input D17; - input D18; - input D2; - input D3; - input D4; - input D5; - input D6; - input D7; - input D8; - input D9; - output OVF; - input R; - input RZ; - input WE; - output Z1; - output Z10; - output Z11; - output Z12; - output Z13; - output Z14; - output Z15; - output Z16; - output Z17; - output Z18; - output Z19; - output Z2; - output Z20; - output Z21; - output Z22; - output Z23; - output Z24; - output Z25; - output Z26; - output Z27; - output Z28; - output Z29; - output Z3; - output Z30; - output Z31; - output Z32; - output Z33; - output Z34; - output Z35; - output Z36; - output Z37; - output Z38; - output Z39; - output Z4; - output Z40; - output Z41; - output Z42; - output Z43; - output Z44; - output Z45; - output Z46; - output Z47; - output Z48; - output Z49; - output Z5; - output Z50; - output Z51; - output Z52; - output Z53; - output Z54; - output Z55; - output Z56; - output Z6; - output Z7; - output Z8; - output Z9; - parameter raw_config0 = 20'b00000000000000000000; - parameter raw_config1 = 19'b0000000000000000000; - parameter raw_config2 = 13'b0000000000000; - parameter raw_config3 = 7'b0000000; - parameter std_mode = ""; -endmodule - -(* blackbox *) -module NX_DSP_L(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21 -, A22, A23, A24, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18 -, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 -, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, CAI1, CAI2, CAI3, CAI4, CAI5, CAI6 -, CAI7, CAI8, CAI9, CAI10, CAI11, CAI12, CAI13, CAI14, CAI15, CAI16, CAI17, CAI18, CAI19, CAI20, CAI21, CAI22, CAI23, CAI24, CAO1, CAO2, CAO3 -, CAO4, CAO5, CAO6, CAO7, CAO8, CAO9, CAO10, CAO11, CAO12, CAO13, CAO14, CAO15, CAO16, CAO17, CAO18, CAO19, CAO20, CAO21, CAO22, CAO23, CAO24 -, CBI1, CBI2, CBI3, CBI4, CBI5, CBI6, CBI7, CBI8, CBI9, CBI10, CBI11, CBI12, CBI13, CBI14, CBI15, CBI16, CBI17, CBI18, CBO1, CBO2, CBO3 -, CBO4, CBO5, CBO6, CBO7, CBO8, CBO9, CBO10, CBO11, CBO12, CBO13, CBO14, CBO15, CBO16, CBO17, CBO18, CCI, CCO, CI, CK, CO, CO37 -, CO57, CZI1, CZI2, CZI3, CZI4, CZI5, CZI6, CZI7, CZI8, CZI9, CZI10, CZI11, CZI12, CZI13, CZI14, CZI15, CZI16, CZI17, CZI18, CZI19, CZI20 -, CZI21, CZI22, CZI23, CZI24, CZI25, CZI26, CZI27, CZI28, CZI29, CZI30, CZI31, CZI32, CZI33, CZI34, CZI35, CZI36, CZI37, CZI38, CZI39, CZI40, CZI41 -, CZI42, CZI43, CZI44, CZI45, CZI46, CZI47, CZI48, CZI49, CZI50, CZI51, CZI52, CZI53, CZI54, CZI55, CZI56, CZO1, CZO2, CZO3, CZO4, CZO5, CZO6 -, CZO7, CZO8, CZO9, CZO10, CZO11, CZO12, CZO13, CZO14, CZO15, CZO16, CZO17, CZO18, CZO19, CZO20, CZO21, CZO22, CZO23, CZO24, CZO25, CZO26, CZO27 -, CZO28, CZO29, CZO30, CZO31, CZO32, CZO33, CZO34, CZO35, CZO36, CZO37, CZO38, CZO39, CZO40, CZO41, CZO42, CZO43, CZO44, CZO45, CZO46, CZO47, CZO48 -, CZO49, CZO50, CZO51, CZO52, CZO53, CZO54, CZO55, CZO56, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13 -, D14, D15, D16, D17, D18, OVF, R, RZ, WE, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12 -, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z22, Z23, Z24, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32, Z33 -, Z34, Z35, Z36, Z37, Z38, Z39, Z40, Z41, Z42, Z43, Z44, Z45, Z46, Z47, Z48, Z49, Z50, Z51, Z52, Z53, Z54 -, Z55, Z56); - input A1; - input A10; - input A11; - input A12; - input A13; - input A14; - input A15; - input A16; - input A17; - input A18; - input A19; - input A2; - input A20; - input A21; - input A22; - input A23; - input A24; - input A3; - input A4; - input A5; - input A6; - input A7; - input A8; - input A9; - input B1; - input B10; - input B11; - input B12; - input B13; - input B14; - input B15; - input B16; - input B17; - input B18; - input B2; - input B3; - input B4; - input B5; - input B6; - input B7; - input B8; - input B9; - input C1; - input C10; - input C11; - input C12; - input C13; - input C14; - input C15; - input C16; - input C17; - input C18; - input C19; - input C2; - input C20; - input C21; - input C22; - input C23; - input C24; - input C25; - input C26; - input C27; - input C28; - input C29; - input C3; - input C30; - input C31; - input C32; - input C33; - input C34; - input C35; - input C36; - input C4; - input C5; - input C6; - input C7; - input C8; - input C9; - input CAI1; - input CAI10; - input CAI11; - input CAI12; - input CAI13; - input CAI14; - input CAI15; - input CAI16; - input CAI17; - input CAI18; - input CAI19; - input CAI2; - input CAI20; - input CAI21; - input CAI22; - input CAI23; - input CAI24; - input CAI3; - input CAI4; - input CAI5; - input CAI6; - input CAI7; - input CAI8; - input CAI9; - output CAO1; - output CAO10; - output CAO11; - output CAO12; - output CAO13; - output CAO14; - output CAO15; - output CAO16; - output CAO17; - output CAO18; - output CAO19; - output CAO2; - output CAO20; - output CAO21; - output CAO22; - output CAO23; - output CAO24; - output CAO3; - output CAO4; - output CAO5; - output CAO6; - output CAO7; - output CAO8; - output CAO9; - input CBI1; - input CBI10; - input CBI11; - input CBI12; - input CBI13; - input CBI14; - input CBI15; - input CBI16; - input CBI17; - input CBI18; - input CBI2; - input CBI3; - input CBI4; - input CBI5; - input CBI6; - input CBI7; - input CBI8; - input CBI9; - output CBO1; - output CBO10; - output CBO11; - output CBO12; - output CBO13; - output CBO14; - output CBO15; - output CBO16; - output CBO17; - output CBO18; - output CBO2; - output CBO3; - output CBO4; - output CBO5; - output CBO6; - output CBO7; - output CBO8; - output CBO9; - input CCI; - output CCO; - input CI; - input CK; - output CO; - output CO37; - output CO57; - input CZI1; - input CZI10; - input CZI11; - input CZI12; - input CZI13; - input CZI14; - input CZI15; - input CZI16; - input CZI17; - input CZI18; - input CZI19; - input CZI2; - input CZI20; - input CZI21; - input CZI22; - input CZI23; - input CZI24; - input CZI25; - input CZI26; - input CZI27; - input CZI28; - input CZI29; - input CZI3; - input CZI30; - input CZI31; - input CZI32; - input CZI33; - input CZI34; - input CZI35; - input CZI36; - input CZI37; - input CZI38; - input CZI39; - input CZI4; - input CZI40; - input CZI41; - input CZI42; - input CZI43; - input CZI44; - input CZI45; - input CZI46; - input CZI47; - input CZI48; - input CZI49; - input CZI5; - input CZI50; - input CZI51; - input CZI52; - input CZI53; - input CZI54; - input CZI55; - input CZI56; - input CZI6; - input CZI7; - input CZI8; - input CZI9; - output CZO1; - output CZO10; - output CZO11; - output CZO12; - output CZO13; - output CZO14; - output CZO15; - output CZO16; - output CZO17; - output CZO18; - output CZO19; - output CZO2; - output CZO20; - output CZO21; - output CZO22; - output CZO23; - output CZO24; - output CZO25; - output CZO26; - output CZO27; - output CZO28; - output CZO29; - output CZO3; - output CZO30; - output CZO31; - output CZO32; - output CZO33; - output CZO34; - output CZO35; - output CZO36; - output CZO37; - output CZO38; - output CZO39; - output CZO4; - output CZO40; - output CZO41; - output CZO42; - output CZO43; - output CZO44; - output CZO45; - output CZO46; - output CZO47; - output CZO48; - output CZO49; - output CZO5; - output CZO50; - output CZO51; - output CZO52; - output CZO53; - output CZO54; - output CZO55; - output CZO56; - output CZO6; - output CZO7; - output CZO8; - output CZO9; - input D1; - input D10; - input D11; - input D12; - input D13; - input D14; - input D15; - input D16; - input D17; - input D18; - input D2; - input D3; - input D4; - input D5; - input D6; - input D7; - input D8; - input D9; - output OVF; - input R; - input RZ; - input WE; - output Z1; - output Z10; - output Z11; - output Z12; - output Z13; - output Z14; - output Z15; - output Z16; - output Z17; - output Z18; - output Z19; - output Z2; - output Z20; - output Z21; - output Z22; - output Z23; - output Z24; - output Z25; - output Z26; - output Z27; - output Z28; - output Z29; - output Z3; - output Z30; - output Z31; - output Z32; - output Z33; - output Z34; - output Z35; - output Z36; - output Z37; - output Z38; - output Z39; - output Z4; - output Z40; - output Z41; - output Z42; - output Z43; - output Z44; - output Z45; - output Z46; - output Z47; - output Z48; - output Z49; - output Z5; - output Z50; - output Z51; - output Z52; - output Z53; - output Z54; - output Z55; - output Z56; - output Z6; - output Z7; - output Z8; - output Z9; - parameter raw_config0 = 20'b00000000000000000000; - parameter raw_config1 = 19'b0000000000000000000; - parameter raw_config2 = 13'b0000000000000; - parameter raw_config3 = 7'b0000000; - parameter std_mode = ""; -endmodule - (* blackbox *) module NX_DSP_L_SPLIT(CK, R, RZ, WE, CI, CCI, CO, CO36, CO56, OVF, CCO, A, B, C, D, Z, CAI, CBI, CZI, CAO, CBO , CZO); @@ -1713,463 +956,6 @@ module NX_DSP_L_WRAP(CCI, CCO, CI, CK, CO, CO37, CO57, OVF, R, RZ, WE, A, B, C, parameter std_mode = ""; endmodule -(* blackbox *) -module NX_DSP_SPLIT(CK, R, RZ, WE, CI, CCI, CO, CO36, CO48, OVF, CCO, A, B, C, D, Z, CAI, CBI, CZI, CAO, CBO -, CZO); - input [23:0] A; - input [17:0] B; - input [35:0] C; - input [17:0] CAI; - output [17:0] CAO; - input [17:0] CBI; - output [17:0] CBO; - input CCI; - output CCO; - input CI; - input CK; - output CO; - output CO36; - output CO48; - input [55:0] CZI; - output [55:0] CZO; - input [17:0] D; - output OVF; - input R; - input RZ; - input WE; - output [55:0] Z; - parameter ALU_DYNAMIC_OP = 1'b0; - parameter ALU_MUX = 1'b0; - parameter ALU_OP = 6'b000000; - parameter CO_SEL = 1'b0; - parameter ENABLE_PR_ALU_RST = 1'b0; - parameter ENABLE_PR_A_RST = 1'b0; - parameter ENABLE_PR_B_RST = 1'b0; - parameter ENABLE_PR_CI_RST = 1'b0; - parameter ENABLE_PR_CO_RST = 1'b0; - parameter ENABLE_PR_C_RST = 1'b0; - parameter ENABLE_PR_D_RST = 1'b0; - parameter ENABLE_PR_MULT_RST = 1'b0; - parameter ENABLE_PR_OV_RST = 1'b0; - parameter ENABLE_PR_P_RST = 1'b0; - parameter ENABLE_PR_X_RST = 1'b0; - parameter ENABLE_PR_Y_RST = 1'b0; - parameter ENABLE_PR_Z_RST = 1'b0; - parameter ENABLE_SATURATION = 1'b0; - parameter MUX_A = 1'b0; - parameter MUX_B = 1'b0; - parameter MUX_CI = 1'b0; - parameter MUX_P = 1'b0; - parameter MUX_X = 2'b00; - parameter MUX_Y = 1'b0; - parameter MUX_Z = 1'b0; - parameter PRE_ADDER_OP = 1'b0; - parameter PR_ALU_MUX = 1'b0; - parameter PR_A_CASCADE_MUX = 2'b00; - parameter PR_A_MUX = 2'b00; - parameter PR_B_CASCADE_MUX = 2'b00; - parameter PR_B_MUX = 2'b00; - parameter PR_CI_MUX = 1'b0; - parameter PR_CO_MUX = 1'b0; - parameter PR_C_MUX = 1'b0; - parameter PR_D_MUX = 1'b0; - parameter PR_MULT_MUX = 1'b0; - parameter PR_OV_MUX = 1'b0; - parameter PR_P_MUX = 1'b0; - parameter PR_X_MUX = 1'b0; - parameter PR_Y_MUX = 1'b0; - parameter PR_Z_MUX = 1'b0; - parameter SATURATION_RANK = 6'b000000; - parameter SIGNED_MODE = 1'b0; - parameter Z_FEEDBACK_SHL12 = 1'b0; -endmodule - -(* blackbox *) -module NX_DSP_U(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21 -, A22, A23, A24, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18 -, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 -, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, CAI1, CAI2, CAI3, CAI4, CAI5, CAI6 -, CAI7, CAI8, CAI9, CAI10, CAI11, CAI12, CAI13, CAI14, CAI15, CAI16, CAI17, CAI18, CAI19, CAI20, CAI21, CAI22, CAI23, CAI24, CAO1, CAO2, CAO3 -, CAO4, CAO5, CAO6, CAO7, CAO8, CAO9, CAO10, CAO11, CAO12, CAO13, CAO14, CAO15, CAO16, CAO17, CAO18, CAO19, CAO20, CAO21, CAO22, CAO23, CAO24 -, CBI1, CBI2, CBI3, CBI4, CBI5, CBI6, CBI7, CBI8, CBI9, CBI10, CBI11, CBI12, CBI13, CBI14, CBI15, CBI16, CBI17, CBI18, CBO1, CBO2, CBO3 -, CBO4, CBO5, CBO6, CBO7, CBO8, CBO9, CBO10, CBO11, CBO12, CBO13, CBO14, CBO15, CBO16, CBO17, CBO18, CCI, CCO, CI, CK, CO43, CO57 -, RESERVED, CZI1, CZI2, CZI3, CZI4, CZI5, CZI6, CZI7, CZI8, CZI9, CZI10, CZI11, CZI12, CZI13, CZI14, CZI15, CZI16, CZI17, CZI18, CZI19, CZI20 -, CZI21, CZI22, CZI23, CZI24, CZI25, CZI26, CZI27, CZI28, CZI29, CZI30, CZI31, CZI32, CZI33, CZI34, CZI35, CZI36, CZI37, CZI38, CZI39, CZI40, CZI41 -, CZI42, CZI43, CZI44, CZI45, CZI46, CZI47, CZI48, CZI49, CZI50, CZI51, CZI52, CZI53, CZI54, CZI55, CZI56, CZO1, CZO2, CZO3, CZO4, CZO5, CZO6 -, CZO7, CZO8, CZO9, CZO10, CZO11, CZO12, CZO13, CZO14, CZO15, CZO16, CZO17, CZO18, CZO19, CZO20, CZO21, CZO22, CZO23, CZO24, CZO25, CZO26, CZO27 -, CZO28, CZO29, CZO30, CZO31, CZO32, CZO33, CZO34, CZO35, CZO36, CZO37, CZO38, CZO39, CZO40, CZO41, CZO42, CZO43, CZO44, CZO45, CZO46, CZO47, CZO48 -, CZO49, CZO50, CZO51, CZO52, CZO53, CZO54, CZO55, CZO56, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13 -, D14, D15, D16, D17, D18, OVF, R, RZ, WE, WEZ, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11 -, Z12, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z22, Z23, Z24, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32 -, Z33, Z34, Z35, Z36, Z37, Z38, Z39, Z40, Z41, Z42, Z43, Z44, Z45, Z46, Z47, Z48, Z49, Z50, Z51, Z52, Z53 -, Z54, Z55, Z56); - input A1; - input A10; - input A11; - input A12; - input A13; - input A14; - input A15; - input A16; - input A17; - input A18; - input A19; - input A2; - input A20; - input A21; - input A22; - input A23; - input A24; - input A3; - input A4; - input A5; - input A6; - input A7; - input A8; - input A9; - input B1; - input B10; - input B11; - input B12; - input B13; - input B14; - input B15; - input B16; - input B17; - input B18; - input B2; - input B3; - input B4; - input B5; - input B6; - input B7; - input B8; - input B9; - input C1; - input C10; - input C11; - input C12; - input C13; - input C14; - input C15; - input C16; - input C17; - input C18; - input C19; - input C2; - input C20; - input C21; - input C22; - input C23; - input C24; - input C25; - input C26; - input C27; - input C28; - input C29; - input C3; - input C30; - input C31; - input C32; - input C33; - input C34; - input C35; - input C36; - input C4; - input C5; - input C6; - input C7; - input C8; - input C9; - input CAI1; - input CAI10; - input CAI11; - input CAI12; - input CAI13; - input CAI14; - input CAI15; - input CAI16; - input CAI17; - input CAI18; - input CAI19; - input CAI2; - input CAI20; - input CAI21; - input CAI22; - input CAI23; - input CAI24; - input CAI3; - input CAI4; - input CAI5; - input CAI6; - input CAI7; - input CAI8; - input CAI9; - output CAO1; - output CAO10; - output CAO11; - output CAO12; - output CAO13; - output CAO14; - output CAO15; - output CAO16; - output CAO17; - output CAO18; - output CAO19; - output CAO2; - output CAO20; - output CAO21; - output CAO22; - output CAO23; - output CAO24; - output CAO3; - output CAO4; - output CAO5; - output CAO6; - output CAO7; - output CAO8; - output CAO9; - input CBI1; - input CBI10; - input CBI11; - input CBI12; - input CBI13; - input CBI14; - input CBI15; - input CBI16; - input CBI17; - input CBI18; - input CBI2; - input CBI3; - input CBI4; - input CBI5; - input CBI6; - input CBI7; - input CBI8; - input CBI9; - output CBO1; - output CBO10; - output CBO11; - output CBO12; - output CBO13; - output CBO14; - output CBO15; - output CBO16; - output CBO17; - output CBO18; - output CBO2; - output CBO3; - output CBO4; - output CBO5; - output CBO6; - output CBO7; - output CBO8; - output CBO9; - input CCI; - output CCO; - input CI; - input CK; - output CO43; - output CO57; - input CZI1; - input CZI10; - input CZI11; - input CZI12; - input CZI13; - input CZI14; - input CZI15; - input CZI16; - input CZI17; - input CZI18; - input CZI19; - input CZI2; - input CZI20; - input CZI21; - input CZI22; - input CZI23; - input CZI24; - input CZI25; - input CZI26; - input CZI27; - input CZI28; - input CZI29; - input CZI3; - input CZI30; - input CZI31; - input CZI32; - input CZI33; - input CZI34; - input CZI35; - input CZI36; - input CZI37; - input CZI38; - input CZI39; - input CZI4; - input CZI40; - input CZI41; - input CZI42; - input CZI43; - input CZI44; - input CZI45; - input CZI46; - input CZI47; - input CZI48; - input CZI49; - input CZI5; - input CZI50; - input CZI51; - input CZI52; - input CZI53; - input CZI54; - input CZI55; - input CZI56; - input CZI6; - input CZI7; - input CZI8; - input CZI9; - output CZO1; - output CZO10; - output CZO11; - output CZO12; - output CZO13; - output CZO14; - output CZO15; - output CZO16; - output CZO17; - output CZO18; - output CZO19; - output CZO2; - output CZO20; - output CZO21; - output CZO22; - output CZO23; - output CZO24; - output CZO25; - output CZO26; - output CZO27; - output CZO28; - output CZO29; - output CZO3; - output CZO30; - output CZO31; - output CZO32; - output CZO33; - output CZO34; - output CZO35; - output CZO36; - output CZO37; - output CZO38; - output CZO39; - output CZO4; - output CZO40; - output CZO41; - output CZO42; - output CZO43; - output CZO44; - output CZO45; - output CZO46; - output CZO47; - output CZO48; - output CZO49; - output CZO5; - output CZO50; - output CZO51; - output CZO52; - output CZO53; - output CZO54; - output CZO55; - output CZO56; - output CZO6; - output CZO7; - output CZO8; - output CZO9; - input D1; - input D10; - input D11; - input D12; - input D13; - input D14; - input D15; - input D16; - input D17; - input D18; - input D2; - input D3; - input D4; - input D5; - input D6; - input D7; - input D8; - input D9; - output OVF; - input R; - output RESERVED; - input RZ; - input WE; - input WEZ; - output Z1; - output Z10; - output Z11; - output Z12; - output Z13; - output Z14; - output Z15; - output Z16; - output Z17; - output Z18; - output Z19; - output Z2; - output Z20; - output Z21; - output Z22; - output Z23; - output Z24; - output Z25; - output Z26; - output Z27; - output Z28; - output Z29; - output Z3; - output Z30; - output Z31; - output Z32; - output Z33; - output Z34; - output Z35; - output Z36; - output Z37; - output Z38; - output Z39; - output Z4; - output Z40; - output Z41; - output Z42; - output Z43; - output Z44; - output Z45; - output Z46; - output Z47; - output Z48; - output Z49; - output Z5; - output Z50; - output Z51; - output Z52; - output Z53; - output Z54; - output Z55; - output Z56; - output Z6; - output Z7; - output Z8; - output Z9; - parameter raw_config0 = 27'b000000000000000000000000000; - parameter raw_config1 = 24'b000000000000000000000000; - parameter raw_config2 = 14'b00000000000000; - parameter raw_config3 = 3'b000; - parameter std_mode = ""; -endmodule - (* blackbox *) module NX_DSP_U_SPLIT(CK, R, RZ, WE, WEZ, CI, CCI, CO42, CO56, OVF, CCO, A, B, C, D, Z, CAI, CBI, CZI, CAO, CBO , CZO); diff --git a/techlibs/nanoxplore/cells_bb_l.v b/techlibs/nanoxplore/cells_bb_l.v index e5a88023f..a3a11a06c 100644 --- a/techlibs/nanoxplore/cells_bb_l.v +++ b/techlibs/nanoxplore/cells_bb_l.v @@ -84,3 +84,388 @@ module NX_CDC_L(CK1, CK2, AI1, AI2, AI3, AI4, AI5, AI6, AO1, AO2, AO3, AO4, AO5, parameter use_dsrc_arst = 2'b00; endmodule +(* blackbox *) +module NX_DSP_L(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21 +, A22, A23, A24, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18 +, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 +, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, CAI1, CAI2, CAI3, CAI4, CAI5, CAI6 +, CAI7, CAI8, CAI9, CAI10, CAI11, CAI12, CAI13, CAI14, CAI15, CAI16, CAI17, CAI18, CAI19, CAI20, CAI21, CAI22, CAI23, CAI24, CAO1, CAO2, CAO3 +, CAO4, CAO5, CAO6, CAO7, CAO8, CAO9, CAO10, CAO11, CAO12, CAO13, CAO14, CAO15, CAO16, CAO17, CAO18, CAO19, CAO20, CAO21, CAO22, CAO23, CAO24 +, CBI1, CBI2, CBI3, CBI4, CBI5, CBI6, CBI7, CBI8, CBI9, CBI10, CBI11, CBI12, CBI13, CBI14, CBI15, CBI16, CBI17, CBI18, CBO1, CBO2, CBO3 +, CBO4, CBO5, CBO6, CBO7, CBO8, CBO9, CBO10, CBO11, CBO12, CBO13, CBO14, CBO15, CBO16, CBO17, CBO18, CCI, CCO, CI, CK, CO, CO37 +, CO57, CZI1, CZI2, CZI3, CZI4, CZI5, CZI6, CZI7, CZI8, CZI9, CZI10, CZI11, CZI12, CZI13, CZI14, CZI15, CZI16, CZI17, CZI18, CZI19, CZI20 +, CZI21, CZI22, CZI23, CZI24, CZI25, CZI26, CZI27, CZI28, CZI29, CZI30, CZI31, CZI32, CZI33, CZI34, CZI35, CZI36, CZI37, CZI38, CZI39, CZI40, CZI41 +, CZI42, CZI43, CZI44, CZI45, CZI46, CZI47, CZI48, CZI49, CZI50, CZI51, CZI52, CZI53, CZI54, CZI55, CZI56, CZO1, CZO2, CZO3, CZO4, CZO5, CZO6 +, CZO7, CZO8, CZO9, CZO10, CZO11, CZO12, CZO13, CZO14, CZO15, CZO16, CZO17, CZO18, CZO19, CZO20, CZO21, CZO22, CZO23, CZO24, CZO25, CZO26, CZO27 +, CZO28, CZO29, CZO30, CZO31, CZO32, CZO33, CZO34, CZO35, CZO36, CZO37, CZO38, CZO39, CZO40, CZO41, CZO42, CZO43, CZO44, CZO45, CZO46, CZO47, CZO48 +, CZO49, CZO50, CZO51, CZO52, CZO53, CZO54, CZO55, CZO56, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13 +, D14, D15, D16, D17, D18, OVF, R, RZ, WE, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12 +, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z22, Z23, Z24, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32, Z33 +, Z34, Z35, Z36, Z37, Z38, Z39, Z40, Z41, Z42, Z43, Z44, Z45, Z46, Z47, Z48, Z49, Z50, Z51, Z52, Z53, Z54 +, Z55, Z56); + input A1; + input A10; + input A11; + input A12; + input A13; + input A14; + input A15; + input A16; + input A17; + input A18; + input A19; + input A2; + input A20; + input A21; + input A22; + input A23; + input A24; + input A3; + input A4; + input A5; + input A6; + input A7; + input A8; + input A9; + input B1; + input B10; + input B11; + input B12; + input B13; + input B14; + input B15; + input B16; + input B17; + input B18; + input B2; + input B3; + input B4; + input B5; + input B6; + input B7; + input B8; + input B9; + input C1; + input C10; + input C11; + input C12; + input C13; + input C14; + input C15; + input C16; + input C17; + input C18; + input C19; + input C2; + input C20; + input C21; + input C22; + input C23; + input C24; + input C25; + input C26; + input C27; + input C28; + input C29; + input C3; + input C30; + input C31; + input C32; + input C33; + input C34; + input C35; + input C36; + input C4; + input C5; + input C6; + input C7; + input C8; + input C9; + input CAI1; + input CAI10; + input CAI11; + input CAI12; + input CAI13; + input CAI14; + input CAI15; + input CAI16; + input CAI17; + input CAI18; + input CAI19; + input CAI2; + input CAI20; + input CAI21; + input CAI22; + input CAI23; + input CAI24; + input CAI3; + input CAI4; + input CAI5; + input CAI6; + input CAI7; + input CAI8; + input CAI9; + output CAO1; + output CAO10; + output CAO11; + output CAO12; + output CAO13; + output CAO14; + output CAO15; + output CAO16; + output CAO17; + output CAO18; + output CAO19; + output CAO2; + output CAO20; + output CAO21; + output CAO22; + output CAO23; + output CAO24; + output CAO3; + output CAO4; + output CAO5; + output CAO6; + output CAO7; + output CAO8; + output CAO9; + input CBI1; + input CBI10; + input CBI11; + input CBI12; + input CBI13; + input CBI14; + input CBI15; + input CBI16; + input CBI17; + input CBI18; + input CBI2; + input CBI3; + input CBI4; + input CBI5; + input CBI6; + input CBI7; + input CBI8; + input CBI9; + output CBO1; + output CBO10; + output CBO11; + output CBO12; + output CBO13; + output CBO14; + output CBO15; + output CBO16; + output CBO17; + output CBO18; + output CBO2; + output CBO3; + output CBO4; + output CBO5; + output CBO6; + output CBO7; + output CBO8; + output CBO9; + input CCI; + output CCO; + input CI; + input CK; + output CO; + output CO37; + output CO57; + input CZI1; + input CZI10; + input CZI11; + input CZI12; + input CZI13; + input CZI14; + input CZI15; + input CZI16; + input CZI17; + input CZI18; + input CZI19; + input CZI2; + input CZI20; + input CZI21; + input CZI22; + input CZI23; + input CZI24; + input CZI25; + input CZI26; + input CZI27; + input CZI28; + input CZI29; + input CZI3; + input CZI30; + input CZI31; + input CZI32; + input CZI33; + input CZI34; + input CZI35; + input CZI36; + input CZI37; + input CZI38; + input CZI39; + input CZI4; + input CZI40; + input CZI41; + input CZI42; + input CZI43; + input CZI44; + input CZI45; + input CZI46; + input CZI47; + input CZI48; + input CZI49; + input CZI5; + input CZI50; + input CZI51; + input CZI52; + input CZI53; + input CZI54; + input CZI55; + input CZI56; + input CZI6; + input CZI7; + input CZI8; + input CZI9; + output CZO1; + output CZO10; + output CZO11; + output CZO12; + output CZO13; + output CZO14; + output CZO15; + output CZO16; + output CZO17; + output CZO18; + output CZO19; + output CZO2; + output CZO20; + output CZO21; + output CZO22; + output CZO23; + output CZO24; + output CZO25; + output CZO26; + output CZO27; + output CZO28; + output CZO29; + output CZO3; + output CZO30; + output CZO31; + output CZO32; + output CZO33; + output CZO34; + output CZO35; + output CZO36; + output CZO37; + output CZO38; + output CZO39; + output CZO4; + output CZO40; + output CZO41; + output CZO42; + output CZO43; + output CZO44; + output CZO45; + output CZO46; + output CZO47; + output CZO48; + output CZO49; + output CZO5; + output CZO50; + output CZO51; + output CZO52; + output CZO53; + output CZO54; + output CZO55; + output CZO56; + output CZO6; + output CZO7; + output CZO8; + output CZO9; + input D1; + input D10; + input D11; + input D12; + input D13; + input D14; + input D15; + input D16; + input D17; + input D18; + input D2; + input D3; + input D4; + input D5; + input D6; + input D7; + input D8; + input D9; + output OVF; + input R; + input RZ; + input WE; + output Z1; + output Z10; + output Z11; + output Z12; + output Z13; + output Z14; + output Z15; + output Z16; + output Z17; + output Z18; + output Z19; + output Z2; + output Z20; + output Z21; + output Z22; + output Z23; + output Z24; + output Z25; + output Z26; + output Z27; + output Z28; + output Z29; + output Z3; + output Z30; + output Z31; + output Z32; + output Z33; + output Z34; + output Z35; + output Z36; + output Z37; + output Z38; + output Z39; + output Z4; + output Z40; + output Z41; + output Z42; + output Z43; + output Z44; + output Z45; + output Z46; + output Z47; + output Z48; + output Z49; + output Z5; + output Z50; + output Z51; + output Z52; + output Z53; + output Z54; + output Z55; + output Z56; + output Z6; + output Z7; + output Z8; + output Z9; + parameter raw_config0 = 20'b00000000000000000000; + parameter raw_config1 = 19'b0000000000000000000; + parameter raw_config2 = 13'b0000000000000; + parameter raw_config3 = 7'b0000000; + parameter std_mode = ""; +endmodule + diff --git a/techlibs/nanoxplore/cells_bb_m.v b/techlibs/nanoxplore/cells_bb_m.v index 85b288ea0..e54c1fd8a 100644 --- a/techlibs/nanoxplore/cells_bb_m.v +++ b/techlibs/nanoxplore/cells_bb_m.v @@ -6,3 +6,375 @@ module NX_CKS(CKI, CMD, CKO); parameter ck_edge = 1'b0; endmodule +(* blackbox *) +module NX_DSP(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21 +, A22, A23, A24, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18 +, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 +, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, CAI1, CAI2, CAI3, CAI4, CAI5, CAI6 +, CAI7, CAI8, CAI9, CAI10, CAI11, CAI12, CAI13, CAI14, CAI15, CAI16, CAI17, CAI18, CAO1, CAO2, CAO3, CAO4, CAO5, CAO6, CAO7, CAO8, CAO9 +, CAO10, CAO11, CAO12, CAO13, CAO14, CAO15, CAO16, CAO17, CAO18, CBI1, CBI2, CBI3, CBI4, CBI5, CBI6, CBI7, CBI8, CBI9, CBI10, CBI11, CBI12 +, CBI13, CBI14, CBI15, CBI16, CBI17, CBI18, CBO1, CBO2, CBO3, CBO4, CBO5, CBO6, CBO7, CBO8, CBO9, CBO10, CBO11, CBO12, CBO13, CBO14, CBO15 +, CBO16, CBO17, CBO18, CCI, CCO, CI, CK, CO, CO37, CO49, CZI1, CZI2, CZI3, CZI4, CZI5, CZI6, CZI7, CZI8, CZI9, CZI10, CZI11 +, CZI12, CZI13, CZI14, CZI15, CZI16, CZI17, CZI18, CZI19, CZI20, CZI21, CZI22, CZI23, CZI24, CZI25, CZI26, CZI27, CZI28, CZI29, CZI30, CZI31, CZI32 +, CZI33, CZI34, CZI35, CZI36, CZI37, CZI38, CZI39, CZI40, CZI41, CZI42, CZI43, CZI44, CZI45, CZI46, CZI47, CZI48, CZI49, CZI50, CZI51, CZI52, CZI53 +, CZI54, CZI55, CZI56, CZO1, CZO2, CZO3, CZO4, CZO5, CZO6, CZO7, CZO8, CZO9, CZO10, CZO11, CZO12, CZO13, CZO14, CZO15, CZO16, CZO17, CZO18 +, CZO19, CZO20, CZO21, CZO22, CZO23, CZO24, CZO25, CZO26, CZO27, CZO28, CZO29, CZO30, CZO31, CZO32, CZO33, CZO34, CZO35, CZO36, CZO37, CZO38, CZO39 +, CZO40, CZO41, CZO42, CZO43, CZO44, CZO45, CZO46, CZO47, CZO48, CZO49, CZO50, CZO51, CZO52, CZO53, CZO54, CZO55, CZO56, D1, D2, D3, D4 +, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, OVF, R, RZ, WE, Z1, Z2, Z3 +, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z22, Z23, Z24 +, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32, Z33, Z34, Z35, Z36, Z37, Z38, Z39, Z40, Z41, Z42, Z43, Z44, Z45 +, Z46, Z47, Z48, Z49, Z50, Z51, Z52, Z53, Z54, Z55, Z56); + input A1; + input A10; + input A11; + input A12; + input A13; + input A14; + input A15; + input A16; + input A17; + input A18; + input A19; + input A2; + input A20; + input A21; + input A22; + input A23; + input A24; + input A3; + input A4; + input A5; + input A6; + input A7; + input A8; + input A9; + input B1; + input B10; + input B11; + input B12; + input B13; + input B14; + input B15; + input B16; + input B17; + input B18; + input B2; + input B3; + input B4; + input B5; + input B6; + input B7; + input B8; + input B9; + input C1; + input C10; + input C11; + input C12; + input C13; + input C14; + input C15; + input C16; + input C17; + input C18; + input C19; + input C2; + input C20; + input C21; + input C22; + input C23; + input C24; + input C25; + input C26; + input C27; + input C28; + input C29; + input C3; + input C30; + input C31; + input C32; + input C33; + input C34; + input C35; + input C36; + input C4; + input C5; + input C6; + input C7; + input C8; + input C9; + input CAI1; + input CAI10; + input CAI11; + input CAI12; + input CAI13; + input CAI14; + input CAI15; + input CAI16; + input CAI17; + input CAI18; + input CAI2; + input CAI3; + input CAI4; + input CAI5; + input CAI6; + input CAI7; + input CAI8; + input CAI9; + output CAO1; + output CAO10; + output CAO11; + output CAO12; + output CAO13; + output CAO14; + output CAO15; + output CAO16; + output CAO17; + output CAO18; + output CAO2; + output CAO3; + output CAO4; + output CAO5; + output CAO6; + output CAO7; + output CAO8; + output CAO9; + input CBI1; + input CBI10; + input CBI11; + input CBI12; + input CBI13; + input CBI14; + input CBI15; + input CBI16; + input CBI17; + input CBI18; + input CBI2; + input CBI3; + input CBI4; + input CBI5; + input CBI6; + input CBI7; + input CBI8; + input CBI9; + output CBO1; + output CBO10; + output CBO11; + output CBO12; + output CBO13; + output CBO14; + output CBO15; + output CBO16; + output CBO17; + output CBO18; + output CBO2; + output CBO3; + output CBO4; + output CBO5; + output CBO6; + output CBO7; + output CBO8; + output CBO9; + input CCI; + output CCO; + input CI; + input CK; + output CO; + output CO37; + output CO49; + input CZI1; + input CZI10; + input CZI11; + input CZI12; + input CZI13; + input CZI14; + input CZI15; + input CZI16; + input CZI17; + input CZI18; + input CZI19; + input CZI2; + input CZI20; + input CZI21; + input CZI22; + input CZI23; + input CZI24; + input CZI25; + input CZI26; + input CZI27; + input CZI28; + input CZI29; + input CZI3; + input CZI30; + input CZI31; + input CZI32; + input CZI33; + input CZI34; + input CZI35; + input CZI36; + input CZI37; + input CZI38; + input CZI39; + input CZI4; + input CZI40; + input CZI41; + input CZI42; + input CZI43; + input CZI44; + input CZI45; + input CZI46; + input CZI47; + input CZI48; + input CZI49; + input CZI5; + input CZI50; + input CZI51; + input CZI52; + input CZI53; + input CZI54; + input CZI55; + input CZI56; + input CZI6; + input CZI7; + input CZI8; + input CZI9; + output CZO1; + output CZO10; + output CZO11; + output CZO12; + output CZO13; + output CZO14; + output CZO15; + output CZO16; + output CZO17; + output CZO18; + output CZO19; + output CZO2; + output CZO20; + output CZO21; + output CZO22; + output CZO23; + output CZO24; + output CZO25; + output CZO26; + output CZO27; + output CZO28; + output CZO29; + output CZO3; + output CZO30; + output CZO31; + output CZO32; + output CZO33; + output CZO34; + output CZO35; + output CZO36; + output CZO37; + output CZO38; + output CZO39; + output CZO4; + output CZO40; + output CZO41; + output CZO42; + output CZO43; + output CZO44; + output CZO45; + output CZO46; + output CZO47; + output CZO48; + output CZO49; + output CZO5; + output CZO50; + output CZO51; + output CZO52; + output CZO53; + output CZO54; + output CZO55; + output CZO56; + output CZO6; + output CZO7; + output CZO8; + output CZO9; + input D1; + input D10; + input D11; + input D12; + input D13; + input D14; + input D15; + input D16; + input D17; + input D18; + input D2; + input D3; + input D4; + input D5; + input D6; + input D7; + input D8; + input D9; + output OVF; + input R; + input RZ; + input WE; + output Z1; + output Z10; + output Z11; + output Z12; + output Z13; + output Z14; + output Z15; + output Z16; + output Z17; + output Z18; + output Z19; + output Z2; + output Z20; + output Z21; + output Z22; + output Z23; + output Z24; + output Z25; + output Z26; + output Z27; + output Z28; + output Z29; + output Z3; + output Z30; + output Z31; + output Z32; + output Z33; + output Z34; + output Z35; + output Z36; + output Z37; + output Z38; + output Z39; + output Z4; + output Z40; + output Z41; + output Z42; + output Z43; + output Z44; + output Z45; + output Z46; + output Z47; + output Z48; + output Z49; + output Z5; + output Z50; + output Z51; + output Z52; + output Z53; + output Z54; + output Z55; + output Z56; + output Z6; + output Z7; + output Z8; + output Z9; + parameter raw_config0 = 20'b00000000000000000000; + parameter raw_config1 = 19'b0000000000000000000; + parameter raw_config2 = 13'b0000000000000; + parameter raw_config3 = 7'b0000000; + parameter std_mode = ""; +endmodule + diff --git a/techlibs/nanoxplore/cells_bb_u.v b/techlibs/nanoxplore/cells_bb_u.v index fca409a5b..657cd6667 100644 --- a/techlibs/nanoxplore/cells_bb_u.v +++ b/techlibs/nanoxplore/cells_bb_u.v @@ -99,3 +99,389 @@ module NX_CDC_U(CK1, CK2, ASRSTI, ADRSTI, ASRSTO, ADRSTO, AI1, AI2, AI3, AI4, AI parameter use_ddest_arst = 1'b0; parameter use_dsrc_arst = 1'b0; endmodule + +(* blackbox *) +module NX_DSP_U(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21 +, A22, A23, A24, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18 +, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 +, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, CAI1, CAI2, CAI3, CAI4, CAI5, CAI6 +, CAI7, CAI8, CAI9, CAI10, CAI11, CAI12, CAI13, CAI14, CAI15, CAI16, CAI17, CAI18, CAI19, CAI20, CAI21, CAI22, CAI23, CAI24, CAO1, CAO2, CAO3 +, CAO4, CAO5, CAO6, CAO7, CAO8, CAO9, CAO10, CAO11, CAO12, CAO13, CAO14, CAO15, CAO16, CAO17, CAO18, CAO19, CAO20, CAO21, CAO22, CAO23, CAO24 +, CBI1, CBI2, CBI3, CBI4, CBI5, CBI6, CBI7, CBI8, CBI9, CBI10, CBI11, CBI12, CBI13, CBI14, CBI15, CBI16, CBI17, CBI18, CBO1, CBO2, CBO3 +, CBO4, CBO5, CBO6, CBO7, CBO8, CBO9, CBO10, CBO11, CBO12, CBO13, CBO14, CBO15, CBO16, CBO17, CBO18, CCI, CCO, CI, CK, CO43, CO57 +, RESERVED, CZI1, CZI2, CZI3, CZI4, CZI5, CZI6, CZI7, CZI8, CZI9, CZI10, CZI11, CZI12, CZI13, CZI14, CZI15, CZI16, CZI17, CZI18, CZI19, CZI20 +, CZI21, CZI22, CZI23, CZI24, CZI25, CZI26, CZI27, CZI28, CZI29, CZI30, CZI31, CZI32, CZI33, CZI34, CZI35, CZI36, CZI37, CZI38, CZI39, CZI40, CZI41 +, CZI42, CZI43, CZI44, CZI45, CZI46, CZI47, CZI48, CZI49, CZI50, CZI51, CZI52, CZI53, CZI54, CZI55, CZI56, CZO1, CZO2, CZO3, CZO4, CZO5, CZO6 +, CZO7, CZO8, CZO9, CZO10, CZO11, CZO12, CZO13, CZO14, CZO15, CZO16, CZO17, CZO18, CZO19, CZO20, CZO21, CZO22, CZO23, CZO24, CZO25, CZO26, CZO27 +, CZO28, CZO29, CZO30, CZO31, CZO32, CZO33, CZO34, CZO35, CZO36, CZO37, CZO38, CZO39, CZO40, CZO41, CZO42, CZO43, CZO44, CZO45, CZO46, CZO47, CZO48 +, CZO49, CZO50, CZO51, CZO52, CZO53, CZO54, CZO55, CZO56, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13 +, D14, D15, D16, D17, D18, OVF, R, RZ, WE, WEZ, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11 +, Z12, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z22, Z23, Z24, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32 +, Z33, Z34, Z35, Z36, Z37, Z38, Z39, Z40, Z41, Z42, Z43, Z44, Z45, Z46, Z47, Z48, Z49, Z50, Z51, Z52, Z53 +, Z54, Z55, Z56); + input A1; + input A10; + input A11; + input A12; + input A13; + input A14; + input A15; + input A16; + input A17; + input A18; + input A19; + input A2; + input A20; + input A21; + input A22; + input A23; + input A24; + input A3; + input A4; + input A5; + input A6; + input A7; + input A8; + input A9; + input B1; + input B10; + input B11; + input B12; + input B13; + input B14; + input B15; + input B16; + input B17; + input B18; + input B2; + input B3; + input B4; + input B5; + input B6; + input B7; + input B8; + input B9; + input C1; + input C10; + input C11; + input C12; + input C13; + input C14; + input C15; + input C16; + input C17; + input C18; + input C19; + input C2; + input C20; + input C21; + input C22; + input C23; + input C24; + input C25; + input C26; + input C27; + input C28; + input C29; + input C3; + input C30; + input C31; + input C32; + input C33; + input C34; + input C35; + input C36; + input C4; + input C5; + input C6; + input C7; + input C8; + input C9; + input CAI1; + input CAI10; + input CAI11; + input CAI12; + input CAI13; + input CAI14; + input CAI15; + input CAI16; + input CAI17; + input CAI18; + input CAI19; + input CAI2; + input CAI20; + input CAI21; + input CAI22; + input CAI23; + input CAI24; + input CAI3; + input CAI4; + input CAI5; + input CAI6; + input CAI7; + input CAI8; + input CAI9; + output CAO1; + output CAO10; + output CAO11; + output CAO12; + output CAO13; + output CAO14; + output CAO15; + output CAO16; + output CAO17; + output CAO18; + output CAO19; + output CAO2; + output CAO20; + output CAO21; + output CAO22; + output CAO23; + output CAO24; + output CAO3; + output CAO4; + output CAO5; + output CAO6; + output CAO7; + output CAO8; + output CAO9; + input CBI1; + input CBI10; + input CBI11; + input CBI12; + input CBI13; + input CBI14; + input CBI15; + input CBI16; + input CBI17; + input CBI18; + input CBI2; + input CBI3; + input CBI4; + input CBI5; + input CBI6; + input CBI7; + input CBI8; + input CBI9; + output CBO1; + output CBO10; + output CBO11; + output CBO12; + output CBO13; + output CBO14; + output CBO15; + output CBO16; + output CBO17; + output CBO18; + output CBO2; + output CBO3; + output CBO4; + output CBO5; + output CBO6; + output CBO7; + output CBO8; + output CBO9; + input CCI; + output CCO; + input CI; + input CK; + output CO43; + output CO57; + input CZI1; + input CZI10; + input CZI11; + input CZI12; + input CZI13; + input CZI14; + input CZI15; + input CZI16; + input CZI17; + input CZI18; + input CZI19; + input CZI2; + input CZI20; + input CZI21; + input CZI22; + input CZI23; + input CZI24; + input CZI25; + input CZI26; + input CZI27; + input CZI28; + input CZI29; + input CZI3; + input CZI30; + input CZI31; + input CZI32; + input CZI33; + input CZI34; + input CZI35; + input CZI36; + input CZI37; + input CZI38; + input CZI39; + input CZI4; + input CZI40; + input CZI41; + input CZI42; + input CZI43; + input CZI44; + input CZI45; + input CZI46; + input CZI47; + input CZI48; + input CZI49; + input CZI5; + input CZI50; + input CZI51; + input CZI52; + input CZI53; + input CZI54; + input CZI55; + input CZI56; + input CZI6; + input CZI7; + input CZI8; + input CZI9; + output CZO1; + output CZO10; + output CZO11; + output CZO12; + output CZO13; + output CZO14; + output CZO15; + output CZO16; + output CZO17; + output CZO18; + output CZO19; + output CZO2; + output CZO20; + output CZO21; + output CZO22; + output CZO23; + output CZO24; + output CZO25; + output CZO26; + output CZO27; + output CZO28; + output CZO29; + output CZO3; + output CZO30; + output CZO31; + output CZO32; + output CZO33; + output CZO34; + output CZO35; + output CZO36; + output CZO37; + output CZO38; + output CZO39; + output CZO4; + output CZO40; + output CZO41; + output CZO42; + output CZO43; + output CZO44; + output CZO45; + output CZO46; + output CZO47; + output CZO48; + output CZO49; + output CZO5; + output CZO50; + output CZO51; + output CZO52; + output CZO53; + output CZO54; + output CZO55; + output CZO56; + output CZO6; + output CZO7; + output CZO8; + output CZO9; + input D1; + input D10; + input D11; + input D12; + input D13; + input D14; + input D15; + input D16; + input D17; + input D18; + input D2; + input D3; + input D4; + input D5; + input D6; + input D7; + input D8; + input D9; + output OVF; + input R; + output RESERVED; + input RZ; + input WE; + input WEZ; + output Z1; + output Z10; + output Z11; + output Z12; + output Z13; + output Z14; + output Z15; + output Z16; + output Z17; + output Z18; + output Z19; + output Z2; + output Z20; + output Z21; + output Z22; + output Z23; + output Z24; + output Z25; + output Z26; + output Z27; + output Z28; + output Z29; + output Z3; + output Z30; + output Z31; + output Z32; + output Z33; + output Z34; + output Z35; + output Z36; + output Z37; + output Z38; + output Z39; + output Z4; + output Z40; + output Z41; + output Z42; + output Z43; + output Z44; + output Z45; + output Z46; + output Z47; + output Z48; + output Z49; + output Z5; + output Z50; + output Z51; + output Z52; + output Z53; + output Z54; + output Z55; + output Z56; + output Z6; + output Z7; + output Z8; + output Z9; + parameter raw_config0 = 27'b000000000000000000000000000; + parameter raw_config1 = 24'b000000000000000000000000; + parameter raw_config2 = 14'b00000000000000; + parameter raw_config3 = 3'b000; + parameter std_mode = ""; +endmodule diff --git a/techlibs/nanoxplore/cells_wrap_m.v b/techlibs/nanoxplore/cells_wrap_m.v index e69de29bb..04c9cd667 100644 --- a/techlibs/nanoxplore/cells_wrap_m.v +++ b/techlibs/nanoxplore/cells_wrap_m.v @@ -0,0 +1,448 @@ +module NX_DSP_SPLIT(CK, R, RZ, WE, CI, CCI, CO, CO36, CO48, OVF, CCO, A, B, C, D, Z, CAI, CBI, CZI, CAO, CBO , CZO); + input [23:0] A; + input [17:0] B; + input [35:0] C; + input [17:0] CAI; + output [17:0] CAO; + input [17:0] CBI; + output [17:0] CBO; + input CCI; + output CCO; + input CI; + input CK; + output CO; + output CO36; + output CO48; + input [55:0] CZI; + output [55:0] CZO; + input [17:0] D; + output OVF; + input R; + input RZ; + input WE; + output [55:0] Z; + parameter ALU_DYNAMIC_OP = 1'b0; + parameter ALU_MUX = 1'b0; + parameter ALU_OP = 6'b000000; + parameter CO_SEL = 1'b0; + parameter ENABLE_PR_ALU_RST = 1'b0; + parameter ENABLE_PR_A_RST = 1'b0; + parameter ENABLE_PR_B_RST = 1'b0; + parameter ENABLE_PR_CI_RST = 1'b0; + parameter ENABLE_PR_CO_RST = 1'b0; + parameter ENABLE_PR_C_RST = 1'b0; + parameter ENABLE_PR_D_RST = 1'b0; + parameter ENABLE_PR_MULT_RST = 1'b0; + parameter ENABLE_PR_OV_RST = 1'b0; + parameter ENABLE_PR_P_RST = 1'b0; + parameter ENABLE_PR_X_RST = 1'b0; + parameter ENABLE_PR_Y_RST = 1'b0; + parameter ENABLE_PR_Z_RST = 1'b0; + parameter ENABLE_SATURATION = 1'b0; + parameter MUX_A = 1'b0; + parameter MUX_B = 1'b0; + parameter MUX_CI = 1'b0; + parameter MUX_P = 1'b0; + parameter MUX_X = 2'b00; + parameter MUX_Y = 1'b0; + parameter MUX_Z = 1'b0; + parameter PRE_ADDER_OP = 1'b0; + parameter PR_ALU_MUX = 1'b0; + parameter PR_A_CASCADE_MUX = 2'b00; + parameter PR_A_MUX = 2'b00; + parameter PR_B_CASCADE_MUX = 2'b00; + parameter PR_B_MUX = 2'b00; + parameter PR_CI_MUX = 1'b0; + parameter PR_CO_MUX = 1'b0; + parameter PR_C_MUX = 1'b0; + parameter PR_D_MUX = 1'b0; + parameter PR_MULT_MUX = 1'b0; + parameter PR_OV_MUX = 1'b0; + parameter PR_P_MUX = 1'b0; + parameter PR_X_MUX = 1'b0; + parameter PR_Y_MUX = 1'b0; + parameter PR_Z_MUX = 1'b0; + parameter SATURATION_RANK = 6'b000000; + parameter SIGNED_MODE = 1'b0; + parameter Z_FEEDBACK_SHL12 = 1'b0; + +localparam RAW_CONFIG0_GEN = { CO_SEL, ALU_DYNAMIC_OP, SATURATION_RANK, ENABLE_SATURATION, Z_FEEDBACK_SHL12, MUX_Z, + MUX_CI, MUX_Y, MUX_X, MUX_P, MUX_B, MUX_A, PRE_ADDER_OP, SIGNED_MODE }; + +localparam RAW_CONFIG1_GEN = { PR_OV_MUX, PR_CO_MUX, PR_Z_MUX, PR_ALU_MUX, PR_MULT_MUX, PR_Y_MUX, PR_X_MUX, + PR_P_MUX, PR_CI_MUX, PR_D_MUX, PR_C_MUX, PR_B_CASCADE_MUX, PR_B_MUX, PR_A_CASCADE_MUX, PR_A_MUX }; + +localparam RAW_CONFIG2_GEN = { ENABLE_PR_OV_RST, ENABLE_PR_CO_RST, ENABLE_PR_Z_RST, ENABLE_PR_ALU_RST, + ENABLE_PR_MULT_RST, ENABLE_PR_Y_RST, ENABLE_PR_X_RST, ENABLE_PR_P_RST, ENABLE_PR_CI_RST, + ENABLE_PR_D_RST, ENABLE_PR_C_RST, ENABLE_PR_B_RST, ENABLE_PR_A_RST }; + +localparam RAW_CONFIG3_GEN = { ALU_MUX, ALU_OP }; + + NX_DSP #( + .std_mode(""), + .raw_config0(RAW_CONFIG0_GEN), + .raw_config1(RAW_CONFIG1_GEN), + .raw_config2(RAW_CONFIG2_GEN), + .raw_config3(RAW_CONFIG3_GEN), + ) _TECHMAP_REPLACE_ ( + .A1(A[0]), + .A2(A[1]), + .A3(A[2]), + .A4(A[3]), + .A5(A[4]), + .A6(A[5]), + .A7(A[6]), + .A8(A[7]), + .A9(A[8]), + .A10(A[9]), + .A11(A[10]), + .A12(A[11]), + .A13(A[12]), + .A14(A[13]), + .A15(A[14]), + .A16(A[15]), + .A17(A[16]), + .A18(A[17]), + .A19(A[18]), + .A20(A[19]), + .A21(A[20]), + .A22(A[21]), + .A23(A[22]), + .A24(A[23]), + + .B1(B[0]), + .B2(B[1]), + .B3(B[2]), + .B4(B[3]), + .B5(B[4]), + .B6(B[5]), + .B7(B[6]), + .B8(B[7]), + .B9(B[8]), + .B10(B[9]), + .B11(B[10]), + .B12(B[11]), + .B13(B[12]), + .B14(B[13]), + .B15(B[14]), + .B16(B[15]), + .B17(B[16]), + .B18(B[17]), + + .C1(C[0]), + .C2(C[1]), + .C3(C[2]), + .C4(C[3]), + .C5(C[4]), + .C6(C[5]), + .C7(C[6]), + .C8(C[7]), + .C9(C[8]), + .C10(C[9]), + .C11(C[10]), + .C12(C[11]), + .C13(C[12]), + .C14(C[13]), + .C15(C[14]), + .C16(C[15]), + .C17(C[16]), + .C18(C[17]), + .C19(C[18]), + .C20(C[19]), + .C21(C[20]), + .C22(C[21]), + .C23(C[22]), + .C24(C[23]), + .C25(C[24]), + .C26(C[25]), + .C27(C[26]), + .C28(C[27]), + .C29(C[28]), + .C30(C[29]), + .C31(C[30]), + .C32(C[31]), + .C33(C[32]), + .C34(C[33]), + .C35(C[34]), + .C36(C[35]), + + .CAI1(CAI[0]), + .CAI2(CAI[1]), + .CAI3(CAI[2]), + .CAI4(CAI[3]), + .CAI5(CAI[4]), + .CAI6(CAI[5]), + .CAI7(CAI[6]), + .CAI8(CAI[7]), + .CAI9(CAI[8]), + .CAI10(CAI[9]), + .CAI11(CAI[10]), + .CAI12(CAI[11]), + .CAI13(CAI[12]), + .CAI14(CAI[13]), + .CAI15(CAI[14]), + .CAI16(CAI[15]), + .CAI17(CAI[16]), + .CAI18(CAI[17]), + + .CAO1(CAO[0]), + .CAO2(CAO[1]), + .CAO3(CAO[2]), + .CAO4(CAO[3]), + .CAO5(CAO[4]), + .CAO6(CAO[5]), + .CAO7(CAO[6]), + .CAO8(CAO[7]), + .CAO9(CAO[8]), + .CAO10(CAO[9]), + .CAO11(CAO[10]), + .CAO12(CAO[11]), + .CAO13(CAO[12]), + .CAO14(CAO[13]), + .CAO15(CAO[14]), + .CAO16(CAO[15]), + .CAO17(CAO[16]), + .CAO18(CAO[17]), + + .CBI1(CBI[0]), + .CBI2(CBI[1]), + .CBI3(CBI[2]), + .CBI4(CBI[3]), + .CBI5(CBI[4]), + .CBI6(CBI[5]), + .CBI7(CBI[6]), + .CBI8(CBI[7]), + .CBI9(CBI[8]), + .CBI10(CBI[9]), + .CBI11(CBI[10]), + .CBI12(CBI[11]), + .CBI13(CBI[12]), + .CBI14(CBI[13]), + .CBI15(CBI[14]), + .CBI16(CBI[15]), + .CBI17(CBI[16]), + .CBI18(CBI[17]), + + .CBO1(CBO[0]), + .CBO2(CBO[1]), + .CBO3(CBO[2]), + .CBO4(CBO[3]), + .CBO5(CBO[4]), + .CBO6(CBO[5]), + .CBO7(CBO[6]), + .CBO8(CBO[7]), + .CBO9(CBO[8]), + .CBO10(CBO[9]), + .CBO11(CBO[10]), + .CBO12(CBO[11]), + .CBO13(CBO[12]), + .CBO14(CBO[13]), + .CBO15(CBO[14]), + .CBO16(CBO[15]), + .CBO17(CBO[16]), + .CBO18(CBO[17]), + + .CCI(CCI), + .CCO(CCO), + .CI(CI), + .CK(CK), + .CO(CO), + .CO37(CO36), + .CO49(CO48), + + .CZI1(CZI[0]), + .CZI2(CZI[1]), + .CZI3(CZI[2]), + .CZI4(CZI[3]), + .CZI5(CZI[4]), + .CZI6(CZI[5]), + .CZI7(CZI[6]), + .CZI8(CZI[7]), + .CZI9(CZI[8]), + .CZI10(CZI[9]), + .CZI11(CZI[10]), + .CZI12(CZI[11]), + .CZI13(CZI[12]), + .CZI14(CZI[13]), + .CZI15(CZI[14]), + .CZI16(CZI[15]), + .CZI17(CZI[16]), + .CZI18(CZI[17]), + .CZI19(CZI[18]), + .CZI20(CZI[19]), + .CZI21(CZI[20]), + .CZI22(CZI[21]), + .CZI23(CZI[22]), + .CZI24(CZI[23]), + .CZI25(CZI[24]), + .CZI26(CZI[25]), + .CZI27(CZI[26]), + .CZI28(CZI[27]), + .CZI29(CZI[28]), + .CZI30(CZI[29]), + .CZI31(CZI[30]), + .CZI32(CZI[31]), + .CZI33(CZI[32]), + .CZI34(CZI[33]), + .CZI35(CZI[34]), + .CZI36(CZI[35]), + .CZI37(CZI[36]), + .CZI38(CZI[37]), + .CZI39(CZI[38]), + .CZI40(CZI[39]), + .CZI41(CZI[40]), + .CZI42(CZI[41]), + .CZI43(CZI[42]), + .CZI44(CZI[43]), + .CZI45(CZI[44]), + .CZI46(CZI[45]), + .CZI47(CZI[46]), + .CZI48(CZI[47]), + .CZI49(CZI[48]), + .CZI50(CZI[49]), + .CZI51(CZI[50]), + .CZI52(CZI[51]), + .CZI53(CZI[52]), + .CZI54(CZI[53]), + .CZI55(CZI[54]), + .CZI56(CZI[55]), + + .CZO1(CZO[0]), + .CZO2(CZO[1]), + .CZO3(CZO[2]), + .CZO4(CZO[3]), + .CZO5(CZO[4]), + .CZO6(CZO[5]), + .CZO7(CZO[6]), + .CZO8(CZO[7]), + .CZO9(CZO[8]), + .CZO10(CZO[9]), + .CZO11(CZO[10]), + .CZO12(CZO[11]), + .CZO13(CZO[12]), + .CZO14(CZO[13]), + .CZO15(CZO[14]), + .CZO16(CZO[15]), + .CZO17(CZO[16]), + .CZO18(CZO[17]), + .CZO19(CZO[18]), + .CZO20(CZO[19]), + .CZO21(CZO[20]), + .CZO22(CZO[21]), + .CZO23(CZO[22]), + .CZO24(CZO[23]), + .CZO25(CZO[24]), + .CZO26(CZO[25]), + .CZO27(CZO[26]), + .CZO28(CZO[27]), + .CZO29(CZO[28]), + .CZO30(CZO[29]), + .CZO31(CZO[30]), + .CZO32(CZO[31]), + .CZO33(CZO[32]), + .CZO34(CZO[33]), + .CZO35(CZO[34]), + .CZO36(CZO[35]), + .CZO37(CZO[36]), + .CZO38(CZO[37]), + .CZO39(CZO[38]), + .CZO40(CZO[39]), + .CZO41(CZO[40]), + .CZO42(CZO[41]), + .CZO43(CZO[42]), + .CZO44(CZO[43]), + .CZO45(CZO[44]), + .CZO46(CZO[45]), + .CZO47(CZO[46]), + .CZO48(CZO[47]), + .CZO49(CZO[48]), + .CZO50(CZO[49]), + .CZO51(CZO[50]), + .CZO52(CZO[51]), + .CZO53(CZO[52]), + .CZO54(CZO[53]), + .CZO55(CZO[54]), + .CZO56(CZO[55]), + + .D1(D[0]), + .D2(D[1]), + .D3(D[2]), + .D4(D[3]), + .D5(D[4]), + .D6(D[5]), + .D7(D[6]), + .D8(D[7]), + .D9(D[8]), + .D10(D[9]), + .D11(D[10]), + .D12(D[11]), + .D13(D[12]), + .D14(D[13]), + .D15(D[14]), + .D16(D[15]), + .D17(D[16]), + .D18(D[17]), + + .OVF(OVF), + .R(R), + .RZ(RZ), + .WE(WE), + + .Z1(Z[0]), + .Z2(Z[1]), + .Z3(Z[2]), + .Z4(Z[3]), + .Z5(Z[4]), + .Z6(Z[5]), + .Z7(Z[6]), + .Z8(Z[7]), + .Z9(Z[8]), + .Z10(Z[9]), + .Z11(Z[10]), + .Z12(Z[11]), + .Z13(Z[12]), + .Z14(Z[13]), + .Z15(Z[14]), + .Z16(Z[15]), + .Z17(Z[16]), + .Z18(Z[17]), + .Z19(Z[18]), + .Z20(Z[19]), + .Z21(Z[20]), + .Z22(Z[21]), + .Z23(Z[22]), + .Z24(Z[23]), + .Z25(Z[24]), + .Z26(Z[25]), + .Z27(Z[26]), + .Z28(Z[27]), + .Z29(Z[28]), + .Z30(Z[29]), + .Z31(Z[30]), + .Z32(Z[31]), + .Z33(Z[32]), + .Z34(Z[33]), + .Z35(Z[34]), + .Z36(Z[35]), + .Z37(Z[36]), + .Z38(Z[37]), + .Z39(Z[38]), + .Z40(Z[39]), + .Z41(Z[40]), + .Z42(Z[41]), + .Z43(Z[42]), + .Z44(Z[43]), + .Z45(Z[44]), + .Z46(Z[45]), + .Z47(Z[46]), + .Z48(Z[47]), + .Z49(Z[48]), + .Z50(Z[49]), + .Z51(Z[50]), + .Z52(Z[51]), + .Z53(Z[52]), + .Z54(Z[53]), + .Z55(Z[54]), + .Z56(Z[55]) + ); +endmodule