Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
潘鸿洋 | 16d6a1eb63 |
|
@ -1,6 +1,6 @@
|
|||
cmake_minimum_required(VERSION 3.8)
|
||||
|
||||
project(phyLS LANGUAGES CXX)
|
||||
project("phyLS" LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2022 潘鸿洋
|
||||
Copyright (c) 2022
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -11,7 +11,7 @@ Compiled successfully with Clang 6.0.1, Clang 12.0.0, GCC 7.3.0, and GCC 8.2.0.
|
|||
|
||||
## How to Compile
|
||||
```bash
|
||||
git clone --recursive https://github.com/panhomyoung/phyLS.git
|
||||
git clone --recursive https://github.com/panhongyang0/phyLS.git
|
||||
cd phyLS
|
||||
mkdir build
|
||||
cd build
|
||||
|
|
2
lib/abc
2
lib/abc
|
@ -1 +1 @@
|
|||
Subproject commit 39ac544f6c3272046a026fc976976b1481f9c9ad
|
||||
Subproject commit 9434b7438599b2fe94ec518946d0e1b6b2de3172
|
|
@ -1 +1 @@
|
|||
Subproject commit 995ee748dd74d088bcd27a9eef5af89b55ac90b5
|
||||
Subproject commit 8a9409e27c17d32517e3c4e4a612d3c6d465aa1f
|
157
src/asap7.genlib
157
src/asap7.genlib
|
@ -1,157 +0,0 @@
|
|||
GATE _const0_ 0.00 z=CONST0;
|
||||
GATE _const1_ 0.00 z=CONST1;
|
||||
GATE AO211x2_ASAP7_75t_R 3.73 Y=(A1 * A2) + (B) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO21x1_ASAP7_75t_R 1.40 Y=(A1 * A2) + (B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO21x2_ASAP7_75t_R 1.63 Y=(A1 * A2) + (B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO221x1_ASAP7_75t_R 2.33 Y=(A1 * A2) + (B1 * B2) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO221x2_ASAP7_75t_R 2.57 Y=(A1 * A2) + (B1 * B2) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO222x2_ASAP7_75t_R 5.13 Y=(A1 * A2) + (B1 * B2) + (C1 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO22x1_ASAP7_75t_R 2.10 Y=(A1 * A2) + (B1 * B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO22x2_ASAP7_75t_R 2.33 Y=(A1 * A2) + (B1 * B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO31x2_ASAP7_75t_R 3.73 Y=(A1 * A2 * A3) + (B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO322x2_ASAP7_75t_R 3.50 Y=(A1 * A2 * A3) + (B1 * B2) + (C1 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO32x1_ASAP7_75t_R 1.87 Y=(A1 * A2 * A3) + (B1 * B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO32x2_ASAP7_75t_R 2.10 Y=(A1 * A2 * A3) + (B1 * B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO331x1_ASAP7_75t_R 2.33 Y=(A1 * A2 * A3) + (B1 * B2 * B3) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO331x2_ASAP7_75t_R 2.57 Y=(A1 * A2 * A3) + (B1 * B2 * B3) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO332x1_ASAP7_75t_R 2.57 Y=(A1 * A2 * A3) + (B1 * B2 * B3) + (C1 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO332x2_ASAP7_75t_R 2.80 Y=(A1 * A2 * A3) + (B1 * B2 * B3) + (C1 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO333x1_ASAP7_75t_R 2.80 Y=(A1 * A2 * A3) + (B1 * B2 * B3) + (C1 * C2 * C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO333x2_ASAP7_75t_R 3.03 Y=(A1 * A2 * A3) + (B1 * B2 * B3) + (C1 * C2 * C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AO33x2_ASAP7_75t_R 2.33 Y=(A1 * A2 * A3) + (B1 * B2 * B3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI211x1_ASAP7_75t_R 2.80 Y=(!A1 * !B * !C) + (!A2 * !B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI211xp5_ASAP7_75t_R 1.40 Y=(!A1 * !B * !C) + (!A2 * !B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI21x1_ASAP7_75t_R 1.87 Y=(!A1 * !B) + (!A2 * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI21xp33_ASAP7_75t_R 1.17 Y=(!A1 * !B) + (!A2 * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI21xp5_ASAP7_75t_R 1.17 Y=(!A1 * !B) + (!A2 * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI221x1_ASAP7_75t_R 3.27 Y=(!A1 * !B1 * !C) + (!A1 * !B2 * !C) + (!A2 * !B1 * !C) + (!A2 * !B2 * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI221xp5_ASAP7_75t_R 1.63 Y=(!A1 * !B1 * !C) + (!A1 * !B2 * !C) + (!A2 * !B1 * !C) + (!A2 * !B2 * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI222xp33_ASAP7_75t_R 2.33 Y=(!A1 * !B1 * !C1) + (!A1 * !B1 * !C2) + (!A1 * !B2 * !C1) + (!A1 * !B2 * !C2) + (!A2 * !B1 * !C1) + (!A2 * !B1 * !C2) + (!A2 * !B2 * !C1) + (!A2 * !B2 * !C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI22x1_ASAP7_75t_R 2.33 Y=(!A1 * !B1) + (!A1 * !B2) + (!A2 * !B1) + (!A2 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI22xp33_ASAP7_75t_R 1.40 Y=(!A1 * !B1) + (!A1 * !B2) + (!A2 * !B1) + (!A2 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI22xp5_ASAP7_75t_R 1.40 Y=(!A1 * !B1) + (!A1 * !B2) + (!A2 * !B1) + (!A2 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI311xp33_ASAP7_75t_R 1.63 Y=(!A1 * !B * !C) + (!A2 * !B * !C) + (!A3 * !B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI31xp33_ASAP7_75t_R 1.40 Y=(!A1 * !B) + (!A2 * !B) + (!A3 * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI31xp67_ASAP7_75t_R 3.03 Y=(!A1 * !B) + (!A2 * !B) + (!A3 * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI321xp33_ASAP7_75t_R 1.87 Y=(!A1 * !B1 * !C) + (!A1 * !B2 * !C) + (!A2 * !B1 * !C) + (!A2 * !B2 * !C) + (!A3 * !B1 * !C) + (!A3 * !B2 * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI322xp5_ASAP7_75t_R 2.10 Y=(!A1 * !B1 * !C1) + (!A1 * !B1 * !C2) + (!A1 * !B2 * !C1) + (!A1 * !B2 * !C2) + (!A2 * !B1 * !C1) + (!A2 * !B1 * !C2) + (!A2 * !B2 * !C1) + (!A2 * !B2 * !C2) + (!A3 * !B1 * !C1) + (!A3 * !B1 * !C2) + (!A3 * !B2 * !C1) + (!A3 * !B2 * !C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI32xp33_ASAP7_75t_R 1.63 Y=(!A1 * !B1) + (!A1 * !B2) + (!A2 * !B1) + (!A2 * !B2) + (!A3 * !B1) + (!A3 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI331xp33_ASAP7_75t_R 2.10 Y=(!A1 * !B1 * !C1) + (!A1 * !B2 * !C1) + (!A1 * !B3 * !C1) + (!A2 * !B1 * !C1) + (!A2 * !B2 * !C1) + (!A2 * !B3 * !C1) + (!A3 * !B1 * !C1) + (!A3 * !B2 * !C1) + (!A3 * !B3 * !C1); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI332xp33_ASAP7_75t_R 2.33 Y=(!A1 * !B1 * !C1) + (!A1 * !B1 * !C2) + (!A1 * !B2 * !C1) + (!A1 * !B2 * !C2) + (!A1 * !B3 * !C1) + (!A1 * !B3 * !C2) + (!A2 * !B1 * !C1) + (!A2 * !B1 * !C2) + (!A2 * !B2 * !C1) + (!A2 * !B2 * !C2) + (!A2 * !B3 * !C1) + (!A2 * !B3 * !C2) + (!A3 * !B1 * !C1) + (!A3 * !B1 * !C2) + (!A3 * !B2 * !C1) + (!A3 * !B2 * !C2) + (!A3 * !B3 * !C1) + (!A3 * !B3 * !C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI333xp33_ASAP7_75t_R 2.57 Y=(!A1 * !B1 * !C1) + (!A1 * !B1 * !C2) + (!A1 * !B1 * !C3) + (!A1 * !B2 * !C1) + (!A1 * !B2 * !C2) + (!A1 * !B2 * !C3) + (!A1 * !B3 * !C1) + (!A1 * !B3 * !C2) + (!A1 * !B3 * !C3) + (!A2 * !B1 * !C1) + (!A2 * !B1 * !C2) + (!A2 * !B1 * !C3) + (!A2 * !B2 * !C1) + (!A2 * !B2 * !C2) + (!A2 * !B2 * !C3) + (!A2 * !B3 * !C1) + (!A2 * !B3 * !C2) + (!A2 * !B3 * !C3) + (!A3 * !B1 * !C1) + (!A3 * !B1 * !C2) + (!A3 * !B1 * !C3) + (!A3 * !B2 * !C1) + (!A3 * !B2 * !C2) + (!A3 * !B2 * !C3) + (!A3 * !B3 * !C1) + (!A3 * !B3 * !C2) + (!A3 * !B3 * !C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AOI33xp33_ASAP7_75t_R 1.87 Y=(!A1 * !B1) + (!A1 * !B2) + (!A1 * !B3) + (!A2 * !B1) + (!A2 * !B2) + (!A2 * !B3) + (!A3 * !B1) + (!A3 * !B2) + (!A3 * !B3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA211x2_ASAP7_75t_R 1.87 Y=(A1 * B * C) + (A2 * B * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA21x2_ASAP7_75t_R 1.63 Y=(A1 * B) + (A2 * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA221x2_ASAP7_75t_R 3.73 Y=(A1 * B1 * C) + (A1 * B2 * C) + (A2 * B1 * C) + (A2 * B2 * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA222x2_ASAP7_75t_R 2.80 Y=(A1 * B1 * C1) + (A1 * B1 * C2) + (A1 * B2 * C1) + (A1 * B2 * C2) + (A2 * B1 * C1) + (A2 * B1 * C2) + (A2 * B2 * C1) + (A2 * B2 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA22x2_ASAP7_75t_R 2.33 Y=(A1 * B1) + (A1 * B2) + (A2 * B1) + (A2 * B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA31x2_ASAP7_75t_R 3.50 Y=(A1 * B1) + (A2 * B1) + (A3 * B1); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA331x1_ASAP7_75t_R 2.33 Y=(A1 * B1 * C1) + (A1 * B2 * C1) + (A1 * B3 * C1) + (A2 * B1 * C1) + (A2 * B2 * C1) + (A2 * B3 * C1) + (A3 * B1 * C1) + (A3 * B2 * C1) + (A3 * B3 * C1); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA331x2_ASAP7_75t_R 2.57 Y=(A1 * B1 * C1) + (A1 * B2 * C1) + (A1 * B3 * C1) + (A2 * B1 * C1) + (A2 * B2 * C1) + (A2 * B3 * C1) + (A3 * B1 * C1) + (A3 * B2 * C1) + (A3 * B3 * C1); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA332x1_ASAP7_75t_R 2.57 Y=(A1 * B1 * C1) + (A1 * B1 * C2) + (A1 * B2 * C1) + (A1 * B2 * C2) + (A1 * B3 * C1) + (A1 * B3 * C2) + (A2 * B1 * C1) + (A2 * B1 * C2) + (A2 * B2 * C1) + (A2 * B2 * C2) + (A2 * B3 * C1) + (A2 * B3 * C2) + (A3 * B1 * C1) + (A3 * B1 * C2) + (A3 * B2 * C1) + (A3 * B2 * C2) + (A3 * B3 * C1) + (A3 * B3 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA332x2_ASAP7_75t_R 2.80 Y=(A1 * B1 * C1) + (A1 * B1 * C2) + (A1 * B2 * C1) + (A1 * B2 * C2) + (A1 * B3 * C1) + (A1 * B3 * C2) + (A2 * B1 * C1) + (A2 * B1 * C2) + (A2 * B2 * C1) + (A2 * B2 * C2) + (A2 * B3 * C1) + (A2 * B3 * C2) + (A3 * B1 * C1) + (A3 * B1 * C2) + (A3 * B2 * C1) + (A3 * B2 * C2) + (A3 * B3 * C1) + (A3 * B3 * C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA333x1_ASAP7_75t_R 2.80 Y=(A1 * B1 * C1) + (A1 * B1 * C2) + (A1 * B1 * C3) + (A1 * B2 * C1) + (A1 * B2 * C2) + (A1 * B2 * C3) + (A1 * B3 * C1) + (A1 * B3 * C2) + (A1 * B3 * C3) + (A2 * B1 * C1) + (A2 * B1 * C2) + (A2 * B1 * C3) + (A2 * B2 * C1) + (A2 * B2 * C2) + (A2 * B2 * C3) + (A2 * B3 * C1) + (A2 * B3 * C2) + (A2 * B3 * C3) + (A3 * B1 * C1) + (A3 * B1 * C2) + (A3 * B1 * C3) + (A3 * B2 * C1) + (A3 * B2 * C2) + (A3 * B2 * C3) + (A3 * B3 * C1) + (A3 * B3 * C2) + (A3 * B3 * C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA333x2_ASAP7_75t_R 3.03 Y=(A1 * B1 * C1) + (A1 * B1 * C2) + (A1 * B1 * C3) + (A1 * B2 * C1) + (A1 * B2 * C2) + (A1 * B2 * C3) + (A1 * B3 * C1) + (A1 * B3 * C2) + (A1 * B3 * C3) + (A2 * B1 * C1) + (A2 * B1 * C2) + (A2 * B1 * C3) + (A2 * B2 * C1) + (A2 * B2 * C2) + (A2 * B2 * C3) + (A2 * B3 * C1) + (A2 * B3 * C2) + (A2 * B3 * C3) + (A3 * B1 * C1) + (A3 * B1 * C2) + (A3 * B1 * C3) + (A3 * B2 * C1) + (A3 * B2 * C2) + (A3 * B2 * C3) + (A3 * B3 * C1) + (A3 * B3 * C2) + (A3 * B3 * C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OA33x2_ASAP7_75t_R 2.33 Y=(A1 * B1) + (A1 * B2) + (A1 * B3) + (A2 * B1) + (A2 * B2) + (A2 * B3) + (A3 * B1) + (A3 * B2) + (A3 * B3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI211xp5_ASAP7_75t_R 1.40 Y=(!A1 * !A2) + (!B) + (!C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI21x1_ASAP7_75t_R 1.87 Y=(!A1 * !A2) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI21xp33_ASAP7_75t_R 1.17 Y=(!A1 * !A2) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI21xp5_ASAP7_75t_R 1.17 Y=(!A1 * !A2) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI221xp5_ASAP7_75t_R 1.63 Y=(!A1 * !A2) + (!B1 * !B2) + (!C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI222xp33_ASAP7_75t_R 2.33 Y=(!A1 * !A2) + (!B1 * !B2) + (!C1 * !C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI22x1_ASAP7_75t_R 2.33 Y=(!A1 * !A2) + (!B1 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI22xp33_ASAP7_75t_R 1.40 Y=(!A1 * !A2) + (!B1 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI22xp5_ASAP7_75t_R 1.40 Y=(!A1 * !A2) + (!B1 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI311xp33_ASAP7_75t_R 1.63 Y=(!A1 * !A2 * !A3) + (!B1) + (!C1); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI31xp33_ASAP7_75t_R 1.40 Y=(!A1 * !A2 * !A3) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI31xp67_ASAP7_75t_R 3.03 Y=(!A1 * !A2 * !A3) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI321xp33_ASAP7_75t_R 1.87 Y=(!A1 * !A2 * !A3) + (!B1 * !B2) + (!C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI322xp33_ASAP7_75t_R 2.10 Y=(!A1 * !A2 * !A3) + (!B1 * !B2) + (!C1 * !C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI32xp33_ASAP7_75t_R 1.63 Y=(!A1 * !A2 * !A3) + (!B1 * !B2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI331xp33_ASAP7_75t_R 2.10 Y=(!A1 * !A2 * !A3) + (!B1 * !B2 * !B3) + (!C1); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI332xp33_ASAP7_75t_R 2.33 Y=(!A1 * !A2 * !A3) + (!B1 * !B2 * !B3) + (!C1 * !C2); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI333xp33_ASAP7_75t_R 2.57 Y=(!A1 * !A2 * !A3) + (!B1 * !B2 * !B3) + (!C1 * !C2 * !C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OAI33xp33_ASAP7_75t_R 2.57 Y=(!A1 * !A2 * !A3) + (!B1 * !B2 * !B3) + (!C1 * !C2 * !C3); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx10_ASAP7_75t_R 3.27 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx12_ASAP7_75t_R 3.73 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx12f_ASAP7_75t_R 4.20 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx16f_ASAP7_75t_R 5.13 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx24_ASAP7_75t_R 7.00 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx2_ASAP7_75t_R 1.17 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx3_ASAP7_75t_R 1.40 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx4_ASAP7_75t_R 1.63 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx4f_ASAP7_75t_R 1.87 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx5_ASAP7_75t_R 1.87 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx6f_ASAP7_75t_R 2.33 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE BUFx8_ASAP7_75t_R 2.80 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE HB1xp67_ASAP7_75t_R 0.93 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE HB2xp67_ASAP7_75t_R 1.17 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE HB3xp67_ASAP7_75t_R 1.40 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE HB4xp67_ASAP7_75t_R 1.63 Y=A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx11_ASAP7_75t_R 3.03 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx13_ASAP7_75t_R 3.50 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx1_ASAP7_75t_R 0.70 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx2_ASAP7_75t_R 0.93 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx3_ASAP7_75t_R 1.17 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx4_ASAP7_75t_R 1.40 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx5_ASAP7_75t_R 1.63 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx6_ASAP7_75t_R 1.87 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVx8_ASAP7_75t_R 2.33 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVxp33_ASAP7_75t_R 0.70 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE INVxp67_ASAP7_75t_R 0.70 Y=!A; PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND2x2_ASAP7_75t_R 1.40 Y=(A * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND2x4_ASAP7_75t_R 2.33 Y=(A * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND2x6_ASAP7_75t_R 2.80 Y=(A * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND3x1_ASAP7_75t_R 1.40 Y=(A * B * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND3x2_ASAP7_75t_R 1.63 Y=(A * B * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND3x4_ASAP7_75t_R 3.73 Y=(A * B * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND4x1_ASAP7_75t_R 1.63 Y=(A * B * C * D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND4x2_ASAP7_75t_R 3.73 Y=(A * B * C * D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND5x1_ASAP7_75t_R 1.87 Y=(A * B * C * D * E); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE AND5x2_ASAP7_75t_R 4.67 Y=(A * B * C * D * E); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE FAx1_ASAP7_75t_R 3.27 CON=(!A * !B) + (!A * !CI) + (!B * !CI); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE FAx1_ASAP7_75t_R 3.27 SN=(A * B * !CI) + (A * !B * CI) + (!A * B * CI) + (!A * !B * !CI); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE HAxp5_ASAP7_75t_R 2.10 CON=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE HAxp5_ASAP7_75t_R 2.10 SN=(A * B) + (!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE MAJIxp5_ASAP7_75t_R 1.63 Y=(!A * !B) + (!A * !C) + (!B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE MAJx2_ASAP7_75t_R 2.10 Y=(A * B) + (A * C) + (B * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE MAJx3_ASAP7_75t_R 2.33 Y=(A * B) + (A * C) + (B * C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND2x1_ASAP7_75t_R 1.40 Y=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND2x1p5_ASAP7_75t_R 1.87 Y=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND2x2_ASAP7_75t_R 2.33 Y=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND2xp33_ASAP7_75t_R 0.93 Y=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND2xp5_ASAP7_75t_R 0.93 Y=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND2xp67_ASAP7_75t_R 1.40 Y=(!A) + (!B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND3x1_ASAP7_75t_R 2.57 Y=(!A) + (!B) + (!C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND3x2_ASAP7_75t_R 4.67 Y=(!A) + (!B) + (!C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND3xp33_ASAP7_75t_R 1.17 Y=(!A) + (!B) + (!C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND4xp25_ASAP7_75t_R 1.40 Y=(!A) + (!B) + (!C) + (!D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND4xp75_ASAP7_75t_R 3.27 Y=(!A) + (!B) + (!C) + (!D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NAND5xp2_ASAP7_75t_R 1.63 Y=(!A) + (!B) + (!C) + (!D) + (!E); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR2x1_ASAP7_75t_R 1.40 Y=(!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR2x1p5_ASAP7_75t_R 1.87 Y=(!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR2x2_ASAP7_75t_R 2.33 Y=(!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR2xp33_ASAP7_75t_R 0.93 Y=(!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR2xp67_ASAP7_75t_R 1.40 Y=(!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR3x1_ASAP7_75t_R 2.57 Y=(!A * !B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR3x2_ASAP7_75t_R 4.67 Y=(!A * !B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR3xp33_ASAP7_75t_R 1.17 Y=(!A * !B * !C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR4xp25_ASAP7_75t_R 1.40 Y=(!A * !B * !C * !D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR4xp75_ASAP7_75t_R 3.27 Y=(!A * !B * !C * !D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE NOR5xp2_ASAP7_75t_R 1.63 Y=(!A * !B * !C * !D * !E); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR2x2_ASAP7_75t_R 1.40 Y=(A) + (B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR2x4_ASAP7_75t_R 1.87 Y=(A) + (B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR2x6_ASAP7_75t_R 2.80 Y=(A) + (B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR3x1_ASAP7_75t_R 1.40 Y=(A) + (B) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR3x2_ASAP7_75t_R 1.63 Y=(A) + (B) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR3x4_ASAP7_75t_R 2.10 Y=(A) + (B) + (C); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR4x1_ASAP7_75t_R 1.63 Y=(A) + (B) + (C) + (D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR4x2_ASAP7_75t_R 1.87 Y=(A) + (B) + (C) + (D); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR5x1_ASAP7_75t_R 1.87 Y=(A) + (B) + (C) + (D) + (E); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE OR5x2_ASAP7_75t_R 2.10 Y=(A) + (B) + (C) + (D) + (E); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE XNOR2x1_ASAP7_75t_R 2.80 Y=(A * B) + (!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE XNOR2x2_ASAP7_75t_R 2.57 Y=(A * B) + (!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE XNOR2xp5_ASAP7_75t_R 2.10 Y=(A * B) + (!A * !B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE XOR2x1_ASAP7_75t_R 2.80 Y=(A * !B) + (!A * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE XOR2x2_ASAP7_75t_R 2.57 Y=(A * !B) + (!A * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
||||
GATE XOR2xp5_ASAP7_75t_R 2.10 Y=(A * !B) + (!A * B); PIN * UNKNOWN 1 999 1.00 0.00 1.00 0.00
|
|
@ -28,13 +28,6 @@ class if_command : public command {
|
|||
public:
|
||||
explicit if_command(const environment::ptr &env)
|
||||
: command(env, "performs FPGA mapping of the AIG") {
|
||||
add_option("-k,--klut", LutSize, "the number of LUT inputs (2 < k < 8), Default=4");
|
||||
add_option("-c,--cut", CutSize,
|
||||
"the max number of priority cuts (0 < c < 2^12), Default=8");
|
||||
add_flag("--minimization, -m",
|
||||
"enables cut minimization by removing vacuous variables");
|
||||
add_flag("--delay, -y", "delay optimization with recorded library");
|
||||
add_option("-f,--file", filename, "recorded library");
|
||||
add_flag("--verbose, -v", "print the information");
|
||||
}
|
||||
|
||||
|
@ -52,42 +45,23 @@ class if_command : public command {
|
|||
If_Par_t Pars, *pPars = &Pars;
|
||||
If_ManSetDefaultPars(pPars);
|
||||
pPars->pLutLib = (If_LibLut_t *)Abc_FrameReadLibLut();
|
||||
|
||||
if (is_set("klut")) pPars->nLutSize = LutSize;
|
||||
if (is_set("cut")) pPars->nCutsMax = CutSize;
|
||||
if (is_set("minimization")) pPars->fCutMin ^= 1;
|
||||
if (is_set("delay")) {
|
||||
pPars->fUserRecLib ^= 1;
|
||||
pPars->fTruth = 1;
|
||||
pPars->fCutMin = 1;
|
||||
pPars->fExpRed = 0;
|
||||
pPars->fUsePerm = 1;
|
||||
pPars->pLutLib = NULL;
|
||||
int nVars = 6;
|
||||
int nCuts = 32;
|
||||
int fFuncOnly = 0;
|
||||
int fVerbose = 0;
|
||||
char *FileName, *pTemp;
|
||||
FILE *pFile;
|
||||
Gia_Man_t *pGia = NULL;
|
||||
FileName = filename.data();
|
||||
for (pTemp = FileName; *pTemp; pTemp++)
|
||||
if (*pTemp == '>') *pTemp = '\\';
|
||||
if ((pFile = fopen(FileName, "r")) == NULL) {
|
||||
printf("Cannot open input file \"%s\". ", FileName);
|
||||
if ((FileName = Extra_FileGetSimilarName(FileName, ".aig", NULL, NULL,
|
||||
NULL, NULL)))
|
||||
printf("Did you mean \"%s\"?", FileName);
|
||||
printf("\n");
|
||||
if (pPars->nLutSize == -1) {
|
||||
if (pPars->pLutLib == NULL) {
|
||||
printf("The LUT library is not given.\n");
|
||||
return;
|
||||
}
|
||||
fclose(pFile);
|
||||
pGia = Gia_AigerRead(FileName, 0, 1, 0);
|
||||
if (pGia == NULL) {
|
||||
printf("Reading AIGER has failed.\n");
|
||||
}
|
||||
Abc_NtkRecStart3(pGia, nVars, nCuts, fFuncOnly, fVerbose);
|
||||
pPars->nLutSize = pPars->pLutLib->LutMax;
|
||||
}
|
||||
|
||||
if (pPars->nLutSize < 2 || pPars->nLutSize > IF_MAX_LUTSIZE) {
|
||||
printf("Incorrect LUT size (%d).\n", pPars->nLutSize);
|
||||
return;
|
||||
}
|
||||
|
||||
if (pPars->nCutsMax < 1 || pPars->nCutsMax >= (1 << 12)) {
|
||||
printf("Incorrect number of cuts.\n");
|
||||
return;
|
||||
}
|
||||
if (!Abc_NtkIsStrash(pNtk)) {
|
||||
// strash and balance the network
|
||||
pNtk = Abc_NtkStrash(pNtk, 0, 0, 0);
|
||||
|
@ -132,9 +106,6 @@ class if_command : public command {
|
|||
}
|
||||
|
||||
private:
|
||||
uint32_t LutSize = 4u;
|
||||
uint32_t CutSize = 8u;
|
||||
string filename;
|
||||
};
|
||||
|
||||
ALICE_ADD_COMMAND(if, "ABC")
|
||||
|
|
|
@ -24,8 +24,7 @@ class write_command : public command {
|
|||
public:
|
||||
explicit write_command(const environment::ptr &env)
|
||||
: command(env, "writes the current network into file by ABC parser") {
|
||||
add_option("--filename,-f", file_name, "name of output file");
|
||||
add_flag("--verilog, -v", "writes the current network in Verilog format");
|
||||
add_option("filename,-f", file_name, "name of output file");
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -36,13 +35,8 @@ class write_command : public command {
|
|||
std::cerr << "Error: Empty network.\n";
|
||||
else {
|
||||
auto pNtk = store<pabc::Abc_Ntk_t *>().current();
|
||||
if (is_set("verilog")) {
|
||||
pabc::Io_Write(pNtk, (char *)(file_name.c_str()), pabc::IO_FILE_VERILOG);
|
||||
} else {
|
||||
pabc::Io_Write(pNtk, (char *)(file_name.c_str()),
|
||||
pabc::Io_ReadFileType((char *)(file_name.c_str())));
|
||||
}
|
||||
|
||||
pabc::Io_Write(pNtk, (char *)(file_name.c_str()),
|
||||
pabc::Io_ReadFileType((char *)(file_name.c_str())));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ class balance_command : public command {
|
|||
: command(env,
|
||||
"transforms the current network into a well-balanced AIG") {
|
||||
add_flag("--xmg, -x", "Balance for XMG");
|
||||
add_flag("--xag, -g", "ESOP balance for XAG");
|
||||
add_flag("--strash, -s", "Balance AND finding structural hashing");
|
||||
add_flag("--verbose, -v", "print the information");
|
||||
}
|
||||
|
@ -43,8 +42,6 @@ class balance_command : public command {
|
|||
void execute() {
|
||||
clock_t begin, end;
|
||||
double totalTime = 0.0;
|
||||
begin = clock();
|
||||
|
||||
if (is_set("xmg")) {
|
||||
xmg_network xmg = store<xmg_network>().current();
|
||||
xmg = balancing(
|
||||
|
@ -56,33 +53,31 @@ class balance_command : public command {
|
|||
|
||||
store<xmg_network>().extend();
|
||||
store<xmg_network>().current() = xmg_copy;
|
||||
} else if (is_set("xag")) {
|
||||
xag_network xag = store<xag_network>().current();
|
||||
xag_network res = esop_balancing(xag);
|
||||
phyLS::print_stats(res);
|
||||
store<xag_network>().extend();
|
||||
store<xag_network>().current() = res;
|
||||
} else {
|
||||
if (store<aig_network>().size() == 0u)
|
||||
std::cerr << "Error: Empty AIG network\n";
|
||||
else {
|
||||
auto aig = store<aig_network>().current();
|
||||
if (is_set("strash")) {
|
||||
begin = clock();
|
||||
aig_balancing_params ps;
|
||||
ps.minimize_levels = false;
|
||||
aig_balance(aig, ps);
|
||||
end = clock();
|
||||
totalTime = (double)(end - begin) / CLOCKS_PER_SEC;
|
||||
} else {
|
||||
begin = clock();
|
||||
aig_balance(aig);
|
||||
end = clock();
|
||||
totalTime = (double)(end - begin) / CLOCKS_PER_SEC;
|
||||
}
|
||||
phyLS::print_stats(aig);
|
||||
|
||||
store<aig_network>().extend();
|
||||
store<aig_network>().current() = aig;
|
||||
}
|
||||
}
|
||||
|
||||
end = clock();
|
||||
totalTime = (double)(end - begin) / CLOCKS_PER_SEC;
|
||||
|
||||
cout.setf(ios::fixed);
|
||||
cout << "[CPU time] " << setprecision(2) << totalTime << " s" << endl;
|
||||
}
|
||||
|
|
|
@ -47,7 +47,9 @@ class lut_mapping_command : public command {
|
|||
clock_t begin, end;
|
||||
double totalTime;
|
||||
lut_mapping_params ps;
|
||||
if (is_set("area")) ps.rounds = 0u;
|
||||
if (is_set("area")){
|
||||
ps.rounds_ela = 4u;
|
||||
}
|
||||
|
||||
if (is_set("mig")) {
|
||||
/* derive some MIG */
|
||||
|
|
|
@ -32,9 +32,8 @@ class lutmap_command : public command {
|
|||
add_flag("--mig, -m", "FPGA technology mapping for MIG");
|
||||
add_flag("--xag, -g", "FPGA technology mapping for XAG");
|
||||
add_flag("--xmg, -x", "FPGA technology mapping for XMG");
|
||||
add_flag("--klut, -k", "FPGA technology mapping for k-LUT");
|
||||
add_option("--cut_size, -s", cut_size,
|
||||
"Maximum number of leaves for a cut [default = 6]");
|
||||
"Maximum number of leaves for a cut [default = 4]");
|
||||
add_option(
|
||||
"--cut_limit, -l", cut_limit,
|
||||
"the input Maximum number of cuts for a node name [default = 25]");
|
||||
|
@ -48,7 +47,6 @@ class lutmap_command : public command {
|
|||
"LUT map with cost function [default = false]");
|
||||
add_flag("--dominated_cuts, -d",
|
||||
"Remove the cuts that are contained in others [default = true]");
|
||||
add_option("--output, -o", filename, "the bench filename");
|
||||
add_flag("--verbose, -v", "print the information");
|
||||
}
|
||||
|
||||
|
@ -121,24 +119,6 @@ class lutmap_command : public command {
|
|||
phyLS::lut_map(mapped_xmg, ps);
|
||||
mapped_xmg.clear_mapping();
|
||||
}
|
||||
} else if (is_set("klut")) {
|
||||
if (store<klut_network>().size() == 0u)
|
||||
std::cerr << "Error: Empty k-LUT network\n";
|
||||
else {
|
||||
auto klut = store<klut_network>().current();
|
||||
mapping_view mapped_klut{klut};
|
||||
phyLS::lut_map_params ps;
|
||||
if (is_set("area")) ps.area_oriented_mapping = true;
|
||||
if (is_set("relax_required")) ps.relax_required = relax_required;
|
||||
if (is_set("cut_size")) ps.cut_enumeration_ps.cut_size = cut_size;
|
||||
if (is_set("cut_limit")) ps.cut_enumeration_ps.cut_limit = cut_limit;
|
||||
if (is_set("recompute_cuts")) ps.recompute_cuts = false;
|
||||
if (is_set("edge")) ps.edge_optimization = false;
|
||||
if (is_set("dominated_cuts")) ps.remove_dominated_cuts = false;
|
||||
cout << "Mapped kLUT into " << cut_size << "-LUT : ";
|
||||
phyLS::lut_map(mapped_klut, ps);
|
||||
mapped_klut.clear_mapping();
|
||||
}
|
||||
} else {
|
||||
if (store<aig_network>().size() == 0u)
|
||||
std::cerr << "Error: Empty AIG network\n";
|
||||
|
@ -159,11 +139,7 @@ class lutmap_command : public command {
|
|||
mapped_aig, ps);
|
||||
else
|
||||
phyLS::lut_map(mapped_aig, ps);
|
||||
if (is_set("output")) {
|
||||
write_bench(mapped_aig, filename);
|
||||
} else {
|
||||
mapped_aig.clear_mapping();
|
||||
}
|
||||
mapped_aig.clear_mapping();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -172,7 +148,6 @@ class lutmap_command : public command {
|
|||
uint32_t cut_size{6u};
|
||||
uint32_t cut_limit{8u};
|
||||
uint32_t relax_required{0u};
|
||||
std::string filename = "lut.bench";
|
||||
};
|
||||
|
||||
ALICE_ADD_COMMAND(lutmap, "Mapping")
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
#include <mockturtle/networks/xmg.hpp>
|
||||
|
||||
#include "../core/misc.hpp"
|
||||
#include "../networks/aoig/xag_lut_npn.hpp"
|
||||
|
||||
using namespace std;
|
||||
using namespace mockturtle;
|
||||
|
@ -76,7 +75,7 @@ class resyn_command : public command {
|
|||
totalTime = (double)(end - begin) / CLOCKS_PER_SEC;
|
||||
} else if (is_set("xag")) {
|
||||
begin = clock();
|
||||
xag_npn_lut_resynthesis resyn;
|
||||
xag_npn_resynthesis<xag_network> resyn;
|
||||
const auto xag = node_resynthesis<xag_network>(klut, resyn);
|
||||
store<xag_network>().extend();
|
||||
store<xag_network>().current() = cleanup_dangling(xag);
|
||||
|
|
|
@ -33,13 +33,10 @@ class refactor_command : public command {
|
|||
explicit refactor_command(const environment::ptr& env)
|
||||
: command(env,
|
||||
"performs technology-independent refactoring [default = AIG]") {
|
||||
add_option("--cut_size, -k", cut_size,
|
||||
"Maximum number of PIs of the MFFC or window");
|
||||
add_flag("--mig, -m", "refactoring for MIG");
|
||||
add_flag("--xag, -g", "refactoring for XAG");
|
||||
add_flag("--xmg, -x", "refactoring for XMG");
|
||||
add_flag("--akers, -a", "Refactoring with Akers synthesis for MIG");
|
||||
add_flag("--gain, -n", "optimize until there is no gain");
|
||||
add_flag("--verbose, -v", "print the information");
|
||||
}
|
||||
|
||||
|
@ -57,12 +54,12 @@ class refactor_command : public command {
|
|||
if (is_set("akers")) {
|
||||
akers_resynthesis<mig_network> resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = cut_size;
|
||||
ps.max_pis = 4u;
|
||||
refactoring(mig, resyn, ps);
|
||||
} else {
|
||||
mig_npn_resynthesis resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = cut_size;
|
||||
ps.max_pis = 4u;
|
||||
refactoring(mig, resyn, ps);
|
||||
}
|
||||
mig = cleanup_dangling(mig);
|
||||
|
@ -80,7 +77,7 @@ class refactor_command : public command {
|
|||
begin = clock();
|
||||
bidecomposition_resynthesis<xag_network> resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = cut_size;
|
||||
ps.max_pis = 4u;
|
||||
refactoring(xag, resyn, ps);
|
||||
xag = cleanup_dangling(xag);
|
||||
end = clock();
|
||||
|
@ -95,23 +92,11 @@ class refactor_command : public command {
|
|||
else {
|
||||
auto xmg = store<xmg_network>().current();
|
||||
begin = clock();
|
||||
if (is_set("gain")) {
|
||||
uint64_t size_current{};
|
||||
do {
|
||||
size_current = xmg.num_gates();
|
||||
xmg_npn_resynthesis resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = cut_size;
|
||||
refactoring(xmg, resyn, ps);
|
||||
xmg = cleanup_dangling(xmg);
|
||||
} while (xmg.num_gates() < size_current);
|
||||
} else {
|
||||
xmg_npn_resynthesis resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = cut_size;
|
||||
refactoring(xmg, resyn, ps);
|
||||
xmg = cleanup_dangling(xmg);
|
||||
}
|
||||
xmg_npn_resynthesis resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = 4u;
|
||||
refactoring(xmg, resyn, ps);
|
||||
xmg = cleanup_dangling(xmg);
|
||||
end = clock();
|
||||
totalTime = (double)(end - begin) / CLOCKS_PER_SEC;
|
||||
phyLS::print_stats(xmg);
|
||||
|
@ -126,7 +111,7 @@ class refactor_command : public command {
|
|||
begin = clock();
|
||||
direct_resynthesis<aig_network> aig_resyn;
|
||||
refactoring_params ps;
|
||||
ps.max_pis = cut_size;
|
||||
ps.max_pis = 4u;
|
||||
refactoring(aig, aig_resyn, ps);
|
||||
aig = cleanup_dangling(aig);
|
||||
end = clock();
|
||||
|
@ -142,7 +127,6 @@ class refactor_command : public command {
|
|||
}
|
||||
|
||||
private:
|
||||
uint32_t cut_size = 4u;
|
||||
};
|
||||
|
||||
ALICE_ADD_COMMAND(refactor, "Synthesis")
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#ifndef TECHMAP_HPP
|
||||
#define TECHMAP_HPP
|
||||
|
||||
#include <iostream>
|
||||
#include <mockturtle/algorithms/mapper.hpp>
|
||||
#include <mockturtle/io/genlib_reader.hpp>
|
||||
#include <mockturtle/io/write_verilog.hpp>
|
||||
|
@ -22,10 +21,8 @@
|
|||
#include <mockturtle/networks/xmg.hpp>
|
||||
#include <mockturtle/properties/xmgcost.hpp>
|
||||
#include <mockturtle/utils/tech_library.hpp>
|
||||
#include <string>
|
||||
|
||||
#include "../core/properties.hpp"
|
||||
#include "../core/read_placement_file.hpp"
|
||||
|
||||
namespace alice {
|
||||
|
||||
|
@ -37,14 +34,6 @@ class techmap_command : public command {
|
|||
add_flag("--mig, -m", "Standard cell mapping for MIG");
|
||||
add_flag("--lut, -l", "Standard cell mapping for k-LUT");
|
||||
add_option("--output, -o", filename, "the verilog filename");
|
||||
add_option("--cut_limit, -c", cut_limit,
|
||||
"Maximum number of cuts for a node");
|
||||
add_option("--node_position_pl, -p", pl_filename, "the pl filename");
|
||||
add_option("--node_position_def, -d", def_filename, "the def filename");
|
||||
add_flag("--area, -a", "Area-only standard cell mapping");
|
||||
add_flag("--delay, -e", "Delay-only standard cell mapping");
|
||||
add_flag("--wirelength, -w", "Wirelength-only standard cell mapping");
|
||||
add_flag("--balance, -b", "Balanced wirelength standard cell mapping");
|
||||
add_flag("--verbose, -v", "print the information");
|
||||
}
|
||||
|
||||
|
@ -54,9 +43,6 @@ class techmap_command : public command {
|
|||
|
||||
private:
|
||||
std::string filename = "techmap.v";
|
||||
std::string pl_filename = "";
|
||||
std::string def_filename = "";
|
||||
uint32_t cut_limit{49u};
|
||||
|
||||
protected:
|
||||
void execute() {
|
||||
|
@ -67,109 +53,84 @@ class techmap_command : public command {
|
|||
|
||||
mockturtle::map_params ps;
|
||||
mockturtle::map_stats st;
|
||||
ps.cut_enumeration_ps.cut_limit = cut_limit;
|
||||
|
||||
if (is_set("area"))
|
||||
ps.strategy = map_params::area;
|
||||
else if (is_set("delay"))
|
||||
ps.strategy = map_params::delay;
|
||||
else if (is_set("wirelength"))
|
||||
ps.strategy = map_params::wirelength;
|
||||
else if (is_set("balance"))
|
||||
ps.strategy = map_params::balance;
|
||||
else
|
||||
ps.strategy = map_params::def;
|
||||
if (is_set("verbose")) ps.verbose = true;
|
||||
if (is_set("xmg")) {
|
||||
if (store<xmg_network>().size() == 0u)
|
||||
std::cerr << "[e] no XMG in the store\n";
|
||||
else {
|
||||
auto xmg = store<xmg_network>().current();
|
||||
xmg_gate_stats stats;
|
||||
xmg_profile_gates(xmg, stats);
|
||||
std::cout << "[i] ";
|
||||
stats.report();
|
||||
|
||||
stopwatch<>::duration time{0};
|
||||
call_with_stopwatch(time, [&]() {
|
||||
if (is_set("xmg")) {
|
||||
if (store<xmg_network>().size() == 0u)
|
||||
std::cerr << "[e] no XMG in the store\n";
|
||||
else {
|
||||
auto xmg = store<xmg_network>().current();
|
||||
xmg_gate_stats stats;
|
||||
xmg_profile_gates(xmg, stats);
|
||||
std::cout << "[i] ";
|
||||
stats.report();
|
||||
phyLS::xmg_critical_path_stats critical_stats;
|
||||
phyLS::xmg_critical_path_profile_gates(xmg, critical_stats);
|
||||
std::cout << "[i] ";
|
||||
critical_stats.report();
|
||||
|
||||
phyLS::xmg_critical_path_stats critical_stats;
|
||||
phyLS::xmg_critical_path_profile_gates(xmg, critical_stats);
|
||||
std::cout << "[i] ";
|
||||
critical_stats.report();
|
||||
auto res = mockturtle::map(xmg, lib, ps, &st);
|
||||
|
||||
auto res = mockturtle::map(xmg, lib, ps, &st);
|
||||
|
||||
if (is_set("output")) {
|
||||
write_verilog_with_binding(res, filename);
|
||||
}
|
||||
|
||||
std::cout << fmt::format(
|
||||
"[i] Mapped XMG into #gates = {} area = {:.2f} delay = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay);
|
||||
if (is_set("output")) {
|
||||
write_verilog_with_binding(res, filename);
|
||||
}
|
||||
} else if (is_set("mig")) {
|
||||
if (store<mig_network>().size() == 0u) {
|
||||
std::cerr << "[e] no MIG in the store\n";
|
||||
} else {
|
||||
auto mig = store<mig_network>().current();
|
||||
|
||||
auto res = mockturtle::map(mig, lib, ps, &st);
|
||||
|
||||
if (is_set("output")) {
|
||||
write_verilog_with_binding(res, filename);
|
||||
}
|
||||
|
||||
std::cout << fmt::format(
|
||||
"Mapped MIG into #gates = {} area = {:.2f} delay = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay);
|
||||
}
|
||||
} else if (is_set("lut")) {
|
||||
if (store<klut_network>().size() == 0u) {
|
||||
std::cerr << "[e] no k-LUT in the store\n";
|
||||
} else {
|
||||
auto lut = store<klut_network>().current();
|
||||
|
||||
auto res = mockturtle::map(lut, lib, ps, &st);
|
||||
|
||||
if (is_set("output")) {
|
||||
write_verilog_with_binding(res, filename);
|
||||
}
|
||||
|
||||
std::cout << fmt::format(
|
||||
"Mapped k-LUT into #gates = {} area = {:.2f} delay = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay);
|
||||
}
|
||||
} else {
|
||||
if (store<aig_network>().size() == 0u) {
|
||||
std::cerr << "[e] no AIG in the store\n";
|
||||
} else {
|
||||
auto aig = store<aig_network>().current();
|
||||
if (is_set("node_position_def")) {
|
||||
std::vector<mockturtle::node_position> np(aig.size());
|
||||
phyLS::read_def_file(def_filename, np);
|
||||
ps.wirelength_rounds = true;
|
||||
auto res = mockturtle::map(aig, lib, np, ps, &st);
|
||||
if (is_set("output")) write_verilog_with_binding(res, filename);
|
||||
std::cout << fmt::format(
|
||||
"Mapped AIG into #gates = {}, area = {:.2f}, delay = {:.2f}, "
|
||||
"power = {:.2f}, wirelength = {:.2f}, total_wirelength = "
|
||||
"{:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay, st.power, st.wirelength,
|
||||
st.total_wirelength);
|
||||
} else {
|
||||
auto res = mockturtle::map(aig, lib, ps, &st);
|
||||
if (is_set("output")) write_verilog_with_binding(res, filename);
|
||||
std::cout << fmt::format(
|
||||
"Mapped AIG into #gates = {}, area = {:.2f}, delay = {:.2f}, "
|
||||
"power = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay, st.power);
|
||||
}
|
||||
}
|
||||
std::cout << fmt::format(
|
||||
"[i] Mapped XMG into #gates = {} area = {:.2f} delay = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay);
|
||||
}
|
||||
});
|
||||
if (is_set("verbose")) st.report();
|
||||
std::cout << fmt::format("[CPU time]: {:5.3f} seconds\n", to_seconds(time));
|
||||
} else if (is_set("mig")) {
|
||||
if (store<mig_network>().size() == 0u) {
|
||||
std::cerr << "[e] no MIG in the store\n";
|
||||
} else {
|
||||
auto mig = store<mig_network>().current();
|
||||
|
||||
auto res = mockturtle::map(mig, lib, ps, &st);
|
||||
|
||||
if (is_set("output")) {
|
||||
write_verilog_with_binding(res, filename);
|
||||
}
|
||||
|
||||
std::cout << fmt::format(
|
||||
"Mapped MIG into #gates = {} area = {:.2f} delay = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay);
|
||||
}
|
||||
} else if (is_set("lut")) {
|
||||
if (store<klut_network>().size() == 0u) {
|
||||
std::cerr << "[e] no k-LUT in the store\n";
|
||||
} else {
|
||||
auto lut = store<klut_network>().current();
|
||||
|
||||
auto res = mockturtle::map(lut, lib, ps, &st);
|
||||
|
||||
if (is_set("output")) {
|
||||
write_verilog_with_binding(res, filename);
|
||||
}
|
||||
|
||||
std::cout << fmt::format(
|
||||
"Mapped k-LUT into #gates = {} area = {:.2f} delay = {:.2f}\n",
|
||||
res.num_gates(), st.area, st.delay);
|
||||
}
|
||||
} else {
|
||||
if (store<aig_network>().size() == 0u) {
|
||||
std::cerr << "[e] no AIG in the store\n";
|
||||
} else {
|
||||
auto aig = store<aig_network>().current();
|
||||
auto res = mockturtle::map(aig, lib, ps, &st);
|
||||
|
||||
if (is_set("output")) write_verilog_with_binding(res, filename);
|
||||
|
||||
// std::cout << fmt::format(
|
||||
// "Mapped AIG into #gates = {}, area = {:.2f}, delay = {:.2f}, "
|
||||
// "power = {:.2f}\n",
|
||||
// res.num_gates(), st.area, st.delay, st.power);
|
||||
}
|
||||
}
|
||||
if (is_set("verbose")) {
|
||||
st.report();
|
||||
cout << "Cut enumeration stats: " << endl;
|
||||
st.cut_enumeration_st.report();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -34,9 +34,8 @@ class write_npz_command : public command {
|
|||
add_option("--csv, -c", filename_csv,
|
||||
"The path to store csv file, default: ./placement/test.csv");
|
||||
add_option("--def, -d", filename_def,
|
||||
"The path to store def file, default: ./placement/floorplan.def");
|
||||
add_option("--mdef, -f", filename_mdef,
|
||||
"The path to store def file, default: ./placement/mfloorplan.def");
|
||||
"The path to store def file, default: "
|
||||
"./placement/mfloorplan.def & ./placement/floorplan.def");
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -51,9 +50,10 @@ class write_npz_command : public command {
|
|||
aig_network aig = store<aig_network>().current();
|
||||
if (is_set("csv")) {
|
||||
phyLS::write_npz(aig, filename_csv);
|
||||
}
|
||||
if (is_set("def")) {
|
||||
} else if (is_set("def")) {
|
||||
phyLS::write_def(aig, filename_def, filename_mdef);
|
||||
} else {
|
||||
assert(false && "At least one filename should be specified. ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,9 +39,9 @@ class wr_command : public command {
|
|||
"set the cut size from 2 to 6, default = 4");
|
||||
add_option("num_levels, -l", num_levels,
|
||||
"set the window level, default = 5");
|
||||
add_flag("--xag, -a", "indow rewriting for XAG");
|
||||
add_flag("--gain, -g", "optimize until there is no gain");
|
||||
add_flag("--resub, -r", "window resub");
|
||||
add_flag("--mffw, -w", "MFFW rewriting");
|
||||
add_flag("--verbose, -v", "print the information");
|
||||
}
|
||||
|
||||
|
@ -49,69 +49,48 @@ class wr_command : public command {
|
|||
void execute() {
|
||||
clock_t begin, end;
|
||||
double totalTime;
|
||||
begin = clock();
|
||||
|
||||
if (is_set("xag")) {
|
||||
xag_network xag = store<xag_network>().current();
|
||||
window_rewriting_params ps;
|
||||
ps.cut_size = cut_size;
|
||||
ps.num_levels = num_levels;
|
||||
begin = clock();
|
||||
auto aig = store<aig_network>().current();
|
||||
|
||||
window_rewriting_params ps;
|
||||
ps.cut_size = cut_size;
|
||||
ps.num_levels = num_levels;
|
||||
|
||||
if (is_set("resub")) {
|
||||
window_resub_params ps_r;
|
||||
if (is_set("gain")) {
|
||||
window_aig_enumerative_resub(aig, ps_r);
|
||||
} else {
|
||||
window_aig_heuristic_resub(aig, ps_r);
|
||||
}
|
||||
aig = cleanup_dangling(aig);
|
||||
} else {
|
||||
if (is_set("gain")) {
|
||||
uint64_t const size_before{aig.num_gates()};
|
||||
uint64_t size_current{};
|
||||
do {
|
||||
size_current = xag.num_gates();
|
||||
size_current = aig.num_gates();
|
||||
window_rewriting_stats win_st;
|
||||
window_rewriting(xag, ps, &win_st);
|
||||
window_rewriting(aig, ps, &win_st);
|
||||
if (is_set("verbose")) win_st.report();
|
||||
xag = cleanup_dangling(xag);
|
||||
} while (xag.num_gates() < size_current);
|
||||
aig = cleanup_dangling(aig);
|
||||
} while (aig.num_gates() < size_current);
|
||||
} else if (is_set("mffw")) {
|
||||
window_rewriting_stats win_st;
|
||||
mffw_rewriting(aig, ps, &win_st);
|
||||
aig = cleanup_dangling(aig);
|
||||
} else {
|
||||
window_rewriting_stats win_st;
|
||||
window_rewriting(xag, ps, &win_st);
|
||||
xag = cleanup_dangling(xag);
|
||||
}
|
||||
phyLS::print_stats(xag);
|
||||
store<xag_network>().extend();
|
||||
store<xag_network>().current() = xag;
|
||||
} else {
|
||||
if (store<aig_network>().size() == 0u)
|
||||
std::cerr << "Error: Empty AIG network\n";
|
||||
else {
|
||||
auto aig = store<aig_network>().current();
|
||||
window_rewriting_params ps;
|
||||
ps.cut_size = cut_size;
|
||||
ps.num_levels = num_levels;
|
||||
|
||||
if (is_set("resub")) {
|
||||
window_resub_params ps_r;
|
||||
if (is_set("gain")) {
|
||||
window_aig_enumerative_resub(aig, ps_r);
|
||||
} else {
|
||||
window_aig_heuristic_resub(aig, ps_r);
|
||||
}
|
||||
aig = cleanup_dangling(aig);
|
||||
} else {
|
||||
if (is_set("gain")) {
|
||||
uint64_t size_current{};
|
||||
do {
|
||||
size_current = aig.num_gates();
|
||||
window_rewriting_stats win_st;
|
||||
window_rewriting(aig, ps, &win_st);
|
||||
if (is_set("verbose")) win_st.report();
|
||||
aig = cleanup_dangling(aig);
|
||||
} while (aig.num_gates() < size_current);
|
||||
} else {
|
||||
window_rewriting_stats win_st;
|
||||
window_rewriting(aig, ps, &win_st);
|
||||
aig = cleanup_dangling(aig);
|
||||
}
|
||||
}
|
||||
phyLS::print_stats(aig);
|
||||
store<aig_network>().extend();
|
||||
store<aig_network>().current() = aig;
|
||||
window_rewriting(aig, ps, &win_st);
|
||||
aig = cleanup_dangling(aig);
|
||||
}
|
||||
}
|
||||
|
||||
phyLS::print_stats(aig);
|
||||
store<aig_network>().extend();
|
||||
store<aig_network>().current() = aig;
|
||||
|
||||
end = clock();
|
||||
totalTime = (double)(end - begin) / CLOCKS_PER_SEC;
|
||||
|
||||
|
|
|
@ -1,154 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
#include <mockturtle/algorithms/mapper.hpp>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "assert.h"
|
||||
|
||||
namespace phyLS {
|
||||
|
||||
void read_def_file(std::string file_path,
|
||||
std::vector<mockturtle::node_position> &Vec_position) {
|
||||
std::ifstream ifs(file_path, std::ifstream::in);
|
||||
assert(ifs.is_open());
|
||||
std::string line;
|
||||
while (std::getline(ifs, line)) {
|
||||
if (line.substr(0, 4) == "COMP") {
|
||||
while (std::getline(ifs, line)) {
|
||||
if (line.substr(0, 3) == "END") {
|
||||
break;
|
||||
} else {
|
||||
// get index of AIG node
|
||||
int index;
|
||||
std::string res;
|
||||
std::string::size_type found_b = line.find_first_of("_");
|
||||
std::string::size_type found_e = line.find_last_of("_");
|
||||
while (found_b != found_e - 1) {
|
||||
res += line[found_b + 1];
|
||||
found_b++;
|
||||
}
|
||||
index = std::stoi(res);
|
||||
|
||||
// read next line
|
||||
std::getline(ifs, line);
|
||||
// get position of AIG node
|
||||
bool is_x = true;
|
||||
std::string position = "";
|
||||
for (char c : line) {
|
||||
if (std::isdigit(c)) {
|
||||
position += c;
|
||||
} else if (!position.empty()) {
|
||||
if (is_x) {
|
||||
Vec_position[index].x_coordinate = std::stoi(position);
|
||||
position.clear();
|
||||
is_x = false;
|
||||
} else {
|
||||
Vec_position[index].y_coordinate = std::stoi(position);
|
||||
position.clear();
|
||||
}
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (line.substr(0, 4) == "PINS") {
|
||||
while (std::getline(ifs, line)) {
|
||||
if (line.substr(0, 3) == "END") {
|
||||
break;
|
||||
} else if (line.find("input") != std::string::npos &&
|
||||
line.find("clk") == std::string::npos) {
|
||||
// get input position
|
||||
std::string::size_type found_1 = line.find("_");
|
||||
std::string::size_type found_2 = line.find("+");
|
||||
int index;
|
||||
std::string res;
|
||||
while (found_1 != found_2 - 2) {
|
||||
res += line[found_1 + 1];
|
||||
found_1++;
|
||||
}
|
||||
index = std::stoi(res);
|
||||
std::getline(ifs, line);
|
||||
std::getline(ifs, line);
|
||||
bool is_x = true;
|
||||
std::string position_input = "";
|
||||
for (char c : line) {
|
||||
if (std::isdigit(c)) {
|
||||
position_input += c;
|
||||
} else if (!position_input.empty()) {
|
||||
if (is_x) {
|
||||
Vec_position[index + 1].x_coordinate =
|
||||
std::stoi(position_input);
|
||||
position_input.clear();
|
||||
is_x = false;
|
||||
} else {
|
||||
Vec_position[index + 1].y_coordinate =
|
||||
std::stoi(position_input);
|
||||
position_input.clear();
|
||||
}
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void read_pl_file(std::string file_path,
|
||||
std::vector<mockturtle::node_position> &Vec_position,
|
||||
uint32_t ntk_size) {
|
||||
std::ifstream ifs(file_path, std::ifstream::in);
|
||||
assert(ifs.is_open());
|
||||
std::string line;
|
||||
uint32_t index;
|
||||
Vec_position.reserve(ntk_size);
|
||||
while (getline(ifs, line)) {
|
||||
if (line[0] == 'U') {
|
||||
continue;
|
||||
} else {
|
||||
for (char c : line) {
|
||||
std::string str_number = "";
|
||||
uint32_t a = 0;
|
||||
if (c == ':') {
|
||||
break;
|
||||
}
|
||||
if (std::isdigit(c)) {
|
||||
str_number += c;
|
||||
} else {
|
||||
if (!str_number.empty()) {
|
||||
if (a == 0) {
|
||||
index = std::stoi(str_number);
|
||||
str_number = "";
|
||||
a++;
|
||||
} else if (a == 1) {
|
||||
Vec_position[index].x_coordinate = std::stoi(str_number);
|
||||
str_number = "";
|
||||
a++;
|
||||
} else if (a == 2) {
|
||||
Vec_position[index].y_coordinate = std::stoi(str_number);
|
||||
str_number = "";
|
||||
a = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ifs.close();
|
||||
}
|
||||
|
||||
} // NAMESPACE phyLS
|
|
@ -31,38 +31,28 @@ namespace phyLS {
|
|||
template <class Ntk>
|
||||
void write_npz(Ntk const& ntk, std::ostream& os) {
|
||||
std::stringstream connect;
|
||||
// cout << "num_pis: " << ntk.num_pis() << endl;
|
||||
// cout << "num_pos: " << ntk.num_pos() << endl;
|
||||
// cout << "num_gates: " << ntk.num_gates() << endl;
|
||||
cout << "num_pis: " << ntk.num_pis() << endl;
|
||||
cout << "num_pos: " << ntk.num_pos() << endl;
|
||||
cout << "num_gates: " << ntk.num_gates() << endl;
|
||||
int num_pis = ntk.num_pis(), num_pos = ntk.num_pos(),
|
||||
num_gates = ntk.num_gates();
|
||||
int size = num_pis + num_pos + num_gates;
|
||||
cout << "size: " << size << endl;
|
||||
vector<double> value;
|
||||
vector<vector<int>> coordinate(2);
|
||||
vector<vector<double>> adj(size, vector<double>(size, 0));
|
||||
|
||||
ntk.foreach_node([&](auto const& n) {
|
||||
if (ntk.is_constant(n) || ntk.is_ci(n)) return true;
|
||||
|
||||
ntk.foreach_fanin(n, [&](auto const& f) {
|
||||
if (ntk.node_to_index(ntk.get_node(f)) <= num_pis) {
|
||||
value.push_back(0.6);
|
||||
coordinate[0].push_back(ntk.node_to_index(n) - num_pis - 1);
|
||||
coordinate[1].push_back(ntk.node_to_index(ntk.get_node(f)) + num_gates -
|
||||
1);
|
||||
value.push_back(0.6);
|
||||
coordinate[0].push_back(ntk.node_to_index(ntk.get_node(f)) + num_gates -
|
||||
1);
|
||||
coordinate[1].push_back(ntk.node_to_index(n) - num_pis - 1);
|
||||
adj[ntk.node_to_index(n) - num_pis - 1]
|
||||
[ntk.node_to_index(ntk.get_node(f)) + num_gates - 1] = 1;
|
||||
adj[ntk.node_to_index(ntk.get_node(f)) + num_gates - 1]
|
||||
[ntk.node_to_index(n) - num_pis - 1] = 1;
|
||||
} else {
|
||||
value.push_back(1);
|
||||
coordinate[0].push_back(ntk.node_to_index(n) - num_pis - 1);
|
||||
coordinate[1].push_back(ntk.node_to_index(ntk.get_node(f)) - num_pis -
|
||||
1);
|
||||
value.push_back(1);
|
||||
coordinate[0].push_back(ntk.node_to_index(ntk.get_node(f)) - num_pis -
|
||||
1);
|
||||
coordinate[1].push_back(ntk.node_to_index(n) - num_pis - 1);
|
||||
adj[ntk.node_to_index(n) - num_pis - 1]
|
||||
[ntk.node_to_index(ntk.get_node(f)) - num_pis - 1] = 0.5;
|
||||
adj[ntk.node_to_index(ntk.get_node(f)) - num_pis - 1]
|
||||
[ntk.node_to_index(n) - num_pis - 1] = 0.5;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
@ -71,33 +61,19 @@ void write_npz(Ntk const& ntk, std::ostream& os) {
|
|||
|
||||
ntk.foreach_po([&](auto const& f, auto i) {
|
||||
if (ntk.node_to_index(ntk.get_node(f)) <= num_pis) {
|
||||
value.push_back(0.1);
|
||||
coordinate[0].push_back(i + num_pis + num_gates);
|
||||
coordinate[1].push_back(ntk.node_to_index(ntk.get_node(f)) + num_gates -
|
||||
1);
|
||||
value.push_back(0.1);
|
||||
coordinate[0].push_back(ntk.node_to_index(ntk.get_node(f)) + num_gates -
|
||||
1);
|
||||
coordinate[1].push_back(i + num_pis + num_gates);
|
||||
adj[i + num_pis + num_gates]
|
||||
[ntk.node_to_index(ntk.get_node(f)) + num_gates - 1] = 1;
|
||||
adj[ntk.node_to_index(ntk.get_node(f)) + num_gates - 1]
|
||||
[i + num_pis + num_gates] = 1;
|
||||
} else {
|
||||
value.push_back(0.6);
|
||||
coordinate[0].push_back(i + num_pis + num_gates);
|
||||
coordinate[1].push_back(ntk.node_to_index(ntk.get_node(f)) - num_pis - 1);
|
||||
value.push_back(0.6);
|
||||
coordinate[0].push_back(ntk.node_to_index(ntk.get_node(f)) - num_pis - 1);
|
||||
coordinate[1].push_back(i + num_pis + num_gates);
|
||||
adj[i + num_pis + num_gates]
|
||||
[ntk.node_to_index(ntk.get_node(f)) - num_pis - 1] = 0.5;
|
||||
adj[ntk.node_to_index(ntk.get_node(f)) - num_pis - 1]
|
||||
[i + num_pis + num_gates] = 0.5;
|
||||
}
|
||||
});
|
||||
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
if (i == value.size() - 1) {
|
||||
connect << fmt::format("{}", value[i]);
|
||||
} else {
|
||||
connect << fmt::format("{}", value[i]) << ",";
|
||||
}
|
||||
}
|
||||
connect << "\n";
|
||||
for (auto x : coordinate) {
|
||||
for (auto x : adj) {
|
||||
for (int i = 0; i < x.size(); i++) {
|
||||
if (i == x.size() - 1) {
|
||||
connect << fmt::format("{}", x[i]);
|
||||
|
@ -113,9 +89,9 @@ void write_npz(Ntk const& ntk, std::ostream& os) {
|
|||
template <class Ntk>
|
||||
void write_def(Ntk const& ntk, std::ostream& os_def, std::ostream& os_mdef) {
|
||||
std::stringstream components, pins, pins_def;
|
||||
// cout << "num_pis: " << ntk.num_pis() << endl;
|
||||
// cout << "num_pos: " << ntk.num_pos() << endl;
|
||||
// cout << "num_gates: " << ntk.num_gates() << endl;
|
||||
cout << "num_pis: " << ntk.num_pis() << endl;
|
||||
cout << "num_pos: " << ntk.num_pos() << endl;
|
||||
cout << "num_gates: " << ntk.num_gates() << endl;
|
||||
int num_pis = ntk.num_pis(), num_pos = ntk.num_pos(),
|
||||
num_gates = ntk.num_gates();
|
||||
int size = num_pis + num_pos + num_gates;
|
||||
|
|
3589
src/def/adder.def
3589
src/def/adder.def
File diff suppressed because it is too large
Load Diff
25227
src/def/arbiter.def
25227
src/def/arbiter.def
File diff suppressed because it is too large
Load Diff
7733
src/def/bar.def
7733
src/def/bar.def
File diff suppressed because it is too large
Load Diff
1479
src/def/cavlc.def
1479
src/def/cavlc.def
File diff suppressed because it is too large
Load Diff
489
src/def/ctrl.def
489
src/def/ctrl.def
|
@ -1,489 +0,0 @@
|
|||
COMPONENTS 174 ;
|
||||
- and_8_ and
|
||||
+ PLACED ( 132 1053 ) N ;
|
||||
- and_9_ and
|
||||
+ PLACED ( 155 1606 ) N ;
|
||||
- and_10_ and
|
||||
+ PLACED ( 129 1152 ) N ;
|
||||
- and_11_ and
|
||||
+ PLACED ( 98 1141 ) N ;
|
||||
- and_12_ and
|
||||
+ PLACED ( 100 1198 ) N ;
|
||||
- and_13_ and
|
||||
+ PLACED ( 111 1129 ) N ;
|
||||
- and_14_ and
|
||||
+ PLACED ( 119 1079 ) N ;
|
||||
- and_15_ and
|
||||
+ PLACED ( 108 904 ) N ;
|
||||
- and_16_ and
|
||||
+ PLACED ( 121 904 ) N ;
|
||||
- and_17_ and
|
||||
+ PLACED ( 132 1210 ) N ;
|
||||
- and_18_ and
|
||||
+ PLACED ( 138 1183 ) N ;
|
||||
- and_19_ and
|
||||
+ PLACED ( 117 913 ) N ;
|
||||
- and_20_ and
|
||||
+ PLACED ( 132 915 ) N ;
|
||||
- and_21_ and
|
||||
+ PLACED ( 131 1005 ) N ;
|
||||
- and_22_ and
|
||||
+ PLACED ( 127 1208 ) N ;
|
||||
- and_23_ and
|
||||
+ PLACED ( 135 1173 ) N ;
|
||||
- and_24_ and
|
||||
+ PLACED ( 134 1131 ) N ;
|
||||
- and_25_ and
|
||||
+ PLACED ( 114 1072 ) N ;
|
||||
- and_26_ and
|
||||
+ PLACED ( 126 1207 ) N ;
|
||||
- and_27_ and
|
||||
+ PLACED ( 120 1069 ) N ;
|
||||
- and_28_ and
|
||||
+ PLACED ( 110 899 ) N ;
|
||||
- and_29_ and
|
||||
+ PLACED ( 126 982 ) N ;
|
||||
- and_30_ and
|
||||
+ PLACED ( 124 1333 ) N ;
|
||||
- and_31_ and
|
||||
+ PLACED ( 140 1314 ) N ;
|
||||
- and_32_ and
|
||||
+ PLACED ( 137 1015 ) N ;
|
||||
- and_33_ and
|
||||
+ PLACED ( 141 981 ) N ;
|
||||
- and_34_ and
|
||||
+ PLACED ( 159 1158 ) N ;
|
||||
- and_35_ and
|
||||
+ PLACED ( 141 1199 ) N ;
|
||||
- and_36_ and
|
||||
+ PLACED ( 115 981 ) N ;
|
||||
- and_37_ and
|
||||
+ PLACED ( 117 1277 ) N ;
|
||||
- and_38_ and
|
||||
+ PLACED ( 139 1236 ) N ;
|
||||
- and_39_ and
|
||||
+ PLACED ( 127 1109 ) N ;
|
||||
- and_40_ and
|
||||
+ PLACED ( 114 1056 ) N ;
|
||||
- and_41_ and
|
||||
+ PLACED ( 105 940 ) N ;
|
||||
- and_42_ and
|
||||
+ PLACED ( 115 906 ) N ;
|
||||
- and_43_ and
|
||||
+ PLACED ( 123 1081 ) N ;
|
||||
- and_44_ and
|
||||
+ PLACED ( 114 1290 ) N ;
|
||||
- and_45_ and
|
||||
+ PLACED ( 131 1322 ) N ;
|
||||
- and_46_ and
|
||||
+ PLACED ( 106 908 ) N ;
|
||||
- and_47_ and
|
||||
+ PLACED ( 132 1090 ) N ;
|
||||
- and_48_ and
|
||||
+ PLACED ( 109 970 ) N ;
|
||||
- and_49_ and
|
||||
+ PLACED ( 106 1005 ) N ;
|
||||
- and_50_ and
|
||||
+ PLACED ( 105 1016 ) N ;
|
||||
- and_51_ and
|
||||
+ PLACED ( 128 1118 ) N ;
|
||||
- and_52_ and
|
||||
+ PLACED ( 114 1152 ) N ;
|
||||
- and_53_ and
|
||||
+ PLACED ( 93 1086 ) N ;
|
||||
- and_54_ and
|
||||
+ PLACED ( 79 1199 ) N ;
|
||||
- and_55_ and
|
||||
+ PLACED ( 92 1043 ) N ;
|
||||
- and_56_ and
|
||||
+ PLACED ( 95 1331 ) N ;
|
||||
- and_57_ and
|
||||
+ PLACED ( 127 1317 ) N ;
|
||||
- and_58_ and
|
||||
+ PLACED ( 104 1285 ) N ;
|
||||
- and_59_ and
|
||||
+ PLACED ( 108 1192 ) N ;
|
||||
- and_60_ and
|
||||
+ PLACED ( 107 1313 ) N ;
|
||||
- and_61_ and
|
||||
+ PLACED ( 117 1293 ) N ;
|
||||
- and_62_ and
|
||||
+ PLACED ( 108 1229 ) N ;
|
||||
- and_63_ and
|
||||
+ PLACED ( 128 1267 ) N ;
|
||||
- and_64_ and
|
||||
+ PLACED ( 124 989 ) N ;
|
||||
- and_65_ and
|
||||
+ PLACED ( 125 972 ) N ;
|
||||
- and_66_ and
|
||||
+ PLACED ( 132 1059 ) N ;
|
||||
- and_67_ and
|
||||
+ PLACED ( 136 1139 ) N ;
|
||||
- and_68_ and
|
||||
+ PLACED ( 93 975 ) N ;
|
||||
- and_69_ and
|
||||
+ PLACED ( 121 1160 ) N ;
|
||||
- and_70_ and
|
||||
+ PLACED ( 128 1050 ) N ;
|
||||
- and_71_ and
|
||||
+ PLACED ( 144 1234 ) N ;
|
||||
- and_72_ and
|
||||
+ PLACED ( 107 1221 ) N ;
|
||||
- and_73_ and
|
||||
+ PLACED ( 135 1090 ) N ;
|
||||
- and_74_ and
|
||||
+ PLACED ( 141 867 ) N ;
|
||||
- and_75_ and
|
||||
+ PLACED ( 136 935 ) N ;
|
||||
- and_76_ and
|
||||
+ PLACED ( 109 973 ) N ;
|
||||
- and_77_ and
|
||||
+ PLACED ( 114 1093 ) N ;
|
||||
- and_78_ and
|
||||
+ PLACED ( 128 1218 ) N ;
|
||||
- and_79_ and
|
||||
+ PLACED ( 141 1160 ) N ;
|
||||
- and_80_ and
|
||||
+ PLACED ( 136 1063 ) N ;
|
||||
- and_81_ and
|
||||
+ PLACED ( 138 1075 ) N ;
|
||||
- and_82_ and
|
||||
+ PLACED ( 137 1155 ) N ;
|
||||
- and_83_ and
|
||||
+ PLACED ( 145 1078 ) N ;
|
||||
- and_84_ and
|
||||
+ PLACED ( 141 1060 ) N ;
|
||||
- and_85_ and
|
||||
+ PLACED ( 144 1070 ) N ;
|
||||
- and_86_ and
|
||||
+ PLACED ( 134 1107 ) N ;
|
||||
- and_87_ and
|
||||
+ PLACED ( 96 1053 ) N ;
|
||||
- and_88_ and
|
||||
+ PLACED ( 110 1140 ) N ;
|
||||
- and_89_ and
|
||||
+ PLACED ( 128 1277 ) N ;
|
||||
- and_90_ and
|
||||
+ PLACED ( 83 1029 ) N ;
|
||||
- and_91_ and
|
||||
+ PLACED ( 86 1105 ) N ;
|
||||
- and_92_ and
|
||||
+ PLACED ( 127 928 ) N ;
|
||||
- and_93_ and
|
||||
+ PLACED ( 131 1041 ) N ;
|
||||
- and_94_ and
|
||||
+ PLACED ( 118 1116 ) N ;
|
||||
- and_95_ and
|
||||
+ PLACED ( 104 1320 ) N ;
|
||||
- and_96_ and
|
||||
+ PLACED ( 114 1049 ) N ;
|
||||
- and_97_ and
|
||||
+ PLACED ( 124 1150 ) N ;
|
||||
- and_98_ and
|
||||
+ PLACED ( 115 1068 ) N ;
|
||||
- and_99_ and
|
||||
+ PLACED ( 105 900 ) N ;
|
||||
- and_100_ and
|
||||
+ PLACED ( 106 999 ) N ;
|
||||
- and_101_ and
|
||||
+ PLACED ( 124 969 ) N ;
|
||||
- and_102_ and
|
||||
+ PLACED ( 126 1019 ) N ;
|
||||
- and_103_ and
|
||||
+ PLACED ( 115 1177 ) N ;
|
||||
- and_104_ and
|
||||
+ PLACED ( 116 1052 ) N ;
|
||||
- and_105_ and
|
||||
+ PLACED ( 124 1087 ) N ;
|
||||
- and_106_ and
|
||||
+ PLACED ( 151 1226 ) N ;
|
||||
- and_107_ and
|
||||
+ PLACED ( 115 1074 ) N ;
|
||||
- and_108_ and
|
||||
+ PLACED ( 122 1005 ) N ;
|
||||
- and_109_ and
|
||||
+ PLACED ( 124 915 ) N ;
|
||||
- and_110_ and
|
||||
+ PLACED ( 142 1049 ) N ;
|
||||
- and_111_ and
|
||||
+ PLACED ( 150 1237 ) N ;
|
||||
- and_112_ and
|
||||
+ PLACED ( 105 1021 ) N ;
|
||||
- and_113_ and
|
||||
+ PLACED ( 116 1153 ) N ;
|
||||
- and_114_ and
|
||||
+ PLACED ( 100 1171 ) N ;
|
||||
- and_115_ and
|
||||
+ PLACED ( 98 1300 ) N ;
|
||||
- and_116_ and
|
||||
+ PLACED ( 110 1415 ) N ;
|
||||
- and_117_ and
|
||||
+ PLACED ( 134 1514 ) N ;
|
||||
- and_118_ and
|
||||
+ PLACED ( 102 874 ) N ;
|
||||
- and_119_ and
|
||||
+ PLACED ( 118 882 ) N ;
|
||||
- and_120_ and
|
||||
+ PLACED ( 122 980 ) N ;
|
||||
- and_121_ and
|
||||
+ PLACED ( 92 1070 ) N ;
|
||||
- and_122_ and
|
||||
+ PLACED ( 97 1063 ) N ;
|
||||
- and_123_ and
|
||||
+ PLACED ( 99 1043 ) N ;
|
||||
- and_124_ and
|
||||
+ PLACED ( 113 992 ) N ;
|
||||
- and_125_ and
|
||||
+ PLACED ( 137 1201 ) N ;
|
||||
- and_126_ and
|
||||
+ PLACED ( 114 946 ) N ;
|
||||
- and_127_ and
|
||||
+ PLACED ( 120 946 ) N ;
|
||||
- and_128_ and
|
||||
+ PLACED ( 133 1088 ) N ;
|
||||
- and_129_ and
|
||||
+ PLACED ( 132 1110 ) N ;
|
||||
- and_130_ and
|
||||
+ PLACED ( 156 1265 ) N ;
|
||||
- and_131_ and
|
||||
+ PLACED ( 96 1071 ) N ;
|
||||
- and_132_ and
|
||||
+ PLACED ( 107 1108 ) N ;
|
||||
- and_133_ and
|
||||
+ PLACED ( 103 1031 ) N ;
|
||||
- and_134_ and
|
||||
+ PLACED ( 104 1032 ) N ;
|
||||
- and_135_ and
|
||||
+ PLACED ( 101 1137 ) N ;
|
||||
- and_136_ and
|
||||
+ PLACED ( 112 1313 ) N ;
|
||||
- and_137_ and
|
||||
+ PLACED ( 118 1119 ) N ;
|
||||
- and_138_ and
|
||||
+ PLACED ( 116 1125 ) N ;
|
||||
- and_139_ and
|
||||
+ PLACED ( 96 960 ) N ;
|
||||
- and_140_ and
|
||||
+ PLACED ( 100 1092 ) N ;
|
||||
- and_141_ and
|
||||
+ PLACED ( 120 1339 ) N ;
|
||||
- and_142_ and
|
||||
+ PLACED ( 99 1000 ) N ;
|
||||
- and_143_ and
|
||||
+ PLACED ( 89 981 ) N ;
|
||||
- and_144_ and
|
||||
+ PLACED ( 97 1017 ) N ;
|
||||
- and_145_ and
|
||||
+ PLACED ( 126 1168 ) N ;
|
||||
- and_146_ and
|
||||
+ PLACED ( 109 908 ) N ;
|
||||
- and_147_ and
|
||||
+ PLACED ( 120 849 ) N ;
|
||||
- and_148_ and
|
||||
+ PLACED ( 132 999 ) N ;
|
||||
- and_149_ and
|
||||
+ PLACED ( 155 1297 ) N ;
|
||||
- and_150_ and
|
||||
+ PLACED ( 103 1037 ) N ;
|
||||
- and_151_ and
|
||||
+ PLACED ( 83 858 ) N ;
|
||||
- and_152_ and
|
||||
+ PLACED ( 103 1086 ) N ;
|
||||
- and_153_ and
|
||||
+ PLACED ( 105 1046 ) N ;
|
||||
- and_154_ and
|
||||
+ PLACED ( 144 1058 ) N ;
|
||||
- and_155_ and
|
||||
+ PLACED ( 137 1015 ) N ;
|
||||
- and_156_ and
|
||||
+ PLACED ( 120 955 ) N ;
|
||||
- and_157_ and
|
||||
+ PLACED ( 142 1052 ) N ;
|
||||
- and_158_ and
|
||||
+ PLACED ( 147 1032 ) N ;
|
||||
- and_159_ and
|
||||
+ PLACED ( 127 1022 ) N ;
|
||||
- and_160_ and
|
||||
+ PLACED ( 105 757 ) N ;
|
||||
- and_161_ and
|
||||
+ PLACED ( 86 1324 ) N ;
|
||||
- and_162_ and
|
||||
+ PLACED ( 77 1406 ) N ;
|
||||
- and_163_ and
|
||||
+ PLACED ( 73 1405 ) N ;
|
||||
- and_164_ and
|
||||
+ PLACED ( 76 1294 ) N ;
|
||||
- and_165_ and
|
||||
+ PLACED ( 82 1255 ) N ;
|
||||
- and_166_ and
|
||||
+ PLACED ( 97 1266 ) N ;
|
||||
- and_167_ and
|
||||
+ PLACED ( 114 1298 ) N ;
|
||||
- and_168_ and
|
||||
+ PLACED ( 108 1256 ) N ;
|
||||
- and_169_ and
|
||||
+ PLACED ( 87 1043 ) N ;
|
||||
- and_170_ and
|
||||
+ PLACED ( 99 1154 ) N ;
|
||||
- and_171_ and
|
||||
+ PLACED ( 85 1089 ) N ;
|
||||
- and_172_ and
|
||||
+ PLACED ( 84 954 ) N ;
|
||||
- and_173_ and
|
||||
+ PLACED ( 119 1062 ) N ;
|
||||
- and_174_ and
|
||||
+ PLACED ( 106 969 ) N ;
|
||||
- and_175_ and
|
||||
+ PLACED ( 126 1032 ) N ;
|
||||
- and_176_ and
|
||||
+ PLACED ( 126 1027 ) N ;
|
||||
- and_177_ and
|
||||
+ PLACED ( 107 938 ) N ;
|
||||
- and_178_ and
|
||||
+ PLACED ( 111 1017 ) N ;
|
||||
- and_179_ and
|
||||
+ PLACED ( 114 914 ) N ;
|
||||
- and_180_ and
|
||||
+ PLACED ( 112 815 ) N ;
|
||||
- and_181_ and
|
||||
+ PLACED ( 98 687 ) N ;
|
||||
END COMPONENTS
|
||||
|
||||
PINS 34 ;
|
||||
- output_0 + NET output_0
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 0 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_1 + NET output_1
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 10 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_2 + NET output_2
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 20 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_3 + NET output_3
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 30 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_4 + NET output_4
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 40 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_5 + NET output_5
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 50 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_6 + NET output_6
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 60 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_7 + NET output_7
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 70 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_8 + NET output_8
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 80 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_9 + NET output_9
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 90 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_10 + NET output_10
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 100 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_11 + NET output_11
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 110 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_12 + NET output_12
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 120 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_13 + NET output_13
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 130 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_14 + NET output_14
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 140 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_15 + NET output_15
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 150 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_16 + NET output_16
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 160 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_17 + NET output_17
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 170 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_18 + NET output_18
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 180 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_19 + NET output_19
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 190 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_20 + NET output_20
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 200 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_21 + NET output_21
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 210 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_22 + NET output_22
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 220 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_23 + NET output_23
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 230 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_24 + NET output_24
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 240 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_25 + NET output_25
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 250 2070 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_0 + NET input_0
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 0 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_1 + NET input_1
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 10 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_2 + NET input_2
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 20 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_3 + NET input_3
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 30 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_4 + NET input_4
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 40 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_5 + NET input_5
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 50 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_6 + NET input_6
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 60 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_clk + NET input_clk
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 70 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
END PINS
|
1673
src/def/dec.def
1673
src/def/dec.def
File diff suppressed because it is too large
Load Diff
115527
src/def/div.def
115527
src/def/div.def
File diff suppressed because it is too large
Load Diff
430215
src/def/hyp.def
430215
src/def/hyp.def
File diff suppressed because it is too large
Load Diff
3849
src/def/i2c.def
3849
src/def/i2c.def
File diff suppressed because it is too large
Load Diff
|
@ -1,601 +0,0 @@
|
|||
COMPONENTS 260 ;
|
||||
- and_12_ and
|
||||
+ PLACED ( 45 1535 ) N ;
|
||||
- and_13_ and
|
||||
+ PLACED ( 52 1495 ) N ;
|
||||
- and_14_ and
|
||||
+ PLACED ( 55 1515 ) N ;
|
||||
- and_15_ and
|
||||
+ PLACED ( 55 1353 ) N ;
|
||||
- and_16_ and
|
||||
+ PLACED ( 43 1344 ) N ;
|
||||
- and_17_ and
|
||||
+ PLACED ( 49 1389 ) N ;
|
||||
- and_18_ and
|
||||
+ PLACED ( 54 1355 ) N ;
|
||||
- and_19_ and
|
||||
+ PLACED ( 44 1290 ) N ;
|
||||
- and_20_ and
|
||||
+ PLACED ( 41 1233 ) N ;
|
||||
- and_21_ and
|
||||
+ PLACED ( 48 1129 ) N ;
|
||||
- and_22_ and
|
||||
+ PLACED ( 48 1112 ) N ;
|
||||
- and_23_ and
|
||||
+ PLACED ( 53 1025 ) N ;
|
||||
- and_24_ and
|
||||
+ PLACED ( 49 1223 ) N ;
|
||||
- and_25_ and
|
||||
+ PLACED ( 43 1551 ) N ;
|
||||
- and_26_ and
|
||||
+ PLACED ( 47 1314 ) N ;
|
||||
- and_27_ and
|
||||
+ PLACED ( 49 1452 ) N ;
|
||||
- and_28_ and
|
||||
+ PLACED ( 56 1321 ) N ;
|
||||
- and_29_ and
|
||||
+ PLACED ( 55 1232 ) N ;
|
||||
- and_30_ and
|
||||
+ PLACED ( 42 1165 ) N ;
|
||||
- and_31_ and
|
||||
+ PLACED ( 46 1215 ) N ;
|
||||
- and_32_ and
|
||||
+ PLACED ( 53 1232 ) N ;
|
||||
- and_33_ and
|
||||
+ PLACED ( 50 1151 ) N ;
|
||||
- and_34_ and
|
||||
+ PLACED ( 46 1232 ) N ;
|
||||
- and_35_ and
|
||||
+ PLACED ( 49 1252 ) N ;
|
||||
- and_36_ and
|
||||
+ PLACED ( 54 1154 ) N ;
|
||||
- and_37_ and
|
||||
+ PLACED ( 57 1040 ) N ;
|
||||
- and_38_ and
|
||||
+ PLACED ( 51 1139 ) N ;
|
||||
- and_39_ and
|
||||
+ PLACED ( 52 1416 ) N ;
|
||||
- and_40_ and
|
||||
+ PLACED ( 54 1514 ) N ;
|
||||
- and_41_ and
|
||||
+ PLACED ( 48 1492 ) N ;
|
||||
- and_42_ and
|
||||
+ PLACED ( 55 1743 ) N ;
|
||||
- and_43_ and
|
||||
+ PLACED ( 49 1745 ) N ;
|
||||
- and_44_ and
|
||||
+ PLACED ( 49 1746 ) N ;
|
||||
- and_45_ and
|
||||
+ PLACED ( 44 1413 ) N ;
|
||||
- and_46_ and
|
||||
+ PLACED ( 46 1088 ) N ;
|
||||
- and_47_ and
|
||||
+ PLACED ( 48 1338 ) N ;
|
||||
- and_48_ and
|
||||
+ PLACED ( 50 1441 ) N ;
|
||||
- and_49_ and
|
||||
+ PLACED ( 54 1718 ) N ;
|
||||
- and_50_ and
|
||||
+ PLACED ( 50 1643 ) N ;
|
||||
- and_51_ and
|
||||
+ PLACED ( 45 1555 ) N ;
|
||||
- and_52_ and
|
||||
+ PLACED ( 36 1382 ) N ;
|
||||
- and_53_ and
|
||||
+ PLACED ( 39 1435 ) N ;
|
||||
- and_54_ and
|
||||
+ PLACED ( 43 1496 ) N ;
|
||||
- and_55_ and
|
||||
+ PLACED ( 46 1437 ) N ;
|
||||
- and_56_ and
|
||||
+ PLACED ( 40 1500 ) N ;
|
||||
- and_57_ and
|
||||
+ PLACED ( 41 1103 ) N ;
|
||||
- and_58_ and
|
||||
+ PLACED ( 45 1276 ) N ;
|
||||
- and_59_ and
|
||||
+ PLACED ( 49 1054 ) N ;
|
||||
- and_60_ and
|
||||
+ PLACED ( 54 1020 ) N ;
|
||||
- and_61_ and
|
||||
+ PLACED ( 55 1160 ) N ;
|
||||
- and_62_ and
|
||||
+ PLACED ( 52 1318 ) N ;
|
||||
- and_63_ and
|
||||
+ PLACED ( 50 1375 ) N ;
|
||||
- and_64_ and
|
||||
+ PLACED ( 36 1374 ) N ;
|
||||
- and_65_ and
|
||||
+ PLACED ( 40 1466 ) N ;
|
||||
- and_66_ and
|
||||
+ PLACED ( 47 1489 ) N ;
|
||||
- and_67_ and
|
||||
+ PLACED ( 44 1374 ) N ;
|
||||
- and_68_ and
|
||||
+ PLACED ( 44 1302 ) N ;
|
||||
- and_69_ and
|
||||
+ PLACED ( 43 1279 ) N ;
|
||||
- and_70_ and
|
||||
+ PLACED ( 44 1404 ) N ;
|
||||
- and_71_ and
|
||||
+ PLACED ( 40 1388 ) N ;
|
||||
- and_72_ and
|
||||
+ PLACED ( 38 1165 ) N ;
|
||||
- and_73_ and
|
||||
+ PLACED ( 37 1295 ) N ;
|
||||
- and_74_ and
|
||||
+ PLACED ( 43 1351 ) N ;
|
||||
- and_75_ and
|
||||
+ PLACED ( 53 1447 ) N ;
|
||||
- and_76_ and
|
||||
+ PLACED ( 43 1574 ) N ;
|
||||
- and_77_ and
|
||||
+ PLACED ( 40 1332 ) N ;
|
||||
- and_78_ and
|
||||
+ PLACED ( 37 1227 ) N ;
|
||||
- and_79_ and
|
||||
+ PLACED ( 42 1217 ) N ;
|
||||
- and_80_ and
|
||||
+ PLACED ( 44 1216 ) N ;
|
||||
- and_81_ and
|
||||
+ PLACED ( 48 1369 ) N ;
|
||||
- and_82_ and
|
||||
+ PLACED ( 55 1624 ) N ;
|
||||
- and_83_ and
|
||||
+ PLACED ( 57 1419 ) N ;
|
||||
- and_84_ and
|
||||
+ PLACED ( 64 1411 ) N ;
|
||||
- and_85_ and
|
||||
+ PLACED ( 63 1296 ) N ;
|
||||
- and_86_ and
|
||||
+ PLACED ( 51 1531 ) N ;
|
||||
- and_87_ and
|
||||
+ PLACED ( 40 1194 ) N ;
|
||||
- and_88_ and
|
||||
+ PLACED ( 37 1087 ) N ;
|
||||
- and_89_ and
|
||||
+ PLACED ( 38 1051 ) N ;
|
||||
- and_90_ and
|
||||
+ PLACED ( 47 1163 ) N ;
|
||||
- and_91_ and
|
||||
+ PLACED ( 48 1131 ) N ;
|
||||
- and_92_ and
|
||||
+ PLACED ( 62 1323 ) N ;
|
||||
- and_93_ and
|
||||
+ PLACED ( 60 1361 ) N ;
|
||||
- and_94_ and
|
||||
+ PLACED ( 46 1314 ) N ;
|
||||
- and_95_ and
|
||||
+ PLACED ( 50 1515 ) N ;
|
||||
- and_96_ and
|
||||
+ PLACED ( 40 1509 ) N ;
|
||||
- and_97_ and
|
||||
+ PLACED ( 42 1567 ) N ;
|
||||
- and_98_ and
|
||||
+ PLACED ( 50 1666 ) N ;
|
||||
- and_99_ and
|
||||
+ PLACED ( 48 1642 ) N ;
|
||||
- and_100_ and
|
||||
+ PLACED ( 45 1680 ) N ;
|
||||
- and_101_ and
|
||||
+ PLACED ( 41 1103 ) N ;
|
||||
- and_102_ and
|
||||
+ PLACED ( 48 1374 ) N ;
|
||||
- and_103_ and
|
||||
+ PLACED ( 47 1604 ) N ;
|
||||
- and_104_ and
|
||||
+ PLACED ( 42 1507 ) N ;
|
||||
- and_105_ and
|
||||
+ PLACED ( 40 1442 ) N ;
|
||||
- and_106_ and
|
||||
+ PLACED ( 40 1213 ) N ;
|
||||
- and_107_ and
|
||||
+ PLACED ( 39 1555 ) N ;
|
||||
- and_108_ and
|
||||
+ PLACED ( 37 1628 ) N ;
|
||||
- and_109_ and
|
||||
+ PLACED ( 40 1631 ) N ;
|
||||
- and_110_ and
|
||||
+ PLACED ( 45 1535 ) N ;
|
||||
- and_111_ and
|
||||
+ PLACED ( 47 1398 ) N ;
|
||||
- and_112_ and
|
||||
+ PLACED ( 52 1378 ) N ;
|
||||
- and_113_ and
|
||||
+ PLACED ( 56 1495 ) N ;
|
||||
- and_114_ and
|
||||
+ PLACED ( 58 1549 ) N ;
|
||||
- and_115_ and
|
||||
+ PLACED ( 61 1326 ) N ;
|
||||
- and_116_ and
|
||||
+ PLACED ( 52 1012 ) N ;
|
||||
- and_117_ and
|
||||
+ PLACED ( 47 1414 ) N ;
|
||||
- and_118_ and
|
||||
+ PLACED ( 48 1613 ) N ;
|
||||
- and_119_ and
|
||||
+ PLACED ( 57 1530 ) N ;
|
||||
- and_120_ and
|
||||
+ PLACED ( 49 1395 ) N ;
|
||||
- and_121_ and
|
||||
+ PLACED ( 47 1518 ) N ;
|
||||
- and_122_ and
|
||||
+ PLACED ( 48 1417 ) N ;
|
||||
- and_123_ and
|
||||
+ PLACED ( 54 1636 ) N ;
|
||||
- and_124_ and
|
||||
+ PLACED ( 50 1667 ) N ;
|
||||
- and_125_ and
|
||||
+ PLACED ( 51 1637 ) N ;
|
||||
- and_126_ and
|
||||
+ PLACED ( 43 1484 ) N ;
|
||||
- and_127_ and
|
||||
+ PLACED ( 45 1414 ) N ;
|
||||
- and_128_ and
|
||||
+ PLACED ( 43 1545 ) N ;
|
||||
- and_129_ and
|
||||
+ PLACED ( 44 1538 ) N ;
|
||||
- and_130_ and
|
||||
+ PLACED ( 52 1627 ) N ;
|
||||
- and_131_ and
|
||||
+ PLACED ( 53 1400 ) N ;
|
||||
- and_132_ and
|
||||
+ PLACED ( 49 1156 ) N ;
|
||||
- and_133_ and
|
||||
+ PLACED ( 46 1178 ) N ;
|
||||
- and_134_ and
|
||||
+ PLACED ( 47 1167 ) N ;
|
||||
- and_135_ and
|
||||
+ PLACED ( 37 1390 ) N ;
|
||||
- and_136_ and
|
||||
+ PLACED ( 39 1463 ) N ;
|
||||
- and_137_ and
|
||||
+ PLACED ( 47 1461 ) N ;
|
||||
- and_138_ and
|
||||
+ PLACED ( 51 1242 ) N ;
|
||||
- and_139_ and
|
||||
+ PLACED ( 53 870 ) N ;
|
||||
- and_140_ and
|
||||
+ PLACED ( 50 1137 ) N ;
|
||||
- and_141_ and
|
||||
+ PLACED ( 50 1229 ) N ;
|
||||
- and_142_ and
|
||||
+ PLACED ( 58 1234 ) N ;
|
||||
- and_143_ and
|
||||
+ PLACED ( 44 1496 ) N ;
|
||||
- and_144_ and
|
||||
+ PLACED ( 51 1504 ) N ;
|
||||
- and_145_ and
|
||||
+ PLACED ( 60 1464 ) N ;
|
||||
- and_146_ and
|
||||
+ PLACED ( 56 1586 ) N ;
|
||||
- and_147_ and
|
||||
+ PLACED ( 40 1357 ) N ;
|
||||
- and_148_ and
|
||||
+ PLACED ( 51 1666 ) N ;
|
||||
- and_149_ and
|
||||
+ PLACED ( 47 1485 ) N ;
|
||||
- and_150_ and
|
||||
+ PLACED ( 44 1416 ) N ;
|
||||
- and_151_ and
|
||||
+ PLACED ( 45 1457 ) N ;
|
||||
- and_152_ and
|
||||
+ PLACED ( 50 1459 ) N ;
|
||||
- and_153_ and
|
||||
+ PLACED ( 55 1572 ) N ;
|
||||
- and_154_ and
|
||||
+ PLACED ( 49 1449 ) N ;
|
||||
- and_155_ and
|
||||
+ PLACED ( 49 1324 ) N ;
|
||||
- and_156_ and
|
||||
+ PLACED ( 50 1467 ) N ;
|
||||
- and_157_ and
|
||||
+ PLACED ( 41 1571 ) N ;
|
||||
- and_158_ and
|
||||
+ PLACED ( 49 1707 ) N ;
|
||||
- and_159_ and
|
||||
+ PLACED ( 49 1629 ) N ;
|
||||
- and_160_ and
|
||||
+ PLACED ( 47 1582 ) N ;
|
||||
- and_161_ and
|
||||
+ PLACED ( 38 1424 ) N ;
|
||||
- and_162_ and
|
||||
+ PLACED ( 47 1546 ) N ;
|
||||
- and_163_ and
|
||||
+ PLACED ( 44 1621 ) N ;
|
||||
- and_164_ and
|
||||
+ PLACED ( 49 1585 ) N ;
|
||||
- and_165_ and
|
||||
+ PLACED ( 44 1378 ) N ;
|
||||
- and_166_ and
|
||||
+ PLACED ( 40 1277 ) N ;
|
||||
- and_167_ and
|
||||
+ PLACED ( 52 1390 ) N ;
|
||||
- and_168_ and
|
||||
+ PLACED ( 49 1313 ) N ;
|
||||
- and_169_ and
|
||||
+ PLACED ( 41 1267 ) N ;
|
||||
- and_170_ and
|
||||
+ PLACED ( 39 1352 ) N ;
|
||||
- and_171_ and
|
||||
+ PLACED ( 46 1391 ) N ;
|
||||
- and_172_ and
|
||||
+ PLACED ( 46 1180 ) N ;
|
||||
- and_173_ and
|
||||
+ PLACED ( 47 1084 ) N ;
|
||||
- and_174_ and
|
||||
+ PLACED ( 43 1383 ) N ;
|
||||
- and_175_ and
|
||||
+ PLACED ( 42 1350 ) N ;
|
||||
- and_176_ and
|
||||
+ PLACED ( 51 1172 ) N ;
|
||||
- and_177_ and
|
||||
+ PLACED ( 53 1183 ) N ;
|
||||
- and_178_ and
|
||||
+ PLACED ( 55 1379 ) N ;
|
||||
- and_179_ and
|
||||
+ PLACED ( 48 1252 ) N ;
|
||||
- and_180_ and
|
||||
+ PLACED ( 52 1378 ) N ;
|
||||
- and_181_ and
|
||||
+ PLACED ( 57 1574 ) N ;
|
||||
- and_182_ and
|
||||
+ PLACED ( 61 1665 ) N ;
|
||||
- and_183_ and
|
||||
+ PLACED ( 56 1647 ) N ;
|
||||
- and_184_ and
|
||||
+ PLACED ( 49 1472 ) N ;
|
||||
- and_185_ and
|
||||
+ PLACED ( 44 1353 ) N ;
|
||||
- and_186_ and
|
||||
+ PLACED ( 43 1217 ) N ;
|
||||
- and_187_ and
|
||||
+ PLACED ( 44 1166 ) N ;
|
||||
- and_188_ and
|
||||
+ PLACED ( 46 1195 ) N ;
|
||||
- and_189_ and
|
||||
+ PLACED ( 50 1304 ) N ;
|
||||
- and_190_ and
|
||||
+ PLACED ( 46 1081 ) N ;
|
||||
- and_191_ and
|
||||
+ PLACED ( 44 1134 ) N ;
|
||||
- and_192_ and
|
||||
+ PLACED ( 45 1141 ) N ;
|
||||
- and_193_ and
|
||||
+ PLACED ( 50 1169 ) N ;
|
||||
- and_194_ and
|
||||
+ PLACED ( 53 1096 ) N ;
|
||||
- and_195_ and
|
||||
+ PLACED ( 53 981 ) N ;
|
||||
- and_196_ and
|
||||
+ PLACED ( 54 1103 ) N ;
|
||||
- and_197_ and
|
||||
+ PLACED ( 53 1237 ) N ;
|
||||
- and_198_ and
|
||||
+ PLACED ( 42 1115 ) N ;
|
||||
- and_199_ and
|
||||
+ PLACED ( 39 1235 ) N ;
|
||||
- and_200_ and
|
||||
+ PLACED ( 43 1275 ) N ;
|
||||
- and_201_ and
|
||||
+ PLACED ( 52 1216 ) N ;
|
||||
- and_202_ and
|
||||
+ PLACED ( 51 968 ) N ;
|
||||
- and_203_ and
|
||||
+ PLACED ( 47 1117 ) N ;
|
||||
- and_204_ and
|
||||
+ PLACED ( 47 1150 ) N ;
|
||||
- and_205_ and
|
||||
+ PLACED ( 46 1061 ) N ;
|
||||
- and_206_ and
|
||||
+ PLACED ( 45 1103 ) N ;
|
||||
- and_207_ and
|
||||
+ PLACED ( 44 1432 ) N ;
|
||||
- and_208_ and
|
||||
+ PLACED ( 39 1384 ) N ;
|
||||
- and_209_ and
|
||||
+ PLACED ( 42 1137 ) N ;
|
||||
- and_210_ and
|
||||
+ PLACED ( 45 1005 ) N ;
|
||||
- and_211_ and
|
||||
+ PLACED ( 47 992 ) N ;
|
||||
- and_212_ and
|
||||
+ PLACED ( 49 889 ) N ;
|
||||
- and_213_ and
|
||||
+ PLACED ( 48 1574 ) N ;
|
||||
- and_214_ and
|
||||
+ PLACED ( 45 1373 ) N ;
|
||||
- and_215_ and
|
||||
+ PLACED ( 50 1523 ) N ;
|
||||
- and_216_ and
|
||||
+ PLACED ( 45 1396 ) N ;
|
||||
- and_217_ and
|
||||
+ PLACED ( 52 1620 ) N ;
|
||||
- and_218_ and
|
||||
+ PLACED ( 56 1647 ) N ;
|
||||
- and_219_ and
|
||||
+ PLACED ( 55 1515 ) N ;
|
||||
- and_220_ and
|
||||
+ PLACED ( 53 1287 ) N ;
|
||||
- and_221_ and
|
||||
+ PLACED ( 45 1189 ) N ;
|
||||
- and_222_ and
|
||||
+ PLACED ( 54 1276 ) N ;
|
||||
- and_223_ and
|
||||
+ PLACED ( 58 1279 ) N ;
|
||||
- and_224_ and
|
||||
+ PLACED ( 38 1427 ) N ;
|
||||
- and_225_ and
|
||||
+ PLACED ( 45 1614 ) N ;
|
||||
- and_226_ and
|
||||
+ PLACED ( 47 1629 ) N ;
|
||||
- and_227_ and
|
||||
+ PLACED ( 43 1528 ) N ;
|
||||
- and_228_ and
|
||||
+ PLACED ( 45 1553 ) N ;
|
||||
- and_229_ and
|
||||
+ PLACED ( 57 1340 ) N ;
|
||||
- and_230_ and
|
||||
+ PLACED ( 55 1127 ) N ;
|
||||
- and_231_ and
|
||||
+ PLACED ( 55 1096 ) N ;
|
||||
- and_232_ and
|
||||
+ PLACED ( 51 1121 ) N ;
|
||||
- and_233_ and
|
||||
+ PLACED ( 38 1238 ) N ;
|
||||
- and_234_ and
|
||||
+ PLACED ( 42 1339 ) N ;
|
||||
- and_235_ and
|
||||
+ PLACED ( 46 1376 ) N ;
|
||||
- and_236_ and
|
||||
+ PLACED ( 49 1392 ) N ;
|
||||
- and_237_ and
|
||||
+ PLACED ( 50 1287 ) N ;
|
||||
- and_238_ and
|
||||
+ PLACED ( 48 1226 ) N ;
|
||||
- and_239_ and
|
||||
+ PLACED ( 44 1292 ) N ;
|
||||
- and_240_ and
|
||||
+ PLACED ( 35 1131 ) N ;
|
||||
- and_241_ and
|
||||
+ PLACED ( 34 1176 ) N ;
|
||||
- and_242_ and
|
||||
+ PLACED ( 41 1325 ) N ;
|
||||
- and_243_ and
|
||||
+ PLACED ( 49 1268 ) N ;
|
||||
- and_244_ and
|
||||
+ PLACED ( 50 1050 ) N ;
|
||||
- and_245_ and
|
||||
+ PLACED ( 41 1058 ) N ;
|
||||
- and_246_ and
|
||||
+ PLACED ( 50 1145 ) N ;
|
||||
- and_247_ and
|
||||
+ PLACED ( 43 1655 ) N ;
|
||||
- and_248_ and
|
||||
+ PLACED ( 47 1654 ) N ;
|
||||
- and_249_ and
|
||||
+ PLACED ( 50 1252 ) N ;
|
||||
- and_250_ and
|
||||
+ PLACED ( 53 1275 ) N ;
|
||||
- and_251_ and
|
||||
+ PLACED ( 56 1487 ) N ;
|
||||
- and_252_ and
|
||||
+ PLACED ( 57 1371 ) N ;
|
||||
- and_253_ and
|
||||
+ PLACED ( 55 1384 ) N ;
|
||||
- and_254_ and
|
||||
+ PLACED ( 52 1134 ) N ;
|
||||
- and_255_ and
|
||||
+ PLACED ( 49 1404 ) N ;
|
||||
- and_256_ and
|
||||
+ PLACED ( 58 1388 ) N ;
|
||||
- and_257_ and
|
||||
+ PLACED ( 60 1377 ) N ;
|
||||
- and_258_ and
|
||||
+ PLACED ( 56 1229 ) N ;
|
||||
- and_259_ and
|
||||
+ PLACED ( 44 1359 ) N ;
|
||||
- and_260_ and
|
||||
+ PLACED ( 47 1251 ) N ;
|
||||
- and_261_ and
|
||||
+ PLACED ( 48 1282 ) N ;
|
||||
- and_262_ and
|
||||
+ PLACED ( 50 1094 ) N ;
|
||||
- and_263_ and
|
||||
+ PLACED ( 52 1050 ) N ;
|
||||
- and_264_ and
|
||||
+ PLACED ( 44 1004 ) N ;
|
||||
- and_265_ and
|
||||
+ PLACED ( 53 1084 ) N ;
|
||||
- and_266_ and
|
||||
+ PLACED ( 60 1036 ) N ;
|
||||
- and_267_ and
|
||||
+ PLACED ( 41 1386 ) N ;
|
||||
- and_268_ and
|
||||
+ PLACED ( 40 1301 ) N ;
|
||||
- and_269_ and
|
||||
+ PLACED ( 37 1082 ) N ;
|
||||
- and_270_ and
|
||||
+ PLACED ( 40 948 ) N ;
|
||||
- and_271_ and
|
||||
+ PLACED ( 51 787 ) N ;
|
||||
END COMPONENTS
|
||||
|
||||
PINS 19 ;
|
||||
- output_0 + NET output_0
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 0 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_1 + NET output_1
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 10 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_2 + NET output_2
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 20 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_3 + NET output_3
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 30 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_4 + NET output_4
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 40 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_5 + NET output_5
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 50 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_6 + NET output_6
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 60 2780 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_0 + NET input_0
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 0 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_1 + NET input_1
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 10 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_2 + NET input_2
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 20 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_3 + NET input_3
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 30 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_4 + NET input_4
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 40 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_5 + NET input_5
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 50 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_6 + NET input_6
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 60 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_7 + NET input_7
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 70 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_8 + NET input_8
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 80 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_9 + NET input_9
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 90 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_10 + NET input_10
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 100 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_clk + NET input_clk
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 110 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
END PINS
|
64385
src/def/log2.def
64385
src/def/log2.def
File diff suppressed because it is too large
Load Diff
8307
src/def/max.def
8307
src/def/max.def
File diff suppressed because it is too large
Load Diff
103421
src/def/mem_ctrl.def
103421
src/def/mem_ctrl.def
File diff suppressed because it is too large
Load Diff
55157
src/def/multiplier.def
55157
src/def/multiplier.def
File diff suppressed because it is too large
Load Diff
2509
src/def/priority.def
2509
src/def/priority.def
File diff suppressed because it is too large
Load Diff
|
@ -1,883 +0,0 @@
|
|||
COMPONENTS 257 ;
|
||||
- and_61_ and
|
||||
+ PLACED ( 310 2616 ) N ;
|
||||
- and_62_ and
|
||||
+ PLACED ( 205 2294 ) N ;
|
||||
- and_63_ and
|
||||
+ PLACED ( 304 2195 ) N ;
|
||||
- and_64_ and
|
||||
+ PLACED ( 334 2589 ) N ;
|
||||
- and_65_ and
|
||||
+ PLACED ( 308 2462 ) N ;
|
||||
- and_66_ and
|
||||
+ PLACED ( 363 2293 ) N ;
|
||||
- and_67_ and
|
||||
+ PLACED ( 274 2559 ) N ;
|
||||
- and_68_ and
|
||||
+ PLACED ( 281 2062 ) N ;
|
||||
- and_69_ and
|
||||
+ PLACED ( 293 2042 ) N ;
|
||||
- and_70_ and
|
||||
+ PLACED ( 256 2462 ) N ;
|
||||
- and_71_ and
|
||||
+ PLACED ( 216 2397 ) N ;
|
||||
- and_72_ and
|
||||
+ PLACED ( 259 2277 ) N ;
|
||||
- and_73_ and
|
||||
+ PLACED ( 255 2481 ) N ;
|
||||
- and_74_ and
|
||||
+ PLACED ( 229 2014 ) N ;
|
||||
- and_75_ and
|
||||
+ PLACED ( 255 2014 ) N ;
|
||||
- and_76_ and
|
||||
+ PLACED ( 189 2070 ) N ;
|
||||
- and_77_ and
|
||||
+ PLACED ( 214 1992 ) N ;
|
||||
- and_78_ and
|
||||
+ PLACED ( 243 2128 ) N ;
|
||||
- and_79_ and
|
||||
+ PLACED ( 239 2277 ) N ;
|
||||
- and_80_ and
|
||||
+ PLACED ( 278 2365 ) N ;
|
||||
- and_81_ and
|
||||
+ PLACED ( 259 2180 ) N ;
|
||||
- and_82_ and
|
||||
+ PLACED ( 307 2089 ) N ;
|
||||
- and_83_ and
|
||||
+ PLACED ( 313 2224 ) N ;
|
||||
- and_84_ and
|
||||
+ PLACED ( 238 2203 ) N ;
|
||||
- and_85_ and
|
||||
+ PLACED ( 303 2166 ) N ;
|
||||
- and_86_ and
|
||||
+ PLACED ( 337 2031 ) N ;
|
||||
- and_87_ and
|
||||
+ PLACED ( 304 1909 ) N ;
|
||||
- and_88_ and
|
||||
+ PLACED ( 332 2018 ) N ;
|
||||
- and_89_ and
|
||||
+ PLACED ( 384 2054 ) N ;
|
||||
- and_90_ and
|
||||
+ PLACED ( 303 1615 ) N ;
|
||||
- and_91_ and
|
||||
+ PLACED ( 368 1616 ) N ;
|
||||
- and_92_ and
|
||||
+ PLACED ( 323 1651 ) N ;
|
||||
- and_93_ and
|
||||
+ PLACED ( 323 1534 ) N ;
|
||||
- and_94_ and
|
||||
+ PLACED ( 372 1555 ) N ;
|
||||
- and_95_ and
|
||||
+ PLACED ( 324 2145 ) N ;
|
||||
- and_96_ and
|
||||
+ PLACED ( 318 2420 ) N ;
|
||||
- and_97_ and
|
||||
+ PLACED ( 317 2235 ) N ;
|
||||
- and_98_ and
|
||||
+ PLACED ( 356 2259 ) N ;
|
||||
- and_99_ and
|
||||
+ PLACED ( 297 2140 ) N ;
|
||||
- and_100_ and
|
||||
+ PLACED ( 257 2135 ) N ;
|
||||
- and_101_ and
|
||||
+ PLACED ( 300 1985 ) N ;
|
||||
- and_102_ and
|
||||
+ PLACED ( 337 2069 ) N ;
|
||||
- and_103_ and
|
||||
+ PLACED ( 223 1745 ) N ;
|
||||
- and_104_ and
|
||||
+ PLACED ( 244 1547 ) N ;
|
||||
- and_105_ and
|
||||
+ PLACED ( 307 1585 ) N ;
|
||||
- and_106_ and
|
||||
+ PLACED ( 288 1603 ) N ;
|
||||
- and_107_ and
|
||||
+ PLACED ( 305 1539 ) N ;
|
||||
- and_108_ and
|
||||
+ PLACED ( 346 2385 ) N ;
|
||||
- and_109_ and
|
||||
+ PLACED ( 308 2183 ) N ;
|
||||
- and_110_ and
|
||||
+ PLACED ( 327 2264 ) N ;
|
||||
- and_111_ and
|
||||
+ PLACED ( 331 2193 ) N ;
|
||||
- and_112_ and
|
||||
+ PLACED ( 261 2353 ) N ;
|
||||
- and_113_ and
|
||||
+ PLACED ( 265 2397 ) N ;
|
||||
- and_114_ and
|
||||
+ PLACED ( 206 2187 ) N ;
|
||||
- and_115_ and
|
||||
+ PLACED ( 241 2096 ) N ;
|
||||
- and_116_ and
|
||||
+ PLACED ( 290 2393 ) N ;
|
||||
- and_117_ and
|
||||
+ PLACED ( 267 2029 ) N ;
|
||||
- and_118_ and
|
||||
+ PLACED ( 308 2041 ) N ;
|
||||
- and_119_ and
|
||||
+ PLACED ( 233 1936 ) N ;
|
||||
- and_120_ and
|
||||
+ PLACED ( 216 1873 ) N ;
|
||||
- and_121_ and
|
||||
+ PLACED ( 252 2005 ) N ;
|
||||
- and_122_ and
|
||||
+ PLACED ( 263 2196 ) N ;
|
||||
- and_123_ and
|
||||
+ PLACED ( 217 1998 ) N ;
|
||||
- and_124_ and
|
||||
+ PLACED ( 215 1874 ) N ;
|
||||
- and_125_ and
|
||||
+ PLACED ( 223 1913 ) N ;
|
||||
- and_126_ and
|
||||
+ PLACED ( 239 1851 ) N ;
|
||||
- and_127_ and
|
||||
+ PLACED ( 273 1759 ) N ;
|
||||
- and_128_ and
|
||||
+ PLACED ( 292 1742 ) N ;
|
||||
- and_129_ and
|
||||
+ PLACED ( 257 1738 ) N ;
|
||||
- and_130_ and
|
||||
+ PLACED ( 283 1695 ) N ;
|
||||
- and_131_ and
|
||||
+ PLACED ( 283 1353 ) N ;
|
||||
- and_132_ and
|
||||
+ PLACED ( 264 1282 ) N ;
|
||||
- and_133_ and
|
||||
+ PLACED ( 305 1546 ) N ;
|
||||
- and_134_ and
|
||||
+ PLACED ( 339 1711 ) N ;
|
||||
- and_135_ and
|
||||
+ PLACED ( 343 1481 ) N ;
|
||||
- and_136_ and
|
||||
+ PLACED ( 339 1615 ) N ;
|
||||
- and_137_ and
|
||||
+ PLACED ( 316 1972 ) N ;
|
||||
- and_138_ and
|
||||
+ PLACED ( 308 2115 ) N ;
|
||||
- and_139_ and
|
||||
+ PLACED ( 303 2104 ) N ;
|
||||
- and_140_ and
|
||||
+ PLACED ( 273 2136 ) N ;
|
||||
- and_141_ and
|
||||
+ PLACED ( 265 2039 ) N ;
|
||||
- and_142_ and
|
||||
+ PLACED ( 255 1948 ) N ;
|
||||
- and_143_ and
|
||||
+ PLACED ( 271 1689 ) N ;
|
||||
- and_144_ and
|
||||
+ PLACED ( 318 1652 ) N ;
|
||||
- and_145_ and
|
||||
+ PLACED ( 309 1789 ) N ;
|
||||
- and_146_ and
|
||||
+ PLACED ( 285 2384 ) N ;
|
||||
- and_147_ and
|
||||
+ PLACED ( 283 2733 ) N ;
|
||||
- and_148_ and
|
||||
+ PLACED ( 265 2766 ) N ;
|
||||
- and_149_ and
|
||||
+ PLACED ( 238 2669 ) N ;
|
||||
- and_150_ and
|
||||
+ PLACED ( 235 2556 ) N ;
|
||||
- and_151_ and
|
||||
+ PLACED ( 244 2315 ) N ;
|
||||
- and_152_ and
|
||||
+ PLACED ( 257 2023 ) N ;
|
||||
- and_153_ and
|
||||
+ PLACED ( 252 1854 ) N ;
|
||||
- and_154_ and
|
||||
+ PLACED ( 238 1676 ) N ;
|
||||
- and_155_ and
|
||||
+ PLACED ( 264 1872 ) N ;
|
||||
- and_156_ and
|
||||
+ PLACED ( 288 1660 ) N ;
|
||||
- and_157_ and
|
||||
+ PLACED ( 235 2521 ) N ;
|
||||
- and_158_ and
|
||||
+ PLACED ( 269 2239 ) N ;
|
||||
- and_159_ and
|
||||
+ PLACED ( 304 1991 ) N ;
|
||||
- and_160_ and
|
||||
+ PLACED ( 324 2064 ) N ;
|
||||
- and_161_ and
|
||||
+ PLACED ( 329 2322 ) N ;
|
||||
- and_162_ and
|
||||
+ PLACED ( 327 2514 ) N ;
|
||||
- and_163_ and
|
||||
+ PLACED ( 316 2452 ) N ;
|
||||
- and_164_ and
|
||||
+ PLACED ( 318 2129 ) N ;
|
||||
- and_165_ and
|
||||
+ PLACED ( 332 2052 ) N ;
|
||||
- and_166_ and
|
||||
+ PLACED ( 297 1862 ) N ;
|
||||
- and_167_ and
|
||||
+ PLACED ( 259 1808 ) N ;
|
||||
- and_168_ and
|
||||
+ PLACED ( 234 1632 ) N ;
|
||||
- and_169_ and
|
||||
+ PLACED ( 240 1637 ) N ;
|
||||
- and_170_ and
|
||||
+ PLACED ( 283 1638 ) N ;
|
||||
- and_171_ and
|
||||
+ PLACED ( 290 1746 ) N ;
|
||||
- and_172_ and
|
||||
+ PLACED ( 304 1747 ) N ;
|
||||
- and_173_ and
|
||||
+ PLACED ( 343 1524 ) N ;
|
||||
- and_174_ and
|
||||
+ PLACED ( 357 1552 ) N ;
|
||||
- and_175_ and
|
||||
+ PLACED ( 334 1953 ) N ;
|
||||
- and_176_ and
|
||||
+ PLACED ( 270 1854 ) N ;
|
||||
- and_177_ and
|
||||
+ PLACED ( 208 1512 ) N ;
|
||||
- and_178_ and
|
||||
+ PLACED ( 224 1451 ) N ;
|
||||
- and_179_ and
|
||||
+ PLACED ( 255 1730 ) N ;
|
||||
- and_180_ and
|
||||
+ PLACED ( 255 1863 ) N ;
|
||||
- and_181_ and
|
||||
+ PLACED ( 273 1955 ) N ;
|
||||
- and_182_ and
|
||||
+ PLACED ( 231 1984 ) N ;
|
||||
- and_183_ and
|
||||
+ PLACED ( 211 1965 ) N ;
|
||||
- and_184_ and
|
||||
+ PLACED ( 291 1904 ) N ;
|
||||
- and_185_ and
|
||||
+ PLACED ( 340 1338 ) N ;
|
||||
- and_186_ and
|
||||
+ PLACED ( 251 1535 ) N ;
|
||||
- and_187_ and
|
||||
+ PLACED ( 256 1770 ) N ;
|
||||
- and_188_ and
|
||||
+ PLACED ( 266 1892 ) N ;
|
||||
- and_189_ and
|
||||
+ PLACED ( 294 1835 ) N ;
|
||||
- and_190_ and
|
||||
+ PLACED ( 321 1872 ) N ;
|
||||
- and_191_ and
|
||||
+ PLACED ( 268 1583 ) N ;
|
||||
- and_192_ and
|
||||
+ PLACED ( 286 1565 ) N ;
|
||||
- and_193_ and
|
||||
+ PLACED ( 259 1511 ) N ;
|
||||
- and_194_ and
|
||||
+ PLACED ( 266 1392 ) N ;
|
||||
- and_195_ and
|
||||
+ PLACED ( 332 1343 ) N ;
|
||||
- and_196_ and
|
||||
+ PLACED ( 281 1028 ) N ;
|
||||
- and_197_ and
|
||||
+ PLACED ( 279 1214 ) N ;
|
||||
- and_198_ and
|
||||
+ PLACED ( 269 1581 ) N ;
|
||||
- and_199_ and
|
||||
+ PLACED ( 298 1919 ) N ;
|
||||
- and_200_ and
|
||||
+ PLACED ( 314 1400 ) N ;
|
||||
- and_201_ and
|
||||
+ PLACED ( 293 1254 ) N ;
|
||||
- and_202_ and
|
||||
+ PLACED ( 297 1512 ) N ;
|
||||
- and_203_ and
|
||||
+ PLACED ( 322 1650 ) N ;
|
||||
- and_204_ and
|
||||
+ PLACED ( 274 1262 ) N ;
|
||||
- and_205_ and
|
||||
+ PLACED ( 327 2088 ) N ;
|
||||
- and_206_ and
|
||||
+ PLACED ( 259 2079 ) N ;
|
||||
- and_207_ and
|
||||
+ PLACED ( 182 2101 ) N ;
|
||||
- and_208_ and
|
||||
+ PLACED ( 234 2049 ) N ;
|
||||
- and_209_ and
|
||||
+ PLACED ( 245 1212 ) N ;
|
||||
- and_210_ and
|
||||
+ PLACED ( 269 1735 ) N ;
|
||||
- and_211_ and
|
||||
+ PLACED ( 220 1419 ) N ;
|
||||
- and_212_ and
|
||||
+ PLACED ( 256 1926 ) N ;
|
||||
- and_213_ and
|
||||
+ PLACED ( 253 1459 ) N ;
|
||||
- and_214_ and
|
||||
+ PLACED ( 299 1870 ) N ;
|
||||
- and_215_ and
|
||||
+ PLACED ( 216 1720 ) N ;
|
||||
- and_216_ and
|
||||
+ PLACED ( 297 1924 ) N ;
|
||||
- and_217_ and
|
||||
+ PLACED ( 285 1489 ) N ;
|
||||
- and_218_ and
|
||||
+ PLACED ( 332 1873 ) N ;
|
||||
- and_219_ and
|
||||
+ PLACED ( 261 1448 ) N ;
|
||||
- and_220_ and
|
||||
+ PLACED ( 246 1539 ) N ;
|
||||
- and_221_ and
|
||||
+ PLACED ( 305 1739 ) N ;
|
||||
- and_222_ and
|
||||
+ PLACED ( 246 1408 ) N ;
|
||||
- and_223_ and
|
||||
+ PLACED ( 299 1679 ) N ;
|
||||
- and_224_ and
|
||||
+ PLACED ( 246 1152 ) N ;
|
||||
- and_225_ and
|
||||
+ PLACED ( 270 1489 ) N ;
|
||||
- and_226_ and
|
||||
+ PLACED ( 211 1425 ) N ;
|
||||
- and_227_ and
|
||||
+ PLACED ( 247 1642 ) N ;
|
||||
- and_228_ and
|
||||
+ PLACED ( 255 1051 ) N ;
|
||||
- and_229_ and
|
||||
+ PLACED ( 317 1373 ) N ;
|
||||
- and_230_ and
|
||||
+ PLACED ( 293 1093 ) N ;
|
||||
- and_231_ and
|
||||
+ PLACED ( 299 1252 ) N ;
|
||||
- and_232_ and
|
||||
+ PLACED ( 331 1477 ) N ;
|
||||
- and_233_ and
|
||||
+ PLACED ( 246 929 ) N ;
|
||||
- and_234_ and
|
||||
+ PLACED ( 260 1338 ) N ;
|
||||
- and_235_ and
|
||||
+ PLACED ( 219 983 ) N ;
|
||||
- and_236_ and
|
||||
+ PLACED ( 235 1382 ) N ;
|
||||
- and_237_ and
|
||||
+ PLACED ( 245 1582 ) N ;
|
||||
- and_238_ and
|
||||
+ PLACED ( 274 1788 ) N ;
|
||||
- and_239_ and
|
||||
+ PLACED ( 264 1693 ) N ;
|
||||
- and_240_ and
|
||||
+ PLACED ( 247 1704 ) N ;
|
||||
- and_241_ and
|
||||
+ PLACED ( 320 1883 ) N ;
|
||||
- and_242_ and
|
||||
+ PLACED ( 299 1071 ) N ;
|
||||
- and_243_ and
|
||||
+ PLACED ( 298 1121 ) N ;
|
||||
- and_244_ and
|
||||
+ PLACED ( 352 1424 ) N ;
|
||||
- and_245_ and
|
||||
+ PLACED ( 289 1057 ) N ;
|
||||
- and_246_ and
|
||||
+ PLACED ( 298 1384 ) N ;
|
||||
- and_247_ and
|
||||
+ PLACED ( 237 1451 ) N ;
|
||||
- and_248_ and
|
||||
+ PLACED ( 267 1622 ) N ;
|
||||
- and_249_ and
|
||||
+ PLACED ( 264 1493 ) N ;
|
||||
- and_250_ and
|
||||
+ PLACED ( 296 1436 ) N ;
|
||||
- and_251_ and
|
||||
+ PLACED ( 307 1788 ) N ;
|
||||
- and_252_ and
|
||||
+ PLACED ( 245 1424 ) N ;
|
||||
- and_253_ and
|
||||
+ PLACED ( 286 1455 ) N ;
|
||||
- and_254_ and
|
||||
+ PLACED ( 287 1667 ) N ;
|
||||
- and_255_ and
|
||||
+ PLACED ( 278 1541 ) N ;
|
||||
- and_256_ and
|
||||
+ PLACED ( 302 1432 ) N ;
|
||||
- and_257_ and
|
||||
+ PLACED ( 334 1542 ) N ;
|
||||
- and_258_ and
|
||||
+ PLACED ( 317 1683 ) N ;
|
||||
- and_259_ and
|
||||
+ PLACED ( 265 1649 ) N ;
|
||||
- and_260_ and
|
||||
+ PLACED ( 219 1451 ) N ;
|
||||
- and_261_ and
|
||||
+ PLACED ( 232 1351 ) N ;
|
||||
- and_262_ and
|
||||
+ PLACED ( 286 1363 ) N ;
|
||||
- and_263_ and
|
||||
+ PLACED ( 298 1423 ) N ;
|
||||
- and_264_ and
|
||||
+ PLACED ( 266 1592 ) N ;
|
||||
- and_265_ and
|
||||
+ PLACED ( 277 1582 ) N ;
|
||||
- and_266_ and
|
||||
+ PLACED ( 305 1688 ) N ;
|
||||
- and_267_ and
|
||||
+ PLACED ( 318 1781 ) N ;
|
||||
- and_268_ and
|
||||
+ PLACED ( 335 1897 ) N ;
|
||||
- and_269_ and
|
||||
+ PLACED ( 327 1925 ) N ;
|
||||
- and_270_ and
|
||||
+ PLACED ( 303 2018 ) N ;
|
||||
- and_271_ and
|
||||
+ PLACED ( 261 2104 ) N ;
|
||||
- and_272_ and
|
||||
+ PLACED ( 249 1919 ) N ;
|
||||
- and_273_ and
|
||||
+ PLACED ( 216 1544 ) N ;
|
||||
- and_274_ and
|
||||
+ PLACED ( 230 1380 ) N ;
|
||||
- and_275_ and
|
||||
+ PLACED ( 263 1216 ) N ;
|
||||
- and_276_ and
|
||||
+ PLACED ( 272 1194 ) N ;
|
||||
- and_277_ and
|
||||
+ PLACED ( 260 1226 ) N ;
|
||||
- and_278_ and
|
||||
+ PLACED ( 282 1288 ) N ;
|
||||
- and_279_ and
|
||||
+ PLACED ( 310 1333 ) N ;
|
||||
- and_280_ and
|
||||
+ PLACED ( 321 1390 ) N ;
|
||||
- and_281_ and
|
||||
+ PLACED ( 219 1239 ) N ;
|
||||
- and_282_ and
|
||||
+ PLACED ( 214 1455 ) N ;
|
||||
- and_283_ and
|
||||
+ PLACED ( 204 1534 ) N ;
|
||||
- and_284_ and
|
||||
+ PLACED ( 235 1479 ) N ;
|
||||
- and_285_ and
|
||||
+ PLACED ( 241 1385 ) N ;
|
||||
- and_286_ and
|
||||
+ PLACED ( 209 1359 ) N ;
|
||||
- and_287_ and
|
||||
+ PLACED ( 198 1362 ) N ;
|
||||
- and_288_ and
|
||||
+ PLACED ( 236 1604 ) N ;
|
||||
- and_289_ and
|
||||
+ PLACED ( 253 1664 ) N ;
|
||||
- and_290_ and
|
||||
+ PLACED ( 277 1635 ) N ;
|
||||
- and_291_ and
|
||||
+ PLACED ( 285 1672 ) N ;
|
||||
- and_292_ and
|
||||
+ PLACED ( 298 1679 ) N ;
|
||||
- and_293_ and
|
||||
+ PLACED ( 293 1584 ) N ;
|
||||
- and_294_ and
|
||||
+ PLACED ( 281 1526 ) N ;
|
||||
- and_295_ and
|
||||
+ PLACED ( 255 1472 ) N ;
|
||||
- and_296_ and
|
||||
+ PLACED ( 248 1514 ) N ;
|
||||
- and_297_ and
|
||||
+ PLACED ( 285 1464 ) N ;
|
||||
- and_298_ and
|
||||
+ PLACED ( 288 1514 ) N ;
|
||||
- and_299_ and
|
||||
+ PLACED ( 254 1435 ) N ;
|
||||
- and_300_ and
|
||||
+ PLACED ( 240 1318 ) N ;
|
||||
- and_301_ and
|
||||
+ PLACED ( 270 1418 ) N ;
|
||||
- and_302_ and
|
||||
+ PLACED ( 310 1492 ) N ;
|
||||
- and_303_ and
|
||||
+ PLACED ( 305 1395 ) N ;
|
||||
- and_304_ and
|
||||
+ PLACED ( 257 1358 ) N ;
|
||||
- and_305_ and
|
||||
+ PLACED ( 238 1474 ) N ;
|
||||
- and_306_ and
|
||||
+ PLACED ( 264 1567 ) N ;
|
||||
- and_307_ and
|
||||
+ PLACED ( 274 1430 ) N ;
|
||||
- and_308_ and
|
||||
+ PLACED ( 334 1790 ) N ;
|
||||
- and_309_ and
|
||||
+ PLACED ( 326 1646 ) N ;
|
||||
- and_310_ and
|
||||
+ PLACED ( 265 1838 ) N ;
|
||||
- and_311_ and
|
||||
+ PLACED ( 269 1762 ) N ;
|
||||
- and_312_ and
|
||||
+ PLACED ( 292 2015 ) N ;
|
||||
- and_313_ and
|
||||
+ PLACED ( 304 1747 ) N ;
|
||||
- and_314_ and
|
||||
+ PLACED ( 227 2115 ) N ;
|
||||
- and_315_ and
|
||||
+ PLACED ( 223 2000 ) N ;
|
||||
- and_316_ and
|
||||
+ PLACED ( 313 1711 ) N ;
|
||||
- and_317_ and
|
||||
+ PLACED ( 529 888 ) N ;
|
||||
END COMPONENTS
|
||||
|
||||
PINS 91 ;
|
||||
- output_0 + NET output_0
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 0 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_1 + NET output_1
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 10 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_2 + NET output_2
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 20 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_3 + NET output_3
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 30 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_4 + NET output_4
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 40 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_5 + NET output_5
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 50 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_6 + NET output_6
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 60 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_7 + NET output_7
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 70 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_8 + NET output_8
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 80 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_9 + NET output_9
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 90 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_10 + NET output_10
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 100 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_11 + NET output_11
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 110 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_12 + NET output_12
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 120 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_13 + NET output_13
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 130 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_14 + NET output_14
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 140 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_15 + NET output_15
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 150 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_16 + NET output_16
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 160 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_17 + NET output_17
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 170 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_18 + NET output_18
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 180 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_19 + NET output_19
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 190 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_20 + NET output_20
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 200 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_21 + NET output_21
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 210 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_22 + NET output_22
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 220 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_23 + NET output_23
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 230 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_24 + NET output_24
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 240 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_25 + NET output_25
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 250 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_26 + NET output_26
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 260 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_27 + NET output_27
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 270 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_28 + NET output_28
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 280 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- output_29 + NET output_29
|
||||
+ DIRECTION OUTPUT
|
||||
+ PLACED ( 290 3470 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_0 + NET input_0
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 0 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_1 + NET input_1
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 10 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_2 + NET input_2
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 20 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_3 + NET input_3
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 30 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_4 + NET input_4
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 40 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_5 + NET input_5
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 50 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_6 + NET input_6
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 60 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_7 + NET input_7
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 70 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_8 + NET input_8
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 80 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_9 + NET input_9
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 90 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_10 + NET input_10
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 100 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_11 + NET input_11
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 110 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_12 + NET input_12
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 120 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_13 + NET input_13
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 130 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_14 + NET input_14
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 140 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_15 + NET input_15
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 150 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_16 + NET input_16
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 160 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_17 + NET input_17
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 170 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_18 + NET input_18
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 180 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_19 + NET input_19
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 190 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_20 + NET input_20
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 200 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_21 + NET input_21
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 210 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_22 + NET input_22
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 220 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_23 + NET input_23
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 230 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_24 + NET input_24
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 240 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_25 + NET input_25
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 250 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_26 + NET input_26
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 260 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_27 + NET input_27
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 270 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_28 + NET input_28
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 280 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_29 + NET input_29
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 290 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_30 + NET input_30
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 300 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_31 + NET input_31
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 310 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_32 + NET input_32
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 320 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_33 + NET input_33
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 330 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_34 + NET input_34
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 340 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_35 + NET input_35
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 350 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_36 + NET input_36
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 360 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_37 + NET input_37
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 370 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_38 + NET input_38
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 380 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_39 + NET input_39
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 390 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_40 + NET input_40
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 400 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_41 + NET input_41
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 410 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_42 + NET input_42
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 420 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_43 + NET input_43
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 430 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_44 + NET input_44
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 440 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_45 + NET input_45
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 450 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_46 + NET input_46
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 460 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_47 + NET input_47
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 470 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_48 + NET input_48
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 480 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_49 + NET input_49
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 490 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_50 + NET input_50
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 500 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_51 + NET input_51
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 510 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_52 + NET input_52
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 520 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_53 + NET input_53
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 530 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_54 + NET input_54
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 540 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_55 + NET input_55
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 550 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_56 + NET input_56
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 560 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_57 + NET input_57
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 570 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_58 + NET input_58
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 580 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_59 + NET input_59
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 590 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
- input_clk + NET input_clk
|
||||
+ DIRECTION INPUT
|
||||
+ PLACED ( 600 0 ) N
|
||||
+ LAYER metal3 ( 0 0 ) ( 510 100 ) ;
|
||||
END PINS
|
11037
src/def/sin.def
11037
src/def/sin.def
File diff suppressed because it is too large
Load Diff
50013
src/def/sqrt.def
50013
src/def/sqrt.def
File diff suppressed because it is too large
Load Diff
37745
src/def/square.def
37745
src/def/square.def
File diff suppressed because it is too large
Load Diff
31533
src/def/voter.def
31533
src/def/voter.def
File diff suppressed because it is too large
Load Diff
|
@ -73,7 +73,7 @@ class stp_npn_resynthesis {
|
|||
std::unordered_map<std::string, std::vector<std::string>> opt_klut;
|
||||
|
||||
void load_optimal_klut() {
|
||||
std::ifstream infile("../src/networks/stp/opt_stp.txt");
|
||||
std::ifstream infile("../src/networks/stp/opt_map.txt");
|
||||
if (!infile) {
|
||||
std::cout << " Cannot open file " << std::endl;
|
||||
assert(false);
|
||||
|
|
|
@ -77,7 +77,8 @@
|
|||
#include "commands/xmg/xmgrs.hpp"
|
||||
#include "commands/xmg/xmgrw.hpp"
|
||||
#include "commands/exact/exact_multi.hpp"
|
||||
#include "commands/to_npz.hpp"
|
||||
// #include "commands/exact/exact_klut.hpp"
|
||||
// #include "commands/exact/exactlut.hpp"
|
||||
#include "commands/to_npz.hpp"
|
||||
|
||||
ALICE_MAIN(phyLS)
|
Loading…
Reference in New Issue