klayout/testdata/lvs/empty_subcells.lvsdb

168 lines
2.6 KiB
Plaintext

#%lvsdb-klayout
# Layout
layout(
top(empty_subcells)
unit(1)
# Layer section
# This section lists the mask layers (drawing or derived) and their connections.
# Mask layers
layer(l1 '1/0')
layer(l2 '2/0')
layer(l3 '3/0')
layer(l4 '254/0')
# Mask layer connectivity
connect(l1 l1 l2)
connect(l2 l1 l2 l3)
connect(l3 l2 l3 l4)
connect(l4 l3)
# Circuit section
# Circuits are the hierarchical building blocks of the netlist.
circuit(blockA
# Circuit boundary
rect((100 10) (30 80))
# Nets with their geometries
net(1 name(A)
rect(l3 (100 60) (30 30))
text(l4 A (-10 -10))
)
net(2 name(B)
rect(l3 (100 10) (30 30))
text(l4 B (-10 -10))
)
# Outgoing pins and their connections to nets
pin(1 name(A))
pin(2 name(B))
)
circuit(blockB
# Circuit boundary
rect((100 10) (30 80))
# Nets with their geometries
net(1 name(V)
rect(l3 (100 60) (30 30))
text(l4 V (-10 -10))
)
net(2 name(W)
rect(l3 (100 10) (30 30))
text(l4 W (-10 -10))
)
# Outgoing pins and their connections to nets
pin(1 name(V))
pin(2 name(W))
)
circuit(empty_subcells
# Circuit boundary
rect((100 10) (340 80))
# Nets with their geometries
net(1
rect(l1 (180 60) (90 30))
rect(l2 (-160 -20) (90 10))
rect(l2 (40 -10) (180 10))
)
net(2
rect(l1 (180 10) (90 30))
rect(l2 (-160 -20) (90 10))
rect(l2 (40 -10) (180 10))
)
# Subcircuits and their connections
circuit(1 blockB location(0 0)
pin(0 1)
pin(1 2)
)
circuit(2 blockA location(310 0)
pin(0 1)
pin(1 2)
)
)
)
# Reference netlist
reference(
# Circuit section
# Circuits are the hierarchical building blocks of the netlist.
circuit(BLOCKA
# Nets
net(1 name(A))
net(2 name(B))
# Outgoing pins and their connections to nets
pin(1 name(A))
pin(2 name(B))
)
circuit(BLOCKB
# Nets
net(1 name(V))
net(2 name(W))
# Outgoing pins and their connections to nets
pin(1 name(V))
pin(2 name(W))
)
circuit(EMPTY_SUBCELLS
# Nets
net(1 name(E))
net(2 name(F))
# Subcircuits and their connections
circuit(1 BLOCKA name('1')
pin(0 1)
pin(1 2)
)
circuit(2 BLOCKB name('2')
pin(0 1)
pin(1 2)
)
)
)
# Cross reference
xref(
circuit(blockA BLOCKA match
xref(
net(1 1 match)
net(2 2 match)
pin(0 0 match)
pin(1 1 match)
)
)
circuit(blockB BLOCKB match
xref(
net(1 1 match)
net(2 2 match)
pin(0 0 match)
pin(1 1 match)
)
)
circuit(empty_subcells EMPTY_SUBCELLS match
xref(
net(1 1 match)
net(2 2 match)
circuit(2 1 match)
circuit(1 2 match)
)
)
)