xheep_gen.pads.pad_ring module

class xheep_gen.pads.pad_ring.PadRing(floorplan_dimensions: FloorplanDimensions, mapping: dict, pin_list: List[Pin], attributes: dict)

Bases: object

Top-level container for the pad ring.

cornerclass

alias of Corner

get_connected_main_pins()

Returns the list of pins that are connected to pads in the pad ring. In the case of multiplexed pads, only the first (main) pin is returned.

get_connected_pins()

Returns the list of pins that are connected to pads in the pad ring. In the case of multiplexed pads, returns all pins.

get_muxed_pad_select_width()

Return the number of bits needed to select between pins in multiplexed pads.

num_muxed_pads()

Returns the number of pads that are multiplexed (i.e., connected to more than one pin).

print_pin_summary()

Print a list of pads, which pins they have assigned, and a list of pins that are not assigned to any pads.

rename_duplicate_pads()

Rename pads with duplicate names by adding an index suffix. For example, if two pads are named “GPIO_0”, they will be renamed to “GPIO_0_1” and “GPIO_0_2”. Pads without a name will be assigned a default name “NC_<global_index>”.

space_side_by_pitch(side: Side, space_from_corner_cell: float, pitch: float)

Space the pads on a given side by a given pitch.

Parameters:
  • side – The side to space the pads on.

  • space_from_corner_cell – The space from the corner cell to the first pad.

  • pitch – The pitch to space the pads by.

validate()

Validate the pad ring configuration.