Используйте определение между systemverilog и DPI-C - PullRequest
0 голосов
/ 18 марта 2019

В systemverilog sv_define.vh

`define A_MODULE_ENABLE
//`define B_MODULE_ENABLE

В C c_define.h

#define A_MODULE_ENABLE
//#define B_MODULE_ENABLE

Так как синтаксис "define" различен для systemverilog и C. Если я хочу настроить ENABLEЯ должен изменить эти два файла, которые иногда были бы хлопотными.Как я могу просто определить их в одном файле и включить его?Большое спасибо.

Мое воображение: мои top.sv и top.c будут включать в себя один и тот же файл: c_sy_define.vh Содержание будет:

__SV__
    `define A_MODULE_ENABLE
    //`define B_MODULE_ENABLE
__C__
    #define A_MODULE_ENABLE
    //#define B_MODULE_ENABLE

1 Ответ

0 голосов
/ 12 июня 2019

Yeap. Это, вероятно, будет работать. Никогда не пробуй, хотя.

#ifndef COMPILE_IN_C
`define A_MODULE_ENABLE
#endif

`ifndef COMPILE_IN_SV
#define A_MODULE_ENABLE
`endif

Когда вы компилируете файл заголовка, убедитесь, что вы добавили "-define COMPILE_IN_SV" в ncvlog (скажем, вы используете Cadence) и добавили "-DCOMPILE_IN_C" в gcc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...