сигналы в VHDL для .. генерировать область - PullRequest
0 голосов
/ 04 апреля 2019

Инструменту linting не нравится следующий блок кода, потому что он думает, что сигналы, объявленные внутри for..generate scope, имеют несколько драйверов.Интуитивно понятно, что я ожидаю, что для каждого объявления сигнала будет существовать один экземпляр сигнала для каждой итерации цикла.

Не сломан ли линтер или сломан язык VHDL?

library IEEE;
use IEEE.std_logic_1164.all;

entity demo is
end demo;

architecture rtl of demo is
  type i_arr_t is array(integer range <>) of integer;
  signal results: i_arr_t(0 to 1);
  signal dot : integer;
begin
  g_gen : for ii in 0 to 1 generate
    signal sig : integer;
  begin
    sig <= ii * 2;
    results(ii) <= sig;
  end generate;

  dot <= results(0) + results(1);
end rtl;

Сообщение об ошибке: Non-resolved signal 'sig' has multiple drivers

...