Поскольку доступна только документация для версии 5, найти какую-либо полезную информацию довольно сложно. Мой вопрос следующий:
Когда вы пишете системный модуль verilog, verilator преобразует его в C++, и внутренние сигналы преобразуются в какие-то атрибуты класса. Например, скажем, у меня есть это:
- верхний модуль: ядро
- внутри него я получил модуль с именем exe создал экземпляр u_exe
- Внутри exe я получил имя сигнала Branch_v
Со стороны C++ он создаст :Код: Выделить всё
core__DOT__u_exe__DOT__branch_v
Я читал об этом: /*verilator public*/ , я сделал это:
Код: Выделить всё
logic branch_v /*verilator public*/;Изменить:Кажется, /*verilator public_flat*/ отлично справляется со своей задачей, его нужно использовать следующим образом:
Код: Выделить всё
logic signal_name /*verilator public_flat*/;Подробнее здесь: https://stackoverflow.com/questions/793 ... attributes
Мобильная версия