- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When performing the Classic Timing Analysis in quartus I got a critical Warning: Can't achieve timing requirement Clock Setup: 'PLL1:PLL1_inst|altpll:altpll_component|_clk0' along 186 path(s). See Report window for details.
The red line in Report Window is : type :Clock Setup: 'PLL1:PLL1_inst|altpll:altpll_component|_clk0' slack : -230.103 ns required time : 15.36 MHz ( period = 65.104 ns ) actual time : 3.39 MHz ( period = 295.207ns ) from : SLOT_SYNC:slot_sync|acc:acc_inst|altaccumulate:altaccumulate_component|accum_gff:accum_cell|acc_ffa[57] to : SLOT_SYNC:slot_sync|slot_sync_fail from : PLL1:PLL1_inst|altpll:altpll_component|_clk0 to : PLL1:PLL1_inst|altpll:altpll_component|_clk0 failed path : 186 I have no idea to deal with this warning , can anyone give me any suggestions? Thanks!Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you got any big lumps of combinatorial logic in your design? It might be that these are slowing down the logic too much.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In the general case, you have to redesign the path designated by from: to:. A possible means is inserting pipeline registers. Of course the delay of x clock cycles has to be considered. In special cases, the data transfer along the path has actually a margin of multiple clock cycles, but Quartus can't recognize it. Then you can specify the path as multi-cycle.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Right-click on the row and do a List Path. Then below in the messages you'll see a new line for that path which you can expand and contract, so you can get a detailed view of how many levels of logic this path is, what the clock skew is, etc. For the record, it's really difficult to have a path that is 295ns long. So either you have a ton of logic, or perhaps something else is going on. If it's really that much logic, you're going to have to add pipeline stages. (The case I've seen where you can get this much logic is when users write out lots of math calculations as a single line without pipelining. One of the main things FPGAs get their performance from is the ability to pipeline and run each section at the same time(assuming no feedback).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Based on your suggestions, I have solved this problem.
Thank you very much!- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page