[FPGA] ISE DDS IP核简单记录使用

需要使用DDS IP核生成正弦波进行仿真验证,简单记录一下使用方法。

右键项目选择New Source。

先选择添加IP核,然后命令文件名,最后选择存放路径。

搜索框中搜索DDS会出来很多DDS Compiler,但其实只有两个一个是DDS Compiler 4.0(老版本,适合没有AXI总线的),另一个是DDS Compiler 5.0(新版本,适合给Zynq带AXI总线的系统用的)。选择4.0即可。

Configuration Options:

  • DDS 的工作模式,决定 IP 核内部有哪些模块、输出哪些信号。
    • Phase Generator and SIN COS LUT:包含相位累加器 + 正弦 / 余弦查找表,直接输出 SINE 和 COSINE 两路信号
    • Phase Generator only:只输出相位地址,不包含正弦 / 余弦 LUT,需要自己外接 ROM
    • SIN COS LUT only:只有正弦 / 余弦 LUT,需要自己给相位输入

System Clock:DDS IP 的工作时钟频率,单位 MHz

Number of Channels:同时生成的载波通道数

Frequency per Channel (Fs):采样率

Parameter Selection:我选择的是Hardware Parameters,需要设置相位累加器位宽Phase Width,输出位宽Output Width。

Phase Increment Programmability:能不能动态改频率的选项

  • Fixed:频率固定,IP 在生成时就把频率控制字烧进去了,运行时不能改
  • Programmable:运行时可以通过寄存器接口动态修改频率
  • Streaming:通过数据流接口实时更新频率

Phase Offset Programmability:能不能动态调整载波相位

  • None:不使用相位偏移,相位固定为 0。
  • Fixed:固定相位偏移,IP 生成时配置好。
  • Programmable:运行时可以动态修改相位。

Output Selection:IP 输出哪些波形信号

  • Sine and Cosine:同时输出正弦和余弦信号。
  • Sine:只输出正弦信号。
  • Cosine:只输出余弦信号。

Polarity:极性

  • Negative Sine :输出-sin(θ)
  • Negative Cosine :输出-cos(θ)

Amptitude Mode:幅度模式

  • Full Range:输出使用完整的有符号数范围,如12位,范围就是-2048~+2047
  • Unit Circle: 输出的数值是归一化的,范围大约是 -1 ~ +1

我不需要相位输出,将Has Phase Out取消。

这里不需要设置,因为Phase Increment Programmability选的Programmable,可以例化的时候传参进去。

这里的Frequency Resolution要注意,这是频率分辨率,具体运算是20M/(2^16)

例化:

cpp 复制代码
`timescale 1ns / 1ps
module data(
	input clk,
	output signed [11:0] d_out
	);

	wire signed [11:0] sine_0_5, sine_2;
	 

	wave(
	  .clk(clk), // input clk
	  .we(1'b1), // input we
	  .data(16'd3277), // 1MHz
	  .sine(sine_2) // output [11 : 0] sine
	);
	

endmodule

3277这么计算出来,要生成1M的波形,1M/频率分辨率 = 1M / (20M/(2^16));等于3277,实际生成的频率为3277 * (20M/(2^16) = 1000061.03515625,如果想要更准,那么就提升system clock和Phase Width

相关推荐
坏孩子的诺亚方舟15 小时前
FPGA神经网络数学基础0
人工智能·神经网络·线性代数·fpga开发
熠速15 小时前
PolarBox高性能实时仿真系统
arm开发·fpga开发·嵌入式实时数据库·硬件在环半实物仿真
南檐巷上学16 小时前
基于Zynq-7020的带有正弦波发生器的8051软核设计
单片机·嵌入式硬件·fpga开发·fpga
思尔芯S2C16 小时前
FPGA原型验证中的内存模型应用:基于DDR5的Linux系统启动与测试
fpga开发·内存模型·ddr4·ddr5·memory model·hbm3·prototyping
hai3152475431 天前
RISC-V CVA6 AXI适配器+DMA桥蜂鸟E203处理器的总线接口单元(BIU)仲裁器
驱动开发·fpga开发·硬件架构·硬件工程·精益工程
高速上的乌龟1 天前
Lattice LFCPNX-100 HSB+Fpga开发详解:2.3 Hololink 顶层模块深度全解析
linux·fpga开发
ALINX技术博客1 天前
【FPGA 开发教程】基于 ALINX FPGA 开发板实现 USB3.2 高速通信(Z7-P+FL2010)
fpga开发·fpga·fmc子卡·usb3.2通信
Ricky05531 天前
搭载实时 FPGA 处理系统的航天器上用于海上监视的超分辨率YOLO目标检测技术(意大利2026年研究)
yolo·目标检测·fpga开发
kaizq1 天前
在线设计模仿平台StepFPGA应用实践
fpga开发·verilog编程·在线设计仿真·小脚丫stepfpga·图形化设计·risc-v_soc·ima-copilot-ds
cjie2212 天前
图像缩放需要哪些参数和端口
计算机视觉·fpga开发