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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "circuit.h" +#include + +#include "delayparser.h" +class PLODELib +{ +public: + //Default constructor + PLODELib(); + + //Converts a given Circuit graph structure to Spice deck with the given standard cell library + static std::string convertFromVerilogToSpice(Circuit & circuit, std::string library_path); + + //Creates a QT usable voltage graph with given file name of the voltage simulation results, node name and input changing interval + static QChartView * createVoltageGraph(std::string file_name, std::string nodename, double inputChangeInterval); + + //Creates a QT usable delay graph with given file name of the voltage simulation results and node name + static QChartView * createDelayGraph(std::string file_name, std::string nodename); + + //Creates a QT usable power graph with given file name of the current simulation results and supply voltage + static QChartView* createPowerGraph(std::string file_name, double supplyvoltage); + + //Runs ngspice to do Spice simulations on the converted Spice file to get voltage and current simulation results. + static void runSpiceSimulation(std::string file_path); + + //Adds .option .control and input lines to the converted Spice file + static std::string addSimulationParameters(Circuit circuit, std::vector > inputValues, double inputChangeTime, double supplyvoltage, std::vector > options, double clockPeriod, + std::string clockName); + + //Getter for delay parser + static DelayParser getDelayParser() { return delayParser; } + + //Creates a file name with the current spice simulation time to keep track of different simulation results + static std::string createFilename(std::string main_circuit_file_name); + + //Adds subckt lines to the converted Spice file if the submodule connection method is chosen to be Spice subcircuiting + static void addSubcircuitsToSpiceFile(Circuit & circuit, std::string filename); + + //Generates logic and delay results using the delay parser of PLODE + static void generateLogicAndDelayResults(Circuit circuit, double supplyVoltage, double inputChangeTime, std::string voltageSimulationFileHeader, std::string clockName); + + //Total gate and subcircuit counts for naming the gate calls in the Spice + static int andcount; + static int orcount; + static int nandcount; + static int norcount; + static int xorcount; + static int xnorcount; + static int notcount; + static int bufcount; + static int oaicount; + static int dffcount; + static int subcircuitCount; + + //Holds the spice simulation duration + static double simulationDuration; + + //Holds the total simulation time + static double totalSimulationTime; + + //Holds the voltage time pairs for inputs as a list + static std::map>> inputsVoltageTimeList; + + //Holds the voltage time pairs for outputs as a list + static std::map>> outputsVoltageTimeList; + +private: + + //Holds the delay parser of PLODE + static DelayParser delayParser; +}; + +#endif // PLODELIB_H diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc17796 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# PLODE +Precise Logic and Delay (PLODE) is a tool that converts a Structural Verilog to a Spice deck, executes Spice simulations using ngspice and performs analysis of the Spice results to extract output delays and logic values. It can handle hierarchical Verilog with nested module instantiations. It takes into consideration glitches at the outputs in computing the output logic values and delays.
+ +To download and run the program correctly: +1. Download ngspice from its website and do its installation. +2. Download QT Creator with QT5 and QTCharts support. +3. Once all downloaded, it can be opened on QT Creator by opening the .pro file with QT Creator. +4. After building, PLODE GUI is ready to go. diff --git a/Resources/Resources.qrc b/Resources/Resources.qrc new file mode 100644 index 0000000..466f3de --- /dev/null +++ b/Resources/Resources.qrc @@ -0,0 +1,7 @@ + + + plode-big.png + plode-small.png + finished.wav + + diff --git a/Resources/finished.wav b/Resources/finished.wav new file mode 100644 index 0000000..cc545e1 Binary files /dev/null and b/Resources/finished.wav differ diff --git a/Resources/icons.qrc b/Resources/icons.qrc new file mode 100644 index 0000000..031c77d --- /dev/null +++ b/Resources/icons.qrc @@ -0,0 +1,5 @@ + + + vetsco_icon_2.png + + diff --git a/Resources/logo.qrc b/Resources/logo.qrc new file mode 100644 index 0000000..90b898e --- /dev/null +++ b/Resources/logo.qrc @@ -0,0 +1,5 @@ + + + vetsco_icon_2.png + + diff --git a/Resources/plode-big.png b/Resources/plode-big.png new file mode 100644 index 0000000..50ec29a Binary files /dev/null and b/Resources/plode-big.png differ diff --git a/Resources/plode-small.png b/Resources/plode-small.png new file mode 100644 index 0000000..1021cf9 Binary files /dev/null and b/Resources/plode-small.png differ diff --git a/Resources/plode-small111.png b/Resources/plode-small111.png new file mode 100644 index 0000000..0b9ccd7 Binary files /dev/null and b/Resources/plode-small111.png differ diff --git a/Resources/vetsco (2).png b/Resources/vetsco (2).png new file mode 100644 index 0000000..fba11d9 Binary files /dev/null and b/Resources/vetsco (2).png differ diff --git a/Resources/vetsco_icon_2.png b/Resources/vetsco_icon_2.png new file mode 100644 index 0000000..9bfce42 Binary files /dev/null and b/Resources/vetsco_icon_2.png differ diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder32_out_data.txt b/SupplementaryMaterials/Adder32Bit_Files/adder32_out_data.txt new file mode 100644 index 0000000..70fc8f1 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder32_out_data.txt @@ -0,0 +1,100 @@ +011011000101000011110001111010000 +101010100110011011100010101100111 +010011000100100111011010111011111 +100000100100110010011010111000000 +110011110001110001100100000010111 +010100010100100000001001000101001 +011011011100000010001110110001110 +010110110111011110110100011000101 +010000100001101000011000101011100 +101100111001011010011100101101010 +110010111010101111101101001010101 +001111010110100101100001101111100 +110110010011010100000100111011110 +111011101111110011001110101000100 +011001010000110001011011000001001 +111001011100001100010101110010100 +011000000100111110111001011011001 +010110010100101001101011111010010 +101010101010000111001110000011000 +001101010111100101111011000001000 +001111100100010110111010000011101 +110000000100000000111011100110101 +101100111010111011000110000011100 +010100111011111100111101000100110 +101000010110001100010010001111011 +101000101110111010101110010001110 +110010001100110011101110101110011 +111011010001111100110000110100000 +011101110010010011111110010011001 +011011101001011100110110000111101 +010101001010011111111100001000010 +011101010101101110111000001000011 +011101001101001011101111011100010 +100011110001011111101000100110101 +111000000010000010010110000000011 +011000111111011011100011111100000 +101001011001110010000101001011000 +001010111110100000111110111001101 +011001000101011000111101100010111 +001100111011110101001000000011011 +110011110000100001111000000011001 +110011010110010110011110110010111 +001011111000111010011101000010000 +101001111010011011110100010110101 +011001101001011001010001100010101 +001101001101000101011110010001000 +010100101011001101101010111011101 +010101110111100111010111110000001 +100000010110110011000100111100101 +100111111011100001100101111110010 +101011010000110110111111010101000 +011101011000101111110100100001100 +101110111001101010001000011101011 +110111000010111000001001000110110 +100110001000110100000110000110110 +011111110001010101100011111000000 +101001101101101000011111101000001 +100001110001011000010101100000000 +010000100110011110101111010111111 +011101011110100101111110011001100 +011101100111110100111000000100001 +001100101001100100100110001000111 +010001100000000010111110110110101 +011100101101100100100011111101000 +110011101010010000111011110011101 +001101010000011111100110001000111 +101001000111000101011110100100011 +011111110010110110001110100001001 +100110110010011011010111000010001 +000100111111011101100111011010010 +100011000111111000011111111000110 +101010101111001010101001001000110 +100101000110111100101000111000010 +100101100011010100000110000001010 +101001111001000110000100001001011 +101011011110011000110110101101001 +011011111011110000100010111100001 +010111110011011000010110000000101 +011110000011111111001010000100110 +011111100111000010101101010010000 +101000111110110001100100110001100 +101100110111010100011110110110000 +011011010010001101001100110011011 +101001010111010111011011001101100 +001010111111101110111010011100010 +000101100101001100100010011010011 +010110011000110110001001111001101 +111010010100010111010000000001010 +001000001100011111101010011011111 +010111000100011001101001101001010 +011000001100000100111000001111010 +011101110011101011111110100011010 +111001000101110110101111100000110 +101101000010010010111111000000100 +101110111101111110011110011110010 +011010000111100011111110000010101 +001100101011100110111101000101100 +010110000011000101100000111011111 +101010111110110001101000001101011 +110100011110010011011110111101111 diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder32_plode_input.txt b/SupplementaryMaterials/Adder32Bit_Files/adder32_plode_input.txt new file mode 100644 index 0000000..86238d0 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder32_plode_input.txt @@ -0,0 +1,65 @@ +0111100101101111011001111111111010110000110000111110111111000001101100110111001011110011000011100011 +1001100001101101101010001111100000101111000111001000111110110000010110101100110011010001011010010011 +0000110110001101011110000101001111010000111010000000010000011100011010010100101110011001110011100100 +1000101110010000010111111000100100111010100111001010011110100101100100000000010011110011110001111100 +0110101010111101101011101110100000011110101011001100011011101000100100111111010101010100111010000000 +0110100010010111101100101001100100000110110000100101101101110101101111001100110101101101110101111000 +1001011101100000111101010111001111010111100110101000101011010000110110000111011011111101110111111100 +0010110101111111000110011101110001101111010001001000100100100111110000000101100101001011001011000100 +1111110110011100010111011001011010100110000001111111110110110011000110101010110000111111010010110100 +0001100001111111000110011011100110110101110111100110010000110001011100100101001010110110101000110001 +1110011100010011100001111011111111111000000111000100110110001000010011111011110110110101110100010110 +1110010011001100111011010100101000100011000010011111010100011000110111110010111101100101101101011101 +1101011011100111101010100101001010000000101100101010000101011100101111000000111100111000010010111111 +0111011100001101100100111000101101100001010001010100000000010000000100110110011001001100000101011101 +0011001101001010000010101001011010010110111100101101111011101011110000101001011100101111110101011011 +1011110000110100111000111000000111010110111011001100010100000011000001011100110011111000010101111111 +0011010011001011001011000011110111111101111000011100100011100100000110001111100111111100110100001001 +0110011101010101111100111111010001011110110101111001011101111100101100010000010011111110010001001000 +0111001011101110000100101110000111111101000001001011000111100100010010101000111101001111101110000001 +1000000110111111010101101010100111011101011001001001110101111100111110000111110111000110110100101011 +1000000110111100111100001000010000100011001010100110110010100100011100101111101011110011001111011011 +0111000101100000011011100110110100000110001101110010110011111000000110110011110001110100100100001110 +0001011010011100011010010010101110111000011101111100100000110110011110010100011101010110001110111000 +0010111000100001000111011000001101110100101001000110111001100011100010001100110100001001110100100001 +0000101001011110101001000111010011011001001101011000001001110110000011000101111011101010101000001100 +0100011100111111101101111111110011100011000100011101110000001001001000101100111001100001110011110001 +1011001010010101110110110001010100010110100001000010110101110000010101000000011110100010111011000000 +0101101110001101111110101011000001010100000111010010011010100101001010101000000010010110101111010100 +1010011111010000111011001010111111011011101000000110011111011101010110000000100001100110100010100110 +1110111110000110110010001011000000000100010011100101010110101001110101101010010110110110001010110011 +0011010001110110101000111110110111110010000100111001111001011100010001000101000001011111110001101110 +0001011010110100011100001101010000010000100110111011100010100010010011110100010110001001110110110101 +1100101001101101000001100011000101101000110100000111110001011010101010011011000101000001000111100011 +0101011010111111101001101111010011101010110110000011001010001001100010101011111110110001001110111101 +0000110001000100101101001001000101101011011100011101110110100100101001010100100000001010011101010101 +0000010000010101100100010101110101001000111110100100011010000100100100101101110010011101011011010110 +0110010000111001000000100100010001110110100101110010110100000011100110011100111100000101011110011100 +1000010010110011001001001010001110110001111101111001110000111001111110011110011111000100000010001110 +0010010111000001101110110111011011101000101011111101111010100011110111000000011101100001100000001011 +1001001111000000001101110010010001010010111001001010111010100001000111010100110111100110110011011011 +1011010011011010000011011100111010010000110111100001100000011001011011010000110101000101010000110110 +1011111101010000100001001101100100100000100100010110010100011011000100000011000011101011010000111001 +1000100000010010101110100010000010000001000111001100010101010111100101011111111110001100011111110111 +0110111011011101000010001011101110001010001011111100101110010010011111011000100011000011101111111000 +1011000110100111001101111010010011111110000011111100010000100111111100001011110000100111100100000011 +0000100000100110000101101100100000100101100001111001001000110011110111100110110111001100100100100110 +0010111011101010110101101001010010000000010110010010101000010011101100101010100110101100001111111001 +0111100110011001011001010001111101010011111111001111001111000101010001000001001000011101110010001110 +1011101000100000001011001111011101110101001110111000011010010000010011001001110110111010000000011110 +1110110011011001011111000110101001010001010001010111101100100111001011000111001010110101001000010000 +0100001010010100110111011111101110000010110100010001110001010010101110001110011111010001000111110110 +0010001011100001010100110100011101011001001010001011110111101110010110100101010011001011100111011110 +1001011100111001111110001000010111000110111010010001001000101010000101011010101001110110100100101100 +0001110111101010001110110110111011011011100001101000010101110001100111010010010101100101101111000111 +1001110010001101000000111110110001001011111010101000001110111011111111100000000101001101100100001000 +1101001010101010111001101100011101001001010110101010100111101100000000100000001100001010011001111100 +1011111001010000110110110111000000101110111101110101111100001101101100000001000011100101111011111001 +0000010101000110100011010100110001101001100101100011000001001000001110111111001111011001111000010110 +1010000101000001001011100001001000010010100100011110010010010110000011101001000101100100110000101001 +0110011010110000111100001010011111000101110001100000011101001010111110100000110010011100000001000010 +0001010110001100101001101101101101001110001000010010111000100101100101001000110100101010000110001011 +0001000010001101011101011010100010011010000000110111001111000101010110011111011011111111111000000010 +1100110010100010100100000101110011001001010001011110000001001010011011000111011111111011010000101101 +1011000000001000111011100010101010011110010101100010000000111010111110011111110000000010011001100110 +1100101110011110000100100101001111101001000101100001000000110110010011101000010110101101001111000100 diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_16bit.v b/SupplementaryMaterials/Adder32Bit_Files/adder_16bit.v new file mode 100644 index 0000000..cc3426f --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_16bit.v @@ -0,0 +1,17 @@ + +module adder_16bit(a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0,b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,cin, + cout,s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0); + +input a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0, + b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,cin; + +output cout,s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0; + +wire c12,c8,c4; + +adder_4bit g0(a3,a2,a1,a0,b3,b2,b1,b0,cin,c4,s3,s2,s1,s0); +adder_4bit g1(a7,a6,a5,a4,b7,b6,b5,b4,c4,c8,s7,s6,s5,s4); +adder_4bit g2(a11,a10,a9,a8,b11,b10,b9,b8,c8,c12,s11,s10,s9,s8); +adder_4bit g3(a15,a14,a13,a12,b15,b14,b13,b12,c12,cout,s15,s14,s13,s12); + +endmodule diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp.v b/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp.v new file mode 100644 index 0000000..f90f972 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp.v @@ -0,0 +1,133 @@ +module singlepath (a0, s31); +input a0; +output s31; +wire w312, w311, w302, w301, c30, w291, s27, c28, c27, s26, w262, s25, c26, w261, w252, w242, w241, s23, c24, w232, w231, w251, c23, c25, w221, c22, w212, w192, s19, w191, s18, w182, c18, w172, w292, w171, w162, w161, w152, w151, w51, s6, s21, s10, w22, w282, w62, c29, s3, c31, c16, c4, w61, c5, s24, w32, w00, s29, w21, s5, w222, w41, s11, w272, w201, c6, c1, w03, s2, w141, w52, w42, w11, w111, s28, w181, w71, s12, s1, s15, w12, w211, c20, c3, s17, c17, w72, c8, s20, s7, w122, c21, w81, s16, w31, w82, w202, c2, c9, s8, w91, s30, w92, c10, c14, s9, c19, s4, w102, w121, c11, w112, w281, w02, c12, w271, w132, c7, c13, s14, w131, s13, w142, s22, w101, c15, Vcc, gnd; +and g0(w00, a0, Vcc); +and g2(w02, a0, Vcc); +or g3(c1, w00, gnd, gnd); +xor g4(w03, a0, Vcc); +and ag1(w11, c1, Vcc); +and ag2(w12, c1, Vcc); +or ag3(c2, w12, gnd, gnd); +xor ag5(s1, c1, Vcc); +and bg1(w21, c2, Vcc); +and bg2(w22, c2, Vcc); +or bg3(c3, w22, gnd, gnd); +xor bg5(s2, c2, Vcc); +and cg1(w31, c3, Vcc); +and cg2(w32, c3, Vcc); +or cg3(c4, w32, gnd, gnd); +xor cg5(s3, c3, Vcc); +and dg1(w41, c4, Vcc); +and dg2(w42, c4, Vcc); +or dg3(c5, w42, gnd, gnd); +xor dg5(s4, c4, Vcc); +and eg1(w51, c5, Vcc); +and eg2(w52, c5, Vcc); +or eg3(c6, w52, gnd, gnd); +xor eg5(s5, c5, Vcc); +and fg1(w61, c6, Vcc); +and fg2(w62, c6, Vcc); +or fg3(c7, w62, gnd, gnd); +xor fg5(s6, c6, Vcc); +and gg1(w71, c7, Vcc); +and gg2(w72, c7, Vcc); +or gg3(c8, w72, gnd, gnd); +xor gg5(s7, c7, Vcc); +and hg1(w81, c8, Vcc); +and hg2(w82, c8, Vcc); +or hg3(c9, w82, gnd, gnd); +xor hg5(s8, c8, Vcc); +and ig1(w91, c9, Vcc); +and ig2(w92, c9, Vcc); +or ig3(c10, w92, gnd, gnd); +xor ig5(s9, c9, Vcc); +and jg1(w101, c10, Vcc); +and jg2(w102, c10, Vcc); +or jg3(c11, w102, gnd, gnd); +xor jg5(s10, c10, Vcc); +and kg1(w111, c11, Vcc); +and kg2(w112, c11, Vcc); +or kg3(c12, w112, gnd, gnd); +xor kg5(s11, c11, Vcc); +and lg1(w121, c12, Vcc); +and lg2(w122, c12, Vcc); +or lg3(c13, w122, gnd, gnd); +xor lg5(s12, c12, Vcc); +and mg1(w131, c13, Vcc); +and mg2(w132, c13, Vcc); +or mg3(c14, w132, gnd, gnd); +xor mg5(s13, c13, Vcc); +and ng1(w141, c14, Vcc); +and ng2(w142, c14, Vcc); +or ng3(c15, w142, gnd, gnd); +xor ng5(s14, c14, Vcc); +and og1(w151, c15, Vcc); +and og2(w152, c15, Vcc); +or og3(c16, w152, gnd, gnd); +xor og5(s15, c15, Vcc); +and pg1(w161, c16, Vcc); +and pg2(w162, c16, Vcc); +or pg3(c17, w162, gnd, gnd); +xor pg5(s16, c16, Vcc); +and qg1(w171, c17, Vcc); +and qg2(w172, c17, Vcc); +or qg3(c18, w172, gnd, gnd); +xor qg5(s17, c17, Vcc); +and rg1(w181, c18, Vcc); +and rg2(w182, c18, Vcc); +or rg3(c19, w182, gnd, gnd); +xor rg5(s18, c18, Vcc); +and sg1(w191, c19, Vcc); +and sg2(w192, c19, Vcc); +or sg3(c20, w192, gnd, gnd); +xor sg5(s19, c19, Vcc); +and tg1(w201, c20, Vcc); +and tg2(w202, c20, Vcc); +or tg3(c21, w202, gnd, gnd); +xor tg5(s20, c20, Vcc); +and ug1(w211, c21, Vcc); +and ug2(w212, c21, Vcc); +or ug3(c22, w212, gnd, gnd); +xor ug5(s21, c21, Vcc); +and vg1(w221, c22, Vcc); +and vg2(w222, c22, Vcc); +or vg3(c23, w222, gnd, gnd); +xor vg5(s22, c22, Vcc); +and wg1(w231, c23, Vcc); +and wg2(w232, c23, Vcc); +or wg3(c24, w232, gnd, gnd); +xor wg5(s23, c23, Vcc); +and yg1(w241, c24, Vcc); +and yg2(w242, c24, Vcc); +or yg3(c25, w242, gnd, gnd); +xor yg5(s24, c24, Vcc); +and zg1(w251, c25, Vcc); +and zg2(w252, c25, Vcc); +or zg3(c26, w252, gnd, gnd); +xor zg5(s25, c25, Vcc); +and g1a(w261, c26, Vcc); +and g2a(w262, c26, Vcc); +or g3a(c27, w262, gnd, gnd); +xor g5a(s26, c26, Vcc); +and g1b(w271, c27, Vcc); +and g2b(w272, c27, Vcc); +or g3b(c28, w272, gnd, gnd); +xor g5b(s27, c27, Vcc); +and g1c(w281, c28, Vcc); +and g2c(w282, c28, Vcc); +or g3c(c29, w282, gnd, gnd); +xor g5c(s28, c28, Vcc); +and g1d(w291, c29, Vcc); +and g2d(w292, c29, Vcc); +or g3d(c30, w292, gnd, gnd); +xor g5d(s29, c29, Vcc); +and g1e(w301, c30, Vcc); +and g2e(w302, c30, Vcc); +or g3e(c31, w302, gnd, gnd); +xor g5e(s30, c30, Vcc); +and g1f(w311, c31, Vcc); +and g2f(w312, c31, Vcc); +xor g5f(s31, c31, Vcc); + +endmodule diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp2.v b/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp2.v new file mode 100644 index 0000000..22c50c7 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp2.v @@ -0,0 +1,133 @@ +module singlepath (a0, s31); +input a0; +output s31; +wire w312, w311, w302, w301, c30, w291, s27, c28, c27, s26, w262, s25, c26, w261, w252, w242, w241, s23, c24, w232, w231, w251, c23, c25, w221, c22, w212, w192, s19, w191, s18, w182, c18, w172, w292, w171, w162, w161, w152, w151, w51, s6, s21, s10, w22, w282, w62, c29, s3, c31, c16, c4, w61, c5, s24, w32, w00, s29, w21, s5, w222, w41, s11, w272, w201, c6, c1, w03, s2, w141, w52, w42, w11, w111, s28, w181, w71, s12, s1, s15, w12, w211, c20, c3, s17, c17, w72, c8, s20, s7, w122, c21, w81, s16, w31, w82, w202, c2, c9, s8, w91, s30, w92, c10, c14, s9, c19, s4, w102, w121, c11, w112, w281, w02, c12, w271, w132, c7, c13, s14, w131, s13, w142, s22, w101, c15, Vcc, gnd; +and g0(w00, a0, Vcc); +and g2(w02, a0, Vcc); +or g3(c1, w00, gnd, gnd); +xor g4(w03, a0, gnd); +and ag1(w11, c1, Vcc); +and ag2(w12, c1, Vcc); +or ag3(c2, w12, gnd, gnd); +xor ag5(s1, c1, gnd); +and bg1(w21, c2, Vcc); +and bg2(w22, c2, Vcc); +or bg3(c3, w22, gnd, gnd); +xor bg5(s2, c2, gnd); +and cg1(w31, c3, Vcc); +and cg2(w32, c3, Vcc); +or cg3(c4, w32, gnd, gnd); +xor cg5(s3, c3, gnd); +and dg1(w41, c4, Vcc); +and dg2(w42, c4, Vcc); +or dg3(c5, w42, gnd, gnd); +xor dg5(s4, c4, gnd); +and eg1(w51, c5, Vcc); +and eg2(w52, c5, Vcc); +or eg3(c6, w52, gnd, gnd); +xor eg5(s5, c5, gnd); +and fg1(w61, c6, Vcc); +and fg2(w62, c6, Vcc); +or fg3(c7, w62, gnd, gnd); +xor fg5(s6, c6, gnd); +and gg1(w71, c7, Vcc); +and gg2(w72, c7, Vcc); +or gg3(c8, w72, gnd, gnd); +xor gg5(s7, c7, gnd); +and hg1(w81, c8, Vcc); +and hg2(w82, c8, Vcc); +or hg3(c9, w82, gnd, gnd); +xor hg5(s8, c8, gnd); +and ig1(w91, c9, Vcc); +and ig2(w92, c9, Vcc); +or ig3(c10, w92, gnd, gnd); +xor ig5(s9, c9, gnd); +and jg1(w101, c10, Vcc); +and jg2(w102, c10, Vcc); +or jg3(c11, w102, gnd, gnd); +xor jg5(s10, c10, gnd); +and kg1(w111, c11, Vcc); +and kg2(w112, c11, Vcc); +or kg3(c12, w112, gnd, gnd); +xor kg5(s11, c11, gnd); +and lg1(w121, c12, Vcc); +and lg2(w122, c12, Vcc); +or lg3(c13, w122, gnd, gnd); +xor lg5(s12, c12, gnd); +and mg1(w131, c13, Vcc); +and mg2(w132, c13, Vcc); +or mg3(c14, w132, gnd, gnd); +xor mg5(s13, c13, gnd); +and ng1(w141, c14, Vcc); +and ng2(w142, c14, Vcc); +or ng3(c15, w142, gnd, gnd); +xor ng5(s14, c14, gnd); +and og1(w151, c15, Vcc); +and og2(w152, c15, Vcc); +or og3(c16, w152, gnd, gnd); +xor og5(s15, c15, gnd); +and pg1(w161, c16, Vcc); +and pg2(w162, c16, Vcc); +or pg3(c17, w162, gnd, gnd); +xor pg5(s16, c16, gnd); +and qg1(w171, c17, Vcc); +and qg2(w172, c17, Vcc); +or qg3(c18, w172, gnd, gnd); +xor qg5(s17, c17, gnd); +and rg1(w181, c18, Vcc); +and rg2(w182, c18, Vcc); +or rg3(c19, w182, gnd, gnd); +xor rg5(s18, c18, gnd); +and sg1(w191, c19, Vcc); +and sg2(w192, c19, Vcc); +or sg3(c20, w192, gnd, gnd); +xor sg5(s19, c19, gnd); +and tg1(w201, c20, Vcc); +and tg2(w202, c20, Vcc); +or tg3(c21, w202, gnd, gnd); +xor tg5(s20, c20, gnd); +and ug1(w211, c21, Vcc); +and ug2(w212, c21, Vcc); +or ug3(c22, w212, gnd, gnd); +xor ug5(s21, c21, gnd); +and vg1(w221, c22, Vcc); +and vg2(w222, c22, Vcc); +or vg3(c23, w222, gnd, gnd); +xor vg5(s22, c22, gnd); +and wg1(w231, c23, Vcc); +and wg2(w232, c23, Vcc); +or wg3(c24, w232, gnd, gnd); +xor wg5(s23, c23, gnd); +and yg1(w241, c24, Vcc); +and yg2(w242, c24, Vcc); +or yg3(c25, w242, gnd, gnd); +xor yg5(s24, c24, gnd); +and zg1(w251, c25, Vcc); +and zg2(w252, c25, Vcc); +or zg3(c26, w252, gnd, gnd); +xor zg5(s25, c25, gnd); +and g1a(w261, c26, Vcc); +and g2a(w262, c26, Vcc); +or g3a(c27, w262, gnd, gnd); +xor g5a(s26, c26, gnd); +and g1b(w271, c27, Vcc); +and g2b(w272, c27, Vcc); +or g3b(c28, w272, gnd, gnd); +xor g5b(s27, c27, gnd); +and g1c(w281, c28, Vcc); +and g2c(w282, c28, Vcc); +or g3c(c29, w282, gnd, gnd); +xor g5c(s28, c28, gnd); +and g1d(w291, c29, Vcc); +and g2d(w292, c29, Vcc); +or g3d(c30, w292, gnd, gnd); +xor g5d(s29, c29, gnd); +and g1e(w301, c30, Vcc); +and g2e(w302, c30, Vcc); +or g3e(c31, w302, gnd, gnd); +xor g5e(s30, c30, gnd); +and g1f(w311, c31, Vcc); +and g2f(w312, c31, Vcc); +xor g5f(s31, c31, gnd); + +endmodule diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp_s16.v b/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp_s16.v new file mode 100644 index 0000000..c3f0d08 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_32_cp_s16.v @@ -0,0 +1,73 @@ +module singlepath (a0, s16); +input a0; +output s16; +wire w162, w161, w152, w151, w51, s6, s10, w22, w62, s3, c16, c4, w61, c5, w32, w00, w21, s5, w41, s11, c6, c1, w03, s2, w141, w52, w42, w11, w111, w71, s12, s1, s15, w12, c3, w72, c8, s7, w122, w81, w31, w82, c2, c9, s8, w91, w92, c10, c14, s9, s4, w102, w121, c11, w112, w02, c12, w132, c7, c13, s14, w131, s13, w142, w101, c15, Vcc, gnd; +and g0(w00, a0, Vcc); +and g2(w02, a0, Vcc); +or g3(c1, w00, gnd, gnd); +xor g4(w03, a0, gnd); +and ag1(w11, c1, Vcc); +and ag2(w12, c1, Vcc); +or ag3(c2, w12, gnd, gnd); +xor ag5(s1, c1, gnd); +and bg1(w21, c2, Vcc); +and bg2(w22, c2, Vcc); +or bg3(c3, w22, gnd, gnd); +xor bg5(s2, c2, gnd); +and cg1(w31, c3, Vcc); +and cg2(w32, c3, Vcc); +or cg3(c4, w32, gnd, gnd); +xor cg5(s3, c3, gnd); +and dg1(w41, c4, Vcc); +and dg2(w42, c4, Vcc); +or dg3(c5, w42, gnd, gnd); +xor dg5(s4, c4, gnd); +and eg1(w51, c5, Vcc); +and eg2(w52, c5, Vcc); +or eg3(c6, w52, gnd, gnd); +xor eg5(s5, c5, gnd); +and fg1(w61, c6, Vcc); +and fg2(w62, c6, Vcc); +or fg3(c7, w62, gnd, gnd); +xor fg5(s6, c6, gnd); +and gg1(w71, c7, Vcc); +and gg2(w72, c7, Vcc); +or gg3(c8, w72, gnd, gnd); +xor gg5(s7, c7, gnd); +and hg1(w81, c8, Vcc); +and hg2(w82, c8, Vcc); +or hg3(c9, w82, gnd, gnd); +xor hg5(s8, c8, gnd); +and ig1(w91, c9, Vcc); +and ig2(w92, c9, Vcc); +or ig3(c10, w92, gnd, gnd); +xor ig5(s9, c9, gnd); +and jg1(w101, c10, Vcc); +and jg2(w102, c10, Vcc); +or jg3(c11, w102, gnd, gnd); +xor jg5(s10, c10, gnd); +and kg1(w111, c11, Vcc); +and kg2(w112, c11, Vcc); +or kg3(c12, w112, gnd, gnd); +xor kg5(s11, c11, gnd); +and lg1(w121, c12, Vcc); +and lg2(w122, c12, Vcc); +or lg3(c13, w122, gnd, gnd); +xor lg5(s12, c12, gnd); +and mg1(w131, c13, Vcc); +and mg2(w132, c13, Vcc); +or mg3(c14, w132, gnd, gnd); +xor mg5(s13, c13, gnd); +and ng1(w141, c14, Vcc); +and ng2(w142, c14, Vcc); +or ng3(c15, w142, gnd, gnd); +xor ng5(s14, c14, gnd); +and og1(w151, c15, Vcc); +and og2(w152, c15, Vcc); +or og3(c16, w152, gnd, gnd); +xor og5(s15, c15, gnd); +and pg1(w161, c16, Vcc); +and pg2(w162, c16, Vcc); +xor pg5(s16, c16, gnd); + +endmodule diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_32_nohierarchy.v b/SupplementaryMaterials/Adder32Bit_Files/adder_32_nohierarchy.v new file mode 100644 index 0000000..5b2dc17 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_32_nohierarchy.v @@ -0,0 +1,292 @@ +//a0 w00 c1 w12 c2 w22 c3 w32 c4 w42 c5 w52 c6 w62 c7 w72 c8 w82 c9 w92 c10 w102 c11 w112 c12 w122 c13 w132 c14 w142 c15 w152 c16 w162 c17 w172 c18 w182 c19 w192 c20 w202 c21 w212 c22 w222 c23 w232 c24 w242 c25 w252 c26 w262 c27 w272 c28 w282 c29 w292 c30 w302 c31 s31 +module adder_noh(a31,a30,a29,a28,a27,a26,a25,a24,a23,a22,a21,a20,a19,a18,a17,a16, + a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0, + b31,b30,b29,b28,b27,b26,b25,b24,b23,b22,b21,b20,b19,b18,b17,b16, + b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,c0, + cout,s31,s30,s29,s28,s27,s26,s25,s24,s23,s22,s21,s20,s19,s18,s17,s16, + s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0); + +input a31,a30,a29,a28,a27,a26,a25,a24,a23,a22,a21,a20,a19,a18,a17,a16, + a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0, + b31,b30,b29,b28,b27,b26,b25,b24,b23,b22,b21,b20,b19,b18,b17,b16, + b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,c0; + +output cout,s31,s30,s29,s28,s27,s26,s25,s24,s23,s22,s21,s20,s19,s18,s17,s16, + s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0; + +wire c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, + w00, w01, w02, w03, + w10, w11, w12, w13, + w20, w21, w22, w23, + w30, w31, w32, w33, + w40, w41, w42, w43, + w50, w51, w52, w53, + w60, w61, w62, w63, + w70, w71, w72, w73, + w80, w81, w82, w83, + w90, w91, w92, w93, + w100, w101, w102, w103, + w110, w111, w112, w113, + w120, w121, w122, w123, + w130, w131, w132, w133, + w140, w141, w142, w143, + w150, w151, w152, w153, + w160, w161, w162, w163, + w170, w171, w172, w173, + w180, w181, w182, w183, + w190, w191, w192, w193, + w200, w201, w202, w203, + w210, w211, w212, w213, + w220, w221, w222, w223, + w230, w231, w232, w233, + w240, w241, w242, w243, + w250, w251, w252, w253, + w260, w261, w262, w263, + w270, w271, w272, w273, + w280, w281, w282, w283, + w290, w291, w292, w293, + w300, w301, w302, w303, + w310, w311, w312, w313; + + + + +and g0(w00, a0, b0); +and g1(w01, c0, b0); +and g2(w02, a0, c0); +or g3(c1, w00, w01, w02); +xor g4(w03, a0, b0); +xor g5(s0, w03, c0); + +and ag0(w10, a1, b1); +and ag1(w11, c1, b1); +and ag2(w12, a1, c1); +or ag3(c2, w10, w11, w12); +xor ag4(w13, a1, b1); +xor ag5(s1, w13, c1); + +and bg0(w20, a2, b2); +and bg1(w21, c2, b2); +and bg2(w22, a2, c2); +or bg3(c3, w20, w21, w22); +xor bg4(w23, a2, b2); +xor bg5(s2, w23, c2); + +and cg0(w30, a3, b3); +and cg1(w31, c3, b3); +and cg2(w32, a3, c3); +or cg3(c4, w30, w31, w32); +xor cg4(w33, a3, b3); +xor cg5(s3, w33, c3); + + + +and dg0(w40, a4, b4); +and dg1(w41, c4, b4); +and dg2(w42, a4, c4); +or dg3(c5, w40, w41, w42); +xor dg4(w43, a4, b4); +xor dg5(s4, w43, c4); + +and eg0(w50, a5, b5); +and eg1(w51, c5, b5); +and eg2(w52, a5, c5); +or eg3(c6, w50, w51, w52); +xor eg4(w53, a5, b5); +xor eg5(s5, w53, c5); + +and fg0(w60, a6, b6); +and fg1(w61, c6, b6); +and fg2(w62, a6, c6); +or fg3(c7, w60, w61, w62); +xor fg4(w63, a6, b6); +xor fg5(s6, w63, c6); + +and gg0(w70, a7, b7); +and gg1(w71, c7, b7); +and gg2(w72, a7, c7); +or gg3(c8, w70, w71, w72); +xor gg4(w73, a7, b7); +xor gg5(s7, w73, c7); + + + +and hg0(w80, a8, b8); +and hg1(w81, c8, b8); +and hg2(w82, a8, c8); +or hg3(c9, w80, w81, w82); +xor hg4(w83, a8, b8); +xor hg5(s8, w83, c8); + +and ig0(w90, a9, b9); +and ig1(w91, c9, b9); +and ig2(w92, a9, c9); +or ig3(c10, w90, w91, w92); +xor ig4(w93, a9, b9); +xor ig5(s9, w93, c9); + +and jg0(w100, a10, b10); +and jg1(w101, c10, b10); +and jg2(w102, a10, c10); +or jg3(c11, w100, w101, w102); +xor jg4(w103, a10, b10); +xor jg5(s10, w103, c10); + +and kg0(w110, a11, b11); +and kg1(w111, c11, b11); +and kg2(w112, a11, c11); +or kg3(c12, w110, w111, w112); +xor kg4(w113, a11, b11); +xor kg5(s11, w113, c11); + + + +and lg0(w120, a12, b12); +and lg1(w121, c12, b12); +and lg2(w122, a12, c12); +or lg3(c13, w120, w121, w122); +xor lg4(w123, a12, b12); +xor lg5(s12, w123, c12); + +and mg0(w130, a13, b13); +and mg1(w131, c13, b13); +and mg2(w132, a13, c13); +or mg3(c14, w130, w131, w132); +xor mg4(w133, a13, b13); +xor mg5(s13, w133, c13); + +and ng0(w140, a14, b14); +and ng1(w141, c14, b14); +and ng2(w142, a14, c14); +or ng3(c15, w140, w141, w142); +xor ng4(w143, a14, b14); +xor ng5(s14, w143, c14); + +and og0(w150, a15, b15); +and og1(w151, c15, b15); +and og2(w152, a15, c15); +or og3(c16, w150, w151, w152); +xor og4(w153, a15, b15); +xor og5(s15, w153, c15); + + + +and pg0(w160, a16, b16); +and pg1(w161, c16, b16); +and pg2(w162, a16, c16); +or pg3(c17, w160, w161, w162); +xor pg4(w163, a16, b16); +xor pg5(s16, w163, c16); + +and qg0(w170, a17, b17); +and qg1(w171, c17, b17); +and qg2(w172, a17, c17); +or qg3(c18, w170, w171, w172); +xor qg4(w173, a17, b17); +xor qg5(s17, w173, c17); + +and rg0(w180, a18, b18); +and rg1(w181, c18, b18); +and rg2(w182, a18, c18); +or rg3(c19, w180, w181, w182); +xor rg4(w183, a18, b18); +xor rg5(s18, w183, c18); + +and sg0(w190, a19, b19); +and sg1(w191, c19, b19); +and sg2(w192, a19, c19); +or sg3(c20, w190, w191, w192); +xor sg4(w193, a19, b19); +xor sg5(s19, w193, c19); + + + +and tg0(w200, a20, b20); +and tg1(w201, c20, b20); +and tg2(w202, a20, c20); +or tg3(c21, w200, w201, w202); +xor tg4(w203, a20, b20); +xor tg5(s20, w203, c20); + +and ug0(w210, a21, b21); +and ug1(w211, c21, b21); +and ug2(w212, a21, c21); +or ug3(c22, w210, w211, w212); +xor ug4(w213, a21, b21); +xor ug5(s21, w213, c21); + +and vg0(w220, a22, b22); +and vg1(w221, c22, b22); +and vg2(w222, a22, c22); +or vg3(c23, w220, w221, w222); +xor vg4(w223, a22, b22); +xor vg5(s22, w223, c22); + +and wg0(w230, a23, b23); +and wg1(w231, c23, b23); +and wg2(w232, a23, c23); +or wg3(c24, w230, w231, w232); +xor wg4(w233, a23, b23); +xor wg5(s23, w233, c23); + + + +and yg0(w240, a24, b24); +and yg1(w241, c24, b24); +and yg2(w242, a24, c24); +or yg3(c25, w240, w241, w242); +xor yg4(w243, a24, b24); +xor yg5(s24, w243, c24); + +and zg0(w250, a25, b25); +and zg1(w251, c25, b25); +and zg2(w252, a25, c25); +or zg3(c26, w250, w251, w252); +xor zg4(w253, a25, b25); +xor zg5(s25, w253, c25); + +and g0a(w260, a26, b26); +and g1a(w261, c26, b26); +and g2a(w262, a26, c26); +or g3a(c27, w260, w261, w262); +xor g4a(w263, a26, b26); +xor g5a(s26, w263, c26); + +and g0b(w270, a27, b27); +and g1b(w271, c27, b27); +and g2b(w272, a27, c27); +or g3b(c28, w270, w271, w272); +xor g4b(w273, a27, b27); +xor g5b(s27, w273, c27); + + + +and g0c(w280, a28, b28); +and g1c(w281, c28, b28); +and g2c(w282, a28, c28); +or g3c(c29, w280, w281, w282); +xor g4c(w283, a28, b28); +xor g5c(s28, w283, c28); + +and g0d(w290, a29, b29); +and g1d(w291, c29, b29); +and g2d(w292, a29, c29); +or g3d(c30, w290, w291, w292); +xor g4d(w293, a29, b29); +xor g5d(s29, w293, c29); + +and g0e(w300, a30, b30); +and g1e(w301, c30, b30); +and g2e(w302, a30, c30); +or g3e(c31, w300, w301, w302); +xor g4e(w303, a30, b30); +xor g5e(s30, w303, c30); + +and g0f(w310, a31, b31); +and g1f(w311, c31, b31); +and g2f(w312, a31, c31); +or g3f(cout, w310, w311, w312); +xor g4f(w313, a31, b31); +xor g5f(s31, w313, c31); + +endmodule diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_32bit.v b/SupplementaryMaterials/Adder32Bit_Files/adder_32bit.v new file mode 100644 index 0000000..9460982 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_32bit.v @@ -0,0 +1,28 @@ + +module adder_32bit(a31,a30,a29,a28,a27,a26,a25,a24,a23,a22,a21,a20,a19,a18,a17,a16, + a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0, + b31,b30,b29,b28,b27,b26,b25,b24,b23,b22,b21,b20,b19,b18,b17,b16, + b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,cin, + cout,s31,s30,s29,s28,s27,s26,s25,s24,s23,s22,s21,s20,s19,s18,s17,s16, + s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0); + +input a31,a30,a29,a28,a27,a26,a25,a24,a23,a22,a21,a20,a19,a18,a17,a16, + a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0, + b31,b30,b29,b28,b27,b26,b25,b24,b23,b22,b21,b20,b19,b18,b17,b16, + b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,cin; + +output cout,s31,s30,s29,s28,s27,s26,s25,s24,s23,s22,s21,s20,s19,s18,s17,s16, + s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0; + +wire c16; + +adder_16bit g0(a15,a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0, + b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0,cin, + c16,s15,s14,s13,s12,s11,s10,s9,s8,s7,s6,s5,s4,s3,s2,s1,s0); + +adder_16bit g1(a31,a30,a29,a28,a27,a26,a25,a24,a23,a22,a21,a20,a19,a18,a17,a16, + b31,b30,b29,b28,b27,b26,b25,b24,b23,b22,b21,b20,b19,b18,b17,b16,c16, + cout,s31,s30,s29,s28,s27,s26,s25,s24,s23,s22,s21,s20,s19,s18,s17,s16); + + +endmodule \ No newline at end of file diff --git a/SupplementaryMaterials/Adder32Bit_Files/adder_4bit.v b/SupplementaryMaterials/Adder32Bit_Files/adder_4bit.v new file mode 100644 index 0000000..0bfdca5 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/adder_4bit.v @@ -0,0 +1,18 @@ + +module adder_4bit(a3, a2, a1, a0, + b3, b2, b1, b0, cin, + cout, s3 ,s2 ,s1, s0); + +input a3, a2, a1, a0, b3, b2, b1, b0, cin; + +output cout, s3 ,s2 ,s1, s0; + +wire c1, c2, c3; + +fa g0(a0, b0, cin, c1, s0); +fa g1(a1, b1, c1, c2, s1); +fa g2(a2, b2, c2, c3, s2); +fa g3(a3, b3, c3, cout, s3); + + +endmodule diff --git a/SupplementaryMaterials/Adder32Bit_Files/fa.v b/SupplementaryMaterials/Adder32Bit_Files/fa.v new file mode 100644 index 0000000..53c568c --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/fa.v @@ -0,0 +1,19 @@ + +module fa(a, b, cin, cout, s); + +input a, b, cin; + +output s, cout; + +wire w0, w1, w2, w3; + +and g0(w0, a, b); +and g1(w1, cin, b); +and g2(w2, a, cin); +or g3(cout, w0, w1, w2); + +xor g4(w3, a, b); +xor g5(s, w3, cin); + + +endmodule \ No newline at end of file diff --git a/SupplementaryMaterials/Adder32Bit_Files/input_criticalpath.csv b/SupplementaryMaterials/Adder32Bit_Files/input_criticalpath.csv new file mode 100644 index 0000000..f1bc98e --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/input_criticalpath.csv @@ -0,0 +1,2 @@ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0; diff --git a/SupplementaryMaterials/Adder32Bit_Files/plode_input_criticalpath.txt b/SupplementaryMaterials/Adder32Bit_Files/plode_input_criticalpath.txt new file mode 100644 index 0000000..c2973af --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/plode_input_criticalpath.txt @@ -0,0 +1,65 @@ +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +01 +00 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +00 diff --git a/SupplementaryMaterials/Adder32Bit_Files/plode_input_criticalpath2.txt b/SupplementaryMaterials/Adder32Bit_Files/plode_input_criticalpath2.txt new file mode 100644 index 0000000..d4ff9b0 --- /dev/null +++ b/SupplementaryMaterials/Adder32Bit_Files/plode_input_criticalpath2.txt @@ -0,0 +1,65 @@ +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +01 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +00 diff --git a/SupplementaryMaterials/InputVectors/c1355_plode_input.txt b/SupplementaryMaterials/InputVectors/c1355_plode_input.txt new file mode 100644 index 0000000..01ae7eb --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c1355_plode_input.txt @@ -0,0 +1,41 @@ +0010011001 +0000110001 +0110110110 +0000100010 +0100000101 +1001101100 +0100111111 +0001010111 +1100100100 +0111101011 +1101111011 +0111010010 +1000001111 +1101011011 +1000111111 +1001101101 +1001100011 +1001101010 +0110000011 +0100001011 +1110101000 +1100000011 +0111000000 +1001010001 +0001100010 +0100101011 +1001101101 +0000000001 +1101001001 +0011001000 +1000001110 +0110001110 +0010011001 +1011111100 +1010101100 +0100010010 +1101100011 +0010101000 +1110111011 +1010111011 +1010111010 diff --git a/SupplementaryMaterials/InputVectors/c1908_plode_input.txt b/SupplementaryMaterials/InputVectors/c1908_plode_input.txt new file mode 100644 index 0000000..d7f2c09 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c1908_plode_input.txt @@ -0,0 +1,33 @@ +0110111000 +0101110010 +0000111011 +0111001000 +0000111001 +1101011001 +0110101100 +0100111110 +1000111010 +0000011100 +1110000010 +0010000010 +1101000110 +1010111110 +1101111110 +1001110110 +1111010011 +1101101000 +0110001000 +0100110010 +1001101111 +1101001111 +0001000010 +1001010001 +0000110101 +0010010110 +1100000000 +0110100110 +1100000110 +0101000110 +1100001110 +0001000010 +0000010100 diff --git a/SupplementaryMaterials/InputVectors/c2670_plode_input.txt b/SupplementaryMaterials/InputVectors/c2670_plode_input.txt new file mode 100644 index 0000000..85a0968 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c2670_plode_input.txt @@ -0,0 +1,233 @@ +0001011011 +0001101001 +0001011110 +0011001010 +0110111111 +1110101011 +0000010010 +0110000011 +1001101000 +0000011000 +1111010011 +0110100100 +1111010100 +1110110101 +1010101110 +1001011110 +1011101101 +1010011010 +0100010000 +0110100011 +1001100011 +1010011100 +0110010011 +1111011010 +0010100010 +0100001100 +1111001110 +0111100111 +1111001000 +0001010101 +1111011110 +0010000000 +0110100000 +1110001010 +1011011111 +0001101101 +1011010010 +0001100000 +1111000010 +1110001010 +1010000000 +0110000101 +0111100011 +1101010001 +0110011100 +1100111001 +0100111110 +1111100100 +0000111111 +1011111000 +1110010010 +1100110011 +1111010011 +0101111010 +1000110100 +0010110101 +0101011010 +0000111010 +0100100001 +1110111001 +1110100000 +1101000100 +1110011001 +1011100001 +0010000000 +0011000110 +1100101000 +0011010000 +0110101011 +1101010010 +0000011101 +0010101000 +1001100101 +0011011000 +0010100001 +0011011110 +1010100110 +1011011011 +0011111111 +1011001100 +0111010111 +0001011110 +1000011001 +0010111000 +1101111110 +0111001100 +0010100110 +0110001001 +0100011000 +0001111110 +0001010100 +1001011011 +0010010011 +1001001111 +0001011101 +0011100101 +0010100000 +0111110011 +0111011010 +0011000110 +1000001111 +0110001111 +1111000110 +0000010111 +1110000000 +0110111100 +0110011110 +0111000101 +0100010101 +0110001001 +0011100010 +1100111111 +0111010000 +1101011101 +1101101010 +1000011001 +1100100010 +0001110100 +0001010000 +1110001011 +1110111110 +1001010000 +1010010111 +0000011010 +0000110001 +0100010011 +0101111100 +0001111001 +1000111000 +0000111111 +1110111000 +0100110110 +1001101111 +1100100100 +1110001101 +0101010011 +1110101001 +0111101100 +1001110010 +1010110010 +1101100001 +0000100100 +0100011010 +0100010000 +0001010101 +1111010000 +1111110100 +1001101101 +0100110110 +1111111110 +0110100011 +1100101101 +1101000001 +0010001000 +0101010011 +0111011011 +1001111001 +0101001001 +0000101111 +1100010100 +0010010111 +0101010101 +0111011101 +0101001111 +0111010111 +1000100010 +1010111100 +1011011010 +0101100100 +1011110111 +1000010001 +0001100011 +1101011000 +1010010001 +1110101010 +0101000100 +0011000011 +0100100111 +1001011110 +1101000110 +1001001011 +1111011001 +0110111000 +0101101111 +1011101100 +0000000111 +0111001001 +0010111110 +1101110010 +1001000110 +1000010101 +0100111000 +0001111110 +0110111110 +0101110110 +0000101111 +0000011100 +1011001100 +1000110001 +0110101110 +1011010001 +1000110001 +1101110000 +1010001000 +1111110000 +1101100001 +1001111010 +1111010111 +0111000110 +0010110010 +0100111100 +1010010100 +1000100101 +0000111110 +0011111101 +1010100111 +1111001011 +0110011011 +1011100010 +1001011100 +0011100101 +0001100001 +0011011111 +0001000101 +0100101011 +0011010111 +0001111101 +0011001111 +1001011111 +0100010100 +0011011011 +0001011111 +0001011001 diff --git a/SupplementaryMaterials/InputVectors/c3540_plode_input.txt b/SupplementaryMaterials/InputVectors/c3540_plode_input.txt new file mode 100644 index 0000000..15749d2 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c3540_plode_input.txt @@ -0,0 +1,50 @@ +0110100001 +0101111010 +0111111100 +0000100100 +0110100000 +1000110010 +0001110000 +0000100011 +1000010110 +0101010100 +1100010010 +0110110000 +1100100011 +1110011100 +1010000110 +1011110010 +1111110110 +1001001100 +0000101100 +0111100111 +1011001101 +1010011011 +0111010000 +1001000101 +0001010010 +0000010100 +1100010111 +0100010011 +1011110101 +0101010101 +1011011001 +0001001100 +0110000111 +1010010101 +1111011100 +0000011111 +1010010000 +0000101111 +1011101111 +1011011001 +1011101111 +0100011010 +0000011101 +1100110011 +0000111101 +1010111100 +0010101101 +1011001101 +0001000001 +1010011011 diff --git a/SupplementaryMaterials/InputVectors/c432_plode_input.txt b/SupplementaryMaterials/InputVectors/c432_plode_input.txt new file mode 100644 index 0000000..fa93f9d --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c432_plode_input.txt @@ -0,0 +1,36 @@ +0110011100 +0000110010 +0100101000 +0101101110 +0110010110 +1011100010 +0001000111 +0111100111 +1001110100 +0100010100 +1010010001 +0101000111 +1011101000 +1101000111 +1101000111 +1100100001 +1100000001 +1000010001 +0100010001 +0010000100 +1001010101 +1010111001 +0001111101 +1100110101 +0101011100 +0101110111 +1101110100 +0100011100 +1011101101 +0000101011 +1111101010 +0001010100 +0011010110 +1100000110 +1000100101 +0000111001 diff --git a/SupplementaryMaterials/InputVectors/c499_plode_input.txt b/SupplementaryMaterials/InputVectors/c499_plode_input.txt new file mode 100644 index 0000000..01ae7eb --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c499_plode_input.txt @@ -0,0 +1,41 @@ +0010011001 +0000110001 +0110110110 +0000100010 +0100000101 +1001101100 +0100111111 +0001010111 +1100100100 +0111101011 +1101111011 +0111010010 +1000001111 +1101011011 +1000111111 +1001101101 +1001100011 +1001101010 +0110000011 +0100001011 +1110101000 +1100000011 +0111000000 +1001010001 +0001100010 +0100101011 +1001101101 +0000000001 +1101001001 +0011001000 +1000001110 +0110001110 +0010011001 +1011111100 +1010101100 +0100010010 +1101100011 +0010101000 +1110111011 +1010111011 +1010111010 diff --git a/SupplementaryMaterials/InputVectors/c5315_plode_input.txt b/SupplementaryMaterials/InputVectors/c5315_plode_input.txt new file mode 100644 index 0000000..8b373ca --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c5315_plode_input.txt @@ -0,0 +1,178 @@ +0101001110 +0100011100 +0110101111 +0111111100 +0000001010 +1001001000 +0101010001 +0011100110 +1011000110 +0001010111 +1111101101 +0111011100 +1111001001 +1010111111 +1010111000 +1001111001 +1000110100 +1011110100 +0001000011 +0111000010 +1110001011 +1000100000 +0110101111 +1110110011 +0101100101 +0110110100 +1110000001 +0111010111 +1111010001 +0111111000 +1001111110 +0011010111 +0010011100 +1101001011 +1111110100 +0000011000 +1011110110 +0101010100 +1111001000 +1011110100 +1110110111 +0111011101 +0001000111 +1000110101 +0001000111 +1010000111 +0000011100 +1000011110 +0000101100 +1010000110 +1100110101 +1011001010 +1011101010 +0000010010 +1011100101 +0000011011 +0010111011 +0000001110 +0010011111 +1110101011 +1110100000 +1000010110 +1101111110 +1010001111 +0000100101 +0110101110 +1101111000 +0100100110 +0111101110 +1001011000 +0010001001 +0011100000 +1000100010 +0100001101 +0100011110 +0000000111 +1010101001 +1101111001 +0101101100 +1010011110 +0100100110 +0111100100 +1111101000 +0100000111 +1010111001 +0111101110 +0000100100 +0111010010 +0100011110 +0000110110 +0000011001 +1000010100 +0001000100 +1110010010 +0111100011 +0000010000 +0101010000 +0100111110 +0101000000 +0101111001 +1100110110 +0111111111 +1100010010 +0000001010 +1000100011 +0101110001 +0111001110 +0100001101 +0101110011 +0000001101 +0000011111 +1100000110 +0000001100 +1111110101 +1111111001 +1110001101 +1101010010 +0110000100 +0001011001 +1001101101 +1010011100 +1110000110 +1010100001 +0110000111 +0110100001 +0001110110 +0010011100 +0010101010 +1000010101 +0011000111 +1000000111 +0011111011 +1011100111 +1010101100 +1010100001 +0101000001 +1011100111 +0010010011 +1010010100 +1101110000 +1111001011 +0011101110 +0110101001 +0111101000 +0010100100 +1000001100 +1011001011 +1001011100 +0011101110 +1011101101 +0011101100 +1010101101 +1111011110 +0100011100 +0011101110 +0000100111 +1100111110 +0111000110 +0000110011 +1111111000 +0110000111 +0100000111 +0111110001 +0100100001 +0100001000 +1011100010 +1101111111 +1101101110 +0101110100 +1110010110 +1010111011 +0100110010 +1010011000 +1011110111 +1110011000 +0111111101 +0000100001 +0011001111 diff --git a/SupplementaryMaterials/InputVectors/c6288_plode_input.txt b/SupplementaryMaterials/InputVectors/c6288_plode_input.txt new file mode 100644 index 0000000..0d9fc36 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c6288_plode_input.txt @@ -0,0 +1,32 @@ +0111101001 +1101110000 +0100000011 +1011101000 +1110110011 +1111001010 +0111001010 +0111101010 +0101000000 +1110100011 +1000001100 +0011101001 +0101000100 +0010001101 +1010011111 +0100111110 +1001110111 +0111000101 +0001001000 +1101100011 +0000110011 +0111101011 +1001010100 +0000101010 +1011011100 +1011010001 +0101011110 +1100101101 +0011000111 +1010100001 +1100011001 +1111111101 diff --git a/SupplementaryMaterials/InputVectors/c7552_plode_input.txt b/SupplementaryMaterials/InputVectors/c7552_plode_input.txt new file mode 100644 index 0000000..47a9e2d --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c7552_plode_input.txt @@ -0,0 +1,207 @@ +0100101011 +1010110110 +0001111100 +1110100011 +1011001111 +1001100000 +0111111000 +0011111001 +0111101001 +1111000101 +1011101000 +0111000111 +0111100110 +0001011011 +1011001000 +0100000111 +1100111010 +0010011100 +0001111100 +1011110011 +0000101001 +0011000000 +1010111110 +0011100111 +1010011100 +1000111001 +0010111001 +1110110100 +0011001101 +1101100111 +1100000110 +1101010100 +1101011100 +1111001000 +1101001001 +0010011101 +1000110000 +1001111011 +1011010111 +1110010100 +1000101100 +1111011111 +0010101100 +0100100000 +1100011001 +0100101101 +0011010010 +1010011110 +0100001110 +1010111110 +0010000010 +1111001110 +0011010111 +1100011100 +0100000101 +0111100100 +0111011001 +0001010111 +1111001110 +1011000111 +0011011101 +0001110100 +1010011101 +1100011001 +1101001111 +0110000101 +0010000001 +1000101110 +1101010101 +1111111010 +1100110100 +1000100000 +0101010100 +1000000111 +0000111101 +1100000100 +0011100101 +1101100101 +1001101001 +0011010110 +0000010101 +1101001010 +0011001011 +0101100000 +0000110010 +1101001000 +0000111000 +0011011100 +1010110111 +1010110110 +0101001100 +0011100110 +1111010100 +1001101000 +0111010110 +1101001111 +1011111011 +1101110011 +0111001010 +1001011010 +0101101001 +1100100001 +1101000011 +1000010000 +1001111110 +0001000111 +0110000101 +1001101000 +1110101111 +0101101010 +0101111100 +0101100110 +1110111001 +1000101011 +1011101110 +1001010010 +0000001111 +1111011001 +1010111001 +0001101010 +1000100111 +1010111101 +1011010100 +0101100111 +1010111011 +0000100100 +0100111100 +1101111011 +1101001110 +1100000001 +0111111001 +1000111000 +1001011100 +0110111011 +0001011101 +1011000000 +0101011010 +1111001100 +0010000011 +1000000011 +0100101011 +0010011110 +0101011001 +1001111100 +1010101111 +0101111011 +0011010100 +1010101001 +1000000110 +1111111010 +0010111111 +1011001001 +0101010101 +0011001011 +0111111110 +1100001011 +0000001010 +1011000110 +0101011011 +1000101010 +0111111011 +1110011001 +0010111110 +0010101101 +1100101011 +0001100001 +0110101000 +0000011010 +0111011101 +0011101011 +0001011101 +0001111101 +0000110100 +0101001111 +1111110101 +1111010010 +1000000111 +0000110001 +0010011010 +0011100010 +1110000000 +0001011001 +1000010101 +0011011001 +1001000000 +1110011111 +1110100111 +0100010100 +0110110010 +0011010100 +1111101100 +1011000001 +1010100111 +0010011111 +0101100011 +1000000110 +0000010100 +1000100101 +1010100110 +1111010100 +0111111011 +0010010001 +1010110100 +1110110000 +0011100111 +1001011010 +1101010001 diff --git a/SupplementaryMaterials/InputVectors/c880_plode_input.txt b/SupplementaryMaterials/InputVectors/c880_plode_input.txt new file mode 100644 index 0000000..c87db35 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/c880_plode_input.txt @@ -0,0 +1,60 @@ +0111100011 +0111010101 +0110010011 +0100101011 +0001101101 +1000100011 +0100101101 +0000001110 +1011001010 +0101001011 +1011001010 +0000100001 +1110100111 +1010011011 +1010000010 +1000101100 +1110101010 +1101010110 +0011111111 +0110101010 +1011110110 +1001111101 +0101001011 +1001101101 +0101001011 +0011101011 +1011100010 +0011001011 +1000001011 +0010000100 +1000011111 +0111110001 +0011101001 +1100000011 +1000111000 +0001111011 +1011101011 +0000111100 +1001110011 +1011110000 +1100110000 +0000011010 +0100010100 +1000100000 +0100110000 +1010111011 +0010110011 +1010011000 +0001001011 +1010110110 +1010001110 +1100100110 +1010111000 +0110110110 +1110101010 +0100101000 +0100001101 +0001000110 +0011010100 +1110111110 diff --git a/SupplementaryMaterials/InputVectors/s13207_plode_input.txt b/SupplementaryMaterials/InputVectors/s13207_plode_input.txt new file mode 100644 index 0000000..fd3854d --- /dev/null +++ b/SupplementaryMaterials/InputVectors/s13207_plode_input.txt @@ -0,0 +1,63 @@ +000 +111 +000 +001 +011 +011 +100 +000 +101 +001 +100 +100 +110 +010 +110 +101 +110 +100 +111 +010 +111 +111 +111 +101 +100 +101 +010 +001 +011 +110 +111 +000 +110 +100 +010 +011 +011 +111 +010 +101 +000 +001 +100 +010 +011 +101 +101 +010 +111 +001 +100 +011 +010 +001 +010 +100 +001 +000 +110 +011 +001 +001 +101 diff --git a/SupplementaryMaterials/InputVectors/s13207_plode_input10.txt b/SupplementaryMaterials/InputVectors/s13207_plode_input10.txt new file mode 100644 index 0000000..b7bbccc --- /dev/null +++ b/SupplementaryMaterials/InputVectors/s13207_plode_input10.txt @@ -0,0 +1,63 @@ +0000000000 +0101101101 +0001101010 +1001000011 +0111010011 +0001010101 +0101100011 +0000000011 +0111010010 +0110010110 +0000001110 +0111110101 +0101110011 +1110000011 +0111111110 +1101110001 +0110000011 +1001001111 +0100010110 +1111101101 +1001101100 +0010010001 +0010000101 +1000001001 +1110000101 +1111011000 +1101100110 +0111001001 +1000111100 +1100001010 +1010001001 +1011000101 +1010010001 +1001010101 +0111111100 +0011011101 +0101110111 +1110000010 +0011101101 +1101100111 +1111000110 +0111100110 +1010010011 +0010111000 +0000011001 +1110110100 +1010100111 +0011001000 +1011010101 +0000010001 +0111101000 +1000111111 +0001010010 +1001011011 +0101001111 +0110101000 +0101001111 +0010101111 +0111110101 +1001000000 +0101010010 +0000010001 +0111111111 diff --git a/SupplementaryMaterials/InputVectors/s1423_input_data50.txt b/SupplementaryMaterials/InputVectors/s1423_input_data50.txt new file mode 100644 index 0000000..8364157 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/s1423_input_data50.txt @@ -0,0 +1,50 @@ +11100000101001101 +11000010110011000 +01011001110111010 +11000010010110101 +10111001101011110 +11010100011010110 +01110111111001001 +10010100101101111 +10000011100100001 +01011010100101000 +11000101001110011 +11110010100010100 +10001011011000110 +11010010001001011 +00000101000000101 +00011100100111000 +10010001000011010 +01101111001110110 +00101010000000111 +11101110101000111 +00110000111011000 +11010111000011001 +01100101110001111 +00100010000011001 +10010010010011110 +10000010100111100 +00111011000111110 +00100010000101011 +00110110110110111 +10101010100111100 +00001111110001011 +10100110000000100 +11011101011000000 +11000100111011010 +00000011100000100 +11001110010110111 +11010110101100010 +01000000011100100 +01000000111010100 +10111110111000100 +10101110110000010 +00111111101000011 +01001010111011111 +11010111000001010 +01101000010111100 +01111001001100011 +00011001000110100 +10111001101001111 +00000110001000001 +00001111101011011 diff --git a/SupplementaryMaterials/InputVectors/s1423_plode_input.txt b/SupplementaryMaterials/InputVectors/s1423_plode_input.txt new file mode 100644 index 0000000..bb34192 --- /dev/null +++ b/SupplementaryMaterials/InputVectors/s1423_plode_input.txt @@ -0,0 +1,18 @@ +0000000000 +0111000001 +0011010110 +1100100110 +1001101010 +0001100011 +0111010101 +0111111101 +1001010010 +0111000010 +1001000001 +0011101111 +0000001011 +0011110011 +1011110111 +0110101000 +0010010100 +0101110001 diff --git a/SupplementaryMaterials/InputVectors/s1423_plode_input50.txt b/SupplementaryMaterials/InputVectors/s1423_plode_input50.txt new file mode 100644 index 0000000..66422af --- /dev/null +++ b/SupplementaryMaterials/InputVectors/s1423_plode_input50.txt @@ -0,0 +1,18 @@ +00000000000000000000000000000000000000000000000000 +11011101101111001001010011000101110110011001000100 +11110110011101000101011000000000110111100011110000 +10001010000100000111101100111101000000011100110100 +00101111010101011000110010101000100010010101011100 +00101000010010010111000000100110100100011110111101 +00000111001000110101011000001011110110011101000011 +01010010110111000111010111111111001110011111000011 +00101010101010101100011000100010101000000101011101 +11101011110100010001101001001110011010111110000101 +01110110000010000000101010001010110101111010100000 +10001111001011000101100000000000110011110110010111 +00110001111000010100000001111100000111000000111000 +01111100001100011100110111101100010100100010101001 +11101011010001011000111111110110010000000011100101 +10011101000110100111001011101101001101110010101100 +00101101001011001111001010111010010110001111010101 +10010011101001100011011100011010000100000110010111 diff --git a/SupplementaryMaterials/InputVectors/single_path_input.txt b/SupplementaryMaterials/InputVectors/single_path_input.txt new file mode 100644 index 0000000..86257cd --- /dev/null +++ b/SupplementaryMaterials/InputVectors/single_path_input.txt @@ -0,0 +1 @@ +010 diff --git a/SupplementaryMaterials/Iscas85Verilog/c1355.v b/SupplementaryMaterials/Iscas85Verilog/c1355.v new file mode 100644 index 0000000..3006d5c --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c1355.v @@ -0,0 +1,604 @@ +//Ninputs 41 +//Noutputs 32 + +module c1355(G1,G10,G11,G12,G13,G1324,G1325,G1326,G1327,G1328,G1329,G1330, + G1331,G1332,G1333,G1334,G1335,G1336,G1337,G1338,G1339,G1340,G1341,G1342, + G1343,G1344,G1345,G1346,G1347,G1348,G1349,G1350,G1351,G1352,G1353,G1354, + G1355,G14,G15,G16,G17,G18,G19,G2,G20,G21,G22,G23,G24,G25,G26,G27,G28,G29,G3, + G30,G31,G32,G33,G34,G35,G36,G37,G38,G39,G4,G40,G41,G5,G6,G7,G8,G9); + +input G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16,G17,G18,G19,G20, + G21,G22,G23,G24,G25,G26,G27,G28,G29,G30,G31,G32,G33,G34,G35,G36,G37,G38,G39, + G40,G41; + +output G1324,G1325,G1326,G1327,G1328,G1329,G1330,G1331,G1332,G1333,G1334,G1335, + G1336,G1337,G1338,G1339,G1340,G1341,G1342,G1343,G1344,G1345,G1346,G1347, + G1348,G1349,G1350,G1351,G1352,G1353,G1354,G1355; + +wire G242,G245,G248,G251,G254,G257,G260,G263,G266,G269,G272,G275,G278,G281, + G284,G287,G290,G293,G296,G299,G302,G305,G308,G311,G314,G317,G320,G323,G326, + G329,G332,G335,G338,G341,G344,G347,G350,G353,G356,G359,G362,G363,G364,G365, + G366,G367,G368,G369,G370,G371,G372,G373,G374,G375,G376,G377,G378,G379,G380, + G381,G382,G383,G384,G385,G386,G387,G388,G389,G390,G391,G392,G393,G394,G395, + G396,G397,G398,G399,G400,G401,G402,G403,G404,G405,G406,G407,G408,G409,G410, + G411,G412,G413,G414,G415,G416,G417,G418,G419,G420,G421,G422,G423,G424,G425, + G426,G429,G432,G435,G438,G441,G444,G447,G450,G453,G456,G459,G462,G465,G468, + G471,G474,G477,G480,G483,G486,G489,G492,G495,G498,G501,G504,G507,G510,G513, + G516,G519,G522,G525,G528,G531,G534,G537,G540,G543,G546,G549,G552,G555,G558, + G561,G564,G567,G570,G571,G572,G573,G574,G575,G576,G577,G578,G579,G580,G581, + G582,G583,G584,G585,G586,G587,G588,G589,G590,G591,G592,G593,G594,G595,G596, + G597,G598,G599,G600,G601,G602,G607,G612,G617,G622,G627,G632,G637,G642,G645, + G648,G651,G654,G657,G660,G663,G666,G669,G672,G675,G678,G681,G684,G687,G690, + G691,G692,G693,G694,G695,G696,G697,G698,G699,G700,G701,G702,G703,G704,G705, + G706,G709,G712,G715,G718,G721,G724,G727,G730,G733,G736,G739,G742,G745,G748, + G751,G754,G755,G756,G757,G758,G759,G760,G761,G762,G763,G764,G765,G766,G767, + G768,G769,G770,G773,G776,G779,G782,G785,G788,G791,G794,G797,G800,G803,G806, + G809,G812,G815,G818,G819,G820,G821,G822,G823,G824,G825,G826,G827,G828,G829, + G830,G831,G832,G833,G834,G847,G860,G873,G886,G899,G912,G925,G938,G939,G940, + G941,G942,G943,G944,G945,G946,G947,G948,G949,G950,G951,G952,G953,G954,G955, + G956,G957,G958,G959,G960,G961,G962,G963,G964,G965,G966,G967,G968,G969,G970, + G971,G972,G973,G974,G975,G976,G977,G978,G979,G980,G981,G982,G983,G984,G985, + G986,G991,G996,G1001,G1006,G1011,G1016,G1021,G1026,G1031,G1036,G1039,G1042, + G1045,G1048,G1051,G1054,G1057,G1060,G1063,G1066,G1069,G1072,G1075,G1078, + G1081,G1084,G1087,G1090,G1093,G1096,G1099,G1102,G1105,G1108,G1111,G1114, + G1117,G1120,G1123,G1126,G1129,G1132,G1135,G1138,G1141,G1144,G1147,G1150, + G1153,G1156,G1159,G1162,G1165,G1168,G1171,G1174,G1177,G1180,G1183,G1186, + G1189,G1192,G1195,G1198,G1201,G1204,G1207,G1210,G1213,G1216,G1219,G1222, + G1225,G1228,G1229,G1230,G1231,G1232,G1233,G1234,G1235,G1236,G1237,G1238, + G1239,G1240,G1241,G1242,G1243,G1244,G1245,G1246,G1247,G1248,G1249,G1250, + G1251,G1252,G1253,G1254,G1255,G1256,G1257,G1258,G1259,G1260,G1261,G1262, + G1263,G1264,G1265,G1266,G1267,G1268,G1269,G1270,G1271,G1272,G1273,G1274, + G1275,G1276,G1277,G1278,G1279,G1280,G1281,G1282,G1283,G1284,G1285,G1286, + G1287,G1288,G1289,G1290,G1291,G1292,G1293,G1294,G1295,G1296,G1297,G1298, + G1299,G1300,G1301,G1302,G1303,G1304,G1305,G1306,G1307,G1308,G1309,G1310, + G1311,G1312,G1313,G1314,G1315,G1316,G1317,G1318,G1319,G1320,G1321,G1322, + G1323; + + and AND2_0(G242,G33,G41); + and AND2_1(G245,G34,G41); + and AND2_2(G248,G35,G41); + and AND2_3(G251,G36,G41); + and AND2_4(G254,G37,G41); + and AND2_5(G257,G38,G41); + and AND2_6(G260,G39,G41); + and AND2_7(G263,G40,G41); + nand NAND2_0(G266,G1,G2); + nand NAND2_1(G269,G3,G4); + nand NAND2_2(G272,G5,G6); + nand NAND2_3(G275,G7,G8); + nand NAND2_4(G278,G9,G10); + nand NAND2_5(G281,G11,G12); + nand NAND2_6(G284,G13,G14); + nand NAND2_7(G287,G15,G16); + nand NAND2_8(G290,G17,G18); + nand NAND2_9(G293,G19,G20); + nand NAND2_10(G296,G21,G22); + nand NAND2_11(G299,G23,G24); + nand NAND2_12(G302,G25,G26); + nand NAND2_13(G305,G27,G28); + nand NAND2_14(G308,G29,G30); + nand NAND2_15(G311,G31,G32); + nand NAND2_16(G314,G1,G5); + nand NAND2_17(G317,G9,G13); + nand NAND2_18(G320,G2,G6); + nand NAND2_19(G323,G10,G14); + nand NAND2_20(G326,G3,G7); + nand NAND2_21(G329,G11,G15); + nand NAND2_22(G332,G4,G8); + nand NAND2_23(G335,G12,G16); + nand NAND2_24(G338,G17,G21); + nand NAND2_25(G341,G25,G29); + nand NAND2_26(G344,G18,G22); + nand NAND2_27(G347,G26,G30); + nand NAND2_28(G350,G19,G23); + nand NAND2_29(G353,G27,G31); + nand NAND2_30(G356,G20,G24); + nand NAND2_31(G359,G28,G32); + nand NAND2_32(G362,G1,G266); + nand NAND2_33(G363,G2,G266); + nand NAND2_34(G364,G3,G269); + nand NAND2_35(G365,G4,G269); + nand NAND2_36(G366,G5,G272); + nand NAND2_37(G367,G6,G272); + nand NAND2_38(G368,G7,G275); + nand NAND2_39(G369,G8,G275); + nand NAND2_40(G370,G9,G278); + nand NAND2_41(G371,G10,G278); + nand NAND2_42(G372,G11,G281); + nand NAND2_43(G373,G12,G281); + nand NAND2_44(G374,G13,G284); + nand NAND2_45(G375,G14,G284); + nand NAND2_46(G376,G15,G287); + nand NAND2_47(G377,G16,G287); + nand NAND2_48(G378,G17,G290); + nand NAND2_49(G379,G18,G290); + nand NAND2_50(G380,G19,G293); + nand NAND2_51(G381,G20,G293); + nand NAND2_52(G382,G21,G296); + nand NAND2_53(G383,G22,G296); + nand NAND2_54(G384,G23,G299); + nand NAND2_55(G385,G24,G299); + nand NAND2_56(G386,G25,G302); + nand NAND2_57(G387,G26,G302); + nand NAND2_58(G388,G27,G305); + nand NAND2_59(G389,G28,G305); + nand NAND2_60(G390,G29,G308); + nand NAND2_61(G391,G30,G308); + nand NAND2_62(G392,G31,G311); + nand NAND2_63(G393,G32,G311); + nand NAND2_64(G394,G1,G314); + nand NAND2_65(G395,G5,G314); + nand NAND2_66(G396,G9,G317); + nand NAND2_67(G397,G13,G317); + nand NAND2_68(G398,G2,G320); + nand NAND2_69(G399,G6,G320); + nand NAND2_70(G400,G10,G323); + nand NAND2_71(G401,G14,G323); + nand NAND2_72(G402,G3,G326); + nand NAND2_73(G403,G7,G326); + nand NAND2_74(G404,G11,G329); + nand NAND2_75(G405,G15,G329); + nand NAND2_76(G406,G4,G332); + nand NAND2_77(G407,G8,G332); + nand NAND2_78(G408,G12,G335); + nand NAND2_79(G409,G16,G335); + nand NAND2_80(G410,G17,G338); + nand NAND2_81(G411,G21,G338); + nand NAND2_82(G412,G25,G341); + nand NAND2_83(G413,G29,G341); + nand NAND2_84(G414,G18,G344); + nand NAND2_85(G415,G22,G344); + nand NAND2_86(G416,G26,G347); + nand NAND2_87(G417,G30,G347); + nand NAND2_88(G418,G19,G350); + nand NAND2_89(G419,G23,G350); + nand NAND2_90(G420,G27,G353); + nand NAND2_91(G421,G31,G353); + nand NAND2_92(G422,G20,G356); + nand NAND2_93(G423,G24,G356); + nand NAND2_94(G424,G28,G359); + nand NAND2_95(G425,G32,G359); + nand NAND2_96(G426,G362,G363); + nand NAND2_97(G429,G364,G365); + nand NAND2_98(G432,G366,G367); + nand NAND2_99(G435,G368,G369); + nand NAND2_100(G438,G370,G371); + nand NAND2_101(G441,G372,G373); + nand NAND2_102(G444,G374,G375); + nand NAND2_103(G447,G376,G377); + nand NAND2_104(G450,G378,G379); + nand NAND2_105(G453,G380,G381); + nand NAND2_106(G456,G382,G383); + nand NAND2_107(G459,G384,G385); + nand NAND2_108(G462,G386,G387); + nand NAND2_109(G465,G388,G389); + nand NAND2_110(G468,G390,G391); + nand NAND2_111(G471,G392,G393); + nand NAND2_112(G474,G394,G395); + nand NAND2_113(G477,G396,G397); + nand NAND2_114(G480,G398,G399); + nand NAND2_115(G483,G400,G401); + nand NAND2_116(G486,G402,G403); + nand NAND2_117(G489,G404,G405); + nand NAND2_118(G492,G406,G407); + nand NAND2_119(G495,G408,G409); + nand NAND2_120(G498,G410,G411); + nand NAND2_121(G501,G412,G413); + nand NAND2_122(G504,G414,G415); + nand NAND2_123(G507,G416,G417); + nand NAND2_124(G510,G418,G419); + nand NAND2_125(G513,G420,G421); + nand NAND2_126(G516,G422,G423); + nand NAND2_127(G519,G424,G425); + nand NAND2_128(G522,G426,G429); + nand NAND2_129(G525,G432,G435); + nand NAND2_130(G528,G438,G441); + nand NAND2_131(G531,G444,G447); + nand NAND2_132(G534,G450,G453); + nand NAND2_133(G537,G456,G459); + nand NAND2_134(G540,G462,G465); + nand NAND2_135(G543,G468,G471); + nand NAND2_136(G546,G474,G477); + nand NAND2_137(G549,G480,G483); + nand NAND2_138(G552,G486,G489); + nand NAND2_139(G555,G492,G495); + nand NAND2_140(G558,G498,G501); + nand NAND2_141(G561,G504,G507); + nand NAND2_142(G564,G510,G513); + nand NAND2_143(G567,G516,G519); + nand NAND2_144(G570,G426,G522); + nand NAND2_145(G571,G429,G522); + nand NAND2_146(G572,G432,G525); + nand NAND2_147(G573,G435,G525); + nand NAND2_148(G574,G438,G528); + nand NAND2_149(G575,G441,G528); + nand NAND2_150(G576,G444,G531); + nand NAND2_151(G577,G447,G531); + nand NAND2_152(G578,G450,G534); + nand NAND2_153(G579,G453,G534); + nand NAND2_154(G580,G456,G537); + nand NAND2_155(G581,G459,G537); + nand NAND2_156(G582,G462,G540); + nand NAND2_157(G583,G465,G540); + nand NAND2_158(G584,G468,G543); + nand NAND2_159(G585,G471,G543); + nand NAND2_160(G586,G474,G546); + nand NAND2_161(G587,G477,G546); + nand NAND2_162(G588,G480,G549); + nand NAND2_163(G589,G483,G549); + nand NAND2_164(G590,G486,G552); + nand NAND2_165(G591,G489,G552); + nand NAND2_166(G592,G492,G555); + nand NAND2_167(G593,G495,G555); + nand NAND2_168(G594,G498,G558); + nand NAND2_169(G595,G501,G558); + nand NAND2_170(G596,G504,G561); + nand NAND2_171(G597,G507,G561); + nand NAND2_172(G598,G510,G564); + nand NAND2_173(G599,G513,G564); + nand NAND2_174(G600,G516,G567); + nand NAND2_175(G601,G519,G567); + nand NAND2_176(G602,G570,G571); + nand NAND2_177(G607,G572,G573); + nand NAND2_178(G612,G574,G575); + nand NAND2_179(G617,G576,G577); + nand NAND2_180(G622,G578,G579); + nand NAND2_181(G627,G580,G581); + nand NAND2_182(G632,G582,G583); + nand NAND2_183(G637,G584,G585); + nand NAND2_184(G642,G586,G587); + nand NAND2_185(G645,G588,G589); + nand NAND2_186(G648,G590,G591); + nand NAND2_187(G651,G592,G593); + nand NAND2_188(G654,G594,G595); + nand NAND2_189(G657,G596,G597); + nand NAND2_190(G660,G598,G599); + nand NAND2_191(G663,G600,G601); + nand NAND2_192(G666,G602,G607); + nand NAND2_193(G669,G612,G617); + nand NAND2_194(G672,G602,G612); + nand NAND2_195(G675,G607,G617); + nand NAND2_196(G678,G622,G627); + nand NAND2_197(G681,G632,G637); + nand NAND2_198(G684,G622,G632); + nand NAND2_199(G687,G627,G637); + nand NAND2_200(G690,G602,G666); + nand NAND2_201(G691,G607,G666); + nand NAND2_202(G692,G612,G669); + nand NAND2_203(G693,G617,G669); + nand NAND2_204(G694,G602,G672); + nand NAND2_205(G695,G612,G672); + nand NAND2_206(G696,G607,G675); + nand NAND2_207(G697,G617,G675); + nand NAND2_208(G698,G622,G678); + nand NAND2_209(G699,G627,G678); + nand NAND2_210(G700,G632,G681); + nand NAND2_211(G701,G637,G681); + nand NAND2_212(G702,G622,G684); + nand NAND2_213(G703,G632,G684); + nand NAND2_214(G704,G627,G687); + nand NAND2_215(G705,G637,G687); + nand NAND2_216(G706,G690,G691); + nand NAND2_217(G709,G692,G693); + nand NAND2_218(G712,G694,G695); + nand NAND2_219(G715,G696,G697); + nand NAND2_220(G718,G698,G699); + nand NAND2_221(G721,G700,G701); + nand NAND2_222(G724,G702,G703); + nand NAND2_223(G727,G704,G705); + nand NAND2_224(G730,G242,G718); + nand NAND2_225(G733,G245,G721); + nand NAND2_226(G736,G248,G724); + nand NAND2_227(G739,G251,G727); + nand NAND2_228(G742,G254,G706); + nand NAND2_229(G745,G257,G709); + nand NAND2_230(G748,G260,G712); + nand NAND2_231(G751,G263,G715); + nand NAND2_232(G754,G242,G730); + nand NAND2_233(G755,G718,G730); + nand NAND2_234(G756,G245,G733); + nand NAND2_235(G757,G721,G733); + nand NAND2_236(G758,G248,G736); + nand NAND2_237(G759,G724,G736); + nand NAND2_238(G760,G251,G739); + nand NAND2_239(G761,G727,G739); + nand NAND2_240(G762,G254,G742); + nand NAND2_241(G763,G706,G742); + nand NAND2_242(G764,G257,G745); + nand NAND2_243(G765,G709,G745); + nand NAND2_244(G766,G260,G748); + nand NAND2_245(G767,G712,G748); + nand NAND2_246(G768,G263,G751); + nand NAND2_247(G769,G715,G751); + nand NAND2_248(G770,G754,G755); + nand NAND2_249(G773,G756,G757); + nand NAND2_250(G776,G758,G759); + nand NAND2_251(G779,G760,G761); + nand NAND2_252(G782,G762,G763); + nand NAND2_253(G785,G764,G765); + nand NAND2_254(G788,G766,G767); + nand NAND2_255(G791,G768,G769); + nand NAND2_256(G794,G642,G770); + nand NAND2_257(G797,G645,G773); + nand NAND2_258(G800,G648,G776); + nand NAND2_259(G803,G651,G779); + nand NAND2_260(G806,G654,G782); + nand NAND2_261(G809,G657,G785); + nand NAND2_262(G812,G660,G788); + nand NAND2_263(G815,G663,G791); + nand NAND2_264(G818,G642,G794); + nand NAND2_265(G819,G770,G794); + nand NAND2_266(G820,G645,G797); + nand NAND2_267(G821,G773,G797); + nand NAND2_268(G822,G648,G800); + nand NAND2_269(G823,G776,G800); + nand NAND2_270(G824,G651,G803); + nand NAND2_271(G825,G779,G803); + nand NAND2_272(G826,G654,G806); + nand NAND2_273(G827,G782,G806); + nand NAND2_274(G828,G657,G809); + nand NAND2_275(G829,G785,G809); + nand NAND2_276(G830,G660,G812); + nand NAND2_277(G831,G788,G812); + nand NAND2_278(G832,G663,G815); + nand NAND2_279(G833,G791,G815); + nand NAND2_280(G834,G818,G819); + nand NAND2_281(G847,G820,G821); + nand NAND2_282(G860,G822,G823); + nand NAND2_283(G873,G824,G825); + nand NAND2_284(G886,G828,G829); + nand NAND2_285(G899,G832,G833); + nand NAND2_286(G912,G830,G831); + nand NAND2_287(G925,G826,G827); + not NOT_0(G938,G834); + not NOT_1(G939,G847); + not NOT_2(G940,G860); + not NOT_3(G941,G834); + not NOT_4(G942,G847); + not NOT_5(G943,G873); + not NOT_6(G944,G834); + not NOT_7(G945,G860); + not NOT_8(G946,G873); + not NOT_9(G947,G847); + not NOT_10(G948,G860); + not NOT_11(G949,G873); + not NOT_12(G950,G886); + not NOT_13(G951,G899); + not NOT_14(G952,G886); + not NOT_15(G953,G912); + not NOT_16(G954,G925); + not NOT_17(G955,G899); + not NOT_18(G956,G925); + not NOT_19(G957,G912); + not NOT_20(G958,G925); + not NOT_21(G959,G886); + not NOT_22(G960,G912); + not NOT_23(G961,G925); + not NOT_24(G962,G886); + not NOT_25(G963,G899); + not NOT_26(G964,G925); + not NOT_27(G965,G912); + not NOT_28(G966,G899); + not NOT_29(G967,G886); + not NOT_30(G968,G912); + not NOT_31(G969,G899); + not NOT_32(G970,G847); + not NOT_33(G971,G873); + not NOT_34(G972,G847); + not NOT_35(G973,G860); + not NOT_36(G974,G834); + not NOT_37(G975,G873); + not NOT_38(G976,G834); + not NOT_39(G977,G860); + and AND4_0(G978,G938,G939,G940,G873); + and AND4_1(G979,G941,G942,G860,G943); + and AND4_2(G980,G944,G847,G945,G946); + and AND4_3(G981,G834,G947,G948,G949); + and AND4_4(G982,G958,G959,G960,G899); + and AND4_5(G983,G961,G962,G912,G963); + and AND4_6(G984,G964,G886,G965,G966); + and AND4_7(G985,G925,G967,G968,G969); + or OR4_0(G986,G978,G979,G980,G981); + or OR4_1(G991,G982,G983,G984,G985); + and AND5_0(G996,G925,G950,G912,G951,G986); + and AND5_1(G1001,G925,G952,G953,G899,G986); + and AND5_2(G1006,G954,G886,G912,G955,G986); + and AND5_3(G1011,G956,G886,G957,G899,G986); + and AND5_4(G1016,G834,G970,G860,G971,G991); + and AND5_5(G1021,G834,G972,G973,G873,G991); + and AND5_6(G1026,G974,G847,G860,G975,G991); + and AND5_7(G1031,G976,G847,G977,G873,G991); + and AND2_8(G1036,G834,G996); + and AND2_9(G1039,G847,G996); + and AND2_10(G1042,G860,G996); + and AND2_11(G1045,G873,G996); + and AND2_12(G1048,G834,G1001); + and AND2_13(G1051,G847,G1001); + and AND2_14(G1054,G860,G1001); + and AND2_15(G1057,G873,G1001); + and AND2_16(G1060,G834,G1006); + and AND2_17(G1063,G847,G1006); + and AND2_18(G1066,G860,G1006); + and AND2_19(G1069,G873,G1006); + and AND2_20(G1072,G834,G1011); + and AND2_21(G1075,G847,G1011); + and AND2_22(G1078,G860,G1011); + and AND2_23(G1081,G873,G1011); + and AND2_24(G1084,G925,G1016); + and AND2_25(G1087,G886,G1016); + and AND2_26(G1090,G912,G1016); + and AND2_27(G1093,G899,G1016); + and AND2_28(G1096,G925,G1021); + and AND2_29(G1099,G886,G1021); + and AND2_30(G1102,G912,G1021); + and AND2_31(G1105,G899,G1021); + and AND2_32(G1108,G925,G1026); + and AND2_33(G1111,G886,G1026); + and AND2_34(G1114,G912,G1026); + and AND2_35(G1117,G899,G1026); + and AND2_36(G1120,G925,G1031); + and AND2_37(G1123,G886,G1031); + and AND2_38(G1126,G912,G1031); + and AND2_39(G1129,G899,G1031); + nand NAND2_288(G1132,G1,G1036); + nand NAND2_289(G1135,G2,G1039); + nand NAND2_290(G1138,G3,G1042); + nand NAND2_291(G1141,G4,G1045); + nand NAND2_292(G1144,G5,G1048); + nand NAND2_293(G1147,G6,G1051); + nand NAND2_294(G1150,G7,G1054); + nand NAND2_295(G1153,G8,G1057); + nand NAND2_296(G1156,G9,G1060); + nand NAND2_297(G1159,G10,G1063); + nand NAND2_298(G1162,G11,G1066); + nand NAND2_299(G1165,G12,G1069); + nand NAND2_300(G1168,G13,G1072); + nand NAND2_301(G1171,G14,G1075); + nand NAND2_302(G1174,G15,G1078); + nand NAND2_303(G1177,G16,G1081); + nand NAND2_304(G1180,G17,G1084); + nand NAND2_305(G1183,G18,G1087); + nand NAND2_306(G1186,G19,G1090); + nand NAND2_307(G1189,G20,G1093); + nand NAND2_308(G1192,G21,G1096); + nand NAND2_309(G1195,G22,G1099); + nand NAND2_310(G1198,G23,G1102); + nand NAND2_311(G1201,G24,G1105); + nand NAND2_312(G1204,G25,G1108); + nand NAND2_313(G1207,G26,G1111); + nand NAND2_314(G1210,G27,G1114); + nand NAND2_315(G1213,G28,G1117); + nand NAND2_316(G1216,G29,G1120); + nand NAND2_317(G1219,G30,G1123); + nand NAND2_318(G1222,G31,G1126); + nand NAND2_319(G1225,G32,G1129); + nand NAND2_320(G1228,G1,G1132); + nand NAND2_321(G1229,G1036,G1132); + nand NAND2_322(G1230,G2,G1135); + nand NAND2_323(G1231,G1039,G1135); + nand NAND2_324(G1232,G3,G1138); + nand NAND2_325(G1233,G1042,G1138); + nand NAND2_326(G1234,G4,G1141); + nand NAND2_327(G1235,G1045,G1141); + nand NAND2_328(G1236,G5,G1144); + nand NAND2_329(G1237,G1048,G1144); + nand NAND2_330(G1238,G6,G1147); + nand NAND2_331(G1239,G1051,G1147); + nand NAND2_332(G1240,G7,G1150); + nand NAND2_333(G1241,G1054,G1150); + nand NAND2_334(G1242,G8,G1153); + nand NAND2_335(G1243,G1057,G1153); + nand NAND2_336(G1244,G9,G1156); + nand NAND2_337(G1245,G1060,G1156); + nand NAND2_338(G1246,G10,G1159); + nand NAND2_339(G1247,G1063,G1159); + nand NAND2_340(G1248,G11,G1162); + nand NAND2_341(G1249,G1066,G1162); + nand NAND2_342(G1250,G12,G1165); + nand NAND2_343(G1251,G1069,G1165); + nand NAND2_344(G1252,G13,G1168); + nand NAND2_345(G1253,G1072,G1168); + nand NAND2_346(G1254,G14,G1171); + nand NAND2_347(G1255,G1075,G1171); + nand NAND2_348(G1256,G15,G1174); + nand NAND2_349(G1257,G1078,G1174); + nand NAND2_350(G1258,G16,G1177); + nand NAND2_351(G1259,G1081,G1177); + nand NAND2_352(G1260,G17,G1180); + nand NAND2_353(G1261,G1084,G1180); + nand NAND2_354(G1262,G18,G1183); + nand NAND2_355(G1263,G1087,G1183); + nand NAND2_356(G1264,G19,G1186); + nand NAND2_357(G1265,G1090,G1186); + nand NAND2_358(G1266,G20,G1189); + nand NAND2_359(G1267,G1093,G1189); + nand NAND2_360(G1268,G21,G1192); + nand NAND2_361(G1269,G1096,G1192); + nand NAND2_362(G1270,G22,G1195); + nand NAND2_363(G1271,G1099,G1195); + nand NAND2_364(G1272,G23,G1198); + nand NAND2_365(G1273,G1102,G1198); + nand NAND2_366(G1274,G24,G1201); + nand NAND2_367(G1275,G1105,G1201); + nand NAND2_368(G1276,G25,G1204); + nand NAND2_369(G1277,G1108,G1204); + nand NAND2_370(G1278,G26,G1207); + nand NAND2_371(G1279,G1111,G1207); + nand NAND2_372(G1280,G27,G1210); + nand NAND2_373(G1281,G1114,G1210); + nand NAND2_374(G1282,G28,G1213); + nand NAND2_375(G1283,G1117,G1213); + nand NAND2_376(G1284,G29,G1216); + nand NAND2_377(G1285,G1120,G1216); + nand NAND2_378(G1286,G30,G1219); + nand NAND2_379(G1287,G1123,G1219); + nand NAND2_380(G1288,G31,G1222); + nand NAND2_381(G1289,G1126,G1222); + nand NAND2_382(G1290,G32,G1225); + nand NAND2_383(G1291,G1129,G1225); + nand NAND2_384(G1292,G1228,G1229); + nand NAND2_385(G1293,G1230,G1231); + nand NAND2_386(G1294,G1232,G1233); + nand NAND2_387(G1295,G1234,G1235); + nand NAND2_388(G1296,G1236,G1237); + nand NAND2_389(G1297,G1238,G1239); + nand NAND2_390(G1298,G1240,G1241); + nand NAND2_391(G1299,G1242,G1243); + nand NAND2_392(G1300,G1244,G1245); + nand NAND2_393(G1301,G1246,G1247); + nand NAND2_394(G1302,G1248,G1249); + nand NAND2_395(G1303,G1250,G1251); + nand NAND2_396(G1304,G1252,G1253); + nand NAND2_397(G1305,G1254,G1255); + nand NAND2_398(G1306,G1256,G1257); + nand NAND2_399(G1307,G1258,G1259); + nand NAND2_400(G1308,G1260,G1261); + nand NAND2_401(G1309,G1262,G1263); + nand NAND2_402(G1310,G1264,G1265); + nand NAND2_403(G1311,G1266,G1267); + nand NAND2_404(G1312,G1268,G1269); + nand NAND2_405(G1313,G1270,G1271); + nand NAND2_406(G1314,G1272,G1273); + nand NAND2_407(G1315,G1274,G1275); + nand NAND2_408(G1316,G1276,G1277); + nand NAND2_409(G1317,G1278,G1279); + nand NAND2_410(G1318,G1280,G1281); + nand NAND2_411(G1319,G1282,G1283); + nand NAND2_412(G1320,G1284,G1285); + nand NAND2_413(G1321,G1286,G1287); + nand NAND2_414(G1322,G1288,G1289); + nand NAND2_415(G1323,G1290,G1291); + not NOT_40(G1324,G1292); + not NOT_41(G1325,G1293); + not NOT_42(G1326,G1294); + not NOT_43(G1327,G1295); + not NOT_44(G1328,G1296); + not NOT_45(G1329,G1297); + not NOT_46(G1330,G1298); + not NOT_47(G1331,G1299); + not NOT_48(G1332,G1300); + not NOT_49(G1333,G1301); + not NOT_50(G1334,G1302); + not NOT_51(G1335,G1303); + not NOT_52(G1336,G1304); + not NOT_53(G1337,G1305); + not NOT_54(G1338,G1306); + not NOT_55(G1339,G1307); + not NOT_56(G1340,G1308); + not NOT_57(G1341,G1309); + not NOT_58(G1342,G1310); + not NOT_59(G1343,G1311); + not NOT_60(G1344,G1312); + not NOT_61(G1345,G1313); + not NOT_62(G1346,G1314); + not NOT_63(G1347,G1315); + not NOT_64(G1348,G1316); + not NOT_65(G1349,G1317); + not NOT_66(G1350,G1318); + not NOT_67(G1351,G1319); + not NOT_68(G1352,G1320); + not NOT_69(G1353,G1321); + not NOT_70(G1354,G1322); + not NOT_71(G1355,G1323); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c1355_tb.v b/SupplementaryMaterials/Iscas85Verilog/c1355_tb.v new file mode 100644 index 0000000..1c9af7b --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c1355_tb.v @@ -0,0 +1,58 @@ + +module c1355_tb(); + + +reg G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16,G17,G18,G19,G20, + G21,G22,G23,G24,G25,G26,G27,G28,G29,G30,G31,G32,G33,G34,G35,G36,G37,G38,G39, + G40,G41; + +wire G1324,G1325,G1326,G1327,G1328,G1329,G1330,G1331,G1332,G1333,G1334,G1335, + G1336,G1337,G1338,G1339,G1340,G1341,G1342,G1343,G1344,G1345,G1346,G1347, + G1348,G1349,G1350,G1351,G1352,G1353,G1354,G1355; + +c1355 c0(G1,G10,G11,G12,G13,G1324,G1325,G1326,G1327,G1328,G1329,G1330, + G1331,G1332,G1333,G1334,G1335,G1336,G1337,G1338,G1339,G1340,G1341,G1342, + G1343,G1344,G1345,G1346,G1347,G1348,G1349,G1350,G1351,G1352,G1353,G1354, + G1355,G14,G15,G16,G17,G18,G19,G2,G20,G21,G22,G23,G24,G25,G26,G27,G28,G29,G3, + G30,G31,G32,G33,G34,G35,G36,G37,G38,G39,G4,G40,G41,G5,G6,G7,G8,G9); + + +reg [40:0] test_vectors[0:9]; +reg [31:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c1355_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16,G17,G18,G19,G20, + G21,G22,G23,G24,G25,G26,G27,G28,G29,G30,G31,G32,G33,G34,G35,G36,G37,G38,G39, + G40,G41} = test_vectors[k]; + + #1 + out_vectors[k] = {G1324,G1325,G1326,G1327,G1328,G1329,G1330,G1331,G1332,G1333,G1334,G1335, + G1336,G1337,G1338,G1339,G1340,G1341,G1342,G1343,G1344,G1345,G1346,G1347, + G1348,G1349,G1350,G1351,G1352,G1353,G1354,G1355}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c1355_in_data.txt", test_vectors); + $writememb("c1355_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c17.v b/SupplementaryMaterials/Iscas85Verilog/c17.v new file mode 100644 index 0000000..29bcf90 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c17.v @@ -0,0 +1,23 @@ +// Verilog +// c17 +// Ninputs 5 +// Noutputs 2 +// NtotalGates 6 +// NAND2 6 + +module c17 (N1,N2,N3,N6,N7,N22,N23); + +input N1,N2,N3,N6,N7; + +output N22,N23; + +wire N10,N11,N16,N19; + +nand NAND2_1 (N10, N1, N3); +nand NAND2_2 (N11, N3, N6); +nand NAND2_3 (N16, N2, N11); +nand NAND2_4 (N19, N11, N7); +nand NAND2_5 (N22, N10, N16); +nand NAND2_6 (N23, N16, N19); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c17_singlepath.v b/SupplementaryMaterials/Iscas85Verilog/c17_singlepath.v new file mode 100644 index 0000000..c8a073d --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c17_singlepath.v @@ -0,0 +1,10 @@ +module singlepath (N6, N23); +input N6; +output N23; +wire N19, N16, N11, Vcc, gnd; +nand NAND2_2(N11, N6, Vcc); +nand NAND2_3(N16, N11, Vcc); +nand NAND2_4(N19, N11, Vcc); +nand NAND2_6(N23, N19, Vcc); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c1908.v b/SupplementaryMaterials/Iscas85Verilog/c1908.v new file mode 100644 index 0000000..5f2643d --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c1908.v @@ -0,0 +1,1004 @@ +// Verilog +// c1908 +// Ninputs 33 +// Noutputs 25 +// NtotalGates 880 +// NOT1 277 +// NAND2 347 +// BUFF1 162 +// AND2 30 +// AND3 12 +// NAND4 2 +// NAND3 1 +// NAND8 3 +// AND4 2 +// NAND5 24 +// AND5 16 +// AND8 3 +// NOR2 1 + +module c1908 (N1,N4,N7,N10,N13,N16,N19,N22,N25,N28, + N31,N34,N37,N40,N43,N46,N49,N53,N56,N60, + N63,N66,N69,N72,N76,N79,N82,N85,N88,N91, + N94,N99,N104,N2753,N2754,N2755,N2756,N2762,N2767,N2768, + N2779,N2780,N2781,N2782,N2783,N2784,N2785,N2786,N2787,N2811, + N2886,N2887,N2888,N2889,N2890,N2891,N2892,N2899); + +input N1,N4,N7,N10,N13,N16,N19,N22,N25,N28, + N31,N34,N37,N40,N43,N46,N49,N53,N56,N60, + N63,N66,N69,N72,N76,N79,N82,N85,N88,N91, + N94,N99,N104; + +output N2753,N2754,N2755,N2756,N2762,N2767,N2768,N2779,N2780,N2781, + N2782,N2783,N2784,N2785,N2786,N2787,N2811,N2886,N2887,N2888, + N2889,N2890,N2891,N2892,N2899; + +wire N190,N194,N197,N201,N206,N209,N212,N216,N220,N225, + N229,N232,N235,N239,N243,N247,N251,N252,N253,N256, + N257,N260,N263,N266,N269,N272,N275,N276,N277,N280, + N283,N290,N297,N300,N303,N306,N313,N316,N319,N326, + N331,N338,N343,N346,N349,N352,N355,N358,N361,N364, + N367,N370,N373,N376,N379,N382,N385,N388,N534,N535, + N536,N537,N538,N539,N540,N541,N542,N543,N544,N545, + N546,N547,N548,N549,N550,N551,N552,N553,N554,N555, + N556,N559,N562,N565,N568,N571,N574,N577,N580,N583, + N586,N589,N592,N595,N598,N601,N602,N603,N608,N612, + N616,N619,N622,N625,N628,N631,N634,N637,N640,N643, + N646,N649,N652,N655,N658,N661,N664,N667,N670,N673, + N676,N679,N682,N685,N688,N691,N694,N697,N700,N703, + N706,N709,N712,N715,N718,N721,N724,N727,N730,N733, + N736,N739,N742,N745,N748,N751,N886,N887,N888,N889, + N890,N891,N892,N893,N894,N895,N896,N897,N898,N899, + N903,N907,N910,N913,N914,N915,N916,N917,N918,N919, + N920,N921,N922,N923,N926,N935,N938,N939,N942,N943, + N946,N947,N950,N951,N954,N955,N958,N959,N962,N965, + N968,N969,N972,N973,N976,N977,N980,N981,N984,N985, + N988,N989,N990,N991,N992,N993,N994,N997,N998,N1001, + N1002,N1003,N1004,N1005,N1006,N1007,N1008,N1009,N1010,N1013, + N1016,N1019,N1022,N1025,N1028,N1031,N1034,N1037,N1040,N1043, + N1046,N1049,N1054,N1055,N1063,N1064,N1067,N1068,N1119,N1120, + N1121,N1122,N1128,N1129,N1130,N1131,N1132,N1133,N1148,N1149, + N1150,N1151,N1152,N1153,N1154,N1155,N1156,N1157,N1158,N1159, + N1160,N1161,N1162,N1163,N1164,N1167,N1168,N1171,N1188,N1205, + N1206,N1207,N1208,N1209,N1210,N1211,N1212,N1213,N1214,N1215, + N1216,N1217,N1218,N1219,N1220,N1221,N1222,N1223,N1224,N1225, + N1226,N1227,N1228,N1229,N1230,N1231,N1232,N1235,N1238,N1239, + N1240,N1241,N1242,N1243,N1246,N1249,N1252,N1255,N1258,N1261, + N1264,N1267,N1309,N1310,N1311,N1312,N1313,N1314,N1315,N1316, + N1317,N1318,N1319,N1322,N1327,N1328,N1334,N1344,N1345,N1346, + N1348,N1349,N1350,N1351,N1352,N1355,N1358,N1361,N1364,N1367, + N1370,N1373,N1376,N1379,N1383,N1386,N1387,N1388,N1389,N1390, + N1393,N1396,N1397,N1398,N1399,N1409,N1412,N1413,N1416,N1419, + N1433,N1434,N1438,N1439,N1440,N1443,N1444,N1445,N1446,N1447, + N1448,N1451,N1452,N1453,N1454,N1455,N1456,N1457,N1458,N1459, + N1460,N1461,N1462,N1463,N1464,N1468,N1469,N1470,N1471,N1472, + N1475,N1476,N1478,N1481,N1484,N1487,N1488,N1489,N1490,N1491, + N1492,N1493,N1494,N1495,N1496,N1498,N1499,N1500,N1501,N1504, + N1510,N1513,N1514,N1517,N1520,N1521,N1522,N1526,N1527,N1528, + N1529,N1530,N1531,N1532,N1534,N1537,N1540,N1546,N1554,N1557, + N1561,N1567,N1568,N1569,N1571,N1576,N1588,N1591,N1593,N1594, + N1595,N1596,N1600,N1603,N1606,N1609,N1612,N1615,N1620,N1623, + N1635,N1636,N1638,N1639,N1640,N1643,N1647,N1651,N1658,N1661, + N1664,N1671,N1672,N1675,N1677,N1678,N1679,N1680,N1681,N1682, + N1683,N1685,N1688,N1697,N1701,N1706,N1707,N1708,N1709,N1710, + N1711,N1712,N1713,N1714,N1717,N1720,N1721,N1723,N1727,N1728, + N1730,N1731,N1734,N1740,N1741,N1742,N1746,N1747,N1748,N1751, + N1759,N1761,N1762,N1763,N1764,N1768,N1769,N1772,N1773,N1774, + N1777,N1783,N1784,N1785,N1786,N1787,N1788,N1791,N1792,N1795, + N1796,N1798,N1801,N1802,N1807,N1808,N1809,N1810,N1812,N1815, + N1818,N1821,N1822,N1823,N1824,N1825,N1826,N1827,N1830,N1837, + N1838,N1841,N1848,N1849,N1850,N1852,N1855,N1856,N1857,N1858, + N1864,N1865,N1866,N1869,N1872,N1875,N1878,N1879,N1882,N1883, + N1884,N1885,N1889,N1895,N1896,N1897,N1898,N1902,N1910,N1911, + N1912,N1913,N1915,N1919,N1920,N1921,N1922,N1923,N1924,N1927, + N1930,N1933,N1936,N1937,N1938,N1941,N1942,N1944,N1947,N1950, + N1953,N1958,N1961,N1965,N1968,N1975,N1976,N1977,N1978,N1979, + N1980,N1985,N1987,N1999,N2000,N2002,N2003,N2004,N2005,N2006, + N2007,N2008,N2009,N2012,N2013,N2014,N2015,N2016,N2018,N2019, + N2020,N2021,N2022,N2023,N2024,N2025,N2026,N2027,N2030,N2033, + N2036,N2037,N2038,N2039,N2040,N2041,N2042,N2047,N2052,N2055, + N2060,N2061,N2062,N2067,N2068,N2071,N2076,N2077,N2078,N2081, + N2086,N2089,N2104,N2119,N2129,N2143,N2148,N2151,N2196,N2199, + N2202,N2205,N2214,N2215,N2216,N2217,N2222,N2223,N2224,N2225, + N2226,N2227,N2228,N2229,N2230,N2231,N2232,N2233,N2234,N2235, + N2236,N2237,N2240,N2241,N2244,N2245,N2250,N2253,N2256,N2257, + N2260,N2263,N2266,N2269,N2272,N2279,N2286,N2297,N2315,N2326, + N2340,N2353,N2361,N2375,N2384,N2385,N2386,N2426,N2427,N2537, + N2540,N2543,N2546,N2549,N2552,N2555,N2558,N2561,N2564,N2567, + N2570,N2573,N2576,N2594,N2597,N2600,N2603,N2606,N2611,N2614, + N2617,N2620,N2627,N2628,N2629,N2630,N2631,N2632,N2633,N2634, + N2639,N2642,N2645,N2648,N2651,N2655,N2658,N2661,N2664,N2669, + N2670,N2671,N2672,N2673,N2674,N2675,N2676,N2682,N2683,N2688, + N2689,N2690,N2691,N2710,N2720,N2721,N2722,N2723,N2724,N2725, + N2726,N2727,N2728,N2729,N2730,N2731,N2732,N2733,N2734,N2735, + N2736,N2737,N2738,N2739,N2740,N2741,N2742,N2743,N2744,N2745, + N2746,N2747,N2750,N2757,N2758,N2759,N2760,N2761,N2763,N2764, + N2765,N2766,N2773,N2776,N2788,N2789,N2800,N2807,N2808,N2809, + N2810,N2812,N2815,N2818,N2821,N2824,N2827,N2828,N2829,N2843, + N2846,N2850,N2851,N2852,N2853,N2854,N2857,N2858,N2859,N2860, + N2861,N2862,N2863,N2866,N2867,N2868,N2869,N2870,N2871,N2872, + N2873,N2874,N2875,N2876,N2877,N2878,N2879,N2880,N2881,N2882, + N2883,N2895,N2896,N2897,N2898; + +not NOT1_1 (N190, N1); +not NOT1_2 (N194, N4); +not NOT1_3 (N197, N7); +not NOT1_4 (N201, N10); +not NOT1_5 (N206, N13); +not NOT1_6 (N209, N16); +not NOT1_7 (N212, N19); +not NOT1_8 (N216, N22); +not NOT1_9 (N220, N25); +not NOT1_10 (N225, N28); +not NOT1_11 (N229, N31); +not NOT1_12 (N232, N34); +not NOT1_13 (N235, N37); +not NOT1_14 (N239, N40); +not NOT1_15 (N243, N43); +not NOT1_16 (N247, N46); +nand NAND2_17 (N251, N63, N88); +nand NAND2_18 (N252, N66, N91); +not NOT1_19 (N253, N72); +not NOT1_20 (N256, N72); +buf BUFF1_21 (N257, N69); +buf BUFF1_22 (N260, N69); +not NOT1_23 (N263, N76); +not NOT1_24 (N266, N79); +not NOT1_25 (N269, N82); +not NOT1_26 (N272, N85); +not NOT1_27 (N275, N104); +not NOT1_28 (N276, N104); +not NOT1_29 (N277, N88); +not NOT1_30 (N280, N91); +buf BUFF1_31 (N283, N94); +not NOT1_32 (N290, N94); +buf BUFF1_33 (N297, N94); +not NOT1_34 (N300, N94); +buf BUFF1_35 (N303, N99); +not NOT1_36 (N306, N99); +not NOT1_37 (N313, N99); +buf BUFF1_38 (N316, N104); +not NOT1_39 (N319, N104); +buf BUFF1_40 (N326, N104); +buf BUFF1_41 (N331, N104); +not NOT1_42 (N338, N104); +buf BUFF1_43 (N343, N1); +buf BUFF1_44 (N346, N4); +buf BUFF1_45 (N349, N7); +buf BUFF1_46 (N352, N10); +buf BUFF1_47 (N355, N13); +buf BUFF1_48 (N358, N16); +buf BUFF1_49 (N361, N19); +buf BUFF1_50 (N364, N22); +buf BUFF1_51 (N367, N25); +buf BUFF1_52 (N370, N28); +buf BUFF1_53 (N373, N31); +buf BUFF1_54 (N376, N34); +buf BUFF1_55 (N379, N37); +buf BUFF1_56 (N382, N40); +buf BUFF1_57 (N385, N43); +buf BUFF1_58 (N388, N46); +not NOT1_59 (N534, N343); +not NOT1_60 (N535, N346); +not NOT1_61 (N536, N349); +not NOT1_62 (N537, N352); +not NOT1_63 (N538, N355); +not NOT1_64 (N539, N358); +not NOT1_65 (N540, N361); +not NOT1_66 (N541, N364); +not NOT1_67 (N542, N367); +not NOT1_68 (N543, N370); +not NOT1_69 (N544, N373); +not NOT1_70 (N545, N376); +not NOT1_71 (N546, N379); +not NOT1_72 (N547, N382); +not NOT1_73 (N548, N385); +not NOT1_74 (N549, N388); +nand NAND2_75 (N550, N306, N331); +nand NAND2_76 (N551, N306, N331); +nand NAND2_77 (N552, N306, N331); +nand NAND2_78 (N553, N306, N331); +nand NAND2_79 (N554, N306, N331); +nand NAND2_80 (N555, N306, N331); +buf BUFF1_81 (N556, N190); +buf BUFF1_82 (N559, N194); +buf BUFF1_83 (N562, N206); +buf BUFF1_84 (N565, N209); +buf BUFF1_85 (N568, N225); +buf BUFF1_86 (N571, N243); +and AND2_87 (N574, N63, N319); +buf BUFF1_88 (N577, N220); +buf BUFF1_89 (N580, N229); +buf BUFF1_90 (N583, N232); +and AND2_91 (N586, N66, N319); +buf BUFF1_92 (N589, N239); +and AND3_93 (N592, N49, N253, N319); +buf BUFF1_94 (N595, N247); +buf BUFF1_95 (N598, N239); +nand NAND2_96 (N601, N326, N277); +nand NAND2_97 (N602, N326, N280); +nand NAND2_98 (N603, N260, N72); +nand NAND2_99 (N608, N260, N300); +nand NAND2_100 (N612, N256, N300); +buf BUFF1_101 (N616, N201); +buf BUFF1_102 (N619, N216); +buf BUFF1_103 (N622, N220); +buf BUFF1_104 (N625, N239); +buf BUFF1_105 (N628, N190); +buf BUFF1_106 (N631, N190); +buf BUFF1_107 (N634, N194); +buf BUFF1_108 (N637, N229); +buf BUFF1_109 (N640, N197); +and AND3_110 (N643, N56, N257, N319); +buf BUFF1_111 (N646, N232); +buf BUFF1_112 (N649, N201); +buf BUFF1_113 (N652, N235); +and AND3_114 (N655, N60, N257, N319); +buf BUFF1_115 (N658, N263); +buf BUFF1_116 (N661, N263); +buf BUFF1_117 (N664, N266); +buf BUFF1_118 (N667, N266); +buf BUFF1_119 (N670, N269); +buf BUFF1_120 (N673, N269); +buf BUFF1_121 (N676, N272); +buf BUFF1_122 (N679, N272); +and AND2_123 (N682, N251, N316); +and AND2_124 (N685, N252, N316); +buf BUFF1_125 (N688, N197); +buf BUFF1_126 (N691, N197); +buf BUFF1_127 (N694, N212); +buf BUFF1_128 (N697, N212); +buf BUFF1_129 (N700, N247); +buf BUFF1_130 (N703, N247); +buf BUFF1_131 (N706, N235); +buf BUFF1_132 (N709, N235); +buf BUFF1_133 (N712, N201); +buf BUFF1_134 (N715, N201); +buf BUFF1_135 (N718, N206); +buf BUFF1_136 (N721, N216); +and AND3_137 (N724, N53, N253, N319); +buf BUFF1_138 (N727, N243); +buf BUFF1_139 (N730, N220); +buf BUFF1_140 (N733, N220); +buf BUFF1_141 (N736, N209); +buf BUFF1_142 (N739, N216); +buf BUFF1_143 (N742, N225); +buf BUFF1_144 (N745, N243); +buf BUFF1_145 (N748, N212); +buf BUFF1_146 (N751, N225); +not NOT1_147 (N886, N682); +not NOT1_148 (N887, N685); +not NOT1_149 (N888, N616); +not NOT1_150 (N889, N619); +not NOT1_151 (N890, N622); +not NOT1_152 (N891, N625); +not NOT1_153 (N892, N631); +not NOT1_154 (N893, N643); +not NOT1_155 (N894, N649); +not NOT1_156 (N895, N652); +not NOT1_157 (N896, N655); +and AND2_158 (N897, N49, N612); +and AND2_159 (N898, N56, N608); +nand NAND2_160 (N899, N53, N612); +nand NAND2_161 (N903, N60, N608); +nand NAND2_162 (N907, N49, N612); +nand NAND2_163 (N910, N56, N608); +not NOT1_164 (N913, N661); +not NOT1_165 (N914, N658); +not NOT1_166 (N915, N667); +not NOT1_167 (N916, N664); +not NOT1_168 (N917, N673); +not NOT1_169 (N918, N670); +not NOT1_170 (N919, N679); +not NOT1_171 (N920, N676); +nand NAND4_172 (N921, N277, N297, N326, N603); +nand NAND4_173 (N922, N280, N297, N326, N603); +nand NAND3_174 (N923, N303, N338, N603); +and AND3_175 (N926, N303, N338, N603); +buf BUFF1_176 (N935, N556); +not NOT1_177 (N938, N688); +buf BUFF1_178 (N939, N556); +not NOT1_179 (N942, N691); +buf BUFF1_180 (N943, N562); +not NOT1_181 (N946, N694); +buf BUFF1_182 (N947, N562); +not NOT1_183 (N950, N697); +buf BUFF1_184 (N951, N568); +not NOT1_185 (N954, N700); +buf BUFF1_186 (N955, N568); +not NOT1_187 (N958, N703); +buf BUFF1_188 (N959, N574); +buf BUFF1_189 (N962, N574); +buf BUFF1_190 (N965, N580); +not NOT1_191 (N968, N706); +buf BUFF1_192 (N969, N580); +not NOT1_193 (N972, N709); +buf BUFF1_194 (N973, N586); +not NOT1_195 (N976, N712); +buf BUFF1_196 (N977, N586); +not NOT1_197 (N980, N715); +buf BUFF1_198 (N981, N592); +not NOT1_199 (N984, N628); +buf BUFF1_200 (N985, N592); +not NOT1_201 (N988, N718); +not NOT1_202 (N989, N721); +not NOT1_203 (N990, N634); +not NOT1_204 (N991, N724); +not NOT1_205 (N992, N727); +not NOT1_206 (N993, N637); +buf BUFF1_207 (N994, N595); +not NOT1_208 (N997, N730); +buf BUFF1_209 (N998, N595); +not NOT1_210 (N1001, N733); +not NOT1_211 (N1002, N736); +not NOT1_212 (N1003, N739); +not NOT1_213 (N1004, N640); +not NOT1_214 (N1005, N742); +not NOT1_215 (N1006, N745); +not NOT1_216 (N1007, N646); +not NOT1_217 (N1008, N748); +not NOT1_218 (N1009, N751); +buf BUFF1_219 (N1010, N559); +buf BUFF1_220 (N1013, N559); +buf BUFF1_221 (N1016, N565); +buf BUFF1_222 (N1019, N565); +buf BUFF1_223 (N1022, N571); +buf BUFF1_224 (N1025, N571); +buf BUFF1_225 (N1028, N577); +buf BUFF1_226 (N1031, N577); +buf BUFF1_227 (N1034, N583); +buf BUFF1_228 (N1037, N583); +buf BUFF1_229 (N1040, N589); +buf BUFF1_230 (N1043, N589); +buf BUFF1_231 (N1046, N598); +buf BUFF1_232 (N1049, N598); +nand NAND2_233 (N1054, N619, N888); +nand NAND2_234 (N1055, N616, N889); +nand NAND2_235 (N1063, N625, N890); +nand NAND2_236 (N1064, N622, N891); +nand NAND2_237 (N1067, N655, N895); +nand NAND2_238 (N1068, N652, N896); +nand NAND2_239 (N1119, N721, N988); +nand NAND2_240 (N1120, N718, N989); +nand NAND2_241 (N1121, N727, N991); +nand NAND2_242 (N1122, N724, N992); +nand NAND2_243 (N1128, N739, N1002); +nand NAND2_244 (N1129, N736, N1003); +nand NAND2_245 (N1130, N745, N1005); +nand NAND2_246 (N1131, N742, N1006); +nand NAND2_247 (N1132, N751, N1008); +nand NAND2_248 (N1133, N748, N1009); +not NOT1_249 (N1148, N939); +not NOT1_250 (N1149, N935); +nand NAND2_251 (N1150, N1054, N1055); +not NOT1_252 (N1151, N943); +not NOT1_253 (N1152, N947); +not NOT1_254 (N1153, N955); +not NOT1_255 (N1154, N951); +not NOT1_256 (N1155, N962); +not NOT1_257 (N1156, N969); +not NOT1_258 (N1157, N977); +nand NAND2_259 (N1158, N1063, N1064); +not NOT1_260 (N1159, N985); +nand NAND2_261 (N1160, N985, N892); +not NOT1_262 (N1161, N998); +nand NAND2_263 (N1162, N1067, N1068); +not NOT1_264 (N1163, N899); +buf BUFF1_265 (N1164, N899); +not NOT1_266 (N1167, N903); +buf BUFF1_267 (N1168, N903); +nand NAND2_268 (N1171, N921, N923); +nand NAND2_269 (N1188, N922, N923); +not NOT1_270 (N1205, N1010); +nand NAND2_271 (N1206, N1010, N938); +not NOT1_272 (N1207, N1013); +nand NAND2_273 (N1208, N1013, N942); +not NOT1_274 (N1209, N1016); +nand NAND2_275 (N1210, N1016, N946); +not NOT1_276 (N1211, N1019); +nand NAND2_277 (N1212, N1019, N950); +not NOT1_278 (N1213, N1022); +nand NAND2_279 (N1214, N1022, N954); +not NOT1_280 (N1215, N1025); +nand NAND2_281 (N1216, N1025, N958); +not NOT1_282 (N1217, N1028); +not NOT1_283 (N1218, N959); +not NOT1_284 (N1219, N1031); +not NOT1_285 (N1220, N1034); +nand NAND2_286 (N1221, N1034, N968); +not NOT1_287 (N1222, N965); +not NOT1_288 (N1223, N1037); +nand NAND2_289 (N1224, N1037, N972); +not NOT1_290 (N1225, N1040); +nand NAND2_291 (N1226, N1040, N976); +not NOT1_292 (N1227, N973); +not NOT1_293 (N1228, N1043); +nand NAND2_294 (N1229, N1043, N980); +not NOT1_295 (N1230, N981); +nand NAND2_296 (N1231, N981, N984); +nand NAND2_297 (N1232, N1119, N1120); +nand NAND2_298 (N1235, N1121, N1122); +not NOT1_299 (N1238, N1046); +nand NAND2_300 (N1239, N1046, N997); +not NOT1_301 (N1240, N994); +not NOT1_302 (N1241, N1049); +nand NAND2_303 (N1242, N1049, N1001); +nand NAND2_304 (N1243, N1128, N1129); +nand NAND2_305 (N1246, N1130, N1131); +nand NAND2_306 (N1249, N1132, N1133); +buf BUFF1_307 (N1252, N907); +buf BUFF1_308 (N1255, N907); +buf BUFF1_309 (N1258, N910); +buf BUFF1_310 (N1261, N910); +not NOT1_311 (N1264, N1150); +nand NAND2_312 (N1267, N631, N1159); +nand NAND2_313 (N1309, N688, N1205); +nand NAND2_314 (N1310, N691, N1207); +nand NAND2_315 (N1311, N694, N1209); +nand NAND2_316 (N1312, N697, N1211); +nand NAND2_317 (N1313, N700, N1213); +nand NAND2_318 (N1314, N703, N1215); +nand NAND2_319 (N1315, N706, N1220); +nand NAND2_320 (N1316, N709, N1223); +nand NAND2_321 (N1317, N712, N1225); +nand NAND2_322 (N1318, N715, N1228); +not NOT1_323 (N1319, N1158); +nand NAND2_324 (N1322, N628, N1230); +nand NAND2_325 (N1327, N730, N1238); +nand NAND2_326 (N1328, N733, N1241); +not NOT1_327 (N1334, N1162); +nand NAND2_328 (N1344, N1267, N1160); +nand NAND2_329 (N1345, N1249, N894); +not NOT1_330 (N1346, N1249); +not NOT1_331 (N1348, N1255); +not NOT1_332 (N1349, N1252); +not NOT1_333 (N1350, N1261); +not NOT1_334 (N1351, N1258); +nand NAND2_335 (N1352, N1309, N1206); +nand NAND2_336 (N1355, N1310, N1208); +nand NAND2_337 (N1358, N1311, N1210); +nand NAND2_338 (N1361, N1312, N1212); +nand NAND2_339 (N1364, N1313, N1214); +nand NAND2_340 (N1367, N1314, N1216); +nand NAND2_341 (N1370, N1315, N1221); +nand NAND2_342 (N1373, N1316, N1224); +nand NAND2_343 (N1376, N1317, N1226); +nand NAND2_344 (N1379, N1318, N1229); +nand NAND2_345 (N1383, N1322, N1231); +not NOT1_346 (N1386, N1232); +nand NAND2_347 (N1387, N1232, N990); +not NOT1_348 (N1388, N1235); +nand NAND2_349 (N1389, N1235, N993); +nand NAND2_350 (N1390, N1327, N1239); +nand NAND2_351 (N1393, N1328, N1242); +not NOT1_352 (N1396, N1243); +nand NAND2_353 (N1397, N1243, N1004); +not NOT1_354 (N1398, N1246); +nand NAND2_355 (N1399, N1246, N1007); +not NOT1_356 (N1409, N1319); +nand NAND2_357 (N1412, N649, N1346); +not NOT1_358 (N1413, N1334); +buf BUFF1_359 (N1416, N1264); +buf BUFF1_360 (N1419, N1264); +nand NAND2_361 (N1433, N634, N1386); +nand NAND2_362 (N1434, N637, N1388); +nand NAND2_363 (N1438, N640, N1396); +nand NAND2_364 (N1439, N646, N1398); +not NOT1_365 (N1440, N1344); +nand NAND2_366 (N1443, N1355, N1148); +not NOT1_367 (N1444, N1355); +nand NAND2_368 (N1445, N1352, N1149); +not NOT1_369 (N1446, N1352); +nand NAND2_370 (N1447, N1358, N1151); +not NOT1_371 (N1448, N1358); +nand NAND2_372 (N1451, N1361, N1152); +not NOT1_373 (N1452, N1361); +nand NAND2_374 (N1453, N1367, N1153); +not NOT1_375 (N1454, N1367); +nand NAND2_376 (N1455, N1364, N1154); +not NOT1_377 (N1456, N1364); +nand NAND2_378 (N1457, N1373, N1156); +not NOT1_379 (N1458, N1373); +nand NAND2_380 (N1459, N1379, N1157); +not NOT1_381 (N1460, N1379); +not NOT1_382 (N1461, N1383); +nand NAND2_383 (N1462, N1393, N1161); +not NOT1_384 (N1463, N1393); +nand NAND2_385 (N1464, N1345, N1412); +not NOT1_386 (N1468, N1370); +nand NAND2_387 (N1469, N1370, N1222); +not NOT1_388 (N1470, N1376); +nand NAND2_389 (N1471, N1376, N1227); +nand NAND2_390 (N1472, N1387, N1433); +not NOT1_391 (N1475, N1390); +nand NAND2_392 (N1476, N1390, N1240); +nand NAND2_393 (N1478, N1389, N1434); +nand NAND2_394 (N1481, N1399, N1439); +nand NAND2_395 (N1484, N1397, N1438); +nand NAND2_396 (N1487, N939, N1444); +nand NAND2_397 (N1488, N935, N1446); +nand NAND2_398 (N1489, N943, N1448); +not NOT1_399 (N1490, N1419); +not NOT1_400 (N1491, N1416); +nand NAND2_401 (N1492, N947, N1452); +nand NAND2_402 (N1493, N955, N1454); +nand NAND2_403 (N1494, N951, N1456); +nand NAND2_404 (N1495, N969, N1458); +nand NAND2_405 (N1496, N977, N1460); +nand NAND2_406 (N1498, N998, N1463); +not NOT1_407 (N1499, N1440); +nand NAND2_408 (N1500, N965, N1468); +nand NAND2_409 (N1501, N973, N1470); +nand NAND2_410 (N1504, N994, N1475); +not NOT1_411 (N1510, N1464); +nand NAND2_412 (N1513, N1443, N1487); +nand NAND2_413 (N1514, N1445, N1488); +nand NAND2_414 (N1517, N1447, N1489); +nand NAND2_415 (N1520, N1451, N1492); +nand NAND2_416 (N1521, N1453, N1493); +nand NAND2_417 (N1522, N1455, N1494); +nand NAND2_418 (N1526, N1457, N1495); +nand NAND2_419 (N1527, N1459, N1496); +not NOT1_420 (N1528, N1472); +nand NAND2_421 (N1529, N1462, N1498); +not NOT1_422 (N1530, N1478); +not NOT1_423 (N1531, N1481); +not NOT1_424 (N1532, N1484); +nand NAND2_425 (N1534, N1471, N1501); +nand NAND2_426 (N1537, N1469, N1500); +nand NAND2_427 (N1540, N1476, N1504); +not NOT1_428 (N1546, N1513); +not NOT1_429 (N1554, N1521); +not NOT1_430 (N1557, N1526); +not NOT1_431 (N1561, N1520); +nand NAND2_432 (N1567, N1484, N1531); +nand NAND2_433 (N1568, N1481, N1532); +not NOT1_434 (N1569, N1510); +not NOT1_435 (N1571, N1527); +not NOT1_436 (N1576, N1529); +buf BUFF1_437 (N1588, N1522); +not NOT1_438 (N1591, N1534); +not NOT1_439 (N1593, N1537); +nand NAND2_440 (N1594, N1540, N1530); +not NOT1_441 (N1595, N1540); +nand NAND2_442 (N1596, N1567, N1568); +buf BUFF1_443 (N1600, N1517); +buf BUFF1_444 (N1603, N1517); +buf BUFF1_445 (N1606, N1522); +buf BUFF1_446 (N1609, N1522); +buf BUFF1_447 (N1612, N1514); +buf BUFF1_448 (N1615, N1514); +buf BUFF1_449 (N1620, N1557); +buf BUFF1_450 (N1623, N1554); +not NOT1_451 (N1635, N1571); +nand NAND2_452 (N1636, N1478, N1595); +nand NAND2_453 (N1638, N1576, N1569); +not NOT1_454 (N1639, N1576); +buf BUFF1_455 (N1640, N1561); +buf BUFF1_456 (N1643, N1561); +buf BUFF1_457 (N1647, N1546); +buf BUFF1_458 (N1651, N1546); +buf BUFF1_459 (N1658, N1554); +buf BUFF1_460 (N1661, N1557); +buf BUFF1_461 (N1664, N1557); +nand NAND2_462 (N1671, N1596, N893); +not NOT1_463 (N1672, N1596); +not NOT1_464 (N1675, N1600); +not NOT1_465 (N1677, N1603); +nand NAND2_466 (N1678, N1606, N1217); +not NOT1_467 (N1679, N1606); +nand NAND2_468 (N1680, N1609, N1219); +not NOT1_469 (N1681, N1609); +not NOT1_470 (N1682, N1612); +not NOT1_471 (N1683, N1615); +nand NAND2_472 (N1685, N1594, N1636); +nand NAND2_473 (N1688, N1510, N1639); +buf BUFF1_474 (N1697, N1588); +buf BUFF1_475 (N1701, N1588); +nand NAND2_476 (N1706, N643, N1672); +not NOT1_477 (N1707, N1643); +nand NAND2_478 (N1708, N1647, N1675); +not NOT1_479 (N1709, N1647); +nand NAND2_480 (N1710, N1651, N1677); +not NOT1_481 (N1711, N1651); +nand NAND2_482 (N1712, N1028, N1679); +nand NAND2_483 (N1713, N1031, N1681); +buf BUFF1_484 (N1714, N1620); +buf BUFF1_485 (N1717, N1620); +nand NAND2_486 (N1720, N1658, N1593); +not NOT1_487 (N1721, N1658); +nand NAND2_488 (N1723, N1638, N1688); +not NOT1_489 (N1727, N1661); +not NOT1_490 (N1728, N1640); +not NOT1_491 (N1730, N1664); +buf BUFF1_492 (N1731, N1623); +buf BUFF1_493 (N1734, N1623); +nand NAND2_494 (N1740, N1685, N1528); +not NOT1_495 (N1741, N1685); +nand NAND2_496 (N1742, N1671, N1706); +nand NAND2_497 (N1746, N1600, N1709); +nand NAND2_498 (N1747, N1603, N1711); +nand NAND2_499 (N1748, N1678, N1712); +nand NAND2_500 (N1751, N1680, N1713); +nand NAND2_501 (N1759, N1537, N1721); +not NOT1_502 (N1761, N1697); +nand NAND2_503 (N1762, N1697, N1727); +not NOT1_504 (N1763, N1701); +nand NAND2_505 (N1764, N1701, N1730); +not NOT1_506 (N1768, N1717); +nand NAND2_507 (N1769, N1472, N1741); +nand NAND2_508 (N1772, N1723, N1413); +not NOT1_509 (N1773, N1723); +nand NAND2_510 (N1774, N1708, N1746); +nand NAND2_511 (N1777, N1710, N1747); +not NOT1_512 (N1783, N1731); +nand NAND2_513 (N1784, N1731, N1682); +not NOT1_514 (N1785, N1714); +not NOT1_515 (N1786, N1734); +nand NAND2_516 (N1787, N1734, N1683); +nand NAND2_517 (N1788, N1720, N1759); +nand NAND2_518 (N1791, N1661, N1761); +nand NAND2_519 (N1792, N1664, N1763); +nand NAND2_520 (N1795, N1751, N1155); +not NOT1_521 (N1796, N1751); +nand NAND2_522 (N1798, N1740, N1769); +nand NAND2_523 (N1801, N1334, N1773); +nand NAND2_524 (N1802, N1742, N290); +not NOT1_525 (N1807, N1748); +nand NAND2_526 (N1808, N1748, N1218); +nand NAND2_527 (N1809, N1612, N1783); +nand NAND2_528 (N1810, N1615, N1786); +nand NAND2_529 (N1812, N1791, N1762); +nand NAND2_530 (N1815, N1792, N1764); +buf BUFF1_531 (N1818, N1742); +nand NAND2_532 (N1821, N1777, N1490); +not NOT1_533 (N1822, N1777); +nand NAND2_534 (N1823, N1774, N1491); +not NOT1_535 (N1824, N1774); +nand NAND2_536 (N1825, N962, N1796); +nand NAND2_537 (N1826, N1788, N1409); +not NOT1_538 (N1827, N1788); +nand NAND2_539 (N1830, N1772, N1801); +nand NAND2_540 (N1837, N959, N1807); +nand NAND2_541 (N1838, N1809, N1784); +nand NAND2_542 (N1841, N1810, N1787); +nand NAND2_543 (N1848, N1419, N1822); +nand NAND2_544 (N1849, N1416, N1824); +nand NAND2_545 (N1850, N1795, N1825); +nand NAND2_546 (N1852, N1319, N1827); +nand NAND2_547 (N1855, N1815, N1707); +not NOT1_548 (N1856, N1815); +not NOT1_549 (N1857, N1818); +nand NAND2_550 (N1858, N1798, N290); +not NOT1_551 (N1864, N1812); +nand NAND2_552 (N1865, N1812, N1728); +buf BUFF1_553 (N1866, N1798); +buf BUFF1_554 (N1869, N1802); +buf BUFF1_555 (N1872, N1802); +nand NAND2_556 (N1875, N1808, N1837); +nand NAND2_557 (N1878, N1821, N1848); +nand NAND2_558 (N1879, N1823, N1849); +nand NAND2_559 (N1882, N1841, N1768); +not NOT1_560 (N1883, N1841); +nand NAND2_561 (N1884, N1826, N1852); +nand NAND2_562 (N1885, N1643, N1856); +nand NAND2_563 (N1889, N1830, N290); +not NOT1_564 (N1895, N1838); +nand NAND2_565 (N1896, N1838, N1785); +nand NAND2_566 (N1897, N1640, N1864); +not NOT1_567 (N1898, N1850); +buf BUFF1_568 (N1902, N1830); +not NOT1_569 (N1910, N1878); +nand NAND2_570 (N1911, N1717, N1883); +not NOT1_571 (N1912, N1884); +nand NAND2_572 (N1913, N1855, N1885); +not NOT1_573 (N1915, N1866); +nand NAND2_574 (N1919, N1872, N919); +not NOT1_575 (N1920, N1872); +nand NAND2_576 (N1921, N1869, N920); +not NOT1_577 (N1922, N1869); +not NOT1_578 (N1923, N1875); +nand NAND2_579 (N1924, N1714, N1895); +buf BUFF1_580 (N1927, N1858); +buf BUFF1_581 (N1930, N1858); +nand NAND2_582 (N1933, N1865, N1897); +nand NAND2_583 (N1936, N1882, N1911); +not NOT1_584 (N1937, N1898); +not NOT1_585 (N1938, N1902); +nand NAND2_586 (N1941, N679, N1920); +nand NAND2_587 (N1942, N676, N1922); +buf BUFF1_588 (N1944, N1879); +not NOT1_589 (N1947, N1913); +buf BUFF1_590 (N1950, N1889); +buf BUFF1_591 (N1953, N1889); +buf BUFF1_592 (N1958, N1879); +nand NAND2_593 (N1961, N1896, N1924); +and AND2_594 (N1965, N1910, N601); +and AND2_595 (N1968, N602, N1912); +nand NAND2_596 (N1975, N1930, N917); +not NOT1_597 (N1976, N1930); +nand NAND2_598 (N1977, N1927, N918); +not NOT1_599 (N1978, N1927); +nand NAND2_600 (N1979, N1919, N1941); +nand NAND2_601 (N1980, N1921, N1942); +not NOT1_602 (N1985, N1933); +not NOT1_603 (N1987, N1936); +not NOT1_604 (N1999, N1944); +nand NAND2_605 (N2000, N1944, N1937); +not NOT1_606 (N2002, N1947); +nand NAND2_607 (N2003, N1947, N1499); +nand NAND2_608 (N2004, N1953, N1350); +not NOT1_609 (N2005, N1953); +nand NAND2_610 (N2006, N1950, N1351); +not NOT1_611 (N2007, N1950); +nand NAND2_612 (N2008, N673, N1976); +nand NAND2_613 (N2009, N670, N1978); +not NOT1_614 (N2012, N1979); +not NOT1_615 (N2013, N1958); +nand NAND2_616 (N2014, N1958, N1923); +not NOT1_617 (N2015, N1961); +nand NAND2_618 (N2016, N1961, N1635); +not NOT1_619 (N2018, N1965); +not NOT1_620 (N2019, N1968); +nand NAND2_621 (N2020, N1898, N1999); +not NOT1_622 (N2021, N1987); +nand NAND2_623 (N2022, N1987, N1591); +nand NAND2_624 (N2023, N1440, N2002); +nand NAND2_625 (N2024, N1261, N2005); +nand NAND2_626 (N2025, N1258, N2007); +nand NAND2_627 (N2026, N1975, N2008); +nand NAND2_628 (N2027, N1977, N2009); +not NOT1_629 (N2030, N1980); +buf BUFF1_630 (N2033, N1980); +nand NAND2_631 (N2036, N1875, N2013); +nand NAND2_632 (N2037, N1571, N2015); +nand NAND2_633 (N2038, N2020, N2000); +nand NAND2_634 (N2039, N1534, N2021); +nand NAND2_635 (N2040, N2023, N2003); +nand NAND2_636 (N2041, N2004, N2024); +nand NAND2_637 (N2042, N2006, N2025); +not NOT1_638 (N2047, N2026); +nand NAND2_639 (N2052, N2036, N2014); +nand NAND2_640 (N2055, N2037, N2016); +not NOT1_641 (N2060, N2038); +nand NAND2_642 (N2061, N2039, N2022); +nand NAND2_643 (N2062, N2040, N290); +not NOT1_644 (N2067, N2041); +not NOT1_645 (N2068, N2027); +buf BUFF1_646 (N2071, N2027); +not NOT1_647 (N2076, N2052); +not NOT1_648 (N2077, N2055); +nand NAND2_649 (N2078, N2060, N290); +nand NAND2_650 (N2081, N2061, N290); +not NOT1_651 (N2086, N2042); +buf BUFF1_652 (N2089, N2042); +and AND2_653 (N2104, N2030, N2068); +and AND2_654 (N2119, N2033, N2068); +and AND2_655 (N2129, N2030, N2071); +and AND2_656 (N2143, N2033, N2071); +buf BUFF1_657 (N2148, N2062); +buf BUFF1_658 (N2151, N2062); +buf BUFF1_659 (N2196, N2078); +buf BUFF1_660 (N2199, N2078); +buf BUFF1_661 (N2202, N2081); +buf BUFF1_662 (N2205, N2081); +nand NAND2_663 (N2214, N2151, N915); +not NOT1_664 (N2215, N2151); +nand NAND2_665 (N2216, N2148, N916); +not NOT1_666 (N2217, N2148); +nand NAND2_667 (N2222, N2199, N1348); +not NOT1_668 (N2223, N2199); +nand NAND2_669 (N2224, N2196, N1349); +not NOT1_670 (N2225, N2196); +nand NAND2_671 (N2226, N2205, N913); +not NOT1_672 (N2227, N2205); +nand NAND2_673 (N2228, N2202, N914); +not NOT1_674 (N2229, N2202); +nand NAND2_675 (N2230, N667, N2215); +nand NAND2_676 (N2231, N664, N2217); +nand NAND2_677 (N2232, N1255, N2223); +nand NAND2_678 (N2233, N1252, N2225); +nand NAND2_679 (N2234, N661, N2227); +nand NAND2_680 (N2235, N658, N2229); +nand NAND2_681 (N2236, N2214, N2230); +nand NAND2_682 (N2237, N2216, N2231); +nand NAND2_683 (N2240, N2222, N2232); +nand NAND2_684 (N2241, N2224, N2233); +nand NAND2_685 (N2244, N2226, N2234); +nand NAND2_686 (N2245, N2228, N2235); +not NOT1_687 (N2250, N2236); +not NOT1_688 (N2253, N2240); +not NOT1_689 (N2256, N2244); +not NOT1_690 (N2257, N2237); +buf BUFF1_691 (N2260, N2237); +not NOT1_692 (N2263, N2241); +and AND2_693 (N2266, N1164, N2241); +not NOT1_694 (N2269, N2245); +and AND2_695 (N2272, N1168, N2245); +nand NAND8_696 (N2279, N2067, N2012, N2047, N2250, N899, N2256, N2253, N903); +buf BUFF1_697 (N2286, N2266); +buf BUFF1_698 (N2297, N2266); +buf BUFF1_699 (N2315, N2272); +buf BUFF1_700 (N2326, N2272); +and AND2_701 (N2340, N2086, N2257); +and AND2_702 (N2353, N2089, N2257); +and AND2_703 (N2361, N2086, N2260); +and AND2_704 (N2375, N2089, N2260); +and AND4_705 (N2384, N338, N2279, N313, N313); +and AND2_706 (N2385, N1163, N2263); +and AND2_707 (N2386, N1164, N2263); +and AND2_708 (N2426, N1167, N2269); +and AND2_709 (N2427, N1168, N2269); +nand NAND5_710 (N2537, N2286, N2315, N2361, N2104, N1171); +nand NAND5_711 (N2540, N2286, N2315, N2340, N2129, N1171); +nand NAND5_712 (N2543, N2286, N2315, N2340, N2119, N1171); +nand NAND5_713 (N2546, N2286, N2315, N2353, N2104, N1171); +nand NAND5_714 (N2549, N2297, N2315, N2375, N2119, N1188); +nand NAND5_715 (N2552, N2297, N2326, N2361, N2143, N1188); +nand NAND5_716 (N2555, N2297, N2326, N2375, N2129, N1188); +and AND5_717 (N2558, N2286, N2315, N2361, N2104, N1171); +and AND5_718 (N2561, N2286, N2315, N2340, N2129, N1171); +and AND5_719 (N2564, N2286, N2315, N2340, N2119, N1171); +and AND5_720 (N2567, N2286, N2315, N2353, N2104, N1171); +and AND5_721 (N2570, N2297, N2315, N2375, N2119, N1188); +and AND5_722 (N2573, N2297, N2326, N2361, N2143, N1188); +and AND5_723 (N2576, N2297, N2326, N2375, N2129, N1188); +nand NAND5_724 (N2594, N2286, N2427, N2361, N2129, N1171); +nand NAND5_725 (N2597, N2297, N2427, N2361, N2119, N1171); +nand NAND5_726 (N2600, N2297, N2427, N2375, N2104, N1171); +nand NAND5_727 (N2603, N2297, N2427, N2340, N2143, N1171); +nand NAND5_728 (N2606, N2297, N2427, N2353, N2129, N1188); +nand NAND5_729 (N2611, N2386, N2326, N2361, N2129, N1188); +nand NAND5_730 (N2614, N2386, N2326, N2361, N2119, N1188); +nand NAND5_731 (N2617, N2386, N2326, N2375, N2104, N1188); +nand NAND5_732 (N2620, N2386, N2326, N2353, N2129, N1188); +nand NAND5_733 (N2627, N2297, N2427, N2340, N2104, N926); +nand NAND5_734 (N2628, N2386, N2326, N2340, N2104, N926); +nand NAND5_735 (N2629, N2386, N2427, N2361, N2104, N926); +nand NAND5_736 (N2630, N2386, N2427, N2340, N2129, N926); +nand NAND5_737 (N2631, N2386, N2427, N2340, N2119, N926); +nand NAND5_738 (N2632, N2386, N2427, N2353, N2104, N926); +nand NAND5_739 (N2633, N2386, N2426, N2340, N2104, N926); +nand NAND5_740 (N2634, N2385, N2427, N2340, N2104, N926); +and AND5_741 (N2639, N2286, N2427, N2361, N2129, N1171); +and AND5_742 (N2642, N2297, N2427, N2361, N2119, N1171); +and AND5_743 (N2645, N2297, N2427, N2375, N2104, N1171); +and AND5_744 (N2648, N2297, N2427, N2340, N2143, N1171); +and AND5_745 (N2651, N2297, N2427, N2353, N2129, N1188); +and AND5_746 (N2655, N2386, N2326, N2361, N2129, N1188); +and AND5_747 (N2658, N2386, N2326, N2361, N2119, N1188); +and AND5_748 (N2661, N2386, N2326, N2375, N2104, N1188); +and AND5_749 (N2664, N2386, N2326, N2353, N2129, N1188); +nand NAND2_750 (N2669, N2558, N534); +not NOT1_751 (N2670, N2558); +nand NAND2_752 (N2671, N2561, N535); +not NOT1_753 (N2672, N2561); +nand NAND2_754 (N2673, N2564, N536); +not NOT1_755 (N2674, N2564); +nand NAND2_756 (N2675, N2567, N537); +not NOT1_757 (N2676, N2567); +nand NAND2_758 (N2682, N2570, N543); +not NOT1_759 (N2683, N2570); +nand NAND2_760 (N2688, N2573, N548); +not NOT1_761 (N2689, N2573); +nand NAND2_762 (N2690, N2576, N549); +not NOT1_763 (N2691, N2576); +and AND8_764 (N2710, N2627, N2628, N2629, N2630, N2631, N2632, N2633, N2634); +nand NAND2_765 (N2720, N343, N2670); +nand NAND2_766 (N2721, N346, N2672); +nand NAND2_767 (N2722, N349, N2674); +nand NAND2_768 (N2723, N352, N2676); +nand NAND2_769 (N2724, N2639, N538); +not NOT1_770 (N2725, N2639); +nand NAND2_771 (N2726, N2642, N539); +not NOT1_772 (N2727, N2642); +nand NAND2_773 (N2728, N2645, N540); +not NOT1_774 (N2729, N2645); +nand NAND2_775 (N2730, N2648, N541); +not NOT1_776 (N2731, N2648); +nand NAND2_777 (N2732, N2651, N542); +not NOT1_778 (N2733, N2651); +nand NAND2_779 (N2734, N370, N2683); +nand NAND2_780 (N2735, N2655, N544); +not NOT1_781 (N2736, N2655); +nand NAND2_782 (N2737, N2658, N545); +not NOT1_783 (N2738, N2658); +nand NAND2_784 (N2739, N2661, N546); +not NOT1_785 (N2740, N2661); +nand NAND2_786 (N2741, N2664, N547); +not NOT1_787 (N2742, N2664); +nand NAND2_788 (N2743, N385, N2689); +nand NAND2_789 (N2744, N388, N2691); +nand NAND8_790 (N2745, N2537, N2540, N2543, N2546, N2594, N2597, N2600, N2603); +nand NAND8_791 (N2746, N2606, N2549, N2611, N2614, N2617, N2620, N2552, N2555); +and AND8_792 (N2747, N2537, N2540, N2543, N2546, N2594, N2597, N2600, N2603); +and AND8_793 (N2750, N2606, N2549, N2611, N2614, N2617, N2620, N2552, N2555); +nand NAND2_794 (N2753, N2669, N2720); +nand NAND2_795 (N2754, N2671, N2721); +nand NAND2_796 (N2755, N2673, N2722); +nand NAND2_797 (N2756, N2675, N2723); +nand NAND2_798 (N2757, N355, N2725); +nand NAND2_799 (N2758, N358, N2727); +nand NAND2_800 (N2759, N361, N2729); +nand NAND2_801 (N2760, N364, N2731); +nand NAND2_802 (N2761, N367, N2733); +nand NAND2_803 (N2762, N2682, N2734); +nand NAND2_804 (N2763, N373, N2736); +nand NAND2_805 (N2764, N376, N2738); +nand NAND2_806 (N2765, N379, N2740); +nand NAND2_807 (N2766, N382, N2742); +nand NAND2_808 (N2767, N2688, N2743); +nand NAND2_809 (N2768, N2690, N2744); +and AND2_810 (N2773, N2745, N275); +and AND2_811 (N2776, N2746, N276); +nand NAND2_812 (N2779, N2724, N2757); +nand NAND2_813 (N2780, N2726, N2758); +nand NAND2_814 (N2781, N2728, N2759); +nand NAND2_815 (N2782, N2730, N2760); +nand NAND2_816 (N2783, N2732, N2761); +nand NAND2_817 (N2784, N2735, N2763); +nand NAND2_818 (N2785, N2737, N2764); +nand NAND2_819 (N2786, N2739, N2765); +nand NAND2_820 (N2787, N2741, N2766); +and AND3_821 (N2788, N2747, N2750, N2710); +nand NAND2_822 (N2789, N2747, N2750); +and AND4_823 (N2800, N338, N2279, N99, N2788); +nand NAND2_824 (N2807, N2773, N2018); +not NOT1_825 (N2808, N2773); +nand NAND2_826 (N2809, N2776, N2019); +not NOT1_827 (N2810, N2776); +nor NOR2_828 (N2811, N2384, N2800); +and AND3_829 (N2812, N897, N283, N2789); +and AND3_830 (N2815, N76, N283, N2789); +and AND3_831 (N2818, N82, N283, N2789); +and AND3_832 (N2821, N85, N283, N2789); +and AND3_833 (N2824, N898, N283, N2789); +nand NAND2_834 (N2827, N1965, N2808); +nand NAND2_835 (N2828, N1968, N2810); +and AND3_836 (N2829, N79, N283, N2789); +nand NAND2_837 (N2843, N2807, N2827); +nand NAND2_838 (N2846, N2809, N2828); +nand NAND2_839 (N2850, N2812, N2076); +nand NAND2_840 (N2851, N2815, N2077); +nand NAND2_841 (N2852, N2818, N1915); +nand NAND2_842 (N2853, N2821, N1857); +nand NAND2_843 (N2854, N2824, N1938); +not NOT1_844 (N2857, N2812); +not NOT1_845 (N2858, N2815); +not NOT1_846 (N2859, N2818); +not NOT1_847 (N2860, N2821); +not NOT1_848 (N2861, N2824); +not NOT1_849 (N2862, N2829); +nand NAND2_850 (N2863, N2829, N1985); +nand NAND2_851 (N2866, N2052, N2857); +nand NAND2_852 (N2867, N2055, N2858); +nand NAND2_853 (N2868, N1866, N2859); +nand NAND2_854 (N2869, N1818, N2860); +nand NAND2_855 (N2870, N1902, N2861); +nand NAND2_856 (N2871, N2843, N886); +not NOT1_857 (N2872, N2843); +nand NAND2_858 (N2873, N2846, N887); +not NOT1_859 (N2874, N2846); +nand NAND2_860 (N2875, N1933, N2862); +nand NAND2_861 (N2876, N2866, N2850); +nand NAND2_862 (N2877, N2867, N2851); +nand NAND2_863 (N2878, N2868, N2852); +nand NAND2_864 (N2879, N2869, N2853); +nand NAND2_865 (N2880, N2870, N2854); +nand NAND2_866 (N2881, N682, N2872); +nand NAND2_867 (N2882, N685, N2874); +nand NAND2_868 (N2883, N2875, N2863); +and AND2_869 (N2886, N2876, N550); +and AND2_870 (N2887, N551, N2877); +and AND2_871 (N2888, N553, N2878); +and AND2_872 (N2889, N2879, N554); +and AND2_873 (N2890, N555, N2880); +nand NAND2_874 (N2891, N2871, N2881); +nand NAND2_875 (N2892, N2873, N2882); +nand NAND2_876 (N2895, N2883, N1461); +not NOT1_877 (N2896, N2883); +nand NAND2_878 (N2897, N1383, N2896); +nand NAND2_879 (N2898, N2895, N2897); +and AND2_880 (N2899, N2898, N552); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c1908_tb.v b/SupplementaryMaterials/Iscas85Verilog/c1908_tb.v new file mode 100644 index 0000000..37a714b --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c1908_tb.v @@ -0,0 +1,62 @@ + +module c1908_tb(); + + +reg N1,N4,N7,N10,N13,N16,N19,N22,N25,N28, + N31,N34,N37,N40,N43,N46,N49,N53,N56,N60, + N63,N66,N69,N72,N76,N79,N82,N85,N88,N91, + N94,N99,N104; + +wire N2753,N2754,N2755,N2756,N2762,N2767,N2768,N2779,N2780,N2781, + N2782,N2783,N2784,N2785,N2786,N2787,N2811,N2886,N2887,N2888, + N2889,N2890,N2891,N2892,N2899; + +c1908 c0(N1,N4,N7,N10,N13,N16,N19,N22,N25,N28, + N31,N34,N37,N40,N43,N46,N49,N53,N56,N60, + N63,N66,N69,N72,N76,N79,N82,N85,N88,N91, + N94,N99,N104,N2753,N2754,N2755,N2756,N2762,N2767,N2768, + N2779,N2780,N2781,N2782,N2783,N2784,N2785,N2786,N2787,N2811, + N2886,N2887,N2888,N2889,N2890,N2891,N2892,N2899); + + + +reg [32:0] test_vectors[0:9]; +reg [24:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c1908_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N4,N7,N10,N13,N16,N19,N22,N25,N28, + N31,N34,N37,N40,N43,N46,N49,N53,N56,N60, + N63,N66,N69,N72,N76,N79,N82,N85,N88,N91, + N94,N99,N104} = test_vectors[k]; + + #1 + out_vectors[k] = {N2753,N2754,N2755,N2756,N2762,N2767,N2768,N2779,N2780,N2781, + N2782,N2783,N2784,N2785,N2786,N2787,N2811,N2886,N2887,N2888, + N2889,N2890,N2891,N2892,N2899}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c1908_in_data.txt", test_vectors); + $writememb("c1908_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c2670.v b/SupplementaryMaterials/Iscas85Verilog/c2670.v new file mode 100644 index 0000000..5ed1ea2 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c2670.v @@ -0,0 +1,1482 @@ +// Verilog +// c2670 +// Ninputs 233 +// Noutputs 140 +// NtotalGates 1269 +// BUFF1 272 +// AND2 203 +// NOT1 321 +// AND4 11 +// AND3 112 +// NAND2 254 +// OR2 51 +// OR4 22 +// NOR2 12 +// AND5 7 +// OR3 2 +// OR5 2 + +module c2670 (N1,N2,N3,N4,N5,N6,N7,N8,N11,N14, + N15,N16,N19,N20,N21,N22,N23,N24,N25,N26, + N27,N28,N29,N32,N33,N34,N35,N36,N37,N40, + N43,N44,N47,N48,N49,N50,N51,N52,N53,N54, + N55,N56,N57,N60,N61,N62,N63,N64,N65,N66, + N67,N68,N69,N72,N73,N74,N75,N76,N77,N78, + N79,N80,N81,N82,N85,N86,N87,N88,N89,N90, + N91,N92,N93,N94,N95,N96,N99,N100,N101,N102, + N103,N104,N105,N106,N107,N108,N111,N112,N113,N114, + N115,N116,N117,N118,N119,N120,N123,N124,N125,N126, + N127,N128,N129,N130,N131,N132,N135,N136,N137,N138, + N139,N140,N141,N142,N219,N224,N227,N230,N231,N234, + N237,N241,N246,N253,N256,N259,N262,N263,N266,N269, + N272,N275,N278,N281,N284,N287,N290,N294,N297,N301, + N305,N309,N313,N316,N319,N322,N325,N328,N331,N334, + N337,N340,N343,N346,N349,N352,N355,N143_I,N144_I,N145_I, + N146_I,N147_I,N148_I,N149_I,N150_I,N151_I,N152_I,N153_I,N154_I,N155_I, + N156_I,N157_I,N158_I,N159_I,N160_I,N161_I,N162_I,N163_I,N164_I,N165_I, + N166_I,N167_I,N168_I,N169_I,N170_I,N171_I,N172_I,N173_I,N174_I,N175_I, + N176_I,N177_I,N178_I,N179_I,N180_I,N181_I,N182_I,N183_I,N184_I,N185_I, + N186_I,N187_I,N188_I,N189_I,N190_I,N191_I,N192_I,N193_I,N194_I,N195_I, + N196_I,N197_I,N198_I,N199_I,N200_I,N201_I,N202_I,N203_I,N204_I,N205_I, + N206_I,N207_I,N208_I,N209_I,N210_I,N211_I,N212_I,N213_I,N214_I,N215_I, + N216_I,N217_I,N218_I,N398,N400,N401,N419,N420,N456,N457, + N458,N487,N488,N489,N490,N491,N492,N493,N494,N792, + N799,N805,N1026,N1028,N1029,N1269,N1277,N1448,N1726,N1816, + N1817,N1818,N1819,N1820,N1821,N1969,N1970,N1971,N2010,N2012, + N2014,N2016,N2018,N2020,N2022,N2387,N2388,N2389,N2390,N2496, + N2643,N2644,N2891,N2925,N2970,N2971,N3038,N3079,N3546,N3671, + N3803,N3804,N3809,N3851,N3875,N3881,N3882,N143_O,N144_O,N145_O, + N146_O,N147_O,N148_O,N149_O,N150_O,N151_O,N152_O,N153_O,N154_O,N155_O, + N156_O,N157_O,N158_O,N159_O,N160_O,N161_O,N162_O,N163_O,N164_O,N165_O, + N166_O,N167_O,N168_O,N169_O,N170_O,N171_O,N172_O,N173_O,N174_O,N175_O, + N176_O,N177_O,N178_O,N179_O,N180_O,N181_O,N182_O,N183_O,N184_O,N185_O, + N186_O,N187_O,N188_O,N189_O,N190_O,N191_O,N192_O,N193_O,N194_O,N195_O, + N196_O,N197_O,N198_O,N199_O,N200_O,N201_O,N202_O,N203_O,N204_O,N205_O, + N206_O,N207_O,N208_O,N209_O,N210_O,N211_O,N212_O,N213_O,N214_O,N215_O, + N216_O,N217_O,N218_O); + +input N1,N2,N3,N4,N5,N6,N7,N8,N11,N14, + N15,N16,N19,N20,N21,N22,N23,N24,N25,N26, + N27,N28,N29,N32,N33,N34,N35,N36,N37,N40, + N43,N44,N47,N48,N49,N50,N51,N52,N53,N54, + N55,N56,N57,N60,N61,N62,N63,N64,N65,N66, + N67,N68,N69,N72,N73,N74,N75,N76,N77,N78, + N79,N80,N81,N82,N85,N86,N87,N88,N89,N90, + N91,N92,N93,N94,N95,N96,N99,N100,N101,N102, + N103,N104,N105,N106,N107,N108,N111,N112,N113,N114, + N115,N116,N117,N118,N119,N120,N123,N124,N125,N126, + N127,N128,N129,N130,N131,N132,N135,N136,N137,N138, + N139,N140,N141,N142,N219,N224,N227,N230,N231,N234, + N237,N241,N246,N253,N256,N259,N262,N263,N266,N269, + N272,N275,N278,N281,N284,N287,N290,N294,N297,N301, + N305,N309,N313,N316,N319,N322,N325,N328,N331,N334, + N337,N340,N343,N346,N349,N352,N355,N143_I,N144_I,N145_I, + N146_I,N147_I,N148_I,N149_I,N150_I,N151_I,N152_I,N153_I,N154_I,N155_I, + N156_I,N157_I,N158_I,N159_I,N160_I,N161_I,N162_I,N163_I,N164_I,N165_I, + N166_I,N167_I,N168_I,N169_I,N170_I,N171_I,N172_I,N173_I,N174_I,N175_I, + N176_I,N177_I,N178_I,N179_I,N180_I,N181_I,N182_I,N183_I,N184_I,N185_I, + N186_I,N187_I,N188_I,N189_I,N190_I,N191_I,N192_I,N193_I,N194_I,N195_I, + N196_I,N197_I,N198_I,N199_I,N200_I,N201_I,N202_I,N203_I,N204_I,N205_I, + N206_I,N207_I,N208_I,N209_I,N210_I,N211_I,N212_I,N213_I,N214_I,N215_I, + N216_I,N217_I,N218_I; + +output N398,N400,N401,N419,N420,N456,N457,N458,N487,N488, + N489,N490,N491,N492,N493,N494,N792,N799,N805,N1026, + N1028,N1029,N1269,N1277,N1448,N1726,N1816,N1817,N1818,N1819, + N1820,N1821,N1969,N1970,N1971,N2010,N2012,N2014,N2016,N2018, + N2020,N2022,N2387,N2388,N2389,N2390,N2496,N2643,N2644,N2891, + N2925,N2970,N2971,N3038,N3079,N3546,N3671,N3803,N3804,N3809, + N3851,N3875,N3881,N3882,N143_O,N144_O,N145_O,N146_O,N147_O,N148_O, + N149_O,N150_O,N151_O,N152_O,N153_O,N154_O,N155_O,N156_O,N157_O,N158_O, + N159_O,N160_O,N161_O,N162_O,N163_O,N164_O,N165_O,N166_O,N167_O,N168_O, + N169_O,N170_O,N171_O,N172_O,N173_O,N174_O,N175_O,N176_O,N177_O,N178_O, + N179_O,N180_O,N181_O,N182_O,N183_O,N184_O,N185_O,N186_O,N187_O,N188_O, + N189_O,N190_O,N191_O,N192_O,N193_O,N194_O,N195_O,N196_O,N197_O,N198_O, + N199_O,N200_O,N201_O,N202_O,N203_O,N204_O,N205_O,N206_O,N207_O,N208_O, + N209_O,N210_O,N211_O,N212_O,N213_O,N214_O,N215_O,N216_O,N217_O,N218_O; + +wire N405,N408,N425,N485,N486,N495,N496,N499,N500,N503, + N506,N509,N521,N533,N537,N543,N544,N547,N550,N562, + N574,N578,N582,N594,N606,N607,N608,N609,N610,N611, + N612,N613,N625,N637,N643,N650,N651,N655,N659,N663, + N667,N671,N675,N679,N683,N687,N693,N699,N705,N711, + N715,N719,N723,N727,N730,N733,N734,N735,N738,N741, + N744,N747,N750,N753,N756,N759,N762,N765,N768,N771, + N774,N777,N780,N783,N786,N800,N900,N901,N902,N903, + N904,N905,N998,N999,N1027,N1032,N1033,N1034,N1037,N1042, + N1053,N1064,N1065,N1066,N1067,N1068,N1069,N1070,N1075,N1086, + N1097,N1098,N1099,N1100,N1101,N1102,N1113,N1124,N1125,N1126, + N1127,N1128,N1129,N1133,N1137,N1140,N1141,N1142,N1143,N1144, + N1145,N1146,N1157,N1168,N1169,N1170,N1171,N1172,N1173,N1178, + N1184,N1185,N1186,N1187,N1188,N1189,N1190,N1195,N1200,N1205, + N1210,N1211,N1212,N1213,N1214,N1215,N1216,N1219,N1222,N1225, + N1228,N1231,N1234,N1237,N1240,N1243,N1246,N1249,N1250,N1251, + N1254,N1257,N1260,N1263,N1266,N1275,N1276,N1302,N1351,N1352, + N1353,N1354,N1355,N1395,N1396,N1397,N1398,N1399,N1422,N1423, + N1424,N1425,N1426,N1427,N1440,N1441,N1449,N1450,N1451,N1452, + N1453,N1454,N1455,N1456,N1457,N1458,N1459,N1460,N1461,N1462, + N1463,N1464,N1465,N1466,N1467,N1468,N1469,N1470,N1471,N1472, + N1473,N1474,N1475,N1476,N1477,N1478,N1479,N1480,N1481,N1482, + N1483,N1484,N1485,N1486,N1487,N1488,N1489,N1490,N1491,N1492, + N1493,N1494,N1495,N1496,N1499,N1502,N1506,N1510,N1513,N1516, + N1519,N1520,N1521,N1522,N1523,N1524,N1525,N1526,N1527,N1528, + N1529,N1530,N1531,N1532,N1533,N1534,N1535,N1536,N1537,N1538, + N1539,N1540,N1541,N1542,N1543,N1544,N1545,N1546,N1547,N1548, + N1549,N1550,N1551,N1552,N1553,N1557,N1561,N1564,N1565,N1566, + N1567,N1568,N1569,N1570,N1571,N1572,N1573,N1574,N1575,N1576, + N1577,N1578,N1581,N1582,N1585,N1588,N1591,N1596,N1600,N1606, + N1612,N1615,N1619,N1624,N1628,N1631,N1634,N1637,N1642,N1647, + N1651,N1656,N1676,N1681,N1686,N1690,N1708,N1770,N1773,N1776, + N1777,N1778,N1781,N1784,N1785,N1795,N1798,N1801,N1804,N1807, + N1808,N1809,N1810,N1811,N1813,N1814,N1815,N1822,N1823,N1824, + N1827,N1830,N1831,N1832,N1833,N1836,N1841,N1848,N1852,N1856, + N1863,N1870,N1875,N1880,N1885,N1888,N1891,N1894,N1897,N1908, + N1909,N1910,N1911,N1912,N1913,N1914,N1915,N1916,N1917,N1918, + N1919,N1928,N1929,N1930,N1931,N1932,N1933,N1934,N1935,N1936, + N1939,N1940,N1941,N1942,N1945,N1948,N1951,N1954,N1957,N1960, + N1963,N1966,N2028,N2029,N2030,N2031,N2032,N2033,N2034,N2040, + N2041,N2042,N2043,N2046,N2049,N2052,N2055,N2058,N2061,N2064, + N2067,N2070,N2073,N2076,N2079,N2095,N2098,N2101,N2104,N2107, + N2110,N2113,N2119,N2120,N2125,N2126,N2127,N2128,N2135,N2141, + N2144,N2147,N2150,N2153,N2154,N2155,N2156,N2157,N2158,N2171, + N2172,N2173,N2174,N2175,N2176,N2177,N2178,N2185,N2188,N2191, + N2194,N2197,N2200,N2201,N2204,N2207,N2210,N2213,N2216,N2219, + N2234,N2235,N2236,N2237,N2250,N2266,N2269,N2291,N2294,N2297, + N2298,N2300,N2301,N2302,N2303,N2304,N2305,N2306,N2307,N2308, + N2309,N2310,N2311,N2312,N2313,N2314,N2315,N2316,N2317,N2318, + N2319,N2320,N2321,N2322,N2323,N2324,N2325,N2326,N2327,N2328, + N2329,N2330,N2331,N2332,N2333,N2334,N2335,N2336,N2337,N2338, + N2339,N2340,N2354,N2355,N2356,N2357,N2358,N2359,N2364,N2365, + N2366,N2367,N2368,N2372,N2373,N2374,N2375,N2376,N2377,N2382, + N2386,N2391,N2395,N2400,N2403,N2406,N2407,N2408,N2409,N2410, + N2411,N2412,N2413,N2414,N2415,N2416,N2417,N2421,N2425,N2428, + N2429,N2430,N2431,N2432,N2433,N2434,N2437,N2440,N2443,N2446, + N2449,N2452,N2453,N2454,N2457,N2460,N2463,N2466,N2469,N2472, + N2475,N2478,N2481,N2484,N2487,N2490,N2493,N2503,N2504,N2510, + N2511,N2521,N2528,N2531,N2534,N2537,N2540,N2544,N2545,N2546, + N2547,N2548,N2549,N2550,N2551,N2552,N2553,N2563,N2564,N2565, + N2566,N2567,N2568,N2579,N2603,N2607,N2608,N2609,N2610,N2611, + N2612,N2613,N2617,N2618,N2619,N2620,N2621,N2624,N2628,N2629, + N2630,N2631,N2632,N2633,N2634,N2635,N2636,N2638,N2645,N2646, + N2652,N2655,N2656,N2659,N2663,N2664,N2665,N2666,N2667,N2668, + N2669,N2670,N2671,N2672,N2673,N2674,N2675,N2676,N2677,N2678, + N2679,N2680,N2681,N2684,N2687,N2690,N2693,N2694,N2695,N2696, + N2697,N2698,N2699,N2700,N2701,N2702,N2703,N2706,N2707,N2708, + N2709,N2710,N2719,N2720,N2726,N2729,N2738,N2743,N2747,N2748, + N2749,N2750,N2751,N2760,N2761,N2766,N2771,N2772,N2773,N2774, + N2775,N2776,N2777,N2778,N2781,N2782,N2783,N2784,N2789,N2790, + N2791,N2792,N2793,N2796,N2800,N2803,N2806,N2809,N2810,N2811, + N2812,N2817,N2820,N2826,N2829,N2830,N2831,N2837,N2838,N2839, + N2840,N2841,N2844,N2854,N2859,N2869,N2874,N2877,N2880,N2881, + N2882,N2885,N2888,N2894,N2895,N2896,N2897,N2898,N2899,N2900, + N2901,N2914,N2915,N2916,N2917,N2918,N2919,N2920,N2921,N2931, + N2938,N2939,N2963,N2972,N2975,N2978,N2981,N2984,N2985,N2986, + N2989,N2992,N2995,N2998,N3001,N3004,N3007,N3008,N3009,N3010, + N3013,N3016,N3019,N3022,N3025,N3028,N3029,N3030,N3035,N3036, + N3037,N3039,N3044,N3045,N3046,N3047,N3048,N3049,N3050,N3053, + N3054,N3055,N3056,N3057,N3058,N3059,N3060,N3061,N3064,N3065, + N3066,N3067,N3068,N3069,N3070,N3071,N3072,N3073,N3074,N3075, + N3076,N3088,N3091,N3110,N3113,N3137,N3140,N3143,N3146,N3149, + N3152,N3157,N3160,N3163,N3166,N3169,N3172,N3175,N3176,N3177, + N3178,N3180,N3187,N3188,N3189,N3190,N3191,N3192,N3193,N3194, + N3195,N3196,N3197,N3208,N3215,N3216,N3217,N3218,N3219,N3220, + N3222,N3223,N3230,N3231,N3238,N3241,N3244,N3247,N3250,N3253, + N3256,N3259,N3262,N3265,N3268,N3271,N3274,N3277,N3281,N3282, + N3283,N3284,N3286,N3288,N3289,N3291,N3293,N3295,N3296,N3299, + N3301,N3302,N3304,N3306,N3308,N3309,N3312,N3314,N3315,N3318, + N3321,N3324,N3327,N3330,N3333,N3334,N3335,N3336,N3337,N3340, + N3344,N3348,N3352,N3356,N3360,N3364,N3367,N3370,N3374,N3378, + N3382,N3386,N3390,N3394,N3397,N3400,N3401,N3402,N3403,N3404, + N3405,N3406,N3409,N3410,N3412,N3414,N3416,N3418,N3420,N3422, + N3428,N3430,N3432,N3434,N3436,N3438,N3440,N3450,N3453,N3456, + N3459,N3478,N3479,N3480,N3481,N3482,N3483,N3484,N3485,N3486, + N3487,N3488,N3489,N3490,N3491,N3492,N3493,N3494,N3496,N3498, + N3499,N3500,N3501,N3502,N3503,N3504,N3505,N3506,N3507,N3508, + N3509,N3510,N3511,N3512,N3513,N3515,N3517,N3522,N3525,N3528, + N3531,N3534,N3537,N3540,N3543,N3551,N3552,N3553,N3554,N3555, + N3556,N3557,N3558,N3559,N3563,N3564,N3565,N3566,N3567,N3568, + N3569,N3570,N3576,N3579,N3585,N3588,N3592,N3593,N3594,N3595, + N3596,N3597,N3598,N3599,N3600,N3603,N3608,N3612,N3615,N3616, + N3622,N3629,N3630,N3631,N3632,N3633,N3634,N3635,N3640,N3644, + N3647,N3648,N3654,N3661,N3662,N3667,N3668,N3669,N3670,N3691, + N3692,N3693,N3694,N3695,N3696,N3697,N3716,N3717,N3718,N3719, + N3720,N3721,N3722,N3723,N3726,N3727,N3728,N3729,N3730,N3731, + N3732,N3733,N3734,N3735,N3736,N3737,N3740,N3741,N3742,N3743, + N3744,N3745,N3746,N3747,N3748,N3749,N3750,N3753,N3754,N3758, + N3761,N3762,N3767,N3771,N3774,N3775,N3778,N3779,N3780,N3790, + N3793,N3794,N3802,N3805,N3806,N3807,N3808,N3811,N3812,N3813, + N3814,N3815,N3816,N3817,N3818,N3819,N3820,N3821,N3822,N3823, + N3826,N3827,N3834,N3835,N3836,N3837,N3838,N3839,N3840,N3843, + N3852,N3857,N3858,N3859,N3864,N3869,N3870,N3876,N3877; + +buf BUFF1_1 (N398, N219); +buf BUFF1_2 (N400, N219); +buf BUFF1_3 (N401, N219); +and AND2_4 (N405, N1, N3); +not NOT1_5 (N408, N230); +buf BUFF1_6 (N419, N253); +buf BUFF1_7 (N420, N253); +not NOT1_8 (N425, N262); +buf BUFF1_9 (N456, N290); +buf BUFF1_10 (N457, N290); +buf BUFF1_11 (N458, N290); +and AND4_12 (N485, N309, N305, N301, N297); +not NOT1_13 (N486, N405); +not NOT1_14 (N487, N44); +not NOT1_15 (N488, N132); +not NOT1_16 (N489, N82); +not NOT1_17 (N490, N96); +not NOT1_18 (N491, N69); +not NOT1_19 (N492, N120); +not NOT1_20 (N493, N57); +not NOT1_21 (N494, N108); +and AND3_22 (N495, N2, N15, N237); +buf BUFF1_23 (N496, N237); +buf BUFF1_24 (N499, N37); +buf BUFF1_25 (N500, N219); +buf BUFF1_26 (N503, N8); +buf BUFF1_27 (N506, N8); +buf BUFF1_28 (N509, N227); +buf BUFF1_29 (N521, N234); +not NOT1_30 (N533, N241); +not NOT1_31 (N537, N246); +and AND2_32 (N543, N11, N246); +and AND4_33 (N544, N132, N82, N96, N44); +and AND4_34 (N547, N120, N57, N108, N69); +buf BUFF1_35 (N550, N227); +buf BUFF1_36 (N562, N234); +not NOT1_37 (N574, N256); +not NOT1_38 (N578, N259); +buf BUFF1_39 (N582, N319); +buf BUFF1_40 (N594, N322); +not NOT1_41 (N606, N328); +not NOT1_42 (N607, N331); +not NOT1_43 (N608, N334); +not NOT1_44 (N609, N337); +not NOT1_45 (N610, N340); +not NOT1_46 (N611, N343); +not NOT1_47 (N612, N352); +buf BUFF1_48 (N613, N319); +buf BUFF1_49 (N625, N322); +buf BUFF1_50 (N637, N16); +buf BUFF1_51 (N643, N16); +not NOT1_52 (N650, N355); +and AND2_53 (N651, N7, N237); +not NOT1_54 (N655, N263); +not NOT1_55 (N659, N266); +not NOT1_56 (N663, N269); +not NOT1_57 (N667, N272); +not NOT1_58 (N671, N275); +not NOT1_59 (N675, N278); +not NOT1_60 (N679, N281); +not NOT1_61 (N683, N284); +not NOT1_62 (N687, N287); +buf BUFF1_63 (N693, N29); +buf BUFF1_64 (N699, N29); +not NOT1_65 (N705, N294); +not NOT1_66 (N711, N297); +not NOT1_67 (N715, N301); +not NOT1_68 (N719, N305); +not NOT1_69 (N723, N309); +not NOT1_70 (N727, N313); +not NOT1_71 (N730, N316); +not NOT1_72 (N733, N346); +not NOT1_73 (N734, N349); +buf BUFF1_74 (N735, N259); +buf BUFF1_75 (N738, N256); +buf BUFF1_76 (N741, N263); +buf BUFF1_77 (N744, N269); +buf BUFF1_78 (N747, N266); +buf BUFF1_79 (N750, N275); +buf BUFF1_80 (N753, N272); +buf BUFF1_81 (N756, N281); +buf BUFF1_82 (N759, N278); +buf BUFF1_83 (N762, N287); +buf BUFF1_84 (N765, N284); +buf BUFF1_85 (N768, N294); +buf BUFF1_86 (N771, N301); +buf BUFF1_87 (N774, N297); +buf BUFF1_88 (N777, N309); +buf BUFF1_89 (N780, N305); +buf BUFF1_90 (N783, N316); +buf BUFF1_91 (N786, N313); +not NOT1_92 (N792, N485); +not NOT1_93 (N799, N495); +not NOT1_94 (N800, N499); +buf BUFF1_95 (N805, N500); +nand NAND2_96 (N900, N331, N606); +nand NAND2_97 (N901, N328, N607); +nand NAND2_98 (N902, N337, N608); +nand NAND2_99 (N903, N334, N609); +nand NAND2_100 (N904, N343, N610); +nand NAND2_101 (N905, N340, N611); +nand NAND2_102 (N998, N349, N733); +nand NAND2_103 (N999, N346, N734); +and AND2_104 (N1026, N94, N500); +and AND2_105 (N1027, N325, N651); +not NOT1_106 (N1028, N651); +nand NAND2_107 (N1029, N231, N651); +not NOT1_108 (N1032, N544); +not NOT1_109 (N1033, N547); +and AND2_110 (N1034, N547, N544); +buf BUFF1_111 (N1037, N503); +not NOT1_112 (N1042, N509); +not NOT1_113 (N1053, N521); +and AND3_114 (N1064, N80, N509, N521); +and AND3_115 (N1065, N68, N509, N521); +and AND3_116 (N1066, N79, N509, N521); +and AND3_117 (N1067, N78, N509, N521); +and AND3_118 (N1068, N77, N509, N521); +and AND2_119 (N1069, N11, N537); +buf BUFF1_120 (N1070, N503); +not NOT1_121 (N1075, N550); +not NOT1_122 (N1086, N562); +and AND3_123 (N1097, N76, N550, N562); +and AND3_124 (N1098, N75, N550, N562); +and AND3_125 (N1099, N74, N550, N562); +and AND3_126 (N1100, N73, N550, N562); +and AND3_127 (N1101, N72, N550, N562); +not NOT1_128 (N1102, N582); +not NOT1_129 (N1113, N594); +and AND3_130 (N1124, N114, N582, N594); +and AND3_131 (N1125, N113, N582, N594); +and AND3_132 (N1126, N112, N582, N594); +and AND3_133 (N1127, N111, N582, N594); +and AND2_134 (N1128, N582, N594); +nand NAND2_135 (N1129, N900, N901); +nand NAND2_136 (N1133, N902, N903); +nand NAND2_137 (N1137, N904, N905); +not NOT1_138 (N1140, N741); +nand NAND2_139 (N1141, N741, N612); +not NOT1_140 (N1142, N744); +not NOT1_141 (N1143, N747); +not NOT1_142 (N1144, N750); +not NOT1_143 (N1145, N753); +not NOT1_144 (N1146, N613); +not NOT1_145 (N1157, N625); +and AND3_146 (N1168, N118, N613, N625); +and AND3_147 (N1169, N107, N613, N625); +and AND3_148 (N1170, N117, N613, N625); +and AND3_149 (N1171, N116, N613, N625); +and AND3_150 (N1172, N115, N613, N625); +not NOT1_151 (N1173, N637); +not NOT1_152 (N1178, N643); +not NOT1_153 (N1184, N768); +nand NAND2_154 (N1185, N768, N650); +not NOT1_155 (N1186, N771); +not NOT1_156 (N1187, N774); +not NOT1_157 (N1188, N777); +not NOT1_158 (N1189, N780); +buf BUFF1_159 (N1190, N506); +buf BUFF1_160 (N1195, N506); +not NOT1_161 (N1200, N693); +not NOT1_162 (N1205, N699); +not NOT1_163 (N1210, N735); +not NOT1_164 (N1211, N738); +not NOT1_165 (N1212, N756); +not NOT1_166 (N1213, N759); +not NOT1_167 (N1214, N762); +not NOT1_168 (N1215, N765); +nand NAND2_169 (N1216, N998, N999); +buf BUFF1_170 (N1219, N574); +buf BUFF1_171 (N1222, N578); +buf BUFF1_172 (N1225, N655); +buf BUFF1_173 (N1228, N659); +buf BUFF1_174 (N1231, N663); +buf BUFF1_175 (N1234, N667); +buf BUFF1_176 (N1237, N671); +buf BUFF1_177 (N1240, N675); +buf BUFF1_178 (N1243, N679); +buf BUFF1_179 (N1246, N683); +not NOT1_180 (N1249, N783); +not NOT1_181 (N1250, N786); +buf BUFF1_182 (N1251, N687); +buf BUFF1_183 (N1254, N705); +buf BUFF1_184 (N1257, N711); +buf BUFF1_185 (N1260, N715); +buf BUFF1_186 (N1263, N719); +buf BUFF1_187 (N1266, N723); +not NOT1_188 (N1269, N1027); +and AND2_189 (N1275, N325, N1032); +and AND2_190 (N1276, N231, N1033); +buf BUFF1_191 (N1277, N1034); +or OR2_192 (N1302, N1069, N543); +nand NAND2_193 (N1351, N352, N1140); +nand NAND2_194 (N1352, N747, N1142); +nand NAND2_195 (N1353, N744, N1143); +nand NAND2_196 (N1354, N753, N1144); +nand NAND2_197 (N1355, N750, N1145); +nand NAND2_198 (N1395, N355, N1184); +nand NAND2_199 (N1396, N774, N1186); +nand NAND2_200 (N1397, N771, N1187); +nand NAND2_201 (N1398, N780, N1188); +nand NAND2_202 (N1399, N777, N1189); +nand NAND2_203 (N1422, N738, N1210); +nand NAND2_204 (N1423, N735, N1211); +nand NAND2_205 (N1424, N759, N1212); +nand NAND2_206 (N1425, N756, N1213); +nand NAND2_207 (N1426, N765, N1214); +nand NAND2_208 (N1427, N762, N1215); +nand NAND2_209 (N1440, N786, N1249); +nand NAND2_210 (N1441, N783, N1250); +not NOT1_211 (N1448, N1034); +not NOT1_212 (N1449, N1275); +not NOT1_213 (N1450, N1276); +and AND3_214 (N1451, N93, N1042, N1053); +and AND3_215 (N1452, N55, N509, N1053); +and AND3_216 (N1453, N67, N1042, N521); +and AND3_217 (N1454, N81, N1042, N1053); +and AND3_218 (N1455, N43, N509, N1053); +and AND3_219 (N1456, N56, N1042, N521); +and AND3_220 (N1457, N92, N1042, N1053); +and AND3_221 (N1458, N54, N509, N1053); +and AND3_222 (N1459, N66, N1042, N521); +and AND3_223 (N1460, N91, N1042, N1053); +and AND3_224 (N1461, N53, N509, N1053); +and AND3_225 (N1462, N65, N1042, N521); +and AND3_226 (N1463, N90, N1042, N1053); +and AND3_227 (N1464, N52, N509, N1053); +and AND3_228 (N1465, N64, N1042, N521); +and AND3_229 (N1466, N89, N1075, N1086); +and AND3_230 (N1467, N51, N550, N1086); +and AND3_231 (N1468, N63, N1075, N562); +and AND3_232 (N1469, N88, N1075, N1086); +and AND3_233 (N1470, N50, N550, N1086); +and AND3_234 (N1471, N62, N1075, N562); +and AND3_235 (N1472, N87, N1075, N1086); +and AND3_236 (N1473, N49, N550, N1086); +and AND2_237 (N1474, N1075, N562); +and AND3_238 (N1475, N86, N1075, N1086); +and AND3_239 (N1476, N48, N550, N1086); +and AND3_240 (N1477, N61, N1075, N562); +and AND3_241 (N1478, N85, N1075, N1086); +and AND3_242 (N1479, N47, N550, N1086); +and AND3_243 (N1480, N60, N1075, N562); +and AND3_244 (N1481, N138, N1102, N1113); +and AND3_245 (N1482, N102, N582, N1113); +and AND3_246 (N1483, N126, N1102, N594); +and AND3_247 (N1484, N137, N1102, N1113); +and AND3_248 (N1485, N101, N582, N1113); +and AND3_249 (N1486, N125, N1102, N594); +and AND3_250 (N1487, N136, N1102, N1113); +and AND3_251 (N1488, N100, N582, N1113); +and AND3_252 (N1489, N124, N1102, N594); +and AND3_253 (N1490, N135, N1102, N1113); +and AND3_254 (N1491, N99, N582, N1113); +and AND3_255 (N1492, N123, N1102, N594); +and AND2_256 (N1493, N1102, N1113); +and AND2_257 (N1494, N582, N1113); +and AND2_258 (N1495, N1102, N594); +not NOT1_259 (N1496, N1129); +not NOT1_260 (N1499, N1133); +nand NAND2_261 (N1502, N1351, N1141); +nand NAND2_262 (N1506, N1352, N1353); +nand NAND2_263 (N1510, N1354, N1355); +buf BUFF1_264 (N1513, N1137); +buf BUFF1_265 (N1516, N1137); +not NOT1_266 (N1519, N1219); +not NOT1_267 (N1520, N1222); +not NOT1_268 (N1521, N1225); +not NOT1_269 (N1522, N1228); +not NOT1_270 (N1523, N1231); +not NOT1_271 (N1524, N1234); +not NOT1_272 (N1525, N1237); +not NOT1_273 (N1526, N1240); +not NOT1_274 (N1527, N1243); +not NOT1_275 (N1528, N1246); +and AND3_276 (N1529, N142, N1146, N1157); +and AND3_277 (N1530, N106, N613, N1157); +and AND3_278 (N1531, N130, N1146, N625); +and AND3_279 (N1532, N131, N1146, N1157); +and AND3_280 (N1533, N95, N613, N1157); +and AND3_281 (N1534, N119, N1146, N625); +and AND3_282 (N1535, N141, N1146, N1157); +and AND3_283 (N1536, N105, N613, N1157); +and AND3_284 (N1537, N129, N1146, N625); +and AND3_285 (N1538, N140, N1146, N1157); +and AND3_286 (N1539, N104, N613, N1157); +and AND3_287 (N1540, N128, N1146, N625); +and AND3_288 (N1541, N139, N1146, N1157); +and AND3_289 (N1542, N103, N613, N1157); +and AND3_290 (N1543, N127, N1146, N625); +and AND2_291 (N1544, N19, N1173); +and AND2_292 (N1545, N4, N1173); +and AND2_293 (N1546, N20, N1173); +and AND2_294 (N1547, N5, N1173); +and AND2_295 (N1548, N21, N1178); +and AND2_296 (N1549, N22, N1178); +and AND2_297 (N1550, N23, N1178); +and AND2_298 (N1551, N6, N1178); +and AND2_299 (N1552, N24, N1178); +nand NAND2_300 (N1553, N1395, N1185); +nand NAND2_301 (N1557, N1396, N1397); +nand NAND2_302 (N1561, N1398, N1399); +and AND2_303 (N1564, N25, N1200); +and AND2_304 (N1565, N32, N1200); +and AND2_305 (N1566, N26, N1200); +and AND2_306 (N1567, N33, N1200); +and AND2_307 (N1568, N27, N1205); +and AND2_308 (N1569, N34, N1205); +and AND2_309 (N1570, N35, N1205); +and AND2_310 (N1571, N28, N1205); +not NOT1_311 (N1572, N1251); +not NOT1_312 (N1573, N1254); +not NOT1_313 (N1574, N1257); +not NOT1_314 (N1575, N1260); +not NOT1_315 (N1576, N1263); +not NOT1_316 (N1577, N1266); +nand NAND2_317 (N1578, N1422, N1423); +not NOT1_318 (N1581, N1216); +nand NAND2_319 (N1582, N1426, N1427); +nand NAND2_320 (N1585, N1424, N1425); +nand NAND2_321 (N1588, N1440, N1441); +and AND2_322 (N1591, N1449, N1450); +or OR4_323 (N1596, N1451, N1452, N1453, N1064); +or OR4_324 (N1600, N1454, N1455, N1456, N1065); +or OR4_325 (N1606, N1457, N1458, N1459, N1066); +or OR4_326 (N1612, N1460, N1461, N1462, N1067); +or OR4_327 (N1615, N1463, N1464, N1465, N1068); +or OR4_328 (N1619, N1466, N1467, N1468, N1097); +or OR4_329 (N1624, N1469, N1470, N1471, N1098); +or OR4_330 (N1628, N1472, N1473, N1474, N1099); +or OR4_331 (N1631, N1475, N1476, N1477, N1100); +or OR4_332 (N1634, N1478, N1479, N1480, N1101); +or OR4_333 (N1637, N1481, N1482, N1483, N1124); +or OR4_334 (N1642, N1484, N1485, N1486, N1125); +or OR4_335 (N1647, N1487, N1488, N1489, N1126); +or OR4_336 (N1651, N1490, N1491, N1492, N1127); +or OR4_337 (N1656, N1493, N1494, N1495, N1128); +or OR4_338 (N1676, N1532, N1533, N1534, N1169); +or OR4_339 (N1681, N1535, N1536, N1537, N1170); +or OR4_340 (N1686, N1538, N1539, N1540, N1171); +or OR4_341 (N1690, N1541, N1542, N1543, N1172); +or OR4_342 (N1708, N1529, N1530, N1531, N1168); +buf BUFF1_343 (N1726, N1591); +not NOT1_344 (N1770, N1502); +not NOT1_345 (N1773, N1506); +not NOT1_346 (N1776, N1513); +not NOT1_347 (N1777, N1516); +buf BUFF1_348 (N1778, N1510); +buf BUFF1_349 (N1781, N1510); +and AND3_350 (N1784, N1133, N1129, N1513); +and AND3_351 (N1785, N1499, N1496, N1516); +not NOT1_352 (N1795, N1553); +not NOT1_353 (N1798, N1557); +buf BUFF1_354 (N1801, N1561); +buf BUFF1_355 (N1804, N1561); +not NOT1_356 (N1807, N1588); +not NOT1_357 (N1808, N1578); +nand NAND2_358 (N1809, N1578, N1581); +not NOT1_359 (N1810, N1582); +not NOT1_360 (N1811, N1585); +and AND2_361 (N1813, N1596, N241); +and AND2_362 (N1814, N1606, N241); +and AND2_363 (N1815, N1600, N241); +not NOT1_364 (N1816, N1642); +not NOT1_365 (N1817, N1647); +not NOT1_366 (N1818, N1637); +not NOT1_367 (N1819, N1624); +not NOT1_368 (N1820, N1619); +not NOT1_369 (N1821, N1615); +and AND4_370 (N1822, N496, N224, N36, N1591); +and AND4_371 (N1823, N496, N224, N1591, N486); +buf BUFF1_372 (N1824, N1596); +not NOT1_373 (N1827, N1606); +and AND2_374 (N1830, N1600, N537); +and AND2_375 (N1831, N1606, N537); +and AND2_376 (N1832, N1619, N246); +not NOT1_377 (N1833, N1596); +not NOT1_378 (N1836, N1600); +not NOT1_379 (N1841, N1606); +buf BUFF1_380 (N1848, N1612); +buf BUFF1_381 (N1852, N1615); +buf BUFF1_382 (N1856, N1619); +buf BUFF1_383 (N1863, N1624); +buf BUFF1_384 (N1870, N1628); +buf BUFF1_385 (N1875, N1631); +buf BUFF1_386 (N1880, N1634); +nand NAND2_387 (N1885, N727, N1651); +nand NAND2_388 (N1888, N730, N1656); +buf BUFF1_389 (N1891, N1686); +and AND2_390 (N1894, N1637, N425); +not NOT1_391 (N1897, N1642); +and AND3_392 (N1908, N1496, N1133, N1776); +and AND3_393 (N1909, N1129, N1499, N1777); +and AND2_394 (N1910, N1600, N637); +and AND2_395 (N1911, N1606, N637); +and AND2_396 (N1912, N1612, N637); +and AND2_397 (N1913, N1615, N637); +and AND2_398 (N1914, N1619, N643); +and AND2_399 (N1915, N1624, N643); +and AND2_400 (N1916, N1628, N643); +and AND2_401 (N1917, N1631, N643); +and AND2_402 (N1918, N1634, N643); +not NOT1_403 (N1919, N1708); +and AND2_404 (N1928, N1676, N693); +and AND2_405 (N1929, N1681, N693); +and AND2_406 (N1930, N1686, N693); +and AND2_407 (N1931, N1690, N693); +and AND2_408 (N1932, N1637, N699); +and AND2_409 (N1933, N1642, N699); +and AND2_410 (N1934, N1647, N699); +and AND2_411 (N1935, N1651, N699); +buf BUFF1_412 (N1936, N1600); +nand NAND2_413 (N1939, N1216, N1808); +nand NAND2_414 (N1940, N1585, N1810); +nand NAND2_415 (N1941, N1582, N1811); +buf BUFF1_416 (N1942, N1676); +buf BUFF1_417 (N1945, N1686); +buf BUFF1_418 (N1948, N1681); +buf BUFF1_419 (N1951, N1637); +buf BUFF1_420 (N1954, N1690); +buf BUFF1_421 (N1957, N1647); +buf BUFF1_422 (N1960, N1642); +buf BUFF1_423 (N1963, N1656); +buf BUFF1_424 (N1966, N1651); +or OR2_425 (N1969, N533, N1815); +not NOT1_426 (N1970, N1822); +not NOT1_427 (N1971, N1823); +buf BUFF1_428 (N2010, N1848); +buf BUFF1_429 (N2012, N1852); +buf BUFF1_430 (N2014, N1856); +buf BUFF1_431 (N2016, N1863); +buf BUFF1_432 (N2018, N1870); +buf BUFF1_433 (N2020, N1875); +buf BUFF1_434 (N2022, N1880); +not NOT1_435 (N2028, N1778); +not NOT1_436 (N2029, N1781); +nor NOR2_437 (N2030, N1908, N1784); +nor NOR2_438 (N2031, N1909, N1785); +and AND3_439 (N2032, N1506, N1502, N1778); +and AND3_440 (N2033, N1773, N1770, N1781); +or OR2_441 (N2034, N1571, N1935); +not NOT1_442 (N2040, N1801); +not NOT1_443 (N2041, N1804); +and AND3_444 (N2042, N1557, N1553, N1801); +and AND3_445 (N2043, N1798, N1795, N1804); +nand NAND2_446 (N2046, N1939, N1809); +nand NAND2_447 (N2049, N1940, N1941); +or OR2_448 (N2052, N1544, N1910); +or OR2_449 (N2055, N1545, N1911); +or OR2_450 (N2058, N1546, N1912); +or OR2_451 (N2061, N1547, N1913); +or OR2_452 (N2064, N1548, N1914); +or OR2_453 (N2067, N1549, N1915); +or OR2_454 (N2070, N1550, N1916); +or OR2_455 (N2073, N1551, N1917); +or OR2_456 (N2076, N1552, N1918); +or OR2_457 (N2079, N1564, N1928); +or OR2_458 (N2095, N1565, N1929); +or OR2_459 (N2098, N1566, N1930); +or OR2_460 (N2101, N1567, N1931); +or OR2_461 (N2104, N1568, N1932); +or OR2_462 (N2107, N1569, N1933); +or OR2_463 (N2110, N1570, N1934); +and AND3_464 (N2113, N1897, N1894, N40); +not NOT1_465 (N2119, N1894); +nand NAND2_466 (N2120, N408, N1827); +and AND2_467 (N2125, N1824, N537); +and AND2_468 (N2126, N1852, N246); +and AND2_469 (N2127, N1848, N537); +not NOT1_470 (N2128, N1848); +not NOT1_471 (N2135, N1852); +not NOT1_472 (N2141, N1863); +not NOT1_473 (N2144, N1870); +not NOT1_474 (N2147, N1875); +not NOT1_475 (N2150, N1880); +and AND2_476 (N2153, N727, N1885); +and AND2_477 (N2154, N1885, N1651); +and AND2_478 (N2155, N730, N1888); +and AND2_479 (N2156, N1888, N1656); +and AND3_480 (N2157, N1770, N1506, N2028); +and AND3_481 (N2158, N1502, N1773, N2029); +not NOT1_482 (N2171, N1942); +nand NAND2_483 (N2172, N1942, N1919); +not NOT1_484 (N2173, N1945); +not NOT1_485 (N2174, N1948); +not NOT1_486 (N2175, N1951); +not NOT1_487 (N2176, N1954); +and AND3_488 (N2177, N1795, N1557, N2040); +and AND3_489 (N2178, N1553, N1798, N2041); +buf BUFF1_490 (N2185, N1836); +buf BUFF1_491 (N2188, N1833); +buf BUFF1_492 (N2191, N1841); +not NOT1_493 (N2194, N1856); +not NOT1_494 (N2197, N1827); +not NOT1_495 (N2200, N1936); +buf BUFF1_496 (N2201, N1836); +buf BUFF1_497 (N2204, N1833); +buf BUFF1_498 (N2207, N1841); +buf BUFF1_499 (N2210, N1824); +buf BUFF1_500 (N2213, N1841); +buf BUFF1_501 (N2216, N1841); +nand NAND2_502 (N2219, N2031, N2030); +not NOT1_503 (N2234, N1957); +not NOT1_504 (N2235, N1960); +not NOT1_505 (N2236, N1963); +not NOT1_506 (N2237, N1966); +and AND3_507 (N2250, N40, N1897, N2119); +or OR2_508 (N2266, N1831, N2126); +or OR2_509 (N2269, N2127, N1832); +or OR2_510 (N2291, N2153, N2154); +or OR2_511 (N2294, N2155, N2156); +nor NOR2_512 (N2297, N2157, N2032); +nor NOR2_513 (N2298, N2158, N2033); +not NOT1_514 (N2300, N2046); +not NOT1_515 (N2301, N2049); +nand NAND2_516 (N2302, N2052, N1519); +not NOT1_517 (N2303, N2052); +nand NAND2_518 (N2304, N2055, N1520); +not NOT1_519 (N2305, N2055); +nand NAND2_520 (N2306, N2058, N1521); +not NOT1_521 (N2307, N2058); +nand NAND2_522 (N2308, N2061, N1522); +not NOT1_523 (N2309, N2061); +nand NAND2_524 (N2310, N2064, N1523); +not NOT1_525 (N2311, N2064); +nand NAND2_526 (N2312, N2067, N1524); +not NOT1_527 (N2313, N2067); +nand NAND2_528 (N2314, N2070, N1525); +not NOT1_529 (N2315, N2070); +nand NAND2_530 (N2316, N2073, N1526); +not NOT1_531 (N2317, N2073); +nand NAND2_532 (N2318, N2076, N1527); +not NOT1_533 (N2319, N2076); +nand NAND2_534 (N2320, N2079, N1528); +not NOT1_535 (N2321, N2079); +nand NAND2_536 (N2322, N1708, N2171); +nand NAND2_537 (N2323, N1948, N2173); +nand NAND2_538 (N2324, N1945, N2174); +nand NAND2_539 (N2325, N1954, N2175); +nand NAND2_540 (N2326, N1951, N2176); +nor NOR2_541 (N2327, N2177, N2042); +nor NOR2_542 (N2328, N2178, N2043); +nand NAND2_543 (N2329, N2095, N1572); +not NOT1_544 (N2330, N2095); +nand NAND2_545 (N2331, N2098, N1573); +not NOT1_546 (N2332, N2098); +nand NAND2_547 (N2333, N2101, N1574); +not NOT1_548 (N2334, N2101); +nand NAND2_549 (N2335, N2104, N1575); +not NOT1_550 (N2336, N2104); +nand NAND2_551 (N2337, N2107, N1576); +not NOT1_552 (N2338, N2107); +nand NAND2_553 (N2339, N2110, N1577); +not NOT1_554 (N2340, N2110); +nand NAND2_555 (N2354, N1960, N2234); +nand NAND2_556 (N2355, N1957, N2235); +nand NAND2_557 (N2356, N1966, N2236); +nand NAND2_558 (N2357, N1963, N2237); +and AND2_559 (N2358, N2120, N533); +not NOT1_560 (N2359, N2113); +not NOT1_561 (N2364, N2185); +not NOT1_562 (N2365, N2188); +not NOT1_563 (N2366, N2191); +not NOT1_564 (N2367, N2194); +buf BUFF1_565 (N2368, N2120); +not NOT1_566 (N2372, N2201); +not NOT1_567 (N2373, N2204); +not NOT1_568 (N2374, N2207); +not NOT1_569 (N2375, N2210); +not NOT1_570 (N2376, N2213); +not NOT1_571 (N2377, N2113); +buf BUFF1_572 (N2382, N2113); +and AND2_573 (N2386, N2120, N246); +buf BUFF1_574 (N2387, N2266); +buf BUFF1_575 (N2388, N2266); +buf BUFF1_576 (N2389, N2269); +buf BUFF1_577 (N2390, N2269); +buf BUFF1_578 (N2391, N2113); +not NOT1_579 (N2395, N2113); +nand NAND2_580 (N2400, N2219, N2300); +not NOT1_581 (N2403, N2216); +not NOT1_582 (N2406, N2219); +nand NAND2_583 (N2407, N1219, N2303); +nand NAND2_584 (N2408, N1222, N2305); +nand NAND2_585 (N2409, N1225, N2307); +nand NAND2_586 (N2410, N1228, N2309); +nand NAND2_587 (N2411, N1231, N2311); +nand NAND2_588 (N2412, N1234, N2313); +nand NAND2_589 (N2413, N1237, N2315); +nand NAND2_590 (N2414, N1240, N2317); +nand NAND2_591 (N2415, N1243, N2319); +nand NAND2_592 (N2416, N1246, N2321); +nand NAND2_593 (N2417, N2322, N2172); +nand NAND2_594 (N2421, N2323, N2324); +nand NAND2_595 (N2425, N2325, N2326); +nand NAND2_596 (N2428, N1251, N2330); +nand NAND2_597 (N2429, N1254, N2332); +nand NAND2_598 (N2430, N1257, N2334); +nand NAND2_599 (N2431, N1260, N2336); +nand NAND2_600 (N2432, N1263, N2338); +nand NAND2_601 (N2433, N1266, N2340); +buf BUFF1_602 (N2434, N2128); +buf BUFF1_603 (N2437, N2135); +buf BUFF1_604 (N2440, N2144); +buf BUFF1_605 (N2443, N2141); +buf BUFF1_606 (N2446, N2150); +buf BUFF1_607 (N2449, N2147); +not NOT1_608 (N2452, N2197); +nand NAND2_609 (N2453, N2197, N2200); +buf BUFF1_610 (N2454, N2128); +buf BUFF1_611 (N2457, N2144); +buf BUFF1_612 (N2460, N2141); +buf BUFF1_613 (N2463, N2150); +buf BUFF1_614 (N2466, N2147); +not NOT1_615 (N2469, N2120); +buf BUFF1_616 (N2472, N2128); +buf BUFF1_617 (N2475, N2135); +buf BUFF1_618 (N2478, N2128); +buf BUFF1_619 (N2481, N2135); +nand NAND2_620 (N2484, N2298, N2297); +nand NAND2_621 (N2487, N2356, N2357); +nand NAND2_622 (N2490, N2354, N2355); +nand NAND2_623 (N2493, N2328, N2327); +or OR2_624 (N2496, N2358, N1814); +nand NAND2_625 (N2503, N2188, N2364); +nand NAND2_626 (N2504, N2185, N2365); +nand NAND2_627 (N2510, N2204, N2372); +nand NAND2_628 (N2511, N2201, N2373); +or OR2_629 (N2521, N1830, N2386); +nand NAND2_630 (N2528, N2046, N2406); +not NOT1_631 (N2531, N2291); +not NOT1_632 (N2534, N2294); +buf BUFF1_633 (N2537, N2250); +buf BUFF1_634 (N2540, N2250); +nand NAND2_635 (N2544, N2302, N2407); +nand NAND2_636 (N2545, N2304, N2408); +nand NAND2_637 (N2546, N2306, N2409); +nand NAND2_638 (N2547, N2308, N2410); +nand NAND2_639 (N2548, N2310, N2411); +nand NAND2_640 (N2549, N2312, N2412); +nand NAND2_641 (N2550, N2314, N2413); +nand NAND2_642 (N2551, N2316, N2414); +nand NAND2_643 (N2552, N2318, N2415); +nand NAND2_644 (N2553, N2320, N2416); +nand NAND2_645 (N2563, N2329, N2428); +nand NAND2_646 (N2564, N2331, N2429); +nand NAND2_647 (N2565, N2333, N2430); +nand NAND2_648 (N2566, N2335, N2431); +nand NAND2_649 (N2567, N2337, N2432); +nand NAND2_650 (N2568, N2339, N2433); +nand NAND2_651 (N2579, N1936, N2452); +buf BUFF1_652 (N2603, N2359); +and AND2_653 (N2607, N1880, N2377); +and AND2_654 (N2608, N1676, N2377); +and AND2_655 (N2609, N1681, N2377); +and AND2_656 (N2610, N1891, N2377); +and AND2_657 (N2611, N1856, N2382); +and AND2_658 (N2612, N1863, N2382); +nand NAND2_659 (N2613, N2503, N2504); +not NOT1_660 (N2617, N2434); +nand NAND2_661 (N2618, N2434, N2366); +nand NAND2_662 (N2619, N2437, N2367); +not NOT1_663 (N2620, N2437); +not NOT1_664 (N2621, N2368); +nand NAND2_665 (N2624, N2510, N2511); +not NOT1_666 (N2628, N2454); +nand NAND2_667 (N2629, N2454, N2374); +not NOT1_668 (N2630, N2472); +and AND2_669 (N2631, N1856, N2391); +and AND2_670 (N2632, N1863, N2391); +and AND2_671 (N2633, N1880, N2395); +and AND2_672 (N2634, N1676, N2395); +and AND2_673 (N2635, N1681, N2395); +and AND2_674 (N2636, N1891, N2395); +not NOT1_675 (N2638, N2382); +buf BUFF1_676 (N2643, N2521); +buf BUFF1_677 (N2644, N2521); +not NOT1_678 (N2645, N2475); +not NOT1_679 (N2646, N2391); +nand NAND2_680 (N2652, N2528, N2400); +not NOT1_681 (N2655, N2478); +not NOT1_682 (N2656, N2481); +buf BUFF1_683 (N2659, N2359); +not NOT1_684 (N2663, N2484); +nand NAND2_685 (N2664, N2484, N2301); +not NOT1_686 (N2665, N2553); +not NOT1_687 (N2666, N2552); +not NOT1_688 (N2667, N2551); +not NOT1_689 (N2668, N2550); +not NOT1_690 (N2669, N2549); +not NOT1_691 (N2670, N2548); +not NOT1_692 (N2671, N2547); +not NOT1_693 (N2672, N2546); +not NOT1_694 (N2673, N2545); +not NOT1_695 (N2674, N2544); +not NOT1_696 (N2675, N2568); +not NOT1_697 (N2676, N2567); +not NOT1_698 (N2677, N2566); +not NOT1_699 (N2678, N2565); +not NOT1_700 (N2679, N2564); +not NOT1_701 (N2680, N2563); +not NOT1_702 (N2681, N2417); +not NOT1_703 (N2684, N2421); +buf BUFF1_704 (N2687, N2425); +buf BUFF1_705 (N2690, N2425); +not NOT1_706 (N2693, N2493); +nand NAND2_707 (N2694, N2493, N1807); +not NOT1_708 (N2695, N2440); +not NOT1_709 (N2696, N2443); +not NOT1_710 (N2697, N2446); +not NOT1_711 (N2698, N2449); +not NOT1_712 (N2699, N2457); +not NOT1_713 (N2700, N2460); +not NOT1_714 (N2701, N2463); +not NOT1_715 (N2702, N2466); +nand NAND2_716 (N2703, N2579, N2453); +not NOT1_717 (N2706, N2469); +not NOT1_718 (N2707, N2487); +not NOT1_719 (N2708, N2490); +and AND2_720 (N2709, N2294, N2534); +and AND2_721 (N2710, N2291, N2531); +nand NAND2_722 (N2719, N2191, N2617); +nand NAND2_723 (N2720, N2194, N2620); +nand NAND2_724 (N2726, N2207, N2628); +buf BUFF1_725 (N2729, N2537); +buf BUFF1_726 (N2738, N2537); +not NOT1_727 (N2743, N2652); +nand NAND2_728 (N2747, N2049, N2663); +and AND5_729 (N2748, N2665, N2666, N2667, N2668, N2669); +and AND5_730 (N2749, N2670, N2671, N2672, N2673, N2674); +and AND2_731 (N2750, N2034, N2675); +and AND5_732 (N2751, N2676, N2677, N2678, N2679, N2680); +nand NAND2_733 (N2760, N1588, N2693); +buf BUFF1_734 (N2761, N2540); +buf BUFF1_735 (N2766, N2540); +nand NAND2_736 (N2771, N2443, N2695); +nand NAND2_737 (N2772, N2440, N2696); +nand NAND2_738 (N2773, N2449, N2697); +nand NAND2_739 (N2774, N2446, N2698); +nand NAND2_740 (N2775, N2460, N2699); +nand NAND2_741 (N2776, N2457, N2700); +nand NAND2_742 (N2777, N2466, N2701); +nand NAND2_743 (N2778, N2463, N2702); +nand NAND2_744 (N2781, N2490, N2707); +nand NAND2_745 (N2782, N2487, N2708); +or OR2_746 (N2783, N2709, N2534); +or OR2_747 (N2784, N2710, N2531); +and AND2_748 (N2789, N1856, N2638); +and AND2_749 (N2790, N1863, N2638); +and AND2_750 (N2791, N1870, N2638); +and AND2_751 (N2792, N1875, N2638); +not NOT1_752 (N2793, N2613); +nand NAND2_753 (N2796, N2719, N2618); +nand NAND2_754 (N2800, N2619, N2720); +not NOT1_755 (N2803, N2624); +nand NAND2_756 (N2806, N2726, N2629); +and AND2_757 (N2809, N1856, N2646); +and AND2_758 (N2810, N1863, N2646); +and AND2_759 (N2811, N1870, N2646); +and AND2_760 (N2812, N1875, N2646); +and AND2_761 (N2817, N2743, N14); +buf BUFF1_762 (N2820, N2603); +nand NAND2_763 (N2826, N2747, N2664); +and AND2_764 (N2829, N2748, N2749); +and AND2_765 (N2830, N2750, N2751); +buf BUFF1_766 (N2831, N2659); +not NOT1_767 (N2837, N2687); +not NOT1_768 (N2838, N2690); +and AND3_769 (N2839, N2421, N2417, N2687); +and AND3_770 (N2840, N2684, N2681, N2690); +nand NAND2_771 (N2841, N2760, N2694); +buf BUFF1_772 (N2844, N2603); +buf BUFF1_773 (N2854, N2603); +buf BUFF1_774 (N2859, N2659); +buf BUFF1_775 (N2869, N2659); +nand NAND2_776 (N2874, N2773, N2774); +nand NAND2_777 (N2877, N2771, N2772); +not NOT1_778 (N2880, N2703); +nand NAND2_779 (N2881, N2703, N2706); +nand NAND2_780 (N2882, N2777, N2778); +nand NAND2_781 (N2885, N2775, N2776); +nand NAND2_782 (N2888, N2781, N2782); +nand NAND2_783 (N2891, N2783, N2784); +and AND2_784 (N2894, N2607, N2729); +and AND2_785 (N2895, N2608, N2729); +and AND2_786 (N2896, N2609, N2729); +and AND2_787 (N2897, N2610, N2729); +or OR2_788 (N2898, N2789, N2611); +or OR2_789 (N2899, N2790, N2612); +and AND2_790 (N2900, N2791, N1037); +and AND2_791 (N2901, N2792, N1037); +or OR2_792 (N2914, N2809, N2631); +or OR2_793 (N2915, N2810, N2632); +and AND2_794 (N2916, N2811, N1070); +and AND2_795 (N2917, N2812, N1070); +and AND2_796 (N2918, N2633, N2738); +and AND2_797 (N2919, N2634, N2738); +and AND2_798 (N2920, N2635, N2738); +and AND2_799 (N2921, N2636, N2738); +buf BUFF1_800 (N2925, N2817); +and AND3_801 (N2931, N2829, N2830, N1302); +and AND3_802 (N2938, N2681, N2421, N2837); +and AND3_803 (N2939, N2417, N2684, N2838); +nand NAND2_804 (N2963, N2469, N2880); +not NOT1_805 (N2970, N2841); +not NOT1_806 (N2971, N2826); +not NOT1_807 (N2972, N2894); +not NOT1_808 (N2975, N2895); +not NOT1_809 (N2978, N2896); +not NOT1_810 (N2981, N2897); +and AND2_811 (N2984, N2898, N1037); +and AND2_812 (N2985, N2899, N1037); +not NOT1_813 (N2986, N2900); +not NOT1_814 (N2989, N2901); +not NOT1_815 (N2992, N2796); +buf BUFF1_816 (N2995, N2800); +buf BUFF1_817 (N2998, N2800); +buf BUFF1_818 (N3001, N2806); +buf BUFF1_819 (N3004, N2806); +and AND2_820 (N3007, N574, N2820); +and AND2_821 (N3008, N2914, N1070); +and AND2_822 (N3009, N2915, N1070); +not NOT1_823 (N3010, N2916); +not NOT1_824 (N3013, N2917); +not NOT1_825 (N3016, N2918); +not NOT1_826 (N3019, N2919); +not NOT1_827 (N3022, N2920); +not NOT1_828 (N3025, N2921); +not NOT1_829 (N3028, N2817); +and AND2_830 (N3029, N574, N2831); +not NOT1_831 (N3030, N2820); +and AND2_832 (N3035, N578, N2820); +and AND2_833 (N3036, N655, N2820); +and AND2_834 (N3037, N659, N2820); +buf BUFF1_835 (N3038, N2931); +not NOT1_836 (N3039, N2831); +and AND2_837 (N3044, N578, N2831); +and AND2_838 (N3045, N655, N2831); +and AND2_839 (N3046, N659, N2831); +nor NOR2_840 (N3047, N2938, N2839); +nor NOR2_841 (N3048, N2939, N2840); +not NOT1_842 (N3049, N2888); +not NOT1_843 (N3050, N2844); +and AND2_844 (N3053, N663, N2844); +and AND2_845 (N3054, N667, N2844); +and AND2_846 (N3055, N671, N2844); +and AND2_847 (N3056, N675, N2844); +and AND2_848 (N3057, N679, N2854); +and AND2_849 (N3058, N683, N2854); +and AND2_850 (N3059, N687, N2854); +and AND2_851 (N3060, N705, N2854); +not NOT1_852 (N3061, N2859); +and AND2_853 (N3064, N663, N2859); +and AND2_854 (N3065, N667, N2859); +and AND2_855 (N3066, N671, N2859); +and AND2_856 (N3067, N675, N2859); +and AND2_857 (N3068, N679, N2869); +and AND2_858 (N3069, N683, N2869); +and AND2_859 (N3070, N687, N2869); +and AND2_860 (N3071, N705, N2869); +not NOT1_861 (N3072, N2874); +not NOT1_862 (N3073, N2877); +not NOT1_863 (N3074, N2882); +not NOT1_864 (N3075, N2885); +nand NAND2_865 (N3076, N2881, N2963); +not NOT1_866 (N3079, N2931); +not NOT1_867 (N3088, N2984); +not NOT1_868 (N3091, N2985); +not NOT1_869 (N3110, N3008); +not NOT1_870 (N3113, N3009); +and AND2_871 (N3137, N3055, N1190); +and AND2_872 (N3140, N3056, N1190); +and AND2_873 (N3143, N3057, N2761); +and AND2_874 (N3146, N3058, N2761); +and AND2_875 (N3149, N3059, N2761); +and AND2_876 (N3152, N3060, N2761); +and AND2_877 (N3157, N3066, N1195); +and AND2_878 (N3160, N3067, N1195); +and AND2_879 (N3163, N3068, N2766); +and AND2_880 (N3166, N3069, N2766); +and AND2_881 (N3169, N3070, N2766); +and AND2_882 (N3172, N3071, N2766); +nand NAND2_883 (N3175, N2877, N3072); +nand NAND2_884 (N3176, N2874, N3073); +nand NAND2_885 (N3177, N2885, N3074); +nand NAND2_886 (N3178, N2882, N3075); +nand NAND2_887 (N3180, N3048, N3047); +not NOT1_888 (N3187, N2995); +not NOT1_889 (N3188, N2998); +not NOT1_890 (N3189, N3001); +not NOT1_891 (N3190, N3004); +and AND3_892 (N3191, N2796, N2613, N2995); +and AND3_893 (N3192, N2992, N2793, N2998); +and AND3_894 (N3193, N2624, N2368, N3001); +and AND3_895 (N3194, N2803, N2621, N3004); +nand NAND2_896 (N3195, N3076, N2375); +not NOT1_897 (N3196, N3076); +and AND2_898 (N3197, N687, N3030); +and AND2_899 (N3208, N687, N3039); +and AND2_900 (N3215, N705, N3030); +and AND2_901 (N3216, N711, N3030); +and AND2_902 (N3217, N715, N3030); +and AND2_903 (N3218, N705, N3039); +and AND2_904 (N3219, N711, N3039); +and AND2_905 (N3220, N715, N3039); +and AND2_906 (N3222, N719, N3050); +and AND2_907 (N3223, N723, N3050); +and AND2_908 (N3230, N719, N3061); +and AND2_909 (N3231, N723, N3061); +nand NAND2_910 (N3238, N3175, N3176); +nand NAND2_911 (N3241, N3177, N3178); +buf BUFF1_912 (N3244, N2981); +buf BUFF1_913 (N3247, N2978); +buf BUFF1_914 (N3250, N2975); +buf BUFF1_915 (N3253, N2972); +buf BUFF1_916 (N3256, N2989); +buf BUFF1_917 (N3259, N2986); +buf BUFF1_918 (N3262, N3025); +buf BUFF1_919 (N3265, N3022); +buf BUFF1_920 (N3268, N3019); +buf BUFF1_921 (N3271, N3016); +buf BUFF1_922 (N3274, N3013); +buf BUFF1_923 (N3277, N3010); +and AND3_924 (N3281, N2793, N2796, N3187); +and AND3_925 (N3282, N2613, N2992, N3188); +and AND3_926 (N3283, N2621, N2624, N3189); +and AND3_927 (N3284, N2368, N2803, N3190); +nand NAND2_928 (N3286, N2210, N3196); +or OR2_929 (N3288, N3197, N3007); +nand NAND2_930 (N3289, N3180, N3049); +and AND2_931 (N3291, N3152, N2981); +and AND2_932 (N3293, N3149, N2978); +and AND2_933 (N3295, N3146, N2975); +and AND2_934 (N3296, N2972, N3143); +and AND2_935 (N3299, N3140, N2989); +and AND2_936 (N3301, N3137, N2986); +or OR2_937 (N3302, N3208, N3029); +and AND2_938 (N3304, N3172, N3025); +and AND2_939 (N3306, N3169, N3022); +and AND2_940 (N3308, N3166, N3019); +and AND2_941 (N3309, N3016, N3163); +and AND2_942 (N3312, N3160, N3013); +and AND2_943 (N3314, N3157, N3010); +or OR2_944 (N3315, N3215, N3035); +or OR2_945 (N3318, N3216, N3036); +or OR2_946 (N3321, N3217, N3037); +or OR2_947 (N3324, N3218, N3044); +or OR2_948 (N3327, N3219, N3045); +or OR2_949 (N3330, N3220, N3046); +not NOT1_950 (N3333, N3180); +or OR2_951 (N3334, N3222, N3053); +or OR2_952 (N3335, N3223, N3054); +or OR2_953 (N3336, N3230, N3064); +or OR2_954 (N3337, N3231, N3065); +buf BUFF1_955 (N3340, N3152); +buf BUFF1_956 (N3344, N3149); +buf BUFF1_957 (N3348, N3146); +buf BUFF1_958 (N3352, N3143); +buf BUFF1_959 (N3356, N3140); +buf BUFF1_960 (N3360, N3137); +buf BUFF1_961 (N3364, N3091); +buf BUFF1_962 (N3367, N3088); +buf BUFF1_963 (N3370, N3172); +buf BUFF1_964 (N3374, N3169); +buf BUFF1_965 (N3378, N3166); +buf BUFF1_966 (N3382, N3163); +buf BUFF1_967 (N3386, N3160); +buf BUFF1_968 (N3390, N3157); +buf BUFF1_969 (N3394, N3113); +buf BUFF1_970 (N3397, N3110); +nand NAND2_971 (N3400, N3195, N3286); +nor NOR2_972 (N3401, N3281, N3191); +nor NOR2_973 (N3402, N3282, N3192); +nor NOR2_974 (N3403, N3283, N3193); +nor NOR2_975 (N3404, N3284, N3194); +not NOT1_976 (N3405, N3238); +not NOT1_977 (N3406, N3241); +and AND2_978 (N3409, N3288, N1836); +nand NAND2_979 (N3410, N2888, N3333); +not NOT1_980 (N3412, N3244); +not NOT1_981 (N3414, N3247); +not NOT1_982 (N3416, N3250); +not NOT1_983 (N3418, N3253); +not NOT1_984 (N3420, N3256); +not NOT1_985 (N3422, N3259); +and AND2_986 (N3428, N3302, N1836); +not NOT1_987 (N3430, N3262); +not NOT1_988 (N3432, N3265); +not NOT1_989 (N3434, N3268); +not NOT1_990 (N3436, N3271); +not NOT1_991 (N3438, N3274); +not NOT1_992 (N3440, N3277); +and AND2_993 (N3450, N3334, N1190); +and AND2_994 (N3453, N3335, N1190); +and AND2_995 (N3456, N3336, N1195); +and AND2_996 (N3459, N3337, N1195); +and AND2_997 (N3478, N3400, N533); +and AND2_998 (N3479, N3318, N2128); +and AND2_999 (N3480, N3315, N1841); +nand NAND2_1000 (N3481, N3410, N3289); +not NOT1_1001 (N3482, N3340); +nand NAND2_1002 (N3483, N3340, N3412); +not NOT1_1003 (N3484, N3344); +nand NAND2_1004 (N3485, N3344, N3414); +not NOT1_1005 (N3486, N3348); +nand NAND2_1006 (N3487, N3348, N3416); +not NOT1_1007 (N3488, N3352); +nand NAND2_1008 (N3489, N3352, N3418); +not NOT1_1009 (N3490, N3356); +nand NAND2_1010 (N3491, N3356, N3420); +not NOT1_1011 (N3492, N3360); +nand NAND2_1012 (N3493, N3360, N3422); +not NOT1_1013 (N3494, N3364); +not NOT1_1014 (N3496, N3367); +and AND2_1015 (N3498, N3321, N2135); +and AND2_1016 (N3499, N3327, N2128); +and AND2_1017 (N3500, N3324, N1841); +not NOT1_1018 (N3501, N3370); +nand NAND2_1019 (N3502, N3370, N3430); +not NOT1_1020 (N3503, N3374); +nand NAND2_1021 (N3504, N3374, N3432); +not NOT1_1022 (N3505, N3378); +nand NAND2_1023 (N3506, N3378, N3434); +not NOT1_1024 (N3507, N3382); +nand NAND2_1025 (N3508, N3382, N3436); +not NOT1_1026 (N3509, N3386); +nand NAND2_1027 (N3510, N3386, N3438); +not NOT1_1028 (N3511, N3390); +nand NAND2_1029 (N3512, N3390, N3440); +not NOT1_1030 (N3513, N3394); +not NOT1_1031 (N3515, N3397); +and AND2_1032 (N3517, N3330, N2135); +nand NAND2_1033 (N3522, N3402, N3401); +nand NAND2_1034 (N3525, N3404, N3403); +buf BUFF1_1035 (N3528, N3318); +buf BUFF1_1036 (N3531, N3315); +buf BUFF1_1037 (N3534, N3321); +buf BUFF1_1038 (N3537, N3327); +buf BUFF1_1039 (N3540, N3324); +buf BUFF1_1040 (N3543, N3330); +or OR2_1041 (N3546, N3478, N1813); +not NOT1_1042 (N3551, N3481); +nand NAND2_1043 (N3552, N3244, N3482); +nand NAND2_1044 (N3553, N3247, N3484); +nand NAND2_1045 (N3554, N3250, N3486); +nand NAND2_1046 (N3555, N3253, N3488); +nand NAND2_1047 (N3556, N3256, N3490); +nand NAND2_1048 (N3557, N3259, N3492); +and AND2_1049 (N3558, N3453, N3091); +and AND2_1050 (N3559, N3450, N3088); +nand NAND2_1051 (N3563, N3262, N3501); +nand NAND2_1052 (N3564, N3265, N3503); +nand NAND2_1053 (N3565, N3268, N3505); +nand NAND2_1054 (N3566, N3271, N3507); +nand NAND2_1055 (N3567, N3274, N3509); +nand NAND2_1056 (N3568, N3277, N3511); +and AND2_1057 (N3569, N3459, N3113); +and AND2_1058 (N3570, N3456, N3110); +buf BUFF1_1059 (N3576, N3453); +buf BUFF1_1060 (N3579, N3450); +buf BUFF1_1061 (N3585, N3459); +buf BUFF1_1062 (N3588, N3456); +not NOT1_1063 (N3592, N3522); +nand NAND2_1064 (N3593, N3522, N3405); +not NOT1_1065 (N3594, N3525); +nand NAND2_1066 (N3595, N3525, N3406); +not NOT1_1067 (N3596, N3528); +nand NAND2_1068 (N3597, N3528, N2630); +nand NAND2_1069 (N3598, N3531, N2376); +not NOT1_1070 (N3599, N3531); +and AND2_1071 (N3600, N3551, N800); +nand NAND2_1072 (N3603, N3552, N3483); +nand NAND2_1073 (N3608, N3553, N3485); +nand NAND2_1074 (N3612, N3554, N3487); +nand NAND2_1075 (N3615, N3555, N3489); +nand NAND2_1076 (N3616, N3556, N3491); +nand NAND2_1077 (N3622, N3557, N3493); +not NOT1_1078 (N3629, N3534); +nand NAND2_1079 (N3630, N3534, N2645); +not NOT1_1080 (N3631, N3537); +nand NAND2_1081 (N3632, N3537, N2655); +nand NAND2_1082 (N3633, N3540, N2403); +not NOT1_1083 (N3634, N3540); +nand NAND2_1084 (N3635, N3563, N3502); +nand NAND2_1085 (N3640, N3564, N3504); +nand NAND2_1086 (N3644, N3565, N3506); +nand NAND2_1087 (N3647, N3566, N3508); +nand NAND2_1088 (N3648, N3567, N3510); +nand NAND2_1089 (N3654, N3568, N3512); +not NOT1_1090 (N3661, N3543); +nand NAND2_1091 (N3662, N3543, N2656); +nand NAND2_1092 (N3667, N3238, N3592); +nand NAND2_1093 (N3668, N3241, N3594); +nand NAND2_1094 (N3669, N2472, N3596); +nand NAND2_1095 (N3670, N2213, N3599); +buf BUFF1_1096 (N3671, N3600); +not NOT1_1097 (N3691, N3576); +nand NAND2_1098 (N3692, N3576, N3494); +not NOT1_1099 (N3693, N3579); +nand NAND2_1100 (N3694, N3579, N3496); +nand NAND2_1101 (N3695, N2475, N3629); +nand NAND2_1102 (N3696, N2478, N3631); +nand NAND2_1103 (N3697, N2216, N3634); +not NOT1_1104 (N3716, N3585); +nand NAND2_1105 (N3717, N3585, N3513); +not NOT1_1106 (N3718, N3588); +nand NAND2_1107 (N3719, N3588, N3515); +nand NAND2_1108 (N3720, N2481, N3661); +nand NAND2_1109 (N3721, N3667, N3593); +nand NAND2_1110 (N3722, N3668, N3595); +nand NAND2_1111 (N3723, N3669, N3597); +nand NAND2_1112 (N3726, N3670, N3598); +not NOT1_1113 (N3727, N3600); +nand NAND2_1114 (N3728, N3364, N3691); +nand NAND2_1115 (N3729, N3367, N3693); +nand NAND2_1116 (N3730, N3695, N3630); +and AND4_1117 (N3731, N3608, N3615, N3612, N3603); +and AND2_1118 (N3732, N3603, N3293); +and AND3_1119 (N3733, N3608, N3603, N3295); +and AND4_1120 (N3734, N3612, N3603, N3296, N3608); +and AND2_1121 (N3735, N3616, N3301); +and AND3_1122 (N3736, N3622, N3616, N3558); +nand NAND2_1123 (N3737, N3696, N3632); +nand NAND2_1124 (N3740, N3697, N3633); +nand NAND2_1125 (N3741, N3394, N3716); +nand NAND2_1126 (N3742, N3397, N3718); +nand NAND2_1127 (N3743, N3720, N3662); +and AND4_1128 (N3744, N3640, N3647, N3644, N3635); +and AND2_1129 (N3745, N3635, N3306); +and AND3_1130 (N3746, N3640, N3635, N3308); +and AND4_1131 (N3747, N3644, N3635, N3309, N3640); +and AND2_1132 (N3748, N3648, N3314); +and AND3_1133 (N3749, N3654, N3648, N3569); +not NOT1_1134 (N3750, N3721); +and AND2_1135 (N3753, N3722, N246); +nand NAND2_1136 (N3754, N3728, N3692); +nand NAND2_1137 (N3758, N3729, N3694); +not NOT1_1138 (N3761, N3731); +or OR4_1139 (N3762, N3291, N3732, N3733, N3734); +nand NAND2_1140 (N3767, N3741, N3717); +nand NAND2_1141 (N3771, N3742, N3719); +not NOT1_1142 (N3774, N3744); +or OR4_1143 (N3775, N3304, N3745, N3746, N3747); +and AND2_1144 (N3778, N3723, N3480); +and AND3_1145 (N3779, N3726, N3723, N3409); +or OR2_1146 (N3780, N2125, N3753); +and AND2_1147 (N3790, N3750, N800); +and AND2_1148 (N3793, N3737, N3500); +and AND3_1149 (N3794, N3740, N3737, N3428); +or OR3_1150 (N3802, N3479, N3778, N3779); +buf BUFF1_1151 (N3803, N3780); +buf BUFF1_1152 (N3804, N3780); +not NOT1_1153 (N3805, N3762); +and AND5_1154 (N3806, N3622, N3730, N3754, N3616, N3758); +and AND4_1155 (N3807, N3754, N3616, N3559, N3622); +and AND5_1156 (N3808, N3758, N3754, N3616, N3498, N3622); +buf BUFF1_1157 (N3809, N3790); +or OR3_1158 (N3811, N3499, N3793, N3794); +not NOT1_1159 (N3812, N3775); +and AND5_1160 (N3813, N3654, N3743, N3767, N3648, N3771); +and AND4_1161 (N3814, N3767, N3648, N3570, N3654); +and AND5_1162 (N3815, N3771, N3767, N3648, N3517, N3654); +or OR5_1163 (N3816, N3299, N3735, N3736, N3807, N3808); +and AND2_1164 (N3817, N3806, N3802); +nand NAND2_1165 (N3818, N3805, N3761); +not NOT1_1166 (N3819, N3790); +or OR5_1167 (N3820, N3312, N3748, N3749, N3814, N3815); +and AND2_1168 (N3821, N3813, N3811); +nand NAND2_1169 (N3822, N3812, N3774); +or OR2_1170 (N3823, N3816, N3817); +and AND3_1171 (N3826, N3727, N3819, N2841); +or OR2_1172 (N3827, N3820, N3821); +not NOT1_1173 (N3834, N3823); +and AND2_1174 (N3835, N3818, N3823); +not NOT1_1175 (N3836, N3827); +and AND2_1176 (N3837, N3822, N3827); +and AND2_1177 (N3838, N3762, N3834); +and AND2_1178 (N3839, N3775, N3836); +or OR2_1179 (N3840, N3838, N3835); +or OR2_1180 (N3843, N3839, N3837); +buf BUFF1_1181 (N3851, N3843); +nand NAND2_1182 (N3852, N3843, N3840); +and AND2_1183 (N3857, N3843, N3852); +and AND2_1184 (N3858, N3852, N3840); +or OR2_1185 (N3859, N3857, N3858); +not NOT1_1186 (N3864, N3859); +and AND2_1187 (N3869, N3859, N3864); +or OR2_1188 (N3870, N3869, N3864); +not NOT1_1189 (N3875, N3870); +and AND3_1190 (N3876, N2826, N3028, N3870); +and AND3_1191 (N3877, N3826, N3876, N1591); +buf BUFF1_1192 (N3881, N3877); +not NOT1_1193 (N3882, N3877); +buf BUFF1_1194 (N143_O, N143_I); +buf BUFF1_1195 (N144_O, N144_I); +buf BUFF1_1196 (N145_O, N145_I); +buf BUFF1_1197 (N146_O, N146_I); +buf BUFF1_1198 (N147_O, N147_I); +buf BUFF1_1199 (N148_O, N148_I); +buf BUFF1_1200 (N149_O, N149_I); +buf BUFF1_1201 (N150_O, N150_I); +buf BUFF1_1202 (N151_O, N151_I); +buf BUFF1_1203 (N152_O, N152_I); +buf BUFF1_1204 (N153_O, N153_I); +buf BUFF1_1205 (N154_O, N154_I); +buf BUFF1_1206 (N155_O, N155_I); +buf BUFF1_1207 (N156_O, N156_I); +buf BUFF1_1208 (N157_O, N157_I); +buf BUFF1_1209 (N158_O, N158_I); +buf BUFF1_1210 (N159_O, N159_I); +buf BUFF1_1211 (N160_O, N160_I); +buf BUFF1_1212 (N161_O, N161_I); +buf BUFF1_1213 (N162_O, N162_I); +buf BUFF1_1214 (N163_O, N163_I); +buf BUFF1_1215 (N164_O, N164_I); +buf BUFF1_1216 (N165_O, N165_I); +buf BUFF1_1217 (N166_O, N166_I); +buf BUFF1_1218 (N167_O, N167_I); +buf BUFF1_1219 (N168_O, N168_I); +buf BUFF1_1220 (N169_O, N169_I); +buf BUFF1_1221 (N170_O, N170_I); +buf BUFF1_1222 (N171_O, N171_I); +buf BUFF1_1223 (N172_O, N172_I); +buf BUFF1_1224 (N173_O, N173_I); +buf BUFF1_1225 (N174_O, N174_I); +buf BUFF1_1226 (N175_O, N175_I); +buf BUFF1_1227 (N176_O, N176_I); +buf BUFF1_1228 (N177_O, N177_I); +buf BUFF1_1229 (N178_O, N178_I); +buf BUFF1_1230 (N179_O, N179_I); +buf BUFF1_1231 (N180_O, N180_I); +buf BUFF1_1232 (N181_O, N181_I); +buf BUFF1_1233 (N182_O, N182_I); +buf BUFF1_1234 (N183_O, N183_I); +buf BUFF1_1235 (N184_O, N184_I); +buf BUFF1_1236 (N185_O, N185_I); +buf BUFF1_1237 (N186_O, N186_I); +buf BUFF1_1238 (N187_O, N187_I); +buf BUFF1_1239 (N188_O, N188_I); +buf BUFF1_1240 (N189_O, N189_I); +buf BUFF1_1241 (N190_O, N190_I); +buf BUFF1_1242 (N191_O, N191_I); +buf BUFF1_1243 (N192_O, N192_I); +buf BUFF1_1244 (N193_O, N193_I); +buf BUFF1_1245 (N194_O, N194_I); +buf BUFF1_1246 (N195_O, N195_I); +buf BUFF1_1247 (N196_O, N196_I); +buf BUFF1_1248 (N197_O, N197_I); +buf BUFF1_1249 (N198_O, N198_I); +buf BUFF1_1250 (N199_O, N199_I); +buf BUFF1_1251 (N200_O, N200_I); +buf BUFF1_1252 (N201_O, N201_I); +buf BUFF1_1253 (N202_O, N202_I); +buf BUFF1_1254 (N203_O, N203_I); +buf BUFF1_1255 (N204_O, N204_I); +buf BUFF1_1256 (N205_O, N205_I); +buf BUFF1_1257 (N206_O, N206_I); +buf BUFF1_1258 (N207_O, N207_I); +buf BUFF1_1259 (N208_O, N208_I); +buf BUFF1_1260 (N209_O, N209_I); +buf BUFF1_1261 (N210_O, N210_I); +buf BUFF1_1262 (N211_O, N211_I); +buf BUFF1_1263 (N212_O, N212_I); +buf BUFF1_1264 (N213_O, N213_I); +buf BUFF1_1265 (N214_O, N214_I); +buf BUFF1_1266 (N215_O, N215_I); +buf BUFF1_1267 (N216_O, N216_I); +buf BUFF1_1268 (N217_O, N217_I); +buf BUFF1_1269 (N218_O, N218_I); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c2670_tb.v b/SupplementaryMaterials/Iscas85Verilog/c2670_tb.v new file mode 100644 index 0000000..1c92afe --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c2670_tb.v @@ -0,0 +1,157 @@ + +module c2670_tb(); + + +reg N1,N2,N3,N4,N5,N6,N7,N8,N11,N14, + N15,N16,N19,N20,N21,N22,N23,N24,N25,N26, + N27,N28,N29,N32,N33,N34,N35,N36,N37,N40, + N43,N44,N47,N48,N49,N50,N51,N52,N53,N54, + N55,N56,N57,N60,N61,N62,N63,N64,N65,N66, + N67,N68,N69,N72,N73,N74,N75,N76,N77,N78, + N79,N80,N81,N82,N85,N86,N87,N88,N89,N90, + N91,N92,N93,N94,N95,N96,N99,N100,N101,N102, + N103,N104,N105,N106,N107,N108,N111,N112,N113,N114, + N115,N116,N117,N118,N119,N120,N123,N124,N125,N126, + N127,N128,N129,N130,N131,N132,N135,N136,N137,N138, + N139,N140,N141,N142,N219,N224,N227,N230,N231,N234, + N237,N241,N246,N253,N256,N259,N262,N263,N266,N269, + N272,N275,N278,N281,N284,N287,N290,N294,N297,N301, + N305,N309,N313,N316,N319,N322,N325,N328,N331,N334, + N337,N340,N343,N346,N349,N352,N355,N143_I,N144_I,N145_I, + N146_I,N147_I,N148_I,N149_I,N150_I,N151_I,N152_I,N153_I,N154_I,N155_I, + N156_I,N157_I,N158_I,N159_I,N160_I,N161_I,N162_I,N163_I,N164_I,N165_I, + N166_I,N167_I,N168_I,N169_I,N170_I,N171_I,N172_I,N173_I,N174_I,N175_I, + N176_I,N177_I,N178_I,N179_I,N180_I,N181_I,N182_I,N183_I,N184_I,N185_I, + N186_I,N187_I,N188_I,N189_I,N190_I,N191_I,N192_I,N193_I,N194_I,N195_I, + N196_I,N197_I,N198_I,N199_I,N200_I,N201_I,N202_I,N203_I,N204_I,N205_I, + N206_I,N207_I,N208_I,N209_I,N210_I,N211_I,N212_I,N213_I,N214_I,N215_I, + N216_I,N217_I,N218_I; + +wire N398,N400,N401,N419,N420,N456,N457,N458,N487,N488, + N489,N490,N491,N492,N493,N494,N792,N799,N805,N1026, + N1028,N1029,N1269,N1277,N1448,N1726,N1816,N1817,N1818,N1819, + N1820,N1821,N1969,N1970,N1971,N2010,N2012,N2014,N2016,N2018, + N2020,N2022,N2387,N2388,N2389,N2390,N2496,N2643,N2644,N2891, + N2925,N2970,N2971,N3038,N3079,N3546,N3671,N3803,N3804,N3809, + N3851,N3875,N3881,N3882,N143_O,N144_O,N145_O,N146_O,N147_O,N148_O, + N149_O,N150_O,N151_O,N152_O,N153_O,N154_O,N155_O,N156_O,N157_O,N158_O, + N159_O,N160_O,N161_O,N162_O,N163_O,N164_O,N165_O,N166_O,N167_O,N168_O, + N169_O,N170_O,N171_O,N172_O,N173_O,N174_O,N175_O,N176_O,N177_O,N178_O, + N179_O,N180_O,N181_O,N182_O,N183_O,N184_O,N185_O,N186_O,N187_O,N188_O, + N189_O,N190_O,N191_O,N192_O,N193_O,N194_O,N195_O,N196_O,N197_O,N198_O, + N199_O,N200_O,N201_O,N202_O,N203_O,N204_O,N205_O,N206_O,N207_O,N208_O, + N209_O,N210_O,N211_O,N212_O,N213_O,N214_O,N215_O,N216_O,N217_O,N218_O; + +c2670 c0(N1,N2,N3,N4,N5,N6,N7,N8,N11,N14, + N15,N16,N19,N20,N21,N22,N23,N24,N25,N26, + N27,N28,N29,N32,N33,N34,N35,N36,N37,N40, + N43,N44,N47,N48,N49,N50,N51,N52,N53,N54, + N55,N56,N57,N60,N61,N62,N63,N64,N65,N66, + N67,N68,N69,N72,N73,N74,N75,N76,N77,N78, + N79,N80,N81,N82,N85,N86,N87,N88,N89,N90, + N91,N92,N93,N94,N95,N96,N99,N100,N101,N102, + N103,N104,N105,N106,N107,N108,N111,N112,N113,N114, + N115,N116,N117,N118,N119,N120,N123,N124,N125,N126, + N127,N128,N129,N130,N131,N132,N135,N136,N137,N138, + N139,N140,N141,N142,N219,N224,N227,N230,N231,N234, + N237,N241,N246,N253,N256,N259,N262,N263,N266,N269, + N272,N275,N278,N281,N284,N287,N290,N294,N297,N301, + N305,N309,N313,N316,N319,N322,N325,N328,N331,N334, + N337,N340,N343,N346,N349,N352,N355,N143_I,N144_I,N145_I, + N146_I,N147_I,N148_I,N149_I,N150_I,N151_I,N152_I,N153_I,N154_I,N155_I, + N156_I,N157_I,N158_I,N159_I,N160_I,N161_I,N162_I,N163_I,N164_I,N165_I, + N166_I,N167_I,N168_I,N169_I,N170_I,N171_I,N172_I,N173_I,N174_I,N175_I, + N176_I,N177_I,N178_I,N179_I,N180_I,N181_I,N182_I,N183_I,N184_I,N185_I, + N186_I,N187_I,N188_I,N189_I,N190_I,N191_I,N192_I,N193_I,N194_I,N195_I, + N196_I,N197_I,N198_I,N199_I,N200_I,N201_I,N202_I,N203_I,N204_I,N205_I, + N206_I,N207_I,N208_I,N209_I,N210_I,N211_I,N212_I,N213_I,N214_I,N215_I, + N216_I,N217_I,N218_I,N398,N400,N401,N419,N420,N456,N457, + N458,N487,N488,N489,N490,N491,N492,N493,N494,N792, + N799,N805,N1026,N1028,N1029,N1269,N1277,N1448,N1726,N1816, + N1817,N1818,N1819,N1820,N1821,N1969,N1970,N1971,N2010,N2012, + N2014,N2016,N2018,N2020,N2022,N2387,N2388,N2389,N2390,N2496, + N2643,N2644,N2891,N2925,N2970,N2971,N3038,N3079,N3546,N3671, + N3803,N3804,N3809,N3851,N3875,N3881,N3882,N143_O,N144_O,N145_O, + N146_O,N147_O,N148_O,N149_O,N150_O,N151_O,N152_O,N153_O,N154_O,N155_O, + N156_O,N157_O,N158_O,N159_O,N160_O,N161_O,N162_O,N163_O,N164_O,N165_O, + N166_O,N167_O,N168_O,N169_O,N170_O,N171_O,N172_O,N173_O,N174_O,N175_O, + N176_O,N177_O,N178_O,N179_O,N180_O,N181_O,N182_O,N183_O,N184_O,N185_O, + N186_O,N187_O,N188_O,N189_O,N190_O,N191_O,N192_O,N193_O,N194_O,N195_O, + N196_O,N197_O,N198_O,N199_O,N200_O,N201_O,N202_O,N203_O,N204_O,N205_O, + N206_O,N207_O,N208_O,N209_O,N210_O,N211_O,N212_O,N213_O,N214_O,N215_O, + N216_O,N217_O,N218_O); + + + + +reg [232:0] test_vectors[0:9]; +reg [139:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c2670_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N2,N3,N4,N5,N6,N7,N8,N11,N14, + N15,N16,N19,N20,N21,N22,N23,N24,N25,N26, + N27,N28,N29,N32,N33,N34,N35,N36,N37,N40, + N43,N44,N47,N48,N49,N50,N51,N52,N53,N54, + N55,N56,N57,N60,N61,N62,N63,N64,N65,N66, + N67,N68,N69,N72,N73,N74,N75,N76,N77,N78, + N79,N80,N81,N82,N85,N86,N87,N88,N89,N90, + N91,N92,N93,N94,N95,N96,N99,N100,N101,N102, + N103,N104,N105,N106,N107,N108,N111,N112,N113,N114, + N115,N116,N117,N118,N119,N120,N123,N124,N125,N126, + N127,N128,N129,N130,N131,N132,N135,N136,N137,N138, + N139,N140,N141,N142,N219,N224,N227,N230,N231,N234, + N237,N241,N246,N253,N256,N259,N262,N263,N266,N269, + N272,N275,N278,N281,N284,N287,N290,N294,N297,N301, + N305,N309,N313,N316,N319,N322,N325,N328,N331,N334, + N337,N340,N343,N346,N349,N352,N355,N143_I,N144_I,N145_I, + N146_I,N147_I,N148_I,N149_I,N150_I,N151_I,N152_I,N153_I,N154_I,N155_I, + N156_I,N157_I,N158_I,N159_I,N160_I,N161_I,N162_I,N163_I,N164_I,N165_I, + N166_I,N167_I,N168_I,N169_I,N170_I,N171_I,N172_I,N173_I,N174_I,N175_I, + N176_I,N177_I,N178_I,N179_I,N180_I,N181_I,N182_I,N183_I,N184_I,N185_I, + N186_I,N187_I,N188_I,N189_I,N190_I,N191_I,N192_I,N193_I,N194_I,N195_I, + N196_I,N197_I,N198_I,N199_I,N200_I,N201_I,N202_I,N203_I,N204_I,N205_I, + N206_I,N207_I,N208_I,N209_I,N210_I,N211_I,N212_I,N213_I,N214_I,N215_I, + N216_I,N217_I,N218_I} = test_vectors[k]; + + #1 + out_vectors[k] = {N398,N400,N401,N419,N420,N456,N457,N458,N487,N488, + N489,N490,N491,N492,N493,N494,N792,N799,N805,N1026, + N1028,N1029,N1269,N1277,N1448,N1726,N1816,N1817,N1818,N1819, + N1820,N1821,N1969,N1970,N1971,N2010,N2012,N2014,N2016,N2018, + N2020,N2022,N2387,N2388,N2389,N2390,N2496,N2643,N2644,N2891, + N2925,N2970,N2971,N3038,N3079,N3546,N3671,N3803,N3804,N3809, + N3851,N3875,N3881,N3882,N143_O,N144_O,N145_O,N146_O,N147_O,N148_O, + N149_O,N150_O,N151_O,N152_O,N153_O,N154_O,N155_O,N156_O,N157_O,N158_O, + N159_O,N160_O,N161_O,N162_O,N163_O,N164_O,N165_O,N166_O,N167_O,N168_O, + N169_O,N170_O,N171_O,N172_O,N173_O,N174_O,N175_O,N176_O,N177_O,N178_O, + N179_O,N180_O,N181_O,N182_O,N183_O,N184_O,N185_O,N186_O,N187_O,N188_O, + N189_O,N190_O,N191_O,N192_O,N193_O,N194_O,N195_O,N196_O,N197_O,N198_O, + N199_O,N200_O,N201_O,N202_O,N203_O,N204_O,N205_O,N206_O,N207_O,N208_O, + N209_O,N210_O,N211_O,N212_O,N213_O,N214_O,N215_O,N216_O,N217_O,N218_O}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c2670_in_data.txt", test_vectors); + $writememb("c2670_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c3540.v b/SupplementaryMaterials/Iscas85Verilog/c3540.v new file mode 100644 index 0000000..c3f18c0 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c3540.v @@ -0,0 +1,1877 @@ +// Verilog +// c3540 +// Ninputs 50 +// Noutputs 22 +// NtotalGates 1669 +// BUFF1 223 +// NOT1 490 +// OR2 35 +// AND2 410 +// NAND2 274 +// NAND3 17 +// AND3 76 +// NOR2 25 +// AND4 10 +// NAND4 7 +// OR3 56 +// NOR3 27 +// AND5 2 +// NOR8 16 +// OR4 1 + +module c3540 (N1,N13,N20,N33,N41,N45,N50,N58,N68,N77, + N87,N97,N107,N116,N124,N125,N128,N132,N137,N143, + N150,N159,N169,N179,N190,N200,N213,N222,N223,N226, + N232,N238,N244,N250,N257,N264,N270,N274,N283,N294, + N303,N311,N317,N322,N326,N329,N330,N343,N349,N350, + N1713,N1947,N3195,N3833,N3987,N4028,N4145,N4589,N4667,N4815, + N4944,N5002,N5045,N5047,N5078,N5102,N5120,N5121,N5192,N5231, + N5360,N5361); + +input N1,N13,N20,N33,N41,N45,N50,N58,N68,N77, + N87,N97,N107,N116,N124,N125,N128,N132,N137,N143, + N150,N159,N169,N179,N190,N200,N213,N222,N223,N226, + N232,N238,N244,N250,N257,N264,N270,N274,N283,N294, + N303,N311,N317,N322,N326,N329,N330,N343,N349,N350; + +output N1713,N1947,N3195,N3833,N3987,N4028,N4145,N4589,N4667,N4815, + N4944,N5002,N5045,N5047,N5078,N5102,N5120,N5121,N5192,N5231, + N5360,N5361; + +wire N655,N665,N670,N679,N683,N686,N690,N699,N702,N706, + N715,N724,N727,N736,N740,N749,N753,N763,N768,N769, + N772,N779,N782,N786,N793,N794,N798,N803,N820,N821, + N825,N829,N832,N835,N836,N839,N842,N845,N848,N851, + N854,N858,N861,N864,N867,N870,N874,N877,N880,N883, + N886,N889,N890,N891,N892,N895,N896,N913,N914,N915, + N916,N917,N920,N923,N926,N929,N932,N935,N938,N941, + N944,N947,N950,N953,N956,N959,N962,N965,N1067,N1117, + N1179,N1196,N1197,N1202,N1219,N1250,N1251,N1252,N1253,N1254, + N1255,N1256,N1257,N1258,N1259,N1260,N1261,N1262,N1263,N1264, + N1267,N1268,N1271,N1272,N1273,N1276,N1279,N1298,N1302,N1306, + N1315,N1322,N1325,N1328,N1331,N1334,N1337,N1338,N1339,N1340, + N1343,N1344,N1345,N1346,N1347,N1348,N1349,N1350,N1351,N1352, + N1353,N1358,N1363,N1366,N1369,N1384,N1401,N1402,N1403,N1404, + N1405,N1406,N1407,N1408,N1409,N1426,N1427,N1452,N1459,N1460, + N1461,N1464,N1467,N1468,N1469,N1470,N1471,N1474,N1475,N1478, + N1481,N1484,N1487,N1490,N1493,N1496,N1499,N1502,N1505,N1507, + N1508,N1509,N1510,N1511,N1512,N1520,N1562,N1579,N1580,N1581, + N1582,N1583,N1584,N1585,N1586,N1587,N1588,N1589,N1590,N1591, + N1592,N1593,N1594,N1595,N1596,N1597,N1598,N1599,N1600,N1643, + N1644,N1645,N1646,N1647,N1648,N1649,N1650,N1667,N1670,N1673, + N1674,N1675,N1676,N1677,N1678,N1679,N1680,N1691,N1692,N1693, + N1694,N1714,N1715,N1718,N1721,N1722,N1725,N1726,N1727,N1728, + N1729,N1730,N1731,N1735,N1736,N1737,N1738,N1747,N1756,N1761, + N1764,N1765,N1766,N1767,N1768,N1769,N1770,N1787,N1788,N1789, + N1790,N1791,N1792,N1793,N1794,N1795,N1796,N1797,N1798,N1799, + N1800,N1801,N1802,N1803,N1806,N1809,N1812,N1815,N1818,N1821, + N1824,N1833,N1842,N1843,N1844,N1845,N1846,N1847,N1848,N1849, + N1850,N1851,N1852,N1853,N1854,N1855,N1856,N1857,N1858,N1859, + N1860,N1861,N1862,N1863,N1864,N1869,N1870,N1873,N1874,N1875, + N1878,N1879,N1880,N1883,N1884,N1885,N1888,N1889,N1890,N1893, + N1894,N1895,N1898,N1899,N1900,N1903,N1904,N1905,N1908,N1909, + N1912,N1913,N1917,N1922,N1926,N1930,N1933,N1936,N1939,N1940, + N1941,N1942,N1943,N1944,N1945,N1946,N1960,N1961,N1966,N1981, + N1982,N1983,N1986,N1987,N1988,N1989,N1990,N1991,N2022,N2023, + N2024,N2025,N2026,N2027,N2028,N2029,N2030,N2031,N2032,N2033, + N2034,N2035,N2036,N2037,N2038,N2043,N2052,N2057,N2068,N2073, + N2078,N2083,N2088,N2093,N2098,N2103,N2121,N2122,N2123,N2124, + N2125,N2126,N2127,N2128,N2133,N2134,N2135,N2136,N2137,N2138, + N2139,N2141,N2142,N2143,N2144,N2145,N2146,N2147,N2148,N2149, + N2150,N2151,N2152,N2153,N2154,N2155,N2156,N2157,N2158,N2175, + N2178,N2179,N2180,N2181,N2183,N2184,N2185,N2188,N2191,N2194, + N2197,N2200,N2203,N2206,N2209,N2210,N2211,N2212,N2221,N2230, + N2231,N2232,N2233,N2234,N2235,N2236,N2237,N2238,N2239,N2240, + N2241,N2242,N2243,N2244,N2245,N2270,N2277,N2282,N2287,N2294, + N2299,N2304,N2307,N2310,N2313,N2316,N2319,N2322,N2325,N2328, + N2331,N2334,N2341,N2342,N2347,N2348,N2349,N2350,N2351,N2352, + N2353,N2354,N2355,N2374,N2375,N2376,N2379,N2398,N2417,N2418, + N2419,N2420,N2421,N2422,N2425,N2426,N2427,N2430,N2431,N2432, + N2435,N2436,N2437,N2438,N2439,N2440,N2443,N2444,N2445,N2448, + N2449,N2450,N2467,N2468,N2469,N2470,N2471,N2474,N2475,N2476, + N2477,N2478,N2481,N2482,N2483,N2486,N2487,N2488,N2497,N2506, + N2515,N2524,N2533,N2542,N2551,N2560,N2569,N2578,N2587,N2596, + N2605,N2614,N2623,N2632,N2633,N2634,N2635,N2636,N2637,N2638, + N2639,N2640,N2641,N2642,N2643,N2644,N2645,N2646,N2647,N2648, + N2652,N2656,N2659,N2662,N2666,N2670,N2673,N2677,N2681,N2684, + N2688,N2692,N2697,N2702,N2706,N2710,N2715,N2719,N2723,N2728, + N2729,N2730,N2731,N2732,N2733,N2734,N2735,N2736,N2737,N2738, + N2739,N2740,N2741,N2742,N2743,N2744,N2745,N2746,N2748,N2749, + N2750,N2751,N2754,N2755,N2756,N2757,N2758,N2761,N2764,N2768, + N2769,N2898,N2899,N2900,N2901,N2962,N2966,N2967,N2970,N2973, + N2977,N2980,N2984,N2985,N2986,N2987,N2988,N2989,N2990,N2991, + N2992,N2993,N2994,N2995,N2996,N2997,N2998,N2999,N3000,N3001, + N3002,N3003,N3004,N3005,N3006,N3007,N3008,N3009,N3010,N3011, + N3012,N3013,N3014,N3015,N3016,N3017,N3018,N3019,N3020,N3021, + N3022,N3023,N3024,N3025,N3026,N3027,N3028,N3029,N3030,N3031, + N3032,N3033,N3034,N3035,N3036,N3037,N3038,N3039,N3040,N3041, + N3042,N3043,N3044,N3045,N3046,N3047,N3048,N3049,N3050,N3051, + N3052,N3053,N3054,N3055,N3056,N3057,N3058,N3059,N3060,N3061, + N3062,N3063,N3064,N3065,N3066,N3067,N3068,N3069,N3070,N3071, + N3072,N3073,N3074,N3075,N3076,N3077,N3078,N3079,N3080,N3081, + N3082,N3083,N3084,N3085,N3086,N3087,N3088,N3089,N3090,N3091, + N3092,N3093,N3094,N3095,N3096,N3097,N3098,N3099,N3100,N3101, + N3102,N3103,N3104,N3105,N3106,N3107,N3108,N3109,N3110,N3111, + N3112,N3115,N3118,N3119,N3122,N3125,N3128,N3131,N3134,N3135, + N3138,N3141,N3142,N3145,N3148,N3149,N3152,N3155,N3158,N3161, + N3164,N3165,N3168,N3171,N3172,N3175,N3178,N3181,N3184,N3187, + N3190,N3191,N3192,N3193,N3194,N3196,N3206,N3207,N3208,N3209, + N3210,N3211,N3212,N3213,N3214,N3215,N3216,N3217,N3218,N3219, + N3220,N3221,N3222,N3223,N3224,N3225,N3226,N3227,N3228,N3229, + N3230,N3231,N3232,N3233,N3234,N3235,N3236,N3237,N3238,N3239, + N3240,N3241,N3242,N3243,N3244,N3245,N3246,N3247,N3248,N3249, + N3250,N3251,N3252,N3253,N3254,N3255,N3256,N3257,N3258,N3259, + N3260,N3261,N3262,N3263,N3264,N3265,N3266,N3267,N3268,N3269, + N3270,N3271,N3272,N3273,N3274,N3275,N3276,N3277,N3278,N3279, + N3280,N3281,N3282,N3283,N3284,N3285,N3286,N3287,N3288,N3289, + N3290,N3291,N3292,N3293,N3294,N3295,N3296,N3297,N3298,N3299, + N3300,N3301,N3302,N3303,N3304,N3305,N3306,N3307,N3308,N3309, + N3310,N3311,N3312,N3313,N3314,N3315,N3316,N3317,N3318,N3319, + N3320,N3321,N3322,N3323,N3324,N3325,N3326,N3327,N3328,N3329, + N3330,N3331,N3332,N3333,N3334,N3383,N3384,N3387,N3388,N3389, + N3390,N3391,N3392,N3393,N3394,N3395,N3396,N3397,N3398,N3399, + N3400,N3401,N3402,N3403,N3404,N3405,N3406,N3407,N3410,N3413, + N3414,N3415,N3419,N3423,N3426,N3429,N3430,N3431,N3434,N3437, + N3438,N3439,N3442,N3445,N3446,N3447,N3451,N3455,N3458,N3461, + N3462,N3463,N3466,N3469,N3470,N3471,N3472,N3475,N3478,N3481, + N3484,N3487,N3490,N3493,N3496,N3499,N3502,N3505,N3508,N3511, + N3514,N3517,N3520,N3523,N3534,N3535,N3536,N3537,N3538,N3539, + N3540,N3541,N3542,N3543,N3544,N3545,N3546,N3547,N3548,N3549, + N3550,N3551,N3552,N3557,N3568,N3573,N3578,N3589,N3594,N3605, + N3626,N3627,N3628,N3629,N3630,N3631,N3632,N3633,N3634,N3635, + N3636,N3637,N3638,N3639,N3640,N3641,N3642,N3643,N3644,N3645, + N3648,N3651,N3652,N3653,N3654,N3657,N3658,N3661,N3662,N3663, + N3664,N3667,N3670,N3671,N3672,N3673,N3676,N3677,N3680,N3681, + N3682,N3685,N3686,N3687,N3688,N3689,N3690,N3693,N3694,N3695, + N3696,N3697,N3700,N3703,N3704,N3705,N3706,N3707,N3708,N3711, + N3712,N3713,N3714,N3715,N3716,N3717,N3718,N3719,N3720,N3721, + N3731,N3734,N3740,N3743,N3753,N3756,N3762,N3765,N3766,N3773, + N3774,N3775,N3776,N3777,N3778,N3779,N3780,N3786,N3789,N3800, + N3803,N3809,N3812,N3815,N3818,N3821,N3824,N3827,N3830,N3834, + N3835,N3838,N3845,N3850,N3855,N3858,N3861,N3865,N3868,N3884, + N3885,N3894,N3895,N3898,N3899,N3906,N3911,N3912,N3913,N3916, + N3917,N3920,N3921,N3924,N3925,N3926,N3930,N3931,N3932,N3935, + N3936,N3937,N3940,N3947,N3948,N3950,N3953,N3956,N3959,N3962, + N3965,N3968,N3971,N3974,N3977,N3980,N3983,N3992,N3996,N4013, + N4029,N4030,N4031,N4032,N4033,N4034,N4035,N4042,N4043,N4044, + N4045,N4046,N4047,N4048,N4049,N4050,N4051,N4052,N4053,N4054, + N4055,N4056,N4057,N4058,N4059,N4062,N4065,N4066,N4067,N4070, + N4073,N4074,N4075,N4076,N4077,N4078,N4079,N4080,N4085,N4086, + N4088,N4090,N4091,N4094,N4098,N4101,N4104,N4105,N4106,N4107, + N4108,N4109,N4110,N4111,N4112,N4113,N4114,N4115,N4116,N4119, + N4122,N4123,N4126,N4127,N4128,N4139,N4142,N4146,N4147,N4148, + N4149,N4150,N4151,N4152,N4153,N4154,N4161,N4167,N4174,N4182, + N4186,N4189,N4190,N4191,N4192,N4193,N4194,N4195,N4196,N4197, + N4200,N4203,N4209,N4213,N4218,N4223,N4238,N4239,N4241,N4242, + N4247,N4251,N4252,N4253,N4254,N4255,N4256,N4257,N4258,N4283, + N4284,N4287,N4291,N4295,N4296,N4299,N4303,N4304,N4305,N4310, + N4316,N4317,N4318,N4319,N4322,N4325,N4326,N4327,N4328,N4329, + N4330,N4331,N4335,N4338,N4341,N4344,N4347,N4350,N4353,N4356, + N4359,N4362,N4365,N4368,N4371,N4376,N4377,N4387,N4390,N4393, + N4398,N4413,N4416,N4421,N4427,N4430,N4435,N4442,N4443,N4446, + N4447,N4448,N4452,N4458,N4461,N4462,N4463,N4464,N4465,N4468, + N4472,N4475,N4479,N4484,N4486,N4487,N4491,N4493,N4496,N4497, + N4498,N4503,N4506,N4507,N4508,N4509,N4510,N4511,N4515,N4526, + N4527,N4528,N4529,N4530,N4531,N4534,N4537,N4540,N4545,N4549, + N4552,N4555,N4558,N4559,N4562,N4563,N4564,N4568,N4569,N4572, + N4573,N4576,N4581,N4584,N4587,N4588,N4593,N4596,N4597,N4599, + N4602,N4603,N4608,N4613,N4616,N4619,N4623,N4628,N4629,N4630, + N4635,N4636,N4640,N4641,N4642,N4643,N4644,N4647,N4650,N4656, + N4659,N4664,N4668,N4669,N4670,N4673,N4674,N4675,N4676,N4677, + N4678,N4679,N4687,N4688,N4691,N4694,N4697,N4700,N4704,N4705, + N4706,N4707,N4708,N4711,N4716,N4717,N4721,N4722,N4726,N4727, + N4730,N4733,N4740,N4743,N4747,N4748,N4749,N4750,N4753,N4754, + N4755,N4756,N4757,N4769,N4772,N4775,N4778,N4786,N4787,N4788, + N4789,N4794,N4797,N4800,N4805,N4808,N4812,N4816,N4817,N4818, + N4822,N4823,N4826,N4829,N4830,N4831,N4838,N4844,N4847,N4850, + N4854,N4859,N4860,N4868,N4870,N4872,N4873,N4876,N4880,N4885, + N4889,N4895,N4896,N4897,N4898,N4899,N4900,N4901,N4902,N4904, + N4905,N4906,N4907,N4913,N4916,N4920,N4921,N4924,N4925,N4926, + N4928,N4929,N4930,N4931,N4937,N4940,N4946,N4949,N4950,N4951, + N4952,N4953,N4954,N4957,N4964,N4965,N4968,N4969,N4970,N4973, + N4978,N4979,N4980,N4981,N4982,N4983,N4984,N4985,N4988,N4991, + N4996,N4999,N5007,N5010,N5013,N5018,N5021,N5026,N5029,N5030, + N5039,N5042,N5046,N5050,N5055,N5058,N5061,N5066,N5070,N5080, + N5085,N5094,N5095,N5097,N5103,N5108,N5109,N5110,N5111,N5114, + N5117,N5122,N5125,N5128,N5133,N5136,N5139,N5145,N5151,N5154, + N5159,N5160,N5163,N5166,N5173,N5174,N5177,N5182,N5183,N5184, + N5188,N5193,N5196,N5197,N5198,N5199,N5201,N5203,N5205,N5209, + N5212,N5215,N5217,N5219,N5220,N5221,N5222,N5223,N5224,N5225, + N5228,N5232,N5233,N5234,N5235,N5236,N5240,N5242,N5243,N5245, + N5246,N5250,N5253,N5254,N5257,N5258,N5261,N5266,N5269,N5277, + N5278,N5279,N5283,N5284,N5285,N5286,N5289,N5292,N5295,N5298, + N5303,N5306,N5309,N5312,N5313,N5322,N5323,N5324,N5327,N5332, + N5335,N5340,N5341,N5344,N5345,N5348,N5349,N5350,N5351,N5352, + N5353,N5354,N5355,N5356,N5357,N5358,N5359; + +buf BUFF1_1 (N655, N50); +not NOT1_2 (N665, N50); +buf BUFF1_3 (N670, N58); +not NOT1_4 (N679, N58); +buf BUFF1_5 (N683, N68); +not NOT1_6 (N686, N68); +buf BUFF1_7 (N690, N68); +buf BUFF1_8 (N699, N77); +not NOT1_9 (N702, N77); +buf BUFF1_10 (N706, N77); +buf BUFF1_11 (N715, N87); +not NOT1_12 (N724, N87); +buf BUFF1_13 (N727, N97); +not NOT1_14 (N736, N97); +buf BUFF1_15 (N740, N107); +not NOT1_16 (N749, N107); +buf BUFF1_17 (N753, N116); +not NOT1_18 (N763, N116); +or OR2_19 (N768, N257, N264); +not NOT1_20 (N769, N1); +buf BUFF1_21 (N772, N1); +not NOT1_22 (N779, N1); +buf BUFF1_23 (N782, N13); +not NOT1_24 (N786, N13); +and AND2_25 (N793, N13, N20); +not NOT1_26 (N794, N20); +buf BUFF1_27 (N798, N20); +not NOT1_28 (N803, N20); +not NOT1_29 (N820, N33); +buf BUFF1_30 (N821, N33); +not NOT1_31 (N825, N33); +and AND2_32 (N829, N33, N41); +not NOT1_33 (N832, N41); +or OR2_34 (N835, N41, N45); +buf BUFF1_35 (N836, N45); +not NOT1_36 (N839, N45); +not NOT1_37 (N842, N50); +buf BUFF1_38 (N845, N58); +not NOT1_39 (N848, N58); +buf BUFF1_40 (N851, N68); +not NOT1_41 (N854, N68); +buf BUFF1_42 (N858, N87); +not NOT1_43 (N861, N87); +buf BUFF1_44 (N864, N97); +not NOT1_45 (N867, N97); +not NOT1_46 (N870, N107); +buf BUFF1_47 (N874, N1); +buf BUFF1_48 (N877, N68); +buf BUFF1_49 (N880, N107); +not NOT1_50 (N883, N20); +buf BUFF1_51 (N886, N190); +not NOT1_52 (N889, N200); +and AND2_53 (N890, N20, N200); +nand NAND2_54 (N891, N20, N200); +and AND2_55 (N892, N20, N179); +not NOT1_56 (N895, N20); +or OR2_57 (N896, N349, N33); +nand NAND2_58 (N913, N1, N13); +nand NAND3_59 (N914, N1, N20, N33); +not NOT1_60 (N915, N20); +not NOT1_61 (N916, N33); +buf BUFF1_62 (N917, N179); +not NOT1_63 (N920, N213); +buf BUFF1_64 (N923, N343); +buf BUFF1_65 (N926, N226); +buf BUFF1_66 (N929, N232); +buf BUFF1_67 (N932, N238); +buf BUFF1_68 (N935, N244); +buf BUFF1_69 (N938, N250); +buf BUFF1_70 (N941, N257); +buf BUFF1_71 (N944, N264); +buf BUFF1_72 (N947, N270); +buf BUFF1_73 (N950, N50); +buf BUFF1_74 (N953, N58); +buf BUFF1_75 (N956, N58); +buf BUFF1_76 (N959, N97); +buf BUFF1_77 (N962, N97); +buf BUFF1_78 (N965, N330); +and AND2_79 (N1067, N250, N768); +or OR2_80 (N1117, N820, N20); +or OR2_81 (N1179, N895, N169); +not NOT1_82 (N1196, N793); +or OR2_83 (N1197, N915, N1); +and AND2_84 (N1202, N913, N914); +or OR2_85 (N1219, N916, N1); +and AND3_86 (N1250, N842, N848, N854); +nand NAND2_87 (N1251, N226, N655); +nand NAND2_88 (N1252, N232, N670); +nand NAND2_89 (N1253, N238, N690); +nand NAND2_90 (N1254, N244, N706); +nand NAND2_91 (N1255, N250, N715); +nand NAND2_92 (N1256, N257, N727); +nand NAND2_93 (N1257, N264, N740); +nand NAND2_94 (N1258, N270, N753); +not NOT1_95 (N1259, N926); +not NOT1_96 (N1260, N929); +not NOT1_97 (N1261, N932); +not NOT1_98 (N1262, N935); +nand NAND2_99 (N1263, N679, N686); +nand NAND2_100 (N1264, N736, N749); +nand NAND2_101 (N1267, N683, N699); +buf BUFF1_102 (N1268, N665); +not NOT1_103 (N1271, N953); +not NOT1_104 (N1272, N959); +buf BUFF1_105 (N1273, N839); +buf BUFF1_106 (N1276, N839); +buf BUFF1_107 (N1279, N782); +buf BUFF1_108 (N1298, N825); +buf BUFF1_109 (N1302, N832); +and AND2_110 (N1306, N779, N835); +and AND3_111 (N1315, N779, N836, N832); +and AND2_112 (N1322, N769, N836); +and AND3_113 (N1325, N772, N786, N798); +nand NAND3_114 (N1328, N772, N786, N798); +nand NAND2_115 (N1331, N772, N786); +buf BUFF1_116 (N1334, N874); +nand NAND3_117 (N1337, N782, N794, N45); +nand NAND3_118 (N1338, N842, N848, N854); +not NOT1_119 (N1339, N956); +and AND3_120 (N1340, N861, N867, N870); +nand NAND3_121 (N1343, N861, N867, N870); +not NOT1_122 (N1344, N962); +not NOT1_123 (N1345, N803); +not NOT1_124 (N1346, N803); +not NOT1_125 (N1347, N803); +not NOT1_126 (N1348, N803); +not NOT1_127 (N1349, N803); +not NOT1_128 (N1350, N803); +not NOT1_129 (N1351, N803); +not NOT1_130 (N1352, N803); +or OR2_131 (N1353, N883, N886); +nor NOR2_132 (N1358, N883, N886); +buf BUFF1_133 (N1363, N892); +not NOT1_134 (N1366, N892); +buf BUFF1_135 (N1369, N821); +buf BUFF1_136 (N1384, N825); +not NOT1_137 (N1401, N896); +not NOT1_138 (N1402, N896); +not NOT1_139 (N1403, N896); +not NOT1_140 (N1404, N896); +not NOT1_141 (N1405, N896); +not NOT1_142 (N1406, N896); +not NOT1_143 (N1407, N896); +not NOT1_144 (N1408, N896); +or OR2_145 (N1409, N1, N1196); +not NOT1_146 (N1426, N829); +not NOT1_147 (N1427, N829); +and AND3_148 (N1452, N769, N782, N794); +not NOT1_149 (N1459, N917); +not NOT1_150 (N1460, N965); +or OR2_151 (N1461, N920, N923); +nor NOR2_152 (N1464, N920, N923); +not NOT1_153 (N1467, N938); +not NOT1_154 (N1468, N941); +not NOT1_155 (N1469, N944); +not NOT1_156 (N1470, N947); +buf BUFF1_157 (N1471, N679); +not NOT1_158 (N1474, N950); +buf BUFF1_159 (N1475, N686); +buf BUFF1_160 (N1478, N702); +buf BUFF1_161 (N1481, N724); +buf BUFF1_162 (N1484, N736); +buf BUFF1_163 (N1487, N749); +buf BUFF1_164 (N1490, N763); +buf BUFF1_165 (N1493, N877); +buf BUFF1_166 (N1496, N877); +buf BUFF1_167 (N1499, N880); +buf BUFF1_168 (N1502, N880); +nand NAND2_169 (N1505, N702, N1250); +and AND4_170 (N1507, N1251, N1252, N1253, N1254); +and AND4_171 (N1508, N1255, N1256, N1257, N1258); +nand NAND2_172 (N1509, N929, N1259); +nand NAND2_173 (N1510, N926, N1260); +nand NAND2_174 (N1511, N935, N1261); +nand NAND2_175 (N1512, N932, N1262); +and AND2_176 (N1520, N655, N1263); +and AND2_177 (N1562, N874, N1337); +not NOT1_178 (N1579, N1117); +and AND2_179 (N1580, N803, N1117); +and AND2_180 (N1581, N1338, N1345); +not NOT1_181 (N1582, N1117); +and AND2_182 (N1583, N803, N1117); +not NOT1_183 (N1584, N1117); +and AND2_184 (N1585, N803, N1117); +and AND2_185 (N1586, N854, N1347); +not NOT1_186 (N1587, N1117); +and AND2_187 (N1588, N803, N1117); +and AND2_188 (N1589, N77, N1348); +not NOT1_189 (N1590, N1117); +and AND2_190 (N1591, N803, N1117); +and AND2_191 (N1592, N1343, N1349); +not NOT1_192 (N1593, N1117); +and AND2_193 (N1594, N803, N1117); +not NOT1_194 (N1595, N1117); +and AND2_195 (N1596, N803, N1117); +and AND2_196 (N1597, N870, N1351); +not NOT1_197 (N1598, N1117); +and AND2_198 (N1599, N803, N1117); +and AND2_199 (N1600, N116, N1352); +and AND2_200 (N1643, N222, N1401); +and AND2_201 (N1644, N223, N1402); +and AND2_202 (N1645, N226, N1403); +and AND2_203 (N1646, N232, N1404); +and AND2_204 (N1647, N238, N1405); +and AND2_205 (N1648, N244, N1406); +and AND2_206 (N1649, N250, N1407); +and AND2_207 (N1650, N257, N1408); +and AND3_208 (N1667, N1, N13, N1426); +and AND3_209 (N1670, N1, N13, N1427); +not NOT1_210 (N1673, N1202); +not NOT1_211 (N1674, N1202); +not NOT1_212 (N1675, N1202); +not NOT1_213 (N1676, N1202); +not NOT1_214 (N1677, N1202); +not NOT1_215 (N1678, N1202); +not NOT1_216 (N1679, N1202); +not NOT1_217 (N1680, N1202); +nand NAND2_218 (N1691, N941, N1467); +nand NAND2_219 (N1692, N938, N1468); +nand NAND2_220 (N1693, N947, N1469); +nand NAND2_221 (N1694, N944, N1470); +not NOT1_222 (N1713, N1505); +and AND2_223 (N1714, N87, N1264); +nand NAND2_224 (N1715, N1509, N1510); +nand NAND2_225 (N1718, N1511, N1512); +nand NAND2_226 (N1721, N1507, N1508); +and AND2_227 (N1722, N763, N1340); +nand NAND2_228 (N1725, N763, N1340); +not NOT1_229 (N1726, N1268); +nand NAND2_230 (N1727, N1493, N1271); +not NOT1_231 (N1728, N1493); +and AND2_232 (N1729, N683, N1268); +nand NAND2_233 (N1730, N1499, N1272); +not NOT1_234 (N1731, N1499); +nand NAND2_235 (N1735, N87, N1264); +not NOT1_236 (N1736, N1273); +not NOT1_237 (N1737, N1276); +nand NAND2_238 (N1738, N1325, N821); +nand NAND2_239 (N1747, N1325, N825); +nand NAND3_240 (N1756, N772, N1279, N798); +nand NAND4_241 (N1761, N772, N786, N798, N1302); +nand NAND2_242 (N1764, N1496, N1339); +not NOT1_243 (N1765, N1496); +nand NAND2_244 (N1766, N1502, N1344); +not NOT1_245 (N1767, N1502); +not NOT1_246 (N1768, N1328); +not NOT1_247 (N1769, N1334); +not NOT1_248 (N1770, N1331); +and AND2_249 (N1787, N845, N1579); +and AND2_250 (N1788, N150, N1580); +and AND2_251 (N1789, N851, N1582); +and AND2_252 (N1790, N159, N1583); +and AND2_253 (N1791, N77, N1584); +and AND2_254 (N1792, N50, N1585); +and AND2_255 (N1793, N858, N1587); +and AND2_256 (N1794, N845, N1588); +and AND2_257 (N1795, N864, N1590); +and AND2_258 (N1796, N851, N1591); +and AND2_259 (N1797, N107, N1593); +and AND2_260 (N1798, N77, N1594); +and AND2_261 (N1799, N116, N1595); +and AND2_262 (N1800, N858, N1596); +and AND2_263 (N1801, N283, N1598); +and AND2_264 (N1802, N864, N1599); +and AND2_265 (N1803, N200, N1363); +and AND2_266 (N1806, N889, N1363); +and AND2_267 (N1809, N890, N1366); +and AND2_268 (N1812, N891, N1366); +nand NAND2_269 (N1815, N1298, N1302); +nand NAND2_270 (N1818, N821, N1302); +nand NAND3_271 (N1821, N772, N1279, N1179); +nand NAND3_272 (N1824, N786, N794, N1298); +nand NAND2_273 (N1833, N786, N1298); +not NOT1_274 (N1842, N1369); +not NOT1_275 (N1843, N1369); +not NOT1_276 (N1844, N1369); +not NOT1_277 (N1845, N1369); +not NOT1_278 (N1846, N1369); +not NOT1_279 (N1847, N1369); +not NOT1_280 (N1848, N1369); +not NOT1_281 (N1849, N1384); +and AND2_282 (N1850, N1384, N896); +not NOT1_283 (N1851, N1384); +and AND2_284 (N1852, N1384, N896); +not NOT1_285 (N1853, N1384); +and AND2_286 (N1854, N1384, N896); +not NOT1_287 (N1855, N1384); +and AND2_288 (N1856, N1384, N896); +not NOT1_289 (N1857, N1384); +and AND2_290 (N1858, N1384, N896); +not NOT1_291 (N1859, N1384); +and AND2_292 (N1860, N1384, N896); +not NOT1_293 (N1861, N1384); +and AND2_294 (N1862, N1384, N896); +not NOT1_295 (N1863, N1384); +and AND2_296 (N1864, N1384, N896); +and AND2_297 (N1869, N1202, N1409); +nor NOR2_298 (N1870, N50, N1409); +not NOT1_299 (N1873, N1306); +and AND2_300 (N1874, N1202, N1409); +nor NOR2_301 (N1875, N58, N1409); +not NOT1_302 (N1878, N1306); +and AND2_303 (N1879, N1202, N1409); +nor NOR2_304 (N1880, N68, N1409); +not NOT1_305 (N1883, N1306); +and AND2_306 (N1884, N1202, N1409); +nor NOR2_307 (N1885, N77, N1409); +not NOT1_308 (N1888, N1306); +and AND2_309 (N1889, N1202, N1409); +nor NOR2_310 (N1890, N87, N1409); +not NOT1_311 (N1893, N1322); +and AND2_312 (N1894, N1202, N1409); +nor NOR2_313 (N1895, N97, N1409); +not NOT1_314 (N1898, N1315); +and AND2_315 (N1899, N1202, N1409); +nor NOR2_316 (N1900, N107, N1409); +not NOT1_317 (N1903, N1315); +and AND2_318 (N1904, N1202, N1409); +nor NOR2_319 (N1905, N116, N1409); +not NOT1_320 (N1908, N1315); +and AND2_321 (N1909, N1452, N213); +nand NAND2_322 (N1912, N1452, N213); +and AND3_323 (N1913, N1452, N213, N343); +nand NAND3_324 (N1917, N1452, N213, N343); +and AND3_325 (N1922, N1452, N213, N343); +nand NAND3_326 (N1926, N1452, N213, N343); +buf BUFF1_327 (N1930, N1464); +nand NAND2_328 (N1933, N1691, N1692); +nand NAND2_329 (N1936, N1693, N1694); +not NOT1_330 (N1939, N1471); +nand NAND2_331 (N1940, N1471, N1474); +not NOT1_332 (N1941, N1475); +not NOT1_333 (N1942, N1478); +not NOT1_334 (N1943, N1481); +not NOT1_335 (N1944, N1484); +not NOT1_336 (N1945, N1487); +not NOT1_337 (N1946, N1490); +not NOT1_338 (N1947, N1714); +nand NAND2_339 (N1960, N953, N1728); +nand NAND2_340 (N1961, N959, N1731); +and AND2_341 (N1966, N1520, N1276); +nand NAND2_342 (N1981, N956, N1765); +nand NAND2_343 (N1982, N962, N1767); +and AND2_344 (N1983, N1067, N1768); +or OR3_345 (N1986, N1581, N1787, N1788); +or OR3_346 (N1987, N1586, N1791, N1792); +or OR3_347 (N1988, N1589, N1793, N1794); +or OR3_348 (N1989, N1592, N1795, N1796); +or OR3_349 (N1990, N1597, N1799, N1800); +or OR3_350 (N1991, N1600, N1801, N1802); +and AND2_351 (N2022, N77, N1849); +and AND2_352 (N2023, N223, N1850); +and AND2_353 (N2024, N87, N1851); +and AND2_354 (N2025, N226, N1852); +and AND2_355 (N2026, N97, N1853); +and AND2_356 (N2027, N232, N1854); +and AND2_357 (N2028, N107, N1855); +and AND2_358 (N2029, N238, N1856); +and AND2_359 (N2030, N116, N1857); +and AND2_360 (N2031, N244, N1858); +and AND2_361 (N2032, N283, N1859); +and AND2_362 (N2033, N250, N1860); +and AND2_363 (N2034, N294, N1861); +and AND2_364 (N2035, N257, N1862); +and AND2_365 (N2036, N303, N1863); +and AND2_366 (N2037, N264, N1864); +buf BUFF1_367 (N2038, N1667); +not NOT1_368 (N2043, N1667); +buf BUFF1_369 (N2052, N1670); +not NOT1_370 (N2057, N1670); +and AND3_371 (N2068, N50, N1197, N1869); +and AND3_372 (N2073, N58, N1197, N1874); +and AND3_373 (N2078, N68, N1197, N1879); +and AND3_374 (N2083, N77, N1197, N1884); +and AND3_375 (N2088, N87, N1219, N1889); +and AND3_376 (N2093, N97, N1219, N1894); +and AND3_377 (N2098, N107, N1219, N1899); +and AND3_378 (N2103, N116, N1219, N1904); +not NOT1_379 (N2121, N1562); +not NOT1_380 (N2122, N1562); +not NOT1_381 (N2123, N1562); +not NOT1_382 (N2124, N1562); +not NOT1_383 (N2125, N1562); +not NOT1_384 (N2126, N1562); +not NOT1_385 (N2127, N1562); +not NOT1_386 (N2128, N1562); +nand NAND2_387 (N2133, N950, N1939); +nand NAND2_388 (N2134, N1478, N1941); +nand NAND2_389 (N2135, N1475, N1942); +nand NAND2_390 (N2136, N1484, N1943); +nand NAND2_391 (N2137, N1481, N1944); +nand NAND2_392 (N2138, N1490, N1945); +nand NAND2_393 (N2139, N1487, N1946); +not NOT1_394 (N2141, N1933); +not NOT1_395 (N2142, N1936); +not NOT1_396 (N2143, N1738); +and AND2_397 (N2144, N1738, N1747); +not NOT1_398 (N2145, N1747); +nand NAND2_399 (N2146, N1727, N1960); +nand NAND2_400 (N2147, N1730, N1961); +and AND4_401 (N2148, N1722, N1267, N665, N58); +not NOT1_402 (N2149, N1738); +and AND2_403 (N2150, N1738, N1747); +not NOT1_404 (N2151, N1747); +not NOT1_405 (N2152, N1738); +not NOT1_406 (N2153, N1747); +and AND2_407 (N2154, N1738, N1747); +not NOT1_408 (N2155, N1738); +not NOT1_409 (N2156, N1747); +and AND2_410 (N2157, N1738, N1747); +buf BUFF1_411 (N2158, N1761); +buf BUFF1_412 (N2175, N1761); +nand NAND2_413 (N2178, N1764, N1981); +nand NAND2_414 (N2179, N1766, N1982); +not NOT1_415 (N2180, N1756); +and AND2_416 (N2181, N1756, N1328); +not NOT1_417 (N2183, N1756); +and AND2_418 (N2184, N1331, N1756); +nand NAND2_419 (N2185, N1358, N1812); +nand NAND2_420 (N2188, N1358, N1809); +nand NAND2_421 (N2191, N1353, N1812); +nand NAND2_422 (N2194, N1353, N1809); +nand NAND2_423 (N2197, N1358, N1806); +nand NAND2_424 (N2200, N1358, N1803); +nand NAND2_425 (N2203, N1353, N1806); +nand NAND2_426 (N2206, N1353, N1803); +not NOT1_427 (N2209, N1815); +not NOT1_428 (N2210, N1818); +and AND2_429 (N2211, N1815, N1818); +buf BUFF1_430 (N2212, N1821); +buf BUFF1_431 (N2221, N1821); +not NOT1_432 (N2230, N1833); +not NOT1_433 (N2231, N1833); +not NOT1_434 (N2232, N1833); +not NOT1_435 (N2233, N1833); +not NOT1_436 (N2234, N1824); +not NOT1_437 (N2235, N1824); +not NOT1_438 (N2236, N1824); +not NOT1_439 (N2237, N1824); +or OR3_440 (N2238, N2022, N1643, N2023); +or OR3_441 (N2239, N2024, N1644, N2025); +or OR3_442 (N2240, N2026, N1645, N2027); +or OR3_443 (N2241, N2028, N1646, N2029); +or OR3_444 (N2242, N2030, N1647, N2031); +or OR3_445 (N2243, N2032, N1648, N2033); +or OR3_446 (N2244, N2034, N1649, N2035); +or OR3_447 (N2245, N2036, N1650, N2037); +and AND2_448 (N2270, N1986, N1673); +and AND2_449 (N2277, N1987, N1675); +and AND2_450 (N2282, N1988, N1676); +and AND2_451 (N2287, N1989, N1677); +and AND2_452 (N2294, N1990, N1679); +and AND2_453 (N2299, N1991, N1680); +buf BUFF1_454 (N2304, N1917); +and AND2_455 (N2307, N1930, N350); +nand NAND2_456 (N2310, N1930, N350); +buf BUFF1_457 (N2313, N1715); +buf BUFF1_458 (N2316, N1718); +buf BUFF1_459 (N2319, N1715); +buf BUFF1_460 (N2322, N1718); +nand NAND2_461 (N2325, N1940, N2133); +nand NAND2_462 (N2328, N2134, N2135); +nand NAND2_463 (N2331, N2136, N2137); +nand NAND2_464 (N2334, N2138, N2139); +nand NAND2_465 (N2341, N1936, N2141); +nand NAND2_466 (N2342, N1933, N2142); +and AND2_467 (N2347, N724, N2144); +and AND3_468 (N2348, N2146, N699, N1726); +and AND2_469 (N2349, N753, N2147); +and AND2_470 (N2350, N2148, N1273); +and AND2_471 (N2351, N736, N2150); +and AND2_472 (N2352, N1735, N2153); +and AND2_473 (N2353, N763, N2154); +and AND2_474 (N2354, N1725, N2156); +and AND2_475 (N2355, N749, N2157); +not NOT1_476 (N2374, N2178); +not NOT1_477 (N2375, N2179); +and AND2_478 (N2376, N1520, N2180); +and AND2_479 (N2379, N1721, N2181); +and AND2_480 (N2398, N665, N2211); +and AND3_481 (N2417, N2057, N226, N1873); +and AND3_482 (N2418, N2057, N274, N1306); +and AND2_483 (N2419, N2052, N2238); +and AND3_484 (N2420, N2057, N232, N1878); +and AND3_485 (N2421, N2057, N274, N1306); +and AND2_486 (N2422, N2052, N2239); +and AND3_487 (N2425, N2057, N238, N1883); +and AND3_488 (N2426, N2057, N274, N1306); +and AND2_489 (N2427, N2052, N2240); +and AND3_490 (N2430, N2057, N244, N1888); +and AND3_491 (N2431, N2057, N274, N1306); +and AND2_492 (N2432, N2052, N2241); +and AND3_493 (N2435, N2043, N250, N1893); +and AND3_494 (N2436, N2043, N274, N1322); +and AND2_495 (N2437, N2038, N2242); +and AND3_496 (N2438, N2043, N257, N1898); +and AND3_497 (N2439, N2043, N274, N1315); +and AND2_498 (N2440, N2038, N2243); +and AND3_499 (N2443, N2043, N264, N1903); +and AND3_500 (N2444, N2043, N274, N1315); +and AND2_501 (N2445, N2038, N2244); +and AND3_502 (N2448, N2043, N270, N1908); +and AND3_503 (N2449, N2043, N274, N1315); +and AND2_504 (N2450, N2038, N2245); +not NOT1_505 (N2467, N2313); +not NOT1_506 (N2468, N2316); +not NOT1_507 (N2469, N2319); +not NOT1_508 (N2470, N2322); +nand NAND2_509 (N2471, N2341, N2342); +not NOT1_510 (N2474, N2325); +not NOT1_511 (N2475, N2328); +not NOT1_512 (N2476, N2331); +not NOT1_513 (N2477, N2334); +or OR2_514 (N2478, N2348, N1729); +not NOT1_515 (N2481, N2175); +and AND2_516 (N2482, N2175, N1334); +and AND2_517 (N2483, N2349, N2183); +and AND2_518 (N2486, N2374, N1346); +and AND2_519 (N2487, N2375, N1350); +buf BUFF1_520 (N2488, N2185); +buf BUFF1_521 (N2497, N2188); +buf BUFF1_522 (N2506, N2191); +buf BUFF1_523 (N2515, N2194); +buf BUFF1_524 (N2524, N2197); +buf BUFF1_525 (N2533, N2200); +buf BUFF1_526 (N2542, N2203); +buf BUFF1_527 (N2551, N2206); +buf BUFF1_528 (N2560, N2185); +buf BUFF1_529 (N2569, N2188); +buf BUFF1_530 (N2578, N2191); +buf BUFF1_531 (N2587, N2194); +buf BUFF1_532 (N2596, N2197); +buf BUFF1_533 (N2605, N2200); +buf BUFF1_534 (N2614, N2203); +buf BUFF1_535 (N2623, N2206); +not NOT1_536 (N2632, N2212); +and AND2_537 (N2633, N2212, N1833); +not NOT1_538 (N2634, N2212); +and AND2_539 (N2635, N2212, N1833); +not NOT1_540 (N2636, N2212); +and AND2_541 (N2637, N2212, N1833); +not NOT1_542 (N2638, N2212); +and AND2_543 (N2639, N2212, N1833); +not NOT1_544 (N2640, N2221); +and AND2_545 (N2641, N2221, N1824); +not NOT1_546 (N2642, N2221); +and AND2_547 (N2643, N2221, N1824); +not NOT1_548 (N2644, N2221); +and AND2_549 (N2645, N2221, N1824); +not NOT1_550 (N2646, N2221); +and AND2_551 (N2647, N2221, N1824); +or OR3_552 (N2648, N2270, N1870, N2068); +nor NOR3_553 (N2652, N2270, N1870, N2068); +or OR3_554 (N2656, N2417, N2418, N2419); +or OR3_555 (N2659, N2420, N2421, N2422); +or OR3_556 (N2662, N2277, N1880, N2078); +nor NOR3_557 (N2666, N2277, N1880, N2078); +or OR3_558 (N2670, N2425, N2426, N2427); +or OR3_559 (N2673, N2282, N1885, N2083); +nor NOR3_560 (N2677, N2282, N1885, N2083); +or OR3_561 (N2681, N2430, N2431, N2432); +or OR3_562 (N2684, N2287, N1890, N2088); +nor NOR3_563 (N2688, N2287, N1890, N2088); +or OR3_564 (N2692, N2435, N2436, N2437); +or OR3_565 (N2697, N2438, N2439, N2440); +or OR3_566 (N2702, N2294, N1900, N2098); +nor NOR3_567 (N2706, N2294, N1900, N2098); +or OR3_568 (N2710, N2443, N2444, N2445); +or OR3_569 (N2715, N2299, N1905, N2103); +nor NOR3_570 (N2719, N2299, N1905, N2103); +or OR3_571 (N2723, N2448, N2449, N2450); +not NOT1_572 (N2728, N2304); +not NOT1_573 (N2729, N2158); +and AND2_574 (N2730, N1562, N2158); +not NOT1_575 (N2731, N2158); +and AND2_576 (N2732, N1562, N2158); +not NOT1_577 (N2733, N2158); +and AND2_578 (N2734, N1562, N2158); +not NOT1_579 (N2735, N2158); +and AND2_580 (N2736, N1562, N2158); +not NOT1_581 (N2737, N2158); +and AND2_582 (N2738, N1562, N2158); +not NOT1_583 (N2739, N2158); +and AND2_584 (N2740, N1562, N2158); +not NOT1_585 (N2741, N2158); +and AND2_586 (N2742, N1562, N2158); +not NOT1_587 (N2743, N2158); +and AND2_588 (N2744, N1562, N2158); +or OR3_589 (N2745, N2376, N1983, N2379); +nor NOR3_590 (N2746, N2376, N1983, N2379); +nand NAND2_591 (N2748, N2316, N2467); +nand NAND2_592 (N2749, N2313, N2468); +nand NAND2_593 (N2750, N2322, N2469); +nand NAND2_594 (N2751, N2319, N2470); +nand NAND2_595 (N2754, N2328, N2474); +nand NAND2_596 (N2755, N2325, N2475); +nand NAND2_597 (N2756, N2334, N2476); +nand NAND2_598 (N2757, N2331, N2477); +and AND2_599 (N2758, N1520, N2481); +and AND2_600 (N2761, N1722, N2482); +and AND2_601 (N2764, N2478, N1770); +or OR3_602 (N2768, N2486, N1789, N1790); +or OR3_603 (N2769, N2487, N1797, N1798); +and AND2_604 (N2898, N665, N2633); +and AND2_605 (N2899, N679, N2635); +and AND2_606 (N2900, N686, N2637); +and AND2_607 (N2901, N702, N2639); +not NOT1_608 (N2962, N2746); +nand NAND2_609 (N2966, N2748, N2749); +nand NAND2_610 (N2967, N2750, N2751); +buf BUFF1_611 (N2970, N2471); +nand NAND2_612 (N2973, N2754, N2755); +nand NAND2_613 (N2977, N2756, N2757); +and AND2_614 (N2980, N2471, N2143); +not NOT1_615 (N2984, N2488); +not NOT1_616 (N2985, N2497); +not NOT1_617 (N2986, N2506); +not NOT1_618 (N2987, N2515); +not NOT1_619 (N2988, N2524); +not NOT1_620 (N2989, N2533); +not NOT1_621 (N2990, N2542); +not NOT1_622 (N2991, N2551); +not NOT1_623 (N2992, N2488); +not NOT1_624 (N2993, N2497); +not NOT1_625 (N2994, N2506); +not NOT1_626 (N2995, N2515); +not NOT1_627 (N2996, N2524); +not NOT1_628 (N2997, N2533); +not NOT1_629 (N2998, N2542); +not NOT1_630 (N2999, N2551); +not NOT1_631 (N3000, N2488); +not NOT1_632 (N3001, N2497); +not NOT1_633 (N3002, N2506); +not NOT1_634 (N3003, N2515); +not NOT1_635 (N3004, N2524); +not NOT1_636 (N3005, N2533); +not NOT1_637 (N3006, N2542); +not NOT1_638 (N3007, N2551); +not NOT1_639 (N3008, N2488); +not NOT1_640 (N3009, N2497); +not NOT1_641 (N3010, N2506); +not NOT1_642 (N3011, N2515); +not NOT1_643 (N3012, N2524); +not NOT1_644 (N3013, N2533); +not NOT1_645 (N3014, N2542); +not NOT1_646 (N3015, N2551); +not NOT1_647 (N3016, N2488); +not NOT1_648 (N3017, N2497); +not NOT1_649 (N3018, N2506); +not NOT1_650 (N3019, N2515); +not NOT1_651 (N3020, N2524); +not NOT1_652 (N3021, N2533); +not NOT1_653 (N3022, N2542); +not NOT1_654 (N3023, N2551); +not NOT1_655 (N3024, N2488); +not NOT1_656 (N3025, N2497); +not NOT1_657 (N3026, N2506); +not NOT1_658 (N3027, N2515); +not NOT1_659 (N3028, N2524); +not NOT1_660 (N3029, N2533); +not NOT1_661 (N3030, N2542); +not NOT1_662 (N3031, N2551); +not NOT1_663 (N3032, N2488); +not NOT1_664 (N3033, N2497); +not NOT1_665 (N3034, N2506); +not NOT1_666 (N3035, N2515); +not NOT1_667 (N3036, N2524); +not NOT1_668 (N3037, N2533); +not NOT1_669 (N3038, N2542); +not NOT1_670 (N3039, N2551); +not NOT1_671 (N3040, N2488); +not NOT1_672 (N3041, N2497); +not NOT1_673 (N3042, N2506); +not NOT1_674 (N3043, N2515); +not NOT1_675 (N3044, N2524); +not NOT1_676 (N3045, N2533); +not NOT1_677 (N3046, N2542); +not NOT1_678 (N3047, N2551); +not NOT1_679 (N3048, N2560); +not NOT1_680 (N3049, N2569); +not NOT1_681 (N3050, N2578); +not NOT1_682 (N3051, N2587); +not NOT1_683 (N3052, N2596); +not NOT1_684 (N3053, N2605); +not NOT1_685 (N3054, N2614); +not NOT1_686 (N3055, N2623); +not NOT1_687 (N3056, N2560); +not NOT1_688 (N3057, N2569); +not NOT1_689 (N3058, N2578); +not NOT1_690 (N3059, N2587); +not NOT1_691 (N3060, N2596); +not NOT1_692 (N3061, N2605); +not NOT1_693 (N3062, N2614); +not NOT1_694 (N3063, N2623); +not NOT1_695 (N3064, N2560); +not NOT1_696 (N3065, N2569); +not NOT1_697 (N3066, N2578); +not NOT1_698 (N3067, N2587); +not NOT1_699 (N3068, N2596); +not NOT1_700 (N3069, N2605); +not NOT1_701 (N3070, N2614); +not NOT1_702 (N3071, N2623); +not NOT1_703 (N3072, N2560); +not NOT1_704 (N3073, N2569); +not NOT1_705 (N3074, N2578); +not NOT1_706 (N3075, N2587); +not NOT1_707 (N3076, N2596); +not NOT1_708 (N3077, N2605); +not NOT1_709 (N3078, N2614); +not NOT1_710 (N3079, N2623); +not NOT1_711 (N3080, N2560); +not NOT1_712 (N3081, N2569); +not NOT1_713 (N3082, N2578); +not NOT1_714 (N3083, N2587); +not NOT1_715 (N3084, N2596); +not NOT1_716 (N3085, N2605); +not NOT1_717 (N3086, N2614); +not NOT1_718 (N3087, N2623); +not NOT1_719 (N3088, N2560); +not NOT1_720 (N3089, N2569); +not NOT1_721 (N3090, N2578); +not NOT1_722 (N3091, N2587); +not NOT1_723 (N3092, N2596); +not NOT1_724 (N3093, N2605); +not NOT1_725 (N3094, N2614); +not NOT1_726 (N3095, N2623); +not NOT1_727 (N3096, N2560); +not NOT1_728 (N3097, N2569); +not NOT1_729 (N3098, N2578); +not NOT1_730 (N3099, N2587); +not NOT1_731 (N3100, N2596); +not NOT1_732 (N3101, N2605); +not NOT1_733 (N3102, N2614); +not NOT1_734 (N3103, N2623); +not NOT1_735 (N3104, N2560); +not NOT1_736 (N3105, N2569); +not NOT1_737 (N3106, N2578); +not NOT1_738 (N3107, N2587); +not NOT1_739 (N3108, N2596); +not NOT1_740 (N3109, N2605); +not NOT1_741 (N3110, N2614); +not NOT1_742 (N3111, N2623); +buf BUFF1_743 (N3112, N2656); +not NOT1_744 (N3115, N2656); +not NOT1_745 (N3118, N2652); +and AND2_746 (N3119, N2768, N1674); +buf BUFF1_747 (N3122, N2659); +not NOT1_748 (N3125, N2659); +buf BUFF1_749 (N3128, N2670); +not NOT1_750 (N3131, N2670); +not NOT1_751 (N3134, N2666); +buf BUFF1_752 (N3135, N2681); +not NOT1_753 (N3138, N2681); +not NOT1_754 (N3141, N2677); +buf BUFF1_755 (N3142, N2692); +not NOT1_756 (N3145, N2692); +not NOT1_757 (N3148, N2688); +and AND2_758 (N3149, N2769, N1678); +buf BUFF1_759 (N3152, N2697); +not NOT1_760 (N3155, N2697); +buf BUFF1_761 (N3158, N2710); +not NOT1_762 (N3161, N2710); +not NOT1_763 (N3164, N2706); +buf BUFF1_764 (N3165, N2723); +not NOT1_765 (N3168, N2723); +not NOT1_766 (N3171, N2719); +and AND2_767 (N3172, N1909, N2648); +and AND2_768 (N3175, N1913, N2662); +and AND2_769 (N3178, N1913, N2673); +and AND2_770 (N3181, N1913, N2684); +and AND2_771 (N3184, N1922, N2702); +and AND2_772 (N3187, N1922, N2715); +not NOT1_773 (N3190, N2692); +not NOT1_774 (N3191, N2697); +not NOT1_775 (N3192, N2710); +not NOT1_776 (N3193, N2723); +and AND5_777 (N3194, N2692, N2697, N2710, N2723, N1459); +nand NAND2_778 (N3195, N2745, N2962); +not NOT1_779 (N3196, N2966); +or OR3_780 (N3206, N2980, N2145, N2347); +and AND2_781 (N3207, N124, N2984); +and AND2_782 (N3208, N159, N2985); +and AND2_783 (N3209, N150, N2986); +and AND2_784 (N3210, N143, N2987); +and AND2_785 (N3211, N137, N2988); +and AND2_786 (N3212, N132, N2989); +and AND2_787 (N3213, N128, N2990); +and AND2_788 (N3214, N125, N2991); +and AND2_789 (N3215, N125, N2992); +and AND2_790 (N3216, N655, N2993); +and AND2_791 (N3217, N159, N2994); +and AND2_792 (N3218, N150, N2995); +and AND2_793 (N3219, N143, N2996); +and AND2_794 (N3220, N137, N2997); +and AND2_795 (N3221, N132, N2998); +and AND2_796 (N3222, N128, N2999); +and AND2_797 (N3223, N128, N3000); +and AND2_798 (N3224, N670, N3001); +and AND2_799 (N3225, N655, N3002); +and AND2_800 (N3226, N159, N3003); +and AND2_801 (N3227, N150, N3004); +and AND2_802 (N3228, N143, N3005); +and AND2_803 (N3229, N137, N3006); +and AND2_804 (N3230, N132, N3007); +and AND2_805 (N3231, N132, N3008); +and AND2_806 (N3232, N690, N3009); +and AND2_807 (N3233, N670, N3010); +and AND2_808 (N3234, N655, N3011); +and AND2_809 (N3235, N159, N3012); +and AND2_810 (N3236, N150, N3013); +and AND2_811 (N3237, N143, N3014); +and AND2_812 (N3238, N137, N3015); +and AND2_813 (N3239, N137, N3016); +and AND2_814 (N3240, N706, N3017); +and AND2_815 (N3241, N690, N3018); +and AND2_816 (N3242, N670, N3019); +and AND2_817 (N3243, N655, N3020); +and AND2_818 (N3244, N159, N3021); +and AND2_819 (N3245, N150, N3022); +and AND2_820 (N3246, N143, N3023); +and AND2_821 (N3247, N143, N3024); +and AND2_822 (N3248, N715, N3025); +and AND2_823 (N3249, N706, N3026); +and AND2_824 (N3250, N690, N3027); +and AND2_825 (N3251, N670, N3028); +and AND2_826 (N3252, N655, N3029); +and AND2_827 (N3253, N159, N3030); +and AND2_828 (N3254, N150, N3031); +and AND2_829 (N3255, N150, N3032); +and AND2_830 (N3256, N727, N3033); +and AND2_831 (N3257, N715, N3034); +and AND2_832 (N3258, N706, N3035); +and AND2_833 (N3259, N690, N3036); +and AND2_834 (N3260, N670, N3037); +and AND2_835 (N3261, N655, N3038); +and AND2_836 (N3262, N159, N3039); +and AND2_837 (N3263, N159, N3040); +and AND2_838 (N3264, N740, N3041); +and AND2_839 (N3265, N727, N3042); +and AND2_840 (N3266, N715, N3043); +and AND2_841 (N3267, N706, N3044); +and AND2_842 (N3268, N690, N3045); +and AND2_843 (N3269, N670, N3046); +and AND2_844 (N3270, N655, N3047); +and AND2_845 (N3271, N283, N3048); +and AND2_846 (N3272, N670, N3049); +and AND2_847 (N3273, N690, N3050); +and AND2_848 (N3274, N706, N3051); +and AND2_849 (N3275, N715, N3052); +and AND2_850 (N3276, N727, N3053); +and AND2_851 (N3277, N740, N3054); +and AND2_852 (N3278, N753, N3055); +and AND2_853 (N3279, N294, N3056); +and AND2_854 (N3280, N690, N3057); +and AND2_855 (N3281, N706, N3058); +and AND2_856 (N3282, N715, N3059); +and AND2_857 (N3283, N727, N3060); +and AND2_858 (N3284, N740, N3061); +and AND2_859 (N3285, N753, N3062); +and AND2_860 (N3286, N283, N3063); +and AND2_861 (N3287, N303, N3064); +and AND2_862 (N3288, N706, N3065); +and AND2_863 (N3289, N715, N3066); +and AND2_864 (N3290, N727, N3067); +and AND2_865 (N3291, N740, N3068); +and AND2_866 (N3292, N753, N3069); +and AND2_867 (N3293, N283, N3070); +and AND2_868 (N3294, N294, N3071); +and AND2_869 (N3295, N311, N3072); +and AND2_870 (N3296, N715, N3073); +and AND2_871 (N3297, N727, N3074); +and AND2_872 (N3298, N740, N3075); +and AND2_873 (N3299, N753, N3076); +and AND2_874 (N3300, N283, N3077); +and AND2_875 (N3301, N294, N3078); +and AND2_876 (N3302, N303, N3079); +and AND2_877 (N3303, N317, N3080); +and AND2_878 (N3304, N727, N3081); +and AND2_879 (N3305, N740, N3082); +and AND2_880 (N3306, N753, N3083); +and AND2_881 (N3307, N283, N3084); +and AND2_882 (N3308, N294, N3085); +and AND2_883 (N3309, N303, N3086); +and AND2_884 (N3310, N311, N3087); +and AND2_885 (N3311, N322, N3088); +and AND2_886 (N3312, N740, N3089); +and AND2_887 (N3313, N753, N3090); +and AND2_888 (N3314, N283, N3091); +and AND2_889 (N3315, N294, N3092); +and AND2_890 (N3316, N303, N3093); +and AND2_891 (N3317, N311, N3094); +and AND2_892 (N3318, N317, N3095); +and AND2_893 (N3319, N326, N3096); +and AND2_894 (N3320, N753, N3097); +and AND2_895 (N3321, N283, N3098); +and AND2_896 (N3322, N294, N3099); +and AND2_897 (N3323, N303, N3100); +and AND2_898 (N3324, N311, N3101); +and AND2_899 (N3325, N317, N3102); +and AND2_900 (N3326, N322, N3103); +and AND2_901 (N3327, N329, N3104); +and AND2_902 (N3328, N283, N3105); +and AND2_903 (N3329, N294, N3106); +and AND2_904 (N3330, N303, N3107); +and AND2_905 (N3331, N311, N3108); +and AND2_906 (N3332, N317, N3109); +and AND2_907 (N3333, N322, N3110); +and AND2_908 (N3334, N326, N3111); +and AND5_909 (N3383, N3190, N3191, N3192, N3193, N917); +buf BUFF1_910 (N3384, N2977); +and AND2_911 (N3387, N3196, N1736); +and AND2_912 (N3388, N2977, N2149); +and AND2_913 (N3389, N2973, N1737); +nor NOR8_914 (N3390, N3207, N3208, N3209, N3210, N3211, N3212, N3213, N3214); +nor NOR8_915 (N3391, N3215, N3216, N3217, N3218, N3219, N3220, N3221, N3222); +nor NOR8_916 (N3392, N3223, N3224, N3225, N3226, N3227, N3228, N3229, N3230); +nor NOR8_917 (N3393, N3231, N3232, N3233, N3234, N3235, N3236, N3237, N3238); +nor NOR8_918 (N3394, N3239, N3240, N3241, N3242, N3243, N3244, N3245, N3246); +nor NOR8_919 (N3395, N3247, N3248, N3249, N3250, N3251, N3252, N3253, N3254); +nor NOR8_920 (N3396, N3255, N3256, N3257, N3258, N3259, N3260, N3261, N3262); +nor NOR8_921 (N3397, N3263, N3264, N3265, N3266, N3267, N3268, N3269, N3270); +nor NOR8_922 (N3398, N3271, N3272, N3273, N3274, N3275, N3276, N3277, N3278); +nor NOR8_923 (N3399, N3279, N3280, N3281, N3282, N3283, N3284, N3285, N3286); +nor NOR8_924 (N3400, N3287, N3288, N3289, N3290, N3291, N3292, N3293, N3294); +nor NOR8_925 (N3401, N3295, N3296, N3297, N3298, N3299, N3300, N3301, N3302); +nor NOR8_926 (N3402, N3303, N3304, N3305, N3306, N3307, N3308, N3309, N3310); +nor NOR8_927 (N3403, N3311, N3312, N3313, N3314, N3315, N3316, N3317, N3318); +nor NOR8_928 (N3404, N3319, N3320, N3321, N3322, N3323, N3324, N3325, N3326); +nor NOR8_929 (N3405, N3327, N3328, N3329, N3330, N3331, N3332, N3333, N3334); +and AND2_930 (N3406, N3206, N2641); +and AND3_931 (N3407, N169, N2648, N3112); +and AND3_932 (N3410, N179, N2648, N3115); +and AND3_933 (N3413, N190, N2652, N3115); +and AND3_934 (N3414, N200, N2652, N3112); +or OR3_935 (N3415, N3119, N1875, N2073); +nor NOR3_936 (N3419, N3119, N1875, N2073); +and AND3_937 (N3423, N169, N2662, N3128); +and AND3_938 (N3426, N179, N2662, N3131); +and AND3_939 (N3429, N190, N2666, N3131); +and AND3_940 (N3430, N200, N2666, N3128); +and AND3_941 (N3431, N169, N2673, N3135); +and AND3_942 (N3434, N179, N2673, N3138); +and AND3_943 (N3437, N190, N2677, N3138); +and AND3_944 (N3438, N200, N2677, N3135); +and AND3_945 (N3439, N169, N2684, N3142); +and AND3_946 (N3442, N179, N2684, N3145); +and AND3_947 (N3445, N190, N2688, N3145); +and AND3_948 (N3446, N200, N2688, N3142); +or OR3_949 (N3447, N3149, N1895, N2093); +nor NOR3_950 (N3451, N3149, N1895, N2093); +and AND3_951 (N3455, N169, N2702, N3158); +and AND3_952 (N3458, N179, N2702, N3161); +and AND3_953 (N3461, N190, N2706, N3161); +and AND3_954 (N3462, N200, N2706, N3158); +and AND3_955 (N3463, N169, N2715, N3165); +and AND3_956 (N3466, N179, N2715, N3168); +and AND3_957 (N3469, N190, N2719, N3168); +and AND3_958 (N3470, N200, N2719, N3165); +or OR2_959 (N3471, N3194, N3383); +buf BUFF1_960 (N3472, N2967); +buf BUFF1_961 (N3475, N2970); +buf BUFF1_962 (N3478, N2967); +buf BUFF1_963 (N3481, N2970); +buf BUFF1_964 (N3484, N2973); +buf BUFF1_965 (N3487, N2973); +buf BUFF1_966 (N3490, N3172); +buf BUFF1_967 (N3493, N3172); +buf BUFF1_968 (N3496, N3175); +buf BUFF1_969 (N3499, N3175); +buf BUFF1_970 (N3502, N3178); +buf BUFF1_971 (N3505, N3178); +buf BUFF1_972 (N3508, N3181); +buf BUFF1_973 (N3511, N3181); +buf BUFF1_974 (N3514, N3184); +buf BUFF1_975 (N3517, N3184); +buf BUFF1_976 (N3520, N3187); +buf BUFF1_977 (N3523, N3187); +nor NOR2_978 (N3534, N3387, N2350); +or OR3_979 (N3535, N3388, N2151, N2351); +nor NOR2_980 (N3536, N3389, N1966); +and AND2_981 (N3537, N3390, N2209); +and AND2_982 (N3538, N3398, N2210); +and AND2_983 (N3539, N3391, N1842); +and AND2_984 (N3540, N3399, N1369); +and AND2_985 (N3541, N3392, N1843); +and AND2_986 (N3542, N3400, N1369); +and AND2_987 (N3543, N3393, N1844); +and AND2_988 (N3544, N3401, N1369); +and AND2_989 (N3545, N3394, N1845); +and AND2_990 (N3546, N3402, N1369); +and AND2_991 (N3547, N3395, N1846); +and AND2_992 (N3548, N3403, N1369); +and AND2_993 (N3549, N3396, N1847); +and AND2_994 (N3550, N3404, N1369); +and AND2_995 (N3551, N3397, N1848); +and AND2_996 (N3552, N3405, N1369); +or OR3_997 (N3557, N3413, N3414, N3118); +or OR3_998 (N3568, N3429, N3430, N3134); +or OR3_999 (N3573, N3437, N3438, N3141); +or OR3_1000 (N3578, N3445, N3446, N3148); +or OR3_1001 (N3589, N3461, N3462, N3164); +or OR3_1002 (N3594, N3469, N3470, N3171); +and AND2_1003 (N3605, N3471, N2728); +not NOT1_1004 (N3626, N3478); +not NOT1_1005 (N3627, N3481); +not NOT1_1006 (N3628, N3487); +not NOT1_1007 (N3629, N3484); +not NOT1_1008 (N3630, N3472); +not NOT1_1009 (N3631, N3475); +and AND2_1010 (N3632, N3536, N2152); +and AND2_1011 (N3633, N3534, N2155); +or OR3_1012 (N3634, N3537, N3538, N2398); +or OR2_1013 (N3635, N3539, N3540); +or OR2_1014 (N3636, N3541, N3542); +or OR2_1015 (N3637, N3543, N3544); +or OR2_1016 (N3638, N3545, N3546); +or OR2_1017 (N3639, N3547, N3548); +or OR2_1018 (N3640, N3549, N3550); +or OR2_1019 (N3641, N3551, N3552); +and AND2_1020 (N3642, N3535, N2643); +or OR2_1021 (N3643, N3407, N3410); +nor NOR2_1022 (N3644, N3407, N3410); +and AND3_1023 (N3645, N169, N3415, N3122); +and AND3_1024 (N3648, N179, N3415, N3125); +and AND3_1025 (N3651, N190, N3419, N3125); +and AND3_1026 (N3652, N200, N3419, N3122); +not NOT1_1027 (N3653, N3419); +or OR2_1028 (N3654, N3423, N3426); +nor NOR2_1029 (N3657, N3423, N3426); +or OR2_1030 (N3658, N3431, N3434); +nor NOR2_1031 (N3661, N3431, N3434); +or OR2_1032 (N3662, N3439, N3442); +nor NOR2_1033 (N3663, N3439, N3442); +and AND3_1034 (N3664, N169, N3447, N3152); +and AND3_1035 (N3667, N179, N3447, N3155); +and AND3_1036 (N3670, N190, N3451, N3155); +and AND3_1037 (N3671, N200, N3451, N3152); +not NOT1_1038 (N3672, N3451); +or OR2_1039 (N3673, N3455, N3458); +nor NOR2_1040 (N3676, N3455, N3458); +or OR2_1041 (N3677, N3463, N3466); +nor NOR2_1042 (N3680, N3463, N3466); +not NOT1_1043 (N3681, N3493); +and AND2_1044 (N3682, N1909, N3415); +not NOT1_1045 (N3685, N3496); +not NOT1_1046 (N3686, N3499); +not NOT1_1047 (N3687, N3502); +not NOT1_1048 (N3688, N3505); +not NOT1_1049 (N3689, N3511); +and AND2_1050 (N3690, N1922, N3447); +not NOT1_1051 (N3693, N3517); +not NOT1_1052 (N3694, N3520); +not NOT1_1053 (N3695, N3523); +not NOT1_1054 (N3696, N3514); +buf BUFF1_1055 (N3697, N3384); +buf BUFF1_1056 (N3700, N3384); +not NOT1_1057 (N3703, N3490); +not NOT1_1058 (N3704, N3508); +nand NAND2_1059 (N3705, N3475, N3630); +nand NAND2_1060 (N3706, N3472, N3631); +nand NAND2_1061 (N3707, N3481, N3626); +nand NAND2_1062 (N3708, N3478, N3627); +or OR3_1063 (N3711, N3632, N2352, N2353); +or OR3_1064 (N3712, N3633, N2354, N2355); +and AND2_1065 (N3713, N3634, N2632); +and AND2_1066 (N3714, N3635, N2634); +and AND2_1067 (N3715, N3636, N2636); +and AND2_1068 (N3716, N3637, N2638); +and AND2_1069 (N3717, N3638, N2640); +and AND2_1070 (N3718, N3639, N2642); +and AND2_1071 (N3719, N3640, N2644); +and AND2_1072 (N3720, N3641, N2646); +and AND2_1073 (N3721, N3644, N3557); +or OR3_1074 (N3731, N3651, N3652, N3653); +and AND2_1075 (N3734, N3657, N3568); +and AND2_1076 (N3740, N3661, N3573); +and AND2_1077 (N3743, N3663, N3578); +or OR3_1078 (N3753, N3670, N3671, N3672); +and AND2_1079 (N3756, N3676, N3589); +and AND2_1080 (N3762, N3680, N3594); +not NOT1_1081 (N3765, N3643); +not NOT1_1082 (N3766, N3662); +nand NAND2_1083 (N3773, N3705, N3706); +nand NAND2_1084 (N3774, N3707, N3708); +nand NAND2_1085 (N3775, N3700, N3628); +not NOT1_1086 (N3776, N3700); +nand NAND2_1087 (N3777, N3697, N3629); +not NOT1_1088 (N3778, N3697); +and AND2_1089 (N3779, N3712, N2645); +and AND2_1090 (N3780, N3711, N2647); +or OR2_1091 (N3786, N3645, N3648); +nor NOR2_1092 (N3789, N3645, N3648); +or OR2_1093 (N3800, N3664, N3667); +nor NOR2_1094 (N3803, N3664, N3667); +and AND2_1095 (N3809, N3654, N1917); +and AND2_1096 (N3812, N3658, N1917); +and AND2_1097 (N3815, N3673, N1926); +and AND2_1098 (N3818, N3677, N1926); +buf BUFF1_1099 (N3821, N3682); +buf BUFF1_1100 (N3824, N3682); +buf BUFF1_1101 (N3827, N3690); +buf BUFF1_1102 (N3830, N3690); +nand NAND2_1103 (N3833, N3773, N3774); +nand NAND2_1104 (N3834, N3487, N3776); +nand NAND2_1105 (N3835, N3484, N3778); +and AND2_1106 (N3838, N3789, N3731); +and AND2_1107 (N3845, N3803, N3753); +buf BUFF1_1108 (N3850, N3721); +buf BUFF1_1109 (N3855, N3734); +buf BUFF1_1110 (N3858, N3740); +buf BUFF1_1111 (N3861, N3743); +buf BUFF1_1112 (N3865, N3756); +buf BUFF1_1113 (N3868, N3762); +nand NAND2_1114 (N3884, N3775, N3834); +nand NAND2_1115 (N3885, N3777, N3835); +nand NAND2_1116 (N3894, N3721, N3786); +nand NAND2_1117 (N3895, N3743, N3800); +not NOT1_1118 (N3898, N3821); +not NOT1_1119 (N3899, N3824); +not NOT1_1120 (N3906, N3830); +not NOT1_1121 (N3911, N3827); +and AND2_1122 (N3912, N3786, N1912); +buf BUFF1_1123 (N3913, N3812); +and AND2_1124 (N3916, N3800, N1917); +buf BUFF1_1125 (N3917, N3818); +not NOT1_1126 (N3920, N3809); +buf BUFF1_1127 (N3921, N3818); +not NOT1_1128 (N3924, N3884); +not NOT1_1129 (N3925, N3885); +and AND4_1130 (N3926, N3721, N3838, N3734, N3740); +nand NAND3_1131 (N3930, N3721, N3838, N3654); +nand NAND4_1132 (N3931, N3658, N3838, N3734, N3721); +and AND4_1133 (N3932, N3743, N3845, N3756, N3762); +nand NAND3_1134 (N3935, N3743, N3845, N3673); +nand NAND4_1135 (N3936, N3677, N3845, N3756, N3743); +buf BUFF1_1136 (N3937, N3838); +buf BUFF1_1137 (N3940, N3845); +not NOT1_1138 (N3947, N3912); +not NOT1_1139 (N3948, N3916); +buf BUFF1_1140 (N3950, N3850); +buf BUFF1_1141 (N3953, N3850); +buf BUFF1_1142 (N3956, N3855); +buf BUFF1_1143 (N3959, N3855); +buf BUFF1_1144 (N3962, N3858); +buf BUFF1_1145 (N3965, N3858); +buf BUFF1_1146 (N3968, N3861); +buf BUFF1_1147 (N3971, N3861); +buf BUFF1_1148 (N3974, N3865); +buf BUFF1_1149 (N3977, N3865); +buf BUFF1_1150 (N3980, N3868); +buf BUFF1_1151 (N3983, N3868); +nand NAND2_1152 (N3987, N3924, N3925); +nand NAND4_1153 (N3992, N3765, N3894, N3930, N3931); +nand NAND4_1154 (N3996, N3766, N3895, N3935, N3936); +not NOT1_1155 (N4013, N3921); +and AND2_1156 (N4028, N3932, N3926); +nand NAND2_1157 (N4029, N3953, N3681); +nand NAND2_1158 (N4030, N3959, N3686); +nand NAND2_1159 (N4031, N3965, N3688); +nand NAND2_1160 (N4032, N3971, N3689); +nand NAND2_1161 (N4033, N3977, N3693); +nand NAND2_1162 (N4034, N3983, N3695); +buf BUFF1_1163 (N4035, N3926); +not NOT1_1164 (N4042, N3953); +not NOT1_1165 (N4043, N3956); +nand NAND2_1166 (N4044, N3956, N3685); +not NOT1_1167 (N4045, N3959); +not NOT1_1168 (N4046, N3962); +nand NAND2_1169 (N4047, N3962, N3687); +not NOT1_1170 (N4048, N3965); +not NOT1_1171 (N4049, N3971); +not NOT1_1172 (N4050, N3977); +not NOT1_1173 (N4051, N3980); +nand NAND2_1174 (N4052, N3980, N3694); +not NOT1_1175 (N4053, N3983); +not NOT1_1176 (N4054, N3974); +nand NAND2_1177 (N4055, N3974, N3696); +and AND2_1178 (N4056, N3932, N2304); +not NOT1_1179 (N4057, N3950); +nand NAND2_1180 (N4058, N3950, N3703); +buf BUFF1_1181 (N4059, N3937); +buf BUFF1_1182 (N4062, N3937); +not NOT1_1183 (N4065, N3968); +nand NAND2_1184 (N4066, N3968, N3704); +buf BUFF1_1185 (N4067, N3940); +buf BUFF1_1186 (N4070, N3940); +nand NAND2_1187 (N4073, N3926, N3996); +not NOT1_1188 (N4074, N3992); +nand NAND2_1189 (N4075, N3493, N4042); +nand NAND2_1190 (N4076, N3499, N4045); +nand NAND2_1191 (N4077, N3505, N4048); +nand NAND2_1192 (N4078, N3511, N4049); +nand NAND2_1193 (N4079, N3517, N4050); +nand NAND2_1194 (N4080, N3523, N4053); +nand NAND2_1195 (N4085, N3496, N4043); +nand NAND2_1196 (N4086, N3502, N4046); +nand NAND2_1197 (N4088, N3520, N4051); +nand NAND2_1198 (N4090, N3514, N4054); +and AND2_1199 (N4091, N3996, N1926); +or OR2_1200 (N4094, N3605, N4056); +nand NAND2_1201 (N4098, N3490, N4057); +nand NAND2_1202 (N4101, N3508, N4065); +and AND2_1203 (N4104, N4073, N4074); +nand NAND2_1204 (N4105, N4075, N4029); +nand NAND2_1205 (N4106, N4062, N3899); +nand NAND2_1206 (N4107, N4076, N4030); +nand NAND2_1207 (N4108, N4077, N4031); +nand NAND2_1208 (N4109, N4078, N4032); +nand NAND2_1209 (N4110, N4070, N3906); +nand NAND2_1210 (N4111, N4079, N4033); +nand NAND2_1211 (N4112, N4080, N4034); +not NOT1_1212 (N4113, N4059); +nand NAND2_1213 (N4114, N4059, N3898); +not NOT1_1214 (N4115, N4062); +nand NAND2_1215 (N4116, N4085, N4044); +nand NAND2_1216 (N4119, N4086, N4047); +not NOT1_1217 (N4122, N4070); +nand NAND2_1218 (N4123, N4088, N4052); +not NOT1_1219 (N4126, N4067); +nand NAND2_1220 (N4127, N4067, N3911); +nand NAND2_1221 (N4128, N4090, N4055); +nand NAND2_1222 (N4139, N4098, N4058); +nand NAND2_1223 (N4142, N4101, N4066); +not NOT1_1224 (N4145, N4104); +not NOT1_1225 (N4146, N4105); +nand NAND2_1226 (N4147, N3824, N4115); +not NOT1_1227 (N4148, N4107); +not NOT1_1228 (N4149, N4108); +not NOT1_1229 (N4150, N4109); +nand NAND2_1230 (N4151, N3830, N4122); +not NOT1_1231 (N4152, N4111); +not NOT1_1232 (N4153, N4112); +nand NAND2_1233 (N4154, N3821, N4113); +nand NAND2_1234 (N4161, N3827, N4126); +buf BUFF1_1235 (N4167, N4091); +buf BUFF1_1236 (N4174, N4094); +buf BUFF1_1237 (N4182, N4091); +and AND2_1238 (N4186, N330, N4094); +and AND2_1239 (N4189, N4146, N2230); +nand NAND2_1240 (N4190, N4147, N4106); +and AND2_1241 (N4191, N4148, N2232); +and AND2_1242 (N4192, N4149, N2233); +and AND2_1243 (N4193, N4150, N2234); +nand NAND2_1244 (N4194, N4151, N4110); +and AND2_1245 (N4195, N4152, N2236); +and AND2_1246 (N4196, N4153, N2237); +nand NAND2_1247 (N4197, N4154, N4114); +buf BUFF1_1248 (N4200, N4116); +buf BUFF1_1249 (N4203, N4116); +buf BUFF1_1250 (N4209, N4119); +buf BUFF1_1251 (N4213, N4119); +nand NAND2_1252 (N4218, N4161, N4127); +buf BUFF1_1253 (N4223, N4123); +and AND2_1254 (N4238, N4128, N3917); +not NOT1_1255 (N4239, N4139); +not NOT1_1256 (N4241, N4142); +and AND2_1257 (N4242, N330, N4123); +buf BUFF1_1258 (N4247, N4128); +nor NOR3_1259 (N4251, N3713, N4189, N2898); +not NOT1_1260 (N4252, N4190); +nor NOR3_1261 (N4253, N3715, N4191, N2900); +nor NOR3_1262 (N4254, N3716, N4192, N2901); +nor NOR3_1263 (N4255, N3717, N4193, N3406); +not NOT1_1264 (N4256, N4194); +nor NOR3_1265 (N4257, N3719, N4195, N3779); +nor NOR3_1266 (N4258, N3720, N4196, N3780); +and AND2_1267 (N4283, N4167, N4035); +and AND2_1268 (N4284, N4174, N4035); +or OR2_1269 (N4287, N3815, N4238); +not NOT1_1270 (N4291, N4186); +not NOT1_1271 (N4295, N4167); +buf BUFF1_1272 (N4296, N4167); +not NOT1_1273 (N4299, N4182); +and AND2_1274 (N4303, N4252, N2231); +and AND2_1275 (N4304, N4256, N2235); +buf BUFF1_1276 (N4305, N4197); +or OR2_1277 (N4310, N3992, N4283); +and AND3_1278 (N4316, N4174, N4213, N4203); +and AND2_1279 (N4317, N4174, N4209); +and AND3_1280 (N4318, N4223, N4128, N4218); +and AND2_1281 (N4319, N4223, N4128); +and AND2_1282 (N4322, N4167, N4209); +nand NAND2_1283 (N4325, N4203, N3913); +nand NAND3_1284 (N4326, N4203, N4213, N4167); +nand NAND2_1285 (N4327, N4218, N3815); +nand NAND3_1286 (N4328, N4218, N4128, N3917); +nand NAND2_1287 (N4329, N4247, N4013); +not NOT1_1288 (N4330, N4247); +and AND3_1289 (N4331, N330, N4094, N4295); +and AND2_1290 (N4335, N4251, N2730); +and AND2_1291 (N4338, N4253, N2734); +and AND2_1292 (N4341, N4254, N2736); +and AND2_1293 (N4344, N4255, N2738); +and AND2_1294 (N4347, N4257, N2742); +and AND2_1295 (N4350, N4258, N2744); +buf BUFF1_1296 (N4353, N4197); +buf BUFF1_1297 (N4356, N4203); +buf BUFF1_1298 (N4359, N4209); +buf BUFF1_1299 (N4362, N4218); +buf BUFF1_1300 (N4365, N4242); +buf BUFF1_1301 (N4368, N4242); +buf BUFF1_1302 (N4371, N4223); +nor NOR3_1303 (N4376, N3714, N4303, N2899); +nor NOR3_1304 (N4377, N3718, N4304, N3642); +and AND2_1305 (N4387, N330, N4317); +and AND2_1306 (N4390, N330, N4318); +nand NAND2_1307 (N4393, N3921, N4330); +buf BUFF1_1308 (N4398, N4287); +buf BUFF1_1309 (N4413, N4284); +nand NAND3_1310 (N4416, N3920, N4325, N4326); +or OR2_1311 (N4421, N3812, N4322); +nand NAND3_1312 (N4427, N3948, N4327, N4328); +buf BUFF1_1313 (N4430, N4287); +and AND2_1314 (N4435, N330, N4316); +or OR2_1315 (N4442, N4331, N4296); +and AND4_1316 (N4443, N4174, N4305, N4203, N4213); +nand NAND2_1317 (N4446, N4305, N3809); +nand NAND3_1318 (N4447, N4305, N4200, N3913); +nand NAND4_1319 (N4448, N4305, N4200, N4213, N4167); +not NOT1_1320 (N4452, N4356); +nand NAND2_1321 (N4458, N4329, N4393); +not NOT1_1322 (N4461, N4365); +not NOT1_1323 (N4462, N4368); +nand NAND2_1324 (N4463, N4371, N1460); +not NOT1_1325 (N4464, N4371); +buf BUFF1_1326 (N4465, N4310); +nor NOR2_1327 (N4468, N4331, N4296); +and AND2_1328 (N4472, N4376, N2732); +and AND2_1329 (N4475, N4377, N2740); +buf BUFF1_1330 (N4479, N4310); +not NOT1_1331 (N4484, N4353); +not NOT1_1332 (N4486, N4359); +nand NAND2_1333 (N4487, N4359, N4299); +not NOT1_1334 (N4491, N4362); +and AND2_1335 (N4493, N330, N4319); +not NOT1_1336 (N4496, N4398); +and AND2_1337 (N4497, N4287, N4398); +and AND2_1338 (N4498, N4442, N1769); +nand NAND4_1339 (N4503, N3947, N4446, N4447, N4448); +not NOT1_1340 (N4506, N4413); +not NOT1_1341 (N4507, N4435); +not NOT1_1342 (N4508, N4421); +nand NAND2_1343 (N4509, N4421, N4452); +not NOT1_1344 (N4510, N4427); +nand NAND2_1345 (N4511, N4427, N4241); +nand NAND2_1346 (N4515, N965, N4464); +not NOT1_1347 (N4526, N4416); +nand NAND2_1348 (N4527, N4416, N4484); +nand NAND2_1349 (N4528, N4182, N4486); +not NOT1_1350 (N4529, N4430); +nand NAND2_1351 (N4530, N4430, N4491); +buf BUFF1_1352 (N4531, N4387); +buf BUFF1_1353 (N4534, N4387); +buf BUFF1_1354 (N4537, N4390); +buf BUFF1_1355 (N4540, N4390); +and AND3_1356 (N4545, N330, N4319, N4496); +and AND2_1357 (N4549, N330, N4443); +nand NAND2_1358 (N4552, N4356, N4508); +nand NAND2_1359 (N4555, N4142, N4510); +not NOT1_1360 (N4558, N4493); +nand NAND2_1361 (N4559, N4463, N4515); +not NOT1_1362 (N4562, N4465); +and AND2_1363 (N4563, N4310, N4465); +buf BUFF1_1364 (N4564, N4468); +not NOT1_1365 (N4568, N4479); +buf BUFF1_1366 (N4569, N4443); +nand NAND2_1367 (N4572, N4353, N4526); +nand NAND2_1368 (N4573, N4362, N4529); +nand NAND2_1369 (N4576, N4487, N4528); +buf BUFF1_1370 (N4581, N4458); +buf BUFF1_1371 (N4584, N4458); +or OR3_1372 (N4587, N2758, N4498, N2761); +nor NOR3_1373 (N4588, N2758, N4498, N2761); +or OR2_1374 (N4589, N4545, N4497); +nand NAND2_1375 (N4593, N4552, N4509); +not NOT1_1376 (N4596, N4531); +not NOT1_1377 (N4597, N4534); +nand NAND2_1378 (N4599, N4555, N4511); +not NOT1_1379 (N4602, N4537); +not NOT1_1380 (N4603, N4540); +and AND3_1381 (N4608, N330, N4284, N4562); +buf BUFF1_1382 (N4613, N4503); +buf BUFF1_1383 (N4616, N4503); +nand NAND2_1384 (N4619, N4572, N4527); +nand NAND2_1385 (N4623, N4573, N4530); +not NOT1_1386 (N4628, N4588); +nand NAND2_1387 (N4629, N4569, N4506); +not NOT1_1388 (N4630, N4569); +not NOT1_1389 (N4635, N4576); +nand NAND2_1390 (N4636, N4576, N4291); +not NOT1_1391 (N4640, N4581); +nand NAND2_1392 (N4641, N4581, N4461); +not NOT1_1393 (N4642, N4584); +nand NAND2_1394 (N4643, N4584, N4462); +nor NOR2_1395 (N4644, N4608, N4563); +and AND2_1396 (N4647, N4559, N2128); +and AND2_1397 (N4650, N4559, N2743); +buf BUFF1_1398 (N4656, N4549); +buf BUFF1_1399 (N4659, N4549); +buf BUFF1_1400 (N4664, N4564); +and AND2_1401 (N4667, N4587, N4628); +nand NAND2_1402 (N4668, N4413, N4630); +not NOT1_1403 (N4669, N4616); +nand NAND2_1404 (N4670, N4616, N4239); +not NOT1_1405 (N4673, N4619); +nand NAND2_1406 (N4674, N4619, N4507); +nand NAND2_1407 (N4675, N4186, N4635); +not NOT1_1408 (N4676, N4623); +nand NAND2_1409 (N4677, N4623, N4558); +nand NAND2_1410 (N4678, N4365, N4640); +nand NAND2_1411 (N4679, N4368, N4642); +not NOT1_1412 (N4687, N4613); +nand NAND2_1413 (N4688, N4613, N4568); +buf BUFF1_1414 (N4691, N4593); +buf BUFF1_1415 (N4694, N4593); +buf BUFF1_1416 (N4697, N4599); +buf BUFF1_1417 (N4700, N4599); +nand NAND2_1418 (N4704, N4629, N4668); +nand NAND2_1419 (N4705, N4139, N4669); +not NOT1_1420 (N4706, N4656); +not NOT1_1421 (N4707, N4659); +nand NAND2_1422 (N4708, N4435, N4673); +nand NAND2_1423 (N4711, N4675, N4636); +nand NAND2_1424 (N4716, N4493, N4676); +nand NAND2_1425 (N4717, N4678, N4641); +nand NAND2_1426 (N4721, N4679, N4643); +buf BUFF1_1427 (N4722, N4644); +not NOT1_1428 (N4726, N4664); +or OR3_1429 (N4727, N4647, N4650, N4350); +nor NOR3_1430 (N4730, N4647, N4650, N4350); +nand NAND2_1431 (N4733, N4479, N4687); +nand NAND2_1432 (N4740, N4705, N4670); +nand NAND2_1433 (N4743, N4708, N4674); +not NOT1_1434 (N4747, N4691); +nand NAND2_1435 (N4748, N4691, N4596); +not NOT1_1436 (N4749, N4694); +nand NAND2_1437 (N4750, N4694, N4597); +not NOT1_1438 (N4753, N4697); +nand NAND2_1439 (N4754, N4697, N4602); +not NOT1_1440 (N4755, N4700); +nand NAND2_1441 (N4756, N4700, N4603); +nand NAND2_1442 (N4757, N4716, N4677); +nand NAND2_1443 (N4769, N4733, N4688); +and AND2_1444 (N4772, N330, N4704); +not NOT1_1445 (N4775, N4721); +not NOT1_1446 (N4778, N4730); +nand NAND2_1447 (N4786, N4531, N4747); +nand NAND2_1448 (N4787, N4534, N4749); +nand NAND2_1449 (N4788, N4537, N4753); +nand NAND2_1450 (N4789, N4540, N4755); +and AND2_1451 (N4794, N4711, N2124); +and AND2_1452 (N4797, N4711, N2735); +and AND2_1453 (N4800, N4717, N2127); +buf BUFF1_1454 (N4805, N4722); +and AND2_1455 (N4808, N4717, N4468); +buf BUFF1_1456 (N4812, N4727); +and AND2_1457 (N4815, N4727, N4778); +not NOT1_1458 (N4816, N4769); +not NOT1_1459 (N4817, N4772); +nand NAND2_1460 (N4818, N4786, N4748); +nand NAND2_1461 (N4822, N4787, N4750); +nand NAND2_1462 (N4823, N4788, N4754); +nand NAND2_1463 (N4826, N4789, N4756); +nand NAND2_1464 (N4829, N4775, N4726); +not NOT1_1465 (N4830, N4775); +and AND2_1466 (N4831, N4743, N2122); +and AND2_1467 (N4838, N4757, N2126); +buf BUFF1_1468 (N4844, N4740); +buf BUFF1_1469 (N4847, N4740); +buf BUFF1_1470 (N4850, N4743); +buf BUFF1_1471 (N4854, N4757); +nand NAND2_1472 (N4859, N4772, N4816); +nand NAND2_1473 (N4860, N4769, N4817); +not NOT1_1474 (N4868, N4826); +not NOT1_1475 (N4870, N4805); +not NOT1_1476 (N4872, N4808); +nand NAND2_1477 (N4873, N4664, N4830); +or OR3_1478 (N4876, N4794, N4797, N4341); +nor NOR3_1479 (N4880, N4794, N4797, N4341); +not NOT1_1480 (N4885, N4812); +not NOT1_1481 (N4889, N4822); +nand NAND2_1482 (N4895, N4859, N4860); +not NOT1_1483 (N4896, N4844); +nand NAND2_1484 (N4897, N4844, N4706); +not NOT1_1485 (N4898, N4847); +nand NAND2_1486 (N4899, N4847, N4707); +nor NOR2_1487 (N4900, N4868, N4564); +and AND4_1488 (N4901, N4717, N4757, N4823, N4564); +not NOT1_1489 (N4902, N4850); +not NOT1_1490 (N4904, N4854); +nand NAND2_1491 (N4905, N4854, N4872); +nand NAND2_1492 (N4906, N4873, N4829); +and AND2_1493 (N4907, N4818, N2123); +and AND2_1494 (N4913, N4823, N2125); +and AND2_1495 (N4916, N4818, N4644); +not NOT1_1496 (N4920, N4880); +and AND2_1497 (N4921, N4895, N2184); +nand NAND2_1498 (N4924, N4656, N4896); +nand NAND2_1499 (N4925, N4659, N4898); +or OR2_1500 (N4926, N4900, N4901); +nand NAND2_1501 (N4928, N4889, N4870); +not NOT1_1502 (N4929, N4889); +nand NAND2_1503 (N4930, N4808, N4904); +not NOT1_1504 (N4931, N4906); +buf BUFF1_1505 (N4937, N4876); +buf BUFF1_1506 (N4940, N4876); +and AND2_1507 (N4944, N4876, N4920); +nand NAND2_1508 (N4946, N4924, N4897); +nand NAND2_1509 (N4949, N4925, N4899); +nand NAND2_1510 (N4950, N4916, N4902); +not NOT1_1511 (N4951, N4916); +nand NAND2_1512 (N4952, N4805, N4929); +nand NAND2_1513 (N4953, N4930, N4905); +and AND2_1514 (N4954, N4926, N2737); +and AND2_1515 (N4957, N4931, N2741); +or OR3_1516 (N4964, N2764, N2483, N4921); +nor NOR3_1517 (N4965, N2764, N2483, N4921); +not NOT1_1518 (N4968, N4949); +nand NAND2_1519 (N4969, N4850, N4951); +nand NAND2_1520 (N4970, N4952, N4928); +and AND2_1521 (N4973, N4953, N2739); +not NOT1_1522 (N4978, N4937); +not NOT1_1523 (N4979, N4940); +not NOT1_1524 (N4980, N4965); +nor NOR2_1525 (N4981, N4968, N4722); +and AND4_1526 (N4982, N4818, N4743, N4946, N4722); +nand NAND2_1527 (N4983, N4950, N4969); +not NOT1_1528 (N4984, N4970); +and AND2_1529 (N4985, N4946, N2121); +or OR3_1530 (N4988, N4913, N4954, N4344); +nor NOR3_1531 (N4991, N4913, N4954, N4344); +or OR3_1532 (N4996, N4800, N4957, N4347); +nor NOR3_1533 (N4999, N4800, N4957, N4347); +and AND2_1534 (N5002, N4964, N4980); +or OR2_1535 (N5007, N4981, N4982); +and AND2_1536 (N5010, N4983, N2731); +and AND2_1537 (N5013, N4984, N2733); +or OR3_1538 (N5018, N4838, N4973, N4475); +nor NOR3_1539 (N5021, N4838, N4973, N4475); +not NOT1_1540 (N5026, N4991); +not NOT1_1541 (N5029, N4999); +and AND2_1542 (N5030, N5007, N2729); +buf BUFF1_1543 (N5039, N4996); +buf BUFF1_1544 (N5042, N4988); +and AND2_1545 (N5045, N4988, N5026); +not NOT1_1546 (N5046, N5021); +and AND2_1547 (N5047, N4996, N5029); +or OR3_1548 (N5050, N4831, N5010, N4472); +nor NOR3_1549 (N5055, N4831, N5010, N4472); +or OR3_1550 (N5058, N4907, N5013, N4338); +nor NOR3_1551 (N5061, N4907, N5013, N4338); +and AND4_1552 (N5066, N4730, N4999, N5021, N4991); +buf BUFF1_1553 (N5070, N5018); +and AND2_1554 (N5078, N5018, N5046); +or OR3_1555 (N5080, N4985, N5030, N4335); +nor NOR3_1556 (N5085, N4985, N5030, N4335); +nand NAND2_1557 (N5094, N5039, N4885); +not NOT1_1558 (N5095, N5039); +not NOT1_1559 (N5097, N5042); +buf BUFF1_1560 (N5102, N5050); +not NOT1_1561 (N5103, N5061); +nand NAND2_1562 (N5108, N4812, N5095); +not NOT1_1563 (N5109, N5070); +nand NAND2_1564 (N5110, N5070, N5097); +buf BUFF1_1565 (N5111, N5058); +and AND2_1566 (N5114, N5050, N1461); +buf BUFF1_1567 (N5117, N5050); +buf BUFF1_1568 (N5120, N5080); +and AND2_1569 (N5121, N5058, N5103); +nand NAND2_1570 (N5122, N5094, N5108); +nand NAND2_1571 (N5125, N5042, N5109); +and AND2_1572 (N5128, N1461, N5080); +and AND4_1573 (N5133, N4880, N5061, N5055, N5085); +and AND3_1574 (N5136, N5055, N5085, N1464); +buf BUFF1_1575 (N5139, N5080); +nand NAND2_1576 (N5145, N5125, N5110); +buf BUFF1_1577 (N5151, N5111); +buf BUFF1_1578 (N5154, N5111); +not NOT1_1579 (N5159, N5117); +buf BUFF1_1580 (N5160, N5114); +buf BUFF1_1581 (N5163, N5114); +and AND2_1582 (N5166, N5066, N5133); +and AND2_1583 (N5173, N5066, N5133); +buf BUFF1_1584 (N5174, N5122); +buf BUFF1_1585 (N5177, N5122); +not NOT1_1586 (N5182, N5139); +nand NAND2_1587 (N5183, N5139, N5159); +buf BUFF1_1588 (N5184, N5128); +buf BUFF1_1589 (N5188, N5128); +not NOT1_1590 (N5192, N5166); +nor NOR2_1591 (N5193, N5136, N5173); +nand NAND2_1592 (N5196, N5151, N4978); +not NOT1_1593 (N5197, N5151); +nand NAND2_1594 (N5198, N5154, N4979); +not NOT1_1595 (N5199, N5154); +not NOT1_1596 (N5201, N5160); +not NOT1_1597 (N5203, N5163); +buf BUFF1_1598 (N5205, N5145); +buf BUFF1_1599 (N5209, N5145); +nand NAND2_1600 (N5212, N5117, N5182); +and AND2_1601 (N5215, N213, N5193); +not NOT1_1602 (N5217, N5174); +not NOT1_1603 (N5219, N5177); +nand NAND2_1604 (N5220, N4937, N5197); +nand NAND2_1605 (N5221, N4940, N5199); +not NOT1_1606 (N5222, N5184); +nand NAND2_1607 (N5223, N5184, N5201); +nand NAND2_1608 (N5224, N5188, N5203); +not NOT1_1609 (N5225, N5188); +nand NAND2_1610 (N5228, N5183, N5212); +not NOT1_1611 (N5231, N5215); +nand NAND2_1612 (N5232, N5205, N5217); +not NOT1_1613 (N5233, N5205); +nand NAND2_1614 (N5234, N5209, N5219); +not NOT1_1615 (N5235, N5209); +nand NAND2_1616 (N5236, N5196, N5220); +nand NAND2_1617 (N5240, N5198, N5221); +nand NAND2_1618 (N5242, N5160, N5222); +nand NAND2_1619 (N5243, N5163, N5225); +nand NAND2_1620 (N5245, N5174, N5233); +nand NAND2_1621 (N5246, N5177, N5235); +not NOT1_1622 (N5250, N5240); +not NOT1_1623 (N5253, N5228); +nand NAND2_1624 (N5254, N5242, N5223); +nand NAND2_1625 (N5257, N5243, N5224); +nand NAND2_1626 (N5258, N5232, N5245); +nand NAND2_1627 (N5261, N5234, N5246); +not NOT1_1628 (N5266, N5257); +buf BUFF1_1629 (N5269, N5236); +and AND3_1630 (N5277, N5236, N5254, N2307); +and AND3_1631 (N5278, N5250, N5254, N2310); +not NOT1_1632 (N5279, N5261); +not NOT1_1633 (N5283, N5269); +nand NAND2_1634 (N5284, N5269, N5253); +and AND3_1635 (N5285, N5236, N5266, N2310); +and AND3_1636 (N5286, N5250, N5266, N2307); +buf BUFF1_1637 (N5289, N5258); +buf BUFF1_1638 (N5292, N5258); +nand NAND2_1639 (N5295, N5228, N5283); +or OR4_1640 (N5298, N5277, N5285, N5278, N5286); +buf BUFF1_1641 (N5303, N5279); +buf BUFF1_1642 (N5306, N5279); +nand NAND2_1643 (N5309, N5295, N5284); +not NOT1_1644 (N5312, N5292); +not NOT1_1645 (N5313, N5289); +not NOT1_1646 (N5322, N5306); +not NOT1_1647 (N5323, N5303); +buf BUFF1_1648 (N5324, N5298); +buf BUFF1_1649 (N5327, N5298); +buf BUFF1_1650 (N5332, N5309); +buf BUFF1_1651 (N5335, N5309); +nand NAND2_1652 (N5340, N5324, N5323); +nand NAND2_1653 (N5341, N5327, N5322); +not NOT1_1654 (N5344, N5327); +not NOT1_1655 (N5345, N5324); +nand NAND2_1656 (N5348, N5332, N5313); +nand NAND2_1657 (N5349, N5335, N5312); +nand NAND2_1658 (N5350, N5303, N5345); +nand NAND2_1659 (N5351, N5306, N5344); +not NOT1_1660 (N5352, N5335); +not NOT1_1661 (N5353, N5332); +nand NAND2_1662 (N5354, N5289, N5353); +nand NAND2_1663 (N5355, N5292, N5352); +nand NAND2_1664 (N5356, N5350, N5340); +nand NAND2_1665 (N5357, N5351, N5341); +nand NAND2_1666 (N5358, N5348, N5354); +nand NAND2_1667 (N5359, N5349, N5355); +and AND2_1668 (N5360, N5356, N5357); +nand NAND2_1669 (N5361, N5358, N5359); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c3540_tb.v b/SupplementaryMaterials/Iscas85Verilog/c3540_tb.v new file mode 100644 index 0000000..dc4ceb8 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c3540_tb.v @@ -0,0 +1,66 @@ + +module c3540_tb(); + + + +reg N1,N13,N20,N33,N41,N45,N50,N58,N68,N77, + N87,N97,N107,N116,N124,N125,N128,N132,N137,N143, + N150,N159,N169,N179,N190,N200,N213,N222,N223,N226, + N232,N238,N244,N250,N257,N264,N270,N274,N283,N294, + N303,N311,N317,N322,N326,N329,N330,N343,N349,N350; + +wire N1713,N1947,N3195,N3833,N3987,N4028,N4145,N4589,N4667,N4815, + N4944,N5002,N5045,N5047,N5078,N5102,N5120,N5121,N5192,N5231, + N5360,N5361; + + +c3540 c0(N1,N13,N20,N33,N41,N45,N50,N58,N68,N77, + N87,N97,N107,N116,N124,N125,N128,N132,N137,N143, + N150,N159,N169,N179,N190,N200,N213,N222,N223,N226, + N232,N238,N244,N250,N257,N264,N270,N274,N283,N294, + N303,N311,N317,N322,N326,N329,N330,N343,N349,N350, + N1713,N1947,N3195,N3833,N3987,N4028,N4145,N4589,N4667,N4815, + N4944,N5002,N5045,N5047,N5078,N5102,N5120,N5121,N5192,N5231, + N5360,N5361); + +reg [49:0] test_vectors[0:9]; +reg [21:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c3540_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N13,N20,N33,N41,N45,N50,N58,N68,N77, + N87,N97,N107,N116,N124,N125,N128,N132,N137,N143, + N150,N159,N169,N179,N190,N200,N213,N222,N223,N226, + N232,N238,N244,N250,N257,N264,N270,N274,N283,N294, + N303,N311,N317,N322,N326,N329,N330,N343,N349,N350} = test_vectors[k]; + + #1 + out_vectors[k] = {N1713,N1947,N3195,N3833,N3987,N4028,N4145,N4589,N4667,N4815, + N4944,N5002,N5045,N5047,N5078,N5102,N5120,N5121,N5192,N5231, + N5360,N5361}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c3540_in_data.txt", test_vectors); + $writememb("c3540_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c432.v b/SupplementaryMaterials/Iscas85Verilog/c432.v new file mode 100644 index 0000000..a253e59 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c432.v @@ -0,0 +1,206 @@ +// Verilog +// c432 +// Ninputs 36 +// Noutputs 7 +// NtotalGates 160 +// NOT1 40 +// NAND2 64 +// NOR2 19 +// AND9 3 +// XOR2 18 +// NAND4 14 +// AND8 1 +// NAND3 1 + +module c432 (N1,N4,N8,N11,N14,N17,N21,N24,N27,N30, + N34,N37,N40,N43,N47,N50,N53,N56,N60,N63, + N66,N69,N73,N76,N79,N82,N86,N89,N92,N95, + N99,N102,N105,N108,N112,N115,N223,N329,N370,N421, + N430,N431,N432); + +input N1,N4,N8,N11,N14,N17,N21,N24,N27,N30, + N34,N37,N40,N43,N47,N50,N53,N56,N60,N63, + N66,N69,N73,N76,N79,N82,N86,N89,N92,N95, + N99,N102,N105,N108,N112,N115; + +output N223,N329,N370,N421,N430,N431,N432; + +wire N118,N119,N122,N123,N126,N127,N130,N131,N134,N135, + N138,N139,N142,N143,N146,N147,N150,N151,N154,N157, + N158,N159,N162,N165,N168,N171,N174,N177,N180,N183, + N184,N185,N186,N187,N188,N189,N190,N191,N192,N193, + N194,N195,N196,N197,N198,N199,N203,N213,N224,N227, + N230,N233,N236,N239,N242,N243,N246,N247,N250,N251, + N254,N255,N256,N257,N258,N259,N260,N263,N264,N267, + N270,N273,N276,N279,N282,N285,N288,N289,N290,N291, + N292,N293,N294,N295,N296,N300,N301,N302,N303,N304, + N305,N306,N307,N308,N309,N319,N330,N331,N332,N333, + N334,N335,N336,N337,N338,N339,N340,N341,N342,N343, + N344,N345,N346,N347,N348,N349,N350,N351,N352,N353, + N354,N355,N356,N357,N360,N371,N372,N373,N374,N375, + N376,N377,N378,N379,N380,N381,N386,N393,N399,N404, + N407,N411,N414,N415,N416,N417,N418,N419,N420,N422, + N425,N428,N429; + +not NOT1_1 (N118, N1); +not NOT1_2 (N119, N4); +not NOT1_3 (N122, N11); +not NOT1_4 (N123, N17); +not NOT1_5 (N126, N24); +not NOT1_6 (N127, N30); +not NOT1_7 (N130, N37); +not NOT1_8 (N131, N43); +not NOT1_9 (N134, N50); +not NOT1_10 (N135, N56); +not NOT1_11 (N138, N63); +not NOT1_12 (N139, N69); +not NOT1_13 (N142, N76); +not NOT1_14 (N143, N82); +not NOT1_15 (N146, N89); +not NOT1_16 (N147, N95); +not NOT1_17 (N150, N102); +not NOT1_18 (N151, N108); +nand NAND2_19 (N154, N118, N4); +nor NOR2_20 (N157, N8, N119); +nor NOR2_21 (N158, N14, N119); +nand NAND2_22 (N159, N122, N17); +nand NAND2_23 (N162, N126, N30); +nand NAND2_24 (N165, N130, N43); +nand NAND2_25 (N168, N134, N56); +nand NAND2_26 (N171, N138, N69); +nand NAND2_27 (N174, N142, N82); +nand NAND2_28 (N177, N146, N95); +nand NAND2_29 (N180, N150, N108); +nor NOR2_30 (N183, N21, N123); +nor NOR2_31 (N184, N27, N123); +nor NOR2_32 (N185, N34, N127); +nor NOR2_33 (N186, N40, N127); +nor NOR2_34 (N187, N47, N131); +nor NOR2_35 (N188, N53, N131); +nor NOR2_36 (N189, N60, N135); +nor NOR2_37 (N190, N66, N135); +nor NOR2_38 (N191, N73, N139); +nor NOR2_39 (N192, N79, N139); +nor NOR2_40 (N193, N86, N143); +nor NOR2_41 (N194, N92, N143); +nor NOR2_42 (N195, N99, N147); +nor NOR2_43 (N196, N105, N147); +nor NOR2_44 (N197, N112, N151); +nor NOR2_45 (N198, N115, N151); +and AND9_46 (N199, N154, N159, N162, N165, N168, N171, N174, N177, N180); +not NOT1_47 (N203, N199); +not NOT1_48 (N213, N199); +not NOT1_49 (N223, N199); +xor XOR2_50 (N224, N203, N154); +xor XOR2_51 (N227, N203, N159); +xor XOR2_52 (N230, N203, N162); +xor XOR2_53 (N233, N203, N165); +xor XOR2_54 (N236, N203, N168); +xor XOR2_55 (N239, N203, N171); +nand NAND2_56 (N242, N1, N213); +xor XOR2_57 (N243, N203, N174); +nand NAND2_58 (N246, N213, N11); +xor XOR2_59 (N247, N203, N177); +nand NAND2_60 (N250, N213, N24); +xor XOR2_61 (N251, N203, N180); +nand NAND2_62 (N254, N213, N37); +nand NAND2_63 (N255, N213, N50); +nand NAND2_64 (N256, N213, N63); +nand NAND2_65 (N257, N213, N76); +nand NAND2_66 (N258, N213, N89); +nand NAND2_67 (N259, N213, N102); +nand NAND2_68 (N260, N224, N157); +nand NAND2_69 (N263, N224, N158); +nand NAND2_70 (N264, N227, N183); +nand NAND2_71 (N267, N230, N185); +nand NAND2_72 (N270, N233, N187); +nand NAND2_73 (N273, N236, N189); +nand NAND2_74 (N276, N239, N191); +nand NAND2_75 (N279, N243, N193); +nand NAND2_76 (N282, N247, N195); +nand NAND2_77 (N285, N251, N197); +nand NAND2_78 (N288, N227, N184); +nand NAND2_79 (N289, N230, N186); +nand NAND2_80 (N290, N233, N188); +nand NAND2_81 (N291, N236, N190); +nand NAND2_82 (N292, N239, N192); +nand NAND2_83 (N293, N243, N194); +nand NAND2_84 (N294, N247, N196); +nand NAND2_85 (N295, N251, N198); +and AND9_86 (N296, N260, N264, N267, N270, N273, N276, N279, N282, N285); +not NOT1_87 (N300, N263); +not NOT1_88 (N301, N288); +not NOT1_89 (N302, N289); +not NOT1_90 (N303, N290); +not NOT1_91 (N304, N291); +not NOT1_92 (N305, N292); +not NOT1_93 (N306, N293); +not NOT1_94 (N307, N294); +not NOT1_95 (N308, N295); +not NOT1_96 (N309, N296); +not NOT1_97 (N319, N296); +not NOT1_98 (N329, N296); +xor XOR2_99 (N330, N309, N260); +xor XOR2_100 (N331, N309, N264); +xor XOR2_101 (N332, N309, N267); +xor XOR2_102 (N333, N309, N270); +nand NAND2_103 (N334, N8, N319); +xor XOR2_104 (N335, N309, N273); +nand NAND2_105 (N336, N319, N21); +xor XOR2_106 (N337, N309, N276); +nand NAND2_107 (N338, N319, N34); +xor XOR2_108 (N339, N309, N279); +nand NAND2_109 (N340, N319, N47); +xor XOR2_110 (N341, N309, N282); +nand NAND2_111 (N342, N319, N60); +xor XOR2_112 (N343, N309, N285); +nand NAND2_113 (N344, N319, N73); +nand NAND2_114 (N345, N319, N86); +nand NAND2_115 (N346, N319, N99); +nand NAND2_116 (N347, N319, N112); +nand NAND2_117 (N348, N330, N300); +nand NAND2_118 (N349, N331, N301); +nand NAND2_119 (N350, N332, N302); +nand NAND2_120 (N351, N333, N303); +nand NAND2_121 (N352, N335, N304); +nand NAND2_122 (N353, N337, N305); +nand NAND2_123 (N354, N339, N306); +nand NAND2_124 (N355, N341, N307); +nand NAND2_125 (N356, N343, N308); +and AND9_126 (N357, N348, N349, N350, N351, N352, N353, N354, N355, N356); +not NOT1_127 (N360, N357); +not NOT1_128 (N370, N357); +nand NAND2_129 (N371, N14, N360); +nand NAND2_130 (N372, N360, N27); +nand NAND2_131 (N373, N360, N40); +nand NAND2_132 (N374, N360, N53); +nand NAND2_133 (N375, N360, N66); +nand NAND2_134 (N376, N360, N79); +nand NAND2_135 (N377, N360, N92); +nand NAND2_136 (N378, N360, N105); +nand NAND2_137 (N379, N360, N115); +nand NAND4_138 (N380, N4, N242, N334, N371); +nand NAND4_139 (N381, N246, N336, N372, N17); +nand NAND4_140 (N386, N250, N338, N373, N30); +nand NAND4_141 (N393, N254, N340, N374, N43); +nand NAND4_142 (N399, N255, N342, N375, N56); +nand NAND4_143 (N404, N256, N344, N376, N69); +nand NAND4_144 (N407, N257, N345, N377, N82); +nand NAND4_145 (N411, N258, N346, N378, N95); +nand NAND4_146 (N414, N259, N347, N379, N108); +not NOT1_147 (N415, N380); +and AND8_148 (N416, N381, N386, N393, N399, N404, N407, N411, N414); +not NOT1_149 (N417, N393); +not NOT1_150 (N418, N404); +not NOT1_151 (N419, N407); +not NOT1_152 (N420, N411); +nor NOR2_153 (N421, N415, N416); +nand NAND2_154 (N422, N386, N417); +nand NAND4_155 (N425, N386, N393, N418, N399); +nand NAND3_156 (N428, N399, N393, N419); +nand NAND4_157 (N429, N386, N393, N407, N420); +nand NAND4_158 (N430, N381, N386, N422, N399); +nand NAND4_159 (N431, N381, N386, N425, N428); +nand NAND4_160 (N432, N381, N422, N425, N429); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c432_path1.v b/SupplementaryMaterials/Iscas85Verilog/c432_path1.v new file mode 100644 index 0000000..3553b96 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c432_path1.v @@ -0,0 +1,30 @@ +module singlepath (N1, N370); +input N1; +output N370; +wire N357, N353, N296, N251, N337, N247, N118, N199, N243, N224, N154, N239, N203, N292, N223, N360, N213, N230, N227, N233, N276, N236, N242, Vcc, gnd; +not NOT1_1(N118, N1); +nand NAND2_19(N154, N118, Vcc); +and AND9_46(N199, N154, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +not NOT1_47(N203, N199); +not NOT1_48(N213, N199); +not NOT1_49(N223, N199); +xor XOR2_50(N224, N203, N154); +xor XOR2_51(N227, N203, Vcc); +xor XOR2_52(N230, N203, Vcc); +xor XOR2_53(N233, N203, Vcc); +xor XOR2_54(N236, N203, Vcc); +xor XOR2_55(N239, N203, Vcc); +nand NAND2_56(N242, N1, Vcc); +xor XOR2_57(N243, N203, Vcc); +xor XOR2_59(N247, N203, Vcc); +xor XOR2_61(N251, N203, Vcc); +nand NAND2_74(N276, N239, Vcc); +nand NAND2_82(N292, N239, Vcc); +and AND9_86(N296, N276, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +xor XOR2_106(N337, N276, Vcc); +nand NAND2_122(N353, N337, Vcc); +and AND9_126(N357, N353, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +not NOT1_127(N360, N357); +not NOT1_128(N370, N357); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c432_path2.v b/SupplementaryMaterials/Iscas85Verilog/c432_path2.v new file mode 100644 index 0000000..6017892 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c432_path2.v @@ -0,0 +1,17 @@ +module singlepath (N4, N329); +input N4; +output N329; +wire N380, N260, N157, N319, N309, N296, N158, N154, N330, N119, Vcc, gnd; +not NOT1_2(N119, N4); +nand NAND2_19(N154, N4, Vcc); +nor NOR2_20(N157, N119, gnd); +nor NOR2_21(N158, N119, gnd); +nand NAND2_68(N260, N157, Vcc); +and AND9_86(N296, N260, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +not NOT1_96(N309, N296); +not NOT1_97(N319, N296); +not NOT1_98(N329, N296); +xor XOR2_99(N330, N260, Vcc); +nand NAND4_138(N380, N4, Vcc, Vcc, Vcc); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c432_tb.v b/SupplementaryMaterials/Iscas85Verilog/c432_tb.v new file mode 100644 index 0000000..f676fb3 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c432_tb.v @@ -0,0 +1,52 @@ + +module c432_tb(); + +reg N1,N4,N8,N11,N14,N17,N21,N24,N27,N30, + N34,N37,N40,N43,N47,N50,N53,N56,N60,N63, + N66,N69,N73,N76,N79,N82,N86,N89,N92,N95, + N99,N102,N105,N108,N112,N115; + +wire N223,N329,N370,N421,N430,N431,N432; + +c432 c0(N1,N4,N8,N11,N14,N17,N21,N24,N27,N30, + N34,N37,N40,N43,N47,N50,N53,N56,N60,N63, + N66,N69,N73,N76,N79,N82,N86,N89,N92,N95, + N99,N102,N105,N108,N112,N115,N223,N329,N370,N421, + N430,N431,N432); + + +reg [35:0] test_vectors[0:9]; +reg [6:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c432_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N4,N8,N11,N14,N17,N21,N24,N27,N30, + N34,N37,N40,N43,N47,N50,N53,N56,N60,N63, + N66,N69,N73,N76,N79,N82,N86,N89,N92,N95, + N99,N102,N105,N108,N112,N115} = test_vectors[k]; + + #1 + out_vectors[k] = {N223,N329,N370,N421,N430,N431,N432}; + $display("output%d: %h\n", k, out_vectors[k]); + end + $writememb("c432_in_data.txt", test_vectors); + $writememb("c432_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c499.v b/SupplementaryMaterials/Iscas85Verilog/c499.v new file mode 100644 index 0000000..8bce565 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c499.v @@ -0,0 +1,254 @@ +// Verilog +// c499 +// Ninputs 41 +// Noutputs 32 +// NtotalGates 202 +// XOR2 104 +// AND2 40 +// NOT1 40 +// AND4 8 +// OR4 2 +// AND5 8 + +module c499 (N1,N5,N9,N13,N17,N21,N25,N29,N33,N37, + N41,N45,N49,N53,N57,N61,N65,N69,N73,N77, + N81,N85,N89,N93,N97,N101,N105,N109,N113,N117, + N121,N125,N129,N130,N131,N132,N133,N134,N135,N136, + N137,N724,N725,N726,N727,N728,N729,N730,N731,N732, + N733,N734,N735,N736,N737,N738,N739,N740,N741,N742, + N743,N744,N745,N746,N747,N748,N749,N750,N751,N752, + N753,N754,N755); + +input N1,N5,N9,N13,N17,N21,N25,N29,N33,N37, + N41,N45,N49,N53,N57,N61,N65,N69,N73,N77, + N81,N85,N89,N93,N97,N101,N105,N109,N113,N117, + N121,N125,N129,N130,N131,N132,N133,N134,N135,N136, + N137; + +output N724,N725,N726,N727,N728,N729,N730,N731,N732,N733, + N734,N735,N736,N737,N738,N739,N740,N741,N742,N743, + N744,N745,N746,N747,N748,N749,N750,N751,N752,N753, + N754,N755; + +wire N250,N251,N252,N253,N254,N255,N256,N257,N258,N259, + N260,N261,N262,N263,N264,N265,N266,N267,N268,N269, + N270,N271,N272,N273,N274,N275,N276,N277,N278,N279, + N280,N281,N282,N283,N284,N285,N286,N287,N288,N289, + N290,N293,N296,N299,N302,N305,N308,N311,N314,N315, + N316,N317,N318,N319,N320,N321,N338,N339,N340,N341, + N342,N343,N344,N345,N346,N347,N348,N349,N350,N351, + N352,N353,N354,N367,N380,N393,N406,N419,N432,N445, + N554,N555,N556,N557,N558,N559,N560,N561,N562,N563, + N564,N565,N566,N567,N568,N569,N570,N571,N572,N573, + N574,N575,N576,N577,N578,N579,N580,N581,N582,N583, + N584,N585,N586,N587,N588,N589,N590,N591,N592,N593, + N594,N595,N596,N597,N598,N599,N600,N601,N602,N607, + N620,N625,N630,N635,N640,N645,N650,N655,N692,N693, + N694,N695,N696,N697,N698,N699,N700,N701,N702,N703, + N704,N705,N706,N707,N708,N709,N710,N711,N712,N713, + N714,N715,N716,N717,N718,N719,N720,N721,N722,N723; + +xor XOR2_1 (N250, N1, N5); +xor XOR2_2 (N251, N9, N13); +xor XOR2_3 (N252, N17, N21); +xor XOR2_4 (N253, N25, N29); +xor XOR2_5 (N254, N33, N37); +xor XOR2_6 (N255, N41, N45); +xor XOR2_7 (N256, N49, N53); +xor XOR2_8 (N257, N57, N61); +xor XOR2_9 (N258, N65, N69); +xor XOR2_10 (N259, N73, N77); +xor XOR2_11 (N260, N81, N85); +xor XOR2_12 (N261, N89, N93); +xor XOR2_13 (N262, N97, N101); +xor XOR2_14 (N263, N105, N109); +xor XOR2_15 (N264, N113, N117); +xor XOR2_16 (N265, N121, N125); +and AND2_17 (N266, N129, N137); +and AND2_18 (N267, N130, N137); +and AND2_19 (N268, N131, N137); +and AND2_20 (N269, N132, N137); +and AND2_21 (N270, N133, N137); +and AND2_22 (N271, N134, N137); +and AND2_23 (N272, N135, N137); +and AND2_24 (N273, N136, N137); +xor XOR2_25 (N274, N1, N17); +xor XOR2_26 (N275, N33, N49); +xor XOR2_27 (N276, N5, N21); +xor XOR2_28 (N277, N37, N53); +xor XOR2_29 (N278, N9, N25); +xor XOR2_30 (N279, N41, N57); +xor XOR2_31 (N280, N13, N29); +xor XOR2_32 (N281, N45, N61); +xor XOR2_33 (N282, N65, N81); +xor XOR2_34 (N283, N97, N113); +xor XOR2_35 (N284, N69, N85); +xor XOR2_36 (N285, N101, N117); +xor XOR2_37 (N286, N73, N89); +xor XOR2_38 (N287, N105, N121); +xor XOR2_39 (N288, N77, N93); +xor XOR2_40 (N289, N109, N125); +xor XOR2_41 (N290, N250, N251); +xor XOR2_42 (N293, N252, N253); +xor XOR2_43 (N296, N254, N255); +xor XOR2_44 (N299, N256, N257); +xor XOR2_45 (N302, N258, N259); +xor XOR2_46 (N305, N260, N261); +xor XOR2_47 (N308, N262, N263); +xor XOR2_48 (N311, N264, N265); +xor XOR2_49 (N314, N274, N275); +xor XOR2_50 (N315, N276, N277); +xor XOR2_51 (N316, N278, N279); +xor XOR2_52 (N317, N280, N281); +xor XOR2_53 (N318, N282, N283); +xor XOR2_54 (N319, N284, N285); +xor XOR2_55 (N320, N286, N287); +xor XOR2_56 (N321, N288, N289); +xor XOR2_57 (N338, N290, N293); +xor XOR2_58 (N339, N296, N299); +xor XOR2_59 (N340, N290, N296); +xor XOR2_60 (N341, N293, N299); +xor XOR2_61 (N342, N302, N305); +xor XOR2_62 (N343, N308, N311); +xor XOR2_63 (N344, N302, N308); +xor XOR2_64 (N345, N305, N311); +xor XOR2_65 (N346, N266, N342); +xor XOR2_66 (N347, N267, N343); +xor XOR2_67 (N348, N268, N344); +xor XOR2_68 (N349, N269, N345); +xor XOR2_69 (N350, N270, N338); +xor XOR2_70 (N351, N271, N339); +xor XOR2_71 (N352, N272, N340); +xor XOR2_72 (N353, N273, N341); +xor XOR2_73 (N354, N314, N346); +xor XOR2_74 (N367, N315, N347); +xor XOR2_75 (N380, N316, N348); +xor XOR2_76 (N393, N317, N349); +xor XOR2_77 (N406, N318, N350); +xor XOR2_78 (N419, N319, N351); +xor XOR2_79 (N432, N320, N352); +xor XOR2_80 (N445, N321, N353); +not NOT1_81 (N554, N354); +not NOT1_82 (N555, N367); +not NOT1_83 (N556, N380); +not NOT1_84 (N557, N354); +not NOT1_85 (N558, N367); +not NOT1_86 (N559, N393); +not NOT1_87 (N560, N354); +not NOT1_88 (N561, N380); +not NOT1_89 (N562, N393); +not NOT1_90 (N563, N367); +not NOT1_91 (N564, N380); +not NOT1_92 (N565, N393); +not NOT1_93 (N566, N419); +not NOT1_94 (N567, N445); +not NOT1_95 (N568, N419); +not NOT1_96 (N569, N432); +not NOT1_97 (N570, N406); +not NOT1_98 (N571, N445); +not NOT1_99 (N572, N406); +not NOT1_100 (N573, N432); +not NOT1_101 (N574, N406); +not NOT1_102 (N575, N419); +not NOT1_103 (N576, N432); +not NOT1_104 (N577, N406); +not NOT1_105 (N578, N419); +not NOT1_106 (N579, N445); +not NOT1_107 (N580, N406); +not NOT1_108 (N581, N432); +not NOT1_109 (N582, N445); +not NOT1_110 (N583, N419); +not NOT1_111 (N584, N432); +not NOT1_112 (N585, N445); +not NOT1_113 (N586, N367); +not NOT1_114 (N587, N393); +not NOT1_115 (N588, N367); +not NOT1_116 (N589, N380); +not NOT1_117 (N590, N354); +not NOT1_118 (N591, N393); +not NOT1_119 (N592, N354); +not NOT1_120 (N593, N380); +and AND4_121 (N594, N554, N555, N556, N393); +and AND4_122 (N595, N557, N558, N380, N559); +and AND4_123 (N596, N560, N367, N561, N562); +and AND4_124 (N597, N354, N563, N564, N565); +and AND4_125 (N598, N574, N575, N576, N445); +and AND4_126 (N599, N577, N578, N432, N579); +and AND4_127 (N600, N580, N419, N581, N582); +and AND4_128 (N601, N406, N583, N584, N585); +or OR4_129 (N602, N594, N595, N596, N597); +or OR4_130 (N607, N598, N599, N600, N601); +and AND5_131 (N620, N406, N566, N432, N567, N602); +and AND5_132 (N625, N406, N568, N569, N445, N602); +and AND5_133 (N630, N570, N419, N432, N571, N602); +and AND5_134 (N635, N572, N419, N573, N445, N602); +and AND5_135 (N640, N354, N586, N380, N587, N607); +and AND5_136 (N645, N354, N588, N589, N393, N607); +and AND5_137 (N650, N590, N367, N380, N591, N607); +and AND5_138 (N655, N592, N367, N593, N393, N607); +and AND2_139 (N692, N354, N620); +and AND2_140 (N693, N367, N620); +and AND2_141 (N694, N380, N620); +and AND2_142 (N695, N393, N620); +and AND2_143 (N696, N354, N625); +and AND2_144 (N697, N367, N625); +and AND2_145 (N698, N380, N625); +and AND2_146 (N699, N393, N625); +and AND2_147 (N700, N354, N630); +and AND2_148 (N701, N367, N630); +and AND2_149 (N702, N380, N630); +and AND2_150 (N703, N393, N630); +and AND2_151 (N704, N354, N635); +and AND2_152 (N705, N367, N635); +and AND2_153 (N706, N380, N635); +and AND2_154 (N707, N393, N635); +and AND2_155 (N708, N406, N640); +and AND2_156 (N709, N419, N640); +and AND2_157 (N710, N432, N640); +and AND2_158 (N711, N445, N640); +and AND2_159 (N712, N406, N645); +and AND2_160 (N713, N419, N645); +and AND2_161 (N714, N432, N645); +and AND2_162 (N715, N445, N645); +and AND2_163 (N716, N406, N650); +and AND2_164 (N717, N419, N650); +and AND2_165 (N718, N432, N650); +and AND2_166 (N719, N445, N650); +and AND2_167 (N720, N406, N655); +and AND2_168 (N721, N419, N655); +and AND2_169 (N722, N432, N655); +and AND2_170 (N723, N445, N655); +xor XOR2_171 (N724, N1, N692); +xor XOR2_172 (N725, N5, N693); +xor XOR2_173 (N726, N9, N694); +xor XOR2_174 (N727, N13, N695); +xor XOR2_175 (N728, N17, N696); +xor XOR2_176 (N729, N21, N697); +xor XOR2_177 (N730, N25, N698); +xor XOR2_178 (N731, N29, N699); +xor XOR2_179 (N732, N33, N700); +xor XOR2_180 (N733, N37, N701); +xor XOR2_181 (N734, N41, N702); +xor XOR2_182 (N735, N45, N703); +xor XOR2_183 (N736, N49, N704); +xor XOR2_184 (N737, N53, N705); +xor XOR2_185 (N738, N57, N706); +xor XOR2_186 (N739, N61, N707); +xor XOR2_187 (N740, N65, N708); +xor XOR2_188 (N741, N69, N709); +xor XOR2_189 (N742, N73, N710); +xor XOR2_190 (N743, N77, N711); +xor XOR2_191 (N744, N81, N712); +xor XOR2_192 (N745, N85, N713); +xor XOR2_193 (N746, N89, N714); +xor XOR2_194 (N747, N93, N715); +xor XOR2_195 (N748, N97, N716); +xor XOR2_196 (N749, N101, N717); +xor XOR2_197 (N750, N105, N718); +xor XOR2_198 (N751, N109, N719); +xor XOR2_199 (N752, N113, N720); +xor XOR2_200 (N753, N117, N721); +xor XOR2_201 (N754, N121, N722); +xor XOR2_202 (N755, N125, N723); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c499_path1.v b/SupplementaryMaterials/Iscas85Verilog/c499_path1.v new file mode 100644 index 0000000..7fda80b --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c499_path1.v @@ -0,0 +1,32 @@ +module singlepath (N1, N732); +input N1; +output N732; +wire N712, N703, N701, N700, N630, N702, N625, N716, N620, N724, N350, N274, N250, N580, N338, N572, N708, N290, N340, N406, N577, N574, N720, N570, N601, Vcc, gnd; +xor XOR2_1(N250, N1, Vcc); +xor XOR2_25(N274, N1, Vcc); +xor XOR2_41(N290, N250, Vcc); +xor XOR2_57(N338, N290, Vcc); +xor XOR2_59(N340, N290, Vcc); +xor XOR2_69(N350, N338, Vcc); +xor XOR2_77(N406, N350, Vcc); +not NOT1_97(N570, N406); +not NOT1_99(N572, N406); +not NOT1_101(N574, N406); +not NOT1_104(N577, N406); +not NOT1_107(N580, N406); +and AND4_128(N601, N406, Vcc, Vcc, Vcc); +and AND5_131(N620, N406, Vcc, Vcc, Vcc, Vcc); +and AND5_132(N625, N406, Vcc, Vcc, Vcc, Vcc); +and AND5_133(N630, N570, Vcc, Vcc, Vcc, Vcc); +and AND2_147(N700, N630, Vcc); +and AND2_148(N701, N630, Vcc); +and AND2_149(N702, N630, Vcc); +and AND2_150(N703, N630, Vcc); +and AND2_155(N708, N406, Vcc); +and AND2_159(N712, N406, Vcc); +and AND2_163(N716, N406, Vcc); +and AND2_167(N720, N406, Vcc); +xor XOR2_171(N724, N1, Vcc); +xor XOR2_179(N732, N700, Vcc); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c499_tb.v b/SupplementaryMaterials/Iscas85Verilog/c499_tb.v new file mode 100644 index 0000000..0ca37b3 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c499_tb.v @@ -0,0 +1,69 @@ + +module c499_tb(); + + +reg N1,N5,N9,N13,N17,N21,N25,N29,N33,N37, + N41,N45,N49,N53,N57,N61,N65,N69,N73,N77, + N81,N85,N89,N93,N97,N101,N105,N109,N113,N117, + N121,N125,N129,N130,N131,N132,N133,N134,N135,N136, + N137; + +wire N724,N725,N726,N727,N728,N729,N730,N731,N732,N733, + N734,N735,N736,N737,N738,N739,N740,N741,N742,N743, + N744,N745,N746,N747,N748,N749,N750,N751,N752,N753, + N754,N755; + + + +c499 c0(N1,N5,N9,N13,N17,N21,N25,N29,N33,N37, + N41,N45,N49,N53,N57,N61,N65,N69,N73,N77, + N81,N85,N89,N93,N97,N101,N105,N109,N113,N117, + N121,N125,N129,N130,N131,N132,N133,N134,N135,N136, + N137,N724,N725,N726,N727,N728,N729,N730,N731,N732, + N733,N734,N735,N736,N737,N738,N739,N740,N741,N742, + N743,N744,N745,N746,N747,N748,N749,N750,N751,N752, + N753,N754,N755); + + +reg [40:0] test_vectors[0:9]; +reg [31:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c499_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N5,N9,N13,N17,N21,N25,N29,N33,N37, + N41,N45,N49,N53,N57,N61,N65,N69,N73,N77, + N81,N85,N89,N93,N97,N101,N105,N109,N113,N117, + N121,N125,N129,N130,N131,N132,N133,N134,N135,N136, + N137} = test_vectors[k]; + + #1 + out_vectors[k] = {N724,N725,N726,N727,N728,N729,N730,N731,N732,N733, + N734,N735,N736,N737,N738,N739,N740,N741,N742,N743, + N744,N745,N746,N747,N748,N749,N750,N751,N752,N753, + N754,N755}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c499_in_data.txt", test_vectors); + $writememb("c499_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c5315.v b/SupplementaryMaterials/Iscas85Verilog/c5315.v new file mode 100644 index 0000000..911b15e --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c5315.v @@ -0,0 +1,2615 @@ +// Verilog +// c5315 +// Ninputs 178 +// Noutputs 123 +// NtotalGates 2307 +// BUFF1 313 +// AND2 319 +// NOT1 581 +// NAND2 454 +// AND4 27 +// OR2 95 +// AND3 359 +// OR3 50 +// OR4 61 +// NOR2 19 +// AND5 11 +// OR5 8 +// NOR3 6 +// NOR4 2 +// AND9 2 + +module c5315 (N1,N4,N11,N14,N17,N20,N23,N24,N25,N26, + N27,N31,N34,N37,N40,N43,N46,N49,N52,N53, + N54,N61,N64,N67,N70,N73,N76,N79,N80,N81, + N82,N83,N86,N87,N88,N91,N94,N97,N100,N103, + N106,N109,N112,N113,N114,N115,N116,N117,N118,N119, + N120,N121,N122,N123,N126,N127,N128,N129,N130,N131, + N132,N135,N136,N137,N140,N141,N145,N146,N149,N152, + N155,N158,N161,N164,N167,N170,N173,N176,N179,N182, + N185,N188,N191,N194,N197,N200,N203,N206,N209,N210, + N217,N218,N225,N226,N233,N234,N241,N242,N245,N248, + N251,N254,N257,N264,N265,N272,N273,N280,N281,N288, + N289,N292,N293,N299,N302,N307,N308,N315,N316,N323, + N324,N331,N332,N335,N338,N341,N348,N351,N358,N361, + N366,N369,N372,N373,N374,N386,N389,N400,N411,N422, + N435,N446,N457,N468,N479,N490,N503,N514,N523,N534, + N545,N549,N552,N556,N559,N562,N566,N571,N574,N577, + N580,N583,N588,N591,N592,N595,N596,N597,N598,N599, + N603,N607,N610,N613,N616,N619,N625,N631,N709,N816, + N1066,N1137,N1138,N1139,N1140,N1141,N1142,N1143,N1144,N1145, + N1147,N1152,N1153,N1154,N1155,N1972,N2054,N2060,N2061,N2139, + N2142,N2309,N2387,N2527,N2584,N2590,N2623,N3357,N3358,N3359, + N3360,N3604,N3613,N4272,N4275,N4278,N4279,N4737,N4738,N4739, + N4740,N5240,N5388,N6641,N6643,N6646,N6648,N6716,N6877,N6924, + N6925,N6926,N6927,N7015,N7363,N7365,N7432,N7449,N7465,N7466, + N7467,N7469,N7470,N7471,N7472,N7473,N7474,N7476,N7503,N7504, + N7506,N7511,N7515,N7516,N7517,N7518,N7519,N7520,N7521,N7522, + N7600,N7601,N7602,N7603,N7604,N7605,N7606,N7607,N7626,N7698, + N7699,N7700,N7701,N7702,N7703,N7704,N7705,N7706,N7707,N7735, + N7736,N7737,N7738,N7739,N7740,N7741,N7742,N7754,N7755,N7756, + N7757,N7758,N7759,N7760,N7761,N8075,N8076,N8123,N8124,N8127, + N8128); + +input N1,N4,N11,N14,N17,N20,N23,N24,N25,N26, + N27,N31,N34,N37,N40,N43,N46,N49,N52,N53, + N54,N61,N64,N67,N70,N73,N76,N79,N80,N81, + N82,N83,N86,N87,N88,N91,N94,N97,N100,N103, + N106,N109,N112,N113,N114,N115,N116,N117,N118,N119, + N120,N121,N122,N123,N126,N127,N128,N129,N130,N131, + N132,N135,N136,N137,N140,N141,N145,N146,N149,N152, + N155,N158,N161,N164,N167,N170,N173,N176,N179,N182, + N185,N188,N191,N194,N197,N200,N203,N206,N209,N210, + N217,N218,N225,N226,N233,N234,N241,N242,N245,N248, + N251,N254,N257,N264,N265,N272,N273,N280,N281,N288, + N289,N292,N293,N299,N302,N307,N308,N315,N316,N323, + N324,N331,N332,N335,N338,N341,N348,N351,N358,N361, + N366,N369,N372,N373,N374,N386,N389,N400,N411,N422, + N435,N446,N457,N468,N479,N490,N503,N514,N523,N534, + N545,N549,N552,N556,N559,N562,N566,N571,N574,N577, + N580,N583,N588,N591,N592,N595,N596,N597,N598,N599, + N603,N607,N610,N613,N616,N619,N625,N631; + +output N709,N816,N1066,N1137,N1138,N1139,N1140,N1141,N1142,N1143, + N1144,N1145,N1147,N1152,N1153,N1154,N1155,N1972,N2054,N2060, + N2061,N2139,N2142,N2309,N2387,N2527,N2584,N2590,N2623,N3357, + N3358,N3359,N3360,N3604,N3613,N4272,N4275,N4278,N4279,N4737, + N4738,N4739,N4740,N5240,N5388,N6641,N6643,N6646,N6648,N6716, + N6877,N6924,N6925,N6926,N6927,N7015,N7363,N7365,N7432,N7449, + N7465,N7466,N7467,N7469,N7470,N7471,N7472,N7473,N7474,N7476, + N7503,N7504,N7506,N7511,N7515,N7516,N7517,N7518,N7519,N7520, + N7521,N7522,N7600,N7601,N7602,N7603,N7604,N7605,N7606,N7607, + N7626,N7698,N7699,N7700,N7701,N7702,N7703,N7704,N7705,N7706, + N7707,N7735,N7736,N7737,N7738,N7739,N7740,N7741,N7742,N7754, + N7755,N7756,N7757,N7758,N7759,N7760,N7761,N8075,N8076,N8123, + N8124,N8127,N8128; + +wire N1042,N1043,N1067,N1080,N1092,N1104,N1146,N1148,N1149,N1150, + N1151,N1156,N1157,N1161,N1173,N1185,N1197,N1209,N1213,N1216, + N1219,N1223,N1235,N1247,N1259,N1271,N1280,N1292,N1303,N1315, + N1327,N1339,N1351,N1363,N1375,N1378,N1381,N1384,N1387,N1390, + N1393,N1396,N1415,N1418,N1421,N1424,N1427,N1430,N1433,N1436, + N1455,N1462,N1469,N1475,N1479,N1482,N1492,N1495,N1498,N1501, + N1504,N1507,N1510,N1513,N1516,N1519,N1522,N1525,N1542,N1545, + N1548,N1551,N1554,N1557,N1560,N1563,N1566,N1573,N1580,N1583, + N1588,N1594,N1597,N1600,N1603,N1606,N1609,N1612,N1615,N1618, + N1621,N1624,N1627,N1630,N1633,N1636,N1639,N1642,N1645,N1648, + N1651,N1654,N1657,N1660,N1663,N1675,N1685,N1697,N1709,N1721, + N1727,N1731,N1743,N1755,N1758,N1761,N1769,N1777,N1785,N1793, + N1800,N1807,N1814,N1821,N1824,N1827,N1830,N1833,N1836,N1839, + N1842,N1845,N1848,N1851,N1854,N1857,N1860,N1863,N1866,N1869, + N1872,N1875,N1878,N1881,N1884,N1887,N1890,N1893,N1896,N1899, + N1902,N1905,N1908,N1911,N1914,N1917,N1920,N1923,N1926,N1929, + N1932,N1935,N1938,N1941,N1944,N1947,N1950,N1953,N1956,N1959, + N1962,N1965,N1968,N2349,N2350,N2585,N2586,N2587,N2588,N2589, + N2591,N2592,N2593,N2594,N2595,N2596,N2597,N2598,N2599,N2600, + N2601,N2602,N2603,N2604,N2605,N2606,N2607,N2608,N2609,N2610, + N2611,N2612,N2613,N2614,N2615,N2616,N2617,N2618,N2619,N2620, + N2621,N2622,N2624,N2625,N2626,N2627,N2628,N2629,N2630,N2631, + N2632,N2633,N2634,N2635,N2636,N2637,N2638,N2639,N2640,N2641, + N2642,N2643,N2644,N2645,N2646,N2647,N2653,N2664,N2675,N2681, + N2692,N2703,N2704,N2709,N2710,N2711,N2712,N2713,N2714,N2715, + N2716,N2717,N2718,N2719,N2720,N2721,N2722,N2728,N2739,N2750, + N2756,N2767,N2778,N2779,N2790,N2801,N2812,N2823,N2824,N2825, + N2826,N2827,N2828,N2829,N2830,N2831,N2832,N2833,N2834,N2835, + N2836,N2837,N2838,N2839,N2840,N2841,N2842,N2843,N2844,N2845, + N2846,N2847,N2848,N2849,N2850,N2851,N2852,N2853,N2854,N2855, + N2861,N2867,N2868,N2869,N2870,N2871,N2872,N2873,N2874,N2875, + N2876,N2877,N2882,N2891,N2901,N2902,N2903,N2904,N2905,N2906, + N2907,N2908,N2909,N2910,N2911,N2912,N2913,N2914,N2915,N2916, + N2917,N2918,N2919,N2920,N2921,N2922,N2923,N2924,N2925,N2926, + N2927,N2928,N2929,N2930,N2931,N2932,N2933,N2934,N2935,N2936, + N2937,N2938,N2939,N2940,N2941,N2942,N2948,N2954,N2955,N2956, + N2957,N2958,N2959,N2960,N2961,N2962,N2963,N2964,N2969,N2970, + N2971,N2972,N2973,N2974,N2975,N2976,N2977,N2978,N2979,N2980, + N2981,N2982,N2983,N2984,N2985,N2986,N2987,N2988,N2989,N2990, + N2991,N2992,N2993,N2994,N2995,N2996,N2997,N2998,N2999,N3000, + N3003,N3006,N3007,N3010,N3013,N3014,N3015,N3016,N3017,N3018, + N3019,N3020,N3021,N3022,N3023,N3024,N3025,N3026,N3027,N3028, + N3029,N3030,N3031,N3032,N3033,N3034,N3035,N3038,N3041,N3052, + N3063,N3068,N3071,N3072,N3073,N3074,N3075,N3086,N3097,N3108, + N3119,N3130,N3141,N3142,N3143,N3144,N3145,N3146,N3147,N3158, + N3169,N3180,N3191,N3194,N3195,N3196,N3197,N3198,N3199,N3200, + N3203,N3401,N3402,N3403,N3404,N3405,N3406,N3407,N3408,N3409, + N3410,N3411,N3412,N3413,N3414,N3415,N3416,N3444,N3445,N3446, + N3447,N3448,N3449,N3450,N3451,N3452,N3453,N3454,N3455,N3456, + N3459,N3460,N3461,N3462,N3463,N3464,N3465,N3466,N3481,N3482, + N3483,N3484,N3485,N3486,N3487,N3488,N3489,N3490,N3491,N3492, + N3493,N3502,N3503,N3504,N3505,N3506,N3507,N3508,N3509,N3510, + N3511,N3512,N3513,N3514,N3515,N3558,N3559,N3560,N3561,N3562, + N3563,N3605,N3606,N3607,N3608,N3609,N3610,N3614,N3615,N3616, + N3617,N3618,N3619,N3620,N3621,N3622,N3623,N3624,N3625,N3626, + N3627,N3628,N3629,N3630,N3631,N3632,N3633,N3634,N3635,N3636, + N3637,N3638,N3639,N3640,N3641,N3642,N3643,N3644,N3645,N3646, + N3647,N3648,N3649,N3650,N3651,N3652,N3653,N3654,N3655,N3656, + N3657,N3658,N3659,N3660,N3661,N3662,N3663,N3664,N3665,N3666, + N3667,N3668,N3669,N3670,N3671,N3672,N3673,N3674,N3675,N3676, + N3677,N3678,N3679,N3680,N3681,N3682,N3683,N3684,N3685,N3686, + N3687,N3688,N3689,N3691,N3700,N3701,N3702,N3703,N3704,N3705, + N3708,N3709,N3710,N3711,N3712,N3713,N3715,N3716,N3717,N3718, + N3719,N3720,N3721,N3722,N3723,N3724,N3725,N3726,N3727,N3728, + N3729,N3730,N3731,N3732,N3738,N3739,N3740,N3741,N3742,N3743, + N3744,N3745,N3746,N3747,N3748,N3749,N3750,N3751,N3752,N3753, + N3754,N3755,N3756,N3757,N3758,N3759,N3760,N3761,N3762,N3763, + N3764,N3765,N3766,N3767,N3768,N3769,N3770,N3771,N3775,N3779, + N3780,N3781,N3782,N3783,N3784,N3785,N3786,N3787,N3788,N3789, + N3793,N3797,N3800,N3801,N3802,N3803,N3804,N3805,N3806,N3807, + N3808,N3809,N3810,N3813,N3816,N3819,N3822,N3823,N3824,N3827, + N3828,N3829,N3830,N3831,N3834,N3835,N3836,N3837,N3838,N3839, + N3840,N3841,N3842,N3849,N3855,N3861,N3867,N3873,N3881,N3887, + N3893,N3908,N3909,N3911,N3914,N3915,N3916,N3917,N3918,N3919, + N3920,N3921,N3927,N3933,N3942,N3948,N3956,N3962,N3968,N3975, + N3976,N3977,N3978,N3979,N3980,N3981,N3982,N3983,N3984,N3987, + N3988,N3989,N3990,N3991,N3998,N4008,N4011,N4021,N4024,N4027, + N4031,N4032,N4033,N4034,N4035,N4036,N4037,N4038,N4039,N4040, + N4041,N4042,N4067,N4080,N4088,N4091,N4094,N4097,N4100,N4103, + N4106,N4109,N4144,N4147,N4150,N4153,N4156,N4159,N4183,N4184, + N4185,N4186,N4188,N4191,N4196,N4197,N4198,N4199,N4200,N4203, + N4206,N4209,N4212,N4215,N4219,N4223,N4224,N4225,N4228,N4231, + N4234,N4237,N4240,N4243,N4246,N4249,N4252,N4255,N4258,N4263, + N4264,N4267,N4268,N4269,N4270,N4271,N4273,N4274,N4276,N4277, + N4280,N4284,N4290,N4297,N4298,N4301,N4305,N4310,N4316,N4320, + N4325,N4331,N4332,N4336,N4342,N4349,N4357,N4364,N4375,N4379, + N4385,N4392,N4396,N4400,N4405,N4412,N4418,N4425,N4436,N4440, + N4445,N4451,N4456,N4462,N4469,N4477,N4512,N4515,N4516,N4521, + N4523,N4524,N4532,N4547,N4548,N4551,N4554,N4557,N4560,N4563, + N4566,N4569,N4572,N4575,N4578,N4581,N4584,N4587,N4590,N4593, + N4596,N4599,N4602,N4605,N4608,N4611,N4614,N4617,N4621,N4624, + N4627,N4630,N4633,N4637,N4640,N4643,N4646,N4649,N4652,N4655, + N4658,N4662,N4665,N4668,N4671,N4674,N4677,N4680,N4683,N4686, + N4689,N4692,N4695,N4698,N4701,N4702,N4720,N4721,N4724,N4725, + N4726,N4727,N4728,N4729,N4730,N4731,N4732,N4733,N4734,N4735, + N4736,N4741,N4855,N4856,N4908,N4909,N4939,N4942,N4947,N4953, + N4954,N4955,N4956,N4957,N4958,N4959,N4960,N4961,N4965,N4966, + N4967,N4968,N4972,N4973,N4974,N4975,N4976,N4977,N4978,N4979, + N4980,N4981,N4982,N4983,N4984,N4985,N4986,N4987,N5049,N5052, + N5053,N5054,N5055,N5056,N5057,N5058,N5059,N5060,N5061,N5062, + N5063,N5065,N5066,N5067,N5068,N5069,N5070,N5071,N5072,N5073, + N5074,N5075,N5076,N5077,N5078,N5079,N5080,N5081,N5082,N5083, + N5084,N5085,N5086,N5087,N5088,N5089,N5090,N5091,N5092,N5093, + N5094,N5095,N5096,N5097,N5098,N5099,N5100,N5101,N5102,N5103, + N5104,N5105,N5106,N5107,N5108,N5109,N5110,N5111,N5112,N5113, + N5114,N5115,N5116,N5117,N5118,N5119,N5120,N5121,N5122,N5123, + N5124,N5125,N5126,N5127,N5128,N5129,N5130,N5131,N5132,N5133, + N5135,N5136,N5137,N5138,N5139,N5140,N5141,N5142,N5143,N5144, + N5145,N5146,N5147,N5148,N5150,N5153,N5154,N5155,N5156,N5157, + N5160,N5161,N5162,N5163,N5164,N5165,N5166,N5169,N5172,N5173, + N5176,N5177,N5180,N5183,N5186,N5189,N5192,N5195,N5198,N5199, + N5202,N5205,N5208,N5211,N5214,N5217,N5220,N5223,N5224,N5225, + N5226,N5227,N5228,N5229,N5230,N5232,N5233,N5234,N5235,N5236, + N5239,N5241,N5242,N5243,N5244,N5245,N5246,N5247,N5248,N5249, + N5250,N5252,N5253,N5254,N5255,N5256,N5257,N5258,N5259,N5260, + N5261,N5262,N5263,N5264,N5274,N5275,N5282,N5283,N5284,N5298, + N5299,N5300,N5303,N5304,N5305,N5306,N5307,N5308,N5309,N5310, + N5311,N5312,N5315,N5319,N5324,N5328,N5331,N5332,N5346,N5363, + N5364,N5365,N5366,N5367,N5368,N5369,N5370,N5371,N5374,N5377, + N5382,N5385,N5389,N5396,N5407,N5418,N5424,N5431,N5441,N5452, + N5462,N5469,N5470,N5477,N5488,N5498,N5506,N5520,N5536,N5549, + N5555,N5562,N5573,N5579,N5595,N5606,N5616,N5617,N5618,N5619, + N5620,N5621,N5622,N5624,N5634,N5655,N5671,N5684,N5690,N5691, + N5692,N5696,N5700,N5703,N5707,N5711,N5726,N5727,N5728,N5730, + N5731,N5732,N5733,N5734,N5735,N5736,N5739,N5742,N5745,N5755, + N5756,N5954,N5955,N5956,N6005,N6006,N6023,N6024,N6025,N6028, + N6031,N6034,N6037,N6040,N6044,N6045,N6048,N6051,N6054,N6065, + N6066,N6067,N6068,N6069,N6071,N6072,N6073,N6074,N6075,N6076, + N6077,N6078,N6079,N6080,N6083,N6084,N6085,N6086,N6087,N6088, + N6089,N6090,N6091,N6094,N6095,N6096,N6097,N6098,N6099,N6100, + N6101,N6102,N6103,N6104,N6105,N6106,N6107,N6108,N6111,N6112, + N6113,N6114,N6115,N6116,N6117,N6120,N6121,N6122,N6123,N6124, + N6125,N6126,N6127,N6128,N6129,N6130,N6131,N6132,N6133,N6134, + N6135,N6136,N6137,N6138,N6139,N6140,N6143,N6144,N6145,N6146, + N6147,N6148,N6149,N6152,N6153,N6154,N6155,N6156,N6157,N6158, + N6159,N6160,N6161,N6162,N6163,N6164,N6168,N6171,N6172,N6173, + N6174,N6175,N6178,N6179,N6180,N6181,N6182,N6183,N6184,N6185, + N6186,N6187,N6188,N6189,N6190,N6191,N6192,N6193,N6194,N6197, + N6200,N6203,N6206,N6209,N6212,N6215,N6218,N6221,N6234,N6235, + N6238,N6241,N6244,N6247,N6250,N6253,N6256,N6259,N6262,N6265, + N6268,N6271,N6274,N6277,N6280,N6283,N6286,N6289,N6292,N6295, + N6298,N6301,N6304,N6307,N6310,N6313,N6316,N6319,N6322,N6325, + N6328,N6331,N6335,N6338,N6341,N6344,N6347,N6350,N6353,N6356, + N6359,N6364,N6367,N6370,N6373,N6374,N6375,N6376,N6377,N6378, + N6382,N6386,N6388,N6392,N6397,N6411,N6415,N6419,N6427,N6434, + N6437,N6441,N6445,N6448,N6449,N6466,N6469,N6470,N6471,N6472, + N6473,N6474,N6475,N6476,N6477,N6478,N6482,N6486,N6490,N6494, + N6500,N6504,N6508,N6512,N6516,N6526,N6536,N6539,N6553,N6556, + N6566,N6569,N6572,N6575,N6580,N6584,N6587,N6592,N6599,N6606, + N6609,N6619,N6622,N6630,N6631,N6632,N6633,N6634,N6637,N6640, + N6650,N6651,N6653,N6655,N6657,N6659,N6660,N6661,N6662,N6663, + N6664,N6666,N6668,N6670,N6672,N6675,N6680,N6681,N6682,N6683, + N6689,N6690,N6691,N6692,N6693,N6695,N6698,N6699,N6700,N6703, + N6708,N6709,N6710,N6711,N6712,N6713,N6714,N6715,N6718,N6719, + N6720,N6721,N6722,N6724,N6739,N6740,N6741,N6744,N6745,N6746, + N6751,N6752,N6753,N6754,N6755,N6760,N6761,N6762,N6772,N6773, + N6776,N6777,N6782,N6783,N6784,N6785,N6790,N6791,N6792,N6795, + N6801,N6802,N6803,N6804,N6805,N6806,N6807,N6808,N6809,N6810, + N6811,N6812,N6813,N6814,N6815,N6816,N6817,N6823,N6824,N6825, + N6826,N6827,N6828,N6829,N6830,N6831,N6834,N6835,N6836,N6837, + N6838,N6839,N6840,N6841,N6842,N6843,N6844,N6850,N6851,N6852, + N6853,N6854,N6855,N6856,N6857,N6860,N6861,N6862,N6863,N6866, + N6872,N6873,N6874,N6875,N6876,N6879,N6880,N6881,N6884,N6885, + N6888,N6889,N6890,N6891,N6894,N6895,N6896,N6897,N6900,N6901, + N6904,N6905,N6908,N6909,N6912,N6913,N6914,N6915,N6916,N6919, + N6922,N6923,N6930,N6932,N6935,N6936,N6937,N6938,N6939,N6940, + N6946,N6947,N6948,N6949,N6953,N6954,N6955,N6956,N6957,N6958, + N6964,N6965,N6966,N6967,N6973,N6974,N6975,N6976,N6977,N6978, + N6979,N6987,N6990,N6999,N7002,N7003,N7006,N7011,N7012,N7013, + N7016,N7018,N7019,N7020,N7021,N7022,N7023,N7028,N7031,N7034, + N7037,N7040,N7041,N7044,N7045,N7046,N7047,N7048,N7049,N7054, + N7057,N7060,N7064,N7065,N7072,N7073,N7074,N7075,N7076,N7079, + N7080,N7083,N7084,N7085,N7086,N7087,N7088,N7089,N7090,N7093, + N7094,N7097,N7101,N7105,N7110,N7114,N7115,N7116,N7125,N7126, + N7127,N7130,N7131,N7139,N7140,N7141,N7146,N7147,N7149,N7150, + N7151,N7152,N7153,N7158,N7159,N7160,N7166,N7167,N7168,N7169, + N7170,N7171,N7172,N7173,N7174,N7175,N7176,N7177,N7178,N7179, + N7180,N7181,N7182,N7183,N7184,N7185,N7186,N7187,N7188,N7189, + N7190,N7196,N7197,N7198,N7204,N7205,N7206,N7207,N7208,N7209, + N7212,N7215,N7216,N7217,N7218,N7219,N7222,N7225,N7228,N7229, + N7236,N7239,N7242,N7245,N7250,N7257,N7260,N7263,N7268,N7269, + N7270,N7276,N7282,N7288,N7294,N7300,N7301,N7304,N7310,N7320, + N7321,N7328,N7338,N7339,N7340,N7341,N7342,N7349,N7357,N7364, + N7394,N7397,N7402,N7405,N7406,N7407,N7408,N7409,N7412,N7415, + N7416,N7417,N7418,N7419,N7420,N7421,N7424,N7425,N7426,N7427, + N7428,N7429,N7430,N7431,N7433,N7434,N7435,N7436,N7437,N7438, + N7439,N7440,N7441,N7442,N7443,N7444,N7445,N7446,N7447,N7448, + N7450,N7451,N7452,N7453,N7454,N7455,N7456,N7457,N7458,N7459, + N7460,N7461,N7462,N7463,N7464,N7468,N7479,N7481,N7482,N7483, + N7484,N7485,N7486,N7487,N7488,N7489,N7492,N7493,N7498,N7499, + N7500,N7505,N7507,N7508,N7509,N7510,N7512,N7513,N7514,N7525, + N7526,N7527,N7528,N7529,N7530,N7531,N7537,N7543,N7549,N7555, + N7561,N7567,N7573,N7579,N7582,N7585,N7586,N7587,N7588,N7589, + N7592,N7595,N7598,N7599,N7624,N7625,N7631,N7636,N7657,N7658, + N7665,N7666,N7667,N7668,N7669,N7670,N7671,N7672,N7673,N7674, + N7675,N7676,N7677,N7678,N7679,N7680,N7681,N7682,N7683,N7684, + N7685,N7686,N7687,N7688,N7689,N7690,N7691,N7692,N7693,N7694, + N7695,N7696,N7697,N7708,N7709,N7710,N7711,N7712,N7715,N7718, + N7719,N7720,N7721,N7722,N7723,N7724,N7727,N7728,N7729,N7730, + N7731,N7732,N7733,N7734,N7743,N7744,N7749,N7750,N7751,N7762, + N7765,N7768,N7769,N7770,N7771,N7772,N7775,N7778,N7781,N7782, + N7787,N7788,N7795,N7796,N7797,N7798,N7799,N7800,N7803,N7806, + N7807,N7808,N7809,N7810,N7811,N7812,N7815,N7816,N7821,N7822, + N7823,N7826,N7829,N7832,N7833,N7834,N7835,N7836,N7839,N7842, + N7845,N7846,N7851,N7852,N7859,N7860,N7861,N7862,N7863,N7864, + N7867,N7870,N7871,N7872,N7873,N7874,N7875,N7876,N7879,N7880, + N7885,N7886,N7887,N7890,N7893,N7896,N7897,N7898,N7899,N7900, + N7903,N7906,N7909,N7910,N7917,N7918,N7923,N7924,N7925,N7926, + N7927,N7928,N7929,N7930,N7931,N7932,N7935,N7938,N7939,N7940, + N7943,N7944,N7945,N7946,N7951,N7954,N7957,N7960,N7963,N7966, + N7967,N7968,N7969,N7970,N7973,N7974,N7984,N7985,N7987,N7988, + N7989,N7990,N7991,N7992,N7993,N7994,N7995,N7996,N7997,N7998, + N8001,N8004,N8009,N8013,N8017,N8020,N8021,N8022,N8023,N8025, + N8026,N8027,N8031,N8032,N8033,N8034,N8035,N8036,N8037,N8038, + N8039,N8040,N8041,N8042,N8043,N8044,N8045,N8048,N8055,N8056, + N8057,N8058,N8059,N8060,N8061,N8064,N8071,N8072,N8073,N8074, + N8077,N8078,N8079,N8082,N8089,N8090,N8091,N8092,N8093,N8096, + N8099,N8102,N8113,N8114,N8115,N8116,N8117,N8118,N8119,N8120, + N8121,N8122,N8125,N8126; + +buf BUFF1_1 (N709, N141); +buf BUFF1_2 (N816, N293); +and AND2_3 (N1042, N135, N631); +not NOT1_4 (N1043, N591); +buf BUFF1_5 (N1066, N592); +not NOT1_6 (N1067, N595); +not NOT1_7 (N1080, N596); +not NOT1_8 (N1092, N597); +not NOT1_9 (N1104, N598); +not NOT1_10 (N1137, N545); +not NOT1_11 (N1138, N348); +not NOT1_12 (N1139, N366); +and AND2_13 (N1140, N552, N562); +not NOT1_14 (N1141, N549); +not NOT1_15 (N1142, N545); +not NOT1_16 (N1143, N545); +not NOT1_17 (N1144, N338); +not NOT1_18 (N1145, N358); +nand NAND2_19 (N1146, N373, N1); +and AND2_20 (N1147, N141, N145); +not NOT1_21 (N1148, N592); +not NOT1_22 (N1149, N1042); +and AND2_23 (N1150, N1043, N27); +and AND2_24 (N1151, N386, N556); +not NOT1_25 (N1152, N245); +not NOT1_26 (N1153, N552); +not NOT1_27 (N1154, N562); +not NOT1_28 (N1155, N559); +and AND4_29 (N1156, N386, N559, N556, N552); +not NOT1_30 (N1157, N566); +buf BUFF1_31 (N1161, N571); +buf BUFF1_32 (N1173, N574); +buf BUFF1_33 (N1185, N571); +buf BUFF1_34 (N1197, N574); +buf BUFF1_35 (N1209, N137); +buf BUFF1_36 (N1213, N137); +buf BUFF1_37 (N1216, N141); +not NOT1_38 (N1219, N583); +buf BUFF1_39 (N1223, N577); +buf BUFF1_40 (N1235, N580); +buf BUFF1_41 (N1247, N577); +buf BUFF1_42 (N1259, N580); +buf BUFF1_43 (N1271, N254); +buf BUFF1_44 (N1280, N251); +buf BUFF1_45 (N1292, N251); +buf BUFF1_46 (N1303, N248); +buf BUFF1_47 (N1315, N248); +buf BUFF1_48 (N1327, N610); +buf BUFF1_49 (N1339, N607); +buf BUFF1_50 (N1351, N613); +buf BUFF1_51 (N1363, N616); +buf BUFF1_52 (N1375, N210); +buf BUFF1_53 (N1378, N210); +buf BUFF1_54 (N1381, N218); +buf BUFF1_55 (N1384, N218); +buf BUFF1_56 (N1387, N226); +buf BUFF1_57 (N1390, N226); +buf BUFF1_58 (N1393, N234); +buf BUFF1_59 (N1396, N234); +buf BUFF1_60 (N1415, N257); +buf BUFF1_61 (N1418, N257); +buf BUFF1_62 (N1421, N265); +buf BUFF1_63 (N1424, N265); +buf BUFF1_64 (N1427, N273); +buf BUFF1_65 (N1430, N273); +buf BUFF1_66 (N1433, N281); +buf BUFF1_67 (N1436, N281); +buf BUFF1_68 (N1455, N335); +buf BUFF1_69 (N1462, N335); +buf BUFF1_70 (N1469, N206); +and AND2_71 (N1475, N27, N31); +buf BUFF1_72 (N1479, N1); +buf BUFF1_73 (N1482, N588); +buf BUFF1_74 (N1492, N293); +buf BUFF1_75 (N1495, N302); +buf BUFF1_76 (N1498, N308); +buf BUFF1_77 (N1501, N308); +buf BUFF1_78 (N1504, N316); +buf BUFF1_79 (N1507, N316); +buf BUFF1_80 (N1510, N324); +buf BUFF1_81 (N1513, N324); +buf BUFF1_82 (N1516, N341); +buf BUFF1_83 (N1519, N341); +buf BUFF1_84 (N1522, N351); +buf BUFF1_85 (N1525, N351); +buf BUFF1_86 (N1542, N257); +buf BUFF1_87 (N1545, N257); +buf BUFF1_88 (N1548, N265); +buf BUFF1_89 (N1551, N265); +buf BUFF1_90 (N1554, N273); +buf BUFF1_91 (N1557, N273); +buf BUFF1_92 (N1560, N281); +buf BUFF1_93 (N1563, N281); +buf BUFF1_94 (N1566, N332); +buf BUFF1_95 (N1573, N332); +buf BUFF1_96 (N1580, N549); +and AND2_97 (N1583, N31, N27); +not NOT1_98 (N1588, N588); +buf BUFF1_99 (N1594, N324); +buf BUFF1_100 (N1597, N324); +buf BUFF1_101 (N1600, N341); +buf BUFF1_102 (N1603, N341); +buf BUFF1_103 (N1606, N351); +buf BUFF1_104 (N1609, N351); +buf BUFF1_105 (N1612, N293); +buf BUFF1_106 (N1615, N302); +buf BUFF1_107 (N1618, N308); +buf BUFF1_108 (N1621, N308); +buf BUFF1_109 (N1624, N316); +buf BUFF1_110 (N1627, N316); +buf BUFF1_111 (N1630, N361); +buf BUFF1_112 (N1633, N361); +buf BUFF1_113 (N1636, N210); +buf BUFF1_114 (N1639, N210); +buf BUFF1_115 (N1642, N218); +buf BUFF1_116 (N1645, N218); +buf BUFF1_117 (N1648, N226); +buf BUFF1_118 (N1651, N226); +buf BUFF1_119 (N1654, N234); +buf BUFF1_120 (N1657, N234); +not NOT1_121 (N1660, N324); +buf BUFF1_122 (N1663, N242); +buf BUFF1_123 (N1675, N242); +buf BUFF1_124 (N1685, N254); +buf BUFF1_125 (N1697, N610); +buf BUFF1_126 (N1709, N607); +buf BUFF1_127 (N1721, N625); +buf BUFF1_128 (N1727, N619); +buf BUFF1_129 (N1731, N613); +buf BUFF1_130 (N1743, N616); +not NOT1_131 (N1755, N599); +not NOT1_132 (N1758, N603); +buf BUFF1_133 (N1761, N619); +buf BUFF1_134 (N1769, N625); +buf BUFF1_135 (N1777, N619); +buf BUFF1_136 (N1785, N625); +buf BUFF1_137 (N1793, N619); +buf BUFF1_138 (N1800, N625); +buf BUFF1_139 (N1807, N619); +buf BUFF1_140 (N1814, N625); +buf BUFF1_141 (N1821, N299); +buf BUFF1_142 (N1824, N446); +buf BUFF1_143 (N1827, N457); +buf BUFF1_144 (N1830, N468); +buf BUFF1_145 (N1833, N422); +buf BUFF1_146 (N1836, N435); +buf BUFF1_147 (N1839, N389); +buf BUFF1_148 (N1842, N400); +buf BUFF1_149 (N1845, N411); +buf BUFF1_150 (N1848, N374); +buf BUFF1_151 (N1851, N4); +buf BUFF1_152 (N1854, N446); +buf BUFF1_153 (N1857, N457); +buf BUFF1_154 (N1860, N468); +buf BUFF1_155 (N1863, N435); +buf BUFF1_156 (N1866, N389); +buf BUFF1_157 (N1869, N400); +buf BUFF1_158 (N1872, N411); +buf BUFF1_159 (N1875, N422); +buf BUFF1_160 (N1878, N374); +buf BUFF1_161 (N1881, N479); +buf BUFF1_162 (N1884, N490); +buf BUFF1_163 (N1887, N503); +buf BUFF1_164 (N1890, N514); +buf BUFF1_165 (N1893, N523); +buf BUFF1_166 (N1896, N534); +buf BUFF1_167 (N1899, N54); +buf BUFF1_168 (N1902, N479); +buf BUFF1_169 (N1905, N503); +buf BUFF1_170 (N1908, N514); +buf BUFF1_171 (N1911, N523); +buf BUFF1_172 (N1914, N534); +buf BUFF1_173 (N1917, N490); +buf BUFF1_174 (N1920, N361); +buf BUFF1_175 (N1923, N369); +buf BUFF1_176 (N1926, N341); +buf BUFF1_177 (N1929, N351); +buf BUFF1_178 (N1932, N308); +buf BUFF1_179 (N1935, N316); +buf BUFF1_180 (N1938, N293); +buf BUFF1_181 (N1941, N302); +buf BUFF1_182 (N1944, N281); +buf BUFF1_183 (N1947, N289); +buf BUFF1_184 (N1950, N265); +buf BUFF1_185 (N1953, N273); +buf BUFF1_186 (N1956, N234); +buf BUFF1_187 (N1959, N257); +buf BUFF1_188 (N1962, N218); +buf BUFF1_189 (N1965, N226); +buf BUFF1_190 (N1968, N210); +not NOT1_191 (N1972, N1146); +and AND2_192 (N2054, N136, N1148); +not NOT1_193 (N2060, N1150); +not NOT1_194 (N2061, N1151); +buf BUFF1_195 (N2139, N1209); +buf BUFF1_196 (N2142, N1216); +buf BUFF1_197 (N2309, N1479); +and AND2_198 (N2349, N1104, N514); +or OR2_199 (N2350, N1067, N514); +buf BUFF1_200 (N2387, N1580); +buf BUFF1_201 (N2527, N1821); +not NOT1_202 (N2584, N1580); +and AND3_203 (N2585, N170, N1161, N1173); +and AND3_204 (N2586, N173, N1161, N1173); +and AND3_205 (N2587, N167, N1161, N1173); +and AND3_206 (N2588, N164, N1161, N1173); +and AND3_207 (N2589, N161, N1161, N1173); +nand NAND2_208 (N2590, N1475, N140); +and AND3_209 (N2591, N185, N1185, N1197); +and AND3_210 (N2592, N158, N1185, N1197); +and AND3_211 (N2593, N152, N1185, N1197); +and AND3_212 (N2594, N146, N1185, N1197); +and AND3_213 (N2595, N170, N1223, N1235); +and AND3_214 (N2596, N173, N1223, N1235); +and AND3_215 (N2597, N167, N1223, N1235); +and AND3_216 (N2598, N164, N1223, N1235); +and AND3_217 (N2599, N161, N1223, N1235); +and AND3_218 (N2600, N185, N1247, N1259); +and AND3_219 (N2601, N158, N1247, N1259); +and AND3_220 (N2602, N152, N1247, N1259); +and AND3_221 (N2603, N146, N1247, N1259); +and AND3_222 (N2604, N106, N1731, N1743); +and AND3_223 (N2605, N61, N1327, N1339); +and AND3_224 (N2606, N106, N1697, N1709); +and AND3_225 (N2607, N49, N1697, N1709); +and AND3_226 (N2608, N103, N1697, N1709); +and AND3_227 (N2609, N40, N1697, N1709); +and AND3_228 (N2610, N37, N1697, N1709); +and AND3_229 (N2611, N20, N1327, N1339); +and AND3_230 (N2612, N17, N1327, N1339); +and AND3_231 (N2613, N70, N1327, N1339); +and AND3_232 (N2614, N64, N1327, N1339); +and AND3_233 (N2615, N49, N1731, N1743); +and AND3_234 (N2616, N103, N1731, N1743); +and AND3_235 (N2617, N40, N1731, N1743); +and AND3_236 (N2618, N37, N1731, N1743); +and AND3_237 (N2619, N20, N1351, N1363); +and AND3_238 (N2620, N17, N1351, N1363); +and AND3_239 (N2621, N70, N1351, N1363); +and AND3_240 (N2622, N64, N1351, N1363); +not NOT1_241 (N2623, N1475); +and AND3_242 (N2624, N123, N1758, N599); +and AND2_243 (N2625, N1777, N1785); +and AND3_244 (N2626, N61, N1351, N1363); +and AND2_245 (N2627, N1761, N1769); +not NOT1_246 (N2628, N1824); +not NOT1_247 (N2629, N1827); +not NOT1_248 (N2630, N1830); +not NOT1_249 (N2631, N1833); +not NOT1_250 (N2632, N1836); +not NOT1_251 (N2633, N1839); +not NOT1_252 (N2634, N1842); +not NOT1_253 (N2635, N1845); +not NOT1_254 (N2636, N1848); +not NOT1_255 (N2637, N1851); +not NOT1_256 (N2638, N1854); +not NOT1_257 (N2639, N1857); +not NOT1_258 (N2640, N1860); +not NOT1_259 (N2641, N1863); +not NOT1_260 (N2642, N1866); +not NOT1_261 (N2643, N1869); +not NOT1_262 (N2644, N1872); +not NOT1_263 (N2645, N1875); +not NOT1_264 (N2646, N1878); +buf BUFF1_265 (N2647, N1209); +not NOT1_266 (N2653, N1161); +not NOT1_267 (N2664, N1173); +buf BUFF1_268 (N2675, N1209); +not NOT1_269 (N2681, N1185); +not NOT1_270 (N2692, N1197); +and AND3_271 (N2703, N179, N1185, N1197); +buf BUFF1_272 (N2704, N1479); +not NOT1_273 (N2709, N1881); +not NOT1_274 (N2710, N1884); +not NOT1_275 (N2711, N1887); +not NOT1_276 (N2712, N1890); +not NOT1_277 (N2713, N1893); +not NOT1_278 (N2714, N1896); +not NOT1_279 (N2715, N1899); +not NOT1_280 (N2716, N1902); +not NOT1_281 (N2717, N1905); +not NOT1_282 (N2718, N1908); +not NOT1_283 (N2719, N1911); +not NOT1_284 (N2720, N1914); +not NOT1_285 (N2721, N1917); +buf BUFF1_286 (N2722, N1213); +not NOT1_287 (N2728, N1223); +not NOT1_288 (N2739, N1235); +buf BUFF1_289 (N2750, N1213); +not NOT1_290 (N2756, N1247); +not NOT1_291 (N2767, N1259); +and AND3_292 (N2778, N179, N1247, N1259); +not NOT1_293 (N2779, N1327); +not NOT1_294 (N2790, N1339); +not NOT1_295 (N2801, N1351); +not NOT1_296 (N2812, N1363); +not NOT1_297 (N2823, N1375); +not NOT1_298 (N2824, N1378); +not NOT1_299 (N2825, N1381); +not NOT1_300 (N2826, N1384); +not NOT1_301 (N2827, N1387); +not NOT1_302 (N2828, N1390); +not NOT1_303 (N2829, N1393); +not NOT1_304 (N2830, N1396); +and AND3_305 (N2831, N1104, N457, N1378); +and AND3_306 (N2832, N1104, N468, N1384); +and AND3_307 (N2833, N1104, N422, N1390); +and AND3_308 (N2834, N1104, N435, N1396); +and AND2_309 (N2835, N1067, N1375); +and AND2_310 (N2836, N1067, N1381); +and AND2_311 (N2837, N1067, N1387); +and AND2_312 (N2838, N1067, N1393); +not NOT1_313 (N2839, N1415); +not NOT1_314 (N2840, N1418); +not NOT1_315 (N2841, N1421); +not NOT1_316 (N2842, N1424); +not NOT1_317 (N2843, N1427); +not NOT1_318 (N2844, N1430); +not NOT1_319 (N2845, N1433); +not NOT1_320 (N2846, N1436); +and AND3_321 (N2847, N1104, N389, N1418); +and AND3_322 (N2848, N1104, N400, N1424); +and AND3_323 (N2849, N1104, N411, N1430); +and AND3_324 (N2850, N1104, N374, N1436); +and AND2_325 (N2851, N1067, N1415); +and AND2_326 (N2852, N1067, N1421); +and AND2_327 (N2853, N1067, N1427); +and AND2_328 (N2854, N1067, N1433); +not NOT1_329 (N2855, N1455); +not NOT1_330 (N2861, N1462); +and AND2_331 (N2867, N292, N1455); +and AND2_332 (N2868, N288, N1455); +and AND2_333 (N2869, N280, N1455); +and AND2_334 (N2870, N272, N1455); +and AND2_335 (N2871, N264, N1455); +and AND2_336 (N2872, N241, N1462); +and AND2_337 (N2873, N233, N1462); +and AND2_338 (N2874, N225, N1462); +and AND2_339 (N2875, N217, N1462); +and AND2_340 (N2876, N209, N1462); +buf BUFF1_341 (N2877, N1216); +not NOT1_342 (N2882, N1482); +not NOT1_343 (N2891, N1475); +not NOT1_344 (N2901, N1492); +not NOT1_345 (N2902, N1495); +not NOT1_346 (N2903, N1498); +not NOT1_347 (N2904, N1501); +not NOT1_348 (N2905, N1504); +not NOT1_349 (N2906, N1507); +and AND2_350 (N2907, N1303, N1495); +and AND3_351 (N2908, N1303, N479, N1501); +and AND3_352 (N2909, N1303, N490, N1507); +and AND2_353 (N2910, N1663, N1492); +and AND2_354 (N2911, N1663, N1498); +and AND2_355 (N2912, N1663, N1504); +not NOT1_356 (N2913, N1510); +not NOT1_357 (N2914, N1513); +not NOT1_358 (N2915, N1516); +not NOT1_359 (N2916, N1519); +not NOT1_360 (N2917, N1522); +not NOT1_361 (N2918, N1525); +and AND3_362 (N2919, N1104, N503, N1513); +not NOT1_363 (N2920, N2349); +and AND3_364 (N2921, N1104, N523, N1519); +and AND3_365 (N2922, N1104, N534, N1525); +and AND2_366 (N2923, N1067, N1510); +and AND2_367 (N2924, N1067, N1516); +and AND2_368 (N2925, N1067, N1522); +not NOT1_369 (N2926, N1542); +not NOT1_370 (N2927, N1545); +not NOT1_371 (N2928, N1548); +not NOT1_372 (N2929, N1551); +not NOT1_373 (N2930, N1554); +not NOT1_374 (N2931, N1557); +not NOT1_375 (N2932, N1560); +not NOT1_376 (N2933, N1563); +and AND3_377 (N2934, N1303, N389, N1545); +and AND3_378 (N2935, N1303, N400, N1551); +and AND3_379 (N2936, N1303, N411, N1557); +and AND3_380 (N2937, N1303, N374, N1563); +and AND2_381 (N2938, N1663, N1542); +and AND2_382 (N2939, N1663, N1548); +and AND2_383 (N2940, N1663, N1554); +and AND2_384 (N2941, N1663, N1560); +not NOT1_385 (N2942, N1566); +not NOT1_386 (N2948, N1573); +and AND2_387 (N2954, N372, N1566); +and AND2_388 (N2955, N366, N1566); +and AND2_389 (N2956, N358, N1566); +and AND2_390 (N2957, N348, N1566); +and AND2_391 (N2958, N338, N1566); +and AND2_392 (N2959, N331, N1573); +and AND2_393 (N2960, N323, N1573); +and AND2_394 (N2961, N315, N1573); +and AND2_395 (N2962, N307, N1573); +and AND2_396 (N2963, N299, N1573); +not NOT1_397 (N2964, N1588); +and AND2_398 (N2969, N83, N1588); +and AND2_399 (N2970, N86, N1588); +and AND2_400 (N2971, N88, N1588); +and AND2_401 (N2972, N88, N1588); +not NOT1_402 (N2973, N1594); +not NOT1_403 (N2974, N1597); +not NOT1_404 (N2975, N1600); +not NOT1_405 (N2976, N1603); +not NOT1_406 (N2977, N1606); +not NOT1_407 (N2978, N1609); +and AND3_408 (N2979, N1315, N503, N1597); +and AND2_409 (N2980, N1315, N514); +and AND3_410 (N2981, N1315, N523, N1603); +and AND3_411 (N2982, N1315, N534, N1609); +and AND2_412 (N2983, N1675, N1594); +or OR2_413 (N2984, N1675, N514); +and AND2_414 (N2985, N1675, N1600); +and AND2_415 (N2986, N1675, N1606); +not NOT1_416 (N2987, N1612); +not NOT1_417 (N2988, N1615); +not NOT1_418 (N2989, N1618); +not NOT1_419 (N2990, N1621); +not NOT1_420 (N2991, N1624); +not NOT1_421 (N2992, N1627); +and AND2_422 (N2993, N1315, N1615); +and AND3_423 (N2994, N1315, N479, N1621); +and AND3_424 (N2995, N1315, N490, N1627); +and AND2_425 (N2996, N1675, N1612); +and AND2_426 (N2997, N1675, N1618); +and AND2_427 (N2998, N1675, N1624); +not NOT1_428 (N2999, N1630); +buf BUFF1_429 (N3000, N1469); +buf BUFF1_430 (N3003, N1469); +not NOT1_431 (N3006, N1633); +buf BUFF1_432 (N3007, N1469); +buf BUFF1_433 (N3010, N1469); +and AND2_434 (N3013, N1315, N1630); +and AND2_435 (N3014, N1315, N1633); +not NOT1_436 (N3015, N1636); +not NOT1_437 (N3016, N1639); +not NOT1_438 (N3017, N1642); +not NOT1_439 (N3018, N1645); +not NOT1_440 (N3019, N1648); +not NOT1_441 (N3020, N1651); +not NOT1_442 (N3021, N1654); +not NOT1_443 (N3022, N1657); +and AND3_444 (N3023, N1303, N457, N1639); +and AND3_445 (N3024, N1303, N468, N1645); +and AND3_446 (N3025, N1303, N422, N1651); +and AND3_447 (N3026, N1303, N435, N1657); +and AND2_448 (N3027, N1663, N1636); +and AND2_449 (N3028, N1663, N1642); +and AND2_450 (N3029, N1663, N1648); +and AND2_451 (N3030, N1663, N1654); +not NOT1_452 (N3031, N1920); +not NOT1_453 (N3032, N1923); +not NOT1_454 (N3033, N1926); +not NOT1_455 (N3034, N1929); +buf BUFF1_456 (N3035, N1660); +buf BUFF1_457 (N3038, N1660); +not NOT1_458 (N3041, N1697); +not NOT1_459 (N3052, N1709); +not NOT1_460 (N3063, N1721); +not NOT1_461 (N3068, N1727); +and AND2_462 (N3071, N97, N1721); +and AND2_463 (N3072, N94, N1721); +and AND2_464 (N3073, N97, N1721); +and AND2_465 (N3074, N94, N1721); +not NOT1_466 (N3075, N1731); +not NOT1_467 (N3086, N1743); +not NOT1_468 (N3097, N1761); +not NOT1_469 (N3108, N1769); +not NOT1_470 (N3119, N1777); +not NOT1_471 (N3130, N1785); +not NOT1_472 (N3141, N1944); +not NOT1_473 (N3142, N1947); +not NOT1_474 (N3143, N1950); +not NOT1_475 (N3144, N1953); +not NOT1_476 (N3145, N1956); +not NOT1_477 (N3146, N1959); +not NOT1_478 (N3147, N1793); +not NOT1_479 (N3158, N1800); +not NOT1_480 (N3169, N1807); +not NOT1_481 (N3180, N1814); +buf BUFF1_482 (N3191, N1821); +not NOT1_483 (N3194, N1932); +not NOT1_484 (N3195, N1935); +not NOT1_485 (N3196, N1938); +not NOT1_486 (N3197, N1941); +not NOT1_487 (N3198, N1962); +not NOT1_488 (N3199, N1965); +buf BUFF1_489 (N3200, N1469); +not NOT1_490 (N3203, N1968); +buf BUFF1_491 (N3357, N2704); +buf BUFF1_492 (N3358, N2704); +buf BUFF1_493 (N3359, N2704); +buf BUFF1_494 (N3360, N2704); +and AND3_495 (N3401, N457, N1092, N2824); +and AND3_496 (N3402, N468, N1092, N2826); +and AND3_497 (N3403, N422, N1092, N2828); +and AND3_498 (N3404, N435, N1092, N2830); +and AND2_499 (N3405, N1080, N2823); +and AND2_500 (N3406, N1080, N2825); +and AND2_501 (N3407, N1080, N2827); +and AND2_502 (N3408, N1080, N2829); +and AND3_503 (N3409, N389, N1092, N2840); +and AND3_504 (N3410, N400, N1092, N2842); +and AND3_505 (N3411, N411, N1092, N2844); +and AND3_506 (N3412, N374, N1092, N2846); +and AND2_507 (N3413, N1080, N2839); +and AND2_508 (N3414, N1080, N2841); +and AND2_509 (N3415, N1080, N2843); +and AND2_510 (N3416, N1080, N2845); +and AND2_511 (N3444, N1280, N2902); +and AND3_512 (N3445, N479, N1280, N2904); +and AND3_513 (N3446, N490, N1280, N2906); +and AND2_514 (N3447, N1685, N2901); +and AND2_515 (N3448, N1685, N2903); +and AND2_516 (N3449, N1685, N2905); +and AND3_517 (N3450, N503, N1092, N2914); +and AND3_518 (N3451, N523, N1092, N2916); +and AND3_519 (N3452, N534, N1092, N2918); +and AND2_520 (N3453, N1080, N2913); +and AND2_521 (N3454, N1080, N2915); +and AND2_522 (N3455, N1080, N2917); +and AND2_523 (N3456, N2920, N2350); +and AND3_524 (N3459, N389, N1280, N2927); +and AND3_525 (N3460, N400, N1280, N2929); +and AND3_526 (N3461, N411, N1280, N2931); +and AND3_527 (N3462, N374, N1280, N2933); +and AND2_528 (N3463, N1685, N2926); +and AND2_529 (N3464, N1685, N2928); +and AND2_530 (N3465, N1685, N2930); +and AND2_531 (N3466, N1685, N2932); +and AND3_532 (N3481, N503, N1292, N2974); +not NOT1_533 (N3482, N2980); +and AND3_534 (N3483, N523, N1292, N2976); +and AND3_535 (N3484, N534, N1292, N2978); +and AND2_536 (N3485, N1271, N2973); +and AND2_537 (N3486, N1271, N2975); +and AND2_538 (N3487, N1271, N2977); +and AND2_539 (N3488, N1292, N2988); +and AND3_540 (N3489, N479, N1292, N2990); +and AND3_541 (N3490, N490, N1292, N2992); +and AND2_542 (N3491, N1271, N2987); +and AND2_543 (N3492, N1271, N2989); +and AND2_544 (N3493, N1271, N2991); +and AND2_545 (N3502, N1292, N2999); +and AND2_546 (N3503, N1292, N3006); +and AND3_547 (N3504, N457, N1280, N3016); +and AND3_548 (N3505, N468, N1280, N3018); +and AND3_549 (N3506, N422, N1280, N3020); +and AND3_550 (N3507, N435, N1280, N3022); +and AND2_551 (N3508, N1685, N3015); +and AND2_552 (N3509, N1685, N3017); +and AND2_553 (N3510, N1685, N3019); +and AND2_554 (N3511, N1685, N3021); +nand NAND2_555 (N3512, N1923, N3031); +nand NAND2_556 (N3513, N1920, N3032); +nand NAND2_557 (N3514, N1929, N3033); +nand NAND2_558 (N3515, N1926, N3034); +nand NAND2_559 (N3558, N1947, N3141); +nand NAND2_560 (N3559, N1944, N3142); +nand NAND2_561 (N3560, N1953, N3143); +nand NAND2_562 (N3561, N1950, N3144); +nand NAND2_563 (N3562, N1959, N3145); +nand NAND2_564 (N3563, N1956, N3146); +buf BUFF1_565 (N3604, N3191); +nand NAND2_566 (N3605, N1935, N3194); +nand NAND2_567 (N3606, N1932, N3195); +nand NAND2_568 (N3607, N1941, N3196); +nand NAND2_569 (N3608, N1938, N3197); +nand NAND2_570 (N3609, N1965, N3198); +nand NAND2_571 (N3610, N1962, N3199); +not NOT1_572 (N3613, N3191); +and AND2_573 (N3614, N2882, N2891); +and AND2_574 (N3615, N1482, N2891); +and AND3_575 (N3616, N200, N2653, N1173); +and AND3_576 (N3617, N203, N2653, N1173); +and AND3_577 (N3618, N197, N2653, N1173); +and AND3_578 (N3619, N194, N2653, N1173); +and AND3_579 (N3620, N191, N2653, N1173); +and AND3_580 (N3621, N182, N2681, N1197); +and AND3_581 (N3622, N188, N2681, N1197); +and AND3_582 (N3623, N155, N2681, N1197); +and AND3_583 (N3624, N149, N2681, N1197); +and AND2_584 (N3625, N2882, N2891); +and AND2_585 (N3626, N1482, N2891); +and AND3_586 (N3627, N200, N2728, N1235); +and AND3_587 (N3628, N203, N2728, N1235); +and AND3_588 (N3629, N197, N2728, N1235); +and AND3_589 (N3630, N194, N2728, N1235); +and AND3_590 (N3631, N191, N2728, N1235); +and AND3_591 (N3632, N182, N2756, N1259); +and AND3_592 (N3633, N188, N2756, N1259); +and AND3_593 (N3634, N155, N2756, N1259); +and AND3_594 (N3635, N149, N2756, N1259); +and AND2_595 (N3636, N2882, N2891); +and AND2_596 (N3637, N1482, N2891); +and AND3_597 (N3638, N109, N3075, N1743); +and AND2_598 (N3639, N2882, N2891); +and AND2_599 (N3640, N1482, N2891); +and AND3_600 (N3641, N11, N2779, N1339); +and AND3_601 (N3642, N109, N3041, N1709); +and AND3_602 (N3643, N46, N3041, N1709); +and AND3_603 (N3644, N100, N3041, N1709); +and AND3_604 (N3645, N91, N3041, N1709); +and AND3_605 (N3646, N43, N3041, N1709); +and AND3_606 (N3647, N76, N2779, N1339); +and AND3_607 (N3648, N73, N2779, N1339); +and AND3_608 (N3649, N67, N2779, N1339); +and AND3_609 (N3650, N14, N2779, N1339); +and AND3_610 (N3651, N46, N3075, N1743); +and AND3_611 (N3652, N100, N3075, N1743); +and AND3_612 (N3653, N91, N3075, N1743); +and AND3_613 (N3654, N43, N3075, N1743); +and AND3_614 (N3655, N76, N2801, N1363); +and AND3_615 (N3656, N73, N2801, N1363); +and AND3_616 (N3657, N67, N2801, N1363); +and AND3_617 (N3658, N14, N2801, N1363); +and AND3_618 (N3659, N120, N3119, N1785); +and AND3_619 (N3660, N11, N2801, N1363); +and AND3_620 (N3661, N118, N3097, N1769); +and AND3_621 (N3662, N176, N2681, N1197); +and AND3_622 (N3663, N176, N2756, N1259); +or OR2_623 (N3664, N2831, N3401); +or OR2_624 (N3665, N2832, N3402); +or OR2_625 (N3666, N2833, N3403); +or OR2_626 (N3667, N2834, N3404); +or OR3_627 (N3668, N2835, N3405, N457); +or OR3_628 (N3669, N2836, N3406, N468); +or OR3_629 (N3670, N2837, N3407, N422); +or OR3_630 (N3671, N2838, N3408, N435); +or OR2_631 (N3672, N2847, N3409); +or OR2_632 (N3673, N2848, N3410); +or OR2_633 (N3674, N2849, N3411); +or OR2_634 (N3675, N2850, N3412); +or OR3_635 (N3676, N2851, N3413, N389); +or OR3_636 (N3677, N2852, N3414, N400); +or OR3_637 (N3678, N2853, N3415, N411); +or OR3_638 (N3679, N2854, N3416, N374); +and AND2_639 (N3680, N289, N2855); +and AND2_640 (N3681, N281, N2855); +and AND2_641 (N3682, N273, N2855); +and AND2_642 (N3683, N265, N2855); +and AND2_643 (N3684, N257, N2855); +and AND2_644 (N3685, N234, N2861); +and AND2_645 (N3686, N226, N2861); +and AND2_646 (N3687, N218, N2861); +and AND2_647 (N3688, N210, N2861); +and AND2_648 (N3689, N206, N2861); +not NOT1_649 (N3691, N2891); +or OR2_650 (N3700, N2907, N3444); +or OR2_651 (N3701, N2908, N3445); +or OR2_652 (N3702, N2909, N3446); +or OR3_653 (N3703, N2911, N3448, N479); +or OR3_654 (N3704, N2912, N3449, N490); +or OR2_655 (N3705, N2910, N3447); +or OR2_656 (N3708, N2919, N3450); +or OR2_657 (N3709, N2921, N3451); +or OR2_658 (N3710, N2922, N3452); +or OR3_659 (N3711, N2923, N3453, N503); +or OR3_660 (N3712, N2924, N3454, N523); +or OR3_661 (N3713, N2925, N3455, N534); +or OR2_662 (N3715, N2934, N3459); +or OR2_663 (N3716, N2935, N3460); +or OR2_664 (N3717, N2936, N3461); +or OR2_665 (N3718, N2937, N3462); +or OR3_666 (N3719, N2938, N3463, N389); +or OR3_667 (N3720, N2939, N3464, N400); +or OR3_668 (N3721, N2940, N3465, N411); +or OR3_669 (N3722, N2941, N3466, N374); +and AND2_670 (N3723, N369, N2942); +and AND2_671 (N3724, N361, N2942); +and AND2_672 (N3725, N351, N2942); +and AND2_673 (N3726, N341, N2942); +and AND2_674 (N3727, N324, N2948); +and AND2_675 (N3728, N316, N2948); +and AND2_676 (N3729, N308, N2948); +and AND2_677 (N3730, N302, N2948); +and AND2_678 (N3731, N293, N2948); +or OR2_679 (N3732, N2942, N2958); +and AND2_680 (N3738, N83, N2964); +and AND2_681 (N3739, N87, N2964); +and AND2_682 (N3740, N34, N2964); +and AND2_683 (N3741, N34, N2964); +or OR2_684 (N3742, N2979, N3481); +or OR2_685 (N3743, N2981, N3483); +or OR2_686 (N3744, N2982, N3484); +or OR3_687 (N3745, N2983, N3485, N503); +or OR3_688 (N3746, N2985, N3486, N523); +or OR3_689 (N3747, N2986, N3487, N534); +or OR2_690 (N3748, N2993, N3488); +or OR2_691 (N3749, N2994, N3489); +or OR2_692 (N3750, N2995, N3490); +or OR3_693 (N3751, N2997, N3492, N479); +or OR3_694 (N3752, N2998, N3493, N490); +not NOT1_695 (N3753, N3000); +not NOT1_696 (N3754, N3003); +not NOT1_697 (N3755, N3007); +not NOT1_698 (N3756, N3010); +or OR2_699 (N3757, N3013, N3502); +and AND3_700 (N3758, N1315, N446, N3003); +or OR2_701 (N3759, N3014, N3503); +and AND3_702 (N3760, N1315, N446, N3010); +and AND2_703 (N3761, N1675, N3000); +and AND2_704 (N3762, N1675, N3007); +or OR2_705 (N3763, N3023, N3504); +or OR2_706 (N3764, N3024, N3505); +or OR2_707 (N3765, N3025, N3506); +or OR2_708 (N3766, N3026, N3507); +or OR3_709 (N3767, N3027, N3508, N457); +or OR3_710 (N3768, N3028, N3509, N468); +or OR3_711 (N3769, N3029, N3510, N422); +or OR3_712 (N3770, N3030, N3511, N435); +nand NAND2_713 (N3771, N3512, N3513); +nand NAND2_714 (N3775, N3514, N3515); +not NOT1_715 (N3779, N3035); +not NOT1_716 (N3780, N3038); +and AND3_717 (N3781, N117, N3097, N1769); +and AND3_718 (N3782, N126, N3097, N1769); +and AND3_719 (N3783, N127, N3097, N1769); +and AND3_720 (N3784, N128, N3097, N1769); +and AND3_721 (N3785, N131, N3119, N1785); +and AND3_722 (N3786, N129, N3119, N1785); +and AND3_723 (N3787, N119, N3119, N1785); +and AND3_724 (N3788, N130, N3119, N1785); +nand NAND2_725 (N3789, N3558, N3559); +nand NAND2_726 (N3793, N3560, N3561); +nand NAND2_727 (N3797, N3562, N3563); +and AND3_728 (N3800, N122, N3147, N1800); +and AND3_729 (N3801, N113, N3147, N1800); +and AND3_730 (N3802, N53, N3147, N1800); +and AND3_731 (N3803, N114, N3147, N1800); +and AND3_732 (N3804, N115, N3147, N1800); +and AND3_733 (N3805, N52, N3169, N1814); +and AND3_734 (N3806, N112, N3169, N1814); +and AND3_735 (N3807, N116, N3169, N1814); +and AND3_736 (N3808, N121, N3169, N1814); +and AND3_737 (N3809, N123, N3169, N1814); +nand NAND2_738 (N3810, N3607, N3608); +nand NAND2_739 (N3813, N3605, N3606); +and AND2_740 (N3816, N3482, N2984); +or OR2_741 (N3819, N2996, N3491); +not NOT1_742 (N3822, N3200); +nand NAND2_743 (N3823, N3200, N3203); +nand NAND2_744 (N3824, N3609, N3610); +not NOT1_745 (N3827, N3456); +or OR2_746 (N3828, N3739, N2970); +or OR2_747 (N3829, N3740, N2971); +or OR2_748 (N3830, N3741, N2972); +or OR2_749 (N3831, N3738, N2969); +not NOT1_750 (N3834, N3664); +not NOT1_751 (N3835, N3665); +not NOT1_752 (N3836, N3666); +not NOT1_753 (N3837, N3667); +not NOT1_754 (N3838, N3672); +not NOT1_755 (N3839, N3673); +not NOT1_756 (N3840, N3674); +not NOT1_757 (N3841, N3675); +or OR2_758 (N3842, N3681, N2868); +or OR2_759 (N3849, N3682, N2869); +or OR2_760 (N3855, N3683, N2870); +or OR2_761 (N3861, N3684, N2871); +or OR2_762 (N3867, N3685, N2872); +or OR2_763 (N3873, N3686, N2873); +or OR2_764 (N3881, N3687, N2874); +or OR2_765 (N3887, N3688, N2875); +or OR2_766 (N3893, N3689, N2876); +not NOT1_767 (N3908, N3701); +not NOT1_768 (N3909, N3702); +not NOT1_769 (N3911, N3700); +not NOT1_770 (N3914, N3708); +not NOT1_771 (N3915, N3709); +not NOT1_772 (N3916, N3710); +not NOT1_773 (N3917, N3715); +not NOT1_774 (N3918, N3716); +not NOT1_775 (N3919, N3717); +not NOT1_776 (N3920, N3718); +or OR2_777 (N3921, N3724, N2955); +or OR2_778 (N3927, N3725, N2956); +or OR2_779 (N3933, N3726, N2957); +or OR2_780 (N3942, N3727, N2959); +or OR2_781 (N3948, N3728, N2960); +or OR2_782 (N3956, N3729, N2961); +or OR2_783 (N3962, N3730, N2962); +or OR2_784 (N3968, N3731, N2963); +not NOT1_785 (N3975, N3742); +not NOT1_786 (N3976, N3743); +not NOT1_787 (N3977, N3744); +not NOT1_788 (N3978, N3749); +not NOT1_789 (N3979, N3750); +and AND3_790 (N3980, N446, N1292, N3754); +and AND3_791 (N3981, N446, N1292, N3756); +and AND2_792 (N3982, N1271, N3753); +and AND2_793 (N3983, N1271, N3755); +not NOT1_794 (N3984, N3757); +not NOT1_795 (N3987, N3759); +not NOT1_796 (N3988, N3763); +not NOT1_797 (N3989, N3764); +not NOT1_798 (N3990, N3765); +not NOT1_799 (N3991, N3766); +and AND3_800 (N3998, N3456, N3119, N3130); +or OR2_801 (N4008, N3723, N2954); +or OR2_802 (N4011, N3680, N2867); +not NOT1_803 (N4021, N3748); +nand NAND2_804 (N4024, N1968, N3822); +not NOT1_805 (N4027, N3705); +and AND2_806 (N4031, N3828, N1583); +and AND3_807 (N4032, N24, N2882, N3691); +and AND3_808 (N4033, N25, N1482, N3691); +and AND3_809 (N4034, N26, N2882, N3691); +and AND3_810 (N4035, N81, N1482, N3691); +and AND2_811 (N4036, N3829, N1583); +and AND3_812 (N4037, N79, N2882, N3691); +and AND3_813 (N4038, N23, N1482, N3691); +and AND3_814 (N4039, N82, N2882, N3691); +and AND3_815 (N4040, N80, N1482, N3691); +and AND2_816 (N4041, N3830, N1583); +and AND2_817 (N4042, N3831, N1583); +and AND2_818 (N4067, N3732, N514); +and AND2_819 (N4080, N514, N3732); +and AND2_820 (N4088, N3834, N3668); +and AND2_821 (N4091, N3835, N3669); +and AND2_822 (N4094, N3836, N3670); +and AND2_823 (N4097, N3837, N3671); +and AND2_824 (N4100, N3838, N3676); +and AND2_825 (N4103, N3839, N3677); +and AND2_826 (N4106, N3840, N3678); +and AND2_827 (N4109, N3841, N3679); +and AND2_828 (N4144, N3908, N3703); +and AND2_829 (N4147, N3909, N3704); +buf BUFF1_830 (N4150, N3705); +and AND2_831 (N4153, N3914, N3711); +and AND2_832 (N4156, N3915, N3712); +and AND2_833 (N4159, N3916, N3713); +or OR2_834 (N4183, N3758, N3980); +or OR2_835 (N4184, N3760, N3981); +or OR3_836 (N4185, N3761, N3982, N446); +or OR3_837 (N4186, N3762, N3983, N446); +not NOT1_838 (N4188, N3771); +not NOT1_839 (N4191, N3775); +and AND3_840 (N4196, N3775, N3771, N3035); +and AND3_841 (N4197, N3987, N3119, N3130); +and AND2_842 (N4198, N3920, N3722); +not NOT1_843 (N4199, N3816); +not NOT1_844 (N4200, N3789); +not NOT1_845 (N4203, N3793); +buf BUFF1_846 (N4206, N3797); +buf BUFF1_847 (N4209, N3797); +buf BUFF1_848 (N4212, N3732); +buf BUFF1_849 (N4215, N3732); +buf BUFF1_850 (N4219, N3732); +not NOT1_851 (N4223, N3810); +not NOT1_852 (N4224, N3813); +and AND2_853 (N4225, N3918, N3720); +and AND2_854 (N4228, N3919, N3721); +and AND2_855 (N4231, N3991, N3770); +and AND2_856 (N4234, N3917, N3719); +and AND2_857 (N4237, N3989, N3768); +and AND2_858 (N4240, N3990, N3769); +and AND2_859 (N4243, N3988, N3767); +and AND2_860 (N4246, N3976, N3746); +and AND2_861 (N4249, N3977, N3747); +and AND2_862 (N4252, N3975, N3745); +and AND2_863 (N4255, N3978, N3751); +and AND2_864 (N4258, N3979, N3752); +not NOT1_865 (N4263, N3819); +nand NAND2_866 (N4264, N4024, N3823); +not NOT1_867 (N4267, N3824); +and AND2_868 (N4268, N446, N3893); +not NOT1_869 (N4269, N3911); +not NOT1_870 (N4270, N3984); +and AND2_871 (N4271, N3893, N446); +not NOT1_872 (N4272, N4031); +or OR4_873 (N4273, N4032, N4033, N3614, N3615); +or OR4_874 (N4274, N4034, N4035, N3625, N3626); +not NOT1_875 (N4275, N4036); +or OR4_876 (N4276, N4037, N4038, N3636, N3637); +or OR4_877 (N4277, N4039, N4040, N3639, N3640); +not NOT1_878 (N4278, N4041); +not NOT1_879 (N4279, N4042); +and AND2_880 (N4280, N3887, N457); +and AND2_881 (N4284, N3881, N468); +and AND2_882 (N4290, N422, N3873); +and AND2_883 (N4297, N3867, N435); +and AND2_884 (N4298, N3861, N389); +and AND2_885 (N4301, N3855, N400); +and AND2_886 (N4305, N3849, N411); +and AND2_887 (N4310, N3842, N374); +and AND2_888 (N4316, N457, N3887); +and AND2_889 (N4320, N468, N3881); +and AND2_890 (N4325, N422, N3873); +and AND2_891 (N4331, N435, N3867); +and AND2_892 (N4332, N389, N3861); +and AND2_893 (N4336, N400, N3855); +and AND2_894 (N4342, N411, N3849); +and AND2_895 (N4349, N374, N3842); +not NOT1_896 (N4357, N3968); +not NOT1_897 (N4364, N3962); +buf BUFF1_898 (N4375, N3962); +and AND2_899 (N4379, N3956, N479); +and AND2_900 (N4385, N490, N3948); +and AND2_901 (N4392, N3942, N503); +and AND2_902 (N4396, N3933, N523); +and AND2_903 (N4400, N3927, N534); +not NOT1_904 (N4405, N3921); +buf BUFF1_905 (N4412, N3921); +not NOT1_906 (N4418, N3968); +not NOT1_907 (N4425, N3962); +buf BUFF1_908 (N4436, N3962); +and AND2_909 (N4440, N479, N3956); +and AND2_910 (N4445, N490, N3948); +and AND2_911 (N4451, N503, N3942); +and AND2_912 (N4456, N523, N3933); +and AND2_913 (N4462, N534, N3927); +buf BUFF1_914 (N4469, N3921); +not NOT1_915 (N4477, N3921); +buf BUFF1_916 (N4512, N3968); +not NOT1_917 (N4515, N4183); +not NOT1_918 (N4516, N4184); +not NOT1_919 (N4521, N4008); +not NOT1_920 (N4523, N4011); +not NOT1_921 (N4524, N4198); +not NOT1_922 (N4532, N3984); +and AND3_923 (N4547, N3911, N3169, N3180); +buf BUFF1_924 (N4548, N3893); +buf BUFF1_925 (N4551, N3887); +buf BUFF1_926 (N4554, N3881); +buf BUFF1_927 (N4557, N3873); +buf BUFF1_928 (N4560, N3867); +buf BUFF1_929 (N4563, N3861); +buf BUFF1_930 (N4566, N3855); +buf BUFF1_931 (N4569, N3849); +buf BUFF1_932 (N4572, N3842); +nor NOR2_933 (N4575, N422, N3873); +buf BUFF1_934 (N4578, N3893); +buf BUFF1_935 (N4581, N3887); +buf BUFF1_936 (N4584, N3881); +buf BUFF1_937 (N4587, N3867); +buf BUFF1_938 (N4590, N3861); +buf BUFF1_939 (N4593, N3855); +buf BUFF1_940 (N4596, N3849); +buf BUFF1_941 (N4599, N3873); +buf BUFF1_942 (N4602, N3842); +nor NOR2_943 (N4605, N422, N3873); +nor NOR2_944 (N4608, N374, N3842); +buf BUFF1_945 (N4611, N3956); +buf BUFF1_946 (N4614, N3948); +buf BUFF1_947 (N4617, N3942); +buf BUFF1_948 (N4621, N3933); +buf BUFF1_949 (N4624, N3927); +nor NOR2_950 (N4627, N490, N3948); +buf BUFF1_951 (N4630, N3956); +buf BUFF1_952 (N4633, N3942); +buf BUFF1_953 (N4637, N3933); +buf BUFF1_954 (N4640, N3927); +buf BUFF1_955 (N4643, N3948); +nor NOR2_956 (N4646, N490, N3948); +buf BUFF1_957 (N4649, N3927); +buf BUFF1_958 (N4652, N3933); +buf BUFF1_959 (N4655, N3921); +buf BUFF1_960 (N4658, N3942); +buf BUFF1_961 (N4662, N3956); +buf BUFF1_962 (N4665, N3948); +buf BUFF1_963 (N4668, N3968); +buf BUFF1_964 (N4671, N3962); +buf BUFF1_965 (N4674, N3873); +buf BUFF1_966 (N4677, N3867); +buf BUFF1_967 (N4680, N3887); +buf BUFF1_968 (N4683, N3881); +buf BUFF1_969 (N4686, N3893); +buf BUFF1_970 (N4689, N3849); +buf BUFF1_971 (N4692, N3842); +buf BUFF1_972 (N4695, N3861); +buf BUFF1_973 (N4698, N3855); +nand NAND2_974 (N4701, N3813, N4223); +nand NAND2_975 (N4702, N3810, N4224); +not NOT1_976 (N4720, N4021); +nand NAND2_977 (N4721, N4021, N4263); +not NOT1_978 (N4724, N4147); +not NOT1_979 (N4725, N4144); +not NOT1_980 (N4726, N4159); +not NOT1_981 (N4727, N4156); +not NOT1_982 (N4728, N4153); +not NOT1_983 (N4729, N4097); +not NOT1_984 (N4730, N4094); +not NOT1_985 (N4731, N4091); +not NOT1_986 (N4732, N4088); +not NOT1_987 (N4733, N4109); +not NOT1_988 (N4734, N4106); +not NOT1_989 (N4735, N4103); +not NOT1_990 (N4736, N4100); +and AND2_991 (N4737, N4273, N2877); +and AND2_992 (N4738, N4274, N2877); +and AND2_993 (N4739, N4276, N2877); +and AND2_994 (N4740, N4277, N2877); +and AND3_995 (N4741, N4150, N1758, N1755); +not NOT1_996 (N4855, N4212); +nand NAND2_997 (N4856, N4212, N2712); +nand NAND2_998 (N4908, N4215, N2718); +not NOT1_999 (N4909, N4215); +and AND2_1000 (N4939, N4515, N4185); +and AND2_1001 (N4942, N4516, N4186); +not NOT1_1002 (N4947, N4219); +and AND3_1003 (N4953, N4188, N3775, N3779); +and AND3_1004 (N4954, N3771, N4191, N3780); +and AND3_1005 (N4955, N4191, N4188, N3038); +and AND3_1006 (N4956, N4109, N3097, N3108); +and AND3_1007 (N4957, N4106, N3097, N3108); +and AND3_1008 (N4958, N4103, N3097, N3108); +and AND3_1009 (N4959, N4100, N3097, N3108); +and AND3_1010 (N4960, N4159, N3119, N3130); +and AND3_1011 (N4961, N4156, N3119, N3130); +not NOT1_1012 (N4965, N4225); +not NOT1_1013 (N4966, N4228); +not NOT1_1014 (N4967, N4231); +not NOT1_1015 (N4968, N4234); +not NOT1_1016 (N4972, N4246); +not NOT1_1017 (N4973, N4249); +not NOT1_1018 (N4974, N4252); +nand NAND2_1019 (N4975, N4252, N4199); +not NOT1_1020 (N4976, N4206); +not NOT1_1021 (N4977, N4209); +and AND3_1022 (N4978, N3793, N3789, N4206); +and AND3_1023 (N4979, N4203, N4200, N4209); +and AND3_1024 (N4980, N4097, N3147, N3158); +and AND3_1025 (N4981, N4094, N3147, N3158); +and AND3_1026 (N4982, N4091, N3147, N3158); +and AND3_1027 (N4983, N4088, N3147, N3158); +and AND3_1028 (N4984, N4153, N3169, N3180); +and AND3_1029 (N4985, N4147, N3169, N3180); +and AND3_1030 (N4986, N4144, N3169, N3180); +and AND3_1031 (N4987, N4150, N3169, N3180); +nand NAND2_1032 (N5049, N4701, N4702); +not NOT1_1033 (N5052, N4237); +not NOT1_1034 (N5053, N4240); +not NOT1_1035 (N5054, N4243); +not NOT1_1036 (N5055, N4255); +not NOT1_1037 (N5056, N4258); +nand NAND2_1038 (N5057, N3819, N4720); +not NOT1_1039 (N5058, N4264); +nand NAND2_1040 (N5059, N4264, N4267); +and AND4_1041 (N5060, N4724, N4725, N4269, N4027); +and AND4_1042 (N5061, N4726, N4727, N3827, N4728); +and AND4_1043 (N5062, N4729, N4730, N4731, N4732); +and AND4_1044 (N5063, N4733, N4734, N4735, N4736); +and AND2_1045 (N5065, N4357, N4375); +and AND3_1046 (N5066, N4364, N4357, N4379); +and AND2_1047 (N5067, N4418, N4436); +and AND3_1048 (N5068, N4425, N4418, N4440); +not NOT1_1049 (N5069, N4548); +nand NAND2_1050 (N5070, N4548, N2628); +not NOT1_1051 (N5071, N4551); +nand NAND2_1052 (N5072, N4551, N2629); +not NOT1_1053 (N5073, N4554); +nand NAND2_1054 (N5074, N4554, N2630); +not NOT1_1055 (N5075, N4557); +nand NAND2_1056 (N5076, N4557, N2631); +not NOT1_1057 (N5077, N4560); +nand NAND2_1058 (N5078, N4560, N2632); +not NOT1_1059 (N5079, N4563); +nand NAND2_1060 (N5080, N4563, N2633); +not NOT1_1061 (N5081, N4566); +nand NAND2_1062 (N5082, N4566, N2634); +not NOT1_1063 (N5083, N4569); +nand NAND2_1064 (N5084, N4569, N2635); +not NOT1_1065 (N5085, N4572); +nand NAND2_1066 (N5086, N4572, N2636); +not NOT1_1067 (N5087, N4575); +nand NAND2_1068 (N5088, N4578, N2638); +not NOT1_1069 (N5089, N4578); +nand NAND2_1070 (N5090, N4581, N2639); +not NOT1_1071 (N5091, N4581); +nand NAND2_1072 (N5092, N4584, N2640); +not NOT1_1073 (N5093, N4584); +nand NAND2_1074 (N5094, N4587, N2641); +not NOT1_1075 (N5095, N4587); +nand NAND2_1076 (N5096, N4590, N2642); +not NOT1_1077 (N5097, N4590); +nand NAND2_1078 (N5098, N4593, N2643); +not NOT1_1079 (N5099, N4593); +nand NAND2_1080 (N5100, N4596, N2644); +not NOT1_1081 (N5101, N4596); +nand NAND2_1082 (N5102, N4599, N2645); +not NOT1_1083 (N5103, N4599); +nand NAND2_1084 (N5104, N4602, N2646); +not NOT1_1085 (N5105, N4602); +not NOT1_1086 (N5106, N4611); +nand NAND2_1087 (N5107, N4611, N2709); +not NOT1_1088 (N5108, N4614); +nand NAND2_1089 (N5109, N4614, N2710); +not NOT1_1090 (N5110, N4617); +nand NAND2_1091 (N5111, N4617, N2711); +nand NAND2_1092 (N5112, N1890, N4855); +not NOT1_1093 (N5113, N4621); +nand NAND2_1094 (N5114, N4621, N2713); +not NOT1_1095 (N5115, N4624); +nand NAND2_1096 (N5116, N4624, N2714); +and AND2_1097 (N5117, N4364, N4379); +and AND2_1098 (N5118, N4364, N4379); +and AND2_1099 (N5119, N54, N4405); +not NOT1_1100 (N5120, N4627); +nand NAND2_1101 (N5121, N4630, N2716); +not NOT1_1102 (N5122, N4630); +nand NAND2_1103 (N5123, N4633, N2717); +not NOT1_1104 (N5124, N4633); +nand NAND2_1105 (N5125, N1908, N4909); +nand NAND2_1106 (N5126, N4637, N2719); +not NOT1_1107 (N5127, N4637); +nand NAND2_1108 (N5128, N4640, N2720); +not NOT1_1109 (N5129, N4640); +nand NAND2_1110 (N5130, N4643, N2721); +not NOT1_1111 (N5131, N4643); +and AND2_1112 (N5132, N4425, N4440); +and AND2_1113 (N5133, N4425, N4440); +not NOT1_1114 (N5135, N4649); +not NOT1_1115 (N5136, N4652); +nand NAND2_1116 (N5137, N4655, N4521); +not NOT1_1117 (N5138, N4655); +not NOT1_1118 (N5139, N4658); +nand NAND2_1119 (N5140, N4658, N4947); +not NOT1_1120 (N5141, N4674); +not NOT1_1121 (N5142, N4677); +not NOT1_1122 (N5143, N4680); +not NOT1_1123 (N5144, N4683); +nand NAND2_1124 (N5145, N4686, N4523); +not NOT1_1125 (N5146, N4686); +nor NOR2_1126 (N5147, N4953, N4196); +nor NOR2_1127 (N5148, N4954, N4955); +not NOT1_1128 (N5150, N4524); +nand NAND2_1129 (N5153, N4228, N4965); +nand NAND2_1130 (N5154, N4225, N4966); +nand NAND2_1131 (N5155, N4234, N4967); +nand NAND2_1132 (N5156, N4231, N4968); +not NOT1_1133 (N5157, N4532); +nand NAND2_1134 (N5160, N4249, N4972); +nand NAND2_1135 (N5161, N4246, N4973); +nand NAND2_1136 (N5162, N3816, N4974); +and AND3_1137 (N5163, N4200, N3793, N4976); +and AND3_1138 (N5164, N3789, N4203, N4977); +and AND3_1139 (N5165, N4942, N3147, N3158); +not NOT1_1140 (N5166, N4512); +buf BUFF1_1141 (N5169, N4290); +not NOT1_1142 (N5172, N4605); +buf BUFF1_1143 (N5173, N4325); +not NOT1_1144 (N5176, N4608); +buf BUFF1_1145 (N5177, N4349); +buf BUFF1_1146 (N5180, N4405); +buf BUFF1_1147 (N5183, N4357); +buf BUFF1_1148 (N5186, N4357); +buf BUFF1_1149 (N5189, N4364); +buf BUFF1_1150 (N5192, N4364); +buf BUFF1_1151 (N5195, N4385); +not NOT1_1152 (N5198, N4646); +buf BUFF1_1153 (N5199, N4418); +buf BUFF1_1154 (N5202, N4425); +buf BUFF1_1155 (N5205, N4445); +buf BUFF1_1156 (N5208, N4418); +buf BUFF1_1157 (N5211, N4425); +buf BUFF1_1158 (N5214, N4477); +buf BUFF1_1159 (N5217, N4469); +buf BUFF1_1160 (N5220, N4477); +not NOT1_1161 (N5223, N4662); +not NOT1_1162 (N5224, N4665); +not NOT1_1163 (N5225, N4668); +not NOT1_1164 (N5226, N4671); +not NOT1_1165 (N5227, N4689); +not NOT1_1166 (N5228, N4692); +not NOT1_1167 (N5229, N4695); +not NOT1_1168 (N5230, N4698); +nand NAND2_1169 (N5232, N4240, N5052); +nand NAND2_1170 (N5233, N4237, N5053); +nand NAND2_1171 (N5234, N4258, N5055); +nand NAND2_1172 (N5235, N4255, N5056); +nand NAND2_1173 (N5236, N4721, N5057); +nand NAND2_1174 (N5239, N3824, N5058); +and AND3_1175 (N5240, N5060, N5061, N4270); +not NOT1_1176 (N5241, N4939); +nand NAND2_1177 (N5242, N1824, N5069); +nand NAND2_1178 (N5243, N1827, N5071); +nand NAND2_1179 (N5244, N1830, N5073); +nand NAND2_1180 (N5245, N1833, N5075); +nand NAND2_1181 (N5246, N1836, N5077); +nand NAND2_1182 (N5247, N1839, N5079); +nand NAND2_1183 (N5248, N1842, N5081); +nand NAND2_1184 (N5249, N1845, N5083); +nand NAND2_1185 (N5250, N1848, N5085); +nand NAND2_1186 (N5252, N1854, N5089); +nand NAND2_1187 (N5253, N1857, N5091); +nand NAND2_1188 (N5254, N1860, N5093); +nand NAND2_1189 (N5255, N1863, N5095); +nand NAND2_1190 (N5256, N1866, N5097); +nand NAND2_1191 (N5257, N1869, N5099); +nand NAND2_1192 (N5258, N1872, N5101); +nand NAND2_1193 (N5259, N1875, N5103); +nand NAND2_1194 (N5260, N1878, N5105); +nand NAND2_1195 (N5261, N1881, N5106); +nand NAND2_1196 (N5262, N1884, N5108); +nand NAND2_1197 (N5263, N1887, N5110); +nand NAND2_1198 (N5264, N5112, N4856); +nand NAND2_1199 (N5274, N1893, N5113); +nand NAND2_1200 (N5275, N1896, N5115); +nand NAND2_1201 (N5282, N1902, N5122); +nand NAND2_1202 (N5283, N1905, N5124); +nand NAND2_1203 (N5284, N4908, N5125); +nand NAND2_1204 (N5298, N1911, N5127); +nand NAND2_1205 (N5299, N1914, N5129); +nand NAND2_1206 (N5300, N1917, N5131); +nand NAND2_1207 (N5303, N4652, N5135); +nand NAND2_1208 (N5304, N4649, N5136); +nand NAND2_1209 (N5305, N4008, N5138); +nand NAND2_1210 (N5306, N4219, N5139); +nand NAND2_1211 (N5307, N4677, N5141); +nand NAND2_1212 (N5308, N4674, N5142); +nand NAND2_1213 (N5309, N4683, N5143); +nand NAND2_1214 (N5310, N4680, N5144); +nand NAND2_1215 (N5311, N4011, N5146); +not NOT1_1216 (N5312, N5049); +nand NAND2_1217 (N5315, N5153, N5154); +nand NAND2_1218 (N5319, N5155, N5156); +nand NAND2_1219 (N5324, N5160, N5161); +nand NAND2_1220 (N5328, N5162, N4975); +nor NOR2_1221 (N5331, N5163, N4978); +nor NOR2_1222 (N5332, N5164, N4979); +or OR2_1223 (N5346, N4412, N5119); +nand NAND2_1224 (N5363, N4665, N5223); +nand NAND2_1225 (N5364, N4662, N5224); +nand NAND2_1226 (N5365, N4671, N5225); +nand NAND2_1227 (N5366, N4668, N5226); +nand NAND2_1228 (N5367, N4692, N5227); +nand NAND2_1229 (N5368, N4689, N5228); +nand NAND2_1230 (N5369, N4698, N5229); +nand NAND2_1231 (N5370, N4695, N5230); +nand NAND2_1232 (N5371, N5148, N5147); +buf BUFF1_1233 (N5374, N4939); +nand NAND2_1234 (N5377, N5232, N5233); +nand NAND2_1235 (N5382, N5234, N5235); +nand NAND2_1236 (N5385, N5239, N5059); +and AND3_1237 (N5388, N5062, N5063, N5241); +nand NAND2_1238 (N5389, N5242, N5070); +nand NAND2_1239 (N5396, N5243, N5072); +nand NAND2_1240 (N5407, N5244, N5074); +nand NAND2_1241 (N5418, N5245, N5076); +nand NAND2_1242 (N5424, N5246, N5078); +nand NAND2_1243 (N5431, N5247, N5080); +nand NAND2_1244 (N5441, N5248, N5082); +nand NAND2_1245 (N5452, N5249, N5084); +nand NAND2_1246 (N5462, N5250, N5086); +not NOT1_1247 (N5469, N5169); +nand NAND2_1248 (N5470, N5088, N5252); +nand NAND2_1249 (N5477, N5090, N5253); +nand NAND2_1250 (N5488, N5092, N5254); +nand NAND2_1251 (N5498, N5094, N5255); +nand NAND2_1252 (N5506, N5096, N5256); +nand NAND2_1253 (N5520, N5098, N5257); +nand NAND2_1254 (N5536, N5100, N5258); +nand NAND2_1255 (N5549, N5102, N5259); +nand NAND2_1256 (N5555, N5104, N5260); +nand NAND2_1257 (N5562, N5261, N5107); +nand NAND2_1258 (N5573, N5262, N5109); +nand NAND2_1259 (N5579, N5263, N5111); +nand NAND2_1260 (N5595, N5274, N5114); +nand NAND2_1261 (N5606, N5275, N5116); +nand NAND2_1262 (N5616, N5180, N2715); +not NOT1_1263 (N5617, N5180); +not NOT1_1264 (N5618, N5183); +not NOT1_1265 (N5619, N5186); +not NOT1_1266 (N5620, N5189); +not NOT1_1267 (N5621, N5192); +not NOT1_1268 (N5622, N5195); +nand NAND2_1269 (N5624, N5121, N5282); +nand NAND2_1270 (N5634, N5123, N5283); +nand NAND2_1271 (N5655, N5126, N5298); +nand NAND2_1272 (N5671, N5128, N5299); +nand NAND2_1273 (N5684, N5130, N5300); +not NOT1_1274 (N5690, N5202); +not NOT1_1275 (N5691, N5211); +nand NAND2_1276 (N5692, N5303, N5304); +nand NAND2_1277 (N5696, N5137, N5305); +nand NAND2_1278 (N5700, N5306, N5140); +nand NAND2_1279 (N5703, N5307, N5308); +nand NAND2_1280 (N5707, N5309, N5310); +nand NAND2_1281 (N5711, N5145, N5311); +and AND2_1282 (N5726, N5166, N4512); +not NOT1_1283 (N5727, N5173); +not NOT1_1284 (N5728, N5177); +not NOT1_1285 (N5730, N5199); +not NOT1_1286 (N5731, N5205); +not NOT1_1287 (N5732, N5208); +not NOT1_1288 (N5733, N5214); +not NOT1_1289 (N5734, N5217); +not NOT1_1290 (N5735, N5220); +nand NAND2_1291 (N5736, N5365, N5366); +nand NAND2_1292 (N5739, N5363, N5364); +nand NAND2_1293 (N5742, N5369, N5370); +nand NAND2_1294 (N5745, N5367, N5368); +not NOT1_1295 (N5755, N5236); +nand NAND2_1296 (N5756, N5332, N5331); +and AND2_1297 (N5954, N5264, N4396); +nand NAND2_1298 (N5955, N1899, N5617); +not NOT1_1299 (N5956, N5346); +and AND2_1300 (N6005, N5284, N4456); +and AND2_1301 (N6006, N5284, N4456); +not NOT1_1302 (N6023, N5371); +nand NAND2_1303 (N6024, N5371, N5312); +not NOT1_1304 (N6025, N5315); +not NOT1_1305 (N6028, N5324); +buf BUFF1_1306 (N6031, N5319); +buf BUFF1_1307 (N6034, N5319); +buf BUFF1_1308 (N6037, N5328); +buf BUFF1_1309 (N6040, N5328); +not NOT1_1310 (N6044, N5385); +or OR2_1311 (N6045, N5166, N5726); +buf BUFF1_1312 (N6048, N5264); +buf BUFF1_1313 (N6051, N5284); +buf BUFF1_1314 (N6054, N5284); +not NOT1_1315 (N6065, N5374); +nand NAND2_1316 (N6066, N5374, N5054); +not NOT1_1317 (N6067, N5377); +not NOT1_1318 (N6068, N5382); +nand NAND2_1319 (N6069, N5382, N5755); +and AND2_1320 (N6071, N5470, N4316); +and AND3_1321 (N6072, N5477, N5470, N4320); +and AND4_1322 (N6073, N5488, N5470, N4325, N5477); +and AND4_1323 (N6074, N5562, N4357, N4385, N4364); +and AND2_1324 (N6075, N5389, N4280); +and AND3_1325 (N6076, N5396, N5389, N4284); +and AND4_1326 (N6077, N5407, N5389, N4290, N5396); +and AND4_1327 (N6078, N5624, N4418, N4445, N4425); +not NOT1_1328 (N6079, N5418); +and AND4_1329 (N6080, N5396, N5418, N5407, N5389); +and AND2_1330 (N6083, N5396, N4284); +and AND3_1331 (N6084, N5407, N4290, N5396); +and AND3_1332 (N6085, N5418, N5407, N5396); +and AND2_1333 (N6086, N5396, N4284); +and AND3_1334 (N6087, N4290, N5407, N5396); +and AND2_1335 (N6088, N5407, N4290); +and AND2_1336 (N6089, N5418, N5407); +and AND2_1337 (N6090, N5407, N4290); +and AND5_1338 (N6091, N5431, N5462, N5441, N5424, N5452); +and AND2_1339 (N6094, N5424, N4298); +and AND3_1340 (N6095, N5431, N5424, N4301); +and AND4_1341 (N6096, N5441, N5424, N4305, N5431); +and AND5_1342 (N6097, N5452, N5441, N5424, N4310, N5431); +and AND2_1343 (N6098, N5431, N4301); +and AND3_1344 (N6099, N5441, N4305, N5431); +and AND4_1345 (N6100, N5452, N5441, N4310, N5431); +and AND5_1346 (N6101, N4, N5462, N5441, N5452, N5431); +and AND2_1347 (N6102, N4305, N5441); +and AND3_1348 (N6103, N5452, N5441, N4310); +and AND4_1349 (N6104, N4, N5462, N5441, N5452); +and AND2_1350 (N6105, N5452, N4310); +and AND3_1351 (N6106, N4, N5462, N5452); +and AND2_1352 (N6107, N4, N5462); +and AND4_1353 (N6108, N5549, N5488, N5477, N5470); +and AND2_1354 (N6111, N5477, N4320); +and AND3_1355 (N6112, N5488, N4325, N5477); +and AND3_1356 (N6113, N5549, N5488, N5477); +and AND2_1357 (N6114, N5477, N4320); +and AND3_1358 (N6115, N5488, N4325, N5477); +and AND2_1359 (N6116, N5488, N4325); +and AND5_1360 (N6117, N5555, N5536, N5520, N5506, N5498); +and AND2_1361 (N6120, N5498, N4332); +and AND3_1362 (N6121, N5506, N5498, N4336); +and AND4_1363 (N6122, N5520, N5498, N4342, N5506); +and AND5_1364 (N6123, N5536, N5520, N5498, N4349, N5506); +and AND2_1365 (N6124, N5506, N4336); +and AND3_1366 (N6125, N5520, N4342, N5506); +and AND4_1367 (N6126, N5536, N5520, N4349, N5506); +and AND4_1368 (N6127, N5555, N5520, N5506, N5536); +and AND2_1369 (N6128, N5506, N4336); +and AND3_1370 (N6129, N5520, N4342, N5506); +and AND4_1371 (N6130, N5536, N5520, N4349, N5506); +and AND2_1372 (N6131, N5520, N4342); +and AND3_1373 (N6132, N5536, N5520, N4349); +and AND3_1374 (N6133, N5555, N5520, N5536); +and AND2_1375 (N6134, N5520, N4342); +and AND3_1376 (N6135, N5536, N5520, N4349); +and AND2_1377 (N6136, N5536, N4349); +and AND2_1378 (N6137, N5549, N5488); +and AND2_1379 (N6138, N5555, N5536); +not NOT1_1380 (N6139, N5573); +and AND4_1381 (N6140, N4364, N5573, N5562, N4357); +and AND3_1382 (N6143, N5562, N4385, N4364); +and AND3_1383 (N6144, N5573, N5562, N4364); +and AND3_1384 (N6145, N4385, N5562, N4364); +and AND2_1385 (N6146, N5562, N4385); +and AND2_1386 (N6147, N5573, N5562); +and AND2_1387 (N6148, N5562, N4385); +and AND5_1388 (N6149, N5264, N4405, N5595, N5579, N5606); +and AND2_1389 (N6152, N5579, N4067); +and AND3_1390 (N6153, N5264, N5579, N4396); +and AND4_1391 (N6154, N5595, N5579, N4400, N5264); +and AND5_1392 (N6155, N5606, N5595, N5579, N4412, N5264); +and AND3_1393 (N6156, N5595, N4400, N5264); +and AND4_1394 (N6157, N5606, N5595, N4412, N5264); +and AND5_1395 (N6158, N54, N4405, N5595, N5606, N5264); +and AND2_1396 (N6159, N4400, N5595); +and AND3_1397 (N6160, N5606, N5595, N4412); +and AND4_1398 (N6161, N54, N4405, N5595, N5606); +and AND2_1399 (N6162, N5606, N4412); +and AND3_1400 (N6163, N54, N4405, N5606); +nand NAND2_1401 (N6164, N5616, N5955); +and AND4_1402 (N6168, N5684, N5624, N4425, N4418); +and AND3_1403 (N6171, N5624, N4445, N4425); +and AND3_1404 (N6172, N5684, N5624, N4425); +and AND3_1405 (N6173, N5624, N4445, N4425); +and AND2_1406 (N6174, N5624, N4445); +and AND5_1407 (N6175, N4477, N5671, N5655, N5284, N5634); +and AND2_1408 (N6178, N5634, N4080); +and AND3_1409 (N6179, N5284, N5634, N4456); +and AND4_1410 (N6180, N5655, N5634, N4462, N5284); +and AND5_1411 (N6181, N5671, N5655, N5634, N4469, N5284); +and AND3_1412 (N6182, N5655, N4462, N5284); +and AND4_1413 (N6183, N5671, N5655, N4469, N5284); +and AND4_1414 (N6184, N4477, N5655, N5284, N5671); +and AND3_1415 (N6185, N5655, N4462, N5284); +and AND4_1416 (N6186, N5671, N5655, N4469, N5284); +and AND2_1417 (N6187, N5655, N4462); +and AND3_1418 (N6188, N5671, N5655, N4469); +and AND3_1419 (N6189, N4477, N5655, N5671); +and AND2_1420 (N6190, N5655, N4462); +and AND3_1421 (N6191, N5671, N5655, N4469); +and AND2_1422 (N6192, N5671, N4469); +and AND2_1423 (N6193, N5684, N5624); +and AND2_1424 (N6194, N4477, N5671); +not NOT1_1425 (N6197, N5692); +not NOT1_1426 (N6200, N5696); +not NOT1_1427 (N6203, N5703); +not NOT1_1428 (N6206, N5707); +buf BUFF1_1429 (N6209, N5700); +buf BUFF1_1430 (N6212, N5700); +buf BUFF1_1431 (N6215, N5711); +buf BUFF1_1432 (N6218, N5711); +nand NAND2_1433 (N6221, N5049, N6023); +not NOT1_1434 (N6234, N5756); +nand NAND2_1435 (N6235, N5756, N6044); +buf BUFF1_1436 (N6238, N5462); +buf BUFF1_1437 (N6241, N5389); +buf BUFF1_1438 (N6244, N5389); +buf BUFF1_1439 (N6247, N5396); +buf BUFF1_1440 (N6250, N5396); +buf BUFF1_1441 (N6253, N5407); +buf BUFF1_1442 (N6256, N5407); +buf BUFF1_1443 (N6259, N5424); +buf BUFF1_1444 (N6262, N5431); +buf BUFF1_1445 (N6265, N5441); +buf BUFF1_1446 (N6268, N5452); +buf BUFF1_1447 (N6271, N5549); +buf BUFF1_1448 (N6274, N5488); +buf BUFF1_1449 (N6277, N5470); +buf BUFF1_1450 (N6280, N5477); +buf BUFF1_1451 (N6283, N5549); +buf BUFF1_1452 (N6286, N5488); +buf BUFF1_1453 (N6289, N5470); +buf BUFF1_1454 (N6292, N5477); +buf BUFF1_1455 (N6295, N5555); +buf BUFF1_1456 (N6298, N5536); +buf BUFF1_1457 (N6301, N5498); +buf BUFF1_1458 (N6304, N5520); +buf BUFF1_1459 (N6307, N5506); +buf BUFF1_1460 (N6310, N5506); +buf BUFF1_1461 (N6313, N5555); +buf BUFF1_1462 (N6316, N5536); +buf BUFF1_1463 (N6319, N5498); +buf BUFF1_1464 (N6322, N5520); +buf BUFF1_1465 (N6325, N5562); +buf BUFF1_1466 (N6328, N5562); +buf BUFF1_1467 (N6331, N5579); +buf BUFF1_1468 (N6335, N5595); +buf BUFF1_1469 (N6338, N5606); +buf BUFF1_1470 (N6341, N5684); +buf BUFF1_1471 (N6344, N5624); +buf BUFF1_1472 (N6347, N5684); +buf BUFF1_1473 (N6350, N5624); +buf BUFF1_1474 (N6353, N5671); +buf BUFF1_1475 (N6356, N5634); +buf BUFF1_1476 (N6359, N5655); +buf BUFF1_1477 (N6364, N5671); +buf BUFF1_1478 (N6367, N5634); +buf BUFF1_1479 (N6370, N5655); +not NOT1_1480 (N6373, N5736); +not NOT1_1481 (N6374, N5739); +not NOT1_1482 (N6375, N5742); +not NOT1_1483 (N6376, N5745); +nand NAND2_1484 (N6377, N4243, N6065); +nand NAND2_1485 (N6378, N5236, N6068); +or OR4_1486 (N6382, N4268, N6071, N6072, N6073); +or OR4_1487 (N6386, N3968, N5065, N5066, N6074); +or OR4_1488 (N6388, N4271, N6075, N6076, N6077); +or OR4_1489 (N6392, N3968, N5067, N5068, N6078); +or OR5_1490 (N6397, N4297, N6094, N6095, N6096, N6097); +or OR2_1491 (N6411, N4320, N6116); +or OR5_1492 (N6415, N4331, N6120, N6121, N6122, N6123); +or OR2_1493 (N6419, N4342, N6136); +or OR5_1494 (N6427, N4392, N6152, N6153, N6154, N6155); +not NOT1_1495 (N6434, N6048); +or OR2_1496 (N6437, N4440, N6174); +or OR5_1497 (N6441, N4451, N6178, N6179, N6180, N6181); +or OR2_1498 (N6445, N4462, N6192); +not NOT1_1499 (N6448, N6051); +not NOT1_1500 (N6449, N6054); +nand NAND2_1501 (N6466, N6221, N6024); +not NOT1_1502 (N6469, N6031); +not NOT1_1503 (N6470, N6034); +not NOT1_1504 (N6471, N6037); +not NOT1_1505 (N6472, N6040); +and AND3_1506 (N6473, N5315, N4524, N6031); +and AND3_1507 (N6474, N6025, N5150, N6034); +and AND3_1508 (N6475, N5324, N4532, N6037); +and AND3_1509 (N6476, N6028, N5157, N6040); +nand NAND2_1510 (N6477, N5385, N6234); +nand NAND2_1511 (N6478, N6045, N132); +or OR4_1512 (N6482, N4280, N6083, N6084, N6085); +nor NOR3_1513 (N6486, N4280, N6086, N6087); +or OR3_1514 (N6490, N4284, N6088, N6089); +nor NOR2_1515 (N6494, N4284, N6090); +or OR5_1516 (N6500, N4298, N6098, N6099, N6100, N6101); +or OR4_1517 (N6504, N4301, N6102, N6103, N6104); +or OR3_1518 (N6508, N4305, N6105, N6106); +or OR2_1519 (N6512, N4310, N6107); +or OR4_1520 (N6516, N4316, N6111, N6112, N6113); +nor NOR3_1521 (N6526, N4316, N6114, N6115); +or OR4_1522 (N6536, N4336, N6131, N6132, N6133); +or OR5_1523 (N6539, N4332, N6124, N6125, N6126, N6127); +nor NOR3_1524 (N6553, N4336, N6134, N6135); +nor NOR4_1525 (N6556, N4332, N6128, N6129, N6130); +or OR4_1526 (N6566, N4375, N5117, N6143, N6144); +nor NOR3_1527 (N6569, N4375, N5118, N6145); +or OR3_1528 (N6572, N4379, N6146, N6147); +nor NOR2_1529 (N6575, N4379, N6148); +or OR5_1530 (N6580, N4067, N5954, N6156, N6157, N6158); +or OR4_1531 (N6584, N4396, N6159, N6160, N6161); +or OR3_1532 (N6587, N4400, N6162, N6163); +or OR4_1533 (N6592, N4436, N5132, N6171, N6172); +nor NOR3_1534 (N6599, N4436, N5133, N6173); +or OR4_1535 (N6606, N4456, N6187, N6188, N6189); +or OR5_1536 (N6609, N4080, N6005, N6182, N6183, N6184); +nor NOR3_1537 (N6619, N4456, N6190, N6191); +nor NOR4_1538 (N6622, N4080, N6006, N6185, N6186); +nand NAND2_1539 (N6630, N5739, N6373); +nand NAND2_1540 (N6631, N5736, N6374); +nand NAND2_1541 (N6632, N5745, N6375); +nand NAND2_1542 (N6633, N5742, N6376); +nand NAND2_1543 (N6634, N6377, N6066); +nand NAND2_1544 (N6637, N6069, N6378); +not NOT1_1545 (N6640, N6164); +and AND2_1546 (N6641, N6108, N6117); +and AND2_1547 (N6643, N6140, N6149); +and AND2_1548 (N6646, N6168, N6175); +and AND2_1549 (N6648, N6080, N6091); +nand NAND2_1550 (N6650, N6238, N2637); +not NOT1_1551 (N6651, N6238); +not NOT1_1552 (N6653, N6241); +not NOT1_1553 (N6655, N6244); +not NOT1_1554 (N6657, N6247); +not NOT1_1555 (N6659, N6250); +nand NAND2_1556 (N6660, N6253, N5087); +not NOT1_1557 (N6661, N6253); +nand NAND2_1558 (N6662, N6256, N5469); +not NOT1_1559 (N6663, N6256); +and AND2_1560 (N6664, N6091, N4); +not NOT1_1561 (N6666, N6259); +not NOT1_1562 (N6668, N6262); +not NOT1_1563 (N6670, N6265); +not NOT1_1564 (N6672, N6268); +not NOT1_1565 (N6675, N6117); +not NOT1_1566 (N6680, N6280); +not NOT1_1567 (N6681, N6292); +not NOT1_1568 (N6682, N6307); +not NOT1_1569 (N6683, N6310); +nand NAND2_1570 (N6689, N6325, N5120); +not NOT1_1571 (N6690, N6325); +nand NAND2_1572 (N6691, N6328, N5622); +not NOT1_1573 (N6692, N6328); +and AND2_1574 (N6693, N6149, N54); +not NOT1_1575 (N6695, N6331); +not NOT1_1576 (N6698, N6335); +nand NAND2_1577 (N6699, N6338, N5956); +not NOT1_1578 (N6700, N6338); +not NOT1_1579 (N6703, N6175); +not NOT1_1580 (N6708, N6209); +not NOT1_1581 (N6709, N6212); +not NOT1_1582 (N6710, N6215); +not NOT1_1583 (N6711, N6218); +and AND3_1584 (N6712, N5696, N5692, N6209); +and AND3_1585 (N6713, N6200, N6197, N6212); +and AND3_1586 (N6714, N5707, N5703, N6215); +and AND3_1587 (N6715, N6206, N6203, N6218); +buf BUFF1_1588 (N6716, N6466); +and AND3_1589 (N6718, N6164, N1777, N3130); +and AND3_1590 (N6719, N5150, N5315, N6469); +and AND3_1591 (N6720, N4524, N6025, N6470); +and AND3_1592 (N6721, N5157, N5324, N6471); +and AND3_1593 (N6722, N4532, N6028, N6472); +nand NAND2_1594 (N6724, N6477, N6235); +not NOT1_1595 (N6739, N6271); +not NOT1_1596 (N6740, N6274); +not NOT1_1597 (N6741, N6277); +not NOT1_1598 (N6744, N6283); +not NOT1_1599 (N6745, N6286); +not NOT1_1600 (N6746, N6289); +not NOT1_1601 (N6751, N6295); +not NOT1_1602 (N6752, N6298); +not NOT1_1603 (N6753, N6301); +not NOT1_1604 (N6754, N6304); +not NOT1_1605 (N6755, N6322); +not NOT1_1606 (N6760, N6313); +not NOT1_1607 (N6761, N6316); +not NOT1_1608 (N6762, N6319); +not NOT1_1609 (N6772, N6341); +not NOT1_1610 (N6773, N6344); +not NOT1_1611 (N6776, N6347); +not NOT1_1612 (N6777, N6350); +not NOT1_1613 (N6782, N6353); +not NOT1_1614 (N6783, N6356); +not NOT1_1615 (N6784, N6359); +not NOT1_1616 (N6785, N6370); +not NOT1_1617 (N6790, N6364); +not NOT1_1618 (N6791, N6367); +nand NAND2_1619 (N6792, N6630, N6631); +nand NAND2_1620 (N6795, N6632, N6633); +and AND2_1621 (N6801, N6108, N6415); +and AND2_1622 (N6802, N6427, N6140); +and AND2_1623 (N6803, N6397, N6080); +and AND2_1624 (N6804, N6168, N6441); +not NOT1_1625 (N6805, N6466); +nand NAND2_1626 (N6806, N1851, N6651); +not NOT1_1627 (N6807, N6482); +nand NAND2_1628 (N6808, N6482, N6653); +not NOT1_1629 (N6809, N6486); +nand NAND2_1630 (N6810, N6486, N6655); +not NOT1_1631 (N6811, N6490); +nand NAND2_1632 (N6812, N6490, N6657); +not NOT1_1633 (N6813, N6494); +nand NAND2_1634 (N6814, N6494, N6659); +nand NAND2_1635 (N6815, N4575, N6661); +nand NAND2_1636 (N6816, N5169, N6663); +or OR2_1637 (N6817, N6397, N6664); +not NOT1_1638 (N6823, N6500); +nand NAND2_1639 (N6824, N6500, N6666); +not NOT1_1640 (N6825, N6504); +nand NAND2_1641 (N6826, N6504, N6668); +not NOT1_1642 (N6827, N6508); +nand NAND2_1643 (N6828, N6508, N6670); +not NOT1_1644 (N6829, N6512); +nand NAND2_1645 (N6830, N6512, N6672); +not NOT1_1646 (N6831, N6415); +not NOT1_1647 (N6834, N6566); +nand NAND2_1648 (N6835, N6566, N5618); +not NOT1_1649 (N6836, N6569); +nand NAND2_1650 (N6837, N6569, N5619); +not NOT1_1651 (N6838, N6572); +nand NAND2_1652 (N6839, N6572, N5620); +not NOT1_1653 (N6840, N6575); +nand NAND2_1654 (N6841, N6575, N5621); +nand NAND2_1655 (N6842, N4627, N6690); +nand NAND2_1656 (N6843, N5195, N6692); +or OR2_1657 (N6844, N6427, N6693); +not NOT1_1658 (N6850, N6580); +nand NAND2_1659 (N6851, N6580, N6695); +not NOT1_1660 (N6852, N6584); +nand NAND2_1661 (N6853, N6584, N6434); +not NOT1_1662 (N6854, N6587); +nand NAND2_1663 (N6855, N6587, N6698); +nand NAND2_1664 (N6856, N5346, N6700); +not NOT1_1665 (N6857, N6441); +and AND3_1666 (N6860, N6197, N5696, N6708); +and AND3_1667 (N6861, N5692, N6200, N6709); +and AND3_1668 (N6862, N6203, N5707, N6710); +and AND3_1669 (N6863, N5703, N6206, N6711); +or OR3_1670 (N6866, N4197, N6718, N3785); +nor NOR2_1671 (N6872, N6719, N6473); +nor NOR2_1672 (N6873, N6720, N6474); +nor NOR2_1673 (N6874, N6721, N6475); +nor NOR2_1674 (N6875, N6722, N6476); +not NOT1_1675 (N6876, N6637); +buf BUFF1_1676 (N6877, N6724); +and AND2_1677 (N6879, N6045, N6478); +and AND2_1678 (N6880, N6478, N132); +or OR2_1679 (N6881, N6411, N6137); +not NOT1_1680 (N6884, N6516); +not NOT1_1681 (N6885, N6411); +not NOT1_1682 (N6888, N6526); +not NOT1_1683 (N6889, N6536); +nand NAND2_1684 (N6890, N6536, N5176); +or OR2_1685 (N6891, N6419, N6138); +not NOT1_1686 (N6894, N6539); +not NOT1_1687 (N6895, N6553); +nand NAND2_1688 (N6896, N6553, N5728); +not NOT1_1689 (N6897, N6419); +not NOT1_1690 (N6900, N6556); +or OR2_1691 (N6901, N6437, N6193); +not NOT1_1692 (N6904, N6592); +not NOT1_1693 (N6905, N6437); +not NOT1_1694 (N6908, N6599); +or OR2_1695 (N6909, N6445, N6194); +not NOT1_1696 (N6912, N6606); +not NOT1_1697 (N6913, N6609); +not NOT1_1698 (N6914, N6619); +nand NAND2_1699 (N6915, N6619, N5734); +not NOT1_1700 (N6916, N6445); +not NOT1_1701 (N6919, N6622); +not NOT1_1702 (N6922, N6634); +nand NAND2_1703 (N6923, N6634, N6067); +or OR2_1704 (N6924, N6382, N6801); +or OR2_1705 (N6925, N6386, N6802); +or OR2_1706 (N6926, N6388, N6803); +or OR2_1707 (N6927, N6392, N6804); +not NOT1_1708 (N6930, N6724); +nand NAND2_1709 (N6932, N6650, N6806); +nand NAND2_1710 (N6935, N6241, N6807); +nand NAND2_1711 (N6936, N6244, N6809); +nand NAND2_1712 (N6937, N6247, N6811); +nand NAND2_1713 (N6938, N6250, N6813); +nand NAND2_1714 (N6939, N6660, N6815); +nand NAND2_1715 (N6940, N6662, N6816); +nand NAND2_1716 (N6946, N6259, N6823); +nand NAND2_1717 (N6947, N6262, N6825); +nand NAND2_1718 (N6948, N6265, N6827); +nand NAND2_1719 (N6949, N6268, N6829); +nand NAND2_1720 (N6953, N5183, N6834); +nand NAND2_1721 (N6954, N5186, N6836); +nand NAND2_1722 (N6955, N5189, N6838); +nand NAND2_1723 (N6956, N5192, N6840); +nand NAND2_1724 (N6957, N6689, N6842); +nand NAND2_1725 (N6958, N6691, N6843); +nand NAND2_1726 (N6964, N6331, N6850); +nand NAND2_1727 (N6965, N6048, N6852); +nand NAND2_1728 (N6966, N6335, N6854); +nand NAND2_1729 (N6967, N6699, N6856); +nor NOR2_1730 (N6973, N6860, N6712); +nor NOR2_1731 (N6974, N6861, N6713); +nor NOR2_1732 (N6975, N6862, N6714); +nor NOR2_1733 (N6976, N6863, N6715); +not NOT1_1734 (N6977, N6792); +not NOT1_1735 (N6978, N6795); +or OR2_1736 (N6979, N6879, N6880); +nand NAND2_1737 (N6987, N4608, N6889); +nand NAND2_1738 (N6990, N5177, N6895); +nand NAND2_1739 (N6999, N5217, N6914); +nand NAND2_1740 (N7002, N5377, N6922); +nand NAND2_1741 (N7003, N6873, N6872); +nand NAND2_1742 (N7006, N6875, N6874); +and AND3_1743 (N7011, N6866, N2681, N2692); +and AND3_1744 (N7012, N6866, N2756, N2767); +and AND3_1745 (N7013, N6866, N2779, N2790); +not NOT1_1746 (N7015, N6866); +and AND3_1747 (N7016, N6866, N2801, N2812); +nand NAND2_1748 (N7018, N6935, N6808); +nand NAND2_1749 (N7019, N6936, N6810); +nand NAND2_1750 (N7020, N6937, N6812); +nand NAND2_1751 (N7021, N6938, N6814); +not NOT1_1752 (N7022, N6939); +not NOT1_1753 (N7023, N6817); +nand NAND2_1754 (N7028, N6946, N6824); +nand NAND2_1755 (N7031, N6947, N6826); +nand NAND2_1756 (N7034, N6948, N6828); +nand NAND2_1757 (N7037, N6949, N6830); +and AND2_1758 (N7040, N6817, N6079); +and AND2_1759 (N7041, N6831, N6675); +nand NAND2_1760 (N7044, N6953, N6835); +nand NAND2_1761 (N7045, N6954, N6837); +nand NAND2_1762 (N7046, N6955, N6839); +nand NAND2_1763 (N7047, N6956, N6841); +not NOT1_1764 (N7048, N6957); +not NOT1_1765 (N7049, N6844); +nand NAND2_1766 (N7054, N6964, N6851); +nand NAND2_1767 (N7057, N6965, N6853); +nand NAND2_1768 (N7060, N6966, N6855); +and AND2_1769 (N7064, N6844, N6139); +and AND2_1770 (N7065, N6857, N6703); +not NOT1_1771 (N7072, N6881); +nand NAND2_1772 (N7073, N6881, N5172); +not NOT1_1773 (N7074, N6885); +nand NAND2_1774 (N7075, N6885, N5727); +nand NAND2_1775 (N7076, N6890, N6987); +not NOT1_1776 (N7079, N6891); +nand NAND2_1777 (N7080, N6896, N6990); +not NOT1_1778 (N7083, N6897); +not NOT1_1779 (N7084, N6901); +nand NAND2_1780 (N7085, N6901, N5198); +not NOT1_1781 (N7086, N6905); +nand NAND2_1782 (N7087, N6905, N5731); +not NOT1_1783 (N7088, N6909); +nand NAND2_1784 (N7089, N6909, N6912); +nand NAND2_1785 (N7090, N6915, N6999); +not NOT1_1786 (N7093, N6916); +nand NAND2_1787 (N7094, N6974, N6973); +nand NAND2_1788 (N7097, N6976, N6975); +nand NAND2_1789 (N7101, N7002, N6923); +not NOT1_1790 (N7105, N6932); +not NOT1_1791 (N7110, N6967); +and AND3_1792 (N7114, N6979, N603, N1755); +not NOT1_1793 (N7115, N7019); +not NOT1_1794 (N7116, N7021); +and AND2_1795 (N7125, N6817, N7018); +and AND2_1796 (N7126, N6817, N7020); +and AND2_1797 (N7127, N6817, N7022); +not NOT1_1798 (N7130, N7045); +not NOT1_1799 (N7131, N7047); +and AND2_1800 (N7139, N6844, N7044); +and AND2_1801 (N7140, N6844, N7046); +and AND2_1802 (N7141, N6844, N7048); +and AND3_1803 (N7146, N6932, N1761, N3108); +and AND3_1804 (N7147, N6967, N1777, N3130); +not NOT1_1805 (N7149, N7003); +not NOT1_1806 (N7150, N7006); +nand NAND2_1807 (N7151, N7006, N6876); +nand NAND2_1808 (N7152, N4605, N7072); +nand NAND2_1809 (N7153, N5173, N7074); +nand NAND2_1810 (N7158, N4646, N7084); +nand NAND2_1811 (N7159, N5205, N7086); +nand NAND2_1812 (N7160, N6606, N7088); +not NOT1_1813 (N7166, N7037); +not NOT1_1814 (N7167, N7034); +not NOT1_1815 (N7168, N7031); +not NOT1_1816 (N7169, N7028); +not NOT1_1817 (N7170, N7060); +not NOT1_1818 (N7171, N7057); +not NOT1_1819 (N7172, N7054); +and AND2_1820 (N7173, N7115, N7023); +and AND2_1821 (N7174, N7116, N7023); +and AND2_1822 (N7175, N6940, N7023); +and AND2_1823 (N7176, N5418, N7023); +not NOT1_1824 (N7177, N7041); +and AND2_1825 (N7178, N7130, N7049); +and AND2_1826 (N7179, N7131, N7049); +and AND2_1827 (N7180, N6958, N7049); +and AND2_1828 (N7181, N5573, N7049); +not NOT1_1829 (N7182, N7065); +not NOT1_1830 (N7183, N7094); +nand NAND2_1831 (N7184, N7094, N6977); +not NOT1_1832 (N7185, N7097); +nand NAND2_1833 (N7186, N7097, N6978); +and AND3_1834 (N7187, N7037, N1761, N3108); +and AND3_1835 (N7188, N7034, N1761, N3108); +and AND3_1836 (N7189, N7031, N1761, N3108); +or OR3_1837 (N7190, N4956, N7146, N3781); +and AND3_1838 (N7196, N7060, N1777, N3130); +and AND3_1839 (N7197, N7057, N1777, N3130); +or OR3_1840 (N7198, N4960, N7147, N3786); +nand NAND2_1841 (N7204, N7101, N7149); +not NOT1_1842 (N7205, N7101); +nand NAND2_1843 (N7206, N6637, N7150); +and AND3_1844 (N7207, N7028, N1793, N3158); +and AND3_1845 (N7208, N7054, N1807, N3180); +nand NAND2_1846 (N7209, N7073, N7152); +nand NAND2_1847 (N7212, N7075, N7153); +not NOT1_1848 (N7215, N7076); +nand NAND2_1849 (N7216, N7076, N7079); +not NOT1_1850 (N7217, N7080); +nand NAND2_1851 (N7218, N7080, N7083); +nand NAND2_1852 (N7219, N7085, N7158); +nand NAND2_1853 (N7222, N7087, N7159); +nand NAND2_1854 (N7225, N7089, N7160); +not NOT1_1855 (N7228, N7090); +nand NAND2_1856 (N7229, N7090, N7093); +or OR2_1857 (N7236, N7173, N7125); +or OR2_1858 (N7239, N7174, N7126); +or OR2_1859 (N7242, N7175, N7127); +or OR2_1860 (N7245, N7176, N7040); +or OR2_1861 (N7250, N7178, N7139); +or OR2_1862 (N7257, N7179, N7140); +or OR2_1863 (N7260, N7180, N7141); +or OR2_1864 (N7263, N7181, N7064); +nand NAND2_1865 (N7268, N6792, N7183); +nand NAND2_1866 (N7269, N6795, N7185); +or OR3_1867 (N7270, N4957, N7187, N3782); +or OR3_1868 (N7276, N4958, N7188, N3783); +or OR3_1869 (N7282, N4959, N7189, N3784); +or OR3_1870 (N7288, N4961, N7196, N3787); +or OR3_1871 (N7294, N3998, N7197, N3788); +nand NAND2_1872 (N7300, N7003, N7205); +nand NAND2_1873 (N7301, N7206, N7151); +or OR3_1874 (N7304, N4980, N7207, N3800); +or OR3_1875 (N7310, N4984, N7208, N3805); +nand NAND2_1876 (N7320, N6891, N7215); +nand NAND2_1877 (N7321, N6897, N7217); +nand NAND2_1878 (N7328, N6916, N7228); +and AND3_1879 (N7338, N7190, N1185, N2692); +and AND3_1880 (N7339, N7198, N2681, N2692); +and AND3_1881 (N7340, N7190, N1247, N2767); +and AND3_1882 (N7341, N7198, N2756, N2767); +and AND3_1883 (N7342, N7190, N1327, N2790); +and AND3_1884 (N7349, N7198, N2779, N2790); +and AND3_1885 (N7357, N7198, N2801, N2812); +not NOT1_1886 (N7363, N7198); +and AND3_1887 (N7364, N7190, N1351, N2812); +not NOT1_1888 (N7365, N7190); +nand NAND2_1889 (N7394, N7268, N7184); +nand NAND2_1890 (N7397, N7269, N7186); +nand NAND2_1891 (N7402, N7204, N7300); +not NOT1_1892 (N7405, N7209); +nand NAND2_1893 (N7406, N7209, N6884); +not NOT1_1894 (N7407, N7212); +nand NAND2_1895 (N7408, N7212, N6888); +nand NAND2_1896 (N7409, N7320, N7216); +nand NAND2_1897 (N7412, N7321, N7218); +not NOT1_1898 (N7415, N7219); +nand NAND2_1899 (N7416, N7219, N6904); +not NOT1_1900 (N7417, N7222); +nand NAND2_1901 (N7418, N7222, N6908); +not NOT1_1902 (N7419, N7225); +nand NAND2_1903 (N7420, N7225, N6913); +nand NAND2_1904 (N7421, N7328, N7229); +not NOT1_1905 (N7424, N7245); +not NOT1_1906 (N7425, N7242); +not NOT1_1907 (N7426, N7239); +not NOT1_1908 (N7427, N7236); +not NOT1_1909 (N7428, N7263); +not NOT1_1910 (N7429, N7260); +not NOT1_1911 (N7430, N7257); +not NOT1_1912 (N7431, N7250); +not NOT1_1913 (N7432, N7250); +and AND3_1914 (N7433, N7310, N2653, N2664); +and AND3_1915 (N7434, N7304, N1161, N2664); +or OR4_1916 (N7435, N7011, N7338, N3621, N2591); +and AND3_1917 (N7436, N7270, N1185, N2692); +and AND3_1918 (N7437, N7288, N2681, N2692); +and AND3_1919 (N7438, N7276, N1185, N2692); +and AND3_1920 (N7439, N7294, N2681, N2692); +and AND3_1921 (N7440, N7282, N1185, N2692); +and AND3_1922 (N7441, N7310, N2728, N2739); +and AND3_1923 (N7442, N7304, N1223, N2739); +or OR4_1924 (N7443, N7012, N7340, N3632, N2600); +and AND3_1925 (N7444, N7270, N1247, N2767); +and AND3_1926 (N7445, N7288, N2756, N2767); +and AND3_1927 (N7446, N7276, N1247, N2767); +and AND3_1928 (N7447, N7294, N2756, N2767); +and AND3_1929 (N7448, N7282, N1247, N2767); +or OR4_1930 (N7449, N7013, N7342, N3641, N2605); +and AND3_1931 (N7450, N7310, N3041, N3052); +and AND3_1932 (N7451, N7304, N1697, N3052); +and AND3_1933 (N7452, N7294, N2779, N2790); +and AND3_1934 (N7453, N7282, N1327, N2790); +and AND3_1935 (N7454, N7288, N2779, N2790); +and AND3_1936 (N7455, N7276, N1327, N2790); +and AND3_1937 (N7456, N7270, N1327, N2790); +and AND3_1938 (N7457, N7310, N3075, N3086); +and AND3_1939 (N7458, N7304, N1731, N3086); +and AND3_1940 (N7459, N7294, N2801, N2812); +and AND3_1941 (N7460, N7282, N1351, N2812); +and AND3_1942 (N7461, N7288, N2801, N2812); +and AND3_1943 (N7462, N7276, N1351, N2812); +and AND3_1944 (N7463, N7270, N1351, N2812); +and AND3_1945 (N7464, N7250, N603, N599); +not NOT1_1946 (N7465, N7310); +not NOT1_1947 (N7466, N7294); +not NOT1_1948 (N7467, N7288); +not NOT1_1949 (N7468, N7301); +or OR4_1950 (N7469, N7016, N7364, N3660, N2626); +not NOT1_1951 (N7470, N7304); +not NOT1_1952 (N7471, N7282); +not NOT1_1953 (N7472, N7276); +not NOT1_1954 (N7473, N7270); +buf BUFF1_1955 (N7474, N7394); +buf BUFF1_1956 (N7476, N7397); +and AND2_1957 (N7479, N7301, N3068); +and AND3_1958 (N7481, N7245, N1793, N3158); +and AND3_1959 (N7482, N7242, N1793, N3158); +and AND3_1960 (N7483, N7239, N1793, N3158); +and AND3_1961 (N7484, N7236, N1793, N3158); +and AND3_1962 (N7485, N7263, N1807, N3180); +and AND3_1963 (N7486, N7260, N1807, N3180); +and AND3_1964 (N7487, N7257, N1807, N3180); +and AND3_1965 (N7488, N7250, N1807, N3180); +nand NAND2_1966 (N7489, N6979, N7250); +nand NAND2_1967 (N7492, N6516, N7405); +nand NAND2_1968 (N7493, N6526, N7407); +nand NAND2_1969 (N7498, N6592, N7415); +nand NAND2_1970 (N7499, N6599, N7417); +nand NAND2_1971 (N7500, N6609, N7419); +and AND9_1972 (N7503, N7105, N7166, N7167, N7168, N7169, N7424, N7425, N7426, N7427); +and AND9_1973 (N7504, N6640, N7110, N7170, N7171, N7172, N7428, N7429, N7430, N7431); +or OR4_1974 (N7505, N7433, N7434, N3616, N2585); +and AND2_1975 (N7506, N7435, N2675); +or OR4_1976 (N7507, N7339, N7436, N3622, N2592); +or OR4_1977 (N7508, N7437, N7438, N3623, N2593); +or OR4_1978 (N7509, N7439, N7440, N3624, N2594); +or OR4_1979 (N7510, N7441, N7442, N3627, N2595); +and AND2_1980 (N7511, N7443, N2750); +or OR4_1981 (N7512, N7341, N7444, N3633, N2601); +or OR4_1982 (N7513, N7445, N7446, N3634, N2602); +or OR4_1983 (N7514, N7447, N7448, N3635, N2603); +or OR4_1984 (N7515, N7450, N7451, N3646, N2610); +or OR4_1985 (N7516, N7452, N7453, N3647, N2611); +or OR4_1986 (N7517, N7454, N7455, N3648, N2612); +or OR4_1987 (N7518, N7349, N7456, N3649, N2613); +or OR4_1988 (N7519, N7457, N7458, N3654, N2618); +or OR4_1989 (N7520, N7459, N7460, N3655, N2619); +or OR4_1990 (N7521, N7461, N7462, N3656, N2620); +or OR4_1991 (N7522, N7357, N7463, N3657, N2621); +or OR4_1992 (N7525, N4741, N7114, N2624, N7464); +and AND3_1993 (N7526, N7468, N3119, N3130); +not NOT1_1994 (N7527, N7394); +not NOT1_1995 (N7528, N7397); +not NOT1_1996 (N7529, N7402); +and AND2_1997 (N7530, N7402, N3068); +or OR3_1998 (N7531, N4981, N7481, N3801); +or OR3_1999 (N7537, N4982, N7482, N3802); +or OR3_2000 (N7543, N4983, N7483, N3803); +or OR3_2001 (N7549, N5165, N7484, N3804); +or OR3_2002 (N7555, N4985, N7485, N3806); +or OR3_2003 (N7561, N4986, N7486, N3807); +or OR3_2004 (N7567, N4547, N7487, N3808); +or OR3_2005 (N7573, N4987, N7488, N3809); +nand NAND2_2006 (N7579, N7492, N7406); +nand NAND2_2007 (N7582, N7493, N7408); +not NOT1_2008 (N7585, N7409); +nand NAND2_2009 (N7586, N7409, N6894); +not NOT1_2010 (N7587, N7412); +nand NAND2_2011 (N7588, N7412, N6900); +nand NAND2_2012 (N7589, N7498, N7416); +nand NAND2_2013 (N7592, N7499, N7418); +nand NAND2_2014 (N7595, N7500, N7420); +not NOT1_2015 (N7598, N7421); +nand NAND2_2016 (N7599, N7421, N6919); +and AND2_2017 (N7600, N7505, N2647); +and AND2_2018 (N7601, N7507, N2675); +and AND2_2019 (N7602, N7508, N2675); +and AND2_2020 (N7603, N7509, N2675); +and AND2_2021 (N7604, N7510, N2722); +and AND2_2022 (N7605, N7512, N2750); +and AND2_2023 (N7606, N7513, N2750); +and AND2_2024 (N7607, N7514, N2750); +and AND2_2025 (N7624, N6979, N7489); +and AND2_2026 (N7625, N7489, N7250); +and AND2_2027 (N7626, N1149, N7525); +and AND5_2028 (N7631, N562, N7527, N7528, N6805, N6930); +and AND3_2029 (N7636, N7529, N3097, N3108); +nand NAND2_2030 (N7657, N6539, N7585); +nand NAND2_2031 (N7658, N6556, N7587); +nand NAND2_2032 (N7665, N6622, N7598); +and AND3_2033 (N7666, N7555, N2653, N2664); +and AND3_2034 (N7667, N7531, N1161, N2664); +and AND3_2035 (N7668, N7561, N2653, N2664); +and AND3_2036 (N7669, N7537, N1161, N2664); +and AND3_2037 (N7670, N7567, N2653, N2664); +and AND3_2038 (N7671, N7543, N1161, N2664); +and AND3_2039 (N7672, N7573, N2653, N2664); +and AND3_2040 (N7673, N7549, N1161, N2664); +and AND3_2041 (N7674, N7555, N2728, N2739); +and AND3_2042 (N7675, N7531, N1223, N2739); +and AND3_2043 (N7676, N7561, N2728, N2739); +and AND3_2044 (N7677, N7537, N1223, N2739); +and AND3_2045 (N7678, N7567, N2728, N2739); +and AND3_2046 (N7679, N7543, N1223, N2739); +and AND3_2047 (N7680, N7573, N2728, N2739); +and AND3_2048 (N7681, N7549, N1223, N2739); +and AND3_2049 (N7682, N7573, N3075, N3086); +and AND3_2050 (N7683, N7549, N1731, N3086); +and AND3_2051 (N7684, N7573, N3041, N3052); +and AND3_2052 (N7685, N7549, N1697, N3052); +and AND3_2053 (N7686, N7567, N3041, N3052); +and AND3_2054 (N7687, N7543, N1697, N3052); +and AND3_2055 (N7688, N7561, N3041, N3052); +and AND3_2056 (N7689, N7537, N1697, N3052); +and AND3_2057 (N7690, N7555, N3041, N3052); +and AND3_2058 (N7691, N7531, N1697, N3052); +and AND3_2059 (N7692, N7567, N3075, N3086); +and AND3_2060 (N7693, N7543, N1731, N3086); +and AND3_2061 (N7694, N7561, N3075, N3086); +and AND3_2062 (N7695, N7537, N1731, N3086); +and AND3_2063 (N7696, N7555, N3075, N3086); +and AND3_2064 (N7697, N7531, N1731, N3086); +or OR2_2065 (N7698, N7624, N7625); +not NOT1_2066 (N7699, N7573); +not NOT1_2067 (N7700, N7567); +not NOT1_2068 (N7701, N7561); +not NOT1_2069 (N7702, N7555); +and AND3_2070 (N7703, N1156, N7631, N245); +not NOT1_2071 (N7704, N7549); +not NOT1_2072 (N7705, N7543); +not NOT1_2073 (N7706, N7537); +not NOT1_2074 (N7707, N7531); +not NOT1_2075 (N7708, N7579); +nand NAND2_2076 (N7709, N7579, N6739); +not NOT1_2077 (N7710, N7582); +nand NAND2_2078 (N7711, N7582, N6744); +nand NAND2_2079 (N7712, N7657, N7586); +nand NAND2_2080 (N7715, N7658, N7588); +not NOT1_2081 (N7718, N7589); +nand NAND2_2082 (N7719, N7589, N6772); +not NOT1_2083 (N7720, N7592); +nand NAND2_2084 (N7721, N7592, N6776); +not NOT1_2085 (N7722, N7595); +nand NAND2_2086 (N7723, N7595, N5733); +nand NAND2_2087 (N7724, N7665, N7599); +or OR4_2088 (N7727, N7666, N7667, N3617, N2586); +or OR4_2089 (N7728, N7668, N7669, N3618, N2587); +or OR4_2090 (N7729, N7670, N7671, N3619, N2588); +or OR4_2091 (N7730, N7672, N7673, N3620, N2589); +or OR4_2092 (N7731, N7674, N7675, N3628, N2596); +or OR4_2093 (N7732, N7676, N7677, N3629, N2597); +or OR4_2094 (N7733, N7678, N7679, N3630, N2598); +or OR4_2095 (N7734, N7680, N7681, N3631, N2599); +or OR4_2096 (N7735, N7682, N7683, N3638, N2604); +or OR4_2097 (N7736, N7684, N7685, N3642, N2606); +or OR4_2098 (N7737, N7686, N7687, N3643, N2607); +or OR4_2099 (N7738, N7688, N7689, N3644, N2608); +or OR4_2100 (N7739, N7690, N7691, N3645, N2609); +or OR4_2101 (N7740, N7692, N7693, N3651, N2615); +or OR4_2102 (N7741, N7694, N7695, N3652, N2616); +or OR4_2103 (N7742, N7696, N7697, N3653, N2617); +nand NAND2_2104 (N7743, N6271, N7708); +nand NAND2_2105 (N7744, N6283, N7710); +nand NAND2_2106 (N7749, N6341, N7718); +nand NAND2_2107 (N7750, N6347, N7720); +nand NAND2_2108 (N7751, N5214, N7722); +and AND2_2109 (N7754, N7727, N2647); +and AND2_2110 (N7755, N7728, N2647); +and AND2_2111 (N7756, N7729, N2647); +and AND2_2112 (N7757, N7730, N2647); +and AND2_2113 (N7758, N7731, N2722); +and AND2_2114 (N7759, N7732, N2722); +and AND2_2115 (N7760, N7733, N2722); +and AND2_2116 (N7761, N7734, N2722); +nand NAND2_2117 (N7762, N7743, N7709); +nand NAND2_2118 (N7765, N7744, N7711); +not NOT1_2119 (N7768, N7712); +nand NAND2_2120 (N7769, N7712, N6751); +not NOT1_2121 (N7770, N7715); +nand NAND2_2122 (N7771, N7715, N6760); +nand NAND2_2123 (N7772, N7749, N7719); +nand NAND2_2124 (N7775, N7750, N7721); +nand NAND2_2125 (N7778, N7751, N7723); +not NOT1_2126 (N7781, N7724); +nand NAND2_2127 (N7782, N7724, N5735); +nand NAND2_2128 (N7787, N6295, N7768); +nand NAND2_2129 (N7788, N6313, N7770); +nand NAND2_2130 (N7795, N5220, N7781); +not NOT1_2131 (N7796, N7762); +nand NAND2_2132 (N7797, N7762, N6740); +not NOT1_2133 (N7798, N7765); +nand NAND2_2134 (N7799, N7765, N6745); +nand NAND2_2135 (N7800, N7787, N7769); +nand NAND2_2136 (N7803, N7788, N7771); +not NOT1_2137 (N7806, N7772); +nand NAND2_2138 (N7807, N7772, N6773); +not NOT1_2139 (N7808, N7775); +nand NAND2_2140 (N7809, N7775, N6777); +not NOT1_2141 (N7810, N7778); +nand NAND2_2142 (N7811, N7778, N6782); +nand NAND2_2143 (N7812, N7795, N7782); +nand NAND2_2144 (N7815, N6274, N7796); +nand NAND2_2145 (N7816, N6286, N7798); +nand NAND2_2146 (N7821, N6344, N7806); +nand NAND2_2147 (N7822, N6350, N7808); +nand NAND2_2148 (N7823, N6353, N7810); +nand NAND2_2149 (N7826, N7815, N7797); +nand NAND2_2150 (N7829, N7816, N7799); +not NOT1_2151 (N7832, N7800); +nand NAND2_2152 (N7833, N7800, N6752); +not NOT1_2153 (N7834, N7803); +nand NAND2_2154 (N7835, N7803, N6761); +nand NAND2_2155 (N7836, N7821, N7807); +nand NAND2_2156 (N7839, N7822, N7809); +nand NAND2_2157 (N7842, N7823, N7811); +not NOT1_2158 (N7845, N7812); +nand NAND2_2159 (N7846, N7812, N6790); +nand NAND2_2160 (N7851, N6298, N7832); +nand NAND2_2161 (N7852, N6316, N7834); +nand NAND2_2162 (N7859, N6364, N7845); +not NOT1_2163 (N7860, N7826); +nand NAND2_2164 (N7861, N7826, N6741); +not NOT1_2165 (N7862, N7829); +nand NAND2_2166 (N7863, N7829, N6746); +nand NAND2_2167 (N7864, N7851, N7833); +nand NAND2_2168 (N7867, N7852, N7835); +not NOT1_2169 (N7870, N7836); +nand NAND2_2170 (N7871, N7836, N5730); +not NOT1_2171 (N7872, N7839); +nand NAND2_2172 (N7873, N7839, N5732); +not NOT1_2173 (N7874, N7842); +nand NAND2_2174 (N7875, N7842, N6783); +nand NAND2_2175 (N7876, N7859, N7846); +nand NAND2_2176 (N7879, N6277, N7860); +nand NAND2_2177 (N7880, N6289, N7862); +nand NAND2_2178 (N7885, N5199, N7870); +nand NAND2_2179 (N7886, N5208, N7872); +nand NAND2_2180 (N7887, N6356, N7874); +nand NAND2_2181 (N7890, N7879, N7861); +nand NAND2_2182 (N7893, N7880, N7863); +not NOT1_2183 (N7896, N7864); +nand NAND2_2184 (N7897, N7864, N6753); +not NOT1_2185 (N7898, N7867); +nand NAND2_2186 (N7899, N7867, N6762); +nand NAND2_2187 (N7900, N7885, N7871); +nand NAND2_2188 (N7903, N7886, N7873); +nand NAND2_2189 (N7906, N7887, N7875); +not NOT1_2190 (N7909, N7876); +nand NAND2_2191 (N7910, N7876, N6791); +nand NAND2_2192 (N7917, N6301, N7896); +nand NAND2_2193 (N7918, N6319, N7898); +nand NAND2_2194 (N7923, N6367, N7909); +not NOT1_2195 (N7924, N7890); +nand NAND2_2196 (N7925, N7890, N6680); +not NOT1_2197 (N7926, N7893); +nand NAND2_2198 (N7927, N7893, N6681); +not NOT1_2199 (N7928, N7900); +nand NAND2_2200 (N7929, N7900, N5690); +not NOT1_2201 (N7930, N7903); +nand NAND2_2202 (N7931, N7903, N5691); +nand NAND2_2203 (N7932, N7917, N7897); +nand NAND2_2204 (N7935, N7918, N7899); +not NOT1_2205 (N7938, N7906); +nand NAND2_2206 (N7939, N7906, N6784); +nand NAND2_2207 (N7940, N7923, N7910); +nand NAND2_2208 (N7943, N6280, N7924); +nand NAND2_2209 (N7944, N6292, N7926); +nand NAND2_2210 (N7945, N5202, N7928); +nand NAND2_2211 (N7946, N5211, N7930); +nand NAND2_2212 (N7951, N6359, N7938); +nand NAND2_2213 (N7954, N7943, N7925); +nand NAND2_2214 (N7957, N7944, N7927); +nand NAND2_2215 (N7960, N7945, N7929); +nand NAND2_2216 (N7963, N7946, N7931); +not NOT1_2217 (N7966, N7932); +nand NAND2_2218 (N7967, N7932, N6754); +not NOT1_2219 (N7968, N7935); +nand NAND2_2220 (N7969, N7935, N6755); +nand NAND2_2221 (N7970, N7951, N7939); +not NOT1_2222 (N7973, N7940); +nand NAND2_2223 (N7974, N7940, N6785); +nand NAND2_2224 (N7984, N6304, N7966); +nand NAND2_2225 (N7985, N6322, N7968); +nand NAND2_2226 (N7987, N6370, N7973); +and AND3_2227 (N7988, N7957, N6831, N1157); +and AND3_2228 (N7989, N7954, N6415, N1157); +and AND3_2229 (N7990, N7957, N7041, N566); +and AND3_2230 (N7991, N7954, N7177, N566); +not NOT1_2231 (N7992, N7970); +nand NAND2_2232 (N7993, N7970, N6448); +and AND3_2233 (N7994, N7963, N6857, N1219); +and AND3_2234 (N7995, N7960, N6441, N1219); +and AND3_2235 (N7996, N7963, N7065, N583); +and AND3_2236 (N7997, N7960, N7182, N583); +nand NAND2_2237 (N7998, N7984, N7967); +nand NAND2_2238 (N8001, N7985, N7969); +nand NAND2_2239 (N8004, N7987, N7974); +nand NAND2_2240 (N8009, N6051, N7992); +or OR4_2241 (N8013, N7988, N7989, N7990, N7991); +or OR4_2242 (N8017, N7994, N7995, N7996, N7997); +not NOT1_2243 (N8020, N7998); +nand NAND2_2244 (N8021, N7998, N6682); +not NOT1_2245 (N8022, N8001); +nand NAND2_2246 (N8023, N8001, N6683); +nand NAND2_2247 (N8025, N8009, N7993); +not NOT1_2248 (N8026, N8004); +nand NAND2_2249 (N8027, N8004, N6449); +nand NAND2_2250 (N8031, N6307, N8020); +nand NAND2_2251 (N8032, N6310, N8022); +not NOT1_2252 (N8033, N8013); +nand NAND2_2253 (N8034, N6054, N8026); +and AND2_2254 (N8035, N583, N8025); +not NOT1_2255 (N8036, N8017); +nand NAND2_2256 (N8037, N8031, N8021); +nand NAND2_2257 (N8038, N8032, N8023); +nand NAND2_2258 (N8039, N8034, N8027); +not NOT1_2259 (N8040, N8038); +and AND2_2260 (N8041, N566, N8037); +not NOT1_2261 (N8042, N8039); +and AND2_2262 (N8043, N8040, N1157); +and AND2_2263 (N8044, N8042, N1219); +or OR2_2264 (N8045, N8043, N8041); +or OR2_2265 (N8048, N8044, N8035); +nand NAND2_2266 (N8055, N8045, N8033); +not NOT1_2267 (N8056, N8045); +nand NAND2_2268 (N8057, N8048, N8036); +not NOT1_2269 (N8058, N8048); +nand NAND2_2270 (N8059, N8013, N8056); +nand NAND2_2271 (N8060, N8017, N8058); +nand NAND2_2272 (N8061, N8055, N8059); +nand NAND2_2273 (N8064, N8057, N8060); +and AND3_2274 (N8071, N8064, N1777, N3130); +and AND3_2275 (N8072, N8061, N1761, N3108); +not NOT1_2276 (N8073, N8061); +not NOT1_2277 (N8074, N8064); +or OR4_2278 (N8075, N7526, N8071, N3659, N2625); +or OR4_2279 (N8076, N7636, N8072, N3661, N2627); +and AND2_2280 (N8077, N8073, N1727); +and AND2_2281 (N8078, N8074, N1727); +or OR2_2282 (N8079, N7530, N8077); +or OR2_2283 (N8082, N7479, N8078); +and AND2_2284 (N8089, N8079, N3063); +and AND2_2285 (N8090, N8082, N3063); +and AND2_2286 (N8091, N8079, N3063); +and AND2_2287 (N8092, N8082, N3063); +or OR2_2288 (N8093, N8089, N3071); +or OR2_2289 (N8096, N8090, N3072); +or OR2_2290 (N8099, N8091, N3073); +or OR2_2291 (N8102, N8092, N3074); +and AND3_2292 (N8113, N8102, N2779, N2790); +and AND3_2293 (N8114, N8099, N1327, N2790); +and AND3_2294 (N8115, N8102, N2801, N2812); +and AND3_2295 (N8116, N8099, N1351, N2812); +and AND3_2296 (N8117, N8096, N2681, N2692); +and AND3_2297 (N8118, N8093, N1185, N2692); +and AND3_2298 (N8119, N8096, N2756, N2767); +and AND3_2299 (N8120, N8093, N1247, N2767); +or OR4_2300 (N8121, N8117, N8118, N3662, N2703); +or OR4_2301 (N8122, N8119, N8120, N3663, N2778); +or OR4_2302 (N8123, N8113, N8114, N3650, N2614); +or OR4_2303 (N8124, N8115, N8116, N3658, N2622); +and AND2_2304 (N8125, N8121, N2675); +and AND2_2305 (N8126, N8122, N2750); +not NOT1_2306 (N8127, N8125); +not NOT1_2307 (N8128, N8126); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c5315_tb.v b/SupplementaryMaterials/Iscas85Verilog/c5315_tb.v new file mode 100644 index 0000000..efa975b --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c5315_tb.v @@ -0,0 +1,136 @@ + +module c5315_tb(); + + + +reg N1,N4,N11,N14,N17,N20,N23,N24,N25,N26, + N27,N31,N34,N37,N40,N43,N46,N49,N52,N53, + N54,N61,N64,N67,N70,N73,N76,N79,N80,N81, + N82,N83,N86,N87,N88,N91,N94,N97,N100,N103, + N106,N109,N112,N113,N114,N115,N116,N117,N118,N119, + N120,N121,N122,N123,N126,N127,N128,N129,N130,N131, + N132,N135,N136,N137,N140,N141,N145,N146,N149,N152, + N155,N158,N161,N164,N167,N170,N173,N176,N179,N182, + N185,N188,N191,N194,N197,N200,N203,N206,N209,N210, + N217,N218,N225,N226,N233,N234,N241,N242,N245,N248, + N251,N254,N257,N264,N265,N272,N273,N280,N281,N288, + N289,N292,N293,N299,N302,N307,N308,N315,N316,N323, + N324,N331,N332,N335,N338,N341,N348,N351,N358,N361, + N366,N369,N372,N373,N374,N386,N389,N400,N411,N422, + N435,N446,N457,N468,N479,N490,N503,N514,N523,N534, + N545,N549,N552,N556,N559,N562,N566,N571,N574,N577, + N580,N583,N588,N591,N592,N595,N596,N597,N598,N599, + N603,N607,N610,N613,N616,N619,N625,N631; + +wire N709,N816,N1066,N1137,N1138,N1139,N1140,N1141,N1142,N1143, + N1144,N1145,N1147,N1152,N1153,N1154,N1155,N1972,N2054,N2060, + N2061,N2139,N2142,N2309,N2387,N2527,N2584,N2590,N2623,N3357, + N3358,N3359,N3360,N3604,N3613,N4272,N4275,N4278,N4279,N4737, + N4738,N4739,N4740,N5240,N5388,N6641,N6643,N6646,N6648,N6716, + N6877,N6924,N6925,N6926,N6927,N7015,N7363,N7365,N7432,N7449, + N7465,N7466,N7467,N7469,N7470,N7471,N7472,N7473,N7474,N7476, + N7503,N7504,N7506,N7511,N7515,N7516,N7517,N7518,N7519,N7520, + N7521,N7522,N7600,N7601,N7602,N7603,N7604,N7605,N7606,N7607, + N7626,N7698,N7699,N7700,N7701,N7702,N7703,N7704,N7705,N7706, + N7707,N7735,N7736,N7737,N7738,N7739,N7740,N7741,N7742,N7754, + N7755,N7756,N7757,N7758,N7759,N7760,N7761,N8075,N8076,N8123, + N8124,N8127,N8128; + +c5315 c0(N1,N4,N11,N14,N17,N20,N23,N24,N25,N26, + N27,N31,N34,N37,N40,N43,N46,N49,N52,N53, + N54,N61,N64,N67,N70,N73,N76,N79,N80,N81, + N82,N83,N86,N87,N88,N91,N94,N97,N100,N103, + N106,N109,N112,N113,N114,N115,N116,N117,N118,N119, + N120,N121,N122,N123,N126,N127,N128,N129,N130,N131, + N132,N135,N136,N137,N140,N141,N145,N146,N149,N152, + N155,N158,N161,N164,N167,N170,N173,N176,N179,N182, + N185,N188,N191,N194,N197,N200,N203,N206,N209,N210, + N217,N218,N225,N226,N233,N234,N241,N242,N245,N248, + N251,N254,N257,N264,N265,N272,N273,N280,N281,N288, + N289,N292,N293,N299,N302,N307,N308,N315,N316,N323, + N324,N331,N332,N335,N338,N341,N348,N351,N358,N361, + N366,N369,N372,N373,N374,N386,N389,N400,N411,N422, + N435,N446,N457,N468,N479,N490,N503,N514,N523,N534, + N545,N549,N552,N556,N559,N562,N566,N571,N574,N577, + N580,N583,N588,N591,N592,N595,N596,N597,N598,N599, + N603,N607,N610,N613,N616,N619,N625,N631,N709,N816, + N1066,N1137,N1138,N1139,N1140,N1141,N1142,N1143,N1144,N1145, + N1147,N1152,N1153,N1154,N1155,N1972,N2054,N2060,N2061,N2139, + N2142,N2309,N2387,N2527,N2584,N2590,N2623,N3357,N3358,N3359, + N3360,N3604,N3613,N4272,N4275,N4278,N4279,N4737,N4738,N4739, + N4740,N5240,N5388,N6641,N6643,N6646,N6648,N6716,N6877,N6924, + N6925,N6926,N6927,N7015,N7363,N7365,N7432,N7449,N7465,N7466, + N7467,N7469,N7470,N7471,N7472,N7473,N7474,N7476,N7503,N7504, + N7506,N7511,N7515,N7516,N7517,N7518,N7519,N7520,N7521,N7522, + N7600,N7601,N7602,N7603,N7604,N7605,N7606,N7607,N7626,N7698, + N7699,N7700,N7701,N7702,N7703,N7704,N7705,N7706,N7707,N7735, + N7736,N7737,N7738,N7739,N7740,N7741,N7742,N7754,N7755,N7756, + N7757,N7758,N7759,N7760,N7761,N8075,N8076,N8123,N8124,N8127, + N8128); + + + +reg [177:0] test_vectors[0:9]; +reg [122:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c5315_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N4,N11,N14,N17,N20,N23,N24,N25,N26, + N27,N31,N34,N37,N40,N43,N46,N49,N52,N53, + N54,N61,N64,N67,N70,N73,N76,N79,N80,N81, + N82,N83,N86,N87,N88,N91,N94,N97,N100,N103, + N106,N109,N112,N113,N114,N115,N116,N117,N118,N119, + N120,N121,N122,N123,N126,N127,N128,N129,N130,N131, + N132,N135,N136,N137,N140,N141,N145,N146,N149,N152, + N155,N158,N161,N164,N167,N170,N173,N176,N179,N182, + N185,N188,N191,N194,N197,N200,N203,N206,N209,N210, + N217,N218,N225,N226,N233,N234,N241,N242,N245,N248, + N251,N254,N257,N264,N265,N272,N273,N280,N281,N288, + N289,N292,N293,N299,N302,N307,N308,N315,N316,N323, + N324,N331,N332,N335,N338,N341,N348,N351,N358,N361, + N366,N369,N372,N373,N374,N386,N389,N400,N411,N422, + N435,N446,N457,N468,N479,N490,N503,N514,N523,N534, + N545,N549,N552,N556,N559,N562,N566,N571,N574,N577, + N580,N583,N588,N591,N592,N595,N596,N597,N598,N599, + N603,N607,N610,N613,N616,N619,N625,N631} = test_vectors[k]; + + #1 + out_vectors[k] = {N709,N816,N1066,N1137,N1138,N1139,N1140,N1141,N1142,N1143, + N1144,N1145,N1147,N1152,N1153,N1154,N1155,N1972,N2054,N2060, + N2061,N2139,N2142,N2309,N2387,N2527,N2584,N2590,N2623,N3357, + N3358,N3359,N3360,N3604,N3613,N4272,N4275,N4278,N4279,N4737, + N4738,N4739,N4740,N5240,N5388,N6641,N6643,N6646,N6648,N6716, + N6877,N6924,N6925,N6926,N6927,N7015,N7363,N7365,N7432,N7449, + N7465,N7466,N7467,N7469,N7470,N7471,N7472,N7473,N7474,N7476, + N7503,N7504,N7506,N7511,N7515,N7516,N7517,N7518,N7519,N7520, + N7521,N7522,N7600,N7601,N7602,N7603,N7604,N7605,N7606,N7607, + N7626,N7698,N7699,N7700,N7701,N7702,N7703,N7704,N7705,N7706, + N7707,N7735,N7736,N7737,N7738,N7739,N7740,N7741,N7742,N7754, + N7755,N7756,N7757,N7758,N7759,N7760,N7761,N8075,N8076,N8123, + N8124,N8127,N8128}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c5315_in_data.txt", test_vectors); + $writememb("c5315_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c6288.v b/SupplementaryMaterials/Iscas85Verilog/c6288.v new file mode 100644 index 0000000..7c9605b --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c6288.v @@ -0,0 +1,2685 @@ +// Verilog +// c6288 +// Ninputs 32 +// Noutputs 32 +// NtotalGates 2416 +// AND2 256 +// NOT1 32 +// NOR2 2128 + +module c6288 (N1,N18,N35,N52,N69,N86,N103,N120,N137,N154, + N171,N188,N205,N222,N239,N256,N273,N290,N307,N324, + N341,N358,N375,N392,N409,N426,N443,N460,N477,N494, + N511,N528,N545,N1581,N1901,N2223,N2548,N2877,N3211,N3552, + N3895,N4241,N4591,N4946,N5308,N5672,N5971,N6123,N6150,N6160, + N6170,N6180,N6190,N6200,N6210,N6220,N6230,N6240,N6250,N6260, + N6270,N6280,N6287,N6288); + +input N1,N18,N35,N52,N69,N86,N103,N120,N137,N154, + N171,N188,N205,N222,N239,N256,N273,N290,N307,N324, + N341,N358,N375,N392,N409,N426,N443,N460,N477,N494, + N511,N528; + +output N545,N1581,N1901,N2223,N2548,N2877,N3211,N3552,N3895,N4241, + N4591,N4946,N5308,N5672,N5971,N6123,N6150,N6160,N6170,N6180, + N6190,N6200,N6210,N6220,N6230,N6240,N6250,N6260,N6270,N6280, + N6287,N6288; + +wire N546,N549,N552,N555,N558,N561,N564,N567,N570,N573, + N576,N579,N582,N585,N588,N591,N594,N597,N600,N603, + N606,N609,N612,N615,N618,N621,N624,N627,N630,N633, + N636,N639,N642,N645,N648,N651,N654,N657,N660,N663, + N666,N669,N672,N675,N678,N681,N684,N687,N690,N693, + N696,N699,N702,N705,N708,N711,N714,N717,N720,N723, + N726,N729,N732,N735,N738,N741,N744,N747,N750,N753, + N756,N759,N762,N765,N768,N771,N774,N777,N780,N783, + N786,N789,N792,N795,N798,N801,N804,N807,N810,N813, + N816,N819,N822,N825,N828,N831,N834,N837,N840,N843, + N846,N849,N852,N855,N858,N861,N864,N867,N870,N873, + N876,N879,N882,N885,N888,N891,N894,N897,N900,N903, + N906,N909,N912,N915,N918,N921,N924,N927,N930,N933, + N936,N939,N942,N945,N948,N951,N954,N957,N960,N963, + N966,N969,N972,N975,N978,N981,N984,N987,N990,N993, + N996,N999,N1002,N1005,N1008,N1011,N1014,N1017,N1020,N1023, + N1026,N1029,N1032,N1035,N1038,N1041,N1044,N1047,N1050,N1053, + N1056,N1059,N1062,N1065,N1068,N1071,N1074,N1077,N1080,N1083, + N1086,N1089,N1092,N1095,N1098,N1101,N1104,N1107,N1110,N1113, + N1116,N1119,N1122,N1125,N1128,N1131,N1134,N1137,N1140,N1143, + N1146,N1149,N1152,N1155,N1158,N1161,N1164,N1167,N1170,N1173, + N1176,N1179,N1182,N1185,N1188,N1191,N1194,N1197,N1200,N1203, + N1206,N1209,N1212,N1215,N1218,N1221,N1224,N1227,N1230,N1233, + N1236,N1239,N1242,N1245,N1248,N1251,N1254,N1257,N1260,N1263, + N1266,N1269,N1272,N1275,N1278,N1281,N1284,N1287,N1290,N1293, + N1296,N1299,N1302,N1305,N1308,N1311,N1315,N1319,N1323,N1327, + N1331,N1335,N1339,N1343,N1347,N1351,N1355,N1359,N1363,N1367, + N1371,N1372,N1373,N1374,N1375,N1376,N1377,N1378,N1379,N1380, + N1381,N1382,N1383,N1384,N1385,N1386,N1387,N1388,N1389,N1390, + N1391,N1392,N1393,N1394,N1395,N1396,N1397,N1398,N1399,N1400, + N1401,N1404,N1407,N1410,N1413,N1416,N1419,N1422,N1425,N1428, + N1431,N1434,N1437,N1440,N1443,N1446,N1450,N1454,N1458,N1462, + N1466,N1470,N1474,N1478,N1482,N1486,N1490,N1494,N1498,N1502, + N1506,N1507,N1508,N1511,N1512,N1513,N1516,N1517,N1518,N1521, + N1522,N1523,N1526,N1527,N1528,N1531,N1532,N1533,N1536,N1537, + N1538,N1541,N1542,N1543,N1546,N1547,N1548,N1551,N1552,N1553, + N1556,N1557,N1558,N1561,N1562,N1563,N1566,N1567,N1568,N1571, + N1572,N1573,N1576,N1577,N1578,N1582,N1585,N1588,N1591,N1594, + N1597,N1600,N1603,N1606,N1609,N1612,N1615,N1618,N1621,N1624, + N1628,N1632,N1636,N1640,N1644,N1648,N1652,N1656,N1660,N1664, + N1668,N1672,N1676,N1680,N1684,N1685,N1686,N1687,N1688,N1689, + N1690,N1691,N1692,N1693,N1694,N1695,N1696,N1697,N1698,N1699, + N1700,N1701,N1702,N1703,N1704,N1705,N1706,N1707,N1708,N1709, + N1710,N1711,N1712,N1713,N1714,N1717,N1720,N1723,N1726,N1729, + N1732,N1735,N1738,N1741,N1744,N1747,N1750,N1753,N1756,N1759, + N1763,N1767,N1771,N1775,N1779,N1783,N1787,N1791,N1795,N1799, + N1803,N1807,N1811,N1815,N1819,N1820,N1821,N1824,N1825,N1826, + N1829,N1830,N1831,N1834,N1835,N1836,N1839,N1840,N1841,N1844, + N1845,N1846,N1849,N1850,N1851,N1854,N1855,N1856,N1859,N1860, + N1861,N1864,N1865,N1866,N1869,N1870,N1871,N1874,N1875,N1876, + N1879,N1880,N1881,N1884,N1885,N1886,N1889,N1890,N1891,N1894, + N1897,N1902,N1905,N1908,N1911,N1914,N1917,N1920,N1923,N1926, + N1929,N1932,N1935,N1938,N1941,N1945,N1946,N1947,N1951,N1955, + N1959,N1963,N1967,N1971,N1975,N1979,N1983,N1987,N1991,N1995, + N1999,N2000,N2001,N2004,N2005,N2006,N2007,N2008,N2009,N2010, + N2011,N2012,N2013,N2014,N2015,N2016,N2017,N2018,N2019,N2020, + N2021,N2022,N2023,N2024,N2025,N2026,N2027,N2028,N2029,N2030, + N2033,N2037,N2040,N2043,N2046,N2049,N2052,N2055,N2058,N2061, + N2064,N2067,N2070,N2073,N2076,N2080,N2081,N2082,N2085,N2089, + N2093,N2097,N2101,N2105,N2109,N2113,N2117,N2121,N2125,N2129, + N2133,N2137,N2138,N2139,N2142,N2145,N2149,N2150,N2151,N2154, + N2155,N2156,N2159,N2160,N2161,N2164,N2165,N2166,N2169,N2170, + N2171,N2174,N2175,N2176,N2179,N2180,N2181,N2184,N2185,N2186, + N2189,N2190,N2191,N2194,N2195,N2196,N2199,N2200,N2201,N2204, + N2205,N2206,N2209,N2210,N2211,N2214,N2217,N2221,N2222,N2224, + N2227,N2230,N2233,N2236,N2239,N2242,N2245,N2248,N2251,N2254, + N2257,N2260,N2264,N2265,N2266,N2269,N2273,N2277,N2281,N2285, + N2289,N2293,N2297,N2301,N2305,N2309,N2313,N2317,N2318,N2319, + N2322,N2326,N2327,N2328,N2329,N2330,N2331,N2332,N2333,N2334, + N2335,N2336,N2337,N2338,N2339,N2340,N2341,N2342,N2343,N2344, + N2345,N2346,N2347,N2348,N2349,N2350,N2353,N2357,N2358,N2359, + N2362,N2365,N2368,N2371,N2374,N2377,N2380,N2383,N2386,N2389, + N2392,N2395,N2398,N2402,N2403,N2404,N2407,N2410,N2414,N2418, + N2422,N2426,N2430,N2434,N2438,N2442,N2446,N2450,N2454,N2458, + N2462,N2463,N2464,N2467,N2470,N2474,N2475,N2476,N2477,N2478, + N2481,N2482,N2483,N2486,N2487,N2488,N2491,N2492,N2493,N2496, + N2497,N2498,N2501,N2502,N2503,N2506,N2507,N2508,N2511,N2512, + N2513,N2516,N2517,N2518,N2521,N2522,N2523,N2526,N2527,N2528, + N2531,N2532,N2533,N2536,N2539,N2543,N2544,N2545,N2549,N2552, + N2555,N2558,N2561,N2564,N2567,N2570,N2573,N2576,N2579,N2582, + N2586,N2587,N2588,N2591,N2595,N2599,N2603,N2607,N2611,N2615, + N2619,N2623,N2627,N2631,N2635,N2639,N2640,N2641,N2644,N2648, + N2649,N2650,N2653,N2654,N2655,N2656,N2657,N2658,N2659,N2660, + N2661,N2662,N2663,N2664,N2665,N2666,N2667,N2668,N2669,N2670, + N2671,N2672,N2673,N2674,N2675,N2678,N2682,N2683,N2684,N2687, + N2690,N2694,N2697,N2700,N2703,N2706,N2709,N2712,N2715,N2718, + N2721,N2724,N2727,N2731,N2732,N2733,N2736,N2739,N2743,N2744, + N2745,N2749,N2753,N2757,N2761,N2765,N2769,N2773,N2777,N2781, + N2785,N2789,N2790,N2791,N2794,N2797,N2801,N2802,N2803,N2806, + N2807,N2808,N2811,N2812,N2813,N2816,N2817,N2818,N2821,N2822, + N2823,N2826,N2827,N2828,N2831,N2832,N2833,N2836,N2837,N2838, + N2841,N2842,N2843,N2846,N2847,N2848,N2851,N2852,N2853,N2856, + N2857,N2858,N2861,N2864,N2868,N2869,N2870,N2873,N2878,N2881, + N2884,N2887,N2890,N2893,N2896,N2899,N2902,N2905,N2908,N2912, + N2913,N2914,N2917,N2921,N2922,N2923,N2926,N2930,N2934,N2938, + N2942,N2946,N2950,N2954,N2958,N2962,N2966,N2967,N2968,N2971, + N2975,N2976,N2977,N2980,N2983,N2987,N2988,N2989,N2990,N2991, + N2992,N2993,N2994,N2995,N2996,N2997,N2998,N2999,N3000,N3001, + N3002,N3003,N3004,N3005,N3006,N3007,N3010,N3014,N3015,N3016, + N3019,N3022,N3026,N3027,N3028,N3031,N3034,N3037,N3040,N3043, + N3046,N3049,N3052,N3055,N3058,N3062,N3063,N3064,N3067,N3070, + N3074,N3075,N3076,N3079,N3083,N3087,N3091,N3095,N3099,N3103, + N3107,N3111,N3115,N3119,N3120,N3121,N3124,N3127,N3131,N3132, + N3133,N3136,N3140,N3141,N3142,N3145,N3146,N3147,N3150,N3151, + N3152,N3155,N3156,N3157,N3160,N3161,N3162,N3165,N3166,N3167, + N3170,N3171,N3172,N3175,N3176,N3177,N3180,N3181,N3182,N3185, + N3186,N3187,N3190,N3193,N3197,N3198,N3199,N3202,N3206,N3207, + N3208,N3212,N3215,N3218,N3221,N3224,N3227,N3230,N3233,N3236, + N3239,N3243,N3244,N3245,N3248,N3252,N3253,N3254,N3257,N3260, + N3264,N3268,N3272,N3276,N3280,N3284,N3288,N3292,N3296,N3300, + N3301,N3302,N3305,N3309,N3310,N3311,N3314,N3317,N3321,N3322, + N3323,N3324,N3325,N3326,N3327,N3328,N3329,N3330,N3331,N3332, + N3333,N3334,N3335,N3336,N3337,N3338,N3339,N3340,N3341,N3344, + N3348,N3349,N3350,N3353,N3356,N3360,N3361,N3362,N3365,N3368, + N3371,N3374,N3377,N3380,N3383,N3386,N3389,N3392,N3396,N3397, + N3398,N3401,N3404,N3408,N3409,N3410,N3413,N3417,N3421,N3425, + N3429,N3433,N3437,N3441,N3445,N3449,N3453,N3454,N3455,N3458, + N3461,N3465,N3466,N3467,N3470,N3474,N3475,N3476,N3479,N3480, + N3481,N3484,N3485,N3486,N3489,N3490,N3491,N3494,N3495,N3496, + N3499,N3500,N3501,N3504,N3505,N3506,N3509,N3510,N3511,N3514, + N3515,N3516,N3519,N3520,N3521,N3524,N3527,N3531,N3532,N3533, + N3536,N3540,N3541,N3542,N3545,N3548,N3553,N3556,N3559,N3562, + N3565,N3568,N3571,N3574,N3577,N3581,N3582,N3583,N3586,N3590, + N3591,N3592,N3595,N3598,N3602,N3603,N3604,N3608,N3612,N3616, + N3620,N3624,N3628,N3632,N3636,N3637,N3638,N3641,N3645,N3646, + N3647,N3650,N3653,N3657,N3658,N3659,N3662,N3663,N3664,N3665, + N3666,N3667,N3668,N3669,N3670,N3671,N3672,N3673,N3674,N3675, + N3676,N3677,N3678,N3681,N3685,N3686,N3687,N3690,N3693,N3697, + N3698,N3699,N3702,N3706,N3709,N3712,N3715,N3718,N3721,N3724, + N3727,N3730,N3734,N3735,N3736,N3739,N3742,N3746,N3747,N3748, + N3751,N3755,N3756,N3757,N3760,N3764,N3768,N3772,N3776,N3780, + N3784,N3788,N3792,N3793,N3794,N3797,N3800,N3804,N3805,N3806, + N3809,N3813,N3814,N3815,N3818,N3821,N3825,N3826,N3827,N3830, + N3831,N3832,N3835,N3836,N3837,N3840,N3841,N3842,N3845,N3846, + N3847,N3850,N3851,N3852,N3855,N3856,N3857,N3860,N3861,N3862, + N3865,N3868,N3872,N3873,N3874,N3877,N3881,N3882,N3883,N3886, + N3889,N3893,N3894,N3896,N3899,N3902,N3905,N3908,N3911,N3914, + N3917,N3921,N3922,N3923,N3926,N3930,N3931,N3932,N3935,N3938, + N3942,N3943,N3944,N3947,N3951,N3955,N3959,N3963,N3967,N3971, + N3975,N3976,N3977,N3980,N3984,N3985,N3986,N3989,N3992,N3996, + N3997,N3998,N4001,N4005,N4006,N4007,N4008,N4009,N4010,N4011, + N4012,N4013,N4014,N4015,N4016,N4017,N4018,N4019,N4022,N4026, + N4027,N4028,N4031,N4034,N4038,N4039,N4040,N4043,N4047,N4048, + N4049,N4052,N4055,N4058,N4061,N4064,N4067,N4070,N4073,N4077, + N4078,N4079,N4082,N4085,N4089,N4090,N4091,N4094,N4098,N4099, + N4100,N4103,N4106,N4110,N4114,N4118,N4122,N4126,N4130,N4134, + N4138,N4139,N4140,N4143,N4146,N4150,N4151,N4152,N4155,N4159, + N4160,N4161,N4164,N4167,N4171,N4172,N4173,N4174,N4175,N4178, + N4179,N4180,N4183,N4184,N4185,N4188,N4189,N4190,N4193,N4194, + N4195,N4198,N4199,N4200,N4203,N4204,N4205,N4208,N4211,N4215, + N4216,N4217,N4220,N4224,N4225,N4226,N4229,N4232,N4236,N4237, + N4238,N4242,N4245,N4248,N4251,N4254,N4257,N4260,N4264,N4265, + N4266,N4269,N4273,N4274,N4275,N4278,N4281,N4285,N4286,N4287, + N4290,N4294,N4298,N4302,N4306,N4310,N4314,N4318,N4319,N4320, + N4323,N4327,N4328,N4329,N4332,N4335,N4339,N4340,N4341,N4344, + N4348,N4349,N4350,N4353,N4354,N4355,N4356,N4357,N4358,N4359, + N4360,N4361,N4362,N4363,N4364,N4365,N4368,N4372,N4373,N4374, + N4377,N4380,N4384,N4385,N4386,N4389,N4393,N4394,N4395,N4398, + N4401,N4405,N4408,N4411,N4414,N4417,N4420,N4423,N4427,N4428, + N4429,N4432,N4435,N4439,N4440,N4441,N4444,N4448,N4449,N4450, + N4453,N4456,N4460,N4461,N4462,N4466,N4470,N4474,N4478,N4482, + N4486,N4487,N4488,N4491,N4494,N4498,N4499,N4500,N4503,N4507, + N4508,N4509,N4512,N4515,N4519,N4520,N4521,N4524,N4525,N4526, + N4529,N4530,N4531,N4534,N4535,N4536,N4539,N4540,N4541,N4544, + N4545,N4546,N4549,N4550,N4551,N4554,N4557,N4561,N4562,N4563, + N4566,N4570,N4571,N4572,N4575,N4578,N4582,N4583,N4584,N4587, + N4592,N4595,N4598,N4601,N4604,N4607,N4611,N4612,N4613,N4616, + N4620,N4621,N4622,N4625,N4628,N4632,N4633,N4634,N4637,N4641, + N4642,N4643,N4646,N4650,N4654,N4658,N4662,N4666,N4667,N4668, + N4671,N4675,N4676,N4677,N4680,N4683,N4687,N4688,N4689,N4692, + N4696,N4697,N4698,N4701,N4704,N4708,N4709,N4710,N4711,N4712, + N4713,N4714,N4715,N4716,N4717,N4718,N4721,N4725,N4726,N4727, + N4730,N4733,N4737,N4738,N4739,N4742,N4746,N4747,N4748,N4751, + N4754,N4758,N4759,N4760,N4763,N4766,N4769,N4772,N4775,N4779, + N4780,N4781,N4784,N4787,N4791,N4792,N4793,N4796,N4800,N4801, + N4802,N4805,N4808,N4812,N4813,N4814,N4817,N4821,N4825,N4829, + N4833,N4837,N4838,N4839,N4842,N4845,N4849,N4850,N4851,N4854, + N4858,N4859,N4860,N4863,N4866,N4870,N4871,N4872,N4875,N4879, + N4880,N4881,N4884,N4885,N4886,N4889,N4890,N4891,N4894,N4895, + N4896,N4899,N4900,N4901,N4904,N4907,N4911,N4912,N4913,N4916, + N4920,N4921,N4922,N4925,N4928,N4932,N4933,N4934,N4937,N4941, + N4942,N4943,N4947,N4950,N4953,N4956,N4959,N4963,N4964,N4965, + N4968,N4972,N4973,N4974,N4977,N4980,N4984,N4985,N4986,N4989, + N4993,N4994,N4995,N4998,N5001,N5005,N5009,N5013,N5017,N5021, + N5022,N5023,N5026,N5030,N5031,N5032,N5035,N5038,N5042,N5043, + N5044,N5047,N5051,N5052,N5053,N5056,N5059,N5063,N5064,N5065, + N5066,N5067,N5068,N5069,N5070,N5071,N5072,N5073,N5076,N5080, + N5081,N5082,N5085,N5088,N5092,N5093,N5094,N5097,N5101,N5102, + N5103,N5106,N5109,N5113,N5114,N5115,N5118,N5121,N5124,N5127, + N5130,N5134,N5135,N5136,N5139,N5142,N5146,N5147,N5148,N5151, + N5155,N5156,N5157,N5160,N5163,N5167,N5168,N5169,N5172,N5176, + N5180,N5184,N5188,N5192,N5193,N5194,N5197,N5200,N5204,N5205, + N5206,N5209,N5213,N5214,N5215,N5218,N5221,N5225,N5226,N5227, + N5230,N5234,N5235,N5236,N5239,N5240,N5241,N5244,N5245,N5246, + N5249,N5250,N5251,N5254,N5255,N5256,N5259,N5262,N5266,N5267, + N5268,N5271,N5275,N5276,N5277,N5280,N5283,N5287,N5288,N5289, + N5292,N5296,N5297,N5298,N5301,N5304,N5309,N5312,N5315,N5318, + N5322,N5323,N5324,N5327,N5331,N5332,N5333,N5336,N5339,N5343, + N5344,N5345,N5348,N5352,N5353,N5354,N5357,N5360,N5364,N5365, + N5366,N5370,N5374,N5378,N5379,N5380,N5383,N5387,N5388,N5389, + N5392,N5395,N5399,N5400,N5401,N5404,N5408,N5409,N5410,N5413, + N5416,N5420,N5421,N5422,N5425,N5426,N5427,N5428,N5429,N5430, + N5431,N5434,N5438,N5439,N5440,N5443,N5446,N5450,N5451,N5452, + N5455,N5459,N5460,N5461,N5464,N5467,N5471,N5472,N5473,N5476, + N5480,N5483,N5486,N5489,N5493,N5494,N5495,N5498,N5501,N5505, + N5506,N5507,N5510,N5514,N5515,N5516,N5519,N5522,N5526,N5527, + N5528,N5531,N5535,N5536,N5537,N5540,N5544,N5548,N5552,N5553, + N5554,N5557,N5560,N5564,N5565,N5566,N5569,N5573,N5574,N5575, + N5578,N5581,N5585,N5586,N5587,N5590,N5594,N5595,N5596,N5599, + N5602,N5606,N5607,N5608,N5611,N5612,N5613,N5616,N5617,N5618, + N5621,N5624,N5628,N5629,N5630,N5633,N5637,N5638,N5639,N5642, + N5645,N5649,N5650,N5651,N5654,N5658,N5659,N5660,N5663,N5666, + N5670,N5671,N5673,N5676,N5679,N5683,N5684,N5685,N5688,N5692, + N5693,N5694,N5697,N5700,N5704,N5705,N5706,N5709,N5713,N5714, + N5715,N5718,N5721,N5725,N5726,N5727,N5730,N5734,N5738,N5739, + N5740,N5743,N5747,N5748,N5749,N5752,N5755,N5759,N5760,N5761, + N5764,N5768,N5769,N5770,N5773,N5776,N5780,N5781,N5782,N5785, + N5786,N5787,N5788,N5789,N5792,N5796,N5797,N5798,N5801,N5804, + N5808,N5809,N5810,N5813,N5817,N5818,N5819,N5822,N5825,N5829, + N5830,N5831,N5834,N5837,N5840,N5844,N5845,N5846,N5849,N5852, + N5856,N5857,N5858,N5861,N5865,N5866,N5867,N5870,N5873,N5877, + N5878,N5879,N5882,N5886,N5890,N5891,N5892,N5895,N5898,N5902, + N5903,N5904,N5907,N5911,N5912,N5913,N5916,N5919,N5923,N5924, + N5925,N5928,N5929,N5930,N5933,N5934,N5935,N5938,N5941,N5945, + N5946,N5947,N5950,N5954,N5955,N5956,N5959,N5962,N5966,N5967, + N5968,N5972,N5975,N5979,N5980,N5981,N5984,N5988,N5989,N5990, + N5993,N5996,N6000,N6001,N6002,N6005,N6009,N6010,N6011,N6014, + N6018,N6019,N6020,N6023,N6026,N6030,N6031,N6032,N6035,N6036, + N6037,N6040,N6044,N6045,N6046,N6049,N6052,N6056,N6057,N6058, + N6061,N6064,N6068,N6069,N6070,N6073,N6076,N6080,N6081,N6082, + N6085,N6089,N6090,N6091,N6094,N6097,N6101,N6102,N6103,N6106, + N6107,N6108,N6111,N6114,N6118,N6119,N6120,N6124,N6128,N6129, + N6130,N6133,N6134,N6135,N6138,N6141,N6145,N6146,N6147,N6151, + N6155,N6156,N6157,N6161,N6165,N6166,N6167,N6171,N6175,N6176, + N6177,N6181,N6185,N6186,N6187,N6191,N6195,N6196,N6197,N6201, + N6205,N6206,N6207,N6211,N6215,N6216,N6217,N6221,N6225,N6226, + N6227,N6231,N6235,N6236,N6237,N6241,N6245,N6246,N6247,N6251, + N6255,N6256,N6257,N6261,N6265,N6266,N6267,N6271,N6275,N6276, + N6277,N6281,N6285,N6286; + +and AND2_1 (N545, N1, N273); +and AND2_2 (N546, N1, N290); +and AND2_3 (N549, N1, N307); +and AND2_4 (N552, N1, N324); +and AND2_5 (N555, N1, N341); +and AND2_6 (N558, N1, N358); +and AND2_7 (N561, N1, N375); +and AND2_8 (N564, N1, N392); +and AND2_9 (N567, N1, N409); +and AND2_10 (N570, N1, N426); +and AND2_11 (N573, N1, N443); +and AND2_12 (N576, N1, N460); +and AND2_13 (N579, N1, N477); +and AND2_14 (N582, N1, N494); +and AND2_15 (N585, N1, N511); +and AND2_16 (N588, N1, N528); +and AND2_17 (N591, N18, N273); +and AND2_18 (N594, N18, N290); +and AND2_19 (N597, N18, N307); +and AND2_20 (N600, N18, N324); +and AND2_21 (N603, N18, N341); +and AND2_22 (N606, N18, N358); +and AND2_23 (N609, N18, N375); +and AND2_24 (N612, N18, N392); +and AND2_25 (N615, N18, N409); +and AND2_26 (N618, N18, N426); +and AND2_27 (N621, N18, N443); +and AND2_28 (N624, N18, N460); +and AND2_29 (N627, N18, N477); +and AND2_30 (N630, N18, N494); +and AND2_31 (N633, N18, N511); +and AND2_32 (N636, N18, N528); +and AND2_33 (N639, N35, N273); +and AND2_34 (N642, N35, N290); +and AND2_35 (N645, N35, N307); +and AND2_36 (N648, N35, N324); +and AND2_37 (N651, N35, N341); +and AND2_38 (N654, N35, N358); +and AND2_39 (N657, N35, N375); +and AND2_40 (N660, N35, N392); +and AND2_41 (N663, N35, N409); +and AND2_42 (N666, N35, N426); +and AND2_43 (N669, N35, N443); +and AND2_44 (N672, N35, N460); +and AND2_45 (N675, N35, N477); +and AND2_46 (N678, N35, N494); +and AND2_47 (N681, N35, N511); +and AND2_48 (N684, N35, N528); +and AND2_49 (N687, N52, N273); +and AND2_50 (N690, N52, N290); +and AND2_51 (N693, N52, N307); +and AND2_52 (N696, N52, N324); +and AND2_53 (N699, N52, N341); +and AND2_54 (N702, N52, N358); +and AND2_55 (N705, N52, N375); +and AND2_56 (N708, N52, N392); +and AND2_57 (N711, N52, N409); +and AND2_58 (N714, N52, N426); +and AND2_59 (N717, N52, N443); +and AND2_60 (N720, N52, N460); +and AND2_61 (N723, N52, N477); +and AND2_62 (N726, N52, N494); +and AND2_63 (N729, N52, N511); +and AND2_64 (N732, N52, N528); +and AND2_65 (N735, N69, N273); +and AND2_66 (N738, N69, N290); +and AND2_67 (N741, N69, N307); +and AND2_68 (N744, N69, N324); +and AND2_69 (N747, N69, N341); +and AND2_70 (N750, N69, N358); +and AND2_71 (N753, N69, N375); +and AND2_72 (N756, N69, N392); +and AND2_73 (N759, N69, N409); +and AND2_74 (N762, N69, N426); +and AND2_75 (N765, N69, N443); +and AND2_76 (N768, N69, N460); +and AND2_77 (N771, N69, N477); +and AND2_78 (N774, N69, N494); +and AND2_79 (N777, N69, N511); +and AND2_80 (N780, N69, N528); +and AND2_81 (N783, N86, N273); +and AND2_82 (N786, N86, N290); +and AND2_83 (N789, N86, N307); +and AND2_84 (N792, N86, N324); +and AND2_85 (N795, N86, N341); +and AND2_86 (N798, N86, N358); +and AND2_87 (N801, N86, N375); +and AND2_88 (N804, N86, N392); +and AND2_89 (N807, N86, N409); +and AND2_90 (N810, N86, N426); +and AND2_91 (N813, N86, N443); +and AND2_92 (N816, N86, N460); +and AND2_93 (N819, N86, N477); +and AND2_94 (N822, N86, N494); +and AND2_95 (N825, N86, N511); +and AND2_96 (N828, N86, N528); +and AND2_97 (N831, N103, N273); +and AND2_98 (N834, N103, N290); +and AND2_99 (N837, N103, N307); +and AND2_100 (N840, N103, N324); +and AND2_101 (N843, N103, N341); +and AND2_102 (N846, N103, N358); +and AND2_103 (N849, N103, N375); +and AND2_104 (N852, N103, N392); +and AND2_105 (N855, N103, N409); +and AND2_106 (N858, N103, N426); +and AND2_107 (N861, N103, N443); +and AND2_108 (N864, N103, N460); +and AND2_109 (N867, N103, N477); +and AND2_110 (N870, N103, N494); +and AND2_111 (N873, N103, N511); +and AND2_112 (N876, N103, N528); +and AND2_113 (N879, N120, N273); +and AND2_114 (N882, N120, N290); +and AND2_115 (N885, N120, N307); +and AND2_116 (N888, N120, N324); +and AND2_117 (N891, N120, N341); +and AND2_118 (N894, N120, N358); +and AND2_119 (N897, N120, N375); +and AND2_120 (N900, N120, N392); +and AND2_121 (N903, N120, N409); +and AND2_122 (N906, N120, N426); +and AND2_123 (N909, N120, N443); +and AND2_124 (N912, N120, N460); +and AND2_125 (N915, N120, N477); +and AND2_126 (N918, N120, N494); +and AND2_127 (N921, N120, N511); +and AND2_128 (N924, N120, N528); +and AND2_129 (N927, N137, N273); +and AND2_130 (N930, N137, N290); +and AND2_131 (N933, N137, N307); +and AND2_132 (N936, N137, N324); +and AND2_133 (N939, N137, N341); +and AND2_134 (N942, N137, N358); +and AND2_135 (N945, N137, N375); +and AND2_136 (N948, N137, N392); +and AND2_137 (N951, N137, N409); +and AND2_138 (N954, N137, N426); +and AND2_139 (N957, N137, N443); +and AND2_140 (N960, N137, N460); +and AND2_141 (N963, N137, N477); +and AND2_142 (N966, N137, N494); +and AND2_143 (N969, N137, N511); +and AND2_144 (N972, N137, N528); +and AND2_145 (N975, N154, N273); +and AND2_146 (N978, N154, N290); +and AND2_147 (N981, N154, N307); +and AND2_148 (N984, N154, N324); +and AND2_149 (N987, N154, N341); +and AND2_150 (N990, N154, N358); +and AND2_151 (N993, N154, N375); +and AND2_152 (N996, N154, N392); +and AND2_153 (N999, N154, N409); +and AND2_154 (N1002, N154, N426); +and AND2_155 (N1005, N154, N443); +and AND2_156 (N1008, N154, N460); +and AND2_157 (N1011, N154, N477); +and AND2_158 (N1014, N154, N494); +and AND2_159 (N1017, N154, N511); +and AND2_160 (N1020, N154, N528); +and AND2_161 (N1023, N171, N273); +and AND2_162 (N1026, N171, N290); +and AND2_163 (N1029, N171, N307); +and AND2_164 (N1032, N171, N324); +and AND2_165 (N1035, N171, N341); +and AND2_166 (N1038, N171, N358); +and AND2_167 (N1041, N171, N375); +and AND2_168 (N1044, N171, N392); +and AND2_169 (N1047, N171, N409); +and AND2_170 (N1050, N171, N426); +and AND2_171 (N1053, N171, N443); +and AND2_172 (N1056, N171, N460); +and AND2_173 (N1059, N171, N477); +and AND2_174 (N1062, N171, N494); +and AND2_175 (N1065, N171, N511); +and AND2_176 (N1068, N171, N528); +and AND2_177 (N1071, N188, N273); +and AND2_178 (N1074, N188, N290); +and AND2_179 (N1077, N188, N307); +and AND2_180 (N1080, N188, N324); +and AND2_181 (N1083, N188, N341); +and AND2_182 (N1086, N188, N358); +and AND2_183 (N1089, N188, N375); +and AND2_184 (N1092, N188, N392); +and AND2_185 (N1095, N188, N409); +and AND2_186 (N1098, N188, N426); +and AND2_187 (N1101, N188, N443); +and AND2_188 (N1104, N188, N460); +and AND2_189 (N1107, N188, N477); +and AND2_190 (N1110, N188, N494); +and AND2_191 (N1113, N188, N511); +and AND2_192 (N1116, N188, N528); +and AND2_193 (N1119, N205, N273); +and AND2_194 (N1122, N205, N290); +and AND2_195 (N1125, N205, N307); +and AND2_196 (N1128, N205, N324); +and AND2_197 (N1131, N205, N341); +and AND2_198 (N1134, N205, N358); +and AND2_199 (N1137, N205, N375); +and AND2_200 (N1140, N205, N392); +and AND2_201 (N1143, N205, N409); +and AND2_202 (N1146, N205, N426); +and AND2_203 (N1149, N205, N443); +and AND2_204 (N1152, N205, N460); +and AND2_205 (N1155, N205, N477); +and AND2_206 (N1158, N205, N494); +and AND2_207 (N1161, N205, N511); +and AND2_208 (N1164, N205, N528); +and AND2_209 (N1167, N222, N273); +and AND2_210 (N1170, N222, N290); +and AND2_211 (N1173, N222, N307); +and AND2_212 (N1176, N222, N324); +and AND2_213 (N1179, N222, N341); +and AND2_214 (N1182, N222, N358); +and AND2_215 (N1185, N222, N375); +and AND2_216 (N1188, N222, N392); +and AND2_217 (N1191, N222, N409); +and AND2_218 (N1194, N222, N426); +and AND2_219 (N1197, N222, N443); +and AND2_220 (N1200, N222, N460); +and AND2_221 (N1203, N222, N477); +and AND2_222 (N1206, N222, N494); +and AND2_223 (N1209, N222, N511); +and AND2_224 (N1212, N222, N528); +and AND2_225 (N1215, N239, N273); +and AND2_226 (N1218, N239, N290); +and AND2_227 (N1221, N239, N307); +and AND2_228 (N1224, N239, N324); +and AND2_229 (N1227, N239, N341); +and AND2_230 (N1230, N239, N358); +and AND2_231 (N1233, N239, N375); +and AND2_232 (N1236, N239, N392); +and AND2_233 (N1239, N239, N409); +and AND2_234 (N1242, N239, N426); +and AND2_235 (N1245, N239, N443); +and AND2_236 (N1248, N239, N460); +and AND2_237 (N1251, N239, N477); +and AND2_238 (N1254, N239, N494); +and AND2_239 (N1257, N239, N511); +and AND2_240 (N1260, N239, N528); +and AND2_241 (N1263, N256, N273); +and AND2_242 (N1266, N256, N290); +and AND2_243 (N1269, N256, N307); +and AND2_244 (N1272, N256, N324); +and AND2_245 (N1275, N256, N341); +and AND2_246 (N1278, N256, N358); +and AND2_247 (N1281, N256, N375); +and AND2_248 (N1284, N256, N392); +and AND2_249 (N1287, N256, N409); +and AND2_250 (N1290, N256, N426); +and AND2_251 (N1293, N256, N443); +and AND2_252 (N1296, N256, N460); +and AND2_253 (N1299, N256, N477); +and AND2_254 (N1302, N256, N494); +and AND2_255 (N1305, N256, N511); +and AND2_256 (N1308, N256, N528); +not NOT1_257 (N1311, N591); +not NOT1_258 (N1315, N639); +not NOT1_259 (N1319, N687); +not NOT1_260 (N1323, N735); +not NOT1_261 (N1327, N783); +not NOT1_262 (N1331, N831); +not NOT1_263 (N1335, N879); +not NOT1_264 (N1339, N927); +not NOT1_265 (N1343, N975); +not NOT1_266 (N1347, N1023); +not NOT1_267 (N1351, N1071); +not NOT1_268 (N1355, N1119); +not NOT1_269 (N1359, N1167); +not NOT1_270 (N1363, N1215); +not NOT1_271 (N1367, N1263); +nor NOR2_272 (N1371, N591, N1311); +not NOT1_273 (N1372, N1311); +nor NOR2_274 (N1373, N639, N1315); +not NOT1_275 (N1374, N1315); +nor NOR2_276 (N1375, N687, N1319); +not NOT1_277 (N1376, N1319); +nor NOR2_278 (N1377, N735, N1323); +not NOT1_279 (N1378, N1323); +nor NOR2_280 (N1379, N783, N1327); +not NOT1_281 (N1380, N1327); +nor NOR2_282 (N1381, N831, N1331); +not NOT1_283 (N1382, N1331); +nor NOR2_284 (N1383, N879, N1335); +not NOT1_285 (N1384, N1335); +nor NOR2_286 (N1385, N927, N1339); +not NOT1_287 (N1386, N1339); +nor NOR2_288 (N1387, N975, N1343); +not NOT1_289 (N1388, N1343); +nor NOR2_290 (N1389, N1023, N1347); +not NOT1_291 (N1390, N1347); +nor NOR2_292 (N1391, N1071, N1351); +not NOT1_293 (N1392, N1351); +nor NOR2_294 (N1393, N1119, N1355); +not NOT1_295 (N1394, N1355); +nor NOR2_296 (N1395, N1167, N1359); +not NOT1_297 (N1396, N1359); +nor NOR2_298 (N1397, N1215, N1363); +not NOT1_299 (N1398, N1363); +nor NOR2_300 (N1399, N1263, N1367); +not NOT1_301 (N1400, N1367); +nor NOR2_302 (N1401, N1371, N1372); +nor NOR2_303 (N1404, N1373, N1374); +nor NOR2_304 (N1407, N1375, N1376); +nor NOR2_305 (N1410, N1377, N1378); +nor NOR2_306 (N1413, N1379, N1380); +nor NOR2_307 (N1416, N1381, N1382); +nor NOR2_308 (N1419, N1383, N1384); +nor NOR2_309 (N1422, N1385, N1386); +nor NOR2_310 (N1425, N1387, N1388); +nor NOR2_311 (N1428, N1389, N1390); +nor NOR2_312 (N1431, N1391, N1392); +nor NOR2_313 (N1434, N1393, N1394); +nor NOR2_314 (N1437, N1395, N1396); +nor NOR2_315 (N1440, N1397, N1398); +nor NOR2_316 (N1443, N1399, N1400); +nor NOR2_317 (N1446, N1401, N546); +nor NOR2_318 (N1450, N1404, N594); +nor NOR2_319 (N1454, N1407, N642); +nor NOR2_320 (N1458, N1410, N690); +nor NOR2_321 (N1462, N1413, N738); +nor NOR2_322 (N1466, N1416, N786); +nor NOR2_323 (N1470, N1419, N834); +nor NOR2_324 (N1474, N1422, N882); +nor NOR2_325 (N1478, N1425, N930); +nor NOR2_326 (N1482, N1428, N978); +nor NOR2_327 (N1486, N1431, N1026); +nor NOR2_328 (N1490, N1434, N1074); +nor NOR2_329 (N1494, N1437, N1122); +nor NOR2_330 (N1498, N1440, N1170); +nor NOR2_331 (N1502, N1443, N1218); +nor NOR2_332 (N1506, N1401, N1446); +nor NOR2_333 (N1507, N1446, N546); +nor NOR2_334 (N1508, N1311, N1446); +nor NOR2_335 (N1511, N1404, N1450); +nor NOR2_336 (N1512, N1450, N594); +nor NOR2_337 (N1513, N1315, N1450); +nor NOR2_338 (N1516, N1407, N1454); +nor NOR2_339 (N1517, N1454, N642); +nor NOR2_340 (N1518, N1319, N1454); +nor NOR2_341 (N1521, N1410, N1458); +nor NOR2_342 (N1522, N1458, N690); +nor NOR2_343 (N1523, N1323, N1458); +nor NOR2_344 (N1526, N1413, N1462); +nor NOR2_345 (N1527, N1462, N738); +nor NOR2_346 (N1528, N1327, N1462); +nor NOR2_347 (N1531, N1416, N1466); +nor NOR2_348 (N1532, N1466, N786); +nor NOR2_349 (N1533, N1331, N1466); +nor NOR2_350 (N1536, N1419, N1470); +nor NOR2_351 (N1537, N1470, N834); +nor NOR2_352 (N1538, N1335, N1470); +nor NOR2_353 (N1541, N1422, N1474); +nor NOR2_354 (N1542, N1474, N882); +nor NOR2_355 (N1543, N1339, N1474); +nor NOR2_356 (N1546, N1425, N1478); +nor NOR2_357 (N1547, N1478, N930); +nor NOR2_358 (N1548, N1343, N1478); +nor NOR2_359 (N1551, N1428, N1482); +nor NOR2_360 (N1552, N1482, N978); +nor NOR2_361 (N1553, N1347, N1482); +nor NOR2_362 (N1556, N1431, N1486); +nor NOR2_363 (N1557, N1486, N1026); +nor NOR2_364 (N1558, N1351, N1486); +nor NOR2_365 (N1561, N1434, N1490); +nor NOR2_366 (N1562, N1490, N1074); +nor NOR2_367 (N1563, N1355, N1490); +nor NOR2_368 (N1566, N1437, N1494); +nor NOR2_369 (N1567, N1494, N1122); +nor NOR2_370 (N1568, N1359, N1494); +nor NOR2_371 (N1571, N1440, N1498); +nor NOR2_372 (N1572, N1498, N1170); +nor NOR2_373 (N1573, N1363, N1498); +nor NOR2_374 (N1576, N1443, N1502); +nor NOR2_375 (N1577, N1502, N1218); +nor NOR2_376 (N1578, N1367, N1502); +nor NOR2_377 (N1581, N1506, N1507); +nor NOR2_378 (N1582, N1511, N1512); +nor NOR2_379 (N1585, N1516, N1517); +nor NOR2_380 (N1588, N1521, N1522); +nor NOR2_381 (N1591, N1526, N1527); +nor NOR2_382 (N1594, N1531, N1532); +nor NOR2_383 (N1597, N1536, N1537); +nor NOR2_384 (N1600, N1541, N1542); +nor NOR2_385 (N1603, N1546, N1547); +nor NOR2_386 (N1606, N1551, N1552); +nor NOR2_387 (N1609, N1556, N1557); +nor NOR2_388 (N1612, N1561, N1562); +nor NOR2_389 (N1615, N1566, N1567); +nor NOR2_390 (N1618, N1571, N1572); +nor NOR2_391 (N1621, N1576, N1577); +nor NOR2_392 (N1624, N1266, N1578); +nor NOR2_393 (N1628, N1582, N1508); +nor NOR2_394 (N1632, N1585, N1513); +nor NOR2_395 (N1636, N1588, N1518); +nor NOR2_396 (N1640, N1591, N1523); +nor NOR2_397 (N1644, N1594, N1528); +nor NOR2_398 (N1648, N1597, N1533); +nor NOR2_399 (N1652, N1600, N1538); +nor NOR2_400 (N1656, N1603, N1543); +nor NOR2_401 (N1660, N1606, N1548); +nor NOR2_402 (N1664, N1609, N1553); +nor NOR2_403 (N1668, N1612, N1558); +nor NOR2_404 (N1672, N1615, N1563); +nor NOR2_405 (N1676, N1618, N1568); +nor NOR2_406 (N1680, N1621, N1573); +nor NOR2_407 (N1684, N1266, N1624); +nor NOR2_408 (N1685, N1624, N1578); +nor NOR2_409 (N1686, N1582, N1628); +nor NOR2_410 (N1687, N1628, N1508); +nor NOR2_411 (N1688, N1585, N1632); +nor NOR2_412 (N1689, N1632, N1513); +nor NOR2_413 (N1690, N1588, N1636); +nor NOR2_414 (N1691, N1636, N1518); +nor NOR2_415 (N1692, N1591, N1640); +nor NOR2_416 (N1693, N1640, N1523); +nor NOR2_417 (N1694, N1594, N1644); +nor NOR2_418 (N1695, N1644, N1528); +nor NOR2_419 (N1696, N1597, N1648); +nor NOR2_420 (N1697, N1648, N1533); +nor NOR2_421 (N1698, N1600, N1652); +nor NOR2_422 (N1699, N1652, N1538); +nor NOR2_423 (N1700, N1603, N1656); +nor NOR2_424 (N1701, N1656, N1543); +nor NOR2_425 (N1702, N1606, N1660); +nor NOR2_426 (N1703, N1660, N1548); +nor NOR2_427 (N1704, N1609, N1664); +nor NOR2_428 (N1705, N1664, N1553); +nor NOR2_429 (N1706, N1612, N1668); +nor NOR2_430 (N1707, N1668, N1558); +nor NOR2_431 (N1708, N1615, N1672); +nor NOR2_432 (N1709, N1672, N1563); +nor NOR2_433 (N1710, N1618, N1676); +nor NOR2_434 (N1711, N1676, N1568); +nor NOR2_435 (N1712, N1621, N1680); +nor NOR2_436 (N1713, N1680, N1573); +nor NOR2_437 (N1714, N1684, N1685); +nor NOR2_438 (N1717, N1686, N1687); +nor NOR2_439 (N1720, N1688, N1689); +nor NOR2_440 (N1723, N1690, N1691); +nor NOR2_441 (N1726, N1692, N1693); +nor NOR2_442 (N1729, N1694, N1695); +nor NOR2_443 (N1732, N1696, N1697); +nor NOR2_444 (N1735, N1698, N1699); +nor NOR2_445 (N1738, N1700, N1701); +nor NOR2_446 (N1741, N1702, N1703); +nor NOR2_447 (N1744, N1704, N1705); +nor NOR2_448 (N1747, N1706, N1707); +nor NOR2_449 (N1750, N1708, N1709); +nor NOR2_450 (N1753, N1710, N1711); +nor NOR2_451 (N1756, N1712, N1713); +nor NOR2_452 (N1759, N1714, N1221); +nor NOR2_453 (N1763, N1717, N549); +nor NOR2_454 (N1767, N1720, N597); +nor NOR2_455 (N1771, N1723, N645); +nor NOR2_456 (N1775, N1726, N693); +nor NOR2_457 (N1779, N1729, N741); +nor NOR2_458 (N1783, N1732, N789); +nor NOR2_459 (N1787, N1735, N837); +nor NOR2_460 (N1791, N1738, N885); +nor NOR2_461 (N1795, N1741, N933); +nor NOR2_462 (N1799, N1744, N981); +nor NOR2_463 (N1803, N1747, N1029); +nor NOR2_464 (N1807, N1750, N1077); +nor NOR2_465 (N1811, N1753, N1125); +nor NOR2_466 (N1815, N1756, N1173); +nor NOR2_467 (N1819, N1714, N1759); +nor NOR2_468 (N1820, N1759, N1221); +nor NOR2_469 (N1821, N1624, N1759); +nor NOR2_470 (N1824, N1717, N1763); +nor NOR2_471 (N1825, N1763, N549); +nor NOR2_472 (N1826, N1628, N1763); +nor NOR2_473 (N1829, N1720, N1767); +nor NOR2_474 (N1830, N1767, N597); +nor NOR2_475 (N1831, N1632, N1767); +nor NOR2_476 (N1834, N1723, N1771); +nor NOR2_477 (N1835, N1771, N645); +nor NOR2_478 (N1836, N1636, N1771); +nor NOR2_479 (N1839, N1726, N1775); +nor NOR2_480 (N1840, N1775, N693); +nor NOR2_481 (N1841, N1640, N1775); +nor NOR2_482 (N1844, N1729, N1779); +nor NOR2_483 (N1845, N1779, N741); +nor NOR2_484 (N1846, N1644, N1779); +nor NOR2_485 (N1849, N1732, N1783); +nor NOR2_486 (N1850, N1783, N789); +nor NOR2_487 (N1851, N1648, N1783); +nor NOR2_488 (N1854, N1735, N1787); +nor NOR2_489 (N1855, N1787, N837); +nor NOR2_490 (N1856, N1652, N1787); +nor NOR2_491 (N1859, N1738, N1791); +nor NOR2_492 (N1860, N1791, N885); +nor NOR2_493 (N1861, N1656, N1791); +nor NOR2_494 (N1864, N1741, N1795); +nor NOR2_495 (N1865, N1795, N933); +nor NOR2_496 (N1866, N1660, N1795); +nor NOR2_497 (N1869, N1744, N1799); +nor NOR2_498 (N1870, N1799, N981); +nor NOR2_499 (N1871, N1664, N1799); +nor NOR2_500 (N1874, N1747, N1803); +nor NOR2_501 (N1875, N1803, N1029); +nor NOR2_502 (N1876, N1668, N1803); +nor NOR2_503 (N1879, N1750, N1807); +nor NOR2_504 (N1880, N1807, N1077); +nor NOR2_505 (N1881, N1672, N1807); +nor NOR2_506 (N1884, N1753, N1811); +nor NOR2_507 (N1885, N1811, N1125); +nor NOR2_508 (N1886, N1676, N1811); +nor NOR2_509 (N1889, N1756, N1815); +nor NOR2_510 (N1890, N1815, N1173); +nor NOR2_511 (N1891, N1680, N1815); +nor NOR2_512 (N1894, N1819, N1820); +nor NOR2_513 (N1897, N1269, N1821); +nor NOR2_514 (N1901, N1824, N1825); +nor NOR2_515 (N1902, N1829, N1830); +nor NOR2_516 (N1905, N1834, N1835); +nor NOR2_517 (N1908, N1839, N1840); +nor NOR2_518 (N1911, N1844, N1845); +nor NOR2_519 (N1914, N1849, N1850); +nor NOR2_520 (N1917, N1854, N1855); +nor NOR2_521 (N1920, N1859, N1860); +nor NOR2_522 (N1923, N1864, N1865); +nor NOR2_523 (N1926, N1869, N1870); +nor NOR2_524 (N1929, N1874, N1875); +nor NOR2_525 (N1932, N1879, N1880); +nor NOR2_526 (N1935, N1884, N1885); +nor NOR2_527 (N1938, N1889, N1890); +nor NOR2_528 (N1941, N1894, N1891); +nor NOR2_529 (N1945, N1269, N1897); +nor NOR2_530 (N1946, N1897, N1821); +nor NOR2_531 (N1947, N1902, N1826); +nor NOR2_532 (N1951, N1905, N1831); +nor NOR2_533 (N1955, N1908, N1836); +nor NOR2_534 (N1959, N1911, N1841); +nor NOR2_535 (N1963, N1914, N1846); +nor NOR2_536 (N1967, N1917, N1851); +nor NOR2_537 (N1971, N1920, N1856); +nor NOR2_538 (N1975, N1923, N1861); +nor NOR2_539 (N1979, N1926, N1866); +nor NOR2_540 (N1983, N1929, N1871); +nor NOR2_541 (N1987, N1932, N1876); +nor NOR2_542 (N1991, N1935, N1881); +nor NOR2_543 (N1995, N1938, N1886); +nor NOR2_544 (N1999, N1894, N1941); +nor NOR2_545 (N2000, N1941, N1891); +nor NOR2_546 (N2001, N1945, N1946); +nor NOR2_547 (N2004, N1902, N1947); +nor NOR2_548 (N2005, N1947, N1826); +nor NOR2_549 (N2006, N1905, N1951); +nor NOR2_550 (N2007, N1951, N1831); +nor NOR2_551 (N2008, N1908, N1955); +nor NOR2_552 (N2009, N1955, N1836); +nor NOR2_553 (N2010, N1911, N1959); +nor NOR2_554 (N2011, N1959, N1841); +nor NOR2_555 (N2012, N1914, N1963); +nor NOR2_556 (N2013, N1963, N1846); +nor NOR2_557 (N2014, N1917, N1967); +nor NOR2_558 (N2015, N1967, N1851); +nor NOR2_559 (N2016, N1920, N1971); +nor NOR2_560 (N2017, N1971, N1856); +nor NOR2_561 (N2018, N1923, N1975); +nor NOR2_562 (N2019, N1975, N1861); +nor NOR2_563 (N2020, N1926, N1979); +nor NOR2_564 (N2021, N1979, N1866); +nor NOR2_565 (N2022, N1929, N1983); +nor NOR2_566 (N2023, N1983, N1871); +nor NOR2_567 (N2024, N1932, N1987); +nor NOR2_568 (N2025, N1987, N1876); +nor NOR2_569 (N2026, N1935, N1991); +nor NOR2_570 (N2027, N1991, N1881); +nor NOR2_571 (N2028, N1938, N1995); +nor NOR2_572 (N2029, N1995, N1886); +nor NOR2_573 (N2030, N1999, N2000); +nor NOR2_574 (N2033, N2001, N1224); +nor NOR2_575 (N2037, N2004, N2005); +nor NOR2_576 (N2040, N2006, N2007); +nor NOR2_577 (N2043, N2008, N2009); +nor NOR2_578 (N2046, N2010, N2011); +nor NOR2_579 (N2049, N2012, N2013); +nor NOR2_580 (N2052, N2014, N2015); +nor NOR2_581 (N2055, N2016, N2017); +nor NOR2_582 (N2058, N2018, N2019); +nor NOR2_583 (N2061, N2020, N2021); +nor NOR2_584 (N2064, N2022, N2023); +nor NOR2_585 (N2067, N2024, N2025); +nor NOR2_586 (N2070, N2026, N2027); +nor NOR2_587 (N2073, N2028, N2029); +nor NOR2_588 (N2076, N2030, N1176); +nor NOR2_589 (N2080, N2001, N2033); +nor NOR2_590 (N2081, N2033, N1224); +nor NOR2_591 (N2082, N1897, N2033); +nor NOR2_592 (N2085, N2037, N552); +nor NOR2_593 (N2089, N2040, N600); +nor NOR2_594 (N2093, N2043, N648); +nor NOR2_595 (N2097, N2046, N696); +nor NOR2_596 (N2101, N2049, N744); +nor NOR2_597 (N2105, N2052, N792); +nor NOR2_598 (N2109, N2055, N840); +nor NOR2_599 (N2113, N2058, N888); +nor NOR2_600 (N2117, N2061, N936); +nor NOR2_601 (N2121, N2064, N984); +nor NOR2_602 (N2125, N2067, N1032); +nor NOR2_603 (N2129, N2070, N1080); +nor NOR2_604 (N2133, N2073, N1128); +nor NOR2_605 (N2137, N2030, N2076); +nor NOR2_606 (N2138, N2076, N1176); +nor NOR2_607 (N2139, N1941, N2076); +nor NOR2_608 (N2142, N2080, N2081); +nor NOR2_609 (N2145, N1272, N2082); +nor NOR2_610 (N2149, N2037, N2085); +nor NOR2_611 (N2150, N2085, N552); +nor NOR2_612 (N2151, N1947, N2085); +nor NOR2_613 (N2154, N2040, N2089); +nor NOR2_614 (N2155, N2089, N600); +nor NOR2_615 (N2156, N1951, N2089); +nor NOR2_616 (N2159, N2043, N2093); +nor NOR2_617 (N2160, N2093, N648); +nor NOR2_618 (N2161, N1955, N2093); +nor NOR2_619 (N2164, N2046, N2097); +nor NOR2_620 (N2165, N2097, N696); +nor NOR2_621 (N2166, N1959, N2097); +nor NOR2_622 (N2169, N2049, N2101); +nor NOR2_623 (N2170, N2101, N744); +nor NOR2_624 (N2171, N1963, N2101); +nor NOR2_625 (N2174, N2052, N2105); +nor NOR2_626 (N2175, N2105, N792); +nor NOR2_627 (N2176, N1967, N2105); +nor NOR2_628 (N2179, N2055, N2109); +nor NOR2_629 (N2180, N2109, N840); +nor NOR2_630 (N2181, N1971, N2109); +nor NOR2_631 (N2184, N2058, N2113); +nor NOR2_632 (N2185, N2113, N888); +nor NOR2_633 (N2186, N1975, N2113); +nor NOR2_634 (N2189, N2061, N2117); +nor NOR2_635 (N2190, N2117, N936); +nor NOR2_636 (N2191, N1979, N2117); +nor NOR2_637 (N2194, N2064, N2121); +nor NOR2_638 (N2195, N2121, N984); +nor NOR2_639 (N2196, N1983, N2121); +nor NOR2_640 (N2199, N2067, N2125); +nor NOR2_641 (N2200, N2125, N1032); +nor NOR2_642 (N2201, N1987, N2125); +nor NOR2_643 (N2204, N2070, N2129); +nor NOR2_644 (N2205, N2129, N1080); +nor NOR2_645 (N2206, N1991, N2129); +nor NOR2_646 (N2209, N2073, N2133); +nor NOR2_647 (N2210, N2133, N1128); +nor NOR2_648 (N2211, N1995, N2133); +nor NOR2_649 (N2214, N2137, N2138); +nor NOR2_650 (N2217, N2142, N2139); +nor NOR2_651 (N2221, N1272, N2145); +nor NOR2_652 (N2222, N2145, N2082); +nor NOR2_653 (N2223, N2149, N2150); +nor NOR2_654 (N2224, N2154, N2155); +nor NOR2_655 (N2227, N2159, N2160); +nor NOR2_656 (N2230, N2164, N2165); +nor NOR2_657 (N2233, N2169, N2170); +nor NOR2_658 (N2236, N2174, N2175); +nor NOR2_659 (N2239, N2179, N2180); +nor NOR2_660 (N2242, N2184, N2185); +nor NOR2_661 (N2245, N2189, N2190); +nor NOR2_662 (N2248, N2194, N2195); +nor NOR2_663 (N2251, N2199, N2200); +nor NOR2_664 (N2254, N2204, N2205); +nor NOR2_665 (N2257, N2209, N2210); +nor NOR2_666 (N2260, N2214, N2211); +nor NOR2_667 (N2264, N2142, N2217); +nor NOR2_668 (N2265, N2217, N2139); +nor NOR2_669 (N2266, N2221, N2222); +nor NOR2_670 (N2269, N2224, N2151); +nor NOR2_671 (N2273, N2227, N2156); +nor NOR2_672 (N2277, N2230, N2161); +nor NOR2_673 (N2281, N2233, N2166); +nor NOR2_674 (N2285, N2236, N2171); +nor NOR2_675 (N2289, N2239, N2176); +nor NOR2_676 (N2293, N2242, N2181); +nor NOR2_677 (N2297, N2245, N2186); +nor NOR2_678 (N2301, N2248, N2191); +nor NOR2_679 (N2305, N2251, N2196); +nor NOR2_680 (N2309, N2254, N2201); +nor NOR2_681 (N2313, N2257, N2206); +nor NOR2_682 (N2317, N2214, N2260); +nor NOR2_683 (N2318, N2260, N2211); +nor NOR2_684 (N2319, N2264, N2265); +nor NOR2_685 (N2322, N2266, N1227); +nor NOR2_686 (N2326, N2224, N2269); +nor NOR2_687 (N2327, N2269, N2151); +nor NOR2_688 (N2328, N2227, N2273); +nor NOR2_689 (N2329, N2273, N2156); +nor NOR2_690 (N2330, N2230, N2277); +nor NOR2_691 (N2331, N2277, N2161); +nor NOR2_692 (N2332, N2233, N2281); +nor NOR2_693 (N2333, N2281, N2166); +nor NOR2_694 (N2334, N2236, N2285); +nor NOR2_695 (N2335, N2285, N2171); +nor NOR2_696 (N2336, N2239, N2289); +nor NOR2_697 (N2337, N2289, N2176); +nor NOR2_698 (N2338, N2242, N2293); +nor NOR2_699 (N2339, N2293, N2181); +nor NOR2_700 (N2340, N2245, N2297); +nor NOR2_701 (N2341, N2297, N2186); +nor NOR2_702 (N2342, N2248, N2301); +nor NOR2_703 (N2343, N2301, N2191); +nor NOR2_704 (N2344, N2251, N2305); +nor NOR2_705 (N2345, N2305, N2196); +nor NOR2_706 (N2346, N2254, N2309); +nor NOR2_707 (N2347, N2309, N2201); +nor NOR2_708 (N2348, N2257, N2313); +nor NOR2_709 (N2349, N2313, N2206); +nor NOR2_710 (N2350, N2317, N2318); +nor NOR2_711 (N2353, N2319, N1179); +nor NOR2_712 (N2357, N2266, N2322); +nor NOR2_713 (N2358, N2322, N1227); +nor NOR2_714 (N2359, N2145, N2322); +nor NOR2_715 (N2362, N2326, N2327); +nor NOR2_716 (N2365, N2328, N2329); +nor NOR2_717 (N2368, N2330, N2331); +nor NOR2_718 (N2371, N2332, N2333); +nor NOR2_719 (N2374, N2334, N2335); +nor NOR2_720 (N2377, N2336, N2337); +nor NOR2_721 (N2380, N2338, N2339); +nor NOR2_722 (N2383, N2340, N2341); +nor NOR2_723 (N2386, N2342, N2343); +nor NOR2_724 (N2389, N2344, N2345); +nor NOR2_725 (N2392, N2346, N2347); +nor NOR2_726 (N2395, N2348, N2349); +nor NOR2_727 (N2398, N2350, N1131); +nor NOR2_728 (N2402, N2319, N2353); +nor NOR2_729 (N2403, N2353, N1179); +nor NOR2_730 (N2404, N2217, N2353); +nor NOR2_731 (N2407, N2357, N2358); +nor NOR2_732 (N2410, N1275, N2359); +nor NOR2_733 (N2414, N2362, N555); +nor NOR2_734 (N2418, N2365, N603); +nor NOR2_735 (N2422, N2368, N651); +nor NOR2_736 (N2426, N2371, N699); +nor NOR2_737 (N2430, N2374, N747); +nor NOR2_738 (N2434, N2377, N795); +nor NOR2_739 (N2438, N2380, N843); +nor NOR2_740 (N2442, N2383, N891); +nor NOR2_741 (N2446, N2386, N939); +nor NOR2_742 (N2450, N2389, N987); +nor NOR2_743 (N2454, N2392, N1035); +nor NOR2_744 (N2458, N2395, N1083); +nor NOR2_745 (N2462, N2350, N2398); +nor NOR2_746 (N2463, N2398, N1131); +nor NOR2_747 (N2464, N2260, N2398); +nor NOR2_748 (N2467, N2402, N2403); +nor NOR2_749 (N2470, N2407, N2404); +nor NOR2_750 (N2474, N1275, N2410); +nor NOR2_751 (N2475, N2410, N2359); +nor NOR2_752 (N2476, N2362, N2414); +nor NOR2_753 (N2477, N2414, N555); +nor NOR2_754 (N2478, N2269, N2414); +nor NOR2_755 (N2481, N2365, N2418); +nor NOR2_756 (N2482, N2418, N603); +nor NOR2_757 (N2483, N2273, N2418); +nor NOR2_758 (N2486, N2368, N2422); +nor NOR2_759 (N2487, N2422, N651); +nor NOR2_760 (N2488, N2277, N2422); +nor NOR2_761 (N2491, N2371, N2426); +nor NOR2_762 (N2492, N2426, N699); +nor NOR2_763 (N2493, N2281, N2426); +nor NOR2_764 (N2496, N2374, N2430); +nor NOR2_765 (N2497, N2430, N747); +nor NOR2_766 (N2498, N2285, N2430); +nor NOR2_767 (N2501, N2377, N2434); +nor NOR2_768 (N2502, N2434, N795); +nor NOR2_769 (N2503, N2289, N2434); +nor NOR2_770 (N2506, N2380, N2438); +nor NOR2_771 (N2507, N2438, N843); +nor NOR2_772 (N2508, N2293, N2438); +nor NOR2_773 (N2511, N2383, N2442); +nor NOR2_774 (N2512, N2442, N891); +nor NOR2_775 (N2513, N2297, N2442); +nor NOR2_776 (N2516, N2386, N2446); +nor NOR2_777 (N2517, N2446, N939); +nor NOR2_778 (N2518, N2301, N2446); +nor NOR2_779 (N2521, N2389, N2450); +nor NOR2_780 (N2522, N2450, N987); +nor NOR2_781 (N2523, N2305, N2450); +nor NOR2_782 (N2526, N2392, N2454); +nor NOR2_783 (N2527, N2454, N1035); +nor NOR2_784 (N2528, N2309, N2454); +nor NOR2_785 (N2531, N2395, N2458); +nor NOR2_786 (N2532, N2458, N1083); +nor NOR2_787 (N2533, N2313, N2458); +nor NOR2_788 (N2536, N2462, N2463); +nor NOR2_789 (N2539, N2467, N2464); +nor NOR2_790 (N2543, N2407, N2470); +nor NOR2_791 (N2544, N2470, N2404); +nor NOR2_792 (N2545, N2474, N2475); +nor NOR2_793 (N2548, N2476, N2477); +nor NOR2_794 (N2549, N2481, N2482); +nor NOR2_795 (N2552, N2486, N2487); +nor NOR2_796 (N2555, N2491, N2492); +nor NOR2_797 (N2558, N2496, N2497); +nor NOR2_798 (N2561, N2501, N2502); +nor NOR2_799 (N2564, N2506, N2507); +nor NOR2_800 (N2567, N2511, N2512); +nor NOR2_801 (N2570, N2516, N2517); +nor NOR2_802 (N2573, N2521, N2522); +nor NOR2_803 (N2576, N2526, N2527); +nor NOR2_804 (N2579, N2531, N2532); +nor NOR2_805 (N2582, N2536, N2533); +nor NOR2_806 (N2586, N2467, N2539); +nor NOR2_807 (N2587, N2539, N2464); +nor NOR2_808 (N2588, N2543, N2544); +nor NOR2_809 (N2591, N2545, N1230); +nor NOR2_810 (N2595, N2549, N2478); +nor NOR2_811 (N2599, N2552, N2483); +nor NOR2_812 (N2603, N2555, N2488); +nor NOR2_813 (N2607, N2558, N2493); +nor NOR2_814 (N2611, N2561, N2498); +nor NOR2_815 (N2615, N2564, N2503); +nor NOR2_816 (N2619, N2567, N2508); +nor NOR2_817 (N2623, N2570, N2513); +nor NOR2_818 (N2627, N2573, N2518); +nor NOR2_819 (N2631, N2576, N2523); +nor NOR2_820 (N2635, N2579, N2528); +nor NOR2_821 (N2639, N2536, N2582); +nor NOR2_822 (N2640, N2582, N2533); +nor NOR2_823 (N2641, N2586, N2587); +nor NOR2_824 (N2644, N2588, N1182); +nor NOR2_825 (N2648, N2545, N2591); +nor NOR2_826 (N2649, N2591, N1230); +nor NOR2_827 (N2650, N2410, N2591); +nor NOR2_828 (N2653, N2549, N2595); +nor NOR2_829 (N2654, N2595, N2478); +nor NOR2_830 (N2655, N2552, N2599); +nor NOR2_831 (N2656, N2599, N2483); +nor NOR2_832 (N2657, N2555, N2603); +nor NOR2_833 (N2658, N2603, N2488); +nor NOR2_834 (N2659, N2558, N2607); +nor NOR2_835 (N2660, N2607, N2493); +nor NOR2_836 (N2661, N2561, N2611); +nor NOR2_837 (N2662, N2611, N2498); +nor NOR2_838 (N2663, N2564, N2615); +nor NOR2_839 (N2664, N2615, N2503); +nor NOR2_840 (N2665, N2567, N2619); +nor NOR2_841 (N2666, N2619, N2508); +nor NOR2_842 (N2667, N2570, N2623); +nor NOR2_843 (N2668, N2623, N2513); +nor NOR2_844 (N2669, N2573, N2627); +nor NOR2_845 (N2670, N2627, N2518); +nor NOR2_846 (N2671, N2576, N2631); +nor NOR2_847 (N2672, N2631, N2523); +nor NOR2_848 (N2673, N2579, N2635); +nor NOR2_849 (N2674, N2635, N2528); +nor NOR2_850 (N2675, N2639, N2640); +nor NOR2_851 (N2678, N2641, N1134); +nor NOR2_852 (N2682, N2588, N2644); +nor NOR2_853 (N2683, N2644, N1182); +nor NOR2_854 (N2684, N2470, N2644); +nor NOR2_855 (N2687, N2648, N2649); +nor NOR2_856 (N2690, N1278, N2650); +nor NOR2_857 (N2694, N2653, N2654); +nor NOR2_858 (N2697, N2655, N2656); +nor NOR2_859 (N2700, N2657, N2658); +nor NOR2_860 (N2703, N2659, N2660); +nor NOR2_861 (N2706, N2661, N2662); +nor NOR2_862 (N2709, N2663, N2664); +nor NOR2_863 (N2712, N2665, N2666); +nor NOR2_864 (N2715, N2667, N2668); +nor NOR2_865 (N2718, N2669, N2670); +nor NOR2_866 (N2721, N2671, N2672); +nor NOR2_867 (N2724, N2673, N2674); +nor NOR2_868 (N2727, N2675, N1086); +nor NOR2_869 (N2731, N2641, N2678); +nor NOR2_870 (N2732, N2678, N1134); +nor NOR2_871 (N2733, N2539, N2678); +nor NOR2_872 (N2736, N2682, N2683); +nor NOR2_873 (N2739, N2687, N2684); +nor NOR2_874 (N2743, N1278, N2690); +nor NOR2_875 (N2744, N2690, N2650); +nor NOR2_876 (N2745, N2694, N558); +nor NOR2_877 (N2749, N2697, N606); +nor NOR2_878 (N2753, N2700, N654); +nor NOR2_879 (N2757, N2703, N702); +nor NOR2_880 (N2761, N2706, N750); +nor NOR2_881 (N2765, N2709, N798); +nor NOR2_882 (N2769, N2712, N846); +nor NOR2_883 (N2773, N2715, N894); +nor NOR2_884 (N2777, N2718, N942); +nor NOR2_885 (N2781, N2721, N990); +nor NOR2_886 (N2785, N2724, N1038); +nor NOR2_887 (N2789, N2675, N2727); +nor NOR2_888 (N2790, N2727, N1086); +nor NOR2_889 (N2791, N2582, N2727); +nor NOR2_890 (N2794, N2731, N2732); +nor NOR2_891 (N2797, N2736, N2733); +nor NOR2_892 (N2801, N2687, N2739); +nor NOR2_893 (N2802, N2739, N2684); +nor NOR2_894 (N2803, N2743, N2744); +nor NOR2_895 (N2806, N2694, N2745); +nor NOR2_896 (N2807, N2745, N558); +nor NOR2_897 (N2808, N2595, N2745); +nor NOR2_898 (N2811, N2697, N2749); +nor NOR2_899 (N2812, N2749, N606); +nor NOR2_900 (N2813, N2599, N2749); +nor NOR2_901 (N2816, N2700, N2753); +nor NOR2_902 (N2817, N2753, N654); +nor NOR2_903 (N2818, N2603, N2753); +nor NOR2_904 (N2821, N2703, N2757); +nor NOR2_905 (N2822, N2757, N702); +nor NOR2_906 (N2823, N2607, N2757); +nor NOR2_907 (N2826, N2706, N2761); +nor NOR2_908 (N2827, N2761, N750); +nor NOR2_909 (N2828, N2611, N2761); +nor NOR2_910 (N2831, N2709, N2765); +nor NOR2_911 (N2832, N2765, N798); +nor NOR2_912 (N2833, N2615, N2765); +nor NOR2_913 (N2836, N2712, N2769); +nor NOR2_914 (N2837, N2769, N846); +nor NOR2_915 (N2838, N2619, N2769); +nor NOR2_916 (N2841, N2715, N2773); +nor NOR2_917 (N2842, N2773, N894); +nor NOR2_918 (N2843, N2623, N2773); +nor NOR2_919 (N2846, N2718, N2777); +nor NOR2_920 (N2847, N2777, N942); +nor NOR2_921 (N2848, N2627, N2777); +nor NOR2_922 (N2851, N2721, N2781); +nor NOR2_923 (N2852, N2781, N990); +nor NOR2_924 (N2853, N2631, N2781); +nor NOR2_925 (N2856, N2724, N2785); +nor NOR2_926 (N2857, N2785, N1038); +nor NOR2_927 (N2858, N2635, N2785); +nor NOR2_928 (N2861, N2789, N2790); +nor NOR2_929 (N2864, N2794, N2791); +nor NOR2_930 (N2868, N2736, N2797); +nor NOR2_931 (N2869, N2797, N2733); +nor NOR2_932 (N2870, N2801, N2802); +nor NOR2_933 (N2873, N2803, N1233); +nor NOR2_934 (N2877, N2806, N2807); +nor NOR2_935 (N2878, N2811, N2812); +nor NOR2_936 (N2881, N2816, N2817); +nor NOR2_937 (N2884, N2821, N2822); +nor NOR2_938 (N2887, N2826, N2827); +nor NOR2_939 (N2890, N2831, N2832); +nor NOR2_940 (N2893, N2836, N2837); +nor NOR2_941 (N2896, N2841, N2842); +nor NOR2_942 (N2899, N2846, N2847); +nor NOR2_943 (N2902, N2851, N2852); +nor NOR2_944 (N2905, N2856, N2857); +nor NOR2_945 (N2908, N2861, N2858); +nor NOR2_946 (N2912, N2794, N2864); +nor NOR2_947 (N2913, N2864, N2791); +nor NOR2_948 (N2914, N2868, N2869); +nor NOR2_949 (N2917, N2870, N1185); +nor NOR2_950 (N2921, N2803, N2873); +nor NOR2_951 (N2922, N2873, N1233); +nor NOR2_952 (N2923, N2690, N2873); +nor NOR2_953 (N2926, N2878, N2808); +nor NOR2_954 (N2930, N2881, N2813); +nor NOR2_955 (N2934, N2884, N2818); +nor NOR2_956 (N2938, N2887, N2823); +nor NOR2_957 (N2942, N2890, N2828); +nor NOR2_958 (N2946, N2893, N2833); +nor NOR2_959 (N2950, N2896, N2838); +nor NOR2_960 (N2954, N2899, N2843); +nor NOR2_961 (N2958, N2902, N2848); +nor NOR2_962 (N2962, N2905, N2853); +nor NOR2_963 (N2966, N2861, N2908); +nor NOR2_964 (N2967, N2908, N2858); +nor NOR2_965 (N2968, N2912, N2913); +nor NOR2_966 (N2971, N2914, N1137); +nor NOR2_967 (N2975, N2870, N2917); +nor NOR2_968 (N2976, N2917, N1185); +nor NOR2_969 (N2977, N2739, N2917); +nor NOR2_970 (N2980, N2921, N2922); +nor NOR2_971 (N2983, N1281, N2923); +nor NOR2_972 (N2987, N2878, N2926); +nor NOR2_973 (N2988, N2926, N2808); +nor NOR2_974 (N2989, N2881, N2930); +nor NOR2_975 (N2990, N2930, N2813); +nor NOR2_976 (N2991, N2884, N2934); +nor NOR2_977 (N2992, N2934, N2818); +nor NOR2_978 (N2993, N2887, N2938); +nor NOR2_979 (N2994, N2938, N2823); +nor NOR2_980 (N2995, N2890, N2942); +nor NOR2_981 (N2996, N2942, N2828); +nor NOR2_982 (N2997, N2893, N2946); +nor NOR2_983 (N2998, N2946, N2833); +nor NOR2_984 (N2999, N2896, N2950); +nor NOR2_985 (N3000, N2950, N2838); +nor NOR2_986 (N3001, N2899, N2954); +nor NOR2_987 (N3002, N2954, N2843); +nor NOR2_988 (N3003, N2902, N2958); +nor NOR2_989 (N3004, N2958, N2848); +nor NOR2_990 (N3005, N2905, N2962); +nor NOR2_991 (N3006, N2962, N2853); +nor NOR2_992 (N3007, N2966, N2967); +nor NOR2_993 (N3010, N2968, N1089); +nor NOR2_994 (N3014, N2914, N2971); +nor NOR2_995 (N3015, N2971, N1137); +nor NOR2_996 (N3016, N2797, N2971); +nor NOR2_997 (N3019, N2975, N2976); +nor NOR2_998 (N3022, N2980, N2977); +nor NOR2_999 (N3026, N1281, N2983); +nor NOR2_1000 (N3027, N2983, N2923); +nor NOR2_1001 (N3028, N2987, N2988); +nor NOR2_1002 (N3031, N2989, N2990); +nor NOR2_1003 (N3034, N2991, N2992); +nor NOR2_1004 (N3037, N2993, N2994); +nor NOR2_1005 (N3040, N2995, N2996); +nor NOR2_1006 (N3043, N2997, N2998); +nor NOR2_1007 (N3046, N2999, N3000); +nor NOR2_1008 (N3049, N3001, N3002); +nor NOR2_1009 (N3052, N3003, N3004); +nor NOR2_1010 (N3055, N3005, N3006); +nor NOR2_1011 (N3058, N3007, N1041); +nor NOR2_1012 (N3062, N2968, N3010); +nor NOR2_1013 (N3063, N3010, N1089); +nor NOR2_1014 (N3064, N2864, N3010); +nor NOR2_1015 (N3067, N3014, N3015); +nor NOR2_1016 (N3070, N3019, N3016); +nor NOR2_1017 (N3074, N2980, N3022); +nor NOR2_1018 (N3075, N3022, N2977); +nor NOR2_1019 (N3076, N3026, N3027); +nor NOR2_1020 (N3079, N3028, N561); +nor NOR2_1021 (N3083, N3031, N609); +nor NOR2_1022 (N3087, N3034, N657); +nor NOR2_1023 (N3091, N3037, N705); +nor NOR2_1024 (N3095, N3040, N753); +nor NOR2_1025 (N3099, N3043, N801); +nor NOR2_1026 (N3103, N3046, N849); +nor NOR2_1027 (N3107, N3049, N897); +nor NOR2_1028 (N3111, N3052, N945); +nor NOR2_1029 (N3115, N3055, N993); +nor NOR2_1030 (N3119, N3007, N3058); +nor NOR2_1031 (N3120, N3058, N1041); +nor NOR2_1032 (N3121, N2908, N3058); +nor NOR2_1033 (N3124, N3062, N3063); +nor NOR2_1034 (N3127, N3067, N3064); +nor NOR2_1035 (N3131, N3019, N3070); +nor NOR2_1036 (N3132, N3070, N3016); +nor NOR2_1037 (N3133, N3074, N3075); +nor NOR2_1038 (N3136, N3076, N1236); +nor NOR2_1039 (N3140, N3028, N3079); +nor NOR2_1040 (N3141, N3079, N561); +nor NOR2_1041 (N3142, N2926, N3079); +nor NOR2_1042 (N3145, N3031, N3083); +nor NOR2_1043 (N3146, N3083, N609); +nor NOR2_1044 (N3147, N2930, N3083); +nor NOR2_1045 (N3150, N3034, N3087); +nor NOR2_1046 (N3151, N3087, N657); +nor NOR2_1047 (N3152, N2934, N3087); +nor NOR2_1048 (N3155, N3037, N3091); +nor NOR2_1049 (N3156, N3091, N705); +nor NOR2_1050 (N3157, N2938, N3091); +nor NOR2_1051 (N3160, N3040, N3095); +nor NOR2_1052 (N3161, N3095, N753); +nor NOR2_1053 (N3162, N2942, N3095); +nor NOR2_1054 (N3165, N3043, N3099); +nor NOR2_1055 (N3166, N3099, N801); +nor NOR2_1056 (N3167, N2946, N3099); +nor NOR2_1057 (N3170, N3046, N3103); +nor NOR2_1058 (N3171, N3103, N849); +nor NOR2_1059 (N3172, N2950, N3103); +nor NOR2_1060 (N3175, N3049, N3107); +nor NOR2_1061 (N3176, N3107, N897); +nor NOR2_1062 (N3177, N2954, N3107); +nor NOR2_1063 (N3180, N3052, N3111); +nor NOR2_1064 (N3181, N3111, N945); +nor NOR2_1065 (N3182, N2958, N3111); +nor NOR2_1066 (N3185, N3055, N3115); +nor NOR2_1067 (N3186, N3115, N993); +nor NOR2_1068 (N3187, N2962, N3115); +nor NOR2_1069 (N3190, N3119, N3120); +nor NOR2_1070 (N3193, N3124, N3121); +nor NOR2_1071 (N3197, N3067, N3127); +nor NOR2_1072 (N3198, N3127, N3064); +nor NOR2_1073 (N3199, N3131, N3132); +nor NOR2_1074 (N3202, N3133, N1188); +nor NOR2_1075 (N3206, N3076, N3136); +nor NOR2_1076 (N3207, N3136, N1236); +nor NOR2_1077 (N3208, N2983, N3136); +nor NOR2_1078 (N3211, N3140, N3141); +nor NOR2_1079 (N3212, N3145, N3146); +nor NOR2_1080 (N3215, N3150, N3151); +nor NOR2_1081 (N3218, N3155, N3156); +nor NOR2_1082 (N3221, N3160, N3161); +nor NOR2_1083 (N3224, N3165, N3166); +nor NOR2_1084 (N3227, N3170, N3171); +nor NOR2_1085 (N3230, N3175, N3176); +nor NOR2_1086 (N3233, N3180, N3181); +nor NOR2_1087 (N3236, N3185, N3186); +nor NOR2_1088 (N3239, N3190, N3187); +nor NOR2_1089 (N3243, N3124, N3193); +nor NOR2_1090 (N3244, N3193, N3121); +nor NOR2_1091 (N3245, N3197, N3198); +nor NOR2_1092 (N3248, N3199, N1140); +nor NOR2_1093 (N3252, N3133, N3202); +nor NOR2_1094 (N3253, N3202, N1188); +nor NOR2_1095 (N3254, N3022, N3202); +nor NOR2_1096 (N3257, N3206, N3207); +nor NOR2_1097 (N3260, N1284, N3208); +nor NOR2_1098 (N3264, N3212, N3142); +nor NOR2_1099 (N3268, N3215, N3147); +nor NOR2_1100 (N3272, N3218, N3152); +nor NOR2_1101 (N3276, N3221, N3157); +nor NOR2_1102 (N3280, N3224, N3162); +nor NOR2_1103 (N3284, N3227, N3167); +nor NOR2_1104 (N3288, N3230, N3172); +nor NOR2_1105 (N3292, N3233, N3177); +nor NOR2_1106 (N3296, N3236, N3182); +nor NOR2_1107 (N3300, N3190, N3239); +nor NOR2_1108 (N3301, N3239, N3187); +nor NOR2_1109 (N3302, N3243, N3244); +nor NOR2_1110 (N3305, N3245, N1092); +nor NOR2_1111 (N3309, N3199, N3248); +nor NOR2_1112 (N3310, N3248, N1140); +nor NOR2_1113 (N3311, N3070, N3248); +nor NOR2_1114 (N3314, N3252, N3253); +nor NOR2_1115 (N3317, N3257, N3254); +nor NOR2_1116 (N3321, N1284, N3260); +nor NOR2_1117 (N3322, N3260, N3208); +nor NOR2_1118 (N3323, N3212, N3264); +nor NOR2_1119 (N3324, N3264, N3142); +nor NOR2_1120 (N3325, N3215, N3268); +nor NOR2_1121 (N3326, N3268, N3147); +nor NOR2_1122 (N3327, N3218, N3272); +nor NOR2_1123 (N3328, N3272, N3152); +nor NOR2_1124 (N3329, N3221, N3276); +nor NOR2_1125 (N3330, N3276, N3157); +nor NOR2_1126 (N3331, N3224, N3280); +nor NOR2_1127 (N3332, N3280, N3162); +nor NOR2_1128 (N3333, N3227, N3284); +nor NOR2_1129 (N3334, N3284, N3167); +nor NOR2_1130 (N3335, N3230, N3288); +nor NOR2_1131 (N3336, N3288, N3172); +nor NOR2_1132 (N3337, N3233, N3292); +nor NOR2_1133 (N3338, N3292, N3177); +nor NOR2_1134 (N3339, N3236, N3296); +nor NOR2_1135 (N3340, N3296, N3182); +nor NOR2_1136 (N3341, N3300, N3301); +nor NOR2_1137 (N3344, N3302, N1044); +nor NOR2_1138 (N3348, N3245, N3305); +nor NOR2_1139 (N3349, N3305, N1092); +nor NOR2_1140 (N3350, N3127, N3305); +nor NOR2_1141 (N3353, N3309, N3310); +nor NOR2_1142 (N3356, N3314, N3311); +nor NOR2_1143 (N3360, N3257, N3317); +nor NOR2_1144 (N3361, N3317, N3254); +nor NOR2_1145 (N3362, N3321, N3322); +nor NOR2_1146 (N3365, N3323, N3324); +nor NOR2_1147 (N3368, N3325, N3326); +nor NOR2_1148 (N3371, N3327, N3328); +nor NOR2_1149 (N3374, N3329, N3330); +nor NOR2_1150 (N3377, N3331, N3332); +nor NOR2_1151 (N3380, N3333, N3334); +nor NOR2_1152 (N3383, N3335, N3336); +nor NOR2_1153 (N3386, N3337, N3338); +nor NOR2_1154 (N3389, N3339, N3340); +nor NOR2_1155 (N3392, N3341, N996); +nor NOR2_1156 (N3396, N3302, N3344); +nor NOR2_1157 (N3397, N3344, N1044); +nor NOR2_1158 (N3398, N3193, N3344); +nor NOR2_1159 (N3401, N3348, N3349); +nor NOR2_1160 (N3404, N3353, N3350); +nor NOR2_1161 (N3408, N3314, N3356); +nor NOR2_1162 (N3409, N3356, N3311); +nor NOR2_1163 (N3410, N3360, N3361); +nor NOR2_1164 (N3413, N3362, N1239); +nor NOR2_1165 (N3417, N3365, N564); +nor NOR2_1166 (N3421, N3368, N612); +nor NOR2_1167 (N3425, N3371, N660); +nor NOR2_1168 (N3429, N3374, N708); +nor NOR2_1169 (N3433, N3377, N756); +nor NOR2_1170 (N3437, N3380, N804); +nor NOR2_1171 (N3441, N3383, N852); +nor NOR2_1172 (N3445, N3386, N900); +nor NOR2_1173 (N3449, N3389, N948); +nor NOR2_1174 (N3453, N3341, N3392); +nor NOR2_1175 (N3454, N3392, N996); +nor NOR2_1176 (N3455, N3239, N3392); +nor NOR2_1177 (N3458, N3396, N3397); +nor NOR2_1178 (N3461, N3401, N3398); +nor NOR2_1179 (N3465, N3353, N3404); +nor NOR2_1180 (N3466, N3404, N3350); +nor NOR2_1181 (N3467, N3408, N3409); +nor NOR2_1182 (N3470, N3410, N1191); +nor NOR2_1183 (N3474, N3362, N3413); +nor NOR2_1184 (N3475, N3413, N1239); +nor NOR2_1185 (N3476, N3260, N3413); +nor NOR2_1186 (N3479, N3365, N3417); +nor NOR2_1187 (N3480, N3417, N564); +nor NOR2_1188 (N3481, N3264, N3417); +nor NOR2_1189 (N3484, N3368, N3421); +nor NOR2_1190 (N3485, N3421, N612); +nor NOR2_1191 (N3486, N3268, N3421); +nor NOR2_1192 (N3489, N3371, N3425); +nor NOR2_1193 (N3490, N3425, N660); +nor NOR2_1194 (N3491, N3272, N3425); +nor NOR2_1195 (N3494, N3374, N3429); +nor NOR2_1196 (N3495, N3429, N708); +nor NOR2_1197 (N3496, N3276, N3429); +nor NOR2_1198 (N3499, N3377, N3433); +nor NOR2_1199 (N3500, N3433, N756); +nor NOR2_1200 (N3501, N3280, N3433); +nor NOR2_1201 (N3504, N3380, N3437); +nor NOR2_1202 (N3505, N3437, N804); +nor NOR2_1203 (N3506, N3284, N3437); +nor NOR2_1204 (N3509, N3383, N3441); +nor NOR2_1205 (N3510, N3441, N852); +nor NOR2_1206 (N3511, N3288, N3441); +nor NOR2_1207 (N3514, N3386, N3445); +nor NOR2_1208 (N3515, N3445, N900); +nor NOR2_1209 (N3516, N3292, N3445); +nor NOR2_1210 (N3519, N3389, N3449); +nor NOR2_1211 (N3520, N3449, N948); +nor NOR2_1212 (N3521, N3296, N3449); +nor NOR2_1213 (N3524, N3453, N3454); +nor NOR2_1214 (N3527, N3458, N3455); +nor NOR2_1215 (N3531, N3401, N3461); +nor NOR2_1216 (N3532, N3461, N3398); +nor NOR2_1217 (N3533, N3465, N3466); +nor NOR2_1218 (N3536, N3467, N1143); +nor NOR2_1219 (N3540, N3410, N3470); +nor NOR2_1220 (N3541, N3470, N1191); +nor NOR2_1221 (N3542, N3317, N3470); +nor NOR2_1222 (N3545, N3474, N3475); +nor NOR2_1223 (N3548, N1287, N3476); +nor NOR2_1224 (N3552, N3479, N3480); +nor NOR2_1225 (N3553, N3484, N3485); +nor NOR2_1226 (N3556, N3489, N3490); +nor NOR2_1227 (N3559, N3494, N3495); +nor NOR2_1228 (N3562, N3499, N3500); +nor NOR2_1229 (N3565, N3504, N3505); +nor NOR2_1230 (N3568, N3509, N3510); +nor NOR2_1231 (N3571, N3514, N3515); +nor NOR2_1232 (N3574, N3519, N3520); +nor NOR2_1233 (N3577, N3524, N3521); +nor NOR2_1234 (N3581, N3458, N3527); +nor NOR2_1235 (N3582, N3527, N3455); +nor NOR2_1236 (N3583, N3531, N3532); +nor NOR2_1237 (N3586, N3533, N1095); +nor NOR2_1238 (N3590, N3467, N3536); +nor NOR2_1239 (N3591, N3536, N1143); +nor NOR2_1240 (N3592, N3356, N3536); +nor NOR2_1241 (N3595, N3540, N3541); +nor NOR2_1242 (N3598, N3545, N3542); +nor NOR2_1243 (N3602, N1287, N3548); +nor NOR2_1244 (N3603, N3548, N3476); +nor NOR2_1245 (N3604, N3553, N3481); +nor NOR2_1246 (N3608, N3556, N3486); +nor NOR2_1247 (N3612, N3559, N3491); +nor NOR2_1248 (N3616, N3562, N3496); +nor NOR2_1249 (N3620, N3565, N3501); +nor NOR2_1250 (N3624, N3568, N3506); +nor NOR2_1251 (N3628, N3571, N3511); +nor NOR2_1252 (N3632, N3574, N3516); +nor NOR2_1253 (N3636, N3524, N3577); +nor NOR2_1254 (N3637, N3577, N3521); +nor NOR2_1255 (N3638, N3581, N3582); +nor NOR2_1256 (N3641, N3583, N1047); +nor NOR2_1257 (N3645, N3533, N3586); +nor NOR2_1258 (N3646, N3586, N1095); +nor NOR2_1259 (N3647, N3404, N3586); +nor NOR2_1260 (N3650, N3590, N3591); +nor NOR2_1261 (N3653, N3595, N3592); +nor NOR2_1262 (N3657, N3545, N3598); +nor NOR2_1263 (N3658, N3598, N3542); +nor NOR2_1264 (N3659, N3602, N3603); +nor NOR2_1265 (N3662, N3553, N3604); +nor NOR2_1266 (N3663, N3604, N3481); +nor NOR2_1267 (N3664, N3556, N3608); +nor NOR2_1268 (N3665, N3608, N3486); +nor NOR2_1269 (N3666, N3559, N3612); +nor NOR2_1270 (N3667, N3612, N3491); +nor NOR2_1271 (N3668, N3562, N3616); +nor NOR2_1272 (N3669, N3616, N3496); +nor NOR2_1273 (N3670, N3565, N3620); +nor NOR2_1274 (N3671, N3620, N3501); +nor NOR2_1275 (N3672, N3568, N3624); +nor NOR2_1276 (N3673, N3624, N3506); +nor NOR2_1277 (N3674, N3571, N3628); +nor NOR2_1278 (N3675, N3628, N3511); +nor NOR2_1279 (N3676, N3574, N3632); +nor NOR2_1280 (N3677, N3632, N3516); +nor NOR2_1281 (N3678, N3636, N3637); +nor NOR2_1282 (N3681, N3638, N999); +nor NOR2_1283 (N3685, N3583, N3641); +nor NOR2_1284 (N3686, N3641, N1047); +nor NOR2_1285 (N3687, N3461, N3641); +nor NOR2_1286 (N3690, N3645, N3646); +nor NOR2_1287 (N3693, N3650, N3647); +nor NOR2_1288 (N3697, N3595, N3653); +nor NOR2_1289 (N3698, N3653, N3592); +nor NOR2_1290 (N3699, N3657, N3658); +nor NOR2_1291 (N3702, N3659, N1242); +nor NOR2_1292 (N3706, N3662, N3663); +nor NOR2_1293 (N3709, N3664, N3665); +nor NOR2_1294 (N3712, N3666, N3667); +nor NOR2_1295 (N3715, N3668, N3669); +nor NOR2_1296 (N3718, N3670, N3671); +nor NOR2_1297 (N3721, N3672, N3673); +nor NOR2_1298 (N3724, N3674, N3675); +nor NOR2_1299 (N3727, N3676, N3677); +nor NOR2_1300 (N3730, N3678, N951); +nor NOR2_1301 (N3734, N3638, N3681); +nor NOR2_1302 (N3735, N3681, N999); +nor NOR2_1303 (N3736, N3527, N3681); +nor NOR2_1304 (N3739, N3685, N3686); +nor NOR2_1305 (N3742, N3690, N3687); +nor NOR2_1306 (N3746, N3650, N3693); +nor NOR2_1307 (N3747, N3693, N3647); +nor NOR2_1308 (N3748, N3697, N3698); +nor NOR2_1309 (N3751, N3699, N1194); +nor NOR2_1310 (N3755, N3659, N3702); +nor NOR2_1311 (N3756, N3702, N1242); +nor NOR2_1312 (N3757, N3548, N3702); +nor NOR2_1313 (N3760, N3706, N567); +nor NOR2_1314 (N3764, N3709, N615); +nor NOR2_1315 (N3768, N3712, N663); +nor NOR2_1316 (N3772, N3715, N711); +nor NOR2_1317 (N3776, N3718, N759); +nor NOR2_1318 (N3780, N3721, N807); +nor NOR2_1319 (N3784, N3724, N855); +nor NOR2_1320 (N3788, N3727, N903); +nor NOR2_1321 (N3792, N3678, N3730); +nor NOR2_1322 (N3793, N3730, N951); +nor NOR2_1323 (N3794, N3577, N3730); +nor NOR2_1324 (N3797, N3734, N3735); +nor NOR2_1325 (N3800, N3739, N3736); +nor NOR2_1326 (N3804, N3690, N3742); +nor NOR2_1327 (N3805, N3742, N3687); +nor NOR2_1328 (N3806, N3746, N3747); +nor NOR2_1329 (N3809, N3748, N1146); +nor NOR2_1330 (N3813, N3699, N3751); +nor NOR2_1331 (N3814, N3751, N1194); +nor NOR2_1332 (N3815, N3598, N3751); +nor NOR2_1333 (N3818, N3755, N3756); +nor NOR2_1334 (N3821, N1290, N3757); +nor NOR2_1335 (N3825, N3706, N3760); +nor NOR2_1336 (N3826, N3760, N567); +nor NOR2_1337 (N3827, N3604, N3760); +nor NOR2_1338 (N3830, N3709, N3764); +nor NOR2_1339 (N3831, N3764, N615); +nor NOR2_1340 (N3832, N3608, N3764); +nor NOR2_1341 (N3835, N3712, N3768); +nor NOR2_1342 (N3836, N3768, N663); +nor NOR2_1343 (N3837, N3612, N3768); +nor NOR2_1344 (N3840, N3715, N3772); +nor NOR2_1345 (N3841, N3772, N711); +nor NOR2_1346 (N3842, N3616, N3772); +nor NOR2_1347 (N3845, N3718, N3776); +nor NOR2_1348 (N3846, N3776, N759); +nor NOR2_1349 (N3847, N3620, N3776); +nor NOR2_1350 (N3850, N3721, N3780); +nor NOR2_1351 (N3851, N3780, N807); +nor NOR2_1352 (N3852, N3624, N3780); +nor NOR2_1353 (N3855, N3724, N3784); +nor NOR2_1354 (N3856, N3784, N855); +nor NOR2_1355 (N3857, N3628, N3784); +nor NOR2_1356 (N3860, N3727, N3788); +nor NOR2_1357 (N3861, N3788, N903); +nor NOR2_1358 (N3862, N3632, N3788); +nor NOR2_1359 (N3865, N3792, N3793); +nor NOR2_1360 (N3868, N3797, N3794); +nor NOR2_1361 (N3872, N3739, N3800); +nor NOR2_1362 (N3873, N3800, N3736); +nor NOR2_1363 (N3874, N3804, N3805); +nor NOR2_1364 (N3877, N3806, N1098); +nor NOR2_1365 (N3881, N3748, N3809); +nor NOR2_1366 (N3882, N3809, N1146); +nor NOR2_1367 (N3883, N3653, N3809); +nor NOR2_1368 (N3886, N3813, N3814); +nor NOR2_1369 (N3889, N3818, N3815); +nor NOR2_1370 (N3893, N1290, N3821); +nor NOR2_1371 (N3894, N3821, N3757); +nor NOR2_1372 (N3895, N3825, N3826); +nor NOR2_1373 (N3896, N3830, N3831); +nor NOR2_1374 (N3899, N3835, N3836); +nor NOR2_1375 (N3902, N3840, N3841); +nor NOR2_1376 (N3905, N3845, N3846); +nor NOR2_1377 (N3908, N3850, N3851); +nor NOR2_1378 (N3911, N3855, N3856); +nor NOR2_1379 (N3914, N3860, N3861); +nor NOR2_1380 (N3917, N3865, N3862); +nor NOR2_1381 (N3921, N3797, N3868); +nor NOR2_1382 (N3922, N3868, N3794); +nor NOR2_1383 (N3923, N3872, N3873); +nor NOR2_1384 (N3926, N3874, N1050); +nor NOR2_1385 (N3930, N3806, N3877); +nor NOR2_1386 (N3931, N3877, N1098); +nor NOR2_1387 (N3932, N3693, N3877); +nor NOR2_1388 (N3935, N3881, N3882); +nor NOR2_1389 (N3938, N3886, N3883); +nor NOR2_1390 (N3942, N3818, N3889); +nor NOR2_1391 (N3943, N3889, N3815); +nor NOR2_1392 (N3944, N3893, N3894); +nor NOR2_1393 (N3947, N3896, N3827); +nor NOR2_1394 (N3951, N3899, N3832); +nor NOR2_1395 (N3955, N3902, N3837); +nor NOR2_1396 (N3959, N3905, N3842); +nor NOR2_1397 (N3963, N3908, N3847); +nor NOR2_1398 (N3967, N3911, N3852); +nor NOR2_1399 (N3971, N3914, N3857); +nor NOR2_1400 (N3975, N3865, N3917); +nor NOR2_1401 (N3976, N3917, N3862); +nor NOR2_1402 (N3977, N3921, N3922); +nor NOR2_1403 (N3980, N3923, N1002); +nor NOR2_1404 (N3984, N3874, N3926); +nor NOR2_1405 (N3985, N3926, N1050); +nor NOR2_1406 (N3986, N3742, N3926); +nor NOR2_1407 (N3989, N3930, N3931); +nor NOR2_1408 (N3992, N3935, N3932); +nor NOR2_1409 (N3996, N3886, N3938); +nor NOR2_1410 (N3997, N3938, N3883); +nor NOR2_1411 (N3998, N3942, N3943); +nor NOR2_1412 (N4001, N3944, N1245); +nor NOR2_1413 (N4005, N3896, N3947); +nor NOR2_1414 (N4006, N3947, N3827); +nor NOR2_1415 (N4007, N3899, N3951); +nor NOR2_1416 (N4008, N3951, N3832); +nor NOR2_1417 (N4009, N3902, N3955); +nor NOR2_1418 (N4010, N3955, N3837); +nor NOR2_1419 (N4011, N3905, N3959); +nor NOR2_1420 (N4012, N3959, N3842); +nor NOR2_1421 (N4013, N3908, N3963); +nor NOR2_1422 (N4014, N3963, N3847); +nor NOR2_1423 (N4015, N3911, N3967); +nor NOR2_1424 (N4016, N3967, N3852); +nor NOR2_1425 (N4017, N3914, N3971); +nor NOR2_1426 (N4018, N3971, N3857); +nor NOR2_1427 (N4019, N3975, N3976); +nor NOR2_1428 (N4022, N3977, N954); +nor NOR2_1429 (N4026, N3923, N3980); +nor NOR2_1430 (N4027, N3980, N1002); +nor NOR2_1431 (N4028, N3800, N3980); +nor NOR2_1432 (N4031, N3984, N3985); +nor NOR2_1433 (N4034, N3989, N3986); +nor NOR2_1434 (N4038, N3935, N3992); +nor NOR2_1435 (N4039, N3992, N3932); +nor NOR2_1436 (N4040, N3996, N3997); +nor NOR2_1437 (N4043, N3998, N1197); +nor NOR2_1438 (N4047, N3944, N4001); +nor NOR2_1439 (N4048, N4001, N1245); +nor NOR2_1440 (N4049, N3821, N4001); +nor NOR2_1441 (N4052, N4005, N4006); +nor NOR2_1442 (N4055, N4007, N4008); +nor NOR2_1443 (N4058, N4009, N4010); +nor NOR2_1444 (N4061, N4011, N4012); +nor NOR2_1445 (N4064, N4013, N4014); +nor NOR2_1446 (N4067, N4015, N4016); +nor NOR2_1447 (N4070, N4017, N4018); +nor NOR2_1448 (N4073, N4019, N906); +nor NOR2_1449 (N4077, N3977, N4022); +nor NOR2_1450 (N4078, N4022, N954); +nor NOR2_1451 (N4079, N3868, N4022); +nor NOR2_1452 (N4082, N4026, N4027); +nor NOR2_1453 (N4085, N4031, N4028); +nor NOR2_1454 (N4089, N3989, N4034); +nor NOR2_1455 (N4090, N4034, N3986); +nor NOR2_1456 (N4091, N4038, N4039); +nor NOR2_1457 (N4094, N4040, N1149); +nor NOR2_1458 (N4098, N3998, N4043); +nor NOR2_1459 (N4099, N4043, N1197); +nor NOR2_1460 (N4100, N3889, N4043); +nor NOR2_1461 (N4103, N4047, N4048); +nor NOR2_1462 (N4106, N1293, N4049); +nor NOR2_1463 (N4110, N4052, N570); +nor NOR2_1464 (N4114, N4055, N618); +nor NOR2_1465 (N4118, N4058, N666); +nor NOR2_1466 (N4122, N4061, N714); +nor NOR2_1467 (N4126, N4064, N762); +nor NOR2_1468 (N4130, N4067, N810); +nor NOR2_1469 (N4134, N4070, N858); +nor NOR2_1470 (N4138, N4019, N4073); +nor NOR2_1471 (N4139, N4073, N906); +nor NOR2_1472 (N4140, N3917, N4073); +nor NOR2_1473 (N4143, N4077, N4078); +nor NOR2_1474 (N4146, N4082, N4079); +nor NOR2_1475 (N4150, N4031, N4085); +nor NOR2_1476 (N4151, N4085, N4028); +nor NOR2_1477 (N4152, N4089, N4090); +nor NOR2_1478 (N4155, N4091, N1101); +nor NOR2_1479 (N4159, N4040, N4094); +nor NOR2_1480 (N4160, N4094, N1149); +nor NOR2_1481 (N4161, N3938, N4094); +nor NOR2_1482 (N4164, N4098, N4099); +nor NOR2_1483 (N4167, N4103, N4100); +nor NOR2_1484 (N4171, N1293, N4106); +nor NOR2_1485 (N4172, N4106, N4049); +nor NOR2_1486 (N4173, N4052, N4110); +nor NOR2_1487 (N4174, N4110, N570); +nor NOR2_1488 (N4175, N3947, N4110); +nor NOR2_1489 (N4178, N4055, N4114); +nor NOR2_1490 (N4179, N4114, N618); +nor NOR2_1491 (N4180, N3951, N4114); +nor NOR2_1492 (N4183, N4058, N4118); +nor NOR2_1493 (N4184, N4118, N666); +nor NOR2_1494 (N4185, N3955, N4118); +nor NOR2_1495 (N4188, N4061, N4122); +nor NOR2_1496 (N4189, N4122, N714); +nor NOR2_1497 (N4190, N3959, N4122); +nor NOR2_1498 (N4193, N4064, N4126); +nor NOR2_1499 (N4194, N4126, N762); +nor NOR2_1500 (N4195, N3963, N4126); +nor NOR2_1501 (N4198, N4067, N4130); +nor NOR2_1502 (N4199, N4130, N810); +nor NOR2_1503 (N4200, N3967, N4130); +nor NOR2_1504 (N4203, N4070, N4134); +nor NOR2_1505 (N4204, N4134, N858); +nor NOR2_1506 (N4205, N3971, N4134); +nor NOR2_1507 (N4208, N4138, N4139); +nor NOR2_1508 (N4211, N4143, N4140); +nor NOR2_1509 (N4215, N4082, N4146); +nor NOR2_1510 (N4216, N4146, N4079); +nor NOR2_1511 (N4217, N4150, N4151); +nor NOR2_1512 (N4220, N4152, N1053); +nor NOR2_1513 (N4224, N4091, N4155); +nor NOR2_1514 (N4225, N4155, N1101); +nor NOR2_1515 (N4226, N3992, N4155); +nor NOR2_1516 (N4229, N4159, N4160); +nor NOR2_1517 (N4232, N4164, N4161); +nor NOR2_1518 (N4236, N4103, N4167); +nor NOR2_1519 (N4237, N4167, N4100); +nor NOR2_1520 (N4238, N4171, N4172); +nor NOR2_1521 (N4241, N4173, N4174); +nor NOR2_1522 (N4242, N4178, N4179); +nor NOR2_1523 (N4245, N4183, N4184); +nor NOR2_1524 (N4248, N4188, N4189); +nor NOR2_1525 (N4251, N4193, N4194); +nor NOR2_1526 (N4254, N4198, N4199); +nor NOR2_1527 (N4257, N4203, N4204); +nor NOR2_1528 (N4260, N4208, N4205); +nor NOR2_1529 (N4264, N4143, N4211); +nor NOR2_1530 (N4265, N4211, N4140); +nor NOR2_1531 (N4266, N4215, N4216); +nor NOR2_1532 (N4269, N4217, N1005); +nor NOR2_1533 (N4273, N4152, N4220); +nor NOR2_1534 (N4274, N4220, N1053); +nor NOR2_1535 (N4275, N4034, N4220); +nor NOR2_1536 (N4278, N4224, N4225); +nor NOR2_1537 (N4281, N4229, N4226); +nor NOR2_1538 (N4285, N4164, N4232); +nor NOR2_1539 (N4286, N4232, N4161); +nor NOR2_1540 (N4287, N4236, N4237); +nor NOR2_1541 (N4290, N4238, N1248); +nor NOR2_1542 (N4294, N4242, N4175); +nor NOR2_1543 (N4298, N4245, N4180); +nor NOR2_1544 (N4302, N4248, N4185); +nor NOR2_1545 (N4306, N4251, N4190); +nor NOR2_1546 (N4310, N4254, N4195); +nor NOR2_1547 (N4314, N4257, N4200); +nor NOR2_1548 (N4318, N4208, N4260); +nor NOR2_1549 (N4319, N4260, N4205); +nor NOR2_1550 (N4320, N4264, N4265); +nor NOR2_1551 (N4323, N4266, N957); +nor NOR2_1552 (N4327, N4217, N4269); +nor NOR2_1553 (N4328, N4269, N1005); +nor NOR2_1554 (N4329, N4085, N4269); +nor NOR2_1555 (N4332, N4273, N4274); +nor NOR2_1556 (N4335, N4278, N4275); +nor NOR2_1557 (N4339, N4229, N4281); +nor NOR2_1558 (N4340, N4281, N4226); +nor NOR2_1559 (N4341, N4285, N4286); +nor NOR2_1560 (N4344, N4287, N1200); +nor NOR2_1561 (N4348, N4238, N4290); +nor NOR2_1562 (N4349, N4290, N1248); +nor NOR2_1563 (N4350, N4106, N4290); +nor NOR2_1564 (N4353, N4242, N4294); +nor NOR2_1565 (N4354, N4294, N4175); +nor NOR2_1566 (N4355, N4245, N4298); +nor NOR2_1567 (N4356, N4298, N4180); +nor NOR2_1568 (N4357, N4248, N4302); +nor NOR2_1569 (N4358, N4302, N4185); +nor NOR2_1570 (N4359, N4251, N4306); +nor NOR2_1571 (N4360, N4306, N4190); +nor NOR2_1572 (N4361, N4254, N4310); +nor NOR2_1573 (N4362, N4310, N4195); +nor NOR2_1574 (N4363, N4257, N4314); +nor NOR2_1575 (N4364, N4314, N4200); +nor NOR2_1576 (N4365, N4318, N4319); +nor NOR2_1577 (N4368, N4320, N909); +nor NOR2_1578 (N4372, N4266, N4323); +nor NOR2_1579 (N4373, N4323, N957); +nor NOR2_1580 (N4374, N4146, N4323); +nor NOR2_1581 (N4377, N4327, N4328); +nor NOR2_1582 (N4380, N4332, N4329); +nor NOR2_1583 (N4384, N4278, N4335); +nor NOR2_1584 (N4385, N4335, N4275); +nor NOR2_1585 (N4386, N4339, N4340); +nor NOR2_1586 (N4389, N4341, N1152); +nor NOR2_1587 (N4393, N4287, N4344); +nor NOR2_1588 (N4394, N4344, N1200); +nor NOR2_1589 (N4395, N4167, N4344); +nor NOR2_1590 (N4398, N4348, N4349); +nor NOR2_1591 (N4401, N1296, N4350); +nor NOR2_1592 (N4405, N4353, N4354); +nor NOR2_1593 (N4408, N4355, N4356); +nor NOR2_1594 (N4411, N4357, N4358); +nor NOR2_1595 (N4414, N4359, N4360); +nor NOR2_1596 (N4417, N4361, N4362); +nor NOR2_1597 (N4420, N4363, N4364); +nor NOR2_1598 (N4423, N4365, N861); +nor NOR2_1599 (N4427, N4320, N4368); +nor NOR2_1600 (N4428, N4368, N909); +nor NOR2_1601 (N4429, N4211, N4368); +nor NOR2_1602 (N4432, N4372, N4373); +nor NOR2_1603 (N4435, N4377, N4374); +nor NOR2_1604 (N4439, N4332, N4380); +nor NOR2_1605 (N4440, N4380, N4329); +nor NOR2_1606 (N4441, N4384, N4385); +nor NOR2_1607 (N4444, N4386, N1104); +nor NOR2_1608 (N4448, N4341, N4389); +nor NOR2_1609 (N4449, N4389, N1152); +nor NOR2_1610 (N4450, N4232, N4389); +nor NOR2_1611 (N4453, N4393, N4394); +nor NOR2_1612 (N4456, N4398, N4395); +nor NOR2_1613 (N4460, N1296, N4401); +nor NOR2_1614 (N4461, N4401, N4350); +nor NOR2_1615 (N4462, N4405, N573); +nor NOR2_1616 (N4466, N4408, N621); +nor NOR2_1617 (N4470, N4411, N669); +nor NOR2_1618 (N4474, N4414, N717); +nor NOR2_1619 (N4478, N4417, N765); +nor NOR2_1620 (N4482, N4420, N813); +nor NOR2_1621 (N4486, N4365, N4423); +nor NOR2_1622 (N4487, N4423, N861); +nor NOR2_1623 (N4488, N4260, N4423); +nor NOR2_1624 (N4491, N4427, N4428); +nor NOR2_1625 (N4494, N4432, N4429); +nor NOR2_1626 (N4498, N4377, N4435); +nor NOR2_1627 (N4499, N4435, N4374); +nor NOR2_1628 (N4500, N4439, N4440); +nor NOR2_1629 (N4503, N4441, N1056); +nor NOR2_1630 (N4507, N4386, N4444); +nor NOR2_1631 (N4508, N4444, N1104); +nor NOR2_1632 (N4509, N4281, N4444); +nor NOR2_1633 (N4512, N4448, N4449); +nor NOR2_1634 (N4515, N4453, N4450); +nor NOR2_1635 (N4519, N4398, N4456); +nor NOR2_1636 (N4520, N4456, N4395); +nor NOR2_1637 (N4521, N4460, N4461); +nor NOR2_1638 (N4524, N4405, N4462); +nor NOR2_1639 (N4525, N4462, N573); +nor NOR2_1640 (N4526, N4294, N4462); +nor NOR2_1641 (N4529, N4408, N4466); +nor NOR2_1642 (N4530, N4466, N621); +nor NOR2_1643 (N4531, N4298, N4466); +nor NOR2_1644 (N4534, N4411, N4470); +nor NOR2_1645 (N4535, N4470, N669); +nor NOR2_1646 (N4536, N4302, N4470); +nor NOR2_1647 (N4539, N4414, N4474); +nor NOR2_1648 (N4540, N4474, N717); +nor NOR2_1649 (N4541, N4306, N4474); +nor NOR2_1650 (N4544, N4417, N4478); +nor NOR2_1651 (N4545, N4478, N765); +nor NOR2_1652 (N4546, N4310, N4478); +nor NOR2_1653 (N4549, N4420, N4482); +nor NOR2_1654 (N4550, N4482, N813); +nor NOR2_1655 (N4551, N4314, N4482); +nor NOR2_1656 (N4554, N4486, N4487); +nor NOR2_1657 (N4557, N4491, N4488); +nor NOR2_1658 (N4561, N4432, N4494); +nor NOR2_1659 (N4562, N4494, N4429); +nor NOR2_1660 (N4563, N4498, N4499); +nor NOR2_1661 (N4566, N4500, N1008); +nor NOR2_1662 (N4570, N4441, N4503); +nor NOR2_1663 (N4571, N4503, N1056); +nor NOR2_1664 (N4572, N4335, N4503); +nor NOR2_1665 (N4575, N4507, N4508); +nor NOR2_1666 (N4578, N4512, N4509); +nor NOR2_1667 (N4582, N4453, N4515); +nor NOR2_1668 (N4583, N4515, N4450); +nor NOR2_1669 (N4584, N4519, N4520); +nor NOR2_1670 (N4587, N4521, N1251); +nor NOR2_1671 (N4591, N4524, N4525); +nor NOR2_1672 (N4592, N4529, N4530); +nor NOR2_1673 (N4595, N4534, N4535); +nor NOR2_1674 (N4598, N4539, N4540); +nor NOR2_1675 (N4601, N4544, N4545); +nor NOR2_1676 (N4604, N4549, N4550); +nor NOR2_1677 (N4607, N4554, N4551); +nor NOR2_1678 (N4611, N4491, N4557); +nor NOR2_1679 (N4612, N4557, N4488); +nor NOR2_1680 (N4613, N4561, N4562); +nor NOR2_1681 (N4616, N4563, N960); +nor NOR2_1682 (N4620, N4500, N4566); +nor NOR2_1683 (N4621, N4566, N1008); +nor NOR2_1684 (N4622, N4380, N4566); +nor NOR2_1685 (N4625, N4570, N4571); +nor NOR2_1686 (N4628, N4575, N4572); +nor NOR2_1687 (N4632, N4512, N4578); +nor NOR2_1688 (N4633, N4578, N4509); +nor NOR2_1689 (N4634, N4582, N4583); +nor NOR2_1690 (N4637, N4584, N1203); +nor NOR2_1691 (N4641, N4521, N4587); +nor NOR2_1692 (N4642, N4587, N1251); +nor NOR2_1693 (N4643, N4401, N4587); +nor NOR2_1694 (N4646, N4592, N4526); +nor NOR2_1695 (N4650, N4595, N4531); +nor NOR2_1696 (N4654, N4598, N4536); +nor NOR2_1697 (N4658, N4601, N4541); +nor NOR2_1698 (N4662, N4604, N4546); +nor NOR2_1699 (N4666, N4554, N4607); +nor NOR2_1700 (N4667, N4607, N4551); +nor NOR2_1701 (N4668, N4611, N4612); +nor NOR2_1702 (N4671, N4613, N912); +nor NOR2_1703 (N4675, N4563, N4616); +nor NOR2_1704 (N4676, N4616, N960); +nor NOR2_1705 (N4677, N4435, N4616); +nor NOR2_1706 (N4680, N4620, N4621); +nor NOR2_1707 (N4683, N4625, N4622); +nor NOR2_1708 (N4687, N4575, N4628); +nor NOR2_1709 (N4688, N4628, N4572); +nor NOR2_1710 (N4689, N4632, N4633); +nor NOR2_1711 (N4692, N4634, N1155); +nor NOR2_1712 (N4696, N4584, N4637); +nor NOR2_1713 (N4697, N4637, N1203); +nor NOR2_1714 (N4698, N4456, N4637); +nor NOR2_1715 (N4701, N4641, N4642); +nor NOR2_1716 (N4704, N1299, N4643); +nor NOR2_1717 (N4708, N4592, N4646); +nor NOR2_1718 (N4709, N4646, N4526); +nor NOR2_1719 (N4710, N4595, N4650); +nor NOR2_1720 (N4711, N4650, N4531); +nor NOR2_1721 (N4712, N4598, N4654); +nor NOR2_1722 (N4713, N4654, N4536); +nor NOR2_1723 (N4714, N4601, N4658); +nor NOR2_1724 (N4715, N4658, N4541); +nor NOR2_1725 (N4716, N4604, N4662); +nor NOR2_1726 (N4717, N4662, N4546); +nor NOR2_1727 (N4718, N4666, N4667); +nor NOR2_1728 (N4721, N4668, N864); +nor NOR2_1729 (N4725, N4613, N4671); +nor NOR2_1730 (N4726, N4671, N912); +nor NOR2_1731 (N4727, N4494, N4671); +nor NOR2_1732 (N4730, N4675, N4676); +nor NOR2_1733 (N4733, N4680, N4677); +nor NOR2_1734 (N4737, N4625, N4683); +nor NOR2_1735 (N4738, N4683, N4622); +nor NOR2_1736 (N4739, N4687, N4688); +nor NOR2_1737 (N4742, N4689, N1107); +nor NOR2_1738 (N4746, N4634, N4692); +nor NOR2_1739 (N4747, N4692, N1155); +nor NOR2_1740 (N4748, N4515, N4692); +nor NOR2_1741 (N4751, N4696, N4697); +nor NOR2_1742 (N4754, N4701, N4698); +nor NOR2_1743 (N4758, N1299, N4704); +nor NOR2_1744 (N4759, N4704, N4643); +nor NOR2_1745 (N4760, N4708, N4709); +nor NOR2_1746 (N4763, N4710, N4711); +nor NOR2_1747 (N4766, N4712, N4713); +nor NOR2_1748 (N4769, N4714, N4715); +nor NOR2_1749 (N4772, N4716, N4717); +nor NOR2_1750 (N4775, N4718, N816); +nor NOR2_1751 (N4779, N4668, N4721); +nor NOR2_1752 (N4780, N4721, N864); +nor NOR2_1753 (N4781, N4557, N4721); +nor NOR2_1754 (N4784, N4725, N4726); +nor NOR2_1755 (N4787, N4730, N4727); +nor NOR2_1756 (N4791, N4680, N4733); +nor NOR2_1757 (N4792, N4733, N4677); +nor NOR2_1758 (N4793, N4737, N4738); +nor NOR2_1759 (N4796, N4739, N1059); +nor NOR2_1760 (N4800, N4689, N4742); +nor NOR2_1761 (N4801, N4742, N1107); +nor NOR2_1762 (N4802, N4578, N4742); +nor NOR2_1763 (N4805, N4746, N4747); +nor NOR2_1764 (N4808, N4751, N4748); +nor NOR2_1765 (N4812, N4701, N4754); +nor NOR2_1766 (N4813, N4754, N4698); +nor NOR2_1767 (N4814, N4758, N4759); +nor NOR2_1768 (N4817, N4760, N576); +nor NOR2_1769 (N4821, N4763, N624); +nor NOR2_1770 (N4825, N4766, N672); +nor NOR2_1771 (N4829, N4769, N720); +nor NOR2_1772 (N4833, N4772, N768); +nor NOR2_1773 (N4837, N4718, N4775); +nor NOR2_1774 (N4838, N4775, N816); +nor NOR2_1775 (N4839, N4607, N4775); +nor NOR2_1776 (N4842, N4779, N4780); +nor NOR2_1777 (N4845, N4784, N4781); +nor NOR2_1778 (N4849, N4730, N4787); +nor NOR2_1779 (N4850, N4787, N4727); +nor NOR2_1780 (N4851, N4791, N4792); +nor NOR2_1781 (N4854, N4793, N1011); +nor NOR2_1782 (N4858, N4739, N4796); +nor NOR2_1783 (N4859, N4796, N1059); +nor NOR2_1784 (N4860, N4628, N4796); +nor NOR2_1785 (N4863, N4800, N4801); +nor NOR2_1786 (N4866, N4805, N4802); +nor NOR2_1787 (N4870, N4751, N4808); +nor NOR2_1788 (N4871, N4808, N4748); +nor NOR2_1789 (N4872, N4812, N4813); +nor NOR2_1790 (N4875, N4814, N1254); +nor NOR2_1791 (N4879, N4760, N4817); +nor NOR2_1792 (N4880, N4817, N576); +nor NOR2_1793 (N4881, N4646, N4817); +nor NOR2_1794 (N4884, N4763, N4821); +nor NOR2_1795 (N4885, N4821, N624); +nor NOR2_1796 (N4886, N4650, N4821); +nor NOR2_1797 (N4889, N4766, N4825); +nor NOR2_1798 (N4890, N4825, N672); +nor NOR2_1799 (N4891, N4654, N4825); +nor NOR2_1800 (N4894, N4769, N4829); +nor NOR2_1801 (N4895, N4829, N720); +nor NOR2_1802 (N4896, N4658, N4829); +nor NOR2_1803 (N4899, N4772, N4833); +nor NOR2_1804 (N4900, N4833, N768); +nor NOR2_1805 (N4901, N4662, N4833); +nor NOR2_1806 (N4904, N4837, N4838); +nor NOR2_1807 (N4907, N4842, N4839); +nor NOR2_1808 (N4911, N4784, N4845); +nor NOR2_1809 (N4912, N4845, N4781); +nor NOR2_1810 (N4913, N4849, N4850); +nor NOR2_1811 (N4916, N4851, N963); +nor NOR2_1812 (N4920, N4793, N4854); +nor NOR2_1813 (N4921, N4854, N1011); +nor NOR2_1814 (N4922, N4683, N4854); +nor NOR2_1815 (N4925, N4858, N4859); +nor NOR2_1816 (N4928, N4863, N4860); +nor NOR2_1817 (N4932, N4805, N4866); +nor NOR2_1818 (N4933, N4866, N4802); +nor NOR2_1819 (N4934, N4870, N4871); +nor NOR2_1820 (N4937, N4872, N1206); +nor NOR2_1821 (N4941, N4814, N4875); +nor NOR2_1822 (N4942, N4875, N1254); +nor NOR2_1823 (N4943, N4704, N4875); +nor NOR2_1824 (N4946, N4879, N4880); +nor NOR2_1825 (N4947, N4884, N4885); +nor NOR2_1826 (N4950, N4889, N4890); +nor NOR2_1827 (N4953, N4894, N4895); +nor NOR2_1828 (N4956, N4899, N4900); +nor NOR2_1829 (N4959, N4904, N4901); +nor NOR2_1830 (N4963, N4842, N4907); +nor NOR2_1831 (N4964, N4907, N4839); +nor NOR2_1832 (N4965, N4911, N4912); +nor NOR2_1833 (N4968, N4913, N915); +nor NOR2_1834 (N4972, N4851, N4916); +nor NOR2_1835 (N4973, N4916, N963); +nor NOR2_1836 (N4974, N4733, N4916); +nor NOR2_1837 (N4977, N4920, N4921); +nor NOR2_1838 (N4980, N4925, N4922); +nor NOR2_1839 (N4984, N4863, N4928); +nor NOR2_1840 (N4985, N4928, N4860); +nor NOR2_1841 (N4986, N4932, N4933); +nor NOR2_1842 (N4989, N4934, N1158); +nor NOR2_1843 (N4993, N4872, N4937); +nor NOR2_1844 (N4994, N4937, N1206); +nor NOR2_1845 (N4995, N4754, N4937); +nor NOR2_1846 (N4998, N4941, N4942); +nor NOR2_1847 (N5001, N1302, N4943); +nor NOR2_1848 (N5005, N4947, N4881); +nor NOR2_1849 (N5009, N4950, N4886); +nor NOR2_1850 (N5013, N4953, N4891); +nor NOR2_1851 (N5017, N4956, N4896); +nor NOR2_1852 (N5021, N4904, N4959); +nor NOR2_1853 (N5022, N4959, N4901); +nor NOR2_1854 (N5023, N4963, N4964); +nor NOR2_1855 (N5026, N4965, N867); +nor NOR2_1856 (N5030, N4913, N4968); +nor NOR2_1857 (N5031, N4968, N915); +nor NOR2_1858 (N5032, N4787, N4968); +nor NOR2_1859 (N5035, N4972, N4973); +nor NOR2_1860 (N5038, N4977, N4974); +nor NOR2_1861 (N5042, N4925, N4980); +nor NOR2_1862 (N5043, N4980, N4922); +nor NOR2_1863 (N5044, N4984, N4985); +nor NOR2_1864 (N5047, N4986, N1110); +nor NOR2_1865 (N5051, N4934, N4989); +nor NOR2_1866 (N5052, N4989, N1158); +nor NOR2_1867 (N5053, N4808, N4989); +nor NOR2_1868 (N5056, N4993, N4994); +nor NOR2_1869 (N5059, N4998, N4995); +nor NOR2_1870 (N5063, N1302, N5001); +nor NOR2_1871 (N5064, N5001, N4943); +nor NOR2_1872 (N5065, N4947, N5005); +nor NOR2_1873 (N5066, N5005, N4881); +nor NOR2_1874 (N5067, N4950, N5009); +nor NOR2_1875 (N5068, N5009, N4886); +nor NOR2_1876 (N5069, N4953, N5013); +nor NOR2_1877 (N5070, N5013, N4891); +nor NOR2_1878 (N5071, N4956, N5017); +nor NOR2_1879 (N5072, N5017, N4896); +nor NOR2_1880 (N5073, N5021, N5022); +nor NOR2_1881 (N5076, N5023, N819); +nor NOR2_1882 (N5080, N4965, N5026); +nor NOR2_1883 (N5081, N5026, N867); +nor NOR2_1884 (N5082, N4845, N5026); +nor NOR2_1885 (N5085, N5030, N5031); +nor NOR2_1886 (N5088, N5035, N5032); +nor NOR2_1887 (N5092, N4977, N5038); +nor NOR2_1888 (N5093, N5038, N4974); +nor NOR2_1889 (N5094, N5042, N5043); +nor NOR2_1890 (N5097, N5044, N1062); +nor NOR2_1891 (N5101, N4986, N5047); +nor NOR2_1892 (N5102, N5047, N1110); +nor NOR2_1893 (N5103, N4866, N5047); +nor NOR2_1894 (N5106, N5051, N5052); +nor NOR2_1895 (N5109, N5056, N5053); +nor NOR2_1896 (N5113, N4998, N5059); +nor NOR2_1897 (N5114, N5059, N4995); +nor NOR2_1898 (N5115, N5063, N5064); +nor NOR2_1899 (N5118, N5065, N5066); +nor NOR2_1900 (N5121, N5067, N5068); +nor NOR2_1901 (N5124, N5069, N5070); +nor NOR2_1902 (N5127, N5071, N5072); +nor NOR2_1903 (N5130, N5073, N771); +nor NOR2_1904 (N5134, N5023, N5076); +nor NOR2_1905 (N5135, N5076, N819); +nor NOR2_1906 (N5136, N4907, N5076); +nor NOR2_1907 (N5139, N5080, N5081); +nor NOR2_1908 (N5142, N5085, N5082); +nor NOR2_1909 (N5146, N5035, N5088); +nor NOR2_1910 (N5147, N5088, N5032); +nor NOR2_1911 (N5148, N5092, N5093); +nor NOR2_1912 (N5151, N5094, N1014); +nor NOR2_1913 (N5155, N5044, N5097); +nor NOR2_1914 (N5156, N5097, N1062); +nor NOR2_1915 (N5157, N4928, N5097); +nor NOR2_1916 (N5160, N5101, N5102); +nor NOR2_1917 (N5163, N5106, N5103); +nor NOR2_1918 (N5167, N5056, N5109); +nor NOR2_1919 (N5168, N5109, N5053); +nor NOR2_1920 (N5169, N5113, N5114); +nor NOR2_1921 (N5172, N5115, N1257); +nor NOR2_1922 (N5176, N5118, N579); +nor NOR2_1923 (N5180, N5121, N627); +nor NOR2_1924 (N5184, N5124, N675); +nor NOR2_1925 (N5188, N5127, N723); +nor NOR2_1926 (N5192, N5073, N5130); +nor NOR2_1927 (N5193, N5130, N771); +nor NOR2_1928 (N5194, N4959, N5130); +nor NOR2_1929 (N5197, N5134, N5135); +nor NOR2_1930 (N5200, N5139, N5136); +nor NOR2_1931 (N5204, N5085, N5142); +nor NOR2_1932 (N5205, N5142, N5082); +nor NOR2_1933 (N5206, N5146, N5147); +nor NOR2_1934 (N5209, N5148, N966); +nor NOR2_1935 (N5213, N5094, N5151); +nor NOR2_1936 (N5214, N5151, N1014); +nor NOR2_1937 (N5215, N4980, N5151); +nor NOR2_1938 (N5218, N5155, N5156); +nor NOR2_1939 (N5221, N5160, N5157); +nor NOR2_1940 (N5225, N5106, N5163); +nor NOR2_1941 (N5226, N5163, N5103); +nor NOR2_1942 (N5227, N5167, N5168); +nor NOR2_1943 (N5230, N5169, N1209); +nor NOR2_1944 (N5234, N5115, N5172); +nor NOR2_1945 (N5235, N5172, N1257); +nor NOR2_1946 (N5236, N5001, N5172); +nor NOR2_1947 (N5239, N5118, N5176); +nor NOR2_1948 (N5240, N5176, N579); +nor NOR2_1949 (N5241, N5005, N5176); +nor NOR2_1950 (N5244, N5121, N5180); +nor NOR2_1951 (N5245, N5180, N627); +nor NOR2_1952 (N5246, N5009, N5180); +nor NOR2_1953 (N5249, N5124, N5184); +nor NOR2_1954 (N5250, N5184, N675); +nor NOR2_1955 (N5251, N5013, N5184); +nor NOR2_1956 (N5254, N5127, N5188); +nor NOR2_1957 (N5255, N5188, N723); +nor NOR2_1958 (N5256, N5017, N5188); +nor NOR2_1959 (N5259, N5192, N5193); +nor NOR2_1960 (N5262, N5197, N5194); +nor NOR2_1961 (N5266, N5139, N5200); +nor NOR2_1962 (N5267, N5200, N5136); +nor NOR2_1963 (N5268, N5204, N5205); +nor NOR2_1964 (N5271, N5206, N918); +nor NOR2_1965 (N5275, N5148, N5209); +nor NOR2_1966 (N5276, N5209, N966); +nor NOR2_1967 (N5277, N5038, N5209); +nor NOR2_1968 (N5280, N5213, N5214); +nor NOR2_1969 (N5283, N5218, N5215); +nor NOR2_1970 (N5287, N5160, N5221); +nor NOR2_1971 (N5288, N5221, N5157); +nor NOR2_1972 (N5289, N5225, N5226); +nor NOR2_1973 (N5292, N5227, N1161); +nor NOR2_1974 (N5296, N5169, N5230); +nor NOR2_1975 (N5297, N5230, N1209); +nor NOR2_1976 (N5298, N5059, N5230); +nor NOR2_1977 (N5301, N5234, N5235); +nor NOR2_1978 (N5304, N1305, N5236); +nor NOR2_1979 (N5308, N5239, N5240); +nor NOR2_1980 (N5309, N5244, N5245); +nor NOR2_1981 (N5312, N5249, N5250); +nor NOR2_1982 (N5315, N5254, N5255); +nor NOR2_1983 (N5318, N5259, N5256); +nor NOR2_1984 (N5322, N5197, N5262); +nor NOR2_1985 (N5323, N5262, N5194); +nor NOR2_1986 (N5324, N5266, N5267); +nor NOR2_1987 (N5327, N5268, N870); +nor NOR2_1988 (N5331, N5206, N5271); +nor NOR2_1989 (N5332, N5271, N918); +nor NOR2_1990 (N5333, N5088, N5271); +nor NOR2_1991 (N5336, N5275, N5276); +nor NOR2_1992 (N5339, N5280, N5277); +nor NOR2_1993 (N5343, N5218, N5283); +nor NOR2_1994 (N5344, N5283, N5215); +nor NOR2_1995 (N5345, N5287, N5288); +nor NOR2_1996 (N5348, N5289, N1113); +nor NOR2_1997 (N5352, N5227, N5292); +nor NOR2_1998 (N5353, N5292, N1161); +nor NOR2_1999 (N5354, N5109, N5292); +nor NOR2_2000 (N5357, N5296, N5297); +nor NOR2_2001 (N5360, N5301, N5298); +nor NOR2_2002 (N5364, N1305, N5304); +nor NOR2_2003 (N5365, N5304, N5236); +nor NOR2_2004 (N5366, N5309, N5241); +nor NOR2_2005 (N5370, N5312, N5246); +nor NOR2_2006 (N5374, N5315, N5251); +nor NOR2_2007 (N5378, N5259, N5318); +nor NOR2_2008 (N5379, N5318, N5256); +nor NOR2_2009 (N5380, N5322, N5323); +nor NOR2_2010 (N5383, N5324, N822); +nor NOR2_2011 (N5387, N5268, N5327); +nor NOR2_2012 (N5388, N5327, N870); +nor NOR2_2013 (N5389, N5142, N5327); +nor NOR2_2014 (N5392, N5331, N5332); +nor NOR2_2015 (N5395, N5336, N5333); +nor NOR2_2016 (N5399, N5280, N5339); +nor NOR2_2017 (N5400, N5339, N5277); +nor NOR2_2018 (N5401, N5343, N5344); +nor NOR2_2019 (N5404, N5345, N1065); +nor NOR2_2020 (N5408, N5289, N5348); +nor NOR2_2021 (N5409, N5348, N1113); +nor NOR2_2022 (N5410, N5163, N5348); +nor NOR2_2023 (N5413, N5352, N5353); +nor NOR2_2024 (N5416, N5357, N5354); +nor NOR2_2025 (N5420, N5301, N5360); +nor NOR2_2026 (N5421, N5360, N5298); +nor NOR2_2027 (N5422, N5364, N5365); +nor NOR2_2028 (N5425, N5309, N5366); +nor NOR2_2029 (N5426, N5366, N5241); +nor NOR2_2030 (N5427, N5312, N5370); +nor NOR2_2031 (N5428, N5370, N5246); +nor NOR2_2032 (N5429, N5315, N5374); +nor NOR2_2033 (N5430, N5374, N5251); +nor NOR2_2034 (N5431, N5378, N5379); +nor NOR2_2035 (N5434, N5380, N774); +nor NOR2_2036 (N5438, N5324, N5383); +nor NOR2_2037 (N5439, N5383, N822); +nor NOR2_2038 (N5440, N5200, N5383); +nor NOR2_2039 (N5443, N5387, N5388); +nor NOR2_2040 (N5446, N5392, N5389); +nor NOR2_2041 (N5450, N5336, N5395); +nor NOR2_2042 (N5451, N5395, N5333); +nor NOR2_2043 (N5452, N5399, N5400); +nor NOR2_2044 (N5455, N5401, N1017); +nor NOR2_2045 (N5459, N5345, N5404); +nor NOR2_2046 (N5460, N5404, N1065); +nor NOR2_2047 (N5461, N5221, N5404); +nor NOR2_2048 (N5464, N5408, N5409); +nor NOR2_2049 (N5467, N5413, N5410); +nor NOR2_2050 (N5471, N5357, N5416); +nor NOR2_2051 (N5472, N5416, N5354); +nor NOR2_2052 (N5473, N5420, N5421); +nor NOR2_2053 (N5476, N5422, N1260); +nor NOR2_2054 (N5480, N5425, N5426); +nor NOR2_2055 (N5483, N5427, N5428); +nor NOR2_2056 (N5486, N5429, N5430); +nor NOR2_2057 (N5489, N5431, N726); +nor NOR2_2058 (N5493, N5380, N5434); +nor NOR2_2059 (N5494, N5434, N774); +nor NOR2_2060 (N5495, N5262, N5434); +nor NOR2_2061 (N5498, N5438, N5439); +nor NOR2_2062 (N5501, N5443, N5440); +nor NOR2_2063 (N5505, N5392, N5446); +nor NOR2_2064 (N5506, N5446, N5389); +nor NOR2_2065 (N5507, N5450, N5451); +nor NOR2_2066 (N5510, N5452, N969); +nor NOR2_2067 (N5514, N5401, N5455); +nor NOR2_2068 (N5515, N5455, N1017); +nor NOR2_2069 (N5516, N5283, N5455); +nor NOR2_2070 (N5519, N5459, N5460); +nor NOR2_2071 (N5522, N5464, N5461); +nor NOR2_2072 (N5526, N5413, N5467); +nor NOR2_2073 (N5527, N5467, N5410); +nor NOR2_2074 (N5528, N5471, N5472); +nor NOR2_2075 (N5531, N5473, N1212); +nor NOR2_2076 (N5535, N5422, N5476); +nor NOR2_2077 (N5536, N5476, N1260); +nor NOR2_2078 (N5537, N5304, N5476); +nor NOR2_2079 (N5540, N5480, N582); +nor NOR2_2080 (N5544, N5483, N630); +nor NOR2_2081 (N5548, N5486, N678); +nor NOR2_2082 (N5552, N5431, N5489); +nor NOR2_2083 (N5553, N5489, N726); +nor NOR2_2084 (N5554, N5318, N5489); +nor NOR2_2085 (N5557, N5493, N5494); +nor NOR2_2086 (N5560, N5498, N5495); +nor NOR2_2087 (N5564, N5443, N5501); +nor NOR2_2088 (N5565, N5501, N5440); +nor NOR2_2089 (N5566, N5505, N5506); +nor NOR2_2090 (N5569, N5507, N921); +nor NOR2_2091 (N5573, N5452, N5510); +nor NOR2_2092 (N5574, N5510, N969); +nor NOR2_2093 (N5575, N5339, N5510); +nor NOR2_2094 (N5578, N5514, N5515); +nor NOR2_2095 (N5581, N5519, N5516); +nor NOR2_2096 (N5585, N5464, N5522); +nor NOR2_2097 (N5586, N5522, N5461); +nor NOR2_2098 (N5587, N5526, N5527); +nor NOR2_2099 (N5590, N5528, N1164); +nor NOR2_2100 (N5594, N5473, N5531); +nor NOR2_2101 (N5595, N5531, N1212); +nor NOR2_2102 (N5596, N5360, N5531); +nor NOR2_2103 (N5599, N5535, N5536); +nor NOR2_2104 (N5602, N1308, N5537); +nor NOR2_2105 (N5606, N5480, N5540); +nor NOR2_2106 (N5607, N5540, N582); +nor NOR2_2107 (N5608, N5366, N5540); +nor NOR2_2108 (N5611, N5483, N5544); +nor NOR2_2109 (N5612, N5544, N630); +nor NOR2_2110 (N5613, N5370, N5544); +nor NOR2_2111 (N5616, N5486, N5548); +nor NOR2_2112 (N5617, N5548, N678); +nor NOR2_2113 (N5618, N5374, N5548); +nor NOR2_2114 (N5621, N5552, N5553); +nor NOR2_2115 (N5624, N5557, N5554); +nor NOR2_2116 (N5628, N5498, N5560); +nor NOR2_2117 (N5629, N5560, N5495); +nor NOR2_2118 (N5630, N5564, N5565); +nor NOR2_2119 (N5633, N5566, N873); +nor NOR2_2120 (N5637, N5507, N5569); +nor NOR2_2121 (N5638, N5569, N921); +nor NOR2_2122 (N5639, N5395, N5569); +nor NOR2_2123 (N5642, N5573, N5574); +nor NOR2_2124 (N5645, N5578, N5575); +nor NOR2_2125 (N5649, N5519, N5581); +nor NOR2_2126 (N5650, N5581, N5516); +nor NOR2_2127 (N5651, N5585, N5586); +nor NOR2_2128 (N5654, N5587, N1116); +nor NOR2_2129 (N5658, N5528, N5590); +nor NOR2_2130 (N5659, N5590, N1164); +nor NOR2_2131 (N5660, N5416, N5590); +nor NOR2_2132 (N5663, N5594, N5595); +nor NOR2_2133 (N5666, N5599, N5596); +nor NOR2_2134 (N5670, N1308, N5602); +nor NOR2_2135 (N5671, N5602, N5537); +nor NOR2_2136 (N5672, N5606, N5607); +nor NOR2_2137 (N5673, N5611, N5612); +nor NOR2_2138 (N5676, N5616, N5617); +nor NOR2_2139 (N5679, N5621, N5618); +nor NOR2_2140 (N5683, N5557, N5624); +nor NOR2_2141 (N5684, N5624, N5554); +nor NOR2_2142 (N5685, N5628, N5629); +nor NOR2_2143 (N5688, N5630, N825); +nor NOR2_2144 (N5692, N5566, N5633); +nor NOR2_2145 (N5693, N5633, N873); +nor NOR2_2146 (N5694, N5446, N5633); +nor NOR2_2147 (N5697, N5637, N5638); +nor NOR2_2148 (N5700, N5642, N5639); +nor NOR2_2149 (N5704, N5578, N5645); +nor NOR2_2150 (N5705, N5645, N5575); +nor NOR2_2151 (N5706, N5649, N5650); +nor NOR2_2152 (N5709, N5651, N1068); +nor NOR2_2153 (N5713, N5587, N5654); +nor NOR2_2154 (N5714, N5654, N1116); +nor NOR2_2155 (N5715, N5467, N5654); +nor NOR2_2156 (N5718, N5658, N5659); +nor NOR2_2157 (N5721, N5663, N5660); +nor NOR2_2158 (N5725, N5599, N5666); +nor NOR2_2159 (N5726, N5666, N5596); +nor NOR2_2160 (N5727, N5670, N5671); +nor NOR2_2161 (N5730, N5673, N5608); +nor NOR2_2162 (N5734, N5676, N5613); +nor NOR2_2163 (N5738, N5621, N5679); +nor NOR2_2164 (N5739, N5679, N5618); +nor NOR2_2165 (N5740, N5683, N5684); +nor NOR2_2166 (N5743, N5685, N777); +nor NOR2_2167 (N5747, N5630, N5688); +nor NOR2_2168 (N5748, N5688, N825); +nor NOR2_2169 (N5749, N5501, N5688); +nor NOR2_2170 (N5752, N5692, N5693); +nor NOR2_2171 (N5755, N5697, N5694); +nor NOR2_2172 (N5759, N5642, N5700); +nor NOR2_2173 (N5760, N5700, N5639); +nor NOR2_2174 (N5761, N5704, N5705); +nor NOR2_2175 (N5764, N5706, N1020); +nor NOR2_2176 (N5768, N5651, N5709); +nor NOR2_2177 (N5769, N5709, N1068); +nor NOR2_2178 (N5770, N5522, N5709); +nor NOR2_2179 (N5773, N5713, N5714); +nor NOR2_2180 (N5776, N5718, N5715); +nor NOR2_2181 (N5780, N5663, N5721); +nor NOR2_2182 (N5781, N5721, N5660); +nor NOR2_2183 (N5782, N5725, N5726); +nor NOR2_2184 (N5785, N5673, N5730); +nor NOR2_2185 (N5786, N5730, N5608); +nor NOR2_2186 (N5787, N5676, N5734); +nor NOR2_2187 (N5788, N5734, N5613); +nor NOR2_2188 (N5789, N5738, N5739); +nor NOR2_2189 (N5792, N5740, N729); +nor NOR2_2190 (N5796, N5685, N5743); +nor NOR2_2191 (N5797, N5743, N777); +nor NOR2_2192 (N5798, N5560, N5743); +nor NOR2_2193 (N5801, N5747, N5748); +nor NOR2_2194 (N5804, N5752, N5749); +nor NOR2_2195 (N5808, N5697, N5755); +nor NOR2_2196 (N5809, N5755, N5694); +nor NOR2_2197 (N5810, N5759, N5760); +nor NOR2_2198 (N5813, N5761, N972); +nor NOR2_2199 (N5817, N5706, N5764); +nor NOR2_2200 (N5818, N5764, N1020); +nor NOR2_2201 (N5819, N5581, N5764); +nor NOR2_2202 (N5822, N5768, N5769); +nor NOR2_2203 (N5825, N5773, N5770); +nor NOR2_2204 (N5829, N5718, N5776); +nor NOR2_2205 (N5830, N5776, N5715); +nor NOR2_2206 (N5831, N5780, N5781); +nor NOR2_2207 (N5834, N5785, N5786); +nor NOR2_2208 (N5837, N5787, N5788); +nor NOR2_2209 (N5840, N5789, N681); +nor NOR2_2210 (N5844, N5740, N5792); +nor NOR2_2211 (N5845, N5792, N729); +nor NOR2_2212 (N5846, N5624, N5792); +nor NOR2_2213 (N5849, N5796, N5797); +nor NOR2_2214 (N5852, N5801, N5798); +nor NOR2_2215 (N5856, N5752, N5804); +nor NOR2_2216 (N5857, N5804, N5749); +nor NOR2_2217 (N5858, N5808, N5809); +nor NOR2_2218 (N5861, N5810, N924); +nor NOR2_2219 (N5865, N5761, N5813); +nor NOR2_2220 (N5866, N5813, N972); +nor NOR2_2221 (N5867, N5645, N5813); +nor NOR2_2222 (N5870, N5817, N5818); +nor NOR2_2223 (N5873, N5822, N5819); +nor NOR2_2224 (N5877, N5773, N5825); +nor NOR2_2225 (N5878, N5825, N5770); +nor NOR2_2226 (N5879, N5829, N5830); +nor NOR2_2227 (N5882, N5834, N585); +nor NOR2_2228 (N5886, N5837, N633); +nor NOR2_2229 (N5890, N5789, N5840); +nor NOR2_2230 (N5891, N5840, N681); +nor NOR2_2231 (N5892, N5679, N5840); +nor NOR2_2232 (N5895, N5844, N5845); +nor NOR2_2233 (N5898, N5849, N5846); +nor NOR2_2234 (N5902, N5801, N5852); +nor NOR2_2235 (N5903, N5852, N5798); +nor NOR2_2236 (N5904, N5856, N5857); +nor NOR2_2237 (N5907, N5858, N876); +nor NOR2_2238 (N5911, N5810, N5861); +nor NOR2_2239 (N5912, N5861, N924); +nor NOR2_2240 (N5913, N5700, N5861); +nor NOR2_2241 (N5916, N5865, N5866); +nor NOR2_2242 (N5919, N5870, N5867); +nor NOR2_2243 (N5923, N5822, N5873); +nor NOR2_2244 (N5924, N5873, N5819); +nor NOR2_2245 (N5925, N5877, N5878); +nor NOR2_2246 (N5928, N5834, N5882); +nor NOR2_2247 (N5929, N5882, N585); +nor NOR2_2248 (N5930, N5730, N5882); +nor NOR2_2249 (N5933, N5837, N5886); +nor NOR2_2250 (N5934, N5886, N633); +nor NOR2_2251 (N5935, N5734, N5886); +nor NOR2_2252 (N5938, N5890, N5891); +nor NOR2_2253 (N5941, N5895, N5892); +nor NOR2_2254 (N5945, N5849, N5898); +nor NOR2_2255 (N5946, N5898, N5846); +nor NOR2_2256 (N5947, N5902, N5903); +nor NOR2_2257 (N5950, N5904, N828); +nor NOR2_2258 (N5954, N5858, N5907); +nor NOR2_2259 (N5955, N5907, N876); +nor NOR2_2260 (N5956, N5755, N5907); +nor NOR2_2261 (N5959, N5911, N5912); +nor NOR2_2262 (N5962, N5916, N5913); +nor NOR2_2263 (N5966, N5870, N5919); +nor NOR2_2264 (N5967, N5919, N5867); +nor NOR2_2265 (N5968, N5923, N5924); +nor NOR2_2266 (N5971, N5928, N5929); +nor NOR2_2267 (N5972, N5933, N5934); +nor NOR2_2268 (N5975, N5938, N5935); +nor NOR2_2269 (N5979, N5895, N5941); +nor NOR2_2270 (N5980, N5941, N5892); +nor NOR2_2271 (N5981, N5945, N5946); +nor NOR2_2272 (N5984, N5947, N780); +nor NOR2_2273 (N5988, N5904, N5950); +nor NOR2_2274 (N5989, N5950, N828); +nor NOR2_2275 (N5990, N5804, N5950); +nor NOR2_2276 (N5993, N5954, N5955); +nor NOR2_2277 (N5996, N5959, N5956); +nor NOR2_2278 (N6000, N5916, N5962); +nor NOR2_2279 (N6001, N5962, N5913); +nor NOR2_2280 (N6002, N5966, N5967); +nor NOR2_2281 (N6005, N5972, N5930); +nor NOR2_2282 (N6009, N5938, N5975); +nor NOR2_2283 (N6010, N5975, N5935); +nor NOR2_2284 (N6011, N5979, N5980); +nor NOR2_2285 (N6014, N5981, N732); +nor NOR2_2286 (N6018, N5947, N5984); +nor NOR2_2287 (N6019, N5984, N780); +nor NOR2_2288 (N6020, N5852, N5984); +nor NOR2_2289 (N6023, N5988, N5989); +nor NOR2_2290 (N6026, N5993, N5990); +nor NOR2_2291 (N6030, N5959, N5996); +nor NOR2_2292 (N6031, N5996, N5956); +nor NOR2_2293 (N6032, N6000, N6001); +nor NOR2_2294 (N6035, N5972, N6005); +nor NOR2_2295 (N6036, N6005, N5930); +nor NOR2_2296 (N6037, N6009, N6010); +nor NOR2_2297 (N6040, N6011, N684); +nor NOR2_2298 (N6044, N5981, N6014); +nor NOR2_2299 (N6045, N6014, N732); +nor NOR2_2300 (N6046, N5898, N6014); +nor NOR2_2301 (N6049, N6018, N6019); +nor NOR2_2302 (N6052, N6023, N6020); +nor NOR2_2303 (N6056, N5993, N6026); +nor NOR2_2304 (N6057, N6026, N5990); +nor NOR2_2305 (N6058, N6030, N6031); +nor NOR2_2306 (N6061, N6035, N6036); +nor NOR2_2307 (N6064, N6037, N636); +nor NOR2_2308 (N6068, N6011, N6040); +nor NOR2_2309 (N6069, N6040, N684); +nor NOR2_2310 (N6070, N5941, N6040); +nor NOR2_2311 (N6073, N6044, N6045); +nor NOR2_2312 (N6076, N6049, N6046); +nor NOR2_2313 (N6080, N6023, N6052); +nor NOR2_2314 (N6081, N6052, N6020); +nor NOR2_2315 (N6082, N6056, N6057); +nor NOR2_2316 (N6085, N6061, N588); +nor NOR2_2317 (N6089, N6037, N6064); +nor NOR2_2318 (N6090, N6064, N636); +nor NOR2_2319 (N6091, N5975, N6064); +nor NOR2_2320 (N6094, N6068, N6069); +nor NOR2_2321 (N6097, N6073, N6070); +nor NOR2_2322 (N6101, N6049, N6076); +nor NOR2_2323 (N6102, N6076, N6046); +nor NOR2_2324 (N6103, N6080, N6081); +nor NOR2_2325 (N6106, N6061, N6085); +nor NOR2_2326 (N6107, N6085, N588); +nor NOR2_2327 (N6108, N6005, N6085); +nor NOR2_2328 (N6111, N6089, N6090); +nor NOR2_2329 (N6114, N6094, N6091); +nor NOR2_2330 (N6118, N6073, N6097); +nor NOR2_2331 (N6119, N6097, N6070); +nor NOR2_2332 (N6120, N6101, N6102); +nor NOR2_2333 (N6123, N6106, N6107); +nor NOR2_2334 (N6124, N6111, N6108); +nor NOR2_2335 (N6128, N6094, N6114); +nor NOR2_2336 (N6129, N6114, N6091); +nor NOR2_2337 (N6130, N6118, N6119); +nor NOR2_2338 (N6133, N6111, N6124); +nor NOR2_2339 (N6134, N6124, N6108); +nor NOR2_2340 (N6135, N6128, N6129); +nor NOR2_2341 (N6138, N6133, N6134); +not NOT1_2342 (N6141, N6138); +nor NOR2_2343 (N6145, N6138, N6141); +not NOT1_2344 (N6146, N6141); +nor NOR2_2345 (N6147, N6124, N6141); +nor NOR2_2346 (N6150, N6145, N6146); +nor NOR2_2347 (N6151, N6135, N6147); +nor NOR2_2348 (N6155, N6135, N6151); +nor NOR2_2349 (N6156, N6151, N6147); +nor NOR2_2350 (N6157, N6114, N6151); +nor NOR2_2351 (N6160, N6155, N6156); +nor NOR2_2352 (N6161, N6130, N6157); +nor NOR2_2353 (N6165, N6130, N6161); +nor NOR2_2354 (N6166, N6161, N6157); +nor NOR2_2355 (N6167, N6097, N6161); +nor NOR2_2356 (N6170, N6165, N6166); +nor NOR2_2357 (N6171, N6120, N6167); +nor NOR2_2358 (N6175, N6120, N6171); +nor NOR2_2359 (N6176, N6171, N6167); +nor NOR2_2360 (N6177, N6076, N6171); +nor NOR2_2361 (N6180, N6175, N6176); +nor NOR2_2362 (N6181, N6103, N6177); +nor NOR2_2363 (N6185, N6103, N6181); +nor NOR2_2364 (N6186, N6181, N6177); +nor NOR2_2365 (N6187, N6052, N6181); +nor NOR2_2366 (N6190, N6185, N6186); +nor NOR2_2367 (N6191, N6082, N6187); +nor NOR2_2368 (N6195, N6082, N6191); +nor NOR2_2369 (N6196, N6191, N6187); +nor NOR2_2370 (N6197, N6026, N6191); +nor NOR2_2371 (N6200, N6195, N6196); +nor NOR2_2372 (N6201, N6058, N6197); +nor NOR2_2373 (N6205, N6058, N6201); +nor NOR2_2374 (N6206, N6201, N6197); +nor NOR2_2375 (N6207, N5996, N6201); +nor NOR2_2376 (N6210, N6205, N6206); +nor NOR2_2377 (N6211, N6032, N6207); +nor NOR2_2378 (N6215, N6032, N6211); +nor NOR2_2379 (N6216, N6211, N6207); +nor NOR2_2380 (N6217, N5962, N6211); +nor NOR2_2381 (N6220, N6215, N6216); +nor NOR2_2382 (N6221, N6002, N6217); +nor NOR2_2383 (N6225, N6002, N6221); +nor NOR2_2384 (N6226, N6221, N6217); +nor NOR2_2385 (N6227, N5919, N6221); +nor NOR2_2386 (N6230, N6225, N6226); +nor NOR2_2387 (N6231, N5968, N6227); +nor NOR2_2388 (N6235, N5968, N6231); +nor NOR2_2389 (N6236, N6231, N6227); +nor NOR2_2390 (N6237, N5873, N6231); +nor NOR2_2391 (N6240, N6235, N6236); +nor NOR2_2392 (N6241, N5925, N6237); +nor NOR2_2393 (N6245, N5925, N6241); +nor NOR2_2394 (N6246, N6241, N6237); +nor NOR2_2395 (N6247, N5825, N6241); +nor NOR2_2396 (N6250, N6245, N6246); +nor NOR2_2397 (N6251, N5879, N6247); +nor NOR2_2398 (N6255, N5879, N6251); +nor NOR2_2399 (N6256, N6251, N6247); +nor NOR2_2400 (N6257, N5776, N6251); +nor NOR2_2401 (N6260, N6255, N6256); +nor NOR2_2402 (N6261, N5831, N6257); +nor NOR2_2403 (N6265, N5831, N6261); +nor NOR2_2404 (N6266, N6261, N6257); +nor NOR2_2405 (N6267, N5721, N6261); +nor NOR2_2406 (N6270, N6265, N6266); +nor NOR2_2407 (N6271, N5782, N6267); +nor NOR2_2408 (N6275, N5782, N6271); +nor NOR2_2409 (N6276, N6271, N6267); +nor NOR2_2410 (N6277, N5666, N6271); +nor NOR2_2411 (N6280, N6275, N6276); +nor NOR2_2412 (N6281, N5727, N6277); +nor NOR2_2413 (N6285, N5727, N6281); +nor NOR2_2414 (N6286, N6281, N6277); +nor NOR2_2415 (N6287, N5602, N6281); +nor NOR2_2416 (N6288, N6285, N6286); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c6288_tb.v b/SupplementaryMaterials/Iscas85Verilog/c6288_tb.v new file mode 100644 index 0000000..407d412 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c6288_tb.v @@ -0,0 +1,84 @@ + +module c6288_tb(); + +reg N1,N18,N35,N52,N69,N86,N103,N120,N137,N154, + N171,N188,N205,N222,N239,N256,N273,N290,N307,N324, + N341,N358,N375,N392,N409,N426,N443,N460,N477,N494, + N511,N528; + +wire N545,N1581,N1901,N2223,N2548,N2877,N3211,N3552,N3895,N4241, + N4591,N4946,N5308,N5672,N5971,N6123,N6150,N6160,N6170,N6180, + N6190,N6200,N6210,N6220,N6230,N6240,N6250,N6260,N6270,N6280, + N6287,N6288; + + +c6288 c0(N1,N18,N35,N52,N69,N86,N103,N120,N137,N154, + N171,N188,N205,N222,N239,N256,N273,N290,N307,N324, + N341,N358,N375,N392,N409,N426,N443,N460,N477,N494, + N511,N528,N545,N1581,N1901,N2223,N2548,N2877,N3211,N3552, + N3895,N4241,N4591,N4946,N5308,N5672,N5971,N6123,N6150,N6160, + N6170,N6180,N6190,N6200,N6210,N6220,N6230,N6240,N6250,N6260, + N6270,N6280,N6287,N6288); + + +reg [31:0] test_vectors[0:25]; +reg [31:0] out_vectors[0:25]; + +reg [31:0] tmp_test_vectors; +reg [31:0] tmp_out_vectors; + +integer ii; +integer k; + + + + +initial + begin + + $readmemb("c6288_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + + /*for (ii = 31; ii >= 0; ii = ii - 1) + tmp_test_vectors[31-ii] = test_vectors[k][ii]; + + test_vectors[k] = tmp_test_vectors;*/ + + #10 + {N1,N18,N35,N52,N69,N86,N103,N120,N137,N154, + N171,N188,N205,N222,N239,N256,N273,N290,N307,N324, + N341,N358,N375,N392,N409,N426,N443,N460,N477,N494, + N511,N528} = test_vectors[k]; + + + #1 + out_vectors[k] = {N545,N1581,N1901,N2223,N2548,N2877,N3211,N3552,N3895,N4241, + N4591,N4946,N5308,N5672,N5971,N6123,N6150,N6160,N6170,N6180, + N6190,N6200,N6210,N6220,N6230,N6240,N6250,N6260,N6270,N6280, + N6287,N6288}; + + + /*for (ii = 31; ii >= 0; ii = ii - 1) + tmp_out_vectors[31-ii] = out_vectors[k][ii]; + + out_vectors[k] = tmp_out_vectors; */ + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c6288_in_data.txt", test_vectors); + $writememb("c6288_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c7552.v b/SupplementaryMaterials/Iscas85Verilog/c7552.v new file mode 100644 index 0000000..ed79669 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c7552.v @@ -0,0 +1,3944 @@ +// Verilog +// c7552 +// Ninputs 207 +// Noutputs 108 +// NtotalGates 3513 +// BUFF1 535 +// NOT1 876 +// AND2 534 +// AND4 64 +// NAND2 1028 +// NOR2 40 +// OR2 180 +// OR3 10 +// AND5 32 +// AND3 146 +// OR5 24 +// OR4 30 +// NOR3 10 +// NOR4 4 + +module c7552 (N1,N5,N9,N12,N15,N18,N23,N26,N29,N32, + N35,N38,N41,N44,N47,N50,N53,N54,N55,N56, + N57,N58,N59,N60,N61,N62,N63,N64,N65,N66, + N69,N70,N73,N74,N75,N76,N77,N78,N79,N80, + N81,N82,N83,N84,N85,N86,N87,N88,N89,N94, + N97,N100,N103,N106,N109,N110,N111,N112,N113,N114, + N115,N118,N121,N124,N127,N130,N133,N134,N135,N138, + N141,N144,N147,N150,N151,N152,N153,N154,N155,N156, + N157,N158,N159,N160,N161,N162,N163,N164,N165,N166, + N167,N168,N169,N170,N171,N172,N173,N174,N175,N176, + N177,N178,N179,N180,N181,N182,N183,N184,N185,N186, + N187,N188,N189,N190,N191,N192,N193,N194,N195,N196, + N197,N198,N199,N200,N201,N202,N203,N204,N205,N206, + N207,N208,N209,N210,N211,N212,N213,N214,N215,N216, + N217,N218,N219,N220,N221,N222,N223,N224,N225,N226, + N227,N228,N229,N230,N231,N232,N233,N234,N235,N236, + N237,N238,N239,N240,N242,N245,N248,N251,N254,N257, + N260,N263,N267,N271,N274,N277,N280,N283,N286,N289, + N293,N296,N299,N303,N307,N310,N313,N316,N319,N322, + N325,N328,N331,N334,N337,N340,N343,N346,N349,N352, + N355,N358,N361,N364,N367,N382,N241_I,N387,N388,N478, + N482,N484,N486,N489,N492,N501,N505,N507,N509,N511, + N513,N515,N517,N519,N535,N537,N539,N541,N543,N545, + N547,N549,N551,N553,N556,N559,N561,N563,N565,N567, + N569,N571,N573,N582,N643,N707,N813,N881,N882,N883, + N884,N885,N889,N945,N1110,N1111,N1112,N1113,N1114,N1489, + N1490,N1781,N10025,N10101,N10102,N10103,N10104,N10109,N10110,N10111, + N10112,N10350,N10351,N10352,N10353,N10574,N10575,N10576,N10628,N10632, + N10641,N10704,N10706,N10711,N10712,N10713,N10714,N10715,N10716,N10717, + N10718,N10729,N10759,N10760,N10761,N10762,N10763,N10827,N10837,N10838, + N10839,N10840,N10868,N10869,N10870,N10871,N10905,N10906,N10907,N10908, + N11333,N11334,N11340,N11342,N241_O); + +input N1,N5,N9,N12,N15,N18,N23,N26,N29,N32, + N35,N38,N41,N44,N47,N50,N53,N54,N55,N56, + N57,N58,N59,N60,N61,N62,N63,N64,N65,N66, + N69,N70,N73,N74,N75,N76,N77,N78,N79,N80, + N81,N82,N83,N84,N85,N86,N87,N88,N89,N94, + N97,N100,N103,N106,N109,N110,N111,N112,N113,N114, + N115,N118,N121,N124,N127,N130,N133,N134,N135,N138, + N141,N144,N147,N150,N151,N152,N153,N154,N155,N156, + N157,N158,N159,N160,N161,N162,N163,N164,N165,N166, + N167,N168,N169,N170,N171,N172,N173,N174,N175,N176, + N177,N178,N179,N180,N181,N182,N183,N184,N185,N186, + N187,N188,N189,N190,N191,N192,N193,N194,N195,N196, + N197,N198,N199,N200,N201,N202,N203,N204,N205,N206, + N207,N208,N209,N210,N211,N212,N213,N214,N215,N216, + N217,N218,N219,N220,N221,N222,N223,N224,N225,N226, + N227,N228,N229,N230,N231,N232,N233,N234,N235,N236, + N237,N238,N239,N240,N242,N245,N248,N251,N254,N257, + N260,N263,N267,N271,N274,N277,N280,N283,N286,N289, + N293,N296,N299,N303,N307,N310,N313,N316,N319,N322, + N325,N328,N331,N334,N337,N340,N343,N346,N349,N352, + N355,N358,N361,N364,N367,N382,N241_I; + +output N387,N388,N478,N482,N484,N486,N489,N492,N501,N505, + N507,N509,N511,N513,N515,N517,N519,N535,N537,N539, + N541,N543,N545,N547,N549,N551,N553,N556,N559,N561, + N563,N565,N567,N569,N571,N573,N582,N643,N707,N813, + N881,N882,N883,N884,N885,N889,N945,N1110,N1111,N1112, + N1113,N1114,N1489,N1490,N1781,N10025,N10101,N10102,N10103,N10104, + N10109,N10110,N10111,N10112,N10350,N10351,N10352,N10353,N10574,N10575, + N10576,N10628,N10632,N10641,N10704,N10706,N10711,N10712,N10713,N10714, + N10715,N10716,N10717,N10718,N10729,N10759,N10760,N10761,N10762,N10763, + N10827,N10837,N10838,N10839,N10840,N10868,N10869,N10870,N10871,N10905, + N10906,N10907,N10908,N11333,N11334,N11340,N11342,N241_O; + +wire N467,N469,N494,N528,N575,N578,N585,N590,N593,N596, + N599,N604,N609,N614,N625,N628,N632,N636,N641,N642, + N644,N651,N657,N660,N666,N672,N673,N674,N676,N682, + N688,N689,N695,N700,N705,N706,N708,N715,N721,N727, + N733,N734,N742,N748,N749,N750,N758,N759,N762,N768, + N774,N780,N786,N794,N800,N806,N812,N814,N821,N827, + N833,N839,N845,N853,N859,N865,N871,N886,N887,N957, + N1028,N1029,N1109,N1115,N1116,N1119,N1125,N1132,N1136,N1141, + N1147,N1154,N1160,N1167,N1174,N1175,N1182,N1189,N1194,N1199, + N1206,N1211,N1218,N1222,N1227,N1233,N1240,N1244,N1249,N1256, + N1263,N1270,N1277,N1284,N1287,N1290,N1293,N1296,N1299,N1302, + N1305,N1308,N1311,N1314,N1317,N1320,N1323,N1326,N1329,N1332, + N1335,N1338,N1341,N1344,N1347,N1350,N1353,N1356,N1359,N1362, + N1365,N1368,N1371,N1374,N1377,N1380,N1383,N1386,N1389,N1392, + N1395,N1398,N1401,N1404,N1407,N1410,N1413,N1416,N1419,N1422, + N1425,N1428,N1431,N1434,N1437,N1440,N1443,N1446,N1449,N1452, + N1455,N1458,N1461,N1464,N1467,N1470,N1473,N1476,N1479,N1482, + N1485,N1537,N1551,N1649,N1703,N1708,N1713,N1721,N1758,N1782, + N1783,N1789,N1793,N1794,N1795,N1796,N1797,N1798,N1799,N1805, + N1811,N1812,N1813,N1814,N1815,N1816,N1817,N1818,N1819,N1820, + N1821,N1822,N1828,N1829,N1830,N1832,N1833,N1834,N1835,N1839, + N1840,N1841,N1842,N1843,N1845,N1851,N1857,N1858,N1859,N1860, + N1861,N1862,N1863,N1864,N1865,N1866,N1867,N1868,N1869,N1870, + N1871,N1872,N1873,N1874,N1875,N1876,N1877,N1878,N1879,N1880, + N1881,N1882,N1883,N1884,N1885,N1892,N1899,N1906,N1913,N1919, + N1926,N1927,N1928,N1929,N1930,N1931,N1932,N1933,N1934,N1935, + N1936,N1937,N1938,N1939,N1940,N1941,N1942,N1943,N1944,N1945, + N1946,N1947,N1953,N1957,N1958,N1959,N1960,N1961,N1962,N1963, + N1965,N1966,N1967,N1968,N1969,N1970,N1971,N1972,N1973,N1974, + N1975,N1976,N1977,N1983,N1989,N1990,N1991,N1992,N1993,N1994, + N1995,N1996,N1997,N2003,N2010,N2011,N2012,N2013,N2014,N2015, + N2016,N2017,N2018,N2019,N2020,N2021,N2022,N2023,N2024,N2031, + N2038,N2045,N2052,N2058,N2064,N2065,N2066,N2067,N2068,N2069, + N2070,N2071,N2072,N2073,N2074,N2081,N2086,N2107,N2108,N2110, + N2111,N2112,N2113,N2114,N2115,N2117,N2171,N2172,N2230,N2231, + N2235,N2239,N2240,N2241,N2242,N2243,N2244,N2245,N2246,N2247, + N2248,N2249,N2250,N2251,N2252,N2253,N2254,N2255,N2256,N2257, + N2267,N2268,N2269,N2274,N2275,N2277,N2278,N2279,N2280,N2281, + N2282,N2283,N2284,N2285,N2286,N2287,N2293,N2299,N2300,N2301, + N2302,N2303,N2304,N2305,N2306,N2307,N2308,N2309,N2315,N2321, + N2322,N2323,N2324,N2325,N2326,N2327,N2328,N2329,N2330,N2331, + N2337,N2338,N2339,N2340,N2341,N2342,N2343,N2344,N2345,N2346, + N2347,N2348,N2349,N2350,N2351,N2352,N2353,N2354,N2355,N2356, + N2357,N2358,N2359,N2360,N2361,N2362,N2363,N2364,N2365,N2366, + N2367,N2368,N2374,N2375,N2376,N2377,N2378,N2379,N2380,N2381, + N2382,N2383,N2384,N2390,N2396,N2397,N2398,N2399,N2400,N2401, + N2402,N2403,N2404,N2405,N2406,N2412,N2418,N2419,N2420,N2421, + N2422,N2423,N2424,N2425,N2426,N2427,N2428,N2429,N2430,N2431, + N2432,N2433,N2434,N2435,N2436,N2437,N2441,N2442,N2446,N2450, + N2454,N2458,N2462,N2466,N2470,N2474,N2478,N2482,N2488,N2496, + N2502,N2508,N2523,N2533,N2537,N2538,N2542,N2546,N2550,N2554, + N2561,N2567,N2573,N2604,N2607,N2611,N2615,N2619,N2626,N2632, + N2638,N2644,N2650,N2653,N2654,N2658,N2662,N2666,N2670,N2674, + N2680,N2688,N2692,N2696,N2700,N2704,N2728,N2729,N2733,N2737, + N2741,N2745,N2749,N2753,N2757,N2761,N2765,N2766,N2769,N2772, + N2775,N2778,N2781,N2784,N2787,N2790,N2793,N2796,N2866,N2867, + N2868,N2869,N2878,N2913,N2914,N2915,N2916,N2917,N2918,N2919, + N2920,N2921,N2922,N2923,N2924,N2925,N2926,N2927,N2928,N2929, + N2930,N2931,N2932,N2933,N2934,N2935,N2936,N2937,N2988,N3005, + N3006,N3007,N3008,N3009,N3020,N3021,N3022,N3023,N3024,N3025, + N3026,N3027,N3028,N3029,N3032,N3033,N3034,N3035,N3036,N3037, + N3038,N3039,N3040,N3041,N3061,N3064,N3067,N3070,N3073,N3080, + N3096,N3097,N3101,N3107,N3114,N3122,N3126,N3130,N3131,N3134, + N3135,N3136,N3137,N3140,N3144,N3149,N3155,N3159,N3167,N3168, + N3169,N3173,N3178,N3184,N3185,N3189,N3195,N3202,N3210,N3211, + N3215,N3221,N3228,N3229,N3232,N3236,N3241,N3247,N3251,N3255, + N3259,N3263,N3267,N3273,N3281,N3287,N3293,N3299,N3303,N3307, + N3311,N3315,N3322,N3328,N3334,N3340,N3343,N3349,N3355,N3361, + N3362,N3363,N3364,N3365,N3366,N3367,N3368,N3369,N3370,N3371, + N3372,N3373,N3374,N3375,N3379,N3380,N3381,N3384,N3390,N3398, + N3404,N3410,N3416,N3420,N3424,N3428,N3432,N3436,N3440,N3444, + N3448,N3452,N3453,N3454,N3458,N3462,N3466,N3470,N3474,N3478, + N3482,N3486,N3487,N3490,N3493,N3496,N3499,N3502,N3507,N3510, + N3515,N3518,N3521,N3524,N3527,N3530,N3535,N3539,N3542,N3545, + N3548,N3551,N3552,N3553,N3557,N3560,N3563,N3566,N3569,N3570, + N3571,N3574,N3577,N3580,N3583,N3586,N3589,N3592,N3595,N3598, + N3601,N3604,N3607,N3610,N3613,N3616,N3619,N3622,N3625,N3628, + N3631,N3634,N3637,N3640,N3643,N3646,N3649,N3652,N3655,N3658, + N3661,N3664,N3667,N3670,N3673,N3676,N3679,N3682,N3685,N3688, + N3691,N3694,N3697,N3700,N3703,N3706,N3709,N3712,N3715,N3718, + N3721,N3724,N3727,N3730,N3733,N3736,N3739,N3742,N3745,N3748, + N3751,N3754,N3757,N3760,N3763,N3766,N3769,N3772,N3775,N3778, + N3781,N3782,N3783,N3786,N3789,N3792,N3795,N3798,N3801,N3804, + N3807,N3810,N3813,N3816,N3819,N3822,N3825,N3828,N3831,N3834, + N3837,N3840,N3843,N3846,N3849,N3852,N3855,N3858,N3861,N3864, + N3867,N3870,N3873,N3876,N3879,N3882,N3885,N3888,N3891,N3953, + N3954,N3955,N3956,N3958,N3964,N4193,N4303,N4308,N4313,N4326, + N4327,N4333,N4334,N4411,N4412,N4463,N4464,N4465,N4466,N4467, + N4468,N4469,N4470,N4471,N4472,N4473,N4474,N4475,N4476,N4477, + N4478,N4479,N4480,N4481,N4482,N4483,N4484,N4485,N4486,N4487, + N4488,N4489,N4490,N4491,N4492,N4493,N4494,N4495,N4496,N4497, + N4498,N4499,N4500,N4501,N4502,N4503,N4504,N4505,N4506,N4507, + N4508,N4509,N4510,N4511,N4512,N4513,N4514,N4515,N4516,N4517, + N4518,N4519,N4520,N4521,N4522,N4523,N4524,N4525,N4526,N4527, + N4528,N4529,N4530,N4531,N4532,N4533,N4534,N4535,N4536,N4537, + N4538,N4539,N4540,N4541,N4542,N4543,N4544,N4545,N4549,N4555, + N4562,N4563,N4566,N4570,N4575,N4576,N4577,N4581,N4586,N4592, + N4593,N4597,N4603,N4610,N4611,N4612,N4613,N4614,N4615,N4616, + N4617,N4618,N4619,N4620,N4621,N4622,N4623,N4624,N4625,N4626, + N4627,N4628,N4629,N4630,N4631,N4632,N4633,N4634,N4635,N4636, + N4637,N4638,N4639,N4640,N4641,N4642,N4643,N4644,N4645,N4646, + N4647,N4648,N4649,N4650,N4651,N4652,N4653,N4656,N4657,N4661, + N4667,N4674,N4675,N4678,N4682,N4687,N4693,N4694,N4695,N4696, + N4697,N4698,N4699,N4700,N4701,N4702,N4706,N4711,N4717,N4718, + N4722,N4728,N4735,N4743,N4744,N4745,N4746,N4747,N4748,N4749, + N4750,N4751,N4752,N4753,N4754,N4755,N4756,N4757,N4758,N4759, + N4760,N4761,N4762,N4763,N4764,N4765,N4766,N4767,N4768,N4769, + N4775,N4776,N4777,N4778,N4779,N4780,N4781,N4782,N4783,N4784, + N4789,N4790,N4793,N4794,N4795,N4796,N4799,N4800,N4801,N4802, + N4803,N4806,N4809,N4810,N4813,N4814,N4817,N4820,N4823,N4826, + N4829,N4832,N4835,N4838,N4841,N4844,N4847,N4850,N4853,N4856, + N4859,N4862,N4865,N4868,N4871,N4874,N4877,N4880,N4883,N4886, + N4889,N4892,N4895,N4898,N4901,N4904,N4907,N4910,N4913,N4916, + N4919,N4922,N4925,N4928,N4931,N4934,N4937,N4940,N4943,N4946, + N4949,N4952,N4955,N4958,N4961,N4964,N4967,N4970,N4973,N4976, + N4979,N4982,N4985,N4988,N4991,N4994,N4997,N5000,N5003,N5006, + N5009,N5012,N5015,N5018,N5021,N5024,N5027,N5030,N5033,N5036, + N5039,N5042,N5045,N5046,N5047,N5048,N5049,N5052,N5055,N5058, + N5061,N5064,N5065,N5066,N5067,N5068,N5071,N5074,N5077,N5080, + N5083,N5086,N5089,N5092,N5095,N5098,N5101,N5104,N5107,N5110, + N5111,N5112,N5113,N5114,N5117,N5120,N5123,N5126,N5129,N5132, + N5135,N5138,N5141,N5144,N5147,N5150,N5153,N5156,N5159,N5162, + N5165,N5166,N5167,N5168,N5169,N5170,N5171,N5172,N5173,N5174, + N5175,N5176,N5177,N5178,N5179,N5180,N5181,N5182,N5183,N5184, + N5185,N5186,N5187,N5188,N5189,N5190,N5191,N5192,N5193,N5196, + N5197,N5198,N5199,N5200,N5201,N5202,N5203,N5204,N5205,N5206, + N5207,N5208,N5209,N5210,N5211,N5212,N5213,N5283,N5284,N5285, + N5286,N5287,N5288,N5289,N5290,N5291,N5292,N5293,N5294,N5295, + N5296,N5297,N5298,N5299,N5300,N5314,N5315,N5316,N5317,N5318, + N5319,N5320,N5321,N5322,N5323,N5324,N5363,N5364,N5365,N5366, + N5367,N5425,N5426,N5427,N5429,N5430,N5431,N5432,N5433,N5451, + N5452,N5453,N5454,N5455,N5456,N5457,N5469,N5474,N5475,N5476, + N5477,N5571,N5572,N5573,N5574,N5584,N5585,N5586,N5587,N5602, + N5603,N5604,N5605,N5631,N5632,N5640,N5654,N5670,N5683,N5690, + N5697,N5707,N5718,N5728,N5735,N5736,N5740,N5744,N5747,N5751, + N5755,N5758,N5762,N5766,N5769,N5770,N5771,N5778,N5789,N5799, + N5807,N5821,N5837,N5850,N5856,N5863,N5870,N5881,N5892,N5898, + N5905,N5915,N5926,N5936,N5943,N5944,N5945,N5946,N5947,N5948, + N5949,N5950,N5951,N5952,N5953,N5954,N5955,N5956,N5957,N5958, + N5959,N5960,N5966,N5967,N5968,N5969,N5970,N5971,N5972,N5973, + N5974,N5975,N5976,N5977,N5978,N5979,N5980,N5981,N5989,N5990, + N5991,N5996,N6000,N6003,N6009,N6014,N6018,N6021,N6022,N6023, + N6024,N6025,N6026,N6027,N6028,N6029,N6030,N6031,N6032,N6033, + N6034,N6035,N6036,N6037,N6038,N6039,N6040,N6041,N6047,N6052, + N6056,N6059,N6060,N6061,N6062,N6063,N6064,N6065,N6066,N6067, + N6068,N6069,N6070,N6071,N6072,N6073,N6074,N6075,N6076,N6077, + N6078,N6079,N6083,N6087,N6090,N6091,N6092,N6093,N6094,N6095, + N6096,N6097,N6098,N6099,N6100,N6101,N6102,N6103,N6104,N6105, + N6106,N6107,N6108,N6109,N6110,N6111,N6112,N6113,N6114,N6115, + N6116,N6117,N6118,N6119,N6120,N6121,N6122,N6123,N6124,N6125, + N6126,N6127,N6131,N6135,N6136,N6137,N6141,N6145,N6148,N6149, + N6150,N6151,N6152,N6153,N6154,N6155,N6156,N6157,N6158,N6159, + N6160,N6161,N6162,N6163,N6164,N6165,N6166,N6170,N6174,N6177, + N6181,N6182,N6183,N6184,N6185,N6186,N6187,N6188,N6189,N6190, + N6191,N6192,N6193,N6194,N6195,N6196,N6199,N6202,N6203,N6204, + N6207,N6210,N6213,N6214,N6217,N6220,N6223,N6224,N6225,N6226, + N6227,N6228,N6229,N6230,N6231,N6232,N6235,N6236,N6239,N6240, + N6241,N6242,N6243,N6246,N6249,N6252,N6255,N6256,N6257,N6258, + N6259,N6260,N6261,N6262,N6263,N6266,N6540,N6541,N6542,N6543, + N6544,N6545,N6546,N6547,N6555,N6556,N6557,N6558,N6559,N6560, + N6561,N6569,N6594,N6595,N6596,N6597,N6598,N6599,N6600,N6601, + N6602,N6603,N6604,N6605,N6606,N6621,N6622,N6623,N6624,N6625, + N6626,N6627,N6628,N6629,N6639,N6640,N6641,N6642,N6643,N6644, + N6645,N6646,N6647,N6648,N6649,N6650,N6651,N6652,N6653,N6654, + N6655,N6656,N6657,N6658,N6659,N6660,N6661,N6668,N6677,N6678, + N6679,N6680,N6681,N6682,N6683,N6684,N6685,N6686,N6687,N6688, + N6689,N6690,N6702,N6703,N6704,N6705,N6706,N6707,N6708,N6709, + N6710,N6711,N6712,N6729,N6730,N6731,N6732,N6733,N6734,N6735, + N6736,N6741,N6742,N6743,N6744,N6751,N6752,N6753,N6754,N6755, + N6756,N6757,N6758,N6761,N6762,N6766,N6767,N6768,N6769,N6770, + N6771,N6772,N6773,N6774,N6775,N6776,N6777,N6778,N6779,N6780, + N6781,N6782,N6783,N6784,N6787,N6788,N6789,N6790,N6791,N6792, + N6793,N6794,N6795,N6796,N6797,N6800,N6803,N6806,N6809,N6812, + N6815,N6818,N6821,N6824,N6827,N6830,N6833,N6836,N6837,N6838, + N6839,N6840,N6841,N6842,N6843,N6844,N6845,N6848,N6849,N6850, + N6851,N6852,N6853,N6854,N6855,N6856,N6857,N6858,N6859,N6860, + N6861,N6862,N6863,N6864,N6865,N6866,N6867,N6870,N6871,N6872, + N6873,N6874,N6875,N6876,N6877,N6878,N6879,N6880,N6881,N6884, + N6885,N6886,N6887,N6888,N6889,N6890,N6891,N6892,N6893,N6894, + N6901,N6912,N6923,N6929,N6936,N6946,N6957,N6967,N6968,N6969, + N6970,N6977,N6988,N6998,N7006,N7020,N7036,N7049,N7055,N7056, + N7057,N7060,N7061,N7062,N7063,N7064,N7065,N7066,N7067,N7068, + N7073,N7077,N7080,N7086,N7091,N7095,N7098,N7099,N7100,N7103, + N7104,N7105,N7106,N7107,N7114,N7125,N7136,N7142,N7149,N7159, + N7170,N7180,N7187,N7188,N7191,N7194,N7198,N7202,N7205,N7209, + N7213,N7216,N7219,N7222,N7229,N7240,N7250,N7258,N7272,N7288, + N7301,N7307,N7314,N7318,N7322,N7325,N7328,N7331,N7334,N7337, + N7340,N7343,N7346,N7351,N7355,N7358,N7364,N7369,N7373,N7376, + N7377,N7378,N7381,N7384,N7387,N7391,N7394,N7398,N7402,N7405, + N7408,N7411,N7414,N7417,N7420,N7423,N7426,N7429,N7432,N7435, + N7438,N7441,N7444,N7447,N7450,N7453,N7456,N7459,N7462,N7465, + N7468,N7471,N7474,N7477,N7478,N7479,N7482,N7485,N7488,N7491, + N7494,N7497,N7500,N7503,N7506,N7509,N7512,N7515,N7518,N7521, + N7524,N7527,N7530,N7533,N7536,N7539,N7542,N7545,N7548,N7551, + N7552,N7553,N7556,N7557,N7558,N7559,N7560,N7563,N7566,N7569, + N7572,N7573,N7574,N7577,N7580,N7581,N7582,N7585,N7588,N7591, + N7609,N7613,N7620,N7649,N7650,N7655,N7659,N7668,N7671,N7744, + N7822,N7825,N7826,N7852,N8114,N8117,N8131,N8134,N8144,N8145, + N8146,N8156,N8166,N8169,N8183,N8186,N8196,N8200,N8204,N8208, + N8216,N8217,N8218,N8219,N8232,N8233,N8242,N8243,N8244,N8245, + N8246,N8247,N8248,N8249,N8250,N8251,N8252,N8253,N8254,N8260, + N8261,N8262,N8269,N8274,N8275,N8276,N8277,N8278,N8279,N8280, + N8281,N8282,N8283,N8284,N8285,N8288,N8294,N8295,N8296,N8297, + N8298,N8307,N8315,N8317,N8319,N8321,N8322,N8323,N8324,N8325, + N8326,N8333,N8337,N8338,N8339,N8340,N8341,N8342,N8343,N8344, + N8345,N8346,N8347,N8348,N8349,N8350,N8351,N8352,N8353,N8354, + N8355,N8356,N8357,N8358,N8365,N8369,N8370,N8371,N8372,N8373, + N8374,N8375,N8376,N8377,N8378,N8379,N8380,N8381,N8382,N8383, + N8384,N8385,N8386,N8387,N8388,N8389,N8390,N8391,N8392,N8393, + N8394,N8404,N8405,N8409,N8410,N8411,N8412,N8415,N8416,N8417, + N8418,N8421,N8430,N8433,N8434,N8435,N8436,N8437,N8438,N8439, + N8440,N8441,N8442,N8443,N8444,N8447,N8448,N8449,N8450,N8451, + N8452,N8453,N8454,N8455,N8456,N8457,N8460,N8463,N8466,N8469, + N8470,N8471,N8474,N8477,N8480,N8483,N8484,N8485,N8488,N8489, + N8490,N8491,N8492,N8493,N8494,N8495,N8496,N8497,N8500,N8501, + N8502,N8503,N8504,N8505,N8506,N8507,N8508,N8509,N8510,N8511, + N8512,N8513,N8514,N8515,N8516,N8517,N8518,N8519,N8522,N8525, + N8528,N8531,N8534,N8537,N8538,N8539,N8540,N8541,N8545,N8546, + N8547,N8548,N8551,N8552,N8553,N8554,N8555,N8558,N8561,N8564, + N8565,N8566,N8569,N8572,N8575,N8578,N8579,N8580,N8583,N8586, + N8589,N8592,N8595,N8598,N8601,N8604,N8607,N8608,N8609,N8610, + N8615,N8616,N8617,N8618,N8619,N8624,N8625,N8626,N8627,N8632, + N8633,N8634,N8637,N8638,N8639,N8644,N8645,N8646,N8647,N8648, + N8653,N8654,N8655,N8660,N8663,N8666,N8669,N8672,N8675,N8678, + N8681,N8684,N8687,N8690,N8693,N8696,N8699,N8702,N8705,N8708, + N8711,N8714,N8717,N8718,N8721,N8724,N8727,N8730,N8733,N8734, + N8735,N8738,N8741,N8744,N8747,N8750,N8753,N8754,N8755,N8756, + N8757,N8760,N8763,N8766,N8769,N8772,N8775,N8778,N8781,N8784, + N8787,N8790,N8793,N8796,N8799,N8802,N8805,N8808,N8811,N8814, + N8815,N8816,N8817,N8818,N8840,N8857,N8861,N8862,N8863,N8864, + N8865,N8866,N8871,N8874,N8878,N8879,N8880,N8881,N8882,N8883, + N8884,N8885,N8886,N8887,N8888,N8898,N8902,N8920,N8924,N8927, + N8931,N8943,N8950,N8956,N8959,N8960,N8963,N8966,N8991,N8992, + N8995,N8996,N9001,N9005,N9024,N9025,N9029,N9035,N9053,N9054, + N9064,N9065,N9066,N9067,N9068,N9071,N9072,N9073,N9074,N9077, + N9079,N9082,N9083,N9086,N9087,N9088,N9089,N9092,N9093,N9094, + N9095,N9098,N9099,N9103,N9107,N9111,N9117,N9127,N9146,N9149, + N9159,N9160,N9161,N9165,N9169,N9173,N9179,N9180,N9181,N9182, + N9183,N9193,N9203,N9206,N9220,N9223,N9234,N9235,N9236,N9237, + N9238,N9242,N9243,N9244,N9245,N9246,N9247,N9248,N9249,N9250, + N9251,N9252,N9256,N9257,N9258,N9259,N9260,N9261,N9262,N9265, + N9268,N9271,N9272,N9273,N9274,N9275,N9276,N9280,N9285,N9286, + N9287,N9288,N9290,N9292,N9294,N9296,N9297,N9298,N9299,N9300, + N9301,N9307,N9314,N9315,N9318,N9319,N9320,N9321,N9322,N9323, + N9324,N9326,N9332,N9339,N9344,N9352,N9354,N9356,N9358,N9359, + N9360,N9361,N9362,N9363,N9364,N9365,N9366,N9367,N9368,N9369, + N9370,N9371,N9372,N9375,N9381,N9382,N9383,N9384,N9385,N9392, + N9393,N9394,N9395,N9396,N9397,N9398,N9399,N9400,N9401,N9402, + N9407,N9408,N9412,N9413,N9414,N9415,N9416,N9417,N9418,N9419, + N9420,N9421,N9422,N9423,N9426,N9429,N9432,N9435,N9442,N9445, + N9454,N9455,N9456,N9459,N9460,N9461,N9462,N9465,N9466,N9467, + N9468,N9473,N9476,N9477,N9478,N9485,N9488,N9493,N9494,N9495, + N9498,N9499,N9500,N9505,N9506,N9507,N9508,N9509,N9514,N9515, + N9516,N9517,N9520,N9526,N9531,N9539,N9540,N9541,N9543,N9551, + N9555,N9556,N9557,N9560,N9561,N9562,N9563,N9564,N9565,N9566, + N9567,N9568,N9569,N9570,N9571,N9575,N9579,N9581,N9582,N9585, + N9591,N9592,N9593,N9594,N9595,N9596,N9597,N9598,N9599,N9600, + N9601,N9602,N9603,N9604,N9605,N9608,N9611,N9612,N9613,N9614, + N9615,N9616,N9617,N9618,N9621,N9622,N9623,N9624,N9626,N9629, + N9632,N9635,N9642,N9645,N9646,N9649,N9650,N9653,N9656,N9659, + N9660,N9661,N9662,N9663,N9666,N9667,N9670,N9671,N9674,N9675, + N9678,N9679,N9682,N9685,N9690,N9691,N9692,N9695,N9698,N9702, + N9707,N9710,N9711,N9714,N9715,N9716,N9717,N9720,N9721,N9722, + N9723,N9726,N9727,N9732,N9733,N9734,N9735,N9736,N9737,N9738, + N9739,N9740,N9741,N9742,N9754,N9758,N9762,N9763,N9764,N9765, + N9766,N9767,N9768,N9769,N9773,N9774,N9775,N9779,N9784,N9785, + N9786,N9790,N9791,N9795,N9796,N9797,N9798,N9799,N9800,N9801, + N9802,N9803,N9805,N9806,N9809,N9813,N9814,N9815,N9816,N9817, + N9820,N9825,N9826,N9827,N9828,N9829,N9830,N9835,N9836,N9837, + N9838,N9846,N9847,N9862,N9863,N9866,N9873,N9876,N9890,N9891, + N9892,N9893,N9894,N9895,N9896,N9897,N9898,N9899,N9900,N9901, + N9902,N9903,N9904,N9905,N9906,N9907,N9908,N9909,N9910,N9911, + N9917,N9923,N9924,N9925,N9932,N9935,N9938,N9939,N9945,N9946, + N9947,N9948,N9949,N9953,N9954,N9955,N9956,N9957,N9958,N9959, + N9960,N9961,N9964,N9967,N9968,N9969,N9970,N9971,N9972,N9973, + N9974,N9975,N9976,N9977,N9978,N9979,N9982,N9983,N9986,N9989, + N9992,N9995,N9996,N9997,N9998,N9999,N10002,N10003,N10006,N10007, + N10010,N10013,N10014,N10015,N10016,N10017,N10018,N10019,N10020,N10021, + N10022,N10023,N10024,N10026,N10028,N10032,N10033,N10034,N10035,N10036, + N10037,N10038,N10039,N10040,N10041,N10042,N10043,N10050,N10053,N10054, + N10055,N10056,N10057,N10058,N10059,N10060,N10061,N10062,N10067,N10070, + N10073,N10076,N10077,N10082,N10083,N10084,N10085,N10086,N10093,N10094, + N10105,N10106,N10107,N10108,N10113,N10114,N10115,N10116,N10119,N10124, + N10130,N10131,N10132,N10133,N10134,N10135,N10136,N10137,N10138,N10139, + N10140,N10141,N10148,N10155,N10156,N10157,N10158,N10159,N10160,N10161, + N10162,N10163,N10164,N10165,N10170,N10173,N10176,N10177,N10178,N10179, + N10180,N10183,N10186,N10189,N10192,N10195,N10196,N10197,N10200,N10203, + N10204,N10205,N10206,N10212,N10213,N10230,N10231,N10232,N10233,N10234, + N10237,N10238,N10239,N10240,N10241,N10242,N10247,N10248,N10259,N10264, + N10265,N10266,N10267,N10268,N10269,N10270,N10271,N10272,N10273,N10278, + N10279,N10280,N10281,N10282,N10283,N10287,N10288,N10289,N10290,N10291, + N10292,N10293,N10294,N10295,N10296,N10299,N10300,N10301,N10306,N10307, + N10308,N10311,N10314,N10315,N10316,N10317,N10318,N10321,N10324,N10325, + N10326,N10327,N10328,N10329,N10330,N10331,N10332,N10333,N10334,N10337, + N10338,N10339,N10340,N10341,N10344,N10354,N10357,N10360,N10367,N10375, + N10381,N10388,N10391,N10399,N10402,N10406,N10409,N10412,N10415,N10419, + N10422,N10425,N10428,N10431,N10432,N10437,N10438,N10439,N10440,N10441, + N10444,N10445,N10450,N10451,N10455,N10456,N10465,N10466,N10479,N10497, + N10509,N10512,N10515,N10516,N10517,N10518,N10519,N10522,N10525,N10528, + N10531,N10534,N10535,N10536,N10539,N10542,N10543,N10544,N10545,N10546, + N10547,N10548,N10549,N10550,N10551,N10552,N10553,N10554,N10555,N10556, + N10557,N10558,N10559,N10560,N10561,N10562,N10563,N10564,N10565,N10566, + N10567,N10568,N10569,N10570,N10571,N10572,N10573,N10577,N10581,N10582, + N10583,N10587,N10588,N10589,N10594,N10595,N10596,N10597,N10598,N10602, + N10609,N10610,N10621,N10626,N10627,N10629,N10631,N10637,N10638,N10639, + N10640,N10642,N10643,N10644,N10645,N10647,N10648,N10649,N10652,N10659, + N10662,N10665,N10668,N10671,N10672,N10673,N10674,N10675,N10678,N10681, + N10682,N10683,N10684,N10685,N10686,N10687,N10688,N10689,N10690,N10691, + N10694,N10695,N10696,N10697,N10698,N10701,N10705,N10707,N10708,N10709, + N10710,N10719,N10720,N10730,N10731,N10737,N10738,N10739,N10746,N10747, + N10748,N10749,N10750,N10753,N10754,N10764,N10765,N10766,N10767,N10768, + N10769,N10770,N10771,N10772,N10773,N10774,N10775,N10776,N10778,N10781, + N10784,N10789,N10792,N10796,N10797,N10798,N10799,N10800,N10803,N10806, + N10809,N10812,N10815,N10816,N10817,N10820,N10823,N10824,N10825,N10826, + N10832,N10833,N10834,N10835,N10836,N10845,N10846,N10857,N10862,N10863, + N10864,N10865,N10866,N10867,N10872,N10873,N10874,N10875,N10876,N10879, + N10882,N10883,N10884,N10885,N10886,N10887,N10888,N10889,N10890,N10891, + N10892,N10895,N10896,N10897,N10898,N10899,N10902,N10909,N10910,N10915, + N10916,N10917,N10918,N10919,N10922,N10923,N10928,N10931,N10934,N10935, + N10936,N10937,N10938,N10941,N10944,N10947,N10950,N10953,N10954,N10955, + N10958,N10961,N10962,N10963,N10964,N10969,N10970,N10981,N10986,N10987, + N10988,N10989,N10990,N10991,N10992,N10995,N10998,N10999,N11000,N11001, + N11002,N11003,N11004,N11005,N11006,N11007,N11008,N11011,N11012,N11013, + N11014,N11015,N11018,N11023,N11024,N11027,N11028,N11029,N11030,N11031, + N11034,N11035,N11040,N11041,N11042,N11043,N11044,N11047,N11050,N11053, + N11056,N11059,N11062,N11065,N11066,N11067,N11070,N11073,N11074,N11075, + N11076,N11077,N11078,N11095,N11098,N11099,N11100,N11103,N11106,N11107, + N11108,N11109,N11110,N11111,N11112,N11113,N11114,N11115,N11116,N11117, + N11118,N11119,N11120,N11121,N11122,N11123,N11124,N11127,N11130,N11137, + N11138,N11139,N11140,N11141,N11142,N11143,N11144,N11145,N11152,N11153, + N11154,N11155,N11156,N11159,N11162,N11165,N11168,N11171,N11174,N11177, + N11180,N11183,N11184,N11185,N11186,N11187,N11188,N11205,N11210,N11211, + N11212,N11213,N11214,N11215,N11216,N11217,N11218,N11219,N11220,N11222, + N11223,N11224,N11225,N11226,N11227,N11228,N11229,N11231,N11232,N11233, + N11236,N11239,N11242,N11243,N11244,N11245,N11246,N11250,N11252,N11257, + N11260,N11261,N11262,N11263,N11264,N11265,N11267,N11268,N11269,N11270, + N11272,N11277,N11278,N11279,N11280,N11282,N11283,N11284,N11285,N11286, + N11288,N11289,N11290,N11291,N11292,N11293,N11294,N11295,N11296,N11297, + N11298,N11299,N11302,N11307,N11308,N11309,N11312,N11313,N11314,N11315, + N11316,N11317,N11320,N11321,N11323,N11327,N11328,N11329,N11331,N11335, + N11336,N11337,N11338,N11339,N11341; + +buf BUFF1_1 (N387, N1); +buf BUFF1_2 (N388, N1); +not NOT1_3 (N467, N57); +and AND2_4 (N469, N134, N133); +buf BUFF1_5 (N478, N248); +buf BUFF1_6 (N482, N254); +buf BUFF1_7 (N484, N257); +buf BUFF1_8 (N486, N260); +buf BUFF1_9 (N489, N263); +buf BUFF1_10 (N492, N267); +and AND4_11 (N494, N162, N172, N188, N199); +buf BUFF1_12 (N501, N274); +buf BUFF1_13 (N505, N280); +buf BUFF1_14 (N507, N283); +buf BUFF1_15 (N509, N286); +buf BUFF1_16 (N511, N289); +buf BUFF1_17 (N513, N293); +buf BUFF1_18 (N515, N296); +buf BUFF1_19 (N517, N299); +buf BUFF1_20 (N519, N303); +and AND4_21 (N528, N150, N184, N228, N240); +buf BUFF1_22 (N535, N307); +buf BUFF1_23 (N537, N310); +buf BUFF1_24 (N539, N313); +buf BUFF1_25 (N541, N316); +buf BUFF1_26 (N543, N319); +buf BUFF1_27 (N545, N322); +buf BUFF1_28 (N547, N325); +buf BUFF1_29 (N549, N328); +buf BUFF1_30 (N551, N331); +buf BUFF1_31 (N553, N334); +buf BUFF1_32 (N556, N337); +buf BUFF1_33 (N559, N343); +buf BUFF1_34 (N561, N346); +buf BUFF1_35 (N563, N349); +buf BUFF1_36 (N565, N352); +buf BUFF1_37 (N567, N355); +buf BUFF1_38 (N569, N358); +buf BUFF1_39 (N571, N361); +buf BUFF1_40 (N573, N364); +and AND4_41 (N575, N183, N182, N185, N186); +and AND4_42 (N578, N210, N152, N218, N230); +not NOT1_43 (N582, N15); +not NOT1_44 (N585, N5); +buf BUFF1_45 (N590, N1); +not NOT1_46 (N593, N5); +not NOT1_47 (N596, N5); +not NOT1_48 (N599, N289); +not NOT1_49 (N604, N299); +not NOT1_50 (N609, N303); +buf BUFF1_51 (N614, N38); +buf BUFF1_52 (N625, N15); +nand NAND2_53 (N628, N12, N9); +nand NAND2_54 (N632, N12, N9); +buf BUFF1_55 (N636, N38); +not NOT1_56 (N641, N245); +not NOT1_57 (N642, N248); +buf BUFF1_58 (N643, N251); +not NOT1_59 (N644, N251); +not NOT1_60 (N651, N254); +buf BUFF1_61 (N657, N106); +not NOT1_62 (N660, N257); +not NOT1_63 (N666, N260); +not NOT1_64 (N672, N263); +not NOT1_65 (N673, N267); +not NOT1_66 (N674, N106); +buf BUFF1_67 (N676, N18); +buf BUFF1_68 (N682, N18); +and AND2_69 (N688, N382, N263); +buf BUFF1_70 (N689, N18); +not NOT1_71 (N695, N18); +nand NAND2_72 (N700, N382, N267); +not NOT1_73 (N705, N271); +not NOT1_74 (N706, N274); +buf BUFF1_75 (N707, N277); +not NOT1_76 (N708, N277); +not NOT1_77 (N715, N280); +not NOT1_78 (N721, N283); +not NOT1_79 (N727, N286); +not NOT1_80 (N733, N289); +not NOT1_81 (N734, N293); +not NOT1_82 (N742, N296); +not NOT1_83 (N748, N299); +not NOT1_84 (N749, N303); +buf BUFF1_85 (N750, N367); +not NOT1_86 (N758, N307); +not NOT1_87 (N759, N310); +not NOT1_88 (N762, N313); +not NOT1_89 (N768, N316); +not NOT1_90 (N774, N319); +not NOT1_91 (N780, N322); +not NOT1_92 (N786, N325); +not NOT1_93 (N794, N328); +not NOT1_94 (N800, N331); +not NOT1_95 (N806, N334); +not NOT1_96 (N812, N337); +buf BUFF1_97 (N813, N340); +not NOT1_98 (N814, N340); +not NOT1_99 (N821, N343); +not NOT1_100 (N827, N346); +not NOT1_101 (N833, N349); +not NOT1_102 (N839, N352); +not NOT1_103 (N845, N355); +not NOT1_104 (N853, N358); +not NOT1_105 (N859, N361); +not NOT1_106 (N865, N364); +buf BUFF1_107 (N871, N367); +nand NAND2_108 (N881, N467, N585); +not NOT1_109 (N882, N528); +not NOT1_110 (N883, N578); +not NOT1_111 (N884, N575); +not NOT1_112 (N885, N494); +and AND2_113 (N886, N528, N578); +and AND2_114 (N887, N575, N494); +buf BUFF1_115 (N889, N590); +buf BUFF1_116 (N945, N657); +not NOT1_117 (N957, N688); +and AND2_118 (N1028, N382, N641); +nand NAND2_119 (N1029, N382, N705); +and AND2_120 (N1109, N469, N596); +nand NAND2_121 (N1110, N242, N593); +not NOT1_122 (N1111, N625); +nand NAND2_123 (N1112, N242, N593); +nand NAND2_124 (N1113, N469, N596); +not NOT1_125 (N1114, N625); +not NOT1_126 (N1115, N871); +buf BUFF1_127 (N1116, N590); +buf BUFF1_128 (N1119, N628); +buf BUFF1_129 (N1125, N682); +buf BUFF1_130 (N1132, N628); +buf BUFF1_131 (N1136, N682); +buf BUFF1_132 (N1141, N628); +buf BUFF1_133 (N1147, N682); +buf BUFF1_134 (N1154, N632); +buf BUFF1_135 (N1160, N676); +and AND2_136 (N1167, N700, N614); +and AND2_137 (N1174, N700, N614); +buf BUFF1_138 (N1175, N682); +buf BUFF1_139 (N1182, N676); +not NOT1_140 (N1189, N657); +not NOT1_141 (N1194, N676); +not NOT1_142 (N1199, N682); +not NOT1_143 (N1206, N689); +buf BUFF1_144 (N1211, N695); +not NOT1_145 (N1218, N750); +not NOT1_146 (N1222, N1028); +buf BUFF1_147 (N1227, N632); +buf BUFF1_148 (N1233, N676); +buf BUFF1_149 (N1240, N632); +buf BUFF1_150 (N1244, N676); +buf BUFF1_151 (N1249, N689); +buf BUFF1_152 (N1256, N689); +buf BUFF1_153 (N1263, N695); +buf BUFF1_154 (N1270, N689); +buf BUFF1_155 (N1277, N689); +buf BUFF1_156 (N1284, N700); +buf BUFF1_157 (N1287, N614); +buf BUFF1_158 (N1290, N666); +buf BUFF1_159 (N1293, N660); +buf BUFF1_160 (N1296, N651); +buf BUFF1_161 (N1299, N614); +buf BUFF1_162 (N1302, N644); +buf BUFF1_163 (N1305, N700); +buf BUFF1_164 (N1308, N614); +buf BUFF1_165 (N1311, N614); +buf BUFF1_166 (N1314, N666); +buf BUFF1_167 (N1317, N660); +buf BUFF1_168 (N1320, N651); +buf BUFF1_169 (N1323, N644); +buf BUFF1_170 (N1326, N609); +buf BUFF1_171 (N1329, N604); +buf BUFF1_172 (N1332, N742); +buf BUFF1_173 (N1335, N599); +buf BUFF1_174 (N1338, N727); +buf BUFF1_175 (N1341, N721); +buf BUFF1_176 (N1344, N715); +buf BUFF1_177 (N1347, N734); +buf BUFF1_178 (N1350, N708); +buf BUFF1_179 (N1353, N609); +buf BUFF1_180 (N1356, N604); +buf BUFF1_181 (N1359, N742); +buf BUFF1_182 (N1362, N734); +buf BUFF1_183 (N1365, N599); +buf BUFF1_184 (N1368, N727); +buf BUFF1_185 (N1371, N721); +buf BUFF1_186 (N1374, N715); +buf BUFF1_187 (N1377, N708); +buf BUFF1_188 (N1380, N806); +buf BUFF1_189 (N1383, N800); +buf BUFF1_190 (N1386, N794); +buf BUFF1_191 (N1389, N786); +buf BUFF1_192 (N1392, N780); +buf BUFF1_193 (N1395, N774); +buf BUFF1_194 (N1398, N768); +buf BUFF1_195 (N1401, N762); +buf BUFF1_196 (N1404, N806); +buf BUFF1_197 (N1407, N800); +buf BUFF1_198 (N1410, N794); +buf BUFF1_199 (N1413, N780); +buf BUFF1_200 (N1416, N774); +buf BUFF1_201 (N1419, N768); +buf BUFF1_202 (N1422, N762); +buf BUFF1_203 (N1425, N786); +buf BUFF1_204 (N1428, N636); +buf BUFF1_205 (N1431, N636); +buf BUFF1_206 (N1434, N865); +buf BUFF1_207 (N1437, N859); +buf BUFF1_208 (N1440, N853); +buf BUFF1_209 (N1443, N845); +buf BUFF1_210 (N1446, N839); +buf BUFF1_211 (N1449, N833); +buf BUFF1_212 (N1452, N827); +buf BUFF1_213 (N1455, N821); +buf BUFF1_214 (N1458, N814); +buf BUFF1_215 (N1461, N865); +buf BUFF1_216 (N1464, N859); +buf BUFF1_217 (N1467, N853); +buf BUFF1_218 (N1470, N839); +buf BUFF1_219 (N1473, N833); +buf BUFF1_220 (N1476, N827); +buf BUFF1_221 (N1479, N821); +buf BUFF1_222 (N1482, N845); +buf BUFF1_223 (N1485, N814); +not NOT1_224 (N1489, N1109); +buf BUFF1_225 (N1490, N1116); +and AND2_226 (N1537, N957, N614); +and AND2_227 (N1551, N614, N957); +and AND2_228 (N1649, N1029, N636); +buf BUFF1_229 (N1703, N957); +nor NOR2_230 (N1708, N957, N614); +buf BUFF1_231 (N1713, N957); +nor NOR2_232 (N1721, N614, N957); +buf BUFF1_233 (N1758, N1029); +and AND2_234 (N1781, N163, N1116); +and AND2_235 (N1782, N170, N1125); +not NOT1_236 (N1783, N1125); +not NOT1_237 (N1789, N1136); +and AND2_238 (N1793, N169, N1125); +and AND2_239 (N1794, N168, N1125); +and AND2_240 (N1795, N167, N1125); +and AND2_241 (N1796, N166, N1136); +and AND2_242 (N1797, N165, N1136); +and AND2_243 (N1798, N164, N1136); +not NOT1_244 (N1799, N1147); +not NOT1_245 (N1805, N1160); +and AND2_246 (N1811, N177, N1147); +and AND2_247 (N1812, N176, N1147); +and AND2_248 (N1813, N175, N1147); +and AND2_249 (N1814, N174, N1147); +and AND2_250 (N1815, N173, N1147); +and AND2_251 (N1816, N157, N1160); +and AND2_252 (N1817, N156, N1160); +and AND2_253 (N1818, N155, N1160); +and AND2_254 (N1819, N154, N1160); +and AND2_255 (N1820, N153, N1160); +not NOT1_256 (N1821, N1284); +not NOT1_257 (N1822, N1287); +not NOT1_258 (N1828, N1290); +not NOT1_259 (N1829, N1293); +not NOT1_260 (N1830, N1296); +not NOT1_261 (N1832, N1299); +not NOT1_262 (N1833, N1302); +not NOT1_263 (N1834, N1305); +not NOT1_264 (N1835, N1308); +not NOT1_265 (N1839, N1311); +not NOT1_266 (N1840, N1314); +not NOT1_267 (N1841, N1317); +not NOT1_268 (N1842, N1320); +not NOT1_269 (N1843, N1323); +not NOT1_270 (N1845, N1175); +not NOT1_271 (N1851, N1182); +and AND2_272 (N1857, N181, N1175); +and AND2_273 (N1858, N171, N1175); +and AND2_274 (N1859, N180, N1175); +and AND2_275 (N1860, N179, N1175); +and AND2_276 (N1861, N178, N1175); +and AND2_277 (N1862, N161, N1182); +and AND2_278 (N1863, N151, N1182); +and AND2_279 (N1864, N160, N1182); +and AND2_280 (N1865, N159, N1182); +and AND2_281 (N1866, N158, N1182); +not NOT1_282 (N1867, N1326); +not NOT1_283 (N1868, N1329); +not NOT1_284 (N1869, N1332); +not NOT1_285 (N1870, N1335); +not NOT1_286 (N1871, N1338); +not NOT1_287 (N1872, N1341); +not NOT1_288 (N1873, N1344); +not NOT1_289 (N1874, N1347); +not NOT1_290 (N1875, N1350); +not NOT1_291 (N1876, N1353); +not NOT1_292 (N1877, N1356); +not NOT1_293 (N1878, N1359); +not NOT1_294 (N1879, N1362); +not NOT1_295 (N1880, N1365); +not NOT1_296 (N1881, N1368); +not NOT1_297 (N1882, N1371); +not NOT1_298 (N1883, N1374); +not NOT1_299 (N1884, N1377); +buf BUFF1_300 (N1885, N1199); +buf BUFF1_301 (N1892, N1194); +buf BUFF1_302 (N1899, N1199); +buf BUFF1_303 (N1906, N1194); +not NOT1_304 (N1913, N1211); +buf BUFF1_305 (N1919, N1194); +and AND2_306 (N1926, N44, N1211); +and AND2_307 (N1927, N41, N1211); +and AND2_308 (N1928, N29, N1211); +and AND2_309 (N1929, N26, N1211); +and AND2_310 (N1930, N23, N1211); +not NOT1_311 (N1931, N1380); +not NOT1_312 (N1932, N1383); +not NOT1_313 (N1933, N1386); +not NOT1_314 (N1934, N1389); +not NOT1_315 (N1935, N1392); +not NOT1_316 (N1936, N1395); +not NOT1_317 (N1937, N1398); +not NOT1_318 (N1938, N1401); +not NOT1_319 (N1939, N1404); +not NOT1_320 (N1940, N1407); +not NOT1_321 (N1941, N1410); +not NOT1_322 (N1942, N1413); +not NOT1_323 (N1943, N1416); +not NOT1_324 (N1944, N1419); +not NOT1_325 (N1945, N1422); +not NOT1_326 (N1946, N1425); +not NOT1_327 (N1947, N1233); +not NOT1_328 (N1953, N1244); +and AND2_329 (N1957, N209, N1233); +and AND2_330 (N1958, N216, N1233); +and AND2_331 (N1959, N215, N1233); +and AND2_332 (N1960, N214, N1233); +and AND2_333 (N1961, N213, N1244); +and AND2_334 (N1962, N212, N1244); +and AND2_335 (N1963, N211, N1244); +not NOT1_336 (N1965, N1428); +and AND2_337 (N1966, N1222, N636); +not NOT1_338 (N1967, N1431); +not NOT1_339 (N1968, N1434); +not NOT1_340 (N1969, N1437); +not NOT1_341 (N1970, N1440); +not NOT1_342 (N1971, N1443); +not NOT1_343 (N1972, N1446); +not NOT1_344 (N1973, N1449); +not NOT1_345 (N1974, N1452); +not NOT1_346 (N1975, N1455); +not NOT1_347 (N1976, N1458); +not NOT1_348 (N1977, N1249); +not NOT1_349 (N1983, N1256); +and AND2_350 (N1989, N642, N1249); +and AND2_351 (N1990, N644, N1249); +and AND2_352 (N1991, N651, N1249); +and AND2_353 (N1992, N674, N1249); +and AND2_354 (N1993, N660, N1249); +and AND2_355 (N1994, N666, N1256); +and AND2_356 (N1995, N672, N1256); +and AND2_357 (N1996, N673, N1256); +not NOT1_358 (N1997, N1263); +buf BUFF1_359 (N2003, N1194); +and AND2_360 (N2010, N47, N1263); +and AND2_361 (N2011, N35, N1263); +and AND2_362 (N2012, N32, N1263); +and AND2_363 (N2013, N50, N1263); +and AND2_364 (N2014, N66, N1263); +not NOT1_365 (N2015, N1461); +not NOT1_366 (N2016, N1464); +not NOT1_367 (N2017, N1467); +not NOT1_368 (N2018, N1470); +not NOT1_369 (N2019, N1473); +not NOT1_370 (N2020, N1476); +not NOT1_371 (N2021, N1479); +not NOT1_372 (N2022, N1482); +not NOT1_373 (N2023, N1485); +buf BUFF1_374 (N2024, N1206); +buf BUFF1_375 (N2031, N1206); +buf BUFF1_376 (N2038, N1206); +buf BUFF1_377 (N2045, N1206); +not NOT1_378 (N2052, N1270); +not NOT1_379 (N2058, N1277); +and AND2_380 (N2064, N706, N1270); +and AND2_381 (N2065, N708, N1270); +and AND2_382 (N2066, N715, N1270); +and AND2_383 (N2067, N721, N1270); +and AND2_384 (N2068, N727, N1270); +and AND2_385 (N2069, N733, N1277); +and AND2_386 (N2070, N734, N1277); +and AND2_387 (N2071, N742, N1277); +and AND2_388 (N2072, N748, N1277); +and AND2_389 (N2073, N749, N1277); +buf BUFF1_390 (N2074, N1189); +buf BUFF1_391 (N2081, N1189); +buf BUFF1_392 (N2086, N1222); +nand NAND2_393 (N2107, N1287, N1821); +nand NAND2_394 (N2108, N1284, N1822); +not NOT1_395 (N2110, N1703); +nand NAND2_396 (N2111, N1703, N1832); +nand NAND2_397 (N2112, N1308, N1834); +nand NAND2_398 (N2113, N1305, N1835); +not NOT1_399 (N2114, N1713); +nand NAND2_400 (N2115, N1713, N1839); +not NOT1_401 (N2117, N1721); +not NOT1_402 (N2171, N1758); +nand NAND2_403 (N2172, N1758, N1965); +not NOT1_404 (N2230, N1708); +buf BUFF1_405 (N2231, N1537); +buf BUFF1_406 (N2235, N1551); +or OR2_407 (N2239, N1783, N1782); +or OR2_408 (N2240, N1783, N1125); +or OR2_409 (N2241, N1783, N1793); +or OR2_410 (N2242, N1783, N1794); +or OR2_411 (N2243, N1783, N1795); +or OR2_412 (N2244, N1789, N1796); +or OR2_413 (N2245, N1789, N1797); +or OR2_414 (N2246, N1789, N1798); +or OR2_415 (N2247, N1799, N1811); +or OR2_416 (N2248, N1799, N1812); +or OR2_417 (N2249, N1799, N1813); +or OR2_418 (N2250, N1799, N1814); +or OR2_419 (N2251, N1799, N1815); +or OR2_420 (N2252, N1805, N1816); +or OR2_421 (N2253, N1805, N1817); +or OR2_422 (N2254, N1805, N1818); +or OR2_423 (N2255, N1805, N1819); +or OR2_424 (N2256, N1805, N1820); +nand NAND2_425 (N2257, N2107, N2108); +not NOT1_426 (N2267, N2074); +nand NAND2_427 (N2268, N1299, N2110); +nand NAND2_428 (N2269, N2112, N2113); +nand NAND2_429 (N2274, N1311, N2114); +not NOT1_430 (N2275, N2081); +and AND2_431 (N2277, N141, N1845); +and AND2_432 (N2278, N147, N1845); +and AND2_433 (N2279, N138, N1845); +and AND2_434 (N2280, N144, N1845); +and AND2_435 (N2281, N135, N1845); +and AND2_436 (N2282, N141, N1851); +and AND2_437 (N2283, N147, N1851); +and AND2_438 (N2284, N138, N1851); +and AND2_439 (N2285, N144, N1851); +and AND2_440 (N2286, N135, N1851); +not NOT1_441 (N2287, N1885); +not NOT1_442 (N2293, N1892); +and AND2_443 (N2299, N103, N1885); +and AND2_444 (N2300, N130, N1885); +and AND2_445 (N2301, N127, N1885); +and AND2_446 (N2302, N124, N1885); +and AND2_447 (N2303, N100, N1885); +and AND2_448 (N2304, N103, N1892); +and AND2_449 (N2305, N130, N1892); +and AND2_450 (N2306, N127, N1892); +and AND2_451 (N2307, N124, N1892); +and AND2_452 (N2308, N100, N1892); +not NOT1_453 (N2309, N1899); +not NOT1_454 (N2315, N1906); +and AND2_455 (N2321, N115, N1899); +and AND2_456 (N2322, N118, N1899); +and AND2_457 (N2323, N97, N1899); +and AND2_458 (N2324, N94, N1899); +and AND2_459 (N2325, N121, N1899); +and AND2_460 (N2326, N115, N1906); +and AND2_461 (N2327, N118, N1906); +and AND2_462 (N2328, N97, N1906); +and AND2_463 (N2329, N94, N1906); +and AND2_464 (N2330, N121, N1906); +not NOT1_465 (N2331, N1919); +and AND2_466 (N2337, N208, N1913); +and AND2_467 (N2338, N198, N1913); +and AND2_468 (N2339, N207, N1913); +and AND2_469 (N2340, N206, N1913); +and AND2_470 (N2341, N205, N1913); +and AND2_471 (N2342, N44, N1919); +and AND2_472 (N2343, N41, N1919); +and AND2_473 (N2344, N29, N1919); +and AND2_474 (N2345, N26, N1919); +and AND2_475 (N2346, N23, N1919); +or OR2_476 (N2347, N1947, N1233); +or OR2_477 (N2348, N1947, N1957); +or OR2_478 (N2349, N1947, N1958); +or OR2_479 (N2350, N1947, N1959); +or OR2_480 (N2351, N1947, N1960); +or OR2_481 (N2352, N1953, N1961); +or OR2_482 (N2353, N1953, N1962); +or OR2_483 (N2354, N1953, N1963); +nand NAND2_484 (N2355, N1428, N2171); +not NOT1_485 (N2356, N2086); +nand NAND2_486 (N2357, N2086, N1967); +and AND2_487 (N2358, N114, N1977); +and AND2_488 (N2359, N113, N1977); +and AND2_489 (N2360, N111, N1977); +and AND2_490 (N2361, N87, N1977); +and AND2_491 (N2362, N112, N1977); +and AND2_492 (N2363, N88, N1983); +and AND2_493 (N2364, N245, N1983); +and AND2_494 (N2365, N271, N1983); +and AND2_495 (N2366, N759, N1983); +and AND2_496 (N2367, N70, N1983); +not NOT1_497 (N2368, N2003); +and AND2_498 (N2374, N193, N1997); +and AND2_499 (N2375, N192, N1997); +and AND2_500 (N2376, N191, N1997); +and AND2_501 (N2377, N190, N1997); +and AND2_502 (N2378, N189, N1997); +and AND2_503 (N2379, N47, N2003); +and AND2_504 (N2380, N35, N2003); +and AND2_505 (N2381, N32, N2003); +and AND2_506 (N2382, N50, N2003); +and AND2_507 (N2383, N66, N2003); +not NOT1_508 (N2384, N2024); +not NOT1_509 (N2390, N2031); +and AND2_510 (N2396, N58, N2024); +and AND2_511 (N2397, N77, N2024); +and AND2_512 (N2398, N78, N2024); +and AND2_513 (N2399, N59, N2024); +and AND2_514 (N2400, N81, N2024); +and AND2_515 (N2401, N80, N2031); +and AND2_516 (N2402, N79, N2031); +and AND2_517 (N2403, N60, N2031); +and AND2_518 (N2404, N61, N2031); +and AND2_519 (N2405, N62, N2031); +not NOT1_520 (N2406, N2038); +not NOT1_521 (N2412, N2045); +and AND2_522 (N2418, N69, N2038); +and AND2_523 (N2419, N70, N2038); +and AND2_524 (N2420, N74, N2038); +and AND2_525 (N2421, N76, N2038); +and AND2_526 (N2422, N75, N2038); +and AND2_527 (N2423, N73, N2045); +and AND2_528 (N2424, N53, N2045); +and AND2_529 (N2425, N54, N2045); +and AND2_530 (N2426, N55, N2045); +and AND2_531 (N2427, N56, N2045); +and AND2_532 (N2428, N82, N2052); +and AND2_533 (N2429, N65, N2052); +and AND2_534 (N2430, N83, N2052); +and AND2_535 (N2431, N84, N2052); +and AND2_536 (N2432, N85, N2052); +and AND2_537 (N2433, N64, N2058); +and AND2_538 (N2434, N63, N2058); +and AND2_539 (N2435, N86, N2058); +and AND2_540 (N2436, N109, N2058); +and AND2_541 (N2437, N110, N2058); +and AND2_542 (N2441, N2239, N1119); +and AND2_543 (N2442, N2240, N1119); +and AND2_544 (N2446, N2241, N1119); +and AND2_545 (N2450, N2242, N1119); +and AND2_546 (N2454, N2243, N1119); +and AND2_547 (N2458, N2244, N1132); +and AND2_548 (N2462, N2247, N1141); +and AND2_549 (N2466, N2248, N1141); +and AND2_550 (N2470, N2249, N1141); +and AND2_551 (N2474, N2250, N1141); +and AND2_552 (N2478, N2251, N1141); +and AND2_553 (N2482, N2252, N1154); +and AND2_554 (N2488, N2253, N1154); +and AND2_555 (N2496, N2254, N1154); +and AND2_556 (N2502, N2255, N1154); +and AND2_557 (N2508, N2256, N1154); +nand NAND2_558 (N2523, N2268, N2111); +nand NAND2_559 (N2533, N2274, N2115); +not NOT1_560 (N2537, N2235); +or OR2_561 (N2538, N2278, N1858); +or OR2_562 (N2542, N2279, N1859); +or OR2_563 (N2546, N2280, N1860); +or OR2_564 (N2550, N2281, N1861); +or OR2_565 (N2554, N2283, N1863); +or OR2_566 (N2561, N2284, N1864); +or OR2_567 (N2567, N2285, N1865); +or OR2_568 (N2573, N2286, N1866); +or OR2_569 (N2604, N2338, N1927); +or OR2_570 (N2607, N2339, N1928); +or OR2_571 (N2611, N2340, N1929); +or OR2_572 (N2615, N2341, N1930); +and AND2_573 (N2619, N2348, N1227); +and AND2_574 (N2626, N2349, N1227); +and AND2_575 (N2632, N2350, N1227); +and AND2_576 (N2638, N2351, N1227); +and AND2_577 (N2644, N2352, N1240); +nand NAND2_578 (N2650, N2355, N2172); +nand NAND2_579 (N2653, N1431, N2356); +or OR2_580 (N2654, N2359, N1990); +or OR2_581 (N2658, N2360, N1991); +or OR2_582 (N2662, N2361, N1992); +or OR2_583 (N2666, N2362, N1993); +or OR2_584 (N2670, N2363, N1994); +or OR2_585 (N2674, N2366, N1256); +or OR2_586 (N2680, N2367, N1256); +or OR2_587 (N2688, N2374, N2010); +or OR2_588 (N2692, N2375, N2011); +or OR2_589 (N2696, N2376, N2012); +or OR2_590 (N2700, N2377, N2013); +or OR2_591 (N2704, N2378, N2014); +and AND2_592 (N2728, N2347, N1227); +or OR2_593 (N2729, N2429, N2065); +or OR2_594 (N2733, N2430, N2066); +or OR2_595 (N2737, N2431, N2067); +or OR2_596 (N2741, N2432, N2068); +or OR2_597 (N2745, N2433, N2069); +or OR2_598 (N2749, N2434, N2070); +or OR2_599 (N2753, N2435, N2071); +or OR2_600 (N2757, N2436, N2072); +or OR2_601 (N2761, N2437, N2073); +not NOT1_602 (N2765, N2231); +and AND2_603 (N2766, N2354, N1240); +and AND2_604 (N2769, N2353, N1240); +and AND2_605 (N2772, N2246, N1132); +and AND2_606 (N2775, N2245, N1132); +or OR2_607 (N2778, N2282, N1862); +or OR2_608 (N2781, N2358, N1989); +or OR2_609 (N2784, N2365, N1996); +or OR2_610 (N2787, N2364, N1995); +or OR2_611 (N2790, N2337, N1926); +or OR2_612 (N2793, N2277, N1857); +or OR2_613 (N2796, N2428, N2064); +and AND2_614 (N2866, N2257, N1537); +and AND2_615 (N2867, N2257, N1537); +and AND2_616 (N2868, N2257, N1537); +and AND2_617 (N2869, N2257, N1537); +and AND2_618 (N2878, N2269, N1551); +and AND2_619 (N2913, N204, N2287); +and AND2_620 (N2914, N203, N2287); +and AND2_621 (N2915, N202, N2287); +and AND2_622 (N2916, N201, N2287); +and AND2_623 (N2917, N200, N2287); +and AND2_624 (N2918, N235, N2293); +and AND2_625 (N2919, N234, N2293); +and AND2_626 (N2920, N233, N2293); +and AND2_627 (N2921, N232, N2293); +and AND2_628 (N2922, N231, N2293); +and AND2_629 (N2923, N197, N2309); +and AND2_630 (N2924, N187, N2309); +and AND2_631 (N2925, N196, N2309); +and AND2_632 (N2926, N195, N2309); +and AND2_633 (N2927, N194, N2309); +and AND2_634 (N2928, N227, N2315); +and AND2_635 (N2929, N217, N2315); +and AND2_636 (N2930, N226, N2315); +and AND2_637 (N2931, N225, N2315); +and AND2_638 (N2932, N224, N2315); +and AND2_639 (N2933, N239, N2331); +and AND2_640 (N2934, N229, N2331); +and AND2_641 (N2935, N238, N2331); +and AND2_642 (N2936, N237, N2331); +and AND2_643 (N2937, N236, N2331); +nand NAND2_644 (N2988, N2653, N2357); +and AND2_645 (N3005, N223, N2368); +and AND2_646 (N3006, N222, N2368); +and AND2_647 (N3007, N221, N2368); +and AND2_648 (N3008, N220, N2368); +and AND2_649 (N3009, N219, N2368); +and AND2_650 (N3020, N812, N2384); +and AND2_651 (N3021, N814, N2384); +and AND2_652 (N3022, N821, N2384); +and AND2_653 (N3023, N827, N2384); +and AND2_654 (N3024, N833, N2384); +and AND2_655 (N3025, N839, N2390); +and AND2_656 (N3026, N845, N2390); +and AND2_657 (N3027, N853, N2390); +and AND2_658 (N3028, N859, N2390); +and AND2_659 (N3029, N865, N2390); +and AND2_660 (N3032, N758, N2406); +and AND2_661 (N3033, N759, N2406); +and AND2_662 (N3034, N762, N2406); +and AND2_663 (N3035, N768, N2406); +and AND2_664 (N3036, N774, N2406); +and AND2_665 (N3037, N780, N2412); +and AND2_666 (N3038, N786, N2412); +and AND2_667 (N3039, N794, N2412); +and AND2_668 (N3040, N800, N2412); +and AND2_669 (N3041, N806, N2412); +buf BUFF1_670 (N3061, N2257); +buf BUFF1_671 (N3064, N2257); +buf BUFF1_672 (N3067, N2269); +buf BUFF1_673 (N3070, N2269); +not NOT1_674 (N3073, N2728); +not NOT1_675 (N3080, N2441); +and AND2_676 (N3096, N666, N2644); +and AND2_677 (N3097, N660, N2638); +and AND2_678 (N3101, N1189, N2632); +and AND2_679 (N3107, N651, N2626); +and AND2_680 (N3114, N644, N2619); +and AND2_681 (N3122, N2523, N2257); +or OR2_682 (N3126, N1167, N2866); +and AND2_683 (N3130, N2523, N2257); +or OR2_684 (N3131, N1167, N2869); +and AND2_685 (N3134, N2523, N2257); +not NOT1_686 (N3135, N2533); +and AND2_687 (N3136, N666, N2644); +and AND2_688 (N3137, N660, N2638); +and AND2_689 (N3140, N1189, N2632); +and AND2_690 (N3144, N651, N2626); +and AND2_691 (N3149, N644, N2619); +and AND2_692 (N3155, N2533, N2269); +or OR2_693 (N3159, N1174, N2878); +not NOT1_694 (N3167, N2778); +and AND2_695 (N3168, N609, N2508); +and AND2_696 (N3169, N604, N2502); +and AND2_697 (N3173, N742, N2496); +and AND2_698 (N3178, N734, N2488); +and AND2_699 (N3184, N599, N2482); +and AND2_700 (N3185, N727, N2573); +and AND2_701 (N3189, N721, N2567); +and AND2_702 (N3195, N715, N2561); +and AND2_703 (N3202, N708, N2554); +and AND2_704 (N3210, N609, N2508); +and AND2_705 (N3211, N604, N2502); +and AND2_706 (N3215, N742, N2496); +and AND2_707 (N3221, N2488, N734); +and AND2_708 (N3228, N599, N2482); +and AND2_709 (N3229, N727, N2573); +and AND2_710 (N3232, N721, N2567); +and AND2_711 (N3236, N715, N2561); +and AND2_712 (N3241, N708, N2554); +or OR2_713 (N3247, N2913, N2299); +or OR2_714 (N3251, N2914, N2300); +or OR2_715 (N3255, N2915, N2301); +or OR2_716 (N3259, N2916, N2302); +or OR2_717 (N3263, N2917, N2303); +or OR2_718 (N3267, N2918, N2304); +or OR2_719 (N3273, N2919, N2305); +or OR2_720 (N3281, N2920, N2306); +or OR2_721 (N3287, N2921, N2307); +or OR2_722 (N3293, N2922, N2308); +or OR2_723 (N3299, N2924, N2322); +or OR2_724 (N3303, N2925, N2323); +or OR2_725 (N3307, N2926, N2324); +or OR2_726 (N3311, N2927, N2325); +or OR2_727 (N3315, N2929, N2327); +or OR2_728 (N3322, N2930, N2328); +or OR2_729 (N3328, N2931, N2329); +or OR2_730 (N3334, N2932, N2330); +or OR2_731 (N3340, N2934, N2343); +or OR2_732 (N3343, N2935, N2344); +or OR2_733 (N3349, N2936, N2345); +or OR2_734 (N3355, N2937, N2346); +and AND2_735 (N3361, N2761, N2478); +and AND2_736 (N3362, N2757, N2474); +and AND2_737 (N3363, N2753, N2470); +and AND2_738 (N3364, N2749, N2466); +and AND2_739 (N3365, N2745, N2462); +and AND2_740 (N3366, N2741, N2550); +and AND2_741 (N3367, N2737, N2546); +and AND2_742 (N3368, N2733, N2542); +and AND2_743 (N3369, N2729, N2538); +and AND2_744 (N3370, N2670, N2458); +and AND2_745 (N3371, N2666, N2454); +and AND2_746 (N3372, N2662, N2450); +and AND2_747 (N3373, N2658, N2446); +and AND2_748 (N3374, N2654, N2442); +and AND2_749 (N3375, N2988, N2650); +and AND2_750 (N3379, N2650, N1966); +not NOT1_751 (N3380, N2781); +and AND2_752 (N3381, N695, N2604); +or OR2_753 (N3384, N3005, N2379); +or OR2_754 (N3390, N3006, N2380); +or OR2_755 (N3398, N3007, N2381); +or OR2_756 (N3404, N3008, N2382); +or OR2_757 (N3410, N3009, N2383); +or OR2_758 (N3416, N3021, N2397); +or OR2_759 (N3420, N3022, N2398); +or OR2_760 (N3424, N3023, N2399); +or OR2_761 (N3428, N3024, N2400); +or OR2_762 (N3432, N3025, N2401); +or OR2_763 (N3436, N3026, N2402); +or OR2_764 (N3440, N3027, N2403); +or OR2_765 (N3444, N3028, N2404); +or OR2_766 (N3448, N3029, N2405); +not NOT1_767 (N3452, N2790); +not NOT1_768 (N3453, N2793); +or OR2_769 (N3454, N3034, N2420); +or OR2_770 (N3458, N3035, N2421); +or OR2_771 (N3462, N3036, N2422); +or OR2_772 (N3466, N3037, N2423); +or OR2_773 (N3470, N3038, N2424); +or OR2_774 (N3474, N3039, N2425); +or OR2_775 (N3478, N3040, N2426); +or OR2_776 (N3482, N3041, N2427); +not NOT1_777 (N3486, N2796); +buf BUFF1_778 (N3487, N2644); +buf BUFF1_779 (N3490, N2638); +buf BUFF1_780 (N3493, N2632); +buf BUFF1_781 (N3496, N2626); +buf BUFF1_782 (N3499, N2619); +buf BUFF1_783 (N3502, N2523); +nor NOR2_784 (N3507, N1167, N2868); +buf BUFF1_785 (N3510, N2523); +nor NOR2_786 (N3515, N644, N2619); +buf BUFF1_787 (N3518, N2644); +buf BUFF1_788 (N3521, N2638); +buf BUFF1_789 (N3524, N2632); +buf BUFF1_790 (N3527, N2626); +buf BUFF1_791 (N3530, N2619); +buf BUFF1_792 (N3535, N2619); +buf BUFF1_793 (N3539, N2632); +buf BUFF1_794 (N3542, N2626); +buf BUFF1_795 (N3545, N2644); +buf BUFF1_796 (N3548, N2638); +not NOT1_797 (N3551, N2766); +not NOT1_798 (N3552, N2769); +buf BUFF1_799 (N3553, N2442); +buf BUFF1_800 (N3557, N2450); +buf BUFF1_801 (N3560, N2446); +buf BUFF1_802 (N3563, N2458); +buf BUFF1_803 (N3566, N2454); +not NOT1_804 (N3569, N2772); +not NOT1_805 (N3570, N2775); +buf BUFF1_806 (N3571, N2554); +buf BUFF1_807 (N3574, N2567); +buf BUFF1_808 (N3577, N2561); +buf BUFF1_809 (N3580, N2482); +buf BUFF1_810 (N3583, N2573); +buf BUFF1_811 (N3586, N2496); +buf BUFF1_812 (N3589, N2488); +buf BUFF1_813 (N3592, N2508); +buf BUFF1_814 (N3595, N2502); +buf BUFF1_815 (N3598, N2508); +buf BUFF1_816 (N3601, N2502); +buf BUFF1_817 (N3604, N2496); +buf BUFF1_818 (N3607, N2482); +buf BUFF1_819 (N3610, N2573); +buf BUFF1_820 (N3613, N2567); +buf BUFF1_821 (N3616, N2561); +buf BUFF1_822 (N3619, N2488); +buf BUFF1_823 (N3622, N2554); +nor NOR2_824 (N3625, N734, N2488); +nor NOR2_825 (N3628, N708, N2554); +buf BUFF1_826 (N3631, N2508); +buf BUFF1_827 (N3634, N2502); +buf BUFF1_828 (N3637, N2496); +buf BUFF1_829 (N3640, N2488); +buf BUFF1_830 (N3643, N2482); +buf BUFF1_831 (N3646, N2573); +buf BUFF1_832 (N3649, N2567); +buf BUFF1_833 (N3652, N2561); +buf BUFF1_834 (N3655, N2554); +nor NOR2_835 (N3658, N2488, N734); +buf BUFF1_836 (N3661, N2674); +buf BUFF1_837 (N3664, N2674); +buf BUFF1_838 (N3667, N2761); +buf BUFF1_839 (N3670, N2478); +buf BUFF1_840 (N3673, N2757); +buf BUFF1_841 (N3676, N2474); +buf BUFF1_842 (N3679, N2753); +buf BUFF1_843 (N3682, N2470); +buf BUFF1_844 (N3685, N2745); +buf BUFF1_845 (N3688, N2462); +buf BUFF1_846 (N3691, N2741); +buf BUFF1_847 (N3694, N2550); +buf BUFF1_848 (N3697, N2737); +buf BUFF1_849 (N3700, N2546); +buf BUFF1_850 (N3703, N2733); +buf BUFF1_851 (N3706, N2542); +buf BUFF1_852 (N3709, N2749); +buf BUFF1_853 (N3712, N2466); +buf BUFF1_854 (N3715, N2729); +buf BUFF1_855 (N3718, N2538); +buf BUFF1_856 (N3721, N2704); +buf BUFF1_857 (N3724, N2700); +buf BUFF1_858 (N3727, N2696); +buf BUFF1_859 (N3730, N2688); +buf BUFF1_860 (N3733, N2692); +buf BUFF1_861 (N3736, N2670); +buf BUFF1_862 (N3739, N2458); +buf BUFF1_863 (N3742, N2666); +buf BUFF1_864 (N3745, N2454); +buf BUFF1_865 (N3748, N2662); +buf BUFF1_866 (N3751, N2450); +buf BUFF1_867 (N3754, N2658); +buf BUFF1_868 (N3757, N2446); +buf BUFF1_869 (N3760, N2654); +buf BUFF1_870 (N3763, N2442); +buf BUFF1_871 (N3766, N2654); +buf BUFF1_872 (N3769, N2662); +buf BUFF1_873 (N3772, N2658); +buf BUFF1_874 (N3775, N2670); +buf BUFF1_875 (N3778, N2666); +not NOT1_876 (N3781, N2784); +not NOT1_877 (N3782, N2787); +or OR2_878 (N3783, N2928, N2326); +or OR2_879 (N3786, N2933, N2342); +or OR2_880 (N3789, N2923, N2321); +buf BUFF1_881 (N3792, N2688); +buf BUFF1_882 (N3795, N2696); +buf BUFF1_883 (N3798, N2692); +buf BUFF1_884 (N3801, N2704); +buf BUFF1_885 (N3804, N2700); +buf BUFF1_886 (N3807, N2604); +buf BUFF1_887 (N3810, N2611); +buf BUFF1_888 (N3813, N2607); +buf BUFF1_889 (N3816, N2615); +buf BUFF1_890 (N3819, N2538); +buf BUFF1_891 (N3822, N2546); +buf BUFF1_892 (N3825, N2542); +buf BUFF1_893 (N3828, N2462); +buf BUFF1_894 (N3831, N2550); +buf BUFF1_895 (N3834, N2470); +buf BUFF1_896 (N3837, N2466); +buf BUFF1_897 (N3840, N2478); +buf BUFF1_898 (N3843, N2474); +buf BUFF1_899 (N3846, N2615); +buf BUFF1_900 (N3849, N2611); +buf BUFF1_901 (N3852, N2607); +buf BUFF1_902 (N3855, N2680); +buf BUFF1_903 (N3858, N2729); +buf BUFF1_904 (N3861, N2737); +buf BUFF1_905 (N3864, N2733); +buf BUFF1_906 (N3867, N2745); +buf BUFF1_907 (N3870, N2741); +buf BUFF1_908 (N3873, N2753); +buf BUFF1_909 (N3876, N2749); +buf BUFF1_910 (N3879, N2761); +buf BUFF1_911 (N3882, N2757); +or OR2_912 (N3885, N3033, N2419); +or OR2_913 (N3888, N3032, N2418); +or OR2_914 (N3891, N3020, N2396); +nand NAND2_915 (N3953, N3067, N2117); +not NOT1_916 (N3954, N3067); +nand NAND2_917 (N3955, N3070, N2537); +not NOT1_918 (N3956, N3070); +not NOT1_919 (N3958, N3073); +not NOT1_920 (N3964, N3080); +or OR2_921 (N4193, N1649, N3379); +or OR3_922 (N4303, N1167, N2867, N3130); +not NOT1_923 (N4308, N3061); +not NOT1_924 (N4313, N3064); +nand NAND2_925 (N4326, N2769, N3551); +nand NAND2_926 (N4327, N2766, N3552); +nand NAND2_927 (N4333, N2775, N3569); +nand NAND2_928 (N4334, N2772, N3570); +nand NAND2_929 (N4411, N2787, N3781); +nand NAND2_930 (N4412, N2784, N3782); +nand NAND2_931 (N4463, N3487, N1828); +not NOT1_932 (N4464, N3487); +nand NAND2_933 (N4465, N3490, N1829); +not NOT1_934 (N4466, N3490); +nand NAND2_935 (N4467, N3493, N2267); +not NOT1_936 (N4468, N3493); +nand NAND2_937 (N4469, N3496, N1830); +not NOT1_938 (N4470, N3496); +nand NAND2_939 (N4471, N3499, N1833); +not NOT1_940 (N4472, N3499); +not NOT1_941 (N4473, N3122); +not NOT1_942 (N4474, N3126); +nand NAND2_943 (N4475, N3518, N1840); +not NOT1_944 (N4476, N3518); +nand NAND2_945 (N4477, N3521, N1841); +not NOT1_946 (N4478, N3521); +nand NAND2_947 (N4479, N3524, N2275); +not NOT1_948 (N4480, N3524); +nand NAND2_949 (N4481, N3527, N1842); +not NOT1_950 (N4482, N3527); +nand NAND2_951 (N4483, N3530, N1843); +not NOT1_952 (N4484, N3530); +not NOT1_953 (N4485, N3155); +not NOT1_954 (N4486, N3159); +nand NAND2_955 (N4487, N1721, N3954); +nand NAND2_956 (N4488, N2235, N3956); +not NOT1_957 (N4489, N3535); +nand NAND2_958 (N4490, N3535, N3958); +not NOT1_959 (N4491, N3539); +not NOT1_960 (N4492, N3542); +not NOT1_961 (N4493, N3545); +not NOT1_962 (N4494, N3548); +not NOT1_963 (N4495, N3553); +nand NAND2_964 (N4496, N3553, N3964); +not NOT1_965 (N4497, N3557); +not NOT1_966 (N4498, N3560); +not NOT1_967 (N4499, N3563); +not NOT1_968 (N4500, N3566); +not NOT1_969 (N4501, N3571); +nand NAND2_970 (N4502, N3571, N3167); +not NOT1_971 (N4503, N3574); +not NOT1_972 (N4504, N3577); +not NOT1_973 (N4505, N3580); +not NOT1_974 (N4506, N3583); +nand NAND2_975 (N4507, N3598, N1867); +not NOT1_976 (N4508, N3598); +nand NAND2_977 (N4509, N3601, N1868); +not NOT1_978 (N4510, N3601); +nand NAND2_979 (N4511, N3604, N1869); +not NOT1_980 (N4512, N3604); +nand NAND2_981 (N4513, N3607, N1870); +not NOT1_982 (N4514, N3607); +nand NAND2_983 (N4515, N3610, N1871); +not NOT1_984 (N4516, N3610); +nand NAND2_985 (N4517, N3613, N1872); +not NOT1_986 (N4518, N3613); +nand NAND2_987 (N4519, N3616, N1873); +not NOT1_988 (N4520, N3616); +nand NAND2_989 (N4521, N3619, N1874); +not NOT1_990 (N4522, N3619); +nand NAND2_991 (N4523, N3622, N1875); +not NOT1_992 (N4524, N3622); +nand NAND2_993 (N4525, N3631, N1876); +not NOT1_994 (N4526, N3631); +nand NAND2_995 (N4527, N3634, N1877); +not NOT1_996 (N4528, N3634); +nand NAND2_997 (N4529, N3637, N1878); +not NOT1_998 (N4530, N3637); +nand NAND2_999 (N4531, N3640, N1879); +not NOT1_1000 (N4532, N3640); +nand NAND2_1001 (N4533, N3643, N1880); +not NOT1_1002 (N4534, N3643); +nand NAND2_1003 (N4535, N3646, N1881); +not NOT1_1004 (N4536, N3646); +nand NAND2_1005 (N4537, N3649, N1882); +not NOT1_1006 (N4538, N3649); +nand NAND2_1007 (N4539, N3652, N1883); +not NOT1_1008 (N4540, N3652); +nand NAND2_1009 (N4541, N3655, N1884); +not NOT1_1010 (N4542, N3655); +not NOT1_1011 (N4543, N3658); +and AND2_1012 (N4544, N806, N3293); +and AND2_1013 (N4545, N800, N3287); +and AND2_1014 (N4549, N794, N3281); +and AND2_1015 (N4555, N3273, N786); +and AND2_1016 (N4562, N780, N3267); +and AND2_1017 (N4563, N774, N3355); +and AND2_1018 (N4566, N768, N3349); +and AND2_1019 (N4570, N762, N3343); +not NOT1_1020 (N4575, N3661); +and AND2_1021 (N4576, N806, N3293); +and AND2_1022 (N4577, N800, N3287); +and AND2_1023 (N4581, N794, N3281); +and AND2_1024 (N4586, N786, N3273); +and AND2_1025 (N4592, N780, N3267); +and AND2_1026 (N4593, N774, N3355); +and AND2_1027 (N4597, N768, N3349); +and AND2_1028 (N4603, N762, N3343); +not NOT1_1029 (N4610, N3664); +not NOT1_1030 (N4611, N3667); +not NOT1_1031 (N4612, N3670); +not NOT1_1032 (N4613, N3673); +not NOT1_1033 (N4614, N3676); +not NOT1_1034 (N4615, N3679); +not NOT1_1035 (N4616, N3682); +not NOT1_1036 (N4617, N3685); +not NOT1_1037 (N4618, N3688); +not NOT1_1038 (N4619, N3691); +not NOT1_1039 (N4620, N3694); +not NOT1_1040 (N4621, N3697); +not NOT1_1041 (N4622, N3700); +not NOT1_1042 (N4623, N3703); +not NOT1_1043 (N4624, N3706); +not NOT1_1044 (N4625, N3709); +not NOT1_1045 (N4626, N3712); +not NOT1_1046 (N4627, N3715); +not NOT1_1047 (N4628, N3718); +not NOT1_1048 (N4629, N3721); +and AND2_1049 (N4630, N3448, N2704); +not NOT1_1050 (N4631, N3724); +and AND2_1051 (N4632, N3444, N2700); +not NOT1_1052 (N4633, N3727); +and AND2_1053 (N4634, N3440, N2696); +and AND2_1054 (N4635, N3436, N2692); +not NOT1_1055 (N4636, N3730); +and AND2_1056 (N4637, N3432, N2688); +and AND2_1057 (N4638, N3428, N3311); +and AND2_1058 (N4639, N3424, N3307); +and AND2_1059 (N4640, N3420, N3303); +and AND2_1060 (N4641, N3416, N3299); +not NOT1_1061 (N4642, N3733); +not NOT1_1062 (N4643, N3736); +not NOT1_1063 (N4644, N3739); +not NOT1_1064 (N4645, N3742); +not NOT1_1065 (N4646, N3745); +not NOT1_1066 (N4647, N3748); +not NOT1_1067 (N4648, N3751); +not NOT1_1068 (N4649, N3754); +not NOT1_1069 (N4650, N3757); +not NOT1_1070 (N4651, N3760); +not NOT1_1071 (N4652, N3763); +not NOT1_1072 (N4653, N3375); +and AND2_1073 (N4656, N865, N3410); +and AND2_1074 (N4657, N859, N3404); +and AND2_1075 (N4661, N853, N3398); +and AND2_1076 (N4667, N3390, N845); +and AND2_1077 (N4674, N839, N3384); +and AND2_1078 (N4675, N833, N3334); +and AND2_1079 (N4678, N827, N3328); +and AND2_1080 (N4682, N821, N3322); +and AND2_1081 (N4687, N814, N3315); +not NOT1_1082 (N4693, N3766); +nand NAND2_1083 (N4694, N3766, N3380); +not NOT1_1084 (N4695, N3769); +not NOT1_1085 (N4696, N3772); +not NOT1_1086 (N4697, N3775); +not NOT1_1087 (N4698, N3778); +not NOT1_1088 (N4699, N3783); +not NOT1_1089 (N4700, N3786); +and AND2_1090 (N4701, N865, N3410); +and AND2_1091 (N4702, N859, N3404); +and AND2_1092 (N4706, N853, N3398); +and AND2_1093 (N4711, N845, N3390); +and AND2_1094 (N4717, N839, N3384); +and AND2_1095 (N4718, N833, N3334); +and AND2_1096 (N4722, N827, N3328); +and AND2_1097 (N4728, N821, N3322); +and AND2_1098 (N4735, N814, N3315); +not NOT1_1099 (N4743, N3789); +not NOT1_1100 (N4744, N3792); +not NOT1_1101 (N4745, N3807); +nand NAND2_1102 (N4746, N3807, N3452); +not NOT1_1103 (N4747, N3810); +not NOT1_1104 (N4748, N3813); +not NOT1_1105 (N4749, N3816); +not NOT1_1106 (N4750, N3819); +nand NAND2_1107 (N4751, N3819, N3453); +not NOT1_1108 (N4752, N3822); +not NOT1_1109 (N4753, N3825); +not NOT1_1110 (N4754, N3828); +not NOT1_1111 (N4755, N3831); +and AND2_1112 (N4756, N3482, N3263); +and AND2_1113 (N4757, N3478, N3259); +and AND2_1114 (N4758, N3474, N3255); +and AND2_1115 (N4759, N3470, N3251); +and AND2_1116 (N4760, N3466, N3247); +not NOT1_1117 (N4761, N3846); +and AND2_1118 (N4762, N3462, N2615); +not NOT1_1119 (N4763, N3849); +and AND2_1120 (N4764, N3458, N2611); +not NOT1_1121 (N4765, N3852); +and AND2_1122 (N4766, N3454, N2607); +and AND2_1123 (N4767, N2680, N3381); +not NOT1_1124 (N4768, N3855); +and AND2_1125 (N4769, N3340, N695); +not NOT1_1126 (N4775, N3858); +nand NAND2_1127 (N4776, N3858, N3486); +not NOT1_1128 (N4777, N3861); +not NOT1_1129 (N4778, N3864); +not NOT1_1130 (N4779, N3867); +not NOT1_1131 (N4780, N3870); +not NOT1_1132 (N4781, N3885); +not NOT1_1133 (N4782, N3888); +not NOT1_1134 (N4783, N3891); +or OR2_1135 (N4784, N3131, N3134); +not NOT1_1136 (N4789, N3502); +not NOT1_1137 (N4790, N3131); +not NOT1_1138 (N4793, N3507); +not NOT1_1139 (N4794, N3510); +not NOT1_1140 (N4795, N3515); +buf BUFF1_1141 (N4796, N3114); +not NOT1_1142 (N4799, N3586); +not NOT1_1143 (N4800, N3589); +not NOT1_1144 (N4801, N3592); +not NOT1_1145 (N4802, N3595); +nand NAND2_1146 (N4803, N4326, N4327); +nand NAND2_1147 (N4806, N4333, N4334); +not NOT1_1148 (N4809, N3625); +buf BUFF1_1149 (N4810, N3178); +not NOT1_1150 (N4813, N3628); +buf BUFF1_1151 (N4814, N3202); +buf BUFF1_1152 (N4817, N3221); +buf BUFF1_1153 (N4820, N3293); +buf BUFF1_1154 (N4823, N3287); +buf BUFF1_1155 (N4826, N3281); +buf BUFF1_1156 (N4829, N3273); +buf BUFF1_1157 (N4832, N3267); +buf BUFF1_1158 (N4835, N3355); +buf BUFF1_1159 (N4838, N3349); +buf BUFF1_1160 (N4841, N3343); +nor NOR2_1161 (N4844, N3273, N786); +buf BUFF1_1162 (N4847, N3293); +buf BUFF1_1163 (N4850, N3287); +buf BUFF1_1164 (N4853, N3281); +buf BUFF1_1165 (N4856, N3267); +buf BUFF1_1166 (N4859, N3355); +buf BUFF1_1167 (N4862, N3349); +buf BUFF1_1168 (N4865, N3343); +buf BUFF1_1169 (N4868, N3273); +nor NOR2_1170 (N4871, N786, N3273); +buf BUFF1_1171 (N4874, N3448); +buf BUFF1_1172 (N4877, N3444); +buf BUFF1_1173 (N4880, N3440); +buf BUFF1_1174 (N4883, N3432); +buf BUFF1_1175 (N4886, N3428); +buf BUFF1_1176 (N4889, N3311); +buf BUFF1_1177 (N4892, N3424); +buf BUFF1_1178 (N4895, N3307); +buf BUFF1_1179 (N4898, N3420); +buf BUFF1_1180 (N4901, N3303); +buf BUFF1_1181 (N4904, N3436); +buf BUFF1_1182 (N4907, N3416); +buf BUFF1_1183 (N4910, N3299); +buf BUFF1_1184 (N4913, N3410); +buf BUFF1_1185 (N4916, N3404); +buf BUFF1_1186 (N4919, N3398); +buf BUFF1_1187 (N4922, N3390); +buf BUFF1_1188 (N4925, N3384); +buf BUFF1_1189 (N4928, N3334); +buf BUFF1_1190 (N4931, N3328); +buf BUFF1_1191 (N4934, N3322); +buf BUFF1_1192 (N4937, N3315); +nor NOR2_1193 (N4940, N3390, N845); +buf BUFF1_1194 (N4943, N3315); +buf BUFF1_1195 (N4946, N3328); +buf BUFF1_1196 (N4949, N3322); +buf BUFF1_1197 (N4952, N3384); +buf BUFF1_1198 (N4955, N3334); +buf BUFF1_1199 (N4958, N3398); +buf BUFF1_1200 (N4961, N3390); +buf BUFF1_1201 (N4964, N3410); +buf BUFF1_1202 (N4967, N3404); +buf BUFF1_1203 (N4970, N3340); +buf BUFF1_1204 (N4973, N3349); +buf BUFF1_1205 (N4976, N3343); +buf BUFF1_1206 (N4979, N3267); +buf BUFF1_1207 (N4982, N3355); +buf BUFF1_1208 (N4985, N3281); +buf BUFF1_1209 (N4988, N3273); +buf BUFF1_1210 (N4991, N3293); +buf BUFF1_1211 (N4994, N3287); +nand NAND2_1212 (N4997, N4411, N4412); +buf BUFF1_1213 (N5000, N3410); +buf BUFF1_1214 (N5003, N3404); +buf BUFF1_1215 (N5006, N3398); +buf BUFF1_1216 (N5009, N3384); +buf BUFF1_1217 (N5012, N3334); +buf BUFF1_1218 (N5015, N3328); +buf BUFF1_1219 (N5018, N3322); +buf BUFF1_1220 (N5021, N3390); +buf BUFF1_1221 (N5024, N3315); +nor NOR2_1222 (N5027, N845, N3390); +nor NOR2_1223 (N5030, N814, N3315); +buf BUFF1_1224 (N5033, N3299); +buf BUFF1_1225 (N5036, N3307); +buf BUFF1_1226 (N5039, N3303); +buf BUFF1_1227 (N5042, N3311); +not NOT1_1228 (N5045, N3795); +not NOT1_1229 (N5046, N3798); +not NOT1_1230 (N5047, N3801); +not NOT1_1231 (N5048, N3804); +buf BUFF1_1232 (N5049, N3247); +buf BUFF1_1233 (N5052, N3255); +buf BUFF1_1234 (N5055, N3251); +buf BUFF1_1235 (N5058, N3263); +buf BUFF1_1236 (N5061, N3259); +not NOT1_1237 (N5064, N3834); +not NOT1_1238 (N5065, N3837); +not NOT1_1239 (N5066, N3840); +not NOT1_1240 (N5067, N3843); +buf BUFF1_1241 (N5068, N3482); +buf BUFF1_1242 (N5071, N3263); +buf BUFF1_1243 (N5074, N3478); +buf BUFF1_1244 (N5077, N3259); +buf BUFF1_1245 (N5080, N3474); +buf BUFF1_1246 (N5083, N3255); +buf BUFF1_1247 (N5086, N3466); +buf BUFF1_1248 (N5089, N3247); +buf BUFF1_1249 (N5092, N3462); +buf BUFF1_1250 (N5095, N3458); +buf BUFF1_1251 (N5098, N3454); +buf BUFF1_1252 (N5101, N3470); +buf BUFF1_1253 (N5104, N3251); +buf BUFF1_1254 (N5107, N3381); +not NOT1_1255 (N5110, N3873); +not NOT1_1256 (N5111, N3876); +not NOT1_1257 (N5112, N3879); +not NOT1_1258 (N5113, N3882); +buf BUFF1_1259 (N5114, N3458); +buf BUFF1_1260 (N5117, N3454); +buf BUFF1_1261 (N5120, N3466); +buf BUFF1_1262 (N5123, N3462); +buf BUFF1_1263 (N5126, N3474); +buf BUFF1_1264 (N5129, N3470); +buf BUFF1_1265 (N5132, N3482); +buf BUFF1_1266 (N5135, N3478); +buf BUFF1_1267 (N5138, N3416); +buf BUFF1_1268 (N5141, N3424); +buf BUFF1_1269 (N5144, N3420); +buf BUFF1_1270 (N5147, N3432); +buf BUFF1_1271 (N5150, N3428); +buf BUFF1_1272 (N5153, N3440); +buf BUFF1_1273 (N5156, N3436); +buf BUFF1_1274 (N5159, N3448); +buf BUFF1_1275 (N5162, N3444); +nand NAND2_1276 (N5165, N4486, N4485); +nand NAND2_1277 (N5166, N4474, N4473); +nand NAND2_1278 (N5167, N1290, N4464); +nand NAND2_1279 (N5168, N1293, N4466); +nand NAND2_1280 (N5169, N2074, N4468); +nand NAND2_1281 (N5170, N1296, N4470); +nand NAND2_1282 (N5171, N1302, N4472); +nand NAND2_1283 (N5172, N1314, N4476); +nand NAND2_1284 (N5173, N1317, N4478); +nand NAND2_1285 (N5174, N2081, N4480); +nand NAND2_1286 (N5175, N1320, N4482); +nand NAND2_1287 (N5176, N1323, N4484); +nand NAND2_1288 (N5177, N3953, N4487); +nand NAND2_1289 (N5178, N3955, N4488); +nand NAND2_1290 (N5179, N3073, N4489); +nand NAND2_1291 (N5180, N3542, N4491); +nand NAND2_1292 (N5181, N3539, N4492); +nand NAND2_1293 (N5182, N3548, N4493); +nand NAND2_1294 (N5183, N3545, N4494); +nand NAND2_1295 (N5184, N3080, N4495); +nand NAND2_1296 (N5185, N3560, N4497); +nand NAND2_1297 (N5186, N3557, N4498); +nand NAND2_1298 (N5187, N3566, N4499); +nand NAND2_1299 (N5188, N3563, N4500); +nand NAND2_1300 (N5189, N2778, N4501); +nand NAND2_1301 (N5190, N3577, N4503); +nand NAND2_1302 (N5191, N3574, N4504); +nand NAND2_1303 (N5192, N3583, N4505); +nand NAND2_1304 (N5193, N3580, N4506); +nand NAND2_1305 (N5196, N1326, N4508); +nand NAND2_1306 (N5197, N1329, N4510); +nand NAND2_1307 (N5198, N1332, N4512); +nand NAND2_1308 (N5199, N1335, N4514); +nand NAND2_1309 (N5200, N1338, N4516); +nand NAND2_1310 (N5201, N1341, N4518); +nand NAND2_1311 (N5202, N1344, N4520); +nand NAND2_1312 (N5203, N1347, N4522); +nand NAND2_1313 (N5204, N1350, N4524); +nand NAND2_1314 (N5205, N1353, N4526); +nand NAND2_1315 (N5206, N1356, N4528); +nand NAND2_1316 (N5207, N1359, N4530); +nand NAND2_1317 (N5208, N1362, N4532); +nand NAND2_1318 (N5209, N1365, N4534); +nand NAND2_1319 (N5210, N1368, N4536); +nand NAND2_1320 (N5211, N1371, N4538); +nand NAND2_1321 (N5212, N1374, N4540); +nand NAND2_1322 (N5213, N1377, N4542); +nand NAND2_1323 (N5283, N3670, N4611); +nand NAND2_1324 (N5284, N3667, N4612); +nand NAND2_1325 (N5285, N3676, N4613); +nand NAND2_1326 (N5286, N3673, N4614); +nand NAND2_1327 (N5287, N3682, N4615); +nand NAND2_1328 (N5288, N3679, N4616); +nand NAND2_1329 (N5289, N3688, N4617); +nand NAND2_1330 (N5290, N3685, N4618); +nand NAND2_1331 (N5291, N3694, N4619); +nand NAND2_1332 (N5292, N3691, N4620); +nand NAND2_1333 (N5293, N3700, N4621); +nand NAND2_1334 (N5294, N3697, N4622); +nand NAND2_1335 (N5295, N3706, N4623); +nand NAND2_1336 (N5296, N3703, N4624); +nand NAND2_1337 (N5297, N3712, N4625); +nand NAND2_1338 (N5298, N3709, N4626); +nand NAND2_1339 (N5299, N3718, N4627); +nand NAND2_1340 (N5300, N3715, N4628); +nand NAND2_1341 (N5314, N3739, N4643); +nand NAND2_1342 (N5315, N3736, N4644); +nand NAND2_1343 (N5316, N3745, N4645); +nand NAND2_1344 (N5317, N3742, N4646); +nand NAND2_1345 (N5318, N3751, N4647); +nand NAND2_1346 (N5319, N3748, N4648); +nand NAND2_1347 (N5320, N3757, N4649); +nand NAND2_1348 (N5321, N3754, N4650); +nand NAND2_1349 (N5322, N3763, N4651); +nand NAND2_1350 (N5323, N3760, N4652); +not NOT1_1351 (N5324, N4193); +nand NAND2_1352 (N5363, N2781, N4693); +nand NAND2_1353 (N5364, N3772, N4695); +nand NAND2_1354 (N5365, N3769, N4696); +nand NAND2_1355 (N5366, N3778, N4697); +nand NAND2_1356 (N5367, N3775, N4698); +nand NAND2_1357 (N5425, N2790, N4745); +nand NAND2_1358 (N5426, N3813, N4747); +nand NAND2_1359 (N5427, N3810, N4748); +nand NAND2_1360 (N5429, N2793, N4750); +nand NAND2_1361 (N5430, N3825, N4752); +nand NAND2_1362 (N5431, N3822, N4753); +nand NAND2_1363 (N5432, N3831, N4754); +nand NAND2_1364 (N5433, N3828, N4755); +nand NAND2_1365 (N5451, N2796, N4775); +nand NAND2_1366 (N5452, N3864, N4777); +nand NAND2_1367 (N5453, N3861, N4778); +nand NAND2_1368 (N5454, N3870, N4779); +nand NAND2_1369 (N5455, N3867, N4780); +nand NAND2_1370 (N5456, N3888, N4781); +nand NAND2_1371 (N5457, N3885, N4782); +not NOT1_1372 (N5469, N4303); +nand NAND2_1373 (N5474, N3589, N4799); +nand NAND2_1374 (N5475, N3586, N4800); +nand NAND2_1375 (N5476, N3595, N4801); +nand NAND2_1376 (N5477, N3592, N4802); +nand NAND2_1377 (N5571, N3798, N5045); +nand NAND2_1378 (N5572, N3795, N5046); +nand NAND2_1379 (N5573, N3804, N5047); +nand NAND2_1380 (N5574, N3801, N5048); +nand NAND2_1381 (N5584, N3837, N5064); +nand NAND2_1382 (N5585, N3834, N5065); +nand NAND2_1383 (N5586, N3843, N5066); +nand NAND2_1384 (N5587, N3840, N5067); +nand NAND2_1385 (N5602, N3876, N5110); +nand NAND2_1386 (N5603, N3873, N5111); +nand NAND2_1387 (N5604, N3882, N5112); +nand NAND2_1388 (N5605, N3879, N5113); +nand NAND2_1389 (N5631, N5324, N4653); +nand NAND2_1390 (N5632, N4463, N5167); +nand NAND2_1391 (N5640, N4465, N5168); +nand NAND2_1392 (N5654, N4467, N5169); +nand NAND2_1393 (N5670, N4469, N5170); +nand NAND2_1394 (N5683, N4471, N5171); +nand NAND2_1395 (N5690, N4475, N5172); +nand NAND2_1396 (N5697, N4477, N5173); +nand NAND2_1397 (N5707, N4479, N5174); +nand NAND2_1398 (N5718, N4481, N5175); +nand NAND2_1399 (N5728, N4483, N5176); +not NOT1_1400 (N5735, N5177); +nand NAND2_1401 (N5736, N5179, N4490); +nand NAND2_1402 (N5740, N5180, N5181); +nand NAND2_1403 (N5744, N5182, N5183); +nand NAND2_1404 (N5747, N5184, N4496); +nand NAND2_1405 (N5751, N5185, N5186); +nand NAND2_1406 (N5755, N5187, N5188); +nand NAND2_1407 (N5758, N5189, N4502); +nand NAND2_1408 (N5762, N5190, N5191); +nand NAND2_1409 (N5766, N5192, N5193); +not NOT1_1410 (N5769, N4803); +not NOT1_1411 (N5770, N4806); +nand NAND2_1412 (N5771, N4507, N5196); +nand NAND2_1413 (N5778, N4509, N5197); +nand NAND2_1414 (N5789, N4511, N5198); +nand NAND2_1415 (N5799, N4513, N5199); +nand NAND2_1416 (N5807, N4515, N5200); +nand NAND2_1417 (N5821, N4517, N5201); +nand NAND2_1418 (N5837, N4519, N5202); +nand NAND2_1419 (N5850, N4521, N5203); +nand NAND2_1420 (N5856, N4523, N5204); +nand NAND2_1421 (N5863, N4525, N5205); +nand NAND2_1422 (N5870, N4527, N5206); +nand NAND2_1423 (N5881, N4529, N5207); +nand NAND2_1424 (N5892, N4531, N5208); +nand NAND2_1425 (N5898, N4533, N5209); +nand NAND2_1426 (N5905, N4535, N5210); +nand NAND2_1427 (N5915, N4537, N5211); +nand NAND2_1428 (N5926, N4539, N5212); +nand NAND2_1429 (N5936, N4541, N5213); +not NOT1_1430 (N5943, N4817); +nand NAND2_1431 (N5944, N4820, N1931); +not NOT1_1432 (N5945, N4820); +nand NAND2_1433 (N5946, N4823, N1932); +not NOT1_1434 (N5947, N4823); +nand NAND2_1435 (N5948, N4826, N1933); +not NOT1_1436 (N5949, N4826); +nand NAND2_1437 (N5950, N4829, N1934); +not NOT1_1438 (N5951, N4829); +nand NAND2_1439 (N5952, N4832, N1935); +not NOT1_1440 (N5953, N4832); +nand NAND2_1441 (N5954, N4835, N1936); +not NOT1_1442 (N5955, N4835); +nand NAND2_1443 (N5956, N4838, N1937); +not NOT1_1444 (N5957, N4838); +nand NAND2_1445 (N5958, N4841, N1938); +not NOT1_1446 (N5959, N4841); +and AND2_1447 (N5960, N2674, N4769); +not NOT1_1448 (N5966, N4844); +nand NAND2_1449 (N5967, N4847, N1939); +not NOT1_1450 (N5968, N4847); +nand NAND2_1451 (N5969, N4850, N1940); +not NOT1_1452 (N5970, N4850); +nand NAND2_1453 (N5971, N4853, N1941); +not NOT1_1454 (N5972, N4853); +nand NAND2_1455 (N5973, N4856, N1942); +not NOT1_1456 (N5974, N4856); +nand NAND2_1457 (N5975, N4859, N1943); +not NOT1_1458 (N5976, N4859); +nand NAND2_1459 (N5977, N4862, N1944); +not NOT1_1460 (N5978, N4862); +nand NAND2_1461 (N5979, N4865, N1945); +not NOT1_1462 (N5980, N4865); +and AND2_1463 (N5981, N2674, N4769); +nand NAND2_1464 (N5989, N4868, N1946); +not NOT1_1465 (N5990, N4868); +nand NAND2_1466 (N5991, N5283, N5284); +nand NAND2_1467 (N5996, N5285, N5286); +nand NAND2_1468 (N6000, N5287, N5288); +nand NAND2_1469 (N6003, N5289, N5290); +nand NAND2_1470 (N6009, N5291, N5292); +nand NAND2_1471 (N6014, N5293, N5294); +nand NAND2_1472 (N6018, N5295, N5296); +nand NAND2_1473 (N6021, N5297, N5298); +nand NAND2_1474 (N6022, N5299, N5300); +not NOT1_1475 (N6023, N4874); +nand NAND2_1476 (N6024, N4874, N4629); +not NOT1_1477 (N6025, N4877); +nand NAND2_1478 (N6026, N4877, N4631); +not NOT1_1479 (N6027, N4880); +nand NAND2_1480 (N6028, N4880, N4633); +not NOT1_1481 (N6029, N4883); +nand NAND2_1482 (N6030, N4883, N4636); +not NOT1_1483 (N6031, N4886); +not NOT1_1484 (N6032, N4889); +not NOT1_1485 (N6033, N4892); +not NOT1_1486 (N6034, N4895); +not NOT1_1487 (N6035, N4898); +not NOT1_1488 (N6036, N4901); +not NOT1_1489 (N6037, N4904); +nand NAND2_1490 (N6038, N4904, N4642); +not NOT1_1491 (N6039, N4907); +not NOT1_1492 (N6040, N4910); +nand NAND2_1493 (N6041, N5314, N5315); +nand NAND2_1494 (N6047, N5316, N5317); +nand NAND2_1495 (N6052, N5318, N5319); +nand NAND2_1496 (N6056, N5320, N5321); +nand NAND2_1497 (N6059, N5322, N5323); +nand NAND2_1498 (N6060, N4913, N1968); +not NOT1_1499 (N6061, N4913); +nand NAND2_1500 (N6062, N4916, N1969); +not NOT1_1501 (N6063, N4916); +nand NAND2_1502 (N6064, N4919, N1970); +not NOT1_1503 (N6065, N4919); +nand NAND2_1504 (N6066, N4922, N1971); +not NOT1_1505 (N6067, N4922); +nand NAND2_1506 (N6068, N4925, N1972); +not NOT1_1507 (N6069, N4925); +nand NAND2_1508 (N6070, N4928, N1973); +not NOT1_1509 (N6071, N4928); +nand NAND2_1510 (N6072, N4931, N1974); +not NOT1_1511 (N6073, N4931); +nand NAND2_1512 (N6074, N4934, N1975); +not NOT1_1513 (N6075, N4934); +nand NAND2_1514 (N6076, N4937, N1976); +not NOT1_1515 (N6077, N4937); +not NOT1_1516 (N6078, N4940); +nand NAND2_1517 (N6079, N5363, N4694); +nand NAND2_1518 (N6083, N5364, N5365); +nand NAND2_1519 (N6087, N5366, N5367); +not NOT1_1520 (N6090, N4943); +nand NAND2_1521 (N6091, N4943, N4699); +not NOT1_1522 (N6092, N4946); +not NOT1_1523 (N6093, N4949); +not NOT1_1524 (N6094, N4952); +not NOT1_1525 (N6095, N4955); +not NOT1_1526 (N6096, N4970); +nand NAND2_1527 (N6097, N4970, N4700); +not NOT1_1528 (N6098, N4973); +not NOT1_1529 (N6099, N4976); +not NOT1_1530 (N6100, N4979); +not NOT1_1531 (N6101, N4982); +not NOT1_1532 (N6102, N4997); +nand NAND2_1533 (N6103, N5000, N2015); +not NOT1_1534 (N6104, N5000); +nand NAND2_1535 (N6105, N5003, N2016); +not NOT1_1536 (N6106, N5003); +nand NAND2_1537 (N6107, N5006, N2017); +not NOT1_1538 (N6108, N5006); +nand NAND2_1539 (N6109, N5009, N2018); +not NOT1_1540 (N6110, N5009); +nand NAND2_1541 (N6111, N5012, N2019); +not NOT1_1542 (N6112, N5012); +nand NAND2_1543 (N6113, N5015, N2020); +not NOT1_1544 (N6114, N5015); +nand NAND2_1545 (N6115, N5018, N2021); +not NOT1_1546 (N6116, N5018); +nand NAND2_1547 (N6117, N5021, N2022); +not NOT1_1548 (N6118, N5021); +nand NAND2_1549 (N6119, N5024, N2023); +not NOT1_1550 (N6120, N5024); +not NOT1_1551 (N6121, N5033); +nand NAND2_1552 (N6122, N5033, N4743); +not NOT1_1553 (N6123, N5036); +not NOT1_1554 (N6124, N5039); +nand NAND2_1555 (N6125, N5042, N4744); +not NOT1_1556 (N6126, N5042); +nand NAND2_1557 (N6127, N5425, N4746); +nand NAND2_1558 (N6131, N5426, N5427); +not NOT1_1559 (N6135, N5049); +nand NAND2_1560 (N6136, N5049, N4749); +nand NAND2_1561 (N6137, N5429, N4751); +nand NAND2_1562 (N6141, N5430, N5431); +nand NAND2_1563 (N6145, N5432, N5433); +not NOT1_1564 (N6148, N5068); +not NOT1_1565 (N6149, N5071); +not NOT1_1566 (N6150, N5074); +not NOT1_1567 (N6151, N5077); +not NOT1_1568 (N6152, N5080); +not NOT1_1569 (N6153, N5083); +not NOT1_1570 (N6154, N5086); +not NOT1_1571 (N6155, N5089); +not NOT1_1572 (N6156, N5092); +nand NAND2_1573 (N6157, N5092, N4761); +not NOT1_1574 (N6158, N5095); +nand NAND2_1575 (N6159, N5095, N4763); +not NOT1_1576 (N6160, N5098); +nand NAND2_1577 (N6161, N5098, N4765); +not NOT1_1578 (N6162, N5101); +not NOT1_1579 (N6163, N5104); +nand NAND2_1580 (N6164, N5107, N4768); +not NOT1_1581 (N6165, N5107); +nand NAND2_1582 (N6166, N5451, N4776); +nand NAND2_1583 (N6170, N5452, N5453); +nand NAND2_1584 (N6174, N5454, N5455); +nand NAND2_1585 (N6177, N5456, N5457); +not NOT1_1586 (N6181, N5114); +not NOT1_1587 (N6182, N5117); +not NOT1_1588 (N6183, N5120); +not NOT1_1589 (N6184, N5123); +not NOT1_1590 (N6185, N5138); +nand NAND2_1591 (N6186, N5138, N4783); +not NOT1_1592 (N6187, N5141); +not NOT1_1593 (N6188, N5144); +not NOT1_1594 (N6189, N5147); +not NOT1_1595 (N6190, N5150); +not NOT1_1596 (N6191, N4784); +nand NAND2_1597 (N6192, N4784, N2230); +not NOT1_1598 (N6193, N4790); +nand NAND2_1599 (N6194, N4790, N2765); +not NOT1_1600 (N6195, N4796); +nand NAND2_1601 (N6196, N5476, N5477); +nand NAND2_1602 (N6199, N5474, N5475); +not NOT1_1603 (N6202, N4810); +not NOT1_1604 (N6203, N4814); +buf BUFF1_1605 (N6204, N4769); +buf BUFF1_1606 (N6207, N4555); +buf BUFF1_1607 (N6210, N4769); +not NOT1_1608 (N6213, N4871); +buf BUFF1_1609 (N6214, N4586); +nor NOR2_1610 (N6217, N2674, N4769); +buf BUFF1_1611 (N6220, N4667); +not NOT1_1612 (N6223, N4958); +not NOT1_1613 (N6224, N4961); +not NOT1_1614 (N6225, N4964); +not NOT1_1615 (N6226, N4967); +not NOT1_1616 (N6227, N4985); +not NOT1_1617 (N6228, N4988); +not NOT1_1618 (N6229, N4991); +not NOT1_1619 (N6230, N4994); +not NOT1_1620 (N6231, N5027); +buf BUFF1_1621 (N6232, N4711); +not NOT1_1622 (N6235, N5030); +buf BUFF1_1623 (N6236, N4735); +not NOT1_1624 (N6239, N5052); +not NOT1_1625 (N6240, N5055); +not NOT1_1626 (N6241, N5058); +not NOT1_1627 (N6242, N5061); +nand NAND2_1628 (N6243, N5573, N5574); +nand NAND2_1629 (N6246, N5571, N5572); +nand NAND2_1630 (N6249, N5586, N5587); +nand NAND2_1631 (N6252, N5584, N5585); +not NOT1_1632 (N6255, N5126); +not NOT1_1633 (N6256, N5129); +not NOT1_1634 (N6257, N5132); +not NOT1_1635 (N6258, N5135); +not NOT1_1636 (N6259, N5153); +not NOT1_1637 (N6260, N5156); +not NOT1_1638 (N6261, N5159); +not NOT1_1639 (N6262, N5162); +nand NAND2_1640 (N6263, N5604, N5605); +nand NAND2_1641 (N6266, N5602, N5603); +nand NAND2_1642 (N6540, N1380, N5945); +nand NAND2_1643 (N6541, N1383, N5947); +nand NAND2_1644 (N6542, N1386, N5949); +nand NAND2_1645 (N6543, N1389, N5951); +nand NAND2_1646 (N6544, N1392, N5953); +nand NAND2_1647 (N6545, N1395, N5955); +nand NAND2_1648 (N6546, N1398, N5957); +nand NAND2_1649 (N6547, N1401, N5959); +nand NAND2_1650 (N6555, N1404, N5968); +nand NAND2_1651 (N6556, N1407, N5970); +nand NAND2_1652 (N6557, N1410, N5972); +nand NAND2_1653 (N6558, N1413, N5974); +nand NAND2_1654 (N6559, N1416, N5976); +nand NAND2_1655 (N6560, N1419, N5978); +nand NAND2_1656 (N6561, N1422, N5980); +nand NAND2_1657 (N6569, N1425, N5990); +nand NAND2_1658 (N6594, N3721, N6023); +nand NAND2_1659 (N6595, N3724, N6025); +nand NAND2_1660 (N6596, N3727, N6027); +nand NAND2_1661 (N6597, N3730, N6029); +nand NAND2_1662 (N6598, N4889, N6031); +nand NAND2_1663 (N6599, N4886, N6032); +nand NAND2_1664 (N6600, N4895, N6033); +nand NAND2_1665 (N6601, N4892, N6034); +nand NAND2_1666 (N6602, N4901, N6035); +nand NAND2_1667 (N6603, N4898, N6036); +nand NAND2_1668 (N6604, N3733, N6037); +nand NAND2_1669 (N6605, N4910, N6039); +nand NAND2_1670 (N6606, N4907, N6040); +nand NAND2_1671 (N6621, N1434, N6061); +nand NAND2_1672 (N6622, N1437, N6063); +nand NAND2_1673 (N6623, N1440, N6065); +nand NAND2_1674 (N6624, N1443, N6067); +nand NAND2_1675 (N6625, N1446, N6069); +nand NAND2_1676 (N6626, N1449, N6071); +nand NAND2_1677 (N6627, N1452, N6073); +nand NAND2_1678 (N6628, N1455, N6075); +nand NAND2_1679 (N6629, N1458, N6077); +nand NAND2_1680 (N6639, N3783, N6090); +nand NAND2_1681 (N6640, N4949, N6092); +nand NAND2_1682 (N6641, N4946, N6093); +nand NAND2_1683 (N6642, N4955, N6094); +nand NAND2_1684 (N6643, N4952, N6095); +nand NAND2_1685 (N6644, N3786, N6096); +nand NAND2_1686 (N6645, N4976, N6098); +nand NAND2_1687 (N6646, N4973, N6099); +nand NAND2_1688 (N6647, N4982, N6100); +nand NAND2_1689 (N6648, N4979, N6101); +nand NAND2_1690 (N6649, N1461, N6104); +nand NAND2_1691 (N6650, N1464, N6106); +nand NAND2_1692 (N6651, N1467, N6108); +nand NAND2_1693 (N6652, N1470, N6110); +nand NAND2_1694 (N6653, N1473, N6112); +nand NAND2_1695 (N6654, N1476, N6114); +nand NAND2_1696 (N6655, N1479, N6116); +nand NAND2_1697 (N6656, N1482, N6118); +nand NAND2_1698 (N6657, N1485, N6120); +nand NAND2_1699 (N6658, N3789, N6121); +nand NAND2_1700 (N6659, N5039, N6123); +nand NAND2_1701 (N6660, N5036, N6124); +nand NAND2_1702 (N6661, N3792, N6126); +nand NAND2_1703 (N6668, N3816, N6135); +nand NAND2_1704 (N6677, N5071, N6148); +nand NAND2_1705 (N6678, N5068, N6149); +nand NAND2_1706 (N6679, N5077, N6150); +nand NAND2_1707 (N6680, N5074, N6151); +nand NAND2_1708 (N6681, N5083, N6152); +nand NAND2_1709 (N6682, N5080, N6153); +nand NAND2_1710 (N6683, N5089, N6154); +nand NAND2_1711 (N6684, N5086, N6155); +nand NAND2_1712 (N6685, N3846, N6156); +nand NAND2_1713 (N6686, N3849, N6158); +nand NAND2_1714 (N6687, N3852, N6160); +nand NAND2_1715 (N6688, N5104, N6162); +nand NAND2_1716 (N6689, N5101, N6163); +nand NAND2_1717 (N6690, N3855, N6165); +nand NAND2_1718 (N6702, N5117, N6181); +nand NAND2_1719 (N6703, N5114, N6182); +nand NAND2_1720 (N6704, N5123, N6183); +nand NAND2_1721 (N6705, N5120, N6184); +nand NAND2_1722 (N6706, N3891, N6185); +nand NAND2_1723 (N6707, N5144, N6187); +nand NAND2_1724 (N6708, N5141, N6188); +nand NAND2_1725 (N6709, N5150, N6189); +nand NAND2_1726 (N6710, N5147, N6190); +nand NAND2_1727 (N6711, N1708, N6191); +nand NAND2_1728 (N6712, N2231, N6193); +nand NAND2_1729 (N6729, N4961, N6223); +nand NAND2_1730 (N6730, N4958, N6224); +nand NAND2_1731 (N6731, N4967, N6225); +nand NAND2_1732 (N6732, N4964, N6226); +nand NAND2_1733 (N6733, N4988, N6227); +nand NAND2_1734 (N6734, N4985, N6228); +nand NAND2_1735 (N6735, N4994, N6229); +nand NAND2_1736 (N6736, N4991, N6230); +nand NAND2_1737 (N6741, N5055, N6239); +nand NAND2_1738 (N6742, N5052, N6240); +nand NAND2_1739 (N6743, N5061, N6241); +nand NAND2_1740 (N6744, N5058, N6242); +nand NAND2_1741 (N6751, N5129, N6255); +nand NAND2_1742 (N6752, N5126, N6256); +nand NAND2_1743 (N6753, N5135, N6257); +nand NAND2_1744 (N6754, N5132, N6258); +nand NAND2_1745 (N6755, N5156, N6259); +nand NAND2_1746 (N6756, N5153, N6260); +nand NAND2_1747 (N6757, N5162, N6261); +nand NAND2_1748 (N6758, N5159, N6262); +not NOT1_1749 (N6761, N5892); +and AND5_1750 (N6762, N5683, N5670, N5654, N5640, N5632); +and AND2_1751 (N6766, N5632, N3097); +and AND3_1752 (N6767, N5640, N5632, N3101); +and AND4_1753 (N6768, N5654, N5632, N3107, N5640); +and AND5_1754 (N6769, N5670, N5654, N5632, N3114, N5640); +and AND2_1755 (N6770, N5640, N3101); +and AND3_1756 (N6771, N5654, N3107, N5640); +and AND4_1757 (N6772, N5670, N5654, N3114, N5640); +and AND4_1758 (N6773, N5683, N5654, N5640, N5670); +and AND2_1759 (N6774, N5640, N3101); +and AND3_1760 (N6775, N5654, N3107, N5640); +and AND4_1761 (N6776, N5670, N5654, N3114, N5640); +and AND2_1762 (N6777, N5654, N3107); +and AND3_1763 (N6778, N5670, N5654, N3114); +and AND3_1764 (N6779, N5683, N5654, N5670); +and AND2_1765 (N6780, N5654, N3107); +and AND3_1766 (N6781, N5670, N5654, N3114); +and AND2_1767 (N6782, N5670, N3114); +and AND2_1768 (N6783, N5683, N5670); +and AND5_1769 (N6784, N5697, N5728, N5707, N5690, N5718); +and AND2_1770 (N6787, N5690, N3137); +and AND3_1771 (N6788, N5697, N5690, N3140); +and AND4_1772 (N6789, N5707, N5690, N3144, N5697); +and AND5_1773 (N6790, N5718, N5707, N5690, N3149, N5697); +and AND2_1774 (N6791, N5697, N3140); +and AND3_1775 (N6792, N5707, N3144, N5697); +and AND4_1776 (N6793, N5718, N5707, N3149, N5697); +and AND2_1777 (N6794, N3144, N5707); +and AND3_1778 (N6795, N5718, N5707, N3149); +and AND2_1779 (N6796, N5718, N3149); +not NOT1_1780 (N6797, N5736); +not NOT1_1781 (N6800, N5740); +not NOT1_1782 (N6803, N5747); +not NOT1_1783 (N6806, N5751); +not NOT1_1784 (N6809, N5758); +not NOT1_1785 (N6812, N5762); +buf BUFF1_1786 (N6815, N5744); +buf BUFF1_1787 (N6818, N5744); +buf BUFF1_1788 (N6821, N5755); +buf BUFF1_1789 (N6824, N5755); +buf BUFF1_1790 (N6827, N5766); +buf BUFF1_1791 (N6830, N5766); +and AND4_1792 (N6833, N5850, N5789, N5778, N5771); +and AND2_1793 (N6836, N5771, N3169); +and AND3_1794 (N6837, N5778, N5771, N3173); +and AND4_1795 (N6838, N5789, N5771, N3178, N5778); +and AND2_1796 (N6839, N5778, N3173); +and AND3_1797 (N6840, N5789, N3178, N5778); +and AND3_1798 (N6841, N5850, N5789, N5778); +and AND2_1799 (N6842, N5778, N3173); +and AND3_1800 (N6843, N5789, N3178, N5778); +and AND2_1801 (N6844, N5789, N3178); +and AND5_1802 (N6845, N5856, N5837, N5821, N5807, N5799); +and AND2_1803 (N6848, N5799, N3185); +and AND3_1804 (N6849, N5807, N5799, N3189); +and AND4_1805 (N6850, N5821, N5799, N3195, N5807); +and AND5_1806 (N6851, N5837, N5821, N5799, N3202, N5807); +and AND2_1807 (N6852, N5807, N3189); +and AND3_1808 (N6853, N5821, N3195, N5807); +and AND4_1809 (N6854, N5837, N5821, N3202, N5807); +and AND4_1810 (N6855, N5856, N5821, N5807, N5837); +and AND2_1811 (N6856, N5807, N3189); +and AND3_1812 (N6857, N5821, N3195, N5807); +and AND4_1813 (N6858, N5837, N5821, N3202, N5807); +and AND2_1814 (N6859, N5821, N3195); +and AND3_1815 (N6860, N5837, N5821, N3202); +and AND3_1816 (N6861, N5856, N5821, N5837); +and AND2_1817 (N6862, N5821, N3195); +and AND3_1818 (N6863, N5837, N5821, N3202); +and AND2_1819 (N6864, N5837, N3202); +and AND2_1820 (N6865, N5850, N5789); +and AND2_1821 (N6866, N5856, N5837); +and AND4_1822 (N6867, N5870, N5892, N5881, N5863); +and AND2_1823 (N6870, N5863, N3211); +and AND3_1824 (N6871, N5870, N5863, N3215); +and AND4_1825 (N6872, N5881, N5863, N3221, N5870); +and AND2_1826 (N6873, N5870, N3215); +and AND3_1827 (N6874, N5881, N3221, N5870); +and AND3_1828 (N6875, N5892, N5881, N5870); +and AND2_1829 (N6876, N5870, N3215); +and AND3_1830 (N6877, N3221, N5881, N5870); +and AND2_1831 (N6878, N5881, N3221); +and AND2_1832 (N6879, N5892, N5881); +and AND2_1833 (N6880, N5881, N3221); +and AND5_1834 (N6881, N5905, N5936, N5915, N5898, N5926); +and AND2_1835 (N6884, N5898, N3229); +and AND3_1836 (N6885, N5905, N5898, N3232); +and AND4_1837 (N6886, N5915, N5898, N3236, N5905); +and AND5_1838 (N6887, N5926, N5915, N5898, N3241, N5905); +and AND2_1839 (N6888, N5905, N3232); +and AND3_1840 (N6889, N5915, N3236, N5905); +and AND4_1841 (N6890, N5926, N5915, N3241, N5905); +and AND2_1842 (N6891, N3236, N5915); +and AND3_1843 (N6892, N5926, N5915, N3241); +and AND2_1844 (N6893, N5926, N3241); +nand NAND2_1845 (N6894, N5944, N6540); +nand NAND2_1846 (N6901, N5946, N6541); +nand NAND2_1847 (N6912, N5948, N6542); +nand NAND2_1848 (N6923, N5950, N6543); +nand NAND2_1849 (N6929, N5952, N6544); +nand NAND2_1850 (N6936, N5954, N6545); +nand NAND2_1851 (N6946, N5956, N6546); +nand NAND2_1852 (N6957, N5958, N6547); +nand NAND2_1853 (N6967, N6204, N4575); +not NOT1_1854 (N6968, N6204); +not NOT1_1855 (N6969, N6207); +nand NAND2_1856 (N6970, N5967, N6555); +nand NAND2_1857 (N6977, N5969, N6556); +nand NAND2_1858 (N6988, N5971, N6557); +nand NAND2_1859 (N6998, N5973, N6558); +nand NAND2_1860 (N7006, N5975, N6559); +nand NAND2_1861 (N7020, N5977, N6560); +nand NAND2_1862 (N7036, N5979, N6561); +nand NAND2_1863 (N7049, N5989, N6569); +nand NAND2_1864 (N7055, N6210, N4610); +not NOT1_1865 (N7056, N6210); +and AND4_1866 (N7057, N6021, N6000, N5996, N5991); +and AND2_1867 (N7060, N5991, N3362); +and AND3_1868 (N7061, N5996, N5991, N3363); +and AND4_1869 (N7062, N6000, N5991, N3364, N5996); +and AND5_1870 (N7063, N6022, N6018, N6014, N6009, N6003); +and AND2_1871 (N7064, N6003, N3366); +and AND3_1872 (N7065, N6009, N6003, N3367); +and AND4_1873 (N7066, N6014, N6003, N3368, N6009); +and AND5_1874 (N7067, N6018, N6014, N6003, N3369, N6009); +nand NAND2_1875 (N7068, N6594, N6024); +nand NAND2_1876 (N7073, N6595, N6026); +nand NAND2_1877 (N7077, N6596, N6028); +nand NAND2_1878 (N7080, N6597, N6030); +nand NAND2_1879 (N7086, N6598, N6599); +nand NAND2_1880 (N7091, N6600, N6601); +nand NAND2_1881 (N7095, N6602, N6603); +nand NAND2_1882 (N7098, N6604, N6038); +nand NAND2_1883 (N7099, N6605, N6606); +and AND5_1884 (N7100, N6059, N6056, N6052, N6047, N6041); +and AND2_1885 (N7103, N6041, N3371); +and AND3_1886 (N7104, N6047, N6041, N3372); +and AND4_1887 (N7105, N6052, N6041, N3373, N6047); +and AND5_1888 (N7106, N6056, N6052, N6041, N3374, N6047); +nand NAND2_1889 (N7107, N6060, N6621); +nand NAND2_1890 (N7114, N6062, N6622); +nand NAND2_1891 (N7125, N6064, N6623); +nand NAND2_1892 (N7136, N6066, N6624); +nand NAND2_1893 (N7142, N6068, N6625); +nand NAND2_1894 (N7149, N6070, N6626); +nand NAND2_1895 (N7159, N6072, N6627); +nand NAND2_1896 (N7170, N6074, N6628); +nand NAND2_1897 (N7180, N6076, N6629); +not NOT1_1898 (N7187, N6220); +not NOT1_1899 (N7188, N6079); +not NOT1_1900 (N7191, N6083); +nand NAND2_1901 (N7194, N6639, N6091); +nand NAND2_1902 (N7198, N6640, N6641); +nand NAND2_1903 (N7202, N6642, N6643); +nand NAND2_1904 (N7205, N6644, N6097); +nand NAND2_1905 (N7209, N6645, N6646); +nand NAND2_1906 (N7213, N6647, N6648); +buf BUFF1_1907 (N7216, N6087); +buf BUFF1_1908 (N7219, N6087); +nand NAND2_1909 (N7222, N6103, N6649); +nand NAND2_1910 (N7229, N6105, N6650); +nand NAND2_1911 (N7240, N6107, N6651); +nand NAND2_1912 (N7250, N6109, N6652); +nand NAND2_1913 (N7258, N6111, N6653); +nand NAND2_1914 (N7272, N6113, N6654); +nand NAND2_1915 (N7288, N6115, N6655); +nand NAND2_1916 (N7301, N6117, N6656); +nand NAND2_1917 (N7307, N6119, N6657); +nand NAND2_1918 (N7314, N6658, N6122); +nand NAND2_1919 (N7318, N6659, N6660); +nand NAND2_1920 (N7322, N6125, N6661); +not NOT1_1921 (N7325, N6127); +not NOT1_1922 (N7328, N6131); +nand NAND2_1923 (N7331, N6668, N6136); +not NOT1_1924 (N7334, N6137); +not NOT1_1925 (N7337, N6141); +buf BUFF1_1926 (N7340, N6145); +buf BUFF1_1927 (N7343, N6145); +nand NAND2_1928 (N7346, N6677, N6678); +nand NAND2_1929 (N7351, N6679, N6680); +nand NAND2_1930 (N7355, N6681, N6682); +nand NAND2_1931 (N7358, N6683, N6684); +nand NAND2_1932 (N7364, N6685, N6157); +nand NAND2_1933 (N7369, N6686, N6159); +nand NAND2_1934 (N7373, N6687, N6161); +nand NAND2_1935 (N7376, N6688, N6689); +nand NAND2_1936 (N7377, N6164, N6690); +not NOT1_1937 (N7378, N6166); +not NOT1_1938 (N7381, N6170); +not NOT1_1939 (N7384, N6177); +nand NAND2_1940 (N7387, N6702, N6703); +nand NAND2_1941 (N7391, N6704, N6705); +nand NAND2_1942 (N7394, N6706, N6186); +nand NAND2_1943 (N7398, N6707, N6708); +nand NAND2_1944 (N7402, N6709, N6710); +buf BUFF1_1945 (N7405, N6174); +buf BUFF1_1946 (N7408, N6174); +buf BUFF1_1947 (N7411, N5936); +buf BUFF1_1948 (N7414, N5898); +buf BUFF1_1949 (N7417, N5905); +buf BUFF1_1950 (N7420, N5915); +buf BUFF1_1951 (N7423, N5926); +buf BUFF1_1952 (N7426, N5728); +buf BUFF1_1953 (N7429, N5690); +buf BUFF1_1954 (N7432, N5697); +buf BUFF1_1955 (N7435, N5707); +buf BUFF1_1956 (N7438, N5718); +nand NAND2_1957 (N7441, N6192, N6711); +nand NAND2_1958 (N7444, N6194, N6712); +buf BUFF1_1959 (N7447, N5683); +buf BUFF1_1960 (N7450, N5670); +buf BUFF1_1961 (N7453, N5632); +buf BUFF1_1962 (N7456, N5654); +buf BUFF1_1963 (N7459, N5640); +buf BUFF1_1964 (N7462, N5640); +buf BUFF1_1965 (N7465, N5683); +buf BUFF1_1966 (N7468, N5670); +buf BUFF1_1967 (N7471, N5632); +buf BUFF1_1968 (N7474, N5654); +not NOT1_1969 (N7477, N6196); +not NOT1_1970 (N7478, N6199); +buf BUFF1_1971 (N7479, N5850); +buf BUFF1_1972 (N7482, N5789); +buf BUFF1_1973 (N7485, N5771); +buf BUFF1_1974 (N7488, N5778); +buf BUFF1_1975 (N7491, N5850); +buf BUFF1_1976 (N7494, N5789); +buf BUFF1_1977 (N7497, N5771); +buf BUFF1_1978 (N7500, N5778); +buf BUFF1_1979 (N7503, N5856); +buf BUFF1_1980 (N7506, N5837); +buf BUFF1_1981 (N7509, N5799); +buf BUFF1_1982 (N7512, N5821); +buf BUFF1_1983 (N7515, N5807); +buf BUFF1_1984 (N7518, N5807); +buf BUFF1_1985 (N7521, N5856); +buf BUFF1_1986 (N7524, N5837); +buf BUFF1_1987 (N7527, N5799); +buf BUFF1_1988 (N7530, N5821); +buf BUFF1_1989 (N7533, N5863); +buf BUFF1_1990 (N7536, N5863); +buf BUFF1_1991 (N7539, N5870); +buf BUFF1_1992 (N7542, N5870); +buf BUFF1_1993 (N7545, N5881); +buf BUFF1_1994 (N7548, N5881); +not NOT1_1995 (N7551, N6214); +not NOT1_1996 (N7552, N6217); +buf BUFF1_1997 (N7553, N5981); +not NOT1_1998 (N7556, N6249); +not NOT1_1999 (N7557, N6252); +not NOT1_2000 (N7558, N6243); +not NOT1_2001 (N7559, N6246); +nand NAND2_2002 (N7560, N6731, N6732); +nand NAND2_2003 (N7563, N6729, N6730); +nand NAND2_2004 (N7566, N6735, N6736); +nand NAND2_2005 (N7569, N6733, N6734); +not NOT1_2006 (N7572, N6232); +not NOT1_2007 (N7573, N6236); +nand NAND2_2008 (N7574, N6743, N6744); +nand NAND2_2009 (N7577, N6741, N6742); +not NOT1_2010 (N7580, N6263); +not NOT1_2011 (N7581, N6266); +nand NAND2_2012 (N7582, N6753, N6754); +nand NAND2_2013 (N7585, N6751, N6752); +nand NAND2_2014 (N7588, N6757, N6758); +nand NAND2_2015 (N7591, N6755, N6756); +or OR5_2016 (N7609, N3096, N6766, N6767, N6768, N6769); +or OR2_2017 (N7613, N3107, N6782); +or OR5_2018 (N7620, N3136, N6787, N6788, N6789, N6790); +or OR4_2019 (N7649, N3168, N6836, N6837, N6838); +or OR2_2020 (N7650, N3173, N6844); +or OR5_2021 (N7655, N3184, N6848, N6849, N6850, N6851); +or OR2_2022 (N7659, N3195, N6864); +or OR4_2023 (N7668, N3210, N6870, N6871, N6872); +or OR5_2024 (N7671, N3228, N6884, N6885, N6886, N6887); +nand NAND2_2025 (N7744, N3661, N6968); +nand NAND2_2026 (N7822, N3664, N7056); +or OR4_2027 (N7825, N3361, N7060, N7061, N7062); +or OR5_2028 (N7826, N3365, N7064, N7065, N7066, N7067); +or OR5_2029 (N7852, N3370, N7103, N7104, N7105, N7106); +or OR4_2030 (N8114, N3101, N6777, N6778, N6779); +or OR5_2031 (N8117, N3097, N6770, N6771, N6772, N6773); +nor NOR3_2032 (N8131, N3101, N6780, N6781); +nor NOR4_2033 (N8134, N3097, N6774, N6775, N6776); +nand NAND2_2034 (N8144, N6199, N7477); +nand NAND2_2035 (N8145, N6196, N7478); +or OR4_2036 (N8146, N3169, N6839, N6840, N6841); +nor NOR3_2037 (N8156, N3169, N6842, N6843); +or OR4_2038 (N8166, N3189, N6859, N6860, N6861); +or OR5_2039 (N8169, N3185, N6852, N6853, N6854, N6855); +nor NOR3_2040 (N8183, N3189, N6862, N6863); +nor NOR4_2041 (N8186, N3185, N6856, N6857, N6858); +or OR4_2042 (N8196, N3211, N6873, N6874, N6875); +nor NOR3_2043 (N8200, N3211, N6876, N6877); +or OR3_2044 (N8204, N3215, N6878, N6879); +nor NOR2_2045 (N8208, N3215, N6880); +nand NAND2_2046 (N8216, N6252, N7556); +nand NAND2_2047 (N8217, N6249, N7557); +nand NAND2_2048 (N8218, N6246, N7558); +nand NAND2_2049 (N8219, N6243, N7559); +nand NAND2_2050 (N8232, N6266, N7580); +nand NAND2_2051 (N8233, N6263, N7581); +not NOT1_2052 (N8242, N7411); +not NOT1_2053 (N8243, N7414); +not NOT1_2054 (N8244, N7417); +not NOT1_2055 (N8245, N7420); +not NOT1_2056 (N8246, N7423); +not NOT1_2057 (N8247, N7426); +not NOT1_2058 (N8248, N7429); +not NOT1_2059 (N8249, N7432); +not NOT1_2060 (N8250, N7435); +not NOT1_2061 (N8251, N7438); +not NOT1_2062 (N8252, N7136); +not NOT1_2063 (N8253, N6923); +not NOT1_2064 (N8254, N6762); +not NOT1_2065 (N8260, N7459); +not NOT1_2066 (N8261, N7462); +and AND2_2067 (N8262, N3122, N6762); +and AND2_2068 (N8269, N3155, N6784); +not NOT1_2069 (N8274, N6815); +not NOT1_2070 (N8275, N6818); +not NOT1_2071 (N8276, N6821); +not NOT1_2072 (N8277, N6824); +not NOT1_2073 (N8278, N6827); +not NOT1_2074 (N8279, N6830); +and AND3_2075 (N8280, N5740, N5736, N6815); +and AND3_2076 (N8281, N6800, N6797, N6818); +and AND3_2077 (N8282, N5751, N5747, N6821); +and AND3_2078 (N8283, N6806, N6803, N6824); +and AND3_2079 (N8284, N5762, N5758, N6827); +and AND3_2080 (N8285, N6812, N6809, N6830); +not NOT1_2081 (N8288, N6845); +not NOT1_2082 (N8294, N7488); +not NOT1_2083 (N8295, N7500); +not NOT1_2084 (N8296, N7515); +not NOT1_2085 (N8297, N7518); +and AND2_2086 (N8298, N6833, N6845); +and AND2_2087 (N8307, N6867, N6881); +not NOT1_2088 (N8315, N7533); +not NOT1_2089 (N8317, N7536); +not NOT1_2090 (N8319, N7539); +not NOT1_2091 (N8321, N7542); +nand NAND2_2092 (N8322, N7545, N4543); +not NOT1_2093 (N8323, N7545); +nand NAND2_2094 (N8324, N7548, N5943); +not NOT1_2095 (N8325, N7548); +nand NAND2_2096 (N8326, N6967, N7744); +and AND4_2097 (N8333, N6901, N6923, N6912, N6894); +and AND2_2098 (N8337, N6894, N4545); +and AND3_2099 (N8338, N6901, N6894, N4549); +and AND4_2100 (N8339, N6912, N6894, N4555, N6901); +and AND2_2101 (N8340, N6901, N4549); +and AND3_2102 (N8341, N6912, N4555, N6901); +and AND3_2103 (N8342, N6923, N6912, N6901); +and AND2_2104 (N8343, N6901, N4549); +and AND3_2105 (N8344, N4555, N6912, N6901); +and AND2_2106 (N8345, N6912, N4555); +and AND2_2107 (N8346, N6923, N6912); +and AND2_2108 (N8347, N6912, N4555); +and AND2_2109 (N8348, N6929, N4563); +and AND3_2110 (N8349, N6936, N6929, N4566); +and AND4_2111 (N8350, N6946, N6929, N4570, N6936); +and AND5_2112 (N8351, N6957, N6946, N6929, N5960, N6936); +and AND2_2113 (N8352, N6936, N4566); +and AND3_2114 (N8353, N6946, N4570, N6936); +and AND4_2115 (N8354, N6957, N6946, N5960, N6936); +and AND2_2116 (N8355, N4570, N6946); +and AND3_2117 (N8356, N6957, N6946, N5960); +and AND2_2118 (N8357, N6957, N5960); +nand NAND2_2119 (N8358, N7055, N7822); +and AND4_2120 (N8365, N7049, N6988, N6977, N6970); +and AND2_2121 (N8369, N6970, N4577); +and AND3_2122 (N8370, N6977, N6970, N4581); +and AND4_2123 (N8371, N6988, N6970, N4586, N6977); +and AND2_2124 (N8372, N6977, N4581); +and AND3_2125 (N8373, N6988, N4586, N6977); +and AND3_2126 (N8374, N7049, N6988, N6977); +and AND2_2127 (N8375, N6977, N4581); +and AND3_2128 (N8376, N6988, N4586, N6977); +and AND2_2129 (N8377, N6988, N4586); +and AND2_2130 (N8378, N6998, N4593); +and AND3_2131 (N8379, N7006, N6998, N4597); +and AND4_2132 (N8380, N7020, N6998, N4603, N7006); +and AND5_2133 (N8381, N7036, N7020, N6998, N5981, N7006); +and AND2_2134 (N8382, N7006, N4597); +and AND3_2135 (N8383, N7020, N4603, N7006); +and AND4_2136 (N8384, N7036, N7020, N5981, N7006); +and AND2_2137 (N8385, N7006, N4597); +and AND3_2138 (N8386, N7020, N4603, N7006); +and AND4_2139 (N8387, N7036, N7020, N5981, N7006); +and AND2_2140 (N8388, N7020, N4603); +and AND3_2141 (N8389, N7036, N7020, N5981); +and AND2_2142 (N8390, N7020, N4603); +and AND3_2143 (N8391, N7036, N7020, N5981); +and AND2_2144 (N8392, N7036, N5981); +and AND2_2145 (N8393, N7049, N6988); +and AND2_2146 (N8394, N7057, N7063); +and AND2_2147 (N8404, N7057, N7826); +and AND4_2148 (N8405, N7098, N7077, N7073, N7068); +and AND2_2149 (N8409, N7068, N4632); +and AND3_2150 (N8410, N7073, N7068, N4634); +and AND4_2151 (N8411, N7077, N7068, N4635, N7073); +and AND5_2152 (N8412, N7099, N7095, N7091, N7086, N7080); +and AND2_2153 (N8415, N7080, N4638); +and AND3_2154 (N8416, N7086, N7080, N4639); +and AND4_2155 (N8417, N7091, N7080, N4640, N7086); +and AND5_2156 (N8418, N7095, N7091, N7080, N4641, N7086); +and AND2_2157 (N8421, N3375, N7100); +and AND4_2158 (N8430, N7114, N7136, N7125, N7107); +and AND2_2159 (N8433, N7107, N4657); +and AND3_2160 (N8434, N7114, N7107, N4661); +and AND4_2161 (N8435, N7125, N7107, N4667, N7114); +and AND2_2162 (N8436, N7114, N4661); +and AND3_2163 (N8437, N7125, N4667, N7114); +and AND3_2164 (N8438, N7136, N7125, N7114); +and AND2_2165 (N8439, N7114, N4661); +and AND3_2166 (N8440, N4667, N7125, N7114); +and AND2_2167 (N8441, N7125, N4667); +and AND2_2168 (N8442, N7136, N7125); +and AND2_2169 (N8443, N7125, N4667); +and AND5_2170 (N8444, N7149, N7180, N7159, N7142, N7170); +and AND2_2171 (N8447, N7142, N4675); +and AND3_2172 (N8448, N7149, N7142, N4678); +and AND4_2173 (N8449, N7159, N7142, N4682, N7149); +and AND5_2174 (N8450, N7170, N7159, N7142, N4687, N7149); +and AND2_2175 (N8451, N7149, N4678); +and AND3_2176 (N8452, N7159, N4682, N7149); +and AND4_2177 (N8453, N7170, N7159, N4687, N7149); +and AND2_2178 (N8454, N4682, N7159); +and AND3_2179 (N8455, N7170, N7159, N4687); +and AND2_2180 (N8456, N7170, N4687); +not NOT1_2181 (N8457, N7194); +not NOT1_2182 (N8460, N7198); +not NOT1_2183 (N8463, N7205); +not NOT1_2184 (N8466, N7209); +not NOT1_2185 (N8469, N7216); +not NOT1_2186 (N8470, N7219); +buf BUFF1_2187 (N8471, N7202); +buf BUFF1_2188 (N8474, N7202); +buf BUFF1_2189 (N8477, N7213); +buf BUFF1_2190 (N8480, N7213); +and AND3_2191 (N8483, N6083, N6079, N7216); +and AND3_2192 (N8484, N7191, N7188, N7219); +and AND4_2193 (N8485, N7301, N7240, N7229, N7222); +and AND2_2194 (N8488, N7222, N4702); +and AND3_2195 (N8489, N7229, N7222, N4706); +and AND4_2196 (N8490, N7240, N7222, N4711, N7229); +and AND2_2197 (N8491, N7229, N4706); +and AND3_2198 (N8492, N7240, N4711, N7229); +and AND3_2199 (N8493, N7301, N7240, N7229); +and AND2_2200 (N8494, N7229, N4706); +and AND3_2201 (N8495, N7240, N4711, N7229); +and AND2_2202 (N8496, N7240, N4711); +and AND5_2203 (N8497, N7307, N7288, N7272, N7258, N7250); +and AND2_2204 (N8500, N7250, N4718); +and AND3_2205 (N8501, N7258, N7250, N4722); +and AND4_2206 (N8502, N7272, N7250, N4728, N7258); +and AND5_2207 (N8503, N7288, N7272, N7250, N4735, N7258); +and AND2_2208 (N8504, N7258, N4722); +and AND3_2209 (N8505, N7272, N4728, N7258); +and AND4_2210 (N8506, N7288, N7272, N4735, N7258); +and AND4_2211 (N8507, N7307, N7272, N7258, N7288); +and AND2_2212 (N8508, N7258, N4722); +and AND3_2213 (N8509, N7272, N4728, N7258); +and AND4_2214 (N8510, N7288, N7272, N4735, N7258); +and AND2_2215 (N8511, N7272, N4728); +and AND3_2216 (N8512, N7288, N7272, N4735); +and AND3_2217 (N8513, N7307, N7272, N7288); +and AND2_2218 (N8514, N7272, N4728); +and AND3_2219 (N8515, N7288, N7272, N4735); +and AND2_2220 (N8516, N7288, N4735); +and AND2_2221 (N8517, N7301, N7240); +and AND2_2222 (N8518, N7307, N7288); +not NOT1_2223 (N8519, N7314); +not NOT1_2224 (N8522, N7318); +buf BUFF1_2225 (N8525, N7322); +buf BUFF1_2226 (N8528, N7322); +buf BUFF1_2227 (N8531, N7331); +buf BUFF1_2228 (N8534, N7331); +not NOT1_2229 (N8537, N7340); +not NOT1_2230 (N8538, N7343); +and AND3_2231 (N8539, N6141, N6137, N7340); +and AND3_2232 (N8540, N7337, N7334, N7343); +and AND4_2233 (N8541, N7376, N7355, N7351, N7346); +and AND2_2234 (N8545, N7346, N4757); +and AND3_2235 (N8546, N7351, N7346, N4758); +and AND4_2236 (N8547, N7355, N7346, N4759, N7351); +and AND5_2237 (N8548, N7377, N7373, N7369, N7364, N7358); +and AND2_2238 (N8551, N7358, N4762); +and AND3_2239 (N8552, N7364, N7358, N4764); +and AND4_2240 (N8553, N7369, N7358, N4766, N7364); +and AND5_2241 (N8554, N7373, N7369, N7358, N4767, N7364); +not NOT1_2242 (N8555, N7387); +not NOT1_2243 (N8558, N7394); +not NOT1_2244 (N8561, N7398); +not NOT1_2245 (N8564, N7405); +not NOT1_2246 (N8565, N7408); +buf BUFF1_2247 (N8566, N7391); +buf BUFF1_2248 (N8569, N7391); +buf BUFF1_2249 (N8572, N7402); +buf BUFF1_2250 (N8575, N7402); +and AND3_2251 (N8578, N6170, N6166, N7405); +and AND3_2252 (N8579, N7381, N7378, N7408); +buf BUFF1_2253 (N8580, N7180); +buf BUFF1_2254 (N8583, N7142); +buf BUFF1_2255 (N8586, N7149); +buf BUFF1_2256 (N8589, N7159); +buf BUFF1_2257 (N8592, N7170); +buf BUFF1_2258 (N8595, N6929); +buf BUFF1_2259 (N8598, N6936); +buf BUFF1_2260 (N8601, N6946); +buf BUFF1_2261 (N8604, N6957); +not NOT1_2262 (N8607, N7441); +nand NAND2_2263 (N8608, N7441, N5469); +not NOT1_2264 (N8609, N7444); +nand NAND2_2265 (N8610, N7444, N4793); +not NOT1_2266 (N8615, N7447); +not NOT1_2267 (N8616, N7450); +not NOT1_2268 (N8617, N7453); +not NOT1_2269 (N8618, N7456); +not NOT1_2270 (N8619, N7474); +not NOT1_2271 (N8624, N7465); +not NOT1_2272 (N8625, N7468); +not NOT1_2273 (N8626, N7471); +nand NAND2_2274 (N8627, N8144, N8145); +not NOT1_2275 (N8632, N7479); +not NOT1_2276 (N8633, N7482); +not NOT1_2277 (N8634, N7485); +not NOT1_2278 (N8637, N7491); +not NOT1_2279 (N8638, N7494); +not NOT1_2280 (N8639, N7497); +not NOT1_2281 (N8644, N7503); +not NOT1_2282 (N8645, N7506); +not NOT1_2283 (N8646, N7509); +not NOT1_2284 (N8647, N7512); +not NOT1_2285 (N8648, N7530); +not NOT1_2286 (N8653, N7521); +not NOT1_2287 (N8654, N7524); +not NOT1_2288 (N8655, N7527); +buf BUFF1_2289 (N8660, N6894); +buf BUFF1_2290 (N8663, N6894); +buf BUFF1_2291 (N8666, N6901); +buf BUFF1_2292 (N8669, N6901); +buf BUFF1_2293 (N8672, N6912); +buf BUFF1_2294 (N8675, N6912); +buf BUFF1_2295 (N8678, N7049); +buf BUFF1_2296 (N8681, N6988); +buf BUFF1_2297 (N8684, N6970); +buf BUFF1_2298 (N8687, N6977); +buf BUFF1_2299 (N8690, N7049); +buf BUFF1_2300 (N8693, N6988); +buf BUFF1_2301 (N8696, N6970); +buf BUFF1_2302 (N8699, N6977); +buf BUFF1_2303 (N8702, N7036); +buf BUFF1_2304 (N8705, N6998); +buf BUFF1_2305 (N8708, N7020); +buf BUFF1_2306 (N8711, N7006); +buf BUFF1_2307 (N8714, N7006); +not NOT1_2308 (N8717, N7553); +buf BUFF1_2309 (N8718, N7036); +buf BUFF1_2310 (N8721, N6998); +buf BUFF1_2311 (N8724, N7020); +nand NAND2_2312 (N8727, N8216, N8217); +nand NAND2_2313 (N8730, N8218, N8219); +not NOT1_2314 (N8733, N7574); +not NOT1_2315 (N8734, N7577); +buf BUFF1_2316 (N8735, N7107); +buf BUFF1_2317 (N8738, N7107); +buf BUFF1_2318 (N8741, N7114); +buf BUFF1_2319 (N8744, N7114); +buf BUFF1_2320 (N8747, N7125); +buf BUFF1_2321 (N8750, N7125); +not NOT1_2322 (N8753, N7560); +not NOT1_2323 (N8754, N7563); +not NOT1_2324 (N8755, N7566); +not NOT1_2325 (N8756, N7569); +buf BUFF1_2326 (N8757, N7301); +buf BUFF1_2327 (N8760, N7240); +buf BUFF1_2328 (N8763, N7222); +buf BUFF1_2329 (N8766, N7229); +buf BUFF1_2330 (N8769, N7301); +buf BUFF1_2331 (N8772, N7240); +buf BUFF1_2332 (N8775, N7222); +buf BUFF1_2333 (N8778, N7229); +buf BUFF1_2334 (N8781, N7307); +buf BUFF1_2335 (N8784, N7288); +buf BUFF1_2336 (N8787, N7250); +buf BUFF1_2337 (N8790, N7272); +buf BUFF1_2338 (N8793, N7258); +buf BUFF1_2339 (N8796, N7258); +buf BUFF1_2340 (N8799, N7307); +buf BUFF1_2341 (N8802, N7288); +buf BUFF1_2342 (N8805, N7250); +buf BUFF1_2343 (N8808, N7272); +nand NAND2_2344 (N8811, N8232, N8233); +not NOT1_2345 (N8814, N7588); +not NOT1_2346 (N8815, N7591); +not NOT1_2347 (N8816, N7582); +not NOT1_2348 (N8817, N7585); +and AND2_2349 (N8818, N7620, N3155); +and AND2_2350 (N8840, N3122, N7609); +not NOT1_2351 (N8857, N7609); +and AND3_2352 (N8861, N6797, N5740, N8274); +and AND3_2353 (N8862, N5736, N6800, N8275); +and AND3_2354 (N8863, N6803, N5751, N8276); +and AND3_2355 (N8864, N5747, N6806, N8277); +and AND3_2356 (N8865, N6809, N5762, N8278); +and AND3_2357 (N8866, N5758, N6812, N8279); +not NOT1_2358 (N8871, N7655); +and AND2_2359 (N8874, N6833, N7655); +and AND2_2360 (N8878, N7671, N6867); +not NOT1_2361 (N8879, N8196); +nand NAND2_2362 (N8880, N8196, N8315); +not NOT1_2363 (N8881, N8200); +nand NAND2_2364 (N8882, N8200, N8317); +not NOT1_2365 (N8883, N8204); +nand NAND2_2366 (N8884, N8204, N8319); +not NOT1_2367 (N8885, N8208); +nand NAND2_2368 (N8886, N8208, N8321); +nand NAND2_2369 (N8887, N3658, N8323); +nand NAND2_2370 (N8888, N4817, N8325); +or OR4_2371 (N8898, N4544, N8337, N8338, N8339); +or OR5_2372 (N8902, N4562, N8348, N8349, N8350, N8351); +or OR4_2373 (N8920, N4576, N8369, N8370, N8371); +or OR2_2374 (N8924, N4581, N8377); +or OR5_2375 (N8927, N4592, N8378, N8379, N8380, N8381); +or OR2_2376 (N8931, N4603, N8392); +or OR2_2377 (N8943, N7825, N8404); +or OR4_2378 (N8950, N4630, N8409, N8410, N8411); +or OR5_2379 (N8956, N4637, N8415, N8416, N8417, N8418); +not NOT1_2380 (N8959, N7852); +and AND2_2381 (N8960, N3375, N7852); +or OR4_2382 (N8963, N4656, N8433, N8434, N8435); +or OR5_2383 (N8966, N4674, N8447, N8448, N8449, N8450); +and AND3_2384 (N8991, N7188, N6083, N8469); +and AND3_2385 (N8992, N6079, N7191, N8470); +or OR4_2386 (N8995, N4701, N8488, N8489, N8490); +or OR2_2387 (N8996, N4706, N8496); +or OR5_2388 (N9001, N4717, N8500, N8501, N8502, N8503); +or OR2_2389 (N9005, N4728, N8516); +and AND3_2390 (N9024, N7334, N6141, N8537); +and AND3_2391 (N9025, N6137, N7337, N8538); +or OR4_2392 (N9029, N4756, N8545, N8546, N8547); +or OR5_2393 (N9035, N4760, N8551, N8552, N8553, N8554); +and AND3_2394 (N9053, N7378, N6170, N8564); +and AND3_2395 (N9054, N6166, N7381, N8565); +nand NAND2_2396 (N9064, N4303, N8607); +nand NAND2_2397 (N9065, N3507, N8609); +not NOT1_2398 (N9066, N8114); +nand NAND2_2399 (N9067, N8114, N4795); +or OR2_2400 (N9068, N7613, N6783); +not NOT1_2401 (N9071, N8117); +not NOT1_2402 (N9072, N8131); +nand NAND2_2403 (N9073, N8131, N6195); +not NOT1_2404 (N9074, N7613); +not NOT1_2405 (N9077, N8134); +or OR2_2406 (N9079, N7650, N6865); +not NOT1_2407 (N9082, N8146); +not NOT1_2408 (N9083, N7650); +not NOT1_2409 (N9086, N8156); +not NOT1_2410 (N9087, N8166); +nand NAND2_2411 (N9088, N8166, N4813); +or OR2_2412 (N9089, N7659, N6866); +not NOT1_2413 (N9092, N8169); +not NOT1_2414 (N9093, N8183); +nand NAND2_2415 (N9094, N8183, N6203); +not NOT1_2416 (N9095, N7659); +not NOT1_2417 (N9098, N8186); +or OR4_2418 (N9099, N4545, N8340, N8341, N8342); +nor NOR3_2419 (N9103, N4545, N8343, N8344); +or OR3_2420 (N9107, N4549, N8345, N8346); +nor NOR2_2421 (N9111, N4549, N8347); +or OR4_2422 (N9117, N4577, N8372, N8373, N8374); +nor NOR3_2423 (N9127, N4577, N8375, N8376); +nor NOR3_2424 (N9146, N4597, N8390, N8391); +nor NOR4_2425 (N9149, N4593, N8385, N8386, N8387); +nand NAND2_2426 (N9159, N7577, N8733); +nand NAND2_2427 (N9160, N7574, N8734); +or OR4_2428 (N9161, N4657, N8436, N8437, N8438); +nor NOR3_2429 (N9165, N4657, N8439, N8440); +or OR3_2430 (N9169, N4661, N8441, N8442); +nor NOR2_2431 (N9173, N4661, N8443); +nand NAND2_2432 (N9179, N7563, N8753); +nand NAND2_2433 (N9180, N7560, N8754); +nand NAND2_2434 (N9181, N7569, N8755); +nand NAND2_2435 (N9182, N7566, N8756); +or OR4_2436 (N9183, N4702, N8491, N8492, N8493); +nor NOR3_2437 (N9193, N4702, N8494, N8495); +or OR4_2438 (N9203, N4722, N8511, N8512, N8513); +or OR5_2439 (N9206, N4718, N8504, N8505, N8506, N8507); +nor NOR3_2440 (N9220, N4722, N8514, N8515); +nor NOR4_2441 (N9223, N4718, N8508, N8509, N8510); +nand NAND2_2442 (N9234, N7591, N8814); +nand NAND2_2443 (N9235, N7588, N8815); +nand NAND2_2444 (N9236, N7585, N8816); +nand NAND2_2445 (N9237, N7582, N8817); +or OR2_2446 (N9238, N3159, N8818); +or OR2_2447 (N9242, N3126, N8840); +nand NAND2_2448 (N9243, N8324, N8888); +not NOT1_2449 (N9244, N8580); +not NOT1_2450 (N9245, N8583); +not NOT1_2451 (N9246, N8586); +not NOT1_2452 (N9247, N8589); +not NOT1_2453 (N9248, N8592); +not NOT1_2454 (N9249, N8595); +not NOT1_2455 (N9250, N8598); +not NOT1_2456 (N9251, N8601); +not NOT1_2457 (N9252, N8604); +nor NOR2_2458 (N9256, N8861, N8280); +nor NOR2_2459 (N9257, N8862, N8281); +nor NOR2_2460 (N9258, N8863, N8282); +nor NOR2_2461 (N9259, N8864, N8283); +nor NOR2_2462 (N9260, N8865, N8284); +nor NOR2_2463 (N9261, N8866, N8285); +not NOT1_2464 (N9262, N8627); +or OR2_2465 (N9265, N7649, N8874); +or OR2_2466 (N9268, N7668, N8878); +nand NAND2_2467 (N9271, N7533, N8879); +nand NAND2_2468 (N9272, N7536, N8881); +nand NAND2_2469 (N9273, N7539, N8883); +nand NAND2_2470 (N9274, N7542, N8885); +nand NAND2_2471 (N9275, N8322, N8887); +not NOT1_2472 (N9276, N8333); +and AND5_2473 (N9280, N6936, N8326, N6946, N6929, N6957); +and AND5_2474 (N9285, N367, N8326, N6946, N6957, N6936); +and AND4_2475 (N9286, N367, N8326, N6946, N6957); +and AND3_2476 (N9287, N367, N8326, N6957); +and AND2_2477 (N9288, N367, N8326); +not NOT1_2478 (N9290, N8660); +not NOT1_2479 (N9292, N8663); +not NOT1_2480 (N9294, N8666); +not NOT1_2481 (N9296, N8669); +nand NAND2_2482 (N9297, N8672, N5966); +not NOT1_2483 (N9298, N8672); +nand NAND2_2484 (N9299, N8675, N6969); +not NOT1_2485 (N9300, N8675); +not NOT1_2486 (N9301, N8365); +and AND5_2487 (N9307, N8358, N7036, N7020, N7006, N6998); +and AND4_2488 (N9314, N8358, N7020, N7006, N7036); +and AND3_2489 (N9315, N8358, N7020, N7036); +and AND2_2490 (N9318, N8358, N7036); +not NOT1_2491 (N9319, N8687); +not NOT1_2492 (N9320, N8699); +not NOT1_2493 (N9321, N8711); +not NOT1_2494 (N9322, N8714); +not NOT1_2495 (N9323, N8727); +not NOT1_2496 (N9324, N8730); +not NOT1_2497 (N9326, N8405); +and AND2_2498 (N9332, N8405, N8412); +or OR2_2499 (N9339, N4193, N8960); +and AND2_2500 (N9344, N8430, N8444); +not NOT1_2501 (N9352, N8735); +not NOT1_2502 (N9354, N8738); +not NOT1_2503 (N9356, N8741); +not NOT1_2504 (N9358, N8744); +nand NAND2_2505 (N9359, N8747, N6078); +not NOT1_2506 (N9360, N8747); +nand NAND2_2507 (N9361, N8750, N7187); +not NOT1_2508 (N9362, N8750); +not NOT1_2509 (N9363, N8471); +not NOT1_2510 (N9364, N8474); +not NOT1_2511 (N9365, N8477); +not NOT1_2512 (N9366, N8480); +nor NOR2_2513 (N9367, N8991, N8483); +nor NOR2_2514 (N9368, N8992, N8484); +and AND3_2515 (N9369, N7198, N7194, N8471); +and AND3_2516 (N9370, N8460, N8457, N8474); +and AND3_2517 (N9371, N7209, N7205, N8477); +and AND3_2518 (N9372, N8466, N8463, N8480); +not NOT1_2519 (N9375, N8497); +not NOT1_2520 (N9381, N8766); +not NOT1_2521 (N9382, N8778); +not NOT1_2522 (N9383, N8793); +not NOT1_2523 (N9384, N8796); +and AND2_2524 (N9385, N8485, N8497); +not NOT1_2525 (N9392, N8525); +not NOT1_2526 (N9393, N8528); +not NOT1_2527 (N9394, N8531); +not NOT1_2528 (N9395, N8534); +and AND3_2529 (N9396, N7318, N7314, N8525); +and AND3_2530 (N9397, N8522, N8519, N8528); +and AND3_2531 (N9398, N6131, N6127, N8531); +and AND3_2532 (N9399, N7328, N7325, N8534); +nor NOR2_2533 (N9400, N9024, N8539); +nor NOR2_2534 (N9401, N9025, N8540); +not NOT1_2535 (N9402, N8541); +nand NAND2_2536 (N9407, N8548, N89); +and AND2_2537 (N9408, N8541, N8548); +not NOT1_2538 (N9412, N8811); +not NOT1_2539 (N9413, N8566); +not NOT1_2540 (N9414, N8569); +not NOT1_2541 (N9415, N8572); +not NOT1_2542 (N9416, N8575); +nor NOR2_2543 (N9417, N9053, N8578); +nor NOR2_2544 (N9418, N9054, N8579); +and AND3_2545 (N9419, N7387, N6177, N8566); +and AND3_2546 (N9420, N8555, N7384, N8569); +and AND3_2547 (N9421, N7398, N7394, N8572); +and AND3_2548 (N9422, N8561, N8558, N8575); +buf BUFF1_2549 (N9423, N8326); +nand NAND2_2550 (N9426, N9064, N8608); +nand NAND2_2551 (N9429, N9065, N8610); +nand NAND2_2552 (N9432, N3515, N9066); +nand NAND2_2553 (N9435, N4796, N9072); +nand NAND2_2554 (N9442, N3628, N9087); +nand NAND2_2555 (N9445, N4814, N9093); +not NOT1_2556 (N9454, N8678); +not NOT1_2557 (N9455, N8681); +not NOT1_2558 (N9456, N8684); +not NOT1_2559 (N9459, N8690); +not NOT1_2560 (N9460, N8693); +not NOT1_2561 (N9461, N8696); +buf BUFF1_2562 (N9462, N8358); +not NOT1_2563 (N9465, N8702); +not NOT1_2564 (N9466, N8705); +not NOT1_2565 (N9467, N8708); +not NOT1_2566 (N9468, N8724); +buf BUFF1_2567 (N9473, N8358); +not NOT1_2568 (N9476, N8718); +not NOT1_2569 (N9477, N8721); +nand NAND2_2570 (N9478, N9159, N9160); +nand NAND2_2571 (N9485, N9179, N9180); +nand NAND2_2572 (N9488, N9181, N9182); +not NOT1_2573 (N9493, N8757); +not NOT1_2574 (N9494, N8760); +not NOT1_2575 (N9495, N8763); +not NOT1_2576 (N9498, N8769); +not NOT1_2577 (N9499, N8772); +not NOT1_2578 (N9500, N8775); +not NOT1_2579 (N9505, N8781); +not NOT1_2580 (N9506, N8784); +not NOT1_2581 (N9507, N8787); +not NOT1_2582 (N9508, N8790); +not NOT1_2583 (N9509, N8808); +not NOT1_2584 (N9514, N8799); +not NOT1_2585 (N9515, N8802); +not NOT1_2586 (N9516, N8805); +nand NAND2_2587 (N9517, N9234, N9235); +nand NAND2_2588 (N9520, N9236, N9237); +and AND2_2589 (N9526, N8943, N8421); +and AND2_2590 (N9531, N8943, N8421); +nand NAND2_2591 (N9539, N9271, N8880); +nand NAND2_2592 (N9540, N9273, N8884); +not NOT1_2593 (N9541, N9275); +and AND2_2594 (N9543, N8857, N8254); +and AND2_2595 (N9551, N8871, N8288); +nand NAND2_2596 (N9555, N9272, N8882); +nand NAND2_2597 (N9556, N9274, N8886); +not NOT1_2598 (N9557, N8898); +and AND2_2599 (N9560, N8902, N8333); +not NOT1_2600 (N9561, N9099); +nand NAND2_2601 (N9562, N9099, N9290); +not NOT1_2602 (N9563, N9103); +nand NAND2_2603 (N9564, N9103, N9292); +not NOT1_2604 (N9565, N9107); +nand NAND2_2605 (N9566, N9107, N9294); +not NOT1_2606 (N9567, N9111); +nand NAND2_2607 (N9568, N9111, N9296); +nand NAND2_2608 (N9569, N4844, N9298); +nand NAND2_2609 (N9570, N6207, N9300); +not NOT1_2610 (N9571, N8920); +not NOT1_2611 (N9575, N8927); +and AND2_2612 (N9579, N8365, N8927); +not NOT1_2613 (N9581, N8950); +not NOT1_2614 (N9582, N8956); +and AND2_2615 (N9585, N8405, N8956); +and AND2_2616 (N9591, N8966, N8430); +not NOT1_2617 (N9592, N9161); +nand NAND2_2618 (N9593, N9161, N9352); +not NOT1_2619 (N9594, N9165); +nand NAND2_2620 (N9595, N9165, N9354); +not NOT1_2621 (N9596, N9169); +nand NAND2_2622 (N9597, N9169, N9356); +not NOT1_2623 (N9598, N9173); +nand NAND2_2624 (N9599, N9173, N9358); +nand NAND2_2625 (N9600, N4940, N9360); +nand NAND2_2626 (N9601, N6220, N9362); +and AND3_2627 (N9602, N8457, N7198, N9363); +and AND3_2628 (N9603, N7194, N8460, N9364); +and AND3_2629 (N9604, N8463, N7209, N9365); +and AND3_2630 (N9605, N7205, N8466, N9366); +not NOT1_2631 (N9608, N9001); +and AND2_2632 (N9611, N8485, N9001); +and AND3_2633 (N9612, N8519, N7318, N9392); +and AND3_2634 (N9613, N7314, N8522, N9393); +and AND3_2635 (N9614, N7325, N6131, N9394); +and AND3_2636 (N9615, N6127, N7328, N9395); +not NOT1_2637 (N9616, N9029); +not NOT1_2638 (N9617, N9035); +and AND2_2639 (N9618, N8541, N9035); +and AND3_2640 (N9621, N7384, N7387, N9413); +and AND3_2641 (N9622, N6177, N8555, N9414); +and AND3_2642 (N9623, N8558, N7398, N9415); +and AND3_2643 (N9624, N7394, N8561, N9416); +or OR5_2644 (N9626, N4563, N8352, N8353, N8354, N9285); +or OR4_2645 (N9629, N4566, N8355, N8356, N9286); +or OR3_2646 (N9632, N4570, N8357, N9287); +or OR2_2647 (N9635, N5960, N9288); +nand NAND2_2648 (N9642, N9067, N9432); +not NOT1_2649 (N9645, N9068); +nand NAND2_2650 (N9646, N9073, N9435); +not NOT1_2651 (N9649, N9074); +nand NAND2_2652 (N9650, N9257, N9256); +nand NAND2_2653 (N9653, N9259, N9258); +nand NAND2_2654 (N9656, N9261, N9260); +not NOT1_2655 (N9659, N9079); +nand NAND2_2656 (N9660, N9079, N4809); +not NOT1_2657 (N9661, N9083); +nand NAND2_2658 (N9662, N9083, N6202); +nand NAND2_2659 (N9663, N9088, N9442); +not NOT1_2660 (N9666, N9089); +nand NAND2_2661 (N9667, N9094, N9445); +not NOT1_2662 (N9670, N9095); +or OR2_2663 (N9671, N8924, N8393); +not NOT1_2664 (N9674, N9117); +not NOT1_2665 (N9675, N8924); +not NOT1_2666 (N9678, N9127); +or OR4_2667 (N9679, N4597, N8388, N8389, N9315); +or OR2_2668 (N9682, N8931, N9318); +or OR5_2669 (N9685, N4593, N8382, N8383, N8384, N9314); +not NOT1_2670 (N9690, N9146); +nand NAND2_2671 (N9691, N9146, N8717); +not NOT1_2672 (N9692, N8931); +not NOT1_2673 (N9695, N9149); +nand NAND2_2674 (N9698, N9401, N9400); +nand NAND2_2675 (N9702, N9368, N9367); +or OR2_2676 (N9707, N8996, N8517); +not NOT1_2677 (N9710, N9183); +not NOT1_2678 (N9711, N8996); +not NOT1_2679 (N9714, N9193); +not NOT1_2680 (N9715, N9203); +nand NAND2_2681 (N9716, N9203, N6235); +or OR2_2682 (N9717, N9005, N8518); +not NOT1_2683 (N9720, N9206); +not NOT1_2684 (N9721, N9220); +nand NAND2_2685 (N9722, N9220, N7573); +not NOT1_2686 (N9723, N9005); +not NOT1_2687 (N9726, N9223); +nand NAND2_2688 (N9727, N9418, N9417); +and AND2_2689 (N9732, N9268, N8269); +nand NAND2_2690 (N9733, N9581, N9326); +and AND5_2691 (N9734, N89, N9408, N9332, N8394, N8421); +and AND5_2692 (N9735, N89, N9408, N9332, N8394, N8421); +and AND2_2693 (N9736, N9265, N8262); +not NOT1_2694 (N9737, N9555); +not NOT1_2695 (N9738, N9556); +nand NAND2_2696 (N9739, N9361, N9601); +nand NAND2_2697 (N9740, N9423, N1115); +not NOT1_2698 (N9741, N9423); +nand NAND2_2699 (N9742, N9299, N9570); +and AND2_2700 (N9754, N8333, N9280); +or OR2_2701 (N9758, N8898, N9560); +nand NAND2_2702 (N9762, N8660, N9561); +nand NAND2_2703 (N9763, N8663, N9563); +nand NAND2_2704 (N9764, N8666, N9565); +nand NAND2_2705 (N9765, N8669, N9567); +nand NAND2_2706 (N9766, N9297, N9569); +and AND2_2707 (N9767, N9280, N367); +nand NAND2_2708 (N9768, N9557, N9276); +not NOT1_2709 (N9769, N9307); +nand NAND2_2710 (N9773, N9307, N367); +nand NAND2_2711 (N9774, N9571, N9301); +and AND2_2712 (N9775, N8365, N9307); +or OR2_2713 (N9779, N8920, N9579); +not NOT1_2714 (N9784, N9478); +nand NAND2_2715 (N9785, N9616, N9402); +or OR2_2716 (N9786, N8950, N9585); +and AND4_2717 (N9790, N89, N9408, N9332, N8394); +or OR2_2718 (N9791, N8963, N9591); +nand NAND2_2719 (N9795, N8735, N9592); +nand NAND2_2720 (N9796, N8738, N9594); +nand NAND2_2721 (N9797, N8741, N9596); +nand NAND2_2722 (N9798, N8744, N9598); +nand NAND2_2723 (N9799, N9359, N9600); +nor NOR2_2724 (N9800, N9602, N9369); +nor NOR2_2725 (N9801, N9603, N9370); +nor NOR2_2726 (N9802, N9604, N9371); +nor NOR2_2727 (N9803, N9605, N9372); +not NOT1_2728 (N9805, N9485); +not NOT1_2729 (N9806, N9488); +or OR2_2730 (N9809, N8995, N9611); +nor NOR2_2731 (N9813, N9612, N9396); +nor NOR2_2732 (N9814, N9613, N9397); +nor NOR2_2733 (N9815, N9614, N9398); +nor NOR2_2734 (N9816, N9615, N9399); +and AND2_2735 (N9817, N9617, N9407); +or OR2_2736 (N9820, N9029, N9618); +not NOT1_2737 (N9825, N9517); +not NOT1_2738 (N9826, N9520); +nor NOR2_2739 (N9827, N9621, N9419); +nor NOR2_2740 (N9828, N9622, N9420); +nor NOR2_2741 (N9829, N9623, N9421); +nor NOR2_2742 (N9830, N9624, N9422); +not NOT1_2743 (N9835, N9426); +nand NAND2_2744 (N9836, N9426, N4789); +not NOT1_2745 (N9837, N9429); +nand NAND2_2746 (N9838, N9429, N4794); +nand NAND2_2747 (N9846, N3625, N9659); +nand NAND2_2748 (N9847, N4810, N9661); +not NOT1_2749 (N9862, N9462); +nand NAND2_2750 (N9863, N7553, N9690); +not NOT1_2751 (N9866, N9473); +nand NAND2_2752 (N9873, N5030, N9715); +nand NAND2_2753 (N9876, N6236, N9721); +nand NAND2_2754 (N9890, N9795, N9593); +nand NAND2_2755 (N9891, N9797, N9597); +not NOT1_2756 (N9892, N9799); +nand NAND2_2757 (N9893, N871, N9741); +nand NAND2_2758 (N9894, N9762, N9562); +nand NAND2_2759 (N9895, N9764, N9566); +not NOT1_2760 (N9896, N9766); +not NOT1_2761 (N9897, N9626); +nand NAND2_2762 (N9898, N9626, N9249); +not NOT1_2763 (N9899, N9629); +nand NAND2_2764 (N9900, N9629, N9250); +not NOT1_2765 (N9901, N9632); +nand NAND2_2766 (N9902, N9632, N9251); +not NOT1_2767 (N9903, N9635); +nand NAND2_2768 (N9904, N9635, N9252); +not NOT1_2769 (N9905, N9543); +not NOT1_2770 (N9906, N9650); +nand NAND2_2771 (N9907, N9650, N5769); +not NOT1_2772 (N9908, N9653); +nand NAND2_2773 (N9909, N9653, N5770); +not NOT1_2774 (N9910, N9656); +nand NAND2_2775 (N9911, N9656, N9262); +not NOT1_2776 (N9917, N9551); +nand NAND2_2777 (N9923, N9763, N9564); +nand NAND2_2778 (N9924, N9765, N9568); +or OR2_2779 (N9925, N8902, N9767); +and AND2_2780 (N9932, N9575, N9773); +and AND2_2781 (N9935, N9575, N9769); +not NOT1_2782 (N9938, N9698); +nand NAND2_2783 (N9939, N9698, N9323); +nand NAND2_2784 (N9945, N9796, N9595); +nand NAND2_2785 (N9946, N9798, N9599); +not NOT1_2786 (N9947, N9702); +nand NAND2_2787 (N9948, N9702, N6102); +and AND2_2788 (N9949, N9608, N9375); +not NOT1_2789 (N9953, N9727); +nand NAND2_2790 (N9954, N9727, N9412); +nand NAND2_2791 (N9955, N3502, N9835); +nand NAND2_2792 (N9956, N3510, N9837); +not NOT1_2793 (N9957, N9642); +nand NAND2_2794 (N9958, N9642, N9645); +not NOT1_2795 (N9959, N9646); +nand NAND2_2796 (N9960, N9646, N9649); +nand NAND2_2797 (N9961, N9660, N9846); +nand NAND2_2798 (N9964, N9662, N9847); +not NOT1_2799 (N9967, N9663); +nand NAND2_2800 (N9968, N9663, N9666); +not NOT1_2801 (N9969, N9667); +nand NAND2_2802 (N9970, N9667, N9670); +not NOT1_2803 (N9971, N9671); +nand NAND2_2804 (N9972, N9671, N6213); +not NOT1_2805 (N9973, N9675); +nand NAND2_2806 (N9974, N9675, N7551); +not NOT1_2807 (N9975, N9679); +nand NAND2_2808 (N9976, N9679, N7552); +not NOT1_2809 (N9977, N9682); +not NOT1_2810 (N9978, N9685); +nand NAND2_2811 (N9979, N9691, N9863); +not NOT1_2812 (N9982, N9692); +nand NAND2_2813 (N9983, N9814, N9813); +nand NAND2_2814 (N9986, N9816, N9815); +nand NAND2_2815 (N9989, N9801, N9800); +nand NAND2_2816 (N9992, N9803, N9802); +not NOT1_2817 (N9995, N9707); +nand NAND2_2818 (N9996, N9707, N6231); +not NOT1_2819 (N9997, N9711); +nand NAND2_2820 (N9998, N9711, N7572); +nand NAND2_2821 (N9999, N9716, N9873); +not NOT1_2822 (N10002, N9717); +nand NAND2_2823 (N10003, N9722, N9876); +not NOT1_2824 (N10006, N9723); +nand NAND2_2825 (N10007, N9830, N9829); +nand NAND2_2826 (N10010, N9828, N9827); +and AND3_2827 (N10013, N9791, N8307, N8269); +and AND4_2828 (N10014, N9758, N9344, N8307, N8269); +and AND5_2829 (N10015, N367, N9754, N9344, N8307, N8269); +and AND3_2830 (N10016, N9786, N8394, N8421); +and AND4_2831 (N10017, N9820, N9332, N8394, N8421); +and AND3_2832 (N10018, N9786, N8394, N8421); +and AND4_2833 (N10019, N9820, N9332, N8394, N8421); +and AND3_2834 (N10020, N9809, N8298, N8262); +and AND4_2835 (N10021, N9779, N9385, N8298, N8262); +and AND5_2836 (N10022, N367, N9775, N9385, N8298, N8262); +not NOT1_2837 (N10023, N9945); +not NOT1_2838 (N10024, N9946); +nand NAND2_2839 (N10025, N9740, N9893); +not NOT1_2840 (N10026, N9923); +not NOT1_2841 (N10028, N9924); +nand NAND2_2842 (N10032, N8595, N9897); +nand NAND2_2843 (N10033, N8598, N9899); +nand NAND2_2844 (N10034, N8601, N9901); +nand NAND2_2845 (N10035, N8604, N9903); +nand NAND2_2846 (N10036, N4803, N9906); +nand NAND2_2847 (N10037, N4806, N9908); +nand NAND2_2848 (N10038, N8627, N9910); +and AND2_2849 (N10039, N9809, N8298); +and AND3_2850 (N10040, N9779, N9385, N8298); +and AND4_2851 (N10041, N367, N9775, N9385, N8298); +and AND2_2852 (N10042, N9779, N9385); +and AND3_2853 (N10043, N367, N9775, N9385); +nand NAND2_2854 (N10050, N8727, N9938); +not NOT1_2855 (N10053, N9817); +and AND2_2856 (N10054, N9817, N9029); +and AND2_2857 (N10055, N9786, N8394); +and AND3_2858 (N10056, N9820, N9332, N8394); +and AND2_2859 (N10057, N9791, N8307); +and AND3_2860 (N10058, N9758, N9344, N8307); +and AND4_2861 (N10059, N367, N9754, N9344, N8307); +and AND2_2862 (N10060, N9758, N9344); +and AND3_2863 (N10061, N367, N9754, N9344); +nand NAND2_2864 (N10062, N4997, N9947); +nand NAND2_2865 (N10067, N8811, N9953); +nand NAND2_2866 (N10070, N9955, N9836); +nand NAND2_2867 (N10073, N9956, N9838); +nand NAND2_2868 (N10076, N9068, N9957); +nand NAND2_2869 (N10077, N9074, N9959); +nand NAND2_2870 (N10082, N9089, N9967); +nand NAND2_2871 (N10083, N9095, N9969); +nand NAND2_2872 (N10084, N4871, N9971); +nand NAND2_2873 (N10085, N6214, N9973); +nand NAND2_2874 (N10086, N6217, N9975); +nand NAND2_2875 (N10093, N5027, N9995); +nand NAND2_2876 (N10094, N6232, N9997); +or OR5_2877 (N10101, N9238, N9732, N10013, N10014, N10015); +or OR5_2878 (N10102, N9339, N9526, N10016, N10017, N9734); +or OR5_2879 (N10103, N9339, N9531, N10018, N10019, N9735); +or OR5_2880 (N10104, N9242, N9736, N10020, N10021, N10022); +and AND2_2881 (N10105, N9925, N9894); +and AND2_2882 (N10106, N9925, N9895); +and AND2_2883 (N10107, N9925, N9896); +and AND2_2884 (N10108, N9925, N8253); +nand NAND2_2885 (N10109, N10032, N9898); +nand NAND2_2886 (N10110, N10033, N9900); +nand NAND2_2887 (N10111, N10034, N9902); +nand NAND2_2888 (N10112, N10035, N9904); +nand NAND2_2889 (N10113, N10036, N9907); +nand NAND2_2890 (N10114, N10037, N9909); +nand NAND2_2891 (N10115, N10038, N9911); +or OR4_2892 (N10116, N9265, N10039, N10040, N10041); +or OR3_2893 (N10119, N9809, N10042, N10043); +not NOT1_2894 (N10124, N9925); +and AND2_2895 (N10130, N9768, N9925); +not NOT1_2896 (N10131, N9932); +not NOT1_2897 (N10132, N9935); +and AND2_2898 (N10133, N9932, N8920); +nand NAND2_2899 (N10134, N10050, N9939); +not NOT1_2900 (N10135, N9983); +nand NAND2_2901 (N10136, N9983, N9324); +not NOT1_2902 (N10137, N9986); +nand NAND2_2903 (N10138, N9986, N9784); +and AND2_2904 (N10139, N9785, N10053); +or OR4_2905 (N10140, N8943, N10055, N10056, N9790); +or OR4_2906 (N10141, N9268, N10057, N10058, N10059); +or OR3_2907 (N10148, N9791, N10060, N10061); +nand NAND2_2908 (N10155, N10062, N9948); +not NOT1_2909 (N10156, N9989); +nand NAND2_2910 (N10157, N9989, N9805); +not NOT1_2911 (N10158, N9992); +nand NAND2_2912 (N10159, N9992, N9806); +not NOT1_2913 (N10160, N9949); +nand NAND2_2914 (N10161, N10067, N9954); +not NOT1_2915 (N10162, N10007); +nand NAND2_2916 (N10163, N10007, N9825); +not NOT1_2917 (N10164, N10010); +nand NAND2_2918 (N10165, N10010, N9826); +nand NAND2_2919 (N10170, N10076, N9958); +nand NAND2_2920 (N10173, N10077, N9960); +not NOT1_2921 (N10176, N9961); +nand NAND2_2922 (N10177, N9961, N9082); +not NOT1_2923 (N10178, N9964); +nand NAND2_2924 (N10179, N9964, N9086); +nand NAND2_2925 (N10180, N10082, N9968); +nand NAND2_2926 (N10183, N10083, N9970); +nand NAND2_2927 (N10186, N9972, N10084); +nand NAND2_2928 (N10189, N9974, N10085); +nand NAND2_2929 (N10192, N9976, N10086); +not NOT1_2930 (N10195, N9979); +nand NAND2_2931 (N10196, N9979, N9982); +nand NAND2_2932 (N10197, N9996, N10093); +nand NAND2_2933 (N10200, N9998, N10094); +not NOT1_2934 (N10203, N9999); +nand NAND2_2935 (N10204, N9999, N10002); +not NOT1_2936 (N10205, N10003); +nand NAND2_2937 (N10206, N10003, N10006); +nand NAND2_2938 (N10212, N10070, N4308); +nand NAND2_2939 (N10213, N10073, N4313); +and AND2_2940 (N10230, N9774, N10131); +nand NAND2_2941 (N10231, N8730, N10135); +nand NAND2_2942 (N10232, N9478, N10137); +or OR2_2943 (N10233, N10139, N10054); +nand NAND2_2944 (N10234, N7100, N10140); +nand NAND2_2945 (N10237, N9485, N10156); +nand NAND2_2946 (N10238, N9488, N10158); +nand NAND2_2947 (N10239, N9517, N10162); +nand NAND2_2948 (N10240, N9520, N10164); +not NOT1_2949 (N10241, N10070); +not NOT1_2950 (N10242, N10073); +nand NAND2_2951 (N10247, N8146, N10176); +nand NAND2_2952 (N10248, N8156, N10178); +nand NAND2_2953 (N10259, N9692, N10195); +nand NAND2_2954 (N10264, N9717, N10203); +nand NAND2_2955 (N10265, N9723, N10205); +and AND2_2956 (N10266, N10026, N10124); +and AND2_2957 (N10267, N10028, N10124); +and AND2_2958 (N10268, N9742, N10124); +and AND2_2959 (N10269, N6923, N10124); +nand NAND2_2960 (N10270, N6762, N10116); +nand NAND2_2961 (N10271, N3061, N10241); +nand NAND2_2962 (N10272, N3064, N10242); +buf BUFF1_2963 (N10273, N10116); +and AND5_2964 (N10278, N10141, N5728, N5707, N5718, N5697); +and AND4_2965 (N10279, N10141, N5728, N5707, N5718); +and AND3_2966 (N10280, N10141, N5728, N5718); +and AND2_2967 (N10281, N10141, N5728); +and AND2_2968 (N10282, N6784, N10141); +not NOT1_2969 (N10283, N10119); +and AND5_2970 (N10287, N10148, N5936, N5915, N5926, N5905); +and AND4_2971 (N10288, N10148, N5936, N5915, N5926); +and AND3_2972 (N10289, N10148, N5936, N5926); +and AND2_2973 (N10290, N10148, N5936); +and AND2_2974 (N10291, N6881, N10148); +and AND2_2975 (N10292, N8898, N10124); +nand NAND2_2976 (N10293, N10231, N10136); +nand NAND2_2977 (N10294, N10232, N10138); +nand NAND2_2978 (N10295, N8412, N10233); +and AND2_2979 (N10296, N8959, N10234); +nand NAND2_2980 (N10299, N10237, N10157); +nand NAND2_2981 (N10300, N10238, N10159); +or OR2_2982 (N10301, N10230, N10133); +nand NAND2_2983 (N10306, N10239, N10163); +nand NAND2_2984 (N10307, N10240, N10165); +buf BUFF1_2985 (N10308, N10148); +buf BUFF1_2986 (N10311, N10141); +not NOT1_2987 (N10314, N10170); +nand NAND2_2988 (N10315, N10170, N9071); +not NOT1_2989 (N10316, N10173); +nand NAND2_2990 (N10317, N10173, N9077); +nand NAND2_2991 (N10318, N10247, N10177); +nand NAND2_2992 (N10321, N10248, N10179); +not NOT1_2993 (N10324, N10180); +nand NAND2_2994 (N10325, N10180, N9092); +not NOT1_2995 (N10326, N10183); +nand NAND2_2996 (N10327, N10183, N9098); +not NOT1_2997 (N10328, N10186); +nand NAND2_2998 (N10329, N10186, N9674); +not NOT1_2999 (N10330, N10189); +nand NAND2_3000 (N10331, N10189, N9678); +not NOT1_3001 (N10332, N10192); +nand NAND2_3002 (N10333, N10192, N9977); +nand NAND2_3003 (N10334, N10259, N10196); +not NOT1_3004 (N10337, N10197); +nand NAND2_3005 (N10338, N10197, N9710); +not NOT1_3006 (N10339, N10200); +nand NAND2_3007 (N10340, N10200, N9714); +nand NAND2_3008 (N10341, N10264, N10204); +nand NAND2_3009 (N10344, N10265, N10206); +or OR2_3010 (N10350, N10266, N10105); +or OR2_3011 (N10351, N10267, N10106); +or OR2_3012 (N10352, N10268, N10107); +or OR2_3013 (N10353, N10269, N10108); +and AND2_3014 (N10354, N8857, N10270); +nand NAND2_3015 (N10357, N10271, N10212); +nand NAND2_3016 (N10360, N10272, N10213); +or OR2_3017 (N10367, N7620, N10282); +or OR2_3018 (N10375, N7671, N10291); +or OR2_3019 (N10381, N10292, N10130); +and AND4_3020 (N10388, N10114, N10134, N10293, N10294); +and AND2_3021 (N10391, N9582, N10295); +and AND4_3022 (N10399, N10113, N10115, N10299, N10300); +and AND4_3023 (N10402, N10155, N10161, N10306, N10307); +or OR5_3024 (N10406, N3229, N6888, N6889, N6890, N10287); +or OR4_3025 (N10409, N3232, N6891, N6892, N10288); +or OR3_3026 (N10412, N3236, N6893, N10289); +or OR2_3027 (N10415, N3241, N10290); +or OR5_3028 (N10419, N3137, N6791, N6792, N6793, N10278); +or OR4_3029 (N10422, N3140, N6794, N6795, N10279); +or OR3_3030 (N10425, N3144, N6796, N10280); +or OR2_3031 (N10428, N3149, N10281); +nand NAND2_3032 (N10431, N8117, N10314); +nand NAND2_3033 (N10432, N8134, N10316); +nand NAND2_3034 (N10437, N8169, N10324); +nand NAND2_3035 (N10438, N8186, N10326); +nand NAND2_3036 (N10439, N9117, N10328); +nand NAND2_3037 (N10440, N9127, N10330); +nand NAND2_3038 (N10441, N9682, N10332); +nand NAND2_3039 (N10444, N9183, N10337); +nand NAND2_3040 (N10445, N9193, N10339); +not NOT1_3041 (N10450, N10296); +and AND2_3042 (N10451, N10296, N4193); +not NOT1_3043 (N10455, N10308); +nand NAND2_3044 (N10456, N10308, N8242); +not NOT1_3045 (N10465, N10311); +nand NAND2_3046 (N10466, N10311, N8247); +not NOT1_3047 (N10479, N10273); +not NOT1_3048 (N10497, N10301); +nand NAND2_3049 (N10509, N10431, N10315); +nand NAND2_3050 (N10512, N10432, N10317); +not NOT1_3051 (N10515, N10318); +nand NAND2_3052 (N10516, N10318, N8632); +not NOT1_3053 (N10517, N10321); +nand NAND2_3054 (N10518, N10321, N8637); +nand NAND2_3055 (N10519, N10437, N10325); +nand NAND2_3056 (N10522, N10438, N10327); +nand NAND2_3057 (N10525, N10439, N10329); +nand NAND2_3058 (N10528, N10440, N10331); +nand NAND2_3059 (N10531, N10441, N10333); +not NOT1_3060 (N10534, N10334); +nand NAND2_3061 (N10535, N10334, N9695); +nand NAND2_3062 (N10536, N10444, N10338); +nand NAND2_3063 (N10539, N10445, N10340); +not NOT1_3064 (N10542, N10341); +nand NAND2_3065 (N10543, N10341, N9720); +not NOT1_3066 (N10544, N10344); +nand NAND2_3067 (N10545, N10344, N9726); +and AND2_3068 (N10546, N5631, N10450); +not NOT1_3069 (N10547, N10391); +and AND2_3070 (N10548, N10391, N8950); +and AND2_3071 (N10549, N5165, N10367); +not NOT1_3072 (N10550, N10354); +and AND2_3073 (N10551, N10354, N3126); +nand NAND2_3074 (N10552, N7411, N10455); +and AND2_3075 (N10553, N10375, N9539); +and AND2_3076 (N10554, N10375, N9540); +and AND2_3077 (N10555, N10375, N9541); +and AND2_3078 (N10556, N10375, N6761); +not NOT1_3079 (N10557, N10406); +nand NAND2_3080 (N10558, N10406, N8243); +not NOT1_3081 (N10559, N10409); +nand NAND2_3082 (N10560, N10409, N8244); +not NOT1_3083 (N10561, N10412); +nand NAND2_3084 (N10562, N10412, N8245); +not NOT1_3085 (N10563, N10415); +nand NAND2_3086 (N10564, N10415, N8246); +nand NAND2_3087 (N10565, N7426, N10465); +not NOT1_3088 (N10566, N10419); +nand NAND2_3089 (N10567, N10419, N8248); +not NOT1_3090 (N10568, N10422); +nand NAND2_3091 (N10569, N10422, N8249); +not NOT1_3092 (N10570, N10425); +nand NAND2_3093 (N10571, N10425, N8250); +not NOT1_3094 (N10572, N10428); +nand NAND2_3095 (N10573, N10428, N8251); +not NOT1_3096 (N10574, N10399); +not NOT1_3097 (N10575, N10402); +not NOT1_3098 (N10576, N10388); +and AND3_3099 (N10577, N10399, N10402, N10388); +and AND3_3100 (N10581, N10360, N9543, N10273); +and AND3_3101 (N10582, N10357, N9905, N10273); +not NOT1_3102 (N10583, N10367); +and AND2_3103 (N10587, N10367, N5735); +and AND2_3104 (N10588, N10367, N3135); +not NOT1_3105 (N10589, N10375); +and AND5_3106 (N10594, N10381, N7180, N7159, N7170, N7149); +and AND4_3107 (N10595, N10381, N7180, N7159, N7170); +and AND3_3108 (N10596, N10381, N7180, N7170); +and AND2_3109 (N10597, N10381, N7180); +and AND2_3110 (N10598, N8444, N10381); +buf BUFF1_3111 (N10602, N10381); +nand NAND2_3112 (N10609, N7479, N10515); +nand NAND2_3113 (N10610, N7491, N10517); +nand NAND2_3114 (N10621, N9149, N10534); +nand NAND2_3115 (N10626, N9206, N10542); +nand NAND2_3116 (N10627, N9223, N10544); +or OR2_3117 (N10628, N10546, N10451); +and AND2_3118 (N10629, N9733, N10547); +and AND2_3119 (N10631, N5166, N10550); +nand NAND2_3120 (N10632, N10552, N10456); +nand NAND2_3121 (N10637, N7414, N10557); +nand NAND2_3122 (N10638, N7417, N10559); +nand NAND2_3123 (N10639, N7420, N10561); +nand NAND2_3124 (N10640, N7423, N10563); +nand NAND2_3125 (N10641, N10565, N10466); +nand NAND2_3126 (N10642, N7429, N10566); +nand NAND2_3127 (N10643, N7432, N10568); +nand NAND2_3128 (N10644, N7435, N10570); +nand NAND2_3129 (N10645, N7438, N10572); +and AND3_3130 (N10647, N886, N887, N10577); +and AND3_3131 (N10648, N10360, N8857, N10479); +and AND3_3132 (N10649, N10357, N7609, N10479); +or OR2_3133 (N10652, N8966, N10598); +or OR5_3134 (N10659, N4675, N8451, N8452, N8453, N10594); +or OR4_3135 (N10662, N4678, N8454, N8455, N10595); +or OR3_3136 (N10665, N4682, N8456, N10596); +or OR2_3137 (N10668, N4687, N10597); +not NOT1_3138 (N10671, N10509); +nand NAND2_3139 (N10672, N10509, N8615); +not NOT1_3140 (N10673, N10512); +nand NAND2_3141 (N10674, N10512, N8624); +nand NAND2_3142 (N10675, N10609, N10516); +nand NAND2_3143 (N10678, N10610, N10518); +not NOT1_3144 (N10681, N10519); +nand NAND2_3145 (N10682, N10519, N8644); +not NOT1_3146 (N10683, N10522); +nand NAND2_3147 (N10684, N10522, N8653); +not NOT1_3148 (N10685, N10525); +nand NAND2_3149 (N10686, N10525, N9454); +not NOT1_3150 (N10687, N10528); +nand NAND2_3151 (N10688, N10528, N9459); +not NOT1_3152 (N10689, N10531); +nand NAND2_3153 (N10690, N10531, N9978); +nand NAND2_3154 (N10691, N10621, N10535); +not NOT1_3155 (N10694, N10536); +nand NAND2_3156 (N10695, N10536, N9493); +not NOT1_3157 (N10696, N10539); +nand NAND2_3158 (N10697, N10539, N9498); +nand NAND2_3159 (N10698, N10626, N10543); +nand NAND2_3160 (N10701, N10627, N10545); +or OR2_3161 (N10704, N10629, N10548); +and AND2_3162 (N10705, N3159, N10583); +or OR2_3163 (N10706, N10631, N10551); +and AND2_3164 (N10707, N9737, N10589); +and AND2_3165 (N10708, N9738, N10589); +and AND2_3166 (N10709, N9243, N10589); +and AND2_3167 (N10710, N5892, N10589); +nand NAND2_3168 (N10711, N10637, N10558); +nand NAND2_3169 (N10712, N10638, N10560); +nand NAND2_3170 (N10713, N10639, N10562); +nand NAND2_3171 (N10714, N10640, N10564); +nand NAND2_3172 (N10715, N10642, N10567); +nand NAND2_3173 (N10716, N10643, N10569); +nand NAND2_3174 (N10717, N10644, N10571); +nand NAND2_3175 (N10718, N10645, N10573); +not NOT1_3176 (N10719, N10602); +nand NAND2_3177 (N10720, N10602, N9244); +not NOT1_3178 (N10729, N10647); +and AND2_3179 (N10730, N5178, N10583); +and AND2_3180 (N10731, N2533, N10583); +nand NAND2_3181 (N10737, N7447, N10671); +nand NAND2_3182 (N10738, N7465, N10673); +or OR4_3183 (N10739, N10648, N10649, N10581, N10582); +nand NAND2_3184 (N10746, N7503, N10681); +nand NAND2_3185 (N10747, N7521, N10683); +nand NAND2_3186 (N10748, N8678, N10685); +nand NAND2_3187 (N10749, N8690, N10687); +nand NAND2_3188 (N10750, N9685, N10689); +nand NAND2_3189 (N10753, N8757, N10694); +nand NAND2_3190 (N10754, N8769, N10696); +or OR2_3191 (N10759, N10705, N10549); +or OR2_3192 (N10760, N10707, N10553); +or OR2_3193 (N10761, N10708, N10554); +or OR2_3194 (N10762, N10709, N10555); +or OR2_3195 (N10763, N10710, N10556); +nand NAND2_3196 (N10764, N8580, N10719); +and AND2_3197 (N10765, N10652, N9890); +and AND2_3198 (N10766, N10652, N9891); +and AND2_3199 (N10767, N10652, N9892); +and AND2_3200 (N10768, N10652, N8252); +not NOT1_3201 (N10769, N10659); +nand NAND2_3202 (N10770, N10659, N9245); +not NOT1_3203 (N10771, N10662); +nand NAND2_3204 (N10772, N10662, N9246); +not NOT1_3205 (N10773, N10665); +nand NAND2_3206 (N10774, N10665, N9247); +not NOT1_3207 (N10775, N10668); +nand NAND2_3208 (N10776, N10668, N9248); +or OR2_3209 (N10778, N10730, N10587); +or OR2_3210 (N10781, N10731, N10588); +not NOT1_3211 (N10784, N10652); +nand NAND2_3212 (N10789, N10737, N10672); +nand NAND2_3213 (N10792, N10738, N10674); +not NOT1_3214 (N10796, N10675); +nand NAND2_3215 (N10797, N10675, N8633); +not NOT1_3216 (N10798, N10678); +nand NAND2_3217 (N10799, N10678, N8638); +nand NAND2_3218 (N10800, N10746, N10682); +nand NAND2_3219 (N10803, N10747, N10684); +nand NAND2_3220 (N10806, N10748, N10686); +nand NAND2_3221 (N10809, N10749, N10688); +nand NAND2_3222 (N10812, N10750, N10690); +not NOT1_3223 (N10815, N10691); +nand NAND2_3224 (N10816, N10691, N9866); +nand NAND2_3225 (N10817, N10753, N10695); +nand NAND2_3226 (N10820, N10754, N10697); +not NOT1_3227 (N10823, N10698); +nand NAND2_3228 (N10824, N10698, N9505); +not NOT1_3229 (N10825, N10701); +nand NAND2_3230 (N10826, N10701, N9514); +nand NAND2_3231 (N10827, N10764, N10720); +nand NAND2_3232 (N10832, N8583, N10769); +nand NAND2_3233 (N10833, N8586, N10771); +nand NAND2_3234 (N10834, N8589, N10773); +nand NAND2_3235 (N10835, N8592, N10775); +not NOT1_3236 (N10836, N10739); +buf BUFF1_3237 (N10837, N10778); +buf BUFF1_3238 (N10838, N10778); +buf BUFF1_3239 (N10839, N10781); +buf BUFF1_3240 (N10840, N10781); +nand NAND2_3241 (N10845, N7482, N10796); +nand NAND2_3242 (N10846, N7494, N10798); +nand NAND2_3243 (N10857, N9473, N10815); +nand NAND2_3244 (N10862, N8781, N10823); +nand NAND2_3245 (N10863, N8799, N10825); +and AND2_3246 (N10864, N10023, N10784); +and AND2_3247 (N10865, N10024, N10784); +and AND2_3248 (N10866, N9739, N10784); +and AND2_3249 (N10867, N7136, N10784); +nand NAND2_3250 (N10868, N10832, N10770); +nand NAND2_3251 (N10869, N10833, N10772); +nand NAND2_3252 (N10870, N10834, N10774); +nand NAND2_3253 (N10871, N10835, N10776); +not NOT1_3254 (N10872, N10789); +nand NAND2_3255 (N10873, N10789, N8616); +not NOT1_3256 (N10874, N10792); +nand NAND2_3257 (N10875, N10792, N8625); +nand NAND2_3258 (N10876, N10845, N10797); +nand NAND2_3259 (N10879, N10846, N10799); +not NOT1_3260 (N10882, N10800); +nand NAND2_3261 (N10883, N10800, N8645); +not NOT1_3262 (N10884, N10803); +nand NAND2_3263 (N10885, N10803, N8654); +not NOT1_3264 (N10886, N10806); +nand NAND2_3265 (N10887, N10806, N9455); +not NOT1_3266 (N10888, N10809); +nand NAND2_3267 (N10889, N10809, N9460); +not NOT1_3268 (N10890, N10812); +nand NAND2_3269 (N10891, N10812, N9862); +nand NAND2_3270 (N10892, N10857, N10816); +not NOT1_3271 (N10895, N10817); +nand NAND2_3272 (N10896, N10817, N9494); +not NOT1_3273 (N10897, N10820); +nand NAND2_3274 (N10898, N10820, N9499); +nand NAND2_3275 (N10899, N10862, N10824); +nand NAND2_3276 (N10902, N10863, N10826); +or OR2_3277 (N10905, N10864, N10765); +or OR2_3278 (N10906, N10865, N10766); +or OR2_3279 (N10907, N10866, N10767); +or OR2_3280 (N10908, N10867, N10768); +nand NAND2_3281 (N10909, N7450, N10872); +nand NAND2_3282 (N10910, N7468, N10874); +nand NAND2_3283 (N10915, N7506, N10882); +nand NAND2_3284 (N10916, N7524, N10884); +nand NAND2_3285 (N10917, N8681, N10886); +nand NAND2_3286 (N10918, N8693, N10888); +nand NAND2_3287 (N10919, N9462, N10890); +nand NAND2_3288 (N10922, N8760, N10895); +nand NAND2_3289 (N10923, N8772, N10897); +nand NAND2_3290 (N10928, N10909, N10873); +nand NAND2_3291 (N10931, N10910, N10875); +not NOT1_3292 (N10934, N10876); +nand NAND2_3293 (N10935, N10876, N8634); +not NOT1_3294 (N10936, N10879); +nand NAND2_3295 (N10937, N10879, N8639); +nand NAND2_3296 (N10938, N10915, N10883); +nand NAND2_3297 (N10941, N10916, N10885); +nand NAND2_3298 (N10944, N10917, N10887); +nand NAND2_3299 (N10947, N10918, N10889); +nand NAND2_3300 (N10950, N10919, N10891); +not NOT1_3301 (N10953, N10892); +nand NAND2_3302 (N10954, N10892, N9476); +nand NAND2_3303 (N10955, N10922, N10896); +nand NAND2_3304 (N10958, N10923, N10898); +not NOT1_3305 (N10961, N10899); +nand NAND2_3306 (N10962, N10899, N9506); +not NOT1_3307 (N10963, N10902); +nand NAND2_3308 (N10964, N10902, N9515); +nand NAND2_3309 (N10969, N7485, N10934); +nand NAND2_3310 (N10970, N7497, N10936); +nand NAND2_3311 (N10981, N8718, N10953); +nand NAND2_3312 (N10986, N8784, N10961); +nand NAND2_3313 (N10987, N8802, N10963); +not NOT1_3314 (N10988, N10928); +nand NAND2_3315 (N10989, N10928, N8617); +not NOT1_3316 (N10990, N10931); +nand NAND2_3317 (N10991, N10931, N8626); +nand NAND2_3318 (N10992, N10969, N10935); +nand NAND2_3319 (N10995, N10970, N10937); +not NOT1_3320 (N10998, N10938); +nand NAND2_3321 (N10999, N10938, N8646); +not NOT1_3322 (N11000, N10941); +nand NAND2_3323 (N11001, N10941, N8655); +not NOT1_3324 (N11002, N10944); +nand NAND2_3325 (N11003, N10944, N9456); +not NOT1_3326 (N11004, N10947); +nand NAND2_3327 (N11005, N10947, N9461); +not NOT1_3328 (N11006, N10950); +nand NAND2_3329 (N11007, N10950, N9465); +nand NAND2_3330 (N11008, N10981, N10954); +not NOT1_3331 (N11011, N10955); +nand NAND2_3332 (N11012, N10955, N9495); +not NOT1_3333 (N11013, N10958); +nand NAND2_3334 (N11014, N10958, N9500); +nand NAND2_3335 (N11015, N10986, N10962); +nand NAND2_3336 (N11018, N10987, N10964); +nand NAND2_3337 (N11023, N7453, N10988); +nand NAND2_3338 (N11024, N7471, N10990); +nand NAND2_3339 (N11027, N7509, N10998); +nand NAND2_3340 (N11028, N7527, N11000); +nand NAND2_3341 (N11029, N8684, N11002); +nand NAND2_3342 (N11030, N8696, N11004); +nand NAND2_3343 (N11031, N8702, N11006); +nand NAND2_3344 (N11034, N8763, N11011); +nand NAND2_3345 (N11035, N8775, N11013); +not NOT1_3346 (N11040, N10992); +nand NAND2_3347 (N11041, N10992, N8294); +not NOT1_3348 (N11042, N10995); +nand NAND2_3349 (N11043, N10995, N8295); +nand NAND2_3350 (N11044, N11023, N10989); +nand NAND2_3351 (N11047, N11024, N10991); +nand NAND2_3352 (N11050, N11027, N10999); +nand NAND2_3353 (N11053, N11028, N11001); +nand NAND2_3354 (N11056, N11029, N11003); +nand NAND2_3355 (N11059, N11030, N11005); +nand NAND2_3356 (N11062, N11031, N11007); +not NOT1_3357 (N11065, N11008); +nand NAND2_3358 (N11066, N11008, N9477); +nand NAND2_3359 (N11067, N11034, N11012); +nand NAND2_3360 (N11070, N11035, N11014); +not NOT1_3361 (N11073, N11015); +nand NAND2_3362 (N11074, N11015, N9507); +not NOT1_3363 (N11075, N11018); +nand NAND2_3364 (N11076, N11018, N9516); +nand NAND2_3365 (N11077, N7488, N11040); +nand NAND2_3366 (N11078, N7500, N11042); +nand NAND2_3367 (N11095, N8721, N11065); +nand NAND2_3368 (N11098, N8787, N11073); +nand NAND2_3369 (N11099, N8805, N11075); +nand NAND2_3370 (N11100, N11077, N11041); +nand NAND2_3371 (N11103, N11078, N11043); +not NOT1_3372 (N11106, N11056); +nand NAND2_3373 (N11107, N11056, N9319); +not NOT1_3374 (N11108, N11059); +nand NAND2_3375 (N11109, N11059, N9320); +not NOT1_3376 (N11110, N11067); +nand NAND2_3377 (N11111, N11067, N9381); +not NOT1_3378 (N11112, N11070); +nand NAND2_3379 (N11113, N11070, N9382); +not NOT1_3380 (N11114, N11044); +nand NAND2_3381 (N11115, N11044, N8618); +not NOT1_3382 (N11116, N11047); +nand NAND2_3383 (N11117, N11047, N8619); +not NOT1_3384 (N11118, N11050); +nand NAND2_3385 (N11119, N11050, N8647); +not NOT1_3386 (N11120, N11053); +nand NAND2_3387 (N11121, N11053, N8648); +not NOT1_3388 (N11122, N11062); +nand NAND2_3389 (N11123, N11062, N9466); +nand NAND2_3390 (N11124, N11095, N11066); +nand NAND2_3391 (N11127, N11098, N11074); +nand NAND2_3392 (N11130, N11099, N11076); +nand NAND2_3393 (N11137, N8687, N11106); +nand NAND2_3394 (N11138, N8699, N11108); +nand NAND2_3395 (N11139, N8766, N11110); +nand NAND2_3396 (N11140, N8778, N11112); +nand NAND2_3397 (N11141, N7456, N11114); +nand NAND2_3398 (N11142, N7474, N11116); +nand NAND2_3399 (N11143, N7512, N11118); +nand NAND2_3400 (N11144, N7530, N11120); +nand NAND2_3401 (N11145, N8705, N11122); +and AND3_3402 (N11152, N11103, N8871, N10283); +and AND3_3403 (N11153, N11100, N7655, N10283); +and AND3_3404 (N11154, N11103, N9551, N10119); +and AND3_3405 (N11155, N11100, N9917, N10119); +nand NAND2_3406 (N11156, N11137, N11107); +nand NAND2_3407 (N11159, N11138, N11109); +nand NAND2_3408 (N11162, N11139, N11111); +nand NAND2_3409 (N11165, N11140, N11113); +nand NAND2_3410 (N11168, N11141, N11115); +nand NAND2_3411 (N11171, N11142, N11117); +nand NAND2_3412 (N11174, N11143, N11119); +nand NAND2_3413 (N11177, N11144, N11121); +nand NAND2_3414 (N11180, N11145, N11123); +not NOT1_3415 (N11183, N11124); +nand NAND2_3416 (N11184, N11124, N9468); +not NOT1_3417 (N11185, N11127); +nand NAND2_3418 (N11186, N11127, N9508); +not NOT1_3419 (N11187, N11130); +nand NAND2_3420 (N11188, N11130, N9509); +or OR4_3421 (N11205, N11152, N11153, N11154, N11155); +nand NAND2_3422 (N11210, N8724, N11183); +nand NAND2_3423 (N11211, N8790, N11185); +nand NAND2_3424 (N11212, N8808, N11187); +not NOT1_3425 (N11213, N11168); +nand NAND2_3426 (N11214, N11168, N8260); +not NOT1_3427 (N11215, N11171); +nand NAND2_3428 (N11216, N11171, N8261); +not NOT1_3429 (N11217, N11174); +nand NAND2_3430 (N11218, N11174, N8296); +not NOT1_3431 (N11219, N11177); +nand NAND2_3432 (N11220, N11177, N8297); +and AND3_3433 (N11222, N11159, N9575, N1218); +and AND3_3434 (N11223, N11156, N8927, N1218); +and AND3_3435 (N11224, N11159, N9935, N750); +and AND3_3436 (N11225, N11156, N10132, N750); +and AND3_3437 (N11226, N11165, N9608, N10497); +and AND3_3438 (N11227, N11162, N9001, N10497); +and AND3_3439 (N11228, N11165, N9949, N10301); +and AND3_3440 (N11229, N11162, N10160, N10301); +not NOT1_3441 (N11231, N11180); +nand NAND2_3442 (N11232, N11180, N9467); +nand NAND2_3443 (N11233, N11210, N11184); +nand NAND2_3444 (N11236, N11211, N11186); +nand NAND2_3445 (N11239, N11212, N11188); +nand NAND2_3446 (N11242, N7459, N11213); +nand NAND2_3447 (N11243, N7462, N11215); +nand NAND2_3448 (N11244, N7515, N11217); +nand NAND2_3449 (N11245, N7518, N11219); +not NOT1_3450 (N11246, N11205); +nand NAND2_3451 (N11250, N8708, N11231); +or OR4_3452 (N11252, N11222, N11223, N11224, N11225); +or OR4_3453 (N11257, N11226, N11227, N11228, N11229); +nand NAND2_3454 (N11260, N11242, N11214); +nand NAND2_3455 (N11261, N11243, N11216); +nand NAND2_3456 (N11262, N11244, N11218); +nand NAND2_3457 (N11263, N11245, N11220); +not NOT1_3458 (N11264, N11233); +nand NAND2_3459 (N11265, N11233, N9322); +not NOT1_3460 (N11267, N11236); +nand NAND2_3461 (N11268, N11236, N9383); +not NOT1_3462 (N11269, N11239); +nand NAND2_3463 (N11270, N11239, N9384); +nand NAND2_3464 (N11272, N11250, N11232); +not NOT1_3465 (N11277, N11261); +and AND2_3466 (N11278, N10273, N11260); +not NOT1_3467 (N11279, N11263); +and AND2_3468 (N11280, N10119, N11262); +nand NAND2_3469 (N11282, N8714, N11264); +not NOT1_3470 (N11283, N11252); +nand NAND2_3471 (N11284, N8793, N11267); +nand NAND2_3472 (N11285, N8796, N11269); +not NOT1_3473 (N11286, N11257); +and AND2_3474 (N11288, N11277, N10479); +and AND2_3475 (N11289, N11279, N10283); +not NOT1_3476 (N11290, N11272); +nand NAND2_3477 (N11291, N11272, N9321); +nand NAND2_3478 (N11292, N11282, N11265); +nand NAND2_3479 (N11293, N11284, N11268); +nand NAND2_3480 (N11294, N11285, N11270); +nand NAND2_3481 (N11295, N8711, N11290); +not NOT1_3482 (N11296, N11292); +not NOT1_3483 (N11297, N11294); +and AND2_3484 (N11298, N10301, N11293); +or OR2_3485 (N11299, N11288, N11278); +or OR2_3486 (N11302, N11289, N11280); +nand NAND2_3487 (N11307, N11295, N11291); +and AND2_3488 (N11308, N11296, N1218); +and AND2_3489 (N11309, N11297, N10497); +nand NAND2_3490 (N11312, N11302, N11246); +nand NAND2_3491 (N11313, N11299, N10836); +not NOT1_3492 (N11314, N11299); +not NOT1_3493 (N11315, N11302); +and AND2_3494 (N11316, N750, N11307); +or OR2_3495 (N11317, N11309, N11298); +nand NAND2_3496 (N11320, N11205, N11315); +nand NAND2_3497 (N11321, N10739, N11314); +or OR2_3498 (N11323, N11308, N11316); +nand NAND2_3499 (N11327, N11312, N11320); +nand NAND2_3500 (N11328, N11313, N11321); +nand NAND2_3501 (N11329, N11317, N11286); +not NOT1_3502 (N11331, N11317); +not NOT1_3503 (N11333, N11327); +not NOT1_3504 (N11334, N11328); +nand NAND2_3505 (N11335, N11257, N11331); +nand NAND2_3506 (N11336, N11323, N11283); +not NOT1_3507 (N11337, N11323); +nand NAND2_3508 (N11338, N11329, N11335); +nand NAND2_3509 (N11339, N11252, N11337); +not NOT1_3510 (N11340, N11338); +nand NAND2_3511 (N11341, N11336, N11339); +not NOT1_3512 (N11342, N11341); +buf BUFF1_3513 (N241_O, N241_I); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c7552_tb.v b/SupplementaryMaterials/Iscas85Verilog/c7552_tb.v new file mode 100644 index 0000000..dec5c2d --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c7552_tb.v @@ -0,0 +1,139 @@ + +module c7552_tb(); + + + +reg N1,N5,N9,N12,N15,N18,N23,N26,N29,N32, + N35,N38,N41,N44,N47,N50,N53,N54,N55,N56, + N57,N58,N59,N60,N61,N62,N63,N64,N65,N66, + N69,N70,N73,N74,N75,N76,N77,N78,N79,N80, + N81,N82,N83,N84,N85,N86,N87,N88,N89,N94, + N97,N100,N103,N106,N109,N110,N111,N112,N113,N114, + N115,N118,N121,N124,N127,N130,N133,N134,N135,N138, + N141,N144,N147,N150,N151,N152,N153,N154,N155,N156, + N157,N158,N159,N160,N161,N162,N163,N164,N165,N166, + N167,N168,N169,N170,N171,N172,N173,N174,N175,N176, + N177,N178,N179,N180,N181,N182,N183,N184,N185,N186, + N187,N188,N189,N190,N191,N192,N193,N194,N195,N196, + N197,N198,N199,N200,N201,N202,N203,N204,N205,N206, + N207,N208,N209,N210,N211,N212,N213,N214,N215,N216, + N217,N218,N219,N220,N221,N222,N223,N224,N225,N226, + N227,N228,N229,N230,N231,N232,N233,N234,N235,N236, + N237,N238,N239,N240,N242,N245,N248,N251,N254,N257, + N260,N263,N267,N271,N274,N277,N280,N283,N286,N289, + N293,N296,N299,N303,N307,N310,N313,N316,N319,N322, + N325,N328,N331,N334,N337,N340,N343,N346,N349,N352, + N355,N358,N361,N364,N367,N382,N241_I; + +wire N387,N388,N478,N482,N484,N486,N489,N492,N501,N505, + N507,N509,N511,N513,N515,N517,N519,N535,N537,N539, + N541,N543,N545,N547,N549,N551,N553,N556,N559,N561, + N563,N565,N567,N569,N571,N573,N582,N643,N707,N813, + N881,N882,N883,N884,N885,N889,N945,N1110,N1111,N1112, + N1113,N1114,N1489,N1490,N1781,N10025,N10101,N10102,N10103,N10104, + N10109,N10110,N10111,N10112,N10350,N10351,N10352,N10353,N10574,N10575, + N10576,N10628,N10632,N10641,N10704,N10706,N10711,N10712,N10713,N10714, + N10715,N10716,N10717,N10718,N10729,N10759,N10760,N10761,N10762,N10763, + N10827,N10837,N10838,N10839,N10840,N10868,N10869,N10870,N10871,N10905, + N10906,N10907,N10908,N11333,N11334,N11340,N11342,N241_O; + + +c7552 c0(N1,N5,N9,N12,N15,N18,N23,N26,N29,N32, + N35,N38,N41,N44,N47,N50,N53,N54,N55,N56, + N57,N58,N59,N60,N61,N62,N63,N64,N65,N66, + N69,N70,N73,N74,N75,N76,N77,N78,N79,N80, + N81,N82,N83,N84,N85,N86,N87,N88,N89,N94, + N97,N100,N103,N106,N109,N110,N111,N112,N113,N114, + N115,N118,N121,N124,N127,N130,N133,N134,N135,N138, + N141,N144,N147,N150,N151,N152,N153,N154,N155,N156, + N157,N158,N159,N160,N161,N162,N163,N164,N165,N166, + N167,N168,N169,N170,N171,N172,N173,N174,N175,N176, + N177,N178,N179,N180,N181,N182,N183,N184,N185,N186, + N187,N188,N189,N190,N191,N192,N193,N194,N195,N196, + N197,N198,N199,N200,N201,N202,N203,N204,N205,N206, + N207,N208,N209,N210,N211,N212,N213,N214,N215,N216, + N217,N218,N219,N220,N221,N222,N223,N224,N225,N226, + N227,N228,N229,N230,N231,N232,N233,N234,N235,N236, + N237,N238,N239,N240,N242,N245,N248,N251,N254,N257, + N260,N263,N267,N271,N274,N277,N280,N283,N286,N289, + N293,N296,N299,N303,N307,N310,N313,N316,N319,N322, + N325,N328,N331,N334,N337,N340,N343,N346,N349,N352, + N355,N358,N361,N364,N367,N382,N241_I,N387,N388,N478, + N482,N484,N486,N489,N492,N501,N505,N507,N509,N511, + N513,N515,N517,N519,N535,N537,N539,N541,N543,N545, + N547,N549,N551,N553,N556,N559,N561,N563,N565,N567, + N569,N571,N573,N582,N643,N707,N813,N881,N882,N883, + N884,N885,N889,N945,N1110,N1111,N1112,N1113,N1114,N1489, + N1490,N1781,N10025,N10101,N10102,N10103,N10104,N10109,N10110,N10111, + N10112,N10350,N10351,N10352,N10353,N10574,N10575,N10576,N10628,N10632, + N10641,N10704,N10706,N10711,N10712,N10713,N10714,N10715,N10716,N10717, + N10718,N10729,N10759,N10760,N10761,N10762,N10763,N10827,N10837,N10838, + N10839,N10840,N10868,N10869,N10870,N10871,N10905,N10906,N10907,N10908, + N11333,N11334,N11340,N11342,N241_O); + + +reg [206:0] test_vectors[0:9]; +reg [107:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c7552_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N5,N9,N12,N15,N18,N23,N26,N29,N32, + N35,N38,N41,N44,N47,N50,N53,N54,N55,N56, + N57,N58,N59,N60,N61,N62,N63,N64,N65,N66, + N69,N70,N73,N74,N75,N76,N77,N78,N79,N80, + N81,N82,N83,N84,N85,N86,N87,N88,N89,N94, + N97,N100,N103,N106,N109,N110,N111,N112,N113,N114, + N115,N118,N121,N124,N127,N130,N133,N134,N135,N138, + N141,N144,N147,N150,N151,N152,N153,N154,N155,N156, + N157,N158,N159,N160,N161,N162,N163,N164,N165,N166, + N167,N168,N169,N170,N171,N172,N173,N174,N175,N176, + N177,N178,N179,N180,N181,N182,N183,N184,N185,N186, + N187,N188,N189,N190,N191,N192,N193,N194,N195,N196, + N197,N198,N199,N200,N201,N202,N203,N204,N205,N206, + N207,N208,N209,N210,N211,N212,N213,N214,N215,N216, + N217,N218,N219,N220,N221,N222,N223,N224,N225,N226, + N227,N228,N229,N230,N231,N232,N233,N234,N235,N236, + N237,N238,N239,N240,N242,N245,N248,N251,N254,N257, + N260,N263,N267,N271,N274,N277,N280,N283,N286,N289, + N293,N296,N299,N303,N307,N310,N313,N316,N319,N322, + N325,N328,N331,N334,N337,N340,N343,N346,N349,N352, + N355,N358,N361,N364,N367,N382,N241_I} = test_vectors[k]; + + #1 + out_vectors[k] = {N387,N388,N478,N482,N484,N486,N489,N492,N501,N505, + N507,N509,N511,N513,N515,N517,N519,N535,N537,N539, + N541,N543,N545,N547,N549,N551,N553,N556,N559,N561, + N563,N565,N567,N569,N571,N573,N582,N643,N707,N813, + N881,N882,N883,N884,N885,N889,N945,N1110,N1111,N1112, + N1113,N1114,N1489,N1490,N1781,N10025,N10101,N10102,N10103,N10104, + N10109,N10110,N10111,N10112,N10350,N10351,N10352,N10353,N10574,N10575, + N10576,N10628,N10632,N10641,N10704,N10706,N10711,N10712,N10713,N10714, + N10715,N10716,N10717,N10718,N10729,N10759,N10760,N10761,N10762,N10763, + N10827,N10837,N10838,N10839,N10840,N10868,N10869,N10870,N10871,N10905, + N10906,N10907,N10908,N11333,N11334,N11340,N11342,N241_O}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c7552_in_data.txt", test_vectors); + $writememb("c7552_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c880.v b/SupplementaryMaterials/Iscas85Verilog/c880.v new file mode 100644 index 0000000..135617d --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c880.v @@ -0,0 +1,458 @@ +// Verilog +// c880 +// Ninputs 60 +// Noutputs 26 +// NtotalGates 383 +// NAND4 13 +// AND3 12 +// NAND2 60 +// NAND3 14 +// AND2 105 +// OR2 29 +// NOT1 63 +// NOR2 61 +// BUFF1 26 + +module c880 (N1,N8,N13,N17,N26,N29,N36,N42,N51,N55, + N59,N68,N72,N73,N74,N75,N80,N85,N86,N87, + N88,N89,N90,N91,N96,N101,N106,N111,N116,N121, + N126,N130,N135,N138,N143,N146,N149,N152,N153,N156, + N159,N165,N171,N177,N183,N189,N195,N201,N207,N210, + N219,N228,N237,N246,N255,N259,N260,N261,N267,N268, + N388,N389,N390,N391,N418,N419,N420,N421,N422,N423, + N446,N447,N448,N449,N450,N767,N768,N850,N863,N864, + N865,N866,N874,N878,N879,N880); + +input N1,N8,N13,N17,N26,N29,N36,N42,N51,N55, + N59,N68,N72,N73,N74,N75,N80,N85,N86,N87, + N88,N89,N90,N91,N96,N101,N106,N111,N116,N121, + N126,N130,N135,N138,N143,N146,N149,N152,N153,N156, + N159,N165,N171,N177,N183,N189,N195,N201,N207,N210, + N219,N228,N237,N246,N255,N259,N260,N261,N267,N268; + +output N388,N389,N390,N391,N418,N419,N420,N421,N422,N423, + N446,N447,N448,N449,N450,N767,N768,N850,N863,N864, + N865,N866,N874,N878,N879,N880; + +wire N269,N270,N273,N276,N279,N280,N284,N285,N286,N287, + N290,N291,N292,N293,N294,N295,N296,N297,N298,N301, + N302,N303,N304,N305,N306,N307,N308,N309,N310,N316, + N317,N318,N319,N322,N323,N324,N325,N326,N327,N328, + N329,N330,N331,N332,N333,N334,N335,N336,N337,N338, + N339,N340,N341,N342,N343,N344,N345,N346,N347,N348, + N349,N350,N351,N352,N353,N354,N355,N356,N357,N360, + N363,N366,N369,N375,N376,N379,N382,N385,N392,N393, + N399,N400,N401,N402,N403,N404,N405,N406,N407,N408, + N409,N410,N411,N412,N413,N414,N415,N416,N417,N424, + N425,N426,N427,N432,N437,N442,N443,N444,N445,N451, + N460,N463,N466,N475,N476,N477,N478,N479,N480,N481, + N482,N483,N488,N489,N490,N491,N492,N495,N498,N499, + N500,N501,N502,N503,N504,N505,N506,N507,N508,N509, + N510,N511,N512,N513,N514,N515,N516,N517,N518,N519, + N520,N521,N522,N523,N524,N525,N526,N527,N528,N529, + N530,N533,N536,N537,N538,N539,N540,N541,N542,N543, + N544,N547,N550,N551,N552,N553,N557,N561,N565,N569, + N573,N577,N581,N585,N586,N587,N588,N589,N590,N593, + N596,N597,N600,N605,N606,N609,N615,N616,N619,N624, + N625,N628,N631,N632,N635,N640,N641,N644,N650,N651, + N654,N659,N660,N661,N662,N665,N669,N670,N673,N677, + N678,N682,N686,N687,N692,N696,N697,N700,N704,N705, + N708,N712,N713,N717,N721,N722,N727,N731,N732,N733, + N734,N735,N736,N737,N738,N739,N740,N741,N742,N743, + N744,N745,N746,N747,N748,N749,N750,N751,N752,N753, + N754,N755,N756,N757,N758,N759,N760,N761,N762,N763, + N764,N765,N766,N769,N770,N771,N772,N773,N777,N778, + N781,N782,N785,N786,N787,N788,N789,N790,N791,N792, + N793,N794,N795,N796,N802,N803,N804,N805,N806,N807, + N808,N809,N810,N811,N812,N813,N814,N815,N819,N822, + N825,N826,N827,N828,N829,N830,N831,N832,N833,N834, + N835,N836,N837,N838,N839,N840,N841,N842,N843,N844, + N845,N846,N847,N848,N849,N851,N852,N853,N854,N855, + N856,N857,N858,N859,N860,N861,N862,N867,N868,N869, + N870,N871,N872,N873,N875,N876,N877; + +nand NAND4_1 (N269, N1, N8, N13, N17); +nand NAND4_2 (N270, N1, N26, N13, N17); +and AND3_3 (N273, N29, N36, N42); +and AND3_4 (N276, N1, N26, N51); +nand NAND4_5 (N279, N1, N8, N51, N17); +nand NAND4_6 (N280, N1, N8, N13, N55); +nand NAND4_7 (N284, N59, N42, N68, N72); +nand NAND2_8 (N285, N29, N68); +nand NAND3_9 (N286, N59, N68, N74); +and AND3_10 (N287, N29, N75, N80); +and AND3_11 (N290, N29, N75, N42); +and AND3_12 (N291, N29, N36, N80); +and AND3_13 (N292, N29, N36, N42); +and AND3_14 (N293, N59, N75, N80); +and AND3_15 (N294, N59, N75, N42); +and AND3_16 (N295, N59, N36, N80); +and AND3_17 (N296, N59, N36, N42); +and AND2_18 (N297, N85, N86); +or OR2_19 (N298, N87, N88); +nand NAND2_20 (N301, N91, N96); +or OR2_21 (N302, N91, N96); +nand NAND2_22 (N303, N101, N106); +or OR2_23 (N304, N101, N106); +nand NAND2_24 (N305, N111, N116); +or OR2_25 (N306, N111, N116); +nand NAND2_26 (N307, N121, N126); +or OR2_27 (N308, N121, N126); +and AND2_28 (N309, N8, N138); +not NOT1_29 (N310, N268); +and AND2_30 (N316, N51, N138); +and AND2_31 (N317, N17, N138); +and AND2_32 (N318, N152, N138); +nand NAND2_33 (N319, N59, N156); +nor NOR2_34 (N322, N17, N42); +and AND2_35 (N323, N17, N42); +nand NAND2_36 (N324, N159, N165); +or OR2_37 (N325, N159, N165); +nand NAND2_38 (N326, N171, N177); +or OR2_39 (N327, N171, N177); +nand NAND2_40 (N328, N183, N189); +or OR2_41 (N329, N183, N189); +nand NAND2_42 (N330, N195, N201); +or OR2_43 (N331, N195, N201); +and AND2_44 (N332, N210, N91); +and AND2_45 (N333, N210, N96); +and AND2_46 (N334, N210, N101); +and AND2_47 (N335, N210, N106); +and AND2_48 (N336, N210, N111); +and AND2_49 (N337, N255, N259); +and AND2_50 (N338, N210, N116); +and AND2_51 (N339, N255, N260); +and AND2_52 (N340, N210, N121); +and AND2_53 (N341, N255, N267); +not NOT1_54 (N342, N269); +not NOT1_55 (N343, N273); +or OR2_56 (N344, N270, N273); +not NOT1_57 (N345, N276); +not NOT1_58 (N346, N276); +not NOT1_59 (N347, N279); +nor NOR2_60 (N348, N280, N284); +or OR2_61 (N349, N280, N285); +or OR2_62 (N350, N280, N286); +not NOT1_63 (N351, N293); +not NOT1_64 (N352, N294); +not NOT1_65 (N353, N295); +not NOT1_66 (N354, N296); +nand NAND2_67 (N355, N89, N298); +and AND2_68 (N356, N90, N298); +nand NAND2_69 (N357, N301, N302); +nand NAND2_70 (N360, N303, N304); +nand NAND2_71 (N363, N305, N306); +nand NAND2_72 (N366, N307, N308); +not NOT1_73 (N369, N310); +nor NOR2_74 (N375, N322, N323); +nand NAND2_75 (N376, N324, N325); +nand NAND2_76 (N379, N326, N327); +nand NAND2_77 (N382, N328, N329); +nand NAND2_78 (N385, N330, N331); +buf BUFF1_79 (N388, N290); +buf BUFF1_80 (N389, N291); +buf BUFF1_81 (N390, N292); +buf BUFF1_82 (N391, N297); +or OR2_83 (N392, N270, N343); +not NOT1_84 (N393, N345); +not NOT1_85 (N399, N346); +and AND2_86 (N400, N348, N73); +not NOT1_87 (N401, N349); +not NOT1_88 (N402, N350); +not NOT1_89 (N403, N355); +not NOT1_90 (N404, N357); +not NOT1_91 (N405, N360); +and AND2_92 (N406, N357, N360); +not NOT1_93 (N407, N363); +not NOT1_94 (N408, N366); +and AND2_95 (N409, N363, N366); +nand NAND2_96 (N410, N347, N352); +not NOT1_97 (N411, N376); +not NOT1_98 (N412, N379); +and AND2_99 (N413, N376, N379); +not NOT1_100 (N414, N382); +not NOT1_101 (N415, N385); +and AND2_102 (N416, N382, N385); +and AND2_103 (N417, N210, N369); +buf BUFF1_104 (N418, N342); +buf BUFF1_105 (N419, N344); +buf BUFF1_106 (N420, N351); +buf BUFF1_107 (N421, N353); +buf BUFF1_108 (N422, N354); +buf BUFF1_109 (N423, N356); +not NOT1_110 (N424, N400); +and AND2_111 (N425, N404, N405); +and AND2_112 (N426, N407, N408); +and AND3_113 (N427, N319, N393, N55); +and AND3_114 (N432, N393, N17, N287); +nand NAND3_115 (N437, N393, N287, N55); +nand NAND4_116 (N442, N375, N59, N156, N393); +nand NAND3_117 (N443, N393, N319, N17); +and AND2_118 (N444, N411, N412); +and AND2_119 (N445, N414, N415); +buf BUFF1_120 (N446, N392); +buf BUFF1_121 (N447, N399); +buf BUFF1_122 (N448, N401); +buf BUFF1_123 (N449, N402); +buf BUFF1_124 (N450, N403); +not NOT1_125 (N451, N424); +nor NOR2_126 (N460, N406, N425); +nor NOR2_127 (N463, N409, N426); +nand NAND2_128 (N466, N442, N410); +and AND2_129 (N475, N143, N427); +and AND2_130 (N476, N310, N432); +and AND2_131 (N477, N146, N427); +and AND2_132 (N478, N310, N432); +and AND2_133 (N479, N149, N427); +and AND2_134 (N480, N310, N432); +and AND2_135 (N481, N153, N427); +and AND2_136 (N482, N310, N432); +nand NAND2_137 (N483, N443, N1); +or OR2_138 (N488, N369, N437); +or OR2_139 (N489, N369, N437); +or OR2_140 (N490, N369, N437); +or OR2_141 (N491, N369, N437); +nor NOR2_142 (N492, N413, N444); +nor NOR2_143 (N495, N416, N445); +nand NAND2_144 (N498, N130, N460); +or OR2_145 (N499, N130, N460); +nand NAND2_146 (N500, N463, N135); +or OR2_147 (N501, N463, N135); +and AND2_148 (N502, N91, N466); +nor NOR2_149 (N503, N475, N476); +and AND2_150 (N504, N96, N466); +nor NOR2_151 (N505, N477, N478); +and AND2_152 (N506, N101, N466); +nor NOR2_153 (N507, N479, N480); +and AND2_154 (N508, N106, N466); +nor NOR2_155 (N509, N481, N482); +and AND2_156 (N510, N143, N483); +and AND2_157 (N511, N111, N466); +and AND2_158 (N512, N146, N483); +and AND2_159 (N513, N116, N466); +and AND2_160 (N514, N149, N483); +and AND2_161 (N515, N121, N466); +and AND2_162 (N516, N153, N483); +and AND2_163 (N517, N126, N466); +nand NAND2_164 (N518, N130, N492); +or OR2_165 (N519, N130, N492); +nand NAND2_166 (N520, N495, N207); +or OR2_167 (N521, N495, N207); +and AND2_168 (N522, N451, N159); +and AND2_169 (N523, N451, N165); +and AND2_170 (N524, N451, N171); +and AND2_171 (N525, N451, N177); +and AND2_172 (N526, N451, N183); +nand NAND2_173 (N527, N451, N189); +nand NAND2_174 (N528, N451, N195); +nand NAND2_175 (N529, N451, N201); +nand NAND2_176 (N530, N498, N499); +nand NAND2_177 (N533, N500, N501); +nor NOR2_178 (N536, N309, N502); +nor NOR2_179 (N537, N316, N504); +nor NOR2_180 (N538, N317, N506); +nor NOR2_181 (N539, N318, N508); +nor NOR2_182 (N540, N510, N511); +nor NOR2_183 (N541, N512, N513); +nor NOR2_184 (N542, N514, N515); +nor NOR2_185 (N543, N516, N517); +nand NAND2_186 (N544, N518, N519); +nand NAND2_187 (N547, N520, N521); +not NOT1_188 (N550, N530); +not NOT1_189 (N551, N533); +and AND2_190 (N552, N530, N533); +nand NAND2_191 (N553, N536, N503); +nand NAND2_192 (N557, N537, N505); +nand NAND2_193 (N561, N538, N507); +nand NAND2_194 (N565, N539, N509); +nand NAND2_195 (N569, N488, N540); +nand NAND2_196 (N573, N489, N541); +nand NAND2_197 (N577, N490, N542); +nand NAND2_198 (N581, N491, N543); +not NOT1_199 (N585, N544); +not NOT1_200 (N586, N547); +and AND2_201 (N587, N544, N547); +and AND2_202 (N588, N550, N551); +and AND2_203 (N589, N585, N586); +nand NAND2_204 (N590, N553, N159); +or OR2_205 (N593, N553, N159); +and AND2_206 (N596, N246, N553); +nand NAND2_207 (N597, N557, N165); +or OR2_208 (N600, N557, N165); +and AND2_209 (N605, N246, N557); +nand NAND2_210 (N606, N561, N171); +or OR2_211 (N609, N561, N171); +and AND2_212 (N615, N246, N561); +nand NAND2_213 (N616, N565, N177); +or OR2_214 (N619, N565, N177); +and AND2_215 (N624, N246, N565); +nand NAND2_216 (N625, N569, N183); +or OR2_217 (N628, N569, N183); +and AND2_218 (N631, N246, N569); +nand NAND2_219 (N632, N573, N189); +or OR2_220 (N635, N573, N189); +and AND2_221 (N640, N246, N573); +nand NAND2_222 (N641, N577, N195); +or OR2_223 (N644, N577, N195); +and AND2_224 (N650, N246, N577); +nand NAND2_225 (N651, N581, N201); +or OR2_226 (N654, N581, N201); +and AND2_227 (N659, N246, N581); +nor NOR2_228 (N660, N552, N588); +nor NOR2_229 (N661, N587, N589); +not NOT1_230 (N662, N590); +and AND2_231 (N665, N593, N590); +nor NOR2_232 (N669, N596, N522); +not NOT1_233 (N670, N597); +and AND2_234 (N673, N600, N597); +nor NOR2_235 (N677, N605, N523); +not NOT1_236 (N678, N606); +and AND2_237 (N682, N609, N606); +nor NOR2_238 (N686, N615, N524); +not NOT1_239 (N687, N616); +and AND2_240 (N692, N619, N616); +nor NOR2_241 (N696, N624, N525); +not NOT1_242 (N697, N625); +and AND2_243 (N700, N628, N625); +nor NOR2_244 (N704, N631, N526); +not NOT1_245 (N705, N632); +and AND2_246 (N708, N635, N632); +nor NOR2_247 (N712, N337, N640); +not NOT1_248 (N713, N641); +and AND2_249 (N717, N644, N641); +nor NOR2_250 (N721, N339, N650); +not NOT1_251 (N722, N651); +and AND2_252 (N727, N654, N651); +nor NOR2_253 (N731, N341, N659); +nand NAND2_254 (N732, N654, N261); +nand NAND3_255 (N733, N644, N654, N261); +nand NAND4_256 (N734, N635, N644, N654, N261); +not NOT1_257 (N735, N662); +and AND2_258 (N736, N228, N665); +and AND2_259 (N737, N237, N662); +not NOT1_260 (N738, N670); +and AND2_261 (N739, N228, N673); +and AND2_262 (N740, N237, N670); +not NOT1_263 (N741, N678); +and AND2_264 (N742, N228, N682); +and AND2_265 (N743, N237, N678); +not NOT1_266 (N744, N687); +and AND2_267 (N745, N228, N692); +and AND2_268 (N746, N237, N687); +not NOT1_269 (N747, N697); +and AND2_270 (N748, N228, N700); +and AND2_271 (N749, N237, N697); +not NOT1_272 (N750, N705); +and AND2_273 (N751, N228, N708); +and AND2_274 (N752, N237, N705); +not NOT1_275 (N753, N713); +and AND2_276 (N754, N228, N717); +and AND2_277 (N755, N237, N713); +not NOT1_278 (N756, N722); +nor NOR2_279 (N757, N727, N261); +and AND2_280 (N758, N727, N261); +and AND2_281 (N759, N228, N727); +and AND2_282 (N760, N237, N722); +nand NAND2_283 (N761, N644, N722); +nand NAND2_284 (N762, N635, N713); +nand NAND3_285 (N763, N635, N644, N722); +nand NAND2_286 (N764, N609, N687); +nand NAND2_287 (N765, N600, N678); +nand NAND3_288 (N766, N600, N609, N687); +buf BUFF1_289 (N767, N660); +buf BUFF1_290 (N768, N661); +nor NOR2_291 (N769, N736, N737); +nor NOR2_292 (N770, N739, N740); +nor NOR2_293 (N771, N742, N743); +nor NOR2_294 (N772, N745, N746); +nand NAND4_295 (N773, N750, N762, N763, N734); +nor NOR2_296 (N777, N748, N749); +nand NAND3_297 (N778, N753, N761, N733); +nor NOR2_298 (N781, N751, N752); +nand NAND2_299 (N782, N756, N732); +nor NOR2_300 (N785, N754, N755); +nor NOR2_301 (N786, N757, N758); +nor NOR2_302 (N787, N759, N760); +nor NOR2_303 (N788, N700, N773); +and AND2_304 (N789, N700, N773); +nor NOR2_305 (N790, N708, N778); +and AND2_306 (N791, N708, N778); +nor NOR2_307 (N792, N717, N782); +and AND2_308 (N793, N717, N782); +and AND2_309 (N794, N219, N786); +nand NAND2_310 (N795, N628, N773); +nand NAND2_311 (N796, N795, N747); +nor NOR2_312 (N802, N788, N789); +nor NOR2_313 (N803, N790, N791); +nor NOR2_314 (N804, N792, N793); +nor NOR2_315 (N805, N340, N794); +nor NOR2_316 (N806, N692, N796); +and AND2_317 (N807, N692, N796); +and AND2_318 (N808, N219, N802); +and AND2_319 (N809, N219, N803); +and AND2_320 (N810, N219, N804); +nand NAND4_321 (N811, N805, N787, N731, N529); +nand NAND2_322 (N812, N619, N796); +nand NAND3_323 (N813, N609, N619, N796); +nand NAND4_324 (N814, N600, N609, N619, N796); +nand NAND4_325 (N815, N738, N765, N766, N814); +nand NAND3_326 (N819, N741, N764, N813); +nand NAND2_327 (N822, N744, N812); +nor NOR2_328 (N825, N806, N807); +nor NOR2_329 (N826, N335, N808); +nor NOR2_330 (N827, N336, N809); +nor NOR2_331 (N828, N338, N810); +not NOT1_332 (N829, N811); +nor NOR2_333 (N830, N665, N815); +and AND2_334 (N831, N665, N815); +nor NOR2_335 (N832, N673, N819); +and AND2_336 (N833, N673, N819); +nor NOR2_337 (N834, N682, N822); +and AND2_338 (N835, N682, N822); +and AND2_339 (N836, N219, N825); +nand NAND3_340 (N837, N826, N777, N704); +nand NAND4_341 (N838, N827, N781, N712, N527); +nand NAND4_342 (N839, N828, N785, N721, N528); +not NOT1_343 (N840, N829); +nand NAND2_344 (N841, N815, N593); +nor NOR2_345 (N842, N830, N831); +nor NOR2_346 (N843, N832, N833); +nor NOR2_347 (N844, N834, N835); +nor NOR2_348 (N845, N334, N836); +not NOT1_349 (N846, N837); +not NOT1_350 (N847, N838); +not NOT1_351 (N848, N839); +and AND2_352 (N849, N735, N841); +buf BUFF1_353 (N850, N840); +and AND2_354 (N851, N219, N842); +and AND2_355 (N852, N219, N843); +and AND2_356 (N853, N219, N844); +nand NAND3_357 (N854, N845, N772, N696); +not NOT1_358 (N855, N846); +not NOT1_359 (N856, N847); +not NOT1_360 (N857, N848); +not NOT1_361 (N858, N849); +nor NOR2_362 (N859, N417, N851); +nor NOR2_363 (N860, N332, N852); +nor NOR2_364 (N861, N333, N853); +not NOT1_365 (N862, N854); +buf BUFF1_366 (N863, N855); +buf BUFF1_367 (N864, N856); +buf BUFF1_368 (N865, N857); +buf BUFF1_369 (N866, N858); +nand NAND3_370 (N867, N859, N769, N669); +nand NAND3_371 (N868, N860, N770, N677); +nand NAND3_372 (N869, N861, N771, N686); +not NOT1_373 (N870, N862); +not NOT1_374 (N871, N867); +not NOT1_375 (N872, N868); +not NOT1_376 (N873, N869); +buf BUFF1_377 (N874, N870); +not NOT1_378 (N875, N871); +not NOT1_379 (N876, N872); +not NOT1_380 (N877, N873); +buf BUFF1_381 (N878, N875); +buf BUFF1_382 (N879, N876); +buf BUFF1_383 (N880, N877); + +endmodule diff --git a/SupplementaryMaterials/Iscas85Verilog/c880_tb.v b/SupplementaryMaterials/Iscas85Verilog/c880_tb.v new file mode 100644 index 0000000..81306e2 --- /dev/null +++ b/SupplementaryMaterials/Iscas85Verilog/c880_tb.v @@ -0,0 +1,68 @@ + +module c880_tb(); + +reg N1,N8,N13,N17,N26,N29,N36,N42,N51,N55, + N59,N68,N72,N73,N74,N75,N80,N85,N86,N87, + N88,N89,N90,N91,N96,N101,N106,N111,N116,N121, + N126,N130,N135,N138,N143,N146,N149,N152,N153,N156, + N159,N165,N171,N177,N183,N189,N195,N201,N207,N210, + N219,N228,N237,N246,N255,N259,N260,N261,N267,N268; + +wire N388,N389,N390,N391,N418,N419,N420,N421,N422,N423, + N446,N447,N448,N449,N450,N767,N768,N850,N863,N864, + N865,N866,N874,N878,N879,N880; + + +c880 c0(N1,N8,N13,N17,N26,N29,N36,N42,N51,N55, + N59,N68,N72,N73,N74,N75,N80,N85,N86,N87, + N88,N89,N90,N91,N96,N101,N106,N111,N116,N121, + N126,N130,N135,N138,N143,N146,N149,N152,N153,N156, + N159,N165,N171,N177,N183,N189,N195,N201,N207,N210, + N219,N228,N237,N246,N255,N259,N260,N261,N267,N268, + N388,N389,N390,N391,N418,N419,N420,N421,N422,N423, + N446,N447,N448,N449,N450,N767,N768,N850,N863,N864, + N865,N866,N874,N878,N879,N880); + + +reg [59:0] test_vectors[0:9]; +reg [25:0] out_vectors[0:9]; + +integer k; + +initial + begin + + $readmemb("c880_input_data.txt", test_vectors); + + end + +initial + begin + + for(k = 0; k < 10; k = k + 1) + begin + #10 + {N1,N8,N13,N17,N26,N29,N36,N42,N51,N55, + N59,N68,N72,N73,N74,N75,N80,N85,N86,N87, + N88,N89,N90,N91,N96,N101,N106,N111,N116,N121, + N126,N130,N135,N138,N143,N146,N149,N152,N153,N156, + N159,N165,N171,N177,N183,N189,N195,N201,N207,N210, + N219,N228,N237,N246,N255,N259,N260,N261,N267,N268} = test_vectors[k]; + + #1 + out_vectors[k] = {N388,N389,N390,N391,N418,N419,N420,N421,N422,N423, + N446,N447,N448,N449,N450,N767,N768,N850,N863,N864, + N865,N866,N874,N878,N879,N880}; + + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("c880_in_data.txt", test_vectors); + $writememb("c880_out_data.txt", out_vectors); + + end + + + +endmodule diff --git a/SupplementaryMaterials/ModelsimOutputs/c1355_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c1355_out_data.txt new file mode 100644 index 0000000..2a63774 --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c1355_out_data.txt @@ -0,0 +1,10 @@ +11111011010100000011001011010101 +11010101000010111100000110110110 +01011111101011111101010111111010 +11111010100010100011110001010011 +10001001000111000011011100011111 +00011100110010011111111011111111 +01111001100100001010011110010000 +11010000011101001111111111011100 +11001100100000010000101100111100 +00110100100100000100101010000111 diff --git a/SupplementaryMaterials/ModelsimOutputs/c1908_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c1908_out_data.txt new file mode 100644 index 0000000..3b9b343 --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c1908_out_data.txt @@ -0,0 +1,10 @@ +0000011010011011010100011 +1101010011101010011111101 +1001000001001101011011001 +0101011010000010000101000 +1110011101110001000010111 +1110111110110001100000110 +1011110111110001011011010 +0000111001100011100000100 +0110011000111111011101000 +0010000110000000000100010 diff --git a/SupplementaryMaterials/ModelsimOutputs/c2670_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c2670_out_data.txt new file mode 100644 index 0000000..ae3a131 --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c2670_out_data.txt @@ -0,0 +1,10 @@ +11100111110101111110111010111111111100001000001111010011000000010010000011101101110001111001000111000000110111111110001100110110000000010000 +11100111101101001110111010001010111110100111111111011011011010011010111100010001011010101110010100101100001001011011010000011000000100001000 +00000111000000001100111101000110111010011011001110010011000010010001010101101000110100001101011000001000101100110011101001111101010010100100 +11100000110000001111111010110010011010101000000001011011011000011000111100111011001101111011010110010100100101011111000001010111111011110111 +11100111100110010110111010111010111010100100001001010010000000010100000011011010010010000111001100111110011011011100110111100101100101000000 +00011000101001111100000010010010111110100011000111000010000100010011110101101101100001001100001101111101010111010110111011001010010011011111 +11111111101011101111111011110001111101111011111001100011000000011100011001100001010001011111011000111011101000100100010011011010010101110111 +00000000101010101100111010010111111100001000001110010011100010010111111101011000001011100011101011011111101000000011011111100011011011111010 +11111000111001011110011011111001111001100100110001000010111100010101001110101010010111110010101110011110001000000111100010111100010110110110 +00000111110100011100111011001011111100110100000001011010111010011101111100001110100110011010110001000010010110001010000101111001111111110111 diff --git a/SupplementaryMaterials/ModelsimOutputs/c3540_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c3540_out_data.txt new file mode 100644 index 0000000..c9c45b8 --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c3540_out_data.txt @@ -0,0 +1,10 @@ +0001100110100111001011 +0010000000000010011111 +1100100000000000000111 +0101100110011111111111 +0101100000000111101111 +0001110001101111111001 +1111000001101111111111 +0101000001101110111000 +0001100000001100011110 +0100100000000101001011 diff --git a/SupplementaryMaterials/ModelsimOutputs/c432_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c432_out_data.txt new file mode 100644 index 0000000..b3dc5cb --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c432_out_data.txt @@ -0,0 +1,10 @@ +1111011 +1111000 +1111111 +1001010 +1010011 +1011110 +1001011 +0111110 +1111010 +1111001 diff --git a/SupplementaryMaterials/ModelsimOutputs/c499_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c499_out_data.txt new file mode 100644 index 0000000..79e72f4 --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c499_out_data.txt @@ -0,0 +1,10 @@ +00000100101011111100110100101010 +00101010111101000011111001001001 +10100000010100000010101000000101 +00000101011101011100001110101100 +01110110111000111100100011100000 +11100011001101100000000100000000 +10000110011011110101100001101111 +00101111100010110000000000100011 +00110011011111101111010011000011 +11001011011011111011010101111000 diff --git a/SupplementaryMaterials/ModelsimOutputs/c5315_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c5315_out_data.txt new file mode 100644 index 0000000..72cdefa --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c5315_out_data.txt @@ -0,0 +1,10 @@ +000110001110010110101100110110000101111000000000000010110001111101101000011001110001001100101011011111000011100100000101010 +101111011101100110010011011101111100001011100000011111110011101111001000000111011100000000001101011101101001000000000101111 +100001000001010100001110110100000101000110100100101010111001010000001100101111100011110100100010000001111111111111000010111 +000011010011000100101001011101111100000000000000011111111010100100101100000110110100000000111011011000010001100000000100111 +100011000001111000111010110110000101111111100000011111111111111011110100001011000000000000111111011110010000000000000111011 +000101011110010110111000011110000101111000000000010111101110110011111000001000100000000000011011011101111111100000000110011 +111001000011110101001111100101111010111000100000010010110001001101101000011001100011011100010100000011111001111010111001100 +110000100010010001101111110001111100000111100000010111111100100010001100010110011101111101010111011010100001001001010001101 +100110111111010000111111001111111011111111100000000101001101011001110000110001100010011001000100001111000000001010010100111 +000110001100011010011100110110000101111000000000011010111100111011111100000000000000100010011111011110000000001100110110000 diff --git a/SupplementaryMaterials/ModelsimOutputs/c6288_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c6288_out_data.txt new file mode 100644 index 0000000..e923b6d --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c6288_out_data.txt @@ -0,0 +1,26 @@ +01010001001000101101000100000001 +01100001010110001000000001101101 +01001000000010100101101101010001 +10100111100110110010101011110000 +11000000010001111001101011011001 +01001101110000110101000110101010 +00100010010110100111001001111110 +00000000001110111100011110101010 +00101010010011111110001111110000 +11101011001011110000110111100101 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx diff --git a/SupplementaryMaterials/ModelsimOutputs/c7552_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c7552_out_data.txt new file mode 100644 index 0000000..099c0ad --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c7552_out_data.txt @@ -0,0 +1,10 @@ +000000001100010101110001110001110011001111111011011010011001001111101110011100100011110001000001000100110011 +111100001000010000111101000100011001101001111110101111011111110111010101010111011100111110011111000010010101 +001110001001110010110111111000111111001011111001011010001111001010101111010111001010110101111110010010010000 +000111101000101011000011100100011000001001110001011010001111001001100111111111101111110100000110001110001001 +111010111010100000010101010101101011100011111101111111100000000100111110011001111011101111111111111100101000 +000101111011001110101110001010011111111011111011111110000000111110111110100001100100100001000111101000011001 +111111100001001010100001001000001000010011111110001011100000011001011110000001010000100101011111110000011010 +000101111100000100111011011011110010000111111011011010001111110111011111111110110100111011111110110100101010 +110010000101100000110100011100101000011111111101011011001111001111101111100110111011111110011111110101000000 +110111101110001110110000111101001100000011111100001011011111100110011111011110010010110001111110001101101001 diff --git a/SupplementaryMaterials/ModelsimOutputs/c880_out_data.txt b/SupplementaryMaterials/ModelsimOutputs/c880_out_data.txt new file mode 100644 index 0000000..0ea751a --- /dev/null +++ b/SupplementaryMaterials/ModelsimOutputs/c880_out_data.txt @@ -0,0 +1,10 @@ +00000101101000100111101111 +00001111111000000011110101 +00000111101000000111101100 +00010111111100110000000000 +01000111101000110011101110 +00010111101000100111000100 +00000100011000110101101010 +00010111101000111100000111 +00010111111000000111101111 +00001011101010000000000000 diff --git a/SupplementaryMaterials/PathVerilog/c1908_path1.v b/SupplementaryMaterials/PathVerilog/c1908_path1.v new file mode 100644 index 0000000..1f15bab --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c1908_path1.v @@ -0,0 +1,73 @@ +module singlepath (N43, N2892); +input N43; +output N2892; +wire N2874, N2873, N2846, N2828, N2810, N2809, N2776, N2205, N2552, N1493, N1367, N2021, N1734, N1731, N1786, N2022, N1623, N2315, N1554, N2611, N1882, N571, N2229, N1454, N1521, N1987, N243, N1216, N2235, N2576, N1936, N727, N1314, N1025, N2269, N385, N2620, N1215, N745, N1841, N1787, N1911, N1883, N2039, N2555, N2081, N1453, N2202, N1022, N2228, N2658, N2245, N1658, N2628, N2272, N2326, N2573, N1810, N2617, N2614, N2655, N2061, N2661, N2664, N2746, N2750, Vcc, gnd; +not NOT1_15(N243, N43); +buf BUFF1_57(N385, N43); +buf BUFF1_86(N571, N243); +buf BUFF1_138(N727, N243); +buf BUFF1_144(N745, N243); +buf BUFF1_223(N1022, N571); +buf BUFF1_224(N1025, N571); +not NOT1_280(N1215, N1025); +nand NAND2_281(N1216, N1025, Vcc); +nand NAND2_318(N1314, N1215, Vcc); +nand NAND2_340(N1367, N1314, Vcc); +nand NAND2_374(N1453, N1367, Vcc); +not NOT1_375(N1454, N1367); +nand NAND2_402(N1493, N1454, Vcc); +nand NAND2_416(N1521, N1493, Vcc); +not NOT1_429(N1554, N1521); +buf BUFF1_450(N1623, N1554); +buf BUFF1_459(N1658, N1554); +buf BUFF1_492(N1731, N1623); +buf BUFF1_493(N1734, N1623); +not NOT1_515(N1786, N1734); +nand NAND2_516(N1787, N1734, Vcc); +nand NAND2_528(N1810, N1786, Vcc); +nand NAND2_542(N1841, N1810, Vcc); +nand NAND2_559(N1882, N1841, Vcc); +not NOT1_560(N1883, N1841); +nand NAND2_570(N1911, N1883, Vcc); +nand NAND2_583(N1936, N1911, Vcc); +not NOT1_603(N1987, N1936); +not NOT1_622(N2021, N1987); +nand NAND2_623(N2022, N1987, Vcc); +nand NAND2_634(N2039, N2021, Vcc); +nand NAND2_642(N2061, N2039, Vcc); +nand NAND2_650(N2081, N2061, Vcc); +buf BUFF1_661(N2202, N2081); +buf BUFF1_662(N2205, N2081); +nand NAND2_673(N2228, N2202, Vcc); +not NOT1_674(N2229, N2202); +nand NAND2_680(N2235, N2229, Vcc); +nand NAND2_686(N2245, N2235, Vcc); +not NOT1_694(N2269, N2245); +and AND2_695(N2272, N2245, Vcc); +buf BUFF1_699(N2315, N2272); +buf BUFF1_700(N2326, N2272); +nand NAND5_715(N2552, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_716(N2555, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_722(N2573, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_723(N2576, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_729(N2611, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_730(N2614, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_731(N2617, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_732(N2620, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_734(N2628, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_746(N2655, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_747(N2658, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_748(N2661, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_749(N2664, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND8_791(N2746, N2552, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND8_793(N2750, N2552, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND2_811(N2776, N2746, Vcc); +nand NAND2_826(N2809, N2776, Vcc); +not NOT1_827(N2810, N2776); +nand NAND2_835(N2828, N2810, Vcc); +nand NAND2_838(N2846, N2828, Vcc); +nand NAND2_858(N2873, N2846, Vcc); +not NOT1_859(N2874, N2846); +nand NAND2_875(N2892, N2873, Vcc); + +endmodule diff --git a/SupplementaryMaterials/PathVerilog/c1908_path2.v b/SupplementaryMaterials/PathVerilog/c1908_path2.v new file mode 100644 index 0000000..0121bcb --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c1908_path2.v @@ -0,0 +1,74 @@ +module singlepath (N4, N2891); +input N4; +output N2891; +wire N2872, N2827, N2773, N1999, N1958, N1310, N1879, N346, N1774, N2000, N1849, N1823, N1709, N1708, N1651, N2651, N1824, N2573, N559, N1443, N2747, N2606, N1944, N2078, N1208, N1647, N1010, N2648, N1013, N2808, N1207, N1513, N634, N2642, N194, N1546, N1487, N1444, N2038, N2060, N2196, N1355, N2199, N2843, N2224, N2627, N2570, N2225, N2807, N2297, N2549, N2871, N2645, N2233, N1746, N2241, N2263, N2266, N2552, N2286, N2555, N2576, N2597, N2600, N2603, N2020, N2745, Vcc, gnd; +not NOT1_2(N194, N4); +buf BUFF1_44(N346, N4); +buf BUFF1_82(N559, N194); +buf BUFF1_107(N634, N194); +buf BUFF1_219(N1010, N559); +buf BUFF1_220(N1013, N559); +not NOT1_272(N1207, N1013); +nand NAND2_273(N1208, N1013, Vcc); +nand NAND2_314(N1310, N1207, Vcc); +nand NAND2_336(N1355, N1310, Vcc); +nand NAND2_366(N1443, N1355, Vcc); +not NOT1_367(N1444, N1355); +nand NAND2_396(N1487, N1444, Vcc); +nand NAND2_412(N1513, N1487, Vcc); +not NOT1_428(N1546, N1513); +buf BUFF1_457(N1647, N1546); +buf BUFF1_458(N1651, N1546); +nand NAND2_478(N1708, N1647, Vcc); +not NOT1_479(N1709, N1647); +nand NAND2_497(N1746, N1709, Vcc); +nand NAND2_510(N1774, N1746, Vcc); +nand NAND2_534(N1823, N1774, Vcc); +not NOT1_535(N1824, N1774); +nand NAND2_544(N1849, N1824, Vcc); +nand NAND2_558(N1879, N1849, Vcc); +buf BUFF1_588(N1944, N1879); +buf BUFF1_592(N1958, N1879); +not NOT1_604(N1999, N1944); +nand NAND2_605(N2000, N1944, Vcc); +nand NAND2_621(N2020, N1999, Vcc); +nand NAND2_633(N2038, N2020, Vcc); +not NOT1_641(N2060, N2038); +nand NAND2_649(N2078, N2060, Vcc); +buf BUFF1_659(N2196, N2078); +buf BUFF1_660(N2199, N2078); +nand NAND2_669(N2224, N2196, Vcc); +not NOT1_670(N2225, N2196); +nand NAND2_678(N2233, N2225, Vcc); +nand NAND2_684(N2241, N2233, Vcc); +not NOT1_692(N2263, N2241); +and AND2_693(N2266, N2241, Vcc); +buf BUFF1_697(N2286, N2266); +buf BUFF1_698(N2297, N2266); +nand NAND5_714(N2549, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_715(N2552, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_716(N2555, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_721(N2570, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_722(N2573, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_723(N2576, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_725(N2597, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_726(N2600, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_727(N2603, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_728(N2606, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_733(N2627, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_742(N2642, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_743(N2645, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_744(N2648, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_745(N2651, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND8_790(N2745, N2597, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND8_792(N2747, N2597, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND2_810(N2773, N2745, Vcc); +nand NAND2_824(N2807, N2773, Vcc); +not NOT1_825(N2808, N2773); +nand NAND2_834(N2827, N2808, Vcc); +nand NAND2_837(N2843, N2827, Vcc); +nand NAND2_856(N2871, N2843, Vcc); +not NOT1_857(N2872, N2843); +nand NAND2_874(N2891, N2871, Vcc); + +endmodule diff --git a/SupplementaryMaterials/PathVerilog/c1908_path3.v b/SupplementaryMaterials/PathVerilog/c1908_path3.v new file mode 100644 index 0000000..7e79aab --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c1908_path3.v @@ -0,0 +1,74 @@ +module singlepath (N4, N2892); +input N4; +output N2892; +wire N2873, N2846, N2828, N2810, N2809, N2776, N2750, N1999, N1958, N1310, N1879, N346, N1774, N2000, N1849, N1823, N1709, N1708, N1651, N2651, N1824, N2573, N559, N1443, N2606, N1944, N2078, N1208, N1647, N1010, N2648, N2874, N1013, N2020, N1207, N1513, N634, N2642, N194, N1546, N1487, N1444, N2038, N2060, N2196, N1355, N2199, N2224, N2627, N2570, N2225, N2297, N2549, N2645, N2233, N1746, N2241, N2263, N2266, N2552, N2286, N2555, N2576, N2597, N2600, N2603, N2746, Vcc, gnd; +not NOT1_2(N194, N4); +buf BUFF1_44(N346, N4); +buf BUFF1_82(N559, N194); +buf BUFF1_107(N634, N194); +buf BUFF1_219(N1010, N559); +buf BUFF1_220(N1013, N559); +not NOT1_272(N1207, N1013); +nand NAND2_273(N1208, N1013, Vcc); +nand NAND2_314(N1310, N1207, Vcc); +nand NAND2_336(N1355, N1310, Vcc); +nand NAND2_366(N1443, N1355, Vcc); +not NOT1_367(N1444, N1355); +nand NAND2_396(N1487, N1444, Vcc); +nand NAND2_412(N1513, N1487, Vcc); +not NOT1_428(N1546, N1513); +buf BUFF1_457(N1647, N1546); +buf BUFF1_458(N1651, N1546); +nand NAND2_478(N1708, N1647, Vcc); +not NOT1_479(N1709, N1647); +nand NAND2_497(N1746, N1709, Vcc); +nand NAND2_510(N1774, N1746, Vcc); +nand NAND2_534(N1823, N1774, Vcc); +not NOT1_535(N1824, N1774); +nand NAND2_544(N1849, N1824, Vcc); +nand NAND2_558(N1879, N1849, Vcc); +buf BUFF1_588(N1944, N1879); +buf BUFF1_592(N1958, N1879); +not NOT1_604(N1999, N1944); +nand NAND2_605(N2000, N1944, Vcc); +nand NAND2_621(N2020, N1999, Vcc); +nand NAND2_633(N2038, N2020, Vcc); +not NOT1_641(N2060, N2038); +nand NAND2_649(N2078, N2060, Vcc); +buf BUFF1_659(N2196, N2078); +buf BUFF1_660(N2199, N2078); +nand NAND2_669(N2224, N2196, Vcc); +not NOT1_670(N2225, N2196); +nand NAND2_678(N2233, N2225, Vcc); +nand NAND2_684(N2241, N2233, Vcc); +not NOT1_692(N2263, N2241); +and AND2_693(N2266, N2241, Vcc); +buf BUFF1_697(N2286, N2266); +buf BUFF1_698(N2297, N2266); +nand NAND5_714(N2549, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_715(N2552, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_716(N2555, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_721(N2570, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_722(N2573, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_723(N2576, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_725(N2597, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_726(N2600, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_727(N2603, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_728(N2606, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND5_733(N2627, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_742(N2642, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_743(N2645, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_744(N2648, N2297, Vcc, Vcc, Vcc, Vcc); +and AND5_745(N2651, N2297, Vcc, Vcc, Vcc, Vcc); +nand NAND8_791(N2746, N2555, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND8_793(N2750, N2555, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND2_811(N2776, N2746, Vcc); +nand NAND2_826(N2809, N2776, Vcc); +not NOT1_827(N2810, N2776); +nand NAND2_835(N2828, N2810, Vcc); +nand NAND2_838(N2846, N2828, Vcc); +nand NAND2_858(N2873, N2846, Vcc); +not NOT1_859(N2874, N2846); +nand NAND2_875(N2892, N2873, Vcc); + +endmodule diff --git a/SupplementaryMaterials/PathVerilog/c1908_path4.v b/SupplementaryMaterials/PathVerilog/c1908_path4.v new file mode 100644 index 0000000..cb81716 --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c1908_path4.v @@ -0,0 +1,69 @@ +module singlepath (N43, N2811); +input N43; +output N2811; +wire N2788, N2205, N2552, N1493, N1367, N2021, N1734, N1731, N1786, N2022, N1623, N2315, N1554, N2611, N1882, N571, N2229, N1454, N1521, N1987, N243, N1216, N2235, N2576, N1936, N727, N1314, N1025, N2269, N385, N2620, N1215, N745, N1841, N1787, N1911, N1883, N2039, N2789, N2555, N2081, N1453, N2202, N1022, N2228, N2658, N2245, N1658, N2628, N2272, N2800, N2326, N2573, N1810, N2617, N2614, N2655, N2061, N2661, N2664, N2746, N2750, Vcc, gnd; +not NOT1_15(N243, N43); +buf BUFF1_57(N385, N43); +buf BUFF1_86(N571, N243); +buf BUFF1_138(N727, N243); +buf BUFF1_144(N745, N243); +buf BUFF1_223(N1022, N571); +buf BUFF1_224(N1025, N571); +not NOT1_280(N1215, N1025); +nand NAND2_281(N1216, N1025, Vcc); +nand NAND2_318(N1314, N1215, Vcc); +nand NAND2_340(N1367, N1314, Vcc); +nand NAND2_374(N1453, N1367, Vcc); +not NOT1_375(N1454, N1367); +nand NAND2_402(N1493, N1454, Vcc); +nand NAND2_416(N1521, N1493, Vcc); +not NOT1_429(N1554, N1521); +buf BUFF1_450(N1623, N1554); +buf BUFF1_459(N1658, N1554); +buf BUFF1_492(N1731, N1623); +buf BUFF1_493(N1734, N1623); +not NOT1_515(N1786, N1734); +nand NAND2_516(N1787, N1734, Vcc); +nand NAND2_528(N1810, N1786, Vcc); +nand NAND2_542(N1841, N1810, Vcc); +nand NAND2_559(N1882, N1841, Vcc); +not NOT1_560(N1883, N1841); +nand NAND2_570(N1911, N1883, Vcc); +nand NAND2_583(N1936, N1911, Vcc); +not NOT1_603(N1987, N1936); +not NOT1_622(N2021, N1987); +nand NAND2_623(N2022, N1987, Vcc); +nand NAND2_634(N2039, N2021, Vcc); +nand NAND2_642(N2061, N2039, Vcc); +nand NAND2_650(N2081, N2061, Vcc); +buf BUFF1_661(N2202, N2081); +buf BUFF1_662(N2205, N2081); +nand NAND2_673(N2228, N2202, Vcc); +not NOT1_674(N2229, N2202); +nand NAND2_680(N2235, N2229, Vcc); +nand NAND2_686(N2245, N2235, Vcc); +not NOT1_694(N2269, N2245); +and AND2_695(N2272, N2245, Vcc); +buf BUFF1_699(N2315, N2272); +buf BUFF1_700(N2326, N2272); +nand NAND5_715(N2552, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_716(N2555, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_722(N2573, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_723(N2576, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_729(N2611, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_730(N2614, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_731(N2617, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_732(N2620, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND5_734(N2628, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_746(N2655, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_747(N2658, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_748(N2661, N2326, Vcc, Vcc, Vcc, Vcc); +and AND5_749(N2664, N2326, Vcc, Vcc, Vcc, Vcc); +nand NAND8_791(N2746, N2617, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND8_793(N2750, N2617, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +and AND3_821(N2788, N2750, Vcc, Vcc); +nand NAND2_822(N2789, N2750, Vcc); +and AND4_823(N2800, N2788, Vcc, Vcc, Vcc); +nor NOR2_828(N2811, N2800, gnd); + +endmodule diff --git a/SupplementaryMaterials/PathVerilog/c1908_paths.txt b/SupplementaryMaterials/PathVerilog/c1908_paths.txt new file mode 100644 index 0000000..a5b7942 --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c1908_paths.txt @@ -0,0 +1,4 @@ +N43 N243 N571 N1025 N1215 N1314 N1367 N1454 N1493 N1521 N1554 N1623 N1734 N1786 N1810 N1841 N1883 N1911 N1936 N1987 N2021 N2039 N2061 N2081 N2202 N2229 N2235 N2245 N2272 N2326 N2552 N2746 N2776 N2810 N2828 N2846 N2873 N2892 +N4 N194 N559 N1013 N1207 N1310 N1355 N1444 N1487 N1513 N1546 N1647 N1709 N1746 N1774 N1824 N1849 N1879 N1944 N1999 N2020 N2038 N2060 N2078 N2196 N2225 N2233 N2241 N2266 N2297 N2597 N2745 N2773 N2808 N2827 N2843 N2871 N2891 +N4 N194 N559 N1013 N1207 N1310 N1355 N1444 N1487 N1513 N1546 N1647 N1709 N1746 N1774 N1824 N1849 N1879 N1944 N1999 N2020 N2038 N2060 N2078 N2196 N2225 N2233 N2241 N2266 N2297 N2555 N2746 N2776 N2810 N2828 N2846 N2873 N2892 +N43 N243 N571 N1025 N1215 N1314 N1367 N1454 N1493 N1521 N1554 N1623 N1734 N1786 N1810 N1841 N1883 N1911 N1936 N1987 N2021 N2039 N2061 N2081 N2202 N2229 N2235 N2245 N2272 N2326 N2617 N2750 N2788 N2800 N2811 diff --git a/SupplementaryMaterials/PathVerilog/c3540_paths.txt b/SupplementaryMaterials/PathVerilog/c3540_paths.txt new file mode 100644 index 0000000..fe36e66 --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c3540_paths.txt @@ -0,0 +1 @@ +N803 N1594 N1798 N2769 N3149 N3451 N3670 N3753 N3845 N3936 N3996 N4091 N4167 N4322 N4421 N4508 N4552 N4593 N4694 N4750 N4822 N4889 N4929 N4952 N4970 N4984 N5013 N5058 N5111 N5154 N5198 N5240 N5250 N5286 N5298 N5327 N5344 N5351 N5357 N5360 diff --git a/SupplementaryMaterials/PathVerilog/c432_path1.v b/SupplementaryMaterials/PathVerilog/c432_path1.v new file mode 100644 index 0000000..e5140b5 --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/c432_path1.v @@ -0,0 +1,18 @@ +module singlepath (N1, N370); +input N1; +output N370; +wire N360, N357, N348, N300, N263, N242, N199, N154, N260, N224, N118, Vcc, gnd; +not NOT1_1(N118, N1); +nand NAND2_19(N154, N118, Vcc); +and AND9_46(N199, N154, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +xor XOR2_50(N224, N154, Vcc); +nand NAND2_56(N242, N1, Vcc); +nand NAND2_68(N260, N224, Vcc); +nand NAND2_69(N263, N224, Vcc); +not NOT1_87(N300, N263); +nand NAND2_117(N348, N300, Vcc); +and AND9_126(N357, N348, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc, Vcc); +not NOT1_127(N360, N357); +not NOT1_128(N370, N357); + +endmodule diff --git a/SupplementaryMaterials/PathVerilog/dene_path1.v b/SupplementaryMaterials/PathVerilog/dene_path1.v new file mode 100644 index 0000000..faa02ba --- /dev/null +++ b/SupplementaryMaterials/PathVerilog/dene_path1.v @@ -0,0 +1,9 @@ +module singlepath (N1, N199); +input N1; +output N199; +wire N154, N118, Vcc, gnd; +not NOT1_1(N118, N1); +nand NAND2_19(N154, N118, Vcc); +and AND9_46(N199, N154, Vcc, Vcc); + +endmodule diff --git a/SupplementaryMaterials/iscas89Verilog/s13207.v b/SupplementaryMaterials/iscas89Verilog/s13207.v new file mode 100644 index 0000000..b687193 --- /dev/null +++ b/SupplementaryMaterials/iscas89Verilog/s13207.v @@ -0,0 +1,9363 @@ +//# 62 inputs +//# 152 outputs +//# 638 D-type flipflops +//# 5378 inverters +//# 2573 gates (1114 ANDs + 849 NANDs + 512 ORs + 98 NORs) + + +// module dff ( ck, q, d); +// input ck, d; +// output q; + +// DFA q_reg ( .C(ck), .D(d), .Q(q) ); + +//endmodule + + + +module s13207(CK,g43,g49,g633,g634,g635,g645,g647,g648,g690,g694,g698,g702, + g722,g723,g751, + g752,g753,g754,g755,g756,g757,g781,g941,g962,g1000,g1008,g1016,g1080,g1234, + g1553,g1554,g786,g1206,g929,g955,g795,g1194,g1198,g1202,g24,g1203,g1196,g29, + g22,g28,g10,g23,g37,g26,g1,g27,g42,g11,g32,g41,g31,g45,g9,g44,g21,g30,g25, g206,g291,g372,g453,g534,g594,g785,g1006,g1015,g1017,g1246,g1724,g1783, + g1798,g1804,g1810,g1817,g1824,g1829,g1870,g1871,g1894,g1911,g1944,g2662, + g2844,g2888,g3077,g3096,g3130,g3159,g3191,g3829,g3859,g3860,g4267,g4316, + g4370,g4371,g4372,g4373,g4655,g4657,g4660,g4661,g4663,g4664,g5143,g5164, + g5571,g5669,g5678,g5682,g5684,g5687,g5729,g6207,g6212,g6223,g6236,g6269, + g6425,g6648,g6653,g6675,g6849,g6850,g6895,g6909,g7048,g7063,g7103,g7283, + g7284,g7285,g7286,g7287,g7288,g7289,g7290,g7291,g7292,g7293,g7294,g7295, + g7298,g7423,g7424,g7425,g7474,g7504,g7505,g7506,g7507,g7508,g7514,g7729, + g7730,g7731,g7732,g8216,g8217,g8218,g8219,g8234,g8661,g8663,g8872,g8958, + g9128,g9132,g9204,g9280,g9297,g9299,g9305,g9308,g9310,g9312,g9314,g9378, + g7763,g1205,g3856,g3857,g3854,g1193,g1197,g1201,g6294,g6376,g1195,g6300, + g6292,g6298,g6291,g6293,g6304,g6296,g6289,g6297,g6306,g6290,g6303,g6305, + g6302,g6308,g6288,g6307,g6299,g6301,g6295); + + +input CK,g43,g49,g633,g634,g635,g645,g647,g648,g690,g694,g698,g702,g722,g723,g751, + g752,g753,g754,g755,g756,g757,g781,g941,g962,g1000,g1008,g1016,g1080,g1234, + g1553,g1554,g786,g1206,g929,g955,g795,g1194,g1198,g1202,g24,g1203,g1196,g29, + g22,g28,g10,g23,g37,g26,g1,g27,g42,g11,g32,g41,g31,g45,g9,g44,g21,g30,g25; + +output g206,g291,g372,g453,g534,g594,g785,g1006,g1015,g1017,g1246,g1724,g1783, + g1798,g1804,g1810,g1817,g1824,g1829,g1870,g1871,g1894,g1911,g1944,g2662, + g2844,g2888,g3077,g3096,g3130,g3159,g3191,g3829,g3859,g3860,g4267,g4316, + g4370,g4371,g4372,g4373,g4655,g4657,g4660,g4661,g4663,g4664,g5143,g5164, + g5571,g5669,g5678,g5682,g5684,g5687,g5729,g6207,g6212,g6223,g6236,g6269, + g6425,g6648,g6653,g6675,g6849,g6850,g6895,g6909,g7048,g7063,g7103,g7283, + g7284,g7285,g7286,g7287,g7288,g7289,g7290,g7291,g7292,g7293,g7294,g7295, + g7298,g7423,g7424,g7425,g7474,g7504,g7505,g7506,g7507,g7508,g7514,g7729, + g7730,g7731,g7732,g8216,g8217,g8218,g8219,g8234,g8661,g8663,g8872,g8958, + g9128,g9132,g9204,g9280,g9297,g9299,g9305,g9308,g9310,g9312,g9314,g9378, + g7763,g1205,g3856,g3857,g3854,g1193,g1197,g1201,g6294,g6376,g1195,g6300, + g6292,g6298,g6291,g6293,g6304,g6296,g6289,g6297,g6306,g6290,g6303,g6305, + g6302,g6308,g6288,g6307,g6299,g6301,g6295; + + wire g397,g4635,g1271,g5176,g312,g4618,g273,g4611,g452,g449,g948,g8664,g629, + g6827,g207,g5733,g1541,g7778,g1153,g6856,g940,g5735,g976,g8864,g498,g9111, + g314,g4620,g1092,g7520,g454,g4639,g196,g5731,g535,g3844,g292,g4613,g772, + g6846,g1375,g6869,g689,g6371,g183,g6309,g359,g6336,g1384,g6881,g1339,g6865, + g20,g6386,g1424,g3862,g767,g6841,g393,g4631,g1077,g7767,g1231,g1236,g294, + g4615,g1477,g9036,g4,g9372,g608,g6806,g1204,g465,g6352,g774,g6848,g921, + g916,g1304,g1312,g243,g6318,g1499,g7772,g80,g6778,g1444,g5185,g1269,g5740, + g600,g6807,g423,g9105,g771,g6845,g803,g7757,g843,g2647,g315,g4621,g455, + g4640,g906,g901,g622,g6821,g891,g3855,g1014,g1012,g984,g9133,g117,g5153, + g137,g5150,g527,g9110,g1513,g1524,g278,g6323,g1378,g6880,g718,g7753,g598, + g6797,g1182,g1160,g1288,g7527,g1382,g6888,g179,g5159,g624,g6831,g48,g9362, + g362,g9093,g878,g890,g270,g9092,g763,g6836,g710,g7751,g730,g7754,g295, + g4616,g1037,g7519,g1102,g6855,g483,g6356,g775,g7759,g621,g6819,g1364,g6878, + g1454,g5187,g1296,g7304,g5,g9373,g1532,g7781,g587,g3852,g741,g9386,g13, + g7308,g606,g6804,g6851,g52,g6781,g646,g4652,g1412,g5745,g327,g6332,g1189, + g6392,g1389,g4658,g1029,g2654,g1371,g6868,g1429,g2671,g398,g4636,g985, + g7515,g354,g4624,g619,g6817,g113,g5148,g133,g5149,g180,g5158,g1138,g7524, + g1309,g1308,g889,g7101,g390,g6341,g625,g6823,g417,g9103,g681,g7748,g437, + g6348,g351,g9100,g1200,g109,g6785,g1049,g8673,g1098,g6854,g200,g199,g240, + g6317,g479,g4649,g126,g6789,g596,g6795,g1268,g5175,g222,g6313,g420,g9104, + g3,g9360,g58,g7734,g172,g1270,g387,g6340,g840,g2648,g365,g9094,g1486,g8226, + g1504,g7773,g1185,g1155,g1385,g6883,g583,g3851,g822,g7512,g1025,g8871,g969, + g966,g768,g6842,g174,g7737,g685,g7749,g1087,g6853,g355,g4625,g911,g1226, + g6859,g99,g6783,g1045,g8224,g1173,g7526,g1373,g6871,g186,g3830,g760,g6833, + g959,g5169,g1369,g6875,g1007,g8867,g1459,g3863,g758,g6840,g480,g6355,g396, + g4634,g612,g6811,g38,g5746,g632,g6830,g1415,g5180,g1227,g7108,g246,g6319, + g3840,g517,g4651,g118,g6787,g138,g6792,g16,g1404,g284,g9086,g142,g6793, + g219,g6312,g426,g9106,g1388,g6882,g806,g7510,g846,g2646,g1428,g2672,g579, + g3850,g1030,g7518,g614,g6812,g1430,g4666,g1247,g6380,g669,g7745,g110,g130, + g6790,g225,g6314,g281,g9085,g819,g7761,g6385,g611,g6810,g631,g6829,g1217, + g6377,g104,g6784,g1365,g6867,g825,g7513,g1333,g6863,g474,g4644,g1396,g4662, + g141,g5151,g1509,g7774,g766,g6839,g1018,g8869,g588,g9031,g1467,g8875,g317, + g4623,g457,g4642,g486,g6357,g471,g6354,g1381,g6887,g513,g9116,g1397,g6389, + g533,g530,g1021,g8870,g1421,g5179,g952,g8668,g1263,g5737,g580,g6368,g615, + g6813,g1257,g5738,g46,g8955,g402,g6343,g998,g1005,g1041,g7765,g297,g6324, + g954,g8670,g105,g145,g5152,g212,g4601,g1368,g6874,g232,g4606,g990,g7516, + g475,g4645,g33,g5184,g951,g8667,g799,g7756,g812,g7758,g567,g6367,g313, + g4619,g333,g6334,g168,g7742,g214,g4603,g234,g4608,g652,g1126,g8674,g1400, + g6390,g1326,g7306,g92,g6794,g309,g6328,g211,g4600,g834,g2650,g231,g4605, + g557,g6366,g1383,g6889,g1220,g6378,g158,g7740,g627,g6825,g661,g7743,g77, + g6777,g831,g2651,g1327,g7307,g293,g4614,g1146,g1612,g89,g150,g7738,g773, + g6847,g859,g8221,g1240,g1235,g518,g6361,g1472,g8960,g1443,g4667,g436,g4638, + g405,g6344,g1034,g8957,g1147,g374,g4627,g98,g5146,g563,g9029,g510,g9115, + g3842,g215,g4604,g235,g4609,g1013,g6,g9374,g55,g7733,g1317,g5743,g504, + g9113,g665,g7744,g544,g6365,g371,g368,g62,g7509,g792,g5162,g468,g6353,g815, + g7760,g1460,g4668,g553,g9028,g623,g6822,g501,g9112,g1190,g8677,g1390,g4659, + g74,g6776,g1156,g1081,g318,g6329,g458,g4643,g342,g9097,g1250,g7111,g1163, + g2655,g1363,g6877,g1432,g5183,g1053,g8873,g252,g6321,g330,g6333,g264,g9090, + g1157,g1357,g8675,g375,g4628,g68,g6774,g852,g2644,g261,g9089,g516,g4650, + g536,g6363,g979,g7104,g778,g7296,g3832,g1292,g7302,g290,g287,g1084,g7106, + g1439,g5182,g770,g6844,g1276,g6384,g7102,g1004,g7105,g1403,g93,g5145,g2, + g9361,g3836,g560,g6370,g1224,g6857,g1320,g7114,g617,g6815,g316,g4622,g336, + g9095,g933,g5166,g456,g4641,g345,g9098,g628,g6826,g8,g9376,g887,g7099,g789, + g7297,g173,g7736,g550,g9027,g255,g9087,g949,g8665,g1244,g2659,g620,g6818, + g1435,g5181,g477,g4647,g926,g3838,g855,g8220,g1214,g5736,g1110,g7299,g1310, + g296,g4617,g972,g2653,g1402,g6391,g896,g613,g6820,g566,g3848,g1394,g6388, + g1489,g7770,g883,g47,g9389,g971,g5171,g609,g6808,g103,g5157,g1254,g6381, + g556,g3847,g1409,g5178,g626,g6824,g1229,g7110,g782,g5734,g237,g6316,g942, + g2652,g228,g6315,g706,g7750,g746,g8956,g1462,g8678,g963,g7764,g129,g5156, + g837,g2649,g599,g6798,g1192,g1191,g828,g7762,g1392,g6387,g492,g6359,g95, + g94,g944,g6372,g195,g3831,g1431,g2673,g1252,g2661,g356,g6335,g953,g8669, + g1176,g5172,g1376,g6890,g1405,g5744,g1225,g6858,g1073,g9145,g1324,g7118, + g1069,g9134,g443,g9101,g1377,g6891,g377,g4630,g618,g6816,g602,g6800,g213, + g4602,g233,g4607,g1199,g6375,g1399,g3861,g83,g6779,g888,g7100,g573,g9033, + g399,g6342,g1245,g507,g9114,g547,g9026,g108,g5147,g610,g6809,g630,g6828, + g1207,g5173,g249,g6320,g65,g4598,g936,g5168,g478,g4648,g604,g6802,g945, + g5170,g1114,g7521,g100,g429,g9107,g809,g7511,g849,g2645,g1408,g5177,g1336, + g6864,g601,g6799,g122,g6788,g1065,g9117,g1122,g8225,g1228,g7109,g495,g6360, + g1322,g7116,g1230,g7300,g1033,g9034,g267,g9091,g6374,g1395,g1393,g373, + g4626,g274,g4612,g1266,g5739,g714,g7752,g734,g7755,g1142,g8874,g1342,g7119, + g769,g6843,g6852,g1481,g7769,g1097,g543,g3846,g1154,g1354,g7768,g489,g6358, + g874,g4654,g121,g5154,g591,g9032,g616,g6814,g1267,g4656,g1311,g605,g6803, + g182,g5161,g1401,g950,g8666,g1329,g2663,g408,g6345,g871,g5167,g759,g6832, + g146,g7735,g202,g5732,g440,g6349,g476,g4646,g184,g6310,g1149,g7525,g1398, + g210,g3834,g394,g4632,g86,g6780,g570,g9030,g275,g6322,g303,g6326,g125, + g5155,g181,g5160,g6393,g595,g576,g1319,g7113,g863,g8222,g1211,g5174,g8223, + g1186,g1386,g6884,g875,g5165,g1170,g1370,g6876,g201,g1325,g7305,g1280, + g7112,g1106,g7107,g1061,g9035,g1387,g6885,g762,g6835,g1461,g4669,g378, + g6337,g1514,g7775,g1345,g7528,g6373,g1391,g185,g4599,g1307,g3858,g1159, + g1223,g6379,g446,g9102,g1416,g4665,g395,g4633,g764,g6837,g1251,g6860,g216, + g6311,g236,g4610,g205,g3835,g540,g6364,g3849,g1537,g7777,g727,g8228,g999, + g8865,g761,g6834,g1272,g6383,g1243,g2660,g1328,g7309,g1130,g7522,g1330, + g6862,g114,g6786,g134,g6791,g1166,g1167,g524,g9109,g1366,g6866,g348,g9099, + g1148,g1348,g7529,g1260,g6382,g7,g9375,g258,g9088,g521,g6362,g300,g6325, + g765,g6838,g1118,g7766,g1318,g6861,g1367,g6873,g677,g7747,g376,g4629,g1057, + g8959,g973,g8672,g2664,g1549,g7780,g1321,g7115,g1253,g5741,g1519,g8227, + g584,g6369,g539,g3845,g324,g6331,g432,g9108,g1158,g321,g6330,g414,g6347, + g1374,g6872,g6782,g1284,g7301,g1545,g7779,g1380,g6886,g673,g7746,g607, + g6805,g306,g6327,g943,g8671,g162,g7741,g411,g6346,g866,g5163,g1300,g7303, + g384,g6339,g339,g9096,g459,g6350,g1323,g7117,g381,g6338,g1528,g7776,g1351, + g7530,g597,g6796,g1372,g6870,g154,g7739,g435,g4637,g970,g1134,g7523,g995, + g7517,g190,g1313,g5742,g603,g6801,g1494,g7771,g462,g6351,g1360,g8676,g1450, + g5186,g187,g5730,g1179,g1379,g6879,g12,g8662,g71,g6775,g1658,g1777,I9325, + g4242,I7758,g2605,g5652,I10135,I13502,g7135,I12558,g3880,g2965,I12382, + I15824,g9157,g5843,g5367,I6112,g7189,I13109,g8970,I15414,I6267,g6062, + I10675,I16126,g9354,I10519,g5242,I15181,g8734,I11443,g6038,I12436,g6635, + g5662,g2547,I6371,I7365,g3061,I10154,g5109,g1611,I11278,g5780,g7171,g7071, + I14154,g7558,I12274,g6672,I14451,g5834,I10525,g5971,I10587,g3978,g3160, + I6676,g1603,g3612,I7082,I8520,g3652,g2892,g2266,I13469,g7123,I12346,g6737, + I9636,g4802,I14637,g8012,I12235,g1799,I5657,g3935,I7602,I5933,g9207,g9197, + I13039,g6961,I15426,g8895,g5598,g4938,g1674,g7281,I13277,g3982,g3192,I8913, + I15190,g8685,g2945,g2364,g5121,I9515,g3128,I6839,g3629,g2424,I13323,g5670, + I10157,I11815,g6169,I12397,I6849,I15654,g8789,g8564,g3542,I12292,g6657, + I11221,g2709,g1747,I11677,g6076,I11503,I8859,I8829,g4029,I15546,g9007, + g1680,I5515,I15211,g8808,g2340,I12409,g6398,I8880,I14106,g7138,I12996, + I6703,g1983,g5938,g5412,g8771,g2478,g5813,I10472,g7338,I13432,g2907,g2289, + g1744,g9215,I15921,I12915,I12433,I12635,g6509,I13359,g1802,I10439,g5214, + g2959,g1926,I14728,g8152,I8733,g3996,I14439,g8063,g2517,I6348,g4010,g3097, + I7662,g3642,I9446,g3926,I8974,g3871,I10277,g5519,I9929,I15732,g1558,I5435, + I7290,g2936,g2876,g2231,I16058,I11884,g6091,I9145,g4264,I6468,g1917,g5606, + g4748,I8796,g3934,I14148,I14349,g7588,I11410,g5845,I12164,g5847,g695,I5392, + g6708,g6250,I13410,g7274,I15625,g9000,g6520,I11704,g1901,I5781,g6219, + I10998,g6640,I11908,I8980,g4535,g3902,I7495,I12891,g6950,I11479,g6201, + I11666,g5772,I10190,g2915,I6643,I13666,g7238,g6252,g5418,I12307,I8357, + g7049,I12813,g3512,g1616,I13478,g7126,g5586,g6958,I12675,I15943,g9214, + I8769,I6716,g1721,I11455,I8916,I5981,I8177,g2810,I7847,g3798,I16055,g9291, + g9336,I16084,g2310,I6087,g7715,I14022,g1600,g1574,g1864,g4566,g2902,I11556, + g6065,g7098,g6525,I5997,I12358,g7498,I13672,I6460,I12108,g5939,g6765,g3529, + g2323,I15391,I6198,g4693,I13580,g7208,g4134,g3676,g3649,I14139,g7548,I9416, + g4273,I12283,g6692,g8482,g8094,g5525,g4934,I7356,g5645,I5353,g3833,g2402, + I7950,g2774,g2824,g1688,g1580,g2236,I5969,g7584,I13897,g4555,g2894,g9065, + I15589,I9642,g4788,g7539,I13797,I15411,g8897,I15527,g9020,I10415,g5397, + I13084,g9322,g9313,g3964,g4792,I9111,g9230,I15950,g6225,I11014,I8781,g3932, + I8898,g4089,g6073,g5384,g2877,g2232,I12259,g1736,I5577,I12091,g5988,I8778, + g5607,I15513,g7162,I13060,g7268,I13244,g7019,I12771,I11740,g6136,g7362, + I9600,I13740,g7364,I9654,I15894,g9195,I11299,I7723,g3052,g4113,g6069, + I10690,g2556,g1889,I7101,I5901,g2222,I5939,I13676,g7256,I15678,I8291, + I13373,g7270,g2928,g2326,g4202,I14783,I7605,g2752,I15714,g9077,g5587,g2930, + g2328,I15315,g8738,I11800,g6164,I5754,g4908,g4088,I11458,g6206,g5639,g5311, + g2899,g2272,I15871,g4094,I7905,I11936,g5918,g3872,g2954,I15202,g8797,I7132, + g4567,g2903,g7728,I14055,g7486,I13646,g3843,I7332,g3989,g3131,I6186,I14061, + I9612,g4776,I10608,g5701,I9648,g8762,g8585,I13692,I15978,g9235,I14115, + g7563,g7185,I13099,I9081,I7041,g2401,I12418,I9935,g4812,g4593,g2939,I11964, + g3549,g2404,I7305,g3971,I7688,g7070,g6562,g2295,I14052,g7494,g2237,I5972, + g7470,g7253,I15741,g9083,g8657,I14763,I12214,I13550,I9666,I6574,I8215, + g3577,g6898,I12567,g1838,g5591,g4841,g6900,I12571,I14445,I8886,g4308,g5832, + I14813,g8640,g1795,I5649,I12262,g1737,g2394,I6270,g9248,g1809,I10973,g5726, + I14798,g8605,g6245,g5690,g4360,I8333,I7368,g3018,g9255,I15985,g9081,I15635, + I12948,g6919,I13909,g7339,I15735,g9078,g4521,g2866,I14184,g7726,g1672, + I14674,g7788,g8464,g8039,I11200,I12702,g6497,g2557,g4050,g3080,I8838, + I12757,g6577,I15681,g2966,g1856,g5794,I10421,I5889,g1643,I11569,g6279, + g7131,g6976,I11359,g2471,I6309,g7006,I12748,g7331,I13413,I15196,g8778, + I6636,g1704,I14732,g8155,g2242,I10962,g3909,I7520,I11747,g6123,I12564, + g6720,g8563,I14662,g2948,g2366,I11242,g6183,I14169,I12328,I12903,g3519, + g2185,I10761,g5302,I13347,I7856,g3805,I7734,g2595,g2955,g7487,I13649,g5628, + g1742,g6088,I10708,I12427,g5515,g4923,g6764,g6488,I11652,I8889,g4777,I9084, + I10400,g5201,g5100,I9484,I9512,g3985,I13807,g7320,I11974,g5956,I12062, + I14400,g7677,g2350,I6166,I15726,I14136,g9218,I15930,I9823,g5138,I16052, + g2038,g4882,g4069,I14214,g7576,I12933,g7018,I9366,g4350,g7226,g6937,I11230, + g6140,I11293,g5824,I10207,g5075,I13293,g7159,I12508,g6593,I11638,I12529, + I6446,g1812,I8748,I5356,I14005,g7434,g7045,g6490,I11416,g5829,I10538,g5255, + I6003,I9148,g4354,I13416,g7165,I5795,g9129,I15765,g2769,g7173,g6980,g9329, + g9317,I11269,g7091,g7491,I13653,I12481,I7383,g2918,g3341,I6936,I5839,g6650, + g6213,g7169,I13075,I13281,g1572,I15379,I6695,g2246,g4541,g2883,g7059,g6538, + g7920,I14282,g7578,I13879,g6008,I11835,g6181,g3691,I7195,g5621,g7459, + I13617,g9221,I15937,I12205,I9463,g3942,g7718,I14031,I14172,g4153,I8024, + g4680,I8945,g3650,I10773,g4353,g3665,I11586,g6256,I12912,I11335,I14100, + g7580,I6223,g8038,g7694,g6768,I12173,g4306,g7582,I13891,g6594,I11796,g1961, + g3879,g2963,I9129,g7261,I13225,I14683,g7825,g3962,I9579,g7793,I14234,g3158, + I6853,g3659,g2293,I12289,g5648,I6416,g1794,g3506,g1781,g7015,I12763,I12592, + g4558,g2897,g9068,I15598,I7126,g2494,I5926,I7400,g3075,g3968,I7326,g2940, + I6115,I6251,g2921,g2312,I10684,I12532,g6122,I10752,I10882,g5600,g6228, + I11021,g3587,g1964,I11275,g5768,I9457,g3940,g8918,I15340,I16180,g9387, + g6230,I11025,g7246,I13196,g8967,I15405,I13746,g7311,I13493,g7132,I9393, + g4266,g4511,g2841,I15660,g9062,g2895,g2268,g6033,g2837,g1780,g7721,g7344, + g5839,I10532,I9834,g4782,g4092,I7899,I13035,g6964,I7712,I12731,g6579, + I11806,g6275,I8715,g3465,g4574,g3466,g6096,g5317,g6496,I11662,g1679,I5512, + I8097,g3237,g5278,I9794,I12406,g7502,I13682,I15550,g9008,g9198,g9187,g3545, + g2344,I8354,g738,I5404,g6195,I10940,g5618,g5015,g6137,I10776,I12544,I9555, + g1831,I11338,g3591,g1789,I7299,g4580,g2919,g9241,I15971,I7588,g2584,g3853, + I7362,I14725,g8145,g7188,I13106,I10592,g2842,g2209,I9938,g4878,I10758, + g1805,I5667,g1916,g5693,I10204,g7216,I13152,g1749,g2298,I6072,I14082, + I12448,g2392,I13193,g7007,g2485,I11362,g5821,g7028,I13362,g7265,g3931, + I7592,I8218,g3002,I15773,g9126,I6629,g2052,I8784,g7247,I13199,I5654,I6130, + g4076,I7859,g9319,g9309,g5489,g2941,g2349,I9606,g4687,I11353,g3905,I13475, + g7125,I14848,g8625,g6255,I11066,I12316,I10804,g5526,I6800,g2016,I9687, + g4822,g3630,I7095,g6481,I11641,I14804,I14094,I8868,g5113,I9499,I12008, + g6097,g5345,I11437,g5801,I15839,g9168,g2520,g9209,g2640,g1584,g9211,I15909, + I11389,g4285,I8233,I8727,g3944,g9186,I15836,I5679,g4500,g2832,I16176,g6960, + I12681,I15965,g9219,I7944,g3774,g1579,g703,g1869,g4960,I13356,I11347,g5761, + g2958,g2377,g7224,I15492,I5831,g2376,I6226,g5494,I9918,g3750,g2177,I9570, + g4696,I10406,g5203,I9341,g4251,g5719,g1752,I14406,g7681,g3973,I9525,g4413, + I11781,g6284,I12768,g6718,I15619,g8998,g9370,I16138,I9645,g4900,I15557, + g9010,g2829,g1785,g9125,I15753,g4024,I11236,g6148,g2286,I6042,I12220, + I14145,g7066,I12839,I10500,g5234,I16168,g9381,g7589,I13912,I6090,g2911, + g2292,g4795,I9116,I8932,g4096,I5422,g7466,I13622,g4809,g6267,I11086,I11263, + g3969,I14049,g7493,I16006,I11821,g6170,I12881,g6478,g1786,g7365,I13509, + I12810,I7347,g2985,I15641,g2270,I6015,g4477,I8517,g7448,I13605,I13063, + g6973,g7711,I14012,g4523,g2868,g6676,I11984,I11790,g6282,I11206,I13264, + g7061,I6148,g7055,g6517,I14436,I8844,g3666,g2134,I9158,g4256,I13137,g7027, + g2225,I5948,g6129,g7455,I13613,I11314,g6761,I12154,g2073,g7133,I12983, + I7697,I15708,g7333,I13419,I13873,g7342,g9306,I16036,I12355,g1770,I14193, + g5521,g4929,I15388,I12361,I8817,g3648,g3875,g2324,g3530,g4232,g7196,I13122, + g4742,I9064,g9061,I15577,I15601,g8992,g4104,I7925,I10605,g5440,I11422, + g5842,g6592,g3655,g1844,I15187,g8682,I14273,g7631,I11209,g6139,I13422, + g7586,I13209,g6912,g2540,I9615,g4739,g6221,I11004,I12003,g6202,g8765,g8524, + g7538,I13794,I13834,I6463,g1769,I10463,g5220,g9324,I14211,I15495,g5724, + g4969,I6229,I14463,g8072,I12779,g6740,I9663,g6703,I12041,I13707,g4926, + g9212,g9200,g9189,g5627,g7614,g3884,I7417,g3839,I7320,g2287,I6045,g7067, + g6658,g8974,I7317,g2893,g5658,I15791,g9140,g7418,I13533,g6624,I11864,g7467, + g7236,g6953,g6745,I6118,I14795,g8604,I14454,g5835,I10528,I13302,I8754, + g6068,I10687,g1888,I6872,g4044,g6468,I11622,I12945,I9591,g4710,g4444,I8452, + g1787,I6652,I11607,g5767,I6057,I12826,g6441,I12999,g7029,I11320,g5797, + I15666,g9070,I13320,g7139,I6457,g1886,I13659,g1675,g6677,I11987,g7058, + I13274,g6917,I7775,g3705,g5611,g8324,I14573,g4572,g2909,I7922,g3462,g2898, + g2271,I15478,g8910,g2900,g2273,I12469,I12672,g6473,I7581,I15711,g4543, + g2885,g5208,I11464,g5799,I10436,I13565,g7181,g4778,I6834,g9307,g9300,g2510, + g639,I5374,g2245,g6149,I10810,g3988,I6686,I11374,g5674,g5042,g8177,I14410, + g3693,I11034,g5644,g9223,I14163,g7533,g2291,g7438,I12415,I15580,g8985, + I12331,g6704,g5541,g4814,g3548,g1684,g1745,g6198,g5335,g1639,I11515,I10541, + g5256,I6121,g7263,I13231,g2207,I5920,I9585,g5680,g5101,I12897,g6962,g6569, + I12961,g6921,g4301,I9630,g4867,I14789,g8544,g2259,g4014,I7769,I7079,g2532, + I12505,g6612,g9315,I16061,g1808,g4885,g4070,I13635,g7243,I10289,g8199, + I14424,g9047,I15543,g5802,I10445,I8895,g2923,I6657,I12717,g6543,g1707, + I14325,g7713,I10829,g5224,g8781,I10535,g5254,I5389,I5706,g8898,I15308, + g4903,g4084,g7562,I13858,I15178,g8753,I10946,g5563,I15003,g6524,I11710, + I14828,g8639,g6644,g6208,g8510,I14643,I13164,g7086,I5371,g7723,I14042, + I14121,g7587,g2215,I15953,I11284,g2886,g2240,g3908,I7517,I13335,g2843, + g7336,g9057,g4036,g6152,I10815,g6258,g5427,I11383,I12325,g1575,g1865,I8483, + g3641,I12472,g3567,g2407,I15417,g8893,g1715,I5559,g2314,I6099,I9440,I14291, + g7680,g6632,g4335,I9123,g4455,I15334,g8800,I14124,g2870,g5492,g4919,I12148, + g4382,I8373,g1833,g5128,I13537,g7152,g5574,I8790,g4020,g6211,g2825,I6553, + I6434,g6186,I10919,I11485,I12646,g6493,g7585,I13900,g9017,I15475,g4931, + I15762,g9039,I12343,g6731,g4805,I9136,g6975,I12712,g4916,g4022,I7785,g3965, + I7676,I5963,g6599,I11809,g1896,g7441,I15423,g8894,g6026,I9528,g4006,g6426, + I11559,I6860,g3264,I6900,I7053,g2452,I6341,I10506,g5236,g5580,g9234,I15956, + I10028,g4825,g6614,I11838,I14028,g7501,g3933,I8904,g4126,g9330,I11302, + I12334,g3521,g4560,I8446,g3014,g3050,I6788,I7115,g9201,g9006,I10265,g2943, + g2362,g6984,I12725,g7168,I13072,g6939,I7731,g6287,I12412,g6404,I8841,g3979, + g5623,I14187,g6083,I10702,g6649,I5957,g2887,g2241,g4873,I9217,I8811,g7531, + I13773,g4095,I7908,g5076,I8763,g3947,g4037,g2845,g6483,I11645,I12229,g6659, + I9884,g4868,g2934,g5476,g4907,g4653,I8874,I6358,g4102,I7919,g6636,I11900, + I15568,g8981,I15747,g9042,I5865,g9213,I15915,g6106,I9651,g4579,I10649, + g5657,I12011,I11245,I5715,I13695,g5871,I10558,g3878,g2962,g8008,g7559, + g4719,I9021,I12241,I14073,I6587,g1708,g3777,g2170,g7411,g7202,I9372,I10491, + g5231,I15814,g9154,I7308,I16116,g9350,I11488,I11522,g2096,I9618,I12582, + g5285,g6461,g8768,I13663,g7235,g3882,g2970,g2496,I7626,g3632,g4917,I15974, + I6615,g6756,I12141,g8972,I15420,I10770,g5441,I12310,g6723,g1897,g6622, + I11858,I13628,I8757,g3921,g6027,g7992,g7557,g4265,g3611,g6427,I11562,g2137, + g2891,g2265,I9678,I15638,g8978,g9366,g2913,g2307,I12379,g5139,I9543,I9837, + g6904,I12958,g6920,g9056,I15562,g8065,I14338,I8315,g6446,I11591,g3981, + I7706,g5024,I9360,g6514,I11696,I6239,g3674,I7164,g2807,g1782,I5362,g3841, + I11326,g5819,g4892,g5795,I10424,I10268,g8917,g6403,I13326,g7176,g5809, + I10460,I5419,I9804,I10262,g5551,I7683,g2573,g3997,I12742,g6590,I12394, + I15510,g8969,I11040,g5299,I11948,g5897,g6763,I12158,I7778,g3019,I16142, + I11500,I5410,g4296,g3790,g3238,I6894,I9621,g4732,g5477,g9260,I15990,g5523, + g6469,I10719,g5559,g6637,I11903,g5643,I10128,I15014,g8607,g1801,g4553, + g9063,I15583,I11248,I15586,g8987,I15007,g8627,g4303,I14718,g8068,g3802, + g1832,g7688,g7406,I11404,I11008,g2481,I6317,g8913,I15329,g1748,g2692,g1671, + g4012,I7765,I12445,I10283,I9974,g5099,g2497,I12690,g6467,g2354,I6178, + I16165,g9377,g2960,g2381,g4706,I9005,I9567,I7526,I5897,g8179,I10247,g5266, + g3901,I7492,g7000,g7137,I15720,g9053,g9318,g9304,g9367,I16129,I11933, + I12968,I8935,g4005,I5425,I7800,g6251,I11060,I11272,I12304,g6642,I11912, + I11851,g6277,g3511,g5754,g5403,I15565,g9261,I14151,I14388,g7605,I7850, + g2795,g9193,g9181,g3092,I6826,I14777,g8511,g3492,I6970,g4281,g2562,I12493, + g5613,I14251,g7541,g3574,g1771,g3864,g8342,g8856,g2267,I6006,I6093,g6654, + I11942,g5444,g5074,g5269,I9791,I7702,g3062,I15684,g9067,g8481,I12128,g1578, + g699,g1868,I5747,g4257,g3761,I10032,g1718,I5562,I14208,I12511,g4684,I8949, + I9050,g3881,I11452,g6071,g6595,I8832,I5682,I5766,I11047,g5653,I13574,g7205, + g2329,I6440,g1806,g7023,g9121,g4963,g4328,g2761,g1820,I5801,g9321,g9311, + I15394,I13544,g1582,I11311,g5760,g7359,I13311,g2828,g1980,I12298,g6697, + I6323,g7546,g1793,I7561,I10766,g2727,g4808,g6978,I11832,g7161,I13057,I5416, + g5144,g6243,I11050,g7361,I13499,I15193,g8774,I13051,g6967,g6969,g2746, + I12737,g6460,g2221,I5936,g3076,g7127,g6974,g8783,g7327,I13403,I12232,g6662, + g1664,I6151,g2703,I14433,I8823,g5014,I9344,g6130,g7146,g6998,g6542,I11718, + I11317,g7346,I13454,g7633,I13962,I5565,I11350,g5763,g2953,I7970,g3557, + I13350,g7223,g8901,g2932,I9271,g4263,g3651,I7129,I13341,I14822,g2624,g1569, + g2373,I15222,g8834,I12271,g3285,g1689,g6966,g8761,I10451,g5216,g5223, + I13846,g3500,g8172,I14067,I5407,I13731,I5868,g2927,g2677,I14130,I9660, + g5679,I10172,I11413,I5718,I13704,I10976,I5535,g4584,g6568,g4539,g2881, + g8746,I14442,g4677,g5831,I10516,g2149,I5894,I6163,I12499,g6597,g7043,g9141, + I9672,g5576,g6736,I9132,g4284,I6143,I9209,g4349,I12936,I7987,g3528,g5805, + I10448,g5916,g5022,g4438,g2699,g4019,g6090,g5529,g4362,I11929,g6190,I12989, + g6932,I6805,g7034,g5749,g5207,I11656,I12340,I14825,g8651,g3523,I14370, + g7603,I11425,I12722,g6611,g7565,I13865,g2961,I5664,g3643,g2453,I12924, + g6983,I13583,g7252,I5984,g1564,g642,g7147,I16122,g9353,I10151,g5007,g7347, + I13457,I15516,g8977,I9558,g4597,g5798,I10433,g7555,g1826,g6663,g7545, + I10807,I14996,I11371,I8989,g4537,I13779,g3634,I7107,I8193,g3547,g6155, + I10826,I14844,g8641,I12424,I11392,I11787,g6273,I14394,g7536,I12753,g6445, + g8866,I15184,g7210,I13144,g3499,I8971,g4464,I12145,g1638,g5796,I7738,g3038, + g5873,g7164,g5037,I15723,I12199,g6475,g7013,I16049,g5437,g5041,I11827, + g6231,g7413,I13524,I13743,g7454,g5028,I14420,g7554,I15208,g8810,g2818, + g1792,g6063,I10678,g6628,g2867,g3754,g2543,g4698,g8198,g8747,g8545,g4025, + I7792,I14318,g7657,I10236,I12696,g6503,I16148,I14227,g7552,I5689,I7959, + g2793,g1758,g1589,I14025,g7500,g3578,I11803,g6280,g2470,g9069,I12939, + I11132,g5917,g7317,I13383,I14058,g7544,g6254,I5428,g6118,g5549,g6167, + I10862,I11281,g1571,g3983,I11428,g9180,I12487,g7601,g7450,I15607,g8994, + g9380,g9379,I7389,I9396,g1711,I5555,g2274,g6652,I12161,g4678,g3712,g1952, + g7855,I12400,I15530,g5786,I10403,I7749,g1827,g2614,g1562,I15484,I14196, + I11506,I8820,g5364,g5124,g8980,g2325,g2821,I10377,g5188,g1774,I5616,I12708, + g6482,g7581,I13888,I10739,g5572,g4087,I7882,g4105,I7928,I9076,g5054,g4457, + I12373,g4801,I9126,I9889,g4819,I14739,g8173,g2348,g3961,g7060,I11890,g6135, + g1803,g7460,g7172,I6160,g5725,g4465,I11482,g6117,g6598,g3927,I7584,I5609, + I12244,g6098,I13710,g7340,g2636,I14088,I6767,I11290,g4226,g8386,g8014, + I5883,g2106,g8975,I15429,g3946,g2306,I6075,I15408,g8896,g8976,g6625,I11867, + g1662,g2790,g7937,I14285,I7762,g3029,g6607,g6232,I11031,I11778,g6180,g3903, + I7498,I15690,I12068,I10427,g5210,g7479,I16026,I9850,I10366,g5715,g6253, + g6938,I14427,g7835,I5466,I13314,I8360,g3513,I9139,g4364,g7190,I13112,g2622, + g1568,I11945,g5874,I12337,g6724,I5365,I5861,I11356,g7221,g1816,I9639,I8721, + I13679,I11380,g5822,g5202,g5787,g4007,I7752,g2904,I14403,g7679,g7156, + I13042,I10582,g6552,I11722,g7356,I13484,g4920,g6606,I11824,g4578,g2917, + I11090,g2873,I11998,I14657,I7296,I11233,g6147,g2514,g4718,I9018,g8483, + I8962,I7064,g2458,I11672,g1847,g4803,g9075,g7242,g3743,g2403,g8636,g1685, + I5528,g2145,g6687,g2345,g2208,g7704,I14001,g4582,g2922,g3916,I7545,g9323, + g6586,g8790,g2695,g4015,g2637,g1581,I11449,I12918,I10183,g8061,I14330, + I10292,g8971,I14127,g7594,g7163,I7640,I11897,g6141,I6078,I11961,g7032, + g2536,I9493,g7354,g8756,g1757,g5309,g7432,I13559,I10786,I12451,g2359,I8907, + g3560,g2361,g9351,I16103,g2223,I5942,I7844,g3784,I15982,g9236,g5808,I10457, + g636,I6680,g6645,I11917,I16040,g9285,g4721,I9025,I14103,I11212,g6146,I5852, + g5759,I10350,g8514,g8040,g3873,g2956,g3095,I6831,g3495,g3653,g2459,I8180, + I12322,g6751,I14381,g2522,I14181,g7725,g7157,I13045,g2642,g1588,g3936, + g7357,I13487,g3579,g1929,g3869,I12687,I8853,g4034,I11955,I11401,g6506, + I11680,g1751,I5847,I12561,g6449,I16183,g9388,g5604,I12295,g6693,g3917, + I7548,g4670,g1585,g724,g4689,I8966,g6587,I15522,g9018,I15663,g9066,I14190, + g4279,g6111,g5453,I14448,I11260,g5833,I10522,I7814,g7245,I15959,g4028, + I7797,g2880,g2234,I7350,g2971,I6864,g2528,I11971,g6179,g4030,g8016,I14311, + g8757,g5584,g1673,g7712,I15776,I15553,g9009,I13369,I6021,g4564,I8665, + I11368,g8642,I12364,g6714,g3770,g2551,g5268,I9788,I9014,g5362,I10497,g5233, + I15536,g9004,g1772,I11467,g4806,g6591,I15702,g9064,I13850,g7328,I12367, + I5817,g2982,g1848,g3532,I7967,g2787,I14205,g1743,I12430,g2128,g2629,g6020, + I6127,I10987,g5609,g6702,I5605,I10250,I14076,I8742,g6507,I11683,I8277, + g1011,I5413,I13228,g6892,I15729,I12253,g6729,I11011,I5751,g5086,I9460, + g8880,I15218,g3189,I13716,g7475,I13631,I16072,g9303,g3990,g2554,I6376, + I9681,g4589,I10969,I15672,g7627,I13956,g3888,I15062,g8632,g6905,I12586, + I13308,g3787,g1842,g8017,g7692,I11880,I15933,g9210,I13758,g5470,g4899, + I10569,g3956,g5025,I9363,g6515,g6125,I11627,g6630,g4571,g2908,g3675,I7167, + I12976,g6928,g1573,g1863,I11227,g7021,I13940,I11958,g7039,I9422,I8351, + I14489,g3811,g2285,g7439,I12643,g6501,I5368,I11386,g5764,I5772,g2490,I6326, + I6024,I5531,I12669,g6477,g7583,I13894,g7702,I13997,g4196,I10169,I6795, + g1683,I10503,g5235,g3684,g2180,g3639,g5006,I9333,g3338,I15010,g3963,I7672, + I15574,g8983,g4538,g2148,I15205,g8809,I6431,g4780,I9089,g1857,I7788,g9050, + I10177,g5766,I10373,g5087,g1976,I15912,I9095,g4283,I10442,g3808,g7276, + g5487,I9907,I14315,g7676,g1970,I11793,g6188,I13428,g7167,g3707,g2226, + I11296,I14819,g8647,I8901,g2698,g4018,I14202,g7708,I8172,g3524,I14257, + g7716,g4713,g2964,g7495,I16020,g9264,I16161,I7392,g3230,g5755,I15592,g8989, + I15756,I13761,I14070,g7714,g3957,g6617,I9752,g4705,g4093,I7902,g8512,I8282, + g3515,I16046,g9288,g1760,g4493,I8543,I11926,I12496,I13822,g3865,g2944, + I10384,g5193,g6655,g5445,g5059,g3604,I13317,g7211,g5491,g4918,g3498,g7550, + g7593,g4381,g8649,I14743,g6010,I7302,I11129,g2872,I6590,g1924,I9633,g4685, + I8952,g4197,I10801,g5463,g6410,I11533,g2734,g4021,I9336,g6968,I14801,g8608, + g1779,g2057,I12124,I12678,g6516,I12523,I6571,g7120,I9419,I12388,g2457, + g5578,g5868,I10555,I13388,g2989,g1843,g3539,g3896,I7473,g6143,g5459,I14019, + g7480,g2393,g5718,I12460,g6674,g7022,I11323,g1977,g7145,g7534,I13299, + I14695,g7277,I13267,g2834,I6564,I6723,g7220,I14334,g5582,g8902,g6278,g8463, + g2686,g1667,g7789,I14224,g5261,g2007,I15770,g5793,I10418,I12065,I8202, + g9332,g6618,g6003,g1665,I10796,I13728,g4562,g6235,I9347,g9199,I16107,I7911, + g2767,g5218,I8094,g2976,I14457,g8093,g6566,I8808,I13737,g7446,I5359,g8986, + I13329,I8190,g6134,g5428,g8619,g7547,I13825,I11329,I8264,g5246,I9760,g2625, + g1570,I8730,g3086,g1852,g2253,g2938,g2347,g3728,g2202,g7433,I13261,g7041, + g5748,g6555,I11729,g3546,I6946,g1887,I10256,g5401,I12247,I11512,g1732, + I9675,g4807,I13512,g2969,I5383,I10280,g5488,I14085,g4585,g2925,g6621, + I11855,g3897,g4041,I11266,g7078,g6683,I13438,I7377,I13831,g7322,I6036, + I14157,I12277,g6681,g4673,I8928,I10949,I9684,g4813,g7035,g7134,I15803, + g9148,I7287,g2561,g6094,I10716,I14231,g7566,g4779,I8922,g1565,g649,I8724, + g5671,I10160,I12782,g6463,I13722,g7442,I16090,g3635,g1949,I13924,I5633, + g1681,I7781,I6422,g4890,g4075,I12352,g6752,g7280,g2525,I6354,g3801,I7262, + g7834,I13271,I6419,I8835,g3954,g5826,g6572,g8606,I12170,g4011,I11461,g9076, + I15622,I5732,g6264,g7310,I13031,g5638,I11407,g2879,I6597,g7025,I11736, + I11887,I16151,I7344,g2382,g8633,I8799,g3951,g1655,g6050,I12167,g2506,I6437, + g1784,g6944,I6302,g3091,I13843,g7326,g9267,g3491,g1800,g4080,I7867,g7577, + g4573,I11764,g6056,g5758,I10347,I13764,I12088,I11365,g2275,g2311,I9539, + I10896,I13365,g7267,g5466,I10243,g5026,g5624,g7590,I13915,g9184,I15830, + I13869,g2615,g1563,g4569,g2906,g3920,I12022,g3868,g2174,I11194,I12202, + I8802,g6224,g2374,I6220,g5448,g5137,g1922,I9162,g4272,g7556,I13161,g7080, + g5708,g5055,I12313,g6730,I12376,I6733,g5471,g5827,g6585,I12517,I15651, + g3582,g2284,I5914,g7095,g7064,I12829,g2239,I5978,I7314,g2916,I10180,g9368, + g1597,g5846,g2380,I6242,I13258,g6907,I12900,g6947,I7870,g2827,g4122,g2184, + I12466,g5396,g4692,I5636,I12268,I6054,g2020,I5855,I10930,I11043,I6454, + I12101,I6770,g1590,I11978,g7033,I13861,g8111,I14374,I10387,g4000,I10694, + I7981,I10965,g6997,g2794,I11069,I15687,I6532,g1694,g9298,g2931,I6669,g3721, + I7211,g6238,g5027,I13810,g7312,g8174,I15717,g9051,g5467,g4891,g4462,g7194, + I13118,g7332,I9425,g655,g2905,I6012,g6744,I14064,g8284,I14531,g2628,g3502, + g7905,I6189,g2630,g5493,g8180,g7719,I14279,g7700,I8739,g4924,I5775,g7966, + g2100,I7623,I10469,g5222,I11967,I11994,g7471,g7233,g9044,g1942,I6029,g4023, + I8736,g4008,I10286,I5548,I9669,I15433,g8911,I10552,I6956,g1907,g6901, + I14039,g7449,g4588,g2929,g5872,g5685,I10186,g5197,I13425,g7166,g4311,g6511, + I11693,I5398,I15811,g9151,I12454,g6581,g2973,g1854,I5676,g3430,I8910,g4051, + g3093,g6092,I13918,g9233,I8871,g7150,g6952,I14677,g7791,g7350,I13466, + I12463,I13444,g7282,g4146,I8011,g7009,I8814,I10937,g5560,I6963,g658,I6109, + I6791,g1967,g4103,g6721,I8268,I7807,g3910,I7523,I12238,I14178,g2804,I8983, + g1912,g5631,g7836,I14260,g5723,I9034,g4259,g6772,g3837,g7697,g2351,I6428, + g3967,I12176,g6510,g8750,I10479,g5227,I12699,g8973,I9369,g7229,g6623, + I11861,g7993,I14298,I7255,g1955,g5287,I14015,g7440,I9407,I12538,I13656, + g7228,g3589,I7061,g7699,g5788,g4443,I8449,I13353,g7231,I8477,g9178,I16158, + g7031,g4116,I12484,I5954,g2884,g2238,I7386,g3048,I6784,I7811,I9582,g4694, + I8205,g6651,g9182,I5432,g4565,g2901,I14792,g9382,g9217,g8882,g3919,g2372, + I6214,g7248,I5568,I7341,g2618,g1566,g9355,g2235,I5966,g2343,I10780,I12439, + g4697,I8986,I11344,g4914,g8178,g2282,I7112,g2546,g1778,g5058,I12385,g4596, + g3911,g6024,g4013,I12256,g3780,g5129,I12111,g2334,I8273,I12349,g6742,g5722, + g2548,I7293,I12906,g6918,g8899,g2495,I13023,g7040,g1661,I7329,g2920,I11224, + g2555,I11028,I11308,g1796,g6711,I15675,I10259,g6523,I11707,I9502,g3972, + g3994,g4536,I15696,g9208,g9302,g9281,I8862,g6205,I14397,g9074,g2621,g1567, + I8712,g2712,g1686,I6728,g1959,g5474,g4904,g1646,I8718,I7746,g6634,I11894, + I13816,g8235,I14492,g2313,I6096,I12120,I5471,g6104,I14964,g8406,I11239, + I15504,I12138,g4922,g4111,g5439,I13752,g7315,g5844,g2290,g5480,g4913,I6425, + g1811,g5713,g4581,g3700,I7953,g6754,I12135,g1583,g5569,I8706,I9564,g4703, + I11669,I13669,g7240,g8792,g5779,g6613,g3950,g4784,g5417,I9053,g5800,I9910, + g4681,g5688,I10193,I15533,g9002,g2384,I5478,I14747,g8175,I5475,I7716, + I12457,g4079,I7864,I11525,g6034,g7177,g3562,I7044,I9609,g2264,g6712,g7405, + I13518,I8919,I6305,g3631,I7098,g7829,g2360,g2933,I6673,g3723,I12609,g6571, + I13290,I14166,I7198,g2509,g5294,g5000,I5646,g7705,I14807,g8603,g2641,g1587, + I14974,g8442,I10639,g4501,g2801,g6263,I12684,g3605,g1938,g2996,g1828,I9466, + g3943,I10353,I15845,I12921,g6993,I13713,g7341,I13250,I8805,g3976,g5468, + g4195,g1925,g8776,g2724,g1814,g7225,g6936,g7610,I15501,g6014,I10614,I14416, + g7727,g2379,I13610,g7227,I16145,I12526,g4704,I9001,g6963,g6660,g6946, + I12649,I13255,g7057,g2878,g2233,I13189,g7002,I7644,g7259,g7124,g6896, + I12973,g6927,g5608,g4245,I6051,g6903,g2777,g1797,I16009,I10579,g5433,I9774, + g4250,g2882,I11686,I11939,g6015,I16017,I13460,g4032,I6018,g7275,g7206, + I13134,I6578,I6868,g6036,I10643,g6913,g1933,I16132,g9356,g5215,I15498, + g1987,I5842,g4568,g3013,g5665,g5051,I11332,I16043,g3531,g5127,g2674,I11191, + I11473,g9363,g1776,I7599,I15924,g6767,g4357,g3679,I12286,g5633,g4895, + I11218,g6161,I5975,g2332,I10430,g5211,I13837,g7324,I7371,g2680,I14430, + g2353,g4426,g4120,g9183,g6760,g9080,g5696,g1945,I12652,I12265,g1738,g3074, + I10253,I13305,g3992,I14035,I15199,g5258,g6087,I8793,g3588,I11470,g6095, + g5240,g5072,g7360,g8799,I14142,g7551,g5472,I9892,g4489,I12490,g7207,I14816, + g6037,I10646,g3573,I5789,g6102,g8541,g2511,I12478,g1876,g6735,g6064,I11494, + I13595,g7488,g2092,g5434,g5112,I11037,g7592,g7532,I12131,I13782,g6246, + g8802,I11419,g1818,g9019,I15481,I7374,g7951,I14288,g3828,I15225,g8689, + g9072,I10475,I9301,g4295,I12930,I7145,g2501,I5945,I8787,g4475,g3818,g5596, + g1663,g7870,I14270,g5013,I5709,I14646,I15648,I11215,g2480,g2623,g6725, + g5706,g5820,I10485,I7359,g2871,g9185,I15833,I7875,g7151,I15657,g9059,g9385, + I16173,I15068,g8638,I14175,g1877,g5828,g6553,I11725,I15604,I13927,I8745, + g3929,g2375,g6565,g3220,I15337,I6217,g6012,g1556,g7068,g3779,g4583,g2924, + g5753,I6039,g6189,g4909,I13749,g7313,g7887,g7122,g3977,I12535,I6048,g5241, + g5581,I14264,g7698,I9531,g4463,I5911,I6711,g1726,I11440,g8968,I6254,g5060, + g7352,I11305,g5807,g9331,g6956,g5460,g5597,I11254,I13562,I11981,g6285, + g4561,g3051,I6333,I9505,g4300,g6664,I15705,g5784,I10397,g4004,g8584,I15918, + I16033,I10274,I8865,g7496,g4527,g3999,I8856,I7595,g3633,I7104,I6471,I12993, + g2477,g2643,g6684,g6639,g5668,I11341,g8991,I6509,g4503,I8565,g5840,I7978, + g2205,g6773,g5190,g4925,g4114,g3732,g2533,g1557,g2634,g3753,I9573,g4701, + g9045,I15539,g5213,I5401,I14614,g7832,g7266,I13238,g7904,g2104,I5879,I7635, + I9594,I16023,I7629,g6759,g5524,I13009,g6935,g1948,I15065,g7142,I13012, + g2926,g9369,I16135,I10565,g5402,g6957,g7255,I8766,g2816,I5380,I14810,g3316, + I6930,I15571,I11476,g6194,I11596,I7554,g7097,g7497,g5577,g2044,g6604, + I11818,g5810,I13570,g7198,g6498,g2269,g1773,I8486,I10409,g5204,g4547,g5053, + I12370,g3987,g3533,g2397,g2862,I15631,g9003,g6682,I9250,g6173,g2039,g9227, + I15947,g3870,g4838,I6764,g1918,I13241,I9597,g4738,g8754,g6019,I13185,g7020, + I13092,g7047,I6663,I12514,g6605,g7141,g7129,g8982,g1822,g7329,I13407,g4035, + I6451,g2946,g2365,I12421,g6486,I14109,g4482,I7964,g3488,g5626,I13921,g3960, + I9588,I11648,I8105,g3339,I8883,I12098,g9188,I15842,I13157,g9071,g3922, + g9237,g9216,I12541,g4915,g6156,g6070,g1895,g6897,g1837,I13577,g7186,g6025, + g7596,g5683,g6755,g4800,g2288,I7118,g2484,g2505,I14091,I6248,g6556,I15669, + g1768,g7564,I9103,g4374,g7143,g3739,g1698,I6368,I6646,g9171,g3783,g1788, + g3995,I7728,g3937,g8903,g3079,g5782,I10393,g4002,I10390,g5195,I13906,g7358, + I13284,g6131,I9443,I7323,g2947,g7149,g2798,g7349,I13463,g7279,g3390,I6949, + g6766,I10705,I14413,I6856,g4590,g5243,g3501,I13126,I14112,I14267,I15927, + g2632,g1576,g4297,I8261,g4556,g5084,g5603,g1941,I5812,I6474,g3923,g4317, + I6443,g7241,I5923,I12760,g6685,g4928,g4119,g6226,g4930,g4121,g8916,g2869, + g2224,I15610,g8995,g5513,g9048,I5552,g4811,g2389,I7655,I11446,g9060,g2309, + g9333,g7319,I14904,g8629,g3918,g1958,I6000,I11434,I13472,I13876,g6007, + I12927,g7014,g9196,g7717,g6059,I12475,g5616,g3568,g1935,g7128,I14712,I6192, + g6457,I5960,g5200,I13147,g3912,g7686,I7888,g2454,I6294,g2826,g2770,g2210, + I12250,I10509,g5237,g4557,g2896,I10369,g7599,I15595,g1974,I10933,g8801, + I10617,g4071,g8752,g6227,I11018,I14851,g8630,I8161,I12965,I8428,I11055, + I7691,I15160,g8631,I13813,g7314,g8042,g5114,I14623,g6257,g8786,g5120,g6656, + g9177,g2706,g1821,I8826,g7483,g9194,g3941,I6183,I6608,I10574,g5426,g2371, + g4200,g1807,I11732,g5617,g8770,g6502,g7710,g5789,I10412,g4009,I16119,g7790, + g5516,g8990,g6940,I12639,I8308,g7187,I13103,I7311,g5987,g1849,g3778,g7343, + I5377,g4198,I11491,I9840,g4702,g3735,g6216,g3084,I14305,g6028,I14780,g6646, + g6671,I14276,g2639,g7046,I12806,g5825,g2216,g2383,g4229,I8140,g5707,g3949, + I6084,I15693,g9301,I9177,g8029,I7380,g3461,g7345,I13451,g8787,g9282,I7832, + g2768,I10271,I14160,g3526,I15382,g3998,g5709,g6741,I12117,g8988,I6820, + g3603,g5478,g7030,I12909,g4921,I7353,g9165,g2957,I8196,g3654,I7931,g2780, + g1923,g6108,g5435,I11251,g5517,g4258,g5482,g1701,I5545,I12520,g4327,g8684, + g3583,g4078,g2863,I8775,g8791,I8480,g2498,g6217,g5649,g6758,g6589,I7204, + I15616,g8997,g2833,I6561,g7251,I13203,g1830,g3952,I7651,g7811,I14238,I8994, + I10046,g4840,I14046,g7492,g6048,I11991,g2539,I6363,g3561,g9058,I13515, + g8759,I13882,I12059,g5841,g7271,g1825,g3527,I15385,g6133,g7709,g3647,g5052, + g2162,I7973,g3071,I6009,I12193,I12629,g3764,g4085,I7878,I7029,g5002,I8847, + g7595,I13930,I12280,g3503,g3970,I11714,I13441,I12211,I11689,I5670,g1943, + g1878,I12776,g6739,I13725,g7437,g2728,g2256,g2486,g6018,g7414,I13435,g7170, + g1934,I11197,I7648,I16154,g3819,g4031,I7804,g7130,g3617,g6093,I11744,g6120, + g7542,g7330,I11659,I12151,I12319,g5785,g6934,g7355,I8101,g3259,g7783,g3771, + g1853,I11848,g6159,I9782,g4720,I11398,g5823,I6060,g4286,I10482,g5228,g6700, + g6244,g6397,I8751,g3892,I9627,g2131,g2006,g2331,g4733,I10545,I13332,g4270, + g2635,I12659,g8881,g8683,g2105,I7667,g3945,g5452,I12025,g2487,g4358,I9603, + I14786,g3991,g7090,g4798,I10356,g5711,g8883,g7366,I15519,g5071,g3078,g3340, + g2474,I10380,g5705,g7056,g6631,g4540,g3590,g5672,I12044,I12085,g7456,g7174, + I13048,I13767,g3959,g1815,g6101,g7148,I13028,g9161,g7348,g3517,g2283,g3082, + g9383,I8772,g9220,g9205,g7155,I13481,I12301,g3876,g8131,I14378,g2091,g7273, + g1960,g5814,g7260,I9576,g3225,I9561,g4695,g8766,g5038,I5395,g3955,I6033, + g6504,g9358,g7197,g7463,g7239,g5009,g4344,I6286,g7792,g9073,I6299,g8984, + g4898,g7264,g9127,I15759,I9258,g3516,g5769,I11951,g8755,g5836,g4510,g2840, + I13234,g7720,I12942,g7367,I12632,I15699,g1676,g2015,g3640,I11431,g3124, + I12187,I6157,I12403,g6769,I12547,I5989,g7549,I8977,g8999,g1727,g3877,g5212, + I5692,g8602,g5194,I12226,I13979,g8407,g8013,I7885,g6616,g3657,g4112,g2721, + g6505,g8868,g7543,g6011,g1746,I14097,g8767,g9043,g3556,I7036,I10343,g5704, + g3928,g8582,I15738,g6074,g3930,g2502,I6337,g9316,I13541,g7209,g4886,g5716, + g8015,g7689,I14460,g4879,g5462,g2689,g1670,g6573,I11920,I12980,g6929,I8760, + g3563,g5205,g6713,g1677,I7658,I12888,g6948,I13828,g7321,I14133,g7574,g691, + g1866,g2700,I7755,g5475,I7335,I13344,g5537,g4594,g2183,g1855,I12442,I13903, + g4837,I13173,g7089,g5192,g5085,g3555,I12190,g3966,g2910,g2638,g4065,I7838, + I14857,g9206,g3677,I14925,g8381,g3948,g4125,g2308,I6081,g7017,g7560,I13755, + I14009,I7680,g7691,g5642,I13506,g4033,g7087,I14603,g7827,g5520,g1577,g1867, + I9310,g4268,I7558,I10681,g5686,g5812,I10914,g7158,I6195,g6459,I13490,g6220, + I11001,I13698,I5386,I15324,I16100,g9338,I12208,g3769,I6952,I14722,I10512, + g5286,g4714,g1975,I9142,g6977,I7551,g1813,g5538,g6588,g9079,I10842,g2396, + g3812,I10548,g5260,g6051,g3993,I13770,I9657,g6925,g8793,I6517,g3822,g5610, + g9005,g5073,g5473,g4081,g6945,I13819,g1872,I9520,g7180,g6103,g7591,g2467, + g4302,I11395,g5469,g4688,g6696,I9785,g4747,g7420,I11633,I12894,I13701, + g5206,I13719,g7334,g6508,g6072,g6115,g7678,g1756,I6245,g6274,g8780,I7947, + g9337,g6009,g5199,g1904,g5747,g5781,g4001,g8018,g8067,I14342,g2263,I13247, + g6906,I12986,g6931,g8900,g6955,g7054,I11701,g8493,g8041,g5238,g3085,g2781, + g3485,g1652,g1695,g1637,g4592,g5344,I9819,g6210,g2631,g1586,g4746,I12877, + g8181,g6596,g2817,g9357,I8998,I12196,g6471,I13140,g6954,I9350,g8421,g5088, + g4932,g6626,g9082,I9009,g4591,I6959,g3520,g3219,g1687,g2479,g1750,g8076, + g3958,g7351,g6601,I12866,g8562,g4968,g4576,I15940,I13447,I14709,g6922, + I5763,I11773,I14680,g6647,g7262,I14199,g3974,g8751,I12223,g2743,g3610, + g2890,g5245,g5196,g7092,g7701,I15962,g2011,g5806,g3980,g6996,I13776,g4524, + I12391,g7024,g3540,g9162,g4781,g2074,I5872,I11497,I12885,g7318,g2992,g6165, + g4577,g2914,g5545,g6686,g3287,I6911,g8772,g1649,I15613,g8996,g4711,g8743, + g5395,g3898,g4026,g4274,g3510,g6032,g6432,I10454,g7782,g7094,g1823,I13734, + g4544,I11203,I5542,g7088,g3692,g3694,g8583,g4106,I15507,I7564,g6661,g9320, + g5481,I12655,g6458,I11377,g5811,g5479,g7160,I13054,I13496,g7179,g4027, + I5908,g7050,I7632,g6933,g5259,I11870,g5818,I14079,g7579,g6924,g4003,g4676, + I9496,g3825,g5267,g2161,I8084,g3706,I12502,g4191,g8760,g3008,I8850,g2665, + g6237,I9845,I10125,g5253,g2327,I6124,g3768,I10783,g5542,g6894,g7269,I13547, + g4307,g2999,g2346,I6154,g2633,g9244,I10561,g5265,I14687,g5710,I12217,g2157, + I10295,I15784,g4299,I15628,g9340,g7254,g5592,g7810,g6075,g4016,I12038, + I6887,g4522,g4115,I7956,g2363,g4552,g1909,g7353,g6603,g7499,g3496,I6974, + I8877,I7338,g2316,g6283,g5677,I10166,g7335,g3891,I8925,g3913,g3505,g4595, + g2942,I12666,g6476,g7722,g4341,g4017,g3504,g5198,g4691,g4935,g8993,g1860, + g8443,g6004,g7826,I11923,g4130,g4542,g3815,g7693,I13088,g9222,g7837,g3497, + I13885,g9174,I8892,g1879,g4554,g9239,I14668,g7787,g5717,g6949,g7232,I11287, + g7036,g7561,g5244,I10488,g5230,g9294,g5209,g7476,I8709,g7652,g5264,g3429, + g4280,I13296,g4512,g2460,I13338,I13287,g2784,g4056,g6959,g5751,g8779,g2937, + g5752,I13527,g7217,g2668,g8775,g3746,g5083,g7838,g7703,g5566,g8581,g6286, + g5219,g7077,g5790,g4728,g3953,g5061,g7695,I14294,g7553,g8784,g5461,I13131, + g7426,g5756,g6035,I11257,g5622,g6276,g5115,g7415,g4057,g3866,g7258,g3716, + g5514,I6291,g4236,g5191,g8156,g3398,g6110,g7044,g9001,g7983,g7008,g1666, + g4253,g6643,g5016,g5757,g3644,g8363,I10494,g5232,g7833,g5522,I10466,g2626, + g3867,g6222,g5654,g5698,g3975,g4586,g6899,g2683,g6930,g6602,g6472,g4570, + I15645,g4525,g7178,g2782,g5612,I13066,g2627,I14118,I9624,g7443,g6089,g7422, + g1555,g3680,I13854,g3187,g7625,g6242,g7537,g9252,g4587,g5221,g4275,g8979, + g3904,g3514,g7037,g6150,g1908,g2276,g9339,g4545,g2616,g5490,g7696,g3359, + g7436,g2764,g7042,g6262,g4559,g4249,g3757,g6229,g5229,g5217,g3522,g3047, + g8059,g6281,g3874,g6951,g2521,g2617,g7608,g7412,g7121,g6462,g6215,g8925, + g7429,g7212,g9144,g9123,g9344,g4123,g8320,I8431,g9259,g8277,I8005,g4351, + g8299,g6941,g6582,g4410,g8892,g8681,I7994,g5552,g4832,g8945,g6431,g4172, + I8057,I8058,g7272,g8709,g6176,g6005,g5557,g4343,g8078,g7634,g8340,g6405, + g4282,g7604,g1714,g5570,g1759,g8690,g4334,g8876,g8769,g6733,g3613,g4804, + g8915,g8794,g8239,g7419,g7230,g8310,g4494,I8546,I8547,g8824,g8877,g8773, + g6399,I9330,g9142,g9124,g8928,g5020,g4933,g4320,g8930,I8114,g8064,g4158, + g4724,g4038,g6440,g4379,g8295,g8237,g6923,g6570,I9222,g8844,I8594,I9166, + g8089,g7658,g8731,g4271,g5511,g8071,g7540,g8705,g4799,I8033,g8948,g5969, + g5564,g7602,g6627,g5123,g4132,I8496,g4238,I8157,g8814,g6408,g8150,g4744, + g3525,g8438,g6972,g5661,g7222,g8836,g4901,g4288,I9261,g6433,g8229,g9349, + g8822,g6395,g8921,g4417,g5334,g4887,g5548,g4826,g4403,g6266,g8837,g6705, + g8062,g8620,g8462,g9119,g9049,I8001,g9258,I8401,g4175,g4375,g5313,g4820, + g6726,g6154,g8842,g7609,g8298,g5094,g9274,g4139,I8000,g4384,g4517,g8854, + g8941,g4424,g6979,g5095,g5593,g4110,g6112,g5673,g4077,g6001,g5540,g6401, + g8708,g7575,g5050,g1725,g6727,g8405,g4099,g4304,g8829,g8286,g8798,g8733, + g8270,g8610,g9345,g4269,I8209,I8524,g8069,g4712,g4276,g6124,g9159,g9138, + g9359,g8377,g7093,g6673,g4729,g4059,g4961,g9016,g8904,g8287,I8186,g5132, + I9534,I9535,g8849,I7995,g9251,g4414,I8412,I8413,g3313,g4187,g8291,g3094, + g1898,g4436,g6142,g4160,g7435,g4378,g4135,g5092,g4182,I8071,I8072,I8240, + g9272,g8259,g5714,g8088,g8852,g8923,I8461,g6734,g4422,g8701,g9328,g6465, + g4216,g9130,g9054,g2972,I8046,g8951,g8785,g8314,g4437,g8825,g8650,g1728, + g8336,g6061,g5257,g8943,g6046,I8115,I8642,g8322,I10597,g8934,g9348,g6145, + g4054,g3767,g4454,g5077,g4532,I8617,I8618,g6107,g8845,I9202,g8337,g4412, + g5104,g6757,g9279,g4389,I8612,g6416,I8417,g9118,g9046,g4787,g6047,g8266, + g6447,g4956,g2979,g1733,g5044,g8081,g8815,g7183,g6132,g4169,g8692,g8726, + g4138,g4109,g4791,g4707,g4062,g6417,I8090,I8490,g4201,I8108,I8109,g8267, + g8312,g6629,g6023,g4957,g4049,I8456,I8529,g8293,g8329,g4469,g4889,g4098, + g6554,g5762,g8828,g8830,g8727,g5436,g6719,I8063,g8703,g8932,g6166,g8624, + g8953,g8758,g4052,g7687,g4452,g3760,g6456,g6116,g7444,g9158,g9137,g5036, + g4086,g4179,g4486,I8528,g8716,g7428,g4504,I8568,I8569,g4185,g9275,g4385, + g8848,g5579,g4090,g4425,g2386,g5442,g4679,g6057,g4131,g8319,I8552,g8258, + g6971,g6424,g8717,g7597,g7316,g7079,g8274,g4445,I8455,g4091,g4491,g8325, + g8821,I8052,I8053,g5029,g4369,g8280,g8939,g4407,g4227,g8306,g4793,g3887, + g8461,g8622,g4246,g3226,g8403,g8841,g5049,I8020,g8695,g8307,g9278,g4388, + g8359,g9143,g9122,g9343,g7626,g8858,g4430,I8436,I8437,g9334,g8315,g4239, + g6239,g5314,g5019,g2935,g7683,g4876,g8654,g6420,g4108,g4883,I8040,g4066, + g8272,g4466,I8491,g8909,g8612,g6204,g4365,g4048,g8935,g5425,g4448,I8460, + g4072,g8328,g4133,g4333,g8542,g8330,g4396,g9160,g9139,g6040,g5105,g7616, + g4163,g4067,I8143,g3049,g8090,g6151,g8823,g5045,g5091,g4181,g8456,g9271, + g4397,g8851,g4421,g8698,g8260,g6172,g9238,g8720,g4101,g8318,g8652,g8843, + I8593,g8457,g1753,g8686,g4529,g8321,g6908,g4168,g6567,g6265,g4368,g8938, + g8813,g5030,g4058,g3656,g4743,g3518,g8740,g6965,g6489,g4411,g8687,g6160, + g1919,g4074,g5108,g6641,g6770,g3678,g5066,g8860,g8341,g8710,g9384,g8645, + g8691,g5048,g9024,g8884,g8879,g8782,g8154,g8962,g8890,g6249,g1739,g8275, + g8311,g4400,g3614,g6541,g6144,I8574,g5018,g5067,g5093,g9273,g4147,g4383, + g4220,g8380,g8832,g4176,g4514,g8853,g7081,g4423,g3188,g5700,g4361,g8931, + g4127,g4451,g6574,g5984,g7038,g6466,g8628,g8300,g9014,g8906,g7010,g5817, + g4472,g8440,I8523,g5585,g4741,I8643,g6175,g4332,g5614,g8323,g9335,g4870, + g4434,I8014,I8015,I8551,g9022,g8887,g4255,g8151,g8648,g6470,g5458,g4686, + g3509,I8613,g8839,g9037,g8965,g4936,g4117,g8278,g7192,g7026,g8282,g5080, + g5573,g3011,g8693,g8334,g6044,g6717,g6444,g8621,g4937,g4309,g8313,g4235, + g4190,g4390,g5126,g9012,g8908,I8288,g4356,g9371,g9352,g6414,g8264,I8041, + g8933,g7016,g4053,g5588,g3028,g4453,I8495,g6182,g8724,g8379,g7199,g7003, + g6916,g6022,g5595,g8878,g8777,g6422,g8289,g8835,g8271,g8611,g5043,I8296, + g6437,g5443,g5116,g8238,g5034,g8332,g4497,g8153,g8744,g7215,g6042,I8029, + g8804,g6054,g4526,g6615,g2889,g7136,g5117,g8714,g9025,g8889,g4243,g1690, + g6412,g6688,g6990,g8262,g6171,g5363,g8736,g6429,g6716,g9131,g9055,g8623, + g7690,g7096,g8722,g7195,g5937,g5562,g5079,g4546,g5141,g8285,g9226,g6109, + g4224,I8127,g8384,g8339,I8299,g8838,I8019,g8737,g4906,g4789,g2751,g6049, + g8077,g8643,g6715,g5681,g5032,g5432,g3233,g3358,g9015,g8905,g8742,g8304, + g8926,g6162,g6268,g7001,g3722,g8273,g6419,g6052,g8269,g4959,I8006,g4435, + g4690,g4082,g8712,g8543,g8729,g8961,g8885,g9247,g8927,I8045,g5894,g8660, + g8147,g8946,g7503,g6006,g5575,g3260,g3221,g8513,g6406,g3190,g6105,g4877, + g8378,g6487,g5750,g8335,g8831,g8288,g8382,g5484,g5096,g8749,g4785,g1678, + g6045,g5583,g1775,g5712,g8947,g6407,g6578,g6218,g4194,I8089,g8653,g4394, + g8302,g6600,g8719,g3986,g6415,g5970,g5605,I8028,g8265,g4955,g4254,g4150, + g2949,g9021,g8886,g8296,g4409,g8725,g6689,g6698,g5547,g1819,g7427,I8589, + g6428,g6430,g8281,g5078,g6638,g8297,g5082,g8745,g8338,g8963,g8891,g2986, + g7416,g7140,g8309,I8418,g6448,g6055,g5239,g7654,g4142,g4192,g4392,g6196, + g4927,g5615,g6396,g8715,g7363,g8833,g6706,g7417,g7144,g8146,g9011,g6418, + g6994,g3658,g6926,g8268,g5064,g8362,g4958,I8064,g4376,g5070,g1913,g6021, + g5594,g6421,g8728,g8730,g4225,g8385,g4073,g4796,g8070,g5089,g4473,g4912, + g4124,g4377,g8331,g9023,g8888,g4287,I8237,g4483,g8087,g8305,g4199,g5438, + g6041,g5189,g8748,g9327,g4797,g3893,g9146,g9135,g9346,g1834,I8573,g6168, + g6058,g5561,g7193,g6911,g6743,g8283,g9240,g7682,g8920,g8459,g6411,g8718, + g7598,g3222,g8261,g6474,g6203,g8637,g6992,g6610,g6694,g4314,I8400,g9147, + g9136,g5062,g9347,g4228,g8721,g7606,g4408,g9013,g8907,g5298,g4399,g8940, + I8588,g4230,g6400,g4433,g4427,g5031,g7607,g7325,g8826,g4395,g8741,g5005, + g6423,g5765,g8609,g7828,g8308,g7615,g3229,g8066,I8034,g4342,g6999,g6633, + g8711,g5069,g4097,g5343,g8455,g4154,g8827,g8333,g6732,g8846,g6753,g4155, + g4783,g6043,g4312,g7628,g6434,g8290,g4129,g8256,g4830,g8816,g6914,g6013, + g5589,g6413,g8700,g7323,g8263,g8950,g4068,I8079,g8723,g8257,g8817,g8301, + g6060,g4699,g6178,g4398,g5008,g7278,g6995,g6435,g8441,g6699,I8432,g9084, + g8964,g5830,g5065,g5122,g4319,g4352,g5033,g8458,g4186,g9276,g4386,g5518, + g8074,g6053,g4083,g8080,g8713,g5142,g6157,g5081,g9120,g9052,I8078,g9277, + g4387,g8688,g8857,g5783,g7724,g7337,g6121,g8326,g4145,g4391,g5001,g4107, + g6436,g4159,g8383,g8924,g7611,g4507,g8634,g5483,g4315,g4047,g8361,g4474, + g6707,g5140,g4166,g8327,g6039,g5068,g6439,g8303,g8696,g8732,g3286,g8944, + g5699,g7600,g4128,g3081,g1682,g8316,g6970,g5035,g5119,g8697,g8914,g8795, + g4902,g7175,g6893,g5599,g4745,g4490,g4823,g8820,g4366,g8936,g6771,g8317, + g5125,g7184,g6138,g4355,g8922,g6738,g8060,g7535,g5106,g6991,g5689,g8460, + g9038,g8966,g8739,g4055,g4118,g4167,g2783,g4367,g4872,g4549,g8937,g8079, + g8294,g5046,g8840,g4193,g4393,g6915,g8942,g2912,g5107,g8704,g6002,g5539, + g6402,g8954,g8763,g6762,g4740,g3258,g5047,g8912,g8796,g6464,g6177,g8929, + g6728,g7447,g8626,g3984,g5017,g4219,g7182,g6902,g6394,g4962,g6580,g8735, + g8075,g8949,g7632,g7445,g7653,g8292,g2952,g6438,g4829,g3314,g5090,g8646, + g6409,g4180,g9270,g4380,g8439,g4420,g4794,g8702,g8919,g8952,g8788,g8276, + g5063,g4100,g8404,g5118,g8764,g8231,g5057,g3939,g3925,g3915,g3907,I14941, + g8699,I8225,I15250,I9107,g2214,g8707,g8082,I9047,g6270,I14484,I15055, + I15051,I15052,I15053,I15054,I15111,g4824,g3315,g8656,I14985,I15019,I15018, + g3083,g8850,g5040,g3900,g3895,g3890,g4363,g4790,g4786,I15102,I15098,I15099, + I15100,I15101,g2229,I14771,I15231,I14959,I14960,g8009,I14302,I14951,I14952, + I15085,g4810,I14759,I15243,I15239,I15240,I15241,I15242,I14758,g4736,I9044, + g8658,I14990,g4737,g8176,g6452,g2206,g8862,I15169,g8360,g7421,g4318,I15084, + I15110,g8812,I15254,g2230,I15230,I15265,I15261,I15262,I15263,I15264,I9099, + I13553,g8819,I14767,g3541,g8811,I15297,I15298,I15041,g5558,I15275,g3602, + g7062,I14766,I15165,g2014,I15253,I14754,I15175,I15021,I15017,I15020,I15073, + I15274,g6209,I15292,g8805,g7784,I14219,I14366,I15109,I15283,g6710,I6209, + g8706,I14980,g8232,I14942,I15040,I15252,I14969,g2213,g3012,g8128,g6910, + I11603,g6193,g6197,g5556,I15072,I14496,I15152,g8863,I15400,I9029,I15113, + I15112,g4734,I9038,I14480,I6208,I14468,g8523,g5021,g8694,I15229,I14479, + I15228,g2995,g8818,I15232,g8680,g8855,I14772,g8847,I14970,g8861,I15031, + g4735,I9041,g8679,g2262,I15043,I7232,I7233,g4727,g8236,I15284,I15285, + I14834,I15086,I15082,I15083,g8279,g8613,g8806,g2367,g2352,g2378,g2330, + I15042,g8859,g7083,I13220,I15030,g6259,g6185,I14933,I15075,I15071,I15074, + I15276,g8807,g7191,I15272,I15273,g8803,I15251,g3129,g4237,I14932,g6119, + g8091,g6184,g6174,g6214,g8655,g5546,I14831,I14753,g2368,I5757,I8363,g8230, + I15290,I15291,I15033,I15029,I15032,g8233,I8224,g2315,g2385,g2294,g2395, + g2043,I14495,g5555,I14467,I15147,g6153,I15172,g4835,I15044,g8659,I14485, + I15888,g9192,I15887,I7466,I10092,g4881,I5521,I5519,g4528,I8606,I8607,g5625, + I7538,I11143,I11142,I7467,g4839,I10906,I12575,I7181,I7179,I11178,I11179, + I7421,I9548,I9549,I12597,I12598,g4548,I8636,I8637,I15855,I11110,I11108, + I11177,I6524,I6522,I8510,I8245,I8243,g4313,I11186,I11184,I13685,g7237, + I6258,I6257,I10889,I10890,I13800,I15819,I15817,I15818,I5600,I5598,I11185, + I9978,g4880,I9243,g4305,I9241,I6274,I6273,g5284,I10745,I10743,I9746,I9747, + I9234,g4310,I9233,I6170,I13587,g7234,I6939,g2051,I11117,I11115,g3232,I7531, + g3938,I7610,I7611,I7505,I7503,I7011,g2333,I7009,I11123,I11122,I11751, + I11750,g6701,I12032,I12033,I9195,I9196,I13639,g7257,I13638,I10329,I10327, + I10981,I10982,I6904,g7069,I10328,I10314,I10315,I7480,I7478,I11841,g6158, + I7569,I7567,I9964,I9963,I7010,g3681,I13786,I13787,I6757,I12051,I6940,I6941, + I11116,I11615,I11614,I9057,I10991,g5632,I9547,I8255,I8253,g4492,I8537, + I8538,I7423,I11165,I11163,I6234,I6232,I10744,g5550,I9979,I9980,I10849, + I10847,I9242,g4476,I8511,I8512,I10790,I10791,I10848,g4871,I7240,I7239, + g5567,I10361,I10359,I7443,I13600,g7244,I13598,I9691,I10992,I10993,g4231, + I11137,I11135,I7533,I11873,g6187,I12552,I12550,I9985,g4836,I12870,I12871, + g9191,I15856,I15857,I6843,I6842,I8119,I8152,I8150,I7460,I7459,I14473, + I14472,I10789,g5512,I7937,I11136,I7479,I6813,I5599,I10000,I10001,I6740, + I6739,g4513,I8582,I8583,I11164,I8939,I8938,I13214,I13215,I7156,I8940, + I11575,I11574,I6997,I6998,I8635,g4831,I11109,I12551,I11102,I11103,I9151, + g3883,I7453,I7452,I10874,I10875,I7568,I7157,g4869,I8536,I9278,I9276,I7149, + I7150,I6275,I9235,I10980,I9693,I13640,I10899,I5506,I5507,I11757,g5056, + g5039,g5023,g6695,I12016,I12017,I7187,I7188,I5520,I10835,I10836,I13397, + I13395,I6905,I8328,I8326,I6523,I9965,I6750,I13213,g7065,g7082,I10224, + I10225,I9070,I9071,I10061,g4910,I10060,I7616,g3889,I7437,I7438,I10360, + I8166,g3231,I8164,I7215,I7216,g4575,I8679,I8680,I15863,I15862,I13396, + I14246,I14244,I7277,I10071,g4954,I6172,I7617,I12576,I12577,I9153,I13377, + I13378,I6134,I6133,I12080,I12078,I7892,I7891,I8393,I8392,g1910,I13785, + I12031,I9476,I9477,I6171,I7140,I7138,I8121,I6202,I6201,I7086,I7087,I12869, + I6776,I6774,I8605,I7214,I9475,I13003,I13002,I6996,I9692,I6878,I6876,I7180, + I8659,I8658,I8133,I8134,I12079,I11752,I12596,g5590,I10888,I6103,I6104, + g4502,I8559,I8560,I10039,I10040,I11149,I8558,I11842,I11843,I7148,I9947, + I9948,I7436,I12015,I10900,I10901,I9058,I9059,I9946,g4905,I10625,I6135, + g6559,I6758,I6759,g9202,I15881,I15882,I9182,I9181,I9382,I9381,I10197, + I10196,I6500,I6499,I10855,I10854,I8151,I13376,I11096,I11094,I10867,I10866, + I5505,I13802,I10313,g5305,I10819,I10818,I10306,I10307,I11549,g9179,I7085, + I7485,I6102,I8132,I13686,I13687,I10094,I6203,g4700,I10019,I10017,I10018, + I11150,I11151,I7270,I7268,I9999,I7609,I9171,g4244,I9169,I10923,I7069,I7068, + I10300,I10298,I7540,I13004,I10198,I9745,I12853,I12854,I7173,I7174,g9190, + I15880,I11080,I11078,I6916,I5696,I5695,I7510,I12852,I8503,I8504,I10305, + I10062,I8678,I7070,I6752,I6917,I5620,I5621,I7241,I5697,I12053,I6233,I10335, + I10334,I15898,I15899,I14839,I14837,I15897,g9203,I14838,I9069,I10820,g6680, + g8073,g8092,I11171,I11170,g4893,I10038,I6775,I11079,g5697,I10143,I10142, + I13599,I10010,I10011,I15850,I15848,I8339,I8338,I9768,I9769,I10093,I11158, + I11156,I10321,I10322,I11144,I9767,g6722,I10223,I11172,I6539,I6538,I10320, + I13017,I13016,I11550,I11551,I10953,g5565,I10952,I9170,I7468,I11095,I9826, + I8660,I10908,I7576,I7574,g4294,I8244,I12052,I9827,I11124,I9152,I13801, + I8340,I9194,I10834,g5568,I7893,I7186,I11875,I9277,I7444,I7445,I9994,I9992, + I6751,I7939,I10336,I13018,I7461,I8956,I8955,I6741,I12180,I12181,I13589, + I13588,g3924,I6066,I6064,I12833,I12834,I11616,I10873,I8957,I7158,I11101, + I11874,I12832,I10073,I14474,I9828,I8502,g3914,I7532,I12951,I8470,I7512, + I15889,I9183,I9383,I14245,I7279,I7938,I10144,I8581,I5619,g8644,g4563, + I10868,I11157,I11576,I10954,I6924,I6923,g6709,I10072,g3894,I10924,I10925, + I7172,I8165,I9954,I9953,I15864,I10856,I11758,I11759,g5310,g4298,I8254, + I7575,I9986,I9987,I8120,I6259,g4252,g3906,I7504,I10907,g4911,I7278,I7618, + I6540,I9993,I7511,I6501,I7139,I7539,I8394,I12952,I12953,g3899,g6163,I12179, + g4821,I10009,I10627,I8327,I10626,I8472,I15849,I6925,I9955,I10299,I6906, + g5291,I10080,I10078,I7269,I6877,I7486,I7487,I6844,I7422,g3886,I6814,I10079, + I6918,g5312,g4359,I7429,I7430,I7454,g4894,g4888,g4884,I7428,g4456,I8471, + I6065,I6815,g3885,g3310,g8635; + + dff DFF_0(CK,g397,g4635); + dff DFF_1(CK,g1271,g5176); + dff DFF_2(CK,g312,g4618); + dff DFF_3(CK,g273,g4611); + dff DFF_4(CK,g452,g449); + dff DFF_5(CK,g948,g8664); + dff DFF_6(CK,g629,g6827); + dff DFF_7(CK,g207,g5733); + dff DFF_8(CK,g1541,g7778); + dff DFF_9(CK,g1153,g6856); + dff DFF_10(CK,g940,g5735); + dff DFF_11(CK,g976,g8864); + dff DFF_12(CK,g498,g9111); + dff DFF_13(CK,g314,g4620); + dff DFF_14(CK,g1092,g7520); + dff DFF_15(CK,g454,g4639); + dff DFF_16(CK,g196,g5731); + dff DFF_17(CK,g535,g3844); + dff DFF_18(CK,g292,g4613); + dff DFF_19(CK,g772,g6846); + dff DFF_20(CK,g1375,g6869); + dff DFF_21(CK,g689,g6371); + dff DFF_22(CK,g183,g6309); + dff DFF_23(CK,g359,g6336); + dff DFF_24(CK,g1384,g6881); + dff DFF_25(CK,g1339,g6865); + dff DFF_26(CK,g20,g6386); + dff DFF_27(CK,g1424,g3862); + dff DFF_28(CK,g767,g6841); + dff DFF_29(CK,g393,g4631); + dff DFF_30(CK,g1077,g7767); + dff DFF_31(CK,g1231,g1236); + dff DFF_32(CK,g294,g4615); + dff DFF_33(CK,g1477,g9036); + dff DFF_34(CK,g4,g9372); + dff DFF_35(CK,g608,g6806); + dff DFF_36(CK,g1205,g1204); + dff DFF_37(CK,g465,g6352); + dff DFF_38(CK,g774,g6848); + dff DFF_39(CK,g921,g916); + dff DFF_40(CK,g1304,g1312); + dff DFF_41(CK,g243,g6318); + dff DFF_42(CK,g1499,g7772); + dff DFF_43(CK,g80,g6778); + dff DFF_44(CK,g1444,g5185); + dff DFF_45(CK,g1269,g5740); + dff DFF_46(CK,g600,g6807); + dff DFF_47(CK,g423,g9105); + dff DFF_48(CK,g771,g6845); + dff DFF_49(CK,g803,g7757); + dff DFF_50(CK,g843,g2647); + dff DFF_51(CK,g315,g4621); + dff DFF_52(CK,g455,g4640); + dff DFF_53(CK,g906,g901); + dff DFF_54(CK,g622,g6821); + dff DFF_55(CK,g891,g3855); + dff DFF_56(CK,g1014,g1012); + dff DFF_57(CK,g984,g9133); + dff DFF_58(CK,g117,g5153); + dff DFF_59(CK,g137,g5150); + dff DFF_60(CK,g527,g9110); + dff DFF_61(CK,g1513,g1524); + dff DFF_62(CK,g278,g6323); + dff DFF_63(CK,g1378,g6880); + dff DFF_64(CK,g718,g7753); + dff DFF_65(CK,g598,g6797); + dff DFF_66(CK,g1182,g1160); + dff DFF_67(CK,g1288,g7527); + dff DFF_68(CK,g1382,g6888); + dff DFF_69(CK,g179,g5159); + dff DFF_70(CK,g624,g6831); + dff DFF_71(CK,g48,g9362); + dff DFF_72(CK,g362,g9093); + dff DFF_73(CK,g878,g890); + dff DFF_74(CK,g270,g9092); + dff DFF_75(CK,g763,g6836); + dff DFF_76(CK,g710,g7751); + dff DFF_77(CK,g730,g7754); + dff DFF_78(CK,g295,g4616); + dff DFF_79(CK,g1037,g7519); + dff DFF_80(CK,g1102,g6855); + dff DFF_81(CK,g483,g6356); + dff DFF_82(CK,g775,g7759); + dff DFF_83(CK,g621,g6819); + dff DFF_84(CK,g1364,g6878); + dff DFF_85(CK,g1454,g5187); + dff DFF_86(CK,g1296,g7304); + dff DFF_87(CK,g5,g9373); + dff DFF_88(CK,g1532,g7781); + dff DFF_89(CK,g587,g3852); + dff DFF_90(CK,g741,g9386); + dff DFF_91(CK,g13,g7308); + dff DFF_92(CK,g606,g6804); + dff DFF_93(CK,g1012,g6851); + dff DFF_94(CK,g52,g6781); + dff DFF_95(CK,g646,g4652); + dff DFF_96(CK,g1412,g5745); + dff DFF_97(CK,g327,g6332); + dff DFF_98(CK,g1189,g6392); + dff DFF_99(CK,g1389,g4658); + dff DFF_100(CK,g1029,g2654); + dff DFF_101(CK,g1371,g6868); + dff DFF_102(CK,g1429,g2671); + dff DFF_103(CK,g398,g4636); + dff DFF_104(CK,g985,g7515); + dff DFF_105(CK,g354,g4624); + dff DFF_106(CK,g619,g6817); + dff DFF_107(CK,g113,g5148); + dff DFF_108(CK,g133,g5149); + dff DFF_109(CK,g180,g5158); + dff DFF_110(CK,g1138,g7524); + dff DFF_111(CK,g1309,g1308); + dff DFF_112(CK,g889,g7101); + dff DFF_113(CK,g390,g6341); + dff DFF_114(CK,g625,g6823); + dff DFF_115(CK,g417,g9103); + dff DFF_116(CK,g681,g7748); + dff DFF_117(CK,g437,g6348); + dff DFF_118(CK,g351,g9100); + dff DFF_119(CK,g1201,g1200); + dff DFF_120(CK,g109,g6785); + dff DFF_121(CK,g1049,g8673); + dff DFF_122(CK,g1098,g6854); + dff DFF_123(CK,g200,g199); + dff DFF_124(CK,g240,g6317); + dff DFF_125(CK,g479,g4649); + dff DFF_126(CK,g126,g6789); + dff DFF_127(CK,g596,g6795); + dff DFF_128(CK,g1268,g5175); + dff DFF_129(CK,g222,g6313); + dff DFF_130(CK,g420,g9104); + dff DFF_131(CK,g3,g9360); + dff DFF_132(CK,g58,g7734); + dff DFF_133(CK,g172,g1270); + dff DFF_134(CK,g387,g6340); + dff DFF_135(CK,g840,g2648); + dff DFF_136(CK,g365,g9094); + dff DFF_137(CK,g1486,g8226); + dff DFF_138(CK,g1504,g7773); + dff DFF_139(CK,g1185,g1155); + dff DFF_140(CK,g1385,g6883); + dff DFF_141(CK,g583,g3851); + dff DFF_142(CK,g822,g7512); + dff DFF_143(CK,g1025,g8871); + dff DFF_144(CK,g969,g966); + dff DFF_145(CK,g768,g6842); + dff DFF_146(CK,g174,g7737); + dff DFF_147(CK,g685,g7749); + dff DFF_148(CK,g1087,g6853); + dff DFF_149(CK,g355,g4625); + dff DFF_150(CK,g911,g906); + dff DFF_151(CK,g1226,g6859); + dff DFF_152(CK,g99,g6783); + dff DFF_153(CK,g1045,g8224); + dff DFF_154(CK,g1173,g7526); + dff DFF_155(CK,g1373,g6871); + dff DFF_156(CK,g186,g3830); + dff DFF_157(CK,g760,g6833); + dff DFF_158(CK,g959,g5169); + dff DFF_159(CK,g1369,g6875); + dff DFF_160(CK,g1007,g8867); + dff DFF_161(CK,g1459,g3863); + dff DFF_162(CK,g758,g6840); + dff DFF_163(CK,g480,g6355); + dff DFF_164(CK,g396,g4634); + dff DFF_165(CK,g612,g6811); + dff DFF_166(CK,g38,g5746); + dff DFF_167(CK,g632,g6830); + dff DFF_168(CK,g1415,g5180); + dff DFF_169(CK,g1227,g7108); + dff DFF_170(CK,g246,g6319); + dff DFF_171(CK,g449,g3840); + dff DFF_172(CK,g517,g4651); + dff DFF_173(CK,g118,g6787); + dff DFF_174(CK,g138,g6792); + dff DFF_175(CK,g16,g1404); + dff DFF_176(CK,g284,g9086); + dff DFF_177(CK,g142,g6793); + dff DFF_178(CK,g219,g6312); + dff DFF_179(CK,g426,g9106); + dff DFF_180(CK,g1388,g6882); + dff DFF_181(CK,g806,g7510); + dff DFF_182(CK,g846,g2646); + dff DFF_183(CK,g1428,g2672); + dff DFF_184(CK,g579,g3850); + dff DFF_185(CK,g1030,g7518); + dff DFF_186(CK,g614,g6812); + dff DFF_187(CK,g1430,g4666); + dff DFF_188(CK,g1247,g6380); + dff DFF_189(CK,g669,g7745); + dff DFF_190(CK,g110,g109); + dff DFF_191(CK,g130,g6790); + dff DFF_192(CK,g225,g6314); + dff DFF_193(CK,g281,g9085); + dff DFF_194(CK,g819,g7761); + dff DFF_195(CK,g1308,g6385); + dff DFF_196(CK,g611,g6810); + dff DFF_197(CK,g631,g6829); + dff DFF_198(CK,g1217,g6377); + dff DFF_199(CK,g104,g6784); + dff DFF_200(CK,g1365,g6867); + dff DFF_201(CK,g825,g7513); + dff DFF_202(CK,g1333,g6863); + dff DFF_203(CK,g474,g4644); + dff DFF_204(CK,g1396,g4662); + dff DFF_205(CK,g141,g5151); + dff DFF_206(CK,g1509,g7774); + dff DFF_207(CK,g766,g6839); + dff DFF_208(CK,g1018,g8869); + dff DFF_209(CK,g588,g9031); + dff DFF_210(CK,g1467,g8875); + dff DFF_211(CK,g317,g4623); + dff DFF_212(CK,g457,g4642); + dff DFF_213(CK,g486,g6357); + dff DFF_214(CK,g471,g6354); + dff DFF_215(CK,g1381,g6887); + dff DFF_216(CK,g1197,g1196); + dff DFF_217(CK,g513,g9116); + dff DFF_218(CK,g1397,g6389); + dff DFF_219(CK,g533,g530); + dff DFF_220(CK,g1021,g8870); + dff DFF_221(CK,g1421,g5179); + dff DFF_222(CK,g952,g8668); + dff DFF_223(CK,g1263,g5737); + dff DFF_224(CK,g580,g6368); + dff DFF_225(CK,g615,g6813); + dff DFF_226(CK,g1257,g5738); + dff DFF_227(CK,g46,g8955); + dff DFF_228(CK,g402,g6343); + dff DFF_229(CK,g998,g1005); + dff DFF_230(CK,g1041,g7765); + dff DFF_231(CK,g297,g6324); + dff DFF_232(CK,g954,g8670); + dff DFF_233(CK,g105,g104); + dff DFF_234(CK,g145,g5152); + dff DFF_235(CK,g212,g4601); + dff DFF_236(CK,g1368,g6874); + dff DFF_237(CK,g232,g4606); + dff DFF_238(CK,g990,g7516); + dff DFF_239(CK,g475,g4645); + dff DFF_240(CK,g33,g5184); + dff DFF_241(CK,g951,g8667); + dff DFF_242(CK,g799,g7756); + dff DFF_243(CK,g812,g7758); + dff DFF_244(CK,g567,g6367); + dff DFF_245(CK,g313,g4619); + dff DFF_246(CK,g333,g6334); + dff DFF_247(CK,g168,g7742); + dff DFF_248(CK,g214,g4603); + dff DFF_249(CK,g234,g4608); + dff DFF_250(CK,g652,g646); + dff DFF_251(CK,g1126,g8674); + dff DFF_252(CK,g1400,g6390); + dff DFF_253(CK,g1326,g7306); + dff DFF_254(CK,g92,g6794); + dff DFF_255(CK,g309,g6328); + dff DFF_256(CK,g211,g4600); + dff DFF_257(CK,g834,g2650); + dff DFF_258(CK,g231,g4605); + dff DFF_259(CK,g557,g6366); + dff DFF_260(CK,g1383,g6889); + dff DFF_261(CK,g1220,g6378); + dff DFF_262(CK,g158,g7740); + dff DFF_263(CK,g627,g6825); + dff DFF_264(CK,g661,g7743); + dff DFF_265(CK,g77,g6777); + dff DFF_266(CK,g831,g2651); + dff DFF_267(CK,g1327,g7307); + dff DFF_268(CK,g293,g4614); + dff DFF_269(CK,g1146,g1612); + dff DFF_270(CK,g89,g92); + dff DFF_271(CK,g150,g7738); + dff DFF_272(CK,g773,g6847); + dff DFF_273(CK,g859,g8221); + dff DFF_274(CK,g1240,g1235); + dff DFF_275(CK,g518,g6361); + dff DFF_276(CK,g1472,g8960); + dff DFF_277(CK,g1443,g4667); + dff DFF_278(CK,g436,g4638); + dff DFF_279(CK,g405,g6344); + dff DFF_280(CK,g1034,g8957); + dff DFF_281(CK,g1147,g1146); + dff DFF_282(CK,g374,g4627); + dff DFF_283(CK,g98,g5146); + dff DFF_284(CK,g563,g9029); + dff DFF_285(CK,g510,g9115); + dff DFF_286(CK,g530,g3842); + dff DFF_287(CK,g215,g4604); + dff DFF_288(CK,g235,g4609); + dff DFF_289(CK,g1013,g1014); + dff DFF_290(CK,g6,g9374); + dff DFF_291(CK,g55,g7733); + dff DFF_292(CK,g1317,g5743); + dff DFF_293(CK,g504,g9113); + dff DFF_294(CK,g665,g7744); + dff DFF_295(CK,g544,g6365); + dff DFF_296(CK,g371,g368); + dff DFF_297(CK,g62,g7509); + dff DFF_298(CK,g792,g5162); + dff DFF_299(CK,g468,g6353); + dff DFF_300(CK,g815,g7760); + dff DFF_301(CK,g1460,g4668); + dff DFF_302(CK,g553,g9028); + dff DFF_303(CK,g623,g6822); + dff DFF_304(CK,g501,g9112); + dff DFF_305(CK,g1190,g8677); + dff DFF_306(CK,g1390,g4659); + dff DFF_307(CK,g74,g6776); + dff DFF_308(CK,g1156,g1081); + dff DFF_309(CK,g318,g6329); + dff DFF_310(CK,g458,g4643); + dff DFF_311(CK,g342,g9097); + dff DFF_312(CK,g1250,g7111); + dff DFF_313(CK,g1163,g2655); + dff DFF_314(CK,g1363,g6877); + dff DFF_315(CK,g1432,g5183); + dff DFF_316(CK,g1053,g8873); + dff DFF_317(CK,g252,g6321); + dff DFF_318(CK,g330,g6333); + dff DFF_319(CK,g264,g9090); + dff DFF_320(CK,g1157,g1156); + dff DFF_321(CK,g1357,g8675); + dff DFF_322(CK,g375,g4628); + dff DFF_323(CK,g68,g6774); + dff DFF_324(CK,g852,g2644); + dff DFF_325(CK,g261,g9089); + dff DFF_326(CK,g516,g4650); + dff DFF_327(CK,g536,g6363); + dff DFF_328(CK,g979,g7104); + dff DFF_329(CK,g778,g7296); + dff DFF_330(CK,g199,g3832); + dff DFF_331(CK,g1292,g7302); + dff DFF_332(CK,g290,g287); + dff DFF_333(CK,g1084,g7106); + dff DFF_334(CK,g1439,g5182); + dff DFF_335(CK,g770,g6844); + dff DFF_336(CK,g1276,g6384); + dff DFF_337(CK,g890,g7102); + dff DFF_338(CK,g1004,g7105); + dff DFF_339(CK,g1404,g1403); + dff DFF_340(CK,g93,g5145); + dff DFF_341(CK,g2,g9361); + dff DFF_342(CK,g287,g3836); + dff DFF_343(CK,g560,g6370); + dff DFF_344(CK,g1224,g6857); + dff DFF_345(CK,g1320,g7114); + dff DFF_346(CK,g617,g6815); + dff DFF_347(CK,g316,g4622); + dff DFF_348(CK,g336,g9095); + dff DFF_349(CK,g933,g5166); + dff DFF_350(CK,g456,g4641); + dff DFF_351(CK,g345,g9098); + dff DFF_352(CK,g628,g6826); + dff DFF_353(CK,g8,g9376); + dff DFF_354(CK,g887,g7099); + dff DFF_355(CK,g789,g7297); + dff DFF_356(CK,g173,g7736); + dff DFF_357(CK,g550,g9027); + dff DFF_358(CK,g255,g9087); + dff DFF_359(CK,g949,g8665); + dff DFF_360(CK,g1244,g2659); + dff DFF_361(CK,g620,g6818); + dff DFF_362(CK,g1435,g5181); + dff DFF_363(CK,g477,g4647); + dff DFF_364(CK,g926,g878); + dff DFF_365(CK,g368,g3838); + dff DFF_366(CK,g855,g8220); + dff DFF_367(CK,g1214,g5736); + dff DFF_368(CK,g1110,g7299); + dff DFF_369(CK,g1310,g1309); + dff DFF_370(CK,g296,g4617); + dff DFF_371(CK,g972,g2653); + dff DFF_372(CK,g1402,g6391); + dff DFF_373(CK,g1236,g1240); + dff DFF_374(CK,g896,g891); + dff DFF_375(CK,g613,g6820); + dff DFF_376(CK,g566,g3848); + dff DFF_377(CK,g1394,g6388); + dff DFF_378(CK,g1489,g7770); + dff DFF_379(CK,g883,g921); + dff DFF_380(CK,g47,g9389); + dff DFF_381(CK,g971,g5171); + dff DFF_382(CK,g609,g6808); + dff DFF_383(CK,g103,g5157); + dff DFF_384(CK,g1254,g6381); + dff DFF_385(CK,g556,g3847); + dff DFF_386(CK,g1409,g5178); + dff DFF_387(CK,g626,g6824); + dff DFF_388(CK,g1229,g7110); + dff DFF_389(CK,g782,g5734); + dff DFF_390(CK,g237,g6316); + dff DFF_391(CK,g942,g2652); + dff DFF_392(CK,g228,g6315); + dff DFF_393(CK,g706,g7750); + dff DFF_394(CK,g746,g8956); + dff DFF_395(CK,g1462,g8678); + dff DFF_396(CK,g963,g7764); + dff DFF_397(CK,g129,g5156); + dff DFF_398(CK,g837,g2649); + dff DFF_399(CK,g599,g6798); + dff DFF_400(CK,g1192,g1191); + dff DFF_401(CK,g828,g7762); + dff DFF_402(CK,g1392,g6387); + dff DFF_403(CK,g492,g6359); + dff DFF_404(CK,g95,g94); + dff DFF_405(CK,g944,g6372); + dff DFF_406(CK,g195,g3831); + dff DFF_407(CK,g1431,g2673); + dff DFF_408(CK,g1252,g2661); + dff DFF_409(CK,g356,g6335); + dff DFF_410(CK,g953,g8669); + dff DFF_411(CK,g1176,g5172); + dff DFF_412(CK,g1376,g6890); + dff DFF_413(CK,g1005,g1004); + dff DFF_414(CK,g1405,g5744); + dff DFF_415(CK,g901,g896); + dff DFF_416(CK,g1270,g1271); + dff DFF_417(CK,g1225,g6858); + dff DFF_418(CK,g1073,g9145); + dff DFF_419(CK,g1324,g7118); + dff DFF_420(CK,g1069,g9134); + dff DFF_421(CK,g443,g9101); + dff DFF_422(CK,g1377,g6891); + dff DFF_423(CK,g377,g4630); + dff DFF_424(CK,g618,g6816); + dff DFF_425(CK,g602,g6800); + dff DFF_426(CK,g213,g4602); + dff DFF_427(CK,g233,g4607); + dff DFF_428(CK,g1199,g6375); + dff DFF_429(CK,g1399,g3861); + dff DFF_430(CK,g83,g6779); + dff DFF_431(CK,g888,g7100); + dff DFF_432(CK,g573,g9033); + dff DFF_433(CK,g399,g6342); + dff DFF_434(CK,g1245,g1244); + dff DFF_435(CK,g507,g9114); + dff DFF_436(CK,g547,g9026); + dff DFF_437(CK,g108,g5147); + dff DFF_438(CK,g610,g6809); + dff DFF_439(CK,g630,g6828); + dff DFF_440(CK,g1207,g5173); + dff DFF_441(CK,g249,g6320); + dff DFF_442(CK,g65,g4598); + dff DFF_443(CK,g916,g911); + dff DFF_444(CK,g936,g5168); + dff DFF_445(CK,g478,g4648); + dff DFF_446(CK,g604,g6802); + dff DFF_447(CK,g945,g5170); + dff DFF_448(CK,g1114,g7521); + dff DFF_449(CK,g100,g99); + dff DFF_450(CK,g429,g9107); + dff DFF_451(CK,g809,g7511); + dff DFF_452(CK,g849,g2645); + dff DFF_453(CK,g1408,g5177); + dff DFF_454(CK,g1336,g6864); + dff DFF_455(CK,g601,g6799); + dff DFF_456(CK,g122,g6788); + dff DFF_457(CK,g1065,g9117); + dff DFF_458(CK,g1122,g8225); + dff DFF_459(CK,g1228,g7109); + dff DFF_460(CK,g495,g6360); + dff DFF_461(CK,g1322,g7116); + dff DFF_462(CK,g1230,g7300); + dff DFF_463(CK,g1033,g9034); + dff DFF_464(CK,g267,g9091); + dff DFF_465(CK,g1195,g6374); + dff DFF_466(CK,g1395,g1393); + dff DFF_467(CK,g373,g4626); + dff DFF_468(CK,g274,g4612); + dff DFF_469(CK,g1266,g5739); + dff DFF_470(CK,g714,g7752); + dff DFF_471(CK,g734,g7755); + dff DFF_472(CK,g1142,g8874); + dff DFF_473(CK,g1342,g7119); + dff DFF_474(CK,g769,g6843); + dff DFF_475(CK,g1081,g6852); + dff DFF_476(CK,g1481,g7769); + dff DFF_477(CK,g1097,g1185); + dff DFF_478(CK,g543,g3846); + dff DFF_479(CK,g1154,g1153); + dff DFF_480(CK,g1354,g7768); + dff DFF_481(CK,g489,g6358); + dff DFF_482(CK,g874,g4654); + dff DFF_483(CK,g121,g5154); + dff DFF_484(CK,g591,g9032); + dff DFF_485(CK,g616,g6814); + dff DFF_486(CK,g1267,g4656); + dff DFF_487(CK,g1312,g1311); + dff DFF_488(CK,g605,g6803); + dff DFF_489(CK,g182,g5161); + dff DFF_490(CK,g1401,g1399); + dff DFF_491(CK,g950,g8666); + dff DFF_492(CK,g1329,g2663); + dff DFF_493(CK,g408,g6345); + dff DFF_494(CK,g871,g5167); + dff DFF_495(CK,g759,g6832); + dff DFF_496(CK,g146,g7735); + dff DFF_497(CK,g202,g5732); + dff DFF_498(CK,g440,g6349); + dff DFF_499(CK,g476,g4646); + dff DFF_500(CK,g184,g6310); + dff DFF_501(CK,g1149,g7525); + dff DFF_502(CK,g1398,g1396); + dff DFF_503(CK,g210,g3834); + dff DFF_504(CK,g394,g4632); + dff DFF_505(CK,g86,g6780); + dff DFF_506(CK,g570,g9030); + dff DFF_507(CK,g275,g6322); + dff DFF_508(CK,g303,g6326); + dff DFF_509(CK,g125,g5155); + dff DFF_510(CK,g181,g5160); + dff DFF_511(CK,g1524,g6393); + dff DFF_512(CK,g595,g576); + dff DFF_513(CK,g1319,g7113); + dff DFF_514(CK,g863,g8222); + dff DFF_515(CK,g1211,g5174); + dff DFF_516(CK,g966,g8223); + dff DFF_517(CK,g1186,g1182); + dff DFF_518(CK,g1386,g6884); + dff DFF_519(CK,g875,g5165); + dff DFF_520(CK,g1170,g1173); + dff DFF_521(CK,g1370,g6876); + dff DFF_522(CK,g201,g200); + dff DFF_523(CK,g1325,g7305); + dff DFF_524(CK,g1280,g7112); + dff DFF_525(CK,g1106,g7107); + dff DFF_526(CK,g1061,g9035); + dff DFF_527(CK,g1387,g6885); + dff DFF_528(CK,g762,g6835); + dff DFF_529(CK,g1461,g4669); + dff DFF_530(CK,g378,g6337); + dff DFF_531(CK,g1200,g1199); + dff DFF_532(CK,g1514,g7775); + dff DFF_533(CK,g1403,g1402); + dff DFF_534(CK,g1345,g7528); + dff DFF_535(CK,g1191,g6373); + dff DFF_536(CK,g1391,g1390); + dff DFF_537(CK,g185,g4599); + dff DFF_538(CK,g1307,g3858); + dff DFF_539(CK,g1159,g1157); + dff DFF_540(CK,g1223,g6379); + dff DFF_541(CK,g446,g9102); + dff DFF_542(CK,g1416,g4665); + dff DFF_543(CK,g395,g4633); + dff DFF_544(CK,g764,g6837); + dff DFF_545(CK,g1251,g6860); + dff DFF_546(CK,g216,g6311); + dff DFF_547(CK,g236,g4610); + dff DFF_548(CK,g205,g3835); + dff DFF_549(CK,g540,g6364); + dff DFF_550(CK,g576,g3849); + dff DFF_551(CK,g1537,g7777); + dff DFF_552(CK,g727,g8228); + dff DFF_553(CK,g999,g8865); + dff DFF_554(CK,g761,g6834); + dff DFF_555(CK,g1272,g6383); + dff DFF_556(CK,g1243,g2660); + dff DFF_557(CK,g1328,g7309); + dff DFF_558(CK,g1130,g7522); + dff DFF_559(CK,g1330,g6862); + dff DFF_560(CK,g114,g6786); + dff DFF_561(CK,g134,g6791); + dff DFF_562(CK,g1166,g1167); + dff DFF_563(CK,g524,g9109); + dff DFF_564(CK,g1366,g6866); + dff DFF_565(CK,g348,g9099); + dff DFF_566(CK,g1148,g1147); + dff DFF_567(CK,g1348,g7529); + dff DFF_568(CK,g1155,g1154); + dff DFF_569(CK,g1260,g6382); + dff DFF_570(CK,g7,g9375); + dff DFF_571(CK,g258,g9088); + dff DFF_572(CK,g521,g6362); + dff DFF_573(CK,g300,g6325); + dff DFF_574(CK,g765,g6838); + dff DFF_575(CK,g1118,g7766); + dff DFF_576(CK,g1167,g1170); + dff DFF_577(CK,g1318,g6861); + dff DFF_578(CK,g1367,g6873); + dff DFF_579(CK,g677,g7747); + dff DFF_580(CK,g376,g4629); + dff DFF_581(CK,g1057,g8959); + dff DFF_582(CK,g973,g8672); + dff DFF_583(CK,g1193,g1192); + dff DFF_584(CK,g1393,g2664); + dff DFF_585(CK,g1549,g7780); + dff DFF_586(CK,g1321,g7115); + dff DFF_587(CK,g1253,g5741); + dff DFF_588(CK,g1519,g8227); + dff DFF_589(CK,g584,g6369); + dff DFF_590(CK,g539,g3845); + dff DFF_591(CK,g324,g6331); + dff DFF_592(CK,g432,g9108); + dff DFF_593(CK,g1158,g1159); + dff DFF_594(CK,g321,g6330); + dff DFF_595(CK,g1311,g1310); + dff DFF_596(CK,g414,g6347); + dff DFF_597(CK,g1374,g6872); + dff DFF_598(CK,g94,g6782); + dff DFF_599(CK,g1284,g7301); + dff DFF_600(CK,g1545,g7779); + dff DFF_601(CK,g1380,g6886); + dff DFF_602(CK,g673,g7746); + dff DFF_603(CK,g607,g6805); + dff DFF_604(CK,g306,g6327); + dff DFF_605(CK,g943,g8671); + dff DFF_606(CK,g162,g7741); + dff DFF_607(CK,g411,g6346); + dff DFF_608(CK,g866,g5163); + dff DFF_609(CK,g1204,g1203); + dff DFF_610(CK,g1300,g7303); + dff DFF_611(CK,g384,g6339); + dff DFF_612(CK,g339,g9096); + dff DFF_613(CK,g459,g6350); + dff DFF_614(CK,g1323,g7117); + dff DFF_615(CK,g381,g6338); + dff DFF_616(CK,g1528,g7776); + dff DFF_617(CK,g1351,g7530); + dff DFF_618(CK,g597,g6796); + dff DFF_619(CK,g1372,g6870); + dff DFF_620(CK,g154,g7739); + dff DFF_621(CK,g435,g4637); + dff DFF_622(CK,g970,g963); + dff DFF_623(CK,g1134,g7523); + dff DFF_624(CK,g995,g7517); + dff DFF_625(CK,g190,g201); + dff DFF_626(CK,g1313,g5742); + dff DFF_627(CK,g603,g6801); + dff DFF_628(CK,g1494,g7771); + dff DFF_629(CK,g462,g6351); + dff DFF_630(CK,g1160,g1163); + dff DFF_631(CK,g1360,g8676); + dff DFF_632(CK,g1450,g5186); + dff DFF_633(CK,g187,g5730); + dff DFF_634(CK,g1179,g1186); + dff DFF_635(CK,g1379,g6879); + dff DFF_636(CK,g12,g8662); + dff DFF_637(CK,g71,g6775); + not NOT_0(g1658,g1313); + not NOT_1(g1777,g611); + not NOT_2(I9325,g4242); + not NOT_3(I7758,g2605); + not NOT_4(g5652,I10135); + not NOT_5(I13502,g7135); + not NOT_6(g6895,I12558); + not NOT_7(g3880,g2965); + not NOT_8(g6837,I12382); + not NOT_9(I15824,g9157); + not NOT_10(g5843,g5367); + not NOT_11(I6112,g4); + not NOT_12(g7189,I13109); + not NOT_13(g8970,I15414); + not NOT_14(I6267,g100); + not NOT_15(g6062,I10675); + not NOT_16(I16126,g9354); + not NOT_17(I10519,g5242); + not NOT_18(I15181,g8734); + not NOT_19(I11443,g6038); + not NOT_20(I12436,g6635); + not NOT_21(I10675,g5662); + not NOT_22(g2547,I6371); + not NOT_23(I7365,g3061); + not NOT_24(I10154,g5109); + not NOT_25(g1611,g1073); + not NOT_26(I11278,g5780); + not NOT_27(g7171,g7071); + not NOT_28(I14154,g7558); + not NOT_29(I12274,g6672); + not NOT_30(g8224,I14451); + not NOT_31(g5834,I10525); + not NOT_32(g5971,I10587); + not NOT_33(g3978,g3160); + not NOT_34(I6676,g1603); + not NOT_35(g3612,I7082); + not NOT_36(I8520,g3652); + not NOT_37(g2892,g2266); + not NOT_38(I13469,g7123); + not NOT_39(I12346,g6737); + not NOT_40(I9636,g4802); + not NOT_41(I14637,g8012); + not NOT_42(g6788,I12235); + not NOT_43(g1799,I5657); + not NOT_44(g3935,I7602); + not NOT_45(I5933,g1158); + not NOT_46(g9207,g9197); + not NOT_47(I13039,g6961); + not NOT_48(I15426,g8895); + not NOT_49(g5598,g4938); + not NOT_50(g1674,g1514); + not NOT_51(g7281,I13277); + not NOT_52(g3982,g3192); + not NOT_53(g4666,I8913); + not NOT_54(I15190,g8685); + not NOT_55(g2945,g2364); + not NOT_56(g5121,I9515); + not NOT_57(g3128,I6839); + not NOT_58(g3629,g2424); + not NOT_59(g7297,I13323); + not NOT_60(g5670,I10157); + not NOT_61(I11815,g6169); + not NOT_62(g6842,I12397); + not NOT_63(g3130,I6849); + not NOT_64(g9088,I15654); + not NOT_65(g8789,g8564); + not NOT_66(g3542,g1777); + not NOT_67(I12292,g6657); + not NOT_68(g6298,I11221); + not NOT_69(g2709,g1747); + not NOT_70(I11677,g6076); + not NOT_71(g6392,I11503); + not NOT_72(g4648,I8859); + not NOT_73(I8829,g4029); + not NOT_74(I15546,g9007); + not NOT_75(g1680,I5515); + not NOT_76(I15211,g8808); + not NOT_77(g2340,g1327); + not NOT_78(I12409,g6398); + not NOT_79(g4655,I8880); + not NOT_80(g7745,I14106); + not NOT_81(g7138,I12996); + not NOT_82(I6703,g1983); + not NOT_83(g5938,g5412); + not NOT_84(g8771,g8564); + not NOT_85(g2478,g31); + not NOT_86(g5813,I10472); + not NOT_87(g7338,I13432); + not NOT_88(g2907,g2289); + not NOT_89(g1744,g600); + not NOT_90(g9215,I15921); + not NOT_91(g7109,I12915); + not NOT_92(g6854,I12433); + not NOT_93(I12635,g6509); + not NOT_94(g7309,I13359); + not NOT_95(g1802,g628); + not NOT_96(I10439,g5214); + not NOT_97(g2959,g1926); + not NOT_98(I14728,g8152); + not NOT_99(I8733,g3996); + not NOT_100(I14439,g8063); + not NOT_101(g2517,I6348); + not NOT_102(g4010,g3097); + not NOT_103(I7662,g3642); + not NOT_104(I9446,g3926); + not NOT_105(I8974,g3871); + not NOT_106(g5740,I10277); + not NOT_107(g5519,I9929); + not NOT_108(g9114,I15732); + not NOT_109(g1558,I5435); + not NOT_110(I7290,g2936); + not NOT_111(g2876,g2231); + not NOT_112(g9314,I16058); + not NOT_113(I11884,g6091); + not NOT_114(I9145,g4264); + not NOT_115(I6468,g1917); + not NOT_116(g5606,g4748); + not NOT_117(I8796,g3934); + not NOT_118(g7759,I14148); + not NOT_119(I14349,g7588); + not NOT_120(I11410,g5845); + not NOT_121(I12164,g5847); + not NOT_122(g695,I5392); + not NOT_123(g6708,g6250); + not NOT_124(I13410,g7274); + not NOT_125(I15625,g9000); + not NOT_126(g6520,I11704); + not NOT_127(g1901,I5781); + not NOT_128(g6219,I10998); + not NOT_129(g6640,I11908); + not NOT_130(I8980,g4535); + not NOT_131(g3902,I7495); + not NOT_132(I12891,g6950); + not NOT_133(I11479,g6201); + not NOT_134(I11666,g5772); + not NOT_135(g5687,I10190); + not NOT_136(g2915,I6643); + not NOT_137(I13666,g7238); + not NOT_138(g6252,g5418); + not NOT_139(g6812,I12307); + not NOT_140(g4372,I8357); + not NOT_141(g7049,I12813); + not NOT_142(g3512,g1616); + not NOT_143(I13478,g7126); + not NOT_144(g5586,g4938); + not NOT_145(g6958,I12675); + not NOT_146(I15943,g9214); + not NOT_147(g4618,I8769); + not NOT_148(I6716,g1721); + not NOT_149(g6376,I11455); + not NOT_150(g4667,I8916); + not NOT_151(I5981,g459); + not NOT_152(I8177,g2810); + not NOT_153(I7847,g3798); + not NOT_154(I16055,g9291); + not NOT_155(g9336,I16084); + not NOT_156(g2310,I6087); + not NOT_157(g7715,I14022); + not NOT_158(g1600,g976); + not NOT_159(g1574,g681); + not NOT_160(g1864,g162); + not NOT_161(g4566,g2902); + not NOT_162(I11556,g6065); + not NOT_163(g7098,g6525); + not NOT_164(I5997,g114); + not NOT_165(g6829,I12358); + not NOT_166(g7498,I13672); + not NOT_167(g2663,I6460); + not NOT_168(I12108,g5939); + not NOT_169(g6765,I12164); + not NOT_170(g3529,g2323); + not NOT_171(g8959,I15391); + not NOT_172(I6198,g483); + not NOT_173(g4693,I8974); + not NOT_174(I13580,g7208); + not NOT_175(g4134,g3676); + not NOT_176(g3649,g2424); + not NOT_177(I14139,g7548); + not NOT_178(I9416,g4273); + not NOT_179(I12283,g6692); + not NOT_180(g8482,g8094); + not NOT_181(g5525,g4934); + not NOT_182(g3851,I7356); + not NOT_183(g5645,g4748); + not NOT_184(I5353,g3833); + not NOT_185(g2402,g29); + not NOT_186(I7950,g2774); + not NOT_187(g2824,g1688); + not NOT_188(g1580,g706); + not NOT_189(g2236,I5969); + not NOT_190(g7584,I13897); + not NOT_191(g4555,g2894); + not NOT_192(g9065,I15589); + not NOT_193(I9642,g4788); + not NOT_194(g7539,I13797); + not NOT_195(I15411,g8897); + not NOT_196(I15527,g9020); + not NOT_197(I10415,g5397); + not NOT_198(I13084,g7071); + not NOT_199(g9322,g9313); + not NOT_200(g3964,g3160); + not NOT_201(g4792,I9111); + not NOT_202(g9230,I15950); + not NOT_203(g6225,I11014); + not NOT_204(I8781,g3932); + not NOT_205(I8898,g4089); + not NOT_206(g6073,g5384); + not NOT_207(g2877,g2232); + not NOT_208(g6796,I12259); + not NOT_209(g1736,I5577); + not NOT_210(I12091,g5988); + not NOT_211(g4621,I8778); + not NOT_212(g5607,g4938); + not NOT_213(g9033,I15513); + not NOT_214(g7162,I13060); + not NOT_215(g7268,I13244); + not NOT_216(g7019,I12771); + not NOT_217(I11740,g6136); + not NOT_218(g7362,I13502); + not NOT_219(g5158,I9600); + not NOT_220(I13740,g7364); + not NOT_221(I9654,g4792); + not NOT_222(I15894,g9195); + not NOT_223(g6324,I11299); + not NOT_224(I7723,g3052); + not NOT_225(g4113,I7950); + not NOT_226(g6069,I10690); + not NOT_227(g2556,g1190); + not NOT_228(g1889,g1018); + not NOT_229(I7101,g2478); + not NOT_230(I5901,g52); + not NOT_231(g2222,I5939); + not NOT_232(I13676,g7256); + not NOT_233(g9096,I15678); + not NOT_234(I8291,g878); + not NOT_235(I13373,g7270); + not NOT_236(g2928,g2326); + not NOT_237(g4202,g2810); + not NOT_238(g8663,I14783); + not NOT_239(I7605,g2752); + not NOT_240(I15714,g9077); + not NOT_241(g5587,g4938); + not NOT_242(g2930,g2328); + not NOT_243(I15315,g8738); + not NOT_244(I11800,g6164); + not NOT_245(g1871,I5754); + not NOT_246(g4908,g4088); + not NOT_247(g6377,I11458); + not NOT_248(g6206,g5639); + not NOT_249(g5311,g4938); + not NOT_250(g2899,g2272); + not NOT_251(g9195,I15871); + not NOT_252(g4094,I7905); + not NOT_253(I11936,g5918); + not NOT_254(g3872,g2954); + not NOT_255(I15202,g8797); + not NOT_256(g3652,I7132); + not NOT_257(g4567,g2903); + not NOT_258(g7728,I14055); + not NOT_259(g7486,I13646); + not NOT_260(g3843,I7332); + not NOT_261(g3989,g3131); + not NOT_262(I6186,g138); + not NOT_263(g7730,I14061); + not NOT_264(I9612,g4776); + not NOT_265(I10608,g5701); + not NOT_266(g5174,I9648); + not NOT_267(g8762,g8585); + not NOT_268(g7504,I13692); + not NOT_269(I15978,g9235); + not NOT_270(I14115,g7563); + not NOT_271(g7185,I13099); + not NOT_272(g4776,I9081); + not NOT_273(I7041,g2401); + not NOT_274(g6849,I12418); + not NOT_275(I9935,g4812); + not NOT_276(g4593,g2939); + not NOT_277(I11964,g5971); + not NOT_278(g3549,g2404); + not NOT_279(g3834,I7305); + not NOT_280(g3971,I7688); + not NOT_281(g7070,g6562); + not NOT_282(g2295,g995); + not NOT_283(I14052,g7494); + not NOT_284(g2237,I5972); + not NOT_285(g7470,g7253); + not NOT_286(I15741,g9083); + not NOT_287(g8657,I14763); + not NOT_288(g6781,I12214); + not NOT_289(g7425,I13550); + not NOT_290(g5180,I9666); + not NOT_291(g2844,I6574); + not NOT_292(I8215,g3577); + not NOT_293(g6898,I12567); + not NOT_294(g1838,g1450); + not NOT_295(g5591,g4841); + not NOT_296(g6900,I12571); + not NOT_297(g8222,I14445); + not NOT_298(I8886,g4308); + not NOT_299(g5832,I10519); + not NOT_300(I14813,g8640); + not NOT_301(g1795,I5649); + not NOT_302(g6797,I12262); + not NOT_303(g1737,g597); + not NOT_304(g2394,I6270); + not NOT_305(g9248,I15978); + not NOT_306(g1809,g759); + not NOT_307(I10973,g5726); + not NOT_308(I14798,g8605); + not NOT_309(g6245,g5690); + not NOT_310(g4360,I8333); + not NOT_311(I7368,g3018); + not NOT_312(g9255,I15985); + not NOT_313(g9081,I15635); + not NOT_314(I12948,g6919); + not NOT_315(I13909,g7339); + not NOT_316(I15735,g9078); + not NOT_317(g4521,g2866); + not NOT_318(I14184,g7726); + not NOT_319(g1672,g1499); + not NOT_320(I14674,g7788); + not NOT_321(g8464,g8039); + not NOT_322(g6291,I11200); + not NOT_323(I12702,g6497); + not NOT_324(g2557,g940); + not NOT_325(g4050,g3080); + not NOT_326(g4641,I8838); + not NOT_327(I11908,g5918); + not NOT_328(I12757,g6577); + not NOT_329(g9097,I15681); + not NOT_330(g2966,g1856); + not NOT_331(g5794,I10421); + not NOT_332(I5889,g83); + not NOT_333(g1643,g1211); + not NOT_334(I11569,g6279); + not NOT_335(g7131,g6976); + not NOT_336(g6344,I11359); + not NOT_337(g2471,I6309); + not NOT_338(g7006,I12748); + not NOT_339(g7331,I13413); + not NOT_340(I15196,g8778); + not NOT_341(I6636,g1704); + not NOT_342(I14732,g8155); + not NOT_343(g2242,g985); + not NOT_344(g6207,I10962); + not NOT_345(g3909,I7520); + not NOT_346(I11747,g6123); + not NOT_347(I12564,g6720); + not NOT_348(g8563,I14662); + not NOT_349(g2948,g2366); + not NOT_350(I11242,g6183); + not NOT_351(g7766,I14169); + not NOT_352(g6819,I12328); + not NOT_353(g7105,I12903); + not NOT_354(g3519,g2185); + not NOT_355(I10761,g5302); + not NOT_356(g7305,I13347); + not NOT_357(I7856,g3805); + not NOT_358(I7734,g2595); + not NOT_359(g2955,I6703); + not NOT_360(g7487,I13649); + not NOT_361(g5628,g4748); + not NOT_362(g1742,g1486); + not NOT_363(g6088,I10708); + not NOT_364(g6852,I12427); + not NOT_365(g5515,g4923); + not NOT_366(I12397,g6764); + not NOT_367(g6488,I11652); + not NOT_368(g4658,I8889); + not NOT_369(g7748,I14115); + not NOT_370(g4777,I9084); + not NOT_371(I10400,g5201); + not NOT_372(g5100,I9484); + not NOT_373(I9512,g3985); + not NOT_374(I13807,g7320); + not NOT_375(I11974,g5956); + not NOT_376(I12062,g5988); + not NOT_377(I14400,g7677); + not NOT_378(g2350,I6166); + not NOT_379(g9112,I15726); + not NOT_380(g7755,I14136); + not NOT_381(g9218,I15930); + not NOT_382(g1926,g874); + not NOT_383(I9823,g5138); + not NOT_384(g9312,I16052); + not NOT_385(g2038,g809); + not NOT_386(g4882,g4069); + not NOT_387(I14214,g7576); + not NOT_388(I12933,g7018); + not NOT_389(I9366,g4350); + not NOT_390(g7226,g6937); + not NOT_391(I11230,g6140); + not NOT_392(I11293,g5824); + not NOT_393(I10207,g5075); + not NOT_394(I13293,g7159); + not NOT_395(I12508,g6593); + not NOT_396(I11638,g5847); + not NOT_397(g6886,I12529); + not NOT_398(I6446,g1812); + not NOT_399(g4611,I8748); + not NOT_400(g291,I5356); + not NOT_401(I14005,g7434); + not NOT_402(g7045,g6490); + not NOT_403(I11416,g5829); + not NOT_404(I10538,g5255); + not NOT_405(I6003,g228); + not NOT_406(I9148,g4354); + not NOT_407(I13416,g7165); + not NOT_408(I5795,g1236); + not NOT_409(g9129,I15765); + not NOT_410(g2769,g2424); + not NOT_411(g7173,g6980); + not NOT_412(g9329,g9317); + not NOT_413(g6314,I11269); + not NOT_414(g7091,g6525); + not NOT_415(g7491,I13653); + not NOT_416(g6870,I12481); + not NOT_417(g3860,I7383); + not NOT_418(g2918,g2310); + not NOT_419(g3341,I6936); + not NOT_420(g1983,I5839); + not NOT_421(g6825,I12346); + not NOT_422(g6650,g6213); + not NOT_423(g7169,I13075); + not NOT_424(g7283,I13281); + not NOT_425(g1572,g673); + not NOT_426(g8955,I15379); + not NOT_427(I6695,g2246); + not NOT_428(g4541,g2883); + not NOT_429(g7059,g6538); + not NOT_430(g7920,I14282); + not NOT_431(g7578,I13879); + not NOT_432(g6008,g5367); + not NOT_433(I11835,g6181); + not NOT_434(g3691,I7195); + not NOT_435(I11014,g5621); + not NOT_436(g7459,I13617); + not NOT_437(g9221,I15937); + not NOT_438(I12205,g6488); + not NOT_439(I9463,g3942); + not NOT_440(g7718,I14031); + not NOT_441(g7767,I14172); + not NOT_442(g4153,I8024); + not NOT_443(g4680,I8945); + not NOT_444(I7688,g3650); + not NOT_445(g6136,I10773); + not NOT_446(g4353,g3665); + not NOT_447(I11586,g6256); + not NOT_448(I12912,g7006); + not NOT_449(g6336,I11335); + not NOT_450(I14100,g7580); + not NOT_451(I6223,g330); + not NOT_452(g8038,g7694); + not NOT_453(g6768,I12173); + not NOT_454(I8913,g4306); + not NOT_455(g7582,I13891); + not NOT_456(g6594,I11796); + not NOT_457(g1961,g1345); + not NOT_458(g3879,g2963); + not NOT_459(g4802,I9129); + not NOT_460(g7261,I13225); + not NOT_461(I14683,g7825); + not NOT_462(g3962,g3131); + not NOT_463(g5151,I9579); + not NOT_464(g7793,I14234); + not NOT_465(g3158,I6853); + not NOT_466(g3659,g2293); + not NOT_467(g6806,I12289); + not NOT_468(g5648,g4748); + not NOT_469(I6416,g1794); + not NOT_470(g3506,g1781); + not NOT_471(g7015,I12763); + not NOT_472(I12592,g1008); + not NOT_473(g4558,g2897); + not NOT_474(g9068,I15598); + not NOT_475(I7126,g2494); + not NOT_476(I5926,g297); + not NOT_477(I7400,g3075); + not NOT_478(I8859,g3968); + not NOT_479(I7326,g2940); + not NOT_480(I6115,g134); + not NOT_481(I6251,g489); + not NOT_482(g2921,g2312); + not NOT_483(g6065,I10684); + not NOT_484(g6887,I12532); + not NOT_485(g6122,I10752); + not NOT_486(I10882,g5600); + not NOT_487(g6228,I11021); + not NOT_488(I5754,g966); + not NOT_489(g3587,g1964); + not NOT_490(g6322,I11293); + not NOT_491(I11275,g5768); + not NOT_492(I9457,g3940); + not NOT_493(g8918,I15340); + not NOT_494(I16180,g9387); + not NOT_495(g6230,I11025); + not NOT_496(g7246,I13196); + not NOT_497(g8967,I15405); + not NOT_498(I13746,g7311); + not NOT_499(I13493,g7132); + not NOT_500(I9393,g4266); + not NOT_501(g4511,g2841); + not NOT_502(I15660,g9062); + not NOT_503(g2895,g2268); + not NOT_504(g6033,g5384); + not NOT_505(g2837,g1780); + not NOT_506(g7721,g7344); + not NOT_507(g5839,I10532); + not NOT_508(I9834,g4782); + not NOT_509(g4092,I7899); + not NOT_510(I13035,g6964); + not NOT_511(g3985,I7712); + not NOT_512(I12731,g6579); + not NOT_513(I11806,g6275); + not NOT_514(g4600,I8715); + not NOT_515(I7383,g3465); + not NOT_516(g4574,g3466); + not NOT_517(g6096,g5317); + not NOT_518(g6496,I11662); + not NOT_519(g1679,I5512); + not NOT_520(I8097,g3237); + not NOT_521(g5172,I9642); + not NOT_522(g5278,I9794); + not NOT_523(g6845,I12406); + not NOT_524(g7502,I13682); + not NOT_525(I15550,g9008); + not NOT_526(g9198,g9187); + not NOT_527(g3545,g2344); + not NOT_528(I8354,g1163); + not NOT_529(g738,I5404); + not NOT_530(g6195,I10940); + not NOT_531(g5618,g5015); + not NOT_532(g6137,I10776); + not NOT_533(g6891,I12544); + not NOT_534(g5143,I9555); + not NOT_535(g1831,g689); + not NOT_536(g6337,I11338); + not NOT_537(g3591,g1789); + not NOT_538(g3832,I7299); + not NOT_539(g4580,g2919); + not NOT_540(g9241,I15971); + not NOT_541(I7588,g2584); + not NOT_542(g3853,I7362); + not NOT_543(I14725,g8145); + not NOT_544(g7188,I13106); + not NOT_545(g5988,I10592); + not NOT_546(g2842,g2209); + not NOT_547(I9938,g4878); + not NOT_548(I10758,g5662); + not NOT_549(g1805,I5667); + not NOT_550(g6807,I12292); + not NOT_551(g1916,g775); + not NOT_552(g5693,I10204); + not NOT_553(g7216,I13152); + not NOT_554(g1749,g371); + not NOT_555(g2298,I6072); + not NOT_556(I14082,g7539); + not NOT_557(g6859,I12448); + not NOT_558(g2392,g11); + not NOT_559(I13193,g7007); + not NOT_560(g2485,g62); + not NOT_561(I11362,g5821); + not NOT_562(g7028,g6525); + not NOT_563(I13362,g7265); + not NOT_564(g3931,I7592); + not NOT_565(I8218,g3002); + not NOT_566(I15773,g9126); + not NOT_567(I6629,g2052); + not NOT_568(g4623,I8784); + not NOT_569(g7247,I13199); + not NOT_570(g1798,I5654); + not NOT_571(I6130,g560); + not NOT_572(g4076,I7859); + not NOT_573(g9319,g9309); + not NOT_574(I10940,g5489); + not NOT_575(g2941,g2349); + not NOT_576(I9606,g4687); + not NOT_577(g6342,I11353); + not NOT_578(g3905,g3192); + not NOT_579(I13475,g7125); + not NOT_580(g5621,g4748); + not NOT_581(I14848,g8625); + not NOT_582(g6255,I11066); + not NOT_583(g6815,I12316); + not NOT_584(I10804,g5526); + not NOT_585(I6800,g2016); + not NOT_586(I9687,g4822); + not NOT_587(g3630,I7095); + not NOT_588(g6481,I11641); + not NOT_589(I14804,g8563); + not NOT_590(g7741,I14094); + not NOT_591(g4651,I8868); + not NOT_592(g5113,I9499); + not NOT_593(g6692,I12008); + not NOT_594(g6097,g5345); + not NOT_595(I11437,g5801); + not NOT_596(I15839,g9168); + not NOT_597(g2520,g41); + not NOT_598(I15930,g9209); + not NOT_599(g2640,g1584); + not NOT_600(g9211,I15909); + not NOT_601(g6354,I11389); + not NOT_602(g4285,I8233); + not NOT_603(I8727,g3944); + not NOT_604(g9186,I15836); + not NOT_605(I5679,g911); + not NOT_606(g4500,g2832); + not NOT_607(g9386,I16176); + not NOT_608(g6960,I12681); + not NOT_609(I15965,g9219); + not NOT_610(I7944,g3774); + not NOT_611(g1579,g703); + not NOT_612(g1869,g74); + not NOT_613(g7108,I12912); + not NOT_614(I10135,g4960); + not NOT_615(g7308,I13356); + not NOT_616(I11347,g5761); + not NOT_617(g2958,g2377); + not NOT_618(I13347,g7224); + not NOT_619(g9026,I15492); + not NOT_620(I5831,g1194); + not NOT_621(g2376,I6226); + not NOT_622(g5494,I9918); + not NOT_623(g3750,g2177); + not NOT_624(I9570,g4696); + not NOT_625(I10406,g5203); + not NOT_626(I9341,g4251); + not NOT_627(I10962,g5719); + not NOT_628(g1752,g603); + not NOT_629(I14406,g7681); + not NOT_630(g3973,g3097); + not NOT_631(I9525,g4413); + not NOT_632(I11781,g6284); + not NOT_633(I12768,g6718); + not NOT_634(I15619,g8998); + not NOT_635(g9370,I16138); + not NOT_636(g1917,I5795); + not NOT_637(I9645,g4900); + not NOT_638(I15557,g9010); + not NOT_639(g2829,g1785); + not NOT_640(g9125,I15753); + not NOT_641(g4024,g3160); + not NOT_642(I11236,g6148); + not NOT_643(g2286,I6042); + not NOT_644(g6783,I12220); + not NOT_645(g7758,I14145); + not NOT_646(g7066,I12839); + not NOT_647(I10500,g5234); + not NOT_648(I16168,g9381); + not NOT_649(g7589,I13912); + not NOT_650(I6090,g390); + not NOT_651(g2911,g2292); + not NOT_652(g4795,I9116); + not NOT_653(I8932,g4096); + not NOT_654(I5422,g1234); + not NOT_655(g7466,I13622); + not NOT_656(g4809,I9148); + not NOT_657(g6267,I11086); + not NOT_658(g6312,I11263); + not NOT_659(g3969,g3192); + not NOT_660(I6166,g480); + not NOT_661(I14049,g7493); + not NOT_662(g9280,I16006); + not NOT_663(I11821,g6170); + not NOT_664(I12881,g6478); + not NOT_665(g1786,g623); + not NOT_666(g7365,I13509); + not NOT_667(g7048,I12810); + not NOT_668(I7347,g2985); + not NOT_669(g9083,I15641); + not NOT_670(g2270,I6015); + not NOT_671(g4477,I8517); + not NOT_672(g7448,I13605); + not NOT_673(I13063,g6973); + not NOT_674(g7711,I14012); + not NOT_675(g4523,g2868); + not NOT_676(g6676,I11984); + not NOT_677(I11790,g6282); + not NOT_678(g6293,I11206); + not NOT_679(I13264,g7061); + not NOT_680(I6148,g5); + not NOT_681(g7055,g6517); + not NOT_682(g8219,I14436); + not NOT_683(g4643,I8844); + not NOT_684(g3666,g2134); + not NOT_685(I9158,g4256); + not NOT_686(I13137,g7027); + not NOT_687(I6348,g1354); + not NOT_688(g2225,I5948); + not NOT_689(g6129,I10758); + not NOT_690(g8640,I14728); + not NOT_691(g7455,I13613); + not NOT_692(g6329,I11314); + not NOT_693(g6761,I12154); + not NOT_694(g2073,g1254); + not NOT_695(g5160,I9606); + not NOT_696(g7133,I12983); + not NOT_697(I7697,g3052); + not NOT_698(g9106,I15708); + not NOT_699(g7333,I13419); + not NOT_700(I13873,g7342); + not NOT_701(g9306,I16036); + not NOT_702(g6828,I12355); + not NOT_703(g1770,g606); + not NOT_704(g7774,I14193); + not NOT_705(g5521,g4929); + not NOT_706(g8958,I15388); + not NOT_707(g6830,I12361); + not NOT_708(g4634,I8817); + not NOT_709(g3648,g2424); + not NOT_710(g3875,g2958); + not NOT_711(g2324,I6115); + not NOT_712(g3530,g2185); + not NOT_713(I9111,g4232); + not NOT_714(g7196,I13122); + not NOT_715(g4742,I9064); + not NOT_716(g9061,I15577); + not NOT_717(I15601,g8992); + not NOT_718(g9187,I15839); + not NOT_719(g4104,I7925); + not NOT_720(I10605,g5440); + not NOT_721(I11422,g5842); + not NOT_722(g6592,I11790); + not NOT_723(g3655,g1844); + not NOT_724(I15187,g8682); + not NOT_725(I14273,g7631); + not NOT_726(I11209,g6139); + not NOT_727(I13422,g7131); + not NOT_728(I14106,g7586); + not NOT_729(I13209,g6912); + not NOT_730(g2540,g1339); + not NOT_731(I9615,g4739); + not NOT_732(g6221,I11004); + not NOT_733(I12003,g6202); + not NOT_734(g8765,g8524); + not NOT_735(g7538,I13794); + not NOT_736(I13834,g7466); + not NOT_737(I6463,g1769); + not NOT_738(I10463,g5220); + not NOT_739(I16084,g9324); + not NOT_740(g2177,g1322); + not NOT_741(g7780,I14211); + not NOT_742(g9027,I15495); + not NOT_743(g5724,g4969); + not NOT_744(g2377,I6229); + not NOT_745(I14463,g8072); + not NOT_746(I12779,g6740); + not NOT_747(g5179,I9663); + not NOT_748(g6703,I12041); + not NOT_749(g7509,I13707); + not NOT_750(g4926,g4202); + not NOT_751(I15937,g9212); + not NOT_752(g9200,g9189); + not NOT_753(I11021,g5627); + not NOT_754(I14234,g7614); + not NOT_755(g3884,I7417); + not NOT_756(g3839,I7320); + not NOT_757(g2287,I6045); + not NOT_758(g7018,I12768); + not NOT_759(g4273,I8215); + not NOT_760(g7067,g6658); + not NOT_761(g8974,I15426); + not NOT_762(I7317,g2893); + not NOT_763(g5658,g4748); + not NOT_764(I15791,g9140); + not NOT_765(g7418,I13533); + not NOT_766(g6624,I11864); + not NOT_767(g7467,g7236); + not NOT_768(g6953,g6745); + not NOT_769(I6118,g243); + not NOT_770(I14795,g8604); + not NOT_771(g8225,I14454); + not NOT_772(g5835,I10528); + not NOT_773(g7290,I13302); + not NOT_774(g4613,I8754); + not NOT_775(g6068,I10687); + not NOT_776(g1888,g781); + not NOT_777(I6872,g2185); + not NOT_778(g9145,I15791); + not NOT_779(g4044,g2595); + not NOT_780(g6468,I11622); + not NOT_781(I12945,g7066); + not NOT_782(I9591,g4710); + not NOT_783(g4444,I8452); + not NOT_784(g1787,g625); + not NOT_785(I6652,g2016); + not NOT_786(I11607,g5767); + not NOT_787(I6057,g518); + not NOT_788(I12826,g6441); + not NOT_789(I12999,g7029); + not NOT_790(I11320,g5797); + not NOT_791(I15666,g9070); + not NOT_792(I13320,g7139); + not NOT_793(I6457,g1886); + not NOT_794(g7493,I13659); + not NOT_795(g1675,g1519); + not NOT_796(g6677,I11987); + not NOT_797(g7256,g7058); + not NOT_798(I13274,g6917); + not NOT_799(I7775,g3705); + not NOT_800(g5611,g4969); + not NOT_801(g8324,I14573); + not NOT_802(g4572,g2909); + not NOT_803(I7922,g3462); + not NOT_804(g2898,g2271); + not NOT_805(I15478,g8910); + not NOT_806(g2900,g2273); + not NOT_807(g6866,I12469); + not NOT_808(I12672,g6473); + not NOT_809(I7581,g3612); + not NOT_810(I13122,g7070); + not NOT_811(g9107,I15711); + not NOT_812(g4543,g2885); + not NOT_813(I10421,g5208); + not NOT_814(I11464,g6088); + not NOT_815(g5799,I10436); + not NOT_816(I13565,g7181); + not NOT_817(I9794,g4778); + not NOT_818(I6834,g287); + not NOT_819(g9307,g9300); + not NOT_820(g2510,g58); + not NOT_821(g639,I5374); + not NOT_822(g2245,g999); + not NOT_823(g6149,I10810); + not NOT_824(g3988,g3097); + not NOT_825(I6686,g2246); + not NOT_826(g6349,I11374); + not NOT_827(g5674,g5042); + not NOT_828(g8177,I14410); + not NOT_829(g3693,g2424); + not NOT_830(I11034,g5644); + not NOT_831(g9223,I15943); + not NOT_832(I14163,g7533); + not NOT_833(g2291,I6057); + not NOT_834(I14012,g7438); + not NOT_835(I11641,g5918); + not NOT_836(g6848,I12415); + not NOT_837(I15580,g8985); + not NOT_838(I13797,g7502); + not NOT_839(I12331,g6704); + not NOT_840(g5541,g4814); + not NOT_841(g3548,g2185); + not NOT_842(g1684,g1); + not NOT_843(g1745,g746); + not NOT_844(g6198,g5335); + not NOT_845(g1639,g1207); + not NOT_846(g2344,I6148); + not NOT_847(g6855,I12436); + not NOT_848(g6398,I11515); + not NOT_849(I10541,g5256); + not NOT_850(I6121,g321); + not NOT_851(g7263,I13231); + not NOT_852(g2207,I5920); + not NOT_853(g5153,I9585); + not NOT_854(g5680,g5101); + not NOT_855(I12897,g6962); + not NOT_856(I12448,g6569); + not NOT_857(I12961,g6921); + not NOT_858(I9515,g4301); + not NOT_859(I9630,g4867); + not NOT_860(I14789,g8544); + not NOT_861(g2259,g1325); + not NOT_862(g9115,I15735); + not NOT_863(g4014,I7769); + not NOT_864(I7079,g2532); + not NOT_865(I12505,g6612); + not NOT_866(g9315,I16061); + not NOT_867(g1808,g629); + not NOT_868(g4885,g4070); + not NOT_869(I13635,g7243); + not NOT_870(g5744,I10289); + not NOT_871(g8199,I14424); + not NOT_872(g9047,I15543); + not NOT_873(g5802,I10445); + not NOT_874(g4660,I8895); + not NOT_875(g2923,I6657); + not NOT_876(I12717,g6543); + not NOT_877(g1707,g955); + not NOT_878(I14325,g7713); + not NOT_879(I10829,g5224); + not NOT_880(g8781,g8585); + not NOT_881(I10535,g5254); + not NOT_882(I5389,g690); + not NOT_883(I5706,g901); + not NOT_884(g8898,I15308); + not NOT_885(g4903,g4084); + not NOT_886(g7562,I13858); + not NOT_887(I15178,g8753); + not NOT_888(I10946,g5563); + not NOT_889(g8797,I15003); + not NOT_890(g6524,I11710); + not NOT_891(I14828,g8639); + not NOT_892(g6644,g6208); + not NOT_893(g8510,I14643); + not NOT_894(I13164,g7086); + not NOT_895(I5371,g633); + not NOT_896(g7723,I14042); + not NOT_897(I14121,g7587); + not NOT_898(g2215,g1416); + not NOT_899(I15953,g9215); + not NOT_900(g6319,I11284); + not NOT_901(g7101,I12891); + not NOT_902(g2886,g2240); + not NOT_903(g3908,I7517); + not NOT_904(g7301,I13335); + not NOT_905(I7356,g2843); + not NOT_906(I13891,g7336); + not NOT_907(I15654,g9057); + not NOT_908(g4036,g3192); + not NOT_909(g6152,I10815); + not NOT_910(g6258,g5427); + not NOT_911(g6352,I11383); + not NOT_912(g6818,I12325); + not NOT_913(g1575,g685); + not NOT_914(g1865,g1013); + not NOT_915(I8483,g3641); + not NOT_916(g6867,I12472); + not NOT_917(g3567,g2407); + not NOT_918(I15417,g8893); + not NOT_919(g1715,I5559); + not NOT_920(g2314,I6099); + not NOT_921(I9440,g4285); + not NOT_922(I14291,g7680); + not NOT_923(I12433,g6632); + not NOT_924(g4335,g3659); + not NOT_925(I9123,g4455); + not NOT_926(I15334,g8800); + not NOT_927(g7751,I14124); + not NOT_928(g2870,g2225); + not NOT_929(g5492,g4919); + not NOT_930(I12148,g5988); + not NOT_931(I13109,g7059); + not NOT_932(g4382,I8373); + not NOT_933(g1833,g770); + not NOT_934(g5600,g5128); + not NOT_935(I13537,g7152); + not NOT_936(g5574,g4969); + not NOT_937(I8790,g4020); + not NOT_938(g6211,g5645); + not NOT_939(g2825,I6553); + not NOT_940(g2650,I6434); + not NOT_941(g6186,I10919); + not NOT_942(g6386,I11485); + not NOT_943(I12646,g6493); + not NOT_944(g7585,I13900); + not NOT_945(g9017,I15475); + not NOT_946(I9666,g4931); + not NOT_947(I15762,g9039); + not NOT_948(I12343,g6731); + not NOT_949(g4805,I9136); + not NOT_950(g6975,I12712); + not NOT_951(g4916,g4202); + not NOT_952(g4022,I7785); + not NOT_953(g3965,I7676); + not NOT_954(I5963,g225); + not NOT_955(g1584,g738); + not NOT_956(g6599,I11809); + not NOT_957(g1896,g86); + not NOT_958(g7441,I13580); + not NOT_959(I15423,g8894); + not NOT_960(g6026,g5384); + not NOT_961(I9528,g4006); + not NOT_962(g6426,I11559); + not NOT_963(I6860,g2185); + not NOT_964(g3264,I6900); + not NOT_965(I7053,g2452); + not NOT_966(I6341,g1351); + not NOT_967(I10506,g5236); + not NOT_968(g5580,g4938); + not NOT_969(I9648,g4795); + not NOT_970(g9234,I15956); + not NOT_971(I10028,g4825); + not NOT_972(g9128,I15762); + not NOT_973(g6614,I11838); + not NOT_974(g6370,I11437); + not NOT_975(I14028,g7501); + not NOT_976(g3933,g3131); + not NOT_977(I8904,g4126); + not NOT_978(g9330,g9319); + not NOT_979(g6325,I11302); + not NOT_980(g6821,I12334); + not NOT_981(g3521,g2185); + not NOT_982(g4560,g2899); + not NOT_983(I8446,g3014); + not NOT_984(g3050,I6788); + not NOT_985(g3641,I7115); + not NOT_986(I15909,g9201); + not NOT_987(I15543,g9006); + not NOT_988(g5736,I10265); + not NOT_989(g2943,g2362); + not NOT_990(g6984,I12725); + not NOT_991(g7168,I13072); + not NOT_992(g6939,g6543); + not NOT_993(g3996,I7731); + not NOT_994(I11796,g6287); + not NOT_995(I12412,g6404); + not NOT_996(I8841,g3979); + not NOT_997(g5623,g4969); + not NOT_998(g7772,I14187); + not NOT_999(g6083,I10702); + not NOT_1000(g7058,g6649); + not NOT_1001(I5957,g110); + not NOT_1002(g2887,g2241); + not NOT_1003(g4873,I9217); + not NOT_1004(g4632,I8811); + not NOT_1005(g7531,I13773); + not NOT_1006(g4095,I7908); + not NOT_1007(g5076,I9446); + not NOT_1008(g8870,I15196); + not NOT_1009(I8763,g3947); + not NOT_1010(g4037,g2845); + not NOT_1011(g6483,I11645); + not NOT_1012(I12229,g6659); + not NOT_1013(I9884,g4868); + not NOT_1014(g2934,I6676); + not NOT_1015(g5476,g4907); + not NOT_1016(g7743,I14100); + not NOT_1017(g4653,I8874); + not NOT_1018(I6358,g13); + not NOT_1019(g4102,I7919); + not NOT_1020(g6636,I11900); + not NOT_1021(I15568,g8981); + not NOT_1022(I15747,g9042); + not NOT_1023(I5865,g1206); + not NOT_1024(g9213,I15915); + not NOT_1025(g6106,g5345); + not NOT_1026(g5175,I9651); + not NOT_1027(g4579,g2918); + not NOT_1028(I10649,g5657); + not NOT_1029(I12011,g5939); + not NOT_1030(g6306,I11245); + not NOT_1031(I5715,g896); + not NOT_1032(g7505,I13695); + not NOT_1033(g5871,I10558); + not NOT_1034(g3878,g2962); + not NOT_1035(g8008,g7559); + not NOT_1036(g4719,I9021); + not NOT_1037(g6790,I12241); + not NOT_1038(g7734,I14073); + not NOT_1039(I6587,g1708); + not NOT_1040(g3777,g2170); + not NOT_1041(g7411,g7202); + not NOT_1042(I9372,g3902); + not NOT_1043(I10491,g5231); + not NOT_1044(I15814,g9154); + not NOT_1045(g3835,I7308); + not NOT_1046(I16116,g9350); + not NOT_1047(g6387,I11488); + not NOT_1048(I11522,g5847); + not NOT_1049(g2096,g1226); + not NOT_1050(I9618,g4742); + not NOT_1051(I12582,g6745); + not NOT_1052(g5285,g4841); + not NOT_1053(g6461,I11607); + not NOT_1054(g8768,g8585); + not NOT_1055(I13663,g7235); + not NOT_1056(g3882,g2970); + not NOT_1057(g2496,g942); + not NOT_1058(I7626,g3632); + not NOT_1059(g4917,g4102); + not NOT_1060(I15974,g9234); + not NOT_1061(I6615,g1983); + not NOT_1062(g6756,I12141); + not NOT_1063(g8972,I15420); + not NOT_1064(I10770,g5441); + not NOT_1065(I12310,g6723); + not NOT_1066(g1897,g789); + not NOT_1067(g9090,I15660); + not NOT_1068(g6622,I11858); + not NOT_1069(g7474,I13628); + not NOT_1070(I8757,g3921); + not NOT_1071(g6027,g5384); + not NOT_1072(g7992,g7557); + not NOT_1073(g4265,g3591); + not NOT_1074(g3611,I7079); + not NOT_1075(g6427,I11562); + not NOT_1076(g2137,I5889); + not NOT_1077(g2891,g2265); + not NOT_1078(g5184,I9678); + not NOT_1079(I15638,g8978); + not NOT_1080(g9366,I16126); + not NOT_1081(g2913,g2307); + not NOT_1082(I12379,g6768); + not NOT_1083(g5139,I9543); + not NOT_1084(g5384,I9837); + not NOT_1085(g6904,g6426); + not NOT_1086(I12958,g6920); + not NOT_1087(g9056,I15562); + not NOT_1088(g8065,I14338); + not NOT_1089(I8315,g3691); + not NOT_1090(I8811,g4022); + not NOT_1091(g6446,I11591); + not NOT_1092(g8228,I14463); + not NOT_1093(g3981,I7706); + not NOT_1094(g5024,I9360); + not NOT_1095(g6514,I11696); + not NOT_1096(I6239,g8); + not NOT_1097(g3674,I7164); + not NOT_1098(g2807,g1782); + not NOT_1099(I5362,g3841); + not NOT_1100(I11326,g5819); + not NOT_1101(I9555,g4892); + not NOT_1102(g5795,I10424); + not NOT_1103(g5737,I10268); + not NOT_1104(I15391,g8917); + not NOT_1105(g6403,I11522); + not NOT_1106(I13326,g7176); + not NOT_1107(g5809,I10460); + not NOT_1108(I5419,g1603); + not NOT_1109(I9804,g5113); + not NOT_1110(I10262,g5551); + not NOT_1111(I7683,g2573); + not NOT_1112(g3997,I7734); + not NOT_1113(I12742,g6590); + not NOT_1114(g6345,I11362); + not NOT_1115(g6841,I12394); + not NOT_1116(I15510,g8969); + not NOT_1117(I11040,g5299); + not NOT_1118(I11948,g5897); + not NOT_1119(I8874,g3884); + not NOT_1120(g2266,I6003); + not NOT_1121(g6763,I12158); + not NOT_1122(I7778,g3019); + not NOT_1123(I16142,g9366); + not NOT_1124(g6391,I11500); + not NOT_1125(g1006,I5410); + not NOT_1126(g4296,g3790); + not NOT_1127(I6853,g2185); + not NOT_1128(g3238,I6894); + not NOT_1129(I9621,g4732); + not NOT_1130(g5477,g4908); + not NOT_1131(g9260,I15990); + not NOT_1132(g5523,I9935); + not NOT_1133(I12681,g6469); + not NOT_1134(I10719,g5559); + not NOT_1135(g6637,I11903); + not NOT_1136(g5643,I10128); + not NOT_1137(I15014,g8607); + not NOT_1138(g1801,g618); + not NOT_1139(g4553,g2891); + not NOT_1140(g9063,I15583); + not NOT_1141(g6307,I11248); + not NOT_1142(I15586,g8987); + not NOT_1143(I15007,g8627); + not NOT_1144(I8880,g4303); + not NOT_1145(I14718,g8068); + not NOT_1146(g3802,g1832); + not NOT_1147(g7688,g7406); + not NOT_1148(g6359,I11404); + not NOT_1149(g6223,I11008); + not NOT_1150(g2481,I6317); + not NOT_1151(g8913,I15329); + not NOT_1152(g1748,g601); + not NOT_1153(g2692,g1671); + not NOT_1154(g4012,I7765); + not NOT_1155(g6858,I12445); + not NOT_1156(g5742,I10283); + not NOT_1157(g5551,I9974); + not NOT_1158(g5099,g4477); + not NOT_1159(g2497,g945); + not NOT_1160(I12690,g6467); + not NOT_1161(g2354,I6178); + not NOT_1162(I16165,g9377); + not NOT_1163(g2960,g2381); + not NOT_1164(g4706,I9005); + not NOT_1165(I9567,g4693); + not NOT_1166(I7526,g2752); + not NOT_1167(I5897,g173); + not NOT_1168(I14573,g8179); + not NOT_1169(I10247,g5266); + not NOT_1170(g3901,I7492); + not NOT_1171(g7000,I12742); + not NOT_1172(I13509,g7137); + not NOT_1173(I15720,g9053); + not NOT_1174(g9318,g9304); + not NOT_1175(g9367,I16129); + not NOT_1176(I11933,g5847); + not NOT_1177(g7126,I12968); + not NOT_1178(I8935,g4005); + not NOT_1179(I5425,g1245); + not NOT_1180(g4029,I7800); + not NOT_1181(g6251,I11060); + not NOT_1182(g6315,I11272); + not NOT_1183(g6811,I12304); + not NOT_1184(g6642,I11912); + not NOT_1185(g4371,I8354); + not NOT_1186(I11851,g6277); + not NOT_1187(g3511,g1616); + not NOT_1188(g5754,g5403); + not NOT_1189(g9057,I15565); + not NOT_1190(I16006,g9261); + not NOT_1191(g7760,I14151); + not NOT_1192(I14388,g7605); + not NOT_1193(I7850,g2795); + not NOT_1194(g9193,g9181); + not NOT_1195(g3092,I6826); + not NOT_1196(I14777,g8511); + not NOT_1197(g3492,I6970); + not NOT_1198(g4281,g2562); + not NOT_1199(g6874,I12493); + not NOT_1200(g5613,g4748); + not NOT_1201(I14251,g7541); + not NOT_1202(g3574,g1771); + not NOT_1203(g3864,g2943); + not NOT_1204(g8342,g8008); + not NOT_1205(I15340,g8856); + not NOT_1206(g2267,I6006); + not NOT_1207(g2312,I6093); + not NOT_1208(g6654,I11942); + not NOT_1209(g5444,g5074); + not NOT_1210(g5269,I9791); + not NOT_1211(I7702,g3062); + not NOT_1212(I15684,g9067); + not NOT_1213(g8481,I14637); + not NOT_1214(I12128,g5897); + not NOT_1215(g1578,g699); + not NOT_1216(g1868,I5747); + not NOT_1217(I9360,g4257); + not NOT_1218(g2401,g22); + not NOT_1219(I7919,g3761); + not NOT_1220(I10032,g1236); + not NOT_1221(g1718,I5562); + not NOT_1222(g7779,I14208); + not NOT_1223(g2293,g888); + not NOT_1224(g6880,I12511); + not NOT_1225(g4684,I8949); + not NOT_1226(I9050,g3881); + not NOT_1227(I11452,g6071); + not NOT_1228(g6595,g6083); + not NOT_1229(g4639,I8832); + not NOT_1230(I5682,g168); + not NOT_1231(I5766,g1254); + not NOT_1232(I11047,g5653); + not NOT_1233(I13574,g7205); + not NOT_1234(g2329,I6130); + not NOT_1235(I6440,g1806); + not NOT_1236(g7023,I12779); + not NOT_1237(g9121,I15747); + not NOT_1238(g4963,g4328); + not NOT_1239(g2761,g1820); + not NOT_1240(I5801,g1424); + not NOT_1241(g9321,g9311); + not NOT_1242(g8960,I15394); + not NOT_1243(g7423,I13544); + not NOT_1244(g1582,g714); + not NOT_1245(I11912,g5897); + not NOT_1246(I11311,g5760); + not NOT_1247(I13912,g7359); + not NOT_1248(I13311,g7162); + not NOT_1249(g2828,g1980); + not NOT_1250(I12298,g6697); + not NOT_1251(I6323,g1342); + not NOT_1252(I14061,g7546); + not NOT_1253(g1793,g626); + not NOT_1254(I7561,g2562); + not NOT_1255(g7588,I13909); + not NOT_1256(I10766,g5674); + not NOT_1257(g2727,g2424); + not NOT_1258(g4808,I9145); + not NOT_1259(g6978,I12717); + not NOT_1260(g6612,I11832); + not NOT_1261(g7161,I13057); + not NOT_1262(g1015,I5416); + not NOT_1263(g5729,g5144); + not NOT_1264(g3968,I7683); + not NOT_1265(g6243,I11050); + not NOT_1266(g7361,I13499); + not NOT_1267(I15193,g8774); + not NOT_1268(I13051,g6967); + not NOT_1269(I13072,g6969); + not NOT_1270(g2746,g2259); + not NOT_1271(I12737,g6460); + not NOT_1272(g2221,I5936); + not NOT_1273(g3076,g1831); + not NOT_1274(g7127,g6974); + not NOT_1275(g8783,g8524); + not NOT_1276(g7327,I13403); + not NOT_1277(I12232,g6662); + not NOT_1278(g1664,g1462); + not NOT_1279(I6151,g12); + not NOT_1280(g1246,I5425); + not NOT_1281(g2703,g1809); + not NOT_1282(g8218,I14433); + not NOT_1283(I8823,g3965); + not NOT_1284(g5014,I9344); + not NOT_1285(g206,I5353); + not NOT_1286(g6328,I11311); + not NOT_1287(g6130,I10761); + not NOT_1288(g7146,g6998); + not NOT_1289(g6542,I11718); + not NOT_1290(g6330,I11317); + not NOT_1291(g7346,I13454); + not NOT_1292(g7633,I13962); + not NOT_1293(g1721,I5565); + not NOT_1294(I11350,g5763); + not NOT_1295(g3871,g2953); + not NOT_1296(I7970,g3557); + not NOT_1297(I13350,g7223); + not NOT_1298(I15475,g8901); + not NOT_1299(g2932,g2329); + not NOT_1300(g7103,I12897); + not NOT_1301(I9271,g4263); + not NOT_1302(g3651,I7129); + not NOT_1303(g7303,I13341); + not NOT_1304(I7925,g2761); + not NOT_1305(g8676,I14822); + not NOT_1306(g2624,g1569); + not NOT_1307(g2953,g2373); + not NOT_1308(I15222,g8834); + not NOT_1309(g6800,I12271); + not NOT_1310(g3285,g1689); + not NOT_1311(I13152,g6966); + not NOT_1312(g8761,g8564); + not NOT_1313(g4604,I8727); + not NOT_1314(I10451,g5216); + not NOT_1315(I10472,g5223); + not NOT_1316(I13846,g7487); + not NOT_1317(g3500,g1616); + not NOT_1318(I14451,g8172); + not NOT_1319(g7732,I14067); + not NOT_1320(I5407,g4653); + not NOT_1321(I13731,g7441); + not NOT_1322(I5920,g219); + not NOT_1323(I6839,g2185); + not NOT_1324(I5868,g74); + not NOT_1325(I7320,g2927); + not NOT_1326(g2677,g1664); + not NOT_1327(g7753,I14130); + not NOT_1328(g5178,I9660); + not NOT_1329(g5679,I10172); + not NOT_1330(I11413,g5871); + not NOT_1331(I5718,g896); + not NOT_1332(g7508,I13704); + not NOT_1333(I13413,g7127); + not NOT_1334(g6213,I10976); + not NOT_1335(I5535,g48); + not NOT_1336(g2866,g2221); + not NOT_1337(g4584,g3466); + not NOT_1338(I12445,g6568); + not NOT_1339(g4539,g2881); + not NOT_1340(g8746,g8524); + not NOT_1341(g8221,I14442); + not NOT_1342(g5335,g4677); + not NOT_1343(g5831,I10516); + not NOT_1344(g3838,I7317); + not NOT_1345(g1689,g855); + not NOT_1346(g2149,I5894); + not NOT_1347(g2349,I6163); + not NOT_1348(I12499,g6597); + not NOT_1349(g7043,g6543); + not NOT_1350(g9141,g9129); + not NOT_1351(g5182,I9672); + not NOT_1352(I10776,g5576); + not NOT_1353(I12316,g6736); + not NOT_1354(I9132,g4284); + not NOT_1355(I6143,g1217); + not NOT_1356(I9209,g4349); + not NOT_1357(g7116,I12936); + not NOT_1358(g1671,g1494); + not NOT_1359(I7987,g3528); + not NOT_1360(g5805,I10448); + not NOT_1361(g5916,g5384); + not NOT_1362(g5022,g4438); + not NOT_1363(g2699,g1674); + not NOT_1364(g4019,I7778); + not NOT_1365(g6090,g5529); + not NOT_1366(g4362,g2810); + not NOT_1367(I11929,g6190); + not NOT_1368(I12989,g6932); + not NOT_1369(g3077,I6805); + not NOT_1370(g7034,g6525); + not NOT_1371(g5749,g5207); + not NOT_1372(g6490,I11656); + not NOT_1373(g6823,I12340); + not NOT_1374(g7434,I13565); + not NOT_1375(I14825,g8651); + not NOT_1376(g3523,g2407); + not NOT_1377(I14370,g7603); + not NOT_1378(g6366,I11425); + not NOT_1379(I12722,g6611); + not NOT_1380(g7565,I13865); + not NOT_1381(I7299,g2961); + not NOT_1382(I5664,g916); + not NOT_1383(g3643,g2453); + not NOT_1384(I12924,g6983); + not NOT_1385(I13583,g7252); + not NOT_1386(g2241,I5984); + not NOT_1387(g1564,g642); + not NOT_1388(g7147,g6904); + not NOT_1389(I16122,g9353); + not NOT_1390(I10151,g5007); + not NOT_1391(I10172,g4873); + not NOT_1392(g7347,I13457); + not NOT_1393(I15516,g8977); + not NOT_1394(I9558,g4597); + not NOT_1395(g5798,I10433); + not NOT_1396(I14151,g7555); + not NOT_1397(g1826,g632); + not NOT_1398(I12271,g6663); + not NOT_1399(I14172,g7545); + not NOT_1400(g6148,I10807); + not NOT_1401(g6649,I11929); + not NOT_1402(I14996,g8510); + not NOT_1403(g6348,I11371); + not NOT_1404(I8989,g4537); + not NOT_1405(g8677,I14825); + not NOT_1406(g7533,I13779); + not NOT_1407(g3634,I7107); + not NOT_1408(I8193,g3547); + not NOT_1409(g6155,I10826); + not NOT_1410(I14844,g8641); + not NOT_1411(g6851,I12424); + not NOT_1412(g6355,I11392); + not NOT_1413(I11787,g6273); + not NOT_1414(I14394,g7536); + not NOT_1415(I12753,g6445); + not NOT_1416(g8866,I15184); + not NOT_1417(g7210,I13144); + not NOT_1418(g2644,I6416); + not NOT_1419(g3499,g2185); + not NOT_1420(I8971,g4464); + not NOT_1421(I12145,g5971); + not NOT_1422(g1638,g1092); + not NOT_1423(I11302,g5796); + not NOT_1424(I7738,g3038); + not NOT_1425(g5873,g5367); + not NOT_1426(I13302,g7164); + not NOT_1427(g5037,g4438); + not NOT_1428(g9111,I15723); + not NOT_1429(I12199,g6475); + not NOT_1430(g7013,I12757); + not NOT_1431(g9311,I16049); + not NOT_1432(g5437,g5041); + not NOT_1433(I11827,g6231); + not NOT_1434(g5653,g4748); + not NOT_1435(g7413,I13524); + not NOT_1436(I13743,g7454); + not NOT_1437(g3926,I7581); + not NOT_1438(g5302,g5028); + not NOT_1439(I14420,g7554); + not NOT_1440(I15208,g8810); + not NOT_1441(g2818,g1792); + not NOT_1442(g6063,I10678); + not NOT_1443(g4070,I7847); + not NOT_1444(I12529,g6628); + not NOT_1445(g2867,g2222); + not NOT_1446(g3754,g2543); + not NOT_1447(I9600,g4698); + not NOT_1448(g8198,g7721); + not NOT_1449(g8747,g8545); + not NOT_1450(g4025,I7792); + not NOT_1451(I14318,g7657); + not NOT_1452(g5719,I10236); + not NOT_1453(I12696,g6503); + not NOT_1454(g9374,I16148); + not NOT_1455(I14227,g7552); + not NOT_1456(I5689,g906); + not NOT_1457(I7959,g2793); + not NOT_1458(g1758,g1084); + not NOT_1459(g1589,g746); + not NOT_1460(I14025,g7500); + not NOT_1461(I7517,g3578); + not NOT_1462(I11803,g6280); + not NOT_1463(I7082,g2470); + not NOT_1464(g2893,I6615); + not NOT_1465(I15726,g9069); + not NOT_1466(g7117,I12939); + not NOT_1467(g6279,I11132); + not NOT_1468(g5917,g5412); + not NOT_1469(g7317,I13383); + not NOT_1470(I14058,g7544); + not NOT_1471(g6720,g6254); + not NOT_1472(I5428,g49); + not NOT_1473(g6118,g5549); + not NOT_1474(g6167,I10862); + not NOT_1475(g6318,I11281); + not NOT_1476(g1571,g669); + not NOT_1477(g3983,g2845); + not NOT_1478(g6367,I11428); + not NOT_1479(g9180,I15824); + not NOT_1480(g6872,I12487); + not NOT_1481(g7601,g7450); + not NOT_1482(I15607,g8994); + not NOT_1483(g9380,g9379); + not NOT_1484(g3862,I7389); + not NOT_1485(g5042,I9396); + not NOT_1486(g1711,I5555); + not NOT_1487(g2274,g782); + not NOT_1488(g6652,I11936); + not NOT_1489(I12161,g5971); + not NOT_1490(g4678,I8935); + not NOT_1491(g3712,g1952); + not NOT_1492(g8524,g7855); + not NOT_1493(g6843,I12400); + not NOT_1494(I15530,g8972); + not NOT_1495(g5786,I10403); + not NOT_1496(g4006,I7749); + not NOT_1497(g2170,g1229); + not NOT_1498(g1827,g762); + not NOT_1499(g2614,g1562); + not NOT_1500(g9020,I15484); + not NOT_1501(g7775,I14196); + not NOT_1502(g5164,I9618); + not NOT_1503(g6393,I11506); + not NOT_1504(g4635,I8820); + not NOT_1505(g5364,g5124); + not NOT_1506(I15565,g8980); + not NOT_1507(g2325,I6118); + not NOT_1508(g2821,g1786); + not NOT_1509(I12259,g6652); + not NOT_1510(I10377,g5188); + not NOT_1511(g1774,I5616); + not NOT_1512(I12708,g6482); + not NOT_1513(g7581,I13888); + not NOT_1514(I11662,g5956); + not NOT_1515(I10739,g5572); + not NOT_1516(g4087,I7882); + not NOT_1517(g4105,I7928); + not NOT_1518(g8152,I14388); + not NOT_1519(I9076,g4353); + not NOT_1520(g5054,g4457); + not NOT_1521(g6834,I12373); + not NOT_1522(g4801,I9126); + not NOT_1523(g8867,I15187); + not NOT_1524(I9889,g4819); + not NOT_1525(I14739,g8173); + not NOT_1526(g2939,g2348); + not NOT_1527(g3961,g3131); + not NOT_1528(g7060,g6654); + not NOT_1529(I11890,g6135); + not NOT_1530(g1803,g758); + not NOT_1531(g7460,g7172); + not NOT_1532(I15641,g9017); + not NOT_1533(I6160,g324); + not NOT_1534(g5725,g4841); + not NOT_1535(g4748,g4465); + not NOT_1536(I11482,g6117); + not NOT_1537(g6598,I11806); + not NOT_1538(g3927,I7584); + not NOT_1539(I5609,g16); + not NOT_1540(I11248,g6149); + not NOT_1541(g1780,g614); + not NOT_1542(I12244,g6642); + not NOT_1543(I11710,g6098); + not NOT_1544(I13710,g7340); + not NOT_1545(g2636,g1580); + not NOT_1546(g7739,I14088); + not NOT_1547(g3014,I6767); + not NOT_1548(I9651,g4805); + not NOT_1549(g6321,I11290); + not NOT_1550(g4226,g3591); + not NOT_1551(g8386,g8014); + not NOT_1552(I5883,g80); + not NOT_1553(g2106,I5883); + not NOT_1554(g8975,I15429); + not NOT_1555(g3946,g3097); + not NOT_1556(g2306,I6075); + not NOT_1557(I13779,g7406); + not NOT_1558(g9204,I15894); + not NOT_1559(I15408,g8896); + not NOT_1560(I15635,g8976); + not NOT_1561(g6625,I11867); + not NOT_1562(g1662,g1412); + not NOT_1563(g2790,g1793); + not NOT_1564(g7937,I14285); + not NOT_1565(I7762,g3029); + not NOT_1566(I12810,g6607); + not NOT_1567(g6232,I11031); + not NOT_1568(I11778,g6180); + not NOT_1569(g3903,I7498); + not NOT_1570(g9100,I15690); + not NOT_1571(I12068,g5847); + not NOT_1572(I10427,g5210); + not NOT_1573(g7479,I13635); + not NOT_1574(g9300,I16026); + not NOT_1575(g5412,I9850); + not NOT_1576(I10366,g5715); + not NOT_1577(g6253,g5403); + not NOT_1578(g6938,I12635); + not NOT_1579(I14427,g7835); + not NOT_1580(I5466,g926); + not NOT_1581(g6813,I12310); + not NOT_1582(g7294,I13314); + not NOT_1583(g4373,I8360); + not NOT_1584(g3513,g2407); + not NOT_1585(I9139,g4364); + not NOT_1586(g6909,I12592); + not NOT_1587(g7190,I13112); + not NOT_1588(g2622,g1568); + not NOT_1589(I11945,g5874); + not NOT_1590(I12337,g6724); + not NOT_1591(I5365,g3843); + not NOT_1592(I5861,g1313); + not NOT_1593(I11356,g5799); + not NOT_1594(I13356,g7221); + not NOT_1595(g1816,g767); + not NOT_1596(g5171,I9639); + not NOT_1597(g4602,I8721); + not NOT_1598(g7501,I13679); + not NOT_1599(I11380,g5822); + not NOT_1600(I10403,g5202); + not NOT_1601(g5787,I10406); + not NOT_1602(g4007,I7752); + not NOT_1603(g2904,g2287); + not NOT_1604(I14403,g7679); + not NOT_1605(g7156,I13042); + not NOT_1606(g5956,I10582); + not NOT_1607(g6552,I11722); + not NOT_1608(g7356,I13484); + not NOT_1609(g4920,g4105); + not NOT_1610(g6606,I11824); + not NOT_1611(g4578,g2917); + not NOT_1612(I11090,g1000); + not NOT_1613(I7928,g2873); + not NOT_1614(I11998,g5918); + not NOT_1615(g8544,I14657); + not NOT_1616(g3831,I7296); + not NOT_1617(I11233,g6147); + not NOT_1618(g2514,g1330); + not NOT_1619(g4718,I9018); + not NOT_1620(g8483,g8038); + not NOT_1621(I8962,g4553); + not NOT_1622(I7064,g2458); + not NOT_1623(I11672,g5971); + not NOT_1624(g1847,g765); + not NOT_1625(I9672,g4803); + not NOT_1626(I15711,g9075); + not NOT_1627(I13672,g7242); + not NOT_1628(I7899,g3743); + not NOT_1629(g4535,g2876); + not NOT_1630(g2403,g1176); + not NOT_1631(g8636,I14718); + not NOT_1632(g1685,I5528); + not NOT_1633(g2145,g1296); + not NOT_1634(g6687,I12003); + not NOT_1635(g2345,I6151); + not NOT_1636(g2841,g2208); + not NOT_1637(I7785,g3029); + not NOT_1638(g7704,I14001); + not NOT_1639(g4582,g2922); + not NOT_1640(g3805,g1752); + not NOT_1641(g3916,I7545); + not NOT_1642(g9323,g9315); + not NOT_1643(g6586,I11778); + not NOT_1644(g8790,g8585); + not NOT_1645(g2695,g1672); + not NOT_1646(g4015,g3160); + not NOT_1647(g2637,g1581); + not NOT_1648(I11449,g6068); + not NOT_1649(I12918,g7013); + not NOT_1650(g5684,I10183); + not NOT_1651(g8061,I14330); + not NOT_1652(g5745,I10292); + not NOT_1653(I15492,g8971); + not NOT_1654(g5639,g4748); + not NOT_1655(I14127,g7594); + not NOT_1656(g7163,I13063); + not NOT_1657(g3947,I7640); + not NOT_1658(I11897,g6141); + not NOT_1659(g2307,I6078); + not NOT_1660(I11961,g5988); + not NOT_1661(g7032,g6525); + not NOT_1662(g2536,g1354); + not NOT_1663(g5109,I9493); + not NOT_1664(I13897,g7354); + not NOT_1665(g8756,g8564); + not NOT_1666(g3798,g1757); + not NOT_1667(g5309,g4969); + not NOT_1668(g7432,I13559); + not NOT_1669(g6141,I10786); + not NOT_1670(g6860,I12451); + not NOT_1671(g2359,g1397); + not NOT_1672(g4664,I8907); + not NOT_1673(I9499,g4382); + not NOT_1674(g6341,I11350); + not NOT_1675(I11404,g5834); + not NOT_1676(g3560,g2361); + not NOT_1677(g9351,I16103); + not NOT_1678(g2223,I5942); + not NOT_1679(I7844,g3784); + not NOT_1680(I15982,g9236); + not NOT_1681(g5808,I10457); + not NOT_1682(g1562,g636); + not NOT_1683(I6680,g1558); + not NOT_1684(g6645,I11917); + not NOT_1685(I16040,g9285); + not NOT_1686(g4721,I9025); + not NOT_1687(I14103,g7584); + not NOT_1688(I11212,g6146); + not NOT_1689(g2016,I5852); + not NOT_1690(I7731,g3029); + not NOT_1691(g5759,I10350); + not NOT_1692(g8514,g8040); + not NOT_1693(g3873,g2956); + not NOT_1694(g3632,I7101); + not NOT_1695(g3095,I6831); + not NOT_1696(g1817,I5689); + not NOT_1697(g3495,g1616); + not NOT_1698(g3653,g2459); + not NOT_1699(I8180,g3529); + not NOT_1700(I12322,g6751); + not NOT_1701(g8145,I14381); + not NOT_1702(g2522,g1342); + not NOT_1703(I14181,g7725); + not NOT_1704(g7157,I13045); + not NOT_1705(g2642,g1588); + not NOT_1706(I8832,g3936); + not NOT_1707(g6879,I12508); + not NOT_1708(g7357,I13487); + not NOT_1709(g6607,I11827); + not NOT_1710(I12532,g6594); + not NOT_1711(g3579,g1929); + not NOT_1712(g3869,I7400); + not NOT_1713(g6962,I12687); + not NOT_1714(I8853,g4034); + not NOT_1715(g6659,I11955); + not NOT_1716(I12158,g5956); + not NOT_1717(g6358,I11401); + not NOT_1718(g6506,I11680); + not NOT_1719(g1751,g452); + not NOT_1720(I5847,g1360); + not NOT_1721(I12561,g6449); + not NOT_1722(I16183,g9388); + not NOT_1723(g5604,g4969); + not NOT_1724(I12295,g6693); + not NOT_1725(g3917,I7548); + not NOT_1726(g2654,I6446); + not NOT_1727(I10190,g4670); + not NOT_1728(g1585,g724); + not NOT_1729(g4689,I8966); + not NOT_1730(g6587,I11781); + not NOT_1731(g9372,I16142); + not NOT_1732(I15522,g9018); + not NOT_1733(I15663,g9066); + not NOT_1734(I14190,g7531); + not NOT_1735(I9543,g4279); + not NOT_1736(g6111,g5453); + not NOT_1737(g8223,I14448); + not NOT_1738(g6311,I11260); + not NOT_1739(g5833,I10522); + not NOT_1740(I7814,g2605); + not NOT_1741(I13646,g7245); + not NOT_1742(g9235,I15959); + not NOT_1743(g4028,I7797); + not NOT_1744(g2880,g2234); + not NOT_1745(I7350,g2971); + not NOT_1746(I6574,g576); + not NOT_1747(g2595,g1643); + not NOT_1748(I6864,g2528); + not NOT_1749(I11971,g6179); + not NOT_1750(g4030,g3160); + not NOT_1751(g8016,I14311); + not NOT_1752(g8757,g8585); + not NOT_1753(g5584,g4841); + not NOT_1754(g1673,g1504); + not NOT_1755(g6374,I11449); + not NOT_1756(I14211,g7712); + not NOT_1757(g9134,I15776); + not NOT_1758(I15553,g9009); + not NOT_1759(I13369,g7268); + not NOT_1760(g2272,I6021); + not NOT_1761(I14088,g7585); + not NOT_1762(g4564,I8665); + not NOT_1763(I11368,g5833); + not NOT_1764(g8642,I14732); + not NOT_1765(I5562,g1300); + not NOT_1766(I12364,g6714); + not NOT_1767(I7769,g3038); + not NOT_1768(g5162,I9612); + not NOT_1769(g3770,g2551); + not NOT_1770(g5268,I9788); + not NOT_1771(I9014,g3864); + not NOT_1772(g5362,I9823); + not NOT_1773(I10497,g5233); + not NOT_1774(I15536,g9004); + not NOT_1775(g1772,g607); + not NOT_1776(g6380,I11467); + not NOT_1777(I9660,g4806); + not NOT_1778(g6591,I11787); + not NOT_1779(I15702,g9064); + not NOT_1780(I13850,g7328); + not NOT_1781(g6832,I12367); + not NOT_1782(I5817,g1081); + not NOT_1783(g2982,g1848); + not NOT_1784(g8874,I15208); + not NOT_1785(g3532,g2407); + not NOT_1786(I7967,g2787); + not NOT_1787(g7778,I14205); + not NOT_1788(g1743,g598); + not NOT_1789(g2234,I5963); + not NOT_1790(g6853,I12430); + not NOT_1791(g2128,g1284); + not NOT_1792(g4638,I8829); + not NOT_1793(g2629,g1574); + not NOT_1794(g6020,g5367); + not NOT_1795(g2328,I6127); + not NOT_1796(I10987,g5609); + not NOT_1797(I12289,g6702); + not NOT_1798(I5605,g58); + not NOT_1799(I10250,g5268); + not NOT_1800(g7735,I14076); + not NOT_1801(g4609,I8742); + not NOT_1802(g6507,I11683); + not NOT_1803(g4308,I8277); + not NOT_1804(g1011,I5413); + not NOT_1805(I13228,g6892); + not NOT_1806(g9113,I15729); + not NOT_1807(g6794,I12253); + not NOT_1808(g1856,g774); + not NOT_1809(I12571,g6729); + not NOT_1810(g9313,I16055); + not NOT_1811(I11011,g5693); + not NOT_1812(I5751,g963); + not NOT_1813(g5086,I9460); + not NOT_1814(g8880,I15218); + not NOT_1815(g3189,I6864); + not NOT_1816(I13716,g7331); + not NOT_1817(g5730,I10247); + not NOT_1818(g7475,I13631); + not NOT_1819(I16072,g9303); + not NOT_1820(g3990,g3160); + not NOT_1821(g2554,I6376); + not NOT_1822(I14338,g7581); + not NOT_1823(g5185,I9681); + not NOT_1824(g4589,g2930); + not NOT_1825(I10969,g5606); + not NOT_1826(g9094,I15672); + not NOT_1827(g7627,I13956); + not NOT_1828(g3888,g3097); + not NOT_1829(I15062,g8632); + not NOT_1830(g6905,I12586); + not NOT_1831(g3029,g1929); + not NOT_1832(g7292,I13308); + not NOT_1833(g3787,g1842); + not NOT_1834(g8017,g7692); + not NOT_1835(g6628,I11880); + not NOT_1836(I15933,g9210); + not NOT_1837(g7526,I13758); + not NOT_1838(g5470,g4899); + not NOT_1839(g5897,I10569); + not NOT_1840(g3956,g2845); + not NOT_1841(g5025,I9363); + not NOT_1842(g6515,g6125); + not NOT_1843(I11627,g5874); + not NOT_1844(g6630,I11884); + not NOT_1845(g4571,g2908); + not NOT_1846(I12687,g6745); + not NOT_1847(g3675,I7167); + not NOT_1848(I12976,g6928); + not NOT_1849(g1573,g677); + not NOT_1850(g1863,g68); + not NOT_1851(g6300,I11227); + not NOT_1852(I13112,g7021); + not NOT_1853(g7603,I13940); + not NOT_1854(I11050,g5335); + not NOT_1855(I11958,g5874); + not NOT_1856(g7039,g6543); + not NOT_1857(I9422,g4360); + not NOT_1858(I8351,g1160); + not NOT_1859(g8234,I14489); + not NOT_1860(g4455,g3811); + not NOT_1861(g2902,g2285); + not NOT_1862(g7439,I13574); + not NOT_1863(I12643,g6501); + not NOT_1864(I5368,g3853); + not NOT_1865(I11386,g5764); + not NOT_1866(g1569,g661); + not NOT_1867(g453,I5362); + not NOT_1868(I5772,g1240); + not NOT_1869(g2490,I6326); + not NOT_1870(I6024,g544); + not NOT_1871(I5531,g866); + not NOT_1872(g2366,I6198); + not NOT_1873(I12669,g6477); + not NOT_1874(g7583,I13894); + not NOT_1875(g7702,I13997); + not NOT_1876(g4196,I8097); + not NOT_1877(g5678,I10169); + not NOT_1878(I6795,g1683); + not NOT_1879(I10503,g5235); + not NOT_1880(g3684,g2180); + not NOT_1881(g3639,g2424); + not NOT_1882(g4803,I9132); + not NOT_1883(g6973,I12708); + not NOT_1884(g5006,I9333); + not NOT_1885(g3338,g1901); + not NOT_1886(g8800,I15010); + not NOT_1887(g3963,I7672); + not NOT_1888(g9360,I16116); + not NOT_1889(I15574,g8983); + not NOT_1890(g4538,g2880); + not NOT_1891(g1688,I5535); + not NOT_1892(g2148,g1304); + not NOT_1893(I15205,g8809); + not NOT_1894(g2649,I6431); + not NOT_1895(g4780,I9089); + not NOT_1896(g1857,g889); + not NOT_1897(g2348,I6160); + not NOT_1898(I7788,g2595); + not NOT_1899(g9050,I15550); + not NOT_1900(g5682,I10177); + not NOT_1901(g5766,I10373); + not NOT_1902(g5087,I9463); + not NOT_1903(g1976,g1269); + not NOT_1904(g6969,I12702); + not NOT_1905(I15912,g9193); + not NOT_1906(I9095,g4283); + not NOT_1907(g5801,I10442); + not NOT_1908(g3808,g1827); + not NOT_1909(g7276,I13264); + not NOT_1910(g5487,I9907); + not NOT_1911(I14315,g7676); + not NOT_1912(I6643,g1970); + not NOT_1913(I11793,g6188); + not NOT_1914(I11428,g5813); + not NOT_1915(I12424,g6446); + not NOT_1916(I13428,g7167); + not NOT_1917(g3707,g2226); + not NOT_1918(g6323,I11296); + not NOT_1919(I14819,g8647); + not NOT_1920(g4662,I8901); + not NOT_1921(g2698,g1673); + not NOT_1922(g4018,I7775); + not NOT_1923(I12558,g6449); + not NOT_1924(I14202,g7708); + not NOT_1925(I8172,g3524); + not NOT_1926(I14257,g7716); + not NOT_1927(I9579,g4713); + not NOT_1928(g2964,I6716); + not NOT_1929(I14055,g7495); + not NOT_1930(I16020,g9264); + not NOT_1931(g9379,I16161); + not NOT_1932(I7392,g3230); + not NOT_1933(g5755,g5494); + not NOT_1934(I15592,g8989); + not NOT_1935(I15756,g9081); + not NOT_1936(g7527,I13761); + not NOT_1937(I14070,g7714); + not NOT_1938(g3957,I7662); + not NOT_1939(I12544,g6617); + not NOT_1940(I6099,g584); + not NOT_1941(I9752,g4705); + not NOT_1942(g4093,I7902); + not NOT_1943(g8512,g8094); + not NOT_1944(I8282,g3515); + not NOT_1945(I16046,g9288); + not NOT_1946(g1760,I5605); + not NOT_1947(g4493,I8543); + not NOT_1948(g7764,I14163); + not NOT_1949(g6351,I11380); + not NOT_1950(g6648,I11926); + not NOT_1951(g6875,I12496); + not NOT_1952(g7546,I13822); + not NOT_1953(g3865,g2944); + not NOT_1954(I10384,g5193); + not NOT_1955(g6655,I11945); + not NOT_1956(g5445,g5059); + not NOT_1957(g5173,I9645); + not NOT_1958(I11317,g5787); + not NOT_1959(g3604,g2407); + not NOT_1960(I13317,g7211); + not NOT_1961(g5491,g4918); + not NOT_1962(g3498,g1616); + not NOT_1963(I14067,g7550); + not NOT_1964(I14094,g7593); + not NOT_1965(g4381,g3466); + not NOT_1966(g8649,I14743); + not NOT_1967(g6010,I10608); + not NOT_1968(g3833,I7302); + not NOT_1969(I11129,g5418); + not NOT_1970(g2872,I6590); + not NOT_1971(g1924,g174); + not NOT_1972(g5169,I9633); + not NOT_1973(g4685,I8952); + not NOT_1974(g4197,g3591); + not NOT_1975(I10801,g5463); + not NOT_1976(g6410,I11533); + not NOT_1977(g7224,I13164); + not NOT_1978(I7520,g2734); + not NOT_1979(g4021,g3131); + not NOT_1980(g5007,I9336); + not NOT_1981(I13057,g6968); + not NOT_1982(I14801,g8608); + not NOT_1983(g2652,I6440); + not NOT_1984(g1779,g612); + not NOT_1985(g2057,I5868); + not NOT_1986(I7640,g3062); + not NOT_1987(I12124,g5847); + not NOT_1988(I12678,g6516); + not NOT_1989(g6884,I12523); + not NOT_1990(g2843,I6571); + not NOT_1991(g7120,I12948); + not NOT_1992(g5059,I9419); + not NOT_1993(g6839,I12388); + not NOT_1994(g2457,g24); + not NOT_1995(g5578,g4841); + not NOT_1996(g5868,I10555); + not NOT_1997(g7320,I13388); + not NOT_1998(g2989,g1843); + not NOT_1999(g3539,g2424); + not NOT_2000(g3896,I7473); + not NOT_2001(I11245,g6143); + not NOT_2002(g5459,g4882); + not NOT_2003(I14019,g7480); + not NOT_2004(g2393,I6267); + not NOT_2005(g5718,g4841); + not NOT_2006(I12460,g6674); + not NOT_2007(I12939,g7022); + not NOT_2008(I11323,g5808); + not NOT_2009(g1977,g1357); + not NOT_2010(I11299,g5786); + not NOT_2011(I13323,g7145); + not NOT_2012(I14196,g7534); + not NOT_2013(I13299,g7163); + not NOT_2014(I14695,g8016); + not NOT_2015(g7277,I13267); + not NOT_2016(g1588,g741); + not NOT_2017(I11533,g5847); + not NOT_2018(g2834,I6564); + not NOT_2019(g2971,I6723); + not NOT_2020(I13533,g7220); + not NOT_2021(g8063,I14334); + not NOT_2022(g5582,g4969); + not NOT_2023(I15405,g8902); + not NOT_2024(g6278,I11129); + not NOT_2025(g8463,g8094); + not NOT_2026(g2686,g1667); + not NOT_2027(g6372,I11443); + not NOT_2028(g7789,I14224); + not NOT_2029(g5261,g4748); + not NOT_2030(g3019,g2007); + not NOT_2031(g9132,I15770); + not NOT_2032(g5793,I10418); + not NOT_2033(I12065,g5897); + not NOT_2034(I8202,g3560); + not NOT_2035(g9332,g9322); + not NOT_2036(g6618,g6003); + not NOT_2037(g1665,g1467); + not NOT_2038(g6143,I10796); + not NOT_2039(g7516,I13728); + not NOT_2040(I7765,g2595); + not NOT_2041(g6343,I11356); + not NOT_2042(g4562,g3466); + not NOT_2043(g6235,I11034); + not NOT_2044(g5015,I9347); + not NOT_2045(g3052,g2096); + not NOT_2046(g9209,g9199); + not NOT_2047(g9353,I16107); + not NOT_2048(I7911,g2767); + not NOT_2049(I10457,g5218); + not NOT_2050(I8094,g2976); + not NOT_2051(g7771,I14184); + not NOT_2052(I14457,g8093); + not NOT_2053(g6566,I11740); + not NOT_2054(g4631,I8808); + not NOT_2055(I13737,g7446); + not NOT_2056(g372,I5359); + not NOT_2057(I15583,g8986); + not NOT_2058(g7299,I13329); + not NOT_2059(g4257,I8190); + not NOT_2060(g6693,I12011); + not NOT_2061(g6134,g5428); + not NOT_2062(g8619,I14695); + not NOT_2063(g7547,I13825); + not NOT_2064(g6334,I11329); + not NOT_2065(g4301,I8264); + not NOT_2066(g5246,I9760); + not NOT_2067(g2625,g1570); + not NOT_2068(g8872,I15202); + not NOT_2069(g2232,I5957); + not NOT_2070(g4605,I8730); + not NOT_2071(g3086,g1852); + not NOT_2072(g2253,g1323); + not NOT_2073(g2938,g2347); + not NOT_2074(g3728,g2202); + not NOT_2075(I14001,g7433); + not NOT_2076(I13261,g7041); + not NOT_2077(I11880,g5748); + not NOT_2078(g6555,I11729); + not NOT_2079(g6804,I12283); + not NOT_2080(I7473,g3546); + not NOT_2081(g2909,g2291); + not NOT_2082(I6946,g1887); + not NOT_2083(I10256,g5401); + not NOT_2084(g6792,I12247); + not NOT_2085(I11512,g5874); + not NOT_2086(g1732,g1439); + not NOT_2087(I9675,g4807); + not NOT_2088(I13512,g7138); + not NOT_2089(g3881,g2969); + not NOT_2090(I5383,g647); + not NOT_2091(I10280,g5488); + not NOT_2092(g8971,I15417); + not NOT_2093(g7738,I14085); + not NOT_2094(g4585,g2925); + not NOT_2095(I8264,g3653); + not NOT_2096(g6621,I11855); + not NOT_2097(g1944,I5817); + not NOT_2098(g3897,g3131); + not NOT_2099(g4041,g2605); + not NOT_2100(I12915,g7000); + not NOT_2101(g9092,I15666); + not NOT_2102(I8360,g1186); + not NOT_2103(g6313,I11266); + not NOT_2104(g7078,g6683); + not NOT_2105(g7340,I13438); + not NOT_2106(I7377,g3189); + not NOT_2107(I10157,g5109); + not NOT_2108(I13831,g7322); + not NOT_2109(I6036,g130); + not NOT_2110(I14157,g7547); + not NOT_2111(I12277,g6681); + not NOT_2112(I6178,g1220); + not NOT_2113(g4673,I8928); + not NOT_2114(g6202,I10949); + not NOT_2115(g8670,I14804); + not NOT_2116(I9684,g4813); + not NOT_2117(g7035,g6543); + not NOT_2118(I13499,g7134); + not NOT_2119(I15803,g9148); + not NOT_2120(I9639,g4685); + not NOT_2121(g7517,I13731); + not NOT_2122(I7287,g2561); + not NOT_2123(g6094,I10716); + not NOT_2124(I14231,g7566); + not NOT_2125(I9791,g4779); + not NOT_2126(I6831,g2185); + not NOT_2127(g5028,I9372); + not NOT_2128(g4669,I8922); + not NOT_2129(g1565,g649); + not NOT_2130(I8724,g3927); + not NOT_2131(g5671,I10160); + not NOT_2132(I11722,g5772); + not NOT_2133(I12782,g6463); + not NOT_2134(I13722,g7442); + not NOT_2135(I16090,g9336); + not NOT_2136(I6805,g1603); + not NOT_2137(g3635,g1949); + not NOT_2138(I13924,g7365); + not NOT_2139(I5633,g891); + not NOT_2140(g1681,g929); + not NOT_2141(g6776,I12199); + not NOT_2142(I7781,g2605); + not NOT_2143(I6422,g1805); + not NOT_2144(g6593,I11793); + not NOT_2145(g4890,g4075); + not NOT_2146(I12352,g6752); + not NOT_2147(I13432,g7280); + not NOT_2148(g2525,I6354); + not NOT_2149(g3801,I7262); + not NOT_2150(I14763,g7834); + not NOT_2151(I13271,g7067); + not NOT_2152(g2645,I6419); + not NOT_2153(I8835,g3954); + not NOT_2154(g5826,I10503); + not NOT_2155(I12418,g6572); + not NOT_2156(I7797,g3019); + not NOT_2157(g8606,I14683); + not NOT_2158(I12170,g5956); + not NOT_2159(g4011,I7762); + not NOT_2160(I11461,g6094); + not NOT_2161(g9076,I15622); + not NOT_2162(g5741,I10280); + not NOT_2163(g7110,I12918); + not NOT_2164(I5732,g859); + not NOT_2165(g6264,g5403); + not NOT_2166(g7310,I13362); + not NOT_2167(I11031,g5335); + not NOT_2168(I13031,g6984); + not NOT_2169(g5638,g4748); + not NOT_2170(g6360,I11407); + not NOT_2171(g2879,I6597); + not NOT_2172(I13199,g7025); + not NOT_2173(I11736,g6076); + not NOT_2174(I11887,g5918); + not NOT_2175(g9375,I16151); + not NOT_2176(I7344,g2964); + not NOT_2177(g2962,g2382); + not NOT_2178(g5609,g4748); + not NOT_2179(I15003,g8633); + not NOT_2180(I8799,g3951); + not NOT_2181(g2659,g1655); + not NOT_2182(g6050,g5246); + not NOT_2183(I12167,g5939); + not NOT_2184(g2506,I6341); + not NOT_2185(g1820,g621); + not NOT_2186(I6437,g1784); + not NOT_2187(I11696,g5971); + not NOT_2188(g7236,g6944); + not NOT_2189(I6302,g1313); + not NOT_2190(g3091,g1603); + not NOT_2191(I13843,g7326); + not NOT_2192(I16026,g9267); + not NOT_2193(g7762,I14157); + not NOT_2194(g3491,g1800); + not NOT_2195(g4080,I7867); + not NOT_2196(I14076,g7577); + not NOT_2197(I14085,g7583); + not NOT_2198(g4573,g2911); + not NOT_2199(I11764,g6056); + not NOT_2200(g5758,I10347); + not NOT_2201(I13764,g7479); + not NOT_2202(g6724,I12088); + not NOT_2203(I11365,g5826); + not NOT_2204(g2275,g990); + not NOT_2205(g2311,I6090); + not NOT_2206(I9539,g4018); + not NOT_2207(g6179,I10896); + not NOT_2208(I13365,g7267); + not NOT_2209(g5466,g4890); + not NOT_2210(g4713,I9014); + not NOT_2211(I10243,g5026); + not NOT_2212(g6379,I11464); + not NOT_2213(I11132,g5624); + not NOT_2214(g7590,I13915); + not NOT_2215(g9184,I15830); + not NOT_2216(I13869,g7338); + not NOT_2217(I5565,g1296); + not NOT_2218(g2615,g1563); + not NOT_2219(g6878,I12505); + not NOT_2220(g5165,I9621); + not NOT_2221(g4569,g2906); + not NOT_2222(g5571,I10032); + not NOT_2223(g3920,g3097); + not NOT_2224(I12022,g5874); + not NOT_2225(g3578,I7053); + not NOT_2226(g3868,g2948); + not NOT_2227(g2174,g1319); + not NOT_2228(g6289,I11194); + not NOT_2229(g6777,I12202); + not NOT_2230(I8802,g3963); + not NOT_2231(g6658,g6224); + not NOT_2232(g2374,I6220); + not NOT_2233(g5448,g5137); + not NOT_2234(g1922,g1251); + not NOT_2235(I9162,g4272); + not NOT_2236(g7556,I13846); + not NOT_2237(I13161,g7080); + not NOT_2238(I10773,g5708); + not NOT_2239(g5055,g4477); + not NOT_2240(I12313,g6730); + not NOT_2241(g6835,I12376); + not NOT_2242(g2985,I6733); + not NOT_2243(I9419,g3916); + not NOT_2244(I10268,g5471); + not NOT_2245(g1581,g710); + not NOT_2246(g5827,I10506); + not NOT_2247(I12748,g6585); + not NOT_2248(g6882,I12517); + not NOT_2249(I6042,g237); + not NOT_2250(I15651,g9056); + not NOT_2251(I15672,g9047); + not NOT_2252(g3582,g2407); + not NOT_2253(g2284,I6036); + not NOT_2254(I5914,g1097); + not NOT_2255(I13225,g7095); + not NOT_2256(g7064,I12829); + not NOT_2257(g2239,I5978); + not NOT_2258(I7314,g2916); + not NOT_2259(I10180,g4721); + not NOT_2260(I16148,g9368); + not NOT_2261(g1597,g973); + not NOT_2262(g9077,I15625); + not NOT_2263(g2180,g1318); + not NOT_2264(g5846,g5367); + not NOT_2265(g2380,I6242); + not NOT_2266(I13258,g6907); + not NOT_2267(I12900,g6947); + not NOT_2268(I7870,g2827); + not NOT_2269(I8901,g4122); + not NOT_2270(g2832,g2184); + not NOT_2271(I12466,g6687); + not NOT_2272(g5396,g4692); + not NOT_2273(I5413,g1016); + not NOT_2274(g1784,I5636); + not NOT_2275(g6799,I12268); + not NOT_2276(I6054,g465); + not NOT_2277(g2020,I5855); + not NOT_2278(I10930,g5600); + not NOT_2279(I15513,g8970); + not NOT_2280(I11043,g5648); + not NOT_2281(I6454,g1868); + not NOT_2282(I12101,g5971); + not NOT_2283(I6770,g1590); + not NOT_2284(g6674,I11978); + not NOT_2285(I13244,g7033); + not NOT_2286(g7563,I13861); + not NOT_2287(g8111,I14374); + not NOT_2288(g5780,I10387); + not NOT_2289(g4000,g3131); + not NOT_2290(I10694,g5445); + not NOT_2291(g4126,I7981); + not NOT_2292(I10965,g5719); + not NOT_2293(g6997,I12737); + not NOT_2294(g7295,I13317); + not NOT_2295(g2794,g2185); + not NOT_2296(I11069,g5671); + not NOT_2297(g9104,I15702); + not NOT_2298(I5936,g222); + not NOT_2299(g9099,I15687); + not NOT_2300(I6532,g1694); + not NOT_2301(g9304,g9298); + not NOT_2302(g2931,I6669); + not NOT_2303(g3721,I7211); + not NOT_2304(g6238,I11043); + not NOT_2305(I6553,g2246); + not NOT_2306(g5662,g5027); + not NOT_2307(I13810,g7312); + not NOT_2308(g8174,I14403); + not NOT_2309(g6332,I11323); + not NOT_2310(I15717,g9051); + not NOT_2311(I11955,g5988); + not NOT_2312(g5418,g5100); + not NOT_2313(g5467,g4891); + not NOT_2314(I9025,g4462); + not NOT_2315(g6353,I11386); + not NOT_2316(g7194,I13118); + not NOT_2317(I13879,g7332); + not NOT_2318(I9425,g3917); + not NOT_2319(g655,I5383); + not NOT_2320(g2905,I6629); + not NOT_2321(I6012,g384); + not NOT_2322(g6744,I12124); + not NOT_2323(g7731,I14064); + not NOT_2324(g6802,I12277); + not NOT_2325(g8284,I14531); + not NOT_2326(g2628,g1573); + not NOT_2327(g3502,g1616); + not NOT_2328(g8545,g7905); + not NOT_2329(I6189,g249); + not NOT_2330(g2630,g1575); + not NOT_2331(g5493,g4920); + not NOT_2332(g8180,g7719); + not NOT_2333(I14279,g7700); + not NOT_2334(g4608,I8739); + not NOT_2335(g4924,g4113); + not NOT_2336(I5775,g1240); + not NOT_2337(g7966,I14291); + not NOT_2338(g2100,g1227); + not NOT_2339(g3940,I7623); + not NOT_2340(I10469,g5222); + not NOT_2341(I11967,g5971); + not NOT_2342(I11994,g6195); + not NOT_2343(g7471,g7233); + not NOT_2344(I15723,g9065); + not NOT_2345(g9044,I15536); + not NOT_2346(g1942,g828); + not NOT_2347(I6029,g1207); + not NOT_2348(g4023,I7788); + not NOT_2349(I8736,g4008); + not NOT_2350(I10286,g5519); + not NOT_2351(I6371,g33); + not NOT_2352(g1704,I5548); + not NOT_2353(g5181,I9669); + not NOT_2354(I12008,g5897); + not NOT_2355(I9678,g4808); + not NOT_2356(I15433,g8911); + not NOT_2357(g5847,I10552); + not NOT_2358(I6956,g1907); + not NOT_2359(g6901,g6525); + not NOT_2360(I14039,g7449); + not NOT_2361(g4588,g2929); + not NOT_2362(I11425,g5872); + not NOT_2363(g5685,I10186); + not NOT_2364(g5197,g4938); + not NOT_2365(I13425,g7166); + not NOT_2366(g5397,g5076); + not NOT_2367(I8889,g4311); + not NOT_2368(g6511,I11693); + not NOT_2369(g703,I5398); + not NOT_2370(I11458,g6063); + not NOT_2371(I15811,g9151); + not NOT_2372(I10815,g5418); + not NOT_2373(I12454,g6581); + not NOT_2374(g2973,g1854); + not NOT_2375(g1810,I5676); + not NOT_2376(g3430,I6956); + not NOT_2377(g4665,I8910); + not NOT_2378(I12712,g6543); + not NOT_2379(g4051,g3093); + not NOT_2380(g6092,g5317); + not NOT_2381(I13918,g7361); + not NOT_2382(I15971,g9233); + not NOT_2383(I8871,g3869); + not NOT_2384(I14187,g7728); + not NOT_2385(g7150,g6952); + not NOT_2386(I14677,g7791); + not NOT_2387(g7350,I13466); + not NOT_2388(g6864,I12463); + not NOT_2389(I7195,g1795); + not NOT_2390(g2969,g2393); + not NOT_2391(I13444,g7282); + not NOT_2392(g6714,I12068); + not NOT_2393(g7773,I14190); + not NOT_2394(g4146,I8011); + not NOT_2395(g7009,I12753); + not NOT_2396(g4633,I8814); + not NOT_2397(g2323,I6112); + not NOT_2398(I10937,g5560); + not NOT_2399(I6963,g1558); + not NOT_2400(g1568,g658); + not NOT_2401(I6109,g1214); + not NOT_2402(I6791,g1967); + not NOT_2403(g4103,I7922); + not NOT_2404(I12567,g6721); + not NOT_2405(I6309,g1336); + not NOT_2406(g4303,I8268); + not NOT_2407(I11086,g5397); + not NOT_2408(I7807,g2595); + not NOT_2409(g3910,I7523); + not NOT_2410(I12238,g6637); + not NOT_2411(g7769,I14178); + not NOT_2412(I10169,g4873); + not NOT_2413(I7859,g2804); + not NOT_2414(g4696,I8983); + not NOT_2415(g1912,g1524); + not NOT_2416(g5631,g4938); + not NOT_2417(g7836,I14260); + not NOT_2418(I14169,g7715); + not NOT_2419(g5723,g4938); + not NOT_2420(g4732,I9034); + not NOT_2421(g5101,g4259); + not NOT_2422(I12382,g6772); + not NOT_2423(I5356,g3837); + not NOT_2424(g2528,g1260); + not NOT_2425(I14410,g7697); + not NOT_2426(g2351,g792); + not NOT_2427(g2648,I6428); + not NOT_2428(I8838,g3967); + not NOT_2429(I12176,g5939); + not NOT_2430(I8024,g3076); + not NOT_2431(I12675,g6510); + not NOT_2432(g6736,I12108); + not NOT_2433(g8750,g8524); + not NOT_2434(I10479,g5227); + not NOT_2435(g6968,I12699); + not NOT_2436(g2655,g1611); + not NOT_2437(g8973,I15423); + not NOT_2438(g1929,g1224); + not NOT_2439(I12154,g5874); + not NOT_2440(I5942,g300); + not NOT_2441(I9369,g3901); + not NOT_2442(g7229,g6938); + not NOT_2443(g6623,I11861); + not NOT_2444(g7993,I14298); + not NOT_2445(I7255,g1955); + not NOT_2446(g6076,g5287); + not NOT_2447(I14015,g7440); + not NOT_2448(I9407,g4232); + not NOT_2449(g6889,I12538); + not NOT_2450(I11656,g5772); + not NOT_2451(I13656,g7228); + not NOT_2452(g3589,I7061); + not NOT_2453(g8040,g7699); + not NOT_2454(I11353,g5788); + not NOT_2455(g9036,I15522); + not NOT_2456(g4443,I8449); + not NOT_2457(I13353,g7231); + not NOT_2458(I11680,g5939); + not NOT_2459(g8969,I15411); + not NOT_2460(I8477,g3014); + not NOT_2461(g9178,I15814); + not NOT_2462(g9378,I16158); + not NOT_2463(I13144,g7031); + not NOT_2464(g4116,I7959); + not NOT_2465(g6375,I11452); + not NOT_2466(g6871,I12484); + not NOT_2467(g4316,I8291); + not NOT_2468(I5954,g89); + not NOT_2469(g2884,g2238); + not NOT_2470(g3861,I7386); + not NOT_2471(g5041,I9393); + not NOT_2472(g3048,I6784); + not NOT_2473(g4034,I7811); + not NOT_2474(I9582,g4694); + not NOT_2475(I8205,g2655); + not NOT_2476(g6651,I11933); + not NOT_2477(g9182,g9178); + not NOT_2478(I5432,g1176); + not NOT_2479(g4565,g2901); + not NOT_2480(g8666,I14792); + not NOT_2481(g9382,I16168); + not NOT_2482(I15959,g9217); + not NOT_2483(I15379,g8882); + not NOT_2484(I8742,g3919); + not NOT_2485(g2372,I6214); + not NOT_2486(g3774,g1770); + not NOT_2487(I13631,g7248); + not NOT_2488(I5568,g1409); + not NOT_2489(g8875,I15211); + not NOT_2490(g3846,I7341); + not NOT_2491(g2618,g1566); + not NOT_2492(g1683,g795); + not NOT_2493(I16129,g9355); + not NOT_2494(g6384,I11479); + not NOT_2495(g2235,I5966); + not NOT_2496(g2343,g1392); + not NOT_2497(g6139,I10780); + not NOT_2498(g5168,I9630); + not NOT_2499(I12439,g6566); + not NOT_2500(g5669,I10154); + not NOT_2501(g4697,I8986); + not NOT_2502(g6339,I11344); + not NOT_2503(g4914,g4093); + not NOT_2504(I14531,g8178); + not NOT_2505(g2282,g1400); + not NOT_2506(I7112,g2546); + not NOT_2507(g1778,g613); + not NOT_2508(g1894,I5772); + not NOT_2509(g5058,I9416); + not NOT_2510(g6838,I12385); + not NOT_2511(g4596,g3466); + not NOT_2512(I8754,g3911); + not NOT_2513(g6024,g5494); + not NOT_2514(I14178,g7562); + not NOT_2515(g4013,g3131); + not NOT_2516(g2134,g1317); + not NOT_2517(g6795,I12256); + not NOT_2518(g3780,g1847); + not NOT_2519(I10186,g5129); + not NOT_2520(g6737,I12111); + not NOT_2521(g2334,I6143); + not NOT_2522(I15681,g9063); + not NOT_2523(g6809,I12298); + not NOT_2524(I8273,g2976); + not NOT_2525(I12349,g6742); + not NOT_2526(g5743,I10286); + not NOT_2527(I6419,g1799); + not NOT_2528(I10373,g5722); + not NOT_2529(g1782,g624); + not NOT_2530(I7676,g2584); + not NOT_2531(g2548,g1351); + not NOT_2532(I7293,g2955); + not NOT_2533(I12906,g6918); + not NOT_2534(I15429,g8899); + not NOT_2535(I7129,g2495); + not NOT_2536(I13023,g7040); + not NOT_2537(g1661,g1405); + not NOT_2538(I7329,g2920); + not NOT_2539(I11224,g6255); + not NOT_2540(g6672,I11974); + not NOT_2541(g2555,g936); + not NOT_2542(g6231,I11028); + not NOT_2543(g3018,I6770); + not NOT_2544(I11308,g5759); + not NOT_2545(g2804,g1796); + not NOT_2546(I12304,g6711); + not NOT_2547(g9095,I15675); + not NOT_2548(I13308,g7169); + not NOT_2549(g5734,I10259); + not NOT_2550(g1949,g1292); + not NOT_2551(g6523,I11707); + not NOT_2552(I9502,g3972); + not NOT_2553(g3994,g3192); + not NOT_2554(I8983,g4536); + not NOT_2555(g9102,I15696); + not NOT_2556(g9208,g9198); + not NOT_2557(I15765,g9039); + not NOT_2558(g9302,g9281); + not NOT_2559(I8862,g3981); + not NOT_2560(g6205,g5628); + not NOT_2561(I14334,g7578); + not NOT_2562(g8172,I14397); + not NOT_2563(I15690,g9074); + not NOT_2564(g2621,g1567); + not NOT_2565(I8712,g4007); + not NOT_2566(I7592,g2712); + not NOT_2567(g5074,I9440); + not NOT_2568(g3093,g1686); + not NOT_2569(I6728,g1959); + not NOT_2570(I8543,g2810); + not NOT_2571(g5474,g4904); + not NOT_2572(g1646,g1214); + not NOT_2573(g7298,I13326); + not NOT_2574(g4601,I8718); + not NOT_2575(I7746,g3591); + not NOT_2576(g6634,I11894); + not NOT_2577(g8667,I14795); + not NOT_2578(I13816,g7455); + not NOT_2579(g8235,I14492); + not NOT_2580(g2313,I6096); + not NOT_2581(g6742,I12120); + not NOT_2582(g1603,I5471); + not NOT_2583(g6104,g5345); + not NOT_2584(I14964,g8406); + not NOT_2585(g6304,I11239); + not NOT_2586(I15504,g8967); + not NOT_2587(g2202,g1321); + not NOT_2588(I12138,g5874); + not NOT_2589(g4922,g4111); + not NOT_2590(I10587,g5439); + not NOT_2591(I13752,g7315); + not NOT_2592(I11374,g5844); + not NOT_2593(g3847,I7344); + not NOT_2594(g2908,g2290); + not NOT_2595(g5480,g4913); + not NOT_2596(I6425,g1811); + not NOT_2597(g5713,g4841); + not NOT_2598(g4581,g2921); + not NOT_2599(I12415,g6410); + not NOT_2600(g3700,g2514); + not NOT_2601(g9042,I15530); + not NOT_2602(g2494,g9); + not NOT_2603(I7953,g3542); + not NOT_2604(g6754,I12135); + not NOT_2605(g1583,g718); + not NOT_2606(g5569,I10028); + not NOT_2607(g4597,I8706); + not NOT_2608(I9564,g4703); + not NOT_2609(I5894,g86); + not NOT_2610(I11669,g5918); + not NOT_2611(g7708,I14005); + not NOT_2612(I13669,g7240); + not NOT_2613(g9233,I15953); + not NOT_2614(g7520,I13740); + not NOT_2615(g8792,I14996); + not NOT_2616(I11260,g5779); + not NOT_2617(g6613,I11835); + not NOT_2618(g3950,g3131); + not NOT_2619(g4784,I9095); + not NOT_2620(I10569,g5417); + not NOT_2621(g4739,I9053); + not NOT_2622(I11392,g5800); + not NOT_2623(g1952,g1333); + not NOT_2624(I9910,g4681); + not NOT_2625(g6269,I11090); + not NOT_2626(g5688,I10193); + not NOT_2627(I6006,g306); + not NOT_2628(I15533,g9002); + not NOT_2629(g2965,g2384); + not NOT_2630(g6983,I12722); + not NOT_2631(g1616,I5478); + not NOT_2632(I14747,g8175); + not NOT_2633(g7176,I13084); + not NOT_2634(I5475,g1084); + not NOT_2635(I7716,g3038); + not NOT_2636(g6572,I11764); + not NOT_2637(g6862,I12457); + not NOT_2638(I11559,g6065); + not NOT_2639(g4079,I7864); + not NOT_2640(I11525,g5874); + not NOT_2641(I11488,g6034); + not NOT_2642(I13559,g7177); + not NOT_2643(g3562,I7044); + not NOT_2644(I12484,g6621); + not NOT_2645(I9609,g4780); + not NOT_2646(g2264,I5997); + not NOT_2647(g6712,I12062); + not NOT_2648(g7405,I13518); + not NOT_2649(g4668,I8919); + not NOT_2650(I6087,g318); + not NOT_2651(I6305,g1333); + not NOT_2652(g3631,I7098); + not NOT_2653(g7829,I14251); + not NOT_2654(g2360,g1435); + not NOT_2655(g2933,I6673); + not NOT_2656(g3723,g2096); + not NOT_2657(I12609,g6571); + not NOT_2658(g7286,I13290); + not NOT_2659(g7765,I14166); + not NOT_2660(I7198,g2509); + not NOT_2661(I10807,g5294); + not NOT_2662(g5000,I9325); + not NOT_2663(I5646,g883); + not NOT_2664(g8094,g7705); + not NOT_2665(I14807,g8603); + not NOT_2666(g2641,g1587); + not NOT_2667(I14974,g8442); + not NOT_2668(I9217,g4443); + not NOT_2669(I10639,g5224); + not NOT_2670(g4501,g2801); + not NOT_2671(g6729,g6263); + not NOT_2672(g6961,I12684); + not NOT_2673(I13544,g1167); + not NOT_2674(g3605,g1938); + not NOT_2675(I13865,g7333); + not NOT_2676(g2996,g1828); + not NOT_2677(I9466,g3943); + not NOT_2678(g5760,I10353); + not NOT_2679(g9189,I15845); + not NOT_2680(g7733,I14070); + not NOT_2681(I12921,g6993); + not NOT_2682(I13713,g7341); + not NOT_2683(g9389,I16183); + not NOT_2684(g1970,I5831); + not NOT_2685(I6226,g408); + not NOT_2686(g7270,I13250); + not NOT_2687(I8805,g3976); + not NOT_2688(I10265,g5468); + not NOT_2689(I8916,g4195); + not NOT_2690(g1925,g825); + not NOT_2691(g8776,g8585); + not NOT_2692(g2724,g1814); + not NOT_2693(g7225,g6936); + not NOT_2694(g7610,g7450); + not NOT_2695(g9029,I15501); + not NOT_2696(g6014,I10614); + not NOT_2697(I14416,g7727); + not NOT_2698(g2379,I6239); + not NOT_2699(I13610,g7227); + not NOT_2700(I12813,g6607); + not NOT_2701(I16145,g9367); + not NOT_2702(g6885,I12526); + not NOT_2703(I6045,g309); + not NOT_2704(g4704,I9001); + not NOT_2705(I13042,g6963); + not NOT_2706(g6660,I11958); + not NOT_2707(g6946,I12649); + not NOT_2708(I13255,g7057); + not NOT_2709(g2878,g2233); + not NOT_2710(I13189,g7002); + not NOT_2711(I7644,g2584); + not NOT_2712(g5183,I9675); + not NOT_2713(I13679,g7259); + not NOT_2714(g7124,g6896); + not NOT_2715(I12973,g6927); + not NOT_2716(g5608,g4969); + not NOT_2717(I9333,g4245); + not NOT_2718(g2289,I6051); + not NOT_2719(g6903,I12582); + not NOT_2720(g2777,g1797); + not NOT_2721(g9281,I16009); + not NOT_2722(g5779,I10384); + not NOT_2723(I10579,g5433); + not NOT_2724(I9774,g4678); + not NOT_2725(g4250,I8177); + not NOT_2726(g2882,g2236); + not NOT_2727(I11686,g6076); + not NOT_2728(I11939,g6015); + not NOT_2729(I7867,g2818); + not NOT_2730(g9297,I16017); + not NOT_2731(I13460,g7263); + not NOT_2732(g4032,I7807); + not NOT_2733(I11383,g5827); + not NOT_2734(g2271,I6018); + not NOT_2735(I9396,g3908); + not NOT_2736(I13383,g7275); + not NOT_2737(g1789,g1034); + not NOT_2738(g7206,I13134); + not NOT_2739(I6578,g1603); + not NOT_2740(I6868,g530); + not NOT_2741(I5616,g979); + not NOT_2742(g6036,I10643); + not NOT_2743(I13267,g6913); + not NOT_2744(g6378,I11461); + not NOT_2745(I6767,g1933); + not NOT_2746(g5161,I9609); + not NOT_2747(I16132,g9356); + not NOT_2748(I10442,g5215); + not NOT_2749(I15498,g8974); + not NOT_2750(g1987,I5842); + not NOT_2751(g1771,g609); + not NOT_2752(I7211,g1742); + not NOT_2753(g7287,I13293); + not NOT_2754(I14442,g8065); + not NOT_2755(g6135,I10770); + not NOT_2756(I5404,g722); + not NOT_2757(g4568,g2904); + not NOT_2758(I7386,g3013); + not NOT_2759(g5665,g4748); + not NOT_2760(g9109,I15717); + not NOT_2761(g5051,I9407); + not NOT_2762(g6335,I11332); + not NOT_2763(g6831,I12364); + not NOT_2764(g9309,I16043); + not NOT_2765(g3531,g1616); + not NOT_2766(g5127,I9525); + not NOT_2767(g2674,g1675); + not NOT_2768(g6288,I11191); + not NOT_2769(g6382,I11473); + not NOT_2770(I16161,g9363); + not NOT_2771(g8179,I14416); + not NOT_2772(I9018,g3872); + not NOT_2773(g3743,g1776); + not NOT_2774(I7599,g2734); + not NOT_2775(I15924,g9207); + not NOT_2776(I6015,g437); + not NOT_2777(I12400,g6767); + not NOT_2778(g4357,g3679); + not NOT_2779(g5146,I9564); + not NOT_2780(g6805,I12286); + not NOT_2781(g5633,g4895); + not NOT_2782(I11218,g6161); + not NOT_2783(I12214,g6507); + not NOT_2784(g7781,I14214); + not NOT_2785(g2238,I5975); + not NOT_2786(g2332,g926); + not NOT_2787(I10430,g5211); + not NOT_2788(I13837,g7324); + not NOT_2789(g3856,I7371); + not NOT_2790(g2680,g1665); + not NOT_2791(I14430,g7836); + not NOT_2792(g2209,I5926); + not NOT_2793(g2353,g871); + not NOT_2794(I9493,g4426); + not NOT_2795(g4929,g4120); + not NOT_2796(g9201,g9183); + not NOT_2797(I12328,g6760); + not NOT_2798(I15753,g9080); + not NOT_2799(g5696,I10207); + not NOT_2800(g8882,I15222); + not NOT_2801(g1945,g1081); + not NOT_2802(g6947,I12652); + not NOT_2803(g7510,I13710); + not NOT_2804(g7245,I13193); + not NOT_2805(g6798,I12265); + not NOT_2806(I12538,g6606); + not NOT_2807(g1738,g741); + not NOT_2808(g3074,I6800); + not NOT_2809(I16043,g9285); + not NOT_2810(g5732,I10253); + not NOT_2811(g7291,I13305); + not NOT_2812(g3992,I7723); + not NOT_2813(I14035,g7310); + not NOT_2814(I15199,g8792); + not NOT_2815(I10684,g5258); + not NOT_2816(I11455,g6087); + not NOT_2817(g4626,I8793); + not NOT_2818(I8233,g3588); + not NOT_2819(I11470,g6095); + not NOT_2820(g5240,I9752); + not NOT_2821(g7344,g7150); + not NOT_2822(I13617,g7276); + not NOT_2823(g5072,g4457); + not NOT_2824(g9098,I15684); + not NOT_2825(I13915,g7360); + not NOT_2826(g8799,I15007); + not NOT_2827(I12241,g6640); + not NOT_2828(I14142,g7551); + not NOT_2829(g1907,g52); + not NOT_2830(g5472,I9892); + not NOT_2831(I9021,g4489); + not NOT_2832(g6873,I12490); + not NOT_2833(g7207,I13137); + not NOT_2834(g6632,I11890); + not NOT_2835(g6095,I10719); + not NOT_2836(g3080,g1679); + not NOT_2837(g8674,I14816); + not NOT_2838(g6037,I10646); + not NOT_2839(g3573,g2424); + not NOT_2840(I15696,g9050); + not NOT_2841(g3863,I7392); + not NOT_2842(I5789,g1524); + not NOT_2843(g1959,g1252); + not NOT_2844(g2901,g2284); + not NOT_2845(g7259,g7060); + not NOT_2846(g6653,I11939); + not NOT_2847(I13277,g7078); + not NOT_2848(g6102,g5345); + not NOT_2849(g6208,I10965); + not NOT_2850(g6302,I11233); + not NOT_2851(g8541,g8094); + not NOT_2852(I13075,g6958); + not NOT_2853(g2511,g1328); + not NOT_2854(I7061,g2457); + not NOT_2855(g6869,I12478); + not NOT_2856(g1876,g77); + not NOT_2857(I12771,g6735); + not NOT_2858(I11467,g6064); + not NOT_2859(I11494,g6037); + not NOT_2860(I13595,g7216); + not NOT_2861(g7488,g7225); + not NOT_2862(I12235,g6634); + not NOT_2863(g2092,g1225); + not NOT_2864(g5434,g5112); + not NOT_2865(I10193,g4670); + not NOT_2866(I11037,g5299); + not NOT_2867(I14130,g7592); + not NOT_2868(I14193,g7532); + not NOT_2869(g6752,I12131); + not NOT_2870(g5147,I9567); + not NOT_2871(I13782,g7498); + not NOT_2872(I11984,g6246); + not NOT_2873(g8802,I15014); + not NOT_2874(I11419,g5835); + not NOT_2875(I6428,g1818); + not NOT_2876(g9019,I15481); + not NOT_2877(g9362,I16122); + not NOT_2878(I13419,g7277); + not NOT_2879(g3857,I7374); + not NOT_2880(g7951,I14288); + not NOT_2881(I8706,g3828); + not NOT_2882(g3976,I7697); + not NOT_2883(I15225,g8689); + not NOT_2884(I15708,g9072); + not NOT_2885(I13822,g7459); + not NOT_2886(I10475,g5529); + not NOT_2887(I9301,g4295); + not NOT_2888(g7114,I12930); + not NOT_2889(I11266,g5794); + not NOT_2890(g4661,I8898); + not NOT_2891(g6786,I12229); + not NOT_2892(I7145,g2501); + not NOT_2893(I6564,g2073); + not NOT_2894(g4075,I7856); + not NOT_2895(I5945,g333); + not NOT_2896(I8787,g4012); + not NOT_2897(g4475,g3818); + not NOT_2898(g5596,g4841); + not NOT_2899(g1663,g1416); + not NOT_2900(I6826,g2185); + not NOT_2901(g6364,I11419); + not NOT_2902(g7870,I14270); + not NOT_2903(g5013,I9341); + not NOT_2904(g4627,I8796); + not NOT_2905(I5709,g901); + not NOT_2906(g8511,I14646); + not NOT_2907(g9086,I15648); + not NOT_2908(g1824,I5706); + not NOT_2909(I5478,g1148); + not NOT_2910(g6296,I11215); + not NOT_2911(I11194,g6243); + not NOT_2912(g4646,I8853); + not NOT_2913(I7107,g2480); + not NOT_2914(g2623,g1585); + not NOT_2915(g6725,I12091); + not NOT_2916(I9585,g4697); + not NOT_2917(I10347,g5706); + not NOT_2918(I10253,g5240); + not NOT_2919(g5820,I10485); + not NOT_2920(I7359,g2871); + not NOT_2921(g9185,I15833); + not NOT_2922(g4084,I7875); + not NOT_2923(g4603,I8724); + not NOT_2924(I5435,g1461); + not NOT_2925(g7336,I13428); + not NOT_2926(I13524,g7151); + not NOT_2927(I15657,g9059); + not NOT_2928(g9385,I16173); + not NOT_2929(g8864,I15178); + not NOT_2930(I15068,g8638); + not NOT_2931(g7768,I14175); + not NOT_2932(g1590,I5466); + not NOT_2933(g1877,g595); + not NOT_2934(I11401,g5828); + not NOT_2935(g6553,I11725); + not NOT_2936(g9070,I15604); + not NOT_2937(g7594,I13927); + not NOT_2938(I8745,g3929); + not NOT_2939(I10236,g5014); + not NOT_2940(g2375,I6223); + not NOT_2941(g2871,I6587); + not NOT_2942(I12725,g6565); + not NOT_2943(g3220,g1889); + not NOT_2944(I15337,g8802); + not NOT_2945(g2651,I6437); + not NOT_2946(I6217,g105); + not NOT_2947(g6012,g5367); + not NOT_2948(g1556,g65); + not NOT_2949(I13118,g7068); + not NOT_2950(g3779,g2511); + not NOT_2951(g4583,g2924); + not NOT_2952(I11864,g5753); + not NOT_2953(I14175,g7718); + not NOT_2954(g2285,I6039); + not NOT_2955(I7115,g2547); + not NOT_2956(g6189,I10930); + not NOT_2957(I8808,g4014); + not NOT_2958(g6389,I11494); + not NOT_2959(I7811,g3019); + not NOT_2960(I16158,g9363); + not NOT_2961(I9669,g4909); + not NOT_2962(I13749,g7313); + not NOT_2963(g7887,I14273); + not NOT_2964(g7122,I12958); + not NOT_2965(g4919,g4104); + not NOT_2966(g3977,g3160); + not NOT_2967(I6571,g1711); + not NOT_2968(g6888,I12535); + not NOT_2969(I6048,g387); + not NOT_2970(I10516,g5241); + not NOT_2971(g5581,g4969); + not NOT_2972(I14264,g7698); + not NOT_2973(g3588,g2379); + not NOT_2974(I9531,g4463); + not NOT_2975(g2184,I5911); + not NOT_2976(I6711,g1726); + not NOT_2977(g6371,I11440); + not NOT_2978(g1785,g615); + not NOT_2979(g6787,I12232); + not NOT_2980(g8968,I15408); + not NOT_2981(g2384,I6254); + not NOT_2982(I11704,g6076); + not NOT_2983(g5060,I9422); + not NOT_2984(I13704,g7352); + not NOT_2985(I11305,g5807); + not NOT_2986(g9331,g9321); + not NOT_2987(g6956,I12669); + not NOT_2988(I13305,g7168); + not NOT_2989(g5460,g4684); + not NOT_2990(g5597,g4969); + not NOT_2991(I11254,g5793); + not NOT_2992(g7433,I13562); + not NOT_2993(g6675,I11981); + not NOT_2994(g4616,I8763); + not NOT_2995(I11809,g6285); + not NOT_2996(I11900,g5847); + not NOT_2997(g4561,g2900); + not NOT_2998(g3051,I6791); + not NOT_2999(I13900,g7356); + not NOT_3000(I6333,g1345); + not NOT_3001(I13466,g7122); + not NOT_3002(I9505,g4300); + not NOT_3003(g1563,g639); + not NOT_3004(g2424,g1329); + not NOT_3005(I12141,g5897); + not NOT_3006(g2795,g1801); + not NOT_3007(I8449,g3630); + not NOT_3008(I12652,g6664); + not NOT_3009(g9087,I15651); + not NOT_3010(g9105,I15705); + not NOT_3011(g5784,I10397); + not NOT_3012(g4004,g2845); + not NOT_3013(I15010,g8584); + not NOT_3014(I15918,g9211); + not NOT_3015(g9305,I16033); + not NOT_3016(g5739,I10274); + not NOT_3017(I8865,g4032); + not NOT_3018(g7496,I13666); + not NOT_3019(g4527,g3466); + not NOT_3020(g7550,I13834); + not NOT_3021(g6297,I11218); + not NOT_3022(g3999,I7738); + not NOT_3023(g4647,I8856); + not NOT_3024(g8175,I14406); + not NOT_3025(I8715,g3903); + not NOT_3026(I7595,g2573); + not NOT_3027(g8871,I15199); + not NOT_3028(g3633,I7104); + not NOT_3029(g2672,I6471); + not NOT_3030(g2231,I5954); + not NOT_3031(g7137,I12993); + not NOT_3032(I14208,g7711); + not NOT_3033(g8651,I14747); + not NOT_3034(g2477,g25); + not NOT_3035(I16017,g9264); + not NOT_3036(g2643,g1589); + not NOT_3037(g6684,I11998); + not NOT_3038(I12135,g5988); + not NOT_3039(g6639,g6198); + not NOT_3040(g5668,I10151); + not NOT_3041(g6338,I11341); + not NOT_3042(I15598,g8991); + not NOT_3043(I6509,g1684); + not NOT_3044(g5294,g5087); + not NOT_3045(g4503,I8565); + not NOT_3046(g5840,I10535); + not NOT_3047(g6963,I12690); + not NOT_3048(I7978,g3574); + not NOT_3049(g6791,I12244); + not NOT_3050(g2205,g13); + not NOT_3051(I12406,g6773); + not NOT_3052(g6309,I11254); + not NOT_3053(g5190,g4938); + not NOT_3054(g4925,g4114); + not NOT_3055(I5657,g921); + not NOT_3056(I12361,g6765); + not NOT_3057(I7417,g3659); + not NOT_3058(g3732,g2533); + not NOT_3059(I6018,g462); + not NOT_3060(g1557,I5432); + not NOT_3061(g2634,g1578); + not NOT_3062(g3753,g2540); + not NOT_3063(I10614,g5302); + not NOT_3064(g6808,I12295); + not NOT_3065(I9573,g4701); + not NOT_3066(g9045,I15539); + not NOT_3067(I10436,g5213); + not NOT_3068(g724,I5401); + not NOT_3069(I14614,g7832); + not NOT_3070(g7266,I13238); + not NOT_3071(g2551,g1360); + not NOT_3072(I14436,g7904); + not NOT_3073(g2104,I5879); + not NOT_3074(g3944,I7635); + not NOT_3075(I11693,g6076); + not NOT_3076(g5156,I9594); + not NOT_3077(g9373,I16145); + not NOT_3078(g9091,I15663); + not NOT_3079(g4120,I7967); + not NOT_3080(I16023,g9267); + not NOT_3081(I7629,g3633); + not NOT_3082(g6759,I12148); + not NOT_3083(I10274,g5524); + not NOT_3084(I14073,g7627); + not NOT_3085(I6093,g468); + not NOT_3086(I8268,g2801); + not NOT_3087(I13009,g6935); + not NOT_3088(g1948,g1250); + not NOT_3089(g8809,I15065); + not NOT_3090(g7142,I13012); + not NOT_3091(g6201,I10946); + not NOT_3092(g2926,g2325); + not NOT_3093(g7342,I13444); + not NOT_3094(I11008,g5693); + not NOT_3095(g9369,I16135); + not NOT_3096(I10565,g5402); + not NOT_3097(g6957,I12672); + not NOT_3098(g7255,I13209); + not NOT_3099(g4617,I8766); + not NOT_3100(I8452,g2816); + not NOT_3101(g649,I5380); + not NOT_3102(g8672,I14810); + not NOT_3103(g3316,I6930); + not NOT_3104(g9059,I15571); + not NOT_3105(I11476,g6194); + not NOT_3106(I11485,g6137); + not NOT_3107(I7800,g2605); + not NOT_3108(g6449,I11596); + not NOT_3109(g2273,I6024); + not NOT_3110(g1814,g630); + not NOT_3111(g6865,I12466); + not NOT_3112(I7554,g2573); + not NOT_3113(g7097,I12881); + not NOT_3114(g7726,I14049); + not NOT_3115(I13454,g7147); + not NOT_3116(g7497,I13669); + not NOT_3117(I10292,g5577); + not NOT_3118(g2044,I5861); + not NOT_3119(g7354,I13478); + not NOT_3120(g5163,I9615); + not NOT_3121(g6604,I11818); + not NOT_3122(g5810,I10463); + not NOT_3123(I13570,g7198); + not NOT_3124(I6021,g495); + not NOT_3125(g6498,I11666); + not NOT_3126(g2269,I6012); + not NOT_3127(g1773,g610); + not NOT_3128(I8486,g2824); + not NOT_3129(I10409,g5204); + not NOT_3130(g4547,g3466); + not NOT_3131(g5053,g4438); + not NOT_3132(g6833,I12370); + not NOT_3133(I8730,g3987); + not NOT_3134(g3533,g2397); + not NOT_3135(g5453,g4680); + not NOT_3136(g2862,I6578); + not NOT_3137(I15631,g9003); + not NOT_3138(I12463,g6682); + not NOT_3139(g4892,I9250); + not NOT_3140(I11239,g6173); + not NOT_3141(g2712,g2039); + not NOT_3142(I14136,g7633); + not NOT_3143(g9227,I15947); + not NOT_3144(g1769,I5609); + not NOT_3145(I9126,g3870); + not NOT_3146(I7902,g2709); + not NOT_3147(g2543,g1348); + not NOT_3148(g6896,I12561); + not NOT_3149(I13238,g6900); + not NOT_3150(I9760,g4838); + not NOT_3151(g3013,I6764); + not NOT_3152(g1918,g822); + not NOT_3153(g1967,g1432); + not NOT_3154(g7112,I12924); + not NOT_3155(g7267,I13241); + not NOT_3156(I5966,g278); + not NOT_3157(g5157,I9597); + not NOT_3158(g2961,I6711); + not NOT_3159(g4738,I9050); + not NOT_3160(g8754,g8524); + not NOT_3161(I5471,g1029); + not NOT_3162(g6019,g5367); + not NOT_3163(g6362,I11413); + not NOT_3164(I13185,g7020); + not NOT_3165(I6723,g2052); + not NOT_3166(I13092,g7047); + not NOT_3167(g7293,I13311); + not NOT_3168(g2927,I6663); + not NOT_3169(I12514,g6605); + not NOT_3170(I5948,g378); + not NOT_3171(g3936,I7605); + not NOT_3172(I13518,g7141); + not NOT_3173(g7129,I12973); + not NOT_3174(I15571,g8982); + not NOT_3175(I15308,g8799); + not NOT_3176(g1822,g761); + not NOT_3177(g7329,I13407); + not NOT_3178(g7761,I14154); + not NOT_3179(g4907,g4087); + not NOT_3180(g2885,g2239); + not NOT_3181(g4035,I7814); + not NOT_3182(g2660,I6451); + not NOT_3183(g2946,g2365); + not NOT_3184(I12421,g6486); + not NOT_3185(I14109,g7590); + not NOT_3186(g7727,I14052); + not NOT_3187(I15495,g8973); + not NOT_3188(g4482,I8520); + not NOT_3189(I7964,g3488); + not NOT_3190(g2903,g2286); + not NOT_3191(g5626,g4748); + not NOT_3192(g7592,I13921); + not NOT_3193(I8766,g3960); + not NOT_3194(I9588,g4704); + not NOT_3195(g6486,I11648); + not NOT_3196(I8105,g3339); + not NOT_3197(I10283,g5643); + not NOT_3198(g4656,I8883); + not NOT_3199(g7746,I14109); + not NOT_3200(g6730,I12098); + not NOT_3201(g9188,I15842); + not NOT_3202(g7221,I13157); + not NOT_3203(I15687,g9071); + not NOT_3204(g9388,I16180); + not NOT_3205(g3922,I7561); + not NOT_3206(I15985,g9237); + not NOT_3207(I14492,g7829); + not NOT_3208(g9216,I15924); + not NOT_3209(g6385,I11482); + not NOT_3210(g6881,I12514); + not NOT_3211(I12541,g6614); + not NOT_3212(I8748,g3997); + not NOT_3213(g4915,g4094); + not NOT_3214(I11215,g6156); + not NOT_3215(g9028,I15498); + not NOT_3216(g6070,g5317); + not NOT_3217(I11729,g5772); + not NOT_3218(g1895,I5775); + not NOT_3219(g6897,I12564); + not NOT_3220(g1837,g1007); + not NOT_3221(I13577,g7186); + not NOT_3222(g9030,I15504); + not NOT_3223(g6025,g5367); + not NOT_3224(I6673,g2246); + not NOT_3225(g6425,I11556); + not NOT_3226(I14381,g7596); + not NOT_3227(I13728,g7439); + not NOT_3228(g5683,I10180); + not NOT_3229(I12325,g6755); + not NOT_3230(I9633,g4800); + not NOT_3231(g2288,I6048); + not NOT_3232(I7118,g2484); + not NOT_3233(I7167,g2505); + not NOT_3234(I14091,g7589); + not NOT_3235(g2382,I6248); + not NOT_3236(g7068,g6556); + not NOT_3237(I12829,g6441); + not NOT_3238(I12535,g6599); + not NOT_3239(I15669,g9045); + not NOT_3240(g3784,g1768); + not NOT_3241(I10796,g5397); + not NOT_3242(g8014,g7564); + not NOT_3243(I9103,g4374); + not NOT_3244(I12358,g6761); + not NOT_3245(I13438,g7143); + not NOT_3246(g3739,g2536); + not NOT_3247(I6669,g1698); + not NOT_3248(g4663,I8904); + not NOT_3249(I6368,g20); + not NOT_3250(g2916,I6646); + not NOT_3251(I15842,g9171); + not NOT_3252(I8373,g3783); + not NOT_3253(g5735,I10262); + not NOT_3254(g1788,g984); + not NOT_3255(g3995,I7728); + not NOT_3256(g3937,g2845); + not NOT_3257(g8903,I15315); + not NOT_3258(g3079,g1603); + not NOT_3259(g5782,I10393); + not NOT_3260(g4002,g3192); + not NOT_3261(I10390,g5195); + not NOT_3262(I13906,g7358); + not NOT_3263(I11284,g5795); + not NOT_3264(I13284,g7156); + not NOT_3265(g6131,g5529); + not NOT_3266(g7576,I13873); + not NOT_3267(g6331,I11320); + not NOT_3268(g5075,I9443); + not NOT_3269(g3840,I7323); + not NOT_3270(g2947,I6695); + not NOT_3271(g7716,I14025); + not NOT_3272(g7149,I13031); + not NOT_3273(g2798,g1787); + not NOT_3274(I11622,g5847); + not NOT_3275(g1842,g764); + not NOT_3276(g7349,I13463); + not NOT_3277(g6635,I11897); + not NOT_3278(I13622,g7279); + not NOT_3279(g9108,I15714); + not NOT_3280(g3390,I6949); + not NOT_3281(g9308,I16040); + not NOT_3282(I8868,g4035); + not NOT_3283(g5627,g4673); + not NOT_3284(g6682,I11994); + not NOT_3285(g6766,I12167); + not NOT_3286(g6087,I10705); + not NOT_3287(I12173,g5918); + not NOT_3288(g8178,I14413); + not NOT_3289(g6305,I11242); + not NOT_3290(g6801,I12274); + not NOT_3291(I6856,g449); + not NOT_3292(g4590,g2932); + not NOT_3293(I10522,g5243); + not NOT_3294(I15830,g9180); + not NOT_3295(I8718,g3909); + not NOT_3296(g3501,g2185); + not NOT_3297(I9443,g4564); + not NOT_3298(g5526,g5086); + not NOT_3299(g7198,I13126); + not NOT_3300(g4657,I8886); + not NOT_3301(g7747,I14112); + not NOT_3302(g7855,I14267); + not NOT_3303(g9217,I15927); + not NOT_3304(g2873,g1779); + not NOT_3305(g1854,g773); + not NOT_3306(g2632,g1576); + not NOT_3307(I9116,g4297); + not NOT_3308(I8261,g3643); + not NOT_3309(g4556,g2895); + not NOT_3310(g9066,I15592); + not NOT_3311(I13653,g7246); + not NOT_3312(g5084,g4477); + not NOT_3313(g5603,g4938); + not NOT_3314(g1941,I5812); + not NOT_3315(I6474,g1941); + not NOT_3316(g2495,g26); + not NOT_3317(I8793,g3923); + not NOT_3318(I9034,g4317); + not NOT_3319(g2653,I6443); + not NOT_3320(g7241,I13185); + not NOT_3321(g6755,I12138); + not NOT_3322(g2208,I5923); + not NOT_3323(g3942,I7629); + not NOT_3324(I12760,g6685); + not NOT_3325(g5439,g5058); + not NOT_3326(g4928,g4119); + not NOT_3327(I10862,g5364); + not NOT_3328(g6226,g5658); + not NOT_3329(g4930,g4121); + not NOT_3330(g8916,I15334); + not NOT_3331(g2869,g2224); + not NOT_3332(I15610,g8995); + not NOT_3333(I15705,g9068); + not NOT_3334(I10949,g5513); + not NOT_3335(g9048,I15546); + not NOT_3336(g4899,g4080); + not NOT_3337(g4464,I8486); + not NOT_3338(I9347,g3896); + not NOT_3339(g1708,I5552); + not NOT_3340(I9681,g4811); + not NOT_3341(g7524,I13752); + not NOT_3342(g6173,I10882); + not NOT_3343(g2752,g2389); + not NOT_3344(g3954,I7655); + not NOT_3345(g6373,I11446); + not NOT_3346(I10702,g5529); + not NOT_3347(I15678,g9060); + not NOT_3348(g9133,I15773); + not NOT_3349(g2917,g2309); + not NOT_3350(g9333,g9323); + not NOT_3351(g7119,I12945); + not NOT_3352(g1812,I5682); + not NOT_3353(g7319,g7124); + not NOT_3354(I14904,g8629); + not NOT_3355(I8721,g3918); + not NOT_3356(g1958,g786); + not NOT_3357(g2265,I6000); + not NOT_3358(g6369,I11434); + not NOT_3359(g7352,I13472); + not NOT_3360(g7577,I13876); + not NOT_3361(g6007,g5494); + not NOT_3362(I12927,g7014); + not NOT_3363(g9196,g9185); + not NOT_3364(g7717,I14028); + not NOT_3365(g6059,g5317); + not NOT_3366(g6868,I12475); + not NOT_3367(g5616,g4938); + not NOT_3368(g3568,g1935); + not NOT_3369(g8873,I15205); + not NOT_3370(I13484,g7128); + not NOT_3371(g1829,I5715); + not NOT_3372(g8632,I14712); + not NOT_3373(I5842,g68); + not NOT_3374(I15065,g8636); + not NOT_3375(g6767,I12170); + not NOT_3376(g2364,I6192); + not NOT_3377(I12649,g6457); + not NOT_3378(g2233,I5960); + not NOT_3379(I10183,g5129); + not NOT_3380(g1911,I5789); + not NOT_3381(I10397,g5200); + not NOT_3382(g7211,I13147); + not NOT_3383(I5392,g694); + not NOT_3384(g3912,g3192); + not NOT_3385(I14397,g7686); + not NOT_3386(g4089,I7888); + not NOT_3387(I12903,g6905); + not NOT_3388(g2454,I6294); + not NOT_3389(I11200,g6251); + not NOT_3390(g8869,I15193); + not NOT_3391(g4489,g2826); + not NOT_3392(g2770,g2210); + not NOT_3393(g6793,I12250); + not NOT_3394(I10509,g5237); + not NOT_3395(g9018,I15478); + not NOT_3396(g4557,g2896); + not NOT_3397(g5764,I10369); + not NOT_3398(g7599,g7450); + not NOT_3399(g9067,I15595); + not NOT_3400(g1974,g803); + not NOT_3401(I10933,g5668); + not NOT_3402(g7274,I13258); + not NOT_3403(I15218,g8801); + not NOT_3404(g6015,I10617); + not NOT_3405(g4071,I7850); + not NOT_3406(I6000,g202); + not NOT_3407(I7341,g2931); + not NOT_3408(g2532,I6358); + not NOT_3409(g8752,g8564); + not NOT_3410(g6227,I11018); + not NOT_3411(g3929,I7588); + not NOT_3412(I13921,g7362); + not NOT_3413(I6326,g1443); + not NOT_3414(I14851,g8630); + not NOT_3415(g8917,I15337); + not NOT_3416(g1796,g617); + not NOT_3417(g4242,I8161); + not NOT_3418(g7125,I12965); + not NOT_3419(g9093,I15669); + not NOT_3420(I8428,g3611); + not NOT_3421(g6246,I11055); + not NOT_3422(I7691,g3651); + not NOT_3423(I15160,g8631); + not NOT_3424(I13813,g7314); + not NOT_3425(g8042,I14325); + not NOT_3426(g5224,g5114); + not NOT_3427(g7280,I13274); + not NOT_3428(g8442,I14623); + not NOT_3429(g6721,g6257); + not NOT_3430(g8786,g8545); + not NOT_3431(g5120,I9512); + not NOT_3432(I12262,g6656); + not NOT_3433(g2389,g1230); + not NOT_3434(g9181,g9177); + not NOT_3435(g2706,g1821); + not NOT_3436(g7544,I13816); + not NOT_3437(I8826,g4023); + not NOT_3438(g9381,I16165); + not NOT_3439(I5812,g1243); + not NOT_3440(g7483,g7226); + not NOT_3441(I15915,g9194); + not NOT_3442(I9460,g3941); + not NOT_3443(I9597,g4738); + not NOT_3444(I6183,g6); + not NOT_3445(g4350,I8315); + not NOT_3446(g2888,I6608); + not NOT_3447(I6608,g1612); + not NOT_3448(g9197,g9186); + not NOT_3449(I6220,g126); + not NOT_3450(I10574,g5426); + not NOT_3451(g2371,g944); + not NOT_3452(I8910,g4200); + not NOT_3453(g2787,g1807); + not NOT_3454(g4438,I8446); + not NOT_3455(g7106,I12906); + not NOT_3456(I11732,g6076); + not NOT_3457(g5617,g4969); + not NOT_3458(g8770,g8545); + not NOT_3459(g6502,I11672); + not NOT_3460(I14205,g7710); + not NOT_3461(g7306,I13350); + not NOT_3462(g5789,I10412); + not NOT_3463(g4009,I7758); + not NOT_3464(g2956,g2375); + not NOT_3465(I16119,g9351); + not NOT_3466(I14311,g7566); + not NOT_3467(g7790,I14227); + not NOT_3468(g5516,g4924); + not NOT_3469(I15595,g8990); + not NOT_3470(g6940,I12639); + not NOT_3471(I5911,g216); + not NOT_3472(I8308,g3674); + not NOT_3473(g7061,g6650); + not NOT_3474(g7187,I13103); + not NOT_3475(I7311,g2879); + not NOT_3476(g5987,g5294); + not NOT_3477(g1849,I5732); + not NOT_3478(g3778,g2145); + not NOT_3479(I13692,g7343); + not NOT_3480(I13761,g7418); + not NOT_3481(g642,I5377); + not NOT_3482(I8883,g4198); + not NOT_3483(g7756,I14139); + not NOT_3484(g6388,I11491); + not NOT_3485(I10592,g5444); + not NOT_3486(g5299,I9804); + not NOT_3487(I9840,g4702); + not NOT_3488(g3735,g1961); + not NOT_3489(g4918,g4103); + not NOT_3490(g6216,I10987); + not NOT_3491(g1781,g622); + not NOT_3492(I6051,g440); + not NOT_3493(I7374,g3084); + not NOT_3494(I10780,g5445); + not NOT_3495(g8012,I14305); + not NOT_3496(I6127,g471); + not NOT_3497(I6451,g1895); + not NOT_3498(g6028,g5529); + not NOT_3499(I14780,g8284); + not NOT_3500(I12247,g6646); + not NOT_3501(g6671,I11971); + not NOT_3502(g7904,I14276); + not NOT_3503(g1797,g627); + not NOT_3504(g2639,g1583); + not NOT_3505(g7046,I12806); + not NOT_3506(I11329,g5825); + not NOT_3507(g3075,g2216); + not NOT_3508(g2963,g2383); + not NOT_3509(g4229,I8140); + not NOT_3510(I10350,g5707); + not NOT_3511(I13329,g7247); + not NOT_3512(g7446,I13595); + not NOT_3513(g7514,I13722); + not NOT_3514(g3949,I7644); + not NOT_3515(g2309,I6084); + not NOT_3516(g9101,I15693); + not NOT_3517(I7545,g3589); + not NOT_3518(I12388,g6403); + not NOT_3519(g9301,g9260); + not NOT_3520(g4822,I9177); + not NOT_3521(g7145,I13023); + not NOT_3522(g8029,I14318); + not NOT_3523(I7380,g3461); + not NOT_3524(g7345,I13451); + not NOT_3525(I12098,g5956); + not NOT_3526(g8787,g8564); + not NOT_3527(I16036,g9282); + not NOT_3528(I7832,g2768); + not NOT_3529(g5738,I10271); + not NOT_3530(g6826,I12349); + not NOT_3531(g7763,I14160); + not NOT_3532(g3526,g2185); + not NOT_3533(g8956,I15382); + not NOT_3534(g3998,g3097); + not NOT_3535(g8675,I14819); + not NOT_3536(g5709,g4841); + not NOT_3537(I8333,g3721); + not NOT_3538(g6741,I12117); + not NOT_3539(I15589,g8988); + not NOT_3540(g3084,I6820); + not NOT_3541(g3603,g2092); + not NOT_3542(I5377,g635); + not NOT_3543(g785,I5407); + not NOT_3544(g5478,g5025); + not NOT_3545(I13241,g7030); + not NOT_3546(I14413,g7723); + not NOT_3547(g1694,g21); + not NOT_3548(g7107,I12909); + not NOT_3549(g4921,g4202); + not NOT_3550(g7307,I13353); + not NOT_3551(g3850,I7353); + not NOT_3552(I15836,g9165); + not NOT_3553(g2957,g2376); + not NOT_3554(I8196,g3654); + not NOT_3555(g7159,I13051); + not NOT_3556(I7931,g2780); + not NOT_3557(g1852,g887); + not NOT_3558(g1923,I5801); + not NOT_3559(I6072,g1211); + not NOT_3560(g6108,g5345); + not NOT_3561(g7359,I13493); + not NOT_3562(I9250,g4134); + not NOT_3563(g5435,g5121); + not NOT_3564(g6308,I11251); + not NOT_3565(g5517,g4925); + not NOT_3566(g5690,g4748); + not NOT_3567(I9363,g4258); + not NOT_3568(g7223,I13161); + not NOT_3569(g5482,g4915); + not NOT_3570(g1701,I5545); + not NOT_3571(g6883,I12520); + not NOT_3572(I9053,g4327); + not NOT_3573(g8684,I14848); + not NOT_3574(g3583,g2128); + not NOT_3575(g4895,g4078); + not NOT_3576(g8639,I14725); + not NOT_3577(I6443,g1774); + not NOT_3578(g7757,I14142); + not NOT_3579(I7905,g2863); + not NOT_3580(I11683,g5988); + not NOT_3581(g4620,I8775); + not NOT_3582(g8791,g8585); + not NOT_3583(g4462,I8480); + not NOT_3584(g2498,I6333); + not NOT_3585(g6217,g5649); + not NOT_3586(g3919,I7554); + not NOT_3587(g6758,I12145); + not NOT_3588(g6589,g6083); + not NOT_3589(g1886,I5766); + not NOT_3590(I7204,g2520); + not NOT_3591(I16009,g9261); + not NOT_3592(I15616,g8997); + not NOT_3593(I5781,g979); + not NOT_3594(g2833,I6561); + not NOT_3595(g7522,I13746); + not NOT_3596(g7115,I12933); + not NOT_3597(g7251,I13203); + not NOT_3598(g8808,I15062); + not NOT_3599(I6434,g1830); + not NOT_3600(g3952,I7651); + not NOT_3601(g7315,I13373); + not NOT_3602(g7811,I14238); + not NOT_3603(g7047,g6498); + not NOT_3604(g9368,I16132); + not NOT_3605(I8994,g4565); + not NOT_3606(I10046,g4840); + not NOT_3607(g6861,I12454); + not NOT_3608(g6365,I11422); + not NOT_3609(g2584,g1646); + not NOT_3610(I14046,g7492); + not NOT_3611(g4788,I9103); + not NOT_3612(g6048,g5246); + not NOT_3613(I11515,g5897); + not NOT_3614(I11991,g5939); + not NOT_3615(g2539,I6363); + not NOT_3616(g2896,g2269); + not NOT_3617(g3561,I7041); + not NOT_3618(g9058,I15568); + not NOT_3619(I13515,g7152); + not NOT_3620(g8759,g8524); + not NOT_3621(I13882,g7350); + not NOT_3622(g6711,I12059); + not NOT_3623(g1870,I5751); + not NOT_3624(I11407,g5841); + not NOT_3625(I13407,g7271); + not NOT_3626(g1825,I5709); + not NOT_3627(g6827,I12352); + not NOT_3628(g3527,g1616); + not NOT_3629(g8957,I15385); + not NOT_3630(g6133,I10766); + not NOT_3631(g6333,I11326); + not NOT_3632(I14282,g7709); + not NOT_3633(g3647,g2424); + not NOT_3634(I9929,g5052); + not NOT_3635(g2162,I5901); + not NOT_3636(I7973,g3071); + not NOT_3637(g2268,I6009); + not NOT_3638(g6774,I12193); + not NOT_3639(g2362,I6186); + not NOT_3640(I12629,g6523); + not NOT_3641(g3764,g2039); + not NOT_3642(g4085,I7878); + not NOT_3643(I12451,g6524); + not NOT_3644(g6846,I12409); + not NOT_3645(I12472,g6591); + not NOT_3646(I12220,g6645); + not NOT_3647(g8865,I15181); + not NOT_3648(g3546,I7029); + not NOT_3649(g5002,g4335); + not NOT_3650(I14743,g8174); + not NOT_3651(I8847,g4025); + not NOT_3652(g2052,I5865); + not NOT_3653(g5402,g5000); + not NOT_3654(g5824,I10497); + not NOT_3655(g7595,I13930); + not NOT_3656(g6803,I12280); + not NOT_3657(g2452,g23); + not NOT_3658(g8604,I14677); + not NOT_3659(g3503,g2407); + not NOT_3660(g3970,g2845); + not NOT_3661(g1768,g605); + not NOT_3662(g9074,I15616); + not NOT_3663(g6538,I11714); + not NOT_3664(I13441,g7146); + not NOT_3665(I5852,g1202); + not NOT_3666(I5923,g252); + not NOT_3667(I11206,g6133); + not NOT_3668(I7323,g2905); + not NOT_3669(g6780,I12211); + not NOT_3670(g6509,I11689); + not NOT_3671(g1806,I5670); + not NOT_3672(g1943,g1025); + not NOT_3673(I6820,g1707); + not NOT_3674(g7243,I13189); + not NOT_3675(I6936,g1878); + not NOT_3676(I11725,g6036); + not NOT_3677(I12776,g6739); + not NOT_3678(I13725,g7437); + not NOT_3679(g2728,g2256); + not NOT_3680(g2486,g959); + not NOT_3681(g6662,I11964); + not NOT_3682(g6018,g5494); + not NOT_3683(I6317,g1339); + not NOT_3684(g1887,g83); + not NOT_3685(I16176,g9385); + not NOT_3686(I13758,g7414); + not NOT_3687(I15693,g9048); + not NOT_3688(I12355,g6756); + not NOT_3689(I13435,g7170); + not NOT_3690(g1934,g154); + not NOT_3691(g2185,I5914); + not NOT_3692(g6290,I11197); + not NOT_3693(g4640,I8835); + not NOT_3694(g2881,g2235); + not NOT_3695(I7648,g2712); + not NOT_3696(I16154,g9370); + not NOT_3697(I7875,g3819); + not NOT_3698(I12370,g6758); + not NOT_3699(g4031,I7804); + not NOT_3700(g7130,I12976); + not NOT_3701(I7655,g2734); + not NOT_3702(g3617,g1655); + not NOT_3703(g6093,g5345); + not NOT_3704(I11744,g6120); + not NOT_3705(g7542,I13810); + not NOT_3706(g2470,g42); + not NOT_3707(g7330,I13410); + not NOT_3708(g2897,g2270); + not NOT_3709(g6493,I11659); + not NOT_3710(g6256,I11069); + not NOT_3711(I12151,g5847); + not NOT_3712(g6816,I12319); + not NOT_3713(g5785,I10400); + not NOT_3714(I12996,g6934); + not NOT_3715(g4005,I7746); + not NOT_3716(I13940,g7355); + not NOT_3717(I8101,g3259); + not NOT_3718(I8817,g3935); + not NOT_3719(I14662,g7783); + not NOT_3720(g3987,I7716); + not NOT_3721(g3771,g1853); + not NOT_3722(I11848,g6159); + not NOT_3723(I9782,g4720); + not NOT_3724(I11398,g5823); + not NOT_3725(I12367,g6754); + not NOT_3726(I12394,g6759); + not NOT_3727(I6060,g580); + not NOT_3728(g6381,I11470); + not NOT_3729(g4286,g3790); + not NOT_3730(I11652,g5939); + not NOT_3731(g6847,I12412); + not NOT_3732(I6460,g2104); + not NOT_3733(I6597,g1970); + not NOT_3734(I10482,g5228); + not NOT_3735(g3547,g2345); + not NOT_3736(g6700,g6244); + not NOT_3737(g6397,I11512); + not NOT_3738(I10552,g5396); + not NOT_3739(I8751,g4009); + not NOT_3740(g3892,g3131); + not NOT_3741(I11263,g5784); + not NOT_3742(I10204,g5060); + not NOT_3743(I9627,g4777); + not NOT_3744(g2131,g1300); + not NOT_3745(I6784,g2052); + not NOT_3746(g2006,g806); + not NOT_3747(g2331,g933); + not NOT_3748(I12319,g6741); + not NOT_3749(g4733,g4202); + not NOT_3750(I11332,g5832); + not NOT_3751(g5844,I10545); + not NOT_3752(I13332,g7241); + not NOT_3753(g6263,g5688); + not NOT_3754(g4270,g2573); + not NOT_3755(I5972,g356); + not NOT_3756(g2635,g1579); + not NOT_3757(g1807,g619); + not NOT_3758(g6950,I12659); + not NOT_3759(g8881,g8683); + not NOT_3760(g9126,I15756); + not NOT_3761(g4610,I8745); + not NOT_3762(g2105,g1444); + not NOT_3763(I7667,g3052); + not NOT_3764(g3945,g3097); + not NOT_3765(I12059,g5874); + not NOT_3766(I10786,g5452); + not NOT_3767(I12025,g5918); + not NOT_3768(g2487,I6323); + not NOT_3769(I9084,g4358); + not NOT_3770(g5731,I10250); + not NOT_3771(I9603,g4719); + not NOT_3772(I13962,g7413); + not NOT_3773(I14786,g8606); + not NOT_3774(g7512,I13716); + not NOT_3775(I9484,g3957); + not NOT_3776(g3991,g3160); + not NOT_3777(g7090,g6525); + not NOT_3778(I6294,g1330); + not NOT_3779(I9850,g4798); + not NOT_3780(g594,I5368); + not NOT_3781(I10356,g5711); + not NOT_3782(I15382,g8883); + not NOT_3783(I11500,g6219); + not NOT_3784(g6562,I11736); + not NOT_3785(g7366,I13512); + not NOT_3786(g4069,I7844); + not NOT_3787(I15519,g9019); + not NOT_3788(g5071,g4438); + not NOT_3789(g3078,g1603); + not NOT_3790(g3340,g2474); + not NOT_3791(I10826,g5434); + not NOT_3792(I15675,g9058); + not NOT_3793(I10380,g5448); + not NOT_3794(g5705,g4841); + not NOT_3795(g5471,I9889); + not NOT_3796(g7056,g6520); + not NOT_3797(g6631,I11887); + not NOT_3798(g4540,g2882); + not NOT_3799(g2226,g1320); + not NOT_3800(I7548,g3590); + not NOT_3801(I10998,g5672); + not NOT_3802(I12044,g5847); + not NOT_3803(g6723,I12085); + not NOT_3804(g7456,g7174); + not NOT_3805(I13048,g6956); + not NOT_3806(g7529,I13767); + not NOT_3807(g6257,g5685); + not NOT_3808(g3959,g3097); + not NOT_3809(g1815,g760); + not NOT_3810(g6101,g5317); + not NOT_3811(g7148,I13028); + not NOT_3812(g6817,I12322); + not NOT_3813(g9183,g9161); + not NOT_3814(g6301,I11230); + not NOT_3815(g7348,I13460); + not NOT_3816(g3517,g2283); + not NOT_3817(I11004,g5613); + not NOT_3818(g3082,g1680); + not NOT_3819(g9383,g9380); + not NOT_3820(I8772,g4011); + not NOT_3821(I7804,g3029); + not NOT_3822(g9220,g9205); + not NOT_3823(I11221,g6167); + not NOT_3824(g7155,I13039); + not NOT_3825(g7355,I13481); + not NOT_3826(g6605,I11821); + not NOT_3827(I7792,g3038); + not NOT_3828(I12301,g6703); + not NOT_3829(g8678,I14828); + not NOT_3830(g1726,g158); + not NOT_3831(g3876,g3466); + not NOT_3832(g8131,I14378); + not NOT_3833(I12120,g5939); + not NOT_3834(g2373,I6217); + not NOT_3835(g2091,g819); + not NOT_3836(g8406,I14614); + not NOT_3837(I13613,g7273); + not NOT_3838(g1960,g1268); + not NOT_3839(g5814,I10475); + not NOT_3840(g7260,g7064); + not NOT_3841(g6751,I12128); + not NOT_3842(g5150,I9576); + not NOT_3843(I8011,g3225); + not NOT_3844(I9561,g4695); + not NOT_3845(g8682,I14844); + not NOT_3846(g8766,g8545); + not NOT_3847(g5038,g4457); + not NOT_3848(I5395,g698); + not NOT_3849(I8856,g3955); + not NOT_3850(g2283,I6033); + not NOT_3851(g7063,I12826); + not NOT_3852(I12699,g6504); + not NOT_3853(g9161,I15803); + not NOT_3854(I16138,g9358); + not NOT_3855(I13106,g7056); + not NOT_3856(g9361,I16119); + not NOT_3857(g2007,g1223); + not NOT_3858(I13605,g7197); + not NOT_3859(I10448,g5335); + not NOT_3860(g7463,g7239); + not NOT_3861(g5009,g4344); + not NOT_3862(g2407,I6286); + not NOT_3863(I6163,g402); + not NOT_3864(I14448,g7792); + not NOT_3865(g2920,I6652); + not NOT_3866(g2868,g2223); + not NOT_3867(I6363,g16); + not NOT_3868(I15501,g8975); + not NOT_3869(g9051,I15553); + not NOT_3870(I15729,g9073); + not NOT_3871(g2459,I6299); + not NOT_3872(I15577,g8984); + not NOT_3873(g4898,g4079); + not NOT_3874(g6441,I11586); + not NOT_3875(I13463,g7264); + not NOT_3876(g9127,I15759); + not NOT_3877(g2767,I6509); + not NOT_3878(g4900,I9258); + not NOT_3879(g1783,I5633); + not NOT_3880(I7908,g3516); + not NOT_3881(g5769,I10380); + not NOT_3882(I11951,g5847); + not NOT_3883(I11371,g5840); + not NOT_3884(g8755,g8545); + not NOT_3885(g636,I5371); + not NOT_3886(g7279,I13271); + not NOT_3887(g8226,I14457); + not NOT_3888(g5836,g5529); + not NOT_3889(g4510,g2840); + not NOT_3890(I13234,g6898); + not NOT_3891(g4245,I8172); + not NOT_3892(I12427,g6553); + not NOT_3893(g7720,I14035); + not NOT_3894(g7118,I12942); + not NOT_3895(g5918,I10574); + not NOT_3896(g2793,I6532); + not NOT_3897(g7367,I13515); + not NOT_3898(I12632,g6514); + not NOT_3899(g9103,I15699); + not NOT_3900(g9303,g9301); + not NOT_3901(g1676,g727); + not NOT_3902(g2015,g33); + not NOT_3903(I8480,g3640); + not NOT_3904(g6368,I11431); + not NOT_3905(g7057,g6644); + not NOT_3906(g8173,I14400); + not NOT_3907(g4344,g3124); + not NOT_3908(g6772,I12187); + not NOT_3909(I6157,g246); + not NOT_3910(I12403,g6769); + not NOT_3911(I12547,g6708); + not NOT_3912(g1828,g769); + not NOT_3913(g2664,I6463); + not NOT_3914(g2246,I5989); + not NOT_3915(g4259,I8196); + not NOT_3916(g5822,I10491); + not NOT_3917(g6890,I12541); + not NOT_3918(g7549,I13831); + not NOT_3919(g1830,I5718); + not NOT_3920(g4694,I8977); + not NOT_3921(I15622,g8999); + not NOT_3922(g1727,g596); + not NOT_3923(g3590,I7064); + not NOT_3924(g3877,g2960); + not NOT_3925(I10433,g5212); + not NOT_3926(I5692,g906); + not NOT_3927(g8602,g8094); + not NOT_3928(I10387,g5194); + not NOT_3929(I12226,g6636); + not NOT_3930(I14433,g8061); + not NOT_3931(g7686,I13979); + not NOT_3932(g8407,g8013); + not NOT_3933(g4088,I7885); + not NOT_3934(I12481,g6616); + not NOT_3935(g9072,I15610); + not NOT_3936(g3657,I7145); + not NOT_3937(g4923,g4112); + not NOT_3938(g2721,g1803); + not NOT_3939(g6505,I11677); + not NOT_3940(g8868,I15190); + not NOT_3941(I14148,g7543); + not NOT_3942(g6011,g5494); + not NOT_3943(I5960,g187); + not NOT_3944(g1746,g290); + not NOT_3945(I14097,g7595); + not NOT_3946(g6856,I12439); + not NOT_3947(g4701,I8994); + not NOT_3948(I10646,g5364); + not NOT_3949(g8767,g8564); + not NOT_3950(g9043,I15533); + not NOT_3951(g3556,I7036); + not NOT_3952(I13012,g7071); + not NOT_3953(I10343,g5704); + not NOT_3954(I14646,g7790); + not NOT_3955(g3928,g3097); + not NOT_3956(I16052,g9291); + not NOT_3957(g8582,g8094); + not NOT_3958(g9116,I15738); + not NOT_3959(g6074,g5317); + not NOT_3960(g3930,g3097); + not NOT_3961(g2502,I6337); + not NOT_3962(g9316,g9302); + not NOT_3963(I11473,g6069); + not NOT_3964(I13541,g7209); + not NOT_3965(g4886,g4071); + not NOT_3966(I10369,g5716); + not NOT_3967(g9034,I15516); + not NOT_3968(I12490,g6625); + not NOT_3969(g8015,g7689); + not NOT_3970(g2940,I6686); + not NOT_3971(g8227,I14460); + not NOT_3972(g4114,I7953); + not NOT_3973(g7253,g7049); + not NOT_3974(I11359,g5810); + not NOT_3975(I12376,g6766); + not NOT_3976(I12385,g6397); + not NOT_3977(I13359,g7255); + not NOT_3978(I9892,g4879); + not NOT_3979(g5462,g4886); + not NOT_3980(g2689,g1670); + not NOT_3981(g6573,g5868); + not NOT_3982(g6863,I12460); + not NOT_3983(I11920,g5874); + not NOT_3984(I12980,g6929); + not NOT_3985(I7878,g2829); + not NOT_3986(g8664,I14786); + not NOT_3987(I8760,g3931); + not NOT_3988(I11434,g5789); + not NOT_3989(g3563,g2007); + not NOT_3990(I10412,g5205); + not NOT_3991(g2216,I5933); + not NOT_3992(g6713,I12065); + not NOT_3993(g1677,g1532); + not NOT_3994(g7519,I13737); + not NOT_3995(g7740,I14091); + not NOT_3996(g4650,I8865); + not NOT_3997(I7658,g2562); + not NOT_3998(I5401,g723); + not NOT_3999(I12888,g6948); + not NOT_4000(I13828,g7321); + not NOT_4001(I5676,g911); + not NOT_4002(I14133,g7574); + not NOT_4003(g2671,I6468); + not NOT_4004(g9210,g9200); + not NOT_4005(g1576,g691); + not NOT_4006(g6569,I11747); + not NOT_4007(g1866,g71); + not NOT_4008(I7882,g2700); + not NOT_4009(g5788,I10409); + not NOT_4010(g4008,I7755); + not NOT_4011(I10896,g5475); + not NOT_4012(I6894,g1863); + not NOT_4013(I11344,g5820); + not NOT_4014(g3844,I7335); + not NOT_4015(I13344,g7210); + not NOT_4016(I15484,g8918); + not NOT_4017(g1848,g772); + not NOT_4018(I10716,g5537); + not NOT_4019(I13682,g7251); + not NOT_4020(g4594,g2941); + not NOT_4021(g5842,I10541); + not NOT_4022(g2826,g2183); + not NOT_4023(g1747,g599); + not NOT_4024(g1855,g866); + not NOT_4025(I6075,g2); + not NOT_4026(g6857,I12442); + not NOT_4027(g7586,I13903); + not NOT_4028(I9907,g4837); + not NOT_4029(I13173,g7089); + not NOT_4030(g5192,g4841); + not NOT_4031(I10582,g5437); + not NOT_4032(g3557,g1773); + not NOT_4033(g5085,I9457); + not NOT_4034(g4806,I9139); + not NOT_4035(I7981,g3555); + not NOT_4036(I6949,g2148); + not NOT_4037(I12190,g5918); + not NOT_4038(g3966,g3160); + not NOT_4039(I8977,g3877); + not NOT_4040(g2910,I6636); + not NOT_4041(g3071,g1948); + not NOT_4042(g3705,I7204); + not NOT_4043(g9117,I15741); + not NOT_4044(I12520,g6622); + not NOT_4045(g2638,g1582); + not NOT_4046(g4065,I7838); + not NOT_4047(g9317,g9306); + not NOT_4048(I8161,g3517); + not NOT_4049(g8689,I14857); + not NOT_4050(g4122,I7973); + not NOT_4051(I15921,g9206); + not NOT_4052(g4465,g3677); + not NOT_4053(g7141,I13009); + not NOT_4054(I14925,g8381); + not NOT_4055(g3948,g3131); + not NOT_4056(g4934,g4125); + not NOT_4057(g7341,I13441); + not NOT_4058(g8216,I14427); + not NOT_4059(I6646,g2246); + not NOT_4060(g2308,I6081); + not NOT_4061(I7132,g2554); + not NOT_4062(I13134,g7017); + not NOT_4063(I7332,g2947); + not NOT_4064(I8665,g3051); + not NOT_4065(I12211,g6502); + not NOT_4066(I14112,g7560); + not NOT_4067(g6326,I11305); + not NOT_4068(g7525,I13755); + not NOT_4069(g7710,I14009); + not NOT_4070(g3955,I7658); + not NOT_4071(I7680,g2712); + not NOT_4072(I11506,g6189); + not NOT_4073(I14378,g7691); + not NOT_4074(g2883,g2237); + not NOT_4075(I6084,g240); + not NOT_4076(I7353,g2833); + not NOT_4077(g8671,I14807); + not NOT_4078(I11028,g5642); + not NOT_4079(I13506,g7148); + not NOT_4080(I12088,g5874); + not NOT_4081(I6039,g207); + not NOT_4082(g4033,g3192); + not NOT_4083(I13028,g7087); + not NOT_4084(g6760,I12151); + not NOT_4085(I14603,g7827); + not NOT_4086(g5520,g4928); + not NOT_4087(I15184,g8684); + not NOT_4088(g4096,I7911); + not NOT_4089(g8564,g7951); + not NOT_4090(g3038,g2092); + not NOT_4091(g1818,I5692); + not NOT_4092(g1577,g695); + not NOT_4093(g1867,g878); + not NOT_4094(g9060,I15574); + not NOT_4095(I9310,g4268); + not NOT_4096(I7558,g2734); + not NOT_4097(I10681,g5686); + not NOT_4098(g5812,I10469); + not NOT_4099(g6183,I10914); + not NOT_4100(g7158,I13048); + not NOT_4101(g2365,I6195); + not NOT_4102(I12659,g6459); + not NOT_4103(g6383,I11476); + not NOT_4104(g7358,I13490); + not NOT_4105(g5176,I9654); + not NOT_4106(g4195,I8094); + not NOT_4107(I9663,g4809); + not NOT_4108(g6220,I11001); + not NOT_4109(g7506,I13698); + not NOT_4110(I15732,g9076); + not NOT_4111(g4891,g4076); + not NOT_4112(I13927,g7366); + not NOT_4113(g4913,g4092); + not NOT_4114(I12250,g6651); + not NOT_4115(g658,I5386); + not NOT_4116(g8910,I15324); + not NOT_4117(I16100,g9338); + not NOT_4118(g6779,I12208); + not NOT_4119(I14857,g8657); + not NOT_4120(g3769,g2548); + not NOT_4121(I6952,g1896); + not NOT_4122(g8638,I14722); + not NOT_4123(g3836,I7311); + not NOT_4124(g5829,I10512); + not NOT_4125(g7587,I13906); + not NOT_4126(I13649,g7281); + not NOT_4127(g5286,g4714); + not NOT_4128(g1975,g1253); + not NOT_4129(I5747,g1260); + not NOT_4130(g4807,I9142); + not NOT_4131(g6977,g6664); + not NOT_4132(g7111,I12921); + not NOT_4133(I5855,g71); + not NOT_4134(I5398,g702); + not NOT_4135(g3918,I7551); + not NOT_4136(g2774,g1813); + not NOT_4137(g7275,I13261); + not NOT_4138(g7311,I13365); + not NOT_4139(g3967,I7680); + not NOT_4140(I6561,g1715); + not NOT_4141(I11648,g6028); + not NOT_4142(I10690,g5538); + not NOT_4143(g6588,g5836); + not NOT_4144(I11491,g6010); + not NOT_4145(I11903,g5939); + not NOT_4146(g9079,I15631); + not NOT_4147(I13903,g7357); + not NOT_4148(g8883,I15225); + not NOT_4149(g6161,I10842); + not NOT_4150(I7492,g3561); + not NOT_4151(g6361,I11410); + not NOT_4152(g4266,I8202); + not NOT_4153(g2396,g1033); + not NOT_4154(I7864,g3812); + not NOT_4155(I10548,g5260); + not NOT_4156(I13755,g7317); + not NOT_4157(g5733,I10256); + not NOT_4158(g7174,g7097); + not NOT_4159(g6051,g5246); + not NOT_4160(g3993,g3192); + not NOT_4161(g8217,I14430); + not NOT_4162(I13770,g7491); + not NOT_4163(I11981,g6246); + not NOT_4164(I9657,g4784); + not NOT_4165(I12968,g6925); + not NOT_4166(g1821,g631); + not NOT_4167(I15329,g8793); + not NOT_4168(g6327,I11308); + not NOT_4169(g2780,I6517); + not NOT_4170(I6764,g1955); + not NOT_4171(g3822,g1815); + not NOT_4172(g5610,g4938); + not NOT_4173(g2509,g37); + not NOT_4174(I15539,g9005); + not NOT_4175(g5073,g4477); + not NOT_4176(g5796,I10427); + not NOT_4177(I8565,g3071); + not NOT_4178(g5473,g4903); + not NOT_4179(g7284,I13284); + not NOT_4180(g6146,I10801); + not NOT_4181(g4081,I7870); + not NOT_4182(g7239,g6945); + not NOT_4183(g6346,I11365); + not NOT_4184(g7545,I13819); + not NOT_4185(I6970,g1872); + not NOT_4186(g2662,I6457); + not NOT_4187(g5124,I9520); + not NOT_4188(g7180,I13092); + not NOT_4189(g6103,g5317); + not NOT_4190(g4692,I8971); + not NOT_4191(g7591,I13918); + not NOT_4192(g6303,I11236); + not NOT_4193(g2467,I6305); + not NOT_4194(I9064,g4302); + not NOT_4195(I13767,g7486); + not NOT_4196(I13794,g7346); + not NOT_4197(I11395,g5812); + not NOT_4198(g5469,g4898); + not NOT_4199(g2290,I6054); + not NOT_4200(I7262,g2514); + not NOT_4201(I10128,g4688); + not NOT_4202(g6696,I12022); + not NOT_4203(g3921,I7558); + not NOT_4204(I9785,g4747); + not NOT_4205(I5577,g172); + not NOT_4206(g4960,g4259); + not NOT_4207(g7420,I13537); + not NOT_4208(I11633,g5897); + not NOT_4209(g5177,I9657); + not NOT_4210(I12894,g7009); + not NOT_4211(g7507,I13701); + not NOT_4212(g8774,I14964); + not NOT_4213(g5206,g4938); + not NOT_4214(I7623,g3631); + not NOT_4215(g2256,g1324); + not NOT_4216(I11191,g6155); + not NOT_4217(g2816,g1685); + not NOT_4218(I13719,g7334); + not NOT_4219(g6508,I11686); + not NOT_4220(g6944,I12643); + not NOT_4221(g3837,I7314); + not NOT_4222(g6072,g5345); + not NOT_4223(I11718,g6115); + not NOT_4224(g3062,g2100); + not NOT_4225(I14298,g7678); + not NOT_4226(g9032,I15510); + not NOT_4227(I5386,g648); + not NOT_4228(g3462,g1743); + not NOT_4229(g1756,g533); + not NOT_4230(g2381,I6245); + not NOT_4231(I5975,g381); + not NOT_4232(I11832,g6274); + not NOT_4233(g8780,g8524); + not NOT_4234(g9053,I15557); + not NOT_4235(I12202,g6481); + not NOT_4236(g4112,I7947); + not NOT_4237(g7905,I14279); + not NOT_4238(g4267,I8205); + not NOT_4239(g2700,g1744); + not NOT_4240(I7651,g2573); + not NOT_4241(I16107,g9337); + not NOT_4242(I8820,g3952); + not NOT_4243(I11440,g6009); + not NOT_4244(g2397,g1272); + not NOT_4245(I12496,g6592); + not NOT_4246(g5199,g4841); + not NOT_4247(g1904,g1021); + not NOT_4248(I12111,g5956); + not NOT_4249(g6316,I11275); + not NOT_4250(g7515,I13725); + not NOT_4251(I11861,g5747); + not NOT_4252(g8662,I14780); + not NOT_4253(g5781,I10390); + not NOT_4254(g4001,g3160); + not NOT_4255(g6034,I10639); + not NOT_4256(g8018,I14315); + not NOT_4257(I13861,g7330); + not NOT_4258(I9089,g4566); + not NOT_4259(g8067,I14342); + not NOT_4260(g2263,g1394); + not NOT_4261(g7100,I12888); + not NOT_4262(I13247,g6906); + not NOT_4263(I6299,g47); + not NOT_4264(g7300,I13332); + not NOT_4265(I11389,g5766); + not NOT_4266(I11926,g6190); + not NOT_4267(I12986,g6931); + not NOT_4268(g5797,I10430); + not NOT_4269(I15414,g8900); + not NOT_4270(I13045,g6955); + not NOT_4271(g6147,I10804); + not NOT_4272(I5984,g540); + not NOT_4273(g9157,g9141); + not NOT_4274(g6347,I11368); + not NOT_4275(I5939,g275); + not NOT_4276(I13099,g7054); + not NOT_4277(g3842,I7329); + not NOT_4278(I13388,g7149); + not NOT_4279(g8093,I14370); + not NOT_4280(g6681,I11991); + not NOT_4281(I11701,g5772); + not NOT_4282(g8493,g8041); + not NOT_4283(I13701,g7349); + not NOT_4284(I10512,g5238); + not NOT_4285(g3085,g1945); + not NOT_4286(I8775,g4019); + not NOT_4287(I7838,g2781); + not NOT_4288(I8922,g4229); + not NOT_4289(I11251,g6152); + not NOT_4290(I11272,g5758); + not NOT_4291(g7750,I14121); + not NOT_4292(g3485,g1737); + not NOT_4293(g2562,g1652); + not NOT_4294(g1695,g778); + not NOT_4295(g6697,I12025); + not NOT_4296(g1637,g1087); + not NOT_4297(g5144,I9558); + not NOT_4298(g4592,g2938); + not NOT_4299(g5344,I9819); + not NOT_4300(g6210,I10969); + not NOT_4301(I5636,g891); + not NOT_4302(g2631,g1586); + not NOT_4303(g4746,I9076); + not NOT_4304(I12877,g6700); + not NOT_4305(g8181,I14420); + not NOT_4306(g6596,I11800); + not NOT_4307(g5207,g4673); + not NOT_4308(g8381,I14603); + not NOT_4309(g3854,I7365); + not NOT_4310(g2817,g1849); + not NOT_4311(g3941,I7626); + not NOT_4312(I7672,g3062); + not NOT_4313(I16135,g9357); + not NOT_4314(g4703,I8998); + not NOT_4315(g5819,I10482); + not NOT_4316(g8685,I14851); + not NOT_4317(g7440,I13577); + not NOT_4318(I10445,g5418); + not NOT_4319(I7523,g2562); + not NOT_4320(I14445,g8067); + not NOT_4321(I12196,g6471); + not NOT_4322(I6078,g95); + not NOT_4323(g2605,g1639); + not NOT_4324(I13140,g6954); + not NOT_4325(I9350,g4503); + not NOT_4326(g7123,I12961); + not NOT_4327(g8421,g8017); + not NOT_4328(g5088,I9466); + not NOT_4329(I8784,g3949); + not NOT_4330(I13997,g7432); + not NOT_4331(I8739,g3910); + not NOT_4332(g1757,g604); + not NOT_4333(g5488,I9910); + not NOT_4334(g4932,g4202); + not NOT_4335(I12526,g6626); + not NOT_4336(I15759,g9082); + not NOT_4337(g5701,g5120); + not NOT_4338(g6820,I12331); + not NOT_4339(g4624,I8787); + not NOT_4340(I9009,g4591); + not NOT_4341(I6959,g1558); + not NOT_4342(g3520,g1616); + not NOT_4343(g6936,I12629); + not NOT_4344(g3219,I6872); + not NOT_4345(I6517,g1687); + not NOT_4346(g3640,I7112); + not NOT_4347(I16049,g9288); + not NOT_4348(g6117,I10739); + not NOT_4349(g1811,I5679); + not NOT_4350(g6317,I11278); + not NOT_4351(I7551,g2712); + not NOT_4352(I7104,g2479); + not NOT_4353(g3812,g1750); + not NOT_4354(I12457,g6671); + not NOT_4355(g7528,I13764); + not NOT_4356(I14722,g8076); + not NOT_4357(g7151,I13035); + not NOT_4358(g3958,g3097); + not NOT_4359(g7351,I13469); + not NOT_4360(g4677,I8932); + not NOT_4361(g6601,g6083); + not NOT_4362(g7530,I13770); + not NOT_4363(I12866,g6483); + not NOT_4364(I8190,g3545); + not NOT_4365(g8562,g8094); + not NOT_4366(I9918,g4968); + not NOT_4367(I10271,g5487); + not NOT_4368(g5114,I9502); + not NOT_4369(g4576,g2913); + not NOT_4370(I15940,g9213); + not NOT_4371(I13447,g7261); + not NOT_4372(g8631,I14709); + not NOT_4373(g2673,I6474); + not NOT_4374(g6775,I12196); + not NOT_4375(g3829,I7290); + not NOT_4376(g6922,g6525); + not NOT_4377(I5763,g1207); + not NOT_4378(g3911,I7526); + not NOT_4379(I6214,g7); + not NOT_4380(g6581,I11773); + not NOT_4381(g5825,I10500); + not NOT_4382(I14342,g7582); + not NOT_4383(g8605,I14680); + not NOT_4384(I14145,g7542); + not NOT_4385(I12256,g6647); + not NOT_4386(I14031,g7448); + not NOT_4387(g4198,I8101); + not NOT_4388(I7044,g2402); + not NOT_4389(g6597,I11803); + not NOT_4390(g9075,I15619); + not NOT_4391(I13451,g7262); + not NOT_4392(I13472,g7266); + not NOT_4393(I14199,g7704); + not NOT_4394(I12280,g6684); + not NOT_4395(g3974,g3131); + not NOT_4396(I6663,g2246); + not NOT_4397(I13628,g7248); + not NOT_4398(g8751,g8545); + not NOT_4399(g2458,g30); + not NOT_4400(I5359,g3839); + not NOT_4401(g6784,I12223); + not NOT_4402(g2743,g1808); + not NOT_4403(g3610,g2424); + not NOT_4404(g2890,g2264); + not NOT_4405(g5768,I10377); + not NOT_4406(I10528,g5245); + not NOT_4407(I16033,g9282); + not NOT_4408(g8585,g7993); + not NOT_4409(g1612,I5475); + not NOT_4410(I10393,g5196); + not NOT_4411(g7172,g7092); + not NOT_4412(g1017,I5419); + not NOT_4413(I7712,g3657); + not NOT_4414(I14330,g7538); + not NOT_4415(g2505,g28); + not NOT_4416(g8041,g7701); + not NOT_4417(I15962,g9218); + not NOT_4418(g2011,I5847); + not NOT_4419(g3124,g1857); + not NOT_4420(g5806,I10451); + not NOT_4421(I5416,g8868); + not NOT_4422(g1935,g1280); + not NOT_4423(g3980,g3192); + not NOT_4424(g6937,I12632); + not NOT_4425(g7143,g6996); + not NOT_4426(I11591,g5814); + not NOT_4427(g2734,g2170); + not NOT_4428(g7343,I13447); + not NOT_4429(I13776,g7497); + not NOT_4430(g9039,I15527); + not NOT_4431(g4524,g2869); + not NOT_4432(g6294,I11209); + not NOT_4433(g6840,I12391); + not NOT_4434(g4644,I8847); + not NOT_4435(I6590,g2467); + not NOT_4436(I13147,g7024); + not NOT_4437(g8673,I14813); + not NOT_4438(g3540,g2424); + not NOT_4439(I15833,g9162); + not NOT_4440(g4119,I7964); + not NOT_4441(I9837,g4781); + not NOT_4442(g6190,I10933); + not NOT_4443(g2074,I5872); + not NOT_4444(I6657,g1701); + not NOT_4445(g6390,I11497); + not NOT_4446(g7134,I12986); + not NOT_4447(I12885,g6946); + not NOT_4448(g7334,I13422); + not NOT_4449(I13825,g7318); + not NOT_4450(g2992,g1833); + not NOT_4451(g4258,I8193); + not NOT_4452(I11858,g6165); + not NOT_4453(g4577,g2914); + not NOT_4454(g6501,I11669); + not NOT_4455(g7548,I13828); + not NOT_4456(g8669,I14801); + not NOT_4457(g4867,I9209); + not NOT_4458(I13858,g7329); + not NOT_4459(I14709,g8198); + not NOT_4460(I10259,g5362); + not NOT_4461(g6156,I10829); + not NOT_4462(I12511,g6598); + not NOT_4463(g6356,I11395); + not NOT_4464(g5433,g5024); + not NOT_4465(I10708,g5545); + not NOT_4466(g7555,I13843); + not NOT_4467(g1800,g1477); + not NOT_4468(I12763,g6686); + not NOT_4469(g3287,I6911); + not NOT_4470(g8772,g8585); + not NOT_4471(I7885,g2837); + not NOT_4472(I5654,g921); + not NOT_4473(I8357,g1182); + not NOT_4474(I6930,g1876); + not NOT_4475(g2573,g1649); + not NOT_4476(g2863,g1778); + not NOT_4477(g7792,I14231); + not NOT_4478(g2480,g44); + not NOT_4479(I15613,g8996); + not NOT_4480(I9788,g4711); + not NOT_4481(g8743,g8524); + not NOT_4482(g3849,I7350); + not NOT_4483(g6704,I12044); + not NOT_4484(I15947,g9221); + not NOT_4485(g5845,I10548); + not NOT_4486(g4599,I8712); + not NOT_4487(g5137,I9539); + not NOT_4488(g5395,I9840); + not NOT_4489(g8856,I15160); + not NOT_4490(g7113,I12927); + not NOT_4491(g3898,g3160); + not NOT_4492(g8734,I14904); + not NOT_4493(g4026,g3192); + not NOT_4494(g7313,I13369); + not NOT_4495(g4274,I8218); + not NOT_4496(g4426,I8428); + not NOT_4497(I7036,g2454); + not NOT_4498(g6250,g5679); + not NOT_4499(g6810,I12301); + not NOT_4500(g4614,I8757); + not NOT_4501(g6363,I11416); + not NOT_4502(g4370,I8351); + not NOT_4503(I5978,g414); + not NOT_4504(g3510,g2185); + not NOT_4505(I10810,g5403); + not NOT_4506(g6032,g5494); + not NOT_4507(I11446,g6062); + not NOT_4508(g4125,I7978); + not NOT_4509(I14810,g8481); + not NOT_4510(I11227,g6130); + not NOT_4511(g6432,I11569); + not NOT_4512(g5807,I10454); + not NOT_4513(I14657,g7782); + not NOT_4514(g7094,g6525); + not NOT_4515(I12307,g6712); + not NOT_4516(I11025,g5638); + not NOT_4517(I12085,g5971); + not NOT_4518(g2976,I6728); + not NOT_4519(I7335,g2910); + not NOT_4520(g1823,g768); + not NOT_4521(g7494,g7260); + not NOT_4522(g7518,I13734); + not NOT_4523(g5266,I9782); + not NOT_4524(g6568,I11744); + not NOT_4525(g4544,g2886); + not NOT_4526(I11203,g6129); + not NOT_4527(I5542,g1272); + not NOT_4528(I13203,g7088); + not NOT_4529(g7776,I14199); + not NOT_4530(g1649,g1217); + not NOT_4531(I7749,g3692); + not NOT_4532(g7593,I13924); + not NOT_4533(g3819,g1748); + not NOT_4534(g4636,I8823); + not NOT_4535(g3694,g2174); + not NOT_4536(g2326,I6121); + not NOT_4537(I14792,g8583); + not NOT_4538(I9520,g3995); + not NOT_4539(g6357,I11398); + not NOT_4540(g4106,I7931); + not NOT_4541(I15507,g8968); + not NOT_4542(I12942,g7023); + not NOT_4543(g3852,I7359); + not NOT_4544(I6471,g1923); + not NOT_4545(g3923,I7564); + not NOT_4546(g4306,I8273); + not NOT_4547(I8778,g3922); + not NOT_4548(I11281,g5785); + not NOT_4549(I12268,g6661); + not NOT_4550(g9320,g9307); + not NOT_4551(g5481,g4914); + not NOT_4552(g3488,g1727); + not NOT_4553(I7947,g3485); + not NOT_4554(I13281,g7155); + not NOT_4555(g1698,I5542); + not NOT_4556(I6242,g1554); + not NOT_4557(I16173,g9382); + not NOT_4558(I12655,g6458); + not NOT_4559(I11377,g5811); + not NOT_4560(g7264,I13234); + not NOT_4561(g5726,I10243); + not NOT_4562(g5154,I9588); + not NOT_4563(I10919,g5479); + not NOT_4564(I9005,g4585); + not NOT_4565(g7160,I13054); + not NOT_4566(g7360,I13496); + not NOT_4567(I11562,g5939); + not NOT_4568(I11645,g5874); + not NOT_4569(I13562,g7179); + not NOT_4570(g7521,I13743); + not NOT_4571(g4622,I8781); + not NOT_4572(g4027,g2845); + not NOT_4573(g2183,I5908); + not NOT_4574(g3951,I7648); + not NOT_4575(g7050,g6618); + not NOT_4576(I6254,g536); + not NOT_4577(g2383,I6251); + not NOT_4578(g2924,g2314); + not NOT_4579(I12839,g6630); + not NOT_4580(I12930,g7019); + not NOT_4581(I8949,g4116); + not NOT_4582(I7632,g3634); + not NOT_4583(I7095,g2539); + not NOT_4584(I12993,g6933); + not NOT_4585(I10545,g5259); + not NOT_4586(g6626,I11870); + not NOT_4587(I11290,g5818); + not NOT_4588(I13290,g7158); + not NOT_4589(I7495,g3562); + not NOT_4590(I14079,g7579); + not NOT_4591(g4904,g4085); + not NOT_4592(g4200,I8105); + not NOT_4593(I13698,g7348); + not NOT_4594(I7302,g2825); + not NOT_4595(I12965,g6924); + not NOT_4596(I12131,g5918); + not NOT_4597(g9299,I16023); + not NOT_4598(I6009,g359); + not NOT_4599(g3870,g3466); + not NOT_4600(I8998,g4576); + not NOT_4601(I5512,g557); + not NOT_4602(g4003,g3192); + not NOT_4603(I9974,g4676); + not NOT_4604(g5112,I9496); + not NOT_4605(g3825,g1826); + not NOT_4606(g3650,I7126); + not NOT_4607(g5267,I9785); + not NOT_4608(I12487,g6623); + not NOT_4609(g4841,g4250); + not NOT_4610(g2161,g1454); + not NOT_4611(I8084,g3706); + not NOT_4612(g1652,g1220); + not NOT_4613(g2361,I6183); + not NOT_4614(I7752,g3591); + not NOT_4615(I12502,g6604); + not NOT_4616(g4191,I8084); + not NOT_4617(g1843,g771); + not NOT_4618(g8760,g8545); + not NOT_4619(g3008,g1816); + not NOT_4620(I8850,g4031); + not NOT_4621(g2665,g1661); + not NOT_4622(g7289,I13299); + not NOT_4623(g7777,I14202); + not NOT_4624(g6683,g6237); + not NOT_4625(g5401,I9845); + not NOT_4626(I10125,g5127); + not NOT_4627(g4695,I8980); + not NOT_4628(I10532,g5253); + not NOT_4629(g4637,I8826); + not NOT_4630(I5649,g1389); + not NOT_4631(g7835,I14257); + not NOT_4632(g2327,I6124); + not NOT_4633(g5129,I9531); + not NOT_4634(g6778,I12205); + not NOT_4635(g5761,I10356); + not NOT_4636(g3768,g2253); + not NOT_4637(I10783,g5542); + not NOT_4638(g6894,g6525); + not NOT_4639(I13403,g7269); + not NOT_4640(I13547,g1170); + not NOT_4641(g4307,g3700); + not NOT_4642(g4536,g2877); + not NOT_4643(g2999,g1823); + not NOT_4644(I14783,g8324); + not NOT_4645(g3972,I7691); + not NOT_4646(g1686,I5531); + not NOT_4647(g5828,I10509); + not NOT_4648(g2346,I6154); + not NOT_4649(g2633,g1577); + not NOT_4650(I12469,g6586); + not NOT_4651(g9244,I15974); + not NOT_4652(I10561,g5265); + not NOT_4653(I6229,g486); + not NOT_4654(g8608,I14687); + not NOT_4655(g8220,I14439); + not NOT_4656(I10353,g5710); + not NOT_4657(I12286,g6696); + not NOT_4658(g6782,I12217); + not NOT_4659(I7164,g2157); + not NOT_4660(I10295,g5523); + not NOT_4661(I8919,g4196); + not NOT_4662(g3943,I7632); + not NOT_4663(g9140,I15784); + not NOT_4664(I9177,g4299); + not NOT_4665(g9078,I15628); + not NOT_4666(g9340,I16090); + not NOT_4667(I13481,g7254); + not NOT_4668(g5592,g4969); + not NOT_4669(I14680,g7810); + not NOT_4670(g6661,I11961); + not NOT_4671(g6075,g5345); + not NOT_4672(g4016,g3192); + not NOT_4673(I8952,g4197); + not NOT_4674(g699,I5395); + not NOT_4675(I12038,g5847); + not NOT_4676(g5746,I10295); + not NOT_4677(g6475,I11633); + not NOT_4678(g9035,I15519); + not NOT_4679(g1670,g1489); + not NOT_4680(g3465,I6963); + not NOT_4681(g8977,I15433); + not NOT_4682(I7296,g2915); + not NOT_4683(g3934,I7599); + not NOT_4684(g9082,I15638); + not NOT_4685(g3230,I6887); + not NOT_4686(g4522,g2867); + not NOT_4687(g4115,I7956); + not NOT_4688(g4251,I8180); + not NOT_4689(g6292,I11203); + not NOT_4690(I12187,g5897); + not NOT_4691(g4811,I9158); + not NOT_4692(g4642,I8841); + not NOT_4693(g7541,I13807); + not NOT_4694(g2944,g2363); + not NOT_4695(g2240,I5981); + not NOT_4696(g1938,g1288); + not NOT_4697(g1813,g620); + not NOT_4698(g6646,I11920); + not NOT_4699(g7132,I12980); + not NOT_4700(I8986,g4552); + not NOT_4701(g8665,I14789); + not NOT_4702(g7332,I13416); + not NOT_4703(I13490,g7130); + not NOT_4704(g1909,g998); + not NOT_4705(g7353,I13475); + not NOT_4706(g6603,I11815); + not NOT_4707(g3096,I6834); + not NOT_4708(I5872,g77); + not NOT_4709(I13956,g7499); + not NOT_4710(g5468,I9884); + not NOT_4711(g6850,I12421); + not NOT_4712(g3496,I6974); + not NOT_4713(g7744,I14103); + not NOT_4714(g4654,I8877); + not NOT_4715(I13103,g7055); + not NOT_4716(g3845,I7338); + not NOT_4717(g2316,I6109); + not NOT_4718(g9214,I15918); + not NOT_4719(I5989,g1460); + not NOT_4720(I7389,g3496); + not NOT_4721(I11824,g6283); + not NOT_4722(g5677,I10166); + not NOT_4723(I7706,g2584); + not NOT_4724(I13888,g7335); + not NOT_4725(g3891,g3097); + not NOT_4726(I8925,g4482); + not NOT_4727(g3913,g2834); + not NOT_4728(I10289,g5569); + not NOT_4729(g9110,I15720); + not NOT_4730(g9310,I16046); + not NOT_4731(g6702,I12038); + not NOT_4732(g7558,I13850); + not NOT_4733(I7888,g3505); + not NOT_4734(g4595,g2942); + not NOT_4735(g4537,g2878); + not NOT_4736(I15927,g9208); + not NOT_4737(I7029,g2392); + not NOT_4738(g1687,g10); + not NOT_4739(I7371,g3050); + not NOT_4740(g2347,I6157); + not NOT_4741(I12666,g6476); + not NOT_4742(g5149,I9573); + not NOT_4743(I14288,g7705); + not NOT_4744(I14224,g7722); + not NOT_4745(I9344,g4341); + not NOT_4746(I12217,g6631); + not NOT_4747(I7956,g2810); + not NOT_4748(g1586,g730); + not NOT_4749(I6788,g1681); + not NOT_4750(I12478,g6603); + not NOT_4751(g2533,g1336); + not NOT_4752(g8753,I14925); + not NOT_4753(g3859,I7380); + not NOT_4754(g4612,I8751); + not NOT_4755(g7511,I13713); + not NOT_4756(g4017,g2845); + not NOT_4757(I15648,g9044); + not NOT_4758(g2914,g2308); + not NOT_4759(I8277,g3504); + not NOT_4760(g5198,g4969); + not NOT_4761(I9819,g4691); + not NOT_4762(g8072,I14349); + not NOT_4763(g9236,I15962); + not NOT_4764(g2210,g1326); + not NOT_4765(g6616,I11848); + not NOT_4766(g4935,g4202); + not NOT_4767(g7092,I12866); + not NOT_4768(I5670,g941); + not NOT_4769(I15604,g8993); + not NOT_4770(g7492,I13656); + not NOT_4771(I14816,g8642); + not NOT_4772(g1570,g665); + not NOT_4773(g1860,g162); + not NOT_4774(g8443,g8015); + not NOT_4775(I6192,g327); + not NOT_4776(g7574,I13869); + not NOT_4777(g6004,g5494); + not NOT_4778(I15770,g9121); + not NOT_4779(I10687,g5674); + not NOT_4780(g4629,I8802); + not NOT_4781(I10976,g5726); + not NOT_4782(g6404,I11525); + not NOT_4783(I12223,g6655); + not NOT_4784(g4328,g3086); + not NOT_4785(I14687,g7826); + not NOT_4786(g7714,I14019); + not NOT_4787(g6647,I11923); + not NOT_4788(g4130,I7987); + not NOT_4789(g4542,g2884); + not NOT_4790(I10752,g5618); + not NOT_4791(g3815,g1822); + not NOT_4792(I7338,g2923); + not NOT_4793(g6764,I12161); + not NOT_4794(I14374,g7693); + not NOT_4795(I10643,g5267); + not NOT_4796(g3692,I7198); + not NOT_4797(I13088,g7045); + not NOT_4798(g9222,I15940); + not NOT_4799(I14643,g7837); + not NOT_4800(g2936,I6680); + not NOT_4801(g3497,g2185); + not NOT_4802(g5524,I9938); + not NOT_4803(g7580,I13885); + not NOT_4804(g4800,I9123); + not NOT_4805(g5644,g4748); + not NOT_4806(I15845,g9174); + not NOT_4807(g3960,I7667); + not NOT_4808(I8892,g4115); + not NOT_4809(g1879,I5763); + not NOT_4810(g4554,g2892); + not NOT_4811(I11497,g6014); + not NOT_4812(g9064,I15586); + not NOT_4813(I15990,g9239); + not NOT_4814(I5552,g1284); + not NOT_4815(g7262,I13228); + not NOT_4816(g5152,I9582); + not NOT_4817(g5258,I9774); + not NOT_4818(I14260,g7717); + not NOT_4819(g7736,I14079); + not NOT_4820(g5818,I10479); + not NOT_4821(I10842,g5701); + not NOT_4822(g6224,I11011); + not NOT_4823(g5577,I10046); + not NOT_4824(I14668,g7787); + not NOT_4825(I11659,g5897); + not NOT_4826(g5717,g4969); + not NOT_4827(I13126,g6949); + not NOT_4828(I13659,g7232); + not NOT_4829(I8945,g4106); + not NOT_4830(I11987,g6278); + not NOT_4831(g6320,I11287); + not NOT_4832(I12373,g6763); + not NOT_4833(I6431,g1825); + not NOT_4834(I13250,g7036); + not NOT_4835(I14489,g7829); + not NOT_4836(g2922,g2313); + not NOT_4837(g1587,g734); + not NOT_4838(g3783,I7255); + not NOT_4839(g8013,g7561); + not NOT_4840(I10525,g5244); + not NOT_4841(I10488,g5230); + not NOT_4842(I16061,g9294); + not NOT_4843(I10424,g5209); + not NOT_4844(g7476,g7229); + not NOT_4845(I8709,g4191); + not NOT_4846(g3979,I7702); + not NOT_4847(I14424,g7652); + not NOT_4848(I6376,g38); + not NOT_4849(g5186,I9684); + not NOT_4850(I10558,g5264); + not NOT_4851(I8140,g3429); + not NOT_4852(I12936,g7015); + not NOT_4853(g9237,I15965); + not NOT_4854(I9136,g4280); + not NOT_4855(I11296,g5831); + not NOT_4856(I9336,g4493); + not NOT_4857(g6617,I11851); + not NOT_4858(g6789,I12238); + not NOT_4859(I13296,g7161); + not NOT_4860(g4512,g2842); + not NOT_4861(g2460,I6302); + not NOT_4862(I7098,g2477); + not NOT_4863(I8907,g4095); + not NOT_4864(I11338,g5798); + not NOT_4865(g7722,I14039); + not NOT_4866(I12334,g6713); + not NOT_4867(I13338,g7190); + not NOT_4868(I9594,g4718); + not NOT_4869(I7498,g2752); + not NOT_4870(g5026,I9366); + not NOT_4871(I6286,g1307); + not NOT_4872(g3676,g2380); + not NOT_4873(g9194,g9182); + not NOT_4874(g5426,g5013); + not NOT_4875(I6911,g1869); + not NOT_4876(I8517,g3014); + not NOT_4877(g7285,I13287); + not NOT_4878(g2784,g2340); + not NOT_4879(g5170,I9636); + not NOT_4880(g3761,g1772); + not NOT_4881(g4056,g3082); + not NOT_4882(g7500,I13676); + not NOT_4883(I11060,g5453); + not NOT_4884(g9089,I15657); + not NOT_4885(I13060,g6959); + not NOT_4886(g6299,I11224); + not NOT_4887(g5821,I10488); + not NOT_4888(I11197,g6122); + not NOT_4889(g3828,I7287); + not NOT_4890(g4649,I8862); + not NOT_4891(I7584,g3062); + not NOT_4892(I11855,g5751); + not NOT_4893(I6733,g1718); + not NOT_4894(g3830,I7293); + not NOT_4895(I6974,g2528); + not NOT_4896(I15388,g8898); + not NOT_4897(I15324,g8779); + not NOT_4898(I6270,g492); + not NOT_4899(g2937,g2346); + not NOT_4900(I11870,g5752); + not NOT_4901(g7139,I12999); + not NOT_4902(g9071,I15607); + not NOT_4903(g5939,I10579); + not NOT_4904(I10705,g5463); + not NOT_4905(g6892,I12547); + not NOT_4906(g1832,g763); + not NOT_4907(g2479,g32); + not NOT_4908(g7339,I13435); + not NOT_4909(I13527,g7217); + not NOT_4910(g2668,g1662); + not NOT_4911(I14042,g7470); + not NOT_4912(g1853,g766); + not NOT_4913(g2840,g2207); + not NOT_4914(g4698,I8989); + not NOT_4915(g8775,g8564); + not NOT_4916(g3746,g2100); + not NOT_4917(g5083,g4457); + not NOT_4918(g7838,I14264); + not NOT_4919(I5879,g1267); + not NOT_4920(g7024,I12782); + not NOT_4921(g7424,I13547); + not NOT_4922(I7362,g2933); + not NOT_4923(I12909,g7046); + not NOT_4924(I14270,g7703); + not NOT_4925(g7737,I14082); + not NOT_4926(I10678,g5566); + not NOT_4927(I6124,g399); + not NOT_4928(g8581,g8094); + not NOT_4929(I14124,g7591); + not NOT_4930(g6945,I12646); + not NOT_4931(I12117,g5918); + not NOT_4932(g1794,I5646); + not NOT_4933(I11503,g6220); + not NOT_4934(g2501,g27); + not NOT_4935(I11867,g6286); + not NOT_4936(I11894,g5956); + not NOT_4937(I10460,g5219); + not NOT_4938(I13894,g7353); + not NOT_4939(g4463,I8483); + not NOT_4940(I14460,g7789); + not NOT_4941(g6244,g5670); + not NOT_4942(g7077,g6676); + not NOT_4943(I9496,g3971); + not NOT_4944(g7231,I13173); + not NOT_4945(g3932,I7595); + not NOT_4946(g5790,I10415); + not NOT_4947(g7523,I13749); + not NOT_4948(I9845,g4728); + not NOT_4949(g6140,I10783); + not NOT_4950(g3953,g3160); + not NOT_4951(g6340,I11347); + not NOT_4952(I11714,g5772); + not NOT_4953(g9350,I16100); + not NOT_4954(g5187,I9687); + not NOT_4955(g5061,I9425); + not NOT_4956(I14267,g7695); + not NOT_4957(I14294,g7553); + not NOT_4958(g6478,I11638); + not NOT_4959(g8784,g8545); + not NOT_4960(g2942,g2350); + not NOT_4961(g5461,g4885); + not NOT_4962(g4279,g3340); + not NOT_4963(I11707,g5988); + not NOT_4964(g7205,I13131); + not NOT_4965(I13707,g7420); + not NOT_4966(I13819,g7426); + not NOT_4967(g5756,I10343); + not NOT_4968(g6035,g5494); + not NOT_4969(g6959,I12678); + not NOT_4970(I7728,g3675); + not NOT_4971(I11257,g5805); + not NOT_4972(g5622,g4938); + not NOT_4973(g4619,I8772); + not NOT_4974(g5027,I9369); + not NOT_4975(g6517,I11701); + not NOT_4976(I11818,g6276); + not NOT_4977(g3677,g2485); + not NOT_4978(g5427,g5115); + not NOT_4979(I15871,g9184); + not NOT_4980(I11055,g5696); + not NOT_4981(I13979,g7415); + not NOT_4982(I5374,g634); + not NOT_4983(I13496,g7133); + not NOT_4984(g7742,I14097); + not NOT_4985(g4652,I8871); + not NOT_4986(g7551,I13837); + not NOT_4987(g7104,I12900); + not NOT_4988(g6876,I12499); + not NOT_4989(g7099,I12885); + not NOT_4990(g4057,I7832); + not NOT_4991(g7304,I13344); + not NOT_4992(g8668,I14798); + not NOT_4993(I11978,g6186); + not NOT_4994(I6849,g368); + not NOT_4995(g3866,g2945); + not NOT_4996(g2954,g2374); + not NOT_4997(g4457,I8477); + not NOT_4998(g7499,g7258); + not NOT_4999(I8877,g4274); + not NOT_5000(g2810,g1922); + not NOT_5001(g2363,I6189); + not NOT_5002(g6656,I11948); + not NOT_5003(g9212,I15912); + not NOT_5004(I12639,g6506); + not NOT_5005(I16151,g9369); + not NOT_5006(g3716,g2522); + not NOT_5007(g5514,g4922); + not NOT_5008(I5545,g1276); + not NOT_5009(g5403,g5088); + not NOT_5010(g5145,I9561); + not NOT_5011(g2453,I6291); + not NOT_5012(I5380,g645); + not NOT_5013(g5841,I10538); + not NOT_5014(g3848,I7347); + not NOT_5015(g1750,g602); + not NOT_5016(I6900,g1866); + not NOT_5017(I12265,g6660); + not NOT_5018(g7754,I14133); + not NOT_5019(I10160,g5139); + not NOT_5020(g5763,I10366); + not NOT_5021(I9142,g4236); + not NOT_5022(g5191,g4969); + not NOT_5023(g8156,I14394); + not NOT_5024(g3855,I7368); + not NOT_5025(I14160,g7549); + not NOT_5026(g3398,I6952); + not NOT_5027(I8928,g4153); + not NOT_5028(g7273,I13255); + not NOT_5029(I6245,g142); + not NOT_5030(I9081,g4357); + not NOT_5031(I12391,g6744); + not NOT_5032(g4598,I8709); + not NOT_5033(g6110,g5335); + not NOT_5034(g6310,I11257); + not NOT_5035(I6291,g46); + not NOT_5036(g7044,g6543); + not NOT_5037(I10617,g5677); + not NOT_5038(I15628,g9001); + not NOT_5039(g4121,I7970); + not NOT_5040(I5559,g1292); + not NOT_5041(g2157,I5897); + not NOT_5042(g7269,I13247); + not NOT_5043(g6663,I11967); + not NOT_5044(g4670,I8925); + not NOT_5045(g5159,I9603); + not NOT_5046(g4625,I8790); + not NOT_5047(g7983,I14294); + not NOT_5048(I10277,g5472); + not NOT_5049(I11018,g5626); + not NOT_5050(I13196,g7008); + not NOT_5051(I7635,g3052); + not NOT_5052(I13695,g7345); + not NOT_5053(g6824,I12343); + not NOT_5054(g7712,I14015); + not NOT_5055(g1666,g1472); + not NOT_5056(g3524,g2306); + not NOT_5057(g4253,g2734); + not NOT_5058(g2929,g2327); + not NOT_5059(g4938,I9310); + not NOT_5060(g6236,I11037); + not NOT_5061(g4813,I9162); + not NOT_5062(I12586,g6643); + not NOT_5063(g7543,I13813); + not NOT_5064(g5016,I9350); + not NOT_5065(g5757,g5261); + not NOT_5066(g8810,I15068); + not NOT_5067(g3644,g2131); + not NOT_5068(I7305,g3048); + not NOT_5069(g8363,g7992); + not NOT_5070(I15776,g9127); + not NOT_5071(I16058,g9294); + not NOT_5072(I10494,g5232); + not NOT_5073(g4909,I9271); + not NOT_5074(I12442,g6542); + not NOT_5075(I5515,g567); + not NOT_5076(I14623,g7833); + not NOT_5077(I8844,g3992); + not NOT_5078(g5522,g4930); + not NOT_5079(g5115,I9505); + not NOT_5080(g6877,I12502); + not NOT_5081(g5811,I10466); + not NOT_5082(g5642,I10125); + not NOT_5083(g2626,g1571); + not NOT_5084(g3577,g2372); + not NOT_5085(g7534,I13782); + not NOT_5086(g7729,I14058); + not NOT_5087(g3867,g2946); + not NOT_5088(I15950,g9222); + not NOT_5089(I13457,g7120); + not NOT_5090(g1655,g1231); + not NOT_5091(g6657,I11951); + not NOT_5092(I7755,g3019); + not NOT_5093(g4552,g2890); + not NOT_5094(g9062,I15580); + not NOT_5095(I11917,g5897); + not NOT_5096(g4606,I8733); + not NOT_5097(g6556,I11732); + not NOT_5098(I10418,g5453); + not NOT_5099(g6222,g5654); + not NOT_5100(I12041,g5897); + not NOT_5101(g5874,I10565); + not NOT_5102(I9001,g4577); + not NOT_5103(I14822,g8649); + not NOT_5104(g7014,I12760); + not NOT_5105(g4687,I8962); + not NOT_5106(I8966,g4444); + not NOT_5107(I12430,g6432); + not NOT_5108(I11001,g5698); + not NOT_5109(g5654,g4748); + not NOT_5110(I12493,g6587); + not NOT_5111(g7414,I13527); + not NOT_5112(I9129,g4475); + not NOT_5113(I15394,g8916); + not NOT_5114(g3975,g3131); + not NOT_5115(g6064,I10681); + not NOT_5116(g4586,g2926); + not NOT_5117(g6899,g6525); + not NOT_5118(g2683,g1666); + not NOT_5119(g6785,I12226); + not NOT_5120(I11689,g5956); + not NOT_5121(I11923,g5939); + not NOT_5122(I12340,g6725); + not NOT_5123(I12983,g6930); + not NOT_5124(g7513,I13719); + not NOT_5125(I5969,g303); + not NOT_5126(I12806,g6602); + not NOT_5127(I12684,g6472); + not NOT_5128(I7602,g2562); + not NOT_5129(g2894,g2267); + not NOT_5130(I15420,g8881); + not NOT_5131(g4570,g2907); + not NOT_5132(g4341,I8308); + not NOT_5133(g9298,I16020); + not NOT_5134(g9085,I15645); + not NOT_5135(I8814,g4028); + not NOT_5136(g1667,g1481); + not NOT_5137(g4525,g2870); + not NOT_5138(g4710,I9009); + not NOT_5139(g7178,I13088); + not NOT_5140(g2782,g1616); + not NOT_5141(g6295,I11212); + not NOT_5142(g1235,I5422); + not NOT_5143(g5612,g4814); + not NOT_5144(I12517,g6613); + not NOT_5145(g6237,I11040); + not NOT_5146(g4645,I8850); + not NOT_5147(I13157,g6997); + not NOT_5148(g2661,I6454); + not NOT_5149(g5417,g5006); + not NOT_5150(g1566,g652); + not NOT_5151(g7135,I12989); + not NOT_5152(g6844,I12403); + not NOT_5153(g7335,I13425); + not NOT_5154(I11066,g5460); + not NOT_5155(I13066,g6957); + not NOT_5156(I13231,g6897); + not NOT_5157(g7288,I13296); + not NOT_5158(g6194,I10937); + not NOT_5159(I5528,g43); + not NOT_5160(g2627,g1572); + not NOT_5161(I14118,g7565); + not NOT_5162(g5128,I9528); + not NOT_5163(I9624,g4746); + not NOT_5164(g2292,I6060); + not NOT_5165(I14022,g7443); + not NOT_5166(g6089,g5317); + not NOT_5167(I12193,g6468); + not NOT_5168(g6731,I12101); + not NOT_5169(g4607,I8736); + not NOT_5170(I8769,g3999); + not NOT_5171(I13876,g7347); + not NOT_5172(I13885,g7351); + not NOT_5173(g5542,g5061); + not NOT_5174(g7022,I12776); + not NOT_5175(g2646,I6422); + not NOT_5176(g7422,I13541); + not NOT_5177(g4659,I8892); + not NOT_5178(g7749,I14118); + not NOT_5179(g1555,I5428); + not NOT_5180(I12523,g6624); + not NOT_5181(g4358,g3680); + not NOT_5182(g1804,I5664); + not NOT_5183(I6887,g2528); + not NOT_5184(g8683,g8235); + not NOT_5185(I13854,g7327); + not NOT_5186(g6071,I10694); + not NOT_5187(g9219,I15933); + not NOT_5188(g1792,g616); + not NOT_5189(g2039,g1228); + not NOT_5190(g3061,I6795); + not NOT_5191(g3187,I6860); + not NOT_5192(g6471,I11627); + not NOT_5193(g8778,I14974); + not NOT_5194(I14276,g7720); + not NOT_5195(I14285,g7625); + not NOT_5196(g2484,g45); + not NOT_5197(g9031,I15507); + not NOT_5198(g5800,I10439); + not NOT_5199(I5410,g8866); + not NOT_5200(g3461,I6959); + not NOT_5201(g6242,I11047); + not NOT_5202(I14305,g7537); + not NOT_5203(g9252,I15982); + not NOT_5204(g4587,g2928); + not NOT_5205(I12475,g6596); + not NOT_5206(I6033,g3); + not NOT_5207(I9576,g4706); + not NOT_5208(I10466,g5221); + not NOT_5209(g6948,I12655); + not NOT_5210(g4111,I7944); + not NOT_5211(I5839,g1198); + not NOT_5212(g7560,I13854); + not NOT_5213(g4275,g3790); + not NOT_5214(g4311,I8282); + not NOT_5215(g9376,I16154); + not NOT_5216(I15738,g9079); + not NOT_5217(I15562,g8979); + not NOT_5218(I15645,g9043); + not NOT_5219(g6955,I12666); + not NOT_5220(g4615,I8760); + not NOT_5221(g3904,g3160); + not NOT_5222(g8661,I14777); + not NOT_5223(I10177,g4721); + not NOT_5224(I15699,g9061); + not NOT_5225(I6096,g521); + not NOT_5226(g6254,g5683); + not NOT_5227(g6814,I12313); + not NOT_5228(g7095,I12877); + not NOT_5229(g3514,g2424); + not NOT_5230(g2919,g2311); + not NOT_5231(g7037,g6525); + not NOT_5232(g6150,g5287); + not NOT_5233(g7495,I13663); + not NOT_5234(g1908,g812); + not NOT_5235(g7437,I13570); + not NOT_5236(g6350,I11377); + not NOT_5237(g7102,I12894); + not NOT_5238(g7208,I13140); + not NOT_5239(I6195,g405); + not NOT_5240(g7302,I13338); + not NOT_5241(I13550,g1173); + not NOT_5242(g6038,I10649); + not NOT_5243(I5667,g916); + not NOT_5244(I11314,g5781); + not NOT_5245(I6337,g1348); + not NOT_5246(g3841,I7326); + not NOT_5247(I13314,g7160); + not NOT_5248(I11287,g5806); + not NOT_5249(g2276,I6029); + not NOT_5250(I12253,g6427); + not NOT_5251(g6773,I12190); + not NOT_5252(I13287,g7157); + not NOT_5253(g1567,g655); + not NOT_5254(I16103,g9339); + not NOT_5255(g7579,I13882); + not NOT_5256(I14064,g7556); + not NOT_5257(g6009,I10605); + not NOT_5258(g3191,I6868); + not NOT_5259(g4545,g2887); + not NOT_5260(g2616,g1564); + not NOT_5261(g7719,g7475); + not NOT_5262(g2561,g1555); + not NOT_5263(g5490,g4917); + not NOT_5264(g691,I5389); + not NOT_5265(g5823,I10494); + not NOT_5266(g534,I5365); + not NOT_5267(g5166,I9624); + not NOT_5268(I11596,g6228); + not NOT_5269(g4591,g2937); + not NOT_5270(g8603,I14674); + not NOT_5271(I13054,g6960); + not NOT_5272(g8039,g7696); + not NOT_5273(g1776,g608); + not NOT_5274(g6769,I12176); + not NOT_5275(g7752,I14127); + not NOT_5276(I11431,g5782); + not NOT_5277(g9073,I15613); + not NOT_5278(g6836,I12379); + not NOT_5279(g4020,I7781); + not NOT_5280(g6212,I10973); + not NOT_5281(g2404,g1276); + not NOT_5282(I5548,g1280); + not NOT_5283(I8895,g4130); + not NOT_5284(g2647,I6425); + not NOT_5285(g5529,g4689); + not NOT_5286(g3159,I6856); + not NOT_5287(I10166,g5016); + not NOT_5288(g5148,I9570); + not NOT_5289(g3359,I6946); + not NOT_5290(g5649,g4748); + not NOT_5291(g6918,I12609); + not NOT_5292(g6967,I12696); + not NOT_5293(I5555,g1288); + not NOT_5294(I11269,g5756); + not NOT_5295(I14166,g7702); + not NOT_5296(I14009,g7436); + not NOT_5297(g2764,g1802); + not NOT_5298(g7265,g7077); + not NOT_5299(g9324,I16072); + not NOT_5300(g7042,g6543); + not NOT_5301(g2546,I6368); + not NOT_5302(I11773,g6262); + not NOT_5303(g5155,I9591); + not NOT_5304(g4559,g2898); + not NOT_5305(g9069,I15601); + not NOT_5306(I11942,g6015); + not NOT_5307(I11341,g5809); + not NOT_5308(I13773,g7496); + not NOT_5309(g3858,I7377); + not NOT_5310(g7442,I13583); + not NOT_5311(g8583,I14668); + not NOT_5312(I13341,g7207); + not NOT_5313(g4931,I9301); + not NOT_5314(I6248,g411); + not NOT_5315(I7564,g2752); + not NOT_5316(I9258,g4249); + not NOT_5317(g3757,g1977); + not NOT_5318(g2970,g2394); + not NOT_5319(g6229,g5665); + not NOT_5320(I15481,g8913); + not NOT_5321(I10485,g5229); + not NOT_5322(g6993,I12731); + not NOT_5323(g1933,g1247); + not NOT_5324(g7164,I13066); + not NOT_5325(g7364,I13506); + not NOT_5326(I6081,g118); + not NOT_5327(g2925,g2324); + not NOT_5328(g9177,I15811); + not NOT_5329(g7233,g6940); + not NOT_5330(g9206,g9196); + not NOT_5331(I10555,g5529); + not NOT_5332(I10454,g5217); + not NOT_5333(g6822,I12337); + not NOT_5334(g3522,g2407); + not NOT_5335(I14454,g8177); + not NOT_5336(g7054,g6511); + not NOT_5337(g2224,I5945); + not NOT_5338(g3642,I7118); + not NOT_5339(I13734,g7422); + not NOT_5340(g3047,g1736); + not NOT_5341(I10914,g5448); + not NOT_5342(I11335,g5839); + not NOT_5343(g7454,I13610); + not NOT_5344(g4628,I8799); + not NOT_5345(I14712,g8059); + not NOT_5346(I13335,g7206); + not NOT_5347(g7770,I14181); + not NOT_5348(g5463,g5085); + not NOT_5349(I6154,g122); + not NOT_5350(g7296,I13320); + not NOT_5351(I6354,g1357); + not NOT_5352(g4630,I8805); + not NOT_5353(I13930,g7405); + not NOT_5354(g7725,I14046); + not NOT_5355(I11838,g6281); + not NOT_5356(I5908,g196); + not NOT_5357(g4300,I8261); + not NOT_5358(g7532,I13776); + not NOT_5359(g1724,I5568); + not NOT_5360(I7308,g3074); + not NOT_5361(g3874,g2957); + not NOT_5362(I12208,g6496); + not NOT_5363(I13131,g6951); + not NOT_5364(g3654,g2521); + not NOT_5365(g9199,g9188); + not NOT_5366(I15784,g9125); + not NOT_5367(g8647,I14739); + not NOT_5368(I15956,g9216); + not NOT_5369(g2617,g1565); + not NOT_5370(g2906,g2288); + not NOT_5371(I15385,g8880); + not NOT_5372(g1878,g80); + not NOT_5373(g5167,I9627); + not NOT_5374(I14238,g7608); + not NOT_5375(g5367,I9834); + not NOT_5376(g5872,I10561); + not NOT_5377(I13487,g7129); + and AND2_0(g7412,g7121,g4841); + and AND2_1(g6462,g6215,g2424); + and AND2_2(g8925,g4592,g8754); + and AND2_3(g4969,g4362,g2216); + and AND2_4(g7429,g1057,g7212); + and AND2_5(g9144,g9123,g6096); + and AND2_6(g9344,g9329,g6211); + and AND2_7(g4123,g2627,g2617); + and AND2_8(g8320,g4557,g7951); + and AND4_0(I8431,g3430,g3398,g3359,g3341); + and AND2_9(g9259,g9230,g5639); + and AND2_10(g8277,g162,g8042); + and AND4_1(I8005,g3430,g3398,g3359,g2106); + and AND2_11(g4351,g309,g3131); + and AND2_12(g8299,g591,g8181); + and AND2_13(g6941,g1126,g6582); + and AND2_14(g4410,g408,g3160); + and AND2_15(g8892,g8681,g4969); + and AND4_2(I7994,g3430,g3398,g3359,g3341); + and AND2_16(g5552,g1114,g4832); + and AND2_17(g8945,g4541,g8784); + and AND2_18(g8738,g8619,g3338); + and AND2_19(g6431,g5847,g5494); + and AND2_20(g4172,I8057,I8058); + and AND2_21(g7449,g7272,g6901); + and AND2_22(g8709,g2818,g8386); + and AND2_23(g6176,g1149,g5198); + and AND2_24(g6005,g5557,g2407); + and AND2_25(g4343,g306,g3131); + and AND2_26(g8078,g7463,g7634); + and AND2_27(g8340,g423,g7920); + and AND2_28(g6405,g5956,g5494); + and AND2_29(g4282,g3549,g3568); + and AND2_30(g7604,g7456,g3466); + and AND2_31(g1714,g1454,g1450); + and AND2_32(g5570,g1759,g4841); + and AND2_33(g8690,g3485,g8363); + and AND2_34(g7833,g6461,g7601); + and AND2_35(g4334,g225,g3097); + and AND2_36(g8876,g8769,g6102); + and AND2_37(g6733,g685,g5873); + and AND2_38(g6974,g3613,g6505); + and AND2_39(g4804,g952,g3876); + and AND2_40(g8915,g8794,g8239); + and AND2_41(g7419,g7230,g3530); + and AND2_42(g8310,g573,g8181); + and AND2_43(g4494,I8546,I8547); + and AND2_44(g8824,g264,g8524); + and AND2_45(g8877,g8773,g6104); + and AND2_46(g6399,g5971,g5494); + and AND3_0(I9330,g2784,g2770,g2746); + and AND2_47(g9142,g9124,g6059); + and AND2_48(g8928,g4595,g8757); + and AND2_49(g5020,g579,g3937); + and AND4_3(g4933,g2746,g2728,g4320,g2770); + and AND2_50(g8930,g3866,g8760); + and AND4_4(I8114,g2162,g2149,g2137,g2106); + and AND2_51(g8064,g7483,g7634); + and AND2_52(g7678,g7367,g4158); + and AND2_53(g4724,g828,g4038); + and AND2_54(g7087,g6440,g5311); + and AND2_55(g4379,g399,g3160); + and AND2_56(g8295,g4512,g7905); + and AND2_57(g8237,g89,g8131); + and AND2_58(g6923,g6570,g5612); + and AND3_1(g4878,g2573,g2562,I9222); + and AND2_59(g8844,g4056,g8602); + and AND4_5(I8594,g3316,g2057,g2020,g1987); + and AND3_2(I9166,g4041,g2595,g2584); + and AND2_60(g8089,g840,g7658); + and AND2_61(g8731,g2743,g8421); + and AND2_62(g4271,g3666,g3684); + and AND2_63(g6951,g5511,g6595); + and AND2_64(g8071,g7540,g4969); + and AND2_65(g8705,g2798,g8421); + and AND2_66(g4799,g951,g4596); + and AND4_6(I8033,g3430,g3398,g3359,g2106); + and AND2_67(g8948,g4570,g8789); + and AND2_68(g5969,g5564,g2424); + and AND2_69(g7602,g7476,g3466); + and AND2_70(g7007,g6627,g5072); + and AND2_71(g5123,g516,g4033); + and AND2_72(g4132,g2637,g2633); + and AND4_7(I8496,g3316,g3287,g2020,g1987); + and AND3_3(g4238,g2695,g2698,I8157); + and AND2_73(g8814,g3880,g8463); + and AND2_74(g6408,g669,g6019); + and AND2_75(g8150,g846,g7658); + and AND2_76(g4744,g3525,g4296); + and AND2_77(g8438,g649,g7793); + and AND2_78(g6972,g5661,g6498); + and AND2_79(g7415,g7222,g5603); + and AND2_80(g8836,g348,g8545); + and AND3_4(g4901,g3723,g4288,I9261); + and AND2_81(g6433,g778,g6134); + and AND2_82(g8229,g8180,g5680); + and AND2_83(g9349,g9340,g5690); + and AND2_84(g8822,g417,g8564); + and AND2_85(g6395,g2157,g6007); + and AND2_86(g8921,g4579,g8747); + and AND2_87(g7689,g7367,g4417); + and AND2_88(g5334,g4887,g2424); + and AND2_89(g5548,g1549,g4826); + and AND2_90(g4968,g4403,g1760); + and AND2_91(g6266,g1481,g5285); + and AND2_92(g8837,g426,g8564); + and AND2_93(g7030,g6705,g5723); + and AND2_94(g8062,g7476,g7634); + and AND2_95(g8620,g751,g8199); + and AND2_96(g8462,g49,g8199); + and AND2_97(g9119,g9049,g5345); + and AND4_8(I8001,g2074,g3287,g2020,g1987); + and AND2_98(g7564,g7367,g4172); + and AND2_99(g9258,g9227,g5628); + and AND4_9(I8401,g3316,g3287,g3264,g3238); + and AND2_100(g4175,g1110,g3502); + and AND2_101(g4375,g219,g3097); + and AND2_102(g5313,g4820,g2407); + and AND2_103(g6726,g5897,g5367); + and AND2_104(g6154,g1499,g5713); + and AND2_105(g8842,g429,g8564); + and AND2_106(g7609,g7467,g3466); + and AND2_107(g8298,g553,g8181); + and AND2_108(g5094,g535,g4004); + and AND2_109(g9274,g4748,g9255); + and AND2_110(g4139,I8000,I8001); + and AND2_111(g4384,g246,g3097); + and AND2_112(g4838,g4517,g1760); + and AND2_113(g8854,g443,g8564); + and AND2_114(g7217,g1142,g6941); + and AND2_115(g8941,g3882,g8776); + and AND2_116(g4424,g489,g3192); + and AND2_117(g6979,g5095,g6511); + and AND2_118(g5593,g4110,g4969); + and AND3_5(g6112,g5673,g4841,g5541); + and AND2_119(g4077,g1284,g3582); + and AND2_120(g6001,g5540,g2407); + and AND2_121(g6401,g5971,g5367); + and AND2_122(g8708,g3557,g8407); + and AND2_123(g7827,g7575,g7173); + and AND2_124(g5050,g587,g3970); + and AND2_125(g1725,g1409,g1416); + and AND2_126(g6727,g681,g5846); + and AND2_127(g8405,g741,g8018); + and AND2_128(g4099,g117,g3647); + and AND2_129(g4304,g2784,g3779); + and AND2_130(g8829,g267,g8524); + and AND2_131(g8286,g180,g8156); + and AND2_132(g8911,g8798,g7688); + and AND2_133(g8733,g2996,g8493); + and AND2_134(g8270,g110,g8131); + and AND2_135(g8610,g665,g7887); + and AND2_136(g9345,g9330,g6217); + and AND3_6(g4269,g2354,g3563,I8209); + and AND4_10(I8524,g3316,g2057,g3264,g1987); + and AND2_137(g2781,g1600,g976); + and AND2_138(g8069,g7456,g7634); + and AND2_139(g4712,g1179,g4276); + and AND2_140(g7181,g6124,g7039); + and AND2_141(g9159,g9138,g6074); + and AND2_142(g9359,g4748,g9340); + and AND2_143(g8377,g507,g7966); + and AND2_144(g7197,g7093,g5055); + and AND2_145(g7700,g7367,g4494); + and AND2_146(g7021,g3390,g6673); + and AND2_147(g4729,g1504,g4059); + and AND2_148(g4961,g377,g3904); + and AND2_149(g9016,g8904,g8239); + and AND2_150(g8287,g4500,g7855); + and AND4_11(I8186,g3778,g3549,g3568,g3583); + and AND2_151(g5132,I9534,I9535); + and AND2_152(g8849,g513,g8585); + and AND4_12(I7995,g2074,g3287,g2020,g3238); + and AND2_153(g9251,g4748,g9230); + and AND2_154(g4414,I8412,I8413); + and AND3_7(g3313,g2334,g2316,g2298); + and AND2_155(g7631,g7367,g4187); + and AND2_156(g8291,g122,g8111); + and AND2_157(g3094,g945,g1898); + and AND2_158(g4436,g492,g3192); + and AND2_159(g6577,g6142,g4160); + and AND2_160(g7605,g7435,g5607); + and AND2_161(g4378,g321,g3131); + and AND2_162(g4135,I7994,I7995); + and AND2_163(g5092,g456,g4002); + and AND2_164(g4182,I8071,I8072); + and AND4_13(g4288,g3563,g3579,g3603,I8240); + and AND2_165(g9272,g4748,g9248); + and AND2_166(g8259,g4538,g7855); + and AND2_167(g5714,g1532,g4733); + and AND2_168(g8088,g837,g7658); + and AND2_169(g8852,g362,g8545); + and AND2_170(g8923,g4587,g8751); + and AND4_14(I8461,g3316,g3287,g2020,g3238); + and AND2_171(g7041,g6734,g5206); + and AND2_172(g4422,g411,g3160); + and AND2_173(g8701,g2700,g8363); + and AND2_174(g2768,g1597,g973); + and AND2_175(g9328,g9324,g6465); + and AND2_176(g4798,g4216,g1760); + and AND2_177(g9130,g9054,g5345); + and AND2_178(g6125,g5548,g4202); + and AND2_179(g2972,g2397,g2407); + and AND4_15(I8046,g2074,g2057,g3264,g1987); + and AND2_180(g8951,g8785,g6072); + and AND2_181(g8314,g443,g7920); + and AND2_182(g4437,g540,g2845); + and AND2_183(g8825,g342,g8545); + and AND2_184(g8650,g591,g8094); + and AND3_8(g4302,g3086,g3659,g3124); + and AND2_185(g1728,g1432,g1439); + and AND2_186(g8336,g420,g7920); + and AND2_187(g6061,g5257,g1616); + and AND2_188(g8943,g4560,g8781); + and AND2_189(g6046,g1073,g5592); + and AND4_16(I8115,g2074,g3287,g3264,g1987); + and AND4_17(I8642,g3430,g3398,g3359,g2106); + and AND2_190(g8322,g4559,g7993); + and AND3_9(g6003,g3716,g5633,I10597); + and AND2_191(g8934,g3873,g8766); + and AND2_192(g9348,g9333,g6229); + and AND2_193(g7713,g4403,g7367); + and AND2_194(g6145,g1489,g5705); + and AND2_195(g4054,g3767,g2424); + and AND2_196(g4454,g544,g2845); + and AND2_197(g5077,g236,g3988); + and AND2_198(g4532,I8617,I8618); + and AND2_199(g6107,g5478,g1849); + and AND2_200(g8845,g432,g8564); + and AND3_10(I9202,g2605,g4044,g2584); + and AND2_201(g8337,g498,g7966); + and AND2_202(g4412,g486,g3192); + and AND2_203(g5104,g274,g4010); + and AND2_204(g6757,g5874,g5412); + and AND2_205(g9279,g9255,g5665); + and AND2_206(g4389,g480,g3192); + and AND4_18(I8612,g3430,g3398,g3359,g3341); + and AND2_207(g6416,g710,g6026); + and AND4_19(I8417,g3430,g3398,g3359,g2106); + and AND2_208(g9118,g9046,g5345); + and AND2_209(g4787,g953,g4547); + and AND2_210(g6047,g1477,g5596); + and AND2_211(g8266,g2157,g8042); + and AND2_212(g6447,g734,g6073); + and AND2_213(g4956,g295,g3892); + and AND2_214(g2979,g1494,g1733); + and AND2_215(g5044,g234,g3959); + and AND2_216(g8081,g834,g7658); + and AND2_217(g8815,g258,g8524); + and AND2_218(g7183,g6132,g7042); + and AND2_219(g7608,g7367,g4169); + and AND2_220(g8692,g3462,g8363); + and AND2_221(g8726,g2795,g8386); + and AND2_222(g4138,g2638,g2634); + and AND2_223(g4109,g990,g3790); + and AND2_224(g4791,g949,g4562); + and AND2_225(g4707,g812,g4062); + and AND2_226(g6417,g718,g6027); + and AND4_20(I8090,g3316,g2057,g2020,g3238); + and AND4_21(I8490,g3430,g3398,g3359,g3341); + and AND2_227(g4201,I8108,I8109); + and AND2_228(g8267,g154,g8042); + and AND2_229(g8312,g365,g7870); + and AND2_230(g6629,g6023,g4841); + and AND3_11(g4957,g2746,g2728,g4320); + and AND2_231(g4049,g141,g3514); + and AND4_22(I8456,g3316,g3287,g2020,g1987); + and AND4_23(I8529,g3316,g2057,g3264,g3238); + and AND2_232(g8293,g4510,g7855); + and AND2_233(g8329,g527,g7966); + and AND2_234(g7696,g7367,g4469); + and AND2_235(g5513,g4889,g5071); + and AND2_236(g4098,g985,g3790); + and AND2_237(g6554,g5762,g1616); + and AND2_238(g8828,g4573,g8541); + and AND2_239(g8830,g345,g8545); + and AND2_240(g8727,g2724,g8421); + and AND2_241(g5436,g1541,g4926); + and AND2_242(g7240,g6719,g6894); + and AND4_24(I8063,g2162,g2149,g2137,g2106); + and AND2_243(g8703,g3574,g8407); + and AND2_244(g4268,g2216,g2655); + and AND2_245(g8932,g3868,g8762); + and AND2_246(g6166,g1509,g5725); + and AND2_247(g8624,g754,g8199); + and AND2_248(g8953,g8758,g6093); + and AND2_249(g4052,g1276,g3522); + and AND2_250(g8068,g7687,g5610); + and AND2_251(g4452,g437,g3160); + and AND3_12(g6056,g3760,g5286,g1695); + and AND2_252(g6456,g6116,g2407); + and AND4_25(I8057,g3430,g3398,g3359,g3341); + and AND2_253(g7681,g7444,g5099); + and AND2_254(g9158,g9137,g6070); + and AND2_255(g5560,g3390,g5036); + and AND2_256(g4086,g103,g3629); + and AND2_257(g4728,g190,g4179); + and AND2_258(g4486,I8528,I8529); + and AND2_259(g8716,g3506,g8443); + and AND2_260(g7596,g7428,g7028); + and AND2_261(g4504,I8568,I8569); + and AND2_262(g4185,g2636,g2632); + and AND2_263(g9275,g9241,g5645); + and AND2_264(g4385,g300,g3131); + and AND2_265(g8848,g281,g8524); + and AND2_266(g5579,g4090,g4841); + and AND2_267(g4425,g536,g2845); + and AND2_268(g2386,g1130,g1092); + and AND2_269(g5442,g4679,g4202); + and AND2_270(g6057,g1061,g5617); + and AND2_271(g4131,g2630,g2622); + and AND2_272(g8319,g255,g7838); + and AND4_26(I8552,g3316,g2057,g3264,g1987); + and AND2_273(g8258,g142,g8111); + and AND2_274(g6971,g6424,g4969); + and AND2_275(g8717,g2764,g8421); + and AND2_276(g7597,g7316,g4841); + and AND2_277(g7079,g4259,g6677); + and AND2_278(g8274,g4580,g7951); + and AND2_279(g4445,I8455,I8456); + and AND2_280(g4091,g129,g3639); + and AND2_281(g4491,g557,g2845); + and AND2_282(g8325,g184,g8156); + and AND2_283(g8821,g339,g8545); + and AND2_284(g4169,I8052,I8053); + and AND2_285(g5029,g212,g3945); + and AND2_286(g4369,g580,g2845); + and AND2_287(g8280,g114,g8111); + and AND2_288(g8939,g3879,g8772); + and AND2_289(g4407,g252,g3097); + and AND2_290(g4059,g1499,g2979); + and AND2_291(g4868,g4227,g4160); + and AND2_292(g8306,g4525,g7951); + and AND2_293(g4793,g3887,g4202); + and AND2_294(g8461,g658,g7793); + and AND2_295(g8622,g738,g7811); + and AND2_296(g4246,g1106,g3226); + and AND2_297(g8403,g639,g7793); + and AND2_298(g8841,g351,g8545); + and AND2_299(g5049,g474,g3969); + and AND4_27(I8020,g2074,g3287,g2020,g1987); + and AND2_300(g8695,g2709,g8363); + and AND2_301(g8307,g432,g7920); + and AND2_302(g9278,g9252,g5658); + and AND2_303(g4388,g402,g3160); + and AND2_304(g8359,g642,g7793); + and AND2_305(g4216,I8114,I8115); + and AND2_306(g9143,g9122,g6089); + and AND2_307(g9343,g9328,g1738); + and AND2_308(g7626,g7463,g3466); + and AND2_309(g8858,g524,g8585); + and AND2_310(g4430,I8436,I8437); + and AND4_28(I9534,g3019,g3029,g3038,g3052); + and AND2_311(g9334,g9318,g6205); + and AND2_312(g8315,g4544,g7993); + and AND2_313(g4826,g1545,g4239); + and AND2_314(g6239,g1514,g5314); + and AND2_315(g5019,g312,g3933); + and AND2_316(g2935,g1612,g1077); + and AND2_317(g7683,g1061,g7429); + and AND2_318(g5452,g4876,g3499); + and AND2_319(g8654,g570,g8094); + and AND2_320(g6420,g5918,g5367); + and AND2_321(g4108,g782,g3655); + and AND3_13(g4883,g3746,g3723,g4288); + and AND4_29(I8040,g3430,g3398,g3359,g3341); + and AND2_322(g4066,g1280,g3532); + and AND2_323(g8272,g158,g8042); + and AND2_324(g4466,I8490,I8491); + and AND2_325(g8978,g8909,g5587); + and AND2_326(g8612,g673,g7887); + and AND3_14(g3429,g1454,g1838,g1444); + and AND2_327(g6204,g5542,g5294); + and AND2_328(g4365,g237,g3097); + and AND2_329(g4048,g1288,g3513); + and AND2_330(g8935,g3874,g8767); + and AND2_331(g5425,g1528,g4916); + and AND2_332(g4448,I8460,I8461); + and AND2_333(g4711,g190,g4072); + and AND4_30(I8528,g3430,g3398,g3359,g2106); + and AND2_334(g8328,g4571,g7993); + and AND2_335(g4133,g2631,g2623); + and AND2_336(g4333,g1087,g2782); + and AND2_337(g8542,g661,g7887); + and AND2_338(g8330,g261,g7838); + and AND2_339(g4396,g459,g3192); + and AND2_340(g9160,g9139,g6092); + and AND2_341(g6040,g1462,g5578); + and AND2_342(g5105,g354,g4013); + and AND2_343(g7616,g7367,g4517); + and AND2_344(g7561,g7367,g4163); + and AND2_345(g4067,g133,g3539); + and AND4_31(I8618,g2074,g3287,g3264,g3238); + and AND3_15(I8143,g2674,g2677,g2680); + and AND2_346(g3049,g2274,g1844); + and AND2_347(g8090,g843,g7658); + and AND2_348(g6151,g1494,g5709); + and AND2_349(g8823,g4561,g8512); + and AND2_350(g5045,g293,g3961); + and AND2_351(g5091,g397,g4001); + and AND2_352(g4181,g1142,g3512); + and AND2_353(g8456,g703,g7811); + and AND2_354(g9271,g4748,g9244); + and AND2_355(g4397,g483,g3192); + and AND2_356(g8851,g284,g8524); + and AND2_357(g4421,g333,g3131); + and AND2_358(g8698,g3774,g8342); + and AND2_359(g8260,g138,g8111); + and AND2_360(g5767,g5344,g3079); + and AND2_361(g6172,g1514,g5192); + and AND2_362(g9238,g4748,g9223); + and AND2_363(g8720,g3825,g8421); + and AND2_364(g4101,g108,g3649); + and AND2_365(g8318,g183,g8156); + and AND2_366(g8652,g563,g8094); + and AND2_367(g8843,g507,g8585); + and AND4_32(I8593,g3430,g3398,g3359,g2106); + and AND2_368(g8457,g724,g7811); + and AND3_16(I10597,g3769,g3754,g3735); + and AND2_369(g1753,g819,g815); + and AND2_370(g8686,g3819,g8342); + and AND2_371(g7709,g7367,g4529); + and AND2_372(g8321,g446,g7920); + and AND2_373(g6908,g6478,g5246); + and AND2_374(g4168,g1106,g3500); + and AND2_375(g6567,g6265,g2424); + and AND2_376(g4368,g318,g3131); + and AND2_377(g8938,g3878,g8771); + and AND2_378(g5428,g775,g4707); + and AND2_379(g8813,g255,g8524); + and AND2_380(g5030,g233,g3946); + and AND2_381(g4058,g3656,g2407); + and AND2_382(g4743,g3518,g4286); + and AND2_383(g8740,g2966,g8493); + and AND2_384(g6965,g55,g6489); + and AND2_385(g4411,g462,g3192); + and AND2_386(g8687,g3488,g8363); + and AND2_387(g6160,g1504,g5718); + and AND2_388(g3226,g1102,g1919); + and AND2_389(g4074,g137,g3573); + and AND2_390(g5108,g539,g4017); + and AND2_391(g6641,g5939,g5494); + and AND2_392(g7002,g6770,g5054); + and AND2_393(g6996,g3678,g6552); + and AND2_394(g5066,g395,g3978); + and AND2_395(g8860,g527,g8585); + and AND2_396(g8341,g501,g7966); + and AND2_397(g8710,g2790,g8421); + and AND2_398(g9384,g9383,g6245); + and AND2_399(g8645,g550,g8094); + and AND3_17(I8209,g2298,g2316,g2334); + and AND2_400(g7657,g7367,g4201); + and AND2_401(g8691,g3805,g8342); + and AND2_402(g5048,g394,g3966); + and AND2_403(g9024,g8884,g5317); + and AND2_404(g8879,g8782,g6108); + and AND2_405(g8607,g8154,g5616); + and AND2_406(g8962,g8890,g5317); + and AND2_407(g6611,g3390,g6249); + and AND2_408(g1739,g803,g799); + and AND2_409(g8275,g4581,g7993); + and AND2_410(g8311,g4540,g7905); + and AND2_411(g4400,g1138,g3614); + and AND2_412(g6541,g6144,g3510); + and AND4_33(I8574,g3316,g2057,g2020,g3238); + and AND2_413(g5018,g232,g3930); + and AND2_414(g5067,g454,g3980); + and AND2_415(g5093,g477,g4003); + and AND2_416(g9273,g4748,g9252); + and AND2_417(g7557,g7367,g4147); + and AND2_418(g4383,g222,g3097); + and AND4_34(g4220,g3533,g3549,g3568,g3583); + and AND2_419(g8380,g681,g7887); + and AND2_420(g8832,g501,g8585); + and AND2_421(g7071,g6639,g1872); + and AND2_422(g4779,g4176,g1760); + and AND2_423(g7705,g7367,g4514); + and AND2_424(g8853,g365,g8545); + and AND2_425(g7242,g7081,g6899); + and AND2_426(g4423,g465,g3192); + and AND2_427(g3188,g2298,g2316); + and AND2_428(g5700,g1638,g4969); + and AND2_429(g4361,g471,g3192); + and AND2_430(g8931,g3867,g8761); + and AND2_431(g4127,g2628,g2618); + and AND2_432(g4451,g359,g3131); + and AND2_433(g4327,g2959,g1867); + and AND2_434(g6574,g1045,g5984); + and AND2_435(g7038,g6466,g4841); + and AND2_436(g8628,g753,g8199); + and AND2_437(g8300,g126,g8111); + and AND2_438(g9014,g8906,g8239); + and AND2_439(g7212,g1053,g7010); + and AND2_440(g5817,g5395,g3091); + and AND2_441(g4472,g440,g3160); + and AND2_442(g3466,g936,g2557); + and AND2_443(g8440,g714,g7937); + and AND4_35(I8523,g3430,g3398,g3359,g3341); + and AND2_444(g5585,g4741,g4841); + and AND4_36(I8643,g2074,g3287,g3264,g1987); + and AND4_37(I9535,g3062,g2712,g4253,g2752); + and AND2_445(g6175,g4332,g5614); + and AND2_446(g8323,g524,g7966); + and AND2_447(g9335,g9320,g6206); + and AND2_448(g5441,g4870,g3497); + and AND2_449(g4434,g356,g3131); + and AND3_18(I9261,g3777,g3764,g3746); + and AND2_450(g4147,I8014,I8015); + and AND4_38(I8551,g3430,g3398,g3359,g2106); + and AND2_451(g9022,g8887,g5317); + and AND2_452(g4681,g4255,g3533); + and AND2_453(g8151,g849,g7658); + and AND2_454(g8648,g588,g8094); + and AND2_455(g7837,g6470,g7610); + and AND2_456(g5458,g4686,g1616); + and AND2_457(g3509,g1637,g1616); + and AND4_39(I8613,g2074,g3287,g3264,g1987); + and AND2_458(g8839,g4050,g8581); + and AND2_459(g9037,g8965,g5345); + and AND2_460(g6643,g1860,g5868); + and AND2_461(g4936,g214,g3888); + and AND2_462(g4117,g2626,g2616); + and AND4_40(g4317,g878,g3086,g1857,g3659); + and AND2_463(g8278,g4589,g7993); + and AND2_464(g7192,g7026,g3526); + and AND2_465(g8282,g179,g8156); + and AND2_466(g5080,g396,g3991); + and AND2_467(g5573,g3011,g4841); + and AND2_468(g8693,g3798,g8342); + and AND2_469(g8334,g264,g7838); + and AND4_41(I8014,g3430,g3398,g3359,g3341); + and AND2_470(g1919,g1098,g1087); + and AND2_471(g6044,g1467,g5584); + and AND2_472(g7031,g3390,g6717); + and AND2_473(g6444,g1676,g6125); + and AND2_474(g7252,g3591,g6977); + and AND2_475(g8621,g734,g7937); + and AND2_476(g4937,g3086,g4309); + and AND2_477(g8313,g4542,g7951); + and AND2_478(g4840,g4235,g1980); + and AND4_42(I8436,g3430,g3398,g3359,g2106); + and AND2_479(g4190,g1122,g3527); + and AND2_480(g4390,g560,g2845); + and AND2_481(g5126,g556,g4037); + and AND2_482(g9012,g8908,g8239); + and AND3_19(I8288,g3666,g3684,g3694); + and AND2_483(g4356,g468,g3192); + and AND2_484(g9371,g9352,g5917); + and AND2_485(g6414,g673,g6025); + and AND2_486(g8264,g105,g8131); + and AND2_487(g4163,I8040,I8041); + and AND2_488(g8933,g4511,g8765); + and AND2_489(g7177,g7016,g5586); + and AND2_490(g4053,g1292,g3523); + and AND2_491(g5588,g3028,g4969); + and AND2_492(g4453,g495,g3192); + and AND4_43(I8495,g3430,g3398,g3359,g2106); + and AND4_44(I8437,g3316,g3287,g3264,g1987); + and AND2_493(g6182,g1519,g5199); + and AND2_494(g8724,g3822,g8464); + and AND2_495(g8379,g691,g7793); + and AND2_496(g7199,g1467,g7003); + and AND2_497(g6916,g727,g6515); + and AND2_498(g6022,g5595,g2424); + and AND2_499(g8878,g8777,g6106); + and AND2_500(g6422,g714,g6033); + and AND2_501(g8289,g348,g7870); + and AND2_502(g8835,g270,g8524); + and AND2_503(g8271,g130,g8111); + and AND2_504(g8611,g669,g7887); + and AND2_505(g5043,g213,g3958); + and AND3_20(I8296,g3666,g3684,g3707); + and AND2_506(g6437,g859,g6050); + and AND2_507(g5443,g1549,g4935); + and AND2_508(g7694,g7367,g4448); + and AND2_509(g5116,g355,g4021); + and AND2_510(g8238,g100,g8131); + and AND2_511(g5034,g583,g3956); + and AND2_512(g8332,g417,g7920); + and AND2_513(g7701,g7367,g4497); + and AND2_514(g8153,g852,g7658); + and AND2_515(g4778,g4169,g1760); + and AND2_516(g8744,g3802,g8464); + and AND2_517(g7215,g6111,g6984); + and AND4_45(I8412,g3430,g3398,g3359,g3341); + and AND2_518(g4782,g4187,g1760); + and AND2_519(g6042,g1041,g5581); + and AND4_46(I8029,g2074,g2057,g3264,g1987); + and AND2_520(g8901,g8804,g5631); + and AND2_521(g6054,g1057,g5611); + and AND2_522(g4526,g2642,g741); + and AND2_523(g7008,g6615,g5083); + and AND2_524(g2889,g1612,g1077); + and AND2_525(g7136,g4057,g6953); + and AND2_526(g5117,g435,g4024); + and AND2_527(g8714,g2873,g8407); + and AND2_528(g9025,g8889,g5317); + and AND4_47(I8109,g2074,g3287,g3264,g3238); + and AND2_529(g4702,g4243,g1690); + and AND2_530(g6412,g158,g6024); + and AND2_531(g7228,g6688,g7090); + and AND2_532(g6990,g799,g6517); + and AND2_533(g8262,g4554,g7855); + and AND2_534(g6171,g5363,g4841); + and AND2_535(g8736,g3771,g8464); + and AND2_536(g4276,g2216,g2618); + and AND2_537(g6429,g168,g6035); + and AND2_538(g7033,g6716,g5190); + and AND2_539(g9131,g9055,g5345); + and AND2_540(g8623,g755,g8199); + and AND2_541(g8076,g7690,g3521); + and AND2_542(g7096,g6677,g5101); + and AND2_543(g8722,g2787,g8386); + and AND2_544(g7195,g6984,g4226); + and AND2_545(g1844,g792,g795); + and AND2_546(g5937,g5562,g2407); + and AND2_547(g5079,g375,g3990); + and AND2_548(g4546,g2643,g746); + and AND2_549(g5479,g5141,g5037); + and AND2_550(g6745,g1872,g6198); + and AND2_551(g8285,g118,g8111); + and AND2_552(g9226,g9220,g5403); + and AND2_553(g6109,g5453,g5335); + and AND3_21(g4224,g2680,g2683,I8127); + and AND2_554(g8384,g636,g7793); + and AND2_555(g8339,g345,g7870); + and AND4_48(g4320,g3728,g3750,g3768,I8299); + and AND2_556(g8838,g504,g8585); + and AND4_49(I8019,g3430,g3398,g3359,g2106); + and AND2_557(g8737,g2992,g8493); + and AND4_50(I8052,g2162,g2149,g2137,g2106); + and AND2_558(g4906,g4320,g2728); + and AND2_559(g4789,g2751,g4202); + and AND2_560(g6049,g1045,g5597); + and AND2_561(g8077,g859,g7616); + and AND2_562(g7692,g7367,g4430); + and AND2_563(g8643,g547,g8094); + and AND2_564(g6715,g677,g5843); + and AND2_565(g6098,g5681,g1247); + and AND2_566(g5032,g313,g3950); + and AND2_567(g5432,g1537,g4921); + and AND2_568(g4299,g3233,g3358); + and AND2_569(g9015,g8905,g8239); + and AND2_570(g8742,g2973,g8493); + and AND2_571(g8304,g4523,g7905); + and AND2_572(g8926,g4593,g8755); + and AND2_573(g6162,g1134,g5724); + and AND2_574(g6268,g1092,g5309); + and AND2_575(g7001,g3722,g6562); + and AND2_576(g8273,g185,g8156); + and AND2_577(g6419,g162,g6032); + and AND2_578(g7676,g7367,g4216); + and AND2_579(g6052,g1049,g5604); + and AND4_51(g4078,g3753,g3732,g3712,g3700); + and AND2_580(g8269,g4569,g7951); + and AND2_581(g4959,g376,g3898); + and AND4_52(I8006,g2074,g3287,g2020,g3238); + and AND2_582(g4435,g414,g3160); + and AND2_583(g4517,I8593,I8594); + and AND2_584(g4690,g4081,g3078); + and AND2_585(g4082,g1296,g3604); + and AND2_586(g8712,g2804,g8386); + and AND2_587(g8543,g706,g7887); + and AND2_588(g7703,g7367,g4504); + and AND2_589(g8729,g2999,g8493); + and AND2_590(g8961,g8885,g5317); + and AND2_591(g9247,g4748,g9227); + and AND2_592(g8927,g4594,g8756); + and AND4_53(I8045,g3430,g3398,g3359,g2106); + and AND2_593(g5894,g1118,g5552); + and AND2_594(g8660,g1069,g8147); + and AND2_595(g8946,g4556,g8786); + and AND2_596(g7677,g7503,g5073); + and AND4_54(I8491,g3316,g2057,g3264,g3238); + and AND2_597(g6006,g5575,g2424); + and AND2_598(g4236,g3260,g3221); + and AND2_599(g8513,g718,g7937); + and AND2_600(g6406,g154,g6018); + and AND2_601(g5475,g3801,g5022); + and AND2_602(g3190,g1658,g2424); + and AND2_603(g6105,g5618,g2817); + and AND4_55(g4877,g3746,g3723,g4288,g3764); + and AND2_604(g8378,g677,g7887); + and AND2_605(g6487,g5750,g4969); + and AND2_606(g7699,g7367,g4486); + and AND2_607(g8335,g342,g7870); + and AND2_608(g8831,g423,g8564); + and AND2_609(g8288,g270,g7838); + and AND2_610(g8382,g685,g7887); + and AND2_611(g5484,g1037,g5096); + and AND4_56(I8015,g2074,g2057,g3264,g3238); + and AND2_612(g8749,g2989,g8493); + and AND2_613(g4785,g1678,g4202); + and AND2_614(g6045,g1472,g5591); + and AND2_615(g5583,g1775,g4969); + and AND2_616(g6091,g5712,g5038); + and AND2_617(g8947,g4558,g8787); + and AND2_618(g6407,g5956,g5367); + and AND2_619(g6578,g6218,g3913); + and AND2_620(g4194,I8089,I8090); + and AND2_621(g8653,g573,g8094); + and AND2_622(g4394,g381,g3160); + and AND2_623(g8302,g4521,g7855); + and AND2_624(g7186,g6600,g7044); + and AND2_625(g6582,g1122,g5894); + and AND2_626(g1733,g1489,g1481); + and AND2_627(g8719,g2821,g8443); + and AND2_628(g4705,g190,g3986); + and AND2_629(g6415,g5988,g5367); + and AND2_630(g7614,g7367,g4176); + and AND2_631(g5970,g5605,g2424); + and AND4_57(I8028,g3430,g3398,g3359,g3341); + and AND2_632(g8265,g134,g8111); + and AND2_633(g4955,g215,g3891); + and AND3_22(g4254,g3583,g3568,g3549); + and AND2_634(g4814,g150,g4265); + and AND2_635(g4150,I8019,I8020); + and AND2_636(g4038,g825,g2949); + and AND2_637(g9021,g8886,g5317); + and AND2_638(g8296,g351,g7870); + and AND2_639(g4409,g384,g3160); + and AND2_640(g8725,g3008,g8493); + and AND4_58(I8108,g2162,g2149,g2137,g2106); + and AND2_641(g6689,g1519,g6239); + and AND2_642(g7027,g3390,g6698); + and AND2_643(g5547,g4814,g1819); + and AND2_644(g7427,g1472,g7199); + and AND2_645(g1898,g959,g955); + and AND4_59(I8589,g2074,g3287,g3264,g3238); + and AND2_646(g6428,g5874,g5494); + and AND2_647(g6430,g5874,g5384); + and AND2_648(g7003,g1462,g6689); + and AND4_60(I8455,g3430,g3398,g3359,g3341); + and AND2_649(g7695,g7367,g4466); + and AND2_650(g8281,g168,g8042); + and AND2_651(g5078,g316,g3989); + and AND2_652(g6638,g174,g5755); + and AND2_653(g7536,g4414,g7367); + and AND2_654(g8297,g429,g7920); + and AND2_655(g5082,g476,g3994); + and AND2_656(g8745,g2982,g8493); + and AND3_23(g4837,g2573,g2562,I9202); + and AND2_657(g8338,g570,g8181); + and AND2_658(g8963,g8891,g5317); + and AND2_659(g4062,g809,g2986); + and AND2_660(g7416,g7140,g4969); + and AND2_661(g8309,g550,g8181); + and AND4_61(I8418,g3316,g3287,g3264,g3238); + and AND2_662(g6448,g5918,g5384); + and AND2_663(g6055,g5239,g4202); + and AND2_664(g7654,g7367,g4142); + and AND2_665(g4192,g1126,g3531); + and AND2_666(g4392,g303,g3131); + and AND2_667(g6196,g4927,g5615); + and AND2_668(g6396,g661,g6008); + and AND2_669(g8715,g2761,g8386); + and AND2_670(g7537,g7363,g7411); + and AND2_671(g8833,g4583,g8562); + and AND2_672(g7017,g3390,g6706); + and AND2_673(g7417,g7144,g1616); + and AND2_674(g8584,g8146,g7034); + and AND2_675(g9080,g9011,g5598); + and AND2_676(g6418,g5897,g5494); + and AND2_677(g6994,g3658,g6538); + and AND2_678(g7128,g6926,g3047); + and AND2_679(g8268,g4568,g7905); + and AND2_680(g5064,g315,g3975); + and AND2_681(g8362,g504,g7966); + and AND2_682(g4958,g296,g3897); + and AND2_683(g4176,I8063,I8064); + and AND2_684(g4376,g243,g3097); + and AND2_685(g7554,g7367,g4139); + and AND2_686(g5563,g3390,g5070); + and AND2_687(g1913,g1528,g1532); + and AND2_688(g6021,g5594,g2424); + and AND2_689(g6421,g5847,g5384); + and AND2_690(g8728,g3815,g8464); + and AND2_691(g8730,g2863,g8407); + and AND4_62(g4225,g2686,g2689,g2692,g2695); + and AND2_692(g8385,g695,g7811); + and AND4_63(I8041,g2074,g2057,g2020,g3238); + and AND2_693(g4073,g1300,g3567); + and AND2_694(g4796,g950,g4584); + and AND2_695(g8070,g863,g7616); + and AND2_696(g5089,g273,g3998); + and AND2_697(g4473,g518,g3192); + and AND2_698(g5489,g4912,g5053); + and AND2_699(g4124,g2641,g2640); + and AND2_700(g4469,I8495,I8496); + and AND2_701(g4377,g297,g3131); + and AND4_64(I8058,g2074,g2057,g2020,g1987); + and AND2_702(g8331,g339,g7870); + and AND2_703(g9023,g8888,g5317); + and AND4_65(g4287,g3563,g2334,g3579,I8237); + and AND2_704(g7698,g7367,g4483); + and AND2_705(g8087,g7471,g7634); + and AND2_706(g8305,g362,g7870); + and AND2_707(g4199,g93,g2769); + and AND2_708(g5438,g1545,g4932); + and AND2_709(g4781,g4182,g1760); + and AND2_710(g6041,g5189,g4969); + and AND2_711(g8748,g2721,g8483); + and AND2_712(g9327,g9316,g5757); + and AND2_713(g4797,g3893,g1616); + and AND2_714(g9146,g9135,g6101); + and AND2_715(g9346,g9331,g6222); + and AND2_716(g3002,g871,g1834); + and AND4_66(I8573,g3430,g3398,g3359,g2106); + and AND2_717(g6168,g1138,g5191); + and AND2_718(g7652,g7367,g4194); + and AND2_719(g6058,g5561,g3501); + and AND2_720(g7193,g6911,g1616); + and AND4_67(I8569,g3316,g2057,g2020,g1987); + and AND2_721(g6743,g730,g5916); + and AND3_24(g4819,g2573,g2562,I9166); + and AND2_722(g8283,g267,g7838); + and AND2_723(g9240,g9223,g5261); + and AND2_724(g8059,g7682,g7032); + and AND2_725(g8920,g4578,g8746); + and AND2_726(g8459,g655,g7793); + and AND2_727(g6411,g5918,g5494); + and AND2_728(g8718,g2774,g8386); + and AND2_729(g7598,g7483,g3466); + and AND2_730(g3222,g1537,g1913); + and AND2_731(g8261,g174,g8042); + and AND2_732(g6474,g6203,g2424); + and AND2_733(g7625,g7367,g4182); + and AND2_734(g8793,g8637,g5622); + and AND2_735(g6992,g6610,g3519); + and AND2_736(g7232,g6694,g7091); + and AND4_68(I8000,g3430,g3398,g3359,g3341); + and AND3_25(g4314,g3694,g3684,g3666); + and AND4_69(I8400,g3430,g3398,g3359,g3341); + and AND2_737(g9147,g9136,g6103); + and AND2_738(g5062,g235,g3973); + and AND2_739(g9347,g9332,g6226); + and AND2_740(g4825,g4228,g1964); + and AND2_741(g8721,g2703,g8464); + and AND2_742(g7552,g7319,g5749); + and AND2_743(g7606,g7471,g3466); + and AND2_744(g4408,g330,g3131); + and AND2_745(g9013,g8907,g8239); + and AND2_746(g5298,g1912,g4814); + and AND2_747(g6976,g4399,g6508); + and AND2_748(g8940,g4543,g8775); + and AND4_70(I8588,g3430,g3398,g3359,g3341); + and AND3_26(g4230,g2683,g3491,I8143); + and AND2_749(g6400,g150,g6011); + and AND3_27(I8127,g2699,g2674,g2677); + and AND2_750(g4433,g278,g3097); + and AND2_751(g7691,g7367,g4427); + and AND2_752(g5031,g292,g3948); + and AND2_753(g7607,g7325,g4969); + and AND2_754(g8826,g420,g8564); + and AND2_755(g4395,g405,g3160); + and AND2_756(g8741,g3787,g8464); + and AND3_28(g5005,g2728,g4320,I9330); + and AND2_757(g2827,g1889,g1690); + and AND2_758(g6423,g5897,g5384); + and AND2_759(g5765,g1695,g5428); + and AND4_71(I8240,g2298,g2316,g2334,g2354); + and AND4_72(I8072,g3316,g3287,g2020,g3238); + and AND2_760(g8609,g7828,g4969); + and AND2_761(g8308,g510,g7966); + and AND2_762(g7615,g7488,g3466); + and AND2_763(g3229,g1728,g2015); + and AND2_764(g8066,g7488,g7634); + and AND4_73(I8034,g2074,g2057,g3264,g3238); + and AND2_765(g4142,I8005,I8006); + and AND2_766(g4342,g228,g3097); + and AND3_29(I9222,g4041,g4044,g2584); + and AND2_767(g6999,g815,g6556); + and AND4_74(g4255,g3605,g3644,g3635,I8186); + and AND2_768(g6633,g5526,g5987); + and AND2_769(g8711,g3542,g8407); + and AND2_770(g5069,g566,g3983); + and AND2_771(g4097,g2624,g2614); + and AND2_772(g7832,g5343,g7599); + and AND2_773(g4497,I8551,I8552); + and AND2_774(g8455,g652,g7793); + and AND2_775(g4154,g1098,g3495); + and AND2_776(g8827,g498,g8585); + and AND2_777(g8333,g563,g8181); + and AND2_778(g6732,g5874,g5367); + and AND2_779(g8846,g510,g8585); + and AND2_780(g6753,g5939,g5384); + and AND2_781(g7559,g7367,g4155); + and AND4_75(I8413,g3316,g3287,g3264,g1987); + and AND2_782(g5287,g786,g4724); + and AND2_783(g4783,g948,g4527); + and AND2_784(g6043,g1069,g5582); + and AND4_76(g4312,g3666,g3684,g3694,g3707); + and AND2_785(g7628,g7367,g4532); + and AND2_786(g6434,g855,g6048); + and AND2_787(g8290,g588,g8181); + and AND2_788(g4129,g2629,g2621); + and AND2_789(g8256,g95,g8131); + and AND2_790(g4830,g4288,g3723); + and AND2_791(g8816,g336,g8545); + and AND2_792(g6914,g6483,g5246); + and AND4_77(I8460,g3430,g3398,g3359,g2106); + and AND2_793(g6013,g5589,g2424); + and AND2_794(g6413,g5939,g5367); + and AND2_795(g8700,g3784,g8342); + and AND2_796(g7323,g4065,g7171); + and AND2_797(g8263,g4555,g7905); + and AND2_798(g8950,g4582,g8791); + and AND2_799(g4068,g121,g3540); + and AND4_78(I8079,g3316,g3287,g2020,g1987); + and AND2_800(g5314,g1509,g4729); + and AND2_801(g8723,g2706,g8421); + and AND2_802(g8257,g146,g8042); + and AND2_803(g8817,g4545,g8482); + and AND2_804(g8301,g182,g8156); + and AND2_805(g7010,g1049,g6574); + and AND2_806(g6060,g1065,g5623); + and AND2_807(g4699,g1557,g4276); + and AND2_808(g6460,g6178,g2424); + and AND2_809(g4398,g567,g2845); + and AND2_810(g5008,g231,g3920); + and AND2_811(g7278,g6965,g1745); + and AND2_812(g6995,g6435,g1616); + and AND2_813(g8441,g746,g8018); + and AND2_814(g7235,g6699,g7094); + and AND4_79(I8432,g3316,g3287,g2020,g3238); + and AND2_815(g9084,g8964,g5345); + and AND4_80(I8053,g3316,g3287,g3264,g3238); + and AND2_816(g7282,g5830,g6939); + and AND2_817(g5065,g374,g3977); + and AND2_818(g5122,g436,g4030); + and AND4_81(g4319,g3728,g3694,g3750,I8296); + and AND2_819(g7693,g7367,g4445); + and AND4_82(I8568,g3430,g3398,g3359,g3341); + and AND2_820(g4352,g387,g3160); + and AND2_821(g5033,g393,g3953); + and AND3_30(I8157,g2686,g2689,g2692); + and AND2_822(g8458,g756,g8199); + and AND2_823(g5096,g1149,g4400); + and AND2_824(g4186,g1118,g3520); + and AND2_825(g9276,g9244,g5649); + and AND2_826(g4386,g324,g3131); + and AND2_827(g6954,g5518,g6601); + and AND2_828(g8074,g855,g7616); + and AND2_829(g6053,g1053,g5608); + and AND2_830(g4083,g125,g3610); + and AND2_831(g8080,g7467,g7634); + and AND2_832(g4483,I8523,I8524); + and AND2_833(g3259,g1976,g1960); + and AND2_834(g8713,g2777,g8421); + and AND2_835(g5142,g1677,g4202); + and AND2_836(g6157,g1130,g5717); + and AND2_837(g5081,g455,g3993); + and AND2_838(g9120,g9052,g5345); + and AND2_839(g4187,I8078,I8079); + and AND2_840(g9277,g9248,g5654); + and AND2_841(g4387,g378,g3160); + and AND2_842(g8688,g3812,g8342); + and AND2_843(g8857,g446,g8564); + and AND2_844(g8976,g8903,g6588); + and AND2_845(g4427,I8431,I8432); + and AND2_846(g4514,I8588,I8589); + and AND2_847(g5783,g1897,g5287); + and AND2_848(g7724,g7337,g5938); + and AND2_849(g7179,g6121,g7035); + and AND2_850(g4403,I8400,I8401); + and AND2_851(g8326,g258,g7838); + and AND2_852(g4145,g2639,g2635); + and AND2_853(g4391,g249,g3097); + and AND2_854(g5001,g458,g3912); + and AND2_855(g7658,g7367,g4150); + and AND2_856(g4107,g2625,g2615); + and AND2_857(g1834,g933,g929); + and AND2_858(g7271,g6436,g6922); + and AND2_859(g4159,g1102,g3498); + and AND2_860(g8383,g730,g7937); + and AND2_861(g8924,g4588,g8752); + and AND2_862(g7611,g7367,g4507); + and AND2_863(g8779,g8634,g7037); + and AND2_864(g6949,g5483,g6589); + and AND3_31(g4315,g3707,g3728,I8288); + and AND2_865(g4047,g1272,g3503); + and AND2_866(g8361,g426,g7920); + and AND2_867(g6998,g4474,g6555); + and AND2_868(g7238,g6707,g7098); + and AND2_869(g5624,g5140,g2794); + and AND2_870(g7680,g7367,g4166); + and AND2_871(g8327,g336,g7870); + and AND2_872(g6039,g1037,g5574); + and AND2_873(g5068,g475,g3982); + and AND2_874(g6439,g789,g6150); + and AND4_83(I8546,g3430,g3398,g3359,g3341); + and AND2_875(g8303,g284,g7838); + and AND2_876(g8696,g3743,g8342); + and AND2_877(g8732,g3808,g8464); + and AND2_878(g4272,g3233,g3286); + and AND2_879(g8944,g4539,g8783); + and AND2_880(g5699,g1667,g4841); + and AND2_881(g4417,I8417,I8418); + and AND4_84(I8617,g3430,g3398,g3359,g2106); + and AND2_882(g7600,g7460,g3466); + and AND2_883(g4128,g98,g3693); + and AND2_884(g3081,g1682,g1616); + and AND2_885(g8316,g513,g7966); + and AND4_85(I8299,g3666,g3684,g3694,g3707); + and AND4_86(I8547,g3316,g2057,g2020,g3238); + and AND2_886(g6970,g5035,g6490); + and AND2_887(g8147,g1065,g7683); + and AND2_888(g5119,g543,g4027); + and AND2_889(g8697,g3761,g8342); + and AND2_890(g8914,g8795,g8239); + and AND4_87(g4902,g4304,g2770,g2746,g2728); + and AND4_88(I8078,g2162,g2149,g2137,g2106); + and AND2_891(g7175,g6893,g4841); + and AND2_892(g5599,g4745,g4969); + and AND2_893(g4490,g521,g3192); + and AND3_32(g4823,g4238,g4230,g174); + and AND2_894(g4166,I8045,I8046); + and AND2_895(g8820,g261,g8524); + and AND2_896(g4366,g216,g3097); + and AND2_897(g8936,g3875,g8768); + and AND2_898(g6771,g146,g6004); + and AND2_899(g8317,g547,g8181); + and AND2_900(g4529,I8612,I8613); + and AND2_901(g5125,g517,g4036); + and AND2_902(g7184,g6138,g7043); + and AND2_903(g4155,I8028,I8029); + and AND2_904(g5984,g1041,g5484); + and AND2_905(g4355,g390,g3160); + and AND2_906(g8922,g4586,g8750); + and AND2_907(g6738,g5847,g5367); + and AND2_908(g8060,g7535,g4841); + and AND2_909(g5106,g398,g4015); + and AND2_910(g6991,g5689,g6520); + and AND2_911(g8460,g757,g8199); + and AND2_912(g9038,g8966,g5345); + and AND2_913(g8739,g3780,g8464); + and AND2_914(g4720,g190,g4055); + and AND2_915(g4118,g995,g3790); + and AND2_916(g4167,g2783,g1616); + and AND2_917(g4367,g240,g3097); + and AND3_33(g4872,g1924,g4225,g4224); + and AND2_918(g7634,g7367,g4549); + and AND2_919(g8937,g4524,g8770); + and AND2_920(g8079,g831,g7658); + and AND2_921(g8294,g281,g7838); + and AND2_922(g5046,g314,g3962); + and AND2_923(g8840,g4590,g8582); + and AND2_924(g4193,g145,g2727); + and AND2_925(g4393,g327,g3131); + and AND2_926(g4549,I8642,I8643); + and AND2_927(g6915,g6493,g5246); + and AND4_89(I8064,g3316,g3287,g3264,g1987); + and AND2_928(g8942,g4522,g8780); + and AND2_929(g2912,g1080,g1945); + and AND2_930(g5107,g478,g4016); + and AND2_931(g8704,g2829,g8386); + and AND2_932(g6002,g5539,g2407); + and AND2_933(g6402,g665,g6012); + and AND2_934(g8954,g8763,g6097); + and AND3_34(I8237,g2298,g2316,g2354); + and AND2_935(g6762,g5847,g5412); + and AND2_936(g4740,g2242,g4275); + and AND4_90(g3258,g2298,g2316,g2334,g2354); + and AND2_937(g5047,g373,g3964); + and AND4_91(I8089,g2162,g2149,g2137,g2106); + and AND2_938(g8912,g8796,g8239); + and AND4_92(I8071,g2162,g2149,g2137,g2106); + and AND2_939(g6464,g6177,g2424); + and AND2_940(g8929,g3865,g8759); + and AND2_941(g3614,g1134,g2386); + and AND2_942(g7036,g6728,g5197); + and AND2_943(g7679,g7447,g5084); + and AND2_944(g8626,g752,g8199); + and AND2_945(g3984,g2403,g3085); + and AND2_946(g5017,g211,g3928); + and AND2_947(g4691,g4219,g1690); + and AND2_948(g2949,g822,g1753); + and AND2_949(g7182,g6902,g4969); + and AND2_950(g6394,g5988,g5494); + and AND2_951(g4962,g457,g3905); + and AND2_952(g4158,I8033,I8034); + and AND2_953(g6966,g6580,g5580); + and AND2_954(g8735,g2807,g8443); + and AND2_955(g8075,g7460,g7634); + and AND2_956(g8949,g4572,g8790); + and AND2_957(g7632,g7445,g3548); + and AND2_958(g7653,g7480,g5754); + and AND2_959(g8292,g181,g8156); + and AND2_960(g2952,g2474,g2215); + and AND2_961(g6438,g4829,g6051); + and AND2_962(g4284,g3260,g3314); + and AND2_963(g4239,g1541,g3222); + and AND2_964(g5090,g317,g4000); + and AND2_965(g8646,g553,g8094); + and AND2_966(g6409,g706,g6020); + and AND2_967(g4180,g1114,g3511); + and AND2_968(g9270,g4748,g9241); + and AND2_969(g4380,g584,g2845); + and AND2_970(g4832,g1110,g4246); + and AND2_971(g8439,g699,g7811); + and AND2_972(g2986,g806,g1739); + and AND2_973(g4420,g275,g3097); + and AND2_974(g4507,I8573,I8574); + and AND2_975(g4794,g954,g4574); + and AND2_976(g8702,g2837,g8386); + and AND2_977(g8919,g4567,g8743); + and AND2_978(g8952,g8788,g6075); + and AND2_979(g8276,g150,g8042); + and AND2_980(g5063,g294,g3974); + and AND2_981(g4100,g113,g3648); + and AND2_982(g7553,g7367,g4135); + and AND2_983(g8404,g710,g7937); + and AND2_984(g5118,g479,g4026); + and AND2_985(g8764,g8231,g4969); + or OR4_0(g5057,g3939,g3925,g3915,g3907); + or OR4_1(I14941,g8275,g8323,g8459,g8380); + or OR2_0(g5193,g5017,g4366); + or OR2_1(g9291,g9273,g6216); + or OR2_2(g5549,g2935,g4712); + or OR2_3(g7029,g6433,g5765); + or OR2_4(g7787,g4791,g7602); + or OR2_5(g6249,g4066,g5313); + or OR3_0(g8906,g8088,g8062,g8699); + or OR2_6(g5232,g5082,g4412); + or OR2_7(g8987,g8927,g8826); + or OR2_8(g5253,g5116,g4451); + or OR2_9(g7791,g4796,g7606); + or OR4_2(I8225,g3062,g2712,g2734,g2752); + or OR4_3(I15250,g8238,g8265,g8272,g8292); + or OR2_10(g8991,g8931,g8831); + or OR4_4(I9107,g4133,g4145,g4138,g4132); + or OR2_11(g9008,g8948,g8857); + or OR4_5(g2214,g1376,g1377,g1378,g1379); + or OR2_12(g7575,g7323,g7142); + or OR2_13(g9136,g8952,g9131); + or OR3_1(g8907,g8081,g8064,g8707); + or OR3_2(g8082,g7654,g7628,g7611); + or OR2_14(g5710,g4958,g4351); + or OR3_3(I9047,g4155,g4147,g4139); + or OR2_15(g9122,g8953,g9084); + or OR3_4(g6270,g1000,g5335,g1909); + or OR2_16(g6610,g4180,g6061); + or OR2_17(g6124,g5432,g4789); + or OR2_18(g6980,g6745,g6028); + or OR4_6(I14484,g7993,g7966,g7793,g7811); + or OR2_19(g9137,g8877,g9118); + or OR2_20(g9337,g9240,g9327); + or OR2_21(g7086,g4101,g6464); + or OR4_7(I15055,I15051,I15052,I15053,I15054); + or OR4_8(I15111,g7951,g7920,g7983,g8181); + or OR2_22(g5545,g3617,g4824); + or OR2_23(g7025,g6541,g3095); + or OR2_24(g4264,g2490,g3315); + or OR2_25(g8899,g8839,g8652); + or OR3_5(g8785,g8623,g8656,I14985); + or OR4_9(I15019,g7951,g7920,g7983,g8181); + or OR2_26(g6144,g4175,g5458); + or OR2_27(g9154,g9142,g9021); + or OR2_28(g9354,g9275,g9344); + or OR4_10(I15018,g7855,g7838,g7905,g7870); + or OR2_29(g4179,g207,g3083); + or OR2_30(g7682,g6044,g7412); + or OR2_31(g6694,g6151,g5573); + or OR2_32(g5204,g5033,g4379); + or OR2_33(g9267,g9251,g6225); + or OR2_34(g9001,g8941,g8846); + or OR4_11(g8966,g8741,g8745,g8912,g8850); + or OR2_35(g7445,g4192,g7193); + or OR4_12(g5040,g3900,g3895,g3890,g4363); + or OR2_36(g5440,g4790,g4786); + or OR4_13(I15102,I15098,I15099,I15100,I15101); + or OR4_14(g2229,g1371,g1372,g1373,g1374); + or OR4_15(I14771,g7993,g7966,g7793,g7811); + or OR4_16(I15231,g8701,g8715,g8730,g8720); + or OR2_37(g8773,I14959,I14960); + or OR4_17(g8009,g3591,g7406,g7566,I14302); + or OR2_38(g8769,I14951,I14952); + or OR2_39(g7227,g6992,g3128); + or OR2_40(g6934,g6422,g6430); + or OR2_41(g8993,g8933,g8835); + or OR2_42(g6913,g6733,g6738); + or OR2_43(g5235,g5091,g4422); + or OR2_44(g5343,g4690,g2862); + or OR4_18(I15085,g8363,g8342,g8407,g8386); + or OR2_45(g5566,g3617,g4810); + or OR4_19(I14759,g7937,g7887,g8029,g8018); + or OR4_20(I15054,g8363,g8342,g8407,g8386); + or OR4_21(I15243,I15239,I15240,I15241,I15242); + or OR4_22(I14758,g7993,g7966,g7793,g7811); + or OR3_6(g4736,g4532,g4517,I9044); + or OR2_46(g8895,g8823,g8646); + or OR2_47(g7428,g6040,g7175); + or OR2_48(g9352,g9343,g4526); + or OR2_49(g7826,g4804,g7626); + or OR3_7(g8788,g8620,g8658,I14990); + or OR2_50(g5202,g5031,g4377); + or OR2_51(g5518,g4744,g4118); + or OR4_23(g4737,g4135,g4529,g4514,I9047); + or OR2_52(g7165,g6434,g6908); + or OR2_53(g5264,g5125,g4490); + or OR4_24(g8176,g7566,g1030,g6664,g6452); + or OR2_54(g9387,g9349,g9384); + or OR4_25(g2206,g1363,g1364,g1365,g1366); + or OR4_26(I14951,g8328,g8316,g8455,g8378); + or OR4_27(g9046,g8744,g8749,g9016,g8862); + or OR2_55(g6932,g6417,g6423); + or OR3_8(I15169,g8483,g8464,g8514); + or OR2_56(g9003,g8943,g8849); + or OR4_28(g8796,g8150,g8078,g8070,g8360); + or OR2_57(g8980,g8920,g8815); + or OR2_58(g6716,g6162,g5588); + or OR2_59(g7421,g6745,g7202); + or OR2_60(g6699,g6154,g5579); + or OR2_61(g5238,g5094,g4425); + or OR2_62(g4927,g4318,g1590); + or OR2_63(g5209,g5044,g4384); + or OR4_29(I15084,g7951,g7920,g7983,g8181); + or OR4_30(I15110,g7855,g7838,g7905,g7870); + or OR2_64(g8900,g8840,g8653); + or OR2_65(g5511,g4743,g4109); + or OR2_66(g6717,g4082,g6005); + or OR2_67(g3160,g1751,g449); + or OR3_9(g8886,g8727,g8812,I15254); + or OR4_31(g2230,g1380,g1381,g1382,g1383); + or OR4_32(I15242,g8697,g8714,g8718,g8719); + or OR2_68(g5722,g5001,g4361); + or OR2_69(g2845,g1877,g576); + or OR4_33(I15230,g8274,g8321,g8298,g8696); + or OR4_34(I15265,I15261,I15262,I15263,I15264); + or OR4_35(g4786,g4107,g4097,g4124,I9099); + or OR3_10(I13553,g1166,g1167,g1170); + or OR2_70(g8887,I15265,g8819); + or OR2_71(g7080,g4086,g6462); + or OR2_72(g4364,g2952,g1725); + or OR2_73(g9148,g9143,g9024); + or OR4_36(I14767,g7937,g7887,g8029,g8018); + or OR2_74(g9355,g9276,g9345); + or OR2_75(g3541,g1663,g1421); + or OR3_11(I14990,g8337,g8379,g8543); + or OR2_76(g5231,g5081,g4411); + or OR2_77(g5205,g5034,g4380); + or OR4_37(g8891,g8705,g8811,I15297,I15298); + or OR4_38(I15041,g7855,g7838,g7905,g7870); + or OR2_78(g6115,g3617,g5558); + or OR4_39(I15275,g8693,g8703,g8712,g8717); + or OR2_79(g4297,g3617,g3602); + or OR2_80(g7220,g1304,g7062); + or OR2_81(g5572,g5051,g1236); + or OR2_82(g8154,g6054,g7607); + or OR4_40(I14766,g7993,g7966,g7793,g7811); + or OR2_83(g6935,g6429,g6431); + or OR3_12(I15165,g8483,g8464,g8514); + or OR2_84(g8979,g8919,g8813); + or OR2_85(g5036,g4047,g2972); + or OR2_86(g3339,g1424,g2014); + or OR4_41(I15253,g8698,g8711,g8722,g8716); + or OR2_87(g7443,g7192,g3158); + or OR4_42(I14754,g7937,g7887,g8029,g8018); + or OR3_13(I15175,g8483,g8464,g8514); + or OR4_43(I15264,g8700,g8708,g8726,g8731); + or OR2_88(g9358,g9279,g9348); + or OR2_89(g7697,g7419,g3187); + or OR2_90(g6698,g4073,g6001); + or OR2_91(g6964,g6447,g6448); + or OR2_92(g5208,g5043,g4383); + or OR2_93(g9174,g9147,g8963); + or OR4_44(I15021,I15017,I15018,I15019,I15020); + or OR2_94(g9239,g7653,g9226); + or OR2_95(g5265,g5126,g4491); + or OR4_45(I15073,g7951,g7920,g7983,g8181); + or OR4_46(I15274,g8306,g8361,g8299,g8687); + or OR3_14(g6457,g6196,g6209,g4937); + or OR2_96(g5233,g5089,g4420); + or OR2_97(g6686,g4068,g5970); + or OR3_15(I15292,g8704,g8710,g8805); + or OR2_98(g8893,g8814,g8643); + or OR4_47(g7784,g7406,g6664,g3492,I14219); + or OR2_99(g6121,g5425,g4785); + or OR3_16(I14366,g7566,g1030,g6664); + or OR2_100(g5706,g4955,g4342); + or OR2_101(g6740,g4100,g6022); + or OR2_102(g4283,g3587,g2665); + or OR2_103(g8984,g8924,g8822); + or OR4_48(I15109,g8131,g8111,g8042,g8156); + or OR2_104(g9123,g8954,g9037); + or OR4_49(I15283,g8291,g8276,g8325,g8330); + or OR2_105(g5138,g4108,g3049); + or OR2_106(g7810,g4799,g7609); + or OR2_107(g7363,g7136,g6903); + or OR3_17(I9099,g4127,g4123,g4117); + or OR2_108(g9151,g9144,g8961); + or OR2_109(g6525,g6112,g5547); + or OR2_110(g6710,g55,g6264); + or OR4_50(I6209,g911,g916,g921,g883); + or OR3_18(g8904,g8090,g8080,g8706); + or OR2_111(g5707,g4956,g4343); + or OR3_19(I14980,g8362,g8403,g8610); + or OR2_112(g9010,g8950,g8860); + or OR2_113(g5201,g5030,g4376); + or OR3_20(g8763,g8232,I14941,I14942); + or OR3_21(I9044,g4150,g4142,g4549); + or OR2_114(g8637,g6057,g8071); + or OR2_115(g5715,g4961,g4355); + or OR2_116(g9282,g9270,g6238); + or OR4_51(I15040,g8131,g8111,g8042,g8156); + or OR2_117(g5052,g4049,g4054); + or OR4_52(I15252,g8320,g8307,g8317,g8692); + or OR2_118(g7782,g4783,g7598); + or OR2_119(g6931,g6416,g6421); + or OR4_53(I14969,g8315,g8377,g8359,g8611); + or OR2_120(g5070,g4052,g4058); + or OR4_54(g2213,g1367,g1368,g1369,g1370); + or OR2_121(g8982,g8922,g8820); + or OR2_122(g4055,g187,g3012); + or OR3_22(g8128,g7566,g6910,g6452); + or OR3_23(I11603,g6193,g6197,g6175); + or OR2_123(g9264,g9247,g6242); + or OR2_124(g6440,g6268,g5700); + or OR2_125(g6123,g3617,g5556); + or OR4_55(I15051,g8131,g8111,g8042,g8156); + or OR4_56(I15072,g7855,g7838,g7905,g7870); + or OR4_57(I14496,g7937,g7887,g8029,g8018); + or OR2_126(g8902,g8844,g8654); + or OR3_24(I15152,g8483,g8464,g8514); + or OR2_127(g8155,g7632,g3219); + or OR3_25(g8964,g8915,g8863,I15400); + or OR2_128(g5227,g5077,g4407); + or OR4_58(I15020,g8363,g8342,g8407,g8386); + or OR2_129(g5203,g5032,g4378); + or OR3_26(I9029,g4504,g4494,g4430); + or OR2_130(g8989,g8929,g8829); + or OR4_59(I15113,I15109,I15110,I15111,I15112); + or OR2_131(g8834,g7096,g8229); + or OR2_132(g5188,g5008,g4365); + or OR2_133(g7435,g6052,g7182); + or OR2_134(g7690,g4181,g7417); + or OR2_135(g5216,g5062,g4391); + or OR2_136(g3131,g1749,g368); + or OR2_137(g8909,g6043,g8764); + or OR3_27(g4734,g4469,g4448,I9038); + or OR2_138(g6933,g6419,g6428); + or OR4_60(I14480,g7937,g7887,g8029,g8018); + or OR2_139(g9285,g9271,g6221); + or OR4_61(I6208,g891,g896,g901,g906); + or OR2_140(g5217,g5063,g4392); + or OR2_141(g9139,g8879,g9120); + or OR2_142(g9339,g9259,g9335); + or OR2_143(g5711,g4959,g4352); + or OR2_144(g7222,g6049,g6971); + or OR4_62(I14942,g8439,g8440,g8405,g8460); + or OR2_145(g4688,g4193,g3190); + or OR2_146(g5196,g5020,g4369); + or OR2_147(g6132,g5436,g4793); + or OR2_148(g8985,g8925,g8824); + or OR2_149(g7089,g4128,g6474); + or OR2_150(g5256,g5119,g4454); + or OR4_63(I14468,g7937,g7887,g8029,g8018); + or OR4_64(g8794,g8153,g8074,g8069,g8523); + or OR2_151(g5021,g943,g4501); + or OR2_152(g7254,g6923,g5298); + or OR2_153(g6600,g5443,g6055); + or OR3_28(g8905,g8089,g8087,g8694); + or OR2_154(g7438,g7184,g6978); + or OR2_155(g6580,g6039,g6041); + or OR2_156(g6262,g4074,g5334); + or OR4_65(I15229,g8262,g8303,g8268,g8312); + or OR4_66(I14479,g7993,g7966,g7793,g7811); + or OR4_67(I15228,g8270,g8258,g8281,g8273); + or OR2_157(g4072,g196,g2995); + or OR2_158(g9135,g8951,g9130); + or OR2_159(g9288,g9272,g6235); + or OR4_68(I15112,g8363,g8342,g8407,g8386); + or OR2_160(g5673,g4823,g4872); + or OR2_161(g7062,g4048,g6456); + or OR2_162(g4413,g2371,g3285); + or OR3_29(g8884,g8735,g8818,I15232); + or OR2_163(g7788,g4794,g7604); + or OR2_164(g8988,g8928,g8827); + or OR2_165(g6926,g6406,g6411); + or OR2_166(g8804,g6060,g8609); + or OR4_69(g9054,g8724,g8729,g9013,g8680); + or OR4_70(I15298,g8332,g8333,g8686,g8702); + or OR2_167(g6543,g6125,g1553); + or OR3_30(g8908,g8079,g8066,g8855); + or OR4_71(I14772,g7937,g7887,g8029,g8018); + or OR4_72(I15232,I15228,I15229,I15230,I15231); + or OR4_73(I15261,g8256,g8271,g8267,g8286); + or OR2_168(g6927,g6408,g6413); + or OR2_169(g9171,g9146,g8962); + or OR4_74(g8965,g8739,g8742,g8914,g8847); + or OR2_170(g5220,g5066,g4395); + or OR2_171(g6436,g6266,g5699); + or OR2_172(g8996,g8936,g8838); + or OR2_173(g9138,g8878,g9119); + or OR2_174(g9338,g9258,g9334); + or OR2_175(g8777,I14969,I14970); + or OR4_75(g9049,g8732,g8737,g9015,g8861); + or OR4_76(I15031,g7951,g7920,g7983,g8181); + or OR2_176(g8981,g8921,g8816); + or OR3_31(g1690,g1021,g1025,g1018); + or OR2_177(g8997,g8937,g8841); + or OR2_178(g6579,g6098,g1975); + or OR2_179(g7088,g6638,g6641); + or OR2_180(g6719,g6166,g6171); + or OR2_181(g6917,g6743,g6753); + or OR2_182(g9162,g9158,g9022); + or OR4_77(g4735,g4427,g4414,g4403,I9041); + or OR4_78(g9052,g8728,g8733,g9014,g8679); + or OR2_183(g5210,g5045,g4385); + or OR4_79(g2262,g1384,g1385,g1386,g1387); + or OR4_80(I15043,g8363,g8342,g8407,g8386); + or OR2_184(g7825,g4801,g7615); + or OR2_185(g3760,I7232,I7233); + or OR3_32(I9041,g4483,g4466,g4445); + or OR3_33(g5317,g4727,g4737,g4735); + or OR4_81(I14952,g8456,g8513,g8458,g8236); + or OR2_186(g6706,g4077,g6002); + or OR2_187(g7230,g4190,g6995); + or OR2_188(g9006,g8946,g8853); + or OR3_34(g8889,I15283,I15284,I15285); + or OR3_35(I14834,g8483,g8464,g8514); + or OR2_189(g7337,g7278,g4546); + or OR2_190(g6138,g5438,g5442); + or OR4_82(I15086,I15082,I15083,I15084,I15085); + or OR2_191(g6707,g6160,g5585); + or OR4_83(g8795,g8151,g8077,g8075,g8279); + or OR2_192(g7248,g7079,g5652); + or OR2_193(g1955,g1189,g16); + or OR2_194(g5704,g4936,g4334); + or OR2_195(g9007,g8947,g8854); + or OR2_196(g7081,g6172,g6629); + or OR2_197(g9261,g9238,g6227); + or OR2_198(g8634,g6047,g8060); + or OR4_84(I15017,g8131,g8111,g8042,g8156); + or OR2_199(g7783,g4787,g7600); + or OR2_200(g8613,g8082,g7616); + or OR2_201(g8983,g8923,g8821); + or OR2_202(g4876,g4159,g4167); + or OR2_203(g6728,g6168,g5593); + or OR2_204(g6470,g5817,g2934); + or OR3_36(g8885,g8723,g8806,I15243); + or OR4_85(I7232,g2367,g2352,g2378,g2330); + or OR2_205(g9165,g9159,g9023); + or OR4_86(I15042,g7951,g7920,g7983,g8181); + or OR4_87(g9055,g8721,g8725,g9012,g8859); + or OR2_206(g6445,g6105,g6107); + or OR3_37(g7258,g7083,g5403,I13220); + or OR2_207(g6602,g6058,g3092); + or OR2_208(g4295,g2828,g2668); + or OR4_88(I15030,g7855,g7838,g7905,g7870); + or OR2_209(g6920,g6395,g6399); + or OR2_210(g5561,g4168,g4797); + or OR3_38(g6459,g6259,g6185,I11603); + or OR2_211(g6718,g4083,g6006); + or OR2_212(g7026,g4186,g6554); + or OR4_89(I14933,g8385,g8404,g8441,g8462); + or OR3_39(g7426,g1173,g7217,I13553); + or OR2_213(g7170,g6916,g6444); + or OR3_40(g7083,g5448,g6267,g6710); + or OR4_90(I15075,I15071,I15072,I15073,I15074); + or OR2_214(g8990,g8930,g8830); + or OR2_215(g8888,I15276,g8807); + or OR2_216(g7191,g7071,g6980); + or OR2_217(g5244,g5107,g4436); + or OR2_218(g5140,g4333,g3509); + or OR2_219(g7016,g6042,g6487); + or OR2_220(g9168,g9160,g9025); + or OR4_91(I15276,I15272,I15273,I15274,I15275); + or OR3_41(I15285,g8709,g8713,g8803); + or OR2_221(g5214,g5049,g4389); + or OR4_92(I15053,g7951,g7920,g7983,g8181); + or OR4_93(I15254,I15250,I15251,I15252,I15253); + or OR2_222(g4249,g3617,g1639); + or OR2_223(g3986,g202,g3129); + or OR3_42(I14302,g6664,g3492,g979); + or OR2_224(g9011,g6046,g8892); + or OR4_94(I15101,g8363,g8342,g8407,g8386); + or OR2_225(g5236,g5092,g4423); + or OR2_226(g7272,g6182,g7038); + or OR2_227(g8896,g8828,g8648); + or OR2_228(g5222,g5068,g4397); + or OR2_229(g4812,g2490,g4237); + or OR2_230(g4829,g863,g4051); + or OR2_231(g6685,g4067,g5969); + or OR2_232(g5237,g5093,g4424); + or OR4_95(I15074,g8363,g8342,g8407,g8386); + or OR4_96(I15239,g8264,g8260,g8277,g8301); + or OR2_233(g5194,g5018,g4367); + or OR2_234(g9000,g8940,g8845); + or OR2_235(g8897,g8833,g8650); + or OR2_236(g7166,g6437,g6914); + or OR2_237(g5242,g5105,g4434); + or OR2_238(g5254,g5117,g4452); + or OR4_97(I14932,g8278,g8329,g8461,g8382); + or OR2_239(g6585,g3617,g6119); + or OR2_240(g6673,g4053,g5937); + or OR2_241(g5212,g5047,g4387); + or OR2_242(g7167,g6438,g6915); + or OR3_43(g8091,g7215,g6452,I14366); + or OR4_98(I15083,g7855,g7838,g7905,g7870); + or OR2_243(g5229,g5079,g4409); + or OR4_99(I15284,g8335,g8340,g8290,g8691); + or OR4_100(g6458,g6184,g6259,g6174,g6214); + or OR2_244(g7834,g7724,g6762); + or OR2_245(g6734,g6176,g5599); + or OR2_246(g4870,g4154,g3081); + or OR2_247(g7687,g6053,g7416); + or OR2_248(g6688,g6145,g5570); + or OR4_101(I15052,g7855,g7838,g7905,g7870); + or OR4_102(I14959,g8322,g8308,g8438,g8612); + or OR2_249(g5708,g2889,g4699); + or OR2_250(g5219,g5065,g4394); + or OR2_251(g6924,g6400,g6405); + or OR3_44(I15400,g8736,g8748,g8740); + or OR2_252(g9294,g9274,g6230); + or OR3_45(g8758,g8655,I14932,I14933); + or OR2_253(g9356,g9277,g9346); + or OR2_254(g7020,g3617,g6578); + or OR4_103(I15241,g8269,g8314,g8309,g8695); + or OR4_104(I15100,g7951,g7920,g7983,g8181); + or OR2_255(g9363,g9359,g6210); + or OR2_256(g6116,g5546,g4681); + or OR3_46(g6565,g2396,g6131,g1603); + or OR2_257(g8994,g8934,g8836); + or OR2_258(g5245,g5108,g4437); + or OR2_259(g9357,g9278,g9347); + or OR2_260(g3192,g1756,g530); + or OR4_105(g4727,g4417,g4172,g4163,I9029); + or OR2_261(g7040,g6439,g5783); + or OR2_262(g5259,g5122,g4472); + or OR3_47(I14831,g8483,g8464,g8514); + or OR3_48(I9038,g4507,g4497,g4486); + or OR4_106(I15082,g8131,g8111,g8042,g8156); + or OR2_263(g5215,g5050,g4390); + or OR4_107(I14753,g7993,g7966,g7793,g7811); + or OR2_264(g2368,I6208,I6209); + or OR2_265(g4747,g3984,g2912); + or OR3_49(I13220,g58,g6258,g5418); + or OR4_108(I15263,g8313,g8297,g8310,g8690); + or OR2_266(g6739,g4099,g6021); + or OR4_109(I5757,g969,g970,g966,g963); + or OR3_50(I8363,g2655,g1163,g1160); + or OR4_110(I14960,g8621,g8622,g8628,g8230); + or OR2_267(g5228,g5078,g4408); + or OR2_268(g5230,g5080,g4410); + or OR3_51(g8890,I15290,I15291,I15292); + or OR4_111(I15273,g8287,g8334,g8295,g8339); + or OR2_269(g5195,g5019,g4368); + or OR2_270(g9004,g8944,g8851); + or OR2_271(g7202,g6028,g7071); + or OR4_112(I15033,I15029,I15030,I15031,I15032); + or OR2_272(g8992,g8932,g8832); + or OR4_113(I14970,g8457,g8383,g8626,g8233); + or OR2_273(g4280,I8224,I8225); + or OR2_274(g6912,g4199,g6567); + or OR2_275(g5255,g5118,g4453); + or OR4_114(g4790,g4185,g4131,g4129,I9107); + or OR2_276(g6929,g6412,g6418); + or OR2_277(g7450,g6090,g7195); + or OR4_115(g1872,g971,g962,g972,I5757); + or OR2_278(g5218,g5064,g4393); + or OR2_279(g6735,g4091,g6013); + or OR2_280(g5830,g5714,g5142); + or OR4_116(I15291,g8331,g8336,g8338,g8688); + or OR4_117(I7233,g2315,g2385,g2294,g2395); + or OR2_281(g5221,g5067,g4396); + or OR4_118(I15029,g8131,g8111,g8042,g8156); + or OR2_282(g2043,g1263,g1257); + or OR2_283(g8999,g8939,g8843); + or OR2_284(g8146,g6045,g7597); + or OR4_119(I8224,g3019,g3029,g3038,g3052); + or OR2_285(g5716,g4962,g4356); + or OR2_286(g6919,g6771,g6394); + or OR2_287(g9002,g8942,g8848); + or OR2_288(g6952,g6633,g6204); + or OR4_120(I15240,g8259,g8294,g8263,g8305); + or OR4_121(I14495,g7993,g7966,g7793,g7811); + or OR2_289(g5241,g5104,g4433); + or OR3_52(I14985,g8341,g8384,g8542); + or OR2_290(g3097,g1746,g287); + or OR4_122(I15262,g8293,g8283,g8304,g8289); + or OR2_291(g6925,g6402,g6407); + or OR2_292(g6120,g3617,g5555); + or OR2_293(g5211,g5046,g4386); + or OR2_294(g6906,g6715,g6726); + or OR4_123(I15099,g7855,g7838,g7905,g7870); + or OR4_124(I15098,g8131,g8111,g8042,g8156); + or OR4_125(I15251,g8302,g8288,g8311,g8296); + or OR4_126(I15272,g8237,g8300,g8261,g8282); + or OR2_295(g5483,g4740,g4098); + or OR4_127(I15032,g8363,g8342,g8407,g8386); + or OR2_296(g6907,g6727,g6732); + or OR2_297(g9009,g8949,g8858); + or OR2_298(g8995,g8935,g8837); + or OR3_53(I14219,g979,g7566,g1865); + or OR2_299(g5200,g5029,g4375); + or OR2_300(g5345,g4736,g4734); + or OR2_301(g5223,g5069,g4398); + or OR4_128(I15071,g8131,g8111,g8042,g8156); + or OR4_129(I14467,g7993,g7966,g7793,g7811); + or OR3_54(I15147,g8483,g8464,g8514); + or OR2_302(g6590,g3617,g6153); + or OR3_55(I15172,g8483,g8464,g8514); + or OR2_303(g6928,g6409,g6415); + or OR2_304(g6930,g6414,g6420); + or OR2_305(g5537,g3617,g4835); + or OR2_306(g7436,g7183,g6975); + or OR2_307(g5243,g5106,g4435); + or OR2_308(g5234,g5090,g4421); + or OR4_130(I15044,I15040,I15041,I15042,I15043); + or OR2_309(g6705,g6157,g5583); + or OR2_310(g8894,g8817,g8645); + or OR3_56(g8782,g8624,g8659,I14980); + or OR2_311(g9005,g8945,g8852); + or OR2_312(g5213,g5048,g4388); + or OR4_131(I15290,g8285,g8266,g8318,g8326); + or OR4_132(g4374,g1182,g1186,g1179,I8363); + or OR2_313(g8998,g8938,g8842); + or OR2_314(g9124,g8876,g9038); + or OR2_315(g5698,g5057,g5040); + or OR4_133(I14485,g7937,g7887,g8029,g8018); + or OR2_316(g5260,g5123,g4473); + or OR2_317(g9377,g9371,g6757); + or OR2_318(g6921,g6396,g6401); + or OR2_319(g8986,g8926,g8825); + or OR4_134(I15297,g8280,g8257,g8319,g8327); + nand NAND2_0(I15888,g9192,I15887); + nand NAND2_1(I7466,g2982,g1704); + nand NAND2_2(I10092,g4881,g2177); + nand NAND2_3(g5686,g5132,g1263); + nand NAND2_4(I5521,g1098,I5519); + nand NAND2_5(g4528,I8606,I8607); + nand NAND2_6(g5625,g2044,g4957); + nand NAND2_7(I7538,g2996,g1715); + nand NAND2_8(I11143,g5493,I11142); + nand NAND2_9(I7467,g2982,I7466); + nand NAND2_10(g4839,g1879,g4269); + nand NAND2_11(I10906,g5492,g2605); + nand NAND2_12(I12575,g6574,g1049); + nand NAND2_13(I7181,g795,I7179); + nand NAND2_14(g4235,g1415,g2668); + nand NAND2_15(g6286,I11178,I11179); + nand NAND2_16(I7421,g2525,g2703); + nand NAND2_17(g5141,I9548,I9549); + nand NAND2_18(g6911,I12597,I12598); + nand NAND2_19(g4548,I8636,I8637); + nand NAND2_20(I15855,g9168,g9165); + nand NAND2_21(I11110,g2734,I11108); + nand NAND2_22(I11179,g3019,I11177); + nand NAND2_23(g6473,g5269,g5988); + nand NAND2_24(I6524,g1102,I6522); + nand NAND2_25(I11178,g5466,I11177); + nand NAND2_26(I8510,g2517,g2807); + nand NAND2_27(I8245,g3506,I8243); + nand NAND2_28(g4313,g3712,g3700); + nand NAND2_29(I11186,g3029,I11184); + nand NAND2_30(g6469,g5918,g5278); + nand NAND2_31(I13685,g1977,g7237); + nand NAND2_32(I6258,g837,I6257); + nand NAND2_33(g6177,I10889,I10890); + nand NAND2_34(I13800,g7429,g1061); + nand NAND2_35(I15819,g9148,I15817); + nand NAND2_36(I15818,g9151,I15817); + nand NAND2_37(I5600,g1489,I5598); + nand NAND2_38(g6287,I11185,I11186); + nand NAND2_39(I9978,g4880,g2092); + nand NAND2_40(I9243,g4305,I9241); + nand NAND2_41(I6274,g840,I6273); + nand NAND3_0(g5284,g4344,g4335,g4963); + nand NAND2_42(I10745,g2100,I10743); + nand NAND2_43(g5239,I9746,I9747); + nand NAND2_44(I9234,g4310,I9233); + nand NAND2_45(I6170,g843,g911); + nand NAND2_46(I13587,g2556,g7234); + nand NAND2_47(g6510,g5278,g5874); + nand NAND2_48(I6939,g2161,g2051); + nand NAND2_49(I11117,g3062,I11115); + nand NAND2_50(g5559,g5132,g1257); + nand NAND2_51(g3232,g2298,g2276); + nand NAND2_52(I7531,g2487,g3787); + nand NAND2_53(g3938,I7610,I7611); + nand NAND2_54(I7505,g3802,I7503); + nand NAND2_55(I7011,g2333,I7009); + nand NAND2_56(I11123,g5517,I11122); + nand NAND2_57(I11751,g6112,I11750); + nand NAND2_58(g6701,I12032,I12033); + nand NAND2_59(g4835,I9195,I9196); + nand NAND2_60(I13639,g7257,I13638); + nand NAND2_61(I10329,g2562,I10327); + nand NAND2_62(g6215,I10981,I10982); + nand NAND2_63(I6904,g2105,g1838); + nand NAND2_64(I13638,g7257,g7069); + nand NAND2_65(I10328,g5467,I10327); + nand NAND2_66(g5750,I10314,I10315); + nand NAND2_67(I7480,g3808,I7478); + nand NAND2_68(I11841,g2548,g6158); + nand NAND2_69(I7569,g3780,I7567); + nand NAND2_70(I9964,g1938,I9963); + nand NAND2_71(g3525,I7010,I7011); + nand NAND2_72(g4332,g3681,g2368); + nand NAND2_73(g7535,I13786,I13787); + nand NAND2_74(I6757,g186,g1983); + nand NAND2_75(I12051,g5956,g5939); + nand NAND2_76(g3358,I6940,I6941); + nand NAND2_77(I11116,g5481,I11115); + nand NAND2_78(I11615,g6239,I11614); + nand NAND2_79(I6522,g1919,g1102); + nand NAND2_80(I9057,g4059,g1504); + nand NAND2_81(I10991,g5632,g2389); + nand NAND2_82(I9549,g4307,I9547); + nand NAND2_83(I8255,g3825,I8253); + nand NAND2_84(g4492,I8537,I8538); + nand NAND3_1(g4714,g4344,g4335,g4328); + nand NAND2_85(I11142,g5493,g3062); + nand NAND2_86(I7423,g2703,I7421); + nand NAND2_87(I11165,g3029,I11163); + nand NAND2_88(I6234,g896,I6232); + nand NAND2_89(I10744,g5550,I10743); + nand NAND2_90(g5555,I9979,I9980); + nand NAND2_91(I10849,g2595,I10847); + nand NAND2_92(g4889,I9242,I9243); + nand NAND2_93(g4476,I8511,I8512); + nand NAND2_94(g6142,I10790,I10791); + nand NAND2_95(I10848,g5490,I10847); + nand NAND4_0(g4871,g3635,g3605,g4220,g3644); + nand NAND2_96(g6497,g5278,g5847); + nand NAND2_97(I7240,g1658,I7239); + nand NAND2_98(g5567,g1879,g4883); + nand NAND2_99(I10361,g1118,I10359); + nand NAND2_100(I7443,g2973,g1701); + nand NAND2_101(I13600,g7244,I13598); + nand NAND2_102(I9691,g5096,g1037); + nand NAND2_103(g6218,I10992,I10993); + nand NAND2_104(g4231,g2276,g3258); + nand NAND2_105(I11137,g3052,I11135); + nand NAND2_106(I7533,g3787,I7531); + nand NAND2_107(I11873,g2543,g6187); + nand NAND2_108(I12552,g1462,I12550); + nand NAND2_109(I9985,g4836,g2096); + nand NAND2_110(I11614,g6239,g1519); + nand NAND2_111(g7093,I12870,I12871); + nand NAND2_112(g9191,I15856,I15857); + nand NAND2_113(I6843,g205,I6842); + nand NAND2_114(I8119,g1904,g3220); + nand NAND2_115(I11122,g5517,g2712); + nand NAND2_116(I8152,g38,I8150); + nand NAND2_117(I7460,g2506,I7459); + nand NAND2_118(I14473,g8147,I14472); + nand NAND2_119(I10789,g5512,g2170); + nand NAND2_120(I7937,g3614,g1138); + nand NAND2_121(I11136,g5476,I11135); + nand NAND2_122(I6232,g834,g896); + nand NAND2_123(I7479,g2502,I7478); + nand NAND2_124(I10359,g5552,g1118); + nand NAND2_125(I6813,g210,g2052); + nand NAND2_126(g1759,I5599,I5600); + nand NAND2_127(g5558,I10000,I10001); + nand NAND2_128(I6740,g195,I6739); + nand NAND2_129(g4513,I8582,I8583); + nand NAND2_130(I11164,g5469,I11163); + nand NAND2_131(I8939,g4239,I8938); + nand NAND2_132(g6119,I10744,I10745); + nand NAND2_133(g7257,I13214,I13215); + nand NAND2_134(I7156,g2331,g929); + nand NAND2_135(g4679,I8939,I8940); + nand NAND2_136(I11575,g5894,I11574); + nand NAND2_137(g3518,I6997,I6998); + nand NAND2_138(I8636,g2481,I8635); + nand NAND3_2(g4831,g3635,g3605,g4220); + nand NAND2_139(I11109,g5522,I11108); + nand NAND2_140(g6893,I12551,I12552); + nand NAND2_141(I11108,g5522,g2734); + nand NAND2_142(g6274,I11102,I11103); + nand NAND2_143(I9151,g3883,g1649); + nand NAND2_144(I7453,g3226,I7452); + nand NAND2_145(g6170,I10874,I10875); + nand NAND2_146(I11750,g6112,g1486); + nand NAND2_147(I7568,g2481,I7567); + nand NAND2_148(g6280,I11136,I11137); + nand NAND2_149(I7157,g2331,I7156); + nand NAND2_150(I8637,g2743,I8635); + nand NAND2_151(g4869,g4254,g3533); + nand NAND2_152(I8536,g2506,g2798); + nand NAND2_153(I9278,g4313,I9276); + nand NAND2_154(g3658,I7149,I7150); + nand NAND3_3(g6187,g5633,g3735,g3716); + nand NAND2_155(I6275,g906,I6273); + nand NAND2_156(I9235,g2180,I9233); + nand NAND2_157(I10981,g5625,I10980); + nand NAND2_158(g2395,I6274,I6275); + nand NAND2_159(I9693,g1037,I9691); + nand NAND2_160(I9548,g1952,I9547); + nand NAND2_161(g7480,I13639,I13640); + nand NAND2_162(I10899,g5520,g2752); + nand NAND2_163(g1678,I5506,I5507); + nand NAND2_164(I11757,g1758,g6118); + nand NAND3_4(g5672,g5056,g5039,g5023); + nand NAND2_165(g6695,I12016,I12017); + nand NAND2_166(g3680,I7187,I7188); + nand NAND2_167(g1682,I5520,I5521); + nand NAND2_168(g6159,I10835,I10836); + nand NAND2_169(I8537,g2506,I8536); + nand NAND2_170(I13397,g1057,I13395); + nand NAND2_171(I6905,g2105,I6904); + nand NAND2_172(I8243,g2011,g3506); + nand NAND2_173(I8328,g2721,I8326); + nand NAND2_174(g2783,I6523,I6524); + nand NAND2_175(I9965,g4869,I9963); + nand NAND2_176(I6750,g1733,g1494); + nand NAND2_177(I13213,g7065,g7082); + nand NAND2_178(g5712,I10224,I10225); + nand NAND2_179(g4745,I9070,I9071); + nand NAND2_180(I11574,g5894,g1122); + nand NAND3_5(g4309,g3002,g3124,g3659); + nand NAND2_181(I10061,g4910,I10060); + nand NAND2_182(I7616,g3008,g1721); + nand NAND2_183(I8512,g2807,I8510); + nand NAND2_184(g3889,I7437,I7438); + nand NAND2_185(I10360,g5552,I10359); + nand NAND2_186(I8166,g3231,I8164); + nand NAND2_187(I7503,g2498,g3802); + nand NAND2_188(g3722,I7215,I7216); + nand NAND2_189(g4575,I8679,I8680); + nand NAND2_190(I15863,g9174,I15862); + nand NAND2_191(I13396,g7212,I13395); + nand NAND2_192(I14472,g8147,g1069); + nand NAND2_193(I14246,g1065,I14244); + nand NAND2_194(I7277,g2497,g1898); + nand NAND2_195(I10071,g4954,g2253); + nand NAND2_196(I6172,g911,I6170); + nand NAND2_197(I7617,g3008,I7616); + nand NAND2_198(g6902,I12576,I12577); + nand NAND2_199(I9153,g1649,I9151); + nand NAND2_200(g7316,I13377,I13378); + nand NAND2_201(g3231,g1889,g1904); + nand NAND2_202(I6134,g846,I6133); + nand NAND2_203(I12080,g5971,I12078); + nand NAND2_204(I7892,g2979,I7891); + nand NAND2_205(I8393,g2949,I8392); + nand NAND2_206(g1910,g1435,g1439); + nand NAND2_207(I13787,g1477,I13785); + nand NAND2_208(I12031,g5918,g5897); + nand NAND2_209(g5632,g2276,g4901); + nand NAND2_210(g5095,I9476,I9477); + nand NAND2_211(g4881,g2460,g4315); + nand NAND2_212(g2352,I6171,I6172); + nand NAND2_213(I7140,g2397,I7138); + nand NAND2_214(g6463,g5918,g5278); + nand NAND2_215(I7478,g2502,g3808); + nand NAND2_216(I8121,g3220,I8119); + nand NAND2_217(I6202,g831,I6201); + nand NAND2_218(I13640,g7069,I13638); + nand NAND2_219(g3613,I7086,I7087); + nand NAND2_220(g5752,I10328,I10329); + nand NAND2_221(I12869,g2536,g6618); + nand NAND2_222(I8253,g2454,g3825); + nand NAND2_223(I8938,g4239,g1545); + nand NAND2_224(I6776,g1134,I6774); + nand NAND2_225(I8606,g2487,I8605); + nand NAND2_226(I7214,g815,g2091); + nand NAND3_6(g4305,g3712,g3700,g3732); + nand NAND2_227(I9476,g4038,I9475); + nand NAND2_228(I13003,g7010,I13002); + nand NAND2_229(I6996,g2275,g2242); + nand NAND2_230(g5189,I9692,I9693); + nand NAND2_231(I13786,g7427,I13785); + nand NAND2_232(I6878,g1910,I6876); + nand NAND2_233(g3679,I7180,I7181); + nand NAND2_234(I8607,g2764,I8605); + nand NAND2_235(I8659,g2471,I8658); + nand NAND2_236(I9477,g1942,I9475); + nand NAND2_237(g4227,I8133,I8134); + nand NAND2_238(I6997,g2275,I6996); + nand NAND2_239(I12079,g5988,I12078); + nand NAND2_240(g6570,I11751,I11752); + nand NAND2_241(I12078,g5988,g5971); + nand NAND2_242(I12598,g1126,I12596); + nand NAND2_243(I10889,g5590,I10888); + nand NAND2_244(I10980,g5625,g2210); + nand NAND2_245(I10888,g5590,g2259); + nand NAND2_246(g2315,I6103,I6104); + nand NAND2_247(g4502,I8559,I8560); + nand NAND4_1(g6158,g3735,g3716,g5633,g3754); + nand NAND2_248(g5575,I10039,I10040); + nand NAND2_249(I11149,g5473,g3038); + nand NAND2_250(I8559,g2502,I8558); + nand NAND2_251(g6275,I11109,I11110); + nand NAND2_252(g6615,I11842,I11843); + nand NAND2_253(I7150,g1974,I7148); + nand NAND2_254(g5539,I9947,I9948); + nand NAND2_255(I7438,g3822,I7436); + nand NAND2_256(I7009,g2295,g2333); + nand NAND2_257(I15862,g9174,g9171); + nand NAND2_258(I12017,g5847,I12015); + nand NAND2_259(g6284,I11164,I11165); + nand NAND2_260(g6180,I10900,I10901); + nand NAND2_261(g4741,I9058,I9059); + nand NAND2_262(I9946,g2128,g4905); + nand NAND2_263(g4910,g2460,g4314); + nand NAND2_264(I10625,g5314,g1514); + nand NAND2_265(g2330,I6134,I6135); + nand NAND2_266(g6559,g5814,g6109); + nand NAND2_267(g3012,I6758,I6759); + nand NAND2_268(g9202,I15881,I15882); + nand NAND2_269(g3706,g1556,g2510); + nand NAND2_270(I9182,g4231,I9181); + nand NAND2_271(I9382,g4062,I9381); + nand NAND2_272(I10060,g4910,g2226); + nand NAND2_273(I10197,g4724,I10196); + nand NAND2_274(I6500,g1913,I6499); + nand NAND2_275(I10855,g5521,I10854); + nand NAND2_276(I8151,g3229,I8150); + nand NAND2_277(I13378,g1472,I13376); + nand NAND2_278(I9947,g2128,I9946); + nand NAND2_279(I11096,g2734,I11094); + nand NAND2_280(I10867,g5480,I10866); + nand NAND2_281(I5505,g1532,g1528); + nand NAND2_282(I13802,g1061,I13800); + nand NAND2_283(I10315,g1041,I10313); + nand NAND3_7(g5305,g5009,g4335,g4328); + nand NAND2_284(I6523,g1919,I6522); + nand NAND2_285(I10819,g5567,I10818); + nand NAND2_286(I12016,g5874,I12015); + nand NAND2_287(I10818,g5567,g2039); + nand NAND2_288(g5748,I10306,I10307); + nand NAND2_289(I11549,g5984,g1045); + nand NAND2_290(g9179,I15818,I15819); + nand NAND2_291(I7085,g1753,g1918); + nand NAND2_292(I7485,g2989,g1708); + nand NAND2_293(I6104,g921,I6102); + nand NAND2_294(I6499,g1913,g1537); + nand NAND2_295(g4256,g3233,g1444); + nand NAND2_296(I8134,g1646,I8132); + nand NAND2_297(g7503,I13686,I13687); + nand NAND2_298(I10094,g2177,I10092); + nand NAND2_299(I6273,g840,g906); + nand NAND2_300(g2367,I6202,I6203); + nand NAND2_301(g4700,g2460,g4271); + nand NAND2_302(I13002,g7010,g1053); + nand NAND2_303(I9233,g4310,g2180); + nand NAND2_304(I10019,g2174,I10017); + nand NAND2_305(g4263,g3260,g1435); + nand NAND2_306(I10196,g4724,g1958); + nand NAND2_307(I10018,g4700,I10017); + nand NAND2_308(g6282,I11150,I11151); + nand NAND2_309(I10866,g5480,g2605); + nand NAND2_310(I7270,g955,I7268); + nand NAND2_311(I10001,g1929,I9999); + nand NAND2_312(I7610,g2471,I7609); + nand NAND2_313(I9171,g4244,I9169); + nand NAND2_314(I10923,g5525,g2752); + nand NAND2_315(I7069,g1639,I7068); + nand NAND2_316(I10300,g2562,I10298); + nand NAND3_8(g7244,g7050,g3757,g3739); + nand NAND2_317(I7540,g1715,I7538); + nand NAND2_318(g7140,I13003,I13004); + nand NAND2_319(g5689,I10197,I10198); + nand NAND2_320(I9745,g4826,g1549); + nand NAND2_321(I9963,g1938,g4869); + nand NAND2_322(g7082,I12853,I12854); + nand NAND2_323(I6135,g916,I6133); + nand NAND2_324(g3678,I7173,I7174); + nand NAND2_325(I15881,g9190,I15880); + nand NAND2_326(I11080,g2511,I11078); + nand NAND2_327(I10854,g5521,g2584); + nand NAND2_328(I6916,g2360,g1732); + nand NAND2_329(g5564,I10018,I10019); + nand NAND2_330(I8658,g2471,g2724); + nand NAND2_331(I5696,g1513,I5695); + nand NAND2_332(I7510,g2992,g1711); + nand NAND2_333(I12853,g6701,I12852); + nand NAND2_334(g4474,I8503,I8504); + nand NAND2_335(I10314,g5484,I10313); + nand NAND2_336(I6102,g849,g921); + nand NAND2_337(I11843,g6158,I11841); + nand NAND2_338(I10307,g3019,I10305); + nand NAND2_339(g5589,I10061,I10062); + nand NAND2_340(I8132,g3232,g1646); + nand NAND2_341(I8680,g2706,I8678); + nand NAND2_342(g3602,I7069,I7070); + nand NAND2_343(I6752,g1494,I6750); + nand NAND2_344(I6917,g2360,I6916); + nand NAND2_345(g1775,I5620,I5621); + nand NAND2_346(I7215,g815,I7214); + nand NAND2_347(g3767,I7240,I7241); + nand NAND2_348(I5697,g1524,I5695); + nand NAND2_349(I8558,g2502,g2790); + nand NAND2_350(I12053,g5939,I12051); + nand NAND2_351(I6233,g834,I6232); + nand NAND2_352(I10335,g5462,I10334); + nand NAND2_353(g9205,I15898,I15899); + nand NAND2_354(I8511,g2517,I8510); + nand NAND2_355(I10993,g2389,I10991); + nand NAND2_356(I14839,g1073,I14837); + nand NAND2_357(g5538,g5132,g1266); + nand NAND2_358(I15897,g9202,g9203); + nand NAND2_359(I14838,g8660,I14837); + nand NAND2_360(g7237,g7050,g3739); + nand NAND2_361(I9070,g4400,I9069); + nand NAND2_362(g6153,I10819,I10820); + nand NAND2_363(g6680,g5403,g6252); + nand NAND2_364(g8239,g8073,g8092); + nand NAND2_365(I11171,g5477,I11170); + nand NAND2_366(I6171,g843,I6170); + nand NAND2_367(I10039,g4893,I10038); + nand NAND2_368(I10306,g5470,I10305); + nand NAND2_369(I10038,g4893,g2202); + nand NAND2_370(g3028,I6775,I6776); + nand NAND2_371(I11079,g5697,I11078); + nand NAND2_372(I7891,g2979,g1499); + nand NAND2_373(I10143,g4707,I10142); + nand NAND2_374(I13599,g2551,I13598); + nand NAND2_375(I11078,g5697,g2511); + nand NAND2_376(I13598,g2551,g7244); + nand NAND2_377(g5562,I10010,I10011); + nand NAND2_378(I10791,g2170,I10789); + nand NAND2_379(I15850,g9154,I15848); + nand NAND2_380(I8339,g2966,I8338); + nand NAND2_381(g5257,I9768,I9769); + nand NAND2_382(I6759,g1983,I6757); + nand NAND2_383(g5605,I10093,I10094); + nand NAND2_384(g3883,g2276,g3188); + nand NAND2_385(I11158,g3052,I11156); + nand NAND2_386(I6201,g831,g891); + nand NAND2_387(I9169,g1935,g4244); + nand NAND2_388(g5751,I10321,I10322); + nand NAND2_389(I9059,g1504,I9057); + nand NAND2_390(g6476,g5939,g5269); + nand NAND2_391(I11144,g3062,I11142); + nand NAND2_392(I9767,g4832,g1114); + nand NAND2_393(g6722,I12079,I12080); + nand NAND2_394(I10223,g2522,g4895); + nand NAND2_395(g6285,I11171,I11172); + nand NAND2_396(I12577,g1049,I12575); + nand NAND2_397(I6539,g2555,I6538); + nand NAND2_398(I10321,g5459,I10320); + nand NAND2_399(I13017,g6941,I13016); + nand NAND2_400(g6424,I11550,I11551); + nand NAND2_401(I10953,g5565,I10952); + nand NAND2_402(I15857,g9165,I15855); + nand NAND2_403(g6477,g5269,g5918); + nand NAND2_404(g4820,I9170,I9171); + nand NAND2_405(I10334,g5462,g2573); + nand NAND2_406(I13687,g7237,I13685); + nand NAND2_407(I11752,g1486,I11750); + nand NAND2_408(I7068,g1639,g1643); + nand NAND2_409(I12852,g6701,g6695); + nand NAND2_410(I7468,g1704,I7466); + nand NAND2_411(g6273,I11095,I11096); + nand NAND2_412(I9826,g4729,g1509); + nand NAND2_413(I8660,g2724,I8658); + nand NAND2_414(I10000,g4839,I9999); + nand NAND2_415(I10908,g2605,I10906); + nand NAND2_416(I11842,g2548,I11841); + nand NAND2_417(I7576,g1718,I7574); + nand NAND2_418(I7149,g799,I7148); + nand NAND2_419(I12576,g6574,I12575); + nand NAND2_420(I13016,g6941,g1142); + nand NAND2_421(g4294,I8244,I8245); + nand NAND2_422(I8679,g2467,I8678); + nand NAND2_423(I7241,g2134,I7239); + nand NAND2_424(I12052,g5956,I12051); + nand NAND2_425(I15856,g9168,I15855); + nand NAND2_426(I15880,g9190,g9179); + nand NAND2_427(I10992,g5632,I10991); + nand NAND2_428(I9827,g4729,I9826); + nand NAND2_429(g7069,g5435,g6680); + nand NAND2_430(I11124,g2712,I11122); + nand NAND2_431(I8560,g2790,I8558); + nand NAND2_432(g4954,g4319,g2460); + nand NAND2_433(g4810,I9152,I9153); + nand NAND2_434(g7540,I13801,I13802); + nand NAND2_435(g4363,I8339,I8340); + nand NAND2_436(I13686,g1977,I13685); + nand NAND2_437(I9196,g1652,I9194); + nand NAND2_438(I10835,g5514,I10834); + nand NAND2_439(g6178,g2205,g5568); + nand NAND2_440(I7893,g1499,I7891); + nand NAND2_441(I7186,g2353,g1834); + nand NAND2_442(I11875,g6187,I11873); + nand NAND2_443(g4912,I9277,I9278); + nand NAND2_444(g3890,I7444,I7445); + nand NAND2_445(I9994,g4871,I9992); + nand NAND2_446(g3011,I6751,I6752); + nand NAND2_447(I7939,g1138,I7937); + nand NAND2_448(I6203,g891,I6201); + nand NAND2_449(I9181,g4231,g2007); + nand NAND2_450(g5753,I10335,I10336); + nand NAND2_451(I8164,g1943,g3231); + nand NAND2_452(I9381,g4062,g1908); + nand NAND2_453(I15887,g9192,g9191); + nand NAND2_454(g7144,I13017,I13018); + nand NAND2_455(I10142,g4707,g1916); + nand NAND2_456(I6940,g2161,I6939); + nand NAND2_457(I7187,g2353,I7186); + nand NAND2_458(I7461,g3815,I7459); + nand NAND2_459(g5565,g2044,g4933); + nand NAND2_460(g5681,g5132,g2043); + nand NAND2_461(g6265,I11079,I11080); + nand NAND2_462(g5697,g2044,g5005); + nand NAND2_463(I11170,g5477,g3038); + nand NAND2_464(g6164,I10848,I10849); + nand NAND2_465(I8956,g4246,I8955); + nand NAND2_466(I6741,g1970,I6739); + nand NAND2_467(g6770,I12180,I12181); + nand NAND2_468(I13589,g7234,I13587); + nand NAND2_469(I13588,g2556,I13587); + nand NAND2_470(I8338,g2966,g1698); + nand NAND2_471(g3924,I7568,I7569); + nand NAND2_472(I10952,g5565,g2340); + nand NAND2_473(I6758,g186,I6757); + nand NAND2_474(I6066,g883,I6064); + nand NAND2_475(g7065,I12833,I12834); + nand NAND2_476(I11616,g1519,I11614); + nand NAND2_477(I10790,g5512,I10789); + nand NAND2_478(I9058,g4059,I9057); + nand NAND2_479(I10873,g5516,g2595); + nand NAND2_480(I8957,g1110,I8955); + nand NAND2_481(g3665,I7157,I7158); + nand NAND2_482(I6133,g846,g916); + nand NAND2_483(g6281,I11143,I11144); + nand NAND2_484(I6774,g2386,g1134); + nand NAND2_485(I11101,g5491,g2712); + nand NAND2_486(I11177,g5466,g3019); + nand NAND2_487(I10834,g5514,g2584); + nand NAND2_488(I6538,g2555,g2557); + nand NAND2_489(I9992,g2145,g4871); + nand NAND2_490(I11874,g2543,I11873); + nand NAND2_491(I15817,g9151,g9148); + nand NAND2_492(I12833,g6722,I12832); + nand NAND2_493(I10320,g5459,g2573); + nand NAND2_494(I10073,g2253,I10071); + nand NAND2_495(g8231,I14473,I14474); + nand NAND2_496(g5363,I9827,I9828); + nand NAND2_497(g3681,g866,g2368); + nand NAND2_498(I8504,g2038,I8502); + nand NAND2_499(g3914,I7532,I7533); + nand NAND2_500(I12951,g7003,g1467); + nand NAND3_9(g5568,g2044,g4902,g4320); + nand NAND2_501(I12033,g5897,I12031); + nand NAND2_502(I8470,g2525,g2821); + nand NAND2_503(I7512,g1711,I7510); + nand NAND2_504(g9203,I15888,I15889); + nand NAND2_505(I11185,g5474,I11184); + nand NAND2_506(g4244,g3549,g3533); + nand NAND2_507(I6257,g837,g901); + nand NAND2_508(I7148,g799,g1974); + nand NAND2_509(I9183,g2007,I9181); + nand NAND2_510(I9383,g1908,I9381); + nand NAND2_511(I14474,g1069,I14472); + nand NAND2_512(I8678,g2467,g2706); + nand NAND2_513(I10327,g5467,g2562); + nand NAND2_514(g7828,I14245,I14246); + nand NAND2_515(I8635,g2481,g2743); + nand NAND2_516(I6751,g1733,I6750); + nand NAND2_517(g6504,g5269,g5874); + nand NAND2_518(I13215,g7082,I13213); + nand NAND2_519(g2378,I6233,I6234); + nand NAND2_520(I10982,g2210,I10980); + nand NAND2_521(I7279,g1898,I7277); + nand NAND2_522(I9999,g4839,g1929); + nand NAND2_523(g4110,I7938,I7939); + nand NAND2_524(g4310,g3666,g2460); + nand NAND2_525(g4824,I9182,I9183); + nand NAND2_526(g5661,I10143,I10144); + nand NAND2_527(I8582,g2498,I8581); + nand NAND2_528(I7938,g3614,I7937); + nand NAND2_529(I5620,g1092,I5619); + nand NAND2_530(I10040,g2202,I10038); + nand NAND2_531(g8798,g6984,g8644); + nand NAND2_532(g4563,I8659,I8660); + nand NAND2_533(g6169,I10867,I10868); + nand NAND2_534(g6283,I11157,I11158); + nand NAND2_535(g4237,I8151,I8152); + nand NAND2_536(I11576,g1122,I11574); + nand NAND2_537(I8502,g2986,g2038); + nand NAND2_538(I10847,g5490,g2595); + nand NAND2_539(I8940,g1545,I8938); + nand NAND2_540(I10062,g2226,I10060); + nand NAND2_541(I11115,g5481,g3062); + nand NAND2_542(g5546,I9964,I9965); + nand NAND2_543(g7325,I13396,I13397); + nand NAND2_544(I5520,g1087,I5519); + nand NAND2_545(g6203,I10953,I10954); + nand NAND2_546(I11184,g5474,g3029); + nand NAND2_547(I7158,g929,I7156); + nand NAND2_548(I6924,g1728,I6923); + nand NAND2_549(I12832,g6722,g6709); + nand NAND2_550(I10072,g4954,I10071); + nand NAND2_551(g4836,g4288,g1879); + nand NAND2_552(g3894,I7460,I7461); + nand NAND2_553(g6188,I10924,I10925); + nand NAND2_554(I7174,g2006,I7172); + nand NAND2_555(I13214,g7065,I13213); + nand NAND2_556(I10820,g2039,I10818); + nand NAND2_557(I7239,g1658,g2134); + nand NAND2_558(I8165,g1943,I8164); + nand NAND2_559(I7180,g2351,I7179); + nand NAND2_560(I6103,g849,I6102); + nand NAND2_561(I8133,g3232,I8132); + nand NAND2_562(g1819,I5696,I5697); + nand NAND2_563(I12032,g5918,I12031); + nand NAND2_564(g5035,I9382,I9383); + nand NAND2_565(I9954,g2131,I9953); + nand NAND2_566(I8538,g2798,I8536); + nand NAND2_567(I15864,g9171,I15862); + nand NAND2_568(I12871,g6618,I12869); + nand NAND2_569(g6466,I11615,I11616); + nand NAND2_570(g7447,I13599,I13600); + nand NAND2_571(g6165,I10855,I10856); + nand NAND2_572(g6571,I11758,I11759); + nand NAND3_10(g5310,g5009,g4335,g4963); + nand NAND2_573(g4298,I8254,I8255); + nand NAND2_574(I10743,g5550,g2100); + nand NAND2_575(g5762,I10360,I10361); + nand NAND2_576(g3925,I7575,I7576); + nand NAND2_577(g5590,g2044,g4906); + nand NAND2_578(I11759,g6118,I11757); + nand NAND2_579(g5657,g5021,g4381); + nand NAND2_580(I11758,g1758,I11757); + nand NAND2_581(g6467,g5956,g5269); + nand NAND2_582(g5556,I9986,I9987); + nand NAND2_583(g4219,I8120,I8121); + nand NAND2_584(g2385,I6258,I6259); + nand NAND4_2(g7234,g3757,g3739,g7050,g3770); + nand NAND2_585(g4252,g2276,g3313); + nand NAND2_586(g3906,I7504,I7505); + nand NAND2_587(I6775,g2386,I6774); + nand NAND2_588(I7010,g2295,I7009); + nand NAND2_589(I10890,g2259,I10888); + nand NAND2_590(I8605,g2487,g2764); + nand NAND2_591(g6181,I10907,I10908); + nand NAND2_592(g4911,g4320,g2044); + nand NAND2_593(I9475,g4038,g1942); + nand NAND2_594(I6739,g195,g1970); + nand NAND2_595(I7172,g1739,g2006); + nand NAND2_596(I7278,g2497,I7277); + nand NAND2_597(I11135,g5476,g3052); + nand NAND2_598(I7618,g1721,I7616); + nand NAND2_599(g2801,I6539,I6540); + nand NAND2_600(g5557,I9993,I9994); + nand NAND2_601(g3907,I7511,I7512); + nand NAND2_602(I6501,g1537,I6499); + nand NAND2_603(I13004,g1053,I13002); + nand NAND2_604(I9276,g2533,g4313); + nand NAND2_605(g3656,I7139,I7140); + nand NAND2_606(g3915,I7539,I7540); + nand NAND2_607(g4399,I8393,I8394); + nand NAND2_608(I9986,g4836,I9985); + nand NAND2_609(I7567,g2481,g3780); + nand NAND2_610(I9277,g2533,I9276); + nand NAND2_611(I11163,g5469,g3029); + nand NAND2_612(I12551,g6689,I12550); + nand NAND2_613(g7121,I12952,I12953); + nand NAND2_614(I9987,g2096,I9985); + nand NAND2_615(g3899,I7479,I7480); + nand NAND2_616(I9547,g1952,g4307); + nand NAND2_617(I7179,g2351,g795); + nand NAND2_618(I8326,g2011,g2721); + nand NAND2_619(I12181,g6163,I12179); + nand NAND2_620(I10011,g4821,I10009); + nand NAND2_621(I7611,g3771,I7609); + nand NAND2_622(I10627,g1514,I10625); + nand NAND2_623(g4887,I9234,I9235); + nand NAND2_624(g4228,g1408,g2665); + nand NAND2_625(I10925,g2752,I10923); + nand NAND2_626(I6998,g2242,I6996); + nand NAND2_627(I8327,g2011,I8326); + nand NAND2_628(g6023,I10626,I10627); + nand NAND2_629(I7511,g2992,I7510); + nand NAND2_630(g2333,g985,g990); + nand NAND2_631(I8472,g2821,I8470); + nand NAND2_632(I7574,g2999,g1718); + nand NAND2_633(g9190,I15849,I15850); + nand NAND2_634(I12870,g2536,I12869); + nand NAND2_635(I6925,g33,I6923); + nand NAND2_636(I13395,g7212,g1057); + nand NAND2_637(g5540,I9954,I9955); + nand NAND2_638(I10626,g5314,I10625); + nand NAND2_639(I14245,g7683,I14244); + nand NAND2_640(I10299,g5461,I10298); + nand NAND2_641(g3895,I7467,I7468); + nand NAND2_642(I10298,g5461,g2562); + nand NAND2_643(g6472,g5971,g5269); + nand NAND2_644(I6906,g1838,I6904); + nand NAND2_645(I5599,g1481,I5598); + nand NAND2_646(I9194,g4252,g1652); + nand NAND2_647(I10856,g2584,I10854); + nand NAND2_648(I15882,g9179,I15880); + nand NAND2_649(I7139,g2404,I7138); + nand NAND2_650(I9071,g1149,I9069); + nand NAND2_651(I9242,g2540,I9241); + nand NAND3_11(g5291,g4344,g5002,g4963); + nand NAND2_652(I9948,g4905,I9946); + nand NAND2_653(I8581,g2498,g2777); + nand NAND2_654(I9955,g4831,I9953); + nand NAND2_655(g2751,I6500,I6501); + nand NAND2_656(I6876,g1967,g1910); + nand NAND2_657(I9769,g1114,I9767); + nand NAND2_658(I10080,g2256,I10078); + nand NAND2_659(I10924,g5525,I10923); + nand NAND2_660(I15849,g9162,I15848); + nand NAND2_661(g3286,I6905,I6906); + nand NAND2_662(I15848,g9162,g9154); + nand NAND2_663(I9993,g2145,I9992); + nand NAND2_664(I12597,g6582,I12596); + nand NAND2_665(I5695,g1513,g1524); + nand NAND2_666(I7444,g2973,I7443); + nand NAND2_667(I7269,g2486,I7268); + nand NAND2_668(I10198,g1958,I10196); + nand NAND2_669(g5594,I10072,I10073); + nand NAND2_670(I13785,g7427,g1477); + nand NAND2_671(I6877,g1967,I6876); + nand NAND2_672(I10868,g2605,I10866); + nand NAND2_673(g2474,g1405,g1412); + nand NAND2_674(I12854,g6695,I12852); + nand NAND2_675(I10225,g4895,I10223); + nand NAND2_676(I11151,g3038,I11149); + nand NAND2_677(I11172,g3038,I11170); + nand NAND2_678(I6064,g852,g883); + nand NAND2_679(g4893,g2460,g4312); + nand NAND2_680(g5550,g1879,g4830); + nand NAND2_681(I14244,g7683,g1065); + nand NAND2_682(g3900,I7486,I7487); + nand NAND2_683(g6163,g5633,g3716); + nand NAND2_684(I7436,g2517,g3822); + nand NAND2_685(I12550,g6689,g1462); + nand NAND2_686(g4821,g4220,g3605); + nand NAND2_687(I6844,g2016,I6842); + nand NAND2_688(I12596,g6582,g1126); + nand NAND2_689(I7422,g2525,I7421); + nand NAND2_690(I13377,g7199,I13376); + nand NAND2_691(I12180,g1961,I12179); + nand NAND2_692(I10010,g1949,I10009); + nand NAND2_693(g3886,I7422,I7423); + nand NAND2_694(I6814,g210,I6813); + nand NAND2_695(I10079,g4911,I10078); + nand NAND2_696(I7437,g2517,I7436); + nand NAND2_697(g3314,I6917,I6918); + nand NAND2_698(I10078,g4911,g2256); + nand NAND3_12(g5312,g5009,g5002,g4963); + nand NAND2_699(I10322,g2573,I10320); + nand NAND2_700(g2051,g1444,g1450); + nand NAND2_701(I10901,g2752,I10899); + nand NAND2_702(I6918,g1732,I6916); + nand NAND2_703(I9980,g2092,I9978); + nand NAND2_704(I9069,g4400,g1149); + nand NAND2_705(I8583,g2777,I8581); + nand NAND2_706(g4359,I8327,I8328); + nand NAND2_707(I10144,g1916,I10142); + nand NAND2_708(I11551,g1045,I11549); + nand NAND2_709(g3887,I7429,I7430); + nand NAND2_710(I7454,g1106,I7452); + nand NAND2_711(I10336,g2573,I10334); + nand NAND2_712(g6627,I11874,I11875); + nand NAND2_713(I7532,g2487,I7531); + nand NAND2_714(I10017,g4700,g2174); + nand NAND2_715(I5619,g1092,g1130); + nand NAND2_716(I13376,g7199,g1472); + nand NAND2_717(I11103,g2712,I11101); + nand NAND2_718(I11095,g5515,I11094); + nand NAND2_719(g8633,g8176,g6232); + nand NAND2_720(I8503,g2986,I8502); + nand NAND2_721(g4880,g4287,g1879); + nand NAND3_13(g5576,g4894,g4888,g4884); + nand NAND2_722(I10224,g2522,I10223); + nand NAND2_723(I7429,g3222,I7428); + nand NAND2_724(I8120,g1904,I8119); + nand NAND2_725(I12015,g5874,g5847); + nand NAND2_726(I5598,g1481,g1489); + nand NAND2_727(g6276,I11116,I11117); + nand NAND2_728(g4243,I8165,I8166); + nand NAND2_729(g5747,I10299,I10300); + nand NAND2_730(I6842,g205,g2016); + nand NAND2_731(I7138,g2404,g2397); + nand NAND2_732(I10954,g2340,I10952); + nand NAND2_733(I6941,g2051,I6939); + nand NAND2_734(g6503,g5269,g5897); + nand NAND2_735(I5519,g1087,g1098); + nand NAND2_736(I12179,g1961,g6163); + nand NAND2_737(g8681,I14838,I14839); + nand NAND2_738(I15899,g9203,I15897); + nand NAND2_739(I15898,g9202,I15897); + nand NAND2_740(I12953,g1467,I12951); + nand NAND2_741(I8244,g2011,I8243); + nand NAND2_742(g6277,I11123,I11124); + nand NAND2_743(I7575,g2999,I7574); + nand NAND2_744(I8340,g1698,I8338); + nand NAND2_745(g4090,I7892,I7893); + nand NAND2_746(I9768,g4832,I9767); + nand NAND2_747(g6516,g5897,g5278); + nand NAND2_748(g3129,I6843,I6844); + nand NAND2_749(g4456,I8471,I8472); + nand NAND2_750(I7539,g2996,I7538); + nand NAND2_751(g2995,I6740,I6741); + nand NAND2_752(g2294,I6065,I6066); + nand NAND2_753(g3221,I6877,I6878); + nand NAND2_754(I7268,g2486,g955); + nand NAND2_755(I5506,g1532,I5505); + nand NAND2_756(I7452,g3226,g1106); + nand NAND2_757(g6709,I12052,I12053); + nand NAND2_758(I6540,g2557,I6538); + nand NAND2_759(I10093,g4881,I10092); + nand NAND2_760(I9195,g4252,I9194); + nand NAND2_761(I7086,g1753,I7085); + nand NAND2_762(I7486,g2989,I7485); + nand NAND2_763(g6435,I11575,I11576); + nand NAND2_764(g6482,g5269,g5847); + nand NAND2_765(I7504,g2498,I7503); + nand NAND2_766(I10875,g2595,I10873); + nand NAND2_767(I7070,g1643,I7068); + nand NAND2_768(I14837,g8660,g1073); + nand NAND2_769(g4686,I8956,I8957); + nand NAND2_770(I11094,g5515,g2734); + nand NAND2_771(I5507,g1528,I5505); + nand NAND2_772(I11150,g5473,I11149); + nand NAND2_773(I13801,g7429,I13800); + nand NAND2_774(I9692,g5096,I9691); + nand NAND2_775(g7444,I13588,I13589); + nand NAND2_776(I13018,g1142,I13016); + nand NAND2_777(I6259,g901,I6257); + nand NAND2_778(I7087,g1918,I7085); + nand NAND2_779(I7487,g1708,I7485); + nand NAND2_780(I6923,g1728,g33); + nand NAND2_781(g3818,I7278,I7279); + nand NAND2_782(I8394,g1925,I8392); + nand NAND2_783(I9979,g4880,I9978); + nand NAND2_784(g3893,I7453,I7454); + nand NAND2_785(I7445,g1701,I7443); + nand NAND2_786(I7173,g1739,I7172); + nand NAND2_787(I8471,g2525,I8470); + nand NAND2_788(I9828,g1509,I9826); + nand NAND2_789(g5595,I10079,I10080); + nand NAND2_790(I8955,g4246,g1110); + nand NAND2_791(g9192,I15863,I15864); + nand NAND2_792(I8254,g2454,I8253); + nand NAND2_793(I10836,g2584,I10834); + nand NAND2_794(I9746,g4826,I9745); + nand NAND2_795(I7459,g2506,g3815); + nand NAND2_796(I11102,g5491,I11101); + nand NAND2_797(I11157,g5482,I11156); + nand NAND2_798(g3939,I7617,I7618); + nand NAND2_799(I8150,g3229,g38); + nand NAND2_800(g3083,I6814,I6815); + nand NAND2_801(I9953,g2131,g4831); + nand NAND4_3(g4879,g2595,g2584,g4270,g4281); + nand NAND2_802(I10313,g5484,g1041); + nand NAND2_803(I6065,g852,I6064); + nand NAND2_804(I10305,g5470,g3019); + nand NAND2_805(I10900,g5520,I10899); + nand NAND2_806(I9747,g1549,I9745); + nand NAND2_807(g8627,g6232,g8091); + nand NAND2_808(I11550,g5984,I11549); + nand NAND2_809(I9241,g2540,g4305); + nand NAND2_810(g5512,g1879,g4877); + nand NAND2_811(I7188,g1834,I7186); + nand NAND2_812(I10874,g5516,I10873); + nand NAND2_813(I7216,g2091,I7214); + nand NAND2_814(I12952,g7003,I12951); + nand NAND2_815(I7428,g3222,g1541); + nand NAND2_816(I10009,g1949,g4821); + nand NAND2_817(I7430,g1541,I7428); + nand NAND2_818(I11156,g5482,g3052); + nand NAND2_819(I9152,g3883,I9151); + nand NAND2_820(I5621,g1130,I5619); + nand NAND2_821(I6815,g2052,I6813); + nand NAND2_822(g4905,g4282,g3533); + nand NAND2_823(g3811,I7269,I7270); + nand NAND2_824(g3315,I6924,I6925); + nand NAND2_825(I10907,g5492,I10906); + nand NAND2_826(I7609,g2471,g3771); + nand NAND2_827(I12834,g6709,I12832); + nand NAND2_828(I8392,g2949,g1925); + nand NAND2_829(I9170,g1935,I9169); + nand NAND2_830(I15889,g9191,I15887); + nor NOR4_0(g4884,g4492,g4476,g4456,g4294); + nor NOR3_0(g8656,g8199,I14758,I14759); + nor NOR2_0(g3260,g1728,g2490); + nor NOR2_1(g5615,g4714,g3002); + nor NOR3_1(g8236,g8199,I14495,I14496); + nor NOR2_2(g4160,g1231,g2834); + nor NOR2_3(g7406,g7191,g1600); + nor NOR2_4(g6259,g3002,g5312); + nor NOR4_1(g6465,g5403,g5802,g5769,g5790); + nor NOR4_2(g3515,g1388,g2262,g2230,g2214); + nor NOR3_2(g8812,g8443,g8421,I15086); + nor NOR2_5(g3528,g2343,g1391); + nor NOR2_6(g8073,g7658,g7654); + nor NOR2_7(g3555,g2359,g1398); + nor NOR3_3(g8819,g8443,g8421,I15113); + nor NOR3_4(g8694,g7658,g8613,g7634); + nor NOR3_5(g8806,g8443,g8421,I15044); + nor NOR3_6(g8230,g8199,I14467,I14468); + nor NOR3_7(g8807,g8443,g8421,I15055); + nor NOR4_3(g4888,g4548,g4528,g4513,g4502); + nor NOR3_8(g8859,g8493,g8239,I15165); + nor NOR2_8(g7326,g7194,g6999); + nor NOR3_9(g8699,g7658,g8613,g7634); + nor NOR3_10(g8855,g7658,g8613,g7634); + nor NOR2_9(g8644,g4146,g8128); + nor NOR2_10(g6193,g1926,g5310); + nor NOR3_11(g8818,g8443,g8421,I15102); + nor NOR2_11(g3885,g3310,g3466); + nor NOR2_12(g6174,g1855,g5305); + nor NOR2_13(g3233,g1714,g1459); + nor NOR3_12(g8811,g8443,g8421,I15075); + nor NOR2_14(g8629,g6270,g8009); + nor NOR4_4(g8279,g7658,g7616,g8082,g7634); + nor NOR4_5(g3504,g1375,g2229,g2213,g2206); + nor NOR4_6(g8625,g1000,g6573,g1860,g8009); + nor NOR3_13(g8232,g8199,I14479,I14480); + nor NOR3_14(g8659,g8199,I14771,I14772); + nor NOR2_15(g6209,g2332,g5305); + nor NOR4_7(g8630,g6110,g7784,g3591,g1864); + nor NOR2_16(g6184,g875,g5291); + nor NOR3_15(g8655,g8199,I14753,I14754); + nor NOR2_17(g5772,g5428,g1888); + nor NOR2_18(g2521,g65,g62); + nor NOR2_19(g7324,g7189,g6994); + nor NOR4_8(g5023,g3894,g3889,g3886,g4359); + nor NOR4_9(g8360,g7658,g7616,g8082,g7634); + nor NOR4_10(g8641,g6559,g162,g7784,g3591); + nor NOR2_20(g3505,g2263,g1395); + nor NOR3_16(g8658,g8199,I14766,I14767); + nor NOR3_17(g8680,g8493,g8239,I14834); + nor NOR3_18(g4894,g4298,g4575,g4563); + nor NOR2_21(g7314,g7180,g6972); + nor NOR4_11(g8092,g7634,g7628,g7616,g7611); + nor NOR2_22(g7322,g7188,g6991); + nor NOR4_12(g8523,g7658,g7616,g8082,g7634); + nor NOR2_23(g7312,g7178,g6970); + nor NOR2_24(g6452,g6270,g2245); + nor NOR2_25(g2014,g1421,g1416); + nor NOR3_19(g8862,g8493,g8239,I15172); + nor NOR2_26(g6185,g5305,g1590); + nor NOR3_20(g8679,g8493,g8239,I14831); + nor NOR4_13(g5039,g3924,g3914,g3906,g3899); + nor NOR3_21(g8805,g8443,g8421,I15033); + nor NOR3_22(g7152,g6253,g7083,g5418); + nor NOR3_23(g6664,g5836,g1901,g1788); + nor NOR2_27(g1980,g1430,g1431); + nor NOR3_24(g8233,g8199,I14484,I14485); + nor NOR3_25(g8706,g7658,g8613,g7634); + nor NOR4_14(g6910,g1011,g1837,g6559,g1008); + nor NOR3_26(g8707,g7658,g8613,g7634); + nor NOR2_28(g7328,g7196,g7001); + nor NOR2_29(g3516,g2282,g1401); + nor NOR4_15(g6197,g875,g866,g1590,g5291); + nor NOR2_30(g8635,g1034,g8128); + nor NOR2_31(g8801,g8635,g3790); + nor NOR2_32(g3310,g936,g2557); + nor NOR2_33(g7318,g7185,g6979); + nor NOR2_34(g7321,g7187,g6990); + nor NOR3_27(g3237,g1444,g1838,g1454); + nor NOR3_28(g8861,g8493,g8239,I15169); + nor NOR2_35(g4354,g1424,g3541); + nor NOR3_29(g8803,g8443,g8421,I15021); + nor NOR2_36(g4676,g3885,g3094); + nor NOR3_30(g8847,g8493,g8239,I15147); + nor NOR2_37(g4349,g2496,g3310); + nor NOR3_31(g3225,g1021,g1025,g1889); + nor NOR2_38(g7566,g7421,g1597); + nor NOR3_32(g8863,g8493,g8239,I15175); + nor NOR2_39(g1964,g1428,g1429); + nor NOR3_33(g7209,g1789,g146,g6984); + nor NOR3_34(g5614,g3002,g1590,g4714); + nor NOR2_40(g4318,g3681,g1590); + nor NOR2_41(g6214,g878,g5284); + nor NOR2_42(g4232,g1934,g3591); + nor NOR3_35(g6489,g5802,g5769,g5790); + nor NOR3_36(g3790,g985,g990,g2295); + nor NOR3_37(g5056,g3556,g2872,g3938); + nor NOR3_38(g8850,g8493,g8239,I15152); + +endmodule diff --git a/SupplementaryMaterials/iscas89Verilog/s1423.v b/SupplementaryMaterials/iscas89Verilog/s1423.v new file mode 100644 index 0000000..7020400 --- /dev/null +++ b/SupplementaryMaterials/iscas89Verilog/s1423.v @@ -0,0 +1,795 @@ +//# 17 inputs +//# 5 outputs +//# 74 D-type flipflops +//# 167 inverters +//# 490 gates (197 ANDs + 64 NANDs + 137 ORs + 92 NORs) + + +module s1423(CK,G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16,G726,G729,G702,G727,G701BF); + +input CK,G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16; +output G726,G729,G702,G727,G701BF; + + wire G22,G332BF,G23,G328BF,G24,G109,G25,G113,G26,G118,G27,G125,G28,G129,G29, + G140,G30,G144,G31,G149,G32,G154,G33,G159,G34,G166,G35,G175,G36,G189,G37, + G193,G38,G198,G39,G208,G40,G214,G41,G218,G42,G237,G43,G242,G44,G247,G45, + G252,G46,G260,G47,G303,G48,G309,G49,G315,G50,G321,G51,G360,G52,G365,G53, + G373,G54,G379,G55,G384,G56,G392,G57,G397,G58,G405,G59,G408,G60,G416,G61, + G424,G62,G427,G63,G438,G64,G441,G65,G447,G66,G451,G67,G459,G68,G464,G69, + G469,G70,G477,G71,G494,G72,G498,G73,G503,G74,G526,G75,G531,G76,G536,G77, + G541,G78,G548,G79,G565,G80,G569,G81,G573,G82,G577,G83,G590,G84,G608,G85, + G613,G86,G657,G87,G663,G88,G669,G89,G675,G90,G682,G91,G687,G92,G693,G93, + G705,G94,G707,G95,G713,II1,G332,II12,G328,G108,G712,G111,G112,G117,G124, + G127,G128,G139,G142,G143,G148,G153,G158,G165,G174,G176,G178,G179,G180,G188, + G191,G192,G197,G204,G207,G210,G213,G216,G217,G236,G259,G241,G246,G251,G258, + G296,G297,G302,G305,G324,G308,G311,G314,G317,G320,G323,G336,G355,G339,G343, + G348,G347,G351,G645,G354,G359,G372,G364,G371,G378,G391,G383,G390,G396,G404, + G403,G407,G415,G423,G422,G426,G437,G440,G445,G446,G449,G450,G455,G456,G458, + G476,G463,G468,G475,G486,G491,G500,G495,G499,G504,G511,G507,G510,G525,G589, + G530,G535,G540,G547,G562,G610,G566,G570,G574,G588,G595,G593,G596,G597,G600, + G601,G605,G609,G614,G615,G616,G617,G620,G623,G626,G629,G632,G635,G638,G641, + G644,G656,G658,G659,II1162,G661,G662,G665,G678,G668,G671,G674,G677,II1183, + G685,G696,G689,G695,II1203,G701,II1211,G704,G706,G711,G714,II1227,G715, + II1230,G716,II1233,G717,II1236,G718,II1239,G719,II1242,G720,II1245,G721, + II1248,G722,II1251,G723,II1254,G724,II1257,G725,II1260,II1264,G728,II1267, + G101,G630,G631,G102,G633,G634,G103,G636,G637,G104,G639,G640,G105,G642,G643, + G106,G114,G116,G133,G119,G121,G134,G122,G130,G132,G136,G700,G135,G137,G145, + G147,G168,G150,G152,G169,G155,G157,G170,G160,G162,G171,G163,G177,G172,G173, + G185,G181,G182,G186,G194,G196,G202,G199,G201,G203,G522,G205,G211,G219,G221, + G223,G222,G183,G224,G225,G226,G227,G228,G229,G432,G238,G240,G299,G243,G245, + G262,G248,G250,G263,G253,G255,G264,G624,G625,G256,G261,G265,G271,G275,G266, + G272,G276,G277,G273,G278,G279,G274,G280,G281,G304,G306,G307,G310,G312,G313, + G316,G318,G319,G322,G325,G326,G329,G331,G330,G335,G337,G338,G342,G344,G345, + G346,G349,G350,G358,G523,G361,G363,G366,G368,G375,G369,G374,G376,G377,G380, + G382,G385,G387,G394,G388,G393,G395,G398,G400,G401,G406,G412,G409,G411,G413, + G414,G417,G419,G420,G425,G431,G428,G430,G433,G356,G357,G435,G340,G341,G436, + G352,G353,G439,G442,G443,G448,G452,G453,G457,G460,G462,G434,G465,G467,G479, + G470,G472,G480,G473,G478,G481,G488,G505,G506,G489,G508,G509,G490,G512,G513, + G492,G493,G496,G497,G501,G502,G527,G529,G604,G532,G534,G550,G537,G539,G551, + G542,G544,G552,G545,G549,G553,G563,G564,G567,G568,G571,G572,G575,G576,G627, + G628,G591,G592,G594,G621,G622,G524,G606,G607,G611,G612,G648,G646,G647,G649, + G618,G619,G650,G651,G652,G653,G654,G655,G664,G666,G667,G670,G672,G673,G676, + G679,G680,G683,G684,G688,G690,G691,G694,G697,G698,G703,G230,G708,G709,G599, + G110,G126,G141,G167,G184,G190,G209,G215,G235,G233,G267,G268,G269,G282,G283, + G270,G291,G292,G293,G294,G295,G300,G333,G334,G301,G518,G519,G520,G521,G487, + G554,G555,G583,G584,G585,G586,G587,G561,G602,G603,G96,G97,G98,G99,G100, + G681,G699,G686,G692,G107,G123,G138,G164,G187,G206,G212,G234,G231,G232,G298, + G286,G287,G288,G284,G285,G289,G290,G482,G514,G483,G515,G484,G516,G485,G517, + G556,G557,G558,G559,G560,G578,G579,G580,G581,G582,G598,G115,G120,G131,G146, + G151,G156,G161,G195,G200,G220,G239,G244,G249,G254,G257,G327,G362,G367,G370, + G381,G386,G389,G399,G402,G410,G418,G421,G429,G444,G454,G461,G466,G471,G474, + G528,G533,G538,G543,G546,G660,G710; + + dff DFF_0(CK,G22,G332BF); + dff DFF_1(CK,G23,G328BF); + dff DFF_2(CK,G24,G109); + dff DFF_3(CK,G25,G113); + dff DFF_4(CK,G26,G118); + dff DFF_5(CK,G27,G125); + dff DFF_6(CK,G28,G129); + dff DFF_7(CK,G29,G140); + dff DFF_8(CK,G30,G144); + dff DFF_9(CK,G31,G149); + dff DFF_10(CK,G32,G154); + dff DFF_11(CK,G33,G159); + dff DFF_12(CK,G34,G166); + dff DFF_13(CK,G35,G175); + dff DFF_14(CK,G36,G189); + dff DFF_15(CK,G37,G193); + dff DFF_16(CK,G38,G198); + dff DFF_17(CK,G39,G208); + dff DFF_18(CK,G40,G214); + dff DFF_19(CK,G41,G218); + dff DFF_20(CK,G42,G237); + dff DFF_21(CK,G43,G242); + dff DFF_22(CK,G44,G247); + dff DFF_23(CK,G45,G252); + dff DFF_24(CK,G46,G260); + dff DFF_25(CK,G47,G303); + dff DFF_26(CK,G48,G309); + dff DFF_27(CK,G49,G315); + dff DFF_28(CK,G50,G321); + dff DFF_29(CK,G51,G360); + dff DFF_30(CK,G52,G365); + dff DFF_31(CK,G53,G373); + dff DFF_32(CK,G54,G379); + dff DFF_33(CK,G55,G384); + dff DFF_34(CK,G56,G392); + dff DFF_35(CK,G57,G397); + dff DFF_36(CK,G58,G405); + dff DFF_37(CK,G59,G408); + dff DFF_38(CK,G60,G416); + dff DFF_39(CK,G61,G424); + dff DFF_40(CK,G62,G427); + dff DFF_41(CK,G63,G438); + dff DFF_42(CK,G64,G441); + dff DFF_43(CK,G65,G447); + dff DFF_44(CK,G66,G451); + dff DFF_45(CK,G67,G459); + dff DFF_46(CK,G68,G464); + dff DFF_47(CK,G69,G469); + dff DFF_48(CK,G70,G477); + dff DFF_49(CK,G71,G494); + dff DFF_50(CK,G72,G498); + dff DFF_51(CK,G73,G503); + dff DFF_52(CK,G74,G526); + dff DFF_53(CK,G75,G531); + dff DFF_54(CK,G76,G536); + dff DFF_55(CK,G77,G541); + dff DFF_56(CK,G78,G548); + dff DFF_57(CK,G79,G565); + dff DFF_58(CK,G80,G569); + dff DFF_59(CK,G81,G573); + dff DFF_60(CK,G82,G577); + dff DFF_61(CK,G83,G590); + dff DFF_62(CK,G84,G608); + dff DFF_63(CK,G85,G613); + dff DFF_64(CK,G86,G657); + dff DFF_65(CK,G87,G663); + dff DFF_66(CK,G88,G669); + dff DFF_67(CK,G89,G675); + dff DFF_68(CK,G90,G682); + dff DFF_69(CK,G91,G687); + dff DFF_70(CK,G92,G693); + dff DFF_71(CK,G93,G705); + dff DFF_72(CK,G94,G707); + dff DFF_73(CK,G95,G713); + not NOT_0(II1,G332); + not NOT_1(G332BF,II1); + not NOT_2(II12,G328); + not NOT_3(G328BF,II12); + not NOT_4(G108,G712); + not NOT_5(G111,G24); + not NOT_6(G112,G712); + not NOT_7(G117,G712); + not NOT_8(G124,G712); + not NOT_9(G127,G27); + not NOT_10(G128,G712); + not NOT_11(G139,G712); + not NOT_12(G142,G29); + not NOT_13(G143,G712); + not NOT_14(G148,G712); + not NOT_15(G153,G712); + not NOT_16(G158,G712); + not NOT_17(G165,G712); + not NOT_18(G174,G712); + not NOT_19(G176,G35); + not NOT_20(G178,G34); + not NOT_21(G179,G180); + not NOT_22(G180,G92); + not NOT_23(G188,G712); + not NOT_24(G191,G36); + not NOT_25(G192,G712); + not NOT_26(G197,G712); + not NOT_27(G204,G38); + not NOT_28(G207,G712); + not NOT_29(G210,G39); + not NOT_30(G213,G712); + not NOT_31(G216,G40); + not NOT_32(G217,G712); + not NOT_33(G236,G259); + not NOT_34(G241,G259); + not NOT_35(G246,G259); + not NOT_36(G251,G259); + not NOT_37(G258,G259); + not NOT_38(G296,G297); + not NOT_39(G302,G712); + not NOT_40(G305,G324); + not NOT_41(G308,G712); + not NOT_42(G311,G324); + not NOT_43(G314,G712); + not NOT_44(G317,G324); + not NOT_45(G320,G712); + not NOT_46(G323,G324); + not NOT_47(G336,G355); + not NOT_48(G339,G355); + not NOT_49(G343,G348); + not NOT_50(G347,G348); + not NOT_51(G348,G91); + not NOT_52(G351,G645); + not NOT_53(G354,G355); + not NOT_54(G359,G372); + not NOT_55(G364,G372); + not NOT_56(G371,G372); + not NOT_57(G378,G391); + not NOT_58(G383,G391); + not NOT_59(G390,G391); + not NOT_60(G396,G404); + not NOT_61(G403,G404); + not NOT_62(G407,G712); + not NOT_63(G415,G423); + not NOT_64(G422,G423); + not NOT_65(G426,G712); + not NOT_66(G437,G712); + not NOT_67(G440,G712); + not NOT_68(G445,G65); + not NOT_69(G446,G712); + not NOT_70(G449,G66); + not NOT_71(G450,G712); + not NOT_72(G455,G456); + not NOT_73(G458,G476); + not NOT_74(G463,G476); + not NOT_75(G468,G476); + not NOT_76(G475,G476); + not NOT_77(G486,G712); + not NOT_78(G491,G500); + not NOT_79(G495,G500); + not NOT_80(G499,G500); + not NOT_81(G504,G511); + not NOT_82(G507,G511); + not NOT_83(G510,G511); + not NOT_84(G511,G63); + not NOT_85(G525,G589); + not NOT_86(G530,G589); + not NOT_87(G535,G589); + not NOT_88(G540,G589); + not NOT_89(G547,G589); + not NOT_90(G562,G610); + not NOT_91(G566,G610); + not NOT_92(G570,G610); + not NOT_93(G574,G610); + not NOT_94(G588,G589); + not NOT_95(G595,G593); + not NOT_96(G596,G597); + not NOT_97(G600,G601); + not NOT_98(G605,G610); + not NOT_99(G609,G610); + not NOT_100(G614,G64); + not NOT_101(G615,G616); + not NOT_102(G617,G645); + not NOT_103(G620,G645); + not NOT_104(G623,G645); + not NOT_105(G626,G645); + not NOT_106(G629,G645); + not NOT_107(G632,G645); + not NOT_108(G635,G645); + not NOT_109(G638,G645); + not NOT_110(G641,G645); + not NOT_111(G644,G645); + not NOT_112(G645,G90); + not NOT_113(G656,G712); + not NOT_114(G658,G659); + not NOT_115(II1162,G13); + not NOT_116(G659,II1162); + not NOT_117(G661,G94); + not NOT_118(G662,G712); + not NOT_119(G665,G678); + not NOT_120(G668,G712); + not NOT_121(G671,G678); + not NOT_122(G674,G712); + not NOT_123(G677,G678); + not NOT_124(II1183,G11); + not NOT_125(G678,II1183); + not NOT_126(G685,G696); + not NOT_127(G689,G696); + not NOT_128(G695,G696); + not NOT_129(II1203,G10); + not NOT_130(G696,II1203); + not NOT_131(G701,G15); + not NOT_132(II1211,G701); + not NOT_133(G701BF,II1211); + not NOT_134(G704,G712); + not NOT_135(G706,G712); + not NOT_136(G711,G712); + not NOT_137(G712,G14); + not NOT_138(G714,G701); + not NOT_139(II1227,G6); + not NOT_140(G715,II1227); + not NOT_141(II1230,G7); + not NOT_142(G716,II1230); + not NOT_143(II1233,G8); + not NOT_144(G717,II1233); + not NOT_145(II1236,G9); + not NOT_146(G718,II1236); + not NOT_147(II1239,G12); + not NOT_148(G719,II1239); + not NOT_149(II1242,G0); + not NOT_150(G720,II1242); + not NOT_151(II1245,G1); + not NOT_152(G721,II1245); + not NOT_153(II1248,G2); + not NOT_154(G722,II1248); + not NOT_155(II1251,G3); + not NOT_156(G723,II1251); + not NOT_157(II1254,G4); + not NOT_158(G724,II1254); + not NOT_159(II1257,G5); + not NOT_160(G725,II1257); + not NOT_161(II1260,G93); + not NOT_162(G726,II1260); + not NOT_163(II1264,G16); + not NOT_164(G728,II1264); + not NOT_165(II1267,G95); + not NOT_166(G729,II1267); + and AND2_0(G101,G630,G631); + and AND2_1(G102,G633,G634); + and AND2_2(G103,G636,G637); + and AND2_3(G104,G639,G640); + and AND2_4(G105,G642,G643); + and AND2_5(G109,G106,G108); + and AND2_6(G113,G114,G112); + and AND2_7(G116,G133,G25); + and AND2_8(G118,G119,G117); + and AND2_9(G121,G134,G26); + and AND2_10(G125,G122,G124); + and AND2_11(G129,G130,G128); + and AND2_12(G132,G136,G28); + and AND2_13(G133,G700,G111); + and AND2_14(G134,G133,G25); + and AND2_15(G135,G134,G26); + and AND2_16(G136,G135,G127); + and AND2_17(G140,G137,G139); + and AND2_18(G144,G145,G143); + and AND2_19(G147,G168,G30); + and AND2_20(G149,G150,G148); + and AND2_21(G152,G169,G31); + and AND2_22(G154,G155,G153); + and AND2_23(G157,G170,G32); + and AND2_24(G159,G160,G158); + and AND2_25(G162,G171,G33); + and AND2_26(G166,G163,G165); + and AND2_27(G168,G177,G142); + and AND2_28(G169,G168,G30); + and AND2_29(G170,G169,G31); + and AND2_30(G171,G170,G32); + and AND2_31(G172,G171,G33); + and AND2_32(G173,G172,G34); + and AND2_33(G175,G176,G174); + and AND2_34(G185,G181,G182); + and AND2_35(G189,G186,G188); + and AND2_36(G193,G194,G192); + and AND2_37(G196,G202,G37); + and AND2_38(G198,G199,G197); + and AND2_39(G201,G203,G38); + and AND2_40(G202,G522,G191); + and AND2_41(G203,G202,G37); + and AND2_42(G208,G205,G207); + and AND2_43(G214,G211,G213); + and AND2_44(G218,G219,G217); + and AND2_45(G221,G223,G41); + and AND2_46(G222,G183,G210); + and AND2_47(G223,G222,G216); + and AND2_48(G224,G203,G38); + and AND2_49(G225,G204,G203); + and AND2_50(G226,G136,G28); + and AND2_51(G227,G172,G178); + and AND2_52(G228,G223,G41); + and AND2_53(G229,G432,G62); + and AND2_54(G237,G238,G236); + and AND2_55(G240,G299,G42); + and AND2_56(G242,G243,G241); + and AND2_57(G245,G262,G43); + and AND2_58(G247,G248,G246); + and AND2_59(G250,G263,G44); + and AND2_60(G252,G253,G251); + and AND2_61(G255,G264,G45); + and AND2_62(G259,G624,G625); + and AND2_63(G260,G256,G258); + and AND2_64(G261,G265,G46); + and AND2_65(G262,G299,G42); + and AND2_66(G263,G262,G43); + and AND2_67(G264,G263,G44); + and AND2_68(G265,G264,G45); + and AND2_69(G271,G275,G266); + and AND2_70(G272,G276,G277); + and AND2_71(G273,G278,G279); + and AND2_72(G274,G280,G281); + and AND2_73(G303,G304,G302); + and AND2_74(G304,G306,G307); + and AND2_75(G309,G310,G308); + and AND2_76(G310,G312,G313); + and AND2_77(G315,G316,G314); + and AND2_78(G316,G318,G319); + and AND2_79(G321,G322,G320); + and AND2_80(G322,G325,G326); + and AND2_81(G329,G331,G714); + and AND2_82(G330,G332,G714); + and AND2_83(G335,G337,G338); + and AND2_84(G342,G344,G345); + and AND2_85(G346,G349,G350); + and AND2_86(G358,G523,G53); + and AND2_87(G360,G361,G359); + and AND2_88(G363,G523,G51); + and AND2_89(G365,G366,G364); + and AND2_90(G368,G375,G52); + and AND2_91(G373,G369,G371); + and AND2_92(G374,G376,G53); + and AND2_93(G375,G523,G51); + and AND2_94(G376,G375,G52); + and AND3_0(G377,G183,G54,G56); + and AND2_95(G379,G380,G378); + and AND2_96(G382,G183,G54); + and AND2_97(G384,G385,G383); + and AND2_98(G387,G394,G55); + and AND2_99(G392,G388,G390); + and AND2_100(G393,G395,G56); + and AND2_101(G394,G183,G54); + and AND2_102(G395,G394,G55); + and AND2_103(G397,G398,G396); + and AND2_104(G400,G335,G57); + and AND2_105(G405,G401,G403); + and AND2_106(G406,G412,G58); + and AND2_107(G408,G409,G407); + and AND2_108(G411,G413,G59); + and AND2_109(G412,G335,G57); + and AND2_110(G413,G335,G58); + and AND2_111(G414,G413,G59); + and AND2_112(G416,G417,G415); + and AND2_113(G419,G358,G60); + and AND2_114(G424,G420,G422); + and AND2_115(G425,G431,G61); + and AND2_116(G427,G428,G426); + and AND2_117(G430,G432,G62); + and AND2_118(G431,G358,G60); + and AND2_119(G432,G358,G61); + and AND2_120(G433,G356,G357); + and AND2_121(G435,G340,G341); + and AND2_122(G436,G352,G353); + and AND2_123(G438,G439,G437); + and AND2_124(G441,G442,G440); + and AND2_125(G443,G615,G511); + and AND2_126(G447,G448,G446); + and AND2_127(G451,G452,G450); + and AND2_128(G453,G615,G445); + and AND3_1(G457,G455,G449,G728); + and AND2_129(G459,G460,G458); + and AND2_130(G462,G434,G67); + and AND2_131(G464,G465,G463); + and AND2_132(G467,G479,G68); + and AND2_133(G469,G470,G468); + and AND2_134(G472,G480,G69); + and AND2_135(G477,G473,G475); + and AND2_136(G478,G481,G70); + and AND2_137(G479,G434,G67); + and AND2_138(G480,G479,G68); + and AND2_139(G481,G480,G69); + and AND2_140(G488,G505,G506); + and AND2_141(G489,G508,G509); + and AND2_142(G490,G512,G513); + and AND2_143(G494,G492,G493); + and AND2_144(G498,G496,G497); + and AND2_145(G503,G501,G502); + and AND2_146(G526,G527,G525); + and AND2_147(G529,G604,G74); + and AND2_148(G531,G532,G530); + and AND2_149(G534,G550,G75); + and AND2_150(G536,G537,G535); + and AND2_151(G539,G551,G76); + and AND2_152(G541,G542,G540); + and AND2_153(G544,G552,G77); + and AND2_154(G548,G545,G547); + and AND2_155(G549,G553,G78); + and AND2_156(G550,G604,G74); + and AND2_157(G551,G550,G75); + and AND2_158(G552,G551,G76); + and AND2_159(G553,G552,G77); + and AND2_160(G565,G563,G564); + and AND2_161(G569,G567,G568); + and AND2_162(G573,G571,G572); + and AND2_163(G577,G575,G576); + and AND2_164(G589,G627,G628); + and AND2_165(G590,G591,G588); + and AND2_166(G592,G594,G595); + and AND2_167(G601,G621,G622); + and AND2_168(G604,G433,G524); + and AND2_169(G608,G606,G607); + and AND2_170(G613,G611,G612); + and AND2_171(G648,G646,G647); + and AND2_172(G649,G618,G619); + and AND2_173(G650,G226,G661); + and AND2_174(G651,G227,G87); + and AND2_175(G652,G228,G88); + and AND2_176(G653,G229,G89); + and AND2_177(G654,G90,G476); + and AND2_178(G655,G91,G476); + and AND2_179(G657,G659,G656); + and AND2_180(G663,G664,G662); + and AND2_181(G664,G666,G667); + and AND2_182(G669,G670,G668); + and AND2_183(G670,G672,G673); + and AND2_184(G675,G676,G674); + and AND2_185(G676,G679,G680); + and AND2_186(G683,G684,G685); + and AND2_187(G688,G690,G691); + and AND2_188(G694,G697,G698); + and AND2_189(G702,G703,G645); + and AND2_190(G705,G230,G704); + and AND2_191(G707,G708,G706); + and AND2_192(G709,G678,G89); + and AND2_193(G713,G599,G711); + and AND2_194(G727,G476,G645); + or OR2_0(G110,G700,G111); + or OR2_1(G126,G135,G127); + or OR2_2(G141,G177,G142); + or OR2_3(G167,G172,G178); + or OR2_4(G177,G180,G226); + or OR2_5(G181,G178,G180); + or OR2_6(G182,G35,G179); + or OR2_7(G183,G180,G227); + or OR2_8(G184,G180,G173); + or OR2_9(G190,G522,G191); + or OR2_10(G209,G183,G210); + or OR2_11(G215,G222,G216); + or OR2_12(G235,G649,G233); + or OR2_13(G275,G101,G42); + or OR2_14(G276,G102,G43); + or OR2_15(G277,G267,G271); + or OR2_16(G278,G103,G44); + or OR2_17(G279,G268,G272); + or OR2_18(G280,G104,G45); + or OR2_19(G281,G269,G273); + or OR2_20(G282,G105,G46); + or OR2_21(G283,G270,G274); + or OR2_22(G291,G42,G101); + or OR2_23(G292,G43,G102); + or OR2_24(G293,G44,G103); + or OR2_25(G294,G45,G104); + or OR2_26(G295,G46,G105); + or OR4_0(G300,G50,G49,G48,G47); + or OR2_27(G306,G47,G324); + or OR2_28(G307,G719,G305); + or OR2_29(G312,G48,G324); + or OR2_30(G313,G47,G311); + or OR2_31(G318,G49,G324); + or OR2_32(G319,G48,G317); + or OR2_33(G324,G377,G348); + or OR2_34(G325,G50,G324); + or OR2_35(G326,G49,G323); + or OR2_36(G333,G300,G714); + or OR2_37(G334,G301,G714); + or OR2_38(G337,G224,G355); + or OR2_39(G338,G183,G336); + or OR2_40(G340,G38,G355); + or OR2_41(G341,G185,G339); + or OR2_42(G344,G229,G348); + or OR2_43(G345,G414,G343); + or OR2_44(G349,G62,G348); + or OR2_45(G350,G59,G347); + or OR2_46(G352,G346,G645); + or OR2_47(G353,G35,G351); + or OR2_48(G355,G457,G645); + or OR2_49(G356,G225,G355); + or OR2_50(G357,G184,G354); + or OR2_51(G372,G712,G358); + or OR2_52(G391,G712,G377); + or OR2_53(G404,G712,G413); + or OR2_54(G423,G712,G432); + or OR2_55(G434,G342,G645); + or OR2_56(G439,G435,G63); + or OR2_57(G448,G615,G65); + or OR2_58(G456,G83,G524); + or OR2_59(G492,G71,G500); + or OR2_60(G493,G488,G491); + or OR2_61(G496,G72,G500); + or OR2_62(G497,G489,G495); + or OR2_63(G500,G654,G712); + or OR2_64(G501,G73,G500); + or OR2_65(G502,G490,G499); + or OR2_66(G505,G723,G511); + or OR2_67(G506,G720,G504); + or OR2_68(G508,G724,G511); + or OR2_69(G509,G721,G507); + or OR2_70(G512,G725,G511); + or OR2_71(G513,G722,G510); + or OR2_72(G518,G71,G67); + or OR2_73(G519,G72,G68); + or OR2_74(G520,G73,G69); + or OR2_75(G521,G487,G70); + or OR2_76(G522,G348,G228); + or OR2_77(G523,G348,G414); + or OR2_78(G524,G554,G555); + or OR2_79(G563,G79,G610); + or OR2_80(G564,G715,G562); + or OR2_81(G567,G80,G610); + or OR2_82(G568,G716,G566); + or OR2_83(G571,G81,G610); + or OR2_84(G572,G717,G570); + or OR2_85(G575,G82,G610); + or OR2_86(G576,G718,G574); + or OR2_87(G583,G79,G74); + or OR2_88(G584,G80,G75); + or OR2_89(G585,G81,G76); + or OR2_90(G586,G82,G77); + or OR2_91(G587,G561,G78); + or OR2_92(G591,G592,G604); + or OR2_93(G594,G83,G593); + or OR2_94(G602,G85,G601); + or OR2_95(G603,G600,G84); + or OR2_96(G606,G84,G610); + or OR2_97(G607,G696,G605); + or OR2_98(G610,G655,G712); + or OR2_99(G611,G85,G610); + or OR2_100(G612,G678,G609); + or OR2_101(G618,G457,G645); + or OR2_102(G619,G715,G617); + or OR2_103(G621,G614,G645); + or OR2_104(G622,G717,G620); + or OR2_105(G624,G476,G645); + or OR2_106(G625,G716,G623); + or OR2_107(G627,G476,G645); + or OR2_108(G628,G718,G626); + or OR2_109(G630,G96,G645); + or OR2_110(G631,G720,G629); + or OR2_111(G633,G97,G645); + or OR2_112(G634,G721,G632); + or OR2_113(G636,G98,G645); + or OR2_114(G637,G722,G635); + or OR2_115(G639,G99,G645); + or OR2_116(G640,G723,G638); + or OR2_117(G642,G100,G645); + or OR2_118(G643,G724,G641); + or OR2_119(G646,G456,G645); + or OR2_120(G647,G725,G644); + or OR2_121(G666,G87,G678); + or OR2_122(G667,G661,G665); + or OR2_123(G672,G88,G678); + or OR2_124(G673,G87,G671); + or OR2_125(G679,G89,G678); + or OR2_126(G680,G88,G677); + or OR2_127(G682,G681,G699); + or OR2_128(G684,G645,G696); + or OR2_129(G687,G686,G699); + or OR2_130(G690,G348,G696); + or OR2_131(G691,G645,G689); + or OR2_132(G693,G692,G699); + or OR2_133(G697,G180,G696); + or OR2_134(G698,G348,G695); + or OR2_135(G699,G658,G712); + nand NAND2_0(G96,G74,G596); + nand NAND2_1(G97,G75,G596); + nand NAND2_2(G98,G76,G596); + nand NAND2_3(G99,G77,G596); + nand NAND2_4(G100,G78,G596); + nand NAND2_5(G106,G107,G110); + nand NAND2_6(G107,G700,G111); + nand NAND2_7(G122,G123,G126); + nand NAND2_8(G123,G135,G127); + nand NAND2_9(G137,G138,G141); + nand NAND2_10(G138,G177,G142); + nand NAND2_11(G163,G164,G167); + nand NAND2_12(G164,G172,G178); + nand NAND2_13(G186,G187,G190); + nand NAND2_14(G187,G522,G191); + nand NAND2_15(G205,G206,G209); + nand NAND2_16(G206,G183,G210); + nand NAND2_17(G211,G212,G215); + nand NAND2_18(G212,G222,G216); + nand NAND2_19(G230,G234,G235); + nand NAND2_20(G231,G435,G648); + nand NAND3_0(G232,G296,G298,G435); + nand NAND3_1(G233,G700,G232,G231); + nand NAND2_21(G234,G649,G436); + nand NAND2_22(G266,G286,G291); + nand NAND2_23(G267,G287,G292); + nand NAND2_24(G268,G288,G293); + nand NAND2_25(G269,G284,G294); + nand NAND2_26(G270,G285,G295); + nand NAND2_27(G284,G45,G104); + nand NAND2_28(G285,G46,G105); + nand NAND2_29(G286,G42,G101); + nand NAND2_30(G287,G43,G102); + nand NAND2_31(G288,G44,G103); + nand NAND2_32(G297,G289,G290); + nand NAND2_33(G298,G297,G700); + nand NAND4_0(G301,G50,G49,G48,G47); + nand NAND2_34(G331,G333,G22); + nand NAND2_35(G332,G334,G331); + nand NAND2_36(G476,G486,G616); + nand NAND2_37(G482,G514,G518); + nand NAND2_38(G483,G515,G519); + nand NAND2_39(G484,G516,G520); + nand NAND2_40(G485,G517,G521); + nand NAND2_41(G514,G71,G67); + nand NAND2_42(G515,G72,G68); + nand NAND2_43(G516,G73,G69); + nand NAND2_44(G517,G487,G70); + nand NAND3_2(G554,G556,G557,G558); + nand NAND2_45(G555,G559,G560); + nand NAND2_46(G556,G578,G583); + nand NAND2_47(G557,G579,G584); + nand NAND2_48(G558,G580,G585); + nand NAND2_49(G559,G581,G586); + nand NAND2_50(G560,G582,G587); + nand NAND2_51(G578,G79,G74); + nand NAND2_52(G579,G80,G75); + nand NAND2_53(G580,G81,G76); + nand NAND2_54(G581,G82,G77); + nand NAND2_55(G582,G561,G78); + nand NAND2_56(G597,G602,G603); + nand NAND2_57(G598,G435,G83); + nand NAND4_1(G616,G482,G483,G484,G485); + nand NAND2_58(G700,G282,G283); + nor NOR2_0(G114,G115,G116); + nor NOR2_1(G115,G133,G25); + nor NOR2_2(G119,G120,G121); + nor NOR2_3(G120,G134,G26); + nor NOR2_4(G130,G131,G132); + nor NOR2_5(G131,G136,G28); + nor NOR2_6(G145,G146,G147); + nor NOR2_7(G146,G168,G30); + nor NOR2_8(G150,G151,G152); + nor NOR2_9(G151,G169,G31); + nor NOR2_10(G155,G156,G157); + nor NOR2_11(G156,G170,G32); + nor NOR2_12(G160,G161,G162); + nor NOR2_13(G161,G171,G33); + nor NOR2_14(G194,G195,G196); + nor NOR2_15(G195,G202,G37); + nor NOR2_16(G199,G200,G201); + nor NOR2_17(G200,G203,G38); + nor NOR2_18(G219,G220,G221); + nor NOR2_19(G220,G223,G41); + nor NOR2_20(G238,G239,G240); + nor NOR2_21(G239,G299,G42); + nor NOR2_22(G243,G244,G245); + nor NOR2_23(G244,G262,G43); + nor NOR2_24(G248,G249,G250); + nor NOR2_25(G249,G263,G44); + nor NOR2_26(G253,G254,G255); + nor NOR2_27(G254,G264,G45); + nor NOR2_28(G256,G257,G261); + nor NOR2_29(G257,G265,G46); + nor NOR3_0(G289,G270,G269,G268); + nor NOR2_30(G290,G267,G266); + nor NOR2_31(G299,G301,G328); + nor NOR2_32(G327,G330,G23); + nor NOR2_33(G328,G329,G327); + nor NOR2_34(G361,G362,G363); + nor NOR2_35(G362,G523,G51); + nor NOR2_36(G366,G367,G368); + nor NOR2_37(G367,G375,G52); + nor NOR2_38(G369,G370,G374); + nor NOR2_39(G370,G376,G53); + nor NOR2_40(G380,G381,G382); + nor NOR2_41(G381,G183,G54); + nor NOR2_42(G385,G386,G387); + nor NOR2_43(G386,G394,G55); + nor NOR2_44(G388,G389,G393); + nor NOR2_45(G389,G395,G56); + nor NOR2_46(G398,G399,G400); + nor NOR2_47(G399,G335,G57); + nor NOR2_48(G401,G402,G406); + nor NOR2_49(G402,G412,G58); + nor NOR2_50(G409,G410,G411); + nor NOR2_51(G410,G413,G59); + nor NOR2_52(G417,G418,G419); + nor NOR2_53(G418,G358,G60); + nor NOR2_54(G420,G421,G425); + nor NOR2_55(G421,G431,G61); + nor NOR2_56(G428,G429,G430); + nor NOR2_57(G429,G432,G62); + nor NOR2_58(G442,G443,G444); + nor NOR2_59(G444,G615,G64); + nor NOR2_60(G452,G453,G454); + nor NOR2_61(G454,G615,G66); + nor NOR2_62(G460,G461,G462); + nor NOR2_63(G461,G434,G67); + nor NOR2_64(G465,G466,G467); + nor NOR2_65(G466,G479,G68); + nor NOR2_66(G470,G471,G472); + nor NOR2_67(G471,G480,G69); + nor NOR2_68(G473,G474,G478); + nor NOR2_69(G474,G481,G70); + nor NOR3_1(G487,G71,G72,G73); + nor NOR2_70(G527,G528,G529); + nor NOR2_71(G528,G604,G74); + nor NOR2_72(G532,G533,G534); + nor NOR2_73(G533,G550,G75); + nor NOR2_74(G537,G538,G539); + nor NOR2_75(G538,G551,G76); + nor NOR2_76(G542,G543,G544); + nor NOR2_77(G543,G552,G77); + nor NOR2_78(G545,G546,G549); + nor NOR2_79(G546,G553,G78); + nor NOR4_0(G561,G79,G80,G81,G82); + nor NOR2_80(G593,G435,G524); + nor NOR2_81(G599,G598,G597); + nor NOR2_82(G660,G658,G86); + nor NOR2_83(G681,G683,G660); + nor NOR2_84(G686,G688,G660); + nor NOR2_85(G692,G694,G660); + nor NOR4_1(G703,G650,G651,G652,G653); + nor NOR2_86(G708,G709,G710); + nor NOR2_87(G710,G678,G94); + +endmodule diff --git a/SupplementaryMaterials/iscas89Verilog/s1423_tb.v b/SupplementaryMaterials/iscas89Verilog/s1423_tb.v new file mode 100644 index 0000000..ee4fa14 --- /dev/null +++ b/SupplementaryMaterials/iscas89Verilog/s1423_tb.v @@ -0,0 +1,47 @@ + +module s1423_tb(); + +reg CK,G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16; +wire G726,G729,G702,G727,G701BF; + + + +s1423 c0(CK,G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16,G726,G729,G702,G727,G701BF); + + +reg [16:0] test_vectors[0:49]; +reg [4:0] out_vectors[0:49]; + +integer k; + +initial + begin + $readmemb("s1423_input_data.txt", test_vectors); + CK = 1'b1; + end + +initial + begin + + for(k = 0; k < 50; k = k + 1) + begin + {G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16} = test_vectors[k]; + #8 + out_vectors[k] = {G726,G729,G702,G727,G701BF}; + #2 + $display("output%d: %h\n", k, out_vectors[k]); + + end + + $writememb("s1423_in_data.txt", test_vectors); + $writememb("s1423_out_data.txt", out_vectors); + + end + +always + begin + #5 + CK = ~CK; + end + +endmodule diff --git a/Utils.cpp b/Utils.cpp new file mode 100644 index 0000000..0daabb9 --- /dev/null +++ b/Utils.cpp @@ -0,0 +1,148 @@ +#include "Utils.h" + + +bool Utils::validNumberString(std::string str){ + + bool containsE = false; + if(str.empty()){ + return false; + } + for(size_t i = 0; i < str.length();i++){ + if(std::isdigit(str[i]) == 0 && str[i] != '.' && str[i] != 'e' && str[i] != '+' && str[i] != '-'){ + return false; + } + if(str[i] == 'e'){ + containsE = true; + if(str[i+1] != '+' && str[i+1] != '-' && !std::isdigit(str[i+1])){ + return false; + } + if(!std::isdigit(str[i-1])){ + return false; + } + if(i+1 >= str.length()){ + return false; + } + } + if(str[i] == '.'){ + if(containsE){ + return false; + } + if(i+1 >= str.length()){ + return false; + } + if(!std::isdigit(str[i+1])){ + return false; + } + } + + } + + return true; +} + +bool Utils::isNumericSpiceOption(std::string str){ + if(str == "XMU" || str == "TRTOL" || str == "SRCSTEPS" || str == "RAMPTIME" || + str == "MAXORD" || str == "MAXOPALTER" || str == "MAXEVITER" || str == "ITL6" || + str == "ITL5" || str == "ITL4" || str == "ITL3" || str == "CONVABSSTEP" || + str == "CONVSTEP" || str == "CHGTOL" || str == "VNTOL" || str == "RSHUNT" || + str == "RELTOL" || str == "PIVTOL" || str == "PIVREL" || str == "ITL2" || + str == "ITL1" || str == "GMINSTEPS" || str == "GMIN" || str == "ABSTOL" || + str == "MAXWARNS" || str == "TNOM" || str == "TEMP"){ + + return true; + } + else{ + return false; + } +} + +bool Utils::isStringValueSpiceOption(std::string str){ + if(str == "SEED" || str == "WARN" || str == "METHOD" || str == "NOOPALTER"){ + return true; + } + else{ + return false; + } +} + +bool Utils::isBoolValueSpiceOption(std::string str){ + if(str == "ACCT" || str == "NOACCT" || str == "NOINIT" || str == "LIST" || + str == "NOMOD" || str == "NOPAGE" || str == "NODE" || str == "NOREFVALUE" || + str == "OPTS" || str == "SEEDINFO" || str == "SAVECURRENTS" || str == "KEEPOPINFO" || + str == "NOOPITER" || str == "AUTOSTOP" || str == "INTERP"){ + return true; + } + else{ + return false; + } +} + +bool isStringContainsInteger(std::string str){ + for(size_t i = 0 ; i < str.length(); i++){ + if(!isdigit(str[i])){ + return false; + } + } + return true; +} +bool Utils::isValidStringValueForSpiceOption(std::string optionName, std::string str){ + if(!isStringValueSpiceOption(optionName)){ + return false; + } + else{ + std::cout << "STRING VALID CHECK: String is:" << str << " " << (str != "random") << " " << isStringContainsInteger(str) << std::endl; + if(optionName == "SEED" && (str != "random" && !isStringContainsInteger(str))){ + std::cout <<"WHY DID I ENDED UP IN HERE!?!?!?!?!?!?" << std::endl; + return false; + } + else if(optionName == "WARN" && (str != "1" && str != "0")){ + return false; + } + else if(optionName == "METHOD" && (str != "gear" && str != "trapezoidal" && str != "trap")){ + return false; + } + else if(optionName == "NOOPALTER" && (str != "true" && str != "false")){ + return false; + } + return true; + } +} + +std::vector Utils::getLinesFromVerilogFile(std::string fileName){ + std::vector lines; + std::ifstream inFile(fileName); + if(!inFile){ + std::cerr << "File could not be opened!" << std::endl; + } + std::string line; + std::string fullLine = ""; + while(std::getline(inFile, line)){ + if(line.substr(0,2) == "//" || line == " "){ + continue; + } + else{ + line.erase(std::remove_if(line.begin(), line.end(), [](char chr) { return chr == '\r' || chr == '\n' || chr == '\t'; }), line.end()); + std::string::iterator new_end = std::unique(line.begin(), line.end(), [](auto lhs, auto rhs){ return (lhs == rhs) && (lhs == ' '); }); + line.erase(new_end, line.end()); + + fullLine += line; + + if(line.back() == ';' || line == "endmodule"){ + fullLine = std::regex_replace(fullLine, std::regex(", "), ","); + + lines.push_back(fullLine); + fullLine = ""; + } + } + + } + std::cout << "*********************************" << std::endl; + for(const auto& line : lines){ + std::cout << line << std::endl << std::endl; + } + std::cout << "*********************************" << std::endl; + + inFile.close(); + + return lines; +} diff --git a/Utils.h b/Utils.h new file mode 100644 index 0000000..04db674 --- /dev/null +++ b/Utils.h @@ -0,0 +1,33 @@ +#ifndef UTILS_H +#define UTILS_H + +#include +#include +#include +#include +#include +#include +class Utils{ + public: + static int getWireCount(std::vector tokens); + + //Checks if the given string is a valid number + static bool validNumberString(std::string str); + + //Checks if the given string is a Spice option + static bool isStringValueSpiceOption(std::string str); + + //Checks if the given string is a boolean valued Spice option + static bool isBoolValueSpiceOption(std::string str); + + //Checks if the given string is a numeric valued Spice option + static bool isNumericSpiceOption(std::string str); + + //Checks if the given string is a valid string value for the given Spice option name + static bool isValidStringValueForSpiceOption(std::string optionName, std::string str); + + //Reads lines from a Verilog file and creates a line vector + static std::vector getLinesFromVerilogFile(std::string fileName); +}; + +#endif // UTILS_H diff --git a/bsim4v5.out b/bsim4v5.out new file mode 100644 index 0000000..9dff1d1 --- /dev/null +++ b/bsim4v5.out @@ -0,0 +1,6 @@ +BSIM4v5: Berkeley Short Channel IGFET Model-4 +Developed by Xuemei (Jane) Xi, Mohan Dunga, Prof. Ali Niknejad and Prof. Chenming Hu in 2003. + +++++++++++ BSIM4v5 PARAMETER CHECKING BELOW ++++++++++ +Warning: This model is BSIM4.5.0; you specified a wrong version number '4.4'. +Model = pmos_vtl diff --git a/circuit.cpp b/circuit.cpp new file mode 100644 index 0000000..e58c5d6 --- /dev/null +++ b/circuit.cpp @@ -0,0 +1,547 @@ +#include "circuit.h" + +int Circuit::gen_temp_gate_count = 0; +int Circuit::gen_temp_wire_count = 0; +int Circuit::gen_submodule_temp_wire_count = 0; +int Circuit::gen_submodule_temp_gate_count = 0; +std::map Circuit::submoduleCounts; + +void Circuit::addEdge(CircuitElement & element1, CircuitElement & element2) +{ + if (std::find(elements.begin(), elements.end(), element1) == elements.end()) { + elements.push_back(element1); + adjacencyList.push_back(std::make_pair(element1, std::vector())); + + } + + if (std::find(elements.begin(), elements.end(), element2) == elements.end()) { + elements.push_back(element2); + adjacencyList.push_back(std::make_pair(element2, std::vector())); + } + + for (size_t i = 0; i < adjacencyList.size(); i++) { + if (adjacencyList[i].first == element1) { + //if(std::find(adjacencyList[i].second.begin(), adjacencyList[i].second.end(), element2) == adjacencyList[i].second.end()) { + adjacencyList[i].second.push_back(element2); + //} + } + } +} + +void Circuit::print() +{ + std::cout << "Name: " << circuitName << std::endl; + + std::map mapOfGates = { + {CircuitElementType::AND,"AND"}, + {CircuitElementType::OR,"OR"}, + {CircuitElementType::NAND,"NAND"}, + {CircuitElementType::NOR,"NOR"}, + {CircuitElementType::XOR,"XOR"}, + {CircuitElementType::XNOR,"XNOR"}, + {CircuitElementType::NOT,"NOT"}, + {CircuitElementType::BUF,"BUF"}, + {CircuitElementType::OAI3,"OAI3"}, + + }; + + for (auto& adj : adjacencyList){ + if (adj.first.elementType == CircuitElementType::INPUT) { + std::cout << "INPUT " << adj.first.elementName << " is connected to: "; + for (auto& connected : adj.second) { + std::cout << connected.elementName << " "; + + } + + std::cout << std::endl; + } + else if (adj.first.elementType == CircuitElementType::OUTPUT) { + std::cout << "OUTPUT " << adj.first.elementName << " is the result of: "; + for (auto& a : adjacencyList) { + for (auto& s : a.second) { + if (s.elementName == adj.first.elementName) { + std::cout << a.first.elementName << " " ; + } + } + } + std::cout << std::endl; + } + else if (adj.first.elementType == CircuitElementType::WIRE) { + std::cout << "WIRE " << adj.first.elementName << " is the result of: "; + for (auto& a : adjacencyList) { + for (auto& s : a.second) { + if (s.elementName == adj.first.elementName) { + std::cout << a.first.elementName << " "; + } + } + } + + std::cout << "also becomes an input to "; + for (auto& connected : adj.second) { + std::cout << connected.elementName << " "; + } + + std::cout << std::endl; + } + else { + std::cout << mapOfGates[adj.first.elementType] << " gate " << adj.first.elementName << " get inputs of: "; + for (auto& a : adjacencyList) { + for (auto& s : a.second) { + if (s.elementName == adj.first.elementName) { + std::cout << a.first.elementName << " "; + } + } + } + + std::cout << "and outputs: "; + for (auto& a : adjacencyList) { + if (a.first.elementName == adj.first.elementName) { + for (auto& s : a.second) { + std::cout << s.elementName << " "; + } + } + } + + std::cout << std::endl; + } + } + +} + +bool Circuit::fillFromVerilogFile(std::string fileName) +{ + auto start = std::chrono::steady_clock::now(); + + inputs.clear(); + outputs.clear(); + std::ifstream inFile; + inFile.open(fileName); + if (!inFile) { + std::cout << fileName << std::endl; + std::cerr << "Unable to open file"< isInputOutputOrWire; + + std::vector fileLines = Utils::getLinesFromVerilogFile(fileName); + for (auto line : fileLines) { + // Handle Windows / DOS style line endings. + if (line.back() == '\r') { + line.pop_back(); + } + + if(line.length() == 0){ + continue; + } + if(line.rfind("//", 0) == 0){ + continue; + } + + line.erase(std::remove_if(line.begin(), line.end(), [](char chr) { return chr == ' (' || chr == ' )' || chr == ';'; }), line.end()); + + std::replace(line.begin(), line.end(), ',', ' '); + std::replace(line.begin(), line.end(), '(', ' '); + std::replace(line.begin(), line.end(), ')', ' '); + + std::istringstream stm(line); + std::string word; + std::vector tokens; + + while (stm >> word) { + tokens.push_back(word); + } + + if (tokens.front() == "module") { + circuitName = tokens.at(1); + for(size_t i = 2; i < tokens.size(); i++){ + callOrder.push_back(tokens.at(i)); + } + } + + else if (tokens.front() == "input") { + for (size_t i = 1; i < tokens.size(); i++) { + isInputOutputOrWire[tokens.at(i)] = CircuitElementType::INPUT; + inputs.push_back(tokens.at(i)); + } + sortInputsWithCallOrder(); + } + else if (tokens.front() == "output") { + for (size_t i = 1; i < tokens.size(); i++) { + isInputOutputOrWire[tokens.at(i)] = CircuitElementType::OUTPUT; + outputs.push_back(tokens.at(i)); + } + sortOutputsWithCallOrder(); + } + else if (tokens.front() == "wire") { + for (size_t i = 1; i < tokens.size(); i++) { + isInputOutputOrWire[tokens.at(i)] = CircuitElementType::WIRE; + } + } + + else if(tokens.front() == "'include"){ + std::string moduleFilename = ""; + for(size_t i = 1; i < tokens.size(); i++){ + moduleFilename.append(tokens.at(i)); + + if(i != tokens.size() - 1){ + moduleFilename.append(" "); + } + } + + moduleFilename.erase(std::remove(moduleFilename.begin(), moduleFilename.end(), '"'), moduleFilename.end()); + + if(moduleFilename.find('/') == std::string::npos){ + std::string parentDirectoryPath = fileName; + int endIndex = parentDirectoryPath.find_last_of('/'); + moduleFilename = parentDirectoryPath.substr(0,endIndex) + "/" + moduleFilename; + } + Circuit submodule; + submodule.fillFromVerilogFile(moduleFilename); + submodules.push_back(submodule); + + } + else if(tokens.front() == "dff"){ + CircuitElement gateNode{ tokens.at(1), CircuitElementType::DFF}; + CircuitElement outputNode{ tokens.at(3), isInputOutputOrWire[tokens.at(3)] }; + addEdge(gateNode, outputNode); + + for (size_t i = 2; i < 5; i+=2) { + CircuitElement inputNode{ tokens.at(i) , isInputOutputOrWire[tokens.at(i)] }; + addEdge(inputNode, gateNode); + } + } + else if (mapOfNodeTypes.find(tokens.front()) != mapOfNodeTypes.end()) { + CircuitElement gateNode{ tokens.at(1), mapOfNodeTypes[tokens.front()]}; + + //This might not be the case for all the cell libraries, the gate submodules might have different input/output ordering + //such as the case in the dff. A way to understand has to be added. + //Also we are getting a cell library but we do not actually understand the contents of it, we just think it is like the Lib45NanGate + //library which is also a problem. We need to find a way to fix that + CircuitElement outputNode{ tokens.at(2), isInputOutputOrWire[tokens.at(2)] }; + addEdge(gateNode, outputNode); + + for (size_t i = 3; i < tokens.size(); i++) { + CircuitElement inputNode{ tokens.at(i) , isInputOutputOrWire[tokens.at(i)] }; + addEdge(inputNode, gateNode); + } + } + + else{ + if(tokens.front()!= "endmodule"){ + bool exists = false; + for(Circuit& c: submodules){ + if(c.circuitName == tokens.front()){ + exists = true; + } + } + + Circuit submodule; + + if(exists){ + for(auto & s: submodules){ + if(s.circuitName == tokens.front()){ + submodule = s; + } + } + } + else{ + std::string parentDirectoryPath = fileName; + int endIndex = parentDirectoryPath.find_last_of('/'); + std::string moduleFilename = tokens.front() + ".v"; + moduleFilename = parentDirectoryPath.substr(0,endIndex) + "/" + moduleFilename; + + submodule.submoduleConnectionMethod = this->submoduleConnectionMethod; + + submodule.fillFromVerilogFile(moduleFilename); + for(const Circuit& module: submodule.submodules){ + submodules.push_back(module); + } + submodules.push_back(submodule); + + } + Circuit copyOfSubmodule = submodule; + + if(submoduleConnectionMethod == SubmoduleConnectionMethod::graphJoiningMethod){ + std::vector parameterList; + + for(size_t i = 2; i < tokens.size(); i++){ + parameterList.push_back(tokens.at(i)); + } + + connectSubmoduleByGraphJoining(©OfSubmodule, parameterList, isInputOutputOrWire); + } + else{ + CircuitElement subcircuitNode{ tokens.at(1), CircuitElementType::SUBCIRCUIT,tokens.at(0)}; + for(size_t i = 2; i < tokens.size(); i++){ + if(std::find(submodule.inputs.begin(), submodule.inputs.end(), submodule.callOrder.at(i-2)) != submodule.inputs.end()){ + subcircuitNode.addToInputOrder(tokens.at(i)); + } + else if(std::find(submodule.outputs.begin(), submodule.outputs.end(), submodule.callOrder.at(i-2)) != submodule.outputs.end()){ + subcircuitNode.addToOutputOrder(tokens.at(i)); + } + } + + + for(size_t i = 2; i < tokens.size(); i++){ + if(std::find(submodule.inputs.begin(), submodule.inputs.end(), submodule.callOrder.at(i-2)) != submodule.inputs.end()){ + std::string inputToken = tokens.at(i); + CircuitElement inputNode{ inputToken , isInputOutputOrWire[inputToken] }; + addEdge(inputNode, subcircuitNode); + } + else if(std::find(submodule.outputs.begin(), submodule.outputs.end(), submodule.callOrder.at(i-2)) != submodule.outputs.end()){ + std::string outputToken = tokens.at(i); + CircuitElement outputNode{ outputToken , isInputOutputOrWire[outputToken] }; + addEdge(outputNode, subcircuitNode); + } + } + } + } + } + + } + auto end = std::chrono::steady_clock::now(); + std::chrono::duration elapsed_time = end-start; + std::cout << circuitName << " - CONVERSION TIME : " << elapsed_time.count() << std::endl; + + + return true; + + +} +Circuit::Circuit (const Circuit & circuit){ + for(auto& input: circuit.inputs){ + inputs.push_back(input); + } + + for(auto& output: circuit.outputs){ + outputs.push_back(output); + } + + for(auto& adjListElement: circuit.adjacencyList){ + adjacencyList.push_back(adjListElement); + } + + for(auto& element : circuit.elements){ + elements.push_back(element); + } + + for(auto& submodule : circuit.submodules){ + submodules.push_back(submodule); + } + + for(auto& order : circuit.callOrder){ + callOrder.push_back(order); + } + + circuitName = circuit.circuitName; +} + + +bool Circuit::doesElementWithNameExist(std::string name) { + for(auto & mainCircuitElement : adjacencyList){ + if(name == mainCircuitElement.first.elementName){ + return true; + } + } + + return false; +} + +void Circuit::sortOutputsWithCallOrder(){ + std::vector> outputCallOrder; + + for(size_t i = 0; i < outputs.size(); i++){ + for(size_t j = 0; j < callOrder.size(); j++){ + if(outputs.at(i) == callOrder.at(j)){ + outputCallOrder.push_back(std::make_pair(outputs.at(i), j)); + } + } + } + + sort(outputCallOrder.begin(), outputCallOrder.end(), [=](std::pair& a, std::pair& b) + { + return a.second < b.second; + }); + + outputs.clear(); + for(size_t i = 0; i < outputCallOrder.size(); i++){ + outputs.push_back(outputCallOrder.at(i).first); + } +} +void Circuit::sortInputsWithCallOrder(){ + std::vector> inputCallOrder; + for(size_t i = 0; i < inputs.size(); i++){ + for(size_t j = 0; j < callOrder.size(); j++){ + if(inputs.at(i) == callOrder.at(j)){ + inputCallOrder.push_back(std::make_pair(inputs.at(i), j)); + } + } + } + + sort(inputCallOrder.begin(), inputCallOrder.end(), [=](std::pair& a, std::pair& b) + { + return a.second < b.second; + }); + + inputs.clear(); + for(size_t i = 0; i < inputCallOrder.size(); i++){ + inputs.push_back(inputCallOrder.at(i).first); + } +} + +void Circuit::connectSubmoduleByGraphJoining(Circuit * submodule, std::vector parameters, std::map isInputOutputOrWire){ + if (submoduleCounts.find(submodule->circuitName) != submoduleCounts.end()){ + submoduleCounts[submodule->circuitName]++; + } + + else{ + submoduleCounts.insert(std::make_pair(submodule->circuitName, 0)); + } + + int currentSubmoduleCount = submoduleCounts[submodule->circuitName]; + + // Rename non input/output elements. + for (auto& element : submodule->elements){ + if (element.elementType != INPUT && element.elementType != OUTPUT){ + if (element.elementType == WIRE){ + std::string generatedWireName = "SM_" + submodule->circuitName + "_" + std::to_string(currentSubmoduleCount)+ "_WIRE_" + std::to_string(gen_submodule_temp_wire_count); + submodule->changeElementName(element.elementName, generatedWireName); + gen_submodule_temp_wire_count++; + } + else{ + std::string generatedGateName = "SM_" + submodule->circuitName + "_" + std::to_string(currentSubmoduleCount)+ "_GATE_" + std::to_string(gen_submodule_temp_gate_count); + submodule->changeElementName(element.elementName, generatedGateName); + gen_submodule_temp_gate_count++; + } + } + } + + // Find corresponding input / outputs from parent to child. + for (unsigned long i = 0; i < submodule->callOrder.size(); i++){ + submodule->changeElementName(submodule->callOrder[i], parameters[i]); + + // Also, change submodule input/output's type to corresponding element type in parent. + submodule->changeElementType(parameters[i], isInputOutputOrWire[parameters[i]]); + } + + // Merge subcircuit to this circuit. + connectOtherCircuit(submodule); +} + +void Circuit::changeElementName(std::string previousName, std::string newName){ + // Rename in elements list. + for (auto& element : elements){ + if (element.elementName == previousName){ + element.elementName = newName; + } + } + + // Rename in adjacency list. + for (auto& node : adjacencyList){ + for (auto& connectedNode : node.second){ + if (connectedNode.elementName == previousName){ + connectedNode.elementName = newName; + } + } + + if (node.first.elementName == previousName){ + node.first.elementName = newName; + } + } + + // Rename in inputs list (if it's an input). + for (auto& input: inputs){ + if (input == previousName){ + input = newName; + } + } + + // Rename in outputs list (if it's an output). + for (auto& output: outputs){ + if (output == previousName){ + output = newName; + } + } + + // Rename in call order (if it's an in/output). + for (auto& callOrderElement : callOrder){ + if (callOrderElement == previousName){ + callOrderElement = newName; + } + } +} + +void Circuit::changeElementType(std::string elementName, CircuitElementType newType){ + // Change type in elements list. + for (auto& element : elements){ + if (element.elementName == elementName){ + element.elementType = newType; + } + } + + // Change type in adjacency list. + for (auto& node :adjacencyList){ + for (auto& connectedNode : node.second){ + if (connectedNode.elementName == elementName){ + connectedNode.elementType = newType; + } + } + + if (node.first.elementName == elementName){ + node.first.elementType = newType; + } + } +} + +void Circuit::connectOtherCircuit(Circuit * circuit){ + + // For each element of the given (sub)circuit, find corresponding element in this circuit. + // If there are no matches, create a new element. + for (auto& node : circuit->adjacencyList){ + + // Search for a node with same name. + // If it's found, append adjacents of connected node to this circuit. + bool nodeWithSameNameFound = false; + for (auto& myNode : this->adjacencyList){ + + if (node.first == myNode.first){ + + nodeWithSameNameFound = true; + + for (auto& adjacentNode : node.second){ + myNode.second.push_back(adjacentNode); + } + } + } + + // If this circuit element is not in my circuit, crete a new element in my circuit. + if (!nodeWithSameNameFound){ + this->adjacencyList.push_back(std::make_pair(node.first, std::vector())); + + for (auto& adjacentNode : node.second){ + + // Get latest added element (the one we created 2 lines above) + // And push all adjacent nodes to it, simply making a copy from given circuit to my circuit. + this->adjacencyList.back().second.push_back(adjacentNode); + } + } + } + + // Also add elements to element list if their name is unique. + for (auto& element : circuit->elements){ + bool elementWithSameNameFound = false; + + for (auto& myElement : this->elements){ + + if (element.elementName == myElement.elementName){ + elementWithSameNameFound = true; + } + } + + if (!elementWithSameNameFound){ + this->elements.push_back(element); + } + } +} diff --git a/circuit.h b/circuit.h new file mode 100644 index 0000000..4958a79 --- /dev/null +++ b/circuit.h @@ -0,0 +1,134 @@ +#ifndef CIRCUIT_H +#define CIRCUIT_H +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "Utils.h" +#include "circuitelement.h" + +//This class represents a circuit with its elements and other features such as the input-output calling order, +//submodule connection, circuit name. It essentially contains a graph data structure with additional parameters. +class Circuit +{ +public: + //This enum represents the submodule connection method that PLODE will use. + //If graphJoiningMethod is used, the graph structures of the main circuit and submodules of the main circuit + //are interconnected to each other. If spiceSubcircuitMethod is used, the main circuit's Spice deck contains + //subckt definitions and required lines for the submodules of the main circuit. + enum SubmoduleConnectionMethod{ + graphJoiningMethod, + spiceSubcircuitMethod + }; + + //This map represents all the possible logic gate types that PLODE can convert. + std::map mapOfNodeTypes = { + {"or",CircuitElementType::OR}, + {"and",CircuitElementType::AND}, + {"nand",CircuitElementType::NAND}, + {"nor",CircuitElementType::NOR}, + {"xor",CircuitElementType::XOR}, + {"xnor",CircuitElementType::XNOR}, + {"not",CircuitElementType::NOT}, + {"buf",CircuitElementType::BUF}, + {"oai3",CircuitElementType::OAI3}, + {"&",CircuitElementType::AND}, + {"|",CircuitElementType::OR}, + {"^",CircuitElementType::XOR}, + {"^~",CircuitElementType::XNOR}, + {"~^",CircuitElementType::XNOR}, + {"~",CircuitElementType::NOT}, + + }; + //Intentionally empty no parameter constructor + Circuit() {} + + //Copy constructor definition + Circuit (const Circuit & circuit); + + //Holds the adjacency list for the graph structure of the Circuit + std::vector< std::pair< CircuitElement,std::vector > > adjacencyList; + + //Holds all the elements in the circuit + std::vector elements; + + //Holds the name of the circuit + std::string circuitName; + + //Holds the names of the output nodes of the circuit + std::vector outputs; + + //Holds the names of the input nodes of the circuit + std::vector inputs; + + //Holds the submodules of the circuit + std::vector submodules; + + //Holds the submodule counts for each submodule in the circuit + static std::map submoduleCounts; + + //Holds the call order of the circuit. It holds node names in the call order + std::vector callOrder; + + //Holds the submodule connection method. It can be either Graph Joining or Spice Subcircuit method. + SubmoduleConnectionMethod submoduleConnectionMethod; + + //Temporary wire count for wire name generation + static int gen_temp_wire_count; + + //Temporary gate count for gate name generation + static int gen_temp_gate_count; + + //Temporary wire count for submodule wire name generation + static int gen_submodule_temp_wire_count; + + //Temporary gate count for submodule gate name generation + static int gen_submodule_temp_gate_count; + + //Adds an edge to the circuit graph structure containing element1 and element2 circuit elements + void addEdge(CircuitElement & element1, CircuitElement & element2); + + //Prints every node and its connected nodes + void print(); + + //Reads a Structural Verilog file and builds the Circuit graph structure + bool fillFromVerilogFile(std::string fileName); + + //Sets submodule connection method of the circuit. It can be either Graph Joining or Spice subcircuit method + void setSubmoduleConnectionMethod(SubmoduleConnectionMethod method) {submoduleConnectionMethod = method;} + + //Sorts the outputs using the call order + void sortOutputsWithCallOrder(); + + //Sorts the inputs using the call order + void sortInputsWithCallOrder(); + + //Applies the GraphJoining method between circuit and submodule graphs + void connectSubmoduleByGraphJoining(Circuit * submodule, std::vector parameters, std::map isInputOutputOrWire); + + //Changes the circuit element's name with the new name + void changeElementName(std::string previousName, std::string newName); + + //Changes the circuit element's type with the new type + void changeElementType(std::string elementName, CircuitElementType newType); + + //Connects another circuit's graph with + void connectOtherCircuit(Circuit * circuit); +private: + + //Checks if the element with the given name exists in the circuit + bool doesElementWithNameExist(std::string name); +}; + +#endif // CIRCUIT_H diff --git a/circuitelement.cpp b/circuitelement.cpp new file mode 100644 index 0000000..1c0c7d6 --- /dev/null +++ b/circuitelement.cpp @@ -0,0 +1,31 @@ +#include "circuitelement.h" +#include +#include + +CircuitElement::CircuitElement(){ + elementName = ""; +} +CircuitElement::CircuitElement(std::string name, CircuitElementType type, std::string subcircuitType) +{ + elementName = name; + elementType = type; + this->subcircuitType = subcircuitType; +} +bool CircuitElement::operator==(const CircuitElement& other) +{ + if (this->elementName == other.elementName && this->elementType == other.elementType) + return true; + return false; +} + +bool CircuitElement::isGate(){ + if(this->elementType == CircuitElementType::WIRE || this->elementType == CircuitElementType::INPUT || this->elementType == CircuitElementType::OUTPUT || this->elementType == CircuitElementType::SUBCIRCUIT){ + return false; + } + else{ + return true; + } +} + + + diff --git a/circuitelement.h b/circuitelement.h new file mode 100644 index 0000000..623b42a --- /dev/null +++ b/circuitelement.h @@ -0,0 +1,83 @@ +#ifndef CIRCUITELEMENT_H +#define CIRCUITELEMENT_H + +#include +#include + +//This enum represents all the circuit element types. A circuit element can be either an input, output, wire +//a logic gate or a subcircuit. +enum CircuitElementType { + OR, + AND, + NAND, + NOR, + XOR, + XNOR, + NOT, + INPUT, + OUTPUT, + WIRE, + OAI3, + BUF, + SUBCIRCUIT, + DFF +}; + +//This class represents a circuit element in a circuit +class CircuitElement +{ +public: + //No parameter constructor for a circuit element + CircuitElement(); + + //Constructs a circuit element with the given name, type and subcircuit type + + CircuitElement(std::string name, CircuitElementType type, std::string subcircuitType = ""); + + //Holds the element name of the circuit element + std::string elementName; + + //Holds the element type of the circuit element + CircuitElementType elementType; + + //Holds the type of the subcircuit if the circuit element is a subcircuit + std::string subcircuitType; + + //Overloading of the == operator for circuit element + bool operator==(const CircuitElement& other); + + //Checks if the circuit element is a gate + bool isGate(); + + //Checks if the circuit element is a subcircuit + bool isSubcircuit() { return elementType==CircuitElementType::SUBCIRCUIT;} + + //The input order of the circuit element if its a gate or a subcircuit + std::vector inputOrder; + + //The output order of the circuit element if its a gate or a subcircuit + std::vector outputOrder; + + //Adds the given node name to the input order of the circuit element + void addToInputOrder(std::string input) { + if(isGate() || isSubcircuit()){ + inputOrder.push_back(input); + } + } + + //Adds the given node name to the output order of the circuit element + void addToOutputOrder(std::string output) { + if(isGate() || isSubcircuit()){ + outputOrder.push_back(output); + } + } + + //Returns the input order of the circuit element + std::vector getInputOrder(){return inputOrder;} + + //Returns the output order of the circuit element + std::vector getOutputOrder(){return outputOrder;} + +}; + +#endif // CIRCUITELEMENT_H diff --git a/currentcircuit.cpp b/currentcircuit.cpp new file mode 100644 index 0000000..7d4df35 --- /dev/null +++ b/currentcircuit.cpp @@ -0,0 +1,8 @@ +#include "currentcircuit.h" + +Circuit CurrentCircuit::circ; + +CurrentCircuit::CurrentCircuit() +{ + +} diff --git a/currentcircuit.h b/currentcircuit.h new file mode 100644 index 0000000..175bb24 --- /dev/null +++ b/currentcircuit.h @@ -0,0 +1,17 @@ +#ifndef CURRENTCIRCUIT_H +#define CURRENTCIRCUIT_H +#include "circuit.h" + +//This class represents the currently processed circuit by PLODE to differantiate +//between submodules and the main circuit. +class CurrentCircuit +{ +public: + //No parameter constructor + CurrentCircuit(); + + //Represents the currently processed circuit + static Circuit circ; +}; + +#endif // CURRENTCIRCUIT_H diff --git a/delayparser.cpp b/delayparser.cpp new file mode 100644 index 0000000..60691ee --- /dev/null +++ b/delayparser.cpp @@ -0,0 +1,521 @@ +#include"delayparser.h" + +void DelayParser::ClearThemAll() +{ + delayMatrix.clear(); + logicMatrix.clear(); + + inputTransitionTimes.clear(); + + allInputTransitionTimes.clear(); + + outputNames.clear(); + + outputTransitionTimes.clear(); + + outputTransitionValues.clear(); +} + +void DelayParser::CombineInputTransitionTimes(double transitionInterval) +{ + std::size_t inputs = inputTransitionTimes.size(); + + double transitionMargin = MARGINRATIO * transitionInterval; + + //Holds all of the transitions even there are repetitions. + //The repetitions will be canceled next + std::vector allTransitions; + + for(std::size_t i = 0; i < inputs; ++i) + { + allTransitions.insert(allTransitions.end(), inputTransitionTimes[i].begin(), inputTransitionTimes[i].end()); + } + + std::sort(allTransitions.begin(), allTransitions.end()); + + if(allTransitions.size() < 1) + { + throw("Error: There is no transitions in any of the inputs!"); + } + + allInputTransitionTimes.push_back(allTransitions[0]); + std::cout << "Next recorded transition:" << allTransitions[0] << std::endl; + + for(std::size_t i = 0; i < allTransitions.size() - 1; ++i) + { + if(allTransitions[i + 1] > allTransitions[i] + transitionMargin) + { + allInputTransitionTimes.push_back(allTransitions[i + 1]); + std::cout << "Next recorded transition:" << allTransitions[i + 1] << std::endl; + } + } + +} + + +std::vector DelayParser::CompareActualWithExpected(std::string actualFile, std::string expectedFile, std::string resultFile) +{ + std::ifstream inActual; + std::ifstream inExpected; + std::string strActual; + std::string strExpected; + + int errors = 0; + + + std::ofstream outResult(resultFile); + + inActual.open(actualFile); + + if(!inActual.is_open()) + { + throw std::invalid_argument("Actual Outputs File cannot be opened! Check the file path!"); + } + + inExpected.open(expectedFile); + + if(!inExpected.is_open()) + { + throw std::invalid_argument("Expected Outputs File cannot be opened! Check the file path!"); + } + + //Read until the end of file + int count = 0; + int totalBitCount = 0; + int totalWrongBitCount = 0; + + while(std::getline(inActual, strActual)) + { + std::vector wrongBits; + std::getline(inExpected, strExpected); + count++; + //Windows type file + strActual.erase(std::remove_if(strActual.begin(), strActual.end(), [](char chr) { return chr == '\r'; }), strActual.end()); + strExpected.erase(std::remove_if(strExpected.begin(), strExpected.end(), [](char chr) { return chr == '\r'; }), strExpected.end()); + + if(strExpected.size() != strActual.size()) + { + throw std::invalid_argument("The number of outputs mismatch between the expected and actual output file."); + } + + totalBitCount += strExpected.size(); + + for(std::size_t i = 0; i < strExpected.size(); ++i) + { + if(strActual[i] != strExpected[i] && (strExpected[i] != 'x' && strExpected[i] != 'X')) + { + totalWrongBitCount++; + wrongBits.push_back(strExpected.size() - i - 1); + } + } + + if(wrongBits.size() != 0) + { + outResult << std::setw(10) << "Input Vector Index: " << count << std::endl; + outResult << std::setw(10) << "Result: " << strActual << std::endl; + outResult << std::setw(10) << "Expected: " << strExpected << std::endl; + outResult << std::setw(10) << "Wrong Bit Indices: "; + + for(auto& a : wrongBits) + { + outResult << a << " "; + } + + outResult << std::endl << std::endl; + + errors++; + } + + } + outResult << std::setw(10) << "There are total " << totalBitCount << " outputs" << std::endl; + outResult << std::setw(10) << "Among them " << totalWrongBitCount << " outputs are wrong" << std::endl; + outResult << std::setw(10) << "Accuracy Percentage = %" << 100 * ((totalBitCount - totalWrongBitCount)/(float)totalBitCount) << std::endl; + + inActual.close(); + inExpected.close(); + outResult.close(); + + std::cout << "Info: Actual output is compared with the expected output." << std::endl; + std::cout << "Info: There are " << errors << " differences written to " << resultFile << std::endl; + + std::vector returnVec; + returnVec.push_back(count); + returnVec.push_back(errors); + + return returnVec; +} + + +void DelayParser::ExtractTransitionTimes(std::string fileLocation, double transitionVoltage, bool isInput) +{ + std::ifstream instream; //The file descriptor + std::string nodeName; //The name of the processed node + std::string str; //Will be iterated per line in the file + std::vector times; //Holds the time per record + std::vector voltages; //Holds the voltage per record + + instream.open(fileLocation); + + if(!instream.is_open()) + { + throw std::invalid_argument("File cannot be opened! Check the file path!"); + } + + + std::size_t parOpenPos = fileLocation.find_last_of('_'); + std::size_t parClosePos = fileLocation.find_first_of('.'); + nodeName = fileLocation.substr(parOpenPos + 1, parClosePos - parOpenPos - 1); + + //If it is output node insert the name of the node + if(!isInput) + { + outputNames.push_back(nodeName); + } + + //Read until the end of file + while(std::getline(instream, str)) + { + //Get the records from the file. It must start with a digit + if(str[0] >= '0' && str[0] <= '9' ) + { + double time; + double voltage; + std::size_t spaceLoc1; + std::size_t spaceLoc2; + + //Read three lines containing one index and time and voltage and space; + spaceLoc1 = str.find('\t'); + std::string substr1 = str.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; + time = std::stod(strTime); + times.push_back(time); + voltage = std::stod(strVoltage); + voltages.push_back(voltage); + } + } + + + if(isInput) + { + std::vector tempVec = ReturnTransitionTimesAndValues(times, voltages, transitionVoltage, isInput); + tempVec.push_back(times.back()); + inputTransitionTimes.push_back(tempVec); + + } + else + { + outputTransitionTimes.push_back(ReturnTransitionTimesAndValues(times, voltages, transitionVoltage, isInput)); + + } + + //std::cout << "Info: Spice file is parsed..." << std::endl; + //std::cout << "Info: The transition times array is filled..." << std::endl; + //std::cout << "Info: You can add a new output node." << std::endl; + //std::cout << "Attention: Be sure to add all outputs in your design." << std::endl; + //std::cout << "++++++++++++++++++++++++++++++++++++++++++++++" << std::endl; + + instream.close(); +} + + +void DelayParser::FillLogicDelayMatrices() +{ + + std::size_t transitions = allInputTransitionTimes.size(); + std::size_t outputs = outputNames.size(); + + //This loop will compute the delay per transition per output + //The for loops below detects the delay for the ith ouput at jth transition + //If output does not change for the current transition, the delay is set to 0. + //It also considers the glitches + for(size_t i = 0; i < outputs; ++i) + { + //First get the transition times for the corresponding output to a vector + std::vector transitionTimes = outputTransitionTimes[i]; + std::vector transitionValues = outputTransitionValues[i]; + size_t k = 0; + + double currentTransitionTime; + double nextTransitionTime; + std::vector perOutputDelays; + std::vector perOutputValues; + + //Add the first logic value corresponding to first input before transitions + //perOutputValues.push_back(transitionValues[0]); + + //For each transition compute the delay and logic value + for(size_t j = 0; j < transitions - 1; ++j) + { + currentTransitionTime = allInputTransitionTimes[j]; + nextTransitionTime = allInputTransitionTimes[j + 1]; + + //Find the maximum output transition time smaller than the next input transition + while(k < transitionTimes.size() && transitionTimes[k] < nextTransitionTime) + { + ++k; + } + + //If even the first output transition is bigger than the nextTransitionTime + //then there is no transition at the output for this input transition + //then set logic-value to the very first value of that output and + //set the delÅŸay to 0 + //ICCD + /* + if(k == 0) + { + perOutputValues.push_back(transitionValues[0]); + perOutputDelays.push_back(0); + } + else*/ + //{ + //The logic value of the output belongs to the last transition prior to kth + //(Changed for ICCD) Instead of k - 1 k is used as index because the first value in transitionValues array is first value of the output + perOutputValues.push_back(transitionValues[k - 1]); + + if(transitionTimes[k - 1] < nextTransitionTime && transitionTimes[k - 1] > currentTransitionTime) + { + perOutputDelays.push_back(transitionTimes[k - 1] - currentTransitionTime); + } + else + { + perOutputDelays.push_back(0); + } + //} + } + + + delayMatrix.push_back(perOutputDelays); + logicMatrix.push_back(perOutputValues); + } + + std::cout << "Info: Logic and Delay Matrices are filled with delay and logic value for each output & transition.." << std::endl; + //std::cout << "**********************************************************************" << std::endl; + +} + +std::vector DelayParser::GetAllInputTransitionTimes() +{ + return allInputTransitionTimes; +} + +std::vector DelayParser::GetOutputNames() +{ + return outputNames; +} + +std::vector DelayParser::ReturnTransitionTimesAndValues(const std::vector& times, const std::vector& voltages, double transitionVoltage, bool isInput) +{ + std::size_t records = voltages.size(); + + std::vector transitionTimes; + std::vector transitionValues; + + //if the difference is decreasing this is made true; + //bool decreasing = false; + + //Shows the difference from transitionVoltage + double voltageDifference1; + double voltageDifference2; + + + if(!isInput) + { + transitionValues.push_back((voltages[0] > transitionVoltage) ? true : false); + } + + //ICCD + //First transition is time 0. + transitionTimes.push_back(0); + + for(size_t i = 0; i < records - 1; ++i) + { + voltageDifference1 = voltages[i] - transitionVoltage; + voltageDifference2 = voltages[i + 1] - transitionVoltage; + + //Understand if the voltages passed through the transitionVoltage + //Then store the transition time computed by interpolation + if(std::signbit(voltageDifference1) != std::signbit(voltageDifference2)) + { + //Perform linear interpolation to find exact transition time + double interTime = times[i + 1] - times[i]; + double interVoltage = std::abs(voltages[i + 1] - voltages[i]); + transitionTimes.push_back((std::abs(voltageDifference1) / interVoltage) * interTime + times[i]); + + //Below if is for recording the value of the output after that transition + if(!isInput) + { + if(voltages[i + 1] != transitionVoltage) + { + transitionValues.push_back((voltages[i + 1] > transitionVoltage) ? true : false); + } + //if coincidentally they became equal test the next voltage in time + else + { + transitionValues.push_back((voltages[i + 2] > transitionVoltage) ? true : false); + } + } + //std::cout << "Transition Time: " << transitionTimes[transitionTimes.size() - 1] << std::endl; + } + + } + + //Add the transition values for that particular output to the output values 2d array + if(!isInput) + { + outputTransitionValues.push_back(transitionValues); + } + + return transitionTimes; + +} + + +void DelayParser::WriteDelayAndValuesToConsole() +{ + std::size_t outputs = delayMatrix.size(); + std::size_t transitions = delayMatrix[0].size(); + + std::cout << std::endl; + std::cout << "******DISPLAYING DELAY & LOGIC VALUES FOR OUTPUTS******" << std::endl; + std::cout << "Delay of Each Output (Rows) at Each Transition (Columns):" << std::endl; + std::cout.precision(17); + //To see the delay contents for different outputs and transitions + for(size_t i = 0; i < outputs; ++i) + { + std::cout < outputs - 1) + { + throw("Error: The computed output indices are out of bounds..."); + } + + // Create and open a text file + std::ofstream hexFile(hexFileLoc); + + for(size_t j = 0; j < transitions + 1; ++j) + { + std::string str = ""; + for(int i = start; i < end + 1; ++i) + { + if(logicMatrix[i][j]) + { + str = str + "1"; + } + else + { + str = str + "0"; + } + + } + hexFile << std::setfill('0') << std::setw(std::ceil((end - start + 1)/4.0)) << std::hex << std::uppercase << std::stoi(str, 0, 2) << std::endl; + } + + hexFile.close(); + std::cout << "Info: Hex data for output[" << start << ":" << end <<"] is written to " << hexFileLoc << std::endl; +} diff --git a/delayparser.h b/delayparser.h new file mode 100644 index 0000000..ec8b6ae --- /dev/null +++ b/delayparser.h @@ -0,0 +1,95 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#define MARGINRATIO 0.2F + +//Used to parse all input and output spice voltage vs time text files +//It can extract all the required delays for multiple outputs and multiple transitions +class DelayParser{ + + private: + //These two matrices will hold the + //delayMatrix: delay for each output and transition + //logicMatrix: logic values of each output after each transition including the initial values + std::vector> delayMatrix; + std::vector> logicMatrix; + + //Holds the input 50% transition times + //The size will be equal to the number of transitions + std::vector> inputTransitionTimes; + + //Holds the all transition times of all inputs in one vector + std::vector allInputTransitionTimes; + + //Holds output node names + std::vector outputNames; + + //Holds the output 50% transition times + //outputTransitiontimes(i, j) where i is the output node + //and j is the jth transition time + std::vector> outputTransitionTimes; + + //Holds output node logic values for ith output after jth transition + std::vector> outputTransitionValues; + + //Finds the transition times looking at times array and voltage array + //and performs linear interpolation for exact time + std::vector ReturnTransitionTimesAndValues(const std::vector& times, const std::vector& voltages, double transitionVoltage, bool isInput); + + public: + + //Clear all vectors for a new simulation + void ClearThemAll(); + + //Combines the input Transition times to have all transition times for any input + //It uses transitionInterval to guarantee that the transition times of inputs belong to distinct transitions + void CombineInputTransitionTimes(double transitionInterval); + + //Compare two text files containing the output vectors for each transition + //List down the different vectors than expected on a separate file + //Returns number of mismatchs (errors) + static std::vector CompareActualWithExpected(std::string actualFile, std::string expectedFile, std::string resultFile); + + //Extract delays and fill the two private transition time vectors + //according to the given Spice file at fileLocation + //If the node is a primary input then isInput is true + //else it is primary output + void ExtractTransitionTimes(std::string fileLocation, double transitionVoltage, bool isInput); + + //Fills the delayMatrix(i, j) where + //i is the ith output and + //j is jth transition + //Fills the logicMatrix(i, j) where + //i is the ith output and + //j is the logic value at that output for jth transition + //It uses the both the input and output transition times vectors to compute that + void FillLogicDelayMatrices(); + + //@Gökçe + std::vector GetAllInputTransitionTimes(); + + //Return the output node names + std::vector GetOutputNames(); + + //Display the delay and the logic values for each output and transition + void WriteDelayAndValuesToConsole(); + + //Transfer the delay for each output and transition to file + void WriteDelayToFile(std::string delayFileLoc, std::string delimiter); + + //Transfer the logic values for each output and transition to file + void WriteLogicToFile(std::string logicFileLoc, std::string delimiter); + + //Writes a particular bus which is a subset of the output to a file in hex format + //Output[start:end] is converted and written in hex format to hexFileLoc + void WriteParticularOutputToHexFile(std::string hexFileLoc, int start, int end); +}; + + + diff --git a/icon.qrc b/icon.qrc new file mode 100644 index 0000000..c8137f3 --- /dev/null +++ b/icon.qrc @@ -0,0 +1,5 @@ + + + Resources/vetsco_icon_2.png + + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..ba043f6 --- /dev/null +++ b/main.cpp @@ -0,0 +1,21 @@ +#include "mainwindow.h" +#include +#include + +int main(int argc, char *argv[]) +{ + /*QProcess process; + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("LD_LIBRARY_PATH", "/usr/lib64/"); + QStringList listEnv = env.toStringList(); + for(int i = 0; i < listEnv.size(); ++i) + { + std::cout << listEnv.at(i).toStdString() << std::endl; + }*/ + + QApplication a(argc, argv); + MainWindow w; + w.show(); + qputenv("LD_LIBRARY_PATH", "/usr/lib64/"); + return a.exec(); +} diff --git a/mainwindow.cpp b/mainwindow.cpp new file mode 100644 index 0000000..da7b567 --- /dev/null +++ b/mainwindow.cpp @@ -0,0 +1,798 @@ +#include "mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); + setWindowIcon(QIcon(":/images/plode-small.png")); + mkdir("Converted",0777); + mkdir("simulationresults",0777); + mkdir("DelayAndLogicResults",0777); + mkdir("ComparisonFiles",0777); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::on_browseButton_clicked() +{ + CurrentCircuit::circ.submodules.clear(); + CurrentCircuit::circ.callOrder.clear(); + CurrentCircuit::circ.adjacencyList.clear(); + + QPushButton *convertButton = findChild(QString("convertButton")); + convertButton->setDisabled(false); + + QRadioButton *graphJoiningMethod = findChild(QString("graphJoining")); + graphJoiningMethod->setDisabled(false); + + QRadioButton *spiceSubcircuitMethod = findChild(QString("spiceSubcircuiting")); + spiceSubcircuitMethod->setDisabled(false); + + QString file_name = QFileDialog::getOpenFileName(this,"Choose file","C://","Verilog files (*.v)"); + + if(!file_name.isEmpty()){ + ui->textEdit->setText(file_name); + } +} + +void MainWindow::on_convertButton_clicked() +{ + QPushButton *convertButton = findChild(QString("convertButton")); + convertButton->setDisabled(true); + + auto start = std::chrono::high_resolution_clock::now(); + QRadioButton *graphJoiningMethod = findChild(QString("graphJoining")); + graphJoiningMethod->setDisabled(true); + + QRadioButton *spiceSubcircuitMethod = findChild(QString("spiceSubcircuiting")); + spiceSubcircuitMethod->setDisabled(true); + + if(CurrentCircuit::circ.elements.size()!=0){ + CurrentCircuit::circ.elements.clear(); + CurrentCircuit::circ.adjacencyList.clear(); + } + + if(ui->textEdit->toPlainText().toUtf8().constData()[0] == '\0'){ + std::cout << "File path is empty" << std::endl; + QMessageBox::warning(this,"Warning!","A Verilog file must be selected"); + //return; + convertButton->setDisabled(false); + + } + else{ + + + std::cout << "FILE NAME:" << ui->textEdit->toPlainText().toUtf8().constData() << std::endl; + CurrentCircuit::circ.fillFromVerilogFile(ui->textEdit->toPlainText().toUtf8().constData()); + char buffer[256]; + getcwd(buffer, 256 ); + std::string dirname{buffer}; + + QTextEdit *libraryPathTextEdit = findChild(QString("spiceLibraryDirPath")); + std::string libraryPath = libraryPathTextEdit->toPlainText().toUtf8().constData(); + + std::cout << "Library Path: "<< libraryPath << std::endl; + + if(libraryPath.empty()){ + std::cout << "LibraryPath is empty" << std::endl; + QMessageBox::warning(this,"Warning!","Spice library folder must be selected"); + convertButton->setDisabled(false); + + } + else{ + + ui->textEdit_2->setText(QString::fromStdString(dirname + "/" + PLODELib::convertFromVerilogToSpice(CurrentCircuit::circ,libraryPath))); + + QPushButton * button = findChild(QString("runSimButton")); + button->setEnabled(true); + } + } + //To limit the height of the dropdown + ui->outputDropdown->setStyleSheet("combobox-popup: 0;"); + + for(size_t i = 0 ; i < CurrentCircuit::circ.outputs.size() ; i++){ + ui->outputDropdown->addItem(CurrentCircuit::circ.outputs.at(i).c_str()); + } + auto stop = std::chrono::high_resolution_clock::now(); + auto diff = std::chrono::duration_cast(stop - start); + std::cout << "TIME INFO: Conversion took " << diff.count()/1000.0 << " seconds." << std::endl; +} + +void MainWindow::on_runSimButton_clicked() +{ + //QComboBox *outputDropdown = findChild(QString("outputDropdown")); + //outputDropdown->clear(); + auto start = std::chrono::high_resolution_clock::now(); //For simulation File extraction + + QPushButton * button = findChild(QString("runSimButton")); + + //button->setDisabled(true); + + std::vector > inputValues; + QTextEdit *time = findChild(QString("time")); + + if(time == NULL){ + return; + } + + std::string timeString(time->toPlainText().toUtf8().constData()); + if(timeString[0] == '\0'){ + return; + } + + double inputChangeTime= std::stod(timeString); + QTextEdit *suppvoltage = findChild(QString("supplyvoltage")); + std::string suppVoltageString(suppvoltage->toPlainText().toUtf8().constData()); + double supplyvoltage; + + if(suppvoltage == NULL){ + return; + } + if(suppVoltageString[0] == '\0'){ + supplyvoltage = 0; + } + else{ + supplyvoltage = std::stod(suppVoltageString); + } + + std::ifstream inputFile; + QTextEdit * simulationInputFilePath = findChild(QString("simulationInputFilePath")); + inputFile.open(simulationInputFilePath->toPlainText().toUtf8().constData()); + + if(!inputFile){ + + } + std::string inputLine; + + bool executeSimulation = true; + + for(std::size_t i = 0 ; i < CurrentCircuit::circ.inputs.size(); i++){ + + std::vector inputVect; + + getline(inputFile, inputLine); + + if (inputLine.back() == '\r') { + inputLine.pop_back(); + } + + for(auto c : inputLine){ + if(c == '0'){ + inputVect.push_back(0); + } + else if(c == '1'){ + inputVect.push_back(1); + } + else{ + std::cout << "CHAR:" << c << std::endl; + executeSimulation = false; + break; + } + } + if(!executeSimulation){ + QMessageBox::warning(this,"Warning!",QString("Input file must only contain 0s and 1s!")); + break; + } + inputValues.push_back(inputVect); + } + + + std::cout << "Before writing simulation input values..." << std::endl; + + QList simulationOptions = findChildren(QString("simulationOptionInput")); + std::vector> options; + for(auto widget : simulationOptions){ + std::cout << "Reading option name..." << std::endl; + + std::string optionName = widget->findChild(QString("simulationOptionName"))->currentText().toUtf8().constData(); + std::cout << "Finished reading option name..." << std::endl; + + std::string optionValue; + std::cout << "Checking option type..." << std::endl; + + if(Utils::isNumericSpiceOption(optionName)){ + std::cout << "Option is numeric spice option" << std::endl; + + optionValue = widget->findChild(QString("simulationOptionValueNumeric"))->toPlainText().toLower().toUtf8().constData(); + std::cout << "Finished reading the value of the numeric value" << std::endl; + + if(!Utils::validNumberString(optionValue)){ + std::cout << optionValue << std::endl; + std::string str = optionName + " has an invalid numeric value!"; + QMessageBox::warning(this,"Warning!",QString(str.c_str())); + executeSimulation = false; + options.clear(); + break; + } + else{ + std::pair optionPair = std::make_pair(optionName,optionValue); + options.push_back(optionPair); + } + + } + else if(Utils::isStringValueSpiceOption(optionName)){ + std::cout << "Option is string valued spice option" << std::endl; + + optionValue = widget->findChild(QString("simulationOptionValueString"))->toPlainText().toLower().toUtf8().constData(); + std::cout << "Finished reading the value of the string value" << std::endl; + + if(!Utils::isValidStringValueForSpiceOption(optionName,optionValue)){ + std::cout << optionValue << std::endl; + std::string str = optionName + " has an invalid value"; + QMessageBox::warning(this,"Warning!",QString(str.c_str())); + executeSimulation = false; + options.clear(); + break; + } + else{ + std::pair optionPair = std::make_pair(optionName,optionValue); + options.push_back(optionPair); + } + + } + + else if(Utils::isBoolValueSpiceOption(optionName)){ + std::cout << "Option is bool valued spice option" << std::endl; + + optionValue = widget->findChild(QString("simulationOptionValueBool"))->currentText().toLower().toUtf8().constData(); + std::cout << "Finished reading the value of the bool value" << std::endl; + + if(optionValue == "yes"){ + std::pair optionPair = std::make_pair(optionName,""); + options.push_back(optionPair); + } + } + + + + } + + if(executeSimulation){ + std::string clockPeriod = findChild(QString("clockPeriodTextEdit"))->toPlainText().toUtf8().constData(); + double clockPeriodVal; + std::string clockName = findChild(QString("clockNameTextEdit"))->toPlainText().toUtf8().constData(); + + if(clockPeriod[0] == '\0'){ + clockPeriodVal = 0; + } + else{ + clockPeriodVal = std::stod(clockPeriod); + } + + std::string newFilePath = PLODELib::addSimulationParameters(CurrentCircuit::circ,inputValues,inputChangeTime,supplyvoltage,options, clockPeriodVal, clockName); + ui->textEdit_2->setText(newFilePath.c_str()); + + std::string file_path(ui->textEdit_2->toPlainText().toUtf8()); + char cwd[1024]; + getcwd(cwd, 1024 ); + + std::string sim_file_name = newFilePath.substr(newFilePath.find_last_of('/')+1,newFilePath.find('.')-newFilePath.find_last_of('/')-1); + std::string dirname{cwd}; + + ui->textEdit_3->setText(QString::fromStdString(dirname + "/simulationresults/" + sim_file_name + "_currentsimulation.txt" )); + + std::string voltageSimulationFileHeader = dirname + "/simulationresults/" + sim_file_name + "_voltagesimulation"; + + QDialog * simulationInProgressDialog = new QDialog(this); + QLabel * label = new QLabel; + + QHBoxLayout * layout = new QHBoxLayout; + layout->addWidget(label); + simulationInProgressDialog->setLayout(layout); + simulationInProgressDialog->setWindowTitle("Simulation finished"); + + setDisabled(true); + + auto stop = std::chrono::high_resolution_clock::now(); + auto diff = std::chrono::duration_cast(stop - start); + std::cout << "TIME INFO: Simulation file construction took " << diff.count()/1000.0 << " seconds." << std::endl; + + + QMessageBox * messageBox = new QMessageBox(this); + messageBox->setText("Press OK to run the simulation"); + messageBox->setWindowTitle("Start simulation"); + messageBox->exec(); + + setDisabled(false); + + std::string powerSimulationFile = ui->textEdit_3->toPlainText().toUtf8().constData(); + + start = std::chrono::high_resolution_clock::now(); //For Spice simulation part + + PLODELib::runSpiceSimulation(file_path); + + stop = std::chrono::high_resolution_clock::now(); + diff = std::chrono::duration_cast(stop - start); + std::cout << "TIME INFO: Spice Simulation took " << diff.count()/1000.0 << " seconds." << std::endl; + + QSound::play(":/images/finished.wav"); + label->setText("Simulation duration: " + QString(std::to_string((int) std::round(PLODELib::simulationDuration)).c_str()) + " s"); + + simulationInProgressDialog->exec(); + + button->setDisabled(false); + + //createVoltageGraphs(); + + button = findChild(QString("powerSimButton")); + button->setEnabled(true); + + button = findChild(QString("voltageSimButton")); + button->setEnabled(true); + + start = std::chrono::high_resolution_clock::now();//For analysis part + + //TODO: Change this into a different button later on + PLODELib::generateLogicAndDelayResults(CurrentCircuit::circ, supplyvoltage, inputChangeTime, voltageSimulationFileHeader, clockName); + + int posStart = voltageSimulationFileHeader.find(CurrentCircuit::circ.circuitName + "_"); + int posEnd = voltageSimulationFileHeader.find("_voltagesimulation"); + posStart += CurrentCircuit::circ.circuitName.length() + 1; + + std::string dateString = voltageSimulationFileHeader.substr(posStart,posEnd - posStart); + + std::string logicResFilename = dirname + "/DelayAndLogicResults/" + CurrentCircuit::circ.circuitName + "_" + dateString + "_logicFile.txt"; + ui->logicResultFilePath->setText(logicResFilename.c_str()); + + stop = std::chrono::high_resolution_clock::now(); + diff = std::chrono::duration_cast(stop - start); + std::cout << "TIME INFO: Analysis took " << diff.count()/1000.0 << " seconds." << std::endl; + + + } +} + +void MainWindow::on_powerSimButton_clicked() +{ + std::ifstream sim_file; + std::string line; + std::vector file_content; + + std::string file_name(ui->textEdit_3->toPlainText().toUtf8().constData()); + + if(file_name[0] == '\0'){ + return; + } + + QTextEdit *suppvoltage = findChild(QString("supplyvoltage")); + double supplyvoltage; + if(suppvoltage->toPlainText().toUtf8().constData()[0] == '\0'){ + supplyvoltage = 0; + } + else{ + std::string suppVoltageString(suppvoltage->toPlainText().toUtf8().constData()); + supplyvoltage = std::stod(suppVoltageString); + } + + QChartView* power_chart = PLODELib::createPowerGraph(file_name,supplyvoltage); + + power_chart->show(); + +} + +void MainWindow::on_voltageSimButton_clicked() +{ + + std::string outputName = ui->outputDropdown->currentText().toUtf8().constData(); + + //Because Spice only prints in lowercase file names. + std::string outputNameLower = outputName; + std::transform(outputNameLower.begin(), outputNameLower.end(), outputNameLower.begin(), ::tolower); + + std::string file_name(ui->textEdit_3->toPlainText().toUtf8().constData()); + std::string voltage_file_name(file_name); + voltage_file_name = voltage_file_name.substr(0, voltage_file_name.find_last_of('_')); + voltage_file_name += "_voltagesimulation_" + outputNameLower + ".txt"; + + std::cout << voltage_file_name << std::endl; + + if(file_name[0] == '\0'){ + return; + } + std::string timeString(ui->time->toPlainText().toUtf8().constData()); + if(timeString[0] == '\0'){ + return; + } + + double inputChangeTime= std::stod(timeString); + QChartView* voltage_chart = PLODELib::createVoltageGraph(voltage_file_name,outputName,inputChangeTime); + voltage_chart->setWindowTitle(outputName.c_str()); + //voltage_chart->setMinimumSize(QSize(1680,900)); + //voltage_chart->show(); + + std::string delay_file_name(file_name); + delay_file_name= delay_file_name.substr(0, delay_file_name.find_last_of('_')); + delay_file_name += "_delayFile.csv"; + delay_file_name = std::regex_replace(delay_file_name, std::regex("simulationresults"), "DelayAndLogicResults"); + + QChartView* delay_chart = PLODELib::createDelayGraph(delay_file_name,outputName); + //delay_chart->setMinimumSize(QSize(1680,900)); + //delay_chart->show(); + + QWidget * graphDialog_v = new QWidget(); + graphDialog_v->setWindowTitle("Voltage-time Plot"); + QWidget * graphDialog_d = new QWidget(); + graphDialog_d->setWindowTitle("Delay-time Plot"); + + QHBoxLayout * layout_v = new QHBoxLayout(); + layout_v->addWidget(voltage_chart); + QHBoxLayout * layout_d = new QHBoxLayout(); + layout_d->addWidget(delay_chart); + + graphDialog_v->setLayout(layout_v); + graphDialog_v->setMinimumSize(800,400); + graphDialog_v->show(); + + graphDialog_d->setLayout(layout_d); + graphDialog_d->setMinimumSize(800,400); + graphDialog_d->show(); +} + +void MainWindow::on_graphJoining_toggled(bool checked) +{ + if(checked){ + CurrentCircuit::circ.setSubmoduleConnectionMethod(Circuit::SubmoduleConnectionMethod::graphJoiningMethod); + } +} + +void MainWindow::on_spiceSubcircuiting_toggled(bool checked) +{ + if(checked){ + CurrentCircuit::circ.setSubmoduleConnectionMethod(Circuit::SubmoduleConnectionMethod::spiceSubcircuitMethod); + } +} + + +void MainWindow::on_spiceLibBrowseButton_clicked() +{ + QFileDialog dialog(this); + dialog.setFileMode(QFileDialog::Directory); + dialog.setOption(QFileDialog::ShowDirsOnly,true); + + QString file_name = dialog.getExistingDirectory(this,"Choose Library","C://"); + + + if(!file_name.isEmpty()){ + QTextEdit *libraryPathTextEdit = findChild(QString("spiceLibraryDirPath")); + libraryPathTextEdit->setText(file_name); + } + +} + +void addDropdownItems(QComboBox & combobox){ + QStringList * list = new QStringList(); + list->push_back("ACCT"); + list->push_back("NOACCT"); + list->push_back("NOINIT"); + list->push_back("LIST"); + list->push_back("NOMOD"); + list->push_back("NOPAGE"); + list->push_back("NODE"); + list->push_back("NOREFVALUE"); + list->push_back("OPTS"); + list->push_back("SEED"); + list->push_back("SEEDINFO"); + list->push_back("TEMP"); + list->push_back("TNOM"); + list->push_back("WARN"); + list->push_back("MAXWARNS"); + list->push_back("SAVECURRENTS"); + list->push_back("ABSTOL"); + list->push_back("GMIN"); + list->push_back("GMINSTEPS"); + list->push_back("ITL1"); + list->push_back("ITL2"); + list->push_back("KEEPOPINFO"); + list->push_back("NOOPITER"); + list->push_back("PIVREL"); + list->push_back("PIVTOL"); + list->push_back("RELTOL"); + list->push_back("RSHUNT"); + list->push_back("VNTOL"); + list->push_back("PIVTOL"); + list->push_back("AUTOSTOP"); + list->push_back("CHGTOL"); + list->push_back("CONVSTEP"); + list->push_back("CONVABSSTEP"); + list->push_back("INTERP"); + list->push_back("ITL3"); + list->push_back("ITL4"); + list->push_back("ITL5"); + list->push_back("ITL6"); + list->push_back("MAXEVITER"); + list->push_back("MAXOPALTER"); + list->push_back("MAXORD"); + list->push_back("METHOD"); + list->push_back("NOOPALTER"); + list->push_back("RAMPTIME"); + list->push_back("SRCSTEPS"); + list->push_back("TRTOL"); + list->push_back("XMU"); + list->sort(); + combobox.addItems(*list); + +} +void MainWindow::on_addOptionButton_clicked() +{ + QVBoxLayout *simulationParameters = findChild(QString("simulationOptionValues")); + + QHBoxLayout *inputLayout = new QHBoxLayout(); + + QWidget * containerWidget = new QWidget(); + containerWidget->setObjectName("simulationOptionInput"); + containerWidget->setLayout(inputLayout); + + QLabel *optionNameLabel = new QLabel(containerWidget); + //QTextEdit *optionNameValue = new QTextEdit(this); + QComboBox *optionNameValue = new QComboBox(containerWidget); + optionNameValue->setEditable(true); + optionNameValue->lineEdit()->setPlaceholderText(QString("Select...")); + addDropdownItems(*optionNameValue); + optionNameValue->setFixedHeight(31); + connect(optionNameValue,SIGNAL(currentIndexChanged(QString)),this,SLOT(optionValueAreaCreation(QString))); + optionNameValue->setCurrentIndex(-1); + + optionNameLabel->setText("Name:"); + //optionNameLabel->setMinimumWidth(40); + + optionNameValue->setObjectName("simulationOptionName"); + + + inputLayout->addWidget(optionNameLabel); + inputLayout->addWidget(optionNameValue); + + + simulationParameters->addWidget(containerWidget); +} +void MainWindow::deleteOptionButton(){ + std::cout << QObject::sender()->parent()->metaObject()->className() << std::endl; + delete QObject::sender()->parent(); +} + + + +void clearOptionValueArea(QComboBox * combobox){ + QPushButton * button = combobox->parentWidget()->findChild("simulationOptionDeleteButton"); + if(button != NULL){ + delete button; + } + QTextEdit * valueArea = combobox->parentWidget()->findChild("simulationOptionValueNumeric"); + if(valueArea != NULL){ + delete valueArea; + } + + QTextEdit * valueAreaString = combobox->parentWidget()->findChild("simulationOptionValueString"); + if(valueAreaString != NULL){ + delete valueAreaString; + } + + QComboBox * valueAreaBool = combobox->parentWidget()->findChild("simulationOptionValueBool"); + if(valueAreaBool != NULL){ + delete valueAreaBool; + } + + QLabel * valueLabel = combobox->parentWidget()->findChild("simulationOptionValueLabel"); + if(valueLabel != NULL){ + delete valueLabel; + } +} +void MainWindow::optionValueAreaCreation(){ + + QComboBox *combobox = qobject_cast(QObject::sender()); + + if(combobox && combobox->currentIndex() != -1){ + clearOptionValueArea(combobox); + + std::string currentText = combobox->currentText().toUpper().toStdString(); + if(Utils::isNumericSpiceOption(currentText)){ + QLabel *optionValueLabel = new QLabel(this); + QTextEdit *optionValue = new QTextEdit(this); + + optionValueLabel->setText("Value:"); + optionValueLabel->setObjectName("simulationOptionValueLabel"); + + optionValue->setFixedWidth(200); + optionValue->setFixedHeight(31); + optionValue->setObjectName("simulationOptionValueNumeric"); + + combobox->parentWidget()->layout()->addWidget(optionValueLabel); + combobox->parentWidget()->layout()->addWidget(optionValue); + } + else if(Utils::isStringValueSpiceOption(currentText)){ + QLabel *optionValueLabel = new QLabel(this); + QTextEdit *optionValue = new QTextEdit(this); + + optionValueLabel->setText("Value:"); + optionValueLabel->setObjectName("simulationOptionValueLabel"); + + optionValue->setFixedWidth(200); + optionValue->setFixedHeight(31); + optionValue->setObjectName("simulationOptionValueString"); + + combobox->parentWidget()->layout()->addWidget(optionValueLabel); + combobox->parentWidget()->layout()->addWidget(optionValue); + } + else if(Utils::isBoolValueSpiceOption(currentText)){ + + QLabel *optionValueLabel = new QLabel(this); + QComboBox *optionValue = new QComboBox(this); + optionValue->addItem("Yes"); + optionValue->addItem("No"); + optionValue->setFixedWidth(200); + optionValue->setFixedHeight(31); + + optionValueLabel->setText("Value:"); + optionValueLabel->setObjectName("simulationOptionValueLabel"); + + + optionValue->setObjectName("simulationOptionValueBool"); + + combobox->parentWidget()->layout()->addWidget(optionValueLabel); + combobox->parentWidget()->layout()->addWidget(optionValue); + } + + QPushButton* deleteButton = new QPushButton(); + deleteButton->setText(QString("Delete")); + deleteButton->setObjectName("simulationOptionDeleteButton"); + connect(deleteButton,SIGNAL(clicked()),this,SLOT(deleteOptionButton())); + combobox->parentWidget()->layout()->addWidget(deleteButton); + + } + +} + +void MainWindow::on_browseSimulationInputButton_clicked() +{ + QString file_name = QFileDialog::getOpenFileName(this,"Choose file","C://","Text files (*.txt)"); + + if(!file_name.isEmpty()){ + ui->simulationInputFilePath->setText(file_name); + } +} + +void MainWindow::on_expectedResultFileBrowse_clicked() +{ + QString file_name = QFileDialog::getOpenFileName(this,"Choose file","C://","Text files (*.txt)"); + + if(!file_name.isEmpty()){ + ui->expectedResultFilePath->setText(file_name); + } +} + +void MainWindow::on_compareResultsButton_clicked() +{ + char cwd[1024]; + getcwd(cwd, 1024 ); + std::string dirname{cwd}; + + std::string expectedResultFilePath = ui->expectedResultFilePath->toPlainText().toUtf8().constData(); + std::string actualResultFilePath = ui->plodeResultsFilePath->toPlainText().toUtf8().constData(); + + if(actualResultFilePath.size() == 0) + { + actualResultFilePath = ui->logicResultFilePath->toPlainText().toUtf8().constData(); + } + + std::string comparisonResultFilePath = dirname + "/ComparisonFiles/" + CurrentCircuit::circ.circuitName + "_resultComparisonFile.txt"; + std::vector values = PLODELib::getDelayParser().CompareActualWithExpected(actualResultFilePath, expectedResultFilePath, comparisonResultFilePath); + int totalValues = values[0]; + int wrongValues = values[1]; + + ui->wrongResultValue->setText(std::to_string(wrongValues).c_str()); + ui->wrongResultValue->setReadOnly(true); + ui->correctResultValue->setText(std::to_string(totalValues - wrongValues).c_str()); + ui->correctResultValue->setReadOnly(true); + ui->totalResultValue->setText(std::to_string(totalValues).c_str()); + ui->totalResultValue->setReadOnly(true); + + ui->resultDifferenceFilePath->setText(comparisonResultFilePath.c_str()); + +} + +void MainWindow::on_resultDifferenceFileOpen_clicked() +{ + std::string filePath = "file://"; + filePath += ui->resultDifferenceFilePath->toPlainText().toUtf8().constData(); + QDesktopServices::openUrl(QUrl(filePath.c_str())); +} + +void MainWindow::on_convertedFileOpen_clicked() +{ + std::string filePath = "file://"; + filePath += ui->textEdit_2->toPlainText().toUtf8().constData(); + QDesktopServices::openUrl(QUrl(filePath.c_str())); +} + +void MainWindow::on_currentSimFileOpen_clicked() +{ + std::string filePath = "file://"; + filePath += ui->textEdit_3->toPlainText().toUtf8().constData(); + QDesktopServices::openUrl(QUrl(filePath.c_str())); +} + +void MainWindow::on_logicResultFileOpen_clicked() +{ + std::string filePath = "file://"; + filePath += ui->logicResultFilePath->toPlainText().toUtf8().constData(); + QDesktopServices::openUrl(QUrl(filePath.c_str())); +} + +void MainWindow::on_textEdit_textChanged() +{ + ui->outputDropdown->clear(); +} + +void MainWindow::on_generateButton_clicked() +{ + QFileDialog dialog(this); + + QString fileName = dialog.getSaveFileName(this, + tr("Save Output Hex File"), "", + tr("Output Hex File (*.txt);;All Files (*)")); + + if(fileName.isEmpty()){ + std::cout << "Error: No file name is given." << std::endl; + fileName = "./OutputHex.txt"; + } + + int startBit = ui->startBit->toPlainText().toInt(); + int stopBit = ui->stopBit->toPlainText().toInt(); + + PLODELib::getDelayParser().WriteParticularOutputToHexFile(fileName.toStdString(), startBit, stopBit); + +} + +void MainWindow::on_actionExit_triggered() +{ + QApplication::quit(); +} + + +void MainWindow::on_savePathVerilogButton_clicked() +{ + std::string pathStr = ui->pathText->toPlainText().toStdString(); + std::istringstream stm(pathStr); + std::string word; + std::vector pathNodes; + + while (stm >> word) + { + pathNodes.push_back(word); + } + + QFileDialog dialog(this); + + QString fileName = dialog.getSaveFileName(this, + tr("Save Path Verilog File"), "", + tr("Path Verilog File (*.v);;All Files (*)")); + + if(fileName.isEmpty()){ + throw std::invalid_argument("Error: No file name is given to save path verilog."); + } + + SinglePath sPath(pathNodes); + sPath.ConvertToSinglePathVerilog(ui->sourceVerilog->toPlainText().toUtf8().constData(),fileName.toStdString()); + +} + +void MainWindow::on_openVerilog_clicked() +{ + QString file_name = QFileDialog::getOpenFileName(this,"Choose file","C://","Verilog files (*.v)"); + + if(!file_name.isEmpty()){ + ui->sourceVerilog->setText(file_name); + } +} + +void MainWindow::on_plodeResultFileBrowse_clicked() +{ + QString file_name = QFileDialog::getOpenFileName(this,"Choose file","C://","Text files (*.txt)"); + + if(!file_name.isEmpty()){ + ui->plodeResultsFilePath->setText(file_name); + } +} diff --git a/mainwindow.h b/mainwindow.h new file mode 100644 index 0000000..31d3775 --- /dev/null +++ b/mainwindow.h @@ -0,0 +1,92 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "ui_mainwindow.h" +#include "circuit.h" +#include "currentcircuit.h" +#include "PLODELib.h" +#include "singlepath.h" + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +public slots: + void deleteOptionButton(); + void optionValueAreaCreation(); + + +private slots: + void on_browseButton_clicked(); + + void on_convertButton_clicked(); + + void on_runSimButton_clicked(); + + void on_powerSimButton_clicked(); + + void on_voltageSimButton_clicked(); + + void on_spiceSubcircuiting_toggled(bool checked); + + void on_graphJoining_toggled(bool checked); + + void on_spiceLibBrowseButton_clicked(); + + void on_addOptionButton_clicked(); + + void on_browseSimulationInputButton_clicked(); + + void on_expectedResultFileBrowse_clicked(); + + void on_compareResultsButton_clicked(); + + void on_resultDifferenceFileOpen_clicked(); + + void on_convertedFileOpen_clicked(); + + void on_currentSimFileOpen_clicked(); + + void on_logicResultFileOpen_clicked(); + + void on_textEdit_textChanged(); + + void on_generateButton_clicked(); + + void on_actionExit_triggered(); + + void on_savePathVerilogButton_clicked(); + + void on_openVerilog_clicked(); + + void on_plodeResultFileBrowse_clicked(); + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..e04f8eb --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,1778 @@ + + + MainWindow + + + true + + + + 0 + 0 + 1045 + 790 + + + + + 0 + 0 + + + + + 750 + 790 + + + + + 100000 + 100000 + + + + + + + + + 0 + 0 + 0 + + + + + + + 213 + 213 + 213 + + + + + + + 232 + 235 + 232 + + + + + + + 241 + 241 + 241 + + + + + + + 250 + 214 + 68 + + + + + + + 0 + 0 + 0 + + + + + + + 249 + 249 + 249 + + + + + + + + + 0 + 0 + 0 + + + + + + + 213 + 213 + 213 + + + + + + + 232 + 235 + 232 + + + + + + + 241 + 241 + 241 + + + + + + + 250 + 214 + 68 + + + + + + + 0 + 0 + 0 + + + + + + + 249 + 249 + 249 + + + + + + + + + 119 + 120 + 120 + + + + + + + 213 + 213 + 213 + + + + + + + 241 + 241 + 241 + + + + + + + 241 + 241 + 241 + + + + + + + 159 + 160 + 161 + + + + + + + 0 + 0 + 0 + + + + + + + 249 + 249 + 249 + + + + + + + + + KerkisSans + 12 + + + + false + + + PLODE + + + Qt::LeftToRight + + + + + 0 + 0 + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + 0 + 0 + + + + + KerkisSans + 14 + + + + 0 + + + + + 0 + 0 + + + + PLODE + + + + + + true + + + + 0 + 0 + + + + + 700 + 651 + + + + + 16777215 + 16777215 + + + + + KerkisSans + 12 + 50 + false + + + + false + + + QFrame::NoFrame + + + QAbstractScrollArea::AdjustIgnored + + + true + + + Qt::AlignCenter + + + + + 0 + -461 + 991 + 1217 + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + + + + + + 172 + 172 + 163 + + + + + + + 217 + 225 + 239 + + + + + + + + + 172 + 172 + 163 + + + + + + + 217 + 225 + 239 + + + + + + + + + 217 + 225 + 239 + + + + + + + 217 + 225 + 239 + + + + + + + + + Manjari + 40 + 50 + false + true + + + + QFrame::NoFrame + + + QFrame::Sunken + + + 5 + + + + + + Qt::PlainText + + + :/images/plode-big.png + + + false + + + Qt::AlignCenter + + + + + + + QLayout::SetFixedSize + + + + + QLayout::SetFixedSize + + + + + + 0 + 0 + + + + + 16777215 + 20 + + + + Verilog file to convert: + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + 0 + 30 + + + + Browse... + + + + + + + + + Spice Library to use: + + + + + + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + 0 + 30 + + + + Browse... + + + + + + + + + QLayout::SetFixedSize + + + + + + + + + Submodule Conversion Method: + + + + + + + Graph joining + + + true + + + + + + + Spice subcircuit + + + + + + + + + + + + 0 + 0 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 239 + 161 + + + + + + + + Convert + + + + + + + + + + + + 0 + 0 + + + + + 16777215 + 20 + + + + Verilog file is converted to: + + + + + + + + + + 0 + 0 + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Open... + + + + + + + + + + + QFrame::Plain + + + 3 + + + 0 + + + Qt::Horizontal + + + + + + + QLayout::SetFixedSize + + + + + QLayout::SetFixedSize + + + 0 + + + + + Simulation input file: + + + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Browse... + + + + + + + + + + + + + + + + Input transition interval (ns): + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 10 + + + + + + + + + + Supply Voltage (V): + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + + + + + + + 0 + + + + + + + Clock Period (ns) + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 10 + + + + + + + + 0 + + + + + Clock Name + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + + + + + + + + Simulation Options: + + + + + + + + Add Option + + + + + + + + + + + + QLayout::SetFixedSize + + + + + + + + + false + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 239 + 161 + + + + + + + + Run Simulation + + + + + + + QFrame::Plain + + + 3 + + + Qt::Horizontal + + + + + + + QLayout::SetFixedSize + + + + + QLayout::SetFixedSize + + + + + + 16777215 + 20 + + + + Current simulation result file: + + + + + + + + + + 0 + 0 + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'KerkisSans','KerkisSans','KerkisSans','KerkisSans'; font-size:12pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p></body></html> + + + + + + + Open... + + + + + + + + + false + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 239 + 161 + + + + + + + + Plot Power Graph + + + + + + + + + + + + + + Logic results file: + + + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Open... + + + + + + + + + + + + 0 + 0 + + + + + 70 + 16777215 + + + + Output: + + + + + + + + 16777215 + 16777215 + + + + 10 + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 15 + 20 + + + + + + + + false + + + + 350 + 16777215 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 239 + 161 + + + + + + + + Analyze && Plot Logic / Delay + + + + + + + + + + + + + QFrame::Plain + + + 3 + + + Qt::Horizontal + + + + + + + 0 + + + + + PLODE result file: + + + + + + + 0 + + + + + + 16777215 + 30 + + + + + + + + Browse + + + + + + + + + Expected result file: + + + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Browse... + + + + + + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 218 + 8 + + + + + + + + + 255 + 239 + 161 + + + + + + + + Compare Results + + + + + + + + + + + + + Total results: + + + + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Correct Results: + + + + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Wrong Results: + + + + + + + + KerkisSans + 12 + 50 + false + + + + + + + + + + Result difference file: + + + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Open... + + + + + + + + + + + 0 + + + 0 + + + + + Give Output Bit Interval to Generate Hex Output + + + + + + + 0 + + + 0 + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + : + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + 50 + false + + + + + + + + Generate + + + + + + + Qt::Horizontal + + + + 800 + 20 + + + + + + + + + + + + + + + + + Single Path + + + + + 10 + 10 + 881 + 121 + + + + + + + + KerkisSans + 12 + + + + Path Nodes + + + + + + + 0 + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + + + + + + + + + KerkisSans + 12 + + + + Open Verilog + + + + + + + + + + + + 16777215 + 30 + + + + + KerkisSans + 12 + + + + + + + + + KerkisSans + 12 + + + + Save Path Verilog + + + + + + + + + + + + + + + + false + + + Exit + + + QAction::TextHeuristicRole + + + + + About PLODE + + + + + + + + diff --git a/plodeBigLogo.qrc b/plodeBigLogo.qrc new file mode 100644 index 0000000..8d6d162 --- /dev/null +++ b/plodeBigLogo.qrc @@ -0,0 +1,6 @@ + + + Resources/MicrosoftTeams-image.png + + + diff --git a/singlepath.cpp b/singlepath.cpp new file mode 100644 index 0000000..ac1a9c4 --- /dev/null +++ b/singlepath.cpp @@ -0,0 +1,221 @@ +#include "singlepath.h" + +SinglePath::SinglePath(std::vector pathStr) +{ + path = pathStr; +} + +void SinglePath::InsertWireLine(std::ifstream& inVerilogFile, std::ofstream& outVerilogFile) +{ + + std::string input = path[0]; + std::string output = path[path.size() - 1]; + + std::string line; + //For only writing wire line + std::unordered_set wireSet; + while(getline(inVerilogFile, line)) + { + std::replace(line.begin(), line.end(), ';', ' '); + std::replace(line.begin(), line.end(), ',', ' '); + std::replace(line.begin(), line.end(), '(', ' '); + std::replace(line.begin(), line.end(), ')', ' '); + + std::istringstream stm(line); + std::string word; + std::vector tokens; + std::vector pathGates; + + + while (stm >> word) + { + if(path.end() != std::find(path.begin(), path.end(), word)) + { + pathGates.push_back(word); + } + tokens.push_back(word); + } + + + if(tokens.size() > 0 && isalpha(tokens.front().at(0))) + { + std::string gate = tokens.front(); + for(size_t i = 0; i < gate.size(); ++i) + { + gate[i] = toupper(gate[i]); + } + + if(cirElements.end() != std::find(cirElements.begin(), cirElements.end(), gate)) + { + bool insidePath = false; + for(std::string& a : tokens) + { + if(path.end() != std::find(path.begin(), path.end(), a)) + { + insidePath = true; + } + } + + if(insidePath) + { + std::string gateOutput = tokens.at(2); + + if(path.end() == std::find(path.begin(), path.end(), gateOutput)) + { + if(gateOutput != input && gateOutput != output) + { + wireSet.insert(gateOutput); + } + } + + for(size_t i = 0; i < pathGates.size(); ++i) + { + if(pathGates[i] != input && pathGates[i] != output) + { + wireSet.insert(pathGates[i]); + } + } + } + } + } + } + + //Wire components colelcted + //Insert wire line + outVerilogFile << "wire "; + for(auto& a : wireSet) + { + outVerilogFile << a <<", "; + } + outVerilogFile << "Vcc, gnd;" << std::endl; + + inVerilogFile.clear(); + inVerilogFile.seekg(0); + +} + +int SinglePath::ConvertToSinglePathVerilog(std::string inputVerilogLoc, std::string outputVerilogLoc) +{ + + std::ifstream inVerilogFile; + std::ofstream outVerilogFile; + + inVerilogFile.open(inputVerilogLoc); + outVerilogFile.open(outputVerilogLoc, std::ofstream::trunc); + outVerilogFile.clear(); + + if (!inVerilogFile) { + std::cout << inputVerilogLoc << std::endl; + std::cerr << "Unable to open file"< tokens; + std::vector pathGates; + + + while (stm >> word) + { + if(path.end() != std::find(path.begin(), path.end(), word)) + { + pathGates.push_back(word); + } + tokens.push_back(word); + } + + + if(tokens.size() > 0 && isalpha(tokens.front().at(0))) + { + std::string gate = tokens.front(); + std::string gateLower = tokens.front(); + for(size_t i = 0; i < gate.size(); ++i) + { + gate[i] = toupper(gate[i]); + gateLower[i] = tolower(gate[i]); + } + + if(cirElements.end() != std::find(cirElements.begin(), cirElements.end(), gate)) + { + bool insidePath = false; + size_t sizeArguments; + size_t countArguments = 0; + + for(std::string& a : tokens) + { + if(path.end() != std::find(path.begin(), path.end(), a)) + { + insidePath = true; + } + } + + if(insidePath) + { + sizeArguments = tokens.size() - 2; + std::string gateOutput = tokens.at(2); + + outVerilogFile << gateLower << " " << tokens.at(1) << "(" ; + + if(path.end() == std::find(path.begin(), path.end(), gateOutput)) + { + outVerilogFile << gateOutput << ", "; + ++countArguments; + } + + for(size_t i = 0; i < pathGates.size(); ++i) + { + outVerilogFile << pathGates[i]; + ++countArguments; + if(i < pathGates.size() - 1) + { + outVerilogFile << ", "; + } + else if(i == pathGates.size() - 1) + { + std::string sideinput; + if(gate == "AND" || gate == "NAND") + { + sideinput = "Vcc"; + } + else + { + sideinput = "gnd"; + } + + while(countArguments < sizeArguments) + { + outVerilogFile << ", " << sideinput; + ++countArguments; + } + outVerilogFile << ");" << std::endl;; + } + } + } + } + } + } + outVerilogFile << std::endl << "endmodule" << std::endl; + + inVerilogFile.close(); + outVerilogFile.close(); + + return 0; +} diff --git a/singlepath.h b/singlepath.h new file mode 100644 index 0000000..eb8306e --- /dev/null +++ b/singlepath.h @@ -0,0 +1,34 @@ +#ifndef SINGLEPATH_H +#define SINGLEPATH_H +#include +#include +#include +#include +#include +#include +#include + +class SinglePath +{ + private: + //Contains the path connections as a string vector. + std::vector path; + + //The logic gate list + const std::vector cirElements = {"OR", "AND", "NAND", "NOR", "XOR", "XNOR", "NOT", "OAI3", "BUF"}; + + //Insert wire ...; line to Verilog file + void InsertWireLine(std::ifstream& inVerilogFile, std::ofstream& outVerilogFile); + + public: + //Constructor + SinglePath(std::vector pathStr); + + //Takes a Verilog file and a path converts it to a new Verilog with only path + int ConvertToSinglePathVerilog(std::string inputVerilogLoc, std::string outputVerilogLoc); + +}; + + + +#endif // SINGLEPATH_H diff --git a/variationmodel.cpp b/variationmodel.cpp new file mode 100644 index 0000000..2f6a1d2 --- /dev/null +++ b/variationmodel.cpp @@ -0,0 +1,75 @@ +#include "variationmodel.h" + +VariationModel::VariationModel(int levels, std::vector variationRatios, std::vector pars, std::vector meanValues) +{ + numLevels = levels; + parNames = pars; + if(pars.size() != variationRatios.size() || pars.size() != meanValues.size()) + { + throw std::invalid_argument("Error: Number of paramaters and variation rations do not match!!"); + } + varAmounts = variationRatios; + means = meanValues; + + for(size_t i = 0; i < parNames.size(); ++i) + { + double interStd, intraStd; + double sigma = means[i] * variationRatios[i] / 3; + interStd = sqrt(sigma * sigma / 2) ; + intraStd = interStd; + stdDeviationPerLevel[i] = std::sqrt(intraStd * intraStd / numLevels); + stdDeviationInter[i] = interStd; + } + +} + + +void VariationModel::GenerateModelFiles(std::string fileLoc) +{ + +} + +void VariationModel::setRandomVariables(int numSamples) +{ + std::default_random_engine generator_intra; + std::default_random_engine generator_inter; + double interValue; + int numVars = parNames.size(); + + int dimension = 2^numLevels; + double parSum[numVars][numSamples][dimension][dimension]; + + for(std::size_t var = 0; var < parNames.size(); ++var) + { + std::normal_distribution distribution_intra(0, stdDeviationPerLevel[var]); + std::normal_distribution distribution_inter(0, stdDeviationInter[var]); + + for(int i = 0; i < numSamples; ++i) + { + interValue = distribution_inter(generator_inter); + double parArray[numLevels][dimension][dimension]; + + for(int j = 1; j <= numLevels; ++j) + { + for(int x = 0; x < (2^j); ++x) + { + for(int y = 0; y < (2^j); ++y) + { + parArray[j][x][y] = distribution_intra(generator_intra); + if(j == numLevels) + { + parSum[var][i][x][y] = 0; + for(int lev = 1; lev <= numLevels; ++lev) + { + parSum[var][i][x][y] += parArray[lev][x/(dimension/(2^lev))][y/(dimension/(2^lev))]; + } + parSum[var][i][x][y] += interValue + means[var]; + } + } + } + } + + } + } + +} diff --git a/variationmodel.h b/variationmodel.h new file mode 100644 index 0000000..578110d --- /dev/null +++ b/variationmodel.h @@ -0,0 +1,43 @@ +#ifndef VARIATIONMODEL_H +#define VARIATIONMODEL_H + +#include +#include +#include +#include + +class VariationModel +{ + +private: + //Par means + std::vector means; + + //Number of levels + int numLevels; + + //A 2d array of random variables. + std::vector> randomVariables; + + //Variable Names + std::vector parNames; + + //Standard Variation Amount for inter die variation. + std::vector stdDeviationInter; + + //Standard Variation Amounts. An array holding variation amounts of each level. + std::vector stdDeviationPerLevel; + + //3sigma/mu ratios for each parameters + std::vector varAmounts; + + + +public: + VariationModel(int levels, std::vector variationRatios, std::vector pars, std::vector meanValues); + void GenerateModelFiles(std::string fileLoc); + void setRandomVariables(int numSamples); + //void setDeviationPerLevel(std::vector ratios); +}; + +#endif // VARIATIONMODEL_H