KR102632950B1 - 일반화 모델을 이용한 반도체 배치 시스템 및 방법 - Google Patents

일반화 모델을 이용한 반도체 배치 시스템 및 방법 Download PDF

Info

Publication number
KR102632950B1
KR102632950B1 KR1020220183938A KR20220183938A KR102632950B1 KR 102632950 B1 KR102632950 B1 KR 102632950B1 KR 1020220183938 A KR1020220183938 A KR 1020220183938A KR 20220183938 A KR20220183938 A KR 20220183938A KR 102632950 B1 KR102632950 B1 KR 102632950B1
Authority
KR
South Korea
Prior art keywords
information
macro
learning
semiconductor
placement
Prior art date
Application number
KR1020220183938A
Other languages
English (en)
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
Application filed by 주식회사 애자일소다 filed Critical 주식회사 애자일소다
Priority to KR1020220183938A priority Critical patent/KR102632950B1/ko
Application granted granted Critical
Publication of KR102632950B1 publication Critical patent/KR102632950B1/ko

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/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Power Engineering (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Architecture (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

일반화 모델을 이용한 반도체 배치 시스템 및 방법을 개시한다. 본 발명은 다른 반도체 설계 데이터를 기반으로 학습된 일반화 모델을 이용하여 새로운 반도체 데이터의 배치를 수행함으로써, 학습 및 배치를 위한 시간을 단축시킬 수 있고, 데이터 증강을 이용하여 다수의 학습 데이터를 생성하여 제공함으로써, 일반화된 모델의 학습을 위한 충분한 학습 데이터를 확보할 수 있다.

Description

일반화 모델을 이용한 반도체 배치 시스템 및 방법{SYSTEM AND METHOD FOR ARRANGING SEMICONDUCTOR USING GENERALIZED MODEL}
본 발명은 일반화 모델을 이용한 반도체 배치 시스템 및 방법에 관한 발명으로서, 더욱 상세하게는 다른 반도체 설계 데이터를 기반으로 학습된 일반화 모델을 이용하여 새로운 반도체 데이터의 배치를 수행하는 일반화 모델을 이용한 반도체 배치 시스템 및 방법에 관한 것이다.
집적회로를 제작하기 위해서는 다양한 조건들을 만족시켜야 하고, 설계 단계에서 작업자들은 수작업으로 설계를 진행하고 있다.
작업자는 수작업을 통해 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 최적의 위치를 찾아 설계를 진행해야만 하여 작업 시간 및 인력이 증가하고, 업무 효율이 현저하게 낮아지는 문제점이 있다.
또한, 각 작업자마다 노하우가 다르기 때문에 양산 제품에 대한 결과물이 일관되지 않는 문제점이 있다.
강화 학습은 환경(environment)과 상호작용하며 목표를 달성하는 에이전트를 다루는 학습 방법으로서, 인공 지능 분야에서 많이 사용되고 있다.
도1은 일반적인 강화 학습 장치의 구성을 나타낸 블록도로서, 도 1에 나타낸 바와 같이, 에이전트(10)가 강화 학습 모델의 학습을 통해 액션(Action, 또는 행동) A를 결정하는 방법을 학습시키고, 각 액션인 A는 그 다음 상태(state) S에 영향을 끼치며, 성공한 정도는 보상(Reward) R로 측정할 수 있다.
즉, 보상은 강화 학습 모델을 통해 학습을 진행할 경우, 어떤 상태(State)에 따라 에이전트(10)가 결정하는 액션(행동)에 대한 보상 점수로서, 학습에 따른 에이전트(10)의 의사 결정에 대한 일종의 피드백이다.
환경(20)은 에이전트(10)가 취할 수 있는 행동, 그에 따른 보상 등 모든 규칙으로서, 상태, 액션, 보상 등은 모두 환경의 구성요소이고, 에이전트(10) 이외의 모든 정해진 것들이 환경이다.
이러한 강화 학습은 학습의 행동 주체인 강화 학습 에이전트(Agent)가 어떤 행동을 해야 더 많은 보상(Reward)을 받을지 알아내는 것을 목적으로 한다.
즉, 정해진 답이 없는 상태에서도 보상을 최대화시키기 위해 무엇을 할 것인가를 배우는 것으로서, 입력과 출력이 명확한 관계를 갖고 있는 상황에서 사전에 어떤 행위를 할 것인지 듣고 하는 것이 아니라, 시행착오를 거치면서 보상을 최대화시키는 것을 배우는 과정을 거친다.
또한, 에이전트는 시간 스텝이 흘러감에 따라 순차적으로 액션을 선택하게 되고, 상기 액션이 환경에 끼친 영향에 기반하여 보상을 받게 된다.
최근 들어, 반도체 설계 데이터를 이용한 강화학습을 통해 반도체 소자를 배치하는 연구가 많이 이루어지고 있다.
이러한 강화학습을 이용한 반도체 소자의 배치는 사용자의 개입 없이 고품질의 배치를 생성할 수 있도록 한다.
그러나, 종래 기술에 따른 강화학습 기반의 반도체 소자 배치방법은 다양한 반도체 설계 데이터에 대하여 일반화 되지 않아서, 새로운 반도체 설계 데이터의 배치를 수행할 경우 많은 시간이 소요되는 문제점이 있다.
또한, 학습 데이터로 모델을 학습한 것과 유사한 결과를 제공할 수 있는 일반화 모델의 경우, 일반화 모델을 학습시키기 위해서 많은 학습용 반도체 설계 데이터가 필요하지만, 보안상의 문제로 충분한 학습 데이터를 확보할 수 없는 문제점이 있다.
한국 공개특허공보 공개번호 제10-2021-0064445호(발명의 명칭: 반도체 공정 시뮬레이션 시스템 및 그것의 시뮬레이션 방법)
이러한 문제점을 해결하기 위하여, 본 발명은 다른 반도체 설계 데이터를 기반으로 학습된 일반화 모델을 이용하여 새로운 반도체 데이터의 배치를 수행하는 일반화 모델을 이용한 반도체 배치 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 일 실시 예는 일반화 모델을 이용한 반도체 배치 시스템으로서, 복수의 서로 다른 디자인의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 학습하되, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하여 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성하고, 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용하여 강화학습을 통한 일반화된 모델을 생성하는 일반화 모델링부;를 포함한다.
또한, 상기 실시 예에 따른 학습 데이터 셋은 매크로(Macro), 스탠다드셀(Standard Cell), 포트(Port)의 연결관계를 포함한 인접 행렬 정보(Adjacency matrix information), 또는 전처리된 인접 행렬 정보, 배치할 매크로 정보, 스탠다드셀 또는 클러스터의 정보 및 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보(Netlist Meta information)로 이루어진 것을 특징으로 한다.
또한, 상기 실시 예에 따른 일반화 모델링부는 일반화된 모델을 기반으로 임의의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 전이학습(Transfer learning)을 추가 수행하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템은 일반화 모델링부(100)에서 생성된 일반화된 모델을 기반으로 배치 최적화부로부터 제공받은 상태 정보와 보상 정보를 이용한 강화학습을 수행하여 액션을 결정하는 강화학습 에이전트; 및 상기 강화학습 에이전트에서 결정된 액션과, 임의의 반도체 설계 데이터의 넷리스트 관련 메타 정보와, 상기 강화학습 에이전트에서 결정된 액션을 반영한 인접 행렬 정보, 매크로 정보를 포함한 상태(State) 정보를 기반으로 시뮬레이션을 수행하고, 상기 강화학습 에이전트의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 위치(Position), 방향(Orientation), 다이 크기(Die size)를 포함한 배치 결과에 기반하여 산출되는 보상(Reward) 정보를 제공하는 배치 최적화부;를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 일반화 모델링부는 인접 행렬 정보, 매크로 정보, 넷리스트 관련 메타 정보를 포함한 복수의 서로 다른 디자인의 반도체 설계 데이터를 학습 데이터 셋으로 입력받는 입력부; 및 인공 신경망을 기반으로 상기 복수의 학습 데이터 셋을 이용하여 동시에 학습을 수행하되, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하고, 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성하여 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용한 강화학습을 통해 일반화된 모델을 생성하며, 전체 배치를 다이 크기와, 매크로 별 위치 및 방향으로 분할하여 매크로를 배치하고, 각 매크로의 배치가 완료되면 전체 매크로의 배치를 미리 설정된 평가 정보와 비교한 평가 결과를 기반으로 보상(Reward) 정보를 출력하는 일반화 모델 생성부;를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 평가 정보는 와이어 길이(Wire Lengh) 또는 와이어 길이를 근사하는 값, 혼잡도(Congestion), 밀도(Density)인 것을 특징으로 한다.
또한, 상기 실시 예에 따른 입력부는 복수의 서로 다른 디자인의 반도체 설계 데이터를 저장하는 데이터 저장부; 및 상기 반도체 설계 데이터에서 포트의 배치를 변경하고, 상기 변경된 포트 위치에 기반하여 나머지 부품들의 위치를 변경한 새로운 디자인의 반도체 설계 데이터를 생성하는 데이터 증강부;를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 일반화 모델 생성부는 입력부의 반도체 설계 데이터로부터 매크로, 및 포트의 연결관계를 포함한 인접 행렬 정보와, 현재 단계에서 배치할 매크로의 정보를 포함한 현재 매크로 정보와, 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보를 학습 데이터 셋으로 입력받는 데이터 입력부; 인공 신경망을 기반으로 하여 임베딩된 상태(state)를 출력하는 일반화 모델 학습부; 상기 일반화 모델 학습부의 상태를 기반으로 전체 배치를 다이 크기와, 매크로 별 위치, 방향을 정하여 배치하는 정책을 통해 액션을 생성하는 정책 네트워크; 및 상기 일반화 모델 학습부의 상태를 통해 전체 배치를 다이 크기와 매크로 별 위치, 방향, 변동을 예측하여 평가 정보와 비교한 평가 결과를 기반으로 보상(Reward) 정보를 출력하는 가치 네트워크;를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 인공 신경망은 GNN을 이용하여 반도체 설계 데이터의 인접 행렬 정보와 매크로 정보로부터 매크로 어텐션과 매크로 및 엣지(edge)를 임베딩(embedding)한 값을 추출하고, 상기 추출된 값과 넷리스트의 관련 메타 정보로부터 임베딩한 메타 데이터 임베딩 값을 합(concat)하여 상태를 출력하는 것을 특징으로 한다.
또한, 본 발명의 일 실시 예는 일반화 모델을 이용한 반도체 배치방법으로서, a) 복수의 서로 다른 디자인의 반도체 설계 데이터를 일반화 모델링부에 입력하는 단계; 및 b) 상기 일반화 모델링부가 입력된 복수의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 학습하되, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하여 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성하고, 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용하여 강화학습을 통한 일반화된 모델을 생성하는 단계;를 포함한다.
또한, 상기 실시 예에 따른 a)단계는 반도체 설계 데이터에서 포트의 배치를 변경하고, 상기 변경된 포트 위치에 기반하여 나머지 부품들의 위치를 변경한 새로운 디자인의 반도체 설계 데이터를 생성하는 데이터 증강단계;를 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 학습 데이터 셋은 매크로(Macro), 클러스터(Cluster), 포트(Port)의 연결관계를 포함한 인접 행렬 정보(Adjacency matrix information),현재 단계에서 배치할 매크로의 정보를 포함한 매크로 정보(Current Macro information) 및 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보(Netlist Meta information)로 이루어진 것을 특징으로 한다.
또한, 상기 실시 예에 따른 b)단계는 일반화 모델링부가 인공 신경망을 기반으로 상기 복수의 학습 데이터 셋을 이용하여 동시에 학습을 수행하되, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하고, 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성하여 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용한 강화학습을 통해 일반화된 모델을 생성하며, 전체 배치를 매크로 별로 위치, 방향, 다이 크기에 따라 분할하여 매크로를 배치하고, 각 매크로의 배치가 완료되면 전체 매크로의 배치를 미리 설정된 평가 정보와 비교한 평가 결과를 기반으로 보상(Reward) 정보를 출력하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 인공 신경망은 GNN을 이용하여 반도체 설계 데이터의 인접 행렬 정보와 매크로 정보로부터 매크로 어텐션과 매크로 및 엣지(edge)를 임베딩(embedding)한 값을 추출하고, 상기 추출된 값과 넷리스트의 관련 메타 정보로부터 임베딩한 메타 데이터 임베딩 값을 합(concat)하여 상태를 출력하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 평가 정보는 와이어 길이(Wire Lengh) 또는 와이어 길이의 근사값, 혼잡도(Congestion), 밀도(Density)인 것을 특징으로 한다.
또한, 상기 실시 예에 따른 b)단계는 일반화 모델링부가 일반화된 모델을 기반으로 임의의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 전이학습(transfer learning)을 수행하는 단계;를 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 일반화 모델을 이용한 반도체 배치방법은 c) 강화학습 에이전트가 일반화 모델링부(100)에서 생성된 일반화된 모델을 기반으로 배치 최적화부로부터 제공받은 상태 정보와 보상 정보를 이용한 강화학습을 수행하여 액션을 결정하는 단계; 및 d) 상기 배치 최적화부가 강화학습 에이전트에서 결정된 액션과, 임의의 반도체 설계 데이터의 넷리스트 관련 메타 정보와, 상기 강화학습 에이전트에서 결정된 액션을 반영한 인접 행렬 정보, 매크로 정보를 포함한 상태(State) 정보를 기반으로 시뮬레이션을 수행하고, 상기 강화학습 에이전트의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 위치(Position), 방향(Orientation), 다이 크기(Die size)를 포함한 배치 결과에 기반하여 산출되는 보상(Reward) 정보를 제공하는 배치 모델 생성단계;를 더 포함하는 것을 특징으로 한다.
본 발명은 다른 반도체 설계 데이터를 기반으로 학습된 일반화 모델을 이용하여 새로운 반도체 데이터의 배치를 수행함으로써, 학습 및 배치를 위한 시간을 단축시킬 수 있는 장점이 있다.
또한, 본 발명은 데이터 증강을 이용하여 다수의 학습 데이터를 생성하여 제공함으로써, 일반화된 모델의 학습을 위한 충분한 학습 데이터를 확보할 수 있는 장점이 있다.
도1은 일반적인 강화 학습 장치의 구성을 나타낸 블록도.
도2는 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템을 나타낸 블록도.
도3은 도2의 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템의 일반화 모델링부 구성을 나타낸 블록도.
도4는 도3의 실시 예에 따른 일반화 모델링부의 입력부 구성을 나타낸 블록도.
도5는 도3의 실시 예에 따른 일반화 모델링부의 일반화 모델 생성부 구성을 나타낸 블록도.
도6은 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치 방법을 설명하기 위해 나타낸 흐름도.
도7은 도6의 실시 예에 따른 일반화 모델을 이용한 반도체 배치 방법의 데이터 증강과정을 설명하기 위해 나타낸 예시도.
도8은 도6의 실시 예에 따른 일반화 모델을 이용한 반도체 배치 방법의 액션을 설명하기 위해 나타낸 예시도.
이하에서는 본 발명의 바람직한 실시 예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다.
또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.
본 명세서에서 어떤 부분이 어떤 구성요소를 "포함"한다는 표현은 다른 구성요소를 배제하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
또한, "‥부", "‥기", "‥모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 그 둘의 결합으로 구분될 수 있다.
또한, "적어도 하나의" 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템 및 방법의 바람직한 실시예를 상세하게 설명한다.
도2는 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템을 나타낸 블록도이고, 도3은 도2의 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템의 일반화 모델링부 구성을 나타낸 블록도이며, 도4는 도3의 실시 예에 따른 일반화 모델링부의 입력부 구성을 나타낸 블록도이고, 도5는 도3의 실시 예에 따른 일반화 모델링부의 일반화 모델 생성부 구성을 나타낸 블록도이다.
도2 내지 도5를 참조하면, 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치 시스템은, 다른 반도체 설계 데이터를 기반으로 학습된 일반화 모델을 이용하여 새로운 반도체 데이터의 배치를 수행할 수 있도록 일반화 모델링부(100)와, 강화학습 에이전트(200)와, 배치 최적화부(300)를 포함하여 구성될 수 있다.
일반화 모델링부(100)는 복수의 서로 다른 디자인의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 동시에 학습을 수행할 수 있다.
또한, 일반화 모델링부(100)는 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하고, 구성된 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성할 수 있다.
또한, 일반화 모델링부(100)는 생성된 복수의 배치 결과를 버퍼 등의 저장수단에 저장하고, 버퍼에 저장된 배치 결과와 관련한 복수개의 데이터를 하나의 입력 데이터 셋으로 기능하도록 구성한다.
또한, 일반화 모델링부(100)는 입력 데이터 셋을 이용하여 강화학습을 수행함으로써 복수개의 데이터를 동시에 학습하고, 이를 통해 일반화된 강화학습 에이전트 모델을 생성할 수 있다.
또한, 일반화 모델링부(100)는 복수의 서로 다른 디자인의 반도체 설계 데이터를 이용하여 일반화된 모델을 기반으로 임의의 반도체 설계 데이터를 학습 데이터 셋 또는 파라미터를 이용하여 전이학습(Transfer learning)을 추가 수행할 수 있다.
이를 위해 일반화 모델링부(100)는 입력부(110)와, 일반화 모델 생성부(120)를 포함하여 구성될 수 있다.
입력부(110)는 인접 행렬 정보, 현재 매크로 정보, 넷리스트 관련 메타 정보를 포함한 복수의 서로 다른 디자인의 반도체 설계 데이터를 학습 데이터 셋으로 입력받을 수 있는 구성으로서, 데이터 저장부(111)와, 데이터 증강부(112)를 포함하여 구성될 수 있다.
여기서, 학습 데이터 셋은 매크로(Macro), 스탠다드 셀(Standard Cell), 클러스터(Cluster), 포트(Port)의 연결관계를 포함한 인접 행렬 정보(Adjacency matrix information)를 포함할 수 있다.
또한, 학습 데이터 셋은 현재 단계에서 배치할 매크로의 정보를 포함한 현재 매크로 정보(Current Macro information), 예를 들어, 매크로 폭, 매크로 높이, 매크로 X, 매크로 Y, 매크로 인덱스, 매크로 오리엔테이션 등을 포함할 수 있다.
또한, 학습 데이터 셋은 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보(Netlist Meta information), 예를 들어, 엣지의 수, 매크로의 수, 파티션의 수, 칩(chip)의 폭, 칩의 높이 등을 포함할 수 있다.
데이터 저장부(111)는 복수의 서로 다른 디자인의 반도체 설계 데이터를 저장할 수 있다.
데이터 증강부(112)는 강화학습에 필요한 학습 데이터를 증가시켜 학습에 사용할 수 있도록 새로운 디자인의 반도체 설계 데이터를 생성하는 구성으로서, 예를 들면, 반도체 설계 데이터에서 포트의 배치를 변경하고, 변경된 포트 위치에 기반하여 나머지 부품들의 위치를 변경하여 새로운 디지인의 반도체 설계 데이터를 생성할 수 있다.
일반화 모델 생성부(120)는 인공 신경망(Neural Network)을 기반으로 복수의 학습 데이터 셋을 이용하여 동시에 학습을 수행할 수 있다.
또한, 인공 신경망은 GNN(Graph Neural Network) 또는 그 외의 신경망 기반의 모델로 구성될 수 있다.
반도체 설계 데이터는 그래프 구조의 데이터로서, 노드와 엣지로 이루어진 관계로 나타낼 수 있고, 넷리스트는 하이퍼 그래프(hypergraph)로 표현될 수 있다.
하이퍼 그래프는 하나의 엣지(edge, 관계)에 여러 버텍스(vertex) 또는 노드(node)가 동시에 연결된 네트워크로서, 2개 이상의 버텍스를 연결해주는 하이퍼 엣지를 포함할 수 있고, 통상적으로 버텍스는 회로 상에서 넷리스트 상의 매크로 또는 매크로 상의 핀(pin)에 대응되고, 하이퍼 엣지는 넷리스트 상의 넷(net)에 대응될 수 있다.
이러한 그래프 구조의 특징을 기반으로 GNN은, 연결 관계 및 인접한 것들의 상태를 이용하여 상태를 학습하고, 마지막 상태를 통해 예측을 수행한다.
또한, 일반화 모델 생성부(120)는 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하고, 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성하여 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용한 강화학습을 통해 일반화된 모델을 생성할 수 있다.
또한, 일반화 모델 생성부(120)는 전체 배치를 매크로 별로 위치, 방향, 다이 크기에 따라 분할하여 매크로를 배치하고, 각 매크로의 배치가 완료되면 전체 매크로의 배치를 미리 설정된 평가 정보와 비교한 평가 결과를 기반으로 보상(Reward) 정보를 출력할 수 있다.
이를 위해, 일반화 모델 생성부(120)는 데이터 입력부(121)와, 일반화 모델 학습부(122)와, 정책 네트워크(123)와, 가치 네트워크(124)를 포함하여 구성될 수 있다.
데이터 입력부(121)는 입력부(110)로부터 반도체 설계 데이터를 입력받아 매크로, 클러스터 및 핀의 연결관계를 포함한 인접 행렬 정보(121a)와, 현재 단계에서 배치할 매크로의 정보를 포함한 매크로 정보(121b)와, 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보(121c)를 구분하여 학습 데이터 셋으로 입력한다.
일반화 모델 학습부(122)는 데이터 입력부(121)에서 입력되는 반도체 설계 데이터의 인접 행렬 정보(121a)와, 매크로 정보(121b)를 임베딩(embedding)한 값을 GNN을 이용하여 매크로 어텐션과 매크로의 임베딩 및 엣지(edge)의 임베딩(embedding) 값을 추출한다.
즉, 일반화 모델 학습부(122)의 GNN은 CNN(Convolutional Neural Network)에서의 콘벌루션 개념을 적용한 GCN(Graph convolution Network)을 이용하여 각각의 특징들을 그래프 상에서 노드로 사용하고, 각 노드 사이의 연관성을 이용할 수 있도록 한다.
GCN은 연속적으로 각 층에서 이웃하는 여러 노드들의 통합으로 계속해서 새로운 특성들을 만들어내 층마다 그래프 구조를 변화시키고, 이들의 결과값들은 비선형 활성함수인 ReLu 함수에 의해 변형된다.
이러한 과정을 통해 노드의 분류와 노드 임베딩, 노드 사이의 연결선 및 그래프의 분류를 수행할 수 있다.
또한, 일반화 모델 학습부(122)는 넷리스트 관련 메타 정보(121c)를 임베딩한 메타 데이터 임베딩 값과, 매크로 어텐션과, 매크로 임베딩 값과, 엣지 임베딩 값을 합(concat)한 상태(state)를 출력한다.
정책 네트워크(Policy Network, 123)는 일반화 모델 학습부(122)에서 출력되는 상태를 기반으로 전체 배치를 매크로 별로 위치, 방향, 다이 크기에 따라 배치하는 정책을 수행하여 액션을 생성할 수 있다.
가치 네트워크(Value Network, 124)는 일반화 모델 학습부(122)에서 출력되는 상태를 기반으로 전체 매크로의 배치를 매크로 별로 위치(Position), 방향(Orientation), 다이 크기(Die size)의 변동을 예측하여 미리 설정된 평가 정보와 비교한 평가 결과를 통해 보상(Reward) 정보를 출력할 수 있다.
여기서, 평가 정보는 와이어 길이 또는 와이어 길이를 근사한 값, 혼잡도(Congestion) 및 밀도(Density)를 포함할 수 있다.
즉, 와이어 길이 또는 와이어 길이를 근사한 값을 이용한 제1 부품과 제2 부품 간의 와이어 길이에 대한 근사값과, 임의의 면적에서 경로 배정(Routing)에 대한 혼잡도, 배치 면적에서 부품이 배치된 면적에 대한 밀도 등을 산출하여 강화학습을 통해 일반화되는 모델의 배치 성능에 대한 평가 결과를 제공할 수 있다.
강화학습 에이전트(200)는 일반화 모델링부(100)에서 생성된 일반화된 모델을 기반으로 배치 최적화부(300)로부터 제공받은 상태 정보와 보상 정보를 이용한 강화학습을 수행하여 액션을 생성할 수 있다.
배치 최적화부(300)는 강화학습 에이전트(200)에서 결정된 액션과, 임의의 반도체 설계 데이터의 넷리스트 관련 메타 정보와, 강화학습 에이전트(200)에서 결정된 액션을 반영한 인접 행렬 정보와, 매크로 정보를 포함한 상태(State) 정보를 기반으로 시뮬레이션을 수행할 수 있다.
또한, 배치 최적화부(300)는 강화학습 에이전트(200)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 위치(Position), 방향(Orientation), 다이 크기(Die size)를 포함한 배치 결과에 기반하여 보상(Reward) 정보를 산출하고, 산출된 보상 정보를 강화학습 에이전트(200)로 제공한다.
다음은 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치방법을 설명한다.
도6은 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치 방법을 설명하기 위해 나타낸 흐름도이다.
도2 내지 도5를 참조하면, 본 발명의 일 실시 예에 따른 일반화 모델을 이용한 반도체 배치방법은, 복수의 서로 다른 디자인의 반도체 설계 데이터를 획득하여 일반화 모델링부(100)에 입력(S100)한다.
또한, S100 단계에서 일반화 모델링부(100)는 데이터가 부족한 경우, 처음부터 모델을 학습시키는 것이 어려운 문제를 해결하기 위해 데이터 증강을 수행할 수 있다.
이를 위해, 일반화 모델링부(100)는 S100 단계에서 획득한 반도체 설계 데이터에서, 도 7(a) 내지 도 7(d)에 나타낸 바와 같이, 설계 데이터 이미지 상에 위치한 포트(410, 411, 412, 413)의 배치를 상/하/좌/우 방향으로 위치를 변경하고, 변경된 포트 위치에 기반하여 나머지 부품들의 위치를 변경한 새로운 디자인의 반도체 설계 데이터를 생성할 수 있다.
이러한 데이터 증강을 통해 획득한 반도체 설계 데이터는 일반화된 모델의 학습을 위해 사용할 수 있다.
계속해서, 일반화 모델링부(100)는 입력된 복수의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 동시에 학습하고, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하여 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성하며, 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용하여 강화학습을 통한 일반화된 모델을 생성(S200)한다.
S200 단계에서, 학습 데이터 셋은 매크로(Macro), 클러스터(Cluster), 핀(Pin)의 연결관계를 포함한 인접 행렬 정보(Adjacency matrix information),현재 단계에서 배치할 매크로의 정보를 포함한 현재 매크로 정보(Current Macro information) 및 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보(Netlist Meta information)로 이루어질 수 있다.
또한, S200단계는 일반화 모델링부(100)가 GNN을 기반으로 복수의 학습 데이터 셋을 이용하여 동시에 학습을 수행할 수 있다.
또한, 일반화 모델링부(100)는 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하고, 복수개의 환경에 대한 정책(Policy) 수행을 통해 부품의 배치를 생성할 수 있다.
또한, 일반화 모델링부(100)는 생성된 복수의 배치 결과를 하나의 입력 데이터 셋으로 이용한 강화학습을 통해 일반화된 모델을 생성하고, 전체 배치를 매크로 별로 위치, 방향, 다이 크기에 따라 분할하여 매크로를 배치할 수 있다.
즉, 일반화 모델링부(100)는 학습 데이터 셋을 통해 입력되는 반도체 설계 데이터의 인접 행렬 정보(121a)와, 매크로 정보(121b)를 임베딩(embedding)한 값을 GNN을 이용하여 매크로 어텐션과 매크로의 임베딩 및 엣지(edge)의 임베딩(embedding) 값을 추출하고, 넷리스트 관련 메타 정보(121c)를 임베딩한 메타 데이터 임베딩 값과, 추출된 매크로 어텐션과, 매크로 임베딩 값과, 엣지 임베딩 값을 합(concat)한 상태(state)를 상태를 기반으로 정책을 수행하여 액션을 생성할 수 있다.
또한, 일반화 모델링부(100)는 액션을 기반으로 전체 배치를 매크로 별로 도 8(a)와 같은 배치 위치(Position), 도 8(b)와 같은 배치 방향(Orientation), 도 8(c)와 같은 다이 크기(Die size)를 생성하고, 생성된 위치, 방향, 다이 크기의 변동을 예측하여 미리 설정된 평가 정보와 비교한 평가 결과를 통해 보상(Reward) 정보를 제공할 수 있다.
평가 정보는 와이어 길이 또는 와이어 길이를 근사한 값을 이용한 제1 부품과 제2 부품 간의 와이어 길이와, 임의의 면적에서 경로 배정(Routing)에 대한 혼잡도와, 배치 면적에서 부품이 배치된 면적에 대한 밀도 등을 산출하여 강화학습을 통해 일반화되는 모델의 배치 성능에 대한 평가 결과를 제공할 수 있다.
S200 단계를 수행한 후, 일반화 모델링부(100)는 일반화된 모델을 기반으로 임의의 반도체 설계 데이터를 학습 데이터 셋 또는 임의의 파라메터를 이용하여 전이학습(Transfer learning)을 수행(S300)할 수 있다.
계속해서, 강화학습 에이전트(200)는 일반화 모델링부(100)가 S200 단계 또는 S300 단계를 통해 생성한 일반화된 모델을 기반으로 배치 모델을 생성(S400)한다.
즉, S400 단계에서, 강화학습 에이전트(200)는 배치 최적화부(300)로부터 제공받은 상태 정보와 보상 정보를 이용한 강화학습을 수행하여 액션을 결정한다.
배치 최적화부(300)는 강화학습 에이전트(200)에서 결정된 액션과, 임의의 반도체 설계 데이터의 넷리스트 관련 메타 정보와, 강화학습 에이전트(200)에서 결정된 액션을 반영한 인접 행렬 정보, 매크로 정보를 포함한 상태(State) 정보를 기반으로 시뮬레이션을 수행한다.
또한, 배치 최적화부(300)는 강화학습 에이전트(200)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따른 위치(Position), 방향(Orientation), 다이 크기(Die size)를 포함한 배치 결과에 기반하여 보상(Reward) 정보를 산출하여 강화학습 에이전트(200) 제공함으로써, 최적의 배치 모델이 생성될 수 있도록 한다.
따라서, 다른 반도체 설계 데이터를 기반으로 학습된 일반화 모델을 이용하여 새로운 반도체 데이터의 배치를 수행함으로써, 학습 및 배치를 위한 시간을 단축시킬 수 있다.
또한, 데이터 증강을 이용하여 다수의 학습 데이터를 생성하여 제공함으로써, 일반화된 모델의 학습을 위한 충분한 학습 데이터를 확보할 수 있다
상기와 같이, 본 발명의 바람직한 실시 예를 참조하여 설명하였지만 해당 기술 분야의 숙련된 당업자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
또한, 본 발명의 특허청구범위에 기재된 도면번호는 설명의 명료성과 편의를 위해 기재한 것일 뿐 이에 한정되는 것은 아니며, 실시예를 설명하는 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한, 상술된 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있으므로, 이러한 용어들에 대한 해석은 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 명시적으로 도시되거나 설명되지 아니하였다 하여도 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 본 발명에 의한 기술적 사상을 포함하는 다양한 형태의 변형을 할 수 있음은 자명하며, 이는 여전히 본 발명의 권리범위에 속한다.
또한, 첨부하는 도면을 참조하여 설명된 상기의 실시예들은 본 발명을 설명하기 위한 목적으로 기술된 것이며 본 발명의 권리범위는 이러한 실시예에 국한되지 아니한다.
100 : 일반화 모델링부 110 입력부
111 : 데이터 저장부 112 : 데이터 증강부
120 : 일반화 모델 생성부 121 : 데이터 입력부
121a : 인접 행렬 121b : 매크로 정보
121c : 넷리스트 메타 정보 122 : 일반화 모델 학습부
123 : 정책 네트워크 124 : 가치 네트워크
200 : 강화학습 에이전트 300 : 배치 최적화부
400 : 설계 데이터 이미지 410, 411, 412, 413 : 포트

Claims (17)

  1. 매크로, 클러스터 및 포트의 연결관계를 포함한 인접 행렬 정보, 현재 단계에서 배치할 매크로의 정보를 포함한 현재 매크로 정보, 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보를 포함한 복수의 서로 다른 디자인의 반도체 설계 데이터를 학습 데이터 셋으로 입력받는 입력부(110); 및
    인공 신경망을 기반으로 상기 복수의 학습 데이터 셋을 이용하여 동시에 학습을 수행하되, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하여 반도체 설계 데이터의 인접 행렬 정보(121a) 및 매크로 정보(121b)를 임베딩(embedding)한 값을 GNN을 이용하여 매크로 어텐션, 매크로의 임베딩 및 엣지(edge)의 임베딩(embedding) 값을 추출하고, 상기 추출된 매크로 어텐션, 매크로 임베딩 값 및 엣지 임베딩 값과, 넷리스트 관련 메타 정보(121c)를 임베딩한 메타 데이터 임베딩 값의 합(concat)을 상태(state)로 출력하며, 상기 출력된 상태를 기반으로 전체 배치를 매크로 별로 위치, 방향, 다이 크기에 따라 배치하는 정책을 통해 생성된 액션과, 전체 매크로의 배치를 매크로 별로 위치(Position), 방향(Orientation), 다이 크기(Die size)의 변동을 예측하여 미리 설정된 평가 정보와 비교한 평가 결과를 보상(Reward) 정보로 제공하는 강화학습을 통해 일반화된 모델을 생성하는 일반화 모델 생성부(120);를 포함하는 일반화 모델을 이용한 반도체 배치 시스템.
  2. 제 1 항에 있어서,
    상기 학습 데이터 셋은 매크로(Macro), 스탠다드셀(Standard Cell), 포트(Port)의 연결관계를 포함한 인접 행렬 정보(Adjacency matrix information), 또는 전처리된 인접 행렬 정보, 배치할 매크로, 스탠다드셀 또는 클러스터의 정보 및 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보(Netlist Meta information)로 이루어진 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  3. 제 1 항에 있어서,
    상기 일반화 모델을 이용한 반도체 배치 시스템은 일반화된 모델을 기반으로 임의의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 전이학습(Transfer learning)을 추가 수행하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 일반화 모델을 이용한 반도체 배치 시스템은 일반화 모델링부(100)에서 생성된 일반화된 모델을 기반으로 배치 최적화부(300)로부터 제공받은 상태 정보와 보상 정보를 이용한 강화학습을 수행하여 액션을 결정하는 강화학습 에이전트(200); 및
    상기 강화학습 에이전트(200)에서 결정된 액션과, 임의의 반도체 설계 데이터의 넷리스트 관련 메타 정보와, 상기 강화학습 에이전트(200)에서 결정된 액션을 반영한 인접 행렬 정보, 매크로 정보를 포함한 상태(State) 정보를 기반으로 시뮬레이션을 수행하고, 상기 강화학습 에이전트(200)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 위치(Position), 방향(Orientation), 다이 크기(Die size)를 포함한 배치 결과에 기반하여 산출되는 보상(Reward) 정보를 제공하는 배치 최적화부(300);를 포함하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 평가 정보는 와이어 길이(Wire Lengh) 또는 와이어 길이를 근사하는 값, 혼잡도(Congestion), 밀도(Density)인 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  7. 제 1 항에 있어서,
    상기 입력부(110)는 복수의 서로 다른 디자인의 반도체 설계 데이터를 저장하는 데이터 저장부(111); 및
    상기 반도체 설계 데이터에서 포트의 배치를 변경하고, 상기 변경된 포트 위치에 기반하여 나머지 부품들의 위치를 변경한 새로운 디자인의 반도체 설계 데이터를 생성하는 데이터 증강부(112);를 포함하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  8. 제 1 항에 있어서,
    상기 일반화 모델 생성부(120)는 입력부(110)의 반도체 설계 데이터로부터 매크로, 및 포트의 연결관계를 포함한 인접 행렬 정보와, 현재 단계에서 배치할 매크로의 정보를 포함한 현재 매크로 정보와, 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보를 학습 데이터 셋으로 입력받는 데이터 입력부(121);
    인공 신경망을 기반으로 하여 반도체 설계 데이터의 인접 행렬 정보(121a) 및 매크로 정보(121b)를 임베딩(embedding)한 값을 GNN을 이용하여 매크로 어텐션, 매크로의 임베딩 및 엣지(edge)의 임베딩(embedding) 값을 추출하고, 상기 추출된 매크로 어텐션, 매크로 임베딩 값 및 엣지 임베딩 값과, 넷리스트 관련 메타 정보(121c)를 임베딩한 메타 데이터 임베딩 값의 합(concat)을 상태(state)로 출력하는 일반화 모델 학습부(122);
    상기 일반화 모델 학습부(122)의 상태를 기반으로 전체 배치를 다이 크기와, 매크로 별 위치, 방향을 정하여 배치하는 정책을 통해 액션을 생성하는 정책 네트워크(123); 및
    상기 일반화 모델 학습부(122)의 상태를 통해 전체 배치를 다이 크기와 매크로 별 위치, 방향, 변동을 예측하여 평가 정보와 비교한 평가 결과를 기반으로 보상(Reward) 정보를 출력하는 가치 네트워크(124);를 포함하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  9. 제 8 항에 있어서,
    상기 인공 신경망은 GNN을 이용하여 반도체 설계 데이터의 인접 행렬 정보와 매크로 정보로부터 매크로 어텐션과 매크로 및 엣지(edge)를 임베딩(embedding)한 값을 추출하고, 상기 추출된 값과 넷리스트의 관련 메타 정보로부터 임베딩한 메타 데이터 임베딩 값을 합(concat)하여 상태를 출력하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치 시스템.
  10. a) 일반화 모델링부(100)가 매크로, 클러스터 및 포트의 연결관계를 포함한 인접 행렬 정보, 현재 단계에서 배치할 매크로의 정보를 포함한 현재 매크로 정보, 넷리스트 전체에 대한 정보를 포함한 넷리스트의 관련 메타 정보를 포함한 복수의 서로 다른 디자인의 반도체 설계 데이터를 학습 데이터 셋으로 입력받는 단계; 및
    b) 상기 일반화 모델링부(100)가 입력된 복수의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 학습하되, 각 학습 데이터 셋에 따른 부품의 배치를 하나의 환경으로 구성하여 반도체 설계 데이터의 인접 행렬 정보(121a) 및 매크로 정보(121b)를 임베딩(embedding)한 값을 GNN을 이용하여 매크로 어텐션, 매크로의 임베딩 및 엣지(edge)의 임베딩(embedding) 값을 추출하고, 상기 추출된 매크로 어텐션, 매크로 임베딩 값 및 엣지 임베딩 값과, 넷리스트 관련 메타 정보(121c)를 임베딩한 메타 데이터 임베딩 값의 합(concat)을 상태(state)로 출력하며, 상기 출력된 상태를 기반으로 전체 배치를 매크로 별로 위치, 방향, 다이 크기에 따라 배치하는 정책을 통해 생성된 액션과, 전체 매크로의 배치를 매크로 별로 위치(Position), 방향(Orientation), 다이 크기(Die size)의 변동을 예측하여 미리 설정된 평가 정보와 비교한 평가 결과를 보상(Reward) 정보로 제공하는 강화학습을 통해 일반화된 모델을 생성하는 단계;를 포함하는 일반화 모델을 이용한 반도체 배치방법.
  11. 제 10 항에 있어서,
    상기 a)단계는 반도체 설계 데이터에서 포트의 배치를 변경하고, 상기 변경된 포트 위치에 기반하여 나머지 부품들의 위치를 변경한 새로운 디자인의 반도체 설계 데이터를 생성하는 데이터 증강단계;를 더 포함하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제 10 항에 있어서,
    상기 평가 정보는 와이어 길이(Wire Lengh) 또는 와이어 길이의 근사값, 혼잡도(Congestion), 밀도(Density)인 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치방법.
  16. 제 10 항에 있어서,
    상기 b)단계는 일반화 모델링부(100)가 일반화된 모델을 기반으로 임의의 반도체 설계 데이터를 학습 데이터 셋으로 이용하여 전이학습(transfer learning)을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치방법.
  17. 제 10 항, 제11항, 제15항 및 제 16 항 중 어느 한 항에 있어서,
    상기 일반화 모델을 이용한 반도체 배치방법은 c) 강화학습 에이전트(200)가 일반화 모델링부(100)에서 생성된 일반화된 모델을 기반으로 배치 최적화부(300)로부터 제공받은 상태 정보와 보상 정보를 이용한 강화학습을 수행하여 액션을 결정하는 단계; 및
    d) 상기 배치 최적화부(300)가 강화학습 에이전트(200)에서 결정된 액션과, 임의의 반도체 설계 데이터의 넷리스트 관련 메타 정보와, 상기 강화학습 에이전트(200)에서 결정된 액션을 반영한 인접 행렬 정보, 매크로 정보를 포함한 상태(State) 정보를 기반으로 시뮬레이션을 수행하고,
    상기 강화학습 에이전트(200)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 위치(Position), 방향(Orientation), 다이 크기(Die size)를 포함한 배치 결과에 기반하여 산출되는 보상(Reward) 정보를 제공하는 배치 모델 생성단계;를 더 포함하는 것을 특징으로 하는 일반화 모델을 이용한 반도체 배치방법.
