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: m-labs/nmigen
base: e3a1d05f233d
Choose a base ref
...
head repository: m-labs/nmigen
compare: a02e3750bfeb
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Sep 28, 2019

  1. hdl.mem: remove WritePort(priority=) argument.

    The write port priority in Yosys is derived directly from the order
    in which the ports are declared in the Verilog frontend. It is being
    removed for several reasons:
      1. It is not clear if it works correctly for all cases (FFRAM,
         LUTRAM, BRAM).
      2. Although it is roundtripped via Verilog with correct simulation
         semantics, the resulting code has a high chance of being
         interpreted incorrectly by Xilinx tools.
      3. It cannot be roundtripped via FIRRTL, which is an alternative
         backend that is an interesting future option. (FIRRTL leaves
         write collision completely undefined.)
      3. It is a niche feature that, if it is needed, can be completely
         replaced using an explicit comparator, priority encoder, and
         write enable gating circuit. (This is what Xilinx recommends
         for handling this case.)
    
    In the future we should extend nMigen's formal verification to assert
    that a write collision does not happen.
    whitequark committed Sep 28, 2019
    Copy the full SHA
    a02e375 View commit details
    Browse the repository at this point in the history