KR20070048273A - 논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및논리 검증 장치 - Google Patents

논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및논리 검증 장치 Download PDF

Info

Publication number
KR20070048273A
KR20070048273A KR1020077007498A KR20077007498A KR20070048273A KR 20070048273 A KR20070048273 A KR 20070048273A KR 1020077007498 A KR1020077007498 A KR 1020077007498A KR 20077007498 A KR20077007498 A KR 20077007498A KR 20070048273 A KR20070048273 A KR 20070048273A
Authority
KR
South Korea
Prior art keywords
data
circuit
logic
verification
circuit data
Prior art date
Application number
KR1020077007498A
Other languages
English (en)
Inventor
카즈히로 야마모토
Original Assignee
주식회사 아도반테스토
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아도반테스토 filed Critical 주식회사 아도반테스토
Publication of KR20070048273A publication Critical patent/KR20070048273A/ko

Links

Images

Classifications

    • 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

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

Abstract

집적 회로의 기능을 정의한 디바이스 데이터를 사용해 집적 회로의 논리 검증을 행하는 논리 검증 방법에 있어서, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와, 경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 제1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터를 포함하는 복수의 논리 모듈 데이터를 포함하여 형성된 디바이스 데이터를 읽어들이는 디바이스 데이터 읽기 공정과, 디바이스 데이터에 포함되는 논리 모듈 데이터에 있어서, 제1 회로 데이터 또는 제2 회로 데이터 중 어느 한쪽을 선택하는 선택 공정과, 선택한 회로 데이터를 사용한 디바이스 데이터에 기초하는 논리 검증 동작을 행하는 검증 공정을 포함하는 것을 특징으로 하는 논리 검증 방법을 제공한다.
논리 검증, 집적 회로,

Description

논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및 논리 검증 장치{LOGIC VERIFICATION METHOD, LOGIC MODULE DATA, DEVICE DATA, AND LOGIC VERIFICATION DEVICE}
본 발명은, 논리 검증 장치에 의한 검증의 대상으로서 적어도 사용되는 디바이스 데이터의 일부를 형성하여, 대응하는 집적 회로의 기능의 일부를 정의한 논리 모듈 데이터, 논리 모듈 데이터를 사용한 디바이스 데이터, 디바이스 데이터의 논리 검증을 행하는 논리 검증 장치 및 논리 검증 방법에 관한 것이다. 본 출원은, 하기의 일본 출원과 관련이 있다. 문헌의 참조에 의한 편입이 인정되는 지정국에 대해서는, 하기의 출원에 기재된 내용을 참조에 의해 본 출원에 편입하여, 본 출원의 일부로 한다.
일본 특허출원 2004-254872  출원일 2004년 9월 1일
최근 초(超)LSI 등의 집적 회로를 개발하는 공정에 있어서, 일반적으로 컴퓨터 지원에 의한 설계 수법(CAD)이 채용되고 있다. 이러한 CAD를 사용한 개발 공정에서는, 이른바 하드웨어 기술 언어를 사용해 개발 대상인 집적 회로의 기능에 따 른 추상적인 회로 데이터를 정의하고, 정의한 회로 데이터에 기초해 칩 상에 탑재하는 구체적인 회로 구조를 생성하고 있다.
예를 들면, 대응하는 집적 회로의 전체를 몇 개의 기능 블록으로 분리하고, 각 기능 블록을 RTL(Register Transfer Level)에 의해 기술(記述)한 회로 데이터를 생성한다. 이러한 RTL 기술 회로 데이터를 논리 합성 툴 등을 사용해 논리 회로를 생성하고, 집적 회로 상에 있어서의 레이아웃 등을 결정함으로써, 실제의 집적 회로의 구체적인 구성이 결정되게 된다(예를 들면, 특허 문헌 1 참조).
특허 문헌 1 : 일본 특허출원공개 평10-283388호 공보
[발명이 해결하고자 하는 과제]
그러나, 현실적으로는 모든 집적 회로의 설계·검증이 상기의 프로세스에 의해 완료되는 것은 아니다. 즉, 대응하는 집적 회로의 특성에 따라서는, RTL 기술 회로에만 기초해 설계하는 것에 의해서는 충분한 성능을 갖는 집적 회로를 실현하는 것이 곤란해지는 경우가 있다.
예를 들면, 타이밍 발생 회로처럼 수 피코(pico) 초의 레벨로 시간 지연을 제어할 필요가 있는 회로의 경우에는, 이러한 지연을 포함하는 RTL 기술 회로를 생성하는 것은 곤란하며, 이것은 RTL 기술 회로에 기초해 도출되는 논리 회로 등에 관해서도 마찬가지이다. 이 때문에, 치밀한 시간 지연 제어를 행하는 회로 등, 소정의 특성을 중시한 집적 회로의 설계를 행하는 경우에는, 논리 회로의 생성 시에 적어도 집적 회로의 일부의 회로 부분에 관해 설계자가 개별 구체적으로 회로도 에디터 및 레이아웃 에디터등을 사용한 설계를 행할 필요성이 발생한다.
그리고, 시간 지연 등의 소정의 특성을 중시한 집적 회로에 관해서는, 상기의 설계 상의 곤란성에 더해, 검증에 따른 문제가 새롭게 발생한다. 즉, 이러한 집적 회로에서는, 설계 도중에 얻어지는 논리 회로에 관해 적어도 일부에 대해, 설계자가 개별 구체적으로 설계하므로, RTL 기술 회로 뿐만 아니라 논리 회로에 관해서도 논리 검증을 행할 필요가 있다.
RTL 기술 회로처럼 하드웨어 기술 언어 만에 의해 소정의 기능을 정의한 디바이스 데이터를 사용한 논리 검증에 대해서는, 단시간에 행하는 것이 가능한 한편, 대응하는 집적 회로가 내부의 구성 요소 간에 데이터 홀드 등의, 시간 경과에 따른, 즉, 경시적(經時的)인 처리를 행할 필요가 있는 경우에, 충분한 검증을 행하는 것이 곤란하다는 문제를 가진다. 즉, 하드웨어 기술 언어 만에 의해 정의한 디바이스 데이터는, 원래 경시적인 처리를 충분히 정의하는 것이 곤란하기 때문에, 논리 검증에 의해 특별히 문제가 발생하지 않더라도 경시적인 처리에 관해 문제가 있는지 아닌지의 판단을 할 수 없었다. 이 때문에, 종래의 설계 수법에서는, 특히 타이밍 발생 회로처럼 고속 동작하는 집적 회로의 설계에 있어서, 하드웨어 기술 언어만에 의해 정의한 디바이스 데이터에 관해 논리 검증을 행한 후, 특히 경시적 처리에 관한 부분에 대해 설계자가 타이밍 정보를 부가하면서 회로도 에디터 등을 사용해 수작업으로 설계한 부분을 포함하는 논리 회로를 생성하고, 이러한 논리 회로를 새롭게 디바이스 데이터로서 더 논리 검증을 행할 필요가 있었다.
그러나, 타이밍 정보를 포함하는 논리 회로만에 의해 구성된 디바이스 데이터에 관해 논리 검증을 행하는 경우, 경시적 처리에 관한 부분에 대한 검증이 가능해지는 한편, 논리 검증에 장시간을 필요로 한다고 하는 문제를 가진다. 따라서, 이러한 수법을 사용해 집적 회로의 설계를 행한 경우에는, 고속 동작에 관해서도 높은 신뢰성을 갖는 집적 회로를 실현하는 것이 가능해지는 한편, 설계 기간이 장기화하여, TAT(Turn Around Time)가 증가한다는 문제가 발생하게 된다.
본 발명은, 상기를 감안하여 이루어진 것으로서, 타이밍 정보를 포함하는 집적 회로의 설계 단계에 있어서의 논리 검증을 신속하게 행하는 것이 가능한 논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및 논리 검증 장치를 실현하는 것을 목적으로 한다.
[과제를 해결하기 위한 수단]
상기 과제를 해결하기 위해서, 본 발명의 제1 형태에 있어서는, 집적 회로의 기능을 정의한 디바이스 데이터를 사용해 집적 회로의 논리 검증을 행하는 논리 검증 방법에 있어서, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와, 경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제 1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터를 포함하는 복수의 논리 모듈 데이터를 포함하여 형성된 디바이스 데이터를 읽어들이는 디바이스 데이터 읽기 공정과, 상기 디바이스 데이터에 포함되는 논리 모듈 데이터에 있어서, 상기 제1 회로 데이터 또는 상기 제2 회로 데이터 중 어느 한쪽을 선택하는 선택 공정과, 선택한 회로 데이터를 사용한 디바이스 데이터에 기초하는 논리 검증 동작을 행하는 검증 공정을 포함하는 것을 특징으로 하는 논리 검증 방법을 제공한다.
상기 제1 회로 데이터는, 레지스터·트랜스퍼·레벨로 기능을 정의해도 좋다.
상기 제2 회로 데이터는, 타이밍 정보로서 지연 시간에 관한 정보를 포함해도 좋다.
상기 셀렉터 회로 데이터는, 입력되는 선택 정보에 기초해 회로 데이터를 선택하는 기능을 정의해도 좋다.
상기 선택 공정과 상기 검증 공정의 사이에, 상기 디바이스 데이터 중 상기 선택 공정에서 선택되지 않았던 회로 데이터 이외의 부분을 기계어로 번역하는 번역 공정을 더 포함하고, 상기 검증 공정은, 상기 번역 공정에 의해 기계어로 번역된 상기 디바이스 데이터를 사용해 행해져도 좋다.
본 발명의 제2 형태에 있어서는, 논리 검증 장치에 의한 검증의 대상으로서 적어도 사용되는 디바이스 데이터의 일부를 형성하며, 대응하는 집적 회로의 기능의 일부 또는 전부를 정의한 논리 모듈 데이터에 있어서, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와, 경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일한 기능을 정의한 제2 회로 데이터와, 상기 제1 회로 데이터 또는 상기 제2 회로 데이터 중 어느 한쪽을 선택하는 기능을 정의한 셀렉터 회로 데이터를 포함하는 것을 특징으로 하는 논리 모듈 데이터를 제공한다.
상기 제1 회로 데이터는, 레지스터·트랜스퍼·레벨로 기능을 정의해도 좋다.
상기 제2 회로 데이터는, 타이밍 정보로서 지연 시간에 관한 정보를 포함해도 좋다.
상기 셀렉터 회로 데이터는, 입력되는 선택 정보에 기초해 회로 데이터를 선택하는 기능을 정의해도 좋다.
본 발명의 제3 형태에 있어서는, 논리 검증 장치에 의한 검증의 대상으로서 사용되며, 대응하는 집적 회로의 상이한 부분에 있어서의 기능을 각각 정의하는 복수의 논리 모듈 데이터를 포함하는 디바이스 데이터에 있어서, 상기 논리 모듈 데이터는, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와, 경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터와, 상기 제1 회로 데이터 또는 상기 제2 회로 데이터 중 어느 한쪽을 선택하는 기능을 정의한 셀렉터 회로 데이터를 포함하는 것을 특징으로 하는 디바이스 데이터를 제공한다.
상기 논리 모듈 데이터는, 상기 셀렉터 회로 데이터에서 선택되지 않았던 회로 데이터에 관해, 상기 논리 검증 장치의 취급 언어인 기계어로의 번역이 행해지지 않도록 정의해도 좋다.
본 발명의 제4 형태에 있어서는, 논리 검증 장치에 의한 검증의 대상으로서 사용되며, 대응하는 집적 회로의 상이한 부분에 있어서의 기능을 각각 정의하는 복수의 논리 모듈 데이터를 포함하는 디바이스 데이터에 있어서, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터를 포함하는 1 이상의 제1 논리 모듈 데이터와, 게이트 회로의 조합에 의해 상기 제1 논리 모듈 데이터와 상이한 기능을 정의함과 더불어 타이밍 정보를 포함하는 제2 회로 데이터를 포함하는 1 이상의 제2 논리 모듈 데이터와, 1 이상의 상기 제1 논리 모듈 데이터 및 1 이상의 상기 제2 논리 모듈 데이터의 상호간의 데이터 전달 관계를 정의한 접속 데이터를 포함하는 것을 특징으로 하는 디바이스 데이터를 제공한다.
상기 제1 회로 데이터는, 기능을 레지스터·트랜스퍼·레벨로 정의하고, 상기 제2 회로 데이터는, 타이밍 정보로서 시간 지연에 관한 정보를 포함해도 좋다.
본 발명의 제5 형태에 있어서는, 소정의 디바이스 데이터에 관해 논리 검증을 행하는 논리 검증 장치에 있어서, 검증에 사용되는 테스트 패턴을 기억하는 테스트 벤치와, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터 및 경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터를 포함하는 복수의 논리 모듈 데이터를 포함하여 형성된 디바이스 데이터를 기억하는 디바이스 데이터 기억 수단과, 상기 테스트 패턴을 사용해 상기 디바이스 데이터의 논리 검증을 행하는 검증 실행 수단을 포함하는 것을 특징으로 하는 논리 검증 장치를 제공한다.
상기 테스트 패턴은, 상기 논리 모듈에 있어서 상기 제1 회로 데이터 및 상기 제2 회로 데이터 중 어느 것을 선택할지에 관한 정보인 선택 정보를 포함하고, 상기 검증 실행 수단은, 상기 선택 정보에 기초해 상기 논리 모듈 데이터에 있어서의 상기 제1 회로 데이터 및 상기 제2 회로 데이터의 선택을 행한 뒤에 논리 검증을 행해도 좋다.
또한, 상기 발명의 개요는, 본 발명의 필요한 특징의 모두를 열거한 것은 아니며, 이들 특징군의 서브 콤비네이션도 발명이 될 수 있다.
도 1은, 실시형태 1에 따른 논리 검증 장치의 전체 구성을 도시한 블록도이 다.
도 2는, 논리 검증 장치에 포함되는 디바이스 데이터 기억부에 기억되는 디바이스 데이터의 데이터 구조를 모식적으로 도시한 개념도이다.
도 3은, 논리 검증 장치에 포함되는 검증 실행부의 동작을 설명하기 위한 흐름도이다.
도 4는, 실시형태 2에 따른 논리 검증 장치의 전체 구성을 도시한 블록도이 다.
도 5는, 논리 검증 장치에 포함되는 디바이스 데이터 기억부에 기억되는 디바이스 데이터의 데이터 구조를 모식적으로 도시한 개념도이다.
도 6은, 논리 검증 장치에 포함되는 검증 실행부의 동작을 설명하기 위한 흐름도이다.
도 7은, 셀렉터 회로 데이터에 의한 선택 양태가 정의된 상태에 있어서의 디 바이스 데이터의 데이터 구조의 일례를 모식적으로 도시한 개념도이다.
도 8은, 셀렉터 회로 데이터에 의한 선택 양태가 정의된 상태에 있어서의 디바이스 데이터의 데이터 구조의 다른 예를 모식적으로 도시한 개념도이다.
도 9는, 디바이스 데이터에 기초해 생성되는 제1 회로 데이터 및 제2 회로 데이터를 사용한 논리 검증 동작의 일례를 도시한 모식도이다.
도 10은, 실시형태 3에 따른 논리 검증 장치의 전체 구성을 도시한 블록도이다.
도 11은, 논리 검증 장치에 포함되는 테스트 벤치에 기억되는 테스트 패턴의 데이터 구조를 모식적으로 도시한 개념도이다.
<부호의 설명>
1…논리 검증 장치, 2…디바이스 데이터 기억부, 3…테스트 벤치, 4…컴파일부, 5…검증 실행부, 6…출력부, 7…제2 디바이스 데이터, 8…제1 논리 모듈 데이터, 9…제2 논리 모듈 데이터, 10…접속 데이터, 11…제1 회로 데이터, 12…제2 회로 데이터
이하에, 본 발명에 따른 논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및 논리 검증 장치를 실시하기 위한 최선의 형태(이하, 단순히 "실시형태"라고 칭한다)에 대해 설명한다. 또한, 이하에 나타내는 실시형태에 의해 본 발명이 한정되는 것이 아닌 것은 당연하다.
(실시형태 1)
우선, 본 실시형태 1에 따른 논리 검증 장치에 대해 설명한다. 도 1은, 본 실시형태 1에 따른 논리 검증 장치 1에 대해 도시한 모식도이다. 논리 검증 장치 1은, 구체적으로는 디바이스 데이터 등을 격납하는 디바이스 데이터 기억부 2와, 논리 검증 시에 사용되는 테스트 패턴 및 디바이스 데이터로부터 출력되어야 할 처리 결과의 기대치로서의 출력 기대치를 기억하는 테스트 벤치 3과, 이들 데이터를 기계어로 번역하는 컴파일부 4와, 기계어로 번역된 데이터를 사용해 논리 검증을 실행하는 검증 실행부 5와, 검증 실행부 5에 의해 얻어진 검증 결과를 출력하는 출력부 6을 포함한다.
디바이스 데이터 기억부 2는, 대응하는 집적 회로의 기능을 기술한 디바이스 데이터를 기억하기 위한 것이다. 구체적으로는, 디바이스 데이터 기억부 2는, RTL 기술 회로 데이터 등의 제1 회로 데이터(후술)만에 의해 형성된 제1 디바이스 데이터와, 특허청구범위에 있어서의 디바이스 데이터의 일례로서 기능하는 제2 디바이스 데이터 7(후술)을 기억하는 기능을 가진다. 또한, 본 실시형태 1에 있어서, 제1 디바이스 데이터를 사용한 검증이 행해지고, 이러한 검증 시에 얻어진 응답 결과에 기초해 제2 디바이스 데이터 7의 검증에 사용된다. 따라서, 디바이스 데이터 기억부 2에는, 제1 디바이스 데이터를 사용한 검증 시에 취득되는 응답 결과도 기억되는 것으로 한다. 또한, 디바이스 데이터의 구조에 대해서는, 나중에 상세하게 설명하므로 여기서는 생략한다.
테스트 벤치 3은, 논리 검증 시에 사용되는 테스트 패턴 및 출력 기대치를 기억하고, 필요에 따라 이들 데이터를 검증 실행부 5에 대해 출력하기 위한 것이다. 여기서, 테스트 패턴은, 디바이스 데이터 기억부 2에 기억되는 디바이스 데이터의 의사적(擬似的)인 처리 시에 입력 데이터로서 사용되는 것이며, 대응하는 집적 회로의 처리 내용에 대응한 데이터에 의해 구성된다. 또, 출력 기대치는, 테스트 패턴이 입력된 경우에 대응하는 집적 회로에서 얻어질 것으로 예상되는 응답 결과의 기대치를 나타내는 데이터이다.
컴파일부 4는, 디바이스 데이터 기억부 2에 기억된 데이터 및 테스트 벤치 3에 보유된 테스트 패턴 등을 기계어로 번역하기 위한 것이다. 즉, 검증 실행부 5는, 전자 계산기 등에 의해 실현되는 구성을 갖는 것이 통상적이므로, 검증 실행부 5에 입력하는 데이터를 전자 계산기 등에 의해 처리 가능한 형태로 변환할 필요가 있기 때문에, 본 실시형태 1에서는 검증 실행부 5의 전단에 컴파일부 4를 설치하는 것으로 하고 있다. 또한 컴파일부 4에 의한 번역의 전후에 있어서, 데이터에 포함되는 정보 그 자체는 동일성을 유지하므로, 본 명세서에 있어서는 디바이스 데이터 등에 관해, 번역의 전후에 있어서 동일한 명칭을 사용하여 설명하는 것으로 한다.
검증 실행부 5는, 디바이스 데이터의 검증을 행하기 위한 것이다. 검증 실행부 5는, 디바이스 데이터 기억부 2 및 테스트 벤치 3에 기억된 데이터에 기초해, 디바이스 데이터에 의한 의사적인 처리가, 대응하는 집적 회로에 의해 행해져야 할 처리와 등가인지 아닌지의 판정을 행하는 기능을 가진다.
구체적으로는, 상술한 것처럼 본 실시형태 1에 따른 논리 검증 장치 1에서는, 디바이스 데이터 기억부 2에 기억한 복수의 디바이스 데이터를 사용한 논리 검 증을 행하는 기능을 가진다. 즉, 논리 검증 장치 1은, 우선 제1 디바이스 데이터에 대해서 테스트 패턴을 사용함으로써 응답 결과를 취득하고, 이러한 응답 결과와 출력 기대치를 비교함으로써 테스트 패턴·기대치 및 제1 디바이스 데이터에 버그가 포함되어 있지 않은 것을 확인한다. 이러한 확인을 행한 후, 논리 검증 장치 1은, 후술하는 제2 디바이스 데이터 7에 대해 테스트 패턴을 사용함으로써 응답 결과를 취득하고, 취득한 응답 결과와 제1 디바이스 데이터에 관한 응답 결과를 비교해, 비교 결과를 출력부 6을 통해 출력하는 기능을 가진다.
다음에, 디바이스 데이터 기억부 2에 기억되는 디바이스 데이터에 대해 설명한다. 디바이스 데이터는, 대응하는 집적 회로를 의사적으로 표현한 데이터이다. 구체적으로는, 디바이스 데이터는, 각각 집적 회로의 일부 기능에 대응하는 복수의 논리 모듈 데이터와, 논리 모듈 데이터간의 접속 양태에 대응하는 접속 데이터에 의해 구성되며, 이들 데이터에 의해 집적 회로를 의사적으로 표현하고 있다.
도 2는, 디바이스 데이터 기억부 2에 기억되는 디바이스 데이터 중, 특허청구범위에 있어서의 디바이스 데이터의 일례로서 기능하는 제2 디바이스 데이터 7의 구조를 설명하기 위한 개념도이다. 도 2에 도시한 바와 같이, 제2 디바이스 데이터 7은, 각각 대응하는 집적 회로에 있어서의 상이한 부분의 기능을 기술한 제1 논리 모듈 데이터 8a, 8b 및 제2 논리 모듈 데이터 9와, 논리 모듈 데이터간의 데이터 전달 관계를 기술하는 접속 데이터 10에 의해 구성된다. 또한, 도 2에 도시한 개념도는 디바이스 데이터의 구조의 일례를 나타내는 것이며, 제1 논리 모듈 데이터 8 및 제2 논리 모듈 데이터 9의 개수 및 접속 데이터 10에 의해 기술되는 구체 적인 데이터 전달 관계는, 대응하는 집적 회로의 구성에 따라서 다른 것은 물론이다.
제1 논리 모듈 데이터 8a, 8b는, 각각 제1 회로 데이터 11a, 11b를 포함한다. 제1 회로 데이터 11a, 11b는, 제1 논리 모듈 데이터 8a, 8b의 기능을 하드웨어 기술 언어에 의해 정의한 것이다. 구체적으로는, 제1 회로 데이터 11a, 11b는, 예를 들면 소정의 기능을 레지스터·트랜스퍼·레벨(Register Transfer Level)로 정의한 것이며, 검증 실행부 5에 의한 논리 검증 시에, 입력 데이터에 대해 기능에 따른 출력 데이터를 출력하도록 구성되어 있다.
제2 논리 모듈 데이터 9는, 제2 회로 데이터 12를 포함한다. 제2 회로 데이터 12는, 타이밍 정보를 포함하는 소정의 기능을 정의한 것이며, 구체적으로는 AND 회로 등의 게이트 회로를 포함하는 논리 회로에 의해 구성된 회로 데이터이다. 여기서, 타이밍 정보란, 내부의 구성 요소 간에 데이터 홀드 등의 경시적인 처리를 행하는 회로에 있어서 필요한 정보이며, 예를 들면 지연 시간, 셋업 타임 및 홀드 타임 등을 말한다.
접속 데이터 10은, 제1 논리 모듈 데이터 8a, 8b 및 제2 논리 모듈 데이터 9의 상호간의 데이터 전달의 양태를 정의하는 것이다. 도 2에 도시한 예에 있어서는 접속 데이터 10의 정의 내용에 따라, 제2 디바이스 데이터 7에 입력되는 테스트 패턴은, 제1 논리 모듈 데이터 8a, 제1 논리 모듈 데이터 8b, 제2 논리 모듈 데이터 9의 순서로 소정의 처리가 행해져, 응답 결과가 생성되게 된다.
다음에, 본 실시형태 1에 따른 논리 검증 장치의 동작에 대해 설명한다. 도 3은, 본 실시형태 1에 따른 논리 검증 장치의 동작, 구체적으로는 검증 실행부 5의 동작에 대해 도시한 흐름도이다. 우선, 검증 실행부 5는, 컴파일부 4를 통해 기계어로 번역된 제1 디바이스 데이터를 입력하고, 테스트 벤치 3으로부터 입력된 테스트 패턴을 사용해, 입력된 테스트 패턴에 대한 응답 결과인 제1 응답 결과를 취득한다(단계 S101). 그리고, 검증 실행부 5는, 취득한 제1 응답 결과와 출력 기대치를 비교해, 테스트 패턴 등에 오류가 없는 것을 확인하고, 제1 응답 결과를 디바이스 데이터 기억부 2에 기억한다(단계 S102).
그리고, 검증 실행부 5는, 제2 디바이스 데이터 7을 입력하고, 제2 디바이스 데이터 7에 대해 테스트 벤치 3으로부터 취득한 테스트 패턴을 부여하여, 제1 논리 모듈 데이터 8a, 8b 및 제2 논리 모듈 데이터 9를 거쳐 순차적으로 얻어지는 제2 응답 결과를 취득한다(단계 S103). 그 후, 검증 실행부 5는, 취득한 제2 응답 결과와, 단계 S102에서 취득·기억된 제1 응답 결과를 비교해, 제2 디바이스 데이터 7이 기대한 만큼의 기능을 갖는지 아닌지의 검증을 행한다(단계 S104).
그 후, 검증 실행부 5는, 테스트 데이터를 전부 제2 디바이스 데이터 7에 부여했는지 아닌지의 판정을 행하여(단계 S105), 모든 테스트 데이터를 부여했다고 판정한 경우(단계 S105, Yes)에는 검증 결과를 출력부 6에 대해 출력하고(단계 S106), 검증 동작을 완료한다. 또한 모든 테스트 데이터를 부여하지 않았다고 판정한 경우(단계 S105, No)에는, 다시 단계 S103으로 돌아와 상기의 처리를 반복한다.
다음에, 본 실시형태 1에 따른 논리 검증 장치의 이점에 대해 설명한다. 우 선, 본 실시형태 1에 따른 논리 검증 장치는, 상이한 데이터 구조에 의해 구성된 제1 논리 모듈 데이터 8 및 제2 논리 모듈 데이터 9에 의해 제2 디바이스 데이터 7을 사용해 논리 검증을 행하는 것으로 했으므로, 신속한 논리 검증을 행하는 것이 가능하다는 이점을 가진다. 이하, 이러한 이점에 대해 설명한다.
이미 설명한 것처럼, 타이밍 정보를 포함하는 논리 회로만에 의해 기능을 정의한 디바이스 데이터의 경우에는, 경시적 처리에 관한 부분에 대한 검증이 가능해지는 한편, 논리 검증에 장시간을 필요로 한다는 문제를 갖고 있었다. 이 때문에, 종래의 집적 회로의 설계에 관해서는, 높은 신뢰성을 갖는 집적 회로를 설계하기 위해서는, 논리 검증에 장시간을 필요로 하게 된다는 문제를 안고 있었다.
그러나, 디바이스 데이터 중에 경시적 처리에 관한 부분이 존재하는 경우라 해도, 논리 검증을 행할 때는 모든 논리 회로에 관해 검증을 행할 필요는 없다. 구체적으로는, 대응하는 집적 회로에 관해, 모든 부분이 셋업 타임, 홀드 타임 및 지연 시간 등의 타이밍 정보에 관해 치밀하게 제어한 처리가 행해지는 것은 아니다. 통상적으로는 디바이스 데이터에 있어서의 대부분의 기능은 RTL 기술 회로에 의해 충분히 정의하는 것이 가능한 기능이며, 일부에 있어서 타이밍 정보에 관해 치밀하게 제어한 처리가 행해지도록 구성되어 있는 것이 보통이다.
이 때문에, 본 실시형태 1에 따른 논리 검증 장치에서는, 제2 디바이스 데이터 7에 관해, 집적 회로의 상이한 부분에 있어서의 기능을 각각 정의한 논리 모듈 데이터를 복수 포함하는 구성을 채용하고 있다. 그리고, 제2 디바이스 데이터 7은, 타이밍 정보에 관해 치밀하게 제어한 처리가 행해지는 부분에 대해서는, 게이 트 회로를 포함하는 논리 회로에 의해 기능을 정의한 제2 회로 데이터 12를 포함하는 제2 논리 모듈 데이터 9를 사용하도록 하고, 그 밖의 부분에 대해서는, RTL 기술 회로 등의 하드웨어 기술 언어에 의해 기능을 정의한 제1 회로 데이터 11을 포함하는 제1 논리 모듈 데이터 8을 사용하도록 하고 있다.
이러한 구성을 채용함으로써, 본 실시형태 1에 따른 논리 검증 장치는, 신속하고 정확한 논리 검증을 행하는 것이 가능하다. 즉, 타이밍 정보를 포함해야 할 부분, 예를 들면 설계자가 수작업에 의해 생성한 부분에 관해서는, 게이트 회로를 사용해 타이밍 정보를 포함하는 제2 회로 데이터 12를 사용한 논리 검증이 행해지게 되고, 하드웨어 기술 언어에 의해 정의된 회로 데이터만을 포함하는 디바이스 데이터를 사용한 논리 검증과 비교해, 정확한 논리 검증을 행하는 것이 가능하다는 이점을 가진다.
또, 타이밍 정보에 관해 치밀하게 제어한 처리를 행할 필요가 없는 부분에 관해서는, 하드웨어 기술 언어에 의해 기능을 정의한 제1 회로 데이터 11을 사용하므로, 게이트 회로를 사용한 논리 회로만을 갖는 디바이스 데이터를 사용한 논리 검증과 비교해, 신속한 논리 검증을 행하는 것이 가능하다는 이점을 가진다.
또, 본 실시형태 1에 따른 논리 검증 장치는, 테스트 벤치 3에 기억되는 테스트 패턴 및 출력 기대치에 대해, 종래의 것을 유용하는 것이 가능하다는 이점을 가진다. 즉, 종래 RTL 기술 회로 등의 하드웨어 기술 언어만에 의해 기능을 정의한 디바이스 데이터와, 게이트 회로만을 사용해 기능을 정의한 디바이스 데이터는, 논리 검증이 행해질 때 모두 이벤트 베이스의 테스트 패턴 및 출력 기대치를 사용 하는 것으로 하고 있다. 따라서, 양자가 혼재한 본 실시형태 1에 있어서의 제2 디바이스 데이터 7을 사용해 논리 검증을 행하는 경우라 해도, 종래와 마찬가지로 이벤트 베이스의 테스트 패턴 및 출력 기대치를 사용하는 것이 가능하여, 간이하게 논리 검증 장치를 실현할 수 있다고 하는 이점을 가진다.
또한, 본 실시형태 1에 따른 논리 검증 장치에서는, 제2 디바이스 데이터 7이 제1 논리 모듈 데이터 8 및 제2 논리 모듈 데이터 9의 양쪽을 사용해 형성되는 것으로 했기 때문에, 대응하는 집적 회로 전체에 관한 논리 회로의 작성이 완료되어 있지 않은 단계라 해도 논리 검증을 행하는 것이 가능하다는 이점을 가진다.
일반적으로, 예를 들면 탑다운 형식의 집적 회로의 설계를 행하는 경우에는, 먼저 집적 회로의 사양을 결정하고, 사양에 따른 기능을 결정해, 결정한 기능을 하드웨어 기술 언어에 의해 정의한 후에, 정의에 따라서(필요에 따라 설계자의 수작업에 의해) 게이트 회로를 사용한 논리 회로의 생성이 행해진다. 이 때문에, 논리 회로의 생성 단계에 있어서는, 하드웨어 기술 언어에 의해 기능을 정의한 데이터가 이미 생성되어 있게 된다.
따라서, 본 실시형태 1에 있어서의 사상을 이용해, 예를 들면 집적 회로의 일부에 대해서만 논리 회로의 생성이 완료되어 있는 것 같은 경우에는, 완료된 부분에 대해서는 제2 회로 데이터를 포함하는 제2 논리 모듈 데이터로 하는 것이 가능하다. 한편, 논리 회로가 미완성인 부분에 대해서는 하드웨어 기술 언어에 의해 기능을 정의한 제1 회로 데이터를 포함하는 제1 논리 모듈 데이터로서 사용함으로써, 일부의 논리 회로가 생성된 단계에 있어서의 논리 검증을 행하는 것이 가능하 다는 이점을 가진다.
(실시형태 2)
다음에, 실시형태 2에 따른 논리 검증 장치에 관해 설명한다. 본 실시형태 2에 따른 논리 검증 장치는, 디바이스 데이터를 구성하는 논리 모듈 데이터가 실시형태 1에 있어서의 제1 회로 데이터 및 제2 회로 데이터의 양쪽을 갖고, 논리 검증을 행할 때 각 논리 모듈 데이터에 있어서 제1 회로 데이터 또는 제2 회로 데이터 중 어느 한쪽을 선택 가능한 구성으로 함으로써, 단일 디바이스 데이터를 실시형태 1에 있어서의 제1 디바이스 데이터 및 제2 디바이스 데이터의 양쪽으로서 기능시키는 구성을 가진다.
도 4는, 본 실시형태 2에 따른 논리 검증 장치 13의 구성을 도시한 모식적인 블록도이다. 또한, 도 4 등에 있어서, 실시형태 1과 동일한 부호를 사용해 나타낸 구성 요소는, 이하에서 특별히 언급하지 않는 한 실시형태 1에 있어서의 구성 요소와 유사한 구성·기능을 가지는 것으로 한다.
도 4에 도시한 바와 같이, 본 실시형태 2에 따른 논리 검증 장치 13은, 실시형태 1에 따른 논리 검증 장치 1과 마찬가지로, 테스트 벤치 3 및 출력부 6을 포함하는 한편, 선택 정보(후술)를 입력하기 위한 선택 정보 입력부 14와, 입력되는 데이터를 기계어로 번역하는 컴파일부 15와, 제1 회로 데이터 및 제2 회로 데이터의 양쪽을 포함하는 논리 모듈 데이터에 의해 구성된 디바이스 데이터를 기억하는 디바이스 데이터 기억부 16과, 논리 검증 동작을 행하는 검증 실행부 17을 포함한다.
컴파일부 15는, 입력되는 데이터, 예를 들면 테스트 패턴을 기계어로 번역 해, 검증 실행부 17에 출력하기 위한 것이다. 또한, 컴파일부 15의 기능으로서, 입력 데이터를 그대로 번역하는 것으로 해도 되지만, 본 실시형태 2에 있어서는, 디바이스 데이터 기억부 16으로부터 입력되는 디바이스 데이터에 관해, 선택 정보 입력부 14를 통해 입력되는 선택 정보에 기초해, 필요한 데이터만을 번역하는 기능을 가지는 것으로 한다. 이러한 기능에 관해서는 나중에 상세하게 설명한다.
검증 실행부 17은, 실시형태 1에 있어서의 검증 실행부 5와 마찬가지로, 제1 회로 데이터와 제2 회로 데이터가 혼재한 제2 디바이스 데이터에 관한 검증 동작을 행하기 위한 것이다. 구체적으로는, 검증 실행부 17은, 후술하는 디바이스 데이터 19에 기초해 생성되는 제1 디바이스 데이터에 관해 제1 응답 결과를 취득하고, 동일하게 디바이스 데이터 19에 기초해 생성되는 제2 디바이스 데이터에 관해 제2 응답 결과를 취득하는 기능을 가짐과 더불어, 제1 응답 결과와 제2 응답 결과를 비교함으로써 디바이스 데이터 19의 검증을 행하는 기능을 가진다.
다음에, 디바이스 데이터 기억부 16에 기억되는 디바이스 데이터의 데이터 구조에 관해 설명한다. 도 5는, 디바이스 데이터 기억부 16에 기억되는 디바이스 데이터 19의 데이터 구조를 도시한 개념도이다. 도 5에 도시한 바와 같이, 디바이스 데이터 19는, 대응하는 집적 회로의 상이한 부분에 있어서의 기능을 각각 정의한 논리 모듈 데이터 20a∼20c와, 논리 모듈 데이터 20a∼20c 상호간의 데이터 전달 관계를 정의한 접속 데이터 21을 포함한다.
본 실시형태 2에 있어서, 논리 모듈 데이터 20a∼20c는, 정의하는 기능은 서로 다르지만, 데이터 구조로서는 공통의 구성을 가진다. 이하, 논리 모듈 데이터 20a를 예로 해서 논리 모듈 데이터 20a∼20c의 구성을 설명한다. 도 5에도 도시한 바와 같이, 논리 모듈 데이터 20a는, 하드웨어 기술 언어에 의해 기능을 정의한 제1 회로 데이터 23a와, 게이트 회로를 포함하는 논리 회로에 의해 타이밍 정보를 포함하는 소정의 기능을 정의한 제2 회로 데이터 24a와, 선택 정보에 따라 제1 회로 데이터 23a 또는 제2 회로 데이터 24a 중 어느 한쪽의 선택 양태를 정의하는 셀렉터 회로 데이터 25a를 포함한다.
제1 회로 데이터 23a 및 제2 회로 데이터 24a는, 각각 논리 모듈 데이터 20a에 할당된 기능을 정의하는 것으로서, 동일한 기능을 다른 양태로 정의하고 있다. 이것은 논리 모듈 데이터 20b, 20c에 대해서도 유사하며, 제1 회로 데이터 23b와 제2 회로 데이터 24b는 동일 기능을 다른 양태로 정의하고, 제1 회로 데이터 23c와 제2 회로 데이터 24c도 동일 기능을 다른 양태로 정의하고 있다.
셀렉터 회로 데이터 25a는, 제1 회로 데이터 23a와 제2 회로 데이터 24a 중 어느 것을 선택할지를 정의하는 데이터이다. 구체적으로는, 셀렉터 회로 데이터 25a는, 검증 실행부 17에 의한 논리 검증 시에 소정의 선택 정보가 주어짐으로써, 제1 회로 데이터 23a와 제2 회로 데이터 24a 중 어느 것을 선택할지에 관한 정보를 정의하는 데이터이다.
다음에, 본 실시형태 2에 따른 논리 검증 장치 13의 동작에 대해 설명한다. 도 6은, 본 실시형태 2에 따른 논리 검증 장치 13의 동작에 대해 설명하기 위한 흐름도이며, 이하 도 6을 참조하면서 설명한다.
우선, 검증 실행부 17은, 디바이스 데이터 19에 기초해 생성된, 기계어로 번 역된 상태의 제1 디바이스 데이터를 입력하고, 테스트 벤치 3으로부터 입력된 테스트 패턴을 사용해, 입력된 테스트 패턴에 대한 제1 응답 결과를 취득한다(단계 S201). 그리고, 실시형태 1에 있어서의 단계 S102와 마찬가지로 제1 응답 결과와 출력 기대치를 비교해, 테스트 패턴 등에 오류가 없는 것을 확인한 후에 제1 응답 결과를 디바이스 데이터 기억부 16에 기억한다(단계 S202).
그 후, 검증 실행부 17은, 디바이스 데이터 19에 기초해 생성된, 기계어로 번역된 상태의 제2 디바이스 데이터를 입력하고, 제2 디바이스 데이터에 대해 테스트 벤치 3으로부터 입력된 테스트 패턴을 사용해, 입력된 테스트 패턴에 대한 제2 응답 결과를 취득한다(단계 S203). 그 후는, 실시형태 1과 마찬가지로, 제2 응답 결과와 제1 응답 결과를 비교에 기초한 검증을 행하여(단계 S204), 테스트 패턴 모두를 입력했는지 아닌지의 판정을 행해(단계 S205), 검증 결과를 출력한다(단계 S206).
상기의 동작 중, 단계 S201 및 단계 S203에 있어서의, 디바이스 데이터 19에 기초하는 제1 디바이스 데이터 및 제2 디바이스 데이터의 생성에 관해 설명한다. 도 7은, 단계 S201에 있어서 컴파일부 15에 의해 행해지는 처리에 관해 설명하기 위한 모식도이다. 이미 설명한 것처럼, 컴파일부 15에 대해서는, 디바이스 데이터 기억부 16으로부터 디바이스 데이터 19가 입력됨과 더불어, 선택 정보 입력부 14를 통해, 디바이스 데이터 19를 구성하는 셀렉트 회로 데이터 25a∼25c의 선택 양태에 관한 선택 정보가 입력되는 구성을 가진다. 본 실시형태 2에 있어서의 컴파일부 15는, 입력된 선택 정보에 기초해, 논리 모듈 데이터 20a∼20c의 각각에 대해 제1 회로 데이터와 제2 회로 데이터 중 어느 한쪽을 선택해, 선택한 회로 데이터만을 기계어로 번역하는 것으로 하고 있다.
구체적으로는, 단계 S201에 있어서는 제1 회로 데이터만으로 이루어지는 제1 디바이스 데이터가 필요하기 때문에, 선택 정보 입력부 14를 통해 입력되는 선택 정보는, 논리 모듈 데이터 20a∼20c의 어느 것에 관해서나 제1 회로 데이터 23a∼23c를 선택한다는 내용이 된다. 따라서, 단계 S201에 있어서, 컴파일부 15는, 논리 모듈 데이터 20a∼20c를 구성하는 데이터 중, 제1 회로 데이터 23a∼23c만을 선택하고, 논리 모듈 데이터간의 접속 관계를 기술하는 접속 데이터 21과 함께 기계어로 번역함으로써, 기계어로 번역된 상태의 제1 디바이스 데이터를 검증 실행부 17에 대해 출력한다. 그 때문에, 검증 실행부 17에 대해서는, 제2 회로 데이터 24a∼24c에 관한 정보는 출력되지 않고, 단계 S202에 있어서는, 실시형태 1과 마찬가지로 제1 회로 데이터만에 의해 형성된 제1 디바이스 데이터에 대해 테스트 패턴이 입력되고, 입력된 테스트 패턴은 도 7에 도시한 화살표대로 전송하여, 소정의 제1 응답 결과가 취득되게 된다.
도 8은, 단계 S203에 있어서 컴파일부 15에 의해 행해지는 처리에 관해 설명하기 위한 모식도이다. 단계 S203에 있어서의 처리도 단계 S201와 유사하게 행해지며, 구체적으로는 선택 정보 입력부 14를 통해 입력된 선택 정보에 기초해 기계어로 번역하는 회로 데이터를 선택하고 있다. 예를 들면, 실시형태 1과 유사한 구조의 제2 디바이스 데이터를 실현하는 경우에는, 셀렉트 회로 데이터 25a, 25b에 관해서는 제1 회로 데이터 23a, 23b를 선택하고, 셀렉트 회로 데이터 25c에 관해서 는 제2 회로 데이터 24c를 선택한다는 선택 정보가 입력된다. 이러한 선택 정보에 기초해, 컴파일부 15는, 디바이스 데이터 19에 포함되는 회로 데이터 중, 제1 회로 데이터 23a, 23b 및 제2 회로 데이터 24c(및 접속 데이터 21)에 대해서만 기계어로 번역하고, 번역한 데이터를 제2 디바이스 데이터로서 검증 실행부 17에 대해 출력한다. 그 결과, 검증 실행부 17에 의한 논리 검증이 행해질 때는, 테스트 패턴은 도 8에 도시한 화살표대로 전송하여, 소정의 제2 응답 결과가 취득되게 된다.
다음에, 본 실시형태 2에 따른 논리 검증 장치 13의 이점에 대해 설명한다. 우선, 본 실시형태 2에 따른 논리 검증 장치 13은 실시형태 1과 마찬가지로, 제1 회로 데이터와 제2 회로 데이터를 혼재시킨 제2 디바이스 데이터를 사용해 논리 검증을 행하는 것으로 했으므로, 제2 회로 데이터만에 의해 형성된 디바이스 데이터를 사용한 경우와 비교해, 신속하게 논리 검증 동작을 행하는 것이 가능하다.
또, 본 실시형태 2에 따른 논리 검증 장치 13은, 동일한 디바이스 데이터 19를 사용해, 타이밍 정보를 포함하는 논리 회로를 사용한 논리 검증 외에, 하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터만을 사용한 논리 검증을 행하는 것이 가능하다는 이점을 가진다. 이하, 이러한 이점에 관해 설명한다.
실시형태 1에서도 간단하게 설명한 것처럼, 현실의 집적 회로의 설계 등에 있어서는, 타이밍 정보를 포함하는 논리 회로를 사용한 논리 검증만을 행하는 것으로 한 경우, 출력 기대치에 대해 응답 결과가 상이한 개소가 다수 발생해, 불량 개소의 특정 등이 곤란해지는 경우가 있다. 따라서, 현실의 집적 회로의 설계 등에서는, 미리 하드웨어 기술 언어에 의해 기능을 정의한 데이터만에 의해 구성되는 디바이스 데이터를 별도로 준비해, 이러한 디바이스 데이터를 사용한 논리 검증을 행한다. 그리고, 이러한 검증에 의해 테스트 패턴, 출력 기대치 등에 오류가 없는 것을 확인한 뒤에, 제2 회로 데이터를 포함하는 디바이스 데이터에 관해 논리 검증을 행하는 것이 일반적이다.
본 실시형태 2에서는, 논리 모듈 데이터 20은, 하드웨어 기술 언어에 의해 기능을 정의한 제1 회로 데이터 23과, 제1 회로 데이터 23이 정의하는 기능과 동일한 기능을, 타이밍 정보를 포함한 상태로 게이트 회로에 의해 정의한 제2 회로 데이터 24의 양쪽을 포함하고 있다. 그 때문에, 본 실시형태 2에서는, 제2 디바이스 데이터 뿐만 아니라, 이러한 논리 모듈 데이터 20을 포함하는 디바이스 데이터 19와, 선택 정보 입력부 14를 통해 입력되는 선택 정보를 사용함으로써, 하드웨어 기술 언어만에 의해 구성된 디바이스 데이터인 제1 디바이스 데이터를 생성하는 것이 가능해진다. 따라서, 본 실시형태 2에서는, 하드웨어 기술 언어에 의해 기능을 정의한 제1 디바이스 데이터를 별도로 준비할 필요가 없다는 이점을 가진다.
단일 디바이스 데이터 19를 사용해 제1 디바이스 데이터 및 제2 디바이스 데이터에 관한 검증을 가능하도록 함으로써, 논리 검증 장치 13에 있어서의 데이터 관리에 관해서도 편의를 가지게 된다. 동일한 집적 회로에 관해 디바이스 데이터 기억부 16에 기억된 복수의 데이터를 사용해 논리 검증을 행하는 종래의 논리 검증 장치와 비교해, 사용하는 데이터 수를 반으로 하는 것이 가능하다. 따라서, 본 실시형태 2에 따른 논리 검증 장치에서는, 디바이스 데이터 기억부 16에 다수 기억된 데이터 중에서 소정의 디바이스 데이터를 추출하는 경우 등에 오류가 발생할 확률 을 반 정도로 하는 것이 가능하여, 데이터 관리 상의 문제의 발생을 저감하는 것이 가능하다는 이점을 가진다.
또한 본 실시형태 2에서는, 컴파일부 15가 디바이스 데이터 19를 구성하는 회로 데이터 중, 논리 검증에 필요 불가결한 회로 데이터만을 기계어로 번역하는 것으로 하고 있다. 즉, 예를 들면 단계 S201에서는, 제1 회로 데이터만에 의해 구성되는 제1 디바이스 데이터가 논리 검증에 필요하다. 따라서, 단계 S201에서는 제2 회로 데이터 24a∼24c는 필요 없고, 컴파일부 15는 이들 회로 데이터에 관해서는 기계어로의 번역 처리를 행하지 않는 것으로 한다.
컴파일부 15가 이러한 처리 기능을 가짐으로써, 본 실시형태 2에 따른 논리 검증 장치 13은, 논리 검증 동작에 필요로 하는 시간을 더욱 단축화하는 것이 가능하다. 즉, 집적 회로의 기능을 기술하는 디바이스 데이터는, 실제로는 극히 다수의 논리 모듈 데이터에 의해 구성되어 있으며, 이러한 다수의 논리 모듈 데이터의 각각에 관해 제1 회로 데이터 및 제2 회로 데이터의 양쪽을 번역 처리하는 것으로 한 경우에는, 기계어로의 번역에 필요로 하는 시간이 많아지게 된다. 따라서, 본 실시형태 2에서는, 디바이스 데이터 19 중에 다수 존재하는 회로 데이터 중, 실제로 논리 검증에 사용하는 회로 데이터(및 접속 데이터)만을 기계어로 번역하는 것으로 하고, 이러한 구성을 채용함으로써, 번역 처리에 필요로 하는 시간을 단축화하여, 전체적으로 검증 시간을 단축화할 수 있다는 이점을 가진다.
또한 본 실시형태 2에서는, 단계 S204에도 나타낸 것처럼, 제1 디바이스 데이터와 제2 디바이스 데이터에 관한 제1 응답 결과 및 제2 응답 결과를 비교함으로 써 검증을 행하는 것으로 하고 있다. 그러나, 비교 대상을 각각의 응답 결과로 한정할 필요는 없다. 예로서, 도 9에 도시한 바와 같이 디바이스 데이터 19에 있어서, 논리 모듈 데이터 20b 및 논리 모듈 데이터 20c에서 제2 회로 데이터 24b, 24c를 선택함으로써 제2 디바이스 데이터가 생성된 경우를 생각한다(제1 디바이스 데이터에 관해서는, 제1 회로 데이터 23a∼23c가 선택되는 것으로 한다).
이러한 경우에는, 도 9에도 도시한 바와 같이, 제1 응답 결과와 제2 응답 결과를 비교할 뿐만 아니라, 제1 디바이스 데이터의 논리 검증 시에 있어서의 제1 회로 데이터 23b의 출력 결과(제1 출력 결과)와, 제2 디바이스 데이터의 논리 검증 시에 있어서의 제2 회로 데이터 24b의 출력 결과(제2 출력 결과)를 비교하는 것이 바람직하다. 즉, 응답 결과의 비교에 있어서 바람직한 검증 결과가 얻어지지 않는 경우에는, 제2 회로 데이터 24b, 24c의 어느 것에 미비가 있었는지를 특정하는 것은 용이하지 않다. 한편, 제1 회로 데이터 23b 및 제2 회로 데이터 24b의 출력 결과를 더 비교해, 이러한 비교의 결과에 관해서 바람직한 결과가 얻어지지 않는 경우에는, 미비를 갖는 회로 데이터는, 제2 회로 데이터 24c가 아니라 제2 회로 데이터 24b인 것을 용이하게 특정하는 것이 가능하다.
또한, 본 실시형태 2에 있어서, 기능에 따라 논리 모듈 데이터 20을 미리 준비해 두고, 미리 준비한 논리 모듈 데이터 20을 사용해 디바이스 데이터를 생성하는 것도 유효하다. 즉, 타이밍 정보에 관해 치밀하게 제어한 처리가 행해지는 논리 모듈 데이터의 생성은, 설계자의 수작업에 의한 설계에 의해 행해지는 것이 통상적이며, 집적 회로의 설계상 막대한 부하가 되고 있었다.
한편, 이러한 논리 모듈 데이터에 대해서는, 집적 회로의 기능에 따라서는, 과거에 생성한 논리 모듈 데이터를 유용하는 것이 가능하다. 이렇게, 이미 생성한 논리 모듈 데이터를 미리 저장해 둠으로써, 새로운 집적 회로의 설계 등을 할 때 설계자의 부담을 경감할 수 있다는 이점을 가지게 된다.
(실시형태 3)
다음에, 실시형태 3에 따른 논리 검증 장치에 관해 설명한다. 본 실시형태 3에 따른 논리 검증 장치는, 디바이스 데이터는 실시형태 2와 유사한 것을 사용하는 한편, 테스트 벤치에 기억되는 테스트 패턴의 데이터 구조를 고안함으로써, 선택 정보 입력부를 생략한 구성을 가진다.
도 10은, 본 실시형태 3에 따른 논리 검증 장치 27의 전체 구성을 도시한 모식적인 블록도이다. 또한, 도 10에서 실시형태 1, 2와 동일한 부호로 나타낸 구성 요소는, 이하에서 특별히 언급하지 않는 한 실시형태 1, 2와 유사한 구성 및 기능을 가지는 것으로 한다.
도 10에 도시한 바와 같이, 본 실시형태 3에 따른 논리 검증 장치 27은, 실시형태 2에 따른 논리 검증 장치 13과 마찬가지로 검증 실행부 17, 디바이스 데이터 기억부 16 및 출력부 6을 포함하는 한편, 새롭게 테스트 벤치 28을 포함하는 구성을 가진다. 구체적으로는, 본 실시형태 3에 따른 논리 검증 장치 27은, 실시형태 2와 유사한 디바이스 데이터를 기억하는 디바이스 데이터 기억부 16을 포함하는 한편, 실시형태 2에 있어서의 테스트 벤치 3과 상이한 테스트 패턴을 기억하는 테스트 벤치 28을 새롭게 포함함으로써, 선택 정보 입력부를 생략한 구성을 채용하고 있다. 또한 테스트 벤치 28에 별도로 기억되는 출력 기대치에 관해서는, 실시형태 1, 2와 유사한 데이터를 사용하는 것으로 한다.
도 11은, 테스트 벤치 28에 기억되는 테스트 패턴 29의 데이터 구조에 대해 모식적으로 도시한 개념도이다. 도 11에 도시한 바와 같이, 테스트 패턴 29는, 실시형태 1, 2에 있어서의 테스트 패턴에 상당하는 테스트 패턴부 29a에 추가해, 새롭게 선택 정보의 내용을 정의한 선택 정보부 29b를 포함하는 구성을 가진다. 이러한 구성을 채용함으로써, 컴파일부 15는, 논리 검증을 행할 때 테스트 벤치 28에 기억된 테스트 패턴 29를 읽어들임으로써, 디바이스 데이터 19에 포함되는 논리 모듈 데이터 20이 갖는 셀렉터 회로 데이터 25의 선택 양태를 지정해, 필요한 회로 데이터만을 기계어로 번역하는 것이 가능해진다.
도 11에 도시한 테스트 패턴 29를 사용해 논리 검증을 행하는 구성을 채용함으로써, 논리 검증 장치에서 선택 정보 입력부를 생략하는 것이 가능하며, 하드웨어 구성으로서는 종래의 논리 검증 장치를 그대로 사용할 수가 있다는 이점을 가진다. 또, 선택 정보부 29b를 미리 테스트 패턴 29에 포함시켜 둠으로써, 논리 검증 장치의 사용 시에 사용자가 선택 정보의 지정을 행할 필요가 없어, 신속한 검증을 행하는 것이 가능하다는 이점을 가진다.

Claims (15)

  1. 집적 회로의 기능을 정의한 디바이스 데이터를 사용해 집적 회로의 논리 검증을 행하는 논리 검증 방법에 있어서,
    하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와, 경시적(經時的)인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터를 포함하는 복수의 논리 모듈 데이터를 포함하여 형성된 디바이스 데이터를 읽어들이는 디바이스 데이터 읽기 공정과,
    상기 디바이스 데이터에 포함되는 논리 모듈 데이터에 있어서, 상기 제1 회로 데이터 또는 상기 제2 회로 데이터 중 어느 한쪽을 선택하는 선택 공정과,
    선택한 회로 데이터를 사용한 디바이스 데이터에 기초하는 논리 검증 동작을 행하는 검증 공정을 포함하는 논리 검증 방법.
  2. 제1항에 있어서,
    상기 제1 회로 데이터는, 레지스터·트랜스퍼·레벨로 기능을 정의한 것을 특징으로 하는 논리 검증 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제2 회로 데이터는, 타이밍 정보로서 지연 시간에 관한 정보를 포함하는 것을 특징으로 하는 논리 검증 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 셀렉터 회로 데이터는, 입력되는 선택 정보에 기초해 회로 데이터를 선택하는 기능을 정의한 것을 특징으로 하는 논리 검증 방법.
  5. 제1항에 있어서,
    상기 선택 공정과 상기 검증 공정의 사이에, 상기 디바이스 데이터 중 상기 선택 공정에서 선택되지 않았던 회로 데이터 이외의 부분을 기계어로 번역하는 번역 공정을 더 포함하고,
    상기 검증 공정은, 상기 번역 공정에 의해 기계어로 번역된 상기 디바이스 데이터를 사용해 행해지는 것을 특징으로 하는 논리 검증 방법.
  6. 논리 검증 장치에 의한 검증의 대상으로서 적어도 사용되는 디바이스 데이터의 일부를 형성하고, 대응하는 집적 회로의 기능의 일부 또는 전부를 정의한 논리 모듈 데이터에 있어서,
    하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와,
    경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일한 기능을 정의한 제2 회로 데이터와,
    상기 제1 회로 데이터 또는 상기 제2 회로 데이터 중 어느 한쪽을 선택하는 기능을 정의한 셀렉터 회로 데이터를 포함하는 논리 모듈 데이터.
  7. 제6항에 있어서,
    상기 제1 회로 데이터는, 레지스터·트랜스퍼·레벨로 기능을 정의한 것을 특징으로 하는 논리 모듈 데이터.
  8. 제6항 또는 제7항에 있어서,
    상기 제2 회로 데이터는, 타이밍 정보로서 지연 시간에 관한 정보를 포함하는 것을 특징으로 하는 논리 모듈 데이터.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 셀렉터 회로 데이터는, 입력되는 선택 정보에 기초해 회로 데이터를 선택하는 기능을 정의한 것을 특징으로 하는 논리 모듈 데이터.
  10. 논리 검증 장치에 의한 검증의 대상으로서 사용되며, 대응하는 집적 회로의 상이한 부분에 있어서의 기능을 각각 정의하는 복수의 논리 모듈 데이터를 포함하는 디바이스 데이터에 있어서,
    상기 논리 모듈 데이터는,
    하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터와,
    경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터와,
    상기 제1 회로 데이터 또는 상기 제2 회로 데이터 중 어느 한쪽을 선택하는 기능을 정의한 셀렉터 회로 데이터를 포함하는 디바이스 데이터.
  11. 제10항에 있어서,
    상기 논리 모듈 데이터는, 상기 셀렉터 회로 데이터에서 선택되지 않았던 회로 데이터에 관해, 상기 논리 검증 장치의 취급 언어인 기계어로의 번역이 행해지지 않도록 정의된 것을 특징으로 하는 디바이스 데이터.
  12. 논리 검증 장치에 의한 검증의 대상으로서 사용되며, 대응하는 집적 회로의 상이한 부분에 있어서의 기능을 각각 정의하는 복수의 논리 모듈 데이터를 포함하는 디바이스 데이터에 있어서,
    하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터를 포함하는 1 이상의 제1 논리 모듈 데이터와,
    게이트 회로의 조합에 의해 상기 제1 논리 모듈 데이터와 상이한 기능을 정의함과 더불어 타이밍 정보를 포함하는 제2 회로 데이터를 포함하는 1 이상의 제2 논리 모듈 데이터와,
    1 이상의 상기 제1 논리 모듈 데이터 및 1 이상의 상기 제2 논리 모듈 데이터의 상호간의 데이터 전달 관계를 정의한 접속 데이터를 포함하는 디바이스 데이터.
  13. 제11항 또는 제12항에 있어서,
    상기 제1 회로 데이터는, 기능을 레지스터·트랜스퍼·레벨로 정의하고,
    상기 제2 회로 데이터는, 타이밍 정보로서 시간 지연에 관한 정보를 포함하는 것을 특징으로 하는 디바이스 데이터.
  14. 소정의 디바이스 데이터에 관해 논리 검증을 행하는 논리 검증 장치에 있어서,
    검증에 사용되는 테스트 패턴을 기억하는 테스트 벤치와,
    하드웨어 기술 언어에 의해 소정의 기능을 정의한 제1 회로 데이터 및 경시적인 처리에 있어서의 타이밍 정보를 포함하고, 게이트 회로를 포함하는 논리 회로에 의해 상기 제1 회로 데이터와 동일 기능을 정의한 제2 회로 데이터를 포함하는 복수의 논리 모듈 데이터를 포함하여 형성된 디바이스 데이터를 기억하는 디바이스 데이터 기억 수단과,
    상기 테스트 패턴을 사용해 상기 디바이스 데이터의 논리 검증을 행하는 검증 실행 수단을 포함하는 논리 검증 장치.
  15. 제14항에 있어서,
    상기 테스트 패턴은, 상기 논리 모듈에 있어서 상기 제1 회로 데이터 및 상기 제2 회로 데이터 중 어느 것을 선택할지에 관한 정보인 선택 정보를 포함하고,
    상기 검증 실행 수단은, 상기 선택 정보에 기초해 상기 논리 모듈 데이터에 있어서의 상기 제1 회로 데이터 및 상기 제2 회로 데이터의 선택을 행한 뒤에 논리 검증을 행하는 것을 특징으로 하는 논리 검증 장치.
