-
Notifications
You must be signed in to change notification settings - Fork 264
Closed
Labels
Description
The following code gives unexpected results. It is supposed to make two layers, 10000 and 10001 to 85 and 185 respectivly:
ly = RBA::Layout::new
l1 = ly.layer(85, 0)
l2 = ly.layer(185, 0)
## PROBLEM: these layers act as catch-all when the reader normalizes the layer map
## and inserts them as "known" layers!!!!
la = ly.layer
lb = ly.layer
opt = RBA::LoadLayoutOptions.new
lm = RBA::LayerMap.new
lm.map(RBA::LayerInfo.new(10001, 0), l1)
lm.map(RBA::LayerInfo.new(10000, 0), l2)
opt.set_layer_map(lm, false)
lm = ly.read("test.gds", opt)
puts lm.to_string
puts ly.top_cell.bbox_per_layer(l1).to_s
puts ly.top_cell.bbox_per_layer(l2).to_s
puts ly.top_cell.bbox_per_layer(la).to_s
puts ly.top_cell.bbox_per_layer(lb).to_s
The output is:
*/*
()
()
()
(-530,-190;560,720)
which is unexpected because it means all layers have been read into lb.
Without the presence of layers la and lb, the code works as expected. It also works if la and lb are assigned a specific layer and datatype.
Reactions are currently unavailable