Skip to content

Status registers: live core state readable through the register file #3

Description

@lanserge

control_wrap() puts a register file in front of any self-describing core — but the traffic is one-way: configuration in, nothing back. Cores already carry state worth reading — the bayerlink receiver's sticky overflow flag, frame counters — and today that state exists as wires with nowhere to go. A Reg(source=...) should bind a core output to a read-only register, with sticky/clear semantics declared rather than hand-wired.

Done means: an example where a core sets a sticky flag, the host reads it over AXI4-Lite, the clear semantics behave as declared, and the register map documents it like any config register.

What it unlocks downstream: bring-up that reads answers instead of guessing — did pixels arrive, did the FIFO overflow, how many frames passed — which is the first thing anyone asks of new hardware.


This is a sponsorable capability target (see the README's funding section). Sponsored work lands in the open tree immediately, MIT like everything else — sponsorship buys ordering and named credit, not exclusivity. Scope by email: s.rabykin@gmail.com.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsponsorableA capability target open for sponsorship -- lands open, proven by its example

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions