Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: amaranth-lang/amaranth-soc
base: 987aeb002ace
Choose a base ref
...
head repository: amaranth-lang/amaranth-soc
compare: f8f89827bc53
Choose a head ref
  • 1 commit
  • 5 files changed
  • 1 contributor

Commits on Feb 10, 2020

  1. Add support for lazy Decoder/Multiplexer interface creation. (#7)

    Before this commit, the bus interface of a Decoder or a Multiplexer
    would be created during __init__. A bus interface would always be tied
    to an underlying memory map.
    
    After this commit, the following changes are introduced:
    
    * The bus interface of a Decoder (or a Multiplexer) is lazily created
      upon request. This allows the record fields of the bus interface to
      be up-to-date with any address space extension that may have occured.
    
    * The memory_map attribute of a bus interface is no longer assigned
      during __init__. It is instead assigned externally at a later time.
      Decoupling the memory map from the bus interface allows a Decoder (or
      a Multiplexer) to first create the memory map, extend it, and then
      use it to create the bus interface, once requested.
    
    * Decoder.add(extend=True) (or Multiplexer.add) can be used to add
      a window (or resource) that would otherwise not fit inside its
      underlying memory map.
    Jean-François Nguyen committed Feb 10, 2020
    Copy the full SHA
    f8f8982 View commit details
    Browse the repository at this point in the history