mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-22 14:07:15 +02:00
WIP: some bug fixes, unit tests updated
This commit is contained in:
@@ -1455,10 +1455,11 @@ nets_by_name_const_from_netlist (const db::Netlist *netlist, const std::string &
|
|||||||
tl::GlobPattern glob (name_pattern);
|
tl::GlobPattern glob (name_pattern);
|
||||||
glob.set_case_sensitive (netlist->is_case_sensitive ());
|
glob.set_case_sensitive (netlist->is_case_sensitive ());
|
||||||
for (auto c = netlist->begin_circuits (); c != netlist->end_circuits (); ++c) {
|
for (auto c = netlist->begin_circuits (); c != netlist->end_circuits (); ++c) {
|
||||||
|
bool is_top = (c->begin_parents () == c->end_parents ());
|
||||||
for (auto n = c->begin_nets (); n != c->end_nets (); ++n) {
|
for (auto n = c->begin_nets (); n != c->end_nets (); ++n) {
|
||||||
const db::Net *net = n.operator-> ();
|
const db::Net *net = n.operator-> ();
|
||||||
// NOTE: we only pick root nets (pin_count == 0)
|
// NOTE: we only pick root nets (pin_count == 0 or in top cell)
|
||||||
if (net->pin_count () == 0 && glob.match (net->name ())) {
|
if ((is_top || net->pin_count () == 0) && glob.match (net->name ())) {
|
||||||
res.push_back (net);
|
res.push_back (net);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ CODE
|
|||||||
@layout_var.cells(cell_filter).each do |cell|
|
@layout_var.cells(cell_filter).each do |cell|
|
||||||
cell.shapes(tmp).insert(cell.bbox)
|
cell.shapes(tmp).insert(cell.bbox)
|
||||||
end
|
end
|
||||||
layer = DRCLayer::new(@engine, @engine._cmd(@engine, :_input, @layout_var, @cell.cell_index, [tmp], @sel, @box, @clip, @overlapping, RBA::Shapes::SAll, @global_trans, RBA::Region))
|
layer = DRCLayer::new(@engine, @engine._cmd(@engine, :_input, @layout_var, @cell.cell_index, [tmp], @sel, @box, @clip, @overlapping, RBA::Shapes::SAll, @global_trans, [], RBA::Region))
|
||||||
else
|
else
|
||||||
layer = input
|
layer = input
|
||||||
layer.insert((RBA::DBox::from_ibox(@cell.bbox) * @layout.dbu).transformed(@global_trans))
|
layer.insert((RBA::DBox::from_ibox(@cell.bbox) * @layout.dbu).transformed(@global_trans))
|
||||||
@@ -555,7 +555,8 @@ CODE
|
|||||||
|
|
||||||
def make_layer
|
def make_layer
|
||||||
layers = []
|
layers = []
|
||||||
DRCLayer::new(@engine, @engine._cmd(@engine, :_input, @layout_var, @cell.cell_index, layers, @sel, @box, @clip, @overlapping, RBA::Shapes::SAll, @global_trans, RBA::Region))
|
prop_selectors = []
|
||||||
|
DRCLayer::new(@engine, @engine._cmd(@engine, :_input, @layout_var, @cell.cell_index, layers, @sel, @box, @clip, @overlapping, RBA::Shapes::SAll, @global_trans, prop_selectors, RBA::Region))
|
||||||
end
|
end
|
||||||
|
|
||||||
# %DRC%
|
# %DRC%
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user