KR20240035626A - Automatic redistribution layer via generation - Google Patents

Automatic redistribution layer via generation Download PDF

Info

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
Application number
KR1020247006826A
Other languages
Korean (ko)
Inventor
라자고파란 벤카트라마니
레나토 디마투라 가디
리아네 마르티네즈
와렌 알렉산더 산토스
데니스 글렌 로잔타 수렐
Original Assignee
어드밴스드 마이크로 디바이시즈, 인코포레이티드
에이티아이 테크놀로지스 유엘씨
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
Priority claimed from US17/562,833 external-priority patent/US11960813B2/en
Application filed by 어드밴스드 마이크로 디바이시즈, 인코포레이티드, 에이티아이 테크놀로지스 유엘씨 filed Critical 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20240035626A publication Critical patent/KR20240035626A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/18Chip packaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed 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

자동 재배선 층 비아 생성Automatic redistribution layer via generation

관련 출원에 대한 상호 참조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 client computing devices 150, servers 120A-120D including hardware to execute software and support organization center 110, network 140, and organization center 110. and a data storage device 130 containing one or more data stores supported and used by center 110. Although a single client computing device 150 is shown, any number of client computing devices may utilize organization center 110 over network 140. Client computing device 150, also referred to as client device 150, includes hardware, such as circuitry of a processor, to execute instructions of redistribution layer (RDL) automatic via generator 160. The RDL automatic via generator 160 (or via generator 160) uses a copy of the data stored in data storage 130 and attributes 166 provided by the user. In an implementation, a user provides properties 166 through a graphical user interface (GUI) 162. Examples of data used by via generator 160 are copies of at least a portion of RDL mask layout data 132, RDL netlist, and design rule check (DRC) 136.

클라이언트 디바이스(150)는 데스크톱 컴퓨터 또는 랩톱, 태블릿 컴퓨터 등과 같은 모바일 컴퓨팅 디바이스를 포함한다. 클라이언트 디바이스(150)는 컴퓨터 프로그램의 명령어를 프로세싱하기 위한 프로세싱 유닛(170)과 같은 하드웨어 회로부를 포함한다. 일부 구현예에서, 프로세싱 유닛(170)은 프로세서의 하나 이상의 동종 코어를 포함한다. 다른 실시예에서, 프로세싱 유닛은 병렬 프로세싱 아키텍처 코어 및 중앙 프로세싱 유닛(CPU)에서 사용되는 범용 코어와 같은 이종 코어를 포함한다. 병렬 아키텍처 코어는 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세싱 유닛(DSP) 등일 수 있다.Client device 150 includes a desktop computer or a mobile computing device such as a laptop, tablet computer, etc. Client device 150 includes hardware circuitry, such as processing unit 170, for processing instructions of a computer program. In some implementations, processing unit 170 includes one or more homogeneous cores of a processor. In another embodiment, the processing unit includes heterogeneous cores, such as parallel processing architecture cores and general purpose cores used in a central processing unit (CPU). The parallel architecture core may be a graphics processing unit (GPU), a digital signal processing unit (DSP), etc.

클라이언트 디바이스(150)는 네트워크(140)를 통한 데이터 및 메시지 전송을 위한 하나 이상의 통신 프로토콜을 지원하는 네트워크 인터페이스(도시되지 않음)를 포함한다. 네트워크(140)는 메시지와 데이터를 전송하기 위한 다중 스위치, 라우터, 케이블, 무선 송신기 및 인터넷을 포함한다. 따라서, 조직 센터(110)와 클라이언트 디바이스(150)의 네트워크 인터페이스는 월드 와이드 웹(World Wide Web)을 통한 통신을 위해 적어도 HTTP(Hypertext Transfer Protocol)를 지원한다. 네트워크(140)를 통해 클라이언트 디바이스(150)와 통신하는 것 외에도, 조직 센터(110)는 또한 데이터를 저장하고 검색하기 위해 데이터 저장장치(130)와 통신한다.Client device 150 includes a network interface (not shown) that supports one or more communication protocols for transferring data and messages over network 140. Network 140 includes multiple switches, routers, cables, wireless transmitters, and the Internet for transmitting messages and data. Accordingly, the network interface of organization center 110 and client device 150 supports at least Hypertext Transfer Protocol (HTTP) for communication over the World Wide Web. In addition to communicating with client device 150 over network 140, organization center 110 also communicates with data storage 130 to store and retrieve data.

