一、创建PLL IP核
Tools — MegaWizard Plug-In Manager — 于如下页面进行相关设置
ps: 若进行仿真,需添加altera_mf模块
二、顶层模块编写
module pll_ip(
input sys_clk,
input sys_rst,
output clk_100m,
output clk_100m_180d,
output clk_50m,
output clk_25m
);
wire locked_sig;
wire rst_n;
assign rst_n = sys_rst & locked_sig; // reset signal for other modules
// pll_clk with high reset
pll_clk pll_clk_inst (
.areset (~ sys_rst ),
.inclk0 ( sys_clk ),
.c0 ( clk_100m ),
.c1 ( clk_100m_180d ),
.c2 ( clk_50m ),
.c3 ( clk_25m ),
.locked ( locked_sig )
);
A. 仿真
三、基于modelsim进行仿真
Testbench:
`timescale 1ns/1ps
module flowled_tb();
reg sys_clk;
reg sys_rst;
wire clk_100m;
wire clk_100m_180d;
wire clk_50m;
wire clk_25m;
initial begin
sys_clk = 1'b0;
sys_rst = 1'b0;
# 20 sys_rst = 1'b1;
end
always #10 sys_clk = ~sys_clk;
pll_ip u1(
sys_clk,
sys_rst,
clk_100m,
clk_100m_180d,
clk_50m,
clk_25m
);
endmodule
仿真波形:
B.上板调试
三、添加时序约束
四、通过示波器进行分析