Чтобы использовать сгенерированный компонент DPI в среде SystemVerilog, сначала импортируйте сгенерированные функции с объявлениями “DPI” в вашем модуле SystemVerilog. Затем вызовите и запланируйте сгенерированные функции. Когда вы компилируете код SystemVerilog, который содержит импортированные сгенерированные функции, используйте учитывающий DPI компилятор SystemVerilog и задайте имена файлов компонента.
Следующий пример демонстрирует добавление сгенерированного компонента 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();
Запланируйте вызовы функции update
и output
:
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