Skip to content

Improve optimizer behavior for Sleep Primitives on LV1 controllers. #6

@diamondman

Description

@diamondman

Currently, Sleep Primitives stall the whole command queue as they are executable lv2 primitives with no way to merge with nearby LV1 primitives. But in many cases, Sleep Primitives could be replaced by looping for n cycles in the current TAP state. A Sleep primitive would only be able to expand if the current state is loopable (TLR, RTI, SHIFTDR, SHIFTIR), and if the transfer rate of the controller is known.

This enhancement will allow multiple RunInstruction Primitives to combine into a single LV1 primitive, even if the RunInstruction Primitives have sleeps in them.

Requires #5

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions