- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Trying to understand to concept of virtual clock. A virtual clock is created from external clock but think that is created at rising edge. Both are 20MHz. How to create a virtual clock from SYCLK but at falling edge?
Believe the second line below creating the virtual as rising. Need to push it to go falling edge.
create_clock -name {SYSCLK} -period 50.000 -waveform { 0.000 25.00 } [get_ports {SYSCLK}]
create_clock -name {CLK20MHZSYS_ext} -period 50.000
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use the -waveform option to shift the clock:
create_clock -name {CLK20MHZSYS_ext} -period 50.000 -waveform {25 50}
If data is launched by the virtual clock on the falling edge, you add the -clock_fall option to your set_input_delay constraints.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The virtual clock is 50ns period. This clock need to be inverted or shifted by 50ns for falling edge to gate data. The setup slack failing is for an output pin.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What I did that seem to solve the problem is : Take the 50ns clock invert at setup failing clock pins.
create_generated_clock -invert -source [get_ports {SYSCLK}] -name {DSACKCLK} [get_pins RAM_CONTROL:i13|q3|clk]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tried something similar but using multicycle. Thanks.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page