mirror of https://github.com/KLayout/klayout.git
Made net name optional in l2n format.
This commit is contained in:
parent
f9c33733b9
commit
3f1cd226a5
|
|
@ -36,6 +36,7 @@ namespace l2n_std_format
|
|||
template<> DB_PUBLIC const std::string keys<false>::global_key ("global");
|
||||
template<> DB_PUBLIC const std::string keys<false>::circuit_key ("circuit");
|
||||
template<> DB_PUBLIC const std::string keys<false>::net_key ("net");
|
||||
template<> DB_PUBLIC const std::string keys<false>::name_key ("name");
|
||||
template<> DB_PUBLIC const std::string keys<false>::device_key ("device");
|
||||
template<> DB_PUBLIC const std::string keys<false>::polygon_key ("polygon");
|
||||
template<> DB_PUBLIC const std::string keys<false>::rect_key ("rect");
|
||||
|
|
@ -57,6 +58,7 @@ namespace l2n_std_format
|
|||
template<> DB_PUBLIC const std::string keys<true>::global_key ("G");
|
||||
template<> DB_PUBLIC const std::string keys<true>::circuit_key ("X");
|
||||
template<> DB_PUBLIC const std::string keys<true>::net_key ("N");
|
||||
template<> DB_PUBLIC const std::string keys<true>::name_key ("I");
|
||||
template<> DB_PUBLIC const std::string keys<true>::device_key ("D");
|
||||
template<> DB_PUBLIC const std::string keys<true>::polygon_key ("Q");
|
||||
template<> DB_PUBLIC const std::string keys<true>::rect_key ("R");
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ namespace db
|
|||
*
|
||||
* [circuit-def]:
|
||||
*
|
||||
* net(<name> <id> [geometry-def])
|
||||
* net(<id> [net-name]? [geometry-def]*)
|
||||
* - net geometry [short key: N]
|
||||
* A net declaration shall be there also if no geometry
|
||||
* is present. The ID is a numerical shortcut for the net.
|
||||
|
|
@ -72,6 +72,9 @@ namespace db
|
|||
* - device with connections [short key: D]
|
||||
* circuit(<name> [circuit-def]) - subcircuit with connections [short key: X]
|
||||
*
|
||||
* [net-name]:
|
||||
* name(<net-name>) - specify net name [short key:
|
||||
*
|
||||
* [geometry-def]:
|
||||
*
|
||||
* polygon(<layer> <x> <y> ...) - defines a polygon [short key: Q]
|
||||
|
|
@ -81,7 +84,7 @@ namespace db
|
|||
*
|
||||
* [device-abstract-def]:
|
||||
*
|
||||
* terminal(<terminal-name> [geometry-def])
|
||||
* terminal(<terminal-name> [geometry-def]*)
|
||||
* - specifies the terminal geometry [short key: T]
|
||||
*
|
||||
* [device-def]:
|
||||
|
|
@ -116,6 +119,7 @@ namespace l2n_std_format
|
|||
static const std::string global_key;
|
||||
static const std::string circuit_key;
|
||||
static const std::string net_key;
|
||||
static const std::string name_key;
|
||||
static const std::string device_key;
|
||||
static const std::string subcircuit_key;
|
||||
static const std::string polygon_key;
|
||||
|
|
|
|||
|
|
@ -394,10 +394,14 @@ LayoutToNetlistStandardReader::read_net (db::LayoutToNetlist *l2n, db::Circuit *
|
|||
{
|
||||
Brace br (this);
|
||||
|
||||
std::string name;
|
||||
read_word_or_quoted (name);
|
||||
|
||||
unsigned int id = (unsigned int) read_int ();
|
||||
std::string name;
|
||||
|
||||
if (test (skeys::name_key) || test (lkeys::name_key)) {
|
||||
Brace br_name (this);
|
||||
read_word_or_quoted (name);
|
||||
br_name.done ();
|
||||
}
|
||||
|
||||
db::Net *net = new db::Net ();
|
||||
net->set_name (name);
|
||||
|
|
|
|||
|
|
@ -309,7 +309,11 @@ void std_writer_impl<Keys>::write (const db::LayoutToNetlist *l2n, const db::Net
|
|||
} else {
|
||||
|
||||
if (! any) {
|
||||
*mp_stream << indent1 << Keys::net_key << "(" << tl::to_word_or_quoted_string (net.expanded_name ()) << " " << id << endl;
|
||||
*mp_stream << indent1 << Keys::net_key << "(" << id;
|
||||
if (! net.name ().empty ()) {
|
||||
*mp_stream << " " << Keys::name_key << "(" << tl::to_word_or_quoted_string (net.name ()) << ")";
|
||||
}
|
||||
*mp_stream << endl;
|
||||
any = true;
|
||||
}
|
||||
|
||||
|
|
@ -330,7 +334,13 @@ void std_writer_impl<Keys>::write (const db::LayoutToNetlist *l2n, const db::Net
|
|||
if (any) {
|
||||
*mp_stream << indent1 << ")" << endl;
|
||||
} else {
|
||||
*mp_stream << indent1 << Keys::net_key << "(" << tl::to_word_or_quoted_string (net.expanded_name ()) << " " << id << ")" << endl;
|
||||
|
||||
*mp_stream << indent1 << Keys::net_key << "(" << id;
|
||||
if (! net.name ().empty ()) {
|
||||
*mp_stream << " " << Keys::name_key << "(" << tl::to_word_or_quoted_string (net.name ()) << ")";
|
||||
}
|
||||
*mp_stream << ")" << endl;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -72,7 +72,10 @@ void NetlistDeviceExtractorMOS3Transistor::extract_devices (const std::vector<db
|
|||
for (db::Region::const_iterator p = rgates.begin_merged (); !p.at_end (); ++p) {
|
||||
|
||||
db::Region rgate (*p);
|
||||
rgate.set_base_verbosity (rgates.base_verbosity ());
|
||||
|
||||
db::Region rdiff2gate = rdiff.selected_interacting (rgate);
|
||||
rdiff2gate.set_base_verbosity (rdiff.base_verbosity ());
|
||||
|
||||
if (rdiff2gate.empty ()) {
|
||||
error (tl::to_string (tr ("Gate shape touches no diffusion - ignored")), *p);
|
||||
|
|
@ -86,7 +89,6 @@ void NetlistDeviceExtractorMOS3Transistor::extract_devices (const std::vector<db
|
|||
continue;
|
||||
}
|
||||
|
||||
rgate.set_base_verbosity (50);
|
||||
db::Edges edges (rgate.edges () & rdiff2gate.edges ());
|
||||
if (edges.size () != 2) {
|
||||
error (tl::sprintf (tl::to_string (tr ("Expected two edges interacting gate/diff (found %d) - width and length may be incorrect")), int (edges.size ())), *p);
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -86,7 +86,7 @@ device(D$NMOS$1 NMOS
|
|||
circuit(INV2
|
||||
|
||||
# Nets with their geometries
|
||||
net(IN 1
|
||||
net(1 name(IN)
|
||||
rect(poly -525 -250 -275 2250)
|
||||
rect(poly -1700 1620 -400 1980)
|
||||
rect(poly -525 -800 -275 800)
|
||||
|
|
@ -94,7 +94,7 @@ circuit(INV2
|
|||
rect(poly_lbl -801 1799 -799 1801)
|
||||
rect(poly_cont -1630 1690 -1410 1910)
|
||||
)
|
||||
net($2 2
|
||||
net(2
|
||||
rect(poly 275 -250 525 2250)
|
||||
rect(poly 220 820 580 1180)
|
||||
rect(poly 275 2000 525 3600)
|
||||
|
|
@ -111,7 +111,7 @@ circuit(INV2
|
|||
rect(psd -1050 2325 -525 3275)
|
||||
rect(nsd -1050 -475 -525 475)
|
||||
)
|
||||
net(OUT 3
|
||||
net(3 name(OUT)
|
||||
rect(diff_cont 690 2890 910 3110)
|
||||
rect(diff_cont 690 2490 910 2710)
|
||||
rect(diff_cont 690 90 910 310)
|
||||
|
|
@ -123,7 +123,7 @@ circuit(INV2
|
|||
rect(psd 525 2325 1050 3275)
|
||||
rect(nsd 525 -475 1050 475)
|
||||
)
|
||||
net($4 4
|
||||
net(4
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
|
|
@ -135,7 +135,7 @@ circuit(INV2
|
|||
rect(metal2 -1400 -450 1400 450)
|
||||
rect(nsd -275 -475 275 475)
|
||||
)
|
||||
net($5 5
|
||||
net(5
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
|
|
@ -209,7 +209,7 @@ circuit(INV2
|
|||
circuit(RINGO
|
||||
|
||||
# Nets with their geometries
|
||||
net(FB 1
|
||||
net(1 name(FB)
|
||||
rect(diff_cont 22850 2490 23070 2710)
|
||||
rect(diff_cont 22850 2890 23070 3110)
|
||||
rect(diff_cont 22850 -310 23070 -90)
|
||||
|
|
@ -220,7 +220,7 @@ circuit(RINGO
|
|||
rect(metal2 -1720 1600 23160 2000)
|
||||
rect(metal2_lbl -1 1799 1 1801)
|
||||
)
|
||||
net(OSC 2
|
||||
net(2 name(OSC)
|
||||
rect(diff_cont 24450 2890 24670 3110)
|
||||
rect(diff_cont 24450 2490 24670 2710)
|
||||
rect(diff_cont 24450 90 24670 310)
|
||||
|
|
@ -229,7 +229,7 @@ circuit(RINGO
|
|||
rect(metal2 24360 1600 24760 2000)
|
||||
rect(metal2_lbl 24559 1799 24561 1801)
|
||||
)
|
||||
net(VSS 3
|
||||
net(3 name(VSS)
|
||||
rect(diff_cont 2530 -310 2750 -90)
|
||||
rect(diff_cont 2530 90 2750 310)
|
||||
rect(diff_cont 2530 90 2750 310)
|
||||
|
|
@ -292,7 +292,7 @@ circuit(RINGO
|
|||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal2_lbl -1 -1 1 1)
|
||||
)
|
||||
net(VDD 4
|
||||
net(4 name(VDD)
|
||||
rect(diff_cont 2530 2490 2750 2710)
|
||||
rect(diff_cont 2530 2890 2750 3110)
|
||||
rect(diff_cont 2530 2890 2750 3110)
|
||||
|
|
@ -355,55 +355,55 @@ circuit(RINGO
|
|||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal2_lbl -1 2799 1 2801)
|
||||
)
|
||||
net($I19 5
|
||||
net(5
|
||||
rect(diff_cont 690 2890 910 3110)
|
||||
rect(diff_cont 690 2490 910 2710)
|
||||
rect(diff_cont 690 90 910 310)
|
||||
rect(diff_cont 690 -310 910 -90)
|
||||
)
|
||||
net($I8 6
|
||||
net(6
|
||||
rect(diff_cont 21810 2890 22030 3110)
|
||||
rect(diff_cont 21810 2490 22030 2710)
|
||||
rect(diff_cont 21810 90 22030 310)
|
||||
rect(diff_cont 21810 -310 22030 -90)
|
||||
)
|
||||
net($I7 7
|
||||
net(7
|
||||
rect(diff_cont 19170 2890 19390 3110)
|
||||
rect(diff_cont 19170 2490 19390 2710)
|
||||
rect(diff_cont 19170 90 19390 310)
|
||||
rect(diff_cont 19170 -310 19390 -90)
|
||||
)
|
||||
net($I6 8
|
||||
net(8
|
||||
rect(diff_cont 16530 2890 16750 3110)
|
||||
rect(diff_cont 16530 2490 16750 2710)
|
||||
rect(diff_cont 16530 90 16750 310)
|
||||
rect(diff_cont 16530 -310 16750 -90)
|
||||
)
|
||||
net($I5 9
|
||||
net(9
|
||||
rect(diff_cont 13890 2890 14110 3110)
|
||||
rect(diff_cont 13890 2490 14110 2710)
|
||||
rect(diff_cont 13890 90 14110 310)
|
||||
rect(diff_cont 13890 -310 14110 -90)
|
||||
)
|
||||
net($I4 10
|
||||
net(10
|
||||
rect(diff_cont 11250 2890 11470 3110)
|
||||
rect(diff_cont 11250 2490 11470 2710)
|
||||
rect(diff_cont 11250 90 11470 310)
|
||||
rect(diff_cont 11250 -310 11470 -90)
|
||||
)
|
||||
net($I3 11
|
||||
net(11
|
||||
rect(diff_cont 8610 2890 8830 3110)
|
||||
rect(diff_cont 8610 2490 8830 2710)
|
||||
rect(diff_cont 8610 90 8830 310)
|
||||
rect(diff_cont 8610 -310 8830 -90)
|
||||
)
|
||||
net($I2 12
|
||||
net(12
|
||||
rect(diff_cont 5970 2890 6190 3110)
|
||||
rect(diff_cont 5970 2490 6190 2710)
|
||||
rect(diff_cont 5970 90 6190 310)
|
||||
rect(diff_cont 5970 -310 6190 -90)
|
||||
)
|
||||
net($I1 13
|
||||
net(13
|
||||
rect(diff_cont 3330 2890 3550 3110)
|
||||
rect(diff_cont 3330 2490 3550 2710)
|
||||
rect(diff_cont 3330 90 3550 310)
|
||||
|
|
|
|||
|
|
@ -109,12 +109,12 @@ device(D$NMOS$1 NMOS
|
|||
circuit(INV2
|
||||
|
||||
# Nets with their geometries
|
||||
net($1 1
|
||||
net(1
|
||||
rect(nwell -1400 1800 1400 4580)
|
||||
rect(diff_cont -110 3930 110 4150)
|
||||
rect(ntie -400 3700 400 4380)
|
||||
)
|
||||
net(IN 2
|
||||
net(2 name(IN)
|
||||
rect(poly -525 -250 -275 2250)
|
||||
rect(poly -1700 1620 -400 1980)
|
||||
rect(poly -525 -800 -275 800)
|
||||
|
|
@ -122,7 +122,7 @@ circuit(INV2
|
|||
rect(poly_lbl -801 1799 -799 1801)
|
||||
rect(poly_cont -1630 1690 -1410 1910)
|
||||
)
|
||||
net($3 3
|
||||
net(3
|
||||
rect(poly 275 -250 525 2250)
|
||||
rect(poly 220 820 580 1180)
|
||||
rect(poly 275 2000 525 3600)
|
||||
|
|
@ -139,7 +139,7 @@ circuit(INV2
|
|||
rect(psd -1050 2325 -525 3275)
|
||||
rect(nsd -1050 -475 -525 475)
|
||||
)
|
||||
net(OUT 4
|
||||
net(4 name(OUT)
|
||||
rect(diff_cont 690 2890 910 3110)
|
||||
rect(diff_cont 690 2490 910 2710)
|
||||
rect(diff_cont 690 90 910 310)
|
||||
|
|
@ -151,7 +151,7 @@ circuit(INV2
|
|||
rect(psd 525 2325 1050 3275)
|
||||
rect(nsd 525 -475 1050 475)
|
||||
)
|
||||
net(VSS 5
|
||||
net(5 name(VSS)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
|
|
@ -164,7 +164,7 @@ circuit(INV2
|
|||
rect(metal2_lbl 1239 -91 1241 -89)
|
||||
rect(nsd -275 -475 275 475)
|
||||
)
|
||||
net(VDD 6
|
||||
net(6 name(VDD)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
|
|
@ -177,7 +177,7 @@ circuit(INV2
|
|||
rect(metal2_lbl 1249 2799 1251 2801)
|
||||
rect(psd -275 2325 275 3275)
|
||||
)
|
||||
net(BULK 7
|
||||
net(7 name(BULK)
|
||||
rect(diff_cont -110 -1360 110 -1140)
|
||||
rect(ptie -400 -1590 400 -910)
|
||||
)
|
||||
|
|
@ -249,14 +249,14 @@ circuit(INV2
|
|||
circuit(INV2PAIR
|
||||
|
||||
# Nets with their geometries
|
||||
net(BULK 1)
|
||||
net($I8 2
|
||||
net(1 name(BULK))
|
||||
net(2
|
||||
rect(diff_cont 3430 3290 3650 3510)
|
||||
rect(diff_cont 3430 3690 3650 3910)
|
||||
rect(diff_cont 3430 490 3650 710)
|
||||
rect(diff_cont 3430 890 3650 1110)
|
||||
)
|
||||
net($I6 3
|
||||
net(3
|
||||
rect(diff_cont 4230 3290 4450 3510)
|
||||
rect(diff_cont 4230 3690 4450 3910)
|
||||
rect(diff_cont 4230 3690 4450 3910)
|
||||
|
|
@ -270,7 +270,7 @@ circuit(INV2PAIR
|
|||
rect(metal1 1520 3220 1880 3980)
|
||||
rect(metal1 1520 3220 1880 3980)
|
||||
)
|
||||
net($I5 4
|
||||
net(4
|
||||
rect(diff_cont 4230 490 4450 710)
|
||||
rect(diff_cont 4230 890 4450 1110)
|
||||
rect(diff_cont 4230 890 4450 1110)
|
||||
|
|
@ -284,20 +284,20 @@ circuit(INV2PAIR
|
|||
rect(metal1 1520 420 1880 1180)
|
||||
rect(metal1 1520 420 1880 1180)
|
||||
)
|
||||
net($I4 5
|
||||
net(5
|
||||
rect(diff_cont 2390 3690 2610 3910)
|
||||
rect(diff_cont 2390 3290 2610 3510)
|
||||
rect(diff_cont 2390 890 2610 1110)
|
||||
rect(diff_cont 2390 490 2610 710)
|
||||
)
|
||||
net($I3 6)
|
||||
net($I2 7
|
||||
net(6)
|
||||
net(7
|
||||
rect(diff_cont 5030 3690 5250 3910)
|
||||
rect(diff_cont 5030 3290 5250 3510)
|
||||
rect(diff_cont 5030 890 5250 1110)
|
||||
rect(diff_cont 5030 490 5250 710)
|
||||
)
|
||||
net($I1 8)
|
||||
net(8)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin(BULK 1)
|
||||
|
|
@ -331,7 +331,7 @@ circuit(INV2PAIR
|
|||
circuit(RINGO
|
||||
|
||||
# Nets with their geometries
|
||||
net(FB 1
|
||||
net(1 name(FB)
|
||||
rect(diff_cont 22850 2490 23070 2710)
|
||||
rect(diff_cont 22850 2890 23070 3110)
|
||||
rect(diff_cont 22850 -310 23070 -90)
|
||||
|
|
@ -342,7 +342,7 @@ circuit(RINGO
|
|||
rect(metal2 -1720 1600 23160 2000)
|
||||
rect(metal2_lbl -1 1799 1 1801)
|
||||
)
|
||||
net(OSC 2
|
||||
net(2 name(OSC)
|
||||
rect(diff_cont 24450 2890 24670 3110)
|
||||
rect(diff_cont 24450 2490 24670 2710)
|
||||
rect(diff_cont 24450 90 24670 310)
|
||||
|
|
@ -351,7 +351,7 @@ circuit(RINGO
|
|||
rect(metal2 24360 1600 24760 2000)
|
||||
rect(metal2_lbl 24559 1799 24561 1801)
|
||||
)
|
||||
net(VDD 3
|
||||
net(3 name(VDD)
|
||||
rect(diff_cont 7810 2490 8030 2710)
|
||||
rect(diff_cont 7810 2890 8030 3110)
|
||||
rect(diff_cont 7810 2890 8030 3110)
|
||||
|
|
@ -424,7 +424,7 @@ circuit(RINGO
|
|||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal2_lbl -1 2799 1 2801)
|
||||
)
|
||||
net('BULK,VSS' 4
|
||||
net(4 name('BULK,VSS')
|
||||
rect(diff_cont 7810 -310 8030 -90)
|
||||
rect(diff_cont 7810 90 8030 310)
|
||||
rect(diff_cont 7810 90 8030 310)
|
||||
|
|
@ -497,25 +497,25 @@ circuit(RINGO
|
|||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal2_lbl -1 -1 1 1)
|
||||
)
|
||||
net($I13 5
|
||||
net(5
|
||||
rect(diff_cont 3330 2890 3550 3110)
|
||||
rect(diff_cont 3330 2490 3550 2710)
|
||||
rect(diff_cont 3330 90 3550 310)
|
||||
rect(diff_cont 3330 -310 3550 -90)
|
||||
)
|
||||
net($I7 6
|
||||
net(6
|
||||
rect(diff_cont 19170 2890 19390 3110)
|
||||
rect(diff_cont 19170 2490 19390 2710)
|
||||
rect(diff_cont 19170 90 19390 310)
|
||||
rect(diff_cont 19170 -310 19390 -90)
|
||||
)
|
||||
net($I6 7
|
||||
net(7
|
||||
rect(diff_cont 13890 2890 14110 3110)
|
||||
rect(diff_cont 13890 2490 14110 2710)
|
||||
rect(diff_cont 13890 90 14110 310)
|
||||
rect(diff_cont 13890 -310 14110 -90)
|
||||
)
|
||||
net($I5 8
|
||||
net(8
|
||||
rect(diff_cont 8610 2890 8830 3110)
|
||||
rect(diff_cont 8610 2490 8830 2710)
|
||||
rect(diff_cont 8610 90 8830 310)
|
||||
|
|
|
|||
|
|
@ -89,12 +89,12 @@ D(D$NMOS$1 NMOS
|
|||
)
|
||||
)
|
||||
X(INV2
|
||||
N($1 1
|
||||
N(1
|
||||
R(nwell -1400 1800 1400 4580)
|
||||
R(diff_cont -110 3930 110 4150)
|
||||
R(ntie -400 3700 400 4380)
|
||||
)
|
||||
N(IN 2
|
||||
N(2 I(IN)
|
||||
R(poly -525 -250 -275 2250)
|
||||
R(poly -1700 1620 -400 1980)
|
||||
R(poly -525 -800 -275 800)
|
||||
|
|
@ -102,7 +102,7 @@ X(INV2
|
|||
R(poly_lbl -801 1799 -799 1801)
|
||||
R(poly_cont -1630 1690 -1410 1910)
|
||||
)
|
||||
N($3 3
|
||||
N(3
|
||||
R(poly 275 -250 525 2250)
|
||||
R(poly 220 820 580 1180)
|
||||
R(poly 275 2000 525 3600)
|
||||
|
|
@ -119,7 +119,7 @@ X(INV2
|
|||
R(psd -1050 2325 -525 3275)
|
||||
R(nsd -1050 -475 -525 475)
|
||||
)
|
||||
N(OUT 4
|
||||
N(4 I(OUT)
|
||||
R(diff_cont 690 2890 910 3110)
|
||||
R(diff_cont 690 2490 910 2710)
|
||||
R(diff_cont 690 90 910 310)
|
||||
|
|
@ -131,7 +131,7 @@ X(INV2
|
|||
R(psd 525 2325 1050 3275)
|
||||
R(nsd 525 -475 1050 475)
|
||||
)
|
||||
N(VSS 5
|
||||
N(5 I(VSS)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 90 110 310)
|
||||
|
|
@ -144,7 +144,7 @@ X(INV2
|
|||
R(metal2_lbl 1239 -91 1241 -89)
|
||||
R(nsd -275 -475 275 475)
|
||||
)
|
||||
N(VDD 6
|
||||
N(6 I(VDD)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
|
|
@ -157,7 +157,7 @@ X(INV2
|
|||
R(metal2_lbl 1249 2799 1251 2801)
|
||||
R(psd -275 2325 275 3275)
|
||||
)
|
||||
N(BULK 7
|
||||
N(7 I(BULK)
|
||||
R(diff_cont -110 -1360 110 -1140)
|
||||
R(ptie -400 -1590 400 -910)
|
||||
)
|
||||
|
|
@ -222,14 +222,14 @@ X(INV2
|
|||
)
|
||||
)
|
||||
X(INV2PAIR
|
||||
N(BULK 1)
|
||||
N($I8 2
|
||||
N(1 I(BULK))
|
||||
N(2
|
||||
R(diff_cont 3430 3290 3650 3510)
|
||||
R(diff_cont 3430 3690 3650 3910)
|
||||
R(diff_cont 3430 490 3650 710)
|
||||
R(diff_cont 3430 890 3650 1110)
|
||||
)
|
||||
N($I6 3
|
||||
N(3
|
||||
R(diff_cont 4230 3290 4450 3510)
|
||||
R(diff_cont 4230 3690 4450 3910)
|
||||
R(diff_cont 4230 3690 4450 3910)
|
||||
|
|
@ -243,7 +243,7 @@ X(INV2PAIR
|
|||
R(metal1 1520 3220 1880 3980)
|
||||
R(metal1 1520 3220 1880 3980)
|
||||
)
|
||||
N($I5 4
|
||||
N(4
|
||||
R(diff_cont 4230 490 4450 710)
|
||||
R(diff_cont 4230 890 4450 1110)
|
||||
R(diff_cont 4230 890 4450 1110)
|
||||
|
|
@ -257,20 +257,20 @@ X(INV2PAIR
|
|||
R(metal1 1520 420 1880 1180)
|
||||
R(metal1 1520 420 1880 1180)
|
||||
)
|
||||
N($I4 5
|
||||
N(5
|
||||
R(diff_cont 2390 3690 2610 3910)
|
||||
R(diff_cont 2390 3290 2610 3510)
|
||||
R(diff_cont 2390 890 2610 1110)
|
||||
R(diff_cont 2390 490 2610 710)
|
||||
)
|
||||
N($I3 6)
|
||||
N($I2 7
|
||||
N(6)
|
||||
N(7
|
||||
R(diff_cont 5030 3690 5250 3910)
|
||||
R(diff_cont 5030 3290 5250 3510)
|
||||
R(diff_cont 5030 890 5250 1110)
|
||||
R(diff_cont 5030 490 5250 710)
|
||||
)
|
||||
N($I1 8)
|
||||
N(8)
|
||||
P(BULK 1)
|
||||
P($1 2)
|
||||
P($2 3)
|
||||
|
|
@ -297,7 +297,7 @@ X(INV2PAIR
|
|||
)
|
||||
)
|
||||
X(RINGO
|
||||
N(FB 1
|
||||
N(1 I(FB)
|
||||
R(diff_cont 22850 2490 23070 2710)
|
||||
R(diff_cont 22850 2890 23070 3110)
|
||||
R(diff_cont 22850 -310 23070 -90)
|
||||
|
|
@ -308,7 +308,7 @@ X(RINGO
|
|||
R(metal2 -1720 1600 23160 2000)
|
||||
R(metal2_lbl -1 1799 1 1801)
|
||||
)
|
||||
N(OSC 2
|
||||
N(2 I(OSC)
|
||||
R(diff_cont 24450 2890 24670 3110)
|
||||
R(diff_cont 24450 2490 24670 2710)
|
||||
R(diff_cont 24450 90 24670 310)
|
||||
|
|
@ -317,7 +317,7 @@ X(RINGO
|
|||
R(metal2 24360 1600 24760 2000)
|
||||
R(metal2_lbl 24559 1799 24561 1801)
|
||||
)
|
||||
N(VDD 3
|
||||
N(3 I(VDD)
|
||||
R(diff_cont 7810 2490 8030 2710)
|
||||
R(diff_cont 7810 2890 8030 3110)
|
||||
R(diff_cont 7810 2890 8030 3110)
|
||||
|
|
@ -390,7 +390,7 @@ X(RINGO
|
|||
R(metal1 20940 2420 21300 3180)
|
||||
R(metal2_lbl -1 2799 1 2801)
|
||||
)
|
||||
N('BULK,VSS' 4
|
||||
N(4 I('BULK,VSS')
|
||||
R(diff_cont 7810 -310 8030 -90)
|
||||
R(diff_cont 7810 90 8030 310)
|
||||
R(diff_cont 7810 90 8030 310)
|
||||
|
|
@ -463,25 +463,25 @@ X(RINGO
|
|||
R(metal1 20940 -380 21300 380)
|
||||
R(metal2_lbl -1 -1 1 1)
|
||||
)
|
||||
N($I13 5
|
||||
N(5
|
||||
R(diff_cont 3330 2890 3550 3110)
|
||||
R(diff_cont 3330 2490 3550 2710)
|
||||
R(diff_cont 3330 90 3550 310)
|
||||
R(diff_cont 3330 -310 3550 -90)
|
||||
)
|
||||
N($I7 6
|
||||
N(6
|
||||
R(diff_cont 19170 2890 19390 3110)
|
||||
R(diff_cont 19170 2490 19390 2710)
|
||||
R(diff_cont 19170 90 19390 310)
|
||||
R(diff_cont 19170 -310 19390 -90)
|
||||
)
|
||||
N($I6 7
|
||||
N(7
|
||||
R(diff_cont 13890 2890 14110 3110)
|
||||
R(diff_cont 13890 2490 14110 2710)
|
||||
R(diff_cont 13890 90 14110 310)
|
||||
R(diff_cont 13890 -310 14110 -90)
|
||||
)
|
||||
N($I5 8
|
||||
N(8
|
||||
R(diff_cont 8610 2890 8830 3110)
|
||||
R(diff_cont 8610 2490 8830 2710)
|
||||
R(diff_cont 8610 90 8830 310)
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ D(D$NMOS$1 NMOS
|
|||
)
|
||||
)
|
||||
X(INV2
|
||||
N(IN 1
|
||||
N(1 I(IN)
|
||||
R(poly -525 -250 -275 2250)
|
||||
R(poly -1700 1620 -400 1980)
|
||||
R(poly -525 -800 -275 800)
|
||||
|
|
@ -76,7 +76,7 @@ X(INV2
|
|||
R(poly_lbl -801 1799 -799 1801)
|
||||
R(poly_cont -1630 1690 -1410 1910)
|
||||
)
|
||||
N($2 2
|
||||
N(2
|
||||
R(poly 275 -250 525 2250)
|
||||
R(poly 220 820 580 1180)
|
||||
R(poly 275 2000 525 3600)
|
||||
|
|
@ -93,7 +93,7 @@ X(INV2
|
|||
R(psd -1050 2325 -525 3275)
|
||||
R(nsd -1050 -475 -525 475)
|
||||
)
|
||||
N(OUT 3
|
||||
N(3 I(OUT)
|
||||
R(diff_cont 690 2890 910 3110)
|
||||
R(diff_cont 690 2490 910 2710)
|
||||
R(diff_cont 690 90 910 310)
|
||||
|
|
@ -105,7 +105,7 @@ X(INV2
|
|||
R(psd 525 2325 1050 3275)
|
||||
R(nsd 525 -475 1050 475)
|
||||
)
|
||||
N($4 4
|
||||
N(4
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 90 110 310)
|
||||
|
|
@ -117,7 +117,7 @@ X(INV2
|
|||
R(metal2 -1400 -450 1400 450)
|
||||
R(nsd -275 -475 275 475)
|
||||
)
|
||||
N($5 5
|
||||
N(5
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
|
|
@ -184,7 +184,7 @@ X(INV2
|
|||
)
|
||||
)
|
||||
X(RINGO
|
||||
N(FB 1
|
||||
N(1 I(FB)
|
||||
R(diff_cont 22850 2490 23070 2710)
|
||||
R(diff_cont 22850 2890 23070 3110)
|
||||
R(diff_cont 22850 -310 23070 -90)
|
||||
|
|
@ -195,7 +195,7 @@ X(RINGO
|
|||
R(metal2 -1720 1600 23160 2000)
|
||||
R(metal2_lbl -1 1799 1 1801)
|
||||
)
|
||||
N(OSC 2
|
||||
N(2 I(OSC)
|
||||
R(diff_cont 24450 2890 24670 3110)
|
||||
R(diff_cont 24450 2490 24670 2710)
|
||||
R(diff_cont 24450 90 24670 310)
|
||||
|
|
@ -204,7 +204,7 @@ X(RINGO
|
|||
R(metal2 24360 1600 24760 2000)
|
||||
R(metal2_lbl 24559 1799 24561 1801)
|
||||
)
|
||||
N(VSS 3
|
||||
N(3 I(VSS)
|
||||
R(diff_cont 2530 -310 2750 -90)
|
||||
R(diff_cont 2530 90 2750 310)
|
||||
R(diff_cont 2530 90 2750 310)
|
||||
|
|
@ -267,7 +267,7 @@ X(RINGO
|
|||
R(metal1 23580 -380 23940 380)
|
||||
R(metal2_lbl -1 -1 1 1)
|
||||
)
|
||||
N(VDD 4
|
||||
N(4 I(VDD)
|
||||
R(diff_cont 2530 2490 2750 2710)
|
||||
R(diff_cont 2530 2890 2750 3110)
|
||||
R(diff_cont 2530 2890 2750 3110)
|
||||
|
|
@ -330,55 +330,55 @@ X(RINGO
|
|||
R(metal1 23580 2420 23940 3180)
|
||||
R(metal2_lbl -1 2799 1 2801)
|
||||
)
|
||||
N($I19 5
|
||||
N(5
|
||||
R(diff_cont 690 2890 910 3110)
|
||||
R(diff_cont 690 2490 910 2710)
|
||||
R(diff_cont 690 90 910 310)
|
||||
R(diff_cont 690 -310 910 -90)
|
||||
)
|
||||
N($I8 6
|
||||
N(6
|
||||
R(diff_cont 21810 2890 22030 3110)
|
||||
R(diff_cont 21810 2490 22030 2710)
|
||||
R(diff_cont 21810 90 22030 310)
|
||||
R(diff_cont 21810 -310 22030 -90)
|
||||
)
|
||||
N($I7 7
|
||||
N(7
|
||||
R(diff_cont 19170 2890 19390 3110)
|
||||
R(diff_cont 19170 2490 19390 2710)
|
||||
R(diff_cont 19170 90 19390 310)
|
||||
R(diff_cont 19170 -310 19390 -90)
|
||||
)
|
||||
N($I6 8
|
||||
N(8
|
||||
R(diff_cont 16530 2890 16750 3110)
|
||||
R(diff_cont 16530 2490 16750 2710)
|
||||
R(diff_cont 16530 90 16750 310)
|
||||
R(diff_cont 16530 -310 16750 -90)
|
||||
)
|
||||
N($I5 9
|
||||
N(9
|
||||
R(diff_cont 13890 2890 14110 3110)
|
||||
R(diff_cont 13890 2490 14110 2710)
|
||||
R(diff_cont 13890 90 14110 310)
|
||||
R(diff_cont 13890 -310 14110 -90)
|
||||
)
|
||||
N($I4 10
|
||||
N(10
|
||||
R(diff_cont 11250 2890 11470 3110)
|
||||
R(diff_cont 11250 2490 11470 2710)
|
||||
R(diff_cont 11250 90 11470 310)
|
||||
R(diff_cont 11250 -310 11470 -90)
|
||||
)
|
||||
N($I3 11
|
||||
N(11
|
||||
R(diff_cont 8610 2890 8830 3110)
|
||||
R(diff_cont 8610 2490 8830 2710)
|
||||
R(diff_cont 8610 90 8830 310)
|
||||
R(diff_cont 8610 -310 8830 -90)
|
||||
)
|
||||
N($I2 12
|
||||
N(12
|
||||
R(diff_cont 5970 2890 6190 3110)
|
||||
R(diff_cont 5970 2490 6190 2710)
|
||||
R(diff_cont 5970 90 6190 310)
|
||||
R(diff_cont 5970 -310 6190 -90)
|
||||
)
|
||||
N($I1 13
|
||||
N(13
|
||||
R(diff_cont 3330 2890 3550 3110)
|
||||
R(diff_cont 3330 2490 3550 2710)
|
||||
R(diff_cont 3330 90 3550 310)
|
||||
|
|
|
|||
Loading…
Reference in New Issue