Вычислить время обработки Verilog с использованием моделирования и использования FPGA - PullRequest
0 голосов
/ 04 апреля 2020

Впервые в мире fpga, я написал программу HDL Verilog для умножения матриц nxn, и теперь я хочу сравнить время между FPGA и CPU / GPU. Я получаю время выполнения на CPU / CPU, используя time.time () в python или используя профилирование. Как мне добиться того же в моделировании вивадо (как использовать те же аппаратные характеристики basys3 в моделировании)? Basys 3 (Hardware) еще не доставлен.

Есть ли способ рассчитать метрику c, которая одинакова для обоих миров? Время или такты ..?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 04 апреля 2020

Вы можете измерить, сколько тактов требуется для завершения sh вычисления. **

К сожалению, этого недостаточно.
Симуляция искусственная. Вы можете запустить его на любой скорости. Если вы хотите, вы можете использовать тактовую частоту 500 ГГц в симуляции, которая, как вы знаете, нереальна. Вам нужно синтезировать код и посмотреть, что инструмент говорит вам о максимальной скорости, с которой код может работать. Затем используйте эту тактовую частоту с циклами из симулятора, чтобы вычислить время, которое требуется для завершения sh.

Это хорошо в теории.
Практически вам также потребуется получить данные для и из ПЛИС. Если вы не можете сделать это достаточно быстро, то ваш ввод / вывод является узким местом, а не фактическим вычислением матрицы.

** Используйте курсор для измерения времени симуляции , Разделите это на время одного такта.

...