User Manual
set extra pipeline Chapter 5. Tcl Command Reference
To add additional delays on any pin in <pinlist>, a leading delay value can be added in the <pinlist>, like
so:
1 <p i n l i s t > : = ’ { ’ pin1 2 , pin2 3 , pin3 ’ } ’
The above directive requires the run gate balance command to insert 1 buffer delay for pin1, 2 delays
for pin2, and 3 delays for pin3. Buffer sharing is on by default. In the above example, only 3 buffers will be
inserted.
Note It is important for the user that after opening curly braces ’’ there will be a space and
before closing curly braces ’’ there will be also a space. It is also important for the user that if user
wants to infer certain number of buffers (e.g. 2), then in this case after 2 there will be a comma ’,’ character
and the instance name:pin, there will not be any space between comma ’,’ and instance name:pin.
If no sharing is desired, a separate user directive ”set extra delay” will be required for each pin. Example:
1 s e t e x t r a d e l a y { pin1 }
2 s e t e x t r a d e l a y { 2 , pin2 }
3 s e t e x t r a d e l a y { 3 , pin3 }
In the example above, 6 buffers will be inserted.
This command can be added to the ”Physical Design Constraints” file of the project (e.g.
constraints.pdc).
Example Consider a net with the following pins:
1 l u t 1 : ina l u t 2 : in c l u t 3 : i n c l u t 4 : ind lu t 5 : inb lu t 6 : i n a l u t 7 : inb ot h e r t a r g e t 1 o t h e r t a r g e t 2
Suppose the following directives are provided by the user:
1 s e t e x t r a d e l a y { l u t 1 : ina l u t 2 : in c }
2 s e t e x t r a d e l a y { 2 , l u t 3 : i nc 2 , l u t 4 : ind }
3 s e t e x t r a d e l a y { l u t 5 : inb 2 , l u t 6 : i na 2 , l u t 7 : inb }
The above specifies that for the nets (in this example, all the pins have the same net) that drives the named
targets, a buffer tree should be created as follows:
1
2 −−−−− lu t 1 : ina
3 /
4 buf1−−−−−−−−−−−−−−−−−−+
5 / \
6 / −−−−− l u t 2 : in c
7 /
8 /
9 / −−−−− lu t 3 : i nc
10 / /
11 / −−−− buf2−−−−−−−− buf5 −−−−+
12 / / \
13 / / −−−−− l u t 4 : ind
14 / /
15 / /
16 / / −−−−−−−−−−−−−−−−−−−− l u t 5 : inb
17 | / /
18 | / /
19 d r iv e r−−+−−−−−−−−−−− buf3 −−+
20 | \ \ −−−−− l u t 6 : i na
21 | \ \ /
22 \ \ −−− buf4 −−−−+
23 \ \ \
24 \ \ −−−−− l u t 7 : inb
25 \ \
26 \ \
27 \ \
28 \ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−o t h e r t a r g e t 1
29 \
30 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− o t h e r t a r g e t 2
set extra pipeline
set extra pipeline clock [-xp <arg>] [-cdc <arg>]
Set extra pipelining amount for clock domain
363 http://www.achronix.com UG001 Rev. 5.0 - 5th December 2012