On Wed, February 2, 2011 12:22, Wesley J. Landaker wrote:
> bit_vector_rol_ror_bug.vhdl:20:3:@0ms:(assertion warning): ror  5 is broken
> bit_vector_rol_ror_bug.vhdl:28:3:@0ms:(assertion warning): ror -5 is broken

The output is wrong because I typo'd in my cut-and-paste in the code. This
doesn't affect the bug, just the message.

Attached is a fixed version, and the output really looks like:

bit_vector_rol_ror_bug.vhdl:20:3:@0ms:(assertion warning): ror  5 is broken
bit_vector_rol_ror_bug.vhdl:28:3:@0ms:(assertion warning): rol -5 is broken
entity bit_vector_rol_ror_bug is
end entity;

architecture ghdl_bug of bit_vector_rol_ror_bug is
begin

  assert ((bit_vector'("11100") ror -8) = "00111") report "ror -8 is broken" severity warning;
  assert ((bit_vector'("11100") ror -7) = "10011") report "ror -7 is broken" severity warning;
  assert ((bit_vector'("11100") ror -6) = "11001") report "ror -6 is broken" severity warning;
  assert ((bit_vector'("11100") ror -5) = "11100") report "ror -5 is broken" severity warning;
  assert ((bit_vector'("11100") ror -4) = "01110") report "ror -4 is broken" severity warning;
  assert ((bit_vector'("11100") ror -3) = "00111") report "ror -3 is broken" severity warning;
  assert ((bit_vector'("11100") ror -2) = "10011") report "ror -2 is broken" severity warning;
  assert ((bit_vector'("11100") ror -1) = "11001") report "ror -1 is broken" severity warning;
  assert ((bit_vector'("11100") ror  0) = "11100") report "ror  0 is broken" severity warning;
  assert ((bit_vector'("11100") ror  1) = "01110") report "ror  1 is broken" severity warning;
  assert ((bit_vector'("11100") ror  2) = "00111") report "ror  2 is broken" severity warning;
  assert ((bit_vector'("11100") ror  3) = "10011") report "ror  3 is broken" severity warning;
  assert ((bit_vector'("11100") ror  4) = "11001") report "ror  4 is broken" severity warning;
  assert ((bit_vector'("11100") ror  5) = "11100") report "ror  5 is broken" severity warning;
  assert ((bit_vector'("11100") ror  6) = "01110") report "ror  6 is broken" severity warning;
  assert ((bit_vector'("11100") ror  7) = "00111") report "ror  7 is broken" severity warning;
  assert ((bit_vector'("11100") ror  8) = "10011") report "ror  8 is broken" severity warning;

  assert ((bit_vector'("11100") rol -8) = "10011") report "rol -8 is broken" severity warning;
  assert ((bit_vector'("11100") rol -7) = "00111") report "rol -7 is broken" severity warning;
  assert ((bit_vector'("11100") rol -6) = "01110") report "rol -6 is broken" severity warning;
  assert ((bit_vector'("11100") rol -5) = "11100") report "rol -5 is broken" severity warning;
  assert ((bit_vector'("11100") rol -4) = "11001") report "rol -4 is broken" severity warning;
  assert ((bit_vector'("11100") rol -3) = "10011") report "rol -3 is broken" severity warning;
  assert ((bit_vector'("11100") rol -2) = "00111") report "rol -2 is broken" severity warning;
  assert ((bit_vector'("11100") rol -1) = "01110") report "rol -1 is broken" severity warning;
  assert ((bit_vector'("11100") rol  0) = "11100") report "rol  0 is broken" severity warning;
  assert ((bit_vector'("11100") rol  1) = "11001") report "rol  1 is broken" severity warning;
  assert ((bit_vector'("11100") rol  2) = "10011") report "rol  2 is broken" severity warning;
  assert ((bit_vector'("11100") rol  3) = "00111") report "rol  3 is broken" severity warning;
  assert ((bit_vector'("11100") rol  4) = "01110") report "rol  4 is broken" severity warning;
  assert ((bit_vector'("11100") rol  5) = "11100") report "rol  5 is broken" severity warning;
  assert ((bit_vector'("11100") rol  6) = "11001") report "rol  6 is broken" severity warning;
  assert ((bit_vector'("11100") rol  7) = "10011") report "rol  7 is broken" severity warning;
  assert ((bit_vector'("11100") rol  8) = "00111") report "rol  8 is broken" severity warning;

end architecture;
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to