fet module#

FET transistor symbols for JITX Standard Library

This module provides MOSFET symbol definitions for N-Channel and P-Channel transistors in Enhancement and Depletion modes.

class FETJunction(*values)[source]#

Bases: Enum

FET junction (channel) types

Defines the channel type for field effect transistors.

N_CHANNEL = 'n_channel'#
P_CHANNEL = 'p_channel'#
class FETMode(*values)[source]#

Bases: Enum

FET operating modes

Defines the operating mode for MOSFETs (enhancement or depletion).

ENHANCEMENT = 'enhancement'#
DEPLETION = 'depletion'#
class FETConfig(arrow_config=None, label_config=None, pitch=3.0, width=2.0, porch_width=0.5, base_line_length=2.3, outline=True, line_width=0.1, channel_gap=0.15)[source]#

Bases: LabelConfigurable, ArrowConfigurable

Configuration for FET symbols

Defines the geometric and visual parameters for MOSFET symbols.

Parameters:
pitch: float = 3.0#

Distance between drain and source pins

width: float = 2.0#

Distance from drain/source line to gate pin

porch_width: float = 0.5#

Length of porch lines from pins to channel

base_line_length: float = 2.3#

Length of the channel structure

outline: bool = True#

Whether to draw circle outline around transistor

line_width: float = 0.1#

Width of symbol lines

channel_gap: float = 0.15#

Gap between channel segments for enhancement mode

class FETSymbol(junction_type=FETJunction.N_CHANNEL, mode_type=FETMode.ENHANCEMENT, config=None, **kwargs)[source]#

Bases: LabelledSymbol, Generic

MOSFET symbol with graphics and pins.

The FET symbol consists of: - Drain and source channel lines - Gate structure (solid or dashed based on mode) - Body arrow (direction indicates N/P channel) - Body-to-source connection - Optional circle outline

Pins: ‘G’ (gate), ‘D’ (drain), ‘S’ (source)

Parameters:
drain_line: Shape[Polyline]#
source_line: Shape[Polyline]#
drain_porch: Shape[Polyline]#
source_porch: Shape[Polyline]#
body_source_conn: Shape[Polyline]#
channel: Shape[Polyline] | list[Shape[Polyline]]#
gate_line: Shape[Polyline]#
gate_conn: Shape[Polyline]#
body_arrow: Arrow#
outline_circle: Shape[ArcPolyline] | None#
G: Pin#
D: Pin#
S: Pin#
config: T#
junction_type: FETJunction#
mode_type: FETMode#
property pitch: float#

See pitch.

property width: float#

See width.

property porch_width: float#

See porch_width.

property base_line_length: float#

See base_line_length.

property outline: bool#

See outline.

property line_width: float#

See line_width.

property channel_gap: float#

See channel_gap.

property label_config: LabelConfigurable#

Configuration object that provides label configuration