sky130.pcells.pmos_5v

Contents

sky130.pcells.pmos_5v#

sky130.pcells.pmos_5v(diffusion_layer=(65, 20), poly_layer=(66, 20), gate_width=0.75, gate_length=0.5, sd_width=0.3, end_cap=0.13, contact_size=(0.17, 0.17), contact_spacing=(0.17, 0.17), contact_layer=(66, 44), contact_enclosure=(0.06, 0.06), diff_spacing=0.37, diff_enclosure=(0.33, 0.33), diffn_layer=(65, 44), nwell_layer=(64, 22), dnwell_enclosure=(0.4, 0.4), dnwell_layer=(64, 18), nf=1, sdm_enclosure=(0.125, 0.125), nsdm_layer=(93, 44), psdm_layer=(94, 20), sdm_spacing=0.13, hvi_layer=(75, 20), li_width=0.17, li_layer=(67, 20), li_enclosure=0.08, mcon_layer=(67, 44), mcon_enclosure=(0.03, 0.06), m1_layer=(68, 20), npc_layer=(95, 20), npc_spacing=0.09)[source]#

Return PMOS_5v.

Parameters:
  • diffusion_layer (tuple[int, int] | str | int | LayerEnum) – spec.

  • poly_layer (tuple[int, int] | str | int | LayerEnum) – spec.

  • gate_width (float) – for poly.

  • gate_length (float) – for poly.

  • sd_width (float) – source drain length.

  • end_cap (float) – end cap length.

  • contact_size (tuple[float, float]) – contact dimension (length and width).

  • contact_layer (tuple[int, int] | str | int | LayerEnum) – for contacts.

  • contact_enclosure (tuple[float, float]) – for contacts within diffusion or poly.

  • diff_spacing (float) – for two adjacent diffusions.

  • diff_enclosure (tuple[float, float]) – for diffusion within well.

  • diffp_layer – for bulk tie.

  • layer (dnwell) – for deep nwell.

  • nf (int) – for finger option.

  • sdm_enclosure (tuple[float, float]) – for source drain metal.

  • nsdm_layer (tuple[int, int] | str | int | LayerEnum) – for source drain metal.

  • psdm_layer (tuple[int, int] | str | int | LayerEnum) – for source drain metal.

  • sdm_spacing (float) – for source drain metal.

  • hvi_layer (tuple[int, int] | str | int | LayerEnum) – for high voltage implant.

  • li_width (float) – for local interconnect.

  • li_layer (tuple[int, int] | str | int | LayerEnum) – for local interconnect.

  • li_enclosure (float) – for local interconnect.

  • mcon_layer (tuple[int, int] | str | int | LayerEnum) – for metal contact.

  • mcon_enclosure (tuple[float, float]) – for metal contact.

  • m1_layer (tuple[int, int] | str | int | LayerEnum) – for metal1.

  • npc_layer (tuple[int, int] | str | int | LayerEnum) – for poly contact.

  • npc_spacing (float) – for poly contact.

  • contact_spacing (tuple[float, float])

  • diffn_layer (tuple[int, int] | str | int | LayerEnum)

  • nwell_layer (tuple[int, int] | str | int | LayerEnum)

  • dnwell_enclosure (tuple[float, float])

  • dnwell_layer (tuple[int, int] | str | int | LayerEnum)

Return type:

Component

import sky130

c = sky130.pcells.pmos_5v(gate_length= 2, gate_width=10, sd_width=5)
c.plot()

(Source code, png, hires.png, pdf)

../_images/sky130-pcells-pmos_5v-1.png