Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

VT Split Estimator

Beta version
Module Design
o Platform- Python 2.7
o Input Requirements- [ (sigma, temperature, voltage), …] and
corresponding [ (base, target), …] frequency as
old process new process
(Delay Ratio = Base/Target)
- Initial Split and any restrictions on final split stored as dict.
eg. Min 5% SVT and 2% HVT
-The delay values are taken from the PLUT and stored as
delayOld, delayNew as dictionaries.
Eg delayOld[ vt ][ j ] contains the delay for VT type vt at point j.
o Output- Final Split and few log files to cross check the procedure.
Example

Let’s take an example to understand. Consider the situation:


20SOC 16FF_PLUS

Sigma Volt Temperature Delay Ratio


0 0.55 105 1.1
0 0.60 105 1
0 0.65 105 0.9
The approach is to treat each operating point as an independent problem
Step 1: Sorting the delay values
• We need to decide which VTold will be swapped to which
VTnew. This is decided by the delay values.
Coming back to the example:-
20SOC(200mV) LVT SVT PO4SVT HVT PO2HVT
Delays 25 27 30 33 37

16FF_PLUS LVT SVT PO2SVT HVT PO4HVT


Delays 26 28 29 31 34

SORTED
Step 2: Getting Scaled Delay
20SOC(200mV) LVT25 SVT27 PO4SVT30 HVT33 PO2HVT37

Multiply Delays by
1.1 to get
Scaled Delay

16FF_PLUS LVT SVT PO2SVT HVT PO4HVT


26 28 29 31 34

Delay Ratio = 1.1


Step 3: Mapping of VT types
20SOC(200mV) LVT27.5 SVT29.7 PO4SVT33 HVT36.3 PO2HVT40.7

25% 75% 65% 35% 33.3% 66.7% 100%

16FF_PLUS LVT SVT PO2SVT HVT PO4HVT


26 28 29 31 34
LVT27.5 LVT26 + SVT28
Delay Ratio = 1.1 1  x 1-x
27.5 = x*26 + (1-x)*28

x = 0.25
Step 3: contd

LVT23 SVT25 PO4SVT28 HVT31 PO2HVT35


50% 50% 50% 50% 50% 50% 100%

Delay ratio
LVT24 SVT26 PO2SVT27 HVT29 PO4HVT32 1
Step 3: contd

LVT22.5 PO4SVT27 HVT29.7 PO2HVT33.3


SVT24.3 50% 50% 15% 85% 23.3% 76.7%

Delay ratio
LVT26 SVT28 PO2SVT29 HVT31 PO4HVT34 0.9
Step 4: Storing all the swap percentages
LVT SVT PO4SVT HVT PO2HVT
LVT 25 0 0 0 0
SVT 75 0 0 0 0
Delay Ratio
PO2SVT 0 65 0 0 0
1.1
HVT 0 35 33.3 0 0
PO4HVT 0 0 66.7 100 100

LVT X 50 0 0 0
SVT X 50 0 0 0
PO2SVT X 0 50 0 0
Delay Ratio
HVT X 0 50 50 0
1
PO4HVT X 0 0 50 100

LVT X X 50 0 0
SVT X X 50 0 0
PO2SVT X X 0 15 0
Delay Ratio
HVT X X 0 85 0
0.9
PO4HVT X X 0 0 100

Swap[baseVT][ j ][targetVT] = swap%


The points with worst slack are taken to get the final swap%.
Initial 20SOC Step 5: Getting final split
Split
final_swap[baseVT][targetVT]
LVT No swap
possible final_splitRestricted[baseVT][targetVT]
final_split[baseVT][targetVT]

SVT No swap 16FF_PLUS Final Split Final Split with restriction


possible

50% LVT 0.3*0.5 = 15% 15%

0.3 PO4SVT 15%


50%
SVT 0.3*0.5 = 15%

5%
0.3 HVT PO4SVT 0.3*0.15 = 4.5% 0.5%
15%
85%
34.32%
HVT 0.3*0.85 + 0.4*0.233 = 34.82%
0.4 PO2HVT 23.3%

76.7% PO2HVT 0.4*0.767 = 30.68% 30.68%

You might also like