Под долотом 3 компиляция сгенерированного Verilator C ++ из Rocket Chip занимает 10 минут. Есть ли способы ускорить это? - PullRequest
0 голосов
/ 28 апреля 2018

Мы модифицируем код Rocket Chip. После каждой модификации нам нужно запускать программы сборки, чтобы убедиться, что все по-прежнему работает правильно.

Для этого выполните следующие шаги: 1) Запустите долото, чтобы сгенерировать Verilog 2) Запустите verilog через Verilator, чтобы создать C ++ 3) Компилировать сгенерированный C ++ 4) Выполнить тесты

Шаг 3 примерно в 10 раз длиннее, чем при долоте 2. Это занимает около 10 минут, что замедляет развитие.

Есть ли способ ускорить это?

1 Ответ

0 голосов
/ 30 апреля 2018

Я обнаружил, что нетривиальный объем сборки и времени выполнения тратится на не реально синтезируемые конструкции, которые используются для поддержки проверки.

Например, я отключаю TLMonitors через опции Config. Вы можете найти пример в subsystem Configs.

class WithoutTLMonitors extends Config ((site, here, up) => {
  case MonitorsEnabled => false
})
...