KR0158887B1 - 논리 모의실험기 - Google Patents

논리 모의실험기 Download PDF

Info

Publication number
KR0158887B1
KR0158887B1 KR1019910000393A KR910000393A KR0158887B1 KR 0158887 B1 KR0158887 B1 KR 0158887B1 KR 1019910000393 A KR1019910000393 A KR 1019910000393A KR 910000393 A KR910000393 A KR 910000393A KR 0158887 B1 KR0158887 B1 KR 0158887B1
Authority
KR
South Korea
Prior art keywords
logic
logic circuit
simulation
data
simulated
Prior art date
Application number
KR1019910000393A
Other languages
English (en)
Other versions
KR910014808A (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
Priority claimed from JP2004927A external-priority patent/JP2797127B2/ja
Priority claimed from JP2004928A external-priority patent/JP2797128B2/ja
Application filed by 이노우에 키요시, 도오교오 에레구토론 가부시끼 가이샤 filed Critical 이노우에 키요시
Publication of KR910014808A publication Critical patent/KR910014808A/ko
Application granted granted Critical
Publication of KR0158887B1 publication Critical patent/KR0158887B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

논의 모의실험기는 모의실험되는 논리회로의 구성에 관한 데이터 및 논리회로에 입력되는 입력신호에 관한 데이터를 포함하는 논리회로 데이터를 외부 메모리에 기억시키고, 모의실험의 시간적 관리를 하는 타임 휠부와, 외부 메모리에서 읽어낸 논리회로 데이터에 따라서 모희실험되는 논리회로의 구성에 관한 모의실험을 실행하는 어큐물레이터부와, 이 어큐물레이터부에 의한 모의실험 결과를 받아서, 모의실험되는 논리회로의 동작에 관한 모의실험을 실행하는 기능논리부에 의하여 구성된다.

Description

논리 모의실험기
제1도는 본 발명의 1실시예에 따른 논리 모의실험기를 사용한 논리 모의실험장치의 블록 회로도.
제2도는 타이밍 오류 검출에 따른 메모리 셀의 처리를 설명하는 회로도.
제3도는 다출력의 메모리 셀의 도면.
제4a도 내지 제4d도는 제3도의 메모리 셀을 출력하마 분할하여 얻어지는 복수의 메모리 셀을 각각 나타내는 도면.
제5도는 다입력-다출력의 RAM 또는 ROM를 나타내는 도면.
제6도는 제5도의 RAM 또는 ROM를 출력마다 분할하여 얻어지는 복수의 메모리 셀을나타내는도면.
제7도는 제6도의 메모리 셀을 논리 모의실험 하는 논리 모의실험 장치의 회로도.
제8도는 다치(多値) 논리회로의 회로도.
제9도는 논리 모의실험기에 걸리게 되는 제8도의 다치 논리회로의 등가회로.
제10도는 제1도 및 제7도의 논리 모의실험기의 타임 휠 회로의 회로도.
제11도는 제1도 및 제7도의 논리 모의실험기의 어큐물레이터 회로의 회로도.
제12도는 어큐물레이터 회로에 의한 타이밍 오류 검출의 수순을 나타내는 플로우챠트도.
제13도는 제1도 및 제7도의 논리 모의실험기의 기능 논리회로의 회로도.
제14도는 본 발명의 논리 모의실험기에 의하여 논리 모의실험하는 1예의 논리 회로의 회로도.
제15도는 제14도의 논리회오의 각 회로망에서의 신호의 타이밍 챠트를 나타내는 도면.
제16도는 제14도는 및 제15도에 나타내는 논리회로 및 신호의 정보를 기억하는 여러 가지 메모리의 기억 내용을 나타내는 도면.
제17도 후단계 회로망 메모리 및 확장후단계 회로망 메모리의 기억내용을 나타내는 도면.
제18도는 전단계 회로망 메모리 및 확장전단계 회로망 메모리의 기억내용을 나타내는 도면.
제19도는 셀 명세메모리의 기억 내용을 나타내는 도면.
제20도는 신호 상태 메모리의 기억 내용을 나타내는 도면.
제21도는 테스트 패턴의 고장검출율을 판정하기 위하여 사용되는 논리회로.
제22도는 대규모 모의실험 대상 논리회로의 회로도.
제23도는 제22도의 논리회로의 모의실험에 사용되는 멀리 논리모의실험기의 회로도.
제24도는 본발명의 논리 모의실험기를 사용해서 행하는 실제의 칩 모의실험시의 모의실험회로의 회로도이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 모의실험 칩(논리 모의실험기) 2 : 테이터 수용부
3 : 엔지니어링 워크스테이션(Engineering Work Station:EWS)
4 : 외부 버스 11 : 타임 휠 회로(Time Wheel Circuit)
12 : 어큐물레이터
13 : 기능 논리회로(Function Logic circuit)
14 : 내부 버스
21 : 조건 상태 메모리(Condition State Memory)
22 : 테스트벡너 메모리(Test Vector Memory)
23 : 타임 휠 메모리
24 : 이벤트 테이블 메모리(Event Table Memory)
25 : 회로망 정보 메모리(Net Information Memeory)
25a : 후단계 회로망 메모리(Net Next Stage Memory)
25b : 확장 후단계 회로망 메모리(Extension Net Next Stage Memory)
25c : 전단계 회로밍 메모리(Net Before Stage Memory)
25d : 확장 전단계 회로망 메모리(Extension Net Before Stage Memory)
26 : 결과 격납용 메모리
27 : 지연 테이블 메모리(Delay Table Memory)
28 : 회로망 신호상태 메모리(Net Signal State Memory)
29 : ROM 데이타 메모리 40 : 데이터 버스 레지스터
41 : 비교 논리회로(Comparative Logic Circuit)
42 : 데이터 점검 논리회로(Date Check Logic Circuit)
43 : 가산 논리회로 44 : TVM 카운터
45 : TWM 카운터 46 : ETM 카운터
47 : 이벤트전 레지스터(Before Event Register)
48 : 이벤트후 레지스터(Next Event Register)
49 : TWU 제어 논리회로 60 : ACU 제어 논리회로
61 : IBUS 레지스터 62 : 상태 레지스터
63 : ALU 회로 64 : 데이터 셀렉터
65 : 어드레스 카운터 66 : NN 레지스터
67 : NB 레지스터 68 : 데이터 셀렉터
101 : 메모리 셀 111 : 타이밍 셀
131a 내지 133z : 다입력 일출력셀 141 내지 143 : 셀
144 내지 146 : 출력 회로망 147 : 노우드
148 : 셀 149 : 셀
151 내지 153 : 셀 161 내지 167 : 회로망
본 발명은 반도체 장치의 논리 모의실험을 행하는 논리 모의실험기에 관한 것이다.
일반적으로 반도체 장치는 다수의 기본기능 소자로 구성되는 논리회로에 의하여 구성되지만, 예를 들면 새로운 반도체 장치를 설계할 때에는 설계한 논리회로가 기대한 바와 같이 동작을 하는지의 여부를 미리 논리 모의실험기에 의하여 논리소자가 논리 모의실험 동작된다.
이와 같은 모의실험기는, 종래에는 범용 컴퓨터 등을 사용하여, 소프트웨어에 의하여 구성되어 있었다.
또한, 이와 같은 논리 모의실험기에서의 논리 모의실험의 고속화를 도모하기 위하여 예를 들면 특개소 59-3652 호 공보, 특개소 63-257841호 공보 등에서 상술한 바와 같이 논리 모의실험기의 소프트웨어의 일부를 하드웨어로 치환한 논리 모의실험기가 제안되어 있다.
그러나, 최근의 반도체 장치는 더욱 고집적화 되고, 이에 수반하여 논리 모의 실험기에 의하여 모의실험되는 논리회로도 대규모화, 복잡화 되고 있다.
이 때문에, 종래의 소프트웨어의 일부를 하드웨어로 치환한 논리 모의실험기로는 모의실험에 수시간 혹은 수십시간에 걸리는 경우가 있다.
본 발명은, 논릴모의실험을 하드웨어에 의해 고속으로 행할 수있는 논리 모의실험기를 제공하는 데에 있다.
본 발명에 의하면, 소정의 논리 모의실험을 행하기 위하여 필요한 데이터를 외부에서 적재되도록 함으로써, 모의실험되는 논리소자 또는 논리회로의 모의실험을 외부의 컴퓨터의 도움을 빌리지 않고 모의실험기가 자체적으로 실행되는 논리 모의실험기가 제공된다.
본 발명에 의하면, 모의실험되는 논리회로 또는 논리소자의 구성에 관한 데이터 및 상기 논리회로 또는 논리소자에 입력되는 입력신호에 관한 데이터를 포함한 논리회로 또는 논리소자의 데이터를 외부메모리 장치에 기억시키는 타임휠부와, 외부메모리 장치에서 읽어낸 논리회로 또는 논리소자의 데이터에 따라서 모의실험되는 논리회로 또는 논리소자의 구성에 관한 모의실험을 실행하는 어큐물레이터부와, 이 어큐물레이터부에 의한 모의실험 결과를 받아서 모의실험 되는 논리회로 또는 논리소자의 동작에 관한 모의실험을 실행하는 기능 논리부에 의하여 구성되는 논리 모의실험기가 제공된다.
본 발명에 의하면, 모의실험되는 소자에 행하여야 할 모의실험을 실행할 때의 시간을 관리하는 타임휠 회로와, 모의실험되는 논리소자의 회로망의 결합관계를 체크하고, 모의실험되는 소자의 종류를 인식하는 어큐물레이터 회로와, 모의실험되는 소자의 논리동작을 점검하는 동시에 이 논리동작의 지연시간을 타임 휠 회로로 전달하는 기능 논리회로에 의해 구성되고, 타임휠 회로와, 어큐물레이터 회로 및 기능 논리회로는 순환적으로 결합되며, 외부에서 일력되는 소정의 모의실험 패턴에 따라 상기 회로의 동작을 되풀이하여 행함으로써 논리 모의실험을 실행하는 논리 모의실험기가 제공된다.
제1도에 나타내는 논리 모의실험기를 사용한 논리 모의실험 장치에 의하면 하나의 칩상에 논리 모의실험 회로가 하드웨어 구성된 모의실험 칩(논리 모의실험기)(1)과, 예를 들면 복수의 RAM 으로 구성되는 데이터 수용부(2)와 입출력장치로서의 엔지니어링·워크·스테이션(ENGINEERING Work Station)(이하 EWS라고함)(3)이 외부버스(4)를 통하여 서로 결합되어 있다.
모의실험 칩(1)은, 타임 휠 회로(Time Wheel Circuit)(이하, TWU 회로라고함(11)와, 어큐물레이터(Accumulator)회로(이하 ACU 회로라고함)(12)와, 기능 논리회로(Function Logic Circuit)(이하 FDU 회로라고 함)(13)로서 구성되어 있다.
TWU 회로(11)는 모의실험해야 할 논리소자 또는 논리회로에 행하여야 할 여러 가지의 모의실험 항목을 실행하기 위하여 필요한 시간을 관리하는 기능을 가진다.
그리고, 이들 모의실험 항목이 순차로 되풀이하여 행해지도록 모의실험 항목에 따라 시간이 각각 할당되어 있다.
ACU 회로(12)는 모의실험되는 소자의 회로망의 결합관계를 감시하거나 타이밍오류를 점검하는 기능을 갖는다.
FDU 회로(13)는 ACU 회로(12)에서 보내는 정보, 예를 들면 논리 게이트의 종류를 나타내는 데이터 및 이 논리게이트의 논리동작을 확인한다.
이 경우, 입력에서의 이벤트발생으로 부터 출력에서의 이벤트발생까지의 지연 시간이 있으므로, 이 지연시간 관한 데이터는 다음의 논리 모의실험을 실행하는 타이밍을 결정하기 위하여 TWU 회로(11)에 보내진다.
이와 같이, TWU 회로(11)와, ACU 회로(12) 및 FDU 회로(13)의 동작이 순환적으로 되풀이됨으로써, 모의실험되는 소자의 논리 모의실험이 행해진다.
또, 이 모의실험 칩(1)은, 타이밍 오류를 검출하지 않고서 모의실험을 실시하는 모드(이하A모드라고 함)와, 타이밍 오류의 유무를 검출하면서 모의실험을 실행하고, 타이밍 오류가 발생된 경우는, 이 타이밍 오류를 표시하는 모드(이하, B모드라고 함)와, 타이밍 오류가 발생한 경우는 이 타이밍 오류가 검출된 셀의 출력을 이 타이밍 오류 발생에 의한 값으로 설정하여 모의실험을 실행하고, 이 타이밍 오류를 반영한 모의실험을 실시하는 모드(이하 C모두라고 함)를 선택할 수 있도록 구성되어 있다.
한편, 데이터 수용부(2)는, 조건 상태메모리(Condition State Memory)(이하 CSM이라고 함)(21)와, 테스트 벡터 메모리(Test Wheel Memory)(이하 TVM라고 함)(22)와, 타임 휠 메모리(Time Wheel Memory)(이하 ETM라고 함)(24)와, 회로망 장보(Net Information)메모리(이하NIM라고 함)(25)와, 결과 격납용 메모리(Result Storing Memory)(이하 RSM라고 함)(26)와, 지연 테이블 메모리(Delay Table Memory)(이하 DTM라고 함)(27)및, 회로망 신호 상태 메모리(Net Singnal State Memory)(이하 STM라고 함)(28) 등으로 구성되어 있다. 또, 모의실험 칩(1)내의 TWU 회로(11)와, ACU 회로(12) 및 FDU 회로(13)는 내부 버스(내부 데이터버스, 내부 어드레스버스)(14)를 통하여 서로 접촉되어 있다. 또한 복수의 메모리 중, STM(28)만은 전용 상태 버스(상태 데이터 버스, 상태 어드레스 버스)(30)를 통하여 ACU 회로(12)에 접속되어 있다.
모의실험에 필요한 데이터는, 워크 스테이션(3)에서 데이터 수용부(2)에 입력되어, 필요에 따라 모의실험 칩(1)에 들어가지만, 데이터 수용부(2)의 메모리 중, CSM(21)에는, EWS(3)와의 응답시에 필요한 데이터가 수용된다.
모의실험에 필요한 데이터로서는, 논리의 구성에 관한 데이터 즉, 각 셀(논리소자)의 접속상태에 관한 회로망 정보 데이터 및 각 셀의 명세에 관한 셀 명세 데이터와, 모의실험용의 입력신호에 관한 테스트 벡터 등이 있으나, 이들은 모의실험에 앞서 미리 EWS(3)에서 TVM(22)와, NIM(25) 및 DTM(27)내에 써넣어진다.
그리고, TVM(22)에 격납되는 테스트 벡터로는 예를 들면 입력신호의 상승, 하강등의 변화(이하 이벤트라고 함)의 종류와, 이벤트가 발생한 회로망 이름에 관한 정보가 발생시간 순으로 포함되어있었다.
또한, 각각의 이벤트에는, 이벤트의 발생순서를 나타내는 이벤트 게이트 플래그가 붙여져 있다.
또, NIM(25)에 격납되는 회로망 정보 데이터는, 제4도에 나타낸 바와 같이, 예를 들면 어떤 셀의 출력측의 회로망이 어느 셀에 접속되어 있는가를 나타내는 후단계 회로망 메모리(Net Next Stage Memory)(이하 NNM라고 함)(25a)와, 확장 후 단계 회로망 메모리(Extension Net Next Memory)(이하 ENNM라고 함)(25b)와, 어떤 셀의 입력측에 어느 회로망이 접속되어 있는가를 나타내는 전단계회로망 메모리(Net Before Stage Memory)(이하 NBM라고 함)(25c) 및 확장 전단계 회로망 메모리(Extension Net Beofre Stage Memory)(이하 ENBM라고 함(25d)로 나누어져 있다.
또, 이 회로망 정보 데이터에는, 셀종류(예를 들면 AND 게이트인지 OR 게이트인지 등)에 관한 정보 및 셀의 팬아웃(Fan out:부하용량)에 관한 정보가 포함되어 있다.
또, DTM(27)내에는, 각 셀의 유지시간, 셋업시간등의 타이밍 오류의 설정치와 팬아웃에 의한 지연시간이 격납되어 있다.
그리고, 상술한 논리의 구성에 관한 데이터에 있어서, 예를 들면 플립플롭, 카운터 등의 메모리 셀은, 셋업시간, 유지시간등의 타이밍 오류를 검출하기 위하여 다음과 같이 취급된다.
즉, 예를 들면 제2도에 나타낸 바와 같이, 메모리 셀(플립플롭)(101)의 입력 측 회로망(102) 내지 (105)에는, 타이밍 오류를 검출하기 위한 타이밍 셀(111)이 접속되어 있다.
보다 상세하게는, 타이밍 셀(111)은 입력신호(예를 들면 데이터 신호 및 클록신호)의 이벤트 시간에 포인트가 한정되는 셀(예를 들면, 플립플롭 또는 카운터)에 접속되며, 한정된 시간이 유지되는지를 점검하는 셀로서 배열된다.
예를 들면, 제2A도에서 나타낸 바와 같이, 셋트 및 리셋트 단자를 가지는 플립플롭(10)에 접속된 타이밍 셀(111)은 오류의 10가지 종류에 대응하는 10개의 출력을 발생하도록 가정한다.
이들 10개의 출력에 대응하는 어드레스들은 DTM(27)으로 넘겨지고, 셀에 의하여 결정되는 타이밍 오류 결정시간이 지연 시간으로서 DTM(27)의 회로망 어드레스에 설정된다.
이 상태까지의 작용은 다음과 같이 수행된다. 예를 들면, 제2B도에서 나타낸 바와 같이 모의실험이 수행되고 클록신호(CK)의 상승끝단(이벤트)이 발생될 때, 그 후에 발생할 수 있는 타이밍 오류는 데이터 유지시간(THD)오류, 소거금지시간(TCINH) 오류, 프리셋 금지시간(PINH)오류 및 클록펄스 폭(TCWL)오류등이 있다.
따라서, 플래그들은 이들 오류에 상당하는 회로망 어드레스에 각각 설정된다.
이때, 이들 플래그를 리셋트하기 위한 프리플래그 리셋트 이벤트가 저장되고, 정해진 시간내에 테이터단자(D)에서 이벤트가 발생할 때, 유지시간 오류 플래그가 타이밍 오류를 검출하기 위하여 점검된다.
이 타이밍 셀(111)은 타이밍 셀 인에이블 신호에 의하여 동작하며, 회로망(102) 내지 (105)로 부터 의 입력 타이밍이 소정의 타이밍보다 짧은 경우는 각 타이밍 오류 항목이다. 예를 들면 클록펄스폭 오류 검출신호를 하이레벨로, 클록펄스폭 오류 검출신호를 로우레벨로 함과 동시에, 데이터 입력설정시간 오류 검출신호, 데이터 입력유지시간 오류 검출신호, 프리셋 펄스 폭 오류 검출신호, 프리셋 제거시간 오류 검출신호, 프리셋 금지시간 오류 검출신호, 소거 펄스폭 검출신호, 소거 제거시간 오류 검출신호, 소거 금지시간 오류 검출신호 등의 타이밍 오류 검출신호를 발생한다.
즉, EWS(3)로 부터 플립플롭, 카운터 등의 메모리 셀(101)에 관한 데이터가 입력되면, NIM(25)에는 제2도에 나타낸 바와 같이, 메모리 셀(101)에 타이밍 셀(111)이 접속된 형태로 메모리 셀 데이터가 입력된다.
이때, 타이밍 오류검출을 실시하지 않는 모의실험을 행하는 경우(A모드)는, 이 타이밍 셀(111)을 동작시키지 않는다.
또한, 타이밍 오류를 표시하는 경우 또는 타이밍 오류를 반영시킨 모의실험을 행하는 경우(B 모드 및 C모드)는, 타이밍 셀(111)을 동작시키고, 이것에 의하여, 타이밍 오류가 검출된다.
또한, 제2도에는, 메모리 셀(101) 및 타이밍 셀(111)이, 다입력 다출력의 셀로서 나타내어 있으나, 실제로는, 메모리 셀(101) 및 타이밍 셀(111)에는, 각 출력마다에 분할된 다입력-일출력의 복수의 셀로서 취급함에 의하여 통상의 게이트와 동일하게 취급된다.
즉, 제3도에 나타낸 바와 같이 복수의 출력(QA)내지 (QD)을 가지는 다출력의 메모리 셀은, 제4a도 내지 제4d도에 나타내는 바와 같이 복수의 일출력 셀, 실시예에서는 출력(QA,(QB),(QC),(QD)에 대응하는 4개의 일출력 셀로서 취급된다.
또한, 복수의 일출력 메모리 셀의 각각에는, 필요에 따라서 출력단으로부터 피드백 하기 위한 회로망이 형성되어 있다.
이와 같이 다출력 메모리 셀을 분할하여 취급하도록 하면, 논리 모의실험기(1)에 의하여 메모리 셀에 대한 모의실험이 행해질 때, 분할한 각 셀의 하나의 출력만으로 착안하여 모의실험이 실행가능하다.
이 때문에, 다출력 메모리 셀을 다른 AND 게이트나 OR 게이트 등의 통상의 셀과 동일하게 취급할 수 있다.
즉, 메모리 셀의 내부가 복잡한 게이트 구성이어도, 지연시간의 산출 및 출력 논리치의 결정등이 용이하게 행해진다.
또한, ROM 및 RAM등의 메모리도 상기와 동일하게 취급가능하다.
즉, 제5도에 나타낸 바와 같이, 복수의 입력(131a) 내지 (131z) 및 복수의 출력(132a), 내지 (132z)을 가지는 RAM 또는 ROM을 모의실험되는 셀로 하면, 이 셀은 출력(132a) 내지 (132z)에 대응하여 분할된 복수의 다입력 일출력 셀(133a) 내지 (133z)로서 취급된다.
이와 같이 RAM 또는 ROM이 복수의 일출력의 셀로 분할되어 취급됨으로써, RAM 또는 ROM을 일출력으로만 착안하여 RAM 또는 ROM을 모의실험 할 수 있다.
이를 위하여, RAM 및 ROM 이 AND 게이트나 OR 게이트 등의 통상의 셀과 동일하게 취급될 수 있다.
이 경우, RAM 또는 ROM 격납된 실제의 데이터는 그 어드레스에 따라서 제7도에 나타낸 RAM·ROM데이터 메모리(29)에 격납되어 있고, 필요에 따라서 이 메모리(29)를 억세스함으로써 데이터의 읽어내기 및 써넣기가 행해진다.
또한, 예를 들면 와이어 논리회로에 대하여 다치(예를 들면 12치) 모의실험을 행하는 경우에는, NIM(25)에 격납되는 회로망 정보 데이터는 다음과 같이 취급된다.
즉, 모의실험되는 논리회로가, 제8도에 나타낸 바와 같은 회로, 즉 3개의 셀(141)내지(143)의 출력회로망(144) 내지 (146)가 노우드(147)에서 접속되고, 셀(148)에 결합되는 회로인 경우, 이 회로는, 제9도에 나타낸 바와 같이, 3개의 셀(141) 내지 (143)의 출력의 상태에 따라, 예를 들면 12종류의 레벨치로서 노우드(147)의 출력 레벨은 판정하는 셀(149)이 형성되는 회로로서 취급된다.
이와 같이 모의실험되는 다치회로가 노우드(147)의 출력 레벨을 판정하는 셀(149)이 형성되는 회로로서 취급되면, 모의실험기(1)에서는, 이 다치회로가 통상의 AND 게이트 등과 동일하게 취급되고, 통상의 모의실험과 동일한 방법으로 다치 모의실험된다.
다음에 1칩상에 하드웨어 구성된 모의실험 칩, 즉 논리 모의실험기(1)의 구성 및 동작에 대하여 TWU 회로(11), ACU 회로(12), FDU 회로(13)의 순으로 설명한다.
TWU 회로(11)는, 예를 들면 제10도에 나타낸 바와 같이 구성되어 있다. 이 TWU 회로(11)에서는, EWS(3)로부터 TVM(22)으로 써넣어진 테스트 벡터가 차례로 읽어 내어지고, TWM(23)과 ETM(24)으로 보내짐과 함께, 새롭게 발생한 이벤트가 발생 시각순으로 이들 테스트 벡터 사이에 써넣어진다.
즉, TWM(23)은, 이벤트를 관리하는 메모리로서, 어드레스를 절대시간으로 가지고, 데이터로서의 이벤트의 발생 회로망이름, 이벤트 값등의 이벤트에 관한 데이터를 격납한 ETM(24)내의 어드레스 값(포인터), 다음의 이벤트의 발생시간[TWM(23)의 어드레서:포인터]등을 격납한다.
또한, ETM(24)은, 데이터로서 어떤 시간에 발생한 이벤트의 발생 회로망이름, 이벤트 값을 가지고, 또한 동시간에 발생한 별도의 이벤트 데이터가 격납되어 있는 ETM의 어드레스 값(포인터)등을 가진다.
TWU 회로(11)의 데이터 버스 레지스터(40)는, 내부 버스와 외부 버스를 연결하는 쌍방향 레지스터이다.
또한, 비교 논리회로(41)는, 동시간에 발생하는 이벤트인가의 여부를 판단하는 회로이고, 데이터 점검 논리회로(42)는, 새로 발생한 이벤트나 로드된 이벤트가 포인터를 절단하는지의 여부(포인터의 체인을 고쳐 연결할 필요가 있는가의 여부) 또는, 메모리의 써넣기가 금지되어 있지는 않는가의 여부등을 판단한다. 또한 가산 논리회로(43)는, 현재의 절대시간과 지연 값으로부터 새롭게 발생한 이벤트의 절대시간을 산출한다.
또한, TVM카운터(44)는, TVM(22)의 테스트 벡터를 TWM(23)으로 로드하기 위한 어드레스르 발생하는 카운터이며, TWM카운터(45)는, TWM(23)의 어드레스로 되는 절대시간을 나타내며, ETM카운터(46)는, ETM(24)의 어드레스를 나타낸다.
또한, 이벤트전 레지스터(Before Event Register)(이하 BE레지스터라 한다)(47)는, 현시간의 TWM(23)의 데이터를 나타낸다. 이벤트후 레지스터(Next Event Register)(이하 NE레지스터라 한다)(48)는, TVM(22)으로부터 로드된 데이터나 새로이 발생한 이벤트 데이터를 격납한다.
또한, TWU 제어 논리회로(49)는, TWU회로(11)의 동작을 제어한다.
다음에 TWU 회로(11)의 동작을 설명한다.
먼저, TWU 회로(11)는, TVM(22)내에 수용된 모의실험 항목을 행하는 테스트벡터를 TWM(23)에 로드한다. [단, TWM(23)이 나타나는 시간범위만을 로드한다].
상기 동작에서, 동시간에 발생하는 이벤트가 있으면, TWU 회로(11)는 그 이벤트의 발생 회로망이름, 이벤트 값을 TEM(24)에 써넣고, 이 ETM(24)의 어드레스가 TWM(23)의 포인터로서 이 메모리(23)에 써넣어진다.
또한, 이 동작은, BE레지스터(47)와, NE레지스터(48)를 이용하여 행한다.
또한, 로드한 이벤트가 앞에 로드한 이벤트를 넘기 때문에, TWM(23)의 다음 발생 시간을 나타내는 포인터를 갱신할(포인터의 체인을 고려 연결할) 필요가 있으면 포인터의 갱신을 행해진다.
상술한 바와 같이 하여 TVM(220으로부터 TWM(23)으로의 테스트벡터의 로드가 종료하면, ACU 회로(12)로 부터의 이벤트 읽어내기 요구신호(ACU 요구)를 받아서, TWM(23)이 차례로 이벤트를 ACU 회로(12)에서 읽어 낸다.
데이터가 데이터 수용부(2)에서 ACU 회로(12)로 송출되면, 외부 버스(4)의 사용권이 ACU 회로(12)로 옮겨지고, TWU 회로(11)는, FDU 회로(13)로부터 새로이 발생한 이벤트 써넣기 요구신호 또는 ACU 회로(12)로부터 ACU 요구가 올때까지 대기상태로 된다.
ACU 요구가 오면, 다시, 이벤트가 차례로 TWM(23)으로부터 ACU 회로(12)으로 읽어내어 진다.
FDU 회로(13)로부터 이벤트 써넣기 요구신호가 발생할 때, 내부 데이터버스(14)로는 새로이 발생한 이벤트의 발생 회로망이름, 이벤트 값과 지연값이 보내어 온다.
TWU 회로(11)는, 이 데이터를 데이터 버스 레지스터(40)에서 래치한 후, 가산 논리회로(43)에서 현재의 절대시간과 지연값으로부터 새로이 발생한 이벤트의 절대시간을 산출하고 그것을 TWM(23)에 써넣는다.
이때, TWM(23)의 다음 이벤트는 발생시간을 나타내는 포인터를 갱신할(포인터의 체인을 고쳐 연결할)필요가 있으면, 이 포인터가 갱신된다.
그 후, 또한, TWM(23)내로 이벤트가 있으면 상술한 바와 같이, TWM(23)으로부터 ACU(12)로 이벤트가 읽어내어지고, 동일한 처리가 행해진다.
그리고, TWM(23)내로의 이벤트가 없으면, 다음의 시간 범위의 테스트벡터가 TVM(22)으로부터 TWM(23)으로 로드되고, 상술한 처리가 반복하여 행해진다.
TVM(22)에 기억된 모의실험 항목을 행하는 테스트벡터가 모든 TWM(23)에 로드되고, 처리되어, 그것에 의하여 발생되는 이벤트도 전부 처리된 경우는, 동작이 종료한다.
또한,제10도에 나타낸 예에서는, 각 메모리로서 SRAM이 사용되고 있으나 DRAM을 이용하는 경우는, DRAM 제어회로를 추가할 필요가 있다.
다음에 제11도를 참조하여 ACU 회로(12)에 대하여 설명한다.
ACU회로(12)에서는, 먼저 ACU 제어논리회로(60)가 ACU 요구를 내고, TWU 회로(11)로 부터 TW 확인신호를 받으면, 이 신호에 동기하여 내부 버스(14)로 출력된 이벤트 데이터를 IBUS 레지스터(61)로 래치한다.
ACU 회로(12)는, TW 확인신호를 받으면, 외부 버스(4)의 점유권을 얻고 이벤트 데이터를 래치하여 이벤트 읽어내기 요구신호를 L로 함으로써 내부동작을 개시한다.
IBUS 레지스터(61)로 래치한 이벤트의 발생 회로망이름(어드레스)에 의하여 STM(28)이 억세스되고, 이벤트가 발생한 회로망의 현상태(논리값)와, 이벤트 게이트 플래그가 상태 레지스터(62)에 격납된다.
이후, IBUS 레지스터(61)에 격납되어 있는 TWU 회로(11)로 부터 의 이벤트(현대의 이벤트)의 이벤트 게이트 플래그와, 상태 레지스터(62)에 격납되어 있는 STM(28)으로 부터의 이벤트 게이트 플래그가, ALU 회로(63)에서 비교연산됨으로써, 현재의 이벤트가 유효한 이벤트인가, 무효한 이벤트인가, 또는 불확정한 이벤트인 것으로서 논리치 E로 대치해야 하는 것인가 등이 판단된다.
즉, 예를 들면 어떤 입력 이벤트가 셀에 입력될 때, 셀의 상승, 하강 특성등에 의하여, 출력 이벤트는 어떤 지연시각을 가지고 출력되지만, 이 입력으로부터 출력까지의 지연시간 내에 다른 입력 이벤트가 있으면 출력은 E(발진 상태)또는 X(부정상태)로 된다.
또한, 셀의 상승 지연시간과 하강 지연시간과의 관계에서, 출력 이벤트의 순서가 입력 이벤트의 순서가 역전하는 앞지름의 발생하는 경우가 있으므로, 이와 같은 타이밍 오류가 다음과 같이 하여 검출된다.
단, 이벤트 게이트 플래그에는, 이벤트 게이트인 플래그(Event Gate in Flag)와 이벤트 게이트 아웃 플래그(Event Gate out Flag)가 있다. 이벤트 게이트인 플래그는, 셀의 입력에 이벤트가있었고, 출력에 피쳐 이벤트(Feature Event)가 발생하는 경우, 피쳐 이벤트를 TWM(23)에 써넣을 때에 증가되는 입력순번을 나타내는 플래그이다.
또한 이벤트 게이트 아웃 플래그는, TWN(23)으로 부터 이벤트를 꺼낼 때, 어떤 피쳐 이벤트까지 꺼내는가를 나타내는 플래그이다.
제12도에 나타낸 바와 같이, 먼저 이벤트 게이트인 플래그에 대하여, (IBUS 레지스터(61)의 내용)-(상태 레지스터(62)의 내용)의 연산이 행해지고, 그 값이 0인지 아닌지 판단된다(201).
이 값이 0이면 그 셀 내부를 전파중인 이벤트는, 현재의 이벤트 만이거나, 그 셀을 전파중인 이벤트 중에서, 현재의 이벤트가 최신의 입력에 의하여 발생한 것이다.
그리고, 상기 값이 0인 경우는, 이벤트 신호에 대하여 IBUS≠0의 판단이 행해진다(202).
현재의 이벤트가 그 회로망의 구 신호값을 비꾼것이라면, 이 이벤트는 유효한 이벤트로서 처리된다. (203)
현재의 이벤트가 그 회로망의 구 신호값을 바꾼 이벤트가 아니면, 그 이벤트는 취소되고, 없는 것으로 된다(204).
또한, (201)에서의 연산의 값이 0이 아닌 경우는, 이 셀 내부를 전달중인 이벤트가 다른 곳에도 존재하는 것으로 된다.
즉,예를 들면 현재의 이벤트가 TWM(23)에 피쳐 이벤트로서 일단 써넣어지고, 지연시간의 경과 후에 읽어 내어지기 전에 그 셀의 입력에 별도의 이벤트가 발생할 경우 등이 있다.
이 때문에, (201)에서의 연산의 값이 0이 아닌 경우는, 이벤트 아웃 플래그에 대하여, (IBUS 레지스터(61)의 내용)-(상태 레지스터(62)의 내용)의 연산이 행해지고, 그 값이 0보다 큰가(1이상)의 여부가 판단된다(205).
상기 값이 0이하인 경우는, 현재의 이벤트는 그 셀을 전파중에 다른 이벤트에 추월 된것으로 되고, 이 현재의 이벤트는 무조건 취소된다(204).
상기 값이 0보다 큰 경우(1이상인 경우)는, 현재의 이벤트는 그 셀을 전파중에 다른 이벤트에 추월되지 않는 것으로 되고, 논리치 E의 이벤트가 된다. 그리고 상기 값이 1이상인 경우는, 이벤트 신호에 대하여 IBUS≠0인 판단이 행해진다(206).
현재의 이벤트가 그 회로망의 구 신호값을 바꾼 것이라면, 논리값이 E로 되고(207), 유효한 이벤트로서 처리된다(203).
현재의 이벤트가 그 회로망의 구 신호값을 바꾼 것이 아니라면, 그 이벤트는 취소되고, 없는 것으로 된다(204).
상술한 바와 같은 판단의 결과, 현재의 이벤트가 무효라고 판단된 경우는, 다음의 TWU회로(11)로부터의 이벱트 데이터의 계산에 대비하여, IBUS 레지스터(61)의 이벤트 게이트 플래그가 STM(28)에 써넣어가지고, 현재의 이벤트의 처리가 종료한다.
상기 판단에 있어서, 현재의 이벤트가 유효라고 판단된 경우는, 다음과 같이 하여 처리가 속행된다. 즉, 먼저, IBUS 레지스터(61)의 현재의 이벤트 및 이벤트 게이트 플래그가 STM(28)으로써 넣어지고, 그 후, 데이터 셀렉터(64)를 통하여 RSM(26)으로 현재의 이벤트의 내용이 써남겨진다.
이때, 현재의 이벤트가 써넣어진 어드레스는, RSM 써넣기 어드레스 카운터(65)에 의하여, 0부터 차례로 FFFF까지 증가된다.
또한, 모의실험의 결과는 일단 TWM(23) 또는 ETM(24)에 써넣어가지고, 지연 시간의 후, 이들 메모리로부터 읽어내고, 이벤트 게이트 플래그의 검사를 한 후에 비로서 경과 이벱트(Past Event)로 되어 RSM(26)에 써넣는다.
다음에, ACU 회로(12)는, 현재의 이벤트에 의하여 발생하는 후단 셀의 출력변화(다음단 이벤트)를 구하는 작업으로 넣는다.
먼저, IBUS 레지스터(61)에 래치하고 있는 이벤트가 발생한 회로망 이름(어드레스)에 의하여 NIM(25)중의 NNM(25a)을 억세스하고, 후단 이벤트의 발생 가능성이 있는 회로망 이름(어드레스), 셀의 종류, 팬 아웃이 NN 레지스터(66)에 격납된다.
여기서, 후단 이벤트가 발생할 가능성이 있는 회로망이 2이상이 있는 경우는, 2번째 이후에 대하여는 다음단 회로망 어드레스 끼리를 연결하여 포인터만이 읽어 내어지고, 최초의 후단 회로망을 처리한 후, 포인터에 의하여 다음의 후단 회로망이 차례로 읽어 내어지고, 처리된다.
다음에, NN 레지스터(66)에 격납한 후단 회로망의 어드레스에 의하여, NIM(25)중의 NBM(25c)이 억세스되고, 후단 회로망에 영향을 주는 입력회로망의 어드레스 및 그 입력 핀코드(쿨록, 소거, 데이터 인에이블, 로드 등)가 NB레지스터(67)에 격납된다.
입력회로망에 2이상의 어드레스가 있는 경우는, 후단 회로망의 경우와 동일하게, 포인터를 사용하여 1입력씩 후단 회로망이 읽어 내어진다.
또한, 병렬 처리에 의하여, NN 레지스터(66)에 격납된 후단 회로망의 어드레스에 의하여, STM(28)이 억세스되고, 후단 회로망의 현상태(논리치)와 이벤트 게이트 플래그가 상태 레지스터(62)로 격납된다.
이후, NB 레지스터(67)에 격납된 입력 회로망의 어드레스에 의하여, STM(28)이 억세스되고, 입력회로망의 현상태(논리치)가 상태 레지스터(62)로 격납된다.
또한, NB 레지스터(67)에 격납한 입력회로망의 어드레스를 붙인 포인터에 의하여, ENBM(25d)이 억세스되고, 다른 입력회로망의 어드레스가 NB 레지스터(67)로 격납된다.
상태 레지스터(62), NN 레지스터(66), NB 레지스터(67)에 격납된 후단 회로망, 입력회로망, 핀코우드, 셀 종류, 팬아웃등에 관한 정보는, 상태 레지스터(62)를 바꿔 쓸때마다에 데이터 셀렉터(68)로부터 내부 버스(14)를 경유하여 FDU 회로(13)의 입력 레지스타로 전송된다.
모든 정보가 FDU(13)로 전송되어 버리면, ACU 제어 논리회로(60)가 ACU 계속 또는 ACU 요구를 내어 외부 버스(4)의 점유권을 FDU(13)로 넘긴다.
즉, 복수의 후단 회로망이 있는 경우는, ACU 회로(12)는 ACU 계속 신호를 내어 FDU 회로(13), TWU 회로(11)의 처리가 종료하는 것을 가지고, TW 확인이 있으면, 다음의 후단 회로망에 대하여, 상기 처리를 반복한다.
또한, 다음의 후단 회로망이 없는 경우는, 내부의 NN 레지스터(66), NB 레지스터(67)에, 상태 레지스터(62)가 모두 소거되고, 다음의 현재 이벤트가 TWU 회로(11)로 부터 내부 버스(14) 상으로 출력되고, TW확인이 있을때까지, ACU 제어 논리회로(60)가 ACU 요구를 내어 ACU 회로(12)는 대기한다.
다음에 제13도를 참조하여 FDU 회로(13)에 대하여 설명한다.
먼저, FDU 회로(13)는, 상술한 바와 같이 하여 ACU 회로(12)로부터 전송된 데이터를 래치한다.
각 논리블록에 있어서, 입력 논리치로부터 출력 논리치를 결정하고, 셀 종류 데이터에 의하여, 지정셀의 출력 논리치를 선택한다.
다음에, FDU 회로(13)는 선택된 출력 논리치와 현 출력 논리치를 비교하여 이벤트의 발생(변화의 유무)을 판단한다.
또한, 이벤트 핀(이벤트가 발생한 핀) 이외의 입력 데이터에 의하여 출력이 결정되는 경우는, FDU 회로(13)는 이벤트의 발생이 없는 것으로 판정한다. 이벤트의 발생이 없는 경우는, FDU 회로(13)가 내부 버스(14)에 이벤트의 발생없음의 신호를보내고, FDU 회로(13)의 처리가 종료한다.
이벤트의 발생이 있는 경우는, FDU 회로(13)는 현 출력 현 논리치가 상기 선택된 출력 논리치로 부터, 이벤트의 상승/하강 변화를 판단하고, 셀의 종류, 입력핀명, 출력핀명에 의하여, DTM(27)의 어드레스를 작성하고, DTM(27)에서 입력된 지연시간 또는 타이밍 오류의 설정치, 회로망 어드레스, 이벤트의 유무, 논리치와 함께 내부 버스(14)로 송출하고, FDU 회로(13)의 처리가 종료한다.
다음에, 제14도에 나타낸 구체적인 모의실험되는 논리회로에 기초하여 본 발명의 논리 모의실험을 설명한다.
제14도의 논리회로에 의하면, 회로망(301), (302)은 AND 게이트(G1)의 입력에 접속되고, 회로망(303)은 인버어터(G2)의 입력으로 접속되어 있다.
회로망(304)는 AND 게이트(G1)의 출력과 인버어터(G4)의 입력 및 OR 게이트(G3)의 제1 입력에 접속되어 있다.
회로망(305)는 인버어터(G2)의 출력 및 OR 게이트(G3)의 제2 입력에 접속되고, 회로망(306)은 OR 게이트(G3)의 출력에 접속되어 있다.
회로망(307)은 인버어터(G4)의 출력에 접속되어 있다.
이들 회로망(301) 내지 (307)에는, 제15도에 나타낸 바와 같은 신호가 나타난다.
제15도에 있어서, 부호 (1) 내지 (10)은 이벤트 게이트 플래그를 나타내고 있다.
제14도 및 제15도에 나타낸 테스트벡터 데이터, 회로망정보 데이터, 지연 시간 및 타이밍 오류 설정치가 워크 스테이션(3) 으로부터 TVM(22), NIM(25) 및 DTM(27)에 써넣어진다.
TVM(22)에 기억된 테스트벡터는 제16도에 나타낸 바와 같이 시각, 회로망 이름 및 이벤트의 종류에 관한 데이터를 포함하고 있다.
이 테스트 벡터 데이터는 TWM(23) 및 ETM(24)으로 전송되고, 여기에 기억된다.
예를 들면, 시각 0002와, 이 시각에 이벤트가 발생하는 회로망이름 102 및 103과 이벤트 L→ H 및 H→L이 TVM(22)에 기억된다.
동일하게 시각 0009와, 이 시각에 이벤트가 발생하는 회로망이름 101 및 이벤트 H→L는 TVM(22)에 기억된다.
TWM(23)에는, 시각에 대응하는 어드레스, 예를 들면 0001, 0002 ……, 다음의 이벤트의 발생시각에 대응하는 어드레스, 예를 들면 0009, 0014및 ETM(24)의 어드레스(포인터), 예를 들면 1020, 1078을 기억한다.
ETM(24)은, TWM(23)에 기억된 어드레스에 의하여 억세스되고, 이벤트 발생 회로망이름(302) 및 이벤트의 종류, 즉 이벤트 L→H 및 동시각에 발생한 별도의 이벤트 데이터 H→L가 기억되어 있는 어드레스 1099를 격납하고 있다.
NIM(25)에 기억되는회로망 정보 데이터는 제17도 및 제18도에 나타내는 바와 같이 NNM(25a), ENNM(25b), NBM(25c) 및 ENBM(25d)에 기억된다.
즉, NNM(25a)에 기억된 데이터에 의하면, 예를 들어 회로망(301)에 접속되는 셀, 즉 AND 게이트의 출력에 접속되어 있는 회로망이름, 즉 회로망(301)의 후단의 회로망 이름은 (304)인 것이 나타내어져 있다.
회로망(304)의 출력에는 인버터(G4)와 OR 게이트(G3)가 접속되어 있고, 이 경우에는, OR 게이트(G3)의 출력에 접속되어 있는 회로망이름(306)과 함께 ENNM(25d)의 어드레스 0001가 기억되어 있다.
ENNM(25b)의 이 어드레스 0001에는, 별도의 셀, 즉 인버어터(G4)의 출력에 접속되어 있는 회로망이름(307)이 기억되어 있다.
이것에 대하여, NBM(25c) 및 ENBM(25d)에는, 예를 들 회로망(304)가 접속되는 셀, 즉 AND 게이트(G1)의 입력측에 접속되어 있는 회로망이름, 즉 회로망(304)의 전단의 회로망이름이 (301)과 (302)인 것을 나타내는 데이터가 기억되어 있다.
제19도에는, DTM(27)에 기억되는, 각 회로망에 있어서의 지연정보가 나타내어져 있다.
예를 들면, 회로망(304)는 지연량=4의 AND 게이트(G1)에 의한 지연 정보(4)를 가지는 것이 나타내어져 있다.
제20도에는, 제15도의 타이밍 챠아트에 나타낸 바와 같은 각 회로망의 초기시의 데이터의 레벨이 기억되어 있다.
제16도 내지 제20도에 나타낸 바와 같은 데이터가 워크 스테이션(3)으로 부터 데이터 수용부(2)로 입력되고, 이들 데이터가 모의실험 칩(1)으로 전송됨으로써, TWU 회로(11), ACU 회로(120 및 FDU 회로(13)가 앞서 설명한 바와 같이 동작하고, 제14도에 나타내는 논리회로의 동작 모의실험을 고속으로 실행한다.
다음에, 논리회로를 구성하는 회로망 내의 적어도 1개의 회로망의 논리치를 고정하고, 고장 상태를 모의실험하는 모의실험 칩에 대하여 설명한다.
예를 들면, 제21도에 나타낸 바와 같이 셀(151) 내지 (153)에 접속되는 회로망(161) 내지 (167)의 논리치의 한계를 고정시켜, 즉 출력논리치에 불구하고 1또는 0으로 고정시켜서, 고장 발생상태에 있어서의 소정의 테스트 패턴에 의한 모의실험이 행해지고, 이 테스트 패턴에 의하여 고장이 검출되는지 아닌지가 조정된다.
이때, 모의실험 결과에 논리치를 고정함에 따른 영향이 나오는 경우에는,그 테스트 패턴에 의하여 고장이 검출가능한 지를 알고, 모의실험 결과에 논리치를 고정한 영향이 나오지 않는 경우에는, 고장검출이 불가능한 것을 알 수 있다.
논리치를 고정하는 회로망이 회로망(161) 내지 (167)에서 차례로 변경되고, 각 회로망마다에 모의실험이 반복하여 행해진다.
이것에 의하여, 테스트 패턴에 의한 고장 검출율이 판정된다.
이 고장 검출율을 판정하는 경우, ACU 회로(12)에 따른 처리중, STM(28)으로 부터 회로망의 논리치를 읽어내는 때에 논리치를 고정하여야 하는 회로망에 대해서는, STM(28)으로 부터 읽어낸 논리치에 불구하고, 고정한 논리치(1 또는 0)가 상태 레지스터(62)에 격납되고, 이 고정논리치가 FDU 회로(13)의 입력 레지스터에 전송된다.
따라서, 이 경우의 모의실험은, 논리치를 고정한 회로망이 예를 들면 전원 또는 접지로 접속된 때의 모의실험으로 된다.
상기 실시예에서는, 모의실험되는 논리회로의 각종 정보가 워크 스테이션(3)으로부터 데이터 수용부(2)로 전송되고, 이 데이터 수용부(23)의 데이터가 논리 모의실험기(1)로 보내져서, 논리 모의실험이 실행되고 있으나, 논리 모의실험기(1)의 능력을 향상하도록 대규모의 회로, 예를 들면 제22도에 나타낸 바와 같은 회로에 대하여 논리 모의실험을 행하는 경우에는, 제23도에 나타낸 바와 같이 멀티 논리 모의실험기가 이용된다.
즉, 제23도에 나타낸 바와 같이 4개의 논리 모의실험기(1-1) 내지 (1-4)가 제22도의 논리회로 블록(1) 내지 (4)을 각각 받아가지고, 이들 논리회로 블록(1) 내지 (4)을 논리 모의실험한다.
또한, 시스템의 개발(실장 기판 설계)이나 LSI 설계를 행하는 때에는, 전 시스템을 이용하여 개발 또는 설계를 행하는 쪽이 효율이 좋은 경우가 있다.
이와 같은 경우에는, 실제의 IC 칩 또는 LSI 칩을 사용하여 모의실험이 행해진다.
이것을 실제 칩 모의실험(Real Chip simulation)이라 한다.
이 실제 칩 모의실험에 사용되고 있는 실제 칩 모의실험기에 의하여 고속 논리 모의실험을 행하기 위하여는, 소프트웨어에 의하여 표현되어 있는 논리회로를 고속논리 모의실험할 필요가있었다.
그러나, 실제 칩 모의실험기는 소프트웨어부에 의한 모의실험 동작의 시간에 의존시킬 수 없게 된다.
그래서, 본 발명에서는, 실제 칩 모의실험기의 소프트웨어부에 의한 논리 모의실험이 본 발명의 하드웨어 모의실험기에 의하여 행해지게 되고, 리얼 칩 모의 실험이 보다 고속으로 실현가능하다.
즉, 제24도에 나타낸 바와 같이 4개의 소자(401) 내지 (404)에 의하여 구성되는 논리장치가 실제로 모의실험 되는 때, 소자(401)로서 본 발명의 하드웨어 논리 모의실험기가 사용되고, 다른3개의 실제 논리 칩에 결합된다.
상술한 바와 같이 본 발명에 의하면, TWU 회로(11), ACU 회로(12), FDU 회로(13)에 의한 처리가 반복됨으로써, 논리 모의실험기(1)는 TVM(22) 내의 테스트벡터에 따라서 모의실험되는 논리소자의 시간적인 변화에 대하여 모의실험도중에 EWS(3)와 응답을 행하지 않고, 고속으로 모의실험을 실행할 수 있다.
즉, 본 발명의 논리 모의실험에서는, 메모리 이외의 논리 부분이 모두 1칩상에 하드웨어로서 구성되어 있으며, 이 하드웨어 단독으로 모의실험이 실행 가능하다.
따라서, 본 발명은, 종래의 논리 모의실험과 같이 모의실험이 도중에 하드웨어 부분, 즉 모의실험 칩과 소프트웨어 부분, 즉 워크 스테이션이 응답을 행할 필요가 없다.
이 때문에, 응답에 요하는 시간이 삭감되고, 종래에 비교하여 모의실험이 대폭으로 고속화 가능하다.
또한, ACU 회로(12)에서는, IBUS 레지스터(61)에 격납되어 있는 TWU(11)로 부터의 이벤트(현재의 이벤트)의 이벤트 게이트 플래그와 상태 게이트 플래그 레지스터(62)에 격납되어 있는 STM(28)으로 부터의 이벱트 게이트 프레그를 ALU 회로(63)에 의하여 비교함으로써 타이밍 오류가 검출 가능하다.
따라서, 타이밍 오류를 고려한 모의실험 이라도 종래에 비하여 고속으로 모의실험이 행해진다.
또한, 각 회로망의 논리치의 1개를 고정시켜, 논리치를 고정회로망이 전원 또는 접지에 접속된 고장상태를 상정하여 모의실험을 행할 수 있으므로, 논리치를 고정하는 회로망을 차례로 변경하여 모든 회로망에 대하여 모의실험을 반복하여 행함으로써, 단시간에 테스트 패턴의 고장검출율의 판정 등을 행할 수 있다. 그러나, 이때, 모의실험 결과와 기대치가 차례로 비교되고, 기채기와 다른 모의실험 결과가 얻어지고, 그것에 의하여 고장 검출이 가능한 것이 판명된 경우에는, 그 시점에서 그 회로망에 대한 모의실험(고장 모의실험)을 실시하도록 하며, 다시 단시간에 테스트 패턴의 고장 검출율이 판정 가능하다.
또한, 상술한 바와 같이 모의실험 모드로서 C 모드가 선택되어 있는 경우는, 한 번 모의실험이 종료한 후, 타이밍 오류가 검출된 셀의 출력을 이 타이밍 오류 발생에 의한 값으로 설정하여 동일한 모의실험이 실행 가능하다.
또한, 모의실험 모드로서 A 모드가 선택되어 있는 경우는, 상술한 바와 같은 타이밍 오류의 검출은 행하여 지지 않는다.
즉, 본 실시예의 논리 모의실험기에서는, 타이밍 오류를 검출하지 않고 모의실험을 실시하는 A 모드와, 타이밍 오류의 유무를 검출하지 않으면서 모의실험을 실행하고, 타이밍 오류가 발생한 경우는, 이 타이밍 오류를 표시하는 B 모드와, 타이밍 오류가 발생한 경우는, 이 타이밍 오류가 검출된 셀의 출력을 이 타이밍 오류 발생에 의한 값으로 설정하여 모의실험을 실행하고, 이 타이밍 오류를 반영한 모의실험을 실시하는 C 모드를 선택할 수 있다.
따라서, C모드를 선택함으로써, 종래에 비하여 보다 실제의 상태에 가까운 정확한 모의실험을 행할 수 있다.
또한, 메모리 이외의 논리부분이 1칩상에 하드웨어로서 형성되어 있고, 이 하드웨어 단독으로 모의실험을 행하는 것이 가능하므로, 종래에 비하여 고속으로 단시간에 모의실험을 행할 수 있다.
또한, 다출력 메모리 셀이 출력의 수에 따라서 분할하여 취급되고, 분할한 각셀의 하나의 출력에만 착안하여 모의실험이 실행될 수 있다.
이 때문에, 다출력 메모리 셀을 다른 AND 게이트나 OR 게이트 등의 통상의 셀과 같이 취급할 수 있다.
또한, 메모리 셀, 예를 들면 RAM 또는 ROM에 격납된 실제의 데이터는 그 어드레스에 따라서 전용의 메모리에 격납되고, 필요에 따라서 이 메모리를 억세스함으로써 데이터의 읽어내기 및 써넣기가 행해진다.
따라서, ROM 및 RAM 등의 메모리를 가지는 논리회로를 모의실험하는 경우에도, 하드웨어부와 소프트웨어부가 응답할 필요가 없다.
이 때문에, 이 응답에 필요낳 시간이 삭감될 수 있고, 모의실험의 고속화가 실현될 수 있다.
또한, 상기 실시예에서는, 1 칩상에 TWU 회로(11)와, ACU 회로(12)와 FDU 회로(13)를 형성한 하드웨어 논리 모의실험기에 대하여 설명하였으나, 본 발명은, 복수(예를 들면 2내지 3) 칩상에 분할된 하드웨어 논리 모의실험기 등에도 동일하게 적용할 수 있다.

Claims (15)

  1. 모의실험되는 논리회로의 구성에 관한 데이터 및 상기 논리회로에 입력되는 입력신호에 관한 데이터를 포함하는 논리회로 데이터를 외부메모리 장치로 기억시키는 제1수단과, 상기 외부메모리 장치에서 읽어낸 상기 논리회로 데이터에 따라서 상기 모의 실험되는 논리회로의 구성에 관한 모의실험을 실행하는 제 2수단과, 상기 제2 수단에 의하여 얻어진 모의실험 결과에 따라서, 상기 모의실험되는 논리회로의 동작에 관한 모의실험을 실행하는 제3 수단으로 구성되는 논리 모의실험기.
  2. 제1항에 있어서, 상기 제2 수단은, 상기 외부 메모리 장치로 부터 상기 논리회로의 접속 데이터와, 입력신호에 관한 테스트벡터 데이터및 상기 논리회로의 사양에 관한 데이터를 포함하는 논리회로 데이터를 받아서 상기 논리회로의 구성에 관한 모의실험을 실행하고 그 모의실험 결과를 상기 제3 수단으로 출력하며, 상기 제3 수단은 상기 제2수단으로부터 의 상기 모의실험 결과에 따라서 논리동작에 관한 모의실험을 실행함으로써, 논리 모의실험을 행하는 논리 모의실험기
  3. 제1항에 있어서, 상기 제1 수단, 상기 제2 수단 및 상기 제3 수단이 하나의 칩에 일체적으로 구성되는 논리 모의실험기.
  4. 제1항에 있어서, 상기 제2 수단은, 상기 외부 메모리 장치로 부터 고장상태의 모의실험을 가능하게 하기 위하여 상기 모의실험되는 논리회로의 회로망의 논리치중의 적어도 한 개를 소정의 논리치로 고정한 상기 논리회로의 구성에 관한 데이터를 받음으로써, 고장상태를 모의실험하는 논리 모의실험기.
  5. 제1항에 있어서, 상기 모의실험되는 논리회로의 동작의 지연시간에 기인하는 입출력 타이밍 오류를 검출하는 수단을 더욱 포함하여 구성되는 논리 모의실험기.
  6. 제1항에 있어서, 상기 모의실험되는 논리회로의 입력에 따른 타이밍오류를 검출하고, 이 타이밍 오류의 발생시점에 따른 값을 출력치로서 출력하는 수단을 더욱 포함하여 구성되는 논리 모의실험기.
  7. 제1항에 있어서, 상기 모의실험되는 논리회로는 다출력을 가지는 다출력 논리소자에 의하여 구성되고, 상기 다출력 논리소자를 상기 출력의 수에 대응하여 얻은 복수의 일출력 논리소자로서 취급하며, 이들 일출력 논리소자에 대하여 모의실험을 행하는 수단을 더욱 포함하여 구성되는 논리 모의실험기.
  8. 제1항에 있어서, 상기 모의실험되는 논리회로는 다출력을 가지는 메모리 셀에 의하여 구성되고, 상기 다출력 메모리 셀은 상기 출력의 수에 대응하여 얻은 복수의 일출력 메모리 셀로서 취급하고, 이들 일출력 메모리 셀에 대하여 모의실험을 순차적으로 행하는 수단을 포함하는 논리 모의실험기.
  9. 제1항에 있어서, 상기 모의실험되는 논리회로는 상호 접속 출력회로망을 가지는 복수개의 논리셀에 의하여 구성되고, 이들 논리셀의 출력 회로망의 접속점을 출력레벨을 판정하는 수단으로서 취급하고, 소정의 모의실험을 상기 논리셀에 대하여 행하는 수단을 더욱 포함하여 구성되는 논리 모의실험기.
  10. 제1항에 있어서, 타이밍 오류 검출을 행하지 않고 논리 모의실험만을 실행하는 제1 모드와, 타이밍 오류 검출을 행하는 제2 모드와, 타이밍 오류를 논리 모의실험에 반영시키는 제3 모드를 선택적으로 실행시키는 수단을 더욱 포함하여 구성되는 논리 모의실험기.
  11. 복수의 논리회로를 각각 논리 모의실험하는 복수의 서브 논리 모의실험기에 의하여 구성되며, 각 서브 논리 모의실험기는: 모의실험되는 논리회로의 구성에 관한 데이터 및 상기 논리회로에 입력되는 입력신호에 관한 데이터를 포함하는 논리회로 데이터를 메모리 장치에 기억시키는 제1 수단과; 상기 메모리 장치로 부터 읽어낸 상기 논리회로 데이터에 따라서 모의실험되는 논리회로의 구성에 관한 모의실험을 실행하는 제2수단; 및 상기 제2 수단에 의하여 얻어진 모의실험 결과에 따라서, 상기 모의실험되는 논리회로의 동작에 관한 모의실험을 실행하는 제3 수단으로 구성되는 논리 모의실험기.
  12. 실제의 모의실험을 실행하기 위하여 복수의 실제 논리회로를 포함한 논리장치에 형성되며: 모의실험되는 논리회로의 구성에 관한 데이터 및 상기 논리회로에 입력되는 입력신호에 관한 데이터를 포함하는 논리회로 데이터를 메모리 장치에 기억시키는 제1수단과; 상기 메모리 장치에서 읽어낸 상기 논리회로 데이터에 따라서 상기 모의실험되는 논리회로의 구성에 관한 모의실험을 실행하는 제2 수단과; 상기 제2 수단에 의하여 얻어진 모의실험 결과에 따라서, 상기 모의실험되는 논리회로의 동작에 관한 모의실험을 실행하는 수단으로 구성되는 논리 모의실험기.
  13. 복수의 회로망을 가지는 모의실험되는 논리회로에 대하여 모의실험을 실행하는 때의 시간을 관리하는 제1 수단과; 상기 모의실험되는 논리회로의 회로망과의 결합관계를 점검하고, 이 모의실험되는 논리회로의 구성을 인식하는제2수단과; 상기 제2 수단의 인식 결과를 받아서, 상기 모의실험되는 논리회로의 동작을 점검함과 함께 이 동작의 시간에 관한 데이터를 상기 제1 수단으로 전달하는 제3 수단으로 구성되며, 상기 제1 수단, 제2 수단 및 제3 수단은 순환적으로 결합되며, 외부에서 입력되는 소정의 모의실험 패턴 데이터를 받고, 이 모의실험 패턴 데이터에 따라서 상기 제1 수단,제2 수단 및 제3 수단의 동작을 반복하여 행함으로써 논리 모의실험을 실행하는 논리 모의실험기.
  14. 모의실험되는 논리회로의 구성에 관한 데이터 및 상기 논리회로에 입력되는 입력신호에 관한 데이터를 포함하는 논리회로 데이터를 기억하는 메모리 장치및, 상기 메모리 장치에 접속되고, 이 메모리 장치에 응답하여 논리 모의실험을 실행하는 논리 모의실험기에 의하여 구성되며, 상기 논리 모의실험기는, 상기 메모리 장치로부터의 상기 논리회로 데이터의 읽어내기 타이밍을 제어하는 제1 수단과; 상기 메모리 장치에서 읽어낸 상기 논리회로 데이터에 따라서 상기 모의실험되는 논리회로의 구성에 관한 모의실험을실행하는 제2 수단과; 상기 제2 수단에 의하여 얻어진 모의실험 결과에 따라서, 상기 모의실험되는 논리회로의 동작에 관한 모의실험을 실행하는 수단으로 구성되는 논리 모의실험 장치.
  15. 제14항에있었어서, 상기 메모리 장치는, 상기 모의실험되는 논리회로의 구성에 관한 회로망 정보 데이터를 기억하는 제1 기억수단과, 상기 논리회로의 사양에 관한 지연데이터 및 타이밍 오류 설정 데이터를 기억하는 제2 기억수단과 모의실험용의 입력신호에 관한 테스트벡터 데이터를 기억하는 제3기억수단 및, 상기 제3기억수단으로부터 읽어낸 테스트벡터 데이터를 기억하고, 이 테스트 벡터 데이터에 포함되는 이벤트 데이터를 상기 제2 수단으로 인가하는 제4 기억수단을 가지는 논리 모의실험 장치.
KR1019910000393A 1990-01-12 1991-01-12 논리 모의실험기 KR0158887B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004927A JP2797127B2 (ja) 1990-01-12 1990-01-12 論理シミュレータ
JP2004928A JP2797128B2 (ja) 1990-01-12 1990-01-12 論理シミュレータ
JP4927 1990-01-12
JP4928 1990-01-12

Publications (2)

Publication Number Publication Date
KR910014808A KR910014808A (ko) 1991-08-31
KR0158887B1 true KR0158887B1 (ko) 1999-02-18

Family

ID=26338784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910000393A KR0158887B1 (ko) 1990-01-12 1991-01-12 논리 모의실험기

Country Status (2)

Country Link
US (1) US5613062A (ko)
KR (1) KR0158887B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027415B1 (ko) * 2009-12-18 2011-04-11 한국과학기술원 차량용 운영체제의 관리 시스템, 관리 방법 및 오류 검출 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5275336A (en) * 1991-12-04 1994-01-04 The Perkin-Elmer Corporation Wire thermal spray gun and method
GB2303230B (en) * 1995-07-13 1998-08-12 Advanced Risc Mach Ltd Digital circuit simulation
JPH1021274A (ja) * 1996-06-28 1998-01-23 Mitsubishi Electric Corp 半導体回路論理検証装置
US7035784B1 (en) * 2000-09-22 2006-04-25 Lucent Technologies Inc. Data-driven method simulator and simulation process
US8079022B2 (en) * 2007-06-04 2011-12-13 Carbon Design Systems, Inc. Simulation of software
US7890288B1 (en) * 2007-11-05 2011-02-15 Anadigics, Inc. Timing functions to optimize code-execution time
US20130282352A1 (en) * 2011-05-20 2013-10-24 Grayskytech Llc Real time logic simulation within a mixed mode simulation network
CN104077204B (zh) * 2014-07-22 2016-01-27 无锡中微爱芯电子有限公司 可重构的8位rsic单片机仿真器
CN105022869B (zh) * 2015-06-30 2018-07-20 深圳市芯海科技有限公司 一种快速可重构的mcu仿真方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4306286A (en) * 1979-06-29 1981-12-15 International Business Machines Corporation Logic simulation machine
US4656580A (en) * 1982-06-11 1987-04-07 International Business Machines Corporation Logic simulation machine
US4527249A (en) * 1982-10-22 1985-07-02 Control Data Corporation Simulator system for logic design validation
US4587625A (en) * 1983-07-05 1986-05-06 Motorola Inc. Processor for simulating digital structures
US4769817A (en) * 1986-01-31 1988-09-06 Zycad Corporation Concurrent fault simulation for logic designs
US4862347A (en) * 1986-04-22 1989-08-29 International Business Machine Corporation System for simulating memory arrays in a logic simulation machine
US4787061A (en) * 1986-06-25 1988-11-22 Ikos Systems, Inc. Dual delay mode pipelined logic simulator
US4787062A (en) * 1986-06-26 1988-11-22 Ikos Systems, Inc. Glitch detection by forcing the output of a simulated logic device to an undefined state
JPH07120359B2 (ja) * 1986-10-21 1995-12-20 日本電気株式会社 ハードウェアシミュレータにおけるシミュレーション方法
US4872125A (en) * 1987-06-26 1989-10-03 Daisy Systems Corporation Multiple processor accelerator for logic simulation
US4914612A (en) * 1988-03-31 1990-04-03 International Business Machines Corporation Massively distributed simulation engine
JP2522541B2 (ja) * 1989-03-24 1996-08-07 三菱電機株式会社 シミュレ―ション装置及びシミュレ―ション方法
US5091872A (en) * 1989-06-23 1992-02-25 At&T Bell Laboratories Apparatus and method for performing spike analysis in a logic simulator
US5081601A (en) * 1989-09-22 1992-01-14 Lsi Logic Corporation System for combining independently clocked simulators

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027415B1 (ko) * 2009-12-18 2011-04-11 한국과학기술원 차량용 운영체제의 관리 시스템, 관리 방법 및 오류 검출 방법

Also Published As

Publication number Publication date
US5613062A (en) 1997-03-18
KR910014808A (ko) 1991-08-31

Similar Documents

Publication Publication Date Title
US4769817A (en) Concurrent fault simulation for logic designs
US6931611B2 (en) Design verification system for avoiding false failures and method therefor
US6378112B1 (en) Verification of design blocks and method of equivalence checking of multiple design views
KR100337696B1 (ko) 모델 검사를 위한 동작 환경을 자동적으로 생성하는 방법
US5583787A (en) Method and data processing system for determining electrical circuit path delays
US4922445A (en) Logic circuit simulation method
KR0158887B1 (ko) 논리 모의실험기
US5491639A (en) Procedure for verifying data-processing systems
JPS6288972A (ja) 階層テスト・シ−ケンサ
US5995425A (en) Design of provably correct storage arrays
Ivannikov et al. Set-theoretic model of digital systems functioning
KR0134036B1 (ko) 논리 시뮬레이션 방법
Gavrilov et al. Method of mathematical description for digital system blocks logical models
US6470480B2 (en) Tracing different states reached by a signal in a functional verification system
JP2007058450A (ja) 半導体集積回路
Raymond Tutorial Series 10 LSI/VLSI Design Automation
EP1187043A2 (en) Gate addressing system for logic simulation machine
JP3004669B2 (ja) 論理シミュレータ
Hayrapetyan et al. Implementation of memory static, coupling and dynamic fault models at the register transfer level
JP2797127B2 (ja) 論理シミュレータ
Darus et al. A test processor chip implementing multiple seed, multiple polynomial linear feedback shift register
JP2832738B2 (ja) 論理シミュレータ
JP2797128B2 (ja) 論理シミュレータ
US7089538B1 (en) High speed software driven emulator comprised of a plurality of emulation processors with a method to allow memory read/writes without interrupting the emulation
CN117377961A (zh) 用于仿真的方法、装置及设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020722

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee