KR101679920B1 - 집적 회로 설계 방법 및 장치 - Google Patents

집적 회로 설계 방법 및 장치 Download PDF

Info

Publication number
KR101679920B1
KR101679920B1 KR1020140158939A KR20140158939A KR101679920B1 KR 101679920 B1 KR101679920 B1 KR 101679920B1 KR 1020140158939 A KR1020140158939 A KR 1020140158939A KR 20140158939 A KR20140158939 A KR 20140158939A KR 101679920 B1 KR101679920 B1 KR 101679920B1
Authority
KR
South Korea
Prior art keywords
parallel
netlist
circuit
circuit components
layout
Prior art date
Application number
KR1020140158939A
Other languages
English (en)
Other versions
KR20150110279A (ko
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 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Publication of KR20150110279A publication Critical patent/KR20150110279A/ko
Application granted granted Critical
Publication of KR101679920B1 publication Critical patent/KR101679920B1/ko

Links

Images

Classifications

    • 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
    • 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]

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

집적 회로 설계 방법은 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여 집적 회로(integrated circuit; IC)의 회로 부품들과 연관된 병렬-연결 파라미터를 추출하는 것을 포함한다. 방법은 회로 부품들을 기술하는 병렬 네트리스트(netlist)를 생성하는 것을 또한 포함하고, 병렬 네트리스트는 병렬-연결 파라미터를 포함한다. 병렬-연결 파라미터는 IC의 성능 능력을 결정하는 시뮬레이션에 의해 고려된다.

Description

집적 회로 설계 방법 및 장치 {INTEGRATED CIRCUIT DESIGN METHOD AND APPARATUS}
디바이스 제조업자들은 예를 들어 품질 성능(quality performance)을 제안하는 집적 회로를 제공함으로써 소비자에게 가치 및 편의성을 전달하도록 노력하고 있다. 집적 회로(integrated circuit; IC)를 소형화하는 최근의 경향은 적은 전력을 소비하지만, 더 고속으로 더 많은 기능성을 제공하는 더 소형의 디바이스를 야기하고 있다. 소형화 프로세스는 또한 더 엄격한 설계 및 제조 공차를 야기하고 있다. 제조전 검사 및 시험이 수행되어 설계된 IC를 갖는 반도체 디바이스가 실제로 제조될 수 있고 설계된 바와 같이 기능할 것인지를 확인한다.
본 발명의 양태는 첨부 도면을 숙독할 때 이하의 상세한 설명으로부터 가장 양호하게 이해된다. 산업 분야의 표준 실시에 따르면, 다양한 특징들은 실제 축적대로 도시되어 있지는 않다는 것이 주목된다. 실제로, 다양한 특징들의 치수는 설명의 명료화를 위해 임의적으로 확대되거나 축소될 수도 있다.
도 1은 하나 이상의 실시예에 따른, 집적 회로 설계 시스템의 다이어그램.
도 2는 하나 이상의 실시예에 따른, 병렬-연결 회로 부품을 갖는 집적 회로의 다이어그램.
도 3은 하나 이상의 실시예에 따른, 병렬-연결 회로 부품으로부터 병렬-연결 파라미터를 추출하는 방법의 흐름도.
도 4는 하나 이상의 실시예에 따른, 병렬-연결 회로 부품으로부터 병렬-연결 파라미터를 추출하는 방법의 흐름도.
도 5는 하나 이상의 실시예에 따른, 병렬-연결 회로 부품으로부터 병렬-연결 파라미터를 추출하는 방법의 흐름도.
도 6은 하나 이상의 실시예에 따른, 병렬-연결 회로 부품으로부터 병렬-연결 파라미터를 추출하는 방법의 흐름도.
도 7은 실시예가 구현되는 칩셋의 다이어그램.
이하의 개시 내용은 제공된 요지의 상이한 특징을 구현하기 위한 다수의 상이한 실시예 또는 예를 제공한다. 구성 요소 및 배열의 특정 예가 본 개시 내용을 간단화하기 위해 이하에 설명된다. 이들은 물론, 단지 예일 뿐이고, 한정이 되도록 의도되지는 않는다. 예를 들어, 이어지는 설명에서 제2 특징부 위 또는 상의 제1 특징부의 형성은 제1 및 제2 특징부가 직접 접촉으로 형성되는 실시예를 포함할 수도 있고, 부가의 특징부들이 제1 및 제2 특징부 사이에 형성될 수도 있어, 제1 및 제2 특징부가 직접 접촉하지 않을 수도 있게 되는 실시예를 또한 포함할 수도 있다. 게다가, 본 발명은 다양한 예에서 도면 부호 및/또는 문자를 반복할 수도 있다. 이 반복은 간단화 및 명료화를 위한 것이고, 자체로 설명된 다양한 실시예 및/또는 구성 사이의 관계를 지시하는 것은 아니다.
도면에서, 층 및 영역의 두께 및 폭은 명료화를 위해 과장되어 있다. 도면의 유사한 도면 부호는 유사한 요소를 나타낸다. 도면에 도시되어 있는 요소 및 영역은 본질적으로 개략적이고, 따라서 도면에 도시되어 있는 상대 크기 또는 간격은 본 발명의 개념의 범주를 한정하도록 의도된 것은 아니다.
본 명세서에 사용될 때, 용어 "병렬 네트리스트(parallel netlist)" 또는 이들의 파생어는 일반적으로 설계된 집적 회로(integrated circuit; IC)의 하나 이상의 회로도(schematic) 또는 레이아웃(layout)에서의 회로 부품들의 네트리스트를 칭하고, 병렬 네트리스트는 설계된 IC의 하나 이상의 회로 부품 사이의 병렬 전기 연결을 설명하는 병렬 파라미터를 포함한다.
다양한 추상 레벨에서 IC 설계를 표현하기 위한 기술이 개발되어 왔다. 이들 기술에 따르면, 설계된 IC는 회로도로서 또는 레이아웃으로서 표현되는 것이 가능하다. 회로도는 설계된 IC의 전자 다이어그램이다. 회로도 다이어그램은 종종 트랜지스터, 저항기, 커패시터 또는 다른 회로 부품과 같은 회로 부품을 표현하는 기호(symbol)를 포함한다. 회로도 다이어그램은 또한 종종 회로도 내에 포함된 회로 부품들 사이의 연결부들의 표현을 포함한다. 레이아웃은 IC의 회로 부품을 구성하는 금속, 산화물 또는 반도체층과 같은 재료의 패턴에 대응하는 평면형 기하학적 형상의 견지에서 IC의 표현이다.
회로도 내에 포함된 회로 부품은 인스턴스(instance)로서 통상적으로 공지되어 있다. 회로 부품들 사이의 연결부들 또는 회로 부품들 사이의 "와이어"는 네트(net)로서 통상적으로 공지되어 있다. 회로도 네트리스트는 회로도 내에 포함된 회로 부품들(즉, 인스턴스들)의 재고를 포함하는 리스트이고, 회로 부품들을 설명하고, 회로 부품들의 속성 또는 특성을 포함한다. 회로도 네트리스트는 또한 회로 부품들(즉, 네트들) 사이의 연결부들의 재고를 포함한다. 회로도 네트리스트는 때때로 전자 설계 자동화(electronic design automation; EDA) 툴에 의해 액세스 가능한 데이터베이스 내에 네트리스트 파일로서 저장된다.
IC 설계자는 종종 표준의 재사용 가능한 부품들 및 설계 플로우의 광대한 사용에 의해, 회로를 신속하게 설계하고 검증한다. EDA 툴은 설계자가 회로도 레벨에서 IC 설계를 개발하게 하고 프리-레이아웃 시뮬레이션(pre-layout simulation)을 거쳐 회로도 레벨에서 성능을 검증한다. 프리-레이아웃 시뮬레이션이 회로도 레벨에서 IC 설계가 지정된 성능 특성에 부합하는 것을 증명하면, EDA 툴은 레이아웃을 생성하고 설계 규칙 검사(design rule check; DRC) 및 레이아웃 대 회로도(layout versus schematic; LVS) 검사와 같은 검증 작업을 수행한다. DRC 검사는 제조된 IC가 적절하게 기능하는 것을 보장하기 위해 IC 제조업자에 의해 설명된 일련의 추천된 파라미터 세트를 만족시키는 설계 규칙의 세트에 레이아웃을 비교한다. 설계 규칙 세트는 제조 프로세스에서 가변성을 고려하기 위해 충분한 마진을 보장하기 위해 특정의 기하학적 및 연결성 제한을 지정한다. LVS 검사는 종종 DRC가 완료된 후에 수행된다. EDA 툴은 일반적으로 회로 부품 파라미터 및 회로 부품들의 연결 파라미터 및 회로 부품들 사이의 연결부들을 추출하고 레이아웃 네트리스트를 생성함으로써 LVS 검사를 수행한다. EDA 툴은 이어서 레이아웃 네트리스트를 회로도 네트리스트에 비교한다. 레이아웃 네트리스트와 회로도 네트리스트가 지정된 공차 내에서 정합하거나 동일하면, 레이아웃은 "LVS 클린(clean)"이다.
레이아웃이 DRC를 패스하고 "LVS 클린"인 후에, EDA 툴은 종종 레이아웃으로부터 저항-커패시턴스(resistance-capacitance; RC) 값을 추출하는 것을 포함하는 전체 회로 성능을 추정하기 위해 포스트-레이아웃 시뮬레이션(post-layout simulation)을 실행한다. 추출된 RC 값은 회로 성능을 평가할 때, 특히 고정밀도 및/또는 고속 회로가 레이아웃될 때, 중요하다.
레이아웃 종속 효과(layout dependent effect; LDE)가 또한 회로 성능을 평가할 때 중요하다. 커플링 효과, 노이즈 취소 효과, 디바이스 자기 가열, 기생 쌍극 트랜지스터(parasitic bipolar transistor; pBJT) 이득, 노이즈 코너 문제점 또는 다른 LDE와 같은 LDE가 회로 성능에 영향을 미친다. 몇몇 EDA 툴은 하나 이상의 프리-레이아웃 또는 포스트-레이아웃 스테이지에서 레이아웃 파라미터 추출(layout parameter extraction; LPE)을 수행한다. 이들 추출된 LPE는 LED를 결정하기 위해 프리-레이아웃 또는 포스트-레이아웃 시뮬레이션에 의해 고려된다. 통상의 EDA 툴에 의해 추출된 LPE 및 프리-레이아웃 및/또는 포스트-레이아웃 시뮬레이션에 의해 결정된 LDE는 개별 회로 부품 파라미터에 기초하고, 기초하지 않거나 또는 병렬-연결 회로 부품들이 다른 회로 부품들에, 회로 부품들의 다른 병렬-연결 그룹에 또는 서로에 대해 미치는 효과를 고려함으로써 결정된다.
설계된 IC가 포스트-레이아웃 시뮬레이션 스테이지에 도달하게 하기 위해, 설계자는 종종 회로도 설계, 프리-시뮬레이션, 레이아웃 생성, DRC 및/또는 LVS 검사의 수많은 반복을 진행하여, 설계된 IC가 IC 설계를 바람직하지 않게 하는 RC 값 또는 LDE를 갖는 것을 포스트-레이아웃 스테이지에서 학습한다. IC 설계가 바람직하지 않으면, 설계자는 다시 시작해야 한다. 현재의 설계 플로우에서, 프로세스 또는 시뮬레이션 코너는 종종 프로세스 편차를 위해 고려된다. 프로세스 코너는 웨이퍼 상에 에칭되어 있는 회로가 그 내에서 정확하게 기능해야 하는 이들 파라미터 편차의 극단들(extremes)을 표현한다. 이들 프로세스 코너에서 제조된 디바이스 상에서 동작하는 회로는 지정된 그리고 더 낮거나 높은 온도 및 전압에서보다 더 저속으로 또는 더 고속으로 동작할 수도 있지만, 회로가 임의의 이들 프로세스 극단들에서 전혀 기능하지 않으면, 설계는 부적절한 설계 마진을 갖는 것으로 고려된다. 예를 들어, 프리-레이아웃 및/또는 포스트-레이아웃 시뮬레이션은 때때로 고속-고속, 저속-저속, 고속-저속, 저속-고속, 통상-통상 또는 다른 적합한 프로세스 코너와 같은 다양한 프로세스 코너를 시뮬레이션하는 데 사용된다. 현재 설계 플로우에서, 프로세스 코너 범위가 단일 회로 부품에 대해 +/-10%로서 설정되고, 단일 회로가 또한 +/-10%로서 설정된 프로세스 코너 범위를 갖는 2개의 다른 단일 회로에 병렬로 연결되면, 통상의 EDA 툴은 병렬로 연결된 3개의 회로 부품들의 프로세스 코너 범위를 합성하고, 회로 부품들은 프로세스 코너가 +/-30%로서 설정되었던 것처럼 시뮬레이션된다. 그러나, 병렬의 3개의 회로 부품에 대해, 시뮬레이션 코너 범위는 실제로 +/-30%만큼 넓지 않아야 한다. 오히려, 프로세스 코너 범위는 +/-15%에 더 가까워야 한다. 설계자는 때때로 정확한 시뮬레이션 코너 범위를 반영하기 위해 회로도 내에, 예를 들어 통상적으로 사용되는 'nf' 및 'm'과 같은 병렬-연결 파라미터를 기록하지만, 이들 병렬-연결 파라미터는 EDA 툴이 여전히 개별 회로 부품들에 기초하여 LPE를 추출하고 LDE를 결정하는 포스트-레이아웃 시뮬레이션 스테이지에서는 인지되지 않거나 또는 사용 가능하지 않다. 회로 부품들 사이의 병렬 연결을 고려하지 않고 개별 회로 부품들에 기초하여 LPE를 추출하고 LDE를 결정하는 EDA 툴은 종종 설계된 IC의 레이아웃과 회로도 사이의 LED의 갭 또는 편차를 갖는다. 이는 설계된 IC가 예를 들어 3개의회로 부품을 포함하면, 프리-레이아웃 시뮬레이션 및 포스트-레이아웃 시뮬레이션은 종종 시뮬레이션에 의해 결정된 다양한 LDE에 대해 약 +/-15%만큼 상이하다는 것을 의미한다. IC 내의 회로 부품들 사이의 병렬 연결부들이 미치는 영향의 무시는 설계자가 회로도로부터 레이아웃까지의 설계 프로세스의 다수의 반복을 회피하는 것을 곤란하게 하는 데, 이는 IC 설계 프로세스를 덜 효율적이게 한다.
그러나, LDE 결정에 있어서의 이러한 편차는 회로 부품들 사이의 병렬 연결이 프리-레이아웃 및/또는 포스트-레이아웃 시뮬레이션에 의해 고려되면 감소되거나 제거될 수 있다. 병렬 연결을 고려하는 것은, 회로 부품들 사이의 병렬 연결에 의해 영향을 받은 LDE가 적어도 레이아웃 스테이지에서 적절하게 고려되기 때문에, 프리-레이아웃 시뮬레이션과 포스트-레이아웃 시뮬레이션 사이의 갭을 감소시키거나 완전히 제거하는 것을 가능하게 한다.
이와 같이, 몇몇 실시예는 IC의 하나 이상의 회로 부품들의 병렬-연결 파라미터들이 상이한 툴 및/또는 방법론에 의해 추출되고, 다양한 LDE 효과를 결정하고 설계된 IC의 성능 능력을 추정하기 위한 하나 이상의 시뮬레이션을 수행할 때 고려되는 IC 설계 시스템, 방법 및 컴퓨터 프로그램 제품을 설명한다.
도 1은 하나 이상의 실시예에 따른 IC 설계 시스템(10)의 다이어그램이다. IC 설계 시스템(100)은 디바이스 설계자가 다양한 LED 효과를 결정하고 IC 설계의 성능을 시뮬레이팅할 때 병렬-연결 회로 부품들 사이의 병렬 연결들을 고려함으로써 통상의 IC 설계 시스템 및 방법에 비교하여 더 정확한 시뮬레이션 결과를 얻게 하는 것을 가능하게 하여, 이에 의해 병렬-연결 회로 부품들을 갖는 IC 설계의 회로도와 레이아웃 사이의 갭을 감소시킨다.
도 1에 도시되어 있는 바와 같이, IC 설계 시스템(100)은 IC 설계 플랫폼(103) 및 IC 부품 데이터베이스(107)로의 연결성을 갖는 사용자 장비(user equipment; UE)(101)를 포함한다.
UE(101)는 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 웨어러블 회로(wearable circuitry), 모바일 핸드셋 또는 이들의 조합을 포함하는 일 유형의 모바일 단말, 고정 단말 또는 휴대용 단말이다. UE(101)는 사용자 인터페이스(111)가 표시되는 디스플레이(109)를 포함한다. 사용자는 사용자 인터페이스(111)를 사용하여 IC 설계 플랫폼(103)과 상호 작용하여, IC를 설계하고, 설계된 IC의 회로도를 생성하고, 설계된 IC의 성능을 시뮬레이팅하고, 설계된 IC의 레이아웃을 생성한다.
IC 설계 플랫폼(103)은 프로세서(703)(도 7)와 같은 프로세서에 의해 실행될 때, IC를 설계하는 것을 용이하게 하고, 설계된 IC의 회로도를 생성하고, 설계된 IC의 성능 시뮬레이션을 행하고, 설계된 IC의 레이아웃을 생성하는 컴퓨터 판독 가능 명령어의 세트이다. IC 설계 플랫폼(103)은 회로도 생성 모듈(113), 디바이스 추출 모듈(115), LVS 검사 모듈(117), RC 추출 모듈(119), 연결 식별 모듈(121), 시뮬레이션/검사 모듈(123), 레이아웃 생성 모듈(125), IC 설계 플랫폼(103)이 UE(101)와 IC 부품 데이터베이스(107)와 통신하게 하는 통신 모듈(127), 및 IC 설계 플랫폼(103)의 다양한 모듈들 사이의 통신을 관리하는 제어 로직(129)을 포함하는 복수의 컴퓨팅 모듈을 포함한다. 몇몇 실시예에서, IC 설계 플랫폼(103) 내에 포함된 다양한 모듈은 동일한 디바이스를 제조하기 전에 IC의 설계를 테스트하기 위해 사용된 EDA 툴이다. 모듈 또는 EDA 툴은 몇몇 실시예에서, 프로세서 또는 제어기에 의해 실행을 위한 실행 가능 명령어의 하나 이상의 세트 또는 표시된 기능성을 수행하기 위한 프로그램된 컴퓨터이다.
IC 부품 데이터베이스(107)는 사용자 인터페이스(111)와의 사용자 상호 작용에 기초하여 IC 설계 플랫폼(103)에 의해 질의되는 것이 가능한 메모리(705)(도 7)와 같은 메모리이다. IC 부품 데이터베이스는 디바이스 저장 장치(131), 회로도 저장 장치(133) 및 레이아웃 저장 장치(135)를 포함한다.
UE(101), IC 설계 플랫폼(103), 및 IC 부품 데이터베이스(107)는 함께 특정 용도 컴퓨터 시스템으로서 구성된다. 몇몇 실시예에서, UE(101), IC 설계 플랫폼(103), 및 IC 부품 데이터베이스 중 하나 이상은 UE(101) 내에 단일로 실시된다. 따라서, UE(101)는 IC 설계 플랫폼(103)이 실행되게 하는 프로세서를 포함한다. 몇몇 실시예에서, UE(101), IC 설계 플랫폼(103) 및 IC 부품 데이터베이스(107) 중 하나 이상은 서로로부터 이격하여 위치되도록 구성된다. 이격하여 위치되면, IC 설계 플랫폼(103)은 다른 UE(101)와 같은 UE(101)로부터 또한 이격하여 위치된 프로세서에 의해 실행된다. 예로서, UE(101), IC 설계 플랫폼(103) 및 IC 부품 데이터베이스(107)는 유선 또는 무선 통신 연결 및/또는 하나 이상의 네트워크 또는 이들의 조합에 의해 통신한다.
사용자 인터페이스(111)와의 하나 이상의 사용자 상호 작용에 기초하여, IC가 설계되고, IC 설계 플랫폼(103)은 회로도 생성 모듈(113)을 통해, 설계된 IC를 표현하는 회로도를 생성한다. 설계된 IC는 예를 들어, 하나 이상의 회로 부품을 갖는다. 사용자 인터페이스(111)와의 하나 이상의 상호 작용은 예를 들어, 길이, 폭, 간격, 재료, 위치, 추정된 RC 값, 또는 회로 부품 또는 이들의 서브-부품을 기술하는 다른 적합한 디바이스 파라미터와 같은 하나 이상의 회로 부품 파라미터를 입력하는 것을 포함한다. IC 회로 부품은 예를 들어 저항기, 트랜지스터, 와이어, 커패시터, 스위치, 노드, 상호 연결부, 비아(via), 게이트, 소스, 드레인, 도핑 영역, 채널 또는 다른 적합한 전기 디바이스를 포함한다. 몇몇 실시예에서, 설계된 IC 내의 하나 이상의 회로 부품은 상호 연결 와이어에 연결된다.
몇몇 실시예에서, 입력 회로 부품 파라미터에 기초하여, IC 설계 플랫폼(103)은 통신 모듈(127)을 통해, 정확하게 일치하거나 사전 결정된 임계치 내에서 일치하고, 따라서 설계된 IC 내에 포함될 이들 회로 부품과 유사한 저장된 회로 부품에 대해 디바이스 저장 장치(131)를 검색한다. IC 설계 플랫폼(103)은 또한 설계된 IC 내에 포함될 회로 부품의 다양한 구성, 패턴 또는 배열을 검색한다. IC 설계 플랫폼(103)은 검색 결과가 회로도 생성 모듈(113)에 의해 생성된 회로도의 선택 및 포함을 위해 사용자 인터페이스(111)를 거쳐 사용자에 표시되게 한다. 회로 부품 및 회로 부품 구성에 추가하여, 디바이스 저장 장치(131)는 하나 이상의 회로 부품의 추정된 RC 값 및 하나 이상의 회로 부품의 하나 이상의 구성 또는 패턴과 연관된 데이터, 뿐만 아니라 예를 들어 회로 부품 또는 회로 부품을 제조하는 데 사용되는 연관된 마스크를 제조할 때 사용되는 허용 가능한 재료와 같은 다른 결정 가능한 회로 부품 성능 팩터를 또한 저장한다. 표시된 회로 부품 구성들 중 적어도 하나는 선택된 회로 부품을 표현하는 기호로서 회로도 내에 포함될 대응 회로 부품을 위한 사용자 인터페이스(111)와의 사용자 상호 작용에 의해 선택된다. 사용자 선택에 기초하여, 회로도 생성 모듈(113)은 선택된 회로 부품 구성을 포함하는 회로도를 생성한다.
몇몇 실시예에서, 설계된 IC는 Simulation Program with Integrated Circuit Emphasis(SPIC) 네트리스트 또는 IC 설계를 입력하기 위한 다른 적합한 데이터 포맷과 같은 회로도 네트리스트의 형태로 생성되거나 제공된다. 생성된 또는 제공된 회로도 네트리스트는 선택적으로 설계된 IC의 회로도 표현으로 변환되고, 또는 제공된 회로도 네트리스트는 설계된 IC의 그래픽 표현을 생성하지 않고 하나 이상의 후속의 프로세스를 위한 입력으로서 사용된다.
시뮬레이션/검사 모듈(123)은 회로도 내에 포함된 회로 부품의 전기적 분석을 행하기 위해 회로도의 프리-레이아웃 시뮬레이션을 수행한다. 몇몇 실시예에서, 시뮬레이션/검사 모듈(123)은 예를 들어 설계된 IC가 사전 결정된 성능 사양에 부합하는지 여부를 결정하도록 구성된 EDA 툴을 포함하거나 EDA 툴이다. 설계된 IC가 사전 결정된 사양에 부합하지 않으면, IC는 재설계된다. 몇몇 실시예에서, 프리-레이아웃 시뮬레이션은 생성된 회로도 또는 제공된 회로도 네트리스트 상에서 수행된 SPICE 시뮬레이션과 같은 하나 이상의 사전 결정된 성능 사양이 부합하는지를 결정하기 위해 적합한 회로 성능 시뮬레이션이다.
몇몇 실시예에서, 시뮬레이션/검사 모듈(123)은 회로도 또는 제공된 회로도 네트리스트가 설계된 IC가 적어도 사전 결정된 공차 내에서 순응해야 하는 하나 이상의 설계 규칙을 패스하는지 여부를 결정하기 위해 DRC 검사를 수행한다. 회로도/제공된 회로도 네트리스트가 DRC 검사를 패스하면, 회로도 생성 모듈(113)은 미리 제공되지 않으면 또는 제공된 회로도 네트리스트가 수정되면, 설계 규칙 검사를 패스한 회로도 또는 수정된 제공된 회로도 네트리스트 내에 포함된 상호 연결 와이어 및 회로 부품의 기술을 포함하는 회로도 네트리스트를 생성한다. IC 설계 플랫폼(103)은 이어서 회로도 네트리스트가 회로도 저장 장치(133) 내에 저장되게 한다. DRC는 설계된 IC가 제조되는 것이 가능한 것을 보장한다. 하나 이상의 설계 규칙이 침해되면 또는 설계된 IC의 하나 이상의 사양이 침해된 설계 규칙(들)의 사전 결정된 공차 내에 있지 않은 것으로 결정하면, IC 설계 플랫폼(103)은 설계된 IC에 대한 보정이 레이아웃 또는 회로도/설계 스테이지 중 하나 이상에서 행해져야 하는 것을 표시한다.
레이아웃 생성 모듈(125)은 설계된 IC의 레이아웃을 생성하고, IC 설계 플랫폼(103)은 사용자 인터페이스(111)가 설계된 IC의 생성된 레이아웃을 표시하게 한다. 몇몇 실시예에서, 레이아웃은 그래픽 설계 시스템(Graphic Design System; GDS) 파일 또는 생성된 레이아웃을 기술하기 위한 다른 적합한 데이터 포맷의 형태로 생성된다. 몇몇 실시예에서, 레이아웃은 설계된 IC의 레이아웃 내에 포함된 회로 부품들을 기술하는 레이아웃 네트리스트의 형태로 생성된다.
디바이스 추출 모듈(115)은 단독으로 또는 연결 식별 모듈(121)과 같은 IC 설계 플랫폼(103)의 하나 이상의 다른 모듈과 조합하여, 설계된 IC 레이아웃 내의 회로 부품들, 뿐만 아니라 이들 사이의 연결들을 인식하고, 생성된 레이아웃으로부터 회로 부품 파라미터 및 연결 파라미터를 추출한다. IC 설계 플랫폼(103)은 디바이스 추출 모듈(115), 레이아웃 생성 모듈(125) 또는 LVS 검사 모듈(117) 중 하나 이상을 통해, 설계된 IC의 레이아웃 내에 포함된 회로 부품들 및 상호 연결 와이어를 기술하는 레이아웃 네트리스트를 생성하고 레이아웃 저장 장치(135) 내에 레이아웃 네트리스트를 저장한다.
LVS 검사 모듈(117)은 레이아웃과 회로도가 정확하게 일치하고, 사전 결정된 공차 또는 임계치 내에서 일치하는지, 또는 레이아웃과 회로도 사이에 상충이 존재하는지(즉, 레이아웃 네트리스트 및 회로도 네트리스트가 정확하게 일치하지 않거나 사전 결정된 공차 또는 임계치 내에서 일치하지 않으면)를 결정하기 위해 레이아웃 네트리스트를 회로도 네트리스트에 비교하는 LVS 검사를 행한다. 몇몇 실시예에서, LVS 검사 모듈(117)이 레이아웃과 회로도 사이에 상충이 존재하는 것으로 결정하면, IC 설계 플랫폼(103)은 회로도가 보정되어야 한다는 명령어가 사용자 인터페이스(111)에 의해 표시되게 한다. 몇몇 실시예에서, IC 설계 플랫폼(103)은 레이아웃 내의 또는 회로도 내의 IC의 결정된 상충부가 레이아웃 내에 또는 회로도 내에서 강조되게 한다. 대안적으로, 설계된 IC가 LVS 검사를 패스하지 않으면, IC 설계 플랫폼(103)은 레이아웃을 생성하지 않거나 표시되게 한다.
몇몇 실시예에서, IC 설계 플랫폼(103)은 다양한 회로 부품 파라미터, 예측된 RC 값, 수동으로 입력된 병렬-연결 파라미터, 추정된 LDE 효과, 추정된 RC 값 또는 회로 부품의 특정 회로도 또는 구성이 DRC 검사를 패스하는지 그리고/또는 IC 부품 데이터베이스(107) 내에 저장된 다른 설계 또는 제조 제약 한계를 패스하는지 여부와 같은 고려 사항을 고려하는 다른 적합한 설계 팩터와 관련하여 사용자 입력에 기초하여 IC 부품 데이터베이스(107)가 생성되게 한다.
RC 추출 모듈(119)은 설계된 IC를 위한 RC 값을 추출한다. RC 추출 모듈(119)은 후속의 동작에서 회로 성능 시뮬레이션을 위한 설계된 IC의 레이아웃 내의 상호 연결부의 기생 파라미터, 예를 들어 기생 저항 및 기생 커패시턴스를 결정한다. 이러한 기생 파라미터는 종종 레이아웃 내의 패턴의 구성 및/또는 재료의 결과로서 발생한다. 몇몇 실시예에서, IC 부품 데이터베이스(107)로부터 리콜된 기술 파일은 기생 파라미터를 추출하도록 RC 추출 모듈(119)에 의해 사용된다. 몇몇 실시예에서, 추출된 기생 파라미터는 디바이스 추출 모듈(115)에 의해 제공된 레이아웃 네트리스트에 RC 추출 모듈(119)에 의해 추가된다.
시뮬레이션/검사 모듈(123)은 추출된 기생 파라미터를 고려하여, 포스트-레이아웃 시뮬레이션을 수행하여, 레이아웃이 사전 결정된 사양에 부합하는지 여부를 결정한다. 구체적으로, 시뮬레이션/검사 모듈(123은 RC 추출 모듈(119)에 의해 출력된 업데이트된 레이아웃 네트리스트에 시뮬레이션을 수행한다. 시뮬레이션이 레이아웃이 사전 결정된 사양에 부합하지 않는 것을 표시하면(예를 들어, 기생 파라미터 또는 LDE가 바람직하지 않은 지연을 유발함), IC 설계 플랫폼(103)은 설계된 IC의 레이아웃 또는 회로도 중 적어도 하나에 보정이 이루어질 필요가 있다는 것을 표시한다. 다르게는, 레이아웃은 제조 또는 부가의 검증 프로세스로 패스된다. 몇몇 실시예에서, 포스트-레이아웃 시뮬레이션은 SPICE 시뮬레이션, 또는 설계된 IC의 성능 능력을 평가하기 위해, SPICE 시뮬레이션 대신에 또는 추가하여 사용 가능한 다른 적합한 시뮬레이션 툴이다.
디바이스 추출 스테이지에서 개별적으로 병렬-연결 회로 부품들을 갖는 설계된 IC의 회로 부품 파라미터를 추출하는 LPE 플로우를 이용하지만 LDE 효과를 결정하고 그리고/또는 설계된 IC의 성능 시뮬레이션을 행할 때 병렬-연결 파라미터를 고려하지 않는 종래의 IC 설계 시스템과는 달리, IC 설계 시스템(100)은 IC 설계 플랫폼(103)을 통해, 설계된 IC의 하나 이상의 회로 부품들이 병렬로 연결되는지를 결정하고, 서로 병렬로 연결된 회로 부품들을 연관시키고, 다양한 LDE 효과를 결정하고 설계된 IC에 성능 시뮬레이션을 행할 때 병렬-연결 회로 부품의 병렬 연결(즉, 병렬-연결 파라미터)을 고려하도록 구성된다.
예를 들어, 설계된 IC(X1)가 복수의 회로 부품(M1 내지 M7)을 가지면, 회로 부품(M1)의 회로 부품 파라미터가 추출될 때, 회로 부품(M1 내지 M7)이 개별적으로 추출되기 때문에, 회로 부품(M1)의 일부가 실제로 병렬로 연결되어 있더라도, 회로 부품(M1)은 일반적으로 다른 회로 부품(M2 내지 M7)과 연관되지 않고, 또는 다른 회로 부품(M2 내지 M7)에 관련된 정보를 갖지 않는다. 그러나, IC 설계 시스템(100)은 P시적인 설계된 IC(X1)의 하나 이상의 회로 부품(M2 내지 M7)이 예를 들어 회로 부품(M1)과 병렬로 연결되는지를 결정하고, 식별된 병렬-연결된 회로 부품들을 서로 연관시키는 것이 가능하다. 예를 들어, IC 설계 플랫폼(103)이 회로 부품(M1 내지 M5)이 서로 병렬로 연결되어 있는 것을 결정할 수 있고, 회로도 저장 장치(133) 또는 레이아웃 저장 장치(135) 내에 저장된 회로도 네트리스트 또는 레이아웃 네트리스트 중 하나 이상을 업데이트하여 회로도 네트 리스트 또는 레이아웃 네트리스트에 식별된 병렬-연결 회로 부품들 사이의 병렬 연결을 표시하는 병렬-연결 파라미터를 어태치하거나 추가함으로서 병렬 네트리스트를 생성하고, 이에 의해 회로 부품들(M1 내지 M5)을 서로 연관시킨다. IC 설계 플랫폼(103)은 이어서 다양한 LDE 효과를 결정하고 설계된 IC에 성능 시뮬레이션을 행할 때 병렬-연결 회로 부품(M1 내지 M5)의 병렬-연결 파라미터를 고려하는 것이 가능하다.
몇몇 실시예에서, IC 설계 플랫폼(103)에 의해 생성된 예시적인 회로도 또는 프리-시뮬레이션 네트리스트는 이하와 같다:
X1 d g s b nch w= 10um l= 1um nf=2 multi=3
상기 예시적인 회로도 네트리스트는 설계된 IC(X1)에 대한 것이다. 설계된 IC(X1)를 기술하는 회로도 네트리스트는 드레인 단자 식별자(d), 게이트 단자 식별자(g), 소스 단자 식별자(s), 벌크 단자 식별자(b), 폭(w)(본 예에서 w = 10 um), 길이(l)(본 예에서 l = 1 um), 다수의 병렬-연결 회로 부품(nf)(본 예에서, nf = 2), 및 병렬-연결 회로 부품들의 다수의 인스턴스 또는 그룹("multi")(본 예에서, multi = 3)과 같은 회로 부품 파라미터를 식별하는 정보를 포함한다. 2개의 병렬-연결 회로 부품 및 병렬-연결 회로 부품의 3개의 인스턴스가 존재하기 때문에, 설계된 IC(X1)는 본 예에서 6개의 총 회로 부품을 포함한다.
몇몇 실시예에서, 설계된 IC(X1)가 포함하는 개별 회로 부품들 사이의 연관을 표시하는 병렬-연결 파라미터가 없는 예시적인 레이아웃 네트리스트 또는 포스트-시뮬레이션 네트리스트는 이하와 같이 IC 설계 플랫폼(103)에 의해 생성된다:
M1 d g s b nch w= 10u l= 1u nf=1 multi=1
M2 d g s b nch w= 10u l= 1u nf=1 multi=1
M3 d g s b nch w= 10u l= 1u nf=1 multi=1
M4 d g s b nch w= 10u l= 1u nf=1 multi=1
M5 d g s b nch w= 10u l= 1u nf=1 multi=1
M6 d g s b nch w= 10u l= 1u nf=1 multi=1
IC 설계 플랫폼(103)은 본 예에서, 설계된 IC를 기술하는 레이아웃 네트리스트를 회로 부품들(M1 내지 M6)을 개별적으로 기술하는 6개의 부분으로 분할한다. LDE 효과를 결정하기 위해, 몇몇 실시예에서, IC 설계 플랫폼(103)은 회로도 네트리스트 또는 레이아웃 네트리스트에 기술된 설계된 IC의 회로 부품들을 분리하고, 시뮬레이션/검사 모듈(123)이 LED 효과를 결정하고 그리고/또는 설계된 IC의 성능 시뮬레이션을 행할 때 병렬-연결 파라미터를 고려할 수 있도록 병렬-연결 회로 부품들(M1 내지 M6) 사이의 연관을 표시하는 병렬-연결 파라미터를 포함한다.
몇몇 실시예에서, IC 설계 플랫폼(103)은 병렬-연결 파라미터를 레이아웃 네트리스트에 어태치(attach)함으로써 병렬-연결 파라미터를 갖는 병렬 네트리스트를 생성하고, 병렬 네트리스트는 이하와 같이 개별 회로 부품들(M1 내지 M6)을 기술한다.
M1 d g s b nch w= 10u l= 1u nf=1 multi=1_total=6_od=2
M2 d g s b nch w= 10u l= 1u nf=1 multi=1_total=6_od=2
M3 d g s b nch w= 10u l= 1u nf=1 multi=1_total=6_od=2
M4 d g s b nch w= 10u l= 1u nf=1 multi=1_total=6_od=2
M5 d g s b nch w= 10u l= 1u nf=1 multi=1_total=6_od=2
M6 d g s b nch w= 10u l= 1u nf=1 multi=1_total=6_od=2
본 예에서, IC 설계 플랫폼(103)은 디바이스 추출 모듈(115), LVS 검사 모듈(119), 연결 식별 모듈(121), RC 추출 모듈(119) 또는 레이아웃 생성 모듈(125) 중 하나 이상을 통해, 회로 부품들(M1 내지 M6)을 위한 레이아웃 네트리스트에 병렬로 연결된 디바이스의 총 수를 표시함으로써 회로 부품을(M1 내지 M6)과 연관된 병렬-연결 파라미터를 추출하고 어태치한다. 병렬 네트리스트에서, "_total"은 모든 병렬-연결 디바이스의 수이고, "_od"는 레이아웃 생성 모듈(125)에 의해 생성된 레이아웃 내의 동일한 산화물 정의(oxide definition; OD) 층 상의 모든 병렬-연결 디바이스의 수이다. 본 예에서, 회로도 내에 포함된 병렬-연결 회로 부품의 인스턴스 또는 그룹의 수를 표시하는 회로도 네트리스트는 레이아웃 생성 모듈(125)에 의해 생성된 레이아웃 내에 맵핑되어 병렬-연결 회로 부품들의 각각의 그룹이 2개의 회로 부품을 포함하게 되고, 레이아웃 생성 모듈(125)은 설계된 IC의 레이아웃을 생성하여 2개의 병렬-연결 회로 부품의 각각의 그룹이 동일한 OD 층 상에 있는 것으로서 표현되게 된다.
병렬-연결 파라미터 추출의 정확도 및 속도는 특정 상황 하에서 상충할 수도 있는 고려 사항이다. 정확한 병렬-연결 파라미터 추출은 IC를 위한 레이아웃의 정확한 평가가 제조되는 것을 허용하는 후속의 포스트-레이아웃 시뮬레이션에서 LDE 효과의 정확한 결정을 야기한다. 그러나, 정확한 병렬-연결 파라미터 추출은 종종 더 많은 컴퓨팅 리소스를 요구하고, 따라서 덜 정확한 병렬-연결 파라미터 추출보다 더 저속이다. 몇몇 실시예에서, IC 설계 플랫폼(103)은 종래의 IC 설계 시스템에 비교할 때 레이아웃과 회로도 사이의 갭을 여전히 감소시키면서 덜 정확한 병렬-연결 파라미터 추출을 수행함으로써 원하는 병렬-연결 파라미터 추출을 얻기 위해 소정 정도의 정확도를 희생하도록 구성된다.
몇몇 실시예에서, IC 설계 플랫폼(103)은 LVS 스테이지에서 LVS 검사 모듈(117)을 통해 병렬-연결 파라미터를 추출하고 어태치시키도록 구성된다. LVS 검사 모듈(117)은 예를 들어 설계된 IC 내의 모든 회로 부품들을 스캔하고, 설계된 IC 내의 회로 부품이 병렬로 연결되어 있는지 여부를 결정한다. 디바이스 추출 모듈(115), 연결 식별 모듈(121) 및/또는 LVS 검사 모듈(117)은 또한 디바이스 명칭, OD 인덱스 번호 및 다른 LDE 파라미터와 같은 회로 부품 파라미터를 결정한다. IC 설계 플랫폼(103)은 예를 들어 LVS 검사 모듈(117)을 통해, 회로도 네트리스트 및/또는 레이아웃 네트리스트로부터의 회로 부품 파라미터 및 결정된 병렬-연결 정복 IC 부품 데이터베이스(107) 내에 저장되게 한다. LVS 검사 모듈(117)은 동일한 속성 또는 조건을 갖는 설계된 IC의 레이아웃 내의 회로 부품들의 수를 카운트하고, 동일한 속성 또는 조건을 갖는 회로 부품들 사이의 연관을 기술하는 병렬-연결 파라미터를 생성하고, 설계된 IC의 회로 부품들을 기술하는 LVS 스테이지에서의 레이아웃 네트리스트에 결정된 병렬-연결 파라미터를 어태치하여, 이에 의해 병렬 네트리스트를 생성한다.
다른 실시예에서, IC 설계 플랫폼(103)은 디바이스 추출 모듈(115)을 통해, LVS 스테이지에서, 회로 부품 파라미터들로서 사용될 네트리스트 식별자(네트 ID) 및 다각형 ID를 추출하도록 구성된다. 네트 ID는 회로 부품(예를 들어, 회로 부품 및/또는 연결부 또는 와이어의 유형)을 표현하는 정수이다. 다각형 ID는 회로 부품이 취하는 다각형 또는 형상 및/또는 재료 기술을 표현하는 정수이다. IC 설계 플랫폼(103)은 시뮬레이션/검사 모듈(123)을 통해, 레이아웃 네트리스트를 스캔하도록 포스트-프로세싱 프로그램을 사용하고 레이아웃 네트리스트 내의 네트 ID 및 다각형 ID를 병렬-연결 파라미터로 대체하여, 이에 의해 병렬 네트리스트를 생성한다. 본 예시적인 실시예에서, 레이아웃 네트리스트는 입력으로서 사용되기 때문에, 병렬 네트리스트는 이전의 스테이지에서 생성된 레이아웃 네트리스트에 비교하여 변경된다. IC 설계 플랫폼(103)은 병렬 네트리스트가 레이아웃 스테이지(135) 내에 저장되게 한다.
몇몇 실시예에서, IC 설계 플랫폼(103)은 LVS 비교를 사용하는 더 고속이지만 덜 정확한 방법 및 포스트-시뮬레이션 스테이지에서 상호 참조(cross-reference) 방법에 의해 병렬-연결 파라미터를 결정하도록 구성된다. 상호 참조 방법은 레이아웃 네트리스트 내에 포함된 설계된 IC의 회로 부품, 인스턴스 또는 회로 부품들을 기술하는 명칭을 병렬로 연결된 회로 부품들을 식별하기 위해 회로도 네트리스트 내에 포함된 설계된 IC의 회로 부품들의 명칭과 상관한다. 회로 부품들 사이의 상호 참조 상관은 이어서 레이아웃 네트리스트를 수정함으로써 적용되어, 회로 부품들이 연관되고 병렬로 연결되어 있다는 것을 표시하는 병렬-연결 파라미터를 포함하여, 이에 의해 병렬 네트리스트를 생성한다.
예를 들어, IC 설계 플랫폼(103)은 회로도 생성 모듈(113), LVS 검사 모듈(117), 회로도 생성 모듈(113)을 통해, 설계된 IC의 회로도 네트리스트를 생성하고, LVS 검사 모듈(117)을 통해 레이아웃 네트리스트를 생성하고, 예를 들어 시뮬레이션/검사 모듈(123)을 통해, 레이아웃 네트리스트 내에 포함된 회로 부품들이 병렬로 연결되어 있는 것을 결정하기 위해 레이아웃 네트리스트와 회로도 네트리스트를 상호 참조한다. IC 설계 플랫폼(103)은 예를 들어 시뮬레이션/검사 모듈(123)을 통해, 회로 부품들이 병렬로 연결되어 있는 것을 표시하는 회로 부품들을 함께 묶는(tie) 상이한 명명 규칙을 사용하여 레이아웃 네트리스트 내의 회로 부품들을 개명한다. 새롭게 적용된 명명 규칙은 병렬-연결 파라미터를 포함하거나, 또는 적어도 회로 부품들과 시뮬레이션/검사 모듈(123) 사이의 병렬 연결 또는 연관을 기술하여, 이에 의해 레이아웃 네트리스트 내의 회로 부품 기술을 제거하고 제거된 회로 부품 기술 대신에 병렬 연결을 기술하는 명명 규칙을 갖는 회로 부품 기술을 추가함으로써 병렬 네트리스트를 생성한다. 다른 예시적인 실시예의 몇몇만큼 정확하지는 않지만, 이 방법은 더 고속이고 프리-시뮬레이션 및 포스트-시뮬레이션 스테이지에서 설계된 IC의 회로도와 레이아웃 사이의 갭을 감소시킨다.
몇몇 실시예에서, IC 설계 플랫폼(103)은, RC 추출 스테이지에서 RC 추출 모듈(119)을 통해, 결정된 병렬-연결 파라미터를 레이아웃 네트리스트에 어태치함으로써 병렬 네트리스트를 생성한다. RC 추출 모듈(119)은 예를 들어 설계된 IC 내의 모든 회로 부품들을 스캔하고, 설계된 IC 내의 회로 부품들이 병렬로 연결되었는지를 결정한다. 디바이스 추출 모듈(115), 연결 식별 모듈(121) 및/또는 RC 추출 모듈(119)은 또한 디바이스 명칭, OD 인덱스 번호 및 다른 LDE 파라미터와 같은 회로 부품 파라미터를 결정한다. IC 설계 플랫폼(103)은 예를 들어, RC 추출 모듈(119)을 통해, 결정된 병렬-연결 정보 및 회로도 네트리스트 및/또는 레이아웃 네트리스트로부터의 회로 부품 파라미터들이 IC 부품 데이터베이스(107) 내에 저장되게 한다. RC 추출 모듈(119)은 동일한 속성 또는 조건을 갖는 설계된 IC의 레이아웃 내의 회로 부품들의 수를 카운트하고, 동일한 속성 또는 조건을 갖는 회로 부품들 사이의 연관을 기술하는 병렬-연결 파라미터를 생성하고, 설계된 IC의 회로 부품들을 기술하는 RC 추출 스테이지에서 레이아웃 네트리스트에 결정된 병렬-연결 파라미터를 어태치하여, 이에 의해 병렬 네트리스트를 생성한다.
프리-레이아웃 및/또는 포스트-레이아웃 시뮬레이션의 정확성을 증가시키기 위해, IC 설계 플랫폼(103) 및 이들의 임의의 모듈은 사전 결정된 경계 내에서 병렬-연결 파라미터를 추출하는 것에 한정되지 않는다. 오히려, IC 설계 플랫폼(103)은, 설계된 IC의 회로 부품들이 얼마나 많이 감쇠되는지에 무관하게, 병렬-파라미터, 뿐만 아니라 회로 부품 파라미터를 추출하도록 구성된다. 이는 하나 이상의 회로 부품들이 서로로부터 얼마나 멀리 이격되는지에 무관하게, LED 효과를 결정하고 그리고/또는 설계된 IC의 성능 시뮬레이션을 행할 때 이들 사이의 병렬 연결이 고려되어야 하기 때문이다.
도 2는 하나 이상의 실시예에 따른 병렬-연결 회로 부품을 갖는 설계된 IC(200)의 다이어그램이다.
설계된 IC(200)는 본 예시적인 실시예에서, 회로 부품(M1, M2, M3, M4, M5, M6, M7)을 포함한다. 회로 부품(M1, M2, M3, M4, M5)은 병렬로 연결되어 제1 병렬-연결 그룹(201)을 형성한다. 회로 부품(M6, M7)은 병렬로 연결되어 제2 병렬-연결 그룹(203)을 형성한다.
IC 설계 플랫폼(103)(도 1)은 설계된 IC(200)의 회로 부품 파라미터를 결정하고, 설계된 IC(200)의 회로 부품들(M1 내지 M7) 사이의 병렬-연결 관계를 기술하는 회로 부품들(M1 내지 M7)과 연관된 병렬-연결 파라미터를 결정한다.
도 3은 하나 이상의 실시예에 따른 병렬-연결 회로 부품들로부터 병렬-연결 파라미터를 추출하는 방법(300)의 흐름도이다.
방법(300)은 IC 설계 플랫폼(103)이 설계된 IC의 회로도를 생성하고, 회로도 내에 포함된 회로 부품들을 기술하는 회로도 네트리스트를 생성하는 단계 301로 시작한다. 단계 303에서, IC 설계 플랫폼(103)은 설계된 IC의 레이아웃 및 레이아웃 내의 회로 부품들을 기술하는 레이아웃 네트리스트를 생성한다. 단계 305에서, IC 설계 플랫폼(103)은 회로도 또는 레이아웃으로부터 회로 부품 파라미터 및/또는 연결 파라미터를 추출한다. 단계 307에서, IC 플랫폼(103)은 설계된 IC 내에 포함된 회로 부품들 사이의 병렬 연결들을 기술하는 병렬-연결 파라미터를 추출하고, LVS 툴을 사용하여 병렬 네트리스트를 생성한다. 병렬-연결 파라미터는 IC 설계 플랫폼(103)에 의해 생성된 회로도 네트리스트 또는 레이아웃 네트리스트 중 하나 이상에 기초하여 결정된다. 단계 309에서, IC 설계 플랫폼(103)은 설계된 IC 내의 회로 부품들과 연관된 RC 값들을 추출한다. 단계 311에서, IC 설계 플랫폼(103)은 병렬-연결 파라미터를 고려하여 설계된 IC 상에 성능 시뮬레이션을 행한다.
도 4는 하나 이상의 실시예에 따른 병렬-연결 회로 부품들로부터 병렬-연결 파라미터를 추출하는 방법(400)의 흐름도이다.
방법(400)은 IC 설계 플랫폼(103)은 설계된 IC의 회로도를 생성하고 회로도 내에 포함된 회로 부품들을 기술하는 회로도 네트리스트를 생성하는 단계 401로 시작한다. 단계 403에서, IC 설계 플랫폼(103)은 설계된 IC의 레이아웃 및 레이아웃 내의 회로 부품들을 기술하는 레이아웃 네트리스트를 생성한다. 예를 들어, 이 스테이지에서 레이아웃 네트리스트는 이하와 같다:
M1 D G S B nch L=4e-08 W=3e-07 ... net_d=20712 net_g=30589
net_s=20717 net_b=67605 od_id=5855
단계 405에서, IC 설계 플랫폼(103)은 회로도 또는 레이아웃으로부터 회로 부품 파라미터 및/또는 연결 파라미터를 추출한다. 단계 407에서, IC 플랫폼(103)은 회로 부품들을 기술하는 네트 ID 및 다각형 ID를 추출한다. 단계 409에서, IC 설계 플랫폼(103)은 설계된 IC 내의 회로 부품들과 연관된 RC 값을 추출한다. IC 설계 플랫폼(103)은 이 스테이지에서, 추출된 RC 값을 반영하기 위해 레이아웃 네트리스트를 업데이트한다. 레이아웃 네트리스트는 이 스테이지에서 이하와 같이 나타난다:
M1 M1:DRN M1:GATE M1:SRC M1:BULK nch L=4e-08 W=3e-07 ....
net_d=20712 net_g=30589 net_s=20717 net_b=67605 od_id=5855
단계 411에서, IC 설계 플랫폼(103)은 설계된 IC 내에 포함된 회로 부품들 사이의 병렬 연결들을 기술하는 병렬-연결 파라미터를 결정하고, 추출된 네트 ID 및 다각형 ID를 병렬-연결 파라미터로 대체함으로써 병렬 네트리스트를 생성한다. 병렬-연결 파라미터는 RC 추출 후에 IC 설계 플랫폼(103)에 의해 생성된 레이아웃 네트리스트에 기초하여 결정된다. 병렬 네트리스트는 이 스테이지에서 이하와 같이 나타난다:
M1 M1:DRN M1:GATE M1:SRC M1:BULK nch L=4e-08 W=3e-07 ....
_total=20 _od=4
단계 413에서, IC 설계 플랫폼(103)은 병렬-연결 파라미터를 고려하여 설계된 IC 상에 성능 시뮬레이션을 행한다.
도 5는 하나 이상의 실시예에 따른, 병렬-연결 회로 부품들로부터 병렬-연결 파라미터를 추출하는 방법(500)의 흐름도이다.
방법(500)은 IC 설계 플랫폼(103)이 설계된 IC의 회로도를 생성하고 회로도 내에 포함된 회로 부품들을 기술하는 회로도 네트리스트를 생성하는 단계 501에서 시작한다. 예를 들어, 회로도 네트리스트는 이하와 같이 회로 부품들의 기술을 포함한다:
M1 multi=3
단계 503에서, IC 설계 플랫폼(103)은 설계된 IC의 레이아웃 및 레이아웃 내의 회로 부품들을 기술하는 레이아웃 네트리스트를 생성한다. 예를 들어, 레이아웃 네트리스트는 이 스테이지에서 이하와 같이 회로 부품들의 기술을 포함한다:
M1
M2
M3
단계 505에서, IC 설계 플랫폼(103)은 회로 부품 파라미터 및/또는 연결 파라미터를 회로도 또는 레이아웃으로부터 추출한다. 단계 507에서, IC 설계 플랫폼(103)은 설계된 IC 내의 회로 부품들과 연관된 RC 값을 추출한다. IC 설계 플랫폼(103)은 이 스테이지에서, 추출된 RC 값을 반영하기 위해 레이아웃 네트리스트를 업데이트한다. 단계 509에서, IC 설계 플랫폼(103)은 설계된 IC 내의 회로 부품들 사이에 상관이 존재하는지를 결정하기 위해 회로도 네트리스트 내의 회로 부품들과 레이아웃 네트리스트 내의 회로 부품들을 상호 참조한다. 단계 511에서, IC 설계 플랫폼(103)은 상호 참조에 기초하여 회로 부품들 사이의 병렬 연결을 기술하는 병렬-연결 파라미터를 결정하고, 병렬-연결 파라미터를 갖는 회로 부품들 사이의 연관 또는 병렬 연결을 기술하는 상이한 명명 규칙을 사용하는 명칭으로 레이아웃 네트리스트 내에 사용된 회로 부품 명칭을 대체함으로써 병렬 네트리스트를 생성한다. 병렬 네트리스트는 이 스테이지에서 이하와 같이 회로 부품들의 기술을 포함한다.
M1
M1_1
M1_2
단계 513에서, IC 설계 플랫폼(103)은 병렬-연결 파라미터를 고려하여 설계된 IC 상에 성능 시뮬레이션을 행한다.
도 6은 하나 이상의 실시예에 따른 병렬-연결 회로 부품들로부터 병렬-연결 파라미터를 추출하는 방법(600)의 흐름도이다.
방법(600)은 IC 설계 플랫폼(103)이 설계된 IC의 회로도를 생성하고, 회로도 내에 포함된 회로 부품들을 기술하는 회로도 네트리스트를 생성하는 단계 601로 시작한다. 단계 603에서, IC 설계 플랫폼(103)은 설계된 IC의 레이아웃 및 레이아웃 내의 회로 부품들을 기술하는 레이아웃 네트리스트를 생성한다. 단계 605에서, IC 설계 플랫폼(103)은 회로도 또는 레이아웃으로부터 회로 부품 파라미터 및/또는 연결 파라미터를 추출한다. 단계 607에서, IC 설계 플랫폼(103)은 RC 추출 툴을 사용하여 설계된 IC 내의 회로 부품들과 연관된 RC 값들을 추출한다. 단계 609에서, IC 플랫폼(103)은 설계된 IC 내에 포함된 회로 부품들 사이의 병렬 연결들을 기술하는 병렬-연결 파라미터를 추출하고, RC 추출 툴을 사용하여 병렬 네트리스트를 생성한다. 병렬-연결 파라미터는 IC 설계 플랫폼(103)에 의해 생성된 회로도 네트리스트 또는 레이아웃 네트리스트 중 하나 이상에 기초하여 결정된다. 단계 311에서, IC 설계 플랫폼(103)은 병렬-연결 파라미터를 고려하여 설계된 IC 상에 성능 시뮬레이션을 행한다.
도 7은 그 위에 또는 그에 의해 실시예가 구현되는 컴퓨터 또는 프로세서-기반 시스템(700)의 기능 블록 다이어그램이다.
프로세서-기반 시스템(700)은 본 명세서에 설명된 바와 같이, 설계된 IC로부터 병렬-연결 파라미터를 추출하고 병렬-연결 파라미터를 고려하는 설계된 IC의 성능 시뮬레이션을 행하도록 프로그램되고, 예를 들어 버스(701), 프로세서(703) 및 메모리(705) 부품들을 포함한다.
몇몇 실시예에서, 프로세서-기방 시스템은 단일의 "시스템 온 칩"으로서 구현된다. 프로세서-기반 시스템(700) 또는 그 부분은 설계된 IC로부터 병렬-연결 파라미터를 추출하는 단계 및 병렬-연결 파라미터를 고려하는 설계된 IC의 성능 시뮬레이션을 행하는 단계를 수행하기 위한 메커니즘을 구성한다.
몇몇 실시예에서, 프로세서-기반 시스템(700)은 프로세서-기반 시스템(700)의 부품들 사이에 정보 및/또는 명령어를 전달하기 위한 버스(701)와 같은 통신 메커니즘을 포함한다. 프로세서(703)는 실행을 위해 명령어를 얻고 예를 들어 메모리(705) 내에 저장된 명령어를 프로세싱하도록 버스(701)에 연결된다. 몇몇 실시예에서, 프로세서(703)는 또한 하나 이상의 디지털 신호 프로세서(digital signal processor; DSP) 또는 하나 이상의 응용 주문형 집적 회로(application-specific integrated circuit; ASIC)와 같은 특정 프로세싱 기능 및 작업을 수행하기 위한 하나 이상의 특정화된 부품을 수반한다. DSP는 통상적으로 프로세서(703)에 독립적으로 실시간으로 실제 신호(예를 들어, 소리)를 프로세싱하도록 구성된다. 유사하게, ASIC은 더 범용 프로세서에 의해 용이하게 수행되지 않는 특정화된 기능을 수행하도록 구성 가능하다. 본 명세서에 설명된 기능을 수행하는 것을 보조하기 위한 다른 특정화된 부품들은 선택적으로 하나 이상의 필드 프로그램가능 게이트 어레이(field programmable gate array; FPGA), 하나 이상의 제어기, 또는 하나 이상의 다른 특정-용도 컴퓨터 칩을 포함한다.
하나 이상의 실시예에서, 프로세서(또는 다중 프로세서)(703)(는 설계된 IC로부터 병렬-연결 파라미터를 추출하는 것 및 병렬-연결 파라미터를 고려하는 설계된 IC의 성능 시뮬레이션을 행하는 것과 관련된, 메모리(705) 내에 저장된 명령어의 세트에 의해 지정된 바와 같은 정보에 동작의 세트를 수행한다. 명령어의 실행은 프로세서가 지정된 기능을 수행하게 한다.
프로세서(703) 및 부속 부품은 버스(701)를 거쳐 메모리(705)에 연결된다. 메모리(705)는 실행시에 설계된 IC로부터 병렬-연결 파라미터를 추출하고 병렬-연결 파라미터를 고려하는 설계된 IC의 성능 시뮬레이션을 행하기 위해 본 명세서에 설명된 단계들을 수행하는 실행 가능한 명령어를 저장하기 위한 동적 메모리(예를 들어, RAM, 자기 디스크, 기록 가능 광학 디스크 등) 및 정적 메모리(예를 들어, ROM, CD-ROM 등) 중 하나 이상을 포함한다. 메모리(705)는 또한 단계들의 실행과 연관되거나 단계들의 실행에 의해 생성된 데이터를 저장한다.
하나 이상의 실시예에서, 랜덤 액세스 메모리(RAM) 또는 임의의 다른 동적 저장 디바이스와 같은 메모리(705)는 설계된 IC로부터 병렬-연결 파라미터를 추출하고 병렬-연결 파라미터를 고려하는 설계된 IC의 성능 시뮬레이션을 수행하기 위한 프로세서 명령어를 포함하는 정보를 저장한다. 동적 메모리는 그 내부에 저장된 정보가 시스템(100)에 의해 변경되게 한다. RAM은 메모리 어드레스라 칭하는 위치에 저장된 정보의 유닛이 이웃 어드레스에서의 정보에 독립적으로 저장되고 검색되게 한다. 메모리(705)는 또한 프로세서 명령어의 실행 중에 일시적인 값을 저장하기 위해 프로세서(703)에 의해 사용된다. 다양한 실시예에서, 메모리(705)는 판독 전용 메모리(ROM) 또는 시스템(100)에 의해 변경되지 않는 명령어를 포함하는 정적 정보를 저장하기 위해 버스(701)에 결합된 임의의 다른 정적 저장 디바이스이다. 몇몇 메모리는 전력이 손실될 때 그 위에 저장된 정보를 손실하는 휘발성 저장 장치로 구성된다. 몇몇 실시예에서, 메모리(705)는 시스템(100)이 턴오프될 때 또는 다른 방식으로 전력을 손실할 때에도 지속되는 명령어를 포함하는 정보를 저장하기 위한, 자기 디스크, 광학 디스크 또는 플래시 카드와 같은 비휘발성(지속적) 저장 디바이스이다.
용어 "컴퓨터-판독가능 매체"는 본 명세서에 사용될 때, 실행을 위한 명령어를 포함하는, 정보를 프로세서(703)에 제공하는 것에 참여하는 임의의 매체를 칭한다. 이러한 매체는 이에 한정되는 것은 아니지만, 컴퓨터-판독가능 저장 매체(예를 들어, 비휘발성 매체, 휘발성 매체)를 포함하는 다수의 형태를 취한다. 비휘발성 매체는 예를 들어 광학 또는 자기 디스크를 포함한다. 휘발성 매체는 예를 들어 동적 메모리를 포함한다. 통상의 형태의 컴퓨터-판독가능 매체는 예를 들어, 플로피 디스크, 가요성 디스크, 하드 디스크, 자기 테이프, 다른 자기 매체, CD-ROM, CDRW, DVD, 다른 광학 매체, 천공 카드, 페이퍼 테이프, 광학 마크 시트, 구멍의 패턴 또는 다른 광학적으로 인식 가능한 표지(indicia)를 갖는 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, EEPROM, 플래시 메모리, 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 다른 매체를 포함한다. 용어 컴퓨터-판독가능 저장 매체는 컴퓨터-판독가능 매체를 칭하도록 본 명세서에서 사용된다.
본 발명의 양태는 프로세서에 의해 수행된 집적 회로 설계 방법에 관한 것이다. 방법은 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여 집적 회로(IC)의 회로 부품들과 연관된 병렬-연결 파라미터를 추출하는 것을 포함한다. 방법은 또한 회로 부품들을 기술하는 병렬 네트리스트를 생성하는 것을 포함하고, 병렬 네트리스트는 병렬-연결 파라미터를 포함한다.
본 발명의 다른 양태는 적어도 하나의 프로세서 및 하나 이상의 프로그램을 위한 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치에 관한 것이다. 적어도 하나의 프로세서는 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여, 프로세서가 집적 회로(IC)의 회로 부품들과 연관된 병렬-연결 파라미터를 추출하게 하기 위한 명령어를 적어도 하나의 메모리로부터 실행하도록 구성된다. 장치는 또한 회로 부품들을 기술하는 병렬 네트리스트를 생성하게 되고, 병렬 네트리스트는 병렬-연결 파라미터를 포함한다.
본 발명의 다른 양태는 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여, 프로세서에 의해 실행될 때, 프로세서가 집적 회로(IC)의 회로 부품들과 연관된 병렬-연결 파라미터를 추출하게 하는 컴퓨터-판독가능 명령어를 수행하는 비일시적 컴퓨터-판독가능 저장 매체에 관한 것이다. 프로세서는 또한 회로 부품들을 기술하는 병렬 네트리스트를 생성하게 되고, 병렬 네트리스트는 병렬-연결 파라미터를 포함한다.
상기에는 당 기술 분야의 숙련자들이 본 발명의 양태를 더 양호하게 이해할 수도 있도록 다수의 실시예의 특징들을 개략 설명하였다. 당 기술 분야의 숙련자들은 이들이 본 명세서에 소개된 실시예의 동일한 목적을 수행하기 위해 그리고/또는 동일한 장점을 성취하기 위해 다른 프로세스 및 구조체를 설계하거나 수정하기 위한 기초로서 본 발명을 즉시 사용할 수도 있다는 것을 이해할 수 있을 것이다. 당 기술 분야의 숙련자들은 또한 이러한 등가의 구성이 본 발명의 사상 및 범주로부터 벗어나지 않고, 본 발명의 사상 및 범주로부터 벗어나지 않고 본 명세서의 다양한 변화, 치환 및 변경을 행할 수도 있다는 것을 또한 이해할 수 있을 것이다.
101: 사용자 장비(UE) 103: IC 설계 플랫폼
107: IC 부품 데이터베이스 109: 디스플레이
111: 사용자 인터페이스 113: 회로도 생성 모듈,
115: 디바이스 추출 모듈 117: LVS 검사 모듈
119: RC 추출 모듈 121: 연결 식별 모듈
123: 시뮬레이션/검사 모듈 125: 레이아웃 생성 모듈
127: 통신 모듈 129: 제어 로직
131: 디바이스 저장 장치 133: 회로도 저장 장치
135: 레이아웃 저장 장치 701: 버스
703: 프로세서 705: 메모리

Claims (10)

  1. 프로세서에 의해 수행되는 집적 회로 설계 방법에 있어서,
    집적 회로(integrated circuit; IC)의 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여 상기 회로 부품들과 연관된 병렬-연결 파라미터들을 추출하는 단계;
    상기 IC의 회로도(schematic), 상기 IC의 회로도 네트리스트, 상기 IC의 레이아웃, 또는 상기 IC의 레이아웃 네트리스트 중 하나 내의 상기 회로 부품들을 스캐닝하여 상기 회로 부품들과 연관된 회로 부품 파라미터들을 결정하는 단계; 및
    상기 회로 부품들을 기술(describe)하는 병렬 네트리스트(netlist)를 생성하는 단계를
    포함하고,
    상기 회로 부품 파라미터들은 산화물 정의 인덱스 번호(oxide definition index number)를 포함하고, 상기 산화물 정의 인덱스 번호는 상기 IC에 포함된 하나 이상의 산화물 정의층들 중에서 상기 회로 부품들의 각각이 어떠한 산화물 정의층 위에 놓여있는지를 표시하며, 상기 병렬 네트리스트는 상기 병렬-연결 파라미터들과 상기 회로 부품 파라미터들을 포함하는 것인, 집적 회로 설계 방법.
  2. 제1항에 있어서,
    상기 회로 부품 파라미터들은 또한, 상기 회로 부품의 디바이스 명칭, 네트 식별 번호, 다각형 식별 번호, 길이, 또는 폭 중 하나 이상을 포함하고,
    상기 회로 부품들은 상기 스캐닝에 기초하여 병렬로 연결되는 것으로 결정되며,
    상기 병렬-연결 파라미터들은 하나 이상의 상기 회로도 네트리스트 또는 상기 레이아웃 네트리스트에 추가되어, 상기 회로 부품 파라미터들을 결정한 후에 상기 병렬 네트리스트를 생성하는 것인, 집적 회로 설계 방법.
  3. 제1항에 있어서, 단일의 툴(tool)이 상기 병렬-연결 파라미터들을 결정하고, 상기 단일의 툴이 상기 병렬 네트리스트를 생성하는 것인, 집적 회로 설계 방법.
  4. 제3항에 있어서, 상기 단일의 툴은 하나 이상의 상기 레이아웃 네트리스트 또는 상기 병렬 네트리스트와 상기 회로도 네트리스트를 비교하도록 구성된 레이아웃 대 회로도 툴인 것인, 집적 회로 설계 방법.
  5. 제1항에 있어서,
    저항 커패시턴스(resistive capacitance; RC) 추출 툴은 상기 병렬-연결 파라미터들을 결정하고 상기 병렬 네트리스트를 생성하며,
    상기 RC 추출 툴은 상기 회로 부품들과 연관된 RC 값들을 결정하도록 구성되고,
    상기 RC 추출 툴은 상기 병렬-연결 파라미터들을 결정하기 위해 상기 산화물 정의 인덱스 번호를 사용하며,
    상기 RC 추출 툴은 상기 산화물 정의 인덱스 번호에 기초하여 상기 병렬 네트리스트를 생성하는 것인, 집적 회로 설계 방법.
  6. 제1항에 있어서, 상기 스캐닝은 제1 스캔 및 제2 스캔을 포함하고, 상기 제1 스캔은 상기 회로 부품 파라미터들을 결정하기 위해 제1 툴에 의해 수행되고, 상기 제2 스캔은 상기 회로 부품들이 병렬로 연결되어 있다는 것을 결정하기 위해 상기 제1 툴과는 상이한 제2 툴에 의해 수행되며,
    상기 방법은,
    상기 제1 툴을 사용하여, 네트 식별 번호 및 다각형 식별 번호를 포함하는 상기 레이아웃 네트리스트를 생성하는 단계; 및
    상기 제2 툴을 사용하여, 상기 레이아웃 네트리스트로부터 상기 네트 식별 번호 및 상기 다각형 식별 번호를 제거하는 단계를
    더 포함하고,
    상기 제2 툴은 상기 제거된 네트 식별 번호 및 상기 제거된 다각형 식별 번호 대신에 상기 레이아웃 네트리스트에 병렬-연결 파라미터들을 추가함으로써 상기 병렬 네트리스트를 생성하는 것인, 집적 회로 설계 방법.
  7. 제1항에 있어서,
    제1 툴을 사용하여, 상기 IC의 회로도 표현 내에 포함된 상기 회로 부품들을 기술하는, 상기 IC의 회로도 네트리스트를 생성하는 단계;
    제2 툴을 사용하여, 제1 명명 규칙(naming convention)을 사용하여 상기 IC의 레이아웃 표현 내에 포함된 상기 회로 부품들을 기술하는, 상기 IC의 레이아웃 네트리스트를 생성하는 단계; 및
    제3 툴을 사용하여, 연관되어 있는 상기 IC의 상기 레이아웃 표현 내에 포함된 상기 회로 부품들을 결정하기 위해 상기 회로도 네트리스트를 상기 레이아웃 네트리스트와 상호 참조하는 단계를
    포함하고,
    상기 회로 부품들이 병렬로 연결되어 있다는 결정은 상기 회로 부품들 사이의 결정된 연관에 기초하고,
    상기 제3 툴은 상기 회로 부품들이 병렬로 연결되어 있다는 것을 표시하는, 제2 명명 규칙을 사용하여 상기 회로 부품들을 함께 묶는(tie) 상기 레이아웃 네트리스트 내에 포함된 상기 회로 부품들을 기술함으로써 상기 병렬 네트리스트를 생성하며, 상기 제2 명명 규칙은 병렬-연결 파라미터들을 포함하는 것인, 집적 회로 설계 방법.
  8. 제1항에 있어서,
    상기 IC 상에서 SPICE(Simulation Program with Integrated Circuit Emphasis) 시뮬레이션을 수행하는 단계를 더 포함하고, 상기 SPICE 시뮬레이션은 상기 병렬-연결 파라미터들을 고려하여 상기 IC의 성능의 레벨을 결정하는 것인, 집적 회로 설계 방법.
  9. 장치에 있어서,
    적어도 하나의 프로세서; 및
    하나 이상의 프로그램을 위한 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를
    포함하고,
    상기 적어도 하나의 프로세서는 상기 장치로 하여금,
    집적 회로(integrated circuit; IC)의 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여 상기 회로 부품들과 연관된 병렬-연결 파라미터들을 추출하고;
    상기 IC의 회로도(schematic), 상기 IC의 회로도 네트리스트, 상기 IC의 레이아웃, 또는 상기 IC의 레이아웃 네트리스트 중 하나 내의 상기 회로 부품들을 스캐닝하여 상기 회로 부품들과 연관된 회로 부품 파라미터들을 결정하며;
    상기 회로 부품들을 기술하되 상기 병렬-연결 파라미터들과 상기 회로 부품 파라미터들을 포함하는 병렬 네트리스트를 생성하게 하기 위해
    상기 적어도 하나의 메모리로부터의 명령어를 실행하도록 구성되고,
    상기 회로 부품 파라미터들은 산화물 정의 인덱스 번호(oxide definition index number)를 포함하고, 상기 산화물 정의 인덱스 번호는 상기 IC에 포함된 하나 이상의 산화물 정의층들 중에서 상기 회로 부품들의 각각이 어떠한 산화물 정의층 위에 놓여있는지를 표시하는 것인, 장치.
  10. 컴퓨터 판독가능 명령어들을 포함하는 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 판독가능 명령어들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    집적 회로(integrated circuit; IC)의 회로 부품들이 병렬로 연결되어 있다는 결정에 기초하여 상기 회로 부품들과 연관된 병렬-연결 파라미터들을 추출하고;
    상기 병렬-연결 파라미터들을 포함하는 상기 회로 부품들을 기술하는 병렬 네트리스트를 생성하고;
    제1 툴을 사용하여, 상기 IC의 회로도 표현 내에 포함된 상기 회로 부품들을 기술하는 상기 IC의 회로도 네트리스트를 생성하고;
    제2 툴을 사용하여, 제1 명명 규칙(naming convention)을 사용하여 상기 IC의 레이아웃 표현 내에 포함된 상기 회로 부품들을 기술하는 상기 IC의 레이아웃 네트리스트를 생성하고;
    제3 툴을 사용하여, 연관되어 있는 상기 IC의 상기 레이아웃 표현 내에 포함된 상기 회로 부품들을 결정하기 위해 상기 회로도 네트리스트를 상기 레이아웃 네트리스트와 상호 참조하게 하고,
    상기 회로 부품들이 병렬로 연결되어 있다는 결정은 상기 회로 부품들 사이의 결정된 연관에 기초하고,
    상기 회로 부품들이 병렬로 연결되어 있다는 것을 표시하는, 제2 명명 규칙을 사용하여 상기 회로 부품들을 함께 묶는(tie) 상기 레이아웃 네트리스트 내에 포함된 상기 회로 부품들을 기술함으로써 상기 병렬 네트리스트가 생성되고, 상기 제2 명명 규칙은 병렬-연결 파라미터들을 포함하는 것인,
    비일시적 컴퓨터 판독가능 저장 매체.
KR1020140158939A 2014-03-21 2014-11-14 집적 회로 설계 방법 및 장치 KR101679920B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461968704P 2014-03-21 2014-03-21
US61/968,704 2014-03-21
US14/258,332 US9342647B2 (en) 2014-03-21 2014-04-22 Integrated circuit design method and apparatus
US14/258,332 2014-04-22

Publications (2)

Publication Number Publication Date
KR20150110279A KR20150110279A (ko) 2015-10-02
KR101679920B1 true KR101679920B1 (ko) 2016-11-25

Family

ID=54142364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140158939A KR101679920B1 (ko) 2014-03-21 2014-11-14 집적 회로 설계 방법 및 장치

Country Status (2)

Country Link
US (1) US9342647B2 (ko)
KR (1) KR101679920B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210018019A (ko) * 2019-08-07 2021-02-17 주식회사 히타치하이테크 전기 특성을 도출하는 시스템 및 비일시적 컴퓨터 가독 매체
KR20220050017A (ko) * 2020-10-15 2022-04-22 (주)큐랩스 설계된 회로도에서의 회로 및 부품 검증 시스템 및 방법
WO2023158579A1 (en) * 2022-02-16 2023-08-24 X Development Llc Integrated circuit interconnect shape optimizer

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372867B2 (en) * 2014-09-02 2019-08-06 Synopsys, Inc. In-design real-time electrical impact verification flow
US10127338B2 (en) * 2015-12-15 2018-11-13 Taiwan Semiconductor Manufacturing Company Ltd. System, method and associated computer readable medium for designing integrated circuit with pre-layout RC information
US10817637B2 (en) 2016-07-29 2020-10-27 Samsung Electronics Co., Ltd. System and method of designing integrated circuit by considering local layout effect
US10599130B2 (en) 2017-01-26 2020-03-24 Samsung Electronics Co., Ltd. Method and system for manufacturing an integrated circuit in consideration of a local layout effect
EP3385735B1 (en) * 2017-04-04 2019-12-04 Secure-IC SAS Device and method for detecting points of failures
US10248747B1 (en) * 2017-05-05 2019-04-02 Cadence Design Systems, Inc. Integrated circuit simulation with data persistency for efficient memory usage
US10678978B1 (en) 2017-09-30 2020-06-09 Cadence Design Systems, Inc. Methods, systems, and computer program product for binding and back annotating an electronic design with a schematic driven extracted view
US10467370B1 (en) 2017-09-30 2019-11-05 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing a net as a transmission line model in a schematic driven extracted view for an electronic design
US10558780B1 (en) * 2017-09-30 2020-02-11 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing schematic driven extracted views for an electronic design
US10528688B1 (en) * 2017-12-18 2020-01-07 Cadence Design Systems, Inc. System and method for schematic-driven generation of input/output models
US20200410153A1 (en) 2019-05-30 2020-12-31 Celera, Inc. Automated circuit generation
US10997333B1 (en) 2019-12-05 2021-05-04 Cadence Design Systems, Inc. Methods, systems, and computer program product for characterizing an electronic design with a schematic driven extracted view
CN112270146B (zh) * 2020-10-28 2024-05-24 中国科学院微电子研究所 工艺设计工具包开发方法、装置、电子设备及存储介质
CN112632896A (zh) * 2020-12-22 2021-04-09 美唐科技(江苏)有限公司 一种核心板布局方法
CN114201942B (zh) * 2022-02-18 2022-05-13 深圳佑驾创新科技有限公司 一种电路原理图中电容参数的自动检查方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092062A (ja) * 2000-09-13 2002-03-29 Yamaha Corp 集積回路設計装置及び方法並びにそのプログラムを記憶した記憶媒体
JP4973572B2 (ja) * 2008-03-28 2012-07-11 富士通セミコンダクター株式会社 半導体回路の設計方法および製造方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084824A (en) * 1990-03-29 1992-01-28 National Semiconductor Corporation Simulation model generation from a physical data base of a combinatorial circuit
JP2004165572A (ja) 2002-11-15 2004-06-10 Sanyo Electric Co Ltd 半導体集積回路のレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラム
US7243317B2 (en) * 2003-05-30 2007-07-10 Illinios Institute Of Technology Parameter checking method for on-chip ESD protection circuit physical design layout verification
JP4016005B2 (ja) * 2004-02-09 2007-12-05 松下電器産業株式会社 抵抗値計算方法
US7139990B2 (en) * 2004-03-23 2006-11-21 International Business Machines Corporation Method of checking the layout versus the schematic of multi-fingered MOS transistor layouts using a sub-circuit based extraction
KR20110106709A (ko) * 2010-03-23 2011-09-29 삼성전자주식회사 레이아웃 검사 방법
JP5699768B2 (ja) 2011-04-13 2015-04-15 富士電機株式会社 回路シミュレーション方法および回路シミュレーション装置
US8813004B1 (en) * 2012-11-21 2014-08-19 Cadence Design Systems, Inc. Analog fault visualization system and method for circuit designs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092062A (ja) * 2000-09-13 2002-03-29 Yamaha Corp 集積回路設計装置及び方法並びにそのプログラムを記憶した記憶媒体
JP4973572B2 (ja) * 2008-03-28 2012-07-11 富士通セミコンダクター株式会社 半導体回路の設計方法および製造方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210018019A (ko) * 2019-08-07 2021-02-17 주식회사 히타치하이테크 전기 특성을 도출하는 시스템 및 비일시적 컴퓨터 가독 매체
KR102333578B1 (ko) 2019-08-07 2021-12-01 주식회사 히타치하이테크 전기 특성을 도출하는 시스템 및 비일시적 컴퓨터 가독 매체
KR20210146855A (ko) * 2019-08-07 2021-12-06 주식회사 히타치하이테크 전기 특성을 도출하는 시스템 및 비일시적 컴퓨터 가독 매체
KR102508703B1 (ko) * 2019-08-07 2023-03-14 주식회사 히타치하이테크 전기 특성을 도출하는 시스템 및 비일시적 컴퓨터 가독 매체
KR20220050017A (ko) * 2020-10-15 2022-04-22 (주)큐랩스 설계된 회로도에서의 회로 및 부품 검증 시스템 및 방법
KR102486624B1 (ko) 2020-10-15 2023-01-11 (주)큐랩스 설계된 회로도에서의 회로 및 부품 검증 시스템 및 방법
WO2023158579A1 (en) * 2022-02-16 2023-08-24 X Development Llc Integrated circuit interconnect shape optimizer

Also Published As

Publication number Publication date
US9342647B2 (en) 2016-05-17
US20150269305A1 (en) 2015-09-24
KR20150110279A (ko) 2015-10-02

Similar Documents

Publication Publication Date Title
KR101679920B1 (ko) 집적 회로 설계 방법 및 장치
US9665676B2 (en) Integrated circuit design system
US11487924B2 (en) System, method and associated computer readable medium for designing integrated circuit with pre-layout RC information
US9418200B2 (en) Integrated circuit design system and method of generating proposed device array layout
US9773089B2 (en) Integrated circuit design method and system with color-coded components
US8806414B2 (en) Method and system for layout parasitic estimation
KR102165943B1 (ko) 기계 학습 디자인 구현 플랫폼
US9122833B2 (en) Method of designing fin field effect transistor (FinFET)-based circuit and system for implementing the same
US20080127020A1 (en) System and method for automatic elimination of voltage drop, also known as IR drop, violations of a mask layout block, maintaining the process design rules correctness
CN104933214A (zh) 集成电路设计方法和装置
JP2005158075A (ja) 相互接続対応の集積回路設計
US9996643B2 (en) Integrated circuit modeling method using resistive capacitance information
US8984468B1 (en) Method to adaptively calculate resistor mesh in IC designs
zu Bexten et al. Physical verification flow for hierarchical analog ic design constraints
JP4080464B2 (ja) 検証ベクタ生成方法およびこれを用いた電子回路の検証方法
US20090222784A1 (en) Design method estimating signal delay time with netlist in light of terminal line in macro, and program
Lienig et al. Steps in Physical Design: From Netlist Generation to Layout Post Processing
KR100567069B1 (ko) 반도체 장치의 설계 방법
US8438526B2 (en) Method for minimizing transistor and analog component variation in CMOS processes through design rule restrictions
Srinivasan et al. A new approach using symbolic analysis to compute path-dependent effective properties preserving hierarchy
JP2004302499A (ja) 半導体集積回路のシミュレーション方法
JP2016058579A (ja) 寄生素子抽出装置及び方法、並びに寄生素子抽出プログラム
JP2014149700A (ja) シミュレーション装置およびシミュレーション方法
JP2014137656A (ja) 回路シミュレーション装置
JP2014126897A (ja) シミュレーション装置およびシミュレーション方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant