KR20150145179A - 정적 타이밍 분석의 타이밍 디레이트 조정방법 - Google Patents

정적 타이밍 분석의 타이밍 디레이트 조정방법 Download PDF

Info

Publication number
KR20150145179A
KR20150145179A KR1020150080378A KR20150080378A KR20150145179A KR 20150145179 A KR20150145179 A KR 20150145179A KR 1020150080378 A KR1020150080378 A KR 1020150080378A KR 20150080378 A KR20150080378 A KR 20150080378A KR 20150145179 A KR20150145179 A KR 20150145179A
Authority
KR
South Korea
Prior art keywords
target cell
timing
design
derate
adjustment
Prior art date
Application number
KR1020150080378A
Other languages
English (en)
Other versions
KR102436880B1 (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 KR20150145179A publication Critical patent/KR20150145179A/ko
Application granted granted Critical
Publication of KR102436880B1 publication Critical patent/KR102436880B1/ko

Links

Images

Classifications

    • G06F17/5045
    • 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
    • G06F17/5059

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

정적 타이밍 분석의 타이밍 디레이트 조정방법{METHOD FOR ADJUSTING A TIMING DERATE FOR STATIC TIMING ANALYSIS}
본 기술은, 집적회로 분야에 관한 것이다. 보다 구체적으로, 본 기술은 정적 타이밍 분석에 관한 것이다.
정적 타이밍 분석(STA)은, 집적회로 설계에 있어서 예상 신호 경로의 타이밍을 결정하는 방법이다. 이것은 제조시에 그 집적회로가 정확히 동작할지를 검사하는데 유용하다. 일반적으로, STA는, 상기 회로의 각종 논리 셀들을 식별하여 그 논리 셀들이 함께 어떻게 접속되는지를 특정하는 집적회로 설계의 구현을 이용한다. 각 논리 셀의 특성에 근거하여, 상기 집적회로의 타이밍 경로들을 거친 지연을, 상기 설계로 작용이 부정확하게 될 수 있는 타이밍 위반이 생기는지를 판정하기 위해 추정할 수 있다. 그 후, 필요한 경우, 상기 집적회로 설계는, 검출되었던 타이밍 위반을 제거하기 위해 수정될 수 있다.
실제로, 논리 셀을 통한 실제의 전파 지연은, 예를 들면, 프로세스, 전압 및 온도 변동으로 인해 칩의 다른 영역간 또는 시간에 따라, 칩마다 달라질 수도 있다. 이 때문에, 하나의 셀을 거친 예상 지연에 대한 하나의 값은 충분하지 않아서, 상기 정적 타이밍 분석은 타이밍 디레이트(derate)를 사용하여 그 셀을 거친 지연의 변동을 특징으로 할 수도 있다. 그 타이밍 디레이트에 의해 상기 STA 툴이 가능한 최소 또는 최대 지연을 추정할 수 있으므로 다양한 단점 조건에서 타이밍 요구사항을 만족시킬 가능성이 있는지를 판정한다. 본 기술에서는 타이밍 디레이트를 사용하는 방법을 향상시키는데 목적이 있다.
일 국면에서 본 본 기술은, 집적회로 설계의 신호경로의 예상 타이밍을 결정하는 컴퓨터 구현 정적 타이밍 분석방법을 제공하고, 이 방법은,
상기 신호경로상의 타겟 셀에 있어서의 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건의 상기 타겟 셀을 거친 전파 지연의 변동을 나타내는 타이밍 디레이트를 결정하는 단계;
상기 집적회로 설계에서 상기 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정하는 단계;
상기 타겟 셀의 상기 예상 설계조건에 근거하여 디레이트 조정을 결정하는 단계;
상기 디레이트 조정을 사용하여 조정된 타이밍 디레이트를 발생하기 위해 상기 타이밍 디레이트를 조정하는 단계; 및
상기 타겟 셀의 상기 조정된 타이밍 디레이트에 근거하여 상기 신호경로의 예상 타이밍을 결정하는 단계를 포함한다.
기존의 정적 타이밍 분석 툴들은, 그들의 실제의 설계조건에 상관없이 모든 셀에 적용된 단일의 디폴트 설계조건으로 주어진 논리 셀에 대한 타이밍 디레이트를 결정하는 것이 일반적이다. 그러나, 실제로는 상기 지연을 거친 지연의 변동은, 상기 집적회로 설계에서 무슨 회로소자가 상기 셀을 둘러싸는지에 좌우되는 경우도 있는 상기 셀의 실제 설계조건에 좌우된다. 예를 들면, 셀에 결합된 상당한 용량성 부하, 상기 셀에 대한 입력신호의 슬루율(slew rate), 또는 상기 타겟 셀에 인가된 로컬 전압변화, 이를테면 IR 강하가, 실제의 지연에 상당히 영향을 미칠 수도 있고, 부하, 슬루 또는 전압변동 등의 설계 파라미터에 대한 셀 투 셀(cell-to-cell) 변동은 현재의 타이밍 디레이트 값들을 고려하지 않는다. 이 때문에, 기존의 STA 툴들에서 사용된 실제의 디레이트 값은, 일부의 경우에는 아주 낙관적이고(그래서, 타이밍 에러가 검출되지 않을 가능성도 있음) 그 밖의 경우에는 아주 비관적일 것이다(그래서, 실제로 실제 일어나지 않을 타이밍 에러가 검출될 수도 있음). 낙관주의가 위험한 것은, 제조시 실제로 실패할 때 상기 STA 툴이 회로설계가 그 타이밍 요구사항을 만족시킨다고 판정하게 되어, 정확히 작동하는 제조 회로들의 수율을 저하시킬 수도 있기 때문이다. 한편, 비관주의에 대해 여지를 두는 것은 결과적인 설계가 정확히 작용하는 것을 확보하지만, 이것은, 이것이 실제는 그 경우가 아닐 경우에도 회로가 그 타이밍 요구사항을 만족시키지 못한다고 상기 STA방법으로 판정한 경우에 타이밍 경로들을 고정할 때 별도의 작업을 고려하지 않는다. 또한, 비관주의는, 별도의 버퍼를 그 회로에 삽입하는 비용을 초래하여 정확히 기능하는 회로를 생산하는데 실제로 필요하지 않았을지도 모르는 그 타이밍 요구사항을 충족시킨다. 이러한 버퍼들에 의해 전력소모와 회로 면적이 증가하게 되어, 바람직하지 못하다.
이들의 과제를 해결하기 위해서, 본 기술에서는, 집적회로 설계에 있어서 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정한다. 디레이트 조정은 상기 예상 설계조건에 근거하여 결정되고 나서, 상기 디폴트 설계조건의 전파 지연의 변동을 나타내는 타이밍 디레이트는 상기 예상 설계조건의 디레이트 조정에 근거하여 조정된다. 그리고, 그 조정된 타이밍 디레이트는, 상기 예상 타이밍 신호경로를 결정하는데 사용될 수 있다. 이렇게, 상기 조정된 디레이트는, 지연에 있어서 실제의 변동을 보다 정확하게 추적하여서, 상기 타겟 셀을 거친 지연에 있어서 낙관주의와 비관주의 양쪽을 저하시킬 수 있다. 이는, 별도의 버퍼들을 타이밍 경로에 불필요하게 고정시키지 않고, 상기 집적회로 설계의 실패 가능성을 저하시킨다.
상기 정적 타이밍 분석에서 모델링된 논리 셀들은, 회로의 어떠한 기능소자이어도 된다. 상기 논리 셀들의 예는, 논리 게이트, 플립플롭 또는 래치 또는 그 밖의 기억소자, 버퍼나 인버터, 또는 그 밖의 조합 회로소자가 있을 수도 있다. 상기 STA방법으로 상기 데이터 신호와 클록신호의 상대적 타이밍이 적절한지 아닌지를 검사하기 위해 데이터 경로들과 클록 경로들 양쪽을 따라서의 신호 전파 지연을 조사하여도 된다. 따라서, 상기 디레이트 조정이 결정되는 타겟 셀은, 클록 경로나 데이터 경로상에 있어도 된다.
상기 디레이트 조정은, 집적회로 설계의 다수의 논리 셀에 대해서 상기 예상 설계조건에서 각 셀을 거친 실제의 전파 지연의 예상된 변동을 제거하기 위해 반복될 수 있다. 그리고, 신호경로내의 셀마다 상기 조정된 타이밍 디레이트에 근거하여 그 신호경로의 예상 타이밍을 결정하여도 된다.
일부의 경우에, 상기 타이밍 디레이트는, 그 셀을 거친 전파 지연에 대한 예상된 최대값 또는 최소값으로 나타낼 수도 있다. 그 밖의 경우에는, 상기 타이밍 디레이트는, 상기 전파 지연의 분산이나 표준 편차 및/또는 전파지연의 평균값으로 나타낼 수도 있다. 따라서, 본 기술에서는 주로 통계적 타이밍 분석방법들로 사용하였다.
상기 예상 설계조건과 디폴트 설계조건은, 상기 타겟 셀의 적어도 하나의 설계 파라미터에 좌우되어도 된다. 그 설계 파라미터는, 특별한 회로 설계내의 타겟 셀의 주변상황에 좌우되는 타겟 셀을 거친 지연에 영향을 미치는 파라미터이면 된다. 즉, 상기 설계 파라미터는, (비록 일부의 시스템이 상기 셀의 설계조건과 아울러 작동 파라미터에 있어서 랜덤한 변동을 고려할지라도) 온도나 프로세스 변동 등의 랜덤하게 일어나는 변동과는 대조적으로, 상기 셀을 둘러싸고 있는 그 밖의 회로소자로부터 생기는 시스템적인 조건이어도 된다. 예를 들면, 상기 설계 파라미터는, 타겟 셀의 용량성 부하, 타겟 셀에 대한 입력신호의 슬루율, 및 타겟 셀에 인가된 전압레벨 중 하나 이상을 포함하여도 된다. 주어진 구현은, 이들 중 일부를 디레이트 조정시에 선택하면 된다. 예를 들면, 일 실시예에서, 상기 디레이트 조정은, 상기 부하와 슬루에 따라 결정되어도 되지만 전압을 고려하지 않아도 된다. 일반적으로, 상기 예상 설계조건은, 이들 하나 이상의 설계 파라미터 중 적어도 하나가 디폴트 설계조건과 다른 임의의 조건이어도 된다(그것은 파라미터 모두가 다를 필요는 없다). 예를 들면, 하나의 셀이 디폴트 설계조건에 대한 타이밍 디레이트를 결정하는데 사용된 셀과 같은 부하를 받고 있는 경우에도, 슬루율이 다르면, 이것은 타이밍 디레이트를 조정하여서 반영될 수 있는 전파 지연의 변동을 그래도 다르게 할 수도 있다.
디폴트 설계조건에 대한 타이밍 디레이트는, 임의의 공지의 기술을 사용하여 결정하여도 된다. 예를 들면, "온 칩 변동(on chip variation; OCV)"기술을 사용하는 시스템에 있어서, 타이밍 디레이트의 단일 값은, 상기 회로내의 셀의 상대위치에 상관없이 주어진 타입의 타겟 셀에 대해 결정되어도 된다. 그리고, 상기 OCV 디레이트는, 예상 설계조건에 근거하여 선택된 디레이트 조정을 사용한 상기 셀의 설계조건에 근거하여 조정될 수 있다.
또는, 타이밍 디레이트는, 상기 집적회로 설계내의 타겟 셀의 상대위치에 따라 달라져도 된다. 예를 들면, 개선된 온칩 변동(AOCV)을 사용하여도 된다. AOCV에 의해, 타이밍 디레이트는 타겟 셀의 논리적 깊이(상기 회로의 타겟 셀과 기준점과의 사이에 접속된 그 밖의 셀의 수에 의존함)와 상기 회로의 타겟 셀과 기준점과의 사이의 물리적 거리 중 적어도 하나에 따라 결정되어도 된다. 일반적으로, 논리적 깊이가 증가함에 따라(즉, 상기 신호가 타겟 셀에 도달하기 전에 그 밖의 보다 많은 다수의 셀에 교차해야 함), 그 전파 지연의 변동량은 상기 경로를 따라서의 논리 셀들 모두가 동시에 최선의 경우나 최악의 경우의 조건을 경험할 가능성이 점점 더 없어지므로 감소하고, 실제로 일부의 전파 지연은 보다 빠르고 나머지는 보다 느려서 각 셀에 의한 변동이 어느 정도 서로 상쇄시킬 가능성이 높다. 한편, 전파 지연의 변동은, 상기 타겟 셀이 상기 기준점으로부터 떨어진 거리에 따라 증가하는 것이 일반적이다. 상기 기준점은, 신호경로 지연들이 측정되는 회로에서의 점이어도 된다(예를 들면, 그 클록 경로가 분할하는 점이어서, 분할된 점에 대한 다른 클록 경로간의 스큐를 측정할 수 있다).
따라서, 디레이트 테이블, 예를 들면, AOCV기술에 따른 AOCV 테이블이 유지되어도 된다. 디폴트 타이밍 디레이트는, 상기 디레이트 테이블로부터 판독되어도 된다. 그러나, AOCV 디레이트가 상기 타겟 셀의 부하, 슬루, 전압변동이나 그 밖의 설계 파라미터와는 상관없으므로, 상기 AOCV값은, 상기 타겟 셀의 실제 설계조건이 AOCV 테이블을 측정하였던 디폴트 조건보다 다소 바람직한지 아닌지에 따라 낙관적 또는 비관적인 값인 것이 일반적이다. 상기 예상 설계조건에 근거하여 선택된 디레이트 조정을 사용하여 AOCV 디레이트를 조정함으로써, 이 낙관주의나 비관주의는, 타이밍 위반의 예측을 향상시키기 위해 축소될 수 있다.
타겟 셀에 대한 예상 설계조건은 이와는 다른 방식으로 결정되어도 된다. 일부의 경우에, 상기 집적회로는, 각 타겟 셀이 무슨 조건을 경험하는지를 결정하기 위해 모의 실험되어도 된다. 일반적으로, 상기 STA 툴은 모의 실험(simulation)을 행할 능력이 없어도 되고, 그래서 SPICE등의 별도의 모의 실험이 사용되어도 된다. 한편, 일부의 경우에는, 유저는, 상기 회로가 특정 설계조건에서 그 타이밍 요구사항을 충족시킬 것인가 아닌가를 엄밀하게 조사하고 싶을 수도 있어서, 모의 실험을 행하지 않고 상기 타겟 셀에 대한 상기 예상 설계조건을 특정하여도 된다. 이와는 달리, 조기의 모의 실험은 상기 예상 설계조건을 이미 식별하였을 수도 있어, 상기 유저는 이들을 입력하여도 된다. 일부의 경우에, 상기 타겟 셀에 대한 예상 설계조건은, STA툴로 판독한 기록매체에 기억되어도 된다.
데이터 구조는, 다양한 서로 다른 예상 설계조건에 대한 디레이트 조정사항을 기억하는 STA툴에 의해 유지되어도 된다. 예를 들면, 그 데이터 구조는 테이블이어도 된다. 또는, 상기 데이터 구조는, 하나의 셀에 대한 예상 설계조건을 결정하는 STA툴의 소프트웨어 코드의 일부일 수도 있고, 대응한 디레이트 조정에 대한 상기 예상 설계조건을 규정하는 하나 이상의 설계 파라미터를 매핑한다(예를 들면, 일련의 조건문을 사용하여 디레이트 조정을 설정하여도 되거나, 어레이나 그 밖의 소프트웨어 구조를 검색하여도 된다). 그 디레이트 조정을 상기 셀의 2개 이상의 설계 파라미터(슬루 및 부하)를 고려하는 경우, 그 디레이트 조정은 이들 설계 파라미터 각각에 의해 색인이 생성되어도 된다.
일반적으로, 주어진 예상 설계조건에 대한 디레이트 조정은, 그 예상 설계조건에서 타겟 셀을 거친 전파 지연의 모의 실험된 분산에 의거하여 미리 정해져도 된다. 따라서, 상기 디레이트 조정은, 표준 셀의 지연이 여러 가지의 파라미터와 작용하는 모양을 알기 위해 표준 셀로부터의 여러 가지의 파라미터(예를 들면, 부하 및 슬루)의 시그마(정상) 분포를 사용함으로써, 그 선택된 파라미터에 의거하여 추가의 디레이트 계수를 발견할 수 있다.
일부의 경우에, 상기 디레이트 조정은, 단일 타입의 타겟 셀에 대해 결정되어도 되고, 논리 셀 모두의 디레이트 조정은 같다고 할 수도 있다. 예를 들면, 인버터나 다른 기본 논리 셀 등의 단일 디폴트 셀을 사용하여 디레이트 조정을 결정하여도 된다. 다른 셀들을 거친 실제의 변동이 약간 다른 경우라도, 단일 디레이트 조정은 그래도 처리 복잡도가 감소된 좋은 결과를 제공한다.
그러나, 예측 정밀도를 훨씬 더 향상시키고 낙관주의나 비관주의를 한층 더 제거하기 위해서, 다른 셀 타입에 대해 다른 디레이트 조정이 설정되어도 되고, 그 후 그 타입의 타겟 셀에 의거하여 적절한 디레이트 조정이 판독될 수 있다.
상기 디레이트 조정은, 타이밍 디레이트와 곱하여 그 조정된 디레이트를 생성하기 위한 곱셈계수이어도 된다. 일부의 경우에는 상기 디레이트 조정이 전파 지연의 분산을 증가시키는 한편, 그 밖의 경우에는 그 분산을 저감시키기도 한다. 따라서, 상기 디레이트 조정계수는, 1이상이어도 된다. 이는, 디레이트 조정을 결정하는 설계조건이 원래의 타임 디레이트(AOCV테이블로부터 판독된 디레이트 등)에 대해 가정된 디폴트 설계조건보다 다소 바람직한지의 여부에 좌우될 것이다.
집적회로 설계에 있어서 적어도 하나의 신호 경로의 예상 타이밍을 추정하였다면, 어떠한 타이밍 위반이 일어날 가능성이 있는지를 판정할 수 있다. 이렇게 하여 타이밍 디레이트를 조정함으로써, 긍정 오류(false positive) 또는 부정 오류(false negative)의 타이밍 위반 검출의 수를 감소시킬 수 있다.
다른 국면에서 본, 본 기술은, 정적 타이밍 분석시에 집적회로 설계의 타겟 셀에 대한 타이밍 디레이트를 조정하기 위한 디레이트 조정을 결정하는 컴퓨터 구현 방법을 제공하고, 상기 타이밍 디레이트는 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건에 대한 타겟 셀을 거친 전파 지연의 변동을 나타내고, 상기 방법은,
상기 디폴트 설계조건과 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하는 단계;
상기 모의 실험단계의 결과에 의거하여, 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제1 분산을 결정하는 단계;
상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제2 분산에 의거하여, 상기 다른 설계조건에 대한 디레이트 조정을 결정하는 단계; 및
상기 정적 타이밍 분석시에 사용하기 위한 디레이트 조정을 기억하는 단계를 포함한다.
상기 디레이트 조정은, 정정 타이밍 분석 툴에 의해 계속 사용하기 위해 미리 결정되어도 된다. 타겟 셀을 거친 전파 지연은, 주어진 설계조건을 상기 타이밍 디레이트에 대해 가정된 디폴트 설계조건과 다르게 하여 모의 실험하여도 된다. 그 모의 실험 결과에 의거하여, 타겟 셀을 거친 전파 지연의 분산("제1 분산")은 다른 설계조건에서 결정되어도 된다. 그리고, 상기 디레이트 조정은, 상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 전파 지연을 나타내는 제2 분산에 의거하여 결정되어도 된다. 그 후, 그 결정된 디레이트 조정은, 일련의 타이밍 분석동안에 사용하기 위해 기억될 수 있다. 이러한 해결방법을 다수의 다른 설계조건에 대해 반복하여 조건마다 디레이트 조정을 결정할 수 있다.
일반적으로, 상기 디레이트 조정은, 제1 분산(즉, 다른 설계조건에서의 지연의 변동을 반영함)에 의거하여 결정된 타이밍 디레이트를, 제2 분산(디폴트 설계조건에서의 지연의 변동을 반영함)에 의거하여 결정된 타이밍 디레이트로 나누어서 결정되어도 된다. 이렇게 하여, 상기 디폴트 타이밍 디레이트와 곱해진 디레이트 조정은, 상기 디레이트 조정이 결정되었던 다른 설계조건과 일치하는 조정된 디레이트를 제공할 것이다.
보다 구체적으로, 상기 디레이트 조정은, 다음식에 따라 구해져도 된다:
Figure pat00001
여기서, A는 디레이트 조정, n은 표준 편차의 지정된 수, σdelay_different는 다른 설계조건에서의 지연의 표준편차, μdelay_different는 다른 설계조건에서의 타겟 셀을 거친 전파 지연의 평균값, σdelay_default는 디폴트 설계조건에서의 지연의 표준편차, μdelay_default는 디폴트 설계조건에서의 타겟 셀을 거친 전파 지연의 평균값이다. 즉, 상기 평균으로 나눈 표준편차는, 상기 다른 설계조건과 디폴트 설계조건에 대한 분산을 나타낸다.
상술한 것처럼, 상기 디레이트 조정은, 다양한 다른 설계조건이나, 다른 타입의 타겟에 대해 결정되어 기억되어도 된다.
또 다른 국면에서 본 본 기술은, 집적회로 설계의 신호경로의 예상 타이밍을 결정하는 정적 타이밍 분석을 행하도록 구성된 컴퓨터 장치를 제공하고,
상기 컴퓨터 장치는,
상기 신호경로상의 타겟 셀에 있어서의 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건의 상기 타겟 셀을 거친 전파 지연의 변동을 나타내는 타이밍 디레이트를 결정하고,
상기 집적회로 설계에서 상기 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정하고,
상기 타겟 셀의 상기 예상 설계조건에 근거하여 디레이트 조정을 결정하고,
상기 디레이트 조정을 사용하여 조정된 타이밍 디레이트를 발생하기 위해 상기 타이밍 디레이트를 조정하고,
상기 타겟 셀의 상기 조정된 타이밍 디레이트에 근거하여 상기 신호경로의 상기 예상 타이밍을 결정하도록 구성된, 처리회로소자를 구비한다.
또 다른 국면에서 본 본 기술은, 집적회로 설계의 신호경로의 예상 타이밍을 결정하는 정적 타이밍 분석을 행하도록 구성된 컴퓨터 장치를 제공하고,
상기 컴퓨터 장치는,
상기 신호경로상의 타겟 셀에 있어서의 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건의 상기 타겟 셀을 거친 전파 지연의 변동을 나타내는 타이밍 디레이트를 결정하고,
상기 집적회로 설계에서 상기 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정하고,
상기 타겟 셀의 상기 예상 설계조건에 근거하여 디레이트 조정을 결정하고,
상기 디레이트 조정을 사용하여 조정된 타이밍 디레이트를 발생하기 위해 상기 타이밍 디레이트를 조정하고,
상기 타겟 셀의 상기 조정된 타이밍 디레이트에 근거하여 상기 신호경로의 상기 예상 타이밍을 결정하기 위한, 처리수단을 구비한다.
또 다른 국면에서 본 본 기술은, 정적 타이밍 분석시에 집적회로 설계의 타겟 셀에 대한 타이밍 디레이트를 조정하기 위한 디레이트 조정을 결정하도록 구성된 컴퓨터 장치를 제공하고, 상기 타이밍 디레이트는 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건에 대한 타겟 셀을 거친 전파 지연의 변동을 나타내고,
상기 컴퓨터 장치는,
상기 디폴트 설계조건과 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하고,
상기 모의 실험 결과에 의거하여, 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제1 분산을 결정하고,
상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제2 분산에 의거하여, 상기 다른 설계조건에 대한 디레이트 조정을 결정하고,
상기 정적 타이밍 분석시에 사용하기 위한 디레이트 조정을 기억하도록 구성된, 처리회로소자를 구비한다.
또한, 또 다른 국면에서 본 본 기술은, 정적 타이밍 분석시에 집적회로 설계의 타겟 셀에 대한 타이밍 디레이트를 조정하기 위한 디레이트 조정을 결정하도록 구성된 컴퓨터 장치를 제공하고, 상기 타이밍 디레이트는 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건에 대한 타겟 셀을 거친 전파 지연의 변동을 나타내고,
상기 컴퓨터 장치는,
상기 디폴트 설계조건과 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하고,
상기 모의 실험 결과에 의거하여, 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제1 분산을 결정하고,
상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제2 분산에 의거하여, 상기 다른 설계조건에 대한 디레이트 조정을 결정하고,
상기 정적 타이밍 분석시에 사용하기 위한 디레이트 조정을 기억하기 위한, 처리수단을 구비한다.
본 기술의 또 다른 국면, 특징 및 이점은, 첨부도면과 관련지어 판독될 다음의 예시들의 설명으로부터 명백해질 것이다.
도 1은 정적 타이밍 방법의 일 예시도,
도 2는 다른 논리 깊이의 클록 경로들을 도시하는 집적회로 설계의 일부의 표시 예를 나타내고,
도 3은 상기 회로의 타겟 셀과 기준점 사이의 거리를 결정하는 개략도,
도 4는 논리 셀을 거친 전파 지연의 변동에 영향을 미칠 수도 있는 다른 설계 파라미터를 나타내고,
도 5는 디레이트 조정을 결정하는 방법을 나타내고,
도 6은 다른 설계조건에 대해 다른 디레이트 조정을 선택할 수 있는 방법을 개략적으로 나타내고,
도 7은 다른 설계조건에 대해 디레이트 조정을 결정하는 식들의 예시도,
도 8은 정적 타이밍 분석의 방법이나 디레이트 조정 결정을 행하는 컴퓨터 장치를 나타낸다.
도 1은 집적회로 설계가 기능적인 타이밍 요구사항을 충족시키는지를 판정하는 정적 타이밍 분석(STA)을 행하는 방법을 나타낸다. 회로 구현(2)은 집적회로 설계를 정의하도록 입력된다. 입력회로 구현은, 예를 들면, 표준 셀 라이브러리를 사용한 자동설계 툴에 의해 생성되어도 된다. 예를 들면, 상기 회로 구현은, 상기 회로의 일부와 그들의 상호연결을 형성하는 논리 셀들을 식별하는 넷리스트와 아울러, 그들의 타이밍 작용, 물리특성, 소비전력 등과 같은 셀들의 특성을 정의하는 라이브러리 데이터도 포함한다.
상기 넷리스트에서 셀마다, 본 예시에서는, AOCV(Advanced On-Chip Variaton)인 디레이트 테이블(4)에서 타이밍 디레이트를 검색한다. 이 타이밍 디레이트는, 상기 셀을 거친 전파 지연의 예상된 변동을 특징으로 하는데 사용된다. 예를 들면, 상기 디레이트는, 분산, 표준편차 또는, 상기 예상 지연의 예상 변동을 나타내는 그 밖의 값을 식별하여도 되거나, 상기 지연에 대한 최대값이나 최소값을 가리키기도 한다. (예를 들면, 프로세스, 전압 또는 온도변동에 의해 생길 수도 있는) 가능한 지연값의 예상된 확산을 표시함으로써, 단점의 경우들을, 상기 회로가 다양한 단점조건에 걸쳐 정확하게 기능할 가능성이 있도록 상기 STA 툴로 시험할 수 있다. AOCV 테이블(4)은, 집적회로 설계에서 타겟 셀의 상대위치(보다 구체적으로, 논리 깊이 및 거리)에 의거하여 색인이 생성된 다수의 서로 다른 타이밍 디레이트 값을 기억하고 있다. 이것은, 상기 회로내 다른 위치에 위치될 때 동일한 타입의 논리 셀이 다른 전파 지연의 변동량을 경험할 수도 있다는 사실을 반영한 것이다.
예를 들면, 도 2는 다수의 논리 셀로 이루어진 회로 배치의 개략적인 예시도다. 가장 현실적인 회로는 본 예시보다 복잡하다는 것을 알 것이다. 상기 회로는, 제1 플립플롭(10), NAND게이트(12) 및 제2 플립플롭(14)으로 이루어진 데이터 경로를 갖는다. 데이터 신호는 제1 플립플롭(10)에서 포획되고 나서, NAND게이트(12)에 의해 다른 값과 부정 논리곱이 된 후, 그 NAND결과가 제2 플립플롭(14)에 의해 포획된다. 제1 플립플롭(10) 및 제2 플립플롭(14)은, 클록 노드(20)로부터 얻어진 클록신호에 의해 구동된다. 상기 제1 플립플롭(10)용 클록신호는, 상기 플립플롭(10)에 도달하기 전에 제1 클록경로를 따라 하나의 버퍼(22)를 경유하고, 제2 플립플롭(14)용 클록신호는 제2 클록경로를 따라 상기 플립플롭에 도달하기 전에 3개의 버퍼(22)를 경유한다. 따라서, 그 2개의 클록경로의 논리 깊이는 다르다. 상기 범퍼들(20) 모두의 타입이 같은 경우라도, 제2 클록경로상의 제3 버퍼(22-3)는, 제1 클록경로상의 제1 버퍼(22-1)나 제2 클록경로상의 그보다 앞의 버퍼와 비교하여 전파 지연의 다른 변동을 경험한다. 이것은, 주어진 신호경로의 상기 논리 깊이가 증가함에 따라, 최소값과 최대값 사이에서 달라질 수도 있는 지연을 각 개개의 버퍼가 가질지라도, 선행하는 논리 셀의 전부가 동시에 최악의 경우의 지연이나 최선의 경우의 지연을 경험할 가능성이 점점 없어지기 때문이다. 일반적으로, 보다 긴 경로를 따라 전파 지연의 변동은, 각 셀의 지연의 변동을 서로 어느 정도 상쇄시키기 때문에 감소될 것이다. 그러므로, AOCV에서, 상기 테이블(4)은 신호경로내 주어진 셀의 논리 깊이에 의거하여 색인이 생성되어도 되고 보다 짧은 논리 깊이에서 하나의 셀보다 긴 논리 깊이에서 하나의 셀에 대한 보다 적은양의 변동을 나타내는 타이밍 디레이트를 제공할 수도 있다(예를 들면, 그 타이밍 디레이트가 최소값/최대값을 나타내는 경우, 이들은 상기 지연의 평균값에 보다 가깝게 조정되어도 된다). 도 2에서는 클록경로들의 논리 깊이가 다른 경우의 예들을 나타내었지만, 마찬가지로 다른 데이터 경로는 다른 논리 깊이를 가져도 되고 AOCV 테이블(4)에 의해 다른 디레이트가 구비되어도 된다.
상기 AOCV 테이블(4)로부터의 타이밍 디레이트도, 상기 회로에 대한 주어진 논리 셀과 기준점 사이의 물리적인 거리에 좌우될 수도 있다. 일반적으로, 상기 기준점은, (예를 들면, 상기 클록신호와 플립플롭(14)에 도달하는 데이터 신호가 특정 타이밍 요구사항을 충족시키면 좋은 도 2의 예시에서) 재조합하는 경우의 점에서 다른 브랜치간의 상대 시간을 검사할 필요가 있는 타이밍에 있어서 하류의 셀들이 왜곡하도록 신호 경로들이 분할되는, 상기 회로의 일부이어도 된다. 셀들이 한층 더 떨어져 위치될수록, 셀들을 거친 지연의 변동은 증가하게 된다. 따라서, 상기 AOCV 테이블(4)은, 기준점으로부터의 특정 셀의 거리가 보다 긴 경우 변동이 증가된 타이밍 디레이트를 제공한다. 도 3에 도시된 것처럼, 상기 거리는, 예를 들면, 상기 타겟 셀과 기준점을 둘러싸는 바운딩 박스(30)를 구성하고 나서 그 바운딩 박스(30)의 대향 코너 사이의 대각선의 길이를 계측함으로써 결정되어도 된다.
따라서, 상기 AOCV 테이블은, 주어진 셀에 대한 타이밍 디레이트를 선택하기 위해 상기 셀 깊이와 상기 거리 양쪽에 의해 색인이 생성될 수도 있다. 그러나, AOCV 테이블은, 특별한 집적회로 설계에 있어서 타겟 셀을 둘러싸고 있는 실제의 조건에 상관없이, 상기 타겟 셀을 둘러싸고 있는 단일의 설계조건에서 표준 셀의 모의 실험에 의거하여 결정되는 것이 일반적이다. 실제로, 설계에 있어서 다른 장소에 위치된 동일한 셀은 주변회로에 따라 다른 설계조건을 경험하기도 한다. 예를 들면, 도 4는 지연 변동에 영향을 미치는 여러 가지의 설계 파라미터의 예들을 나타낸다. 그 파라미터의 예들로는, 상기 신호를 제1 기준값으로부터 제2 기준값으로 변경하는데 필요한 시간의 길이를 특징으로 하는 등, 상기 셀에 대한 입력신호의 입력 슬루율(입력신호가 얼마나 빨리 상승 또는 하강하는가)이 있다. 또한, 상기 설계 파라미터는, 상기 셀, 이를테면 전원에 인가된 전압레벨의 변동을 포함한다. 예를 들면, 이 전압변동은, IR강하에 의해 생기는 경우도 있다. 또한, 상기 셀에 결합된 용량성 부하는 상기 셀의 전파 지연에 영향을 미치는데, 그 이유는 부하가 크면 상기 셀에 의해 구동된 신호들의 천이가 보다 느려질 수도 있기 때문이다. 따라서, 상기 슬루 파라미터 ΔT, 전압V, 및 부하Cload 모두는, 상기 셀의 설계조건에 영향을 미치고, AOCV 테이블(4)을 결정할 때 가정된 대응 조건과는 달라도 된다. 이것은, 실제로, AOCV 테이블로 결정한 타이밍 디레이트는, 상기 셀을 거친 상기 전파 지연의 변동이 실제로는 작동중일 때 상기 셀이 겪는 변동보다 크거나 작은 것을 가리킬 수도 있다는 것을 의미한다. 이것은, 낙관주의에 의해 상기 STA툴이 실제는 실제로 실패할 때 상기 집적회로 설계를 통과하게 될 수도 있고, 비관주의에 의해 데이터 또는 클록 경로에 추가의 버퍼(22)가 삽입될 수도 있는 긍정 오류 타이밍 위반이 검출되게 되어, 제조시에 상기 회로의 회로면적과 소비전력을 증가시키기 때문에 문제가 된다.
그러므로, 각 셀의 예상 설계조건에 의거하여 AOCV 테이블(4)로부터의 타이밍 디레이트를 조정할 수 있다. 도 1을 다시 참조하면, 셀마다 예상 설계조건을 규정하는 데이터(40)는 STA툴에 입력된다. 예를 들면, 이 데이터를 (SPICE 또는 다른 모의 실험 툴 등을 사용하여 행해진) 상기 집적회로 설계의 모의 실험으로부터 얻을 수 있거나, 테스터가 시험하고 싶은 특정 설계조건들을 입력하여도 된다. 상기 데이터(40)는, 셀마다 설계조건을 나타내는 하나 이상의 파라미터(예를 들면, 슬루, 부하, 전압)를 규정하고 있다. 일부의 경우에는, 상기 예상 설계조건들을, 상기 STA툴에 의해 기록매체로부터 판독하거나, 네트워크 링 등의 통신접속에 의해 수신하여도 된다.
주어진 셀에 대한 상기 예상 설계조건에 의거하여, 그 셀에 대한 디레이트 조정(42)이 결정된다. 예를 들면, STA툴은, 서로 다른 예상 설계조건들에 대한 다수의 서로 다른 디레이트 조정값을 기억하는 데이터 구조를 유지하여도 되거나, 설계조건들을 대응한 디레이트 조정에의 매핑은 그 STA툴의 소프트웨어에 코딩되어도 된다. 주어진 타겟 셀에 대한 디레이트 조정을 선택하였으면, AOCV 테이블(4)로부터의 타이밍 디레이트는, 단계 44에서 상기 예상 조건에서의 셀을 거친 예상 지연 변동을 나타내는 조정된 디레이트를 제공하기 위해 상기 디레이트 조정과 곱해진다. 마찬가지로, 조정된 디레이트는, 그 설계에 있어서 타겟 셀마다 결정될 수 있다. 그 후, 그 조정된 디레이트는, STA툴(46)에 의해 상기 회로설계의 신호경로들을 거친 예상 타이밍을 추정하는데 사용된다. 단계 48에서는, STA툴은 타이밍 위반이 있었는가를 판정한다. 예를 들면, 셋업 시간 위반은, 논리 셀에 상기 클록신호에 비해 너무 늦게 도달하여서 다음 단계로 진행해야 할 때를 놓치는 경우에 검출되어도 된다. 셋업 시간 위반이 검출되면, 상기 회로 설계는, 예를 들면 클록 경로에 별도의 버퍼들을 추가하여 그 클록신호의 속도를 늘리게 하여서 그 위반을 정정하도록 수정될 수 있다. 한편, 홀드(hold) 시간 위반은, 데이터 경로상의 입력신호가 클록의 액티브 천이 후 곧바로 변화하는 경우 검출되어도 된다. 홀드 시간 위반은, 하나의 별도의 버퍼를 상기 데이터 경로에 추가하여서 정정되어도 된다. 그 검출된 타이밍 위반을 제거하려고 회로 설계를 수정하였다면, 상기 STA 프로세스는, 상기 수정된 회로가 그 타이밍 요구사항을 충족시키는지를 검사하기 위해 반복될 수 있다. 타이밍 위반이 없다면, 단계50에서는, 회로 설계가 기능적이라고 예상되고 그 타이밍 요구사항을 충족시킨다는 것을 나타내기 위해 통과(pass) 보고를 발행한다.
상기 셀의 예상 설계조건들에 의거하여 타이밍 디레이트를 조정함으로써, 타이밍 위반의 긍정 오류나 부정 오류 검출을 줄일 수 있어 상기 회로가 정확히 기능하는 것을 STA툴이 발행한 통과 보고(50)가 정확히 반영할 가능성을 높이고, 추가의 버퍼들을 신호경로에 삽입할 때 추가의 회로 비용을 야기시킬 정확한 기능성을 확보하기 위해 추가의 타이밍 여유의 필요성을 감소시킬 수 있다.
도 5는 도 1의 STA방법에서 적용되는 디레이트 조정을 결정하는 방법을 나타낸다. 단계 60에서는, 선택된 설계조건, 예를 들면 슬루, 부하 또는 전압값의 소정의 선택조건에서 타겟 셀을 모의 실험한다. 단계 62에서는, 그 선택된 조건에 대해, 상기 셀을 거친 전파 지연의 분산을 결정한다. 단계 64에서는, 그 선택된 설계조건에서의 상기 지연의 분산과, 상기 AOCV테이블(4)을 산출하는데 사용되었던 디폴트 설계조건에서의 상기 지연의 분산에 의거하여, 그 설계조건에 대한 디레이트 조정을 결정한다. 예를 들면, 일반적으로, 클록 경로의 디레이트는, 아래 식에 따라 계산되어도 된다:
Figure pat00002
여기서, σdelay 및 μdelay는, 표준편차와 그 전파 지연의 평균값이고, n은 STA테스터가 선택한 표준편차의 특정한 수이다. 일반적으로, 그 표준편차의 수n을 증가시킴으로써, 그 회로가 그 타이밍 요구사항을 충족시킬 신뢰성을 보다 높일 수 있다. 그러나, 이는, 상기 지연이 상기 평균에서 표준편차의 다수만큼 벗어나는 경우들을 처리하는데 별도의 버퍼들을 상기 타이밍 경로에 추가하는 손해를 볼 수도 있다. 실제로, 상기 테스터는, 반드시 상기 회로의 충분히 높은 퍼센트가 그들의 타이밍 요구사항을 충족시키는 값을 선택하여도 된다. 예를 들면, n=2이면, 셀들의 96%가 상기 평균 지연의 2개의 표준편차내에 있고, n=3이면, 셀들의 99.7%가 상기 평균 지연의 3개의 표준편차내에 있다. 일반적으로, 그 표준편차의 수는, 제조시 수율에 있어서 백만당 얼마의 부품이 희생하는 것이 허용 가능한가에 의거하여 결정되어도 된다. 상기 표준편차의 수는, 회로 설계 전반의 실패면에서 홀드 위반은 보다 중요하므로, 셋업 위반이 홀드 위반과 비교하여 달라도 된다.
선택 설계조건의 디레이트 조정은, 다음식에 따라 계산되어도 된다:
Figure pat00003
여기서, σindex1_index2_delay 및 μindex1_index2_delay는, 상기 선택 설계조건을 나타내는 설계 파라미터 색인(예를 들면, index1은 슬루를 나타내고, index2는 부하를 나타낸다)에 대한 전파 지연의 표준편차 및 평균값이고, σaocv_index_delay 및 μaocv_index_delay는, AOCV테이블을 결정하였던 설계조건을 나타내는 설계 파라미터 색인에 대한 전파 지연의 표준편차 및 평균값이고, n은 시험을 위해 선택된 표준편차의 특정한 수이다. 상기 평균으로 나누어진 표준편차는, 소정의 설계조건에 대한 지연의 분산을 나타낸다. 그리고, 단계 66에서는, 상기 디레이트 조정계수를 기억한다, 예를 들면, 그 조정계수를 기록매체에 기록하거나 테이블 또는 그 밖의 데이터 구조에 기억한다. 단계 68에서는, 시험되어야 하는 다른 설계조건이 있는지를 판정하여, 있을 경우, 설명 파라미터 중 하나 이상이 최후의 설계조건과 비교하여 달라지는 그 밖의 설계조건을 위해, 단계 60으로 되돌아간다.
이렇게 하여, 디레이트 조정은 다수의 다른 설계조건에 대해 결정될 수 있고, 그 디레이트 조정은, 도 1의 방법에서 사용하기 위한 STA툴 소프트웨어에 기억 또는 코딩될 수 있다. 다른 설계조건을 엄밀하게 조사할 뿐만 아니라, 다른 디레이트 조정도, 셀 특정 디레이트 조정이 도 1의 단계 42에서 선택될 수 있도록 다른 타입의 표준 셀에 대해서도 결정될 수 있었다.
도 6에 도시된 것처럼, 설계조건마다 상기 디레이트 조정을 식별하였다면, 특별한 디레이트 조정은, 주어진 세트의 설계 파라미터에 대해 선택되어도 된다. 예를 들면, 도 6은, 상기 디레이트 조정이 슬루 및 부하에 대해 미리 결정되고 나서 주어진 셀에 대한 슬루 및 부하값들이 적용되는 특별한 디레이트 조정을 선택하기 위해 상기 테이블에 색인을 생성하는데 사용되는 경우를 도시한 것이다. 도 7에 도시된 것처럼, 각 세트의 색인은, 서로 다른 조정계수에 해당한다. 예를 들면, 도 6 및 도 7의 예시에서는, 상기 슬루의 값이 색인 1-4로 식별되었고 그 부하의 값이 색인 2-4로 식별된 지점(80)에 대해 상기 AOCV테이블(4)을 결정하였다고 가정한다. 도 7은 3개의 서로 다른 설계조건(82, 84, 86)에 대한 조정계수를 계산하는 방법을 나타내고, 이때, 그 조정계수는 디폴트 AOCV위치(80)에 대한 타이밍 디레이트를 곱하여 그 밖의 설계조건(82, 84, 86)에 대한 타이밍 디레이트를 생성해야 하는 양을 나타낸다. 따라서, 각 위치는, 상기 AOCV테이블에 사용된 원래의 부하와 슬루에 대한 그 위치의 부하 및 슬루에 의거하여 디레이트가 달라지게 된다. AOCV 슬루 부하 지점에 대한 테이블내의 위치에 따라, 디레이트 조정계수는, 변동량을 증감하도록, 1보다 크거나 작아도 된다. 이것은, 상기 조건들이 AOCV 디폴트 조건보다 다소 바람직하였는지를 반영한다.
그리고, 상기 계산된 디레이트 정정은, 표준 STA툴 설정을 사용하여 각 슬루/부하 범위내의 상기 셀들을 찾아 추가의 디레이트를 상기 테이블에서의 해당 위치에 의거하여 보다 빠르게 하거나 보다 느리게 하는, 스크립트(예를 들면, tcl(도구 명령 언어) 스크립트)에 포함되어도 된다. 이에 따라, 하나의 지점에 대해서만 생성된 AOCV테이블(4)을 사용하여서 도입되었던 타이밍 경로에 관해 어떠한 비관주의나 낙관주의도 제거한다. 예를 들면, 아래에는 이를 이루기 위한 tcl스크립의 샘플이 나타내어져 있다:
Figure pat00004
Figure pat00005
Figure pat00006
Figure pat00007
Figure pat00008
Figure pat00009
Figure pat00010
Figure pat00011
Figure pat00012
Figure pat00013
도 8은 상술한 방법들을 구현하는데 사용되어도 되는 컴퓨터 장치(100)의 예시도다. 컴퓨터 장치는, 중앙처리장치(102), 랜덤 액세스 메모리(104), 판독전용 메모리(106), 네트워크 인터페이스 카드(108), 하드 디스크 드라이브(110), 디스플레이 드라이버(112) 및 모니터(114), 및 키보드(118)와 마우스(120)를 갖는 유저 입/출력 회로(116) 전부가 공통 버스(122)를 거쳐 접속된, 범용 컴퓨터이어도 된다. 동작상, 중앙처리장치(102)는, 랜덤 액세스 메모리(104), 판독전용 메모리(106) 및 하드 디스크 드라이브(110) 중 하나 이상에 기억되거나 동적으로 상기 네트워크 인터페이스 카드(108)를 통해 다운로드될 수도 있는 컴퓨터 프로그램 명령어를 실행한다. 행해진 처리 결과는, 디스플레이 드라이버(112)와 모니터(114)를 거쳐 유저에게 표시되어도 된다. 상기 범용 컴퓨터(100)의 동작을 제어하기 위한 유저 입력들은, 유저 입출력 회로(116)를 거쳐 상기 키보드(118)나 마우스(120)로부터 수신되어도 된다. 컴퓨터 프로그램은 다양한 서로 다른 컴퓨터 언어로 기록될 수 있다는 것을 알 것이다. 상기 컴퓨터 프로그램은, 기록매체에 기억되어 배포되거나, 범용 컴퓨터(100)에 동적으로 다운로드되어도 된다. 적절한 컴퓨터 프로그램의 제어하에 작동할 때, 상기 범용 컴퓨터(100)는, 상술한 기술들을 실행할 수 있고, 그 상술한 기술들을 행하기 위한 장치를 구성하도록 생각될 수 있다. 범용 컴퓨터(100)의 아키텍처는 상당히 달라질 수 있고, 도 8은 단지 일례일 뿐이다. 이와는 달리, 상술한 기술들은 보다 분산되게 구현되어도 되고, 여기서, 도 8에 도시된 상기 범용 컴퓨터(100)는, 이들의 기술을 실행하는데 필요한 처리를 공유하는 별도의 물리적 기기에 관해 구현된 부품으로 이루어진 인프라스트럭처에 의해 확장 및/또는 대체되어도 된다. 이러한 별도의 물리적 기기들은, 물리적으로 서로 근사되어도 되거나, 심지어 전체적으로 서로 다른 물리적 장소에 위치되어도 된다. 일부의 구성에서는, 이러한 인프라스트럭처를, '클라우드 컴퓨팅' 구조라고 부른다. 컴퓨터(100)에서 실행한 소프트웨어 툴은, 타이밍과 설계를 분석하는데 사용되어도 된다. 예를 들면, 상업적으로 입수 가능하거나 사내 STA툴을 사용하여도 된다.
본 발명의 실시예들을 본 명세서에서는 첨부도면을 참조하여 상세히 설명하였지만, 본 발명은 그들의 구체적인 실시예들에 한정되는 것은 아니고, 첨부된 청구항에 기재된 것과 같은 본 발명의 범위와 사상을 벗어나지 않고 당업자가 여러 가지로 변경 및 변형할 수 있다는 것을 알 것이다.

Claims (24)

  1. 집적회로 설계의 신호경로의 예상 타이밍을 결정하는 컴퓨터 구현 정적 타이밍 분석방법으로서,
    상기 신호경로상의 타겟 셀에 있어서의 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건의 상기 타겟 셀을 거친 전파 지연의 변동을 나타내는 타이밍 디레이트를 결정하는 단계;
    상기 집적회로 설계에서 상기 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정하는 단계;
    상기 타겟 셀의 상기 예상 설계조건에 근거하여 디레이트 조정을 결정하는 단계;
    상기 디레이트 조정을 사용하여 조정된 타이밍 디레이트를 발생하기 위해 상기 타이밍 디레이트를 조정하는 단계; 및
    상기 타겟 셀의 상기 조정된 타이밍 디레이트에 근거하여 상기 신호경로의 예상 타이밍을 결정하는 단계를 포함하는, 정적 타이밍 분석방법.
  2. 제 1 항에 있어서,
    상기 예상 설계조건과 상기 디폴트 설계조건은, 상기 타겟 셀의 적어도 하나의 설계 파라미터에 좌우되는, 정적 타이밍 분석방법.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 설계 파라미터는,
    상기 타겟 셀의 용량성 부하;
    상기 타겟 셀에 대한 입력신호의 슬루율; 및
    상기 타겟 셀에 인가된 전압레벨의 변동 중 적어도 하나를 포함하는, 정적 타이밍 분석방법.
  4. 제 2 항에 있어서,
    상기 예상 설계조건에서, 상기 적어도 하나의 설계 파라미터의 하나 이상이 상기 디폴트 설계조건과 다른, 정적 타이밍 분석방법.
  5. 제 1 항에 있어서,
    상기 타이밍 디레이트는, 상기 집적회로 설계내의 타겟 셀의 상대위치에 따라 결정되는, 정적 타이밍 분석방법.
  6. 제 1 항에 있어서,
    상기 타이밍 디레이트는, 논리적 깊이와, 상기 집적회로의 상기 타겟 셀과 기준점 사이의 거리 중, 적어도 하나에 따라 결정되는, 정적 타이밍 분석방법.
  7. 제 1 항에 있어서,
    상기 타이밍 디레이트는 디레이트 테이블로부터 판독되는, 정적 타이밍 분석방법.
  8. 제 7 항에 있어서,
    상기 디레이트 테이블은 개선된 온칩 변동(AOCV) 테이블인, 정적 타이밍 분석방법.
  9. 제 1 항에 있어서,
    상기 예상 설계조건은 상기 집적회로 설계의 모의 실험에 의거하여 결정되는, 정적 타이밍 분석방법.
  10. 제 1 항에 있어서,
    상기 예상 설계조건은 유저에 의해 입력되는, 정적 타이밍 분석방법.
  11. 제 1 항에 있어서,
    상기 디레이트 조정은, 서로 다른 예상 설계조건에 대한 디레이트 조정을 기억하는 데이터 구조로부터 판독되는, 정적 타이밍 분석방법.
  12. 제 1 항에 있어서,
    상기 예상 설계조건에 대한 디레이트 조정은, 상기 예상 설계조건에서 상기 타겟 셀을 거친 전파 지연의 모의 실험된 분산에 의거하여 미리 정해진, 정적 타이밍 분석방법.
  13. 제 1 항에 있어서,
    상기 디레이트 조정은 상기 타겟 셀의 셀 타입에 의거하여 결정되는, 정적 타이밍 분석방법.
  14. 제 1 항에 있어서,
    상기 타이밍 디레이트는, 그 타이밍 디레이트와 상기 디레이트 조정을 곱하여서 조정되는, 정적 타이밍 분석방법.
  15. 제 1 항에 있어서,
    하나 이상의 타이밍 위반은, 상기 조정된 타이밍 디레이트에 의거하여 결정된 신호경로의 예상 타이밍에 의거하여 상기 집적회로 설계에서 일어나는지를 검출하는 것을 포함하는, 정적 타이밍 분석방법.
  16. 정적 타이밍 분석시에 집적회로 설계의 타겟 셀에 대한 타이밍 디레이트를 조정하기 위한 디레이트 조정을 결정하는 컴퓨터 구현 방법으로서, 상기 타이밍 디레이트는 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건에 대한 타겟 셀을 거친 전파 지연의 변동을 나타내고, 상기 방법은,
    상기 타겟 셀을 둘러싸고 있는 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하는 단계;
    상기 모의 실험단계의 결과에 의거하여, 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제1 분산을 결정하는 단계;
    상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제2 분산에 의거하여, 상기 다른 설계조건에 대한 디레이트 조정을 결정하는 단계; 및
    상기 정적 타이밍 분석시에 사용하기 위한 디레이트 조정을 기억하는 단계를 포함하는, 컴퓨터 구현 방법.
  17. 제 16 항에 있어서,
    상기 디레이트 조정은, 상기 제1 분산에 의거하여 결정된 타이밍 디레이트를, 상기 제2 분산에 의거하여 결정된 타이밍 디레이트로 나누어서 결정되는, 컴퓨터 구현 방법.
  18. 제 16 항에 있어서,
    상기 디레이트 조정은 아래식에 따라 결정되는 컴퓨터 구현 방법:
    Figure pat00014

    여기서,
    A는 디레이트 조정,
    n은 표준 편차의 지정된 수,
    σdelay_different는 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 표준편차,
    μdelay_different는 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 전파 지연의 평균값,
    σdelay_default는 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 전파 지연의 표준편차,
    μdelay_default는 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 전파 지연의 평균값이다.
  19. 제 16 항에 있어서,
    상기 모의 실험단계는, 복수의 서로 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하고,
    상기 디레이트 조정은, 상기 모의 실험단계에서 모의 실험된 서로 다른 설계조건마다 결정되어 기억되는, 컴퓨터 구현 방법.
  20. 제 16 항에 있어서,
    상기 모의 실험단계는, 복수의 서로 다른 타입의 타겟 셀에 대한 상기 전파 지연을 모의 실험하고,
    상기 디레이트 조정은, 상기 모의 실험단계에서 모의 실험된 타겟 셀의 서로 다른 타입마다 결정되어 기억되는, 컴퓨터 구현 방법.
  21. 집적회로 설계의 신호경로의 예상 타이밍을 결정하는 정적 타이밍 분석을 행하도록 구성된 컴퓨터 장치로서,
    상기 컴퓨터 장치는,
    상기 신호경로상의 타겟 셀에 있어서의 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건의 상기 타겟 셀을 거친 전파 지연의 변동을 나타내는 타이밍 디레이트를 결정하고,
    상기 집적회로 설계에서 상기 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정하고,
    상기 타겟 셀의 상기 예상 설계조건에 근거하여 디레이트 조정을 결정하고,
    상기 디레이트 조정을 사용하여 조정된 타이밍 디레이트를 발생하기 위해 상기 타이밍 디레이트를 조정하고,
    상기 타겟 셀의 상기 조정된 타이밍 디레이트에 근거하여 상기 신호경로의 상기 예상 타이밍을 결정하도록 구성된, 처리회로소자를 구비한, 컴퓨터 장치.
  22. 집적회로 설계의 신호경로의 예상 타이밍을 결정하는 정적 타이밍 분석을 행하는 컴퓨터 장치로서,
    상기 컴퓨터 장치는,
    상기 신호경로상의 타겟 셀에 있어서의 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건의 상기 타겟 셀을 거친 전파 지연의 변동을 나타내는 타이밍 디레이트를 결정하고,
    상기 집적회로 설계에서 상기 타겟 셀을 둘러싸고 있는 예상 설계조건을 결정하고,
    상기 타겟 셀의 상기 예상 설계조건에 근거하여 디레이트 조정을 결정하고,
    상기 디레이트 조정을 사용하여 조정된 타이밍 디레이트를 발생하기 위해 상기 타이밍 디레이트를 조정하고,
    상기 타겟 셀의 상기 조정된 타이밍 디레이트에 근거하여 상기 신호경로의 상기 예상 타이밍을 결정하기 위한, 처리수단을 구비한, 컴퓨터 장치.
  23. 정적 타이밍 분석시에 집적회로 설계의 타겟 셀에 대한 타이밍 디레이트를 조정하기 위한 디레이트 조정을 결정하도록 구성된 컴퓨터 장치로서, 상기 타이밍 디레이트는 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건에 대한 타겟 셀을 거친 전파 지연의 변동을 나타내고,
    상기 컴퓨터 장치는,
    상기 디폴트 설계조건과 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하고,
    상기 모의 실험 결과에 의거하여, 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제1 분산을 결정하고,
    상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제2 분산에 의거하여, 상기 다른 설계조건에 대한 디레이트 조정을 결정하고,
    상기 정적 타이밍 분석시에 사용하기 위한 디레이트 조정을 기억하도록 구성된, 처리회로소자를 구비한, 컴퓨터 장치.
  24. 정적 타이밍 분석시에 집적회로 설계의 타겟 셀에 대한 타이밍 디레이트를 조정하기 위한 디레이트 조정을 결정하는 컴퓨터 장치로서, 상기 타이밍 디레이트는 상기 타겟 셀을 둘러싸고 있는 디폴트 설계조건에 대한 전파 지연의 변동을 나타내고,
    상기 컴퓨터 장치는,
    상기 디폴트 설계조건과 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연을 모의 실험하고,
    상기 모의 실험 결과에 의거하여, 상기 다른 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제1 분산을 결정하고,
    상기 제1 분산과, 상기 디폴트 설계조건에 대한 상기 타겟 셀을 거친 상기 전파 지연의 제2 분산에 의거하여, 상기 다른 설계조건에 대한 디레이트 조정을 결정하고,
    상기 정적 타이밍 분석시에 사용하기 위한 디레이트 조정을 기억하기 위한, 처리수단을 구비한, 컴퓨터 장치.
KR1020150080378A 2014-06-18 2015-06-08 정적 타이밍 분석의 타이밍 디레이트 조정방법 KR102436880B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/307,646 2014-06-18
US14/307,646 US20150370955A1 (en) 2014-06-18 2014-06-18 Method for adjusting a timing derate for static timing analysis

Publications (2)

Publication Number Publication Date
KR20150145179A true KR20150145179A (ko) 2015-12-29
KR102436880B1 KR102436880B1 (ko) 2022-08-26

Family

ID=54869887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150080378A KR102436880B1 (ko) 2014-06-18 2015-06-08 정적 타이밍 분석의 타이밍 디레이트 조정방법

Country Status (3)

Country Link
US (1) US20150370955A1 (ko)
KR (1) KR102436880B1 (ko)
TW (1) TWI689833B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019240345A1 (ko) * 2018-06-12 2019-12-19 연세대학교 산학협력단 Ntv 영역에서의 정적 타이밍 분석 방법 및 그 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690889B2 (en) 2014-06-18 2017-06-27 Arm Limited Method for adjusting a timing derate for static timing analysis
US10318676B2 (en) * 2017-01-25 2019-06-11 Ampere Computing Llc Techniques for statistical frequency enhancement of statically timed designs
CN108021749B (zh) * 2017-12-04 2021-08-06 延锋伟世通电子科技(上海)有限公司 利用仿真工具计算dram通讯数据建立时间及保持时间的方法
TWI689835B (zh) * 2018-06-13 2020-04-01 瑞昱半導體股份有限公司 用於適應性電壓縮放以消除整體設計之延遲變異的方法與裝置
CN110619132B (zh) * 2018-06-20 2023-11-24 瑞昱半导体股份有限公司 用于适应性电压缩放的方法与装置
US10810346B2 (en) * 2018-09-28 2020-10-20 Taiwan Semiconductor Manufacturing Co., Ltd. Static voltage drop (SIR) violation prediction systems and methods
US11475194B1 (en) 2020-01-31 2022-10-18 Apex Semiconductor Multi-PVT frequency prediction (multi-PVT FP) for statically timed designs through statistical regression
US11068637B1 (en) * 2020-03-31 2021-07-20 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for context aware circuit design

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100050139A1 (en) * 2008-08-22 2010-02-25 Freescale Semiconductor, Inc. Data processing device design tool and methods
US20130227510A1 (en) * 2012-02-28 2013-08-29 CIk Design Automation, Inc. Database based timing variation analysis
US20130239079A1 (en) * 2012-03-09 2013-09-12 Alexander Tetelbaum System and method for taking inter-clock correlation into account in on-chip timing derating

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047346A (en) * 1998-02-02 2000-04-04 Rambus Inc. System for adjusting slew rate on an output of a drive circuit by enabling a plurality of pre-drivers and a plurality of output drivers
US6150862A (en) * 1998-10-15 2000-11-21 Intel Corporation Stable delay buffer
US7418689B2 (en) * 2005-04-27 2008-08-26 International Business Machines Corporation Method of generating wiring routes with matching delay in the presence of process variation
TW200925825A (en) * 2007-12-10 2009-06-16 Silicon Integrated Sys Corp Method of balancing path delay of clock tree in integrated circuit (IC) layout
US8108816B2 (en) * 2009-06-15 2012-01-31 International Business Machines Corporation Device history based delay variation adjustment during static timing analysis
US20130152034A1 (en) * 2011-12-09 2013-06-13 Lsi Corporation System and method for reducing integrated circuit timing derating
US8806413B2 (en) * 2012-09-17 2014-08-12 Texas Instruments Incorporated Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models
US8656331B1 (en) * 2013-02-14 2014-02-18 Freescale Semiconductor, Inc. Timing margins for on-chip variations from sensitivity data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100050139A1 (en) * 2008-08-22 2010-02-25 Freescale Semiconductor, Inc. Data processing device design tool and methods
US20130227510A1 (en) * 2012-02-28 2013-08-29 CIk Design Automation, Inc. Database based timing variation analysis
US9245071B2 (en) * 2012-02-28 2016-01-26 Clk Design Automation, Inc. Database based timing variation analysis
US20130239079A1 (en) * 2012-03-09 2013-09-12 Alexander Tetelbaum System and method for taking inter-clock correlation into account in on-chip timing derating

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019240345A1 (ko) * 2018-06-12 2019-12-19 연세대학교 산학협력단 Ntv 영역에서의 정적 타이밍 분석 방법 및 그 장치
KR20190140726A (ko) * 2018-06-12 2019-12-20 연세대학교 산학협력단 Ntv 영역에서의 정적 타이밍 분석 방법 및 그 장치

Also Published As

Publication number Publication date
US20150370955A1 (en) 2015-12-24
TW201602819A (zh) 2016-01-16
TWI689833B (zh) 2020-04-01
KR102436880B1 (ko) 2022-08-26

Similar Documents

Publication Publication Date Title
KR102436880B1 (ko) 정적 타이밍 분석의 타이밍 디레이트 조정방법
US10222852B2 (en) Voltage and frequency balancing at nominal point
US9892220B2 (en) Method and apparatus for adjusting a timing derate for static timing analysis
US9542524B2 (en) Static timing analysis (STA) using derived boundary timing constraints for out-of-context (OOC) hierarchical entity analysis and abstraction
US20210287120A1 (en) Machine learning-based prediction of metrics at early-stage circuit design
US9165105B2 (en) Rule checking for confining waveform induced constraint variation in static timing analysis
US10268787B2 (en) Hybrid timing analysis method and associated system and non-transitory computer readable medium
US8407021B2 (en) Delay analysis device, delay analysis method, and delay analysis program
US20210173993A1 (en) Machine Learning Based Methods and Apparatus for Integrated Circuit Design Delay Calculation and Verification
US9424379B2 (en) Simulation system and method for testing a simulation of a device against one or more violation rules
US11416662B1 (en) Estimating diagnostic coverage in IC design based on static COI analysis of gate-level netlist and RTL fault simulation
US10789406B1 (en) Characterizing electronic component parameters including on-chip variations and moments
US9471732B2 (en) Equivalent device statistical modeling for bitline leakage modeling
US9767239B1 (en) Timing optimization driven by statistical sensitivites
CN112069763B (zh) 修正电路的方法
JP2007304957A (ja) タイミング解析方法及びタイミング解析装置
US10169502B2 (en) Addressing of process and voltage points
US10002225B2 (en) Static timing analysis with improved accuracy and efficiency
Sadi et al. SoC speed binning using machine learning and on-chip slack sensors
TWI818068B (zh) 用於分段記憶體實體之方法及裝置
US10540464B1 (en) Critical path aware voltage drop analysis of an integrated circuit
CN115688641A (zh) 一种表征标准单元片上变化参数的方法与系统
US8301431B2 (en) Apparatus and method for accelerating simulations and designing integrated circuits and other systems
US10885248B1 (en) Method for modeling glitches during circuit simulation
McConaghy et al. High-Sigma Verification and Design: The Accuracy of Five Billion Monte Carlo Samples in Minutes

Legal Events

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