Physical Design
To learn physical design tips and concepts.
Saturday, February 20, 2016
Tuesday, February 2, 2016
power routing basics
Power routing basics :
- How to calculate number of core power/ground pads required?
Lets assume 1Watt power is consumed by chip and 1V is ss corner
voltage
Power = Voltage*Current
P=V*I
I = P/V
=1/1
= 1 ampere = 1000 milli
ampere
Assume each pad can drive maximum of 100mA current.
No.of power pads required (p) = 1000/100=10 pads
No.of ground pads required (g) = p = 10 pads
Ideally 10 ground pads and 10
power pads are sufficient. In most of the cases the power distribution
may not be uniform meaning the pads which are placed in the centre of chip are
more effective as the sinks at centre might have less resistive paths. So we
need to add more pads lets say 30% more pads.
So, no.of power/ground pads = (1+0.3)*10=13
- How to calculate the core PG ring width? Given Jmax (maximum current density of metal layer = 50mA/um)
- Core PG ring width = (Total current)/(No.of sides *Jmax)
= 1000/(4*50)=5 u
- How to calculate pad to core trunk width?
- Pad to core trunk width = total current/(no.of sides * Jmax)
=
1000/(4*50)=5 u
- How to calculate strap width and no.of straps for a block? Given width of block is W and height of block as H. Total power of block as P
- Let I = P/V
- Total current from top and bottom = (I * W)/(W+H)
- Let current is equally be supplied from top and bottom.
- Itop = Ibottom = (I * W)/(W+H)
- Similarly Ileft = Iright = (I * H)/(W+H)
- With 1% voltage drop at a node in the center
- Reffective (from Vertical) = (0.01*(VDD/2))/Itop
- Reffective (from Horizontal) = (0.01*(VDD/2))/Ileft
- Width of Straps based on EM limits :
- Total width of Vertical strap (Wvstrap-em) = Itop /Jmax
- Total width of horizontal strap (Whstrap-em) = Ileft /Jmax
- Now assume initial width of strap to be 5X of min-width
- Wvstrap = 5*0.07=0.35 (0.07 is the min width for metal6)
- Rstripe-v = (Rpsq * H)/Wvstrap
- Note : Rpsq = Rho/thickness
- No.of vertical straps = Nvstraps = Rstripe-v / Reffective
- Now check the total width of vertical straps = Nvstraps * Wvstrap is greater than or equal to Wvstrap-em else increase the Wvstrap accordingly.
Tuesday, December 15, 2015
TCL example scripts
In this post, I will upload sample scripts to refer : (Under cons)
EXAMPLE : 1
For the engineers who are familiar with static timing analysis, as a programmer I want to calculate arrival time, required time, slack at each node using the given circuit. The example script will be able to demonstrate some of the tcl functions. The following circuit 10 nodes excluding (Out node), delay of each node is represented in the brackets. The objective of this program is to write a TCL script to analyse the slack at each and every node using graph based slack analysis.
Brief introduction about the graph based STA :
We need to break the entire program into three sections :
1. Arrival time calculation (AT)
2. Required time calculation (RT)
3. Slack calculation.
First we need to calculate AT at each node, Let's do hand calculation of arrival time at few nodes. Arrival time at node 'A' is 10 as delay of node 'A' is 10 and then it passes through node 'D' whose delay is '8', so the arrival time at node 'D' is 18 adding the delay of traversed path. But we can reach D by traversing IN->B->D accounting the delay of 13 (5+8), so we need to choose bigger one of the two arrival times (18,13) and assign that arrival time to node 'D' in this case it is '18'. We need to repeat the same for all the nodes.
In the second section we need to calculate the required time starting from out node 'O'. In general we might be given required time by the clock specification. But in this case we take RT as the max of all the arrival times.
Sunday, December 13, 2015
physical design
Please visit this blog to learn/discuss all about physical design tips, techniques, fundamentals.
Monday, December 7, 2015
regex
Regex,regsub :
A
regular expression is simply a description of a pattern that describes a set of possible characters in an input string.
Example :
strings
Strings
- A string is a sequence of letters, it always need not be enclosed in the quotes until you use some white spaces in between the words. Tcl is a string based language it provides rich set of operations on strings.
Examples :
set str1 one
set str2 "two three"
set str3 I\ need\ not\ enclose\ this\ in\ quotes
- Following operations can be executed on strings:
- string compare
- string equal
- string length
- string match #global expression
- string toupper
- string tolower
- string totitle #it will convert the starting letter of string to uppercase
- string index
- string range
- string reverse
Example :
lists
- Lists
- Lists are equivalent to arrays in the conventional programming language like C.
- Lists can be expanded and collapsed on the fly.
- Example 1
: - set list1 "a b c d"
Subscribe to:
Posts (Atom)