mirror of https://github.com/KLayout/klayout.git
44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
|
|
source $drc_test_source
|
|
target $drc_test_target
|
|
|
|
if $drc_test_deep
|
|
deep
|
|
threads(0) # easier to debug
|
|
end
|
|
|
|
l1 = input(1, 0)
|
|
l2 = input(2, 0)
|
|
l3 = input(3, 0)
|
|
|
|
l1.output(1, 0)
|
|
l2.output(2, 0)
|
|
l3.output(3, 0)
|
|
|
|
# booleans
|
|
l1.drc(primary + l2 + l3).output(100, 0)
|
|
l1.drc(secondary(l2) + primary + l3).output(101, 0)
|
|
l1.drc(primary + secondary(l2) + l3).output(102, 0)
|
|
|
|
l1.drc(primary - l2).output(110, 0)
|
|
# This will not work as the l2 shapes (being intruders)
|
|
# will not see all all primary shapes to give the
|
|
# correct result:
|
|
# l1.drc(secondary(l2) - primary).output(111, 0)
|
|
l1.drc(primary - secondary(l2)).output(112, 0)
|
|
|
|
l1.drc(primary & l2).output(120, 0)
|
|
l1.drc(secondary(l2) & primary).output(121, 0)
|
|
l1.drc(primary & secondary(l2)).output(122, 0)
|
|
|
|
l1.drc(primary | l2).output(130, 0)
|
|
l1.drc(secondary(l2) | primary).output(131, 0)
|
|
l1.drc(primary | secondary(l2)).output(132, 0)
|
|
|
|
# XOR will not work as the l2 shapes (being intruders)
|
|
# will not see all all primary shapes to give the
|
|
# correct result:
|
|
# l1.drc(primary ^ l2).output(140, 0)
|
|
# l1.drc(secondary(l2) ^ primary).output(141, 0)
|
|
# l1.drc(primary ^ secondary(l2)).output(142, 0)
|