Impact of Reset on Area

Guest
Hi every one,

I need a clarifiaction on using the special pins to make the impact on
are optimization.

My questions is that when using reset and set pins in a design will
impact on area utilization ? I kew tht the fisrt impact on area has to
do with the insistence on defining a global set/reset conditions for
every flip-flop.

and also improper reset srategy can create an unnecesearily large
design and inhibit certain area optimizations.

plzzzz...be provide any good example how the impact of this practice
will.

regards,
Moog,Inc
 
The first effect on area has to do with the insistence on defining a
global
set/reset condition for every flip-flop. It can often lead to a larger
and slower design.
Bringing a reset into every synchronous element can cause the
synthesis and mapping tools to push the logic into a coarser
implementation.
An improper reset strategy can create an unnecessarily large design.
The most important effects of reset/set on area can be categorized as
follow:
1- Resources Without Reset
2- Resources Without Set
3- Asynchronous Reset(due to its high fanout can, utilizing extra
logic for asynchronous implementation, ....)
4-Resetting RAMs

for example consider a simple shift register:
-- With reset
if rising_edge(iClk) then
if iReset = '1' then
sShiftReg <= (others '0');
else
sShiftReg <= (sShiftReg(14 downto 0) & iData);
end if;
end if;

-- Without Reset
if rising_edge(iClk) then
sShiftReg <= (sShiftReg(14 downto 0) & iData);
end if;
The key here is that if we wish to take advantage of built-in shift-
register resources available in
the FPGA, we will need to code it such that there is a direct mapping.
If we were
targeting a Xilinx device, the synthesis tool would recognize that the
shift-register
SRL16 could be used to implement the shift register. Note that no
resets are defined for the SRL16.
If we use reset in our design, then the SRL16 unit could not be used
as there are no reset control pin.
Resource utilization for the above codes :

Implementation Num.Slices Num.Flip-flops
Resets defined 9 16
No resets defined 1 1
The difference is drastic as you see!!
 

Welcome to EDABoard.com

Sponsor

Back
Top