Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

example of path for multi clock design

Status
Not open for further replies.

sun_ray

Advanced Member level 3
Advanced Member level 3
Joined
Oct 3, 2011
Messages
772
Helped
5
Reputation
10
Reaction score
5
Trophy points
1,298
Visit site
Activity points
6,828
Can anyone please provide example of paths that are not treated as false paths although they are path crossing from one clock domain to another clock domain?
 

Data within DDR PHY.
Need shift the DQs to capture DQ (named as dq_reg), then, dq_reg will be transfered to clock domian in the chip (this can't be a flase path while transfer between 2 clock domains).
 

Data within DDR PHY.
Need shift the DQs to capture DQ (named as dq_reg), then, dq_reg will be transfered to clock domian in the chip (this can't be a false path while transfer between 2 clock domains).

Can you please elaborate the path in detail with an diagram so that what you want to say is understood well? How does the path look like? What kind of combinational logic will be there in that path? Why is it necessary to check the timing of such a path such that false path cannot be set?
 

in clock domain crossing, you set false path for hold while doing synthesis because two clocks are asynchronous and timing cannot checked.

But you set set_max_delay and set_min_delay on these paths. so that data should reach after specified delay.
 

in clock domain crossing, you set false path for hold while doing synthesis because two clocks are asynchronous and timing cannot checked.

But you set set_max_delay and set_min_delay on these paths. so that data should reach after specified delay.

How does it answer my question?

- - - Updated - - -

Hai sunray,

Please note it may be derived clock..

I am asking example of path. How does your reply answer my question?
 

Lets say there are two state machines. 1st state machine runs on clock1 and 2nd state machine runs on clock 2. In design after 1ststate machine is completed you have to move to 2nd state machine. You have to pass a signal from 1st state machine to inform 2nd state machine to start.

Tell me whether it answered your question or not ?
 

sun_ray,

Here is an example...

**broken link removed**

As clk_1x and clk_2x are phase locked, the setup/hold time between Reg 1 and Reg 2 is not a false path. Place and route tools should be able to compensate for any clock skew between the two clock domains to meet both setup and hold time.

Yes, you could treat it as asynchronous, but that would then require synchronization registers at the output of Reg 1 clocked on clk_2x. These synchronization registers wouldn't be doing much besides compensating for skew introduced due to a false_path placed on the clock crossing. Depending on the clock skew involved the first synchronization register could experience continuous metastable events if the skew results in the data arriving at the syncrhonization register coincident with the clock edge. So by using a false path in this case we might actually make things more likely to go metastable. 8-O
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top