Offset constraint (offset in and offset out)

Source: Internet
Author: User

Series Catalogue

Timing Closure: Basic concepts

Setup time and hold time

Offset constraint (offset in and offset out)
1. The offset constraint defines the relative relationship between the external clock pad and the input and output pad associated with it. This is a basic timing constraint. Offset defines the relationship between the outside and cannot be used on the internal signal.

The offset constraint is relatively simple to write, such as

OFFSET = {in| Out} Offset_time [units] {before| After} Clk_name [Timegrp group_name];

    • Offset_time: The difference between the capture clock edge and the data start time, the default unit is NS, can be defined as NS, PS, etc.
    • before| After: Similar to the original intention
    • Clk_name: Enter the hierarchical full name of clock pad net

How much Offset_time writes depends on the relative relationship between the data, and it is also important to understand how XST analyzes the timing relationship. 2. OFFSET in Analysis

The following equation is a relationship that needs to be satisfied with the timing requirements pointed out in UG612, which may not be very clear, but it is easy to understand with example analysis. The requirement for the following is Toffset_in_before-(tdata + Tsetup-tclock) > 0, which in fact corresponds to slack greater than 0. Specific statements are as follows (set-up time and hold time requirements, respectively)

Tdata + tsetup-tclock <= toffset_in_before

where

Tsetup = intrinsic Flip Flop setup time

Tclock = Total Clock path delay to the Flip Flop

Tdata = Total Data path delay from the Flip Flop

Toffset_in_before = Overall Setup Requirement

Tclock-tdata + thold <= toffset_in_before_valid

where

Thold = intrinsic Flip Flop hold Time

Tclock = Total Clock path delay to the Flip Flop

Tdata = Total Data path delay from the Flip Flop

Toffset_in_before_valid = Overall Hold Requirement

The requirements for hold time are also mentioned in the documentation, and the setup and retention times are described above. UG612 here is a big pit, and after giving this formula, we never discuss hold time again. The previous WP327 (WP327 partial content error, UG612 correction)

The OFFSET in requirement value was used as a setup time requirement of the FPGA during the setup time analysis. The VALID keyword is used in conjunction with the requirement to create a hold-time requirement during a hold-time analysi S. The VALID keyword specifies the duration of the incoming Data VALID window, and the timing analysis tools perform a HOL D-time analysis. By default, the VALID value was equal to the OFFSET time requirement, which specifies a zero hold-time requirement. See Figure 6. "

This section describes how hold time is handled. If the valid time of the data is specified, the requirement of hold times is deterministic, which allows for a specific analysis, and if not, the requirement of hold-time is considered to be 0 by default.


3.OFFSET in Example

Simple Example

Slack: -0.191ns (Requirement-(data Path-clock path-clock arrival + uncertainty))

Source:reset (PAD)

DESTINATION:MY_ODDRA_ODDR_INST/FF0 (FF)

Destination CLOCK:CLOCK0_DDR_BUFG rising at 0.000ns

Requirement:3.000ns

Data Path Delay:2.784ns (Levels of Logic = 1)

Clock Path Delay: -0.168ns (Levels of Logic = 3)

Clock Uncertainty:0.239ns

The above example first tells us that the offset_in constraint is 3ns, which means that the input data is valid on the front 3ns of the sampling clock. Then the correct sampling on the trigger depends on: the trigger sampling clock is delayed by-0.168, so much ahead of the -0.168ns;data path delay is 2.784, so the data delay 2.784, the source, the end of the target clock relationship is 0, unchanged, the uncertainty has a bad effect, there are

Slack = 3 + (-0.168) -2.784-0.239 +0;

phase-shifted Example

Slack:2.309ns (Requirement-(data Path-clock path-clock arrival + uncertainty))

Source:reset (PAD)

DESTINATION:MY_ODDRA_ODDR_INST/FF0 (FF)

Destination CLOCK:CLOCK90_BUFG rising at 2.500ns

Requirement:3.000ns

Data Path Delay:2.784ns (Levels of Logic = 1)

Clock Path Delay: -0.168ns (Levels of Logic = 3)

Clock Uncertainty:0.239ns

The parsing process is similar, but we note that at the time of definition, the relative value is clock, but the clock sampled by the trigger is Clk90 (Destination). This means that we have a clock arrival time, and this value is 2.5ns. The rest is the same as the above example.

So back to the previous equation Toffset_in_before-(tdata + Tsetup-tclock) > 0; requirement in the analysis report is actually toffset_in_before,data path including tdata And Tsetup,tclock are actually clock arrival and clock path delay. This formula does not take into account the clock uncertainty.

Before concluding this section, it is also important to mention a very strange concept that does not know why it exists. It was not specifically stated that, for the offset in constraint, the notation is probably

OFFSET = in 3ns before clock;

It is natural to adopt before because we have been analyzing the settling time, and the settling time is precisely before the sampling edge. OFFSET in can also be written so that (don't understand why this is the way it should be)

OFFSET = in 2 ns after Clock_pad

At this point, the corresponding conditions to be met are

Tdata + tsetup-tclock <= tperiod-toffset_in_after

where

Tsetup = intrinsic Flip Flop setup time

Tclock = Total Clock path delay to the Flip Flop

Tdata = Total Data path delay from the Flip Flop

Tperiod = single Cycle PERIOD requirement

Toffset_in_after = Overall Setup Requirement

4. OFFSET Out Analysis

The OFFSET out constraint is the relative relationship between the clock and the data of the FPGA-to-downstream device, which can be used to represent. The specific constraints require that the data received by the downstream device will arrive within the length of the clock along. Then, according to this picture you can draw clock to out = Clock_delay + clock_to_out + data_delay + clock_arrival. This is because the clock path of the trigger inside the FPGA is delayed, and the FPGA trigger output delays the clock_delay+clock_to_out time due to trigger time, while the data has a delay. Another, the figure is given is a situation, in this case clock_arrival = 0, the final result also need to add clock_arrival.

According to this relative relation, we can draw the relation that the FPGA time series needs to satisfy

TQ + tdata2out + tclock <= toffset_out_after

where

TQ = intrinsic Flip Flop Clock to Out

Tclock = Total Clock path delay to the Flip Flop

tdata2out = Total Data path delay from the Flip Flop

Toffset_out_after = Overall Clock to Out requirement

The specific analysis is similar to offset in, which is not repeated here, and gives a few examples.

Example Analysis

Simple Example

Slack: -0.865ns (Requirement-(clock arrival + clock path + data path + uncertainty))
Source:outd_7 (FF)
Destination:outd<7> (PAD)
Source CLOCK:CLOCK3_STD_BUFG Rising at 0.000ns
Requirement:3.000ns
Data Path Delay:3.405ns (Levels of Logic = 1)
Clock Path Delay:0.280ns (Levels of Logic = 3)
Clock Uncertainty:0.180ns

Offset constraint (offset in and offset out)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.