(57)【特許請求の範囲】
【請求項１】
第１の信号線（ｉ１，ｏ０）を備える第１の機能ブロック（Ａ）と、
第２の機能ブロック（Ｂ）と、
前記第１の機能ブロック（Ａ）及び前記第２の機能ブロック（Ｂ）に対して上位の階層に位置し、前記第１の機能ブロック（Ａ）をインスタンシエートした第１の機能（ｉｎｓｔａｃｅ  Ａ＿＊）と前記機能ブロック（Ｂ）をインスタンシエートした第２の機能（ｉｎｓｔａｃｅ  Ｂ＿０）とを備える第３の機能ブロック（Ｍｏｄｅｌ）とを具備し、
前記第１の機能（ｉｎｓｔａｃｅ  Ａ＿＊）は、前記第１の信号線（ｉ１，ｏ０）に対応した第２の信号線（Ｍｏｄｅｌ．Ａ＿＊．ｉ１，Ｍｏｄｅｌ．Ａ＿＊．ｏ０）を備え、
前記第２の機能ブロック（Ｂ）は、前記第２の信号線（Ｍｏｄｅｌ．Ａ＿＊．ｉ１，Ｍｏｄｅｌ．Ａ＿＊．ｏ０）を、ブロックを越えて階層的に外部パス参照し、
前記第２の信号線（Ｍｏｄｅｌ．Ａ＿＊．ｉ１，Ｍｏｄｅｌ．Ａ＿＊．ｏ０）の信号が論理シミュレーションの対象となり、
ハードウエア記述言語で記述されるプログラムで形成され、
記憶媒体に格納され、
論理シミュレーションするエンジニアリング・ワーク・ステーションに実装される
ことを特徴とする論理シミュレーション用回路モデル。
【請求項２】
第２の機能ブロック（Ｂ）は、第３の信号線（ｏ０）を備え、
前記第２の機能（Ｂ）は、前記第３の信号線（ｏ０）に対応した第４の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）を備え、
前記第１の機能ブロック（Ａ）は、前記第４の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）を、ブロックを越えて階層的に外部パス参照し、
前記第４の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）の信号が論理シミュレーションの対象となる
ことを特徴とする請求項１記載の論理シミュレーション用回路モデル。
【請求項３】
第１の機能ブロック（Ａ）と、
第１の信号線（ｏ０）を備える第２の機能ブロック（Ｂ）と、
前記第１の機能ブロック（Ａ）及び前記第２の機能ブロック（Ｂ）に対して上位の階層に位置し、前記第１の機能ブロック（Ａ）を複数回インスタンシエートした第１の機能（ｉｎｓｔａｃｅ  Ａ＿＊）と前記機能ブロック（Ｂ）をインスタンシエートした第２の機能（ｉｎｓｔａｃｅ  Ｂ＿０）とを備える第３の機能ブロック（Ｍｏｄｅｌ）とを具備し、
前記第２の機能（ｉｎｓｔａｃｅ  Ｂ＿０）は、前記第１の信号線（ｏ０）に対応した第２の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）を備え、
前記第１の機能ブロック（Ａ）は、前記第２の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）を、ブロックを越えて階層的に外部パス参照し、
前記第２の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）の信号が論理シミュレーションの対象となり、
ハードウエア記述言語で記述されるプログラムで形成され、
記憶媒体に格納され、
論理シミュレーションするエンジニアリング・ワーク・ステーションに実装される
ことを特徴とする論理シミュレーション用回路モデル。
【請求項４】
前記第２の信号線（Ｍｏｄｅｌ．Ｂ＿０．ｏ０）を、ブロックを越えて階層的に外部パス参照する第３の機能ブロック（Ｃ）を備え、
ＩＣテスタの論理シミュレーション用の回路モデルである
ことを特徴とする請求項３記載の論理シミュレーション回路モデル。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハードウエア記述言語（ＨＤＬ）で記述され、ハードディスク等の記憶媒体に格納され、エンジニアリング・ワーク・ステーションＥＷＳに実装され、回路の機能を論理シミュレーションする論理シミュレーション用の回路モデルに関する。
【０００２】
【従来の技術】
従来の論理シミュレーション用回路モデルは、機能ブロック毎にハードウエア記述言語（ＨＤＬ）で設計した後、これらを結合するものである（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特許第２９４３３１７号明細書
【０００４】
従来の回路モデルに関し図２を用いて説明する。図２は、従来の論理シミュレーション用回路モデルの構成図である。
【０００５】
図２の従来例は、ハードウエア記述言語（ＨＤＬ）で記述されるプログラムであり、ハードディスク等の記憶媒体に格納され、エンジニアリング・ワーク・ステーションＥＷＳに実装される。ここで、エンジニアリング・ワーク・ステーションＥＷＳ（図示せず）は、論理シミュレーション用回路モデルを論理シミュレーションする端末である。
【０００６】
ここで、機能ブロックA'（図示せず）は入力ポートの信号線i0，i1、出力ポートの信号線o0及びその他を備える。
また、機能ブロックB'（図示せず）は、入力ポートの信号線i* （但し、* = 0,1,・・・,N）、出力ポートの信号線o0, o1* （但し、* = 0,1,・・・,N）及びその他を備える。
【０００７】
さらに、機能ブロックModel'は、機能ブロックA'及び機能ブロックB'に対して上位の階層に位置し、機能ブロックA'を複数回（N+1回）インスタンシエートした機能A'(instace A_*) （但し、* = 0,1,・・・,N）と、機能ブロックB'をインスタンシエートした機能B'(instace B_0)とを備える。
【０００８】
また、機能A'(instace A_*) （但し、* = 0,1,・・・,N）は、入力ポートの信号線Model'.A_*.i0 （但し、* = 0,1,・・・,N），Model'.A_*.i1 （但し、* = 0,1,・・・,N）、出力ポートの信号線Model'.A_*.o0 （但し、* = 0,1,・・・,N）を備える。
【０００９】
ここで、機能A'(instace A_*） （但し、* = 0,1,・・・,N）において、入力ポートの信号線Model'.A_*.i0 （但し、* = 0,1,・・・,N）は機能ブロックA'の入力ポートの信号線i0に対応し、入力ポートの信号線Model'.A_*.i1 （但し、* = 0,1,・・・,N）は機能ブロックA'の入力ポートの信号線i1に対応し、出力ポートの信号線Model'.A_*.o0 （但し、* = 0,1,・・・,N）は、機能ブロックA'の出力ポートの信号線o0に対応する。
【００１０】
さらに、機能B'(instace B_0）は、入力ポートの信号線Model'.B_0.i* （但し、* = 0,1,・・・,N）、出力ポートの信号線Model.B_0.o0, Model.B_0.o1* （但し、* = 0,1,・・・,N）を備える。
【００１１】
そして、機能B'(instace B_0）において、入力ポートの信号線Model'.B_0.i* は機能ブロックA'の入力ポートの信号線i*に対応し （但し、* = 0,1,・・・,N）、出力ポートの信号線Model.B_0.o0は機能ブロックA'の出力ポートの信号線o0に対応し、出力ポートの信号線Model.B_0.o1*は機能ブロックA'の出力ポートの信号線o1*に対応する（但し、* = 0,1,・・・,N）。
【００１２】
このように、図２の従来例は、インスタンシエートされる機能ブロックA'及び機能ブロックB'と、インスタンシエートする上位の階層の機能ブロックModel'とから形成される。そして、機能ブロックModel',A',B'は階層構造を形成する。
【００１３】
さらに、機能ブロックModel'において、機能A'(instace A_*） （但し、* = 0,1,・・・,N）。と、機能B'(instace B_0）との出力ポートの信号線と入力ポートの信号線とは信号線s1*, s2*, s3* （但し、* = 0,1,・・・,N）。 によってそれぞれ接続されている。
【００１４】
具体的には、信号線s1* （但し、* = 0,1,・・・,N）は、出力ポートの信号線Model'.B_0.o0と入力ポートの信号線Model'.A_*.i0 （但し、* = 0,1,・・・,N）との間を接続する。
そして、信号線s2* （但し、* = 0,1,・・・,N）は、出力ポートの信号線Model'.B_0.o1*と入力ポートの信号線Model'.A_*.i1 （但し、* = 0,1,・・・,N）との間を接続する。
そしてまた、信号線s3* （但し、* = 0,1,・・・,N）は、出力ポートの信号線Model'.A_*.o0 （但し、* = 0,1,・・・,N）と入力ポートの信号線Model'.B_0.i* （但し、* = 0,1,・・・,N）との間を接続する。
【００１５】
このような図２の従来例の構成は、ブロック化された機能ブロックA'及び機能ブロックB'を、複数回（N+1回）インスタンシエートして機能を実現するため、機能ブロックA'の記述は１度で済む。
【００１６】
また、機能ブロックA'及び機能ブロックB'はブロック化されているために再利用が容易であり、開発効率がよい。
さらに、機能ブロックA'及び機能ブロックB'並びに機能ブロックModel'を別々に開発できるという利点がある。
【００１７】
図２の従来例において、論理シミュレーションの対象となる信号は、入力ポートの信号線Model'.A_*.i0 （但し、* = 0,1,・・・,N）, Model'.A_*.i1 （但し、* = 0,1,・・・,N）、Model'.B_0.i* （但し、* = 0,1,・・・,N） のそれぞれの信号、出力ポートの信号線Model'.A_*.o0 （但し、* = 0,1,・・・,N）, Model'.B_0.o0, Model'.B_0.o1*,（但し、* = 0,1,・・・,N）のそれぞれの信号、信号線s1*,s2*,s3* （但し、* = 0,1,・・・,N）のそれぞれの信号及びその他である。
【００１８】
そして、これらの信号は、それぞれエンジニアリング・ワーク・ステーションＥＷＳ上で論理シミュレーションされる。
【００１９】
また、図２の従来例の論理シミュレーション用回路モデルは、論理合成によりゲートレベルの回路に変換できる。そして、例えばICとなる。
【００２０】
次に、その他の従来例に関し図３を用いて説明する。図３は、他の従来の論理シミュレーション用回路モデルにおける構成図である。同図において、図２の従来例と同等のものは同等の符号を付け、説明を省略する。
【００２１】
図３の従来例において、Model''は機能ブロックである。そして、機能ブロックModel''は、図２の機能ブロックModel'と同等の機能を有するが、階層構造を有しない構造とする。
【００２２】
詳しくは、図３の機能ブロックModel''は、図２における機能A'(instace A_*） （但し、* = 0,1,・・・,N）に相当する機能を、機能A_0，機能A_1,・・・,機能A_Nというように複数回（N+1回）形成する。
【００２３】
また、各機能間は入力ポートの信号線A_*_i1 （但し、* = 0,1,・・・,N）及び出力ポートの信号線A_*_o0 （但し、* = 0,1,・・・,N）, B_0_o0で内部パス参照し合う。
ここで、内部パス参照するとは、機能ブロックModel''内の信号線を、機能ブロックModel''内で指定することをいう。
【００２４】
このような、図３の従来例も図２の従来例と同様に、エンジニアリング・ワーク・ステーションＥＷＳ上で論理シミュレーションする。
【００２５】
【発明が解決しようとする課題】
しかしながら、図２の従来例では、処理する信号の数が多いため、論理シミュレーション速度が遅いという課題がある。また、論理シミュレーションに要するメモリサイズが大きいという課題がある。
【００２６】
詳しくは、論理シミュレーションにおいて、エンジニアリング・ワーク・ステーションＥＷＳは、入力ポートの信号線の信号の値、出力ポートの信号線の信号の値及び信号線の信号の値をそれぞれ計算し、保持する。
【００２７】
そして、図２従来例の場合の論理シミュレーションの結果は、信号線s1* （但し、* = 0,1,・・・,N）の信号＝出力ポートの信号線Model'.B_0.o0の信号＝入力ポートの信号線Model'.A_*.i0 （但し、* = 0,1,・・・,N）の信号となる。
さらに、信号線s2*の信号＝出力ポートの信号線Model'.B_0.o1*の信号＝入力ポートの信号線Model'.A_*.i1の信号となる （但し、* = 0,1,・・・,N）。
さらにまた、信号線s3*の信号＝出力ポートの信号線Model'.A_*.o0の信号＝入力ポートの信号線Model'.B_0.i*の信号となる （但し、* = 0,1,・・・,N）。
【００２８】
したがって、図２の従来例では、同じ値となる信号の値の計算と保持とがあり、処理に無駄がある。
【００２９】
特に、ＩＣテスタのような大規模の回路モデルでは、論理シミュレーション速度が一層低下し、論理シミュレーションの効率が低下する。また、メモリサイズは信号の数と相関をもって大きくなる。そして、エンジニアリング・ワーク・ステーションＥＷＳは高価となる。
【００３０】
また、図３の従来例では、同じ値となる信号の重複はなくせるが、複雑で記述量が多い。そして、記憶媒体の容量が増大すると共に、開発効率が悪いという課題がある。
【００３１】
特に、ＩＣテスタのような大規模の回路モデルでは、機能A_0，機能A_1,・・・,機能A_Nの記述は莫大なものとなり、現実的でない。
【００３２】
本発明の目的は、以上説明した課題を解決するものであり、論理シミュレーション速度が高速でメモリサイズが小さく、更に開発効率が好適な論理シミュレーション用回路モデルを提供することにある。
【００３３】
特に、本発明の目的は、ＩＣテスタに好適な論理シミュレーション用の回路モデルを提供することにある。
【００３４】
【課題を解決するための手段】
このような目的を達成する本発明は、次の通りである。
（１）機能ブロックをインスタンシエートした機能と前記機能の信号線とを具備する上位の階層の機能ブロックを備える論理シミュレーション用回路モデルにおいて、前記信号線は、前記インスタンシエートに基づき、他の前記機能ブロックから外部パス参照されることを特徴とする論理シミュレーション用回路モデル。
（２）前記機能ブロックは、ＩＣテスタの機能を形成することを特徴とする（１）記載の論理シミュレーション用回路モデル。
（３）前記機能ブロックは、前記上位の階層の機能ブロックに複数回インスタンシエートされることを特徴とする（１）記載の論理シミュレーション回路モデル。
（４）前記信号線は、複数個の他の機能ブロックから外部パス参照されることを特徴とする（１）記載の論理シミュレーション回路モデル。
【００３５】
【発明の実施の形態】
図１は本発明の論理シミュレーション用回路モデルの一実施例を示した構成図である。なお、図２の従来例と同等の要素には同等の一符号を付し、説明を省略する。
【００３６】
図１の実施例の特徴は、信号線（例えば、信号線Model.B_0.o0）は、インスタンシエートに基づき、他の機能ブロック（例えば、機能ブロックA）から外部パス参照される点にある。
【００３７】
ここで、外部パス参照するとは、ある機能ブロック（例えば、機能ブロックB）が、インスタンシエートされた機能（例えば、機能B(instace B_0）)の信号線（例えば、出力ポートの信号線Model.B_0.o0）を他の機能ブロック（例えば、機能ブロックA）内で指定することをいう。即ち、外部パス参照するとはブロックを越えて階層的に参照することをいう。
【００３８】
また、図１の実施例における外部パス参照と、図３の従来例における内部パス参照とは対照的な関係にある。
【００３９】
以下に、図１の実施例の構成を詳しく説明する。
機能ブロックA（図示せず）は、入力ポートの信号線i1, 出力ポートの信号線o0を備えると共に、機能B(instace B_0）の出力ポートの信号線Model.B_0.o0 を外部パス参照する。
【００４０】
さらに、機能ブロックB（図示せず）は、出力ポートの信号線o0を備えると共に、機能A(instace A_*）の入力ポートの信号線Model.A_*.i1 （但し、* = 0,1,・・・,N）及び出力ポートの信号線Model.A_*.o0 （但し、* = 0,1,・・・,N）を外部パス参照する。
【００４１】
また、機能ブロックModelは、図２の従来例と同様に、機能ブロックA及び機能ブロックBに対して上位の階層に位置し、機能ブロックAを複数回（N+1回）インスタンシエートした機能A(instace A_*） （但し、* = 0,1,・・・,N）と、機能ブロックBをインスタンシエートした機能B(instace B_0） とを備える。
【００４２】
さらに、機能A(instace A_*）は、入力ポートの信号線Model.A_*.i1、出力ポートの信号線Model.A_*.o0を備える （但し、* = 0,1,・・・,N）。
【００４３】
ここで、機能Ａ（ｉｎｓｔａｃｅ  Ａ＿＊）  （但し、＊  ＝  ０，１，・・・，Ｎ）において、入力ポートの信号線Ｍｏｄｅｌ．Ａ＿＊．ｉ１  （但し、＊  ＝  ０，１，・・・，Ｎ）は機能ブロックＡの入力ポートの信号線ｉ１に対応し、出力ポートの信号線Ｍｏｄｅｌ．Ａ＿＊．ｏ０  （但し、＊  ＝  ０，１，・・・，Ｎ）は機能ブロックＡの出力ポートの信号線ｏ０に対応する。
【００４４】
さらに、機能B(instace B_0）は、出力ポートの信号線Model.B_0.o0を備える。
【００４５】
ここで、機能Ｂ（ｉｎｓｔａｃｅ  Ｂ＿０）の出力ポートの信号線Ｍｏｄｅｌ．Ｂ＿０．ｏ０は機能ブロックＢ出力ポートの信号線ｏ０に対応する。
【００４６】
したがって、図１の実施例は、図２の従来例と同様の階層構造を有する。
そして、図１の実施例において、上位の階層にある機能ブロックModelは、図２の従来例の接続用信号線s1*, s2*, s3* （但し、* = 0,1,・・・,N）に相当するものは存在しない。
【００４７】
このような図１の実施例の構成は、図２の従来例と同様に、ブロック化された機能ブロックA及び機能ブロックBを、複数回（N+１回）インスタンシエートして機能を実現するため、機能ブロックAの記述は１度で済む。また、機能ブロックA及び機能ブロックBはブロック化されているために再利用が容易であり、開発効率がよい。さらにまた、機能ブロックA及び機能ブロックB並びに機能ブロックModelを別々に開発できるという利点がある。
【００４８】
さらに、図１の実施例において、論理シミュレーションの対象となる信号は、Model.A_*.i1 （但し、* = 0,1,・・・,N）のそれぞれの信号、Model.A_*.o0 （但し、* = 0,1,・・・,N）, Model.B_0.o0 のそれぞれの信号、その他である。
そして、これらの信号は、図２の従来例と同様に、それぞれエンジニアリング・ワーク・ステーションＥＷＳ上で論理シミュレーションされる。
【００４９】
したがって、図１の実施例は、図２の従来例と比較して、論理シミュレーションの対象となる信号を集約している。そして、同じ値となる信号の値の計算と保持とを抑制し、処理を効率化する。
【００５０】
即ち、図１の実施例によれば、階層構造を維持したままで、論理シミュレーションの対象となる信号の数は劇的に減少できる。
そして、論理シミュレーション時の計算や保持の重複が抑制されるため、論理シミュレーション速度が上昇し、論理シミュレーションに必要なエンジニアリング・ワーク・ステーションのメモリサイズも小さくできる。
【００５１】
また、このような図１の実施例は、図２の従来例のように論理合成によりゲートレベルの回路に変換することはできない。即ち、図１の実施例は、高速な論理シミュレーションを提供する専用の回路モデルに特化している。
【００５２】
さらにまた、図１の実施例において、機能B(instace B_0）の出力ポートの信号線Model.B_0.o0は、複数個の機能A（instance A_*） （但し、* = 0,1,・・・,N）と結合している。
このように、機能ブロックAが、上位の階層の機能ブロックModelから複数回インスタンシエートされる階層構造のときは信号線を好適に集約できる。
【００５３】
また、上述の例とは別に、機能ブロックの信号線（例えば、機能ブロックBの出力ポートの信号線Model.B_0.o0）が、複数個の他の機能ブロック（例えば、機能ブロックA及び機能ブロックC）からブロックを越えて階層的に外部パス参照される場合も、信号線を好適に集約できる。
【００５４】
さらに、上述の例において、機能ブロックModelを複数回インスタンシエートする上位の階層の機能ブロックの階層構造のときは、上述の効果が重ねて得られる。
【００５５】
また、上述の実施例は、一般的な論理シミュレーション用回路モデルに関するものであったが、特に、機能ブロックがＩＣテスタの機能を形成するときは、製品としてのコストパフォーマンスが顕著に向上し好適である。
【００５６】
さらに、上述の実施例において、機能ブロックが交換器の機能を形成するときも、製品としてのコストパフォーマンスが向上し好適である。
【００５７】
【発明の効果】
以上述べたことにより、本発明は、論理シミュレーション速度が高速でメモリサイズが小さく、更に開発効率が好適な論理シミュレーション用回路モデルを提供できる。
【００５８】
また、論理シミュレーションで用いるエンジニアリング・ワーク・ステーションは低コストになる。
【００５９】
さらに、低コストで高速なＩＣテスタ装置を提供できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示した構成図である。
【図２】従来の論理シミュレーション用回路モデルの構成図である。
【図３】他の従来の論理シミュレーション用回路モデルにおける構成図である。
【符号の説明】
Model, A, B, Model', A', B', Model''  機能ブロック
Model'.A_*.i0 （但し、* = 0,1,・・・,N）, Model'.A_*.i1 （但し、* = 0,1,・・・,N）, Model'.B_0.i* （但し、* = 0,1,・・・,N）, A_*_i1 （但し、* = 0,1,・・・,N）  入力ポートの信号線
Model.A_*.o0 （但し、* = 0,1,・・・,N）, Model.B_0.o0 （但し、* = 0,1,・・・,N）, Model.B_0.o1* （但し、* = 0,1,・・・,N）, A_*_o0 （但し、* = 0,1,・・・,N）, B_0_o0  出力ポートの信号線
s1*,s2*,s3* （但し、* = 0,1,・・・,N）  信号線
A(instace A_*） （但し、* = 0,1,・・・,N）, B(instace B_0）, A'(instace A_*） （但し、* = 0,1,・・・,N）, B'(instace B_0）, A_* （但し、* = 0,1,・・・,N）, B_0,  機能
【図１】
0004196707.tif 000002
【図２】
0004196707.tif 000003
【図３】
0004196707.tif 000004