KR20240035626A - Automatic redistribution layer via generation - Google Patents
Automatic redistribution layer via generation Download PDFInfo
- Publication number
- KR20240035626A KR20240035626A KR1020247006826A KR20247006826A KR20240035626A KR 20240035626 A KR20240035626 A KR 20240035626A KR 1020247006826 A KR1020247006826 A KR 1020247006826A KR 20247006826 A KR20247006826 A KR 20247006826A KR 20240035626 A KR20240035626 A KR 20240035626A
- Authority
- KR
- South Korea
- Prior art keywords
- metal layers
- layer
- vias
- processor
- placement
- Prior art date
Links
- 239000002184 metal Substances 0.000 claims abstract description 177
- 229910052751 metal Inorganic materials 0.000 claims abstract description 177
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000003860 storage Methods 0.000 claims description 16
- 239000004065 semiconductor Substances 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 13
- 230000008520 organization Effects 0.000 description 13
- 239000000758 substrate Substances 0.000 description 12
- 229910052710 silicon Inorganic materials 0.000 description 11
- 239000010703 silicon Substances 0.000 description 11
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000005272 metallurgy Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 241000724291 Tobacco streak virus Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000004020 conductor Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/18—Chip packaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
반도체 패키지의 재배선 층 내에서 비아 배치를 자동으로 생성하기 위한 시스템 및 방법이 설명된다. 다양한 구현예에서, 사용자는 반도체 패키지(702)의 재배선 층에서 자동 비아 생성에 사용할 속성을 정의한다. 사용자에 의해 사용되는 컴퓨팅 디바이스의 프로세서 회로부는 자동 재배선 층(RDL) 비아 생성기(704)의 명령어를 실행한다. 자동 비아 생성기는 속성, RDL 내 신호 루트의 RDL 넷리스트를 나타내는 데이터, 및 RDL 내 금속 층의 신호 마스크를 나타내는 RDL 마스크 레이아웃 데이터를 사용한다. 프로세서는 금속 층 사이의 중첩 영역의 속성 및 식별에 기반하여 RDL을 위한 비아 배치를 생성한다.A system and method are described for automatically generating via placement within a redistribution layer of a semiconductor package. In various implementations, the user defines properties to be used for automatic via creation in the redistribution layer of the semiconductor package 702. Processor circuitry of the computing device used by the user executes the instructions of the automatic redistribution layer (RDL) via generator 704. The automatic via generator uses attributes, data representing the RDL netlist of signal roots within the RDL, and RDL mask layout data representing the signal masks of metal layers within the RDL. The processor generates via placement for the RDL based on the properties and identification of the overlapping areas between metal layers.
Description
관련 출원에 대한 상호 참조Cross-reference to related applications
본 출원은 2021년 8월 2일에 출원된 "실리콘 레이아웃을 위한 비아 생성"이라는 명칭의 가특허 출원 일련 번호 63/228,552에 대한 우선권을 주장하고, 이 출원의 전체 내용은 참조로 본원에 포함된다.This application claims priority to Provisional Patent Application Serial No. 63/228,552, entitled “Via Generation for Silicon Layout,” filed August 2, 2021, the entire contents of which are incorporated herein by reference. .
관련 기술 설명Related technical description
칩 패키지 내의 하나 이상의 집적 회로와 칩 패키지 외부에 위치된 마더보드의 외부 구성요소 사이의 통신을 제공하는 반도체 패키지에 대한 수요가 증가하고 있다. 모바일 컴퓨팅, 웨어러블 전자장치 및 사물 인터넷(IoT)과 연관된 전자 제품은 수직 신호 상호접속을 활용하는 소형 패키지에 대한 수요를 주도한다. 이 제품에 사용되는 칩 패키지의 예는 BGA(Ball Grid Array), CSP(Chip Scale Package), 및 SiP(System in Package)를 포함한다.There is increasing demand for semiconductor packages that provide communication between one or more integrated circuits within a chip package and external components on a motherboard located outside the chip package. Electronics associated with mobile computing, wearable electronics, and the Internet of Things (IoT) are driving demand for small packages that utilize vertical signal interconnects. Examples of chip packages used in this product include Ball Grid Array (BGA), Chip Scale Package (CSP), and System in Package (SiP).
반도체 패키지는 또한 플립 칩 상호접속으로 지칭되는 C4(controlled collapse chip connection) 상호접속을 활용한다. 예를 들어, C4 범프는 범프 패드를 사용하여 인쇄 회로 기판에 연결된 실리콘 패키지 기판에 형성된 수직 관통형 실리콘 비아(TSV: through silicon via)에 연결된다. 실리콘 버스를 통해 형성되는 TSV 그룹은 기본 다이, 하나 이상의 추가 집적 회로 및 마더보드나 카드와 같은 인쇄 회로 기판(PCB)의 라우팅 간의 상호접속부로 사용된다. SiP에 대한 수요 및 집적 회로와 인쇄 회로 기판(PCB) 사이의 더 많은 신호 상호접속부는 또한 패키지 기판과 인터포저(interposer)에 대한 수요를 증가시킨다.Semiconductor packages utilize controlled collapse chip connection (C4) interconnection, also referred to as flip chip interconnection. For example, the C4 bump connects to a vertical through silicon via (TSV) formed in a silicon package substrate that is connected to a printed circuit board using a bump pad. A group of TSVs formed across a silicon bus serves as an interconnection between the base die, one or more additional integrated circuits, and routing on a printed circuit board (PCB) such as a motherboard or card. Demand for SiP and more signal interconnects between integrated circuits and printed circuit boards (PCBs) also increases the demand for package substrates and interposers.
패키지 기판은 기계적 베이스 지지뿐만 아니라 신호 상호접속부를 위한 전기 인터페이스를 제공하는 칩 패키지의 일부이다. 인터포저는 하나 이상의 집적 회로와 플립 칩 범프 또는 다른 상호접속부와 패키지 기판 사이의 중간 층이다. 사용될 때, 인터포저는 그 위에 어셈블리된 다이(다이 간 상호접속부)와 패키지 기판(다이와 패키지 상호접속부) 사이의 신호 상호접속부를 위한 전기 인터페이스를 제공한다. 구현예에 따라, 패키지 기판과 인터포저라는 용어는 상호 호환하여 사용된다.The package substrate is the part of the chip package that provides mechanical base support as well as electrical interfaces for signal interconnects. An interposer is an intermediate layer between one or more integrated circuits and flip chip bumps or other interconnects and the package substrate. When used, the interposer provides an electrical interface for signal interconnections between a die assembled thereon (die-to-die interconnect) and a package substrate (die-to-package interconnect). Depending on the implementation, the terms package substrate and interposer are used interchangeably.
반도체 패키지 내의 하나 이상의 집적 회로는 재배선 층을 사용하여 마더보드(또는 인쇄 회로 기판)와 집적 회로 사이에 연결된 신호 루트를 갖는다. 재배선 층의 신호 루트는 집적 회로의 패드와 접촉하는 마이크로 범프와 실리콘 패키지 기판의 관통형 실리콘 비아(TSV) 사이에 위치된 신호 루트이다.One or more integrated circuits within a semiconductor package have signal routes connected between the motherboard (or printed circuit board) and the integrated circuit using a redistribution layer. The signal route of the redistribution layer is a signal route located between a micro bump in contact with a pad of the integrated circuit and a through-type silicon via (TSV) of the silicon package substrate.
혁신이 개선을 제공하지만, 설계 문제는 여전히 잠재적인 이점을 제한하는 현대 프로세싱 기법과 집적 회로 설계로 발생한다. 하나의 문제는 하나 이상의 집적 회로가 하나 이상의 전원 공급 장치 전압 기준 레벨과 하나 이상의 접지 기준 전압 레벨을 수신하기 위해 수만 개의 노드를 갖고 동시에 TSV에서 이러한 전압 기준 레벨을 전송하기 위한 수백 개의 노드가 있다는 것이다. 재배선 층을 통한 이러한 전력 연결의 라우팅은 복잡해진다. 추가로, 검증 검사를 수행하기 전에 이러한 신호 루트의 마스크 레이아웃 표현에 비아를 수동으로 배치하고 이후에 제작하는 것은 몇 주 또는 몇 달이 걸린다.Although innovations provide improvements, design challenges still arise with modern processing techniques and integrated circuit designs that limit the potential benefits. One problem is that one or more integrated circuits may have tens of thousands of nodes to receive one or more power supply voltage reference levels and one or more ground reference voltage levels, and simultaneously hundreds of nodes to transmit these voltage reference levels from the TSV. . Routing of these power connections through the redistribution layer becomes complex. Additionally, manually placing vias in a masked layout representation of these signal routes before performing verification checks and subsequent fabrication can take weeks or months.
위의 관점에서, 재배선 층 내에서 전력 연결의 비아를 생성하기 위한 효율적인 방법 및 시스템이 원해진다.In view of the above, an efficient method and system for creating vias for power connections within a redistribution layer is desired.
도 1은 컴퓨팅 시스템의 개괄적인 다이어그램이다.
도 2는 반도체 패키지 금속 층 방식의 단면도의 개괄적인 다이어그램이다.
도 3은 재배선 층의 금속 층의 개괄적인 다이어그램이다.
도 4는 재배선 층의 금속 층의 개괄적인 다이어그램이다.
도 5는 재배선 층의 금속 층의 개괄적인 다이어그램이다.
도 6은 그래픽 사용자 인터페이스의 개괄적인 다이어그램이다.
도 7은 재배선 층에서 자동 비아 생성을 위한 방법의 일 실시예의 개괄적인 다이어그램이다.
도 8은 재배선 층에서 자동 비아 생성을 위한 방법의 일 실시예의 개괄적인 다이어그램이다.
도 9는 컴퓨팅 시스템의 개괄적인 다이어그램이다.
본 발명은 다양한 수정 및 대안적인 형태를 허용하지만, 특정 실시예는 도면에 예로서 도시되고 본원에 상세히 설명된다. 그러나, 도면과 그에 대한 상세한 설명이 본 발명을 개시된 특정 형태로 제한하려는 것이 아니고, 그 반대로, 본 발명이 첨부된 청구범위에 정의된 바와 같이 본 발명의 범위에 속하는 모든 수정, 균등물 및 대체물을 커버하는 것으로 이해되어야 한다.1 is a schematic diagram of a computing system.
2 is a schematic diagram of a cross-sectional view of a semiconductor package metal layer scheme.
3 is a schematic diagram of the metal layer of the redistribution layer.
Figure 4 is a schematic diagram of the metal layer of the redistribution layer.
Figure 5 is a schematic diagram of the metal layer of the redistribution layer.
Figure 6 is a schematic diagram of the graphical user interface.
7 is a schematic diagram of one embodiment of a method for automatic via creation in a redistribution layer.
8 is a schematic diagram of one embodiment of a method for automatic via creation in a redistribution layer.
9 is a general diagram of a computing system.
While the invention is susceptible to various modifications and alternative forms, specific embodiments are shown by way of example in the drawings and are herein described in detail. However, the drawings and their detailed description are not intended to limit the invention to the specific form disclosed, but on the contrary, the invention is intended to be open to all modifications, equivalents and substitutes falling within the scope of the invention as defined in the appended claims. It should be understood as covering.
다음의 설명에서, 다양한 특정 세부사항은 본 발명의 철저한 이해를 제공하기 위해 설명된다. 그러나, 통상의 기술자는 본 발명이 이러한 구체적인 세부사항 없이 실시될 수 있음을 인식해야 한다. 일부 사례에서, 잘 알려진 회로, 구조, 및 기법은 본 발명을 모호하게 하는 것을 피하기 위해 상세히 도시되지 않았다. 추가로, 예시의 단순성과 명확성을 위해, 도면에 도시된 요소가 반드시 축척대로 도시되지 않았음이 인식될 것이다. 예를 들어, 일부 요소의 치수는 다른 요소에 비해 과장될 수 있다.In the following description, numerous specific details are set forth to provide a thorough understanding of the invention. However, one skilled in the art should recognize that the present invention may be practiced without these specific details. In some instances, well-known circuits, structures, and techniques have not been shown in detail to avoid obscuring the invention. Additionally, for simplicity and clarity of illustration, it will be appreciated that elements depicted in the figures have not necessarily been drawn to scale. For example, the dimensions of some elements may be exaggerated compared to others.
재배선 층 내에서 비아를 자동으로 생성하는 시스템 및 방법이 고려된다. 본원에서 사용되는 바와 같이, "자동 생성" 또는 "자동으로 생성"이라는 용어는 사용자 개입 없이, 생성을 수행하거나 생성 단계를 수행하는 능력을 갖는 것을 지칭한다. 본원에 개시된 바와 같이, 사용자는 반도체 패키지의 재배선 층에서 자동 비아 생성을 위해 사용할 속성을 정의한다. 일 구현예에서, 사용자는 그래픽 사용자 인터페이스(GUI)를 통해 속성을 제공한다. 다른 구현예에서, 사용자는 다양한 스크립팅 언어 중 하나로 작성된 텍스트 파일이나 실행 파일을 통해 속성을 제공한다. 사용자에 의해 사용되는 컴퓨팅 디바이스는 자동 비아 생성기의 명령어를 실행하기 위한 프로세서 회로부와 같은 하드웨어를 포함한다. 자동 비아 생성기는 속성, 재배선 층(RDL: redistribution layer) 내 신호 루트의 재배선 층(RDL) 넷리스트(netlist)의 복사본(copy), 및 RDL 내 금속 층의 신호 마스크를 나타내는 RDL 마스크 레이아웃 데이터 복사본을 사용한다.Systems and methods for automatically creating vias within a redistribution layer are contemplated. As used herein, the terms “automated generation” or “automatically generating” refers to having the ability to perform a generation or perform a generation step without user intervention. As disclosed herein, a user defines properties to be used for automatic via creation in a redistribution layer of a semiconductor package. In one implementation, a user provides properties through a graphical user interface (GUI). In other implementations, users provide properties through a text file or executable file written in one of a variety of scripting languages. The computing device used by the user includes hardware such as processor circuitry for executing instructions of the automatic via generator. The automatic via generator generates attributes, a copy of the redistribution layer (RDL) netlist of the signal roots in the redistribution layer (RDL), and RDL mask layout data representing the signal masks of the metal layers in the RDL. Use a copy.
컴퓨팅 디바이스의 프로세서가 자동 비아 생성기의 명령어를 실행할 때, 프로세서는 RDL의 금속 층 사이의 금속 중첩 영역을 식별한다. 금속 중첩 영역은 또한 금속 중첩 접합 구역 또는 중첩 접합 구역으로 지칭된다. 일부 구현예에서, 금속 중첩 영역은 금속 층(RDL1 및 RDL2)과 같은 RDL의 인접한 금속 층 사이에 있다. 다른 구현예에서, 금속 중첩 영역은 관통 홀 비아와 같은 금속 층(RDL1 및 RDL4)과 같은 RDL의 2개의 인접하지 않은 금속 층 사이에 있다. 또 다른 구현예에서, 금속 중첩 영역은 표면 실장 디바이스(SMD) 핀 층의 핀과 RDL의 금속 층 사이에 있다. 또 다른 구현예에서, 금속 중첩 영역은 RDL의 금속 층과 C4 범프에 대한 전기적 연결을 제공하는 UBM(under-bump metallurgy) 층 사이에 있다. 일부 예에서, 금속 중첩 영역은 RDL의 2개의 금속 층 사이의 금속 중첩 영역과 같은 정사각형 또는 직사각형 형상을 갖는다. 다른 예에서, 금속 중첩 영역은 RDL의 금속 층과 SMD 핀 층의 핀 사이의 금속 중첩 영역과 같은 원형 형상을 갖는다. 유효한 비아 생성을 위해, 2개의 금속 층 사이의 금속 중첩 영역은 최소 중첩 접합 구역 임계치보다 크거나 같다. 일부 구현예에서, 수신된 속성에 기반하여, 프로세서는 비아 층이 중첩 영역 위 및 아래 둘 모두에 배치되게 하도록 중첩 영역을 절반으로 분할한다. 사용자로부터 수신된 속성에 기반하여, 프로세서는 상이한 유형의 비아 층을 중첩 영역에 배치한다.When the computing device's processor executes the instructions of the automatic via generator, the processor identifies areas of metal overlap between the metal layers of the RDL. The metal overlap region is also referred to as a metal overlap bond zone or overlap bond zone. In some implementations, the metal overlap region is between adjacent metal layers of an RDL, such as metal layers RDL1 and RDL2. In another implementation, the metal overlap region is between two non-adjacent metal layers of an RDL, such as a through hole via (RDL1 and RDL4). In another implementation, the metal overlap region is between the fins of the surface mount device (SMD) fin layer and the metal layer of the RDL. In another implementation, the metal overlap region is between the metal layer of the RDL and the under-bump metallurgy (UBM) layer that provides the electrical connection to the C4 bump. In some examples, the metal overlap area has a square or rectangular shape, such as the metal overlap area between two metal layers of an RDL. In another example, the metal overlap area has a circular shape, such as the metal overlap area between the metal layer of the RDL and the fins of the SMD pin layer. For valid via creation, the metal overlap area between two metal layers is greater than or equal to the minimum overlap joint area threshold. In some implementations, based on the received attributes, the processor splits the overlap region in half such that the via layer is placed both above and below the overlap region. Based on the attributes received from the user, the processor places different types of via layers in overlapping areas.
프로세서는 수신된 속성에 표시된 시퀀스 순서에 기반하여 비아를 생성한다. 시퀀스 순서는 자동 비아 생성을 개시하는 데 사용할 비아 층과 추가 자동 비아 생성을 위해 선택할 각각의 후속 비아 층을 결정한다. 비아는 DRC 규칙을 만족시키기 위해 현재 선택된 비아 층에 대응하는 크기와 피치에 기반하여 배치된다. 게다가, 프로세서는 비아 배치 동안 신호 루트의 금속 층 치수를 변경하지 않는다. 소정 비아 층에 대한 다수의 시퀀스가 수신된 속성에 지정된 경우, 프로세서는 가능한 경우 비아 층에 추가 비아를 배치한다. 일부 경우에서 비아 이중화(via redundancy)가 이미 존재하지만, 자동 비아 생성기는 가능한 경우 비아 카운트를 계속 증가시킨다. 이후, 프로세서는 보고서를 생성한다. 프로세서는 자동 비아 생성 동안 로그 파일을 유지하고 대응 정보를 사용하여 보고서에 요약된 결과를 제공한다. 다양한 구현예에서, 프로세서는 알려진 목적지에 위치된 파일을 작성한다.The processor creates vias based on the sequence order indicated in the received attributes. The sequence order determines which via layer will be used to initiate automatic via creation and which of each subsequent via layer will be selected for further automatic via creation. Vias are placed based on their size and pitch corresponding to the currently selected via layer to satisfy the DRC rules. Additionally, the processor does not change the metal layer dimensions of the signal route during via placement. If multiple sequences for a given via layer are specified in the received attribute, the processor places additional vias in the via layer if possible. In some cases via redundancy already exists, but the automatic via generator continues to increase the via count when possible. The processor then generates a report. The processor maintains log files during automatic via creation and uses the corresponding information to provide summarized results in a report. In various implementations, the processor creates a file located at a known destination.
다음 설명에서, 반도체 패키지 기판을 사용하는 하드웨어 제품의 개발을 지원하기 위한 컴퓨팅 시스템이 도 1에 도시된다. 컴퓨팅 시스템은 재배선 층에서 비아의 자동 생성을 지원한다. 도 2는 플립 칩 기술을 사용하여 재배선 층과 같은 반도체 패키지의 구성요소를 예시한다. 도 3-도 5는 재배선 층의 인접한 금속 층 사이의 금속 중첩 영역을 예시한다. 재배선 층에서 비아의 자동 생성 동안 활용할 사용자로부터의 속성을 제공하기 위한 그래픽 사용자 인터페이스의 예가 도 6에 도시된다. 도 7-도 8은 재배선 층에서 비아의 자동 생성을 지원하기 위해 수행하는 방법의 단계를 제공한다. 컴퓨팅 시스템 내에서, 재배선 층에 자동으로 생성된 비아를 포함하는 제작된 칩 패키지의 예가 도 9에 도시된다.In the following description, a computing system for supporting the development of hardware products using a semiconductor package substrate is shown in FIG. 1. The computing system supports automatic creation of vias in the redistribution layer. 2 illustrates components of a semiconductor package, such as a redistribution layer, using flip chip technology. 3-5 illustrate metal overlap areas between adjacent metal layers of a redistribution layer. An example of a graphical user interface for providing attributes from the user to be utilized during automatic creation of vias in the redistribution layer is shown in Figure 6. 7-8 provide method steps to support automatic creation of vias in a redistribution layer. An example of a fabricated chip package containing automatically created vias in a redistribution layer, within a computing system, is shown in FIG. 9 .
도 1을 참조하면, 컴퓨팅 시스템(100)의 일 실시예의 일반화된 블록도가 도시된다. 예시된 구현예에서, 컴퓨팅 시스템(100)은 클라이언트 컴퓨팅 디바이스(150), 소프트웨어를 실행하고 조직 센터(110)를 지원하기 위한 하드웨어를 포함하는 서버(120A-120D), 네트워크(140), 및 조직 센터(110)에 의해 지원되고 사용되는 하나 이상의 데이터 저장소를 포함하는 데이터 저장장치(130)를 포함한다. 단일 클라이언트 컴퓨팅 디바이스(150)가 도시되어 있지만, 임의의 개수의 클라이언트 컴퓨팅 디바이스가 네트워크(140)를 통해 조직 센터(110)를 활용한다. 클라이언트 디바이스(150)로 또한 지칭되는 클라이언트 컴퓨팅 디바이스(150)는 재배선 층(RDL) 자동 비아 생성기(160)의 명령어를 실행하기 위한 프로세서의 회로부와 같은 하드웨어를 포함한다. RDL 자동 비아 생성기(160)(또는 비아 생성기(160))는 데이터 저장장치(130)에 저장된 데이터의 복사본과 사용자에 의해 제공된 속성(166)을 사용한다. 구현예에서, 사용자는 그래픽 사용자 인터페이스(GUI)(162)를 통해 속성(166)을 제공한다. 비아 생성기(160)에 의해 사용되는 데이터의 예는 RDL 마스크 레이아웃 데이터(132), RDL 넷리스트 및 설계 규칙 검사(DRC: design rule check)(136)의 적어도 일부의 복사본이다.1, a generalized block diagram of one embodiment of computing system 100 is shown. In the illustrated implementation, computing system 100 includes
클라이언트 디바이스(150)는 데스크톱 컴퓨터 또는 랩톱, 태블릿 컴퓨터 등과 같은 모바일 컴퓨팅 디바이스를 포함한다. 클라이언트 디바이스(150)는 컴퓨터 프로그램의 명령어를 프로세싱하기 위한 프로세싱 유닛(170)과 같은 하드웨어 회로부를 포함한다. 일부 구현예에서, 프로세싱 유닛(170)은 프로세서의 하나 이상의 동종 코어를 포함한다. 다른 실시예에서, 프로세싱 유닛은 병렬 프로세싱 아키텍처 코어 및 중앙 프로세싱 유닛(CPU)에서 사용되는 범용 코어와 같은 이종 코어를 포함한다. 병렬 아키텍처 코어는 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세싱 유닛(DSP) 등일 수 있다.
클라이언트 디바이스(150)는 네트워크(140)를 통한 데이터 및 메시지 전송을 위한 하나 이상의 통신 프로토콜을 지원하는 네트워크 인터페이스(도시되지 않음)를 포함한다. 네트워크(140)는 메시지와 데이터를 전송하기 위한 다중 스위치, 라우터, 케이블, 무선 송신기 및 인터넷을 포함한다. 따라서, 조직 센터(110)와 클라이언트 디바이스(150)의 네트워크 인터페이스는 월드 와이드 웹(World Wide Web)을 통한 통신을 위해 적어도 HTTP(Hypertext Transfer Protocol)를 지원한다. 네트워크(140)를 통해 클라이언트 디바이스(150)와 통신하는 것 외에도, 조직 센터(110)는 또한 데이터를 저장하고 검색하기 위해 데이터 저장장치(130)와 통신한다.
다양한 구현예에서, 조직 센터(110)는 하나 이상의 하드웨어 제품을 생산하는 판매자를 위한 인프라이다. 조직 센터(110)는 조직의 직원만이 액세스 가능한 사설망을 제공하는 인트라넷 네트워크를 포함한다. 인트라넷 포털은 그래픽 사용자 인터페이스(GUI) 및 대시보드와 같은 사용자 친화적 인터페이스를 통해 자원에 대한 액세스를 제공하는 데 사용된다. 조직 센터(110)에 의해 이용 가능하게 된 정보 및 서비스는 일반 대중이 직접 액세스를 통해 이용할 수 없다. 사용자 인증을 통해, 직원은 조직 센터(110)를 통해 자원에 액세스하여 다른 직원과 통신하고, 프로젝트에 대해 협력하고, 제품 개발을 모니터링하고, 중앙 저장소에 저장된 제품, 문서 및 도구를 업데이트하는 등을 할 수 있다.In various implementations,
조직 센터(110)를 지원하기 위해 사용되는 서버(120A~120D)와 조직 센터(110)를 통해 액세스되는 자원은 데이터베이스 서버, 컴퓨팅 서버, 애플리케이션 서버, 파일 서버, 메일 서버 등과 같은 다양한 서버 유형을 포함한다. 다양한 구현예에서, 서버(120A-120D) 및 클라이언트 디바이스(150)는 클라이언트-서버 아키텍처 모델로 동작한다.
클라이언트 디바이스(150)는 비아 생성기(160)와 같은 주어진 소프트웨어 제품 또는 도구의 특정 버전의 복사본을 포함한다. 일부 구현예에서, 비아 생성기(160)의 버전은 적어도 클라이언트 디바이스(150)에 의해 사용되는 운영 체제 및 프로세서(들)에 기반한다. 비아 생성기(160)는 프로세서(170)에 의해 실행될 때, 프로세서(170)가 재배선 층의 신호 루트의 레이아웃 마스크 표현에서 비아를 자동으로 생성하게 하는 엔진(164)을 포함한다. 재배선 층의 신호 루트는 집적 회로와 인쇄 회로 기판 사이에 위치된 신호 루트이다. 예를 들어, 재배선 층의 신호 루트는 집적 회로의 패드와 접촉하는 마이크로 범프와 실리콘 패키지 기판의 관통형 실리콘 비아(TSV) 사이에 위치된 신호 루트이다. 재배선 층은 패키지 핀에 와이어 본딩된 입력/출력(I/O) 패드 세트가 필요하지 않게 하여, 칩 간 본딩을 용이하게 한다.
앞서 설명된 바와 같이, 조직 센터(110)는 하나 이상의 하드웨어 제품을 생산하는 판매자를 위한 인프라이다. 집적 회로는 생산을 위해 개발되고 있는 다양한 유형의 집적 회로 중 하나이다. 가능하게는 재배선 층의 신호 루트를 제공하는 데 수만 개의 금속 층이 사용되면, 이러한 금속 층에 비아를 수동으로 배치하는 것은 몇 주 또는 몇 달이 걸린다. 비아 생성기(160)는 이러한 배치를 보다 효율적인 방식으로 수행한다. 재배선 층이 제어 신호 루트와 데이터 신호 루트를 포함하지만, 구현예에서, 비아 생성기(160)는 집적 회로에 의해 사용되는 전원 공급 장치 전압 기준 레벨 또는 접지 기준 전압 레벨 중 하나를 제공하는 재배선 층의 신호 루트에 대한 자동 비아 생성을 제공한다. 이를 위해, 비아 생성기(160)는 사용자에 의해 제공된 속성(166)을 사용한다.As previously described,
일 구현예에서, 사용자는 그래픽 사용자 인터페이스(GUI)(162)를 통해 비아 생성기(160)에 속성(166)을 제공한다. 다른 구현예에서, 사용자는 다양한 스크립팅 언어 중 하나로 작성된 텍스트 파일 또는 실행 파일을 통해 비아 생성기(160)에 속성(166)을 제공한다. 구현예에서, 프로세서(170)가 비아 생성기(160)의 엔진(164)의 코드를 실행할 때, 프로세서(170)는 속성(166)에 의해 지정된 시퀀스의 순서로 비아를 자동으로 생성한다. 각각의 시퀀스는 재배선 층에서 인접한 금속 층 쌍을 식별한다. 비아 생성기(160)는 재배선 층에서 금속 층의 배치를 식별하기 위해 RDL 마스크 레이아웃 데이터(132) 및 RDL 넷리스트(134)의 복사본을 추가로 사용한다. 비아 생성기(160)는 또한 DRC(136)를 사용하여 비아의 배치가 레이아웃에 대한 설계 규칙을 위반하지 않는지 검증한다. 비아 생성기(160) 또는 다른 도구는 또한 LVS(layout versus schematic) 검사를 수행한다. 비아의 배치가 DRC 및 LVS 검사를 통과하면, RDL 마스크 레이아웃 데이터(132)의 업데이트된 버전의 하나 이상의 복사본은 클라이언트 디바이스(150) 및 데이터 저장장치(130)에 저장된다. 이어서, 반도체 칩 테이프 아웃 프로세스(semiconductor chip tape out process)는 개발 중인 집적 회로에 대해 수행되고, 반도체 제조 프로세스는 테스트할 집적 회로의 하드웨어를 제공한다.In one implementation, a user provides
도 2를 참조하면, 집적 회로와 인쇄 회로 기판 사이에 신호 루트를 제공하는 반도체 패키지 금속 층 방식(200)(또는 금속 층 방식(200))의 일반화된 블록도가 도시되어 있다. 도시된 바와 같이, 금속 층 방식(200)은 플립 칩 상호접속으로 또한 지칭되는 C4(controlled collapse chip connection) 상호접속을 활용한다. 2개의 집적 회로(210 및 212)는 이들과 마더보드(또는 인쇄 회로 기판) 사이에 연결된 신호 루트를 가지며, 이는 예시의 용이함을 위해 도시되지 않는다. 상호접속부는 범프 패드를 사용하여 인쇄 회로 기판에 연결되는 실리콘 패키지 기판에 형성된 수직 관통형 유리 비아에 연결될 수 있다. 상호접속부(240)를 통한 마더보드와 집적 회로(210 및 212) 사이의 신호 루트에 더하여 집적 회로(210 및 212)로 오고 가는 신호 루트는 재배선 층(230)을 통해 라우팅된다. 일부 구현예에서, 금속 층 방식(200)은 재배선 층(230)과 상호접속부(240)(예를 들어, UBM(under-bump metallurgy)) 사이에 별도의 인터포저(도시되지 않음)를 추가로 포함한다. 구현예에서, 인터포저는 관통형 실리콘 비아를 포함하는 반면, 재배선 층(230)은 TSV를 포함하지 않는다. 다른 구현예에서, 인터포저 및 재배선 층(230) 각각은 하나 이상의 TSV를 포함한다. 또 다른 구현예에서, 도 2에 도시된 바와 같이 별도의 인터포저가 사용되지 않는다.2, a generalized block diagram of a semiconductor package metal layer scheme 200 (or metal layer scheme 200) is shown that provides a signal route between an integrated circuit and a printed circuit board. As shown, the metal layer approach 200 utilizes a controlled collapse chip connection (C4) interconnection, also referred to as a flip chip interconnection. The two integrated circuits 210 and 212 have signal routes connected between them and the motherboard (or printed circuit board), which are not shown for ease of illustration. The interconnect may be connected to a vertical through-glass via formed in a silicon package substrate that is connected to a printed circuit board using bump pads. In addition to the signal route between the motherboard and integrated circuits 210 and 212 via
여기서, 집적 회로는 SoC(System on a Chip)이다. 도시된 바와 같이, 하나의 SOC는 하드웨어 제품에 사용된다. 그러나, CPU, GPU, 멀티미디어 엔진, 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP) 등 중 하나 이상과 같은 집적 회로의 다른 예가 가능하고 고려된다. 상호접속부(240)는 다중 재배선 층(RDL)(1 내지 4)과 패키지 기판 및 마더보드 사이의 연결을 제공한다. 일부 구현예에서, 수백 개의 UBM 층과 C4 범프를 갖는 것이 일반적이다. 추가적으로, 4개의 금속 층(RDL 1-4)이 재배선 층(230)에 사용되지만, 다른 구현예에서, 상이한 수의 금속 층이 사용된다. 재배선 층(230)의 인접한 금속 층(RDL 1-4) 사이에는 Via2 내지 Via4로 라벨이 붙은 층의 비아가 있고, 이는 재배선 층(230)의 인접한 층 사이에 물리적 연결을 제공한다. 재배선 층(230)은 또한 SMD 핀 층의 핀과 금속 층(RDL1) 사이의 Via1 층의 비아를 포함한다. 도시된 바와 같이, 재배선 층(230)은 금속 층(RDL4)과 상호접속부(240) 사이에 Via5 층의 비아를 더 포함한다.Here, the integrated circuit is SoC (System on a Chip). As shown, one SOC is used for hardware products. However, other examples of integrated circuits are possible and contemplated, such as one or more of a CPU, GPU, multimedia engine, application specific integrated circuit (ASIC), digital signal processor (DSP), etc.
SoC(210)는 적어도 상호접속부(240)를 통해 다른 SOC(도시되지 않음) 및 마더보드(인쇄 회로 기판) 둘 모두로 그리고 이로부터 라우팅되는 신호를 가질 수 있다. 신호는 재배선 층 1(RDL1)로 지정된 금속 층 및 재배선 층 4(RDL4)로 지정된 금속 층과 같은 재배선 층(230)의 금속 층을 통해 라우팅된다. 이런 금속 층은 또한 각각 전도체 1 및 전도체 4로 지칭된다. 재배선 층(230)의 금속 층(RDL1 내지 RDL4) 외에, 신호는 또한 표면 실장 디바이스(SMD) 핀 층의 핀과 비아 층(Via1 내지 Via5)을 통해서 라우팅된다. 재배선 층(230)이 제어 신호 루트 및 데이터 신호 루트를 포함하지만, 여기서 도시된 신호 루트는 SoC(210) 및 SoC(212)에 의해 사용되는 전원 공급 장치 전압 기준 레벨 및 접지 기준 전압 레벨 중 하나 이상을 배선한다. SoC(210) 및 SoC(212) 각각은 하나 이상의 전원 공급 장치 전압 기준 레벨과 하나 이상의 접지 기준 전압 레벨을 사용할 수 있다. 일부 경우에, SoC(210) 및 SoC(212) 각각은 전원 공급 장치 전압 기준 레벨 및 하나 이상의 접지 기준 전압 레벨을 수신하기 위한 패드(220)를 사용하는 수만 개의 노드를 갖는 반면, 이러한 전압 기준 레벨을 전송하기 위한 수백 개의 UBM이 있다. 이러한 신호의 라우팅은 복잡해진다. 일부 경우에서, 금속 층(RDL1 내지 RDL4) 내의 신호 루트에 대한 레이아웃 마스크 데이터가 이미 제공되어 있지만, 이러한 금속 층에 비아를 수동으로 배치하는 것은 몇 주 또는 몇 달이 걸린다.SoC 210 may have signals routed to and from both other SOCs (not shown) and a motherboard (printed circuit board), at least via
비아 배치를 보다 효율적으로 하기 위해, 프로세서의 회로부는 사용자에 의해 제공된 속성에 기반하여 비아를 자동으로 생성하는 소프트웨어 프로그래머에 의해 개발된 알고리즘을 따르는 소프트웨어 도구의 명령어를 실행한다. RDL 자동 비아 생성기(또는 자동 비아 생성기)로 또한 지칭되는 도구는 RDL 마스크 레이아웃 데이터의 복사본과 RDL 넷리스트를 사용하여 재배선 층에서 금속 층의 배치를 식별한다. 자동 비아 생성기는 또한 사용자에 의해 공급되는 속성을 사용한다. 다양한 구현예에서, 자동 비아 생성기는 설계 규칙 검사(예를 들어, 간격 등)를 고려한다. 일부 실시예에서, 이러한 다른 도구는 DRC 및 LVS 검사를 수행한다. 검사를 통과한 후, 반도체 칩 테이프아웃 프로세스는 개발 중인 집적회로에 대해 수행되고, 반도체 제작 프로세스는 테스트할 집적회로의 하드웨어를 제공한다.To make via placement more efficient, the processor's circuitry executes instructions in a software tool that follows an algorithm developed by a software programmer to automatically create vias based on attributes provided by the user. The tool, also referred to as the RDL automatic via generator (or automatic via generator), uses a copy of the RDL mask layout data and the RDL netlist to identify the placement of metal layers in the redistribution layer. The automatic via generator also uses properties supplied by the user. In various implementations, the automatic via generator takes into account design rule checks (eg, spacing, etc.). In some embodiments, these other tools perform DRC and LVS checks. After passing inspection, the semiconductor chip tapeout process is performed on the integrated circuit under development, and the semiconductor fabrication process provides the hardware for the integrated circuit to be tested.
도 3을 참조하면, 금속 층(300)의 일반화된 블록도가 도시된다. 도시된 바와 같이, 금속 층(RDL1)(302)의 2개의 수평 신호 루트는 금속 층(RDL2)(304)의 수직 신호 루트에 의해 연결된다. 측면 A와 측면 B의 단면은 또한 3차원 레이아웃을 보는 것을 돕도록 제공된다. RDL1(302)의 금속 층은 Via2 층(306)의 비아 배치를 통해 RDL2(304)의 금속 층과 물리적으로 연결된다. RDL2(304)의 금속 층의 폭으로 인해, Via2 층(306)의 2개의 비아의 단일 열이 배치된다. 그러므로, 2개의 금속 층(RDL1)(302)과 금속 층(RDL2)(304) 각각은 물리적으로 연결된다. 다양한 구현예에서, 이런 금속 층(302 및 304)은 대응하는 집적 회로에 의해 사용되는 전원 공급 장치 전압 기준 레벨 또는 접지 기준 전압 레벨을 제공한다.3, a generalized block diagram of metal layer 300 is shown. As shown, the two horizontal signal routes of metal layer (RDL1) 302 are connected by a vertical signal route of metal layer (RDL2) 304. Cross sections of Side A and Side B are also provided to help view the three-dimensional layout. The metal layer of RDL1 (302) is physically connected to the metal layer of RDL2 (304) through via placement in the Via2 layer (306). Due to the width of the metal layer of RDL2 (304), a single row of two vias in Via2 layer (306) is placed. Therefore, each of the two metal layers (RDL1) 302 and the metal layer (RDL2) 304 is physically connected. In various implementations, these
배향이 수평 및 수직으로 설명되어 있지만, 반도체 패키지가 회전할 수 있고 재배선 층이 회전될 수 있는 것이 이해된다. 현재 배향은 금속 층과 비아 사이의 관계를 설명하는 데 사용된다. 여기서, 금속 층(RDL2)(304)은 금속 층(RDL1)(302) 위에 배치되므로, SoC 또는 다른 집적 회로는 이 다이어그램의 페이지에 배치되는 반면, UBM 및 실리콘 패키지 기판은 이 다이어그램의 페이지 외부에 위치된다. 반대 배향이 가능하고 고려되지만, 이 논의에서, 집적 회로가 페이지에 위치된다.Although the orientations are described as horizontal and vertical, it is understood that the semiconductor package may rotate and the redistribution layer may rotate. Current orientation is used to describe the relationship between metal layers and vias. Here, the metal layer (RDL2) 304 is placed above the metal layer (RDL1) 302, so that the SoC or other integrated circuit is placed on the page of this diagram, while the UBM and silicon package substrate are placed outside the page of this diagram. is located. For this discussion, the integrated circuit is positioned on the page, although reverse orientations are possible and contemplated.
도 4를 참조하면, 금속 층(400)의 일반화된 블록도가 도시된다. 이전에 설명된 재료와 구조는 동일하게 넘버링된다. 도시된 바와 같이, 금속 층(RDL1)(302)의 2개의 수평 신호 루트는 금속 층(RDL2)(304)의 수직 신호 루트에 의해 연결된다. 측면 A와 측면 B의 단면은 또한 3차원 레이아웃을 보는 것을 돕도록 제공된다. RDL1(302)의 금속 층은 Via2 층(306)의 비아 배치를 통해 RDL2(304)의 금속 층과 물리적으로 연결된다. RDL2(304)의 금속 층의 보다 큰 폭으로 인해, Via2 층(306)의 2개의 비아의 2개의 열이 배치된다.4, a generalized block diagram of metal layer 400 is shown. Materials and structures previously described are numbered identically. As shown, the two horizontal signal routes of metal layer (RDL1) 302 are connected by a vertical signal route of metal layer (RDL2) 304. Cross sections of Side A and Side B are also provided to help view the three-dimensional layout. The metal layer of RDL1 (302) is physically connected to the metal layer of RDL2 (304) through via placement in the Via2 layer (306). Due to the larger width of the metal layer of RDL2 (304), two rows of two vias of Via2 layer (306) are placed.
도 5를 참조하면, 금속 층(500)의 일반화된 블록도가 도시된다. 이전에 설명된 재료와 구조는 동일하게 넘버링된다. 도시된 바와 같이, 금속 층(RDL1)(302)의 2개의 수평 신호 루트는 금속 층(RDL2)(304)의 수직 신호 루트에 의해 연결된다. 측면 A와 측면 B의 단면은 또한 3차원 레이아웃을 보는 것을 돕도록 제공된다. RDL1(302)의 금속 층은 Via2 층(306)의 비아 배치를 통해 RDL2(304)의 금속 층과 물리적으로 연결된다. 상단 금속 층(RDL3)(502)의 절단부는 Via2 층(306)의 2개의 비아의 단일 열의 배치를 도시한다. 추가적으로, 금속 층(RDL3)(502)의 2개의 수평 신호 루트는 금속 층(RDL2)(304)의 동일한 수직 신호 루트에 의해 연결된다. 금속 층(RDL3)(502)은 금속 층(300 내지 500)(도 3 및 도 4)에 대한 이전 배향을 사용하여 금속 층(RDL2)(304) 위에 위치된다. 그러므로, 2개의 금속 층(RDL1)(302), 단일 금속 층(RDL2)(304), 및 2개의 금속 층(RDL3)(502) 각각은 물리적으로 연결된다.5, a generalized block diagram of metal layer 500 is shown. Materials and structures previously described are numbered identically. As shown, the two horizontal signal routes of metal layer (RDL1) 302 are connected by a vertical signal route of metal layer (RDL2) 304. Cross sections of Side A and Side B are also provided to help view the three-dimensional layout. The metal layer of RDL1 (302) is physically connected to the metal layer of RDL2 (304) through via placement in the Via2 layer (306). A cut in the top metal layer (RDL3) 502 shows the placement of a single row of two vias in the
다양한 구현예에서, 이런 금속 층(302, 304 및 502)은 대응하는 집적 회로에 의해 사용되는 전원 공급 장치 전압 기준 레벨 또는 접지 기준 전압 레벨을 제공한다. RDL3(502)의 금속 층은 Via3 층(504)의 비아 배치를 통해 RDL2(304)의 금속 층과 물리적으로 연결된다. RDL2(304)의 금속 층의 폭과 Via2 층(306)의 비아에 필요한 면적으로 인해, Via3 층(504)의 2개의 비아의 단일 열은 RDL3(502)의 금속 층 각각에 의해 사용된다. Via2 층(306) 및 Via3 층(504)의 비아가 3개의 인접한 층이 아닌, 2개의 인접한 층과만 물리적 연결을 갖는 것에 유의한다. 다양한 구현예에서, 설계 규칙 검사(DRC)는 제3 금속 층에 대한 물리적 연결을 허용하지 않는다. 그러므로, 도시된 바와 같이, Via2 층(306)의 비아는 RDL1(302)과 RDL2(304)의 금속 층 사이에 배치되지만, Via2 층(306)의 비아는 RDL3(502)의 금속 층과 물리적으로 연결되기 위해 수직 방향으로 연속되지 않는다. 유사하게, Via3 층(504)의 비아는 RDL2(304)과 RDL3(502)의 금속 층 사이에 배치되지만, Via3 층(504)의 비아는 RDL1(302)의 금속 층과 물리적으로 연결되기 위해 수직 방향으로 연속되지 않는다. 그러나, 다른 구현예에서, DRC는 3개 이상의 금속 층을 통해 형성된 관통 홀 비아의 사용을 허용한다.In various implementations, these
도 3 내지 도 5에 예시된 위의 예에서, 금속 중첩 영역이 RDL의 금속 층 사이에 있고 직사각형 형상을 갖는다는 것에 유의한다. 그러나, 다른 예에서, 금속 중첩 영역은 표면 실장 디바이스(SMD) 핀 층의 핀과 RDL의 금속 층 사이에 있다. 금속 중첩 영역이 이 예들에서 원형 형상을 갖는 것이 가능하고 고려된다. 또 다른 예에서, 금속 중첩 영역은 RDL의 금속 층과 C4 범프에 대한 전기적 연결을 제공하는 UBM(under-bump metallurgy) 층 사이에 있다.Note that in the above example illustrated in Figures 3-5, the metal overlap region is between the metal layers of the RDL and has a rectangular shape. However, in another example, the metal overlap region is between the fins of the surface mount device (SMD) fin layer and the metal layer of the RDL. It is possible and contemplated that the metal overlap area has a circular shape in these examples. In another example, the metal overlap region is between the metal layer of the RDL and the under-bump metallurgy (UBM) layer that provides the electrical connection to the C4 bump.
도 6을 참조하면, 그래픽 사용자 인터페이스(GUI)(600)의 일반화된 블록도가 도시된다. 도시된 바와 같이, GUI(600)는 재배선 층에서 자동 비아 생성에 사용되는 다중 속성을 맞춤화하기 위한 다중 선택을 포함한다. 사용자는 제공된 드롭다운 메뉴(dropdown menu), 텍스트를 수신하기 위한 입력 상자, 선택을 나타내기 위해 컬러를 변경하는 체크박스 또는 다른 형상 중 하나 이상을 사용하여 다중 속성에 대한 선택을 제공할 수 있다. 박스(602)는 사용자가 자동 비아 생성을 위해 재배선 층에서 지리적 구역을 선택하게 한다. 예를 들어, 사용자는 자동 비아 생성을 위한 구역을 정의하는 경계를 갖는 형상을 그릴 수 있다. 대안적으로, 사용자는 기존 설계 아웃라인을 선택할 수 있다.6, a generalized block diagram of a graphical user interface (GUI) 600 is shown. As shown, GUI 600 includes multiple selections to customize multiple attributes used for automatic via creation in the redistribution layer. The user can provide selection for multiple attributes using one or more of the provided dropdown menus, input boxes to receive text, checkboxes that change color to indicate selection, or other shapes.
일부 구현예에서, 테이블에 다수의 필드가 제공된다. 필드(604)는 자동 비아 생성을 위해 맞춤화할 인접 층을 나타낸다. 도시된 바와 같이, 제1 행은 금속 층(RDL1)과 SMD 핀 층을 나타낸다. Via1 층은 이 2개의 층(RDL1 및 SMD 핀) 사이에 있다. 제2 행은 금속 층(RDL1)과 금속 층(RDL2)을 나타낸다. Via2 층은 이런 2개의 금속 층(RDL1 및 RDL2) 사이에 있다. 제3 및 제4 행은 비아 층을 식별하는 것과 동일한 관례를 따른다. 마지막 행은 C4 범프에 물리적으로 연결된 UBM 및 금속 층(RDL4)을 나타낸다. Via5 층은 이 2개의 층(RDL4 및 UBM) 사이에 있다. 필드(606)는 비아 층 각각에 대한 비아 패드 스택을 나타낸다. 비아 패드 스택은 유전체의 비아 개구(들) 끝에 있는 금속 층과 같은 단일 비아 정의 또는 다수의 비아 정의를 설명하는 특징을 포함한다. 패드 스택 정의는 또한 비아를 생성하는 데 사용되는 재배선 층의 홀(비아 개구)을 설명한다. 이러한 특징은 홀이 도금되었는지 아닌지 여부를 포함한다. 추가로 이러한 특징은 홀의 크기(직경), 완성된 홀의 크기, 내부 및 외부 층에 형성된 패드의 크기, 및 홀 주변의 간격 크기를 나타낸다. 사용자는 필드(608)에 비아 피치를 나타낸다.In some implementations, a table is provided with multiple fields.
비아 배치를 설명하는 필드(610)는 3개의 서브필드를 포함한다. 제1 서브필드는 기준 금속을 나타낸다. 예를 들어, Via2 층은 2개의 금속 층(RDL1 및 RDL2) 사이에 있다. 사용자는 RDL1 및 RDL2 층의 금속 중첩 영역에 있는 비아의 배치를 설명하는 데 사용할 기준 금속으로 이러한 금속 층(RDL1 및 RDL2) 중 하나를 선택한다. 사용자는 제2 서브필드로 시작점을 선택한다. 시작점은 선택된 기준 금속을 지칭하고 또한 선택된 기준 금속의 에지가 자동 비아 배치되는 것을 나타낸다. 예로서, Via2 층에 대해 금속 층(500)(도 5)을 다시 간단히 참조하면, 사용자는 금속 층(RDL2)을 나타내는 기준 금속으로 "상단"을 선택한다. 사용자는 시작점으로 "레일 우측 에지"를 선택하고, 사용자는 제3 서브필드인 방향으로 "수직"을 선택한다. 수직 및 수평 방향은 금속 중첩 영역에 배치되는 다수의 비아의 패드 스택 배치를 결정하는 데 사용된다. 금속 중첩 영역에 다수의 비아를 배치하는 예가 도 3 내지 도 5에 제공된다.The
다양한 구현예에서, 필드(610)의 서브필드 중 하나 또는 GUI(600)의 다른 필드(도시되지 않음)는 사용자가 홀 유형 및 대응하는 비아 유형을 지정하게 하는 표시를 포함한다. 예를 들어, 사용자는 비아의 홀이 관통 홀 비아의 홀인지, 마이크로비아 스택의 다수의 홀들의 홀인지, 블라인드 마이크로비아의 홀인지, 매립된 홀의 홀인지, 또는 구리 충전 마이크로비아의 홀인지를 지정할 수 있다. 다른 구현예에서, 홀 유형 및 대응하는 비아 유형의 선택은 사용자에 의해 허용되지 않는다. 오히려, 반도체 제작 프로세스는 이미 RDL의 금속 층 사이에 홀 유형 및 대응하는 비아 유형을 정의하고 있다. 이 정보는 사용자에 의해 제공된 속성에 기반하여 비아를 생성할 때 RDL 자동 비아 생성기에 의해 액세스되는 다른 파일에 의해 제공된다.In various implementations, one of the subfields of
일부 구현예에서, 테이블의 행이 금속 층을 건너뛰는 하나 이상의 비아 층을 식별하는 것에 유의한다. 일 예에서, 행(도시되지 않음)은 금속 층(RDL2 및 RDL4)을 나타낸다. 하나 이상의 비아는 2개의 금속 층(RDL2 및 RDL4) 사이에 있지만, 금속 층(RDL3)을 통과하지 않는다. 앞에서 설명된 바와 같이, RDL의 금속 층 사이에 있는 홀 유형과 대응하는 비아 유형은 사용자에 의해 지정되거나 반도체 제작 프로세스에 의해 미리 지정된다. 다른 필드 또는 다른 표시자는 이러한 특정 중첩 영역에 금속 층(RDL3)이 없음을 나타낸다. 그러므로, 이러한 특정 중첩 영역에서 RDL2와 RDL4 사이에 금속 층(RDL3)의 금속 없이 유전체만 존재한다. 일부 구현예에서, GUI(600) 테이블의 하나 이상의 필드는 대응하는 금속 층 사이의 대응하는 비아의 두께(깊이)를 식별하는 비아 층의 단면 정의를 포함한다. 패드 스택 정의는 앞서 설명된 바와 같이 비아의 직경을 제공한다. 추가로, 일부 구현예에서, GUI(600) 테이블의 필드는 Via1 층 및 Via3 층의 비아와 같은 비아 적층 규칙이 동일한 수직 정렬된 중첩 영역에 배치(적층)되도록 허용되는 반면, Via2 층이 이와 동일한 수직 정렬된 중첩 영역에 배치되도록 허용되지 않음을 나타낸다.Note that in some implementations, a row of the table identifies one or more via layers that skip a metal layer. In one example, rows (not shown) represent metal layers (RDL2 and RDL4). One or more vias are between two metal layers (RDL2 and RDL4), but do not pass through the metal layer (RDL3). As previously explained, the hole types and corresponding via types between the metal layers of the RDL are either specified by the user or pre-specified by the semiconductor fabrication process. Other fields or other indicators indicate the absence of a metal layer (RDL3) in this particular overlapping region. Therefore, in this particular overlap region, only the dielectric exists without the metal of the metal layer (RDL3) between RDL2 and RDL4. In some implementations, one or more fields of the GUI 600 table include a cross-section definition of a via layer that identifies the thickness (depth) of a corresponding via between corresponding metal layers. The pad stack definition provides the diameter of the via as previously described. Additionally, in some implementations, fields in the GUI 600 table allow via stacking rules such as vias in the Via1 layer and Via3 layer to be placed (stacked) in the same vertically aligned overlap area, while Via2 layer has the same Indicates that it is not allowed to be placed in a vertically aligned overlapping area.
필드(620)는 재배선 층에서 자동 비아 생성에 사용할 시퀀스 순서를 나타낸다. 연속적인 인접 방식으로 비아 층을 횡단하는 것은 필요하지 않다. 사용자는 자동 비아 생성기가 사용하는 비아 층의 순서를 맞춤화할 수 있다. 일부 경우에서, 자동 비아 생성기가 Via1 층의 피치를 사용하여 DRC를 여전히 만족시키면서 SMD 핀 층의 핀 구역 내부에 맞도록 Via1 층의 최대 비아 수를 사용하는 것으로 디폴트화되는 것에 유의한다. 다양한 구현예에서, SMD 핀 층의 핀은 Via1 층의 비아보다 훨씬 더 크다.
또한, 하나 이상의 비아 층(테이블의 하나 이상의 행)이 특정 비아 층에 대해 반복이 발생함을 나타내는 다중 시퀀스 번호를 갖는다는 것에 유의한다. 예를 들어, 금속 층(400-500)(도 4 및 도 5)을 다시 간단히 참조하면, Via2 층의 제1 패스(pass)는 수직 금속 층(RDL2)의 우측 에지에 Via2 층의 단일 열의 비아만을 추가한다. 금속 층(500)에 도시된 바와 같이 금속 층(RDL1)과 중첩하는 금속 층(RDL3)을 또한 갖는 재배선 층의 부분에 대해, Via2 층의 비아의 배치가 완료되었다. 그러나, 금속 층(400)에 도시된 바와 같이 금속 층(RDL1)과 중첩하는 금속 층(RDL3)을 갖지 않는 재배선 층의 부분에 대해, Via2층의 더 많은 비아를 추가하는 것이 가능하다.Also, note that more than one via layer (one or more rows of the table) has multiple sequence numbers indicating that a repetition occurs for that particular via layer. For example, briefly referring back to metal layers 400-500 (FIGS. 4 and 5), the first pass of the Via2 layer is a single row of vias of the Via2 layer at the right edge of the vertical metal layer RDL2. Add only For the portion of the redistribution layer that also has metal layer RDL3 overlapping with metal layer RDL1 as shown in metal layer 500, placement of vias in layer Via2 has been completed. However, for the portion of the redistribution layer that does not have the metal layer RDL3 overlapping the metal layer RDL1 as shown in the metal layer 400, it is possible to add more vias of the Via2 layer.
필드(630)는 사용자가 DRC 위반을 허용할지 여부를 나타내게 한다. 예를 들어, 사용자는 Via1 층 및 Via3 층의 비아와 같은 2개의 상이한 층의 비아를 엇갈리게 배치하려고 한다. 그러므로, 동일한 비아 층에서 DRC 간격을 계속 만족시키면서 더 많은 비아가 특정 구역에 설치된다. 필드(630)는 또한 사용자가, GUI(600)의 다수의 필드에 제공된 속성을 사용하여 자동 비아 생성의 결과 정보를 제공하여 보고서가 생성되는지 여부를 표시하게 한다.
이제 도 7을 참조하면, 재배선 층에서 자동 비아 생성을 위한 방법(700)의 일 실시예가 도시된다. 설명을 위해, 이 실시예(및 도 8)의 단계가 순차적인 순서로 도시된다. 그러나, 다른 실시예에서, 일부 단계는 도시된 것과 상이한 순서로 발생하고, 일부 단계는 동시에 수행되고, 일부 단계는 다른 단계와 결합되고, 일부 단계는 생략된다.Referring now to Figure 7, one embodiment of a
사용자는 재배선 층에서 자동 비아 생성을 맞춤화하기 위한 속성을 선택한다(블록(702)). 일 구현예에서, 사용자는 그래픽 사용자 인터페이스(GUI)를 통해 자동 비아 생성기에 속성을 제공한다. GUI(600)(도 6)는 하나의 예이다. 다른 구현예에서, 사용자는 다양한 스크립팅 언어 중 하나로 작성된 텍스트 파일 또는 실행 파일을 통해 자동 비아 생성기에 속성을 제공한다. 사용자는 자동 비아 생성기의 실행을 개시하고 대응 컴퓨팅 디바이스의 프로세서는 속성에 기반하여 재배선 층에서 자동 비아 생성을 수행한다(블록(704)). 일 구현예에서 이러한 자동 생성은 기준 금속 식별, 시작점, 방향 및 시퀀스와 같은 속성을 수신하는 것을 포함한다. 추가적으로, 중첩 영역은 위에서 설명된 바와 같이 식별된다. 이 정보에 기반하여, 금속 층 사이에 하나 이상의 비아 배치를 나타내는 데이터가 생성된다. 게다가, 속성은 비아 사이의 간격을 결정하는 데 사용되는 주어진 층에 대한 피치 및 크기 정보를 포함할 수 있다. 추가로, 위에서 논의된 바와 같이, 구현예에서, 자동 프로세스는 중첩 영역을 절반으로 분할하고 중첩 영역 위와 아래 둘 모두에 비아를 배치하도록 구성된다. 후속하여, 사용자는 설계 규칙 검사(DRC) 검증 및 LVS(layout versus schematic) 검증을 수행하기 위해 하나 이상의 도구를 실행한다(블록(706)).The user selects properties to customize automatic via creation in the redistribution layer (block 702). In one implementation, a user provides properties to the automatic via generator through a graphical user interface (GUI). GUI 600 (Figure 6) is one example. In another implementation, a user provides properties to the automatic via generator through a text file or executable file written in one of a variety of scripting languages. The user initiates execution of the automatic via generator and the processor of the corresponding computing device performs automatic via generation in the redistribution layer based on the attributes (block 704). In one implementation, this automatic generation includes receiving properties such as reference metal identification, starting point, direction, and sequence. Additionally, overlapping areas are identified as described above. Based on this information, data is generated representing the placement of one or more vias between metal layers. Additionally, the properties may include pitch and size information for a given layer, which is used to determine spacing between vias. Additionally, as discussed above, in implementations, the automated process is configured to split the overlapping region in half and place vias both above and below the overlapping region. Subsequently, the user executes one or more tools to perform design rule checking (DRC) verification and layout versus schematic (LVS) verification (block 706).
사용자는 자동 비아 생성 결과가 재배선 층의 특정 구역에서 비아 이중화(via redundancy) 척도(measure) 및 등가 비아 저항 척도와 같은 설계 요건을 만족하는지 여부를 결정한다. 결과가 설계 요건을 만족하지 않으면(조건 블록(708)의 "아니요" 분기), 방법(700)의 제어 흐름은 사용자가 속성을 선택하는 블록(702)으로 돌아간다. 결과가 설계 요건을 만족하는 경우(조건 블록(708)의 "예" 분기), 반도체 패키지의 설계는 테이프 아웃(tape out)되어 제작된다(블록(710)).Users determine whether the results of automatic via generation meet design requirements such as via redundancy measure and equivalent via resistance measure in specific regions of the redistribution layer. If the result does not meet the design requirements (“No” branch of condition block 708), control flow of
전위가 반도체 패키지의 집적 회로의 제1 노드에 인가되지 않으면(조건 블록(712)의 "아니요" 분기), 반도체 패키지는 전원이 켜질 때까지 대기한다(블록(714)). 그러나, 전위가 제1 노드에 인가되어 전위차가 생성되면(조건 블록(710)의 "예" 분기), 재배선 층에서 자동으로 생성된 금속 층과 비아는 집적 회로와 마더보드 사이에 전류를 전달한다(블록(716)).If a potential is not applied to the first node of the semiconductor package's integrated circuit (“No” branch of condition block 712), the semiconductor package waits until powered on (block 714). However, when a potential is applied to the first node to create a potential difference (“Yes” branch of condition block 710), the automatically created metal layers and vias in the redistribution layer carry current between the integrated circuit and the motherboard. Do (block 716).
도 8을 참조하면, 재배선 층에서 자동 비아 생성을 위한 방법(800)의 일 실시예가 도시된다. 사용자는 재배선 층에서 자동 비아 생성에 사용할 자동 비아 생성기의 속성을 정의한다. 일 구현예에서, 사용자는 그래픽 사용자 인터페이스(GUI)를 통해 자동 비아 생성기에 속성을 제공한다. GUI(600)(도 6). 다른 구현예에서, 사용자는 다양한 스크립팅 언어 중 하나로 작성된 텍스트 파일 또는 실행 파일을 통해 자동 비아 생성기에 속성을 제공한다. 프로세서가 자동 비아 생성기의 명령어를 실행할 때, 프로세서는 재배선 층의 원위 단부에 패드를 정의한다(블록(802)). 예를 들어, 사용자는 패드 내부에 사용할 피치를 정의한다. 일 예에서, 사용자는 SMD 핀 층의 핀에 연결하기 위해 Via1 층의 비아의 피치를 정의한다. 사용자는 기존 DRC 규칙을 만족하는 것 및 SMD 핀 층의 대응 핀에 물리적으로 연결되는 Via1 층의 비아 수를 최대화하는 것 둘 모두를 위해 피치를 선택한다. 사용자에 의해 입력된 속성에 기반하여, 프로세서는 재배선 층 스택의 상단에 있는 SMD 핀 층의 핀을 정의하고 재배선 층 스택의 하단에 있는 Via5 층의 비아를 정의하고, 여기서 상단 및 하단은 배향을 나타낸다.8, one embodiment of a method 800 for automatic via creation in a redistribution layer is shown. The user defines the properties of the automatic via generator to be used for automatic via creation in the redistribution layer. In one implementation, a user provides properties to the automatic via generator through a graphical user interface (GUI). GUI 600 (FIG. 6). In another implementation, a user provides properties to the automatic via generator through a text file or executable file written in one of a variety of scripting languages. When the processor executes the instructions of the automatic via generator, the processor defines a pad at the distal end of the redistribution layer (block 802). For example, the user defines the pitch to be used inside the pad. In one example, the user defines the pitch of vias in the Via1 layer to connect to pins of the SMD pin layer. The user selects the pitch both to satisfy existing DRC rules and to maximize the number of vias in the Via1 layer that are physically connected to corresponding pins in the SMD pin layer. Based on the properties entered by the user, the processor defines the pins of the SMD pin layer at the top of the redistribution layer stack and the vias of the Via5 layer at the bottom of the redistribution layer stack, where the top and bottom are oriented. represents.
프로세서는 금속 중첩 영역을 계산한다(블록(804)). 금속 층(RDL1 및 RDL2) 사이의 금속 중첩 영역의 예는 금속 층(300-500)(도 3-도 5)에 도시되어 있다. 금속 층(RDL2 및 RDL3) 사이의 금속 중첩 영역의 예는 금속 층(500)(도 5)에 도시되어 있다. 다른 예에서, 프로세서는 SMD 핀 층의 핀과 RDL의 금속 층 사이의 금속 중첩 영역을 계산한다. 또 다른 예에서, 프로세서는 RDL의 금속 층과 C4 범프에 대한 전기적 연결을 제공하는 UBM(under-bump metallurgy) 층 사이의 금속 중첩 영역을 계산한다. 금속 중첩 영역의 형상은 금속 중첩 영역을 정의하는 상부 층과 하부 층에 기반하여 정사각형, 직사각형, 원형이다. 일부 구현예에서, 수신된 속성에 기반하여, 프로세서는 비아 층이 중첩 영역 위 및 아래 둘 모두에 배치되게 하도록 중첩 영역을 절반으로 분할한다. 이러한 유형의 비아 배치의 예가 금속 층(500)(도 5)에 도시되어 있다. 기준 금속, 시작점 및 방향을 나타내는 속성에 기반하여, 프로세서는 상이한 비아 층 유형(예를 들어, Via2, Via3)의 비아를 중첩 영역에 배치한다. 일부 구현예에서, 상단(위) 비아가 분할된 영역에서 이미 자리를 잡은 경우, 하단(아래) 비아는 나머지 절반에 배치된다. 2개의 인접 층 중첩 영역이 동일한 위치에 있지 않은 경우, 중첩 영역은 하단 비아에 완전히 활용되고, 그 반대도 마찬가지이다(예를 들어, RDL1과 RDL3은 동일한 평면에 있지 않음). 이러한 접근법은 DRC 제약이 비아의 적층을 허용하지 않는 경우에 사용될 수 있다.The processor calculates the metal overlap area (block 804). An example of a metal overlap region between metal layers RDL1 and RDL2 is shown in metal layers 300-500 (FIGS. 3-5). An example of a metal overlap region between metal layers RDL2 and RDL3 is shown in metal layer 500 (FIG. 5). In another example, the processor calculates the metal overlap area between the pins of the SMD pin layer and the metal layer of the RDL. In another example, the processor calculates the metal overlap area between the metal layer of the RDL and the under-bump metallurgy (UBM) layer that provides the electrical connection to the C4 bump. The shape of the metal overlap area is square, rectangular, or circular based on the top and bottom layers that define the metal overlap area. In some implementations, based on the received attributes, the processor splits the overlap region in half such that the via layer is placed both above and below the overlap region. An example of this type of via placement is shown in metal layer 500 (Figure 5). Based on the properties indicating the reference metal, starting point, and direction, the processor places vias of different via layer types (e.g., Via2, Via3) in the overlapping region. In some implementations, if the top (top) via is already in place in the divided region, the bottom (bottom) via is placed in the other half. If the overlap area of two adjacent layers is not in the same location, the overlap area is fully utilized by the bottom via, and vice versa (for example, RDL1 and RDL3 are not in the same plane). This approach can be used when DRC constraints do not allow stacking of vias.
프로세서는 표시된 시퀀스에 기반하여 비아를 생성한다(블록(806)). 표시된 시퀀스는 사용자로부터 수신된 속성에 지정된다. 시퀀스 순서는 자동 비아 생성을 개시하는 데 사용할 비아 층과 추가 자동 비아 생성을 위해 선택할 각각의 후속 비아 층을 결정한다. 비아는 DRC 규칙을 만족시키기 위해 현재 선택된 비아 층에 대응하는 크기와 피치에 기반하여 배치된다. 게다가, 프로세서는 신호 루트의 금속 층 치수를 변경하지 않는다. 소정 비아 층에 대한 다수의 시퀀스가 수신된 속성에 지정된 경우, 프로세서는 가능한 경우 비아 층에 추가 비아를 배치한다. 일부 경우에서 비아 이중화가 이미 존재하지만, 자동 비아 생성기는 가능한 경우 비아 카운트를 계속 증가시킨다. 프로세서는 보고서를 생성한다(블록(808)). 프로세서는 자동 비아 생성 동안 로그 파일을 유지하고 대응 정보를 사용하여 보고서에 요약된 결과를 제공한다. 다양한 구현예에서, 프로세서는 알려진 목적지에 위치된 파일을 작성한다.The processor creates a via based on the indicated sequence (block 806). The displayed sequence is assigned to the attributes received from the user. The sequence order determines which via layer will be used to initiate automatic via creation and which each subsequent via layer will be selected for further automatic via creation. Vias are placed based on the size and pitch corresponding to the currently selected via layer to satisfy the DRC rules. Additionally, the processor does not change the metal layer dimensions of the signal root. If multiple sequences for a given via layer are specified in the received attribute, the processor places additional vias in the via layer if possible. In some cases via redundancy already exists, but the automatic via generator continues to increase the via count when possible. The processor generates a report (block 808). The processor maintains log files during automatic via creation and uses the corresponding information to provide summarized results in a report. In various implementations, the processor creates a file located at a known destination.
도 9를 참조하면, 자동으로 배치된 비아를 갖는 재배선 층을 활용하는 컴퓨팅 시스템(900)의 일 구현이 도시된다. 컴퓨팅 시스템(900)은 재배선 층에 자동으로 생성된 비아를 포함하는 칩 패키지(940)를 활용한다. 칩 패키지(940)는 마더보드(또는 인쇄 회로 기판) 상의 다른 구성요소와 통신하는 BGA(Ball Grid Array) 표면 실장 패키지, CSP(Chip Scale Package), 및 SiP(System in Package) 중 하나를 사용한다. 구현예에서, 컴퓨팅 시스템(900)은 칩 패키지(940)에 프로세서(910) 및 메모리(930)를 포함한다. 다른 구현예에서, 프로세서(910)와 메모리(930) 중 하나만이 칩 패키지(940)에 포함된다. 메모리 제어기, 버스 또는 통신 패브릭, 하나 이상의 위상 고정 루프(PLL) 및 다른 클록 생성 회로부, 전력 관리 유닛 등과 같은 인터페이스는 예시의 용이함을 위해 도시되지 않는다. 추가적으로, 예시된 구현예에서, 칩 패키지(940)는 메모리 버스(950), 입출력(I/O) 제어기 및 버스(952)를 통해 디스크 메모리(954)에 연결된다.9, one implementation of a computing system 900 is shown that utilizes a redistribution layer with automatically placed vias. Computing system 900 utilizes a chip package 940 that includes automatically created vias in a redistribution layer. Chip package 940 uses one of a Ball Grid Array (BGA) surface mount package, a Chip Scale Package (CSP), and a System in Package (SiP) that communicates with other components on a motherboard (or printed circuit board). . In an implementation, computing system 900 includes
다른 구현예에서, 컴퓨팅 시스템(900)이 프로세서(910)와 동일한 유형 또는 상이한 유형의 하나 이상의 다른 프로세서, 하나 이상의 주변 디바이스, 네트워크 인터페이스, 하나 이상의 다른 메모리 디바이스 등을 포함하는 것이 이해된다. 일부 구현예에서, 컴퓨팅 시스템(900)의 기능은 시스템 온 칩(SoC)에 통합된다. 다른 구현예에서, 컴퓨팅 시스템(900)의 기능은 마더보드에 삽입된 주변 카드에 통합된다. 컴퓨팅 시스템(900)은 데스크톱 컴퓨터, 태블릿 컴퓨터, 랩톱, 스마트폰, 스마트워치, 게임 콘솔, 개인 보조 디바이스 등과 같은 다양한 컴퓨팅 디바이스 중 임의의 디바이스에서 사용된다.In other implementations, it is understood that computing system 900 includes one or more other processors of the same or different type as
프로세서(910)는 회로부(circuitry) 같은 하드웨어를 포함한다. 다양한 구현예에서, 프로세서(910)는 하나 이상의 프로세싱 유닛을 포함한다. 일부 구현예에서, 프로세싱 유닛 각각은 범용 데이터 프로세싱이 가능한 하나 이상의 프로세서 코어, 및 연관된 캐시 메모리 서브시스템을 포함한다. 이러한 구현예에서, 프로세서(910)는 중앙 프로세싱 유닛(CPU)이다. 다른 구현예에서, 프로세싱 코어는 각각 다수의 병렬 실행 레인 및 연관된 데이터 저장 버퍼를 갖는 고도로 병렬인 데이터 마이크로아키텍처를 갖춘 컴퓨팅 유닛이다. 이러한 구현예에서, 프로세서(910)는 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세서(DSP) 등이다.The
일부 구현예에서, 메모리(930)는 다양한 유형의 DRAM(dynamic random access memory) 중 하나를 포함한다. 메모리(930)는 운영 체제(OS)(932)의 적어도 일부, 코드(934)로 표현되는 하나 이상의 애플리케이션, 및 적어도 소스 데이터(936)를 저장한다. 다양한 구현예에서, 메모리(930)는 디스크 메모리(954)에 저장된 원본의 복사본을 갖는 이런 소프트웨어 구성요소(932, 934 및 936)의 복사본을 저장한다. 메모리(930)는 또한 코드(934)의 특정 애플리케이션을 실행할 때 프로세서(910)에 의해 생성된 중간 결과 데이터 및 최종 결과 데이터를 저장할 수 있다.In some implementations, memory 930 includes one of various types of dynamic random access memory (DRAM). Memory 930 stores at least a portion of an operating system (OS) 932, one or more applications represented by
다양한 구현예에서, 오프칩 디스크 메모리(954)는 하나 이상의 하드 디스크 드라이브(HDD) 및 플래시 메모리 뱅크를 포함하는 SSD(Solid-State Disk)를 포함한다. I/O 제어기 및 버스(952)는 오프칩 디스크 메모리(954)와의 통신 프로토콜을 지원한다. 단일 운영 체제(932) 및 코드(934)의 단일 인스턴스 및 소스 데이터(936)가 도시되어 있지만, 다른 구현예에서, 다른 개수의 이런 소프트웨어 구성요소가 메모리(930) 및 디스크 메모리(954)에 저장된다. 운영 체제(932)는 프로세서(910)의 부팅을 개시하고, 태스크를 하드웨어 회로부에 할당하고, 컴퓨팅 시스템(900)의 자원을 관리하고, 하나 이상의 가상 환경을 호스팅하기 위한 명령어를 포함한다.In various implementations, off-
위에서 설명된 실시예 중 하나 이상이 소프트웨어를 포함한다는 것에 유의한다. 이러한 실시예에서, 방법 및/또는 메커니즘을 구현하는 프로그램 명령어는 컴퓨터 판독가능 매체에 전달되거나 저장된다. 프로그램 명령어를 저장하도록 구성된 다양한 유형의 미디어는 이용 가능하고 하드 디스크, 플로피 디스크, CD-ROM, DVD, 플래시 메모리, 프로그램 가능 ROM(PROM), 랜덤 액세스 메모리(RAM) 및 다양한 다른 형태의 휘발성 또는 비휘발성 저장장치를 포함한다. 일반적으로 말하면, 컴퓨터 액세스 가능한 저장 매체는 컴퓨터에 명령어 및/또는 데이터를 제공하기 위해 사용 중에 컴퓨터에 의해 액세스 가능한 모든 저장 매체를 포함한다. 예를 들어, 컴퓨터 액세스 가능한 저장 매체는 자기 또는 광학 매체와 같은 저장 매체, 예를 들어 디스크(고정식 또는 이동식), 테이프, CD-ROM 또는 DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW 또는 블루레이를 포함한다. 저장 매체는 RAM(예를 들어, 동기식 동적 RAM(SDRAM), 이중 데이터 레이트(DDR, DDR2, DDR3 등) SDRAM, 저전력 DDR(LPDDR2 등), SDRAM, 램버스 DRAM(RDRAM), 정적 RAM(SRAM) 등), ROM, 플래시 메모리, USB(Universal Serial Bus) 인터페이스 같은 주변 인터페이스를 통해 액세스 가능한 비휘발성 메모리(예를 들어, 플래시 메모리) 등 같은 휘발성 또는 비휘발성 메모리 매체를 더 포함한다.저장 매체는 MEMS(Microelectromechanical Systems), 및 네트워크 및/또는 무선 링크와 같은 통신 매체를 통해 액세스 가능한 저장 매체를 포함한다.Note that one or more of the embodiments described above include software. In such embodiments, program instructions implementing the methods and/or mechanisms are transmitted or stored in a computer-readable medium. Many types of media configured to store program instructions are available and include hard disks, floppy disks, CD-ROMs, DVDs, flash memory, programmable ROM (PROM), random access memory (RAM), and various other forms of volatile or non-volatile media. Includes volatile storage. Generally speaking, computer-accessible storage media includes any storage media that can be accessed by a computer during use to provide instructions and/or data to the computer. For example, a computer-accessible storage medium is any storage medium, such as magnetic or optical media, such as disks (stationary or removable), tape, CD-ROM or DVD-ROM, CD-R, CD-RW, DVD-R. , DVD-RW or Blu-ray. Storage media can be RAM (e.g., synchronous dynamic RAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, low-power DDR (LPDDR2, etc.), SDRAM, Rambus DRAM (RDRAM), static RAM (SRAM), etc. ), ROM, flash memory, non-volatile memory (e.g., flash memory) accessible through a peripheral interface such as a USB (Universal Serial Bus) interface, and the like. The storage medium may be MEMS (MEMS). Microelectromechanical Systems), and storage media accessible through communication media such as networks and/or wireless links.
추가적으로, 다양한 실시예에서, 프로그램 명령어는 C와 같은 고급 프로그래밍 언어 또는 Verilog, VHDL과 같은 설계 언어(HDL), 또는 GDS II 스트림 포맷(GDSII)과 같은 데이터베이스 포맷의 하드웨어 기능의 동작 레벨 설명 또는 레지스터 전송 레벨(RTL) 설명을 포함한다. 일부 경우에서, 설명은 합성 라이브러리의 게이트 목록을 포함하는 넷리스트를 생성하기 위한 설명을 합성하는 합성 도구로 판독된다. 넷리스트는 또한 시스템을 포함한 하드웨어의 기능을 나타내는 게이트 세트를 포함한다. 이어서, 넷리스트는 마스크에 적용될 기하학적 형상을 설명하는 데이터 세트를 생성하기 위해 배치되고 라우팅된다. 이어서 마스크는 시스템에 대응하는 반도체 회로 또는 회로들을 생성하기 위해 다양한 반도체 제작 단계에서 사용된다. 대안적으로, 컴퓨터 액세스 가능한 저장 매체의 명령어는 원하는 대로 넷리스트(합성 라이브러리 유무에 관계없이) 또는 데이터 세트이다. 추가로, 명령어는 Cadence®, EVE® 및 Mentor Graphics®와 같은 이러한 판매자로부터의 하드웨어 기반 유형 에뮬레이터에 의한 에뮬레이션 목적에 활용된다.Additionally, in various embodiments, program instructions are register transfers or operation-level descriptions of hardware functions in a high-level programming language such as C, a design language (HDL) such as Verilog, VHDL, or a database format such as the GDS II stream format (GDSII). Includes level (RTL) description. In some cases, the descriptions are read with a synthesis tool that synthesizes the descriptions to generate a netlist containing the gate list of the synthesis library. The netlist also contains a set of gates that represent the functionality of the hardware containing the system. The netlist is then placed and routed to create a data set that describes the geometry to be applied to the mask. The mask is then used in various semiconductor fabrication steps to create the semiconductor circuit or circuits corresponding to the system. Alternatively, the instructions on the computer accessible storage medium are a netlist (with or without a synthesis library) or a data set, as desired. Additionally, the instructions are utilized for emulation purposes by hardware-based type emulators from such vendors as Cadence®, EVE®, and Mentor Graphics®.
위의 실시예가 상당히 상세하게 설명되었지만, 다수의 변형 및 수정은 위의 개시내용이 완전히 인식되면 통상의 기술자에게 명백해질 것이다. 이하의 특허청구범위는 이러한 모든 변형 및 수정을 포함하도록 해석되는 것으로 의도된다.Although the above embodiments have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be construed to include all such variations and modifications.
Claims (20)
회로부(circuitry)를 포함하고, 상기 회로부는:
복수의 금속 층 중 인접한 금속 층 사이의 복수의 비아 배치에 대응하는 복수의 속성(attribute)을 수신하고;
상기 인접한 금속 층의 중첩 영역의 속성 및 식별에 적어도 부분적으로 기반하여, 상기 인접한 금속 층 사이의 상기 복수의 비아의 배치를 나타내는 데이터를 생성하도록 구성되는, 프로세서.In the processor,
comprising circuitry, wherein the circuitry includes:
receive a plurality of attributes corresponding to a plurality of via arrangements between adjacent metal layers among the plurality of metal layers;
The processor is configured to generate data representative of placement of the plurality of vias between adjacent metal layers based at least in part on the nature and identification of overlapping areas of the adjacent metal layers.
복수의 금속 층 중 인접한 금속 층 사이의 복수의 비아 배치에 대응하는 복수의 속성을 수신하는 단계; 및
상기 인접한 금속 층의 중첩 영역의 속성 및 식별에 적어도 부분적으로 기반하여, 상기 인접한 금속 층 사이의 상기 복수의 비아의 배치를 나타내는 데이터를 생성하는 단계를 포함하는, 방법.In the method,
Receiving a plurality of attributes corresponding to a plurality of via placements between adjacent metal layers of the plurality of metal layers; and
A method comprising generating data representative of placement of the plurality of vias between adjacent metal layers based at least in part on the nature and identification of overlapping areas of the adjacent metal layers.
복수의 금속 층 중 인접한 금속 층 사이의 복수의 비아 배치에 대응하는 복수의 속성을 포함하는 데이터를 수신하고;
상기 인접한 금속 층의 중첩 영역의 속성 및 식별에 적어도 부분적으로 기반하여, 상기 인접한 금속 층 사이의 상기 복수의 비아의 배치를 나타내는 데이터를 생성하도록 실행 가능한, 비일시적 저장 매체.A non-transitory storage medium configured to store program instructions, wherein the program instructions include:
receive data including a plurality of attributes corresponding to a plurality of via placements between adjacent metal layers among the plurality of metal layers;
A non-transitory storage medium executable to generate data representative of placement of the plurality of vias between adjacent metal layers based at least in part on the nature and identification of overlapping areas of the adjacent metal layers.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163228552P | 2021-08-02 | 2021-08-02 | |
US63/228,552 | 2021-08-02 | ||
US17/562,833 US11960813B2 (en) | 2021-08-02 | 2021-12-27 | Automatic redistribution layer via generation |
US17/562,833 | 2021-12-27 | ||
PCT/US2022/037897 WO2023014512A1 (en) | 2021-08-02 | 2022-07-21 | Automatic redistribution layer via generation |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240035626A true KR20240035626A (en) | 2024-03-15 |
Family
ID=83191878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247006826A KR20240035626A (en) | 2021-08-02 | 2022-07-21 | Automatic redistribution layer via generation |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4381414A1 (en) |
KR (1) | KR20240035626A (en) |
WO (1) | WO2023014512A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798937A (en) * | 1995-09-28 | 1998-08-25 | Motorola, Inc. | Method and apparatus for forming redundant vias between conductive layers of an integrated circuit |
JP4349742B2 (en) * | 2000-12-27 | 2009-10-21 | 富士通マイクロエレクトロニクス株式会社 | Circuit design apparatus and circuit design method |
US7302662B2 (en) * | 2006-03-28 | 2007-11-27 | National Tsing Hua University | Method for post-routing redundant via insertion in integrated circuit layout |
US9305131B2 (en) * | 2013-12-03 | 2016-04-05 | Mediatek Inc. | Method for flip chip packaging co-design |
-
2022
- 2022-07-21 KR KR1020247006826A patent/KR20240035626A/en unknown
- 2022-07-21 EP EP22764921.7A patent/EP4381414A1/en active Pending
- 2022-07-21 WO PCT/US2022/037897 patent/WO2023014512A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4381414A1 (en) | 2024-06-12 |
WO2023014512A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200167518A1 (en) | Method of modifying cell, system for modifying cell and global connection routing method | |
US8060843B2 (en) | Verification of 3D integrated circuits | |
US8516409B2 (en) | Implementing vertical die stacking to distribute logical function over multiple dies in through-silicon-via stacked semiconductor device | |
US8640077B1 (en) | Capturing mutual coupling effects between an integrated circuit chip and chip package | |
CN107066681B (en) | Integrated circuit and computer-implemented method of manufacturing an integrated circuit | |
US20150269303A1 (en) | Method and system for verifying the design of an integrated circuit having multiple tiers | |
US8793637B2 (en) | Method and system for design and modeling of vertical interconnects for 3DI applications | |
TWI718245B (en) | Integrated circuits, computer-implemented method of manufacturing the same, and standard cell defining the same | |
Kabir et al. | Holistic Chiplet–Package Co-Optimization for Agile Custom 2.5-D Design | |
KR20240035626A (en) | Automatic redistribution layer via generation | |
US11960813B2 (en) | Automatic redistribution layer via generation | |
Healy et al. | Power-supply-network design in 3D integrated systems | |
US20230032595A1 (en) | Automated redistribution layer power connections | |
KR20240035627A (en) | Automated rewiring floor power connections | |
CN117642746A (en) | Automatic redistribution layer via generation | |
TW201935289A (en) | Method for cell swapping | |
CN117616418A (en) | Automated redistribution layer power connection | |
JP2013239073A (en) | Layout method and design support program | |
Murali et al. | Heterogeneous 3d ics: Current status and future directions for physical design technologies | |
US20240005078A1 (en) | Through silicon via macro with dense layout for placement in an integrated circuit floorplan | |
Choi | An industrial perspective of 3d ic integration technology from the viewpoint of design technology | |
US20240105675A1 (en) | Backside power delivery and power grid pattern to support 3d die stacking | |
Ravikumar | Chiplets for Integration of Electronic Systems | |
Domic | Some observations on the physical design of the next decade | |
Zhu et al. | Design Automation Needs for Monolithic 3D ICs: Accomplishments and Gaps |