KR102545302B1 - Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 - Google Patents
Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 Download PDFInfo
- Publication number
- KR102545302B1 KR102545302B1 KR1020220128453A KR20220128453A KR102545302B1 KR 102545302 B1 KR102545302 B1 KR 102545302B1 KR 1020220128453 A KR1020220128453 A KR 1020220128453A KR 20220128453 A KR20220128453 A KR 20220128453A KR 102545302 B1 KR102545302 B1 KR 102545302B1
- Authority
- KR
- South Korea
- Prior art keywords
- layout
- design
- verification
- simulation
- circuit
- Prior art date
Links
- 238000013461 design Methods 0.000 title claims abstract description 86
- 238000012795 verification Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000004088 simulation Methods 0.000 claims abstract description 44
- 238000005259 measurement Methods 0.000 claims abstract description 34
- 238000010586 diagram Methods 0.000 claims abstract description 30
- 238000012986 modification Methods 0.000 claims abstract description 13
- 230000004048 modification Effects 0.000 claims abstract description 13
- 238000004801 process automation Methods 0.000 claims abstract description 8
- 230000003252 repetitive effect Effects 0.000 claims abstract description 7
- 235000013599 spices Nutrition 0.000 claims description 5
- 238000012942 design verification Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000012941 design validation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
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
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법 및 시스템이 제시된다. 본 발명에서 제안하는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법은 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계, 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계, 상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하는 단계, 상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계, 미리 정해진 원하는 사양을 충족하는지 여부를 판단하는 단계 및 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행하는 단계를 포함한다.
Description
본 발명은 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법 및 시스템에 관한 것이다.
범용 프로세서뿐 아니라 주문형 반도체(ASIC) 칩의 개발은 많은 시간과 서로 다른 분야의 많은 인적 자원을 투입해야 하는 복잡한 작업이다. 개발 순서를 살펴보면, 먼저 시스템 엔지니어가 알고리즘을 개발 및 검증한다. 이어서, 하드웨어 엔지니어가 알고리즘을 VHDL과 같은 HDL(Hardware Description Language) 툴을 이용하여 논 리 회로 수준(Register Transfer Level; RTL)에서 구현 및 검증한 후, 합성 툴(Synthesis Tool)을 이용하여 게이트 수준의 넷리스트(netlist)로 합성한다. 하드웨어 엔지니어는 합성된 회로를 배치 및 배선(Place and Route; PNR)하여 실제로 칩 상에 놓일 레이아웃(layout)을 생성하며, 이를 FPGA(Field Programmable Gate Array)에 프로그래밍하여 동작 테스트 및 검증을 수행한다. 이후에 반도체 공정 엔지니어가 레이아웃을 실제 반도체 웨이퍼 위에 구현하고, 테스트 전문가가 완성된 칩을 테스트한다.
이 중에서, 넷리스트 합성과 PNR, 레이아웃 생성, FPGA 프로그래밍, 반도체 칩 제조는 많은 부분이 자동화되어 있다. 하지만, 알고리즘 개발, 테스트 벡터의 개발과 시뮬레이터 개발, 아키텍처 개발, HDL 코딩/디버깅 과정 은 엔지니어들이 직접 수행해야 하므로 시간이 많이 소비된다. 이후의 공정에서 문제가 발견되면 알고리즘이나 아키텍처를 수정해야 하므로, 프로젝트 장기화의 원인이 된다.
특정 용도에 맞는 다양한 종류의 칩을 적시에 생산하기 위해서는 맞춤형 디지털 회로를 설계하고 검증하는 데 드는 시간과 노력을 줄이는 것이 중요하다. 실제로 전체 설계 과정에서 레이아웃 설계와 회로 검증에 많은 시간이 소요된다. 이는 직관적이지 않은 DRC(Design Rule Checking), LVS(Layout-Versus-Schematic)와 같은 레이아웃 검증 프로세스를 통과해야 하는 복잡한 프로세스가 필요하기 때문이다.
또한 최종 시뮬레이션 및 설계 검증 프로세스는 반복적이고 시간이 많이 소요되는 작업이다. 맞춤형 회로 설계에 대한 노력의 문제를 향상시키기 위해 Python 기반 레이아웃 자동화 툴과 측정 자동화 시스템으로 구성된 설계 및 검증 자동화 프레임워크를 필요로 한다.
본 발명이 이루고자 하는 기술적 과제는 직관적이지 않은 DRC(Design Rule Checking), LVS(Layout-Versus-Schematic)와 같은 레이아웃 검증 프로세스를 통과해야 하는 복잡한 프로세스를 필요로 하지 않고, 최종 시뮬레이션 및 설계 검증 프로세스의 반복적이고 시간이 많이 소요되는 단점을 개선하기 위한 Python 기반 레이아웃 자동화 툴과 측정 자동화 시스템으로 구성된 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법 및 시스템을 제공하는데 있다.
일 측면에 있어서, 본 발명에서 제안하는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법은 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계, 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계, 상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하는 단계, 상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계, 미리 정해진 원하는 사양을 충족하는지 여부를 판단하는 단계 및 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행하는 단계를 포함한다.
상기 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계는 실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 추상 그리드 시스템을 이용하여, 공정에 관계없이 물리적인 설계규칙 오류가 발생하지 않고, 추상 그리드와 생성된 템플릿을 기반으로 검증 과정과 독립적으로 코드 기반 레이아웃을 생성한다.
상기 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계는 인스턴스가 생성되어 배치되면 상기 레이아웃 자동 생성에 따른 그리드 값으로 자동 변환되어 배치되고, 상기 레이아웃 자동 생성은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 상응하는 코드를 구현하여 매개변수를 지정하고, 모든 회로의 레이아웃을 각 요소에 대한 템플릿과 결합하여 완성하며, 최종 레이아웃은 배치된 템플릿 간에 라우팅을 통해 결정된다.
상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계는 레이아웃의 성능을 확인하기 위해 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비하기 위해 Python 기반 GUI 프로그래밍 측정 자동화 툴을 사용하여 측정 매개변수를 지정하여 파일을 생성하고 주요 사양을 자동으로 측정한다.
상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계는 Python 기반 측정 자동화 툴은 회로의 성능을 신속하게 측정하고, 원하는 사양에 맞는 디지털 회로를 설계하기 위해 포스트-레이아웃 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템은 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하고, 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 레이아웃 자동 생성 및 검증부, 상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하고, 상기 생성된 파일을 이용하여 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 시뮬레이션 수행부, 미리 정해진 원하는 사양을 충족하는지 여부를 판단하고, 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행하는 설계 수정부를 포함한다.
본 발명의 실시예들에 따른 Python 기반 레이아웃 자동화 툴과 측정 자동화 시스템으로 구성된 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법 및 시스템을 통해 직관적이지 않은 DRC(Design Rule Checking), LVS(Layout-Versus-Schematic)와 같은 레이아웃 검증 프로세스를 통과해야 하는 복잡한 프로세스를 필요로 하지 않고, 최종 시뮬레이션 및 설계 검증 프로세스의 반복적이고 시간이 많이 소요되는 단점을 개선할 수 있다.
도 1은 본 발명의 일 실시예에 따른 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 자동화 시스템에 대한 배치 인스턴스를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 Python GUI를 사용한 측정 자동화 툴을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 3상 인버터 기반 D 플립플롭을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 자동화 시스템에 대한 배치 인스턴스를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 Python GUI를 사용한 측정 자동화 툴을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 3상 인버터 기반 D 플립플롭을 나타내는 도면이다.
다양한 맞춤형 디지털 회로에 대한 요구로 인해 반도체 산업에서 회로 설계의 노력을 줄이는 것이 매우 중요하다. 본 발명에서 제안하는 자동화 프레임워크는 전력과 성능을 유지하면서 일반 디지털 회로에서 불필요한 설계 노력을 크게 줄일 수 있다. 레이아웃 자동화와 수작업으로 그린 3상 인버터 기반 D Flip-Flop의 면적, 시간, 전력을 디지털 회로용으로 개발된 Python 기반 측정 자동화 툴로 측정했다. 그리고 이러한 결과를 비교 분석하여 자동화 프레임워크의 성능과 한계를 확인하고 종합적으로 결론을 도출하였다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법을 설명하기 위한 흐름도이다.
제안하는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법은 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계(110), 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계(120), 상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하는 단계(130), 상기 생성된 파일을 이용하여 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계(140), 미리 정해진 원하는 사양을 충족하는지 여부를 판단하는 단계(150) 및 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행하는 단계(160)를 포함한다.
먼저 회로도(111)가 완성되면 디지털 회로 설계에 맞게 사용자 정의된 레이아웃 자동화 툴을 사용하여 레이아웃이 자동으로 생성된다(110). 자동 생성된 레이아웃은 DRC/LVS와 같은 레이아웃 검증 프로세스를 통해 검증된다(120). 모든 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일이 생성된다(130). 생성된 파일을 기반으로 디지털 회로용으로 개발된 Python 기반 자동화 툴을 사용하여 회로의 성능을 확인하기 위해 포스트-레이아웃 시뮬레이션을 수행한다(140). 원하는 사양을 충족하는지 여부를 판단하고(150), 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 다시 수행해야 한다(160). 이때, 본 발명에서 제안하는 자동화 프레임워크를 각 단계에서 사용하여 반복적인 설계 수정과 검증에 드는 노력을 크게 줄일 수 있다.
Python 기반의 설계 자동화 방법으로 Cadence Virtuoso와 같은 상용 CAD 툴을 활용하여 레이아웃 설계 자동화를 수행한다. 레이아웃 설계 자동화의 핵심은 많은 설계 노력을 줄이기 위해 DRC 검증을 보장하는 것이다. 수정된 레이아웃 자동화 프레임워크는 디자인 규칙을 충족하는 미리 디자인된 레이아웃 구성 요소를 사용한다. 일반적으로 DRC는 프로세스마다 다른 값을 가지므로 다양한 종류의 PDK에서 DRC를 보장하는 자동화 기술 개발이 어려웠다. 그러나 레이아웃 자동화는 추상 그리드와 생성된 템플릿을 기반으로 하므로 프로세스와 독립적으로 코드 기반 레이아웃을 생성할 수 있다. 추상 그리드 시스템은 실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 그리드 시스템을 말한다. 따라서 공정에 관계없이 적절한 사양이 적용되기 때문에 물리적인 설계규칙 오류가 발생하지 않는다.
도 2는 본 발명의 일 실시예에 따른 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템의 구성을 나타내는 도면이다.
본 실시예에 따른 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)은 프로세서(210), 버스(220), 네트워크 인터페이스(230), 메모리(240) 및 데이터베이스(250)를 포함할 수 있다. 메모리(240)는 운영체제(241) 및 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 루틴(242)을 포함할 수 있다. 프로세서(210)는 레이아웃 자동 생성 및 검증부(211), 시뮬레이션 수행부(212) 및 설계 수정부(213)를 포함할 수 있다. 다른 실시예들에서 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)은 디스플레이나 트랜시버(transceiver)와 같은 다른 구성요소들을 포함할 수도 있다.
메모리(240)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(240)에는 운영체제(241)와 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 루틴(242)을 위한 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism, 미도시)을 이용하여 메모리(240)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체(미도시)를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 네트워크 인터페이스(230)를 통해 메모리(240)에 로딩될 수도 있다.
버스(220)는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스(220)는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.
네트워크 인터페이스(230)는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)을 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성요소일 수 있다. 네트워크 인터페이스(230)는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)을 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.
데이터베이스(250)는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화를 위해 필요한 모든 정보를 저장 및 유지하는 역할을 할 수 있다. 도 2에서는 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)의 내부에 데이터베이스(250)를 구축하여 포함하는 것으로 도시하고 있으나, 이에 한정되는 것은 아니며 시스템 구현 방식이나 환경 등에 따라 생략될 수 있고 혹은 전체 또는 일부의 데이터베이스가 별개의 다른 시스템 상에 구축된 외부 데이터베이스로서 존재하는 것 또한 가능하다.
프로세서(210)는 기본적인 산술, 로직 및 CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)의 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(240) 또는 네트워크 인터페이스(230)에 의해, 그리고 버스(220)를 통해 프로세서(210)로 제공될 수 있다. 프로세서(210)는 레이아웃 자동 생성 및 검증부(211), 시뮬레이션 수행부(212) 및 설계 수정부(213)를 위한 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(240)와 같은 기록 장치에 저장될 수 있다.
레이아웃 자동 생성 및 검증부(211), 시뮬레이션 수행부(212) 및 설계 수정부(213)는 도 1의 단계들(110~150)을 수행하기 위해 구성될 수 있다.
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템(200)은 레이아웃 자동 생성 및 검증부(211), 시뮬레이션 수행부(212) 및 설계 수정부(213)를 포함할 수 있다.
레이아웃 자동 생성 및 검증부(211)는 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하고, 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증한다.
상기 레이아웃 자동 생성 및 검증부(211)는 실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 추상 그리드 시스템를 이용하여, 공정에 관계없이 물리적인 설계규칙 오류가 발생하지 않고, 추상 그리드와 생성된 템플릿을 기반으로 검증 과정과 독립적으로 코드 기반 레이아웃을 생성한다.
상기 레이아웃 자동 생성 및 검증부(211)는 인스턴스가 생성되어 배치되면 상기 레이아웃 자동 생성에 따른 그리드 값으로 자동 변환되어 배치되고, 상기 레이아웃 자동 생성은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 상응하는 코드를 구현하여 매개변수를 지정하고, 모든 회로의 레이아웃을 각 요소에 대한 템플릿과 결합하여 완성하며, 최종 레이아웃은 배치된 템플릿 간에 라우팅을 통해 결정한다.
상기 레이아웃 자동 생성 및 검증부(211)는 레이아웃의 성능을 확인하기 위해 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비하기 위해 Python 기반 GUI 프로그래밍 측정 자동화 툴을 사용하여 측정 매개변수를 지정하여 파일을 생성하고 주요 사양을 자동으로 측정한다.
시뮬레이션 수행부(212)는 상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하고, 상기 생성된 파일을 이용하여 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행한다.
시뮬레이션 수행부(212)는 Python 기반 측정 자동화 툴은 회로의 성능을 신속하게 측정하고, 원하는 사양에 맞는 디지털 회로를 설계하기 위해 포스트-레이아웃 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화한다.
설계 수정부(213)는 미리 정해진 원하는 사양을 충족하는지 여부를 판단하고, 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행한다.
도 3은 본 발명의 일 실시예에 따른 자동화 시스템에 대한 배치 인스턴스를 나타내는 도면이다.
도 3(a)는 실제 그리드를 나타내는 도면이고, 도 3(b)는 추상 그리드를 나타내는 도면이다.
인스턴스가 생성되어 배치되면 도 2와 같이 해당 프로세스에 적합한 그리드 값으로 자동 변환되어 배치된다. 레이아웃은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 원하는 대로 코드를 구현하여 다양한 매개변수를 지정할 수 있다. 모든 회로의 레이아웃을 손으로 그리는 것이 아니라 각 요소를 템플릿과 결합하여 레이아웃을 완성하는 자동화 방법이다. 최종 레이아웃은 배치된 템플릿 간에 단순히 라우팅하여 결정된다.
수동 레이아웃에 비해 인적 오류가 없으므로 검증 시간이 단축된다. 그리고 코드의 이식성을 이용하여 인스턴스가 많은 회로를 설계할 때에도 빠르게 생성할 수 있다.
검증된 레이아웃의 성능을 확인하기 위해 설계자는 HSPICE와 같은 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비해야 한다. 입력 및 측정 시간을 만드는 데 시간이 많이 걸리지만 제안하는 측정 자동화 툴을 사용하면 측정 매개변수를 지정하여 파일을 생성하고 주요 사양을 자동으로 측정할 수 있다. 이 툴을 설계하기 위해 Python에서는 일종의 GUI 프로그래밍이 사용되었는데, 이는 설계자가 GUI 창에 입력할 사양을 파악하기 쉽기 때문이다.
도 4는 본 발명의 일 실시예에 따른 Python GUI를 사용한 측정 자동화 툴을 나타내는 도면이다.
HSPICE 시뮬레이션의 경우 회로도 및 레이아웃에 대한 넷리스트의 경로를 포함하는 것이 필수적이다. 또한 원하는 값을 측정하기 위한 적절한 입력 파형을 만들기 위해서는 입력을 생성하기 위한 정보가 필요하다. 측정 경로를 지정하기 위한 인스턴스 이름도 필요하다. 모든 변수가 준비되면 제안한 프레임워크에서 자동으로 입력 및 측정 파일을 생성하고 검증된 설계에 대해 포스트-레이아웃(post-layout) 시뮬레이션을 수행한다.
Python 기반 측정 자동화 툴은 HSPICE 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화할 수 있다. 따라서 회로의 성능을 신속하게 측정할 수 있어 원하는 사양에 맞게 다양한 디지털 회로를 설계할 때 유용하다.
도 5는 본 발명의 일 실시예에 따른 3상 인버터 기반 D 플립플롭을 나타내는 도면이다.
본 발명에서는 상용 28nm PDK에서 도 4의 3상(tri-state) 인버터 기반 D Flip-Flop을 사용하여 자동화 프레임워크의 성능을 검증하였다. 3상 인버터 기반 D Flip-Flop 회로는 레이아웃 자동화 툴을 사용하여 설계하고 다른 하나는 비교를 위해 수동으로 설계했다. 표 1은 제안된 측정 자동화 프레임워크로 측정한 주요 성능 사양을 보여준다.
<표 1>
면적 면에서는 자동화 설계가 수동 설계보다 가치가 더 크다. 미리 설계된 각 인스턴스는 템플릿 형태로 배치 및 라우팅되기 때문에 개별 인스턴스를 작게 수정할 수 없다. 성능 및 전력 소비 측면에서 당사의 자동화된 설계는 수동 설계에 비해 적은 설계 노력으로 동등한 사양을 갖는다.
레이아웃 자동화는 코드 기반 레이아웃 배치 및 라우팅을 허용하여 레이아웃 시간을 크게 줄일 수 있다. 또한 사전에 DRC를 만족하는 요소들로 레이아웃이 이루어지기 때문에 검증 과정에 시간을 들일 필요가 없다. 성능과 전력은 거의 동일하다. 따라서 대부분의 디지털 회로의 레이아웃은 동등한 전력 및 성능 사양으로 레이아웃 자동화로 신속하게 생성될 수 있다. 또한 회로 측정을 자동으로 수행하여 검증 단계에 소요되는 시간을 줄일 수 있다. 따라서 제안하는 자동화 프레임워크는 회로 설계자가 디지털 회로 설계 및 검증을 위한 시간과 노력을 향상시키는 유용하고 실용적인 방법을 제공할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (8)
- CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법에 있어서,
레이아웃 자동 생성 및 검증부를 통해 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계;
레이아웃 자동 생성 및 검증부가 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계;
상기 검증이 완료되면 시뮬레이션 수행부를 통해 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하는 단계;
시뮬레이션 수행부를 통해 상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계;
설계 수정부를 통해 미리 정해진 원하는 사양을 충족하는지 여부를 판단하는 단계; 및
상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 설계 수정부를 통해 전체 프로세스를 반복 수행하는 단계
를 포함하고,
상기 레이아웃 자동 생성 및 검증부를 통해 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계는,
실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 추상 그리드 시스템를 이용하여, 공정에 관계없이 물리적인 설계규칙 오류가 발생하지 않고, 추상 그리드와 생성된 템플릿을 기반으로 검증 과정과 독립적으로 코드 기반 레이아웃을 생성하며,
상기 레이아웃 자동 생성 및 검증부가 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계는,
레이아웃의 성능을 확인하기 위해 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비하기 위해 Python 기반 GUI 프로그래밍 측정 자동화 툴을 사용하여 측정 매개변수를 지정하고, 자동으로 입력 및 측정 파일을 생성하여 포스트-레이아웃 시뮬레이션을 수행하도록 하며,
상기 레이아웃 자동화는 코드 기반 레이아웃 배치 및 라우팅을 허용하여 레이아웃 시간을 감소시키고, 미리 정해진 DRC를 만족하는 요소들로 레이아웃을 자동 생성하므로 DRC 검증 과정을 필요로 하지 않으면서 성능과 전력에는 영향은 미치지 않는
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법. - 제1항에 있어서,
상기 레이아웃 자동 생성 및 검증부를 통해 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계는,
인스턴스가 생성되어 배치되면 상기 레이아웃 자동 생성에 따른 그리드 값으로 자동 변환되어 배치되고, 상기 레이아웃 자동 생성은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 상응하는 코드를 구현하여 매개변수를 지정하고, 모든 회로의 레이아웃을 각 요소에 대한 템플릿과 결합하여 완성하며, 최종 레이아웃은 배치된 템플릿 간에 라우팅을 통해 결정되는
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법. - 삭제
- 제1항에 있어서,
상기 시뮬레이션 수행부를 통해 상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계는,
Python 기반 측정 자동화 툴은 회로의 성능을 신속하게 측정하고, 원하는 사양에 맞는 디지털 회로를 설계하기 위해 포스트-레이아웃 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화하는
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법. - CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템에 있어서,
회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하고, 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 레이아웃 자동 생성 및 검증부;
상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하고, 상기 생성된 파일을 이용하여 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 시뮬레이션 수행부;
미리 정해진 원하는 사양을 충족하는지 여부를 판단하고, 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행하는 설계 수정부
를 포함하고,
상기 레이아웃 자동 생성 및 검증부는,
실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 추상 그리드 시스템를 이용하여, 공정에 관계없이 물리적인 설계규칙 오류가 발생하지 않고, 추상 그리드와 생성된 템플릿을 기반으로 검증 과정과 독립적으로 코드 기반 레이아웃을 생성하며,
레이아웃의 성능을 확인하기 위해 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비하기 위해 Python 기반 GUI 프로그래밍 측정 자동화 툴을 사용하여 측정 매개변수를 지정하고, 자동으로 입력 및 측정 파일을 생성하여 포스트-레이아웃 시뮬레이션을 수행하도록 하며,
상기 레이아웃 자동화는 코드 기반 레이아웃 배치 및 라우팅을 허용하여 레이아웃 시간을 감소시키고, 미리 정해진 DRC를 만족하는 요소들로 레이아웃을 자동 생성하므로 DRC 검증 과정을 필요로 하지 않으면서 성능과 전력에는 영향은 미치지 않는
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템. - 제5항에 있어서,
상기 레이아웃 자동 생성 및 검증부는,
인스턴스가 생성되어 배치되면 상기 레이아웃 자동 생성에 따른 그리드 값으로 자동 변환되어 배치되고, 상기 레이아웃 자동 생성은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 상응하는 코드를 구현하여 매개변수를 지정하고, 모든 회로의 레이아웃을 각 요소에 대한 템플릿과 결합하여 완성하며, 최종 레이아웃은 배치된 템플릿 간에 라우팅을 통해 결정하는
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템. - 삭제
- 제5항에 있어서,
상기 시뮬레이션 수행부는,
Python 기반 측정 자동화 툴은 회로의 성능을 신속하게 측정하고, 원하는 사양에 맞는 디지털 회로를 설계하기 위해 포스트-레이아웃 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화하는
CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220128453A KR102545302B1 (ko) | 2022-10-07 | 2022-10-07 | Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220128453A KR102545302B1 (ko) | 2022-10-07 | 2022-10-07 | Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102545302B1 true KR102545302B1 (ko) | 2023-06-20 |
Family
ID=86994851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220128453A KR102545302B1 (ko) | 2022-10-07 | 2022-10-07 | Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102545302B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102703568B1 (ko) * | 2023-11-21 | 2024-09-05 | 인하대학교 산학협력단 | 파이선을 활용한 메모리 셀 검증 자동화 방법 및 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078767A1 (en) * | 2001-06-08 | 2004-04-22 | Burks Timothy M. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
KR20040063845A (ko) * | 2001-09-14 | 2004-07-14 | 양세양 | 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법 |
JP2008041097A (ja) * | 2006-08-08 | 2008-02-21 | Samsung Electronics Co Ltd | ゲートレベルでの動的シミュレーション方法及び装置 |
KR20170036585A (ko) * | 2015-09-24 | 2017-04-03 | 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 | 파라미터 추출 방법 및 시스템 |
-
2022
- 2022-10-07 KR KR1020220128453A patent/KR102545302B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078767A1 (en) * | 2001-06-08 | 2004-04-22 | Burks Timothy M. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
KR20040063845A (ko) * | 2001-09-14 | 2004-07-14 | 양세양 | 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법 |
JP2008041097A (ja) * | 2006-08-08 | 2008-02-21 | Samsung Electronics Co Ltd | ゲートレベルでの動的シミュレーション方法及び装置 |
KR20170036585A (ko) * | 2015-09-24 | 2017-04-03 | 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 | 파라미터 추출 방법 및 시스템 |
Non-Patent Citations (5)
Title |
---|
[1] Jaeduk Han, Woorham Bae, Eric Chang et al. "Laygo: A Template-and-Grid-Based Layout Generation Engine for Advanced CMOS Technologies", IEEE Transactions on Circuits and Systems-1: Regular Papers, vol. 68, no. 3, March 2021 |
[2] R. Martins, N. Lourenηo, and N. Horta, "LAYGEN II-Automatic layout generation of analog integrated circuits", IEEE Trans. Comput.- Aided Design Integr. Circuits Syst., vol. 32, no. 11, pp. 1641-1654, Nov. 2013 |
[3] Khan, S., Shah, A.P., Chouhan, S.S. et al. "Utilizing manufacturing variations to design a tri-state flip-flop PUF for IoT security applications", Analog Integr Circ Sig Process 103, 477-492, June 2020 |
Jaeduk Han 외 4명, "Laygo: A Template-and-Grid-Based Layout Generation Engine for Advanced CMOS Technologies", 2017.04., pp.1012-1022. 1부.* * |
Ricardo Martins 외 2명, "LAYGEN II─Automatic Layout Generation of Analog Integrated Circuits", 2013.11., pp.1641-1654. 1부.* * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102703568B1 (ko) * | 2023-11-21 | 2024-09-05 | 인하대학교 산학협력단 | 파이선을 활용한 메모리 셀 검증 자동화 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9558308B2 (en) | Compiler for closed-loop 1×N VLSI design | |
US8839171B1 (en) | Method of global design closure at top level and driving of downstream implementation flow | |
US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US7966598B2 (en) | Top level hierarchy wiring via 1×N compiler | |
Su et al. | Performance optimization using variable-latency design style | |
US8326592B2 (en) | Method and system for verifying electronic designs having software components | |
KR20040034613A (ko) | 계층적 집적회로 디자인 시스템에서 변조하기 위한 디자인제약을 생성하는 방법 | |
US11238202B2 (en) | Verifying glitches in reset path using formal verification and simulation | |
US8732630B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
JP4492803B2 (ja) | 動作合成装置及びプログラム | |
US7882483B2 (en) | Method for checking constraints equivalence of an integrated circuit design | |
US20080201671A1 (en) | Method for generating timing exceptions | |
Devarajegowda et al. | Meta-model based automation of properties for pre-silicon verification | |
CN114707445A (zh) | 集成电路的综合方法、装置、计算机设备及存储介质 | |
US6964027B2 (en) | System and method for optimizing exceptions | |
US9501592B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
US11022634B1 (en) | Rail block context generation for block-level rail voltage drop analysis | |
US8949753B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
KR102545302B1 (ko) | Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 | |
JP7045921B2 (ja) | 半導体lsi設計装置および設計方法 | |
Bong et al. | Automation Framework for Digital Circuit Design and Verification | |
US10997333B1 (en) | Methods, systems, and computer program product for characterizing an electronic design with a schematic driven extracted view | |
US7191412B1 (en) | Method and apparatus for processing a circuit description for logic simulation | |
US10049174B2 (en) | Exact delay synthesis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |