- on specific net
- on timing group consisting of different pads. This is the method I would recommended.
- globally. All IOs not covered by other more specific OFFSET constraints will be included in the global OFFSET constraint.
UCF Constraints
NET "clk_i" TNM_NET = TN_clk_i;
TIMESPEC TS_clk_i = PERIOD "TN_clk_i" 20 ns HIGH 50%;
#global offset in
OFFSET = IN 10 ns BEFORE clk_i;
#offset in on time group
NET a_i[*] TNM = TN_a_i_pads;
NET a_vld_i TNM = TN_a_i_pads;
TIMEGRP TN_a_i_pads OFFSET = IN 8 ns BEFORE clk_i;
#add P/N of differential pairs to the same timing group
NET d_i_p TNM = TN_d_pads;
NET d_i_n TNM = TN_d_pads;
TIMEGRP TN_d_pads OFFSET = IN 10 ns BEFORE clk_i;
#offset in on specific net
NET "b_i[*]" OFFSET = IN 6 ns BEFORE clk_i;
NET d_i_p TNM = TN_d_pads;
NET d_i_n TNM = TN_d_pads;
TIMEGRP TN_d_pads OFFSET = IN 10 ns BEFORE clk_i;
#offset in on specific net
NET "b_i[*]" OFFSET = IN 6 ns BEFORE clk_i;
Timing Result
Below is the timing result after the implementation is done.
- Each net in the b_i bus is reported separately with 6 ns OFFSET IN requirement.
- All nets in TN_a_i_pads group are reported under the OFFSET IN constraint on the timing group.
- The c_i bus is not covered by any OFFSET IN constraints on specific net or timing group, so it's reported under the global OFFSET IN constraint.
- The differential pair d_i_p and d_i_n are reported under the same timing group.
No comments:
Post a Comment