JP2011151100A - クロックジッタ抑制方法及びプログラム - Google Patents

クロックジッタ抑制方法及びプログラム Download PDF

Info

Publication number
JP2011151100A
JP2011151100A JP2010009672A JP2010009672A JP2011151100A JP 2011151100 A JP2011151100 A JP 2011151100A JP 2010009672 A JP2010009672 A JP 2010009672A JP 2010009672 A JP2010009672 A JP 2010009672A JP 2011151100 A JP2011151100 A JP 2011151100A
Authority
JP
Japan
Prior art keywords
storage element
integrated circuit
semiconductor integrated
clock
noise
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
Application number
JP2010009672A
Other languages
English (en)
Inventor
Kotaro Kishi
光太郎 岸
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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2010009672A priority Critical patent/JP2011151100A/ja
Priority to US13/004,577 priority patent/US8302066B2/en
Priority to KR1020110005075A priority patent/KR101170273B1/ko
Publication of JP2011151100A publication Critical patent/JP2011151100A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】クロックジッタ抑制方法及びプログラムにおいて、比較的短時間、且つ、比較的低コストでプログラマブルデバイス等の半導体集積回路のクロックジッタを確実に抑制することを目的とする。
【解決手段】クロックバッファに接続された記憶素子に論理値を設定し、記憶素子の閾値電圧を可変設定し、半導体集積回路内の解析対象となる対象回路を動作させた状態で記憶素子に保持されている値を読み出し、閾値電圧と、読み出された値が前記論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、クロックバッファの電源電圧のノイズの影響度と一定以上のノイズの影響を受ける箇所を特定し、する解析処理を行い、解析処理の結果に基づいて半導体集積回路の構成要素の配置と配線の制約条件を作成し、ノイズが低減するように制約条件の配置を変更して再配置する再配置処理、又は、制約条件の配線を変更して再配線する再配線処理を行うように構成する。
【選択図】図8

Description

本発明は、クロックジッタ抑制方法及びプログラムに係り、特にプログラマブルデバイス等の半導体集積回路のクロックジッタを抑制するクロックジッタ抑制方法及びプログラムに関する。本発明は、このようなクロックジッタ抑制方法を実行可能とする半導体集積回路、及び、このようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
本明細書において、クロックジッタとは、クロックの立ち上がり又は立ち下がりが遅れたり早まったりする時間的なずれ、クロックの位相が変化する時間的なずれ等を含む。
従来のプログラマブルデバイスでは、内部素子の使用率が比較的高く、且つ、内部素子が同時に動作する同時動作率が比較的高い場合、内部の電源又はグランド(又は、接地)にノイズが発生する可能性がある。このようなノイズの影響で、プログラマブルデバイス内のクロックラインに接続されたクロックバッファのスレッショルド値(又は、閾値)が変動してクロックジッタとなって現れることがある。クロックジッタが発生すると、設計通りの外部AC特性とならず、プログラマブルデバイスと外部デバイスとの間で適切な信号転送を行うことができなくなるか、或いは、プログラマブルデバイスの内部回路のレジスタ間でタイミングが取れない等の問題が発生する。プログラマブルデバイスから外部デバイスにデータを出力する際には、データの変化及びクロックの変化に応じてデータが安定化するまでの時間を守った上で信号転送を行うために満足するべき出力タイミングがあり、設計通りの外部AC特性ではこのような出力タイミングが保証される。
従来、プログラマブルデバイスのプラットホーム(即ち、アプリケーション)を開発する際には、CAD(Computer Aided Design)による設計時にノイズを低減するためにコンデンサをプログラマブルデバイスに埋め込むノイズ対策を取るが、想定されるノイズは平均的なアプリケーションに対するものである。このため、全てのアプリケーションに対応できるだけのノイズ低減用のコンデンサをプログラマブルデバイスに埋め込もうとすると、コンデンサがプログラマブルデバイス内で比較的大きな面積を占有してしまい、プログラマブルデバイスのコストも増大してしまうので、現実的な方法とは言えない。尚、ノイズの影響度を計算できるSPICE(Simulation Program with Integrated Circuit Emphasis)シミュレータ等では、アプリケーション毎のチップシミュレーションを実行することでノイズ量からコンデンサ量を求めることが可能だが、このようなチップシミュレーションを行うには膨大な時間とハードウェアリソースが必要となり、コストが増大するので現実的な方法とは言えない。
又、プログラマブルデバイスのプラットホームであるアプリケーションを動かすにはノイズの影響が比較的大きいという実機評価の結果が出た場合、プログラマブルデバイス内のコンデンサの量を増やす必要がある。しかし、コンデンサの量を増やすには、プラットホームの再開発が必要となり、再開発、即ち、再設計には時間とコストがかかってしまう。
このように、プログラマブルデバイスの設計方法では、既存のプログラマブルデバイスのプラットホームを使用して、再開発やシミュレーション等によるコストの増大を避けてノイズの影響が比較的大きい(即ち、無視できない)プログラマブルデバイス内の箇所を特定してクロックジッタを抑制することが望まれている。
特開平7−131025号公報 特開平1−206438号公報 特開平4−115634号公報
従来のプログラマブルデバイス等の半導体集積回路の設計方法では、比較的短時間、且つ、比較的低コストでプログラマブルデバイスのクロックジッタを確実に抑制することは難しいという問題があった。
そこで、本発明は、比較的短時間、且つ、比較的低コストでプログラマブルデバイス等の半導体集積回路のクロックジッタを確実に抑制することが可能なクロックジッタ抑制方法及びプログラムを提供することを目的とする。
本発明の一観点によれば、クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制するクロックジッタ抑制方法であって、前記クロックバッファに接続された記憶素子に任意の論理値を設定する工程と、前記記憶素子の閾値電圧を可変設定する工程と、前記半導体集積回路内の解析対象となる対象回路を動作させた状態で前記記憶素子に保持されている値を読み出す工程と、前記閾値電圧と、読み出された値が設定された前記任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、前記クロックバッファの電源電圧又は接地電圧のノイズの影響度と前記半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う工程と、前記解析処理の結果に基づいて、前記半導体集積回路の構成要素の配置と前記半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行う工程と、前記ノイズが低減するように前記制約条件の配置を変更して再配置する再配置処理、又は、前記制約条件の配線を変更して再配線する再配線処理を行う工程を含むクロックジッタ抑制方法が提供される。
本発明の一観点によれば、コンピュータに、クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制させるプログラムであって、前記クロックバッファに接続された記憶素子に任意の論理値を設定する手順と、前記記憶素子の閾値電圧を可変設定する手順と、前記半導体集積回路内の解析対象となる対象回路を動作させた状態で前記記憶素子に保持されている値を読み出して、前記記憶素子から読み出した値と前記閾値電圧と前記読み出しの対象となった各記憶素子の位置情報を含むファイルを記憶部に格納する手順と、前記ファイルを前記記憶部から読み出して、前記閾値電圧と、読み出された値が設定された前記任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、前記クロックバッファの電源電圧又は接地電圧のノイズの影響度と前記半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う手順と、前記解析処理の結果に基づいて、前記半導体集積回路の構成要素の配置と前記半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行う手順と、前記ノイズが低減するように前記制約条件の配置を変更して再配置する再配置処理、又は、前記制約条件の配線を変更して再配線する再配線処理を行う手順を前記コンピュータに実行させるプログラムが提供される。
開示のクロックジッタ抑制方法及びプログラムによれば、比較的短時間、且つ、比較的低コストでプログラマブルデバイス等の半導体集積回路のクロックジッタを確実に抑制することが可能となる。
本発明の一実施例におけるプログラマブルデバイスの一部を説明する図である。 モニタ用記憶素子を説明する図である。 モニタ用記憶素子の構成の一例を示す回路図である。 逆バイアス電圧とスレッショルド電圧の関係の一例を示す図である。 バッファをMOSトランジスタ53で形成した場合のモデルを示す図である。 クロックバッファの周辺のLEがFPGAの動作に使用される場合にモニタ用記憶素子に保持される値の変化を説明する図である。 クロックバッファの周辺のLEがFPGAの動作に使用されない場合にモニタ用記憶素子に保持される値の変化を説明する図である。 実施例におけるクロックジッタ抑制方法の処理手順を説明するフローチャートである。 モニタ用記憶素子に保持された論理値の読み出しを説明する図である。 クロック配線の変更を説明する図である。 LEの位置に応じたクロックの位相関係を説明するタイミングチャートである。 論理回路の配置の変更を説明する図である。 図8のステップS6,S7の処理を自動的に行う場合の処理を説明するフローチャートである。
開示のクロックジッタ抑制方法及びプログラムは、クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制する。クロックバッファに接続された記憶素子に任意の論理値を設定し、記憶素子の閾値電圧を可変設定し、半導体集積回路内の解析対象となる対象回路を動作させた状態で記憶素子に保持されている値を読み出す。閾値電圧と、読み出された値が設定された任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、クロックバッファの電源電圧又は接地電圧のノイズの影響度と半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う。この解析処理の結果に基づいて、半導体集積回路の構成要素の配置と半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行い、ノイズが低減するように制約条件の配置を変更して再配置する再配置処理、又は、制約条件の配線を変更して再配線する再配線処理を行うことで、半導体集積回路のクロックジッタを抑制する。
以下に、開示のクロックジッタ抑制方法及びプログラムの各実施例を図面と共に説明する。
図1は、本発明の一実施例におけるプログラマブルデバイスの一部を説明する図である。本実施例では、本発明が半導体集積回路の一例であるFPGA(Field Programmable Gate Array)に適用されている。
図1に示すように、FPGA1はマトリクス状に配置された複数の論理素子(LE:Logic Elements)2とクロックバッファ3を有する。この例では説明の便宜上、1つのクロックバッファ3のみを示すが、FPGA1内には言うまでもなく複数のクロックバッファ3が設けられていても良い。又、図1においては、後述するモニタ用記憶素子やデータライン等の図示は省略する。各LE2は、図1の下部に拡大して示すように、LUT(Look-Up Table)21、セレクタ22及びフリップフロップ(FF:Flip-Flop)23を有する。
図2は、モニタ用記憶素子を説明する図である。図2の例では、N個(Nは1以上の自然数)のクロックバッファ3−1〜3−Nの近傍に、対応するN個のモニタ用記憶素子5−1〜5−Nが配置されると共にクロックバッファ3−1〜3−Nに接続されている。各クロックバッファ3−1〜3−Nは同じ構成を有し、各モニタ用記憶素子5−1〜5−Nは同じ構成を有する。図2において、CLKはクロックバッファ3−1〜3−Nに入力されるクロック、Vccは電源電圧、Gndはグランド電圧を示す。
図3は、モニタ用記憶素子の構成の一例を示す回路図である。図3に示すモニタ用記憶素子5は、図2に示す各モニタ用記憶素子5−1〜5−Nに使用可能である。モニタ用記憶素子5は、クロックバッファ3の電源電圧Vcc及び逆バイアス電圧Vbsが印加されるバッファ51、及びバッファ51の出力がリセット端子に入力されるフリップフロップ(FF)52を有する。クロックバッファ3の電源電圧Vccは、抵抗を有するバッファ51を介してモニタ用記憶素子5のFF52のリセット端子に入力される。又、モニタ用記憶素子5は、バッファ51に印加する逆バイアス電圧Vbsに応じてスレッショルド電圧(又は、スレッショルド値)Vthを可変とする機能を有する。FF52には、例えばFPGA1の初期化状態で任意の論理値が入力されて、クロックCLKに応答して保持されることで設定される。つまり、FF52の入出力がモニタ用記憶素子5の入出力に相当する。尚、モニタ用記憶素子3の構成は、スレッショルド電圧Vthを可変であれば、図3に示す構成に限定されないことは言うまでもない。
FPGA1内の全てのクロックバッファ3に対してモニタ用記憶素子5を設けずに、特定のクロックバッファ3に対してのみモニタ用記憶素子5を設けるようにしても良い。又、FPGA1内の全て、或いは、一部のクロックバッファ3に対して設けられたモニタ用記憶素子5のうち、解析対象領域内のモニタ用記憶素子5のみに対して論理値を保持設定し、FPGA1を動作させた状態で解析対象領域内のモニタ用記憶素子5のみから保持されている論理値を読み出すようにしても良い。
図4は、逆バイアス電圧Vbsとスレッショルド電圧Vthの関係の一例を示す図である。図4中、縦軸はモニタ用記憶素子5のスレッショルド電圧Vthを任意単位で示し、横軸はモニタ用記憶素子5のバッファ51に印加する逆バイアス電圧Vbsを任意単位で示す。図4に示す関係Iは、例えば関係IIの場合と比べて半導体基板の不純物濃度が高い場合を示す。各関係I,IIからもわかるように、逆バイアス電圧Vbsの増加に伴いスレッショルド電圧Vthが増加する。図4に示す如き関係I,II自体は、例えば上記特許文献1等からも周知である。
図5は、バッファ51をMOSトランジスタ53で形成した場合のモデルを示す図である。図5において、Idsはドレイン・ソース電流、Vgsはゲート・ソース電圧、Vdsはドレイン・ソース電圧、Vbsは逆バイアス電圧を示す。
逆バイアス電圧Vbsを可変とする逆バイアス電源(図示せず)は、クロックバッファ3に供給する電源電圧Vccの電源(図示せず)とは別体の電源である。これにより、クロックバッファ3が電源電圧Vcc(又は、接地電圧Gnd)に発生するノイズの影響を受ければ、モニタ用記憶素子5内部の電圧が設定されたスレッショルド電圧Vth未満になるため、モニタ用記憶素子5が保持する値の論理値が反転する。
図6は、図1中破線で囲んだ全てのLE2を含むクロックバッファ3の周辺のLE2がFPGA1の動作時に使用される場合にモニタ用記憶素子5に保持される値の変化を説明する図である。図6中、縦軸は電圧を任意単位で示し、横軸は時間を任意単位で示す。この例では、説明の便宜上、モニタ用記憶素子5のスレッショルド電圧Vthが適切な逆バイアス電圧Vbsをバッファ51に印加することによりVth5に設定されているものとする。この場合、クロックバッファ3が電源電圧Vccに発生するスレッショルド電圧Vth5未満となるノイズNs1の影響を受ければ、モニタ用記憶素子5内部(即ち、バッファ51)の電圧M1が設定されたスレッショルド電圧Vth5未満となるため、モニタ用記憶素子5が保持する値の論理値が反転する。図6において、ノイズNs1は一点鎖線で示す。
図7は、図1中破線で囲んだ領域内の全てのLE2、即ち、クロックバッファ3の周辺のLE2がFPGA1の動作時に使用されない場合にモニタ用記憶素子5に保持される値の変化を説明する図である。図7中、縦軸は電圧を任意単位で示し、横軸は時間を任意単位で示す。この例では、説明の便宜上、モニタ用記憶素子5のスレッショルド電圧Vthが適切な逆バイアス電圧Vbsをバッファ51に印加することによりVth5に設定されているものとする。この場合、クロックバッファ3の周辺のLE2は、FPGA1の動作時に使用されないので、電源電圧Vccに発生するノイズNs2がスレッショルド電圧Vth6未満になることはない。このため、クロックバッファ3が電源電圧Vccに発生するスレッショルド電圧Vth6となるノイズNs2の影響を受けても、モニタ用記憶素子5内部(即ち、バッファ51)の電圧M2が設定されたスレッショルド電圧Vth5未満になることはないため、モニタ用記憶素子5が保持する値の論理値が反転することもない。図7において、ノイズNs2は一点鎖線で示す。
従って、予め任意の論理値をモニタ用記憶素子5に保持して設定すると共に、適切な逆バイアス電圧Vbsをバッファ51に印加することによりスレッショルド電圧Vthを設定しておき、その後にFPGA1を動作させてからモニタ用記憶素子5に保持されている値を読み出すことで、ノイズの影響度とFPGA1内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行うことができる。又、FPGA1の動作時に使用されないLE2については、これらのLE2がFPGA1の動作時に使用された場合に及ぼすノイズ解析への影響を比較的簡単に抑制することができるので、比較的短時間、且つ、比較的低コストで正確な解析処理を行うことができる。予め任意の論理値を各モニタ用記憶素子5に保持して設定すると共に、その後にFPGA1を動作させてからモニタ用記憶素子5に保持されている値を読み出す処理は、周知の方法で行うことができる。
更に、解析処理の結果に基づいてFPGA1の構成要素の配置とFPGA1内の配線の制約条件を作成する制約条件作成処理を行ったり、ノイズが低減するように既に決定されている制約条件の配置を変更して再配置する再配置処理、又は、既に決定されている制約条件の配線を変更して再配線する再配線処理を行うことで、ノイズの影響を受け易いモニタ用記憶素子5の周辺からノイズ源を遠ざけて、比較的短時間、且つ、比較的低コストでFPGA1のクロックジッタを確実に抑制することが可能となる。
次に、本実施例におけるクロックジッタ抑制方法の処理手順を、図8と共に説明する。図8は、本実施例におけるクロックジッタ抑制方法の処理手順を説明するフローチャートである。図8に示す処理手順は、FPGA1等の半導体集積回路の設計方法、又は、半導体集積回路の製造方法の一部を形成する。
図8において、ステップ(又は、工程)S1では、FPGA1に接続されたCPU(Central Processing Unit)等のプロセッサと記憶部を有する汎用コンピュータ等の外部装置から、FPGA1内の各モニタ用記憶素子5に論理値「1」(又は、論理値「0」)を設定する。ステップS1における各モニタ用記憶素子5への論理値の設定は、一般的なプログラマブルデバイスへのデータの書き込みと同様に行っても良い。ここで解析処理を施すFPGA1は、CAD等による設計に基づいて作成された試験用の半導体集積回路(又は、半導体チップ)である。ステップS2では、外部装置からFPGA1内の各モニタ記憶素子5内のバッファ51に適切な逆バイアス電圧Vbsを印加することで各モニタ用記憶素子5のスレッショルド電圧Vthを可変設定する。スレッショルド電圧Vthの設定値を変えることで、電源電圧Vcc(又は、グランド電圧Gnd)のノイズ量に応じてモニタ用記憶素子5のバッファ51を形成するトランジスタが反応してモニタ用記憶素子5が保持する論理値が書き換わり、ノイズ量とスレッショルド電圧Vth(又は、逆バイアス電圧Vbs)が関係付けられる。
ステップS3では、外部装置からFPGA1内の任意のLE2で形成される解析対象の論理回路を動作させる。ステップS4では、FPGA1内の解析対象の論理回路が動作している状態で、外部装置から少なくともFPGA1内の解析対象領域内の各モニタ用記憶素子5に設定(即ち、保持)されている論理値を読み出す。解析対象領域は、解析対象の論理回路内、或いは、解析対象の論理回路近傍の領域である。このように、ステップS3で解析対象の論理回路を動作させることで、ステップS4で解析対象領域内で実際に発生するノイズの影響を測定する。
尚、ステップS1〜S3の処理は、操作者により手動で行っても良いことは言うまでもない。
ステップS4における解析領域内の各モニタ用記憶素子5に保持された論理値の読み出しは、例えば図9に示すような方法で行うことができる。図9は、モニタ用記憶素子5に保持された論理値の読み出しを説明する図である。図9において、汎用コンピュータ61は、CPU62、半導体記憶装置やディスク装置等で形成された記憶部63、表示部64、インタフェース(I/F)部65、キーボード等の入力部66がバス67により接続された周知の構成を有する。記憶部63は、コンピュータ61に外部接続される構成を有しても良い。コンピュータ61のI/F部65は、ケーブル71及びJTAG(Joint Test Action Group)コネクタ72を介してFPGA1内のJTAG部101と接続される。JTAGコネクタ72及びJTAG部101は、例えば半導体集積回路や基板の検査、デバッグ等で使用されるバウンダリスキャンテスト(Boundary Scan Test)やテストアクセスポートの標準IEEE1149.1に準拠した規格の構造を有する。JTAG部101は、コンピュータ61からの指示に応答して解析対象領域内のモニタ用記憶素子5から読み出した論理値を順次JTAGコネクタ72へ出力する。尚、図9においては、読み出しの対象となる解析対象領域内のモニタ用記憶素子5のみを示す。
ここでは説明の便宜上、少なくとも図8のステップS4を実行するためのプログラムが記憶部63に格納されているものとする。コンピュータ読み取り可能な記憶媒体(図示せず)に格納されているプログラムが記憶部63にインストールされても、記憶部63自体がプログラムを格納したコンピュータ読み取り可能な記憶媒体を形成しても良い。記憶部63は、プログラムの他に、CPU62が実行する演算の中間データや後述するファイル等のデータを含む各種データを格納する。記憶部63に格納されたプログラムは、操作者が入力部66から入力した情報や指示に基づいてCPU62により実行さる。操作者に対するメッセージ、操作メニューや解析結果等のデータは、表示部64上に表示される。コンピュータ61、即ち、CPU62は、周知のバウンダリスキャンの方法で、FPGA1内の解析対象の論理回路が動作している状態で、JTAG部101経由で解析対象領域内のモニタ用記憶素子5が保持する論理値を読み出す。
ステップS5では、ステップS2で設定したスレッショルド電圧Vthと、各モニタ用記憶素子5から読み出された論理値と、読み出しの対象となった各モニタ用記憶素子5の位置情報を含むファイルを出力するファイル出力処理が行われる。FPGA1の設計データからモニタ用記憶素子5間の接続関係は予め分かっているので、この接続関係とモニタ用記憶素子5から論理値が読み出される順番から、FPGA1の平面図上での各モニタ用記憶素子5の縦方向上の位置(即ち、マトリクス配置の何列目に位置するか)及び横方向上の位置(即ち、マトリクス配置の何行目にあるか)を判断することで、各モニタ用記憶素子5の位置情報を知ることができる。ファイル出力処理により出力されたファイルは、例えば外部装置内の記憶部、或いは、外部装置に接続された記憶部に、外部装置から読み出し可能に格納される。図9に示すコンピュータ61を外部装置として使用する場合、上記ファイルは例えば記憶部63に格納される。
ステップS5のファイル出力処理を行う際、FPGA1に他の解析対象領域がある場合や、各モニタ用記憶素子5のスレッショルド電圧Vthを変えて他の値に設定する場合等には、処理はステップS1へ戻り、上記と同様の処理が行われる。
ステップS6では、外部装置が記憶部に格納されたファイルを読み出してノイズの影響度とFPGA1内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う。具体的には、読み出したファイル内のスレッショルド電圧Vthと、読み出した論理値がステップS1で設定された論理値と異なる(即ち、反転関係にある)モニタ用記憶素子5と、読み出しの対象となった各モニタ用記憶素子5の位置情報に基づいて、ノイズの影響度とFPGA1内で一定以上のノイズの影響を受ける箇所を特定する。FPGA1内のノイズが一定以上であるか否かは、設定されたスレッショルド電圧Vthにより決定される。
ステップS7では、外部装置がステップS6の解析処理の結果に基づいて、FPGA1の構成要素の配置とFPGA1内の配線の制約条件を作成する制約条件作成処理を行う。
又、ステップS8では、ノイズが低減するように、即ち、クロックジッタが抑制されるように、ステップS7において既に決定されている制約条件の配置を変更して再配置する再配置処理、又は、既に決定されている制約条件の配線を変更して再配線する再配線処理を行い、ノイズの影響を受け易いモニタ用記憶素子5の周辺からノイズ源を遠ざける。これにより、例えば図7の場合であれば、ノイズNs2がスレッショルド電圧Vth6未満にならないように、ノイズNs2の量が平坦化される。
図10〜図12は、ステップS8の処理の一例を説明する図である。図10は、クロック配線の変更を説明する図であり、図1と同一部分には同一符号を付し、その説明は省略する。図11は、LEの位置に応じたクロックの位相関係を説明するタイミングチャートである。図12は、論理回路の配置の変更を説明する図である。
図10は、ステップS8において、ステップS7で既に決定されている制約条件の配線を変更して再配線する再配線処理を行う例を示す。図10のFPGA1において、クロックバッファ3の下側のLE2のグループは下側領域R1内に配置され、クロックバッファ3の上側のLE2のグループは上側領域R2内に配置されている。再配線処理では、図1に示す1系統のクロックラインを図10に示す如き2系統のクロックラインに変更し、ノイズの影響を受け易いモニタ用記憶素子5の周辺からノイズ源を遠ざける。又、領域R1内のLE2に入力される図11(a)のクロックCLK1の位相と、領域R2内のLE2に入力される図11(b)のクロックCLK2の位相を反転する。これにより、再配線処理を行う前の状態でクロックバッファ3の周辺のLE2がFPGA1の動作時に使用される場合にモニタ用記憶素子5に保持される値の変化が図6のような場合であっても、再配線後の状態では対応するモニタ用記憶素子5に保持される値の変化は図7のようになり、ノイズを良好に抑制してクロックジッタを抑制することができる。
図12は、ステップS8において、ステップS7で既に決定されている制約条件の配置を変更して再配置する再配置処理を行う例を示す。図12中、FPGA1内のLE2やクロックバッファ3等の図示は省略する。図12のFPGA1は、ノイズ量が多い順に領域111,112,113,114を有するので、図12はFPGA1内のノイズ分布を示す図でもある。再配置処理では、解析対象となる論理回路がノイズ量が大きい領域111内の部分151に配置されているため、この論理回路をノイズ量が小さい領域114内の部分152に再配置し、ノイズの影響を受け易いモニタ用記憶素子5の周辺からノイズ源を遠ざける。これにより、再配置処理を行う前の状態で部分151内のクロックバッファ3の周辺のLE2がFPGA1の動作時に使用される場合にモニタ用記憶素子5に保持される値の変化が図6のような場合であっても、領域114内の部分152内への再配置後の状態では対応するモニタ用記憶素子5に保持される値の変化は図7のようになり、ノイズを良好に抑制してクロックジッタを抑制することができる。
ステップS6の解析処理、ステップS7の制約条件作成処理、及び、ステップS8の再配置処理と再配線処理は、いずれも外部装置により自動的に行っても、操作者と外部装置との間のインタアクティブな操作に応じて半自動的に行っても良い。
ステップS9では、外部装置がステップS7の配置処理と配線処理及びステップS8の再配置処理と再配線処理の結果に基づいて、解析対象の論理回路を含むFPGA1のコンフィグレーションデータを作成する。ステップS10では、外部装置がFPGA1内に解析するべき他の論理回路があるか否かに応じてFPGA1のノイズに関する解析処理を終了するか否かを判定する。FPGA1内に解析するべき他の論理回路があれば、ステップS10の判定結果はNOとなって処理はステップS1へ戻る。一方、FPGA1内に解析するべき他の論理回路がなければ、ステップS10の判定結果がYESとなってFPGA1のノイズに関する解析処理は終了する。
尚、ステップS8の再配置処理と再配線処理の結果を反映した新たなFPGA1を作成してこの新たなFPGA1に対して上記ステップS1〜S10の処理(又は、手順)を繰り返すことで、FPGA1の構成を用途や要求に応じて最適化することができることは、言うまでもない。
上記の如きFPGA1のノイズに関する解析処理を行うことで、比較的短時間、且つ、比較的低コストでFPGA1のクロックジッタを確実に抑制することが可能となる。
図13は、図8のステップS6,S7の処理を外部装置により自動的に行う場合の処理を説明するフローチャートである。ここでは説明の便宜上、図9のコンピュータ61が外部装置として使用される場合、即ち、ステップS21〜S27がコンピュータ61のCPU62により実行される場合を例に取って説明する。
図13において、図8のステップS5の後、ステップS21では、記憶部63に格納されたファイルを読み出す。ステップS22では、読み出したファイル中、読み出された論理値が「0」であるモニタ用記憶素子5があるか否かを判定し、判定結果がNOであると処理は図8のステップS8へ進む。ステップS22の判定結果がYESであると、論理値「0」が読み出された各モニタ用記憶素子5の位置情報から、論理値「0」が読み出された各モニタ用記憶素子5が配置された領域(即ち、位置)に既に配置禁止制約条件が設定されているか否かを判定する。
ステップS23の判定結果がNOであると、ステップS24では、論理値「0」が読み出された各モニタ用記憶素子5の位置情報から、FPGA1の平面図上で論理値「0」が読み出された各モニタ用記憶素子5の上下左右(即ち、周辺)に設けられているLE2の位置を、解析対象の論理回路の動作時に動作するLE2の配置を禁止する配置禁止領域に設定する配置禁止制約条件のファイル(以下、配置禁止制約条件ファイルと言う)を作成する。ステップS25では、ステップS24で作成した配置禁止制約条件ファイルをコンピュータ61の記憶部63に格納し、処理は図8のステップS8へ進む。
一方、ステップS23の判定結果がYESであると、ステップS26では、既に設定されている配置禁止制約条件が示す配置禁止領域の外側上下左右(即ち、周辺)に設けられているLE2の位置を、解析対象の論理回路の動作時に動作するLE2の配置を禁止する配置禁止領域に設定する配置禁止制約条件ファイルを作成する。ステップS27では、ステップS26で作成した配置禁止制約条件ファイルをコンピュータ61の記憶部63に格納し、処理は図8のステップS8へ進む。
このように、図8の処理手順を自動化することで、チップシミュレーションを行う場合と比較すると、必要となる解析時間、ハードウェアリソース及びコストが大幅に削減される。又、解析対象となる論理回路の動作時におけるノイズの影響が比較的大きい場合でも、論理回路に接続されるコンデンサの量を増やすような論理回路のプラットホームの再開発が不要である。つまり、既存の論理回路のプラットホームを使用することで、再開発やシミュレーション等によるコストの増大を避けてノイズの影響が比較的大きい(即ち、無視できない)論理回路内の箇所を特定してクロックジッタを抑制することができる。更に、論理回路の実アプリケーションでの測定結果をフィードバックして解析処理を行うため、解析結果が正確である。
上記各実施例では、解析対象となる半導体集積回路はLSI(Large Scale Integrated)回路等の半導体チップ内に設けられた回路であるが、解析対象となる半導体集積回路は部品が搭載されているプリント基板に搭載された回路であっても良い。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制するクロックジッタ抑制方法であって、
前記クロックバッファに接続された記憶素子に任意の論理値を設定する工程と、
前記記憶素子の閾値電圧を可変設定する工程と、
前記半導体集積回路内の解析対象となる対象回路を動作させた状態で前記記憶素子に保持されている値を読み出す工程と、
前記閾値電圧と、読み出された値が設定された前記任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、前記クロックバッファの電源電圧又は接地電圧のノイズの影響度と前記半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う工程と、
前記解析処理の結果に基づいて、前記半導体集積回路の構成要素の配置と前記半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行う工程と、
前記ノイズが低減するように前記制約条件の配置を変更して再配置する再配置処理、又は、前記制約条件の配線を変更して再配線する再配線処理を行う工程を含む、クロックジッタ抑制方法。
(付記2)
前記制約条件作成処理を行う工程及び前記再配置処理又は前記再配線処理を行う工程は、コンピュータにより実行される、付記1記載のクロックジッタ抑制方法。
(付記3)
前記任意の論理値を設定する工程、前記閾値電圧を可変設定する工程、前記記憶素子に保持されている値を読み出す工程、及び前記解析処理を行う工程は、いずれもコンピュータにより実行される、付記2記載のクロックジッタ抑制方法。
(付記4)
前記記憶素子は前記クロックバッファの前記電源電圧を印加されるバッファと前記バッファの出力がリセット端子に印加されるフリップフロップを有し、
前記閾値電圧を可変設定する工程は、前記記憶素子の前記バッファに印加する逆バイアス電圧を可変設定することで前記閾値電圧を可変設定する、付記2又は3記載のクロックジッタ抑制方法。
(付記5)
前記再配置処理又は前記再配線処理を行う工程は、前記ノイズの影響を受け易い記憶素子の周辺からノイズ源を遠ざける、付記2乃至4のいずれか1項記載のクロックジッタ抑制方法。
(付記6)
前記再配置処理又は前記再配線処理の結果を反映して作成された新たな半導体集積回路に対して前記各工程の処理を繰り返すことで前記新たな半導体集積回路の構成を最適化する、付記2乃至5のいずれか1項記載のクロックジッタ抑制方法。
(付記7)
コンピュータに、クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制させるプログラムであって、
前記クロックバッファに接続された記憶素子に任意の論理値を設定する手順と、
前記記憶素子の閾値電圧を可変設定する手順と、
前記半導体集積回路内の解析対象となる対象回路を動作させた状態で前記記憶素子に保持されている値を読み出して、前記記憶素子から読み出した値と前記閾値電圧と前記読み出しの対象となった各記憶素子の位置情報を含むファイルを記憶部に格納する手順と、
前記ファイルを前記記憶部から読み出して、前記閾値電圧と、読み出された値が設定された前記任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、前記クロックバッファの電源電圧又は接地電圧のノイズの影響度と前記半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う手順と、
前記解析処理の結果に基づいて、前記半導体集積回路の構成要素の配置と前記半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行う手順と、
前記ノイズが低減するように前記制約条件の配置を変更して再配置する再配置処理、又は、前記制約条件の配線を変更して再配線する再配線処理を行う手順
を前記コンピュータに実行させる、プログラム。
(付記8)
前記記憶素子は前記クロックバッファの前記電源電圧を印加されるバッファと前記バッファの出力がリセット端子に印加されるフリップフロップを有し、
前記閾値電圧を可変設定する手順は、前記記憶素子の前記バッファに印加する逆バイアス電圧を可変設定することで前記閾値電圧を可変設定する、付記7記載のプログラム。
(付記9)
前記再配置処理又は前記再配線処理を行う手順は、前記ノイズの影響を受け易い記憶素子の周辺からノイズ源を遠ざける、付記7乃至9のいずれか1項記載のプログラム。
(付記10)
前記コンピュータに、前記再配置処理又は前記再配線処理の結果を反映して作成された新たな半導体集積回路に対して前記各手順の処理を繰り返すことで前記新たな半導体集積回路の構成を最適化させる、付記7乃至9のいずれか1項記載のプログラム。
(付記11)
付記7乃至10のいずれか以降記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
以上、開示のクロックジッタ抑制方法、プログラム、半導体集積回路及びコンピュータ読み取り可能な記憶媒体を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
1 FPGA
2 LE
3,3−1〜3−N クロックバッファ
5,5−1〜5−N モニタ用記憶素子
51 バッファ
52 FF
61 コンピュータ
62 CPU
63 記憶部
101 JTAG部

Claims (5)

  1. クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制するクロックジッタ抑制方法であって、
    前記クロックバッファに接続された記憶素子に任意の論理値を設定する工程と、
    前記記憶素子の閾値電圧を可変設定する工程と、
    前記半導体集積回路内の解析対象となる対象回路を動作させた状態で前記記憶素子に保持されている値を読み出す工程と、
    前記閾値電圧と、読み出された値が設定された前記任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、前記クロックバッファの電源電圧又は接地電圧のノイズの影響度と前記半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う工程と、
    前記解析処理の結果に基づいて、前記半導体集積回路の構成要素の配置と前記半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行う工程と、
    前記ノイズが低減するように前記制約条件の配置を変更して再配置する再配置処理、又は、前記制約条件の配線を変更して再配線する再配線処理を行う工程を含む、クロックジッタ抑制方法。
  2. 前記制約条件作成処理を行う工程及び前記再配置処理又は前記再配線処理を行う工程は、コンピュータにより実行される、請求項1記載のクロックジッタ抑制方法。
  3. 前記記憶素子は前記クロックバッファの前記電源電圧を印加されるバッファと前記バッファの出力がリセット端子に印加されるフリップフロップを有し、
    前記閾値電圧を可変設定する工程は、前記記憶素子の前記バッファに印加する逆バイアス電圧を可変設定することで前記閾値電圧を可変設定する、請求項2記載のクロックジッタ抑制方法。
  4. 前記再配置処理又は前記再配線処理の結果を反映して作成された新たな半導体集積回路に対して前記各工程の処理を繰り返すことで前記新たな半導体集積回路の構成を最適化する、請求項2又は3記載のクロックジッタ抑制方法。
  5. コンピュータに、クロックが入力されるクロックバッファを有する半導体集積回路におけるクロックジッタを抑制させるプログラムであって、
    前記クロックバッファに接続された記憶素子に任意の論理値を設定する手順と、
    前記記憶素子の閾値電圧を可変設定する手順と、
    前記半導体集積回路内の解析対象となる対象回路を動作させた状態で前記記憶素子に保持されている値を読み出して、前記記憶素子から読み出した値と前記閾値電圧と前記読み出しの対象となった各記憶素子の位置情報を含むファイルを記憶部に格納する手順と、
    前記ファイルを前記記憶部から読み出して、前記閾値電圧と、読み出された値が設定された前記任意の論理値と反転関係にある記憶素子と、読み出しの対象となった各記憶素子の位置情報に基づいて、前記クロックバッファの電源電圧又は接地電圧のノイズの影響度と前記半導体集積回路内で一定以上のノイズの影響を受ける箇所を特定する解析処理を行う手順と、
    前記解析処理の結果に基づいて、前記半導体集積回路の構成要素の配置と前記半導体集積回路内の配線の制約条件を作成する制約条件作成処理を行う手順と、
    前記ノイズが低減するように前記制約条件の配置を変更して再配置する再配置処理、又は、前記制約条件の配線を変更して再配線する再配線処理を行う手順
    を前記コンピュータに実行させる、プログラム。
JP2010009672A 2010-01-20 2010-01-20 クロックジッタ抑制方法及びプログラム Pending JP2011151100A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010009672A JP2011151100A (ja) 2010-01-20 2010-01-20 クロックジッタ抑制方法及びプログラム
US13/004,577 US8302066B2 (en) 2010-01-20 2011-01-11 Clock jitter suppression method and computer-readable storage medium
KR1020110005075A KR101170273B1 (ko) 2010-01-20 2011-01-18 클록 지터 억제 방법 및 컴퓨터 판독가능한 기억 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010009672A JP2011151100A (ja) 2010-01-20 2010-01-20 クロックジッタ抑制方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2011151100A true JP2011151100A (ja) 2011-08-04

Family

ID=44277565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010009672A Pending JP2011151100A (ja) 2010-01-20 2010-01-20 クロックジッタ抑制方法及びプログラム

Country Status (3)

Country Link
US (1) US8302066B2 (ja)
JP (1) JP2011151100A (ja)
KR (1) KR101170273B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146220A (ja) * 2013-01-30 2014-08-14 Fujitsu Semiconductor Ltd 半導体装置の設計方法、プログラム及び設計装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5691743B2 (ja) * 2011-03-30 2015-04-01 富士通株式会社 実装設計支援プログラム、方法及び装置
CN105760560B (zh) 2014-12-17 2019-05-07 国际商业机器公司 用于优化集成电路噪声性能的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129103A (ja) * 2002-10-07 2004-04-22 Toshiba Lsi System Support Kk 電源ノイズ検出回路
JP2007327804A (ja) * 2006-06-07 2007-12-20 Nec Electronics Corp 電圧降下測定回路
JP2008118098A (ja) * 2006-10-11 2008-05-22 Matsushita Electric Ind Co Ltd 半導体集積回路の動作解析方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01206438A (ja) 1988-02-15 1989-08-18 Hitachi Ltd プログラム制御装置
JP2953761B2 (ja) 1990-08-31 1999-09-27 富士通株式会社 電源ノイズ検出回路
JP3488730B2 (ja) 1993-11-05 2004-01-19 株式会社ルネサステクノロジ 半導体集積回路装置
US7509608B1 (en) * 2006-01-30 2009-03-24 Xilinx, Inc. Integrated system noise management—clock jitter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129103A (ja) * 2002-10-07 2004-04-22 Toshiba Lsi System Support Kk 電源ノイズ検出回路
JP2007327804A (ja) * 2006-06-07 2007-12-20 Nec Electronics Corp 電圧降下測定回路
JP2008118098A (ja) * 2006-10-11 2008-05-22 Matsushita Electric Ind Co Ltd 半導体集積回路の動作解析方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146220A (ja) * 2013-01-30 2014-08-14 Fujitsu Semiconductor Ltd 半導体装置の設計方法、プログラム及び設計装置
US9032351B2 (en) 2013-01-30 2015-05-12 Fujitsu Semiconductor Limited Semiconductor device design method and design apparatus

