How Many Squares (dies) Fit in a Circle (wafer)?
Fab Revenue Simulation and Optimization
Feb. 8, 2005 revised Dec. 25, 2008, Jan. 4, 2009, Jan. 20, 2009, and July 14, 2012 to download workbook
The workbook http://home.comcast.net/~pstlarry/FFRevenu.xls contains three spreadsheets and a VBA (Visual Basic) userdefined function. [Download the workbook by rightclicking your mouse and either “Open or “Save Target As...” to you computer. Left clicking on the link no longer works.] One spreadsheet and a VBA function count the exact number of squares that fit in a circle or dies per wafer (DPW). Figure 1 shows the wafermap pattern used in the spreadsheet; other patterns are available, including wafers with flats. The other two spreadsheets simulate fab revenue as a function of DPW and other factors. Although IC mask makers could count the dies on a wafer, people who do fab scheduling, reliability and service analysis, and revenue estimation, simulation, and optimization need DPW counters for planning and layout.
The DPW problem of packing squares in a circle does not appear to have a mathematical solution except for small counts approximately 300 or so. There can be as many as 50,000 LEDs on a 300 mm wafer. So I programmed a squaresinacircle counter, constrained by straight cuts for DPW. I also wrote VBA DPW counter functions for rectangular dies, diecenteredinwafer pattern, alternative offsets from diecentered to four die corners in wafer center, and for wafers with one or two flats. For large numbers of dies per wafer, it appears that the pattern with four die corners in the wafer center yields more dies than the diecenteredinwafer pattern. Some offsets yield more DPW than either symmetrical pattern layout. Furthermore, it is possible to pack more dies on wafers, if the straightcut restriction is relieved slightly. Add four more rows, one on each side of the pattern, and slice them off first.
The “CircleSq” spreadsheet lists available mathematical solutions to the squareincircle packing problem, up to 300 squares in a circle. Some mathematically correct solutions are not feasible for die cutting, because their boundaries are staggered. Table 3 of the CircleSq spreadsheet uses a VBA function to determine the exact number of squares that fit in a circle. The VBA function works on the assumption that the circle is centered on (0,0), and four squares have corners there too as do the rectangles in figure 1. Figure 1 shows that eight rectangles fit in the circle.
Figure
1. How many rectangles fit in a circle, with (0,0) as origin with four die
corners in the center of the wafer?
The CircleSq spreadsheet includes traditional approximation formula,
DPW = Wafer area/die area – Wafer circumference/die diagonal length,
which is biased, usually low. You can see the bias in table 1, from table 3 of the CircleSq spreadsheet. It is for a 300 mm wafer. There are no exact mathematical solutions for more than ~300 dies, and the solution listed for a 15 mm square is not feasible for straight cut dies. There is another approximation in terms of wafer diameter d and die area S, [Wikipedia]
DPW = d*p*[d/(4S)1/Ö(2S)].
Fortunately, you don’t need the approximation.
Table
1. Square dies per 300 mm wafer as a function of side dimension, mm
Side, mm 
Exact 
Approx. 
Exact VBA 
1 

70019 
70064 
2 

17338 
17348 
3 

7631 
7628 
4 

4251 
4272 
5 

2694 
2692 
6 

1852 
1844 
7 

1347 
1364 
8 

1021 
1028 
9 

798 
812 
10 

640 
640 
11 

523 
540 
12 

435 
440 
13 

366 
376 
14 

313 
316 
15 
276 
269 
268 
Since the original was posted on the Internet, people have asked for alternative patterns:
· Rectangular dies [Hackerott]
· Die centered pattern in wafer center instead of four die corners in the wafer center (figure 2)
· Shifts (offsets) of the center die
· Flats, one or two on the wafer
Contact pstlarry@yahoo.com if you would like these solutions.
Figure
2. How many rectangles fit in a circle, with (0,0) as origin with die in the
center of the wafer?
The other two spreadsheets simulate fab revenue as a function of future values of:
· Product (die) price, P()
· Discount factor, a, for future revenue
· Cycle time, CT(), the time from wafer start to product (die) shipment
· Wafer starts, W(), the schedule
· Yield, Y(), which includes the number of dies per wafer as well as the percentage of good dies
The same product produced on different machines is modeled as a different product. Fab revenue is
SS [P(t;j)*Exp(–a*(t+CT(t;j))*W(t;j)*Y(t;j)]
where t = 1,2,… denotes future production intervals, and j = 1,2,… denotes products (dies) [Leachman et al.].
The “Revenue” spreadsheet computes revenue for specified values of the variables. Change the values of the variables to suit. The spreadsheet also includes a simple optimization by linear programming using Solver. Additional constraints should be added to handle buffer capacity and so on.
The “Random Yield Revenue” spreadsheet simulates revenue for random yield, assumed normally distributed. Other distributions can and probably should be used. If you want alternative distributions, contact pstlarry@yahoo.com. Yield is assumed constant as a function of time, but that’s easily changed.
This is a prototype of fab scheduling intended to facilitate incorporation of reliability and service operations as well as alternatives for production opportunities. It could be run as an integer program, if you have the Premium Solver. If you would like additions, please let me know.
Leachman, Robert, Vincent Lin, and Paolo Palezzatto, “Scheduling Dedicated Lithography Equipment,” Sept. 2002, http://www.ima.umn.edu/talks/workshops/92327.2002/leachman/leachman2.ppt
Hackerott, Michael, “Die Per Wafer Calculator 1.00,” 2004, http://mrhackerott.org/semiconductorinformatics/informatics/toolz/DPWCalculator/Input.html
Wikipedia, “Wafer (electronics),” http://en.wikipedia.org/wiki/Wafer_(semiconductor)