【事件の表示】
　特許第２７９７１２８号「論理シミュレータ」の請求項１ないし２に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結論】
　訂正を認める。
　特許第２７９７１２８号の請求項１ないし２に係る特許を維持する。
【理由】
Ｉ．手続きの経緯
　本件特許第２７９７１２８号に係る発明は、平成２年１月１２日に特許出願され、平成１０年７月３日にその発明ついて特許の設定登録がなされた後、その特許について、特許異議申立人村戸良至より特許異議申立がなされ、取消理由通知がなされ、取消理由通知の指定期間内である平成１１年７月３０日に訂正請求がなされたものである。
ＩＩ．訂正の適否についての判断
１．訂正の内容
▲１▼訂正事項ａ
　特許請求の範囲の請求項１に係る記載
「前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップと」
を、
「前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻
順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップと」
と訂正する。
▲２▼訂正事項ｂ
　特許請求の範囲の請求項２に係る記載
「シミュレーション用の入力信号のイベントの種類と……ファンクションロジック部とを具備した」
を、
「前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直す」
と訂正する。
▲３▼訂正事項ｃ
　明細書の第４頁第３〜１８行の記載「（課題を解決するための手段）……（作用）」
を、
「（課題を解決するための手段）
　すなわち本発明の論理シミュレータは、
　入出力装置と、
　少なくとも、前記入出力装置から入力された被シミュレーションロジック回路の構成に関するデータと、該ロジック回路の動作をテストするためのテストパターンに関するデータと、該ロジック回路内のメモリーに格納されたデータと、シミュレーション結果とを格納する複数のＲＡＭと、
　前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻
順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップとを具備したことを特徴とする。
　また、請求項２の発明は、請求項１記載の論理シミュレータにおいて、
　前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直すことを特徴とする。
（作用）」
と訂正する。
２．訂正の目的の適否、新規事項の有無及び拡張・変更の存否
▲１▼上記訂正事項ａについては、
特許請求の範囲の請求項１に記載された
「前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップと」
を、より下位概念である
「前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻
順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップと」
に限定するものである。
　したがって、この訂正は特許請求の範囲の減縮に相当するものである。
▲２▼上記訂正事項ｂについては、
　特許請求の範囲の請求項２に記載された
「前記シミュレーションチップは、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻順にこれらのテスト・ベクタ間に書き込むタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを具備した」
を、上記訂正事項ａによって実質的に請求項１に記載する訂正を行った関係から削除するとともに、上記の「タイムホイール部」の構成を、より下位概念である
「前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直す」
に限定するものである。
　したがって、この訂正は特許請求の範囲の減縮に相当するものである。
▲３▼上記訂正事項ｃについては、
　上記訂正事項ａ，ｂの訂正に伴い、明細書の記載を整合させたものである。
　すなわち、訂正前の記載内容では、訂正事項ａ，ｂに係る訂正によって減縮された特許請求の範囲の記載との関係において明りょうでない部分が生じることになり、この明りょうでない部分が発生することを回避するために発明の詳細な説明の記載を訂正するものである。
　そして、上記いずれの訂正も実質上特許請求の範囲を拡張し、又は変更するものでもない。
３．独立特許要件
（１）本件発明
　平成１１年７月３０日付け訂正明細書の請求項１、２に係る発明（以後、「本件発明」という。）は、その訂正明細書の特許請求の範囲の請求項１、２に記載された事項により特定される次のとおりのものである。
「【請求項１】入出力装置と、
　少なくとも、前記入出力装置から入力された被シミュレーションロジック回路の構成に関するデータと、該ロジック回路の動作をテストするためのテストパターンに関するデータと、該ロジック回路内のメモリーに格納されたデータと、シミュレーション結果とを格納する複数のＲＡＭと、
　前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップとを具備したことを特徴とする論理シミュレータ。
　【請求項２】請求項１記載の論理シミュレータにおいて、
　前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直すことを特徴とする論理シミュレータ。」
（２）当審が通知した取消理由に引用された引用刊行物に記載の発明
▲１▼刊行物１（特開昭６３−２０４４４２号公報）には、次の事項が記載されている。
「論理回路におけるゲートの動作をシミュレーションする論理シミュレーション専用エンジンにおいて、論理回路を構成する評価対象メモリをメモリセルに区分して、当該メモリセルを上記ゲートと対応づけた上で、評価対象メモリに関する内部状態を保持するメモリ評価用メモリと、評価対象メモリに対するアドレス信号を発生するためのアドレス信号用ネット・ステータス・メモリとを用意し、評価対象メモリと評価対象ゲートとが混在している状態での論理回路を評価できる専用プロセッサが開示されている。」（刊行物１の第２頁下右欄第１９行〜第３頁上左欄第１０行目）と記載されている。
　刊行物１には、ゲートとメモリとの混在する論理回路を評価できるように考慮したメモリ・シミュレーション機構をもつ論理シミュレーション専用プロセッサに関する発明が記載されている。
（３）対比・判断
▲１▼請求項１について、
　本件請求項１に係る発明は、ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うシミュレーションチップにおいて「次のイベントの発生時間がポインターによって示されるタイムホイール部」をその構成の特徴点とするものである。
　一方、刊行物１には、本件請求項１に係る発明の構成要件を示す構成の一部が記載されてはいるももの、請求項１に係る発明の上記構成の特徴点「次のイベントの発生時間がポインターによって示されるタイムホイール部」は刊行物１に記載されていない。また、刊行物１に記載された発明から「次のイベントの発生時間がポインターによって示されるタイムホイール部」を設けることが容易に考えることはできない。さらに、特許異議申立人は平成１１年１１月９日付けの回答書で、『「タイムホール部」は刊行物１の「評価ゲート・バッファ（６）」に対応し、「アキュムレータ部」は刊行物１の「評価パイプライン（５）」に対応し、「ファンクションロジック部」は刊行物１の「ファンアウト・パイプライン（４）」に対応しており』と主張しているが、この記載も具体的説明がされておらず不明瞭である。
　したがって、本件請求項１に係る発明は刊行物１に記載された発明にもとづいて当業者が容易に発明することができたものとすることはでない。
　そして、本件請求項１に係る発明の特許は、上記刊行物１に記載のない上記構成の特徴点を有することにより、特許明細書に記載されたとおりの、「従来に比べて高速にシミュレーションを行うことができる」という作用・効果を奏するものである。
　よって、本件請求項１に係る発明は特許出願の際独立して特許を受けることができるものである。
▲２▼請求項２について
　本件請求項２に係る発明も、同請求項１に係る発明を更に技術的に限定具体化したものであるから、これも上記刊行物１に記載された発明から当業者が容易に発明できたものではない。
４．むすび
　以上のとおりであるから、上記訂正事項は、特許法第１２０条の４第２項及び同条第３項において準用する１２６条第２〜４項の規定に適合するので、当該訂正を認める。
ＩＩＩ．特許異議申立について
１．申立ての理由の概要
　特許異議申立人村戸良至は、証拠として甲第１号証（特開昭６３−２０４４４２号公報）を提出し、本件請求項１、２に係る発明は、特許法第２９条第２項の規定に違反してなされたものであるから、特許を取り消すべき旨主張している。
２．判断
　特許公報に記載された請求項１、２に係る発明については、上記ＩＩ．３．（３）で示したように、取消理由通知で示した刊行物に記載された発明から容易に発明をすることができたものとすることはできない。
３．むすび
　以上のとおりであるから、特許異議申立人の理由及び証拠によっては、本件請求項１、２に係る発明の特許を取り消すことはできない。
　また、他に本件請求項１、２に係る発明の特許を取り消すべき理由を発見しない。
　よって、結論のとおり決定する。
【異議決定日】
平成１１年１２月１７日（１９９９．１２．１７）
【訂正の要旨】
▲１▼訂正事項ａ
　特許請求の範囲の請求項１に係る記載
「前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップと」
を、
「前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻
順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップと」
と訂正する。
▲２▼訂正事項ｂ
　特許請求の範囲の請求項２に係る記載
「シミュレーション用の入力信号のイベントの種類と……ファンクションロジック部とを具備した」
を、
「前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直す」
と訂正する。
▲３▼訂正事項ｃ
　明細書の第４頁第３〜１８行の記載「（課題を解決するための手段）……（作用）」
を、
「（課題を解決するための手段）
　すなわち本発明の論理シミュレータは、
　入出力装置と、
　少なくとも、前記入出力装置から入力された被シミュレーションロジック回路の構成に関するデータと、該ロジック回路の動作をテストするためのテストパターンに関するデータと、該ロジック回路内のメモリーに格納されたデータと、シミュレーション結果とを格納する複数のＲＡＭと、
　前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻
順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力一出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップとを具備したことを特徴とする。
　また、請求項２の発明は、請求項１記載の論理シミュレータにおいて、
　前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直すことを特徴とする。
（作用）」
と訂正する。
（５４）【発明の名称】
論理シミュレータ
（５７）【特許請求の範囲】
（１）　入出力装置と、
　少なくとも、前記入出力装置から入力された被シミュレーションロジック回路の構成に関するデータと、該ロジック回路の動作をテストするためのテストパターンに関するデータと、該ロジック回路内のメモリーに格納されたデータと、シミュレーション結果とを格納する複数のＲＡＭと、
　前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入カ信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力−出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップとを具備したことを特徴とする論理シミュレータ。
（２）　請求項１記載の論理シミュレータにおいて、
　
前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直す
【発明の詳細な説明】
［発明の目的］
　（産業上の利用分野）
　本発明は、論理シミュレータに関する。
　（従来の技術）
　一般に、半導体デバイスは多数の基本機能素子からなる論理回路によって構成されるが、例えば新しい半導体デバイスを設計する際においては、設計した論理回路が期待通りの動作を行うか否か等を予め論理シミュレータによりシミュレーションしている。このような論理シミュレータは、従来汎用コンピュータ等を用いて、ソフトウエアによって構成されていた。
　また、このような論理シミュレータにおける論理シミュレーションの高速化を図るため、例えば特開昭５９−３６５２号公報、特開昭６３−２５７８４１号公報等において、上述したような論理シミュレータのソフトウエアの一部を、ハードウエアに置き換えた論理シミュレータが提案されている。
　（発明が解決しようとする課題）
　しかしながら、近年半導体デバイスは高集積化される傾向にあり、これに伴い、論理シミュレータによってシミュレーションすべきロジック回路も、大規模化、複雑化する傾向にある。このため、上述した従来のソフトウエアの一部を、ハードウエアに置き換えた論理シミュレータにおいても、シミュレーションに数時間あるいは数十時間を要する場合があり、さらにシミュレーションの高速化を図ることが求められている。
　特に、シミュレーションすべきロジック回路が、ＲＡＭおよびＲＯＭ等のメモリーを有し、シミュレーション中にこれらのメモリーにアクセスしてデータの読み出し、また、書き込みを行うような場合、従来の論理シミュレータでは、ハードウエアとソフトウエアとの間での応答を必要とするため、シミュレーション速度が遅くなるという問題があった。
　本発明は、かかる従来の事情に対処してなされたもので、ＲＡＭおよびＲＯＭ等のメモリーを有するロジック回路であっても、従来に較べて高速にシミュレーションを行うことのできる論理シミュレータを提供しようとするものである。
　［発明の構成］
　（課題を解決するための手段）
すなわち本発明の論理シミュレータは、
　入出カ装置と、
　少なくとも、前記入出力装置から入力された被シミュレーションロジック回路の構成に関するデータと、該ロジック回路の動作をテストするためのテストパターンに関するデータと、該ロジック回路内のメモリーに格納されたデータと、シミュレーション結果とを格納する複数のＲＡＭと、
　前記ＲＡＭとの応答により、自走で前記ロジック回路の状態をシミュレーションするシミュレーションチップであって、
　シミュレーション用の入力信号のイベントの種類とイベントの発生したネット名に関する情報が発生時刻順に記載されているテスト・ベクタを前記ＲＡＭから順次読み込んでメモリに展開するとともに、新しく発生したイベントを発生時刻順にこれらのテスト・ベクタ間に書き込み、かつ、次のイベントの発生時間がポインターによって示されるタイムホイール部と、
　前記タイムホイール部から、順次前記イベントの情報を読込んで、各ネットにおけるシミュレーションを実行するアキュムレータ部と、
　前記アキュムレータ部からのシミュレーション結果を受け取って、各論理ブロックにおけるイベントの発生状態を判定し、判定結果を出力するファンクションロジック部とを備え、
　前記ロジック回路内のメモリーを多入力−出力の複数のセルとして取り扱うとともに、必要に応じて前記ＲＡＭ内から該メモリーに格納されたデータを読み出し、書き込みをするシミュレーションチップとを具備したことを特徴とする。
　また、請求項２の発明は、請求項１記載の論理シミュレータにおいて、
　
前記タイムホイール部では、必要に応じて前記ポインターを更新することによりポインターのチェーンをつなぎ直す
　（作用）
　本発明の論理シミュレータでは、少なくとも、シミュレーションを行うロジックの構成に関するデータと、該ロジックの動作をテストするためのテストパターンに関するデータと、該ロジック回路内のメモリーに格納されたデータと、シミュレーション結果とを格納する複数のＲＡＭを有する。そして、これらのＲＡＭとの応答により、シミュレーションチップが、自走（シミュレーションチップ内の演算処理のみ）で被シミュレーションロジック回路の状態をシミュレーションする。
　また、被シミュレーションロジック回路を構成するメモリー（ＲＡＭおよびＲＯＭ）に格納されたデータは、予め論理シミュレータ内の専用のＲＡＭ（ＲＡＭ、ＲＯＭデータメモリー）に格納しておく。そして、シミュレーションチップは、上記メモリーを多入力−出力の複数のセルとして取り扱うとともに、必要に応じて前記専用のＲＡＭ内からデータを読み出し、また、書き込みを行う。
　したがって、ＲＡＭおよびＲＯＭ等のメモリーを有するロジック回路であつても、シミュレーション途中で汎用コンピュータと応答を行わずに、シミュレーションを実行することができる。
　このため、従来に較べて大幅にシミュレーション速度の高速化を図ることができる。
　（実施例）
　以下、本発明の一実施例の論理シミュレータを図面を参照して説明する。
　第１図に示すように、この実施例の諭理シミュレータは、１チップ上に形成されたハードウエアから構成されるシミュレーションチップ１と、例えば複数のＲＡＭから構成されるデータ収容部２と、入出力装置としてのエンジニアリング・ワーク・ステーション（以下ＥＷＳという）３とからその主要部が構成されている。
　また、上記シミュレーションチップ１は、タイムホイール部（以下ＴＷＵという）１１と、アキュムレータ部（以下ＡＣＵという）１２と、ファンクションロジック部（以下ＦＤＵという）１３とから横成されている。
　一方、データ収容部２は、コンディションステートメモリー（以下ＣＯＭという）２１、テストベクタメモリー（以下ＴＶＭという）２２、タイムホイールメモリー（以下ＴＷＭという）２３、イベントテーブルメモリー（以下ＥＴＭという）２４、ネットインフォメーションメモリー（以下ＮＩＭという）２５、結果格納用メモリー（以下ＲＳＭという）２６、セルスペックメモリー（以下ＣＳＭという）２７、ＲＡＭ、ＲＯＭデータメモリー２８（以下ＲＲＭという）２８、ネットシグナルステートメモリー（以下ＳＴＭという）２９等から構成されている。
　上記シミュレーションチップ１とデータ収容部２は、外部バス（外部データバス、外部アドレスバス）４を介して接続されている。
　また、ロジック部１内のＴＷＵ１１、ＡＣＵ１２、ＦＤＵ１３は内部バス（内部データバス、内部アドレスバス）１４を介して接続されている。
　さらに、複数のメモリーのうちＳＴＭ２９だけは、専用のステートバス（ステートデータバス、ステートアドレスバス）３０を介してＡＣＵ１２に接続されている。
　シミュレーションに必要なデータは、ＥＷＳ３によって入力され、データ収容部２に転送され、必要に応じてシミュレーションチップ１に取り込まれるが、データ収容部２のメモリーのうち、ＣＯＭ２１には、ＥＷＳ３との応答時に必要なデータが収容される。
　シミュレーションに必要なデータとしては、ロジックの構成に関するデータすなわち各セル（論理素子）の接続状態に関するネットインフォメーションデータおよび各セルのスペックに関するセルスペックデータと、シミュレーション用の入力信号に関するテスト・ベクタ等があるが、これらは、シミュレーションに先立って予めＥＷＳ３からＴＶＭ２２、ＮＩＭ２５、ＣＳＭ２７内に書き込まれる。
　なお、ＴＶＭ２２に格納されるテスト・ベクタには、例えば入カ信号の立ち上り、立ち下がり等の変化（以下イベントという）の種類と、イベントの発生したネット名に関する情報が発生時刻順に記載されている。また、それぞれのイベントには、イベントの発生順を示すイベントゲートフラグが付されている。
　また、ＮＩＭ２５に格納されるネットインフォメーションデータは、第４図に示すように例えばあるセルの出力側のネットがどのセルに接続されているかを示すネット次段メモリー（以下ＮＮＭという）２５ａおよび拡張ネット次段メモリー（以下ＥＮＮＭという）２５ｂと、あるセルの入カ側にどのネットが接続されているかを示すネット前段メモリー（以下ＮＢＭという）２５ｃおよび拡張ネット前段メモリー（以下ＥＮＢＭという）２５ｄとに分けられている。また、このネットインフォメーションデータには、セル種（例えばＡＮＤゲートであるかＯＲゲートであるか等）に関する情報およびセルのファンアウト（負荷容量）に関する情報が含まれている。また、ＣＳＭ２７内に格納されるセルスペックデータは、各セルのホールドタイム、セットアップタイム等のタイミングエラーおよびファンアウトによる遅延時間を算出するのに必要となる性能を示すもの等である。
　上記ロジックの構成に関するネットインフォメーションデータのうち、ＲＡＭおよびＲＯＭ等のメモリーに関しては、例えば第２図（ａ）に示すように、復数の入力１０１ａ〜１０１ｚと、榎数の出力１０２ａ〜１０２ｚを有するセル１０３と考え、これらを第２図（ｂ）に示すように、各出力１０２ａ〜１０２ｚ毎に分割された複数の一出力セル１０３ａ〜１０３ｚとして取り扱う。
　このようにＲＡＭおよびＲＯＭを１出力毎に分割して取り扱うことにより、ロジック部１でシミュレーションを行う際に、分割した各セルについて一出力のみに着目して処理することができる。
　このため、ＲＡＭおよびＲＯＭを、他のＡＮＤゲートやＯＲゲート等の通常のセルと同様に取り扱うことが可能となる。
　また、上記ＲＡＭおよびＲＯＭ内に格納されている実際のデータは、そのアドレスにしたがって、ＲＲＭ２８内に格納されており、必要に応じてこのＲＲＭ２８をアクセスすることにより、データの読み出し、書き込み等を行う。
　次に、１チップ上に形成されたハードウェアから構成されるロジック部１の構成および動作についてＴＷＵ１１、ＡＣＵ１２、ＦＤＵ１３の順に説明する。
　ＴＷＵ１１は、例えば第３図に示す如く構成されている。
　ＴＷＵ１１においては、ＥＷＳ３からＴＶＭ２２に書き込まれたテスト・ベクタを順次読み込み、ＴＷＭ２３とＥＴＭ２４に展開するとともに、新しく発生したイベントを発生時刻順にこれらのテスト・ベクタ間に書き込む。
　すなわち、上記ＴＷＭ２３は、イベントを管理するメモリーであって、アドレスを絶対時間で持ち、データとしてイベントの発生ネット名、イベント値等のイベントに関するデータを格納したＥＴＭ２４内のアドレス値（ポインター）、次のイベントの発生時間（ＴＷＭのアドレス：ポインター）等を格納する。また、ＥＴＭ２４は、データとしてある時間に発生したイベントの発生ネット名、イベント値を持ち、さらに同時間に発生した別のイベントデータが格納されているＥＴＭのアドレス値（ポインター）等を持つ。
　ＴＷＵ１１のデータバスレジスタ４０は、内部バスと外部バスとをつなぐ双方向レジスタである。また、コンパレイティブロジック４１は、同時間に発生するイベントかどうかを判断するものであり、データチェックロジック４２は、新しく発生したイベントやロードしてきたイベントがポインターを切断するかどうか（ポインターのチェーンをつなぎ直す必要があるか）または、メモリーの書き込みが禁止でないかどうか等を判断する。また、加算ロジック４３は、現在の絶対時間とディレー値から新しく発生したイベントの絶対時間を算出する。
　また、ＴＶＭカウンタ４４は、ＴＶＭ２２のテスト・ベクタをＴＷＭにロードするためのものであり、ＴＷＭカウンタ４５は、ＴＷＭ２３のアドレスとなる絶対時間を、ＥＴＭカウンタ４６は、ＥＴＭ２４のアドレスを示す。
　また、ビフォーイベントレジスタ（以下ＢＥレジスタという）４７は、現時間のＴＷＭ２３のデータを示す。ネクストイベントレジスタ（以下ＮＥレジスタという）４８は、ＴＶＭ２２からロードされたデータや新しく発生したイベントデータを格納し処理する。
　また、ＴＷＵコントロールロジック４９は、ＴＷＵ１１の動作を制御する。
　次にＴＷＵ１１の動作を説明する。
　まず、ＴＷＵ１１は、ＴＶＭ２２内に収容されたシミュレーションを行うテスト・ベクターを、ＴＷＭ２３にロードする。（但し、ＴＷＭ２３の示す時間範囲のみロード）。
　上記動作で、同時間に発生するイベントがあれば、そのイベントの発生ネット名、イベント値をＥＴＭ２４に書き込み、このＥＴＭ２４のアドレスをＴＷＭ２３のポインターとして書き込む。なお、この動作は、ＢＥレジスタ４７と、ＮＥレジスタ４８を用いて行う。また、ロードしたイベントが先にロードしたイベントを越え、ＴＷＭ２３の次の発生時間を示すポインターを更新する（ポインターのチェーンをつなぎ直す）必要があればポインタの更新を行う。
　上述のようにしてＴＶＭ２２からＴＷＭ２３へのテスト・ベクターのロードが終了すると、ＡＣＵ１２からのイベント読み出し要求信号（ＡＣＵリクエスト）を受けて順次イベントをＴＷＭ２３からＡＣＵ１２へと読み出す。
　データを送り出すと、外部バス４の使用権はＡＣＵ１２に移り、ＴＷＵ１１は、ＦＤＵ１３から来る新しく発生したイベント書き込み要求信号またはＡＣＵ１２からのＡＣＵリクエストが来るまで待機状態となる。
　そして、ＡＣＵリクエストが来ると、再び、順次イベントをＴＷＭ２３からＡＣＵ１２へと読み出す。
　ＦＤＵ１３からイベント書き込み要求信号が発生したとき、内部データバス１４には新しく発生したイベントの発生ネット名、イベント値とディレー値が送られて来ている。ＴＷＵ１１は、このデータをデータバスレジスタ４０でラッチした後、加算器ロジック４３で現在の絶対時間とディレー値から新しく発生したイベントの絶対時間を算出してＴＷＭ２３に書き込む。この時、ＴＷＭ２３の次のイベント発生時間を示すポインターを更新する（ポインターのチェーンをつなぎ直す）必要があればポインターの更新を行う。
　この後、まだＴＷＭ２３内にイベントがあれば上述したように、ＴＷＭ２３からＡＣＵ１２へとイベントを読み出し、同様な処理を行う。また、ＴＷＭ２３内にイベントがなければ、次の時間範囲のテスト・ベクターを、ＴＶＭ２２からＴＷＭ２３にロードし、上述した処理を繰り返す。そして、ＴＶＭ２２にあるシミュレーションを行うテスト・ベクターを全てロードして処理し、それによって発生するイベントも全て処理したならば、動作を終了する。
　なお、第３図に示す例では、各メモリーとしてＳＲＡＭを用いているが、ＤＲＡＭを用いる場合は、ＤＲＡＭコントローラ回路を追加する必要がある。
　次に第４図を参照してＡＣＵ１２について説明する。
　ＡＣＵ１２では、まずＡＣＵコントロールロジック６０からＡＣＵリクエストを出し、ＴＷＵ１１からＴＷアクノリッジ信号に同期して内部バス上に出力されたイベントデータを、ＩＢＵＳレジスタ６１にラッチする。ＡＣＵ１２は、ＴＷアクノリッジ信号を受けると外部バス４の占有権を得、イベントデータをラッチしてイベント読み出し要求信号を“Ｌ”にすることで内部動作に入る。
　そして、ＩＢＵＳレジスタ６１にラッチしたイベントの発生ネット名（アドレス）によってＳＴＭ２９をアクセスし、イベントの発生したネットの現状態（論理値）と、イベントゲートフラグをステータスレジスタ６２に格納する。
　この後、ＩＢＵＳレジスタ６１に格納されているＴＷＵ１１からのイベントゲートフラグと、ステータスレジスタ６２に格納されているＳＴＭ２９からのイベントゲートフラグとを、ＡＬＵ６３で比較演算することで、カレントイベントが有効なイベントであるのか、無効なイベントであるのか、または不確定なイベントであるとして、論理“Ｅ”にリプレースしなければならないのかを判断する。
　上記判断において、カレントイベントが無効であると判断された場合は、次のＴＷＵ１１からのイベントデータの計算に備えて、ＩＢＵＳレジスタ６１のイベントゲートフラグをＳＴＭ２９に書き込んで、カレントイベントの処理を終了する。
　一方、上記判断において、カレントイベントが有効あるいは不確定と判断された場合は、ＩＢＵＳレジスタ６１のイベントゲートフラグをＳＴＭ２９に書き込み、その後、データセレクター６４を介してＲＳＭ２６にカレントイベントの内容を書き残す。この際、カレントイベントが書き込まれるアドレスは、ＲＳＭ書き込みアドレスカウンタ６５によって、“００００”から順次“ＦＦＦＦ”までインクリメントしていく。
　なお、シミュレーションの結果は、一旦ＴＷＭ２３またはＥＴＭ２４に書き込まれ、ディレー時間の後、これらのメモリーから読み出され、イベントゲートフラグの検査をした後に始めてパストイベントとなりＲＳＭ２６に書き込まれる。
　次に、ＡＣＵ１２は、カレントイベントによって発生する次段セルの出力変化（次段イベント）を求める作業に入る。
　まず、ＩＢＵＳレジスタ６１にラッチしているイベントの発生したネット名（アドレス）によってＮＩＭ２５中のＮＮＭ２５ａをアクセスし、次段イベントの発生する可能性のあるネット名（アドレス）、セル種、ファンアウトをＮＮレジスタ６６に格納する。ここで、次段イベントの発生する可能性のあるネットが２以上ある場合は、２番目以降については次段ネットアドレス同士をつなぐポインターのみ読みだしておき、最初の次段ネットを処理した後、ポインターによって次の次段ネットを順次読み出し処理していく。
　次に、ＮＮレジスタ６６に格納した次段ネットのアドレスによって、ＮＩＭ２５中のＮＢＭ２５ｃをアクセスし、次段ネットに影響を与える入力ネットのアドレス、およびその入力ピンコード（クロック、クリアー、データイネーブル、ロード等）をＮＢレジスタ６７に格納する。人力ネットのアドレスが２以上ある場合は、次段ネットの場合と同様に、ポインターを用いて１入力ずつ読み出していく。また、並列処理により、ＮＮレジスタ６６に格納した次段ネットのアドレスによって、ＳＴＭ２９をアクセスし、次段ネットの現状態（論理値）とイベントゲートフラグをステータスレジスタ６２に格納する。
　この後、ＮＢレジスタ６７に格納した入力ネットのアドレスによって、ＳＴＭ２９をアクセスし、入カネットの現状態（論理値）をステータスレジスタ６２に格納する。また、ＮＢレジスタ６７に格納した入力ネットのアドレスをつなぐポインターによって、ＥＮＢＭ２５ｄをアクセスし、他の入カネットのアドレスをＮＢレジスタ６７に格納する。そして、ステータスレジスタ６２、ＮＮレジスタ６６、ＮＢレジスタ６７に格納した次段ネット、入力ネット、ピンコード、セル種、ファンアウト等に関する情報を、ステータスレジスタ６２を書き換える毎に、データセレクター６８から内部バス１４を経由してＦＤＵ１３の入力レジスタに転送する。
　全ての情報をＦＤＵ１３に転送し終わると、ＡＣＵコントロールロジック６０からＡＣＵコンティニューか、ＡＣＵリクエストを出して外部バス４の占有権をＦＤＵ１３に渡す。
　すなわち、次段ネットが複数ある場合は、ＡＣＵコンティニュー信号を出してＦＤＵ１３、ＴＷＵ１１の処理が終了するのを待ち、ＴＷアクノリッジがあれば次の次段ネットについて、上記処理を繰り返す。また、次の次段ネットがない場合は、内部のＮＮレジスタ６６、ＮＢレジスタ６７、ステータスレジスタ６２を全てクリアし、次のカレントイベントがＴＷＵ１１から内部バス１４上に出力され、ＴＷアクノリッジがあるまでＡＣＵリクエストを出して待機する。
　次に第５図を参照してＦＤＵ１３について説明する。
　まず、ＦＤＵ１３は、上述のようにしてＡＣＵ１２から転送されたデータをラッチする。そして、各論理ブロックにおいて、入力端子論理値から出力論理値を決定し、セル種データにより、指定セルの出力論理値を選択する。
　次に、この選択された出力論理値と、現出カ論理値との比較を行い、イベントの発生（変化の有無）を判断する。また、イベントピン（イベントが発生したピン）以外の入カデータにより出力が決定される場合は、イベントの発生無しと判定する。
　イベントの発生が無い場合は、内部バス１４にイベントの発生無しの信号を送り、ＦＤＵ１３の処理を終了する。
　一方、イベントの発生がある場合は、現出力論理値と、上記選択された出力論理値より、イベントの立ち上り／立ち下り変化を判断し、セル種、入力ピン名、出力ピン名により、ＣＳＭ２７のアドレスを作成し、ＣＳＭ２７から入カしたデータと、ファンアウトデータから遅延時間を計算して、ネットアドレス、イベントの有無、論理値とともに内部バス１４に送り出し、ＦＤＵ１３の処理を終了する。
　こうして、ある時刻において発生したイベントに基づく被シミュレーションロジックの状態がシミュレーションされることになる。
　なお、前述した如く、被シミュレーションロジック回路のＲＡＭ、ＲＯＭ等のメモリーについては、各出力毎に分割された複数の一出力セルとして順次各分割されたセルの状態がシミュレーションされる。また、これらのメモリー内に格納されたデータは、ＲＲＭ２８内に展開されているので、必要に応じてＲＲＭ２８内から読み出し、ＲＲＭ２８内へ書き込みをしてシミュレーションを行う。
　そして、このような、ＴＷＵ１１、ＡＣＵ１２、ＦＤＵ１３による処理を繰り返すことにより、ＴＶＭ２２内のテスト・ベクタに応じた被シミュレーションロジックの時間的な変化を、シミュレーション途中でＥＷＳ３との応答を行うことなく、順次シミュレーションする。
　すなわち、この実施例の論理シミュレータでは、メモリー以外のロジック部分が全て１チップ上にハードウエアとして形成されており、このハードウエア単独でシミュレーションを行うことができる。また、被シミュレーションロジック回路のＲＡＭ、ＲＯＭ等のメモリーは、各出力毎に分割された複数の一出力セルとして取り扱い、例えば他のＡＮＤゲートやＯＲゲート等の通常のセルと同様にシミュレーションを行う。さらに、被シミュレーションロジック回路のＲＡＭ、ＲＯＭ等のメモリー内に格納されたデータは、予め専用のＲＲＭ２８内に展開しておき、必要に応じてＲＲＭ２８内から読み出し、ＲＲＭ２８内へ書き込みをしてシミュレーションを行う。
　したがって、例えばＲＡＭ、ＲＯＭ等のメモリーを有するロジック回路のシミュレーションを行う場合であっても、従来の論理シミュレータの如くシミュレーション途中でハードウエア部分（シミュレーションチップ１）とソフトウエア部分（ＥＷＳ３）とが応答を行う必要がない。
　このため、このような応答に要する時間を削除することができ、従来に較べて大幅にシミュレーション速度を高速化することができる。
　なお、上記実施例では、１チップ上にＴＷＵ１１と、ＡＣＵ１２と、ＦＤＵ１３とを設けた例について説明したが、これらは必ずしも１チップ上に設ける必要はなく、復数例えば２〜３チップ上に分割して設けてもよい。このように構成した場合、各部の構成の変更等は容易になるが、シミュレーション速度は、１チップ上に設けた場合より若干遅くなる。
　［発明の効果］
　以上説明したように、本発明の論理シミュレータによれば、ＲＡＭおよびＲＯＭ等のメモリーを有するロジック回路のシミュレーションであっても、従来に較べて高速にシミュレーションを行うことができる。
【図面の簡単な説明】
　第１図は本発明の一実施例の論理シミュレータの全体構成を示す図、第２図はメモリーの取り扱いを説明するための図、第３図は第１図の論理シミュレータのタイムホイール部の構成を示す図、第４図は第１図の論理シミュレータのアキュムレータ部の構成を示す図、第５図は第１図の論理シミュレータのファンクションロジック部の構成を示す図である。
　１……シミュレーションチップ、２……データ収容部（ＲＡＭ）、３……エンジニアリング・ワーク・ステーシーン（入出力装置）、４……外部バス、１１…タイムホイール部、１２……アキュムレータ部、１３……ファンクションロジック部、１４……内部バス、２１……コンディションステートメモリー、２２……テストベクタメモリー、２３……タイムホイールメモリー、２４……イベントテーブルメモリー、２５……ネットインフォメーションメモリー、２６……結果格納用メモリー、２７……セルスペックメモリー、２８……ＲＡＭ、ＲＯＭデータメモリー、２９……ネットシグナルステートメモリー、３０……ステートバス。