Я ни в коем случае не эксперт 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 является то, что если вы увеличиваете одну и ту же переменную во многих местах вашего конечного автомата, возможно, он будет использовать только один сумматор вместо многих; или это ложь?
Какой метод предпочтительнее и почему? Есть ли у них существенный недостаток?
Спасибо.