Цитата(Мур @ Jun 23 2017, 10:58)

Но вот когда стал смотреть чужой код, что столкнулся с проблемой невозможности наблюдения в ModelSim этих самых variable..
Разумеется. Переменные не имеют истории.
Цитата
Тупая замена на SIGNAL - верный прием наблюдать желаемое
Это в общем случае не так. Переменная может использоваться для описания логики перед триггером, замена переменной на сигнал приведёт к созданию ещё одного триггера.
Цитата
НО! Остается вопрос, где эти самые variable просто незаменимы?
Я не назову таких случаев, чтобы вот просто незаменимы.
Их можно использовать для хранения больших массивов данных, история изменений которых не важна, чтобы уменьшить количество используемой памяти ЭВМ при симуляции. Например, через переменные можно описать модели памяти.
Код
process
variable x : std_logic;
begin
if (ce2 = '1') then
x := i;
else
o (0) <= i;
o (1) <= x;
end if;
end process;
Это преобразование последовательного 1-битного потока данных в 2-битный параллельный. x можно сделать сигналом. Но поскольку он используется только в одном процессе, используется переменная, чтобы не засорять пространство имён архитектуры вспомогательными сигналами.