Forget last commit - problem was that golden netlists should not be compared with net names as those are node numbers and they might change with C++ STL implementation

This commit is contained in:
Matthias Koefferlein 2022-03-18 00:10:00 +01:00
parent d3093f83c3
commit 5b9f194ecc
11 changed files with 8 additions and 534 deletions

View File

@ -299,7 +299,7 @@ private:
}
};
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match)
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match, bool with_names)
{
db::Netlist au_nl;
for (db::Netlist::const_device_class_iterator d = netlist.begin_device_classes (); d != netlist.end_device_classes (); ++d) {
@ -308,12 +308,13 @@ void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist,
au_nl.from_string (au_nl_string);
compare_netlist (_this, netlist, au_nl, exact_parameter_match);
compare_netlist (_this, netlist, au_nl, exact_parameter_match, with_names);
}
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match)
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match, bool with_names)
{
db::NetlistComparer comp (0);
comp.set_dont_consider_net_names (! with_names);
db::Netlist netlist_copy (netlist);
@ -330,6 +331,7 @@ void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist,
// Compare once again - this time with logger
CompareLogger logger;
db::NetlistComparer comp (&logger);
comp.set_dont_consider_net_names (! with_names);
comp.compare (&netlist_copy, &netlist_au);
}
}

View File

