Для чего синтезируются назначения с математическими операторами (+, -, <, et c)? - PullRequest
0 голосов
/ 03 апреля 2020

Очевидно, что это будет зависеть от компилятора и цели. Но существует ли стандарт де-факто ? Они синтезируют как целые АЛУ? Или как бы выглядел минимальный сумматор или компаратор?

Еще один способ задать этот вопрос: если бы у меня была куча логик c с математикой в ​​verilog, это могло бы оказаться намного больше, чем прилипание в простой процессор и форсировать вычисления через это?

1 Ответ

1 голос
/ 03 апреля 2020

Но есть ли де-факто стандарт? Они синтезируют как целые АЛУ? Или как бы выглядел минимальный сумматор или компаратор?

Они будут синтезироваться в наименьший блок логики c, который все еще может полностью заполнить операцию за требуемое время.

Я открыл для вас один из моих математических блоков: билинейный интерполятор. Это структура, прежде чем она перейдет в инструмент синтеза. На тот момент это уже набор выделенных операций. Инструмент синтеза затем оптимизирует их, например, уменьшая количество функций logi c и / или слияния. enter image description here

Если бы у меня была куча логик c с математикой в ​​Verilog, это могло бы оказаться намного больше, чем приставить к простому процессору и заставить расчеты через это?

Определенно нет. Вы можете самостоятельно обдумать это:

  • Процессор построен из кода Verilog.
  • Этот процессор имеет сумматоры, множители и т. Д. c.
  • Если бы вы использовали процессор вместо каждого из них, вы бы получили рекурсию.
...