sky130.pcells.pmos#
- sky130.pcells.pmos(diffusion_layer: LayerEnum | str | tuple[int, int] = (65, 20), poly_layer: LayerEnum | str | tuple[int, int] = (66, 20), gate_width: float = 0.42, gate_length: float = 0.15, sd_width: float = 0.3, end_cap: float = 0.13, contact_size: tuple[float, float] = (0.17, 0.17), contact_spacing: tuple[float, float] = (0.17, 0.17), contact_layer: LayerEnum | str | tuple[int, int] = (66, 44), contact_enclosure: tuple[float, float] = (0.06, 0.06), diff_spacing: float = 0.27, diff_enclosure: tuple[float, float] = (0.18, 0.18), diffn_layer: LayerEnum | str | tuple[int, int] = (65, 44), nwell_layer: LayerEnum | str | tuple[int, int] = (64, 20), dnwell_enclosure: tuple[float, float] = (0.4, 0.4), dnwell_layer: LayerEnum | str | tuple[int, int] = (64, 18), nf: int = 1, sdm_enclosure: tuple[float, float] = (0.125, 0.125), nsdm_layer: LayerEnum | str | tuple[int, int] = (93, 44), sdm_spacing: float = 0.13, psdm_layer: LayerEnum | str | tuple[int, int] = (94, 20), li_width: float = 0.17, li_layer: LayerEnum | str | tuple[int, int] = (67, 20), li_enclosure: float = 0.08, mcon_layer: LayerEnum | str | tuple[int, int] = (67, 44), mcon_enclosure: tuple[float, float] = (0.03, 0.06), m1_layer: LayerEnum | str | tuple[int, int] = (68, 20), npc_layer: LayerEnum | str | tuple[int, int] = (95, 20), npc_spacing: float = 0.09) Component [source]#
Return PMOS.
- Parameters:
diffusion_layer – spec.
poly_layer – spec.
gate_width – for poly.
gate_length – for poly.
sd_width – source drain length.
end_cap – end cap length.
contact_size – contact dimension (length and width)
contact_layer – for contacts
contact_enclosure – for contacts within diffusion or poly
diff_spacing – for two adjacent diffusions
diff_enclosure – for diffusion within well
diffn_layer – for bulk tie
layer (dnwell) – for deep nwell
import sky130 c = sky130.pcells.pmos() c.plot()
(
Source code
,png
,hires.png
,pdf
)