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 contains three spreadsheets and a VBA (Visual Basic) user-defined function. [Download the workbook by right-clicking 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 squares-in-a-circle counter, constrained by straight cuts for DPW. I also wrote VBA DPW counter functions for rectangular dies, die-centered-in-wafer pattern, alternative offsets from die-centered 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 die-centered-in-wafer pattern. Some offsets yield more DPW than either symmetrical pattern layout. Furthermore, it is possible to pack more dies on wafers, if the straight-cut 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 square-in-circle 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?

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 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.

#### References

Leachman, Robert, Vincent Lin, and Paolo Palezzatto, “Scheduling Dedicated Lithography Equipment,” Sept. 2002, http://www.ima.umn.edu/talks/workshops/9-23-27.2002/leachman/leachman2.ppt

Hackerott, Michael, “Die Per Wafer Calculator 1.00,” 2004, http://mrhackerott.org/semiconductor-informatics/informatics/toolz/DPWCalculator/Input.html

Wikipedia, “Wafer (electronics),”