Forum Discussion
About Virtual Clocks in Constraints
- 3 years ago
Virtual clocks represent the clocks that drive external devices, those that drive into the FPGA on inputs (upstream) and those that drive devices fed by the FPGA on outputs (downstream). I'm not sure what you mean by "limit the data output from the FPGA to the external clock." On outputs, the virtual clock is used as the latch clock and the setup and hold timing requirements at the downstream device are based off of it. On inputs, the virtual clock acts as the launch clock and the tco of the upstream device is based off of it.
For synchronous I/O timing analysis, the virtual clock is always the clock that is referenced when creating your set_input_delay and set_output_delay constraints so even if the same physical clock drives both the external device and the FPGA, you should always create a separate virtual clock with create_clock. Virtual clocks are created with create_clock by not specifying a target (but including a name), something like:
create_clock -name virt_clock -period 10
Virtual clocks represent the clocks that drive external devices, those that drive into the FPGA on inputs (upstream) and those that drive devices fed by the FPGA on outputs (downstream). I'm not sure what you mean by "limit the data output from the FPGA to the external clock." On outputs, the virtual clock is used as the latch clock and the setup and hold timing requirements at the downstream device are based off of it. On inputs, the virtual clock acts as the launch clock and the tco of the upstream device is based off of it.
For synchronous I/O timing analysis, the virtual clock is always the clock that is referenced when creating your set_input_delay and set_output_delay constraints so even if the same physical clock drives both the external device and the FPGA, you should always create a separate virtual clock with create_clock. Virtual clocks are created with create_clock by not specifying a target (but including a name), something like:
create_clock -name virt_clock -period 10
- Yamada13 years ago
Occasional Contributor
Thank you for answering.
Thank you for your detailed explanation.
The part "limit the data output from the FPGA to the external clock." I intended to describe the configuration of Figure 45 in the Timming Analyzer User's Guide.
It seems to be a problem with the original text here, but it seems that the machine translation made the sentence incomprehensible. very sorry.
It was very helpful to know that a virtual clock is required for synchronous I/O timing analysis.
For example, is it correct to assume that correct analysis results cannot be obtained if the physical clock used to latch the target signal is specified instead of the virtual clock when creating the set_input_delay constraint?
Sorry for the inconvenience, but thank you in advance.