mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-24 01:25:33 +00:00
Add the $anyinit cell and the formalff pass
These can be used to protect undefined flip-flop initialization values from optimizations that are not sound for formal verification and can help mapping all solver-provided values in witness traces for flows that use different backends simultaneously.
This commit is contained in:
parent
c26b2bf543
commit
c0063288d6
16 changed files with 271 additions and 8 deletions
|
@ -1696,6 +1696,23 @@ assign Y = 'bx;
|
|||
|
||||
endmodule
|
||||
|
||||
// --------------------------------------------------------
|
||||
`ifdef SIMLIB_FF
|
||||
module \$anyinit (D, Q);
|
||||
|
||||
parameter WIDTH = 0;
|
||||
|
||||
input [WIDTH-1:0] D;
|
||||
output reg [WIDTH-1:0] Q;
|
||||
|
||||
initial Q <= 'bx;
|
||||
|
||||
always @($global_clk) begin
|
||||
Q <= D;
|
||||
end
|
||||
|
||||
endmodule
|
||||
`endif
|
||||
// --------------------------------------------------------
|
||||
|
||||
module \$allconst (Y);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue