Чтобы использовать сгенерированный компонент DPI в среде SystemVerilog, сначала импортируйте сгенерированные функции с объявлениями «DPI» в вашем модуле SystemVerilog. Затем вызовите и запланировайте сгенерированные функции. При компиляции кода SystemVerilog, содержащего импортированные сгенерированные функции, используйте компилятор SystemVerilog с поддержкой DPI и задайте имена файлов компонентов.
Следующий пример демонстрирует добавление сгенерированного компонента DPI для блока DPI_blk к модулю SystemVerilog.
Импортируйте сгенерированные функции:
import "DPI" function void DPI_blk1_initialize(); import "DPI" function void DPI_blk1_ouptut(output real blk1_Y_Out1); import "DPI" function void DPI_blk1_update(input real blk1_U_On1);
Вызовите Initialize
функция.
DPI_blk1_initialize();
Планируйте output
и update
вызовы функций:
DPI_blk1_output( blk1_Y_Out1); DPI_blk1_update( blk1_U_In1);
import "DPI" function void DPI_blk1_initialize(); import "DPI" function void DPI_blk1_ouptut(output real blk1_Y_Out1); import "DPI" function void DPI_blk1_update(input real blk1_U_On1); module test_twoblock_tb; initial begin DPI_blk1_initialization(); end always@(posedge clk) begin #1 DPI_blk1_output(blk1_Y_Out1); DPI_blk1_update(blk1_U_In1); end always@(posedge clk) begin blk1_U_In1 = blk1_U_In1 + 1.0; end