![]() |
|
![]() |
|
Answers Database
M1.5i/2.1i: Timing: How the OFFSET IN and OUT calculation is made?
Record #5489
Product Family: Software NET "PAD_CLK2" TNM_NET = "PAD_CLK2"; TIMESPEC "TS_PAD_CLK2" = PERIOD "PAD_CLK2" 15.0 ns HIGH 50%; TIMEGRP "bin" = PADS( "BIN<10>" "BIN<11>" "BIN<12>" "BIN<13>" "BIN<9>" ); TIMEGRP "bin" OFFSET = IN 10.0 ns BEFORE "PAD_CLK2"; Here is a sample timing report: ====================================================================== Timing constraint: TIMEGRP "bin" OFFSET = IN 10 nS BEFORE COMP "PAD_CLK2" ; 8 items analyzed, 0 timing errors detected. Minimum allowable offset is 3.945ns. -------------------------------------------------------------------------------- Slack: 6.055ns path BIN<10> to &__A__6 relative to 2.017ns delay constraint PAD_CLK2 to &__A__6 and 10.000ns offset BIN<10> to PAD_CLK2 From the report we see that the Minimum allowable offset is 3.945ns. This value is calculated in the following way. OFFSET - PAD2SETUP + CLKNET = SLACK 10.00ns - 5.962ns + 2.017 = 6.055ns To calculate the minimum allowable offset OFFSET - SLACK = Minimum Allowable Offset 10.00ns - 6.055ns = 3.945ns This is the minimum value you can assign to the OFFSET IN BEFORE. Solution 2: For OFFSET IN AFTER. Example Constraints: NET "PAD_CLK2" TNM_NET = "PAD_CLK2"; TIMESPEC "TS_PAD_CLK2" = PERIOD "PAD_CLK2" 15.0 ns HIGH 50%; TIMEGRP "bin" = PADS( "BIN<10>" "BIN<11>" "BIN<2>" "BIN<13>" "BIN<9>" ); TIMEGRP "bin" OFFSET = IN 10.0 ns AFTER "PAD_CLK2"; Here is a sample timing report: ====================================================================== Timing constraint: TIMEGRP "bin" OFFSET = IN 10 nS AFTER COMP "PAD_CLK2" ; 8 items analyzed, 0 timing errors detected. Maximum allowable offset is 10.686ns. -------------------------------------------------------------------------------- Slack: 0.686ns path BIN<2> to &__A__6 relative to 2.012ns delay constraint PAD_CLK2 to &__A__6 and 5.000ns offset BIN<2> to PAD_CLK2 From the report we see that the Maximum allowable offset is 10.686ns. This value is calculated in the following way. PERIOD - OFFSET - PAD2SETUP + CLKNET = SLACK 15.00ns - 10.00ns - 6.326ns + 2.012 = 0.686ns To calculate the Maximum Allowable Offset OFFSET + SLACK = Maximum Allowable Offset 10.00ns + 0.686ns = 10.686ns This is the Maximum value you can assign to the OFFSET IN AFTER. Solution 3: For OFFSET OUT BEFORE. Example constraints: NET "MYCLK/bufg_sig" PERIOD = 18 nS NET "OUTPUT_NET" OFFSET = OUT 10 nS BEFORE "MYCLK" Here is a sample timing report: Timing constraint: COMP "OUTPUT_NET" OFFSET = OUT 10 nS BEFORE COMP "MYCLK" ; 1 item analyzed, 1 timing error detected. Maximum allowable offset is 5.584ns. ------------------------------------------------- ------------ Slack: -4.416ns path MYCLK to OUTPUT_NET relative to 5.234ns delay MYCLK to $Net00005_ and 7.182ns delay $Net00005_ to OUTPUT_NET and 8.000ns offset MYCLK to OUTPUT_NET From the report we see that the Maximum allowable OFFSET is 5.584ns. This value is calculated in the following way. PERIOD - OFFSET - clk2out - clknet = slack. 18ns - 10ns - 5.234ns - 7.182ns = -4.416ns. This is the time left over (slack). In other words I need another 4.416ns to meet the specified OFFSET. To determine if the constraint has been met simply add the slack to the requested OFFSET. In this case it is 5.584ns. This OFFSET constraint failed. Solution 4: For OFFSET OUT AFTER. Example constraints: NET "MYCLK/bufg_sig" PERIOD = 18 nS NET "OUTPUT_NET" OFFSET = OUT 8 nS AFTER "MYCLK" Here is a sample timing report: Timing constraint: COMP "OUTPUT_NET" OFFSET = OUT 8 nS AFTER COMP "MYCLK" ; 1 item analyzed, 1 timing error detected. Minimum allowable offset is 12.416ns. ------------------------------------------------- ------------ Slack: -4.416ns path MYCLK to OUTPUT_NET relative to 5.234ns delay MYCLK to $Net00005_ and 7.182ns delay $Net00005_ to OUTPUT_NET and 8.000ns offset MYCLK to OUTPUT_NET From the report we see that the Minimum allowable OFFSET is 12.416ns. This value is calculated in the following way. OFFSET - clk2out - clknet = slack. 8.000ns - 7.182ns - 5.234ns = -4.416ns. This is the time left over (slack). In other words I need another 4.416ns to meet the specified OFFSET. To determine if the constraint has been met simply subtract the slack to the requested OFFSET. In this case it is 12.416ns. This OFFSET constraint failed. Solution 5: Information: The net delays for the clock signal and the data signal are calculated for maximum value (worst case). End of Record #5489 - Last Modified: 09/27/99 15:36 |
| For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips! |