Global Resources in Actel Low-Power Flash Devices
3- 14
v1.1
The following will happen during demotion of a global signal to regular nets:
CLKBUF_x becomes INBUF_x; CLKINT is removed from the netlist.
The essential global macro, such as the output of the Clock Conditioning Circuit, cannot be
demoted.
No automatic buffering will happen.
Since no automatic buffering happens when a signal is demoted, this net may have a high delay
due to large fanout. This may have a negative effect on the quality of the results. Actel
recommends that the automatic global demotion only be used on small-fanout nets. Use clock
networks for high-fanout nets to improve timing and routability.
Spine Assignment
The low-power flash device architecture allows the global networks to be segmented and used as
clock spines. These spines, also called local clocks, enable the use of PDC or MVN to assign a signal
to a spine.
PDC syntax to promote a net to a spine/local clock:
assign_local_clock –net netname –type [quadrant|chip] Tn|Bn|Tn:Bm
If the net is driven by a clock macro, Designer automatically demotes the clock net to a regular net
before it is assigned to a spine. Nets driven by a PLL or CLKDLY macro cannot be assigned to a local
clock.
When assigning a signal to a spine or quadrant global network using PDC (pre-compile), the
Designer software will legalize the shared instances. The number of shared instances to be
legalized can be controlled by compile options. If these networks are created in MVN (only
quadrant globals can be created), no legalization is done (as it is post-compile). Designer does not
do legalization between non-clock nets.
As an example, consider two nets, net_clk and net_reset, driving the same flip-flop. The following
PDC constraints are used:
assign_local_clock –net net_clk –type chip T3
assign_local_clock –net net_reset –type chip T1:T2
During Compile, Designer adds a buffer in the reset net and places it in the T1 or T2 region, and
Figure 3-9 Adding a Buffer for Shared Instances
D
CLK
CLR
net_clk
net_reset
T1
T2
T3
D
CLK
CLR
net_clk
net_reset
assign_local_clock -net net_clk -type chip T3
assign_local_clock -net net_reset -type chip T1:T2
Before Compile
After Compile
Added
buffer