JP2009081588A - 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法 - Google Patents

半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法 Download PDF

Info

Publication number
JP2009081588A
JP2009081588A JP2007248305A JP2007248305A JP2009081588A JP 2009081588 A JP2009081588 A JP 2009081588A JP 2007248305 A JP2007248305 A JP 2007248305A JP 2007248305 A JP2007248305 A JP 2007248305A JP 2009081588 A JP2009081588 A JP 2009081588A
Authority
JP
Japan
Prior art keywords
delay
clock signal
output
output buffer
buffer
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.)
Withdrawn
Application number
JP2007248305A
Other languages
English (en)
Inventor
Nariyoshi Andou
也義 安藤
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 JP2007248305A priority Critical patent/JP2009081588A/ja
Publication of JP2009081588A publication Critical patent/JP2009081588A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/02Bonding areas ; Manufacturing methods related thereto
    • H01L24/04Structure, shape, material or disposition of the bonding areas prior to the connecting process
    • H01L24/06Structure, shape, material or disposition of the bonding areas prior to the connecting process of a plurality of bonding areas
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/02Bonding areas; Manufacturing methods related thereto
    • H01L2224/04Structure, shape, material or disposition of the bonding areas prior to the connecting process
    • H01L2224/05Structure, shape, material or disposition of the bonding areas prior to the connecting process of an individual bonding area
    • H01L2224/0554External layer
    • H01L2224/0555Shape
    • H01L2224/05552Shape in top view
    • H01L2224/05554Shape in top view being square
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/13Discrete devices, e.g. 3 terminal devices
    • H01L2924/1304Transistor
    • H01L2924/1306Field-effect transistor [FET]
    • H01L2924/13091Metal-Oxide-Semiconductor Field-Effect Transistor [MOSFET]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/14Integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Electronic Switches (AREA)

Abstract

【課題】他の外部装置に転送する非クロック信号の確定遅延の増加を抑えることができる半導体集積回路装置を提供する。
【解決手段】遅延補正回路80は、所定の内部回路から内部バスを介して与えられる外部に出力すべきクロック信号SDCKおよびデータ信号DO0〜DO3を入力し、遅延補正制御回路81に制御されて信号入出力部3におけるSSOノイズによるデータ信号DO0〜DO3の確定遅延の増加を抑えるようにクロック信号SDCKの遅延補正を行い、この遅延補正を行ったクロック信号SDCKと、所定時間遅延させたデータ信号DO0〜DO3とを出力する。
【選択図】図5

Description

本発明は、クロック信号と該クロック信号で確定遅延が決まる非クロック信号(アドレス信号、コマンド信号、データ信号など)を複数の出力バッファを介して他の装置に転送する半導体集積回路装置、および、このような半導体集積回路装置におけるクロック信号の遅延補正方法に関する。
半導体集積回路装置においては、複数のI/Oバッファが同時にスイッチングすると、これらI/Oバッファの電源電圧および接地電圧に急激な変動が発生する。これらI/Oバッファの電源電圧および接地電圧の急激な変動の大きさは、同時にスイッチングするI/Oバッファの個数や外部負荷条件などに依拠する。なお、I/Oバッファにおいては、出力バッファがスイッチングすると、入力バッファもまた出力バッファの出力信号によりスイッチングする。
半導体集積回路装置におけるI/Oバッファの同時スイッチングによる電源電圧変動および接地電圧変動は、半導体集積回路装置の安定動作を阻害するものであり、一般に、同時スイッチングノイズ(SSN[Simultaneous Switching Noise])と呼ばれている。類義語として、SSOノイズ(Simultaneous Switching Output Noise)や、SSIノイズ(Simultaneous Switching Input Noise)がある。
半導体集積回路装置の設計においては、SSOノイズ検証が非常に面倒な作業となる。I/Oバッファの同時スイッチングによるI/Oバッファの電源電圧変動および接地電圧変動は、半導体集積回路装置内の電源線網および接地線網を伝わって伝搬するが、これらSSOノイズは、空間的な広がりとして、隣接するI/Oバッファの電源電圧および接地電圧を揺らすことになるからである。
SSOノイズを時間軸方向で捉えると、或るI/Oバッファがスイッチングして電源電圧変動および接地電圧変動を引き起こし、これらが時間的に収まらないうちに、隣接するI/Oバッファがスイッチングして電源電圧変動および接地電圧変動を引き起こした場合、これら2個のI/Oバッファのスイッチングによる電源電圧変動および接地電圧変動が助長する方向で重なれば、電源電圧変動および接地電圧変動は大きく成長し、抑制する方向で重なれば、電源電圧変動および接地電圧変動は減衰することになる。
したがって、電源線網および接地線網を空間的に忠実にモデリングすることができたとしても、問題になるのが、時間軸方向のスイッチングステミラスの定義方法となる。ここで、I/Oバッファを構成する出力バッファの出力端子電圧を半導体集積回路装置が動作する製品寿命の生涯に渡って超高速に過渡解析することができるのであれば、I/Oバッファがスイッチングする瞬間瞬間の電源電圧変動および接地電圧変動を高精度に解析することができる。
しかしながら、半導体集積回路装置の実際の設計においては、半導体集積回路装置に搭載されているインタフェースごとに、たとえば、SDRAMインタフェースやPCIインタフェースごとにI/Oバッファのスイッチング確率を求め、同時にスイッチングする可能性があるI/Oバッファは、同時にスイッチングするとみなすことになる。更に、インタフェース信号のプロトコルが不確かな信号の場合には、同時にスイッチングするという仮定を用いることになり、電源電圧変動および接地電圧変動は、ワースト目に解析することになる。
特開平5−35927号公報 特開昭61−82454号公報 特開2006−14065号公報
半導体集積回路装置においては、I/Oバッファのスイッチングに伴って発生する電源電圧変動および接地電圧変動により、スイッチングしたI/Oバッファ自身や、隣接したI/Oバッファのスイッチング特性(I/Oバッファの遅延特性)が揺らいでしまうことから、この対策が要請されている。
従来技術としては、「I/Oバッファの電源電圧や接地電圧を測定し、電源電圧変動や接地電圧変動が規定値以上の場合、スイッチングを行わないようにする工夫」を施したものや、「I/Oバッファに電源電圧変動や接地電圧変動を検出する回路を埋め込み、電源電圧や接地電圧の変動具合にあわせて動的にI/Oバッファのスイッチング特性を改善させる工夫」を施したものがある。
「I/Oバッファの電源電圧や接地電圧を測定し、電源電圧変動や接地電圧変動が規定値以上の場合、スイッチングを行わないようにする工夫」は、検出された電源電圧変動や接地電圧変動により、スイッチングを止めてしまうものであるが、この技術は、タイミングにクリティカルなインタフェースを持つ部分には適用することができない。
なぜなら、恒常的に電源電圧変動や接地電圧変動が発生するような高速・多信号インタフェースの場合、電源電圧変動や接地電圧変動が規定値以下に収まるまで、単純にスイッチングを遅らせるような措置では、高速インタフェースの設計マージン(AC特性のガードバンド)が広くなる可能性があるばかりか、設計上想定したものよりも、実際のチップでは電源電圧変動や接地電圧変動の揺れが大きく、半永久的にスイッチングしないチップを作り上げてしまう危険性があるからである。
また、「I/Oバッファに電源電圧変動や接地電圧変動を検出する回路を埋め込み、電源電圧や接地電圧の変動具合にあわせて動的にI/Oバッファのスイッチング特性を改善させる工夫」には、I/Oバッファに組み込む特性改善回路の有効範囲(フィードバック応答制御の検証)を設計で見込んでチップインプリすることに実運用上無理があると考えられる。
なぜなら、SSOノイズは、隣接するI/Oバッファのスイッチングの重ね合わせによるものであり、電源電圧変動や接地電圧変動を検出し、フィードバック信号を生成し、正しい方向に制動をかけるような回路は、同時にスイッチングするI/Oバッファの組み合わせが規則的であれば、正しい動きをするかもしれないが、同時にスイッチングするI/Oバッファの組み合わせが不規則であればあるほど、正しい動きをすることが疑わしいからである。
ここで、遷移パターンが不規則な多ビット信号による電源電圧変動や接地電圧変動は、複数のI/Oバッファのスイッチングによる電源電圧変動や接地電圧変動の伝播波が重なり合ったものとなり、信号形状が揃っている多ビット信号により複数のI/Oバッファが同時にスイッチングする場合に発生する電源電圧変動や接地電圧変動よりも複雑な変動となる。
そして、このような複雑な電源電圧変動や接地電圧変動が発生する場合には、電源電圧変動や接地電圧変動の揺れを検出する特性改善回路が、「電源電圧変動・接地電圧変動の検出」→「電源電圧変動・接地電圧変動の制動」というフィードバック制御を正しく実行しなくなり、結果的に制御不能の回路動作となってしまう。
したがって、「I/Oバッファに電源電圧変動や接地電圧変動を検出する回路を埋め込み、電源電圧や接地電圧の変動具合にあわせて動的にI/Oバッファのスイッチング特性を改善させる工夫」は、全ビットが同時スイッチングを起こす特異な信号パターンには有効であるが、遷移パターンが不規則な多ビット信号による電源電圧変動や接地電圧変動には有効ではない。
ここで、クロック信号とこのクロック信号により確定遅延(output valid delay)が決まるデータ信号を複数のI/Oバッファセル内の複数の出力バッファを介して他の装置に転送する半導体集積回路装置においては、これら複数の出力バッファの同時スイッチングによる電源電圧変動および接地電圧変動を出力バッファ遅延変動ΔDelayとして検出することができれば、前記複数のI/OバッファセルにおけるSSOノイズによる前記データ信号の確定遅延の増加を抑える手段を講じることができ、設計マージンを容易に確保することができる。
本発明は、かかる点に鑑み、クロック信号とこのクロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する場合に、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えることができ、設計マージンを容易に確保することができるようにした半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法を提供することを目的とする。
本出願で開示する半導体集積回路装置は、クロック信号と、前記クロック信号により確定遅延が決まる非クロック信号とを複数の出力バッファを介して他の装置に転送する半導体集積回路装置であって、前記複数の出力バッファの前段に、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有するものである。
本出願で開示する半導体集積回路装置におけるクロック信号の遅延補正方法は、クロック信号と前記クロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する半導体集積回路装置におけるクロック信号の遅延補正方法であって、前記複数の出力バッファの前段で、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有するものである。
開示した半導体集積回路装置によれば、前記複数の出力バッファの前段に、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有するので、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えることができ、設計マージンを容易に確保することができる。
開示した半導体集積回路装置におけるクロック信号の遅延補正方法によれば、前記複数の出力バッファの前段で、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有するので、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えることができ、設計マージンを容易に確保することができる。
以下、図1〜図37を参照して、本発明の半導体集積回路装置の第1実施形態および第2実施形態について、本発明の半導体集積回路装置におけるクロック信号の遅延補正方法の第1実施形態および第2実施形態を含めて説明する。
(第1実施形態)
図1は本発明の半導体集積回路装置の第1実施形態の一部分の概略的構成図である。図1中、1、2は電源入力部であり、外部から電源電圧、接地電圧、基準電圧を入力するためのものである。VDE、VSS、VREF1、AMP_VSSは外部から与えられる電圧であり、VDEは電源電圧、VSSは接地電圧、VREF1は基準電圧、AMP_VSSは後述する出力バッファ遅延変動検出用信号生成回路内の差動アンプ専用の接地電圧である。
3は信号入出力部であり、信号入力モード時には、外部からの信号を入力し、信号出力モード時には、外部に信号を出力するためのものである。SDCK、DO0〜DO3は信号入出力部3から外部に出力する信号であり、SDCKはクロック信号、DO0〜DO3はデータ信号である。データ信号DO0〜DO3は、クロック信号SDCKにより確定遅延が決まる信号である。
本例において、データ信号DO0〜DO3の確定遅延とは、クロック信号SDCKが立ち上がって又は立ち下がってデータ信号DO0〜DO3の値が確定してから、データ信号DO0〜DO3が遷移するまでの遅延を言う。
4は遅延補正部であり、クロック信号SDCKについて遅延補正を実行しない場合におけるクロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズを予測し、この予測したSSOノイズによるデータ信号DO0〜DO3の確定遅延の増加を抑えるようにクロック信号SDCKの遅延補正を行うものである。
本発明の半導体集積回路装置の第1実施形態では、電源が投入されると、まず、通常動作準備モードであるアップデートモードとされ、アップデート工程が実行された後、通常動作モードとされる。アップデート工程は、遅延補正部4が通常動作モード時にクロック信号SDCKの遅延補正を行うために必要な準備工程である。
図2は電源入力部1、2および信号入出力部3の概略的構成図である。図2中、7、8は外部電源電圧VDEの入力に使用するVDE電源パッド、9、10は外部接地電圧VSSの入力に使用するVSS電源パッド、11は電圧値をVDE/2とする外部基準電圧VREF1の入力に使用するVREF1電源パッド、12は外部接地電圧AMP_VSSの入力に使用するAMP_VSS電源パッド、13〜17は信号の入出力に使用する信号パッドである。
18、19はVDE電源セルであり、VDE電源セル18はVDE電源パッド7に接続され、VDE電源セル19はVDE電源パッド8に接続されている。20、21はVSS電源セルであり、VSS電源セル20はVSS電源パッド9に接続され、VSS電源セル21はVSS電源パッド10に接続されている。22はVREF1電源セルであり、VREF1電源パッド11に接続されている。23はAMP_VSS電源セルであり、AMP_VSS電源パッド12に接続されている。
24〜28は同一構成のI/Oバッファセルであり、29〜33は同一構成のI/Oバッファ、34〜38は同一構成の出力バッファ、39〜43は同一構成の出力バッファ遅延変動検出用信号生成回路である。I/Oバッファ29〜33内の入力バッファは図示を省略している。
I/Oバッファ29は、その信号入力端子に遅延補正部4が出力する擬似クロック信号FSDCK又はクロック信号SDCKが与えられるものであり、その信号入出力端子を信号パッド13および出力バッファ遅延変動検出用信号生成回路39の信号入力端子に接続している。
I/Oバッファ30は、その信号入力端子に遅延補正部4が出力する擬似データ信号FDO0又はデータ信号DO0が与えられるものであり、その信号入出力端子を信号パッド14および出力バッファ遅延変動検出用信号生成回路40の信号入力端子に接続している。
I/Oバッファ31は、その信号入力端子に遅延補正部4が出力する擬似データ信号FDO1又はデータ信号DO1が与えられるものであり、その信号入出力端子を信号パッド15および出力バッファ遅延変動検出用信号生成回路41の信号入力端子に接続している。
I/Oバッファ32は、その信号入力端子に遅延補正部4が出力する擬似データ信号FDO2又はデータ信号DO2が与えられるものであり、その信号入出力端子を信号パッド16および出力バッファ遅延変動検出用信号生成回路42の信号入力端子に接続している。
I/Oバッファ33は、その信号入力端子に遅延補正部4が出力する擬似データ信号FDO3又はデータ信号DO3が与えられるものであり、その信号入出力端子を信号パッド17および出力バッファ遅延変動検出用信号生成回路43の信号入力端子に接続している。
出力バッファ遅延変動検出用信号生成回路39は、クロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズに起因する出力バッファ34の遅延変動ΔDelayを検出するために用いる3個の出力バッファ遅延変動検出用信号SA1、SB1、SC1を生成するものであり、出力バッファ遅延変動検出用信号SA1、SB1、SC1は、遅延補正部4に与えられる。
出力バッファ遅延変動検出用信号生成回路40は、クロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズに起因する出力バッファ35の遅延変動ΔDelayを検出するために用いる3個の出力バッファ遅延変動検出用信号SA2、SB2、SC2を生成するものであり、出力バッファ遅延変動検出用信号SA2、SB2、SC2は、遅延補正部4に与えられる。
出力バッファ遅延変動検出用信号生成回路41は、クロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズに起因する出力バッファ36の遅延変動ΔDelayを検出するために用いる3個の出力バッファ遅延変動検出用信号SA3、SB3、SC3を生成するものであり、出力バッファ遅延変動検出用信号SA3、SB3、SC3は、遅延補正部4に与えられる。
出力バッファ遅延変動検出用信号生成回路42は、クロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズに起因する出力バッファ37の遅延変動ΔDelayを検出するために用いる3個の出力バッファ遅延変動検出用信号SA4、SB4、SC4を生成するものであり、出力バッファ遅延変動検出用信号SA4、SB4、SC4は、遅延補正部4に与えられる。
出力バッファ遅延変動検出用信号生成回路43は、クロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズに起因する出力バッファ38の遅延変動ΔDelayを検出するために用いる3個の出力バッファ遅延変動検出用信号SA5、SB5、SC5を生成するものであり、出力バッファ遅延変動検出用信号SA5、SB5、SC5は、遅延補正部4に与えられる。
ここで、出力バッファの遅延変動ΔDelayとは、SSOノイズがない理想電源下を想定した場合の出力バッファの遅延時間と、SSOノイズがある状態での出力バッファの遅延時間との差であり、「SSOノイズがある状態での出力バッファの遅延時間>SSOノイズがない理想電源下を想定した場合の出力バッファの遅延時間」の場合には、出力バッファの遅延変動ΔDelay>0であり、「SSOノイズがある状態での出力バッファの遅延時間<SSOノイズがない理想電源下を想定した場合の出力バッファの遅延時間」の場合には、出力バッファの遅延変動ΔDelay<0である。
44はVDE電源線である。VDE電源線44は、VDE電源セル18、19等、VDE電源セルに接続されており、出力バッファ34〜38のVDE電源端子には、VDE電源線44から外部電源電圧VDEが与えられる。
45はVSS電源線である。VSS電源線45は、VSS電源セル20、21等、VSS電源セルに接続されており、出力バッファ34〜38のVSS電源端子には、VSS電源線45から外部接地電圧VSSが与えられる。
46は出力バッファ34〜38が出力する擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を遅延補正部4のΔDelay−ΔDTテーブル作成部に転送するための出力信号線、47は出力バッファ遅延変動検出用信号生成回路39〜43が出力する出力バッファ遅延変動検出用信号SA1、SB1、SC1、…、SA5、SB5、SC5を遅延補正部4のΔDelay−ΔDTテーブル作成部に転送するための出力バッファ遅延変動検出用信号線である。
図2では、外部基準電圧VREF1を出力バッファ遅延変動検出用信号生成回路39〜43に供給するVREF1電源線や、外部接地電圧AMP_VSSを出力バッファ遅延変動検出用信号生成回路39〜43に供給するAMP_VSS電源線や、出力バッファ34〜38のVDD電源端子に電源電圧VDD(<VDE)を供給するVDD電源線や、入力バッファに電源電圧VDDを供給するVDD電源線などは、図示を省略している。
なお、本発明の半導体集積回路装置の第1実施形態においては、VDE電源セル18、VSS電源セル20およびI/Oバッファセル24〜28がSSOノイズを解析し、その対策を講じる一つのグループ(SSOグループ)とされている。
図3はI/Oバッファセル24の一部分の構成図であり、I/Oバッファセル25〜28も同様に構成されている。図3中、51は信号入力端子、52はVDE電源端子、53はVSS電源端子、54はVREF1電源端子、55はAMP_VSS電源端子である。
信号入力端子51は、遅延補正部4のクロック信号SDCK用の出力端子に接続されている。VDE電源端子52は、VDE電源線44に接続されている。VSS電源端子53は、VSS電源線45に接続されている。VREF1電源端子54は、VREF1電源線56に接続されている。AMP_VSS電源端子55は、AMP_VSS電源線57に接続されている。
また、I/Oバッファ29において、58はVDE電源端子、59はVSS電源端子、60は信号入出力端子であり、I/Oバッファ29内の入力バッファは図示を省略している。VDE電源端子58は、VDE電源端子52に接続されている。VSS電源端子59は、VSS電源端子53に接続されている。信号入出力端子60は、信号パッド13に接続されている。
また、出力バッファ遅延変動検出用信号生成回路39において、61〜63は差動アンプである。差動アンプ61は、その電源端子VDをVDE電源端子58に接続し、その接地端子VSをAMP_VSS電源端子55に接続し、その非反転入力端子IN1をVSS電源端子59に接続し、その反転入力端子IN2を信号入出力端子60に接続し、その出力端子OUTを出力バッファ遅延変動検出用信号SA1用の出力端子64に接続している。
差動アンプ61は、VDE電源端子58の電圧変動およびVSS電源端子59の電圧変動を受けている信号入出力端子60の電圧からVSS電源端子59の電圧変動分をキャンセルし、VDE電源端子58の電圧変動が乗った状態での出力バッファ34の遅延を出力バッファ遅延変動検出用信号SA1として検出するものである。
差動アンプ62は、その電源端子VDをVDE電源端子58に接続し、その接地端子VSをAMP_VSS電源端子55に接続し、その非反転入力端子IN1を信号入出力端子60に接続し、その反転入力端子IN2をVDE電源端子58に接続し、その出力端子OUTを出力バッファ遅延変動検出用信号SB1用の出力端子65に接続している。
差動アンプ62は、VDE電源端子58の電圧変動およびVSS電源端子59の電圧変動を受けている信号入出力端子60の電圧からVDE電源端子58の電圧変動分をキャンセルし、VSS電源端子59の電圧変動が乗った状態での出力バッファ34の遅延を出力バッファ遅延変動検出用信号SB1として検出するものである。
差動アンプ63は、その電源端子VDをVDE電源端子58に接続し、その接地端子VSをAMP_VSS電源端子55に接続し、その非反転入力端子IN1をVREF1電源端子54に接続し、その反転入力端子IN2を信号入出力端子60に接続し、その出力端子OUTを出力バッファ遅延変動検出用信号SC1用の出力端子66に接続している。
差動アンプ63は、VDE電源端子58の電圧変動およびVSS電源端子59の電圧変動の影響を受けていない状態での出力バッファ34の遅延を出力バッファ遅延変動検出用信号SC1として検出するものである。
なお、差動アンプ61〜63の電源端子VDをVDE電源端子58に接続することについては何ら問題はないが、差動アンプ61〜63の接地端子VSをVSS電源端子59に接続してしまうと、良好な電圧波形の出力バッファ遅延変動検出用信号SA1、SB1、SC1を得ることができない場合がある。
そこで、本例では、AMP_VSS電源パッド12を設け、差動アンプ61〜63の接地端子VSをAMP_VSS電源端子55、AMP_VSS電源線57およびAMP_VSS電源セル23を介してAMP_VSS電源パッド12に接続し、差動アンプ61〜63がSSOノイズの影響を受けないようにしている。
また、差動アンプ63の非反転入力端子IN1に与える基準電圧VREF1もSSOノイズの影響を受けないように、外部基準電圧VREF1をVREF1電源パッド11、VREF1電源セル22、VREF1電源線56およびVREF1電源端子54を介して差動アンプ63の非反転入力端子IN1に与えるようにしている。
出力バッファ遅延変動検出用信号生成回路40〜43も出力バッファ遅延変動検出用信号生成回路39と同様に構成されている。出力バッファ遅延変動検出用信号生成回路40は、出力バッファ遅延変動検出用信号SA1、SB1、SC1に相当する信号として、出力バッファ遅延変動検出用信号SA2、SB2、SC2を出力する。
出力バッファ遅延変動検出用信号生成回路41は、出力バッファ遅延変動検出用信号SA1、SB1、SC1に相当する信号として、出力バッファ遅延変動検出用信号SA3、SB3、SC3を出力する。
出力バッファ遅延変動検出用信号生成回路42は、出力バッファ遅延変動検出用信号SA1、SB1、SC1に相当する信号として、出力バッファ遅延変動検出用信号SA4、SB4、SC4を出力する。
出力バッファ遅延変動検出用信号生成回路43は、出力バッファ遅延変動検出用信号SA1、SB1、SC1に相当する信号として、出力バッファ遅延変動検出用信号SA5、SB5、SC5を出力する。
図4は差動アンプ61の構成図であり、差動アンプ62、63も同様に構成されている。差動アンプ61は、差動増幅部69と、差動増幅部69に流れる電流を設定する電流設定部70を備えている。差動増幅部69において、71、72は駆動素子であるNMOSトランジスタ、73、74は負荷素子であるPMOSトランジスタ、75は定電流源を構成するNMOSトランジスタである。
PMOSトランジスタ73は、ソースを電源端子VDに接続し、ゲートをドレインに接続し、ドレインをNMOSトランジスタ71のドレインに接続している。PMOSトランジスタ74は、ソースを電源端子VDに接続し、ゲートをPMOSトランジスタ73のゲートに接続し、ドレインを出力端子64およびNMOSトランジスタ72のドレインに接続している。
NMOSトランジスタ71は、ゲートを非反転入力端子IN1に接続し、ソースをNMOSトランジスタ75のドレインに接続している。NMOSトランジスタ72は、ゲートを反転入力端子IN2に接続し、ソースをNMOSトランジスタ75のドレインに接続している。NMOSトランジスタ75は、ソースを接地端子VSに接続している。
電流設定部70において、76はPMOSトランジスタ、77はNMOSトランジスタである。PMOSトランジスタ76は、ゲートをソースに接続し、ソースを電源端子VDに接続し、ドレインをNMOSトランジスタ77のドレインに接続している。NMOSトランジスタ77は、ゲートをソースに接続し、ソースを接地端子VSに接続している。そして、PMOSトランジスタ76のドレインとNMOSトランジスタ77のドレインとの接続点をNMOSトランジスタ75のゲートに接続している。
電流設定部70は、PMOSトランジスタ76のオフ抵抗とNMOSトランジスタ77のオフ抵抗とで構成される分圧回路を利用し、差動増幅部69の定電流源をなすNMOSトランジスタ75のゲートバイアス電圧を生成している。なお、差動アンプ61〜63を構成するMOSトランジスタは、出力バッファ34のハイボルテージトランジスタ回路部のハイボルテージトランジスタと同様にハイボルテージトランジスタで構成する。
図5は遅延補正部4の構成を示す概略図である。遅延補正部4は、遅延補正回路80と、遅延補正制御回路81と、距離重み係数データベース82と、W−ΔDelayテーブル83と、ΔDelay−ΔDTテーブル84と、ΔDelay−ΔDTテーブル作成部85を備えている。
遅延補正回路80は、アップデートモード時と通常動作モード時とで異なる動作を行うものである。アップデートモード時は、遅延補正回路80は、遅延補正回路80内の信号生成回路が生成するΔDelay−ΔDTテーブル84を作成するための擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を入力し、これら擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を所定時間遅延させて出力する。
これに対して、通常動作モード時は、遅延補正回路80は、所定の内部回路から内部バスを介して与えられる外部に出力すべきクロック信号SDCKおよびデータ信号DO0〜DO3を入力し、遅延補正制御回路81に制御されて、信号入出力部3におけるSSOノイズによるデータ信号DO0〜DO3の確定遅延の増加を抑えるようにクロック信号SDCKの遅延補正を行い、この遅延補正を行ったクロック信号SDCKと、所定時間遅延させたデータ信号DO0〜DO3を出力する。
遅延補正制御回路81は、通常動作モード時に、遅延補正回路80からクロック信号SDCKおよびデータ信号DO0〜DO3を入力し、クロック信号SDCKについて遅延補正を実行しない場合におけるクロック信号SDCKおよびデータ信号DO0〜DO3による信号入出力部3でのSSOノイズを予測し、この予測したSSOノイズによるデータ信号DO0〜DO3の確定遅延の増加を抑えるように遅延補正回路80を制御するものである。
距離重み係数データベース82は、遅延補正制御回路81内の重み関数計算回路がSSOノイズによる出力バッファ34〜38の遅延変動ΔDelayを予測するために必要な重み関数Wを計算する際に使用する距離重み係数Lを保存するものである。
W−ΔDelayテーブル83は、重み関数Wと出力バッファ遅延変動ΔDelayとの関係を示すものであり、遅延補正制御回路81内のΔDelay検索回路が、遅延補正制御回路81内の重み関数計算回路が計算した重み関数Wに対応する出力バッファ遅延変動ΔDelayを検索する場合に使用するものである。
ΔDelay−ΔDTテーブル84は、出力バッファ遅延変動ΔDelayと出力バッファ遅延差ΔDTとの関係を示すものであり、遅延補正制御回路81内のΔDT検索回路が、遅延補正制御回路81内のΔDelay検索回路が検索した出力バッファ遅延変動ΔDelayに対応する出力バッファ遅延差ΔDTを検索する場合に使用するものである。
ここで、出力バッファ遅延差ΔDTとは、着目する出力バッファが単独でスイッチングした場合における当該着目する出力バッファの遅延時間と、当該着目する出力バッファが当該着目する出力バッファ以外の出力バッファと同時にスイッチングした場合における当該着目する出力バッファの遅延時間との差である。
ΔDelay−ΔDTテーブル作成部85は、アップデートモード時に使用されるものであり、出力バッファ34〜38のそれぞれについて、出力バッファ遅延変動ΔDelayおよび出力バッファ遅延差ΔDTを高速クロック信号φでカウントし、これら出力バッファ遅延変動ΔDelayおよび出力バッファ遅延差ΔDTの高速クロック信号φによるカウント値を実時間に変換してΔDelay−ΔDTテーブル84を作成するものである。
図6は遅延補正回路80の構成図である。遅延補正回路80は、信号生成回路88と、セレクタ89と、先入れ先出しバッファ回路であるFIFO(first-in first-out)90と、遅延補正コードレジスタ91と、可変遅延ライン92と、固定遅延ライン93〜96を備えている。
信号生成回路88は、アップデートモード時に、ΔDelay−ΔDTテーブル85を作成するために必要な擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を生成して出力するものである。
セレクタ89は、アップデート信号UPDATEに制御されて、信号生成回路88が出力する擬似クロック信号FSDSCKおよび擬似データ信号FDO0〜FDO3又は内部バスを介して与えられる外部に出力すべきクロック信号SDCKおよびデータ信号DO0〜DO3を選択するものである。
アップデート信号UPDATEは、アップデートモード時は“1”、通常動作モード時は“0”となるものであり、セレクタ89は、アップデート信号UPDATE=“1”の場合には、信号生成回路88が出力する擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を選択し、アップデート信号UPDATE=“0”の場合には、内部バスを介して与えられる外部に出力すべきクロック信号SDCKおよびデータ信号DO0〜DO3を選択する。
FIFO90は、システムクロック信号SYSCLKに同期して動作するものであり、セレクタ89が出力する擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3、又は、クロック信号SDCKおよびデータ信号DO0〜DO3を入力し、擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3、又は、クロック信号SDCKおよびデータ信号DO0〜DO3を、システムクロック信号SYSCLKで3サイクル分遅延して出力するものである。
遅延補正コードレジスタ91は、システムクロック信号SYSCLKに同期して動作するものであり、通常動作モード時に、遅延補正制御回路81内の遅延補正コード生成回路が生成する遅延補正コードDLCNTを更新的に格納するものである。
可変遅延ライン92は、FIFO90が出力する擬似クロック信号FSDCK又はクロック信号SDCKを遅延するものであり、遅延補正コードDLCNTを遅延制御信号として遅延時間を可変する可変遅延バッファ97〜100を縦列接続して構成されている。
固定遅延ライン93は、FIFO90が出力する擬似データ信号FDO0又はデータ信号DO0を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ101、102を縦列接続して構成されている。固定遅延ライン94は、FIFO90が出力する擬似データ信号FDO1又はデータ信号DO1を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ103、104を縦列接続して構成されている。
固定遅延ライン95は、FIFO90が出力する擬似データ信号FDO2又はデータ信号DO2を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ105、106を縦列接続して構成されている。固定遅延ライン96は、FIFO90が出力する擬似データ信号FDO3又はデータ信号DO3を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ107、108を縦列接続して構成されている。
本例では、固定遅延ライン93〜96の遅延時間は、可変遅延ライン92の遅延時間が中点(出力バッファ立ち上がり遅延変動+ΔDelayと、出力バッファ立ち下がり遅延変動−ΔDelayとが打ち消されるポイント)にある場合における可変遅延ライン92の遅延時間と同一とされる。
また、可変遅延ライン92は、初期設定時には、遅延時間を中点に設定される。なお、本発明の半導体集積回路装置の第1実施形態においては、可変遅延ライン92の遅延時間を中点に設定して遅延検証および論理検証を行い、ユーザが本発明の半導体集積回路装置の第1実施形態を使用するときに、本発明の半導体集積回路装置におけるクロック信号の補正方法の第1実施形態を実行することが好適である。
図7は信号生成回路88が生成する擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3の例を示す波形図である。(A)はI/Oバッファ29〜33のうち、I/Oバッファ29のみを連続してスイッチングさせる場合、(B)はI/Oバッファ29〜33をスイッチングさせる場合の一例である。
図8は信号生成回路88が図7に示す擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を生成する場合の出力バッファ38の遅延時間を示す図であり、#k(但し、k=1、2、…、9)はシステムクロックでのkサイクル目を示している。
また、B1は信号生成回路88が図7(A)に示す擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を出力した場合における出力バッファ38の立ち上がり遅延、B2は信号生成回路88が図7(B)に示す擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を出力した場合における出力バッファ38の立ち上がり遅延を示している。
また、B3は信号生成回路88が図7(A)に示す擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を出力した場合における出力バッファ38の立ち下がり遅延、B4は信号生成回路88が図7(B)に示す擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を出力した場合における出力バッファ38の立ち下がり遅延を示している。
ここで、一般に、電源および接地の設計は、パッド数、パッケージのプレーン面積、パッケージのボール数、プリント基板のプレーン面積のいずれをとっても、結果的に、容量が大きく、抵抗とインダクタンスが小さいものとなり、結果的に接地の方が電気的に安定していると言える。そのため、出力バッファ立ち上がり遅延差よりも出力バッファ立ち下がり遅延差の方が小さくなる。
図9はFIFO90の構成図である。FIFO90は、たとえば、擬似クロック信号FSDCKおよびクロック信号SDCK用に、システムクロック信号SYSCLKの立ち下がりエッジに同期して動作するDフリップフロップ111_1〜111_3を縦列接続するとともに、擬似データ信号FDO0〜FDO3およびデータ信号DO0〜DO3用に、システムクロック信号SYSCLKの立ち上がりエッジに同期して動作する4入力のDフリップフロップ112_1〜112_3を縦列接続して構成される。
図10は遅延補正制御回路81の構成図である。遅延補正制御回路81は、出力信号遷移パターン解析回路116と、重み関数計算回路117と、ΔDelay検索回路118と、ΔDT検索回路119と、遅延補正コード生成回路120とを備えている。
出力信号遷移パターン解析回路116は、システムクロック信号SYSCLKと、遅延補正回路80のセレクタ89が出力するクロック信号SDCKおよびデータ信号DO0〜DO3を入力し、システムクロック信号SYSCLKの立ち上がり時を基準として、通常動作モード時におけるクロック信号SDCKおよびデータ信号DO0〜DO3の遷移パターンを解析するものである。
本例では、クロック信号SDCKの遷移パターンをP1、データ信号DO0の遷移パターンをP2、データ信号DO1の遷移パターンをP3、データ信号DO2の遷移パターンをP4、データ信号DO3の遷移パターンをP5とし、これら遷移パターンP1〜P5は、それぞれ、立ち上がりの場合は「1」、立ち下がりの場合は「−1」、遷移しない場合は「0」としている。
図11は出力信号遷移パターン解析回路116の動作を説明するための波形図であり、遅延補正制御回路81に入力するシステムクロック信号SYSCLK、クロック信号SDCKおよびデータ信号DO0〜DO3の一例を示している。
図11に示す例の場合、クロック信号SDCKおよびデータ信号DO0〜DO3の遷移パターン[P1、P2、P3、P4、P5]は、時刻T1では[0、0、0、−1、1]、時刻T2では[0、1、1、1、−1]、時刻T3では[0、−1、−1、−1、0]、時刻T4では[0、0、0、0、1]となる。
また、図10において、重み関数計算回路117は、I/Oバッファセル24〜28のそれぞれについて、距離重み係数データベース82を参照して、信号入出力部3におけるSSOノイズによる出力バッファ遅延変動ΔDelayの指標となるものとして、数1に示す重み関数Wを計算するものである。
Figure 2009081588
ここで、Liは距離重み係数である。距離重み係数Liは、同一のSSOグループ内のVDE電源セル18およびVSS電源セル20からのI/Oバッファセル24〜28の距離を考慮した係数であり、本例では、I/Oバッファセル24の距離重み係数をL1、I/Oバッファセル25の距離重み係数をL2、I/Oバッファセル26の距離重み係数をL3、I/Oバッファセル27の距離重み係数をL4、I/Oバッファセル28の距離重み係数をL5としている。
そして、VDE電源セル18およびVSS電源セル20からの距離が大きいI/Oバッファセルほど、SSOノイズは大きくなるという事実を考慮し、図12に示すように、I/Oバッファセル24の距離重み係数L1を1、I/Oバッファセル25の距離重み係数L2を2、I/Oバッファセル26の距離重み係数L3を3、I/Oバッファセル27の距離重み係数L4を4、I/Oバッファセル28の距離重み係数L5を5としている。
また、Fiは干渉係数である。干渉係数Fiは、着目するI/Oバッファセルに対する着目するI/Oバッファセルおよび他のI/Oバッファセルのスイッチングの影響(干渉の程度)を考慮したものであり、本例では、着目するI/Oバッファセルに対するI/Oバッファセル24の干渉係数をF1、着目するI/Oバッファセルに対するI/Oバッファセル25の干渉係数をF2、着目するI/Oバッファセルに対するI/Oバッファセル26の干渉係数をF3、着目するI/Oバッファセルに対するI/Oバッファセル27の干渉係数をF4、着目するI/Oバッファセルに対するI/Oバッファセル28の干渉係数をF5としている。
そして、着目するI/Oバッファセルに対する着目するI/Oバッファセルの干渉係数を5、着目するI/Oバッファセルに対する着目するI/Oバッファセルの1つ隣りのI/Oバッファセルの干渉係数を4、着目するI/Oバッファセルに対する着目するI/Oバッファセルの2つ隣りのI/Oバッファセルの干渉係数を3、着目するI/Oバッファセルに対する着目するI/Oバッファセルの3つ隣りのI/Oバッファセルの干渉係数を2、着目するI/Oバッファセルに対する着目するI/Oバッファセルの4つ隣りのI/Oバッファセルの干渉係数を1としている。
したがって、たとえば、図13に示すように、重み関数Wを求めるI/OバッファセルがI/Oバッファセル24の場合には、I/Oバッファセル24の干渉係数F1は5、I/Oバッファセル25の干渉係数F2は4、I/Oバッファセル26の干渉係数F3は3、I/Oバッファセル27の干渉係数F4は2、I/Oバッファセル28の干渉係数F5は1となる。
また、図14に示すように、重み関数Wを求めるI/OバッファセルがI/Oバッファセル25の場合には、I/Oバッファセル24の干渉係数F1は4、I/Oバッファセル25の干渉係数F2は5、I/Oバッファセル26の干渉係数F3は4、I/Oバッファセル27の干渉係数F4は3、I/Oバッファセル28の干渉係数F5は2となる。
また、図15に示すように、重み関数Wを求めるI/OバッファセルがI/Oバッファセル26の場合には、I/Oバッファセル24の干渉係数F1は3、I/Oバッファセル25の干渉係数F2は4、I/Oバッファセル26の干渉係数F3は5、I/Oバッファセル27の干渉係数F4は4、I/Oバッファセル28の干渉係数F5は3となる。
また、図16に示すように、重み関数Wを求めるI/OバッファセルがI/Oバッファセル27の場合には、I/Oバッファセル24の干渉係数F1は2、I/Oバッファセル25の干渉係数F2は3、I/Oバッファセル26の干渉係数F3は4、I/Oバッファセル27の干渉係数F4は5、I/Oバッファセル28の干渉係数F5は4となる。
また、図17に示すように、重み関数Wを求めるI/OバッファセルがI/Oバッファセル28の場合には、I/Oバッファセル24の干渉係数F1は1、I/Oバッファセル25の干渉係数F2は2、I/Oバッファセル26の干渉係数F3は3、I/Oバッファセル27の干渉係数F4は4、I/Oバッファセル28の干渉係数F5は5となる。
図18〜図22は重み関数計算回路117が計算する重み関数Wの例を示す表図であり、図18はI/Oバッファセル24の重み関数Wの例、図19はI/Oバッファセル25の重み関数Wの例、図20はI/Oバッファセル26の重み関数Wの例、図21はI/Oバッファセル27の重み関数Wの例、図22はI/Oバッファセル28の重み関数Wの例を示しており、#k(但し、k=1、2、…、16)は、システムクロック信号SYSCLKのkサイクル目の立ち上がり時を示している。
図23は重み関数Wのシステムクロックサイクルに対する変化例を示す図である。図23中、WA1は図18に示すI/Oバッファセル24の重み関数Wのシステムクロックサイクルに対する変化、WA3は図20に示すI/Oバッファセル26の重み関数Wのシステムクロックサイクルに対する変化、WA5は図22に示すI/Oバッファセル28の重み関数Wのシステムクロックサイクルに対する変化を示している。
また、図10において、ΔDelay検索回路118は、W−ΔDelayテーブル83を参照して、重み関数計算回路117が計算したI/Oバッファセル24〜28の重み関数Wに対応する出力バッファ34〜38の遅延変動ΔDelayを検索するものである。
図24はW−ΔDelayテーブル83の例を示す図であり、重み関数Wと出力バッファ遅延変動ΔDelayとが対応つけられている。このW−ΔDelayテーブル83は、信号生成回路88から種々の擬似クロック信号FSDCKおよび擬似データ信号FDO0〜FDO3を出力させて種々の重み関数Wにおける出力バッファ遅延変動ΔDelayをシミュレーション又は実測することにより求めることができる。
なお、重み関数Wと出力バッファ遅延変動ΔDelayとの関係を、W−ΔDelayテーブル83の代わりに、式で持つ場合には、重み関数Wと出力バッファ遅延変動ΔDelayの正値との関係を示す式と、重み関数Wと出力バッファ遅延変動ΔDelayの負値との関係を示す式に分け、それぞれをW軸(W=0の縦軸)の切片とΔDelay軸(ΔDelay=0の横軸)に対する傾きとで示す線形式で持つことが可能である。
また、図10において、ΔDT検索回路119は、ΔDelay−ΔDTテーブル84を参照して、ΔDelay検索回路118が検索した出力バッファ34〜38の遅延変動ΔDelayに対応する出力バッファ34〜38の遅延差ΔDTを検索するものである。図25はΔDelay−ΔDTテーブル84の例を示しており、出力バッファ遅延変動ΔDelayと出力バッファ遅延差ΔDTとが対応づけられている。このΔDelay−ΔDTテーブル84は、ΔDelay−ΔDTテーブル作成部85により作成される。
また、図10において、遅延補正コード作成回路120は、ΔDelay検索回路118が検索した出力バッファ34〜38の遅延差ΔDTのうち、最も大きな遅延差ΔDTを入力して、遅延補正コードDLCNTを作成するものである。図26は遅延補正コードDLCNTの例を示す表図である。
図27はΔDelay−ΔDTテーブル作成部85の構成図である。ΔDelay−ΔDTテーブル作成部85は、アップデートモード時に使用されるものであり、出力バッファ遅延変動ΔDelayと出力バッファ遅延差ΔDTとを計測して、ΔDelay−ΔDTテーブル84を作成するものである。
本例では、ΔDelay−ΔDTテーブル作成部85は、ΔDelay/ΔDTカウンタ部123と、セレクタ124と、カウント値−実時間変換回路125と、ΔDelay−ΔDTテーブル作成回路126を備えている。
ΔDelay/ΔDTカウンタ部123は、出力バッファ34〜38の遅延変動ΔDelayと出力バッファ34〜38の遅延差ΔDTとを高速クロック信号φでカウントするものであり、ΔDelay/ΔDTカウンタ127〜131を備えている。ΔDelay/ΔDTカウンタ127〜131は、I/Oバッファセル24〜28のうち、対応するI/Oバッファセル内に設けるようにしても良い。
前述したように、一般に、出力バッファ立ち下がり遅延差−ΔDTは、出力バッファ立ち上がり遅延差+ΔDTよりも小さいが、接地が強固に設計されていれば、出力バッファ立ち下がり遅延差−ΔDTは見えにくいことから、出力バッファ立ち下がり遅延差−ΔDTの検出のために精度の高いカウンタを用いるのは得策ではなく、出力バッファ立ち上がり遅延差+ΔDTを十分な分解能でカウントすることを目的として、高速クロック信号φの周波数を決定しても良い。
ΔDelay/ΔDTカウンタ127は、出力バッファ遅延変動検出用信号生成回路39が出力する出力バッファ遅延変動検出用信号SA1〜SC1と、出力バッファ34に入力する擬似クロック信号FSDCKと、出力バッファ34が出力する擬似クロック信号FSDCKと、基準電圧VREF1(VDE/2)、VREF2(VDD/2)、VREF3(VDD)とを入力し、出力バッファ34の遅延変動ΔDelayと出力バッファ34の遅延差ΔDTとを高速クロック信号φでカウントするものである。
ΔDelay/ΔDTカウンタ128は、出力バッファ遅延変動検出用信号生成回路40が出力する出力バッファ遅延変動検出用信号SA2〜SC2と、出力バッファ35に入力する擬似データ信号FDO0と、出力バッファ35が出力する擬似データ信号FDO0と、基準電圧VREF1(VDE/2)、VREF2(VDD/2)、VREF3(VDD)とを入力し、出力バッファ35の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
ΔDelay/ΔDTカウンタ129は、出力バッファ遅延変動検出用信号生成回路41が出力する出力バッファ遅延変動検出用信号SA3〜SC3と、出力バッファ36に入力する擬似データ信号FDO1と、出力バッファ36が出力する擬似データ信号FDO1と、基準電圧VREF1(VDE/2)、VREF2(VDD/2)、VREF3(VDD)とを入力し、出力バッファ36の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
ΔDelay/ΔDTカウンタ130は、出力バッファ遅延変動検出用信号生成回路42が出力する出力バッファ遅延変動検出用信号SA4〜SC4と、出力バッファ37に入力する擬似データ信号FDO2と、出力バッファ37が出力する擬似データ信号FDO2と、基準電圧VREF1(VDE/2)、VREF2(VDD/2)、VREF3(VDD)とを入力し、出力バッファ37の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
ΔDelay/ΔDTカウンタ131は、出力バッファ遅延変動検出用信号生成回路43が出力する出力バッファ遅延変動検出用信号SA5〜SC5と、出力バッファ38に入力する擬似データ信号FDO3と、出力バッファ37が出力する擬似データ信号FDO3と、基準電圧VREF1(VDE/2)、VREF2(VDD/2)、VREF3(VDD)とを入力し、出力バッファ38の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
セレクタ124は、セレクト制御信号CHによりセレクト動作が制御されるものであり、ΔDelay/ΔDTカウンタ127〜131が出力するカウント値を選択して出力するものである。カウント値−実時間変換回路125は、セレクタ124が出力する出力バッファ34〜38の遅延変動ΔDelayおよび遅延差ΔDTの高速クロック信号φによるカウント値に高速クロック信号φのサイクルタイムを乗じることにより、セレクタ124が出力する出力バッファ34〜38の遅延変動ΔDelayおよび遅延差ΔDTの高速クロック信号φによるカウント値を実時間に変換するものである。
ΔDelay−ΔDTテーブル作成回路126は、カウント値−実時間変換回路125が出力する出力バッファ34〜38の遅延変動ΔDelayおよび出力バッファ34〜38の遅延差ΔDTの実時間を入力し、実時間で表示したΔDelay−ΔDTテーブル84を作成するものである。
図28はΔDelay/ΔDTカウンタ127の構成図であり、ΔDelay/ΔDTカウンタ128〜131も同様に構成されている。ΔDelay/ΔDTカウンタ127は、ΔDelay計測部134と、ΔDT計測部135を備えている。ΔDelay計測部134は、出力バッファ34の遅延変動ΔDelayを計測するものであり、レベル比較器136〜138と、カウンタ139、140を備えている。
レベル比較器136は、出力バッファ遅延変動検出用信号SC1のレベルと基準電圧VREF1(VDE/2)とを比較し、出力バッファ遅延変動検出用信号SC1のレベルが基準電圧VREF1(VDE/2)を超える値から基準電圧VREF1(VDE/2)に下降したとき、および、基準電圧VREF1(VDE/2)未満の値から基準電圧VREF1(VDE/2)に上昇したときに、それぞれ、カウンタ139、140にストップ信号STOPを出力するものである。
レベル比較器137は、出力バッファ遅延変動検出用信号SA1のレベルと基準電圧VREF2(VDD/2)とを比較し、出力バッファ遅延変動検出用信号SA1のレベルが基準電圧VREF2(VDD/2)を超える値から基準電圧VREF2(VDD/2)に下降したときに、カウンタ139にスタート信号STARTを出力するものである。
レベル比較器138は、出力バッファ遅延変動検出用信号SB1のレベルと基準電圧VREF3(VDD)とを比較し、出力バッファ遅延変動検出用信号SB1のレベルが基準電圧VREF3(VDD)を超える値から基準電圧VREF3(VDD)に下降したときに、カウンタ140にスタート信号STARTを出力するものである。
カウンタ139は、レベル比較器137がスタート信号STARTを出力すると、高速クロック信号φのカウントを開始し、その後、レベル比較器136がストップ信号STOPを出力すると、高速クロック信号φのカウントを終了し、それまでのカウント値を出力バッファ34の立ち上がり遅延変動+ΔDelayとして出力するものである。
カウンタ140は、レベル比較器138がスタート信号STARTを出力すると、高速クロック信号φのカウントを開始し、その後、レベル比較器136がストップ信号STOPを出力すると、高速クロック信号φのカウントを終了し、それまでのカウント値を出力バッファ34の立ち下がり遅延変動−ΔDelayとして出力するものである。
また、ΔDT計測部135は、出力バッファ34の遅延差ΔDTを計測するものであり、レベル比較器141、142と、カウンタ143と、レジスタ144と、減算器145を備えている。
レベル比較器141は、出力バッファ34に入力する擬似クロック信号FSDCKのレベルと基準電圧VREF2(VDD/2)とを比較し、出力バッファ34に入力する擬似クロック信号FSDCKがLレベルから基準電圧VREF2(VDD/2)に上昇した場合およびHレベルから基準電圧VREF2(VDD/2)に下降した場合に、それぞれ、カウンタ143にスタート信号STARTを出力するものである。
レベル比較器142は、出力バッファ34が出力する擬似クロック信号FSDCKのレベルと基準電圧VREF1(VDE/2)とを比較し、出力バッファ34が出力する擬似クロック信号FSDCKがLレベルから基準電圧VREF1(VDE/2)に上昇した場合およびHレベルから基準電圧VREF1(VDE/2)に下降した場合に、それぞれ、カウンタ143にストップ信号STOPを出力するものである。
カウンタ143は、レベル比較器141がスタート信号STARTを出力すると、高速クロック信号φのカウントを開始し、レベル比較器142がストップ信号STOPを出力すると、高速クロック信号φのカウントを終了するものである。
レジスタ144は、カウンタ143がカウントしたカウント値を格納するものである。減算器145は、カウンタ143のカウント値からレジスタ144の格納値を減算し、出力バッファ34の遅延差ΔDTを出力するものである。
本例では、出力バッファ34の立ち上がり遅延差+ΔDTを計測する場合には、まず、出力バッファ34に対して、LレベルからHレベルに遷移する擬似クロック信号FSDCKを与えて、出力バッファ34のみをスイッチングさせる。このようにすると、カウンタ143は、出力バッファ34のみが駆動された場合の立ち上がり遅延をカウントすることになる。そして、このカウント値をレジスタ144に転送する。
次に、出力バッファ34に対して、LレベルからHレベルに遷移する擬似クロック信号FSDCKを与えるとともに、出力バッファ35〜38の一部又は全部を駆動させる。このようにすると、カウンタ143は、出力バッファ34と、出力バッファ35〜38の一部又は全部が駆動された場合の出力バッファ34の立ち上がり遅延をカウントすることになる。
本例では、この状態で、減算器145において、カウンタ143のカウント値からレジスタ144の格納値の減算を行う。この結果、出力バッファ34と、出力バッファ35〜38の一部又は全部が駆動された場合の出力バッファ34の立ち上がり遅延差+ΔDTが算出されることになる。
以上の動作を出力バッファ34〜38の種々の遷移パターンについて行うことにより、出力バッファ34について種々の遅延変動ΔDelayに対する立ち上がり遅延差+ΔDTを求めることができる。出力バッファ34の立ち下がり遅延差−ΔDTについても、出力バッファ34にHレベルからLレベルの擬似クロック信号FSDCKを与えることにより、同様にして立ち下がり遅延差−ΔDTを求めることができる。
図29はΔDelay計測部134の動作を説明するための波形図であり、出力バッファ34のVDE電源端子58の電圧波形147と、VSS電源端子59の電圧波形148と、出力バッファ34が出力する擬似クロック信号FSDCKと、出力バッファ遅延変動検出用信号SA1、SB1、SC1を示している。
本例では、レベル比較器136、137とカウンタ139とで、出力バッファ遅延変動検出用信号SA1が基準電圧VREF2(VDD/2)に下降した時点から、出力バッファ遅延変動検出用信号SC1が基準電圧VREF1(VDE/2)に下降した時点までの期間が出力バッファ34の立ち上がり遅延変動+ΔDelayとしてカウントされる。
また、レベル比較器136、138とカウンタ140とで、出力バッファ遅延変動検出用信号SB1が基準電圧VREF3(VDD)に下降した時点から、出力バッファ遅延変動検出用信号SC1が基準電圧VREF1(VDE/2)に上昇した時点までの期間が出力バッファ34の立ち下がり遅延変動−ΔDelayとしてカウントされる。
図30はΔDT計測部135の動作を説明するための波形図であり、出力バッファ34のVDE電源端子58の電圧波形147と、VSS電源端子59の電圧波形148と、出力バッファ34に入力する擬似クロック信号FSDCKと、出力バッファ34が出力する擬似クロック信号FSDCKを示している。
図30中、ΔT1は、出力バッファ34〜38を駆動させた場合の出力バッファ34の立ち上がり遅延を示し、ΔT2は、出力バッファ34〜38を駆動させた場合の出力バッファ34の立ち下がり遅延を示している。
ΔDT計測部135では、たとえば、出力バッファ34〜38を駆動させた場合の出力バッファ34の立ち上がり遅延ΔT1から、出力バッファ34のみを駆動させた場合の出力バッファ34の立ち上がり遅延を減算することにより、出力バッファ34〜38を駆動させた場合の出力バッファ34の立ち上がり遅延差+ΔDTが求められる。
また、ΔDT計測部135では、たとえば、出力バッファ34〜38を駆動させた場合の出力バッファ34の立ち下がり遅延ΔT1から、出力バッファ34のみを駆動させた場合の出力バッファ34の立ち下がり遅延を減算することにより、出力バッファ34〜38を駆動させた場合の出力バッファ34の立ち下がり遅延差−ΔDTが求められる。
また、出力バッファ35〜38についても、遅延変動ΔDelay(立ち上がり遅延変動+ΔDelayおよび立ち下がり遅延変動−ΔDelay)と遅延差ΔDT(立ち上がり遅延差+ΔDTおよび立ち下がり遅延差−ΔDT)が出力バッファ34の場合と同様に計測される。
図31は本発明の半導体集積回路の第1実施形態の動作(本発明の半導体集積回路装置におけるクロック信号の補正方法の第1実施形態)を示すフローチャートである。本発明の半導体集積回路装置の第1実施形態においては、電源が投入されると、まず、可変遅延ライン92の遅延を中心値にセットし(ステップP1)、設定すべき動作モードを判断する(ステップP2)。最初は、アップデートモードとし、通常動作準備工程であるアップデート工程を実行し(ステップP3)、ステップP2に戻る。
次に、再び、動作モードを判断するが(ステップP2)、アップデート工程が終了したので、通常動作モードとし、出力クロック信号SDCKの遅延補正を行う遅延補正工程を実行する(ステップP4)。そして、遅延補正工程を終了すると、ΔDelay−ΔDTテーブル84をクリアするか否かを判断し(ステップP5)、ΔDelay−ΔDTテーブル84をクリアしない場合には、ステップP2に戻る。これに対して、ΔDelay−ΔDTテーブル84をクリアする場合には、ステップP1に戻る。
なお、アップデート工程(ステップP3)は、電源の投入後に、まず、実行されるが、その後に、本発明の半導体集積回路装置の第1実施形態をリセットした場合や、通常動作モードとなった後に一定期間毎に行うようにすることもできる。
図32はアップデート工程を示すフローチャートである。アップデート工程では、出力バッファ34〜38を1番目〜5番目の出力バッファとし、J番目の出力バッファを出力バッファ遅延変動ΔDelayおよび出力バッファの遅延差ΔDTの計測対象として信号生成回路88を動作させる(ステップQ1)。
そして、出力バッファ遅延変動ΔDelayを計測するか、出力バッファ遅延差ΔDTを計測するかという計測の切り替えを判断しながら(ステップQ2)、ΔDelay−ΔDTテーブル作成部85において、出力バッファ遅延変動ΔDelayの高速クロック信号φによるカウント(ステップQ3)と、出力バッファ遅延差ΔDTの高速クロック信号φによるカウント(ステップQ4)と、カウント値の実時間への変換(ステップQ5)と、ΔDelay−ΔDTテーブル84の作成(ステップQ6)をJ=1からJ=5となるまで実行する。
図33は遅延補正工程を示すフローチャートである。遅延補正工程では、信号生成回路88を遮断し、所定の内部回路から内部バスを介して与えられるクロック信号SDCKおよびデータ信号DO0〜DO3をFIFO90および出力信号遷移パターン解析回路116に渡す(ステップS1)。
そして、重み関数計算回路117により、出力信号遷移パターン解析回路116が解析した出力信号遷移パターンと重み関数テーブル82とを用いて重み関数Wを計算する(ステップS2)。
次に、ΔDelay検索回路118により、重み関数計算回路117が計算した重み関数Wに対応する出力バッファ遅延変動ΔDelayをW−ΔDelayテーブル83から検索する(ステップS3)。
次に、ΔDT検索回路119により、ΔDelay検索回路118が取得した出力バッファ遅延変動ΔDelayに対応する出力バッファ遅延差ΔDTをΔDelay−ΔDTテーブル84から検索する(ステップS4)。
次に、遅延補正コード生成回路120により、ΔDT検索回路119が検索した出力バッファ遅延差ΔDTに対応する遅延補正コードDLCNTを生成する(ステップS5)。そして、この遅延補正コードDLCNTを遅延補正コードレジスタ91に格納し、可変遅延ライン92の遅延を制御し、クロック信号SDCKの遅延補正を行う(ステップS6)。
図34および図35は本発明の半導体集積回路装置の第1実施形態の動作を説明するための波形図である。図34はクロック信号SDCKの遅延補正を実行しない場合、図35はクロック信号SDCKの遅延補正を実行する場合であり、図34および図35は共にI/Oバッファセル25の重み関数Wに対応する遅延補正コードDLCNTが生成される場合を例にしている。
図34および図35において、(A)はシステムクロック信号SYSCLKと、遅延補正部4に入力するクロック信号SDCKおよびデータ信号DO0〜DO3、(B)は出力バッファ34〜38に入力するクロック信号SDCKおよびデータ信号DO0〜DO3、(C)は出力バッファ34〜38が出力する出力クロック信号SDCKおよびデータ信号DO0〜DO3、(D)は受信側デバイスにおけるクロック信号SDCKおよびデータ信号DO0〜DO3を示している。
ここで、仮に、遅延補正コードDLCNTを可変遅延ライン92に与えず、クロック信号SDCKの遅延補正を実行しない場合には、データパス側のデータ信号DO0〜DO3に乗る出力バッファ遅延変動ΔDelayは、そのまま、出力バッファ34〜38の出力側に現れてしまう。このため、データ信号DO0〜DO3の確定遅延TOVALは、図34に示すように、理想電源下を想定した場合よりも長くなってしまう。
ここで、クロック信号SDCKおよびデータ信号DO0〜DO3の受信側デバイスのセットアップタイムをtIS、信号入出力部3の動作周期をtCKとすると、受信側デバイスのマージンは、{(tCK−TOVAL)−tIS}となる。このため、送信側である本発明の半導体集積回路装置の第1実施形態のデータ確定遅延TOVALは小さいことが望ましい。
図35に示す例は、クロック信号SDCKの遅延補正を行う場合であるが、この場合には、遅延補正コードDLCNTが可変遅延ライン92に得られた後、データ信号DO0〜DO3よりも、システムクロック信号SYSCLKで半周期遅く出力されるクロック信号SDCKを遅延補正ライン92で遅延補正し、SSOノイズによりI/Oバッファセル25〜28で発生するデータ信号DO0〜DO3の遅延と同様の遅延をクロック信号SDCKに付けるようにしている。
この遅延補正工程により、データ信号DO0〜DO3の確定遅延TOVALのSSOノイズによる増加は、SSOノイズの影響を受けた分だけ、クロック信号SDCKを遅延補正することで事実上キャンセルされる。即ち、信号入出力部3におけるSSOノイズによるクロック信号SDCKおよびデータ信号DO0〜DO3を受信する装置でのデータ信号DO0〜DO3の確定遅延TOVALの増加を抑えるようにクロック信号SDCKの遅延補正を行うことができる。
以上のように、本発明の半導体集積回路装置の第1実施形態によれば、遅延補正部4において、信号入出力部3におけるSSOノイズによるクロック信号SDCKおよびデータ信号DO0〜DO3を受信する装置でのデータ信号DO0〜DO3の確定遅延TOVALの増加を抑えるようにクロック信号SDCKの遅延補正を行うことができる。したがって、信号入出力部3におけるSSOノイズによるクロック信号SDCKおよびデータ信号DO0〜DO3を受信する装置でのデータ信号DO0〜DO3の確定遅延TOVALの増加を抑えることができ、設計マージンを容易に確保することができる。
本発明の半導体集積回路装置の第1実施形態は、DDR(double data rate)やDDR2(double data rate 2)やLVDS(low voltage differential signaling)などの小信号の高速インタフェース部を有する半導体集積回路装置に適用して好適である。
(第2実施形態)
図36は本発明の半導体集積回路装置の第2実施形態の一部分の概略的構成図である。本発明の半導体集積回路装置の第2実施形態は、本発明の半導体集積回路装置の第1実施形態が備える遅延補正部4と構成の異なる遅延補正部150を備え、その他については、本発明の半導体集積回路装置の第1実施形態と同様に構成したものである。
遅延補正部150は、遅延補正部4が備えるΔDelay−ΔDTテーブル作成部85と構成の異なるΔDelay−ΔDTテーブル作成部151を備え、その他については、遅延補正部4と同様に構成したものである。
図37はΔDelay−ΔDTテーブル作成部151の構成図である。ΔDelay−ΔDTテーブル作成部151は、ΔDelay−ΔDTテーブル作成部85が備えるカウント値−実時間変換回路125を設けず、ΔDelay−ΔDTテーブル作成回路126は、セレクタ124が出力する出力バッファ34〜38の遅延変動ΔDelayおよび出力バッファ34〜38の遅延差ΔDTのカウント値を入力して、カウント値で表示したΔDelay−ΔDTテーブル84を作成するようにし、その他については、ΔDelay−ΔDTテーブル作成部85と同様に構成したものである。
したがって、また、本例においては、W−ΔDelayテーブル83における出力バッファ遅延変動ΔDelayはカウント値で表示される。また、遅延補正コード生成回路120は、ΔDelay−ΔDTテーブル84に表示されている出力バッファ遅延差ΔDTのカウント値から遅延補正コードDLCNTを生成することになる。
本発明の半導体集積回路装置の第2実施形態によっても、本発明の半導体集積回路装置の第1実施形態と同様に、遅延補正部4において、信号入出力部3におけるSSOノイズによるクロック信号SDCKおよびデータ信号DO0〜DO3を受信する装置でのデータ信号DO0〜DO3の確定遅延TOVALの増加を抑えるようにクロック信号SDCKの遅延補正を行うことができる。したがって、信号入出力部3におけるSSOノイズによるクロック信号SDCKおよびデータ信号DO0〜DO3を受信する装置でのデータ信号DO0〜DO3の確定遅延TOVALの増加を抑えることができ、設計マージンを容易に確保することができる。
本発明の半導体集積回路装置の第2実施形態は、本発明の半導体集積回路装置の第1実施形態と同様に、DDRやDDR2やLVDSなどの小信号の高速インタフェース部を有する半導体集積回路装置に適用して好適である。
なお、本発明の半導体集積回路装置の第1実施形態および第2実施形態においては、クロック信号SDCKにより確定遅延が決まる非クロック信号としてデータ信号DO0〜DO3を転送する場合について説明したが、本発明は、その他、クロック信号SDCKにより確定遅延が決まる非クロック信号としてアドレス信号やコマンド信号を転送する場合にも適用することができる。
また、本発明の半導体集積回路装置の第1実施形態および第2実施形態においては、電源を投入する毎に、アップデートモードとし、アップデート工程を実行する場合について説明したが、ΔDelay−ΔDTテーブル84をフラッシュメモリ等の書き換え可能な不揮発性メモリを使用して作成する場合には、最初の電源投入後にΔDelay−ΔDTテーブル84を作成しておけば、その後、電源を投入する毎に、アップデート工程を実効する必要はなく、電源投入後の起動シーケンスを速くすることができる。
また、本発明の半導体集積回路装置の第1実施形態および第2実施形態においては、信号入出力部3を設ける場合について説明したが、本発明は、信号入出力部3の代わりに、出力バッファセルを配列する信号出力部を設ける場合にも適用することができる。
ここで、本発明を整理すると、本発明には、少なくとも、以下の半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法が含まれる。
(付記1)クロック信号と、前記クロック信号により確定遅延が決まる非クロック信号とを複数の出力バッファを介して他の装置に転送する半導体集積回路装置であって、
前記複数の出力バッファの前段に、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有することを特徴とする半導体集積回路装置。
(付記2)前記遅延補正部は、
所定の内部回路から与えられる前記クロック信号および前記非クロック信号を入力し、前記クロック信号については遅延補正を行い、前記非クロック信号については一定時間遅延させる遅延補正回路と、
前記SSOノイズによる出力バッファ遅延変動を予測し、前記SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記遅延補正回路を制御する遅延補正制御回路とを有することを特徴とする付記1に記載の半導体集積回路装置。
(付記3)前記遅延補正回路は、
通常動作準備モード時は、信号生成回路が生成する擬似クロック信号および擬似非クロック信号を選択し、通常動作モード時は、前記所定の内部回路から与えられる前記クロック信号および前記非クロック信号を選択するセレクタと、
前記通常動作準備モード時は、前記セレクタが出力する前記擬似クロック信号および前記擬似非クロック信号を入力し、前記通常動作モード時は、前記セレクタが出力する前記クロック信号および前記非クロック信号を入力するFIFOと、
前記通常動作準備モード時は、前記FIFOが出力する前記擬似クロック信号を遅延し、前記通常動作モード時は、前記FIFOが出力する前記クロック信号を遅延する可変遅延ラインと、
前記通常動作準備モード時は、前記FIFOが出力する前記擬似非クロック信号を遅延し、前記通常動作モード時は、前記FIFOが出力する前記非クロック信号を遅延する固定遅延ラインと、
前記通常動作モード時に、前記可変遅延ラインの遅延を制御し、前記SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行うための遅延補正コードを保持させる遅延補正コードレジスタとを有することを特徴とする付記2に記載の半導体集積回路装置。
(付記4)前記複数の出力バッファは、それぞれ、異なるI/Oバッファセルに含まれており、
前記遅延補正制御回路は、
前記セレクタが出力する前記クロック信号および前記非クロック信号の遷移パターンを解析する出力信号遷移パターン解析回路と、
着目するI/Oバッファセル毎に、前記出力信号遷移パターン解析回路が解析した出力信号遷移パターンと、前記着目するI/Oバッファセルの所定の電源セルからの距離と、前記着目するI/Oバッファセルおよび他のI/Oバッファセルのスイッチングの干渉とを考慮し、前記SSOノイズによる出力バッファ遅延変動の指標となる重み関数を計算する重み関数計算回路と、
前記重み関数と前記出力バッファ遅延変動との関係を示す重み関数−出力バッファ遅延変動テーブルから、前記重み関数計算回路が計算した前記重み関数に対応する出力バッファ遅延変動を検索する出力バッファ遅延変動検索回路と、
前記出力バッファ遅延変動と出力バッファ遅延差との関係を示す出力バッファ遅延変動−出力バッファ遅延差テーブルから、前記出力バッファ遅延変動検索回路が検索した前記出力バッファ遅延変動に対応する出力バッファ遅延差を検索する出力バッファ遅延差検索回路と、
前記出力バッファ遅延差検索回路が検索した出力バッファ遅延差のうち、最も大きな出力バッファ遅延差に対応した前記遅延補正コードを生成する遅延補正コード生成回路とを有することを特徴とする付記2又は3に記載の半導体集積回路装置。
(付記5)前記I/Oバッファセルは、その内部の出力バッファの電源端子電圧、接地端子電圧および出力端子電圧と基準電圧とから、前記SSOノイズによる前記出力バッファ遅延変動を検出するための出力バッファ遅延変動検出用信号生成回路を有し、
前記遅延補正部は、前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成部を有し、
前記出力バッファ遅延変動−出力バッファ遅延差テーブル作成部は、
前記FIFOが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記複数の出力バッファが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記出力バッファ遅延変動検出用信号生成回路が出力する出力バッファ遅延変動検出用信号とを入力し、前記出力バッファ遅延変動および前記出力バッファ遅延差をカウント用のクロック信号でカウントするカウンタと、
前記出力バッファ遅延変動のカウント値および前記出力バッファ遅延差のカウント値を実時間に変換するカウント値−実時間変換回路と、
実時間で表示した前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成回路とを有することを特徴とする付記4に記載の半導体集積回路装置。
(付記6)前記I/Oバッファセルは、その内部の出力バッファの電源端子電圧、接地端子電圧および出力端子電圧と基準電圧とから、前記SSOノイズによる前記出力バッファ遅延変動を検出するための出力バッファ遅延変動検出用信号生成回路を有し、
前記遅延補正部は、前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成部を有し、
前記出力バッファ遅延変動−出力バッファ遅延差テーブル作成部は、
前記FIFOが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記複数の出力バッファが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記出力バッファ遅延変動検出用信号生成回路が出力する出力バッファ遅延変動検出用信号とを入力し、前記出力バッファ遅延変動および前記出力バッファ遅延差をカウント用のクロック信号でカウントするカウンタと、
前記カウンタによるカウント値で表示した前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成回路とを有することを特徴とする付記4に記載の半導体集積回路装置。
(付記7)前記出力バッファ遅延変動検出用信号生成回路は、
前記接地端子電圧と前記出力端子電圧との電圧差を検出する第1の差動アンプと、
前記出力端子電圧と前記電源端子電圧との電圧差を検出する第2の差動アンプと、
前記基準電圧と前記出力端子電圧との電圧差を検出する第3の差動アンプと
を有することを特徴とする付記5又は6に記載の半導体集積回路装置。
(付記8)前記カウンタは、
前記複数の出力バッファの各々に対応して、第1のカウント手段と、第2のカウント手段と、第3のカウント手段とを有し、
前記第1のカウント手段は、前記第1の差動アンプが出力する第1の出力バッファ遅延変動検出用信号が第2の基準電圧に下降した時から、前記第3の差動アンプが出力する第3の出力バッファ遅延変動検出用信号が前記基準電圧に上昇するまでを前記カウント用のクロック信号でカウントし、
前記第2のカウント手段は、前記第2の差動アンプが出力する第2の出力バッファ遅延変動検出用信号が第3の基準電圧に下降した時から、前記第3の出力バッファ遅延変動検出用信号が前記基準電圧に上昇するまでを前記カウント用のクロック信号でカウントし、
前記第3のカウント手段は、入力する前記擬似クロック信号又は擬似データ信号が一方のレベルから前記第2の基準電圧に達した時から、出力する前記擬似クロック信号又は擬似データ信号が一方のレベルから前記基準電圧に達するまでを前記カウント用のクロック信号でカウントし、かつ、入力する前記擬似クロック信号又は擬似データ信号が他方のレベルから前記第2の基準電圧に達した時から、出力する前記擬似クロック信号又は擬似データ信号が他方のレベルから前記基準電圧に達するまでを前記カウント用のクロック信号でカウントすることを特徴とする付記7に記載の半導体集積回路装置。
(付記9)クロック信号と前記クロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する半導体集積回路装置におけるクロック信号の遅延補正方法であって、
前記複数の出力バッファの前段で、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有することを特徴とする半導体集積回路装置におけるクロック信号の遅延補正方法。
本発明の半導体集積回路装置の第1実施形態の一部分の概略的構成図である。 本発明の半導体集積回路装置の第1実施形態が備える電源入力部および信号入出力部の概略的構成図である。 本発明の半導体集積回路装置の第1実施形態が備えるI/Oバッファセルの一部分の構成図である。 本発明の半導体集積回路装置の第1実施形態が備える出力バッファ遅延変動検出用信号生成回路内の差動アンプの構成図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部の構成を示す概略図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正回路の構成図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正回路を構成する信号生成回路が生成する擬似クロック信号および擬似データ信号の例を示す波形図である。 本発明の半導体集積回路装置の第1実施形態において信号生成回路が図7に示す擬似クロック信号および擬似データ信号を生成する場合の出力バッファの遅延時間を示す図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正回路を構成するFIFOの構成図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路の構成図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する出力信号遷移パターン解析回路の動作を説明するための波形図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する距離重み係数を説明するための図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数のシステムクロックサイクルに対する変化例を示す図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内のW−ΔDelayテーブルの例を示す図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内のΔDelay−ΔDTテーブルの例を示す図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内の遅延補正制御回路を構成する遅延補正コード生成回路が生成する遅延補正コードの例を示す表図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部の構成図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部を構成するΔDelay/ΔDTカウンタの構成図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部を構成するΔDelay/ΔDTカウンタ内のΔDelay計測部の動作を説明するための波形図である。 本発明の半導体集積回路装置の第1実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部を構成するΔDelay/ΔDTカウンタ内のΔDT計測部の動作を説明するための波形図である。 本発明の半導体集積回路装置の第1実施形態の動作を示すフローチャートである。 本発明の半導体集積回路装置の第1実施形態で実行されるアップデート工程を示すフローチャートである。 本発明の半導体集積回路装置の第1実施形態で実行される遅延補正工程を示すフローチャートである。 本発明の半導体集積回路装置の第1実施形態においてクロック信号の遅延補正を実行しない場合の動作を説明するための波形図である。 本発明の半導体集積回路装置の第1実施形態においてクロック信号の遅延補正を実行する場合の動作を説明するための波形図である。 本発明の半導体集積回路装置の第2実施形態の一部分の概略的構成図である。 本発明の半導体集積回路装置の第2実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部の構成図である。
符号の説明
1、2…電源入力部
3…信号入出力部
4…遅延補正部
7、8…VDE電源パッド
9、10…VSS電源パッド
11…VREF1電源パッド
12…AMP_VSS電源パッド
13〜17…信号パッド
18、19…VDE電源セル
20、21…VSS電源セル
22…VREF1電源セル
23…AMP_VSS電源セル
24〜28…I/Oバッファセル
29〜33…I/Oバッファ
34〜38…出力バッファ
39〜43…出力バッファ遅延変動検出用信号生成回路
44…VDE電源線
45…VSS電源線
46…出力信号線
47…出力バッファ遅延変動検出用信号線
51…信号入力端子
52…VDE電源端子
53…VSS電源端子
54…VREF1電源端子
55…AMP_VSS電源端子
56…VREF1電源線
57…AMP_VSS電源線
58…VDE電源端子
59…VSS電源端子
60…信号入出力端子
61〜63…差動アンプ
64〜66…出力バッファ遅延変動検出用信号の出力端子
69…差動増幅部
70…電流設定部
71、72…NMOSトランジスタ
73、74…PMOSトランジスタ
75…NMOSトランジスタ
76…PMOSトランジスタ
77…NMOSトランジスタ
80…遅延補正回路
81…遅延補正制御回路
82…距離重み係数データベース
83…W−ΔDelayテーブル
84…ΔDelay−ΔDTテーブル
85…ΔDelay−ΔDTテーブル作成部
88…信号生成回路
89…セレクタ
90…FIFO
91…遅延補正コードレジスタ
92…可変遅延ライン
93〜96…遅延ライン
97〜100…可変遅延バッファ
101〜108…遅延バッファ
111_1〜111_3、112_1〜112_3…Dフリップフロップ
116…出力信号遷移パターン解析回路
117…重み関数計算回路
118…ΔDelay検索回路
119…ΔDT検索回路
120…遅延補正コード生成回路
123…ΔDelay/ΔDTカウンタ部
124…セレクタ
125…カウント値−実時間変換回路
126…ΔDelay−ΔDTテーブル作成回路
127〜131…ΔDelay/ΔDTカウンタ
150…遅延補正部
151…ΔDelay−ΔDTテーブル作成部

Claims (4)

  1. クロック信号と、前記クロック信号により確定遅延が決まる非クロック信号とを複数の出力バッファを介して他の装置に転送する半導体集積回路装置であって、
    前記複数の出力バッファの前段に、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有する
    ことを特徴とする半導体集積回路装置。
  2. 前記遅延補正部は、
    所定の内部回路から与えられる前記クロック信号および前記非クロック信号を入力し、前記クロック信号については遅延補正を行い、前記非クロック信号については一定時間遅延させる遅延補正回路と、
    前記SSOノイズによる出力バッファ遅延変動を予測し、前記SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記遅延補正回路を制御する遅延補正制御回路と
    を有することを特徴とする請求項1に記載の半導体集積回路装置。
  3. 前記遅延補正回路は、
    通常動作準備モード時は、信号生成回路が生成する擬似クロック信号および擬似非クロック信号を選択し、通常動作モード時は、前記所定の内部回路から与えられる前記クロック信号および前記非クロック信号を選択するセレクタと、
    前記通常動作準備モード時は、前記セレクタが出力する前記擬似クロック信号および前記擬似非クロック信号を入力し、前記通常動作モード時は、前記セレクタが出力する前記クロック信号および前記非クロック信号を入力するFIFOと、
    前記通常動作準備モード時は、前記FIFOが出力する前記擬似クロック信号を遅延し、前記通常動作モード時は、前記FIFOが出力する前記クロック信号を遅延する可変遅延ラインと、
    前記通常動作準備モード時は、前記FIFOが出力する前記擬似非クロック信号を遅延し、前記通常動作モード時は、前記FIFOが出力する前記非クロック信号を遅延する固定遅延ラインと、
    前記通常動作モード時に、前記可変遅延ラインの遅延を制御し、前記SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行うための遅延補正コードを保持させる遅延補正コードレジスタと
    を有することを特徴とする請求項2に記載の半導体集積回路装置。
  4. クロック信号と前記クロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する半導体集積回路装置におけるクロック信号の遅延補正方法であって、
    前記複数の出力バッファの前段で、SSOノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有する
    ことを特徴とする半導体集積回路装置におけるクロック信号の遅延補正方法。
