Forum Discussion
IP optimized protection
I want to use CYCLONE5 to create 3 PLLs and connect each PLL output to an external pin.
I created three PLLs with PLL Intel FPGA IP from the IP Catalog.
When implemented, only one PLL is assigned due to the effect of optimization.
I searched on the net and found a way to protect the registers from optimization,
No way was found to protect the IP from optimization.
How can I protect my IP from optimization?
Is there any option setting?
9 Replies
- sstrell
Super Contributor
Is there a reason why you need 3 PLLs for this? If the 3 output clocks used 3 different input reference clocks, the tool would not optimize like this.
- testp
New Contributor
Thank you for your reply.
Sorry for the lack of explanation.
The circuit configuration is as follows.
It seems that three PLLs are recognized in the synthesis,
The Fitter optimizes the PLL to one.
Therefore, I think that there is no problem with the instance method and description.
My guess is that some option settings are missing.<FPGA external pin>
input CLKIN;out put PLLA_CLKOUT [3: 0];
out put PLLB_CLKOUT [3: 0];
out put PLLC_CLKOUT [3: 0];<PLL instance>
pllA pllA (
.rst (rst),
.refclk (CLKIN),
.outclk_0 (PLLA_CLKOUT [0]),
.outclk_1 (PLLA_CLKOUT [1]),
.outclk_2 (PLLA_CLKOUT [2]),
.outclk_3 (PLLA_CLKOUT [3]),
.locked ()
);
pllB pllB (
.rst (rst),
.refclk (CLKIN),
.outclk_0 (PLLB_CLKOUT [0]),
.outclk_1 (PLLB_CLKOUT [1]),
.outclk_2 (PLLB_CLKOUT [2]),
.outclk_3 (PLLB_CLKOUT [3]),
.locked ()
);
pllC pllC (
.rst (rst),
.refclk (CLKIN),
.outclk_0 (PLLC_CLKOUT [0]),
.outclk_1 (PLLC_CLKOUT [1]),
.outclk_2 (PLLC_CLKOUT [2]),
.outclk_3 (PLLC_CLKOUT [3]),
.locked ()
);
<PLL setting>
No phase adjustment
pll input: 100MHz
pll Each output: 100MHz
All pllA to C have the same conditions
* I would like to use 3 PLLs for 3 groups and supply 4 CLKs.
* Since it is a trial, the pll setting is tentative and all have the same parameters.
* IP settings other than the above are left at their defaults.
I would appreciate any advice.
Thanking you in advance.- sstrell
Super Contributor
So you have 12 output clocks, 4 from each PLL. Are all these clocks connected to logic in your design? If not, the tool will optimize them away.
- SyafieqS
Super Contributor
Hi,
have you try the keep and preserve attribute? This will keep the register from optimized, you have to modify this in HDL
- SyafieqS
Super Contributor
May I know if there is any update?
- SyafieqS
Super Contributor
We do not receive any response from you to the previous reply that I have provided, thus I will put this case to close pending. Please post a response in the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions.
- testp
New Contributor
thank you for your answer.
I don't know how to set the keep and preserve attributes specifically.
Please tell me the setting procedure.