Skip to content

bloqade.lanes.analysis.placement.lattice.UserMoved

← Module overview

classUserMovedsource

bloqade.lanes.analysis.placement.lattice.UserMoved

Bases: ConcreteState

State produced by a user-directed place.MoveTo statement.

Signature
class UserMoved(occupied: frozenset[LocationAddress], layout: tuple[LocationAddress, ...], move_count: tuple[int, ...], *, move_layers: tuple[tuple[LaneAddress, ...], ...], accumulated_move_layers: tuple[tuple[LaneAddress, ...], ...], pre_user_layout: tuple[LocationAddress, ...])
  • move_layers: AOD layers for this MoveTo only; read by InsertMoves to emit forward Move IR at the MoveTo site.
  • accumulated_move_layers: all user-move layers since the last CZ (or start), for palindrome return at the next CZ.
  • pre_user_layout: atom layout before the first user move in this inter-CZ segment; the palindrome home position.

Parameters

NameTypeDescription
occupiedfrozenset[LocationAddress]
layouttuple[LocationAddress, ...]
move_counttuple[int, ...]
move_layerstuple[tuple[LaneAddress, ...], ...]
accumulated_move_layerstuple[tuple[LaneAddress, ...], ...]
pre_user_layouttuple[LocationAddress, ...]

Attributes

NameTypeDefaultDescription
move_layerstuple[tuple[LaneAddress, ...], ...]field(kw_only=True)
accumulated_move_layerstuple[tuple[LaneAddress, ...], ...]field(kw_only=True)
pre_user_layouttuple[LocationAddress, ...]field(kw_only=True)

methodget_move_layerssource

bloqade.lanes.analysis.placement.lattice.UserMoved.get_move_layers

def get_move_layers() -> tuple[tuple[LaneAddress, ...], ...]

Returns

tuple[tuple[LaneAddress, ...], ...]

source

methodis_subseteqsource

bloqade.lanes.analysis.placement.lattice.UserMoved.is_subseteq

def is_subseteq(other: AtomState) -> bool

Parameters

NameTypeDescription
otherAtomState

Returns

bool

source

methodfrom_concrete_statesource

bloqade.lanes.analysis.placement.lattice.UserMoved.from_concrete_state

Signature
def from_concrete_state(state: ConcreteState, move_layers: tuple[tuple[LaneAddress, ...], ...], accumulated_move_layers: tuple[tuple[LaneAddress, ...], ...], pre_user_layout: tuple[LocationAddress, ...]) -> UserMoved

Parameters

NameTypeDescription
stateConcreteState
move_layerstuple[tuple[LaneAddress, ...], ...]
accumulated_move_layerstuple[tuple[LaneAddress, ...], ...]
pre_user_layouttuple[LocationAddress, ...]

Returns

UserMoved

source