JP4893064B2 - 半導体集積回路および半導体集積回路設計方法 - Google Patents

半導体集積回路および半導体集積回路設計方法 Download PDF

Info

Publication number
JP4893064B2
JP4893064B2 JP2006093824A JP2006093824A JP4893064B2 JP 4893064 B2 JP4893064 B2 JP 4893064B2 JP 2006093824 A JP2006093824 A JP 2006093824A JP 2006093824 A JP2006093824 A JP 2006093824A JP 4893064 B2 JP4893064 B2 JP 4893064B2
Authority
JP
Japan
Prior art keywords
clock
block
semiconductor integrated
integrated circuit
data
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.)
Expired - Fee Related
Application number
JP2006093824A
Other languages
English (en)
Other versions
JP2007274049A (ja
Inventor
敏男 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2006093824A priority Critical patent/JP4893064B2/ja
Publication of JP2007274049A publication Critical patent/JP2007274049A/ja
Application granted granted Critical
Publication of JP4893064B2 publication Critical patent/JP4893064B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、大規模半導体集積回路の設計期間の短縮と、電源電圧が低下する将来の半導体集積回路において問題となる大規模半導体集積回路内の電源ノイズを低減でき、信頼性の向上とEMI低減が図れる半導体集積回路および半導体集積回路設計方法に関する。
従来、半導体集積回路の設計は以下の手法により行っていた。
1)大規模な半導体集積回路を設計する場合、既存のIPマクロ(例えば他社から購入したブラックボックスになっているマクロブロック)を組み込む場合など、半導体集積回路を階層化して下層ブロックと、その下層ブロックを結線する上層のTOPレベルに分けて設計することが普通である。この場合、各下層ブロック内のFFに到達するクロック遅延を可能な限り等しくし、半導体集積回路内の全FF間のクロックスキューをできるだけ小さくすることが行われている。半導体集積回路全体のクロックスキューをできるだけ小さく設計するために、まずブロック内の物理設計を行い、ブロック内部のクロック遅延を決定し、それをTOPレベルのクロック配線遅延にフィードバックするといった手法が取られている(例えば、下記特許文献1参照。)。
2)一方、半導体集積回路内のクロックサイクル内の消費電力の解析により、クロック系に含まれる数多くの消費電力の大きいクロックドライバーと、クロックが到達した直後に動作するFFの消費電力によって、チップ全体の消費電力の1/3以上が消費されており、その後次第に消費電力が低下し、クロックサイクルの後半は殆ど消費電力がないという現象があることがわかっている。FFは、クロックが入る度に電力を消費しており、またFF間の論理パスの遅延の分布を取ると、遅延の短いもの程多く、クロックサイクルの半分を超えるような遅延時間の比較的長いものはかなり少数なので、このような消費電力パターンになる。
特開平5−61564号公報
しかしながら、従来技術による上記1)の階層化設計の場合、TOPレベルを通過するブロック間配線のタイミング収束が最も困難である。例えばブロック間の距離が遠く、論理設計者の想定外の配線遅延がかかってしまう場合など、中継FFの追加などの論理設計変更か、ブロックの配置を変更するといったFloor−Plan変更の必要が発生し、論理設計/検証、あるいは物理設計の期間が長期化してしまうといった問題がある。
また、上記2)による結果、大規模な半導体集積回路内の各FFのクロック入力スキューをできるだけ小さくした場合、クロックが多数のFFに同時に到達することになり、その近辺の時間で半導体集積回路内の消費電力が極大になり、次第に消費電力が低下し、次のクロックエッジ到着の少し前には消費電力は極小になる。それが大きな電源電圧の揺れ(電源ノイズ)となり、誤動作やEMI(ELECTROMAGNETIC INTERFERENCE)の最大の発生源になっている。
これらの問題を防ぐために、電源ノイズに対しては設計時に電源ノイズに対応できるような十分な電源マージンを加味する必要があり、そのために物理設計期間の長期化、また半導体集積回路内にコンデンサを搭載することによる半導体集積回路サイズアップによる半導体集積回路のコストアップという問題が生じる。さらに、EMIに関しては、パッケージ/プリント基板に多量のコンデンサを搭載して問題を解決しようとすると、製品のコストアップを招くという問題が生じる。
この発明は、上述した従来技術による問題点を解消するため、設計期間を短縮化でき、半導体集積回路内の電源ノイズおよび製品のEMI問題を軽減できる半導体集積回路および半導体集積回路設計方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる半導体集積回路は、階層化されたブロック間のインターフェースを、クロックとデータを同時に送るソースシンクロナスタイプとし、受信側の前記ブロックには、所定のトレーニングパターンを用いて受信したデータビット間のクロックサイクルずれを検出し、クロックサイクルずれが検出されたビットの出力タイミングを修正するビットアライメント手段を備えたことを特徴とする。
また、受信側の前記ブロックにメソクロナスタイプの同期化回路を備え、前記インターフェースのデータをセットアップ/ホールド違反なしに受信し、受信側の前記ブロックの内部回路に転送することを特徴とする。
また、前記ブロック間の前記インターフェースに、前記クロックに同期したDDR(Double−Data−Rate)、あるいはQDR(Quad−Data−Rate)を用い、当該ブロック間インターフェース信号数を少なくしたことを特徴とする。
また、前記ブロックをそれぞれ独立のクロックで動作させ、当該ブロックにそれぞれ位相の異なるクロックを与える遅延手段を備え、回路全体の1クロック内の消費電力の差を平坦化させることを特徴とする。
また、この発明にかかる半導体集積回路設計方法は、階層化されたブロック間のインターフェースを、クロックとデータを同時に送るソースシンクロナスタイプとして設計し、受信側の前記ブロックにおいて、所定のトレーニングパターンを用いて、受信したデータビット間のクロックサイクルずれを検出し、クロックサイクルずれが検出されたビットの出力タイミングを修正することを特徴とする。
上記構成によれば、階層化設計において下位ブロック間のインターフェースタイミング制約を取り去ることができ、設計期間の短期化が可能となる。また、クロックの位相をブロック毎に意図的に変更できる。
本発明にかかる半導体集積回路および半導体集積回路の設計方法によれば、ブロック間インターフェース信号を1サイクル以内で転送するという制約を外すことができるため、回路設計期間を短縮化できるという効果を奏する。また、意図的に各ブロック内FFが動作する時間をずらすことができるため、半導体集積回路全体としてクロックサイクル内の消費電力の極大/極小を平準化でき、半導体集積回路内電源ノイズ問題、製品化時におけるEMI問題を軽減できるという効果を奏する。
以下に添付図面を参照して、この発明にかかる半導体集積回路および半導体集積回路設計方法の好適な実施の形態を詳細に説明する。
(発明の概要)
半導体集積回路は、複数の下位ブロックとそれら複数の下位ブロックを包含する上位レベルのブロックとにより構成し、下位ブロック間のインターフェース信号をソースシンクロナスタイプとして設計する。すなわち、送信側ブロックは送信側ブロックのクロックと共に制御信号/データを送り、受信側ブロックは受信したクロックで一旦受信データをラッチしてから受信側ブロック内部クロックの位相をあわせてブロック内部に送出するための受信回路を持つ。
加えて、初期化中にトレーニングパターンを使うことにより、クロックなしで受信側下位ブロックがブロック間インターフェース信号の変化点からクロックを抽出し(CDR:Clock−Data−Recovery)、前述のソースシンクロナス転送時と同様にデータ転送を行う。また、半導体集積回路全体からみて各下位ブロック内FFにクロックが到達する時間をずらし、下位ブロック単位でクロック遅延の調整を可能とし、半導体集積回路の電源ノイズ/EMIを削減させる。
(実施の形態)
(半導体集積回路の構成)
図1は、本発明の実施の形態による半導体集積回路の構成例を示す図である。図1に示す半導体集積回路10は、内部に複数の下位ブロックBLK1〜BLK5(11−1〜11−5)とクロック生成回路14を含み、クロック生成回路14は、クロックを各下位ブロック(11−1〜11−5)に配っている。各下位ブロック(11−1〜11−5)は、内部にコア論理(12−1〜12−5)と、クロックツリー(13−1〜13−5)を含んでおり、各クロックツリー(13−1〜13−5)は、クロック生成回路14から伝達されたクロックを、各ブロック内のコア論理(12−1〜12−5)内に存在するFF群(図1中では省略)に対して低スキューで伝達する機能を有する。
また、各ブロックのコア論理(12−1〜12−5)は、ソースシンクロナス送信器(16−1−5,16−5−1,16−5−3,16−3−5)、ソースシンクロナス受信器(15−1−5,15−5−1,15−5−3,15−3−5)以外の全ての論理を含み、従来の階層化設計の下位ブロックの概念に相当する。
BLK1(11−1),BLK3(11−3),BLK5(11−5)には、ソースシンクロナス送信器(16−1−5,16−5−1,16−5−3,16−3−5)と、ソースシンクロナス受信器(15−1−5,15−5−1,15−5−3,15−3−5)を含み、これらの3つの下位ブロック(BLK1(11−1),BLK3(11−3),BLK5(11−5))間は、ブロック間クロックとデータ/制御信号(18−15,18−35)が配線されている。BLK2(11−2)と、BLK3(11−3)の間にはデータ/制御信号のみが配線されている。
図1に示す例では、BLK1(11−1)と、BLK5(11−5)間、BLK3(11−3)とBLK5(11−5)間、およびBLK2(11−2)とBLK3(11−3)のみブロック間信号が限定されて描かれているが、実際には他のブロック間ともブロック間信号があり、それらは図1では省略されている。
BLK2(11−2)とBLK3(11−3)は、同じクロックがクロック生成回路14から供給され、これらの2つの下位ブロックは同期して動作しており、そのため両下位ブロック間のインターフェースは、従来型の同期ブロック間インターフェース17となっている。一方、BLK1(11−1)と、BLK5(11−5)、およびBLK3(11−3)とBLK5(11−5)は、クロック生成回路14から個別のクロックが供給されており、これらのクロックは同じ周波数ではあるが異なる位相を持つメソクロナスタイプとなっている。
これらソースシンクロナス送信器(16−1−5,16−5−1,16−5−3,16−3−5)と、ソースシンクロナス受信器(15−1−5,15−5−1,15−5−3,15−3−5)を持つ下位ブロック(11−1,11−3,11−5)へのクロックの位相は全くの任意でよく、各下位ブロック(11−1,11−3,11−5)内のFFへのクロック到着時間を大きくずらすことにより、半導体集積回路10のクロックサイクルレベルでの消費電力を分散させることができ、半導体集積回路10を構成する各CMOSトランジスタ素子のスイッチング動作を分散/均一化することにより電源安定用コンデンサに頼らなくとも半導体集積回路10の消費電力の均一化が可能になり電源ノイズを削減できる。
(送信器/受信器の構成例1…送信クロックが反転の場合)
以下、図1に示した半導体集積回路に設けられる送信器および受信器の各構成例について説明する。図2は、本発明の送信器/受信器の一例を示す構成図である。図2においては、送信クロックを反転する場合(データが安定してからクロックの立ち上がりエッジが受信側ブロックに到着する)の例を示してある。
送信側ブロック21は、送信器23を含み、送信器23は、その中に送信側FF群(ポジティブエッジのFF群)25と、BLK内クロックを反転して出力するインバータ26を含む。この構造により、データの変化点におけるクロックはダウンエッジとなり、受信側ブロック22が送信側ブロック21からブロック間クロックとブロック間データを受信した時点では、クロックのポジティブエッジではデータは安定している。よって受信FF群1(29−1)では、送信側ブロック21から伝播してくるブロック間クロックを使って、送信側ブロック21から伝播してくるブロック間データをラッチできる。
受信側ブロック22は、受信器24を含み、受信器24は、その中に同期化回路を構成するクロック位相検出器27と、その制御下にあるVariable−Delay−Line(VDL)28からなる。クロック位相検出器27は、送信側ブロック21が送ってきたブロック間クロックと、受信側ブロック22内クロックの位相を検出し、受信FF群2(29−2)がセットアップ/ホールドタイミング違反を起こさないようなクロックをVDL28で作成させ、受信FF群2(29−2)で一度ラッチしたあと、受信側ブロック22内クロックを使用する受信FF群3(29−3)にデータを渡す。
(送信器/受信器の構成例2…送信クロックを反転させない場合)
図3は、本発明の送信器/受信器の一例を示す構成図である。図3の構成は、図2とほぼ同じであるが、送信側ブロック31が出力するクロックのポジティブエッジがデータの変化点と同じ(送信クロックを反転させない)例である。
送信側ブロック31は、送信側FF群35と、バッファ36を含む。送信器33内のクロックは、バッファ36を介して受信側ブロック32に出力されている。受信側ブロック32内の受信器34においては、まず入力されたブロック間クロックを受信側ブロック32内クロックとクロック位相検出器37によってその位相関係を検出し、VDL38によって受信FF群1(39−1)用のクロックと、受信FF群2(39−2)用のクロックが作られる。受信FF群1(39−1)用のクロックとしては、通常ブロック間クロックとして受信したクロックを反転したものを与える。また、受信FF群2(39−2)用のクロックとしては、受信FF群1(39−1)と、BLK内クロックを使用する受信FF群3(39−3)の間でセットアップ/ホールド違反が出ないタイミングになるように調整されたクロックを与える。これにより、受信側ブロック32では、セットアップ/ホールド違反なしに受信でき、この受信側ブロック32の内部回路に転送することができる。
(受信器の構成例3…ブロック間のクロック位相差がわかっている場合1)
図4は、本発明の受信器の一例を示す構成図である。上記の図2、図3の構成例は、送信側ブロックと、受信側ブロック間でクロックの位相が全く保証されていない場合の回路であったことに対して、図4の構成は、送信側ブロック(省略)と、受信側ブロック41の2つのクロックの位相関係がある程度限定されてわかっている場合の例である。
図2、図3の構成では受信側ブロックが3段のFF群でデータを同期化していたのに対して、図4の構成では、クロック位相検出器43と、VDL44により、送信側ブロックからのクロックと、受信側ブロック41内クロックの相関関係を物理設計時にある範囲に絞り込むことによって、受信器42内の受信FF群1(45−1)と、受信FF群2(45−2)の2段のFFでデータを受領できるようになっている。上記の「送信側ブロックからのクロックと受信側ブロック41内クロックの相関関係を物理設計時にある範囲に絞り込む」ことによる、クロックの調整の範囲は、完全同期の場合に比べて格段に自由度が高く容易に行える。
(受信器の構成例4…ブロック間のクロック位相差がわかっている場合2)
図5は、本発明の受信器の一例を示す構成図である。図5の構成も、送信側ブロック(省略)と、受信側ブロック51の2つのクロックの位相関係がある程度限定されてわかっている場合の例である。受信側ブロック51内のクロックは、受信FF群2(55−2)と、クロック位相検出器53に供給される。図4が受信FF群1(45−1)に与えるクロックを受信側ブロック41のクロックから生成していたのに対して、図5の構成では、送信側ブロックからのCLKを受信器52内のVDL54で遅らせて受信FF群1(55−1)用のクロックを作っている点が異なる。
(送信器/受信器の構成例5…DDRを用いる場合1)
図6−1は、本発明の送信器/受信器の一例を示す構成図である。図6−1に示す構成では、上述した構成と同様にブロック間インターフェースとしてソースシンクロナスインターフェースを使うが、ブロック間クロックのポジティブエッジとネガティブエッジの両エッジを使って転送を行うDDR(Double−Data−Rate)を使う場合の例である。
また、図6−2は、図6−1の構成によるデータ転送のタイムチャートである。送信側ブロック61におけるパラレルデータのD0とD1は、ブロック間インターフェース60部分では倍速でシリアルかつクロックのUp/Downエッジと同期して転送され、受信側ブロック62で再度パラレル化されるという送信/受信側ブロック論理例となっている。
図6−1における送信側ブロック61中の送信器63は、マルチプレクサ66−2を有し、ブロック内クロックを使用して送信側FF群even用(65−0)と、送信側FF群odd用(65−1)からのデータを選択し、クロックのUp/Downに同期したデータを作り、受信側ブロック62に対して送出する。その際、送信側ブロック61内のクロックもバッファ66−1を経て同時に送られる。これによって、ブロック間インターフェース60の部分は、図6−2のタイムチャートに示すように、クロックの両エッジに同期した倍速データになる。
受信側ブロック62内の受信器64にはクロック位相検出器67と、VDL68の他に、受信FF群のeven用の3セット(69−0−1,69−0−2,69−0−3)と、受信FF群のodd用の4セット(69−1−1,69−1−2,69−1−3,69−1−4)がある。受信側ブロック62に到達したブロック間クロックは、VDL68と、クロック位相検出器67に伝達され、VDL68は受信FF群even3(69−0−3)と受信FF群odd4(69−1−4)以外のFF群(69−0−1,69−0−2,69−1−1,69−1−2,69−1−3)のクロックを作成する。
受信FF群even1(69−0−1)は受信したブロック間クロックを90°遅延させたクロックを、また、受信FF群odd1(69−1−1)はさらにそれを反転させたクロックを使う。受信FF群odd2(69−1−2)は、180°ずれているデータをeven側と同じクロックを使ってeven側クロックに同期させるために使われる。その後の受信FF群even2(69−0−2)、受信FF群even3(69−0−3),受信FF群odd3(69−1−3),受信FF群odd4(69−1−4)は、図3の受信FF群2(39−2)と受信FF群3(39−3)と機能的に同じであり、受信側ブロック62のクロックに位相を合わせるために使われている。
(送信器/受信器の構成例6…DDRを用いる場合2)
図7は、本発明の送信器/受信器の一例を示す構成図である。図7に示す構成は、図6−1と同じDDRを使うブロック間インターフェースであり、図6−1と同じ構成部には同じ符号を付してある。図7において、図6−1と異なる点は、送信側ブロック71の送信器73には、送出クロック90°位相シフター76−1が設けられており、出力するクロックがすでに90°位相がずれているため、ブロック間インターフェース60上のデータウィンドウの中心にブロック間クロックのUp/Downのエッジがくることである。そのため、受信側ブロック72内の受信器74では、受信したブロック間クロックをそのまま受信FF群even1(69−0−1)に使用しており、さらに受信したブロック間クロックを反転したクロックを受信FF群odd1(69−1−1)のクロックとして使用している。図6−1と、図7の構成では、このクロック構造だけが異なる。
(送信器/受信器の構成例7…QDRを用いる場合)
図8−1は、本発明の送信器/受信器の一例を示す構成図である。また、図8−2は、図8−1の構成によるデータ転送のタイムチャートである。図8−1に示す構成は、1クロックで4つ分のデータを送るQuad−Data−Rate(QDR)の場合の例である。送信側ブロック81は、送信器83を有し、その中には送信側FF群0〜3(85−0〜85−3)が設けられ、その出力先に4:1のマルチプレクサ86−2が設けられる。このマルチプレクサ86−2は、マルチプレクサ用選択信号生成回路86−3によって制御されている。
マルチプレクサ用選択信号生成回路86−3は、送信側ブロック81のクロックの4倍スピードで0→1→2→3→0といったサイクリックな選択信号をマルチプレクサ86−2に伝え、4ビットの入力を4倍スピードの1ビットにシリアライズする。この4倍スピードのサイクリックな選択信号は、マルチプレクサ用選択信号生成回路86−3内で4倍のクロックをベースに作ってもよいし、あるいは外部からマルチプレクサ用選択信号生成回路86−3に4倍クロックを入力してもよい。ただし、D0が送出クロックの立ち上がりと同期し、ブロック間インターフェース80上ではブロック間クロックの立ち上がりがD0であることを示さねばならない。
受信側ブロック82の構造については、基本的には図6−1および図7に示したDDRの構成例と同じであるが、図8−1の構成例では、受信器84に設けられた受信用クロック/ラッチイネーブル生成回路87−2が初段の受信FF群(89−0−0,89−1−0,89−2−0,89−3−0)への4倍クロックとイネーブル信号を生成している。送信側ブロック81のマルチプレクサ用選択信号生成回路86−3と同様に、受信用クロック/ラッチイネーブル生成回路87−2が4倍のクロックとその周波数で動作するラッチイネーブル信号を内部で作ってもよいし、外部から基準となる4倍のクロックをもらってもよい。
そして、受信用クロック/ラッチイネーブル生成回路87−2は、ブロック間クロックの位相情報を元に、4倍速のデータをうまく受けられる4倍のクロックと、ブロック間クロックの立ち上がり時に転送されてくるデータをD0として、さらに次の4倍クロックでD1、その次がD2と、4倍速で送られてくるデータを受領できるラッチイネーブルを作成する機能を有する。初段の受信FF群89−0−0,89−1−0,89−2−0,89−3−0)にD0からD3までが全て格納されたサイクルで、次段のFF群(89−0−1,89−1−1,89−2−1,89−3−1)にクロックを与え、4ビットのデータをパラレル化された1クロックのデータとして取り込む。
その後、受信側ブロック82のクロックに同期させて受信側ブロック82内にデータを送り出す。ここでも、通信を行う送信側ブロック81と、受信側ブロック82のクロックが全くの自由な位相関係を保てるようにするために、3段目のFF群(89−0−2,89−1−2,89−2−2,89−3−2)と、4段目のFF群(89−0−3,89−1−3,89−2−3,89−3−3)を設けてある。
以上のように、ブロック間インターフェースに、クロックに同期したDDR、あるいはQDRを用いることにより、ブロック間インターフェースの信号数を少なくすることができる。
(送信器/受信器の構成例8…CDRを用いる場合)
図9は、本発明の送信器/受信器の一例を示す構成図である。図9に示す構成は、上述したようなクロックとデータを同時に送信するソースシンクロナスとは異なるクロックデータリカバリ(CDR)の例である。QDRよりさらに高速にデータを送りたい場合などは、回路的にクロック信号とデータ信号の関係を正しく保つことが難しくなる。そこで、データの中にクロック信号を埋め込むクロックデータリカバリの手法が用いられる。
以下の例では、QDR相当の4倍速のデータを受領する場合のCDR回路の例を説明するが、当然、より早いデータレートでも対応可能である。シリアル化されたデータが受信器90に入ってくると、複数の異なったラッチタイミングを持つFF群(91−0〜91−8)でデータを取り込む。この複数の異なったラッチタイミングは、最適CLK生成回路92によってタイミングの異なるクロックが供給されることによって達成される。この例では、1サイクルの1/8毎ずれているクロックを供給している。
入力されたData_inがこの複数のFFでラッチされるので、Data_inが変化すると、いずれかのFF群(91−0〜91−8)のどこかで変化が観測される。その変化を観測するのが入力データ位相検出用エッジ検出回路93である。この入力データ位相検出用エッジ検出回路93内のEOR94−0〜94−7によって変化点を検出し、ヒステリシスを持ったエッジ検出回路95でその変化点の場所を記憶する。ヒステリシスを持つ理由は、検出された変化点が頻繁に変動することを防ぐためである。
図9の例において、FF群91−2と、91−3との間で変化が観測されたとすると、入力データ位相検出用エッジ検出回路93は、そこから遠いFF91−8が最も安定している場所であると最適CLK生成回路92に伝達し、最適CLK生成回路92は、FF91−8の出力が選択されるようにセレクタ96に指示を与える。
このあとは、図8の説明とほぼ同じ動作により、最適CLK生成回路92が4倍のクロックを作り、それに対応するラッチイネーブルを生成することにより、初段のFF群(99−0−0,99−0−1,99−0−2,99−0−3)にデータが取り込まれる。これら4つの初段FF群(99−0−0,99−0−1,99−0−2,99−0−3)にデータが格納された時点で、次段のFF群(99−1−0,99−1−1,99−1−2,99−1−3)にデータが転送され、さらに受信側クロックに同期するためにさらに3段目のFF群(99−2−0,99−2−1,99−2−2,99−2−3)と、4段目のFF群(99−3−0,99−3−1,99−3−2,99−3−3)を経て、受信側ブロック内にデータが送られる。ただし、DDR/QDRの場合と異なり、シリアライズされたデータのどれがパラレルデータ時の先頭にあたるかが上記回路だけではわからないため、通常はトレーニングパターンなどを使ってその検出を行うようになっている(具体的な回路は省略する)。
以上のように、CDR方式によれば、DDRやQDRに比して、よりブロック間インターフェース信号を少なくすることができる。
(受信器の構成例9…受信データビット間のクロックサイクルずれを解消する例)
図10は、本発明の受信器の一例を示す構成図である。半導体集積回路内でソースシンクロナスのインターフェースを作る場合に、できるだけクロックとデータを並べて同じドライブ能力、同じ配線長/配線層とし、その伝播遅延誤差を小さくすることが行われている。しかし、それができず、ビットによってタイミングずれが発生してしまう場合に、そのずれを解消する回路の例である。受信側ブロック100には、上記の各構成例として説明したいずれかの受信器101が配置される。そして、図10に示すように、受信側ブロック100内には、受信器101のすぐ内側にビットアライメントブロック102を追加する。
このビットアライメントブロック102は、トレーニングモード(training_mode)を用いる。このため、送信側ブロックには、training_mode中においては全出力データビットがHighになる1サイクルと、7サイクルの間全出力データビットがLowになる機能を付加する。受信側ブロック100では、受信器101から出力された受信データをビットアライメント制御ブロック103に取り込み、ビットずれがあるかないかを検出する。そして、ビットアライメント制御ブロック103は、1ビットずれが検出された場合には、早く到着したビットはFF(104−0〜104−3)に一度取り込んで1サイクル遅らせ、次サイクルに到着したデータは直接出力するようにマルチプレクサ(105−0〜105−3)をコントロールする。これによって、ビットずれのアライメントを取ることができる。ビットアライメント制御ブロック103のブロック内に記載したサンプルコードは、この回路の制御論理例(制御ソフトウェア)である。上記構成によれば、トレーニングパターンを使い、ビットずれを自動的に修正することができる。
以上説明した各構成例によれば、半導体集積回路を階層化設計する場合に、各下位ブロック内にメソクロナスタイプ(周波数は同じで、位相のみが不明の場合)のソースシンクロナス受信回路を設置し、送信側下位ブロックは、自クロックと共にデータ/制御信号を送出し、受信側下位ブロックはメソクロナスタイプのソースシンクロナス受信回路でこれらクロック/データ/制御信号を受信する構成とした。これにより、各下位ブロック単位にタイミング設計を独立に終了でき、下位ブロックを包含する上位ブロックは各下位ブロックのタイミングを気にすることなくブロック間のインターフェース信号群の送信クロックとデータ/制御信号の相対遅延(すなわちソースクロックとデータ/制御信号間のSkew)のみをある一定の範囲に入るように設計しさえすれば上位ブロックの設計を終了でき、半導体集積回路全体は上位ブロックに下位ブロックをはめ込めば設計が終了でき、下位ブロックと上位ブロックを完全に別に設計することにより設計期間の短縮が可能になる。
(半導体集積回路内のブロック毎のクロックの制御例1)
図11は、本発明の半導体集積回路内のブロック毎にクロックを制御する構成図である。上述した各構成により、半導体集積回路111の下位ブロックであるBLK0〜BLK9(116−0〜116−9)のクロックを任意にずらせるようになった場合に、どのようにクロックをずらすかを図11に示す。クロックに任意に遅延を与える方法としては、クロック生成回路112の中のPLL114や、DLL/VDL115によって意図的な遅延を付加させる。あるいは、クロック生成回路112の内部に遅延素子113−1、あるいは下位ブロックBLK1(116−1)の上位ブロックとして遅延素子113−2を配置する。
(半導体集積回路内のブロック毎のクロックの制御例2)
図12は、本発明の半導体集積回路内のブロック毎にクロックを制御する構成図である。この図12の構成では、下位ブロックのクロック制御方法例と電源ノイズ削減においてインテリジェンス機能を持たせて行う場合の例である。半導体集積回路121内には、複数の電源ノイズ測定回路1〜5(125−1〜125−5)を配置する。そして、クロック生成回路122内のVDL123−1〜123−4によって遅延をつけたクロックで複数の下位ブロックBLK1〜BLK4(126−1〜126−4)を動作させたときに、電源ノイズ測定回路1〜5(125−1〜125−5)によって検出される電源ノイズが小さくなるように、クロック遅延制御回路124でVDL123−1〜123−4を制御する。
上記制御例1、2の構成によれば、上位ブロックの下位ブロックへのクロック配線時において、各下位ブロックに与えるクロックに意図的に異なるクロック遅延を与え、各下位ブロック内のFFが別のタイミングで動作させることにより、半導体集積回路全体としてのFFの動作時期をずらすことができる。これにより、消費電力極大時と極小時の差を全ての半導体集積回路内のFFが全て同時に動作する場合に比較して平坦化/削減できるようになる。同時に、半導体集積回路の電源ノイズの低下とEMI低減が可能になるため、従来必要としていた電源ピン数とオンチップコンデンサ分の面積が削減でき、半導体集積回路のサイズを小さくすることができ、半導体集積回路のコストダウンが可能になる。さらに、従来半導体集積回路が搭載されていたパッケージ/プリント基板上に実装されていた電源ノイズ/EMI対策用の外付けのバイパスコンデンサの数も削減できるため、パッケージ/プリント板モジュールのコスト削減も可能となる。
以上説明した半導体集積回路の構成は、この半導体集積回路の設計時に決定することができる。この半導体集積回路の設計にかかる方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)階層化されたブロック間のインターフェースを、クロックとデータを同時に送るソースシンクロナスタイプにしたことを特徴とする半導体集積回路。
(付記2)受信側の前記ブロックにメソクロナスタイプの同期化回路を備え、前記インターフェースのデータをセットアップ/ホールド違反なしに受信し、受信側の前記ブロックの内部回路に転送することを特徴とする付記1に記載の半導体集積回路。
(付記3)前記ブロック間の前記インターフェースに、前記クロックに同期したDDR(Double−Data−Rate)、あるいはQDR(Quad−Data−Rate)を用い、当該ブロック間インターフェース信号数を少なくしたことを特徴とする付記1に記載の半導体集積回路。
(付記4)送信側の前記ブロックと、受信側の前記ブロックをメソクロナスタイプとし、クロックラインを使わずに前記データにクロックを埋め込むCDR(Clock−Data−Recovery)方式を用い、ブロック間インターフェース信号を少なくしたことを特徴とする付記1に記載の半導体集積回路。
(付記5)前記ブロック間のインターフェースとして高速なソースシンクロナスインターフェースを用い、
受信側の前記ブロックには、所定のトレーニングパターンによりビットずれを修正するビットアライメント手段を備えたことを特徴とする付記1に記載の半導体集積回路。
(付記6)前記ブロックをそれぞれ独立のクロックで動作させ、当該ブロックにそれぞれ位相の異なるクロックを与える遅延手段を備え、回路全体の1クロック内の消費電力の差を平坦化させることを特徴とする付記1〜5のいずれか一つに記載の半導体集積回路。
(付記7)階層化されたブロック間のインターフェースを、クロックとデータを同時に送るソースシンクロナスタイプとして設計することを特徴とする半導体集積回路設計方法。
以上のように、本発明にかかる半導体集積回路および半導体集積回路設計方法は、多数のFFを用いた大規模な集積回路におけるブロック間のタイミング収束に有用であり、特に、多数のFFを用いたLSI設計に適している。
本発明の実施の形態による半導体集積回路の構成例を示す図である。 本発明の送信器/受信器の一例を示す構成図である。 本発明の送信器/受信器の一例を示す構成図である。 本発明の受信器の一例を示す構成図である。 本発明の受信器の一例を示す構成図である。 本発明の送信器/受信器の一例を示す構成図である。 図6−1の構成によるデータ転送のタイムチャートである。 本発明の送信器/受信器の一例を示す構成図である。 本発明の送信器/受信器の一例を示す構成図である。 図8−1の構成によるデータ転送のタイムチャートである。 本発明の送信器/受信器の一例を示す構成図である。 本発明の受信器の一例を示す構成図である。 本発明の半導体集積回路内のブロック毎にクロックを制御する構成図である。 本発明の半導体集積回路内のブロック毎にクロックを制御する構成図である。
符号の説明
10 半導体集積回路
11−1〜11−5 下位ブロック(BLK1〜BLK5)
12−1〜12−5 コア論理
13−1〜13−5 クロックツリー
14 クロック生成回路
15−1−5,15−5−1,15−5−3,15−3−5 ソースシンクロナス受信器
16−1−5,16−5−1,16−5−3,16−3−5 ソースシンクロナス送信器
17 同期ブロック間インターフェース

