(57)【特許請求の範囲】
【請求項１】
バス接続される第１の端子群を有する第１集積回路と、バス接続される第２端子群を有する第２集積回路とを備えたメモリ回路であって、
第１、第２端子群間で端子を１対１に接続する複数の線路を備え、
第１端子群で隣接する２端子に接続された２線路はいずれも第２の端子群で隣接しない２端子に接続される
ことを特徴とするメモリ回路。
【請求項２】
前記各端子群は、データバスに接続される端子群と、アドレスバスに接続される端子群との何れかであり、
第１集積回路はメモリアクセスを制御するメモリコントローラであり、第２集積回路はメモリチップであることを特徴とする請求項１記載のメモリ回路。
【請求項３】
データバスに接続される端子群は複数の端子からなるグループに分類され、
前記各線路は、端子群間で対応するグループ内の端子間を接続する
ことを特徴とする請求項２記載のメモリ回路。
【請求項４】
アドレス端子群及びデータ端子群を有する複数の集積回路と、
各アドレス端子群を接続するアドレスバスを構成する複数の線路と、
各データ端子群を接続するデータバスを構成する複数の線路とを備え、
何れかの端子群で隣接する２端子に接続された２線路はいずれも他のどの端子群においても隣接しない２端子に接続される
ことを特徴とするメモリ回路。
【請求項５】
請求項４記載のメモリ回路を対象とし、端子間のショートが生じているか否かをテストする方法であって、
前記アドレスバスの中からテスト対象ビットを１ビット選択するステップと、
テスト対象ビットを０又は１の論理値とし、アドレスバス中の残りのビットすべてを前記論理値の反転とする第１アドレスを生成する生成ステップと、
全ビットが前記論理値をもつアドレスに所定のデータを書き込むステップと、
第１アドレスに前記所定のデータと異なるデータを書き込むステップと、
全ビットが前記論理値をもつアドレスからデータを読み出すステップと、
読み出されたデータと前記所定のデータとを比較するステップと、
比較の結果、両者が一致していない場合にはテスト対象ビットに対応する端子と隣の端子との間でショートが生じていると判定し、一致している場合にはショートが生じていないと判定する判定ステップと
判定ステップの判定後に、アドレスバス中の未判定のビットの中から新たなテスト対象ビットを１ビット選択し、生成ステップから判定ステップまでを再度実行させるステップと
を有することを特徴とするテスト方法。
【請求項６】
請求項３記載のメモリ回路を対象とし、端子間のショートが生じているか否かをテストする方法であって、
前記データバスの中からテスト対象ビットをグループ毎に１ビットずつ選択するステップと、
前記各テスト対象ビットを０、残りのビットを１としたデータを生成するステップと、
第１のアドレスに前記データを書き込むステップと、
第１のアドレスからデータを読み出し、前記データと読み出したデータとを比較するステップと、
比較の結果、両者が一致していないと判定した場合、端子間のショートが生じていると判定するステップと、
判定ステップの判定後に、データバス中の未判定のビットの中から新たなテスト対象ビットを１ビット選択し、生成ステップから判定ステップまでを再度実行させるステップと
を有することを特徴とするテスト方法。
【請求項７】
ＣＰＵからのメモリアクセス要求を受けてメモリチップへのメモリアクセスを制御するメモリ制御チップとメモリチップとを含むプリント基板の配線を行う装置であって、
メモリ制御チップとメモリチップとを含む回路を表す回路図情報を取得する取得手段と、
取得された回路図情報から、メモリ制御チップと読み書き可能なメモリとを特定の部品として抽出する第１抽出手段と、
取得された回路図情報から、第１抽出手段により抽出された部品におけるバス接続される端子群における端子位置及び接続関係を抽出する第２抽出手段と、
第１抽出手段により抽出された１つの部品の端子群で隣接する２端子に接続される２線路の何れも、抽出された他の部品の端子群で隣接しない２端子に接続するように第２抽出手段で抽出された接続関係を変更する変更手段と、
変更された接続関係に基づいてプリント基板の配線を行う配線手段と
を備えることを特徴とするプリント基板配線装置。
【請求項８】
前記変更手段は、
バス接続される端子群間において、１つの部品の端子群で隣接する２端子に接続される２線路が、他の部品の端子群で隣接しない２端子に接続するための端子の入れ換えデータを複数保持するテーブルと、
テーブルを参照して前記１つの部品と前記他の部品との端子群の接続関係を変更する変更部と
からなることを特徴とする請求項７記載のプリント基板配線装置。
【請求項９】
ＣＰＵからのメモリアクセス要求を受けてメモリチップへのメモリアクセスを制御するメモリ制御チップの端子位置を設計する装置であって、
メモリ制御チップとメモリチップとを含む回路を表す回路図情報を取得する取得手段と、
取得された回路図情報から、メモリ制御チップと読み書き可能なメモリとを抽出する第１抽出手段と、
取得された回路図情報から、当該メモリ制御チップのバス接続される端子群の端子位置及び接続関係を抽出する第２抽出手段と、
抽出されたメモリ制御チップの端子群で隣接する２端子に接続される２線路の何れも、抽出されたメモリチップの端子群で隣接しない２端子に接続するようメモリチップの端子位置を変更する変更手段と、
変更された接続関係に基づいてプリント基板の配線を行う配線手段と
を備えることを特徴とするプリント基板配線装置。
【請求項１０】
前記変更手段は、
バス接続される端子群間において、１つの部品の端子群で隣接する２端子に接続される２線路が、他の部品の端子群で隣接しない２端子に接続するための端子の入れ換えデータを複数保持するテーブルと、
テーブルを参照してメモリ制御チップの端子群の端子位置を変更する変更部と
からなることを特徴とする請求項９記載のプリント基板配線装置。
【請求項１１】
ＣＰＵからのメモリアクセス要求を受けてメモリチップへのメモリアクセスを制御する１チップのメモリ制御回路であって、
メモリチップへアドレスを供給する端子群と、
メモリチップとの間でデータを入出力する端子群とを有し、
各端子群において隣接する２端子はいずれも、ＣＰＵにおけるビット番号が少なくとも２異なること特徴とするメモリ制御回路。
【請求項１２】
前記各端子群は、複数の端子からなるグループに分類されていて、
各端子群においてグループ内の隣接する２端子はいずれも、ＣＰＵにおけるビット番号が少なくとも２異なること特徴とするメモリ制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、実装テストに適した配線路を有するメモリ回路、そのテスト方法、その設計方法に関する。
【０００２】
【従来の技術】
近年、電子機器に使用されるプリント基板やマルチチップモジュール（以下、ＭＣＭと記す）において、実装される半導体チップの多ピン化および狭ピンピッチ化により、半導体チップの確実な実装が困難になり、実装後のテストが重要となっている。ここでいうＭＣＭとはキャリア基板と呼ばれる基板上に複数の半導体チップをベアチップ実装し、各半導体チップ間の配線をキャリア基板上で行ない、全体を１つの半導体チップとしてモジュール化したものである。
【０００３】
一方で、電子機器の小型軽量化が進むとともに、電子機器に内蔵されているプリント基板の小型／高密度化が進み、プリント基板やキャリア基板上に空きスペースがなく、テスト用の端子を設けるといった従来のテスト手法が使えなくなっている。
また、プリント基板やＭＣＭの接続をテストする従来の手法としてバウンダリスキャン（以下、ＢＳと記す）が規格化されている（ＩＥＥＥ  Ｓｔｄ  １１４９．１−１９９０）。
【０００４】
図１２（ａ）は、ＢＳを適用した回路例を示す。ＩＣ１、ＩＣ２は、それぞれ８端子を有する。各ＩＣ内部の９１ａ〜ｃは、それぞれＢＳレジスタ（以下、ＢＳＲと記す）である。ＢＳＲ９１ａ〜ｃは、対応する各端子に対してデータを入出力する機能に加えて、同図のようにＢＳパス９２によりシリアルに接続されて１つシフトレジスタを構成し、シリアルデータを入出力する機能を有する。
【０００５】
この構成では、シリアル入力によりＢＳＲに設定した値を端子に出力し、あるいは端子から入力されたＢＳＲの値をシリアル出力し、さらに入力値の出力値とを比較するといった方法により接続テストがなされる。
例えば図１２（ａ）に示すように、ＢＳパス９２からのシリアル入力によりＩＣ１のＢＳＲ９１ｂにテスト値（１１１１）を設定し、ＩＣ２に対して端子から出力させる。同時にＩＣ１の端子出力を信号線を介してＩＣ２の端子からＢＳＲ９１ｃに入力し、さらにＢＳＲ９１ｃをＢＳパス９２を用いてシリアル出力する。この後、シリアル出力された値と元のテスト値とを比較することにより、ＩＣ１−ＩＣ２間の接続の良否を判定する。上記テスト値と読み出した出力値が同じであれば接続は正しいと考えられる。
【０００６】
このＢＳを用いればテスト用の端子を多数設ける必要がなく、半導体チップ間の接続を確認できる。
【０００７】
【発明が解決しようとする課題】
しかし、ＢＳを用いた場合、半導体チップ間の接続に故障が発生していることは検出できるが、故障の発生がどの半導体チップの端子であるのかについては特定できないという問題があった。
例えば、図１２（ｂ）に示すＩＣ１−ＩＣ２間を接続する信号ＳＩＧ１−ＳＩＧ２間でショート故障が発生している場合、ＩＣ２側でサンプルされる値は００１０あるいは１１１０となり、ＳＩＧ１−ＳＩＧ２間でショート故障が発生していることは検出可能だが、ＩＣ１、２のどちら側の端子でショート故障が発生しているかを特定することはできない。
【０００８】
従って、ＢＳを用いたとしても接続に故障が発生した場合に、接続故障箇所の特定はできず、人手やその他のテスト装置を用いてさらに詳細にテストを行なう、あるいは接続故障の可能性がある半導体チップをすべて実装し直すといったことが必要となる。この場合、テスト効率が悪くなるだけでなく、正しく実装されている半導体チップをも実装し直しされることになり、再実装や半導体チップのためのコストが増大する。
【０００９】
上記課題に鑑み本発明は、テストを容易にする配線を備えたメモリ回路、そのテスト方法及びその配線装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するため本発明のメモリ回路は、バス接続される第１の端子群を有する第１集積回路と、バス接続される第２端子群を有する第２集積回路とを備えたメモリ回路であって、第１、第２端子群間で端子を１対１に接続する複数の線路を備え、第１端子群で隣接する２端子に接続された２線路はいずれも第２の端子群で隣接しない２端子に接続される構成となっている。
【００１１】
また、前記各端子群は、データバスに接続される端子群と、アドレスバスに接続される端子群との何れかであり、第１集積回路はメモリアクセスを制御するメモリコントローラであり、第２集積回路はメモリチップであってもよい。
さらに、データバスに接続される端子群は複数の端子からなるグループに分類され、前記各線路は、端子群間で対応するグループ内の端子間を接続するようにしてもよい。
【００１２】
本発明のメモリテスト方法は、アドレスバスの端子間のショートが生じているか否かをテストする方法であって、前記アドレスバスの中からテスト対象ビットを１ビット選択するステップと、テスト対象ビットを０又は１の論理値とし、アドレスバス中の残りのビットすべてを前記論理値の反転とする第１アドレスを生成する生成ステップと、全ビットが前記論理値をもつアドレスに所定のデータを書き込むステップと、第１アドレスに前記所定のデータと異なるデータを書き込むステップと、全ビットが前記論理値をもつアドレスからデータを読み出すステップと、読み出されたデータと前記所定のデータとを比較するステップと、比較の結果、両者が一致していない場合にはテスト対象ビットに対応する端子と隣の端子との間でショートが生じていると判定し、一致している場合にはショートが生じていないと判定する判定ステップと、判定ステップの判定後に、アドレスバス中の未判定のビットの中から新たなテスト対象ビットを１ビット選択し、生成ステップから判定ステップまでを再度実行させるステップとを有している。
【００１３】
また、本発明のメモリテスト方法は、データバスの端子間のショートが生じているか否かをテストする方法であって、前記データバスの中からテスト対象ビットをグループ毎に１ビットずつ選択するステップと、前記各テスト対象ビットを０、残りのビットを１としたデータを生成するステップと、第１のアドレスに前記データを書き込むステップと、第１のアドレスからデータを読み出し、前記データと読み出したデータとを比較するステップと、比較の結果、両者が一致していないと判定した場合、端子間のショートが生じていると判定するステップと、判定ステップの判定後に、データバス中の未判定のビットの中から新たなテスト対象ビットを１ビット選択し、生成ステップから判定ステップまでを再度実行させるステップとを有している。
【００１４】
本発明のプリント基板配線装置は、ＣＰＵからのメモリアクセス要求を受けてメモリチップへのメモリアクセスを制御するメモリ制御チップとメモリチップとの含むプリント基板の配線を行う装置であって、メモリ制御チップとメモリチップとを含む回路を表す回路図情報を取得する取得手段と、取得された回路図情報から、メモリ制御チップと読み書き可能なメモリとを特定の部品として抽出する第１抽出手段と、取得された回路図情報から、第１抽出手段により抽出された部品におけるバス接続される端子群における端子位置及び接続関係を抽出する第２抽出手段と、第１抽出手段により抽出された１つの部品の端子群で隣接する２端子に接続される２線路の何れも、抽出された他の部品の端子群で隣接しない２端子に接続するように第２抽出手段で抽出された接続関係を変更する変更手段と、変更された接続関係に基づいてプリント基板の配線を行う配線手段とを備える。
【００１５】
また、前記変更手段は、バス接続される端子群間において、１つの部品の端子群で隣接する２端子に接続される２線路が、他の部品の端子群で隣接しない２端子に接続するための端子の入れ換えデータを複数保持するテーブルと、テーブルを参照して前記１つの部品と前記他の部品との端子群の接続関係を変更する変更部とからなる構成としてもよい。
【００１６】
【発明の実施の形態】
以下、本発明のテスト装置の一実施例を図面を用いて説明する。
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるメモリ回路を表している。このメモリ回路は、メモリコントローラ（以下、ＭＥＭＣと略す）１１、メモリ１２、メモリ１３を部品として備え、複数の線路により部品端子間が接続されている。同図は、各線路の接続関係を明らかにするために回路図のように描かれているが、実際には、各線路を印刷配線したプリント基板上に部品が実装された形態をとる。各部品は面実装用のＦＰ（フラットパッケージ）状の１チップＬＳＩであることが望ましい。また、各部品ともに端子の物理的な配置順は、同図の順であるものとする。ただし、ＭＥＭＣ１１、メモリ１２、１３ともに電源端子・グランド端子については図示していない。
【００１７】
ＭＥＭＣ１１は、図示していないＣＰＵからのメモリアクセス要求に従ってメモリ１２、１３へのメモリアクセスを制御する１チップのメモリコントローラであり市販されている汎用品でよい。このＭＥＭＣ１１は、メモリ１２、１３に対してデータを入出力するデータ端子群ＤＤ［１５：０］と、メモリ１２、１３に対してアドレスを出力するアドレス端子群ＤＡ［７：０］と、複数の制御用端子（ＷＥ，ＯＥ，ＲＡＳ１，ＲＡＳ２，ＵＣＡＳ，ＬＣＡＳ）を有する。［  ］の表記は、例えば［１５：０］であればビット１５からビット０までの１６ビットを表す。同図のＭＥＭＣ１１ではＣＰＵからのメモリアクセス要求を入出力するＣＰＵＩＦ部など、メモリＩＦ部以外の端子については本発明と直接関係ないので図示していない。
【００１８】
メモリ１２、１３は、それぞれ汎用品のＤＲＡＭであり、アドレス入力端子群Ａ［７：０］、とデータ入出力端子群Ｄ［１５：０］と、複数の制御用端子（ＷＥ，ＯＥ，ＲＡＳ１，ＲＡＳ２，ＵＣＡＳ，ＬＣＡＳ）を有する。
各線路は、アドレス端子群間で各端子を１対１に接続し、データ端子群間でも同様に１対１に接続する。接続の仕方については特徴がある。すなわち何れかの端子群で隣接する２端子に接続された２線路は、いずれも他のどの端子群においても隣接しない２端子に接続されている。
【００１９】
表１は、図１におけるアドレス端子群間、及びデータ端子群間の各線路の接続表を示す。
【００２０】
【表１】
0003553736.tif 000002
表１では、各線路を流れる信号又は信号名、接続先のＭＥＭＣ１１、メモリ１２、１３の各端子名を対応させて標記されている。信号名ＤＡ［７：０］は、ＭＥＭＣ１１からメモリ１２、１３へ時分割で出力される行アドレス及び列アドレスを表す。信号名ＤＤ［１５：０］は、１６ビットデータを表す。この表で注意すべき点は、１つの部品において隣接する２端子（例えばＭＥＭＣ１１のＤＡ０、ＤＡ１）に接続される２線路は、他の部品において隣接しない２端子（同じ例ではメモリ１２のＡ５、Ａ０、メモリ１３のＡ６、Ａ３）に接続されている。どの部品においても隣接する２端子に接続された２線路は、同じ特徴を有する。
【００２１】
以上のように構成された本実施の形態におけるメモリ回路について、以下そのテスト動作について説明する。ただし、以下の説明中、メモリリード及びメモリライトは、テスト用プログラムに従ってＣＰＵ（図外）から出力されたメモリアクセス要求を、ＭＥＭＣ１１が実行することによりなされる。
図１に示したメモリ１２の端子Ｄ３、Ｄ４は、半田付け不良により端子間ショートが生じていると仮定する。つまり、信号ＤＤ７とＤＤ９の２線路に対して異なる論理値が同時にドライブされた場合、ＤＤ７およびＤＤ９に現れる論理値は共に０又は１に誤った論理値となる。誤った結果が０になるか１になるかは、回路素子のドライブ能力など電気的特性により決まる。以下では誤った結果が０になる場合をＡＮＤ型、１になる場合をＯＲ型のショートと呼ぶ。ここでは、メモリ回路がＡＮＤ型ショートの特性をもつものとする。
【００２２】
この場合、メモリ１２、１３のあるアドレスにデータ”０ｘＦＦ７Ｆ”（０ｘは１６進数を表す。ＤＤ７ビットのみが０）が書き込まれた後に、同じアドレスからデータが読み出された場合、ＤＤ７とＤＤ９がショートしているため、読み出されるデータは”０ｘＦＤ７Ｆ（ＤＤ７ビットとＤＤ９ビットとが０）となる。
読み出したデータが０ｘＦＤ７Ｆであることから（正常であればＤＤ９の値は１となるから）、ＤＤ７とＤＤ９がショートしていることが明らかとなる。このとき、表１から、信号線ＤＤ７とＤＤ９とを接続している２端子は、ＭＥＭＣ１１でＤＤ７とＤＤ９、メモリ１２でＤ３とＤ４、メモリ１３でＤ７とＤ１３である。隣合う端子に接続されている（ショートが発生する可能性がある）部品はメモリ１２のみであり、ショートはメモリ１２の端子間で発生していることが容易に判断できる。
【００２３】
この例では０と１とのショートにより０に誤ると考えて記述しているが、逆に１に誤る場合には、上記のデータを反転させれば（”０ｘ００８０”とすれば）、同様の方法によりショートが発生しているチップを特定できる。
なお、本発明の適用は上記表１の接続に限らない。つまり、１つの部品において隣接する２端子に接続される２線路は、いずれも他の部品において隣接しない２端子に接続されていればよい。
（第２の実施の形態）
図２は、本発明の第２の実施の形態におけるメモリ回路を表している。このメモリ回路は、ＭＥＭＣ２１、メモリ２２、メモリ２３を部品として備え、複数の線路により部品端子間が接続されている。各部品は、図１の同名と部品と同じものである。ただし、同図では各部品のデータ端子群、及びデータバスを構成する線路のみを記している。
【００２４】
表２は、図１におけるデータ端子群間の各線路の接続表を示す。
【００２５】
【表２】
0003553736.tif 000003
表２では、表１と同様に、１つの部品において隣接する２端子（例えばＭＥＭＣ１１のＤＤ０、ＤＤ１）に接続される２線路は、他の部品において隣接しない２端子（同じ例ではメモリ１２のＤ５、Ｄ０と、メモリ１３のＤ６、Ｄ３）に接続されている。さらに、表２では、データ端子群は複数端子からなるグループに分類されており、各線路が端子群間で対応するグループ内で端子間を接続している。ここでは、ＭＥＭＣ２１のデータ端子群ＤＤ［１５：０］は、ＤＤ［１５：８］のグループとＤＤ［７：０］のグループとに、メモリ２２、３３のデータ端子群ＤＤ［１５：０］はそれぞれＤ［１５：８］のグループとＤ［７：０］のグループとに分類されている。
【００２６】
以上のように構成された本実施の形態におけるメモリ回路について、以下そのテスト時の動作について説明する。
端子間ショートついては、本実施の形態のメモリ回路においても、第１の実施の形態で説明したテスト時の動作と全く同様にしてどのチップの端子間ショートであるかが検出されるので説明を省略し異なる点のみ説明する。
【００２７】
異なる点は、本メモリ回路では対応するグループ間で端子が接続されているので、グループ毎にテストできる点である。各グループを８ビット毎に分類しているのは、一般的なＣＰＵ（例えばＩｎｔｅｌの８０４８６やＰｅｎｔｉｕｍ等）ではＣＰＵからメモリへのアクセスの最小ビット数が８ビットだからである。
なお、各グループのビット数を８ビットに限るものではない（例えば４ビット毎でもよい）が、８ビット毎にグループ化するのが望ましい。
（第３の実施の形態）
図３、図４は、本発明の第３の実施の形態におけるメモリ接続テスト方法を示すフローチャートである。このメモリ接続テスト方法は、図１のような第１の実施の形態に係るメモリ回路をテスト対象とする。図３、４のフローは、図１のＭＥＭＣ１１に接続されるＣＰＵ（図外）が本テスト方法を記述したテスト用プログラムを実行する、あるいはＭＥＭＣ１１にテスト用プログラムを組み込むことにより実現される。このテスト用プログラムは、テスト用データテーブルとテスト結果テーブルとを含み、図１のメモリ１２、１３とは異なるアドレス領域にマッピングされたＲＯＭ又はＲＡＭ、あるいはＭＥＭＣ１１の内部レジスタ（ともに図外）に格納される。
【００２８】
図３のフローは、アドレスバスの接続をテストする手順を示す。フローの前半部分（ステップ３００〜３０６）は、ＡＮＤ型ショートを検出する手順であり、後半部分（ステップ３０７〜３１３）は、ＯＲ型ショートを検出する手順である。この手順で用いられるテスト用データテーブルを表３に示す。
【００２９】
【表３】
0003553736.tif 000004
表３のテスト用データテーブルは、データ１〜４、アドレスバスＤＡ［１５：０］の各ビット（以下、テスト対象ビットと呼ぶ。）毎に目標アドレス０（表中ＴＡ０と表記）及び目標アドレス１（同ＴＡ１）を格納している。表３ではデータ１〜４を１６進数で、ＴＡ０、１を２進数で記してある。データ１、２及びＴＡ０は、図３の前半部分で、データ３、４及びＴＡ１は、図３の後半部分で使用される。ＴＡ０はいずれも、テスト対象ビットが０に転んだ場合に０番地になる値である。ＴＡ１はいずれも、テスト対象ビットが１に転んだ場合に最終番地（全ビットが論理１）になる値である。データ１と２は、互いに異なる値であればどんな値でもよいが、本実施の形態で用いているように全ビット０、全ビット１とするのが望ましい。データ３と４についても同様である。
【００３０】
図３において上記のＣＰＵは、テスト対象ビットを選択してそのＴＡ０をテスト用データテーブルに基づいて生成し（ステップ３００、３０１）、０番地にデータ１（０ｘ００００）を書き込み（ステップ３０２）、さらにＴＡ０番地にデータ２（０ｘＦＦＦＦ）を書き込む（ステップ３０３）。このときもし、テスト対象ビットがショートしていれば、ＴＡ０番地への書き込みがなされずに０番地にデータ２が上書きされることになる（ＡＮＤ型のショート特性の場合）。
【００３１】
続いて、ＣＰＵは、０番地のデータを読み出してテスト用データテーブル中のデータ１と比較し（ステップ３０４）、一致していれば１を不一致であれば０をを結果テーブルに格納する。このときショートしていない場合には０番地からは０ｘ００００が、ショートしている場合には０番地から０ｘＦＦＦＦが読み出されることになる。したがって、上記比較の結果が一致している場合には正常、不一致の場合には異常（テスト対象ビットがショート）を表すことになる。
【００３２】
同様に、ＣＰＵは、残りのテスト対象ビットについて上記ステップ３００から３０５を繰り返す（ステップ３０６）。上記によりメモリ回路がＡＮＤ型のショート特性の場合のアドレスバスのショートを検出することができる。
さらに、ＣＰＵは、データ３、４及びＴＡ１を使用して上記と同様にしてテストを行う（ステップ３０７〜３１２）。この場合、ショートによりＴＡ１への書き込みが最終番地に上書きされることになる（ＯＲ型のショート特性の場合）点を利用している。
【００３３】
図４のフローは、データバスの接続をテストする手順を示す。この手順で用いられるテスト用データテーブルを表４に示す。
【００３４】
【表４】
0003553736.tif 000005
この表のデータテーブルは、任意のアドレスＡと、テスト対象ビット毎のデータＤとからなる。アドレスＡは、どんな値でも構わないが、本実施の形態で用いているように全ビット０のアドレス（０ｘ００）を用いるのが望ましい。
図４において上記のＣＰＵは、テスト対象ビットを選択してそのデータＤをテスト用データテーブルに基づいて生成し（ステップ３２１、３２２）、アドレスＡ（０ｘ００）番地にデータＤを書き込み（ステップ３２３）、さらにアドレスＡ番地からデータを読み出す（ステップ３２４）。このときもし、テスト対象ビットがショートしていれば、アドレスＡ番地への書き込み時に、テスト対象ビットが１に転び（ＯＲ型のショート特性の場合）、又はテスト対象ビットの端子に隣接するビットが０に転ぶ（ＡＮＤ型ショートの場合）ことになる。
【００３５】
続いて、ＣＰＵは、アドレスＡ番地から読み出したデータと、テスト用データテーブル中のデータＤとを比較し（ステップ３２５）、一致していれば１を不一致であれば０をを結果テーブルに格納する。
同様に、ＣＰＵは、残りのテスト対象ビットについて上記ステップ３２１から３２５を繰り返す（ステップ３０６による）。上記によりメモリ回路がＡＮＤ型の場合もＯＲ型の場合もデータバスのショートを検出することができる。
【００３６】
以上のように構成された第３の実施の形態におけるメモリ接続テスト方法について、（１）接続が正常な場合のアドレスバスのテスト、（２）ＡＮＤ型ショートがある場合のアドレスバスのテスト、（３）ＯＲ型ショートがある場合のアドレスバスのテスト、（４）接続が正常な場合のデータバスのテスト、（５）ショートがある場合のデータバスのテストに分けてその動作を説明する。
【００３７】
＜（１）接続が正常な場合のアドレスバスのテスト＞
図１のメモリ回路に対して図３のフローに従ってアドレスバスの接続をテストする動作を説明する。端子間ショートは生じていないものとする。
まず、テスト対象ビットをＤＡ０として、０番地にデータ１（０ｘ００００）が、ＴＡ０（０ｘ０１番地）にデータ２（０ｘＦＦＦＦ）が書き込まれる（ステップ３００〜３０３）。次に、０番地から読み出されたデータとデータ１とが一致するか否かが比較される（ステップ３０４、３０５）。テスト対象ビットＤＡ０がショートしていない場合には０番地に上書きされないので、比較結果は一致する。この場合、テスト対象ビットＤＡ０のテスト結果として一致したことを示す１がテスト結果テーブルに格納される。さらに、テスト対象ビットＤＡ１〜ＤＡ１５のそれぞれについても、同様に動作する。これにより、全テスト対象ビットのＡＮＤ型ショートがテストされる。
【００３８】
続いて、テスト対象ビットをＤＡ０として、最終番地（０ｘＦＦ番地）にデータ３（０ｘ００００）が、ＴＡ１（０ｘＦＥ番地）にデータ４（０ｘＦＦＦＦ）が書き込まれる（ステップ３０７〜３１０）。次に、最終番地から読み出されたデータとデータ３ととが一致するか否かが比較され、当該テスト対象ビットの比較結果としてテスト結果テーブルに格納される（ステップ３１１、３１２）。テスト対象ビットＤＡ０がショートしていない場合には最終番地に上書きされないので、比較結果は一致する。さらに、テスト対象ビットＤＡ１〜ＤＡ１５のそれぞれについても、同様に動作する。これにより、全テスト対象ビットのＯＲ型ショートがテストされる。この場合のテスト結果テーブルを表５に示す。
【００３９】
【表５】
0003553736.tif 000006
この表では、テスト対象ビット毎にＡＮＤ型（ＴＡ０）のテスト結果と、ＯＲ型（ＴＡ１）のテスト結果とを格納している。正常な場合には表５のように比較結果が全て１となる。
＜（２）ＡＮＤ型のショートがある場合のアドレスバスのテスト＞
今、図１のメモリ回路においてＤＡ０とＤＡ２でショートが発生していて、メモリ回路がＡＮＤ型のショート特性をもつものとする。この場合テスト対象ビットＤＡ０、ＤＡ２以外は、上記と全く同様に正常と判定され、ＤＡ０とＤＡ２は以下のようにテストされる。
【００４０】
図３の前半部分の動作では、テスト対象ビットがＤＡ０の場合に、０番地にデータ１（０ｘ００００）が、ＴＡ０（０ｘ０１番地）にデータ２（０ｘＦＦＦＦ）が書き込まれる（ステップ３００〜３０３）。このときＴＡ０への書き込みは、ＤＡ０とＤＡ２のＡＮＤ型ショートによりＴＡ０（０ｘ０１番地）が（０ｘ００番地）に転んでしまう結果、０番地にデータ２（０ｘＦＦＦＦ）が上書きされてしまう。次に、０番地から読み出されたデータ（この場合０ｘＦＦＦＦ）とデータ１（０ｘ００００）とが一致するか否かが比較される（ステップ３０４、３０５）。この場合、一致しないので、テスト対象ビットＤＡ０のテスト結果として不一致を示す０がテスト結果テーブルに格納される。テスト対象ビットＤＡ２についても、同様の動作により０がテスト結果テーブルに格納される。このようにして前半部分ではＤＡ０とＤＡ２は異常と判定される。
【００４１】
後半部分の動作ではテスト対象ビットがＤＡ０の場合、最終番地（０ｘＦＦ番地）にデータ３（０ｘ００００）が、ＴＡ１（０ｘＦＥ番地）にデータ４（０ｘＦＦＦＦ）が書き込まれる（ステップ３０７〜３１０）。このとき、ＴＡ１への書き込みでは、ＤＡ０とＤＡ２のＡＮＤ型ショートにより実際に書き込まれるアドレスが０ｘＦＡ番地に転んでしまい、０ｘＦＡ番地に０ｘＦＦＦＦを誤って書き込むことになる。しかし、最終番地（０ｘＦＦ番地）に上書きされるわけではないので、最終番地から読み出したデータは０ｘ００００となる（ステップ３１１）。この場合、データ３（０ｘ００００）と読み出したデータ（０ｘ００００）の比較結果は１となる（ステップ３１２）。テスト対象ビットにＤＡ２が選択された場合も同様の結果を得ることになる。このように後半部分ではＤＡ０とＤＡ２のＡＮＤ型ショートは検出されない。
【００４２】
表６に、上記動作終了後のテスト結果テーブルを示す。
【００４３】
【表６】
0003553736.tif 000007
この表からわかるように、テスト対象ビットＤＡ０とＤＡ２のＴＡ０欄のテスト結果が０である。ＡＮＤ型のショートが信号線ＤＡ０とＤＡ２で発生していることを表している。さらに上掲した表１からＤＡ０とＤＡ２が隣り合っているのはメモリ１２の端子であることから、メモリ１２のＡ４端子とＡ５端子とがショートしていることがわかる。
【００４４】
＜（３）ＯＲ型のショートがある場合のアドレスバスのデスト＞
今、図１のメモリ回路においてＤＡ０とＤＡ２でショートが発生していて、メモリ回路がＯＲ型のショート特性をもつものとする。この場合テスト対象ビットＤＡ０、ＤＡ２以外は、上記（１）と全く同様に正常と判定され、ＤＡ０とＤＡ２は以下のようにテストされる。
【００４５】
図３の前半部分の動作ではテスト対象ビットがＤＡ０の場合に、０番地にデータ１（０ｘ００００）が、ＴＡ０（０ｘ０１番地）にデータ２（０ｘＦＦＦＦ）が書き込まれる（ステップ３００〜３０３）。このときＴＡ０への書き込みは、ＤＡ０とＤＡ２がＯＲ型ショートしているため、実際に書き込まれるアドレスが０ｘ０５番地に誤ってしまい、０ｘ０５番地に０ｘＦＦＦＦを書き込んでしまう。しかし、０番地に上書きされるわけではないので、０番地から読み出されたデータは０ｘ００００となる（ステップ３０４）。よって、読み出されたデータ（０ｘ００００）とデータ１（０ｘ００００）との比較結果が一致し、当該テスト対象ビットのテスト結果として１がテスト結果テーブルに格納される（ステップ３０５）。テスト対象ビットＤＡ２についても同様である。このように前半部分では、ＯＲ型ショートは検出されない。
【００４６】
図３の後半部分の動作ではテスト対象ビットがＤＡ０の場合に、最終番地（０ｘＦＦ番地）にデータ３（０ｘ００００）が、ＴＡ１（０ｘＦＥ番地）にデータ４（０ｘＦＦＦＦ）が書き込まれる（ステップ３０７〜３１０）。このときＴＡ１への書き込みは、ＤＡ０とＤＡ２がＯＲ型ショートしているため、実際に書き込まれるアドレスが最終番地（０ｘＦＦ番地）と誤ってしまい、その結果最終番地（０ｘＦＦ番地）に０ｘＦＦＦＦを上書きしてしまう。最終番地（０ｘＦＦ番地）から読み出したデータ（ステップ３１１）は０ｘＦＦＦＦとなり、データ３（０ｘ００００）と読み出されデータ（０ｘＦＦＦＦ）の比較結果は０となる（ステップ３１２）。テスト対象ビットＤＡ０のテスト結果として０がテスト結果テーブルに格納される。テスト対象ビットがＤＡ２の場合も同様である。表７に、（３）の動作終了後のテスト結果テーブルを示す。
【００４７】
【表７】
0003553736.tif 000008
この表からわかるように、テスト対象ビットＤＡ０とＤＡ２のＴＡ１欄のテスト結果が０である。ＯＲ型のショートが信号線ＤＡ０とＤＡ２で発生していることを表している。さらに上掲した表１からＤＡ０とＤＡ２が隣り合っているのはメモリ１２の端子であることから、メモリ１２のＡ４端子とＡ５端子とがショートしていることがわかる。
【００４８】
上記（２）（３）のように、ＡＮＤ型、ＯＲ型どちらのショートであっても、ショート箇所のテスト対象ビットは、そのテスト結果のＴＡ０、ＴＡ１のどちらかが０（不一致）となり、ショートの発生が検出される。表１からＤＡ０とＤＡ２が隣合った端子に接続されている半導体チップはメモリ１２であり、メモリ１２でショートが発生していることが容易にわかる。
【００４９】
次に、表４に示したアドレスＡおよびデータＤを使用して本実施の形態のテスト方法により図１のデータバスをテストした場合のテスト結果を表８、表９に示す。表８はデータバスの接続が正しい場合、表９は信号線ＤＤ７とＤＤ９がショートしている場合の結果を表す。
以下、図３（ｂ）の処理の流れに沿って説明する。
【００５０】
＜（４）接続が正常な場合のデータバスのテスト＞
図１の回路に対して図４のフローに従ってデータバスの接続をテストする動作を説明する。端子間ショートは生じていないものとする。
まず、テスト対象ビットがＤＤ０の場合、アドレスＡ（０ｘ００番地）にデータＤ（０ｘＦＦＦＥ）が書き込まれ、続いてアドレスＡ（０ｘ００番地）から０ｘＦＦＦＥが読み出される（ステップ３２１〜３２４）。データＤ（０ｘＦＦＦＥ）と読み出されたデータ（０ｘＦＦＦＥ）の比較結果は１（一致）となり、当該テスト対象ビットのテスト結果として結果テーブルに格納される（ステップ３２５）。以下、同様にテスト対象ビットＤＡ１からＤＡ１５についても繰り返される。この動作終了後のテスト結果テーブルを表８に示す。
【００５１】
【表８】
0003553736.tif 000009
この表のように、すべてのテスト対象ビットについての比較結果は１である。
＜（５）ショートがある場合のデータバスのテスト＞
今、図１のメモリ回路においてＤＤ７とＤＤ９でショートが発生しているものとする。この場合、ＤＤ７とＤＤ９のテスト対象ビットについては上記（４）の動作により正常と判定され、ＤＤ７とＤＤ９については以下のようにテストされる。
【００５２】
図４において、テスト対象ビットにＤＤ７の場合、アドレスＡ（０ｘ００番地）にデータＤ（０ｘＦＦ７Ｆ）が書き込まれ、続いてアドレスＡが読み出される（ステップ３２１〜３２４）。このときアドレスＡへのデータＤ（０ｘＦＦ７Ｆ）の書き込みは、ＤＤ７とＤＤ９がショートしているため、実際に書き込まれるデータが０ｘＦＤ７Ｆあるいは０ｘＦＦＦＦに誤ってしまい、アドレスＡ（０ｘ００番地）に０ｘＦＤ７Ｆあるいは０ｘＦＦＦＦが書き込まれてしまう。アドレスＡ（０ｘ００番地）から読み出されたデータ０ｘＦＤ７Ｆあるいは０ｘＦＦＦＦと、データＤ（０ｘＦＦ７Ｆ）との比較結果は０（不一致）となる（ステップ３２５）。テスト対象ビットＤＤ７のテスト結果として０がテスト結果テーブルに格納される。同様にテスト対象ビットにＤＤ９が選択された場合も比較結果は０となる。テスト動作終了後のテスト結果テーブルを表９に示す。
【００５３】
【表９】
0003553736.tif 000010
この表では、テスト対象ビットをＤＤ７、ＤＤ９に異常があることを示している。さらに、上掲した表１からＤＤ７とＤＤ９が隣合った端子に接続されている半導体チップはメモリ１２であり、メモリ１２の端子Ｄ３とＤ４の間でショートが発生していることが容易にわかる。
（第４の実施の形態）
本実施の形態に係るこのメモリ接続テスト方法は、第２の実施の形態に係る図２のようなメモリ回路をテスト対象とする。つまり、テスト対象は、各部品のデータバスがグループに分類されていて、グループ内の２端子に接続される２線路は、いずれも他の部品のグループ内において隣接しない２端子に接続されているメモリ回路である。
【００５４】
図５は、本実施の形態におけるメモリ接続テスト方法を示すフローチャートである。このメモリ接続テスト方法は、図２のＭＥＭＣ１１に接続されるＣＰＵ（図外）が本テスト方法を記述したテスト用プログラムを実行する、あるいはＭＥＭＣ１１にテスト用プログラムを組み込むことにより実現される。このテスト用プログラムは、テスト用データテーブルとテスト結果テーブルとを含み、図２のメモリ２２、２３とは異なるアドレス領域にマッピングされたＲＯＭ又はＲＡＭ、あるいはＭＥＭＣ１１の内部レジスタ（ともに図外）に格納される。
【００５５】
このメモリ接続テスト方法によって図２に示したメモリ回路をテストする場合に用いられるテスト用データテーブルを表１０に示す。
【００５６】
【表１０】
0003553736.tif 000011
表１０において、アドレスＡは、テストデータ（データＤ）をライト／リードチェックするための書き込み先アドレス且つ読み出し先アドレスであり、どんな値でも構わないが本実施の形態で用いているように全ビット０のアドレスを用いるのが望ましい。グループ１、２は、それぞれ図２のメモリ回路中のデータバスの下位８ビット、上位８ビットのことである。テスト対象ビットは、グループ１、２それぞれのビットをビット番号が小さい順に示している。データ群ｄは、グループ毎の当該テスト対象ビットに対するテストデータからなり、同表ではグループ１と２で同じテストデータになるので１つだけ示してある。データＤは、複数グループを同時にテストできるようにデータ群ｄを全グループ分に拡張したテストデータである。
【００５７】
図５において上記ＣＰＵは、テスト対象ビットを選択してそのデータ群ｄ及びデータＤをテスト用データテーブルに基づいて生成し（ステップ４０１〜４０３）、アドレスＡ（０ｘ００）番地にデータＤを書き込み（ステップ４０４）、さらにアドレスＡ番地からデータを読み出す（ステップ４０５）。このときもし、テスト対象ビットがショートしていれば、アドレスＡ番地への書き込み時に、テスト対象ビットが１に転び（ＯＲ型のショート特性の場合）、又はテスト対象ビットの端子に隣接するビットが０に転ぶ（ＡＮＤ型ショートの場合）ことになる。
【００５８】
続いて、ＣＰＵは、読み出したデータとテスト用テーブル中のデータＤとをグループ毎に比較し（ステップ４０６）、一致していれば１を不一致であれば０ををグループ毎に結果テーブルに格納する。
同様に、ＣＰＵは、残りのテスト対象ビットについて上記ステップ４０１から４０６を繰り返す（ステップ４０７による）。上記によりメモリ回路がＡＮＤ型の場合もＯＲ型の場合もデータバスのショートを検出することができる。
【００５９】
以上のように構成された第４の実施の形態におけるメモリ接続テスト方法について、（１）接続が正常な場合のデータバスのテスト、（２）ショートがある場合のデータバスのテストに分けてその動作を説明する。
＜（１）  接続が正常の場合の動作＞
まず、テスト対象ビットにグループ１からＤＤ０、グループ２からＤＤ８が選択された場合、ＤＤ０、ＤＤ８が共にグループ内でＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）であることからデータ群ｄとして０ｘＦＥが生成され、さらにデータＤとして０ｘＦＥＦＥが生成される（ステップ４０１〜４０３）。ＣＰＵによりアドレスＡ（０番地）にデータＤ（０ｘＦＥＦＥ）が書き込まれ、さらにアドレスＡ（０番地）からデータが読み出される（ステップ４０４、４０５）。この場合正常なので０ｘＦＥＦＥが読み出される。読み出されたデータとデータＤとがグループ毎に、すなわち上位８ビット同士、下位８ビット同士の比較により、（グループ１：０ｘＦＥ、グループ２：０ｘＦＥ）とデータ群ｄ（グループ１：０ｘＦＥ、グループ２：０ｘＦＥ）の比較結果はグループ１、２ともに１となる（ステップ４０６）。同様に繰り返され、すべてのテスト対象ビットについても４０６での比較結果はグループ１、２ともに１となる。このテスト結果を表１１に示す。
【００６０】
【表１１】
0003553736.tif 000012
＜（２）ショートがある場合のデータバスのテスト＞
図２のメモリ回路においてＤＤ０とＤＤ３でショートが発生しているものとする。  テスト対象ビットがＤＤ０とＤＤ３以外は上記（１）と同じであるので省略する。テスト対象ビットにグループ１からＤＤ０、グループ２からＤＤ８が選択された場合、データ群ｄとして０ｘＦＥ、データＤとして０ｘＦＥＦＥが生成されて、アドレスＡ（０番地）にデータＤ（０ｘＦＥＦＥ）が書き込まれる（ステップ４０１〜４０４）。この際にＤＤ０とＤＤ３がショートしているため、アドレスＡ（０番地）に実際に書き込まれるデータは０ｘＦＥＦ６（あるいは０ｘＦＥＦＦ）となる。従って、アドレスＡ（０番地）から読み出したデータは０ｘＦＥＦ６となり、読み出したデータ（０ｘＦＥＦ６）のグループ毎の値（グループ１：０ｘＦ６、グループ２：０ｘＦＥ）とデータＤ（グループ１：０ｘＦＥ、グループ２：０ｘＦＥ）の比較結果はグループ１が０、グループ２が１となる（ステップ４０５、４０６）。
【００６１】
同様に、テスト対象ビットをＤＤ３にした場合も比較結果はグループ１が０、グループ２が１となり、表１２の結果を得る。
【００６２】
【表１２】
0003553736.tif 000013
従って、テスト対象ビットをＤＤ０、ＤＤ３にした場合に比較結果はグループ１で不一致となり、ＤＤ０とＤＤ３がショートしていることがわかり、表２からＤＤ０とＤＤ３が隣合った端子に接続されている半導体チップはメモリ２３であり、メモリ２３でショートが発生していることが容易にわかる。
（第５の実施の形態）
図６は本発明の第５の実施の形態に係るの配線装置の概略構成を示すブロック図である。この配線装置は、配線変更部６０１と配線部６０２と構成され、実装テストに適した配線路を有するメモリ回路、例えば第２の実施の形態における図２のメモリ回路をもつプリント基板の配線を行う。なお、ここでいう配線とは、プリント基板上に実際に線路を配線することではなく、回路図上のバスなどの信号線を表す情報の設定・変更、又はプリント基板上の配線を表す情報を設定することを意味する。
【００６３】
同図において配線変更部６０１は、公知の回路図ＣＡＤから得られる回路図情報（部品情報と配線情報）を基に、メモリコントローラとメモリ間の配線を、実装テストに適した配線に変更し、変更後の回路図情報を出力する。具体的には、回路中の部品でメモリコントローラとメモリについて、各部品毎にバスをグループに分類し、グループ内の２端子に接続される２線路が、いずれも他の部品のグループ内において隣接しない２端子に接続するように配線を変更する。
【００６４】
配線部６０２は、変更された回路図情報に基づいてプリント基板上の部品間の配線を行う。この配線部６０２は、公知のプリント基板ＣＡＤでよい。
本配線装置は、従来ワークステーションなどで実現されている上記プリント基板ＣＡＤに対して、さらに上記の配線変更部６０１を付加した構成である。この構成では、配線変更部６０１も配線部６０２も、それぞれの機能を記述したプログラムを当該ワークステーションのＣＰＵ（以下ＣＰＵ１と呼ぶ）が実行することにより実現される。
【００６５】
以上のように構成された配線装置について、本配線装置を適用して図８に示すプリント基板を配線する場合についてその動作を説明する。
図８のプリント基板６０は、ＣＰＵ６１、ＭＥＭＣ６２、メモリ６３〜６５で構成される回路を実装するプリント基板であり、説明の便宜上、配線変更部６０１、配線部６０２配線の処理を経た後の配線を部分的に図示してある。
【００６６】
このプリント基板６０用に上記回路図ＣＡＤから入力される部品情報および配線情報（一部を記載）を、表１３および表１４に示す。部品情報は、回路中の各部品について、部品番号と、部品名と、部品種類と、部品の端子番号及び端子名の対応関係とを表す情報である。例えば、表１３の部品番号ＩＣ４の部品は、部品名がメモリ６３、部品種類がＤＲＡＭ、端子番号１〜１８と各端子名との対応関係が示されている。また配線情報は、回路中の各配線について、信号名と、信号の種類（データ、アドレス、その他）と、ＣＰＵ、ＭＥＭＣ及びメモリ６３〜６５において接続される端子名とを表す情報である。例えば、表１４の信号線Ｄ０は信号線の種類がデータで、ＣＰＵ６１のＤ０端子およびＭＥＭＣ６２のＤ０端子に接続することを表す。
【００６７】
回路図ＣＡＤから得られる上記配線情報では、アドレスバス及びデータバスについて１つの部品で２端子に接続される２線路は、通常、他の部品においても隣接する２端子に接続されている。これは、部品のバスを構成する端子はビットの番号順に並んでいることが多いからである。
【００６８】
【表１３】
0003553736.tif 000014
【００６９】
【表１４】
0003553736.tif 000015
図７（ａ）（ｂ）は、本配線装置の処理内容を示すフローチャートである。表１３、表１４の部品情報、配線情報を具体例として同図の処理を説明する。
同図（ａ）において、まず配線変更部６０１は、部品情報から部品種類がＭＥＭＣ、ＲＡＭ（ＤＲＡＭ及びＳＲＡＭ）を選択する（ステップ５０１）。表１３では、ＭＥＭＣ６２、メモリ６４、６５が選択される。このときメモリ６３はＲＯＭであり端子の可換性がないので選択されない。さらに、配線変更部６０１は、選択された部品について、部品情報から端子配置を、配線情報からアドレスバス及びデータバスの信号線の接続関係を抽出する（ステップ５０２、５０３）。抽出された端子配置と接続関係に基づいて、配線変更部６０１は、アドレスバス及びデータバスの接続関係を、１つの部品（以下基準部品と呼ぶ）で隣接する２端子に接続された２線路を他のいずれの部品（以下対象部品と呼ぶ）においても隣接しない２端子に接続するように変更する（ステップ５０４）。この後、変更後の回路情報に従って配線部６０２は、プリント基板の配線を行う。
【００７０】
図７（ｂ）は、上記ステップ５０４のさらに詳細な処理フローを示す。同図（ｂ）において、まず変更部６０１は、上記ステップ５０３で抽出されたアドレスバス及びデータバスについて、バスのビット数が８ビット以下であれば、端子の入れ替えの指針を示す変更テーブルを参照して、何れか部品１つを基準部品としてそれ以外の対象部品に対して接続を変更する（ステップ５０４ａ、５０４ｂ）。上記変更テーブルの一例を表１５に示す。
【００７１】
【表１５】
0003553736.tif 000016
表１５において、左欄のビット番号は対象部品におけるバスを構成する端子の並びの順（括弧内はグループに分割された場合のグループ内の端子の並びの順）を表す。変更先の欄は、バスのビット数毎に、ビット番号で示される端子の変更先を表す。同表においては、４及び５ビットのバスについては１通り、６及び７ビットのバスについては２通り、８ビットについては３通りの変更先を一例として示している。これに限るものではなく、基準部品で隣接する２端子の配線が対象部品で隣接しない２端子に接続されるものであればよい。また、変更テーブルが１つのビット数に対して変更先を複数有しているのは、対象部品が複数ある場合に対応するためである。
【００７２】
また、上記ステップ５０３で抽出されたアドレスバス及びデータバスについて、バスのビット数が８ビットより大きければ、配線部６０２は、バスを８ビット毎にグループに分割し、グループ毎に上記変更テーブルを参照して、対象部品における接続を変更する（ステップ５０４ｃ、５０４ｄ）。表１４に対して、配線部６０２は、ＭＥＭＣ６２を基準部品、メモリ６４、６５を対象部品として接続を変更する。すなわち、アドレスバスＤＡ［５：０］については、変更テーブル中のビット数６の欄に従って接続を入れ換える（６の欄には２通りあるがこの場合左側によりメモリ６４、右欄に従ってメモリ６５）。同様にデータバスＤＤ［７：０］については、変更テーブル中のビット数８の欄に従って接続を入れ換える（８の欄には３通りあるがこの場合左側によりメモリ６４、中欄に従ってメモリ６５）。
【００７３】
このようにして表１４の配線情報に対して、表１５の変更テーブルに従い接続を変更した結果の配線情報を表１６に示す。
【００７４】
【表１６】
0003553736.tif 000017
表１６において基準部品ＭＥＭＣ６２に対して対象部品メモリ６４、６５の接続関係が変更されている。このようにＣＰＵ６１とＭＥＭＣ６２間およびＭＥＭＣ６２とメモリ６３間は信号線の入れ換えは行なわれず、ＭＥＭＣ６２とメモリ６４、６５間のアドレス、データ信号線が入れ換えられる。
【００７５】
さらに配線部６０２により変更後の配線情報及び部品情報に従ってプリント基板上に配線がなされる。既に示した図８は、配線部６０２による配線段階（ＭＥＭＣ６２のＤＤ２の信号線まで配線済み）の様子を示している。プリント基板６０は多層基板であり、点線で示したラインは実線で示したラインとは別の層で配線されていることを表し、○印は異なる層間を接続するビアを表す。同図からわかるように、ＭＥＭＣ６２で隣接する２端子に接続される信号線はメモリ６４、６５では隣接しない２端子に接続される。これにより第３の実施の形態のメモリ接続方法のような方法により、端子間ショートが生じている場合にその部品を容易に特定することができる。
【００７６】
なお、メモリ６３は部品種類がＲＯＭであり、本実施の形態では配線を入れ換えていないが、これはＲＯＭデータがプリント基板外部で書き込まれるのが通常ダからである。この点、あらかじめ配線の入れ換えを考慮してＲＯＭにデータを書き込んであれば配線の入れ換え対象としても構わない。
また、入れ換えは一例であり、いかなる組合せの隣合う２つの端子について各部品毎に異なる信号線がつながるのであれば、表１５に示した通りに入れ換えを行なう必要はない。
（第６の実施の形態）
図９は、第６の実施の形態における半導体チップの端子位置決定装置を含むプリント基板設計装置の全体構成を示す図である。
【００７７】
同図においてプリント基板設計装置は、端子位置決定装置９０１と配線部６０２とから構成され、従来用いられているプリント基板ＣＡＤに対して端子位置決定装置９０１を付加した構成でよい。配線部６０２は第５の実施の形態で図６に示したものと同じなので説明を省略し、以下異なる点を中心に説明する。
端子位置決定装置９０１は、一般的な公知の回路図ＣＡＤから得られる回路図情報を基に、特定種類（ここではＭＥＭＣ）の半導体チップ（部品情報）におけるデータバスを構成する端子の並びを、メモリ接続テストを容易にするように入れ換えて、変更後の部品情報を半導体チップ製造装置に、回路図情報（部品情報と配線情報）と配線部６０２に出力する。より具体的には、半導体チップの製造工程において半導体チップ内部におけるデータバス信号線のパッド位置を指示する情報として変更後の部品情報を出力する。この端子位置決定装置９０１も、上記配線変更部６０１と同様に、その機能を記述したプログラムをワークステーションのＣＰＵ１が実行することにより実現される。
【００７８】
図１０は、端子位置決定装置９０１のより詳細な処理内容を示すフローチャートである。同図のステップ５０４は、図７（ａ）と同様であり、その詳細は図７（ｂ）と同様であるので、詳細な説明を省略し、異なる点のみ説明する。
同図において、まず端子位置決定装置９０１は、部品情報から部品種類がＭＥＭＣである部品についてについて、部品情報から端子配置を、配線情報からデータバスの信号線と他の部品群（メモリ）との接続関係を抽出する（ステップ７０１、７０２）。抽出された端子配置と接続関係に基づいて、端子位置決定装置９０１は、データバスの端子位置について、隣接する２端子に接続された２線路を他の部品群においても隣接しない２端子に接続するように変更する（ステップ５０４）。この後、変更後の回路情報に従って配線部６０２は、プリント基板の配線を行う。
【００７９】
上記ステップ５０４では、端子位置決定装置９０１は、本実施の形態のＭＥＭＣを、第５実施例で説明した基準部品でもあり対象部品でもあるとして扱っている。
端子位置決定装置９０１により、表１３の部品情報と表１４の配線情報を基に、図８のＭＥＭＣ６２の端子配置を変更した場合の端子配列の一部を表１７に示す。
【００８０】
【表１７】
0003553736.tif 000018
表１７のように変更された部品情報と、配線情報とに従って、更に配線部６０２によりプリント基板の配線が行われる。その結果、表１７の端子位置をもつＭＥＭＣでは、隣接する２端子の信号線は、他の部品の隣合わない２端子につ接続されることになる。
【００８１】
また、図１１（ａ）（図８のＭＥＭＣ６２と同じ）は、従来の半導体チップの端子位置を表す。ただし、電源・グランド端子については省略している。ほとんどの半導体チップは、このように信号線が重みの順に並ぶよう端子位置が決定されている。一方、図１１（ｂ）は本発明の端子位置決定装置によって端子位置が決定され、半導体製造装置により製造された半導体チップを表している。
【００８２】
図１１（ｃ）は、配線部６０２により同図（ｂ）の半導体チップを用いてメモリを接続した場合の配線例を表す。このようにプリント基板上で接続すべき信号線を入れ換えなくても、半導体チップの端子位置を入れ換えることにより、第５の実施の形態と同様の効果が得られる。さらに、プリント基板上での配線の自由度を大きくすることができるという効果がある。
【００８３】
なお、本実施の形態では、端子位置決定装置９０１により変更された部品情報に従って、半導体製造装置が半導体チップを製造することを前提に説明した。ＭＥＭＣのような半導体チップは、通常ＲＯＭやＣＰＵを接続するバスは端子の可換性がない（外部でＲＯＭデータが書き込まれる場合やＭＥＭＣがプログラマブルな場合）ので端子位置を変更することができないが、ＲＡＭを接続するバスは可換性があるので変更可能である。
【００８４】
さらに、ＭＥＭＣとＲＡＭ間のデータバスや、ＲＡＭ同士のデータバスについては、可換性が保証される場面では、半導体製造装置により変更後の半導体チップを製造しなくても、変更前の半導体チップをそのまま端子名を読み替えて使用するようにしてもよい。こうすれば、市販の半導体チップでも適用することができる。
【００８５】
【発明の効果】
本発明のメモリ回路は、バス接続される第１の端子群を有する第１集積回路と、バス接続される第２端子群を有する第２集積回路とを備えたメモリ回路であって、第１、第２端子群間で端子を１対１に接続する複数の線路を備え、第１端子群で隣接する２端子に接続された２線路はいずれも第２の端子群で隣接しない２端子に接続されるという構成によれば、何れかの端子群において端子間ショートが生じた場合に、ショート箇所がどの端子群において生じたのかを簡単に特定することができるという効果がある。
【００８６】
また、前記各端子群は、データバスに接続される端子群と、アドレスバスに接続される端子群との何れかであり、第１集積回路はメモリアクセスを制御するメモリコントローラであり、第２集積回路はメモリチップであるという構成によれば、メモリコントローラとメモリ間のバス接続において、上記と同様にショート箇所を簡単に特定できるという効果がある。
【００８７】
さらに、前記データバスに接続される端子群は複数の端子からなるグループに分類され、前記各線路は、端子群間で対応するグループ内の端子間を接続する構成によれば、上記の効果に加えて、グループ単位のテストや、複数グループのテストを並行に行うことができるという効果がある。
また、アドレス端子群及びデータ端子群を有する複数の集積回路と、各アドレス端子群を接続するアドレスバスを構成する複数の線路と、各データ端子群を接続するデータバスを構成する複数の線路とを備え、何れかの端子群で隣接する２端子に接続された２線路はいずれも他のどの端子群においても隣接しない２端子に接続される構成によれば、集積回路が複数ある場合であっても、どの集積回路でショートが生じているかを簡単に特定できるという効果がある。
【００８８】
さらに、アドレスバスの端子間のショートが生じているか否かをテストする方法であって、前記アドレスバスの中からテスト対象ビットを１ビット選択するステップと、テスト対象ビットを０又は１の論理値とし、アドレスバス中の残りのビットすべてを前記論理値の反転とする第１アドレスを生成する生成ステップと、全ビットが前記論理値をもつアドレスに所定のデータを書き込むステップと、第１アドレスに前記所定のデータと異なるデータを書き込むステップと、全ビットが前記論理値をもつアドレスからデータを読み出すステップと、読み出されたデータと前記所定のデータとを比較するステップと、比較の結果、両者が一致していない場合にはテスト対象ビットに対応する端子と隣の端子との間でショートが生じていると判定し、一致している場合にはショートが生じていないと判定する判定ステップと、判定ステップの判定後に、アドレスバス中の未判定のビットの中から新たなテスト対象ビットを１ビット選択し、生成ステップから判定ステップまでを再度実行させるステップとを有するテスト方法によれば、アドレスバスの端子群において接続不良があるかどうかを検出できるだけでなく、接続不良がある場合にはどのチップの端子において接続不良が発生しているかまで特定できるという効果がある。
【００８９】
また、データバスの端子間のショートが生じているか否かをテストする方法であって、前記データバスの中からテスト対象ビットをグループ毎に１ビットずつ選択するステップと、前記各テスト対象ビットを０、残りのビットを１としたデータを生成するステップと、第１のアドレスに前記データを書き込むステップと、第１のアドレスからデータを読み出し、前記データと読み出したデータとを比較するステップと、比較の結果、両者が一致していないと判定した場合、端子間のショートが生じていると判定するステップと、判定ステップの判定後に、アドレスバス中の未判定のビットの中から新たなテスト対象ビットを１ビット選択し、生成ステップから判定ステップまでを再度実行させるステップとを有するテスト方法によれば、データバスの端子群において接続不良があるかどうかを検出できるだけでなく、接続不良がある場合にはどのチップの端子において接続不良が発生しているかまで特定できるという効果がある。
【００９０】
さらに、メモリ制御チップとメモリチップとを含む回路を表す回路図情報を取得する取得手段と、取得された回路図情報から、メモリ制御チップと読み書き可能なメモリとを特定の部品として抽出する第１抽出手段と、取得された回路図情報から、第１抽出手段により抽出された部品におけるバス接続される端子群における端子位置及び接続関係を抽出する第２抽出手段と、第１抽出手段により抽出された１つの部品の端子群で隣接する２端子に接続される２線路の何れも、抽出された他の部品の端子群で隣接しない２端子に接続するように第２抽出手段で抽出された接続関係を変更する変更手段と、変更された接続関係に基づいてプリント基板の配線を行う配線手段とを備える構成によれば、メモリ制御チップと読み書き可能なメモリでの部品間の信号線を入れ換えることにより実装テストに適した配線にすることができ、端子間でショートが発生した場合において、ショート発生箇所がメモリ制御チップの端子かメモリの端子か、さらにはメモリが複数あってもどのメモリの端子部分でショートが発生しているかを簡単に特定できるという効果がある。
【００９１】
また、前記変更手段が、バス接続される端子群間において、１つの部品の端子群で隣接する２端子に接続される２線路が、他の部品の端子群で隣接しない２端子に接続するための端子の入れ換えデータを複数保持するテーブルと、テーブルを参照して前記１つの部品と前記他の部品との端子群の接続関係を変更する変更部とを備える構成によれば、上記効果に加えて、テーブルを参照して配線を変更するという簡単な構成で実装テストに適した配線を得ることができる。
【００９２】
さらに、ＣＰＵからのメモリアクセス要求を受けてメモリチップへのメモリアクセスを制御するメモリ制御チップの端子位置を設計する装置であって、メモリ制御チップとメモリチップとを含む回路を表す回路図情報を取得する取得手段と、取得された回路図情報から、メモリ制御チップと読み書き可能なメモリとを抽出する第１抽出手段と、取得された回路図情報から、当該メモリ制御チップのバス接続される端子群の端子位置及び接続関係を抽出する第２抽出手段と、抽出されたメモリ制御チップの端子群で隣接する２端子に接続される２線路の何れも、抽出されたメモリチップの端子群で隣接しない２端子に接続するようメモリチップの端子位置を変更する変更手段と、変更された接続関係に基づいてプリント基板の配線を行う配線手段とを備える構成によれば、プリント基板において信号線を入れ換えて接続しなくてもメモリ制御チップとメモリ間を接続する信号線間でショートが発生した場合において、ショート発生箇所がメモリ制御チップの端子かメモリの端子か、さらにはメモリが複数あってもどのメモリの端子部分でショートが発生しているかを簡単にできるという効果がある。
【００９３】
また、前記変更手段が、バス接続される端子群間において、１つの部品の端子群で隣接する２端子に接続される２線路が、他の部品の端子群で隣接しない２端子に接続するための端子の入れ換えデータを複数保持するテーブルと、テーブルを参照してメモリ制御チップの端子群の端子位置を変更する変更部とを備える構成によれば、上記効果に加えて、テーブルを参照して端子位置を変更するという簡単な構成で、プリント基板上で配線の変更をしなくてもよく、実装テストに適したメモリ制御チップを得ることができる。という効果がある。
【００９４】
さらに、ＣＰＵからのメモリアクセス要求を受けてメモリチップへのメモリアクセスを制御する１チップのメモリ制御回路であって、メモリチップへアドレスを供給する端子群と、メモリチップとの間でデータを入出力する端子群とを有し、各端子群において隣接する２端子はいずれも、ＣＰＵにおけるビット番号が少なくとも２異なることメモリ制御回路によれば、プリント基板上で配線の変更をしなくてもよく、実装テストに適したメモリ制御回路を得ることができる。
【００９５】
また、前記各端子群は、複数の端子からなるグループに分類されていて、各端子群においてグループ内の隣接する２端子はいずれも、ＣＰＵにおけるビット番号が少なくとも２異なるメモリ制御回路によれば、上記効果に加えて、グループ単位のテストや、複数グループのテストを並行に行うことができるという効果がある。
【図面の簡単な説明】
【図１】図１は、本発明の第１の実施の形態におけるメモリ回路を表す。
【図２】図２は、本発明の第２の実施の形態におけるメモリ回路を表す。
【図３】本発明の第３の実施の形態におけるアドレスバスのメモリ接続テスト方法を示すフローチャートである。
【図４】本発明の第３の実施の形態におけるデータバスのメモリ接続テスト方法を示すフローチャートである。
【図５】本発明の第４の実施の形態におけるメモリ接続テスト方法を示すフローチャートである。
【図６】本発明の第５の実施の形態における配線装置の概略構成を示すブロック図である。
【図７】（ａ）は、本配線装置の処理内容を示すフローチャートである。
（ｂ）は、変更処理の処理内容を示すフローチャートである。
【図８】配線装置の対象となるプリント基板の一例である。
【図９】第６の実施の形態における半導体チップの端子位置決定装置を含むプリント基板設計装置の全体構成を示す図である。
【図１０】端子位置決定装置９０１のより詳細な処理内容を示すフローチャートである。
【図１１】（ａ）は、従来の半導体チップの端子位置を表す。
（ｂ）は、端子位置決定装置によって端子位置が決定され、半導体製造装置により製造された半導体チップを表している。
（ｃ）は、配線部６０２により同図（ｂ）の半導体チップを用いてメモリを接続した場合の配線例を表す。
【図１２】従来技術におけるバウンダリスキャンを説明する図。
【符号の説明】
１１    ＭＥＭＣ
１２    メモリ
１３    メモリ
２１    ＭＥＭＣ
２２    メモリ
２３    メモリ
６０    プリント基板
６１    ＣＰＵ
６２    ＭＥＭＣ
６３    メモリ
６０１    配線変更部
６０２    配線部
９０１    端子位置決定装置
【図１】
0003553736.tif 000019
【図２】
0003553736.tif 000020
【図３】
0003553736.tif 000021
【図４】
0003553736.tif 000022
【図５】
0003553736.tif 000023
【図６】
0003553736.tif 000024
【図７】
0003553736.tif 000025
【図８】
0003553736.tif 000026
【図９】
0003553736.tif 000027
【図１０】
0003553736.tif 000028
【図１１】
0003553736.tif 000029
【図１２】
0003553736.tif 000030