1.1.8. Clock-As-Data Analysis
A data path is a connection between the output of a synchronous element to the input of another synchronous element.
A clock is a connection to the clock pin of a synchronous element. However, for more complex FPGA designs, such as designs that use source-synchronous interfaces, this simplified view is no longer sufficient. Clock-as-data analysis is performed in circuits with elements such as clock dividers and DDR source-synchronous outputs.
The connection between the input clock port and output clock port can be treated either as a clock path or a data path. Figure 32 shows a design where the path from port clk_in to port clk_out is both a clock and a data path. The clock path is from the port clk_in to the register reg_data clock pin. The data path is from port clk_in to the port clk_out.
With clock-as-data analysis, the Timing Analyzer provides a more accurate analysis of the path based on user constraints. For the clock path analysis, any phase shift associated with the phase-locked loop (PLL) is taken into consideration. For the data path analysis, any phase shift associated with the PLL is taken into consideration rather than ignored.
The clock-as-data analysis also applies to internally generated clock dividers. In the following figure, the waveforms are for the inverter feedback path, analyzed during timing analysis. The output of the divider register determines the launch time, and the clock port of the register determines the latch time.