A síntese quartus® II pode gerar o aviso acima ao compilar um arquivo de origem VHDL que declara um sinal de registro do tipo inteiro. Em particular, se você não atribuir um valor inicial ao declarar o sinal, a síntese quartus II assume que a extremidade esquerda do intervalo inteiro é o valor de potência para o registro. Se o seu código mais tarde aplicar um valor de reinicialização assíncrona a este registro que não seja igual ao nível de power-up assumido, a síntese Quartus II utilizará o valor de reinicialização como o valor de energização em vez disso e gerará a mensagem de aviso acima.
Por exemplo, se seu código declarar um sinal como este:
signal count_down : integer range 0 to 255;
e mais tarde aplica um valor de redefinição como este:
process (clk, reset)
begin
if reset = '1' then
count_down <= 255;
elsif (rising_edge(clk)) then ...
A síntese Quartus II gera o aviso acima e aplica um alto valor de potência no count_down registro.
Para evitar este aviso, ao declarar um sinal inteiro, atribua um valor inicial igual ao valor de reinicialização. No exemplo acima, o aviso não é gerado se o sinal for declarado com um valor inicial de 255:
signal count_down : integer range 0 to 255 := 255;
Para obter mais informações sobre o registro de valores de energização em Altera dispositivos, consulte o capítulo manual quartus II de estilos de codificação HDL recomendados (PDF).