139 lines
6.7 KiB
Python
139 lines
6.7 KiB
Python
|
|
||
|
# This file is part of the Coriolis Software.
|
||
|
# Copyright (c) UPMC 2019-2020, All Rights Reserved
|
||
|
#
|
||
|
# +-----------------------------------------------------------------+
|
||
|
# | C O R I O L I S |
|
||
|
# | Alliance / Hurricane Interface |
|
||
|
# | |
|
||
|
# | Author : Jean-Paul CHAPUT |
|
||
|
# | E-mail : Jean-Paul.Chaput@lip6.fr |
|
||
|
# | =============================================================== |
|
||
|
# | Python : "./node45/freepdk45/devices.py" |
|
||
|
# +-----------------------------------------------------------------+
|
||
|
|
||
|
|
||
|
import helpers.io
|
||
|
helpers.io.vprint( 2, ' - "%s".' % helpers.truncPath(__file__) )
|
||
|
|
||
|
import common.devices
|
||
|
from common.devices import addDevice
|
||
|
|
||
|
|
||
|
chamsDir = helpers.sysConfDir + '/share/coriolis2/'
|
||
|
spiceDir = chamsDir + 'spice/'
|
||
|
|
||
|
|
||
|
addDevice( name = 'DifferentialPairBulkConnected'
|
||
|
, spice = spiceDir+'DiffPairBulkConnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'G1', 'G2', 'S' )
|
||
|
, layouts = ( ('Horizontal M2' , 'DP_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'DP_symmetrical.py' )
|
||
|
, ('Common centroid', 'DP_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'DP_interdigitated.py' )
|
||
|
, ('WIP DP' , 'wip_dp.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'DifferentialPairBulkUnconnected'
|
||
|
, spice = spiceDir+'DiffPairBulkUnconnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'G1', 'G2', 'S', 'B' )
|
||
|
, layouts = ( ('Horizontal M2' , 'DP_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'DP_symmetrical.py' )
|
||
|
, ('Common centroid', 'DP_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'DP_interdigitated.py' )
|
||
|
, ('WIP DP' , 'wip_dp.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'LevelShifterBulkUnconnected'
|
||
|
, spice = spiceDir+'LevelShifterBulkUnconnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S1', 'S2', 'B' )
|
||
|
, layouts = ( ('Horizontal M2' , 'LS_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'LS_symmetrical.py' )
|
||
|
, ('Common centroid', 'LS_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'LS_interdigitated.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'TransistorBulkConnected'
|
||
|
, spice = spiceDir+'TransistorBulkConnected.spi'
|
||
|
, connectors = ( 'D', 'G', 'S' )
|
||
|
, layouts = ( ('Rotate transistor', 'Transistor_rotate.py')
|
||
|
, ('Common transistor', 'Transistor_common.py')
|
||
|
, ('WIP Transistor' , 'wip_transistor.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'TransistorBulkUnconnected'
|
||
|
, spice = spiceDir+'TransistorBulkUnconnected.spi'
|
||
|
, connectors = ( 'D', 'G', 'S', 'B' )
|
||
|
, layouts = ( ('Rotate transistor', 'Transistor_rotate.py')
|
||
|
, ('Common transistor', 'Transistor_common.py')
|
||
|
, ('WIP Transistor' , 'wip_transistor.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'CrossCoupledPairBulkConnected'
|
||
|
, spice = spiceDir+'CCPairBulkConnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S' )
|
||
|
, layouts = ( ('Horizontal M2' , 'CCP_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'CCP_symmetrical.py' )
|
||
|
, ('Common centroid', 'CCP_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'CCP_interdigitated.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'CrossCoupledPairBulkUnconnected'
|
||
|
, spice = spiceDir+'CCPairBulkUnconnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S', 'B' )
|
||
|
, layouts = ( ('Horizontal M2' , 'CCP_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'CCP_symmetrical.py' )
|
||
|
, ('Common centroid', 'CCP_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'CCP_interdigitated.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'CommonSourcePairBulkConnected'
|
||
|
, spice = spiceDir+'CommonSourcePairBulkConnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S', 'G' )
|
||
|
, layouts = ( ('Horizontal M2' , 'CSP_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'CSP_symmetrical.py' )
|
||
|
, ('Interdigitated' , 'CSP_interdigitated.py' )
|
||
|
, ('WIP CSP' , 'wip_csp.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'CommonSourcePairBulkUnconnected'
|
||
|
, spice = spiceDir+'CommonSourcePairBulkUnconnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S', 'G', 'B' )
|
||
|
, layouts = ( ('Horizontal M2' , 'CSP_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'CSP_symmetrical.py' )
|
||
|
, ('Interdigitated' , 'CSP_interdigitated.py' )
|
||
|
, ('WIP CSP' , 'wip_csp.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'SimpleCurrentMirrorBulkConnected'
|
||
|
, spice = spiceDir+'CurrMirBulkConnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S' )
|
||
|
, layouts = ( ('Horizontal M2' , 'SCM_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'SCM_symmetrical.py' )
|
||
|
, ('Common centroid', 'SCM_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'SCM_interdigitated.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'SimpleCurrentMirrorBulkUnconnected'
|
||
|
, spice = spiceDir+'CurrMirBulkUnconnected.spi'
|
||
|
, connectors = ( 'D1', 'D2', 'S', 'B' )
|
||
|
, layouts = ( ('Horizontal M2' , 'SCM_horizontalM2.py' )
|
||
|
, ('Symmetrical' , 'SCM_symmetrical.py' )
|
||
|
, ('Common centroid', 'SCM_2DCommonCentroid.py')
|
||
|
, ('Interdigitated' , 'SCM_interdigitated.py' )
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'MultiCapacitor'
|
||
|
#, spice = spiceDir+'MIM_OneCapacitor.spi'
|
||
|
#, connectors = ( 'T1', 'B1' )
|
||
|
, layouts = ( ('Matrix', 'capacitormatrix.py' ),
|
||
|
)
|
||
|
)
|
||
|
addDevice( name = 'Resistor'
|
||
|
#, spice = spiceDir+'MIM_OneCapacitor.spi'
|
||
|
, connectors = ( 'PIN1', 'PIN2' )
|
||
|
, layouts = ( ('Snake', 'resistorsnake.py' ),
|
||
|
)
|
||
|
)
|
||
|
|