amaranth/nmigen
whitequark a02e3750bf 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.
2019-09-28 01:29:56 +00:00
..
back back.rtlil: fix handling of certain nested arrays. 2019-09-24 18:32:26 +00:00
build build.plat: strip internal attributes from Verilog output. 2019-09-24 14:56:00 +00:00
compat lib.cdc: MultiReg→FFSynchronizer. 2019-09-23 14:18:45 +00:00
hdl hdl.mem: remove WritePort(priority=) argument. 2019-09-28 01:29:56 +00:00
lib build.plat,lib.cdc,vendor: unify platform related diagnostics. NFC. 2019-09-24 14:14:45 +00:00
test hdl.mem: remove WritePort(priority=) argument. 2019-09-28 01:29:56 +00:00
vendor build.plat: strip internal attributes from Verilog output. 2019-09-24 14:56:00 +00:00
__init__.py Remove nmigen.lib from prelude. 2019-09-06 06:53:06 +00:00
_toolchain.py _toolchain,build.plat,vendor.*: add required_tools list and checks. 2019-08-31 00:05:47 +00:00
asserts.py hdl.ast,back.rtlil: implement Cover. 2019-09-03 01:32:24 +00:00
cli.py hdl.ir: rename .get_fragment() to .elaborate(). 2019-01-26 02:31:12 +00:00
tools.py hdl: make all public Value classes other than Record final. 2019-05-12 05:40:17 +00:00
tracer.py tracer: fix typo. 2019-08-19 20:20:18 +00:00