WIP: updated test data for latest updates, don't sort LVSDB on reading for consistency

This commit is contained in:
Matthias Koefferlein 2019-07-27 21:42:51 +02:00
parent 169cc5246d
commit 71f646c24f
20 changed files with 146 additions and 92 deletions

View File

@ -276,11 +276,17 @@ struct SortNetSubCircuitPins
}
void
NetlistCrossReference::gen_end_netlist (const db::Netlist *, const db::Netlist *)
NetlistCrossReference::sort_netlist ()
{
std::sort (m_circuits.begin (), m_circuits.end (), CircuitsCompareByName ());
}
void
NetlistCrossReference::gen_end_netlist (const db::Netlist *, const db::Netlist *)
{
// .. nothing yet ..
}
void
NetlistCrossReference::establish_pair (const db::Circuit *a, const db::Circuit *b)
{
@ -354,15 +360,19 @@ NetlistCrossReference::gen_begin_circuit (const db::Circuit *a, const db::Circui
}
void
NetlistCrossReference::gen_end_circuit (const db::Circuit *, const db::Circuit *, Status status)
NetlistCrossReference::sort_circuit ()
{
mp_per_circuit_data->status = status;
std::stable_sort (mp_per_circuit_data->devices.begin (), mp_per_circuit_data->devices.end (), pair_data_compare<DevicePairData, ByDeviceClassNameCompare> ());
std::stable_sort (mp_per_circuit_data->subcircuits.begin (), mp_per_circuit_data->subcircuits.end (), pair_data_compare<SubCircuitPairData, ByRefCircuitNameCompare> ());
std::stable_sort (mp_per_circuit_data->pins.begin (), mp_per_circuit_data->pins.end (), pair_data_compare<PinPairData, by_name_value_compare<db::Pin> > ());
std::stable_sort (mp_per_circuit_data->nets.begin (), mp_per_circuit_data->nets.end (), pair_data_compare<NetPairData, by_name_value_compare<db::Net> > ());
}
void
NetlistCrossReference::gen_end_circuit (const db::Circuit *, const db::Circuit *, Status status)
{
mp_per_circuit_data->status = status;
m_current_circuits = std::make_pair((const db::Circuit *)0, (const db::Circuit *)0);
mp_per_circuit_data = 0;

View File

@ -153,6 +153,7 @@ public:
virtual void end_netlist (const db::Netlist *a, const db::Netlist *b)
{
sort_netlist ();
gen_end_netlist (a, b);
}
@ -163,6 +164,7 @@ public:
virtual void end_circuit (const db::Circuit *a, const db::Circuit *b, bool matching)
{
sort_circuit ();
gen_end_circuit (a, b, matching ? Match : NoMatch);
}
@ -291,6 +293,8 @@ private:
void establish_pair (const db::Device *a, const db::Device *b, Status status);
void establish_pair (const db::Pin *a, const db::Pin *b, Status status);
void establish_pair (const db::SubCircuit *a, const db::SubCircuit *b, Status status);
void sort_circuit ();
void sort_netlist ();
void build_per_net_info (const std::pair<const db::Net *, const db::Net *> &nets, PerNetData &data) const;
void build_subcircuit_pin_refs (const std::pair<const db::Net *, const db::Net *> &nets, PerNetData &data) const;

View File

@ -289,7 +289,7 @@ TEST (2)
// INV2, net 1 has one pin and one terminal at BULK
EXPECT_EQ (tl::to_string (model->data (model->index (0, 0, inv2Net0Index), Qt::UserRole).toString ()), "B|B|PMOS|PMOS|$1|$1");
EXPECT_EQ (tl::to_string (model->data (model->index (0, 0, inv2Net0Index), Qt::DisplayRole).toString ()), "B / PMOS");
EXPECT_EQ (tl::to_string (model->data (model->index (0, 0, inv2Net0Index), Qt::DisplayRole).toString ()), "B / PMOS [L=0.25, W=3.5]");
EXPECT_EQ (tl::to_string (model->data (model->index (0, 2, inv2Net0Index), Qt::DisplayRole).toString ()), "<a href='int:device?id=17'>$1</a>");
EXPECT_EQ (tl::to_string (model->data (model->index (0, 3, inv2Net0Index), Qt::DisplayRole).toString ()), "<a href='int:device?id=17'>$1</a>");

View File

@ -954,8 +954,8 @@ xref(
pin(2 2 match)
pin(4 4 match)
pin(3 3 match)
device(1 1 match)
device(3 2 match)
device(1 1 match)
)
)
circuit(INV2PAIR INV2PAIR match

View File

@ -954,8 +954,8 @@ xref(
pin(2 2 match)
pin(4 4 match)
pin(3 3 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(INV2PAIR INV2PAIR match

View File

@ -954,8 +954,8 @@ xref(
pin(2 2 match)
pin(4 4 match)
pin(3 3 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(INV2PAIR INV2PAIR match

View File

@ -980,8 +980,8 @@ xref(
pin(2 2 match)
pin(4 4 match)
pin(3 3 match)
device(1 1 match)
device(3 2 match)
device(1 1 match)
)
)
circuit(INV2PAIR INV2PAIR nomatch

View File

@ -980,8 +980,8 @@ xref(
pin(2 2 match)
pin(4 4 match)
pin(3 3 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(INV2PAIR INV2PAIR nomatch

View File

@ -980,8 +980,8 @@ xref(
pin(2 2 match)
pin(4 4 match)
pin(3 3 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(INV2PAIR INV2PAIR nomatch

View File

@ -905,8 +905,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -926,10 +926,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -954,10 +954,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -966,6 +962,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -905,8 +905,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -926,10 +926,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -954,10 +954,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -966,6 +962,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -924,8 +924,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -945,10 +945,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -973,10 +973,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -985,6 +981,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -825,8 +825,8 @@ Z(
P(5 5 1)
P(0 0 1)
P(2 2 1)
D(1 1 1)
D(2 2 1)
D(1 1 1)
)
)
X(ND2X1 ND2X1 1
@ -846,10 +846,10 @@ Z(
P(6 6 1)
P(0 0 1)
P(2 2 1)
D(1 1 1)
D(2 2 1)
D(3 3 1)
D(4 4 1)
D(1 1 1)
D(2 2 1)
)
)
X(RINGO RINGO 1
@ -874,10 +874,6 @@ Z(
P(2 4 1)
P(1 1 1)
P(4 0 1)
X(1 1 1)
X(10 10 1)
X(11 11 1)
X(12 12 1)
X(2 2 1)
X(3 3 1)
X(4 4 1)
@ -886,6 +882,10 @@ Z(
X(7 7 1)
X(8 8 1)
X(9 9 1)
X(10 10 1)
X(11 11 1)
X(12 12 1)
X(1 1 1)
)
)
)

View File

@ -905,8 +905,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -926,10 +926,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -954,10 +954,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -966,6 +962,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -905,8 +905,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(nd2X1 ND2X1 match
@ -926,10 +926,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(top RINGO match
@ -953,10 +953,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -965,6 +961,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -905,8 +905,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -926,10 +926,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -954,10 +954,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -966,6 +962,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -905,8 +905,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -926,10 +926,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -954,10 +954,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(4 4 match)
@ -966,6 +962,10 @@ xref(
circuit(7 7 match)
circuit(8 8 match)
circuit(9 9 match)
circuit(10 10 match)
circuit(11 11 match)
circuit(12 12 match)
circuit(1 1 match)
)
)
)

View File

@ -621,10 +621,30 @@ layout(
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(12)
net(13)
net(14)
net(15)
net(12
rect(l8 (10110 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(13
rect(l8 (11910 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(14
rect(l8 (13710 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(15
rect(l8 (15510 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
# Outgoing pins and their connections to nets
pin(5 name(FB))
@ -1058,8 +1078,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(INVX2 INVX2 match
@ -1076,8 +1096,8 @@ xref(
pin(5 5 match)
pin(1 0 match)
pin(3 2 match)
device(1 1 match)
device(3 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -1097,10 +1117,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -1125,10 +1145,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(5 10 match)
circuit(6 11 match)
circuit(7 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(17 4 match)
@ -1137,6 +1153,10 @@ xref(
circuit(20 7 match)
circuit(21 8 match)
circuit(4 9 match)
circuit(5 10 match)
circuit(6 11 match)
circuit(7 12 match)
circuit(1 1 match)
)
)
)

View File

@ -621,10 +621,30 @@ layout(
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(12)
net(13)
net(14)
net(15)
net(12
rect(l8 (10110 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(13
rect(l8 (11910 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(14
rect(l8 (13710 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
net(15
rect(l8 (15510 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
)
# Outgoing pins and their connections to nets
pin(5 name(FB))
@ -1058,8 +1078,8 @@ xref(
pin(5 5 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(1 1 match)
)
)
circuit(INVX2 INVX2 match
@ -1076,8 +1096,8 @@ xref(
pin(5 5 match)
pin(1 0 match)
pin(3 2 match)
device(1 1 match)
device(3 2 match)
device(1 1 match)
)
)
circuit(ND2X1 ND2X1 match
@ -1097,10 +1117,10 @@ xref(
pin(6 6 match)
pin(0 0 match)
pin(2 2 match)
device(1 1 match)
device(2 2 match)
device(3 3 match)
device(4 4 match)
device(1 1 match)
device(2 2 match)
)
)
circuit(RINGO RINGO match
@ -1125,10 +1145,6 @@ xref(
pin(2 4 match)
pin(1 1 match)
pin(4 0 match)
circuit(1 1 match)
circuit(5 10 match)
circuit(6 11 match)
circuit(7 12 match)
circuit(2 2 match)
circuit(3 3 match)
circuit(17 4 match)
@ -1137,6 +1153,10 @@ xref(
circuit(20 7 match)
circuit(21 8 match)
circuit(4 9 match)
circuit(5 10 match)
circuit(6 11 match)
circuit(7 12 match)
circuit(1 1 match)
)
)
)

View File

@ -954,8 +954,8 @@ match_pins $2 $0
match_pins $3 $2
match_devices $3 $1
match_devices_with_different_parameters $2 $2
device_mismatch (null) $3
match_devices $1 $4
device_mismatch (null) $3
end_circuit INV INV NOMATCH
END