JP2007248305A 2007-09-26 2007-09-26 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法 Withdrawn JP2009081588A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007248305A JP2009081588A (ja) 2007-09-26 2007-09-26 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007248305A JP2009081588A (ja) 2007-09-26 2007-09-26 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法

Publications (1)

Publication Number Publication Date
JP2009081588A true JP2009081588A (ja) 2009-04-16

Family

ID=40656032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007248305A Withdrawn JP2009081588A (ja) 2007-09-26 2007-09-26 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法

Country Status (1)

Country Link
JP (1) JP2009081588A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044489A (ja) * 2010-08-20 2012-03-01 Fujitsu Semiconductor Ltd スキュー調整回路
US8856578B2 (en) 2010-08-20 2014-10-07 Fujitsu Semiconductor Limited Integrated circuit device including skew adjustment circuit and skew adjustment method
KR20170119784A (ko) * 2016-04-19 2017-10-30 삼성전자주식회사 딜레이 코드를 발생하는 전압 모니터

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044489A (ja) * 2010-08-20 2012-03-01 Fujitsu Semiconductor Ltd スキュー調整回路
US8856578B2 (en) 2010-08-20 2014-10-07 Fujitsu Semiconductor Limited Integrated circuit device including skew adjustment circuit and skew adjustment method
KR20170119784A (ko) * 2016-04-19 2017-10-30 삼성전자주식회사 딜레이 코드를 발생하는 전압 모니터
KR102512819B1 (ko) * 2016-04-19 2023-03-23 삼성전자주식회사 딜레이 코드를 발생하는 전압 모니터

