(57)【要約】【課題】ハードマクロを制御するフリップフロップからハードマクロへの信号遷移のタイミング改善、回路面積の削減、電力の削減、さらには、選択論理回路の配置の制約を少なくする。【解決手段】ハードマクロ１１０の周辺論理回路内におけるフリップフロップの一部又は全部を、スキャンシフトにより所定の値を出力するスキャンフリップフロップ１３１で構成する。そして、周辺論理回路内に、スキャンフリップフロップ１３１の出力に応じた値を出力する第１の組み合わせ論理回路１４１と、スキャンシフトにより第１の組み合わせ論理回路１４１の出力が所定の値に固定された場合に、ハードマクロテスト信号をハードマクロ１１０に伝播する第２の組み合わせ論理回路１４２とを設ける。【選択図】図１
2008298618.tif 000002
【特許請求の範囲】
【請求項１】
ハードマクロと、
前記ハードマクロに出力を伝播する周辺論理回路と、
前記ハードマクロをテストするハードマクロテスト信号を出力するテスト回路と、
を備え、
前記周辺論理回路は、
スキャンシフトにより所定の値を出力する、少なくとも１つ以上のスキャンフリップフロップと、
前記スキャンフリップフロップの出力に応じた値を出力する第１の組み合わせ論理回路と、
スキャンシフトにより前記第１の組み合わせ論理回路の出力が所定の値に固定された場合に、前記ハードマクロテスト信号を前記ハードマクロに伝播する第２の組み合わせ論理回路と、
を有していることを特徴とする半導体装置。
【請求項２】
請求項１の半導体装置であって、
前記ハードマクロは、フリップフロップを介して、前記周辺論理回路の出力が伝播されることを特徴とする半導体装置。
【請求項３】
請求項１の半導体装置であって、
前記テスト回路は、フリップフロップを介して、前記ハードマクロの出力が入力されることを特徴とする半導体装置。
【請求項４】
ハードマクロと、
前記ハードマクロに出力が接続されたスキャンフリップフロップを有する周辺論理回路と、
前記ハードマクロをテストするハードマクロテスト信号を出力するテスト回路と、
を備え、
前記スキャンフリップフロップのスキャンデータ入力端子には、前記ハードマクロテスト信号が入力されることを特徴とする半導体装置。
【請求項５】
請求項４の半導体装置であって、
前記テスト回路は、前記ハードマクロの出力が、フリップフロップを介して入力されることを特徴とする半導体装置。
【請求項６】
ハードマクロと、
前記ハードマクロに出力を伝播する周辺論理回路と、
を備え、
前記周辺論理回路は、
スキャンシフトにより所定の値を出力する、少なくとも１つ以上のスキャンフリップフロップと、
前記スキャンフリップフロップの出力に応じた値を出力する第１の組み合わせ論理回路と、
前記第１の組み合わせ論理回路の出力及び外部入力端子と接続されており、前記第１の組み合わせ論理回路の出力が所定の値に固定された場合に、前記外部入力端子から入力された信号を前記ハードマクロに伝播する第２の組み合わせ論理回路と、
を有していることを特徴とする半導体装置。
【請求項７】
請求項６の半導体装置であって、
前記ハードマクロは、フリップフロップを介して、前記周辺論理回路の出力が伝播されることを特徴とする半導体装置。
【請求項８】
請求項６の半導体装置であって、
リップフロップを介して、前記ハードマクロの出力が入力されるテスト回路をさらに備えていることを特徴とする半導体装置。
【請求項９】
請求項６の半導体装置であって、
前記ハードマクロは、出力が外部出力端子に接続されていることを特徴とする半導体装置。
【請求項１０】
請求項６の半導体装置であって、
前記ハードマクロは、フリップフロップを介して、出力が外部出力端子に接続されていることを特徴とする半導体装置。
【請求項１１】
ハードマクロと、
前記ハードマクロに出力が接続されたスキャンフリップフロップを有する周辺論理回路と、
を備え、
前記スキャンフリップフロップのスキャンデータ入力端子は、外部入力端子と接続されていることを特徴とする半導体装置。
【請求項１２】
請求項１１の半導体装置であって、
フリップフロップを介して、前記ハードマクロの出力が入力されるテスト回路をさらに備えたことを特徴とする半導体装置。
【請求項１３】
請求項１１の半導体装置であって、
前記ハードマクロは、出力が外部出力端子に接続されていることを特徴とする半導体装置。
【請求項１４】
請求項１１の半導体装置であって、
前記ハードマクロは、フリップフロップを介して、出力が外部出力端子に接続されていることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＭ等のハードマクロを搭載した半導体装置に関するものである。
【背景技術】
【０００２】
半導体装置ではＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のハードマクロを搭載したものが多くなっている。
【０００３】
このハードマクロを試験する方法として、ＢＩＳＴ回路（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）等のテスト用の回路を実装する方法がある。
【０００４】
ＢＩＳＴ回路のようなテスト回路を、ハードマクロを備えた半導体装置に対して実装した半導体装置の一例としては、セレクタ論理のような論理（選択論理回路と呼ぶことにする）により通常動作時とテスト時とで信号パスを切り替えるものがある（例えば特許文献１を参照）。
【特許文献１】特開２００４−１２３７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
半導体装置内のフリップフロップやハードマクロの多くはそれぞれに入力されるクロック信号に同期して動作しており、クロック信号によりフリップフロップから出力された信号は、ハードマクロに次のクロック信号が到達するまでにハードマクロに伝播する必要がある。また、ハードマクロ出力信号についてもクロック信号により出力され次のクロック信号が到達するまでに後段のフリップフロップに到達する必要がある。
【０００６】
しかしながら、上記の従来の半導体装置では、選択論理回路を実装することにより、選択論理回路からハードマクロへの信号伝播に時間がかかり、クロックに同期してハードマクロの前段のフリップフロップから出力された信号が、次のクロックまでに、ハードマクロに到達できない場合がある。この場合は、クロック信号の周期を下げる等の対応が必要になり、半導体装置としての動作速度の低下を招く。
【０００７】
特に、ハードマクロの前段に位置するフリップフロップとハードマクロとの間には、組み合わせ論理回路が存在することが多く、信号遷移のタイミングは厳しいことが多い。したがって、選択論理回路を追加することによる遅延の増加も無視できない。
【０００８】
また、ハードマクロへ入力される信号の大半に選択論理回路を実装する必要があるので、選択論理回路の追加や配線増加による面積増加や電力の増加を招くことになる。
【０００９】
また、組み合わせ論理より前に選択論理回路を実装した場合は、テスト時に組み合わせ論理がテスト信号を伝播できるように、論理を実装しなければいけないので、選択論理回路はハードマクロの入力の直前に配置されることが多い。すなわち、選択論理回路の配置には制約が多かった。
【００１０】
本発明は上記の問題に着目してなされたものであり、ハードマクロを制御するフリップフロップからハードマクロへの信号遷移のタイミング改善、回路面積の削減、電力の削減、さらには、選択論理回路の配置の制約を少なくすることを目的としている。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、ハードマクロの周辺論理回路内の一部又は全部のフリップフロップをスキャンフリップフロップで構成し、スキャンフリップフロップのスキャン動作により、テスト回路からのハードマクロテスト信号をハードマクロに伝播する状態に周辺論理回路を固定するようにした。
【００１２】
例えば、本発明の一態様は、
ハードマクロと、
前記ハードマクロに出力を伝播する周辺論理回路と、
前記ハードマクロをテストするハードマクロテスト信号を出力するテスト回路と、
を備え、
前記周辺論理回路は、
スキャンシフトにより所定の値を出力する、少なくとも１つ以上のスキャンフリップフロップと、
前記スキャンフリップフロップの出力に応じた値を出力する第１の組み合わせ論理回路と、
スキャンシフトにより前記第１の組み合わせ論理回路の出力が所定の値に固定された場合に、前記ハードマクロテスト信号を前記ハードマクロに伝播する第２の組み合わせ論理回路と、
を有していることを特徴とする。
【００１３】
また、本発明の一態様は、
ハードマクロと、
前記ハードマクロに出力が接続されたスキャンフリップフロップを有する周辺論理回路と、
前記ハードマクロをテストするハードマクロテスト信号を出力するテスト回路と、
を備え、
前記スキャンフリップフロップのスキャンデータ入力端子には、前記ハードマクロテスト信号が入力されることを特徴とする。
【００１４】
また、本発明の一態様は、
ハードマクロと、
前記ハードマクロに出力を伝播する周辺論理回路と、
を備え、
前記周辺論理回路は、
スキャンシフトにより所定の値を出力する、少なくとも１つ以上のスキャンフリップフロップと、
前記スキャンフリップフロップの出力に応じた値を出力する第１の組み合わせ論理回路と、
前記第１の組み合わせ論理回路の出力及び外部入力端子と接続されており、前記第１の組み合わせ論理回路の出力が所定の値に固定された場合に、前記外部入力端子から入力された信号を前記ハードマクロに伝播する第２の組み合わせ論理回路と、
を有していることを特徴とする。
【００１５】
また、本発明の一態様は、
ハードマクロと、
前記ハードマクロに出力が接続されたスキャンフリップフロップを有する周辺論理回路と、
を備え、
前記スキャンフリップフロップのスキャンデータ入力端子は、外部入力端子と接続されていることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ハードマクロを制御するフリップフロップからハードマクロへの信号遷移のタイミング改善、回路面積の削減、電力の削減、さらには、選択論理回路の配置の制約を少なくすることが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
【００１８】
《発明の実施形態１》
図１は、本発明の実施形態１に係る半導体装置１００の構成を示すブロック図である。
【００１９】
同図において、ハードマクロ１１０は、例えばＲＡＭなどのハードマクロであり、周辺論理回路（後述）の出力を受けて動作する。また、テスト回路１２０は、ハードマクロ１１０をテストするためのハードマクロテスト信号を出力する回路である。
【００２０】
ハードマクロ１１０の周辺論理回路は、内部のフリップフロップの一部又は全部がスキャンフリップフロップで構成されている。図１の例では、周辺論理回路においてスキャンフリップフロップで構成されている箇所をスキャンフリップフロップ群１３０として図示し、他の部分を組み合わせ論理回路群１４０として図示している。
【００２１】
スキャンフリップフロップ群１３０は、１つまたは複数のスキャンフリップフロップ１３１を有している。
【００２２】
それぞれのスキャンフリップフロップ１３１は、スキャンイネーブル端子ＮＴとクロック端子ＣＫとデータ出力端子Ｑとデータ入力端子Ｄとスキャンデータ入力端子ＤＴとを有している。
【００２３】
スキャンイネーブル端子ＮＴは、スキャンデータ入力端子ＤＴとデータ入力端子Ｄからの入力信号を選択するための論理値が与えられる端子であり、スキャンイネーブル信号（Ｓ０４）が入力されている。本実施形態では、スキャンイネーブル信号Ｓ０４によってスキャンイネーブル端子ＮＴがＬレベルに固定された場合に、スキャンフリップフロップ１３１は、データ入力端子Ｄの値を出力として選択し、スキャンイネーブル端子ＮＴがＨレベルに固定された場合に、スキャンデータ入力端子ＤＴに与えられた信号を出力として選択する。なお、スキャンイネーブル端子ＮＴがＬレベルに固定された場合に、スキャンデータ入力端子ＤＴに与えられた信号を選択し、スキャンイネーブル端子ＮＴがＨレベルに固定された場合にデータ入力端子Ｄに与えられた信号を選択する構成でもよいことはいうまでもない。
【００２４】
クロック端子ＣＫは、クロック信号（Ｓ０１）が与えられる端子である。スキャンフリップフロップ１３１は、クロック信号Ｓ０１に同期して動作し、スキャンイネーブル端子ＮＴにより選択された信号をデータ出力端子Ｑに出力する。
【００２５】
データ出力端子Ｑは、他のスキャンフリップフロップ１３１のスキャンデータ入力端子ＤＴへ接続されている。これにより、スキャンフリップフロップ１３１同士が数珠繋ぎに接続されている。図１の例では、２つのスキャンフリップフロップ１３１が接続されている。
【００２６】
最も前段のスキャンフリップフロップ１３１におけるデータ入力端子Ｄは、通常動作時に与えるデータを入力する端子である。スキャンイネーブル信号Ｓ０４をＬレベルに固定し、最も前段のスキャンフリップフロップ１３１におけるデータ入力端子Ｄから所定のデータ信号（Ｓ０２）を入力することで、それぞれのスキャンデータ入力端子ＤＴとデータ出力端子Ｑを任意のレベルに固定することができる。これをスキャンシフトと呼ぶ。一般的にこの構造は、スキャンテストを実施するために用いられる。
【００２７】
最も前段のスキャンフリップフロップ１３１におけるスキャンデータ入力端子ＤＴ（スキャンチェーン入力）は、ハードマクロ１１０のテスト時に、各データ出力端子Ｑと他のスキャンフリップフロップ１３１におけるスキャンデータ入力端子ＤＴのレベルを固定するためのデータを入力する端子である。スキャンイネーブル信号Ｓ０４をＨレベルに固定し、最も前段のスキャンフリップフロップ１３１におけるスキャンデータ入力端子ＤＴから所定の信号（スキャンデータ信号Ｓ０３）を入力することで、それぞれのスキャンデータ入力端子ＤＴとデータ出力端子Ｑをスキャンデータ入力端子ＤＴに応じたレベルに固定することができる。
【００２８】
組み合わせ論理回路群１４０は、第１の組み合わせ論理回路１４１、第２の組み合わせ論理回路１４２を備えている。
【００２９】
第１の組み合わせ論理回路１４１は、スキャンフリップフロップ１３１のデータ出力端子Ｑに接続されており、データ出力端子Ｑの論理値に応じた出力をする。そのため、スキャンシフトによって、第１の組み合わせ論理回路１４１から第２の組み合わせ論理回路１４２への信号を制御することができる。
【００３０】
第２の組み合わせ論理回路１４２は、第１の組み合わせ論理回路１４１の出力、及びハードマクロテスト信号のうちの何れか一方をハードマクロ１１０に出力する。本実施形態では、第２の組み合わせ論理回路１４２はＯＲ回路である。したがって、第２の組み合わせ論理回路１４２は、第１の組み合わせ論理回路１４１の出力がＬレベルに固定された場合には、ハードマクロテスト信号をハードマクロ１１０に伝播する。なお、第２の組み合わせ論理回路１４２の構成は、組み合わせ論理回路群１４０の構成に応じ、ＡＮＤ回路、ＮＡＮＤ回路、ＯＲ回路やＮＯＲ回路などを適宜用いて変更すればよい。
【００３１】
上記の半導体装置１００は、通常動作時には、スキャンイネーブル信号Ｓ０４をＬレベルに制御する。これにより、他の論理回路や外部端子などからデータ入力端子Ｄに与えられたデータが、クロック端子ＣＫに入力されたクロック信号Ｓ０１に同期してデータ出力端子Ｑへ出力される。そして、第１の組み合わせ論理回路１４１は、スキャンフリップフロップ１３１の出力に応じた論理値を第２の組み合わせ論理回路１４２に出力する。このとき、ハードマクロテスト信号は、第１の組み合わせ論理回路１４１の出力がハードマクロ１１０に伝播するように固定する。この例では、テスト回路１２０の出力をＬレベルに固定しておけば、第１の組み合わせ論理回路１４１の出力がハードマクロ１１０に伝播される。
【００３２】
また、ハードマクロ１１０のテスト時には、スキャンイネーブル信号Ｓ０４をＨレベルに制御する。最も前段のスキャンフリップフロップ１３１におけるスキャンデータ入力端子ＤＴの値を所定値に固定し、クロック端子ＣＫにクロック信号Ｓ０１を与える。これにより、データ出力端子Ｑの出力が固定されて、第１の組み合わせ論理回路１４１の出力も固定される。すなわち、第１の組み合わせ論理回路１４１の出力がＬレベルに固定されるように、スキャンデータ入力端子ＤＴにスキャンデータ信号Ｓ０３を与えれば、ハードマクロテスト信号がテスト回路１２０からハードマクロ１１０へ伝播される。
【００３３】
以上のように本実施形態によれば、単純な論理回路（第２の組み合わせ論理回路１４２）の実装だけで、ハードマクロ１１０への入力をテスト時にハードマクロテスト信号に切り替えることが可能になる。すなわち、スキャンフリップフロップ１３１とハードマクロ１１０との間の信号伝播の遅延が改善する。しかも、選択論理回路として実装する論理回路が小さいので、回路面積の削減、電力の削減にもつながる。
【００３４】
また、通常動作とテストとを切り替えるための制御論理を必要としないので、制御容易化、配線削減が可能になる。
【００３５】
なお、組み合わせ論理回路群は、スキャンフリップフロップで制御可能な箇所であれば、ハードマクロ入力とスキャンフリップフロップ間のどこにでも実装可能である。
【００３６】
《発明の実施形態２》
図２は、本発明の実施形態２に係る半導体装置２００の構成を示すブロック図である。半導体装置２００は、同図に示すように、半導体装置１００の組み合わせ論理回路群１４０に対して第３の組み合わせ論理回路２１０を追加したものである。この追加に伴って、スキャンフリップフロップ群１３０内には、新たにスキャンフリップフロップ１３１が追加されている。
【００３７】
第３の組み合わせ論理回路２１０は、第２の組み合わせ論理回路１４２とハードマクロ１１０の間に配置されている。第３の組み合わせ論理回路２１０は、第２の組み合わせ論理回路１４２の出力を受けて、第２の組み合わせ論理回路１４２の出力に応じた論理値の信号をハードマクロ１１０に出力するが、所定の制御信号が与えられると、第２の組み合わせ論理回路１４２の出力をそのままハードマクロ１１０に伝播する。
【００３８】
新たに追加されたスキャンフリップフロップ１３１は、データ出力端子Ｑの出力を、前記所定の制御信号として第３の組み合わせ論理回路２１０に出力する。
【００３９】
上記のように第３の組み合わせ論理回路２１０を制御できれば、第２の組み合わせ論理回路１４２とハードマクロ１１０の間に第３の組み合わせ論理回路２１０があっても、ハードマクロ１１０のテストが可能になる。すなわち、本実施形態によれば、各スキャンフリップフロップ１３１からハードマクロ１１０への信号到達時間がなるべく短くなるように、第２の組み合わせ論理回路１４２の実装場所を選択することが可能になる。
【００４０】
《発明の実施形態３》
図３は、本発明の実施形態３に係る半導体装置３００の構成を示すブロック図である。半導体装置３００は、同図に示すように、半導体装置１００に対してフリップフロップ３１０を追加したものである。
【００４１】
本実施形態では組み合わせ論理回路群１４０の出力は、フリップフロップ３１０を介してハードマクロ１１０に接続されている。
【００４２】
フリップフロップ３１０は、ハードマクロ１１０のテスト時には、Ｄ端子に入力された組み合わせ論理回路群１４０の出力を、ＣＫ端子へ入力されたクロック信号に同期してそのまま出力する。そのため、フリップフロップ３１０は、スキャンフリップフロップである必要はない。また、フリップフロップ３１０は、ハードマクロ１１０の前段に位置するフリップフロップであれば、テスト以外の論理に使用されるフリップフロップでもよい。つまり、ハードマクロ１１０をテストするために新しく追加する必要はない。
【００４３】
上記のように本実施形態では、第２の組み合わせ論理回路１４２とハードマクロ１１０との間にフリップフロップ３１０を設けたので、スキャンフリップフロップ１３１とハードマクロ１１０の信号伝播時間が厳しい場合でも、第２の組み合わせ論理回路１４２による信号伝播時間への影響を避けることができる。
【００４４】
また、通常のＢＩＳＴ回路（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）におけるテスト回路構成では、ハードマクロのすぐ前段にテスト回路を実装するため、テスト以外に用いるフリップフロップからハードマクロへの信号伝播のタイミングを検証することができない。しかし、本実施形態では、テスト回路１２０の出力信号は、フリップフロップ３１０（テスト以外の論理に使用されるフリップフロップ）を介してハードマクロに接続されるため、フリップフロップ３１０からハードマクロ１１０への信号伝播のタイミングを検証することができる。
【００４５】
なお、実施形態２と同様に、フリップフロップ３１０とハードマクロ１１０との間に組み合わせ論理回路が存在してもよい。この場合は、フリップフロップ３１０の出力がハードマクロ１１０に伝播するように、スキャンフリップフロップ１３１によって、フリップフロップ３１０とハードマクロ１１０との間の組み合わせ論理回路の出力を制御できるようにする。
【００４６】
《発明の実施形態４》
図４は、本発明の実施形態４に係る半導体装置４００の構成を示すブロック図である。半導体装置４００は、同図に示すように、半導体装置１００に対してフリップフロップ４１０を追加したものである。
【００４７】
本実施形態ではハードマクロ１１０の出力は、フリップフロップ４１０のＤ端子に入力され、フリップフロップ４１０のデータ出力端子Ｑの出力は、テスト回路１２０に接続されている。
【００４８】
ハードマクロ１１０の信号伝播時間は長いことが多く、ハードマクロ１１０からテスト回路１２０内部のフリップフロップまでの信号伝播には時間がかかる可能性がある。このとき、フリップフロップ４１０により一旦データを受け取ってから次のクロックサイクルでテスト回路１２０へ信号を伝播させることで、タイミングを緩和することができる。
【００４９】
また、通常のＢＩＳＴ回路におけるテスト回路構成では、ハードマクロのすぐ後段にテスト回路を実装するため、テスト以外のフリップフロップからハードマクロへの信号伝播のタイミングを検証することができない。しかし、本実施形態では、テスト回路の出力信号は、フリップフロップ４１０（テスト以外の論理に使用されるフリップフロップ）を介してハードマクロに接続されるため、フリップフロップ４１０からハードマクロ１１０への信号伝播のタイミングを検証することができる。
【００５０】
《発明の実施形態５》
図５は、本発明の実施形態５に係る半導体装置５００の構成を示すブロック図である。半導体装置５００は、同図に示すように、ハードマクロ１１０、スキャンフリップフロップ１３１、及びテスト回路１２０を備えている。
【００５１】
本実施形態ではスキャンフリップフロップ１３１は、直接、もしくは組み合わせ論理回路（図示せず）を介してハードマクロ１１０に接続されている。
【００５２】
スキャンフリップフロップ１３１のスキャンデータ入力端子ＤＴには、テスト回路１２０が出力したハードマクロテスト信号が入力されている。また、スキャンイネーブル端子ＮＴにはスキャンイネーブル信号Ｓ０４が入力されている。
【００５３】
この構成により、テスト時にはスキャンイネーブル信号Ｓ０４をＨレベルに固定して、スキャンフリップフロップ１３１へ入力し、スキャンフリップフロップ１３１からハードマクロ１１０へハードマクロテスト信号を伝播させることでテストを行う。
【００５４】
従来の構成や、実施形態２では、組み合わせ論理回路群１４０内に第２の組み合わせ論理回路１４２を実装しなければならなかった。また、実施形態２においては、第２の組み合わせ論理回路１４２をハードマクロ１１０の前々段と前段のフリップフロップの間に実装しなくてはならなかった。しかし、本実施形態では、スキャンフリップフロップ１３１とハードマクロ１１０との間には全く組み合わせ論理回路を実装することなく、テスト回路を実装することができる。すなわち、テスト以外の論理動作における信号伝播のタイミングに影響を与えることなくテスト回路を実装することができる。
【００５５】
なお、スキャンフリップフロップ１３１は、テスト以外の論理に使用されるフリップフロップでよい。つまり、ハードマクロ１１０をテストするために新しく追加する必要はない。
【００５６】
また、ハードマクロ１１０とスキャンフリップフロップ１３１との間に組み合わせ論理回路を有していてもよい。この場合は、別のスキャンフリップフロップによってその組み合わせ論理回路を制御して、テスト回路１２０と接続されているスキャンフリップフロップ１３１の出力をハードマクロ１１０に伝播するように構成する。
【００５７】
《発明の実施形態６》
図６は、本発明の実施形態６に係る半導体装置６００の構成を示すブロック図である。半導体装置６００は、同図に示すように、半導体装置５００に対してフリップフロップ４１０を追加したものである。
【００５８】
本実施形態ではハードマクロ１１０の出力は、フリップフロップ４１０のＤ端子に入力されている。また、フリップフロップ４１０のデータ出力端子Ｑの出力は、テスト回路１２０に接続されている。
【００５９】
したがって、本実施形態においても、フリップフロップ４１０により一旦データを受け取ってから次のクロックサイクルでテスト回路１２０へ信号を伝播させることで、タイミングを緩和することができる。
【００６０】
《発明の実施形態７》
図７は、本発明の実施形態７に係る半導体装置７００の構成を示すブロック図である。半導体装置７００は、同図に示すように、半導体装置１００の第２の組み合わせ論理回路１４２を外部から制御できるように構成したものである。
【００６１】
半導体装置７００では、第２の組み合わせ論理回路１４２は、一方の端子は第１の組み合わせ論理回路１４１に接続され、もう一方の端子は外部入力端子７１０と接続されている。
【００６２】
また、テスト回路１２０は、ハードマクロ１１０の出力が入力されている。
【００６３】
テスト回路１２０によって第２の組み合わせ論理回路１４２を制御するのでは決まった制御信号しか与えられないが、本実施形態によれば、外部入力端子７１０から自由にハードマクロ１１０を制御することが可能になる。
【００６４】
すなわち、本実施形態では、外部端子から自由にハードマクロを制御することが可能である。
【００６５】
なお、外部入力端子７１０は、入力機能と出力機能を持つ外部入出力端子であってもよい。
【００６６】
《発明の実施形態８》
図８は、本発明の実施形態８に係る半導体装置８００の構成を示すブロック図である。半導体装置８００は、同図に示すように、半導体装置７００に対してフリップフロップ３１０を追加したものである。
【００６７】
本実施形態では組み合わせ論理回路群１４０の出力は、フリップフロップ３１０を介してハードマクロ１１０に接続されている。
【００６８】
本実施形態でも実施形態３と同様に、フリップフロップ３１０は、スキャンフリップフロップである必要はない。また、フリップフロップ３１０は、ハードマクロ１１０の前段に位置するフリップフロップであれば、テスト以外の論理に使用されるフリップフロップでもよい。つまり、ハードマクロ１１０をテストするために新しくフリップフロップ３１０を追加する必要はない。
【００６９】
上記の構成により、実施形態３と同様に、スキャンフリップフロップ１３１とハードマクロ１１０の信号伝播時間が厳しい場合でも、第２の組み合わせ論理回路１４２による信号伝播時間への影響を避けることができる。
【００７０】
なお、実施形態２と同様に、フリップフロップ３１０とハードマクロ１１０との間、または第２の組み合わせ論理回路１４２と外部入力端子７１０との間に組み合わせ論理回路を設けてもよい。この場合は、フリップフロップ３１０の出力がハードマクロ１１０に伝播するように、スキャンフリップフロップ１３１によって、その組み合わせ論理回路の出力を制御できるようにする。
【００７１】
《発明の実施形態９》
図９は、本発明の実施形態９に係る半導体装置９００の構成を示すブロック図である。半導体装置９００は、同図に示すように、半導体装置８００に対してフリップフロップ４１０を追加したものである。
【００７２】
これにより、本実施形態においても、フリップフロップ４１０により一旦データを受け取ってから次のクロックサイクルでテスト回路１２０へ信号を伝播させることで、タイミングを緩和することができる。
【００７３】
《発明の実施形態１０》
図１０は、本発明の実施形態１０に係る半導体装置１０００の構成を示すブロック図である。半導体装置１０００は、同図に示すように、ハードマクロ１１０の出力を外部出力端子１０１０に接続したものである。この場合は、テスト回路１２０は省略してもよい。
【００７４】
これにより、ハードマクロ１１０の出力を外部出力端子１０１０から直接観測することが可能になる。
【００７５】
なお、外部出力端子１０１０は、入力機能と出力機能を持つ外部入出力端子であってもよい。
【００７６】
《発明の実施形態１１》
図１１は、本発明の実施形態１１に係る半導体装置１１００の構成を示すブロック図である。半導体装置１１００は、同図に示すように、ハードマクロ１１０の出力を外部出力端子１０１０に接続したものである。この場合は、テスト回路１２０は省略してもよい。
【００７７】
これにより、本実施形態においても、フリップフロップ４１０により一旦データを受け取ってから次のクロックサイクルで外部出力端子１０１０へ信号を伝播させることで、タイミングを緩和することができる。
【００７８】
《発明の実施形態１２》
図１２は、本発明の実施形態１２に係る半導体装置１２００の構成を示すブロック図である。
【００７９】
実施形態５ではスキャンフリップフロップ１３１のスキャンデータ入力端子ＤＴにテスト回路１２０の出力が接続されていたが、半導体装置１２００では、スキャンフリップフロップ１３１のスキャンデータ入力端子ＤＴは外部入力端子７１０と接続されている。また、テスト回路１２０は、ハードマクロ１１０の出力が接続されている。
【００８０】
これにより、ハードマクロ１１０の入力信号を外部入力端子７１０から容易に制御することができる。
【００８１】
《発明の実施形態１３》
図１３は、本発明の実施形態１３に係る半導体装置１３００の構成を示すブロック図である。
【００８２】
半導体装置１３００は、同図に示すように、ハードマクロ１１０の出力はフリップフロップ４１０を介してテスト回路１２０に接続されている。
【００８３】
本実施形態においても、フリップフロップ４１０により一旦データを受け取ってから次のクロックサイクルでテスト回路１２０へ信号を伝播させることで、タイミングを緩和することができる。
【００８４】
《発明の実施形態１４》
図１４は、本発明の実施形態１４に係る半導体装置１４００の構成を示すブロック図である。半導体装置１４００は、同図に示すように、ハードマクロ１１０の出力を外部出力端子１０１０に接続したものである。この場合は、テスト回路１２０は省略してもよい。
【００８５】
これにより、ハードマクロ１１０の出力を外部出力端子１０１０から直接観測することが可能になる。
【００８６】
なお、外部出力端子１０１０は、入力機能と出力機能を持つ外部入出力端子であってもよい。
【００８７】
《発明の実施形態１５》
図１５は、本発明の実施形態１５に係る半導体装置１５００の構成を示すブロック図である。半導体装置１５００は、半導体装置１４００にフリップフロップ４１０を追加したものである。半導体装置１５００ではハードマクロ１１０の出力は、フリップフロップ４１０を介して外部出力端子１０１０に接続されている。
【００８８】
上記の構成により、本実施形態においても、フリップフロップ４１０により一旦データを受け取ってから次のクロックサイクルで外部出力端子１０１０へ信号を伝播させることで、タイミングを緩和することができる。
【００８９】
なお、上記の実施形態４、６、９、１１、１３、１５では、フリップフロップ４１０はテスト専用に設ける必要はない。フリップフロップ４１０がテスト以外の論理制御を行うフリップフロップであったとしても、テスト時にクロックを供給することにより、入力されたデータをそのままデータ出力端子Ｑに出力する状態にできれば、タイミング緩和に用いることができる。
【００９０】
また、フリップフロップ４１０は、テスト時にシフト動作を行うことができれば、スキャンフリップフロップである必要はない。
【００９１】
また、ハードマクロ１１０とフリップフロップ４１０との間に組み合わせ論理回路が存在してもよい。この場合は、ハードマクロ１１０の出力がフリップフロップ４１０に伝播するように、スキャンフリップフロップ１３１によって、その組み合わせ論理回路の出力を制御できるようにする。つまり、これらの実施形態では、テスト用にフリップフロップを設けることなく、テスト以外の論理制御用に設けられたフリップフロップを用いて構成できる。それゆえ、新たな回路を追加することなくハードマクロ１１０とテスト回路１２０との間の信号伝播のタイミングを緩和することができる。
【００９２】
また、各実施形態におけるスキャンフリップフロップの数は例示であり、組み合わせ論理回路群１４０における組み合わせ論理構成により増減する。
【００９３】
また、スキャンフリップフロップは、ハードマクロのテストだけのために実装する必要はなく、テスト以外の論理動作に使用するもと共用してもよい。
【００９４】
また、スキャンフリップフロップが複数ある場合は、テスト時に各スキャンフリップフロップのデータ出力端子Ｑの出力を制御できれば、それらは同じスキャンチェーン、スキャンイネーブル信号に接続されている必要はない。
【産業上の利用可能性】
【００９５】
本発明に係る半導体装置は、ハードマクロを制御するフリップフロップからハードマクロへの信号遷移のタイミング改善、回路面積の削減、電力の削減、さらには、選択論理回路の配置の制約を少なくすることが可能になるという効果を有し、ＲＡＭ等のハードマクロを搭載した半導体装置等として有用である。
【図面の簡単な説明】
【００９６】
【図１】実施形態１に係る半導体装置１００の構成を示すブロック図である。
【図２】実施形態２に係る半導体装置２００の構成を示すブロック図である。
【図３】実施形態３に係る半導体装置３００の構成を示すブロック図である。
【図４】実施形態４に係る半導体装置４００の構成を示すブロック図である。
【図５】実施形態５に係る半導体装置５００の構成を示すブロック図である。
【図６】実施形態６に係る半導体装置６００の構成を示すブロック図である。
【図７】実施形態７に係る半導体装置７００の構成を示すブロック図である。
【図８】実施形態８に係る半導体装置８００の構成を示すブロック図である。
【図９】実施形態９に係る半導体装置９００の構成を示すブロック図である。
【図１０】実施形態１０に係る半導体装置１０００の構成を示すブロック図である。
【図１１】実施形態１１に係る半導体装置１１００の構成を示すブロック図である。
【図１２】実施形態１２に係る半導体装置１２００の構成を示すブロック図である。
【図１３】実施形態１３に係る半導体装置１３００の構成を示すブロック図である。
【図１４】実施形態１４に係る半導体装置１４００の構成を示すブロック図である。
【図１５】実施形態１５に係る半導体装置１５００の構成を示すブロック図である。
【符号の説明】
【００９７】
１００      半導体装置
１１０      ハードマクロ
１２０      テスト回路
１３０      スキャンフリップフロップ群
１３１      スキャンフリップフロップ
１４０      組み合わせ論理回路群
１４１      第１の組み合わせ論理回路
１４２      第２の組み合わせ論理回路
２００      半導体装置
２１０      第３の組み合わせ論理回路
３００      半導体装置
３１０      フリップフロップ
４００      半導体装置
４１０      フリップフロップ
５００      半導体装置
６００      半導体装置
７００      半導体装置
７１０      外部入力端子
８００      半導体装置
９００      半導体装置
１０００      半導体装置
１０１０      外部出力端子
１１００      半導体装置
１２００      半導体装置
１３００      半導体装置
１４００      半導体装置
１５００      半導体装置
Ｓ０１      クロック信号
Ｓ０２      データ信号
Ｓ０３      スキャンデータ信号
Ｓ０４      スキャンイネーブル信号
【図１】
2008298618.tif 000003
【図２】
2008298618.tif 000004
【図３】
2008298618.tif 000005
【図４】
2008298618.tif 000006
【図５】
2008298618.tif 000007
【図６】
2008298618.tif 000008
【図７】
2008298618.tif 000009
【図８】
2008298618.tif 000010
【図９】
2008298618.tif 000011
【図１０】
2008298618.tif 000012
【図１１】
2008298618.tif 000013
【図１２】
2008298618.tif 000014
【図１３】
2008298618.tif 000015
【図１４】
2008298618.tif 000016
【図１５】
2008298618.tif 000017