Claims (5)

  1. 階層化されたブロック間のインターフェースを、クロックとデータを同時に送るソースシンクロナスタイプとし、
    受信側の前記ブロックには、所定のトレーニングパターンを用いて受信したデータビット間のクロックサイクルずれを検出し、クロックサイクルずれが検出されたビットの出力タイミングを修正するビットアライメント手段を備えたことを特徴とする半導体集積回路。
  2. 受信側の前記ブロックにメソクロナスタイプの同期化回路を備え、前記インターフェースのデータをセットアップ/ホールド違反なしに受信し、受信側の前記ブロックの内部回路に転送することを特徴とする請求項1に記載の半導体集積回路。
  3. 前記ブロック間の前記インターフェースに、前記クロックに同期したDDR、あるいはQDRを用い、当該ブロック間インターフェース信号数を少なくしたことを特徴とする請求項1に記載の半導体集積回路。
  4. 前記ブロックをそれぞれ独立のクロックで動作させ、当該ブロックにそれぞれ位相の異なるクロックを与える遅延手段を備え、回路全体の1クロック内の消費電力の差を平坦化させることを特徴とする請求項1〜3のいずれか一つに記載の半導体集積回路。
  5. 階層化されたブロック間のインターフェースを、クロックとデータを同時に送るソースシンクロナスタイプとして設計し、受信側の前記ブロックにおいて、所定のトレーニングパターンを用いて、受信したデータビット間のクロックサイクルずれを検出し、クロックサイクルずれが検出されたビットの出力タイミングを修正することを特徴とする半導体集積回路設計方法。
JP2006093824A 2006-03-30 2006-03-30 半導体集積回路および半導体集積回路設計方法 Expired - Fee Related JP4893064B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006093824A JP4893064B2 (ja) 2006-03-30 2006-03-30 半導体集積回路および半導体集積回路設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006093824A JP4893064B2 (ja) 2006-03-30 2006-03-30 半導体集積回路および半導体集積回路設計方法

Publications (2)

Publication Number Publication Date
JP2007274049A JP2007274049A (ja) 2007-10-18
JP4893064B2 true JP4893064B2 (ja) 2012-03-07

Family

ID=38676444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006093824A Expired - Fee Related JP4893064B2 (ja) 2006-03-30 2006-03-30 半導体集積回路および半導体集積回路設計方法

Country Status (1)

Country Link
JP (1) JP4893064B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4941738B2 (ja) * 2007-04-03 2012-05-30 大学共同利用機関法人自然科学研究機構 超高速ad変換におけるビットアラインメント補正機構
US7975158B2 (en) * 2007-12-31 2011-07-05 Intel Corporation Noise reduction method by implementing certain port-to-port delay
JP6160322B2 (ja) * 2013-07-18 2017-07-12 富士通株式会社 受信回路および半導体集積回路装置
CN110188387A (zh) * 2019-04-26 2019-08-30 深圳市致宸信息科技有限公司 一种ulsic时序收敛方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3562416B2 (ja) * 2000-01-12 2004-09-08 日本電気株式会社 Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式
JP3525881B2 (ja) * 2000-09-29 2004-05-10 日本電気株式会社 ソースシンクロナスデータ転送方法及びソースシンクロナスデータ転送装置
JP2002366250A (ja) * 2001-06-08 2002-12-20 Matsushita Electric Ind Co Ltd クロック信号調整回路
DE602006010372D1 (de) * 2005-06-10 2009-12-24 Ibm Mikrocomputer und verfahren zu seiner prüfung

