KR20100127425A - 디자인 룰을 검증하는 방법 - Google Patents

디자인 룰을 검증하는 방법 Download PDF

Info

Publication number
KR20100127425A
KR20100127425A KR1020090045863A KR20090045863A KR20100127425A KR 20100127425 A KR20100127425 A KR 20100127425A KR 1020090045863 A KR1020090045863 A KR 1020090045863A KR 20090045863 A KR20090045863 A KR 20090045863A KR 20100127425 A KR20100127425 A KR 20100127425A
Authority
KR
South Korea
Prior art keywords
standard cell
design rule
layout
random sample
arrangement
Prior art date
Application number
KR1020090045863A
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 KR1020090045863A priority Critical patent/KR20100127425A/ko
Publication of KR20100127425A publication Critical patent/KR20100127425A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • 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
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법이 제공된다. 상기 검증 방법은 표준 셀들 각각의 레이 아웃을 드로잉하여 표준 셀 블록들을 형성하는 단계, 상기 표준 셀 블록들 각각이 실제로 배치될 수 있는 형태들을 랜덤하게 배치하여 랜덤 샘플을 형성하는 단계, 및 상기 형성된 랜덤 샘플에 대한 디자인 룰을 체크하는 단계를 포함하는 것을 특징으로 한다.
표준셀 라이브러리(Standard cell library), 디자인 룰 체크(Design Rule Check)

Description

디자인 룰을 검증하는 방법{Method of verifying a design Rule}
본 발명은 디자인 룰을 검증하는 방법에 관한 것으로, 보다 상세하게는 표준셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법에 관한 것이다.
일반적으로 표준셀 라이브러리(Standard cell library) 개발 단계에서 셀(cell)의 레이 아웃을 드로잉(drawing)한다. 먼저 각각의 공정에 맞는 디자인 룰(Design Rule)에 따라 표준 셀의 레이 아웃을 그린 후, 상기 디자인 룰에 정확히 부합되도록 레이 아웃이 그려졌는지를 검증한다. 여기서 이러한 검증 과정을 디자인 룰 체크(Design Rule Check. DRC)라 한다.
즉 디자인 룰이 정확히 적용되었는지를 체크할 수 있는 프로그램인 디자인 룰 데크(Design Rule Deck)를 이용하여 표준 셀의 레이 아웃을 검증할 수 있다. 이러한 검증을 통하여 신뢰성을 보장받을 수 있다.
일반적으로 DRC를 진행하는 방식은 표준 셀에 대한 DRC를 개별적으로 진행하여 전체 셀에 대한 검증을 완료하는 제1 방식과 특정한 샘플 디자인에 해당하는 표준 셀에 DRC를 진행하여 검증을 완료하는 제2 방식이 있다.
제1 방식은 실제 디자인에 적용되어서야 발견되는 문제를 검증하는데 취약하 다. 예컨대, 표준 셀 내부에서의 금속 간격(metal space)을 검증하는 데에는 충분하지만, 인접한 다른 표준 셀과의 금속 간격을 검증하는 데에는 문제점이 생길 수 있다. 이는 디자인 룰 데크가 기본적으로 인접한 표준 셀과의 관계까지 고려해서 만들어지지만, 디자인 룰 데크가 미처 고려하지 못한 부분이 있거나, 디자인 룰 데크를 만드는 엔지니어(Engineer)의 실수가 있을 경우 검증이 되지 않을 수 있다.
제2 방식은 샘플 디자인의 크기, 예컨대, 표준 셀의 갯수 또는 전체 셀 디자인의 형태에 따라서 신뢰도가 일정하지 않다는 단점이 있기 때문에 신뢰도를 확보하기 위해서는 샘플 디자인의 크기가 커져야 한다는 한계가 있다.
본 발명이 이루고자 하는 기술적 과제는 표준 셀 레이 아웃의 설계 단계에서 디자인 룰 체크의 정확성을 높임으로써 표준 셀 라이브러리의 신뢰성을 확보할 수 있는 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법을 제공하는데 있다.
상기와 같은 과제를 달성하기 위한 본 발명의 실시 예에 따른 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법은 표준 셀들 각각의 레이 아웃을 드로잉하여 표준 셀 블록들을 형성하는 단계, 상기 표준 셀 블록들 각각이 실제로 배치될 수 있는 형태들을 랜덤하게 배치하여 랜덤 샘플을 형성하는 단계, 및 상기 형성된 랜덤 샘플에 대한 디자인 룰을 체크하는 단계를 포함한다.
본 발명의 실시 예에 따른 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법은 표준 셀의 레이 아웃 자체의 디자인 룰 부합 여부를 검증할 수 있을 뿐만 아니라 실제 디자인에서 사용되었을 경우 인접 표준 셀과의 위치까지 고려한 DRC를 할 수 있게 함으로써, 디자인 룰 데크에서 누락될 수 있는 부분까지 검증할 수 있는 이중 검증이 가능하고 표준 셀의 레이 아웃에 대한 신뢰성을 높일 수 있는 효과가 있다.
이하, 본 발명의 기술적 과제 및 특징들은 첨부된 도면 및 실시 예들에 대한 설명을 통하여 명백하게 드러나게 될 것이다. 본 발명을 구체적으로 살펴보면 다음과 같다.
도 1은 본 발명의 실시 예에 따른 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법에 대한 플로챠트이다. 도 1을 참조하면, 먼저 표준 셀의 레이 아웃(layout)을 드로잉(drawing)한다(S110). 여기서 표준 셀은 AND 게이트, OR 게이트, 또는 NAND 게이트 등과 같은 논리 게이트일 수 있으며, 상기 표준 셀의 레이 아웃은 EDA(Electronic Design Automatiom)과 같은 프로그램을 통하여 드로잉될 수 있다. 이하, 드로잉된 표준 셀의 레이 아웃을 "표준 셀 블록"이라 한다.
다음으로 랜덤 샘플을 디자인한다(S120). 논리 회로 설계시 상기 표준 셀 블록이 실제로 배치될 수 있는 모든 형태를 고려하여 상기 램덤 샘플(Random sample)을 디자인한다.
먼저 표준 셀 블록들 각각이 논리 회로 설계시 실제로 배치될 수 있는 형태들을 준비한다.
도 2는 N개의 표준 셀들 각각에 대한 표준 셀 블록(1~N)을 나타내는 개념도이다. 여기서 N은 1보다 큰 자연수일 수 있다.
도 3a 내지 도 3d는 도 2에 도시된 제1 표준 셀 블록(1)이 논리 회로 설계시 실제로 배치될 수 있는 모든 형태를 나타낸다. 먼저 도 3a는 제1 표준 셀 블록(1)의 제1 배치 형태(이를 "Original"이라 한다)를 나타내고, 도 3b는 제1 배치 형태(Original)의 좌우 대칭 형태(Horizontal flip)를 나타내고, 도 3c는 제1 배치 형태(Original)의 상하 대칭 형태(Vertical flip)를 나타내고, 도 3d는 제1 배치 형태(Original)의 180°회전 형태를 나타낸다.
마찬가지로 제2 표준 셀 블록(2) 내지 제N 표준 셀 블록(N) 각각도 상술한 바와 같이 제1 배치 형태 내지 제4 배치 형태로 배치될 수 있다.
상기 랜덤 샘플은 상기 제1 표준 셀 블록(1) 내지 제N 표준 셀 블록(N) 각각이 논리 회로 설계시 실제로 배치될 수 있는 모든 형태를 포함하도록 디자인될 수 있다. 예컨대, 상기 제1 표준 셀 블록(1) 내지 제N 표준 셀 블록(N) 각각에 대한 제1 배치 형태 내지 제4 배치 형태를 모두 포함하는 랜덤 샘플이 디자인될 수 있다.
다음으로 마련된 상기 표준 셀 블록들(제1 표준 셀 블록(1) 내지 제N 표준 셀 블록(N)) 각각에 대한 제1 배치 형태 내지 제4 배치 형태를 기본 소스(source)로 하여 일정한 규칙없이 랜덤(random)하게 2차원 평면상에 인접하여 배치하되, 상기 기본 소스인 배치 형태들 각각은 적어도 한번 씩 배치되도록 상기 랜덤 샘플을 디자인할 수 있다.
예를 들면, 100개의 표준 셀 블록들(제1 표준 셀 블록 내지 제100 표준 셀 블록)에 대한 랜덤 샘플은 다음과 같이 디자인될 수 있다.
먼저 도 3a 내지 도 3d에 도시된 바와 같이 제1 표준 셀 블록 내지 제100 표준 셀 블록 각각에 대한 제1 배치 형태 내지 제4 배치 형태를 마련한다. 즉 총 400개의 배치 형태들을 가질 수 있다. 여기서 400개의 배치 형태들을 기본 소스로 하여 랜덤하게 2차원 평면상에 인접하여 배치하되, 상기 400개의 배치 형태들 각각은 적어도 한번 씩 배치되도록 상기 랜덤 샘플을 디자인할 수 있다.
그러나 검증 시간 및 신뢰도 측면을 고려하여 상기 랜덤 샘플의 크기(예컨대, 랜덤하게 배치되는 배치 형태의 개수)를 정할 수 있다. 예컨대, 상기 랜덤 샘플은 상기 표준 셀 블록들의 수의 100~1000배수의 블록들을 포함하도록 디자인될 수 있다.
다음으로 랜덤 샘플에 대한 디자인 룰을 체크한다(S130). 예컨대, 디자인 룰 데크(Design Rule Deck)와 같은 프로그램을 이용하여 랜덤하게 디자인된 랜덤 샘플이 디자인 룰과 부합하는지를 체크한다.
다음으로 랜덤 샘플에 대한 디자인 룰을 체크한 결과, 디자인 룰에 위반되는지 여부를 판단한다(S140). 디자인 룰에 위반되지 않는 경우는 표준 셀의 레이 아웃에 대한 검증이 완료된다(S160).
그러나 디자인 룰에 위반되는 경우에는 위반된 표준 셀의 레이 아웃(표준 셀 블록)을 수정한다(S150). 그리고 위반된 표준 셀 블록을 수정된 표준 셀 블록으로 대체하여 레이 아웃에 대한 검증이 완료될 때까지 상술한 S120 ~ S150을 반복한다.
본 발명의 실시 예에 따른 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법은 표준 셀의 레이 아웃 자체의 디자인 룰 부합 여부를 검증할 수 있을 뿐만 아니라 실제 디자인에서 사용되었을 경우 인접 표준 셀과의 위치까지 고려한 DRC를 할 수 있게 함으로써, 디자인 룰 데크에서 누락될 수 있는 부분까지 검증할 수 있는 이중 검증이 가능하고, 표준 셀의 레이 아웃에 대한 신뢰성을 높일 수 있고, 상기 표준 셀 레이 아웃 형성 공정에 대한 표준 셀 라이브러리의 신뢰성까지 높일 수 있다. 또한 본 발명의 실시 예에 따른 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법에 따를 경우 디자인 룰 위반의 위험 요소를 조기에 발견하여 제거할 수 있다.
이상에서 설명한 본 발명은 상술한 실시 예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 종래의 지식을 가진 자에게 있어 명백할 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.
도 1은 본 발명의 실시 예에 따른 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법에 대한 플로챠트이다.
도 2는 N개의 표준 셀들 각각에 대한 표준 셀 블록(1~N)을 나타내는 개념도이다.
도 3a 내지 도 3d는 도 2에 도시된 제1 표준 셀 블록이 논리 회로 설계시 실제로 배치될 수 있는 모든 형태를 나타낸다.

