Могу ли я объединить сигналы в псевдоним для нескольких экземпляров модуля? - PullRequest
0 голосов
/ 24 сентября 2019

Я пишу лучший тестовый стенд на VHDL, и в какой-то момент в проекте у меня есть несколько модулей генерации:

MOD_GEN: for i in 0 to 3 generate
  mod_i: example_module
  (...)
end generate;

Для некоторых целей тестирования мне нужен внутренний сигнал от example_module экземпляров, которые будут доставлены на верхний стенд.Однако я не хочу использовать:

alias tested_sig_0 is << signal (...).MOD_GEN(0).mod_i.tested_sig  : std_logic_vector >>;                 
alias tested_sig_1 is << signal (...).MOD_GEN(1).mod_i.tested_sig  : std_logic_vector >>; 
alias tested_sig_2 is << signal (...).MOD_GEN(2).mod_i.tested_sig  : std_logic_vector >>; 
alias tested_sig_3 is << signal (...).MOD_GEN(3).mod_i.tested_sig  : std_logic_vector >>; 

Есть ли способ агрегировать эти сигналы хорошим способом?

1 Ответ

1 голос
/ 24 сентября 2019

Вы не можете объединиться в псевдоним, потому что тогда он не будет псевдонимом.Но вы можете объединить их в сигнал:

signal agg : std_logic_vector(tested_sig_0'length+tested_sig_1'length+tested_sig_2'length+tested_sig_3'length-1 downto 0);
...


agg <= tested_sig_0 & tested_sig_1 & tested_sig_2 & tested_sig_3;
...