amaranth-soc icon indicating copy to clipboard operation
amaranth-soc copied to clipboard

Add annotations for memory maps, wishbone and CSR primitives.

Open jfng opened this issue 1 year ago • 1 comments

Depends on PR amaranth-lang/amaranth#978.

MemoryMap resources (e.g. csr.Elements) are now assumed to have a .signature property, which lets them hold annotations. I am not sure whether we should enforce this in MemoryMap.add_resource(), or introduce a base class instead.

jfng avatar Dec 05 '23 12:12 jfng

Updated, mainly to track changes in amaranth-lang/amaranth#978:

  • replace annotation names with their $id URLs;
  • replace the Signature.annotations property with Signature.annotations(self, interface, /) to access memory maps, which are assigned to bus interfaces;
  • improve URL paths of amaranth-soc schemas:
    • csr.Interface: from /csr.json to /csr/bus.json;
    • csr.Element: from /csr-element.json to /csr/element.json;
    • wishbone.Interface: from /wishbone.json to /wishbone/bus.json;
    • memory.MemoryMap: from /memory-map.json to /memory/memory-map.json.

jfng avatar Jan 19 '24 10:01 jfng