US20100218159A1 - Data Flow Branching in Mask Data Preparation - Google Patents

Data Flow Branching in Mask Data Preparation Download PDF

Info

Publication number
US20100218159A1
US20100218159A1 US12/622,402 US62240209A US2010218159A1 US 20100218159 A1 US20100218159 A1 US 20100218159A1 US 62240209 A US62240209 A US 62240209A US 2010218159 A1 US2010218159 A1 US 2010218159A1
Authority
US
United States
Prior art keywords
mask
output
computer
independent
implemented method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/622,402
Inventor
Emile Sahouria
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mentor Graphics Corp
Original Assignee
Mentor Graphics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mentor Graphics Corp filed Critical Mentor Graphics Corp
Priority to US12/622,402 priority Critical patent/US20100218159A1/en
Assigned to MENTOR GRAPHICS CORPORATION reassignment MENTOR GRAPHICS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAHOURIA, EMILE
Publication of US20100218159A1 publication Critical patent/US20100218159A1/en
Priority to US13/651,691 priority patent/US8635562B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F1/00Originals for photomechanical production of textured or patterned surfaces, e.g., masks, photo-masks, reticles; Mask blanks or pellicles therefor; Containers specially adapted therefor; Preparation thereof
    • G03F1/68Preparation processes not covered by groups G03F1/20 - G03F1/50

Definitions

  • the invention relates to the field of integrated circuit design and manufacturing. More particularly, various implementations of the invention are applicable facilitating the branching of data flows in mask data preparation processes.
  • Designing and fabricating microcircuit devices typically involves many steps, sometimes referred to as the “design flow.” The particular steps of a design flow often are dependent upon the type of microcircuit, its complexity, the design team, and the microcircuit fabricator or foundry that will manufacture the microcircuit. Typically, software and hardware “tools” verify the design at various stages of the design flow by running software simulators and/or hardware emulators. These steps aid in the discovery of errors in the design, and allow the designers and engineers to correct or otherwise improve the design. These various microcircuits are often referred to as integrated circuits (IC's).
  • IC's integrated circuits
  • a design may typically start at a high level of abstraction, by a designer creating a specification that describes particular desired functionality.
  • This specification typically implemented by a programming language, such as, for example the C or C++ programming language, describes at a high level the desired behavior of the device.
  • Designers will then often take this specification for the design and create a logical design, often implemented in a netlist, through a synthesis process.
  • the logical design is often referred to as a “register transfer level” (RTL) description or register transfer level design.
  • RTL register transfer level
  • a register transfer level design often implemented by a hardware description language (HDL) such as Verilog, SystemVerilog, or Very High speed hardware description language (VHDL), describes the operation of the device by defining the flow of signals or the transfer of data between various hardware components within the design. More particularly, a register transfer level design describes the interconnection and exchange of signals between hardware registers and the logical operations that are performed on those signals.
  • HDL hardware description language
  • VHDL Very High speed hardware description language
  • the register transfer level design is again transformed, this time into a gate level design.
  • Gate level designs describe the actual physical components such as transistors, capacitors, and resistors as well as the interconnections between these physical components.
  • gate level designs are also implemented by a netlist, such as, for example, a mapped netlist.
  • the gate-level design is taken and another transformation is carried out. First by place and route tools that arrange the components described by the gate-level netlist and route connections between the arranged components; and second, by layout tools that generate a layout description having layout “shapes” that may then used to fabricate the electronic device, through for example, an optical lithographic process.
  • Integrated circuit layout descriptions can be provided in many different formats.
  • the Graphic Data System II (GDSII) format is popular for transferring and archiving two-dimensional graphical IC layout data. Among other features, it contains a hierarchy of structures, each structure containing layout elements (e.g., polygons, paths or poly-lines, circles and textboxes).
  • Other formats include an open source format named Open Access, Milkyway by Synopsys, Inc., EDDM by Mentor Graphics, Inc., and the more recent Open Artwork System Interchange Standard (OASIS) proposed by Semiconductor Equipment and Materials International (SEMI). These various industry formats are used to define the geometrical information in integrated circuit layout designs that are employed to manufacture integrated circuits. Once the microcircuit device design is finalized, the layout portion of the design can be used by fabrication tools to manufacturer the device using a photolithographic process.
  • OASIS Open Artwork System Interchange Standard
  • a simple semiconductor device component could be manufactured by the following steps. First, a positive type epitaxial layer is grown on a silicon substrate through chemical vapor deposition. Next, a nitride layer is deposited over the epitaxial layer. Then specific areas of the nitride layer are exposed to radiation, and the exposed areas are etched away, leaving behind exposed areas on the epitaxial layer, (i.e., areas no longer covered by the nitride layer).
  • the exposed areas then are subjected to a diffusion or ion implantation process, causing dopants, for example phosphorus, to enter the exposed epitaxial layer and form charged wells.
  • This process of depositing layers of material on the substrate or subsequent material layers, and then exposing specific patterns to radiation, etching, and dopants or other diffusion materials, is repeated a number of times, allowing the different physical layers of the circuit to be manufactured.
  • the mask is created from circuit layout data. That is, the geometric elements described in layout design data define the relative locations or areas of the circuit device that will be exposed to radiation through the mask.
  • a mask or reticle writing tool is used to create the mask based upon the layout design data, after which the mask can be used in a photolithographic process.
  • the image embodied in the layout data is often referred to as the intended or target image or target contours, while the image created in the mask is generally referred to as the mask contours.
  • the image created on the substrate by employing the mask in a photolithographic process is often referred to as the printed image or printed contours.
  • OPC optical process correction
  • PSM phase shift masks
  • RET resolution enhancement techniques
  • PPM phase shift masks
  • RET resolution enhancement techniques
  • physical verification techniques that assist in accounting for issues such as planerization and antenna effects are also employed on physical layout designs.
  • the output stream from a first mask data processing operation is branched. Subsequently, the branched output stream may be connected to the input stream of a first independent mask data preparation operation and a second independent mask data preparation operation. This provides that the first and the second independent mask data preparation operations may operate in parallel. Furthermore, this provides that the first and the second independent mask data preparation operations may operate upon discrete “portions” of the data processed by the first mask data preparation operation.
  • FIG. 1 shows an illustrative computing environment
  • FIG. 2 illustrates a mask design
  • FIG. 3 illustrates a hierarchical layout design
  • FIG. 4 illustrates a method of branching data in an electronic design automation process
  • FIG. 5 illustrates a mask data preparation tool
  • a mathematical model may be employed to represent an electronic device.
  • a model describing the connectivity of the device such as for example a netlist.
  • the models, even mathematical models represent real world device designs and real world physical devices. Accordingly, manipulation of the model, even manipulation of the model when stored on a computer readable medium, results in a different device design. More particularly, manipulation of the model results in a transformation of the corresponding physical design and any physical device rendered or manufactured by the device design.
  • the response of a devices design to various signals or inputs is simulated. This simulated response corresponds to the actual physical response the device being modeled would have to these various signals or inputs.
  • Some of the methods described herein can be implemented by software stored on a computer readable storage medium, or executed on a computer. Accordingly, some of the disclosed methods may be implemented as part of a computer implemented electronic design automation (EDA) tool. The selected methods could be executed on a single computer or a computer networked with another computer or computers. For clarity, only those aspects of the software germane to these disclosed methods are described; product details well known in the art are omitted.
  • EDA electronic design automation
  • FIG. 1 shows an illustrative computing device 101 .
  • the computing device 101 includes a computing unit 103 having a processing unit 105 and a system memory 107 .
  • the processing unit 105 may be any type of programmable electronic device for executing software instructions, but will conventionally be a microprocessor.
  • the system memory 107 may include both a read-only memory (ROM) 109 and a random access memory (RAM) 111 .
  • ROM read-only memory
  • RAM random access memory
  • both the read-only memory (ROM) 109 and the random access memory (RAM) 111 may store software instructions for execution by the processing unit 105 .
  • the processing unit 105 and the system memory 107 are connected, either directly or indirectly, through a bus 113 or alternate communication structure, to one or more peripheral devices.
  • the processing unit 105 or the system memory 107 may be directly or indirectly connected to one or more additional devices, such as; a fixed memory storage device 115 , for example, a magnetic disk drive; a removable memory storage device 117 , for example, a removable solid state disk drive; an optical media device 119 , for example, a digital video disk drive; or a removable media device 121 , for example, a removable floppy drive.
  • the processing unit 105 and the system memory 107 also may be directly or indirectly connected to one or more input devices 123 and one or more output devices 125 .
  • the input devices 123 may include, for example, a keyboard, a pointing device (such as a mouse, touchpad, stylus, trackball, or joystick), a scanner, a camera, and a microphone.
  • the output devices 125 may include, for example, a monitor display, a printer and speakers.
  • one or more of the peripheral devices 115 - 125 may be internally housed with the computing unit 103 .
  • one or more of the peripheral devices 115 - 125 may be external to the housing for the computing unit 103 and connected to the bus 113 through, for example, a Universal Serial Bus (USB) connection.
  • USB Universal Serial Bus
  • the computing unit 103 may be directly or indirectly connected to one or more network interfaces 127 for communicating with other devices making up a network.
  • the network interface 127 translates data and control signals from the computing unit 103 into network messages according to one or more communication protocols, such as the transmission control protocol (TCP) and the Internet protocol (IP).
  • TCP transmission control protocol
  • IP Internet protocol
  • the interface 127 may employ any suitable connection agent (or combination of agents) for connecting to a network, including, for example, a wireless transceiver, a modem, or an Ethernet connection.
  • computing device 101 is shown here for illustrative purposes only, and it is not intended to be limiting.
  • Various embodiments of the invention may be implemented using one or more computers that include the components of the computing device 101 illustrated in FIG. 1 , which include only a subset of the components illustrated in FIG. 1 , or which include an alternate combination of components, including components that are not shown in FIG. 1 .
  • various embodiments of the invention may be implemented using a multi-processor computer, a plurality of single and/or multiprocessor computers arranged into a network, or some combination of both.
  • a photolithographic process in a photolithographic process, as explained above, electromagnetic radiation is transmitted through selectively transparent areas of a mask. The radiation passing through these transparent areas then irradiates desired portions of a photoresistive material on a layer of semiconductor substrate.
  • the mask in turn is created from layout design data describing the geometric features that should be manufactured on the semiconductor substrate, by way of the photolithographic process, in order to create the desired circuit. For example, if a transistor should have a rectangular gate region, then the layout design data will include a rectangle defining that gate region. This rectangle in the layout design data is then implemented in a mask for “printing” the rectangular gate region onto the substrate.
  • FIG. 2 illustrates a mask design 201 having shapes 203 defined therein.
  • radiation passes though transparent areas of a mask, such as for example the areas defined by the shapes 203 , causing the shapes formed by the transparent areas to be manufactured on a substrate.
  • optical effects such as diffractive effects, will prevent certain shapes or combinations of shapes defined by the mask from being faithfully imaged onto the substrate.
  • the shapes 205 as opposed to the shapes 203 may be realized on the substrate.
  • these distortions become more pronounced.
  • FIG. 3 illustrates a mask design 301 , having been partitioned into sections 303 . Furthermore, the sections 303 may be flattened into “cells,” meaning a hierarchy of like sections. Hierarchical layout processing techniques, including mask data preparation, are further discussed in U.S. patent application Ser. No. 10/404,907, entitled “Hierarchical Evaluation of Cells,” granted on Jul. 12, 2005 to Kobi Kresh et al., which patent is incorporated entirely herein by reference.
  • FIG. 4 illustrates a method 401 of data-flow branching in an electronic design automation process.
  • the method 401 includes an operation 403 for receiving an output (i.e. the first electronic design automation process output 405 ) from a first electronic design automation process.
  • the method 401 includes an operation 407 for directing the first electronic design automation process output 405 to a first independent electronic design automation process 409 and a second independent electronic design automation process 411 .
  • the first independent electronic design automation process 409 is a mask correction verification process
  • the second independent electronic design automation process 411 is a mask design fracturing process.
  • the first electronic design automation process is a mask data correction process.
  • the first electronic design automation process is a mask data correction process, which adjusts sections of the mask data based upon a rule deck, such as, for example an SVRF rule deck.
  • the first electronic design automation process is a mask data correction process, which partitions, and flattens the partitioned layout design prior to correction. This is often referred to as “section-mode” processing.
  • section-mode processing involves executing an embedded rule deck, such as, for example an SVRF rule deck, on geographical sections of a chip. These geographical sections, which are often rectangular, have the hierarchy that lies under the geographical sections flattened to the top level. These flattened sections often include a buffer region. During section-mode processing, boundary processing may be used to reject inappropriate results in the buffer region. After which, the geographical section is then passed to the “output channel” of first electronic design automation process, and received by the operation 403 . Accordingly, with some implementations, the first electronic design automation process output 405 is a geographical section of a mask design. In further implementations, the first electronic design automation process output 405 is a hierarchical geographic section of a mask design.
  • an embedded rule deck such as, for example an SVRF rule deck
  • FIG. 5 illustrates a mask data preparation tool 501 that may be implemented according to various examples of the invention.
  • the tool 501 includes a mask data correction unit 503 , a mask data verification unit 505 , a mask data fracturing unit 507 , and a data flow branching unit 509 .
  • the mask data correction unit 503 is configured to process and adjust mask data based upon a rule deck.
  • the mask data correction unit 503 may be configured to partition and flatten a mask design into hierarchical geographic sections prior to processing.
  • the mask data verification unit 505 is configured to verify that the corrected mask data (i.e.
  • the mask data fracturing unit 507 is configured to convert and format the corrected mask data into geometric shapes, such as for example trapezoids, suitable for the intended mask writer.
  • the mask data correction unit 503 , the mask data verification unit 505 and the mask data fracturing unit 507 are all individually connected to the data flow branching unit 509 via the buses 511 .
  • the buses 511 provide for the transfer of geographical sections, such as, for example via data pipelining methods, between the illustrated units. Furthermore, in various implementations, the buses 511 may provide for the signaling between units. For example, to inform the units 505 or 507 that outputs are available from the unit 503 .
  • various implementations of the invention provide for branching the data-flow in a mask data preparation process.
  • the output stream from a first mask data processing operation is branched. Subsequently, the branched output stream may be connected to the input stream of a first independent mask data preparation operation and a second independent mask data preparation operation. This provides that the first and the second independent mask data preparation operations may operate in parallel. Furthermore, this provides that the first and the second independent mask data preparation operations may operate upon discrete “portions” of the data processed by the first mask data preparation operation.

Abstract

Branching of the data-flow in a mask data preparation processes is described herein. In various implementations, the output stream from a first mask data processing operation is branched. Subsequently, the branched output stream may be connected to the input stream of a first independent mask data preparation operation and a second independent mask data preparation operation. This provides that the first and the second independent mask data preparation operations may operate in parallel. Furthermore, this provides that the first and the second independent mask data preparation operations may operate upon discrete “portions” of the data processed by the first mask data preparation operation.

Description

    RELATED APPLICATIONS
  • This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 61/116,196 entitled “Data Flow Branching in Mask Data Preparation,” filed on Nov. 19, 2008, and naming Emile Sahouria as inventor, which application is incorporated entirely herein by reference.
  • FIELD OF THE INVENTION
  • The invention relates to the field of integrated circuit design and manufacturing. More particularly, various implementations of the invention are applicable facilitating the branching of data flows in mask data preparation processes.
  • BACKGROUND OF THE INVENTION
  • Electronic circuits, such as integrated microcircuits, are used in a variety of products, from automobiles to microwaves to personal computers. Designing and fabricating microcircuit devices typically involves many steps, sometimes referred to as the “design flow.” The particular steps of a design flow often are dependent upon the type of microcircuit, its complexity, the design team, and the microcircuit fabricator or foundry that will manufacture the microcircuit. Typically, software and hardware “tools” verify the design at various stages of the design flow by running software simulators and/or hardware emulators. These steps aid in the discovery of errors in the design, and allow the designers and engineers to correct or otherwise improve the design. These various microcircuits are often referred to as integrated circuits (IC's).
  • Several steps are common to most design flows. Initially, a design may typically start at a high level of abstraction, by a designer creating a specification that describes particular desired functionality. This specification, typically implemented by a programming language, such as, for example the C or C++ programming language, describes at a high level the desired behavior of the device. Designers will then often take this specification for the design and create a logical design, often implemented in a netlist, through a synthesis process. The logical design is often referred to as a “register transfer level” (RTL) description or register transfer level design.
  • A register transfer level design, often implemented by a hardware description language (HDL) such as Verilog, SystemVerilog, or Very High speed hardware description language (VHDL), describes the operation of the device by defining the flow of signals or the transfer of data between various hardware components within the design. More particularly, a register transfer level design describes the interconnection and exchange of signals between hardware registers and the logical operations that are performed on those signals.
  • The register transfer level design is again transformed, this time into a gate level design. Gate level designs describe the actual physical components such as transistors, capacitors, and resistors as well as the interconnections between these physical components. Often, gate level designs are also implemented by a netlist, such as, for example, a mapped netlist. Lastly, the gate-level design is taken and another transformation is carried out. First by place and route tools that arrange the components described by the gate-level netlist and route connections between the arranged components; and second, by layout tools that generate a layout description having layout “shapes” that may then used to fabricate the electronic device, through for example, an optical lithographic process.
  • Integrated circuit layout descriptions can be provided in many different formats. The Graphic Data System II (GDSII) format is popular for transferring and archiving two-dimensional graphical IC layout data. Among other features, it contains a hierarchy of structures, each structure containing layout elements (e.g., polygons, paths or poly-lines, circles and textboxes). Other formats include an open source format named Open Access, Milkyway by Synopsys, Inc., EDDM by Mentor Graphics, Inc., and the more recent Open Artwork System Interchange Standard (OASIS) proposed by Semiconductor Equipment and Materials International (SEMI). These various industry formats are used to define the geometrical information in integrated circuit layout designs that are employed to manufacture integrated circuits. Once the microcircuit device design is finalized, the layout portion of the design can be used by fabrication tools to manufacturer the device using a photolithographic process.
  • There are many different fabrication processes for manufacturing a circuit, but most processes include a series of steps that deposit layers of different materials on a substrate, expose specific portions of each layer to radiation, and then etch the exposed (or non-exposed) portions of the layer away. For example, a simple semiconductor device component could be manufactured by the following steps. First, a positive type epitaxial layer is grown on a silicon substrate through chemical vapor deposition. Next, a nitride layer is deposited over the epitaxial layer. Then specific areas of the nitride layer are exposed to radiation, and the exposed areas are etched away, leaving behind exposed areas on the epitaxial layer, (i.e., areas no longer covered by the nitride layer). The exposed areas then are subjected to a diffusion or ion implantation process, causing dopants, for example phosphorus, to enter the exposed epitaxial layer and form charged wells. This process of depositing layers of material on the substrate or subsequent material layers, and then exposing specific patterns to radiation, etching, and dopants or other diffusion materials, is repeated a number of times, allowing the different physical layers of the circuit to be manufactured.
  • Each time that a layer of material is exposed to radiation, a mask must be created to expose only the desired areas to the radiation, and to protect the other areas from exposure. The mask is created from circuit layout data. That is, the geometric elements described in layout design data define the relative locations or areas of the circuit device that will be exposed to radiation through the mask. A mask or reticle writing tool is used to create the mask based upon the layout design data, after which the mask can be used in a photolithographic process. The image embodied in the layout data is often referred to as the intended or target image or target contours, while the image created in the mask is generally referred to as the mask contours. Furthermore, the image created on the substrate by employing the mask in a photolithographic process is often referred to as the printed image or printed contours.
  • As designers and manufacturers continue to increase the number of circuit components in a given area and/or shrink the size of circuit components, the shapes reproduced on the substrate become smaller and are placed closer together. This reduction in feature size increases the difficulty of faithfully reproducing the image intended by the layout design onto the substrate. A principal reason for declining yields is that as feature sizes shrink, the dominant cause of defects change. At larger process technologies, yield limitation is dominated by random defects. Despite the best clean room efforts, particles still find a way to land on chips or masks, causing shorts or opens. In smaller process technologies, for example the nanometer process technology, the dominant source of yield loss is pattern-dependent effects. These defects are a result of the design's features being smaller than the wavelength of light. As a result, the physical effects of light at these smaller feature sizes must be accounted for.
  • Various common techniques exist for mitigating these pattern dependant effects. For example, optical process correction (OPC), phase shift masks (PSM) or other resolution enhancement techniques (RET) are commonly employed to prepare a physical layout designs for manufacturing. Additionally, physical verification techniques that assist in accounting for issues such as planerization and antenna effects are also employed on physical layout designs. Although these extensive modifications to the physical layout design resulted in a layout design that was unrecognizable by the designer, the resulting manufactured circuit matched the designer's intent.
  • These resolution enhancement techniques, including mask data preparation, allow for the manufacture of more modern circuits. However, there is an increased computational cost involved with including these additional processing steps into the design flow. This negatively effects the time in which finalized designs that are ready for tape out can be turned around. Historically, the design processes were viewed as serial. That is, one process was run, followed by a subsequent process, and so on until the finalized design was ready. Various prior methods have sought to parallelize these processes. However, these prior methods operate on the entire data layer. More particularly, parallel operations are not executed until the entire design is ready for the operation.
  • SUMMARY OF THE INVENTION
  • Various implementations of the present invention provide methods and apparatuses for branching the data-flow in mask data preparation processes. In various implementations of the invention, the output stream from a first mask data processing operation is branched. Subsequently, the branched output stream may be connected to the input stream of a first independent mask data preparation operation and a second independent mask data preparation operation. This provides that the first and the second independent mask data preparation operations may operate in parallel. Furthermore, this provides that the first and the second independent mask data preparation operations may operate upon discrete “portions” of the data processed by the first mask data preparation operation.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be described by way of illustrative embodiments shown in the accompanying drawings in which like references denote similar elements, and in which:
  • FIG. 1 shows an illustrative computing environment;
  • FIG. 2 illustrates a mask design;
  • FIG. 3 illustrates a hierarchical layout design;
  • FIG. 4 illustrates a method of branching data in an electronic design automation process; and
  • FIG. 5 illustrates a mask data preparation tool.
  • DETAILED DESCRIPTION OF ILLUSTRATIVE IMPLEMENTATIONS
  • The operations of the disclosed implementations may be described herein in a particular sequential order. However, it should be understood that this manner of description encompasses rearrangements, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the illustrated flow charts and block diagrams typically do not show the various ways in which particular methods can be used in conjunction with other methods.
  • It should also be noted that the detailed description sometimes uses terms like “determine” to describe the disclosed methods. Such terms are often high-level abstractions of the actual operations that are performed. The actual operations that correspond to these terms will often vary depending on the particular implementation, and will be readily discernible by one of ordinary skill in the art.
  • Furthermore, in various implementations of the invention, a mathematical model may be employed to represent an electronic device. With some implementations, a model describing the connectivity of the device, such as for example a netlist, is employed. Those of skill in the art will appreciate that the models, even mathematical models represent real world device designs and real world physical devices. Accordingly, manipulation of the model, even manipulation of the model when stored on a computer readable medium, results in a different device design. More particularly, manipulation of the model results in a transformation of the corresponding physical design and any physical device rendered or manufactured by the device design. Additionally, those of skill in the art can appreciate that during many electronic design and verification processes, the response of a devices design to various signals or inputs is simulated. This simulated response corresponds to the actual physical response the device being modeled would have to these various signals or inputs.
  • Some of the methods described herein can be implemented by software stored on a computer readable storage medium, or executed on a computer. Accordingly, some of the disclosed methods may be implemented as part of a computer implemented electronic design automation (EDA) tool. The selected methods could be executed on a single computer or a computer networked with another computer or computers. For clarity, only those aspects of the software germane to these disclosed methods are described; product details well known in the art are omitted.
  • Illustrative Computing Environment
  • As the techniques of the present invention may be implemented using software instructions, the components and operation of a generic programmable computer system on which various implementations of the invention may be employed is described. Accordingly, FIG. 1 shows an illustrative computing device 101. As seen in this figure, the computing device 101 includes a computing unit 103 having a processing unit 105 and a system memory 107. The processing unit 105 may be any type of programmable electronic device for executing software instructions, but will conventionally be a microprocessor. The system memory 107 may include both a read-only memory (ROM) 109 and a random access memory (RAM) 111. As will be appreciated by those of ordinary skill in the art, both the read-only memory (ROM) 109 and the random access memory (RAM) 111 may store software instructions for execution by the processing unit 105.
  • The processing unit 105 and the system memory 107 are connected, either directly or indirectly, through a bus 113 or alternate communication structure, to one or more peripheral devices. For example, the processing unit 105 or the system memory 107 may be directly or indirectly connected to one or more additional devices, such as; a fixed memory storage device 115, for example, a magnetic disk drive; a removable memory storage device 117, for example, a removable solid state disk drive; an optical media device 119, for example, a digital video disk drive; or a removable media device 121, for example, a removable floppy drive. The processing unit 105 and the system memory 107 also may be directly or indirectly connected to one or more input devices 123 and one or more output devices 125. The input devices 123 may include, for example, a keyboard, a pointing device (such as a mouse, touchpad, stylus, trackball, or joystick), a scanner, a camera, and a microphone. The output devices 125 may include, for example, a monitor display, a printer and speakers. With various examples of the computing device 101, one or more of the peripheral devices 115-125 may be internally housed with the computing unit 103. Alternately, one or more of the peripheral devices 115-125 may be external to the housing for the computing unit 103 and connected to the bus 113 through, for example, a Universal Serial Bus (USB) connection.
  • With some implementations, the computing unit 103 may be directly or indirectly connected to one or more network interfaces 127 for communicating with other devices making up a network. The network interface 127 translates data and control signals from the computing unit 103 into network messages according to one or more communication protocols, such as the transmission control protocol (TCP) and the Internet protocol (IP). Also, the interface 127 may employ any suitable connection agent (or combination of agents) for connecting to a network, including, for example, a wireless transceiver, a modem, or an Ethernet connection.
  • It should be appreciated that the computing device 101 is shown here for illustrative purposes only, and it is not intended to be limiting. Various embodiments of the invention may be implemented using one or more computers that include the components of the computing device 101 illustrated in FIG. 1, which include only a subset of the components illustrated in FIG. 1, or which include an alternate combination of components, including components that are not shown in FIG. 1. For example, various embodiments of the invention may be implemented using a multi-processor computer, a plurality of single and/or multiprocessor computers arranged into a network, or some combination of both.
  • Illustrative Mask Data
  • In a photolithographic process, as explained above, electromagnetic radiation is transmitted through selectively transparent areas of a mask. The radiation passing through these transparent areas then irradiates desired portions of a photoresistive material on a layer of semiconductor substrate. The mask in turn is created from layout design data describing the geometric features that should be manufactured on the semiconductor substrate, by way of the photolithographic process, in order to create the desired circuit. For example, if a transistor should have a rectangular gate region, then the layout design data will include a rectangle defining that gate region. This rectangle in the layout design data is then implemented in a mask for “printing” the rectangular gate region onto the substrate.
  • For example, FIG. 2 illustrates a mask design 201 having shapes 203 defined therein. As described above, radiation passes though transparent areas of a mask, such as for example the areas defined by the shapes 203, causing the shapes formed by the transparent areas to be manufactured on a substrate. As the features embodied in the mask are printed however, optical effects, such as diffractive effects, will prevent certain shapes or combinations of shapes defined by the mask from being faithfully imaged onto the substrate. For example, during an optical lithographic process, the shapes 205 as opposed to the shapes 203 may be realized on the substrate. As the mask shapes become smaller relative to the wavelength of radiation used in the optical lithographic process, these distortions become more pronounced.
  • As a result of this, a mask design is often pre-processed, wherein the shapes are modified such that the resulting printed image will more closely match the intended or target image. This process is often referred to as mask data preparation. During mask data preparation, it is often desirable to pre-process or modify selected areas of a mask individually. Accordingly, mask data may be flattened. FIG. 3 illustrates a mask design 301, having been partitioned into sections 303. Furthermore, the sections 303 may be flattened into “cells,” meaning a hierarchy of like sections. Hierarchical layout processing techniques, including mask data preparation, are further discussed in U.S. patent application Ser. No. 10/404,907, entitled “Hierarchical Evaluation of Cells,” granted on Jul. 12, 2005 to Kobi Kresh et al., which patent is incorporated entirely herein by reference.
  • Data-Flow Branching for Mask Data Preparation
  • FIG. 4 illustrates a method 401 of data-flow branching in an electronic design automation process. As can be seen from this figure, the method 401 includes an operation 403 for receiving an output (i.e. the first electronic design automation process output 405) from a first electronic design automation process. Subsequently, the method 401 includes an operation 407 for directing the first electronic design automation process output 405 to a first independent electronic design automation process 409 and a second independent electronic design automation process 411. With various implementations, the first independent electronic design automation process 409 is a mask correction verification process and the second independent electronic design automation process 411 is a mask design fracturing process.
  • In various implementations of the invention, the first electronic design automation process is a mask data correction process. With further implementations, the first electronic design automation process is a mask data correction process, which adjusts sections of the mask data based upon a rule deck, such as, for example an SVRF rule deck. In still further implementations, the first electronic design automation process is a mask data correction process, which partitions, and flattens the partitioned layout design prior to correction. This is often referred to as “section-mode” processing.
  • As indicated, section-mode processing involves executing an embedded rule deck, such as, for example an SVRF rule deck, on geographical sections of a chip. These geographical sections, which are often rectangular, have the hierarchy that lies under the geographical sections flattened to the top level. These flattened sections often include a buffer region. During section-mode processing, boundary processing may be used to reject inappropriate results in the buffer region. After which, the geographical section is then passed to the “output channel” of first electronic design automation process, and received by the operation 403. Accordingly, with some implementations, the first electronic design automation process output 405 is a geographical section of a mask design. In further implementations, the first electronic design automation process output 405 is a hierarchical geographic section of a mask design.
  • Mask Data Preparation Tool
  • FIG. 5 illustrates a mask data preparation tool 501 that may be implemented according to various examples of the invention. As can be seen from this figure, the tool 501 includes a mask data correction unit 503, a mask data verification unit 505, a mask data fracturing unit 507, and a data flow branching unit 509. In various implementations of the invention, the mask data correction unit 503 is configured to process and adjust mask data based upon a rule deck. Furthermore, the mask data correction unit 503 may be configured to partition and flatten a mask design into hierarchical geographic sections prior to processing. The mask data verification unit 505 is configured to verify that the corrected mask data (i.e. the output from the mask data correction unit) complies with various design rule constraints and that the corrected mask data corresponds to the intended design layout data. The mask data fracturing unit 507 is configured to convert and format the corrected mask data into geometric shapes, such as for example trapezoids, suitable for the intended mask writer.
  • As can be further seen from FIG. 5, the mask data correction unit 503, the mask data verification unit 505 and the mask data fracturing unit 507 are all individually connected to the data flow branching unit 509 via the buses 511. The buses 511 provide for the transfer of geographical sections, such as, for example via data pipelining methods, between the illustrated units. Furthermore, in various implementations, the buses 511 may provide for the signaling between units. For example, to inform the units 505 or 507 that outputs are available from the unit 503.
  • CONCLUSION
  • As described above, various implementations of the invention provide for branching the data-flow in a mask data preparation process. In various implementations of the invention, the output stream from a first mask data processing operation is branched. Subsequently, the branched output stream may be connected to the input stream of a first independent mask data preparation operation and a second independent mask data preparation operation. This provides that the first and the second independent mask data preparation operations may operate in parallel. Furthermore, this provides that the first and the second independent mask data preparation operations may operate upon discrete “portions” of the data processed by the first mask data preparation operation.
  • Although certain devices and methods have been described above in terms of the illustrative embodiments, the person of ordinary skill in the art will recognize that other embodiments, examples, substitutions, modification and alterations are possible. It is intended that the following claims cover such other embodiments, examples, substitutions, modifications and alterations within the spirit and scope of the claims.

Claims (18)

1. A computer-implemented method for branching the data-flow in an electronic design automation process comprising:
receiving an output from a first operation in an electronic design automation process;
storing the output onto one or more tangible memory storage media; and
directing the output to a first independent operation and a second independent operation in the electronic design automation process simultaneously.
2. The computer-implemented method recited in claim 1, wherein:
the electronic design automation process is a lithographic mask data preparation process;
the first operation is a mask correction operation;
the first independent operation is a mask verification operation;
the second independent operation is a mask fracturing operation; and
the output is geographical sections from a grid-based layout design.
3. The computer-implemented method recited in claim 2, the method act of directing the output to a first independent operation and a second independent operation in the electronic design automation process simultaneously comprising directing the output to a first output channel and a second output channel.
4. The computer-implemented method recited in claim 1, further comprising:
receiving a first independent output from the first independent operation; and
saving the first independent output onto one or more tangible memory storage media.
5. The computer-implemented method recited in claim 1, further comprising:
receiving a second independent output from the second independent operation; and
saving the second independent output onto one or more tangible memory storage media.
6. The computer-implemented method recited in claim 1, wherein the output is cells from a hierarchical layout design.
7. A computer-implemented method for branching the data-flow in a mask data preparation process comprising:
identifying an output stream corresponding to a mask process correction operation; and
directing the output stream to a first output channel and a second output channel.
8. The computer-implemented method recited in claim 7, wherein the output stream includes one or more of a plurality of modified sections of a mask design.
9. The computer-implemented method recited in claim 8, the method act of directing the output stream to a first output channel and second output channel comprises:
routing the first output channel to an input channel corresponding to a mask fracturing operation; and
routing the second output channel to an input channel corresponding to a mask correction verification operation.
10. The computer-implemented method recited in claim 9, further comprising instantiating a communication channel between the mask process correction operation and the mask correction verification operation.
11. The computer-implemented method recited in claim 10, wherein the mask process correction operation comprises:
partitioning the mask design into the plurality of sections;
flattening the plurality of sections into a plurality of top level sections based upon hierarchy;
making adjustments to ones of the plurality of top level sections based upon a mask process correction rule deck; and
outputting the adjusted ones of the plurality of top level sections to the output stream.
12. The computer-implemented method recited in claim 11, wherein the mask process correction operation further comprises saving the adjusted ones of the plurality of top level sections to one or more memory storage media.
13. One or more tangible computer-readable media, having computer executable instructions for branching the data-flow in a mask data preparation process stored thereon, the computer executable instructions comprise:
causing a computer to perform a set of operations; and
wherein the set of operations include:
identifying an output stream corresponding to a mask process correction operation; and
directing the output stream to a first output channel and a second output channel.
14. The one or more tangible computer-readable media recited in claim 13, wherein the output stream includes one or more of a plurality of modified sections of a mask design.
15. The one or more tangible computer-readable media recited in claim 14, the operation for directing the output stream to a first output channel and second output channel comprising:
routing the first output channel to an input channel corresponding to a mask fracturing operation; and
routing the second output channel to an input channel corresponding to a mask correction verification operation.
16. The one or more tangible computer-readable media recited in claim 15, the set of operations further comprising instantiating a communication channel between the mask process correction operation and the mask correction verification operation.
17. The one or more tangible computer-readable media recited in claim 16, wherein the mask process correction operation comprises:
partitioning the mask design into the plurality of sections;
flattening the plurality of sections into a plurality of top level sections based upon hierarchy;
making adjustments to ones of the plurality of top level sections based upon a mask process correction rule deck; and
outputting the adjusted ones of the plurality of top level sections to the output stream.
18. The one or more tangible computer-readable media recited in claim 16, wherein the mask process correction operation further comprises saving the adjusted ones of the plurality of top level sections to one or more memory storage media.
US12/622,402 2008-11-19 2009-11-19 Data Flow Branching in Mask Data Preparation Abandoned US20100218159A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/622,402 US20100218159A1 (en) 2008-11-19 2009-11-19 Data Flow Branching in Mask Data Preparation
US13/651,691 US8635562B2 (en) 2008-11-19 2012-10-15 Data flow branching in mask data preparation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11619608P 2008-11-19 2008-11-19
US12/622,402 US20100218159A1 (en) 2008-11-19 2009-11-19 Data Flow Branching in Mask Data Preparation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/651,691 Continuation US8635562B2 (en) 2008-11-19 2012-10-15 Data flow branching in mask data preparation

Publications (1)

Publication Number Publication Date
US20100218159A1 true US20100218159A1 (en) 2010-08-26

Family

ID=42632023

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/622,402 Abandoned US20100218159A1 (en) 2008-11-19 2009-11-19 Data Flow Branching in Mask Data Preparation
US13/651,691 Active US8635562B2 (en) 2008-11-19 2012-10-15 Data flow branching in mask data preparation

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/651,691 Active US8635562B2 (en) 2008-11-19 2012-10-15 Data flow branching in mask data preparation

Country Status (1)

Country Link
US (2) US20100218159A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826196B2 (en) * 2013-01-30 2014-09-02 Mentor Graphics Corporation Integration of optical proximity correction and mask data preparation
KR102247563B1 (en) 2014-06-12 2021-05-03 삼성전자 주식회사 Exposure method using E-beam, and method for fabricating mask and semiconductor device using the exposure method
KR102404639B1 (en) 2015-02-02 2022-06-03 삼성전자주식회사 method for exposing a electron beam and substrate manufacturing method including the same

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694325A (en) * 1990-08-14 1997-12-02 Kabushiki Kaisha Toshiba Semiconductor production system
US6415421B2 (en) * 2000-06-13 2002-07-02 Mentor Graphics Corporation Integrated verification and manufacturability tool
US6792592B2 (en) * 2002-08-30 2004-09-14 Numerical Technologies, Inc. Considering mask writer properties during the optical proximity correction process
US6918100B2 (en) * 2003-03-31 2005-07-12 Mentor Graphics Corp. Hierarchical evaluation of cells
US7194328B1 (en) * 2006-04-04 2007-03-20 Advanced Micro Devices, Inc. Method and apparatus for tracking reticle history
US7318214B1 (en) * 2003-06-19 2008-01-08 Invarium, Inc. System and method for reducing patterning variability in integrated circuit manufacturing through mask layout corrections
US7523429B2 (en) * 2004-02-20 2009-04-21 Takumi Technology Corporation System for designing integrated circuits with enhanced manufacturability
US7698665B2 (en) * 2003-04-06 2010-04-13 Luminescent Technologies, Inc. Systems, masks, and methods for manufacturable masks using a functional representation of polygon pattern
US8050793B1 (en) * 2006-04-04 2011-11-01 Advanced Micro Devices, Inc. Method and apparatus for linking reticle manufacturing data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694325A (en) * 1990-08-14 1997-12-02 Kabushiki Kaisha Toshiba Semiconductor production system
US6415421B2 (en) * 2000-06-13 2002-07-02 Mentor Graphics Corporation Integrated verification and manufacturability tool
US6792592B2 (en) * 2002-08-30 2004-09-14 Numerical Technologies, Inc. Considering mask writer properties during the optical proximity correction process
US6918100B2 (en) * 2003-03-31 2005-07-12 Mentor Graphics Corp. Hierarchical evaluation of cells
US7698665B2 (en) * 2003-04-06 2010-04-13 Luminescent Technologies, Inc. Systems, masks, and methods for manufacturable masks using a functional representation of polygon pattern
US7318214B1 (en) * 2003-06-19 2008-01-08 Invarium, Inc. System and method for reducing patterning variability in integrated circuit manufacturing through mask layout corrections
US7523429B2 (en) * 2004-02-20 2009-04-21 Takumi Technology Corporation System for designing integrated circuits with enhanced manufacturability
US7194328B1 (en) * 2006-04-04 2007-03-20 Advanced Micro Devices, Inc. Method and apparatus for tracking reticle history
US8050793B1 (en) * 2006-04-04 2011-11-01 Advanced Micro Devices, Inc. Method and apparatus for linking reticle manufacturing data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kalus et al., "Elements of Hierarchical Mask Data Preparation," 2002 Proc. of SPIE, Vol. 4764, pages 76-81. *
Schulze et al., "Parallel processing approaches in RET and MDP: New hybrid multithreading and distributed technology for optimum throughput in a hierarchical flow," 2003 Proc. of SPIE, Vol. 5256, pages 151-162. *

Also Published As

Publication number Publication date
US8635562B2 (en) 2014-01-21
US20130042213A1 (en) 2013-02-14

Similar Documents

Publication Publication Date Title
US20100269084A1 (en) Visibility and Transport Kernels for Variable Etch Bias Modeling of Optical Lithography
US9418195B2 (en) Layout content analysis for source mask optimization acceleration
US20110185323A1 (en) Stacked Integracted Circuit Verification
US20100023916A1 (en) Model Based Hint Generation For Lithographic Friendly Design
US20120054694A1 (en) Aerial Image Signatures
US8713488B2 (en) Layout design defect repair based on inverse lithography and traditional optical proximity correction
US20100325591A1 (en) Generation and Placement Of Sub-Resolution Assist Features
US10732499B2 (en) Method and system for cross-tile OPC consistency
US8533637B2 (en) Retargeting based on process window simulation
US8572525B2 (en) Partition response surface modeling
US8510686B2 (en) Inverse lithography for high transmission attenuated phase shift mask design and creation
US8464185B2 (en) Electron beam simulation corner correction for optical lithography
US8352891B2 (en) Layout decomposition based on partial intensity distribution
US8635562B2 (en) Data flow branching in mask data preparation
US20120167020A1 (en) Pre-OPC Layout Editing For Improved Image Fidelity
US8191017B2 (en) Site selective optical proximity correction
US8250495B2 (en) Mask decomposition for double dipole lithography
US20090077519A1 (en) Displacement Aware Optical Proximity Correction For Microcircuit Layout Designs
US8683394B2 (en) Pattern matching optical proximity correction
US8539391B2 (en) Edge fragment correlation determination for optical proximity correction
US20090210838A1 (en) Interpolation distance for layout desing data correction model
US10691869B2 (en) Pattern-based optical proximity correction
US9811615B2 (en) Simultaneous retargeting of layout features based on process window simulation
US10496780B1 (en) Dynamic model generation for lithographic simulation
US8516401B2 (en) Mask model calibration technologies involving etch effect and exposure effect

Legal Events

Date Code Title Description
AS Assignment

Owner name: MENTOR GRAPHICS CORPORATION, OREGON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAHOURIA, EMILE;REEL/FRAME:024511/0859

Effective date: 20100505

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION