Чтобы использовать созданный компонент 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