(57)【要約】【課題】半導体集積回路のメモリ選択回路およびアドレス生成回路の規模を削減し、テストプログラムの開発の単純化および作成時間の短縮化すること。【解決手段】複数のメモリと、信号の入出力を行う外部端子と、外部端子と複数のメモリとの間でアドレス信号およびデータ信号の送受を仲介するバスインターフェース部と、このバスインターフェース部を介して外部端子と複数のメモリとを接続してアドレス信号を送受するアドレスバスと、バスインターフェース部を介して外部端子と複数のメモリとを接続してデータ信号を送受するデータバスとを備えた半導体集積回路において、外部端子で設定される所定のモード時に、複数のメモリ（２３ａ〜２３ｂ）のそれぞれが所定の領域（領域１〜領域４）ごとに並んで配置された論理アドレス空間の論理アドレスの位置にそれぞれ離散的に配置される。【選択図】　　　図２
2004071056.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリと、信号の入出力を行う外部端子と、前記外部端子と前記複数のメモリとの間でアドレス信号およびデータ信号の送受を仲介するバスインターフェース部と、このバスインターフェース部を介して前記外部端子と前記複数のメモリとを接続して前記アドレス信号を送受するアドレスバスと、前記バスインターフェース部を介して前記外部端子と前記複数のメモリとを接続して前記データ信号を送受するデータバスとを備えた半導体集積回路において、
前記外部端子で設定される所定のモード時に、前記複数のメモリのそれぞれが所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置にそれぞれ離散的に配置されることを特徴とする半導体集積回路。
【請求項２】
ＣＰＵと、複数のメモリと、信号の入出力を行う外部端子と、前記ＣＰＵまたは前記外部端子と前記複数のメモリとの間でアドレス信号およびデータ信号の送受を仲介するバスインターフェース部と、このバスインターフェース部を介して前記ＣＰＵまたは前記外部端子と前記複数のメモリとを接続して前記アドレス信号を送受するアドレスバスと、前記バスインターフェース部を介して前記ＣＰＵまたは前記外部端子と前記複数のメモリとを接続して前記データ信号を送受するデータバスとを備えた半導体集積回路において、
前記外部端子で設定される所定のモード時に、前記複数のメモリのそれぞれが所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置にそれぞれ離散的に配置されることを特徴とする半導体集積回路。
【請求項３】
前記所定の領域が、２ｎバイトのサイズであることを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記バスインターフェース部は、前記アドレスバスの上位側の所定のビットに基づいて前記複数のメモリを選択することを特徴とする請求項１〜３のいずれか一つに記載の半導体集積回路。
【請求項５】
前記バスインターフェース部は、前記アドレスバスの上位側の所定のビットに基づいて前記複数のメモリを選択し、前記アドレスバスの上位側の所定のビット以外のビットに基づいて前記複数のメモリのそれぞれの領域内をアクセスすることを特徴とする請求項１〜４のいずれか一つに記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に関するものであり、特に、半導体集積回路のＣＰＵまたは外部端子から内蔵メモリに対するアクセスを行う半導体集積回路に関するものである。
【０００２】
【従来の技術】
半導体の微細化技術の進展とともに、マイクロコンピュータやＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）などのロジックＬＳＩにおいても、より大規模なメモリが搭載されるようになってきている。搭載メモリが大規模になるのに伴い、この大規模メモリを搭載した半導体集積回路の製造時のテストに要する時間が増大しつつあり、この製造時のテストをいかに効率よくかつ高精度で実施するかの重要性が高まっている。
【０００３】
この製造時テストの効率化あるいは高精度化を実現するため、あらかじめ製造時テストを支援するための専用回路をテスト対象の半導体集積回路に搭載しておき、テスト時間の短縮や半導体集積回路テスタのテストパターンなどの開発負荷の削滅などを図る、いわゆるテスト容易化設計が行われている。
【０００４】
内蔵メモリに対するテスト容易化設計の一般的な手段の一つとして、通常はＣＰＵからしかアクセスが許可されていない内蔵メモリに対し、テスト対象の半導体集積回路にあらかじめ備えられた外部端子（アドレス出力端子、データ入出力端子など）を介して、この内蔵メモリヘのアクセスを実現するテスト容易化回路を内部に設けることなどが行われている。
【０００５】
その一方で、このようなテスト容易化回路を設けることは、半導体集積回路の回路規模の増大や、テストプログラム開発コストの増大などを招くことがある。したがって、これらの回路規模の増大、開発コストの増大を抑制しつつ、製造時テストの効率化、高精度化を実現することが求められている。
【０００６】
前述のような観点に鑑みれば、半導体集積回路に内蔵されるテスト容易化回路の機構を可能な限り簡易な構成にし、半導体集積回路に備えられる外部端子を介してテストを行う手法が有効である。このような観点から構成された従来技術による半導体集積回路の例を図５に示す。この図５は、外部端子を介して内蔵メモリのテストを行う従来の半導体集積回路（以下、「従来回路」という。）の構成を示すブロック図である。
【０００７】
図５において、ＣＰＵ１２１は、たとえば３２ビットＲＩＳＣ型マイクロプロセッサコアであり、周辺Ｉ／Ｏ１２２ａ〜１２２ｃは、たとえば割り込みコントローラ（ＩＣＵ）、ダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）、マルチ・ファンクション・タイマ（ＭＦＴ）などの標準的な制御回路である。メモリ１２３ａ〜１２３ｄは、それぞれ任意の容量を有するＳＲＡＭ（Ｓｔａｔｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）などのメモリである。アドレス端子１２４、データ端子１２５、動作モード端子１２６、Ｒ／Ｗ（リード／ライト）端子１２７は、半導体集積回路に備えられた外部端子である。バスインターフェース部１２８は、ＣＰＵ１２１からの周辺Ｉ／Ｏ１２２ａ〜１２２ｃ、メモリ１２３ａ〜１２３ｄに対するアクセスを行い、アドレス端子１２４、データ端子１２５、動作モード端子１２６およびＲ／Ｗ端子１２７の外部端子からの周辺Ｉ／Ｏ１２２ａ〜１２２ｃ、メモリ１２３ａ〜１２３ｄに対するアクセスを行うための制御回路である。
【０００８】
ＣＰＵ１２１とバスインターフェース部１２８およびアドレス端子１２４とは、それぞれ３２ビット幅のアドレスバス（Ａ０−Ａ３１）で接続される。ＣＰＵ１２１とデータ端子１２５とは、データバス（Ｄ０−Ｄ３１）で接続される。アドレス端子１２４とバスインターフェース部１２８とは、３２ビット幅のアドレスバス（Ａ０−Ａ３１）で接続される。データ端子１２５とバスインターフェース部１２８とは、３２ビット幅のデータバス（Ｄ０−Ｄ３１）で接続される。バスインターフェース部１２８と周辺Ｉ／Ｏ１２２ａ〜１２２ｃおよびメモリ１２３ａ〜１２３ｄとは、それぞれ１２ビット幅の周辺アドレスバス（ＩＡ２０−ＩＡ３１）で接続されるとともに、それぞれ３２ビット幅の周辺データバス（ＩＤ０−ＩＤ３１）で接続される。さらに、バスインターフェース部１２８では、入力されたアドレス信号に基づき、メモリ１２３ａ〜１２３ｄのいずれかを選択するメモリ選択信号（ＣＳ０−ＣＳ３）を生成する。このメモリ選択信号は、メモリ１２３ａ〜１２３ｄのそれぞれのチップセレクト端子（ＣＳ）に接続される。
【０００９】
動作モード端子１２６からの動作モード信号により動作モードを通常動作モードに設定した場合、ＣＰＵ１２１はバスインターフェース部を介して周辺Ｉ／Ｏおよびメモリ１２３ａ〜１２３ｄに対してリード・ライトアクセスを行うことができる。一方、動作モード端子１２６からの動作モード信号により動作モードをテストモードに設定した場合、ＣＰＵ１２１はアドレスバスおよびデータバスから電気的に切り放され、替わりに半導体集積回路のアドレス端子およびデータ端子がバスインターフェース部１２８を介して周辺Ｉ／Ｏ１２２ａ〜１２２ｃおよびメモリ１２３ａ〜１２３ｄに対してリード・ライトアクセスを行うことができる。
【００１０】
図６は、従来回路におけるテストモード時のメモリ１２３ａ〜１２３ｄのアドレス空間を示す説明図である。同図に示す例では、メモリ１２３ａ〜１２３ｄは、それぞれ１ＫＢ、４ＫＢ、１ＫＢ、２ＫＢの容量を有するメモリであり、これらのメモリ１２３ａ〜１２３ｄを連続に配置して全体で８ＫＢのメモリアドレス空間を形成している。ここで、このメモリアドレス空間全体の容量は２１３バイト＝８１９２バイトであるから、アドレスバス（Ａ１９−Ａ３１）の１３ビットで、１バイト単位のアドレッシングが可能である。
【００１１】
この１３ビットのアドレスを用いると、図６に示すように、メモリ１２３ａはｈ’０＿０００（１３’ｂ０＿００００＿００００＿００００）〜ｈ’０＿３ｆｆ（１３’ｂ０＿００１１＿１１１１＿１１１１）、メモリ１２３ｂはｈ’０＿４００（１３’ｂ０＿０１００＿００００＿００００）〜ｈ’１＿３ｆｆ（１３’ｂ１＿００１１＿１１１１＿１１１１）、メモリ１２３ｃはｈ’１＿４００（１３’ｂ１＿０１００＿００００＿００００）〜ｈ’１＿７ｆｆ（１３’ｂ１＿０１１１＿１１１１＿１１１１）、メモリ１２３ｄはｈ’１＿８００（１３’ｂ１＿１０００＿００００＿００００）〜ｈ’１＿ｆｆｆ（１３’ｂ１＿１１１１＿１１１１＿１１１１）の範囲に存在するものとして、それぞれ表すことができる。なお、“ｈ’”の表記は１６進表示であることを意味し、また“１３’ｂ”の表記は１３ビットの２進表示であることを意味している。
【００１２】
図７は、従来回路においてテストモード時にメモリアドレスをアドレッシングするために使用するアドレスバスのビットフィールドを示す図である。同図に示すように、アドレスバス（Ａ１９−Ａ２１）の上位側３ビットは４つのメモリ１２３ａ〜１２３ｄのいずれかを指定するためのアドレッシングに使用されるメモリ選択信号生成用ビットとして用いられる。４つのメモリ１２３ａ〜１２３ｄを指定するのに上位側３ビットを必要とする理由は、各メモリの最小単位は１ＫＢであり、４つのメモリ１２３ａ〜１２３ｄの全メモリ容量は８ＫＢであるため、これらのメモリ１２３ａ〜１２３ｄを１ＫＢ単位で識別するために３ビットのビット幅を必要とするからである。また、アドレスバス（Ａ２０−Ａ３１）の下位側１２ビットは各メモリ領域内のアクセスに使用されるメモリ側アドレスデコードビットとして用いられる。この各メモリ領域内のアクセスに下位側１２ビットを必要とする理由は、２１２バイト＝４０９６バイト＝４ＫＢであり、各メモリの最大メモリ容量である４ＫＢの領域をアドレッシングするために１２ビットのビット幅を必要とするからである。
【００１３】
図８は、従来回路においてテストモード時の動作に関係するバスインターフェース部１２８の回路構成を示すブロック図である。同図に示すように、デコーダ回路１４１はアドレスバス（Ａ１９−Ａ２１）の３ビット（図中の“３ｂ”は３ビットの意味、以下同じ。）をデコードし、４本のメモリ選択信号（ＣＳ０−ＣＳ３）を生成する。一方、各メモリに対しては“０”から始まる物理アドレスを供給する必要がある。たとえば、メモリ１２３ｂをアクセスする場合、デコーダ回路１４１からはＣＳ１を選択するメモリ選択信号が出力され、このメモリ選択信号によって、セレクタ回路１４２の出力はメモリ１２３ｂのメモリの先頭を示す値（すなわちメモリ１２３ａの容量値）である１ＫＢが選択される。アドレスバス（Ａ１９−Ａ３１）のアドレス値からこのセレクト回路の出力値１ＫＢをアドレス減算回路１４３で減算し、この減算出力値を“０”から始まる物理アドレス値として周辺アドレスバス（ＩＡ２０−ＩＡ３１）へ出力する。
【００１４】
同様に、メモリ１２３ｃをアクセスする場合、デコーダ回路１４１からはＣＳ２を選択するメモリ選択信号が出力され、アドレスバス（Ａ１９−Ａ３１）のアドレス値からこのセレクト回路の出力値５ＫＢ（１ＫＢ＋４ＫＢ：すなわちメモリ１２３ａとメモリ１２３ｂの容量値の和）をアドレス減算回路１４３で減算し、その減算出力値を周辺アドレスバス（ＩＡ２０−ＩＡ３１）へ出力する。メモリ１２３ｄをアクセスする場合、デコーダ回路１４１からはＣＳ３を選択するメモリ選択信号が出力され、アドレスバス（Ａ１９−Ａ３１）のアドレス値からこのセレクト回路の出力値６ＫＢ（１ＫＢ＋４ＫＢ＋１ＫＢ）をアドレス減算回路１４３で減算し、その減算出力値を周辺アドレスバス（ＩＡ２０−ＩＡ３１）へ出力する。
【００１５】
データドライバ回路１４４は、Ｒ／Ｗ信号が“リード”の場合には周辺データバス（ＩＤ０−ＩＤ３１）の値をデータバス（Ｄ０−Ｄ３１）へ向けて出力し、Ｒ／Ｗ信号が“ライト”の場合にはデータバスの値を周辺データバスヘ向けて出力する。
【００１６】
【発明が解決しようとする課題】
しかしながら、上述した従来回路によれば、バスインターフェース部内にメモリ選択のための演算や、メモリアクセスのためのメモリアドレスの演算を行うセレクタ回路（メモリ選択回路）、アドレス滅算回路（アドレス生成回路）などが必要であるという欠点があった。また、メモリアクセスの都度、メモリ選択やメモリアクセスのための演算に要する時間を必要とし、テスト時間の短縮化を阻害する要因となっていた。また、テストプログラム作成時において、メモリ選択のための演算や、メモリアクセスのためのメモリアドレスの演算を意識する必要があり、テストプログラムの開発の単純化および作成時間の短縮化を阻害する要因にもなっていた。
【００１７】
本発明は、上記に鑑みてなされたものであって、メモリ選択回路およびアドレス生成回路の規模を削減し、テストプログラムの開発の単純化およびテストプログラムの作成時間の短縮化を可能とする半導体集積回路を得ることを目的とする。
【００１８】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかる半導体集積回路にあっては、複数のメモリと、信号の入出力を行う外部端子と、前記外部端子と前記複数のメモリとの間でアドレス信号およびデータ信号の送受を仲介するバスインターフェース部と、このバスインターフェース部を介して前記外部端子と前記複数のメモリとを接続して前記アドレス信号を送受するアドレスバスと、前記バスインターフェース部を介して前記外部端子と前記複数のメモリとを接続して前記データ信号を送受するデータバスとを備えた半導体集積回路において、前記外部端子で設定される所定のモード時に、前記複数のメモリのそれぞれが所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置にそれぞれ離散的に配置されることを特徴とする。
【００１９】
この発明によれば、外部端子で設定される所定のモード時に外部端子から複数のメモリにアクセスする場合、所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置に、複数のメモリのそれぞれが、それぞれ離散的に配置されることにより、アドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となる。
【００２０】
つぎの発明にかかる半導体集積回路にあっては、ＣＰＵと、複数のメモリと、信号の入出力を行う外部端子と、前記ＣＰＵまたは前記外部端子と前記複数のメモリとの間でアドレス信号およびデータ信号の送受を仲介するバスインターフェース部と、このバスインターフェース部を介して前記ＣＰＵまたは前記外部端子と前記複数のメモリとを接続して前記アドレス信号を送受するアドレスバスと、前記バスインターフェース部を介して前記ＣＰＵまたは前記外部端子と前記複数のメモリとを接続して前記データ信号を送受するデータバスとを備えた半導体集積回路において、前記外部端子で設定される所定のモード時に、前記複数のメモリのそれぞれが所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置にそれぞれ離散的に配置されることを特徴とする。
【００２１】
この発明によれば、外部端子で設定される所定のモード時にＣＰＵまたは外部端子から複数のメモリにアクセスする場合、所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置に、複数のメモリのそれぞれが、それぞれ離散的に配置されることにより、アドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となる。
【００２２】
つぎの発明にかかる半導体集積回路にあっては、前記所定の領域が、２ｎバイトのサイズであることを特徴とする。
【００２３】
この発明によれば、所定の領域が２ｎバイトのサイズであることにより、アドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となる。
【００２４】
つぎの発明にかかる半導体集積回路にあっては、前記バスインターフェース部は、前記アドレスバスの上位側の所定のビットに基づいて前記複数のメモリを選択することを特徴とする。
【００２５】
この発明によれば、バスインターフェース部は、アドレスバスの上位側の所定のビットに基づいて複数のメモリを選択することができる。
【００２６】
つぎの発明にかかる半導体集積回路にあっては、前記バスインターフェース部は、前記アドレスバスの上位側の所定のビットに基づいて前記複数のメモリを選択し、前記アドレスバスの上位側の所定のビット以外のビットに基づいて前記複数のメモリのそれぞれの領域内をアクセスすることを特徴とする。
【００２７】
この発明によれば、バスインターフェース部は、アドレスバスの上位側の所定のビットに基づいて複数のメモリを選択するとともに、アドレスバスの上位側の所定のビット以外のビットに基づいて複数のメモリのそれぞれの領域内をアクセスすることができる。
【００２８】
【発明の実施の形態】
以下、本発明にかかる半導体集積回路の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２９】
図１は、本発明にかかる半導体集積回路のテスト回路の構成を示すブロック図である。同図において、ＣＰＵ２１は、たとえば３２ビットＲＩＳＣ型マイクロプロセッサコアであり、周辺Ｉ／Ｏ２２ａ〜２２ｃは、たとえば割り込みコントローラ（ＩＣＵ）、ダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）、マルチ・ファンクション・タイマ（ＭＦＴ）などの標準的な制御回路である。メモリ２３ａ〜２３ｄは、それぞれ任意の容量を有するＳＲＡＭ、ＤＲＡＭなどのメモリである。アドレス端子２４、データ端子２５、動作モード端子２６、Ｒ／Ｗ（リード／ライト）端子２７は、半導体集積回路に備えられた外部端子である。バスインターフェース部２８は、ＣＰＵ２１からの周辺Ｉ／Ｏ２２ａ〜２２ｃ、メモリ２３ａ〜２３ｄに対するアクセスを行い、アドレス端子２４、データ端子２５、動作モード端子２６およびＲ／Ｗ端子２７の外部端子からの周辺Ｉ／Ｏ２２ａ〜２２ｃ、メモリ２３ａ〜２３ｄに対するアクセスを行うための制御回路である。
【００３０】
ＣＰＵ２１とバスインターフェース部２８およびアドレス端子２４とは、それぞれ３２ビット幅のアドレスバス（Ａ０−Ａ３１）で接続される。ＣＰＵ２１とデータ端子２５とは、データバス（Ｄ０−Ｄ３１）で接続される。アドレス端子２４とバスインターフェース部２８とは、３２ビット幅のアドレスバス（Ａ０−Ａ３１）で接続される。データ端子２５とバスインターフェース部２８とは、３２ビット幅のデータバス（Ｄ０−Ｄ３１）で接続される。バスインターフェース部２８と周辺Ｉ／Ｏ２２ａ〜２２ｃおよびメモリ２３ａ〜２３ｄとは、それぞれ１２ビット幅の周辺アドレスバス（ＩＡ２０−ＩＡ３１）で接続されるとともに、それぞれ３２ビット幅の周辺データバス（ＩＤ０−ＩＤ３１）で接続される。さらに、バスインターフェース部２８では、入力されたアドレス信号に基づき、メモリ２３ａ〜２３ｄのいずれかを選択するメモリ選択信号（ＣＳ０−ＣＳ３）を生成する。このメモリ選択信号は、メモリ２３ａ〜２３ｄのそれぞれのチップセレクト端子（ＣＳ）に接続される。
【００３１】
動作モード端子２６からの動作モード信号により動作モードを通常動作モードに設定した場合、ＣＰＵ２１はバスインターフェース部２８を介して周辺Ｉ／Ｏ２２ａ〜２２ｃおよびメモリ２３ａ〜２３ｄに対してリード・ライトアクセスを行うことができる。一方、動作モード端子２６からの動作モード信号により動作モードをテストモードに設定した場合、ＣＰＵ２１はアドレスバスおよびデータバスから電気的に切り放され、替わりに半導体集積回路のアドレス端子およびデータ端子がバスインターフェース部２８を介して周辺Ｉ／Ｏ２２ａ〜２２ｃおよびメモリ２３ａ〜２３ｄに対してリード・ライトアクセスを行うことができる。
【００３２】
図２は、本発明にかかる半導体集積回路のテスト回路におけるテストモード時のメモリ２３ａ〜２３ｄの論理アドレス空間を示す説明図である。メモリ２３ａ〜２３ｄは、それぞれ１ＫＢ、４ＫＢ、１ＫＢ、２ＫＢの容量を有するメモリであるが、これらのメモリ２３ａ〜２３ｄが連続的ではなく、４ＫＢの一定の領域ごとに離散的に並べられている。いま、領域ごとに並べられたメモリの位置を指し示すアドレスを論理アドレスと呼び、この論理アドレスが指し示す空間を論理アドレス空間と呼ぶ。この例では、各メモリの先頭を示す論理アドレスは４ＫＢ間隔で並ぶことになる。また、これらのメモリ２３ａ〜２３ｄの論理アドレス空間は４ＫＢ×４＝１６ＫＢであり、２１４バイト＝１６ＫＢであることから、アドレスバス（Ａ１８−Ａ３１）の１４ビットで、１バイト単位のアドレッシングが可能である。
【００３３】
この１４ビットのアドレスを用いると、図２に示すように、メモリ２３ａはｈ’０＿０００（１４’ｂ００＿００００＿００００＿００００）〜ｈ’０＿ｆｆｆ（１４’ｂ００＿１１１１＿１１１１＿１１１１）、メモリ２３ｂはｈ’１＿０００（１４’ｂ０１＿００００＿００００＿００００）〜ｈ’１＿ｆｆｆ（１４’ｂ０１＿１１１１＿１１１１＿１１１１）、メモリ２３ｃはｈ’２＿０００（１４’ｂ１０＿０１００＿００００＿００００）〜ｈ’２＿ｆｆｆ（１４’ｂ１０＿１１１１＿１１１１＿１１１１）、メモリ２３ｄはｈ’３＿０００（１４’ｂ１１＿００００＿００００＿００００）〜ｈ’３＿ｆｆｆ（１４’ｂ１１＿１１１１＿１１１１＿１１１１）の範囲に存在するものとして、それぞれ表すことができる。なお、“ｈ’”の表記は１６進表示であることを意味し、また“１４’ｂ”の表記は１４ビットの２進表示であることを意味している。
【００３４】
また、各々の４ＫＢの領域１〜４の中はアドレスバス（Ａ２０−Ａ３１）の１２ビットでアドレッシング可能であり、残りのアドレスバス（Ａ１８−Ａ１９）の２ビットは４つの領域を指定するためのアドレッシングに使用することができる。
【００３５】
図３は、テストモード時にメモリアドレスをアドレッシングするために使用するアドレスバスのビットフィールドを示す図である。図２に示すように、４つのメモリは同じメモリ容量（４ＫＢ）であり、この４つのメモリの領域を弁別できればよいので、図３に示すように、アドレスバス（Ａ１８−Ａ１９）の上位側２ビットを用いてメモリ選択信号生成用デコードビットを生成することができる。
【００３６】
また、アドレスバス（Ａ２０−Ａ３１）の１２ビットは各メモリ領域内のアクセスに使用されるメモリ側アドレスデコードビットとして用いられる。この１２ビットのアドレスバス（Ａ２０−Ａ３１）を用いて、各メモリの最大メモリ容量である４ＫＢ（２１２バイト）の領域内をアドレッシングすることができる。
【００３７】
なお、図２に示す領域１および領域３では、メモリが割り付けられていない３ＫＢの領域には、１ＫＢのメモリのイメージ（ゴースト）が３個分繰り返し配置される。また領域４では、メモリが割り付けられていない２ＫＢの領域には、２ＫＢのメモリのイメージ（ゴースト）が１個分繰り返し配置されることになる。
【００３８】
図４は、この発明にかかる半導体集積回路のテスト回路において、テストモード時の動作に関係するバスインターフェース部２８の回路構成を示すブロック図である。同図に示すように、デコーダ回路４１はアドレスバス（Ａ１８−Ａ１９）の２ビットをデコードし、４本のメモリ選択信号（ＣＳ０−ＣＳ３）を生成する。データドライバ回路４２は、Ｒ／Ｗ信号が“リード”の場合には周辺データバス（ＩＤ０−ＩＤ３１）の値をデータバス（Ｄ０−Ｄ３１）へ向けて出力し、Ｒ／Ｗ信号が“ライト”の場合にはデータバスの値を周辺データバスヘ向けて出力する。
【００３９】
図３に示すアドレスバスのビットフィールドは、図７に示すようなメモリ選択信号生成用デコードビットとメモリ側アドレスデコードビットとの重なりが生じておらず、メモリ選択のための演算や、メモリアクセスのためのメモリアドレスの演算の必要ないことが解る。したがって、図８に示す従来回路のバスインターフェース部１２８では必要としたセレクタ回路１４２、アドレス減算回路１４３が不要となり、図４に示すように、周辺アドレスバス（ＩＡ２０−ＩＡ３１）にアドレスバス（Ａ２０−Ａ３１）の出力をそのまま接続することができるので、製造時テストのための半導体集積回路の構成および機構を簡易にでき、メモリ選択やメモリアクセスに要する時間を短縮することができるという効果が得られる。また、メモリ選択のための演算や、メモリアクセスのためのメモリアドレスの演算を意識する必要がないので、テストプログラムの作成が容易になるという効果が得られる。
【００４０】
なお、この実施の形態では、最大容量が４ＫＢの４つのメモリをアドレッシングする場合、図２に示すように４ＫＢ間隔で並ぶ４つのメモリをマッピングする実施例について説明したが、この実施例に限定されるものではない。例えば、最大容量が６４ＫＢの２５６個のメモリをアドレッシングする場合には、アドレスバス（Ａ１６−Ａ３１）の１６ビットでアドレッシングし、アドレスバス（Ａ８−Ａ１５）の８ビットで２５６の領域を指定できるように、６４ＫＢ間隔で２５６個のメモリをマッピングすればよい。
【００４１】
また、この最大容量としたメモリ領域の管理単位は２ｎバイトのサイズに選ぶことが好適である。このような２ｎバイトのサイズを選択することにより、論理アドレス空間上のメモリの位置を特定するのに、上述したようなアドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となる。
【００４２】
また、この実施の形態では、テストモード時に半導体集積回路の外部端子から内蔵メモリへのアクセスを中心に説明してきたが、ある所定のモード時にＣＰＵからバスインターフェース部を介して内蔵メモリに直接アクセスさせることもできる。この場合にも、メモリ選択やメモリアクセスに要する時間を短縮することができるという効果が得られるとともに、メモリ選択のための演算や、メモリアクセスのためのメモリアドレスの演算を意識する必要がないので、ＲＯＭなどに搭載されるプログラムの作成が容易になるという効果が得られる。
【００４３】
【発明の効果】
以上説明したとおり、この発明によれば、外部端子で設定される所定のモード時に、複数のメモリのそれぞれが、所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置にそれぞれ離散的に配置されることにより、アドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となるようにしているので、メモリ選択回路およびアドレス生成回路の規模を削減でき、テストプログラムの開発を単純化し、テストプログラムの作成時間を短縮化できるという効果を奏する。
【００４４】
つぎの発明によれば、外部端子で設定される所定のモード時にＣＰＵまたは外部端子から複数のメモリにアクセスする場合、所定の領域ごとに並んで配置された論理アドレス空間の論理アドレスの位置に、複数のメモリのそれぞれが、それぞれ離散的に配置されることにより、アドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となるようにしているので、メモリ選択回路およびアドレス生成回路の規模を削減でき、テストプログラムの開発を単純化し、テストプログラムの作成時間を短縮化できるという効果を奏する。
【００４５】
つぎの発明によれば、所定の領域が２ｎバイトのサイズであることにより、アドレスバス上のアドレスデータを分離するだけでメモリ位置の特定とメモリへのアクセスが可能となるようにしているので、メモリ選択回路およびアドレス生成回路の規模を削減でき、テストプログラムの開発を単純化し、テストプログラムの作成時間を短縮化できるという効果を奏する。
【００４６】
つぎの発明によれば、バスインターフェース部は、アドレスバスの上位側の所定のビットに基づいて複数のメモリを選択するようにしているので、メモリ選択回路およびアドレス生成回路の規模を削減でき、テストプログラムの開発を単純化し、テストプログラムの作成時間を短縮化できるという効果を奏する。
【００４７】
つぎの発明によれば、バスインターフェース部は、アドレスバスの上位側の所定のビットに基づいて複数のメモリを選択し、アドレスバスの上位側の所定のビット以外のビットに基づいて複数のメモリのそれぞれの領域内をアクセスするようにしているので、メモリ選択回路およびアドレス生成回路の規模を削減でき、テストプログラムの開発を単純化し、テストプログラムの作成時間を短縮化できるという効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる半導体集積回路のテスト回路の構成を示すブロック図である。
【図２】本発明にかかる半導体集積回路のテスト回路におけるテストモード時のメモリの論理アドレス空間を示す説明図である。
【図３】テストモード時にメモリアドレスをアドレッシングするために使用するアドレスバスのビットフィールドを示す図である。
【図４】この発明にかかる半導体集積回路のテスト回路において、テストモード時の動作に関係するバスインターフェース部の回路構成を示すブロック図である。
【図５】外部端子を介して内蔵メモリのテストを行う従来の半導体集積回路のテスト回路（従来回路）の構成を示すブロック図である。
【図６】従来回路におけるテストモード時のメモリのアドレス空間を示す説明図である。
【図７】従来回路においてテストモード時にメモリアドレスをアドレッシングするために使用するアドレスバスのビットフィールドを示す図である。
【図８】従来回路におけるテストモード時の動作に関係するバスインターフェース部の回路構成を示すブロック図である。
【符号の説明】
２１，１２１　ＣＰＵ、２２ａ，２２ｂ，２２ｃ　周辺Ｉ／Ｏ、２３ａ，２３ｂ，２３ｃ，２３ｄ，１２３ａ，１２３ｂ，１２３ｃ，１２３ｄ　メモリ、２４，１２４　アドレス端子、２５，１２５　データ端子、２６，１２６　動作モード端子、２７，１２７　Ｒ／Ｗ端子、２８，１２８　バスインターフェース部、４１，１４１　デコーダ回路、１４２　セレクタ回路、１４３　アドレス減算回路、４２，１４４　データドライバ回路。
【図１】
2004071056.tif 000003
【図２】
2004071056.tif 000004
【図３】
2004071056.tif 000005
【図４】
2004071056.tif 000006
【図５】
2004071056.tif 000007
【図６】
2004071056.tif 000008
【図７】
2004071056.tif 000009
【図８】
2004071056.tif 000010