You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# From the following observations, all else follows: the only thing
7
7
# that can fail timing closure, is a register to register path. All
8
8
# other constraints give the flow an optimization target. Failure
9
9
# to meet the timing constraint of an optimization target constraint
10
10
# is not a timing closure failure.
11
-
#
11
+
#
12
12
# Note that ORFS regression checks do not have the ability to distinguish
13
13
# between timing closure failures(register to register paths) and
14
14
# optimization constraints violations.
@@ -17,26 +17,26 @@
17
17
# in mock-array Element, such as maximum transit time for a combinational path
18
18
# through mock-array Element, may or may not cause timing
19
19
# violations later on higher up in mock-array on register to register paths.
20
-
#
20
+
#
21
21
# For the Element, the only register to register path
22
22
# are within the Element and no lower level macros are
23
23
# involved. Register to register paths within Element have to be checked
24
24
# at the Element level as they are invisible higher up in mock-array.
25
-
#
25
+
#
26
26
# As for the remaining optimization constraints for Element, they
27
27
# should be for combinational through paths(io-io) and
28
28
# from input pins to register(io-reg) and from register to output pins(reg-io):
29
-
#
29
+
#
30
30
# This constraints.sdc file is designed such that the clock latency & tree
31
31
# can be ignored as far constraints go;
32
32
# it is not part of the optimization constraints. The clock tree latency
33
33
# is accounted for in register to register paths and not visible outside
34
34
# of the macro that use this constraints.sdc.
35
-
#
35
+
#
36
36
# All non reg-reg paths in Element are part of reg-reg paths in mock-array
37
37
# and timing closure in which those take part are checked at the mock-array
38
38
# level.
39
-
#
39
+
#
40
40
# With this in mind, the constraints.sdc file for the Element becomes
41
41
# quite general and simple. set_max_delay is used exclusively for
42
42
# optimization constraints and the clock period is used to check timing
@@ -51,13 +51,13 @@
51
51
# the time at the clock pin for the macro, which makes it impossible to articulate
52
52
# the number that is passed in to set_input/output_delay without taking
53
53
# clock network insertion latency into account.
54
-
#
54
+
#
55
55
# Since set_input_delay is not used and set_max_delay is used instead, then
56
56
# no hold cells are inserted, which is what is desired here.
57
57
#
58
58
# Details such as clock uncertainty, max transition time, load, etc.
59
59
# is beyond the scope of this generic constraints.sdc file.
60
-
#
60
+
#
61
61
# Beware of [path segmentation](https://docs.xilinx.com/r/2020.2-English/ug906-vivado-design-analysis/TIMING-13-Timing-Paths-Ignored-Due-to-Path-Segmentation), which
62
62
# can occur with OpenSTA.
63
63
@@ -76,9 +76,12 @@ set non_clk_inputs [all_inputs -no_clocks]
76
76
#
77
77
# Minimum time for io-io, io-reg, reg-io paths in macro is on
0 commit comments