Also Published As

Publication number Publication date
KR20110085916A (ko) 2011-07-27
US20110176597A1 (en) 2011-07-21
KR101170273B1 (ko) 2012-07-31
US8302066B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
US8479136B2 (en) Decoupling capacitor insertion using hypergraph connectivity analysis
JP4882902B2 (ja) シミュレーション方法及びプログラム
US20180101624A1 (en) Methods for reducing delay on integrated circuits
US8522188B2 (en) Method of designing a system-on-chip including a tapless standard cell, designing system and system-on-chip
US10268787B2 (en) Hybrid timing analysis method and associated system and non-transitory computer readable medium
US6976235B2 (en) Region-based voltage drop budgets for low-power design
US20230342531A1 (en) Methods and apparatus for profile-guided optimization of integrated circuits
Ye et al. Substantial fault pair at-a-time (SFPAT): An automatic diagnostic pattern generation method
US20170083658A1 (en) Detecting circuit design flaws based on timing analysis
US20200184135A1 (en) Double glitch capture mode power integrity analysis
US10437946B1 (en) Using implemented core sources for simulation
KR101681862B1 (ko) 스캔 셀 파티션에 기반을 둔 x-filling 및 저전력 스캔 셀 재배열 장치 및 방법
JP2011151100A (ja) クロックジッタ抑制方法及びプログラム
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US20140091841A1 (en) Apparatus and methods for clock characterization
US7630845B2 (en) Method for calculating tolerable value for fluctuation in power supply voltage and method of testing
US7418675B2 (en) System and method for reducing the power consumption of clock systems
US6971079B2 (en) Accuracy of timing analysis using region-based voltage drop budgets
US10885243B1 (en) Logic partition reporting for integrated circuit design
US10831953B1 (en) Logic partition identifiers for integrated circuit design
US9696998B2 (en) Programmable substitutions for microcode
TWI437454B (zh) 用於估計半導體元件的雜訊變動之方法及估計裝置
JP5640259B2 (ja) 回路シミュレーション方法および回路シミュレーション装置
JP2008250583A (ja) レイアウト設計装置及びレイアウト方法
JP7334580B2 (ja) 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、自動配置配線プログラムを格納した記憶媒体および半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140624