Package: ghdl Version: 0.29+gcc4.3.4+dfsg-1 Severity: normal --- Please enter the report below this line. ---
I have the following vhdl code : -------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity tb_test is end; architecture arch_tb of tb_test is signal reset_s, clk_s : std_logic; signal i_s : integer; signal u_s : unsigned(7 downto 0); begin reset : reset_s <= '0', '1' after 20 ns, '0' after 400 ns; clock : process begin clk_s <= '0'; wait for 100 ns; clk_s <= '1'; wait for 100 ns; end process clock; process (reset_s, clk_s) begin if reset_s = '1' then report integer'image(i_s); -- Will report -2147483648 i_s <= 0; elsif rising_edge(clk_s) then i_s <= 3; end if; end process; u_s <= to_unsigned(i_s, 8); -- Will give a bound check failure end architecture arch_tb; -------------------------------------------------------------------------------- When simulating this code, the signal i_s is at first uninitialized and has the value -2147483648. Then, as shown below, a bound check failure is raised because it is trying to convert a negativ value to an unsigned at the line "u_s <= to_unsigned(i_s, 8)". ./tb_test:error: bound check failed (#11) ./tb_test:error: simulation failed ghdl: compilation error It is possible to avoid that by initialising i_s when it is declared, but signals are usually initialised during a reset and that's what is trying to make this code but it doesn't have time to do it before the failure. I think the best would be to put a warning instead an error and leave the signal u_s to its uninitialised value ("UUUUUUUU"). Bye Jonas --- System information. --- Architecture: i386 Kernel: Linux 2.6.32-5-686 Debian Release: squeeze/sid 700 testing ftp.ch.debian.org 600 unstable ftp.ch.debian.org 1 experimental ftp.ch.debian.org --- Package information. --- Depends (Version) | Installed =============================-+-============= libc6 (>= 2.7) | 2.11.1-3 libgcc1 (>= 1:4.1.1) | 1:4.4.4-4 libgmp3c2 | 2:4.3.2+dfsg-1 libgnat-4.4 (>= 4.4.3-1) | 4.4.4-4 libmpfr1ldbl | 2.4.2-3 gnat-4.4 | 4.4.4-4 zlib1g-dev | 1:1.2.3.4.dfsg-3 Recommends (Version) | Installed =========================-+-=========== gtkwave | 3.3.6-1 Package's Suggests field is empty. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org