mirror of
https://github.com/KLayout/klayout.git
synced 2026-09-08 04:08:14 +02:00
More options on 'evaluate_nets' expressions, i.e. 'copy'. See documentation for details.
This commit is contained in:
Vendored
+28
-9
@@ -17,19 +17,38 @@ connect(l2, l3)
|
||||
connect(l3, l4)
|
||||
connect(l4, l5)
|
||||
|
||||
l1_measured = evaluate_nets(l1, { "l2" => l2, "l3" => l3, "l4" => l4, "l5" => l5 }, "put(5, area(l5)); put(0, area); put(100, area(l5)/area)")
|
||||
l2_measured = evaluate_nets(l1, {}, "put(0, area*factor)", { "factor" => 1000.0 })
|
||||
l3_measured = evaluate_nets(l1, {}, "put(0, net.name)")
|
||||
l4_measured = evaluate_nets(l1, {}, "skip(net.name == n)", { "n" => "NET1" })
|
||||
|
||||
l1.output(1, 0)
|
||||
l2.output(2, 0)
|
||||
l3.output(3, 0)
|
||||
l4.output(4, 0)
|
||||
l5.output(5, 0)
|
||||
|
||||
l1_measured.output(100, 0)
|
||||
l2_measured.output(101, 0)
|
||||
l3_measured.output(102, 0)
|
||||
l4_measured.output(103, 0)
|
||||
sec = { "l2" => l2, "l3" => l3, "l4" => l4, "l5" => l5 }
|
||||
l100_measured = evaluate_nets(l1, sec, "put(5, area(l5)); put(0, area); put(100, area(l5)/area)")
|
||||
l101_measured = evaluate_nets(l1, sec, "put(0, area*factor)", { "factor" => 1000.0 })
|
||||
l102_measured = evaluate_nets(l1, sec, "put(0, net.name)")
|
||||
l103_measured = evaluate_nets(l1, sec, "skip(net.name == n)", { "n" => "NET1" })
|
||||
l104_measured = evaluate_nets(l1, sec, "copy(net.name == n)", { "n" => "NET1" })
|
||||
# default action is "skip", then copy primary if net name is "NET1"
|
||||
l105_measured = evaluate_nets(l1, sec, "skip ; net.name == n && copy(layer = 0)", { "n" => "NET1" })
|
||||
l106_measured = evaluate_nets(l1, sec, "copy(net.name == n, merged = true)", { "n" => "NET1" })
|
||||
l107_measured = evaluate_nets(l1, sec, "copy(net.name == n, merged = false)", { "n" => "NET1" })
|
||||
l108_measured = evaluate_nets(l1, sec, "copy(net.name == n, merged = false, layers = [l4, l5])", { "n" => "NET1" })
|
||||
l109_measured = evaluate_nets(l1, sec, "copy(net.name == n, merged = false, layer = l5)", { "n" => "NET1" })
|
||||
l110_measured = evaluate_nets(l1, sec, "copy(net.name == n, merged = false, limit = 0)", { "n" => "NET1" })
|
||||
# default action is "skip", then copy all if net name is "NET1"
|
||||
l111_measured = evaluate_nets(l1, sec, "skip ; net.name == n && copy", { "n" => "NET1" })
|
||||
|
||||
l100_measured.output(100, 0)
|
||||
l101_measured.output(101, 0)
|
||||
l102_measured.output(102, 0)
|
||||
l103_measured.output(103, 0)
|
||||
l104_measured.output(104, 0)
|
||||
l105_measured.output(105, 0)
|
||||
l106_measured.output(106, 0)
|
||||
l107_measured.output(107, 0)
|
||||
l108_measured.output(108, 0)
|
||||
l109_measured.output(109, 0)
|
||||
l110_measured.output(110, 0)
|
||||
l111_measured.output(111, 0)
|
||||
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user