- 在 Quartus II 中使用 PLL (Phase-Locked Loop) 模块来将输入时钟分频或倍频,并生成多个相位偏移或频率不同的时钟信号:
1. 生成 PLL 模块
-
在 Quartus II 中:
- 打开 IP Components。
- 打开 IP Components。
-
file:///C:/intelFPGA_lite/18.0/quartus/common/help/webhelp/index.htm#hdl/mega/mega_view_megawiz.htm : 工具=>IP Category(目录) 会自动显示目标设备可用的IP核。双击任何IP核名称以启动参数编辑器并生成表示IP变体的文件。
2. 选择 PLL
- 注:如以下的两张图所示,在Cyclone V系列芯片中选择“ALTPLL”
3. 设置输入时钟频率,如 50 MHz
。
4. 配置 PLL 的输出时钟,如:
- 输出 1 (
clk_out1
):100 MHz(倍频 x2)。 - 输出 2 (
clk_out2
):25 MHz(分频 /2)。
5. 生成文件(如 my_pll.v
和 my_pll.qip
)。
6. 编译测试一下:
module test (
input wire clk, // 外部时钟输入
input wire rst, // 外部复位输入
output wire outclk_0, // 组件的输出时钟0
output wire outclk_1, // 组件的输出时钟1
output wire locked // 锁定信号
);
// 实例化 PLL 模块
my_pll pll_inst (
.refclk(clk), // 外部时钟输入
.rst(rst), // 外部复位输入
.outclk_0(outclk_0), // PLL 输出时钟0
.outclk_1(outclk_1), // PLL 输出时钟1
.locked(locked) // PLL 锁定信号
);
endmodule