Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Error Fatal Quartus II

Hi, i would like help, because i don't know where is problem in my code.

The quartus show me this:

*** fatal error: access violation at 0x0498c728

module: quartus_map.exe

stack trace:

0x1c728 : sutil_reset_aux_values + 0x28 (synth_sutil)

end-trace

when i comment the lines in the last case (When Cheio), the problem is solved, but wasn't possible to finish the program, because i can't move the value to Disp1 and Disp2.

Lines:

disp1 <= "10001110"; -- display 1 condicao de hi - 142

disp2 <= "00111000"; -- display 2 condicao de hi - 56

my code:

 
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Boia is
 
 port
 (   clk : in  std_logic;
  Lo : in  std_logic;
  Hi : in  std_logic;
  Fu : in  std_logic;
  Beep : out std_logic;
  Disp1 : out std_logic_vector (7 downto 0);
  Disp2 : out std_logic_vector (7 downto 0));
end Boia;
architecture Funcao of Boia is
    signal dis1 : std_logic_vector (7 downto 0) := "00000000";
    signal dis2 : std_logic_vector (7 downto 0) := "00000000";
 signal chave: std_logic;
 signal flag : std_logic;
 type   Sens is (Baixo, Alto, Cheio);
 signal Estado : Sens := Baixo; 
begin
    process
    begin
        wait until clk'event and clk ='1'; 
        CASE Estado is
           when Baixo =>
            chave <= Lo;
              if chave = '0' then
                Disp1 <= "11111100"; -- DISPLAY 1 CONDICAO DE LO - 252
                Disp2 <= "11001110"; -- DISPLAY 2 CONDICAO DE LO - 206
                flag  <= '1';
              else
                Disp1 <= "00011100"; -- DISPLAY 1 CONDICAO DE OP - 28
                Disp2 <= "00111010"; -- DISPLAY 2 CONDICAO DE OP - 58
                flag  <= '1';
              end if;
            Beep <= not flag;
            Estado <= Alto;    -- PROXIMO ESTADO   
           when Alto =>
            chave <= Hi;
              if chave = '1' then
                Disp1 <= "01101110"; -- DISPLAY 1 CONDICAO DE Hi - 110
                Disp2 <= "00001000"; -- DISPLAY 2 CONDICAO DE Hi - 8
                Beep  <= not flag;
              end if;
             Estado <= Cheio;    -- PROXIMO ESTADO
           when Cheio =>
            chave <= Fu;
              if chave = '1' then
                Disp1 <= "10001110"; -- DISPLAY 1 CONDICAO DE Hi - 142
                Disp2 <= "00111000"; -- DISPLAY 2 CONDICAO DE Hi - 56
                Beep  <= not flag;
              end if;
            Estado <= Baixo;    -- PROXIMO ESTADO
        END CASE;
    end process;
end Funcao;
No RepliesBe the first to reply