UserID4331231
Occasional Contributor
14 days agoIOPLL related clock constraints
Hello Every one
I am struggling with creating clock constraint and need help.
I have agilix 10 FPGA design at project level top module I have input "iopll_clk_clk". this input is mapped to clock capable input pin on FPGA and is connected to 50MHz on board clock source. The toplevel module has iopll instantiation as following
pcie_ed_iopll_0 iopll_0 (
.refclk (iopll_clk_clk), // input, width = 1, refclk.clk
.locked (), // output, width = 1, locked.export
.rst (resetip_ninit_done_reset), // input, width = 1, reset.reset
.outclk0 (iopll_0_outclk0_clk) // output, width = 1, outclk0.clk
);
"iopll_0_outclk0_clk" is supposed to be used as clock input for inner logic only.
in Platform designer IOPLL is IP is configured to output only one clock at 300MHz.
in the project SDC file I have following constraints
#iopll Clock
create_clock -period 20 [get_ports iopll_clk_clk]
#derive_pll_clocks -create_base_clocks - Tried it but not supported for Agilex 10
create_generated_clock -multiply_by 6 -source [get_ports iopll_clk_clk] -name iopll_0_outclk0 [get_pins iopll_0|iopll_0_outclk0] - this is line 17
Here while compiling the design during fitter stage i see following warning messages.
Warning(332174): Ignored filter at intel_rtile_pcie_ed.sdc.terp(17): iopll_0|iopll_0_outclk0 could not be matched with a pin
Warning(332049): Ignored create_generated_clock at intel_rtile_pcie_ed.sdc.terp(17): Argument <targets> with value [get_pins {iopll_0|iopll_0_outclk0}] contains zero elements
This tells me that the IOPLL clocks are not constrained properly and Quartus wont be able to evaluate clock paths correctly for internally generated 300MHz clock.
can you help me in figuring out what am i doing wrong here? How can I correctly constraint that iopll is fed with 50MHz clock and its output is 300MHz clock?