Author Topic: Basic Clock and PLL Question -- reading datasheets  (Read 992 times)

0 Members and 1 Guest are viewing this topic.

Offline TheGreatNedTopic starter

  • Contributor
  • Posts: 20
  • Country: us
Basic Clock and PLL Question -- reading datasheets
« on: February 20, 2020, 11:42:02 pm »
Hello good FPGA people,

I have a Cyclone 4 dev kit with a 50MHz default clock as defined in the .sdc file. I'm using a PLL IP block to get a 125MHz output. Question 1: Can I simply feed this clock to my design instead of the 50mhz one and expect all the registers to work normally? (basically free speed?)

I'm wondering how fast I can go based on the below datasheets (I'm using a EP4CGX150 with speed grade 'C7')



^This datasheet seems to say I can use the embedded multiplier and memory blocks at up to 437.5MHz (without consequence?)... but what about the everyday gates/registers/LUTs?



^This datasheet seems to say that the input to any PLL can be <=450MHz, and the output "to global clock" can also be <=450mhz. What things do i need to consider if i dial up my core clock right to 450mhz via a pll?

Thanks :)
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Basic Clock and PLL Question -- reading datasheets
« Reply #1 on: February 21, 2020, 12:32:46 am »
Your timing report will tell you if your logic is too complex for the desired clock rate.  If you have correctly constrained your incoming clock to 20 ns, the tools will usually work out all derived timing constraints (8 ns for the 125MHz logic).

Datasheet timing show the performance of the individual resources (FFs/LUTs/PLL...), and not the performance of the overall system built from those resources. You will have the timing requirements of the resources, plus additional 'routing' delays due to the connections between parts.

125MHz isn't that fast for a Cycleon IV FPGA - It will most likely work OK unless it has lots of logic.
« Last Edit: February 21, 2020, 12:35:03 am by hamster_nz »
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline TheGreatNedTopic starter

  • Contributor
  • Posts: 20
  • Country: us
Re: Basic Clock and PLL Question -- reading datasheets
« Reply #2 on: February 21, 2020, 04:29:38 pm »
So what does the 437.5mhz number mean exactly in the above datasheet?

Do I need to add an entry in my SDC file telling quartus about my 125mhz PLL and where its going?
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3246
  • Country: ca
Re: Basic Clock and PLL Question -- reading datasheets
« Reply #3 on: February 21, 2020, 06:42:59 pm »
So what does the 437.5mhz number mean exactly in the above datasheet?

It means that if you feed a clock signal above 437.5 MHz to the clock distribution system, they cannot guarantee that the clock distribution system will work on every device even if the voltage and temperature are within the specified range.

Besides the clock distribution system, there are are things inside FPGA which have their own timing characteristics. You need to make sure that your design doesn't violate any of them. Generally, it is difficult to design something that works at the highest clock frequency. Designing for 200 MHz clock is easier.

 

Offline TheGreatNedTopic starter

  • Contributor
  • Posts: 20
  • Country: us
Re: Basic Clock and PLL Question -- reading datasheets
« Reply #4 on: February 22, 2020, 12:10:05 am »
Awesome, thank you  :clap:

it seems that "derive_pll_clocks" is all that is required in the SDC file to inform the compiler of my 125mhz clock. Easy enough
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf