a mARTIAN dIARY

Virtual Clocks

Filed under: TECHbabble, unEarthly tERms — cafm @ 7:11 pm May 16, 2007

(From a yahho goup I subscribe to)

By definiton, virtual clock is a clock which doesn’t have any design object associated with it.

Virtual Clocks are generally used to constraint the IOs (Inputs & Outputs) of a block.

Consider a big design with two sub-blocks, block ‘A’ and block ‘B’. Suppose there is a timing path going from a register x_reg (clocked by ‘clk1′) (in block A) to register y_reg (clocked by ‘clk2′) (in block B).

If you are analyzing this design at the top-level, the analysis tool can associate both the clocks with some design objects and hence there is no need for virtual clocks.

Now if you are doing analysis at block-level (say Block ‘B’), and you have to tell the tool that timing path ending at y_reg register is launched by a clock "clk1". The only way to do this is to create a virtual clock.
For creating clk2 you have some design object (port/pin) available, since it exist in block ‘B’ itself. But block ‘A’ is out of the scope of the current environment, and you have to define "clk1" as virtual clock.

0 Return Tranmissions... »

No comments yet.

Subscribe to Comments Feed

Get updated via email for a new comment on this blog

TrackBack URL

Leave a comment



Disclaimer
The thoughts expressed in this blog are mine and should in no manner be linked to the organization(s) with which I am (or have been) associated.