KR1020220183938A 2022-12-26 2022-12-26 일반화 모델을 이용한 반도체 배치 시스템 및 방법 KR102632950B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220183938A KR102632950B1 (ko) 2022-12-26 2022-12-26 일반화 모델을 이용한 반도체 배치 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220183938A KR102632950B1 (ko) 2022-12-26 2022-12-26 일반화 모델을 이용한 반도체 배치 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102632950B1 true KR102632950B1 (ko) 2024-02-05

Family

ID=89903825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220183938A KR102632950B1 (ko) 2022-12-26 2022-12-26 일반화 모델을 이용한 반도체 배치 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102632950B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020506491A (ja) * 2017-01-08 2020-02-27 アルファイクス コーポレイションAlphaics Corporation 人工知能および強化学習によるシステムオンチップ(SoC)回路の設計システムおよび方法
KR20210064445A (ko) 2019-11-25 2021-06-03 삼성전자주식회사 반도체 공정 시뮬레이션 시스템 및 그것의 시뮬레이션 방법
KR20210082210A (ko) * 2018-12-04 2021-07-02 구글 엘엘씨 신경망을 사용한 통합 회로 플로어 플랜 생성
KR20220027674A (ko) * 2020-08-27 2022-03-08 단국대학교 산학협력단 딥러닝 기반의 반도체 디바이스 상태 분류를 위한 장치 및 방법
KR20220139399A (ko) * 2020-04-22 2022-10-14 구글 엘엘씨 신경망을 이용한 집적 회로 배치 생성

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020506491A (ja) * 2017-01-08 2020-02-27 アルファイクス コーポレイションAlphaics Corporation 人工知能および強化学習によるシステムオンチップ(SoC)回路の設計システムおよび方法
KR20210082210A (ko) * 2018-12-04 2021-07-02 구글 엘엘씨 신경망을 사용한 통합 회로 플로어 플랜 생성
KR20210064445A (ko) 2019-11-25 2021-06-03 삼성전자주식회사 반도체 공정 시뮬레이션 시스템 및 그것의 시뮬레이션 방법
KR20220139399A (ko) * 2020-04-22 2022-10-14 구글 엘엘씨 신경망을 이용한 집적 회로 배치 생성
KR20220027674A (ko) * 2020-08-27 2022-03-08 단국대학교 산학협력단 딥러닝 기반의 반도체 디바이스 상태 분류를 위한 장치 및 방법

Similar Documents

Publication Publication Date Title
Mirhoseini et al. Chip placement with deep reinforcement learning
Deb et al. A taxonomy for metamodeling frameworks for evolutionary multiobjective optimization
JP7234370B2 (ja) ニューラルネットワークを使用した集積回路フロアプランの生成
JP6902113B2 (ja) SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法
Smith Neural networks for combinatorial optimization: a review of more than a decade of research
US5903886A (en) Hierarchical adaptive state machine for emulating and augmenting software
US5237514A (en) Minimizing path delay in a machine by compensation of timing through selective placement and partitioning
CN110192192A (zh) 用于电路设计的基于神经网络的物理综合
KR102303372B1 (ko) 정전압 강하(sir) 위반 예측 시스템 및 방법
US20230107940A1 (en) Layout context-based cell timing characterization
US11093683B2 (en) Test pattern generation systems and methods
Chhabria et al. Template-based PDN synthesis in floorplan and placement using classifier and CNN techniques
CN110210609A (zh) 基于神经框架搜索的模型训练方法、装置以及终端
CN109145342B (zh) 自动布线系统及方法
Amouzgar Multi-objective optimization using Genetic Algorithms
CN107392307A (zh) 并行化时序数据的预测方法
US20230385506A1 (en) Deep reinforcement learning-based integrated circuit design system using partitioning and deep reinforcement learning-based integrated circuit design method using partitioning
CN114492782A (zh) 基于强化学习的神经网络的片上核心编译映射方法及装置
US7003749B2 (en) Constraint data management for electronic design automation
KR102632950B1 (ko) 일반화 모델을 이용한 반도체 배치 시스템 및 방법
Chakraborty et al. Connectionist models for part-family classifications
Liu et al. Knowledge-based neural network model for FPGA logical architecture development
KR102603130B1 (ko) 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법
Shao Toward a structured approach to simulation-based engineering design under uncertainty
CN115270686A (zh) 一种基于图神经网络的芯片布局方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant