DDS 的静态参数定义了如何配置 DDS,例如时钟速率、相位间隔和模式。hls_dds.h 头文件可定义 hls::ip_dds::params_t
结构体,用于设置静态参数的默认值。要使用默认值,可以将参数化结构体直接与 DDS 函数一起使用。
static hls::DDS< hls::ip_dds::params_t > dds1;
dds1.run(data_channel, phase_channel);
下表描述了 hls::ip_dds::params_t
参数化结构体的参数。
参数 | 描述 |
---|---|
DDS_Clock_Rate
|
指定 DDS 输出的时钟速率。 |
Channels
|
指定通道数。DDS 和相位发生器最多可支持 16 个通道。这些通道属时分复用通道,可降低每个通道的有效时钟频率。 |
Mode_of_Operation
|
指定以下操作模式之一: 标准模式,当累加的相位用于访问 SIN/COS LUT 之前可被截位的情况下使用。 栅格化模式,当所需频率和系统时钟通过有理分式关联时使用。 |
Modulus
|
描述系统时钟频率和所需频率之间的关系。 仅在栅格化模式下使用此参数。 |
Spurious_Free_Dynamic_Range
|
指定 DDS 所产生音调的目标纯度。 |
Frequency_Resolution
|
以 Hz 为单位指定最小频率分辨率,并确定相位累加器使用的相位宽度,包括相关的相位增量 (PINC) 和相位偏移 (POFF) 值。 |
Noise_Shaping
|
用于控制是使用相位截位、抖动还是泰勒级数校正。 |
Phase_Width
|
设置以下各项的宽度:
对于栅格化模式,相位宽度固定为描述有效输入范围 |
Output_Width
|
设置 m_axis_data_tdata 中的SINE(正弦)和COSINE(余弦)字段的宽度。此参数提供的 SFDR 取决于所选的Noise Shaping(噪声成形)选项。 |
Phase_Increment
|
选择相位增量值。 |
Phase_Offset
|
选择相位偏移值。 |
Output_Selection
|
在 m_axis_data_tdata 中将输出选项设置为SINE和/或COSINE。 |
Negative_Sine
|
在运行时对SINE字段取反。 |
Negative_Cosine
|
在运行时对COSINE字段取反。 |
Amplitude_Mode
|
将振幅设置为全幅或单位圆。 |
Memory_Type
|
用于控制 SIN/COS LUT 的实现。 |
Optimization_Goal
|
用于控制实现决策的目标是最高速度还是最低资源。 |
DSP48_Use
|
用于控制相位偏移和/或抖动噪声加法的相位累加器和解决方案阶段的实现。 |
Latency_Configuration
|
根据最优化目标设置核达到最佳值的时延。 |
Latency
|
指定手动时延值。 |
Output_Form
|
将输出形式设置为 2 的补码或符号和量级。通常,SINE 和 COSINE 的输出为 2 的补码形式。但是,使用象限对称时,可以将输出形式更改为符号和量级。 |
PINC[XIP_DDS_CHANNELS_MAX]
|
设置每个输出通道的相位增量值。 |
POFF[XIP_DDS_CHANNELS_MAX]
|
设置每个输出通道的相位偏移值。 |