55 lines
1.2 KiB
Systemverilog
55 lines
1.2 KiB
Systemverilog
// File: C:\Users\Administrator\Desktop\gc_awg\demod_algorithm\daq_matlab\codegen\dll\nco\nco_dpi.sv
|
|
// Created: 2025-04-09 02:18:36
|
|
// Generated by MATLAB 24.1 and HDL Verifier 24.1
|
|
|
|
`timescale 1ns / 1ns
|
|
|
|
import nco_dpi_pkg::*;
|
|
|
|
|
|
|
|
module nco_dpi(
|
|
input bit clk,
|
|
input bit clk_enable,
|
|
input bit reset,
|
|
input real fcw,
|
|
input real ptw,
|
|
input real clr,
|
|
input real acc,
|
|
output real my_c,
|
|
output real my_s,
|
|
output real acc_o
|
|
);
|
|
|
|
chandle objhandle=null;
|
|
real my_c_temp;
|
|
real my_s_temp;
|
|
real acc_o_temp;
|
|
|
|
|
|
initial begin
|
|
objhandle=DPI_nco_initialize(objhandle);
|
|
end
|
|
|
|
final begin
|
|
DPI_nco_terminate(objhandle);
|
|
end
|
|
|
|
always @(posedge clk or posedge reset) begin
|
|
if(reset== 1'b1) begin
|
|
objhandle=DPI_nco_reset(objhandle,fcw,ptw,clr,acc,my_c_temp,my_s_temp,acc_o_temp);
|
|
my_c<=my_c_temp;
|
|
my_s<=my_s_temp;
|
|
acc_o<=acc_o_temp;
|
|
|
|
end
|
|
else if(clk_enable) begin
|
|
DPI_nco(objhandle,fcw,ptw,clr,acc,my_c_temp,my_s_temp,acc_o_temp);
|
|
my_c<=my_c_temp;
|
|
my_s<=my_s_temp;
|
|
acc_o<=acc_o_temp;
|
|
|
|
end
|
|
end
|
|
endmodule
|