mirror of https://github.com/KLayout/klayout.git
Updated Deep Verification Base (markdown)
parent
86a91539bb
commit
4390fea229
|
|
@ -99,9 +99,11 @@ After device recognition, schematic extraction can proceed bottom-up to connect
|
||||||
|
|
||||||
Here is a rough idea for a schematic extraction script:
|
Here is a rough idea for a schematic extraction script:
|
||||||
|
|
||||||
```(ruby)
|
```ruby
|
||||||
|
# ---------------------------------------------
|
||||||
# device definitions
|
# device definitions
|
||||||
|
|
||||||
|
# generic MOS device definitions
|
||||||
class MOSDevice < DeviceExtractor
|
class MOSDevice < DeviceExtractor
|
||||||
|
|
||||||
def extract(layout, seed, body)
|
def extract(layout, seed, body)
|
||||||
|
|
@ -131,25 +133,30 @@ class MOSDevice < DeviceExtractor
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# NMOS device definition
|
||||||
class NMOSDevice < MOSDevice
|
class NMOSDevice < MOSDevice
|
||||||
self.DEVICE_NAME = "NMOS"
|
self.DEVICE_NAME = "NMOS"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# PMOS device definition
|
||||||
class PMOSDevice < MOSDevice
|
class PMOSDevice < MOSDevice
|
||||||
self.DEVICE_NAME = "PMOS"
|
self.DEVICE_NAME = "PMOS"
|
||||||
end
|
end
|
||||||
|
|
||||||
# body
|
# ---------------------------------------------
|
||||||
|
# extraction script
|
||||||
|
|
||||||
deep
|
deep
|
||||||
|
|
||||||
# generation rules
|
# generation rules
|
||||||
|
|
||||||
sd = active - poly
|
sd = active - poly
|
||||||
gate = active * poly
|
gate = active * poly
|
||||||
pmos = gate * nwell
|
pmos = gate * nwell
|
||||||
nmos = gate - nwell
|
nmos = gate - nwell
|
||||||
|
|
||||||
# net extraction
|
# net extraction
|
||||||
|
|
||||||
extract_nets do
|
extract_nets do
|
||||||
|
|
||||||
connect metal2, via1
|
connect metal2, via1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue