Как преобразовать большой дизайн Chisel в модель C++ с помощью Verilator?

Я столкнулся с проблемой неправильного выделения памяти при компиляции большого аппаратного дизайна долота в модель C++ с использованием бэкэнда верилятора.

Когда я хочу создать большой PE-дизайн (например, 36x36), я пишу свой код следующим образом

 PEArray = Seq.fill(height)(Seq.fill(width)(Module new PE).io)

и верилятор вылетит, а затем выбросит

terminate called after throwing an instance of 'std::bad_alloc'  what(): std::bad_alloc 

Что-то вроде нехватки памяти вызывает эту проблему. Есть ли встроенная функция Chisel3 для повышения эффективности памяти или другие способы решения этой проблемы?

0 ответов

Другие вопросы по тегам