Я ни в коем случае не эксперт по Verilog, и мне было интересно, знает ли кто-нибудь, какой из этих способов увеличения значения был лучше. Извините, если это слишком простой вопрос.
Способ A:
В блоке комбинационной логики, возможно, в конечном автомате:
//some condition
count_next = count + 1;
А затем где-нибудь в последовательном блоке:
count <= count_next;
Или способ B:
Комбинационный блок:
//some condition
count_en = 1;
Последовательный блок:
if (count_en == 1)
count <= count + 1;
Я видел Путь А чаще. Одно из потенциальных преимуществ способа B состоит в том, что если вы увеличиваете одну и ту же переменную во многих местах вашего конечного автомата, возможно, он будет использовать только один сумматор вместо многих; или это ложь?
Какой метод предпочтительнее и почему? У кого-то из них есть существенный недостаток?
Спасибо.