Forum Discussion

RLee42's avatar
RLee42
Icon for Occasional Contributor rankOccasional Contributor
5 years ago
Solved

constraints on output clock

My question is about how to generate a 40MHz clock from MAX10 as a clock source for another chip on PCB. What I have done is implementing a PLL with external 20Mhz crystal as the input and output c...
  • sstrell's avatar
    sstrell
    5 years ago

    Close:

    create_clock -name {clk_20M} -period 50.000 -waveform { 0.000 25.000 } [get_ports {clk_20M}]
    derive_pll_clocks
    create_generated_clock -source [get_pins <pll output pin>] -multiply_by 1 [get_ports clk_out_40M]
    set_false_path -from [get_pins <pll output pin>] -to [get_ports clk_out_40M]

    Your first and second constraints are correct. The third constraint turns the path from the output pin of the PLL into a clock path since the timing analyzer assumes that device outputs are data paths, not clock paths. I'm guessing your output port is named clk_out_40M but fix it if it is not. For the PLL output pin name, you'll need to get that from a timing report or using the Name Finder.

    For the final timing exception, you're indicating that the output path should not be analyzed for data since it is a clock path. Again, set the PLL output pin name correctly. And I switched the -to to point to the output port again.