一个关于xilinx的pll驱动的奇怪问题。
时间:10-02
整理:3721RD
点击:
xilinx的fpga中,时钟引脚输入的时钟经pll倍频后,用得到的时钟去驱动普通的逻辑就工作正常,用得到的时钟去驱动gtp的时钟脚CLK00时,它工作就不正常了,时钟变为0(没有信号),这是什么原因呢?pll实例化代码:
IBUFG system_clk_ibufg
(
.O (sys_tile0_gtpclkout0_0_to_cmt_i),
.I (MHZIN)
);
assign system_clk_pll_reset_i = !tile0_plllkdet0_i;
PLL_BASE #
(
.CLKFBOUT_MULT (10),
.divCLK_divIDE (1),
.CLK_FEEDBACK ("CLKFBOUT"),
.CLKFBOUT_PHASE (0),
.COMPENSATION ("SYSTEM_SYNCHRONOUS"),
.CLKIN_PERIOD (25.0),
.CLKOUT0_divIDE (5),
.CLKOUT0_PHASE (0)
)
system_clk_pll
(
.CLKIN (sys_tile0_gtpclkout0_0_to_cmt_i),
.CLKFBIN (CLK00FB),
.CLKOUT0 (CLK00OUT),
.CLKOUT1 (),
.CLKOUT2 (),
.CLKOUT3 (),
.CLKOUT4 (),
.CLKOUT5 (),
.CLKFBOUT (CLK00FB),
.LOCKED (),
.RST (system_clk_pll_reset_i)
);
BUFG sys_clkout0_bufg_i
(
.O (CLK00IN),
.I (CLK00OUT)
);
IBUFG system_clk_ibufg
(
.O (sys_tile0_gtpclkout0_0_to_cmt_i),
.I (MHZIN)
);
assign system_clk_pll_reset_i = !tile0_plllkdet0_i;
PLL_BASE #
(
.CLKFBOUT_MULT (10),
.divCLK_divIDE (1),
.CLK_FEEDBACK ("CLKFBOUT"),
.CLKFBOUT_PHASE (0),
.COMPENSATION ("SYSTEM_SYNCHRONOUS"),
.CLKIN_PERIOD (25.0),
.CLKOUT0_divIDE (5),
.CLKOUT0_PHASE (0)
)
system_clk_pll
(
.CLKIN (sys_tile0_gtpclkout0_0_to_cmt_i),
.CLKFBIN (CLK00FB),
.CLKOUT0 (CLK00OUT),
.CLKOUT1 (),
.CLKOUT2 (),
.CLKOUT3 (),
.CLKOUT4 (),
.CLKOUT5 (),
.CLKFBOUT (CLK00FB),
.LOCKED (),
.RST (system_clk_pll_reset_i)
);
BUFG sys_clkout0_bufg_i
(
.O (CLK00IN),
.I (CLK00OUT)
);