KR1020077007498A 2004-09-01 2005-08-30 논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및논리 검증 장치 KR20070048273A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004254872 2004-09-01
JPJP-P-2004-00254872 2004-09-01

Publications (1)

Publication Number Publication Date
KR20070048273A true KR20070048273A (ko) 2007-05-08

Family

ID=36000062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077007498A KR20070048273A (ko) 2004-09-01 2005-08-30 논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및논리 검증 장치

Country Status (6)

Country Link
US (1) US20070266361A1 (ko)
JP (1) JPWO2006025412A1 (ko)
KR (1) KR20070048273A (ko)
DE (1) DE112005002149T5 (ko)
TW (1) TW200609761A (ko)
WO (1) WO2006025412A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870524B1 (en) * 2007-09-24 2011-01-11 Nvidia Corporation Method and system for automating unit performance testing in integrated circuit design
JP5056856B2 (ja) * 2007-10-18 2012-10-24 富士通株式会社 論理回路モデルの検証方法及び装置
DE102009003598A1 (de) 2009-03-10 2010-09-16 Max-Planck-Institut Für Eisenforschung GmbH Korrosionsbeständiger austenitischer Stahl
ITRM20120647A1 (it) 2012-12-19 2014-06-20 Ct Sviluppo Materiali Spa ACCIAIO INOSSIDABILE AUSTENITICO AD ELEVATA PLASTICITÀ INDOTTA DA GEMINAZIONE, PROCEDIMENTO PER LA SUA PRODUZIONE, E SUO USO NELLÂeuro¿INDUSTRIA MECCANICA.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225277A (ja) * 1992-02-10 1993-09-03 Matsushita Electric Ind Co Ltd 設計支援装置
JP4078435B2 (ja) * 2001-06-06 2008-04-23 株式会社ルネサステクノロジ 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
JP2004102703A (ja) * 2002-09-10 2004-04-02 Matsushita Electric Ind Co Ltd レジスタ転送レベル設計支援装置
JP2005037995A (ja) * 2003-07-15 2005-02-10 Toshiba Corp 半導体集積回路の検証システム
US7383519B2 (en) * 2005-03-08 2008-06-03 Kabushiki Kaisha Toshiba Systems and methods for design verification using selectively enabled checkers

