JP2005149313A - 半導体集積回路の設計方法および半導体集積回路 - Google Patents
半導体集積回路の設計方法および半導体集積回路 Download PDFInfo
- Publication number
- JP2005149313A JP2005149313A JP2003388357A JP2003388357A JP2005149313A JP 2005149313 A JP2005149313 A JP 2005149313A JP 2003388357 A JP2003388357 A JP 2003388357A JP 2003388357 A JP2003388357 A JP 2003388357A JP 2005149313 A JP2005149313 A JP 2005149313A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- flip
- data
- flop
- semiconductor integrated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】 回路設計者の手間及び時間を浪費し半導体集積回路の開発期間短縮化並びに開発費の低減という課題を解消する。
【解決手段】 所定の信号伝搬時間の前段同期回路のセルと、前段同期回路と同等の信号伝搬時間の後段同期回路のセルと、前段同期回路と後段同期回路との間に配置する論理回路のセルとを複数自動配置し、セル相互間を電気的に自動配線接続する自動配置配線工程S28と、自動配置配線工程S28を経た複数のセルを有する半導体集積回路の信号伝搬タイミングを検証するタイミング検証工程S29と、タイミング検証工程S29により得た信号伝搬タイミングのクリティカルパスに基づいて信号伝搬タイミングを調節するタイミング調節工程S30と、クリティカルパスを抽出した際に、後段同期回路が前段同期回路の同期方式と異なる同期回路に置換し、後段同期回路を前段同期回路より短い信号伝搬時間の同期回路にする同期回路置換工程S32と、を備える。
【選択図】 図1
【解決手段】 所定の信号伝搬時間の前段同期回路のセルと、前段同期回路と同等の信号伝搬時間の後段同期回路のセルと、前段同期回路と後段同期回路との間に配置する論理回路のセルとを複数自動配置し、セル相互間を電気的に自動配線接続する自動配置配線工程S28と、自動配置配線工程S28を経た複数のセルを有する半導体集積回路の信号伝搬タイミングを検証するタイミング検証工程S29と、タイミング検証工程S29により得た信号伝搬タイミングのクリティカルパスに基づいて信号伝搬タイミングを調節するタイミング調節工程S30と、クリティカルパスを抽出した際に、後段同期回路が前段同期回路の同期方式と異なる同期回路に置換し、後段同期回路を前段同期回路より短い信号伝搬時間の同期回路にする同期回路置換工程S32と、を備える。
【選択図】 図1
Description
本発明は、コンピュータシステムを用いた半導体集積回路の設計方法及び半導体集積回路に関するものである。
従来の半導体集積回路の設計方法は、例えば、図12のフローチャートに示すように、先ず、ロジックの論理合成工程S1を処理し、論理合成したセルの配置を決定するフロアプラン工程S2を処理する。
引き続き、セルとセル、セルとボンディングパッド間の電気的配線経路を自動的に決定する自動配置配線工程S3を経て、コンピュータ上で論理合成された半導体集積回路のタイミング検証工程S4を実行し、マニュアルにより回路間のタイミング調節工程処理S5を実行する。
さらに、セルの位置やセル間の配線を微調整する自動配置配線工程S6を処理した後に、再度のタイミング検証工程S7により半導体集積回路がタイミング特性を満たすか否かを判定していた。
この図12の設計フローでは、半導体集積回路の論理設計工程以降に、フロアプラン工程S2や、自動配置配線工程S3の制約条件の見直しを実施したり、クロック信号の出力側にバッファ回路を挿入したり、ゲート長サイズの見直しをしたり、クリティカルパスの回路毎に低閾値トランジスタへ置換するという手法が採用されていた。
また、従来の半導体集積回路のクリティカルパス設計方法は、予めセットアップ時間の異なるフリップフロップ回路を複数作成し、前段と後段のフリップフロップ回路間のパス毎に余裕時間を算出し、余裕時間が最小のパスの後段のフリップフロップ回路のセットアップ時間を求める。
この求めたセットアップ時間よりも小さなセットアップ時間を持つフリップフロップ回路で後段のフリップフロップ回路を置換して、半導体集積回路のレイアウト面積を増やすことなく、クリティカルパスの余裕時間を増大させていた(例えば、特許文献1参照。)。
特開平10−313057号公報(第5頁、第1図)
しかしながら、上述したフロアプラン工程S2、自動配置配線工程S3時の制約条件の見直しを実行する際に、適切な制約条件が見つからずに制約条件の見直し又はフロアプラン工程S2の試行錯誤を繰り返す場合があり、回路設計者の手間及び時間を浪費し半導体集積回路の開発期間短縮化並びに開発費の低減という課題を解消することが困難であった。
また、従来のフリップフロップ回路で構成したレジスタ回路は、ホールド対策としてマスタスレーブ方式のフリップフロップ回路を前段同期回路に採用し、クロックの立下りエッジに同期して前段のフリップフロップ回路の出力を変化させる。
後段のフリップフロップ回路は、前段の同期回路の出力データが変化した後でデータを取込んでいたので、前段フリップフロップ回路のセットアップ時間にホールド時間を加えた信号伝搬時間を確保する必要があり、半導体集積回路の高速動作が困難であった。
さらに、セットアップ時間が短いパルス駆動方式のフリップフロップ回路を直列接続したレジスタ回路では、所謂データの突き抜け現象を防止するためにデータの出力端子側に多数の遅延回路を設けるため、セル面積及び消費電力の増加を招いていた。
従来は、このタイミング調節段階で検出されたクリティカルパスを修正するために、「フロアプラン処理」や、「配置配線設計時の制約条件の見直し」を実行するか、破線矢印で示すようにタイミング検証処理S4をやり直していた。
また、自動配置配線処理S3でクリティカルパスを生成する回路へバッファ回路を挿入、または、バッファ回路のセルサイズの見直しや、クリティカルパスを生成する回路を構成するトランジスタ素子を現在の閾値より低い低閾値トランジスタ素子へ置き換えていた。
さらに、この煩雑な修正作業を繰り返して再び設計データを生成し記憶装置に記憶してから、タイミング検証処理S4をやり直していた。
上記目的を達成するために、本発明の第1の特徴は、例えば、所定の信号伝搬時間の前段同期回路のセルと、前段同期回路と同等の信号伝搬時間の後段同期回路のセルと、前段同期回路と後段同期回路との間に配置する論理回路のセルとを複数自動配置し、セル相互間を電気的に自動配線接続する自動配置配線工程と、自動配置配線工程を経た複数のセルを有する半導体集積回路の信号伝搬タイミングを検証するタイミング検証工程と、タイミング検証工程により得た信号伝搬タイミングのクリティカルパスに基づいて信号伝搬タイミングを調節するタイミング調節工程と、クリティカルパスを抽出した際に、後段同期回路が前段同期回路の同期方式と異なる同期回路に置換し、後段同期回路を前段同期回路より短い信号伝搬時間の同期回路とする同期回路置換工程と、を含む備える半導体集積回路の設計方法であることを要旨とする。
本発明の第2の特徴は、例えば、所定のセル面積を有するマスタースレーブ方式のフリップフロップ回路の近傍にマスタースレーブ方式のフリップフロップ回路のセル面積と略同一のセル面積を有するパルス駆動方式のフリップフロップ回路を配置するフリップフロップ混在領域と、マスタースレーブ方式のフリップフロップ回路へクロック信号を供給するマスタークロック発生回路と、を備える半導体集積回路であることを要旨とする。
本発明の半導体集積回路によれば、半導体集積回路全体の高速動作を図ることができるという、格別な効果を奏する。
また、本発明の半導体集積回路の設計方法によれば、前段と後段の同期回路間でデータの突抜けを防止ながら、半導体集積回路全体の高速動作を図ることができるという、格別な効果を奏する。
本発明の実施の形態に係る半導体集積回路の設計方法は、例えば、所定の信号伝搬時間の前段同期回路と後段同期回路と、これら同期回路の間に配置された論理回路とを相互に電気的に接続した複数のセルを有する半導体集積回路の信号伝搬タイミングを検証し、タイミング検証結果により得た信号伝搬タイミングのクリティカルパスに基づいて信号伝搬タイミング(例えば、クロック周波数又は位相差の増減)を調節するタイミング調節工程と、クリティカルパスを抽出した際に、後段同期回路を前段同期回路より短い信号伝搬時間の同期回路に置換するので、高速動作の半導体集積回路を遅延回路の配置配線を含めたフロアプランを再実行することなく短期間に設計することができる。
また本発明の実施の形態に係る半導体集積回路は、所定の信号伝搬時間の前段同期回路及び後段同期回路と、前段同期回路と後段同期回路との間に配置する論理回路のセルと、同一基板上に配置した複数の前段同期回路と後段同期回路と論理回路のセル相互間を電気的に接続する複数の配線と、後段同期回路の信号伝搬時間による信号伝搬タイミングのクリティカルパスを生じる後段同期回路を特定し、所定の信号伝搬時間より短い信号伝搬時間の同期回路に置換したので、高速動作を維持しながら消費電力並びにチップ面積の増大を抑えることができる。
図1は、本発明の第1の実施の形態としての半導体集積回路の設計方法を示す流れ図である。先ず、半導体集積回路設計の大幅な変更を伴う可能性が高いフロアプラン処理ステップS27(以下、ステップを「S」と略記する)と、論理合成処理S26を実行し、自動配置配線処理S28上の制約条件の見直しを決定する。
本実施の形態の自動配置配線処理S28上の制約条件は、例えば、セル相互間を電気的に接続する配線の線幅や、配線の間隔(又は、線間スペースと称する場合もある)や、配線の線長(例えば、前段回路のコンタクト領域から後段回路のコンタクト領域までの距離)の条件があり、論理合成したセル全体の最大消費電力の条件もある。
また、配線の線長が所定長を超えると自動的にセルとセルの間にバッファ回路を配置するように複数の制約を規定する。このように制約条件を予め精査し、半導体集積回路の高速化や低消費電力化が図れるという利点がある。
各種セルには、同期回路としてのマスタースレーブ方式のフリップフロップ回路やパルス駆動方式(又はパルス駆動型)のフリップフロップ回路(又は、ラッチ回路と称する場合もある)やマルチプレクサ回路やデマルチプレクサ回路などに適用させることができる。
また、論理機能を有する順序回路としてのAND回路やOR回路や排他的OR回路などや、信号伝搬タイミングを調整する遅延回路が予め不図示のコンピュータデータベース内に用意され、論理合成処理S26を実行して半導体集積回路を設計することができる。
このセルを用いた設計は、カスタム仕様の大規模集積回路の設計と比較した場合、回路設計の手間や期間を激減させることができ、標準的なセルを任意に選択し組み合わせるスタンダードセル方式が、短期間で且つ高速動作の安定性の高い半導体集積回路を提供することができる。
自動配置配線処理S28は、論理合成された複数のセルをフロアプラン処理S27により決定したレイアウト位置に配置し、セルとセルの間を電気的に接続する配線レイアウトを決定し、半導体集積回路の第1次設計データを生成する。
この第1次設計データは、不図示の記憶装置に記憶される。この第1次設計データの中の同期回路としてのフリップフロップ回路は全て所定の信号伝搬時間に統一し、回路設計を簡略化させることができる。
例えば、論理値「1」と論理値「0」のデューティ比が1対1のクロック信号に同期するマスタースレーブ方式のフリップフロップ回路を用いることができ、目標とする最大動作周波数で動作し、消費電力対セル面積のバランスが予め検証されている。
したがって、半導体集積回路全体に占めるフリップフロップ回路のセル面積の総和が数十パーセントに達してもチップ全体の最大定格消費電力の制約を受けない程度のセル面積及び消費電力仕様を満たしている。
引き続き、半導体集積回路のタイミング検証処理S29に移行し、上述した記憶装置から第1次設計データを読出し、コンピュータ上で全ての論理回路や同期回路が所定のクロック周波数で動作するか否かを検証する。
例えば、1GHzを下回らない検証用のクロック信号を同期回路としてのフリップフロップ回路やラッチ回路に入力し、データの転送が正しく行われているかベリファイ機能により検証することができる。
また、前段同期回路と後段同期回路との間に位置する全てのパスを検証しクリティカルパスか否かも判定するように構成されている。
なお、半導体集積回路設計データのバグなどにより、極めて稀にタイミング検証処理S29で不適合値のベリファイ結果が出力されたときは、破線矢印で示すように再度フロアプラン処理S27へ戻りセル配置を再構成することができる。
このタイミング検証処理S29により適合値のベリファイ結果が得られた場合は次のタイミング調節処理S30へ移行する。この半導体集積回路は目的とする電気的仕様(標準スペック)を満足するが、クリティカルパスと判定された回路の高速動作保証をするのが困難である。
次のタイミング調節処理S30は、例えば、相互に位相差を有するマスタークロック信号とディレイクロック信号を発生させ、前段同期回路にマスタークロック信号を入力し、後段同期回路にディレイクロック信号を入力しベリファイ機能により回路の高速動作を調節する。
この場合、マスタークロック信号とディレイクロック信号の位相差(例えば、0度から90度位相角)がどの程度まで許容されるか、位相差を調節してクリティカルパスの高速動作を検出し、不図示の記憶装置にクリティカルパス情報(例えば、セルデータ)を記憶することができる。
なお、タイミング調節処理S30では、セル間の全てのパスについてタイミング調整をせずに、タイミング検証処理S29によりクリティカルパスと判定された回路に対してタイミング調整をするため、設計効率が向上し設計期間(例えば、コンピュータのランタイム)を短くすることができる。
ここで、本実施の形態のクリティカルパスとは、クロック信号により制御される同期回路間でデータの突き抜け現象が生じ易い経路が該当し、前段の同期回路と後段の同期回路との間に論理機能を有する順序回路がないシフトレジスタ回路がある。
また、前段の同期回路と後段の同期回路との間にセットアップ時間を変更する遅延回路の信号伝搬時間が短過ぎる回路や、遅延回路の数が少なく後段のフリップフロップ回路のセットアップ時間を確保できない回路などもクリティカルパスである。
したがって、本実施の形態の半導体集積回路の設計では、クリティカルパスを有する回路のセットアップ時間をコンピュータ上で改善することにより、全ての同期回路がクロック信号に同期して前段同期回路から後段同期回路へデータを正確に転送し、半導体集積回路全体の高速化を図ると供に、その信頼性も向上させるという利点を有する。
また、タイミング調節処理S30は、例えば、タイミング検証処理S29で使用した検証用のクロック周波数を変化(増加)させクリティカルパスを検出し、不図示の記憶装置にクリティカルパス情報(例えば、セルデータ)を記憶することができる。
この場合も、タイミング調節処理S30はセル間の全てのパスについてタイミング調整をせずに、タイミング検証処理S29によりクリティカルパスと判定された回路に対してタイミング調整をするため、設計効率が向上し設計期間(例えば、コンピュータのランタイム)を短くすることができる。
本実施の形態では、回路設計の大幅な変更を伴う可能性の高いフロアプラン処理S27や、自動配置配線処理S28における「制約条件の見直し」を半導体集積回路の設計初期段階で決定し、タイミング調節処理S30においてクリティカルパスの動作保証を判定(又は検出)するように構成しているので、大幅な回路設計のやり直しを未然に回避することができる。
また、タイミング調節処理S30において半導体集積回路の中からクリティカルパスが検出されない場合は、設計フローは自動配置配線(微調整)処理S33に移行し、セルの配置配線の微調整が不要と判定処理され、第1次設計データに基づき半導体集積回路の設計が完了し、最短期間の設計で半導体集積回路を提供することができる。
この半導体集積回路の第1次設計データに基づき、例えばホトリソグラフィ処理に使用されるレチクル(マスク)設計データを生成したり、電子ビーム露光装置の制御データを生成することができる。
また、低閾値トランジスタに置換処理した場合は、閾値の異なるトランジスタ素子の製造プロセスデータを生成する。勿論、第1次設計データに基づくテストデータを生成し、ウエハのプローブ検査用データや完成した半導体装置の出荷検査用データを生成することもできる。
一方、タイミング調節処理S30により検出されたクリティカルパスを記憶装置から読み出して抽出するクリティカルパス抽出処理S31を経て、クリティカルパスの後段に接続する同期回路セルのデータ入力端子にバッファ回路を挿入することができる。
このバッファ回路のサイズの見直しをするか、クリティカルパスの後段の同期回路を構成するスイチング手段としてのトランジスタ素子をTTL(トランジスタ・トランジスタ・ロジック)レベルの閾値若しくはCMOS(コンプリメンタリ・メタルオキサイド・シリコン)レベルの閾値より低電位の低閾値トランジスタ素子へ置き換えることもできる。
また、クリティカルパスの後段の同期回路をマスタースレーブ方式のフリップフロップ回路からパルス駆動方式(パルス駆動型)のフリップフロップ回路へ変更するという複数のオプションの中から任意の同期回路置換処理S32を実行することができる。
上述したクリティカルパス後段に接続する同期回路セルの中にバッファ回路の挿入工程や同期回路変更工程は任意な順番で繰り返し実行しても構わない。このようにクリティカルパス後段の同期回路を変更する同期回路置換処理S32を経た半導体集積回路の第2次設計データを不図示の記憶装置に記憶するように構成する。
また、パルス駆動方式でないフリップフロップ回路(例えば、マスタースレーブ方式のフリップフロップ回路)からパルス駆動方式(駆動型)のフリップフロップ回路へ置換する同期回路置換処理S32は、クリティカルパス後段の同期回路を構成する低閾値トランジスタへの置換処理と同様の手順で実行することができる。
先ず、タイミング調節処理S30でクリティカルパスを検出し、クリティカルパス抽出処理S31によりクリティカルパスを抽出する。このクリティカルパスに含まれるフリップフロップ回路をパルス駆動方式(又は「パルス駆動型」と称する場合もある)のフリップフロップ回路へ置換する同期回路置換処理S32を実行する。
次に、半導体集積回路の第2次設計データを不図示の記憶装置に記憶し、自動配置配線(微調整)処理S33へ移行し、セルの配置配線の微調整が必要な場合は適宜セルの配置や配線ルートを微調整する。
この場合、セルの配置や配線ルートを変更した半導体集積回路の第3次設計データは、不図示の記憶装置に記憶される。
引き続き、上述した記憶装置から第2次又は第3次設計データを読み出して、タイミング検証処理S34により半導体集積回路のタイミング検証を実行し、半導体集積回路内の全ての同期回路がクロック信号に同期して正確なデータ信号を送受信をしているか否かを検証する。
本実施の形態では、半導体集積回路がタイミング検証処理S34を1回で通過する確率を従来に比して格段に向上させることができ、しかも、論理合成処理S26やフロアプラン処理S27のような設計段階の上流工程まで戻る確率が激減するので、短期間に半導体集積回路を設計することができる。
上述した第1次設計データに含まれている所定の信号伝搬時間のフリップフロップ回路をこれより短い信号伝搬時間のフリップフロップ回路に置換した第2次又は第3次設計データの半導体集積回路は、タイミング検証処理S29で使用した目標スペックと同等の検証用クロック信号の動作周波数に対して、約10%若しくは十数%高い動作周波数を保証できる。
例えば、半導体集積回路の全論理中に含まれるフリップフロップ回路が占める総和に依存するが、動作周波数が高い回路の場合には全論理中に含まれるフリップフロップ回路の占める割合が増加する傾向にある。
したがって、パルス駆動方式のフリップフロップ回路へ置換処理するクリティカルパスの遅延改善効果は、現在の半導体製造プロセスや半導体集積回路の設計ルールに対応させると、1GHz以上の動作周波数の半導体集積回路に関して、10%程度かそれ以上の動作周波数を保証することができる。
特に、クリティカルパス後段の同期回路を高速同期回路に変更する同期回路置換処理S32を備える設計フローは実用的な技術である。
また、パルス駆動方式のフリップフロップ回路は、パルス駆動方式でないフリップフロップ回路(例えば、マスタースレーブ方式)に比べて、ホールド時間が長く、遅延の短過ぎるパスに対して遅延回路を挿入する割合が多い場合がある。
本実施の形態のパルス駆動方式のフリップフロップ回路は、タイミング調節処理S30により検出したクリティカルパス後段の同期回路に対して同期回路置換処理S32を実行し、所定の遅延回路を挿入するので、同期回路の次段に遅延の短過ぎるパスが存在する確率が少なく、追加のホールド対策に対応する労力が少なくて済むという利点もある。
なお、上述したタイミング検証処理S34を通過した時点の半導体集積回路の設計データである第2次設計データ若しくは第3次設計データは、上述した第1次設計データと同様に、レチクル設計データや、電子ビーム露光装置の制御データや、製造プロセスデータや、テストデータなどに利用できることは勿論である。
図2(a)は、本実施の形態に用いるパルス駆動方式のフリップフロップ回路のタイミングチャートである。不図示のクロック発生回路から出力されるマスタークロック14は、予め決められた所定周期のパルス信号である。図示したパルス信号は論理値「1」の期間と論理値「0」の期間が略同一のデューティ比1対1のマスタークロック14を構成している。
同期回路としてのマスタースレーブ方式のフリップフロップは、マスタークロック14が論理値「0」の間、内部のマスターフリップフロップ回路のコントロールゲートが閉状態のため、入力信号を取り込まず、マスターフリップフロップ回路の出力端子もデータを保持している。
一方、スレーブフリップフロップ回路はコントロールゲートが開状態であるが、スレーブフリップフロップ回路がデータを保持しているのでスレーブフリップフロップ回路の出力端子はデータを出力している。
マスタークロック14の論理値を「0」から「1」へ変化させるマスタークロック立上時14aでは、マスターフリップフロップ回路のコントロールゲートが開状態(OFF)から閉状態(ON)に遷移し、入力端子の信号を取込む、マスターフリップフロップ回路の出力端子へ入力端子の信号を反映させることができる。
一方、スレーブフリップフロップ回路はコントロールゲートを閉状態(ON)から開状態(OFF)へ遷移させ、スレーブフリップフロップ回路の出力端子のデータを保持し続けている。なお、マスタークロック14は立上時14aに至る前にマスタフリップフロップ回路が入力端子のデータを取込む時間、すなわちセットアップ時間が開始されるまで論理値「0」を保持しなければならない。
引き続き、マスタークロック14の論理値を「1」から「0」へ変化させるマスタークロック立下時14bでは、この瞬間にマスターフリップフロップ回路のコントロールゲートが閉状態(ON)から開状態(OFF)に遷移し、マスターフリップフロップ回路はデータ保持状態となる。
一方、スレーブフリップフロップ回路のコントロールゲートは開状態(OFF)から閉状態(ON)へ遷移し、マスタフリップフロップ回路に保持されているデータを取込みスレーブフリップフロップ回路の出力端子に反映させることができる。すなわち、マスタースレーブ方式のフリップフロップ回路は、マスタークロック14の立下時14bに出力端子の論理値(データ)を変化させ、データの突抜け現象を未然に回避する。
これ以降のサイクルは、図示するようにマスタークロック14の立上時14cと立下時14dのタイミングに同期させながら、前段に配置されたマスタースレーブ方式のフリップフロップ回路から後段に配置されたマスタースレーブ方式のフリップフロップ回路にデータを移動させることができる。
また、このマスタースレーブ方式のフリップフロップ回路と組合回路を合成して、例えば、同期式カウンタ回路や、レジスタ回路や、シフトレジスタ回路や、ユニバーサルレジスタ回路のような論理回路を複数のセルで実現することができる。
本実施の形態では、図2(b)に示すように、さらに高速動作の半導体集積回路のために、パルス発生回路54からパルスクロック15を出力し、クリティカルパスの後段に接続するパルス駆動方式のフリップフロップ回路の同期動作を制御する。
パルス発生回路54は、二入力AND回路17の一方の入力端子にインバータ回路16を通じて上述したマスタークロック14を取込み、他方の入力端子に直接マスタークロック14を取込むように構成することができる。
勿論本発明は、マスタークロック14を入力端子に取込む構成に限定されず、マスタークロック14を駆動する基本クロックに同期して入力信号を取込んでも構わない。
パルス発生回路54は、マスタークロック14の立上時14aの瞬間、AND回路17の出力を変化させパルスクロック15の論理状態を「0」から「1」へ遷移させる。この論理状態の遷移に応答して、パルス駆動方式のフリップフロップ回路は入力端子からデータを取込み内部で保持する。
このパルス駆動方式のフリップフロップ回路は、セットアップ時間が短く、回路の動作としては高速であるが、ホールド時間がマスタースレーブ方式のフリップフロップ回路に比して長いので、遅延回路を出力端子側に多数挿入して、いわゆるデータの突き抜け現象を防止している。
引き続き、インバータ回路16の信号伝搬時間に相当する遅れた信号が他方の入力端子に現れ、所定の遅延時間の後、すなわちパルスクロック15の立下時15bのタイミングにAND回路17の出力を論理値「1」から「0」へ遷移させる。
すなわち、パルスクロック15は、マスタークロック14と比べて、論理値「1」の時間が極めて短いのに対して、論理値「0」の時間が長いクロック信号である。
引き続き、このパルスクロック15は次の立上時15cにマスタークロック14の立上時14cに同期して論理値「0」から「1」へ遷移し、インバータ回路16とAND回路17の信号伝搬時間を加算した期間を経てパルスクロック15の立下時15dを制御している。
パルス発生回路54から出力されるパルスクロック15を不図示のパルス駆動方式のフリップフロップ回路のクロック端子へ入力し、前段同期回路の出力データを取込む。
また、本実施の形態で説明したパルス駆動方式のフリップフロック回路は所定周期で繰り返されるパルスクロック15の立上時15a、15cに入力データを取込むように構成したが、同期式のラッチ回路を用いてもよい。
さらに好ましくはパルスクロック15の立上時15a、15cに動作(例えば、パルスクロックが「1」で入力データを取込み、パルスクロックが「0」に遷移しても以前のデータを内部に保持)するSRフリップフロップ回路を用いるとよい。
なお、負論理で設計された論理回路では、パルスクロックの立下時に動作するSRフリップフロップ回路を用いても同様の利点がある。
パルス駆動方式のフリップフロップ回路は、パルス駆動方式でないフリップフロップ(例えば、マスタースレーブ方式)に比べフリップフロップ回路の構造が単純であるので、セル面積が小さくでき、消費電力も少なくすることができるという利点がある。
また、パルス発生回路54を個別に配置若しくはセル内部に含めたとえしてもセル若しくは回路面積はパルス駆動方式でないフリップフロップ回路と略同等の面積で実現できる。
例えばマスタースレーブ方式のフリップフロップ回路のセルをパルス駆動方式のフリップフロップ回路とパルス発生回路54を組み合わせたセルに置換した場合でもセルの配置やセル間の配線を修正する必要がないという利点がある。
しかしながら、パルス発生回路54のクロック遷移(論理値の変化)の確率が高いので消費電力はマスタースレーブ方式のフリップフロップ回路に比して増大するため、本実施の形態では、図1に示したフロアプラン処理S27により同期回路をマスタースレーブ方式のフリップフロップに統一し、タイミング検証処理S29で全てのパスを検証する。
次に、クリティカルパスの可能性の高い回路に対してのみタイミング調節処理S30を施す二段階のクリティカルパス抽出工程を採用するので、半導体集積回路の設計期間を全体的に短くすることができる。
しかも、消費電力を増大させるパルス駆動方式のフリップフロップ回路はクリティカルパス抽出処理S31で抽出されたマスタースレーブ方式のフリップフロップ回路のセルに置き換えるため、半導体集積回路の消費電力増加を抑制することができるという利点がある。
図3(a)のタイミングチャートを参照して、本発明の第1実施例の半導体集積回路の動作を説明する。また図3(b)に示したクロック発生回路は、前段インバータ23と後段インバータ24を直列に接続し、前段インバータ23の入力端子へ所定周期の基本クロック22を印加する。
また、前段インバータ23の入力端子から分岐して基本(図1の自動配置配線処理S28による第1次設計データに含まれる同期回路)のフリップフロップ回路(例えば、マスタースレーブ方式のフリップフロップ回路)のクロック端子へ基本クロック22を印加する。
この基本クロック22は図3(a)に示すマスタークロック18のように論理値「1」の期間と論理値「0」の期間が略同一のデューティ比1対1のパルス信号である。
一方、遅延回路としての前段インバータ23及び後段インバータ24を経てマスタークロック18より位相が遅れて出力される遅延クロック25は、上述した普通のフリップフロップ回路の下流に接続された普通の同期回路よりセットアップ時間の短い後段同期回路のクロック端子に印加する。
例えば、図1のタイミング調節処理S30において、より好ましくはタイミング検証処理S34で実行されるタイミング調節される後段同期回路の同期信号としての遅延クロック25を使用することができる。この遅延クロック25が後段同期回路のクロック端子へ入力(出現)する波形を図3(a)に示すように遅延クロック21として例示する。
典型的には、前段同期回路のクロック信号より位相が遅くれたクロック信号を後段同期回路へ印加し、第1次設計データのマスタースレーブ方式のフリップフロップ回路をセットアップ時間の短いフリップフロップ回路(低閾値トランジスタ素子の同期回路)に置換(例えば、図1の同期回路置換処理S32を参照)し、同期回路間のタイミングを調節することができる。
このように構成することで、前段同期回路と後段同期回路との間に存在するクリティカルパスから枝分かれをする他のパスで、タイミング調整によって生じる得るデータ突き抜けのような現象を未然に防止することができる。
前段同期回路から後段同期回路へのデータ転送時間は、マスタークロック18の立上りエッジで前段同期回路が入力端子のデータを取入れ、マスタークロック18の立下りエッジで前段同期回路の出力を確定(又は変化)させる。
引き続き、次のサイクルで後段同期回路へ印加する遅延クロック21の立上りエッジまでのデータ転送サイクル19を決定することができる。ここで、後段同期回路は遅延クロック21の立上りエッジに応答してデータを取入れ保持するように制御するとよい。
また、遅延クロック21はマスタークロック18より遅延して変化するので、前段同期回路と後段同期回路が同相のクロック信号を使用した場合に比して、データ転送サイクル19が長くとれるという利点があり、この構成でも前段同期回路と後段同期回路との間に存在するクリティカルパスから枝分かれをする他のパスで、タイミング調整によって生じる得るデータ突き抜けのような現象を未然に防止することができる。
ただし、後段同期回路の下流にマスタークロック18に同期してデータを取込む同期回路を接続する場合は、次のデータ転送サイクル20が、遅延クロック21の立上りエッジに対して後続サイクルの同期回路のデータ取入れタイミングが短いため、クリティカルパスが連続している同期回路ではデータ突き抜け現象を抑え難い場合もある。
これに対して、クリティカルパスの連続部分に対応させてクリティカルパスのみを専用に設計する場合は、回路設計に要する人員や時間が増大し非効率である。また、半導体集積回路の設計開始当初において、クリティカルパス専用に回路を設計する部分を予め選定する時間と手間が生じ、半導体集積回路の設計期間が長期化する場合もある。
図4(a)のタイミングチャートを参照して、本発明の第2実施例の半導体集積回路の動作を説明する。図4(b)に示したクロック発生回路は、二入力AND回路39の一方の入力端子へ所定周期のクロック(例えば、図4(a)のマスタークロック37)をインバータ40を介して入力し、このインバータ40の入力側から分岐して他方の入力端子へマスタークロックを直接入力する順序回路である。
このクロック発生回路は、論理値「0」のマスタークロック37とインバータ40から論理値「1」の信号を受けて論理値「0」の図4(a)に示すパルスクロック38を出力している。
次に、マスタークロック37が立上るタイミング37aからマスタークロック37が論理値「1」に遷移するまでのタイミング37bの時点では、インバータ40の出力が信号伝搬時間により論理値「1」から「0」へ変化するまで、二入力AND回路39の両入力端子には論理値「1」を入力する。
したがって、二入力AND回路39の信号伝搬時間だけ論理値「0」を維持している。例えば、パルスクロック38(図4(a)参照)はタイミング38aからタイミング38bまでの期間に亘り論理値「0」を維持している。
引き続き、クロック発生回路は、タイミング38bを経てからパルスクロック38を立上げ短いタイミング期間38cだけ論理値「1」を出力し、所定時間(例えば、インバータ40の信号伝搬時間)の経過によりインバータ40の出力を論理値「1」から論理値「0」へ遷移させる。
このインバータ40の出力値の変化に応答してタイミング38dの段階で二入力AND回路39の出力が論理値「1」から論理値「0」へ変化する。
本実施例は、マスタークロック37を前段のマスタースレーブ方式のフリップフロップ回路のクロック端子へ入力し、パルスクロック38を後段のパルス駆動方式のフリップフロップ回路のクロック端子へ入力するように構成する。
マスタークロック37のタイミング37aから所定期間はマスタースレーブ方式のフリップフロップ回路のセットアップ/ホールド時間35に使用し、セットアップ/ホールド時間35を経て出力端子側の論理回路(ロジック)の信号伝搬時間36に使用する。
マスタースレーブ方式のフリップフロップ回路は、マスタークロック37の信号立下げタイミング37cの時点での出力を変化(特定)させ、下流の論理回路へデータを受け渡すことができる。
同様に、パルスクロック38のタイミング37aから所定期間はパルス駆動方式のフリップフロップ回路のセットアップ時間に使用し、このセットアップ時間を経てから次段に位置するマスタースレーブ方式のフリップフロップ回路へデータを送出するか、又は論理回路(ロジック)の信号伝搬時間に使用する。
本実施例では、後段同期回路のクロックタイミングを単にずらす場合に比べ、前段のサイクル時間を長くした分だけ、後段同期回路の遅延を短くしてタイミングを補償するため、後段同期回路の次段に位置するマスタースレーブ方式のフリップフロップ回路のサイクル時間を制約しない。
また、クロック発生回路を構成するインバータ40や二入力AND回路39がクロックタイミング遅延手段として機能するため、遅延回路などの追加素子を挿入することなく、前段同期回路のサイクル時間を一定時間延長することが可能である。
図5は、本発明の各実施例に用いる同期回路の回路図である。同期回路としてのマスタースレーブ方式のフリップフロップ回路やバッファ回路は、例えば、複数の相補型金属酸化物半導体(以下、単に「CMOS」と略記する)のスイチング素子を組み合わせて構成することができる。
また、CMOSの他にPMOSやNMOSやバイポーラやBiCMOS(バイシーモス)などの多種類のトランジスタを用いても構わない。以下、CMOS回路を用いて説明する。
図左下に示したバッファ回路は、P型トランジスタとN型トランジスタによりインバータ回路68を構成し各トランジスタのゲートへ所定周期で論理値が変化する基準クロックを印加する。
これらP型トランジスタとN型トランジスタのドレインを共通接続する中間節点から配線を導出する。この配線を後段のインバータ回路69の各トランジスタのゲートへ接続すると供に、配線から分岐してクロック信号の補信号を出力させる。
後段のインバータ回路69のP型トランジスタとN型トランジスタのドレインを共通接続する中間節点から出力線を導出し、クロック信号を出力させる。
図左側のスイッチング素子61は、電源電位(VDD)と基準電位(GND)との間に、VDD側からGND側へ順に2つのP型トランジスタ、中間節点、2つのN型トランジスタを直列に配置し、一対のP型トランジスタとN型トランジスタのゲートへデータを印加し、他のP型トランジスタのゲートへクロック信号を印加し、他のN型トランジスタのゲートへクロック信号の補信号を印加する。
スイッチング素子64は、スイッチング素子61の中間節点と接続し、電源電位(VDD)と基準電位(GND)との間に、VDD側からGND側へ順に2つのP型トランジスタ、中間節点、2つのN型トランジスタを直列に配置する。
また、一対のP型トランジスタとN型トランジスタのゲートへスイッチング素子61の中間節点の電位を印加し、他のP型トランジスタのゲートへクロック信号の補信号を印加し、他のN型トランジスタのゲートへクロック信号を印加する。
マスターフリップフロップ回路は、スイッチング素子61の中間節点と接続し、この中間節点の論理値を保持するインバータ62とスイッチング素子63で構成することができる。
スイッチング素子63は、電源電位(VDD)と基準電位(GND)との間に、VDD側からGND側へ順に2つのP型トランジスタ、中間節点、2つのN型トランジスタを直列に配置する。
一対のP型トランジスタとN型トランジスタのゲートへインバータ62の出力電位を印加し、他のP型トランジスタのゲートへクロック信号の補信号を印加し、他のN型トランジスタのゲートへクロック信号を印加する。
スレーブフリップフロップ回路は、スイッチング素子64の中間節点と接続し、この中間節点の論理値を保持するインバータ65とスイッチング素子66で構成することができる。
スイッチング素子66は、電源電位(VDD)と基準電位(GND)との間に、VDD側からGND側へ順に2つのP型トランジスタ、中間節点、2つのN型トランジスタを直列に配置する。
一対のP型トランジスタとN型トランジスタのゲートへインバータ65の出力電位を印加し、他のP型トランジスタのゲートへクロック信号を印加し、他のN型トランジスタのゲートへクロック信号の補信号を印加する。
インバータ65の出力は次段の出力バッファ回路としてのインバータ67へ接続され、このインバータ67がスレーブフリップフロップ回路に保持されている論理値の補信号を出力するように構成されている。
マスタースレーブ方式のフリップフロップ回路は、バッファ回路を含めて合計26個のトランジスタ素子で構成することができ、クロック信号の立上りエッジに応答してスイッチング素子61の閉状態(ON)とマスターフリップフロップ回路のデータ取込み及びデータ保持状態を機能させる。
また、クロック信号の立下りエッジに応答してスイッチング素子61を開状態(OFF)に遷移させ、スイッチング素子64を閉状態(ON)へ遷移させ、スレーブフリップフロップ回路のデータ取込み及びデータ保持状態を機能させながら、スイッチング素子66の中間節点の論理値の補信号をインバータ67を通じて出力することができる。
図6は、本発明の各実施例に用いる同期回路とパルスクロック発生回路の回路図である。同期回路としてのパルス駆動方式のフリップフロップ回路やパルスクロック発生回路は、上述の実施例と同様にCMOSのスイチング素子を組み合わせて構成することができる。
図左下に示したパルスクロック発生回路は、インバータ回路を3段直列接続する遅延回路75と、P型トランジスタ77と2つのN型トランジスタを含むスイッチング素子76と、このスイッチング素子76の出力と電源電位(VDD)にドレインを接続するP型トランジスタ78と、スイッチング素子76の出力信号を受信しパルスクロック信号を出力するインバータ79とを備えている。
このパルスクロック発生回路は、論理値「0」の基準クロックを遅延回路75へ入力している段階では、遅延回路75の出力に論理値「1」を出力している。この出力された論理値「1」をスイッチング素子76の中段に位置するN型トランジスタのゲートへ印加し閉状態(ON)にする。このN型トランジスタのゲートと共通接続されたP型トランジスタ78のゲートへ出力された論理値「1」を印加し開状態(OFF)に維持させる。
また、スイッチング素子76のP型トランジスタ77のゲートには論理値「0」の基準クロックが印加されているので、P型トランジスタ77は閉状態(ON)であり、スイッチング素子76の出力へ電源電位を接続しパルスクロックの論理値「1」の補信号である論理値「0」を出力させる。
このスイッチング素子76の出力にはインバータ79が接続されているので、このインバータ79の出力を論理値「0」に維持させることができる。
引き続き、基準クロックが論理値「0」から論理値「1」へ遷移した瞬間、スイッチング素子76のP型トランジスタ77のゲートには論理値「1」の基準クロックが印加され、P型トランジスタ77は開状態(OFF)へ遷移する。
次に、スイッチング素子76の基準電位側に配置されたN型トランジスタのゲートに論理値「1」の基準クロックが印加するので、スイッチング素子76の出力が電源電位から基準電位に変化するに伴い、スイッチング素子76の出力に接続されたインバータ79の出力を論理値「0」から論理値「1」へ変化させることができる。
さらに所定時間が経過することにより、遅延回路75に印加した基準クロックが三段直列接続のインバータ回路の信号伝搬時間を経て遅延回路75から出力される。この遅延した出力信号の論理値は「0」であり、スイッチング素子76の中段に位置するN型トランジスタを開状態(OFF)へ変化させると供に、P型トランジスタ78を開状態(OFF)から閉状態(ON)へ変化させる。
この時点で、パルスクロック発生回路は、P型トランジスタ78を通じて電源電位をパルスクロックの論理値「0」の補信号である論理値「1」を出力させ、インバータ79を通じて論理値「0」のパルスクロックを出力させることができる。
次に図上段に示したパルス駆動方式のフリップフロップ回路は、2つのP型トランジスタと2つのN型トランジスタを有するスイッチング素子71と、2つのP型トランジスタと2つのN型トランジスタを有するスイッチング素子73とインバータ72とを有するラッチ回路と、出力インバータ74とを備えている。
図左側のスイッチング素子71は、電源電位(VDD)と基準電位(GND)との間に、VDD側からGND側へ順に2つのP型トランジスタ、中間節点、2つのN型トランジスタを直列に配置し、一対のP型トランジスタとN型トランジスタのゲートへデータを印加し、他のP型トランジスタのゲートへパルスクロックの補信号を印加し、他のN型トランジスタのゲートへクロック信号を印加する。
ラッチ回路は、スイッチング素子71の中間節点と接続し、この中間節点の論理値を保持するインバータ72とスイッチング素子73で構成し、スイッチング素子73は、電源電位(VDD)と基準電位(GND)との間に、VDD側からGND側へ順に2つのP型トランジスタ、中間節点、2つのN型トランジスタを直列に配置する。
一対のP型トランジスタとN型トランジスタのゲートへインバータ72の出力電位を印加し、他のP型トランジスタのゲートへクロック信号を印加し、他のN型トランジスタのゲートへクロック信号の補信号を印加する。
インバータ72の入力は、スイッチング素子71の中間節点と接続し、入力端子(Data−in)に到達したデータの補信号が印加され、この補信号はインバータ72により論理値を反転され、上述のスイッチング素子73へ入力される。
スイッチング素子73の中間節点は、インバータ72の入力へ接続され、インバータ72とスイッチング素子73の組み合わせにより入力端子に到達したデータの補信号を保持することができる。
なお、パルス駆動方式のフリップフロップ回路は、保持している補信号を出力インバータ74へ入力し論理値を反転するので、出力端子の出力信号の論理値が取込んだ入力データと同じ論理値であることが理解することができる。
パルス駆動方式のフリップフロップ回路は、パルスクロック発生回路を含めて合計24個のトランジスタ素子で構成することができ、クロック信号の立上りエッジに応答してスイッチング素子71の閉状態(ON)とラッチ回路のデータ取込み及びデータ保持状態を機能させるので、セットアップ時間が短い、言い換えれば信号伝搬時間の短いフリップフロップ回路として機能する。
図7(a)は、本発明の第3実施例による半導体集積回路の回路図である。また、図7(b)は、この集積回路のタイミングチャートである。半導体集積回路は、データ入力(IN)からデータを取込むパルス駆動方式のフリップフロップ回路82を備えている。
図7(a)に示すように、半導体集積回路は、パルス駆動方式のフリップフロップ回路82のQ出力データを取込むパルス駆動方式のフリップフロップ回路83と、このパルス駆動方式のフリップフロップ回路83のQ出力データを取込むパルス駆動方式のフリップフロップ回路84とを備えている。
また、このパルス駆動方式のフリップフロップ回路84のQ出力データを入力し所定の信号伝搬時間を経てデータ出力(OUT)をする順序回路で構成するランダムロジック回路85とを備えている。
さらに、パルス生成回路81の出力は、パルス駆動方式のフリップフロップ回路82、フリップフロップ回路83、フリップフロップ回路84の夫々のクロック端子に共通接続することができる。
さらにまた、パルス生成回路81から出力する論理値「1」の期間が論理値「0」の期間より短いパルス信号に同期させ、パルス駆動方式のフリップフロップ回路82に取込んたデータを、フリップフロップ回路83、84の順番に1サイクル毎に転送させることができる。
図7(a)に示した、フリップフロップ回路82とフリップフロップ回路83との間や、フリップフロップ回路83とフリップフロップ回路84との間にはランダムロジック回路のような信号伝搬時間を有する論理回路が配置されていない。
したがって、マスタースレーブ方式のフリップフロップ回路を使用するとデータのホールド時間内に入力データが確定していなければならない制約を満足できず、ホールド時間内に次のサイクル用のデータが入力端子に到達する場合がある。
しかしながら、本実施例のようにセットアップ時間の短いフリップフロップ回路を半導体集積回路に適用するのでホールド対策が不要となる利点がある。
フリップフロップ回路83は、図7(b)に示すように、交互に連続する複数のデータ変動期間87、データ確定期間88、データ変動期間87−1、データ確定期間88−1、データ変動期間87−2、データ確定期間88−2、データ変動期間87−3のサイクルで動作し、フリップフロップ回路82やフリップフロップ回路84と同期してデータを転送する。
フリップフロップ回路83は、データ確定期間88−1のサイクルでパルス生成回路81から出力されるパルスクロックの立上りエッジに応答して、セットアップ時間に移行しデータを取込みホールド時間に移行してデータを保持し後段同期回路又は論理回路にデータを用意する。
同期回路は、データ確定期間88−1のサイクルでデータ入力端子に出現する第1データ86−1を取込むように二本破線89の右側まで次のサイクルの第2データ86−2が出現しない信号伝搬時間のタイミングに設定している。
しかしながら、クリティカルパスでは、データ確定期間88−1の中で(例えば、二本破線89の左側)にフリップフロップ回路82のQ出力データが変化して第2データ86−2がフリップフロップ回路83のデータ入力端子に到達しフリップフロップ回路83へ取込まれるという不整合が生じる場合がある。
なお、後続のデータ確定期間88−2においてフリップフロップ回路82のQ出力データが変化すると次サイクルの第3データ86−3がフリップフロップ回路83へ取込まれるという不整合が生じる。
本実施例は、例えば、図7(c)に示すように、パルス駆動方式のフリップフロップ回路91とパルス駆動方式のフリップフロップ回路92との間に、インバータを2段直列接続した遅延回路90を挿入してこのようなデータ不整合を回避している。
また、図7(d)のタイミングチャートで示すように、遅延回路90を挿入前のパルス駆動方式のフリップフロップ回路92のデータ入力端子に出現するデータの到達状態を示している。データ確定期間95中に破線左側に示すデータがクリティカルパスを通過する。
したがって、データ確定期間95の最終段階(セットアップ/ホールド時間)で次のサイクルのデータ93が誤ってフリップフロップ回路92に取込まれるというデータの不整合が生じる場合がある。
これに対して、遅延回路90を挿入後のデータの到達状態は、破線と重なるデータがデータ確定期間95に間に合うため、データ94が取込まれるという不整合が生じないという利点がある。
ただし、多数の遅延回路90を挿入した場合、セルの消費電力が増加し、セル面積も増大するため、半導体集積回路全体において所定の使用規制を設ける必要がある。
本実施例では、全てのセル間のパスについて遅延回路90の挿入を検討するのではなく、タイミング検証処理により全てのパスを検証してから、タイミング調節の際に検証したパスの中のクリティカルパスに対して高速動作保証ができるか否かをタイミング調節処理によって判定する。
引き続き、データの不整合が生じる可能性のあるクリティカルパスにのみ遅延回路90を挿入するので、半導体集積回路の全体に占める遅延回路90の総数を調整することができる。
よって、セル面積やセルの消費電力が著しく増大する問題を容易に解消することができ、半導体集積回路の設計資源であるコンピュータシステムの稼動時間も節約し効率良く次の設計ステップへ移行でき半導体集積回路の設計期間を短縮することができる。
図8は、本発明の第4実施例による半導体集積回路のタイミングチャートである。図上段のマスタークロック96は、所定周期で論理値を変化させるデューティ比が1対1のクロック信号である。
また、図中段のデータ入力端子状態は、データ変動期間87、データ確定期間88、データ変動期間87−1、データ確定期間88−1、データ変動期間87−2、データ確定期間88−2、データ変動期間87−3の各々のタイミングとデータ入力端子に到達しているデータの状態を示す。
さらに、図下段のデータ出力端子状態は、例えば、図7のパルス駆動方式のフリップフロップ回路83のQ出力端子から出力される各サイクルの出力データ101、出力データ101−1、出力データ101−2を示している。
パルス駆動方式のフリップフロップ回路は、マスタークロック96の立上りエッジに応答して入力端子に到達しているデータを内部に取込み保持する。
このパルス駆動方式のフリップフロップ回路は、第1次設計データにより統一して自動配置配線されたマスタースレーブ方式のフリップフロップ回路に比して、信号伝搬時間が短く、セットアップ時間が早く、及びホールド時間が長いので、クリティカルパスにおける前段フリップフロップ回路と後段フリップフロップ回路に対してデータの取り違え防止に有効に機能する。
なお、本実施例では、セットアップ時間をマスタークロック96の立上りエッジに対してデータ入力端子側にデータを用意するための時間として説明する。
パルス駆動方式のフリップフロップ回路は、データ確定期間88の開始を規定するマスタークロック96の立上りエッジより前にデータ入力端子にデータが到達するセットアップ時間97がコンピュータデータベースに記憶されている。
また、マスタークロック96の立上りエッジより後に取込んだデータを保持するホールド時間98がコンピュータデータベースに記憶されている。
さらに、マスタークロック96の立上りエッジからQ出力端子にデータが確定するまでのデータ遅延時間99と、このデータ遅延時間99にセットアップ時間97を加算したフリップフロップ遅延時間100がコンピュータデータベースに記憶され、回路の高速動作の仕様が決定される。
すなわち、前段フリップフロップ回路のフリップフロップ遅延時間100と、後段フリップフロップ回路のセットアップ時間との余裕時間によりクリティカルパスを検証し、タイミング調節処理によりクリティカルパスのデータ不整合を抽出して、不整合の生じるパスにのみ遅延回路を挿入するように設計データの微調整処理を実施することができる。
図9(a)は、本発明の第5実施例による半導体集積回路の回路図である。また、図9(b)は、この半導体集積回路のタイミングチャートである。図9(a)に示す半導体集積回路は、データ入力端子からデータを取込むフリップフロップ回路82と、このフリップフロップ回路82のQ出力データをランダムロジック回路80を通して取込むフリップフロップ回路83を備えている。
また、このフリップフロップ回路83のQ出力データをランダムロジック回路80−1を通して取込むフリップフロップ回路84と、このフリップフロップ回路84のQ出力データが所定の信号伝搬時間を経てデータ出力をする順序回路を含むランダムロジック回路80−2とを備えている。
また、パルス生成回路81の出力は、フリップフロップ回路82、フリップフロップ回路83、フリップフロップ回路84の夫々のクロック端子に共通接続され、フリップフロップ回路82に取込むデータを、フリップフロップ回路83、フリップフロップ回路84の順番に転送する。
図9(b)に示す第1段目の波形は、マスタークロックと、フリップフロップ回路の遅延時間と、ランダムロジック回路が使用できる時間との関係を示す。フリップフロップ回路82はマスタークロックの立上りエッジに対してフリップフロップ遅延時間56だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80はロジック遅延許容時間57の間でQ出力端子のデータをフリップフロップ回路83のデータ入力端子へ伝搬する。
フリップフロップ回路83はマスタークロックの立上りエッジに対してフリップフロップ遅延時間56−1だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80−1はロジック遅延許容時間57−1の間でQ出力端子のデータをフリップフロップ回路84のデータ入力端子へ伝搬する。
フリップフロップ回路84はマスタークロックの立上りエッジに対してフリップフロップ遅延時間56−2だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80−2はロジック遅延許容時間57−2の間でQ出力端子のデータを次段の回路へ伝搬する。
また、フリップフロップ回路83を低閾値トランジスタで構成するセットアップ時間の短いフリップフロップ回路に置換した場合は、図中のニ本破線58の右側まで擬似的にマスタークロックの立上りエッジを遅く(図中右側にシフト)することができる。
すなわち、ロジック遅延許容時間57が延長されるが、次のロジック遅延許容時間57−1が短縮化される。この場合、ランダムロジック回路80−1の信号伝搬時間が長くなければ、ロジック遅延許容時間57の延長はフリップフロップ回路82とフリップフロップ回路83との間で生じるクリティカルパスの不整合に有効に作用することが期待できる。
図9(b)に示す第2段目の波形は、マスタークロック96と、遅延クロック103を独立してフリップフロップ回路へ供給する同期動作の関係を示す。
フリップフロップ回路82はマスタークロック96の立上りエッジに対してフリップフロップ遅延時間58だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80はロジック遅延許容時間59の間でQ出力端子のデータをフリップフロップ回路83のデータ入力端子へ伝搬する。
フリップフロップ回路83はマスタークロック96と独立した遅延クロック103の立上りエッジに対してフリップフロップ遅延時間58−1だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80−1はロジック遅延許容時間59−1の間でQ出力端子のデータをフリップフロップ回路84のデータ入力端子へ伝搬する。
フリップフロップ回路84はマスタークロック96の立上りエッジに対してフリップフロップ遅延時間58−2だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80−2はロジック遅延許容時間59−2の間でQ出力端子のデータを次段の回路へ伝搬する。
このように構成すると、図中のニ本破線58の右側まで遅延クロック103をマスタークロックの立上りエッジより遅く(図中右側にシフト)することができる。すなわち、ロジック遅延許容時間59が延長されるが、次のロジック遅延許容時間59−1が短縮化される。
この場合、ランダムロジック回路80−1の信号伝搬時間が著しく長くなければ、ロジック遅延許容時間59の延長はフリップフロップ回路82とフリップフロップ回路83との間で生じるクリティカルパスの不整合に有効に作用することが期待できる。
図9(b)に示す第3段目の波形は、パルスクロックにより動作するパルス駆動方式のフリップフロップ回路82、フリップフロップ回路83、フリップフロップ回路84を直列接続した場合の同期動作の関係を示す。
フリップフロップ回路82は、パルスクロックの立上りエッジに対してフリップフロップ遅延時間58だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80はロジック遅延許容時間59の間でQ出力端子のデータをフリップフロップ回路83のデータ入力端子へ伝搬する。
フリップフロップ回路83は、パルスクロックの立上りエッジに対してフリップフロップ遅延時間58−1だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80−1はロジック遅延許容時間104の間でQ出力端子のデータをフリップフロップ回路84のデータ入力端子へ伝搬する。
フリップフロップ回路84はパルスクロックの立上りエッジに対してフリップフロップ遅延時間58−2だけ遅れて入力データをQ出力端子へ出力し、次段のランダムロジック回路80−2はロジック遅延許容時間59−2の間でQ出力端子のデータを次段の回路へ伝搬する。
このように構成すると、パルス駆動方式のフリップフロップは、セットアップ時間が短く、信号伝搬時間が短く、フリップフロップ遅延時間58、58−1、58−2が短いので、各段のロジック遅延許容時間59、104、59−2が長く取れるのでクリティカルパスの余裕度が増大し、データの不整合が生じる可能性を低減させることができる。
図10は、本発明の第6実施例に用いるフリップフロップ回路のブロック図である。図上段に示したフィードバックループ付きフリップフロップ回路44は、マルチプレクサ回路42の出力をD入力端子に接続し、Q出力端子から分岐してマルチプレクサ回路42の一方の入力へQ出力データをフィードバックループ接続している。
また、マルチプレクサ回路の他方の入力へデータを入力するように構成する。マルチプレクサに入力するホールド信号の論理値によりフィードバックループしたQ出力データ又はデータの何れか一方を選択するように制御することができる。
図下段に示したパルス駆動方式のフリップフロップ回路48は、データをD入力端子へ接続し、Q出力端子を次段の回路へ接続し、クロック入力端子へマルチプレクサ回路50の出力を接続する。
このマルチプレクサ回路50は、一方の入力へパルスクロックを入力し、他方の入力へ論理値「0」を入力し、ホールド信号の論理値によりパルスクロック又は「0」の論理値の何れか一方を選択するように制御することができる。
本実施例では、第1次設計データによるフィードバックループ付きフリップフロップ回路44を含む半導体集積回路を仮設計し、全てのパスに対してタイミング検証処理を実行することができる。
引き続きタイミング調節処理によりクロックタイミングのズレが生じるパスを抽出し、マルチプレクサ回路42及びフィードバックループ付きフリップフロップ回路44をマルチプレクサ回路50及びパルス駆動方式のフリップフロップ回路48へ置き換える置換処理を施してから、自動配置配線で回路配置と配線パターンを微調整する。
このように構成することで、自己フィードバックループ付きフリップフロップ回路44のデータパスに挿入したマルチプレクサによる信号伝搬時間の遅延増大を回避することができ、パルス駆動方式のフリップフロップ回路48のクロック端子に接続するマルチプレクサ回路50により、データパスの信号伝搬時間の遅延増大を回避することができる。
また、パルス駆動方式のフリップフロップ回路48は、クロックスキュー抑制の観点からフリップフロップ回路のデータ入出力の1サイクルの中で論理値「1」の期間が短い、又は非論理設計の場合は論理値「0」の期間が短いパルスクロックをマルチプレクサ回路50を通じてクロック端子へ入力する。
さらに、パルス駆動方式のフリップフロップ回路の動作を制御することで、クロックタイミングのズレによる動作不良を解消し、パルス駆動方式のフリップフロップ回路48の信号伝搬時間だけで次段の回路へデータを渡すことができるという利点がある。
この置換処理前のフリップフロップ回路に比して、データの入力端子側に設けたマルチプレクサ回路42を設ける必要がないので、信号伝搬時間をより短くすることができ、セル面積や消費電力の増加を抑制できるという利点もある。
図10を参照して、フィードバックループ付きフリップフロップ回路44とパルス駆動方式のフリップフロップ回路48の動作を説明する。フリップフロップ回路44は、クロック端子へデューティ比1対1の所定周期のクロック信号を印加して動作をする。
制御信号としてのホールド信号が論理値「1」のときは、マルチプレクサ回路42がフィードバックループしたQ出力データを選択しフィードバックループ付きフリップフロップ回路44の入力端子へ渡すことができ、1サイクル前のデータを繰返し入力することができる。
一方、ホールド信号が論理値「0」の場合は、データを選択しフリップフロップ回路44の入力端子へ渡すことができる。
何れの場合も、ホールド信号が変化した時点からマルチプレクサ回路42の信号伝搬時間が経過してからフリップフロップ回路44の入力端子に所望のデータが届き、クロック信号の立上りエッジに同期してデータを受け渡すことができるが、マルチプレクサ回路42の追加により回路全体の高速化には不向きな場合がある。
また、パルス駆動方式のフリップフロップ回路48では、マルチプレクサ回路50に論理値「1」のホールド信号を入力している場合、論理値「0」信号を選択しパルス駆動方式のフリップフロップ回路48のクロック端子へ伝達する。この場合、フリップフロップ回路48はデータを入力から取込まないデータ保持状態(又は、出力信号不変状態)を維持する。
一方、ホールド信号が論理値「0」の場合は、パルスクロックを選択しパルス信号をフリップフロップ回路48のクロック端子へ渡すことができる。パルスクロックの立上りエッジに応答してフリップフロップ回路48はデータを入力端子から受け取り内部にデータを保持しながら、Q出力を変化させて次段の回路へデータを受け渡すことができる。
図11は、本発明の第7実施例による半導体集積回路の回路配置図である。半導体集積回路としてのスタンダードセル108は、図左端部のスクライブライン117、図右端部のスクライブライン117a、図上部のスクライブライン117b、及び不図示の下部のスクライブラインにより4方向を囲まれた領域に複数のセルとこれらセル間を接続する配線により構成する。
スタンダードセル108は、例えば、マスタースレーブ方式のフリップフロップ回路111とフリップフロップ回路112、パルス駆動方式のフリップフロップ回路113、マスタースレーブ方式のフリップフロップ回路の近傍にパルス駆動方式のフリップフロップ回路を配置するフリップフロップ混在領域110を備える。
また、これらフリップフロップ回路を駆動するクロック信号を供給するマスタークロック発生回路や、パルス駆動方式のフリップフロップ回路へ共通のパルスクロック信号を供給するパルス発生回路を図右側のロジック領域118に設けることができる。
上述したマスタースレーブ方式のフリップフロップ回路111やフリップフロップ回路112は、図1の自動配置配線処理に使用された第1次設計データに含まれる同期回路として配置したものである。
一方、パルス駆動方式のフリップフロップ回路113やフリップフロップ混在領域110に含まれるパルス駆動方式のフリップフロップ回路は、第2次設計データにより配置されたフリップフロップである。
マスタースレーブ方式のフリップフロップ回路111とパルス駆動方式のフリップフロップ回路113とは、略同面積のセルで構成することができるので、フリップフロップ混在領域110に異なる同期方式のフリップフロップ回路が置換された場合でも略同一面積のセルに置換することができるため、セルのレイアウトを大幅に変更する必要がなく、効率的なスタンダードセルの設計を遂行することができる。
すなわち、パルス駆動方式のフリップフロップ回路は、パルス駆動方式でないフリップフロップ回路(例えば、マスタースレーブ方式)に比べフリップフロップ回路の構造が単純であるので、セル面積が小さくでき、消費電力も少なくすることができる。
また、セルに収納するトランジスタ素子の数が略同一レベルに収めることができるため、フリップフロップ混在領域を設けても回路設計の大幅な変更を必要としないという半導体集積回路の設計方法に利点がある。
さらに、スタンダードセル108は、スクライブライン117、117a、117bなどの近傍に配置したボンディングパッド116、ボンディングパッド116a、ボンディングパッド116bを設け、外部との電気的接触又はウエハプローブテストを達成する。
フリップフロップ混在領域110に配置されたフリップフロップ回路やフリップフロップ回路111、112、113は、配線114及びI/Oバッファ回路115と通してボンディングパッド116に接続される。
ロジック領域118に配置された順序回路を含むランダムロジック回路やクロック発生回路は、配線114及びI/Oバッファを通じてボンディングパッド116bに接続される。不図示のランダムロジック回路や他の同期回路もI/Oバッファ115aを通じてボンディングパッド116aに接続し、外部との電気的接触又はウエハプローブテストを達成する。
なお、本発明の各実施例に記載された、作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、本発明の実施の形態に記載されたものに限定されるものではない。
タイミング検証工程により全てのパスを検証してから、検証工程により得たクリティカルパスに基づいて信号伝搬タイミングを調節し、クリティカルパスを抽出した際に、後段同期回路を前段同期回路より短い信号伝搬時間の同期回路に置換することによって、半導体集積回路の消費電力が制限される用途やチップサイズが制限される用途に適用することができる。
23 前段インバータ
24 後段インバータ
50 マルチプレクサ回路
54 パルス発生回路
80 ランダムロジック回路
81 パルス生成回路
82、83、84 フリップフロップ回路
85 ランダムロジック回路
90 遅延回路
91、92 フリップフロップ回路
115 バッファ回路
117 スクライブライン
24 後段インバータ
50 マルチプレクサ回路
54 パルス発生回路
80 ランダムロジック回路
81 パルス生成回路
82、83、84 フリップフロップ回路
85 ランダムロジック回路
90 遅延回路
91、92 フリップフロップ回路
115 バッファ回路
117 スクライブライン
Claims (5)
- 所定の信号伝搬時間の前段同期回路のセルと、該前段同期回路と同等の信号伝搬時間の後段同期回路のセルと、該前段同期回路と後段同期回路との間に配置する論理回路のセルとを複数自動配置し、該セル相互間を電気的に自動配線接続する自動配置配線工程と、
前記自動配置配線工程を経た複数のセルを有する半導体集積回路の信号伝搬タイミングを検証するタイミング検証工程と、
前記タイミング検証工程により得た信号伝搬タイミングのクリティカルパスに基づいて該信号伝搬タイミングを調節するタイミング調節工程と、
前記クリティカルパスを抽出した際に、前記後段同期回路が前段同期回路の同期方式と異なる同期回路に置換し、前記後段同期回路を前記前段同期回路より短い信号伝搬時間の同期回路とする同期回路置換工程と、
を含むことを特徴とする半導体集積回路の設計方法。 - 前記後段同期回路は、前記前段同期回路の同期方式がマスタースレーブ方式である場合に、同期方式をパルス駆動方式に置換されることを特徴とする請求項1に記載の半導体集積回路の設計方法。
- 前記前段同期回路の近傍に前記後段同期回路を配置することを特徴とする請求項1又は請求項2に記載の半導体集積回路の設計方法。
- 前記半導体集積回路は、スタンダードセルで構成し前記セルの面積および電気接続用端子の位置が略同一のパルス駆動方式のフリップフロップ回路とマスタースレーブ方式のフリップフロップ回路を含む請求項1乃至請求項3の何れか1項に記載の半導体集積回路の設計方法。
- 所定のセル面積を有するマスタースレーブ方式のフリップフロップ回路の近傍に該マスタースレーブ方式のフリップフロップ回路と略同一のセル面積を有するパルス駆動方式のフリップフロップ回路を配置するフリップフロップ混在領域と、
前記マスタースレーブ方式のフリップフロップ回路へクロック信号を供給するマスタークロック発生回路と、
を備えることを特徴とする半導体集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003388357A JP2005149313A (ja) | 2003-11-18 | 2003-11-18 | 半導体集積回路の設計方法および半導体集積回路 |
US10/988,658 US20050155001A1 (en) | 2003-11-18 | 2004-11-16 | Method for designing a semiconductor integrated circuit and a semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003388357A JP2005149313A (ja) | 2003-11-18 | 2003-11-18 | 半導体集積回路の設計方法および半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005149313A true JP2005149313A (ja) | 2005-06-09 |
Family
ID=34695459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003388357A Abandoned JP2005149313A (ja) | 2003-11-18 | 2003-11-18 | 半導体集積回路の設計方法および半導体集積回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050155001A1 (ja) |
JP (1) | JP2005149313A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009101585A (ja) * | 2007-10-23 | 2009-05-14 | Seiko Epson Corp | サーマルヘッドドライバ、サーマルヘッド、電子機器及び印刷システム、並びにサーマルヘッドドライバ及びサーマルヘッドのレイアウト方法 |
US9704862B2 (en) | 2014-09-18 | 2017-07-11 | Samsung Electronics Co., Ltd. | Semiconductor devices and methods for manufacturing the same |
US9767248B2 (en) | 2014-09-18 | 2017-09-19 | Samsung Electronics, Co., Ltd. | Semiconductor having cross coupled structure and layout verification method thereof |
US9811626B2 (en) | 2014-09-18 | 2017-11-07 | Samsung Electronics Co., Ltd. | Method of designing layout of semiconductor device |
US10026661B2 (en) | 2014-09-18 | 2018-07-17 | Samsung Electronics Co., Ltd. | Semiconductor device for testing large number of devices and composing method and test method thereof |
US10095825B2 (en) | 2014-09-18 | 2018-10-09 | Samsung Electronics Co., Ltd. | Computer based system for verifying layout of semiconductor device and layout verify method thereof |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7448012B1 (en) | 2004-04-21 | 2008-11-04 | Qi-De Qian | Methods and system for improving integrated circuit layout |
US7634749B1 (en) * | 2005-04-01 | 2009-12-15 | Cadence Design Systems, Inc. | Skew insensitive clocking method and apparatus |
US7454303B2 (en) * | 2006-12-21 | 2008-11-18 | Lsi Logic Corporation | System and method for compensating for PVT variation effects on the delay line of a clock signal |
JP5492429B2 (ja) * | 2009-03-05 | 2014-05-14 | ルネサスエレクトロニクス株式会社 | 回路設計支援装置、回路設計支援方法、プログラム |
US9424849B2 (en) * | 2011-12-14 | 2016-08-23 | Cirrus Logic, Inc. | Data transfer |
CA2882321C (en) | 2011-12-14 | 2018-05-01 | Wolfson Microelectronics Plc | Data transfer |
US9360915B1 (en) * | 2012-04-26 | 2016-06-07 | Marvell International Ltd. | Dynamically controlling clocking rate of a processor based on user defined rule |
US9122823B2 (en) * | 2013-12-20 | 2015-09-01 | International Business Machines Corporation | Stacked multiple-input delay gates |
US11132486B1 (en) * | 2020-05-21 | 2021-09-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Systems and methods for multi-bit memory with embedded logic |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301553B1 (en) * | 1996-05-31 | 2001-10-09 | Luc M. Burgun | Method and apparatus for removing timing hazards in a circuit design |
US6023568A (en) * | 1996-11-15 | 2000-02-08 | Synopsys, Inc. | Extracting accurate and efficient timing models of latch-based designs |
JPH10327047A (ja) * | 1997-05-22 | 1998-12-08 | Sony Corp | 半導体集積回路およびその設計方法 |
US6185720B1 (en) * | 1998-06-19 | 2001-02-06 | Intel Corporation | Slaveless synchronous system design |
JP3317948B2 (ja) * | 2000-01-20 | 2002-08-26 | エヌイーシーマイクロシステム株式会社 | 半導体集積回路のレイアウト設計方法及び半導体集積回路 |
JP4512934B2 (ja) * | 2001-04-13 | 2010-07-28 | 富士通セミコンダクター株式会社 | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
US6557161B2 (en) * | 2001-06-28 | 2003-04-29 | Sun Microsystems, Inc. | Method for prototyping asynchronous circuits using synchronous devices |
JP4108418B2 (ja) * | 2002-09-10 | 2008-06-25 | 松下電器産業株式会社 | 半導体集積回路の設計方法 |
US6910195B2 (en) * | 2003-02-05 | 2005-06-21 | Intel Corporation | Flip-flop insertion in a circuit design |
-
2003
- 2003-11-18 JP JP2003388357A patent/JP2005149313A/ja not_active Abandoned
-
2004
- 2004-11-16 US US10/988,658 patent/US20050155001A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009101585A (ja) * | 2007-10-23 | 2009-05-14 | Seiko Epson Corp | サーマルヘッドドライバ、サーマルヘッド、電子機器及び印刷システム、並びにサーマルヘッドドライバ及びサーマルヘッドのレイアウト方法 |
US9704862B2 (en) | 2014-09-18 | 2017-07-11 | Samsung Electronics Co., Ltd. | Semiconductor devices and methods for manufacturing the same |
US9767248B2 (en) | 2014-09-18 | 2017-09-19 | Samsung Electronics, Co., Ltd. | Semiconductor having cross coupled structure and layout verification method thereof |
US9811626B2 (en) | 2014-09-18 | 2017-11-07 | Samsung Electronics Co., Ltd. | Method of designing layout of semiconductor device |
US10002223B2 (en) | 2014-09-18 | 2018-06-19 | Samsung Electronics Co., Ltd. | Method of designing layout of semiconductor device |
US10026661B2 (en) | 2014-09-18 | 2018-07-17 | Samsung Electronics Co., Ltd. | Semiconductor device for testing large number of devices and composing method and test method thereof |
US10095825B2 (en) | 2014-09-18 | 2018-10-09 | Samsung Electronics Co., Ltd. | Computer based system for verifying layout of semiconductor device and layout verify method thereof |
US10242984B2 (en) | 2014-09-18 | 2019-03-26 | Samsung Electronics Co., Ltd. | Semiconductor devices and methods for manufacturing the same |
Also Published As
Publication number | Publication date |
---|---|
US20050155001A1 (en) | 2005-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005149313A (ja) | 半導体集積回路の設計方法および半導体集積回路 | |
US8779820B2 (en) | Uniform-footprint programmable-skew multi-stage CMOS cell | |
US8461893B2 (en) | Uniform-footprint programmable multi-stage delay cell | |
JP2008140821A (ja) | 半導体装置および半導体装置の設計方法 | |
JP2008028345A (ja) | 誤動作検知回路を含む半導体集積回路とその設計方法 | |
US11831316B2 (en) | System of free running oscillators for digital system clocking immune to process, voltage and temperature (PVT) variations | |
US20120249204A1 (en) | Flip-flop circuit, scan test circuit, and method of controlling scan test circuit | |
JP2009192461A (ja) | 半導体集積回路装置 | |
JP2009080634A (ja) | リセットクロック制御回路 | |
JP4702137B2 (ja) | スキャンテスト用フリップフロップ | |
JP2009080037A (ja) | スキャンテスト回路 | |
US8710892B2 (en) | Clock distribution circuit | |
JP2008118179A (ja) | 半導体集積回路 | |
US6748565B1 (en) | System and method for adjusting timing paths | |
US20020140479A1 (en) | Flip-flop circuit for capturing input signals in priority order | |
JP5417874B2 (ja) | フリップフロップ回路 | |
US20040085109A1 (en) | Method and apparatus for fine tuning clock signals of an integrated circuit | |
JP2000082090A (ja) | 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法 | |
JP2009187110A (ja) | クロック分配回路の設計方法 | |
JP5231065B2 (ja) | スキャン用フリップフロップ回路 | |
JP2007318230A (ja) | 半導体集積回路 | |
JP5516053B2 (ja) | 半導体集積回路 | |
JP2004037264A (ja) | スキャン機能付きフリップフロップ回路およびスキャンテスト回路 | |
US20060197573A1 (en) | Semiconductor integrated circuit and method for manufacturing semiconductor integrated circuit | |
JP2000227456A (ja) | スキャンフリップフロップ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050316 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20070608 |