// File: /data/work/yzzhang/hdl/sv/readout_AWG_RM/hilbert_dpi_2/codegen/dll/hilbert_fir/hilbert_fir_dpi.sv
// Created: 2024-10-28 23:46:29
// Generated by MATLAB 9.13 and HDL Verifier 7.0

//`timescale 1ns / 1ns

import hilbert_fir_dpi_pkg::*;



module hilbert_fir_dpi(
    input bit clk,
    input bit clk_enable,
    input bit reset,
    input real data [0:7],
    output real i_data [0:7],
    output real q_data [0:7]
);

    chandle objhandle=null;
    real i_data_temp [0:7];
    real q_data_temp [0:7];
    

    initial begin
        objhandle=DPI_hilbert_fir_initialize(objhandle);
    end

    final begin
        DPI_hilbert_fir_terminate(objhandle);
    end

    always @(posedge clk or posedge reset) begin
        if(reset== 1'b1) begin
            objhandle=DPI_hilbert_fir_reset(objhandle,data,i_data_temp,q_data_temp);
            i_data<=i_data_temp;
            q_data<=q_data_temp;
            
        end
        else if(clk_enable) begin
            DPI_hilbert_fir(objhandle,data,i_data_temp,q_data_temp);
            i_data<=i_data_temp;
            q_data<=q_data_temp;
            
        end
    end
endmodule