Also Published As

Publication number Publication date
WO2006025412A1 (ja) 2006-03-09
JPWO2006025412A1 (ja) 2008-05-08
DE112005002149T5 (de) 2007-08-09
TW200609761A (en) 2006-03-16
US20070266361A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US6083269A (en) Digital integrated circuit design system and methodology with hardware
US7089517B2 (en) Method for design validation of complex IC
CN112444731B (zh) 芯片测试方法、装置、处理器芯片及服务器
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
JP4654203B2 (ja) デジタルシステムのhdl記述ファイルを作成する方法、および得られるシステム
CN114327476A (zh) 芯片设计文件生成方法、装置、芯片设计方法及装置
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
KR20070048273A (ko) 논리 검증 방법, 논리 모듈 데이터, 디바이스 데이터 및논리 검증 장치
JP2007034833A (ja) 機能検証記述生成装置,機能検証記述生成方法,及び機能検証記述生成プログラム
CN111624475B (zh) 大规模集成电路的测试方法及系统
CN112632882A (zh) 一种基于形式验证对仲裁器验证的装置以及方法
Silva et al. A methodology aimed at better integration of functional verification and RTL design
US20030172045A1 (en) System and method for automation of ASIC synthesis flow
US6968523B2 (en) Design method of logic circuit using data flow graph
JP5310397B2 (ja) 動作合成検証補助装置、動作合成検証補助方法、プログラム、及び記録媒体
CN117077616B (zh) 一种基于结构导向的电路生成方法、装置、设备及介质
CN117094269B (zh) 一种验证方法、装置、电子设备及可读存储介质
US20230205969A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
JP3759007B2 (ja) 非同期回路のタイミング検証装置とそのタイミング検証方法
JP4039347B2 (ja) ラッチ変換による遅延最適化回路の等価性検証システム、及びプログラム
JP2011034517A (ja) 等価性検証装置、そのデータ処理方法、およびプログラム
CN114417763A (zh) 一种形式验证的方法、系统、设备和存储介质
CN117313609A (zh) 异步时钟局部约束方法、装置和电子设备
CN117725869A (zh) 断言开发方法、芯片验证方法、装置、设备及介质
CN113283211A (zh) 基于Verilog实现的微处理器自动化验证方法及验证装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid