chipflow.packaging.pins

Pin dataclasses and types for package definitions.

This module contains the fundamental building blocks for defining physical pin assignments and power/signal groupings in IC packages.

Classes

PowerType

Type of power pin (power or ground)

JTAGWire

Wire names in a JTAG interface

PortType

Type of port

PowerPins

A matched pair of power pins, with optional notation of the voltage range.

JTAGPins

Pins for a JTAG interface.

BringupPins

Essential pins for bringing up an IC, always in fixed locations.

Module Contents

class chipflow.packaging.pins.PowerType

Bases: enum.StrEnum

Type of power pin (power or ground)

class chipflow.packaging.pins.JTAGWire

Bases: enum.StrEnum

Wire names in a JTAG interface

class chipflow.packaging.pins.PortType

Bases: enum.StrEnum

Type of port

class chipflow.packaging.pins.PowerPins

Bases: Generic[Pin]

A matched pair of power pins, with optional notation of the voltage range.

Attributes:

power: The power (VDD) pin ground: The ground (VSS) pin voltage: Optional voltage range or specific voltage name: Optional name for this power domain

to_set()

Convert power pins to a set

Return type:

Set[Pin]

class chipflow.packaging.pins.JTAGPins

Bases: Generic[Pin]

Pins for a JTAG interface.

Attributes:

trst: Test Reset pin tck: Test Clock pin tms: Test Mode Select pin tdi: Test Data In pin tdo: Test Data Out pin

to_set()

Convert JTAG pins to a set

Return type:

Set[Pin]

class chipflow.packaging.pins.BringupPins

Bases: Generic[Pin]

Essential pins for bringing up an IC, always in fixed locations.

These pins are used for initial testing and debug of the IC.

Attributes:

core_power: List of core power pin pairs core_clock: Core clock input pin core_reset: Core reset input pin core_heartbeat: Heartbeat output pin (for liveness testing) core_jtag: Optional JTAG interface pins

to_set()

Convert all bringup pins to a set

Return type:

Set[Pin]