JPH10327047A - 半導体集積回路およびその設計方法 - Google Patents
半導体集積回路およびその設計方法Info
- Publication number
- JPH10327047A JPH10327047A JP9132145A JP13214597A JPH10327047A JP H10327047 A JPH10327047 A JP H10327047A JP 9132145 A JP9132145 A JP 9132145A JP 13214597 A JP13214597 A JP 13214597A JP H10327047 A JPH10327047 A JP H10327047A
- Authority
- JP
- Japan
- Prior art keywords
- flip
- flop
- semiconductor integrated
- integrated circuit
- logic cell
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
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)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】 クロックスキューによる誤動作をより簡単な
且つより少ない手順で無くし、レイアウト設計のTAT
を短縮できる半導体集積回路及び半導体集積回路の設計
方法を提供することを目的とする。 【解決手段】 論理ネット21に基づき通常のフリップ
フロップによる第1論理セルを使用して決定し、レイア
ウトの結果であるレイアウト情報22に基づいて論理シ
ミュレーションを行い、該論理シミュレーションの結果
であるタイミング情報23を設計仕様20に照らして、
タイミングずれによる誤動作の可能性を検証し、更に、
タイミングずれによる誤動作の可能性がある箇所の第1
論理セルを、フリップフロップのデータ入力端またはデ
ータ出力端に遅延素子が接続されている第2論理セルま
たは第3論理セルに置き換え、当該半導体集積回路のレ
イアウトを決定する。
且つより少ない手順で無くし、レイアウト設計のTAT
を短縮できる半導体集積回路及び半導体集積回路の設計
方法を提供することを目的とする。 【解決手段】 論理ネット21に基づき通常のフリップ
フロップによる第1論理セルを使用して決定し、レイア
ウトの結果であるレイアウト情報22に基づいて論理シ
ミュレーションを行い、該論理シミュレーションの結果
であるタイミング情報23を設計仕様20に照らして、
タイミングずれによる誤動作の可能性を検証し、更に、
タイミングずれによる誤動作の可能性がある箇所の第1
論理セルを、フリップフロップのデータ入力端またはデ
ータ出力端に遅延素子が接続されている第2論理セルま
たは第3論理セルに置き換え、当該半導体集積回路のレ
イアウトを決定する。
Description
【0001】
【発明の属する技術分野】本発明は半導体集積回路およ
び半導体集積回路の設計方法に係り、特に、クロックス
キューによる誤動作をより簡単な操作で、しかもより少
ない手順で回避でき、半導体集積回路のレイアウト設計
のTAT(turnaround time)を短縮できる半導体集積
回路およびその設計方法に関する。
び半導体集積回路の設計方法に係り、特に、クロックス
キューによる誤動作をより簡単な操作で、しかもより少
ない手順で回避でき、半導体集積回路のレイアウト設計
のTAT(turnaround time)を短縮できる半導体集積
回路およびその設計方法に関する。
【0002】
【従来の技術】半導体集積回路において、半導体プロセ
スの微細化と共に、配線による信号伝搬遅延の全体の信
号伝搬遅延に占める割合がだんだんと大きくなってい
る。また、各信号線の配線による信号伝搬遅延は、レイ
アウト設計の結果に大きく依存する。そのため、クロッ
クのスキュー量がどの程度になるかは、レイアウト設計
の結果によらなければ、正確に見積もることはできな
い。
スの微細化と共に、配線による信号伝搬遅延の全体の信
号伝搬遅延に占める割合がだんだんと大きくなってい
る。また、各信号線の配線による信号伝搬遅延は、レイ
アウト設計の結果に大きく依存する。そのため、クロッ
クのスキュー量がどの程度になるかは、レイアウト設計
の結果によらなければ、正確に見積もることはできな
い。
【0003】また一方では、半導体集積回路内のフリッ
プフロップでクロックスキューが生じると、該クロック
が供給されるフリップフロップにおいて、ホールド時間
不足により誤動作を起こすことがある。そのため、レイ
アウト設計後のバリデーション(タイミング情報を考慮
に入れた論理シミュレーション)の結果により、ホール
ドタイムが足りないフリップフロップに対して、論理ネ
ット(具体的には、信号線の経路)上に遅延素子を挿入
してクロックスキューの調整をする必要がある。
プフロップでクロックスキューが生じると、該クロック
が供給されるフリップフロップにおいて、ホールド時間
不足により誤動作を起こすことがある。そのため、レイ
アウト設計後のバリデーション(タイミング情報を考慮
に入れた論理シミュレーション)の結果により、ホール
ドタイムが足りないフリップフロップに対して、論理ネ
ット(具体的には、信号線の経路)上に遅延素子を挿入
してクロックスキューの調整をする必要がある。
【0004】ここで、半導体集積回路内のクロックスキ
ューによる誤動作について、例を示して説明する。図8
には、同一クロックでタイミング制御される縦続接続の
フリップフロップの一例として、シフトレジスタの回路
構成図を示す。
ューによる誤動作について、例を示して説明する。図8
には、同一クロックでタイミング制御される縦続接続の
フリップフロップの一例として、シフトレジスタの回路
構成図を示す。
【0005】即ち、同図において、本従来例のシフトレ
ジスタは、同種の第1フリップフロップF31および第
2フリップフロップF32を備えて構成され、第1フリ
ップフロップF31はクロックCK1に、第2フリップ
フロップF32はクロックCK2にそれぞれ同期してク
ロック制御される。尚、クロックCK1およびクロック
CK2は同一系統のクロック(当該半導体集積回路にお
ける同一クロックツリー内のクロック)であって、クロ
ックCK1およびクロックCK2間には、クロック信号
配線およびクロックバッファ等による信号伝搬遅延、い
わゆるクロックスキューTSKが発生しているものとす
る。
ジスタは、同種の第1フリップフロップF31および第
2フリップフロップF32を備えて構成され、第1フリ
ップフロップF31はクロックCK1に、第2フリップ
フロップF32はクロックCK2にそれぞれ同期してク
ロック制御される。尚、クロックCK1およびクロック
CK2は同一系統のクロック(当該半導体集積回路にお
ける同一クロックツリー内のクロック)であって、クロ
ックCK1およびクロックCK2間には、クロック信号
配線およびクロックバッファ等による信号伝搬遅延、い
わゆるクロックスキューTSKが発生しているものとす
る。
【0006】本従来例のシフトレジスタでは、第1フリ
ップフロップF31および第2フリップフロップF32
間の信号線に該信号を遅延させる組み合わせ論理ゲート
回路が存在していないため、特に、クロックスキューに
よる誤動作を起こし易い構成となっている。図9に、本
従来例の各信号のタイミングチャートを示す。
ップフロップF31および第2フリップフロップF32
間の信号線に該信号を遅延させる組み合わせ論理ゲート
回路が存在していないため、特に、クロックスキューに
よる誤動作を起こし易い構成となっている。図9に、本
従来例の各信号のタイミングチャートを示す。
【0007】第1フリップフロップF31のデータ入力
端子Dには、Q1,Q2,Q3,…と変化していく入力
データDTが供給され、クロックCK1の立ち上がりエ
ッジでセットされる。従って、第1フリップフロップF
31内には、第1サイクルでQ2が、第2サイクルでQ
3がそれぞれ保持される。また、第1フリップフロップ
F31が保持する内容は、図9(b)に示すように、ク
ロックCK1の立ち上がりエッジから第1フリップフロ
ップF31が備えている信号伝搬遅延時間TF31Dだ
け遅れて、データ出力端子Qから出力されることとな
る。
端子Dには、Q1,Q2,Q3,…と変化していく入力
データDTが供給され、クロックCK1の立ち上がりエ
ッジでセットされる。従って、第1フリップフロップF
31内には、第1サイクルでQ2が、第2サイクルでQ
3がそれぞれ保持される。また、第1フリップフロップ
F31が保持する内容は、図9(b)に示すように、ク
ロックCK1の立ち上がりエッジから第1フリップフロ
ップF31が備えている信号伝搬遅延時間TF31Dだ
け遅れて、データ出力端子Qから出力されることとな
る。
【0008】また、第2フリップフロップF32のデー
タ入力端子Dには、第1フリップフロップF31の出力
がそのまま供給されており、クロックCK2の立ち上が
りエッジでセットされる。シフトレジスタの本来の機能
からいえば、第2フリップフロップF32内には、第1
サイクルでは前のサイクルで第1フリップフロップF3
1が保持していたデータQ1が、第2サイクルでは第1
サイクルで第1フリップフロップF31が保持していた
データQ2がそれぞれ保持されるべきである。
タ入力端子Dには、第1フリップフロップF31の出力
がそのまま供給されており、クロックCK2の立ち上が
りエッジでセットされる。シフトレジスタの本来の機能
からいえば、第2フリップフロップF32内には、第1
サイクルでは前のサイクルで第1フリップフロップF3
1が保持していたデータQ1が、第2サイクルでは第1
サイクルで第1フリップフロップF31が保持していた
データQ2がそれぞれ保持されるべきである。
【0009】しかしながら、図9(a)および(c)に
示すように、クロックCK1およびクロックCK2間に
はクロックスキューTSKによるタイミングずれが発生
している。また、第1フリップフロップF31の出力端
子Qから第2フリップフロップF32のデータ入力端子
Dに至るまでの信号配線による信号伝搬遅延時間TD1
2があり、第2フリップフロップF32のデータ入力端
子Dでは、クロックCK1の立ち上がりエッジからTF
31D+TD12の時間経過後にデータの変化が(例え
ば、第1サイクルでは、データQ1からQ2への変化
が)確定することとなる。従って、クロックCK2の立
ち上がりエッジでは、第2フリップフロップF32のデ
ータ入力端子Dにおいて、そのサイクルで第1フリップ
フロップF31が保持するデータとなっており、第1サ
イクルでデータQ2を、第2サイクルでデータQ3をそ
れぞれ保持し、同一サイクルで第1フリップフロップF
31および第2フリップフロップF32が同じデータを
保持することとなって、シフトレジスタの本来の機能を
実行し得ず、誤動作となってしまう。
示すように、クロックCK1およびクロックCK2間に
はクロックスキューTSKによるタイミングずれが発生
している。また、第1フリップフロップF31の出力端
子Qから第2フリップフロップF32のデータ入力端子
Dに至るまでの信号配線による信号伝搬遅延時間TD1
2があり、第2フリップフロップF32のデータ入力端
子Dでは、クロックCK1の立ち上がりエッジからTF
31D+TD12の時間経過後にデータの変化が(例え
ば、第1サイクルでは、データQ1からQ2への変化
が)確定することとなる。従って、クロックCK2の立
ち上がりエッジでは、第2フリップフロップF32のデ
ータ入力端子Dにおいて、そのサイクルで第1フリップ
フロップF31が保持するデータとなっており、第1サ
イクルでデータQ2を、第2サイクルでデータQ3をそ
れぞれ保持し、同一サイクルで第1フリップフロップF
31および第2フリップフロップF32が同じデータを
保持することとなって、シフトレジスタの本来の機能を
実行し得ず、誤動作となってしまう。
【0010】尚、本従来例のシフトレジスタにおける、
このような誤動作は、第2フリップフロップF32のセ
ットアップ時間TF32Sおよびホールド時間TF32
Dを考慮して、次のような条件を満たす場合に起こり得
る。 TSK > TF31D+TD12+TF32S−TF
32H
このような誤動作は、第2フリップフロップF32のセ
ットアップ時間TF32Sおよびホールド時間TF32
Dを考慮して、次のような条件を満たす場合に起こり得
る。 TSK > TF31D+TD12+TF32S−TF
32H
【0011】更に、参考として、図10には、本従来例
のシフトレジスタを半導体集積回路に組み込む場合に使
用されるフリップフロップの論理セルの回路構成図を示
す。即ち、第1フリップフロップF31および第2フリ
ップフロップF32は、半導体集積回路内では、図10
に示す構成で実現される。図10において、フリップフ
ロップは、クロックCKを受けて負論理の内部クロック
CKNを生成するインバータ308と、負論理の内部ク
ロックCKNを受けて正論理の内部クロックCKPを生
成するインバータ309と、正論理のクロックCKPで
制御されるクロックドインバータ301,304と、負
論理のクロックCKNで制御されるクロックドインバー
タ302,303と、インバータ305,306,30
7とを備えて構成されている。
のシフトレジスタを半導体集積回路に組み込む場合に使
用されるフリップフロップの論理セルの回路構成図を示
す。即ち、第1フリップフロップF31および第2フリ
ップフロップF32は、半導体集積回路内では、図10
に示す構成で実現される。図10において、フリップフ
ロップは、クロックCKを受けて負論理の内部クロック
CKNを生成するインバータ308と、負論理の内部ク
ロックCKNを受けて正論理の内部クロックCKPを生
成するインバータ309と、正論理のクロックCKPで
制御されるクロックドインバータ301,304と、負
論理のクロックCKNで制御されるクロックドインバー
タ302,303と、インバータ305,306,30
7とを備えて構成されている。
【0012】
【発明が解決しようとする課題】以上のように、半導体
集積回路の設計においては、レイアウト設計後のバリデ
ーションの結果により、ホールド時間が足りないフリッ
プフロップに対して論理ネット上に遅延素子を挿入する
等、クロックスキューの調整をする必要があるが、従来
の半導体集積回路および半導体集積回路の設計方法にあ
っては、半導体集積回路内のゲート数の増大、配線の多
層化に伴って、レイアウト上の空き領域は減少してお
り、新たな遅延素子の挿入は非常に難しく、また再レイ
アウトに必要な時間も大幅に増加しており、結果とし
て、半導体集積回路のレイアウト設計のTATを大きく
悪化させているという不利益があった。
集積回路の設計においては、レイアウト設計後のバリデ
ーションの結果により、ホールド時間が足りないフリッ
プフロップに対して論理ネット上に遅延素子を挿入する
等、クロックスキューの調整をする必要があるが、従来
の半導体集積回路および半導体集積回路の設計方法にあ
っては、半導体集積回路内のゲート数の増大、配線の多
層化に伴って、レイアウト上の空き領域は減少してお
り、新たな遅延素子の挿入は非常に難しく、また再レイ
アウトに必要な時間も大幅に増加しており、結果とし
て、半導体集積回路のレイアウト設計のTATを大きく
悪化させているという不利益があった。
【0013】また更に、再レイアウト後に、遅延素子の
挿入によって、或いは、挿入された遅延素子の周囲の素
子配置が変化することによって、ホールド時間エラー等
の誤動作の可能性が別の場所で新たに発生し、エラーが
収束しない場合もある。
挿入によって、或いは、挿入された遅延素子の周囲の素
子配置が変化することによって、ホールド時間エラー等
の誤動作の可能性が別の場所で新たに発生し、エラーが
収束しない場合もある。
【0014】本発明は、上記従来の事情に鑑みてなされ
たものであって、クロックスキューによる誤動作をより
簡単な操作で、しかもより少ない手順で無くすことがで
き、半導体集積回路のレイアウト設計のTATを短縮で
きる半導体集積回路および半導体集積回路の設計方法を
提供することを目的としている。
たものであって、クロックスキューによる誤動作をより
簡単な操作で、しかもより少ない手順で無くすことがで
き、半導体集積回路のレイアウト設計のTATを短縮で
きる半導体集積回路および半導体集積回路の設計方法を
提供することを目的としている。
【0015】
【課題を解決するための手段】上記課題を解決するため
に、本発明の半導体集積回路は、クロック信号に応じて
入力信号を保持して出力するフリップフロップを少なく
とも二段を備えて、前段のフリップフロップの出力信号
を後段の入力信号として後段に入力され、前段および後
段に入力されるクロック信号に位相差がある半導体集積
回路であって、前段のフリップフロップの出力側に接続
され、上記前段および後段のクロック信号の位相差に応
じて設定された遅延時間で前段の出力を遅延して、後段
のフリップフロップに入力する遅延素子を有する。
に、本発明の半導体集積回路は、クロック信号に応じて
入力信号を保持して出力するフリップフロップを少なく
とも二段を備えて、前段のフリップフロップの出力信号
を後段の入力信号として後段に入力され、前段および後
段に入力されるクロック信号に位相差がある半導体集積
回路であって、前段のフリップフロップの出力側に接続
され、上記前段および後段のクロック信号の位相差に応
じて設定された遅延時間で前段の出力を遅延して、後段
のフリップフロップに入力する遅延素子を有する。
【0016】また、本発明の半導体集積回路は、クロッ
ク信号に応じて入力信号を保持して出力するフリップフ
ロップを少なくとも二段を備えて、前段のフリップフロ
ップの出力信号を後段の入力信号として後段に入力さ
れ、前段および後段に入力されるクロック信号に位相差
がある半導体集積回路であって、後段のフリップフロッ
プの入力側に接続され、上記前段および後段のクロック
信号の位相差に応じて設定された遅延時間で前段の出力
を遅延して、後段のフリップフロップに入力する遅延素
子を有する。
ク信号に応じて入力信号を保持して出力するフリップフ
ロップを少なくとも二段を備えて、前段のフリップフロ
ップの出力信号を後段の入力信号として後段に入力さ
れ、前段および後段に入力されるクロック信号に位相差
がある半導体集積回路であって、後段のフリップフロッ
プの入力側に接続され、上記前段および後段のクロック
信号の位相差に応じて設定された遅延時間で前段の出力
を遅延して、後段のフリップフロップに入力する遅延素
子を有する。
【0017】更に、本発明の半導体集積回路は、上記前
段のフリップフロップと上記遅延素子は回路設計上で一
つの基本セルとして用いられ、当該基本セルと上記後段
のフリップフロップとは端子位置および外形が、同一ま
たは相似である。また、上記遅延素子と上記後段のフリ
ップフロップは回路設計上で一つの基本セルとして用い
られ、当該基本セルと上記前段のフリップフロップとは
端子位置および外形が、同一または相似である。
段のフリップフロップと上記遅延素子は回路設計上で一
つの基本セルとして用いられ、当該基本セルと上記後段
のフリップフロップとは端子位置および外形が、同一ま
たは相似である。また、上記遅延素子と上記後段のフリ
ップフロップは回路設計上で一つの基本セルとして用い
られ、当該基本セルと上記前段のフリップフロップとは
端子位置および外形が、同一または相似である。
【0018】また、本発明の半導体集積回路の設計方法
は、選択可能な論理セルとして、フリップフロップを含
む第1論理セルと、前記フリップフロップと同一特性の
フリップフロップおよび該フリップフロップのデータ入
力端に接続される遅延素子を含む第2論理セル、また
は、前記フリップフロップと同一特性のフリップフロッ
プおよび該フリップフロップのデータ出力端に接続され
る遅延素子を含む第3論理セルとを備える半導体集積回
路の設計方法であって、所与の論理ネットに基づき半導
体集積回路における配置および配線を前記第2論理セル
および前記第3論理セルを用いずに決定し、レイアウト
情報を出力する第1工程と、前記レイアウト情報に基づ
く論理シミュレーションを行いタイミング情報を得る第
2工程と、前記タイミング情報を所与の設計仕様に照ら
してタイミングずれによる誤動作の可能性を検証する第
3工程と、前記第3工程の検証の結果、タイミングずれ
による誤動作の可能性があると判断された箇所の第1論
理セルを前記第2論理セルまたは前記第3論理セルに置
き換え、半導体集積回路における配置および配線を決定
し、レイアウト情報を出力する第4工程とを有するもの
である。
は、選択可能な論理セルとして、フリップフロップを含
む第1論理セルと、前記フリップフロップと同一特性の
フリップフロップおよび該フリップフロップのデータ入
力端に接続される遅延素子を含む第2論理セル、また
は、前記フリップフロップと同一特性のフリップフロッ
プおよび該フリップフロップのデータ出力端に接続され
る遅延素子を含む第3論理セルとを備える半導体集積回
路の設計方法であって、所与の論理ネットに基づき半導
体集積回路における配置および配線を前記第2論理セル
および前記第3論理セルを用いずに決定し、レイアウト
情報を出力する第1工程と、前記レイアウト情報に基づ
く論理シミュレーションを行いタイミング情報を得る第
2工程と、前記タイミング情報を所与の設計仕様に照ら
してタイミングずれによる誤動作の可能性を検証する第
3工程と、前記第3工程の検証の結果、タイミングずれ
による誤動作の可能性があると判断された箇所の第1論
理セルを前記第2論理セルまたは前記第3論理セルに置
き換え、半導体集積回路における配置および配線を決定
し、レイアウト情報を出力する第4工程とを有するもの
である。
【0019】また、本発明の半導体集積回路の設計方法
は、前記第1論理セル、前記第2論理セルおよび前記第
3論理セルの端子位置およびセル外形を同一または相似
としたものである。
は、前記第1論理セル、前記第2論理セルおよび前記第
3論理セルの端子位置およびセル外形を同一または相似
としたものである。
【0020】更に、本発明の半導体集積回路の設計方法
は、前記第3工程は、同一クロックでタイミング制御さ
れる縦続接続のフリップフロップについて、前記縦続接
続のフリップフロップ中で連続する任意の2つの第1フ
リップフロップおよび第2フリップフロップ間のクロッ
ク信号経路についての信号伝搬遅延時間が、前記第1フ
リップフロップの信号伝搬遅延時間と、前記第1フリッ
プフロップおよび第2フリップフロップ間の信号経路に
ついての信号伝搬遅延時間と、前記第2フリップフロッ
プのセットアップ時間およびホールド時間の差との和よ
り大きい場合に、タイミングずれによる誤動作の可能性
があると判断し、前記第4工程は、前記第3工程の検証
の結果、タイミングずれによる誤動作の可能性があると
判断された場合には、前記第1フリップフロップを含む
第1論理セルを前記第3論理セルに、或いは、前記第2
フリップフロップを含む第1論理セルを前記第2論理セ
ルにそれぞれ置き換えるものである。
は、前記第3工程は、同一クロックでタイミング制御さ
れる縦続接続のフリップフロップについて、前記縦続接
続のフリップフロップ中で連続する任意の2つの第1フ
リップフロップおよび第2フリップフロップ間のクロッ
ク信号経路についての信号伝搬遅延時間が、前記第1フ
リップフロップの信号伝搬遅延時間と、前記第1フリッ
プフロップおよび第2フリップフロップ間の信号経路に
ついての信号伝搬遅延時間と、前記第2フリップフロッ
プのセットアップ時間およびホールド時間の差との和よ
り大きい場合に、タイミングずれによる誤動作の可能性
があると判断し、前記第4工程は、前記第3工程の検証
の結果、タイミングずれによる誤動作の可能性があると
判断された場合には、前記第1フリップフロップを含む
第1論理セルを前記第3論理セルに、或いは、前記第2
フリップフロップを含む第1論理セルを前記第2論理セ
ルにそれぞれ置き換えるものである。
【0021】本発明の半導体集積回路および半導体集積
回路の設計方法では、半導体集積回路におけるレイアウ
トを、先ず、回路設計によって生成された論理ネットに
基づいて、フリップフロップのデータ入力端またはデー
タ出力端に遅延素子を持たない通常のフリップフロップ
による論理セルを使用して決定し、次に、レイアウトの
結果であるレイアウト情報に基づいて論理シミュレーシ
ョンを行い、該論理シミュレーションの結果であるタイ
ミング情報を当該半導体集積回路の設計仕様に照らし
て、タイミングずれによる誤動作の可能性を検証し、更
に、タイミングずれによる誤動作の可能性がある箇所の
論理セルを、フリップフロップのデータ入力端またはデ
ータ出力端に遅延素子が接続されている論理セルに置き
換え、当該半導体集積回路のレイアウトを決定する。
回路の設計方法では、半導体集積回路におけるレイアウ
トを、先ず、回路設計によって生成された論理ネットに
基づいて、フリップフロップのデータ入力端またはデー
タ出力端に遅延素子を持たない通常のフリップフロップ
による論理セルを使用して決定し、次に、レイアウトの
結果であるレイアウト情報に基づいて論理シミュレーシ
ョンを行い、該論理シミュレーションの結果であるタイ
ミング情報を当該半導体集積回路の設計仕様に照らし
て、タイミングずれによる誤動作の可能性を検証し、更
に、タイミングずれによる誤動作の可能性がある箇所の
論理セルを、フリップフロップのデータ入力端またはデ
ータ出力端に遅延素子が接続されている論理セルに置き
換え、当該半導体集積回路のレイアウトを決定する。
【0022】このように、レイアウト設計後の論理シミ
ュレーション結果により、ホールド時間が足りない等の
タイミングずれによる誤動作の可能性がある箇所につい
て、スキュー調整を行う場合に、予め用意されている論
理セルとの置き換えによって論理ネット上への遅延素子
の挿入が行えるので、クロックスキューによる誤動作を
無くすための再レイアウトを簡単な操作で、しかも確実
に行うことができ、半導体集積回路のレイアウト設計の
TATを短縮できる。
ュレーション結果により、ホールド時間が足りない等の
タイミングずれによる誤動作の可能性がある箇所につい
て、スキュー調整を行う場合に、予め用意されている論
理セルとの置き換えによって論理ネット上への遅延素子
の挿入が行えるので、クロックスキューによる誤動作を
無くすための再レイアウトを簡単な操作で、しかも確実
に行うことができ、半導体集積回路のレイアウト設計の
TATを短縮できる。
【0023】また、本発明の半導体集積回路および半導
体集積回路の設計方法では、フリップフロップのデータ
入力端またはデータ出力端に遅延素子を持たない通常の
フリップフロップによる論理セルと、フリップフロップ
のデータ入力端またはデータ出力端に遅延素子が接続さ
れている論理セルとを、選択可能な論理セルとして備え
るが、これらの論理セルの端子位置およびセル外形を同
一または相似としているので、再レイアウトにおける置
き換え操作を周辺回路のレイアウトに影響を及ぼすこと
なく簡単に行うことができ、再レイアウト後にクロック
スキューによる誤動作が別の場所で新たに発生すること
もないので、クロックスキューによる誤動作をより簡単
な操作で、しかもより少ない手順で無くすことができ、
結果として半導体集積回路のレイアウト設計のTATを
短縮できる。
体集積回路の設計方法では、フリップフロップのデータ
入力端またはデータ出力端に遅延素子を持たない通常の
フリップフロップによる論理セルと、フリップフロップ
のデータ入力端またはデータ出力端に遅延素子が接続さ
れている論理セルとを、選択可能な論理セルとして備え
るが、これらの論理セルの端子位置およびセル外形を同
一または相似としているので、再レイアウトにおける置
き換え操作を周辺回路のレイアウトに影響を及ぼすこと
なく簡単に行うことができ、再レイアウト後にクロック
スキューによる誤動作が別の場所で新たに発生すること
もないので、クロックスキューによる誤動作をより簡単
な操作で、しかもより少ない手順で無くすことができ、
結果として半導体集積回路のレイアウト設計のTATを
短縮できる。
【0024】更に、本発明の半導体集積回路および半導
体集積回路の設計方法では、タイミングずれによる誤動
作の可能性の検証は、同一クロックでタイミング制御さ
れる縦続接続のフリップフロップについて、縦続接続の
フリップフロップ中で連続する任意の2つの第1フリッ
プフロップおよび第2フリップフロップ間のクロック信
号経路についての信号伝搬遅延時間が、第1フリップフ
ロップの信号伝搬遅延時間と、第1フリップフロップお
よび第2フリップフロップ間の信号経路についての信号
伝搬遅延時間と、第2フリップフロップのセットアップ
時間およびホールド時間の差との和より大きい場合に、
タイミングずれによる誤動作の可能性があると判断し、
タイミングずれによる誤動作の可能性がある場合には、
第1フリップフロップを含む第1論理セルを、フリップ
フロップの出力端に遅延素子が接続されている第3論理
セルに、或いは、第2フリップフロップを含む第1論理
セルを、フリップフロップの入力端に遅延素子が接続さ
れている第2論理セルにそれぞれ置き換える。このよう
に、レイアウト設計後の論理シミュレーション結果によ
り、ホールド時間が足りないといったタイミングずれに
よる誤動作の可能性がある箇所のスキュー調整を、予め
用意されている論理セルとの置き換えによって行うの
で、クロックスキューによる誤動作を無くすための再レ
イアウトを簡単な操作で、しかも確実に行うことがで
き、半導体集積回路のレイアウト設計のTATを短縮す
ることができる。
体集積回路の設計方法では、タイミングずれによる誤動
作の可能性の検証は、同一クロックでタイミング制御さ
れる縦続接続のフリップフロップについて、縦続接続の
フリップフロップ中で連続する任意の2つの第1フリッ
プフロップおよび第2フリップフロップ間のクロック信
号経路についての信号伝搬遅延時間が、第1フリップフ
ロップの信号伝搬遅延時間と、第1フリップフロップお
よび第2フリップフロップ間の信号経路についての信号
伝搬遅延時間と、第2フリップフロップのセットアップ
時間およびホールド時間の差との和より大きい場合に、
タイミングずれによる誤動作の可能性があると判断し、
タイミングずれによる誤動作の可能性がある場合には、
第1フリップフロップを含む第1論理セルを、フリップ
フロップの出力端に遅延素子が接続されている第3論理
セルに、或いは、第2フリップフロップを含む第1論理
セルを、フリップフロップの入力端に遅延素子が接続さ
れている第2論理セルにそれぞれ置き換える。このよう
に、レイアウト設計後の論理シミュレーション結果によ
り、ホールド時間が足りないといったタイミングずれに
よる誤動作の可能性がある箇所のスキュー調整を、予め
用意されている論理セルとの置き換えによって行うの
で、クロックスキューによる誤動作を無くすための再レ
イアウトを簡単な操作で、しかも確実に行うことがで
き、半導体集積回路のレイアウト設計のTATを短縮す
ることができる。
【0025】
【発明の実施の形態】以下、本発明の半導体集積回路お
よび半導体集積回路の設計方法の実施形態について、
〔第1実施形態〕、〔第2実施形態〕および〔第3実施
形態〕の順に図面を参照して詳細に説明する。
よび半導体集積回路の設計方法の実施形態について、
〔第1実施形態〕、〔第2実施形態〕および〔第3実施
形態〕の順に図面を参照して詳細に説明する。
【0026】第1実施形態 図1は本発明の半導体集積回路の第1の実施形態を示す
回路図であり、フリップフロップにより構成されている
シフトレジスタの回路図である。図示のように、本実施
形態のシフトレジスタは、図8に示す従来のシフトレジ
スタに較べて、後段のフリップフロップF12の入力側
に遅延素子201が新たに設けられ、前段のフリップフ
ロップF11の出力信号F11−Qが遅延素子201に
より遅延された後、後段のフリップフロップ回路F12
に入力される。
回路図であり、フリップフロップにより構成されている
シフトレジスタの回路図である。図示のように、本実施
形態のシフトレジスタは、図8に示す従来のシフトレジ
スタに較べて、後段のフリップフロップF12の入力側
に遅延素子201が新たに設けられ、前段のフリップフ
ロップF11の出力信号F11−Qが遅延素子201に
より遅延された後、後段のフリップフロップ回路F12
に入力される。
【0027】図1において、シフトレジスタは、同種の
第1フリップフロップF11および第2フリップフロッ
プF12と遅延素子201とを備えて構成され、第1フ
リップフロップF11はクロックCK1に、第2フリッ
プフロップF12はクロックCK2にそれぞれ同期して
クロック制御される。尚、第1フリップフロップF11
は第1論理セル100として、第2フリップフロップF
12および遅延素子201は第2論理セル200として
回路の設計に用いられている。
第1フリップフロップF11および第2フリップフロッ
プF12と遅延素子201とを備えて構成され、第1フ
リップフロップF11はクロックCK1に、第2フリッ
プフロップF12はクロックCK2にそれぞれ同期して
クロック制御される。尚、第1フリップフロップF11
は第1論理セル100として、第2フリップフロップF
12および遅延素子201は第2論理セル200として
回路の設計に用いられている。
【0028】また、クロックCK1およびクロックCK
2は同一系統のクロックであって、クロックCK1およ
びクロックCK2間には、例えば、回路の配線などによ
り生じたクロックスキューTSKが存在するものとす
る。さらに、本実施形態では、第1論理セル100と第
2論理セル200において、それぞれの端子位置および
外形は、同一または相似である。
2は同一系統のクロックであって、クロックCK1およ
びクロックCK2間には、例えば、回路の配線などによ
り生じたクロックスキューTSKが存在するものとす
る。さらに、本実施形態では、第1論理セル100と第
2論理セル200において、それぞれの端子位置および
外形は、同一または相似である。
【0029】図2は、図1のシフトレジスタの各信号の
タイミングチャートである。以下、図2のタイミングチ
ャートを参照しつつ、第1の実施形態の動作について説
明する。第1フリップフロップF11のデータ入力端子
Dには、Q0,Q1,Q2,Q3,…と変化していく入
力データDTが供給され、クロックCK1の立ち上がり
エッジでセットされる。従って、第1フリップフロップ
F11内には、第1サイクルでQ2が、第2サイクルで
Q3がそれぞれ保持される。また、第1フリップフロッ
プF11が保持する内容は、図2(b)に示すように、
クロックCK1の立ち上がりエッジから第1フリップフ
ロップF11が備えている信号伝搬遅延時間TF11D
だけ遅れて、データ出力端子Qから出力されることとな
る。
タイミングチャートである。以下、図2のタイミングチ
ャートを参照しつつ、第1の実施形態の動作について説
明する。第1フリップフロップF11のデータ入力端子
Dには、Q0,Q1,Q2,Q3,…と変化していく入
力データDTが供給され、クロックCK1の立ち上がり
エッジでセットされる。従って、第1フリップフロップ
F11内には、第1サイクルでQ2が、第2サイクルで
Q3がそれぞれ保持される。また、第1フリップフロッ
プF11が保持する内容は、図2(b)に示すように、
クロックCK1の立ち上がりエッジから第1フリップフ
ロップF11が備えている信号伝搬遅延時間TF11D
だけ遅れて、データ出力端子Qから出力されることとな
る。
【0030】また、第2フリップフロップF12のデー
タ入力端子Dには、第1フリップフロップF11の出力
が遅延時間TB1を備える遅延素子201を介して供給
されており、クロックCK2の立ち上がりエッジでセッ
トされる。従って、第2フリップフロップF12のデー
タ入力端子Dにおいて、第1フリップフロップF11の
出力データの変化(例えば、第1サイクルでは、データ
Q1からQ2への変化)が確定するのは、クロックCK
1の立ち上がりエッジから、第1フリップフロップF1
1の信号伝搬遅延時間TF11Dと、第1フリップフロ
ップF11の出力端子Qから遅延素子201に至るまで
の信号配線による信号伝搬遅延時間TD121と、遅延
素子201の遅延時間TB1とを足し合わせた時間経過
後に確定することとなる。
タ入力端子Dには、第1フリップフロップF11の出力
が遅延時間TB1を備える遅延素子201を介して供給
されており、クロックCK2の立ち上がりエッジでセッ
トされる。従って、第2フリップフロップF12のデー
タ入力端子Dにおいて、第1フリップフロップF11の
出力データの変化(例えば、第1サイクルでは、データ
Q1からQ2への変化)が確定するのは、クロックCK
1の立ち上がりエッジから、第1フリップフロップF1
1の信号伝搬遅延時間TF11Dと、第1フリップフロ
ップF11の出力端子Qから遅延素子201に至るまで
の信号配線による信号伝搬遅延時間TD121と、遅延
素子201の遅延時間TB1とを足し合わせた時間経過
後に確定することとなる。
【0031】一方、図2(a)および(c)に示すよう
に、クロックCK1およびクロックCK2間にはクロッ
クスキューTSKによるタイミングずれが発生している
が、TSK < TF11D+TD121+TB1の関
係にあって、クロックCK2の立ち上がりエッジは、第
2フリップフロップF12のデータ入力端子Dにおける
第1フリップフロップF11の出力データの変化の確定
以前となる。従って、第2フリップフロップF12で
は、クロックCK2の立ち上がりエッジのタイミング
で、第1サイクルでは前のサイクルで第1フリップフロ
ップF11が保持していたデータQ1が、第2サイクル
では第1サイクルで第1フリップフロップF11が保持
していたデータQ2がそれぞれ保持されることとなる。
に、クロックCK1およびクロックCK2間にはクロッ
クスキューTSKによるタイミングずれが発生している
が、TSK < TF11D+TD121+TB1の関
係にあって、クロックCK2の立ち上がりエッジは、第
2フリップフロップF12のデータ入力端子Dにおける
第1フリップフロップF11の出力データの変化の確定
以前となる。従って、第2フリップフロップF12で
は、クロックCK2の立ち上がりエッジのタイミング
で、第1サイクルでは前のサイクルで第1フリップフロ
ップF11が保持していたデータQ1が、第2サイクル
では第1サイクルで第1フリップフロップF11が保持
していたデータQ2がそれぞれ保持されることとなる。
【0032】上述のように、本実施形態のシフトレジス
タでは、前段のフリップフロップF11の出力信号F1
1−Qが遅延素子201により遅延された後、後段のフ
リップフロップF12に入力されるので、前段および後
段に入力されるクロック信号CK1,CK2間のクロッ
クスキューTSKに応じて、遅延素子201の遅延時間
を設定することにより、シフトレジスタの本来の機能を
実行でき、クロックスキューによる誤動作を回避でき
る。
タでは、前段のフリップフロップF11の出力信号F1
1−Qが遅延素子201により遅延された後、後段のフ
リップフロップF12に入力されるので、前段および後
段に入力されるクロック信号CK1,CK2間のクロッ
クスキューTSKに応じて、遅延素子201の遅延時間
を設定することにより、シフトレジスタの本来の機能を
実行でき、クロックスキューによる誤動作を回避でき
る。
【0033】図3は、参考のため本実施形態における遅
延素子201およびフリップフロップF12により構成
された第2論理セル200の回路構成を示している。な
お、フリップフロップF11により構成された第1論理
セル100は、図10に示す従来のフリップフロップと
同様な構成を有しており、ここでは、その構成および動
作について説明を省略する。
延素子201およびフリップフロップF12により構成
された第2論理セル200の回路構成を示している。な
お、フリップフロップF11により構成された第1論理
セル100は、図10に示す従来のフリップフロップと
同様な構成を有しており、ここでは、その構成および動
作について説明を省略する。
【0034】図3に示すように、第2論理セル200
は、入力データを所定の遅延時間TB1だけ遅延させる
遅延素子201と、クロックCKを受けて負論理の内部
クロックCKNを生成するインバータ308と、負論理
の内部クロックCKNを受けて正論理の内部クロックC
KPを生成するインバータ309と、正論理のクロック
CKPで制御されるクロックドインバータ301,30
4と、負論理のクロックCKNで制御されるクロックド
インバータ302,303と、インバータ305,30
6,307とを備えて構成されている。
は、入力データを所定の遅延時間TB1だけ遅延させる
遅延素子201と、クロックCKを受けて負論理の内部
クロックCKNを生成するインバータ308と、負論理
の内部クロックCKNを受けて正論理の内部クロックC
KPを生成するインバータ309と、正論理のクロック
CKPで制御されるクロックドインバータ301,30
4と、負論理のクロックCKNで制御されるクロックド
インバータ302,303と、インバータ305,30
6,307とを備えて構成されている。
【0035】クロック信号CKがローレベルのとき、ク
ロック信号CKPもローレベルに保持され、クロックド
インバータ301が入力データを反転して出力し、クロ
ック信号CKがハイレベルのとき、クロック信号CKP
もハイレベルに保持され、クロックドインバータ301
の出力端子がハイインピーダンス状態に保持される。ま
た、同じくクロック信号CKPにより制御されているク
ロックドインバータ304はインバータ301と同様な
動作をする。一方、クロックドインバータ302、30
3はクロック信号CKの反転クロック信号CKNにより
制御されるので、クロック信号CKがハイレベルのと
き、入力信号を反転して出力し、クロック信号CKがロ
ーレベルのとき、出力端子がハイインピーダンス状態に
保持される。
ロック信号CKPもローレベルに保持され、クロックド
インバータ301が入力データを反転して出力し、クロ
ック信号CKがハイレベルのとき、クロック信号CKP
もハイレベルに保持され、クロックドインバータ301
の出力端子がハイインピーダンス状態に保持される。ま
た、同じくクロック信号CKPにより制御されているク
ロックドインバータ304はインバータ301と同様な
動作をする。一方、クロックドインバータ302、30
3はクロック信号CKの反転クロック信号CKNにより
制御されるので、クロック信号CKがハイレベルのと
き、入力信号を反転して出力し、クロック信号CKがロ
ーレベルのとき、出力端子がハイインピーダンス状態に
保持される。
【0036】データ入力端子Dに入力されたデータが、
遅延素子201により時間TB1だけ遅延され、クロッ
クドインバータ301に入力される。クロック信号CK
がローレベルのとき、データ入力端子Dに入力されたデ
ータと同じ論理レベルのデータがクロックドインバータ
303の入力端子に印加される。クロック信号CKがロ
ーレベルからハイレベルに切り替えられたとき、クロッ
クドインバータ305とインバータ302からなるラッ
チ回路により、直前の状態が保持され、さらに保持デー
タがクロックドインバータ303、インバータ307を
介して、フリップフロップの出力端子Qに出力される。
クロック信号CKが再びローレベルに切り替えられたと
き、クロックドインバータ304とインバータ306か
らなるラッチ回路により、直前の状態の保持されるの
で、フリップフロップの出力端子Qのデータがクロック
信号CKがローレベルの間に保持される。
遅延素子201により時間TB1だけ遅延され、クロッ
クドインバータ301に入力される。クロック信号CK
がローレベルのとき、データ入力端子Dに入力されたデ
ータと同じ論理レベルのデータがクロックドインバータ
303の入力端子に印加される。クロック信号CKがロ
ーレベルからハイレベルに切り替えられたとき、クロッ
クドインバータ305とインバータ302からなるラッ
チ回路により、直前の状態が保持され、さらに保持デー
タがクロックドインバータ303、インバータ307を
介して、フリップフロップの出力端子Qに出力される。
クロック信号CKが再びローレベルに切り替えられたと
き、クロックドインバータ304とインバータ306か
らなるラッチ回路により、直前の状態の保持されるの
で、フリップフロップの出力端子Qのデータがクロック
信号CKがローレベルの間に保持される。
【0037】このように、本実施形態の第2論理セル2
00によって、遅延素子201により遅延された入力デ
ータがクロック信号CKの立ち上がりエッジでフリップ
フロップに取り込まれ、出力端子Qに出力される。そし
て、クロック信号CKの次の立ち上がりエッジまで出力
端子Qの出力データが保持される。
00によって、遅延素子201により遅延された入力デ
ータがクロック信号CKの立ち上がりエッジでフリップ
フロップに取り込まれ、出力端子Qに出力される。そし
て、クロック信号CKの次の立ち上がりエッジまで出力
端子Qの出力データが保持される。
【0038】以上説明したように、本実施形態の半導体
集積回路によれば、第1論理セル100と第2論理セル
200によりシフトレジスタを構成し、第2論理セルで
は第1論理セルを構成するフリップフロップF11と同
一特性のフリップフロップF12および遅延素子201
を設けて、遅延素子201の遅延時間TB1はフリップ
フロップF11,F12に入力されたクロック信号CK
1とCK2間のクロックスキューTSKに応じて設定す
るので、クロックスキューによるシフトレジスタの誤動
作を回避できる。
集積回路によれば、第1論理セル100と第2論理セル
200によりシフトレジスタを構成し、第2論理セルで
は第1論理セルを構成するフリップフロップF11と同
一特性のフリップフロップF12および遅延素子201
を設けて、遅延素子201の遅延時間TB1はフリップ
フロップF11,F12に入力されたクロック信号CK
1とCK2間のクロックスキューTSKに応じて設定す
るので、クロックスキューによるシフトレジスタの誤動
作を回避できる。
【0039】第2実施形態 図4は本発明の半導体集積回路の第2の実施形態を示す
回路図であり、フリップフロップにより構成されている
シフトレジスタの回路図である。図示のように、本実施
形態のシフトレジスタは、図8に示す従来のシフトレジ
スタに較べて、前段のフリップフロップF21の出力側
に遅延素子202が新たに設けられ、前段のフリップフ
ロップF11の出力信号が遅延素子202により遅延さ
れた後、前段の出力信号F21−Qとして後段のフリッ
プフロップ回路F22に入力される。
回路図であり、フリップフロップにより構成されている
シフトレジスタの回路図である。図示のように、本実施
形態のシフトレジスタは、図8に示す従来のシフトレジ
スタに較べて、前段のフリップフロップF21の出力側
に遅延素子202が新たに設けられ、前段のフリップフ
ロップF11の出力信号が遅延素子202により遅延さ
れた後、前段の出力信号F21−Qとして後段のフリッ
プフロップ回路F22に入力される。
【0040】図4において、シフトレジスタは、同種の
第1フリップフロップF21および第2フリップフロッ
プF22と遅延素子202とを備えて構成され、第1フ
リップフロップF21はクロックCK1に、第2フリッ
プフロップF22はクロックCK2にそれぞれ同期して
クロック制御される。尚、第2フリップフロップF22
は第1論理セル100として、第1フリップフロップF
21および遅延素子202は第3論理セル300として
回路の設計に用いられている。
第1フリップフロップF21および第2フリップフロッ
プF22と遅延素子202とを備えて構成され、第1フ
リップフロップF21はクロックCK1に、第2フリッ
プフロップF22はクロックCK2にそれぞれ同期して
クロック制御される。尚、第2フリップフロップF22
は第1論理セル100として、第1フリップフロップF
21および遅延素子202は第3論理セル300として
回路の設計に用いられている。
【0041】また、クロックCK1およびクロックCK
2は同一系統のクロックであって、クロックCK1およ
びクロックCK2間には、例えば、回路の配線などによ
り生じたクロックスキューTSKが存在するものとす
る。さらに、本実施形態では、第1論理セル100と第
3論理セル300において、それぞれの端子位置および
外形は、同一または相似である。
2は同一系統のクロックであって、クロックCK1およ
びクロックCK2間には、例えば、回路の配線などによ
り生じたクロックスキューTSKが存在するものとす
る。さらに、本実施形態では、第1論理セル100と第
3論理セル300において、それぞれの端子位置および
外形は、同一または相似である。
【0042】図5は、図4のシフトレジスタの各信号の
タイミングチャートである。以下、図5のタイミングチ
ャートを参照しつつ、第2の実施形態の動作について説
明する。第1フリップフロップF21のデータ入力端子
Dには、Q0,Q1,Q2,Q3,…と変化していく入
力データDTが供給され、クロックCK1の立ち上がり
エッジでセットされる。従って、第1フリップフロップ
F21内には、第1サイクルでQ2が、第2サイクルで
Q3がそれぞれ保持される。また、第1フリップフロッ
プF21が保持する内容は、図5(b)に示すように、
クロックCK1の立ち上がりエッジから第1フリップフ
ロップF21が備えている信号伝搬遅延時間TF11D
および遅延素子202の遅延時間TB2とを足し合わせ
た時間だけ遅れて、第3論理セルの出力データF21−
Qとして出力されることとなる。
タイミングチャートである。以下、図5のタイミングチ
ャートを参照しつつ、第2の実施形態の動作について説
明する。第1フリップフロップF21のデータ入力端子
Dには、Q0,Q1,Q2,Q3,…と変化していく入
力データDTが供給され、クロックCK1の立ち上がり
エッジでセットされる。従って、第1フリップフロップ
F21内には、第1サイクルでQ2が、第2サイクルで
Q3がそれぞれ保持される。また、第1フリップフロッ
プF21が保持する内容は、図5(b)に示すように、
クロックCK1の立ち上がりエッジから第1フリップフ
ロップF21が備えている信号伝搬遅延時間TF11D
および遅延素子202の遅延時間TB2とを足し合わせ
た時間だけ遅れて、第3論理セルの出力データF21−
Qとして出力されることとなる。
【0043】また、第2フリップフロップF22のデー
タ入力端子Dには、前段の出力データF21−Qが供給
されており、クロックCK2の立ち上がりエッジでセッ
トされる。従って、第2フリップフロップF22のデー
タ入力端子Dにおいて、第1フリップフロップF21の
出力データの変化(例えば、第1サイクルでは、データ
Q1からQ2への変化)が確定するのは、クロックCK
1の立ち上がりエッジから、第1フリップフロップF2
1の信号伝搬遅延時間TF21Dと、遅延素子202の
遅延時間TB2と、遅延素子202の出力端子から第2
のフリップフロップF22の入力端子Dに至るまでの信
号配線による信号伝搬遅延時間TD122とを足し合わ
せた時間経過後に確定することとなる。
タ入力端子Dには、前段の出力データF21−Qが供給
されており、クロックCK2の立ち上がりエッジでセッ
トされる。従って、第2フリップフロップF22のデー
タ入力端子Dにおいて、第1フリップフロップF21の
出力データの変化(例えば、第1サイクルでは、データ
Q1からQ2への変化)が確定するのは、クロックCK
1の立ち上がりエッジから、第1フリップフロップF2
1の信号伝搬遅延時間TF21Dと、遅延素子202の
遅延時間TB2と、遅延素子202の出力端子から第2
のフリップフロップF22の入力端子Dに至るまでの信
号配線による信号伝搬遅延時間TD122とを足し合わ
せた時間経過後に確定することとなる。
【0044】一方、図5(a)および(c)に示すよう
に、クロックCK1およびクロックCK2間にはクロッ
クスキューTSKによるタイミングずれが発生している
が、TSK < TF21D+TB2+TD122の関
係にあって、クロックCK2の立ち上がりエッジは、第
2フリップフロップF22のデータ入力端子Dにおける
第1フリップフロップF21の出力データの変化の確定
以前となる。従って、第2フリップフロップF22で
は、クロックCK2の立ち上がりエッジのタイミング
で、第1サイクルでは前のサイクルで第1フリップフロ
ップF21が保持していたデータQ1が、第2サイクル
では第1サイクルで第1フリップフロップF21が保持
していたデータQ2がそれぞれ保持されることとなる。
に、クロックCK1およびクロックCK2間にはクロッ
クスキューTSKによるタイミングずれが発生している
が、TSK < TF21D+TB2+TD122の関
係にあって、クロックCK2の立ち上がりエッジは、第
2フリップフロップF22のデータ入力端子Dにおける
第1フリップフロップF21の出力データの変化の確定
以前となる。従って、第2フリップフロップF22で
は、クロックCK2の立ち上がりエッジのタイミング
で、第1サイクルでは前のサイクルで第1フリップフロ
ップF21が保持していたデータQ1が、第2サイクル
では第1サイクルで第1フリップフロップF21が保持
していたデータQ2がそれぞれ保持されることとなる。
【0045】上述のように、本実施形態のシフトレジス
タでは、前段のフリップフロップF21の出力信号が遅
延素子202により遅延された後、F21−Qとして後
段のフリップフロップF22に入力されるので、前段お
よび後段に入力されるクロック信号CK1,CK2間の
クロックスキューTSKに応じて、遅延素子202の遅
延時間を設定することにより、シフトレジスタの本来の
機能を実行でき、クロックスキューによる誤動作を回避
できる。
タでは、前段のフリップフロップF21の出力信号が遅
延素子202により遅延された後、F21−Qとして後
段のフリップフロップF22に入力されるので、前段お
よび後段に入力されるクロック信号CK1,CK2間の
クロックスキューTSKに応じて、遅延素子202の遅
延時間を設定することにより、シフトレジスタの本来の
機能を実行でき、クロックスキューによる誤動作を回避
できる。
【0046】図6は、参考のため本実施形態におけるフ
リップフロップF12および遅延素子202により構成
された第3論理セル300の回路構成を示している。な
お、フリップフロップF22により構成された第1論理
セル100は、図10に示す従来のフリップフロップと
同様な構成を有しており、ここでは、その構成および動
作について説明を省略する。
リップフロップF12および遅延素子202により構成
された第3論理セル300の回路構成を示している。な
お、フリップフロップF22により構成された第1論理
セル100は、図10に示す従来のフリップフロップと
同様な構成を有しており、ここでは、その構成および動
作について説明を省略する。
【0047】図6に示すように、第3論理セル300
は、クロックCKを受けて負論理の内部クロックCKN
を生成するインバータ308と、負論理の内部クロック
CKNを受けて正論理の内部クロックCKPを生成する
インバータ309と、正論理のクロックCKPで制御さ
れるクロックドインバータ301,304と、負論理の
クロックCKNで制御されるクロックドインバータ30
2,303と、インバータ305,306,307と、
入力データを所定の遅延時間TB2だけ遅延させる遅延
素子202とを備えて構成されている。
は、クロックCKを受けて負論理の内部クロックCKN
を生成するインバータ308と、負論理の内部クロック
CKNを受けて正論理の内部クロックCKPを生成する
インバータ309と、正論理のクロックCKPで制御さ
れるクロックドインバータ301,304と、負論理の
クロックCKNで制御されるクロックドインバータ30
2,303と、インバータ305,306,307と、
入力データを所定の遅延時間TB2だけ遅延させる遅延
素子202とを備えて構成されている。
【0048】クロック信号CKがローレベルのとき、ク
ロック信号CKPもローレベルに保持され、クロックド
インバータ301が入力データを反転して出力し、クロ
ック信号CKがハイレベルのとき、クロック信号CKP
もハイレベルに保持され、クロックドインバータ301
の出力端子がハイインピーダンス状態に保持される。ま
た、同じくクロック信号CKPにより制御されているク
ロックドインバータ304はインバータ301と同様な
動作をする。一方、クロックドインバータ302、30
3はクロック信号CKの反転クロック信号CKNにより
制御されるので、クロック信号CKがハイレベルのと
き、入力信号を反転して出力し、クロック信号CKがロ
ーレベルのとき、出力端子がハイインピーダンス状態に
保持される。
ロック信号CKPもローレベルに保持され、クロックド
インバータ301が入力データを反転して出力し、クロ
ック信号CKがハイレベルのとき、クロック信号CKP
もハイレベルに保持され、クロックドインバータ301
の出力端子がハイインピーダンス状態に保持される。ま
た、同じくクロック信号CKPにより制御されているク
ロックドインバータ304はインバータ301と同様な
動作をする。一方、クロックドインバータ302、30
3はクロック信号CKの反転クロック信号CKNにより
制御されるので、クロック信号CKがハイレベルのと
き、入力信号を反転して出力し、クロック信号CKがロ
ーレベルのとき、出力端子がハイインピーダンス状態に
保持される。
【0049】データ入力端子Dに入力されたデータが、
クロックドインバータ301に入力される。クロック信
号CKがローレベルのとき、データ入力端子Dに入力さ
れたデータと同じ論理レベルのデータがクロックドイン
バータ303の入力端子に印加される。クロック信号C
Kがローレベルからハイレベルに切り替えられたとき、
クロックドインバータ305とインバータ302からな
るラッチ回路により、直前の状態が保持され、さらに保
持データがクロックドインバータ303、インバータ3
07を介して遅延素子202に入力され、遅延素子20
2により時間TB2だけ遅延されて出力端子Qに出力さ
れる。クロック信号CKが再びローレベルに切り替えら
れたとき、クロックドインバータ304とインバータ3
06からなるラッチ回路により、直前の状態の保持され
るので、フリップフロップの出力端子Qのデータがクロ
ック信号CKがローレベルの間に保持され、クロック信
号CKの立ち上がりエッジから時間TB2だけ遅れて次
の入力データに応じて変化する。このように、本実施形
態の第3論理セル300によって、クロック信号CKの
立ち上がりエッジで入力データがフリップフロップに取
り込まれ、遅延素子202の遅延時間TB2だけ遅れて
出力端子Qに出力される。そして、クロック信号CKの
次の立ち上がりよりTB2だけ遅れた時間まで出力端子
Qの出力データが保持される。
クロックドインバータ301に入力される。クロック信
号CKがローレベルのとき、データ入力端子Dに入力さ
れたデータと同じ論理レベルのデータがクロックドイン
バータ303の入力端子に印加される。クロック信号C
Kがローレベルからハイレベルに切り替えられたとき、
クロックドインバータ305とインバータ302からな
るラッチ回路により、直前の状態が保持され、さらに保
持データがクロックドインバータ303、インバータ3
07を介して遅延素子202に入力され、遅延素子20
2により時間TB2だけ遅延されて出力端子Qに出力さ
れる。クロック信号CKが再びローレベルに切り替えら
れたとき、クロックドインバータ304とインバータ3
06からなるラッチ回路により、直前の状態の保持され
るので、フリップフロップの出力端子Qのデータがクロ
ック信号CKがローレベルの間に保持され、クロック信
号CKの立ち上がりエッジから時間TB2だけ遅れて次
の入力データに応じて変化する。このように、本実施形
態の第3論理セル300によって、クロック信号CKの
立ち上がりエッジで入力データがフリップフロップに取
り込まれ、遅延素子202の遅延時間TB2だけ遅れて
出力端子Qに出力される。そして、クロック信号CKの
次の立ち上がりよりTB2だけ遅れた時間まで出力端子
Qの出力データが保持される。
【0050】以上説明したように、本実施形態の半導体
集積回路によれば、第3論理セル300と第1論理セル
100によりシフトレジスタを構成し、第3論理セルで
は第1論理セルを構成するフリップフロップF22と同
一特性のフリップフロップF21および遅延素子202
を設けて、遅延素子202の遅延時間TB2はフリップ
フロップF21,F22に入力されたクロック信号CK
1とCK2間のクロックスキューTSKに応じて設定す
るので、クロックスキューによるシフトレジスタの誤動
作を回避できる。
集積回路によれば、第3論理セル300と第1論理セル
100によりシフトレジスタを構成し、第3論理セルで
は第1論理セルを構成するフリップフロップF22と同
一特性のフリップフロップF21および遅延素子202
を設けて、遅延素子202の遅延時間TB2はフリップ
フロップF21,F22に入力されたクロック信号CK
1とCK2間のクロックスキューTSKに応じて設定す
るので、クロックスキューによるシフトレジスタの誤動
作を回避できる。
【0051】第3実施形態 図7は、本発明のに係る半導体集積回路を設計するため
の設計支援装置の説明図であり、本発明に係る半導体集
積回路の設計方法の原理説明図である。以下、図7を参
照しつつ、本発明の半導体集積回路の設計方法について
説明する。図1において、先ずステップS10では、与
えられる半導体集積回路の設計仕様20を満たすように
回路設計が行われ、回路設計の結果として論理ネット2
1が得られる。
の設計支援装置の説明図であり、本発明に係る半導体集
積回路の設計方法の原理説明図である。以下、図7を参
照しつつ、本発明の半導体集積回路の設計方法について
説明する。図1において、先ずステップS10では、与
えられる半導体集積回路の設計仕様20を満たすように
回路設計が行われ、回路設計の結果として論理ネット2
1が得られる。
【0052】次に、レイアウト設計では、回路設計で得
られた論理ネット21に基づいて、論理セルライブラリ
(図示せず)を参照してレイアウトを決定する。レイア
ウト設計では、レイアウト設計結果に依存するクロック
スキューによる誤動作を解消するため、最初のレイアウ
ト(ステップS11)を行った後に、論理シミュレーシ
ョン(ステップS12)およびタイミング検証(ステッ
プS13)を行って、タイミングずれによる誤動作の可
能性を検証し、誤動作の可能性のある箇所については、
論理セルの置き換えによる再レイアウト(ステップS1
4)を行うようにしている。
られた論理ネット21に基づいて、論理セルライブラリ
(図示せず)を参照してレイアウトを決定する。レイア
ウト設計では、レイアウト設計結果に依存するクロック
スキューによる誤動作を解消するため、最初のレイアウ
ト(ステップS11)を行った後に、論理シミュレーシ
ョン(ステップS12)およびタイミング検証(ステッ
プS13)を行って、タイミングずれによる誤動作の可
能性を検証し、誤動作の可能性のある箇所については、
論理セルの置き換えによる再レイアウト(ステップS1
4)を行うようにしている。
【0053】論理セルライブラリには、設計対象の半導
体集積回路で使用可能な種々の論理セルが登録されてい
る。本実施形態の半導体集積回路を設計するための設計
支援装置においては、選択可能な論理セルとして、少な
くとも、フリップフロップを含む第1論理セルと、第1
論理セルのフリップフロップと同一特性のフリップフロ
ップおよび該フリップフロップのデータ入力端に接続さ
れる遅延素子を含む第2論理セルと、さらに、第1論理
セルのフリップフロップと同一特性のフリップフロップ
および該フリップフロップのデータ入力端に接続される
遅延素子を含む第3論理セルとを備えている点に特徴が
ある。尚、第1論理セル、第2論理セルおよび第3論理
セルの端子位置およびセル外形は、同一または相似の配
置・形状となっている。
体集積回路で使用可能な種々の論理セルが登録されてい
る。本実施形態の半導体集積回路を設計するための設計
支援装置においては、選択可能な論理セルとして、少な
くとも、フリップフロップを含む第1論理セルと、第1
論理セルのフリップフロップと同一特性のフリップフロ
ップおよび該フリップフロップのデータ入力端に接続さ
れる遅延素子を含む第2論理セルと、さらに、第1論理
セルのフリップフロップと同一特性のフリップフロップ
および該フリップフロップのデータ入力端に接続される
遅延素子を含む第3論理セルとを備えている点に特徴が
ある。尚、第1論理セル、第2論理セルおよび第3論理
セルの端子位置およびセル外形は、同一または相似の配
置・形状となっている。
【0054】第1論理セルの論理回路構成は、従来の技
術で説明した図10の回路構成と同様である。また、第
2論理セルおよび第3論理セルは、それぞれ前述した第
1および第2の実施形態において詳細に説明された。
術で説明した図10の回路構成と同様である。また、第
2論理セルおよび第3論理セルは、それぞれ前述した第
1および第2の実施形態において詳細に説明された。
【0055】レイアウト設計では、先ず、ステップS1
1のレイアウトを行う。即ち、ステップS10の回路設
計の結果である論理ネット21に基づき、論理セルライ
ブラリ(図示せず)を参照してレイアウトを決定し、レ
イアウト情報22を出力する。尚、このステップS11
のレイアウトにおいては、半導体集積回路における配置
および配線を第1論理セルのみを使用して決定する。
1のレイアウトを行う。即ち、ステップS10の回路設
計の結果である論理ネット21に基づき、論理セルライ
ブラリ(図示せず)を参照してレイアウトを決定し、レ
イアウト情報22を出力する。尚、このステップS11
のレイアウトにおいては、半導体集積回路における配置
および配線を第1論理セルのみを使用して決定する。
【0056】次に、ステップS12の論理シミュレーシ
ョンでは、論理ネット21およびレイアウト情報22に
基づく論理シミュレーションを行ってタイミング情報2
3を得る。またステップS13のタイミング検証では、
タイミング情報23を設計仕様20に照らして、タイミ
ングずれによる誤動作の可能性を検証する。
ョンでは、論理ネット21およびレイアウト情報22に
基づく論理シミュレーションを行ってタイミング情報2
3を得る。またステップS13のタイミング検証では、
タイミング情報23を設計仕様20に照らして、タイミ
ングずれによる誤動作の可能性を検証する。
【0057】ここで、ステップS13のタイミング検証
で行う判断は、具体的には、以下のような内容である。
例えば、従来の技術(図8および図9参照)で採り上げ
た、同一クロックでタイミング制御される縦続接続のフ
リップフロップ(シフトレジスタ)について、クロック
スキューに伴うホールド時間の不足による誤動作に関し
ては、縦続接続のフリップフロップ中で連続する任意の
2つの第1フリップフロップF31および第2フリップ
フロップF32間のクロック信号経路についての信号伝
搬遅延時間(クロックスキュー)TSKが、第1フリッ
プフロップF31の信号伝搬遅延時間TF31Dと、第
1フリップフロップF31および第2フリップフロップ
F32間の信号経路についての信号伝搬遅延時間TD1
2と、第2フリップフロップF32のセットアップ時間
TF32Sおよびホールド時間TF32Hの差との和よ
り大きい場合に、タイミングずれによる誤動作の可能性
があると判断する。
で行う判断は、具体的には、以下のような内容である。
例えば、従来の技術(図8および図9参照)で採り上げ
た、同一クロックでタイミング制御される縦続接続のフ
リップフロップ(シフトレジスタ)について、クロック
スキューに伴うホールド時間の不足による誤動作に関し
ては、縦続接続のフリップフロップ中で連続する任意の
2つの第1フリップフロップF31および第2フリップ
フロップF32間のクロック信号経路についての信号伝
搬遅延時間(クロックスキュー)TSKが、第1フリッ
プフロップF31の信号伝搬遅延時間TF31Dと、第
1フリップフロップF31および第2フリップフロップ
F32間の信号経路についての信号伝搬遅延時間TD1
2と、第2フリップフロップF32のセットアップ時間
TF32Sおよびホールド時間TF32Hの差との和よ
り大きい場合に、タイミングずれによる誤動作の可能性
があると判断する。
【0058】次に、ステップS14の再レイアウトで
は、ステップS13のタイミング検証の結果、タイミン
グずれによる誤動作の可能性があると判断された箇所の
第1論理セルを第2論理セルまたは第3論理セルに置き
換え、半導体集積回路における配置および配線を決定
し、レイアウト情報22を出力する。
は、ステップS13のタイミング検証の結果、タイミン
グずれによる誤動作の可能性があると判断された箇所の
第1論理セルを第2論理セルまたは第3論理セルに置き
換え、半導体集積回路における配置および配線を決定
し、レイアウト情報22を出力する。
【0059】例えば、半導体集積回路内で図8に示した
シフトレジスタの箇所が、上記条件 TSK > TF31D+TD12+TF32S−TF
32H を満たす場合には、タイミングずれによる誤動作の可能
性があると判断され、第2フリップフロップF32を含
む第1論理セルは、第2論理セルに置き換えられ、また
は、第1フリップフロップF31を含む第1論セルは、
第3論理セルにに置き換えられる。
シフトレジスタの箇所が、上記条件 TSK > TF31D+TD12+TF32S−TF
32H を満たす場合には、タイミングずれによる誤動作の可能
性があると判断され、第2フリップフロップF32を含
む第1論理セルは、第2論理セルに置き換えられ、また
は、第1フリップフロップF31を含む第1論セルは、
第3論理セルにに置き換えられる。
【0060】図8に示すシフトレジスタについて、論理
セルの置き換えを行うことによって得られるシフトレジ
スタの構成図を図1または図4に示す。論理セル置き換
えの後、ステップS15に示す再論理シミュレーション
が行われる。ステップS15の再論理シミュレーション
では、ステップS14の再レイアウトの結果であるレイ
アウト情報22並びに論理ネット21に基づく論理シミ
ュレーションを行ってタイミング情報23を得る。また
ステップS16のタイミング検証では、タイミング情報
23を設計仕様20に照らして、タイミングずれによる
誤動作の可能性を再度検証する。
セルの置き換えを行うことによって得られるシフトレジ
スタの構成図を図1または図4に示す。論理セル置き換
えの後、ステップS15に示す再論理シミュレーション
が行われる。ステップS15の再論理シミュレーション
では、ステップS14の再レイアウトの結果であるレイ
アウト情報22並びに論理ネット21に基づく論理シミ
ュレーションを行ってタイミング情報23を得る。また
ステップS16のタイミング検証では、タイミング情報
23を設計仕様20に照らして、タイミングずれによる
誤動作の可能性を再度検証する。
【0061】再度検証の結果、誤動作の発生が回避され
ると判断した場合、設計した半導体集積回路が設計仕様
を満たし、且つ正常に動作できるものであり、回路の設
計が終了する。また、再度検証の結果において、タイミ
ングのずれによる誤動作の可能性があると判定した場
合、ステップS14〜S16までの操作を繰り返して行
われる。
ると判断した場合、設計した半導体集積回路が設計仕様
を満たし、且つ正常に動作できるものであり、回路の設
計が終了する。また、再度検証の結果において、タイミ
ングのずれによる誤動作の可能性があると判定した場
合、ステップS14〜S16までの操作を繰り返して行
われる。
【0062】以上説明したように、本実施形態の半導体
集積回路を設計するための設計支援装置および半導体集
積回路の設計方法によれば、レイアウト後の論理シミュ
レーション結果により、ホールド時間が足りないといっ
たタイミングずれによる誤動作の可能性がある箇所のス
キュー調整を、予め用意されている第2論理セルとの置
き換えによって行うので、クロックスキューによる誤動
作を無くすための再レイアウトを簡単な操作で、しかも
確実に行うことができ、半導体集積回路のレイアウト設
計のTATを短縮することができる。
集積回路を設計するための設計支援装置および半導体集
積回路の設計方法によれば、レイアウト後の論理シミュ
レーション結果により、ホールド時間が足りないといっ
たタイミングずれによる誤動作の可能性がある箇所のス
キュー調整を、予め用意されている第2論理セルとの置
き換えによって行うので、クロックスキューによる誤動
作を無くすための再レイアウトを簡単な操作で、しかも
確実に行うことができ、半導体集積回路のレイアウト設
計のTATを短縮することができる。
【0063】また、本実施形態の半導体集積回路を設計
するための設計支援装置および半導体集積回路の設計方
法によれば、通常のフリップフロップによる第1論理セ
ルと、フリップフロップのデータ入力端に遅延素子20
1が接続されている第2論理セルとを、選択可能な論理
セルとして備えるが、これらの論理セルの端子位置およ
びセル外形を同一または相似としているので、再レイア
ウトにおける置き換え操作を周辺回路のレイアウトに影
響を及ぼすことなく簡単に行うことができ、再レイアウ
ト後にクロックスキューによる誤動作が別の場所で新た
に発生することもないので、再レイアウトを繰り返すこ
とがなく、クロックスキューによる誤動作をより簡単な
操作で、しかもより少ない手順で無くすことができ、結
果として半導体集積回路のレイアウト設計のTATを短
縮することができる。
するための設計支援装置および半導体集積回路の設計方
法によれば、通常のフリップフロップによる第1論理セ
ルと、フリップフロップのデータ入力端に遅延素子20
1が接続されている第2論理セルとを、選択可能な論理
セルとして備えるが、これらの論理セルの端子位置およ
びセル外形を同一または相似としているので、再レイア
ウトにおける置き換え操作を周辺回路のレイアウトに影
響を及ぼすことなく簡単に行うことができ、再レイアウ
ト後にクロックスキューによる誤動作が別の場所で新た
に発生することもないので、再レイアウトを繰り返すこ
とがなく、クロックスキューによる誤動作をより簡単な
操作で、しかもより少ない手順で無くすことができ、結
果として半導体集積回路のレイアウト設計のTATを短
縮することができる。
【0064】
【発明の効果】以上説明したように、本発明の半導体集
積回路および半導体集積回路の設計方法によれば、クロ
ックスキューによる誤動作をより簡単な操作で、しかも
より少ない手順で無くすことができ、半導体集積回路の
レイアウト設計のTATを短縮することができる。
積回路および半導体集積回路の設計方法によれば、クロ
ックスキューによる誤動作をより簡単な操作で、しかも
より少ない手順で無くすことができ、半導体集積回路の
レイアウト設計のTATを短縮することができる。
【図1】本発明の半導体集積回路の第1の実施形態を示
す回路図である。
す回路図である。
【図2】第1の実施形態のタイミングチャートである。
【図3】第1の実施形態におけるフリップフロップと遅
延素子の回路構成図である。
延素子の回路構成図である。
【図4】本発明の半導体集積回路の第2の実施形態を示
す回路図である。
す回路図である。
【図5】第2の実施形態のタイミングチャートである。
【図6】第2の実施形態におけるフリップフロップと遅
延素子の回路構成図である。
延素子の回路構成図である。
【図7】本発明の第1実施形態および第2実施形態に係
る半導体集積回路を設計するための設計支援装置の説明
図であり、本発明の第1実施形態および第2実施形態に
係る半導体集積回路の設計方法の原理説明図である。
る半導体集積回路を設計するための設計支援装置の説明
図であり、本発明の第1実施形態および第2実施形態に
係る半導体集積回路の設計方法の原理説明図である。
【図8】従来のシフトレジスタの回路構成図である。
【図9】従来例のシフトレジスタの各信号のタイミング
チャートである。
チャートである。
【図10】従来例のシフトレジスタを半導体集積回路に
組み込む場合に使用されるフリップフロップの論理セル
の回路構成図である。
組み込む場合に使用されるフリップフロップの論理セル
の回路構成図である。
20…設計仕様、21…論理ネット、22…レイアウト
情報、23…タイミング情報、F11,F21,F31
…第1フリップフロップ、F12,F22,F32…第
2フリップフロップ、201,202…遅延素子、10
0…第1論理セル、200…第2論理セル、300…第
3論理セル、TSK…クロックスキュー、CK1,CK
2…クロック、F11−Q,F31−Q…第1フリップ
フロップの出力、F21−Q…第3論理セルの出力、F
12−Q,F22−Q,F32−Q…第2フリップフロ
ップの出力、TF11D,TF21D,TF31D…第
1フリップフロップの信号伝搬遅延時間、TD121…
第1フリップフロップF11の出力端子Qから遅延素子
201に至るまでの信号配線による信号伝搬遅延時間、
TB1,TB2…遅延素子の遅延時間、TD122…第
3論理セルの出力から第2フリップフロップF22の入
力端子Dに至るまでの信号配線による信号伝搬遅延時
間、TD12…第1フリップフロップF31の出力端子
Qから第2フリップフロップF32のデータ入力端子D
に至るまでの信号配線による信号伝搬遅延時間、TF1
2S,TF22S,TF32S…第2フリップフロップ
のセットアップ時間、TF12H,TF22H,TF3
2H…第2フリップフロップのホールド時間、TF12
D,TF22D,TF32D…第2フリップフロップの
信号伝搬遅延時間、CK…クロック、305〜309…
インバータ、CKN…負論理の内部クロック、CKP…
正論理の内部クロック、301〜304…クロックドイ
ンバータ。
情報、23…タイミング情報、F11,F21,F31
…第1フリップフロップ、F12,F22,F32…第
2フリップフロップ、201,202…遅延素子、10
0…第1論理セル、200…第2論理セル、300…第
3論理セル、TSK…クロックスキュー、CK1,CK
2…クロック、F11−Q,F31−Q…第1フリップ
フロップの出力、F21−Q…第3論理セルの出力、F
12−Q,F22−Q,F32−Q…第2フリップフロ
ップの出力、TF11D,TF21D,TF31D…第
1フリップフロップの信号伝搬遅延時間、TD121…
第1フリップフロップF11の出力端子Qから遅延素子
201に至るまでの信号配線による信号伝搬遅延時間、
TB1,TB2…遅延素子の遅延時間、TD122…第
3論理セルの出力から第2フリップフロップF22の入
力端子Dに至るまでの信号配線による信号伝搬遅延時
間、TD12…第1フリップフロップF31の出力端子
Qから第2フリップフロップF32のデータ入力端子D
に至るまでの信号配線による信号伝搬遅延時間、TF1
2S,TF22S,TF32S…第2フリップフロップ
のセットアップ時間、TF12H,TF22H,TF3
2H…第2フリップフロップのホールド時間、TF12
D,TF22D,TF32D…第2フリップフロップの
信号伝搬遅延時間、CK…クロック、305〜309…
インバータ、CKN…負論理の内部クロック、CKP…
正論理の内部クロック、301〜304…クロックドイ
ンバータ。
Claims (9)
- 【請求項1】クロック信号に応じて入力信号を保持して
出力するフリップフロップを少なくとも二段を備えて、
前段のフリップフロップの出力信号を後段の入力信号と
して後段に入力され、前段および後段に入力されるクロ
ック信号に位相差がある半導体集積回路であって、 前段のフリップフロップの出力側に接続され、上記前段
および後段のクロック信号の位相差に応じて設定された
遅延時間で前段の出力を遅延して、後段のフリップフロ
ップに入力する遅延素子を有する半導体集積回路。 - 【請求項2】上記前段のフリップフロップと上記遅延素
子は回路設計上で一つの基本セルとして用いられ、当該
基本セルと上記後段のフリップフロップとは端子位置お
よび外形が、同一または相似である請求項1記載の半導
体集積回路。 - 【請求項3】上記フリップフロップは、上記クロック信
号に応じて入力信号を保持する第1のラッチ回路と、 上記クロック信号の反転信号に応じて上記第1のラッチ
回路により保持された信号を保持して出力する第2のラ
ッチ回路とを有する請求項1記載の半導体集積回路。 - 【請求項4】クロック信号に応じて入力信号を保持して
出力するフリップフロップを少なくとも二段を備えて、
前段のフリップフロップの出力信号を後段の入力信号と
して後段に入力され、前段および後段に入力されるクロ
ック信号に位相差がある半導体集積回路であって、 後段のフリップフロップの入力側に接続され、上記前段
および後段のクロック信号の位相差に応じて設定された
遅延時間で前段の出力を遅延して、後段のフリップフロ
ップに入力する遅延素子を有する半導体集積回路。 - 【請求項5】上記遅延素子と上記後段のフリップフロッ
プは回路設計上で一つの基本セルとして用いられ、当該
基本セルと上記前段のフリップフロップとは端子位置お
よび外形が、同一または相似である請求項4記載の半導
体集積回路。 - 【請求項6】上記フリップフロップは、上記クロック信
号に応じて入力信号を保持する第1のラッチ回路と、 上記クロック信号の反転信号に応じて上記第1のラッチ
回路により保持された信号を保持して出力する第2のラ
ッチ回路とを有する請求項4記載の半導体集積回路。 - 【請求項7】 選択可能な論理セルとして、フリップフ
ロップを含む第1論理セルと、前記フリップフロップと
同一特性のフリップフロップおよび該フリップフロップ
の信号入力端に接続される遅延素子を含む第2論理セ
ル、または、前記フリップフロップと同一特性のフリッ
プフロップおよび該フリップフロップの信号出力端に接
続される遅延素子を含む第3論理セルとを備える半導体
集積回路の設計方法であって、 所与の論理ネットに基づき半導体集積回路における配置
および配線を前記第2論理セルおよび前記第3論理セル
を用いずに決定し、レイアウト情報を出力する第1工程
と、 前記レイアウト情報に基づく論理シミュレーションを行
いタイミング情報を得る第2工程と、 前記タイミング情報を所与の設計仕様に照らしてタイミ
ングずれによる誤動作の可能性を検証する第3工程と、 前記第3工程の検証の結果、タイミングずれによる誤動
作の可能性があると判断された箇所の第1論理セルを前
記第2論理セルまたは前記第3論理セルに置き換え、半
導体集積回路における配置および配線を決定し、レイア
ウト情報を出力する第4工程とを有する半導体集積回路
の設計方法。 - 【請求項8】 前記第1論理セル、前記第2論理セルお
よび前記第3論理セルの端子位置およびセル外形は、同
一または相似である請求項7記載の半導体集積回路の設
計方法。 - 【請求項9】 前記第3工程は、同一クロックでタイミ
ング制御される縦続接続のフリップフロップについて、
前記縦続接続のフリップフロップ中で連続する任意の2
つの第1フリップフロップおよび第2フリップフロップ
間のクロック信号経路についての信号伝搬遅延時間が、
前記第1フリップフロップの信号伝搬遅延時間と、前記
第1フリップフロップおよび第2フリップフロップ間の
信号経路についての信号伝搬遅延時間と、前記第2フリ
ップフロップのセットアップ時間およびホールド時間の
差との和より大きい場合に、タイミングずれによる誤動
作の可能性があると判断し、 前記第4工程は、前記第3工程の検証の結果、タイミン
グずれによる誤動作の可能性があると判断された場合に
は、前記第1フリップフロップを含む第1論理セルを前
記第3論理セルに、或いは、前記第2フリップフロップ
を含む第1論理セルを前記第2論理セルにそれぞれ置き
換える請求項7記載の半導体集積回路の設計方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9132145A JPH10327047A (ja) | 1997-05-22 | 1997-05-22 | 半導体集積回路およびその設計方法 |
US09/081,621 US6216256B1 (en) | 1997-05-22 | 1998-05-20 | Semiconductor integrated circuit and method of designing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9132145A JPH10327047A (ja) | 1997-05-22 | 1997-05-22 | 半導体集積回路およびその設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10327047A true JPH10327047A (ja) | 1998-12-08 |
Family
ID=15074415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9132145A Pending JPH10327047A (ja) | 1997-05-22 | 1997-05-22 | 半導体集積回路およびその設計方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6216256B1 (ja) |
JP (1) | JPH10327047A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006203416A (ja) * | 2005-01-19 | 2006-08-03 | Mitsubishi Electric Corp | 電子素子及び解読攻撃防御方法 |
JP2010028313A (ja) * | 2008-07-16 | 2010-02-04 | New Japan Radio Co Ltd | 発振器の設計方法 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3851357B2 (ja) * | 1997-08-20 | 2006-11-29 | 株式会社ルネサステクノロジ | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 |
JP4251692B2 (ja) * | 1998-10-09 | 2009-04-08 | 富士通マイクロエレクトロニクス株式会社 | 集積回路設計方法 |
US6336205B1 (en) * | 1998-11-12 | 2002-01-01 | Matsushita Electric Industrial Co., Ltd. | Method for designing semiconductor integrated circuit |
US6640330B1 (en) * | 2001-04-24 | 2003-10-28 | Artisan Components, Inc. | System and method for setup and hold characterization in integrated circuit cells |
US6493851B1 (en) * | 2001-05-03 | 2002-12-10 | Lsi Logic Corporation | Method and apparatus for indentifying causes of poor silicon-to-simulation correlation |
US7082104B2 (en) * | 2001-05-18 | 2006-07-25 | Intel Corporation | Network device switch |
US6657917B2 (en) | 2001-07-02 | 2003-12-02 | Micron Technology, Inc. | Selective adjustment of voltage controlled oscillator gain in a phase-locked loop |
US7093224B2 (en) | 2001-08-28 | 2006-08-15 | Intel Corporation | Model-based logic design |
US7073156B2 (en) * | 2001-08-29 | 2006-07-04 | Intel Corporation | Gate estimation process and method |
US20030046051A1 (en) * | 2001-08-29 | 2003-03-06 | Wheeler William R. | Unified design parameter dependency management method and apparatus |
US7130784B2 (en) * | 2001-08-29 | 2006-10-31 | Intel Corporation | Logic simulation |
US20030046054A1 (en) * | 2001-08-29 | 2003-03-06 | Wheeler William R. | Providing modeling instrumentation with an application programming interface to a GUI application |
US6721925B2 (en) * | 2001-08-29 | 2004-04-13 | Intel Corporation | Employing intelligent logical models to enable concise logic representations for clarity of design description and for rapid design capture |
US7107201B2 (en) * | 2001-08-29 | 2006-09-12 | Intel Corporation | Simulating a logic design |
US6983427B2 (en) * | 2001-08-29 | 2006-01-03 | Intel Corporation | Generating a logic design |
US6859913B2 (en) * | 2001-08-29 | 2005-02-22 | Intel Corporation | Representing a simulation model using a hardware configuration database |
US7197724B2 (en) * | 2002-01-17 | 2007-03-27 | Intel Corporation | Modeling a logic design |
US20030145311A1 (en) * | 2002-01-25 | 2003-07-31 | Wheeler William R. | Generating simulation code |
JP2003234643A (ja) * | 2002-02-07 | 2003-08-22 | Mitsubishi Electric Corp | 半導体集積回路装置の設計方法および半導体集積回路装置 |
JP4108418B2 (ja) * | 2002-09-10 | 2008-06-25 | 松下電器産業株式会社 | 半導体集積回路の設計方法 |
JP2005149313A (ja) * | 2003-11-18 | 2005-06-09 | Toshiba Corp | 半導体集積回路の設計方法および半導体集積回路 |
US20050278593A1 (en) * | 2004-06-09 | 2005-12-15 | Fidel Muradali | Scan-test structure having increased effectiveness and related systems and methods |
JP4304124B2 (ja) * | 2004-06-18 | 2009-07-29 | パナソニック株式会社 | 半導体装置 |
CN1300733C (zh) * | 2004-07-15 | 2007-02-14 | 中国人民解放军国防科学技术大学 | 非同步硬核的伪同步时序建模方法 |
US7643591B2 (en) * | 2006-07-26 | 2010-01-05 | International Business Machines Corproation | Transition balancing for noise reduction /Di/Dt reduction during design, synthesis, and physical design |
US7546560B2 (en) * | 2006-12-06 | 2009-06-09 | Lsi Corporation | Optimization of flip flop initialization structures with respect to design size and design closure effort from RTL to netlist |
US7823107B2 (en) * | 2007-10-19 | 2010-10-26 | International Business Machines Corporation | Transition balancing for noise reduction/Di/Dt reduction during design, synthesis, and physical design |
US20090177424A1 (en) * | 2008-01-08 | 2009-07-09 | Ronald Pasqualini | 3-Dimensional method for determining the clock-to-Q delay of a flipflop |
US8839178B1 (en) | 2013-03-14 | 2014-09-16 | Medtronic, Inc. | Tool for evaluating clock tree timing and clocked component selection |
US9660626B2 (en) * | 2013-03-14 | 2017-05-23 | Medtronic, Inc. | Implantable medical device having clock tree network with reduced power consumption |
JP6146224B2 (ja) * | 2013-09-12 | 2017-06-14 | 株式会社ソシオネクスト | 判定方法、判定プログラム、および判定装置 |
US9823298B2 (en) * | 2015-08-12 | 2017-11-21 | Arm Limited | Critical path architect |
CN110750946B (zh) * | 2018-07-19 | 2023-08-18 | 澜至电子科技(成都)有限公司 | 集成电路网表仿真加速方法及其系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923621A (en) * | 1995-06-07 | 1999-07-13 | Cirrus Logic, Inc. | Clock doubler circuit with duty cycle control |
US6046600A (en) * | 1995-10-31 | 2000-04-04 | Texas Instruments Incorporated | Process of testing integrated circuit dies on a wafer |
US5886901A (en) * | 1997-01-07 | 1999-03-23 | Lsi Logic Corporation | Flip-flop for scan test chain |
US6008680A (en) * | 1997-08-27 | 1999-12-28 | Lsi Logic Corporation | Continuously adjustable delay-locked loop |
US5898640A (en) * | 1997-09-26 | 1999-04-27 | Advanced Micro Devices, Inc. | Even bus clock circuit |
US6037801A (en) * | 1997-10-27 | 2000-03-14 | Intel Corporation | Method and apparatus for clocking a sequential logic circuit |
-
1997
- 1997-05-22 JP JP9132145A patent/JPH10327047A/ja active Pending
-
1998
- 1998-05-20 US US09/081,621 patent/US6216256B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006203416A (ja) * | 2005-01-19 | 2006-08-03 | Mitsubishi Electric Corp | 電子素子及び解読攻撃防御方法 |
JP2010028313A (ja) * | 2008-07-16 | 2010-02-04 | New Japan Radio Co Ltd | 発振器の設計方法 |
Also Published As
Publication number | Publication date |
---|---|
US6216256B1 (en) | 2001-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10327047A (ja) | 半導体集積回路およびその設計方法 | |
JP2614345B2 (ja) | スキャンフリップフロップ | |
JP2003500723A (ja) | マルチプルコンポーネントシステム用クロックシステム | |
US7831856B1 (en) | Detection of timing errors in programmable logic devices | |
US6557161B2 (en) | Method for prototyping asynchronous circuits using synchronous devices | |
JP4512934B2 (ja) | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JPH10134091A (ja) | 論理エミュレーションの最適化回路生成法 | |
JP2010273322A (ja) | 多数決回路付きフリップフロップ回路 | |
US7302657B2 (en) | Optimization of the design of a synchronous digital circuit | |
US6633995B1 (en) | System for generating N pipeline control signals by delaying at least one control signal corresponding to a subsequent data path circuit | |
US6701498B2 (en) | Black box timing model for latch-based systems | |
US6185720B1 (en) | Slaveless synchronous system design | |
JP3703333B2 (ja) | 論理接続情報変換装置 | |
JP3651659B2 (ja) | イネーブル付きラッチ回路 | |
Poornima et al. | Functional verification of clock domain crossing in register transfer level | |
EP1308862B1 (en) | Optimization of the design of a synchronous digital circuit | |
US20020186061A1 (en) | Clock divider circuit producing 0° and 90° outputs with a 50% duty cycle | |
JP3561661B2 (ja) | 半導体集積回路及び半導体集積回路の設計方法 | |
US11764763B1 (en) | Method and apparatus for in-situ on-chip timing | |
JP2646561B2 (ja) | クロック分配回路 | |
JP2863779B2 (ja) | タイミング検証方法及び検証装置及びテストパターン生成方法 | |
JP4186559B2 (ja) | スキャンフリップフロップ | |
JP3236235B2 (ja) | トグルフリップフロップ | |
JP2000353939A (ja) | クロック信号同期式フリップフロップ回路 | |
JPH11259554A (ja) | 論理回路のタイミング解析方法ならびに同方法を用いた論理合成システム、及び同方法がプログラムされ記録される記録媒体 |