diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..f288702
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/LibNanGate45nm/DFF_X2.spi b/LibNanGate45nm/DFF_X2.spi
new file mode 100644
index 0000000..889d463
--- /dev/null
+++ b/LibNanGate45nm/DFF_X2.spi
@@ -0,0 +1,83 @@
+*
+* ******************************************************************************
+* * *
+* * Copyright (C) 2004-2010, Nangate Inc. *
+* * All rights reserved. *
+* * *
+* * Nangate and the Nangate logo are trademarks of Nangate Inc. *
+* * *
+* * All trademarks, logos, software marks, and trade names (collectively the *
+* * "Marks") in this program are proprietary to Nangate or other respective *
+* * owners that have granted Nangate the right and license to use such Marks. *
+* * You are not permitted to use the Marks without the prior written consent *
+* * of Nangate or such third party that may own the Marks. *
+* * *
+* * This file has been provided pursuant to a License Agreement containing *
+* * restrictions on its use. This file contains valuable trade secrets and *
+* * proprietary information of Nangate Inc., and is protected by U.S. and *
+* * international laws and/or treaties. *
+* * *
+* * The copyright notice(s) in this file does not indicate actual or intended *
+* * publication of this file. *
+* * *
+* * buildcell, v2010.08-HR32-SP3-2010-08-05 - build 1009061800 *
+* * *
+* ******************************************************************************
+*
+*
+* Running on brazil06.nangate.com.br for user Giancarlo Franciscatto (gfr).
+* Local time is now Fri, 3 Dec 2010, 18:59:42.
+* Main process id is 28034.
+*
+********************************************************************************
+* *
+* Cellname: DFF_X2. *
+* *
+* Technology: NCSU FreePDK 45nm. *
+* Format: Cdl. *
+* *
+* Written on brazil06.nangate.com.br for user Giancarlo Franciscatto (gfr) *
+* at 18:59:42 on Fri, 3 Dec 2010. *
+* *
+********************************************************************************
+.SUBCKT DFF_X2 CK Q D VDD VSS
+*.PININFO D:I CK:I Q:O VDD:P VSS:G
+M_MN2 ci cni VSS VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN6 VSS z4 z6 VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN7 z3 ci z6 VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN4 z2 cni z3 VSS NMOS_VTL W=0.275000U L=0.050000U
+M_MN3 z2 D VSS VSS NMOS_VTL W=0.275000U L=0.050000U
+M_MN5 z4 z3 VSS VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN1 VSS CK cni VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN8 z12 z3 VSS VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN9 z9 ci z12 VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN12 z9 cni z8 VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN11 z8 z10 VSS VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN10 VSS z9 z10 VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN14_8 QN z9 VSS VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN14 QN z9 VSS VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN13 VSS z10 Q VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN13_38 VSS z10 Q VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MP2 ci cni VDD VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP6 VDD z4 z1 VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP7 z1 cni z3 VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP4 z3 ci z5 VDD PMOS_VTL W=0.420000U L=0.050000U
+M_MP3 z5 D VDD VDD PMOS_VTL W=0.420000U L=0.050000U
+M_MP5 z4 z3 VDD VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP1 VDD CK cni VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP8 z7 z3 VDD VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP9 z9 cni z7 VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP12 z9 ci z11 VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP11 z11 z10 VDD VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP10 VDD z9 z10 VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP14_5 QN z9 VDD VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP14 QN z9 VDD VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP13 VDD z10 Q VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP13_26 VDD z10 Q VDD PMOS_VTL W=0.630000U L=0.050000U
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/NMOS_VTL.inc b/LibNanGate45nm/NMOS_VTL.inc
new file mode 100644
index 0000000..b064d74
--- /dev/null
+++ b/LibNanGate45nm/NMOS_VTL.inc
@@ -0,0 +1,80 @@
+* Customized PTM 45 NMOS ss
+
+.model NMOS_VTL nmos level = 54
+
+* parameters related to the technology node
++tnom = 27 epsrox = 3.9
++eta0 = 0.006 nfactor = 2.1 wint = 5e-09
++cgso = 1.1e-10 cgdo = 1.1e-10 xl = -2e-08
+
+* parameters customized by the user
++toxe = 1.17e-09 toxp = 1e-09 toxm = 1.17e-09 toxref = 1.17e-09
++dtox = 0.17e-09 lint = 3.225e-09
++vth0 = 0.347 k1 = 0.4 u0 = 0.044 vsat = 148000
++rdsw = 155 ndep = 3.6e+18 xj = 2.05e-08
+
+
+
+
++version = 4.4 binunit = 1 paramchk= 1 mobmod = 0
++capmod = 2 igcmod = 1 igbmod = 1 geomod = 1
++diomod = 1 rdsmod = 0 rbodymod= 1 rgatemod= 1
++permod = 1 acnqsmod= 0 trnqsmod= 0
+
++ll = 0 wl = 0 lln = 1 wln = 1
++lw = 0 ww = 0 lwn = 1 wwn = 1
++lwl = 0 wwl = 0 xpart = 0
+
++k2 = 0 k3 = 0
++k3b = 0 w0 = 2.5e-006 dvt0 = 1 dvt1 = 2
++dvt2 = 0 dvt0w = 0 dvt1w = 0 dvt2w = 0
++dsub = 0.1 minv = 0.05 voffl = 0 dvtp0 = 1e-010
++dvtp1 = 0.1 lpe0 = 0 lpeb = 0
++ngate = 3e+20 nsd = 2e+020 phin = 0
++cdsc = 0 cdscb = 0 cdscd = 0 cit = 0
++voff = -0.13 etab = 0
++vfb = -0.55 ua = 6e-010 ub = 1.2e-018
++uc = 0 a0 = 1 ags = 0
++a1 = 0 a2 = 1 b0 = 0 b1 = 0
++keta = 0.04 dwg = 0 dwb = 0 pclm = 0.02
++pdiblc1 = 0.001 pdiblc2 = 0.001 pdiblcb = -0.005 drout = 0.5
++pvag = 1e-020 delta = 0.01 pscbe1 = 8.14e+008 pscbe2 = 1e-007
++fprout = 0.2 pdits = 0.08 pditsd = 0.23 pditsl = 2300000
++rsh = 5 rsw = 80 rdw = 80
++rdswmin = 0 rdwmin = 0 rswmin = 0 prwg = 0
++prwb = 0 wr = 1 alpha0 = 0.074 alpha1 = 0.005
++beta0 = 30 agidl = 0.0002 bgidl = 2.1e+009 cgidl = 0.0002
++egidl = 0.8 aigbacc = 0.012 bigbacc = 0.0028 cigbacc = 0.002
++nigbacc = 1 aigbinv = 0.014 bigbinv = 0.004 cigbinv = 0.004
++eigbinv = 1.1 nigbinv = 3 aigc = 0.02 bigc = 0.0027
++cigc = 0.002 aigsd = 0.02 bigsd = 0.0027 cigsd = 0.002
++nigc = 1 poxedge = 1 pigcd = 1 ntox = 1
++xrcrg1 = 12 xrcrg2 = 5
+
++cgbo = 2.56e-011 cgdl = 2.653e-010
++cgsl = 2.653e-010 ckappas = 0.03 ckappad = 0.03 acde = 1
++moin = 15 noff = 0.9 voffcv = 0.02
+
++kt1 = -0.11 kt1l = 0 kt2 = 0.022 ute = -1.5
++ua1 = 4.31e-009 ub1 = 7.61e-018 uc1 = -5.6e-011 prt = 0
++at = 33000
+
++fnoimod = 1 tnoimod = 0
+
++jss = 0.0001 jsws = 1e-011 jswgs = 1e-010 njs = 1
++ijthsfwd= 0.01 ijthsrev= 0.001 bvs = 10 xjbvs = 1
++jsd = 0.0001 jswd = 1e-011 jswgd = 1e-010 njd = 1
++ijthdfwd= 0.01 ijthdrev= 0.001 bvd = 10 xjbvd = 1
++pbs = 1 cjs = 0.0005 mjs = 0.5 pbsws = 1
++cjsws = 5e-010 mjsws = 0.33 pbswgs = 1 cjswgs = 3e-010
++mjswgs = 0.33 pbd = 1 cjd = 0.0005 mjd = 0.5
++pbswd = 1 cjswd = 5e-010 mjswd = 0.33 pbswgd = 1
++cjswgd = 5e-010 mjswgd = 0.33 tpb = 0.005 tcj = 0.001
++tpbsw = 0.005 tcjsw = 0.001 tpbswg = 0.005 tcjswg = 0.001
++xtis = 3 xtid = 3
+
++dmcg = 0 dmci = 0 dmdg = 0 dmcgt = 0
++dwj = 0 xgw = 0 xgl = 0
+
++rshg = 0.4 gbmin = 1e-010 rbpb = 5 rbpd = 15
++rbps = 15 rbdb = 15 rbsb = 15 ngcon = 1
\ No newline at end of file
diff --git a/LibNanGate45nm/PMOS_VTL.inc b/LibNanGate45nm/PMOS_VTL.inc
new file mode 100644
index 0000000..64f93da
--- /dev/null
+++ b/LibNanGate45nm/PMOS_VTL.inc
@@ -0,0 +1,76 @@
+* Customized PTM 45 PMOS ss
+
+.model PMOS_VTL pmos level = 54
+
+* parameter customized by user
++vth0 = -0.3271 toxref = 1.3e-009 vsat = 69000
++toxe = 1.3e-009 toxp = 1.0e-009 toxm = 1.3e-009
++dtox = 3e-010 epsrox = 3.9 wint = 5e-009 lint = 3.225e-009
+
++version = 4.4 binunit = 1 paramchk= 1 mobmod = 0
++capmod = 2 igcmod = 1 igbmod = 1 geomod = 1
++diomod = 1 rdsmod = 0 rbodymod= 1 rgatemod= 1
++permod = 1 acnqsmod= 0 trnqsmod= 0
+
++tnom = 27
+
++ll = 0 wl = 0 lln = 1 wln = 1
++lw = 0 ww = 0 lwn = 1 wwn = 1
++lwl = 0 wwl = 0 xpart = 0 toxref = 1.3e-009
++xl = -20e-9
+
++k1 = 0.4 k2 = -0.01 k3 = 0
++k3b = 0 w0 = 2.5e-006 dvt0 = 1 dvt1 = 2
++dvt2 = -0.032 dvt0w = 0 dvt1w = 0 dvt2w = 0
++dsub = 0.1 minv = 0.05 voffl = 0 dvtp0 = 1e-011
++dvtp1 = 0.05 lpe0 = 0 lpeb = 0 xj = 1.98e-008
++ngate = 2e+020 ndep = 2.44e+018 nsd = 2e+020 phin = 0
++cdsc = 0 cdscb = 0 cdscd = 0 cit = 0
++voff = -0.126 nfactor = 2.22 eta0 = 0.0055 etab = 0
++vfb = 0.55 u0 = 0.02 ua = 2e-009 ub = 5e-019
++uc = 0 a0 = 1 ags = 1e-020
++a1 = 0 a2 = 1 b0 = 0 b1 = 0
++keta = -0.047 dwg = 0 dwb = 0 pclm = 0.12
++pdiblc1 = 0.001 pdiblc2 = 0.001 pdiblcb = 3.4e-008 drout = 0.56
++pvag = 1e-020 delta = 0.01 pscbe1 = 8.14e+008 pscbe2 = 9.58e-007
++fprout = 0.2 pdits = 0.08 pditsd = 0.23 pditsl = 2300000
++rsh = 5 rdsw = 155 rsw = 75 rdw = 75
++rdswmin = 0 rdwmin = 0 rswmin = 0 prwg = 0
++prwb = 0 wr = 1 alpha0 = 0.074 alpha1 = 0.005
++beta0 = 30 agidl = 0.0002 bgidl = 2.1e+009 cgidl = 0.0002
++egidl = 0.8 aigbacc = 0.012 bigbacc = 0.0028 cigbacc = 0.002
++nigbacc = 1 aigbinv = 0.014 bigbinv = 0.004 cigbinv = 0.004
++eigbinv = 1.1 nigbinv = 3 aigc = 0.010687 bigc = 0.0012607
++cigc = 0.0008 aigsd = 0.010687 bigsd = 0.0012607 cigsd = 0.0008
++nigc = 1 poxedge = 1 pigcd = 1 ntox = 1
++xrcrg1 = 12 xrcrg2 = 5
+
++cgso = 1.1e-010 cgdo = 1.1e-010 cgbo = 2.56e-011 cgdl = 2.653e-010
++cgsl = 2.653e-010 ckappas = 0.03 ckappad = 0.03 acde = 1
++moin = 15 noff = 0.9 voffcv = 0.02
+
++kt1 = -0.11 kt1l = 0 kt2 = 0.022 ute = -1.5
++ua1 = 4.31e-009 ub1 = 7.61e-018 uc1 = -5.6e-011 prt = 0
++at = 33000
+
++fnoimod = 1 tnoimod = 0
+
++jss = 0.0001 jsws = 1e-011 jswgs = 1e-010 njs = 1
++ijthsfwd= 0.01 ijthsrev= 0.001 bvs = 10 xjbvs = 1
++jsd = 0.0001 jswd = 1e-011 jswgd = 1e-010 njd = 1
++ijthdfwd= 0.01 ijthdrev= 0.001 bvd = 10 xjbvd = 1
++pbs = 1 cjs = 0.0005 mjs = 0.5 pbsws = 1
++cjsws = 5e-010 mjsws = 0.33 pbswgs = 1 cjswgs = 3e-010
++mjswgs = 0.33 pbd = 1 cjd = 0.0005 mjd = 0.5
++pbswd = 1 cjswd = 5e-010 mjswd = 0.33 pbswgd = 1
++cjswgd = 5e-010 mjswgd = 0.33 tpb = 0.005 tcj = 0.001
++tpbsw = 0.005 tcjsw = 0.001 tpbswg = 0.005 tcjswg = 0.001
++xtis = 3 xtid = 3
+
++dmcg = 0 dmci = 0 dmdg = 0 dmcgt = 0
++dwj = 0 xgw = 0 xgl = 0
+
++rshg = 0.4 gbmin = 1e-010 rbpb = 5 rbpd = 15
++rbps = 15 rbdb = 15 rbsb = 15 ngcon = 1
+
+
diff --git a/LibNanGate45nm/and2.sp b/LibNanGate45nm/and2.sp
new file mode 100644
index 0000000..0dfe5ca
--- /dev/null
+++ b/LibNanGate45nm/and2.sp
@@ -0,0 +1,92 @@
+.SUBCKT and2 A1 A2 VDD VSS ZN
+M_M3 N_3_M0_d N_A1_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.135000U AS=0.014175P AD=0.018900P PS=0.480000U PD=0.550000U
+M_M4 N_VDD_M1_d N_A2_M1_g N_3_M0_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.028350P PS=0.550000U PD=0.820000U
+M_M5 N_ZN_M2_d N_3_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 7 N_A1_M3_g N_3_M3_s VSS NMOS_VTL L=0.050U W=0.130000U AS=0.013650P AD=0.018200P PS=0.470000U PD=0.540000U
+M_M1 N_VSS_M4_d N_A2_M4_g 7 VSS NMOS_VTL L=0.050U W=0.130000U AS=0.018200P AD=0.021700P PS=0.540000U PD=0.640000U
+M_M2 N_ZN_M5_d N_3_M5_g N_VSS_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.021700P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_AND2_X2__VSS_c0 VSS x_PM_AND2_X2__VSS_12 3.57664e-17
+C_x_PM_AND2_X2__VSS_c1 VSS N_VSS_M4_d 3.3282e-17
+C_x_PM_AND2_X2__VSS_c2 VSS x_PM_AND2_X2__VSS_2 5.54251e-17
+R_x_PM_AND2_X2__VSS_r3 x_PM_AND2_X2__VSS_12 x_PM_AND2_X2__VSS_6 0.145286
+R_x_PM_AND2_X2__VSS_r4 N_VSS_M4_d x_PM_AND2_X2__VSS_6 0.420714
+R_x_PM_AND2_X2__VSS_r5 x_PM_AND2_X2__VSS_12 x_PM_AND2_X2__VSS_2 0.0731438
+R_x_PM_AND2_X2__VSS_r6 VSS x_PM_AND2_X2__VSS_2 0.0782353
+C_x_PM_AND2_X2__VDD_c0 VSS x_PM_AND2_X2__VDD_17 4.42012e-17
+C_x_PM_AND2_X2__VDD_c1 VSS N_VDD_M1_d 3.53236e-17
+C_x_PM_AND2_X2__VDD_c2 VSS x_PM_AND2_X2__VDD_8 1.07001e-17
+C_x_PM_AND2_X2__VDD_c3 VSS x_PM_AND2_X2__VDD_7 3.2606e-17
+C_x_PM_AND2_X2__VDD_c4 VSS N_VDD_M0_s 1.42739e-17
+R_x_PM_AND2_X2__VDD_r5 x_PM_AND2_X2__VDD_17 x_PM_AND2_X2__VDD_11 0.145286
+R_x_PM_AND2_X2__VDD_r6 N_VDD_M1_d x_PM_AND2_X2__VDD_11 0.420714
+R_x_PM_AND2_X2__VDD_r7 VDD x_PM_AND2_X2__VDD_8 0.603529
+R_x_PM_AND2_X2__VDD_r8 x_PM_AND2_X2__VDD_17 x_PM_AND2_X2__VDD_7 0.0731438
+R_x_PM_AND2_X2__VDD_r9 VDD x_PM_AND2_X2__VDD_7 0.0894118
+R_x_PM_AND2_X2__VDD_r10 x_PM_AND2_X2__VDD_8 x_PM_AND2_X2__VDD_3 0.264221
+R_x_PM_AND2_X2__VDD_r11 N_VDD_M0_s x_PM_AND2_X2__VDD_3 0.420714
+C_x_PM_AND2_X2__3_c0 VSS x_PM_AND2_X2__3_33 1.13133e-17
+C_x_PM_AND2_X2__3_c1 VSS x_PM_AND2_X2__3_30 1.00152e-17
+C_x_PM_AND2_X2__3_c2 VSS x_PM_AND2_X2__3_29 9.34287e-17
+C_x_PM_AND2_X2__3_c3 VSS x_PM_AND2_X2__3_26 1.87365e-17
+C_x_PM_AND2_X2__3_c4 VSS x_PM_AND2_X2__3_22 8.60574e-18
+C_x_PM_AND2_X2__3_c5 VSS x_PM_AND2_X2__3_21 4.03179e-17
+C_x_PM_AND2_X2__3_c6 VSS N_3_M0_d 3.31237e-17
+C_x_PM_AND2_X2__3_c7 VSS x_PM_AND2_X2__3_16 5.73522e-18
+C_x_PM_AND2_X2__3_c8 VSS x_PM_AND2_X2__3_15 6.02033e-17
+C_x_PM_AND2_X2__3_c9 VSS N_3_M3_s 2.55776e-17
+C_x_PM_AND2_X2__3_c10 VSS N_3_M2_g 9.71074e-17
+C_x_PM_AND2_X2__3_c11 VSS N_3_M5_g 3.53623e-17
+R_x_PM_AND2_X2__3_r12 x_PM_AND2_X2__3_33 x_PM_AND2_X2__3_31 3.38
+R_x_PM_AND2_X2__3_r13 x_PM_AND2_X2__3_29 x_PM_AND2_X2__3_30 2.93143
+R_x_PM_AND2_X2__3_r14 x_PM_AND2_X2__3_31 x_PM_AND2_X2__3_26 25.0012
+R_x_PM_AND2_X2__3_r15 x_PM_AND2_X2__3_30 x_PM_AND2_X2__3_24 0.232321
+R_x_PM_AND2_X2__3_r16 x_PM_AND2_X2__3_26 x_PM_AND2_X2__3_24 0.0542857
+R_x_PM_AND2_X2__3_r17 x_PM_AND2_X2__3_26 x_PM_AND2_X2__3_23 0.22619
+R_x_PM_AND2_X2__3_r18 x_PM_AND2_X2__3_29 x_PM_AND2_X2__3_21 0.212317
+R_x_PM_AND2_X2__3_r19 x_PM_AND2_X2__3_22 x_PM_AND2_X2__3_21 0.76
+R_x_PM_AND2_X2__3_r20 x_PM_AND2_X2__3_22 x_PM_AND2_X2__3_17 0.212317
+R_x_PM_AND2_X2__3_r21 N_3_M0_d x_PM_AND2_X2__3_17 0.393571
+R_x_PM_AND2_X2__3_r22 x_PM_AND2_X2__3_23 x_PM_AND2_X2__3_15 0.223553
+R_x_PM_AND2_X2__3_r23 x_PM_AND2_X2__3_16 x_PM_AND2_X2__3_15 1.79143
+R_x_PM_AND2_X2__3_r24 x_PM_AND2_X2__3_16 x_PM_AND2_X2__3_11 0.212317
+R_x_PM_AND2_X2__3_r25 N_3_M3_s x_PM_AND2_X2__3_11 0.420714
+R_x_PM_AND2_X2__3_r26 x_PM_AND2_X2__3_33 x_PM_AND2_X2__3_5 1.95
+R_x_PM_AND2_X2__3_r27 N_3_M2_g x_PM_AND2_X2__3_5 105.3
+R_x_PM_AND2_X2__3_r28 x_PM_AND2_X2__3_33 x_PM_AND2_X2__3_VSS 1.95
+R_x_PM_AND2_X2__3_r29 N_3_M5_g x_PM_AND2_X2__3_VSS 27.3
+C_x_PM_AND2_X2__A1_c0 VSS x_PM_AND2_X2__A1_13 7.02743e-18
+C_x_PM_AND2_X2__A1_c1 VSS A1 1.56682e-17
+C_x_PM_AND2_X2__A1_c2 VSS N_A1_M0_g 6.18939e-17
+C_x_PM_AND2_X2__A1_c3 VSS N_A1_M3_g 5.49708e-17
+R_x_PM_AND2_X2__A1_r4 x_PM_AND2_X2__A1_16 x_PM_AND2_X2__A1_13 4.74714
+R_x_PM_AND2_X2__A1_r5 x_PM_AND2_X2__A1_15 x_PM_AND2_X2__A1_13 4.74714
+R_x_PM_AND2_X2__A1_r6 x_PM_AND2_X2__A1_13 x_PM_AND2_X2__A1_11 25.0012
+R_x_PM_AND2_X2__A1_r7 x_PM_AND2_X2__A1_11 A1 0.158563
+R_x_PM_AND2_X2__A1_r8 N_A1_M0_g x_PM_AND2_X2__A1_16 83.85
+R_x_PM_AND2_X2__A1_r9 N_A1_M3_g x_PM_AND2_X2__A1_15 63.18
+C_x_PM_AND2_X2__A2_c0 VSS x_PM_AND2_X2__A2_14 8.64377e-18
+C_x_PM_AND2_X2__A2_c1 VSS x_PM_AND2_X2__A2_12 4.37781e-17
+C_x_PM_AND2_X2__A2_c2 VSS N_A2_M1_g 5.57959e-17
+C_x_PM_AND2_X2__A2_c3 VSS N_A2_M4_g 7.00537e-17
+R_x_PM_AND2_X2__A2_r4 x_PM_AND2_X2__A2_18 x_PM_AND2_X2__A2_14 4.7687
+R_x_PM_AND2_X2__A2_r5 x_PM_AND2_X2__A2_17 x_PM_AND2_X2__A2_14 4.7687
+R_x_PM_AND2_X2__A2_r6 x_PM_AND2_X2__A2_14 x_PM_AND2_X2__A2_12 25.0012
+R_x_PM_AND2_X2__A2_r7 x_PM_AND2_X2__A2_12 A2 0.169643
+R_x_PM_AND2_X2__A2_r8 N_A2_M1_g x_PM_AND2_X2__A2_18 62.01
+R_x_PM_AND2_X2__A2_r9 N_A2_M4_g x_PM_AND2_X2__A2_17 85.02
+C_x_PM_AND2_X2__ZN_c0 VSS N_ZN_M5_d 2.60988e-17
+C_x_PM_AND2_X2__ZN_c1 VSS ZN 7.63258e-17
+C_x_PM_AND2_X2__ZN_c2 VSS N_ZN_M2_d 5.16564e-17
+C_x_PM_AND2_X2__ZN_c3 VSS x_PM_AND2_X2__ZN_3 6.61381e-18
+R_x_PM_AND2_X2__ZN_r4 ZN x_PM_AND2_X2__ZN_8 1.87286
+R_x_PM_AND2_X2__ZN_r5 x_PM_AND2_X2__ZN_7 N_ZN_M5_d 0.30478
+R_x_PM_AND2_X2__ZN_r6 ZN x_PM_AND2_X2__ZN_7 1.60143
+R_x_PM_AND2_X2__ZN_r7 x_PM_AND2_X2__ZN_8 x_PM_AND2_X2__ZN_3 0.20978
+R_x_PM_AND2_X2__ZN_r8 N_ZN_M2_d x_PM_AND2_X2__ZN_3 0.686111
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/and3.sp b/LibNanGate45nm/and3.sp
new file mode 100644
index 0000000..7ce0f24
--- /dev/null
+++ b/LibNanGate45nm/and3.sp
@@ -0,0 +1,117 @@
+.SUBCKT and3 A1 A2 A3 VDD VSS ZN
+M_M4 N_VDD_M0_d N_A1_M0_g N_3_M0_s VDD PMOS_VTL L=0.050U W=0.135000U AS=0.014175P AD=0.018900P PS=0.480000U PD=0.550000U
+M_M5 N_3_M1_d N_A2_M1_g N_VDD_M0_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.018900P PS=0.550000U PD=0.550000U
+M_M6 N_VDD_M2_d N_A3_M2_g N_3_M1_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.028350P PS=0.550000U PD=0.820000U
+M_M7 N_ZN_M3_d N_3_M3_g N_VDD_M2_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 8 N_A1_M4_g N_3_M4_s VSS NMOS_VTL L=0.050U W=0.170000U AS=0.017850P AD=0.023800P PS=0.550000U PD=0.620000U
+M_M1 9 N_A2_M5_g 8 VSS NMOS_VTL L=0.050U W=0.170000U AS=0.023800P AD=0.023800P PS=0.620000U PD=0.620000U
+M_M2 N_VSS_M6_d N_A3_M6_g 9 VSS NMOS_VTL L=0.050U W=0.170000U AS=0.023800P AD=0.024700P PS=0.620000U PD=0.640000U
+M_M3 N_ZN_M7_d N_3_M7_g N_VSS_M6_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.024700P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_AND3_X2__VSS_c0 VSS x_PM_AND3_X2__VSS_12 4.21405e-17
+C_x_PM_AND3_X2__VSS_c1 VSS N_VSS_M6_d 2.36734e-17
+C_x_PM_AND3_X2__VSS_c2 VSS x_PM_AND3_X2__VSS_2 7.71966e-17
+R_x_PM_AND3_X2__VSS_r3 x_PM_AND3_X2__VSS_12 x_PM_AND3_X2__VSS_6 0.145286
+R_x_PM_AND3_X2__VSS_r4 N_VSS_M6_d x_PM_AND3_X2__VSS_6 0.230714
+R_x_PM_AND3_X2__VSS_r5 x_PM_AND3_X2__VSS_12 x_PM_AND3_X2__VSS_2 0.0731438
+R_x_PM_AND3_X2__VSS_r6 VSS x_PM_AND3_X2__VSS_2 0.290588
+C_x_PM_AND3_X2__VDD_c0 VSS x_PM_AND3_X2__VDD_20 4.53039e-17
+C_x_PM_AND3_X2__VDD_c1 VSS x_PM_AND3_X2__VDD_19 3.68815e-17
+C_x_PM_AND3_X2__VDD_c2 VSS N_VDD_M2_d 3.50284e-17
+C_x_PM_AND3_X2__VDD_c3 VSS x_PM_AND3_X2__VDD_9 3.25732e-17
+C_x_PM_AND3_X2__VDD_c4 VSS N_VDD_M0_d 3.52926e-17
+R_x_PM_AND3_X2__VDD_r5 x_PM_AND3_X2__VDD_20 x_PM_AND3_X2__VDD_13 0.145286
+R_x_PM_AND3_X2__VDD_r6 N_VDD_M2_d x_PM_AND3_X2__VDD_13 0.420714
+R_x_PM_AND3_X2__VDD_r7 x_PM_AND3_X2__VDD_19 x_PM_AND3_X2__VDD_10 0.0731438
+R_x_PM_AND3_X2__VDD_r8 VDD x_PM_AND3_X2__VDD_10 0.402353
+R_x_PM_AND3_X2__VDD_r9 x_PM_AND3_X2__VDD_20 x_PM_AND3_X2__VDD_9 0.0731438
+R_x_PM_AND3_X2__VDD_r10 VDD x_PM_AND3_X2__VDD_9 0.290588
+R_x_PM_AND3_X2__VDD_r11 x_PM_AND3_X2__VDD_19 x_PM_AND3_X2__VDD_5 0.145286
+R_x_PM_AND3_X2__VDD_r12 N_VDD_M0_d x_PM_AND3_X2__VDD_5 0.420714
+C_x_PM_AND3_X2__3_c0 VSS x_PM_AND3_X2__3_44 1.14374e-17
+C_x_PM_AND3_X2__3_c1 VSS x_PM_AND3_X2__3_41 1.04375e-17
+C_x_PM_AND3_X2__3_c2 VSS x_PM_AND3_X2__3_40 3.30128e-17
+C_x_PM_AND3_X2__3_c3 VSS x_PM_AND3_X2__3_39 3.47774e-18
+C_x_PM_AND3_X2__3_c4 VSS x_PM_AND3_X2__3_38 7.12662e-17
+C_x_PM_AND3_X2__3_c5 VSS x_PM_AND3_X2__3_35 9.3384e-18
+C_x_PM_AND3_X2__3_c6 VSS x_PM_AND3_X2__3_32 6.87787e-18
+C_x_PM_AND3_X2__3_c7 VSS x_PM_AND3_X2__3_28 4.77545e-17
+C_x_PM_AND3_X2__3_c8 VSS N_3_M1_d 3.07979e-17
+C_x_PM_AND3_X2__3_c9 VSS x_PM_AND3_X2__3_23 4.21984e-18
+C_x_PM_AND3_X2__3_c10 VSS x_PM_AND3_X2__3_22 3.23292e-17
+C_x_PM_AND3_X2__3_c11 VSS x_PM_AND3_X2__3_21 1.39555e-17
+C_x_PM_AND3_X2__3_c12 VSS x_PM_AND3_X2__3_20 1.02137e-16
+C_x_PM_AND3_X2__3_c13 VSS N_3_M0_s 2.59812e-17
+C_x_PM_AND3_X2__3_c14 VSS N_3_M4_s 2.29228e-17
+C_x_PM_AND3_X2__3_c15 VSS N_3_M3_g 7.13801e-17
+C_x_PM_AND3_X2__3_c16 VSS N_3_M7_g 6.00305e-17
+R_x_PM_AND3_X2__3_r17 x_PM_AND3_X2__3_44 x_PM_AND3_X2__3_42 3.38
+R_x_PM_AND3_X2__3_r18 x_PM_AND3_X2__3_38 x_PM_AND3_X2__3_41 1.81857
+R_x_PM_AND3_X2__3_r19 x_PM_AND3_X2__3_42 x_PM_AND3_X2__3_35 25.0012
+R_x_PM_AND3_X2__3_r20 x_PM_AND3_X2__3_41 x_PM_AND3_X2__3_33 0.196927
+R_x_PM_AND3_X2__3_r21 x_PM_AND3_X2__3_35 x_PM_AND3_X2__3_33 0.130625
+R_x_PM_AND3_X2__3_r22 x_PM_AND3_X2__3_40 x_PM_AND3_X2__3_32 0.196927
+R_x_PM_AND3_X2__3_r23 x_PM_AND3_X2__3_35 x_PM_AND3_X2__3_32 0.130625
+R_x_PM_AND3_X2__3_r24 x_PM_AND3_X2__3_40 x_PM_AND3_X2__3_30 1.14
+R_x_PM_AND3_X2__3_r25 x_PM_AND3_X2__3_39 x_PM_AND3_X2__3_29 0.160909
+R_x_PM_AND3_X2__3_r26 x_PM_AND3_X2__3_38 x_PM_AND3_X2__3_28 0.212317
+R_x_PM_AND3_X2__3_r27 x_PM_AND3_X2__3_29 x_PM_AND3_X2__3_28 0.922857
+R_x_PM_AND3_X2__3_r28 x_PM_AND3_X2__3_39 x_PM_AND3_X2__3_24 0.0418175
+R_x_PM_AND3_X2__3_r29 N_3_M1_d x_PM_AND3_X2__3_24 0.393571
+R_x_PM_AND3_X2__3_r30 x_PM_AND3_X2__3_39 x_PM_AND3_X2__3_22 0.160909
+R_x_PM_AND3_X2__3_r31 x_PM_AND3_X2__3_23 x_PM_AND3_X2__3_22 1.65571
+R_x_PM_AND3_X2__3_r32 x_PM_AND3_X2__3_30 x_PM_AND3_X2__3_20 0.212317
+R_x_PM_AND3_X2__3_r33 x_PM_AND3_X2__3_21 x_PM_AND3_X2__3_20 2.95857
+R_x_PM_AND3_X2__3_r34 x_PM_AND3_X2__3_23 x_PM_AND3_X2__3_16 0.212317
+R_x_PM_AND3_X2__3_r35 N_3_M0_s x_PM_AND3_X2__3_16 0.393571
+R_x_PM_AND3_X2__3_r36 x_PM_AND3_X2__3_21 x_PM_AND3_X2__3_12 0.212317
+R_x_PM_AND3_X2__3_r37 N_3_M4_s x_PM_AND3_X2__3_12 0.339286
+R_x_PM_AND3_X2__3_r38 x_PM_AND3_X2__3_44 x_PM_AND3_X2__3_5 1.95
+R_x_PM_AND3_X2__3_r39 N_3_M3_g x_PM_AND3_X2__3_5 73.32
+R_x_PM_AND3_X2__3_r40 x_PM_AND3_X2__3_44 x_PM_AND3_X2__3_VSS 1.95
+R_x_PM_AND3_X2__3_r41 N_3_M7_g x_PM_AND3_X2__3_VSS 64.74
+C_x_PM_AND3_X2__A1_c0 VSS x_PM_AND3_X2__A1_14 7.47882e-18
+C_x_PM_AND3_X2__A1_c1 VSS x_PM_AND3_X2__A1_12 5.57778e-17
+C_x_PM_AND3_X2__A1_c2 VSS N_A1_M0_g 7.76e-17
+C_x_PM_AND3_X2__A1_c3 VSS N_A1_M4_g 4.58756e-17
+R_x_PM_AND3_X2__A1_r4 x_PM_AND3_X2__A1_18 x_PM_AND3_X2__A1_14 4.74714
+R_x_PM_AND3_X2__A1_r5 x_PM_AND3_X2__A1_17 x_PM_AND3_X2__A1_14 4.74714
+R_x_PM_AND3_X2__A1_r6 x_PM_AND3_X2__A1_14 x_PM_AND3_X2__A1_12 25.0012
+R_x_PM_AND3_X2__A1_r7 x_PM_AND3_X2__A1_12 A1 0.156071
+R_x_PM_AND3_X2__A1_r8 N_A1_M0_g x_PM_AND3_X2__A1_18 106.47
+R_x_PM_AND3_X2__A1_r9 N_A1_M4_g x_PM_AND3_X2__A1_17 42.9
+C_x_PM_AND3_X2__A2_c0 VSS x_PM_AND3_X2__A2_14 8.59743e-18
+C_x_PM_AND3_X2__A2_c1 VSS x_PM_AND3_X2__A2_12 5.83497e-17
+C_x_PM_AND3_X2__A2_c2 VSS N_A2_M1_g 8.11148e-17
+C_x_PM_AND3_X2__A2_c3 VSS N_A2_M5_g 4.54734e-17
+R_x_PM_AND3_X2__A2_r4 x_PM_AND3_X2__A2_18 x_PM_AND3_X2__A2_14 4.7687
+R_x_PM_AND3_X2__A2_r5 x_PM_AND3_X2__A2_17 x_PM_AND3_X2__A2_14 4.7687
+R_x_PM_AND3_X2__A2_r6 x_PM_AND3_X2__A2_14 x_PM_AND3_X2__A2_12 25.0012
+R_x_PM_AND3_X2__A2_r7 x_PM_AND3_X2__A2_12 A2 0.169643
+R_x_PM_AND3_X2__A2_r8 N_A2_M1_g x_PM_AND3_X2__A2_18 106.47
+R_x_PM_AND3_X2__A2_r9 N_A2_M5_g x_PM_AND3_X2__A2_17 42.9
+C_x_PM_AND3_X2__A3_c0 VSS x_PM_AND3_X2__A3_14 8.46766e-18
+C_x_PM_AND3_X2__A3_c1 VSS x_PM_AND3_X2__A3_12 5.10428e-17
+C_x_PM_AND3_X2__A3_c2 VSS N_A3_M2_g 5.76331e-17
+C_x_PM_AND3_X2__A3_c3 VSS N_A3_M6_g 6.8921e-17
+R_x_PM_AND3_X2__A3_r4 x_PM_AND3_X2__A3_18 x_PM_AND3_X2__A3_14 4.7687
+R_x_PM_AND3_X2__A3_r5 x_PM_AND3_X2__A3_17 x_PM_AND3_X2__A3_14 4.7687
+R_x_PM_AND3_X2__A3_r6 x_PM_AND3_X2__A3_14 x_PM_AND3_X2__A3_12 25.0012
+R_x_PM_AND3_X2__A3_r7 x_PM_AND3_X2__A3_12 A3 0.246296
+R_x_PM_AND3_X2__A3_r8 N_A3_M2_g x_PM_AND3_X2__A3_18 67.47
+R_x_PM_AND3_X2__A3_r9 N_A3_M6_g x_PM_AND3_X2__A3_17 81.9
+C_x_PM_AND3_X2__ZN_c0 VSS N_ZN_M7_d 3.25194e-17
+C_x_PM_AND3_X2__ZN_c1 VSS ZN 9.50381e-17
+C_x_PM_AND3_X2__ZN_c2 VSS N_ZN_M3_d 5.591e-17
+C_x_PM_AND3_X2__ZN_c3 VSS x_PM_AND3_X2__ZN_3 8.95839e-18
+R_x_PM_AND3_X2__ZN_r4 ZN x_PM_AND3_X2__ZN_8 1.87286
+R_x_PM_AND3_X2__ZN_r5 x_PM_AND3_X2__ZN_7 N_ZN_M7_d 0.30478
+R_x_PM_AND3_X2__ZN_r6 ZN x_PM_AND3_X2__ZN_7 1.79143
+R_x_PM_AND3_X2__ZN_r7 x_PM_AND3_X2__ZN_8 x_PM_AND3_X2__ZN_3 0.20978
+R_x_PM_AND3_X2__ZN_r8 N_ZN_M3_d x_PM_AND3_X2__ZN_3 0.686111
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/and4.sp b/LibNanGate45nm/and4.sp
new file mode 100644
index 0000000..aa0017e
--- /dev/null
+++ b/LibNanGate45nm/and4.sp
@@ -0,0 +1,129 @@
+.SUBCKT and4 A1 A2 A3 A4 VDD VSS ZN
+M_M5 N_3_M0_d N_A1_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.135000U AS=0.014175P AD=0.018900P PS=0.480000U PD=0.550000U
+M_M6 N_VDD_M1_d N_A2_M1_g N_3_M0_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.018900P PS=0.550000U PD=0.550000U
+M_M7 N_3_M2_d N_A3_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.018900P PS=0.550000U PD=0.550000U
+M_M8 N_VDD_M3_d N_A4_M3_g N_3_M2_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.028350P PS=0.550000U PD=0.820000U
+M_M9 N_ZN_M4_d N_3_M4_g N_VDD_M3_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 9 N_A1_M5_g N_3_M5_s VSS NMOS_VTL L=0.050U W=0.215000U AS=0.022575P AD=0.030100P PS=0.640000U PD=0.710000U
+M_M1 10 N_A2_M6_g 9 VSS NMOS_VTL L=0.050U W=0.215000U AS=0.030100P AD=0.030100P PS=0.710000U PD=0.710000U
+M_M2 11 N_A3_M7_g 10 VSS NMOS_VTL L=0.050U W=0.215000U AS=0.030100P AD=0.030100P PS=0.710000U PD=0.710000U
+M_M3 N_VSS_M8_d N_A4_M8_g 11 VSS NMOS_VTL L=0.050U W=0.215000U AS=0.030100P AD=0.027650P PS=0.710000U PD=0.710000U
+M_M4 N_ZN_M9_d N_3_M9_g N_VSS_M8_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.027650P AD=0.018900P PS=0.710000U PD=0.570000U
+C_x_PM_AND4_X2__VSS_c0 VSS x_PM_AND4_X2__VSS_12 4.48532e-17
+C_x_PM_AND4_X2__VSS_c1 VSS N_VSS_M8_d 2.45741e-17
+C_x_PM_AND4_X2__VSS_c2 VSS x_PM_AND4_X2__VSS_2 9.14419e-17
+R_x_PM_AND4_X2__VSS_r3 x_PM_AND4_X2__VSS_12 x_PM_AND4_X2__VSS_6 0.145286
+R_x_PM_AND4_X2__VSS_r4 N_VSS_M8_d x_PM_AND4_X2__VSS_6 0.230714
+R_x_PM_AND4_X2__VSS_r5 x_PM_AND4_X2__VSS_12 x_PM_AND4_X2__VSS_2 0.0731438
+R_x_PM_AND4_X2__VSS_r6 VSS x_PM_AND4_X2__VSS_2 0.502941
+C_x_PM_AND4_X2__VDD_c0 VSS x_PM_AND4_X2__VDD_25 4.45927e-17
+C_x_PM_AND4_X2__VDD_c1 VSS x_PM_AND4_X2__VDD_24 2.84978e-18
+C_x_PM_AND4_X2__VDD_c2 VSS N_VDD_M3_d 2.75841e-17
+C_x_PM_AND4_X2__VDD_c3 VSS x_PM_AND4_X2__VDD_14 3.21954e-17
+C_x_PM_AND4_X2__VDD_c4 VSS N_VDD_M1_d 2.5303e-17
+C_x_PM_AND4_X2__VDD_c5 VSS x_PM_AND4_X2__VDD_9 1.08478e-17
+C_x_PM_AND4_X2__VDD_c6 VSS x_PM_AND4_X2__VDD_8 3.13029e-17
+C_x_PM_AND4_X2__VDD_c7 VSS N_VDD_M0_s 1.41211e-17
+R_x_PM_AND4_X2__VDD_r8 x_PM_AND4_X2__VDD_25 x_PM_AND4_X2__VDD_18 0.145286
+R_x_PM_AND4_X2__VDD_r9 N_VDD_M3_d x_PM_AND4_X2__VDD_18 0.420714
+R_x_PM_AND4_X2__VDD_r10 x_PM_AND4_X2__VDD_24 x_PM_AND4_X2__VDD_15 0.0731438
+R_x_PM_AND4_X2__VDD_r11 VDD x_PM_AND4_X2__VDD_15 0.19
+R_x_PM_AND4_X2__VDD_r12 x_PM_AND4_X2__VDD_25 x_PM_AND4_X2__VDD_14 0.0731438
+R_x_PM_AND4_X2__VDD_r13 VDD x_PM_AND4_X2__VDD_14 0.502941
+R_x_PM_AND4_X2__VDD_r14 x_PM_AND4_X2__VDD_24 x_PM_AND4_X2__VDD_10 0.145286
+R_x_PM_AND4_X2__VDD_r15 N_VDD_M1_d x_PM_AND4_X2__VDD_10 0.420714
+R_x_PM_AND4_X2__VDD_r16 x_PM_AND4_X2__VDD_24 x_PM_AND4_X2__VDD_8 0.0731438
+R_x_PM_AND4_X2__VDD_r17 x_PM_AND4_X2__VDD_9 x_PM_AND4_X2__VDD_8 0.681765
+R_x_PM_AND4_X2__VDD_r18 x_PM_AND4_X2__VDD_9 x_PM_AND4_X2__VDD_4 0.264221
+R_x_PM_AND4_X2__VDD_r19 N_VDD_M0_s x_PM_AND4_X2__VDD_4 0.420714
+C_x_PM_AND4_X2__3_c0 VSS x_PM_AND4_X2__3_40 1.12164e-17
+C_x_PM_AND4_X2__3_c1 VSS x_PM_AND4_X2__3_33 2.06085e-18
+C_x_PM_AND4_X2__3_c2 VSS N_3_M5_s 2.68504e-17
+C_x_PM_AND4_X2__3_c3 VSS x_PM_AND4_X2__3_27 8.75385e-17
+C_x_PM_AND4_X2__3_c4 VSS x_PM_AND4_X2__3_26 5.12014e-17
+C_x_PM_AND4_X2__3_c5 VSS x_PM_AND4_X2__3_24 3.28897e-17
+C_x_PM_AND4_X2__3_c6 VSS N_3_M2_d 3.41478e-17
+C_x_PM_AND4_X2__3_c7 VSS x_PM_AND4_X2__3_19 1.0345e-17
+C_x_PM_AND4_X2__3_c8 VSS x_PM_AND4_X2__3_18 2.94817e-17
+C_x_PM_AND4_X2__3_c9 VSS N_3_M0_d 3.60348e-17
+C_x_PM_AND4_X2__3_c10 VSS x_PM_AND4_X2__3_12 1.17003e-16
+C_x_PM_AND4_X2__3_c11 VSS N_3_M4_g 1.01497e-16
+C_x_PM_AND4_X2__3_c12 VSS N_3_M9_g 3.57135e-17
+R_x_PM_AND4_X2__3_r13 x_PM_AND4_X2__3_40 x_PM_AND4_X2__3_38 3.38
+R_x_PM_AND4_X2__3_r14 x_PM_AND4_X2__3_38 x_PM_AND4_X2__3_36 25.0012
+R_x_PM_AND4_X2__3_r15 x_PM_AND4_X2__3_36 x_PM_AND4_X2__3_34 0.259615
+R_x_PM_AND4_X2__3_r16 x_PM_AND4_X2__3_31 N_3_M5_s 0.285
+R_x_PM_AND4_X2__3_r17 x_PM_AND4_X2__3_36 x_PM_AND4_X2__3_26 0.292415
+R_x_PM_AND4_X2__3_r18 x_PM_AND4_X2__3_27 x_PM_AND4_X2__3_26 2.93143
+R_x_PM_AND4_X2__3_r19 x_PM_AND4_X2__3_33 x_PM_AND4_X2__3_25 0.160909
+R_x_PM_AND4_X2__3_r20 x_PM_AND4_X2__3_27 x_PM_AND4_X2__3_24 0.212317
+R_x_PM_AND4_X2__3_r21 x_PM_AND4_X2__3_25 x_PM_AND4_X2__3_24 0.787143
+R_x_PM_AND4_X2__3_r22 x_PM_AND4_X2__3_33 x_PM_AND4_X2__3_20 0.0418175
+R_x_PM_AND4_X2__3_r23 N_3_M2_d x_PM_AND4_X2__3_20 0.610714
+R_x_PM_AND4_X2__3_r24 x_PM_AND4_X2__3_33 x_PM_AND4_X2__3_18 0.160909
+R_x_PM_AND4_X2__3_r25 x_PM_AND4_X2__3_19 x_PM_AND4_X2__3_18 1.65571
+R_x_PM_AND4_X2__3_r26 x_PM_AND4_X2__3_19 x_PM_AND4_X2__3_14 0.212317
+R_x_PM_AND4_X2__3_r27 N_3_M0_d x_PM_AND4_X2__3_14 0.610714
+R_x_PM_AND4_X2__3_r28 x_PM_AND4_X2__3_31 x_PM_AND4_X2__3_13 0.095
+R_x_PM_AND4_X2__3_r29 x_PM_AND4_X2__3_34 x_PM_AND4_X2__3_12 0.100962
+R_x_PM_AND4_X2__3_r30 x_PM_AND4_X2__3_13 x_PM_AND4_X2__3_12 3.85429
+R_x_PM_AND4_X2__3_r31 x_PM_AND4_X2__3_40 x_PM_AND4_X2__3_5 1.95
+R_x_PM_AND4_X2__3_r32 N_3_M4_g x_PM_AND4_X2__3_5 111.54
+R_x_PM_AND4_X2__3_r33 x_PM_AND4_X2__3_40 x_PM_AND4_X2__3_VSS 1.95
+R_x_PM_AND4_X2__3_r34 N_3_M9_g x_PM_AND4_X2__3_VSS 26.52
+C_x_PM_AND4_X2__A1_c0 VSS x_PM_AND4_X2__A1_14 7.4392e-18
+C_x_PM_AND4_X2__A1_c1 VSS x_PM_AND4_X2__A1_12 4.24683e-17
+C_x_PM_AND4_X2__A1_c2 VSS N_A1_M0_g 7.33374e-17
+C_x_PM_AND4_X2__A1_c3 VSS N_A1_M5_g 4.39981e-17
+R_x_PM_AND4_X2__A1_r4 x_PM_AND4_X2__A1_18 x_PM_AND4_X2__A1_14 4.7687
+R_x_PM_AND4_X2__A1_r5 x_PM_AND4_X2__A1_17 x_PM_AND4_X2__A1_14 4.7687
+R_x_PM_AND4_X2__A1_r6 x_PM_AND4_X2__A1_14 x_PM_AND4_X2__A1_12 25.0012
+R_x_PM_AND4_X2__A1_r7 x_PM_AND4_X2__A1_12 A1 0.2375
+R_x_PM_AND4_X2__A1_r8 N_A1_M0_g x_PM_AND4_X2__A1_18 106.47
+R_x_PM_AND4_X2__A1_r9 N_A1_M5_g x_PM_AND4_X2__A1_17 39.39
+C_x_PM_AND4_X2__A2_c0 VSS x_PM_AND4_X2__A2_14 8.42144e-18
+C_x_PM_AND4_X2__A2_c1 VSS x_PM_AND4_X2__A2_12 2.222e-17
+C_x_PM_AND4_X2__A2_c2 VSS N_A2_M1_g 5.45019e-17
+C_x_PM_AND4_X2__A2_c3 VSS N_A2_M6_g 7.16293e-17
+R_x_PM_AND4_X2__A2_r4 x_PM_AND4_X2__A2_18 x_PM_AND4_X2__A2_14 4.7687
+R_x_PM_AND4_X2__A2_r5 x_PM_AND4_X2__A2_17 x_PM_AND4_X2__A2_14 4.7687
+R_x_PM_AND4_X2__A2_r6 x_PM_AND4_X2__A2_14 x_PM_AND4_X2__A2_12 25.0012
+R_x_PM_AND4_X2__A2_r7 x_PM_AND4_X2__A2_12 A2 0.169643
+R_x_PM_AND4_X2__A2_r8 N_A2_M1_g x_PM_AND4_X2__A2_18 62.79
+R_x_PM_AND4_X2__A2_r9 N_A2_M6_g x_PM_AND4_X2__A2_17 83.07
+C_x_PM_AND4_X2__A3_c0 VSS x_PM_AND4_X2__A3_14 9.23042e-18
+C_x_PM_AND4_X2__A3_c1 VSS x_PM_AND4_X2__A3_12 5.936e-17
+C_x_PM_AND4_X2__A3_c2 VSS N_A3_M2_g 8.12259e-17
+C_x_PM_AND4_X2__A3_c3 VSS N_A3_M7_g 4.54243e-17
+R_x_PM_AND4_X2__A3_r4 x_PM_AND4_X2__A3_18 x_PM_AND4_X2__A3_14 4.74714
+R_x_PM_AND4_X2__A3_r5 x_PM_AND4_X2__A3_17 x_PM_AND4_X2__A3_14 4.74714
+R_x_PM_AND4_X2__A3_r6 x_PM_AND4_X2__A3_14 x_PM_AND4_X2__A3_12 25.0012
+R_x_PM_AND4_X2__A3_r7 x_PM_AND4_X2__A3_12 A3 0.156071
+R_x_PM_AND4_X2__A3_r8 N_A3_M2_g x_PM_AND4_X2__A3_18 106.47
+R_x_PM_AND4_X2__A3_r9 N_A3_M7_g x_PM_AND4_X2__A3_17 39.39
+C_x_PM_AND4_X2__A4_c0 VSS x_PM_AND4_X2__A4_14 8.80305e-18
+C_x_PM_AND4_X2__A4_c1 VSS x_PM_AND4_X2__A4_12 8.0586e-17
+C_x_PM_AND4_X2__A4_c2 VSS N_A4_M3_g 8.26834e-17
+C_x_PM_AND4_X2__A4_c3 VSS N_A4_M8_g 4.63995e-17
+R_x_PM_AND4_X2__A4_r4 x_PM_AND4_X2__A4_18 x_PM_AND4_X2__A4_14 4.7687
+R_x_PM_AND4_X2__A4_r5 x_PM_AND4_X2__A4_17 x_PM_AND4_X2__A4_14 4.7687
+R_x_PM_AND4_X2__A4_r6 x_PM_AND4_X2__A4_14 x_PM_AND4_X2__A4_12 25.0012
+R_x_PM_AND4_X2__A4_r7 x_PM_AND4_X2__A4_12 A4 0.169643
+R_x_PM_AND4_X2__A4_r8 N_A4_M3_g x_PM_AND4_X2__A4_18 106.47
+R_x_PM_AND4_X2__A4_r9 N_A4_M8_g x_PM_AND4_X2__A4_17 39.39
+C_x_PM_AND4_X2__ZN_c0 VSS N_ZN_M9_d 3.54907e-17
+C_x_PM_AND4_X2__ZN_c1 VSS ZN 8.1492e-17
+C_x_PM_AND4_X2__ZN_c2 VSS N_ZN_M4_d 4.91094e-17
+C_x_PM_AND4_X2__ZN_c3 VSS x_PM_AND4_X2__ZN_3 6.62394e-18
+R_x_PM_AND4_X2__ZN_r4 ZN x_PM_AND4_X2__ZN_8 1.87286
+R_x_PM_AND4_X2__ZN_r5 x_PM_AND4_X2__ZN_7 N_ZN_M9_d 0.30478
+R_x_PM_AND4_X2__ZN_r6 ZN x_PM_AND4_X2__ZN_7 1.84571
+R_x_PM_AND4_X2__ZN_r7 x_PM_AND4_X2__ZN_8 x_PM_AND4_X2__ZN_3 0.20978
+R_x_PM_AND4_X2__ZN_r8 N_ZN_M4_d x_PM_AND4_X2__ZN_3 0.686111
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/and5.sp b/LibNanGate45nm/and5.sp
new file mode 100644
index 0000000..c9e0c83
--- /dev/null
+++ b/LibNanGate45nm/and5.sp
@@ -0,0 +1,174 @@
+.SUBCKT and5 A1 A2 A3 A4 A5 VDD VSS ZN
+**************************************************NAND3_X2***********************************************
+M_M3 N_Zalp1_M0_d N_A3_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M4 N_VDD_M1_d N_A2_M1_g N_Zalp1_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M5 N_Zalp1_M2_d N_A1_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 7 N_A3_M3_g N_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.340000U AS=0.035700P AD=0.047600P PS=0.890000U PD=0.960000U
+M_M1 8 N_A2_M4_g 7 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.047600P PS=0.960000U PD=0.960000U
+M_M2 N_Zalp1_M5_d N_A1_M5_g 8 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.035700P PS=0.960000U PD=0.890000U
+C_x_PM_NAND3_X2__VSS_c0 VSS VSS 7.02872e-17
+C_x_PM_NAND3_X2__VSS_c1 VSS x_PM_NAND3_X2__VSS_6 1.05487e-17
+C_x_PM_NAND3_X2__VSS_c2 VSS N_VSS_M3_s 1.8134e-17
+R_x_PM_NAND3_X2__VSS_r3 VSS x_PM_NAND3_X2__VSS_6 0.603529
+R_x_PM_NAND3_X2__VSS_r4 x_PM_NAND3_X2__VSS_6 x_PM_NAND3_X2__VSS_2 0.264221
+R_x_PM_NAND3_X2__VSS_r5 N_VSS_M3_s x_PM_NAND3_X2__VSS_2 0.230714
+C_x_PM_NAND3_X2__VDD_c0 VSS N_VDD_M1_d 6.12848e-17
+C_x_PM_NAND3_X2__VDD_c1 VSS x_PM_NAND3_X2__VDD_7 3.00804e-17
+C_x_PM_NAND3_X2__VDD_c2 VSS N_VDD_M0_s 2.5125e-17
+C_x_PM_NAND3_X2__VDD_c3 VSS x_PM_NAND3_X2__VDD_3 1.06055e-17
+R_x_PM_NAND3_X2__VDD_r4 VDD x_PM_NAND3_X2__VDD_8 0.195294
+R_x_PM_NAND3_X2__VDD_r5 x_PM_NAND3_X2__VDD_7 N_VDD_M1_d 0.140674
+R_x_PM_NAND3_X2__VDD_r6 x_PM_NAND3_X2__VDD_8 x_PM_NAND3_X2__VDD_7 0.614706
+R_x_PM_NAND3_X2__VDD_r7 VDD x_PM_NAND3_X2__VDD_3 0.0689273
+R_x_PM_NAND3_X2__VDD_r8 N_VDD_M0_s x_PM_NAND3_X2__VDD_3 0.230714
+C_x_PM_NAND3_X2__A3_c0 VSS x_PM_NAND3_X2__A3_14 6.68331e-18
+C_x_PM_NAND3_X2__A3_c1 VSS x_PM_NAND3_X2__A3_12 3.18495e-17
+C_x_PM_NAND3_X2__A3_c2 VSS N_A3_M0_g 7.81987e-17
+C_x_PM_NAND3_X2__A3_c3 VSS N_A3_M3_g 4.14029e-17
+R_x_PM_NAND3_X2__A3_r4 x_PM_NAND3_X2__A3_18 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r5 x_PM_NAND3_X2__A3_17 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r6 x_PM_NAND3_X2__A3_14 x_PM_NAND3_X2__A3_12 25.0012
+R_x_PM_NAND3_X2__A3_r7 x_PM_NAND3_X2__A3_12 A3 0.0781486
+R_x_PM_NAND3_X2__A3_r8 N_A3_M0_g x_PM_NAND3_X2__A3_18 95.94
+R_x_PM_NAND3_X2__A3_r9 N_A3_M3_g x_PM_NAND3_X2__A3_17 35.1
+C_x_PM_NAND3_X2__Zalp1_c0 VSS N_Zalp1_M5_d 1.32739e-16
+C_x_PM_NAND3_X2__Zalp1_c1 VSS x_PM_NAND3_X2__Zalp1_8 1.01878e-17
+C_x_PM_NAND3_X2__Zalp1_c2 VSS x_PM_NAND3_X2__Zalp1_4 7.15422e-17
+R_x_PM_NAND3_X2__Zalp1_r3 Zalp1 N_Zalp1_M5_d 1.59389
+R_x_PM_NAND3_X2__Zalp1_r4 N_Zalp1_M2_d x_PM_NAND3_X2__Zalp1_8 0.0406238
+R_x_PM_NAND3_X2__Zalp1_r5 Zalp1 x_PM_NAND3_X2__Zalp1_8 1.28778
+R_x_PM_NAND3_X2__Zalp1_r6 N_Zalp1_M2_d x_PM_NAND3_X2__Zalp1_4 0.176037
+R_x_PM_NAND3_X2__Zalp1_r7 N_Zalp1_M0_d x_PM_NAND3_X2__Zalp1_4 1.85929
+C_x_PM_NAND3_X2__A2_c0 VSS x_PM_NAND3_X2__A2_14 8.63262e-18
+C_x_PM_NAND3_X2__A2_c1 VSS x_PM_NAND3_X2__A2_12 3.91329e-17
+C_x_PM_NAND3_X2__A2_c2 VSS N_A2_M1_g 4.24405e-17
+C_x_PM_NAND3_X2__A2_c3 VSS N_A2_M4_g 8.48173e-17
+R_x_PM_NAND3_X2__A2_r4 x_PM_NAND3_X2__A2_18 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r5 x_PM_NAND3_X2__A2_17 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r6 x_PM_NAND3_X2__A2_14 x_PM_NAND3_X2__A2_12 25.0012
+R_x_PM_NAND3_X2__A2_r7 x_PM_NAND3_X2__A2_12 A2 0.169643
+R_x_PM_NAND3_X2__A2_r8 N_A2_M1_g x_PM_NAND3_X2__A2_18 29.64
+R_x_PM_NAND3_X2__A2_r9 N_A2_M4_g x_PM_NAND3_X2__A2_17 101.4
+C_x_PM_NAND3_X2__A1_c0 VSS x_PM_NAND3_X2__A1_18 1.22048e-17
+C_x_PM_NAND3_X2__A1_c1 VSS x_PM_NAND3_X2__A1_12 7.61168e-17
+C_x_PM_NAND3_X2__A1_c2 VSS N_A1_M2_g 8.98944e-17
+C_x_PM_NAND3_X2__A1_c3 VSS N_A1_M5_g 4.86035e-17
+R_x_PM_NAND3_X2__A1_r4 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_14 3.9
+R_x_PM_NAND3_X2__A1_r5 x_PM_NAND3_X2__A1_14 x_PM_NAND3_X2__A1_12 25.0012
+R_x_PM_NAND3_X2__A1_r6 x_PM_NAND3_X2__A1_12 A1 0.0459677
+R_x_PM_NAND3_X2__A1_r7 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_5 1.95
+R_x_PM_NAND3_X2__A1_r8 N_A1_M2_g x_PM_NAND3_X2__A1_5 95.94
+R_x_PM_NAND3_X2__A1_r9 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_VSS 1.95
+R_x_PM_NAND3_X2__A1_r10 N_A1_M5_g x_PM_NAND3_X2__A1_VSS 35.1
+
+*********************************************NAND2_X2***********************************************
+M2_M2 N2_Zalp2_M0_d N2_A5_M0_g N2_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M2_M3 N2_VDD_M1_d N2_A4_M1_g N2_Zalp2_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M2_M0 62 N2_A5_M2_g N2_VSS_M2_s VSS NMOS_VTL L=0.050U W=0.260000U AS=0.027300P AD=0.036400P PS=0.730000U PD=0.800000U
+M2_M1 N2_Zalp2_M3_d N2_A4_M3_g 62 VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x2_PM_NAND2_X2__VSS_c0 VSS VSS 5.03826e-17
+C_x2_PM_NAND2_X2__VSS_c1 VSS x2_PM_NAND2_X2__VSS_6 1.04465e-17
+C_x2_PM_NAND2_X2__VSS_c2 VSS N2_VSS_M2_s 1.83058e-17
+R_x2_PM_NAND2_X2__VSS_r3 VSS x2_PM_NAND2_X2__VSS_6 0.391176
+R_x2_PM_NAND2_X2__VSS_r4 x2_PM_NAND2_X2__VSS_6 x2_PM_NAND2_X2__VSS_2 0.264221
+R_x2_PM_NAND2_X2__VSS_r5 N2_VSS_M2_s x2_PM_NAND2_X2__VSS_2 0.230714
+C_x2_PM_NAND2_X2__VDD_c0 VSS N2_VDD_M1_d 4.75732e-17
+C_x2_PM_NAND2_X2__VDD_c1 VSS x2_PM_NAND2_X2__VDD_7 4.67275e-17
+C_x2_PM_NAND2_X2__VDD_c2 VSS N2_VDD_M0_s 2.99432e-17
+C_x2_PM_NAND2_X2__VDD_c3 VSS x2_PM_NAND2_X2__VDD_3 1.06496e-17
+R_x2_PM_NAND2_X2__VDD_r4 N2_VDD_M1_d x2_PM_NAND2_X2__VDD_9 0.420714
+R_x2_PM_NAND2_X2__VDD_r5 VDD x2_PM_NAND2_X2__VDD_8 0.195294
+R_x2_PM_NAND2_X2__VDD_r6 x2_PM_NAND2_X2__VDD_9 x2_PM_NAND2_X2__VDD_7 0.264221
+R_x2_PM_NAND2_X2__VDD_r7 x2_PM_NAND2_X2__VDD_8 x2_PM_NAND2_X2__VDD_7 0.681765
+R_x2_PM_NAND2_X2__VDD_r8 VDD x2_PM_NAND2_X2__VDD_3 0.0689273
+R_x2_PM_NAND2_X2__VDD_r9 N2_VDD_M0_s x2_PM_NAND2_X2__VDD_3 0.420714
+C_x2_PM_NAND2_X2__A5_c0 VSS x2_PM_NAND2_X2__A5_14 7.51478e-18
+C_x2_PM_NAND2_X2__A5_c1 VSS A5 6.01437e-17
+C_x2_PM_NAND2_X2__A5_c2 VSS N2_A5_M0_g 8.26414e-17
+C_x2_PM_NAND2_X2__A5_c3 VSS N2_A5_M2_g 3.58741e-17
+R_x2_PM_NAND2_X2__A5_r4 x2_PM_NAND2_X2__A5_18 x2_PM_NAND2_X2__A5_14 4.74714
+R_x2_PM_NAND2_X2__A5_r5 x2_PM_NAND2_X2__A5_17 x2_PM_NAND2_X2__A5_14 4.74714
+R_x2_PM_NAND2_X2__A5_r6 x2_PM_NAND2_X2__A5_14 x2_PM_NAND2_X2__A5_12 25.0012
+R_x2_PM_NAND2_X2__A5_r7 x2_PM_NAND2_X2__A5_12 A5 0.266
+R_x2_PM_NAND2_X2__A5_r8 N2_A5_M0_g x2_PM_NAND2_X2__A5_18 103.74
+R_x2_PM_NAND2_X2__A5_r9 N2_A5_M2_g x2_PM_NAND2_X2__A5_17 28.08
+C_x2_PM_NAND2_X2__Zalp2_c0 VSS N2_Zalp2_M3_d 9.46701e-17
+C_x2_PM_NAND2_X2__Zalp2_c1 VSS x2_PM_NAND2_X2__Zalp2_8 7.68686e-18
+C_x2_PM_NAND2_X2__Zalp2_c2 VSS x2_PM_NAND2_X2__Zalp2_7 3.24105e-17
+C_x2_PM_NAND2_X2__Zalp2_c3 VSS N2_Zalp2_M0_d 6.2878e-17
+R_x2_PM_NAND2_X2__Zalp2_r4 Zalp2 N2_Zalp2_M3_d 1.93167
+R_x2_PM_NAND2_X2__Zalp2_r5 Zalp2 x2_PM_NAND2_X2__Zalp2_9 0.527778
+R_x2_PM_NAND2_X2__Zalp2_r6 x2_PM_NAND2_X2__Zalp2_9 x2_PM_NAND2_X2__Zalp2_7 0.21666
+R_x2_PM_NAND2_X2__Zalp2_r7 x2_PM_NAND2_X2__Zalp2_8 x2_PM_NAND2_X2__Zalp2_7 0.624286
+R_x2_PM_NAND2_X2__Zalp2_r8 x2_PM_NAND2_X2__Zalp2_8 x2_PM_NAND2_X2__Zalp2_3 0.212317
+R_x2_PM_NAND2_X2__Zalp2_r9 N2_Zalp2_M0_d x2_PM_NAND2_X2__Zalp2_3 1.18071
+C_x2_PM_NAND2_X2__A4_c0 VSS x2_PM_NAND2_X2__A4_18 1.23667e-17
+C_x2_PM_NAND2_X2__A4_c1 VSS A4 8.87208e-17
+C_x2_PM_NAND2_X2__A4_c2 VSS N2_A4_M1_g 9.96411e-17
+C_x2_PM_NAND2_X2__A4_c3 VSS N2_A4_M3_g 3.7962e-17
+R_x2_PM_NAND2_X2__A4_r4 x2_PM_NAND2_X2__A4_18 x2_PM_NAND2_X2__A4_14 3.9
+R_x2_PM_NAND2_X2__A4_r5 x2_PM_NAND2_X2__A4_14 x2_PM_NAND2_X2__A4_12 25.0012
+R_x2_PM_NAND2_X2__A4_r6 x2_PM_NAND2_X2__A4_12 A4 0.316667
+R_x2_PM_NAND2_X2__A4_r7 x2_PM_NAND2_X2__A4_18 x2_PM_NAND2_X2__A4_5 1.95
+R_x2_PM_NAND2_X2__A4_r8 N2_A4_M1_g x2_PM_NAND2_X2__A4_5 103.74
+R_x2_PM_NAND2_X2__A4_r9 x2_PM_NAND2_X2__A4_18 x2_PM_NAND2_X2__A4_VSS 1.95
+R_x2_PM_NAND2_X2__A4_r10 N2_A4_M3_g x2_PM_NAND2_X2__A4_VSS 28.08
+
+***************************************NOR2_X2*****************************************************************
+M3_M2 63 N3_Zalp2_M0_g N3_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.390000U AS=0.040950P AD=0.054600P PS=0.990000U PD=1.060000U
+M3_M3 N3_ZN3_M1_d N3_Zalp1_M1_g 63 VDD PMOS_VTL L=0.050U W=0.390000U AS=0.054600P AD=0.040950P PS=1.060000U PD=0.990000U
+M3_M0 N3_ZN3_M2_d N3_Zalp2_M2_g N3_VSS_M2_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M3_M1 N3_VSS_M3_d N3_Zalp1_M3_g N3_ZN3_M2_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x3_PM_NOR2_X2__VSS_c0 VSS N3_VSS_M3_d 1.9003e-17
+C_x3_PM_NOR2_X2__VSS_c1 VSS x3_PM_NOR2_X2__VSS_8 1.14613e-17
+C_x3_PM_NOR2_X2__VSS_c2 VSS x3_PM_NOR2_X2__VSS_7 5.12113e-17
+C_x3_PM_NOR2_X2__VSS_c3 VSS N3_VSS_M2_s 1.7976e-17
+R_x3_PM_NOR2_X2__VSS_r4 N3_VSS_M3_d x3_PM_NOR2_X2__VSS_11 0.230714
+R_x3_PM_NOR2_X2__VSS_r5 VSS x3_PM_NOR2_X2__VSS_8 0.357647
+R_x3_PM_NOR2_X2__VSS_r6 x3_PM_NOR2_X2__VSS_11 x3_PM_NOR2_X2__VSS_7 0.264221
+R_x3_PM_NOR2_X2__VSS_r7 VSS x3_PM_NOR2_X2__VSS_7 0.324118
+R_x3_PM_NOR2_X2__VSS_r8 x3_PM_NOR2_X2__VSS_8 x3_PM_NOR2_X2__VSS_3 0.264221
+R_x3_PM_NOR2_X2__VSS_r9 N3_VSS_M2_s x3_PM_NOR2_X2__VSS_3 0.230714
+C_x3_PM_NOR2_X2__VDD_c0 VSS VDD 5.55967e-17
+C_x3_PM_NOR2_X2__VDD_c1 VSS N3_VDD_M0_s 2.30938e-17
+R_x3_PM_NOR2_X2__VDD_r2 x3_PM_NOR2_X2__VDD_10 VDD 0.0881799
+R_x3_PM_NOR2_X2__VDD_r3 N3_VDD_M0_s x3_PM_NOR2_X2__VDD_10 0.230714
+C_x3_PM_NOR2_X2__Zalp2_c0 VSS x3_PM_NOR2_X2__Zalp2_18 8.24826e-18
+C_x3_PM_NOR2_X2__Zalp2_c1 VSS x3_PM_NOR2_X2__Zalp2_12 4.45792e-17
+C_x3_PM_NOR2_X2__Zalp2_c2 VSS N3_Zalp2_M0_g 9.21574e-17
+C_x3_PM_NOR2_X2__Zalp2_c3 VSS N3_Zalp2_M2_g 3.09335e-17
+R_x3_PM_NOR2_X2__Zalp2_r4 x3_PM_NOR2_X2__Zalp2_18 x3_PM_NOR2_X2__Zalp2_14 3.38
+R_x3_PM_NOR2_X2__Zalp2_r5 x3_PM_NOR2_X2__Zalp2_14 x3_PM_NOR2_X2__Zalp2_12 25.0012
+R_x3_PM_NOR2_X2__Zalp2_r6 x3_PM_NOR2_X2__Zalp2_12 Zalp2 0.15069
+R_x3_PM_NOR2_X2__Zalp2_r7 x3_PM_NOR2_X2__Zalp2_18 x3_PM_NOR2_X2__Zalp2_5 1.95
+R_x3_PM_NOR2_X2__Zalp2_r8 N3_Zalp2_M0_g x3_PM_NOR2_X2__Zalp2_5 112.32
+R_x3_PM_NOR2_X2__Zalp2_r9 x3_PM_NOR2_X2__Zalp2_18 x3_PM_NOR2_X2__Zalp2_VSS 1.95
+R_x3_PM_NOR2_X2__Zalp2_r10 N3_Zalp2_M2_g x3_PM_NOR2_X2__Zalp2_VSS 21.84
+C_x3_PM_NOR2_X2__ZN3_c0 VSS N3_ZN3_M1_d 5.96075e-17
+C_x3_PM_NOR2_X2__ZN3_c1 VSS x3_PM_NOR2_X2__ZN3_9 3.74417e-17
+C_x3_PM_NOR2_X2__ZN3_c2 VSS ZN 7.19517e-18
+C_x3_PM_NOR2_X2__ZN3_c3 VSS N3_ZN3_M2_d 8.47483e-17
+R_x3_PM_NOR2_X2__ZN3_r4 N3_ZN3_M1_d x3_PM_NOR2_X2__ZN3_11 2.91786
+R_x3_PM_NOR2_X2__ZN3_r5 x3_PM_NOR2_X2__ZN3_11 x3_PM_NOR2_X2__ZN3_9 0.212317
+R_x3_PM_NOR2_X2__ZN3_r6 x3_PM_NOR2_X2__ZN3_10 x3_PM_NOR2_X2__ZN3_9 0.597143
+R_x3_PM_NOR2_X2__ZN3_r7 x3_PM_NOR2_X2__ZN3_10 ZN 0.212317
+R_x3_PM_NOR2_X2__ZN3_r8 ZN x3_PM_NOR2_X2__ZN3_7 0.000542857
+R_x3_PM_NOR2_X2__ZN3_r9 x3_PM_NOR2_X2__ZN3_7 N3_ZN3_M2_d 1.39731
+C_x3_PM_NOR2_X2__Zalp1_c0 VSS Zalp1 6.50458e-17
+C_x3_PM_NOR2_X2__Zalp1_c1 VSS x3_PM_NOR2_X2__Zalp1_11 9.81933e-18
+C_x3_PM_NOR2_X2__Zalp1_c2 VSS N3_Zalp1_M1_g 1.07185e-16
+C_x3_PM_NOR2_X2__Zalp1_c3 VSS N3_Zalp1_M3_g 3.09279e-17
+R_x3_PM_NOR2_X2__Zalp1_r4 x3_PM_NOR2_X2__Zalp1_11 x3_PM_NOR2_X2__Zalp1_16 4.42
+R_x3_PM_NOR2_X2__Zalp1_r5 x3_PM_NOR2_X2__Zalp1_11 x3_PM_NOR2_X2__Zalp1_9 25.0012
+R_x3_PM_NOR2_X2__Zalp1_r6 Zalp1 x3_PM_NOR2_X2__Zalp1_9 0.15069
+R_x3_PM_NOR2_X2__Zalp1_r7 x3_PM_NOR2_X2__Zalp1_16 x3_PM_NOR2_X2__Zalp1_5 1.95
+R_x3_PM_NOR2_X2__Zalp1_r8 N3_Zalp1_M1_g x3_PM_NOR2_X2__Zalp1_5 112.32
+R_x3_PM_NOR2_X2__Zalp1_r9 x3_PM_NOR2_X2__Zalp1_16 x3_PM_NOR2_X2__Zalp1_VSS 1.95
+R_x3_PM_NOR2_X2__Zalp1_r10 N3_Zalp1_M3_g x3_PM_NOR2_X2__Zalp1_VSS 21.84
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/and8.sp b/LibNanGate45nm/and8.sp
new file mode 100644
index 0000000..8f3ec06
--- /dev/null
+++ b/LibNanGate45nm/and8.sp
@@ -0,0 +1,239 @@
+.SUBCKT and8 A1 A2 A3 A4 A5 A6 A7 A8 VDD VSS ZN
+*******************************************************NAND4_X2*******************************************
+M_M4 N_Zalp1_M0_d N_A4_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M5 N_VDD_M1_d N_A3_M1_g N_Zalp1_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M6 N_Zalp1_M2_d N_A2_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M7 N_VDD_M3_d N_A1_M3_g N_Zalp1_M2_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 8 N_A4_M4_g N_VSS_M4_s VSS NMOS_VTL L=0.050U W=0.430000U AS=0.045150P AD=0.060200P PS=1.070000U PD=1.140000U
+M_M1 9 N_A3_M5_g 8 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M_M2 10 N_A2_M6_g 9 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M_M3 N_Zalp1_M7_d N_A1_M7_g 10 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.045150P PS=1.140000U PD=1.070000U
+C_x_PM_NAND4_X2__VSS_c0 VSS VSS 8.25672e-17
+C_x_PM_NAND4_X2__VSS_c1 VSS x_PM_NAND4_X2__VSS_6 1.06295e-17
+C_x_PM_NAND4_X2__VSS_c2 VSS N_VSS_M4_s 1.83032e-17
+R_x_PM_NAND4_X2__VSS_r3 VSS x_PM_NAND4_X2__VSS_6 0.815882
+R_x_PM_NAND4_X2__VSS_r4 x_PM_NAND4_X2__VSS_6 x_PM_NAND4_X2__VSS_2 0.264221
+R_x_PM_NAND4_X2__VSS_r5 N_VSS_M4_s x_PM_NAND4_X2__VSS_2 0.230714
+C_x_PM_NAND4_X2__VDD_c0 VSS x_PM_NAND4_X2__VDD_21 2.22427e-17
+C_x_PM_NAND4_X2__VDD_c1 VSS x_PM_NAND4_X2__VDD_18 2.85296e-17
+C_x_PM_NAND4_X2__VDD_c2 VSS N_VDD_M3_d 1.65418e-17
+C_x_PM_NAND4_X2__VDD_c3 VSS x_PM_NAND4_X2__VDD_10 4.55249e-17
+C_x_PM_NAND4_X2__VDD_c4 VSS x_PM_NAND4_X2__VDD_9 1.06862e-17
+C_x_PM_NAND4_X2__VDD_c5 VSS N_VDD_M0_s 2.46607e-17
+R_x_PM_NAND4_X2__VDD_r6 x_PM_NAND4_X2__VDD_21 VDD 0.105776
+R_x_PM_NAND4_X2__VDD_r7 VDD N_VDD_M1_d 0.034898
+R_x_PM_NAND4_X2__VDD_r8 x_PM_NAND4_X2__VDD_18 N_VDD_M1_d 0.140674
+R_x_PM_NAND4_X2__VDD_r9 N_VDD_M3_d x_PM_NAND4_X2__VDD_12 0.230714
+R_x_PM_NAND4_X2__VDD_r10 x_PM_NAND4_X2__VDD_12 x_PM_NAND4_X2__VDD_10 0.264221
+R_x_PM_NAND4_X2__VDD_r11 x_PM_NAND4_X2__VDD_21 x_PM_NAND4_X2__VDD_10 0.614706
+R_x_PM_NAND4_X2__VDD_r12 x_PM_NAND4_X2__VDD_9 x_PM_NAND4_X2__VDD_18 0.614706
+R_x_PM_NAND4_X2__VDD_r13 x_PM_NAND4_X2__VDD_9 x_PM_NAND4_X2__VDD_4 0.264221
+R_x_PM_NAND4_X2__VDD_r14 N_VDD_M0_s x_PM_NAND4_X2__VDD_4 0.230714
+C_x_PM_NAND4_X2__A4_c0 VSS x_PM_NAND4_X2__A4_16 6.55889e-18
+C_x_PM_NAND4_X2__A4_c1 VSS x_PM_NAND4_X2__A4_14 1.05776e-17
+C_x_PM_NAND4_X2__A4_c2 VSS x_PM_NAND4_X2__A4_9 5.54991e-17
+C_x_PM_NAND4_X2__A4_c3 VSS N_A4_M0_g 5.70968e-17
+C_x_PM_NAND4_X2__A4_c4 VSS N_A4_M4_g 6.56165e-17
+R_x_PM_NAND4_X2__A4_r5 x_PM_NAND4_X2__A4_20 x_PM_NAND4_X2__A4_16 4.7687
+R_x_PM_NAND4_X2__A4_r6 x_PM_NAND4_X2__A4_19 x_PM_NAND4_X2__A4_16 4.7687
+R_x_PM_NAND4_X2__A4_r7 x_PM_NAND4_X2__A4_16 x_PM_NAND4_X2__A4_14 25.0012
+R_x_PM_NAND4_X2__A4_r8 x_PM_NAND4_X2__A4_14 x_PM_NAND4_X2__A4_12 0.175926
+R_x_PM_NAND4_X2__A4_r9 x_PM_NAND4_X2__A4_12 x_PM_NAND4_X2__A4_9 0.095
+R_x_PM_NAND4_X2__A4_r10 A4 x_PM_NAND4_X2__A4_9 0.407143
+R_x_PM_NAND4_X2__A4_r11 N_A4_M0_g x_PM_NAND4_X2__A4_20 56.94
+R_x_PM_NAND4_X2__A4_r12 N_A4_M4_g x_PM_NAND4_X2__A4_19 67.08
+C_x_PM_NAND4_X2__Zalp1_c0 VSS x_PM_NAND4_X2__Zalp1_18 4.60917e-18
+C_x_PM_NAND4_X2__Zalp1_c1 VSS x_PM_NAND4_X2__Zalp1_17 5.36046e-17
+C_x_PM_NAND4_X2__Zalp1_c2 VSS Zalp1 2.74872e-17
+C_x_PM_NAND4_X2__Zalp1_c3 VSS x_PM_NAND4_X2__Zalp1_4 1.04221e-16
+R_x_PM_NAND4_X2__Zalp1_r4 x_PM_NAND4_X2__Zalp1_17 x_PM_NAND4_X2__Zalp1_18 2.66
+R_x_PM_NAND4_X2__Zalp1_r5 N_Zalp1_M7_d Zalp1 0.53
+R_x_PM_NAND4_X2__Zalp1_r6 x_PM_NAND4_X2__Zalp1_18 x_PM_NAND4_X2__Zalp1_10 0.217071
+R_x_PM_NAND4_X2__Zalp1_r7 N_Zalp1_M7_d x_PM_NAND4_X2__Zalp1_10 0.1
+R_x_PM_NAND4_X2__Zalp1_r8 N_Zalp1_M2_d N_Zalp1_M0_d 2.03571
+R_x_PM_NAND4_X2__Zalp1_r9 x_PM_NAND4_X2__Zalp1_17 x_PM_NAND4_X2__Zalp1_4 0.212317
+R_x_PM_NAND4_X2__Zalp1_r10 N_Zalp1_M2_d x_PM_NAND4_X2__Zalp1_4 0.990714
+C_x_PM_NAND4_X2__A3_c0 VSS x_PM_NAND4_X2__A3_16 8.19497e-18
+C_x_PM_NAND4_X2__A3_c1 VSS x_PM_NAND4_X2__A3_14 2.87605e-17
+C_x_PM_NAND4_X2__A3_c2 VSS x_PM_NAND4_X2__A3_9 4.18416e-17
+C_x_PM_NAND4_X2__A3_c3 VSS N_A3_M1_g 7.29487e-17
+C_x_PM_NAND4_X2__A3_c4 VSS N_A3_M5_g 5.25208e-17
+R_x_PM_NAND4_X2__A3_r5 x_PM_NAND4_X2__A3_20 x_PM_NAND4_X2__A3_16 4.7687
+R_x_PM_NAND4_X2__A3_r6 x_PM_NAND4_X2__A3_19 x_PM_NAND4_X2__A3_16 4.7687
+R_x_PM_NAND4_X2__A3_r7 x_PM_NAND4_X2__A3_16 x_PM_NAND4_X2__A3_14 25.0012
+R_x_PM_NAND4_X2__A3_r8 x_PM_NAND4_X2__A3_14 x_PM_NAND4_X2__A3_12 0.246296
+R_x_PM_NAND4_X2__A3_r9 x_PM_NAND4_X2__A3_12 x_PM_NAND4_X2__A3_9 0.095
+R_x_PM_NAND4_X2__A3_r10 A3 x_PM_NAND4_X2__A3_9 0.298571
+R_x_PM_NAND4_X2__A3_r11 N_A3_M1_g x_PM_NAND4_X2__A3_20 81.9
+R_x_PM_NAND4_X2__A3_r12 N_A3_M5_g x_PM_NAND4_X2__A3_19 42.12
+C_x_PM_NAND4_X2__A2_c0 VSS A2 3.11586e-17
+C_x_PM_NAND4_X2__A2_c1 VSS x_PM_NAND4_X2__A2_12 8.82597e-18
+C_x_PM_NAND4_X2__A2_c2 VSS x_PM_NAND4_X2__A2_10 2.65815e-17
+C_x_PM_NAND4_X2__A2_c3 VSS N_A2_M2_g 7.35018e-17
+C_x_PM_NAND4_X2__A2_c4 VSS N_A2_M6_g 4.85913e-17
+R_x_PM_NAND4_X2__A2_r5 x_PM_NAND4_X2__A2_17 A2 0.287272
+R_x_PM_NAND4_X2__A2_r6 x_PM_NAND4_X2__A2_20 x_PM_NAND4_X2__A2_12 4.7687
+R_x_PM_NAND4_X2__A2_r7 x_PM_NAND4_X2__A2_19 x_PM_NAND4_X2__A2_12 4.7687
+R_x_PM_NAND4_X2__A2_r8 x_PM_NAND4_X2__A2_12 x_PM_NAND4_X2__A2_10 25.0012
+R_x_PM_NAND4_X2__A2_r9 x_PM_NAND4_X2__A2_10 x_PM_NAND4_X2__A2_17 1.045
+R_x_PM_NAND4_X2__A2_r10 N_A2_M2_g x_PM_NAND4_X2__A2_20 81.9
+R_x_PM_NAND4_X2__A2_r11 N_A2_M6_g x_PM_NAND4_X2__A2_19 42.12
+C_x_PM_NAND4_X2__A1_c0 VSS x_PM_NAND4_X2__A1_14 9.95936e-18
+C_x_PM_NAND4_X2__A1_c1 VSS x_PM_NAND4_X2__A1_12 6.14869e-17
+C_x_PM_NAND4_X2__A1_c2 VSS N_A1_M3_g 4.84558e-17
+C_x_PM_NAND4_X2__A1_c3 VSS N_A1_M7_g 8.95683e-17
+R_x_PM_NAND4_X2__A1_r4 x_PM_NAND4_X2__A1_18 x_PM_NAND4_X2__A1_14 4.7687
+R_x_PM_NAND4_X2__A1_r5 x_PM_NAND4_X2__A1_17 x_PM_NAND4_X2__A1_14 4.7687
+R_x_PM_NAND4_X2__A1_r6 x_PM_NAND4_X2__A1_14 x_PM_NAND4_X2__A1_12 25.0012
+R_x_PM_NAND4_X2__A1_r7 x_PM_NAND4_X2__A1_12 A1 0.169643
+R_x_PM_NAND4_X2__A1_r8 N_A1_M3_g x_PM_NAND4_X2__A1_18 35.88
+R_x_PM_NAND4_X2__A1_r9 N_A1_M7_g x_PM_NAND4_X2__A1_17 88.14
+
+*******************************************************NAND4_X2*******************************************
+M2_M4 N2_Zalp2_M0_d N2_A8_M0_g N2_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M2_M5 N2_VDD_M1_d N2_A7_M1_g N2_Zalp2_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M2_M6 N2_Zalp2_M2_d N2_A6_M2_g N2_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M2_M7 N2_VDD_M3_d N2_A5_M3_g N2_Zalp2_M2_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M2_M0 82 N2_A8_M4_g N2_VSS_M4_s VSS NMOS_VTL L=0.050U W=0.430000U AS=0.045150P AD=0.060200P PS=1.070000U PD=1.140000U
+M2_M1 92 N2_A7_M5_g 82 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M2_M2 102 N2_A6_M6_g 92 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M2_M3 N2_Zalp2_M7_d N2_A5_M7_g 102 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.045150P PS=1.140000U PD=1.070000U
+C_x2_PM2_NAND4_X2__VSS_c0 VSS VSS 8.25672e-17
+C_x2_PM2_NAND4_X2__VSS_c1 VSS x2_PM2_NAND4_X2__VSS_6 1.06295e-17
+C_x2_PM2_NAND4_X2__VSS_c2 VSS N2_VSS_M4_s 1.83032e-17
+R_x2_PM2_NAND4_X2__VSS_r3 VSS x2_PM2_NAND4_X2__VSS_6 0.815882
+R_x2_PM2_NAND4_X2__VSS_r4 x2_PM2_NAND4_X2__VSS_6 x2_PM2_NAND4_X2__VSS_2 0.264221
+R_x2_PM2_NAND4_X2__VSS_r5 N2_VSS_M4_s x2_PM2_NAND4_X2__VSS_2 0.230714
+C_x2_PM2_NAND4_X2__VDD_c0 VSS x2_PM2_NAND4_X2__VDD_21 2.22427e-17
+C_x2_PM2_NAND4_X2__VDD_c1 VSS x2_PM2_NAND4_X2__VDD_18 2.85296e-17
+C_x2_PM2_NAND4_X2__VDD_c2 VSS N2_VDD_M3_d 1.65418e-17
+C_x2_PM2_NAND4_X2__VDD_c3 VSS x2_PM2_NAND4_X2__VDD_10 4.55249e-17
+C_x2_PM2_NAND4_X2__VDD_c4 VSS x2_PM2_NAND4_X2__VDD_9 1.06862e-17
+C_x2_PM2_NAND4_X2__VDD_c5 VSS N2_VDD_M0_s 2.46607e-17
+R_x2_PM2_NAND4_X2__VDD_r6 x2_PM2_NAND4_X2__VDD_21 VDD 0.105776
+R_x2_PM2_NAND4_X2__VDD_r7 VDD N2_VDD_M1_d 0.034898
+R_x2_PM2_NAND4_X2__VDD_r8 x2_PM2_NAND4_X2__VDD_18 N2_VDD_M1_d 0.140674
+R_x2_PM2_NAND4_X2__VDD_r9 N2_VDD_M3_d x2_PM2_NAND4_X2__VDD_12 0.230714
+R_x2_PM2_NAND4_X2__VDD_r10 x2_PM2_NAND4_X2__VDD_12 x2_PM2_NAND4_X2__VDD_10 0.264221
+R_x2_PM2_NAND4_X2__VDD_r11 x2_PM2_NAND4_X2__VDD_21 x2_PM2_NAND4_X2__VDD_10 0.614706
+R_x2_PM2_NAND4_X2__VDD_r12 x2_PM2_NAND4_X2__VDD_9 x2_PM2_NAND4_X2__VDD_18 0.614706
+R_x2_PM2_NAND4_X2__VDD_r13 x2_PM2_NAND4_X2__VDD_9 x2_PM2_NAND4_X2__VDD_4 0.264221
+R_x2_PM2_NAND4_X2__VDD_r14 N2_VDD_M0_s x2_PM2_NAND4_X2__VDD_4 0.230714
+C_x2_PM2_NAND4_X2__A8_c0 VSS x2_PM2_NAND4_X2__A8_16 6.55889e-18
+C_x2_PM2_NAND4_X2__A8_c1 VSS x2_PM2_NAND4_X2__A8_14 1.05776e-17
+C_x2_PM2_NAND4_X2__A8_c2 VSS x2_PM2_NAND4_X2__A8_9 5.54991e-17
+C_x2_PM2_NAND4_X2__A8_c3 VSS N2_A8_M0_g 5.70968e-17
+C_x2_PM2_NAND4_X2__A8_c4 VSS N2_A8_M4_g 6.56165e-17
+R_x2_PM2_NAND4_X2__A8_r5 x2_PM2_NAND4_X2__A8_20 x2_PM2_NAND4_X2__A8_16 4.7687
+R_x2_PM2_NAND4_X2__A8_r6 x2_PM2_NAND4_X2__A8_19 x2_PM2_NAND4_X2__A8_16 4.7687
+R_x2_PM2_NAND4_X2__A8_r7 x2_PM2_NAND4_X2__A8_16 x2_PM2_NAND4_X2__A8_14 25.0012
+R_x2_PM2_NAND4_X2__A8_r8 x2_PM2_NAND4_X2__A8_14 x2_PM2_NAND4_X2__A8_12 0.175926
+R_x2_PM2_NAND4_X2__A8_r9 x2_PM2_NAND4_X2__A8_12 x2_PM2_NAND4_X2__A8_9 0.095
+R_x2_PM2_NAND4_X2__A8_r10 A8 x2_PM2_NAND4_X2__A8_9 0.407143
+R_x2_PM2_NAND4_X2__A8_r11 N2_A8_M0_g x2_PM2_NAND4_X2__A8_20 56.94
+R_x2_PM2_NAND4_X2__A8_r12 N2_A8_M4_g x2_PM2_NAND4_X2__A8_19 67.08
+C_x2_PM2_NAND4_X2__Zalp2_c0 VSS x2_PM2_NAND4_X2__Zalp2_18 4.60917e-18
+C_x2_PM2_NAND4_X2__Zalp2_c1 VSS x2_PM2_NAND4_X2__Zalp2_17 5.36046e-17
+C_x2_PM2_NAND4_X2__Zalp2_c2 VSS Zalp2 2.74872e-17
+C_x2_PM2_NAND4_X2__Zalp2_c3 VSS x2_PM2_NAND4_X2__Zalp2_4 1.04221e-16
+R_x2_PM2_NAND4_X2__Zalp2_r4 x2_PM2_NAND4_X2__Zalp2_17 x2_PM2_NAND4_X2__Zalp2_18 2.66
+R_x2_PM2_NAND4_X2__Zalp2_r5 N2_Zalp2_M7_d Zalp2 0.53
+R_x2_PM2_NAND4_X2__Zalp2_r6 x2_PM2_NAND4_X2__Zalp2_18 x2_PM2_NAND4_X2__Zalp2_10 0.217071
+R_x2_PM2_NAND4_X2__Zalp2_r7 N2_Zalp2_M7_d x2_PM2_NAND4_X2__Zalp2_10 0.1
+R_x2_PM2_NAND4_X2__Zalp2_r8 N2_Zalp2_M2_d N2_Zalp2_M0_d 2.03571
+R_x2_PM2_NAND4_X2__Zalp2_r9 x2_PM2_NAND4_X2__Zalp2_17 x2_PM2_NAND4_X2__Zalp2_4 0.212317
+R_x2_PM2_NAND4_X2__Zalp2_r10 N2_Zalp2_M2_d x2_PM2_NAND4_X2__Zalp2_4 0.990714
+C_x2_PM2_NAND4_X2__A7_c0 VSS x2_PM2_NAND4_X2__A7_16 8.19497e-18
+C_x2_PM2_NAND4_X2__A7_c1 VSS x2_PM2_NAND4_X2__A7_14 2.87605e-17
+C_x2_PM2_NAND4_X2__A7_c2 VSS x2_PM2_NAND4_X2__A7_9 4.18416e-17
+C_x2_PM2_NAND4_X2__A7_c3 VSS N2_A7_M1_g 7.29487e-17
+C_x2_PM2_NAND4_X2__A7_c4 VSS N2_A7_M5_g 5.25208e-17
+R_x2_PM2_NAND4_X2__A7_r5 x2_PM2_NAND4_X2__A7_20 x2_PM2_NAND4_X2__A7_16 4.7687
+R_x2_PM2_NAND4_X2__A7_r6 x2_PM2_NAND4_X2__A7_19 x2_PM2_NAND4_X2__A7_16 4.7687
+R_x2_PM2_NAND4_X2__A7_r7 x2_PM2_NAND4_X2__A7_16 x2_PM2_NAND4_X2__A7_14 25.0012
+R_x2_PM2_NAND4_X2__A7_r8 x2_PM2_NAND4_X2__A7_14 x2_PM2_NAND4_X2__A7_12 0.246296
+R_x2_PM2_NAND4_X2__A7_r9 x2_PM2_NAND4_X2__A7_12 x2_PM2_NAND4_X2__A7_9 0.095
+R_x2_PM2_NAND4_X2__A7_r10 A7 x2_PM2_NAND4_X2__A7_9 0.298571
+R_x2_PM2_NAND4_X2__A7_r11 N2_A7_M1_g x2_PM2_NAND4_X2__A7_20 81.9
+R_x2_PM2_NAND4_X2__A7_r12 N2_A7_M5_g x2_PM2_NAND4_X2__A7_19 42.12
+C_x2_PM2_NAND4_X2__A6_c0 VSS A6 3.11586e-17
+C_x2_PM2_NAND4_X2__A6_c1 VSS x2_PM2_NAND4_X2__A6_12 8.82597e-18
+C_x2_PM2_NAND4_X2__A6_c2 VSS x2_PM2_NAND4_X2__A6_10 2.65815e-17
+C_x2_PM2_NAND4_X2__A6_c3 VSS N2_A6_M2_g 7.35018e-17
+C_x2_PM2_NAND4_X2__A6_c4 VSS N2_A6_M6_g 4.85913e-17
+R_x2_PM2_NAND4_X2__A6_r5 x2_PM2_NAND4_X2__A6_17 A6 0.287272
+R_x2_PM2_NAND4_X2__A6_r6 x2_PM2_NAND4_X2__A6_20 x2_PM2_NAND4_X2__A6_12 4.7687
+R_x2_PM2_NAND4_X2__A6_r7 x2_PM2_NAND4_X2__A6_19 x2_PM2_NAND4_X2__A6_12 4.7687
+R_x2_PM2_NAND4_X2__A6_r8 x2_PM2_NAND4_X2__A6_12 x2_PM2_NAND4_X2__A6_10 25.0012
+R_x2_PM2_NAND4_X2__A6_r9 x2_PM2_NAND4_X2__A6_10 x2_PM2_NAND4_X2__A6_17 1.045
+R_x2_PM2_NAND4_X2__A6_r10 N2_A6_M2_g x2_PM2_NAND4_X2__A6_20 81.9
+R_x2_PM2_NAND4_X2__A6_r11 N2_A6_M6_g x2_PM2_NAND4_X2__A6_19 42.12
+C_x2_PM2_NAND4_X2__A5_c0 VSS x2_PM2_NAND4_X2__A5_14 9.95936e-18
+C_x2_PM2_NAND4_X2__A5_c1 VSS x2_PM2_NAND4_X2__A5_12 6.14869e-17
+C_x2_PM2_NAND4_X2__A5_c2 VSS N2_A5_M3_g 4.84558e-17
+C_x2_PM2_NAND4_X2__A5_c3 VSS N2_A5_M7_g 8.95683e-17
+R_x2_PM2_NAND4_X2__A5_r4 x2_PM2_NAND4_X2__A5_18 x2_PM2_NAND4_X2__A5_14 4.7687
+R_x2_PM2_NAND4_X2__A5_r5 x2_PM2_NAND4_X2__A5_17 x2_PM2_NAND4_X2__A5_14 4.7687
+R_x2_PM2_NAND4_X2__A5_r6 x2_PM2_NAND4_X2__A5_14 x2_PM2_NAND4_X2__A5_12 25.0012
+R_x2_PM2_NAND4_X2__A5_r7 x2_PM2_NAND4_X2__A5_12 A5 0.169643
+R_x2_PM2_NAND4_X2__A5_r8 N2_A5_M3_g x2_PM2_NAND4_X2__A5_18 35.88
+R_x2_PM2_NAND4_X2__A5_r9 N2_A5_M7_g x2_PM2_NAND4_X2__A5_17 88.14
+
+**************************************************NOR2_X2**********************************************
+M3_M2 63 N3_Zalp2_M0_g N3_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.390000U AS=0.040950P AD=0.054600P PS=0.990000U PD=1.060000U
+M3_M3 N3_ZN3_M1_d N3_Zalp1_M1_g 63 VDD PMOS_VTL L=0.050U W=0.390000U AS=0.054600P AD=0.040950P PS=1.060000U PD=0.990000U
+M3_M0 N3_ZN3_M2_d N3_Zalp2_M2_g N3_VSS_M2_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M3_M1 N3_VSS_M3_d N3_Zalp1_M3_g N3_ZN3_M2_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x3_PM_NOR2_X2__VSS_c0 VSS N3_VSS_M3_d 1.9003e-17
+C_x3_PM_NOR2_X2__VSS_c1 VSS x3_PM_NOR2_X2__VSS_8 1.14613e-17
+C_x3_PM_NOR2_X2__VSS_c2 VSS x3_PM_NOR2_X2__VSS_7 5.12113e-17
+C_x3_PM_NOR2_X2__VSS_c3 VSS N3_VSS_M2_s 1.7976e-17
+R_x3_PM_NOR2_X2__VSS_r4 N3_VSS_M3_d x3_PM_NOR2_X2__VSS_11 0.230714
+R_x3_PM_NOR2_X2__VSS_r5 VSS x3_PM_NOR2_X2__VSS_8 0.357647
+R_x3_PM_NOR2_X2__VSS_r6 x3_PM_NOR2_X2__VSS_11 x3_PM_NOR2_X2__VSS_7 0.264221
+R_x3_PM_NOR2_X2__VSS_r7 VSS x3_PM_NOR2_X2__VSS_7 0.324118
+R_x3_PM_NOR2_X2__VSS_r8 x3_PM_NOR2_X2__VSS_8 x3_PM_NOR2_X2__VSS_3 0.264221
+R_x3_PM_NOR2_X2__VSS_r9 N3_VSS_M2_s x3_PM_NOR2_X2__VSS_3 0.230714
+C_x3_PM_NOR2_X2__VDD_c0 VSS VDD 5.55967e-17
+C_x3_PM_NOR2_X2__VDD_c1 VSS N3_VDD_M0_s 2.30938e-17
+R_x3_PM_NOR2_X2__VDD_r2 x3_PM_NOR2_X2__VDD_10 VDD 0.0881799
+R_x3_PM_NOR2_X2__VDD_r3 N3_VDD_M0_s x3_PM_NOR2_X2__VDD_10 0.230714
+C_x3_PM_NOR2_X2__Zalp2_c0 VSS x3_PM_NOR2_X2__Zalp2_18 8.24826e-18
+C_x3_PM_NOR2_X2__Zalp2_c1 VSS x3_PM_NOR2_X2__Zalp2_12 4.45792e-17
+C_x3_PM_NOR2_X2__Zalp2_c2 VSS N3_Zalp2_M0_g 9.21574e-17
+C_x3_PM_NOR2_X2__Zalp2_c3 VSS N3_Zalp2_M2_g 3.09335e-17
+R_x3_PM_NOR2_X2__Zalp2_r4 x3_PM_NOR2_X2__Zalp2_18 x3_PM_NOR2_X2__Zalp2_14 3.38
+R_x3_PM_NOR2_X2__Zalp2_r5 x3_PM_NOR2_X2__Zalp2_14 x3_PM_NOR2_X2__Zalp2_12 25.0012
+R_x3_PM_NOR2_X2__Zalp2_r6 x3_PM_NOR2_X2__Zalp2_12 Zalp2 0.15069
+R_x3_PM_NOR2_X2__Zalp2_r7 x3_PM_NOR2_X2__Zalp2_18 x3_PM_NOR2_X2__Zalp2_5 1.95
+R_x3_PM_NOR2_X2__Zalp2_r8 N3_Zalp2_M0_g x3_PM_NOR2_X2__Zalp2_5 112.32
+R_x3_PM_NOR2_X2__Zalp2_r9 x3_PM_NOR2_X2__Zalp2_18 x3_PM_NOR2_X2__Zalp2_VSS 1.95
+R_x3_PM_NOR2_X2__Zalp2_r10 N3_Zalp2_M2_g x3_PM_NOR2_X2__Zalp2_VSS 21.84
+C_x3_PM_NOR2_X2__ZN3_c0 VSS N3_ZN3_M1_d 5.96075e-17
+C_x3_PM_NOR2_X2__ZN3_c1 VSS x3_PM_NOR2_X2__ZN3_9 3.74417e-17
+C_x3_PM_NOR2_X2__ZN3_c2 VSS ZN 7.19517e-18
+C_x3_PM_NOR2_X2__ZN3_c3 VSS N3_ZN3_M2_d 8.47483e-17
+R_x3_PM_NOR2_X2__ZN3_r4 N3_ZN3_M1_d x3_PM_NOR2_X2__ZN3_11 2.91786
+R_x3_PM_NOR2_X2__ZN3_r5 x3_PM_NOR2_X2__ZN3_11 x3_PM_NOR2_X2__ZN3_9 0.212317
+R_x3_PM_NOR2_X2__ZN3_r6 x3_PM_NOR2_X2__ZN3_10 x3_PM_NOR2_X2__ZN3_9 0.597143
+R_x3_PM_NOR2_X2__ZN3_r7 x3_PM_NOR2_X2__ZN3_10 ZN 0.212317
+R_x3_PM_NOR2_X2__ZN3_r8 ZN x3_PM_NOR2_X2__ZN3_7 0.000542857
+R_x3_PM_NOR2_X2__ZN3_r9 x3_PM_NOR2_X2__ZN3_7 N3_ZN3_M2_d 1.39731
+C_x3_PM_NOR2_X2__Zalp1_c0 VSS Zalp1 6.50458e-17
+C_x3_PM_NOR2_X2__Zalp1_c1 VSS x3_PM_NOR2_X2__Zalp1_11 9.81933e-18
+C_x3_PM_NOR2_X2__Zalp1_c2 VSS N3_Zalp1_M1_g 1.07185e-16
+C_x3_PM_NOR2_X2__Zalp1_c3 VSS N3_Zalp1_M3_g 3.09279e-17
+R_x3_PM_NOR2_X2__Zalp1_r4 x3_PM_NOR2_X2__Zalp1_11 x3_PM_NOR2_X2__Zalp1_16 4.42
+R_x3_PM_NOR2_X2__Zalp1_r5 x3_PM_NOR2_X2__Zalp1_11 x3_PM_NOR2_X2__Zalp1_9 25.0012
+R_x3_PM_NOR2_X2__Zalp1_r6 Zalp1 x3_PM_NOR2_X2__Zalp1_9 0.15069
+R_x3_PM_NOR2_X2__Zalp1_r7 x3_PM_NOR2_X2__Zalp1_16 x3_PM_NOR2_X2__Zalp1_5 1.95
+R_x3_PM_NOR2_X2__Zalp1_r8 N3_Zalp1_M1_g x3_PM_NOR2_X2__Zalp1_5 112.32
+R_x3_PM_NOR2_X2__Zalp1_r9 x3_PM_NOR2_X2__Zalp1_16 x3_PM_NOR2_X2__Zalp1_VSS 1.95
+R_x3_PM_NOR2_X2__Zalp1_r10 N3_Zalp1_M3_g x3_PM_NOR2_X2__Zalp1_VSS 21.84
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/and9.sp b/LibNanGate45nm/and9.sp
new file mode 100644
index 0000000..44ae913
--- /dev/null
+++ b/LibNanGate45nm/and9.sp
@@ -0,0 +1,271 @@
+.SUBCKT and9 A1 A2 A3 A4 A5 A6 A7 A8 A9 VDD VSS ZN
+**************************************************NAND3_X2***********************************************
+M_M3 N_Zalp1_M0_d N_A3_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M4 N_VDD_M1_d N_A2_M1_g N_Zalp1_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M5 N_Zalp1_M2_d N_A1_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 7 N_A3_M3_g N_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.340000U AS=0.035700P AD=0.047600P PS=0.890000U PD=0.960000U
+M_M1 8 N_A2_M4_g 7 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.047600P PS=0.960000U PD=0.960000U
+M_M2 N_Zalp1_M5_d N_A1_M5_g 8 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.035700P PS=0.960000U PD=0.890000U
+C_x_PM_NAND3_X2__VSS_c0 VSS VSS 7.02872e-17
+C_x_PM_NAND3_X2__VSS_c1 VSS x_PM_NAND3_X2__VSS_6 1.05487e-17
+C_x_PM_NAND3_X2__VSS_c2 VSS N_VSS_M3_s 1.8134e-17
+R_x_PM_NAND3_X2__VSS_r3 VSS x_PM_NAND3_X2__VSS_6 0.603529
+R_x_PM_NAND3_X2__VSS_r4 x_PM_NAND3_X2__VSS_6 x_PM_NAND3_X2__VSS_2 0.264221
+R_x_PM_NAND3_X2__VSS_r5 N_VSS_M3_s x_PM_NAND3_X2__VSS_2 0.230714
+C_x_PM_NAND3_X2__VDD_c0 VSS N_VDD_M1_d 6.12848e-17
+C_x_PM_NAND3_X2__VDD_c1 VSS x_PM_NAND3_X2__VDD_7 3.00804e-17
+C_x_PM_NAND3_X2__VDD_c2 VSS N_VDD_M0_s 2.5125e-17
+C_x_PM_NAND3_X2__VDD_c3 VSS x_PM_NAND3_X2__VDD_3 1.06055e-17
+R_x_PM_NAND3_X2__VDD_r4 VDD x_PM_NAND3_X2__VDD_8 0.195294
+R_x_PM_NAND3_X2__VDD_r5 x_PM_NAND3_X2__VDD_7 N_VDD_M1_d 0.140674
+R_x_PM_NAND3_X2__VDD_r6 x_PM_NAND3_X2__VDD_8 x_PM_NAND3_X2__VDD_7 0.614706
+R_x_PM_NAND3_X2__VDD_r7 VDD x_PM_NAND3_X2__VDD_3 0.0689273
+R_x_PM_NAND3_X2__VDD_r8 N_VDD_M0_s x_PM_NAND3_X2__VDD_3 0.230714
+C_x_PM_NAND3_X2__A3_c0 VSS x_PM_NAND3_X2__A3_14 6.68331e-18
+C_x_PM_NAND3_X2__A3_c1 VSS x_PM_NAND3_X2__A3_12 3.18495e-17
+C_x_PM_NAND3_X2__A3_c2 VSS N_A3_M0_g 7.81987e-17
+C_x_PM_NAND3_X2__A3_c3 VSS N_A3_M3_g 4.14029e-17
+R_x_PM_NAND3_X2__A3_r4 x_PM_NAND3_X2__A3_18 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r5 x_PM_NAND3_X2__A3_17 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r6 x_PM_NAND3_X2__A3_14 x_PM_NAND3_X2__A3_12 25.0012
+R_x_PM_NAND3_X2__A3_r7 x_PM_NAND3_X2__A3_12 A3 0.0781486
+R_x_PM_NAND3_X2__A3_r8 N_A3_M0_g x_PM_NAND3_X2__A3_18 95.94
+R_x_PM_NAND3_X2__A3_r9 N_A3_M3_g x_PM_NAND3_X2__A3_17 35.1
+C_x_PM_NAND3_X2__Zalp1_c0 VSS N_Zalp1_M5_d 1.32739e-16
+C_x_PM_NAND3_X2__Zalp1_c1 VSS x_PM_NAND3_X2__Zalp1_8 1.01878e-17
+C_x_PM_NAND3_X2__Zalp1_c2 VSS x_PM_NAND3_X2__Zalp1_4 7.15422e-17
+R_x_PM_NAND3_X2__Zalp1_r3 Zalp1 N_Zalp1_M5_d 1.59389
+R_x_PM_NAND3_X2__Zalp1_r4 N_Zalp1_M2_d x_PM_NAND3_X2__Zalp1_8 0.0406238
+R_x_PM_NAND3_X2__Zalp1_r5 Zalp1 x_PM_NAND3_X2__Zalp1_8 1.28778
+R_x_PM_NAND3_X2__Zalp1_r6 N_Zalp1_M2_d x_PM_NAND3_X2__Zalp1_4 0.176037
+R_x_PM_NAND3_X2__Zalp1_r7 N_Zalp1_M0_d x_PM_NAND3_X2__Zalp1_4 1.85929
+C_x_PM_NAND3_X2__A2_c0 VSS x_PM_NAND3_X2__A2_14 8.63262e-18
+C_x_PM_NAND3_X2__A2_c1 VSS x_PM_NAND3_X2__A2_12 3.91329e-17
+C_x_PM_NAND3_X2__A2_c2 VSS N_A2_M1_g 4.24405e-17
+C_x_PM_NAND3_X2__A2_c3 VSS N_A2_M4_g 8.48173e-17
+R_x_PM_NAND3_X2__A2_r4 x_PM_NAND3_X2__A2_18 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r5 x_PM_NAND3_X2__A2_17 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r6 x_PM_NAND3_X2__A2_14 x_PM_NAND3_X2__A2_12 25.0012
+R_x_PM_NAND3_X2__A2_r7 x_PM_NAND3_X2__A2_12 A2 0.169643
+R_x_PM_NAND3_X2__A2_r8 N_A2_M1_g x_PM_NAND3_X2__A2_18 29.64
+R_x_PM_NAND3_X2__A2_r9 N_A2_M4_g x_PM_NAND3_X2__A2_17 101.4
+C_x_PM_NAND3_X2__A1_c0 VSS x_PM_NAND3_X2__A1_18 1.22048e-17
+C_x_PM_NAND3_X2__A1_c1 VSS x_PM_NAND3_X2__A1_12 7.61168e-17
+C_x_PM_NAND3_X2__A1_c2 VSS N_A1_M2_g 8.98944e-17
+C_x_PM_NAND3_X2__A1_c3 VSS N_A1_M5_g 4.86035e-17
+R_x_PM_NAND3_X2__A1_r4 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_14 3.9
+R_x_PM_NAND3_X2__A1_r5 x_PM_NAND3_X2__A1_14 x_PM_NAND3_X2__A1_12 25.0012
+R_x_PM_NAND3_X2__A1_r6 x_PM_NAND3_X2__A1_12 A1 0.0459677
+R_x_PM_NAND3_X2__A1_r7 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_5 1.95
+R_x_PM_NAND3_X2__A1_r8 N_A1_M2_g x_PM_NAND3_X2__A1_5 95.94
+R_x_PM_NAND3_X2__A1_r9 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_VSS 1.95
+R_x_PM_NAND3_X2__A1_r10 N_A1_M5_g x_PM_NAND3_X2__A1_VSS 35.1
+
+**************************************************NAND3_X2***********************************************
+M2_M3 N2_Zalp2_M0_d N2_A6_M0_g N2_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M2_M4 N2_VDD_M1_d N2_A5_M1_g N2_Zalp2_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M2_M5 N2_Zalp2_M2_d N2_A4_M2_g N2_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M2_M0 72 N2_A6_M3_g N2_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.340000U AS=0.035700P AD=0.047600P PS=0.890000U PD=0.960000U
+M2_M1 82 N2_A5_M4_g 72 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.047600P PS=0.960000U PD=0.960000U
+M2_M2 N2_Zalp2_M5_d N2_A4_M5_g 82 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.035700P PS=0.960000U PD=0.890000U
+C_x2_PM2_NAND3_X2__VSS_c0 VSS VSS 7.02872e-17
+C_x2_PM2_NAND3_X2__VSS_c1 VSS x2_PM2_NAND3_X2__VSS_6 1.05487e-17
+C_x2_PM2_NAND3_X2__VSS_c2 VSS N2_VSS_M3_s 1.8134e-17
+R_x2_PM2_NAND3_X2__VSS_r3 VSS x2_PM2_NAND3_X2__VSS_6 0.603529
+R_x2_PM2_NAND3_X2__VSS_r4 x2_PM2_NAND3_X2__VSS_6 x2_PM2_NAND3_X2__VSS_2 0.264221
+R_x2_PM2_NAND3_X2__VSS_r5 N2_VSS_M3_s x2_PM2_NAND3_X2__VSS_2 0.230714
+C_x2_PM2_NAND3_X2__VDD_c0 VSS N2_VDD_M1_d 6.12848e-17
+C_x2_PM2_NAND3_X2__VDD_c1 VSS x2_PM2_NAND3_X2__VDD_7 3.00804e-17
+C_x2_PM2_NAND3_X2__VDD_c2 VSS N2_VDD_M0_s 2.5125e-17
+C_x2_PM2_NAND3_X2__VDD_c3 VSS x2_PM2_NAND3_X2__VDD_3 1.06055e-17
+R_x2_PM2_NAND3_X2__VDD_r4 VDD x2_PM2_NAND3_X2__VDD_8 0.195294
+R_x2_PM2_NAND3_X2__VDD_r5 x2_PM2_NAND3_X2__VDD_7 N2_VDD_M1_d 0.140674
+R_x2_PM2_NAND3_X2__VDD_r6 x2_PM2_NAND3_X2__VDD_8 x2_PM2_NAND3_X2__VDD_7 0.614706
+R_x2_PM2_NAND3_X2__VDD_r7 VDD x2_PM2_NAND3_X2__VDD_3 0.0689273
+R_x2_PM2_NAND3_X2__VDD_r8 N2_VDD_M0_s x2_PM2_NAND3_X2__VDD_3 0.230714
+C_x2_PM2_NAND3_X2__A6_c0 VSS x2_PM2_NAND3_X2__A6_14 6.68331e-18
+C_x2_PM2_NAND3_X2__A6_c1 VSS x2_PM2_NAND3_X2__A6_12 3.18495e-17
+C_x2_PM2_NAND3_X2__A6_c2 VSS N2_A6_M0_g 7.81987e-17
+C_x2_PM2_NAND3_X2__A6_c3 VSS N2_A6_M3_g 4.14029e-17
+R_x2_PM2_NAND3_X2__A6_r4 x2_PM2_NAND3_X2__A6_18 x2_PM2_NAND3_X2__A6_14 4.7687
+R_x2_PM2_NAND3_X2__A6_r5 x2_PM2_NAND3_X2__A6_17 x2_PM2_NAND3_X2__A6_14 4.7687
+R_x2_PM2_NAND3_X2__A6_r6 x2_PM2_NAND3_X2__A6_14 x2_PM2_NAND3_X2__A6_12 25.0012
+R_x2_PM2_NAND3_X2__A6_r7 x2_PM2_NAND3_X2__A6_12 A6 0.0781486
+R_x2_PM2_NAND3_X2__A6_r8 N2_A6_M0_g x2_PM2_NAND3_X2__A6_18 95.94
+R_x2_PM2_NAND3_X2__A6_r9 N2_A6_M3_g x2_PM2_NAND3_X2__A6_17 35.1
+C_x2_PM2_NAND3_X2__Zalp2_c0 VSS N2_Zalp2_M5_d 1.32739e-16
+C_x2_PM2_NAND3_X2__Zalp2_c1 VSS x2_PM2_NAND3_X2__Zalp2_8 1.01878e-17
+C_x2_PM2_NAND3_X2__Zalp2_c2 VSS x2_PM2_NAND3_X2__Zalp2_4 7.15422e-17
+R_x2_PM2_NAND3_X2__Zalp2_r3 Zalp2 N2_Zalp2_M5_d 1.59389
+R_x2_PM2_NAND3_X2__Zalp2_r4 N2_Zalp2_M2_d x2_PM2_NAND3_X2__Zalp2_8 0.0406238
+R_x2_PM2_NAND3_X2__Zalp2_r5 Zalp2 x2_PM2_NAND3_X2__Zalp2_8 1.28778
+R_x2_PM2_NAND3_X2__Zalp2_r6 N2_Zalp2_M2_d x2_PM2_NAND3_X2__Zalp2_4 0.176037
+R_x2_PM2_NAND3_X2__Zalp2_r7 N2_Zalp2_M0_d x2_PM2_NAND3_X2__Zalp2_4 1.85929
+C_x2_PM2_NAND3_X2__A5_c0 VSS x2_PM2_NAND3_X2__A5_14 8.63262e-18
+C_x2_PM2_NAND3_X2__A5_c1 VSS x2_PM2_NAND3_X2__A5_12 3.91329e-17
+C_x2_PM2_NAND3_X2__A5_c2 VSS N2_A5_M1_g 4.24405e-17
+C_x2_PM2_NAND3_X2__A5_c3 VSS N2_A5_M4_g 8.48173e-17
+R_x2_PM2_NAND3_X2__A5_r4 x2_PM2_NAND3_X2__A5_18 x2_PM2_NAND3_X2__A5_14 4.7687
+R_x2_PM2_NAND3_X2__A5_r5 x2_PM2_NAND3_X2__A5_17 x2_PM2_NAND3_X2__A5_14 4.7687
+R_x2_PM2_NAND3_X2__A5_r6 x2_PM2_NAND3_X2__A5_14 x2_PM2_NAND3_X2__A5_12 25.0012
+R_x2_PM2_NAND3_X2__A5_r7 x2_PM2_NAND3_X2__A5_12 A5 0.169643
+R_x2_PM2_NAND3_X2__A5_r8 N2_A5_M1_g x2_PM2_NAND3_X2__A5_18 29.64
+R_x2_PM2_NAND3_X2__A5_r9 N2_A5_M4_g x2_PM2_NAND3_X2__A5_17 101.4
+C_x2_PM2_NAND3_X2__A4_c0 VSS x2_PM2_NAND3_X2__A4_18 1.22048e-17
+C_x2_PM2_NAND3_X2__A4_c1 VSS x2_PM2_NAND3_X2__A4_12 7.61168e-17
+C_x2_PM2_NAND3_X2__A4_c2 VSS N2_A4_M2_g 8.98944e-17
+C_x2_PM2_NAND3_X2__A4_c3 VSS N2_A4_M5_g 4.86035e-17
+R_x2_PM2_NAND3_X2__A4_r4 x2_PM2_NAND3_X2__A4_18 x2_PM2_NAND3_X2__A4_14 3.9
+R_x2_PM2_NAND3_X2__A4_r5 x2_PM2_NAND3_X2__A4_14 x2_PM2_NAND3_X2__A4_12 25.0012
+R_x2_PM2_NAND3_X2__A4_r6 x2_PM2_NAND3_X2__A4_12 A4 0.0459677
+R_x2_PM2_NAND3_X2__A4_r7 x2_PM2_NAND3_X2__A4_18 x2_PM2_NAND3_X2__A4_5 1.95
+R_x2_PM2_NAND3_X2__A4_r8 N2_A4_M2_g x2_PM2_NAND3_X2__A4_5 95.94
+R_x2_PM2_NAND3_X2__A4_r9 x2_PM2_NAND3_X2__A4_18 x2_PM2_NAND3_X2__A4_VSS 1.95
+R_x2_PM2_NAND3_X2__A4_r10 N2_A4_M5_g x2_PM2_NAND3_X2__A4_VSS 35.1
+
+**************************************************NAND3_X2***********************************************
+M3_M3 N3_Zalp3_M0_d N3_A9_M0_g N3_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M3_M4 N3_VDD_M1_d N3_A8_M1_g N3_Zalp3_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M3_M5 N3_Zalp3_M2_d N3_A7_M2_g N3_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M3_M0 73 N3_A9_M3_g N3_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.340000U AS=0.035700P AD=0.047600P PS=0.890000U PD=0.960000U
+M3_M1 83 N3_A8_M4_g 73 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.047600P PS=0.960000U PD=0.960000U
+M3_M2 N3_Zalp3_M5_d N3_A7_M5_g 83 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.035700P PS=0.960000U PD=0.890000U
+C_x3_PM3_NAND3_X2__VSS_c0 VSS VSS 7.02872e-17
+C_x3_PM3_NAND3_X2__VSS_c1 VSS x3_PM3_NAND3_X2__VSS_6 1.05487e-17
+C_x3_PM3_NAND3_X2__VSS_c2 VSS N3_VSS_M3_s 1.8134e-17
+R_x3_PM3_NAND3_X2__VSS_r3 VSS x3_PM3_NAND3_X2__VSS_6 0.603529
+R_x3_PM3_NAND3_X2__VSS_r4 x3_PM3_NAND3_X2__VSS_6 x3_PM3_NAND3_X2__VSS_2 0.264221
+R_x3_PM3_NAND3_X2__VSS_r5 N3_VSS_M3_s x3_PM3_NAND3_X2__VSS_2 0.230714
+C_x3_PM3_NAND3_X2__VDD_c0 VSS N3_VDD_M1_d 6.12848e-17
+C_x3_PM3_NAND3_X2__VDD_c1 VSS x3_PM3_NAND3_X2__VDD_7 3.00804e-17
+C_x3_PM3_NAND3_X2__VDD_c2 VSS N3_VDD_M0_s 2.5125e-17
+C_x3_PM3_NAND3_X2__VDD_c3 VSS x3_PM3_NAND3_X2__VDD_3 1.06055e-17
+R_x3_PM3_NAND3_X2__VDD_r4 VDD x3_PM3_NAND3_X2__VDD_8 0.195294
+R_x3_PM3_NAND3_X2__VDD_r5 x3_PM3_NAND3_X2__VDD_7 N3_VDD_M1_d 0.140674
+R_x3_PM3_NAND3_X2__VDD_r6 x3_PM3_NAND3_X2__VDD_8 x3_PM3_NAND3_X2__VDD_7 0.614706
+R_x3_PM3_NAND3_X2__VDD_r7 VDD x3_PM3_NAND3_X2__VDD_3 0.0689273
+R_x3_PM3_NAND3_X2__VDD_r8 N3_VDD_M0_s x3_PM3_NAND3_X2__VDD_3 0.230714
+C_x3_PM3_NAND3_X2__A9_c0 VSS x3_PM3_NAND3_X2__A9_14 6.68331e-18
+C_x3_PM3_NAND3_X2__A9_c1 VSS x3_PM3_NAND3_X2__A9_12 3.18495e-17
+C_x3_PM3_NAND3_X2__A9_c2 VSS N3_A9_M0_g 7.81987e-17
+C_x3_PM3_NAND3_X2__A9_c3 VSS N3_A9_M3_g 4.14029e-17
+R_x3_PM3_NAND3_X2__A9_r4 x3_PM3_NAND3_X2__A9_18 x3_PM3_NAND3_X2__A9_14 4.7687
+R_x3_PM3_NAND3_X2__A9_r5 x3_PM3_NAND3_X2__A9_17 x3_PM3_NAND3_X2__A9_14 4.7687
+R_x3_PM3_NAND3_X2__A9_r6 x3_PM3_NAND3_X2__A9_14 x3_PM3_NAND3_X2__A9_12 25.0012
+R_x3_PM3_NAND3_X2__A9_r7 x3_PM3_NAND3_X2__A9_12 A9 0.0781486
+R_x3_PM3_NAND3_X2__A9_r8 N3_A9_M0_g x3_PM3_NAND3_X2__A9_18 95.94
+R_x3_PM3_NAND3_X2__A9_r9 N3_A9_M3_g x3_PM3_NAND3_X2__A9_17 35.1
+C_x3_PM3_NAND3_X2__Zalp3_c0 VSS N3_Zalp3_M5_d 1.32739e-16
+C_x3_PM3_NAND3_X2__Zalp3_c1 VSS x3_PM3_NAND3_X2__Zalp3_8 1.01878e-17
+C_x3_PM3_NAND3_X2__Zalp3_c2 VSS x3_PM3_NAND3_X2__Zalp3_4 7.15422e-17
+R_x3_PM3_NAND3_X2__Zalp3_r3 Zalp3 N3_Zalp3_M5_d 1.59389
+R_x3_PM3_NAND3_X2__Zalp3_r4 N3_Zalp3_M2_d x3_PM3_NAND3_X2__Zalp3_8 0.0406238
+R_x3_PM3_NAND3_X2__Zalp3_r5 Zalp3 x3_PM3_NAND3_X2__Zalp3_8 1.28778
+R_x3_PM3_NAND3_X2__Zalp3_r6 N3_Zalp3_M2_d x3_PM3_NAND3_X2__Zalp3_4 0.176037
+R_x3_PM3_NAND3_X2__Zalp3_r7 N3_Zalp3_M0_d x3_PM3_NAND3_X2__Zalp3_4 1.85929
+C_x3_PM3_NAND3_X2__A8_c0 VSS x3_PM3_NAND3_X2__A8_14 8.63262e-18
+C_x3_PM3_NAND3_X2__A8_c1 VSS x3_PM3_NAND3_X2__A8_12 3.91329e-17
+C_x3_PM3_NAND3_X2__A8_c2 VSS N3_A8_M1_g 4.24405e-17
+C_x3_PM3_NAND3_X2__A8_c3 VSS N3_A8_M4_g 8.48173e-17
+R_x3_PM3_NAND3_X2__A8_r4 x3_PM3_NAND3_X2__A8_18 x3_PM3_NAND3_X2__A8_14 4.7687
+R_x3_PM3_NAND3_X2__A8_r5 x3_PM3_NAND3_X2__A8_17 x3_PM3_NAND3_X2__A8_14 4.7687
+R_x3_PM3_NAND3_X2__A8_r6 x3_PM3_NAND3_X2__A8_14 x3_PM3_NAND3_X2__A8_12 25.0012
+R_x3_PM3_NAND3_X2__A8_r7 x3_PM3_NAND3_X2__A8_12 A8 0.169643
+R_x3_PM3_NAND3_X2__A8_r8 N3_A8_M1_g x3_PM3_NAND3_X2__A8_18 29.64
+R_x3_PM3_NAND3_X2__A8_r9 N3_A8_M4_g x3_PM3_NAND3_X2__A8_17 101.4
+C_x3_PM3_NAND3_X2__A7_c0 VSS x3_PM3_NAND3_X2__A7_18 1.22048e-17
+C_x3_PM3_NAND3_X2__A7_c1 VSS x3_PM3_NAND3_X2__A7_12 7.61168e-17
+C_x3_PM3_NAND3_X2__A7_c2 VSS N3_A7_M2_g 8.98944e-17
+C_x3_PM3_NAND3_X2__A7_c3 VSS N3_A7_M5_g 4.86035e-17
+R_x3_PM3_NAND3_X2__A7_r4 x3_PM3_NAND3_X2__A7_18 x3_PM3_NAND3_X2__A7_14 3.9
+R_x3_PM3_NAND3_X2__A7_r5 x3_PM3_NAND3_X2__A7_14 x3_PM3_NAND3_X2__A7_12 25.0012
+R_x3_PM3_NAND3_X2__A7_r6 x3_PM3_NAND3_X2__A7_12 A7 0.0459677
+R_x3_PM3_NAND3_X2__A7_r7 x3_PM3_NAND3_X2__A7_18 x3_PM3_NAND3_X2__A7_5 1.95
+R_x3_PM3_NAND3_X2__A7_r8 N3_A7_M2_g x3_PM3_NAND3_X2__A7_5 95.94
+R_x3_PM3_NAND3_X2__A7_r9 x3_PM3_NAND3_X2__A7_18 x3_PM3_NAND3_X2__A7_VSS 1.95
+R_x3_PM3_NAND3_X2__A7_r10 N3_A7_M5_g x3_PM3_NAND3_X2__A7_VSS 35.1
+
+*********************************************NOR3_X2*************************************************************
+M4_M3 74 N4_Zalp3_M0_g N4_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.520000U AS=0.054600P AD=0.072800P PS=1.250000U PD=1.320000U
+M4_M4 84 N4_Zalp2_M1_g 74 VDD PMOS_VTL L=0.050U W=0.520000U AS=0.072800P AD=0.072800P PS=1.320000U PD=1.320000U
+M4_M5 N4_ZN4_M2_d N4_Zalp1_M2_g 84 VDD PMOS_VTL L=0.050U W=0.520000U AS=0.072800P AD=0.054600P PS=1.320000U PD=1.250000U
+M4_M0 N4_ZN4_M3_d N4_Zalp3_M3_g N4_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M4_M1 N4_VSS_M4_d N4_Zalp2_M4_g N4_ZN4_M3_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M4_M2 N4_ZN4_M5_d N4_Zalp1_M5_g N4_VSS_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x4_PM_NOR3_X2__VSS_c0 VSS x4_PM_NOR3_X2__VSS_17 4.46075e-17
+C_x4_PM_NOR3_X2__VSS_c1 VSS N4_VSS_M4_d 2.78358e-17
+C_x4_PM_NOR3_X2__VSS_c2 VSS x4_PM_NOR3_X2__VSS_8 1.05487e-17
+C_x4_PM_NOR3_X2__VSS_c3 VSS x4_PM_NOR3_X2__VSS_7 3.86305e-17
+C_x4_PM_NOR3_X2__VSS_c4 VSS N4_VSS_M3_s 9.87304e-18
+R_x4_PM_NOR3_X2__VSS_r5 x4_PM_NOR3_X2__VSS_17 x4_PM_NOR3_X2__VSS_11 0.145286
+R_x4_PM_NOR3_X2__VSS_r6 N4_VSS_M4_d x4_PM_NOR3_X2__VSS_11 0.230714
+R_x4_PM_NOR3_X2__VSS_r7 VSS x4_PM_NOR3_X2__VSS_8 0.603529
+R_x4_PM_NOR3_X2__VSS_r8 x4_PM_NOR3_X2__VSS_17 x4_PM_NOR3_X2__VSS_7 0.0731438
+R_x4_PM_NOR3_X2__VSS_r9 VSS x4_PM_NOR3_X2__VSS_7 0.0782353
+R_x4_PM_NOR3_X2__VSS_r10 x4_PM_NOR3_X2__VSS_8 x4_PM_NOR3_X2__VSS_3 0.264221
+R_x4_PM_NOR3_X2__VSS_r11 N4_VSS_M3_s x4_PM_NOR3_X2__VSS_3 0.230714
+C_x4_PM_NOR3_X2__VDD_c0 VSS VDD 5.9596e-17
+C_x4_PM_NOR3_X2__VDD_c1 VSS N4_VDD_M0_s 2.58417e-17
+C_x4_PM_NOR3_X2__VDD_c2 VSS x4_PM_NOR3_X2__VDD_2 1.06055e-17
+R_x4_PM_NOR3_X2__VDD_r3 VDD x4_PM_NOR3_X2__VDD_2 0.0689273
+R_x4_PM_NOR3_X2__VDD_r4 N4_VDD_M0_s x4_PM_NOR3_X2__VDD_2 0.230714
+C_x4_PM_NOR3_X2__Zalp3_c0 VSS x4_PM_NOR3_X2__Zalp3_11 7.14715e-18
+C_x4_PM_NOR3_X2__Zalp3_c1 VSS x4_PM_NOR3_X2__Zalp3_9 5.04542e-17
+C_x4_PM_NOR3_X2__Zalp3_c2 VSS N4_Zalp3_M0_g 6.20936e-17
+C_x4_PM_NOR3_X2__Zalp3_c3 VSS N4_Zalp3_M3_g 5.91756e-17
+R_x4_PM_NOR3_X2__Zalp3_r4 x4_PM_NOR3_X2__Zalp3_18 x4_PM_NOR3_X2__Zalp3_11 4.74714
+R_x4_PM_NOR3_X2__Zalp3_r5 x4_PM_NOR3_X2__Zalp3_17 x4_PM_NOR3_X2__Zalp3_11 4.74714
+R_x4_PM_NOR3_X2__Zalp3_r6 x4_PM_NOR3_X2__Zalp3_11 x4_PM_NOR3_X2__Zalp3_9 25.0012
+R_x4_PM_NOR3_X2__Zalp3_r7 Zalp3 x4_PM_NOR3_X2__Zalp3_9 0.2204
+R_x4_PM_NOR3_X2__Zalp3_r8 N4_Zalp3_M0_g x4_PM_NOR3_X2__Zalp3_18 49.14
+R_x4_PM_NOR3_X2__Zalp3_r9 N4_Zalp3_M3_g x4_PM_NOR3_X2__Zalp3_17 74.88
+C_x4_PM_NOR3_X2__ZN4_c0 VSS x4_PM_NOR3_X2__ZN4_22 2.56413e-18
+C_x4_PM_NOR3_X2__ZN4_c1 VSS ZN 5.06951e-17
+C_x4_PM_NOR3_X2__ZN4_c2 VSS N4_ZN4_M2_d 2.75881e-17
+C_x4_PM_NOR3_X2__ZN4_c3 VSS x4_PM_NOR3_X2__ZN4_14 6.25994e-18
+C_x4_PM_NOR3_X2__ZN4_c4 VSS N4_ZN4_M5_d 2.52851e-17
+C_x4_PM_NOR3_X2__ZN4_c5 VSS x4_PM_NOR3_X2__ZN4_9 8.16416e-18
+C_x4_PM_NOR3_X2__ZN4_c6 VSS x4_PM_NOR3_X2__ZN4_8 4.12951e-17
+C_x4_PM_NOR3_X2__ZN4_c7 VSS N4_ZN4_M3_d 2.15312e-17
+R_x4_PM_NOR3_X2__ZN4_r8 ZN x4_PM_NOR3_X2__ZN4_19 1.46571
+R_x4_PM_NOR3_X2__ZN4_r9 x4_PM_NOR3_X2__ZN4_22 x4_PM_NOR3_X2__ZN4_18 0.143785
+R_x4_PM_NOR3_X2__ZN4_r10 ZN x4_PM_NOR3_X2__ZN4_18 0.868571
+R_x4_PM_NOR3_X2__ZN4_r11 x4_PM_NOR3_X2__ZN4_19 x4_PM_NOR3_X2__ZN4_14 0.20978
+R_x4_PM_NOR3_X2__ZN4_r12 N4_ZN4_M2_d x4_PM_NOR3_X2__ZN4_14 0.686111
+R_x4_PM_NOR3_X2__ZN4_r13 x4_PM_NOR3_X2__ZN4_22 x4_PM_NOR3_X2__ZN4_10 0.143785
+R_x4_PM_NOR3_X2__ZN4_r14 N4_ZN4_M5_d x4_PM_NOR3_X2__ZN4_10 0.116111
+R_x4_PM_NOR3_X2__ZN4_r15 x4_PM_NOR3_X2__ZN4_22 x4_PM_NOR3_X2__ZN4_8 0.0569232
+R_x4_PM_NOR3_X2__ZN4_r16 x4_PM_NOR3_X2__ZN4_9 x4_PM_NOR3_X2__ZN4_8 1.65571
+R_x4_PM_NOR3_X2__ZN4_r17 x4_PM_NOR3_X2__ZN4_9 x4_PM_NOR3_X2__ZN4_4 0.212317
+R_x4_PM_NOR3_X2__ZN4_r18 N4_ZN4_M3_d x4_PM_NOR3_X2__ZN4_4 0.149286
+C_x4_PM_NOR3_X2__Zalp2_c0 VSS x4_PM_NOR3_X2__Zalp2_11 8.98632e-18
+C_x4_PM_NOR3_X2__Zalp2_c1 VSS x4_PM_NOR3_X2__Zalp2_9 8.53584e-17
+C_x4_PM_NOR3_X2__Zalp2_c2 VSS N4_Zalp2_M1_g 6.12109e-17
+C_x4_PM_NOR3_X2__Zalp2_c3 VSS N4_Zalp2_M4_g 6.60015e-17
+R_x4_PM_NOR3_X2__Zalp2_r4 x4_PM_NOR3_X2__Zalp2_18 x4_PM_NOR3_X2__Zalp2_11 4.74714
+R_x4_PM_NOR3_X2__Zalp2_r5 x4_PM_NOR3_X2__Zalp2_17 x4_PM_NOR3_X2__Zalp2_11 4.74714
+R_x4_PM_NOR3_X2__Zalp2_r6 x4_PM_NOR3_X2__Zalp2_11 x4_PM_NOR3_X2__Zalp2_9 25.0012
+R_x4_PM_NOR3_X2__Zalp2_r7 Zalp2 x4_PM_NOR3_X2__Zalp2_9 0.2204
+R_x4_PM_NOR3_X2__Zalp2_r8 N4_Zalp2_M1_g x4_PM_NOR3_X2__Zalp2_18 49.14
+R_x4_PM_NOR3_X2__Zalp2_r9 N4_Zalp2_M4_g x4_PM_NOR3_X2__Zalp2_17 74.88
+C_x4_PM_NOR3_X2__Zalp1_c0 VSS x4_PM_NOR3_X2__Zalp1_20 1.07269e-17
+C_x4_PM_NOR3_X2__Zalp1_c1 VSS x4_PM_NOR3_X2__Zalp1_14 4.59258e-17
+C_x4_PM_NOR3_X2__Zalp1_c2 VSS x4_PM_NOR3_X2__Zalp1_9 3.45973e-17
+C_x4_PM_NOR3_X2__Zalp1_c3 VSS N4_Zalp1_M2_g 7.00434e-17
+C_x4_PM_NOR3_X2__Zalp1_c4 VSS N4_Zalp1_M5_g 6.63408e-17
+R_x4_PM_NOR3_X2__Zalp1_r5 x4_PM_NOR3_X2__Zalp1_20 x4_PM_NOR3_X2__Zalp1_16 2.34
+R_x4_PM_NOR3_X2__Zalp1_r6 x4_PM_NOR3_X2__Zalp1_16 x4_PM_NOR3_X2__Zalp1_14 25.0012
+R_x4_PM_NOR3_X2__Zalp1_r7 x4_PM_NOR3_X2__Zalp1_14 x4_PM_NOR3_X2__Zalp1_12 0.147778
+R_x4_PM_NOR3_X2__Zalp1_r8 x4_PM_NOR3_X2__Zalp1_12 x4_PM_NOR3_X2__Zalp1_9 0.095
+R_x4_PM_NOR3_X2__Zalp1_r9 Zalp1 x4_PM_NOR3_X2__Zalp1_9 0.298571
+R_x4_PM_NOR3_X2__Zalp1_r10 x4_PM_NOR3_X2__Zalp1_20 x4_PM_NOR3_X2__Zalp1_5 1.95
+R_x4_PM_NOR3_X2__Zalp1_r11 N4_Zalp1_M2_g x4_PM_NOR3_X2__Zalp1_5 56.94
+R_x4_PM_NOR3_X2__Zalp1_r12 x4_PM_NOR3_X2__Zalp1_20 x4_PM_NOR3_X2__Zalp1_VSS 1.95
+R_x4_PM_NOR3_X2__Zalp1_r13 N4_Zalp1_M5_g x4_PM_NOR3_X2__Zalp1_VSS 67.08
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/buf1.sp b/LibNanGate45nm/buf1.sp
new file mode 100644
index 0000000..efe7386
--- /dev/null
+++ b/LibNanGate45nm/buf1.sp
@@ -0,0 +1,64 @@
+.SUBCKT buf1 A VDD VSS Z
+M_M2 N_VDD_M0_d N_A_M0_g N_3_M0_s VDD PMOS_VTL L=0.050U W=0.135000U AS=0.014175P AD=0.028350P PS=0.480000U PD=0.820000U
+M_M3 N_Z_M1_d N_3_M1_g N_VDD_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 N_VSS_M2_d N_A_M2_g N_3_M2_s VSS NMOS_VTL L=0.050U W=0.090000U AS=0.009450P AD=0.018900P PS=0.390000U PD=0.640000U
+M_M1 N_Z_M3_d N_3_M3_g N_VSS_M2_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_BUF_X2__VSS_c0 VSS VSS 1.0786e-16
+R_x_PM_BUF_X2__VSS_r1 N_VSS_M2_d VSS 0.637857
+C_x_PM_BUF_X2__VDD_c0 VSS VDD 8.03115e-17
+C_x_PM_BUF_X2__VDD_c1 VSS N_VDD_M0_d 3.78724e-17
+R_x_PM_BUF_X2__VDD_r2 VDD x_PM_BUF_X2__VDD_4 0.145286
+R_x_PM_BUF_X2__VDD_r3 N_VDD_M0_d x_PM_BUF_X2__VDD_4 0.420714
+C_x_PM_BUF_X2__3_c0 VSS x_PM_BUF_X2__3_31 9.87551e-18
+C_x_PM_BUF_X2__3_c1 VSS x_PM_BUF_X2__3_25 4.34052e-17
+C_x_PM_BUF_X2__3_c2 VSS x_PM_BUF_X2__3_24 9.58887e-17
+C_x_PM_BUF_X2__3_c3 VSS x_PM_BUF_X2__3_22 4.39826e-18
+C_x_PM_BUF_X2__3_c4 VSS x_PM_BUF_X2__3_21 4.41595e-17
+C_x_PM_BUF_X2__3_c5 VSS x_PM_BUF_X2__3_20 1.51022e-17
+C_x_PM_BUF_X2__3_c6 VSS x_PM_BUF_X2__3_19 2.89567e-17
+C_x_PM_BUF_X2__3_c7 VSS N_3_M0_s 2.73356e-17
+C_x_PM_BUF_X2__3_c8 VSS N_3_M2_s 3.67549e-17
+C_x_PM_BUF_X2__3_c9 VSS N_3_M1_g 8.56064e-17
+C_x_PM_BUF_X2__3_c10 VSS N_3_M3_g 4.79448e-17
+R_x_PM_BUF_X2__3_r11 x_PM_BUF_X2__3_33 x_PM_BUF_X2__3_31 4.74714
+R_x_PM_BUF_X2__3_r12 x_PM_BUF_X2__3_30 x_PM_BUF_X2__3_28 0.297071
+R_x_PM_BUF_X2__3_r13 x_PM_BUF_X2__3_31 x_PM_BUF_X2__3_28 25.0012
+R_x_PM_BUF_X2__3_r14 x_PM_BUF_X2__3_28 x_PM_BUF_X2__3_25 0.13
+R_x_PM_BUF_X2__3_r15 x_PM_BUF_X2__3_24 x_PM_BUF_X2__3_30 2.57857
+R_x_PM_BUF_X2__3_r16 x_PM_BUF_X2__3_24 x_PM_BUF_X2__3_21 0.212317
+R_x_PM_BUF_X2__3_r17 x_PM_BUF_X2__3_22 x_PM_BUF_X2__3_21 0.895714
+R_x_PM_BUF_X2__3_r18 x_PM_BUF_X2__3_25 x_PM_BUF_X2__3_19 0.095
+R_x_PM_BUF_X2__3_r19 x_PM_BUF_X2__3_20 x_PM_BUF_X2__3_19 0.895714
+R_x_PM_BUF_X2__3_r20 x_PM_BUF_X2__3_22 x_PM_BUF_X2__3_15 0.212317
+R_x_PM_BUF_X2__3_r21 N_3_M0_s x_PM_BUF_X2__3_15 0.393571
+R_x_PM_BUF_X2__3_r22 x_PM_BUF_X2__3_20 x_PM_BUF_X2__3_11 0.212317
+R_x_PM_BUF_X2__3_r23 N_3_M2_s x_PM_BUF_X2__3_11 1.045
+R_x_PM_BUF_X2__3_r24 N_3_M1_g x_PM_BUF_X2__3_33 95.16
+R_x_PM_BUF_X2__3_r25 x_PM_BUF_X2__3_VSS x_PM_BUF_X2__3_31 4.74714
+R_x_PM_BUF_X2__3_r26 N_3_M3_g x_PM_BUF_X2__3_VSS 42.9
+C_x_PM_BUF_X2__A_c0 VSS x_PM_BUF_X2__A_14 7.38755e-18
+C_x_PM_BUF_X2__A_c1 VSS x_PM_BUF_X2__A_12 6.51234e-17
+C_x_PM_BUF_X2__A_c2 VSS N_A_M0_g 6.60639e-17
+C_x_PM_BUF_X2__A_c3 VSS N_A_M2_g 5.42189e-17
+R_x_PM_BUF_X2__A_r4 x_PM_BUF_X2__A_18 x_PM_BUF_X2__A_14 4.7687
+R_x_PM_BUF_X2__A_r5 x_PM_BUF_X2__A_17 x_PM_BUF_X2__A_14 4.7687
+R_x_PM_BUF_X2__A_r6 x_PM_BUF_X2__A_14 x_PM_BUF_X2__A_12 25.0012
+R_x_PM_BUF_X2__A_r7 x_PM_BUF_X2__A_12 A 0.2375
+R_x_PM_BUF_X2__A_r8 N_A_M0_g x_PM_BUF_X2__A_18 84.63
+R_x_PM_BUF_X2__A_r9 N_A_M2_g x_PM_BUF_X2__A_17 56.94
+C_x_PM_BUF_X2__Z_c0 VSS N_Z_M3_d 3.4635e-17
+C_x_PM_BUF_X2__Z_c1 VSS Z 9.23569e-17
+C_x_PM_BUF_X2__Z_c2 VSS N_Z_M1_d 5.59233e-17
+C_x_PM_BUF_X2__Z_c3 VSS x_PM_BUF_X2__Z_3 8.95839e-18
+R_x_PM_BUF_X2__Z_r4 Z x_PM_BUF_X2__Z_8 1.87286
+R_x_PM_BUF_X2__Z_r5 x_PM_BUF_X2__Z_7 N_Z_M3_d 0.30478
+R_x_PM_BUF_X2__Z_r6 Z x_PM_BUF_X2__Z_7 1.79143
+R_x_PM_BUF_X2__Z_r7 x_PM_BUF_X2__Z_8 x_PM_BUF_X2__Z_3 0.20978
+R_x_PM_BUF_X2__Z_r8 N_Z_M1_d x_PM_BUF_X2__Z_3 0.686111
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/dff_x2.spi b/LibNanGate45nm/dff_x2.spi
new file mode 100644
index 0000000..1a7fe36
--- /dev/null
+++ b/LibNanGate45nm/dff_x2.spi
@@ -0,0 +1,83 @@
+*
+* ******************************************************************************
+* * *
+* * Copyright (C) 2004-2010, Nangate Inc. *
+* * All rights reserved. *
+* * *
+* * Nangate and the Nangate logo are trademarks of Nangate Inc. *
+* * *
+* * All trademarks, logos, software marks, and trade names (collectively the *
+* * "Marks") in this program are proprietary to Nangate or other respective *
+* * owners that have granted Nangate the right and license to use such Marks. *
+* * You are not permitted to use the Marks without the prior written consent *
+* * of Nangate or such third party that may own the Marks. *
+* * *
+* * This file has been provided pursuant to a License Agreement containing *
+* * restrictions on its use. This file contains valuable trade secrets and *
+* * proprietary information of Nangate Inc., and is protected by U.S. and *
+* * international laws and/or treaties. *
+* * *
+* * The copyright notice(s) in this file does not indicate actual or intended *
+* * publication of this file. *
+* * *
+* * buildcell, v2010.08-HR32-SP3-2010-08-05 - build 1009061800 *
+* * *
+* ******************************************************************************
+*
+*
+* Running on brazil06.nangate.com.br for user Giancarlo Franciscatto (gfr).
+* Local time is now Fri, 3 Dec 2010, 18:59:42.
+* Main process id is 28034.
+*
+********************************************************************************
+* *
+* Cellname: DFF_X2. *
+* *
+* Technology: NCSU FreePDK 45nm. *
+* Format: Cdl. *
+* *
+* Written on brazil06.nangate.com.br for user Giancarlo Franciscatto (gfr) *
+* at 18:59:42 on Fri, 3 Dec 2010. *
+* *
+********************************************************************************
+.SUBCKT dff_x2 CK Q D VDD VSS
+*.PININFO D:I CK:I Q:O VDD:P VSS:G
+M_MN2 ci cni VSS VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN6 VSS z4 z6 VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN7 z3 ci z6 VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN4 z2 cni z3 VSS NMOS_VTL W=0.275000U L=0.050000U
+M_MN3 z2 D VSS VSS NMOS_VTL W=0.275000U L=0.050000U
+M_MN5 z4 z3 VSS VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN1 VSS CK cni VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN8 z12 z3 VSS VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN9 z9 ci z12 VSS NMOS_VTL W=0.210000U L=0.050000U
+M_MN12 z9 cni z8 VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN11 z8 z10 VSS VSS NMOS_VTL W=0.090000U L=0.050000U
+M_MN10 VSS z9 z10 VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN14_8 QN z9 VSS VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN14 QN z9 VSS VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN13 VSS z10 Q VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MN13_38 VSS z10 Q VSS NMOS_VTL W=0.415000U L=0.050000U
+M_MP2 ci cni VDD VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP6 VDD z4 z1 VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP7 z1 cni z3 VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP4 z3 ci z5 VDD PMOS_VTL W=0.420000U L=0.050000U
+M_MP3 z5 D VDD VDD PMOS_VTL W=0.420000U L=0.050000U
+M_MP5 z4 z3 VDD VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP1 VDD CK cni VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP8 z7 z3 VDD VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP9 z9 cni z7 VDD PMOS_VTL W=0.315000U L=0.050000U
+M_MP12 z9 ci z11 VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP11 z11 z10 VDD VDD PMOS_VTL W=0.090000U L=0.050000U
+M_MP10 VDD z9 z10 VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP14_5 QN z9 VDD VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP14 QN z9 VDD VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP13 VDD z10 Q VDD PMOS_VTL W=0.630000U L=0.050000U
+M_MP13_26 VDD z10 Q VDD PMOS_VTL W=0.630000U L=0.050000U
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nand2.sp b/LibNanGate45nm/nand2.sp
new file mode 100644
index 0000000..feff863
--- /dev/null
+++ b/LibNanGate45nm/nand2.sp
@@ -0,0 +1,59 @@
+.SUBCKT nand2 A1 A2 VDD VSS ZN
+M_M2 N_ZN_M0_d N_A2_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M3 N_VDD_M1_d N_A1_M1_g N_ZN_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 6 N_A2_M2_g N_VSS_M2_s VSS NMOS_VTL L=0.050U W=0.260000U AS=0.027300P AD=0.036400P PS=0.730000U PD=0.800000U
+M_M1 N_ZN_M3_d N_A1_M3_g 6 VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x_PM_NAND2_X2__VSS_c0 VSS VSS 5.03826e-17
+C_x_PM_NAND2_X2__VSS_c1 VSS x_PM_NAND2_X2__VSS_6 1.04465e-17
+C_x_PM_NAND2_X2__VSS_c2 VSS N_VSS_M2_s 1.83058e-17
+R_x_PM_NAND2_X2__VSS_r3 VSS x_PM_NAND2_X2__VSS_6 0.391176
+R_x_PM_NAND2_X2__VSS_r4 x_PM_NAND2_X2__VSS_6 x_PM_NAND2_X2__VSS_2 0.264221
+R_x_PM_NAND2_X2__VSS_r5 N_VSS_M2_s x_PM_NAND2_X2__VSS_2 0.230714
+C_x_PM_NAND2_X2__VDD_c0 VSS N_VDD_M1_d 4.75732e-17
+C_x_PM_NAND2_X2__VDD_c1 VSS x_PM_NAND2_X2__VDD_7 4.67275e-17
+C_x_PM_NAND2_X2__VDD_c2 VSS N_VDD_M0_s 2.99432e-17
+C_x_PM_NAND2_X2__VDD_c3 VSS x_PM_NAND2_X2__VDD_3 1.06496e-17
+R_x_PM_NAND2_X2__VDD_r4 N_VDD_M1_d x_PM_NAND2_X2__VDD_9 0.420714
+R_x_PM_NAND2_X2__VDD_r5 VDD x_PM_NAND2_X2__VDD_8 0.195294
+R_x_PM_NAND2_X2__VDD_r6 x_PM_NAND2_X2__VDD_9 x_PM_NAND2_X2__VDD_7 0.264221
+R_x_PM_NAND2_X2__VDD_r7 x_PM_NAND2_X2__VDD_8 x_PM_NAND2_X2__VDD_7 0.681765
+R_x_PM_NAND2_X2__VDD_r8 VDD x_PM_NAND2_X2__VDD_3 0.0689273
+R_x_PM_NAND2_X2__VDD_r9 N_VDD_M0_s x_PM_NAND2_X2__VDD_3 0.420714
+C_x_PM_NAND2_X2__A2_c0 VSS x_PM_NAND2_X2__A2_14 7.51478e-18
+C_x_PM_NAND2_X2__A2_c1 VSS A2 6.01437e-17
+C_x_PM_NAND2_X2__A2_c2 VSS N_A2_M0_g 8.26414e-17
+C_x_PM_NAND2_X2__A2_c3 VSS N_A2_M2_g 3.58741e-17
+R_x_PM_NAND2_X2__A2_r4 x_PM_NAND2_X2__A2_18 x_PM_NAND2_X2__A2_14 4.74714
+R_x_PM_NAND2_X2__A2_r5 x_PM_NAND2_X2__A2_17 x_PM_NAND2_X2__A2_14 4.74714
+R_x_PM_NAND2_X2__A2_r6 x_PM_NAND2_X2__A2_14 x_PM_NAND2_X2__A2_12 25.0012
+R_x_PM_NAND2_X2__A2_r7 x_PM_NAND2_X2__A2_12 A2 0.266
+R_x_PM_NAND2_X2__A2_r8 N_A2_M0_g x_PM_NAND2_X2__A2_18 103.74
+R_x_PM_NAND2_X2__A2_r9 N_A2_M2_g x_PM_NAND2_X2__A2_17 28.08
+C_x_PM_NAND2_X2__ZN_c0 VSS N_ZN_M3_d 9.46701e-17
+C_x_PM_NAND2_X2__ZN_c1 VSS x_PM_NAND2_X2__ZN_8 7.68686e-18
+C_x_PM_NAND2_X2__ZN_c2 VSS x_PM_NAND2_X2__ZN_7 3.24105e-17
+C_x_PM_NAND2_X2__ZN_c3 VSS N_ZN_M0_d 6.2878e-17
+R_x_PM_NAND2_X2__ZN_r4 ZN N_ZN_M3_d 1.93167
+R_x_PM_NAND2_X2__ZN_r5 ZN x_PM_NAND2_X2__ZN_9 0.527778
+R_x_PM_NAND2_X2__ZN_r6 x_PM_NAND2_X2__ZN_9 x_PM_NAND2_X2__ZN_7 0.21666
+R_x_PM_NAND2_X2__ZN_r7 x_PM_NAND2_X2__ZN_8 x_PM_NAND2_X2__ZN_7 0.624286
+R_x_PM_NAND2_X2__ZN_r8 x_PM_NAND2_X2__ZN_8 x_PM_NAND2_X2__ZN_3 0.212317
+R_x_PM_NAND2_X2__ZN_r9 N_ZN_M0_d x_PM_NAND2_X2__ZN_3 1.18071
+C_x_PM_NAND2_X2__A1_c0 VSS x_PM_NAND2_X2__A1_18 1.23667e-17
+C_x_PM_NAND2_X2__A1_c1 VSS A1 8.87208e-17
+C_x_PM_NAND2_X2__A1_c2 VSS N_A1_M1_g 9.96411e-17
+C_x_PM_NAND2_X2__A1_c3 VSS N_A1_M3_g 3.7962e-17
+R_x_PM_NAND2_X2__A1_r4 x_PM_NAND2_X2__A1_18 x_PM_NAND2_X2__A1_14 3.9
+R_x_PM_NAND2_X2__A1_r5 x_PM_NAND2_X2__A1_14 x_PM_NAND2_X2__A1_12 25.0012
+R_x_PM_NAND2_X2__A1_r6 x_PM_NAND2_X2__A1_12 A1 0.316667
+R_x_PM_NAND2_X2__A1_r7 x_PM_NAND2_X2__A1_18 x_PM_NAND2_X2__A1_5 1.95
+R_x_PM_NAND2_X2__A1_r8 N_A1_M1_g x_PM_NAND2_X2__A1_5 103.74
+R_x_PM_NAND2_X2__A1_r9 x_PM_NAND2_X2__A1_18 x_PM_NAND2_X2__A1_VSS 1.95
+R_x_PM_NAND2_X2__A1_r10 N_A1_M3_g x_PM_NAND2_X2__A1_VSS 28.08
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nand3.sp b/LibNanGate45nm/nand3.sp
new file mode 100644
index 0000000..14ec301
--- /dev/null
+++ b/LibNanGate45nm/nand3.sp
@@ -0,0 +1,68 @@
+.SUBCKT nand3 A1 A2 A3 VDD VSS ZN
+M_M3 N_ZN_M0_d N_A3_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M4 N_VDD_M1_d N_A2_M1_g N_ZN_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M5 N_ZN_M2_d N_A1_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 7 N_A3_M3_g N_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.340000U AS=0.035700P AD=0.047600P PS=0.890000U PD=0.960000U
+M_M1 8 N_A2_M4_g 7 VSS NMOS_VTL L=0.050U W=0.340000U AS=0.047600P AD=0.047600P PS=0.960000U PD=0.960000U
+M_M2 N_ZN_M5_d N_A1_M5_g 8 VSS NMOS_VTL W=0.340000U AS=0.047600P AD=0.035700P PS=0.960000U PD=0.890000U
+C_x_PM_NAND3_X2__VSS_c0 VSS VSS 7.02872e-17
+C_x_PM_NAND3_X2__VSS_c1 VSS x_PM_NAND3_X2__VSS_6 1.05487e-17
+C_x_PM_NAND3_X2__VSS_c2 VSS N_VSS_M3_s 1.8134e-17
+R_x_PM_NAND3_X2__VSS_r3 VSS x_PM_NAND3_X2__VSS_6 0.603529
+R_x_PM_NAND3_X2__VSS_r4 x_PM_NAND3_X2__VSS_6 x_PM_NAND3_X2__VSS_2 0.264221
+R_x_PM_NAND3_X2__VSS_r5 N_VSS_M3_s x_PM_NAND3_X2__VSS_2 0.230714
+C_x_PM_NAND3_X2__VDD_c0 VSS N_VDD_M1_d 6.12848e-17
+C_x_PM_NAND3_X2__VDD_c1 VSS x_PM_NAND3_X2__VDD_7 3.00804e-17
+C_x_PM_NAND3_X2__VDD_c2 VSS N_VDD_M0_s 2.5125e-17
+C_x_PM_NAND3_X2__VDD_c3 VSS x_PM_NAND3_X2__VDD_3 1.06055e-17
+R_x_PM_NAND3_X2__VDD_r4 VDD x_PM_NAND3_X2__VDD_8 0.195294
+R_x_PM_NAND3_X2__VDD_r5 x_PM_NAND3_X2__VDD_7 N_VDD_M1_d 0.140674
+R_x_PM_NAND3_X2__VDD_r6 x_PM_NAND3_X2__VDD_8 x_PM_NAND3_X2__VDD_7 0.614706
+R_x_PM_NAND3_X2__VDD_r7 VDD x_PM_NAND3_X2__VDD_3 0.0689273
+R_x_PM_NAND3_X2__VDD_r8 N_VDD_M0_s x_PM_NAND3_X2__VDD_3 0.230714
+C_x_PM_NAND3_X2__A3_c0 VSS x_PM_NAND3_X2__A3_14 6.68331e-18
+C_x_PM_NAND3_X2__A3_c1 VSS x_PM_NAND3_X2__A3_12 3.18495e-17
+C_x_PM_NAND3_X2__A3_c2 VSS N_A3_M0_g 7.81987e-17
+C_x_PM_NAND3_X2__A3_c3 VSS N_A3_M3_g 4.14029e-17
+R_x_PM_NAND3_X2__A3_r4 x_PM_NAND3_X2__A3_18 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r5 x_PM_NAND3_X2__A3_17 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r6 x_PM_NAND3_X2__A3_14 x_PM_NAND3_X2__A3_12 25.0012
+R_x_PM_NAND3_X2__A3_r7 x_PM_NAND3_X2__A3_12 A3 0.0781486
+R_x_PM_NAND3_X2__A3_r8 N_A3_M0_g x_PM_NAND3_X2__A3_18 95.94
+R_x_PM_NAND3_X2__A3_r9 N_A3_M3_g x_PM_NAND3_X2__A3_17 35.1
+C_x_PM_NAND3_X2__ZN_c0 VSS N_ZN_M5_d 1.32739e-16
+C_x_PM_NAND3_X2__ZN_c1 VSS x_PM_NAND3_X2__ZN_8 1.01878e-17
+C_x_PM_NAND3_X2__ZN_c2 VSS x_PM_NAND3_X2__ZN_4 7.15422e-17
+R_x_PM_NAND3_X2__ZN_r3 ZN N_ZN_M5_d 1.59389
+R_x_PM_NAND3_X2__ZN_r4 N_ZN_M2_d x_PM_NAND3_X2__ZN_8 0.0406238
+R_x_PM_NAND3_X2__ZN_r5 ZN x_PM_NAND3_X2__ZN_8 1.28778
+R_x_PM_NAND3_X2__ZN_r6 N_ZN_M2_d x_PM_NAND3_X2__ZN_4 0.176037
+R_x_PM_NAND3_X2__ZN_r7 N_ZN_M0_d x_PM_NAND3_X2__ZN_4 1.85929
+C_x_PM_NAND3_X2__A2_c0 VSS x_PM_NAND3_X2__A2_14 8.63262e-18
+C_x_PM_NAND3_X2__A2_c1 VSS x_PM_NAND3_X2__A2_12 3.91329e-17
+C_x_PM_NAND3_X2__A2_c2 VSS N_A2_M1_g 4.24405e-17
+C_x_PM_NAND3_X2__A2_c3 VSS N_A2_M4_g 8.48173e-17
+R_x_PM_NAND3_X2__A2_r4 x_PM_NAND3_X2__A2_18 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r5 x_PM_NAND3_X2__A2_17 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r6 x_PM_NAND3_X2__A2_14 x_PM_NAND3_X2__A2_12 25.0012
+R_x_PM_NAND3_X2__A2_r7 x_PM_NAND3_X2__A2_12 A2 0.169643
+R_x_PM_NAND3_X2__A2_r8 N_A2_M1_g x_PM_NAND3_X2__A2_18 29.64
+R_x_PM_NAND3_X2__A2_r9 N_A2_M4_g x_PM_NAND3_X2__A2_17 101.4
+C_x_PM_NAND3_X2__A1_c0 VSS x_PM_NAND3_X2__A1_18 1.22048e-17
+C_x_PM_NAND3_X2__A1_c1 VSS x_PM_NAND3_X2__A1_12 7.61168e-17
+C_x_PM_NAND3_X2__A1_c2 VSS N_A1_M2_g 8.98944e-17
+C_x_PM_NAND3_X2__A1_c3 VSS N_A1_M5_g 4.86035e-17
+R_x_PM_NAND3_X2__A1_r4 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_14 3.9
+R_x_PM_NAND3_X2__A1_r5 x_PM_NAND3_X2__A1_14 x_PM_NAND3_X2__A1_12 25.0012
+R_x_PM_NAND3_X2__A1_r6 x_PM_NAND3_X2__A1_12 A1 0.0459677
+R_x_PM_NAND3_X2__A1_r7 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_5 1.95
+R_x_PM_NAND3_X2__A1_r8 N_A1_M2_g x_PM_NAND3_X2__A1_5 95.94
+R_x_PM_NAND3_X2__A1_r9 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_VSS 1.95
+R_x_PM_NAND3_X2__A1_r10 N_A1_M5_g x_PM_NAND3_X2__A1_VSS 35.1
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nand4.sp b/LibNanGate45nm/nand4.sp
new file mode 100644
index 0000000..8526981
--- /dev/null
+++ b/LibNanGate45nm/nand4.sp
@@ -0,0 +1,96 @@
+.SUBCKT nand4 A1 A2 A3 A4 VDD VSS ZN
+M_M4 N_ZN_M0_d N_A4_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M5 N_VDD_M1_d N_A3_M1_g N_ZN_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M6 N_ZN_M2_d N_A2_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M7 N_VDD_M3_d N_A1_M3_g N_ZN_M2_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 8 N_A4_M4_g N_VSS_M4_s VSS NMOS_VTL L=0.050U W=0.430000U AS=0.045150P AD=0.060200P PS=1.070000U PD=1.140000U
+M_M1 9 N_A3_M5_g 8 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M_M2 10 N_A2_M6_g 9 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M_M3 N_ZN_M7_d N_A1_M7_g 10 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.045150P PS=1.140000U PD=1.070000U
+C_x_PM_NAND4_X2__VSS_c0 VSS VSS 8.25672e-17
+C_x_PM_NAND4_X2__VSS_c1 VSS x_PM_NAND4_X2__VSS_6 1.06295e-17
+C_x_PM_NAND4_X2__VSS_c2 VSS N_VSS_M4_s 1.83032e-17
+R_x_PM_NAND4_X2__VSS_r3 VSS x_PM_NAND4_X2__VSS_6 0.815882
+R_x_PM_NAND4_X2__VSS_r4 x_PM_NAND4_X2__VSS_6 x_PM_NAND4_X2__VSS_2 0.264221
+R_x_PM_NAND4_X2__VSS_r5 N_VSS_M4_s x_PM_NAND4_X2__VSS_2 0.230714
+C_x_PM_NAND4_X2__VDD_c0 VSS x_PM_NAND4_X2__VDD_21 2.22427e-17
+C_x_PM_NAND4_X2__VDD_c1 VSS x_PM_NAND4_X2__VDD_18 2.85296e-17
+C_x_PM_NAND4_X2__VDD_c2 VSS N_VDD_M3_d 1.65418e-17
+C_x_PM_NAND4_X2__VDD_c3 VSS x_PM_NAND4_X2__VDD_10 4.55249e-17
+C_x_PM_NAND4_X2__VDD_c4 VSS x_PM_NAND4_X2__VDD_9 1.06862e-17
+C_x_PM_NAND4_X2__VDD_c5 VSS N_VDD_M0_s 2.46607e-17
+R_x_PM_NAND4_X2__VDD_r6 x_PM_NAND4_X2__VDD_21 VDD 0.105776
+R_x_PM_NAND4_X2__VDD_r7 VDD N_VDD_M1_d 0.034898
+R_x_PM_NAND4_X2__VDD_r8 x_PM_NAND4_X2__VDD_18 N_VDD_M1_d 0.140674
+R_x_PM_NAND4_X2__VDD_r9 N_VDD_M3_d x_PM_NAND4_X2__VDD_12 0.230714
+R_x_PM_NAND4_X2__VDD_r10 x_PM_NAND4_X2__VDD_12 x_PM_NAND4_X2__VDD_10 0.264221
+R_x_PM_NAND4_X2__VDD_r11 x_PM_NAND4_X2__VDD_21 x_PM_NAND4_X2__VDD_10 0.614706
+R_x_PM_NAND4_X2__VDD_r12 x_PM_NAND4_X2__VDD_9 x_PM_NAND4_X2__VDD_18 0.614706
+R_x_PM_NAND4_X2__VDD_r13 x_PM_NAND4_X2__VDD_9 x_PM_NAND4_X2__VDD_4 0.264221
+R_x_PM_NAND4_X2__VDD_r14 N_VDD_M0_s x_PM_NAND4_X2__VDD_4 0.230714
+C_x_PM_NAND4_X2__A4_c0 VSS x_PM_NAND4_X2__A4_16 6.55889e-18
+C_x_PM_NAND4_X2__A4_c1 VSS x_PM_NAND4_X2__A4_14 1.05776e-17
+C_x_PM_NAND4_X2__A4_c2 VSS x_PM_NAND4_X2__A4_9 5.54991e-17
+C_x_PM_NAND4_X2__A4_c3 VSS N_A4_M0_g 5.70968e-17
+C_x_PM_NAND4_X2__A4_c4 VSS N_A4_M4_g 6.56165e-17
+R_x_PM_NAND4_X2__A4_r5 x_PM_NAND4_X2__A4_20 x_PM_NAND4_X2__A4_16 4.7687
+R_x_PM_NAND4_X2__A4_r6 x_PM_NAND4_X2__A4_19 x_PM_NAND4_X2__A4_16 4.7687
+R_x_PM_NAND4_X2__A4_r7 x_PM_NAND4_X2__A4_16 x_PM_NAND4_X2__A4_14 25.0012
+R_x_PM_NAND4_X2__A4_r8 x_PM_NAND4_X2__A4_14 x_PM_NAND4_X2__A4_12 0.175926
+R_x_PM_NAND4_X2__A4_r9 x_PM_NAND4_X2__A4_12 x_PM_NAND4_X2__A4_9 0.095
+R_x_PM_NAND4_X2__A4_r10 A4 x_PM_NAND4_X2__A4_9 0.407143
+R_x_PM_NAND4_X2__A4_r11 N_A4_M0_g x_PM_NAND4_X2__A4_20 56.94
+R_x_PM_NAND4_X2__A4_r12 N_A4_M4_g x_PM_NAND4_X2__A4_19 67.08
+C_x_PM_NAND4_X2__ZN_c0 VSS x_PM_NAND4_X2__ZN_18 4.60917e-18
+C_x_PM_NAND4_X2__ZN_c1 VSS x_PM_NAND4_X2__ZN_17 5.36046e-17
+C_x_PM_NAND4_X2__ZN_c2 VSS ZN 2.74872e-17
+C_x_PM_NAND4_X2__ZN_c3 VSS x_PM_NAND4_X2__ZN_4 1.04221e-16
+R_x_PM_NAND4_X2__ZN_r4 x_PM_NAND4_X2__ZN_17 x_PM_NAND4_X2__ZN_18 2.66
+R_x_PM_NAND4_X2__ZN_r5 N_ZN_M7_d ZN 0.53
+R_x_PM_NAND4_X2__ZN_r6 x_PM_NAND4_X2__ZN_18 x_PM_NAND4_X2__ZN_10 0.217071
+R_x_PM_NAND4_X2__ZN_r7 N_ZN_M7_d x_PM_NAND4_X2__ZN_10 0.1
+R_x_PM_NAND4_X2__ZN_r8 N_ZN_M2_d N_ZN_M0_d 2.03571
+R_x_PM_NAND4_X2__ZN_r9 x_PM_NAND4_X2__ZN_17 x_PM_NAND4_X2__ZN_4 0.212317
+R_x_PM_NAND4_X2__ZN_r10 N_ZN_M2_d x_PM_NAND4_X2__ZN_4 0.990714
+C_x_PM_NAND4_X2__A3_c0 VSS x_PM_NAND4_X2__A3_16 8.19497e-18
+C_x_PM_NAND4_X2__A3_c1 VSS x_PM_NAND4_X2__A3_14 2.87605e-17
+C_x_PM_NAND4_X2__A3_c2 VSS x_PM_NAND4_X2__A3_9 4.18416e-17
+C_x_PM_NAND4_X2__A3_c3 VSS N_A3_M1_g 7.29487e-17
+C_x_PM_NAND4_X2__A3_c4 VSS N_A3_M5_g 5.25208e-17
+R_x_PM_NAND4_X2__A3_r5 x_PM_NAND4_X2__A3_20 x_PM_NAND4_X2__A3_16 4.7687
+R_x_PM_NAND4_X2__A3_r6 x_PM_NAND4_X2__A3_19 x_PM_NAND4_X2__A3_16 4.7687
+R_x_PM_NAND4_X2__A3_r7 x_PM_NAND4_X2__A3_16 x_PM_NAND4_X2__A3_14 25.0012
+R_x_PM_NAND4_X2__A3_r8 x_PM_NAND4_X2__A3_14 x_PM_NAND4_X2__A3_12 0.246296
+R_x_PM_NAND4_X2__A3_r9 x_PM_NAND4_X2__A3_12 x_PM_NAND4_X2__A3_9 0.095
+R_x_PM_NAND4_X2__A3_r10 A3 x_PM_NAND4_X2__A3_9 0.298571
+R_x_PM_NAND4_X2__A3_r11 N_A3_M1_g x_PM_NAND4_X2__A3_20 81.9
+R_x_PM_NAND4_X2__A3_r12 N_A3_M5_g x_PM_NAND4_X2__A3_19 42.12
+C_x_PM_NAND4_X2__A2_c0 VSS A2 3.11586e-17
+C_x_PM_NAND4_X2__A2_c1 VSS x_PM_NAND4_X2__A2_12 8.82597e-18
+C_x_PM_NAND4_X2__A2_c2 VSS x_PM_NAND4_X2__A2_10 2.65815e-17
+C_x_PM_NAND4_X2__A2_c3 VSS N_A2_M2_g 7.35018e-17
+C_x_PM_NAND4_X2__A2_c4 VSS N_A2_M6_g 4.85913e-17
+R_x_PM_NAND4_X2__A2_r5 x_PM_NAND4_X2__A2_17 A2 0.287272
+R_x_PM_NAND4_X2__A2_r6 x_PM_NAND4_X2__A2_20 x_PM_NAND4_X2__A2_12 4.7687
+R_x_PM_NAND4_X2__A2_r7 x_PM_NAND4_X2__A2_19 x_PM_NAND4_X2__A2_12 4.7687
+R_x_PM_NAND4_X2__A2_r8 x_PM_NAND4_X2__A2_12 x_PM_NAND4_X2__A2_10 25.0012
+R_x_PM_NAND4_X2__A2_r9 x_PM_NAND4_X2__A2_10 x_PM_NAND4_X2__A2_17 1.045
+R_x_PM_NAND4_X2__A2_r10 N_A2_M2_g x_PM_NAND4_X2__A2_20 81.9
+R_x_PM_NAND4_X2__A2_r11 N_A2_M6_g x_PM_NAND4_X2__A2_19 42.12
+C_x_PM_NAND4_X2__A1_c0 VSS x_PM_NAND4_X2__A1_14 9.95936e-18
+C_x_PM_NAND4_X2__A1_c1 VSS x_PM_NAND4_X2__A1_12 6.14869e-17
+C_x_PM_NAND4_X2__A1_c2 VSS N_A1_M3_g 4.84558e-17
+C_x_PM_NAND4_X2__A1_c3 VSS N_A1_M7_g 8.95683e-17
+R_x_PM_NAND4_X2__A1_r4 x_PM_NAND4_X2__A1_18 x_PM_NAND4_X2__A1_14 4.7687
+R_x_PM_NAND4_X2__A1_r5 x_PM_NAND4_X2__A1_17 x_PM_NAND4_X2__A1_14 4.7687
+R_x_PM_NAND4_X2__A1_r6 x_PM_NAND4_X2__A1_14 x_PM_NAND4_X2__A1_12 25.0012
+R_x_PM_NAND4_X2__A1_r7 x_PM_NAND4_X2__A1_12 A1 0.169643
+R_x_PM_NAND4_X2__A1_r8 N_A1_M3_g x_PM_NAND4_X2__A1_18 35.88
+R_x_PM_NAND4_X2__A1_r9 N_A1_M7_g x_PM_NAND4_X2__A1_17 88.14
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nand5.sp b/LibNanGate45nm/nand5.sp
new file mode 100644
index 0000000..cf2645a
--- /dev/null
+++ b/LibNanGate45nm/nand5.sp
@@ -0,0 +1,200 @@
+.SUBCKT nand5 A1 A2 A3 A4 A5 VDD VSS ZN
+**************************************NAND3_X2*************************************
+M_M3 N_Zalp1_M0_d N_A3_M0_g N_VDD_M0_s VDD PMOS_VTL W=0.270000U L=0.050000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M4 N_VDD_M1_d N_A2_M1_g N_Zalp1_M0_d VDD PMOS_VTL W=0.270000U L=0.050000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M5 N_Zalp1_M2_d N_A1_M2_g N_VDD_M1_d VDD PMOS_VTL W=0.270000U L=0.050000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 7 N_A3_M3_g N_VSS_M3_s VSS NMOS_VTL W=0.340000U L=0.050000U AS=0.035700P AD=0.047600P PS=0.890000U PD=0.960000U
+M_M1 8 N_A2_M4_g 7 VSS NMOS_VTL W=0.340000U L=0.050000U AS=0.047600P AD=0.047600P PS=0.960000U PD=0.960000U
+M_M2 N_Zalp1_M5_d N_A1_M5_g 8 VSS NMOS_VTL W=0.340000U L=0.050000U AS=0.047600P AD=0.035700P PS=0.960000U PD=0.890000U
+C_x_PM_NAND3_X2__VSS_c0 VSS VSS 7.02872e-17
+C_x_PM_NAND3_X2__VSS_c1 VSS x_PM_NAND3_X2__VSS_6 1.05487e-17
+C_x_PM_NAND3_X2__VSS_c2 VSS N_VSS_M3_s 1.8134e-17
+R_x_PM_NAND3_X2__VSS_r3 VSS x_PM_NAND3_X2__VSS_6 0.603529
+R_x_PM_NAND3_X2__VSS_r4 x_PM_NAND3_X2__VSS_6 x_PM_NAND3_X2__VSS_2 0.264221
+R_x_PM_NAND3_X2__VSS_r5 N_VSS_M3_s x_PM_NAND3_X2__VSS_2 0.230714
+C_x_PM_NAND3_X2__VDD_c0 VSS N_VDD_M1_d 6.12848e-17
+C_x_PM_NAND3_X2__VDD_c1 VSS x_PM_NAND3_X2__VDD_7 3.00804e-17
+C_x_PM_NAND3_X2__VDD_c2 VSS N_VDD_M0_s 2.5125e-17
+C_x_PM_NAND3_X2__VDD_c3 VSS x_PM_NAND3_X2__VDD_3 1.06055e-17
+R_x_PM_NAND3_X2__VDD_r4 VDD x_PM_NAND3_X2__VDD_8 0.195294
+R_x_PM_NAND3_X2__VDD_r5 x_PM_NAND3_X2__VDD_7 N_VDD_M1_d 0.140674
+R_x_PM_NAND3_X2__VDD_r6 x_PM_NAND3_X2__VDD_8 x_PM_NAND3_X2__VDD_7 0.614706
+R_x_PM_NAND3_X2__VDD_r7 VDD x_PM_NAND3_X2__VDD_3 0.0689273
+R_x_PM_NAND3_X2__VDD_r8 N_VDD_M0_s x_PM_NAND3_X2__VDD_3 0.230714
+C_x_PM_NAND3_X2__A3_c0 VSS x_PM_NAND3_X2__A3_14 6.68331e-18
+C_x_PM_NAND3_X2__A3_c1 VSS x_PM_NAND3_X2__A3_12 3.18495e-17
+C_x_PM_NAND3_X2__A3_c2 VSS N_A3_M0_g 7.81987e-17
+C_x_PM_NAND3_X2__A3_c3 VSS N_A3_M3_g 4.14029e-17
+R_x_PM_NAND3_X2__A3_r4 x_PM_NAND3_X2__A3_18 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r5 x_PM_NAND3_X2__A3_17 x_PM_NAND3_X2__A3_14 4.7687
+R_x_PM_NAND3_X2__A3_r6 x_PM_NAND3_X2__A3_14 x_PM_NAND3_X2__A3_12 25.0012
+R_x_PM_NAND3_X2__A3_r7 x_PM_NAND3_X2__A3_12 A3 0.0781486
+R_x_PM_NAND3_X2__A3_r8 N_A3_M0_g x_PM_NAND3_X2__A3_18 95.94
+R_x_PM_NAND3_X2__A3_r9 N_A3_M3_g x_PM_NAND3_X2__A3_17 35.1
+C_x_PM_NAND3_X2__Zalp1_c0 VSS N_Zalp1_M5_d 1.32739e-16
+C_x_PM_NAND3_X2__Zalp1_c1 VSS x_PM_NAND3_X2__Zalp1_8 1.01878e-17
+C_x_PM_NAND3_X2__Zalp1_c2 VSS x_PM_NAND3_X2__Zalp1_4 7.15422e-17
+R_x_PM_NAND3_X2__Zalp1_r3 Zalp1 N_Zalp1_M5_d 1.59389
+R_x_PM_NAND3_X2__Zalp1_r4 N_Zalp1_M2_d x_PM_NAND3_X2__Zalp1_8 0.0406238
+R_x_PM_NAND3_X2__Zalp1_r5 Zalp1 x_PM_NAND3_X2__Zalp1_8 1.28778
+R_x_PM_NAND3_X2__Zalp1_r6 N_Zalp1_M2_d x_PM_NAND3_X2__Zalp1_4 0.176037
+R_x_PM_NAND3_X2__Zalp1_r7 N_Zalp1_M0_d x_PM_NAND3_X2__Zalp1_4 1.85929
+C_x_PM_NAND3_X2__A2_c0 VSS x_PM_NAND3_X2__A2_14 8.63262e-18
+C_x_PM_NAND3_X2__A2_c1 VSS x_PM_NAND3_X2__A2_12 3.91329e-17
+C_x_PM_NAND3_X2__A2_c2 VSS N_A2_M1_g 4.24405e-17
+C_x_PM_NAND3_X2__A2_c3 VSS N_A2_M4_g 8.48173e-17
+R_x_PM_NAND3_X2__A2_r4 x_PM_NAND3_X2__A2_18 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r5 x_PM_NAND3_X2__A2_17 x_PM_NAND3_X2__A2_14 4.7687
+R_x_PM_NAND3_X2__A2_r6 x_PM_NAND3_X2__A2_14 x_PM_NAND3_X2__A2_12 25.0012
+R_x_PM_NAND3_X2__A2_r7 x_PM_NAND3_X2__A2_12 A2 0.169643
+R_x_PM_NAND3_X2__A2_r8 N_A2_M1_g x_PM_NAND3_X2__A2_18 29.64
+R_x_PM_NAND3_X2__A2_r9 N_A2_M4_g x_PM_NAND3_X2__A2_17 101.4
+C_x_PM_NAND3_X2__A1_c0 VSS x_PM_NAND3_X2__A1_18 1.22048e-17
+C_x_PM_NAND3_X2__A1_c1 VSS x_PM_NAND3_X2__A1_12 7.61168e-17
+C_x_PM_NAND3_X2__A1_c2 VSS N_A1_M2_g 8.98944e-17
+C_x_PM_NAND3_X2__A1_c3 VSS N_A1_M5_g 4.86035e-17
+R_x_PM_NAND3_X2__A1_r4 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_14 3.9
+R_x_PM_NAND3_X2__A1_r5 x_PM_NAND3_X2__A1_14 x_PM_NAND3_X2__A1_12 25.0012
+R_x_PM_NAND3_X2__A1_r6 x_PM_NAND3_X2__A1_12 A1 0.0459677
+R_x_PM_NAND3_X2__A1_r7 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_5 1.95
+R_x_PM_NAND3_X2__A1_r8 N_A1_M2_g x_PM_NAND3_X2__A1_5 95.94
+R_x_PM_NAND3_X2__A1_r9 x_PM_NAND3_X2__A1_18 x_PM_NAND3_X2__A1_VSS 1.95
+R_x_PM_NAND3_X2__A1_r10 N_A1_M5_g x_PM_NAND3_X2__A1_VSS 35.1
+
+**************************************NAND2_X2**************************************
+M2_M2 N2_Zalp2_M0_d N2_A5_M0_g N2_VDD_M0_s VDD PMOS_VTL W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M2_M3 N2_VDD_M1_d N2_A4_M1_g N2_Zalp2_M0_d VDD PMOS_VTL W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M2_M0 62 N2_A5_M2_g N2_VSS_M2_s VSS NMOS_VTL W=0.260000U AS=0.027300P AD=0.036400P PS=0.730000U PD=0.800000U
+M2_M1 N2_Zalp2_M3_d N2_A4_M3_g 62 VSS NMOS_VTL W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x_PM_NAND2_X2__VSS_c0 VSS VSS 5.03826e-17
+C_x_PM_NAND2_X2__VSS_c1 VSS x_PM_NAND2_X2__VSS_6 1.04465e-17
+C_x_PM_NAND2_X2__VSS_c2 VSS N2_VSS_M2_s 1.83058e-17
+R_x_PM_NAND2_X2__VSS_r3 VSS x_PM_NAND2_X2__VSS_6 0.391176
+R_x_PM_NAND2_X2__VSS_r4 x_PM_NAND2_X2__VSS_6 x_PM_NAND2_X2__VSS_2 0.264221
+R_x_PM_NAND2_X2__VSS_r5 N2_VSS_M2_s x_PM_NAND2_X2__VSS_2 0.230714
+C_x_PM_NAND2_X2__VDD_c0 VSS N2_VDD_M1_d 4.75732e-17
+C_x_PM_NAND2_X2__VDD_c1 VSS x_PM_NAND2_X2__VDD_7 4.67275e-17
+C_x_PM_NAND2_X2__VDD_c2 VSS N2_VDD_M0_s 2.99432e-17
+C_x_PM_NAND2_X2__VDD_c3 VSS x_PM_NAND2_X2__VDD_3 1.06496e-17
+R_x_PM_NAND2_X2__VDD_r4 N2_VDD_M1_d x_PM_NAND2_X2__VDD_9 0.420714
+R_x_PM_NAND2_X2__VDD_r5 VDD x_PM_NAND2_X2__VDD_8 0.195294
+R_x_PM_NAND2_X2__VDD_r6 x_PM_NAND2_X2__VDD_9 x_PM_NAND2_X2__VDD_7 0.264221
+R_x_PM_NAND2_X2__VDD_r7 x_PM_NAND2_X2__VDD_8 x_PM_NAND2_X2__VDD_7 0.681765
+R_x_PM_NAND2_X2__VDD_r8 VDD x_PM_NAND2_X2__VDD_3 0.0689273
+R_x_PM_NAND2_X2__VDD_r9 N2_VDD_M0_s x_PM_NAND2_X2__VDD_3 0.420714
+C_x_PM_NAND2_X2__A5_c0 VSS x_PM_NAND2_X2__A5_14 7.51478e-18
+C_x_PM_NAND2_X2__A5_c1 VSS A5 6.01437e-17
+C_x_PM_NAND2_X2__A5_c2 VSS N2_A5_M0_g 8.26414e-17
+C_x_PM_NAND2_X2__A5_c3 VSS N2_A5_M2_g 3.58741e-17
+R_x_PM_NAND2_X2__A5_r4 x_PM_NAND2_X2__A5_18 x_PM_NAND2_X2__A5_14 4.74714
+R_x_PM_NAND2_X2__A5_r5 x_PM_NAND2_X2__A5_17 x_PM_NAND2_X2__A5_14 4.74714
+R_x_PM_NAND2_X2__A5_r6 x_PM_NAND2_X2__A5_14 x_PM_NAND2_X2__A5_12 25.0012
+R_x_PM_NAND2_X2__A5_r7 x_PM_NAND2_X2__A5_12 A5 0.266
+R_x_PM_NAND2_X2__A5_r8 N2_A5_M0_g x_PM_NAND2_X2__A5_18 103.74
+R_x_PM_NAND2_X2__A5_r9 N2_A5_M2_g x_PM_NAND2_X2__A5_17 28.08
+C_x_PM_NAND2_X2__Zalp2_c0 VSS N2_Zalp2_M3_d 9.46701e-17
+C_x_PM_NAND2_X2__Zalp2_c1 VSS x_PM_NAND2_X2__Zalp2_8 7.68686e-18
+C_x_PM_NAND2_X2__Zalp2_c2 VSS x_PM_NAND2_X2__Zalp2_7 3.24105e-17
+C_x_PM_NAND2_X2__Zalp2_c3 VSS N2_Zalp2_M0_d 6.2878e-17
+R_x_PM_NAND2_X2__Zalp2_r4 Zalp2 N2_Zalp2_M3_d 1.93167
+R_x_PM_NAND2_X2__Zalp2_r5 Zalp2 x_PM_NAND2_X2__Zalp2_9 0.527778
+R_x_PM_NAND2_X2__Zalp2_r6 x_PM_NAND2_X2__Zalp2_9 x_PM_NAND2_X2__Zalp2_7 0.21666
+R_x_PM_NAND2_X2__Zalp2_r7 x_PM_NAND2_X2__Zalp2_8 x_PM_NAND2_X2__Zalp2_7 0.624286
+R_x_PM_NAND2_X2__Zalp2_r8 x_PM_NAND2_X2__Zalp2_8 x_PM_NAND2_X2__Zalp2_3 0.212317
+R_x_PM_NAND2_X2__Zalp2_r9 N2_Zalp2_M0_d x_PM_NAND2_X2__Zalp2_3 1.18071
+C_x_PM_NAND2_X2__A4_c0 VSS x_PM_NAND2_X2__A4_18 1.23667e-17
+C_x_PM_NAND2_X2__A4_c1 VSS A4 8.87208e-17
+C_x_PM_NAND2_X2__A4_c2 VSS N2_A4_M1_g 9.96411e-17
+C_x_PM_NAND2_X2__A4_c3 VSS N2_A4_M3_g 3.7962e-17
+R_x_PM_NAND2_X2__A4_r4 x_PM_NAND2_X2__A4_18 x_PM_NAND2_X2__A4_14 3.9
+R_x_PM_NAND2_X2__A4_r5 x_PM_NAND2_X2__A4_14 x_PM_NAND2_X2__A4_12 25.0012
+R_x_PM_NAND2_X2__A4_r6 x_PM_NAND2_X2__A4_12 A4 0.316667
+R_x_PM_NAND2_X2__A4_r7 x_PM_NAND2_X2__A4_18 x_PM_NAND2_X2__A4_5 1.95
+R_x_PM_NAND2_X2__A4_r8 N2_A4_M1_g x_PM_NAND2_X2__A4_5 103.74
+R_x_PM_NAND2_X2__A4_r9 x_PM_NAND2_X2__A4_18 x_PM_NAND2_X2__A4_VSS 1.95
+R_x_PM_NAND2_X2__A4_r10 N2_A4_M3_g x_PM_NAND2_X2__A4_VSS 28.08
+
+**************************************OR2_X2**************************************************
+M3_M3 73 N3_Zalp1_M0_g N3_3_M0_s VDD PMOS_VTL W=0.195000U AS=0.020475P AD=0.027300P PS=0.600000U PD=0.670000U
+M3_M4 N3_VDD_M1_d N3_Zalp2_M1_g 73 VDD PMOS_VTL W=0.195000U AS=0.027300P AD=0.037950P PS=0.670000U PD=0.860000U
+M3_M5 N3_ZN3_M2_d N3_3_M2_g N3_VDD_M1_d VDD PMOS_VTL W=0.270000U AS=0.037950P AD=0.028350P PS=0.860000U PD=0.750000U
+M3_M0 N3_3_M3_d N3_Zalp1_M3_g N3_VSS_M3_s VSS NMOS_VTL W=0.090000U AS=0.009450P AD=0.012600P PS=0.390000U PD=0.460000U
+M3_M1 N3_VSS_M4_d N3_Zalp2_M4_g N3_3_M3_d VSS NMOS_VTL W=0.090000U AS=0.012600P AD=0.023850P PS=0.460000U PD=0.680000U
+M3_M2 N3_ZN3_M5_d N3_3_M5_g N3_VSS_M4_d VSS NMOS_VTL W=0.180000U AS=0.023850P AD=0.018900P PS=0.680000U PD=0.570000U
+C_x_PM_OR2_X2__VSS_c0 VSS x_PM_OR2_X2__VSS_15 3.72032e-17
+C_x_PM_OR2_X2__VSS_c1 VSS N3_VSS_M4_d 1.48795e-17
+C_x_PM_OR2_X2__VSS_c2 VSS x_PM_OR2_X2__VSS_6 1.07612e-17
+C_x_PM_OR2_X2__VSS_c3 VSS x_PM_OR2_X2__VSS_5 3.45483e-17
+C_x_PM_OR2_X2__VSS_c4 VSS x_PM_OR2_X2__VSS_4 2.26908e-17
+R_x_PM_OR2_X2__VSS_r5 x_PM_OR2_X2__VSS_15 x_PM_OR2_X2__VSS_9 0.145286
+R_x_PM_OR2_X2__VSS_r6 N3_VSS_M4_d x_PM_OR2_X2__VSS_9 0.230714
+R_x_PM_OR2_X2__VSS_r7 VSS x_PM_OR2_X2__VSS_6 0.603529
+R_x_PM_OR2_X2__VSS_r8 x_PM_OR2_X2__VSS_15 x_PM_OR2_X2__VSS_5 0.0731438
+R_x_PM_OR2_X2__VSS_r9 VSS x_PM_OR2_X2__VSS_5 0.134118
+R_x_PM_OR2_X2__VSS_r10 x_PM_OR2_X2__VSS_6 x_PM_OR2_X2__VSS_4 0.264221
+R_x_PM_OR2_X2__VSS_r11 x_PM_OR2_X2__VSS_4 N3_VSS_M3_s 0.543196
+C_x_PM_OR2_X2__VDD_c0 VSS x_PM_OR2_X2__VDD_12 4.05231e-17
+C_x_PM_OR2_X2__VDD_c1 VSS N3_VDD_M1_d 2.06356e-17
+C_x_PM_OR2_X2__VDD_c2 VSS x_PM_OR2_X2__VDD_2 4.07936e-17
+R_x_PM_OR2_X2__VDD_r3 x_PM_OR2_X2__VDD_12 x_PM_OR2_X2__VDD_6 0.145286
+R_x_PM_OR2_X2__VDD_r4 N3_VDD_M1_d x_PM_OR2_X2__VDD_6 0.420714
+R_x_PM_OR2_X2__VDD_r5 x_PM_OR2_X2__VDD_12 x_PM_OR2_X2__VDD_2 0.0731438
+R_x_PM_OR2_X2__VDD_r6 VDD x_PM_OR2_X2__VDD_2 0.0782353
+C_x_PM_OR2_X2__3_c0 VSS x_PM_OR2_X2__3_31 1.75553e-17
+C_x_PM_OR2_X2__3_c1 VSS x_PM_OR2_X2__3_28 1.72947e-17
+C_x_PM_OR2_X2__3_c2 VSS x_PM_OR2_X2__3_25 5.24935e-17
+C_x_PM_OR2_X2__3_c3 VSS x_PM_OR2_X2__3_22 2.8529e-17
+C_x_PM_OR2_X2__3_c4 VSS N3_3_M3_d 4.52149e-17
+C_x_PM_OR2_X2__3_c5 VSS x_PM_OR2_X2__3_16 1.69957e-17
+C_x_PM_OR2_X2__3_c6 VSS x_PM_OR2_X2__3_15 3.68802e-17
+C_x_PM_OR2_X2__3_c7 VSS N3_3_M0_s 4.3344e-17
+C_x_PM_OR2_X2__3_c8 VSS N3_3_M2_g 9.38216e-17
+C_x_PM_OR2_X2__3_c9 VSS N3_3_M5_g 4.44376e-17
+R_x_PM_OR2_X2__3_r10 x_PM_OR2_X2__3_31 x_PM_OR2_X2__3_29 7.54
+R_x_PM_OR2_X2__3_r11 x_PM_OR2_X2__3_29 x_PM_OR2_X2__3_25 25.0012
+R_x_PM_OR2_X2__3_r12 x_PM_OR2_X2__3_28 x_PM_OR2_X2__3_23 0.0418175
+R_x_PM_OR2_X2__3_r13 x_PM_OR2_X2__3_25 x_PM_OR2_X2__3_23 1.045
+R_x_PM_OR2_X2__3_r14 x_PM_OR2_X2__3_28 x_PM_OR2_X2__3_21 0.160909
+R_x_PM_OR2_X2__3_r15 x_PM_OR2_X2__3_22 x_PM_OR2_X2__3_21 0.705714
+R_x_PM_OR2_X2__3_r16 x_PM_OR2_X2__3_28 x_PM_OR2_X2__3_17 0.160909
+R_x_PM_OR2_X2__3_r17 N3_3_M3_d x_PM_OR2_X2__3_17 1.045
+R_x_PM_OR2_X2__3_r18 x_PM_OR2_X2__3_22 x_PM_OR2_X2__3_15 0.212317
+R_x_PM_OR2_X2__3_r19 x_PM_OR2_X2__3_16 x_PM_OR2_X2__3_15 0.651429
+R_x_PM_OR2_X2__3_r20 x_PM_OR2_X2__3_16 x_PM_OR2_X2__3_11 0.212317
+R_x_PM_OR2_X2__3_r21 N3_3_M0_s x_PM_OR2_X2__3_11 2.29357
+R_x_PM_OR2_X2__3_r22 x_PM_OR2_X2__3_31 x_PM_OR2_X2__3_5 1.95
+R_x_PM_OR2_X2__3_r23 N3_3_M2_g x_PM_OR2_X2__3_5 99.84
+R_x_PM_OR2_X2__3_r24 x_PM_OR2_X2__3_31 x_PM_OR2_X2__3_VSS 1.95
+R_x_PM_OR2_X2__3_r25 N3_3_M5_g x_PM_OR2_X2__3_VSS 38.22
+C_x_PM_OR2_X2__Zalp1_c0 VSS x_PM_OR2_X2__Zalp1_18 8.81315e-18
+C_x_PM_OR2_X2__Zalp1_c1 VSS x_PM_OR2_X2__Zalp1_12 5.4822e-17
+C_x_PM_OR2_X2__Zalp1_c2 VSS N3_Zalp1_M0_g 8.90209e-17
+C_x_PM_OR2_X2__Zalp1_c3 VSS N3_Zalp1_M3_g 3.57915e-17
+R_x_PM_OR2_X2__Zalp1_r4 x_PM_OR2_X2__Zalp1_18 x_PM_OR2_X2__Zalp1_14 3.38
+R_x_PM_OR2_X2__Zalp1_r5 x_PM_OR2_X2__Zalp1_14 x_PM_OR2_X2__Zalp1_12 25.0012
+R_x_PM_OR2_X2__Zalp1_r6 x_PM_OR2_X2__Zalp1_12 Zalp1 0.115357
+R_x_PM_OR2_X2__Zalp1_r7 x_PM_OR2_X2__Zalp1_18 x_PM_OR2_X2__Zalp1_5 1.95
+R_x_PM_OR2_X2__Zalp1_r8 N3_Zalp1_M0_g x_PM_OR2_X2__Zalp1_5 101.01
+R_x_PM_OR2_X2__Zalp1_r9 x_PM_OR2_X2__Zalp1_18 x_PM_OR2_X2__Zalp1_VSS 1.95
+R_x_PM_OR2_X2__Zalp1_r10 N3_Zalp1_M3_g x_PM_OR2_X2__Zalp1_VSS 35.88
+C_x_PM_OR2_X2__Zalp2_c0 VSS Zalp2 6.95827e-17
+C_x_PM_OR2_X2__Zalp2_c1 VSS x_PM_OR2_X2__Zalp2_11 1.12977e-17
+C_x_PM_OR2_X2__Zalp2_c2 VSS N3_Zalp2_M1_g 6.44459e-17
+C_x_PM_OR2_X2__Zalp2_c3 VSS N3_Zalp2_M4_g 5.20861e-17
+R_x_PM_OR2_X2__Zalp2_r4 x_PM_OR2_X2__Zalp2_11 x_PM_OR2_X2__Zalp2_16 4.42
+R_x_PM_OR2_X2__Zalp2_r5 x_PM_OR2_X2__Zalp2_11 x_PM_OR2_X2__Zalp2_9 25.0012
+R_x_PM_OR2_X2__Zalp2_r6 Zalp2 x_PM_OR2_X2__Zalp2_9 0.196786
+R_x_PM_OR2_X2__Zalp2_r7 x_PM_OR2_X2__Zalp2_16 x_PM_OR2_X2__Zalp2_5 1.95
+R_x_PM_OR2_X2__Zalp2_r8 N3_Zalp2_M1_g x_PM_OR2_X2__Zalp2_5 79.95
+R_x_PM_OR2_X2__Zalp2_r9 x_PM_OR2_X2__Zalp2_16 x_PM_OR2_X2__Zalp2_VSS 1.95
+R_x_PM_OR2_X2__Zalp2_r10 N3_Zalp2_M4_g x_PM_OR2_X2__Zalp2_VSS 56.94
+C_x_PM_OR2_X2__ZN3_c0 VSS N3_ZN3_M5_d 1.3351e-16
+R_x_PM_OR2_X2__ZN3_r1 N3_ZN3_M2_d ZN 2.23929
+R_x_PM_OR2_X2__ZN3_r2 ZN N3_ZN3_M5_d 2.91786
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nand8.sp b/LibNanGate45nm/nand8.sp
new file mode 100644
index 0000000..397757f
--- /dev/null
+++ b/LibNanGate45nm/nand8.sp
@@ -0,0 +1,265 @@
+.SUBCKT nand8 A1 A2 A3 A4 A5 A6 A7 A8 VDD VSS ZN
+************************************************NAND4_X2************************************************
+M_M4 N_Zalp1_M0_d N_A4_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M_M5 N_VDD_M1_d N_A3_M1_g N_Zalp1_M0_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M6 N_Zalp1_M2_d N_A2_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M_M7 N_VDD_M3_d N_A1_M3_g N_Zalp1_M2_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 8 N_A4_M4_g N_VSS_M4_s VSS NMOS_VTL L=0.050U W=0.430000U AS=0.045150P AD=0.060200P PS=1.070000U PD=1.140000U
+M_M1 9 N_A3_M5_g 8 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M_M2 10 N_A2_M6_g 9 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M_M3 N_Zalp1_M7_d N_A1_M7_g 10 VSS NMOS_VTL L=0.050U W=0.430000U AS=0.060200P AD=0.045150P PS=1.140000U PD=1.070000U
+C_x_PM_NAND4_X2__VSS_c0 VSS VSS 8.25672e-17
+C_x_PM_NAND4_X2__VSS_c1 VSS x_PM_NAND4_X2__VSS_6 1.06295e-17
+C_x_PM_NAND4_X2__VSS_c2 VSS N_VSS_M4_s 1.83032e-17
+R_x_PM_NAND4_X2__VSS_r3 VSS x_PM_NAND4_X2__VSS_6 0.815882
+R_x_PM_NAND4_X2__VSS_r4 x_PM_NAND4_X2__VSS_6 x_PM_NAND4_X2__VSS_2 0.264221
+R_x_PM_NAND4_X2__VSS_r5 N_VSS_M4_s x_PM_NAND4_X2__VSS_2 0.230714
+C_x_PM_NAND4_X2__VDD_c0 VSS x_PM_NAND4_X2__VDD_21 2.22427e-17
+C_x_PM_NAND4_X2__VDD_c1 VSS x_PM_NAND4_X2__VDD_18 2.85296e-17
+C_x_PM_NAND4_X2__VDD_c2 VSS N_VDD_M3_d 1.65418e-17
+C_x_PM_NAND4_X2__VDD_c3 VSS x_PM_NAND4_X2__VDD_10 4.55249e-17
+C_x_PM_NAND4_X2__VDD_c4 VSS x_PM_NAND4_X2__VDD_9 1.06862e-17
+C_x_PM_NAND4_X2__VDD_c5 VSS N_VDD_M0_s 2.46607e-17
+R_x_PM_NAND4_X2__VDD_r6 x_PM_NAND4_X2__VDD_21 VDD 0.105776
+R_x_PM_NAND4_X2__VDD_r7 VDD N_VDD_M1_d 0.034898
+R_x_PM_NAND4_X2__VDD_r8 x_PM_NAND4_X2__VDD_18 N_VDD_M1_d 0.140674
+R_x_PM_NAND4_X2__VDD_r9 N_VDD_M3_d x_PM_NAND4_X2__VDD_12 0.230714
+R_x_PM_NAND4_X2__VDD_r10 x_PM_NAND4_X2__VDD_12 x_PM_NAND4_X2__VDD_10 0.264221
+R_x_PM_NAND4_X2__VDD_r11 x_PM_NAND4_X2__VDD_21 x_PM_NAND4_X2__VDD_10 0.614706
+R_x_PM_NAND4_X2__VDD_r12 x_PM_NAND4_X2__VDD_9 x_PM_NAND4_X2__VDD_18 0.614706
+R_x_PM_NAND4_X2__VDD_r13 x_PM_NAND4_X2__VDD_9 x_PM_NAND4_X2__VDD_4 0.264221
+R_x_PM_NAND4_X2__VDD_r14 N_VDD_M0_s x_PM_NAND4_X2__VDD_4 0.230714
+C_x_PM_NAND4_X2__A4_c0 VSS x_PM_NAND4_X2__A4_16 6.55889e-18
+C_x_PM_NAND4_X2__A4_c1 VSS x_PM_NAND4_X2__A4_14 1.05776e-17
+C_x_PM_NAND4_X2__A4_c2 VSS x_PM_NAND4_X2__A4_9 5.54991e-17
+C_x_PM_NAND4_X2__A4_c3 VSS N_A4_M0_g 5.70968e-17
+C_x_PM_NAND4_X2__A4_c4 VSS N_A4_M4_g 6.56165e-17
+R_x_PM_NAND4_X2__A4_r5 x_PM_NAND4_X2__A4_20 x_PM_NAND4_X2__A4_16 4.7687
+R_x_PM_NAND4_X2__A4_r6 x_PM_NAND4_X2__A4_19 x_PM_NAND4_X2__A4_16 4.7687
+R_x_PM_NAND4_X2__A4_r7 x_PM_NAND4_X2__A4_16 x_PM_NAND4_X2__A4_14 25.0012
+R_x_PM_NAND4_X2__A4_r8 x_PM_NAND4_X2__A4_14 x_PM_NAND4_X2__A4_12 0.175926
+R_x_PM_NAND4_X2__A4_r9 x_PM_NAND4_X2__A4_12 x_PM_NAND4_X2__A4_9 0.095
+R_x_PM_NAND4_X2__A4_r10 A4 x_PM_NAND4_X2__A4_9 0.407143
+R_x_PM_NAND4_X2__A4_r11 N_A4_M0_g x_PM_NAND4_X2__A4_20 56.94
+R_x_PM_NAND4_X2__A4_r12 N_A4_M4_g x_PM_NAND4_X2__A4_19 67.08
+C_x_PM_NAND4_X2__Zalp1_c0 VSS x_PM_NAND4_X2__Zalp1_18 4.60917e-18
+C_x_PM_NAND4_X2__Zalp1_c1 VSS x_PM_NAND4_X2__Zalp1_17 5.36046e-17
+C_x_PM_NAND4_X2__Zalp1_c2 VSS Zalp1 2.74872e-17
+C_x_PM_NAND4_X2__Zalp1_c3 VSS x_PM_NAND4_X2__Zalp1_4 1.04221e-16
+R_x_PM_NAND4_X2__Zalp1_r4 x_PM_NAND4_X2__Zalp1_17 x_PM_NAND4_X2__Zalp1_18 2.66
+R_x_PM_NAND4_X2__Zalp1_r5 N_Zalp1_M7_d Zalp1 0.53
+R_x_PM_NAND4_X2__Zalp1_r6 x_PM_NAND4_X2__Zalp1_18 x_PM_NAND4_X2__Zalp1_10 0.217071
+R_x_PM_NAND4_X2__Zalp1_r7 N_Zalp1_M7_d x_PM_NAND4_X2__Zalp1_10 0.1
+R_x_PM_NAND4_X2__Zalp1_r8 N_Zalp1_M2_d N_Zalp1_M0_d 2.03571
+R_x_PM_NAND4_X2__Zalp1_r9 x_PM_NAND4_X2__Zalp1_17 x_PM_NAND4_X2__Zalp1_4 0.212317
+R_x_PM_NAND4_X2__Zalp1_r10 N_Zalp1_M2_d x_PM_NAND4_X2__Zalp1_4 0.990714
+C_x_PM_NAND4_X2__A3_c0 VSS x_PM_NAND4_X2__A3_16 8.19497e-18
+C_x_PM_NAND4_X2__A3_c1 VSS x_PM_NAND4_X2__A3_14 2.87605e-17
+C_x_PM_NAND4_X2__A3_c2 VSS x_PM_NAND4_X2__A3_9 4.18416e-17
+C_x_PM_NAND4_X2__A3_c3 VSS N_A3_M1_g 7.29487e-17
+C_x_PM_NAND4_X2__A3_c4 VSS N_A3_M5_g 5.25208e-17
+R_x_PM_NAND4_X2__A3_r5 x_PM_NAND4_X2__A3_20 x_PM_NAND4_X2__A3_16 4.7687
+R_x_PM_NAND4_X2__A3_r6 x_PM_NAND4_X2__A3_19 x_PM_NAND4_X2__A3_16 4.7687
+R_x_PM_NAND4_X2__A3_r7 x_PM_NAND4_X2__A3_16 x_PM_NAND4_X2__A3_14 25.0012
+R_x_PM_NAND4_X2__A3_r8 x_PM_NAND4_X2__A3_14 x_PM_NAND4_X2__A3_12 0.246296
+R_x_PM_NAND4_X2__A3_r9 x_PM_NAND4_X2__A3_12 x_PM_NAND4_X2__A3_9 0.095
+R_x_PM_NAND4_X2__A3_r10 A3 x_PM_NAND4_X2__A3_9 0.298571
+R_x_PM_NAND4_X2__A3_r11 N_A3_M1_g x_PM_NAND4_X2__A3_20 81.9
+R_x_PM_NAND4_X2__A3_r12 N_A3_M5_g x_PM_NAND4_X2__A3_19 42.12
+C_x_PM_NAND4_X2__A2_c0 VSS A2 3.11586e-17
+C_x_PM_NAND4_X2__A2_c1 VSS x_PM_NAND4_X2__A2_12 8.82597e-18
+C_x_PM_NAND4_X2__A2_c2 VSS x_PM_NAND4_X2__A2_10 2.65815e-17
+C_x_PM_NAND4_X2__A2_c3 VSS N_A2_M2_g 7.35018e-17
+C_x_PM_NAND4_X2__A2_c4 VSS N_A2_M6_g 4.85913e-17
+R_x_PM_NAND4_X2__A2_r5 x_PM_NAND4_X2__A2_17 A2 0.287272
+R_x_PM_NAND4_X2__A2_r6 x_PM_NAND4_X2__A2_20 x_PM_NAND4_X2__A2_12 4.7687
+R_x_PM_NAND4_X2__A2_r7 x_PM_NAND4_X2__A2_19 x_PM_NAND4_X2__A2_12 4.7687
+R_x_PM_NAND4_X2__A2_r8 x_PM_NAND4_X2__A2_12 x_PM_NAND4_X2__A2_10 25.0012
+R_x_PM_NAND4_X2__A2_r9 x_PM_NAND4_X2__A2_10 x_PM_NAND4_X2__A2_17 1.045
+R_x_PM_NAND4_X2__A2_r10 N_A2_M2_g x_PM_NAND4_X2__A2_20 81.9
+R_x_PM_NAND4_X2__A2_r11 N_A2_M6_g x_PM_NAND4_X2__A2_19 42.12
+C_x_PM_NAND4_X2__A1_c0 VSS x_PM_NAND4_X2__A1_14 9.95936e-18
+C_x_PM_NAND4_X2__A1_c1 VSS x_PM_NAND4_X2__A1_12 6.14869e-17
+C_x_PM_NAND4_X2__A1_c2 VSS N_A1_M3_g 4.84558e-17
+C_x_PM_NAND4_X2__A1_c3 VSS N_A1_M7_g 8.95683e-17
+R_x_PM_NAND4_X2__A1_r4 x_PM_NAND4_X2__A1_18 x_PM_NAND4_X2__A1_14 4.7687
+R_x_PM_NAND4_X2__A1_r5 x_PM_NAND4_X2__A1_17 x_PM_NAND4_X2__A1_14 4.7687
+R_x_PM_NAND4_X2__A1_r6 x_PM_NAND4_X2__A1_14 x_PM_NAND4_X2__A1_12 25.0012
+R_x_PM_NAND4_X2__A1_r7 x_PM_NAND4_X2__A1_12 A1 0.169643
+R_x_PM_NAND4_X2__A1_r8 N_A1_M3_g x_PM_NAND4_X2__A1_18 35.88
+R_x_PM_NAND4_X2__A1_r9 N_A1_M7_g x_PM_NAND4_X2__A1_17 88.14
+
+*****************************************NAND4_X2*******************************************************
+
+M2_M4 N2_Zalp2_M0_d N2_A8_M0_g N2_VDD_M0_s VDD PMOS_VTL W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M2_M5 N2_VDD_M1_d N2_A7_M1_g N2_Zalp2_M0_d VDD PMOS_VTL W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M2_M6 N2_Zalp2_M2_d N2_A6_M2_g N2_VDD_M1_d VDD PMOS_VTL W=0.270000U AS=0.037800P AD=0.037800P PS=0.820000U PD=0.820000U
+M2_M7 N2_VDD_M3_d N2_A5_M3_g N2_Zalp2_M2_d VDD PMOS_VTL W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M2_M0 82 N2_A8_M4_g N2_VSS_M4_s VSS NMOS_VTL W=0.430000U AS=0.045150P AD=0.060200P PS=1.070000U PD=1.140000U
+M2_M1 92 N2_A7_M5_g 82 VSS NMOS_VTL W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M2_M2 102 N2_A6_M6_g 92 VSS NMOS_VTL W=0.430000U AS=0.060200P AD=0.060200P PS=1.140000U PD=1.140000U
+M2_M3 N2_Zalp2_M7_d N2_A5_M7_g 102 VSS NMOS_VTL W=0.430000U AS=0.060200P AD=0.045150P PS=1.140000U PD=1.070000U
+C_x2_PM2_NAND4_X2__VSS_c0 VSS VSS 8.25672e-17
+C_x2_PM2_NAND4_X2__VSS_c1 VSS x2_PM2_NAND4_X2__VSS_6 1.06295e-17
+C_x2_PM2_NAND4_X2__VSS_c2 VSS N2_VSS_M4_s 1.83032e-17
+R_x2_PM2_NAND4_X2__VSS_r3 VSS x2_PM2_NAND4_X2__VSS_6 0.815882
+R_x2_PM2_NAND4_X2__VSS_r4 x2_PM2_NAND4_X2__VSS_6 x2_PM2_NAND4_X2__VSS_2 0.264221
+R_x2_PM2_NAND4_X2__VSS_r5 N2_VSS_M4_s x2_PM2_NAND4_X2__VSS_2 0.230714
+C_x2_PM2_NAND4_X2__VDD_c0 VSS x2_PM2_NAND4_X2__VDD_21 2.22427e-17
+C_x2_PM2_NAND4_X2__VDD_c1 VSS x2_PM2_NAND4_X2__VDD_18 2.85296e-17
+C_x2_PM2_NAND4_X2__VDD_c2 VSS N2_VDD_M3_d 1.65418e-17
+C_x2_PM2_NAND4_X2__VDD_c3 VSS x2_PM2_NAND4_X2__VDD_10 4.55249e-17
+C_x2_PM2_NAND4_X2__VDD_c4 VSS x2_PM2_NAND4_X2__VDD_9 1.06862e-17
+C_x2_PM2_NAND4_X2__VDD_c5 VSS N2_VDD_M0_s 2.46607e-17
+R_x2_PM2_NAND4_X2__VDD_r6 x2_PM2_NAND4_X2__VDD_21 VDD 0.105776
+R_x2_PM2_NAND4_X2__VDD_r7 VDD N2_VDD_M1_d 0.034898
+R_x2_PM2_NAND4_X2__VDD_r8 x2_PM2_NAND4_X2__VDD_18 N2_VDD_M1_d 0.140674
+R_x2_PM2_NAND4_X2__VDD_r9 N2_VDD_M3_d x2_PM2_NAND4_X2__VDD_12 0.230714
+R_x2_PM2_NAND4_X2__VDD_r10 x2_PM2_NAND4_X2__VDD_12 x2_PM2_NAND4_X2__VDD_10 0.264221
+R_x2_PM2_NAND4_X2__VDD_r11 x2_PM2_NAND4_X2__VDD_21 x2_PM2_NAND4_X2__VDD_10 0.614706
+R_x2_PM2_NAND4_X2__VDD_r12 x2_PM2_NAND4_X2__VDD_9 x2_PM2_NAND4_X2__VDD_18 0.614706
+R_x2_PM2_NAND4_X2__VDD_r13 x2_PM2_NAND4_X2__VDD_9 x2_PM2_NAND4_X2__VDD_4 0.264221
+R_x2_PM2_NAND4_X2__VDD_r14 N2_VDD_M0_s x2_PM2_NAND4_X2__VDD_4 0.230714
+C_x2_PM2_NAND4_X2__A8_c0 VSS x2_PM2_NAND4_X2__A8_16 6.55889e-18
+C_x2_PM2_NAND4_X2__A8_c1 VSS x2_PM2_NAND4_X2__A8_14 1.05776e-17
+C_x2_PM2_NAND4_X2__A8_c2 VSS x2_PM2_NAND4_X2__A8_9 5.54991e-17
+C_x2_PM2_NAND4_X2__A8_c3 VSS N2_A8_M0_g 5.70968e-17
+C_x2_PM2_NAND4_X2__A8_c4 VSS N2_A8_M4_g 6.56165e-17
+R_x2_PM2_NAND4_X2__A8_r5 x2_PM2_NAND4_X2__A8_20 x2_PM2_NAND4_X2__A8_16 4.7687
+R_x2_PM2_NAND4_X2__A8_r6 x2_PM2_NAND4_X2__A8_19 x2_PM2_NAND4_X2__A8_16 4.7687
+R_x2_PM2_NAND4_X2__A8_r7 x2_PM2_NAND4_X2__A8_16 x2_PM2_NAND4_X2__A8_14 25.0012
+R_x2_PM2_NAND4_X2__A8_r8 x2_PM2_NAND4_X2__A8_14 x2_PM2_NAND4_X2__A8_12 0.175926
+R_x2_PM2_NAND4_X2__A8_r9 x2_PM2_NAND4_X2__A8_12 x2_PM2_NAND4_X2__A8_9 0.095
+R_x2_PM2_NAND4_X2__A8_r10 A8 x2_PM2_NAND4_X2__A8_9 0.407143
+R_x2_PM2_NAND4_X2__A8_r11 N2_A8_M0_g x2_PM2_NAND4_X2__A8_20 56.94
+R_x2_PM2_NAND4_X2__A8_r12 N2_A8_M4_g x2_PM2_NAND4_X2__A8_19 67.08
+C_x2_PM2_NAND4_X2__Zalp2_c0 VSS x2_PM2_NAND4_X2__Zalp2_18 4.60917e-18
+C_x2_PM2_NAND4_X2__Zalp2_c1 VSS x2_PM2_NAND4_X2__Zalp2_17 5.36046e-17
+C_x2_PM2_NAND4_X2__Zalp2_c2 VSS Zalp2 2.74872e-17
+C_x2_PM2_NAND4_X2__Zalp2_c3 VSS x2_PM2_NAND4_X2__Zalp2_4 1.04221e-16
+R_x2_PM2_NAND4_X2__Zalp2_r4 x2_PM2_NAND4_X2__Zalp2_17 x2_PM2_NAND4_X2__Zalp2_18 2.66
+R_x2_PM2_NAND4_X2__Zalp2_r5 N2_Zalp2_M7_d Zalp2 0.53
+R_x2_PM2_NAND4_X2__Zalp2_r6 x2_PM2_NAND4_X2__Zalp2_18 x2_PM2_NAND4_X2__Zalp2_10 0.217071
+R_x2_PM2_NAND4_X2__Zalp2_r7 N2_Zalp2_M7_d x2_PM2_NAND4_X2__Zalp2_10 0.1
+R_x2_PM2_NAND4_X2__Zalp2_r8 N2_Zalp2_M2_d N2_Zalp2_M0_d 2.03571
+R_x2_PM2_NAND4_X2__Zalp2_r9 x2_PM2_NAND4_X2__Zalp2_17 x2_PM2_NAND4_X2__Zalp2_4 0.212317
+R_x2_PM2_NAND4_X2__Zalp2_r10 N2_Zalp2_M2_d x2_PM2_NAND4_X2__Zalp2_4 0.990714
+C_x2_PM2_NAND4_X2__A7_c0 VSS x2_PM2_NAND4_X2__A7_16 8.19497e-18
+C_x2_PM2_NAND4_X2__A7_c1 VSS x2_PM2_NAND4_X2__A7_14 2.87605e-17
+C_x2_PM2_NAND4_X2__A7_c2 VSS x2_PM2_NAND4_X2__A7_9 4.18416e-17
+C_x2_PM2_NAND4_X2__A7_c3 VSS N2_A7_M1_g 7.29487e-17
+C_x2_PM2_NAND4_X2__A7_c4 VSS N2_A7_M5_g 5.25208e-17
+R_x2_PM2_NAND4_X2__A7_r5 x2_PM2_NAND4_X2__A7_20 x2_PM2_NAND4_X2__A7_16 4.7687
+R_x2_PM2_NAND4_X2__A7_r6 x2_PM2_NAND4_X2__A7_19 x2_PM2_NAND4_X2__A7_16 4.7687
+R_x2_PM2_NAND4_X2__A7_r7 x2_PM2_NAND4_X2__A7_16 x2_PM2_NAND4_X2__A7_14 25.0012
+R_x2_PM2_NAND4_X2__A7_r8 x2_PM2_NAND4_X2__A7_14 x2_PM2_NAND4_X2__A7_12 0.246296
+R_x2_PM2_NAND4_X2__A7_r9 x2_PM2_NAND4_X2__A7_12 x2_PM2_NAND4_X2__A7_9 0.095
+R_x2_PM2_NAND4_X2__A7_r10 A7 x2_PM2_NAND4_X2__A7_9 0.298571
+R_x2_PM2_NAND4_X2__A7_r11 N2_A7_M1_g x2_PM2_NAND4_X2__A7_20 81.9
+R_x2_PM2_NAND4_X2__A7_r12 N2_A7_M5_g x2_PM2_NAND4_X2__A7_19 42.12
+C_x2_PM2_NAND4_X2__A6_c0 VSS A6 3.11586e-17
+C_x2_PM2_NAND4_X2__A6_c1 VSS x2_PM2_NAND4_X2__A6_12 8.82597e-18
+C_x2_PM2_NAND4_X2__A6_c2 VSS x2_PM2_NAND4_X2__A6_10 2.65815e-17
+C_x2_PM2_NAND4_X2__A6_c3 VSS N2_A6_M2_g 7.35018e-17
+C_x2_PM2_NAND4_X2__A6_c4 VSS N2_A6_M6_g 4.85913e-17
+R_x2_PM2_NAND4_X2__A6_r5 x2_PM2_NAND4_X2__A6_17 A6 0.287272
+R_x2_PM2_NAND4_X2__A6_r6 x2_PM2_NAND4_X2__A6_20 x2_PM2_NAND4_X2__A6_12 4.7687
+R_x2_PM2_NAND4_X2__A6_r7 x2_PM2_NAND4_X2__A6_19 x2_PM2_NAND4_X2__A6_12 4.7687
+R_x2_PM2_NAND4_X2__A6_r8 x2_PM2_NAND4_X2__A6_12 x2_PM2_NAND4_X2__A6_10 25.0012
+R_x2_PM2_NAND4_X2__A6_r9 x2_PM2_NAND4_X2__A6_10 x2_PM2_NAND4_X2__A6_17 1.045
+R_x2_PM2_NAND4_X2__A6_r10 N2_A6_M2_g x2_PM2_NAND4_X2__A6_20 81.9
+R_x2_PM2_NAND4_X2__A6_r11 N2_A6_M6_g x2_PM2_NAND4_X2__A6_19 42.12
+C_x2_PM2_NAND4_X2__A5_c0 VSS x2_PM2_NAND4_X2__A5_14 9.95936e-18
+C_x2_PM2_NAND4_X2__A5_c1 VSS x2_PM2_NAND4_X2__A5_12 6.14869e-17
+C_x2_PM2_NAND4_X2__A5_c2 VSS N2_A5_M3_g 4.84558e-17
+C_x2_PM2_NAND4_X2__A5_c3 VSS N2_A5_M7_g 8.95683e-17
+R_x2_PM2_NAND4_X2__A5_r4 x2_PM2_NAND4_X2__A5_18 x2_PM2_NAND4_X2__A5_14 4.7687
+R_x2_PM2_NAND4_X2__A5_r5 x2_PM2_NAND4_X2__A5_17 x2_PM2_NAND4_X2__A5_14 4.7687
+R_x2_PM2_NAND4_X2__A5_r6 x2_PM2_NAND4_X2__A5_14 x2_PM2_NAND4_X2__A5_12 25.0012
+R_x2_PM2_NAND4_X2__A5_r7 x2_PM2_NAND4_X2__A5_12 A5 0.169643
+R_x2_PM2_NAND4_X2__A5_r8 N2_A5_M3_g x2_PM2_NAND4_X2__A5_18 35.88
+R_x2_PM2_NAND4_X2__A5_r9 N2_A5_M7_g x2_PM2_NAND4_X2__A5_17 88.14
+**************************************OR2_X2**************************************************
+M3_M3 73 N3_Zalp1_M0_g N3_3_M0_s VDD PMOS_VTL W=0.195000U AS=0.020475P AD=0.027300P PS=0.600000U PD=0.670000U
+M3_M4 N3_VDD_M1_d N3_Zalp2_M1_g 73 VDD PMOS_VTL W=0.195000U AS=0.027300P AD=0.037950P PS=0.670000U PD=0.860000U
+M3_M5 N3_ZN3_M2_d N3_3_M2_g N3_VDD_M1_d VDD PMOS_VTL W=0.270000U AS=0.037950P AD=0.028350P PS=0.860000U PD=0.750000U
+M3_M0 N3_3_M3_d N3_Zalp1_M3_g N3_VSS_M3_s VSS NMOS_VTL W=0.090000U AS=0.009450P AD=0.012600P PS=0.390000U PD=0.460000U
+M3_M1 N3_VSS_M4_d N3_Zalp2_M4_g N3_3_M3_d VSS NMOS_VTL W=0.090000U AS=0.012600P AD=0.023850P PS=0.460000U PD=0.680000U
+M3_M2 N3_ZN3_M5_d N3_3_M5_g N3_VSS_M4_d VSS NMOS_VTL W=0.180000U AS=0.023850P AD=0.018900P PS=0.680000U PD=0.570000U
+C_x3_PM_OR2_X2__VSS_c0 VSS x3_PM_OR2_X2__VSS_15 3.72032e-17
+C_x3_PM_OR2_X2__VSS_c1 VSS N3_VSS_M4_d 1.48795e-17
+C_x3_PM_OR2_X2__VSS_c2 VSS x3_PM_OR2_X2__VSS_6 1.07612e-17
+C_x3_PM_OR2_X2__VSS_c3 VSS x3_PM_OR2_X2__VSS_5 3.45483e-17
+C_x3_PM_OR2_X2__VSS_c4 VSS x3_PM_OR2_X2__VSS_4 2.26908e-17
+R_x3_PM_OR2_X2__VSS_r5 x3_PM_OR2_X2__VSS_15 x3_PM_OR2_X2__VSS_9 0.145286
+R_x3_PM_OR2_X2__VSS_r6 N3_VSS_M4_d x3_PM_OR2_X2__VSS_9 0.230714
+R_x3_PM_OR2_X2__VSS_r7 VSS x3_PM_OR2_X2__VSS_6 0.603529
+R_x3_PM_OR2_X2__VSS_r8 x3_PM_OR2_X2__VSS_15 x3_PM_OR2_X2__VSS_5 0.0731438
+R_x3_PM_OR2_X2__VSS_r9 VSS x3_PM_OR2_X2__VSS_5 0.134118
+R_x3_PM_OR2_X2__VSS_r10 x3_PM_OR2_X2__VSS_6 x3_PM_OR2_X2__VSS_4 0.264221
+R_x3_PM_OR2_X2__VSS_r11 x3_PM_OR2_X2__VSS_4 N3_VSS_M3_s 0.543196
+C_x3_PM_OR2_X2__VDD_c0 VSS x3_PM_OR2_X2__VDD_12 4.05231e-17
+C_x3_PM_OR2_X2__VDD_c1 VSS N3_VDD_M1_d 2.06356e-17
+C_x3_PM_OR2_X2__VDD_c2 VSS x3_PM_OR2_X2__VDD_2 4.07936e-17
+R_x3_PM_OR2_X2__VDD_r3 x3_PM_OR2_X2__VDD_12 x3_PM_OR2_X2__VDD_6 0.145286
+R_x3_PM_OR2_X2__VDD_r4 N3_VDD_M1_d x3_PM_OR2_X2__VDD_6 0.420714
+R_x3_PM_OR2_X2__VDD_r5 x3_PM_OR2_X2__VDD_12 x3_PM_OR2_X2__VDD_2 0.0731438
+R_x3_PM_OR2_X2__VDD_r6 VDD x3_PM_OR2_X2__VDD_2 0.0782353
+C_x3_PM_OR2_X2__3_c0 VSS x3_PM_OR2_X2__3_31 1.75553e-17
+C_x3_PM_OR2_X2__3_c1 VSS x3_PM_OR2_X2__3_28 1.72947e-17
+C_x3_PM_OR2_X2__3_c2 VSS x3_PM_OR2_X2__3_25 5.24935e-17
+C_x3_PM_OR2_X2__3_c3 VSS x3_PM_OR2_X2__3_22 2.8529e-17
+C_x3_PM_OR2_X2__3_c4 VSS N3_3_M3_d 4.52149e-17
+C_x3_PM_OR2_X2__3_c5 VSS x3_PM_OR2_X2__3_16 1.69957e-17
+C_x3_PM_OR2_X2__3_c6 VSS x3_PM_OR2_X2__3_15 3.68802e-17
+C_x3_PM_OR2_X2__3_c7 VSS N3_3_M0_s 4.3344e-17
+C_x3_PM_OR2_X2__3_c8 VSS N3_3_M2_g 9.38216e-17
+C_x3_PM_OR2_X2__3_c9 VSS N3_3_M5_g 4.44376e-17
+R_x3_PM_OR2_X2__3_r10 x3_PM_OR2_X2__3_31 x3_PM_OR2_X2__3_29 7.54
+R_x3_PM_OR2_X2__3_r11 x3_PM_OR2_X2__3_29 x3_PM_OR2_X2__3_25 25.0012
+R_x3_PM_OR2_X2__3_r12 x3_PM_OR2_X2__3_28 x3_PM_OR2_X2__3_23 0.0418175
+R_x3_PM_OR2_X2__3_r13 x3_PM_OR2_X2__3_25 x3_PM_OR2_X2__3_23 1.045
+R_x3_PM_OR2_X2__3_r14 x3_PM_OR2_X2__3_28 x3_PM_OR2_X2__3_21 0.160909
+R_x3_PM_OR2_X2__3_r15 x3_PM_OR2_X2__3_22 x3_PM_OR2_X2__3_21 0.705714
+R_x3_PM_OR2_X2__3_r16 x3_PM_OR2_X2__3_28 x3_PM_OR2_X2__3_17 0.160909
+R_x3_PM_OR2_X2__3_r17 N3_3_M3_d x3_PM_OR2_X2__3_17 1.045
+R_x3_PM_OR2_X2__3_r18 x3_PM_OR2_X2__3_22 x3_PM_OR2_X2__3_15 0.212317
+R_x3_PM_OR2_X2__3_r19 x3_PM_OR2_X2__3_16 x3_PM_OR2_X2__3_15 0.651429
+R_x3_PM_OR2_X2__3_r20 x3_PM_OR2_X2__3_16 x3_PM_OR2_X2__3_11 0.212317
+R_x3_PM_OR2_X2__3_r21 N3_3_M0_s x3_PM_OR2_X2__3_11 2.29357
+R_x3_PM_OR2_X2__3_r22 x3_PM_OR2_X2__3_31 x3_PM_OR2_X2__3_5 1.95
+R_x3_PM_OR2_X2__3_r23 N3_3_M2_g x3_PM_OR2_X2__3_5 99.84
+R_x3_PM_OR2_X2__3_r24 x3_PM_OR2_X2__3_31 x3_PM_OR2_X2__3_VSS 1.95
+R_x3_PM_OR2_X2__3_r25 N3_3_M5_g x3_PM_OR2_X2__3_VSS 38.22
+C_x3_PM_OR2_X2__Zalp1_c0 VSS x3_PM_OR2_X2__Zalp1_18 8.81315e-18
+C_x3_PM_OR2_X2__Zalp1_c1 VSS x3_PM_OR2_X2__Zalp1_12 5.4822e-17
+C_x3_PM_OR2_X2__Zalp1_c2 VSS N3_Zalp1_M0_g 8.90209e-17
+C_x3_PM_OR2_X2__Zalp1_c3 VSS N3_Zalp1_M3_g 3.57915e-17
+R_x3_PM_OR2_X2__Zalp1_r4 x3_PM_OR2_X2__Zalp1_18 x3_PM_OR2_X2__Zalp1_14 3.38
+R_x3_PM_OR2_X2__Zalp1_r5 x3_PM_OR2_X2__Zalp1_14 x3_PM_OR2_X2__Zalp1_12 25.0012
+R_x3_PM_OR2_X2__Zalp1_r6 x3_PM_OR2_X2__Zalp1_12 Zalp1 0.115357
+R_x3_PM_OR2_X2__Zalp1_r7 x3_PM_OR2_X2__Zalp1_18 x3_PM_OR2_X2__Zalp1_5 1.95
+R_x3_PM_OR2_X2__Zalp1_r8 N3_Zalp1_M0_g x3_PM_OR2_X2__Zalp1_5 101.01
+R_x3_PM_OR2_X2__Zalp1_r9 x3_PM_OR2_X2__Zalp1_18 x3_PM_OR2_X2__Zalp1_VSS 1.95
+R_x3_PM_OR2_X2__Zalp1_r10 N3_Zalp1_M3_g x3_PM_OR2_X2__Zalp1_VSS 35.88
+C_x3_PM_OR2_X2__Zalp2_c0 VSS Zalp2 6.95827e-17
+C_x3_PM_OR2_X2__Zalp2_c1 VSS x3_PM_OR2_X2__Zalp2_11 1.12977e-17
+C_x3_PM_OR2_X2__Zalp2_c2 VSS N3_Zalp2_M1_g 6.44459e-17
+C_x3_PM_OR2_X2__Zalp2_c3 VSS N3_Zalp2_M4_g 5.20861e-17
+R_x3_PM_OR2_X2__Zalp2_r4 x3_PM_OR2_X2__Zalp2_11 x3_PM_OR2_X2__Zalp2_16 4.42
+R_x3_PM_OR2_X2__Zalp2_r5 x3_PM_OR2_X2__Zalp2_11 x3_PM_OR2_X2__Zalp2_9 25.0012
+R_x3_PM_OR2_X2__Zalp2_r6 Zalp2 x3_PM_OR2_X2__Zalp2_9 0.196786
+R_x3_PM_OR2_X2__Zalp2_r7 x3_PM_OR2_X2__Zalp2_16 x3_PM_OR2_X2__Zalp2_5 1.95
+R_x3_PM_OR2_X2__Zalp2_r8 N3_Zalp2_M1_g x3_PM_OR2_X2__Zalp2_5 79.95
+R_x3_PM_OR2_X2__Zalp2_r9 x3_PM_OR2_X2__Zalp2_16 x3_PM_OR2_X2__Zalp2_VSS 1.95
+R_x3_PM_OR2_X2__Zalp2_r10 N3_Zalp2_M4_g x3_PM_OR2_X2__Zalp2_VSS 56.94
+C_x3_PM_OR2_X2__ZN3_c0 VSS N3_ZN3_M5_d 1.3351e-16
+R_x3_PM_OR2_X2__ZN3_r1 N3_ZN3_M2_d ZN 2.23929
+R_x3_PM_OR2_X2__ZN3_r2 ZN N3_ZN3_M5_d 2.91786
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nor2.sp b/LibNanGate45nm/nor2.sp
new file mode 100644
index 0000000..6a5735a
--- /dev/null
+++ b/LibNanGate45nm/nor2.sp
@@ -0,0 +1,58 @@
+.SUBCKT nor2 A1 A2 VDD VSS ZN
+M_M2 6 N_A2_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.390000U AS=0.040950P AD=0.054600P PS=0.990000U PD=1.060000U
+M_M3 N_ZN_M1_d N_A1_M1_g 6 VDD PMOS_VTL L=0.050U W=0.390000U AS=0.054600P AD=0.040950P PS=1.060000U PD=0.990000U
+M_M0 N_ZN_M2_d N_A2_M2_g N_VSS_M2_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M_M1 N_VSS_M3_d N_A1_M3_g N_ZN_M2_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_NOR2_X2__VSS_c0 VSS N_VSS_M3_d 1.9003e-17
+C_x_PM_NOR2_X2__VSS_c1 VSS x_PM_NOR2_X2__VSS_8 1.14613e-17
+C_x_PM_NOR2_X2__VSS_c2 VSS x_PM_NOR2_X2__VSS_7 5.12113e-17
+C_x_PM_NOR2_X2__VSS_c3 VSS N_VSS_M2_s 1.7976e-17
+R_x_PM_NOR2_X2__VSS_r4 N_VSS_M3_d x_PM_NOR2_X2__VSS_11 0.230714
+R_x_PM_NOR2_X2__VSS_r5 VSS x_PM_NOR2_X2__VSS_8 0.357647
+R_x_PM_NOR2_X2__VSS_r6 x_PM_NOR2_X2__VSS_11 x_PM_NOR2_X2__VSS_7 0.264221
+R_x_PM_NOR2_X2__VSS_r7 VSS x_PM_NOR2_X2__VSS_7 0.324118
+R_x_PM_NOR2_X2__VSS_r8 x_PM_NOR2_X2__VSS_8 x_PM_NOR2_X2__VSS_3 0.264221
+R_x_PM_NOR2_X2__VSS_r9 N_VSS_M2_s x_PM_NOR2_X2__VSS_3 0.230714
+C_x_PM_NOR2_X2__VDD_c0 VSS VDD 5.55967e-17
+C_x_PM_NOR2_X2__VDD_c1 VSS N_VDD_M0_s 2.30938e-17
+R_x_PM_NOR2_X2__VDD_r2 x_PM_NOR2_X2__VDD_10 VDD 0.0881799
+R_x_PM_NOR2_X2__VDD_r3 N_VDD_M0_s x_PM_NOR2_X2__VDD_10 0.230714
+C_x_PM_NOR2_X2__A2_c0 VSS x_PM_NOR2_X2__A2_18 8.24826e-18
+C_x_PM_NOR2_X2__A2_c1 VSS x_PM_NOR2_X2__A2_12 4.45792e-17
+C_x_PM_NOR2_X2__A2_c2 VSS N_A2_M0_g 9.21574e-17
+C_x_PM_NOR2_X2__A2_c3 VSS N_A2_M2_g 3.09335e-17
+R_x_PM_NOR2_X2__A2_r4 x_PM_NOR2_X2__A2_18 x_PM_NOR2_X2__A2_14 3.38
+R_x_PM_NOR2_X2__A2_r5 x_PM_NOR2_X2__A2_14 x_PM_NOR2_X2__A2_12 25.0012
+R_x_PM_NOR2_X2__A2_r6 x_PM_NOR2_X2__A2_12 A2 0.15069
+R_x_PM_NOR2_X2__A2_r7 x_PM_NOR2_X2__A2_18 x_PM_NOR2_X2__A2_5 1.95
+R_x_PM_NOR2_X2__A2_r8 N_A2_M0_g x_PM_NOR2_X2__A2_5 112.32
+R_x_PM_NOR2_X2__A2_r9 x_PM_NOR2_X2__A2_18 x_PM_NOR2_X2__A2_VSS 1.95
+R_x_PM_NOR2_X2__A2_r10 N_A2_M2_g x_PM_NOR2_X2__A2_VSS 21.84
+C_x_PM_NOR2_X2__ZN_c0 VSS N_ZN_M1_d 5.96075e-17
+C_x_PM_NOR2_X2__ZN_c1 VSS x_PM_NOR2_X2__ZN_9 3.74417e-17
+C_x_PM_NOR2_X2__ZN_c2 VSS ZN 7.19517e-18
+C_x_PM_NOR2_X2__ZN_c3 VSS N_ZN_M2_d 8.47483e-17
+R_x_PM_NOR2_X2__ZN_r4 N_ZN_M1_d x_PM_NOR2_X2__ZN_11 2.91786
+R_x_PM_NOR2_X2__ZN_r5 x_PM_NOR2_X2__ZN_11 x_PM_NOR2_X2__ZN_9 0.212317
+R_x_PM_NOR2_X2__ZN_r6 x_PM_NOR2_X2__ZN_10 x_PM_NOR2_X2__ZN_9 0.597143
+R_x_PM_NOR2_X2__ZN_r7 x_PM_NOR2_X2__ZN_10 ZN 0.212317
+R_x_PM_NOR2_X2__ZN_r8 ZN x_PM_NOR2_X2__ZN_7 0.000542857
+R_x_PM_NOR2_X2__ZN_r9 x_PM_NOR2_X2__ZN_7 N_ZN_M2_d 1.39731
+C_x_PM_NOR2_X2__A1_c0 VSS A1 6.50458e-17
+C_x_PM_NOR2_X2__A1_c1 VSS x_PM_NOR2_X2__A1_11 9.81933e-18
+C_x_PM_NOR2_X2__A1_c2 VSS N_A1_M1_g 1.07185e-16
+C_x_PM_NOR2_X2__A1_c3 VSS N_A1_M3_g 3.09279e-17
+R_x_PM_NOR2_X2__A1_r4 x_PM_NOR2_X2__A1_11 x_PM_NOR2_X2__A1_16 4.42
+R_x_PM_NOR2_X2__A1_r5 x_PM_NOR2_X2__A1_11 x_PM_NOR2_X2__A1_9 25.0012
+R_x_PM_NOR2_X2__A1_r6 A1 x_PM_NOR2_X2__A1_9 0.15069
+R_x_PM_NOR2_X2__A1_r7 x_PM_NOR2_X2__A1_16 x_PM_NOR2_X2__A1_5 1.95
+R_x_PM_NOR2_X2__A1_r8 N_A1_M1_g x_PM_NOR2_X2__A1_5 112.32
+R_x_PM_NOR2_X2__A1_r9 x_PM_NOR2_X2__A1_16 x_PM_NOR2_X2__A1_VSS 1.95
+R_x_PM_NOR2_X2__A1_r10 N_A1_M3_g x_PM_NOR2_X2__A1_VSS 21.84
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nor3.sp b/LibNanGate45nm/nor3.sp
new file mode 100644
index 0000000..e7f6aa2
--- /dev/null
+++ b/LibNanGate45nm/nor3.sp
@@ -0,0 +1,84 @@
+.SUBCKT nor3 A1 A2 A3 VDD VSS ZN
+M_M3 7 N_A3_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.520000U AS=0.054600P AD=0.072800P PS=1.250000U PD=1.320000U
+M_M4 8 N_A2_M1_g 7 VDD PMOS_VTL L=0.050U W=0.520000U AS=0.072800P AD=0.072800P PS=1.320000U PD=1.320000U
+M_M5 N_ZN_M2_d N_A1_M2_g 8 VDD PMOS_VTL L=0.050U W=0.520000U AS=0.072800P AD=0.054600P PS=1.320000U PD=1.250000U
+M_M0 N_ZN_M3_d N_A3_M3_g N_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M_M1 N_VSS_M4_d N_A2_M4_g N_ZN_M3_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M_M2 N_ZN_M5_d N_A1_M5_g N_VSS_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_NOR3_X2__VSS_c0 VSS x_PM_NOR3_X2__VSS_17 4.46075e-17
+C_x_PM_NOR3_X2__VSS_c1 VSS N_VSS_M4_d 2.78358e-17
+C_x_PM_NOR3_X2__VSS_c2 VSS x_PM_NOR3_X2__VSS_8 1.05487e-17
+C_x_PM_NOR3_X2__VSS_c3 VSS x_PM_NOR3_X2__VSS_7 3.86305e-17
+C_x_PM_NOR3_X2__VSS_c4 VSS N_VSS_M3_s 9.87304e-18
+R_x_PM_NOR3_X2__VSS_r5 x_PM_NOR3_X2__VSS_17 x_PM_NOR3_X2__VSS_11 0.145286
+R_x_PM_NOR3_X2__VSS_r6 N_VSS_M4_d x_PM_NOR3_X2__VSS_11 0.230714
+R_x_PM_NOR3_X2__VSS_r7 VSS x_PM_NOR3_X2__VSS_8 0.603529
+R_x_PM_NOR3_X2__VSS_r8 x_PM_NOR3_X2__VSS_17 x_PM_NOR3_X2__VSS_7 0.0731438
+R_x_PM_NOR3_X2__VSS_r9 VSS x_PM_NOR3_X2__VSS_7 0.0782353
+R_x_PM_NOR3_X2__VSS_r10 x_PM_NOR3_X2__VSS_8 x_PM_NOR3_X2__VSS_3 0.264221
+R_x_PM_NOR3_X2__VSS_r11 N_VSS_M3_s x_PM_NOR3_X2__VSS_3 0.230714
+C_x_PM_NOR3_X2__VDD_c0 VSS VDD 5.9596e-17
+C_x_PM_NOR3_X2__VDD_c1 VSS N_VDD_M0_s 2.58417e-17
+C_x_PM_NOR3_X2__VDD_c2 VSS x_PM_NOR3_X2__VDD_2 1.06055e-17
+R_x_PM_NOR3_X2__VDD_r3 VDD x_PM_NOR3_X2__VDD_2 0.0689273
+R_x_PM_NOR3_X2__VDD_r4 N_VDD_M0_s x_PM_NOR3_X2__VDD_2 0.230714
+C_x_PM_NOR3_X2__A3_c0 VSS x_PM_NOR3_X2__A3_11 7.14715e-18
+C_x_PM_NOR3_X2__A3_c1 VSS x_PM_NOR3_X2__A3_9 5.04542e-17
+C_x_PM_NOR3_X2__A3_c2 VSS N_A3_M0_g 6.20936e-17
+C_x_PM_NOR3_X2__A3_c3 VSS N_A3_M3_g 5.91756e-17
+R_x_PM_NOR3_X2__A3_r4 x_PM_NOR3_X2__A3_18 x_PM_NOR3_X2__A3_11 4.74714
+R_x_PM_NOR3_X2__A3_r5 x_PM_NOR3_X2__A3_17 x_PM_NOR3_X2__A3_11 4.74714
+R_x_PM_NOR3_X2__A3_r6 x_PM_NOR3_X2__A3_11 x_PM_NOR3_X2__A3_9 25.0012
+R_x_PM_NOR3_X2__A3_r7 A3 x_PM_NOR3_X2__A3_9 0.2204
+R_x_PM_NOR3_X2__A3_r8 N_A3_M0_g x_PM_NOR3_X2__A3_18 49.14
+R_x_PM_NOR3_X2__A3_r9 N_A3_M3_g x_PM_NOR3_X2__A3_17 74.88
+C_x_PM_NOR3_X2__ZN_c0 VSS x_PM_NOR3_X2__ZN_22 2.56413e-18
+C_x_PM_NOR3_X2__ZN_c1 VSS ZN 5.06951e-17
+C_x_PM_NOR3_X2__ZN_c2 VSS N_ZN_M2_d 2.75881e-17
+C_x_PM_NOR3_X2__ZN_c3 VSS x_PM_NOR3_X2__ZN_14 6.25994e-18
+C_x_PM_NOR3_X2__ZN_c4 VSS N_ZN_M5_d 2.52851e-17
+C_x_PM_NOR3_X2__ZN_c5 VSS x_PM_NOR3_X2__ZN_9 8.16416e-18
+C_x_PM_NOR3_X2__ZN_c6 VSS x_PM_NOR3_X2__ZN_8 4.12951e-17
+C_x_PM_NOR3_X2__ZN_c7 VSS N_ZN_M3_d 2.15312e-17
+R_x_PM_NOR3_X2__ZN_r8 ZN x_PM_NOR3_X2__ZN_19 1.46571
+R_x_PM_NOR3_X2__ZN_r9 x_PM_NOR3_X2__ZN_22 x_PM_NOR3_X2__ZN_18 0.143785
+R_x_PM_NOR3_X2__ZN_r10 ZN x_PM_NOR3_X2__ZN_18 0.868571
+R_x_PM_NOR3_X2__ZN_r11 x_PM_NOR3_X2__ZN_19 x_PM_NOR3_X2__ZN_14 0.20978
+R_x_PM_NOR3_X2__ZN_r12 N_ZN_M2_d x_PM_NOR3_X2__ZN_14 0.686111
+R_x_PM_NOR3_X2__ZN_r13 x_PM_NOR3_X2__ZN_22 x_PM_NOR3_X2__ZN_10 0.143785
+R_x_PM_NOR3_X2__ZN_r14 N_ZN_M5_d x_PM_NOR3_X2__ZN_10 0.116111
+R_x_PM_NOR3_X2__ZN_r15 x_PM_NOR3_X2__ZN_22 x_PM_NOR3_X2__ZN_8 0.0569232
+R_x_PM_NOR3_X2__ZN_r16 x_PM_NOR3_X2__ZN_9 x_PM_NOR3_X2__ZN_8 1.65571
+R_x_PM_NOR3_X2__ZN_r17 x_PM_NOR3_X2__ZN_9 x_PM_NOR3_X2__ZN_4 0.212317
+R_x_PM_NOR3_X2__ZN_r18 N_ZN_M3_d x_PM_NOR3_X2__ZN_4 0.149286
+C_x_PM_NOR3_X2__A2_c0 VSS x_PM_NOR3_X2__A2_11 8.98632e-18
+C_x_PM_NOR3_X2__A2_c1 VSS x_PM_NOR3_X2__A2_9 8.53584e-17
+C_x_PM_NOR3_X2__A2_c2 VSS N_A2_M1_g 6.12109e-17
+C_x_PM_NOR3_X2__A2_c3 VSS N_A2_M4_g 6.60015e-17
+R_x_PM_NOR3_X2__A2_r4 x_PM_NOR3_X2__A2_18 x_PM_NOR3_X2__A2_11 4.74714
+R_x_PM_NOR3_X2__A2_r5 x_PM_NOR3_X2__A2_17 x_PM_NOR3_X2__A2_11 4.74714
+R_x_PM_NOR3_X2__A2_r6 x_PM_NOR3_X2__A2_11 x_PM_NOR3_X2__A2_9 25.0012
+R_x_PM_NOR3_X2__A2_r7 A2 x_PM_NOR3_X2__A2_9 0.2204
+R_x_PM_NOR3_X2__A2_r8 N_A2_M1_g x_PM_NOR3_X2__A2_18 49.14
+R_x_PM_NOR3_X2__A2_r9 N_A2_M4_g x_PM_NOR3_X2__A2_17 74.88
+C_x_PM_NOR3_X2__A1_c0 VSS x_PM_NOR3_X2__A1_20 1.07269e-17
+C_x_PM_NOR3_X2__A1_c1 VSS x_PM_NOR3_X2__A1_14 4.59258e-17
+C_x_PM_NOR3_X2__A1_c2 VSS x_PM_NOR3_X2__A1_9 3.45973e-17
+C_x_PM_NOR3_X2__A1_c3 VSS N_A1_M2_g 7.00434e-17
+C_x_PM_NOR3_X2__A1_c4 VSS N_A1_M5_g 6.63408e-17
+R_x_PM_NOR3_X2__A1_r5 x_PM_NOR3_X2__A1_20 x_PM_NOR3_X2__A1_16 2.34
+R_x_PM_NOR3_X2__A1_r6 x_PM_NOR3_X2__A1_16 x_PM_NOR3_X2__A1_14 25.0012
+R_x_PM_NOR3_X2__A1_r7 x_PM_NOR3_X2__A1_14 x_PM_NOR3_X2__A1_12 0.147778
+R_x_PM_NOR3_X2__A1_r8 x_PM_NOR3_X2__A1_12 x_PM_NOR3_X2__A1_9 0.095
+R_x_PM_NOR3_X2__A1_r9 A1 x_PM_NOR3_X2__A1_9 0.298571
+R_x_PM_NOR3_X2__A1_r10 x_PM_NOR3_X2__A1_20 x_PM_NOR3_X2__A1_5 1.95
+R_x_PM_NOR3_X2__A1_r11 N_A1_M2_g x_PM_NOR3_X2__A1_5 56.94
+R_x_PM_NOR3_X2__A1_r12 x_PM_NOR3_X2__A1_20 x_PM_NOR3_X2__A1_VSS 1.95
+R_x_PM_NOR3_X2__A1_r13 N_A1_M5_g x_PM_NOR3_X2__A1_VSS 67.08
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nor4.sp b/LibNanGate45nm/nor4.sp
new file mode 100644
index 0000000..f469f13
--- /dev/null
+++ b/LibNanGate45nm/nor4.sp
@@ -0,0 +1,105 @@
+.SUBCKT nor4 A1 A2 A3 A4 VDD VSS ZN
+M_M4 8 N_A4_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.650000U AS=0.068250P AD=0.091000P PS=1.510000U PD=1.580000U
+M_M5 9 N_A3_M1_g 8 VDD PMOS_VTL L=0.050U W=0.650000U AS=0.091000P AD=0.091000P PS=1.580000U PD=1.580000U
+M_M6 10 N_A2_M2_g 9 VDD PMOS_VTL L=0.050U W=0.650000U AS=0.091000P AD=0.091000P PS=1.580000U PD=1.580000U
+M_M7 N_ZN_M3_d N_A1_M3_g 10 VDD PMOS_VTL L=0.050U W=0.650000U AS=0.091000P AD=0.068250P PS=1.580000U PD=1.510000U
+M_M0 N_ZN_M4_d N_A4_M4_g N_VSS_M4_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M_M1 N_VSS_M5_d N_A3_M5_g N_ZN_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M_M2 N_ZN_M6_d N_A2_M6_g N_VSS_M5_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M_M3 N_VSS_M7_d N_A1_M7_g N_ZN_M6_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_NOR4_X2__VSS_c0 VSS VSS 2.64443e-18
+C_x_PM_NOR4_X2__VSS_c1 VSS N_VSS_M7_d 1.30717e-17
+C_x_PM_NOR4_X2__VSS_c2 VSS x_PM_NOR4_X2__VSS_14 5.3438e-17
+C_x_PM_NOR4_X2__VSS_c3 VSS N_VSS_M5_d 2.04204e-17
+C_x_PM_NOR4_X2__VSS_c4 VSS x_PM_NOR4_X2__VSS_9 1.06295e-17
+C_x_PM_NOR4_X2__VSS_c5 VSS x_PM_NOR4_X2__VSS_8 3.88904e-17
+C_x_PM_NOR4_X2__VSS_c6 VSS N_VSS_M4_s 1.0831e-17
+R_x_PM_NOR4_X2__VSS_r7 N_VSS_M7_d x_PM_NOR4_X2__VSS_16 0.230714
+R_x_PM_NOR4_X2__VSS_r8 VSS x_PM_NOR4_X2__VSS_15 0.0731438
+R_x_PM_NOR4_X2__VSS_r9 x_PM_NOR4_X2__VSS_16 x_PM_NOR4_X2__VSS_14 0.264221
+R_x_PM_NOR4_X2__VSS_r10 x_PM_NOR4_X2__VSS_15 x_PM_NOR4_X2__VSS_14 0.681765
+R_x_PM_NOR4_X2__VSS_r11 VSS x_PM_NOR4_X2__VSS_10 0.145286
+R_x_PM_NOR4_X2__VSS_r12 N_VSS_M5_d x_PM_NOR4_X2__VSS_10 0.230714
+R_x_PM_NOR4_X2__VSS_r13 VSS x_PM_NOR4_X2__VSS_8 0.0731438
+R_x_PM_NOR4_X2__VSS_r14 x_PM_NOR4_X2__VSS_9 x_PM_NOR4_X2__VSS_8 0.692941
+R_x_PM_NOR4_X2__VSS_r15 x_PM_NOR4_X2__VSS_9 x_PM_NOR4_X2__VSS_4 0.264221
+R_x_PM_NOR4_X2__VSS_r16 N_VSS_M4_s x_PM_NOR4_X2__VSS_4 0.230714
+C_x_PM_NOR4_X2__VDD_c0 VSS VDD 7.40695e-17
+C_x_PM_NOR4_X2__VDD_c1 VSS N_VDD_M0_s 2.4691e-17
+C_x_PM_NOR4_X2__VDD_c2 VSS x_PM_NOR4_X2__VDD_2 1.06862e-17
+R_x_PM_NOR4_X2__VDD_r3 VDD x_PM_NOR4_X2__VDD_2 0.0689273
+R_x_PM_NOR4_X2__VDD_r4 N_VDD_M0_s x_PM_NOR4_X2__VDD_2 0.230714
+C_x_PM_NOR4_X2__A4_c0 VSS x_PM_NOR4_X2__A4_14 7.18659e-18
+C_x_PM_NOR4_X2__A4_c1 VSS x_PM_NOR4_X2__A4_12 3.56769e-17
+C_x_PM_NOR4_X2__A4_c2 VSS N_A4_M0_g 7.98018e-17
+C_x_PM_NOR4_X2__A4_c3 VSS N_A4_M4_g 4.23053e-17
+R_x_PM_NOR4_X2__A4_r4 x_PM_NOR4_X2__A4_18 x_PM_NOR4_X2__A4_14 4.74714
+R_x_PM_NOR4_X2__A4_r5 x_PM_NOR4_X2__A4_17 x_PM_NOR4_X2__A4_14 4.74714
+R_x_PM_NOR4_X2__A4_r6 x_PM_NOR4_X2__A4_14 x_PM_NOR4_X2__A4_12 25.0012
+R_x_PM_NOR4_X2__A4_r7 x_PM_NOR4_X2__A4_12 A4 0.156071
+R_x_PM_NOR4_X2__A4_r8 N_A4_M0_g x_PM_NOR4_X2__A4_18 70.98
+R_x_PM_NOR4_X2__A4_r9 N_A4_M4_g x_PM_NOR4_X2__A4_17 42.9
+C_x_PM_NOR4_X2__ZN_c0 VSS x_PM_NOR4_X2__ZN_27 1.32309e-17
+C_x_PM_NOR4_X2__ZN_c1 VSS x_PM_NOR4_X2__ZN_26 2.32902e-17
+C_x_PM_NOR4_X2__ZN_c2 VSS x_PM_NOR4_X2__ZN_23 4.60612e-17
+C_x_PM_NOR4_X2__ZN_c3 VSS N_ZN_M3_d 2.50235e-17
+C_x_PM_NOR4_X2__ZN_c4 VSS x_PM_NOR4_X2__ZN_18 3.46798e-18
+C_x_PM_NOR4_X2__ZN_c5 VSS x_PM_NOR4_X2__ZN_16 2.65091e-17
+C_x_PM_NOR4_X2__ZN_c6 VSS N_ZN_M6_d 2.42211e-17
+C_x_PM_NOR4_X2__ZN_c7 VSS x_PM_NOR4_X2__ZN_11 2.27649e-17
+C_x_PM_NOR4_X2__ZN_c8 VSS x_PM_NOR4_X2__ZN_10 1.9661e-17
+C_x_PM_NOR4_X2__ZN_c9 VSS x_PM_NOR4_X2__ZN_9 1.62159e-17
+C_x_PM_NOR4_X2__ZN_c10 VSS N_ZN_M4_d 2.33665e-17
+R_x_PM_NOR4_X2__ZN_r11 x_PM_NOR4_X2__ZN_26 ZN 0.189936
+R_x_PM_NOR4_X2__ZN_r12 x_PM_NOR4_X2__ZN_23 x_PM_NOR4_X2__ZN_22 1.65571
+R_x_PM_NOR4_X2__ZN_r13 x_PM_NOR4_X2__ZN_23 x_PM_NOR4_X2__ZN_18 0.192227
+R_x_PM_NOR4_X2__ZN_r14 N_ZN_M3_d x_PM_NOR4_X2__ZN_18 0.861333
+R_x_PM_NOR4_X2__ZN_r15 x_PM_NOR4_X2__ZN_27 x_PM_NOR4_X2__ZN_17 0.113465
+R_x_PM_NOR4_X2__ZN_r16 x_PM_NOR4_X2__ZN_22 x_PM_NOR4_X2__ZN_16 0.212317
+R_x_PM_NOR4_X2__ZN_r17 x_PM_NOR4_X2__ZN_17 x_PM_NOR4_X2__ZN_16 0.705714
+R_x_PM_NOR4_X2__ZN_r18 x_PM_NOR4_X2__ZN_27 x_PM_NOR4_X2__ZN_12 0.0883294
+R_x_PM_NOR4_X2__ZN_r19 N_ZN_M6_d x_PM_NOR4_X2__ZN_12 0.257857
+R_x_PM_NOR4_X2__ZN_r20 ZN x_PM_NOR4_X2__ZN_11 0.095
+R_x_PM_NOR4_X2__ZN_r21 x_PM_NOR4_X2__ZN_27 x_PM_NOR4_X2__ZN_10 0.113465
+R_x_PM_NOR4_X2__ZN_r22 x_PM_NOR4_X2__ZN_11 x_PM_NOR4_X2__ZN_10 0.257857
+R_x_PM_NOR4_X2__ZN_r23 x_PM_NOR4_X2__ZN_9 x_PM_NOR4_X2__ZN_26 0.732857
+R_x_PM_NOR4_X2__ZN_r24 x_PM_NOR4_X2__ZN_9 x_PM_NOR4_X2__ZN_4 0.212317
+R_x_PM_NOR4_X2__ZN_r25 N_ZN_M4_d x_PM_NOR4_X2__ZN_4 0.257857
+C_x_PM_NOR4_X2__A3_c0 VSS x_PM_NOR4_X2__A3_14 8.988e-18
+C_x_PM_NOR4_X2__A3_c1 VSS x_PM_NOR4_X2__A3_12 6.21612e-17
+C_x_PM_NOR4_X2__A3_c2 VSS N_A3_M1_g 8.04354e-17
+C_x_PM_NOR4_X2__A3_c3 VSS N_A3_M5_g 4.7e-17
+R_x_PM_NOR4_X2__A3_r4 x_PM_NOR4_X2__A3_18 x_PM_NOR4_X2__A3_14 4.74714
+R_x_PM_NOR4_X2__A3_r5 x_PM_NOR4_X2__A3_17 x_PM_NOR4_X2__A3_14 4.74714
+R_x_PM_NOR4_X2__A3_r6 x_PM_NOR4_X2__A3_14 x_PM_NOR4_X2__A3_12 25.0012
+R_x_PM_NOR4_X2__A3_r7 x_PM_NOR4_X2__A3_12 A3 0.156071
+R_x_PM_NOR4_X2__A3_r8 N_A3_M1_g x_PM_NOR4_X2__A3_18 70.98
+R_x_PM_NOR4_X2__A3_r9 N_A3_M5_g x_PM_NOR4_X2__A3_17 42.9
+C_x_PM_NOR4_X2__A2_c0 VSS x_PM_NOR4_X2__A2_11 9.40823e-18
+C_x_PM_NOR4_X2__A2_c1 VSS x_PM_NOR4_X2__A2_9 7.48156e-17
+C_x_PM_NOR4_X2__A2_c2 VSS N_A2_M2_g 7.24567e-17
+C_x_PM_NOR4_X2__A2_c3 VSS N_A2_M6_g 5.58007e-17
+R_x_PM_NOR4_X2__A2_r4 x_PM_NOR4_X2__A2_18 x_PM_NOR4_X2__A2_11 4.74714
+R_x_PM_NOR4_X2__A2_r5 x_PM_NOR4_X2__A2_17 x_PM_NOR4_X2__A2_11 4.74714
+R_x_PM_NOR4_X2__A2_r6 x_PM_NOR4_X2__A2_11 x_PM_NOR4_X2__A2_9 25.0012
+R_x_PM_NOR4_X2__A2_r7 A2 x_PM_NOR4_X2__A2_9 0.1748
+R_x_PM_NOR4_X2__A2_r8 N_A2_M2_g x_PM_NOR4_X2__A2_18 58.5
+R_x_PM_NOR4_X2__A2_r9 N_A2_M6_g x_PM_NOR4_X2__A2_17 55.38
+C_x_PM_NOR4_X2__A1_c0 VSS x_PM_NOR4_X2__A1_18 1.20639e-17
+C_x_PM_NOR4_X2__A1_c1 VSS x_PM_NOR4_X2__A1_9 8.8423e-17
+C_x_PM_NOR4_X2__A1_c2 VSS N_A1_M3_g 7.69685e-17
+C_x_PM_NOR4_X2__A1_c3 VSS N_A1_M7_g 5.68099e-17
+R_x_PM_NOR4_X2__A1_r4 x_PM_NOR4_X2__A1_18 x_PM_NOR4_X2__A1_11 3.38
+R_x_PM_NOR4_X2__A1_r5 x_PM_NOR4_X2__A1_11 x_PM_NOR4_X2__A1_9 25.0012
+R_x_PM_NOR4_X2__A1_r6 A1 x_PM_NOR4_X2__A1_9 0.198636
+R_x_PM_NOR4_X2__A1_r7 x_PM_NOR4_X2__A1_18 x_PM_NOR4_X2__A1_5 1.95
+R_x_PM_NOR4_X2__A1_r8 N_A1_M3_g x_PM_NOR4_X2__A1_5 58.5
+R_x_PM_NOR4_X2__A1_r9 x_PM_NOR4_X2__A1_18 x_PM_NOR4_X2__A1_VSS 1.95
+R_x_PM_NOR4_X2__A1_r10 N_A1_M7_g x_PM_NOR4_X2__A1_VSS 55.38
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/nor8.sp b/LibNanGate45nm/nor8.sp
new file mode 100644
index 0000000..3ceaad4
--- /dev/null
+++ b/LibNanGate45nm/nor8.sp
@@ -0,0 +1,289 @@
+.SUBCKT nor8 A1 A2 A3 A4 A5 A6 A7 A8 VDD VSS ZN
+************************************************NOR4_X2********************************************
+M_M4 8 N_A4_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.650000U AS=0.068250P AD=0.091000P PS=1.510000U PD=1.580000U
+M_M5 9 N_A3_M1_g 8 VDD PMOS_VTL L=0.050U W=0.650000U AS=0.091000P AD=0.091000P PS=1.580000U PD=1.580000U
+M_M6 10 N_A2_M2_g 9 VDD PMOS_VTL L=0.050U W=0.650000U AS=0.091000P AD=0.091000P PS=1.580000U PD=1.580000U
+M_M7 N_Zalp1_M3_d N_A1_M3_g 10 VDD PMOS_VTL L=0.050U W=0.650000U AS=0.091000P AD=0.068250P PS=1.580000U PD=1.510000U
+M_M0 N_Zalp1_M4_d N_A4_M4_g N_VSS_M4_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M_M1 N_VSS_M5_d N_A3_M5_g N_Zalp1_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M_M2 N_Zalp1_M6_d N_A2_M6_g N_VSS_M5_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M_M3 N_VSS_M7_d N_A1_M7_g N_Zalp1_M6_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_NOR4_X2__VSS_c0 VSS VSS 2.64443e-18
+C_x_PM_NOR4_X2__VSS_c1 VSS N_VSS_M7_d 1.30717e-17
+C_x_PM_NOR4_X2__VSS_c2 VSS x_PM_NOR4_X2__VSS_14 5.3438e-17
+C_x_PM_NOR4_X2__VSS_c3 VSS N_VSS_M5_d 2.04204e-17
+C_x_PM_NOR4_X2__VSS_c4 VSS x_PM_NOR4_X2__VSS_9 1.06295e-17
+C_x_PM_NOR4_X2__VSS_c5 VSS x_PM_NOR4_X2__VSS_8 3.88904e-17
+C_x_PM_NOR4_X2__VSS_c6 VSS N_VSS_M4_s 1.0831e-17
+R_x_PM_NOR4_X2__VSS_r7 N_VSS_M7_d x_PM_NOR4_X2__VSS_16 0.230714
+R_x_PM_NOR4_X2__VSS_r8 VSS x_PM_NOR4_X2__VSS_15 0.0731438
+R_x_PM_NOR4_X2__VSS_r9 x_PM_NOR4_X2__VSS_16 x_PM_NOR4_X2__VSS_14 0.264221
+R_x_PM_NOR4_X2__VSS_r10 x_PM_NOR4_X2__VSS_15 x_PM_NOR4_X2__VSS_14 0.681765
+R_x_PM_NOR4_X2__VSS_r11 VSS x_PM_NOR4_X2__VSS_10 0.145286
+R_x_PM_NOR4_X2__VSS_r12 N_VSS_M5_d x_PM_NOR4_X2__VSS_10 0.230714
+R_x_PM_NOR4_X2__VSS_r13 VSS x_PM_NOR4_X2__VSS_8 0.0731438
+R_x_PM_NOR4_X2__VSS_r14 x_PM_NOR4_X2__VSS_9 x_PM_NOR4_X2__VSS_8 0.692941
+R_x_PM_NOR4_X2__VSS_r15 x_PM_NOR4_X2__VSS_9 x_PM_NOR4_X2__VSS_4 0.264221
+R_x_PM_NOR4_X2__VSS_r16 N_VSS_M4_s x_PM_NOR4_X2__VSS_4 0.230714
+C_x_PM_NOR4_X2__VDD_c0 VSS VDD 7.40695e-17
+C_x_PM_NOR4_X2__VDD_c1 VSS N_VDD_M0_s 2.4691e-17
+C_x_PM_NOR4_X2__VDD_c2 VSS x_PM_NOR4_X2__VDD_2 1.06862e-17
+R_x_PM_NOR4_X2__VDD_r3 VDD x_PM_NOR4_X2__VDD_2 0.0689273
+R_x_PM_NOR4_X2__VDD_r4 N_VDD_M0_s x_PM_NOR4_X2__VDD_2 0.230714
+C_x_PM_NOR4_X2__A4_c0 VSS x_PM_NOR4_X2__A4_14 7.18659e-18
+C_x_PM_NOR4_X2__A4_c1 VSS x_PM_NOR4_X2__A4_12 3.56769e-17
+C_x_PM_NOR4_X2__A4_c2 VSS N_A4_M0_g 7.98018e-17
+C_x_PM_NOR4_X2__A4_c3 VSS N_A4_M4_g 4.23053e-17
+R_x_PM_NOR4_X2__A4_r4 x_PM_NOR4_X2__A4_18 x_PM_NOR4_X2__A4_14 4.74714
+R_x_PM_NOR4_X2__A4_r5 x_PM_NOR4_X2__A4_17 x_PM_NOR4_X2__A4_14 4.74714
+R_x_PM_NOR4_X2__A4_r6 x_PM_NOR4_X2__A4_14 x_PM_NOR4_X2__A4_12 25.0012
+R_x_PM_NOR4_X2__A4_r7 x_PM_NOR4_X2__A4_12 A4 0.156071
+R_x_PM_NOR4_X2__A4_r8 N_A4_M0_g x_PM_NOR4_X2__A4_18 70.98
+R_x_PM_NOR4_X2__A4_r9 N_A4_M4_g x_PM_NOR4_X2__A4_17 42.9
+C_x_PM_NOR4_X2__Zalp1_c0 VSS x_PM_NOR4_X2__Zalp1_27 1.32309e-17
+C_x_PM_NOR4_X2__Zalp1_c1 VSS x_PM_NOR4_X2__Zalp1_26 2.32902e-17
+C_x_PM_NOR4_X2__Zalp1_c2 VSS x_PM_NOR4_X2__Zalp1_23 4.60612e-17
+C_x_PM_NOR4_X2__Zalp1_c3 VSS N_Zalp1_M3_d 2.50235e-17
+C_x_PM_NOR4_X2__Zalp1_c4 VSS x_PM_NOR4_X2__Zalp1_18 3.46798e-18
+C_x_PM_NOR4_X2__Zalp1_c5 VSS x_PM_NOR4_X2__Zalp1_16 2.65091e-17
+C_x_PM_NOR4_X2__Zalp1_c6 VSS N_Zalp1_M6_d 2.42211e-17
+C_x_PM_NOR4_X2__Zalp1_c7 VSS x_PM_NOR4_X2__Zalp1_11 2.27649e-17
+C_x_PM_NOR4_X2__Zalp1_c8 VSS x_PM_NOR4_X2__Zalp1_10 1.9661e-17
+C_x_PM_NOR4_X2__Zalp1_c9 VSS x_PM_NOR4_X2__Zalp1_9 1.62159e-17
+C_x_PM_NOR4_X2__Zalp1_c10 VSS N_Zalp1_M4_d 2.33665e-17
+R_x_PM_NOR4_X2__Zalp1_r11 x_PM_NOR4_X2__Zalp1_26 Zalp1 0.189936
+R_x_PM_NOR4_X2__Zalp1_r12 x_PM_NOR4_X2__Zalp1_23 x_PM_NOR4_X2__Zalp1_22 1.65571
+R_x_PM_NOR4_X2__Zalp1_r13 x_PM_NOR4_X2__Zalp1_23 x_PM_NOR4_X2__Zalp1_18 0.192227
+R_x_PM_NOR4_X2__Zalp1_r14 N_Zalp1_M3_d x_PM_NOR4_X2__Zalp1_18 0.861333
+R_x_PM_NOR4_X2__Zalp1_r15 x_PM_NOR4_X2__Zalp1_27 x_PM_NOR4_X2__Zalp1_17 0.113465
+R_x_PM_NOR4_X2__Zalp1_r16 x_PM_NOR4_X2__Zalp1_22 x_PM_NOR4_X2__Zalp1_16 0.212317
+R_x_PM_NOR4_X2__Zalp1_r17 x_PM_NOR4_X2__Zalp1_17 x_PM_NOR4_X2__Zalp1_16 0.705714
+R_x_PM_NOR4_X2__Zalp1_r18 x_PM_NOR4_X2__Zalp1_27 x_PM_NOR4_X2__Zalp1_12 0.0883294
+R_x_PM_NOR4_X2__Zalp1_r19 N_Zalp1_M6_d x_PM_NOR4_X2__Zalp1_12 0.257857
+R_x_PM_NOR4_X2__Zalp1_r20 Zalp1 x_PM_NOR4_X2__Zalp1_11 0.095
+R_x_PM_NOR4_X2__Zalp1_r21 x_PM_NOR4_X2__Zalp1_27 x_PM_NOR4_X2__Zalp1_10 0.113465
+R_x_PM_NOR4_X2__Zalp1_r22 x_PM_NOR4_X2__Zalp1_11 x_PM_NOR4_X2__Zalp1_10 0.257857
+R_x_PM_NOR4_X2__Zalp1_r23 x_PM_NOR4_X2__Zalp1_9 x_PM_NOR4_X2__Zalp1_26 0.732857
+R_x_PM_NOR4_X2__Zalp1_r24 x_PM_NOR4_X2__Zalp1_9 x_PM_NOR4_X2__Zalp1_4 0.212317
+R_x_PM_NOR4_X2__Zalp1_r25 N_Zalp1_M4_d x_PM_NOR4_X2__Zalp1_4 0.257857
+C_x_PM_NOR4_X2__A3_c0 VSS x_PM_NOR4_X2__A3_14 8.988e-18
+C_x_PM_NOR4_X2__A3_c1 VSS x_PM_NOR4_X2__A3_12 6.21612e-17
+C_x_PM_NOR4_X2__A3_c2 VSS N_A3_M1_g 8.04354e-17
+C_x_PM_NOR4_X2__A3_c3 VSS N_A3_M5_g 4.7e-17
+R_x_PM_NOR4_X2__A3_r4 x_PM_NOR4_X2__A3_18 x_PM_NOR4_X2__A3_14 4.74714
+R_x_PM_NOR4_X2__A3_r5 x_PM_NOR4_X2__A3_17 x_PM_NOR4_X2__A3_14 4.74714
+R_x_PM_NOR4_X2__A3_r6 x_PM_NOR4_X2__A3_14 x_PM_NOR4_X2__A3_12 25.0012
+R_x_PM_NOR4_X2__A3_r7 x_PM_NOR4_X2__A3_12 A3 0.156071
+R_x_PM_NOR4_X2__A3_r8 N_A3_M1_g x_PM_NOR4_X2__A3_18 70.98
+R_x_PM_NOR4_X2__A3_r9 N_A3_M5_g x_PM_NOR4_X2__A3_17 42.9
+C_x_PM_NOR4_X2__A2_c0 VSS x_PM_NOR4_X2__A2_11 9.40823e-18
+C_x_PM_NOR4_X2__A2_c1 VSS x_PM_NOR4_X2__A2_9 7.48156e-17
+C_x_PM_NOR4_X2__A2_c2 VSS N_A2_M2_g 7.24567e-17
+C_x_PM_NOR4_X2__A2_c3 VSS N_A2_M6_g 5.58007e-17
+R_x_PM_NOR4_X2__A2_r4 x_PM_NOR4_X2__A2_18 x_PM_NOR4_X2__A2_11 4.74714
+R_x_PM_NOR4_X2__A2_r5 x_PM_NOR4_X2__A2_17 x_PM_NOR4_X2__A2_11 4.74714
+R_x_PM_NOR4_X2__A2_r6 x_PM_NOR4_X2__A2_11 x_PM_NOR4_X2__A2_9 25.0012
+R_x_PM_NOR4_X2__A2_r7 A2 x_PM_NOR4_X2__A2_9 0.1748
+R_x_PM_NOR4_X2__A2_r8 N_A2_M2_g x_PM_NOR4_X2__A2_18 58.5
+R_x_PM_NOR4_X2__A2_r9 N_A2_M6_g x_PM_NOR4_X2__A2_17 55.38
+C_x_PM_NOR4_X2__A1_c0 VSS x_PM_NOR4_X2__A1_18 1.20639e-17
+C_x_PM_NOR4_X2__A1_c1 VSS x_PM_NOR4_X2__A1_9 8.8423e-17
+C_x_PM_NOR4_X2__A1_c2 VSS N_A1_M3_g 7.69685e-17
+C_x_PM_NOR4_X2__A1_c3 VSS N_A1_M7_g 5.68099e-17
+R_x_PM_NOR4_X2__A1_r4 x_PM_NOR4_X2__A1_18 x_PM_NOR4_X2__A1_11 3.38
+R_x_PM_NOR4_X2__A1_r5 x_PM_NOR4_X2__A1_11 x_PM_NOR4_X2__A1_9 25.0012
+R_x_PM_NOR4_X2__A1_r6 A1 x_PM_NOR4_X2__A1_9 0.198636
+R_x_PM_NOR4_X2__A1_r7 x_PM_NOR4_X2__A1_18 x_PM_NOR4_X2__A1_5 1.95
+R_x_PM_NOR4_X2__A1_r8 N_A1_M3_g x_PM_NOR4_X2__A1_5 58.5
+R_x_PM_NOR4_X2__A1_r9 x_PM_NOR4_X2__A1_18 x_PM_NOR4_X2__A1_VSS 1.95
+R_x_PM_NOR4_X2__A1_r10 N_A1_M7_g x_PM_NOR4_X2__A1_VSS 55.38
+***************************************************NOR4_X2***********************************************************
+M2_M4 82 N2_A8_M0_g N2_VDD_M0_s VDD PMOS_VTL W=0.650000U AS=0.068250P AD=0.091000P PS=1.510000U PD=1.580000U
+M2_M5 92 N2_A7_M1_g 82 VDD PMOS_VTL W=0.650000U AS=0.091000P AD=0.091000P PS=1.580000U PD=1.580000U
+M2_M6 102 N2_A6_M2_g 92 VDD PMOS_VTL W=0.650000U AS=0.091000P AD=0.091000P PS=1.580000U PD=1.580000U
+M2_M7 N2_Zalp2_M3_d N2_A5_M3_g 102 VDD PMOS_VTL W=0.650000U AS=0.091000P AD=0.068250P PS=1.580000U PD=1.510000U
+M2_M0 N2_Zalp2_M4_d N2_A8_M4_g N2_VSS_M4_s VSS NMOS_VTL W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M2_M1 N2_VSS_M5_d N2_A7_M5_g N2_Zalp2_M4_d VSS NMOS_VTL W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M2_M2 N2_Zalp2_M6_d N2_A6_M6_g N2_VSS_M5_d VSS NMOS_VTL W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M2_M3 N2_VSS_M7_d N2_A5_M7_g N2_Zalp2_M6_d VSS NMOS_VTL W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x2_PM2_NOR4_X2__VSS_c0 VSS VSS 2.64443e-18
+C_x2_PM2_NOR4_X2__VSS_c1 VSS N2_VSS_M7_d 1.30717e-17
+C_x2_PM2_NOR4_X2__VSS_c2 VSS x2_PM2_NOR4_X2__VSS_14 5.3438e-17
+C_x2_PM2_NOR4_X2__VSS_c3 VSS N2_VSS_M5_d 2.04204e-17
+C_x2_PM2_NOR4_X2__VSS_c4 VSS x2_PM2_NOR4_X2__VSS_9 1.06295e-17
+C_x2_PM2_NOR4_X2__VSS_c5 VSS x2_PM2_NOR4_X2__VSS_8 3.88904e-17
+C_x2_PM2_NOR4_X2__VSS_c6 VSS N2_VSS_M4_s 1.0831e-17
+R_x2_PM2_NOR4_X2__VSS_r7 N2_VSS_M7_d x2_PM2_NOR4_X2__VSS_16 0.230714
+R_x2_PM2_NOR4_X2__VSS_r8 VSS x2_PM2_NOR4_X2__VSS_15 0.0731438
+R_x2_PM2_NOR4_X2__VSS_r9 x2_PM2_NOR4_X2__VSS_16 x2_PM2_NOR4_X2__VSS_14 0.264221
+R_x2_PM2_NOR4_X2__VSS_r10 x2_PM2_NOR4_X2__VSS_15 x2_PM2_NOR4_X2__VSS_14 0.681765
+R_x2_PM2_NOR4_X2__VSS_r11 VSS x2_PM2_NOR4_X2__VSS_10 0.145286
+R_x2_PM2_NOR4_X2__VSS_r12 N2_VSS_M5_d x2_PM2_NOR4_X2__VSS_10 0.230714
+R_x2_PM2_NOR4_X2__VSS_r13 VSS x2_PM2_NOR4_X2__VSS_8 0.0731438
+R_x2_PM2_NOR4_X2__VSS_r14 x2_PM2_NOR4_X2__VSS_9 x2_PM2_NOR4_X2__VSS_8 0.692941
+R_x2_PM2_NOR4_X2__VSS_r15 x2_PM2_NOR4_X2__VSS_9 x2_PM2_NOR4_X2__VSS_4 0.264221
+R_x2_PM2_NOR4_X2__VSS_r16 N2_VSS_M4_s x2_PM2_NOR4_X2__VSS_4 0.230714
+C_x2_PM2_NOR4_X2__VDD_c0 VSS VDD 7.40695e-17
+C_x2_PM2_NOR4_X2__VDD_c1 VSS N2_VDD_M0_s 2.4691e-17
+C_x2_PM2_NOR4_X2__VDD_c2 VSS x2_PM2_NOR4_X2__VDD_2 1.06862e-17
+R_x2_PM2_NOR4_X2__VDD_r3 VDD x2_PM2_NOR4_X2__VDD_2 0.0689273
+R_x2_PM2_NOR4_X2__VDD_r4 N2_VDD_M0_s x2_PM2_NOR4_X2__VDD_2 0.230714
+C_x2_PM2_NOR4_X2__A8_c0 VSS x2_PM2_NOR4_X2__A8_14 7.18659e-18
+C_x2_PM2_NOR4_X2__A8_c1 VSS x2_PM2_NOR4_X2__A8_12 3.56769e-17
+C_x2_PM2_NOR4_X2__A8_c2 VSS N2_A8_M0_g 7.98018e-17
+C_x2_PM2_NOR4_X2__A8_c3 VSS N2_A8_M4_g 4.23053e-17
+R_x2_PM2_NOR4_X2__A8_r4 x2_PM2_NOR4_X2__A8_18 x2_PM2_NOR4_X2__A8_14 4.74714
+R_x2_PM2_NOR4_X2__A8_r5 x2_PM2_NOR4_X2__A8_17 x2_PM2_NOR4_X2__A8_14 4.74714
+R_x2_PM2_NOR4_X2__A8_r6 x2_PM2_NOR4_X2__A8_14 x2_PM2_NOR4_X2__A8_12 25.0012
+R_x2_PM2_NOR4_X2__A8_r7 x2_PM2_NOR4_X2__A8_12 A8 0.156071
+R_x2_PM2_NOR4_X2__A8_r8 N2_A8_M0_g x2_PM2_NOR4_X2__A8_18 70.98
+R_x2_PM2_NOR4_X2__A8_r9 N2_A8_M4_g x2_PM2_NOR4_X2__A8_17 42.9
+C_x2_PM2_NOR4_X2__Zalp2_c0 VSS x2_PM2_NOR4_X2__Zalp2_27 1.32309e-17
+C_x2_PM2_NOR4_X2__Zalp2_c1 VSS x2_PM2_NOR4_X2__Zalp2_26 2.32902e-17
+C_x2_PM2_NOR4_X2__Zalp2_c2 VSS x2_PM2_NOR4_X2__Zalp2_23 4.60612e-17
+C_x2_PM2_NOR4_X2__Zalp2_c3 VSS N2_Zalp2_M3_d 2.50235e-17
+C_x2_PM2_NOR4_X2__Zalp2_c4 VSS x2_PM2_NOR4_X2__Zalp2_18 3.46798e-18
+C_x2_PM2_NOR4_X2__Zalp2_c5 VSS x2_PM2_NOR4_X2__Zalp2_16 2.65091e-17
+C_x2_PM2_NOR4_X2__Zalp2_c6 VSS N2_Zalp2_M6_d 2.42211e-17
+C_x2_PM2_NOR4_X2__Zalp2_c7 VSS x2_PM2_NOR4_X2__Zalp2_11 2.27649e-17
+C_x2_PM2_NOR4_X2__Zalp2_c8 VSS x2_PM2_NOR4_X2__Zalp2_10 1.9661e-17
+C_x2_PM2_NOR4_X2__Zalp2_c9 VSS x2_PM2_NOR4_X2__Zalp2_9 1.62159e-17
+C_x2_PM2_NOR4_X2__Zalp2_c10 VSS N2_Zalp2_M4_d 2.33665e-17
+R_x2_PM2_NOR4_X2__Zalp2_r11 x2_PM2_NOR4_X2__Zalp2_26 Zalp2 0.189936
+R_x2_PM2_NOR4_X2__Zalp2_r12 x2_PM2_NOR4_X2__Zalp2_23 x2_PM2_NOR4_X2__Zalp2_22 1.65571
+R_x2_PM2_NOR4_X2__Zalp2_r13 x2_PM2_NOR4_X2__Zalp2_23 x2_PM2_NOR4_X2__Zalp2_18 0.192227
+R_x2_PM2_NOR4_X2__Zalp2_r14 N2_Zalp2_M3_d x2_PM2_NOR4_X2__Zalp2_18 0.861333
+R_x2_PM2_NOR4_X2__Zalp2_r15 x2_PM2_NOR4_X2__Zalp2_27 x2_PM2_NOR4_X2__Zalp2_17 0.113465
+R_x2_PM2_NOR4_X2__Zalp2_r16 x2_PM2_NOR4_X2__Zalp2_22 x2_PM2_NOR4_X2__Zalp2_16 0.212317
+R_x2_PM2_NOR4_X2__Zalp2_r17 x2_PM2_NOR4_X2__Zalp2_17 x2_PM2_NOR4_X2__Zalp2_16 0.705714
+R_x2_PM2_NOR4_X2__Zalp2_r18 x2_PM2_NOR4_X2__Zalp2_27 x2_PM2_NOR4_X2__Zalp2_12 0.0883294
+R_x2_PM2_NOR4_X2__Zalp2_r19 N2_Zalp2_M6_d x2_PM2_NOR4_X2__Zalp2_12 0.257857
+R_x2_PM2_NOR4_X2__Zalp2_r20 Zalp2 x2_PM2_NOR4_X2__Zalp2_11 0.095
+R_x2_PM2_NOR4_X2__Zalp2_r21 x2_PM2_NOR4_X2__Zalp2_27 x2_PM2_NOR4_X2__Zalp2_10 0.113465
+R_x2_PM2_NOR4_X2__Zalp2_r22 x2_PM2_NOR4_X2__Zalp2_11 x2_PM2_NOR4_X2__Zalp2_10 0.257857
+R_x2_PM2_NOR4_X2__Zalp2_r23 x2_PM2_NOR4_X2__Zalp2_9 x2_PM2_NOR4_X2__Zalp2_26 0.732857
+R_x2_PM2_NOR4_X2__Zalp2_r24 x2_PM2_NOR4_X2__Zalp2_9 x2_PM2_NOR4_X2__Zalp2_4 0.212317
+R_x2_PM2_NOR4_X2__Zalp2_r25 N2_Zalp2_M4_d x2_PM2_NOR4_X2__Zalp2_4 0.257857
+C_x2_PM2_NOR4_X2__A7_c0 VSS x2_PM2_NOR4_X2__A7_14 8.988e-18
+C_x2_PM2_NOR4_X2__A7_c1 VSS x2_PM2_NOR4_X2__A7_12 6.21612e-17
+C_x2_PM2_NOR4_X2__A7_c2 VSS N2_A7_M1_g 8.04354e-17
+C_x2_PM2_NOR4_X2__A7_c3 VSS N2_A7_M5_g 4.7e-17
+R_x2_PM2_NOR4_X2__A7_r4 x2_PM2_NOR4_X2__A7_18 x2_PM2_NOR4_X2__A7_14 4.74714
+R_x2_PM2_NOR4_X2__A7_r5 x2_PM2_NOR4_X2__A7_17 x2_PM2_NOR4_X2__A7_14 4.74714
+R_x2_PM2_NOR4_X2__A7_r6 x2_PM2_NOR4_X2__A7_14 x2_PM2_NOR4_X2__A7_12 25.0012
+R_x2_PM2_NOR4_X2__A7_r7 x2_PM2_NOR4_X2__A7_12 A7 0.156071
+R_x2_PM2_NOR4_X2__A7_r8 N2_A7_M1_g x2_PM2_NOR4_X2__A7_18 70.98
+R_x2_PM2_NOR4_X2__A7_r9 N2_A7_M5_g x2_PM2_NOR4_X2__A7_17 42.9
+C_x2_PM2_NOR4_X2__A6_c0 VSS x2_PM2_NOR4_X2__A6_11 9.40823e-18
+C_x2_PM2_NOR4_X2__A6_c1 VSS x2_PM2_NOR4_X2__A6_9 7.48156e-17
+C_x2_PM2_NOR4_X2__A6_c2 VSS N2_A6_M2_g 7.24567e-17
+C_x2_PM2_NOR4_X2__A6_c3 VSS N2_A6_M6_g 5.58007e-17
+R_x2_PM2_NOR4_X2__A6_r4 x2_PM2_NOR4_X2__A6_18 x2_PM2_NOR4_X2__A6_11 4.74714
+R_x2_PM2_NOR4_X2__A6_r5 x2_PM2_NOR4_X2__A6_17 x2_PM2_NOR4_X2__A6_11 4.74714
+R_x2_PM2_NOR4_X2__A6_r6 x2_PM2_NOR4_X2__A6_11 x2_PM2_NOR4_X2__A6_9 25.0012
+R_x2_PM2_NOR4_X2__A6_r7 A6 x2_PM2_NOR4_X2__A6_9 0.1748
+R_x2_PM2_NOR4_X2__A6_r8 N2_A6_M2_g x2_PM2_NOR4_X2__A6_18 58.5
+R_x2_PM2_NOR4_X2__A6_r9 N2_A6_M6_g x2_PM2_NOR4_X2__A6_17 55.38
+C_x2_PM2_NOR4_X2__A5_c0 VSS x2_PM2_NOR4_X2__A5_18 1.20639e-17
+C_x2_PM2_NOR4_X2__A5_c1 VSS x2_PM2_NOR4_X2__A5_9 8.8423e-17
+C_x2_PM2_NOR4_X2__A5_c2 VSS N2_A5_M3_g 7.69685e-17
+C_x2_PM2_NOR4_X2__A5_c3 VSS N2_A5_M7_g 5.68099e-17
+R_x2_PM2_NOR4_X2__A5_r4 x2_PM2_NOR4_X2__A5_18 x2_PM2_NOR4_X2__A5_11 3.38
+R_x2_PM2_NOR4_X2__A5_r5 x2_PM2_NOR4_X2__A5_11 x2_PM2_NOR4_X2__A5_9 25.0012
+R_x2_PM2_NOR4_X2__A5_r6 A5 x2_PM2_NOR4_X2__A5_9 0.198636
+R_x2_PM2_NOR4_X2__A5_r7 x2_PM2_NOR4_X2__A5_18 x2_PM2_NOR4_X2__A5_5 1.95
+R_x2_PM2_NOR4_X2__A5_r8 N2_A5_M3_g x2_PM2_NOR4_X2__A5_5 58.5
+R_x2_PM2_NOR4_X2__A5_r9 x2_PM2_NOR4_X2__A5_18 x2_PM2_NOR4_X2__A5_VSS 1.95
+R_x2_PM2_NOR4_X2__A5_r10 N2_A5_M7_g x2_PM2_NOR4_X2__A5_VSS 55.38
+******************************************************AND2_X2******************************************************
+M3_M3 N3_3_M0_d N3_Zalp1_M0_g N3_VDD_M0_s VDD PMOS_VTL W=0.135000U AS=0.014175P AD=0.018900P PS=0.480000U PD=0.550000U
+M3_M4 N3_VDD_M1_d N3_Zalp2_M1_g N3_3_M0_d VDD PMOS_VTL W=0.135000U AS=0.018900P AD=0.028350P PS=0.550000U PD=0.820000U
+M3_M5 N3_ZN3_M2_d N3_3_M2_g N3_VDD_M1_d VDD PMOS_VTL W=0.270000U AS=0.028350P AD=0.028350P PS=0.820000U PD=0.750000U
+M3_M0 73 N3_Zalp1_M3_g N3_3_M3_s VSS NMOS_VTL W=0.130000U AS=0.013650P AD=0.018200P PS=0.470000U PD=0.540000U
+M3_M1 N3_VSS_M4_d N3_Zalp2_M4_g 73 VSS NMOS_VTL W=0.130000U AS=0.018200P AD=0.021700P PS=0.540000U PD=0.640000U
+M3_M2 N3_ZN3_M5_d N3_3_M5_g N3_VSS_M4_d VSS NMOS_VTL W=0.180000U AS=0.021700P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x3_PM_AND2_X2__VSS_c0 VSS x3_PM_AND2_X2__VSS_12 3.57664e-17
+C_x3_PM_AND2_X2__VSS_c1 VSS N3_VSS_M4_d 3.3282e-17
+C_x3_PM_AND2_X2__VSS_c2 VSS x3_PM_AND2_X2__VSS_2 5.54251e-17
+R_x3_PM_AND2_X2__VSS_r3 x3_PM_AND2_X2__VSS_12 x3_PM_AND2_X2__VSS_6 0.145286
+R_x3_PM_AND2_X2__VSS_r4 N3_VSS_M4_d x3_PM_AND2_X2__VSS_6 0.420714
+R_x3_PM_AND2_X2__VSS_r5 x3_PM_AND2_X2__VSS_12 x3_PM_AND2_X2__VSS_2 0.0731438
+R_x3_PM_AND2_X2__VSS_r6 VSS x3_PM_AND2_X2__VSS_2 0.0782353
+C_x3_PM_AND2_X2__VDD_c0 VSS x3_PM_AND2_X2__VDD_17 4.42012e-17
+C_x3_PM_AND2_X2__VDD_c1 VSS N3_VDD_M1_d 3.53236e-17
+C_x3_PM_AND2_X2__VDD_c2 VSS x3_PM_AND2_X2__VDD_8 1.07001e-17
+C_x3_PM_AND2_X2__VDD_c3 VSS x3_PM_AND2_X2__VDD_7 3.2606e-17
+C_x3_PM_AND2_X2__VDD_c4 VSS N3_VDD_M0_s 1.42739e-17
+R_x3_PM_AND2_X2__VDD_r5 x3_PM_AND2_X2__VDD_17 x3_PM_AND2_X2__VDD_11 0.145286
+R_x3_PM_AND2_X2__VDD_r6 N3_VDD_M1_d x3_PM_AND2_X2__VDD_11 0.420714
+R_x3_PM_AND2_X2__VDD_r7 VDD x3_PM_AND2_X2__VDD_8 0.603529
+R_x3_PM_AND2_X2__VDD_r8 x3_PM_AND2_X2__VDD_17 x3_PM_AND2_X2__VDD_7 0.0731438
+R_x3_PM_AND2_X2__VDD_r9 VDD x3_PM_AND2_X2__VDD_7 0.0894118
+R_x3_PM_AND2_X2__VDD_r10 x3_PM_AND2_X2__VDD_8 x3_PM_AND2_X2__VDD_3 0.264221
+R_x3_PM_AND2_X2__VDD_r11 N3_VDD_M0_s x3_PM_AND2_X2__VDD_3 0.420714
+C_x3_PM_AND2_X2__3_c0 VSS x3_PM_AND2_X2__3_33 1.13133e-17
+C_x3_PM_AND2_X2__3_c1 VSS x3_PM_AND2_X2__3_30 1.00152e-17
+C_x3_PM_AND2_X2__3_c2 VSS x3_PM_AND2_X2__3_29 9.34287e-17
+C_x3_PM_AND2_X2__3_c3 VSS x3_PM_AND2_X2__3_26 1.87365e-17
+C_x3_PM_AND2_X2__3_c4 VSS x3_PM_AND2_X2__3_22 8.60574e-18
+C_x3_PM_AND2_X2__3_c5 VSS x3_PM_AND2_X2__3_21 4.03179e-17
+C_x3_PM_AND2_X2__3_c6 VSS N3_3_M0_d 3.31237e-17
+C_x3_PM_AND2_X2__3_c7 VSS x3_PM_AND2_X2__3_16 5.73522e-18
+C_x3_PM_AND2_X2__3_c8 VSS x3_PM_AND2_X2__3_15 6.02033e-17
+C_x3_PM_AND2_X2__3_c9 VSS N3_3_M3_s 2.55776e-17
+C_x3_PM_AND2_X2__3_c10 VSS N3_3_M2_g 9.71074e-17
+C_x3_PM_AND2_X2__3_c11 VSS N3_3_M5_g 3.53623e-17
+R_x3_PM_AND2_X2__3_r12 x3_PM_AND2_X2__3_33 x3_PM_AND2_X2__3_31 3.38
+R_x3_PM_AND2_X2__3_r13 x3_PM_AND2_X2__3_29 x3_PM_AND2_X2__3_30 2.93143
+R_x3_PM_AND2_X2__3_r14 x3_PM_AND2_X2__3_31 x3_PM_AND2_X2__3_26 25.0012
+R_x3_PM_AND2_X2__3_r15 x3_PM_AND2_X2__3_30 x3_PM_AND2_X2__3_24 0.232321
+R_x3_PM_AND2_X2__3_r16 x3_PM_AND2_X2__3_26 x3_PM_AND2_X2__3_24 0.0542857
+R_x3_PM_AND2_X2__3_r17 x3_PM_AND2_X2__3_26 x3_PM_AND2_X2__3_23 0.22619
+R_x3_PM_AND2_X2__3_r18 x3_PM_AND2_X2__3_29 x3_PM_AND2_X2__3_21 0.212317
+R_x3_PM_AND2_X2__3_r19 x3_PM_AND2_X2__3_22 x3_PM_AND2_X2__3_21 0.76
+R_x3_PM_AND2_X2__3_r20 x3_PM_AND2_X2__3_22 x3_PM_AND2_X2__3_17 0.212317
+R_x3_PM_AND2_X2__3_r21 N3_3_M0_d x3_PM_AND2_X2__3_17 0.393571
+R_x3_PM_AND2_X2__3_r22 x3_PM_AND2_X2__3_23 x3_PM_AND2_X2__3_15 0.223553
+R_x3_PM_AND2_X2__3_r23 x3_PM_AND2_X2__3_16 x3_PM_AND2_X2__3_15 1.79143
+R_x3_PM_AND2_X2__3_r24 x3_PM_AND2_X2__3_16 x3_PM_AND2_X2__3_11 0.212317
+R_x3_PM_AND2_X2__3_r25 N3_3_M3_s x3_PM_AND2_X2__3_11 0.420714
+R_x3_PM_AND2_X2__3_r26 x3_PM_AND2_X2__3_33 x3_PM_AND2_X2__3_5 1.95
+R_x3_PM_AND2_X2__3_r27 N3_3_M2_g x3_PM_AND2_X2__3_5 105.3
+R_x3_PM_AND2_X2__3_r28 x3_PM_AND2_X2__3_33 x3_PM_AND2_X2__3_VSS 1.95
+R_x3_PM_AND2_X2__3_r29 N3_3_M5_g x3_PM_AND2_X2__3_VSS 27.3
+C_x3_PM_AND2_X2__Zalp1_c0 VSS x3_PM_AND2_X2__Zalp1_13 7.02743e-18
+C_x3_PM_AND2_X2__Zalp1_c1 VSS Zalp1 1.56682e-17
+C_x3_PM_AND2_X2__Zalp1_c2 VSS N3_Zalp1_M0_g 6.18939e-17
+C_x3_PM_AND2_X2__Zalp1_c3 VSS N3_Zalp1_M3_g 5.49708e-17
+R_x3_PM_AND2_X2__Zalp1_r4 x3_PM_AND2_X2__Zalp1_16 x3_PM_AND2_X2__Zalp1_13 4.74714
+R_x3_PM_AND2_X2__Zalp1_r5 x3_PM_AND2_X2__Zalp1_15 x3_PM_AND2_X2__Zalp1_13 4.74714
+R_x3_PM_AND2_X2__Zalp1_r6 x3_PM_AND2_X2__Zalp1_13 x3_PM_AND2_X2__Zalp1_11 25.0012
+R_x3_PM_AND2_X2__Zalp1_r7 x3_PM_AND2_X2__Zalp1_11 Zalp1 0.158563
+R_x3_PM_AND2_X2__Zalp1_r8 N3_Zalp1_M0_g x3_PM_AND2_X2__Zalp1_16 83.85
+R_x3_PM_AND2_X2__Zalp1_r9 N3_Zalp1_M3_g x3_PM_AND2_X2__Zalp1_15 63.18
+C_x3_PM_AND2_X2__Zalp2_c0 VSS x3_PM_AND2_X2__Zalp2_14 8.64377e-18
+C_x3_PM_AND2_X2__Zalp2_c1 VSS x3_PM_AND2_X2__Zalp2_12 4.37781e-17
+C_x3_PM_AND2_X2__Zalp2_c2 VSS N3_Zalp2_M1_g 5.57959e-17
+C_x3_PM_AND2_X2__Zalp2_c3 VSS N3_Zalp2_M4_g 7.00537e-17
+R_x3_PM_AND2_X2__Zalp2_r4 x3_PM_AND2_X2__Zalp2_18 x3_PM_AND2_X2__Zalp2_14 4.7687
+R_x3_PM_AND2_X2__Zalp2_r5 x3_PM_AND2_X2__Zalp2_17 x3_PM_AND2_X2__Zalp2_14 4.7687
+R_x3_PM_AND2_X2__Zalp2_r6 x3_PM_AND2_X2__Zalp2_14 x3_PM_AND2_X2__Zalp2_12 25.0012
+R_x3_PM_AND2_X2__Zalp2_r7 x3_PM_AND2_X2__Zalp2_12 Zalp2 0.169643
+R_x3_PM_AND2_X2__Zalp2_r8 N3_Zalp2_M1_g x3_PM_AND2_X2__Zalp2_18 62.01
+R_x3_PM_AND2_X2__Zalp2_r9 N3_Zalp2_M4_g x3_PM_AND2_X2__Zalp2_17 85.02
+C_x3_PM_AND2_X2__ZN3_c0 VSS N3_ZN3_M5_d 2.60988e-17
+C_x3_PM_AND2_X2__ZN3_c1 VSS ZN 7.63258e-17
+C_x3_PM_AND2_X2__ZN3_c2 VSS N3_ZN3_M2_d 5.16564e-17
+C_x3_PM_AND2_X2__ZN3_c3 VSS x3_PM_AND2_X2__ZN3_3 6.61381e-18
+R_x3_PM_AND2_X2__ZN3_r4 ZN x3_PM_AND2_X2__ZN3_8 1.87286
+R_x3_PM_AND2_X2__ZN3_r5 x3_PM_AND2_X2__ZN3_7 N3_ZN3_M5_d 0.30478
+R_x3_PM_AND2_X2__ZN3_r6 ZN x3_PM_AND2_X2__ZN3_7 1.60143
+R_x3_PM_AND2_X2__ZN3_r7 x3_PM_AND2_X2__ZN3_8 x3_PM_AND2_X2__ZN3_3 0.20978
+R_x3_PM_AND2_X2__ZN3_r8 N3_ZN3_M2_d x3_PM_AND2_X2__ZN3_3 0.686111
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/not1.sp b/LibNanGate45nm/not1.sp
new file mode 100644
index 0000000..02fd140
--- /dev/null
+++ b/LibNanGate45nm/not1.sp
@@ -0,0 +1,40 @@
+.SUBCKT not1 A VDD VSS ZN
+M_M1 N_ZN_M0_d N_A_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.270000U AS=0.028350P AD=0.028350P PS=0.750000U PD=0.750000U
+M_M0 N_ZN_M1_d N_A_M1_g N_VSS_M1_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.018900P PS=0.570000U PD=0.570000U
+C_x_PM_INV_X2__VSS_c0 VSS VSS 4.27233e-17
+C_x_PM_INV_X2__VSS_c1 VSS x_PM_INV_X2__VSS_6 1.03058e-17
+C_x_PM_INV_X2__VSS_c2 VSS N_VSS_M1_s 1.41503e-17
+R_x_PM_INV_X2__VSS_r3 VSS x_PM_INV_X2__VSS_6 0.178824
+R_x_PM_INV_X2__VSS_r4 x_PM_INV_X2__VSS_6 x_PM_INV_X2__VSS_2 0.264221
+R_x_PM_INV_X2__VSS_r5 N_VSS_M1_s x_PM_INV_X2__VSS_2 0.230714
+C_x_PM_INV_X2__VDD_c0 VSS VDD 4.06353e-17
+C_x_PM_INV_X2__VDD_c1 VSS N_VDD_M0_s 3.31015e-17
+C_x_PM_INV_X2__VDD_c2 VSS x_PM_INV_X2__VDD_2 1.05089e-17
+R_x_PM_INV_X2__VDD_r3 VDD x_PM_INV_X2__VDD_2 0.0689273
+R_x_PM_INV_X2__VDD_r4 N_VDD_M0_s x_PM_INV_X2__VDD_2 0.420714
+C_x_PM_INV_X2__A_c0 VSS x_PM_INV_X2__A_14 8.49814e-18
+C_x_PM_INV_X2__A_c1 VSS x_PM_INV_X2__A_12 3.56395e-17
+C_x_PM_INV_X2__A_c2 VSS N_A_M0_g 9.12771e-17
+C_x_PM_INV_X2__A_c3 VSS N_A_M1_g 4.61923e-17
+R_x_PM_INV_X2__A_r4 x_PM_INV_X2__A_18 x_PM_INV_X2__A_14 4.74714
+R_x_PM_INV_X2__A_r5 x_PM_INV_X2__A_17 x_PM_INV_X2__A_14 4.74714
+R_x_PM_INV_X2__A_r6 x_PM_INV_X2__A_14 x_PM_INV_X2__A_12 25.0012
+R_x_PM_INV_X2__A_r7 x_PM_INV_X2__A_12 A 0.156071
+R_x_PM_INV_X2__A_r8 N_A_M0_g x_PM_INV_X2__A_18 95.94
+R_x_PM_INV_X2__A_r9 N_A_M1_g x_PM_INV_X2__A_17 42.12
+C_x_PM_INV_X2__ZN_c0 VSS N_ZN_M1_d 3.90212e-17
+C_x_PM_INV_X2__ZN_c1 VSS ZN 7.52075e-17
+C_x_PM_INV_X2__ZN_c2 VSS N_ZN_M0_d 5.26306e-17
+C_x_PM_INV_X2__ZN_c3 VSS x_PM_INV_X2__ZN_3 4.60415e-18
+R_x_PM_INV_X2__ZN_r4 ZN x_PM_INV_X2__ZN_8 1.87286
+R_x_PM_INV_X2__ZN_r5 x_PM_INV_X2__ZN_7 N_ZN_M1_d 0.30478
+R_x_PM_INV_X2__ZN_r6 ZN x_PM_INV_X2__ZN_7 1.87286
+R_x_PM_INV_X2__ZN_r7 x_PM_INV_X2__ZN_8 x_PM_INV_X2__ZN_3 0.20978
+R_x_PM_INV_X2__ZN_r8 N_ZN_M0_d x_PM_INV_X2__ZN_3 0.686111
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/oai3.sp b/LibNanGate45nm/oai3.sp
new file mode 100644
index 0000000..0aae3a8
--- /dev/null
+++ b/LibNanGate45nm/oai3.sp
@@ -0,0 +1,75 @@
+.SUBCKT oai3 B1 B2 A VDD VSS ZN
+M_M3 noxref_8 N_B2_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.390000U AS=0.040950P AD=0.054600P PS=0.990000U PD=1.060000U
+M_M4 N_ZN_M1_d N_B1_M1_g noxref_8 VDD PMOS_VTL L=0.050U W=0.390000U AS=0.054600P AD=0.046200P PS=1.060000U PD=1.060000U
+M_M5 N_VDD_M2_d N_A_M2_g N_ZN_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.046200P AD=0.028350P PS=1.060000U PD=0.750000U
+M_M0 N_ZN_M3_d N_B2_M3_g N_3_M3_s VSS NMOS_VTL L=0.050U W=0.260000U AS=0.027300P AD=0.036400P PS=0.730000U PD=0.800000U
+M_M1 N_3_M4_d N_B1_M4_g N_ZN_M3_d VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.036400P PS=0.800000U PD=0.800000U
+M_M2 N_VSS_M5_d N_A_M5_g N_3_M4_d VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x_PM_OAI21_X2__VSS_c0 VSS N_VSS_M5_d 2.20348e-17
+C_x_PM_OAI21_X2__VSS_c1 VSS x_PM_OAI21_X2__VSS_2 1.54775e-16
+R_x_PM_OAI21_X2__VSS_r2 N_VSS_M5_d x_PM_OAI21_X2__VSS_6 0.447857
+R_x_PM_OAI21_X2__VSS_r3 x_PM_OAI21_X2__VSS_6 x_PM_OAI21_X2__VSS_2 0.264221
+R_x_PM_OAI21_X2__VSS_r4 VSS x_PM_OAI21_X2__VSS_2 0.558824
+C_x_PM_OAI21_X2__VDD_c0 VSS VDD 1.24485e-17
+C_x_PM_OAI21_X2__VDD_c1 VSS N_VDD_M2_d 3.14319e-17
+C_x_PM_OAI21_X2__VDD_c2 VSS x_PM_OAI21_X2__VDD_7 6.1596e-17
+C_x_PM_OAI21_X2__VDD_c3 VSS N_VDD_M0_s 2.3501e-17
+R_x_PM_OAI21_X2__VDD_r4 x_PM_OAI21_X2__VDD_16 VDD 0.225185
+R_x_PM_OAI21_X2__VDD_r5 x_PM_OAI21_X2__VDD_15 VDD 0.101823
+R_x_PM_OAI21_X2__VDD_r6 N_VDD_M2_d x_PM_OAI21_X2__VDD_9 0.420714
+R_x_PM_OAI21_X2__VDD_r7 x_PM_OAI21_X2__VDD_16 x_PM_OAI21_X2__VDD_8 0.095
+R_x_PM_OAI21_X2__VDD_r8 x_PM_OAI21_X2__VDD_9 x_PM_OAI21_X2__VDD_7 0.264221
+R_x_PM_OAI21_X2__VDD_r9 x_PM_OAI21_X2__VDD_8 x_PM_OAI21_X2__VDD_7 1.10647
+R_x_PM_OAI21_X2__VDD_r10 N_VDD_M0_s x_PM_OAI21_X2__VDD_15 0.420714
+C_x_PM_OAI21_X2__3_c0 VSS N_3_M4_d 1.36966e-16
+R_x_PM_OAI21_X2__3_r1 N_3_M4_d N_3_M3_s 2.03571
+C_x_PM_OAI21_X2__B2_c0 VSS x_PM_OAI21_X2__B2_18 8.8921e-18
+C_x_PM_OAI21_X2__B2_c1 VSS x_PM_OAI21_X2__B2_12 3.8522e-17
+C_x_PM_OAI21_X2__B2_c2 VSS N_B2_M0_g 7.84586e-17
+C_x_PM_OAI21_X2__B2_c3 VSS N_B2_M3_g 3.85693e-17
+R_x_PM_OAI21_X2__B2_r4 x_PM_OAI21_X2__B2_18 x_PM_OAI21_X2__B2_14 4.42
+R_x_PM_OAI21_X2__B2_r5 x_PM_OAI21_X2__B2_14 x_PM_OAI21_X2__B2_12 25.0012
+R_x_PM_OAI21_X2__B2_r6 x_PM_OAI21_X2__B2_12 B2 0.156071
+R_x_PM_OAI21_X2__B2_r7 x_PM_OAI21_X2__B2_18 x_PM_OAI21_X2__B2_5 1.95
+R_x_PM_OAI21_X2__B2_r8 N_B2_M0_g x_PM_OAI21_X2__B2_5 85.8
+R_x_PM_OAI21_X2__B2_r9 x_PM_OAI21_X2__B2_18 x_PM_OAI21_X2__B2_VSS 1.95
+R_x_PM_OAI21_X2__B2_r10 N_B2_M3_g x_PM_OAI21_X2__B2_VSS 30.42
+C_x_PM_OAI21_X2__ZN_c0 VSS N_ZN_M1_d 4.25468e-17
+C_x_PM_OAI21_X2__ZN_c1 VSS x_PM_OAI21_X2__ZN_10 9.63135e-18
+C_x_PM_OAI21_X2__ZN_c2 VSS x_PM_OAI21_X2__ZN_9 1.9166e-17
+C_x_PM_OAI21_X2__ZN_c3 VSS N_ZN_M3_d 1.33496e-16
+R_x_PM_OAI21_X2__ZN_r4 N_ZN_M1_d x_PM_OAI21_X2__ZN_11 0.746429
+R_x_PM_OAI21_X2__ZN_r5 x_PM_OAI21_X2__ZN_11 x_PM_OAI21_X2__ZN_9 0.212317
+R_x_PM_OAI21_X2__ZN_r6 x_PM_OAI21_X2__ZN_10 x_PM_OAI21_X2__ZN_9 0.651429
+R_x_PM_OAI21_X2__ZN_r7 ZN N_ZN_M3_d 3.02643
+R_x_PM_OAI21_X2__ZN_r8 x_PM_OAI21_X2__ZN_10 x_PM_OAI21_X2__ZN_3 0.212317
+R_x_PM_OAI21_X2__ZN_r9 ZN x_PM_OAI21_X2__ZN_3 0.352857
+C_x_PM_OAI21_X2__B1_c0 VSS B1 6.15349e-17
+C_x_PM_OAI21_X2__B1_c1 VSS x_PM_OAI21_X2__B1_11 1.04443e-17
+C_x_PM_OAI21_X2__B1_c2 VSS N_B1_M1_g 8.33914e-17
+C_x_PM_OAI21_X2__B1_c3 VSS N_B1_M4_g 4.15528e-17
+R_x_PM_OAI21_X2__B1_r4 x_PM_OAI21_X2__B1_11 x_PM_OAI21_X2__B1_16 3.38
+R_x_PM_OAI21_X2__B1_r5 x_PM_OAI21_X2__B1_11 x_PM_OAI21_X2__B1_9 25.0012
+R_x_PM_OAI21_X2__B1_r6 B1 x_PM_OAI21_X2__B1_9 0.156071
+R_x_PM_OAI21_X2__B1_r7 x_PM_OAI21_X2__B1_16 x_PM_OAI21_X2__B1_5 1.95
+R_x_PM_OAI21_X2__B1_r8 N_B1_M1_g x_PM_OAI21_X2__B1_5 86.58
+R_x_PM_OAI21_X2__B1_r9 x_PM_OAI21_X2__B1_16 x_PM_OAI21_X2__B1_VSS 1.95
+R_x_PM_OAI21_X2__B1_r10 N_B1_M4_g x_PM_OAI21_X2__B1_VSS 29.64
+C_x_PM_OAI21_X2__A_c0 VSS A 3.72975e-17
+C_x_PM_OAI21_X2__A_c1 VSS x_PM_OAI21_X2__A_11 8.36959e-18
+C_x_PM_OAI21_X2__A_c2 VSS N_A_M2_g 7.78115e-17
+C_x_PM_OAI21_X2__A_c3 VSS N_A_M5_g 3.90983e-17
+R_x_PM_OAI21_X2__A_r4 x_PM_OAI21_X2__A_11 x_PM_OAI21_X2__A_16 3.38
+R_x_PM_OAI21_X2__A_r5 x_PM_OAI21_X2__A_11 x_PM_OAI21_X2__A_9 25.0012
+R_x_PM_OAI21_X2__A_r6 A x_PM_OAI21_X2__A_9 0.156071
+R_x_PM_OAI21_X2__A_r7 x_PM_OAI21_X2__A_16 x_PM_OAI21_X2__A_5 1.95
+R_x_PM_OAI21_X2__A_r8 N_A_M2_g x_PM_OAI21_X2__A_5 95.16
+R_x_PM_OAI21_X2__A_r9 x_PM_OAI21_X2__A_16 x_PM_OAI21_X2__A_VSS 1.95
+R_x_PM_OAI21_X2__A_r10 N_A_M5_g x_PM_OAI21_X2__A_VSS 30.42
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/or2.sp b/LibNanGate45nm/or2.sp
new file mode 100644
index 0000000..cf04bbc
--- /dev/null
+++ b/LibNanGate45nm/or2.sp
@@ -0,0 +1,84 @@
+.SUBCKT or2 A1 A2 VDD VSS ZN
+M_M3 7 N_A1_M0_g N_3_M0_s VDD PMOS_VTL L=0.050U W=0.195000U AS=0.020475P AD=0.027300P PS=0.600000U PD=0.670000U
+M_M4 N_VDD_M1_d N_A2_M1_g 7 VDD PMOS_VTL L=0.050U W=0.195000U AS=0.027300P AD=0.037950P PS=0.670000U PD=0.860000U
+M_M5 N_ZN_M2_d N_3_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037950P AD=0.028350P PS=0.860000U PD=0.750000U
+M_M0 N_3_M3_d N_A1_M3_g N_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.090000U AS=0.009450P AD=0.012600P PS=0.390000U PD=0.460000U
+M_M1 N_VSS_M4_d N_A2_M4_g N_3_M3_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.023850P PS=0.460000U PD=0.680000U
+M_M2 N_ZN_M5_d N_3_M5_g N_VSS_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.023850P AD=0.018900P PS=0.680000U PD=0.570000U
+C_x_PM_OR2_X2__VSS_c0 VSS x_PM_OR2_X2__VSS_15 3.72032e-17
+C_x_PM_OR2_X2__VSS_c1 VSS N_VSS_M4_d 1.48795e-17
+C_x_PM_OR2_X2__VSS_c2 VSS x_PM_OR2_X2__VSS_6 1.07612e-17
+C_x_PM_OR2_X2__VSS_c3 VSS x_PM_OR2_X2__VSS_5 3.45483e-17
+C_x_PM_OR2_X2__VSS_c4 VSS x_PM_OR2_X2__VSS_4 2.26908e-17
+R_x_PM_OR2_X2__VSS_r5 x_PM_OR2_X2__VSS_15 x_PM_OR2_X2__VSS_9 0.145286
+R_x_PM_OR2_X2__VSS_r6 N_VSS_M4_d x_PM_OR2_X2__VSS_9 0.230714
+R_x_PM_OR2_X2__VSS_r7 VSS x_PM_OR2_X2__VSS_6 0.603529
+R_x_PM_OR2_X2__VSS_r8 x_PM_OR2_X2__VSS_15 x_PM_OR2_X2__VSS_5 0.0731438
+R_x_PM_OR2_X2__VSS_r9 VSS x_PM_OR2_X2__VSS_5 0.134118
+R_x_PM_OR2_X2__VSS_r10 x_PM_OR2_X2__VSS_6 x_PM_OR2_X2__VSS_4 0.264221
+R_x_PM_OR2_X2__VSS_r11 x_PM_OR2_X2__VSS_4 N_VSS_M3_s 0.543196
+C_x_PM_OR2_X2__VDD_c0 VSS x_PM_OR2_X2__VDD_12 4.05231e-17
+C_x_PM_OR2_X2__VDD_c1 VSS N_VDD_M1_d 2.06356e-17
+C_x_PM_OR2_X2__VDD_c2 VSS x_PM_OR2_X2__VDD_2 4.07936e-17
+R_x_PM_OR2_X2__VDD_r3 x_PM_OR2_X2__VDD_12 x_PM_OR2_X2__VDD_6 0.145286
+R_x_PM_OR2_X2__VDD_r4 N_VDD_M1_d x_PM_OR2_X2__VDD_6 0.420714
+R_x_PM_OR2_X2__VDD_r5 x_PM_OR2_X2__VDD_12 x_PM_OR2_X2__VDD_2 0.0731438
+R_x_PM_OR2_X2__VDD_r6 VDD x_PM_OR2_X2__VDD_2 0.0782353
+C_x_PM_OR2_X2__3_c0 VSS x_PM_OR2_X2__3_31 1.75553e-17
+C_x_PM_OR2_X2__3_c1 VSS x_PM_OR2_X2__3_28 1.72947e-17
+C_x_PM_OR2_X2__3_c2 VSS x_PM_OR2_X2__3_25 5.24935e-17
+C_x_PM_OR2_X2__3_c3 VSS x_PM_OR2_X2__3_22 2.8529e-17
+C_x_PM_OR2_X2__3_c4 VSS N_3_M3_d 4.52149e-17
+C_x_PM_OR2_X2__3_c5 VSS x_PM_OR2_X2__3_16 1.69957e-17
+C_x_PM_OR2_X2__3_c6 VSS x_PM_OR2_X2__3_15 3.68802e-17
+C_x_PM_OR2_X2__3_c7 VSS N_3_M0_s 4.3344e-17
+C_x_PM_OR2_X2__3_c8 VSS N_3_M2_g 9.38216e-17
+C_x_PM_OR2_X2__3_c9 VSS N_3_M5_g 4.44376e-17
+R_x_PM_OR2_X2__3_r10 x_PM_OR2_X2__3_31 x_PM_OR2_X2__3_29 7.54
+R_x_PM_OR2_X2__3_r11 x_PM_OR2_X2__3_29 x_PM_OR2_X2__3_25 25.0012
+R_x_PM_OR2_X2__3_r12 x_PM_OR2_X2__3_28 x_PM_OR2_X2__3_23 0.0418175
+R_x_PM_OR2_X2__3_r13 x_PM_OR2_X2__3_25 x_PM_OR2_X2__3_23 1.045
+R_x_PM_OR2_X2__3_r14 x_PM_OR2_X2__3_28 x_PM_OR2_X2__3_21 0.160909
+R_x_PM_OR2_X2__3_r15 x_PM_OR2_X2__3_22 x_PM_OR2_X2__3_21 0.705714
+R_x_PM_OR2_X2__3_r16 x_PM_OR2_X2__3_28 x_PM_OR2_X2__3_17 0.160909
+R_x_PM_OR2_X2__3_r17 N_3_M3_d x_PM_OR2_X2__3_17 1.045
+R_x_PM_OR2_X2__3_r18 x_PM_OR2_X2__3_22 x_PM_OR2_X2__3_15 0.212317
+R_x_PM_OR2_X2__3_r19 x_PM_OR2_X2__3_16 x_PM_OR2_X2__3_15 0.651429
+R_x_PM_OR2_X2__3_r20 x_PM_OR2_X2__3_16 x_PM_OR2_X2__3_11 0.212317
+R_x_PM_OR2_X2__3_r21 N_3_M0_s x_PM_OR2_X2__3_11 2.29357
+R_x_PM_OR2_X2__3_r22 x_PM_OR2_X2__3_31 x_PM_OR2_X2__3_5 1.95
+R_x_PM_OR2_X2__3_r23 N_3_M2_g x_PM_OR2_X2__3_5 99.84
+R_x_PM_OR2_X2__3_r24 x_PM_OR2_X2__3_31 x_PM_OR2_X2__3_VSS 1.95
+R_x_PM_OR2_X2__3_r25 N_3_M5_g x_PM_OR2_X2__3_VSS 38.22
+C_x_PM_OR2_X2__A1_c0 VSS x_PM_OR2_X2__A1_18 8.81315e-18
+C_x_PM_OR2_X2__A1_c1 VSS x_PM_OR2_X2__A1_12 5.4822e-17
+C_x_PM_OR2_X2__A1_c2 VSS N_A1_M0_g 8.90209e-17
+C_x_PM_OR2_X2__A1_c3 VSS N_A1_M3_g 3.57915e-17
+R_x_PM_OR2_X2__A1_r4 x_PM_OR2_X2__A1_18 x_PM_OR2_X2__A1_14 3.38
+R_x_PM_OR2_X2__A1_r5 x_PM_OR2_X2__A1_14 x_PM_OR2_X2__A1_12 25.0012
+R_x_PM_OR2_X2__A1_r6 x_PM_OR2_X2__A1_12 A1 0.115357
+R_x_PM_OR2_X2__A1_r7 x_PM_OR2_X2__A1_18 x_PM_OR2_X2__A1_5 1.95
+R_x_PM_OR2_X2__A1_r8 N_A1_M0_g x_PM_OR2_X2__A1_5 101.01
+R_x_PM_OR2_X2__A1_r9 x_PM_OR2_X2__A1_18 x_PM_OR2_X2__A1_VSS 1.95
+R_x_PM_OR2_X2__A1_r10 N_A1_M3_g x_PM_OR2_X2__A1_VSS 35.88
+C_x_PM_OR2_X2__A2_c0 VSS A2 6.95827e-17
+C_x_PM_OR2_X2__A2_c1 VSS x_PM_OR2_X2__A2_11 1.12977e-17
+C_x_PM_OR2_X2__A2_c2 VSS N_A2_M1_g 6.44459e-17
+C_x_PM_OR2_X2__A2_c3 VSS N_A2_M4_g 5.20861e-17
+R_x_PM_OR2_X2__A2_r4 x_PM_OR2_X2__A2_11 x_PM_OR2_X2__A2_16 4.42
+R_x_PM_OR2_X2__A2_r5 x_PM_OR2_X2__A2_11 x_PM_OR2_X2__A2_9 25.0012
+R_x_PM_OR2_X2__A2_r6 A2 x_PM_OR2_X2__A2_9 0.196786
+R_x_PM_OR2_X2__A2_r7 x_PM_OR2_X2__A2_16 x_PM_OR2_X2__A2_5 1.95
+R_x_PM_OR2_X2__A2_r8 N_A2_M1_g x_PM_OR2_X2__A2_5 79.95
+R_x_PM_OR2_X2__A2_r9 x_PM_OR2_X2__A2_16 x_PM_OR2_X2__A2_VSS 1.95
+R_x_PM_OR2_X2__A2_r10 N_A2_M4_g x_PM_OR2_X2__A2_VSS 56.94
+C_x_PM_OR2_X2__ZN_c0 VSS N_ZN_M5_d 1.3351e-16
+R_x_PM_OR2_X2__ZN_r1 N_ZN_M2_d ZN 2.23929
+R_x_PM_OR2_X2__ZN_r2 ZN N_ZN_M5_d 2.91786
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/or3.sp b/LibNanGate45nm/or3.sp
new file mode 100644
index 0000000..703e214
--- /dev/null
+++ b/LibNanGate45nm/or3.sp
@@ -0,0 +1,102 @@
+.SUBCKT or3 A1 A2 A3 VDD VSS ZN
+M_M4 8 N_A1_M0_g N_3_M0_s VDD PMOS_VTL L=0.050U W=0.260000U AS=0.027300P AD=0.036400P PS=0.730000U PD=0.800000U
+M_M5 9 N_A2_M1_g 8 VDD PMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.036400P PS=0.800000U PD=0.800000U
+M_M6 N_VDD_M2_d N_A3_M2_g 9 VDD PMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.037300P PS=0.800000U PD=0.820000U
+M_M7 N_ZN_M3_d N_3_M3_g N_VDD_M2_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.037300P AD=0.028350P PS=0.820000U PD=0.750000U
+M_M0 N_VSS_M4_d N_A1_M4_g N_3_M4_s VSS NMOS_VTL L=0.050U W=0.090000U AS=0.009450P AD=0.012600P PS=0.390000U PD=0.460000U
+M_M1 N_3_M5_d N_A2_M5_g N_VSS_M4_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.012600P PS=0.460000U PD=0.460000U
+M_M2 N_VSS_M6_d N_A3_M6_g N_3_M5_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.020700P PS=0.460000U PD=0.640000U
+M_M3 N_ZN_M7_d N_3_M7_g N_VSS_M6_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.020700P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_OR3_X2__VSS_c0 VSS x_PM_OR3_X2__VSS_20 3.00757e-17
+C_x_PM_OR3_X2__VSS_c1 VSS x_PM_OR3_X2__VSS_19 4.32297e-17
+C_x_PM_OR3_X2__VSS_c2 VSS N_VSS_M6_d 3.4177e-17
+C_x_PM_OR3_X2__VSS_c3 VSS x_PM_OR3_X2__VSS_9 3.33766e-17
+C_x_PM_OR3_X2__VSS_c4 VSS N_VSS_M4_d 3.48682e-17
+R_x_PM_OR3_X2__VSS_r5 x_PM_OR3_X2__VSS_20 x_PM_OR3_X2__VSS_13 0.145286
+R_x_PM_OR3_X2__VSS_r6 N_VSS_M6_d x_PM_OR3_X2__VSS_13 0.637857
+R_x_PM_OR3_X2__VSS_r7 x_PM_OR3_X2__VSS_19 x_PM_OR3_X2__VSS_10 0.0731438
+R_x_PM_OR3_X2__VSS_r8 VSS x_PM_OR3_X2__VSS_10 0.346471
+R_x_PM_OR3_X2__VSS_r9 x_PM_OR3_X2__VSS_20 x_PM_OR3_X2__VSS_9 0.0731438
+R_x_PM_OR3_X2__VSS_r10 VSS x_PM_OR3_X2__VSS_9 0.346471
+R_x_PM_OR3_X2__VSS_r11 x_PM_OR3_X2__VSS_19 x_PM_OR3_X2__VSS_5 0.145286
+R_x_PM_OR3_X2__VSS_r12 N_VSS_M4_d x_PM_OR3_X2__VSS_5 0.637857
+C_x_PM_OR3_X2__VDD_c0 VSS x_PM_OR3_X2__VDD_12 2.99573e-17
+C_x_PM_OR3_X2__VDD_c1 VSS N_VDD_M2_d 2.4519e-17
+C_x_PM_OR3_X2__VDD_c2 VSS x_PM_OR3_X2__VDD_2 6.11137e-17
+R_x_PM_OR3_X2__VDD_r3 x_PM_OR3_X2__VDD_12 x_PM_OR3_X2__VDD_6 0.145286
+R_x_PM_OR3_X2__VDD_r4 N_VDD_M2_d x_PM_OR3_X2__VDD_6 0.230714
+R_x_PM_OR3_X2__VDD_r5 x_PM_OR3_X2__VDD_12 x_PM_OR3_X2__VDD_2 0.0731438
+R_x_PM_OR3_X2__VDD_r6 VDD x_PM_OR3_X2__VDD_2 0.346471
+C_x_PM_OR3_X2__3_c0 VSS x_PM_OR3_X2__3_36 1.25891e-17
+C_x_PM_OR3_X2__3_c1 VSS x_PM_OR3_X2__3_28 3.72813e-17
+C_x_PM_OR3_X2__3_c2 VSS x_PM_OR3_X2__3_27 6.83849e-18
+C_x_PM_OR3_X2__3_c3 VSS N_3_M0_s 1.93365e-17
+C_x_PM_OR3_X2__3_c4 VSS x_PM_OR3_X2__3_22 2.78594e-18
+C_x_PM_OR3_X2__3_c5 VSS x_PM_OR3_X2__3_20 1.68546e-17
+C_x_PM_OR3_X2__3_c6 VSS x_PM_OR3_X2__3_19 4.72915e-17
+C_x_PM_OR3_X2__3_c7 VSS x_PM_OR3_X2__3_16 4.23999e-17
+C_x_PM_OR3_X2__3_c8 VSS x_PM_OR3_X2__3_15 5.85797e-17
+C_x_PM_OR3_X2__3_c9 VSS x_PM_OR3_X2__3_13 4.65821e-17
+C_x_PM_OR3_X2__3_c10 VSS N_3_M3_g 9.93078e-17
+C_x_PM_OR3_X2__3_c11 VSS N_3_M7_g 3.18899e-17
+R_x_PM_OR3_X2__3_r12 x_PM_OR3_X2__3_36 x_PM_OR3_X2__3_34 4.42
+R_x_PM_OR3_X2__3_r13 x_PM_OR3_X2__3_34 x_PM_OR3_X2__3_31 25.0012
+R_x_PM_OR3_X2__3_r14 x_PM_OR3_X2__3_31 x_PM_OR3_X2__3_28 0.176429
+R_x_PM_OR3_X2__3_r15 x_PM_OR3_X2__3_27 x_PM_OR3_X2__3_21 0.179556
+R_x_PM_OR3_X2__3_r16 x_PM_OR3_X2__3_28 x_PM_OR3_X2__3_20 0.095
+R_x_PM_OR3_X2__3_r17 x_PM_OR3_X2__3_21 x_PM_OR3_X2__3_20 0.868571
+R_x_PM_OR3_X2__3_r18 x_PM_OR3_X2__3_27 x_PM_OR3_X2__3_19 0.026987
+R_x_PM_OR3_X2__3_r19 x_PM_OR3_X2__3_19 N_3_M5_d 0.548724
+R_x_PM_OR3_X2__3_r20 x_PM_OR3_X2__3_22 x_PM_OR3_X2__3_17 0.0604376
+R_x_PM_OR3_X2__3_r21 x_PM_OR3_X2__3_27 x_PM_OR3_X2__3_16 0.179556
+R_x_PM_OR3_X2__3_r22 x_PM_OR3_X2__3_17 x_PM_OR3_X2__3_16 1.68286
+R_x_PM_OR3_X2__3_r23 x_PM_OR3_X2__3_15 N_3_M0_s 0.297071
+R_x_PM_OR3_X2__3_r24 x_PM_OR3_X2__3_22 x_PM_OR3_X2__3_14 0.140052
+R_x_PM_OR3_X2__3_r25 x_PM_OR3_X2__3_15 x_PM_OR3_X2__3_14 3.17571
+R_x_PM_OR3_X2__3_r26 x_PM_OR3_X2__3_22 x_PM_OR3_X2__3_13 0.140052
+R_x_PM_OR3_X2__3_r27 x_PM_OR3_X2__3_13 N_3_M4_s 0.467567
+R_x_PM_OR3_X2__3_r28 x_PM_OR3_X2__3_36 x_PM_OR3_X2__3_5 1.95
+R_x_PM_OR3_X2__3_r29 N_3_M3_g x_PM_OR3_X2__3_5 109.98
+R_x_PM_OR3_X2__3_r30 x_PM_OR3_X2__3_36 x_PM_OR3_X2__3_VSS 1.95
+R_x_PM_OR3_X2__3_r31 N_3_M7_g x_PM_OR3_X2__3_VSS 21.84
+C_x_PM_OR3_X2__A1_c0 VSS A1 6.85526e-17
+C_x_PM_OR3_X2__A1_c1 VSS x_PM_OR3_X2__A1_11 9.92086e-18
+C_x_PM_OR3_X2__A1_c2 VSS N_A1_M0_g 7.53703e-17
+C_x_PM_OR3_X2__A1_c3 VSS N_A1_M4_g 5.78093e-17
+R_x_PM_OR3_X2__A1_r4 x_PM_OR3_X2__A1_18 x_PM_OR3_X2__A1_11 4.7687
+R_x_PM_OR3_X2__A1_r5 x_PM_OR3_X2__A1_17 x_PM_OR3_X2__A1_11 4.7687
+R_x_PM_OR3_X2__A1_r6 x_PM_OR3_X2__A1_11 x_PM_OR3_X2__A1_9 25.0012
+R_x_PM_OR3_X2__A1_r7 A1 x_PM_OR3_X2__A1_9 0.210357
+R_x_PM_OR3_X2__A1_r8 N_A1_M0_g x_PM_OR3_X2__A1_18 80.34
+R_x_PM_OR3_X2__A1_r9 N_A1_M4_g x_PM_OR3_X2__A1_17 59.28
+C_x_PM_OR3_X2__A2_c0 VSS A2 4.50716e-17
+C_x_PM_OR3_X2__A2_c1 VSS x_PM_OR3_X2__A2_11 1.07434e-17
+C_x_PM_OR3_X2__A2_c2 VSS N_A2_M1_g 6.86698e-17
+C_x_PM_OR3_X2__A2_c3 VSS N_A2_M5_g 5.1379e-17
+R_x_PM_OR3_X2__A2_r4 x_PM_OR3_X2__A2_11 x_PM_OR3_X2__A2_16 3.38
+R_x_PM_OR3_X2__A2_r5 x_PM_OR3_X2__A2_11 x_PM_OR3_X2__A2_9 25.0012
+R_x_PM_OR3_X2__A2_r6 A2 x_PM_OR3_X2__A2_9 0.156071
+R_x_PM_OR3_X2__A2_r7 x_PM_OR3_X2__A2_16 x_PM_OR3_X2__A2_5 1.95
+R_x_PM_OR3_X2__A2_r8 N_A2_M1_g x_PM_OR3_X2__A2_5 80.34
+R_x_PM_OR3_X2__A2_r9 x_PM_OR3_X2__A2_16 x_PM_OR3_X2__A2_VSS 1.95
+R_x_PM_OR3_X2__A2_r10 N_A2_M5_g x_PM_OR3_X2__A2_VSS 59.28
+C_x_PM_OR3_X2__A3_c0 VSS x_PM_OR3_X2__A3_11 8.5453e-18
+C_x_PM_OR3_X2__A3_c1 VSS x_PM_OR3_X2__A3_9 4.53477e-17
+C_x_PM_OR3_X2__A3_c2 VSS N_A3_M2_g 3.69294e-17
+C_x_PM_OR3_X2__A3_c3 VSS N_A3_M6_g 8.38994e-17
+R_x_PM_OR3_X2__A3_r4 x_PM_OR3_X2__A3_16 x_PM_OR3_X2__A3_11 4.7687
+R_x_PM_OR3_X2__A3_r5 x_PM_OR3_X2__A3_15 x_PM_OR3_X2__A3_11 4.7687
+R_x_PM_OR3_X2__A3_r6 x_PM_OR3_X2__A3_11 x_PM_OR3_X2__A3_9 25.0012
+R_x_PM_OR3_X2__A3_r7 A3 x_PM_OR3_X2__A3_9 0.226453
+R_x_PM_OR3_X2__A3_r8 N_A3_M2_g x_PM_OR3_X2__A3_16 28.08
+R_x_PM_OR3_X2__A3_r9 N_A3_M6_g x_PM_OR3_X2__A3_15 111.54
+C_x_PM_OR3_X2__ZN_c0 VSS N_ZN_M7_d 1.0669e-16
+R_x_PM_OR3_X2__ZN_r1 N_ZN_M3_d ZN 2.42929
+R_x_PM_OR3_X2__ZN_r2 ZN N_ZN_M7_d 1.75071
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/or4.sp b/LibNanGate45nm/or4.sp
new file mode 100644
index 0000000..67f2261
--- /dev/null
+++ b/LibNanGate45nm/or4.sp
@@ -0,0 +1,128 @@
+.SUBCKT or4 A1 A2 A3 A4 VDD VSS ZN
+M_M5 9 N_A1_M0_g N_3_M0_s VDD PMOS_VTL L=0.050U W=0.325000U AS=0.034125P AD=0.045500P PS=0.860000U PD=0.930000U
+M_M6 10 N_A2_M1_g 9 VDD PMOS_VTL L=0.050U W=0.325000U AS=0.045500P AD=0.045500P PS=0.930000U PD=0.930000U
+M_M7 11 N_A3_M2_g 10 VDD PMOS_VTL L=0.050U W=0.325000U AS=0.045500P AD=0.045500P PS=0.930000U PD=0.930000U
+M_M8 N_VDD_M3_d N_A4_M3_g 11 VDD PMOS_VTL L=0.050U W=0.325000U AS=0.045500P AD=0.041650P PS=0.930000U PD=0.930000U
+M_M9 N_ZN_M4_d N_3_M4_g N_VDD_M3_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.041650P AD=0.028350P PS=0.930000U PD=0.750000U
+M_M0 N_3_M5_d N_A1_M5_g N_VSS_M5_s VSS NMOS_VTL L=0.050U W=0.090000U AS=0.009450P AD=0.012600P PS=0.390000U PD=0.460000U
+M_M1 N_VSS_M6_d N_A2_M6_g N_3_M5_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.012600P PS=0.460000U PD=0.460000U
+M_M2 N_3_M7_d N_A3_M7_g N_VSS_M6_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.012600P PS=0.460000U PD=0.460000U
+M_M3 N_VSS_M8_d N_A4_M8_g N_3_M7_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.018900P PS=0.460000U PD=0.600000U
+M_M4 N_ZN_M9_d N_3_M9_g N_VSS_M8_d VSS NMOS_VTL L=0.050U W=0.160000U AS=0.018900P AD=0.020000P PS=0.600000U PD=0.570000U
+C_x_PM_OR4_X2__VSS_c0 VSS x_PM_OR4_X2__VSS_25 3.09849e-17
+C_x_PM_OR4_X2__VSS_c1 VSS x_PM_OR4_X2__VSS_24 2.92048e-18
+C_x_PM_OR4_X2__VSS_c2 VSS N_VSS_M8_d 3.12663e-17
+C_x_PM_OR4_X2__VSS_c3 VSS x_PM_OR4_X2__VSS_14 3.18026e-17
+C_x_PM_OR4_X2__VSS_c4 VSS N_VSS_M6_d 3.20111e-17
+C_x_PM_OR4_X2__VSS_c5 VSS x_PM_OR4_X2__VSS_9 1.25763e-17
+C_x_PM_OR4_X2__VSS_c6 VSS x_PM_OR4_X2__VSS_8 3.12295e-17
+C_x_PM_OR4_X2__VSS_c7 VSS N_VSS_M5_s 2.60989e-17
+R_x_PM_OR4_X2__VSS_r8 x_PM_OR4_X2__VSS_25 x_PM_OR4_X2__VSS_18 0.145286
+R_x_PM_OR4_X2__VSS_r9 N_VSS_M8_d x_PM_OR4_X2__VSS_18 0.637857
+R_x_PM_OR4_X2__VSS_r10 x_PM_OR4_X2__VSS_24 x_PM_OR4_X2__VSS_15 0.0731438
+R_x_PM_OR4_X2__VSS_r11 VSS x_PM_OR4_X2__VSS_15 0.145294
+R_x_PM_OR4_X2__VSS_r12 x_PM_OR4_X2__VSS_25 x_PM_OR4_X2__VSS_14 0.0731438
+R_x_PM_OR4_X2__VSS_r13 VSS x_PM_OR4_X2__VSS_14 0.547647
+R_x_PM_OR4_X2__VSS_r14 x_PM_OR4_X2__VSS_24 x_PM_OR4_X2__VSS_10 0.145286
+R_x_PM_OR4_X2__VSS_r15 N_VSS_M6_d x_PM_OR4_X2__VSS_10 0.637857
+R_x_PM_OR4_X2__VSS_r16 x_PM_OR4_X2__VSS_24 x_PM_OR4_X2__VSS_8 0.0731438
+R_x_PM_OR4_X2__VSS_r17 x_PM_OR4_X2__VSS_9 x_PM_OR4_X2__VSS_8 0.681765
+R_x_PM_OR4_X2__VSS_r18 x_PM_OR4_X2__VSS_9 x_PM_OR4_X2__VSS_4 0.264221
+R_x_PM_OR4_X2__VSS_r19 N_VSS_M5_s x_PM_OR4_X2__VSS_4 0.637857
+C_x_PM_OR4_X2__VDD_c0 VSS x_PM_OR4_X2__VDD_12 2.87042e-17
+C_x_PM_OR4_X2__VDD_c1 VSS N_VDD_M3_d 3.86698e-17
+C_x_PM_OR4_X2__VDD_c2 VSS x_PM_OR4_X2__VDD_2 8.27814e-17
+R_x_PM_OR4_X2__VDD_r3 x_PM_OR4_X2__VDD_12 x_PM_OR4_X2__VDD_6 0.145286
+R_x_PM_OR4_X2__VDD_r4 N_VDD_M3_d x_PM_OR4_X2__VDD_6 0.529286
+R_x_PM_OR4_X2__VDD_r5 x_PM_OR4_X2__VDD_12 x_PM_OR4_X2__VDD_2 0.0731438
+R_x_PM_OR4_X2__VDD_r6 VDD x_PM_OR4_X2__VDD_2 0.910882
+C_x_PM_OR4_X2__3_c0 VSS x_PM_OR4_X2__3_39 1.50137e-17
+C_x_PM_OR4_X2__3_c1 VSS x_PM_OR4_X2__3_34 5.66088e-17
+C_x_PM_OR4_X2__3_c2 VSS x_PM_OR4_X2__3_31 7.64543e-18
+C_x_PM_OR4_X2__3_c3 VSS N_3_M7_d 4.36971e-17
+C_x_PM_OR4_X2__3_c4 VSS x_PM_OR4_X2__3_24 3.90305e-17
+C_x_PM_OR4_X2__3_c5 VSS N_3_M5_d 4.58822e-17
+C_x_PM_OR4_X2__3_c6 VSS x_PM_OR4_X2__3_19 1.0509e-17
+C_x_PM_OR4_X2__3_c7 VSS x_PM_OR4_X2__3_18 1.72682e-17
+C_x_PM_OR4_X2__3_c8 VSS N_3_M0_s 3.58537e-17
+C_x_PM_OR4_X2__3_c9 VSS x_PM_OR4_X2__3_14 4.30213e-18
+C_x_PM_OR4_X2__3_c10 VSS x_PM_OR4_X2__3_13 5.51576e-17
+C_x_PM_OR4_X2__3_c11 VSS N_3_M4_g 9.51623e-17
+C_x_PM_OR4_X2__3_c12 VSS N_3_M9_g 3.01638e-17
+R_x_PM_OR4_X2__3_r13 x_PM_OR4_X2__3_39 x_PM_OR4_X2__3_37 5.46
+R_x_PM_OR4_X2__3_r14 x_PM_OR4_X2__3_37 x_PM_OR4_X2__3_34 25.0012
+R_x_PM_OR4_X2__3_r15 x_PM_OR4_X2__3_34 x_PM_OR4_X2__3_32 1.28929
+R_x_PM_OR4_X2__3_r16 x_PM_OR4_X2__3_32 x_PM_OR4_X2__3_26 0.095
+R_x_PM_OR4_X2__3_r17 N_3_M7_d x_PM_OR4_X2__3_26 0.855
+R_x_PM_OR4_X2__3_r18 x_PM_OR4_X2__3_31 x_PM_OR4_X2__3_25 0.160909
+R_x_PM_OR4_X2__3_r19 x_PM_OR4_X2__3_32 x_PM_OR4_X2__3_24 0.19
+R_x_PM_OR4_X2__3_r20 x_PM_OR4_X2__3_25 x_PM_OR4_X2__3_24 1.68286
+R_x_PM_OR4_X2__3_r21 x_PM_OR4_X2__3_31 x_PM_OR4_X2__3_20 0.0418175
+R_x_PM_OR4_X2__3_r22 N_3_M5_d x_PM_OR4_X2__3_20 0.855
+R_x_PM_OR4_X2__3_r23 x_PM_OR4_X2__3_31 x_PM_OR4_X2__3_18 0.160909
+R_x_PM_OR4_X2__3_r24 x_PM_OR4_X2__3_19 x_PM_OR4_X2__3_18 0.76
+R_x_PM_OR4_X2__3_r25 N_3_M0_s x_PM_OR4_X2__3_14 0.64
+R_x_PM_OR4_X2__3_r26 x_PM_OR4_X2__3_13 x_PM_OR4_X2__3_14 0.217071
+R_x_PM_OR4_X2__3_r27 x_PM_OR4_X2__3_19 x_PM_OR4_X2__3_12 0.212317
+R_x_PM_OR4_X2__3_r28 x_PM_OR4_X2__3_13 x_PM_OR4_X2__3_12 2.76857
+R_x_PM_OR4_X2__3_r29 x_PM_OR4_X2__3_39 x_PM_OR4_X2__3_5 1.95
+R_x_PM_OR4_X2__3_r30 N_3_M4_g x_PM_OR4_X2__3_5 104.52
+R_x_PM_OR4_X2__3_r31 x_PM_OR4_X2__3_39 x_PM_OR4_X2__3_VSS 1.95
+R_x_PM_OR4_X2__3_r32 N_3_M9_g x_PM_OR4_X2__3_VSS 20.28
+C_x_PM_OR4_X2__A1_c0 VSS A1 7.09523e-17
+C_x_PM_OR4_X2__A1_c1 VSS x_PM_OR4_X2__A1_11 9.93232e-18
+C_x_PM_OR4_X2__A1_c2 VSS N_A1_M0_g 7.76163e-17
+C_x_PM_OR4_X2__A1_c3 VSS N_A1_M5_g 5.54373e-17
+R_x_PM_OR4_X2__A1_r4 x_PM_OR4_X2__A1_18 x_PM_OR4_X2__A1_11 4.7687
+R_x_PM_OR4_X2__A1_r5 x_PM_OR4_X2__A1_17 x_PM_OR4_X2__A1_11 4.7687
+R_x_PM_OR4_X2__A1_r6 x_PM_OR4_X2__A1_11 x_PM_OR4_X2__A1_9 25.0012
+R_x_PM_OR4_X2__A1_r7 A1 x_PM_OR4_X2__A1_9 0.223929
+R_x_PM_OR4_X2__A1_r8 N_A1_M0_g x_PM_OR4_X2__A1_18 75.27
+R_x_PM_OR4_X2__A1_r9 N_A1_M5_g x_PM_OR4_X2__A1_17 59.28
+C_x_PM_OR4_X2__A2_c0 VSS A2 6.65609e-17
+C_x_PM_OR4_X2__A2_c1 VSS x_PM_OR4_X2__A2_11 1.12437e-17
+C_x_PM_OR4_X2__A2_c2 VSS N_A2_M1_g 6.83316e-17
+C_x_PM_OR4_X2__A2_c3 VSS N_A2_M6_g 5.1084e-17
+R_x_PM_OR4_X2__A2_r4 x_PM_OR4_X2__A2_11 x_PM_OR4_X2__A2_16 3.9
+R_x_PM_OR4_X2__A2_r5 x_PM_OR4_X2__A2_11 x_PM_OR4_X2__A2_9 25.0012
+R_x_PM_OR4_X2__A2_r6 A2 x_PM_OR4_X2__A2_9 0.156071
+R_x_PM_OR4_X2__A2_r7 x_PM_OR4_X2__A2_16 x_PM_OR4_X2__A2_5 1.95
+R_x_PM_OR4_X2__A2_r8 N_A2_M1_g x_PM_OR4_X2__A2_5 75.27
+R_x_PM_OR4_X2__A2_r9 x_PM_OR4_X2__A2_16 x_PM_OR4_X2__A2_VSS 1.95
+R_x_PM_OR4_X2__A2_r10 N_A2_M6_g x_PM_OR4_X2__A2_VSS 59.28
+C_x_PM_OR4_X2__A3_c0 VSS A3 6.65126e-17
+C_x_PM_OR4_X2__A3_c1 VSS x_PM_OR4_X2__A3_11 1.13495e-17
+C_x_PM_OR4_X2__A3_c2 VSS N_A3_M2_g 6.82754e-17
+C_x_PM_OR4_X2__A3_c3 VSS N_A3_M7_g 5.11699e-17
+R_x_PM_OR4_X2__A3_r4 x_PM_OR4_X2__A3_11 x_PM_OR4_X2__A3_16 3.9
+R_x_PM_OR4_X2__A3_r5 x_PM_OR4_X2__A3_11 x_PM_OR4_X2__A3_9 25.0012
+R_x_PM_OR4_X2__A3_r6 A3 x_PM_OR4_X2__A3_9 0.156071
+R_x_PM_OR4_X2__A3_r7 x_PM_OR4_X2__A3_16 x_PM_OR4_X2__A3_5 1.95
+R_x_PM_OR4_X2__A3_r8 N_A3_M2_g x_PM_OR4_X2__A3_5 75.27
+R_x_PM_OR4_X2__A3_r9 x_PM_OR4_X2__A3_16 x_PM_OR4_X2__A3_VSS 1.95
+R_x_PM_OR4_X2__A3_r10 N_A3_M7_g x_PM_OR4_X2__A3_VSS 59.28
+C_x_PM_OR4_X2__A4_c0 VSS A4 5.3212e-17
+C_x_PM_OR4_X2__A4_c1 VSS x_PM_OR4_X2__A4_11 1.147e-17
+C_x_PM_OR4_X2__A4_c2 VSS N_A4_M3_g 6.91639e-17
+C_x_PM_OR4_X2__A4_c3 VSS N_A4_M8_g 5.25901e-17
+R_x_PM_OR4_X2__A4_r4 x_PM_OR4_X2__A4_11 x_PM_OR4_X2__A4_16 3.9
+R_x_PM_OR4_X2__A4_r5 x_PM_OR4_X2__A4_11 x_PM_OR4_X2__A4_9 25.0012
+R_x_PM_OR4_X2__A4_r6 A4 x_PM_OR4_X2__A4_9 0.156071
+R_x_PM_OR4_X2__A4_r7 x_PM_OR4_X2__A4_16 x_PM_OR4_X2__A4_5 1.95
+R_x_PM_OR4_X2__A4_r8 N_A4_M3_g x_PM_OR4_X2__A4_5 75.27
+R_x_PM_OR4_X2__A4_r9 x_PM_OR4_X2__A4_16 x_PM_OR4_X2__A4_VSS 1.95
+R_x_PM_OR4_X2__A4_r10 N_A4_M8_g x_PM_OR4_X2__A4_VSS 59.28
+C_x_PM_OR4_X2__ZN_c0 VSS N_ZN_M9_d 4.27646e-17
+C_x_PM_OR4_X2__ZN_c1 VSS ZN 5.15232e-17
+C_x_PM_OR4_X2__ZN_c2 VSS x_PM_OR4_X2__ZN_3 6.09228e-18
+R_x_PM_OR4_X2__ZN_r3 N_ZN_M9_d x_PM_OR4_X2__ZN_13 1.47929
+R_x_PM_OR4_X2__ZN_r4 N_ZN_M4_d ZN 1.65722
+R_x_PM_OR4_X2__ZN_r5 x_PM_OR4_X2__ZN_13 x_PM_OR4_X2__ZN_3 0.20978
+R_x_PM_OR4_X2__ZN_r6 ZN x_PM_OR4_X2__ZN_3 0.105556
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/or5.sp b/LibNanGate45nm/or5.sp
new file mode 100644
index 0000000..8028885
--- /dev/null
+++ b/LibNanGate45nm/or5.sp
@@ -0,0 +1,190 @@
+.SUBCKT or5 A1 A2 A3 A4 A5 VDD VSS ZN
+********************************************NOR3_X2****************************************************
+M_M3 7 N_A3_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.520000U AS=0.054600P AD=0.072800P PS=1.250000U PD=1.320000U
+M_M4 8 N_A2_M1_g 7 VDD PMOS_VTL L=0.050U W=0.520000U AS=0.072800P AD=0.072800P PS=1.320000U PD=1.320000U
+M_M5 N_Zalp1_M2_d N_A1_M2_g 8 VDD PMOS_VTL L=0.050U W=0.520000U AS=0.072800P AD=0.054600P PS=1.320000U PD=1.250000U
+M_M0 N_Zalp1_M3_d N_A3_M3_g N_VSS_M3_s VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M_M1 N_VSS_M4_d N_A2_M4_g N_Zalp1_M3_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.025200P PS=0.640000U PD=0.640000U
+M_M2 N_Zalp1_M5_d N_A1_M5_g N_VSS_M4_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_NOR3_X2__VSS_c0 VSS x_PM_NOR3_X2__VSS_17 4.46075e-17
+C_x_PM_NOR3_X2__VSS_c1 VSS N_VSS_M4_d 2.78358e-17
+C_x_PM_NOR3_X2__VSS_c2 VSS x_PM_NOR3_X2__VSS_8 1.05487e-17
+C_x_PM_NOR3_X2__VSS_c3 VSS x_PM_NOR3_X2__VSS_7 3.86305e-17
+C_x_PM_NOR3_X2__VSS_c4 VSS N_VSS_M3_s 9.87304e-18
+R_x_PM_NOR3_X2__VSS_r5 x_PM_NOR3_X2__VSS_17 x_PM_NOR3_X2__VSS_11 0.145286
+R_x_PM_NOR3_X2__VSS_r6 N_VSS_M4_d x_PM_NOR3_X2__VSS_11 0.230714
+R_x_PM_NOR3_X2__VSS_r7 VSS x_PM_NOR3_X2__VSS_8 0.603529
+R_x_PM_NOR3_X2__VSS_r8 x_PM_NOR3_X2__VSS_17 x_PM_NOR3_X2__VSS_7 0.0731438
+R_x_PM_NOR3_X2__VSS_r9 VSS x_PM_NOR3_X2__VSS_7 0.0782353
+R_x_PM_NOR3_X2__VSS_r10 x_PM_NOR3_X2__VSS_8 x_PM_NOR3_X2__VSS_3 0.264221
+R_x_PM_NOR3_X2__VSS_r11 N_VSS_M3_s x_PM_NOR3_X2__VSS_3 0.230714
+C_x_PM_NOR3_X2__VDD_c0 VSS VDD 5.9596e-17
+C_x_PM_NOR3_X2__VDD_c1 VSS N_VDD_M0_s 2.58417e-17
+C_x_PM_NOR3_X2__VDD_c2 VSS x_PM_NOR3_X2__VDD_2 1.06055e-17
+R_x_PM_NOR3_X2__VDD_r3 VDD x_PM_NOR3_X2__VDD_2 0.0689273
+R_x_PM_NOR3_X2__VDD_r4 N_VDD_M0_s x_PM_NOR3_X2__VDD_2 0.230714
+C_x_PM_NOR3_X2__A3_c0 VSS x_PM_NOR3_X2__A3_11 7.14715e-18
+C_x_PM_NOR3_X2__A3_c1 VSS x_PM_NOR3_X2__A3_9 5.04542e-17
+C_x_PM_NOR3_X2__A3_c2 VSS N_A3_M0_g 6.20936e-17
+C_x_PM_NOR3_X2__A3_c3 VSS N_A3_M3_g 5.91756e-17
+R_x_PM_NOR3_X2__A3_r4 x_PM_NOR3_X2__A3_18 x_PM_NOR3_X2__A3_11 4.74714
+R_x_PM_NOR3_X2__A3_r5 x_PM_NOR3_X2__A3_17 x_PM_NOR3_X2__A3_11 4.74714
+R_x_PM_NOR3_X2__A3_r6 x_PM_NOR3_X2__A3_11 x_PM_NOR3_X2__A3_9 25.0012
+R_x_PM_NOR3_X2__A3_r7 A3 x_PM_NOR3_X2__A3_9 0.2204
+R_x_PM_NOR3_X2__A3_r8 N_A3_M0_g x_PM_NOR3_X2__A3_18 49.14
+R_x_PM_NOR3_X2__A3_r9 N_A3_M3_g x_PM_NOR3_X2__A3_17 74.88
+C_x_PM_NOR3_X2__Zalp1_c0 VSS x_PM_NOR3_X2__Zalp1_22 2.56413e-18
+C_x_PM_NOR3_X2__Zalp1_c1 VSS Zalp1 5.06951e-17
+C_x_PM_NOR3_X2__Zalp1_c2 VSS N_Zalp1_M2_d 2.75881e-17
+C_x_PM_NOR3_X2__Zalp1_c3 VSS x_PM_NOR3_X2__Zalp1_14 6.25994e-18
+C_x_PM_NOR3_X2__Zalp1_c4 VSS N_Zalp1_M5_d 2.52851e-17
+C_x_PM_NOR3_X2__Zalp1_c5 VSS x_PM_NOR3_X2__Zalp1_9 8.16416e-18
+C_x_PM_NOR3_X2__Zalp1_c6 VSS x_PM_NOR3_X2__Zalp1_8 4.12951e-17
+C_x_PM_NOR3_X2__Zalp1_c7 VSS N_Zalp1_M3_d 2.15312e-17
+R_x_PM_NOR3_X2__Zalp1_r8 Zalp1 x_PM_NOR3_X2__Zalp1_19 1.46571
+R_x_PM_NOR3_X2__Zalp1_r9 x_PM_NOR3_X2__Zalp1_22 x_PM_NOR3_X2__Zalp1_18 0.143785
+R_x_PM_NOR3_X2__Zalp1_r10 Zalp1 x_PM_NOR3_X2__Zalp1_18 0.868571
+R_x_PM_NOR3_X2__Zalp1_r11 x_PM_NOR3_X2__Zalp1_19 x_PM_NOR3_X2__Zalp1_14 0.20978
+R_x_PM_NOR3_X2__Zalp1_r12 N_Zalp1_M2_d x_PM_NOR3_X2__Zalp1_14 0.686111
+R_x_PM_NOR3_X2__Zalp1_r13 x_PM_NOR3_X2__Zalp1_22 x_PM_NOR3_X2__Zalp1_10 0.143785
+R_x_PM_NOR3_X2__Zalp1_r14 N_Zalp1_M5_d x_PM_NOR3_X2__Zalp1_10 0.116111
+R_x_PM_NOR3_X2__Zalp1_r15 x_PM_NOR3_X2__Zalp1_22 x_PM_NOR3_X2__Zalp1_8 0.0569232
+R_x_PM_NOR3_X2__Zalp1_r16 x_PM_NOR3_X2__Zalp1_9 x_PM_NOR3_X2__Zalp1_8 1.65571
+R_x_PM_NOR3_X2__Zalp1_r17 x_PM_NOR3_X2__Zalp1_9 x_PM_NOR3_X2__Zalp1_4 0.212317
+R_x_PM_NOR3_X2__Zalp1_r18 N_Zalp1_M3_d x_PM_NOR3_X2__Zalp1_4 0.149286
+C_x_PM_NOR3_X2__A2_c0 VSS x_PM_NOR3_X2__A2_11 8.98632e-18
+C_x_PM_NOR3_X2__A2_c1 VSS x_PM_NOR3_X2__A2_9 8.53584e-17
+C_x_PM_NOR3_X2__A2_c2 VSS N_A2_M1_g 6.12109e-17
+C_x_PM_NOR3_X2__A2_c3 VSS N_A2_M4_g 6.60015e-17
+R_x_PM_NOR3_X2__A2_r4 x_PM_NOR3_X2__A2_18 x_PM_NOR3_X2__A2_11 4.74714
+R_x_PM_NOR3_X2__A2_r5 x_PM_NOR3_X2__A2_17 x_PM_NOR3_X2__A2_11 4.74714
+R_x_PM_NOR3_X2__A2_r6 x_PM_NOR3_X2__A2_11 x_PM_NOR3_X2__A2_9 25.0012
+R_x_PM_NOR3_X2__A2_r7 A2 x_PM_NOR3_X2__A2_9 0.2204
+R_x_PM_NOR3_X2__A2_r8 N_A2_M1_g x_PM_NOR3_X2__A2_18 49.14
+R_x_PM_NOR3_X2__A2_r9 N_A2_M4_g x_PM_NOR3_X2__A2_17 74.88
+C_x_PM_NOR3_X2__A1_c0 VSS x_PM_NOR3_X2__A1_20 1.07269e-17
+C_x_PM_NOR3_X2__A1_c1 VSS x_PM_NOR3_X2__A1_14 4.59258e-17
+C_x_PM_NOR3_X2__A1_c2 VSS x_PM_NOR3_X2__A1_9 3.45973e-17
+C_x_PM_NOR3_X2__A1_c3 VSS N_A1_M2_g 7.00434e-17
+C_x_PM_NOR3_X2__A1_c4 VSS N_A1_M5_g 6.63408e-17
+R_x_PM_NOR3_X2__A1_r5 x_PM_NOR3_X2__A1_20 x_PM_NOR3_X2__A1_16 2.34
+R_x_PM_NOR3_X2__A1_r6 x_PM_NOR3_X2__A1_16 x_PM_NOR3_X2__A1_14 25.0012
+R_x_PM_NOR3_X2__A1_r7 x_PM_NOR3_X2__A1_14 x_PM_NOR3_X2__A1_12 0.147778
+R_x_PM_NOR3_X2__A1_r8 x_PM_NOR3_X2__A1_12 x_PM_NOR3_X2__A1_9 0.095
+R_x_PM_NOR3_X2__A1_r9 A1 x_PM_NOR3_X2__A1_9 0.298571
+R_x_PM_NOR3_X2__A1_r10 x_PM_NOR3_X2__A1_20 x_PM_NOR3_X2__A1_5 1.95
+R_x_PM_NOR3_X2__A1_r11 N_A1_M2_g x_PM_NOR3_X2__A1_5 56.94
+R_x_PM_NOR3_X2__A1_r12 x_PM_NOR3_X2__A1_20 x_PM_NOR3_X2__A1_VSS 1.95
+R_x_PM_NOR3_X2__A1_r13 N_A1_M5_g x_PM_NOR3_X2__A1_VSS 67.08
+
+********************************************NOR2_X2****************************************************
+M2_M2 62 N2_A5_M0_g N2_VDD_M0_s VDD PMOS_VTL W=0.390000U AS=0.040950P AD=0.054600P PS=0.990000U PD=1.060000U
+M2_M3 N2_Zalp2_M1_d N2_A4_M1_g 62 VDD PMOS_VTL W=0.390000U AS=0.054600P AD=0.040950P PS=1.060000U PD=0.990000U
+M2_M0 N2_Zalp2_M2_d N2_A5_M2_g N2_VSS_M2_s VSS NMOS_VTL W=0.180000U AS=0.018900P AD=0.025200P PS=0.570000U PD=0.640000U
+M2_M1 N2_VSS_M3_d N2_A4_M3_g N2_Zalp2_M2_d VSS NMOS_VTL W=0.180000U AS=0.025200P AD=0.018900P PS=0.640000U PD=0.570000U
+C_x_PM_NOR2_X2__VSS_c0 VSS N2_VSS_M3_d 1.9003e-17
+C_x_PM_NOR2_X2__VSS_c1 VSS x_PM_NOR2_X2__VSS_8 1.14613e-17
+C_x_PM_NOR2_X2__VSS_c2 VSS x_PM_NOR2_X2__VSS_7 5.12113e-17
+C_x_PM_NOR2_X2__VSS_c3 VSS N2_VSS_M2_s 1.7976e-17
+R_x_PM_NOR2_X2__VSS_r4 N2_VSS_M3_d x_PM_NOR2_X2__VSS_11 0.230714
+R_x_PM_NOR2_X2__VSS_r5 VSS x_PM_NOR2_X2__VSS_8 0.357647
+R_x_PM_NOR2_X2__VSS_r6 x_PM_NOR2_X2__VSS_11 x_PM_NOR2_X2__VSS_7 0.264221
+R_x_PM_NOR2_X2__VSS_r7 VSS x_PM_NOR2_X2__VSS_7 0.324118
+R_x_PM_NOR2_X2__VSS_r8 x_PM_NOR2_X2__VSS_8 x_PM_NOR2_X2__VSS_3 0.264221
+R_x_PM_NOR2_X2__VSS_r9 N2_VSS_M2_s x_PM_NOR2_X2__VSS_3 0.230714
+C_x_PM_NOR2_X2__VDD_c0 VSS VDD 5.55967e-17
+C_x_PM_NOR2_X2__VDD_c1 VSS N2_VDD_M0_s 2.30938e-17
+R_x_PM_NOR2_X2__VDD_r2 x_PM_NOR2_X2__VDD_10 VDD 0.0881799
+R_x_PM_NOR2_X2__VDD_r3 N2_VDD_M0_s x_PM_NOR2_X2__VDD_10 0.230714
+C_x_PM_NOR2_X2__A5_c0 VSS x_PM_NOR2_X2__A5_18 8.24826e-18
+C_x_PM_NOR2_X2__A5_c1 VSS x_PM_NOR2_X2__A5_12 4.45792e-17
+C_x_PM_NOR2_X2__A5_c2 VSS N2_A5_M0_g 9.21574e-17
+C_x_PM_NOR2_X2__A5_c3 VSS N2_A5_M2_g 3.09335e-17
+R_x_PM_NOR2_X2__A5_r4 x_PM_NOR2_X2__A5_18 x_PM_NOR2_X2__A5_14 3.38
+R_x_PM_NOR2_X2__A5_r5 x_PM_NOR2_X2__A5_14 x_PM_NOR2_X2__A5_12 25.0012
+R_x_PM_NOR2_X2__A5_r6 x_PM_NOR2_X2__A5_12 A5 0.15069
+R_x_PM_NOR2_X2__A5_r7 x_PM_NOR2_X2__A5_18 x_PM_NOR2_X2__A5_5 1.95
+R_x_PM_NOR2_X2__A5_r8 N2_A5_M0_g x_PM_NOR2_X2__A5_5 112.32
+R_x_PM_NOR2_X2__A5_r9 x_PM_NOR2_X2__A5_18 x_PM_NOR2_X2__A5_VSS 1.95
+R_x_PM_NOR2_X2__A5_r10 N2_A5_M2_g x_PM_NOR2_X2__A5_VSS 21.84
+C_x_PM_NOR2_X2__Zalp2_c0 VSS N2_Zalp2_M1_d 5.96075e-17
+C_x_PM_NOR2_X2__Zalp2_c1 VSS x_PM_NOR2_X2__Zalp2_9 3.74417e-17
+C_x_PM_NOR2_X2__Zalp2_c2 VSS Zalp2 7.19517e-18
+C_x_PM_NOR2_X2__Zalp2_c3 VSS N2_Zalp2_M2_d 8.47483e-17
+R_x_PM_NOR2_X2__Zalp2_r4 N2_Zalp2_M1_d x_PM_NOR2_X2__Zalp2_11 2.91786
+R_x_PM_NOR2_X2__Zalp2_r5 x_PM_NOR2_X2__Zalp2_11 x_PM_NOR2_X2__Zalp2_9 0.212317
+R_x_PM_NOR2_X2__Zalp2_r6 x_PM_NOR2_X2__Zalp2_10 x_PM_NOR2_X2__Zalp2_9 0.597143
+R_x_PM_NOR2_X2__Zalp2_r7 x_PM_NOR2_X2__Zalp2_10 Zalp2 0.212317
+R_x_PM_NOR2_X2__Zalp2_r8 Zalp2 x_PM_NOR2_X2__Zalp2_7 0.000542857
+R_x_PM_NOR2_X2__Zalp2_r9 x_PM_NOR2_X2__Zalp2_7 N2_Zalp2_M2_d 1.39731
+C_x_PM_NOR2_X2__A4_c0 VSS A4 6.50458e-17
+C_x_PM_NOR2_X2__A4_c1 VSS x_PM_NOR2_X2__A4_11 9.81933e-18
+C_x_PM_NOR2_X2__A4_c2 VSS N2_A4_M1_g 1.07185e-16
+C_x_PM_NOR2_X2__A4_c3 VSS N2_A4_M3_g 3.09279e-17
+R_x_PM_NOR2_X2__A4_r4 x_PM_NOR2_X2__A4_11 x_PM_NOR2_X2__A4_16 4.42
+R_x_PM_NOR2_X2__A4_r5 x_PM_NOR2_X2__A4_11 x_PM_NOR2_X2__A4_9 25.0012
+R_x_PM_NOR2_X2__A4_r6 A4 x_PM_NOR2_X2__A4_9 0.15069
+R_x_PM_NOR2_X2__A4_r7 x_PM_NOR2_X2__A4_16 x_PM_NOR2_X2__A4_5 1.95
+R_x_PM_NOR2_X2__A4_r8 N2_A4_M1_g x_PM_NOR2_X2__A4_5 112.32
+R_x_PM_NOR2_X2__A4_r9 x_PM_NOR2_X2__A4_16 x_PM_NOR2_X2__A4_VSS 1.95
+R_x_PM_NOR2_X2__A4_r10 N2_A4_M3_g x_PM_NOR2_X2__A4_VSS 21.84
+
+********************************************NAND2_X2**************************************************
+M3_M2 N3_ZN3_M0_d N3_Zalp2_M0_g N3_VDD_M0_s VDD PMOS_VTL W=0.270000U AS=0.028350P AD=0.037800P PS=0.750000U PD=0.820000U
+M3_M3 N3_VDD_M1_d N3_Zalp1_M1_g N3_ZN3_M0_d VDD PMOS_VTL W=0.270000U AS=0.037800P AD=0.028350P PS=0.820000U PD=0.750000U
+M3_M0 63 N3_Zalp2_M2_g N3_VSS_M2_s VSS NMOS_VTL W=0.260000U AS=0.027300P AD=0.036400P PS=0.730000U PD=0.800000U
+M3_M1 N3_ZN3_M3_d N3_Zalp1_M3_g 63 VSS NMOS_VTL W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x_PM_NAND2_X2__VSS_c0 VSS VSS 5.03826e-17
+C_x_PM_NAND2_X2__VSS_c1 VSS x_PM_NAND2_X2__VSS_6 1.04465e-17
+C_x_PM_NAND2_X2__VSS_c2 VSS N3_VSS_M2_s 1.83058e-17
+R_x_PM_NAND2_X2__VSS_r3 VSS x_PM_NAND2_X2__VSS_6 0.391176
+R_x_PM_NAND2_X2__VSS_r4 x_PM_NAND2_X2__VSS_6 x_PM_NAND2_X2__VSS_2 0.264221
+R_x_PM_NAND2_X2__VSS_r5 N3_VSS_M2_s x_PM_NAND2_X2__VSS_2 0.230714
+C_x_PM_NAND2_X2__VDD_c0 VSS N3_VDD_M1_d 4.75732e-17
+C_x_PM_NAND2_X2__VDD_c1 VSS x_PM_NAND2_X2__VDD_7 4.67275e-17
+C_x_PM_NAND2_X2__VDD_c2 VSS N3_VDD_M0_s 2.99432e-17
+C_x_PM_NAND2_X2__VDD_c3 VSS x_PM_NAND2_X2__VDD_3 1.06496e-17
+R_x_PM_NAND2_X2__VDD_r4 N3_VDD_M1_d x_PM_NAND2_X2__VDD_9 0.420714
+R_x_PM_NAND2_X2__VDD_r5 VDD x_PM_NAND2_X2__VDD_8 0.195294
+R_x_PM_NAND2_X2__VDD_r6 x_PM_NAND2_X2__VDD_9 x_PM_NAND2_X2__VDD_7 0.264221
+R_x_PM_NAND2_X2__VDD_r7 x_PM_NAND2_X2__VDD_8 x_PM_NAND2_X2__VDD_7 0.681765
+R_x_PM_NAND2_X2__VDD_r8 VDD x_PM_NAND2_X2__VDD_3 0.0689273
+R_x_PM_NAND2_X2__VDD_r9 N3_VDD_M0_s x_PM_NAND2_X2__VDD_3 0.420714
+C_x_PM_NAND2_X2__Zalp2_c0 VSS x_PM_NAND2_X2__Zalp2_14 7.51478e-18
+C_x_PM_NAND2_X2__Zalp2_c1 VSS Zalp2 6.01437e-17
+C_x_PM_NAND2_X2__Zalp2_c2 VSS N3_Zalp2_M0_g 8.26414e-17
+C_x_PM_NAND2_X2__Zalp2_c3 VSS N3_Zalp2_M2_g 3.58741e-17
+R_x_PM_NAND2_X2__Zalp2_r4 x_PM_NAND2_X2__Zalp2_18 x_PM_NAND2_X2__Zalp2_14 4.74714
+R_x_PM_NAND2_X2__Zalp2_r5 x_PM_NAND2_X2__Zalp2_17 x_PM_NAND2_X2__Zalp2_14 4.74714
+R_x_PM_NAND2_X2__Zalp2_r6 x_PM_NAND2_X2__Zalp2_14 x_PM_NAND2_X2__Zalp2_12 25.0012
+R_x_PM_NAND2_X2__Zalp2_r7 x_PM_NAND2_X2__Zalp2_12 Zalp2 0.266
+R_x_PM_NAND2_X2__Zalp2_r8 N3_Zalp2_M0_g x_PM_NAND2_X2__Zalp2_18 103.74
+R_x_PM_NAND2_X2__Zalp2_r9 N3_Zalp2_M2_g x_PM_NAND2_X2__Zalp2_17 28.08
+C_x_PM_NAND2_X2__ZN3_c0 VSS N3_ZN3_M3_d 9.46701e-17
+C_x_PM_NAND2_X2__ZN3_c1 VSS x_PM_NAND2_X2__ZN3_8 7.68686e-18
+C_x_PM_NAND2_X2__ZN3_c2 VSS x_PM_NAND2_X2__ZN3_7 3.24105e-17
+C_x_PM_NAND2_X2__ZN3_c3 VSS N3_ZN3_M0_d 6.2878e-17
+R_x_PM_NAND2_X2__ZN3_r4 ZN N3_ZN3_M3_d 1.93167
+R_x_PM_NAND2_X2__ZN3_r5 ZN x_PM_NAND2_X2__ZN3_9 0.527778
+R_x_PM_NAND2_X2__ZN3_r6 x_PM_NAND2_X2__ZN3_9 x_PM_NAND2_X2__ZN3_7 0.21666
+R_x_PM_NAND2_X2__ZN3_r7 x_PM_NAND2_X2__ZN3_8 x_PM_NAND2_X2__ZN3_7 0.624286
+R_x_PM_NAND2_X2__ZN3_r8 x_PM_NAND2_X2__ZN3_8 x_PM_NAND2_X2__ZN3_3 0.212317
+R_x_PM_NAND2_X2__ZN3_r9 N3_ZN3_M0_d x_PM_NAND2_X2__ZN3_3 1.18071
+C_x_PM_NAND2_X2__Zalp1_c0 VSS x_PM_NAND2_X2__Zalp1_18 1.23667e-17
+C_x_PM_NAND2_X2__Zalp1_c1 VSS Zalp1 8.87208e-17
+C_x_PM_NAND2_X2__Zalp1_c2 VSS N3_Zalp1_M1_g 9.96411e-17
+C_x_PM_NAND2_X2__Zalp1_c3 VSS N3_Zalp1_M3_g 3.7962e-17
+R_x_PM_NAND2_X2__Zalp1_r4 x_PM_NAND2_X2__Zalp1_18 x_PM_NAND2_X2__Zalp1_14 3.9
+R_x_PM_NAND2_X2__Zalp1_r5 x_PM_NAND2_X2__Zalp1_14 x_PM_NAND2_X2__Zalp1_12 25.0012
+R_x_PM_NAND2_X2__Zalp1_r6 x_PM_NAND2_X2__Zalp1_12 Zalp1 0.316667
+R_x_PM_NAND2_X2__Zalp1_r7 x_PM_NAND2_X2__Zalp1_18 x_PM_NAND2_X2__Zalp1_5 1.95
+R_x_PM_NAND2_X2__Zalp1_r8 N3_Zalp1_M1_g x_PM_NAND2_X2__Zalp1_5 103.74
+R_x_PM_NAND2_X2__Zalp1_r9 x_PM_NAND2_X2__Zalp1_18 x_PM_NAND2_X2__Zalp1_VSS 1.95
+R_x_PM_NAND2_X2__Zalp1_r10 N3_Zalp1_M3_g x_PM_NAND2_X2__Zalp1_VSS 28.08
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/techfile45nm.inc b/LibNanGate45nm/techfile45nm.inc
new file mode 100644
index 0000000..d4efbde
--- /dev/null
+++ b/LibNanGate45nm/techfile45nm.inc
@@ -0,0 +1,140 @@
+* PTM High Performance 45nm Metal Gate / High-K / Strained-Si
+* nominal Vdd = 1.0V
+
+.model NMOS_VTL nmos level = 54
+
++version = 4.4 binunit = 1 paramchk= 1 mobmod = 0
++capmod = 2 igcmod = 1 igbmod = 1 geomod = 1
++diomod = 1 rdsmod = 0 rbodymod= 1 rgatemod= 1
++permod = 1 acnqsmod= 0 trnqsmod= 0
+
++tnom = 27 toxe = 1.25e-009 toxp = 1e-009 toxm = 1.25e-009
++dtox = 2.5e-010 epsrox = 3.9 wint = 5e-009 lint = 3.75e-009
++ll = 0 wl = 0 lln = 1 wln = 1
++lw = 0 ww = 0 lwn = 1 wwn = 1
++lwl = 0 wwl = 0 xpart = 0 toxref = 1.25e-009
++xl = -20e-9
+
++vth0 = 0.46893 k1 = 0.4 k2 = 0 k3 = 0
++k3b = 0 w0 = 2.5e-006 dvt0 = 1 dvt1 = 2
++dvt2 = 0 dvt0w = 0 dvt1w = 0 dvt2w = 0
++dsub = 0.1 minv = 0.05 voffl = 0 dvtp0 = 1e-010
++dvtp1 = 0.1 lpe0 = 0 lpeb = 0 xj = 1.4e-008
++ngate = 1e+023 ndep = 3.24e+018 nsd = 2e+020 phin = 0
++cdsc = 0 cdscb = 0 cdscd = 0 cit = 0
++voff = -0.13 nfactor = 2.22 eta0 = 0.0055 etab = 0
++vfb = -0.55 u0 = 0.054 ua = 6e-010 ub = 1.2e-018
++uc = 0 vsat = 170000 a0 = 1 ags = 0
++a1 = 0 a2 = 1 b0 = 0 b1 = 0
++keta = 0.04 dwg = 0 dwb = 0 pclm = 0.02
++pdiblc1 = 0.001 pdiblc2 = 0.001 pdiblcb = -0.005 drout = 0.5
++pvag = 1e-020 delta = 0.01 pscbe1 = 8.14e+008 pscbe2 = 1e-007
++fprout = 0.2 pdits = 0.08 pditsd = 0.23 pditsl = 2300000
++rsh = 5 rdsw = 155 rsw = 80 rdw = 80
++rdswmin = 0 rdwmin = 0 rswmin = 0 prwg = 0
++prwb = 0 wr = 1 alpha0 = 0.074 alpha1 = 0.005
++beta0 = 30 agidl = 0.0002 bgidl = 2.1e+009 cgidl = 0.0002
++egidl = 0.8 aigbacc = 0.012 bigbacc = 0.0028 cigbacc = 0.002
++nigbacc = 1 aigbinv = 0.014 bigbinv = 0.004 cigbinv = 0.004
++eigbinv = 1.1 nigbinv = 3 aigc = 0.02 bigc = 0.0025
++cigc = 0.002 aigsd = 0.02 bigsd = 0.0025 cigsd = 0.002
++nigc = 1 poxedge = 1 pigcd = 1 ntox = 1
++xrcrg1 = 12 xrcrg2 = 5
+
++cgso = 1.1e-010 cgdo = 1.1e-010 cgbo = 2.56e-011 cgdl = 2.653e-010
++cgsl = 2.653e-010 ckappas = 0.03 ckappad = 0.03 acde = 1
++moin = 15 noff = 0.9 voffcv = 0.02
+
++kt1 = -0.11 kt1l = 0 kt2 = 0.022 ute = -1.5
++ua1 = 4.31e-009 ub1 = 7.61e-018 uc1 = -5.6e-011 prt = 0
++at = 33000
+
++fnoimod = 1 tnoimod = 0
+
++jss = 0.0001 jsws = 1e-011 jswgs = 1e-010 njs = 1
++ijthsfwd= 0.01 ijthsrev= 0.001 bvs = 10 xjbvs = 1
++jsd = 0.0001 jswd = 1e-011 jswgd = 1e-010 njd = 1
++ijthdfwd= 0.01 ijthdrev= 0.001 bvd = 10 xjbvd = 1
++pbs = 1 cjs = 0.0005 mjs = 0.5 pbsws = 1
++cjsws = 5e-010 mjsws = 0.33 pbswgs = 1 cjswgs = 3e-010
++mjswgs = 0.33 pbd = 1 cjd = 0.0005 mjd = 0.5
++pbswd = 1 cjswd = 5e-010 mjswd = 0.33 pbswgd = 1
++cjswgd = 5e-010 mjswgd = 0.33 tpb = 0.005 tcj = 0.001
++tpbsw = 0.005 tcjsw = 0.001 tpbswg = 0.005 tcjswg = 0.001
++xtis = 3 xtid = 3
+
++dmcg = 0 dmci = 0 dmdg = 0 dmcgt = 0
++dwj = 0 xgw = 0 xgl = 0
+
++rshg = 0.4 gbmin = 1e-010 rbpb = 5 rbpd = 15
++rbps = 15 rbdb = 15 rbsb = 15 ngcon = 1
+
+
+
+.model PMOS_VTL pmos level = 54
+
++version = 4.4 binunit = 1 paramchk= 1 mobmod = 0
++capmod = 2 igcmod = 1 igbmod = 1 geomod = 1
++diomod = 1 rdsmod = 0 rbodymod= 1 rgatemod= 1
++permod = 1 acnqsmod= 0 trnqsmod= 0
+
++tnom = 27 toxe = 1.3e-009 toxp = 1e-009 toxm = 1.3e-009
++dtox = 3e-010 epsrox = 3.9 wint = 5e-009 lint = 3.75e-009
++ll = 0 wl = 0 lln = 1 wln = 1
++lw = 0 ww = 0 lwn = 1 wwn = 1
++lwl = 0 wwl = 0 xpart = 0 toxref = 1.3e-009
++xl = -20e-9
+
++vth0 = -0.49158 k1 = 0.4 k2 = -0.01 k3 = 0
++k3b = 0 w0 = 2.5e-006 dvt0 = 1 dvt1 = 2
++dvt2 = -0.032 dvt0w = 0 dvt1w = 0 dvt2w = 0
++dsub = 0.1 minv = 0.05 voffl = 0 dvtp0 = 1e-011
++dvtp1 = 0.05 lpe0 = 0 lpeb = 0 xj = 1.4e-008
++ngate = 1e+023 ndep = 2.44e+018 nsd = 2e+020 phin = 0
++cdsc = 0 cdscb = 0 cdscd = 0 cit = 0
++voff = -0.126 nfactor = 2.1 eta0 = 0.0055 etab = 0
++vfb = 0.55 u0 = 0.02 ua = 2e-009 ub = 5e-019
++uc = 0 vsat = 150000 a0 = 1 ags = 1e-020
++a1 = 0 a2 = 1 b0 = 0 b1 = 0
++keta = -0.047 dwg = 0 dwb = 0 pclm = 0.12
++pdiblc1 = 0.001 pdiblc2 = 0.001 pdiblcb = 3.4e-008 drout = 0.56
++pvag = 1e-020 delta = 0.01 pscbe1 = 8.14e+008 pscbe2 = 9.58e-007
++fprout = 0.2 pdits = 0.08 pditsd = 0.23 pditsl = 2300000
++rsh = 5 rdsw = 155 rsw = 75 rdw = 75
++rdswmin = 0 rdwmin = 0 rswmin = 0 prwg = 0
++prwb = 0 wr = 1 alpha0 = 0.074 alpha1 = 0.005
++beta0 = 30 agidl = 0.0002 bgidl = 2.1e+009 cgidl = 0.0002
++egidl = 0.8 aigbacc = 0.012 bigbacc = 0.0028 cigbacc = 0.002
++nigbacc = 1 aigbinv = 0.014 bigbinv = 0.004 cigbinv = 0.004
++eigbinv = 1.1 nigbinv = 3 aigc = 0.010687 bigc = 0.0012607
++cigc = 0.0008 aigsd = 0.010687 bigsd = 0.0012607 cigsd = 0.0008
++nigc = 1 poxedge = 1 pigcd = 1 ntox = 1
++xrcrg1 = 12 xrcrg2 = 5
+
++cgso = 1.1e-010 cgdo = 1.1e-010 cgbo = 2.56e-011 cgdl = 2.653e-010
++cgsl = 2.653e-010 ckappas = 0.03 ckappad = 0.03 acde = 1
++moin = 15 noff = 0.9 voffcv = 0.02
+
++kt1 = -0.11 kt1l = 0 kt2 = 0.022 ute = -1.5
++ua1 = 4.31e-009 ub1 = 7.61e-018 uc1 = -5.6e-011 prt = 0
++at = 33000
+
++fnoimod = 1 tnoimod = 0
+
++jss = 0.0001 jsws = 1e-011 jswgs = 1e-010 njs = 1
++ijthsfwd= 0.01 ijthsrev= 0.001 bvs = 10 xjbvs = 1
++jsd = 0.0001 jswd = 1e-011 jswgd = 1e-010 njd = 1
++ijthdfwd= 0.01 ijthdrev= 0.001 bvd = 10 xjbvd = 1
++pbs = 1 cjs = 0.0005 mjs = 0.5 pbsws = 1
++cjsws = 5e-010 mjsws = 0.33 pbswgs = 1 cjswgs = 3e-010
++mjswgs = 0.33 pbd = 1 cjd = 0.0005 mjd = 0.5
++pbswd = 1 cjswd = 5e-010 mjswd = 0.33 pbswgd = 1
++cjswgd = 5e-010 mjswgd = 0.33 tpb = 0.005 tcj = 0.001
++tpbsw = 0.005 tcjsw = 0.001 tpbswg = 0.005 tcjswg = 0.001
++xtis = 3 xtid = 3
+
++dmcg = 0 dmci = 0 dmdg = 0 dmcgt = 0
++dwj = 0 xgw = 0 xgl = 0
+
++rshg = 0.4 gbmin = 1e-010 rbpb = 5 rbpd = 15
++rbps = 15 rbdb = 15 rbsb = 15 ngcon = 1
diff --git a/LibNanGate45nm/xnor2.sp b/LibNanGate45nm/xnor2.sp
new file mode 100644
index 0000000..a6fca81
--- /dev/null
+++ b/LibNanGate45nm/xnor2.sp
@@ -0,0 +1,134 @@
+.SUBCKT xnor2 A B VDD VSS ZN
+M_M5 N_3_M0_d N_A_M0_g N_VDD_M0_s VDD PMOS_VTL L=0.050U W=0.135000U AS=0.014175P AD=0.018900P PS=0.480000U PD=0.550000U
+M_M6 N_VDD_M1_d N_B_M1_g N_3_M0_d VDD PMOS_VTL L=0.050U W=0.135000U AS=0.018900P AD=0.030375P PS=0.550000U PD=0.850000U
+M_M7 N_ZN_M2_d N_3_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.270000U AS=0.030375P AD=0.046200P PS=0.850000U PD=1.060000U
+M_M8 noxref_8 N_A_M3_g N_ZN_M2_d VDD PMOS_VTL L=0.050U W=0.390000U AS=0.046200P AD=0.054600P PS=1.060000U PD=1.060000U
+M_M9 N_VDD_M4_d N_B_M4_g noxref_8 VDD PMOS_VTL L=0.050U W=0.390000U AS=0.054600P AD=0.040950P PS=1.060000U PD=0.990000U
+M_M0 9 N_A_M5_g N_3_M5_s VSS NMOS_VTL L=0.050U W=0.130000U AS=0.013650P AD=0.018200P PS=0.470000U PD=0.540000U
+M_M1 N_VSS_M6_d N_B_M6_g 9 VSS NMOS_VTL L=0.050U W=0.130000U AS=0.018200P AD=0.033800P PS=0.540000U PD=0.830000U
+M_M2 N_6_M7_d N_3_M7_g N_VSS_M6_d VSS NMOS_VTL L=0.050U W=0.260000U AS=0.033800P AD=0.036400P PS=0.830000U PD=0.800000U
+M_M3 N_ZN_M8_d N_A_M8_g N_6_M7_d VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.036400P PS=0.800000U PD=0.800000U
+M_M4 N_6_M9_d N_B_M9_g N_ZN_M8_d VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x_PM_XNOR2_X2__VSS_c0 VSS x_PM_XNOR2_X2__VSS_12 4.36937e-17
+C_x_PM_XNOR2_X2__VSS_c1 VSS VSS 1.24374e-16
+C_x_PM_XNOR2_X2__VSS_c2 VSS N_VSS_M6_d 2.1058e-17
+R_x_PM_XNOR2_X2__VSS_r3 x_PM_XNOR2_X2__VSS_12 x_PM_XNOR2_X2__VSS_8 0.0731438
+R_x_PM_XNOR2_X2__VSS_r4 VSS x_PM_XNOR2_X2__VSS_8 0.111765
+R_x_PM_XNOR2_X2__VSS_r5 x_PM_XNOR2_X2__VSS_12 x_PM_XNOR2_X2__VSS_4 0.145286
+R_x_PM_XNOR2_X2__VSS_r6 N_VSS_M6_d x_PM_XNOR2_X2__VSS_4 0.475
+C_x_PM_XNOR2_X2__VDD_c0 VSS x_PM_XNOR2_X2__VDD_22 2.84978e-18
+C_x_PM_XNOR2_X2__VDD_c1 VSS N_VDD_M4_d 1.66877e-17
+C_x_PM_XNOR2_X2__VDD_c2 VSS x_PM_XNOR2_X2__VDD_14 6.36473e-17
+C_x_PM_XNOR2_X2__VDD_c3 VSS N_VDD_M1_d 1.91872e-17
+C_x_PM_XNOR2_X2__VDD_c4 VSS x_PM_XNOR2_X2__VDD_9 1.19767e-17
+C_x_PM_XNOR2_X2__VDD_c5 VSS x_PM_XNOR2_X2__VDD_8 3.1616e-17
+C_x_PM_XNOR2_X2__VDD_c6 VSS N_VDD_M0_s 1.58342e-17
+R_x_PM_XNOR2_X2__VDD_r7 N_VDD_M4_d x_PM_XNOR2_X2__VDD_18 0.420714
+R_x_PM_XNOR2_X2__VDD_r8 x_PM_XNOR2_X2__VDD_22 x_PM_XNOR2_X2__VDD_15 0.0731438
+R_x_PM_XNOR2_X2__VDD_r9 VDD x_PM_XNOR2_X2__VDD_15 0.156471
+R_x_PM_XNOR2_X2__VDD_r10 x_PM_XNOR2_X2__VDD_18 x_PM_XNOR2_X2__VDD_14 0.264221
+R_x_PM_XNOR2_X2__VDD_r11 VDD x_PM_XNOR2_X2__VDD_14 0.994706
+R_x_PM_XNOR2_X2__VDD_r12 x_PM_XNOR2_X2__VDD_22 x_PM_XNOR2_X2__VDD_10 0.145286
+R_x_PM_XNOR2_X2__VDD_r13 N_VDD_M1_d x_PM_XNOR2_X2__VDD_10 0.420714
+R_x_PM_XNOR2_X2__VDD_r14 x_PM_XNOR2_X2__VDD_22 x_PM_XNOR2_X2__VDD_8 0.0731438
+R_x_PM_XNOR2_X2__VDD_r15 x_PM_XNOR2_X2__VDD_9 x_PM_XNOR2_X2__VDD_8 0.681765
+R_x_PM_XNOR2_X2__VDD_r16 x_PM_XNOR2_X2__VDD_9 x_PM_XNOR2_X2__VDD_4 0.264221
+R_x_PM_XNOR2_X2__VDD_r17 N_VDD_M0_s x_PM_XNOR2_X2__VDD_4 0.420714
+C_x_PM_XNOR2_X2__3_c0 VSS x_PM_XNOR2_X2__3_30 1.33441e-17
+C_x_PM_XNOR2_X2__3_c1 VSS x_PM_XNOR2_X2__3_25 5.98463e-17
+C_x_PM_XNOR2_X2__3_c2 VSS N_3_M5_s 1.69065e-17
+C_x_PM_XNOR2_X2__3_c3 VSS N_3_M0_d 5.7841e-17
+C_x_PM_XNOR2_X2__3_c4 VSS x_PM_XNOR2_X2__3_14 5.88192e-18
+C_x_PM_XNOR2_X2__3_c5 VSS x_PM_XNOR2_X2__3_13 1.2329e-17
+C_x_PM_XNOR2_X2__3_c6 VSS x_PM_XNOR2_X2__3_12 3.90058e-17
+C_x_PM_XNOR2_X2__3_c7 VSS N_3_M2_g 4.24395e-17
+C_x_PM_XNOR2_X2__3_c8 VSS N_3_M7_g 8.22755e-17
+R_x_PM_XNOR2_X2__3_r9 x_PM_XNOR2_X2__3_30 x_PM_XNOR2_X2__3_28 7.02
+R_x_PM_XNOR2_X2__3_r10 x_PM_XNOR2_X2__3_28 x_PM_XNOR2_X2__3_25 25.0012
+R_x_PM_XNOR2_X2__3_r11 x_PM_XNOR2_X2__3_25 x_PM_XNOR2_X2__3_23 1.20333
+R_x_PM_XNOR2_X2__3_r12 x_PM_XNOR2_X2__3_23 x_PM_XNOR2_X2__3_15 0.095
+R_x_PM_XNOR2_X2__3_r13 N_3_M0_d x_PM_XNOR2_X2__3_15 1.47929
+R_x_PM_XNOR2_X2__3_r14 x_PM_XNOR2_X2__3_23 x_PM_XNOR2_X2__3_13 0.177333
+R_x_PM_XNOR2_X2__3_r15 x_PM_XNOR2_X2__3_14 x_PM_XNOR2_X2__3_13 0.684
+R_x_PM_XNOR2_X2__3_r16 x_PM_XNOR2_X2__3_14 x_PM_XNOR2_X2__3_12 0.212645
+R_x_PM_XNOR2_X2__3_r17 x_PM_XNOR2_X2__3_11 N_3_M5_s 0.30478
+R_x_PM_XNOR2_X2__3_r18 x_PM_XNOR2_X2__3_12 x_PM_XNOR2_X2__3_11 2.19857
+R_x_PM_XNOR2_X2__3_r19 x_PM_XNOR2_X2__3_30 x_PM_XNOR2_X2__3_5 1.95
+R_x_PM_XNOR2_X2__3_r20 N_3_M2_g x_PM_XNOR2_X2__3_5 36.66
+R_x_PM_XNOR2_X2__3_r21 x_PM_XNOR2_X2__3_30 x_PM_XNOR2_X2__3_VSS 1.95
+R_x_PM_XNOR2_X2__3_r22 N_3_M7_g x_PM_XNOR2_X2__3_VSS 88.14
+C_x_PM_XNOR2_X2__A_c0 VSS x_PM_XNOR2_X2__A_26 8.35302e-18
+C_x_PM_XNOR2_X2__A_c1 VSS A 5.85428e-17
+C_x_PM_XNOR2_X2__A_c2 VSS x_PM_XNOR2_X2__A_20 1.47586e-17
+C_x_PM_XNOR2_X2__A_c3 VSS x_PM_XNOR2_X2__A_17 4.13545e-17
+C_x_PM_XNOR2_X2__A_c4 VSS N_A_M3_g 8.36256e-17
+C_x_PM_XNOR2_X2__A_c5 VSS N_A_M8_g 4.45542e-17
+C_x_PM_XNOR2_X2__A_c6 VSS N_A_M0_g 8.35794e-17
+C_x_PM_XNOR2_X2__A_c7 VSS N_A_M5_g 3.11998e-17
+R_x_PM_XNOR2_X2__A_r8 x_PM_XNOR2_X2__A_33 x_PM_XNOR2_X2__A_26 4.7687
+R_x_PM_XNOR2_X2__A_r9 x_PM_XNOR2_X2__A_32 x_PM_XNOR2_X2__A_26 4.7687
+R_x_PM_XNOR2_X2__A_r10 x_PM_XNOR2_X2__A_26 x_PM_XNOR2_X2__A_24 25.0012
+R_x_PM_XNOR2_X2__A_r11 x_PM_XNOR2_X2__A_24 A 1.29807
+R_x_PM_XNOR2_X2__A_r12 x_PM_XNOR2_X2__A_20 x_PM_XNOR2_X2__A_27 5.46
+R_x_PM_XNOR2_X2__A_r13 x_PM_XNOR2_X2__A_20 x_PM_XNOR2_X2__A_18 25.0012
+R_x_PM_XNOR2_X2__A_r14 A x_PM_XNOR2_X2__A_17 0.170882
+R_x_PM_XNOR2_X2__A_r15 x_PM_XNOR2_X2__A_18 x_PM_XNOR2_X2__A_17 1.09929
+R_x_PM_XNOR2_X2__A_r16 N_A_M3_g x_PM_XNOR2_X2__A_33 81.12
+R_x_PM_XNOR2_X2__A_r17 N_A_M8_g x_PM_XNOR2_X2__A_32 34.32
+R_x_PM_XNOR2_X2__A_r18 x_PM_XNOR2_X2__A_27 x_PM_XNOR2_X2__A_5 1.95
+R_x_PM_XNOR2_X2__A_r19 N_A_M0_g x_PM_XNOR2_X2__A_5 101.01
+R_x_PM_XNOR2_X2__A_r20 x_PM_XNOR2_X2__A_27 x_PM_XNOR2_X2__A_VSS 1.95
+R_x_PM_XNOR2_X2__A_r21 N_A_M5_g x_PM_XNOR2_X2__A_VSS 24.18
+C_x_PM_XNOR2_X2__B_c0 VSS x_PM_XNOR2_X2__B_35 1.37122e-17
+C_x_PM_XNOR2_X2__B_c1 VSS x_PM_XNOR2_X2__B_22 5.13638e-17
+C_x_PM_XNOR2_X2__B_c2 VSS x_PM_XNOR2_X2__B_20 8.5015e-18
+C_x_PM_XNOR2_X2__B_c3 VSS x_PM_XNOR2_X2__B_17 9.56293e-17
+C_x_PM_XNOR2_X2__B_c4 VSS N_B_M4_g 5.72893e-17
+C_x_PM_XNOR2_X2__B_c5 VSS N_B_M9_g 7.47254e-17
+C_x_PM_XNOR2_X2__B_c6 VSS N_B_M1_g 6.02432e-17
+C_x_PM_XNOR2_X2__B_c7 VSS N_B_M6_g 5.15283e-17
+R_x_PM_XNOR2_X2__B_r8 x_PM_XNOR2_X2__B_35 x_PM_XNOR2_X2__B_28 4.94
+R_x_PM_XNOR2_X2__B_r9 x_PM_XNOR2_X2__B_28 x_PM_XNOR2_X2__B_26 25.0012
+R_x_PM_XNOR2_X2__B_r10 x_PM_XNOR2_X2__B_26 B 0.0076
+R_x_PM_XNOR2_X2__B_r11 B x_PM_XNOR2_X2__B_22 0.1216
+R_x_PM_XNOR2_X2__B_r12 x_PM_XNOR2_X2__B_32 x_PM_XNOR2_X2__B_20 4.7687
+R_x_PM_XNOR2_X2__B_r13 x_PM_XNOR2_X2__B_31 x_PM_XNOR2_X2__B_20 4.7687
+R_x_PM_XNOR2_X2__B_r14 x_PM_XNOR2_X2__B_20 x_PM_XNOR2_X2__B_18 25.0012
+R_x_PM_XNOR2_X2__B_r15 x_PM_XNOR2_X2__B_22 x_PM_XNOR2_X2__B_17 0.095
+R_x_PM_XNOR2_X2__B_r16 x_PM_XNOR2_X2__B_18 x_PM_XNOR2_X2__B_17 2.34786
+R_x_PM_XNOR2_X2__B_r17 x_PM_XNOR2_X2__B_35 x_PM_XNOR2_X2__B_13 1.95
+R_x_PM_XNOR2_X2__B_r18 N_B_M4_g x_PM_XNOR2_X2__B_13 42.12
+R_x_PM_XNOR2_X2__B_r19 x_PM_XNOR2_X2__B_35 x_PM_XNOR2_X2__B_9 1.95
+R_x_PM_XNOR2_X2__B_r20 N_B_M9_g x_PM_XNOR2_X2__B_9 73.32
+R_x_PM_XNOR2_X2__B_r21 N_B_M1_g x_PM_XNOR2_X2__B_32 69.03
+R_x_PM_XNOR2_X2__B_r22 N_B_M6_g x_PM_XNOR2_X2__B_31 56.16
+C_x_PM_XNOR2_X2__6_c0 VSS x_PM_XNOR2_X2__6_10 3.17166e-17
+C_x_PM_XNOR2_X2__6_c1 VSS x_PM_XNOR2_X2__6_5 3.10631e-17
+C_x_PM_XNOR2_X2__6_c2 VSS x_PM_XNOR2_X2__6_3 7.84652e-17
+R_x_PM_XNOR2_X2__6_r3 N_6_M7_d x_PM_XNOR2_X2__6_5 0.176429
+R_x_PM_XNOR2_X2__6_r4 x_PM_XNOR2_X2__6_5 x_PM_XNOR2_X2__6_4 0.095
+R_x_PM_XNOR2_X2__6_r5 x_PM_XNOR2_X2__6_10 x_PM_XNOR2_X2__6_3 0.095
+R_x_PM_XNOR2_X2__6_r6 x_PM_XNOR2_X2__6_4 x_PM_XNOR2_X2__6_3 1.62857
+R_x_PM_XNOR2_X2__6_r7 N_6_M9_d x_PM_XNOR2_X2__6_10 0.176429
+C_x_PM_XNOR2_X2__ZN_c0 VSS ZN 5.50502e-17
+C_x_PM_XNOR2_X2__ZN_c1 VSS x_PM_XNOR2_X2__ZN_10 2.92707e-17
+C_x_PM_XNOR2_X2__ZN_c2 VSS x_PM_XNOR2_X2__ZN_9 3.02253e-17
+C_x_PM_XNOR2_X2__ZN_c3 VSS x_PM_XNOR2_X2__ZN_8 8.04002e-18
+C_x_PM_XNOR2_X2__ZN_c4 VSS x_PM_XNOR2_X2__ZN_7 4.2133e-17
+C_x_PM_XNOR2_X2__ZN_c5 VSS N_ZN_M2_d 3.84059e-17
+R_x_PM_XNOR2_X2__ZN_r6 ZN x_PM_XNOR2_X2__ZN_12 1.11286
+R_x_PM_XNOR2_X2__ZN_r7 ZN x_PM_XNOR2_X2__ZN_11 1.9
+R_x_PM_XNOR2_X2__ZN_r8 x_PM_XNOR2_X2__ZN_10 N_ZN_M8_d 0.297071
+R_x_PM_XNOR2_X2__ZN_r9 x_PM_XNOR2_X2__ZN_11 x_PM_XNOR2_X2__ZN_9 0.212317
+R_x_PM_XNOR2_X2__ZN_r10 x_PM_XNOR2_X2__ZN_10 x_PM_XNOR2_X2__ZN_9 0.407143
+R_x_PM_XNOR2_X2__ZN_r11 x_PM_XNOR2_X2__ZN_12 x_PM_XNOR2_X2__ZN_7 0.212317
+R_x_PM_XNOR2_X2__ZN_r12 x_PM_XNOR2_X2__ZN_8 x_PM_XNOR2_X2__ZN_7 1.60143
+R_x_PM_XNOR2_X2__ZN_r13 x_PM_XNOR2_X2__ZN_8 x_PM_XNOR2_X2__ZN_3 0.212317
+R_x_PM_XNOR2_X2__ZN_r14 N_ZN_M2_d x_PM_XNOR2_X2__ZN_3 0.746429
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/LibNanGate45nm/xor2.sp b/LibNanGate45nm/xor2.sp
new file mode 100644
index 0000000..bc1d068
--- /dev/null
+++ b/LibNanGate45nm/xor2.sp
@@ -0,0 +1,131 @@
+.SUBCKT xor2 A B VDD VSS Z
+M_M5 8 N_A_M0_g N_3_M0_s VDD PMOS_VTL L=0.050U W=0.195000U AS=0.020475P AD=0.027300P PS=0.600000U PD=0.670000U
+M_M6 N_VDD_M1_d N_B_M1_g 8 VDD PMOS_VTL L=0.050U W=0.195000U AS=0.027300P AD=0.040950P PS=0.670000U PD=1.060000U
+M_M7 N_7_M2_d N_3_M2_g N_VDD_M1_d VDD PMOS_VTL L=0.050U W=0.390000U AS=0.040950P AD=0.060450P PS=1.060000U PD=1.090000U
+M_M8 N_Z_M3_d N_A_M3_g N_7_M2_d VDD PMOS_VTL L=0.050U W=0.390000U AS=0.060450P AD=0.054600P PS=1.090000U PD=1.060000U
+M_M9 N_7_M4_d N_B_M4_g N_Z_M3_d VDD PMOS_VTL L=0.050U W=0.390000U AS=0.054600P AD=0.040950P PS=1.060000U PD=0.990000U
+M_M0 N_3_M5_d N_A_M5_g N_VSS_M5_s VSS NMOS_VTL L=0.050U W=0.090000U AS=0.009450P AD=0.012600P PS=0.390000U PD=0.460000U
+M_M1 N_VSS_M6_d N_B_M6_g N_3_M5_d VSS NMOS_VTL L=0.050U W=0.090000U AS=0.012600P AD=0.018900P PS=0.460000U PD=0.640000U
+M_M2 N_Z_M7_d N_3_M7_g N_VSS_M6_d VSS NMOS_VTL L=0.050U W=0.180000U AS=0.018900P AD=0.033500P PS=0.640000U PD=0.830000U
+M_M3 noxref_9 N_A_M8_g N_Z_M7_d VSS NMOS_VTL L=0.050U W=0.260000U AS=0.033500P AD=0.036400P PS=0.830000U PD=0.800000U
+M_M4 N_VSS_M9_d N_B_M9_g noxref_9 VSS NMOS_VTL L=0.050U W=0.260000U AS=0.036400P AD=0.027300P PS=0.800000U PD=0.730000U
+C_x_PM_XOR2_X2__VSS_c0 VSS x_PM_XOR2_X2__VSS_22 2.92244e-18
+C_x_PM_XOR2_X2__VSS_c1 VSS N_VSS_M9_d 1.78745e-17
+C_x_PM_XOR2_X2__VSS_c2 VSS x_PM_XOR2_X2__VSS_14 6.68756e-17
+C_x_PM_XOR2_X2__VSS_c3 VSS N_VSS_M6_d 3.00222e-17
+C_x_PM_XOR2_X2__VSS_c4 VSS x_PM_XOR2_X2__VSS_9 1.09715e-17
+C_x_PM_XOR2_X2__VSS_c5 VSS x_PM_XOR2_X2__VSS_8 3.03506e-17
+C_x_PM_XOR2_X2__VSS_c6 VSS N_VSS_M5_s 2.75676e-17
+R_x_PM_XOR2_X2__VSS_r7 N_VSS_M9_d x_PM_XOR2_X2__VSS_18 0.230714
+R_x_PM_XOR2_X2__VSS_r8 x_PM_XOR2_X2__VSS_22 x_PM_XOR2_X2__VSS_15 0.0731438
+R_x_PM_XOR2_X2__VSS_r9 VSS x_PM_XOR2_X2__VSS_15 0.19
+R_x_PM_XOR2_X2__VSS_r10 x_PM_XOR2_X2__VSS_18 x_PM_XOR2_X2__VSS_14 0.264221
+R_x_PM_XOR2_X2__VSS_r11 VSS x_PM_XOR2_X2__VSS_14 0.961176
+R_x_PM_XOR2_X2__VSS_r12 x_PM_XOR2_X2__VSS_22 x_PM_XOR2_X2__VSS_10 0.145286
+R_x_PM_XOR2_X2__VSS_r13 N_VSS_M6_d x_PM_XOR2_X2__VSS_10 0.665
+R_x_PM_XOR2_X2__VSS_r14 x_PM_XOR2_X2__VSS_22 x_PM_XOR2_X2__VSS_8 0.0731438
+R_x_PM_XOR2_X2__VSS_r15 x_PM_XOR2_X2__VSS_9 x_PM_XOR2_X2__VSS_8 0.681765
+R_x_PM_XOR2_X2__VSS_r16 x_PM_XOR2_X2__VSS_9 x_PM_XOR2_X2__VSS_4 0.264221
+R_x_PM_XOR2_X2__VSS_r17 N_VSS_M5_s x_PM_XOR2_X2__VSS_4 0.665
+C_x_PM_XOR2_X2__VDD_c0 VSS x_PM_XOR2_X2__VDD_11 5.06462e-17
+C_x_PM_XOR2_X2__VDD_c1 VSS x_PM_XOR2_X2__VDD_8 9.04239e-17
+C_x_PM_XOR2_X2__VDD_c2 VSS N_VDD_M1_d 1.60113e-17
+R_x_PM_XOR2_X2__VDD_r3 x_PM_XOR2_X2__VDD_11 x_PM_XOR2_X2__VDD_8 0.0731438
+R_x_PM_XOR2_X2__VDD_r4 VDD x_PM_XOR2_X2__VDD_8 0.178824
+R_x_PM_XOR2_X2__VDD_r5 x_PM_XOR2_X2__VDD_11 x_PM_XOR2_X2__VDD_4 0.145286
+R_x_PM_XOR2_X2__VDD_r6 N_VDD_M1_d x_PM_XOR2_X2__VDD_4 0.230714
+C_x_PM_XOR2_X2__3_c0 VSS x_PM_XOR2_X2__3_32 1.23496e-17
+C_x_PM_XOR2_X2__3_c1 VSS x_PM_XOR2_X2__3_24 2.62007e-17
+C_x_PM_XOR2_X2__3_c2 VSS x_PM_XOR2_X2__3_23 5.632e-18
+C_x_PM_XOR2_X2__3_c3 VSS x_PM_XOR2_X2__3_21 2.20346e-17
+C_x_PM_XOR2_X2__3_c4 VSS N_3_M5_d 4.51028e-17
+C_x_PM_XOR2_X2__3_c5 VSS x_PM_XOR2_X2__3_16 1.44792e-17
+C_x_PM_XOR2_X2__3_c6 VSS x_PM_XOR2_X2__3_15 1.10108e-17
+C_x_PM_XOR2_X2__3_c7 VSS N_3_M0_s 9.96232e-17
+C_x_PM_XOR2_X2__3_c8 VSS N_3_M2_g 9.32321e-17
+C_x_PM_XOR2_X2__3_c9 VSS N_3_M7_g 2.97214e-17
+R_x_PM_XOR2_X2__3_r10 x_PM_XOR2_X2__3_32 x_PM_XOR2_X2__3_30 5.46
+R_x_PM_XOR2_X2__3_r11 x_PM_XOR2_X2__3_30 x_PM_XOR2_X2__3_27 25.0012
+R_x_PM_XOR2_X2__3_r12 x_PM_XOR2_X2__3_27 x_PM_XOR2_X2__3_24 0.176429
+R_x_PM_XOR2_X2__3_r13 x_PM_XOR2_X2__3_23 x_PM_XOR2_X2__3_22 0.160909
+R_x_PM_XOR2_X2__3_r14 x_PM_XOR2_X2__3_24 x_PM_XOR2_X2__3_21 0.095
+R_x_PM_XOR2_X2__3_r15 x_PM_XOR2_X2__3_22 x_PM_XOR2_X2__3_21 0.895714
+R_x_PM_XOR2_X2__3_r16 x_PM_XOR2_X2__3_23 x_PM_XOR2_X2__3_17 0.0418175
+R_x_PM_XOR2_X2__3_r17 N_3_M5_d x_PM_XOR2_X2__3_17 0.800714
+R_x_PM_XOR2_X2__3_r18 x_PM_XOR2_X2__3_23 x_PM_XOR2_X2__3_15 0.160909
+R_x_PM_XOR2_X2__3_r19 x_PM_XOR2_X2__3_16 x_PM_XOR2_X2__3_15 0.624286
+R_x_PM_XOR2_X2__3_r20 x_PM_XOR2_X2__3_16 x_PM_XOR2_X2__3_11 0.212645
+R_x_PM_XOR2_X2__3_r21 N_3_M0_s x_PM_XOR2_X2__3_11 3.61
+R_x_PM_XOR2_X2__3_r22 x_PM_XOR2_X2__3_32 x_PM_XOR2_X2__3_5 1.95
+R_x_PM_XOR2_X2__3_r23 N_3_M2_g x_PM_XOR2_X2__3_5 99.84
+R_x_PM_XOR2_X2__3_r24 x_PM_XOR2_X2__3_32 x_PM_XOR2_X2__3_VSS 1.95
+R_x_PM_XOR2_X2__3_r25 N_3_M7_g x_PM_XOR2_X2__3_VSS 21.84
+C_x_PM_XOR2_X2__A_c0 VSS x_PM_XOR2_X2__A_36 1.60834e-17
+C_x_PM_XOR2_X2__A_c1 VSS x_PM_XOR2_X2__A_26 1.21081e-17
+C_x_PM_XOR2_X2__A_c2 VSS x_PM_XOR2_X2__A_22 6.23618e-17
+C_x_PM_XOR2_X2__A_c3 VSS x_PM_XOR2_X2__A_18 8.15108e-17
+C_x_PM_XOR2_X2__A_c4 VSS N_A_M3_g 5.31977e-17
+C_x_PM_XOR2_X2__A_c5 VSS N_A_M8_g 8.25873e-17
+C_x_PM_XOR2_X2__A_c6 VSS N_A_M0_g 5.15027e-17
+C_x_PM_XOR2_X2__A_c7 VSS N_A_M5_g 8.25861e-17
+R_x_PM_XOR2_X2__A_r8 x_PM_XOR2_X2__A_26 x_PM_XOR2_X2__A_30 3.9
+R_x_PM_XOR2_X2__A_r9 x_PM_XOR2_X2__A_26 x_PM_XOR2_X2__A_24 25.0012
+R_x_PM_XOR2_X2__A_r10 A x_PM_XOR2_X2__A_24 0.124483
+R_x_PM_XOR2_X2__A_r11 x_PM_XOR2_X2__A_24 x_PM_XOR2_X2__A_22 0.0851724
+R_x_PM_XOR2_X2__A_r12 x_PM_XOR2_X2__A_36 x_PM_XOR2_X2__A_20 7.02
+R_x_PM_XOR2_X2__A_r13 x_PM_XOR2_X2__A_20 x_PM_XOR2_X2__A_18 25.0012
+R_x_PM_XOR2_X2__A_r14 x_PM_XOR2_X2__A_22 x_PM_XOR2_X2__A_17 0.095
+R_x_PM_XOR2_X2__A_r15 x_PM_XOR2_X2__A_18 x_PM_XOR2_X2__A_17 1.995
+R_x_PM_XOR2_X2__A_r16 x_PM_XOR2_X2__A_36 x_PM_XOR2_X2__A_13 1.95
+R_x_PM_XOR2_X2__A_r17 N_A_M3_g x_PM_XOR2_X2__A_13 39
+R_x_PM_XOR2_X2__A_r18 x_PM_XOR2_X2__A_36 x_PM_XOR2_X2__A_9 1.95
+R_x_PM_XOR2_X2__A_r19 N_A_M8_g x_PM_XOR2_X2__A_9 88.92
+R_x_PM_XOR2_X2__A_r20 x_PM_XOR2_X2__A_30 x_PM_XOR2_X2__A_5 1.95
+R_x_PM_XOR2_X2__A_r21 N_A_M0_g x_PM_XOR2_X2__A_5 48.75
+R_x_PM_XOR2_X2__A_r22 x_PM_XOR2_X2__A_30 x_PM_XOR2_X2__A_VSS 1.95
+R_x_PM_XOR2_X2__A_r23 N_A_M5_g x_PM_XOR2_X2__A_VSS 95.16
+C_x_PM_XOR2_X2__B_c0 VSS x_PM_XOR2_X2__B_35 1.25048e-17
+C_x_PM_XOR2_X2__B_c1 VSS x_PM_XOR2_X2__B_24 8.22451e-18
+C_x_PM_XOR2_X2__B_c2 VSS x_PM_XOR2_X2__B_22 3.95314e-17
+C_x_PM_XOR2_X2__B_c3 VSS x_PM_XOR2_X2__B_18 1.2109e-16
+C_x_PM_XOR2_X2__B_c4 VSS N_B_M4_g 6.79516e-17
+C_x_PM_XOR2_X2__B_c5 VSS N_B_M9_g 6.48967e-17
+C_x_PM_XOR2_X2__B_c6 VSS N_B_M1_g 7.2975e-17
+C_x_PM_XOR2_X2__B_c7 VSS N_B_M6_g 5.17135e-17
+R_x_PM_XOR2_X2__B_r8 x_PM_XOR2_X2__B_28 B 0.095
+R_x_PM_XOR2_X2__B_r9 x_PM_XOR2_X2__B_32 x_PM_XOR2_X2__B_24 4.7687
+R_x_PM_XOR2_X2__B_r10 x_PM_XOR2_X2__B_31 x_PM_XOR2_X2__B_24 4.7687
+R_x_PM_XOR2_X2__B_r11 x_PM_XOR2_X2__B_24 x_PM_XOR2_X2__B_22 25.0012
+R_x_PM_XOR2_X2__B_r12 B x_PM_XOR2_X2__B_22 0.00730769
+R_x_PM_XOR2_X2__B_r13 x_PM_XOR2_X2__B_35 x_PM_XOR2_X2__B_20 4.42
+R_x_PM_XOR2_X2__B_r14 x_PM_XOR2_X2__B_20 x_PM_XOR2_X2__B_18 25.0012
+R_x_PM_XOR2_X2__B_r15 x_PM_XOR2_X2__B_28 x_PM_XOR2_X2__B_17 0.095
+R_x_PM_XOR2_X2__B_r16 x_PM_XOR2_X2__B_18 x_PM_XOR2_X2__B_17 2.64733
+R_x_PM_XOR2_X2__B_r17 x_PM_XOR2_X2__B_35 x_PM_XOR2_X2__B_13 1.95
+R_x_PM_XOR2_X2__B_r18 N_B_M4_g x_PM_XOR2_X2__B_13 65.52
+R_x_PM_XOR2_X2__B_r19 x_PM_XOR2_X2__B_35 x_PM_XOR2_X2__B_9 1.95
+R_x_PM_XOR2_X2__B_r20 N_B_M9_g x_PM_XOR2_X2__B_9 62.4
+R_x_PM_XOR2_X2__B_r21 N_B_M1_g x_PM_XOR2_X2__B_32 85.41
+R_x_PM_XOR2_X2__B_r22 N_B_M6_g x_PM_XOR2_X2__B_31 58.5
+C_x_PM_XOR2_X2__Z_c0 VSS x_PM_XOR2_X2__Z_16 2.93962e-17
+C_x_PM_XOR2_X2__Z_c1 VSS x_PM_XOR2_X2__Z_14 2.66606e-17
+C_x_PM_XOR2_X2__Z_c2 VSS x_PM_XOR2_X2__Z_13 2.89113e-17
+C_x_PM_XOR2_X2__Z_c3 VSS Z 3.24504e-17
+C_x_PM_XOR2_X2__Z_c4 VSS x_PM_XOR2_X2__Z_3 9.34374e-17
+R_x_PM_XOR2_X2__Z_r5 x_PM_XOR2_X2__Z_16 x_PM_XOR2_X2__Z_15 1.87286
+R_x_PM_XOR2_X2__Z_r6 x_PM_XOR2_X2__Z_16 x_PM_XOR2_X2__Z_13 0.212317
+R_x_PM_XOR2_X2__Z_r7 x_PM_XOR2_X2__Z_14 x_PM_XOR2_X2__Z_13 0.787143
+R_x_PM_XOR2_X2__Z_r8 N_Z_M3_d Z 0.257857
+R_x_PM_XOR2_X2__Z_r9 x_PM_XOR2_X2__Z_14 x_PM_XOR2_X2__Z_7 0.212317
+R_x_PM_XOR2_X2__Z_r10 Z x_PM_XOR2_X2__Z_7 0.407143
+R_x_PM_XOR2_X2__Z_r11 x_PM_XOR2_X2__Z_15 x_PM_XOR2_X2__Z_3 0.244544
+R_x_PM_XOR2_X2__Z_r12 N_Z_M7_d x_PM_XOR2_X2__Z_3 1.01107
+C_x_PM_XOR2_X2__7_c0 VSS N_7_M4_d 7.56582e-17
+R_x_PM_XOR2_X2__7_r1 N_7_M4_d N_7_M2_d 2.03571
+.ENDS
+
+********************************************************************************
+*
+* END
+*
+********************************************************************************
diff --git a/PLODE.pro b/PLODE.pro
new file mode 100644
index 0000000..eec1ee4
--- /dev/null
+++ b/PLODE.pro
@@ -0,0 +1,51 @@
+QT += core gui
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+QT += charts
+QT += multimedia
+CONFIG += c++17
+LIBS += -lstdc++fs
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+ PLODELib.cpp \
+ Utils.cpp \
+ circuit.cpp \
+ circuitelement.cpp \
+ currentcircuit.cpp \
+ delayparser.cpp \
+ main.cpp \
+ mainwindow.cpp \
+ singlepath.cpp \
+ variationmodel.cpp
+
+HEADERS += \
+ PLODELib.h \
+ Utils.h \
+ circuit.h \
+ circuitelement.h \
+ currentcircuit.h \
+ delayparser.h \
+ mainwindow.h \
+ singlepath.h \
+ variationmodel.h
+
+FORMS += \
+ mainwindow.ui
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+RESOURCES += \
+ Resources/Resources.qrc
diff --git a/PLODE.pro.user b/PLODE.pro.user
new file mode 100644
index 0000000..467790e
--- /dev/null
+++ b/PLODE.pro.user
@@ -0,0 +1,390 @@
+
+
+
+
+
+ EnvironmentId
+ {6d7e592c-258c-4c7f-92d5-3c4f5c1bcf8d}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ *.md, *.MD, Makefile
+ false
+ true
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+ true
+ true
+ true
+ true
+
+
+ 0
+ true
+
+ true
+ Builtin.Questionable
+
+ true
+ true
+ Builtin.DefaultTidyAndClazy
+ 2
+
+
+
+ true
+
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop
+ Desktop Qt 5.15.2 GCC 64bit
+ Desktop Qt 5.15.2 GCC 64bit
+ qt.qt5.5152.gcc_64_kit
+ 0
+ 0
+ 1
+
+ 0
+ /home/rehin/eda_tools/ICCD/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Debug
+ /home/rehin/eda_tools/ICCD/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Debug
+
+
+ true
+ QtProjectManager.QMakeBuildStep
+
+ false
+
+
+
+ true
+ Qt4ProjectManager.MakeStep
+
+ 2
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Qt4ProjectManager.MakeStep
+ clean
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ 0
+
+
+ /home/rehin/eda_tools/abayrakci-github/PLODE/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Release
+ /home/rehin/eda_tools/abayrakci-github/PLODE/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Release
+
+
+ true
+ QtProjectManager.QMakeBuildStep
+
+ false
+
+
+
+ true
+ Qt4ProjectManager.MakeStep
+
+ 2
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Qt4ProjectManager.MakeStep
+ clean
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ 0
+ 0
+
+
+ 0
+ /home/rehin/eda_tools/abayrakci-github/PLODE/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Profile
+ /home/rehin/eda_tools/abayrakci-github/PLODE/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Profile
+
+
+ true
+ QtProjectManager.QMakeBuildStep
+
+ false
+
+
+
+ true
+ Qt4ProjectManager.MakeStep
+
+ 2
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Qt4ProjectManager.MakeStep
+ clean
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+
+ Profile
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ 0
+ 0
+ 0
+
+ 3
+
+
+ 0
+ Deploy
+ Deploy
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+
+ false
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+ dwarf
+
+ cpu-cycles
+
+
+ 250
+
+ -e
+ cpu-cycles
+ --call-graph
+ dwarf,4096
+ -F
+ 250
+
+ -F
+ true
+ 4096
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ kcachegrind
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+
+ 2
+
+ PLODE2
+ Qt4ProjectManager.Qt4RunConfiguration:/home/rehin/eda_tools/ICCD/plode-main/PLODE.pro
+ /home/rehin/eda_tools/ICCD/plode-main/PLODE.pro
+ false
+ true
+ true
+ false
+ true
+ /home/rehin/eda_tools/ICCD/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Debug
+
+
+ dwarf
+
+ cpu-cycles
+
+
+ 250
+
+ -e
+ cpu-cycles
+ --call-graph
+ dwarf,4096
+ -F
+ 250
+
+ -F
+ true
+ 4096
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ kcachegrind
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+
+ 2
+
+ Qt4ProjectManager.Qt4RunConfiguration:/home/rehin/eda_tools/ICCD/plode-main/PLODE.pro
+ /home/rehin/eda_tools/ICCD/plode-main/PLODE.pro
+ false
+ true
+ true
+ false
+ true
+ /home/rehin/eda_tools/ICCD/build-PLODE-Desktop_Qt_5_15_2_GCC_64bit-Debug
+
+ 2
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 22
+
+
+ Version
+ 22
+
+
diff --git a/PLODELib.cpp b/PLODELib.cpp
new file mode 100644
index 0000000..408687d
--- /dev/null
+++ b/PLODELib.cpp
@@ -0,0 +1,888 @@
+#include "PLODELib.h"
+
+int andcount = 0;
+int orcount = 0;
+int nandcount = 0;
+int norcount = 0;
+int xorcount = 0;
+int xnorcount = 0;
+int notcount = 0;
+int bufcount = 0;
+int oaicount = 0;
+int dffcount = 0;
+
+int subcircuitCount = 0;
+double PLODELib::simulationDuration = 0;
+double PLODELib::totalSimulationTime = 0;
+std::map>> PLODELib::inputsVoltageTimeList;
+std::map>> PLODELib::outputsVoltageTimeList;
+DelayParser PLODELib::delayParser;
+
+void addHeadersToSpiceFile(Circuit & circuit, std::string filename, std::string library_path){
+ char buffer[256];
+ getcwd(buffer, 256 );
+ std::ofstream conversionFile;
+ conversionFile.open(filename);
+ conversionFile << circuit.circuitName << std::endl;
+
+ for(const auto& entry : std::experimental::filesystem::directory_iterator(library_path)){
+ std::cout << entry.path() << std::endl;
+ conversionFile << ".include " << entry.path().string()<< std::endl;
+
+ }
+
+ conversionFile <<"Vx Vsup Vcc 0"<< std::endl;
+
+ conversionFile << ".control" << std::endl;
+ conversionFile << "set filetype = ascii" << std::endl;
+ conversionFile << ".endc" << std::endl << std::endl;
+
+ conversionFile.close();
+}
+void convertContents(Circuit & circuit, std::string filename, bool isSubcircuit){
+ std::ofstream conversionFile;
+ conversionFile.open(filename, std::ofstream::app);
+ for (auto adj : circuit.adjacencyList){
+ if(conversionFile.is_open()){
+ std::vector inputs;
+ std::vector outputs;
+ std::string inputsString;
+ std::string outputsString;
+ for (auto a : circuit.adjacencyList) {
+ for (auto s : a.second) {
+ if (s.elementName == adj.first.elementName && (a.first.elementType == CircuitElementType::INPUT || a.first.elementType == CircuitElementType::WIRE)) {
+ inputs.push_back(a.first);
+ }
+ }
+ }
+ for (auto a : circuit.adjacencyList) {
+ if (a.first.elementName == adj.first.elementName) {
+ for (auto s : a.second) {
+ if(s.elementType == CircuitElementType::OUTPUT || s.elementType == CircuitElementType::WIRE){
+ outputs.push_back(s);
+ }
+ }
+ }
+ }
+
+ for(auto i: inputs){
+ inputsString += i.elementName + " ";
+ }
+ for(auto o: outputs){
+ outputsString += o.elementName + " ";
+ }
+ if(adj.first.elementType == CircuitElementType::AND){
+ std::string andname = "Xand" + std::to_string(andcount);
+ andcount++;
+ if(!isSubcircuit){
+ conversionFile << andname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << andname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 2:
+ conversionFile << "and2" << std::endl;
+ break;
+ case 3: conversionFile << "and3" << std::endl;
+ break;
+ case 4: conversionFile << "and4" << std::endl;
+ break;
+ case 5: conversionFile << "and5" << std::endl;
+ break;
+ case 8: conversionFile << "and8" << std::endl;
+ break;
+ case 9: conversionFile << "and9" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::OR){
+ std::string orname = "Xor" + std::to_string(orcount);
+ orcount++;
+ if(!isSubcircuit){
+ conversionFile << orname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << orname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+
+ switch (inputs.size()) {
+ case 2: conversionFile << "or2" << std::endl;
+ break;
+ case 3: conversionFile << "or3" << std::endl;
+ break;
+ case 4: conversionFile << "or4" << std::endl;
+ break;
+ case 5: conversionFile << "or5" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::NAND){
+ std::string nandname = "Xnand" + std::to_string(nandcount);
+ nandcount++;
+ if(!isSubcircuit){
+ conversionFile << nandname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << nandname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+
+ switch (inputs.size()) {
+ case 2: conversionFile << "nand2" << std::endl;
+ break;
+ case 3: conversionFile << "nand3" << std::endl;
+ break;
+ case 4: conversionFile << "nand4" << std::endl;
+ break;
+ case 5: conversionFile << "nand5" << std::endl;
+ break;
+ case 8: conversionFile << "nand8" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::NOR){
+ std::string norname = "Xnor" + std::to_string(norcount);
+ norcount++;
+ if(!isSubcircuit){
+ conversionFile << norname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << norname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 2: conversionFile << "nor2" << std::endl;
+ break;
+ case 3: conversionFile << "nor3" << std::endl;
+ break;
+ case 4: conversionFile << "nor4" << std::endl;
+ break;
+ case 8: conversionFile << "nor8" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::XOR){
+ std::string xorname = "Xxor" + std::to_string(xorcount);
+ xorcount++;
+ if(!isSubcircuit){
+ conversionFile << xorname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << xorname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 2: conversionFile << "xor2" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::XNOR){
+ std::string xnorname = "Xxnor" + std::to_string(xnorcount);
+ xnorcount++;
+ if(!isSubcircuit){
+ conversionFile << xnorname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << xnorname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 2: conversionFile << "xnor2" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::NOT){
+ std::string notname = "Xnot" + std::to_string(notcount);
+ notcount++;
+ if(!isSubcircuit){
+ conversionFile << notname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << notname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 1: conversionFile << "not1" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::BUF){
+ std::string bufname = "Xbuf" + std::to_string(bufcount);
+ bufcount++;
+ if(!isSubcircuit){
+ conversionFile << bufname << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << bufname << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 1: conversionFile << "buf1" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::OAI3){
+ std::string oainame = "Xoai" + std::to_string(oaicount);
+ oaicount++;
+ if(!isSubcircuit){
+ conversionFile << oainame << " " << inputsString << "Vcc gnd " << outputsString;
+ }
+ else{
+ conversionFile << oainame << " " << inputsString << "Vcc Vss " << outputsString;
+ }
+ switch (inputs.size()) {
+ case 3: conversionFile << "oai3" << std::endl;
+ break;
+ default:
+ break;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::DFF){
+ std::string dffname = "Xdff" + std::to_string(dffcount);
+ dffcount++;
+ if(!isSubcircuit){
+ conversionFile << dffname << " " << inputs.at(0).elementName << " " << outputsString << inputs.at(1).elementName << " Vcc gnd DFF_X2" << std::endl;
+ }
+ else{
+ conversionFile << dffname << " " << outputsString << inputsString << "Vcc Vss DFF_X2" << std::endl;
+ }
+ }
+ else if(adj.first.elementType == CircuitElementType::SUBCIRCUIT){
+ std::string submoduleName = "Xsc" + std::to_string(subcircuitCount);
+ subcircuitCount++;
+ std::string inputLine = "";
+ std::string outputLine = "";
+
+ for(auto input : adj.first.getInputOrder()){
+ inputLine += input + " ";
+ }
+ for(auto output: adj.first.getOutputOrder()){
+ outputLine += output + " ";
+ }
+
+ if(!isSubcircuit){
+ conversionFile << submoduleName << " " << inputLine << "Vcc gnd " << outputLine;
+ }
+ else{
+ conversionFile << submoduleName << " " << inputLine << "Vcc Vss " << outputLine;
+ }
+ conversionFile << adj.first.subcircuitType << std::endl;
+ }
+
+ }
+ }
+ conversionFile.close();
+}
+std::string PLODELib::convertFromVerilogToSpice(Circuit & circuit, std::string library_path)
+{
+ std::string filename = "Converted/" + circuit.circuitName + ".sp";
+ std::ofstream conversionFile;
+ conversionFile.open(filename, std::ofstream::app);
+
+ addHeadersToSpiceFile(circuit, filename, library_path);
+ conversionFile << "******************* SUBCIRCUIT DEFINITIONS *******************" << std::endl;
+ conversionFile.close();
+ addSubcircuitsToSpiceFile(circuit, filename);
+ conversionFile.open(filename, std::ofstream::app);
+ conversionFile << "************************ MAIN CIRCUIT ************************" << std::endl;
+ convertContents(circuit, filename, false);
+ conversionFile.close();
+
+ return filename;
+}
+
+
+void PLODELib::addSubcircuitsToSpiceFile(Circuit & circuit, std::string filename){
+ if(circuit.submoduleConnectionMethod == Circuit::SubmoduleConnectionMethod::spiceSubcircuitMethod){
+ std::ofstream conversionFile;
+ conversionFile.open(filename, std::ofstream::app);
+ for(auto subcircuit: circuit.submodules){
+ std::string subsktString = ".subckt " + subcircuit.circuitName + " ";
+ for(auto input: subcircuit.inputs){
+ subsktString += input + " ";
+ }
+ subsktString += "Vcc Vss ";
+ for(auto output: subcircuit.outputs){
+ subsktString += output + " ";
+ }
+ conversionFile << subsktString << std::endl;
+ convertContents(subcircuit, filename, true);
+ conversionFile << ".ends" << std::endl;
+ }
+ }
+
+}
+QChartView* PLODELib::createPowerGraph(std::string file_name, double supplyvoltage){
+ std::ifstream sim_file;
+ std::string line;
+ std::vector file_content;
+
+ sim_file.open(file_name);
+
+ if(!sim_file.is_open()){
+ throw std::invalid_argument("Error: createPowerGraph: wrong file given");
+ }
+
+ QSplineSeries* power_spline = new QSplineSeries();
+
+ std::vector> timeVoltagePairs;
+
+ //Read until the end of file
+ while (std::getline(sim_file, line)) {
+
+ //Get the records from the file. It must start with a digit
+ if(line[0] >= '0' && line[0] <= '9' )
+ {
+ std::size_t spaceLoc1;
+ std::size_t spaceLoc2;
+
+ //Read three lines containing one index and time and voltage and space;
+ spaceLoc1 = line.find('\t');
+ std::string substr1 = line.substr(spaceLoc1 + 1);
+ spaceLoc2 = substr1.find('\t');
+ std::string strTime = substr1.substr(0, spaceLoc2);
+ std::string strCurrent = substr1.substr(spaceLoc2 + 1);
+
+ //std::cout << spaceLoc << std::endl;
+ power_spline->append(stod(strTime)*1000000000 ,stod(strCurrent)*supplyvoltage);
+
+ }
+ }
+
+ QChart* power_chart = new QChart();
+ power_chart->legend()->hide();
+ power_chart->addSeries(power_spline);
+ std::string chartName = "Power Simulation Results";
+ power_chart->setTitle(chartName.c_str());
+ //power_chart->createDefaultAxes();
+ power_chart->setObjectName("powerchart");
+
+ QValueAxis *axisX = new QValueAxis();
+ axisX->setTitleText("Time");
+ power_chart->addAxis(axisX, Qt::AlignBottom);
+ power_spline->attachAxis(axisX);
+
+ QValueAxis *axisY = new QValueAxis();
+ axisY->setTitleText("P(t)");
+ //axisX->setMin(0);
+ power_chart->addAxis(axisY, Qt::AlignLeft);
+ power_spline->attachAxis(axisY);
+
+
+ QPen pen(QRgb(0xe74221));
+ pen.setWidth(4);
+
+ power_spline->setPen(pen);
+
+ QFont font;
+ font.setPixelSize(30);
+ font.setBold(true);
+ power_chart->setFont(font);
+ power_chart->setTitleFont(font);
+ axisX->setTitleFont(font);
+ axisY->setTitleFont(font);
+
+ QChartView* power_chart_view = new QChartView(power_chart);
+
+ power_chart_view->setRenderHint(QPainter::Antialiasing);
+ power_chart_view->resize(800,400);
+
+ return power_chart_view;
+}
+
+QChartView* PLODELib::createVoltageGraph(std::string file_name, std::string nodeName, double inputChangeInterval){
+ QLineSeries* voltage_series = new QLineSeries();
+
+ QChart* voltage_chart = new QChart();
+
+ std::ifstream sim_file;
+ std::string line;
+ std::vector file_content;
+
+
+ std::cout << "CREATE VOLTAGE GRAPH: " << file_name << std::endl;
+ sim_file.open(file_name);
+
+ if(!sim_file.is_open()){
+ throw std::invalid_argument("Error: createVoltageGraph: wrong file given");
+ }
+
+
+ std::vector> timeVoltagePairs;
+
+ //Read until the end of file
+ while (std::getline(sim_file, line)) {
+
+ //Get the records from the file. It must start with a digit
+ if(line[0] >= '0' && line[0] <= '9' )
+ {
+ std::size_t spaceLoc1;
+ std::size_t spaceLoc2;
+
+ //Read three lines containing one index and time and voltage and space;
+ spaceLoc1 = line.find('\t');
+ std::string substr1 = line.substr(spaceLoc1 + 1);
+ spaceLoc2 = substr1.find('\t');
+ std::string strTime = substr1.substr(0, spaceLoc2);
+ std::string strVoltage = substr1.substr(spaceLoc2 + 1);
+
+ //std::cout << spaceLoc << std::endl;
+ timeVoltagePairs.push_back(std::make_pair(stod(strTime)*1000000000 ,stod(strVoltage)));
+ voltage_series->append(stod(strTime)*1000000000 ,stod(strVoltage));
+ }
+ }
+
+ outputsVoltageTimeList[nodeName] = timeVoltagePairs;
+
+ //voltage_chart->legend()->hide();
+ voltage_chart->addSeries(voltage_series);
+ std::string chartName = "Voltage - Time Graph for " + nodeName;
+ voltage_chart->setTitle(chartName.c_str());
+ voltage_chart->setAnimationOptions(QChart::SeriesAnimations);
+ voltage_chart->legend()->hide();
+
+ QValueAxis *axisX = new QValueAxis();
+ axisX->setTitleText("Time (ns)");
+ std::cout << "TOTAL SIMULATION TIME:" << totalSimulationTime << " - INPUT CHANGE INTERVAL:" << inputChangeInterval << std::endl;
+ int tickCount = std::round((totalSimulationTime)/inputChangeInterval + 1);
+ axisX->setTickCount(tickCount);
+ voltage_chart->addAxis(axisX, Qt::AlignBottom);
+ voltage_series->attachAxis(axisX);
+
+ QValueAxis *axisY = new QValueAxis();
+ axisY->setTitleText("Voltage (V)");
+ //axisX->setMin(0);
+ voltage_chart->addAxis(axisY, Qt::AlignLeft);
+ voltage_series->attachAxis(axisY);
+
+ // Customize chart title
+ QPen pen(QRgb(0x39c11e));
+ pen.setWidth(4);
+
+ QPen gridPen(QRgb(0x174b60));
+ gridPen.setWidth(2);
+ gridPen.setStyle(Qt::DashLine);
+
+ QFont labelFont;
+ labelFont.setPixelSize(18);
+
+ QFont font;
+ font.setPixelSize(30);
+ font.setBold(true);
+ voltage_series->setPen(pen);
+ voltage_chart->setFont(font);
+ voltage_chart->setTitleFont(font);
+
+ axisX->setLabelsFont(labelFont);
+ axisX->setTitleFont(font);
+ axisX->setGridLineVisible(true);
+ axisX->setGridLinePen(gridPen);
+
+ axisY->setLabelsFont(labelFont);
+ axisY->setTitleFont(font);
+
+ QChartView* voltage_chart_view = new QChartView(voltage_chart);
+ voltage_chart_view->setRenderHint(QPainter::Antialiasing);
+
+ return voltage_chart_view;
+}
+
+std::string PLODELib::createFilename(std::string main_circuit_file_name){
+ time_t rawtime;
+ struct tm * timeinfo;
+ char buffer[80];
+ time (&rawtime);
+ timeinfo = localtime(&rawtime);
+ strftime(buffer,sizeof(buffer),"%d-%m-%Y_%H-%M-%S",timeinfo);
+ std::string str(buffer);
+ std::string file_name = main_circuit_file_name + "_" + str + + ".sp";
+ return file_name;
+}
+
+void PLODELib::runSpiceSimulation(std::string file_path){
+ char cwd[1024];
+ getcwd(cwd, 1024 );
+ int ff, p[2];
+
+ auto start = std::chrono::steady_clock::now();
+
+ if(pipe(p) != 0){
+ std::exit(EXIT_FAILURE);
+ }
+
+ if ((ff = fork()) == -1 )
+ {
+ fprintf(stderr, "Fork failed\n");
+ std::exit(EXIT_FAILURE);
+ }
+
+ if(ff == 0){
+ ::close(0);
+ ::close(p[1]);
+ if ( dup2(p[0], 0) == -1 )
+ {
+ fprintf(stderr, "dup2(0) failed\n");
+ std::exit(EXIT_FAILURE);
+ }
+ if( execlp("ngspice", "ngspice", "-b", "-r", "outputFile.raw", file_path.c_str(), NULL) == -1)
+ {
+ fprintf(stderr, "Exec failed\n");
+ std::exit(EXIT_FAILURE);
+ }
+ }
+ ::close(p[0]);
+
+ int status;
+ waitpid(ff, &status, 0);
+ auto end = std::chrono::steady_clock::now();
+ std::chrono::duration elapsed_time = end-start;
+ PLODELib::simulationDuration = elapsed_time.count();
+ std::cout << "Spice successfully finished in " << elapsed_time.count() << " s" << std::endl;
+ ::close(p[1]);
+}
+
+std::string PLODELib::addSimulationParameters(Circuit circuit, std::vector > inputValues,
+ double inputChangeTime,
+ double supplyvoltage,
+ std::vector> options,
+ double clockPeriod,
+ std::string clockName){
+
+ std::cout << "CLOCK NAME:" << clockName << " CLOCK PERIOD:" << clockPeriod << std::endl;
+ // To avoid comma or dot confusion when writing floating point numbers,
+ // we set an ngspice compatible locale here.
+ std::setlocale(LC_NUMERIC, "en_US.UTF-8");
+
+ std::vector outputNodeNames = circuit.outputs;
+ std::vector inputNodeNames = circuit.inputs;
+
+ char cwd[1024];
+ getcwd(cwd, 1024 );
+ std::string curr_work_dir{cwd};
+ std::string filename = curr_work_dir + "/Converted/" + circuit.circuitName;
+ std::string new_file_name = createFilename(filename);
+ std::ifstream main_circuit_file(filename + ".sp", std::ios::binary);
+ std::ofstream conversionFile(new_file_name, std::ios::binary);
+
+ conversionFile << main_circuit_file.rdbuf();
+ main_circuit_file.close();
+ conversionFile.close();
+
+ conversionFile.open(new_file_name,std::fstream::app);
+
+ int count = 0;
+ for(auto i : circuit.outputs){
+ conversionFile << "C"+std::to_string(count)+" "+i+" 0 20f"<< std::endl;
+ count++;
+ }
+ conversionFile << "VCC Vsup 0 DC=" + std::to_string(supplyvoltage) << std::endl;
+ count =0;
+ for(std::size_t i=0; i< circuit.inputs.size();i++){
+ std::string inputName = "circinput" + std::to_string(i);
+
+ std::vector inValues = inputValues.at(i);
+
+ if(inValues.size() == 0)
+ {
+ std::string inputString = "Vp"+std::to_string(count)+" "+circuit.inputs.at(i) +" 0 DC=0";
+ conversionFile << inputString << std::endl;
+ count++;
+ }
+ else
+ {
+ if(circuit.inputs.at(i) == clockName){
+ std::string inputString = "Vp"+std::to_string(count)+" "+ clockName + " 0 0 PWL(";
+ int clockChangeCount = inputChangeTime*inputValues.at(0).size() / (clockPeriod/2);
+ double timeval = 0;
+
+ for(int i = 0; i < clockChangeCount; i++){
+
+ inputString += std::to_string(timeval) + "N " + std::to_string(((i+1)%2!=0)*supplyvoltage) + "V ";
+ timeval += clockPeriod/2;
+ timeval-=0.01;
+ inputString += std::to_string(timeval) + "N " + std::to_string(((i+1)%2!=0)*supplyvoltage) + "V ";
+ timeval+=0.01;
+ }
+ inputString +=")";
+ conversionFile << inputString << std::endl;
+ count++;
+ }
+ else{
+ std::string inputString = "Vp"+std::to_string(count)+" "+circuit.inputs.at(i) + " 0 0 PWL(";
+ double timeval = 0;
+ for(auto in : inValues){
+ inputString += std::to_string(timeval) + "N " + std::to_string(in*supplyvoltage) + "V ";
+ timeval += inputChangeTime;
+ timeval-=0.01;
+ inputString += std::to_string(timeval) + "N " + std::to_string(in*supplyvoltage) + "V ";
+ timeval+=0.01;
+ }
+ inputString +=")";
+ conversionFile << inputString << std::endl;
+ count++;
+ }
+
+ }
+
+ }
+
+ simulationDuration = inputChangeTime*inputValues.at(0).size();
+ totalSimulationTime = inputChangeTime*inputValues.at(0).size();
+
+ std::string optionLine = ".OPTIONS ";
+ for(auto pair: options){
+ if(pair.second != ""){
+ optionLine += pair.first + "=" + pair.second + " ";
+ }
+ else{
+ optionLine += pair.first + " ";
+ }
+ }
+ conversionFile << optionLine << std::endl;
+
+ //Write control and print lines
+ //*************************START***********************************
+ conversionFile << ".control" << std::endl;
+ conversionFile <<"tran 0.01NS " << std::to_string(simulationDuration) << "NS" << std::endl;
+
+ std::string file_path(new_file_name);
+ std::string sim_file_name = new_file_name.substr(new_file_name.find_last_of('/')+1,new_file_name.find('.')-new_file_name.find_last_of('/')-1);
+ std::string voltage_sim_file_name = "./simulationresults/" + sim_file_name + "_voltagesimulation";
+ std::string power_sim_file_name = "./simulationresults/" + sim_file_name + "_currentsimulation.txt";
+
+ char msg3[1024] = "print ";
+ char msg4[1024] = "print ";
+ char msg5[1024] = "save ";
+
+ //Write the current print line
+ strcat(msg5,"vx#branch");
+ strcat(msg3,"vx#branch");
+ strcat(msg3, (" > " + power_sim_file_name).c_str());
+ strcat(msg5, "\n");
+ strcat(msg3, "\n");
+ conversionFile << msg5;
+ conversionFile << msg3;
+
+ strcpy(msg5, "save ");
+
+ //write output simulation files individually*/
+
+ for(std::size_t i = 0 ; i < outputNodeNames.size() ; i++ ){
+
+ std::string voltage_node = "V(" + outputNodeNames.at(i) + ")";
+ strcat(msg5,voltage_node.c_str());
+ strcat(msg4,voltage_node.c_str());
+
+ std::string outputNodeName = outputNodeNames.at(i);
+ std::transform(outputNodeName.begin(), outputNodeName.end(), outputNodeName.begin(), ::tolower);
+
+ strcat(msg4,(" > " + voltage_sim_file_name + "_" + outputNodeName + ".txt ").c_str());
+ strcat(msg5,"\n");
+ strcat(msg4,"\n");
+ conversionFile << msg5;
+ conversionFile << msg4;
+ strcpy(msg4, "print ");
+ strcpy(msg5, "save ");
+ }
+
+ //write input simulation files individually
+ strcpy(msg4, "print ");
+
+ for(std::size_t i = 0 ; i < inputNodeNames.size() ; i++ ){
+ std::string voltage_node = "V(" + inputNodeNames.at(i) + ")";
+ strcat(msg5,voltage_node.c_str());
+ strcat(msg4,voltage_node.c_str());
+
+ std::string inputNodeName = inputNodeNames.at(i);
+ std::transform(inputNodeName.begin(), inputNodeName.end(), inputNodeName.begin(), ::tolower);
+
+ strcat(msg4,(" > " + voltage_sim_file_name + "_input_" + inputNodeName + ".txt ").c_str());
+ strcat(msg5,"\n");
+ strcat(msg4,"\n");
+ conversionFile << msg5;
+ conversionFile << msg4;
+ strcpy(msg4, "print ");
+ strcpy(msg5, "save ");
+ }
+
+ //*************************END***********************************
+ conversionFile << ".endc" << std::endl;
+ conversionFile << ".END" << std::endl;
+ conversionFile.close();
+
+ return new_file_name;
+}
+
+void PLODELib::generateLogicAndDelayResults(Circuit circuit, double supplyVoltage, double inputChangeTime, std::string voltageSimulationFileHeader, std::string clockName){
+ std::string voltageFileName;
+ //DelayParser dp = getDelayParser();
+
+ delayParser.ClearThemAll();
+
+
+ for(std::size_t i = 0; i < circuit.inputs.size(); i++){
+ if(circuit.inputs.at(i) != clockName){
+ std::transform(circuit.inputs.at(i).begin(), circuit.inputs.at(i).end(), circuit.inputs.at(i).begin(), ::tolower);
+ voltageFileName = voltageSimulationFileHeader + "_input_" + circuit.inputs.at(i) + ".txt";
+ delayParser.ExtractTransitionTimes(voltageFileName,supplyVoltage/2.0, true);
+ }
+ }
+
+ delayParser.CombineInputTransitionTimes(inputChangeTime*1e-9);
+
+
+ for(std::size_t i = 0; i < circuit.outputs.size(); i++){
+ std::transform(circuit.outputs.at(i).begin(), circuit.outputs.at(i).end(), circuit.outputs.at(i).begin(), ::tolower);
+ voltageFileName = voltageSimulationFileHeader + "_" + circuit.outputs.at(i) + ".txt";
+ //strcat(voltageFileName,(voltageSimulationFileHeader + "_" + outputs.at(i) + ".txt ").c_str());
+ delayParser.ExtractTransitionTimes(voltageFileName,supplyVoltage/2.0,false);
+ voltageFileName = "";
+ }
+
+
+ int posStart = voltageSimulationFileHeader.find(circuit.circuitName + "_");
+ int posEnd = voltageSimulationFileHeader.find("_voltagesimulation");
+ posStart += circuit.circuitName.length() + 1;
+
+ std::string dateString = voltageSimulationFileHeader.substr(posStart,posEnd - posStart);
+
+ std::cout << posStart << " - " << posEnd << std::endl;
+ std::cout << "*******" << dateString << "********" << std::endl;
+
+ delayParser.FillLogicDelayMatrices();
+
+
+ //Write Delay and logic values to CSV (Excel) file
+ delayParser.WriteDelayToFile("DelayAndLogicResults/" + circuit.circuitName + "_" + dateString + "_delayFile.csv", ",");
+
+ delayParser.WriteLogicToFile("DelayAndLogicResults/" + circuit.circuitName + "_" + dateString + "_logicFile.csv", ",");
+
+ //Write direct results with no space in between to text
+ delayParser.WriteLogicToFile("DelayAndLogicResults/" + circuit.circuitName + "_" + dateString + "_logicFile.txt", "");
+
+}
+
+QChartView * PLODELib::createDelayGraph(std::string file_name, std::string nodename){
+ QBarSeries * delay_series = new QBarSeries();
+ QChart * delay_chart = new QChart();
+ std::string originalNodename = nodename;
+
+ std::for_each(nodename.begin(), nodename.end(), [](char & c){
+ c = ::tolower(c);
+ });
+ std::cout << "FILE NAME: " << file_name << std::endl;
+ std::ifstream sim_file;
+ sim_file.open(file_name);
+
+ std::string line;
+ size_t pos;
+ std::string token;
+ while(getline(sim_file,line)){
+ std::cout << "LINE: "<< line << std::endl;
+ pos = line.find(',');
+ token = line.substr(0, pos);
+
+ if(token == nodename){
+ line.erase(0, pos + 1);
+ break;
+ }
+ }
+
+ int count = 1;
+ QStringList categories;
+ QBarSet *set0 = new QBarSet("Delay");
+ //delay_series->setPointsVisible(true);
+ delay_series->setVisible(true);
+ delay_series->setLabelsAngle(-90);
+ delay_series->setLabelsPosition(QAbstractBarSeries::LabelsInsideBase);
+ delay_series->setLabelsPrecision(3);
+ delay_series->setLabelsVisible(true);
+ delay_series->setLabelsFormat("@value");
+ //delay_series->setLabelsClipping(false);
+ double maxDelay = 0;
+ while ((pos = line.find(',')) != std::string::npos) {
+ std::string token = line.substr(0, pos);
+ //delay_series->append(count, std::stod(token)*1e9);
+ std::cout << "TOKEN: " << token << std::endl;
+ *set0 << std::stod(token) * 1e9;
+ if(std::stod(token) * 1e9 > maxDelay)
+ {
+ maxDelay = std::stod(token) * 1e9;
+ }
+ line.erase(0, pos + 1);
+ QString qstr = QString::fromStdString("Tr" + std::to_string(count-1)); //ICCD
+ categories << qstr;
+ count++;
+
+ }
+
+ delay_series->append(set0);
+ delay_chart->legend()->hide();
+ delay_chart->addSeries(delay_series);
+ delay_chart->setAnimationOptions(QChart::SeriesAnimations);
+
+ QBarCategoryAxis *axisX = new QBarCategoryAxis();
+ axisX->setTitleText("Transition Count");
+ axisX->append(categories);
+ //axisX->setMin(0);
+ //axisX->setLabelFormat("%d");
+ delay_chart->addAxis(axisX, Qt::AlignBottom);
+ delay_series->attachAxis(axisX);
+
+ QValueAxis *axisY = new QValueAxis();
+ axisY->setTitleText("Delay (ns)");
+ axisY->setRange(0, maxDelay * 1.1);
+ axisY->setTickCount(12);
+ delay_chart->addAxis(axisY, Qt::AlignLeft);
+ delay_series->attachAxis(axisY);
+
+ // Customize chart title
+ QPen pen(QRgb(0x39c11e));
+ pen.setWidth(4);
+
+ QPen gridPen(QRgb(0x174b60));
+ gridPen.setWidth(2);
+ gridPen.setStyle(Qt::DashLine);
+
+ QFont labelFont;
+ labelFont.setPixelSize(18);
+
+ QFont font;
+ font.setPixelSize(30);
+ font.setBold(true);
+ delay_chart->setFont(font);
+ delay_chart->setTitleFont(font);
+
+ axisY->setLabelsFont(labelFont);
+ axisY->setTitleFont(font);
+ axisY->setGridLineVisible(true);
+ axisY->setGridLinePen(gridPen);
+ axisX->setTitleFont(font);
+ axisX->setLabelsFont(labelFont);
+
+ set0->setColor(QRgb(0x1ca9de));
+ set0->setLabelColor(QRgb(0x251128));
+ set0->setLabelFont(labelFont);
+
+
+ delay_chart->axes(Qt::Horizontal).at(0)->setMin(0);
+ //delay_chart->axes(Qt::Horizontal).at(0)->setGridLinePen(Qt::DashLine);
+
+ std::string chartName = "Delay - Transition Graph for " + originalNodename;
+ delay_chart->setTitle(chartName.c_str());
+
+ QChartView* delay_chart_view = new QChartView(delay_chart);
+ delay_chart_view->setRenderHint(QPainter::Antialiasing);
+ return delay_chart_view;
+}
diff --git a/PLODELib.h b/PLODELib.h
new file mode 100644
index 0000000..a26cc2f
--- /dev/null
+++ b/PLODELib.h
@@ -0,0 +1,92 @@
+// VETSOLIB.H
+#ifndef PLODELIB_H
+#define PLODELIB_H
+
+#include
+#include