KR102603130B1 - 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법 - Google Patents

강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법 Download PDF

Info

Publication number
KR102603130B1
KR102603130B1 KR1020220185257A KR20220185257A KR102603130B1 KR 102603130 B1 KR102603130 B1 KR 102603130B1 KR 1020220185257 A KR1020220185257 A KR 1020220185257A KR 20220185257 A KR20220185257 A KR 20220185257A KR 102603130 B1 KR102603130 B1 KR 102603130B1
Authority
KR
South Korea
Prior art keywords
area
macro
information
design
size
Prior art date
Application number
KR1020220185257A
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 KR1020220185257A priority Critical patent/KR102603130B1/ko
Application granted granted Critical
Publication of KR102603130B1 publication Critical patent/KR102603130B1/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/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/12Sizing, e.g. of transistors or gates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (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)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Architecture (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법을 개시한다. 본 발명은 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 계층적 구조를 활용하여 블록 면적을 반영한 최적의 배치를 수행할 수 있고, 집적회로의 세가지 주요 기능인 전력, 성능, 면적에 대하여 최적화 된 배치 설계를 제공할 수 있다.

Description

강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법{DESIGN SYSTEM AND METHOD FOR OPTIMIZING AREA AND MACRO ARRANGEMENT BASED ON REINFORCEMENT LEARNING}
본 발명은 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법에 관한 발명으로서, 더욱 상세하게는 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 계층적 구조를 활용하여 블록 면적을 반영한 최적의 배치를 수행하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법에 관한 것이다.
집적회로를 제작하기 위해서는 다양한 조건들을 만족시켜야 하고, 설계 단계에서 작업자들은 수작업으로 설계를 진행하고 있다.
작업자는 수작업을 통해 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 최적의 위치를 찾아 설계를 진행해야만 하여 작업 시간 및 인력이 증가하고, 업무 효율이 현저하게 낮아지는 문제점이 있다.
또한, 각 작업자마다 노하우가 다르기 때문에 양산 제품에 대한 결과물이 일관되지 않는 문제점이 있다.
강화 학습은 환경(environment)과 상호작용하며 목표를 달성하는 에이전트를 다루는 학습 방법으로서, 인공 지능 분야에서 많이 사용되고 있으며, 최근 들어 집적회로의 설계에도 적용되고 있다.
도 1은 일반적인 반도체 설계 과정을 나타낸 예시도로서, 도 1을 참조하면, 도 1(a)와 같이 디자인 또는 설계를 진행하기 위해 일정 면적의 블록(10) 상에 도 1(b) 내지 도 1(c)와 같이 넷리스트, 스탠다드 셀, 매크로 등의 부품(11, 11a, 11b, 12, 12a, 12b, 12c)들을 배치하고, 배선을 이용하여 각 셀들과 부품들을 연결한 배치 결과를 출력한다.
이러한 배치 결과는 도 1(d)와 같이, HPWL(Half-Perimeter Wire Lengh)을 이용한 부품과 부품, 부품과 셀 간의 배선 길이 계산과, 블록(10) 면적에서 경로 배정(Routing)에 대한 혼잡도(congestion), 배치 면적에서 배치된 면적에 대한 밀도(density) 등을 산출하여 배치 성능에 대한 평가를 수행하고, 평가 결과를 기반으로 최적의 배치를 도출하여 제공한다.
한편, 사람이 수작업을 통해 집적회로의 스탠다드 셀과 포트, 매크로들을 배치하여 매크로 논리 계층(Macro logical hierarchy)에 의해 만들어지는 논리 구조의 경우 같은 그룹의 매크로를 근처에 배치함으로써 최적의 위치를 찾아 설계를 진행한다.
그러나, 작업자가 최적의 위치를 찾아 설계를 진행하면 작업 시간과 인력이 증가하고, 업무 효율이 현저하게 낮아지는 문제점이 있다.
최근에는 강화학습에 기반한 인공지능을 이용하여 반도체 설계를 수행함으로써, 디자인 설계 성능이 매우 개선되었다.
이러한 종래기술에 따른 강화학습을 이용한 설계 시스템은 매크로 배치(Macro Placement)를 최적화하면서, 집적회로의 기능 중에 전력(Power), 성능(Performance)에 대한 해결이 가능했지만, 면적(Area) 문제를 해결하지 못하는 문제점이 있다.
즉, 종래기술은 배선 길이와 혼잡도를 학습하기 때문에 전력과 성능을 매크로의 위치 개선을 통해 개선하면서 간접적으로 해결할 수 있었지만, 집적회로의 세가지 주요 기능인 전력, 성능, 면적 중에서 면적에 대한 최적화는 제공하지 못하는 문제점이 있다.
또한, 면적의 경우에는 전력, 성능과 같이 매크로 위치에 영향을 받는 것이 아니라, 매크로 위치에 영향을 주는 요인이었기 때문에 종래기술에 따른 매크로 배치 알고리즘에서는 해결하기 어려운 문제점이 있다.
한국 등록특허공보 등록번호 제10-2208989호(발명의 명칭: 강화 학습을 통한 디바이스 배치 최적화)
이러한 문제점을 해결하기 위하여, 본 발명은 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 계층적 구조를 활용하여 블록 면적을 반영한 최적의 배치를 수행하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 일 실시 예는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템으로서, 임의의 집적회로에 대한 설계 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 설계 데이터를 기반으로 일정 크기로 감소시켜 블록 면적(Block Area)의 크기(size) 조정과, 상기 조정된 크기의 블록 면적에서 매크로 위치(Macro position) 및 매크로 방향(Macro orientation)을 결정하는 최적화를 수행하되, 적어도 하나의 에피소드에서 블록 면적의 크기와, 면적 비용(Area Cost)을 적용한 보상(Reward) 정보를 기반으로 강화학습을 수행하여 블록 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시켜 조정된 매크로의 배치가 가능한 블록 면적의 크기를 결정하는 액션(Action)을 수행하며, 상기 조정된 블록 면적의 크기, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보와, 블록 면적을 감소시킨 면적 비용, 상기 조정된 블록 면적에 같은 논리적 계층이 배치되도록 하는 계층 비용이 적용된 보상(Reward) 정보를 기반으로 강화학습을 통해 매크로 위치와 매크로 방향을 결정하는 추가 액션을 수행하여 하나의 환경에서 블록 면적, 매크로 위치 및 매크로 방향이 함께 최적화되도록 학습하는 설계 서버(100);를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 설계 서버는 블록 면적을 결정하기 위한 액터와, 매크로 위치 및 매크로 방향을 결정하기 위한 액터'가 계층적(Hierarchy)으로 구성된 것을 특징으로 하는 한다.
또한, 상기 실시 예에 따른 설계 서버는 적어도 하나의 에피소드에서 블록의 면적 크기(Area size)와, 보상 정보를 기반으로 강화학습을 수행하여 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시킨 적어도 하나의 면적 크기를 결정하는 액션을 출력하는 액터; 상기 액터에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보, 액터'에서 결정된 추가 액션을 기반으로 시뮬레이션을 수행하여 배치 결과 정보를 생성하고, 상기 액터 및 액터'의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따른 면적 크기, 매크로 위치, 매크로 방향을 포함한 배치 결과를 기반으로 산출되는 보상 정보를 제공하는 시뮬레이터; 및 상기 액터로부터 제공받은 면적 크기 정보와, 시뮬레이터로부터 제공받은 상태 정보 및 보상 정보를 기반으로 강화학습을 수행하여 매크로 위치와 매크로 방향을 결정하는 추가 액션을 출력하는 액터';를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 설계 서버는 액터와 병렬 연결되고, 상기 액터에서 결정된 서로 다른 면적 크기 정보를 기반으로 시뮬레이션과 추가 액션을 통해 강화학습을 수행하는 복수의 시뮬레이터 1 내지 시뮬레이터 n과, 액터 1' 내지 액터 n'를 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 상기 보상 정보는 새로운 보상의 보상 함수이고, -(Original Reward + Hierarchy_weight × Hierarchy_cost + Area_weight × Area_cost)일 수 있으며, 여기서, 'Original Reward'는 HPWL과 혼잡도와 밀도에 대한 평가를 수행한 값이고, 'Hierarchy_weight'는 하이퍼 파라미터이며, 'Hierarchy_cost'는 매크로 그룹의 총면적이고, 'Area_weight'는 블록 크기에 대한 가중치이며, 'Area_cost'는 블록의 너비(X) × 높이(Y) 값인 것을 특징으로 한다.
또한, 본 발명의 일 실시 예는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법으로서, a) 설계 서버가 임의의 집적회로에 대한 설계 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 설계 데이터를 기반으로 일정 크기로 감소시켜 블록 면적(Block Area)의 크기(size) 조정와, 상기 조정된 크기의 블록 면적에서 매크로 위치(Macro position) 및 매크로 방향(Macro orientation)을 결정하는 최적화를 수행하되, 적어도 하나의 에피소드에서 블록 면적의 크기와, 면적 비용(Area Cost)을 적용한 보상(Reward) 정보를 기반으로 강화학습을 수행하여 블록 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시켜 조정된 매크로의 배치가 가능한 블록 면적의 크기에 대한 액션(Action)을 결정하는 단계; 및 b) 상기 설계 서버가 조정된 블록 면적의 크기, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보와, 블록 면적을 조정시킨 면적 비용, 상기 조정된 블록 면적에 같은 논리적 계층이 배치되도록 하는 계층 비용이 적용된 보상(Reward) 정보를 기반으로 강화학습을 통해 매크로 위치와, 매크로 방향을 결정하는 추가 액션을 수행하여 하나의 환경에서 블록 면적, 매크로 위치 및 매크로 방향이 함께 최적화되도록 학습하는 단계;를 포함한다.
또한, 상기 실시 예에 따른 a) 단계는 설계 서버가 임의의 집적회로에 대한 설계 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 설계 데이터를 기반으로 블록 면적(Block Area), 매크로 위치(Macro position), 매크로 방향(Macro orientation) 정보를 획득하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 b) 단계는 b-1) 설계 서버가 a) 단계에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보, 보상 정보를 기반으로 강화학습을 수행하여 매크로 위치와 매크로 방향에 대한 추가 액션을 결정하는 단계; b-2) 상기 설계 서버가 a) 단계에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보, 상기 b-1) 단계에서 결정된 추가 액션을 기반으로 시뮬레이션을 수행하여 배치 결과 정보를 생성하는 단계; 및 b-3) 상기 설계 서버가 상기 a) 단계 및 b-1) 단계의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따른 감소된 면적 크기, 매크로 위치, 매크로 방향을 포함한 배치 결과를 기반으로 보상 정보를 생성하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 상기 보상 정보는 새로운 보상의 보상 함수이고, -(Original Reward + Hierarchy_weight × Hierarchy_cost + Area_weight × Area_cost)일 수 있으며, 여기서, 'Original Reward'는 HPWL과 혼잡도와 밀도에 대한 평가를 수행한 값이고, 'Hierarchy_weight'는 하이퍼 파라미터이며, 'Hierarchy_cost'는 매크로 그룹의 총면적이고, 'Area_weight'는 블록 크기에 대한 가중치이며, 'Area_cost'는 블록의 너비(X) × 높이(Y) 값인 것을 특징으로 한다.
본 발명은 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 계층적 구조를 활용하여 블록 면적을 반영한 최적의 배치를 수행할 수 있는 장점이 있다.
또한, 본 발명은 집적회로의 세가지 주요 기능인 전력, 성능, 면적에 대하여 최적화 된 배치 설계를 제공할 수 있는 장점이 있다.
또한, 본 발명은 같은 그룹의 매크로는 함께 배치하고, 동일한 그룹의 매크로간에도 거리를 최적화한 배치를 제공할 수 있는 장점이 있다.
또한, 본 발명은 동일한 그룹의 매크로는 서로 가깝게 배치함으로써, 매크로 위치에 따른 면적을 효율적으로 사용할 수 있는 장점이 있다.
도 1은 일반적인 반도체 설계 과정을 나타낸 예시도.
도2는 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템의 구성을 나타낸 블록도.
도 3은 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법을 설명하기 위해 나타낸 흐름도.
도 4는 도3의 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법에서 블록 크기의 축소 과정을 설명하기 위해 나타낸 예시도.
도 5는 도3의 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법에서 축소된 블록에 요소를 배치하는 과정을 설명하기 위해 나타낸 예시도.
도 6은 도3의 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법을 이용한 초기 배치 설계 데이터를 나타낸 예시도.
이하에서는 본 발명의 바람직한 실시 예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다.
또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.
본 명세서에서 어떤 부분이 어떤 구성요소를 "포함"한다는 표현은 다른 구성요소를 배제하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
또한, "‥부", "‥기", "‥모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 그 둘의 결합으로 구분될 수 있다.
또한, "적어도 하나의" 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법의 바람직한 실시예를 상세하게 설명한다.
도 2는 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템의 구성을 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템은 설계 서버(100)를 포함하여 구성될 수 있다.
설계 서버(100)는 임의의 집적회로에 대한 설계 데이터(200)를 입력받아 파싱(Parsing)하고, 파싱된 설계 데이터(200)를 기반으로 블록 면적(Block Area), 매크로 위치(Macro position), 매크로 방향(Macro orientation)의 최적화를 수행할 수 있다.
또한, 설계 서버(100)는 적어도 하나의 에피소드에서 블록 면적 크기(Block Area size)와, 보상 정보를 기반으로 강화학습을 수행하여 블록 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시킨 면적 크기를 결정하는 액션(Action)을 수행할 수 있다.
여기서, 에피소드는 초기 상태(State)부터 마지막 상태(State)까지의 궤적(trajectory)을 의미하는 것으로, 예를 들어 게임에서는 '게임 시작'부터 '게임 종료'까지의 궤적, 즉, 하나의 상태(State)를 끝낸 후 다음 상태로 넘어가는 것을 에피소드라고 볼 수 있다.
또한, 설계 서버(100)는 감소된 면적 크기와, 설계 데이터의 넷리스트 관련 메타 정보와, 매크로 정보가 포함된 상태(State) 정보와, 보상(Reward) 정보를 이용한 강화학습을 통해 매크로 위치와 매크로 방향을 결정하는 추가 액션을 수행하여 하나의 환경에서 블록 면적, 매크로 위치 및 매크로 방향이 함께 최적화되도록 학습할 수 있다.
이를 위해, 설계 서버(100)는 블록 면적을 결정하기 위한 액터(110)와, 시뮬레이터(120)와, 매크로 위치 및 매크로 방향을 결정하기 위해 액터'(130)가 계층적(Hierarchy)으로 구성될 수 있다.
즉, 설계 서버(100)의 액터(110)는 일정 크기, 예를 들어 50㎛ 단위로 블록 크기를 감소시켜 블록 면적이 최적화되도록 하고, 액터'(130)는 매크로의 위치와 매크로의 방향이 최적화되도록 한다.
또한, 설계 서버(100)는 보상 함수에 계층 비용(Hierarchy Cost)과 함께 면적 비용(Area Cost)을 추가함으로써, 액터(110) 및 액터'(130)가 면적까지 학습하도록 구성될 수 있다.
즉, 보상 함수에 면적 비용을 적용하여 블록 면적(또는 블록 크기)을 감소시키고, 계층 비용은 감소된 블록 면적에 같은 논리적 계층은 가깝게 배치하되, 멀리 있는 매크로들은 감소시켜 가깝게 배치되지 않은 매크로를 찾아 배치함으로써, 전력(Power), 성능(Performance), 면적(Area)의 최적화가 이루어질 수 있도록 한다.
액터(110)는 하나 이상의 에피소드에서 블록의 면적 크기(Area size)와, 보상 정보를 기반으로 강화학습을 수행하여 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시켜 하나 이상의 면적 크기를 결정하는 액션을 출력할 수 있다.
즉, 액터(110)는 면적을 최적화하기 위한 구성으로서, 블록의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시키는 액션을 수행하고, 시뮬레이터(120)에 액션을 통해 결정된 감소된 블록 크기를 제공해 줄 수 있다.
또한, 설계 서버(100)는 액터(110)와 병렬 연결되고, 액터(110)에서 결정된 서로 다른 면적 크기 정보를 기반으로 시뮬레이션과 추가 액션을 통해 강화학습을 수행할 수 있도록 시뮬레이션을 각각 수행하는 시뮬레이터 1(121) 내지 시뮬레이터 n(122)과, 추가 액션을 각각 수행하는 액터 1'(131) 내지 액터 n'(132)을 더 포함하여 구성될 수 있다.
즉, 액터(110)는 시뮬레이터 1(121) 내지 시뮬레이터 n(122)에 서로 다른 블록 크기를 결정해 줄 수 있고, 이를 통해 추가 액션 1 내지 추가 액션 n을 이용한 개별 시뮬레이션을 수행하며, 그에 따른 보상 1 내지 보상 n을 반영한 학습을 통해 학습 시간의 감소와 배치에 문제가 발생하지 않는 최적의 블록 크기(또는 블록 면적)을 빠르게 찾을 수 있도록 한다.
시뮬레이터(120)는 액터(110)에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보와, 액터'(130)에서 결정된 추가 액션을 기반으로 시뮬레이션을 수행하여 배치 결과 정보를 생성할 수 있다.
또한, 시뮬레이터(120)는 액터(110) 및 액터'(130)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따른 면적 크기, 매크로 위치, 매크로 방향을 포함한 배치 결과를 기반으로 보상(Reward) 정보를 산출할 수 있다.
즉, 보상 정보는 새로운 보상(New Reward)의 보상 함수일 수 있고, -(Original Reward + Hierarchy_weight × Hierarchy_cost + Area_weight × Area_cost)로 구성될 수 있으며, 음수값을 가질 수 있다.
여기서, 'Original Reward'는 HPWL과 혼잡도와 밀도에 대한 평가를 수행한 값이고, 'Hierarchy_weight'는 하이퍼 파라미터이며, 'Hierarchy_cost'는 매크로 그룹의 총면적이고, 'Area_weight'는 블록 크기에 대한 가중치이며, 'Area_cost'는 블록의 너비(X) × 높이(Y) 값이다.
즉, 보상 정보는 기존에 사용하던 보상인 HPWL, 혼잡도, 그리고 밀도에 대한 평가를 수행한 값에 같은 논리 계층을 가진 매크로 그룹의 총면적과 블록의 크기를 추가한 음수 값을 갖는 새로운 보상 함수일 수 있다.
또한, 시뮬레이터(120)는 산출된 보상 정보를 액터(110) 및 액터'(130)에 각각 제공함으로써, 액터(110)와 액터'(130)가 보상 정보를 반영하여 동시에 학습을 수행할 수 있도록 한다.
또한, 보상 정보를 기반으로 액터(110)는 최적의 너비(X)와 높이(Y)를 갖는 면적으로 수렴할 수 있도록 블록 면적의 감소를 위한 학습을 수행하고, 액터'(130)는 감소된 블록 면적에 같은 논리적 계층을 갖는 매크로들을 가깝게 배치하여 최적화 하는 학습을 동시에 수행할 수 있도록 한다.
액터'(130)는 액터(110)로부터 제공받은 면적 크기 정보와, 시뮬레이터(120)로부터 제공받은 상태 정보 및 보상 정보를 기반으로 강화학습을 수행하여 매크로 위치와 매크로 방향을 결정하는 추가 액션을 출력할 수 있다.
즉, 액터'(130)는 감소된 블록 면적에서 전력과 성능을 최적화하기 위한 추가 액션을 통해 매크로 위치와 매크로 방향을 결정하여 시뮬레이터(120)에 제공한다.
또한, 액터'(130)는 액터(110)와 동일한 상태(State)를 입력받을 수 있고, 매크로의 배치를 수행하면서 바뀐 결과를 배치로 입력 받을 수 있다.
다음은 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법을 설명한다.
도 3은 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법을 설명하기 위해 나타낸 흐름도이고, 도 4는 도 3의 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법에서 블록 크기의 축소 과정을 설명하기 위해 나타낸 예시도이며, 도 5는 도 3의 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법에서 축소된 블록에 요소를 배치하는 과정을 설명하기 위해 나타낸 예시도이다.
도 2 내지 도 5를 참조하면, 본 발명의 일 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법은, 설계 서버(100)가 임의의 집적회로에 대한 설계 데이터(200)를 입력받아 파싱(Parsing)하고, 파싱된 설계 데이터(200)를 기반으로 블록 면적(Block Area), 매크로 위치(Macro position), 매크로 방향(Macro orientation) 정보를 획득하여 초기 배치 설계 데이터를 획득(Sl100)한다.
도 6은 도3의 실시 예에 따른 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법을 이용한 초기 배치 설계 데이터를 나타낸 예시도이다.
도 6을 참조하면, 서로 다른 기능을 수행하는 복수의 매크로들(300, 310, 320, 330, 340, 350)이 배치된 초기 배치 설계 데이터(400)에서 동일한 그룹의 매크로는 서로 가깝게 배치될 수 있다.
그러나, 제1 배치 영역(410), 제2 배치 영역(420) 및 제3 배치 영역(430)과 같이, 일부 동일 그룹의 매크로는 같이 배치되지만, 각 배치 영역에는 일부 서로 다른 그룹의 매크로, 예를 들어 제1 배치 영역(410)에는 매크로 1(300)과 매크로 2(310)가 함께 배치되었으며, 동일한 그룹의 매크로간에도 거리가 있어 면적에 대한 최적의 배치가 이루어지지 못했다.
계속해서, 도 2 내지 도 5를 참조하면 설계 서버(100)는, 하나 이상의 에피소드에서 블록 면적 크기(Block Area size)와, 보상 정보를 기반으로 강화학습을 수행하여 블록 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시킨 면적 크기에 대한 액션(Action)을 결정(S200)한다.
즉, S200 단계에서, 설계 서버(100)는 액터(110)를 통해 '1800 × 3250'의 X, Y를 일정 크기로 감소시키는 액션을 결정하여, 예를 들어 '1550 × 3150'로 블록 크기가 감소된 면적 조정 데이터(220)와, '1750 × 3000'으로 블록 크기가 감소된 면적 조정 데이터 1(211)을 시뮬레이터(120)와 시뮬레이터 1(121)에 출력한다.
본 실시 예에서는 액터(110)가 2개의 액션을 결정하고, 시뮬레이터(120)와 시뮬레이터 1(121)을 통해 각각 시뮬레이션을 수행하는 구성으로 설명하지만, 이에 한정되는 것은 아니고, 필요에 따라 시뮬레이터의 개수를 증가 또는 감소시켜 구성할 수도 있다.
또한, 시뮬레이터의 개수에 따라 추가 액션을 수행하기 위한 액터의 개수도 증가 또는 감소시켜 구성할 수도 있다.
계속해서, 감소된 블록의 크기가 결정되면 설계 서버(100)는, 액터'(130)를 통해 S200 단계에서 감소된 '1550 × 3150'의 면적 크기와, 설계 데이터의 넷리스트 관련 메타 정보와, 매크로 정보가 포함된 상태(State) 정보와, 보상(Reward) 정보를 이용한 강화학습을 통해 감소된 '1550 × 3150'의 면적 크기에서 각 요소들의 배치를 통해 매크로 위치(Macro position)와, 매크로 방향(Macro orientation)을 결정하는 추가 액션을 수행(S300)한다.
즉, S300 단계는 설계 서버(100)는 S200 단게에서 결정된 면적 크기 정보와, 설계 데이터의 넷리스트 관련 메타 정보와, 매크로 정보가 포함된 상태(State) 정보와, 보상 정보를 기반으로 강화학습을 수행하여 매크로 위치와 매크로 방향에 대한 추가 액션을 결정할 수 있다.
또한, 설계 서버(100)는 추가 액션을 기반으로 시뮬레이터(120)와 시뮬레이터 1(121)을 통해 각각 시뮬레이션을 수행하여 배치 결과 데이터(210)와 배치 결과 데이터 1(211)을 생성하고, 이를 통해 하나의 환경에서 블록 면적, 매크로 위치 및 매크로 방향이 함께 최적화되도록 학습(S400)한다.
즉, 설계 서버(100)는 S200 단계에서 결정된 면적 크기 정보인 면적 조정 데이터(210) 및 면적 조정 데이터 1(211)과, 설계 데이터의 넷리스트 관련 메타 정보와, 매크로 정보가 포함된 상태(State) 정보와, S300 단계에서 결정된 추가 액션을 기반으로 시뮬레이션을 수행하여 배치 결과 데이터(210)와 배치 결과 데이터 1(211)을 생성할 수 있다.
또한, S400 단게에서 설계 서버(100)는, S200 단계의 액션을 통해 감소된 블록 크기의 결정과, S300 단계에서 추가 액션을 통해 배치된 감소된 블록 면적에서의 매크로 위치 및 매크로 방향 결정에 대한 의사결정의 피드백으로서, 시뮬레이션 결과에 따른 감소된 면적 크기, 매크로 위치, 매크로 방향을 포함한 배치 결과를 기반으로 보상 정보를 산출할 수 있다.
보상 정보는 -(Original Reward + Hierarchy_weight × Hierarchy_cost + Area_weight × Area_cost)로 구성된 새로운 보상의 보상 함수일 수 있다.
여기서, 'Original Reward'는 HPWL과 혼잡도와 밀도에 대한 평가를 수행한 값이고, 'Hierarchy_weight'는 하이퍼 파라미터이며, 'Hierarchy_cost'는 매크로 그룹의 총면적이고, 'Area_weight'는 블록 크기에 대한 가중치이며, 'Area_cost'는 블록의 너비(X) × 높이(Y) 값이다
또한, 설계 서버(100)는 S400 단계에서 산출된 보상 정보를 액터(110)와 액터'(130)에 각각 반영되도록 하고, 이를 통해 액터(110)와 액터'(130)가 보상 정보를 이용하여 동시에 학습을 수행할 수 있도록 한다.
즉, 설계 서버(100)는 보상 정보를 기반으로 액터(110)가 최적의 너비(X)와 높이(Y)를 갖는 면적으로 수렴할 수 있도록 블록 면적의 감소를 위한 학습을 수행할 수 있도록 하고, 액터'(130)가 감소된 블록 면적에 같은 논리적 계층을 갖는 매크로들을 가깝게 배치하여 최적화 하는 학습을 수행할 수 있도록 함으로써, 액터(110)와 액터'(130)가 동시에 학습을 수행할 수 있도록 한다.
따라서, 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 계층적 구조를 활용하여 블록 면적을 반영한 최적의 배치를 수행할 수 있다.
또한, 집적회로의 세가지 주요 기능인 전력, 성능, 면적에 대하여 최적화 된 배치 설계를 제공할 수 있다.
또한, 같은 그룹의 매크로는 함께 배치하고, 동일한 그룹의 매크로간에도 거리를 최적화한 배치를 제공할 수 있다.
또한, 동일한 그룹의 매크로는 서로 가깝게 배치함으로써, 매크로 위치에 따른 면적을 효율적으로 사용할 수 있다.
상기와 같이, 본 발명의 바람직한 실시 예를 참조하여 설명하였지만 해당 기술 분야의 숙련된 당업자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
또한, 본 발명의 특허청구범위에 기재된 도면번호는 설명의 명료성과 편의를 위해 기재한 것일 뿐 이에 한정되는 것은 아니며, 실시예를 설명하는 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한, 상술된 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있으므로, 이러한 용어들에 대한 해석은 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 명시적으로 도시되거나 설명되지 아니하였다 하여도 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 본 발명에 의한 기술적 사상을 포함하는 다양한 형태의 변형을 할 수 있음은 자명하며, 이는 여전히 본 발명의 권리범위에 속한다.
또한, 첨부하는 도면을 참조하여 설명된 상기의 실시예들은 본 발명을 설명하기 위한 목적으로 기술된 것이며 본 발명의 권리범위는 이러한 실시예에 국한되지 아니한다.
100 : 설계 서버 110 : 액터
120 : 시뮬레이터 121 : 시뮬레이터 1
122 : 시뮬레이터 n 130 : 액터'
131 : 액터 1' 132 : 액터 n'
200 : 설계 데이터 210 : 배치(Placement) 결과 데이터
211 : 배치 결과 데이터 1 220 : 면적 조정 데이터
221 : 면적 조정 데이터 1 300 : 매크로 1
310 : 매크로 2 330 : 매크로 3
340 : 매크로 4 350 : 매크로 5
400 : 초기 배치 설계 데이터 410 : 제 1 배치 영역
420 : 제 2 배치 영역 430 : 제 3 배치 영역