Also Published As

Publication number Publication date
JP2007274049A (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
US10541693B2 (en) Method and apparatus for source-synchronous signaling
KR102367967B1 (ko) 명령 지연 조절 회로를 포함하는 장치 및 방법
US7464282B1 (en) Apparatus and method for producing dummy data and output clock generator using same
US20200293080A1 (en) Circuits for and methods of calibrating a circuit in an integrated circuit device
KR100888597B1 (ko) 메모리 인터페이스 제어 장치 및 제어 방법
US5717729A (en) Low skew remote absolute delay regulator chip
US6891774B1 (en) Delay line and output clock generator using same
KR100930401B1 (ko) 반도체 메모리 장치
KR100910852B1 (ko) 반도체 메모리 소자
US8009492B2 (en) Circuit for generating data strobe signal and method
KR20200088650A (ko) 클럭 신호에 동기되는 신호 생성 회로 및 이를 이용하는 반도체 장치
KR101699787B1 (ko) 지연동기루프 회로, 이를 포함하는 반도체 장치 및 메모리 시스템
US8209560B2 (en) Transmission system where a first device generates information for controlling transmission and latch timing for a second device
JP4893064B2 (ja) 半導体集積回路および半導体集積回路設計方法
US6947349B1 (en) Apparatus and method for producing an output clock pulse and output clock generator using same
US7089439B1 (en) Architecture and method for output clock generation on a high speed memory device
KR100520657B1 (ko) 지연 고정 루프 회로에 적용되는 위상 비교기
JP2003045184A (ja) Sdram半導体装置
US10241538B2 (en) Resynchronization of a clock associated with each data bit in a double data rate memory system
KR101046730B1 (ko) 반도체 메모리 장치 및 그 구동 방법
Ko et al. A controller PHY for managed DRAM solution with damping-resistor-aided pulse-based feed-forward equalizer
US7319635B2 (en) Memory system with registered memory module and control method
JP4952177B2 (ja) 記憶装置
KR20190110733A (ko) 클럭 신호에 동기하여 신호를 전송 및 수신하는 반도체 장치
JP3831142B2 (ja) 半導体集積回路

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111205

R150 Certificate of patent or registration of utility model

Ref document number: 4893064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees