Ради документации я объявляю и использую чрезмерное количество сигнальных объявлений. Язык nML (но для тех, кто не входит в инструмент Synopsys ASIP EDA, обоснование можно легко принять на промежуточном языке VHDL.
Я реализую набор инструкций для процессора, среди которых много регистров и флагов.
Когда я создаю экземпляр функций прототипа команды, я использую отдельные сигналы и называю их в соответствии с их локальным значением.
например.
trn_r0_/purpose/<type>;
trn f0_/purpose/<type>;
в качестве ввода используется следующее:
trn_r0_/purpose/ = r0; //r0 is of type register
for output the use is:
foo(<type> &trn_f0_/purpose/);
f0 = trn_f0_/purpose/;
Средство синтеза объединит все эти сигналы trn_r0_ * и trn_f0_ * в один или задача слишком сложна?