@ -85,12 +85,12 @@ void DB_PUBLIC compare_layouts (tl::TestBase *_this, const db::Layout &layout, c
/**
* @brief Compares a netlist against a string
*/
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match = false);
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match = false, bool with_names = false);
/**
* @brief Compares a netlist against another netlist
*/
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match = false);
void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match = false, bool with_names = false);
/**
* @brief Convenient compare of region vs. string

View File

@ -76,19 +76,7 @@ void run_test (tl::TestBase *_this, const std::string &lvs_rs, const std::string
reader.read (stream, nl2);
}
// NOTE: it's kind of redundant to use the comparer for checking the LVS
// output, but this will essentially verify the output netlist's consistency.
db::NetlistCrossReference xref;
db::NetlistComparer comparer (&xref);
comparer.set_max_branch_complexity (500);
comparer.set_max_depth (20);
bool res = comparer.compare (&nl1, &nl2);
if (! res) {
tl::info << "Netlist mismatch:";
tl::info << " current: " << output_cir;
tl::info << " golden: " << au_cir;
}
EXPECT_EQ (res, true);
db::compare_netlist (_this, nl1, nl2);
if (! au_lvsdb_name.empty ()) {
std::string au_lvsdb = tl::combine_path (testsrc, au_lvsdb_name);

View File

@ -1,161 +0,0 @@
* Extracted by KLayout
* cell SP6TArray_2X4
.SUBCKT SP6TArray_2X4
* net 1 vdd
* net 2 bl[0]
* net 3 bl_n[0]
* net 4 bl[1]
* net 5 bl_n[1]
* net 6 bl[2]
* net 7 bl_n[2]
* net 8 bl[3]
* net 9 bl_n[3]
* net 26 wl[0]
* net 31 wl[1]
* net 52 vss
* device instance $1 r0 *1 0.215,1.935 sky130_fd_pr__nfet_01v8__model
M$1 52 11 12 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.18165P PS=1.37U PD=1.285U
* device instance $2 r0 *1 0.605,2.56 sky130_fd_pr__nfet_01v8__model
M$2 12 26 2 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $3 r0 *1 0.605,2.99 sky130_fd_pr__nfet_01v8__model
M$3 2 31 32 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $4 r0 *1 0.215,3.615 sky130_fd_pr__nfet_01v8__model
M$4 32 34 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $5 r0 *1 1.965,1.935 sky130_fd_pr__nfet_01v8__model
M$5 11 12 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $6 r0 *1 2.395,1.935 sky130_fd_pr__nfet_01v8__model
M$6 52 15 16 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $7 r0 *1 1.575,2.56 sky130_fd_pr__nfet_01v8__model
M$7 11 26 3 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $8 r0 *1 2.785,2.56 sky130_fd_pr__nfet_01v8__model
M$8 16 26 4 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $9 r0 *1 1.575,2.99 sky130_fd_pr__nfet_01v8__model
M$9 3 31 34 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $10 r0 *1 2.785,2.99 sky130_fd_pr__nfet_01v8__model
M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $11 r0 *1 1.965,3.615 sky130_fd_pr__nfet_01v8__model
M$11 34 32 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $12 r0 *1 2.395,3.615 sky130_fd_pr__nfet_01v8__model
M$12 35 47 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $13 r0 *1 4.145,1.935 sky130_fd_pr__nfet_01v8__model
M$13 15 16 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $14 r0 *1 4.575,1.935 sky130_fd_pr__nfet_01v8__model
M$14 52 19 20 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $15 r0 *1 3.755,2.56 sky130_fd_pr__nfet_01v8__model
M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $16 r0 *1 4.965,2.56 sky130_fd_pr__nfet_01v8__model
M$16 20 26 6 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $17 r0 *1 3.755,2.99 sky130_fd_pr__nfet_01v8__model
M$17 5 31 47 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model
M$18 6 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $19 r0 *1 4.145,3.615 sky130_fd_pr__nfet_01v8__model
M$19 47 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $20 r0 *1 4.575,3.615 sky130_fd_pr__nfet_01v8__model
M$20 37 49 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model
M$21 19 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $22 r0 *1 6.755,1.935 sky130_fd_pr__nfet_01v8__model
M$22 52 23 24 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $23 r0 *1 5.935,2.56 sky130_fd_pr__nfet_01v8__model
M$23 19 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $24 r0 *1 7.145,2.56 sky130_fd_pr__nfet_01v8__model
M$24 24 26 8 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $25 r0 *1 5.935,2.99 sky130_fd_pr__nfet_01v8__model
M$25 7 31 49 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model
M$26 8 31 39 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model
M$27 49 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $28 r0 *1 6.755,3.615 sky130_fd_pr__nfet_01v8__model
M$28 39 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $29 r0 *1 8.505,1.935 sky130_fd_pr__nfet_01v8__model
M$29 23 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $30 r0 *1 8.115,2.56 sky130_fd_pr__nfet_01v8__model
M$30 23 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $31 r0 *1 8.115,2.99 sky130_fd_pr__nfet_01v8__model
M$31 9 31 50 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $32 r0 *1 8.505,3.615 sky130_fd_pr__nfet_01v8__model
M$32 50 39 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $33 r0 *1 0.215,0.605 sky130_fd_pr__pfet_01v8__model
M$33 1 11 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.1869P PS=1.37U PD=1.73U
* device instance $34 r0 *1 1.965,0.605 sky130_fd_pr__pfet_01v8__model
M$34 11 12 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $35 r0 *1 2.395,0.605 sky130_fd_pr__pfet_01v8__model
M$35 1 15 16 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $36 r0 *1 4.145,0.605 sky130_fd_pr__pfet_01v8__model
M$36 15 16 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $37 r0 *1 4.575,0.605 sky130_fd_pr__pfet_01v8__model
M$37 1 19 20 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $38 r0 *1 6.325,0.605 sky130_fd_pr__pfet_01v8__model
M$38 19 20 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $39 r0 *1 6.755,0.605 sky130_fd_pr__pfet_01v8__model
M$39 1 23 24 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $40 r0 *1 8.505,0.605 sky130_fd_pr__pfet_01v8__model
M$40 23 24 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.1113P PS=1.73U PD=1.37U
* device instance $41 r0 *1 0.215,4.945 sky130_fd_pr__pfet_01v8__model
M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.1869P PS=1.37U PD=1.73U
* device instance $42 r0 *1 1.965,4.945 sky130_fd_pr__pfet_01v8__model
M$42 34 32 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $43 r0 *1 2.395,4.945 sky130_fd_pr__pfet_01v8__model
M$43 1 47 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $44 r0 *1 4.145,4.945 sky130_fd_pr__pfet_01v8__model
M$44 47 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $45 r0 *1 4.575,4.945 sky130_fd_pr__pfet_01v8__model
M$45 1 49 37 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $46 r0 *1 6.325,4.945 sky130_fd_pr__pfet_01v8__model
M$46 49 37 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $47 r0 *1 6.755,4.945 sky130_fd_pr__pfet_01v8__model
M$47 1 50 39 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $48 r0 *1 8.505,4.945 sky130_fd_pr__pfet_01v8__model
M$48 50 39 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.1113P PS=1.73U PD=1.37U
.ENDS SP6TArray_2X4

View File

@ -1,161 +0,0 @@
* Extracted by KLayout
* cell SP6TArray_2X4
.SUBCKT SP6TArray_2X4
* net 1 vdd
* net 2 bl[0]
* net 3 bl_n[0]
* net 4 bl[1]
* net 5 bl_n[1]
* net 6 bl[2]
* net 7 bl_n[2]
* net 8 bl[3]
* net 9 bl_n[3]
* net 26 wl[0]
* net 31 wl[1]
* net 52 vss
* device instance $1 r0 *1 0.215,1.935 sky130_fd_pr__nfet_01v8__model
M$1 52 11 12 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.18165P PS=1.37U PD=1.285U
* device instance $2 r0 *1 0.605,2.56 sky130_fd_pr__nfet_01v8__model
M$2 12 26 2 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $3 r0 *1 0.605,2.99 sky130_fd_pr__nfet_01v8__model
M$3 2 31 32 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $4 r0 *1 0.215,3.615 sky130_fd_pr__nfet_01v8__model
M$4 32 34 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $5 r0 *1 1.965,1.935 sky130_fd_pr__nfet_01v8__model
M$5 11 12 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $6 r0 *1 2.395,1.935 sky130_fd_pr__nfet_01v8__model
M$6 52 15 16 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $7 r0 *1 1.575,2.56 sky130_fd_pr__nfet_01v8__model
M$7 11 26 3 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $8 r0 *1 2.785,2.56 sky130_fd_pr__nfet_01v8__model
M$8 16 26 4 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $9 r0 *1 1.575,2.99 sky130_fd_pr__nfet_01v8__model
M$9 3 31 34 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $10 r0 *1 2.785,2.99 sky130_fd_pr__nfet_01v8__model
M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $11 r0 *1 1.965,3.615 sky130_fd_pr__nfet_01v8__model
M$11 34 32 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $12 r0 *1 2.395,3.615 sky130_fd_pr__nfet_01v8__model
M$12 35 47 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $13 r0 *1 4.145,1.935 sky130_fd_pr__nfet_01v8__model
M$13 15 16 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $14 r0 *1 4.575,1.935 sky130_fd_pr__nfet_01v8__model
M$14 52 19 20 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $15 r0 *1 3.755,2.56 sky130_fd_pr__nfet_01v8__model
M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $16 r0 *1 4.965,2.56 sky130_fd_pr__nfet_01v8__model
M$16 20 26 6 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $17 r0 *1 3.755,2.99 sky130_fd_pr__nfet_01v8__model
M$17 5 31 47 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model
M$18 6 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $19 r0 *1 4.145,3.615 sky130_fd_pr__nfet_01v8__model
M$19 47 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $20 r0 *1 4.575,3.615 sky130_fd_pr__nfet_01v8__model
M$20 37 49 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model
M$21 19 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $22 r0 *1 6.755,1.935 sky130_fd_pr__nfet_01v8__model
M$22 52 23 24 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $23 r0 *1 5.935,2.56 sky130_fd_pr__nfet_01v8__model
M$23 19 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $24 r0 *1 7.145,2.56 sky130_fd_pr__nfet_01v8__model
M$24 24 26 8 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $25 r0 *1 5.935,2.99 sky130_fd_pr__nfet_01v8__model
M$25 7 31 49 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model
M$26 8 31 39 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model
M$27 49 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $28 r0 *1 6.755,3.615 sky130_fd_pr__nfet_01v8__model
M$28 39 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $29 r0 *1 8.505,1.935 sky130_fd_pr__nfet_01v8__model
M$29 23 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $30 r0 *1 8.115,2.56 sky130_fd_pr__nfet_01v8__model
M$30 23 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.0588P PS=1.285U PD=0.7U
* device instance $31 r0 *1 8.115,2.99 sky130_fd_pr__nfet_01v8__model
M$31 9 31 50 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.18165P PS=0.7U PD=1.285U
* device instance $32 r0 *1 8.505,3.615 sky130_fd_pr__nfet_01v8__model
M$32 50 39 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $33 r0 *1 0.215,0.605 sky130_fd_pr__pfet_01v8__model
M$33 1 11 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.1869P PS=1.37U PD=1.73U
* device instance $34 r0 *1 1.965,0.605 sky130_fd_pr__pfet_01v8__model
M$34 11 12 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $35 r0 *1 2.395,0.605 sky130_fd_pr__pfet_01v8__model
M$35 1 15 16 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $36 r0 *1 4.145,0.605 sky130_fd_pr__pfet_01v8__model
M$36 15 16 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $37 r0 *1 4.575,0.605 sky130_fd_pr__pfet_01v8__model
M$37 1 19 20 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $38 r0 *1 6.325,0.605 sky130_fd_pr__pfet_01v8__model
M$38 19 20 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $39 r0 *1 6.755,0.605 sky130_fd_pr__pfet_01v8__model
M$39 1 23 24 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $40 r0 *1 8.505,0.605 sky130_fd_pr__pfet_01v8__model
M$40 23 24 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.1113P PS=1.73U PD=1.37U
* device instance $41 r0 *1 0.215,4.945 sky130_fd_pr__pfet_01v8__model
M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.1869P PS=1.37U PD=1.73U
* device instance $42 r0 *1 1.965,4.945 sky130_fd_pr__pfet_01v8__model
M$42 34 32 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $43 r0 *1 2.395,4.945 sky130_fd_pr__pfet_01v8__model
M$43 1 47 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $44 r0 *1 4.145,4.945 sky130_fd_pr__pfet_01v8__model
M$44 47 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $45 r0 *1 4.575,4.945 sky130_fd_pr__pfet_01v8__model
M$45 1 49 37 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $46 r0 *1 6.325,4.945 sky130_fd_pr__pfet_01v8__model
M$46 49 37 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.0588P PS=1.73U PD=0.7U
* device instance $47 r0 *1 6.755,4.945 sky130_fd_pr__pfet_01v8__model
M$47 1 50 39 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P
+ AD=0.1869P PS=0.7U PD=1.73U
* device instance $48 r0 *1 8.505,4.945 sky130_fd_pr__pfet_01v8__model
M$48 50 39 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.1113P PS=1.73U PD=1.37U
.ENDS SP6TArray_2X4

View File

@ -1,97 +0,0 @@
* Extracted by KLayout
* cell SP6TArray_2X4
.SUBCKT SP6TArray_2X4
* net 1 bl[0]
* net 2 bl_n[0]
* net 3 bl[1]
* net 4 bl_n[1]
* net 5 bl[2]
* net 6 bl_n[2]
* net 7 bl[3]
* net 8 bl_n[3]
* net 9 vdd
* net 10 wl[0]
* net 11 wl[1]
* net 12 vss
* cell instance $1 r0 *1 0,0
X$1 1 2 3 4 9 10 11 12 SP6TArray_2X2
* cell instance $2 r0 *1 4.36,0
X$2 5 6 7 8 9 10 11 12 SP6TArray_2X2
.ENDS SP6TArray_2X4
* cell SP6TArray_2X2
* pin bl[0]
* pin bl_n[0]
* pin bl[1]
* pin bl_n[1]
* pin vdd
* pin wl[0]
* pin wl[1]
* pin vss
.SUBCKT SP6TArray_2X2 1 2 3 4 5 6 7 8
* net 1 bl[0]
* net 2 bl_n[0]
* net 3 bl[1]
* net 4 bl_n[1]
* net 5 vdd
* net 6 wl[0]
* net 7 wl[1]
* net 8 vss
* cell instance $1 r0 *1 0,0
X$1 1 2 5 6 7 8 SP6TArray_2X1
* cell instance $2 r0 *1 2.18,0
X$2 3 4 5 6 7 8 SP6TArray_2X1
.ENDS SP6TArray_2X2
* cell SP6TArray_2X1
* pin bl[0]
* pin bl_n[0]
* pin vdd
* pin wl[0]
* pin wl[1]
* pin vss
.SUBCKT SP6TArray_2X1 1 2 3 4 5 6
* net 1 bl[0]
* net 2 bl_n[0]
* net 3 vdd
* net 4 wl[0]
* net 5 wl[1]
* net 6 vss
* cell instance $1 r0 *1 0,2.775
X$1 3 5 1 2 6 SP6TCell
* cell instance $2 m0 *1 0,2.775
X$2 3 4 1 2 6 SP6TCell
.ENDS SP6TArray_2X1
* cell SP6TCell
* pin vdd
* pin wl
* pin bl
* pin bl_n
* pin vss
.SUBCKT SP6TCell 5 6 7 8 10
* net 5 vdd
* net 6 wl
* net 7 bl
* net 8 bl_n
* net 10 vss
* device instance $1 r0 *1 1.575,0.215 sky130_fd_pr__nfet_01v8__model
M$1 8 6 4 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.18165P PS=1.37U PD=1.285U
* device instance $2 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model
M$2 4 3 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $3 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model
M$3 7 6 3 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.18165P PS=1.37U PD=1.285U
* device instance $4 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model
M$4 3 4 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $5 r0 *1 1.965,2.17 sky130_fd_pr__pfet_01v8__model
M$5 4 3 5 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.1113P PS=1.73U PD=1.37U
* device instance $6 r0 *1 0.215,2.17 sky130_fd_pr__pfet_01v8__model
M$6 5 4 3 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.1869P PS=1.37U PD=1.73U
.ENDS SP6TCell

View File

@ -1,97 +0,0 @@
* Extracted by KLayout
* cell SP6TArray_2X4
.SUBCKT SP6TArray_2X4
* net 1 bl[0]
* net 2 bl_n[0]
* net 3 bl[1]
* net 4 bl_n[1]
* net 5 bl[2]
* net 6 bl_n[2]
* net 7 bl[3]
* net 8 bl_n[3]
* net 9 vdd
* net 10 wl[0]
* net 11 wl[1]
* net 12 vss
* cell instance $1 r0 *1 0,0
X$1 1 2 3 4 9 10 11 12 SP6TArray_2X2
* cell instance $2 r0 *1 4.36,0
X$2 5 6 7 8 9 10 11 12 SP6TArray_2X2
.ENDS SP6TArray_2X4
* cell SP6TArray_2X2
* pin bl[0]
* pin bl_n[0]
* pin bl[1]
* pin bl_n[1]
* pin vdd
* pin wl[0]
* pin wl[1]
* pin vss
.SUBCKT SP6TArray_2X2 1 2 3 4 5 6 7 8
* net 1 bl[0]
* net 2 bl_n[0]
* net 3 bl[1]
* net 4 bl_n[1]
* net 5 vdd
* net 6 wl[0]
* net 7 wl[1]
* net 8 vss
* cell instance $1 r0 *1 0,0
X$1 1 2 5 6 7 8 SP6TArray_2X1
* cell instance $2 r0 *1 2.18,0
X$2 3 4 5 6 7 8 SP6TArray_2X1
.ENDS SP6TArray_2X2
* cell SP6TArray_2X1
* pin bl[0]
* pin bl_n[0]
* pin vdd
* pin wl[0]
* pin wl[1]
* pin vss
.SUBCKT SP6TArray_2X1 1 2 3 4 5 6
* net 1 bl[0]
* net 2 bl_n[0]
* net 3 vdd
* net 4 wl[0]
* net 5 wl[1]
* net 6 vss
* cell instance $1 r0 *1 0,2.775
X$1 3 5 1 2 6 SP6TCell
* cell instance $2 m0 *1 0,2.775
X$2 3 4 1 2 6 SP6TCell
.ENDS SP6TArray_2X1
* cell SP6TCell
* pin vdd
* pin wl
* pin bl
* pin bl_n
* pin vss
.SUBCKT SP6TCell 5 6 7 8 10
* net 5 vdd
* net 6 wl
* net 7 bl
* net 8 bl_n
* net 10 vss
* device instance $1 r0 *1 1.575,0.215 sky130_fd_pr__nfet_01v8__model
M$1 8 6 4 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.18165P PS=1.37U PD=1.285U
* device instance $2 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model
M$2 4 3 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $3 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model
M$3 7 6 3 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.18165P PS=1.37U PD=1.285U
* device instance $4 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model
M$4 3 4 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P
+ AD=0.1113P PS=1.285U PD=1.37U
* device instance $5 r0 *1 1.965,2.17 sky130_fd_pr__pfet_01v8__model
M$5 4 3 5 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P
+ AD=0.1113P PS=1.73U PD=1.37U
* device instance $6 r0 *1 0.215,2.17 sky130_fd_pr__pfet_01v8__model
M$6 5 4 3 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P
+ AD=0.1869P PS=1.37U PD=1.73U
.ENDS SP6TCell