KR102545302B1 - Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 - Google Patents

Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 Download PDF

Info

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
circuit
simulation
Prior art date
Application number
KR1020220128453A
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 KR1020220128453A priority Critical patent/KR102545302B1/ko
Application granted granted Critical
Publication of KR102545302B1 publication Critical patent/KR102545302B1/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/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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • 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
    • 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
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/06Structured 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 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크{Automation Framework for Digital Circuit Design and Verification}
본 발명은 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 기반 레이아웃 자동화 툴과 측정 자동화 시스템으로 구성된 설계 및 검증 자동화 프레임워크를 필요로 한다.
[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
본 발명이 이루고자 하는 기술적 과제는 직관적이지 않은 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 플립플롭을 나타내는 도면이다.
다양한 맞춤형 디지털 회로에 대한 요구로 인해 반도체 산업에서 회로 설계의 노력을 줄이는 것이 매우 중요하다. 본 발명에서 제안하는 자동화 프레임워크는 전력과 성능을 유지하면서 일반 디지털 회로에서 불필요한 설계 노력을 크게 줄일 수 있다. 레이아웃 자동화와 수작업으로 그린 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>
Figure 112022105720935-pat00001
면적 면에서는 자동화 설계가 수동 설계보다 가치가 더 크다. 미리 설계된 각 인스턴스는 템플릿 형태로 배치 및 라우팅되기 때문에 개별 인스턴스를 작게 수정할 수 없다. 성능 및 전력 소비 측면에서 당사의 자동화된 설계는 수동 설계에 비해 적은 설계 노력으로 동등한 사양을 갖는다.
레이아웃 자동화는 코드 기반 레이아웃 배치 및 라우팅을 허용하여 레이아웃 시간을 크게 줄일 수 있다. 또한 사전에 DRC를 만족하는 요소들로 레이아웃이 이루어지기 때문에 검증 과정에 시간을 들일 필요가 없다. 성능과 전력은 거의 동일하다. 따라서 대부분의 디지털 회로의 레이아웃은 동등한 전력 및 성능 사양으로 레이아웃 자동화로 신속하게 생성될 수 있다. 또한 회로 측정을 자동으로 수행하여 검증 단계에 소요되는 시간을 줄일 수 있다. 따라서 제안하는 자동화 프레임워크는 회로 설계자가 디지털 회로 설계 및 검증을 위한 시간과 노력을 향상시키는 유용하고 실용적인 방법을 제공할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법에 있어서,
    레이아웃 자동 생성 및 검증부를 통해 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계;
    레이아웃 자동 생성 및 검증부가 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계;
    상기 검증이 완료되면 시뮬레이션 수행부를 통해 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하는 단계;
    시뮬레이션 수행부를 통해 상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계;
    설계 수정부를 통해 미리 정해진 원하는 사양을 충족하는지 여부를 판단하는 단계; 및
    상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 설계 수정부를 통해 전체 프로세스를 반복 수행하는 단계
    를 포함하고,
    상기 레이아웃 자동 생성 및 검증부를 통해 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계는,
    실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 추상 그리드 시스템를 이용하여, 공정에 관계없이 물리적인 설계규칙 오류가 발생하지 않고, 추상 그리드와 생성된 템플릿을 기반으로 검증 과정과 독립적으로 코드 기반 레이아웃을 생성하며,
    상기 레이아웃 자동 생성 및 검증부가 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 단계는,
    레이아웃의 성능을 확인하기 위해 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비하기 위해 Python 기반 GUI 프로그래밍 측정 자동화 툴을 사용하여 측정 매개변수를 지정하고, 자동으로 입력 및 측정 파일을 생성하여 포스트-레이아웃 시뮬레이션을 수행하도록 하며,
    상기 레이아웃 자동화는 코드 기반 레이아웃 배치 및 라우팅을 허용하여 레이아웃 시간을 감소시키고, 미리 정해진 DRC를 만족하는 요소들로 레이아웃을 자동 생성하므로 DRC 검증 과정을 필요로 하지 않으면서 성능과 전력에는 영향은 미치지 않는
    CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법.
  2. 제1항에 있어서,
    상기 레이아웃 자동 생성 및 검증부를 통해 회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하는 단계는,
    인스턴스가 생성되어 배치되면 상기 레이아웃 자동 생성에 따른 그리드 값으로 자동 변환되어 배치되고, 상기 레이아웃 자동 생성은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 상응하는 코드를 구현하여 매개변수를 지정하고, 모든 회로의 레이아웃을 각 요소에 대한 템플릿과 결합하여 완성하며, 최종 레이아웃은 배치된 템플릿 간에 라우팅을 통해 결정되는
    CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 시뮬레이션 수행부를 통해 상기 생성된 파일을 이용하여 측정 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 단계는,
    Python 기반 측정 자동화 툴은 회로의 성능을 신속하게 측정하고, 원하는 사양에 맞는 디지털 회로를 설계하기 위해 포스트-레이아웃 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화하는
    CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 방법.
  5. CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템에 있어서,
    회로도를 입력 받아 디지털 회로 설계에 따라 미리 정의된 레이아웃 자동화 툴을 사용하여 레이아웃을 자동 생성하고, 상기 자동 생성된 레이아웃에 대하여 검증 프로세스를 통해 검증하는 레이아웃 자동 생성 및 검증부;
    상기 검증이 완료되면 시뮬레이션을 위한 회로도 및 레이아웃의 넷리스트가 포함된 파일을 생성하고, 상기 생성된 파일을 이용하여 자동화 툴을 통해 회로의 성능을 확인하기 위한 포스트-레이아웃 시뮬레이션을 수행하는 시뮬레이션 수행부;
    미리 정해진 원하는 사양을 충족하는지 여부를 판단하고, 상기 미리 정해진 원하는 사양을 충족하기 위해 설계 수정이 필요한 경우 전체 프로세스를 반복 수행하는 설계 수정부
    를 포함하고,
    상기 레이아웃 자동 생성 및 검증부는,
    실제 그리드의 값을 원하는 위치에 적용하기 위해 값을 정수 그리드로 변경하는 추상 그리드 시스템를 이용하여, 공정에 관계없이 물리적인 설계규칙 오류가 발생하지 않고, 추상 그리드와 생성된 템플릿을 기반으로 검증 과정과 독립적으로 코드 기반 레이아웃을 생성하며,
    레이아웃의 성능을 확인하기 위해 회로 시뮬레이터를 사용하여 성능을 측정하기 위한 스파이스 데크 및 측정 명령을 준비하기 위해 Python 기반 GUI 프로그래밍 측정 자동화 툴을 사용하여 측정 매개변수를 지정하고, 자동으로 입력 및 측정 파일을 생성하여 포스트-레이아웃 시뮬레이션을 수행하도록 하며,
    상기 레이아웃 자동화는 코드 기반 레이아웃 배치 및 라우팅을 허용하여 레이아웃 시간을 감소시키고, 미리 정해진 DRC를 만족하는 요소들로 레이아웃을 자동 생성하므로 DRC 검증 과정을 필요로 하지 않으면서 성능과 전력에는 영향은 미치지 않는
    CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템.
  6. 제5항에 있어서,
    상기 레이아웃 자동 생성 및 검증부는,
    인스턴스가 생성되어 배치되면 상기 레이아웃 자동 생성에 따른 그리드 값으로 자동 변환되어 배치되고, 상기 레이아웃 자동 생성은 해당 인스턴스의 좌측 하단 모서리를 기준으로 하며, 상응하는 코드를 구현하여 매개변수를 지정하고, 모든 회로의 레이아웃을 각 요소에 대한 템플릿과 결합하여 완성하며, 최종 레이아웃은 배치된 템플릿 간에 라우팅을 통해 결정하는
    CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템.
  7. 삭제
  8. 제5항에 있어서,
    상기 시뮬레이션 수행부는,
    Python 기반 측정 자동화 툴은 회로의 성능을 신속하게 측정하고, 원하는 사양에 맞는 디지털 회로를 설계하기 위해 포스트-레이아웃 시뮬레이션을 위한 회로를 수정하고 코드를 생성하는 동안 불필요하게 반복되는 프로세스를 단순화하는
    CMOS 기반 디지털 회로의 설계 및 검증 과정 자동화 시스템.
KR1020220128453A 2022-10-07 2022-10-07 Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크 KR102545302B1 (ko)

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)

Citations (4)

* Cited by examiner, † Cited by third party
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 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 파라미터 추출 방법 및 시스템

Patent Citations (4)

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

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

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
US7966598B2 (en) Top level hierarchy wiring via 1×N compiler
US8326592B2 (en) Method and system for verifying electronic designs having software components
KR20040034613A (ko) 계층적 집적회로 디자인 시스템에서 변조하기 위한 디자인제약을 생성하는 방법
Su et al. Performance optimization using variable-latency design style
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
JP2009522652A (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
JP4492803B2 (ja) 動作合成装置及びプログラム
US7882483B2 (en) Method for checking constraints equivalence of an integrated circuit design
US20060064296A1 (en) Method and system of design verification
US8281269B2 (en) Method of semiconductor integrated circuit device and program
Devarajegowda et al. Meta-model based automation of properties for pre-silicon verification
US20040210861A1 (en) System and method for optimizing exceptions
US10437946B1 (en) Using implemented core sources for simulation
US9501592B1 (en) Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language
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設計装置および設計方法
Kartika Analysis of “SystemC” design flow for FPGA implementation
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

Legal Events

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