다양한 구현예에서, 조직 센터(110)는 하나 이상의 하드웨어 제품을 생산하는 판매자를 위한 인프라이다. 조직 센터(110)는 조직의 직원만이 액세스 가능한 사설망을 제공하는 인트라넷 네트워크를 포함한다. 인트라넷 포털은 그래픽 사용자 인터페이스(GUI) 및 대시보드와 같은 사용자 친화적 인터페이스를 통해 자원에 대한 액세스를 제공하는 데 사용된다. 조직 센터(110)에 의해 이용 가능하게 된 정보 및 서비스는 일반 대중이 직접 액세스를 통해 이용할 수 없다. 사용자 인증을 통해, 직원은 조직 센터(110)를 통해 자원에 액세스하여 다른 직원과 통신하고, 프로젝트에 대해 협력하고, 제품 개발을 모니터링하고, 중앙 저장소에 저장된 제품, 문서 및 도구를 업데이트하는 등을 할 수 있다.In various implementations, organization center 110 is an infrastructure for vendors that produce one or more hardware products. Organization center 110 includes an intranet network that provides a private network accessible only to employees of the organization. Intranet portals are used to provide access to resources through user-friendly interfaces such as graphical user interfaces (GUIs) and dashboards. Information and services made available by organization center 110 are not available to the general public through direct access. Through user authentication, employees can access resources through the organization center 110 to communicate with other employees, collaborate on projects, monitor product development, update products, documents, and tools stored in a central repository, etc. can do.

조직 센터(110)를 지원하기 위해 사용되는 서버(120A~120D)와 조직 센터(110)를 통해 액세스되는 자원은 데이터베이스 서버, 컴퓨팅 서버, 애플리케이션 서버, 파일 서버, 메일 서버 등과 같은 다양한 서버 유형을 포함한다. 다양한 구현예에서, 서버(120A-120D) 및 클라이언트 디바이스(150)는 클라이언트-서버 아키텍처 모델로 동작한다.Servers 120A-120D used to support organization center 110 and resources accessed through organization center 110 include various server types such as database servers, computing servers, application servers, file servers, mail servers, etc. do. In various implementations, servers 120A-120D and client devices 150 operate in a client-server architecture model.

클라이언트 디바이스(150)는 비아 생성기(160)와 같은 주어진 소프트웨어 제품 또는 도구의 특정 버전의 복사본을 포함한다. 일부 구현예에서, 비아 생성기(160)의 버전은 적어도 클라이언트 디바이스(150)에 의해 사용되는 운영 체제 및 프로세서(들)에 기반한다. 비아 생성기(160)는 프로세서(170)에 의해 실행될 때, 프로세서(170)가 재배선 층의 신호 루트의 레이아웃 마스크 표현에서 비아를 자동으로 생성하게 하는 엔진(164)을 포함한다. 재배선 층의 신호 루트는 집적 회로와 인쇄 회로 기판 사이에 위치된 신호 루트이다. 예를 들어, 재배선 층의 신호 루트는 집적 회로의 패드와 접촉하는 마이크로 범프와 실리콘 패키지 기판의 관통형 실리콘 비아(TSV) 사이에 위치된 신호 루트이다. 재배선 층은 패키지 핀에 와이어 본딩된 입력/출력(I/O) 패드 세트가 필요하지 않게 하여, 칩 간 본딩을 용이하게 한다.Client device 150 includes a copy of a particular version of a given software product or tool, such as via generator 160. In some implementations, the version of via generator 160 is based at least on the operating system and processor(s) used by client device 150. Via generator 160 includes an engine 164 that, when executed by processor 170, causes processor 170 to automatically generate vias in a layout mask representation of a signal route in a redistribution layer. The signal route of the redistribution layer is a signal route located between the integrated circuit and the printed circuit board. For example, the signal route of the redistribution layer is the signal route located between the micro bump contacting the pad of the integrated circuit and the through silicon via (TSV) of the silicon package substrate. The redistribution layer facilitates chip-to-chip bonding by eliminating the need for a set of input/output (I/O) pads to be wire-bonded to the package pins.

앞서 설명된 바와 같이, 조직 센터(110)는 하나 이상의 하드웨어 제품을 생산하는 판매자를 위한 인프라이다. 집적 회로는 생산을 위해 개발되고 있는 다양한 유형의 집적 회로 중 하나이다. 가능하게는 재배선 층의 신호 루트를 제공하는 데 수만 개의 금속 층이 사용되면, 이러한 금속 층에 비아를 수동으로 배치하는 것은 몇 주 또는 몇 달이 걸린다. 비아 생성기(160)는 이러한 배치를 보다 효율적인 방식으로 수행한다. 재배선 층이 제어 신호 루트와 데이터 신호 루트를 포함하지만, 구현예에서, 비아 생성기(160)는 집적 회로에 의해 사용되는 전원 공급 장치 전압 기준 레벨 또는 접지 기준 전압 레벨 중 하나를 제공하는 재배선 층의 신호 루트에 대한 자동 비아 생성을 제공한다. 이를 위해, 비아 생성기(160)는 사용자에 의해 제공된 속성(166)을 사용한다.As previously described, organization center 110 is an infrastructure for vendors that produce one or more hardware products. An integrated circuit is one of many different types of integrated circuits being developed for production. With tens of thousands of metal layers potentially used to provide signal routes for redistribution layers, manually placing vias in these metal layers takes weeks or months. Via generator 160 performs this placement in a more efficient manner. Although the redistribution layer includes a control signal route and a data signal route, in an implementation, via generator 160 is a redistribution layer that provides either a power supply voltage reference level or a ground reference voltage level used by the integrated circuit. Provides automatic via creation for signal routes. To this end, via generator 160 uses attributes 166 provided by the user.