Claims (5)

  1. 표준 셀들 각각의 레이 아웃을 드로잉(drawing)하여 표준 셀 블록들을 형성하는 단계;
    상기 표준 셀 블록들 각각이 평면상에 실제로 배치될 수 있는 형태들을 랜덤(random)하게 배치하여 랜덤 샘플을 형성하는 단계; 및
    상기 형성된 랜덤 샘플에 대한 디자인 룰을 체크하는 단계를 포함하는 것을 특징으로 하는 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법.
  2. 제1항에 있어서,
    디자인 룰에 위반되는 경우 위반된 표준 셀 블록을 수정하고 위반된 표준 셀 블록을 수정된 표준 셀 블록으로 대체한 후, 상기 랜덤 샘플을 형성하는 단계 및 상기 디자인 룰을 체크하는 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법.
  3. 제1항에 있어서, 상기 랜덤 샘플을 형성하는 단계는,
    상기 표준 셀 블록들 각각에 대한 제1 배치 형태, 제1 배치 형태의 좌우 대칭 형태인 제2 배치 형태, 제1 배치 형태의 상하 대칭 형태인 제3 배치 형태, 및 제1 배치 형태의 180°회전 형태인 제4 배치 형태를 형성하는 단계; 및
    상기 표준 셀 블록들 각각에 대한 제1 배치 형태 내지 제4 배치 형태를 기본 소스(source)로 하여 랜덤하게 2차원 평면상에 인접하여 배치하는 단계를 포함하는 것을 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법.
  4. 제3항에 있어서, 상기 랜덤하게 2차원 평면상에 인접하여 배치하는 단계는,
    상기 표준 셀 블록들 각각에 대한 제1 배치 형태 내지 제4 배치 형태들 각각은 적어도 한번 씩 배치하는 것을 특징으로 하는 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법.
  5. 제4항에 있어서,
    상기 랜덤 샘플은 상기 표준 셀 블록들의 수의 100~1000배수의 블록들을 포함하도록 디자인되는 것을 특징으로 하는 표준 셀의 레이 아웃에 대한 디자인 룰을 검증하는 방법.
KR1020090045863A 2009-05-26 2009-05-26 디자인 룰을 검증하는 방법 KR20100127425A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090045863A KR20100127425A (ko) 2009-05-26 2009-05-26 디자인 룰을 검증하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090045863A KR20100127425A (ko) 2009-05-26 2009-05-26 디자인 룰을 검증하는 방법

Publications (1)

Publication Number Publication Date
KR20100127425A true KR20100127425A (ko) 2010-12-06

Family

ID=43504648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090045863A KR20100127425A (ko) 2009-05-26 2009-05-26 디자인 룰을 검증하는 방법

Country Status (1)

Country Link
KR (1) KR20100127425A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836565B2 (en) 2014-12-24 2017-12-05 Samsung Electronics Co., Ltd. Electronic design automation method and apparatus thereof
CN111709213A (zh) * 2020-06-18 2020-09-25 成都微光集电科技有限公司 标准单元库设计检查方法和系统以及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836565B2 (en) 2014-12-24 2017-12-05 Samsung Electronics Co., Ltd. Electronic design automation method and apparatus thereof
CN111709213A (zh) * 2020-06-18 2020-09-25 成都微光集电科技有限公司 标准单元库设计检查方法和系统以及可读存储介质
CN111709213B (zh) * 2020-06-18 2023-04-14 成都微光集电科技有限公司 标准单元库设计检查方法和系统以及可读存储介质

Similar Documents

Publication Publication Date Title
Vaidyanathan et al. Building trusted ICs using split fabrication
US8775999B2 (en) Standard cell placement method to exercise placement permutations of standard cell libraries
US20150356232A1 (en) Method and System for Generating a Circuit Design, Method for Calibration of an Inspection Apparatus and Method for Process Control and Yield Management
JP6995451B2 (ja) 回路適正化装置及び回路適正化方法
CN105975644B (zh) 设计半导体集成电路的方法、系统及计算机程序产品
US9898567B2 (en) Automatic layout modification tool with non-uniform grids
CN109086468B (zh) 用于设计集成电路芯片的方法、系统及电脑程序产品
US8984459B2 (en) Methods and apparatus for layout verification
Ray et al. Correctness and security at odds: post-silicon validation of modern SoC designs
CN112069763B (zh) 修正电路的方法
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
US10262097B2 (en) Method to optimize standard cells manufacturability
KR20110106709A (ko) 레이아웃 검사 방법
CN105718623B (zh) 产生半导体电路布局的方法和系统
CN108959693B (zh) 设计集成电路的方法,以及制造集成电路的方法
CN103646031B (zh) Drc文件的坐标数据对比方法
US11907631B2 (en) Reset domain crossing detection and simulation
Vakil et al. Learning assisted side channel delay test for detection of recycled ics
JP4264436B2 (ja) フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置
KR20100127425A (ko) 디자인 룰을 검증하는 방법
CN109543308A (zh) 一种验证设计规则检查脚本的方法
US9104829B2 (en) Method of validating timing issues in gate-level simulation
CN103164566A (zh) 版图验证规则的测试向量辅助层生成方法
US8701063B1 (en) Compressing scenarios of electronic circuits
CN104750893B (zh) 一种虚拟图案填充程式的质量合格保证方法以及版图结构

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination