You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python sets have non-deterministic iteration, however dicts iterate in
insertion order.
Ensuring the Shadow range set is iterated in a deterministic order
causes chunks to be built in a deterministic order and thus
chunks/registers to be processed in a deterministic order inside
`elaborate()`.
If they are processed non-deterministically, then the Case ordering and
various temporary variable names are produced non-deterministically,
causing a non-deterministic final RTLIL output, which is undesirable.
Determinism is one of those things that's rather hard to prove true, but
this nonetheless fixes a tested design's RTLIL output to be
deterministic across all (several dozen) tested runs rather than be
different almost every run.
0 commit comments