(57)【特許請求の範囲】
【請求項１】
検証対象処理部と前記検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証を、検証モデルを用いて行なう論理検証装置であって、
前記検証対象処理部に対応する処理部と、
前記複数の検証対象制御部に対応し、前記処理部による記憶部へのアクセスを制御する、前記検証対象制御部の数よりも少ない数の制御部と、を前記検証モデルとしてそなえ、
前記処理部は、
前記検証モデルで用いられる制御部を、前記検証対象制御部の数よりも少ない数の制御部の中から指定する情報を保持する保持部と、
前記保持部が保持する情報によって指定される制御部を用いて前記処理部が記憶部へのアクセスを行なうように、前記処理部のアクセス対象を指定するアドレスを変換する変換部と、をそなえることを特徴とする、論理検証装置。
【請求項２】
前記変換部は、前記保持部が保持する情報と、前記処理部のアクセス対象を指定するアドレスのうちの、前記制御部を識別するための割り当て用アドレスビットとに基づいて、前記処理部のアクセス対象を指定するアドレスのビットをシフトさせることにより、前記処理部のアクセス対象を指定するアドレスを変換し、
前記制御部は、前記処理部による前記記憶部へのアクセスに対して、前記変換部によって変換されたアドレスのうちの、前記割り当て用アドレスビットの値に基づいてインターリーブ制御を行なうことを特徴とする、請求項１記載の論理検証装置。
【請求項３】
前記変換部は、前記処理部のアクセス対象を指定するアドレスに対して、当該アドレスの割り当て用アドレスビットのうちの少なくとも１ビットの値を、前記保持部が保持する情報によって指定される制御部を識別する割り当て用アドレスビットの値に固定し、前記記憶部内の記憶領域を示すアドレスビットの最上位のビットから、前記割り当て用アドレスビットを固定することにより減少した前記記憶領域に対応するビット数だけ破棄するとともに、前記割り当て用アドレスビットのうちの固定パターンに応じた位置のアドレスビットと、記憶部内の記憶領域を示すアドレスビットの最上位のビットから当該破棄したビット数だけ下位のビットと、の間の前記処理部のアクセス対象を指定するアドレスにおけるビットを、当該破棄したビット数だけシフトすることで、前記処理部のアクセス対象を指定するアドレスを変換することを特徴とする、請求項１又は請求項２記載の論理検証装置。
【請求項４】
前記処理部は、
前記処理部のアクセス対象を指定するアドレスを生成する演算部と、
前記変換部によって変換されたアドレスに基づいて、前記保持部が保持する情報によって指定される制御部のうちの一つの制御部を選択し、選択した制御部を経由して前記変換部によって変換されたアドレスに対してアクセスを行なう選択部と、をさらにそなえ、
前記変換部は、前記演算部により生成された、前記処理部のアクセス対象を指定するアドレスを変換し、前記変換されたアドレスを前記選択部に対して出力することを特徴とする、請求項１〜３のいずれか１項記載の論理検証装置。
【請求項５】
前記処理部は、
前記処理部に接続された少なくとも一つの外部装置から発行される前記少なくとも一つの外部装置のアクセス対象を指定するアドレスに基づいて、前記少なくとも一つの外部装置によるアクセスの調停を行なう調停部をさらにそなえ、
前記変換部は、前記調停部により調停された、外部装置のアクセス対象を指定するアドレスを変換するとともに、
前記処理部は、前記保持部が保持する情報によって指定される制御部のうちの一つの制御部を経由して前記変換されたアドレスに対してアクセスを行なうことを特徴とする、請求項１〜３のいずれか１項記載の論理検証装置。
【請求項６】
検証対象処理部と前記検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証を、前記検証対象処理部に対応する処理部と、前記複数の検証対象制御部に対応し、前記処理部による記憶部へのアクセスを制御する、前記検証対象制御部の数よりも少ない数の制御部と、をそなえる検証モデルを用いて行なう論理検証装置における、論理検証方法であって、
前記論理検証装置が、
前記処理部により、
前記検証モデルで用いられる制御部を、前記検証対象制御部の数よりも少ない数の制御部の中から指定する、保持部が保持する情報を参照し、
参照した情報によって指定される制御部を用いて前記処理部が記憶部へのアクセスを行なうように、前記処理部のアクセス対象を指定するアドレスを変換する、
ことを特徴とする、論理検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、システムの論理検証を行なう論理検証装置及び論理検証方法に関する。
【背景技術】
【０００２】
計算機システムの開発においては、計算機システムを実際に作成する前に論理シミュレーションにより論理回路の検証を行なうことが一般的である。
障害のより少ない計算機システムを開発するためには、実際の計算機システムの動作と同等の構成で論理シミュレーションによる論理回路の検証が行なわれることが重要である。そのため、計算機システムが取り得る最大規模の構成のモデルを検証モデルとして作成することが望まれる。
【０００３】
以下、大容量のシミュレータ上に、計算機システムの検証モデルとして要求される構成が全て搭載された場合について説明する。
図１３は、シミュレータ上の計算機システム１００の構成例を示すブロック図である。この図１３に示すように、計算機システム１００（以下、単にシステム１００という）は、ＣＰＵ（Central Processing Unit）２００−１及び２００−２，制御部３００−１〜３００−４，記憶部４００−１〜４００−４，ＩＯ（Input Output）コントローラ５００，ＩＯカード６００−１及び６００−２をそなえている。
【０００４】
以下、ＣＰＵを示す符号としては、複数のＣＰＵのうちの１つを特定する必要があるときには符号２００−１及び２００−２を用いるが、任意のＣＰＵを指すときには符号２００を用いる。また、制御部を示す符号としては、複数の制御部のうちの１つを特定する必要があるときには符号３００−１〜３００−４を用いるが、任意の制御部を指すときには符号３００を用いる。さらに、記憶部を示す符号としては、複数の記憶部のうちの１つを特定する必要があるときには符号４００−１〜４００−４を用いるが、任意の記憶部を指すときには符号４００を用いる。また、ＩＯカードを示す符号としては、複数のＩＯカードのうちの１つを特定する必要があるときには符号６００−１及び６００−２を用いるが、任意のＩＯカードを指すときには符号６００を用いる。
【０００５】
ＣＰＵ２００−１及び２００−２は、それぞれ、記憶部４００等に格納されたプログラムを読み出して、所定の命令を処理する。ここでは、ＣＰＵ２００−１及び２００−２は、記憶部４００等に格納された論理検証用のプログラムを読み出して、システム１００の論理検証を行なう。このように、計算機システムにおいてはＣＰＵ２００によって命令が処理されるが、それに伴い、命令のフェッチ、データのフェッチ、あるいはデータのストアといった動作として、ＣＰＵ２００によって記憶部４００への読み込み／書き込みが行なわれる。
【０００６】
また、ＣＰＵ２００−１は、演算部２１０−１及び選択部２５０−１をそなえるとともに、ＣＰＵ２００−２は、演算部２１０−２及び選択部２５０−２をそなえる。
演算部２１０−１及び２１０−２は、それぞれ、所定の演算処理を行ない、例えば、記憶部４００やＩＯカード６００へのアクセス等の命令を発行する。
選択部２５０−１及び２５０−２は、それぞれ、ＣＰＵ２００−１及び２００−２から記憶部４００やＩＯカード６００等に対してアクセスを行なう際に、アクセスが出力される経路を選択する。
【０００７】
制御部３００−１〜３００−４は、それぞれ、ＣＰＵ２００やＩＯコントローラ５００から記憶部４００へのアクセス制御を行なうものであり、制御部３００としては、例えば、システムコントローラが挙げられる。
ここで、図１３に示すシステム１００においては、選択部２５０−１と制御部３００−１〜３００−４とは、相互に通信可能に接続されている。同様に、選択部２５０−２と制御部３００−１〜３００−４とは、相互に通信可能に接続されている。
【０００８】
また、制御部３００−１〜３００−４は、相互に通信可能に接続されている。
記憶部４００−１〜４００−４は、それぞれ、システム１００内で一意のアドレスを持つ記憶領域をそなえ、ＣＰＵ２００がプログラムを実行する際に、当該記憶領域に格納されたプログラムを読み出したり、データやプログラムを当該記憶領域に格納・展開して用いられる。記憶部４００としては、例えば、ＲＡＭ（Random Access Memory）等が挙げられる。
【０００９】
ＩＯコントローラ５００は、ＣＰＵ２００からＩＯカード６００へのアクセスを制御するとともに、ＩＯカード６００から記憶部４００へのアクセスを制御する。また、ＩＯコントローラ５００は、調停部５１０をそなえる。
ここで、ＩＯコントローラ５００は、制御部３００−１に接続されている。ＩＯコントローラ５００は、制御部３００−１を経由して、記憶部４００−１，制御部３００−２に接続された記憶部４００−２，制御部３００−３に接続された記憶部４００−３及び制御部３００−４に接続された記憶部４００−４に対してそれぞれアクセスを行なう。
【００１０】
調停部５１０は、複数のＩＯカード６００からのアクセスを調停するとともに、ＣＰＵ２００等からのアクセスをＩＯカード６００−１又は６００−２に振り分ける制御を行なう。
ＩＯカード６００−１及び６００−２は、それぞれ、システム１００を外部装置、すなわち、他の補助記憶装置又はＬＡＮ等を介して接続された他の装置等に接続するための制御を行なう。
【００１１】
図１３に示す例においては、システム１００に４つの制御部３００−１〜３００−４が搭載され、制御部３００−１〜３００−４には、それぞれ、記憶部４００−１〜４００−４が接続されている。
ここで、記憶部４００−１〜４００−４のそれぞれのアドレスは、記憶部４００へのアクセスの高速化のため、４つの制御部３００−１〜３００−４によってインターリーブ制御されている。
【００１２】
なお、記憶部４００以外のアドレス、例えばＩＯコントローラ５００のアドレスについては、制御部３００によるインターリーブ制御は行なわれない。従って、ＣＰＵ２００からＩＯコントローラ５に対するアクセスは、選択部２５０から制御部３００−１を経由して行なわれる。
制御部３００は、記憶部４００の所定のアドレス幅の単位、例えば６４Ｂｙｔｅ単位で、４つの制御部３００−１〜３００−４を順に選択することにより、インターリーブ動作を行なう。これにより、ＣＰＵ２００によって記憶部４００の連続するアドレスへのアクセスが行なわれた場合には、各制御部３００−１〜３００−４及び制御部３００に接続された記憶部４００−１〜４００−４が均一に使用される。
【００１３】
すなわち、計算機システム内に搭載されている複数の制御部３００及び複数の記憶部４００は、記憶部４００のアドレスによって一意に選択される。
図１４は、一般的なＣＰＵ２００におけるアドレス処理を説明するためのフローチャートである。
例えば、この図１４に示すように、ＣＰＵ２００内の演算部２１０から記憶部４００へのアクセスが発行される際に、演算部２１０により、アクセス先のアドレスが生成される（ステップＳ１０１）。
【００１４】
次に、選択部２５０により、当該アクセス先のアドレスが記憶部４００のアドレスであるのか、ＩＯコントローラ５００のアドレスであるのかが判定される。そして、選択部２５０により、発行されたアクセスをいずれの経路で出力するかが選択される。すなわち、選択部２５０により、発行されたアクセスがＣＰＵ２００に接続されている４つの制御部３００−１〜３００−４のうちのいずれの制御部３００を経由して出力されるかが選択される（ステップＳ１０２）。
【００１５】
これにより、アクセス先が記憶部４００−１のアドレスであった場合には、ＣＰＵ２００−１によって、制御部３００−１を経由して記憶部４００−１へアクセスが行なわれる。また、アクセス先が記憶部４００−２のアドレスであった場合には、制御部３００−２を経由して記憶部４００−２へアクセスが行なわれる。さらに、アクセス先が記憶部４００−３のアドレスであった場合には、制御部３００−３を経由して記憶部４００−３へアクセスが行なわれる。同様に、アクセス先が記憶部４００−４のアドレスであった場合には、制御部３００−４を経由して記憶部４００−４へアクセスが行なわれる。また、アクセス先がＩＯコントローラ５００のアドレスであった場合には、ＣＰＵ２００によって、制御部３００−１を経由してＩＯコントローラ５００へアクセスが行なわれる。
【００１６】
図１５は、一般的なＩＯコントローラ５００におけるアドレス処理を説明するためのフローチャートである。
例えば、この図１５に示すように、ＩＯコントローラ５００においては、ＩＯカード６００により、アクセス要求が入力される。すなわち、ＩＯカード６００により、アクセス対象を指定するアドレスが生成され、生成されたアドレスがＩＯコントローラ５００に対して出力される（ステップＳ１１１）。
【００１７】
次に、ＩＯコントローラ５００の調停部５１０によって、ＩＯカード６００から入力されたアクセス先のアドレスに基づいて、ＩＯカード６００によるアクセスの調停が行なわれる。すなわち、ＩＯカード６００−１及び６００−２のうちのいずれのＩＯカード６００からのアクセスを出力するかが選択される（ステップＳ１１２）。
そして、アクセス先のアドレスが記憶部４００のアドレスであった場合には、ＩＯコントローラ５００によって、ＩＯコントローラ５００に接続された制御部３００−１を経由して、当該アクセス先のアドレスに対してアクセスが行なわれる（ステップＳ１１３）。
【００１８】
これにより、アクセス先が記憶部４００−１のアドレスであった場合には、ＩＯコントローラ５００によって、制御部３００−１を経由して記憶部４００−１へアクセスが行なわれる。また、アクセス先が記憶部４００−２のアドレスであった場合には、制御部３００−１及び３００−２を経由して記憶部４００−２へアクセスが行なわれる。さらに、アクセス先が記憶部４００−３のアドレスであった場合には、制御部３００−１及び３００−３を経由して記憶部４００−３へアクセスが行なわれる。同様に、アクセス先が記憶部４００−４のアドレスであった場合には、制御部３００−１及び３００−４を経由して記憶部４００−４へアクセスが行なわれる。
【００１９】
ここで、通常、命令領域、データ領域の記憶部４００のアドレスは、数ＫＢｙｔｅ〜数ＭＢｙｔｅの範囲で連続して使用される。また、上述の制御部３００におけるインターリーブ動作により、記憶部４００が持つ命令あるいはデータが格納された領域は、計算機システム内の全ての制御部３００に分散している。
従って、ＣＰＵ２００又はＩＯコントローラ５００から記憶部４００へのアクセスは、記憶部４００のアドレスによって一意に選択される制御部３００−１〜３００−４の全てに対して出力される。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開平０１−２４３１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
近年、半導体のプロセスの微細化が進み集積度が増しており、計算機システムの回路が正常に動作するか否かを、論理シミュレーションによって検証モデルにおける検証パターンの漏れを少なく検証することは難しい。
図１３〜図１５を用いて上述したように、障害のより少ない計算機システムを開発するためには、実際の計算機システムの動作と同等の構成で論理シミュレーションによる論理回路の検証が行なわれることが重要である。そのため、計算機システムが取り得る最大規模の構成のモデルを検証モデルとして作成することが望まれる。
【００２２】
しかし、半導体の微細化が進み計算機システムの論理回路容量が増大したことにより、大規模な計算機システムの検証モデルを作成するために、より大容量で高価なシミュレータが用いられる。
一方、シミュレータに搭載することができる論理回路容量には限りがあるため、大規模な計算機システムによっては、計算機システムの検証モデルがシミュレータの容量に収まらず、検証が行なえないという問題がある。
【００２３】
例えば、通常、メモリ等の記憶部は、論理検証用のテストプログラム又はデータを格納する場合、数ＫＢｙｔｅ〜数ＭＢｙｔｅの連続した領域を持つことが要求される。
一方、記憶部のインターリーブ制御を行なう計算機システムでは、図１３を用いて既述の如く、所定のアドレス幅の単位、例えば６４Ｂｙｔｅ単位で、４つの制御部が順に選択されることにより、各制御部や記憶部が均一に使用される。
【００２４】
このように、記憶部のインターリーブ制御を行なう計算機システムにおいては、記憶部の領域が、複数の制御部に対して順に、所定のアドレス幅毎に割り当てられる。
このような計算機システムにおいては、検証モデルにおいて複数の制御部及び記憶部のうちのいずれかの制御部及び記憶部を未搭載として論理検証を行なった場合においても、検証モデルにより上述の如くインターリーブ動作が行なわれる。従って、この場合、論理検証用のテストプログラムから見た記憶部の領域は、未搭載の記憶部に周期的に割り当てられる所定のアドレス幅の領域だけ存在せず、論理検証を行なうことが困難となる。
【００２５】
上述のことから、論理検証を行なう場合には、連続した記憶部の領域を確保するため、インターリーブ制御を行なう制御部の組を全て搭載することが要求される。
しかしながら、計算機システムの論理検証を行なう際に、十分なシミュレータの容量が確保できない場合、すなわち、制御部の組を全て搭載するにはシミュレータの容量が不足する場合には、検証モデルを構築することができない。
【００２６】
従来は大規模モデルを作成することが不可能な場合には、以下の(i)〜(iii)の手法により検証が行なわれていた。
(i)  より大容量のシミュレータを用意し検証を行なう
(ii)  ＣＰＵ等、制御部以外の構成要素の数を減らし、容量の少ないモデルを作成することにより検証を行なう
(iii)  制御部等の擬似回路を作成し容量を減らした上で、検証モデルの制御部と置き換えることにより検証を行なう
しかしながら、上記(i)により、大規模な計算機システムの構成に対して、より大容量のシミュレータを用意する場合には、高価なシミュレータが必要となり、より多くの費用が発生する。また、大規模な計算機システムの構成を検証するために十分な容量を持つシミュレータが存在しない場合もある。
【００２７】
このような場合には、シミュレータの容量内で取り得る最大規模の構成を検証モデルとして作成することが考えられるが、記憶部のインターリーブ制御を行なう場合には、検証モデルは複数の制御部をそなえることが要求される。従って、検証モデルの作成において、制御部をインターリーブを構成する最小単位未満には減らすことができず、検証モデルを構築することができないという問題がある。
【００２８】
また、上記(ii)により、制御部以外の構成要素の数を減らし、容量の少ないモデルを作成する場合には、減らした構成要素についての検証を行なうことができず、検証モデルにおける検証パターンの漏れを少なくして検証することは難しい。
さらに、検証モデルと計算機システムとの構成が異なるため、テストプログラムに対して変更を加えることになり、開発の工数がかかるという問題がある。
【００２９】
また、上記(iii)により、制御部等の擬似回路を作成し、容量を減らしたモデルを作成する場合には、別途制御部等の擬似回路を作成することになり、開発の工数がかかるという問題がある。
さらに、別の問題として、以下のようなものも挙げられる。
一般に、計算機システムの論理検証を行なう際に、検証カバレッジの向上を目的として特定の記憶部のアドレスへのアクセスを集中させたり、分散させたりするといった手法が用いられる。この手法を実現するためには、アクセス集中や分散を行ないたいアドレス毎に、それぞれ個別のテストプログラムが多数作成されることになる。
【００３０】
しかしながら、このような多数のテストプログラムを個別に作成するためには、開発の工数がかかるという問題がある。
本件の目的の一つは、処理部から記憶部へのアクセスを制御する複数の制御部をそなえる計算機システムについて、低コストで検証モデルを用いる論理検証を実現することである。
【００３１】
また、本件の目的の一つは、論理検証において、様々な記憶部のアドレス境界へのアクセス集中、及びアクセス分散を容易に実現することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００３２】
本件の論理検証装置は、検証対象処理部と前記検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証を、検証モデルを用いて行なう論理検証装置であって、前記検証対象処理部に対応する処理部と、前記複数の検証対象制御部に対応し、前記処理部による記憶部へのアクセスを制御する、前記検証対象制御部の数よりも少ない数の制御部と、を前記検証モデルとしてそなえ、前記処理部は、前記検証モデルで用いられる制御部を、前記検証対象制御部の数よりも少ない数の制御部の中から指定する情報を保持する保持部と、前記保持部が保持する情報によって指定される制御部を用いて前記処理部が記憶部へのアクセスを行なうように、前記処理部のアクセス対象を指定するアドレスを変換する変換部と、をそなえるものである。
【００３３】
また、本件の論理検証方法は、検証対象処理部と前記検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証を、前記検証対象処理部に対応する処理部と、前記複数の検証対象制御部に対応し、前記処理部による記憶部へのアクセスを制御する、前記検証対象制御部の数よりも少ない数の制御部と、をそなえる検証モデルを用いて行なう論理検証装置における、論理検証方法であって、前記論理検証装置が、前記処理部により、前記検証モデルで用いられる制御部を、前記検証対象制御部の数よりも少ない数の制御部の中から指定する、保持部が保持する情報を参照し、参照した情報によって指定される制御部を用いて前記処理部が記憶部へのアクセスを行なうように、前記処理部のアクセス対象を指定するアドレスを変換するものである。
【発明の効果】
【００３４】
開示の技術によれば、処理部から記憶部へのアクセスを制御する複数の制御部をそなえる計算機システムについて、低コストで検証モデルを用いる論理検証を実現することができる。
また、開示の技術によれば、論理検証において、様々な記憶部のアドレス境界へのアクセス集中、及びアクセス分散を容易に実現することができる。
【図面の簡単な説明】
【００３５】
【図１】第１実施形態の一例としての論理検証装置の構成例を示すブロック図である。
【図２】第１実施形態の一例としての保持部が保持する情報を示す図である。
【図３】第１実施形態の一例としての記憶部のアドレスによる制御部の割付例を示す図である。
【図４】図２に示す情報を保持部が保持する場合の変換部によるアドレスの変換方法を説明するための図である。
【図５】図２に示す情報を保持部が保持する場合の変換部によるアドレス変換により変換された記憶部のアドレス空間を説明するための図である。
【図６】第１実施形態の一例としての保持部が保持する情報を示す図である。
【図７】図６に示す情報を保持部が保持する場合の変換部によるアドレスの変換方法を説明するための図である。
【図８】図６に示す情報を保持部が保持する場合の変換部によるアドレス変換により変換された記憶部のアドレス空間を説明するための図である。
【図９】第１実施形態の一例としての処理部としてのＣＰＵにおけるアドレス処理を説明するためのフローチャートである。
【図１０】第１実施形態の一例としての処理部としてのＩＯコントローラにおけるアドレス処理を説明するためのフローチャートである。
【図１１】第１実施形態の一例としての変換部によるアドレス変換を用いた論理検証手順を説明するためのフローチャートである。
【図１２】第１実施形態の一例としてのアドレス変換を用いた論理検証における制御部の設定の組み合わせを説明するための図である。
【図１３】論理検証装置の構成例を示すブロック図である。
【図１４】一般的なＣＰＵにおけるアドレス処理を説明するためのフローチャートである。
【図１５】一般的なＩＯコントローラにおけるアドレス処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００３６】
以下、図面を参照して本発明の実施の形態を説明する。
（Ａ）第１実施形態
（Ａ−１）第１実施形態の論理検証装置の構成
図１は、第１実施形態の一例としての論理検証装置１の構成例を示すブロック図である。
【００３７】
論理検証装置１は、図示しない検証対象のシステムの論理検証を、検証モデルを用いて行なう。ここで、検証対象のシステムは、ＣＰＵ，ＩＯコントローラ等の検証対象処理部と、検証対象処理部によるＲＡＭ等の記憶部へのアクセスを制御する複数のシステムコントローラ等の検証対象制御部とを有する。
また、上述した論理検証は、論理検証用の専用ハードウェア、すなわち、論理検証装置１によって検証モデルを作成し、専用ハードウェアのＣＰＵに、様々なアクセスパターンを含むテストプログラムを実行させることによって行なうことができる。
【００３８】
なお、上述した論理検証は、ソフトウェアとしての論理検証プログラム上でシミュレータによって論理検証装置１の検証モデルを構築し、当該ソフトウェア上で様々なアクセスパターンを含むテストプログラムを実行することによって論理検証を行なうこともできる。
この図１に示すように、論理検証装置１は、論理検証に用いる検証モデルとして、ＣＰＵ２−１及び２−２，制御部３−１及び３−２，記憶部４−１及び４−２，ＩＯコントローラ５，ＩＯカード６−１及び６−２をそなえている。
【００３９】
なお、図１において破線で示す制御部３−３及び３−４，記憶部４−３及び４−４は、それぞれ、制御部３−１及び３−２，記憶部４−１及び４−２とともに検証対象のシステムにそなえられるものであるが、本実施形態の論理検証装置１にはそなえられない。
すなわち、検証モデルにおける制御部３は、複数の検証対象制御部に対応するものの、検証対象制御部の数よりも少ない数となっている。
【００４０】
以下、ＣＰＵを示す符号としては、複数のＣＰＵのうちの１つを特定する必要があるときには符号２−１及び２−２を用いるが、任意のＣＰＵを指すときには符号２を用いる。また、制御部を示す符号としては、複数の制御部のうちの１つを特定する必要があるときには符号３−１及び３−２を用いるが、任意の制御部を指すときには符号３を用いる。さらに、記憶部を示す符号としては、複数の記憶部のうちの１つを特定する必要があるときには符号４−１及び４−２を用いるが、任意の記憶部を指すときには符号４を用いる。また、ＩＯカードを示す符号としては、複数のＩＯカードのうちの１つを特定する必要があるときには符号６−１及び６−２を用いるが、任意のＩＯカードを指すときには符号６を用いる。
【００４１】
ＣＰＵ２−１及び２−２は、それぞれ、記憶部４等に格納されたプログラムを読み出して、所定の処理を行なう。ここでは、ＣＰＵ２−１及び２−２は、記憶部４等に格納された論理検証用のプログラムを読み出して、論理検証装置１の論理検証を行なう。
また、ＣＰＵ２−１は、演算部２１−１，変換部２２−１，保持部２３−１，設定変更部２４−１及び選択部２５−１をそなえる。同様に、ＣＰＵ２−２は、演算部２１−２，変換部２２−２，保持部２３−２，設定変更部２４−２及び選択部２５−２をそなえる。
【００４２】
以下、演算部，変換部，保持部，設定変更部，選択部を示す符号としては、複数のうちの１つを特定する必要があるときにはそれぞれ符号２１−１及び２１−２，２２−１及び２２−２，２３−１及び２３−２，２４−１及び２４−２，２５−１及び２５−２を用いるが、任意のものを指すときにはそれぞれ符号２１，２２，２３，２４，２５を用いる。
演算部２１−１及び２１−２は、それぞれ、所定の演算処理を行なうものであり、例えば、記憶部４やＩＯカード６へのアクセス等の命令を発行する。また、演算部２１は、論理検証におけるＣＰＵ２のアクセス対象を指定するアドレスを生成するための演算処理を行なう。
【００４３】
変換部２２−１及び２２−２は、それぞれ、演算部２１−１及び２１−２によって生成された、ＣＰＵ２のアクセス対象を指定するアドレスを変換する。このとき、変換部２２は、後述する保持部２３が保持する情報を参照し、この情報によって指定される制御部３−１又は３−２を用いてＣＰＵ２が記憶部４へのアクセスを行なうように、アドレスを変換する。
【００４４】
なお、変換部２２による具体的なアドレス変換については、後述する。
保持部２３−１及び２３−２は、それぞれ、変換部２２−１及び２２−２によるアドレス変換に用いられる情報を保持する。
保持部２３が保持する情報は、検証モデルで用いられる制御部３を、検証対象制御部の数よりも少ない数の制御部３−１又は３−２の中から指定する情報であるとともに、複数の検証対象制御部と検証対象制御部の数よりも少ない数の制御部３との対応を示す情報である。
【００４５】
例えば、保持部２３は、図２に示すテーブルＴ１に表される内容を、変換部２２によるアドレス変換に用いられる情報として保持する。
図２は、第１実施形態の一例としての保持部２３が保持する情報を示す図である。
以下、保持部２３は、図２に示すテーブルＴ１に表される内容を保持するものとして説明する。
【００４６】
テーブルＴ１は、検証対象のシステムが搭載しうる最大数の検証対象制御部の分だけ情報を持つ。本実施形態においては、検証対象のシステムが搭載しうる検証対象制御部の数は４つであるため、図１に示す制御部３−１〜３−４の４つの情報が設定されている。
テーブルＴ１において“１”が付された制御部３−１及び３−２は、本実施形態の検証モデルにおいて使用される制御部であることを示す。これは、本実施形態の検証モデルにおいて使用される制御部３−１及び３−２に接続される記憶部４−１及び４−２に対して、ＣＰＵ２やＩＯコントローラ５からアクセスすることができることを意味する。
【００４７】
また、テーブルＴ１において“０”が付された制御部３−３及び３−４は、本実施形態の検証モデルにおいて使用されない制御部であることを示す。これは、制御部３−３及び３−４に接続される記憶部４−３及び４−４に対して、ＣＰＵ２やＩＯコントローラ５からアクセスすることができないことを意味する。
設定変更部２４−１及び２４−２は、それぞれ、保持部２３−１及び２３−２に保持されたテーブルＴ１の内容を設定及び変更する。
【００４８】
例えば、設定変更部２４は、保持部２３が図２に示すテーブルＴ１の内容を保持している場合に、テーブルＴ１における制御部３−２に設定された“１”を、図６に示すテーブルＴ１′における制御部３−２の如く“０”に変更することができる。
これにより、論理検証装置１においては、設定変更部２４によって保持部２３が保持する情報を変更するだけで、検証モデルとして用いる制御部３の数を増減させることができる。
【００４９】
選択部２５−１及び２５−２は、それぞれ、変換部２２−１及び２２−２によって変換されたアドレスに基づいて、保持部２３−１及び２３−２が保持する情報によって指定される制御部３−１又は３−２のうちの一つの制御部を選択する。また、選択部２５−１及び２５−２は、選択した制御部を経由して変換部２２−１及び２２−２によって変換されたアドレスに対してアクセスを行なう。
【００５０】
このように、選択部２５は、ＣＰＵ２から記憶部４やＩＯカード６等に対してアクセスを行なう際に、アクセスが出力される経路を、保持部２３が保持する情報に基づいて選択する。
制御部３−１及び３−２は、それぞれ、ＣＰＵ２やＩＯコントローラ５による記憶部４へのアクセスや、ＣＰＵ２からＩＯコントローラ５へのアクセスを制御するものであり、制御部３としては、例えば、システムコントローラが挙げられる。
【００５１】
ここで、図１に示す論理検証装置１においては、選択部２５−１と制御部３−１及び３−２とは、相互に通信可能に接続されている。同様に、選択部２５−２と制御部３−１及び３−２とは、相互に通信可能に接続されている。
また、制御部３−１及び３−２は、相互に通信可能に接続されている。
制御部３は、上述のように、検証対象のシステムがそなえる複数の検証対象制御部に対応し、検証対象制御部の数よりも少ない数である。すなわち、本実施形態の検証モデルにおいては、２つの制御部３−１及び３−２をそなえており、４つの検証対象制御部をそなえる検証対象のシステムよりも制御部が２つ少ない。
【００５２】
また、制御部３は、ＣＰＵ２による記憶部４へのアクセスに対して、インターリーブ制御を行なう。
なお、制御部３による具体的なインターリーブ制御については、後述する。
記憶部４−１及び４−２は、論理検証装置１内で一意のアドレスを持つ記憶領域をそなえ、ＣＰＵ２がプログラムを実行する際に、当該記憶領域に格納されたプログラムを読み出したり、データやプログラムを当該記憶領域に格納・展開して用いられる。記憶部４としては、例えば、ＲＡＭ等が挙げられる。
【００５３】
本実施形態においては、記憶部４−１，４−２は、それぞれ制御部３−１，３−２に接続されており、ＣＰＵ２やＩＯコントローラ５からのアクセスを、接続された制御部３を介して受ける。
ＩＯコントローラ５は、ＩＯカード６から記憶部４へのアクセスを制御するとともに、ＣＰＵ２からＩＯカード６へのアクセスを制御する。また、ＩＯコントローラ５は、調停部５１，変換部５２，保持部５３，設定変更部５４をそなえる。
【００５４】
具体的には、ＩＯコントローラ５は、制御部３−１に接続され、制御部３−１を経由して記憶部４−１及び制御部３−２に接続された記憶部４−２に対してアクセスを行なう。ここでは、ＩＯコントローラ５は、ＩＯカード６に接続された外部装置において実行されるテストプログラムによって、論理検証装置１の論理検証を行なう。
このように、ＣＰＵ２及びＩＯコントローラ５は、それぞれ、論理検証装置１の論理検証を行なう。従って、ＣＰＵ２及びＩＯコントローラ５は、検証対象のシステムの検証対象処理部に対応する処理部であるといえる。
【００５５】
ＩＯカード６−１及び６−２は、それぞれ、ＩＯコントローラ５を外部装置、すなわち、他の補助記憶装置又はＬＡＮ等を介して接続された他の装置等に接続するための制御を行なう。
調停部５１は、ＩＯカード６−１又は６−２を経由する、少なくとも一つの外部装置によるアクセスの調停を行なう。具体的には、調停部５１は、ＩＯコントローラ５にＩＯカード６を介して接続された少なくとも一つの外部装置から発行される外部装置のアクセス対象を指定するアドレスに基づいて、外部装置からのアクセスの調停を行なう。
【００５６】
例えば、調停部５１は、例えば、ＩＯカード６−１及び６−２からアクセス要求が入力された場合に、いずれのアクセス要求を制御部３−１に対して出力するかを選択する。また、調停部５１は、ＩＯカード６から入力されたアクセス対象を指定するアドレスが、他のＩＯカード６のアドレスであるか否かを判断する。例えば、ＩＯカード６−１から入力されたアクセス対象を指定するアドレスがＩＯカード６−２のアドレスである場合には、調停部５１は、ＩＯカード６−１からのアクセスをＩＯカード６−２に対して出力する。
【００５７】
また、調停部５１は、ＣＰＵ２等からのアクセスをＩＯカード６−１又は６−２に振り分ける制御を行なう。
変換部５２は、調停部５１により調停された、ＩＯコントローラ５のアクセス対象を指定するアドレスを変換する。このとき、変換部５２は、後述する保持部５３が保持する情報を参照し、この情報によって指定される制御部３−１又は３−２を用いてＩＯコントローラ５が記憶部４へのアクセスを行なうように、アドレスを変換する。
【００５８】
なお、変換部５２による具体的なアドレス変換については、変換部２２と同様に後述する。
保持部５３は、保持部２３と同様に、変換部５２によるアドレス変換に用いられる情報を保持する。
以下、保持部５３は、保持部２３と同様に、図２に示すテーブルＴ１に表される内容を保持するものとして説明する。
【００５９】
設定変更部５４は、保持部５３に保持されたテーブルＴ１の内容を設定及び変更する。
なお、上述した保持部２３，５３及び設定変更部２４，５４は、ＣＰＵ２−１及び２−２並びにＩＯコントローラ５にそれぞれそなえられてもよく、ＣＰＵ２−１及び２−２並びにＩＯコントローラ５に共通して１組だけそなえられてもよい。
すなわち、保持部２３及び５３が保持する情報は、同一のものとすることができる。
【００６０】
また、設定変更部２４及び５４は、例えば、ジャンパピンのように、ハードウェア上で設定及び変更が行なわれてもよい。この場合、テーブルＴ１の制御部３−１〜３−４の使用の有無は、ジャンパピンのショート位置によって判断されるため、保持部２３及び５３を省略することができる。
上述のように、ＩＯコントローラ５は、保持部５３が保持する情報によって指定される制御部３のうちの一つの制御部を経由して、変換部５２により変換されたアドレスに対してアクセスを行なう。
【００６１】
（Ａ−２）第１実施形態の処理部及び制御部の説明
次に、処理部としてのＣＰＵ２及びＩＯコントローラ５並びに制御部３の処理を説明する。
図３は、第１実施形態の一例としての記憶部４のアドレスによる制御部３の割付例を示す図である。
【００６２】
なお、図３においては、便宜上、論理検証装置１の一部の構成を省略している。
この図３に示すように、論理検証装置１の制御部３は、記憶部４のアドレスにおけるアドレスビット７：６の値によってアドレス割り付けが行なわれている。すなわち、本実施形態におけるアドレスビット７：６は、処理部２，５のアクセス対象を指定するアドレスのうちの、制御部３を識別するための割り当て用アドレスビットである。
【００６３】
具体的には、処理部としてのＣＰＵ２及びＩＯコントローラ５のアクセス対象を指定するアドレス、すなわち検証対象のシステムの記憶部のアドレスのうち、アドレスビット７：６の値が“００”である場合には、論理検証装置１の制御部３−１が選択される。同様に、アドレスビット７：６の値が“０１”である場合には、制御部３−２が選択され、アドレスビット７：６の値が“１０”である場合には、制御部３−３が選択され、アドレスビット７：６の値が“１１”である場合には、制御部３−４が選択される。
【００６４】
そして、論理検証装置１においては、処理部２，５により、処理部としてのＣＰＵ２及びＩＯコントローラ５のアクセス対象を指定するアドレスに基づいて選択された制御部３を経由して、アクセス対象に対するアクセスが行なわれる。
ここで、上述のように、論理検証装置１には、検証対象制御部の数よりも少ない数の制御部３−１及び３−２が搭載されている。
【００６５】
従って、図３に示す如く、処理部２，５のアクセス対象を指定するアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“１０”又は“１１”である場合に選択される制御部３−３及び３−４は、論理検証装置１に未搭載である。
そこで、本実施形態においては、図４に示す如く、変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレス、すなわち制御部３−１〜３−４のいずれかを選択するアドレスを、論理検証装置１に搭載されている制御部３−１又は３−２のいずれかを選択するアドレスに変換する。
【００６６】
図４は、図２に示す情報を保持部２３，５３が保持する場合の変換部２２，５２によるアドレスの変換方法を説明するための図である。
図４中、上側のアドレスは、変換部２２，５２によって変換される前のアクセス先のアドレス、すなわち処理部２，５のアクセス対象を指定するアドレスであり、下側のアドレスは、変換部２２，５２によって変換された後のアドレスである。
【００６７】
この図４に示すアドレスにおいて、アドレスビット４２：４０は、記憶部４又はＩＯコントローラ５へのアクセスを識別するためのビットである。また、このアドレスビット４２：４０は、検証対象が大規模なシステムであった場合における検証対象のシステムの記憶部の拡張のために使用されるビットでもある。
ここで、大規模な検証対象のシステムとは、例えば、検証対象のシステムが、８つの検証対象制御部を搭載するとともに、複数の検証対象制御部内において、インターリーブ制御を行なう検証対象制御部の組が２つあるような場合等が挙げられる。
【００６８】
この場合、記憶部の拡張のための使用は、この大規模な検証対象のシステムにおけるインターリーブ制御を行なう２つの組をそれぞれ識別することである。
また、アドレスビット３９：０は、制御部３によるインターリーブ制御の組内での一意の記憶部４のアドレスとして使用される。
以下、変換部２２，５２によるアドレスの変換方法を説明する。
【００６９】
変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレスが演算部２１やＩＯカード６から入力されると、このアドレスが記憶部４のアドレスであるか否かを判断する。この判断は、変換部２２，５２によって、アドレスビット４２：４０のうちの、所定の位置のアドレスビットの値を参照することによって行なわれる。
例えば、アクセス先のアドレスにおける所定の位置としてのアドレスビット４２の値が“１”であった場合には、変換部２２，５２によって、記憶部４のアドレスであると判断される。また、アクセス先のアドレスにおける所定の位置としてのアドレスビット４２の値が“０”であった場合には、変換部２２，５２によって、記憶部４以外のアドレス、例えばＩＯコントローラ５のアドレスであると判断される。
【００７０】
そして、変換部２２，５２は、アクセス先のアドレスが記憶部４のアドレスではない判断した場合には、アドレス変換を行なわず、処理部２，５は、当該アクセス先のアドレスに対してアクセスを行なう。
一方、変換部２２，５２は、アクセス先のアドレスが記憶部４のアドレスであると判断した場合には、保持部２３，５３が保持する情報、すなわちテーブルＴ１に示す内容を参照して、テーブルＴ１によって指定される制御部３、すなわち使用のフラグである“１”がセットされている制御部３を認識する。本実施形態におけるテーブルＴ１には、制御部３−１及び３−２に“１”がセットされている（図１２のＮｏ．３参照）。
【００７１】
そして、変換部２２，５２は、アクセス先のアドレスが記憶部４−１〜４−４のいかなるアドレスである場合であっても、処理部２，５が制御部３−１又は３−２を用いて記憶部４−１又は４−２へのアクセスを行なうように、アドレス変換を行なう。
すなわち、変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレスが記憶部４のアドレスであるか否かを判断し、記憶部４のアドレスであると判断した場合に、処理部２，５のアクセス対象を指定するアドレスを変換する。
【００７２】
具体的には、図３に示すように、使用のフラグがセットされている制御部３−１及び３−２は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“００”及び“０１”のときに選択される。換言すれば、アクセス先のアドレスのアドレスビット７の値が“０”のときに、制御部３−１及び３−２のいずれかが選択されることになる。
【００７３】
そこで、変換部２２，５２は、アクセス先のアドレスのアドレスビット７の値を、制御部３−１又は３−２が選択される“０”に固定するとともに、アクセス先のアドレスのアドレスビット３９の値を破棄する。また、変換部２２，５２は、アドレスビット３８：７の値を、上方、すなわち上位ビット側に１ビットシフトする。
換言すれば、変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレスに対して、当該アドレスの割り当て用アドレスビットのうちの少なくとも１ビットの値を、保持部２３，５３が保持する情報によって指定される制御部３を識別する割り当て用アドレスビットの値に固定する。また、変換部２２，５２は、記憶部４内の記憶領域を示すアドレスビットの最上位のビットから、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するビット数だけ破棄する。そして、変換部２２，５２は、割り当て用アドレスビットのうちの固定パターンに応じた位置のアドレスビットと、記憶部４内の記憶領域を示すアドレスビットの最上位のビットから当該破棄したビット数だけ下位のビットと、の間の処理部２，５のアクセス対象を指定するアドレスにおけるビットを、当該破棄したビット数だけシフトする。
【００７４】
ここで、固定パターンとは、割り当て用アドレスビットのうちの固定するビットの位置や、後述する図１２のＮｏ．５−１，５−２，６−１及び６−２に示す固定方法等の、割り当て用アドレスビットを固定する際のパターンをいう。
従って、この場合においては、アクセス先のアドレスのアドレスビット３８：７の値は、変換部２２，５２により、変換後のアドレスのアドレスビット３９：８の値に変換される。
【００７５】
これにより、処理部としてのＣＰＵ２及びＩＯコントローラ５からいかなる記憶部４のアドレスへアクセスが行なわれても、制御部３−１に接続された記憶部４−１、又は制御部３−２に接続された記憶部４−２のいずれかが常に選択される。
このとき、アクセス先のアドレスのアドレスビット６：０は、制御部３−１及び３−２に接続される記憶部４−１及び４−２において連続した領域であるため変換は行なわれず、変換前の値が変換部２２，５２からそのまま出力される。すなわち、変換部２２，５２による変換後のアドレスのアドレスビット６：０は、処理部２，５のアクセス対象を指定するアドレスのアドレスビット６：０の値となる。
【００７６】
また、アクセス先のアドレスのアドレスビット４２：４０は、上述のように、記憶部４又はＩＯコントローラ５へのアクセスを識別したり、検証対象のシステムが大規模な場合の記憶部の拡張のために使用される。従って、変換部２２，５２による変換後のアドレスのアドレスビット４２：４０は、変換部２２，５２による変換が行なわれず、変換部２２，５２により変換前の値がそのまま出力される。すなわち、変換部２２，５２による変換後のアドレスのアドレスビット４２：４０は、処理部２，５のアクセス対象を指定するアドレスのアドレスビット４２：４０の値となる。
【００７７】
さらに、アクセス先のアドレスのアドレスビット３９の値は、変換部２２，５２による変換が行なわれず、破棄される。
変換部２２，５２においては、アドレス変換によりアクセス先のアドレスのアドレスビット７の値が、制御部３−１又は３−２が選択される“０”に固定されるため、記憶部４のアドレスを示すアドレスビットの数が減少する。すなわち、記憶部４のアドレスを示すアドレスビットは、３９：０の４０ビットであるが、変換部２２，５２によるアドレス変換により、記憶部４のアドレスとして使用されるアドレスビットが、３９：８及び６：０の３９ビットとなる。
【００７８】
このように、変換部２２，５２によるアドレス変換により、処理部２，５のアクセス対象として用いられる記憶部４の記憶領域は半減する。
従って、記憶部４のアドレスを示すアドレスビットの数は、変換部２２，５２によるアドレス変換により、固定するアドレスビットの数に等しい、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するアドレスビットの数だけ減少することになる。この場合、記憶部４のアドレスを示すアドレスビットの数は、１ビット減少することになる。
【００７９】
そこで、変換部２２，５２により、アドレス変換によって記憶部４内の記憶領域を示すアドレスビットのうちの最上位のビットから、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するビット数だけ破棄される。この場合、割り当て用アドレスビットを固定することにより記憶部４の記憶領域は２分の１に減少するため、変換部２２，５２によってアドレスビットが１ビット破棄される。すなわち、変換部２２，５２により、アドレスビット３９の値が破棄される。
【００８０】
図５は、図２に示す情報を保持部２３，５３が保持する場合の、論理検証装置１において実行されるテストプログラムからみた記憶部４のアドレス空間と、変換部２２，５２によるアドレス変換により変換された記憶部４のアドレス空間との対応を説明するための図である。
図５中、左側は、論理検証装置１において実行される論理検証のテストプログラムからみた記憶部４のアドレス空間を示す。テストプログラムからみた記憶部４のアドレス空間では、記憶部４のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値により、６４Ｂｙｔｅ単位で制御部３に接続される記憶部４が交互に割り当てられている。
【００８１】
このとき、テストプログラムからは、記憶部４のアドレス空間は連続した領域として認識されている。
一方、図５中、右側は、変換部２２，５２によるアドレス変換により変換された、論理検証装置１で実際に用いられる記憶部４のアドレス空間を示す。図５に示すように、テストプログラムによりいかなる記憶部４のアドレスにアクセスが行なわれても、上述したアドレス変換により、アクセス先のアドレスは、制御部３−１及び３−２が管理する記憶部４−１及び４−２の領域に変換される。これにより、テストプログラムによりいかなる記憶部４のアドレスにアクセスが行なわれても、アクセス先のアドレスは、制御部３−３及び３−４が管理する記憶部４−３及び４−４の領域には変換されない。
【００８２】
なお、図４及び図５に示すアドレス変換はあくまでも一例であり、検証対象のシステム及び論理検証装置１に合わせて変換するアドレスビットを変更してもよい。例えば、上述した制御部３とは異なる組み合わせについては、変換部２２，５２は、以下のように処理を行なうことができる。
以下、特に説明のない限り、変換部２２，５２は、上述した図２に示すテーブルＴ１の制御部３の組み合わせと同様の処理を行なう。
(i)  制御部３−３及び３−４には使用のフラグである“１”が設定され、制御部３−１及び３−２には不使用のフラグである“０”が設定されている場合（図１２のＮｏ．４参照）
この場合、図３に示すように、使用のフラグがセットされている制御部３−３及び３−４は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“１０”及び“１１”のときに選択される。換言すれば、アクセス先のアドレスのアドレスビット７の値が“１”のときに、制御部３−３及び３−４のいずれかが選択されることになる。
【００８３】
そこで、変換部２２，５２は、アドレス変換の際に、アクセス先のアドレスのアドレスビット７の値を、制御部３−３又は３−４が選択される“１”に固定する。
(ii)  制御部３−１及び３−３には使用のフラグである“１”が設定され、制御部３−２及び３−４には不使用のフラグである“０”が設定されている場合（図１２のＮｏ．１参照）
この場合、図３に示すように、使用のフラグがセットされている制御部３−１及び３−２は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“００”及び“１０”のときに選択される。換言すれば、アクセス先のアドレスのアドレスビット６の値が“０”のときに、制御部３−１及び３−３のいずれかが選択されることになる。
【００８４】
そこで、変換部２２，５２は、アドレス変換の際に、アクセス先のアドレスのアドレスビット６の値を、制御部３−１又は３−３が選択される“０”に固定するとともに、アドレスビット３８：６の値を、上方、すなわち上位ビット側に１ビットシフトする。
このとき、アクセス先のアドレスのアドレスビット５：０は、制御部３−１及び３−３に接続される記憶部４−１及び４−３において連続した領域であるため変換は行なわれず、変換前の値が変換部２２，５２からそのまま出力される。
(iii)  制御部３−２及び３−４には使用のフラグである“１”が設定され、制御部３−１及び３−３には不使用のフラグである“０”が設定されている場合（図１２のＮｏ．２参照）
この場合、図３に示すように、使用のフラグがセットされている制御部３−２及び３−４は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“０１”及び“１１”のときに選択される。換言すれば、アクセス先のアドレスのアドレスビット６の値が“１”のときに、制御部３−２及び３−４のいずれかが選択されることになる。
【００８５】
そこで、変換部２２，５２は、上述したアドレス変換の際に、アクセス先のアドレスのアドレスビット６の値を、制御部３−２又は３−４が選択される“１”に固定するとともに、アドレスビット３８：６の値を、上方、すなわち上位ビット側に１ビットシフトする。
このとき、アクセス先のアドレスのアドレスビット５：０は、制御部３−２及び３−４に接続される記憶部４−２及び４−４において連続した領域であるため変換は行なわれず、変換前の値が変換部２２，５２からそのまま出力される。
(iv)  制御部３−１及び３−４には使用のフラグである“１”が設定され、制御部３−２及び３−３には不使用のフラグである“０”が設定されている場合（図１２のＮｏ．５−１及び５−２参照）
この場合、図３に示すように、使用のフラグがセットされている制御部３−１及び３−４は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“００”及び“１１”のときに選択される。
【００８６】
従って、変換部２２，５２は、割り当て用アドレスビットのうちのいずれかを単に固定しても、制御部３−１及び３−４のいずれかが選択されるアドレスとなるように変換することができない。
このように、記憶部４のアドレスのうちの割り当て用アドレスビットの値を固定しても、論理検証を行なうことができない場合がある。
【００８７】
そこで、このような場合、変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６のうちのいずれか１ビットの値を用いて、固定するアドレスビットの値を変化させる。
例えば、変換部２２，５２は、アドレス変換に際して、処理部２，５のアクセス対象を指定するアドレスのアドレスビット６の値が“０”である場合には、アクセス先のアドレスのアドレスビット７：６の値を、“００”に固定する（図１２のＮｏ．５−１参照）。一方、変換部２２，５２は、アドレス変換に際して、処理部２，５のアクセス対象を指定するアドレスのアドレスビット６の値が“１”である場合には、アクセス先のアドレスのアドレスビット７：６の値を、“１１”に固定する（図１２のＮｏ．５−２参照）。
【００８８】
そして、変換部２２，５２は、アクセス先のアドレスのアドレスビット３８：７の値を、上方、すなわち上位ビット側に１ビットシフトする。
このように、(iv)の場合においては、アクセス先のアドレスのアドレスビット３８：７の値は、変換部２２，５２により、変換後のアドレスのアドレスビット３９：８の値に変換される。
【００８９】
これにより、処理部としてのＣＰＵ２及びＩＯコントローラ５からいかなる記憶部４のアドレスへアクセスが行なわれても、制御部３−１に接続された記憶部４−１、又は制御部３−４に接続された記憶部３−４のいずれかが常に選択される。
このとき、アクセス先のアドレスのアドレスビット５：０は、制御部３−１及び３−４に接続される記憶部４−１及び４−４において連続した領域であるため変換は行なわれず、変換前の値がそのまま変換部２２，５２から出力される。すなわち、変換部２２，５２による変換後のアドレスのアドレスビット５：０は、処理部２，５のアクセス対象を指定するアドレスのアドレスビット５：０の値となる。
【００９０】
さらに、アクセス先のアドレスのアドレスビット３９の値は、変換部２２，５２による変換は行なわれず、破棄される。
記憶部４のアドレスを示すアドレスビットは、３９：０の４０ビットであるが、変換部２２，５２によるアドレス変換により、記憶部４のアドレスとして使用されるアドレスビットが、３９：８及び５：０の３８ビットとなる。
【００９１】
しかし、変換部２２，５２により、アドレス変換によって固定されるアドレスビット７：６の組み合わせは、“００”及び“１１”の２通りあり、“００”“０１”“１０”“１１”の４通りの全ての組み合わせに比して２分の１となる。
つまり、変換部２２，５２によるアドレス変換により、処理部２，５のアクセス対象として用いられる記憶部４の記憶領域は２分の１となる。
【００９２】
従って、記憶部４のアドレスを示すアドレスビットの数は、変換部２２，５２によるアドレス変換により、固定するアドレスビットの数にかかわらず、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するアドレスビットの数だけ減少することになる。この場合、記憶部４のアドレスを示すアドレスビットの数は、１ビット減少することになる。
【００９３】
そこで、変換部２２，５２により、アドレス変換によって記憶部４内の記憶領域を示すアドレスビットのうちの最上位のビットから、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するビット数だけ破棄される。この場合、割り当て用アドレスビットを固定することにより記憶部４の記憶領域は２分の１に減少するため、変換部２２，５２によってアドレスビットが１ビット破棄される。すなわち、変換部２２，５２により、アドレスビット３９の値が破棄される。
(v)  制御部３−２及び３−３には使用のフラグである“１”が設定され、制御部３−１及び３−４には不使用のフラグである“０”が設定されている場合（図１２のＮｏ．６−１及び６−２参照）
以下、特に説明のない限り、変換部２２，５２は、上述した(iv)と同様の処理を行なう。
【００９４】
この場合、図３に示すように、使用のフラグがセットされている制御部３−２及び３−３は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“０１”及び“１０”のときに選択される。
従って、変換部２２，５２は、割り当て用アドレスビットのうちのいずれかを単に固定しても、制御部３−２及び３−３のいずれかが選択されるアドレスとなるように変換することができない。
【００９５】
そこで、このような場合、変換部２２，５２は、上記(iv)と同様に、処理部２，５のアクセス対象を指定するアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６のうちのいずれか１ビットの値を用いて、固定するアドレスビットの値を変化させる。
例えば、変換部２２，５２は、アドレス変換に際して、処理部２，５のアクセス対象を指定するアドレスのアドレスビット６の値が“０”である場合には、アクセス先のアドレスのアドレスビット７：６の値を、“０１”に固定する（図１２のＮｏ．６−１参照）。一方、変換部２２，５２は、アドレス変換に際して、処理部２，５のアクセス対象を指定するアドレスのアドレスビット６の値が“１”である場合には、アクセス先のアドレスのアドレスビット７：６の値を、“１０”に固定する（図１２のＮｏ．６−２参照）。
【００９６】
なお、上述した(iv)及び(v)において、固定するアドレスビットの値を変化させる際に用いるビットは、アドレスビット６の替わりにアドレスビット７を用いてもよい。
そして、制御部３−１及び３−４を選択する際には、アドレスビット７の値に応じて、割り当て用アドレスビットの値を“００”又は“１１”に固定する（図１２のＮｏ．５−１及び５−２参照）。また、制御部３−２及び３−３を選択する際には、アドレスビット７の値に応じて、割り当て用アドレスビットの値を“０１”“１０”に固定する（図１２のＮｏ．６−１及び６−２参照）。
【００９７】
ここで、固定するアドレスビットの値を変化させる際に用いるビットをアドレスビット７とした場合、変換部２２，５２は、アクセス先のアドレスのアドレスビット３８：８の値を、上方、すなわち上位ビット側に１ビットシフトするとともに、アドレスビット６の値を、上方、すなわち上位ビット側に２ビットシフトする。
このように、固定するアドレスビットの値を変化させる際に用いるビットをアドレスビット７とする場合、すなわち、割り当て用アドレスビットのうちの上位のビットとする場合においては、アクセス先のアドレスのアドレスビット３８：８の値は、変換部２２，５２により、変換後のアドレスのアドレスビット３９：９の値に変換される。また、アクセス先のアドレスのアドレスビット６の値は、変換後のアドレスのアドレスビット８に変換される。
【００９８】
上述したテーブルＴ１の設定は、検証モデルとして制御部を２つ、例えば制御部３−１及び３−２だけを搭載する場合のほか、論理検証における検証パターンとして、特定の制御部に対してアクセスを分散させて負荷検証を行なう場合に有用である。
例えば、図１に示す論理検証装置１の構成において、制御部３−１及び３−２に接続された記憶部４−１及び４−２のアドレス境界に対してアクセスを分散させる論理検証を行なう場合には、保持部２３，５３が保持する情報を、図２に示すテーブルＴ１のように設定すればよい。
【００９９】
また、その後、制御部３−１及び３−３に接続された記憶部４−１及び４−３のアドレス境界に対してアクセスを分散させる論理検証を行なう場合には、保持部２３，５３が保持するテーブルＴ１の内容において、制御部３−１及び３−３のみに“１”が付されるように、設定変更部２４，５４によって保持部２３，５３の設定変更を行なうだけでよい。
このように、論理検証装置１は、設定変更部２４，５４による設定変更を行なうだけで、図１に示す論理検証装置１の構成を維持したまま、１つのテストプログラムを用いて複数の検証パターンを容易に実行することができる。
【０１００】
ここまで、検証対象のシステムの検証対象制御部が４つであり、論理検証装置１の制御部３が２つである場合の変換部２２，５２の処理について説明したが、論理検証装置１の制御部３が１つである場合においても同様に、変換部２２，５２は、アドレス変換を行なうことができる。
図６は、第１実施形態の一例としての保持部２３，５３が保持する情報を示す図である。
【０１０１】
以下、保持部２３，５３が、例えば図６に示すテーブルＴ１′（Ｔ１）の内容を保持する場合の論理検証について説明する。
なお、テーブルＴ１′は、便宜上、図２に示すテーブルＴ１と符号を区別しているが、テーブルのフォーマットはテーブルＴ１と同様である。以下、テーブルＴ１というときは、特に説明のない限り、テーブルＴ１′を含むものとする。
【０１０２】
図６に示すように、テーブルＴ１′においては、制御部３−１に“１”が付され、制御部３−２〜３−４に“０”が付されている。これは、制御部３−１に接続される記憶部４−１に対してのみ、ＣＰＵ２やＩＯコントローラ５からアクセスすることができ、制御部３−２〜３−４に接続される記憶部４−２〜４−４に対しては、ＣＰＵ２やＩＯコントローラ５からアクセスすることができないことを意味する。
【０１０３】
このテーブルＴ１′の設定は、検証モデルとして制御部を１つ、例えば制御部３−１だけを搭載する場合のほか、論理検証における検証パターンとして、特定の制御部に対してアクセスを集中させて負荷検証を行なう場合に有用である。
例えば、図１に示す論理検証装置１の構成において、制御部３−１に接続された記憶部４−１のアドレス境界に対してアクセスを集中させる論理検証を行なう場合には、保持部２３，５３が保持する情報を、図６に示すテーブルＴ１′のように設定すればよい。
【０１０４】
また、制御部３−１に対してアクセスを集中させる論理検証を行なった後に、制御部３−２に接続された記憶部４−２のアドレス境界に対してアクセスを集中させる論理検証を行なう場合には、保持部２３，５３が保持するテーブルＴ１の内容において、制御部３−２のみに“１”が付されるように、変更部２４，５４において設定変更を行なうだけでよい。
【０１０５】
このように、論理検証装置１は、変更部２４，５４における設定変更を行なうだけで、図１に示す論理検証装置１の構成を維持したまま、１つのテストプログラムを用いて複数の検証パターンを容易に実行することができる。
図７は、図６に示す情報を保持部２３，５３が保持する場合の変換部２２，５２によるアドレスの変換方法を説明するための図である。
【０１０６】
以下、保持部２３，５３が図６に示すテーブルＴ１′の内容を保持する場合の、変換部２２，５２によるアドレスの変換方法を説明する。
なお、以下、特に説明のない限り、変換部２２，５２は、上述した図２に示すテーブルＴ１の制御部３の組み合わせと同様の処理を行なう。
本実施形態におけるテーブルＴ１′には、制御部３−１に使用のフラグである“１”がセットされている。図３に示すように、使用のフラグがセットされている制御部３−１は、アクセス先のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値が“００”のときに選択される。
【０１０７】
この場合、変換部２２，５２は、アクセス先のアドレスのアドレスビット３７：６の値を、上方、すなわち上位ビット側に２ビットシフトするとともに、アドレスビット７：６の値を、制御部３−１が選択される“００”に固定する。
従って、アドレスビット７：６の値を両方固定する場合においては、アクセス先のアドレスのアドレスビット３７：６の値は、変換部２２，５２により、変換後のアドレスのアドレスビット３９：８の値に変換される。
【０１０８】
これにより、処理部としてのＣＰＵ２及びＩＯコントローラ５からいかなる記憶部４のアドレスへアクセスが行なわれても、制御部３−１に接続された記憶部４−１が常に選択される。
このとき、アクセス先のアドレスのアドレスビット５：０は、制御部３−１に接続される記憶部４−１において連続した領域であるため変換は行なわれず、変換前の値がそのまま出力される。すなわち、変換部２２，５２による変換後のアドレスのアドレスビット５：０は、処理部２，５のアクセス対象を指定するアドレスのアドレスビット５：０の値となる。
【０１０９】
また、アクセス先のアドレスのアドレスビット３９：３８の値は、変換部２２，５２による変換は行なわれず、破棄される。
記憶部４のアドレスを示すアドレスビットは、３９：０の４０ビットであるが、変換部２２，５２によるアドレス変換により、記憶部４のアドレスとして使用されるアドレスビットが、３９：８及び５：０の３８ビットとなる。
【０１１０】
また、変換部２２，５２により、アドレス変換によって固定されるアドレスビット７：６の組み合わせは、“００”の１通りであり、“００”“０１”“１０”“１１”の４通りの全ての組み合わせに比して４分の１となる。
つまり、変換部２２，５２によるアドレス変換により、処理部２，５のアクセス対象として用いられる記憶部４の記憶領域は４分の１となる。
【０１１１】
従って、記憶部４のアドレスを示すアドレスビットの数は、変換部２２，５２によるアドレス変換により、固定するアドレスビットの数と等しい、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するアドレスビットの数だけ減少することになる。この場合、記憶部４のアドレスを示すアドレスビットの数は、２ビット減少することになる。
【０１１２】
そこで、変換部２２，５２により、アドレス変換によって記憶部４内の記憶領域を示すアドレスビットのうちの最上位のビットから、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するアドレスビットの数だけ破棄される。この場合、割り当て用アドレスビットを固定することにより記憶部４の記憶領域は４分の１に減少するため、変換部２２，５２によってアドレスビットが２ビット破棄される。すなわち、変換部２２，５２により、アドレスビット３９：３８の値が破棄される。
【０１１３】
図８は、図６に示す情報を保持部２３，５３が保持する場合の、論理検証装置１において実行されるテストプログラムからみた記憶部４のアドレス空間と、変換部２２，５２によるアドレス変換により変換された記憶部４のアドレス空間との対応を説明するための図である。
図８中、左側は、論理検証装置１において実行される論理検証のテストプログラムからみた記憶部４のアドレス空間を示す。テストプログラムからみた記憶部４のアドレス空間では、記憶部４のアドレスの割り当て用アドレスビット、すなわちアドレスビット７：６の値により、６４Ｂｙｔｅ単位で制御部３に接続される記憶部４が交互に割り当てられている。
【０１１４】
このとき、テストプログラムからは、記憶部４のアドレス空間は連続した領域として認識されている。
一方、図８中、右側は、変換部２２，５２によるアドレス変換により変換された、論理検証装置１で実際に用いられる記憶部４のアドレス空間を示す。図８に示すように、テストプログラムによりいかなる記憶部４のアドレスにアクセスが行なわれても、上述したアドレス変換により、アクセス先のアドレスは、制御部３−１が管理する記憶部４−１の領域に変換される。これにより、テストプログラムによりいかなる記憶部４のアドレスにアクセスが行なわれても、アクセス先のアドレスは、制御部３−２〜３−４が管理する記憶部４−２〜４−４の領域には変換されない。
【０１１５】
上述のように、本実施形態において、変換部２２，５２は、保持部２３，５３が保持する情報と、割り当て用アドレスビットとに基づいて、処理部２，５のアクセス対象を指定するアドレスのビットをシフトさせることにより、処理部２，５のアクセス対象を指定するアドレスを変換する。
このとき、処理部２，５のアクセス対象を指定するアドレスは、変換部２２，５２によって変換されるため、処理部としてのＣＰＵ２の選択部２５は、当該変換されたアドレスに対してアクセスを行なう。一方、処理部としてのＩＯコントローラ５は、保持部５３が保持する情報によって指定される制御部３のうちの一つの制御部を経由して変換されたアドレスに対してアクセスを行なう。
【０１１６】
そして、制御部３は、処理部２，５による記憶部４へのアクセスに対して、変換部２２，５２によって変換されたアドレスのうちの、割り当て用アドレスビットの値に基づいてインターリーブ制御を行なう。
なお、上述のように、本実施形態における処理部２，５のアクセス対象を指定するアドレスのアドレスビット４２：４０は、検証対象が大規模なシステムであった場合における検証対象のシステムの記憶部の拡張のために使用される場合がある。
【０１１７】
ここで、大規模な検証対象のシステムとは、上述の如く、例えば、検証対象のシステムが、８つの検証対象制御部を搭載するとともに、複数の検証対象制御部内において、インターリーブ制御を行なう検証対象制御部の組が２つあるような場合等が挙げられる。
この場合、記憶部の拡張のための使用は、この大規模な検証対象のシステムにおけるインターリーブ制御を行なう２つの組をそれぞれ識別することである。
【０１１８】
このとき、論理検証装置１において、２つのインターリーブ制御を行なう組のうちのいずれか一方の組の制御部３の数が検証対象制御部の数よりも少ない場合には、変換部２２，５２は、当該一方の組の記憶部４のアドレス、すなわち変換対象アドレスについてのみアドレス変換を行なえばよい。
なお、検証対象のシステム内に搭載された複数の検証対象制御部は、上述の如く、各検証対象制御部毎の使用／不使用のフラグに対応付けられて、保持部２３，５３によりテーブルＴ１の如き情報として保持される。また、インターリーブ制御を行なう組は、インターリーブ制御を行なう組毎に識別できるように、保持部２３，５３によりテーブルＴ１の如き情報として保持される。
【０１１９】
従って、変換部２２，５２は、上述したアドレス変換の過程において、処理部２，５のアクセス対象を指定するアドレスが記憶部４のアドレスであると判断した場合に、保持部２３，５３が保持する情報を参照して、当該アドレスが変換対象アドレスであるか否かを判断することができる。そして、変換部２２，５２は、当該アドレスが変換対象アドレスであると判断した場合に、処理部２，５のアクセス対象を指定するアドレスを変換することができる。
【０１２０】
すなわち、変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレスが記憶部４のアドレスであると判断する際に、併せて当該アドレスのアドレスビット４２：４０のうちの、所定の位置のビットの値によって、当該アドレスが属するインターリーブの組を識別する。次いで、変換部２２，５２は、保持部２３，５３が保持する識別したインターリーブの組に関するテーブルＴ１を参照して、当該テーブルＴ１内に、不使用のフラグが付された制御部３が存在するか否かを判断する。
【０１２１】
そして、変換部２２，５２は、当該テーブルＴ１内に不使用のフラグが付された制御部３が存在すると判断した場合には、当該アドレスが属するインターリーブの組は変換対象であると判断し、処理部２，５のアクセス対象を指定するアドレスを変換することができる。
上述のように、変換部２２，５２は、アクセス先の記憶部４のアドレスが属するインターリーブの組において、制御部３の数が検証対象制御部の数よりも少ない場合に、当該アドレスは変換対象であると判断して、アドレス変換を行なう。
【０１２２】
（Ａ−３）第１実施形態の処理部の動作
次に、処理部としてのＣＰＵ２及びＩＯコントローラ５の動作を説明する。
図９は、処理部としてのＣＰＵ２におけるアドレス処理を説明するためのフローチャートである。
はじめに、ＣＰＵ２の演算部２１により、アクセス対象を指定するアドレスが生成される（ステップＳ１）。
【０１２３】
次に、変換部２２によって、演算部２１により生成されたアクセス対象を指定するアドレスが、記憶部４のアドレスであるか否かが判断される（ステップＳ２）。このとき、変換部２２は、アクセス対象を指定するアドレスのアドレスビット４２：４０を参照することで、アクセス対象が記憶部４であるか否かを判断する。
アクセス対象を指定するアドレスが、記憶部４のアドレスではない場合には（ステップ２のＮｏルート）、アドレス変換を行なう必要がないため、選択部２５によって、発行されたアクセスをいずれの経路で出力するかが選択される。すなわち、選択部２５により、アクセス対象に接続された制御部３が選択される（ステップＳ６）。そして、ＣＰＵ２によって、選択された制御部３を経由してアクセスが出力される。
【０１２４】
一方、アクセス対象を指定するアドレスが、記憶部４のアドレスである場合には（ステップ２のＹｅｓルート）、変換部２２によって、保持部２３が保持するアドレス変換を行なうための設定情報、すなわちテーブルＴ１が参照される（ステップＳ３）。
次いで、変換部２２により、テーブルＴ１に基づいて、アクセス対象を指定するアドレスが、アドレス変換を行なう変換対象のアドレスであるか否かが判断される（ステップＳ４）。
【０１２５】
アクセス対象を指定するアドレスが、対象アドレスではない場合には（ステップＳ４のＮｏルート）、ステップＳ６に移行する。
一方、アクセス対象を指定するアドレスが、対象アドレスである場合には（ステップＳ４のＹｅｓルート）、変換部２２によって、アクセス対象を指定するアドレスのアドレス変換が行なわれ（ステップＳ５）、ステップＳ６に移行する。
【０１２６】
図１０は、処理部としてのＩＯコントローラ５におけるアドレス処理を説明するためのフローチャートである。
はじめに、ＩＯコントローラ５においては、ＩＯカード６により、アクセス要求が入力される。すなわち、ＩＯカード６により、アクセス対象を指定するアドレスが生成され、生成されたアドレスがＩＯコントローラ５に対して出力される（ステップＳ１１）。
【０１２７】
次に、ＩＯコントローラ５の調停部５１によって、ＩＯカード６から入力されたアクセス対象を指定するアドレスに基づいて、ＩＯカード６によるアクセスの調停が行なわれる。すなわち、ＩＯカード６−１及び６−２のうちのいずれのＩＯカード６からのアクセスを変換部５２に出力するかが選択される（ステップＳ１２）。
次いで、変換部５２によって、ＩＯカード６により生成されたアクセス対象を指定するアドレスが、記憶部４のアドレスであるか否かが判断される（ステップＳ１３）。このとき、変換部５２は、アクセス対象を指定するアドレスのアドレスビット４２：４０を参照することで、アクセス対象が記憶部４であるか否かを判断する。
【０１２８】
アクセス対象を指定するアドレスが、記憶部４のアドレスではない場合には（ステップ１３のＮｏルート）、アドレス変換を行なう必要がない。従って、ＩＯコントローラ５によって、保持部５３が保持する情報によって指定される制御部３のうちの一つの制御部を経由して、アクセス対象を指定するアドレスに対してアクセスが行なわれる（ステップＳ１７）。
一方、アクセス対象を指定するアドレスが、記憶部４のアドレスである場合には（ステップ１３のＹｅｓルート）、変換部５２によって、保持部５３が保持するアドレス変換を行なうための設定情報、すなわちテーブルＴ１が参照される（ステップＳ１４）。
【０１２９】
次いで、変換部５２により、テーブルＴ１に基づいて、アクセス対象を指定するアドレスが、アドレス変換を行なう変換対象のアドレスであるか否かが判断される（ステップＳ１５）。
アクセス対象を指定するアドレスが、対象アドレスではない場合には（ステップＳ１５のＮｏルート）、ステップＳ１７に移行する。
【０１３０】
一方、アクセス対象を指定するアドレスが、対象アドレスである場合には（ステップＳ１５のＹｅｓルート）、変換部５２によって、アクセス対象を指定するアドレスのアドレス変換が行なわれ（ステップＳ１６）、ステップＳ１７に移行する。
（Ａ−４）第１実施形態のアドレス変換を用いた論理検証手順
図１１は、第１実施形態の一例としての変換部２２，５２によるアドレス変換を用いた論理検証手順を説明するためのフローチャートである。
【０１３１】
以下、図１１を参照しながら、論理検証装置１の検証モデルにおいて、検証対象のシステムの論理検証を、上述した変換部２２，５２によるアドレス変換を用いて行なう場合の論理検証手順を説明する。
はじめに、図１１において、論理検証を行なう使用者等により、検証対象のシステムに搭載される検証対象制御部の数と、当該検証対象制御部のうちの検証モデルで搭載可能な制御部３の数とが参照される。そして、使用者等により、参照した結果から、論理検証において検証パターンの漏れを少なく検証するための制御部３の組み合わせが選定される（ステップＳ２１）。例えば、使用者等により、図１２に示す制御部３の組み合わせが選定される。
【０１３２】
ここで、使用者等とは、論理検証を行なう使用者，若しくはソフトウェア上で論理検証を行なう場合は論理検証を行なうプログラム等が挙げられる。
次に、使用者等により、選定された制御部３の組み合わせの中から、未だ論理検証が行なわれていない組み合わせが選択され、検証モデルが作成される（ステップＳ２２）。
次いで、使用者等により、作成された制御部３の組み合わせに合わせて、論理検証装置１の処理部２，５にそなえられた保持部２３，５３に対して設定が行なわれる（ステップＳ２３）。
【０１３３】
そして、作成された検証モデルによって、論理検証用のテストプログラムやテストベンチが実行され、図９に示すステップＳ１〜Ｓ６及び／又は図１０に示すステップＳ１１〜Ｓ１７を参照しながら上述した手順で、論理検証が実行される（ステップＳ２４）。
検証モデルによる論理検証が終了すると、ステップＳ２１で選定された制御部３の組み合わせにおいて、未だ論理検証が行なわれていない組み合わせがあり、かつ、検証モデルが作成可能であるか否かが、使用者等により判断される（ステップＳ２５）。
【０１３４】
未だ論理検証が行なわれていない組み合わせがあり、かつ、検証モデルが作成可能であると判断された場合には（ステップＳ２５のＮｏルート）、使用者等によって、当該未だ論理検証が行なわれていない組み合わせを用いてステップＳ２２以降の処理が行なわれる。
一方、未だ論理検証が行なわれていない組み合わせがない、又は、検証モデルが作成可能ではないと判断された場合には（ステップＳ２５のＹｅｓルート）、論理検証が終了する。
【０１３５】
上述のように、使用者等は、検証対象のシステムの論理検証を、検証モデルを用いて行なう。
次に、図１２を参照しながら、アドレス変換を用いた論理検証における制御部３の設定の組み合わせの選定について説明する。
図１２は、第１実施形態の一例としてのアドレス変換を用いた論理検証における制御部３の設定の組み合わせを説明するための図である。
【０１３６】
上述したように、論理検証装置１の検証モデルにおいて、検証対象のシステム内でインターリーブ制御を行なう検証対象制御部に対応する一部の制御部３が未搭載の場合には、既述のアドレス変換を行なうことにより、論理検証装置１は論理検証を行なうことができる。すなわち、処理部２，５における処理により、使用者等は、従来、シミュレータの容量の制約により論理検証を行なうことが困難であった検証モデルを作成し論理検証を行なうことができる。
【０１３７】
具体的には、使用者等は、上記ステップＳ２１において、上述したように、記憶部４の割り当て用アドレスビットのうちの固定するアドレスビットの値を変化させたり、固定するアドレスビットの位置を割り当て用アドレスビット内で変化させる。これにより、使用者等は、制御部３の搭載／未搭載の位置を変更した複数の検証モデルを作成する。
例えば、使用者等は、論理検証装置１において、制御部３−１〜３−４を、図１２のテーブルＴ２に示すＮｏ．１〜６−２の組み合わせで搭載する場合、及び１つずつ搭載する場合の各検証モデルを作成する。
【０１３８】
このとき、使用者等は、作成する複数の検証モデルとして、検証対象のシステムの構成上存在する全ての検証対象制御部が１つ以上の組み合わせで搭載されるように、検証モデルを作成する。あるいは、使用者等は、検証対象制御部及び検証対象処理部としてのＣＰＵ，並びに検証対象制御部同士で接続される全ての経路が１つ以上の組み合わせで再現できるように、検証モデルを作成する。
【０１３９】
このように、論理検証装置１により、検証モデル上で、インターリーブ制御を行なう検証対象のシステムの検証対象制御部に対応する全ての制御部を搭載して論理検証を行なった場合に近い論理検証を行なうことができ、論理検証による検証パターンの漏れを少なくすることができる。
上述のように、本実施形態の論理検証装置１により、検証対象処理部と検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証が、検証モデルを用いて行なわれる。
【０１４０】
そして、論理検証装置１には、検証対象処理部に対応する処理部２，５と、複数の検証対象制御部に対応し、処理部２，５による記憶部４へのアクセスを制御する、検証対象制御部の数よりも少ない数の制御部３と、が検証モデルとしてそなえられる。
また、処理部２，５には、検証モデルで用いられる制御部３を、検証対象制御部の数よりも少ない数の制御部３の中から指定する情報を保持する保持部２３，５３がそなえられる。
【０１４１】
さらに、処理部２，５には、保持部２３，５３が保持する情報によって指定される制御部３を用いて処理部２，５が記憶部４へのアクセスを行なうように、処理部２，５のアクセス対象を指定するアドレスを変換する変換部２２，５２がそなえられる。
このように、変換部２２，５２は、保持部２３，５３が保持する情報によって指定される制御部３を用いて処理部２，５が記憶部４へのアクセスを行なうように、検証対象のシステムの記憶部のアドレスを論理検証装置１の記憶部４のアドレスに変換することができる。
【０１４２】
すなわち、変換部２２，５２によって、保持部２３，５３が保持する情報に基づいてアクセス先のアドレスを変換させることにより、特定の制御部３のみが選択される。つまり、選択されない制御部３には当該選択されない制御部３に接続された記憶部４へのアクセスが行なわれないため、検証対象のシステムの論理検証を行なう検証モデルから、当該選択されない制御部３及び記憶部４を除外することができる。
【０１４３】
従って、論理検証装置１が用いる検証モデルの記憶部４及び制御部３の一部を未搭載としても、少ない数の制御部３によって、論理検証装置１の記憶部４へのアクセスの検証を行なうことができる。
これにより、論理検証装置１の検証モデルの論理容量を大幅に削減し、大容量の論理検証装置１が不要となるため、論理検証を行なうためのコストを下げることができる。
【０１４４】
また、変換部２２，５２は、保持部２３，５３が保持する情報によって指定される制御部３を用いて処理部２，５が記憶部４へのアクセスを行なうように、アクセス先のアドレスを変換するため、特定の記憶部４のアドレス境界へのアクセスの集中、あるいは分散をさせることができる。
さらに、変換部２２，５２による処理部２，５のアクセス対象を指定するアドレスの変換は、保持部２３，５３が保持する情報と、処理部２，５のアクセス対象を指定するアドレスのうちの、制御部３を識別するための割り当て用アドレスビットとに基づいて、処理部２，５のアクセス対象を指定するアドレスのビットがシフトされることにより行なわれる。
【０１４５】
具体的には、変換部２２，５２により、処理部２，５のアクセス対象を指定するアドレスに対して、当該アドレスの割り当て用アドレスビットのうちの少なくとも１ビットの値が、保持部４が保持する情報によって指定される制御部３を識別する割り当て用アドレスビットの値に固定される。このとき、変換部２２，５２により、記憶部４内の記憶領域を示すアドレスビットの最上位のビットから、割り当て用アドレスビットを固定することにより減少した記憶部４の記憶領域に対応するビット数だけ破棄される。そして、割り当て用アドレスビットのうちの固定パターンに応じた位置のアドレスビットと、記憶部４内の記憶領域を示すアドレスビットの最上位のビットから当該破棄したビット数だけ下位のビットと、の間の処理部２，５のアクセス対象を指定するアドレスにおけるビットが、変換部２２，５２により、当該破棄したビット数だけシフトされる。
【０１４６】
これにより、変換部２２，５２により、処理部２，５のアクセス対象を指定するアドレスが変換される。
このように、変換部２２，５２によって、処理部２，５のアクセス対象を指定するアドレスの割り当て用アドレスビットのシフトを行なうことによりアドレス変換が行なわれるため、アドレス変換に際して使用される論理検証装置１の処理部２，５の負荷や記憶部４の記憶領域の使用を抑えることができる。
【０１４７】
そして、制御部３により、処理部２，５による記憶部４へのアクセスに対して、変換部２２，５２によって変換されたアドレスのうちの、割り当て用アドレスビットの値に基づいてインターリーブ制御が行なわれる。
従って、記憶部４のインターリーブ制御を行なう検証対象のシステムの論理検証において、検証対象制御部及び検証対象制御部に接続される記憶部と同数だけ要求される、制御部３及び制御部３に接続された記憶部４の一部を未搭載とすることができる。
【０１４８】
また、変換部２２，５２は、処理部２，５のアクセス対象を指定するアドレスが記憶部４のアドレスであるか否かを判断し、記憶部４のアドレスであると判断した場合に、アドレス変換を行なうことができる。
これにより、論理検証装置１は、記憶部４以外のアクセス対象のアドレスについては、変換部２２，５２によるアドレス変換を行なわずに論理検証を行なうことができ、アドレス変換に際して使用される論理検証装置１の処理部２，５の負荷を抑えることができる。
【０１４９】
さらに、変換部２２，５２は、記憶部４のアドレスであると判断された場合に、保持部２３，５３が保持する情報を参照し、処理部２，５のアクセス対象を指定するアドレスが変換対象アドレスであるか否かを判断することができる。そして、変換部２２，５２は、変換対象アドレスであると判断した場合に、アドレス変換を行なうことができる。
このように、論理検証装置１は、例えば複数のインターリーブ制御の組をそなえる検証対象のシステムについて論理検証を行なう場合に、特定のインターリーブの組の記憶部をアドレスの変換対象とすることができる。
【０１５０】
これにより、論理検証装置１は、他のインターリーブの組の記憶部に対しては、アドレス変換を行なわずに論理検証を行なうことができ、アドレス変換に際して使用される論理検証装置１の処理部２，５の使用を抑えることができる。
また、保持部２３，５３が保持する情報には、複数の検証対象記憶部と検証対象制御部の数よりも少ない数の制御部３との対応を示す情報が含まれる。
【０１５１】
さらに、処理部２，５には、保持部２３，５３が保持する情報を設定及び変更する変更部２４，２５がそなえられる。
これにより、設定変更部２４，５４によって変換部２２，５２によるアドレス変換のための設定変更を行なうだけで、論理検証装置１において実行される１つのテストプログラムによって、様々なアドレスへのアクセス集中、あるいは分散の論理検証を行なうことができる。
【０１５２】
従って、多数のテストプログラムを開発した場合と同等の動作を、１つのテストプログラムの実行によって実現することができ、テストプログラムを多数開発する工数を削減することができる。
また、処理部として、ＣＰＵ２やＩＯコントローラ５が挙げられる。
処理部としてのＣＰＵ２には、アクセス対象を指定するアドレスを生成する演算部２１がそなえられる。さらに、ＣＰＵ２には、変換部２２によって変換されたアドレスに基づいて、保持部２３が保持する情報によって指定される制御部３のうちの一つの制御部３を選択し、選択した制御部３を経由して変換部２２によって変換されたアドレスに対してアクセスを行なう選択部２５がそなえられる。
【０１５３】
そして、ＣＰＵ２における変換部２２により、演算部２１により生成された、処理部２のアクセス対象を指定するアドレスが変換され、変換されたアドレスが選択部２５に対して出力される。
このように、上述した変換部２２及び保持部２３は、ＣＰＵ２の演算部２１及び選択部２５と協働させることで、処理部としてのＣＰＵ２にそなえられることができる。
【０１５４】
また、処理部としてのＩＯコントローラ５には、処理部５に接続された少なくとも一つの外部装置から発行される少なくとも一つの外部装置のアクセス対象を指定するアドレスに基づいて、少なくとも一つの外部装置によるアクセスの調停を行なう調停部５１がそなえられる。
そして、ＩＯコントローラ５における変換部５２によって、調停部５１により調停された、外部装置のアクセス対象を指定するアドレスが変換される。
【０１５５】
また、処理部としてのＩＯコントローラ５により、保持部５３が保持する情報によって指定される制御部３のうちの一つの制御部３を経由して変換されたアドレスに対してアクセスが行なわれる。
このように、上述した変換部５２及び保持部５３は、ＩＯコントローラ５の調停部５１と協働させることにより、ＩＯコントローラ５にそなえることができる。
【０１５６】
なお、処理部としてのＩＯコントローラ５は、ＩＯコントローラ５と、他の補助記憶装置又はＬＡＮ等を介して接続された他の装置である少なくとも一つの外部装置とを接続するための制御を行なうＩＯカード６を介して、外部装置に接続される。
（Ｂ）その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１５７】
例えば、上述した検証対象のシステムは、４つの検証対象制御部をそなえ、論理検証装置１は、２つの制御部３をそなえていたが、これに限られず、検証対象のシステムや検証モデルの規模に合わせて、任意に選択することができる。
また、上述した処理部２，５のアクセス対象を指定するアドレスのビット長や、当該アドレスのアドレスビットにおける割り当て位置は、上述したものに限られない。従って、検証対象のシステム及び論理検証装置１の構成に合わせて、任意のビット長のアドレスを用いて、アドレスビットにおける割り当て位置を選択することができる。
【０１５８】
なお、これらの処理部２，５としての機能を実現するためのプログラム（論理検証プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしても良い。
【０１５９】
処理部２，５としての機能を実現する際には、内部記憶装置（本実施形態では論理検証装置１の記憶部４等）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態では論理検証装置１のＣＰＵ２）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしても良い。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、論理検証装置１がコンピュータとしての機能を有しているのである。
【０１６０】
（Ｃ）付記
そして、本発明は、以下に示すように要約することができる。
（付記１）
検証対象処理部と前記検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証を、検証モデルを用いて行なう論理検証装置であって、
前記検証対象処理部に対応する処理部と、
前記複数の検証対象制御部に対応し、前記処理部による記憶部へのアクセスを制御する、前記検証対象制御部の数よりも少ない数の制御部と、を前記検証モデルとしてそなえ、
前記処理部は、
前記検証モデルで用いられる制御部を、前記検証対象制御部の数よりも少ない数の制御部の中から指定する情報を保持する保持部と、
前記保持部が保持する情報によって指定される制御部を用いて前記処理部が記憶部へのアクセスを行なうように、前記処理部のアクセス対象を指定するアドレスを変換する変換部と、をそなえることを特徴とする、論理検証装置。
【０１６１】
（付記２）
前記変換部は、前記保持部が保持する情報と、前記処理部のアクセス対象を指定するアドレスのうちの、前記制御部を識別するための割り当て用アドレスビットとに基づいて、前記処理部のアクセス対象を指定するアドレスのビットをシフトさせることにより、前記処理部のアクセス対象を指定するアドレスを変換し、
前記制御部は、前記処理部による前記記憶部へのアクセスに対して、前記変換部によって変換されたアドレスのうちの、前記割り当て用アドレスビットの値に基づいてインターリーブ制御を行なうことを特徴とする、付記１記載の論理検証装置。
【０１６２】
（付記３）
前記変換部は、前記処理部のアクセス対象を指定するアドレスに対して、当該アドレスの割り当て用アドレスビットのうちの少なくとも１ビットの値を、前記保持部が保持する情報によって指定される制御部を識別する割り当て用アドレスビットの値に固定し、前記記憶部内の記憶領域を示すアドレスビットの最上位のビットから、前記割り当て用アドレスビットを固定することにより減少した前記記憶領域に対応するビット数だけ破棄するとともに、前記割り当て用アドレスビットのうちの固定パターンに応じた位置のアドレスビットと、記憶部内の記憶領域を示すアドレスビットの最上位のビットから当該破棄したビット数だけ下位のビットと、の間の前記処理部のアクセス対象を指定するアドレスにおけるビットを、当該破棄したビット数だけシフトすることで、前記処理部のアクセス対象を指定するアドレスを変換することを特徴とする、付記１又は付記２記載の論理検証装置。
【０１６３】
（付記４）
前記処理部は、
前記処理部のアクセス対象を指定するアドレスを生成する演算部と、
前記変換部によって変換されたアドレスに基づいて、前記保持部が保持する情報によって指定される制御部のうちの一つの制御部を選択し、選択した制御部を経由して前記変換部によって変換されたアドレスに対してアクセスを行なう選択部と、をさらにそなえ、
前記変換部は、前記演算部により生成された、前記処理部のアクセス対象を指定するアドレスを変換し、前記変換されたアドレスを前記選択部に対して出力することを特徴とする、付記１〜３のいずれか１つに記載の論理検証装置。
【０１６４】
（付記５）
前記処理部は、ＣＰＵ（Central Processing Unit）であることを特徴とする、付記４記載の論理検証装置。
（付記６）
前記処理部は、
前記処理部に接続された少なくとも一つの外部装置から発行される前記少なくとも一つの外部装置のアクセス対象を指定するアドレスに基づいて、前記少なくとも一つの外部装置によるアクセスの調停を行なう調停部をさらにそなえ、
前記変換部は、前記調停部により調停された、外部装置のアクセス対象を指定するアドレスを変換するとともに、
前記処理部は、前記保持部が保持する情報によって指定される制御部のうちの一つの制御部を経由して前記変換されたアドレスに対してアクセスを行なうことを特徴とする、付記１〜３のいずれか１つに記載の論理検証装置。
【０１６５】
（付記７）
前記処理部は、ＩＯ（Input Output）コントローラであることを特徴とする、付記６記載の論理検証装置。
（付記８）
前記変換部は、前記処理部のアクセス対象を指定するアドレスが前記記憶部のアドレスであるか否かを判断し、前記記憶部のアドレスであると判断した場合に、前記処理部のアクセス対象を指定するアドレスを変換することを特徴とする、付記１〜７のいずれか１つに記載の論理検証装置。
【０１６６】
（付記９）
前記変換部は、前記処理部のアクセス対象を指定するアドレスが前記記憶部のアドレスであるか否かを判断し、前記記憶部のアドレスであると判断した場合に、前記保持部が保持する情報を参照して、前記処理部のアクセス対象を指定するアドレスが変換対象アドレスであるか否かを判断し、変換対象アドレスであると判断した場合に、前記処理部のアクセス対象を指定するアドレスを変換することを特徴とする、付記１〜７のいずれか１つに記載の論理検証装置。
【０１６７】
（付記１０）
前記保持部が保持する情報には、前記複数の検証対象記憶部と前記検証対象制御部の数よりも少ない数の制御部との対応を示す情報が含まれることを特徴とする、付記１〜９のいずれか１つに記載の論理検証装置。
（付記１１）
前記保持部が保持する情報を設定及び変更する設定変更部をさらにそなえることを特徴とする、付記１〜１０のいずれか１つに記載の論理検証装置。
【０１６８】
（付記１２）
検証対象処理部と前記検証対象処理部による記憶部へのアクセスを制御する複数の検証対象制御部とを有するシステムの論理検証を、検証モデルを用いて行なう論理検証装置として、コンピュータを機能させる論理検証プログラムであって、
前記検証対象処理部に対応する処理部と、
前記複数の検証対象制御部に対応し、前記処理部による記憶部へのアクセスを制御する、前記検証対象制御部の数よりも少ない数の制御部と、を前記検証モデルとしてそなえるように、前記コンピュータを機能させるとともに、
前記コンピュータを前記処理部として機能させる際に、
前記検証モデルで用いられる制御部を、前記検証対象制御部の数よりも少ない数の制御部の中から指定する情報を保持する保持部、および、
前記保持部が保持する情報によって指定される制御部を用いて前記処理部が記憶部へのアクセスを行なうように、前記処理部のアクセス対象を指定するアドレスを変換する変換部、として、
前記コンピュータを機能させることを特徴とする、論理検証プログラム。
【０１６９】
（付記１３）
前記変換部は、前記保持部が保持する情報と、前記処理部のアクセス対象を指定するアドレスのうちの、前記制御部を識別するための割り当て用アドレスビットとに基づいて、前記処理部のアクセス対象を指定するアドレスのビットをシフトさせることにより、前記処理部のアクセス対象を指定するアドレスを変換し、
前記制御部は、前記処理部による前記記憶部へのアクセスに対して、前記変換部によって変換されたアドレスのうちの、前記割り当て用アドレスビットの値に基づいてインターリーブ制御を行なうように、
前記コンピュータを機能させることを特徴とする、付記１２記載の論理検証プログラム。
【０１７０】
（付記１４）
前記変換部は、前記処理部のアクセス対象を指定するアドレスに対して、当該アドレスの割り当て用アドレスビットのうちの少なくとも１ビットの値を、前記保持部が保持する情報によって指定される制御部を識別する割り当て用アドレスビットの値に固定し、前記記憶部内の記憶領域を示すアドレスビットの最上位のビットから、前記割り当て用アドレスビットを固定することにより減少した前記記憶領域に対応するビット数だけ破棄するとともに、前記割り当て用アドレスビットのうちの固定パターンに応じた位置のアドレスビットと、記憶部内の記憶領域を示すアドレスビットの最上位のビットから当該破棄したビット数だけ下位のビットと、の間の前記処理部のアクセス対象を指定するアドレスにおけるビットを、当該破棄したビット数だけシフトすることで、前記処理部のアクセス対象を指定するアドレスを変換するように、
前記コンピュータを機能させることを特徴とする、付記１２又は付記１３記載の論理検証プログラム。
【０１７１】
（付記１５）
前記処理部は、
前記処理部のアクセス対象を指定するアドレスを生成する演算部と、
前記変換部によって変換されたアドレスに基づいて、前記保持部が保持する情報によって指定される制御部のうちの一つの制御部を選択し、選択した制御部を経由して前記変換部によって変換されたアドレスに対してアクセスを行なう選択部と、をさらにそなえ、
前記変換部は、前記演算部により生成された、前記処理部のアクセス対象を指定するアドレスを変換し、前記変換されたアドレスを前記選択部に対して出力するように、
前記コンピュータを機能させることを特徴とする、付記１２〜１４のいずれか１つに記載の論理検証プログラム。
【０１７２】
（付記１６）
前記処理部は、
前記処理部に接続された少なくとも一つの外部装置から発行される前記少なくとも一つの外部装置のアクセス対象を指定するアドレスに基づいて、前記少なくとも一つの外部装置によるアクセスの調停を行なう調停部をさらにそなえ、
前記変換部は、前記調停部により調停された、外部装置のアクセス対象を指定するアドレスを変換するとともに、
前記処理部は、前記保持部が保持する情報によって指定される制御部のうちの一つの制御部を経由して前記変換されたアドレスに対してアクセスを行なうように、
前記コンピュータを機能させることを特徴とする、付記１２〜１４のいずれか１つに記載の論理検証プログラム。
【０１７３】
（付記１７）
前記変換部は、前記処理部のアクセス対象を指定するアドレスが前記記憶部のアドレスであるか否かを判断し、前記記憶部のアドレスであると判断した場合に、前記処理部のアクセス対象を指定するアドレスを変換するように、
前記コンピュータを機能させることを特徴とする、付記１２〜１６のいずれか１つに記載の論理検証プログラム。
【０１７４】
（付記１８）
前記変換部は、前記処理部のアクセス対象を指定するアドレスが前記記憶部のアドレスであるか否かを判断し、前記記憶部のアドレスであると判断した場合に、前記保持部が保持する情報を参照して、前記処理部のアクセス対象を指定するアドレスが変換対象アドレスであるか否かを判断し、変換対象アドレスであると判断した場合に、前記処理部のアクセス対象を指定するアドレスを変換するように、
前記コンピュータを機能させることを特徴とする、付記１２〜１６のいずれか１つに記載の論理検証プログラム。
【０１７５】
（付記１９）
前記保持部が保持する情報には、前記複数の検証対象記憶部と前記検証対象制御部の数よりも少ない数の制御部との対応を示す情報が含まれることを特徴とする、付記１２〜１８のいずれか１つに記載の論理検証プログラム。
（付記２０）
前記保持部が保持する情報を設定及び変更する設定変更部をさらにそなえるように、
前記コンピュータを機能させることを特徴とする、付記１２〜１９のいずれか１つに記載の論理検証プログラム。
【符号の説明】
【０１７６】
１    論理検証装置
１００    シミュレータ上のシステム
２，２−１，２−２    ＣＰＵ（処理部）
２００，２００−１，２００−２    ＣＰＵ
２１，２１−１，２１−２，２１０，２１０−１，２１０−２    演算部
２２，２２−１，２２−２，５２    変換部
２３，２３−１，２３−２，５３    保持部
２４，２４−１，２４−２，５４    設定変更部
２５，２５−１，２５−２，２５０，２５０−１，２５０−２    選択部
３，３−１〜３−４，３００，３００−１〜３００−４    制御部
４，４−１〜４−４，４００，４００−１〜４００−４    記憶部
５    ＩＯコントローラ（処理部）
５００    ＩＯコントローラ
５１，５１０    調停部
６，６−１，６−２，６００，６００−１，６００−２    ＩＯカード
Ｔ１，Ｔ２    テーブル
【図１】
0005516221.tif 000002
【図２】
0005516221.tif 000003
【図３】
0005516221.tif 000004
【図４】
0005516221.tif 000005
【図５】
0005516221.tif 000006
【図６】
0005516221.tif 000007
【図７】
0005516221.tif 000008
【図８】
0005516221.tif 000009
【図９】
0005516221.tif 000010
【図１０】
0005516221.tif 000011
【図１１】
0005516221.tif 000012
【図１２】
0005516221.tif 000013
【図１３】
0005516221.tif 000014
【図１４】
0005516221.tif 000015
【図１５】
0005516221.tif 000016