- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have a special case of multicycle. The source data is changing long after the destination register sampling the data. I attached figure for details. Please help me to define the timequest proper constraints. I tried to define: set_multicycle_path .... -setup 156 set_multicycle_path .... -hold 155 and received hold violation, but as you can see there is no way there is an hold problemLink Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not following the diagram, specifically what the setup requirement should be(and if they're edge aligned). Specifically I see the source data changing but don't see when it is latched. Let's say it is latched in the destination on the next latch edge(i.e. the default). Let's say the previous data is latched 20 clock cycles before that. Then you would do something like:
set_multicycle_path -hold -end 20 Now, I believe the data is latched much later. So let's pretend it's 100 cycles later. Then it would be: set_multicycle_path -setup -end 100 set_multicycle_path -hold -end 120 I would suggest looking at the TimeQuest User Guide on alterawiki.com, specifically Section 2 on Multicycles. Also, a good way is to put in a multicycle and run report_timing -setup and report_timing -hold on that path to see what the setup and hold relationships are. If they're not what you want, start changing the values(do the setup first, since hold changes with it). You don't have to re-fit, just re-run TimeQuest. It might take a few iterations but should be pretty quick
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page