Power planning
Power planning is done to provide uniform supply voltage and ground to all cells in the design, for it work in the design. They are given via different layers above the diffusion and the well areas. Different layers are connected through vias that make seemless power supply to all cells from highest to the lowest.
- Core Power management
- VDD and VSS rings are formed around the core and macros.
- Power straps are created in the core area to tap power from core rings.
- Standard cell rails are created to tap power from power straps to std cell power/ground pins.
- I/O Power Management
- IO rings for power are established through IO cell abuttment and through IO filler cells.
Power planning pre-requisite:
- Make sure all the I/O ports are placed and fixed
- Make sure all the macros are placed and fixed.
- Make sure all power pins are connected to PG nets logically.
Apply Global Net connection :
- Connecting the cell PG terms to PG nets.
4 basic elements :
- Pads
- Rings
- Straps
- Rails
IR drop and EM Analysis:
- Drop happens in supply voltage when traverses through the power network.
- Depends on :
- Power requirement of the design
- Power network structure.
EM
- Electro Migration(EM) checks on power network depends on :
- Design current requirement
- Width of power meshes
IR Drop Causes :
- Lesser number of PG Stripes
- Lesser width of core ring width
- Lesser width of PG Stripes
- Not choosing the right metal layers
- missing power-vias
- not having multi-cut vias
Placement
Placement is an important stage in the PnR process. The placement of instances should be such that it should be near to the border. So it covers least distance hence timing is fast. If the instance is placed away from the input the time taken to reach the flip-flop is more that is, the transition time of the rising edge of a positive edge triggered flip flop increases hence it becomes weaker.
What is placement ?
- Giving a legal location to all standard cells in design.
- Which means the timing and congestion are met
- Automatic placement of large number of standard cells, meets timing requirement, given timing constraint, tool will find optimized placement.
- Macros are placed manually if they are in less number, automatic placement will not give uniform core area.
- Exact placement of the modules to meet PPR - timing, routability and power
- Steps of placement:
- Logic Connectivity
- Trial Route Connectivity - time checking
- Timing optimization based on trial- route
- Legalization and placement freezing
Pre -Place
- It is a process of placing cells before asking the tool to place all the standard cells.
- There are certain standard cells which needs to placed across the core - area to meet the foundary requirements.
- Sometimes, we place few standard cells to control the placement.
Types of pre -placed cells these are also called physical cells because only poly is present :
- End- cap cells - end capacitance charge and discharge the input and output
- Tap- cells - Continuity of n-well and prevent latch - up problems and provide continuous power to the floating standard cells n-well
- I/O buffers - transition time and signal integrity maintain due to placed at I/O ports
- Spare-cells - extra cells placed but not connected for future requirement
- others
- Filler cells -to fill rest to the area and provide continuity- they are dummy poly
- Decap cells- provide continuous supply to the cell if there is load fluctuation
- Tie cells - avoids antenna effect and protects gate, preventing cell damage
- Tie high cells
- Tie low cells
Placement Methods :
- Timing driven
- Congestion driven
- Power driven
- Area driven
The rise time and fall time is not fast because of parasitics in the interconnect which is refered to resistors and capacitors. If cells are placed far from inputs and clocks these parameters are affected :
- Leakage power
- Internal power
- Dynamic power
Adding buffers at each stage improves the signal transition. For a 40nm technology, minimum width of the wire is 0.1 Um and length is 40 Um. Thus, the W/L varies accordingly, and hence affects the I(source to drain) current. The transition time due to interconnect capacitance increases to 600ps.
Signal Degradation can be explained by,
Q=CxV;
I=dQ/dt;
dQ/dt = C x dV/dt;
dV/dt = transition time;
I = C x dV/dt;
dV/dt = I/C;
where C is the output capacitance or interconnect capacitance.
Characteristics of a buffer :
- improves signal quality - As the drive strength of the buffer increases, implies width increases, hence current increases which flows through the buffer, hence driving capability increases
- Affects timing
- Affects signal quality
- Through buffer more current flows which allows capacitor to discharge/charge fast
- reduce the load capacitor/interconnect capacitor
- Power consumption increases as the number of buffer increases
- Area increases
In PnR process, number of cells increases due to buffer and inverter pair placement as a result number of gate count increases.
We place buffer / inverter pair to reduce the skew,
Skew = Earliest time of clock reaching a load/instance(C1) - Latest time taken by positive edge of clock to reach a different load/instance(Cn);
where Cn > C1;
Therefore, preplacement is done so the load provided to all outputs should be same.
Scan Chain reordering is a method used to find the data travelling path from start register to the end register.
Reordering routing congestion is done to select the shortest path from start instance to end instance, rather than the turn around path travelling some/all intermediate instances, to reduce congestion and timing.
Adding cell -padding abutted on both sides of the macros to provide spaces which eliminates possibility of overlapping and joining.
Judging placement quality :
- Unplaced cells - should be 0
- Cells overlap - should be 0
- Utilization
- Timing
- Congestion
- Number of instances after optimization
- total area after optimization
Congestion :
Congestion = Required routing tracks/Available routing tracks;
- Pins inside GRC decide required tracks
- technology decides available tracks
- If GRC with ratio > 1 then design is congested
Looking at congestion maps we can fix it :
- add placement blockages
- partial placement blockage to reduce local cell density
- reordering scan chain to reduce congestion
- placement with congestion - driven and area_recovery options
- continue the iterations untill good congestion results
- add cell- padding to the cells which is causing the congestion.