IP Library Granted Patent US 8,478,808
Granted Patent B1
US 8,478,808 · App. 11/875,650 · Granted Jul 2, 2013

Approximate calculation of 2D matrix entries via GPU

Inventor: Ilhami H. Torunoglu (Monte Sereno, CA)
Assignee: Gauda, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,478,808
App. No.
11/875,650
Granted
Jul 2, 2013
Kind
B1
Abstract

Minimizing memory access by converting a given matrix computation into a set of low-order polynomials. The low-order polynomials can be used by dividing the domain of the polynomials into smaller subregions. If the domain is divided into equal intervals, the low-order polynomial can be used to approximate results from the matrix computation. The set of polynomials is processed using parallel computational hardware such as graphical processing units.

Claims (39)

1. A system comprising:

a computing system comprising at least one central processing unit and at least one graphics processing unit;

a user interface for interacting with the computer system;

a computer readable medium comprising data describing size and placement of features to be formed on a photolithography exposure mask used to manufacture semiconductor devices; and

a computer readable medium comprising optical proximity correction calculation procedures for acting upon the data, wherein at least a portion of the optical proximity correction calculation procedures are executed using the graphics processing unit, and the optical proximity correction calculation procedures comprise:

causing conversion of a matrix of into a set of polynomials; and

causing processing the set of polynomials in parallel using the graphics processing unit.

2. The system of claim 1 further comprising:

output devices for displaying the results of applying the optical proximity correction calculation procedures executed using the graphics processing unit upon the data,

wherein X and Y coordinates for two opposite corners of a two-dimensional trapezoidal shape of the data is represented in a RGBA (RED-GREEN-BLUE-ALPHA) color space format in the graphics processing unit.

3. The system of claim 1 wherein the graphics processing unit comprises a vertex processor unit.

4. The system of claim 1 wherein the graphics processing unit comprises a fragment processor unit.

5. The system of claim 1 wherein the graphics processing unit comprises a stencil buffer.

6. The system of claim 1 wherein the graphics processing unit comprises a video processor unit.

7. The system of claim 1 wherein in intensity calculation procedures, area search procedures, and placement error calculation procedures of an optical proximity correction calculation procedure are executed using a fragment processor unit of the graphics processing unit.

8. The system of claim 1 wherein in intensity calculation procedures, area search procedures, and optimization cost function calculations including edge placement error calculation procedures of an optical proximity correction procedure are executed using a fragment processor unit of the graphics processing unit.

9. The system of claim 1 wherein area search procedures of an optical proximity correction calculation procedure are executed using a stencil buffer of the graphics processing unit.

10. The system of claim 1 wherein placement error procedures of an optical proximity correction calculation procedure are executed using a video processor of the graphics processing unit.

11. A method comprising:

providing a target mask, wherein the target mask is nonpixelated, quantized tone, and in a spatial domain;

performing a frequency domain transformation on the target mask to obtain a first mask, wherein the first mask is nonpixelated, continuous tone, and in a frequency domain;

using an electronic processor, computing a first cost function for a first mask to obtain a first value;

altering the first mask in a frequency domain to obtain a second mask, wherein the second mask is nonpixelated, continuous tone, and in the frequency domain, wherein the altering comprises:

converting a matrix into a set of polynomials; and

processing the set of polynomials using parallel computational hardware;

computing the first cost function for the second mask to obtain a second value; and

repeating the altering the first mask and the computing the first cost function for the second mask until the second value is less than the first value.

12. The method of claim 11 further comprising:

partitioning a layout mask into a plurality of regions, each region comprising geometric shapes.

13. The method of claim 11 wherein the parallel computational hardware comprises a graphics processing unit (GPU) of the computer.

14. The method of claim 11 further comprising:

performing an inverse transformation to obtain a mask.

15. The method of claim 11 comprising:

generating subresolution assist features to obtain a mask.

16. The method of claim 12 wherein the layout mask is in a spatial space.

17. The method of claim 11 wherein the transformation uses a Fourier basis.

18. The method of claim 11 wherein the transformation uses a wavelet basis.

19. The method of claim 11 wherein the frequency domain transformation comprises frequencies up to a multiple of a cutoff frequency.

20. The method of claim 11 wherein the parallel computational hardware comprises a fragment processor unit.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NO. 8490883 PREVIOUSLY RECORDED AT REEL: 032926 FRAME: 0483. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 8, 2014
From: GAUDA INC.
To: D2S, INC
Reel/Frame 033697/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2014
From: GAUDA INC.
To: D2S, INC
Reel/Frame 032926/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2008
From: TORUNOGLU, ILHAMI H.
To: GAUDA, INC.
Reel/Frame 020771/0113 →
Continuity (1)
Provisional Application 60862362 · Oct 20, 2006