(57)【要約】【課題】半導体集積回路の外部入出力信号のタイミングを自動的に調整する。【解決手段】半導体集積回路は、内部セルの動作クロック信号に同期して当該内部セルから出力されたデータ信号又は外部から入力されたデータ信号をラッチするフリップフロップ（１０）を有する入出力セル（１）を備えている。【選択図】図１
2008103929.tif 000002
【特許請求の範囲】
【請求項１】
内部セルの動作クロック信号に同期して、当該内部セルから出力されたデータ信号又は外部から入力されたデータ信号をラッチするフリップフロップを有する入出力セルを備えた
ことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記入出力セルは、前記データ信号及び前記フリップフロップの出力信号を受け、これら信号のいずれか一方を選択的に出力するセレクタを有する
ことを特徴とする半導体集積回路。
【請求項３】
請求項１に記載の半導体集積回路において、
前記入出力セルは、前記フリップフロップへの前記動作クロック信号の供給及び遮断を切り替えるゲート回路を有する
ことを特徴とする半導体集積回路。
【請求項４】
請求項１に記載の半導体集積回路において、
前記入出力セルは、前記動作クロック信号を波形整形して前記フリップフロップに供給するバッファを有する
ことを特徴とする半導体集積回路。
【請求項５】
請求項１に記載の半導体集積回路において、
前記入出力セルは、前記動作クロック信号が所定の論理レベルとなっているとき、前記データ信号をラッチし、当該ラッチしたデータ信号を前記フリップフロップに供給するラッチ回路を有する
ことを特徴とする半導体集積回路。
【請求項６】
請求項１に記載の半導体集積回路において、
前記入出力セルは、前記動作クロック信号を遅延させる少なくとも一つの遅延線と、前記遅延線によって遅延した動作クロック信号を受け、これら信号のいずれか一つを選択的に前記フリップフロップに供給するセレクタとを有する
ことを特徴とする半導体集積回路。
【請求項７】
請求項１に記載の半導体集積回路において、
前記動作クロック信号を分配するクロック分配セルを備え、
前記入出力セルは、前記クロック分配セルによって分配された動作クロック信号を受ける
ことを特徴とする半導体集積回路。
【請求項８】
請求項７に記載の半導体集積回路において、
前記入出力セルは、前記内部セルから直接入力された動作クロック信号及び前記クロック分配セルによって分配された動作クロック信号を受け、これら信号のいずれか一方を選択的に前記フリップフロップに供給するセレクタを有する
ことを特徴とする半導体集積回路。
【請求項９】
請求項７に記載の半導体集積回路において、
前記クロック分配セルは、前記クロック分配セルによって分配された動作クロック信号を受ける入出力セルに挟まれて配置されている
ことを特徴とする半導体集積回路。
【請求項１０】
請求項１に記載の半導体集積回路において、
前記動作クロック信号を出力するクロック入出力セルを備えた
ことを特徴とする半導体集積回路。
【請求項１１】
請求項１０に記載の半導体集積回路において、
前記入出力セルは、前記動作クロック信号を遅延させる少なくとも一つの遅延線と、前記遅延線によって遅延した動作クロック信号を受け、これら信号のいずれか一つを選択的に前記フリップフロップに供給するセレクタとを有する
ことを特徴とする半導体集積回路。
【請求項１２】
請求項１０に記載の半導体集積回路において、
前記クロック入出力セルは、前記動作クロック信号を遅延させる遅延素子を有する
ことを特徴とする半導体集積回路。
【請求項１３】
請求項１０に記載の半導体集積回路において、
前記クロック入出力セルは、前記動作クロック信号を遅延させる少なくとも一つの遅延線と、前記遅延線によって遅延した動作クロック信号を受け、これら信号のいずれか一つを選択的に出力するセレクタとを有する
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、半導体集積回路と外部との間で入出力される信号のタイミング調整技術に関する。
【背景技術】
【０００２】
半導体集積回路の設計工程には、論理設計、回路設計、レイアウト設計、テスト設計がある。レイアウト設計では、論理セルの配置、論理セル間の配線が施される。そして、実際にレイアウトされた半導体集積回路は外部入出力に関してＡＣスペックを満たす必要がある。
【０００３】
従来のレイアウト設計では、外部信号の入出力タイミングを調整するために、一旦すべての論理セルの配置及び配線を行ってから、入出力ピンからフリップフロップまでの遅延量を確認し、これがＡＣスペックを満たしているかどうかを判定する。そして、ＡＣスペックが満たされていなければ、手作業で論理セルサイズの変更、遅延セルの挿入又は削除、配線経路の変更などを行って遅延量を調整している。
【０００４】
従来、遅延調整用回路をライブラリとして作成し、遅延変動が予想される箇所や入出力セルの近傍などにあらかじめ遅延調整回路を埋め込むことにより遅延量を調整しているものがある（例えば、特許文献１参照）。また、遅延値の異なるセル構造を有することにより遅延調整を行っているものがある（例えば、特許文献２，３参照）。また、入出力セル領域における空きセルにテスト信号のリピータ回路を設けることにより、静的タイミング検証の信頼性及び正確性の向上を図っているものがある（例えば、特許文献４参照）。
【特許文献１】特開２０００−２４３８４３号公報
【特許文献２】特開２００４−２６６１６１号公報
【特許文献３】特開２００１−２７４３３３号公報
【特許文献４】特開２００４−２６００９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の各従来技術では、レイアウト設計において、遅延変動が予想される箇所や入出力セルの近傍などに遅延調整回路や遅延値の異なるセル構造を配置する必要があるため、手作業での配置が必要となる。しかし、手作業での配置はレイアウト設計ツールを使用した配置と比較して膨大な工数が必要となる。上記問題に鑑み、本発明は、半導体集積回路の外部入出力信号のタイミングを自動的に調整することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明が講じた手段は、半導体集積回路として、内部セルの動作クロック信号に同期して当該内部セルから出力されたデータ信号又は外部から入力されたデータ信号をラッチするフリップフロップを有する入出力セルを備えたものとする。
【０００７】
これによると、入出力セルから出力されるデータ信号のタイミングが内部セルの動作クロック信号によって自動的に調整されるため、自動レイアウトツールによる配置合成の際に、入出力セルの前段の内部セルにおけるフリップフロップから当該入出力セルまで、又は入出力セルから当該入出力セルの次段の内部セルにおけるフリップフロップまでのタイミングを考慮した配置及び配線が可能となる。
【０００８】
好ましくは、前記入出力セルは、前記データ信号及び前記フリップフロップの出力信号を受け、これら信号のいずれか一方を選択的に出力するセレクタ、前記フリップフロップへの前記動作クロック信号の供給及び遮断を切り替えるゲート回路、前記動作クロック信号を波形整形して前記フリップフロップに供給するバッファ、前記動作クロック信号が所定の論理レベルとなっているとき、前記データ信号をラッチし、当該ラッチしたデータ信号を前記フリップフロップに供給するラッチ回路、又は、前記動作クロック信号を遅延させる少なくとも一つの遅延線と前記遅延線によって遅延した動作クロック信号を受け、これら信号のいずれか一つを選択的に前記フリップフロップに供給するセレクタとを有するものとする。
【０００９】
また、好ましくは、上記の半導体集積回路は、前記動作クロック信号を分配するクロック分配セルを備え、前記入出力セルは、前記クロック分配セルによって分配された動作クロック信号を受けるものとする。より好ましくは、前記入出力セルは、前記内部セルから直接入力された動作クロック信号及び前記クロック分配セルによって分配された動作クロック信号を受け、これら信号のいずれか一方を選択的に前記フリップフロップに供給するセレクタを有するものとする。また、より好ましくは、前記クロック分配セルは、前記クロック分配セルによって分配された動作クロック信号を受ける入出力セルに挟まれて配置されているものとする。
【００１０】
また、好ましくは、上記の半導体集積回路は、前記動作クロック信号を出力するクロック入出力セルを備えているものとする。より好ましくは、前記入出力セルは、前記動作クロック信号を遅延させる少なくとも一つの遅延線と、前記遅延線によって遅延した動作クロック信号を受け、これら信号のいずれか一つを選択的に前記フリップフロップに供給するセレクタとを有するものとする。また、より好ましくは、前記クロック入出力セルは、前記動作クロック信号を遅延させる遅延素子を有するものとする。また、より好ましくは、前記クロック入出力セルは、前記動作クロック信号を遅延させる少なくとも一つの遅延線と、前記遅延線によって遅延した動作クロック信号を受け、これら信号のいずれか一つを選択的に出力するセレクタとを有するものとする。
【発明の効果】
【００１１】
以上のように本発明によると、半導体集積回路の外部入出力信号のタイミングが自動的に調整されてＡＣスペックが満たされるため、レイアウト設計において、手作業による論理セルサイズの変更、遅延セルの挿入又は削除、配線経路の変更などが不要となる。これにより、半導体集積回路の設計工数が削減され、設計の効率化及び低コスト化が図れる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００１３】
（第１の実施形態）
図１は、第１の実施形態に係る半導体集積回路の一部分の構成を示す。３つの入出力セル１は、それぞれ、フリップフロップ１０を備えている。各フリップフロップ１０のデータ入力端には各入出力セル１の前段に設けられた内部セル１００ａ，１００ｂ及び１００ｃにおける論理回路１０２ａ，１０２ｂ及び１００ｃから出力されたデータ信号ＤＩＮａ，ＤＩＮｂ及びＤＩＮｃが与えられる。また、各フリップフロップ１０のクロック入力端には内部セル１００ａ〜１００ｃのそれぞれにおけるフリップフロップ１０１の動作クロック信号ＣＫが与えられる。そして、各フリップフロップ１０のデータ出力端は各入出力パッド１１に接続されている。
【００１４】
上記の構成によると、データ信号ＤＩＮａ〜ＤＩＮｃは各フリップフロップ１０において共通のクロック信号ＣＫに同期してラッチされる。したがって、論理回路１０２ａ〜１０２ｃの構成や配線長の違いなどからデータ信号ＤＩＮａ〜ＤＩＮｃに比較的大きなスキューが生じていても、これらデータ信号のスキューは各フリップフロップ１０に入力されるクロック信号ＣＫのスキュー程度にまで収束する。そして、各フリップフロップ１０のデータ出力端から各入出力パッド１１までの短区間では信号遅延がほとんど発生しないことから、各入出力パッド１１から外部に出力される信号のスキューは各フリップフロップ１０に入力されるクロック信号ＣＫに生じるごく僅かなものとなる。
【００１５】
以上、本実施形態によると、各内部セルからのデータ信号のスキューが各入出力セルにおいて吸収されてほぼなくなるため、各内部セルにおける信号遅延のバラツキを意識することなく内部セル間のタイミングのみを考慮したレイアウト設計が可能となる。すなわち、自動レイアウトツールによる配置合成実施時に入出力セルまでのタイミングを考慮した論理セルの配置及び配線を行うことができる。
【００１６】
入出力セル１は、図１に示した構成以外にさまざまに構成することができる。図２は、入出力セルの別構成例を示す。当該入出力セル１は、図１に示した入出力セル１におけるフリップフロップ１０と入出力パッド１１との間にセレクタ１２を追加した構成となっている。セレクタ１２は、図示しない内部セルから出力されたデータ信号ＤＩＮ及びフリップフロップ１０の出力信号を受け、選択信号ＳＥＬに従って、これらの入力された信号のいずれか一方を入出力パッド１１に選択的に出力する。
【００１７】
図２に示した構成によると、タイミング調整の必要がないテスト信号などについては、フリップフロップ１０を介することなく外部に出力することができる。一方、タイミング調整が必要な通常のデータ信号については、フリップフロップ１０を介してタイミング調整を行ってから外部に出力することができる。このように、信号の性質に応じてタイミング調整を行うか否かを選択することができる。
【００１８】
図３は、入出力セルの別構成例を示す。当該入出力セル１は、図１に示した入出力セル１におけるフリップフロップ１０のクロック入力端の手前にゲート回路１３を追加した構成となっている。ゲート回路１３は、図示しない内部セルの動作クロック信号ＣＫ及びイネーブル信号ＥＮを受け、信号ＥＮがアクティブのとき、フリップフロップ１０にクロック信号ＣＫを供給する一方、信号ＥＮがインアクティブのとき、クロック信号ＣＫを遮断する。
【００１９】
図３に示したように、イネーブル信号ＥＮをインアクティブにすることで、フリップフロップ１０は停止して電力を消費しなくなる。したがって、タイミング調整が必要なときにのみイネーブル信号ＥＮをアクティブにしてフリップフロップ１０を動作させることにより、半導体集積回路全体としての消費電力を低減することができる。
【００２０】
図４は、入出力セルの別構成例を示す。当該入出力セル１は、図１に示した入出力セル１におけるフリップフロップ１０のクロック入力端の手前にバッファ１４を追加した構成となっている。
【００２１】
通常、入出力セル１は半導体集積回路の外周領域に配置されるため、内部セルとの間の信号線は長くなる。このため、入出力セル１に入力されるクロック信号ＣＫの波形なまりは大きくなってしまう。そして、フリップフロップ１０における信号遅延はクロック信号ＣＫの波形なまりに依存するため、波形なまりが大きいクロック信号ＣＫをフリップフロップ１０に入力すると、入出力セル１によるデータ信号ＤＩＮのタイミング調整が困難となるおそれがある。そこで、図４に示したように、バッファ１４によってクロック信号ＣＫを波形整形してからフリップフロップ１０に入力することで、フリップフロップ１０における信号遅延のバラツキを抑制することができる。
【００２２】
図５は、入出力セルの別構成例を示す。当該入出力セル１は、図１に示した入出力セル１におけるフリップフロップ１０のデータ入力端の手前にラッチ回路１５を追加した構成となっている。ラッチ回路１５のデータ入力端には図示しない内部セルから出力されたデータ信号ＤＩＮが与えられる。ラッチ回路１５のゲート端には図示しない内部セルの動作クロック信号ＣＫが与えられる。そして、ラッチ回路１５のデータ出力端はフリップフロップ１０のデータ入力端に接続されている。ラッチ回路１５は、クロック信号ＣＫが所定の論理レベル（例えば、Ｈｉレベル）となっている間だけ、入力されたデータ信号ＤＩＮを出力する。
【００２３】
クロック信号ＣＫの周波数が高くなるほど、フリップフロップ１０によるデータ信号ＤＩＮのタイミング調整が困難となる。そこで、図５に示したように、クロック信号ＣＫが所定の論理レベルとなっている間だけデータ信号ＤＩＮを通過させ、この通過したデータ信号ＤＩＮをフリップフロップ１０においてラッチすることで、フリップフロップ１０はクロック信号ＣＫの半周期分のタイミングマージンを確保することができる。したがって、クロック信号ＣＫの周波数が高くても、フリップフロップ１０によるデータ信号ＤＩＮのタイミング調整を容易に行うことができる。
【００２４】
図６は、入出力セルの別構成例を示す。当該入出力セル１は、図１に示した入出力セル１に、図示しない内部セルの動作クロック信号ＣＫを遅延させる遅延線１６ａ及び１６ｂ、及びセレクタ１７を追加した構成となっている。セレクタ１７は、遅延線１６ａ及び１６ｂによって遅延したクロック信号を受け、選択信号ＳＥＬに従って、これらの入力されたクロック信号のいずれか一方をフリップフロップ１０に選択的に供給する。
【００２５】
上述したように、内部セルと入出力セル１との間の信号線が長いと入出力セル１に入力されるクロック信号ＣＫの波形なまりは大きくなるため、クロックツリーシンセシスなどによってクロック信号ＣＫのスキューを調整する必要がある。しかし、メモリセルなどの比較的規模の大きな内部セルがあると入出力セル１の近傍にリピータバッファを配置することができないことがある。このような場合には、クロック信号ＣＫのスキューの微調整が困難となる。そこで、図６に示したように、入出力セル１の内部においてフリップフロップ１０に供給すべきクロック信号ＣＫの遅延調整を行うことにより、クロックツリーシンセシスが構成できなくてもクロック信号ＣＫのスキューの微調整を行うことができる。
【００２６】
なお、３つ以上の遅延線によってクロック信号ＣＫを遅延させて、セレクタ１７によってこれら３つ以上のクロック信号の中からいずれか一つを選択するようにしてもよい。また、セレクタ１７にクロック信号ＣＫを遅延させずに入力してもよい。
【００２７】
（第２の実施形態）
図７は、第２の実施形態に係る半導体集積回路の一部分の構成を示す。クロック分配セル２は、二つの入出力セル１に挟まれて配置されており、各入出力セル１の前段に設けられた内部セル１００ａ及び１００ｂのそれぞれにおけるフリップフロップ１０１の動作クロック信号ＣＫを受け、これを隣接する入出力セル１に分配する。また、クロック分配セル２は入出力パッド１１からクロック信号ＣＫを出力する。二つの入出力セル１は、それぞれ、フリップフロップ１０を備えている。各フリップフロップ１０のデータ入力端には内部セル１００ａ及び１００ｂにおける論理回路１０２ａ及び１０２ｂから出力されたデータ信号ＤＩＮａ及びＤＩＮｂが与えられる。また、各フリップフロップ１０のクロック入力端にはクロック分配セル２によって分配されたクロック信号ＣＫが与えられる。そして、各フリップフロップ１０のデータ出力端は各入出力パッド１１に接続されている。
【００２８】
上述したように、各入出力パッド１１から外部に出力される信号のスキューは各フリップフロップ１０に入力されるクロック信号ＣＫのスキューと同程度となるため、内部セルから各入出力セル１までのクロック信号ＣＫの配線長が大きく異なると、各入出力パッド１１から外部に出力される信号のスキューもまた大きくなってしまう。そこで、上記の構成のように、内部セル１００ａ及び１００ｂに共通の動作クロック信号ＣＫを一端クロック分配セル２に入力し、そこから各入出力セル１に分配することで、各入出力セル１に入力されるクロック信号ＣＫのスキューがほとんどなくなり、各入出力パッド１１から外部に出力される信号のスキューを極めて小さくすることができる。これにより、特にクロック信号ＣＫのスキュー調整を意識することなくレイアウト設計を行うことができる。
【００２９】
入出力セル１は、図７に示した構成以外にさまざまに構成することができる。図８は、入出力セル１の別構成例を示す。当該入出力セル１は、図７に示した入出力セル１におけるフリップフロップ１０のクロック入力端の手前にセレクタ１８を追加した構成となっている。セレクタ１８は、図示しないクロック分配セル２によって分配されたクロック信号ＣＫ及びクロック分配セル２を経由せずに内部セル側から直接入力されたクロック信号ＣＫを受け、選択信号ＳＥＬに従って、これらの入力されたクロック信号のいずれか一方をフリップフロップ１０に選択的に供給する。この構成によると、内部セル側でタイミング調整されたクロック信号とクロック分配セル２によってタイミング調整されたクロック信号とを適宜切り替えてフリップフロップ１０に供給することができる。これにより、クロック信号のスキューに起因する出力信号のスキューを低減することができる。
【００３０】
（第３の実施形態）
図９は、第３の実施形態に係る半導体集積回路の一部分の構成を示す。入出力セル１は図１に示したものと同様である。クロック入出力セル３は、内部セル１００の動作クロック信号ＣＫを受け、これを入出力パッド１１から出力する。
【００３１】
上記の構成によると、半導体集積回路の外部出力信号のうち、データ信号は入出力セル１においてフリップフロップ１０を経由して出力され、クロック信号はクロック入出力セル３において特に何も経由せずに直接出力される。このため、クロック信号をデータ信号よりも早く外部に出力することが要求されるＡＣスペックがあった場合に当該要求を満たすことができる。なお、図６に示した入出力セル１にすることで、外部に出力されるクロック信号に対するデータ信号のタイミングを適宜調整することができる。
【００３２】
クロック入出力セル３は、図９に示した構成以外にさまざまに構成することができる。図１０は、クロック入出力セル３の別構成例を示す。当該クロック入出力セル３は、図９に示したクロック入出力セル３に、クロック信号ＣＫを遅延させる遅延素子３１を追加した構成となっている。具体的には、遅延素子３１はインバータセルで構成されている。
【００３３】
図１０に示した構成によると、クロック信号ＣＫが半周期分だけ遅れて外部に出力される。このため、データ信号をクロック信号よりも早く外部に出力することが要求されるＡＣスペックがあった場合に当該要求を満たすことができる。
【００３４】
図１１は、クロック入出力セル３の別構成例を示す。当該クロック入出力セル３は、図９に示したクロック入出力セル３に、図示しない内部セルの動作クロック信号ＣＫを遅延させる遅延線３２、及びセレクタ３３を追加した構成となっている。セレクタ３３は、クロック入出力セル３に入力されたクロック信号及び遅延線３２によって遅延したクロック信号を受け、選択信号ＳＥＬに従って、これらの入力されたクロック信号のいずれか一方を入出力パッド１１に選択的に出力する。この構成によると、外部に出力されるデータ信号に対するクロック信号のタイミングを適宜調整することができる。なお、複数の遅延線によってクロック信号ＣＫを遅延させて、セレクタ３３によってこれら複数のクロック信号の中からいずれか一つを選択するようにしてもよい。
【００３５】
なお、入出力セル１が特に出力セルであるとして説明したが、フリップフロップ１０のデータ端子に、入出力パッド１１に与えられたデータ信号を入力するように変更することで、入出力セル１は入力セルとして機能するようになることは言うまでもない。
【産業上の利用可能性】
【００３６】
本発明に係る半導体集積回路は、外部入出力信号のタイミングを自動的に調整することができるため、厳格なＡＣスペックが要求される半導体集積回路として特に有用である。
【図面の簡単な説明】
【００３７】
【図１】第１の実施形態に係る半導体集積回路の一部分の構成図である。
【図２】入出力セルの構成図である。
【図３】入出力セルの構成図である。
【図４】入出力セルの構成図である。
【図５】入出力セルの構成図である。
【図６】入出力セルの構成図である。
【図７】第２の実施形態に係る半導体集積回路の一部分の構成図である。
【図８】入出力セルの構成図である。
【図９】第３の実施形態に係る半導体集積回路の一部分の構成図である。
【図１０】クロック入出力セルの構成図である。
【図１１】クロック入出力セルの構成図である。
【符号の説明】
【００３８】
１      入出力セル
２      クロック分配セル
３      クロック入出力セル
１０    フリップフロップ
１１    入出力パッド
１２    セレクタ
１３    ゲート回路
１４    バッファ
１５    ラッチ回路
１６ａ  遅延線
１６ｂ  遅延線
１７    セレクタ
１８    セレクタ
３１    遅延素子
３２    遅延線
３３    セレクタ
【図１】
2008103929.tif 000003
【図２】
2008103929.tif 000004
【図３】
2008103929.tif 000005
【図４】
2008103929.tif 000006
【図５】
2008103929.tif 000007
【図６】
2008103929.tif 000008
【図７】
2008103929.tif 000009
【図８】
2008103929.tif 000010
【図９】
2008103929.tif 000011
【図１０】
2008103929.tif 000012
【図１１】
2008103929.tif 000013