diff --git a/scripts/yosys+LSOracle/LSOracle/.clang-format b/scripts/yosys+LSOracle/LSOracle/.clang-format new file mode 100644 index 0000000..70dc296 --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/.clang-format @@ -0,0 +1,100 @@ +--- +Language: Cpp +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Right +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: true + AfterStruct: true + AfterUnion: false + BeforeCatch: true + BeforeElse: true + IndentBraces: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Allman +BreakBeforeInheritanceComma: false +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 0 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '$' +IndentCaseLabels: false +IndentWidth: 2 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 0 +PointerAlignment: Left +ReflowComments: true +SortIncludes: false +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: true +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 8 +UseTab: Never +... + diff --git a/scripts/yosys+LSOracle/LSOracle/.gitignore b/scripts/yosys+LSOracle/LSOracle/.gitignore new file mode 100644 index 0000000..550bc4f --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/.gitignore @@ -0,0 +1,14 @@ +**/*~ +**/.DS_Store + +build/ + +.vscode/ + +examples/abc/csharp/bin +examples/abc/csharp/obj +examples/abc/scala/project +examples/abc/scala/target + +tests/**/*.v +hypergraph.txt diff --git a/scripts/yosys+LSOracle/LSOracle/.gitmodules b/scripts/yosys+LSOracle/LSOracle/.gitmodules new file mode 100644 index 0000000..4b0be5f --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/.gitmodules @@ -0,0 +1,15 @@ +#[submodule "lib/kitty"] +# path = lib/kitty +# url = https://github.com/msoeken/kitty +#[submodule "lib/alice"] +# path = lib/alice +# url = https://github.com/msoeken/alice +#[submodule "lib/lorina"] +# path = lib/lorina +# url = https://github.com/hriener/lorina.git +#[submodule "lib/abc"] +# path = lib/abc +# url = https://github.com/msoeken/abc.git +#[submodule "lib/percy"] +# path = lib/percy +# url = https://github.com/whaaswijk/percy diff --git a/scripts/yosys+LSOracle/LSOracle/CMakeLists.txt b/scripts/yosys+LSOracle/LSOracle/CMakeLists.txt new file mode 100644 index 0000000..ece7b73 --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.9) + +find_program(CCACHE_FOUND ccache) +if(CCACHE_FOUND) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) + set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) +endif(CCACHE_FOUND) + +project(alice LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# some specific compiler definitions +include(CheckCXXCompilerFlag) +check_cxx_compiler_flag("-fcolor-diagnostics" HAS_FCOLOR_DIAGNOSTICS) +if (HAS_FCOLOR_DIAGNOSTICS) + add_compile_options(-fcolor-diagnostics) +endif() + +add_subdirectory(lib) + +set(CMAKE_CXX_STANDARD 17) # enable c++17 +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Threads REQUIRED) # thread library (pthread) +add_subdirectory(core) diff --git a/scripts/yosys+LSOracle/LSOracle/Dockerfile b/scripts/yosys+LSOracle/LSOracle/Dockerfile new file mode 100644 index 0000000..7d57e7b --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/Dockerfile @@ -0,0 +1,28 @@ +# This image gathers contains all the dependencies needed to build and +# run tests on LSOracle. The primary purpose is to provide a container to run +# Github actions in. + +FROM ubuntu:latest + +RUN export DEBIAN_FRONTEND=noninteractive; \ + export DEBCONF_NONINTERACTIVE_SEEN=true; \ + echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \ + echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \ + apt-get update && \ + apt-get install -y tzdata \ + gcc-8 \ + g++-8 \ + cmake \ + libboost-all-dev \ + libreadline-dev \ + lcov \ + gcovr \ + git \ + python3-pip && \ + apt-get clean + +RUN pip3 install numpy && pip3 install matplotlib + +RUN git clone https://github.com/berkeley-abc/abc.git && + cd abc && make && \ + cp abc/abc /usr/local/bin/abc diff --git a/scripts/yosys+LSOracle/LSOracle/LICENSE b/scripts/yosys+LSOracle/LSOracle/LICENSE new file mode 100644 index 0000000..1d1a674 --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Laboratory for Nano Integrated Systems (LNIS) + +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. diff --git a/scripts/yosys+LSOracle/LSOracle/NPN_complete_noZero.json b/scripts/yosys+LSOracle/LSOracle/NPN_complete_noZero.json new file mode 100644 index 0000000..da228e8 --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/NPN_complete_noZero.json @@ -0,0 +1,3321 @@ +{ + "out_0001": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "gates": [ + "NOR4xp25_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .D(a), .Y(F));" + ] + }, + "out_0003": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .Y(F));" + ] + }, + "out_0006": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(b), .B(new_n8_), .Y(new_n9_));", + "OR2x4_ASAP7_75t_R g4(.A(d), .B(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n7_), .A2(new_n9_), .B(new_n10_), .Y(F));" + ] + }, + "out_0007": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": "1.39968", + "gates": [ + "AOI211xp5_ASAP7_75t_R g0(.A1(a), .A2(b), .B(d), .C(c), .Y(F));" + ] + }, + "out_000F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(c), .B(d), .Y(F));" + ] + }, + "out_0016": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(c), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(d), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n7_), .B(new_n8_), .C(new_n6_), .Y(F));" + ] + }, + "out_0017": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(b), .A2(a), .B(c), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .Y(F));" + ] + }, + "out_0018": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "NAND2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(c), .B(new_n7_), .Y(new_n8_));", + "AO21x2_ASAP7_75t_R g3(.A1(c), .A2(b), .B(d), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n6_), .B(new_n9_), .Y(F));" + ] + }, + "out_0019": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(a), .A2(new_n8_), .B(new_n9_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(a), .A2(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_001B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n6_), .B(d), .Y(F));" + ] + }, + "out_001E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(c), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(d), .Y(F));" + ] + }, + "out_001F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "OA21x2_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n8_), .B(new_n7_), .Y(F));" + ] + }, + "out_003C": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n7_), .A2(new_n9_), .B(d), .Y(F));" + ] + }, + "out_003D": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": "1.39968", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(c), .A2(b), .B(d), .Y(new_n8_));", + "AOI31xp33_ASAP7_75t_R g3(.A1(a), .A2(new_n7_), .A3(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_003F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": "1.39968", + "gates": [ + "AOI21xp33_ASAP7_75t_R g0(.A1(b), .A2(c), .B(d), .Y(F));" + ] + }, + "out_0069": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.998400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "XOR2x2_ASAP7_75t_R g4(.A(a), .B(b), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n8_), .A2(new_n10_), .B(new_n9_), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(new_n7_), .B(new_n11_), .Y(F));" + ] + }, + "out_006B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(d), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(new_n6_), .A2(c), .A3(a), .B(new_n11_), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(new_n7_), .A2(new_n10_), .B(new_n12_), .Y(F));" + ] + }, + "out_006F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(a), .B(new_n9_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n7_), .B(d), .Y(F));" + ] + }, + "out_007E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(new_n6_));", + "AO31x2_ASAP7_75t_R g1(.A1(a), .A2(b), .A3(c), .B(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .Y(F));" + ] + }, + "out_007F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": "1.39968", + "gates": [ + "AOI31xp33_ASAP7_75t_R g0(.A1(a), .A2(c), .A3(b), .B(d), .Y(F));" + ] + }, + "out_00FF": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": "1.39968", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(F));" + ] + }, + "out_01": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(F));" + ] + }, + "out_0116": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "OR3x1_ASAP7_75t_R g0(.A(c), .B(b), .C(d), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(d), .A2(c), .B(a), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(c), .A2(d), .B(b), .Y(new_n8_));", + "NOR4xp25_ASAP7_75t_R g3(.A(d), .B(c), .C(b), .D(a), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g4(.A1(new_n7_), .A2(new_n6_), .B(new_n9_), .C(new_n8_), .Y(F));" + ] + }, + "out_0117": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(c), .A2(d), .B(b), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(d), .A2(c), .B(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(a), .B(new_n9_), .Y(new_n10_));", + "OAI22xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n6_), .B1(new_n8_), .B2(new_n7_), .Y(F));" + ] + }, + "out_0118": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "AO211x2_ASAP7_75t_R g1(.A1(d), .A2(c), .B(b), .C(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "NAND4xp25_ASAP7_75t_R g4(.A(new_n8_), .B(new_n9_), .C(a), .D(b), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n6_), .A2(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_0119": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "AO211x2_ASAP7_75t_R g0(.A1(d), .A2(c), .B(b), .C(a), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(d), .B(c), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n7_), .B(new_n6_), .Y(F));" + ] + }, + "out_011A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(d), .A2(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(c), .B(new_n10_), .Y(new_n11_));", + "OAI22xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n7_), .B1(new_n6_), .B2(new_n11_), .Y(F));" + ] + }, + "out_011B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n6_));", + "OA31x2_ASAP7_75t_R g1(.A1(b), .A2(c), .A3(a), .B1(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(new_n8_), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n6_), .B(new_n7_), .Y(F));" + ] + }, + "out_011E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND4xp25_ASAP7_75t_R g3(.A(new_n6_), .B(new_n7_), .C(new_n8_), .D(c), .Y(new_n9_));", + "OA21x2_ASAP7_75t_R g4(.A1(b), .A2(a), .B(d), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(d), .A2(b), .A3(a), .B(new_n11_), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n10_), .A2(new_n12_), .B(new_n9_), .Y(F));" + ] + }, + "out_011F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(d), .B(b), .C(a), .Y(new_n8_));", + "AO21x2_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_012C": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(new_n6_), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(b), .B(c), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(c), .B(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(b), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g6(.A(c), .Y(new_n12_));", + "NAND4xp25_ASAP7_75t_R g7(.A(new_n11_), .B(new_n10_), .C(new_n12_), .D(d), .Y(new_n13_));", + "OAI31xp33_ASAP7_75t_R g8(.A1(new_n7_), .A2(new_n8_), .A3(new_n9_), .B(new_n13_), .Y(F));" + ] + }, + "out_012D": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(new_n11_), .B(new_n6_), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(new_n10_), .A2(new_n12_), .B(new_n8_), .Y(F));" + ] + }, + "out_012F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(d), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(c), .B(new_n8_), .Y(F));" + ] + }, + "out_013C": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(d), .A2(b), .B(c), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(new_n7_), .C(new_n6_), .Y(F));" + ] + }, + "out_013D": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "OR3x1_ASAP7_75t_R g1(.A(b), .B(a), .C(c), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(c), .B(b), .Y(new_n8_));", + "OAI31xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n6_), .A3(d), .B(new_n7_), .Y(F));" + ] + }, + "out_013E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(c), .A2(b), .B(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "NAND4xp25_ASAP7_75t_R g5(.A(new_n9_), .B(new_n8_), .C(new_n10_), .D(d), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n7_), .A2(new_n6_), .B(new_n11_), .Y(F));" + ] + }, + "out_013F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(d), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(b), .A2(a), .B(d), .Y(new_n8_));", + "OA21x2_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n7_), .B(new_n8_), .Y(F));" + ] + }, + "out_0168": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "AOI21xp33_ASAP7_75t_R g0(.A1(a), .A2(b), .B(c), .Y(new_n6_));", + "AND3x1_ASAP7_75t_R g1(.A(a), .B(b), .C(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(b), .A2(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(b), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g6(.A(c), .Y(new_n12_));", + "NAND4xp25_ASAP7_75t_R g7(.A(new_n11_), .B(new_n10_), .C(new_n12_), .D(d), .Y(new_n13_));", + "OAI31xp33_ASAP7_75t_R g8(.A1(new_n9_), .A2(new_n7_), .A3(new_n6_), .B(new_n13_), .Y(F));" + ] + }, + "out_0169": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 7.464960", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(c), .Y(new_n8_));", + "OA21x2_ASAP7_75t_R g3(.A1(b), .A2(a), .B(d), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "OR2x4_ASAP7_75t_R g5(.A(b), .B(a), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(a), .B(b), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(new_n11_), .A2(new_n12_), .B(new_n10_), .Y(new_n13_));", + "NOR3xp33_ASAP7_75t_R g8(.A(new_n13_), .B(new_n9_), .C(new_n8_), .Y(F));" + ] + }, + "out_016A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(b), .B(c), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(b), .B(new_n7_), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(c), .A2(d), .B(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "AOI211xp5_ASAP7_75t_R g5(.A1(b), .A2(c), .B(d), .C(new_n10_), .Y(new_n11_));", + "AO21x2_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n8_), .B(new_n11_), .Y(F));" + ] + }, + "out_016B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(c), .A2(b), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(b), .C(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n9_), .A2(new_n10_), .B(a), .Y(new_n11_));", + "AOI22xp33_ASAP7_75t_R g6(.A1(new_n6_), .A2(a), .B1(new_n8_), .B2(new_n11_), .Y(F));" + ] + }, + "out_016E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.199040", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "AND3x1_ASAP7_75t_R g0(.A(a), .B(b), .C(c), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(b), .A2(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(d), .B(new_n10_), .Y(new_n11_));", + "OAI22xp33_ASAP7_75t_R g6(.A1(new_n6_), .A2(new_n9_), .B1(new_n7_), .B2(new_n11_), .Y(F));" + ] + }, + "out_016F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(b), .A2(a), .B(d), .Y(new_n6_));", + "XNOR2x2_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(c), .B(new_n6_), .Y(F));" + ] + }, + "out_017E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "AND3x1_ASAP7_75t_R g0(.A(a), .B(b), .C(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OAI31xp33_ASAP7_75t_R g2(.A1(b), .A2(c), .A3(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(b), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "NAND4xp25_ASAP7_75t_R g6(.A(new_n10_), .B(new_n9_), .C(new_n11_), .D(d), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n6_), .A2(new_n8_), .B(new_n12_), .Y(F));" + ] + }, + "out_017F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(a), .A2(b), .B(d), .Y(new_n8_));", + "AO21x2_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n7_), .B(new_n8_), .Y(F));" + ] + }, + "out_0180": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.199040", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NAND4xp25_ASAP7_75t_R g1(.A(new_n6_), .B(a), .C(b), .D(c), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(d), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n8_), .A2(new_n10_), .B(new_n7_), .Y(F));" + ] + }, + "out_0181": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.265920", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "NAND2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(c), .B(new_n7_), .Y(new_n8_));", + "OR3x1_ASAP7_75t_R g3(.A(b), .B(a), .C(c), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n6_), .A2(new_n8_), .B(new_n9_), .Y(F));" + ] + }, + "out_0182": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.598720", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(b), .B(c), .Y(new_n10_));", + "NAND3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n9_), .C(d), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n8_), .A2(new_n6_), .B(new_n11_), .Y(F));" + ] + }, + "out_0183": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(c), .A2(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(b), .B(new_n9_), .Y(new_n10_));", + "NOR2xp33_ASAP7_75t_R g5(.A(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_0186": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.965760", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(a), .A2(b), .B(new_n6_), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(b), .A2(a), .B(new_n10_), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(a), .B(b), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n6_), .C(d), .Y(new_n13_));", + "OAI31xp33_ASAP7_75t_R g8(.A1(new_n9_), .A2(new_n11_), .A3(new_n7_), .B(new_n13_), .Y(F));" + ] + }, + "out_0187": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.265920", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "NAND2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "NOR3xp33_ASAP7_75t_R g1(.A(new_n6_), .B(d), .C(c), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(d), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "AOI31xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(a), .A3(b), .B(new_n9_), .Y(new_n11_));", + "NOR3xp33_ASAP7_75t_R g6(.A(new_n7_), .B(new_n11_), .C(new_n8_), .Y(F));" + ] + }, + "out_0189": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_", + "gates": [ + "OR3x1_ASAP7_75t_R g0(.A(b), .B(a), .C(c), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(d), .B(new_n6_), .Y(F));" + ] + }, + "out_018B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(d), .B(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "NOR3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n8_), .C(new_n6_), .Y(F));" + ] + }, + "out_018F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_", + "gates": [ + "NAND2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(c), .A2(new_n6_), .B(new_n7_), .Y(F));" + ] + }, + "out_0196": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n8_), .B(new_n6_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n6_), .A2(new_n7_), .B(new_n10_), .Y(new_n11_));", + "OR2x4_ASAP7_75t_R g6(.A(b), .B(a), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(a), .B(b), .Y(new_n13_));", + "AOI211xp5_ASAP7_75t_R g8(.A1(new_n13_), .A2(new_n12_), .B(d), .C(c), .Y(new_n14_));", + "AOI21xp33_ASAP7_75t_R g9(.A1(new_n9_), .A2(new_n11_), .B(new_n14_), .Y(F));" + ] + }, + "out_0197": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.598720", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(new_n7_), .C(new_n6_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(a), .B(b), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(c), .A2(new_n11_), .B(new_n10_), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n7_), .B(new_n6_), .C(d), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g8(.A1(new_n12_), .A2(new_n9_), .B(new_n13_), .Y(F));" + ] + }, + "out_0198": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(c), .B(new_n6_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n7_), .B(new_n9_), .C(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(d), .A2(new_n8_), .B(new_n10_), .Y(F));" + ] + }, + "out_0199": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(c), .A2(a), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(b), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(a), .B(new_n9_), .Y(new_n10_));", + "NOR3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n8_), .C(new_n6_), .Y(F));" + ] + }, + "out_019A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI211xp5_ASAP7_75t_R g4(.A1(b), .A2(new_n8_), .B(a), .C(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n7_), .A2(new_n6_), .B(new_n10_), .Y(F));" + ] + }, + "out_019B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(a), .B(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n9_), .A2(a), .B(new_n10_), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(new_n8_), .B(new_n11_), .Y(F));" + ] + }, + "out_019E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "NAND2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(c), .A2(new_n6_), .B(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(c), .B(d), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(new_n9_), .B(new_n8_), .Y(new_n10_));", + "NOR4xp25_ASAP7_75t_R g5(.A(d), .B(c), .C(b), .D(a), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n7_), .A2(new_n10_), .B(new_n11_), .Y(F));" + ] + }, + "out_019F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "OAI31xp33_ASAP7_75t_R g0(.A1(b), .A2(c), .A3(a), .B(d), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(b), .A2(a), .B(c), .Y(new_n8_));", + "OA21x2_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n7_), .B(new_n6_), .Y(F));" + ] + }, + "out_01A8": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(c), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OAI211xp5_ASAP7_75t_R g2(.A1(c), .A2(b), .B(new_n7_), .C(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(d), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_01A9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.265920", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "OR3x1_ASAP7_75t_R g3(.A(b), .B(a), .C(c), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n6_), .A2(new_n8_), .B(new_n9_), .Y(F));" + ] + }, + "out_01AA": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(d), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n8_), .A2(new_n10_), .B(new_n7_), .Y(F));" + ] + }, + "out_01AB": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "AO22x1_ASAP7_75t_R g3(.A1(a), .A2(new_n7_), .B1(new_n6_), .B2(new_n8_), .Y(F));" + ] + }, + "out_01AC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(c), .B(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(d), .B(new_n11_), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n7_), .A2(new_n10_), .B1(new_n8_), .B2(new_n12_), .Y(F));" + ] + }, + "out_01AD": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(a), .A2(new_n7_), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "NOR3xp33_ASAP7_75t_R g6(.A(new_n11_), .B(c), .C(b), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(new_n10_), .A2(new_n8_), .B(new_n12_), .Y(F));" + ] + }, + "out_01AE": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR3xp33_ASAP7_75t_R g1(.A(d), .B(b), .C(a), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(d), .Y(new_n8_));", + "AOI211xp5_ASAP7_75t_R g3(.A1(new_n6_), .A2(c), .B(new_n7_), .C(new_n8_), .Y(F));" + ] + }, + "out_01AF": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(c), .B(new_n7_), .Y(F));" + ] + }, + "out_01BC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "NAND4xp25_ASAP7_75t_R g6(.A(new_n6_), .B(new_n11_), .C(new_n7_), .D(d), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n10_), .A2(new_n8_), .B(new_n12_), .Y(F));" + ] + }, + "out_01BD": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(c), .A2(b), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(new_n7_), .C(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "NOR3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(c), .C(b), .Y(new_n11_));", + "NOR3xp33_ASAP7_75t_R g6(.A(new_n9_), .B(new_n11_), .C(new_n6_), .Y(F));" + ] + }, + "out_01BE": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI31xp33_ASAP7_75t_R g1(.A1(b), .A2(c), .A3(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "NAND4xp25_ASAP7_75t_R g5(.A(new_n9_), .B(new_n8_), .C(new_n10_), .D(d), .Y(new_n11_));", + "NOR3xp33_ASAP7_75t_R g6(.A(new_n10_), .B(new_n9_), .C(a), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(new_n11_), .A2(new_n7_), .B(new_n12_), .Y(F));" + ] + }, + "out_01BF": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g1(.A(d), .B(c), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(c), .A2(a), .B(d), .Y(new_n8_));", + "AOI31xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(b), .A3(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_01E8": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(c), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(c), .A2(new_n6_), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(d), .A2(b), .B(new_n9_), .Y(new_n10_));", + "OAI211xp5_ASAP7_75t_R g5(.A1(c), .A2(b), .B(new_n6_), .C(a), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(new_n8_), .B(new_n11_), .Y(F));" + ] + }, + "out_01E9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "AOI21xp33_ASAP7_75t_R g0(.A1(a), .A2(b), .B(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "OR3x1_ASAP7_75t_R g2(.A(b), .B(a), .C(c), .Y(new_n8_));", + "OAI31xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n7_), .A3(d), .B(new_n8_), .Y(F));" + ] + }, + "out_01EA": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "AOI21xp33_ASAP7_75t_R g0(.A1(b), .A2(c), .B(a), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(d), .B(new_n8_), .Y(new_n9_));", + "OAI22xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n7_), .B1(new_n6_), .B2(d), .Y(F));" + ] + }, + "out_01EB": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "wires": "new_n6_, new_n7_", + "gates": [ + "AOI21xp33_ASAP7_75t_R g0(.A1(b), .A2(c), .B(a), .Y(new_n6_));", + "OR3x1_ASAP7_75t_R g1(.A(b), .B(a), .C(c), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(d), .B(new_n7_), .Y(F));" + ] + }, + "out_01EE": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(d), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(b), .A2(a), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n6_), .A2(new_n8_), .B(new_n10_), .Y(F));" + ] + }, + "out_01EF": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(c), .A2(new_n6_), .B(new_n7_), .Y(F));" + ] + }, + "out_01FE": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI31xp33_ASAP7_75t_R g1(.A1(b), .A2(c), .A3(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "NAND4xp25_ASAP7_75t_R g5(.A(new_n9_), .B(new_n8_), .C(new_n10_), .D(d), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(new_n7_), .B(new_n11_), .Y(F));" + ] + }, + "out_03": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(b), .B(c), .Y(F));" + ] + }, + "out_033C": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(new_n7_), .C(b), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(b), .A2(new_n6_), .B(new_n9_), .Y(F));" + ] + }, + "out_033D": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.199040", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(b), .B(new_n7_), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(d), .B(c), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(b), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(d), .A2(c), .B(new_n10_), .Y(new_n11_));", + "OAI22xp33_ASAP7_75t_R g6(.A1(new_n8_), .A2(new_n6_), .B1(new_n9_), .B2(new_n11_), .Y(F));" + ] + }, + "out_033F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.632960", + "gates": [ + "MAJIxp5_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .Y(F));" + ] + }, + "out_0356": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_", + "gates": [ + "OA22x2_ASAP7_75t_R g0(.A1(c), .A2(b), .B1(a), .B2(d), .Y(new_n6_));", + "NOR4xp25_ASAP7_75t_R g1(.A(d), .B(c), .C(b), .D(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .Y(F));" + ] + }, + "out_0357": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "gates": [ + "OAI22xp33_ASAP7_75t_R g0(.A1(b), .A2(c), .B1(d), .B2(a), .Y(F));" + ] + }, + "out_0358": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(a), .A2(b), .B(d), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(b), .A2(d), .B(c), .Y(new_n8_));", + "OAI32xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(a), .A3(d), .B1(new_n7_), .B2(new_n8_), .Y(F));" + ] + }, + "out_0359": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR3xp33_ASAP7_75t_R g1(.A(new_n6_), .B(d), .C(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(a), .B(new_n8_), .Y(new_n10_));", + "NAND3xp33_ASAP7_75t_R g5(.A(new_n9_), .B(new_n6_), .C(c), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(new_n7_), .A3(c), .B(new_n11_), .Y(F));" + ] + }, + "out_035A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(d), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(c), .B(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(c), .A2(a), .B(new_n10_), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n11_), .B(new_n8_), .Y(F));" + ] + }, + "out_035B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.199040", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(c), .B(b), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(c), .B(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(c), .Y(new_n8_));", + "OAI31xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n8_), .A3(d), .B(new_n6_), .Y(F));" + ] + }, + "out_035E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NOR3xp33_ASAP7_75t_R g1(.A(c), .B(b), .C(a), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(c), .A2(a), .B(d), .Y(new_n8_));", + "OAI32xp33_ASAP7_75t_R g3(.A1(c), .A2(b), .A3(new_n6_), .B1(new_n7_), .B2(new_n8_), .Y(F));" + ] + }, + "out_035F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(c), .A2(a), .B(d), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(c), .A2(b), .B(new_n6_), .Y(F));" + ] + }, + "out_0368": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g1(.A(c), .B(b), .Y(new_n7_));", + "MAJIxp5_ASAP7_75t_R g2(.A(c), .B(b), .C(a), .Y(new_n8_));", + "AO31x2_ASAP7_75t_R g3(.A1(a), .A2(b), .A3(c), .B(d), .Y(new_n9_));", + "AOI22xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n7_), .B1(new_n6_), .B2(new_n8_), .Y(F));" + ] + }, + "out_0369": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.531840", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g01(.A(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g02(.A(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g03(.A(b), .B(new_n8_), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g04(.A1(new_n9_), .A2(new_n7_), .B(d), .C(c), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g05(.A(d), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g06(.A(new_n6_), .B(new_n11_), .Y(new_n12_));", + "INVx1_ASAP7_75t_R g07(.A(c), .Y(new_n13_));", + "XOR2x2_ASAP7_75t_R g08(.A(a), .B(b), .Y(new_n14_));", + "AOI21xp33_ASAP7_75t_R g09(.A1(new_n14_), .A2(new_n11_), .B(new_n13_), .Y(new_n15_));", + "NOR3xp33_ASAP7_75t_R g10(.A(new_n15_), .B(new_n10_), .C(new_n12_), .Y(F));" + ] + }, + "out_036A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(b), .A2(c), .B(a), .Y(new_n7_));", + "AO31x2_ASAP7_75t_R g2(.A1(a), .A2(b), .A3(c), .B(d), .Y(new_n8_));", + "OR2x4_ASAP7_75t_R g3(.A(c), .B(b), .Y(new_n9_));", + "OAI22xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n7_), .B1(new_n6_), .B2(new_n9_), .Y(F));" + ] + }, + "out_036B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.199040", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(a), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "NAND4xp25_ASAP7_75t_R g6(.A(new_n11_), .B(new_n9_), .C(b), .D(c), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(new_n6_), .B(new_n7_), .Y(new_n13_));", + "OAI211xp5_ASAP7_75t_R g8(.A1(new_n10_), .A2(new_n8_), .B(new_n12_), .C(new_n13_), .Y(F));" + ] + }, + "out_036C": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(c), .A2(a), .B(d), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(d), .A2(c), .B(b), .Y(new_n7_));", + "AOI211xp5_ASAP7_75t_R g2(.A1(a), .A2(c), .B(b), .C(d), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n7_), .B(new_n8_), .Y(F));" + ] + }, + "out_036D": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(c), .A2(b), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(a), .C(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n9_), .B(b), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n10_), .B(d), .Y(new_n12_));", + "AOI31xp33_ASAP7_75t_R g7(.A1(new_n12_), .A2(new_n11_), .A3(new_n8_), .B(new_n6_), .Y(F));" + ] + }, + "out_036E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(d), .B(b), .C(a), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(c), .A2(b), .B(d), .Y(new_n7_));", + "AND3x1_ASAP7_75t_R g2(.A(a), .B(b), .C(c), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(new_n7_), .C(new_n6_), .Y(F));" + ] + }, + "out_036F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(b), .A2(d), .B(c), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "OAI31xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n8_), .A3(d), .B(new_n6_), .Y(F));" + ] + }, + "out_037C": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .Y(new_n6_));", + "AND3x1_ASAP7_75t_R g1(.A(a), .B(b), .C(c), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(c), .A2(b), .B(d), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n7_), .B(new_n8_), .C(new_n6_), .Y(F));" + ] + }, + "out_037D": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(c), .A2(b), .B(d), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(d), .B(c), .C(b), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(b), .A2(c), .B(new_n8_), .Y(new_n9_));", + "OA21x2_ASAP7_75t_R g4(.A1(new_n6_), .A2(new_n9_), .B(new_n7_), .Y(F));" + ] + }, + "out_037E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.965760", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR4xp25_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .D(a), .Y(new_n6_));", + "AND3x1_ASAP7_75t_R g1(.A(a), .B(b), .C(c), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(c), .A2(b), .B(d), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n6_), .B(new_n7_), .C(new_n8_), .Y(F));" + ] + }, + "out_03C0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g1(.A(c), .B(b), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n6_), .B(b), .C(c), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_03C1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.965760", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(d), .B(new_n6_), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(c), .B(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n9_), .B(b), .C(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n8_), .A2(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_03C3": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(c), .B(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(b), .B(c), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(d), .B(new_n6_), .Y(F));" + ] + }, + "out_03C5": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.965760", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR3xp33_ASAP7_75t_R g1(.A(new_n6_), .B(d), .C(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(b), .B(new_n8_), .Y(new_n9_));", + "OR2x4_ASAP7_75t_R g4(.A(c), .B(b), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n9_), .A2(new_n10_), .B(new_n7_), .Y(F));" + ] + }, + "out_03C6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(a), .A2(new_n6_), .B(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(a), .B(d), .Y(new_n9_));", + "OA21x2_ASAP7_75t_R g4(.A1(c), .A2(new_n9_), .B(new_n8_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(b), .A2(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_03C7": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(new_n8_), .B(new_n9_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(b), .B(new_n7_), .Y(F));" + ] + }, + "out_03CF": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(c), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(new_n6_), .A2(b), .B(new_n7_), .Y(F));" + ] + }, + "out_03D4": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OAI211xp5_ASAP7_75t_R g2(.A1(b), .A2(c), .B(new_n6_), .C(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "NAND3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n9_), .C(d), .Y(new_n11_));", + "NAND3xp33_ASAP7_75t_R g6(.A(new_n7_), .B(b), .C(c), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n8_), .B(new_n11_), .C(new_n12_), .Y(F));" + ] + }, + "out_03D5": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(b), .A2(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n9_), .B(new_n8_), .C(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(d), .A2(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_03D6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NAND3xp33_ASAP7_75t_R g1(.A(new_n6_), .B(b), .C(c), .Y(new_n7_));", + "OA22x2_ASAP7_75t_R g2(.A1(c), .A2(b), .B1(a), .B2(d), .Y(new_n8_));", + "NOR4xp25_ASAP7_75t_R g3(.A(d), .B(c), .C(b), .D(a), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n8_), .B(new_n7_), .Y(F));" + ] + }, + "out_03D7": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(c), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(b), .A2(c), .B(new_n7_), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(d), .A2(new_n8_), .B(new_n6_), .Y(F));" + ] + }, + "out_03D8": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(c), .A2(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(b), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "NAND3xp33_ASAP7_75t_R g6(.A(new_n11_), .B(new_n10_), .C(d), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n9_), .A2(new_n7_), .B(new_n12_), .Y(F));" + ] + }, + "out_03D9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(c), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(c), .A2(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NOR3xp33_ASAP7_75t_R g4(.A(new_n9_), .B(d), .C(b), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n6_), .A2(new_n8_), .B(new_n10_), .Y(F));" + ] + }, + "out_03DB": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(c), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(b), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(a), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n8_), .B(new_n6_), .Y(F));" + ] + }, + "out_03DC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(c), .A2(b), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(c), .B(new_n7_), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(b), .B(d), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n9_), .B(new_n6_), .Y(F));" + ] + }, + "out_03DD": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(c), .A2(b), .B(d), .Y(new_n8_));", + "AOI31xp33_ASAP7_75t_R g3(.A1(a), .A2(new_n7_), .A3(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_03DE": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "OAI211xp5_ASAP7_75t_R g2(.A1(a), .A2(d), .B(new_n6_), .C(new_n7_), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(b), .B(c), .Y(new_n9_));", + "AO211x2_ASAP7_75t_R g4(.A1(new_n6_), .A2(a), .B(d), .C(new_n9_), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(new_n8_), .B(new_n10_), .Y(F));" + ] + }, + "out_03FC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(c), .A2(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n9_), .B(new_n8_), .C(d), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_06": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n5_, new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n5_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n5_), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g3(.A(b), .B(new_n7_), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n6_), .A2(new_n8_), .B(c), .Y(F));" + ] + }, + "out_0660": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(b), .B(new_n8_), .Y(new_n9_));", + "XNOR2x2_ASAP7_75t_R g4(.A(c), .B(d), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n7_), .A2(new_n9_), .B(new_n10_), .Y(F));" + ] + }, + "out_0661": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(new_n9_), .B(new_n10_), .Y(new_n11_));", + "OAI22xp33_ASAP7_75t_R g6(.A1(new_n6_), .A2(new_n7_), .B1(d), .B2(c), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n10_), .A2(new_n9_), .B1(b), .B2(a), .Y(new_n13_));", + "AOI22xp33_ASAP7_75t_R g8(.A1(new_n8_), .A2(new_n12_), .B1(new_n11_), .B2(new_n13_), .Y(F));" + ] + }, + "out_0662": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(d), .A2(c), .B(b), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(d), .B(c), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(b), .B(a), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g4(.A1(new_n6_), .A2(new_n7_), .B(new_n9_), .C(new_n8_), .Y(F));" + ] + }, + "out_0663": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.531840", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "XNOR2x2_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "OR3x1_ASAP7_75t_R g2(.A(c), .B(b), .C(d), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n6_), .B(new_n8_), .Y(F));" + ] + }, + "out_0666": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.265920", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n8_), .A2(new_n10_), .B(new_n6_), .Y(F));" + ] + }, + "out_0667": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "AO22x1_ASAP7_75t_R g2(.A1(d), .A2(c), .B1(a), .B2(b), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n7_), .B(new_n8_), .Y(F));" + ] + }, + "out_0669": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 9.097920", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(b), .B(new_n10_), .Y(new_n11_));", + "NAND3xp33_ASAP7_75t_R g6(.A(new_n11_), .B(new_n9_), .C(new_n7_), .Y(new_n12_));", + "XNOR2x2_ASAP7_75t_R g7(.A(c), .B(d), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g8(.A1(new_n13_), .A2(new_n6_), .B(new_n12_), .Y(F));" + ] + }, + "out_066B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.065280", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(a), .B(new_n7_), .Y(new_n8_));", + "XNOR2x2_ASAP7_75t_R g3(.A(a), .B(b), .Y(new_n9_));", + "XNOR2x2_ASAP7_75t_R g4(.A(c), .B(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n9_), .B(new_n8_), .Y(F));" + ] + }, + "out_066F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.598720", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(d), .B(c), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(a), .B(b), .Y(new_n9_));", + "OAI31xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n7_), .A3(new_n9_), .B(new_n6_), .Y(F));" + ] + }, + "out_0672": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(d), .A2(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(b), .A2(a), .B(new_n10_), .Y(new_n11_));", + "AOI22xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n11_), .B1(new_n7_), .B2(b), .Y(F));" + ] + }, + "out_0673": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(d), .A2(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(b), .A2(a), .B(new_n8_), .Y(new_n9_));", + "AOI22xp33_ASAP7_75t_R g4(.A1(b), .A2(new_n7_), .B1(d), .B2(new_n9_), .Y(F));" + ] + }, + "out_0676": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(d), .B(c), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(new_n7_), .C(new_n6_), .Y(F));" + ] + }, + "out_0678": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "OA21x2_ASAP7_75t_R g0(.A1(b), .A2(a), .B(c), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(a), .A2(b), .B(c), .Y(new_n7_));", + "XNOR2x2_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "XNOR2x2_ASAP7_75t_R g3(.A(c), .B(d), .Y(new_n9_));", + "OAI32xp33_ASAP7_75t_R g4(.A1(d), .A2(new_n6_), .A3(new_n7_), .B1(new_n9_), .B2(new_n8_), .Y(F));" + ] + }, + "out_0679": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 7.931520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "AOI21xp33_ASAP7_75t_R g1(.A1(b), .A2(c), .B(d), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(b), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n9_), .B(new_n7_), .Y(new_n10_));", + "XNOR2x2_ASAP7_75t_R g5(.A(c), .B(d), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n11_), .A2(new_n6_), .B(new_n10_), .Y(F));" + ] + }, + "out_067A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(b), .A2(a), .B(d), .Y(new_n6_));", + "AND3x1_ASAP7_75t_R g1(.A(a), .B(b), .C(d), .Y(new_n7_));", + "AOI211xp5_ASAP7_75t_R g2(.A1(b), .A2(d), .B(c), .C(a), .Y(new_n8_));", + "AOI211xp5_ASAP7_75t_R g3(.A1(c), .A2(new_n6_), .B(new_n8_), .C(new_n7_), .Y(F));" + ] + }, + "out_067B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.065280", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "XNOR2x2_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(a), .B(c), .Y(new_n10_));", + "OAI211xp5_ASAP7_75t_R g5(.A1(a), .A2(new_n8_), .B(new_n10_), .C(new_n9_), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n7_), .A2(new_n6_), .B(new_n11_), .Y(F));" + ] + }, + "out_067E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(b), .A2(a), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n7_), .B(c), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(b), .A2(a), .B(new_n10_), .Y(new_n11_));", + "AOI22xp33_ASAP7_75t_R g6(.A1(new_n6_), .A2(d), .B1(new_n11_), .B2(new_n9_), .Y(F));" + ] + }, + "out_0690": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 7.464960", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(d), .B(new_n11_), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n8_), .C(new_n10_), .Y(new_n13_));", + "NAND2xp33_ASAP7_75t_R g8(.A(d), .B(new_n11_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g9(.A1(new_n14_), .A2(new_n6_), .B(new_n13_), .Y(F));" + ] + }, + "out_0691": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(d), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g01(.A(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g02(.A(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g03(.A(d), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g04(.A(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g05(.A(c), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g06(.A1(new_n11_), .A2(b), .B(new_n10_), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g07(.A1(new_n9_), .A2(new_n7_), .B(new_n12_), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g08(.A1(c), .A2(new_n8_), .B(d), .Y(new_n14_));", + "AOI21xp33_ASAP7_75t_R g09(.A1(new_n6_), .A2(b), .B(a), .Y(new_n15_));", + "NAND2xp33_ASAP7_75t_R g10(.A(new_n14_), .B(new_n15_), .Y(new_n16_));", + "NAND2xp33_ASAP7_75t_R g11(.A(new_n16_), .B(new_n13_), .Y(F));" + ] + }, + "out_0693": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(d), .A2(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(c), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(a), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "AND2x2_ASAP7_75t_R g6(.A(c), .B(a), .Y(new_n12_));", + "AOI211xp5_ASAP7_75t_R g7(.A1(new_n11_), .A2(d), .B(new_n6_), .C(new_n12_), .Y(new_n13_));", + "AOI21xp33_ASAP7_75t_R g8(.A1(new_n7_), .A2(new_n10_), .B(new_n13_), .Y(F));" + ] + }, + "out_0696": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.531840", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(d), .B(new_n11_), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n8_), .C(new_n10_), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g8(.A1(new_n6_), .A2(c), .B(new_n13_), .Y(F));" + ] + }, + "out_0697": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(a), .A2(new_n7_), .B(d), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(b), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(a), .B(new_n11_), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n12_), .A2(new_n10_), .B(new_n7_), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g8(.A1(new_n8_), .A2(new_n6_), .B(new_n13_), .Y(F));" + ] + }, + "out_069F": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(b), .B(new_n10_), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n11_), .B(new_n7_), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(d), .A2(new_n6_), .B(new_n12_), .Y(F));" + ] + }, + "out_06B0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(d), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "OAI211xp5_ASAP7_75t_R g5(.A1(a), .A2(new_n9_), .B(new_n10_), .C(c), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n8_), .A2(new_n6_), .B(new_n11_), .Y(F));" + ] + }, + "out_06B1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(d), .A2(new_n6_), .B(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(d), .B(b), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n7_), .B(new_n11_), .Y(new_n12_));", + "NOR2xp33_ASAP7_75t_R g7(.A(a), .B(new_n9_), .Y(new_n13_));", + "NAND2xp33_ASAP7_75t_R g8(.A(b), .B(new_n7_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g9(.A1(new_n13_), .A2(new_n14_), .B(new_n12_), .Y(F));" + ] + }, + "out_06B2": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "NAND2xp33_ASAP7_75t_R g0(.A(b), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(c), .B(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(c), .B(d), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(a), .B(b), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(c), .A2(new_n10_), .B(new_n9_), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n6_), .A2(new_n8_), .B(new_n11_), .Y(F));" + ] + }, + "out_06B3": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(a), .B(new_n9_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n8_), .A2(b), .B(new_n9_), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(a), .B(d), .Y(new_n12_));", + "OAI32xp33_ASAP7_75t_R g7(.A1(new_n11_), .A2(new_n7_), .A3(new_n12_), .B1(b), .B2(new_n10_), .Y(F));" + ] + }, + "out_06B4": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(d), .B(new_n6_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(b), .A2(a), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(d), .Y(new_n11_));", + "OAI211xp5_ASAP7_75t_R g6(.A1(a), .A2(new_n7_), .B(new_n11_), .C(c), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n10_), .A2(new_n8_), .B(new_n12_), .Y(F));" + ] + }, + "out_06B5": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NOR3xp33_ASAP7_75t_R g1(.A(new_n6_), .B(b), .C(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(d), .B(new_n8_), .Y(new_n10_));", + "OAI211xp5_ASAP7_75t_R g5(.A1(a), .A2(new_n9_), .B(new_n6_), .C(c), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(new_n7_), .A3(c), .B(new_n11_), .Y(F));" + ] + }, + "out_06B6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "OAI211xp5_ASAP7_75t_R g3(.A1(a), .A2(new_n7_), .B(new_n8_), .C(c), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(new_n6_), .B(new_n9_), .Y(F));" + ] + }, + "out_06B7": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(a), .A2(new_n8_), .B(new_n9_), .Y(new_n10_));", + "OAI22xp33_ASAP7_75t_R g5(.A1(a), .A2(new_n9_), .B1(c), .B2(new_n8_), .Y(new_n11_));", + "AOI22xp33_ASAP7_75t_R g6(.A1(c), .A2(new_n10_), .B1(new_n7_), .B2(new_n11_), .Y(F));" + ] + }, + "out_06B9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g02(.A(b), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g03(.A(b), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g04(.A(a), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g05(.A1(new_n10_), .A2(new_n8_), .B(new_n6_), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g06(.A(a), .B(new_n9_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g07(.A(b), .B(new_n7_), .Y(new_n13_));", + "AOI211xp5_ASAP7_75t_R g08(.A1(new_n13_), .A2(new_n12_), .B(d), .C(c), .Y(new_n14_));", + "AO21x2_ASAP7_75t_R g09(.A1(b), .A2(new_n7_), .B(d), .Y(new_n15_));", + "AOI21xp33_ASAP7_75t_R g10(.A1(new_n15_), .A2(new_n11_), .B(new_n14_), .Y(F));" + ] + }, + "out_06BD": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(a), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(a), .B(new_n6_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(d), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(b), .B(new_n11_), .Y(new_n12_));", + "NOR4xp25_ASAP7_75t_R g7(.A(new_n10_), .B(b), .C(c), .D(d), .Y(new_n13_));", + "AOI221xp5_ASAP7_75t_R g8(.A1(new_n9_), .A2(c), .B1(new_n12_), .B2(new_n8_), .C(new_n13_), .Y(F));" + ] + }, + "out_06F0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(c), .Y(new_n8_));", + "AOI22xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n7_), .B1(d), .B2(new_n8_), .Y(F));" + ] + }, + "out_06F1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(new_n6_), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(a), .B(b), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g4(.A1(d), .A2(new_n8_), .B(new_n9_), .C(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(d), .A2(new_n7_), .B(new_n10_), .Y(F));" + ] + }, + "out_06F2": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(b), .C(d), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(a), .B(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n8_), .B(new_n6_), .Y(F));" + ] + }, + "out_06F6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(b), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(a), .B(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n8_), .B(new_n6_), .Y(F));" + ] + }, + "out_06F9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 7.231680", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "OR2x4_ASAP7_75t_R g5(.A(d), .B(c), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(c), .B(d), .Y(new_n12_));", + "AOI22xp33_ASAP7_75t_R g7(.A1(new_n11_), .A2(new_n12_), .B1(new_n10_), .B2(new_n8_), .Y(new_n13_));", + "AOI21xp33_ASAP7_75t_R g8(.A1(d), .A2(new_n6_), .B(new_n13_), .Y(F));" + ] + }, + "out_07": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "gates": [ + "AOI21xp33_ASAP7_75t_R g0(.A1(a), .A2(b), .B(c), .Y(F));" + ] + }, + "out_0776": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_", + "gates": [ + "NOR4xp25_ASAP7_75t_R g0(.A(d), .B(c), .C(b), .D(a), .Y(new_n6_));", + "AO22x1_ASAP7_75t_R g1(.A1(d), .A2(c), .B1(a), .B2(b), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .Y(F));" + ] + }, + "out_0778": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND4xp25_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .C(a), .D(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(new_n6_), .B(new_n7_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(b), .Y(new_n11_));", + "OAI22xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(new_n11_), .B1(d), .B2(c), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n9_), .A2(new_n12_), .B(new_n8_), .Y(F));" + ] + }, + "out_0779": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(new_n7_), .B(new_n8_), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(new_n7_), .B(new_n8_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g6(.A(b), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n11_), .A2(new_n12_), .B1(d), .B2(c), .Y(new_n13_));", + "OAI22xp33_ASAP7_75t_R g8(.A1(new_n9_), .A2(new_n6_), .B1(new_n10_), .B2(new_n13_), .Y(F));" + ] + }, + "out_077A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.898880", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(a), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(d), .B(c), .Y(new_n9_));", + "AND2x2_ASAP7_75t_R g4(.A(b), .B(a), .Y(new_n10_));", + "NOR2xp33_ASAP7_75t_R g5(.A(c), .B(d), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(new_n11_), .A2(new_n10_), .A3(new_n9_), .B(new_n8_), .Y(F));" + ] + }, + "out_077E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "OAI211xp5_ASAP7_75t_R g3(.A1(b), .A2(a), .B(new_n7_), .C(new_n8_), .Y(new_n9_));", + "AND2x2_ASAP7_75t_R g4(.A(d), .B(c), .Y(new_n10_));", + "AND2x2_ASAP7_75t_R g5(.A(b), .B(a), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(new_n11_), .A3(new_n6_), .B(new_n9_), .Y(F));" + ] + }, + "out_07B0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.199040", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "AND2x2_ASAP7_75t_R g4(.A(b), .B(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(d), .B(new_n11_), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n9_), .A2(new_n7_), .B1(new_n10_), .B2(new_n12_), .Y(F));" + ] + }, + "out_07B1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(d), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(c), .B(d), .Y(new_n10_));", + "OAI31xp33_ASAP7_75t_R g5(.A1(new_n6_), .A2(d), .A3(a), .B(new_n10_), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n7_), .A2(new_n9_), .B(new_n11_), .Y(F));" + ] + }, + "out_07B4": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(new_n6_), .C(b), .Y(new_n8_));", + "AOI22xp33_ASAP7_75t_R g3(.A1(c), .A2(d), .B1(b), .B2(new_n6_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(b), .A2(new_n10_), .B(new_n7_), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(new_n11_), .B(new_n9_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(new_n8_), .B(new_n12_), .Y(F));" + ] + }, + "out_07B5": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(a), .B(c), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(d), .B(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NOR3xp33_ASAP7_75t_R g3(.A(new_n8_), .B(d), .C(c), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g4(.A1(b), .A2(new_n6_), .B(new_n9_), .C(new_n7_), .Y(F));" + ] + }, + "out_07B6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "NOR3xp33_ASAP7_75t_R g0(.A(d), .B(b), .C(a), .Y(new_n6_));", + "AO21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(c), .B(new_n10_), .Y(new_n11_));", + "OAI22xp33_ASAP7_75t_R g6(.A1(new_n9_), .A2(new_n11_), .B1(new_n7_), .B2(new_n6_), .Y(F));" + ] + }, + "out_07BC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(a), .A2(new_n6_), .B(new_n7_), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(a), .A2(b), .B(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(new_n9_), .B(new_n8_), .Y(new_n10_));", + "AO21x2_ASAP7_75t_R g5(.A1(b), .A2(a), .B(c), .Y(new_n11_));", + "OAI211xp5_ASAP7_75t_R g6(.A1(a), .A2(new_n6_), .B(new_n11_), .C(new_n7_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n10_), .Y(F));" + ] + }, + "out_07E0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI211xp5_ASAP7_75t_R g1(.A1(a), .A2(b), .B(new_n6_), .C(c), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(d), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n8_), .B(new_n7_), .Y(F));" + ] + }, + "out_07E1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 7.931520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "XNOR2x2_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "OR3x1_ASAP7_75t_R g2(.A(b), .B(a), .C(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "NAND4xp25_ASAP7_75t_R g4(.A(new_n9_), .B(a), .C(b), .D(c), .Y(new_n10_));", + "OAI211xp5_ASAP7_75t_R g5(.A1(new_n7_), .A2(new_n6_), .B(new_n8_), .C(new_n10_), .Y(F));" + ] + }, + "out_07E2": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(d), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(b), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(a), .B(c), .Y(new_n11_));", + "AOI22xp33_ASAP7_75t_R g6(.A1(new_n7_), .A2(c), .B1(new_n9_), .B2(new_n11_), .Y(F));" + ] + }, + "out_07E3": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(d), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "OAI211xp5_ASAP7_75t_R g4(.A1(a), .A2(b), .B(new_n9_), .C(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(c), .A2(new_n8_), .B(new_n10_), .Y(F));" + ] + }, + "out_07E6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(d), .B(c), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(d), .B(b), .C(a), .Y(new_n8_));", + "AOI311xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(b), .A3(a), .B(new_n8_), .C(new_n7_), .Y(F));" + ] + }, + "out_07E9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(d), .Y(new_n6_));", + "NAND3xp33_ASAP7_75t_R g01(.A(new_n6_), .B(a), .C(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g02(.A(b), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g03(.A(a), .B(new_n6_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g04(.A(c), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g05(.A1(a), .A2(new_n6_), .B(new_n10_), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g06(.A1(new_n8_), .A2(new_n9_), .B(new_n11_), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g07(.A1(b), .A2(a), .B(new_n6_), .Y(new_n13_));", + "INVx1_ASAP7_75t_R g08(.A(a), .Y(new_n14_));", + "AOI21xp33_ASAP7_75t_R g09(.A1(new_n14_), .A2(d), .B(c), .Y(new_n15_));", + "NOR2xp33_ASAP7_75t_R g10(.A(new_n10_), .B(new_n15_), .Y(new_n16_));", + "AOI22xp33_ASAP7_75t_R g11(.A1(new_n7_), .A2(new_n12_), .B1(new_n16_), .B2(new_n13_), .Y(F));" + ] + }, + "out_07F0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n7_), .B(d), .Y(new_n9_));", + "AND2x2_ASAP7_75t_R g4(.A(d), .B(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n9_), .A2(new_n6_), .B(new_n10_), .Y(F));" + ] + }, + "out_07F1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(new_n7_), .B(c), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(a), .B(b), .Y(new_n10_));", + "NAND3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n9_), .C(d), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(d), .A2(new_n8_), .B(new_n11_), .Y(F));" + ] + }, + "out_07F2": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(b), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(d), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(a), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(new_n10_), .A2(new_n8_), .B(new_n6_), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(c), .B(new_n9_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n11_), .Y(F));" + ] + }, + "out_07F8": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n6_), .B(new_n7_), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g4(.A1(a), .A2(b), .B(d), .C(c), .Y(new_n10_));", + "NOR2xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n9_), .Y(F));" + ] + }, + "out_0FF0": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(c), .B(d), .Y(F));" + ] + }, + "out_0f": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(F));" + ] + }, + "out_1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 0.933120", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(F));" + ] + }, + "out_16": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n5_, new_n6_, new_n7_, new_n8_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n5_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g3(.A(new_n7_), .B(new_n6_), .C(a), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(a), .A2(new_n5_), .B(new_n8_), .Y(F));" + ] + }, + "out_1668": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.065280", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "XNOR2x2_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "OAI22xp33_ASAP7_75t_R g4(.A1(d), .A2(new_n9_), .B1(a), .B2(new_n8_), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(a), .B(d), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(c), .A2(b), .B(new_n11_), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n6_), .A2(new_n7_), .B1(new_n12_), .B2(new_n10_), .Y(F));" + ] + }, + "out_1669": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 10.730880", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(d), .B(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "OR2x4_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g3(.A(a), .B(b), .Y(new_n9_));", + "AOI211xp5_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n8_), .B(new_n7_), .C(new_n6_), .Y(new_n10_));", + "XOR2x2_ASAP7_75t_R g5(.A(c), .B(d), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(a), .B(b), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(c), .A2(d), .B(new_n9_), .Y(new_n13_));", + "NOR3xp33_ASAP7_75t_R g8(.A(new_n13_), .B(new_n11_), .C(new_n12_), .Y(new_n14_));", + "NOR2xp33_ASAP7_75t_R g9(.A(new_n10_), .B(new_n14_), .Y(F));" + ] + }, + "out_166A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.365440", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_;", + "gates": [ + "XOR2x2_ASAP7_75t_R g00(.A(c), .B(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(b), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g02(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g03(.A(a), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g04(.A(b), .B(new_n9_), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g05(.A1(new_n10_), .A2(new_n8_), .B(new_n6_), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g06(.A(c), .B(new_n9_), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g07(.A1(new_n9_), .A2(d), .B(new_n12_), .Y(new_n13_));", + "INVx1_ASAP7_75t_R g08(.A(d), .Y(new_n14_));", + "OAI22xp33_ASAP7_75t_R g09(.A1(new_n14_), .A2(c), .B1(a), .B2(new_n7_), .Y(new_n15_));", + "OAI21xp33_ASAP7_75t_R g10(.A1(new_n15_), .A2(new_n13_), .B(new_n11_), .Y(F));" + ] + }, + "out_166B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 7.464960", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(c), .B(d), .Y(new_n6_));", + "XNOR2x2_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(c), .B(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(a), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "NAND4xp25_ASAP7_75t_R g6(.A(new_n11_), .B(new_n8_), .C(d), .D(c), .Y(new_n12_));", + "OAI211xp5_ASAP7_75t_R g7(.A1(new_n7_), .A2(new_n6_), .B(new_n10_), .C(new_n12_), .Y(F));" + ] + }, + "out_166E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "OAI22xp33_ASAP7_75t_R g0(.A1(d), .A2(b), .B1(c), .B2(a), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(d), .B(b), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(c), .B(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "NAND3xp33_ASAP7_75t_R g5(.A(new_n10_), .B(new_n9_), .C(a), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g6(.A(a), .Y(new_n12_));", + "INVx1_ASAP7_75t_R g7(.A(c), .Y(new_n13_));", + "NAND3xp33_ASAP7_75t_R g8(.A(new_n13_), .B(new_n12_), .C(b), .Y(new_n14_));", + "OAI311xp33_ASAP7_75t_R g9(.A1(new_n8_), .A2(new_n7_), .A3(new_n6_), .B1(new_n11_), .C1(new_n14_), .Y(F));" + ] + }, + "out_167E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.832000", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "XNOR2x2_ASAP7_75t_R g2(.A(b), .B(c), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(d), .B(a), .Y(new_n9_));", + "OA21x2_ASAP7_75t_R g4(.A1(d), .A2(a), .B(b), .Y(new_n10_));", + "NOR2xp33_ASAP7_75t_R g5(.A(a), .B(c), .Y(new_n11_));", + "OAI32xp33_ASAP7_75t_R g6(.A1(new_n10_), .A2(new_n7_), .A3(new_n11_), .B1(new_n9_), .B2(new_n8_), .Y(F));" + ] + }, + "out_1681": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.598720", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(d), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g02(.A(new_n7_), .B(c), .C(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g03(.A(c), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g04(.A(d), .B(new_n9_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g05(.A1(new_n10_), .A2(b), .B(new_n8_), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g06(.A(b), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g07(.A(new_n9_), .B(new_n12_), .C(d), .Y(new_n13_));", + "NAND2xp33_ASAP7_75t_R g08(.A(c), .B(new_n7_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g09(.A1(c), .A2(new_n7_), .B(b), .Y(new_n15_));", + "NAND4xp25_ASAP7_75t_R g10(.A(new_n13_), .B(new_n15_), .C(new_n6_), .D(new_n14_), .Y(new_n16_));", + "OAI21xp33_ASAP7_75t_R g11(.A1(new_n6_), .A2(new_n11_), .B(new_n16_), .Y(F));" + ] + }, + "out_1683": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.898880", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(d), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g02(.A(new_n7_), .B(c), .C(a), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g03(.A(c), .B(a), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g04(.A1(new_n9_), .A2(new_n7_), .B(new_n8_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g05(.A(a), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g06(.A(c), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g07(.A(new_n12_), .B(new_n11_), .C(d), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g08(.A1(a), .A2(new_n7_), .B(c), .Y(new_n14_));", + "NAND3xp33_ASAP7_75t_R g09(.A(new_n13_), .B(new_n14_), .C(new_n6_), .Y(new_n15_));", + "OAI21xp33_ASAP7_75t_R g10(.A1(new_n6_), .A2(new_n10_), .B(new_n15_), .Y(F));" + ] + }, + "out_1686": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.765120", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(a), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(a), .B(d), .Y(new_n11_));", + "OA21x2_ASAP7_75t_R g6(.A1(d), .A2(a), .B(c), .Y(new_n12_));", + "NAND4xp25_ASAP7_75t_R g7(.A(new_n8_), .B(new_n10_), .C(new_n12_), .D(new_n11_), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g8(.A1(new_n6_), .A2(c), .B(new_n13_), .Y(F));" + ] + }, + "out_1687": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(b), .C(a), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(b), .B(a), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n7_), .B(new_n8_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g6(.A(b), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n11_), .C(d), .Y(new_n13_));", + "OAI211xp5_ASAP7_75t_R g8(.A1(new_n11_), .A2(new_n12_), .B(new_n13_), .C(new_n6_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g9(.A1(new_n6_), .A2(new_n10_), .B(new_n14_), .Y(F));" + ] + }, + "out_1689": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.598720", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g02(.A(b), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g03(.A(b), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g04(.A(d), .B(new_n9_), .Y(new_n10_));", + "NOR3xp33_ASAP7_75t_R g05(.A(new_n10_), .B(new_n8_), .C(new_n6_), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g06(.A(c), .Y(new_n12_));", + "XNOR2x2_ASAP7_75t_R g07(.A(b), .B(d), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g08(.A1(a), .A2(new_n13_), .B(new_n12_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g09(.A1(b), .A2(new_n7_), .B(new_n6_), .Y(new_n15_));", + "OAI211xp5_ASAP7_75t_R g10(.A1(new_n6_), .A2(new_n10_), .B(new_n15_), .C(c), .Y(new_n16_));", + "OAI21xp33_ASAP7_75t_R g11(.A1(new_n11_), .A2(new_n14_), .B(new_n16_), .Y(F));" + ] + }, + "out_168B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_, new_n17_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(d), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g01(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g02(.A(b), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g03(.A(d), .B(new_n8_), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g04(.A1(new_n7_), .A2(new_n9_), .B(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g05(.A(a), .Y(new_n11_));", + "INVx1_ASAP7_75t_R g06(.A(c), .Y(new_n12_));", + "OAI31xp33_ASAP7_75t_R g07(.A1(new_n6_), .A2(new_n8_), .A3(new_n11_), .B(new_n12_), .Y(new_n13_));", + "NOR2xp33_ASAP7_75t_R g08(.A(b), .B(new_n6_), .Y(new_n14_));", + "NOR2xp33_ASAP7_75t_R g09(.A(new_n11_), .B(new_n8_), .Y(new_n15_));", + "AOI21xp33_ASAP7_75t_R g10(.A1(d), .A2(a), .B(new_n12_), .Y(new_n16_));", + "OAI21xp33_ASAP7_75t_R g11(.A1(new_n14_), .A2(new_n15_), .B(new_n16_), .Y(new_n17_));", + "OAI21xp33_ASAP7_75t_R g12(.A1(new_n13_), .A2(new_n10_), .B(new_n17_), .Y(F));" + ] + }, + "out_168E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.399680", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(b), .A2(a), .B(d), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(a), .A2(b), .B(d), .Y(new_n8_));", + "AND3x1_ASAP7_75t_R g3(.A(a), .B(b), .C(d), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(b), .A2(a), .B(new_n6_), .Y(new_n10_));", + "OAI32xp33_ASAP7_75t_R g5(.A1(new_n7_), .A2(new_n6_), .A3(new_n8_), .B1(new_n9_), .B2(new_n10_), .Y(F));" + ] + }, + "out_1696": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.598720", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(c), .B(new_n7_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(b), .A2(d), .B(new_n11_), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n8_), .C(new_n10_), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g8(.A1(new_n6_), .A2(a), .B(new_n13_), .Y(F));" + ] + }, + "out_1697": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.132160", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_;", + "gates": [ + "NAND2xp33_ASAP7_75t_R g00(.A(a), .B(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g02(.A(b), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g03(.A1(new_n7_), .A2(new_n8_), .B(c), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g04(.A(c), .Y(new_n10_));", + "NOR3xp33_ASAP7_75t_R g05(.A(new_n10_), .B(b), .C(a), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g06(.A1(new_n11_), .A2(new_n9_), .B(new_n6_), .Y(new_n12_));", + "INVx1_ASAP7_75t_R g07(.A(d), .Y(new_n13_));", + "OAI21xp33_ASAP7_75t_R g08(.A1(b), .A2(a), .B(new_n10_), .Y(new_n14_));", + "NAND2xp33_ASAP7_75t_R g09(.A(c), .B(new_n6_), .Y(new_n15_));", + "NAND3xp33_ASAP7_75t_R g10(.A(new_n15_), .B(new_n13_), .C(new_n14_), .Y(new_n16_));", + "NAND2xp33_ASAP7_75t_R g11(.A(new_n16_), .B(new_n12_), .Y(F));" + ] + }, + "out_1698": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "AOI21xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(d), .B(new_n6_), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(c), .A2(b), .B(new_n9_), .Y(new_n10_));", + "OA21x2_ASAP7_75t_R g5(.A1(c), .A2(b), .B(d), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(d), .A2(b), .B(a), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n8_), .A2(new_n10_), .B1(new_n12_), .B2(new_n11_), .Y(F));" + ] + }, + "out_1699": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.065280", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(b), .B(a), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "AOI211xp5_ASAP7_75t_R g3(.A1(new_n6_), .A2(d), .B(new_n8_), .C(new_n7_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(a), .B(b), .Y(new_n11_));", + "OR2x4_ASAP7_75t_R g6(.A(b), .B(a), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(a), .A2(b), .B(new_n6_), .Y(new_n13_));", + "AOI211xp5_ASAP7_75t_R g8(.A1(new_n12_), .A2(new_n11_), .B(new_n10_), .C(new_n13_), .Y(new_n14_));", + "NOR2xp33_ASAP7_75t_R g9(.A(new_n9_), .B(new_n14_), .Y(F));" + ] + }, + "out_169A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(a), .B(c), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(c), .A2(a), .B(d), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(d), .A2(a), .B(b), .Y(new_n8_));", + "AND2x2_ASAP7_75t_R g3(.A(c), .B(a), .Y(new_n9_));", + "OAI32xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n6_), .A3(b), .B1(new_n8_), .B2(new_n7_), .Y(F));" + ] + }, + "out_169B": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.432320", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n8_));", + "AOI211xp5_ASAP7_75t_R g3(.A1(a), .A2(new_n6_), .B(new_n7_), .C(new_n8_), .Y(new_n9_));", + "NOR3xp33_ASAP7_75t_R g4(.A(c), .B(b), .C(a), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g5(.A(a), .B(b), .Y(new_n11_));", + "OAI211xp5_ASAP7_75t_R g6(.A1(new_n6_), .A2(new_n7_), .B(d), .C(new_n11_), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n9_), .A2(d), .B1(new_n10_), .B2(new_n12_), .Y(F));" + ] + }, + "out_169E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "XNOR2x2_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(c), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g2(.A(b), .B(d), .Y(new_n8_));", + "OAI211xp5_ASAP7_75t_R g3(.A1(new_n7_), .A2(b), .B(new_n8_), .C(a), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(a), .A2(new_n6_), .B(new_n9_), .Y(F));" + ] + }, + "out_16A9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.898880", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_, new_n15_, new_n16_, new_n17_;", + "gates": [ + "INVx1_ASAP7_75t_R g00(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g01(.A(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g02(.A(d), .Y(new_n8_));", + "NAND2xp33_ASAP7_75t_R g03(.A(a), .B(new_n8_), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g04(.A(a), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g05(.A(d), .B(new_n10_), .Y(new_n11_));", + "NAND3xp33_ASAP7_75t_R g06(.A(new_n11_), .B(new_n9_), .C(new_n7_), .Y(new_n12_));", + "NOR2xp33_ASAP7_75t_R g07(.A(d), .B(new_n10_), .Y(new_n13_));", + "NOR2xp33_ASAP7_75t_R g08(.A(a), .B(new_n8_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g09(.A1(new_n14_), .A2(new_n13_), .B(c), .Y(new_n15_));", + "OAI21xp33_ASAP7_75t_R g10(.A1(d), .A2(new_n10_), .B(b), .Y(new_n16_));", + "AOI21xp33_ASAP7_75t_R g11(.A1(new_n14_), .A2(new_n7_), .B(new_n16_), .Y(new_n17_));", + "AOI31xp33_ASAP7_75t_R g12(.A1(new_n15_), .A2(new_n12_), .A3(new_n6_), .B(new_n17_), .Y(F));" + ] + }, + "out_16AC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(d), .Y(new_n7_));", + "OAI211xp5_ASAP7_75t_R g2(.A1(new_n6_), .A2(a), .B(new_n7_), .C(b), .Y(new_n8_));", + "AND3x1_ASAP7_75t_R g3(.A(a), .B(c), .C(d), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(d), .A2(a), .B(c), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(b), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(d), .A2(a), .B(new_n11_), .Y(new_n12_));", + "OAI31xp33_ASAP7_75t_R g7(.A1(new_n12_), .A2(new_n10_), .A3(new_n9_), .B(new_n8_), .Y(F));" + ] + }, + "out_16AD": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NOR3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(c), .C(b), .Y(new_n8_));", + "XOR2x2_ASAP7_75t_R g3(.A(b), .B(c), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n7_), .B(new_n8_), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(new_n7_), .A2(c), .B(d), .Y(new_n11_));", + "OAI31xp33_ASAP7_75t_R g6(.A1(b), .A2(c), .A3(new_n7_), .B(new_n11_), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n6_), .A2(new_n10_), .B(new_n12_), .Y(F));" + ] + }, + "out_16BC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "AO211x2_ASAP7_75t_R g0(.A1(d), .A2(a), .B(b), .C(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(a), .Y(new_n7_));", + "NAND3xp33_ASAP7_75t_R g2(.A(new_n7_), .B(b), .C(c), .Y(new_n8_));", + "OAI211xp5_ASAP7_75t_R g3(.A1(b), .A2(c), .B(a), .C(d), .Y(new_n9_));", + "AND3x1_ASAP7_75t_R g4(.A(new_n8_), .B(new_n6_), .C(new_n9_), .Y(F));" + ] + }, + "out_16E9": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.998400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "AND2x2_ASAP7_75t_R g1(.A(c), .B(b), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(c), .A2(b), .B(d), .Y(new_n8_));", + "AO21x2_ASAP7_75t_R g3(.A1(c), .A2(b), .B(d), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n9_), .B(a), .C(new_n8_), .Y(new_n10_));", + "XNOR2x2_ASAP7_75t_R g5(.A(a), .B(d), .Y(new_n11_));", + "NOR2xp33_ASAP7_75t_R g6(.A(a), .B(d), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(new_n6_), .A2(new_n7_), .B(new_n12_), .Y(new_n13_));", + "OAI311xp33_ASAP7_75t_R g8(.A1(new_n11_), .A2(new_n6_), .A3(new_n7_), .B1(new_n13_), .C1(new_n10_), .Y(F));" + ] + }, + "out_17": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.632960", + "gates": [ + "MAJIxp5_ASAP7_75t_R g0(.A(c), .B(b), .C(a), .Y(F));" + ] + }, + "out_177E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "AO21x2_ASAP7_75t_R g0(.A1(c), .A2(b), .B(a), .Y(new_n6_));", + "OA21x2_ASAP7_75t_R g1(.A1(c), .A2(b), .B(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(b), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "OAI22xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n9_), .B1(d), .B2(a), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(c), .A2(b), .B(new_n11_), .Y(new_n12_));", + "AOI22xp33_ASAP7_75t_R g7(.A1(new_n7_), .A2(new_n6_), .B1(new_n12_), .B2(new_n10_), .Y(F));" + ] + }, + "out_178E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "OA21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(d), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(a), .A2(b), .B(d), .Y(new_n9_));", + "OAI32xp33_ASAP7_75t_R g4(.A1(new_n6_), .A2(c), .A3(new_n7_), .B1(new_n8_), .B2(new_n9_), .Y(F));" + ] + }, + "out_1796": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 6.531840", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(b), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(d), .B(new_n8_), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n7_), .A2(d), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(c), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(new_n7_), .B(new_n11_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(b), .B(c), .Y(new_n13_));", + "NAND3xp33_ASAP7_75t_R g8(.A(new_n12_), .B(new_n8_), .C(new_n13_), .Y(new_n14_));", + "OAI21xp33_ASAP7_75t_R g9(.A1(new_n6_), .A2(new_n10_), .B(new_n14_), .Y(F));" + ] + }, + "out_1798": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(c), .B(new_n7_), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(c), .B(new_n8_), .Y(new_n9_));", + "NOR3xp33_ASAP7_75t_R g4(.A(new_n7_), .B(c), .C(b), .Y(new_n10_));", + "AND2x2_ASAP7_75t_R g5(.A(b), .B(a), .Y(new_n11_));", + "AOI21xp33_ASAP7_75t_R g6(.A1(new_n11_), .A2(new_n7_), .B(new_n10_), .Y(new_n12_));", + "OAI21xp33_ASAP7_75t_R g7(.A1(a), .A2(new_n9_), .B(new_n12_), .Y(F));" + ] + }, + "out_179A": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 4.665600", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(c), .B(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(a), .B(c), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(c), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n9_), .B(new_n8_), .C(d), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(d), .Y(new_n11_));", + "NAND3xp33_ASAP7_75t_R g6(.A(new_n11_), .B(a), .C(b), .Y(new_n12_));", + "OAI311xp33_ASAP7_75t_R g7(.A1(new_n6_), .A2(b), .A3(new_n7_), .B1(new_n12_), .C1(new_n10_), .Y(F));" + ] + }, + "out_17AC": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.866240", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(b), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(b), .B(c), .Y(new_n9_));", + "AOI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(c), .B(new_n9_), .Y(new_n10_));", + "OAI211xp5_ASAP7_75t_R g5(.A1(b), .A2(c), .B(a), .C(d), .Y(new_n11_));", + "OA21x2_ASAP7_75t_R g6(.A1(new_n7_), .A2(new_n10_), .B(new_n11_), .Y(F));" + ] + }, + "out_17E8": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(d), .Y(new_n7_));", + "OAI22xp33_ASAP7_75t_R g2(.A1(new_n7_), .A2(new_n6_), .B1(b), .B2(a), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(b), .Y(new_n10_));", + "OAI22xp33_ASAP7_75t_R g5(.A1(new_n9_), .A2(new_n10_), .B1(d), .B2(c), .Y(new_n11_));", + "OA21x2_ASAP7_75t_R g6(.A1(b), .A2(a), .B(d), .Y(new_n12_));", + "AOI21xp33_ASAP7_75t_R g7(.A1(a), .A2(b), .B(d), .Y(new_n13_));", + "OAI22xp33_ASAP7_75t_R g8(.A1(new_n8_), .A2(new_n11_), .B1(new_n13_), .B2(new_n12_), .Y(F));" + ] + }, + "out_18": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.032640", + "wires": "new_n5_, new_n6_, new_n7_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n5_));", + "NAND3xp33_ASAP7_75t_R g1(.A(new_n5_), .B(a), .C(b), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n5_), .B(new_n6_), .Y(F));" + ] + }, + "out_18E7": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(d), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(c), .Y(new_n7_));", + "AO21x2_ASAP7_75t_R g2(.A1(b), .A2(a), .B(c), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n7_), .B(new_n6_), .Y(new_n9_));", + "OA21x2_ASAP7_75t_R g4(.A1(b), .A2(a), .B(c), .Y(new_n10_));", + "AOI21xp33_ASAP7_75t_R g5(.A1(a), .A2(b), .B(c), .Y(new_n11_));", + "NOR3xp33_ASAP7_75t_R g6(.A(new_n10_), .B(new_n11_), .C(d), .Y(new_n12_));", + "NOR2xp33_ASAP7_75t_R g7(.A(new_n9_), .B(new_n12_), .Y(F));" + ] + }, + "out_19": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n5_, new_n6_", + "gates": [ + "OR2x4_ASAP7_75t_R g0(.A(b), .B(a), .Y(new_n5_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n6_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(new_n6_), .A2(c), .B(new_n5_), .Y(F));" + ] + }, + "out_19E1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.499200", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NAND4xp25_ASAP7_75t_R g1(.A(new_n6_), .B(a), .C(b), .D(d), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "OAI211xp5_ASAP7_75t_R g3(.A1(a), .A2(b), .B(new_n8_), .C(c), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(a), .B(b), .Y(new_n10_));", + "OAI21xp33_ASAP7_75t_R g5(.A1(d), .A2(new_n6_), .B(new_n10_), .Y(new_n11_));", + "NAND3xp33_ASAP7_75t_R g6(.A(new_n11_), .B(new_n9_), .C(new_n7_), .Y(F));" + ] + }, + "out_19E3": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.166400", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "OAI21xp33_ASAP7_75t_R g0(.A1(b), .A2(a), .B(c), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n8_));", + "AOI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n8_), .B(d), .Y(new_n9_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n8_), .B(a), .C(b), .Y(new_n10_));", + "OA21x2_ASAP7_75t_R g5(.A1(b), .A2(a), .B(d), .Y(new_n11_));", + "AOI22xp33_ASAP7_75t_R g6(.A1(new_n11_), .A2(new_n10_), .B1(new_n6_), .B2(new_n9_), .Y(F));" + ] + }, + "out_19E6": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 3.732480", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(b), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(c), .B(new_n7_), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n6_), .A2(new_n8_), .B(d), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(d), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(new_n6_), .Y(new_n11_));", + "OAI211xp5_ASAP7_75t_R g6(.A1(c), .A2(new_n7_), .B(new_n11_), .C(new_n10_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(new_n12_), .B(new_n9_), .Y(F));" + ] + }, + "out_1BD8": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.332800", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_", + "gates": [ + "AND2x2_ASAP7_75t_R g0(.A(c), .B(a), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g1(.A(b), .Y(new_n7_));", + "OAI21xp33_ASAP7_75t_R g2(.A1(a), .A2(new_n7_), .B(d), .Y(new_n8_));", + "INVx1_ASAP7_75t_R g3(.A(a), .Y(new_n9_));", + "NOR2xp33_ASAP7_75t_R g4(.A(b), .B(new_n9_), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(d), .Y(new_n11_));", + "OAI21xp33_ASAP7_75t_R g6(.A1(c), .A2(a), .B(new_n11_), .Y(new_n12_));", + "OAI22xp33_ASAP7_75t_R g7(.A1(new_n8_), .A2(new_n6_), .B1(new_n10_), .B2(new_n12_), .Y(F));" + ] + }, + "out_1BE4": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.799360", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(a), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(new_n6_), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g2(.A(a), .B(b), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n8_), .A2(new_n7_), .B(d), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g4(.A(c), .Y(new_n10_));", + "AO211x2_ASAP7_75t_R g5(.A1(new_n10_), .A2(a), .B(d), .C(new_n8_), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(new_n11_), .B(new_n9_), .Y(F));" + ] + }, + "out_1EE1": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 10.031040", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "NOR2xp33_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "AND2x2_ASAP7_75t_R g2(.A(d), .B(c), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g3(.A1(new_n7_), .A2(new_n8_), .B(new_n6_), .Y(new_n9_));", + "OR2x4_ASAP7_75t_R g4(.A(b), .B(a), .Y(new_n10_));", + "OR2x4_ASAP7_75t_R g5(.A(d), .B(c), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(c), .B(d), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g7(.A(new_n11_), .B(new_n10_), .C(new_n12_), .Y(new_n13_));", + "NAND2xp33_ASAP7_75t_R g8(.A(new_n9_), .B(new_n13_), .Y(F));" + ] + }, + "out_1E": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.099520", + "wires": "new_n5_, new_n6_, new_n7_, new_n8_, new_n9_", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n5_));", + "OAI21xp33_ASAP7_75t_R g1(.A1(b), .A2(a), .B(new_n5_), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g2(.A(a), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g3(.A(b), .Y(new_n8_));", + "NAND3xp33_ASAP7_75t_R g4(.A(new_n8_), .B(new_n7_), .C(c), .Y(new_n9_));", + "NAND2xp33_ASAP7_75t_R g5(.A(new_n6_), .B(new_n9_), .Y(F));" + ] + }, + "out_3": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 1.39968", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(F));" + ] + }, + "out_3CC3": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.832000", + "wires": "new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_, new_n14_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(c), .Y(new_n6_));", + "NOR2xp33_ASAP7_75t_R g1(.A(d), .B(new_n6_), .Y(new_n7_));", + "INVx1_ASAP7_75t_R g2(.A(d), .Y(new_n8_));", + "NOR2xp33_ASAP7_75t_R g3(.A(c), .B(new_n8_), .Y(new_n9_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n9_), .A2(new_n7_), .B(b), .Y(new_n10_));", + "INVx1_ASAP7_75t_R g5(.A(b), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g6(.A(c), .B(new_n8_), .Y(new_n12_));", + "NAND2xp33_ASAP7_75t_R g7(.A(d), .B(new_n6_), .Y(new_n13_));", + "NAND3xp33_ASAP7_75t_R g8(.A(new_n13_), .B(new_n12_), .C(new_n11_), .Y(new_n14_));", + "NAND2xp33_ASAP7_75t_R g9(.A(new_n14_), .B(new_n10_), .Y(F));" + ] + }, + "out_3c": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 2.566080", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(b), .B(c), .Y(F));" + ] + }, + "out_69": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": " 5.832000", + "wires": "new_n5_, new_n6_, new_n7_, new_n8_, new_n9_, new_n10_, new_n11_, new_n12_, new_n13_;", + "gates": [ + "INVx1_ASAP7_75t_R g0(.A(b), .Y(new_n5_));", + "NOR2xp33_ASAP7_75t_R g1(.A(c), .B(new_n5_), .Y(new_n6_));", + "INVx1_ASAP7_75t_R g2(.A(c), .Y(new_n7_));", + "NOR2xp33_ASAP7_75t_R g3(.A(b), .B(new_n7_), .Y(new_n8_));", + "OAI21xp33_ASAP7_75t_R g4(.A1(new_n8_), .A2(new_n6_), .B(a), .Y(new_n9_));", + "INVx1_ASAP7_75t_R g5(.A(a), .Y(new_n10_));", + "NAND2xp33_ASAP7_75t_R g6(.A(b), .B(new_n7_), .Y(new_n11_));", + "NAND2xp33_ASAP7_75t_R g7(.A(c), .B(new_n5_), .Y(new_n12_));", + "NAND3xp33_ASAP7_75t_R g8(.A(new_n12_), .B(new_n11_), .C(new_n10_), .Y(new_n13_));", + "NAND2xp33_ASAP7_75t_R g9(.A(new_n13_), .B(new_n9_), .Y(F));" + ] + }, + "out_6996": { + "inputs": ["a", "b", "c", "d"], + "outputs": "F", + "area": "5.832000", + "wires": "new_n6_, new_n7_;", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(new_n6_));", + "XOR2x2_ASAP7_75t_R g1(.A(c), .B(d), .Y(new_n7_));", + "XOR2x2_ASAP7_75t_R g2(.A(new_n6_), .B(new_n7_), .Y(F));" + ] + }, + "out_1B": { + "inputs": ["a", "b", "c"], + "outputs": "F", + "area": " 5.832000", + "wires": "new_n5_, new_n6_, new_n7_;", + "gates": [ + "NOT g0(.A(c), .Y(new_n5_));", + "NAND2xp33_ASAP7_75t_R g1(.A(a), .B(new_n5_), .Y(new_n6_));", + "OR2x4_ASAP7_75t_R g2(.A(b), .B(a), .Y(new_n7_));", + "NAND2xp33_ASAP7_75t_R g3(.A(new_n7_), .B(new_n6_), .Y(F));" + ] + }, + "out_6": { + "inputs": ["a", "b"], + "outputs": "F", + "area": " 5.832000", + "wires": "", + "gates": [ + "XOR2x2_ASAP7_75t_R g0(.A(a), .B(b), .Y(F));" + ] + } +} diff --git a/scripts/yosys+LSOracle/LSOracle/README.md b/scripts/yosys+LSOracle/LSOracle/README.md new file mode 100644 index 0000000..db2e3c5 --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/README.md @@ -0,0 +1,50 @@ +# Getting Started with LSOracle + +[![Build Status](https://travis-ci.org/LNIS-Projects/LSOracle.svg?branch=master)](https://travis-ci.org/LNIS-Projects/LSOracle) +[![Documentation Status](https://readthedocs.org/projects/lsoracle/badge/?version=master)](https://lsoracle.readthedocs.io/en/master/?badge=master) + +## Introduction + +The Logic Synthesis oracle is a framework developed on the top of EPFL logic synthesis libraries to unlock efficient logic manipulation by using different logic optimizers.To do so, the flow splits a design into different partitions and selects different optimizers for different logics attributes. +Currently, it supports AIG and MIG based optimization. + + +## Installation: + +LSOracle can be built on Linux and Mac OS 10.14. Compilation requires CMake 3.12 or newer and gcc 8 or newer. Additional dependencies for the master branch are Boost Program_options 1.48.0 or newer and readline; dependencies for feature branches may vary. + +### Linux +```{r, engine='bash', count_lines} +git clone https://github.com/LNIS-Projects/LSOracle.git +mkdir build +cd build +cmake .. -DCMAKE_BUILD_TYPE=RELEASE +make +``` + +### Mac OS +Mac installation is slightly more involved than on Linux because gcc and Boost are typically not yet installed, with the gcc command symlinked to apple clang, which is unsupported. We recommend using [Homebrew](https://brew.sh). First install gcc, then install Boost, using gcc to build boost@1.60, as gcc installation is broken on boost@latest as of December 2019. +```{r, engine='bash', count_lines} +brew install gcc +brew install --cc=gcc-9 boost@1.60 + +git clone https://github.com/LNIS-Projects/LSOracle.git +mkdir build +cd build +cmake .. -DCMAKE_CXX_COMPILER=/usr/local/bin/g++-9 -DCMAKE_CC_COMPILER=/usr/local/bin/gcc-9 -DCMAKE_BUILD_TYPE=Release +make +``` + +## Usage + +```{r, engine='bash', count_lines} +./lstools # run the tool +read my_file.blif # read a file in either blif or AIG format (determined by file extension) +oracle # partitions network and optimizes each partition with either AIG or MIG optimization recipes +write_verilog my_output.v # outputs the optimized network in Verilog format +``` + +## Full Documentation + +The LSOracle full documentation is available [here](https://lsoracle.readthedocs.io/en/master/?badge=master) + diff --git a/scripts/yosys+LSOracle/LSOracle/README.txt b/scripts/yosys+LSOracle/LSOracle/README.txt new file mode 100644 index 0000000..7c1a05a --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/README.txt @@ -0,0 +1,22 @@ +This folder is use the aig file to benchmark with LSOracle + +Following the instruction below to use the aig file to benchmark with LSOracle: + + cd build/core # move to the core folder + ./lsoracle # run the tool + read dlx.aig # read a file in either blif or AIG format (determined by file extension) + oracle # partitions network and optimizes each partition with either AIG or MIG optimization recipes + + +i.e) + lsoracle> read dlx.aig + AIG network stored + lsoracle> oracle + dlx partitioned 27 times + Performing High Effort Classification and Optimization + 5 AIGs and 22 MIGs + Final ntk size = 6170 and depth = 81 + Final number of latches = 1038 + Full Optimization: 5782ms + MIG network stored + diff --git a/scripts/yosys+LSOracle/LSOracle/basic_tests.py b/scripts/yosys+LSOracle/LSOracle/basic_tests.py new file mode 100644 index 0000000..d66dc77 --- /dev/null +++ b/scripts/yosys+LSOracle/LSOracle/basic_tests.py @@ -0,0 +1,162 @@ +import argparse +import sys +import glob +import math +import numpy as np +import os +import shutil +import subprocess +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +import re +import time +import timeit +from datetime import datetime +import logging + +#Set up command line parser +parser = argparse.ArgumentParser(prog='lstools_test', description='Test script for LSOracle') +parser.add_argument('--log_to_file', action='store_true', help='print log information to specified filename in LSOracle directory') +parser.add_argument('--verbose', '-v', action='count', + help='output detail. Default (unset) = warning; -v = info, -vv = debug') +parser.add_argument('--test_directory', '-t', + default='./tests/end_to_end', + help='Specify path to end-to-end test files. input files should be .aig format') +parser.add_argument('--unit_test_directory', '-u', + default='./tests/unit', + help='Specify path to unit test files. input files should be .aig format') +parser.add_argument('--training_model', '-m', + default='./core/algorithms/classification/deep_learn_model.json', + help='if you have a custom tensorflow model for the classifier, specify it here.') +parser.add_argument('--cicd ', action='store_true', + help='sets paths, envs, etc, to appropriate values for ci') +args = parser.parse_args() + +lstools_path = os.path.abspath('./build/core') +training_file = os.path.abspath(args.training_model) +unit_path = os.path.abspath(args.unit_test_directory) +test_path = os.path.abspath(args.test_directory) + +#configure logging +timestamp = datetime.now() +timestamp_format = timestamp.strftime('%Y%m%d%H%M%S') + +log_level = 'WARNING' + +if args.verbose is None: + log_level = 'WARNING' +elif args.verbose == 1: + log_level = 'INFO' +elif args.verbose > 1: + log_level = 'DEBUG' + +if args.log_to_file: + log_filename = timestamp_format + '_lsoracle_test.log' + logging.basicConfig(filename=log_filename,format='%(asctime)s:%(levelname)s:%(message)s', level=log_level) +else: + logging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', level=log_level) + +#Define our function to call the lstools executable +def optimize(filename, mode, part_num, suffix): + opt_file = filename + suffix + '.v' + cmd = ['./lsoracle','-c', 'read_aig ' + filename + '; partitioning ' + str(part_num) + '; ' + mode + ' -o ' + opt_file + ';'] + process = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + stdout, stderr = process.communicate() + string_stdout = str(stdout, encoding="utf-8").splitlines() + string_stderr = str(stderr) + if 'None' not in string_stderr: + logging.warning(string_stderr) + return [int(s) for s in string_stdout[-6].split() if s.isdigit()] + +def compare(filename, suffix): + new_file = filename + '.v' + opt_file = filename + suffix + '.v' + #need to create verilog file to compare to + cmd = ['./lsoracle','-c', 'read_aig ' + curr_file + '; write_verilog ' + new_file + ';'] + subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + + #use cec to compare the pre and post optimization files + cmd = ['abc', '-c', 'cec -n ' + new_file +' '+ opt_file + ';'] + abc_process = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + abc_stdout, abc_stderr = abc_process.communicate() + print(abc_stdout) + if "None" not in str(abc_stderr): + logging.warning(str(abc_stderr)) + intermediate_string = str(abc_stdout, encoding="utf-8") + string_abc = intermediate_string.splitlines() + print("str_abc \n") + print(string_abc[-1]) + return string_abc[-1] + +#Begin tests +print('LSOracle test suite ' + str(timestamp)) +#End to end tests +#Grab my test files +test_path_glob = test_path + '/*.aig' +print('\nEnd to end tests: ') +logging.info('Test path: %s', test_path) +files = glob.glob(test_path_glob) +logging.debug("List of test files: ") +logging.debug(files) +#Actual testing +#we'll have to do some more thinking about what a good end to end test looks like. For now I'm going to optimize a couple benchmarks +#using aig, mig, mixed, and brute force, and report those. I'll have a failure message if our method is slower than +#both mig and aig. It ought to, at least, be between them. +for curr_file in files: + print('\n' + curr_file) + os.chdir(lstools_path) + + #report statistics + cmd = ['./lsoracle','-c', 'read_aig ' + curr_file + '; ps -a;'] + process = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + stdout, stderr = process.communicate() + string_stdout = str(stdout, encoding='utf-8') + print(string_stdout) + #calculate number of nodes + unoptimized_size = float(string_stdout.splitlines()[1][7:string_stdout.find('\n')]) + num_part = math.ceil(unoptimized_size / 300) + print('Size (# nodes before optimization): ' + str(unoptimized_size) +' partitions = size/300: ' + str(num_part)) + + #mixed synthesis with classifier + cmdstr = 'optimization -n ' + training_file + mixed_size = optimize(curr_file, cmdstr, num_part, '_mixed_out') + print('ntk size after mixed synthesis: ' + str(mixed_size[0]) + ' depth: ' + str(mixed_size[1])) + abcout = compare(curr_file, '_mixed_out') + assert('Networks are equivalent' in abcout) + + #Brute Force + cmdstr = 'optimization' + brute_size = optimize(curr_file, cmdstr, num_part, '_brute_out') + print('ntk size after brute force: ' + str(brute_size[0]) + ' depth: ' + str(brute_size[1])) + abcout = compare(curr_file, '_brute_out') + assert('Networks are equivalent' in abcout) + + #AIG only + cmdstr = 'optimization -a' + aig_size = optimize(curr_file, cmdstr, num_part, '_aig_out') + print('ntk size after aig optimization: ' + str(aig_size[0]) + ' depth: ' + str(aig_size[1])) + abcout = compare(curr_file, '_aig_out') + assert('Networks are equivalent' in abcout) + + #MIG only + cmdstr = 'optimization -m' + mig_size = optimize(curr_file, cmdstr, num_part, '_mig_out') + print('ntk size after mig optimization: ' + str(mig_size[0]) + ' depth: ' + str(mig_size[1])) + abcout = compare(curr_file, '_mig_out') + assert('Networks are equivalent' in abcout) + + assert (mixed_size[0] <= aig_size[0] or mixed_size[0] <= mig_size[0]) or (brute_size[0] <= aig_size[0] or brute_size[0] <= mig_size[0]) + +#unit tests. This is a stub. +#Grab my test files +print('\nUnit tests:') +unit_path_glob = unit_path + '/*.aig' +logging.info('Unit tests\n') +logging.info('Test path: %s', unit_path) +files = glob.glob(unit_path_glob) +logging.debug("List of test files: ") +logging.debug(files) +for curr_file in files: + print(curr_file + '\n') + os.chdir(lstools_path) diff --git a/scripts/yosys+LSOracle/README.txt b/scripts/yosys+LSOracle/README.txt new file mode 100644 index 0000000..5f47e00 --- /dev/null +++ b/scripts/yosys+LSOracle/README.txt @@ -0,0 +1,44 @@ +This folder is to generate the blif file and benchmark with yosys + +Following the instruction below to generate the blif file: + +./yosys_LSOracle_synths # This command uses the yosys to generate five blif files for 5 cores. + # It created alpha_blif, dlx_blif, fpu_blif, mor1kx_blif, or1200_blif files. + # Also, generating the performance time for each cores. + # It saved at alpha_time.txt, dlx_time.txt, fpu_time.txt, mor1kx_time.txt, or1200_time.txt + +If you want to create individual blif file for each core: + +If you added a yosys to path try this: yosys alpha_synth.ys +otherwise: ./yosys alpha_synth.ys + +for example: + yosys alpha_synth.ys # This command will generate the alpha_blif file + yosys dlx_synth.ys # This command will generate the dlx_blif file + yosys fpu_synth.ys # This command will generate the fpu_blif file + yosys mor1kx_synth.ys # This command will generate the mor1kx_blif file + yosys or1200_synth.ys # This command will generate the or1200_blif file + +Following the instruction to generate the aig file: + +../yosys+abc/abc/./abc % this command is run the ABC. + +for exmple: + abc 01> read_blif -n alpha_blif; strash; write_aiger alpha.aig # This will generate aig file by alpha core. + abc 01> read_blif -n dlx_blif; strash; write_aiger dlx.aig # This will generate aig file by dlx core. + abc 01> read_blif -n fpu_blif; strash; write_aiger fpu.aig # This will generate aig file by fpu core. + abc 01> read_blif -n mor1kx_blif; strash; write_aiger mor1kx.aig # This will generate aig file by mor1kx core. + abc 01> read_blif -n or1200_blif; strash; write_aiger or1200.aig # This will generate aig file by or1200 core. + +Then, + ./demo alpha.aig # This command uses the abc to benchmark for alpha.aig file. + ./demo dlx.aig # This command uses the abc to benchmark for dlx.aig file. + ./demo fpu.aig # This command uses the abc to benchmark for fpu.aig file. + ./demo mor1kx.aig # This command uses the abc to benchmark for mor1kx.aig file. + ./demo or1200.aig # This command uses the abc to benchmark for or1200.aig file. + +Afterwards, generate five aig files and copy the aig files to LSOracle/build/core folder + and read the README.txt file for the next steps. + +Note that you can check the performance time by opening with the txt file such as alpha_time.txt, dlx_time.txt, fpu_time.txt, mor1kx_time.txt, or1200_time.txt in the folder. + diff --git a/scripts/yosys+LSOracle/alpha_synth.ys b/scripts/yosys+LSOracle/alpha_synth.ys new file mode 100644 index 0000000..d0b094b --- /dev/null +++ b/scripts/yosys+LSOracle/alpha_synth.ys @@ -0,0 +1,32 @@ + + +read_verilog -sv ../../alpha/sys_defs.vh +read_verilog -sv ../../alpha/ex_stage.v +read_verilog -sv ../../alpha/id_stage.v +read_verilog -sv ../../alpha/if_stage.v +read_verilog -sv ../../alpha/mem_stage.v +read_verilog -sv ../../alpha/pipeline.v +read_verilog -sv ../../alpha/regfile.v +read_verilog -sv ../../alpha/wb_stage.v + +hierarchy -top pipeline +select -assert-any pipeline +select -clear +proc_arst +proc +opt -fast + +proc +flatten +synth -run coarse +opt -fast -full +memory -nomap +opt -full +opt -fast +techmap -D ALU_RIPPLE +opt -fast + +clean +hierarchy -check +stat +write_blif alpha_blif diff --git a/scripts/yosys+LSOracle/dlx_synth.ys b/scripts/yosys+LSOracle/dlx_synth.ys new file mode 100644 index 0000000..916df5f --- /dev/null +++ b/scripts/yosys+LSOracle/dlx_synth.ys @@ -0,0 +1,36 @@ + + +read_verilog -sv ../../dlx/globals.v +read_verilog -sv ../../dlx/alu.v +read_verilog -sv ../../dlx/alu_control.v +read_verilog -sv ../../dlx/bypass_ex.v +read_verilog -sv ../../dlx/bypass_id.v +read_verilog -sv ../../dlx/cpu.v +read_verilog -sv ../../dlx/decode.v +read_verilog -sv ../../dlx/dlx_defs.v +read_verilog -sv ../../dlx/ff.v +read_verilog -sv ../../dlx/quick_compare.v +read_verilog -sv ../../dlx/regfile.v +read_verilog -sv ../../dlx/wb_control.v + +hierarchy -top cpu_bug +select -assert-any cpu_bug +select -clear +proc_arst +proc +opt -fast + +proc +flatten +synth -run coarse +opt -fast -full +memory -nomap +opt -full +opt -fast +techmap -D ALU_RIPPLE +opt -fast + +clean +hierarchy -check +stat +write_blif dlx.blif diff --git a/scripts/yosys+LSOracle/fpu_synth.ys b/scripts/yosys+LSOracle/fpu_synth.ys new file mode 100644 index 0000000..a4b5487 --- /dev/null +++ b/scripts/yosys+LSOracle/fpu_synth.ys @@ -0,0 +1,48 @@ + +read_verilog -sv ../../fpu/rtl/stage_flop_retry.v +read_verilog -sv ../../fpu/rtl/fp_divider_selector_comb.v +read_verilog -sv ../../fpu/rtl/scoore_fpu.v +read_verilog -sv ../../fpu/rtl/fp_propagate_nan_comb.v +read_verilog -sv ../../fpu/rtl/stage.v +read_verilog -sv ../../fpu/rtl/register.v +read_verilog -sv ../../fpu/rtl/fp_div64_to_64.v +read_verilog -sv ../../fpu/rtl/fp_lead0.v +read_verilog -sv ../../fpu/rtl/fp_divide_result_selector_comb.v +read_verilog -sv ../../fpu/rtl/fp_propagate_div.v +read_verilog -sv ../../fpu/rtl/fp_sqrt64.v +read_verilog -sv ../../fpu/rtl/fp_div64_post_comb.v +read_verilog -sv ../../fpu/rtl/fp_sqrt64_post_comb.v +read_verilog -sv ../../fpu/rtl/fp_mult64.v +read_verilog -sv ../../fpu/rtl/fp_div64.v +read_verilog -sv ../../fpu/rtl/fp_mult64_post_comb.v +read_verilog -sv ../../fpu/rtl/fp_add64_post_comb.v +read_verilog -sv ../../fpu/rtl/fp_op_predec.v +read_verilog -sv ../../fpu/rtl/fp_add64.v +read_verilog -sv ../../fpu/rtl/fp_result_queue.v +read_verilog -sv ../../fpu/rtl/fp_normalize_fp.v +read_verilog -sv ../../fpu/rtl/fp_ex.v +read_verilog -sv ../../fpu/rtl/fp_denorm.v +read_verilog -sv ../../fpu/rtl/fp_normalize.v +read_verilog -sv ../../fpu/rtl/fpu.v + +hierarchy -top fpu +select -assert-any fpu +select -clear +proc_arst +proc +opt -fast + +proc +flatten +synth -run coarse +opt -fast -full +memory -nomap +opt -full +opt -fast +techmap -D ALU_RIPPLE +opt -fast + +clean +hierarchy -check +stat +write_blif fpu_blif diff --git a/scripts/yosys+LSOracle/mor1kx_synth.ys b/scripts/yosys+LSOracle/mor1kx_synth.ys new file mode 100644 index 0000000..5b8c493 --- /dev/null +++ b/scripts/yosys+LSOracle/mor1kx_synth.ys @@ -0,0 +1,71 @@ +verilog_defaults -add -I../../mor1kx/rtl/verilog/ + +read_verilog ../../mor1kx/rtl/verilog/mor1kx-defines.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_dmmu.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_execute_ctrl_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_pic.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_rf_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_icache.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_cpu_prontoespresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_branch_prediction.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_ctrl_prontoespresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_cache_lru.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_cpu.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_execute_alu.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_decode_execute_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_ticktimer.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_rf_espresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_fetch_espresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_decode.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx-sprs.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_top.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_f2i.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_addsub.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_cmp.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_i2f.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_muldiv.v +read_verilog ../../mor1kx/rtl/verilog/pfpu32/pfpu32_rnd.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_lsu_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_dcache.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_true_dpram_sclk.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_wb_mux_espresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_ctrl_espresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_fetch_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_cfgrs.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_ctrl_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_fetch_tcm_prontoespresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_wb_mux_cappuccino.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_fetch_prontoespresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_bus_if_wb32.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_immu.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_store_buffer.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_lsu_espresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_branch_predictor_simple.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_branch_predictor_saturation_counter.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_cpu_espresso.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_simple_dpram_sclk.v +read_verilog ../../mor1kx/rtl/verilog/mor1kx_cpu_cappuccino.v + + +hierarchy -top mor1kx +select -assert-any mor1kx +select -clear +proc_arst +proc +opt -fast + +proc +flatten +synth -run coarse +opt -fast -full +memory -nomap +opt -full +opt -fast +techmap -D ALU_RIPPLE +opt -fast + +clean +hierarchy -check +stat +write_blif mor1kx_blif diff --git a/scripts/yosys+LSOracle/or1200_synth.ys b/scripts/yosys+LSOracle/or1200_synth.ys new file mode 100644 index 0000000..3470e81 --- /dev/null +++ b/scripts/yosys+LSOracle/or1200_synth.ys @@ -0,0 +1,101 @@ +read_verilog ../../or1200/rtl/verilog/or1200_dc_tag.v +read_verilog ../../or1200/rtl/verilog/or1200_dpram_32x32.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_64x22.v +read_verilog ../../or1200/rtl/verilog/or1200_dc_top.v +read_verilog ../../or1200/rtl/verilog/or1200_immu_top.v +read_verilog ../../or1200/rtl/verilog/or1200_amultp2_32x32.v +read_verilog ../../or1200/rtl/verilog/or1200_alu.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_2048x32.v +read_verilog ../../or1200/rtl/verilog/or1200_wb_biu.v +read_verilog ../../or1200/rtl/verilog/or1200_sb_fifo.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_intfloat_conv_except.v +read_verilog ../../or1200/rtl/verilog/or1200_if.v +read_verilog ../../or1200/rtl/verilog/or1200_reg2mem.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_2048x32_bw.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_64x14.v +read_verilog ../../or1200/rtl/verilog/or1200_xcv_ram32x8d.v +read_verilog ../../or1200/rtl/verilog/or1200_defines.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_post_norm_mul.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_intfloat_conv.v +read_verilog ../../or1200/rtl/verilog/or1200_dmmu_top.v +read_verilog ../../or1200/rtl/verilog/or1200_sprs.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_post_norm_intfloat_conv.v +read_verilog ../../or1200/rtl/verilog/or1200_cfgr.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_pre_norm_mul.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_mul.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_addsub.v +read_verilog ../../or1200/rtl/verilog/or1200_du.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_pre_norm_div.v +read_verilog ../../or1200/rtl/verilog/or1200_wbmux.v +read_verilog ../../or1200/rtl/verilog/or1200_ic_tag.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_pre_norm_addsub.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_64x24.v +read_verilog ../../or1200/rtl/verilog/or1200_freeze.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_1024x32.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_128x32.v +read_verilog ../../or1200/rtl/verilog/or1200_dpram_256x32.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu.v +read_verilog ../../or1200/rtl/verilog/or1200_except.v +read_verilog ../../or1200/rtl/verilog/or1200_lsu.v +read_verilog ../../or1200/rtl/verilog/or1200_gmultp2_32x32.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_32x24.v +read_verilog ../../or1200/rtl/verilog/or1200_ic_fsm.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_512x20.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_post_norm_addsub.v +read_verilog ../../or1200/rtl/verilog/or1200_pic.v +read_verilog ../../or1200/rtl/verilog/or1200_mult_mac.v +read_verilog ../../or1200/rtl/verilog/or1200_rf.v +read_verilog ../../or1200/rtl/verilog/or1200_sb.v +read_verilog ../../or1200/rtl/verilog/or1200_immu_tlb.v +read_verilog ../../or1200/rtl/verilog/or1200_rfram_generic.v +read_verilog ../../or1200/rtl/verilog/or1200_qmem_top.v +read_verilog ../../or1200/rtl/verilog/or1200_ic_top.v +read_verilog ../../or1200/rtl/verilog/or1200_top.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_fcmp.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_2048x8.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_256x21.v +read_verilog ../../or1200/rtl/verilog/or1200_tpram_32x32.v +read_verilog ../../or1200/rtl/verilog/or1200_dmmu_tlb.v +read_verilog ../../or1200/rtl/verilog/or1200_mem2reg.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_1024x8.v +read_verilog ../../or1200/rtl/verilog/or1200_iwb_biu.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_arith.v +read_verilog ../../or1200/rtl/verilog/or1200_genpc.v +read_verilog ../../or1200/rtl/verilog/or1200_cpu.v +read_verilog ../../or1200/rtl/verilog/or1200_ctrl.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_1024x32_bw.v +read_verilog ../../or1200/rtl/verilog/or1200_dpram.v +read_verilog ../../or1200/rtl/verilog/or1200_operandmuxes.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_div.v +read_verilog ../../or1200/rtl/verilog/or1200_dc_ram.v +read_verilog ../../or1200/rtl/verilog/timescale.v +read_verilog ../../or1200/rtl/verilog/or1200_ic_ram.v +read_verilog ../../or1200/rtl/verilog/or1200_spram.v +read_verilog ../../or1200/rtl/verilog/or1200_tt.v +read_verilog ../../or1200/rtl/verilog/or1200_fpu_post_norm_div.v +read_verilog ../../or1200/rtl/verilog/or1200_dc_fsm.v +read_verilog ../../or1200/rtl/verilog/or1200_pm.v +read_verilog ../../or1200/rtl/verilog/or1200_spram_32_bw.v + + +hierarchy -top or1200_top +select -assert-any or1200_top +select -clear +proc_arst +proc +opt -fast + +proc +flatten +synth -run coarse +opt -fast -full +memory -nomap +opt -full +opt -fast +techmap -D ALU_RIPPLE +opt -fast + +clean +hierarchy -check +stat +write_blif or1200_blif diff --git a/scripts/yosys+LSOracle/yosys_LSOracle_synths b/scripts/yosys+LSOracle/yosys_LSOracle_synths new file mode 100755 index 0000000..0d5b6e2 --- /dev/null +++ b/scripts/yosys+LSOracle/yosys_LSOracle_synths @@ -0,0 +1,12 @@ +#!/bin/bash +# Yosys+ABC performance script + +echo "Yosys benchmark for dlx, alpha, fpu, mor1kx, or1200 " +/usr/bin/time -v -o dlx_time.txt yosys dlx_synth.ys +/usr/bin/time -v -o alpha_time.txt yosys alpha_synth.ys +/usr/bin/time -v -o fpu_time.txt yosys fpu_synth.ys +/usr/bin/time -v -o mor1kx.txt yosys mor1kx_synth.ys +/usr/bin/time -v -o or1200.txt yosys or1200_synth.ys + +echo "(dlx_blif, alpha_blif, fpu_blif, mor1kx_blif, or1200_blif) files created" +echo "Performance time saved at dlx_time.txt, alpha_time.txt, fpu_time.txt, mor1kx.txt, or1200.txt"