Similar Documents

Publication Publication Date Title
KR101200233B1 (ko) 클럭 지터를 측정하는 회로 장치 및 방법
US7772889B2 (en) Programmable sample clock for empirical setup time selection
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
Mondal et al. Mitigating thermal effects on clock skew with dynamically adaptive drivers
US9275178B1 (en) Method and apparatus for considering paths influenced by different power supply domains in timing analysis
JP2009081588A (ja) 半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法
Elboim et al. A clock-tuning circuit for system-on-chip
KR101547302B1 (ko) 펄스 기반 플립플롭의 클럭 스큐 흡수특성을 고려한 셋업 시간 측정 방법
US6222408B1 (en) Synchronous delay circuit
JP2008118098A (ja) 半導体集積回路の動作解析方法
US20080066043A1 (en) Method and system for clock tree generation
US20060190878A1 (en) Method and circuit arrangement for determining power supply noise
US9638752B2 (en) Measurement circuitry and method for measuring a clock node to output node delay of a flip-flop
US6959250B1 (en) Method of analyzing electromagnetic interference
Kinniment et al. On-chip structures for timing measurement and test
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
Sun et al. Prediction of Power Supply Induced Jitter With PDN Design Parameters
KR100897277B1 (ko) 반도체 메모리 장치의 지연 회로
Bruguier et al. Investigation of Digital Sensors for Variability Characterization on FPGAs.
JP2005116994A (ja) 半導体集積回路および半導体装置の設計方法
CN111522529B (zh) 现场可编程门阵列的随机数生成器
US8086984B2 (en) Method of designing semiconductor integrated circuit having function to adjust delay pass and apparatus for supporting design thereof
Tan et al. Pre-silicon Noise to Timing Test Methodology
Ali et al. Design of Configurable Digital Spike Filtering Circuits in 130 nm CMOS Process
JP2000029923A (ja) 自動配置配線装置及び半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100526

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101208