일 구현예에서, 사용자는 그래픽 사용자 인터페이스(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 properties 166 to via generator 160 via graphical user interface (GUI) 162. In another implementation, a user provides properties 166 to via generator 160 via a text file or executable file written in one of a variety of scripting languages. In an implementation, when processor 170 executes the code of engine 164 of via generator 160, processor 170 automatically generates vias in the order of the sequence specified by attribute 166. Each sequence identifies a pair of adjacent metal layers in the redistribution layer. Via generator 160 further uses a copy of RDL mask layout data 132 and RDL netlist 134 to identify the placement of metal layers in the redistribution layer. Via generator 160 also uses DRC 136 to verify that the placement of vias does not violate design rules for the layout. The via generator 160 or other tool also performs a layout versus schematic (LVS) check. If the placement of vias passes the DRC and LVS checks, one or more copies of the updated version of RDL mask layout data 132 are stored in client device 150 and data storage 130. The semiconductor chip tape out process is then performed on the integrated circuit under development, and the semiconductor manufacturing process provides the hardware for the integrated circuit to be tested.

도 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 interconnect 240, signal routes to and from integrated circuits 210 and 212 are routed through redistribution layer 230. In some implementations, metal layer approach 200 adds a separate interposer (not shown) between redistribution layer 230 and interconnect 240 (e.g., under-bump metallurgy (UBM)). Included as. In an implementation, the interposer includes through-silicon vias, while the redistribution layer 230 does not include TSVs. In another implementation, interposer and redistribution layer 230 each includes one or more TSVs. In another implementation, a separate interposer is not used, as shown in Figure 2.

여기서, 집적 회로는 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. Interconnect 240 provides a connection between multiple redistribution layers (RDLs) 1 through 4 and the package substrate and motherboard. In some implementations, it is common to have hundreds of UBM layers and C4 bumps. Additionally, four metal layers (RDL 1-4) are used in the redistribution layer 230, although in other implementations, different numbers of metal layers are used. Between adjacent metal layers (RDL 1-4) of redistribution layer 230 there are layers of vias labeled Via2 through Via4, which provide physical connections between adjacent layers of redistribution layer 230. The redistribution layer 230 also includes a via in the Via1 layer between the pin of the SMD pin layer and the metal layer (RDL1). As shown, the redistribution layer 230 further includes a via of the Via5 layer between the metal layer RDL4 and the interconnection 240.

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 interconnect 240 . The signal is routed through the metal layers of redistribution layer 230, such as the metal layer designated redistribution layer 1 (RDL1) and the metal layer designated redistribution layer 4 (RDL4). These metal layers are also referred to as conductor 1 and conductor 4, respectively. In addition to the metal layers (RDL1 to RDL4) of the redistribution layer 230, signals are also routed through the pin and via layers (Via1 to Via5) of the surface mount device (SMD) pin layer. Although redistribution layer 230 includes a control signal route and a data signal route, the signal route shown here is one of the power supply voltage reference level and the ground reference voltage level used by SoC 210 and SoC 212. Wire the above. SoC 210 and SoC 212 may each use one or more power supply voltage reference levels and one or more ground reference voltage levels. In some cases, SoC 210 and SoC 212 each have tens of thousands of nodes that use pads 220 to receive a power supply voltage reference level and one or more ground reference levels. There are hundreds of UBMs for transmitting . Routing of these signals becomes complex. In some cases, layout mask data for signal routes within metal layers (RDL1 through RDL4) is already available, but manually placing vias in these metal layers takes weeks or months.

비아 배치를 보다 효율적으로 하기 위해, 프로세서의 회로부는 사용자에 의해 제공된 속성에 기반하여 비아를 자동으로 생성하는 소프트웨어 프로그래머에 의해 개발된 알고리즘을 따르는 소프트웨어 도구의 명령어를 실행한다. 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 metal layers 302 and 304 provide a power supply voltage reference level or a ground reference voltage level used by the corresponding integrated circuit.

배향이 수평 및 수직으로 설명되어 있지만, 반도체 패키지가 회전할 수 있고 재배선 층이 회전될 수 있는 것이 이해된다. 현재 배향은 금속 층과 비아 사이의 관계를 설명하는 데 사용된다. 여기서, 금속 층(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 Via2 layer 306. Additionally, two horizontal signal routes in metal layer (RDL3) 502 are connected by the same vertical signal route in metal layer (RDL2) 304. Metal layer (RDL3) 502 is positioned over metal layer (RDL2) 304 using the previous orientation for metal layers 300-500 (FIGS. 3 and 4). Therefore, each of the two metal layers (RDL1) 302, the single metal layer (RDL2) 304, and the two metal layers (RDL3) 502 are physically connected.

다양한 구현예에서, 이런 금속 층(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 metal layers 302, 304, and 502 provide a power supply voltage reference level or a ground reference voltage level used by the corresponding integrated circuit. The metal layer of RDL3 (502) is physically connected to the metal layer of RDL2 (304) through via placement in the Via3 layer (504). Due to the width of the metal layer in RDL2 (304) and the area required for vias in Via2 layer (306), a single row of two vias in Via3 layer (504) is used by each of the metal layers in RDL3 (502). Note that the vias in the Via2 layer 306 and Via3 layer 504 have physical connections with only two adjacent layers, not three adjacent layers. In various implementations, design rule checking (DRC) does not allow a physical connection to the third metal layer. Therefore, as shown, the vias in Via2 layer 306 are placed between the metal layers of RDL1 (302) and RDL2 (304), but the vias in Via2 layer 306 are not physically connected to the metal layers of RDL3 (502). To be connected, they are not continuous in the vertical direction. Similarly, the vias in Via3 layer 504 are placed between the metal layers of RDL2 (304) and RDL3 (502), but the vias in Via3 layer (504) are vertical to physically connect with the metal layers of RDL1 (302). It is not continuous in direction. However, in other implementations, DRC allows the use of through-hole vias formed through three or more metal layers.

도 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. Box 602 allows the user to select a geographic region in the redistribution layer for automatic via creation. For example, users can draw a shape with boundaries that define areas for automatic via creation. Alternatively, the user can select an existing design outline.

일부 구현예에서, 테이블에 다수의 필드가 제공된다. 필드(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. Field 604 indicates the adjacent layer to be customized for automatic via creation. As shown, the first row represents the metal layer (RDL1) and the SMD fin layer. The Via1 layer is between these two layers (RDL1 and SMD pins). The second row represents the metal layer (RDL1) and the metal layer (RDL2). The Via2 layer is between these two metal layers (RDL1 and RDL2). The third and fourth rows follow the same convention for identifying via layers. The last row shows the UBM and metal layer (RDL4) physically connected to the C4 bump. The Via5 layer is between these two layers (RDL4 and UBM). Field 606 represents the via pad stack for each via layer. A via pad stack includes features that describe a single via definition or multiple via definitions, such as a metal layer at the end of the via opening(s) in a dielectric. The pad stack definition also describes the holes (via openings) in the redistribution layer used to create the vias. These characteristics include whether the hole is plated or not. Additionally, these characteristics indicate the size of the hole (diameter), the size of the finished hole, the size of the pads formed in the inner and outer layers, and the size of the gap around the hole. The user indicates the via pitch in field 608.

비아 배치를 설명하는 필드(610)는 3개의 서브필드를 포함한다. 제1 서브필드는 기준 금속을 나타낸다. 예를 들어, Via2 층은 2개의 금속 층(RDL1 및 RDL2) 사이에 있다. 사용자는 RDL1 및 RDL2 층의 금속 중첩 영역에 있는 비아의 배치를 설명하는 데 사용할 기준 금속으로 이러한 금속 층(RDL1 및 RDL2) 중 하나를 선택한다. 사용자는 제2 서브필드로 시작점을 선택한다. 시작점은 선택된 기준 금속을 지칭하고 또한 선택된 기준 금속의 에지가 자동 비아 배치되는 것을 나타낸다. 예로서, Via2 층에 대해 금속 층(500)(도 5)을 다시 간단히 참조하면, 사용자는 금속 층(RDL2)을 나타내는 기준 금속으로 "상단"을 선택한다. 사용자는 시작점으로 "레일 우측 에지"를 선택하고, 사용자는 제3 서브필드인 방향으로 "수직"을 선택한다. 수직 및 수평 방향은 금속 중첩 영역에 배치되는 다수의 비아의 패드 스택 배치를 결정하는 데 사용된다. 금속 중첩 영역에 다수의 비아를 배치하는 예가 도 3 내지 도 5에 제공된다.The field 610 describing via placement includes three subfields. The first subfield represents the reference metal. For example, the Via2 layer is between two metal layers (RDL1 and RDL2). The user selects one of these metal layers (RDL1 and RDL2) as the reference metal to be used to describe the placement of vias in the metal overlap region of the RDL1 and RDL2 layers. The user selects the starting point with the second subfield. The starting point refers to the selected reference metal and also indicates that the edges of the selected reference metal will be automatically via placed. As an example, briefly referring back to metal layer 500 (FIG. 5) for the Via2 layer, the user selects “top” as the reference metal to represent metal layer RDL2. The user selects “rail right edge” as the starting point, and the user selects “vertical” as the direction, which is the third subfield. The vertical and horizontal directions are used to determine the pad stack placement of multiple vias placed in the metal overlap area. Examples of placing multiple vias in metal overlap regions are provided in Figures 3-5.

다양한 구현예에서, 필드(610)의 서브필드 중 하나 또는 GUI(600)의 다른 필드(도시되지 않음)는 사용자가 홀 유형 및 대응하는 비아 유형을 지정하게 하는 표시를 포함한다. 예를 들어, 사용자는 비아의 홀이 관통 홀 비아의 홀인지, 마이크로비아 스택의 다수의 홀들의 홀인지, 블라인드 마이크로비아의 홀인지, 매립된 홀의 홀인지, 또는 구리 충전 마이크로비아의 홀인지를 지정할 수 있다. 다른 구현예에서, 홀 유형 및 대응하는 비아 유형의 선택은 사용자에 의해 허용되지 않는다. 오히려, 반도체 제작 프로세스는 이미 RDL의 금속 층 사이에 홀 유형 및 대응하는 비아 유형을 정의하고 있다. 이 정보는 사용자에 의해 제공된 속성에 기반하여 비아를 생성할 때 RDL 자동 비아 생성기에 의해 액세스되는 다른 파일에 의해 제공된다.In various implementations, one of the subfields of field 610 or another field of GUI 600 (not shown) includes an indication that allows the user to specify the hole type and the corresponding via type. For example, the user can determine whether the hole in the via is a through-hole via, a hole of multiple holes in a microvia stack, a hole in a blind microvia, a hole in a buried hole, or a hole in a copper-filled microvia. You can specify. In other implementations, selection of hole types and corresponding via types is not permitted by the user. Rather, the semiconductor fabrication process already defines the hole types and corresponding via types between the metal layers of the RDL. This information is provided by another file that is accessed by the RDL automatic via generator when generating vias based on properties provided by the user.

일부 구현예에서, 테이블의 행이 금속 층을 건너뛰는 하나 이상의 비아 층을 식별하는 것에 유의한다. 일 예에서, 행(도시되지 않음)은 금속 층(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 층의 비아보다 훨씬 더 크다.Field 620 indicates the sequence order to be used for automatic via creation in the redistribution layer. It is not necessary to traverse the via layers in a continuous adjacent manner. Users can customize the order of via layers used by the automatic via generator. Note that in some cases, the automatic via generator defaults to using the maximum number of vias in the Via1 layer to fit inside the pin area of the SMD pin layer while still satisfying the DRC using the pitch of the Via1 layer. In various implementations, the fins in the SMD fin layer are much larger than the vias in the Via1 layer.

또한, 하나 이상의 비아 층(테이블의 하나 이상의 행)이 특정 비아 층에 대해 반복이 발생함을 나타내는 다중 시퀀스 번호를 갖는다는 것에 유의한다. 예를 들어, 금속 층(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)의 다수의 필드에 제공된 속성을 사용하여 자동 비아 생성의 결과 정보를 제공하여 보고서가 생성되는지 여부를 표시하게 한다.Field 630 allows the user to indicate whether to allow DRC violations. For example, the user wants to stagger vias in two different layers, such as vias in the Via1 layer and Via3 layer. Therefore, more vias are installed in a specific area while still satisfying the DRC spacing in the same via layer. Field 630 also allows the user to indicate whether a report is generated by providing information about the results of automatic via generation using attributes provided in a number of fields of GUI 600.

이제 도 7을 참조하면, 재배선 층에서 자동 비아 생성을 위한 방법(700)의 일 실시예가 도시된다. 설명을 위해, 이 실시예(및 도 8)의 단계가 순차적인 순서로 도시된다. 그러나, 다른 실시예에서, 일부 단계는 도시된 것과 상이한 순서로 발생하고, 일부 단계는 동시에 수행되고, 일부 단계는 다른 단계와 결합되고, 일부 단계는 생략된다.Referring now to Figure 7, one embodiment of a method 700 for automatic via creation in a redistribution layer is shown. For illustrative purposes, the steps of this embodiment (and FIG. 8) are shown in sequential order. However, in other embodiments, some steps occur in a different order than shown, some steps are performed simultaneously, some steps are combined with other steps, and some steps are omitted.

사용자는 재배선 층에서 자동 비아 생성을 맞춤화하기 위한 속성을 선택한다(블록(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 method 700 returns to block 702 where the user selects an attribute. If the results meet the design requirements (“Yes” branch of condition block 708), the design of the semiconductor package is taped out and fabricated (block 710).

전위가 반도체 패키지의 집적 회로의 제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 processor 910 and memory 930 in a chip package 940. In another implementation, only one of processor 910 and memory 930 is included in chip package 940. Interfaces such as memory controllers, buses or communication fabrics, one or more phase locked loops (PLLs) and other clock generation circuitry, power management units, etc. are not shown for ease of illustration. Additionally, in the illustrated implementation, chip package 940 is coupled to disk memory 954 via memory bus 950, an input/output (I/O) controller, and bus 952.

다른 구현예에서, 컴퓨팅 시스템(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 processor 910, one or more peripheral devices, a network interface, one or more other memory devices, etc. In some implementations, the functionality of computing system 900 is integrated into a system on a chip (SoC). In another implementation, the functionality of computing system 900 is integrated into a peripheral card inserted into the motherboard. Computing system 900 is used in any of a variety of computing devices, such as desktop computers, tablet computers, laptops, smartphones, smartwatches, game consoles, personal assistant devices, and the like.

프로세서(910)는 회로부(circuitry) 같은 하드웨어를 포함한다. 다양한 구현예에서, 프로세서(910)는 하나 이상의 프로세싱 유닛을 포함한다. 일부 구현예에서, 프로세싱 유닛 각각은 범용 데이터 프로세싱이 가능한 하나 이상의 프로세서 코어, 및 연관된 캐시 메모리 서브시스템을 포함한다. 이러한 구현예에서, 프로세서(910)는 중앙 프로세싱 유닛(CPU)이다. 다른 구현예에서, 프로세싱 코어는 각각 다수의 병렬 실행 레인 및 연관된 데이터 저장 버퍼를 갖는 고도로 병렬인 데이터 마이크로아키텍처를 갖춘 컴퓨팅 유닛이다. 이러한 구현예에서, 프로세서(910)는 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세서(DSP) 등이다.The processor 910 includes hardware such as circuitry. In various implementations, processor 910 includes one or more processing units. In some implementations, each processing unit includes one or more processor cores capable of general-purpose data processing, and an associated cache memory subsystem. In this implementation, processor 910 is a central processing unit (CPU). In another implementation, the processing cores are computing units with a highly parallel data microarchitecture, each having multiple parallel execution lanes and associated data storage buffers. In this implementation, the processor 910 is a graphics processing unit (GPU), a digital signal processor (DSP), or the like.

일부 구현예에서, 메모리(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 code 934, and at least source data 936. In various implementations, memory 930 stores copies of these software components 932, 934, and 936 with copies of the originals stored in disk memory 954. Memory 930 may also store intermediate and final result data generated by processor 910 when executing certain applications of code 934.

다양한 구현예에서, 오프칩 디스크 메모리(954)는 하나 이상의 하드 디스크 드라이브(HDD) 및 플래시 메모리 뱅크를 포함하는 SSD(Solid-State Disk)를 포함한다. I/O 제어기 및 버스(952)는 오프칩 디스크 메모리(954)와의 통신 프로토콜을 지원한다. 단일 운영 체제(932) 및 코드(934)의 단일 인스턴스 및 소스 데이터(936)가 도시되어 있지만, 다른 구현예에서, 다른 개수의 이런 소프트웨어 구성요소가 메모리(930) 및 디스크 메모리(954)에 저장된다. 운영 체제(932)는 프로세서(910)의 부팅을 개시하고, 태스크를 하드웨어 회로부에 할당하고, 컴퓨팅 시스템(900)의 자원을 관리하고, 하나 이상의 가상 환경을 호스팅하기 위한 명령어를 포함한다.In various implementations, off-chip disk memory 954 includes one or more hard disk drives (HDDs) and solid-state disks (SSDs) that include flash memory banks. I/O controller and bus 952 supports communication protocols with off-chip disk memory 954. Although a single operating system 932 and a single instance of code 934 and source data 936 are shown, in other implementations, different numbers of such software components may be stored in memory 930 and disk memory 954. do. Operating system 932 includes instructions to initiate booting of processor 910, assign tasks to hardware circuitry, manage resources of computing system 900, and host one or more virtual environments.

위에서 설명된 실시예 중 하나 이상이 소프트웨어를 포함한다는 것에 유의한다. 이러한 실시예에서, 방법 및/또는 메커니즘을 구현하는 프로그램 명령어는 컴퓨터 판독가능 매체에 전달되거나 저장된다. 프로그램 명령어를 저장하도록 구성된 다양한 유형의 미디어는 이용 가능하고 하드 디스크, 플로피 디스크, 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.
제1항에 있어서, 상기 속성은 기준 금속 식별, 시작점, 방향 및 시퀀스(sequence) 중 하나 이상을 포함하는, 프로세서.The processor of claim 1, wherein the attributes include one or more of reference metal identification, starting point, direction, and sequence. 제2항에 있어서, 상기 회로부는 현재 선택된 비아 층의 크기 및 피치에 적어도 부분적으로 기반하여 상기 비아의 배치를 결정하도록 더 구성되는, 프로세서.3. The processor of claim 2, wherein the circuitry is further configured to determine placement of the via based at least in part on the size and pitch of the currently selected via layer. 제3항에 있어서, 상기 회로부는 상기 크기 및 피치에 적어도 부분적으로 기반하여, 상기 중첩 영역에 배치된 다수의 비아 사이의 간격을 결정하도록 더 구성되는, 프로세서.4. The processor of claim 3, wherein the circuitry is further configured to determine a spacing between the plurality of vias disposed in the overlapping region based at least in part on the size and pitch. 제1항에 있어서, 상기 회로부는 상기 중첩 영역을 절반으로 분할하고 상기 중첩 영역 위와 아래 둘 모두에 비아를 배치하도록 더 구성되는, 프로세서.The processor of claim 1, wherein the circuitry is further configured to split the overlapping area in half and place vias both above and below the overlapping area. 제1항에 있어서, 상기 회로부는 상기 복수의 속성에 의해 지정된 시퀀스의 순서로 상기 복수의 비아의 배치를 생성하도록 더 구성되고, 각각의 시퀀스는 한 쌍의 금속 층을 식별하는, 프로세서.The processor of claim 1, wherein the circuitry is further configured to generate the placement of the plurality of vias in an order of sequences specified by the plurality of attributes, each sequence identifying a pair of metal layers. 제1항에 있어서, 상기 복수의 금속 층의 레벨은 집적 회로와 인쇄 회로 기판 사이의 재배선 층(redistribution layer)인, 프로세서.The processor of claim 1, wherein the plurality of levels of metal layers are a redistribution layer between an integrated circuit and a printed circuit board. 방법에 있어서,
복수의 금속 층 중 인접한 금속 층 사이의 복수의 비아 배치에 대응하는 복수의 속성을 수신하는 단계; 및
상기 인접한 금속 층의 중첩 영역의 속성 및 식별에 적어도 부분적으로 기반하여, 상기 인접한 금속 층 사이의 상기 복수의 비아의 배치를 나타내는 데이터를 생성하는 단계를 포함하는, 방법.
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.
제8항에 있어서, 상기 속성은 기준 금속 식별, 시작점, 방향 및 시퀀스 중 하나 이상을 포함하는, 방법.9. The method of claim 8, wherein the attributes include one or more of reference metal identification, starting point, direction, and sequence. 제9항에 있어서, 현재 선택된 비아 층의 크기 및 피치에 적어도 부분적으로 기반하여 상기 비아의 배치를 결정하는 단계를 더 포함하는, 방법.10. The method of claim 9, further comprising determining placement of the via based at least in part on the size and pitch of the currently selected via layer. 제8항에 있어서, 상기 복수의 속성에 의해 지정된 시퀀스의 순서로 상기 복수의 비아의 배치를 생성하는 단계를 더 포함하고, 각각의 시퀀스는 한 쌍의 금속 층을 식별하는, 방법.9. The method of claim 8, further comprising generating the placement of the plurality of vias in an order of sequences specified by the plurality of attributes, each sequence identifying a pair of metal layers. 제11항에 있어서, 상기 복수의 금속 층 레벨은 집적 회로와 인쇄 회로 기판 사이의 재배선 층인, 방법.12. The method of claim 11, wherein the plurality of metal layer levels are a redistribution layer between an integrated circuit and a printed circuit board. 제11항에 있어서, 하나 이상의 신호 유형은 집적 회로에 의해 사용되는 전원 공급 장치 전압 기준 레벨 또는 접지 기준 전압 레벨 중 하나 이상을 포함하는, 방법.12. The method of claim 11, wherein the one or more signal types include one or more of a power supply voltage reference level or a ground reference voltage level used by the integrated circuit. 제11항에 있어서, 그래픽 사용자 인터페이스를 통해 상기 복수의 속성을 수신하는 단계를 더 포함하는, 방법.12. The method of claim 11, further comprising receiving the plurality of properties via a graphical user interface. 프로그램 명령어를 저장하도록 구성된 비일시적 저장 매체에 있어서, 상기 프로그램 명령어는,
복수의 금속 층 중 인접한 금속 층 사이의 복수의 비아 배치에 대응하는 복수의 속성을 포함하는 데이터를 수신하고;
상기 인접한 금속 층의 중첩 영역의 속성 및 식별에 적어도 부분적으로 기반하여, 상기 인접한 금속 층 사이의 상기 복수의 비아의 배치를 나타내는 데이터를 생성하도록 실행 가능한, 비일시적 저장 매체.
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.
제15항에 있어서, 상기 속성은 기준 금속 식별, 시작점, 방향 및 시퀀스 중 하나 이상을 포함하는, 비일시적 저장 매체.16. The non-transitory storage medium of claim 15, wherein the attributes include one or more of reference metal identification, starting point, direction, and sequence. 제16항에 있어서, 상기 프로그램 명령어는 현재 선택된 비아 층의 크기 및 피치에 적어도 부분적으로 기반하여 상기 비아의 배치를 결정하도록 실행 가능한, 비일시적 저장 매체.17. The non-transitory storage medium of claim 16, wherein the program instructions are executable to determine placement of the via based at least in part on the size and pitch of the currently selected via layer. 제17항에 있어서, 상기 프로그램 명령어는 상기 크기 및 피치에 적어도 부분적으로 기반하여, 상기 중첩 영역에 배치된 다수의 비아 사이의 간격을 결정하도록 실행 가능한, 비일시적 저장 매체.18. The non-transitory storage medium of claim 17, wherein the program instructions are executable to determine spacing between a plurality of vias disposed in the overlapping region based at least in part on the size and pitch. 제15항에 있어서, 상기 프로그램 명령어는 상기 중첩 영역을 절반으로 분할하고, 상기 중첩 영역 위와 아래 둘 모두에 비아를 배치하도록 실행 가능한, 비일시적 저장 매체.16. The non-transitory storage medium of claim 15, wherein the program instructions are executable to split the overlapping area in half and place vias both above and below the overlapping area. 제15항에 있어서, 상기 프로그램 명령어는 상기 복수의 속성에 의해 지정된 시퀀스의 순서로 상기 복수의 비아의 배치를 생성하도록 실행 가능하고, 각각의 시퀀스는 한 쌍의 금속 층을 식별하는, 비일시적 저장 매체.16. The non-transitory storage of claim 15, wherein the program instructions are executable to generate the arrangement of the plurality of vias in an order of sequences specified by the plurality of attributes, each sequence identifying a pair of metal layers. media.
KR1020247006826A 2021-08-02 2022-07-21 Automatic redistribution layer via generation KR20240035626A (en)

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)

* Cited by examiner, † Cited by third party
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

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