yosys/passes
Jannis Harder c77b7343d0 Consistent $mux undef handling
* Change simlib's $mux cell to use the ternary operator as $_MUX_
  already does
* Stop opt_expr -keepdc from changing S=x to S=0
* Change const eval of $mux and $pmux to match the updated simlib
  (fixes sim)
* The sat behavior of $mux already matches the updated simlib

The verilog frontend uses $mux for the ternary operators and this
changes all interpreations of the $mux cell (that I found) to match the
verilog simulation behavior for the ternary operator. For 'if' and
'case' expressions the frontend may also use $mux but uses $eqx if the
verilog simulation behavior is requested with the '-ifx' option.

For $pmux there is a remaining mismatch between the sat behavior and the
simlib behavior. Resolving this requires more discussion, as the $pmux
cell does not directly correspond to a specific verilog construct.
2022-10-24 12:03:01 +02:00
..
cmds remove extra space in formating 2022-09-22 15:46:36 +01:00
equiv Add "check -assert" to equiv_opt 2022-10-07 16:04:51 +02:00
fsm Add the $anyinit cell and the formalff pass 2022-08-16 13:37:30 +02:00
hierarchy Makes sure to set initial_top when change, fixes #3462 2022-08-26 17:12:56 +02:00
memory Fitting help messages to 80 character width 2022-08-24 10:40:57 +12:00
opt Consistent $mux undef handling 2022-10-24 12:03:01 +02:00
pmgen Fitting help messages to 80 character width 2022-08-24 10:40:57 +12:00
proc proc_rom: Add special handling of const-0 address bits. 2022-05-18 17:32:30 +02:00
sat clk2fflogic: Always correctly handle simultaneously changing signals 2022-10-07 16:04:51 +02:00
techmap Fix crash in flowmap 2022-09-20 14:31:19 +02:00
tests Add $bmux and $demux cells. 2022-01-28 23:34:41 +01:00