chipdesignmag.com · ORIGINAL EVIDENCE

HDL simulator observations

Thirty original deterministic examples in Icarus Verilog 13.0 and Verilator 5.052. Differences describe these configurations, not conformance verdicts.

30 of 30 records

HDL simulator observations
ExampleCategoryIcarus OBS outputVerilator OBS outputPayload
F01 · Explicit unknown assignmentfour-stateOBS value=10x1 unknown=1OBS value=1001 unknown=0Different
F02 · Uninitialized registerinitializationOBS value=xxxxxxxx unknown=1OBS value=00000000 unknown=0Different
F03 · Mixed signed comparisonsignednessOBS mixed_less=0 cast_less=1OBS mixed_less=0 cast_less=1Same
F04 · Assignment-width truncationwidthOBS narrow=1 wide=17OBS narrow=1 wide=17Same
F05 · Clocked nonblocking updateorderingOBS a=1 b=0OBS a=1 b=0Same
F06 · Signed extensionsignednessOBS a=-8 b=-8 bits=fff8OBS a=-8 b=-8 bits=fff8Same
F07 · Unsigned extensionsignednessOBS a=248 b=248 bits=00f8OBS a=248 b=248 bits=00f8Same
F08 · Logical and arithmetic shiftssignednessOBS logical=3c arithmetic=fcOBS logical=3c arithmetic=fcSame
F09 · Unsized literal widthswidthOBS decimal_bits=32 hex_bits=32 value=1OBS decimal_bits=32 hex_bits=32 value=1Same
F10 · Expression assignment contextwidthOBS narrow=0 wide=16OBS narrow=0 wide=16Same
F11 · Concatenation unsigned comparisonsignednessOBS signed_less=1 concat_less=0OBS signed_less=1 concat_less=0Same
F12 · Explicit signed castsignednessOBS unsigned=255 signed=-1OBS unsigned=255 signed=-1Same
F13 · Unknown condition in iffour-stateOBS sel=x branch=2OBS sel=0 branch=2Different
F14 · Unknown conditional bit mergefour-stateOBS value=10xxOBS value=1001Different
F15 · Case equality against unknownfour-stateOBS ordinary=x case_x=1 unknown=1OBS ordinary=1 case_x=0 unknown=0Different
F16 · Reduction with unknown bitfour-stateOBS and=x or=1 xor=xOBS and=0 or=1 xor=1Different
F17 · Controlling bitwise zerofour-stateOBS x_and_0=0 x_or_1=1OBS x_and_0=0 x_or_1=1Same
F18 · Unknown XOR operandfour-stateOBS x_xor_0=xOBS x_xor_0=0Different
F19 · Two-state bit assignmentfour-stateOBS bit=0 logic=xOBS bit=0 logic=0Different
F20 · Explicit register initializationinitializationOBS value=5aOBS value=5aSame
F21 · Declaration initializationinitializationOBS value=a5OBS value=a5Same
F22 · Blocking statements in one processorderingOBS a=2 b=2OBS a=2 b=2Same
F23 · Nonblocking swap after edgeorderingOBS a=2 b=1OBS a=2 b=1Same
F24 · Last nonblocking assignment in processorderingOBS a=2OBS a=2Same
F25 · Three-stage pipelineorderingOBS a=1 b=0 c=0; OBS a=2 b=1 c=0; OBS a=3 b=2 c=1OBS a=1 b=0 c=0; OBS a=2 b=1 c=0; OBS a=3 b=2 c=1Same
F26 · Opposite-edge stimulusorderingOBS d=1 q=1OBS d=1 q=1Same
F27 · Asynchronous reset then clockinitializationOBS reset_q=0; OBS clock_q=1OBS reset_q=0; OBS clock_q=1Same
F28 · Explicit modulo arithmetic sequenceseedOBS state=3d20bdba; OBS state=e9dab1d1; OBS state=9ccc40fcOBS state=3d20bdba; OBS state=e9dab1d1; OBS state=9ccc40fcSame
F29 · Seeded random sequenceseedOBS random=8011ec00 seed=0011ea9e; OBS random=61e0e9c3 seed=e1e0e687; OBS random=b3547666 seed=3354751cOBS random=979a27f1 seed=a79f332a; OBS random=7d04cbad seed=83d6c4a7; OBS random=9c22637a seed=0e23cf8bDifferent
F30 · Seeded urandom processseedOBS urandom=0011ec00; OBS urandom=e1e0e9c3; OBS urandom=33547666OBS urandom=a79f332a; OBS urandom=979a27f1; OBS urandom=b38d6fdbDifferent

No records match these filters. Reset to see the full audited set.

Unknown means not verified in this audit. Original compilation: CC BY 4.0. Upstream projects retain their own licences. No ranking or compatibility certification is implied.