(57)【要約】  【課題】  ハードマクロ−ソフトマクロ間の結線には全て実動作で必要な信号線のみを用い、かつその結線の良否の検証に要する時間が長くならないようにする。  【解決手段】  信号出力用ラッチＦＦ１〜ＦＦ３を有するソフトマクロ１０と、信号入力用ラッチＦＦ１１〜ＦＦ１３を有するハードマクロ２０と、ソフトマクロ１０とハードマクロ２０を接続する結線３０とを具備する半導体集積回路において、ソフトマクロ１０に信号出力用ラッチＦＦ１〜ＦＦ３を通常入力信号ＩＮ１〜ＩＮ３から切り離し且つスキャン信号ＳＩ１に対してシフトレジスタ状に接続するセレクタＳ１〜Ｓ３を配置し、ハードマクロ２０に、信号入力用ラッチＦＦ１１〜ＦＦ１３の出力を論理処理する論理回路（ＮＡＮＤ１１〜ＮＡＮＤ１４，ＩＮＶ１１，ＩＮＶ１２，Ｓ１４）を配置し、スキャン信号ＳＩ１を入力したときの論理回路の出力により結線の良否の検証を行う。【選択図】  図１
2005291779.tif 000002
【特許請求の範囲】
【請求項１】
ｎ（ｎ≧２）個の信号出力用ラッチを有する第１の回路ブロックと、ｎ個の信号入力用のラッチを有する第２の回路ブロックと、前記ｎ個の信号出力用ラッチと前記ｎ個の信号出力用ラッチの間をそれぞれ接続する結線とを具備する半導体集積回路において、
前記第１の回路ブロックに、前記ｎ個の信号出力用ラッチを通常入力信号から切り離し且つスキャン信号に対してシフトレジスタ状に接続するｎ個のセレクタを配置し、
前記第２の回路ブロックに、前記ｎ個の信号入力用ラッチの出力を論理処理する論理回路を配置し、
前記スキャン信号を入力したときの前記論理回路の出力により前記結線の良否の検証が行われるようにしたことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記論理回路は、前記ｎ個の信号入力用ラッチの出力を演算する第１および第２の論理回路と、該第１および第２の論理回路の出力の一方を前記スキャン信号の論理に応じて選択するセレクタとを具備することを特徴とする半導体集積回路。
【請求項３】
請求項１または２に記載の半導体集積回路において、
ソフトマクロに前記第１及び第２の回路ブロックを配置するとともに、ハードマクロに前記第１及び第２の回路ブロックを配置し、
前記ソフトマクロの前記第１の回路ブロックと前記ハードマクロの前記第２の回路ブロックとの間を第１の結線で接続し、
前記ハードマクロの前記第１の回路ブロックと前記ソフトマクロの前記第２の回路ブロックとの間を第２の結線で接続したことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路ブロック間の結線の良否の検証を行うスキャン手段を設けた半導体集積回路（ＬＳＩ）に関するものである。
【背景技術】
【０００２】
半導体集積回路においては、技術の進歩により、転送レートが１ＧＨｚ／secを超えるシリアル高速通信化に伴い、高速で動作する必要があるSerDes等のＩ／Ｏ部はハードマクロで実現され、シリアルデータをそのハードマクロ内部でパラレルデータに変換して動作スピードを数分の１〜十数分の１に落としてからシリコン内部のコア部のソフトマクロと接続している。
【０００３】
高速シリアルデータをパラレルデータに変換したとは言え、ソフトマクロ−ハードマクロ間は場合によっては２００ＭＨｚを超える周波数で動作する必要があるため、通常そのインターフェースではフリップフロップからなるラッチを使ってクロックに同期した信号でやりとりされている。
【０００４】
そこで、特許文献１では、スタンダードセルを組み合わせたブロックとマクロブロックやＩＰ（機能ブロック等）から成るカスタムブロックとを組み合わせた装置におけるブロック間の境界領域（結線）の良否の検証の容易化を実現することを目的にして、カスタムブロックをスキャンモードに設定した場合に、通常動作よりも簡易なＥＸＯＲ演算等の処理を行って出力する設計を行うという方法が提案されている。
【０００５】
また、一般的に、ハードマクロにスキャンチェーンが張られている場合には、ソフトマクロに張られたスキャンチェーンとを組み合わせたスキャン手法を用いてハードマクロとソフトマクロ間の結線の良否を検証することが可能である。
【特許文献１】特開２００１−１８３４２４
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献１では、その図１などに示されているように、ＥＸＯＲ等の出力結果を表す信号が新たにカスタムブロックとマクロブロック間に付加されるため、高周波動作を要求されるカスタムブロック−マクロブロック間の境界領域がレイアウト上で不利となる。
【０００７】
また、前記スキャン手法では、スキャンのテスト時間は、ソフトマクロ側のスキャンチェーンあるいはハードマクロ側のスキャンチェーンのどちらか長い方で律速され、しかもソフトマクロとハードマクロ間の結線の良否の検証を行うためにスキャンアウトのモードで１クロックで１レジスタずつ読み出す必要があるため、テスト時間が長くなる。
【０００８】
本発明の目的は、ハードマクロ−ソフトマクロ間等の回路ブロック間の結線の良否の検証を行うとき、その結線には全て実動作で必要な信号線のみを用い、かつその検証に要する時間が長くならないようにした半導体集積回路を提供することである。
【課題を解決するための手段】
【０００９】
請求項１にかかる発明は、ｎ（ｎ≧２）個の信号出力用ラッチを有する第１の回路ブロックと、ｎ個の信号入力用のラッチを有する第２の回路ブロックと、前記ｎ個の信号出力用ラッチと前記ｎ個の信号出力用ラッチの間をそれぞれ接続する結線とを具備する半導体集積回路において、前記第１の回路ブロックに、前記ｎ個の信号出力用ラッチを通常入力信号から切り離し且つスキャン信号に対してシフトレジスタ状に接続するｎ個のセレクタを配置し、前記第２の回路ブロックに、前記ｎ個の信号入力用ラッチの出力を論理処理する論理回路を配置し、前記スキャン信号を入力したときの前記論理回路の出力により前記結線の良否の検証が行われるようにしたことを特徴とする。
【００１０】
請求項２にかかる発明は、請求項１に記載の半導体集積回路において、前記論理回路は、前記ｎ個の信号入力用ラッチの出力を演算する第１および第２の論理回路と、該第１および第２の論理回路の出力の一方を前記スキャン信号の論理に応じて選択するセレクタとを具備することを特徴とする。
【００１１】
請求項３にかかる発明は、請求項１または２に記載の半導体集積回路において、ソフトマクロに前記第１及び第２の回路ブロックを配置するとともに、ハードマクロに前記第１及び第２の回路ブロックを配置し、前記ソフトマクロの前記第１の回路ブロックと前記ハードマクロの前記第２の回路ブロックとの間を第１の結線で接続し、前記ハードマクロの前記第１の回路ブロックと前記ソフトマクロの前記第２の回路ブロックとの間を第２の結線で接続したことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、検証用の端子ピンや回路を多く必要とせず、ソフトマクロ−ハードマクロ等の回路ブロック間の結線では通常必要な信号のみを用い、その結線の良否を短い時間で検証できる。
【発明を実施するための最良の形態】
【００１３】
図１は本発明の実施例の半導体集積回路のブロック図である。１０はコア領域を構成するソフトマクロ（第１の回路ブロック）、２０はＩ／Ｏ領域を構成するハードマクロ（第２の回路ブロック）、３０はそのソフトマクロ１０とハードマクロ２０間の結線、４０はそれらソフトマクロ１０とハードマクロ２０と配線３０を含む半導体集積回路である。
【００１４】
ソフトマクロ１０にはフリップフロップからなる信号出力用のラッチＦＦ１〜ＦＦ３とフリップフロップからなる信号入力用のラッチＦＦ４〜ＦＦ６が備えられ、ハードマクロ２０にはフリップフロップからなる信号入力用のラッチＦＦ１１〜ＦＦ１３とフリップフロップからなる信号出力用のラッチＦＦ１４〜ＦＦ１６が備えられている。ラッチＦＦ１の出力はラッチＦＦ１１の入力に、ラッチＦＦ２の出力はラッチＦＦ１２の入力に、ラッチＦＦ３の出力はラッチＦＦ１３の入力に、ラッチＦＦ１４の出力はラッチＦＦ４の入力に、ラッチＦＦ１５の出力はラッチＦＦ５の入力に、ラッチＦＦ１６の出力はラッチＦＦ６の入力に、それぞれ接続されることで、ソフトマクロ１０とハードマクロ２０の間の結線３０が形成され、その間の送受信が可能となっている。
【００１５】
本実施例では、以上のようなソフトマクロ１０とハードマクロ２０の間の結線３０の良否を検証するために、ソフトマクロ１０側にはセレクタＳ１〜Ｓ３を接続してスキャンチェーンを形成可能とし、ナンドゲートＮＡＮＤ１〜ＮＡＮＤ４、インバータＩＮＶ１，ＩＮＶ２、セレクタＳ４を接続して論理回路を形成している。またハードマクロ２０側にもセレクタＳ１１〜Ｓ１３を接続してスキャンチェーンを形成可能とし、ナンドゲートＮＡＮＤ１１〜ＮＡＮＤ１４、インバータＩＮＶ１１，ＩＮＶ１２、セレクタＳ１４を接続して論理回路を形成している。これらのスキャンチェーンや論理回路が、ソフトマクロ１０とハードマクロ２０の間の結線３０の良否を検証するためのスキャン回路を構成している。
【００１６】
さて、通常動作モードでは、端子ピンの選択信号ＳＥＬ１，ＳＥＬ２が“０”に設定され、セレクタＳ１〜Ｓ３，Ｓ１１〜Ｓ１３は端子ｂが選択されるので、ソフトマクロ１０側の入力信号ＩＮ１〜ＩＮ３がハードマクロ２０側に転送されて出力信号ＯＵＴ１１〜ＯＵＴ１３となる。また、ハードマクロ２０側の入力信号ＩＮ１１〜ＩＮ１３がソフトマクロ１０側に転送されて出力信号ＯＵＴ１〜ＯＵＴ３となる。
【００１７】
次に、スキャンモードでは、端子ピンの選択信号ＳＥＬ１，ＳＥＬ２が“１”に設定されるので、セレクタＳ１〜Ｓ３，Ｓ１１〜Ｓ１３は端子ａが選択され、ソフトマクロ１０側には端子ピンからスキャン信号ＳＩ１が入力し、ハードマクロ２０には端子ピンからスキャン信号ＳＩ２が入力する。
【００１８】
ソフトマクロ１０側に入力したスキャン信号ＳＩ１は、ラッチＦＦ１の出力に信号Ｘ１として現れ、これがラッチＦＦ２とラッチＦＦ１１に取り込まれて、それぞれ信号Ｘ２，Ｘ１’となる。また、信号Ｘ２はラッチＦＦ３とラッチＦＦ１２に取り込まれて、それぞれ信号Ｘ３，Ｘ２’となる。さらに、信号Ｘ３はラッチＦＦ１３に取り込まれて信号Ｘ３’となる。そして、ラッチＦＦ１１〜ＦＦ１３の出力Ｘ１’〜Ｘ３’は、ナンドゲートＮＡＮＤ１１〜ＮＡＮＤ１４とインバータＩＮＶ１１，ＩＮＶ１２によって演算され、信号Ｘ４，Ｘ５としてセレクタＳ１４に入力する。このセレクタＳ１４はスキャン信号ＳＩ１が“１”のときは端子ａが選択され、“０”のときは端子ｂが選択される。
【００１９】
以上から、スキャン信号ＳＩ１をソフトマクロ１０側に入力するときは、ソフトマクロ１０側からハードマクロ２０側への結線のスキャンが行われ、図２に示すような動作波形の信号Ｘ１〜Ｘ３、Ｘ１’〜Ｘ３’，Ｘ４，Ｘ５を得ることができ、セレクタＳ１４の出力信号ＯＵＴａを検証することにより、ソフトマクロ１０側からハードマクロ２０側への結線の良否を検証することが可能となる。出力信号ＯＵＴａには、スキャン信号ＳＩ１が“１”のときは信号Ｘ４が出力し、“０”のときは信号Ｘ５が出力する。
【００２０】
ハードマクロ２０側にスキャン信号ＳＩ２を入力したときも、上記と同様に、セレクタＳ４の出力信号ＯＵＴｂを検証することにより、ハードマクロ２０側からソフトマクロ１０側への結線の良否を検証することが可能となる。
【００２１】
以上のように、本実施例では、データ転送用に本来的に備わっているラッチＦＦ１〜ＦＦ６，ＦＦ１１〜ＦＦ１６に対して、セレクタＳ１〜Ｓ４，Ｓ１１〜Ｓ１４、ナンドゲートＮＡＮＤ１〜ＮＡＮＤ４，ＮＡＮＤ１１〜ＮＡＮＤ１４、インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ１１，ＩＮＶ１２を追加するのみで、ソフトマクロ１０とハードマクロ２０の間の送受信用の結線３０の良否を検証することが可能となる。このとき、ソフトマクロ１０とハードマクロ２０の境界に新たな線路配置は不要であり、またスキャン信号を１回入力するのみで短時間で結線の良否の検証が可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例の半導体集積回路のブロック図である。
【図２】図１の半導体集積回路のスキャン時のタイムチャートである。
【符号の説明】
【００２３】
１０：ソフトマクロ
２０：ハードマクロ
３０：結線
４０：半導体集積回路
【図１】
2005291779.tif 000003
【図２】
2005291779.tif 000004