entity range_tb is end range_tb; architecture tb of range_tb is begin process variable i : integer; begin -- Behaves like 32-bit arithmetic with modular truncation i := integer'low; report integer'image(i); i := integer'low-1; report integer'image(i); -- Produces the error "overflow detected" i := integer'low; report integer'image(i); i := i-1; report integer'image(i); wait; -- forever end process; end tb;