mirror of https://github.com/KLayout/klayout.git
Switched l2n format to relative mode by default (relative mode is an option and maybe shorter)
This commit is contained in:
parent
655d4bccdd
commit
c33fd40ec9
|
|
@ -78,10 +78,14 @@ namespace db
|
|||
*
|
||||
* [geometry-def]:
|
||||
*
|
||||
* polygon(<layer> <x> <y> ...) - defines a polygon [short key: Q]
|
||||
* polygon(<layer> [coord] ...) - defines a polygon [short key: Q]
|
||||
* "*" for <x> or <y> means take previous
|
||||
* rect(<layer> <left> <bottom> <right> <top>)
|
||||
* - defines a rectangle [short key: R]
|
||||
* rect(<layer> [coord] [coord]) - defines a rectangle [short key: R]
|
||||
* coordinates are bottom/left and top/right
|
||||
* [coord]
|
||||
* <x> <y> - absolute coordinates
|
||||
* (<x> <y>) - relative coordinates (reference is reset to 0,0
|
||||
* for each net or terminal in device abstract)
|
||||
*
|
||||
* [device-abstract-def]:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
|
||||
#include "dbLayoutToNetlistReader.h"
|
||||
#include "dbLayoutToNetlistFormatDefs.h"
|
||||
#include "dbLayoutToNetlist.h"
|
||||
|
||||
namespace db
|
||||
{
|
||||
|
|
@ -362,6 +361,28 @@ void LayoutToNetlistStandardReader::do_read (db::LayoutToNetlist *l2n)
|
|||
l2n->set_netlist_extracted ();
|
||||
}
|
||||
|
||||
db::Point
|
||||
LayoutToNetlistStandardReader::read_point ()
|
||||
{
|
||||
db::Coord x = m_ref.x (), y = m_ref.y ();
|
||||
|
||||
if (test ("(")) {
|
||||
x += read_coord ();
|
||||
y += read_coord ();
|
||||
expect (")");
|
||||
} else {
|
||||
if (! test ("*")) {
|
||||
x = read_coord ();
|
||||
}
|
||||
if (! test ("*")) {
|
||||
y = read_coord ();
|
||||
}
|
||||
}
|
||||
|
||||
m_ref = db::Point (x, y);
|
||||
return m_ref;
|
||||
}
|
||||
|
||||
std::pair<unsigned int, db::PolygonRef>
|
||||
LayoutToNetlistStandardReader::read_geometry (db::LayoutToNetlist *l2n)
|
||||
{
|
||||
|
|
@ -374,11 +395,9 @@ LayoutToNetlistStandardReader::read_geometry (db::LayoutToNetlist *l2n)
|
|||
read_word_or_quoted (lname);
|
||||
unsigned int lid = l2n->layer_of (layer_by_name (l2n, lname));
|
||||
|
||||
db::Coord l = read_coord ();
|
||||
db::Coord b = read_coord ();
|
||||
db::Coord r = read_coord ();
|
||||
db::Coord t = read_coord ();
|
||||
db::Box box (l, b, r, t);
|
||||
db::Point lb = read_point ();
|
||||
db::Point rt = read_point ();
|
||||
db::Box box (lb, rt);
|
||||
|
||||
br.done ();
|
||||
|
||||
|
|
@ -392,18 +411,9 @@ LayoutToNetlistStandardReader::read_geometry (db::LayoutToNetlist *l2n)
|
|||
unsigned int lid = l2n->layer_of (layer_by_name (l2n, lname));
|
||||
|
||||
std::vector<db::Point> pt;
|
||||
|
||||
db::Coord x = 0, y = 0;
|
||||
while (br) {
|
||||
if (! test ("*")) {
|
||||
x = read_coord ();
|
||||
}
|
||||
if (! test ("*")) {
|
||||
y = read_coord ();
|
||||
}
|
||||
pt.push_back (db::Point (x, y));
|
||||
pt.push_back (read_point ());
|
||||
}
|
||||
|
||||
br.done ();
|
||||
|
||||
db::Polygon poly;
|
||||
|
|
@ -415,6 +425,18 @@ LayoutToNetlistStandardReader::read_geometry (db::LayoutToNetlist *l2n)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
LayoutToNetlistStandardReader::read_geometries (Brace &br, db::LayoutToNetlist *l2n, db::local_cluster<db::PolygonRef> &lc, db::Cell &cell)
|
||||
{
|
||||
m_ref = db::Point ();
|
||||
|
||||
while (br) {
|
||||
std::pair<unsigned int, db::PolygonRef> pr = read_geometry (l2n);
|
||||
lc.add (pr.second, pr.first);
|
||||
cell.shapes (pr.first).insert (pr.second);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
LayoutToNetlistStandardReader::read_net (db::LayoutToNetlist *l2n, db::Circuit *circuit, std::map<unsigned int, Net *> &id2net)
|
||||
{
|
||||
|
|
@ -440,12 +462,7 @@ LayoutToNetlistStandardReader::read_net (db::LayoutToNetlist *l2n, db::Circuit *
|
|||
net->set_cluster_id (lc.id ());
|
||||
|
||||
db::Cell &cell = l2n->internal_layout ()->cell (circuit->cell_index ());
|
||||
|
||||
while (br) {
|
||||
std::pair<unsigned int, db::PolygonRef> pr = read_geometry (l2n);
|
||||
lc.add (pr.second, pr.first);
|
||||
cell.shapes (pr.first).insert (pr.second);
|
||||
}
|
||||
read_geometries (br, l2n, lc, cell);
|
||||
|
||||
br.done ();
|
||||
}
|
||||
|
|
@ -723,12 +740,7 @@ LayoutToNetlistStandardReader::read_abstract_terminal (db::LayoutToNetlist *l2n,
|
|||
dm->set_cluster_id_for_terminal (tid, lc.id ());
|
||||
|
||||
db::Cell &cell = l2n->internal_layout ()->cell (dm->cell_index ());
|
||||
|
||||
while (br) {
|
||||
std::pair<unsigned int, db::PolygonRef> pr = read_geometry (l2n);
|
||||
lc.add (pr.second, pr.first);
|
||||
cell.shapes (pr.first).insert (pr.second);
|
||||
}
|
||||
read_geometries (br, l2n, lc, cell);
|
||||
|
||||
br.done ();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "dbCommon.h"
|
||||
#include "dbPolygon.h"
|
||||
#include "dbCell.h"
|
||||
#include "dbLayoutToNetlist.h"
|
||||
#include "tlStream.h"
|
||||
|
||||
namespace db {
|
||||
|
|
@ -84,6 +85,7 @@ private:
|
|||
std::string m_path;
|
||||
std::string m_line;
|
||||
tl::Extractor m_ex;
|
||||
db::Point m_ref;
|
||||
|
||||
void do_read (db::LayoutToNetlist *l2n);
|
||||
|
||||
|
|
@ -102,6 +104,8 @@ private:
|
|||
db::CellInstArray read_subcircuit (db::LayoutToNetlist *l2n, db::Circuit *circuit, std::list<Connections> &refs, std::map<unsigned int, db::Net *> &id2net);
|
||||
void read_abstract_terminal (db::LayoutToNetlist *l2n, db::DeviceAbstract *dm, db::DeviceClass *dc);
|
||||
std::pair<unsigned int, db::PolygonRef> read_geometry (db::LayoutToNetlist *l2n);
|
||||
void read_geometries (Brace &br, db::LayoutToNetlist *l2n, db::local_cluster<db::PolygonRef> &lc, db::Cell &cell);
|
||||
db::Point read_point ();
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,13 +63,15 @@ public:
|
|||
|
||||
private:
|
||||
tl::OutputStream *mp_stream;
|
||||
db::Point m_ref;
|
||||
|
||||
void write (const db::LayoutToNetlist *l2n, const db::Circuit &circuit);
|
||||
void write (const db::LayoutToNetlist *l2n, const db::Net &net, unsigned int id);
|
||||
void write (const db::LayoutToNetlist *l2n, const db::SubCircuit &subcircuit, std::map<const Net *, unsigned int> &net2id);
|
||||
void write (const db::LayoutToNetlist *l2n, const db::Device &device, std::map<const Net *, unsigned int> &net2id);
|
||||
void write (const db::LayoutToNetlist *l2n, const db::DeviceAbstract &device_abstract);
|
||||
void write (const db::PolygonRef *s, const db::ICplxTrans &tr, const std::string &lname);
|
||||
void write (const db::PolygonRef *s, const db::ICplxTrans &tr, const std::string &lname, bool relative);
|
||||
void reset_geometry_ref ();
|
||||
};
|
||||
|
||||
static const std::string endl ("\n");
|
||||
|
|
@ -254,39 +256,56 @@ void std_writer_impl<Keys>::write (const db::LayoutToNetlist *l2n, const db::Cir
|
|||
}
|
||||
}
|
||||
|
||||
template <class T, class Tr>
|
||||
void write_points (tl::OutputStream &stream, const T &poly, const Tr &tr)
|
||||
void write_point (tl::OutputStream &stream, const db::Point &pt, db::Point &ref, bool relative)
|
||||
{
|
||||
db::Coord x = 0, y = 0;
|
||||
bool first = true;
|
||||
for (typename T::polygon_contour_iterator c = poly.begin_hull (); c != poly.end_hull (); ++c) {
|
||||
|
||||
typename T::point_type pt = tr * *c;
|
||||
if (relative) {
|
||||
|
||||
stream << "(";
|
||||
stream << pt.x () - ref.x ();
|
||||
stream << " ";
|
||||
stream << pt.y () - ref.y ();
|
||||
stream << ")";
|
||||
|
||||
if (first || pt.x () != x) {
|
||||
} else {
|
||||
|
||||
if (pt.x () == 0 || pt.x () != ref.x ()) {
|
||||
stream << pt.x ();
|
||||
} else {
|
||||
stream << "*";
|
||||
}
|
||||
|
||||
stream << " ";
|
||||
|
||||
if (first || pt.y () != y) {
|
||||
if (pt.y () == 0 || pt.y () != ref.y ()) {
|
||||
stream << pt.y ();
|
||||
} else {
|
||||
stream << "*";
|
||||
}
|
||||
|
||||
first = false;
|
||||
x = pt.x (); y = pt.y ();
|
||||
}
|
||||
|
||||
ref = pt;
|
||||
}
|
||||
|
||||
template <class T, class Tr>
|
||||
void write_points (tl::OutputStream &stream, const T &poly, const Tr &tr, db::Point &ref, bool relative)
|
||||
{
|
||||
for (typename T::polygon_contour_iterator c = poly.begin_hull (); c != poly.end_hull (); ++c) {
|
||||
|
||||
typename T::point_type pt = tr * *c;
|
||||
|
||||
stream << " ";
|
||||
write_point (stream, pt, ref, relative);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
template <class Keys>
|
||||
void std_writer_impl<Keys>::write (const db::PolygonRef *s, const db::ICplxTrans &tr, const std::string &lname)
|
||||
void std_writer_impl<Keys>::reset_geometry_ref ()
|
||||
{
|
||||
m_ref = db::Point ();
|
||||
}
|
||||
|
||||
template <class Keys>
|
||||
void std_writer_impl<Keys>::write (const db::PolygonRef *s, const db::ICplxTrans &tr, const std::string &lname, bool relative)
|
||||
{
|
||||
db::ICplxTrans t = tr * db::ICplxTrans (s->trans ());
|
||||
|
||||
|
|
@ -295,8 +314,10 @@ void std_writer_impl<Keys>::write (const db::PolygonRef *s, const db::ICplxTrans
|
|||
|
||||
db::Box box = t * poly.box ();
|
||||
*mp_stream << Keys::rect_key << "(" << lname;
|
||||
*mp_stream << " " << box.left () << " " << box.bottom ();
|
||||
*mp_stream << " " << box.right () << " " << box.top ();
|
||||
*mp_stream << " ";
|
||||
write_point (*mp_stream, box.p1 (), m_ref, relative);
|
||||
*mp_stream << " ";
|
||||
write_point (*mp_stream, box.p2 (), m_ref, relative);
|
||||
*mp_stream << ")";
|
||||
|
||||
} else {
|
||||
|
|
@ -304,9 +325,9 @@ void std_writer_impl<Keys>::write (const db::PolygonRef *s, const db::ICplxTrans
|
|||
*mp_stream << Keys::polygon_key << "(" << lname;
|
||||
if (poly.holes () > 0) {
|
||||
db::SimplePolygon sp (poly);
|
||||
write_points (*mp_stream, sp, t);
|
||||
write_points (*mp_stream, sp, t, m_ref, relative);
|
||||
} else {
|
||||
write_points (*mp_stream, poly, t);
|
||||
write_points (*mp_stream, poly, t, m_ref, relative);
|
||||
}
|
||||
*mp_stream << ")";
|
||||
|
||||
|
|
@ -326,6 +347,8 @@ void std_writer_impl<Keys>::write (const db::LayoutToNetlist *l2n, const db::Net
|
|||
|
||||
bool any = false;
|
||||
|
||||
reset_geometry_ref ();
|
||||
|
||||
for (db::Connectivity::layer_iterator l = conn.begin_layers (); l != conn.end_layers (); ++l) {
|
||||
|
||||
db::cell_index_type cci = circuit->cell_index ();
|
||||
|
|
@ -353,7 +376,7 @@ void std_writer_impl<Keys>::write (const db::LayoutToNetlist *l2n, const db::Net
|
|||
}
|
||||
|
||||
*mp_stream << indent2;
|
||||
write (si.operator-> (), si.trans (), name_for_layer (l2n, *l));
|
||||
write (si.operator-> (), si.trans (), name_for_layer (l2n, *l), true);
|
||||
*mp_stream << endl;
|
||||
|
||||
prev_ci = ci;
|
||||
|
|
@ -441,13 +464,15 @@ void std_writer_impl<Keys>::write (const db::LayoutToNetlist *l2n, const db::Dev
|
|||
|
||||
*mp_stream << indent1 << Keys::terminal_key << "(" << t->name () << endl;
|
||||
|
||||
reset_geometry_ref ();
|
||||
|
||||
for (db::Connectivity::layer_iterator l = conn.begin_layers (); l != conn.end_layers (); ++l) {
|
||||
|
||||
const db::local_cluster<db::PolygonRef> &lc = clusters.clusters_per_cell (device_abstract.cell_index ()).cluster_by_id (device_abstract.cluster_id_for_terminal (t->id ()));
|
||||
for (db::local_cluster<db::PolygonRef>::shape_iterator s = lc.begin (*l); ! s.at_end (); ++s) {
|
||||
|
||||
*mp_stream << indent2;
|
||||
write (s.operator-> (), db::ICplxTrans (), name_for_layer (l2n, *l));
|
||||
write (s.operator-> (), db::ICplxTrans (), name_for_layer (l2n, *l), true);
|
||||
*mp_stream << endl;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,3 +188,67 @@ TEST(2_ReaderWithGlobalNets)
|
|||
}
|
||||
}
|
||||
|
||||
TEST(3_ReaderAbsoluteCoordinates)
|
||||
{
|
||||
db::LayoutToNetlist l2n;
|
||||
|
||||
std::string in_path = tl::combine_path (tl::combine_path (tl::combine_path (tl::testsrc (), "testdata"), "algo"), "l2n_writer_au_2_abs.txt");
|
||||
tl::InputStream is_in (in_path);
|
||||
|
||||
db::LayoutToNetlistStandardReader reader (is_in);
|
||||
reader.read (&l2n);
|
||||
|
||||
// verify against the input
|
||||
|
||||
std::string path = tmp_file ("tmp_l2nreader_2.txt");
|
||||
{
|
||||
tl::OutputStream stream (path);
|
||||
db::LayoutToNetlistStandardWriter writer (stream, false);
|
||||
writer.write (&l2n);
|
||||
}
|
||||
|
||||
std::string au_path = tl::combine_path (tl::combine_path (tl::combine_path (tl::testsrc (), "testdata"), "algo"), "l2n_writer_au_2.txt");
|
||||
|
||||
tl::InputStream is (path);
|
||||
tl::InputStream is_au (au_path);
|
||||
|
||||
if (is.read_all () != is_au.read_all ()) {
|
||||
_this->raise (tl::sprintf ("Compare failed - see\n actual: %s\n golden: %s",
|
||||
tl::absolute_file_path (path),
|
||||
tl::absolute_file_path (au_path)));
|
||||
}
|
||||
|
||||
// test build_all_nets from read l2n
|
||||
|
||||
{
|
||||
db::Layout ly2;
|
||||
ly2.dbu (l2n.internal_layout ()->dbu ());
|
||||
db::Cell &top2 = ly2.cell (ly2.add_cell ("TOP"));
|
||||
|
||||
db::CellMapping cm = l2n.cell_mapping_into (ly2, top2, true /*with device cells*/);
|
||||
|
||||
std::map<unsigned int, const db::Region *> lmap;
|
||||
lmap [ly2.insert_layer (db::LayerProperties (10, 0))] = l2n.layer_by_name ("psd");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (11, 0))] = l2n.layer_by_name ("nsd");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (12, 0))] = l2n.layer_by_name ("rbulk");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (13, 0))] = l2n.layer_by_name ("ptie");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (14, 0))] = l2n.layer_by_name ("ntie");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (1, 0)) ] = l2n.layer_by_name ("nwell");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (3, 0)) ] = l2n.layer_by_name ("poly");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (4, 0)) ] = l2n.layer_by_name ("diff_cont");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (5, 0)) ] = l2n.layer_by_name ("poly_cont");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (6, 0)) ] = l2n.layer_by_name ("metal1");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (7, 0)) ] = l2n.layer_by_name ("via1");
|
||||
lmap [ly2.insert_layer (db::LayerProperties (8, 0)) ] = l2n.layer_by_name ("metal2");
|
||||
|
||||
l2n.build_all_nets (cm, ly2, lmap, "NET_", tl::Variant (), db::LayoutToNetlist::BNH_SubcircuitCells, "CIRCUIT_", "DEVICE_");
|
||||
|
||||
std::string au = tl::testsrc ();
|
||||
au = tl::combine_path (au, "testdata");
|
||||
au = tl::combine_path (au, "algo");
|
||||
au = tl::combine_path (au, "l2n_reader_au_2.gds");
|
||||
|
||||
db::compare_layouts (_this, ly2, au);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,46 +42,46 @@ class(NMOS MOS3)
|
|||
# Device abstracts list the pin shapes of the devices.
|
||||
device(D$PMOS PMOS
|
||||
terminal(S
|
||||
rect(psd -650 -475 -125 475)
|
||||
rect(psd (-650 -475) (525 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(psd 125 -475 675 475)
|
||||
rect(psd (125 -475) (550 950))
|
||||
)
|
||||
)
|
||||
device(D$PMOS$1 PMOS
|
||||
terminal(S
|
||||
rect(psd -675 -475 -125 475)
|
||||
rect(psd (-675 -475) (550 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(psd 125 -475 650 475)
|
||||
rect(psd (125 -475) (525 950))
|
||||
)
|
||||
)
|
||||
device(D$NMOS NMOS
|
||||
terminal(S
|
||||
rect(nsd -650 -475 -125 475)
|
||||
rect(nsd (-650 -475) (525 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd 125 -475 675 475)
|
||||
rect(nsd (125 -475) (550 950))
|
||||
)
|
||||
)
|
||||
device(D$NMOS$1 NMOS
|
||||
terminal(S
|
||||
rect(nsd -675 -475 -125 475)
|
||||
rect(nsd (-675 -475) (550 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd 125 -475 650 475)
|
||||
rect(nsd (125 -475) (525 950))
|
||||
)
|
||||
)
|
||||
|
||||
|
|
@ -91,65 +91,65 @@ circuit(INV2
|
|||
|
||||
# Nets with their geometries
|
||||
net(1 name(IN)
|
||||
rect(poly -525 -250 -275 2250)
|
||||
rect(poly -1700 1620 -400 1980)
|
||||
rect(poly -525 -800 -275 800)
|
||||
rect(poly -525 2000 -275 3600)
|
||||
rect(poly_lbl -801 1799 -799 1801)
|
||||
rect(poly_cont -1630 1690 -1410 1910)
|
||||
rect(poly (-525 -250) (250 2500))
|
||||
rect(poly (-1425 -630) (1300 360))
|
||||
rect(poly (-125 -2780) (250 1600))
|
||||
rect(poly (-250 1200) (250 1600))
|
||||
rect(poly_lbl (-526 -1801) (2 2))
|
||||
rect(poly_cont (-831 -111) (220 220))
|
||||
)
|
||||
net(2
|
||||
rect(poly 275 -250 525 2250)
|
||||
rect(poly 220 820 580 1180)
|
||||
rect(poly 275 2000 525 3600)
|
||||
rect(poly 275 -800 525 800)
|
||||
rect(diff_cont -910 2490 -690 2710)
|
||||
rect(diff_cont -910 2890 -690 3110)
|
||||
rect(diff_cont -910 -310 -690 -90)
|
||||
rect(diff_cont -910 90 -690 310)
|
||||
rect(poly_cont 290 890 510 1110)
|
||||
rect(metal1 -800 820 580 1180)
|
||||
rect(metal1 -980 -420 -620 2420)
|
||||
rect(metal1 -980 2420 -620 3180)
|
||||
rect(metal1 -980 -380 -620 380)
|
||||
rect(psd -1050 2325 -525 3275)
|
||||
rect(nsd -1050 -475 -525 475)
|
||||
rect(poly (275 -250) (250 2500))
|
||||
rect(poly (-305 -1430) (360 360))
|
||||
rect(poly (-305 820) (250 1600))
|
||||
rect(poly (-250 -4400) (250 1600))
|
||||
rect(diff_cont (-1435 1690) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(poly_cont (980 580) (220 220))
|
||||
rect(metal1 (-1310 -290) (1380 360))
|
||||
rect(metal1 (-1560 -1600) (360 2840))
|
||||
rect(metal1 (-360 0) (360 760))
|
||||
rect(metal1 (-360 -3560) (360 760))
|
||||
rect(psd (-430 1945) (525 950))
|
||||
rect(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 690 -310 910 -90)
|
||||
polygon(metal1 800 20 * 380 940 * * 1620 620 * * 2420 980 * * 1980 1300 * * 20)
|
||||
rect(metal1 620 2420 980 3180)
|
||||
rect(metal1 620 -380 980 380)
|
||||
rect(metal1_lbl 799 1799 801 1801)
|
||||
rect(psd 525 2325 1050 3275)
|
||||
rect(nsd 525 -475 1050 475)
|
||||
rect(diff_cont (690 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
polygon(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960))
|
||||
rect(metal1 (-680 2400) (360 760))
|
||||
rect(metal1 (-360 -3560) (360 760))
|
||||
rect(metal1_lbl (-181 1419) (2 2))
|
||||
rect(psd (-276 524) (525 950))
|
||||
rect(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
net(4
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(via1 -125 -325 125 -75)
|
||||
rect(via1 -125 75 125 325)
|
||||
rect(metal2 -1400 -450 1400 450)
|
||||
rect(nsd -275 -475 275 475)
|
||||
rect(diff_cont (-110 -310) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-290 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(via1 (-305 -705) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(metal2 (-1525 -775) (2800 900))
|
||||
rect(nsd (-1675 -925) (550 950))
|
||||
)
|
||||
net(5
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(via1 -125 2475 125 2725)
|
||||
rect(via1 -125 2875 125 3125)
|
||||
rect(metal2 -1400 2350 1400 3250)
|
||||
rect(psd -275 2325 275 3275)
|
||||
rect(diff_cont (-110 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-290 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(via1 (-305 -705) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(metal2 (-1525 -775) (2800 900))
|
||||
rect(psd (-1675 -925) (550 950))
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
|
|
@ -214,204 +214,204 @@ circuit(RINGO
|
|||
|
||||
# Nets with their geometries
|
||||
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)
|
||||
rect(diff_cont 22850 90 23070 310)
|
||||
rect(metal1 -1700 1620 -1340 1980)
|
||||
rect(via1 -1645 1675 -1395 1925)
|
||||
rect(via1 22835 1675 23085 1925)
|
||||
rect(metal2 -1720 1600 23160 2000)
|
||||
rect(metal2_lbl -1 1799 1 1801)
|
||||
rect(diff_cont (22850 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (-24770 1310) (360 360))
|
||||
rect(via1 (-305 -305) (250 250))
|
||||
rect(via1 (24230 -250) (250 250))
|
||||
rect(metal2 (-24805 -325) (24880 400))
|
||||
rect(metal2_lbl (-23161 -201) (2 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)
|
||||
rect(diff_cont 24450 -310 24670 -90)
|
||||
rect(via1 24435 1675 24685 1925)
|
||||
rect(metal2 24360 1600 24760 2000)
|
||||
rect(metal2_lbl 24559 1799 24561 1801)
|
||||
rect(diff_cont (24450 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(via1 (-235 1765) (250 250))
|
||||
rect(metal2 (-325 -325) (400 400))
|
||||
rect(metal2_lbl (-201 -201) (2 2))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 2530 -310 2750 -90)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont 5170 -310 5390 -90)
|
||||
rect(diff_cont 5170 90 5390 310)
|
||||
rect(diff_cont 5170 90 5390 310)
|
||||
rect(diff_cont 5170 -310 5390 -90)
|
||||
rect(diff_cont 7810 -310 8030 -90)
|
||||
rect(diff_cont 7810 90 8030 310)
|
||||
rect(diff_cont 7810 90 8030 310)
|
||||
rect(diff_cont 7810 -310 8030 -90)
|
||||
rect(diff_cont 10450 -310 10670 -90)
|
||||
rect(diff_cont 10450 90 10670 310)
|
||||
rect(diff_cont 10450 90 10670 310)
|
||||
rect(diff_cont 10450 -310 10670 -90)
|
||||
rect(diff_cont 13090 -310 13310 -90)
|
||||
rect(diff_cont 13090 90 13310 310)
|
||||
rect(diff_cont 13090 90 13310 310)
|
||||
rect(diff_cont 13090 -310 13310 -90)
|
||||
rect(diff_cont 15730 -310 15950 -90)
|
||||
rect(diff_cont 15730 90 15950 310)
|
||||
rect(diff_cont 15730 90 15950 310)
|
||||
rect(diff_cont 15730 -310 15950 -90)
|
||||
rect(diff_cont 18370 -310 18590 -90)
|
||||
rect(diff_cont 18370 90 18590 310)
|
||||
rect(diff_cont 18370 90 18590 310)
|
||||
rect(diff_cont 18370 -310 18590 -90)
|
||||
rect(diff_cont 21010 -310 21230 -90)
|
||||
rect(diff_cont 21010 90 21230 310)
|
||||
rect(diff_cont 21010 90 21230 310)
|
||||
rect(diff_cont 21010 -310 21230 -90)
|
||||
rect(diff_cont 23650 -310 23870 -90)
|
||||
rect(diff_cont 23650 90 23870 310)
|
||||
rect(diff_cont 23650 90 23870 310)
|
||||
rect(diff_cont 23650 -310 23870 -90)
|
||||
rect(metal1 2460 -380 2820 380)
|
||||
rect(metal1 2460 -380 2820 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 5100 -380 5460 380)
|
||||
rect(metal1 5100 -380 5460 380)
|
||||
rect(metal1 7740 -380 8100 380)
|
||||
rect(metal1 7740 -380 8100 380)
|
||||
rect(metal1 10380 -380 10740 380)
|
||||
rect(metal1 10380 -380 10740 380)
|
||||
rect(metal1 13020 -380 13380 380)
|
||||
rect(metal1 13020 -380 13380 380)
|
||||
rect(metal1 15660 -380 16020 380)
|
||||
rect(metal1 15660 -380 16020 380)
|
||||
rect(metal1 18300 -380 18660 380)
|
||||
rect(metal1 18300 -380 18660 380)
|
||||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal2_lbl -1 -1 1 1)
|
||||
rect(diff_cont (2530 -310) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (5060 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-21410 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (4920 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal2_lbl (-23941 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 2530 2490 2750 2710)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont 5170 2490 5390 2710)
|
||||
rect(diff_cont 5170 2890 5390 3110)
|
||||
rect(diff_cont 5170 2890 5390 3110)
|
||||
rect(diff_cont 5170 2490 5390 2710)
|
||||
rect(diff_cont 7810 2490 8030 2710)
|
||||
rect(diff_cont 7810 2890 8030 3110)
|
||||
rect(diff_cont 7810 2890 8030 3110)
|
||||
rect(diff_cont 7810 2490 8030 2710)
|
||||
rect(diff_cont 10450 2490 10670 2710)
|
||||
rect(diff_cont 10450 2890 10670 3110)
|
||||
rect(diff_cont 10450 2890 10670 3110)
|
||||
rect(diff_cont 10450 2490 10670 2710)
|
||||
rect(diff_cont 13090 2490 13310 2710)
|
||||
rect(diff_cont 13090 2890 13310 3110)
|
||||
rect(diff_cont 13090 2890 13310 3110)
|
||||
rect(diff_cont 13090 2490 13310 2710)
|
||||
rect(diff_cont 15730 2490 15950 2710)
|
||||
rect(diff_cont 15730 2890 15950 3110)
|
||||
rect(diff_cont 15730 2890 15950 3110)
|
||||
rect(diff_cont 15730 2490 15950 2710)
|
||||
rect(diff_cont 18370 2490 18590 2710)
|
||||
rect(diff_cont 18370 2890 18590 3110)
|
||||
rect(diff_cont 18370 2890 18590 3110)
|
||||
rect(diff_cont 18370 2490 18590 2710)
|
||||
rect(diff_cont 21010 2490 21230 2710)
|
||||
rect(diff_cont 21010 2890 21230 3110)
|
||||
rect(diff_cont 21010 2890 21230 3110)
|
||||
rect(diff_cont 21010 2490 21230 2710)
|
||||
rect(diff_cont 23650 2490 23870 2710)
|
||||
rect(diff_cont 23650 2890 23870 3110)
|
||||
rect(diff_cont 23650 2890 23870 3110)
|
||||
rect(diff_cont 23650 2490 23870 2710)
|
||||
rect(metal1 2460 2420 2820 3180)
|
||||
rect(metal1 2460 2420 2820 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 5100 2420 5460 3180)
|
||||
rect(metal1 5100 2420 5460 3180)
|
||||
rect(metal1 7740 2420 8100 3180)
|
||||
rect(metal1 7740 2420 8100 3180)
|
||||
rect(metal1 10380 2420 10740 3180)
|
||||
rect(metal1 10380 2420 10740 3180)
|
||||
rect(metal1 13020 2420 13380 3180)
|
||||
rect(metal1 13020 2420 13380 3180)
|
||||
rect(metal1 15660 2420 16020 3180)
|
||||
rect(metal1 15660 2420 16020 3180)
|
||||
rect(metal1 18300 2420 18660 3180)
|
||||
rect(metal1 18300 2420 18660 3180)
|
||||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal2_lbl -1 2799 1 2801)
|
||||
rect(diff_cont (2530 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (5060 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (2420 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-21410 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (4920 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (2280 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal2_lbl (-23941 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (690 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (21810 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (19170 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (16530 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (13890 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (11250 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (8610 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (5970 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
net(13
|
||||
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)
|
||||
rect(diff_cont (3330 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
|
|
|
|||
|
|
@ -53,58 +53,58 @@ class(NMOS MOS4)
|
|||
# Device abstracts list the pin shapes of the devices.
|
||||
device(D$PMOS PMOS
|
||||
terminal(S
|
||||
rect(psd -650 -475 -125 475)
|
||||
rect(psd (-650 -475) (525 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(psd 125 -475 675 475)
|
||||
rect(psd (125 -475) (550 950))
|
||||
)
|
||||
terminal(B
|
||||
rect(nwell -125 -475 125 475)
|
||||
rect(nwell (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
device(D$PMOS$1 PMOS
|
||||
terminal(S
|
||||
rect(psd -675 -475 -125 475)
|
||||
rect(psd (-675 -475) (550 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(psd 125 -475 650 475)
|
||||
rect(psd (125 -475) (525 950))
|
||||
)
|
||||
terminal(B
|
||||
rect(nwell -125 -475 125 475)
|
||||
rect(nwell (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
device(D$NMOS NMOS
|
||||
terminal(S
|
||||
rect(nsd -650 -475 -125 475)
|
||||
rect(nsd (-650 -475) (525 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd 125 -475 675 475)
|
||||
rect(nsd (125 -475) (550 950))
|
||||
)
|
||||
terminal(B
|
||||
rect(rbulk -125 -475 125 475)
|
||||
rect(rbulk (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
device(D$NMOS$1 NMOS
|
||||
terminal(S
|
||||
rect(nsd -675 -475 -125 475)
|
||||
rect(nsd (-675 -475) (550 950))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
rect(poly (-125 -475) (250 950))
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd 125 -475 650 475)
|
||||
rect(nsd (125 -475) (525 950))
|
||||
)
|
||||
terminal(B
|
||||
rect(rbulk -125 -475 125 475)
|
||||
rect(rbulk (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
|
||||
|
|
@ -114,76 +114,76 @@ circuit(INV2
|
|||
|
||||
# Nets with their geometries
|
||||
net(1
|
||||
rect(nwell -1400 1800 1400 4580)
|
||||
rect(diff_cont -110 3930 110 4150)
|
||||
rect(ntie -400 3700 400 4380)
|
||||
rect(nwell (-1400 1800) (2800 2780))
|
||||
rect(diff_cont (-1510 -650) (220 220))
|
||||
rect(ntie (-510 -450) (800 680))
|
||||
)
|
||||
net(2 name(IN)
|
||||
rect(poly -525 -250 -275 2250)
|
||||
rect(poly -1700 1620 -400 1980)
|
||||
rect(poly -525 -800 -275 800)
|
||||
rect(poly -525 2000 -275 3600)
|
||||
rect(poly_lbl -801 1799 -799 1801)
|
||||
rect(poly_cont -1630 1690 -1410 1910)
|
||||
rect(poly (-525 -250) (250 2500))
|
||||
rect(poly (-1425 -630) (1300 360))
|
||||
rect(poly (-125 -2780) (250 1600))
|
||||
rect(poly (-250 1200) (250 1600))
|
||||
rect(poly_lbl (-526 -1801) (2 2))
|
||||
rect(poly_cont (-831 -111) (220 220))
|
||||
)
|
||||
net(3
|
||||
rect(poly 275 -250 525 2250)
|
||||
rect(poly 220 820 580 1180)
|
||||
rect(poly 275 2000 525 3600)
|
||||
rect(poly 275 -800 525 800)
|
||||
rect(diff_cont -910 2490 -690 2710)
|
||||
rect(diff_cont -910 2890 -690 3110)
|
||||
rect(diff_cont -910 -310 -690 -90)
|
||||
rect(diff_cont -910 90 -690 310)
|
||||
rect(poly_cont 290 890 510 1110)
|
||||
rect(metal1 -800 820 580 1180)
|
||||
rect(metal1 -980 -420 -620 2420)
|
||||
rect(metal1 -980 2420 -620 3180)
|
||||
rect(metal1 -980 -380 -620 380)
|
||||
rect(psd -1050 2325 -525 3275)
|
||||
rect(nsd -1050 -475 -525 475)
|
||||
rect(poly (275 -250) (250 2500))
|
||||
rect(poly (-305 -1430) (360 360))
|
||||
rect(poly (-305 820) (250 1600))
|
||||
rect(poly (-250 -4400) (250 1600))
|
||||
rect(diff_cont (-1435 1690) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(poly_cont (980 580) (220 220))
|
||||
rect(metal1 (-1310 -290) (1380 360))
|
||||
rect(metal1 (-1560 -1600) (360 2840))
|
||||
rect(metal1 (-360 0) (360 760))
|
||||
rect(metal1 (-360 -3560) (360 760))
|
||||
rect(psd (-430 1945) (525 950))
|
||||
rect(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 690 -310 910 -90)
|
||||
polygon(metal1 800 20 * 380 940 * * 1620 620 * * 2420 980 * * 1980 1300 * * 20)
|
||||
rect(metal1 620 2420 980 3180)
|
||||
rect(metal1 620 -380 980 380)
|
||||
rect(metal1_lbl 799 1799 801 1801)
|
||||
rect(psd 525 2325 1050 3275)
|
||||
rect(nsd 525 -475 1050 475)
|
||||
rect(diff_cont (690 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
polygon(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960))
|
||||
rect(metal1 (-680 2400) (360 760))
|
||||
rect(metal1 (-360 -3560) (360 760))
|
||||
rect(metal1_lbl (-181 1419) (2 2))
|
||||
rect(psd (-276 524) (525 950))
|
||||
rect(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(via1 -125 -325 125 -75)
|
||||
rect(via1 -125 75 125 325)
|
||||
rect(metal2 -1400 -450 1400 450)
|
||||
rect(metal2_lbl 1239 -91 1241 -89)
|
||||
rect(nsd -275 -475 275 475)
|
||||
rect(diff_cont (-110 -310) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-290 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(via1 (-305 -705) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(metal2 (-1525 -775) (2800 900))
|
||||
rect(metal2_lbl (-161 -541) (2 2))
|
||||
rect(nsd (-1516 -386) (550 950))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(via1 -125 2475 125 2725)
|
||||
rect(via1 -125 2875 125 3125)
|
||||
rect(metal2 -1400 2350 1400 3250)
|
||||
rect(metal2_lbl 1249 2799 1251 2801)
|
||||
rect(psd -275 2325 275 3275)
|
||||
rect(diff_cont (-110 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-290 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(via1 (-305 -705) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(metal2 (-1525 -775) (2800 900))
|
||||
rect(metal2_lbl (-151 -451) (2 2))
|
||||
rect(psd (-1526 -476) (550 950))
|
||||
)
|
||||
net(7 name(BULK)
|
||||
rect(diff_cont -110 -1360 110 -1140)
|
||||
rect(ptie -400 -1590 400 -910)
|
||||
rect(diff_cont (-110 -1360) (220 220))
|
||||
rect(ptie (-510 -450) (800 680))
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
|
|
@ -255,51 +255,51 @@ circuit(INV2PAIR
|
|||
# Nets with their geometries
|
||||
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)
|
||||
rect(diff_cont (3430 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(3
|
||||
rect(diff_cont 4230 3290 4450 3510)
|
||||
rect(diff_cont 4230 3690 4450 3910)
|
||||
rect(diff_cont 4230 3690 4450 3910)
|
||||
rect(diff_cont 4230 3290 4450 3510)
|
||||
rect(diff_cont 1590 3290 1810 3510)
|
||||
rect(diff_cont 1590 3690 1810 3910)
|
||||
rect(diff_cont 1590 3690 1810 3910)
|
||||
rect(diff_cont 1590 3290 1810 3510)
|
||||
rect(metal1 4160 3220 4520 3980)
|
||||
rect(metal1 4160 3220 4520 3980)
|
||||
rect(metal1 1520 3220 1880 3980)
|
||||
rect(metal1 1520 3220 1880 3980)
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (2350 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
net(4
|
||||
rect(diff_cont 4230 490 4450 710)
|
||||
rect(diff_cont 4230 890 4450 1110)
|
||||
rect(diff_cont 4230 890 4450 1110)
|
||||
rect(diff_cont 4230 490 4450 710)
|
||||
rect(diff_cont 1590 490 1810 710)
|
||||
rect(diff_cont 1590 890 1810 1110)
|
||||
rect(diff_cont 1590 890 1810 1110)
|
||||
rect(diff_cont 1590 490 1810 710)
|
||||
rect(metal1 4160 420 4520 1180)
|
||||
rect(metal1 4160 420 4520 1180)
|
||||
rect(metal1 1520 420 1880 1180)
|
||||
rect(metal1 1520 420 1880 1180)
|
||||
rect(diff_cont (4230 490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (2350 -290) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (2390 3690) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (5030 3690) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
net(8)
|
||||
|
||||
|
|
@ -336,194 +336,194 @@ circuit(RINGO
|
|||
|
||||
# Nets with their geometries
|
||||
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)
|
||||
rect(diff_cont 22850 90 23070 310)
|
||||
rect(metal1 -1700 1620 -1340 1980)
|
||||
rect(via1 -1645 1675 -1395 1925)
|
||||
rect(via1 22835 1675 23085 1925)
|
||||
rect(metal2 -1720 1600 23160 2000)
|
||||
rect(metal2_lbl -1 1799 1 1801)
|
||||
rect(diff_cont (22850 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (-24770 1310) (360 360))
|
||||
rect(via1 (-305 -305) (250 250))
|
||||
rect(via1 (24230 -250) (250 250))
|
||||
rect(metal2 (-24805 -325) (24880 400))
|
||||
rect(metal2_lbl (-23161 -201) (2 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)
|
||||
rect(diff_cont 24450 -310 24670 -90)
|
||||
rect(via1 24435 1675 24685 1925)
|
||||
rect(metal2 24360 1600 24760 2000)
|
||||
rect(metal2_lbl 24559 1799 24561 1801)
|
||||
rect(diff_cont (24450 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(via1 (-235 1765) (250 250))
|
||||
rect(metal2 (-325 -325) (400 400))
|
||||
rect(metal2_lbl (-201 -201) (2 2))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 7810 2490 8030 2710)
|
||||
rect(diff_cont 5170 2490 5390 2710)
|
||||
rect(diff_cont 5170 2890 5390 3110)
|
||||
rect(diff_cont 5170 2890 5390 3110)
|
||||
rect(diff_cont 5170 2490 5390 2710)
|
||||
rect(diff_cont 2530 2490 2750 2710)
|
||||
rect(diff_cont 2530 2890 2750 3110)
|
||||
rect(diff_cont 2530 2890 2750 3110)
|
||||
rect(diff_cont 2530 2490 2750 2710)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont 13090 2490 13310 2710)
|
||||
rect(diff_cont 13090 2890 13310 3110)
|
||||
rect(diff_cont 13090 2890 13310 3110)
|
||||
rect(diff_cont 13090 2490 13310 2710)
|
||||
rect(diff_cont 10450 2490 10670 2710)
|
||||
rect(diff_cont 10450 2890 10670 3110)
|
||||
rect(diff_cont 10450 2890 10670 3110)
|
||||
rect(diff_cont 10450 2490 10670 2710)
|
||||
rect(diff_cont 18370 2490 18590 2710)
|
||||
rect(diff_cont 18370 2890 18590 3110)
|
||||
rect(diff_cont 18370 2890 18590 3110)
|
||||
rect(diff_cont 18370 2490 18590 2710)
|
||||
rect(diff_cont 15730 2490 15950 2710)
|
||||
rect(diff_cont 15730 2890 15950 3110)
|
||||
rect(diff_cont 15730 2890 15950 3110)
|
||||
rect(diff_cont 15730 2490 15950 2710)
|
||||
rect(diff_cont 23650 2490 23870 2710)
|
||||
rect(diff_cont 23650 2890 23870 3110)
|
||||
rect(diff_cont 23650 2890 23870 3110)
|
||||
rect(diff_cont 23650 2490 23870 2710)
|
||||
rect(diff_cont 21010 2490 21230 2710)
|
||||
rect(diff_cont 21010 2890 21230 3110)
|
||||
rect(diff_cont 21010 2890 21230 3110)
|
||||
rect(diff_cont 21010 2490 21230 2710)
|
||||
rect(metal1 -180 3100 180 4220)
|
||||
rect(metal1 2460 3100 2820 4220)
|
||||
rect(metal1 5100 3100 5460 4220)
|
||||
rect(metal1 7740 3100 8100 4220)
|
||||
rect(metal1 10380 3100 10740 4220)
|
||||
rect(metal1 13020 3100 13380 4220)
|
||||
rect(metal1 15660 3100 16020 4220)
|
||||
rect(metal1 18300 3100 18660 4220)
|
||||
rect(metal1 20940 3100 21300 4220)
|
||||
rect(metal1 23580 3100 23940 4220)
|
||||
rect(metal1 7740 2420 8100 3180)
|
||||
rect(metal1 7740 2420 8100 3180)
|
||||
rect(metal1 5100 2420 5460 3180)
|
||||
rect(metal1 5100 2420 5460 3180)
|
||||
rect(metal1 2460 2420 2820 3180)
|
||||
rect(metal1 2460 2420 2820 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 13020 2420 13380 3180)
|
||||
rect(metal1 13020 2420 13380 3180)
|
||||
rect(metal1 10380 2420 10740 3180)
|
||||
rect(metal1 10380 2420 10740 3180)
|
||||
rect(metal1 18300 2420 18660 3180)
|
||||
rect(metal1 18300 2420 18660 3180)
|
||||
rect(metal1 15660 2420 16020 3180)
|
||||
rect(metal1 15660 2420 16020 3180)
|
||||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal2_lbl -1 2799 1 2801)
|
||||
rect(diff_cont (7810 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (12980 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (7700 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (7700 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-21410 390) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (-16200 -1800) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (12840 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (7560 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (7560 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal2_lbl (-21301 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 7810 -310 8030 -90)
|
||||
rect(diff_cont 5170 -310 5390 -90)
|
||||
rect(diff_cont 5170 90 5390 310)
|
||||
rect(diff_cont 5170 90 5390 310)
|
||||
rect(diff_cont 5170 -310 5390 -90)
|
||||
rect(diff_cont 2530 -310 2750 -90)
|
||||
rect(diff_cont 2530 90 2750 310)
|
||||
rect(diff_cont 2530 90 2750 310)
|
||||
rect(diff_cont 2530 -310 2750 -90)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont 13090 -310 13310 -90)
|
||||
rect(diff_cont 13090 90 13310 310)
|
||||
rect(diff_cont 13090 90 13310 310)
|
||||
rect(diff_cont 13090 -310 13310 -90)
|
||||
rect(diff_cont 10450 -310 10670 -90)
|
||||
rect(diff_cont 10450 90 10670 310)
|
||||
rect(diff_cont 10450 90 10670 310)
|
||||
rect(diff_cont 10450 -310 10670 -90)
|
||||
rect(diff_cont 18370 -310 18590 -90)
|
||||
rect(diff_cont 18370 90 18590 310)
|
||||
rect(diff_cont 18370 90 18590 310)
|
||||
rect(diff_cont 18370 -310 18590 -90)
|
||||
rect(diff_cont 15730 -310 15950 -90)
|
||||
rect(diff_cont 15730 90 15950 310)
|
||||
rect(diff_cont 15730 90 15950 310)
|
||||
rect(diff_cont 15730 -310 15950 -90)
|
||||
rect(diff_cont 23650 -310 23870 -90)
|
||||
rect(diff_cont 23650 90 23870 310)
|
||||
rect(diff_cont 23650 90 23870 310)
|
||||
rect(diff_cont 23650 -310 23870 -90)
|
||||
rect(diff_cont 21010 -310 21230 -90)
|
||||
rect(diff_cont 21010 90 21230 310)
|
||||
rect(diff_cont 21010 90 21230 310)
|
||||
rect(diff_cont 21010 -310 21230 -90)
|
||||
rect(metal1 -180 -1420 180 -300)
|
||||
rect(metal1 2460 -1420 2820 -300)
|
||||
rect(metal1 5100 -1420 5460 -300)
|
||||
rect(metal1 7740 -1420 8100 -300)
|
||||
rect(metal1 10380 -1420 10740 -300)
|
||||
rect(metal1 13020 -1420 13380 -300)
|
||||
rect(metal1 15660 -1420 16020 -300)
|
||||
rect(metal1 18300 -1420 18660 -300)
|
||||
rect(metal1 20940 -1420 21300 -300)
|
||||
rect(metal1 23580 -1420 23940 -300)
|
||||
rect(metal1 7740 -380 8100 380)
|
||||
rect(metal1 7740 -380 8100 380)
|
||||
rect(metal1 5100 -380 5460 380)
|
||||
rect(metal1 5100 -380 5460 380)
|
||||
rect(metal1 2460 -380 2820 380)
|
||||
rect(metal1 2460 -380 2820 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 13020 -380 13380 380)
|
||||
rect(metal1 13020 -380 13380 380)
|
||||
rect(metal1 10380 -380 10740 380)
|
||||
rect(metal1 10380 -380 10740 380)
|
||||
rect(metal1 18300 -380 18660 380)
|
||||
rect(metal1 18300 -380 18660 380)
|
||||
rect(metal1 15660 -380 16020 380)
|
||||
rect(metal1 15660 -380 16020 380)
|
||||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal2_lbl -1 -1 1 1)
|
||||
rect(diff_cont (7810 -310) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (12980 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (7700 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (7700 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 -220) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-21410 -1330) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (-16200 -80) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (12840 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (7560 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (7560 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
rect(metal2_lbl (-21301 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (3330 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (19170 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
rect(diff_cont (13890 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
net(8
|
||||
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)
|
||||
rect(diff_cont (8610 2890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
|
|
|
|||
|
|
@ -0,0 +1,578 @@
|
|||
#%l2n-klayout
|
||||
|
||||
# General section
|
||||
|
||||
top(RINGO)
|
||||
unit(0.001)
|
||||
|
||||
# Layer section
|
||||
# This section lists the mask layers (drawing or derived) and their connections.
|
||||
|
||||
# Mask layers
|
||||
layer(rbulk)
|
||||
layer(nwell '1/0')
|
||||
layer(poly '3/0')
|
||||
layer(poly_lbl '3/1')
|
||||
layer(diff_cont '4/0')
|
||||
layer(poly_cont '5/0')
|
||||
layer(metal1 '6/0')
|
||||
layer(metal1_lbl '6/1')
|
||||
layer(via1 '7/0')
|
||||
layer(metal2 '8/0')
|
||||
layer(metal2_lbl '8/1')
|
||||
layer(ntie)
|
||||
layer(psd)
|
||||
layer(ptie)
|
||||
layer(nsd)
|
||||
|
||||
# Mask layer connectivity
|
||||
connect(nwell nwell ntie)
|
||||
connect(poly poly poly_lbl poly_cont)
|
||||
connect(poly_lbl poly)
|
||||
connect(diff_cont diff_cont metal1 ntie psd ptie nsd)
|
||||
connect(poly_cont poly poly_cont metal1)
|
||||
connect(metal1 diff_cont poly_cont metal1 metal1_lbl via1)
|
||||
connect(metal1_lbl metal1)
|
||||
connect(via1 metal1 via1 metal2)
|
||||
connect(metal2 via1 metal2 metal2_lbl)
|
||||
connect(metal2_lbl metal2)
|
||||
connect(ntie nwell diff_cont ntie)
|
||||
connect(psd diff_cont psd)
|
||||
connect(ptie diff_cont ptie)
|
||||
connect(nsd diff_cont nsd)
|
||||
|
||||
# Global nets and connectivity
|
||||
global(rbulk BULK)
|
||||
global(ptie BULK)
|
||||
|
||||
# Device class section
|
||||
class(PMOS MOS4)
|
||||
class(NMOS MOS4)
|
||||
|
||||
# Device abstracts section
|
||||
# Device abstracts list the pin shapes of the devices.
|
||||
device(D$PMOS PMOS
|
||||
terminal(S
|
||||
rect(psd -650 -475 -125 475)
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
)
|
||||
terminal(D
|
||||
rect(psd 125 -475 675 475)
|
||||
)
|
||||
terminal(B
|
||||
rect(nwell -125 -475 125 475)
|
||||
)
|
||||
)
|
||||
device(D$PMOS$1 PMOS
|
||||
terminal(S
|
||||
rect(psd -675 -475 -125 475)
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
)
|
||||
terminal(D
|
||||
rect(psd 125 -475 650 475)
|
||||
)
|
||||
terminal(B
|
||||
rect(nwell -125 -475 125 475)
|
||||
)
|
||||
)
|
||||
device(D$NMOS NMOS
|
||||
terminal(S
|
||||
rect(nsd -650 -475 -125 475)
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd 125 -475 675 475)
|
||||
)
|
||||
terminal(B
|
||||
rect(rbulk -125 -475 125 475)
|
||||
)
|
||||
)
|
||||
device(D$NMOS$1 NMOS
|
||||
terminal(S
|
||||
rect(nsd -675 -475 -125 475)
|
||||
)
|
||||
terminal(G
|
||||
rect(poly -125 -475 125 475)
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd 125 -475 650 475)
|
||||
)
|
||||
terminal(B
|
||||
rect(rbulk -125 -475 125 475)
|
||||
)
|
||||
)
|
||||
|
||||
# Circuit section
|
||||
# Circuits are the hierarchical building blocks of the netlist.
|
||||
circuit(INV2
|
||||
|
||||
# Nets with their geometries
|
||||
net(1
|
||||
rect(nwell -1400 1800 1400 4580)
|
||||
rect(diff_cont -110 3930 110 4150)
|
||||
rect(ntie -400 3700 400 4380)
|
||||
)
|
||||
net(2 name(IN)
|
||||
rect(poly -525 -250 -275 2250)
|
||||
rect(poly -1700 1620 -400 1980)
|
||||
rect(poly -525 -800 -275 800)
|
||||
rect(poly -525 2000 -275 3600)
|
||||
rect(poly_lbl -801 1799 -799 1801)
|
||||
rect(poly_cont -1630 1690 -1410 1910)
|
||||
)
|
||||
net(3
|
||||
rect(poly 275 -250 525 2250)
|
||||
rect(poly 220 820 580 1180)
|
||||
rect(poly 275 2000 525 3600)
|
||||
rect(poly 275 -800 525 800)
|
||||
rect(diff_cont -910 2490 -690 2710)
|
||||
rect(diff_cont -910 2890 -690 3110)
|
||||
rect(diff_cont -910 -310 -690 -90)
|
||||
rect(diff_cont -910 90 -690 310)
|
||||
rect(poly_cont 290 890 510 1110)
|
||||
rect(metal1 -800 820 580 1180)
|
||||
rect(metal1 -980 -420 -620 2420)
|
||||
rect(metal1 -980 2420 -620 3180)
|
||||
rect(metal1 -980 -380 -620 380)
|
||||
rect(psd -1050 2325 -525 3275)
|
||||
rect(nsd -1050 -475 -525 475)
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 690 -310 910 -90)
|
||||
polygon(metal1 800 20 * 380 940 * * 1620 620 * * 2420 980 * * 1980 1300 * * 20)
|
||||
rect(metal1 620 2420 980 3180)
|
||||
rect(metal1 620 -380 980 380)
|
||||
rect(metal1_lbl 799 1799 801 1801)
|
||||
rect(psd 525 2325 1050 3275)
|
||||
rect(nsd 525 -475 1050 475)
|
||||
)
|
||||
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)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(via1 -125 -325 125 -75)
|
||||
rect(via1 -125 75 125 325)
|
||||
rect(metal2 -1400 -450 1400 450)
|
||||
rect(metal2_lbl 1239 -91 1241 -89)
|
||||
rect(nsd -275 -475 275 475)
|
||||
)
|
||||
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)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(via1 -125 2475 125 2725)
|
||||
rect(via1 -125 2875 125 3125)
|
||||
rect(metal2 -1400 2350 1400 3250)
|
||||
rect(metal2_lbl 1249 2799 1251 2801)
|
||||
rect(psd -275 2325 275 3275)
|
||||
)
|
||||
net(7 name(BULK)
|
||||
rect(diff_cont -110 -1360 110 -1140)
|
||||
rect(ptie -400 -1590 400 -910)
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin($0 1)
|
||||
pin(IN 2)
|
||||
pin($2 3)
|
||||
pin(OUT 4)
|
||||
pin(VSS 5)
|
||||
pin(VDD 6)
|
||||
pin(BULK 7)
|
||||
|
||||
# Devices and their connections
|
||||
device($1 D$PMOS
|
||||
location(-400 2800)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.49875)
|
||||
param(AD 0.26125)
|
||||
param(PS 2.95)
|
||||
param(PD 1.5)
|
||||
terminal(S 3)
|
||||
terminal(G 2)
|
||||
terminal(D 6)
|
||||
terminal(B 1)
|
||||
)
|
||||
device($2 D$PMOS$1
|
||||
location(400 2800)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.26125)
|
||||
param(AD 0.49875)
|
||||
param(PS 1.5)
|
||||
param(PD 2.95)
|
||||
terminal(S 6)
|
||||
terminal(G 3)
|
||||
terminal(D 4)
|
||||
terminal(B 1)
|
||||
)
|
||||
device($3 D$NMOS
|
||||
location(-400 0)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.49875)
|
||||
param(AD 0.26125)
|
||||
param(PS 2.95)
|
||||
param(PD 1.5)
|
||||
terminal(S 3)
|
||||
terminal(G 2)
|
||||
terminal(D 5)
|
||||
terminal(B 7)
|
||||
)
|
||||
device($4 D$NMOS$1
|
||||
location(400 0)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.26125)
|
||||
param(AD 0.49875)
|
||||
param(PS 1.5)
|
||||
param(PD 2.95)
|
||||
terminal(S 5)
|
||||
terminal(G 3)
|
||||
terminal(D 4)
|
||||
terminal(B 7)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(INV2PAIR
|
||||
|
||||
# Nets with their geometries
|
||||
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(3
|
||||
rect(diff_cont 4230 3290 4450 3510)
|
||||
rect(diff_cont 4230 3690 4450 3910)
|
||||
rect(diff_cont 4230 3690 4450 3910)
|
||||
rect(diff_cont 4230 3290 4450 3510)
|
||||
rect(diff_cont 1590 3290 1810 3510)
|
||||
rect(diff_cont 1590 3690 1810 3910)
|
||||
rect(diff_cont 1590 3690 1810 3910)
|
||||
rect(diff_cont 1590 3290 1810 3510)
|
||||
rect(metal1 4160 3220 4520 3980)
|
||||
rect(metal1 4160 3220 4520 3980)
|
||||
rect(metal1 1520 3220 1880 3980)
|
||||
rect(metal1 1520 3220 1880 3980)
|
||||
)
|
||||
net(4
|
||||
rect(diff_cont 4230 490 4450 710)
|
||||
rect(diff_cont 4230 890 4450 1110)
|
||||
rect(diff_cont 4230 890 4450 1110)
|
||||
rect(diff_cont 4230 490 4450 710)
|
||||
rect(diff_cont 1590 490 1810 710)
|
||||
rect(diff_cont 1590 890 1810 1110)
|
||||
rect(diff_cont 1590 890 1810 1110)
|
||||
rect(diff_cont 1590 490 1810 710)
|
||||
rect(metal1 4160 420 4520 1180)
|
||||
rect(metal1 4160 420 4520 1180)
|
||||
rect(metal1 1520 420 1880 1180)
|
||||
rect(metal1 1520 420 1880 1180)
|
||||
)
|
||||
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(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(8)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin(BULK 1)
|
||||
pin($1 2)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 6)
|
||||
pin($5 7)
|
||||
pin($6 8)
|
||||
|
||||
# Subcircuits and their connections
|
||||
circuit($1 INV2 location(1700 800)
|
||||
pin($0 8)
|
||||
pin(IN 6)
|
||||
pin(OUT 5)
|
||||
pin(VSS 4)
|
||||
pin(VDD 3)
|
||||
pin(BULK 1)
|
||||
)
|
||||
circuit($2 INV2 location(4340 800)
|
||||
pin($0 8)
|
||||
pin(IN 5)
|
||||
pin($2 2)
|
||||
pin(OUT 7)
|
||||
pin(VSS 4)
|
||||
pin(VDD 3)
|
||||
pin(BULK 1)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(RINGO
|
||||
|
||||
# Nets with their geometries
|
||||
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)
|
||||
rect(diff_cont 22850 90 23070 310)
|
||||
rect(metal1 -1700 1620 -1340 1980)
|
||||
rect(via1 -1645 1675 -1395 1925)
|
||||
rect(via1 22835 1675 23085 1925)
|
||||
rect(metal2 -1720 1600 23160 2000)
|
||||
rect(metal2_lbl -1 1799 1 1801)
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 24450 -310 24670 -90)
|
||||
rect(via1 24435 1675 24685 1925)
|
||||
rect(metal2 24360 1600 24760 2000)
|
||||
rect(metal2_lbl 24559 1799 24561 1801)
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 7810 2490 8030 2710)
|
||||
rect(diff_cont 5170 2490 5390 2710)
|
||||
rect(diff_cont 5170 2890 5390 3110)
|
||||
rect(diff_cont 5170 2890 5390 3110)
|
||||
rect(diff_cont 5170 2490 5390 2710)
|
||||
rect(diff_cont 2530 2490 2750 2710)
|
||||
rect(diff_cont 2530 2890 2750 3110)
|
||||
rect(diff_cont 2530 2890 2750 3110)
|
||||
rect(diff_cont 2530 2490 2750 2710)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2890 110 3110)
|
||||
rect(diff_cont -110 2490 110 2710)
|
||||
rect(diff_cont 13090 2490 13310 2710)
|
||||
rect(diff_cont 13090 2890 13310 3110)
|
||||
rect(diff_cont 13090 2890 13310 3110)
|
||||
rect(diff_cont 13090 2490 13310 2710)
|
||||
rect(diff_cont 10450 2490 10670 2710)
|
||||
rect(diff_cont 10450 2890 10670 3110)
|
||||
rect(diff_cont 10450 2890 10670 3110)
|
||||
rect(diff_cont 10450 2490 10670 2710)
|
||||
rect(diff_cont 18370 2490 18590 2710)
|
||||
rect(diff_cont 18370 2890 18590 3110)
|
||||
rect(diff_cont 18370 2890 18590 3110)
|
||||
rect(diff_cont 18370 2490 18590 2710)
|
||||
rect(diff_cont 15730 2490 15950 2710)
|
||||
rect(diff_cont 15730 2890 15950 3110)
|
||||
rect(diff_cont 15730 2890 15950 3110)
|
||||
rect(diff_cont 15730 2490 15950 2710)
|
||||
rect(diff_cont 23650 2490 23870 2710)
|
||||
rect(diff_cont 23650 2890 23870 3110)
|
||||
rect(diff_cont 23650 2890 23870 3110)
|
||||
rect(diff_cont 23650 2490 23870 2710)
|
||||
rect(diff_cont 21010 2490 21230 2710)
|
||||
rect(diff_cont 21010 2890 21230 3110)
|
||||
rect(diff_cont 21010 2890 21230 3110)
|
||||
rect(diff_cont 21010 2490 21230 2710)
|
||||
rect(metal1 -180 3100 180 4220)
|
||||
rect(metal1 2460 3100 2820 4220)
|
||||
rect(metal1 5100 3100 5460 4220)
|
||||
rect(metal1 7740 3100 8100 4220)
|
||||
rect(metal1 10380 3100 10740 4220)
|
||||
rect(metal1 13020 3100 13380 4220)
|
||||
rect(metal1 15660 3100 16020 4220)
|
||||
rect(metal1 18300 3100 18660 4220)
|
||||
rect(metal1 20940 3100 21300 4220)
|
||||
rect(metal1 23580 3100 23940 4220)
|
||||
rect(metal1 7740 2420 8100 3180)
|
||||
rect(metal1 7740 2420 8100 3180)
|
||||
rect(metal1 5100 2420 5460 3180)
|
||||
rect(metal1 5100 2420 5460 3180)
|
||||
rect(metal1 2460 2420 2820 3180)
|
||||
rect(metal1 2460 2420 2820 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 -180 2420 180 3180)
|
||||
rect(metal1 13020 2420 13380 3180)
|
||||
rect(metal1 13020 2420 13380 3180)
|
||||
rect(metal1 10380 2420 10740 3180)
|
||||
rect(metal1 10380 2420 10740 3180)
|
||||
rect(metal1 18300 2420 18660 3180)
|
||||
rect(metal1 18300 2420 18660 3180)
|
||||
rect(metal1 15660 2420 16020 3180)
|
||||
rect(metal1 15660 2420 16020 3180)
|
||||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal1 23580 2420 23940 3180)
|
||||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal1 20940 2420 21300 3180)
|
||||
rect(metal2_lbl -1 2799 1 2801)
|
||||
)
|
||||
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)
|
||||
rect(diff_cont 7810 -310 8030 -90)
|
||||
rect(diff_cont 5170 -310 5390 -90)
|
||||
rect(diff_cont 5170 90 5390 310)
|
||||
rect(diff_cont 5170 90 5390 310)
|
||||
rect(diff_cont 5170 -310 5390 -90)
|
||||
rect(diff_cont 2530 -310 2750 -90)
|
||||
rect(diff_cont 2530 90 2750 310)
|
||||
rect(diff_cont 2530 90 2750 310)
|
||||
rect(diff_cont 2530 -310 2750 -90)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 90 110 310)
|
||||
rect(diff_cont -110 -310 110 -90)
|
||||
rect(diff_cont 13090 -310 13310 -90)
|
||||
rect(diff_cont 13090 90 13310 310)
|
||||
rect(diff_cont 13090 90 13310 310)
|
||||
rect(diff_cont 13090 -310 13310 -90)
|
||||
rect(diff_cont 10450 -310 10670 -90)
|
||||
rect(diff_cont 10450 90 10670 310)
|
||||
rect(diff_cont 10450 90 10670 310)
|
||||
rect(diff_cont 10450 -310 10670 -90)
|
||||
rect(diff_cont 18370 -310 18590 -90)
|
||||
rect(diff_cont 18370 90 18590 310)
|
||||
rect(diff_cont 18370 90 18590 310)
|
||||
rect(diff_cont 18370 -310 18590 -90)
|
||||
rect(diff_cont 15730 -310 15950 -90)
|
||||
rect(diff_cont 15730 90 15950 310)
|
||||
rect(diff_cont 15730 90 15950 310)
|
||||
rect(diff_cont 15730 -310 15950 -90)
|
||||
rect(diff_cont 23650 -310 23870 -90)
|
||||
rect(diff_cont 23650 90 23870 310)
|
||||
rect(diff_cont 23650 90 23870 310)
|
||||
rect(diff_cont 23650 -310 23870 -90)
|
||||
rect(diff_cont 21010 -310 21230 -90)
|
||||
rect(diff_cont 21010 90 21230 310)
|
||||
rect(diff_cont 21010 90 21230 310)
|
||||
rect(diff_cont 21010 -310 21230 -90)
|
||||
rect(metal1 -180 -1420 180 -300)
|
||||
rect(metal1 2460 -1420 2820 -300)
|
||||
rect(metal1 5100 -1420 5460 -300)
|
||||
rect(metal1 7740 -1420 8100 -300)
|
||||
rect(metal1 10380 -1420 10740 -300)
|
||||
rect(metal1 13020 -1420 13380 -300)
|
||||
rect(metal1 15660 -1420 16020 -300)
|
||||
rect(metal1 18300 -1420 18660 -300)
|
||||
rect(metal1 20940 -1420 21300 -300)
|
||||
rect(metal1 23580 -1420 23940 -300)
|
||||
rect(metal1 7740 -380 8100 380)
|
||||
rect(metal1 7740 -380 8100 380)
|
||||
rect(metal1 5100 -380 5460 380)
|
||||
rect(metal1 5100 -380 5460 380)
|
||||
rect(metal1 2460 -380 2820 380)
|
||||
rect(metal1 2460 -380 2820 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 -180 -380 180 380)
|
||||
rect(metal1 13020 -380 13380 380)
|
||||
rect(metal1 13020 -380 13380 380)
|
||||
rect(metal1 10380 -380 10740 380)
|
||||
rect(metal1 10380 -380 10740 380)
|
||||
rect(metal1 18300 -380 18660 380)
|
||||
rect(metal1 18300 -380 18660 380)
|
||||
rect(metal1 15660 -380 16020 380)
|
||||
rect(metal1 15660 -380 16020 380)
|
||||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal1 23580 -380 23940 380)
|
||||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal1 20940 -380 21300 380)
|
||||
rect(metal2_lbl -1 -1 1 1)
|
||||
)
|
||||
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(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(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(8
|
||||
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)
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin(FB 1)
|
||||
pin(OSC 2)
|
||||
pin(VDD 3)
|
||||
pin('BULK,VSS' 4)
|
||||
|
||||
# Subcircuits and their connections
|
||||
circuit($1 INV2PAIR location(19420 -800)
|
||||
pin(BULK 4)
|
||||
pin($1 1)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 6)
|
||||
pin($5 2)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($2 INV2PAIR location(-1700 -800)
|
||||
pin(BULK 4)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 1)
|
||||
pin($5 5)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($3 INV2PAIR location(3580 -800)
|
||||
pin(BULK 4)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 5)
|
||||
pin($5 8)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($4 INV2PAIR location(8860 -800)
|
||||
pin(BULK 4)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 8)
|
||||
pin($5 7)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($5 INV2PAIR location(14140 -800)
|
||||
pin(BULK 4)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 7)
|
||||
pin($5 6)
|
||||
pin($6 3)
|
||||
)
|
||||
|
||||
)
|
||||
|
|
@ -34,132 +34,132 @@ G(rbulk BULK)
|
|||
G(ptie BULK)
|
||||
D(D$PMOS PMOS
|
||||
T(S
|
||||
R(psd -650 -475 -125 475)
|
||||
R(psd (-650 -475) (525 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(psd 125 -475 675 475)
|
||||
R(psd (125 -475) (550 950))
|
||||
)
|
||||
T(B
|
||||
R(nwell -125 -475 125 475)
|
||||
R(nwell (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
D(D$PMOS$1 PMOS
|
||||
T(S
|
||||
R(psd -675 -475 -125 475)
|
||||
R(psd (-675 -475) (550 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(psd 125 -475 650 475)
|
||||
R(psd (125 -475) (525 950))
|
||||
)
|
||||
T(B
|
||||
R(nwell -125 -475 125 475)
|
||||
R(nwell (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
D(D$NMOS NMOS
|
||||
T(S
|
||||
R(nsd -650 -475 -125 475)
|
||||
R(nsd (-650 -475) (525 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(nsd 125 -475 675 475)
|
||||
R(nsd (125 -475) (550 950))
|
||||
)
|
||||
T(B
|
||||
R(rbulk -125 -475 125 475)
|
||||
R(rbulk (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
D(D$NMOS$1 NMOS
|
||||
T(S
|
||||
R(nsd -675 -475 -125 475)
|
||||
R(nsd (-675 -475) (550 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(nsd 125 -475 650 475)
|
||||
R(nsd (125 -475) (525 950))
|
||||
)
|
||||
T(B
|
||||
R(rbulk -125 -475 125 475)
|
||||
R(rbulk (-125 -475) (250 950))
|
||||
)
|
||||
)
|
||||
X(INV2
|
||||
N(1
|
||||
R(nwell -1400 1800 1400 4580)
|
||||
R(diff_cont -110 3930 110 4150)
|
||||
R(ntie -400 3700 400 4380)
|
||||
R(nwell (-1400 1800) (2800 2780))
|
||||
R(diff_cont (-1510 -650) (220 220))
|
||||
R(ntie (-510 -450) (800 680))
|
||||
)
|
||||
N(2 I(IN)
|
||||
R(poly -525 -250 -275 2250)
|
||||
R(poly -1700 1620 -400 1980)
|
||||
R(poly -525 -800 -275 800)
|
||||
R(poly -525 2000 -275 3600)
|
||||
R(poly_lbl -801 1799 -799 1801)
|
||||
R(poly_cont -1630 1690 -1410 1910)
|
||||
R(poly (-525 -250) (250 2500))
|
||||
R(poly (-1425 -630) (1300 360))
|
||||
R(poly (-125 -2780) (250 1600))
|
||||
R(poly (-250 1200) (250 1600))
|
||||
R(poly_lbl (-526 -1801) (2 2))
|
||||
R(poly_cont (-831 -111) (220 220))
|
||||
)
|
||||
N(3
|
||||
R(poly 275 -250 525 2250)
|
||||
R(poly 220 820 580 1180)
|
||||
R(poly 275 2000 525 3600)
|
||||
R(poly 275 -800 525 800)
|
||||
R(diff_cont -910 2490 -690 2710)
|
||||
R(diff_cont -910 2890 -690 3110)
|
||||
R(diff_cont -910 -310 -690 -90)
|
||||
R(diff_cont -910 90 -690 310)
|
||||
R(poly_cont 290 890 510 1110)
|
||||
R(metal1 -800 820 580 1180)
|
||||
R(metal1 -980 -420 -620 2420)
|
||||
R(metal1 -980 2420 -620 3180)
|
||||
R(metal1 -980 -380 -620 380)
|
||||
R(psd -1050 2325 -525 3275)
|
||||
R(nsd -1050 -475 -525 475)
|
||||
R(poly (275 -250) (250 2500))
|
||||
R(poly (-305 -1430) (360 360))
|
||||
R(poly (-305 820) (250 1600))
|
||||
R(poly (-250 -4400) (250 1600))
|
||||
R(diff_cont (-1435 1690) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -3420) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(poly_cont (980 580) (220 220))
|
||||
R(metal1 (-1310 -290) (1380 360))
|
||||
R(metal1 (-1560 -1600) (360 2840))
|
||||
R(metal1 (-360 0) (360 760))
|
||||
R(metal1 (-360 -3560) (360 760))
|
||||
R(psd (-430 1945) (525 950))
|
||||
R(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
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)
|
||||
R(diff_cont 690 -310 910 -90)
|
||||
Q(metal1 800 20 * 380 940 * * 1620 620 * * 2420 980 * * 1980 1300 * * 20)
|
||||
R(metal1 620 2420 980 3180)
|
||||
R(metal1 620 -380 980 380)
|
||||
R(metal1_lbl 799 1799 801 1801)
|
||||
R(psd 525 2325 1050 3275)
|
||||
R(nsd 525 -475 1050 475)
|
||||
R(diff_cont (690 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
Q(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960))
|
||||
R(metal1 (-680 2400) (360 760))
|
||||
R(metal1 (-360 -3560) (360 760))
|
||||
R(metal1_lbl (-181 1419) (2 2))
|
||||
R(psd (-276 524) (525 950))
|
||||
R(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
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)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(via1 -125 -325 125 -75)
|
||||
R(via1 -125 75 125 325)
|
||||
R(metal2 -1400 -450 1400 450)
|
||||
R(metal2_lbl 1239 -91 1241 -89)
|
||||
R(nsd -275 -475 275 475)
|
||||
R(diff_cont (-110 -310) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-290 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(via1 (-305 -705) (250 250))
|
||||
R(via1 (-250 150) (250 250))
|
||||
R(metal2 (-1525 -775) (2800 900))
|
||||
R(metal2_lbl (-161 -541) (2 2))
|
||||
R(nsd (-1516 -386) (550 950))
|
||||
)
|
||||
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)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(via1 -125 2475 125 2725)
|
||||
R(via1 -125 2875 125 3125)
|
||||
R(metal2 -1400 2350 1400 3250)
|
||||
R(metal2_lbl 1249 2799 1251 2801)
|
||||
R(psd -275 2325 275 3275)
|
||||
R(diff_cont (-110 2490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-290 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(via1 (-305 -705) (250 250))
|
||||
R(via1 (-250 150) (250 250))
|
||||
R(metal2 (-1525 -775) (2800 900))
|
||||
R(metal2_lbl (-151 -451) (2 2))
|
||||
R(psd (-1526 -476) (550 950))
|
||||
)
|
||||
N(7 I(BULK)
|
||||
R(diff_cont -110 -1360 110 -1140)
|
||||
R(ptie -400 -1590 400 -910)
|
||||
R(diff_cont (-110 -1360) (220 220))
|
||||
R(ptie (-510 -450) (800 680))
|
||||
)
|
||||
P($0 1)
|
||||
P(IN 2)
|
||||
|
|
@ -224,51 +224,51 @@ X(INV2
|
|||
X(INV2PAIR
|
||||
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)
|
||||
R(diff_cont (3430 3290) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -3420) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
N(3
|
||||
R(diff_cont 4230 3290 4450 3510)
|
||||
R(diff_cont 4230 3690 4450 3910)
|
||||
R(diff_cont 4230 3690 4450 3910)
|
||||
R(diff_cont 4230 3290 4450 3510)
|
||||
R(diff_cont 1590 3290 1810 3510)
|
||||
R(diff_cont 1590 3690 1810 3910)
|
||||
R(diff_cont 1590 3690 1810 3910)
|
||||
R(diff_cont 1590 3290 1810 3510)
|
||||
R(metal1 4160 3220 4520 3980)
|
||||
R(metal1 4160 3220 4520 3980)
|
||||
R(metal1 1520 3220 1880 3980)
|
||||
R(metal1 1520 3220 1880 3980)
|
||||
R(diff_cont (4230 3290) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (2350 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
N(4
|
||||
R(diff_cont 4230 490 4450 710)
|
||||
R(diff_cont 4230 890 4450 1110)
|
||||
R(diff_cont 4230 890 4450 1110)
|
||||
R(diff_cont 4230 490 4450 710)
|
||||
R(diff_cont 1590 490 1810 710)
|
||||
R(diff_cont 1590 890 1810 1110)
|
||||
R(diff_cont 1590 890 1810 1110)
|
||||
R(diff_cont 1590 490 1810 710)
|
||||
R(metal1 4160 420 4520 1180)
|
||||
R(metal1 4160 420 4520 1180)
|
||||
R(metal1 1520 420 1880 1180)
|
||||
R(metal1 1520 420 1880 1180)
|
||||
R(diff_cont (4230 490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (2350 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (2390 3690) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (5030 3690) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
N(8)
|
||||
P(BULK 1)
|
||||
|
|
@ -298,194 +298,194 @@ X(INV2PAIR
|
|||
)
|
||||
X(RINGO
|
||||
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)
|
||||
R(diff_cont 22850 90 23070 310)
|
||||
R(metal1 -1700 1620 -1340 1980)
|
||||
R(via1 -1645 1675 -1395 1925)
|
||||
R(via1 22835 1675 23085 1925)
|
||||
R(metal2 -1720 1600 23160 2000)
|
||||
R(metal2_lbl -1 1799 1 1801)
|
||||
R(diff_cont (22850 2490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -3420) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(metal1 (-24770 1310) (360 360))
|
||||
R(via1 (-305 -305) (250 250))
|
||||
R(via1 (24230 -250) (250 250))
|
||||
R(metal2 (-24805 -325) (24880 400))
|
||||
R(metal2_lbl (-23161 -201) (2 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)
|
||||
R(diff_cont 24450 -310 24670 -90)
|
||||
R(via1 24435 1675 24685 1925)
|
||||
R(metal2 24360 1600 24760 2000)
|
||||
R(metal2_lbl 24559 1799 24561 1801)
|
||||
R(diff_cont (24450 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(via1 (-235 1765) (250 250))
|
||||
R(metal2 (-325 -325) (400 400))
|
||||
R(metal2_lbl (-201 -201) (2 2))
|
||||
)
|
||||
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)
|
||||
R(diff_cont 7810 2490 8030 2710)
|
||||
R(diff_cont 5170 2490 5390 2710)
|
||||
R(diff_cont 5170 2890 5390 3110)
|
||||
R(diff_cont 5170 2890 5390 3110)
|
||||
R(diff_cont 5170 2490 5390 2710)
|
||||
R(diff_cont 2530 2490 2750 2710)
|
||||
R(diff_cont 2530 2890 2750 3110)
|
||||
R(diff_cont 2530 2890 2750 3110)
|
||||
R(diff_cont 2530 2490 2750 2710)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont 13090 2490 13310 2710)
|
||||
R(diff_cont 13090 2890 13310 3110)
|
||||
R(diff_cont 13090 2890 13310 3110)
|
||||
R(diff_cont 13090 2490 13310 2710)
|
||||
R(diff_cont 10450 2490 10670 2710)
|
||||
R(diff_cont 10450 2890 10670 3110)
|
||||
R(diff_cont 10450 2890 10670 3110)
|
||||
R(diff_cont 10450 2490 10670 2710)
|
||||
R(diff_cont 18370 2490 18590 2710)
|
||||
R(diff_cont 18370 2890 18590 3110)
|
||||
R(diff_cont 18370 2890 18590 3110)
|
||||
R(diff_cont 18370 2490 18590 2710)
|
||||
R(diff_cont 15730 2490 15950 2710)
|
||||
R(diff_cont 15730 2890 15950 3110)
|
||||
R(diff_cont 15730 2890 15950 3110)
|
||||
R(diff_cont 15730 2490 15950 2710)
|
||||
R(diff_cont 23650 2490 23870 2710)
|
||||
R(diff_cont 23650 2890 23870 3110)
|
||||
R(diff_cont 23650 2890 23870 3110)
|
||||
R(diff_cont 23650 2490 23870 2710)
|
||||
R(diff_cont 21010 2490 21230 2710)
|
||||
R(diff_cont 21010 2890 21230 3110)
|
||||
R(diff_cont 21010 2890 21230 3110)
|
||||
R(diff_cont 21010 2490 21230 2710)
|
||||
R(metal1 -180 3100 180 4220)
|
||||
R(metal1 2460 3100 2820 4220)
|
||||
R(metal1 5100 3100 5460 4220)
|
||||
R(metal1 7740 3100 8100 4220)
|
||||
R(metal1 10380 3100 10740 4220)
|
||||
R(metal1 13020 3100 13380 4220)
|
||||
R(metal1 15660 3100 16020 4220)
|
||||
R(metal1 18300 3100 18660 4220)
|
||||
R(metal1 20940 3100 21300 4220)
|
||||
R(metal1 23580 3100 23940 4220)
|
||||
R(metal1 7740 2420 8100 3180)
|
||||
R(metal1 7740 2420 8100 3180)
|
||||
R(metal1 5100 2420 5460 3180)
|
||||
R(metal1 5100 2420 5460 3180)
|
||||
R(metal1 2460 2420 2820 3180)
|
||||
R(metal1 2460 2420 2820 3180)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(metal1 13020 2420 13380 3180)
|
||||
R(metal1 13020 2420 13380 3180)
|
||||
R(metal1 10380 2420 10740 3180)
|
||||
R(metal1 10380 2420 10740 3180)
|
||||
R(metal1 18300 2420 18660 3180)
|
||||
R(metal1 18300 2420 18660 3180)
|
||||
R(metal1 15660 2420 16020 3180)
|
||||
R(metal1 15660 2420 16020 3180)
|
||||
R(metal1 23580 2420 23940 3180)
|
||||
R(metal1 23580 2420 23940 3180)
|
||||
R(metal1 20940 2420 21300 3180)
|
||||
R(metal1 20940 2420 21300 3180)
|
||||
R(metal2_lbl -1 2799 1 2801)
|
||||
R(diff_cont (7810 2490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (12980 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (7700 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (7700 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-21410 390) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (-16200 -1800) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (12840 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (7560 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (7560 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal2_lbl (-21301 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
R(diff_cont 7810 -310 8030 -90)
|
||||
R(diff_cont 5170 -310 5390 -90)
|
||||
R(diff_cont 5170 90 5390 310)
|
||||
R(diff_cont 5170 90 5390 310)
|
||||
R(diff_cont 5170 -310 5390 -90)
|
||||
R(diff_cont 2530 -310 2750 -90)
|
||||
R(diff_cont 2530 90 2750 310)
|
||||
R(diff_cont 2530 90 2750 310)
|
||||
R(diff_cont 2530 -310 2750 -90)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont 13090 -310 13310 -90)
|
||||
R(diff_cont 13090 90 13310 310)
|
||||
R(diff_cont 13090 90 13310 310)
|
||||
R(diff_cont 13090 -310 13310 -90)
|
||||
R(diff_cont 10450 -310 10670 -90)
|
||||
R(diff_cont 10450 90 10670 310)
|
||||
R(diff_cont 10450 90 10670 310)
|
||||
R(diff_cont 10450 -310 10670 -90)
|
||||
R(diff_cont 18370 -310 18590 -90)
|
||||
R(diff_cont 18370 90 18590 310)
|
||||
R(diff_cont 18370 90 18590 310)
|
||||
R(diff_cont 18370 -310 18590 -90)
|
||||
R(diff_cont 15730 -310 15950 -90)
|
||||
R(diff_cont 15730 90 15950 310)
|
||||
R(diff_cont 15730 90 15950 310)
|
||||
R(diff_cont 15730 -310 15950 -90)
|
||||
R(diff_cont 23650 -310 23870 -90)
|
||||
R(diff_cont 23650 90 23870 310)
|
||||
R(diff_cont 23650 90 23870 310)
|
||||
R(diff_cont 23650 -310 23870 -90)
|
||||
R(diff_cont 21010 -310 21230 -90)
|
||||
R(diff_cont 21010 90 21230 310)
|
||||
R(diff_cont 21010 90 21230 310)
|
||||
R(diff_cont 21010 -310 21230 -90)
|
||||
R(metal1 -180 -1420 180 -300)
|
||||
R(metal1 2460 -1420 2820 -300)
|
||||
R(metal1 5100 -1420 5460 -300)
|
||||
R(metal1 7740 -1420 8100 -300)
|
||||
R(metal1 10380 -1420 10740 -300)
|
||||
R(metal1 13020 -1420 13380 -300)
|
||||
R(metal1 15660 -1420 16020 -300)
|
||||
R(metal1 18300 -1420 18660 -300)
|
||||
R(metal1 20940 -1420 21300 -300)
|
||||
R(metal1 23580 -1420 23940 -300)
|
||||
R(metal1 7740 -380 8100 380)
|
||||
R(metal1 7740 -380 8100 380)
|
||||
R(metal1 5100 -380 5460 380)
|
||||
R(metal1 5100 -380 5460 380)
|
||||
R(metal1 2460 -380 2820 380)
|
||||
R(metal1 2460 -380 2820 380)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(metal1 13020 -380 13380 380)
|
||||
R(metal1 13020 -380 13380 380)
|
||||
R(metal1 10380 -380 10740 380)
|
||||
R(metal1 10380 -380 10740 380)
|
||||
R(metal1 18300 -380 18660 380)
|
||||
R(metal1 18300 -380 18660 380)
|
||||
R(metal1 15660 -380 16020 380)
|
||||
R(metal1 15660 -380 16020 380)
|
||||
R(metal1 23580 -380 23940 380)
|
||||
R(metal1 23580 -380 23940 380)
|
||||
R(metal1 20940 -380 21300 380)
|
||||
R(metal1 20940 -380 21300 380)
|
||||
R(metal2_lbl -1 -1 1 1)
|
||||
R(diff_cont (7810 -310) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (12980 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (7700 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (7700 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-21410 -1330) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (2280 -1120) (360 1120))
|
||||
R(metal1 (-16200 -80) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (12840 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (7560 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (7560 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal2_lbl (-21301 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (3330 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (19170 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (13890 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
N(8
|
||||
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)
|
||||
R(diff_cont (8610 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
P(FB 1)
|
||||
P(OSC 2)
|
||||
|
|
|
|||
|
|
@ -25,109 +25,109 @@ C(psd diff_cont psd)
|
|||
C(nsd diff_cont nsd)
|
||||
D(D$PMOS PMOS
|
||||
T(S
|
||||
R(psd -650 -475 -125 475)
|
||||
R(psd (-650 -475) (525 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(psd 125 -475 675 475)
|
||||
R(psd (125 -475) (550 950))
|
||||
)
|
||||
)
|
||||
D(D$PMOS$1 PMOS
|
||||
T(S
|
||||
R(psd -675 -475 -125 475)
|
||||
R(psd (-675 -475) (550 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(psd 125 -475 650 475)
|
||||
R(psd (125 -475) (525 950))
|
||||
)
|
||||
)
|
||||
D(D$NMOS NMOS
|
||||
T(S
|
||||
R(nsd -650 -475 -125 475)
|
||||
R(nsd (-650 -475) (525 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(nsd 125 -475 675 475)
|
||||
R(nsd (125 -475) (550 950))
|
||||
)
|
||||
)
|
||||
D(D$NMOS$1 NMOS
|
||||
T(S
|
||||
R(nsd -675 -475 -125 475)
|
||||
R(nsd (-675 -475) (550 950))
|
||||
)
|
||||
T(G
|
||||
R(poly -125 -475 125 475)
|
||||
R(poly (-125 -475) (250 950))
|
||||
)
|
||||
T(D
|
||||
R(nsd 125 -475 650 475)
|
||||
R(nsd (125 -475) (525 950))
|
||||
)
|
||||
)
|
||||
X(INV2
|
||||
N(1 I(IN)
|
||||
R(poly -525 -250 -275 2250)
|
||||
R(poly -1700 1620 -400 1980)
|
||||
R(poly -525 -800 -275 800)
|
||||
R(poly -525 2000 -275 3600)
|
||||
R(poly_lbl -801 1799 -799 1801)
|
||||
R(poly_cont -1630 1690 -1410 1910)
|
||||
R(poly (-525 -250) (250 2500))
|
||||
R(poly (-1425 -630) (1300 360))
|
||||
R(poly (-125 -2780) (250 1600))
|
||||
R(poly (-250 1200) (250 1600))
|
||||
R(poly_lbl (-526 -1801) (2 2))
|
||||
R(poly_cont (-831 -111) (220 220))
|
||||
)
|
||||
N(2
|
||||
R(poly 275 -250 525 2250)
|
||||
R(poly 220 820 580 1180)
|
||||
R(poly 275 2000 525 3600)
|
||||
R(poly 275 -800 525 800)
|
||||
R(diff_cont -910 2490 -690 2710)
|
||||
R(diff_cont -910 2890 -690 3110)
|
||||
R(diff_cont -910 -310 -690 -90)
|
||||
R(diff_cont -910 90 -690 310)
|
||||
R(poly_cont 290 890 510 1110)
|
||||
R(metal1 -800 820 580 1180)
|
||||
R(metal1 -980 -420 -620 2420)
|
||||
R(metal1 -980 2420 -620 3180)
|
||||
R(metal1 -980 -380 -620 380)
|
||||
R(psd -1050 2325 -525 3275)
|
||||
R(nsd -1050 -475 -525 475)
|
||||
R(poly (275 -250) (250 2500))
|
||||
R(poly (-305 -1430) (360 360))
|
||||
R(poly (-305 820) (250 1600))
|
||||
R(poly (-250 -4400) (250 1600))
|
||||
R(diff_cont (-1435 1690) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -3420) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(poly_cont (980 580) (220 220))
|
||||
R(metal1 (-1310 -290) (1380 360))
|
||||
R(metal1 (-1560 -1600) (360 2840))
|
||||
R(metal1 (-360 0) (360 760))
|
||||
R(metal1 (-360 -3560) (360 760))
|
||||
R(psd (-430 1945) (525 950))
|
||||
R(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
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)
|
||||
R(diff_cont 690 -310 910 -90)
|
||||
Q(metal1 800 20 * 380 940 * * 1620 620 * * 2420 980 * * 1980 1300 * * 20)
|
||||
R(metal1 620 2420 980 3180)
|
||||
R(metal1 620 -380 980 380)
|
||||
R(metal1_lbl 799 1799 801 1801)
|
||||
R(psd 525 2325 1050 3275)
|
||||
R(nsd 525 -475 1050 475)
|
||||
R(diff_cont (690 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
Q(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960))
|
||||
R(metal1 (-680 2400) (360 760))
|
||||
R(metal1 (-360 -3560) (360 760))
|
||||
R(metal1_lbl (-181 1419) (2 2))
|
||||
R(psd (-276 524) (525 950))
|
||||
R(nsd (-525 -3750) (525 950))
|
||||
)
|
||||
N(4
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(via1 -125 -325 125 -75)
|
||||
R(via1 -125 75 125 325)
|
||||
R(metal2 -1400 -450 1400 450)
|
||||
R(nsd -275 -475 275 475)
|
||||
R(diff_cont (-110 -310) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-290 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(via1 (-305 -705) (250 250))
|
||||
R(via1 (-250 150) (250 250))
|
||||
R(metal2 (-1525 -775) (2800 900))
|
||||
R(nsd (-1675 -925) (550 950))
|
||||
)
|
||||
N(5
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(via1 -125 2475 125 2725)
|
||||
R(via1 -125 2875 125 3125)
|
||||
R(metal2 -1400 2350 1400 3250)
|
||||
R(psd -275 2325 275 3275)
|
||||
R(diff_cont (-110 2490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-290 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(via1 (-305 -705) (250 250))
|
||||
R(via1 (-250 150) (250 250))
|
||||
R(metal2 (-1525 -775) (2800 900))
|
||||
R(psd (-1675 -925) (550 950))
|
||||
)
|
||||
P(IN 1)
|
||||
P($1 2)
|
||||
|
|
@ -185,204 +185,204 @@ X(INV2
|
|||
)
|
||||
X(RINGO
|
||||
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)
|
||||
R(diff_cont 22850 90 23070 310)
|
||||
R(metal1 -1700 1620 -1340 1980)
|
||||
R(via1 -1645 1675 -1395 1925)
|
||||
R(via1 22835 1675 23085 1925)
|
||||
R(metal2 -1720 1600 23160 2000)
|
||||
R(metal2_lbl -1 1799 1 1801)
|
||||
R(diff_cont (22850 2490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -3420) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(metal1 (-24770 1310) (360 360))
|
||||
R(via1 (-305 -305) (250 250))
|
||||
R(via1 (24230 -250) (250 250))
|
||||
R(metal2 (-24805 -325) (24880 400))
|
||||
R(metal2_lbl (-23161 -201) (2 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)
|
||||
R(diff_cont 24450 -310 24670 -90)
|
||||
R(via1 24435 1675 24685 1925)
|
||||
R(metal2 24360 1600 24760 2000)
|
||||
R(metal2_lbl 24559 1799 24561 1801)
|
||||
R(diff_cont (24450 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(via1 (-235 1765) (250 250))
|
||||
R(metal2 (-325 -325) (400 400))
|
||||
R(metal2_lbl (-201 -201) (2 2))
|
||||
)
|
||||
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)
|
||||
R(diff_cont 2530 -310 2750 -90)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 90 110 310)
|
||||
R(diff_cont -110 -310 110 -90)
|
||||
R(diff_cont 5170 -310 5390 -90)
|
||||
R(diff_cont 5170 90 5390 310)
|
||||
R(diff_cont 5170 90 5390 310)
|
||||
R(diff_cont 5170 -310 5390 -90)
|
||||
R(diff_cont 7810 -310 8030 -90)
|
||||
R(diff_cont 7810 90 8030 310)
|
||||
R(diff_cont 7810 90 8030 310)
|
||||
R(diff_cont 7810 -310 8030 -90)
|
||||
R(diff_cont 10450 -310 10670 -90)
|
||||
R(diff_cont 10450 90 10670 310)
|
||||
R(diff_cont 10450 90 10670 310)
|
||||
R(diff_cont 10450 -310 10670 -90)
|
||||
R(diff_cont 13090 -310 13310 -90)
|
||||
R(diff_cont 13090 90 13310 310)
|
||||
R(diff_cont 13090 90 13310 310)
|
||||
R(diff_cont 13090 -310 13310 -90)
|
||||
R(diff_cont 15730 -310 15950 -90)
|
||||
R(diff_cont 15730 90 15950 310)
|
||||
R(diff_cont 15730 90 15950 310)
|
||||
R(diff_cont 15730 -310 15950 -90)
|
||||
R(diff_cont 18370 -310 18590 -90)
|
||||
R(diff_cont 18370 90 18590 310)
|
||||
R(diff_cont 18370 90 18590 310)
|
||||
R(diff_cont 18370 -310 18590 -90)
|
||||
R(diff_cont 21010 -310 21230 -90)
|
||||
R(diff_cont 21010 90 21230 310)
|
||||
R(diff_cont 21010 90 21230 310)
|
||||
R(diff_cont 21010 -310 21230 -90)
|
||||
R(diff_cont 23650 -310 23870 -90)
|
||||
R(diff_cont 23650 90 23870 310)
|
||||
R(diff_cont 23650 90 23870 310)
|
||||
R(diff_cont 23650 -310 23870 -90)
|
||||
R(metal1 2460 -380 2820 380)
|
||||
R(metal1 2460 -380 2820 380)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(metal1 -180 -380 180 380)
|
||||
R(metal1 5100 -380 5460 380)
|
||||
R(metal1 5100 -380 5460 380)
|
||||
R(metal1 7740 -380 8100 380)
|
||||
R(metal1 7740 -380 8100 380)
|
||||
R(metal1 10380 -380 10740 380)
|
||||
R(metal1 10380 -380 10740 380)
|
||||
R(metal1 13020 -380 13380 380)
|
||||
R(metal1 13020 -380 13380 380)
|
||||
R(metal1 15660 -380 16020 380)
|
||||
R(metal1 15660 -380 16020 380)
|
||||
R(metal1 18300 -380 18660 380)
|
||||
R(metal1 18300 -380 18660 380)
|
||||
R(metal1 20940 -380 21300 380)
|
||||
R(metal1 20940 -380 21300 380)
|
||||
R(metal1 23580 -380 23940 380)
|
||||
R(metal1 23580 -380 23940 380)
|
||||
R(metal2_lbl -1 -1 1 1)
|
||||
R(diff_cont (2530 -310) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (5060 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-21410 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (4920 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal2_lbl (-23941 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
R(diff_cont 2530 2490 2750 2710)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2890 110 3110)
|
||||
R(diff_cont -110 2490 110 2710)
|
||||
R(diff_cont 5170 2490 5390 2710)
|
||||
R(diff_cont 5170 2890 5390 3110)
|
||||
R(diff_cont 5170 2890 5390 3110)
|
||||
R(diff_cont 5170 2490 5390 2710)
|
||||
R(diff_cont 7810 2490 8030 2710)
|
||||
R(diff_cont 7810 2890 8030 3110)
|
||||
R(diff_cont 7810 2890 8030 3110)
|
||||
R(diff_cont 7810 2490 8030 2710)
|
||||
R(diff_cont 10450 2490 10670 2710)
|
||||
R(diff_cont 10450 2890 10670 3110)
|
||||
R(diff_cont 10450 2890 10670 3110)
|
||||
R(diff_cont 10450 2490 10670 2710)
|
||||
R(diff_cont 13090 2490 13310 2710)
|
||||
R(diff_cont 13090 2890 13310 3110)
|
||||
R(diff_cont 13090 2890 13310 3110)
|
||||
R(diff_cont 13090 2490 13310 2710)
|
||||
R(diff_cont 15730 2490 15950 2710)
|
||||
R(diff_cont 15730 2890 15950 3110)
|
||||
R(diff_cont 15730 2890 15950 3110)
|
||||
R(diff_cont 15730 2490 15950 2710)
|
||||
R(diff_cont 18370 2490 18590 2710)
|
||||
R(diff_cont 18370 2890 18590 3110)
|
||||
R(diff_cont 18370 2890 18590 3110)
|
||||
R(diff_cont 18370 2490 18590 2710)
|
||||
R(diff_cont 21010 2490 21230 2710)
|
||||
R(diff_cont 21010 2890 21230 3110)
|
||||
R(diff_cont 21010 2890 21230 3110)
|
||||
R(diff_cont 21010 2490 21230 2710)
|
||||
R(diff_cont 23650 2490 23870 2710)
|
||||
R(diff_cont 23650 2890 23870 3110)
|
||||
R(diff_cont 23650 2890 23870 3110)
|
||||
R(diff_cont 23650 2490 23870 2710)
|
||||
R(metal1 2460 2420 2820 3180)
|
||||
R(metal1 2460 2420 2820 3180)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(metal1 -180 2420 180 3180)
|
||||
R(metal1 5100 2420 5460 3180)
|
||||
R(metal1 5100 2420 5460 3180)
|
||||
R(metal1 7740 2420 8100 3180)
|
||||
R(metal1 7740 2420 8100 3180)
|
||||
R(metal1 10380 2420 10740 3180)
|
||||
R(metal1 10380 2420 10740 3180)
|
||||
R(metal1 13020 2420 13380 3180)
|
||||
R(metal1 13020 2420 13380 3180)
|
||||
R(metal1 15660 2420 16020 3180)
|
||||
R(metal1 15660 2420 16020 3180)
|
||||
R(metal1 18300 2420 18660 3180)
|
||||
R(metal1 18300 2420 18660 3180)
|
||||
R(metal1 20940 2420 21300 3180)
|
||||
R(metal1 20940 2420 21300 3180)
|
||||
R(metal1 23580 2420 23940 3180)
|
||||
R(metal1 23580 2420 23940 3180)
|
||||
R(metal2_lbl -1 2799 1 2801)
|
||||
R(diff_cont (2530 2490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-2860 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (5060 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (2420 -220) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(metal1 (-21410 -290) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (4920 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal1 (2280 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
R(metal2_lbl (-23941 -381) (2 2))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (690 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (21810 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (19170 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (16530 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (13890 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (11250 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (8610 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
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)
|
||||
R(diff_cont (5970 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
N(13
|
||||
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)
|
||||
R(diff_cont (3330 2890) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
P(FB 1)
|
||||
P(OSC 2)
|
||||
|
|
|
|||
Loading…
Reference in New Issue