Skip to content

Unify and centralise the interface to the Piccolo / Flute / Toooba cores

License

Notifications You must be signed in to change notification settings

CTSRD-CHERI/WindCoreInterface

Repository files navigation

WindCoreInterface

This repo aims to unify and centralise the interfaces to the bluespec wind cores, that is Piccolo, Flute and Toooba.

The intention would be for each of these to use this WindCoreInterface as a submodule providing them with the bluespec type of the interface for them to implement.

This repository would allow factorising work undertaken re-wrapping the individual cores for various higher level interfaces (typically, exposing lower level signals such as the debugging interface through an AXI4 Lite port). The hope is for downstream projects, consumer of the individual wind cores, to only need develop against the types provided in this repository, hopefully helping towards seamless swapping of specific wind core implementation.

Notes

The provided interfaces:

  • WindCoreLo - Not currently being developped

  • WindCoreMid - Under active development

  • WindCoreHi - Under active development

Constructing a WindCoreHi from a WindCoreMid using the windCoreMid2Hi[_core] module exposes via the AXI4Lite subordinate port and at the given offsets the following:

  • offsets 0x0000_00000x0000_0fff: Debug Unit

  • offsets 0x0000_10000x0000_1fff: Interrupt lines

  • offsets 0x0000_20000x0000_2fff: Others

Additional AXI4Lite subordinates can also be explicitly mapped when using the _core version of the windCoreMid2Hi constructor.

Currently not supported by these interfaces:

  • Tandem verification / minimal PC debugging

  • RVFI-DII

  • Performance counters export

  • to/fromHost

About

Unify and centralise the interface to the Piccolo / Flute / Toooba cores

Resources

License

Stars

Watchers

Forks

Packages

No packages published