Claims (9)

  1. 임의의 집적회로에 대한 설계 데이터(200)를 입력받아 파싱(Parsing)하고, 상기 파싱된 설계 데이터(200)를 기반으로 일정 크기로 감소시켜 블록 면적(Block Area)의 크기(size) 조정과, 상기 조정된 크기의 블록 면적에서 매크로 위치(Macro position) 및 매크로 방향(Macro orientation)을 결정하는 최적화를 수행하되,
    적어도 하나의 에피소드에서 블록 면적의 크기와, 면적 비용(Area Cost)을 적용한 보상(Reward) 정보를 기반으로 강화학습을 수행하여 블록 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시켜 조정된 매크로의 배치가 가능한 블록 면적의 크기를 결정하는 액션(Action)을 수행하며,
    상기 조정된 블록 면적의 크기, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보와, 블록 면적을 감소시킨 면적 비용, 상기 조정된 블록 면적에 같은 논리적 계층이 배치되도록 하는 계층 비용이 적용된 보상(Reward) 정보를 기반으로 강화학습을 통해 매크로 위치와 매크로 방향을 결정하는 추가 액션을 수행하여 하나의 환경에서 블록 면적, 매크로 위치 및 매크로 방향이 함께 최적화되도록 학습하는 설계 서버(100);를 포함하는 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템.
  2. 제 1 항에 있어서,
    상기 설계 서버(100)는 블록 면적을 결정하기 위한 액터(110)와, 매크로 위치 및 매크로 방향을 결정하기 위한 액터'(130)가 계층적(Hierarchy)으로 구성된 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템.
  3. 제 1 항에 있어서,
    상기 설계 서버(100)는 적어도 하나의 에피소드에서 블록의 면적 크기(Area size)와, 보상 정보를 기반으로 강화학습을 수행하여 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시킨 적어도 하나의 면적 크기를 결정하는 액션을 출력하는 액터(110);
    상기 액터(110)에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보, 액터'(130)에서 결정된 추가 액션을 기반으로 시뮬레이션을 수행하여 배치 결과 정보를 생성하고, 상기 액터(110) 및 액터'(130)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따른 면적 크기, 매크로 위치, 매크로 방향을 포함한 배치 결과를 기반으로 산출되는 보상 정보를 제공하는 시뮬레이터(120); 및
    상기 액터(110)로부터 제공받은 면적 크기 정보와, 시뮬레이터(120)로부터 제공받은 상태 정보 및 보상 정보를 기반으로 강화학습을 수행하여 매크로 위치와 매크로 방향을 결정하는 추가 액션을 출력하는 액터'(130);를 포함하는 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템.
  4. 제 3 항에 있어서,
    상기 설계 서버(100)는 액터(110)와 병렬 연결되고, 상기 액터(110)에서 결정된 서로 다른 면적 크기 정보를 기반으로 시뮬레이션과 추가 액션을 통해 강화학습을 수행하는 복수의 시뮬레이터 1(121) 내지 시뮬레이터 n(122)과, 액터 1'(131) 내지 액터 n'(132)를 더 포함하는 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템.
  5. 제 3 항에 있어서,
    상기 보상 정보는 새로운 보상의 보상 함수이고,
    -(Original Reward + Hierarchy_weight × Hierarchy_cost + Area_weight × Area_cost)일 수 있으며,
    여기서, 'Original Reward'는 HPWL과 혼잡도와 밀도에 대한 평가를 수행한 값이고, 'Hierarchy_weight'는 하이퍼 파라미터이며, 'Hierarchy_cost'는 매크로 그룹의 총면적이고, 'Area_weight'는 블록 크기에 대한 가중치이며, 'Area_cost'는 블록의 너비(X) × 높이(Y) 값인 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템.
  6. a) 설계 서버(100)가 임의의 집적회로에 대한 설계 데이터(200)를 입력받아 파싱(Parsing)하고, 상기 파싱된 설계 데이터(200)를 기반으로 일정 크기로 감소시켜 블록 면적(Block Area)의 크기(size) 조정와, 상기 조정된 크기의 블록 면적에서 매크로 위치(Macro position) 및 매크로 방향(Macro orientation)을 결정하는 최적화를 수행하되,
    적어도 하나의 에피소드에서 블록 면적의 크기와, 면적 비용(Area Cost)을 적용한 보상(Reward) 정보를 기반으로 강화학습을 수행하여 블록 면적의 너비(X)와 높이(Y)를 일정 크기 단위로 감소시켜 조정된 매크로의 배치가 가능한 블록 면적의 크기에 대한 액션(Action)을 결정하는 단계; 및
    b) 상기 설계 서버(100)가 조정된 블록 면적의 크기, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보와, 블록 면적을 조정시킨 면적 비용, 상기 조정된 블록 면적에 같은 논리적 계층이 배치되도록 하는 계층 비용이 적용된 보상(Reward) 정보를 기반으로 강화학습을 통해 매크로 위치와, 매크로 방향을 결정하는 추가 액션을 수행하여 하나의 환경에서 블록 면적, 매크로 위치 및 매크로 방향이 함께 최적화되도록 학습하는 단계;를 포함하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법.
  7. 제 6 항에 있어서,
    상기 a) 단계는 설계 서버(100)가 임의의 집적회로에 대한 설계 데이터(200)를 입력받아 파싱(Parsing)하고, 상기 파싱된 설계 데이터(200)를 기반으로 블록 면적(Block Area), 매크로 위치(Macro position), 매크로 방향(Macro orientation) 정보를 획득하는 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법.
  8. 제 6 항에 있어서,
    상기 b) 단계는 b-1) 설계 서버(100)가 a) 단계에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보, 보상 정보를 기반으로 강화학습을 수행하여 매크로 위치와 매크로 방향에 대한 추가 액션을 결정하는 단계;
    b-2) 상기 설계 서버(100)가 a) 단계에서 결정된 면적 크기 정보, 설계 데이터의 넷리스트 관련 메타 정보, 매크로 정보가 포함된 상태(State) 정보, 상기 b-1) 단계에서 결정된 추가 액션을 기반으로 시뮬레이션을 수행하여 배치 결과 정보를 생성하는 단계; 및
    b-3) 상기 설계 서버(100)가 상기 a) 단계 및 b-1) 단계의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따른 감소된 면적 크기, 매크로 위치, 매크로 방향을 포함한 배치 결과를 기반으로 보상 정보를 생성하는 단계;를 포함하는 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법.
  9. 제 8 항에 있어서,
    상기 보상 정보는 새로운 보상의 보상 함수이고,
    -(Original Reward + Hierarchy_weight × Hierarchy_cost + Area_weight × Area_cost)일 수 있으며,
    여기서, 'Original Reward'는 HPWL과 혼잡도와 밀도에 대한 평가를 수행한 값이고, 'Hierarchy_weight'는 하이퍼 파라미터이며, 'Hierarchy_cost'는 매크로 그룹의 총면적이고, 'Area_weight'는 블록 크기에 대한 가중치이며, 'Area_cost'는 블록의 너비(X) × 높이(Y) 값인 것을 특징으로 하는 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 방법.
KR1020220185257A 2022-12-27 2022-12-27 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법 KR102603130B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220185257A KR102603130B1 (ko) 2022-12-27 2022-12-27 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220185257A KR102603130B1 (ko) 2022-12-27 2022-12-27 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102603130B1 true KR102603130B1 (ko) 2023-11-17

Family

ID=88968768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220185257A KR102603130B1 (ko) 2022-12-27 2022-12-27 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102603130B1 (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)回路の設計システムおよび方法
JP2020149270A (ja) * 2019-03-13 2020-09-17 東芝情報システム株式会社 回路適正化装置及び回路適正化方法
KR102208989B1 (ko) 2017-03-24 2021-01-28 구글 엘엘씨 강화 학습을 통한 디바이스 배치 최적화
KR102416931B1 (ko) * 2021-12-28 2022-07-06 주식회사 애자일소다 반도체 설계 데이터 기반의 물체의 위치 최적화를 위한 강화학습 장치 및 방법
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)回路の設計システムおよび方法
KR102208989B1 (ko) 2017-03-24 2021-01-28 구글 엘엘씨 강화 학습을 통한 디바이스 배치 최적화
JP2020149270A (ja) * 2019-03-13 2020-09-17 東芝情報システム株式会社 回路適正化装置及び回路適正化方法
KR20220139399A (ko) * 2020-04-22 2022-10-14 구글 엘엘씨 신경망을 이용한 집적 회로 배치 생성
KR102416931B1 (ko) * 2021-12-28 2022-07-06 주식회사 애자일소다 반도체 설계 데이터 기반의 물체의 위치 최적화를 위한 강화학습 장치 및 방법

Similar Documents

Publication Publication Date Title
US9892223B1 (en) System and method for designing system on chip (SoC) circuits by synchronizing a hierarchy of SMDPs
US10372859B2 (en) System and method for designing system on chip (SoC) circuits using single instruction multiple agent (SIMA) instructions
US5654898A (en) Timing-driven integrated circuit layout through device sizing
US5402357A (en) System and method for synthesizing logic circuits with timing constraints
US5930499A (en) Method for mixed placement of structured and non-structured circuit elements
US7111268B1 (en) Post-layout optimization in integrated circuit design
US11853676B2 (en) Layout context-based cell timing characterization
US11256845B2 (en) Machine-learning driven prediction in integrated circuit design
KR102416931B1 (ko) 반도체 설계 데이터 기반의 물체의 위치 최적화를 위한 강화학습 장치 및 방법
Elgammal et al. RLPlace: Using reinforcement learning and smart perturbations to optimize FPGA placement
US10915685B1 (en) Circuit stage credit based approaches to static timing analysis of integrated circuits
US7003749B2 (en) Constraint data management for electronic design automation
Chen et al. Cycle-accurate noc-based convolutional neural network simulator
US7512922B1 (en) Methods of structured placement of a circuit design
US11694016B2 (en) Fast topology bus router for interconnect planning
KR102603130B1 (ko) 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법
US7984415B1 (en) Merging of equivalent logic blocks in a circuit design
US20230274064A1 (en) On-the-fly multi-bit flip flop generation
Liu et al. Knowledge-based neural network model for FPGA logical architecture development
US7146590B1 (en) Congestion estimation for programmable logic devices
CN116306463A (zh) 芯片单元布局优化方法、装置、设备及可读存储介质
Wang et al. An LP-based methodology for improved timing-driven placement
KR102632950B1 (ko) 일반화 모델을 이용한 반도체 배치 시스템 및 방법
US7313778B1 (en) Method system and apparatus for floorplanning programmable logic designs
CN115587922A (zh) 张量分块方法、装置和存储介质

Legal Events

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