KR20110022790A - 집적 회로의 시뮬레이션 방법 - Google Patents
집적 회로의 시뮬레이션 방법 Download PDFInfo
- Publication number
- KR20110022790A KR20110022790A KR1020090080220A KR20090080220A KR20110022790A KR 20110022790 A KR20110022790 A KR 20110022790A KR 1020090080220 A KR1020090080220 A KR 1020090080220A KR 20090080220 A KR20090080220 A KR 20090080220A KR 20110022790 A KR20110022790 A KR 20110022790A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- event
- integrated circuit
- flip
- flop
- Prior art date
Links
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/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
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
집적 회로의 시뮬레이션 방법이 개시된다. 본 발명에 따른 집적 회로의 시뮬레이션 방법은, 주기적으로 반복되는 신호의 소스로부터 각 플립플롭까지의 딜레이 값을 정적 타이밍 해석을 이용하여 계산하여 저장하는 딜레이 저장 단계; 및 상기 집적 회로를 이벤트 구동 방식을 이용하여 시뮬레이션하는 단계로서, 상기 소스로부터 상기 각 플립플롭까지의 사이에서 발생하는 이벤트는 생성하지 않고 상기 저장된 딜레이 값을 사용하여 분석하는 시뮬레이션 단계를 포함하는 것을 특징으로 한다. 이러한 본 발명에 의하면 이벤트 구동 방식의 정확도를 유지하면서, 정적 타이밍 해석을 결합하여 동작 소요 시간을 단축시킬 수 있다.
집적 회로 시뮬레이션, 이벤트 구동 방식, 정적 타이밍 해석
Description
본 발명은 집적 회로의 시뮬레이션 방법에 관한 것으로 보다 상세하게는 동적 타이밍 분석과 정적 타이밍 분석을 결합하여 동작 소요 시간을 단축시킬 수 있는 집적 회로의 시뮬레이션 방법에 관한 것이다.
일반적으로 집적회로 (integrated circuit; IC)의 설계가 완료된 후, 당초 계획했던 사양과 동일하게 구현되었는지 여부를 판단하기 위하여 모의실험(시뮬레이션, simulation)과정을 거치게 된다. 이러한 시뮬레이션 방법은 회로의 동작특성을 웨이퍼를 재작하기 전에 저비용으로 미리 점검해 볼 수 있다는 장점이 있다.
모의실험 중 포스트 레이아웃(Post-layout) 게이트 레벨 시뮬레이션은 긴 분석 시간을 필요로 한다. 특히, 이벤트 구동 방식(event-driven method)은 다양한 케이스들을 진행 시간에 따라 비교 및 분석을 하여야 하기 때문에 복잡도가 높고 그에 따라 많은 시간이 소요되게 된다. 대안적인 방법으로 정적 분석 방법(Static Timing Analysis: STA)이 있다.
정적 타이밍 해석(STA)은, 설계된 반도체 메모리 또는 로직에 입출력되는 신호들 사이의 타이밍을 해석하여, 설계된 반도체 회로나 로직이 타이밍에 문제없이 정상적으로 동작될 수 있는가를 테스트하는 것이다. 이와 같은 정적 타이밍 해석(STA)은, 설계된 반도체 회로나 로직이 주어지면, 소정 데이터베이스에 저장되어 있는 각종의 셀들(cells), 즉, 트랜지스터, 게이트 레벨의 셀, 단위 로직(AND, OR 등) 레벨의 셀, 또는 특수 기능(입출력간 딜레이 계산이 어려운 감지 증폭 플립플롭 등)의 셀 등에 대한 딜레이 모델로부터, 그 반도체 회로나 로직에 존재하는 셀들 각각에 대응되는 딜레이 모델들을 추출하여 입출력 신호들 사이의 타이밍을 해석하고, 그 회로나 로직에 존재하는 노드들 사이의 딜레이 값들을 리포트해주는 정적 타이밍 해석(STA) 시뮬레이터에 의한다. 이러한 정적 분석 방법은 분석 시간을 크게 줄일 수 있지만 지나치게 최악의 상황을 가정하기 때문에 회로가 over-design 될 가능성이 크다.
한편, 이벤트 구동 방식(event-driven method)은 발생할 수 있는 모든 이벤트들을 이벤트 휠(event wheel)을 이용하여 스티뮬러스 큐(stimulus queue) 형태로 저장하고 있다가 시간의 진행에 따라 분석하는 방법을 취하고 있다. 이벤트 구동 방식은 정적 타이밍 해석에 비하여 더 높은 정확도를 가지고 있지만 모든 이벤트를 분석해야 하기 때문에 동작 소요 시간이 너무 길다는 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는 이벤트 구동 방식과 정적 타이밍 해석을 결합하여 동작 소요 시간을 단축시킬 수 있는 집적 회로의 시뮬레이션 방법을 제공하는 데 있다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 집적 회로의 시뮬레이션 방법은, 주기적으로 반복되는 신호의 소스로부터 각 플립플롭까지의 딜레이 값을 정적 타이밍 해석을 이용하여 계산하여 저장하는 딜레이 저장 단계; 및 상기 집적 회로를 이벤트 구동 방식을 이용하여 시뮬레이션하는 단계로서, 상기 소스로부터 상기 각 플립플롭까지의 사이에서 발생하는 이벤트는 생성하지 않고 상기 저장된 딜레이 값을 사용하여 분석하는 시뮬레이션 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 주기적으로 반복되는 신호는 클럭 신호이고, 상기 소스는 클럭 소스일 수 있다.
또한, 상기 딜레이 저장 단계 이전에, 상기 집적 회로의 레이아웃을 클럭 네트워크와 비클럭 네트워크로 분할하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위하여 상기된 본 발명에 따른, 집적 회로 시뮬레이션 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 집적 회로의 시뮬레이션 방법은, 상기 집적 회로에 포함된 플립플롭은 주어진 클럭의 포지티브 에지와 네거티브 에지 중 어느 하나에 반응하고, 상기 포지티브 에지와 네거티브 에지 중 상기 플립플롭이 반응하는 에지에서 발생하는 이벤트는 저장하고, 상기 플립플롭이 반응하지 않는 에지에서는 이벤트를 저장하지 않는 이벤트 처리 과정을 포함하는 것을 특징으로 한다.
여기서, 상기 이벤트 처리 과정은, 클럭과 관련된 이벤트들을 트리거하는 클럭 스케쥴링 휠과, 클럭과 관련되지 않는 이벤트들을 트리거하는 이벤트 휠을 이용하여 이벤트를 처리하는 것을 특징으로 한다.
여기서, 상기 클럭 스케쥴링 휠은, 상기 플립플롭이 반응하는 에지에서 상기 클럭과 관련된 이벤트를 업데이트하여 상태 테이블에 저장하고, 상기 플립플롭이 반응하지 않는 에지에서 이벤트를 업데이트하지 않고 딜레이를 고려하여 상기 상태 테이블을 업데이트한다.
또한, 상기 집적 회로의 디자인이 멀티-클럭 디자인일 때, 상기 클럭 스케쥴링 휠은 추가적인 클럭에 대응하는 트랙을 더 구비할 수 있다.
상기된 본 발명에 의하면 이벤트 구동 방식의 정확도를 유지하면서, 정적 타이밍 해석을 결합하여 동작 소요 시간을 단축시킬 수 있다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한 다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
본 발명의 핵심은 이벤트 구동 방식과 정적 타이밍 해석을 결합하는 것이다. 주기적으로 반복되는 신호, 예컨대 클럭 신호가 주기적으로 반복되면서 발생하는 클럭 관련 이벤트 시뮬레이션의 수를 줄임으로서 시뮬레이션에 소요되는 시간을 획기적으로 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 집적 회로의 시뮬레이션 방법을 나타낸 흐름도이다.
110단계에서, 집적 회로의 회로 레이아웃을 입력받는다. 회로 레이아웃에는 회로 연결 정보가 포함되어 있다. 그리고 입력받은 회로 레이아웃으로부터 RC 정보를 추출하고, 딜레이 정보를 계산할 수 있다.
120단계에서, 회로 레이아웃을 클럭 네트워크(clock-network)와 비클럭 네트워크(non-clock-network)로 분할한다. 클럭 네트워크는 클럭 소스로부터 각 플립플롭까지의 부분을 의미하며, 비클럭 네트워크는 클럭 네트워크를 제외한 부분을 의미한다. 회로 레이아웃을 클럭 네트워크와 비클럭 네트워크로 분할하는 이유는, 비클럭 네트워크 부분은 이벤트 구동 방식으로 시뮬레이션하고, 클럭 네트워크 부분은 정적 타이밍 해석을 이용하여 미리 해석하기 위함이다.
본 실시예는 적용 범위가 포스트 레이아웃 시뮬레이션이라는 것과 관계가 있 다. 회로 설계 과정 중 플레이스 앤 라우트(Place & Route) 작업을 거치게 되면 각 셀들은 적당한 위치에 배치되며 각 셀들은 각기 역할에 맞게 선들에 연결되게 된다. 이는 클럭 관련 핀들도 예외가 아니다. 클럭 소스는 일반적으로 하나이기 때문에 모든 클럭 핀들과 연결되게 되면 연결 선이 너무 짧거나 길게 되어 동일한 클럭에 동작하지 못하는 문제가 발생하게 된다. 따라서 라우트 과정 중에 클럭 트리 합성(Clock Tree Synthesis: CTS)을 수행하는데, 클럭 트리 합성은 하나의 클럭 소스를 분주하여 각 플립플롭에 동기화된 클럭을 주입하는 방법이다. 이벤트 구동 방식의 경우 매 동작 시마다 클럭 트리를 분석하는데, 이는 매우 큰 오버헤드를 차지한다.
다음으로 130단계에서, 클럭 네트워크에 대하여, 클럭 소스로부터 각 플립플롭까지 도달하는 딜레이 값을 정적 타이밍 해석을 이용하여 계산하여 저장한다.
도 2a는 회로 레이아웃에서의 클럭 네트워크를 도식화한 도면으로서 클럭 트리를 나타낸다. 회로 레이아웃으로부터 추출된 RC 정보를 사용하여, 이 클럭 네트워크에 정적 타이밍 해석을 수행하고, 클럭 네트워크 내에서 클럭 소스로부터 각 플립플롭까지 도달하는 딜레이 값을 계산할 수 있다. 도 2b는 이를 도식화한 도면으로서 클럭 트리의 정적 타이밍 해석을 나타낸다. 계산된 딜레이 값들은 소정 저장수단에 저장된다.
140단계에서, 회로 레이아웃을 이벤트 구동 방식을 이용하여 시뮬레이션하되, 이때 클럭 네트워크 부분은 시뮬레이션 대상에서 제외되며, 상기 130단계에서 저장된 딜레이 값을 참조한다. 즉, 클럭 소스로부터 각 플립플롭까지의 사이에서 발생하는 이벤트는 생성하지 않고 상기 130단계에서 저장된 딜레이 값들을 사용하여 분석한다.
이러한 본 실시예에 의하면, 클럭 소스로부터 각 플립플롭까지에서 발생하는 이벤트들은 시뮬레이션하지 않기 때문에, 클럭 소스와 각 플립플롭 사이의 중간 게이트들에서 발생하는 이벤트들은 생성하지 않아도 되므로, 중간 게이트들에서 발생하는 사건을 매 사이클마다 반복적으로 시뮬레이션해야 하는 일반적인 이벤트 구동 방식에 비하여 동작 속도가 현저히 빨라지게 된다.
도 3은 상기된 실시예에 따른 집적 회로의 시뮬레이션 방법을 도식화한 도면이다. 도 3은 클럭 소스로부터 각 플립플롭 사이의 중간 게이트들에서 발생하는 사건은 시뮬레이션에서 제외되어(shadowed) 있음을 나타낸다. 따라서 본 실시예에 따른 시뮬레이션 방법을 클럭 이벤트 섀도윙(Clock Event Shadowing)이라 명명할 수 있다.
본 발명의 다른 실시예에 의한 집적 회로의 시뮬레이션 방법은, 플립플롭은 주어진 클록의 포지티브 에지(positive edge 또는 rising edge)와 네거티브 에지(negative edge 또는 falling edge) 중 어느 하나에만 반응한다는 사실을 이용하여, 각 플립플롭의 클럭 핀에서 불필요한 클럭 이벤트들을 제거하는 것이다.
일반적인 이벤트 구동 방식에서는, 포지티브 에지와 네거티브 에지 둘 모두를 체크하여 이벤트 큐 (event queue)를 생성한다. 그러나 일반적으로 플립폴롭은 포지티브 에지와 네거티브 에지 중 어느 하나에만 만응한다. 만일 플립플롭이 주어진 클록의 포지티브 에지에서 그 아웃풋이 변화한다면, 포지티브 에지를 액티브 에 지, 네거티브 에지를 인액티브 에지라 명명하기로 한다. 플립플롭이 주어진 클록의 네거티브 에지에서 그 아웃풋이 변화한다면 그 반대로 명명할 수 있을 것이다. 인액티브 에지에서는 플립플롭이 동작을 일으키지 않기 때문에 불필요한 클럭 이벤트들을 제거함으로써 시뮬레이션 속도를 빠르게 할 수 있다. 즉, 인액티브 에지에서 발생하는 이벤트들을 제거함으로써 각 플립플롭에서 발생하는 이벤트를 절반으로 줄일 수 있다. 따라서 본 실시예에 따른 집적 회로 시뮬레이션 방법에서 이벤트 처리 과정은, 포지티브 에지와 네거티브 에지 중 상기 플립플롭이 반응하는 에지에서 발생하는 이벤트는 저장하고, 상기 플립플롭이 반응하지 않는 에지에서는 이벤트를 저장하지 않는다.
이러한 이벤트 처리 과정을 구현하기 위해서, 본 발명의 일 실시예에서, 기존의 이벤트 휠(event wheel)을 개선한다.
도 4 (a)는 기존의 이벤트 휠을 도시한 도면이며, 도 4 (b)는 본 발명의 일 실시예에 따른 이벤트 휠을 도시한 도면이다.
기존의 이벤트 구동 방식은, 회전하면서 시뮬레이터에 주기적으로 이벤트를 공급하는 도 4 (a)에 도시된 이벤트 휠을 사용한다. 이러한 기존의 이벤트 휠은 스티뮬러스 큐(stimulus queue)를 모두 휠에 포함하여 시간 진행에 따라 이벤트들을 분석하여 처리하는 것으로서, 모든 발생 가능한 이벤트들을 분석한다.
본 실시예에 따른 집적 회로의 시뮬레이션 방법은, 클럭과 관련된 이벤트들을 그렇지 않은 이벤트들과 분리하여 고려한다. 이를 위해, 도 4 (b)에 도시된 바와 같이 이벤트 휠(20)과 추가적인 휠로서 클럭 스케쥴링 휠(10)을 구비한다. 본 실시예에 따른 시뮬레이션 방법은 이들 두 휠 간의 상호 동작에 기초하여 수행된다. 시뮬레이션 시간이 진행됨에 따라서, 두 휠은 회전하고 어느 하나의 휠에 의해 지정되는 시점에서 이벤트를 생성한다.
먼저, 클럭 스케쥴링 휠(10)에 관하여 설명하면 다음과 같다.
클럭 스케쥴링 휠(10)은 클럭 관련 이벤트들을 트리거하고, 모든 가능한 클럭 이벤트 트리거링 시나리오를 가지고 있다. 이것은 시뮬레이션 동안에 반복적인 클럭 이벤트 전달을 제거할 수 있다. 만일 회로 디자인이 주기 P의 클럭을 가지고 있다면, 클럭 스케쥴링 휠(10)의 원주도 그와 같다. 클럭 스케쥴링 휠(10)의 사용은 시뮬레이션을 위해 스케쥴되는 이벤트의 수를 줄이는 데 도움이 된다. 액티브 에지에서, 클럭 스케쥴링 휠(10)은 플립플롭에서 클럭과 관련된 모든 이벤트들, 즉 클럭 핀에 관련된 이벤트들을 업데이트하고 상태 테이블(status table)에 저장한다. 인액티브 에지에서, 클럭 스케쥴링 휠(10)은 큐(queue)의 추가적인 이벤트를 업데이트하지 않고, 핀 페이스(phase) 딜레이와 클럭 소스 트리거링 시간을 고려하여 상태 테이블(status table)만을 업데이트한다. 즉, 클럭 소스의 트리거만 저장한다. 이와 같이, 본 실시예에 의하면, 클럭의 액티브 에지에서 발생하는 이벤트들만 시뮬레이션을 위해 스케쥴링된다.
도 5는 클럭 스케쥴링 휠(10)의 클럭 이벤트 스케쥴링을 설명하기 위한 참고도이다.
도 5에서, 클럭 신호의 주기 및 듀티 사이클이 각각 4ns 및 50%라고 하자. 클럭 트리에 연결된 모든 플립플롭들이 포지티브 에지에 반응한다고 하면(즉, 포지 티브 에지가 액티브 에지), 클럭 소스에서의 클럭 이벤트는 클럭 스케쥴링 휠 상에서 스케쥴링될 것이다. 클럭 소스에서의 각 이벤트는 다운스트림 플립플롭의 클럭 핀에서 발생하는 지연된 이벤트들에 링크된다. 이 지연된 이벤트들은 클럭 트리 딜레이 테이블에 리스트된다. 클럭 트리 딜레이 테이블은 클럭 트리에 대하여 정적 타이밍 해석을 수행함으로써 구성된다. 따라서 클럭 스케쥴링 휠(10) 상에 기록된 클럭 소스 이벤트가 생성될 때마다, 이 클럭 소스 이벤트에 링크된 이벤트들은, 그들의 극성이 액티브 에지에 해당하는 한, 지정된 딜레이를 가지고 이벤트 휠(20) 상에 스케쥴되고 기록된다. 도 5에서, 클럭 트리 딜레이 테이블의 그림자화된 부분은 클럭 이벤트 섀도윙에 의해 제거된 이벤트들을 가리킨다.
다음으로, 이벤트 휠(20)에 대하여 설명한다.
이벤트 휠(20)은 비클럭(non-clock) 이벤트를 트리거하고 관리하기 위한 것으로, 기존의 이벤트 휠과 유사하며 다만 가장 긴 클럭에 맞추어 클럭 스케쥴링 휠(10)과의 동기를 맞추어 준다. 도 4에 도시된 예에서, 이벤트 휠(20)의 원주는 가장 긴 클럭 주기의 두 배이며, 서브인터벌로 분할된다. 여기서, 클럭 네트워크의 딜레이는 가장 긴 클럭 주기의 최대 두 배라고 가정하였으며, 인터벌의 길이는 사용되는 SDF 파일에 지정된다. 이벤트 휠(20)에서 각 시점이 정의되고, 핀 인스턴스 상태 테이블이라고 불리는 테이블이 핀 인스턴스와 연관된 상승 및 하강 이벤트들에 대한 더욱 미세한 타이밍 정보를 찾아내기 위해 참조된다. 이 이벤트들은 시뮬레이션을 위해 큐로 삽입되어지고, 핀 인스턴스 테이블의 해당하는 엔트리가 가장 최근의 상태 정보로 업데이트된다.
도 6은 본 발명의 일 실시예에 의한 멀티-클럭 스케쥴링 휠(30)과 이벤트 휠(20)을 나타내는 도면이다. 도시된 휠은 멀티-클럭 디자인에 적용이 가능한 것으로서, 클럭 스케쥴링 휠(10)에 추가적인 트랙(클럭 당 하나의 트랙)을 더하여, 휠 파라미터를 조정한 것이다.
도 6을 참조하면, 회로 디자인이 주기 3ns 및 4ns 의 두 클럭을 가지고 있다고 가정한다. 이 주기들의 최소 공배수는 12ns 가 되며, 멀티-클럭 스케쥴링 휠(30)은 도시된 바와 같이 12ns 의 원주를 가지도록 생성된다. 원주에 해당하는 시간 인터벌은 동일한 크기의 서브인터벌들로 더 분할된다. 각 인터벌은 0.5ns의 길이를 가지며, 이것은 사용되는 두 클럭의 모든 하강 및 상승 에지 주기의 최대공약수에 해당한다(2ns 클럭에 대하여 0 및 1.5 ns, 3ns 클럭에 대하여 0 및 2ns). 시뮬레이션에서, 이벤트 휠(20)은 멀티-클럭 스케쥴링 휠(30)과 상호 작용한다. 이벤트 휠(20)의 원주는 더 긴 클럭 주기의 두 배인 8ns 이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본 질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 집적 회로의 시뮬레이션 방법을 나타낸 흐름도이다.
도 2a는 회로 레이아웃에서의 클럭 네트워크를 도식화한 도면으로서 클럭 트리를 나타낸다.
도 2b는 클럭 트리의 정적 타이밍 해석을 나타낸다.
도 3은 상기된 실시예에 따른 집적 회로의 시뮬레이션 방법을 도식화한 도면이다.
도 4는 기존의 이벤트 휠과 본 발명의 일 실시예에 따른 이벤트 휠을 도시한 도면이다.
도 5는 클럭 스케쥴링 휠(10)의 클럭 이벤트 스케쥴링을 설명하기 위한 참고도이다.
도 6은 본 발명의 일 실시예에 의한 멀티-클럭 스케쥴링 휠(30)과 이벤트 휠(20)을 나타내는 도면이다.
Claims (8)
- 집적 회로의 시뮬레이션 방법에 있어서,주기적으로 반복되는 신호의 소스로부터 각 플립플롭까지의 딜레이 값을 정적 타이밍 해석을 이용하여 계산하여 저장하는 딜레이 저장 단계; 및상기 집적 회로를 이벤트 구동 방식을 이용하여 시뮬레이션하는 단계로서, 상기 소스로부터 상기 각 플립플롭까지의 사이에서 발생하는 이벤트는 생성하지 않고 상기 저장된 딜레이 값을 사용하여 분석하는 시뮬레이션 단계를 포함하는 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
- 제1항에 있어서,상기 주기적으로 반복되는 신호는 클럭 신호이고, 상기 소스는 클럭 소스인 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
- 제2항에 있어서,상기 딜레이 저장 단계 이전에,상기 집적 회로의 레이아웃을 클럭 네트워크와 비클럭 네트워크로 분할하는 단계를 더 포함하는 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
- 제1항 내지 제3항 중 어느 한 항에 기재된 집적 회로 시뮬레이션 방법을 실 행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
- 집적 회로의 시뮬레이션 방법에 있어서,상기 집적 회로에 포함된 플립플롭은 주어진 클럭의 포지티브 에지와 네거티브 에지 중 어느 하나에 반응하고,상기 포지티브 에지와 네거티브 에지 중 상기 플립플롭이 반응하는 에지에서 발생하는 이벤트는 저장하고, 상기 플립플롭이 반응하지 않는 에지에서는 이벤트를 저장하지 않는 이벤트 처리 과정을 포함하는 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
- 제5항에 있어서,상기 이벤트 처리 과정은,클럭과 관련된 이벤트들을 트리거하는 클럭 스케쥴링 휠과, 클럭과 관련되지 않는 이벤트들을 트리거하는 이벤트 휠을 이용하여 이벤트를 처리하는 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
- 제6항에 있어서,상기 클럭 스케쥴링 휠은, 상기 플립플롭이 반응하는 에지에서 상기 클럭과 관련된 이벤트를 업데이트하여 상태 테이블에 저장하고, 상기 플립플롭이 반응하지 않는 에지에서 이벤트를 업데이트하지 않고 딜레이를 고려하여 상기 상태 테이블을 업데이트하는 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
- 제6항에 있어서,상기 집적 회로의 디자인은 멀티-클럭 디자인이고,상기 클럭 스케쥴링 휠은 추가적인 클럭에 대응하는 트랙을 더 구비하는 것을 특징으로 하는 집적 회로 시뮬레이션 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090080220A KR101080717B1 (ko) | 2009-08-28 | 2009-08-28 | 집적 회로의 시뮬레이션 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090080220A KR101080717B1 (ko) | 2009-08-28 | 2009-08-28 | 집적 회로의 시뮬레이션 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110022790A true KR20110022790A (ko) | 2011-03-08 |
KR101080717B1 KR101080717B1 (ko) | 2011-11-07 |
Family
ID=43930999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090080220A KR101080717B1 (ko) | 2009-08-28 | 2009-08-28 | 집적 회로의 시뮬레이션 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101080717B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014123258A1 (ko) * | 2013-02-07 | 2014-08-14 | 서울대학교 산학협력단 | 사건구동 방식의 스위칭 회로 모의 시험 방법 및 이를 이용한 회로 모의 시험 프로그램이 저장된 저장 매체 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005275783A (ja) | 2004-03-24 | 2005-10-06 | Matsushita Electric Ind Co Ltd | 半導体集積回路のタイミング解析方法 |
-
2009
- 2009-08-28 KR KR1020090080220A patent/KR101080717B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014123258A1 (ko) * | 2013-02-07 | 2014-08-14 | 서울대학교 산학협력단 | 사건구동 방식의 스위칭 회로 모의 시험 방법 및 이를 이용한 회로 모의 시험 프로그램이 저장된 저장 매체 |
US10489537B2 (en) | 2013-02-07 | 2019-11-26 | Snu R&Db Foundation | Method for simulating event-driven switching circuit and saving medium to which circuit simulation program using same is saved |
Also Published As
Publication number | Publication date |
---|---|
KR101080717B1 (ko) | 2011-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10423740B2 (en) | Logic simulation and/or emulation which follows hardware semantics | |
US9542524B2 (en) | Static timing analysis (STA) using derived boundary timing constraints for out-of-context (OOC) hierarchical entity analysis and abstraction | |
US11144694B2 (en) | Hybrid out of context hierarchical design flow for hierarchical timing convergence of integrated circuits for out of context signoff analysis | |
US20160070844A1 (en) | Selectively reducing graph based analysis pessimism | |
US9690889B2 (en) | Method for adjusting a timing derate for static timing analysis | |
US9646122B2 (en) | Variable accuracy parameter modeling in statistical timing | |
US8539413B1 (en) | Frequency optimization using useful skew timing | |
US6718523B2 (en) | Reduced pessimism clock gating tests for a timing analysis tool | |
US12039240B2 (en) | Integrated circuit simulation and design method and system thereof | |
US8346527B2 (en) | Simulating an operation of a digital circuit | |
US7134062B2 (en) | Static timing analysis approach for multi-clock domain designs | |
US10540464B1 (en) | Critical path aware voltage drop analysis of an integrated circuit | |
Lu et al. | Laser-induced fault simulation | |
KR101080717B1 (ko) | 집적 회로의 시뮬레이션 방법 | |
US6378113B1 (en) | Black box transparency in a circuit timing model | |
US10372851B2 (en) | Independently projecting a canonical clock | |
US10311185B2 (en) | Model-building method and model-building system | |
US8065646B2 (en) | Method and a computer readable medium for performing static timing analysis of a design of an integrated circuit | |
US10460055B1 (en) | Modeling of sequential circuit devices of multi-clock domain IC design for a transient vectorless power analysis | |
JP5831067B2 (ja) | 消費電力解析方法、消費電力解析装置および消費電力解析プログラム | |
US20080141199A1 (en) | Methods and apparatuses for timing analysis of electronics circuits | |
Alexandrescu | Circuit and system level single-event effects modeling and simulation | |
Fuang et al. | Implementation study of path-based AOCV model on pessimism reduction for 20nm technology | |
US11429770B1 (en) | System, method, and computer program product for analyzing X-propagation simulations | |
US20050071790A1 (en) | Methods for modeling latch transparency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140804 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160105 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |