本文默认在0,国产FPGA(紫光同创)-新建PDS工程基础上完成。
1,添加IP核
右击(1)空白处进行添加,点击New IP(2)进行新建IP核。
选择本次实验要配置的IP核-PLL(1),输入实体名称pll(2),最后点击Customize(3)进行用户自定义。
点击Basic Configuration(1)进行基础配置,勾选使能pll_ret(2)使能高电平复位,使能clk0(3),选择要生成的波形频率(4)100MHz。使能clk1(5),选择要生成的波形频率(6)25MHz。默认输入信号频率为50MHz。最后点击左上角Generate生成。
2,编写设计源文件
设计源文件很简单,就不详细介绍了。
cpp
module PLL_test(
input sys_clk ,
input rst ,
output pll_lock ,
output pll_clk0 ,
output pll_clk1
);
//pll 50MHz - 100MHz/25MHz
pll pll_inst (
.pll_rst(rst ), // input
.clkin1(sys_clk ), // input 50MHz
.pll_lock(pll_lock ), // output
.clkout0(pll_clk0 ), // output
.clkout1(pll_clk1 ) // output
);
endmodule
3,编写仿真文件
仿真文件如下。
cpp
`timescale 1 ns/1 ns
module tb_pull_test( );
//Input
reg sys_clk;
reg rst;
//Output
wire pll_clk0;
wire pll_clk1;
wire pll_lock;
PLL_test PLL_test_inst(
.sys_clk(sys_clk) ,
.rst(rst) ,
.pll_lock(pll_lock) ,
.pll_clk0(pll_clk0) ,
.pll_clk1(pll_clk1)
);
initial
begin
sys_clk = 0;
rst = 1;
#100;
rst = 0;
#200;
end
//50MHzs
always #10 sys_clk = ~sys_clk;
/*
GTP_GRS GRS_INST(
.GRS_N(1'b1)
);
*/
endmodule
4,运行ModelSim仿真
右击Simulation下的仿真文件(1),点击Run Behavior Simulation(2)进行联合仿真。
仿真波形图如下。
5,烧录运行
看到successfully说明烧录成功。
因为设备限制,这里就不放示波器的图案了。