JP2009147539A - 動的再構成デバイス及び半導体集積回路設計支援システム並びにプログラム - Google Patents
動的再構成デバイス及び半導体集積回路設計支援システム並びにプログラム Download PDFInfo
- Publication number
- JP2009147539A JP2009147539A JP2007320997A JP2007320997A JP2009147539A JP 2009147539 A JP2009147539 A JP 2009147539A JP 2007320997 A JP2007320997 A JP 2007320997A JP 2007320997 A JP2007320997 A JP 2007320997A JP 2009147539 A JP2009147539 A JP 2009147539A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- circuit
- context
- flip
- value
- 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.)
- Granted
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
【解決手段】クロック制御回路2−1〜2−4は、それぞれクロック制御の有無を示すクロック強制有効コンテキストの入力値pと、フリップフロップ(FF1)1−1〜(FF4)1−4の入力値cと出力値rとの3信号とクロックICLKを入力とし、3信号の状態に応じてクロックの固定制御を決定し、この結果をフリップフロップ(FF1)1−1〜(FF4)1−4へのクロックGCLKとして出力する。
【選択図】図1
Description
また、クロックゲーティング回路は、信号の遅延時間を管理しない場合にクロックハザードやクロックのハイ幅やロウ幅の細りが発生し、回路が誤動作するという問題もあった。
図1は、この発明の実施の形態1による動的再構成デバイスを示す構成図である。
図において、動的再構成デバイスは、プロセッサエレメント(PE)100とコンテキストデータ設定手段200を備えている。プロセッサエレメント(PE)100はコンテキスト型動的再構成デバイスの回路部であり、コンテキストデータ設定手段200は、データパス部のコンテキストデータ(コンテキスト番号1)201−1〜(コンテキスト番号n)201−nと、クロック強制有効コンテキストデータ(コンテキスト番号1)202−1〜(コンテキスト番号n)202−nをプロセッサエレメント(PE)100に適用して所望の回路を得るための手段である。ここで、コンテキストデータとはコンテキストの集合体での意味で用いる。
図2はクロック制御回路2の構成図である。
図示のように、クロック制御回路2は、クロック入力ポートICLK、クロック強制有効コンテキスト入力ポートp、FFの入力値の入力ポートc、FF出力選択値の入力ポートr、クロック出力ポートGCLKを備えた組合せ回路で、p、c、rの各入力信号値に応じて、入力ICLKからGCLKの出力制御を行う機能を有している。
図4は、クロック強制有効コンテキスト入力ポートpの入力状態を示す説明図である。
クロック制御回路2は動的再構成回路であり、図4に示すように、クロック強制有効コンテキスト入力ポートpの値が0の時に、クロック制御が行われるよう設定されている。そして、図3に示すように、クロック強制有効コンテキスト入力ポートpの値が0の時に、FFの入力値の入力ポートcとFF出力選択値の入力ポートrの値が共に1または0で同じ信号状態の時に出力クロックGCLKを固定する機能を有している。このような機能を有したクロック制御回路2を用いることで、FFの入力値と出力値に応じてクロックの固定制御を行うことが可能となる。
組合せ回路Cは、信号入力ポートx、信号入力ポートy、データパス部のコンテキスト入力ポートq、信号出力ポートzを備え、コンテキスト入力ポートqの状態により、異なる演算結果を出力することが可能な動的再構成回路である。
図7に示すように、組合せ回路Cは、
データパス部のコンテキスト入力ポートqの値が1の時に、入力xと同じ信号状態を出力し、
データパス部のコンテキスト入力ポートqの値が2の時に、入力yと同じ信号状態を出力し、
データパス部のコンテキスト入力ポートqの値が3の時に、入力xの論理反転した信号状態を出力し、
データパス部のコンテキスト入力ポートqの値が4の時に、入力yの論理反転した信号状態を出力し、
データパス部のコンテキスト入力ポートqの値が5の時に、入力xと入力yの論理積を出力し、
データパス部のコンテキスト入力ポートqの値が6の時に、入力xと入力yの論理積反転を出力し、
データパス部のコンテキスト入力ポートqの値が7の時に、入力xと入力yの論理和を出力し、
データパス部のコンテキスト入力ポートqの値が8の時に、入力xと入力yの論理和反転を出力する機能を特徴として備えた動的再構成回路である。
図示のように、FF出力選択回路Mは、
データパス部の未使用FF設定コンテキスト入力ポートsの値が1の時に、FFをスルーしたFFの入力信号の入力uを出力し、
データパス部の未使用FF設定コンテキスト入力ポートsの値が2の時に、FF出力の入力ポートvを出力する機能を有している。
FF1には信号c1とクロックgclk1が入力され、FF1からは信号d1が出力される。
FF2には信号c2とクロックgclk2が入力され、FF2からは信号d2が出力される。
FF3には信号c3とクロックgclk3が入力され、FF3からは信号d3が出力される。
FF4には信号c4とクロックgclk4が入力され、FF4からは信号d4が出力される。
クロック制御回路2−1には信号q1と信号r1と信号c1、ならびにクロックCLKが入力しており、クロック制御回路2−1からはクロックgclk1が出力される。
クロック制御回路2−2には信号q2と信号r2と信号c2、ならびにクロックCLKが入力しており、クロック制御回路2−2からはクロックgclk2が出力される。
クロック制御回路2−3には信号q3と信号r3と信号c3、ならびにクロックCLKが入力しており、クロック制御回路2−3からはクロックgclk3が出力される。
クロック制御回路2−4には信号q4と信号r4と信号c4、ならびにクロックCLKが入力しており、クロック制御回路2−4からはクロックgclk4が出力される。
クロック強制有効コンテキスト回路P1からは信号p1が出力される。
クロック強制有効コンテキスト回路P2からは信号p2が出力される。
クロック強制有効コンテキスト回路P3からは信号p3が出力される。
クロック強制有効コンテキスト回路P4からは信号p4が出力される。
組合せ回路C1には信号p1と信号x1と信号y1が入力しており、組合せ回路C1からは信号c1が出力される。
組合せ回路C2には信号p2と信号x2と信号y2が入力しており、組合せ回路C2からは信号c2が出力される。
組合せ回路C3には信号p3と信号x3と信号y3が入力しており、組合せ回路C3からは信号c3が出力される。
組合せ回路C4には信号p4と信号x4と信号y4が入力しており、組合せ回路C4からは信号c4が出力される。
組合せ回路C5には信号p5と信号x5と信号y5が入力しており、組合せ回路C5からは信号c5が出力される。
データパス部のコンテキスト回路Q1からは信号q1が出力される。
データパス部のコンテキスト回路Q2からは信号q2が出力される。
データパス部のコンテキスト回路Q3からは信号q3が出力される。
データパス部のコンテキスト回路Q4からは信号q4が出力される。
FF出力選択回路M1には信号s1と信号c1と信号d1が入力しており、FF出力選択回路M1からは信号x2が出力される。
FF出力選択回路M2には信号s2と信号c2と信号d2が入力しており、FF出力選択回路M2からは信号x4が出力される。
FF出力選択回路M3には信号s3と信号c3と信号d3が入力しており、FF出力選択回路M3からは信号y4が出力される。
FF出力選択回路M4には信号s4と信号c4と信号d4が入力しており、FF出力選択回路M4からは信号x5が出力される。
データパス部の未使用FF設定コンテキスト回路S1からは信号s1が出力される。
データパス部の未使用FF設定コンテキスト回路S2からは信号s2が出力される。
データパス部の未使用FF設定コンテキスト回路S3からは信号s3が出力される。
データパス部の未使用FF設定コンテキスト回路S4からは信号s4が出力される。
これらの図に示すように、PE100内の各動的再構成回路の各コンテキスト入力ポートに適切な値を設定することにより、各動的再構成回路を任意の回路として実現することができる。
図15および図16は、実施の形態2による動的再構成デバイスと半導体集積回路設計支援システムの構成を示すブロック図であり、図15は、動的再構成デバイスで実現する対象回路である半導体集積回路内の回路T1と回路T2と示し、図16は、動的再構成デバイスと半導体集積回路設計支援システムとを示している。尚、動的再構成デバイスの回路部であるプロセッサエレメント(PE)100については、図1で示した構成と同様であるため、内部の構成に対する図示は省略している。
回路情報記憶手段300は、動的再構成デバイス内の回路構成情報301と、動的再構成デバイス内の遅延時間情報302を記憶する。動的再構成デバイス内の回路構成情報301とは、プロセッサエレメント(PE)100における回路内容と回路間の接続情報である。回路には動的再構成回路とFF、組合せ回路、外部入力ポート、外部出力ポートを含む。また、動的再構成デバイス内の遅延時間情報302とは、コンテキストによって変化する出力遅延時間とクロック配線の到達遅延時間の情報である。尚、これらの情報は動的再構成デバイスの設計結果から容易に得られる情報である。
コンテキストによって変化する出力遅延時間は、動的再構成回路の各入力ポートに対して、前段回路の出力ポートまたは外部入力ポートを起点に、選択した入力ポートを通過して動的再構成回路を出力するまでの時間として定義する。回路間の配線遅延と動的再構成回路内の通過遅延を合わせた値として算出し、動的再構成回路毎の全コンテキストに対して、全入力ポートに対して定義する。
クロック配線の到達遅延時間は、基準点から各FFまでに経由する回路名と経由回路まで到達遅延時間をFF毎に保持している。ただし、以下の手続きで必要な値は動的に再構成した結果得られる回路で接続関係のあるFF間のクロック到達遅延時間差であるので、記憶しておくデータ量を減らす方法としては最大値と最小値の差だけを計算して保持しておいてもよい。
尚、実施の形態2で必要な情報は動的再構成デバイスのデータパス部のコンテキストデータのみであるので、論理的に等価な回路を生成する技術の詳細については言及しない。
繋続FF検出手段502は、コンテキストデータにより動的に再構成される回路上でFF毎にFFのデータ入力端子に繋がる全てのFFと入力ポートを検出し、各FFと入力ポートに到達するまでの経由回路名とクロック位相情報を検出する機能を有する。
検出FF記憶手段503は、繋続FF検出手段502が検出した結果を記憶し、最大遅延時間算出・追記手段504と最大値検出・追記手段505との情報授受を行う機能を有する。
最大遅延時間算出・追記手段504は、繋続FF検出手段502が検出した結果を保持した検出FF記憶手段503の情報と、データパス部のコンテキストデータ401,402と、動的再構成デバイス内の回路構成情報301と動的再構成デバイス内の遅延時間情報302とに基づいて、終点FFの入力に繋がるFF毎にFFの出力端子からクロック制御回路2内のゲーティング回路までの最大遅延時間と、FF出力選択回路からのクロック制御回路2内のゲーティング回路までの最大遅延時間を算出し、結果を検出して検出FF記憶手段503に追記する機能を備える。
クロック停止FF判定手段506は、最大値検出・追記手段505が算出し追記した結果を保持した検出FF記憶手段503の情報から終点FFを選択し、接続先に外部入力ポートとクロック位相が同期関係にないFFを含む場合はクロック停止不可と判定し、全ての接続先がFFでクロック位相が同期の場合に、その終点FFの最大値Tpと、最大許容遅延算出手段501が算出した値Tmとの比較を行い、Tp<Tmの場合はクロック停止可と判定し、Tp≧Tmの場合は停止不可と判定する機能を有する。
また、回路情報記憶手段300、検出FF記憶手段503は、コンピュータのメモリや外部記憶装置等に構築される。対象回路の構成要素間の接続関係に関する情報は、例えば上記コンピュータに装備された記憶装置に格納され、上記手段に適宜読み出されて利用される。
尚、以下の説明において、本発明の半導体集積回路設計支援システムを具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
図17および図18は、実施の形態2の動作を示すフローチャートであり、この図に沿って動作の詳細を説明する。
以下、図15に例示しているように動的再構成デバイスの回路部であるPE100で説明を行う。回路構成情報は実施の形態1に記載した内容であり、遅延情報はコンテキストによって変化する出力遅延時間定義の数値例を図19〜21に示し、クロック入力ポートCLKからの各FFまでのクロック配線の到達遅延時間を図22に示す。尚、図22から分かるようにクロック配線の到達遅延時間の最大値と最小値の差は1[ns]である。
対象回路は回路T1、コンテキスト番号は1、目標動作周波数は80[MHz]、クロック特性としてクロックデューティを45[%]、クロックジッタは2[%]、外部入出力タイミング制約としては制約無しに相当する0[ns]を入力する。ここで[]は単位表記であり、%は周期に対する割合で使用しているが、時間単位にするなどの単位の変更も可能である。尚、対象回路内に複数のクロックがある場合はクロック名と各数値をクロックの本数分入力し、外部入出力タイミング制約指定が必要な外部入力ポートや外部出力ポート、外部入出力ポートが有る場合は、ポート名とタイミング制約を必要な数だけ入力する。
次に、データパス部のコンテキストデータ生成手段400は、コンテキスト番号1に対するデータパス部のコンテキストデータ401を生成する(ステップST2)。以下、データパス部のコンテキストデータ生成手段400で行うステップST2の処理について説明を行う。
先ず、ステップST1で入力された情報と回路情報記憶手段300の内容を元に、動的再構成デバイスのタイミング制約を決定する。外部入出力タイミング制約は入力情報をそのまま使用し、FF間のデータパス遅延の最大許容遅延時間Tfは、目標動作周波数の周期からクロックジッタとクロック配線の到達遅延時間差を減算して決定する。
コンテキスト番号1の場合は、外部入出力タイミング制約が0のため制約無し、Tf=12.50×(1−2/100)−1=11.25となる。
回路T1に対する外部入出力タイミング制約は無いので、入力ポートDTI1〜2、および出力ポートDTO1に対するタイミング判定はスキップされる。また、FF間のタイミング判定は、データパス遅延Tdが、Td≦11.25であるかを判定する。タイミング判定で違反した場合は別の回路構成の探索とそのタイミング判定を違反が無くなるまで繰り返し、違反が残った場合は違反値が最小になるFF間の回路構成情報と違反値を記憶することになるが、この処理は本発明の本質に関わるものではないので省略する。
クロックとリセットに関して抽出した情報からPE100内のクロック信号接続とリセット信号接続を決定する。回路T1のFF数4個に対して、PE100から同じクロックに繋がる4個のリセット端子付きリセットFF1〜FF4から選択する。
次に、回路T1の出力ポート数と接続情報を確認する。回路T1の抽出結果は、出力ポート数が1、1個のFFから回路経由無し接続。
抽出結果に対して、回路T1の出力ポートDTO1とFF8をPE100の出力ポートOUT1とFF4に割当てる。この時、PE100の組合せ回路C5の出力はFF4出力から入力ポートxのスルー出力である必要があるためコンテキストq5は値1に、M4の出力もFF経由出力である必要があるためコンテキストs4は値1に決定される。前述した理由によりタイミング判定はスキップされる。
抽出結果に対して、回路T1の論理和回路OR1とFF6とFF7を回路PE100の組合せ回路C4とFF2とFF3に割当てる。この時、PE100の組合せ回路C4は論理和である必要があるためコンテキストq4は値7に、FF出力選択回路M2とFF出力選択回路M3の出力もFF経由である必要があるためコンテキストs2とs3は共に値1が選ばれる。
ここで、FF間のデータパス遅延Tdのタイミング判定が行われる。FF2からFF4までの間にはFF出力選択回路M2の入力ポートvと組合せ回路C4の入力ポートxを経由している。図20、図21からTd=3+6=9≦Tfとなりタイミング判定を満たす。FF3からFF4までの間にはFF出力選択回路M3の入力ポートvと組合せ回路C4の入力ポートyを経由しており、同様に、Td=3+5=8≦Tfでタイミング判定を満たす。以上により、FF4に繋がる全てのFFのタイミング判定に違反が無かったので選ばれたコンテキスト値が決定される。
この時、PE100の組合せ回路C2のコンテキストq2と組合せ回路C3のコンテキストq3は共に入力ポートxの論理反転の値3に、組合せ回路C1のコンテキストq1は入力ポートxのスルー出力の値1に、FF出力選択回路M1の出力もFF経由である必要があるため、コンテキストs1は値1が選ばれる。ここでFF間のデータパス遅延のタイミング判定が行われ、入力ポートのタイミング判定は前述した理由によりスキップされる。FF1からFF2までの間には、FF出力選択回路M1の入力ポートvと組合せ回路C2の入力ポートxを経由している。Td=3+1=4≦Tfを満たす。
以上により、FF2に繋がる全てのFFのタイミング判定に違反が無く、FF1とFF3は入力ポートのみに繋がっているのでタイミング判定に違反が無かったので選ばれたコンテキスト値が決定される。
このような処理により、回路T1に対する全ての回路と入力ポートと出力ポートの割当が終了し、データパス部のコンテキストデータ生成手段400は、回路T1に対するPE100のデータパス部のコンテキストデータとして、図23に示すような結果を得る。尚、PE100の入力ポートIN1〜3、IN5は使用されない。
対象回路は回路T2、コンテキスト番号は2、目標動作周波数は1[MHz]、クロック特性としてクロックデューティを25[%]、クロックジッタは20[%]、外部入出力タイミング制約としては制約無しに相当する0[ns]を入力する。
次に、データパス部のコンテキストデータ生成手段400は、コンテキスト番号2に対するデータパス部のコンテキストデータを生成する(ステップST2)。前述の回路T1の場合のステップST2と同様に、先ず、ステップST1で入力された情報と回路情報記憶手段300の内容を元に、動的再構成デバイスのタイミング制約を決定する。コンテキスト番号2の場合は、外部入出力タイミング制約が0のため制約無し、Tf=1000×(1−20/100)−1=799となる。
回路T2のクロック信号数とクロック接続情報を抽出する。回路T2の抽出結果は、クロック信号数は1、この接続数は3、全てポジエッジトリガのFF。次にリセット信号数とリセット接続情報を抽出する。回路T2の抽出結果は、リセット信号数は1、この接続数は3、全てリセット信号で制御可能な端子が付いた初期値0のリセット端子付きリセットFF。
次に、回路T2の出力ポート数と接続情報を確認する。回路T2の抽出結果は、出力ポート数が1、1個のFFから論理反転して接続。
抽出結果に対して、回路T2の出力ポートDTO2と論理反転回路IV4とFF11をPE100の出力ポートOUT1と組合せ回路C5とFF4に割当てる。この時、PE100の組合せ回路C5の出力はFF4出力の入力ポートxの論理反転のためコンテキストq5は値3に、FF出力選択回路M4の出力もFF経由のためコンテキストs4は値1に決定される。前述した理由によりタイミング判定はスキップされる。
次に、回路T2内の3個のFFに対して、FFの入力に繋がる接続情報を抽出する。出力ポートに繋がるFFから順に選び、FF11はFF9とFF10から論理積反転NA1を経由して接続、FF10は入力ポートDTI4から直接接続、FF9は入力ポートDTI3の論理反転回路IV3を経由して接続している。
ここで、FF間のデータパス遅延Tdのタイミング判定が行われる。FF2からFF4までの間にはFF出力選択回路M2の入力ポートvと組合せ回路C4の入力ポートxを経由している。図20、図21からTd=3+2=5≦Tfとなりタイミング判定を満たす。FF3からFF4までの間にはFF出力選択回路M3の入力ポートvと組合せ回路C4の入力ポートyを経由しており、同様に、Td=3+1=4≦Tfでタイミング判定を満たす。以上により、FF4に繋がる全てのFFのタイミング判定に違反が無かったので選ばれたコンテキスト値が決定される。
ここで入力ポートのタイミング判定は前述した理由によりスキップされる。
以上により、回路T2に対する全ての回路と入力ポートと出力ポートの割当が終了し、データパス部のコンテキストデータ生成手段400は回路T2に対するPE100のデータパス部のコンテキストデータとして、図29を得る。尚、PE100の入力ポートIN1、IN3〜5、FF1、組合せ回路C1、FF出力選択回路M1は使用されない。
以上が、ステップST1〜ステップST2の詳細である。
次に、クロック強制有効コンテキストデータ生成手段507は、データパス部のコンテキストデータ生成手段400がステップST2で生成したデータパス部のコンテキストデータ401から未使用FFを検出し、クロック強制有効コンテキストデータの初期値を作成する(ステップST5)。未使用FF情報は、データパス部のコンテキストデータ401のうち、FF出力選択回路Mのコンテキスト入力ポートsの値により判定することが出来る。sの値が1の時は未使用FFで、sの値が2の時は動作FFである。
次に、最大許容遅延算出手段501は、クロックゲーティングパスの最大許容遅延値Tmを算出する(ステップST6)。Tmの算出方法は、周期からジッタを減算した値にデューティを乗じ、クロック配線の遅延時間差を減算する。
コンテキスト番号1のTm=12.50×(1−2/100)×45/100−1=4.51。
次に、繋続FF検出手段502は、対象回路内の動作FFを検出し、番号付けする(ステップST8)。図23に示すコンテキスト番号1のデータパス部のコンテキストデータ401から、PE100内の動作FFである、FF1、FF2、FF3、FF4を検出し、1、2、3、4と番号付けする。
終点FF1のデータ入力端子に繋がるFFは無く、入力ポートIN4が検出される。
終点FF2のデータ入力端子に繋がるFFはFF1が検出され、入力ポートは検出されない。
終点FF3のデータ入力端子に繋がるFFは無く、入力ポートIN6が検出される。
終点FF4のデータ入力端子に繋がるFFはFF2とFF3が検出され、入力ポートは検出されない。
次に、検出FF記憶手段503は、ステップST9とステップST10の結果からFF毎にFFのデータ入力端子に繋がる全てのFFと入力ポートと経由回路の情報を記憶する(ステップST11)。ステップST11で記憶したステップST8の検出結果とステップST9の判定結果を図25に示す。
次に、最大遅延時間算出・追記手段504は、ST12で選んだFFのデータ入力端子に繋がるFF毎にFFの出力端子からクロック制御回路2内のゲーティング回路までの最大遅延時間とFF出力選択回路からのクロック制御回路2内のゲーティング回路までの最大遅延時間を算出し追記する(ステップST13)。FF2に繋がるFFはFF1のみであり、FF1からクロック制御回路2−2内のゲーティング回路までの経路遅延計算式は、Tc=M1v+C2x+CK2c=2+1+1=4
FF2の出力選択回路からクロック制御回路2−2内のゲーティング回路までの経路遅延計算式は、Tr=M2v+CK2r=2+1=3
次に、クロック停止FF判定手段506は、Tp<Tmが成立するかどうかを判定し、成立の場合はステップST16、不成立の場合はステップST18へ移る(ステップST15)。Tp=4、Tm=4.51であるのでTp<Tmが成立し、ステップST16へ移る。
次に、クロック停止FF判定手段506は、クロック停止可能なFFとして検出FF記憶手段503に追記する(ステップST16)。FF2がクロック停止可能と追記する。
次に、クロック強制有効コンテキストデータ生成手段507は、クロック強制有効コンテキスト値を値0に書き換える(ステップST17)。クロック制御回路2−2のクロック強制有効コンテキストp2の値を0に書き換える。
次に、クロック停止FF判定手段506は、接続種別がFFでクロック位相が同期である全ての終点FFに対する処理が終了しているか判定し、終了していればステップST19に移り、終了していなければステップST12に移る(ステップST18)。ここでは、FF4に対する処理が終了していないので、ステップST12に移る。
次に、最大遅延時間算出・追記手段504は、ST12で選んだFFのデータ入力端子に繋がるFF毎にFFの出力端子からクロック制御回路2内のゲーティング回路までの最大遅延時間とFF出力選択回路からのクロック制御回路2内のゲーティング回路までの最大遅延時間を算出し追記する(ステップST13)。FF4に繋がるFFはFF2とFF3があり、FF2からクロック制御回路2−4内のゲーティング回路までの経路遅延計算式は、Tc2=M2v+C4x+CK4c=2+6+1=9
FF3からクロック制御回路2−4内のゲーティング回路までの経路遅延計算式は、Tc3=M3v+C4y+CK4c=2+5+1=8
FF4の出力選択回路からクロック制御回路2−4内のゲーティング回路までの経路遅延計算式は、Tr=M4v+CK4r=2+1=3
次に、最大値検出・追記手段505は、ST13の結果から最大遅延時間Tpを検出し、追記する(ステップST14)。FF4に繋がるFFはFF2とFF3であるので、Tc2>Tc3>TrとなりTp=Tc2=9となる。
次に、クロック停止FF判定手段506は、接続種別がFFでクロック位相が同期である全ての終点FFに対する処理が終了しているか判定し、終了していればステップST19に移り、終了していなければステップST12に移る(ステップST18)。全てのFFに対する処理が終了したので、ステップST19に移る。
最大遅延時間算出・追記手段504が算出したコンテキスト番号1に関するクロック制御回路2内のクロックゲーティング回路までの遅延計算式と最大遅延時間を図26に示す。
また、検出FF記憶手段503上のコンテキスト番号1に関する最終情報を図27に示す。
また、コンテキスト番号1のクロック強制有効コンテキストデータを図28に示す。
次に、クロック停止FF判定手段506は、全てのコンテキスト番号に対する処理が終了したか判定し、終了していればステップST20に移り、終了していなければステップST4に移る(ステップST19)。コンテキスト番号2に対する処理が終了していないので、ステップST4に移る。
クロック強制有効コンテキストデータ生成手段507が作成したコンテキスト番号2のクロック強制有効コンテキストデータの初期値を図30に示す。
コンテキスト番号2のTm=1000×(1−20/100)×25/100−1=199。
次に、繋続FF検出手段502は、データパス部のコンテキストデータ402から、対象回路内の回路構成を復元する(ステップST7)。図29に示すコンテキスト番号2のデータパス部のコンテキストデータ402から、回路T2内の回路構成をPE100に復元する。次に、繋続FF検出手段502は、対象回路内の動作FFを検出し、番号付けする。(ステップST8)。図29に示すコンテキスト番号2のデータパス部のコンテキストデータ402から、PE100内の動作FFである、FF2、FF3、FF4を検出し、1、2、3と番号付けする。次に、繋続FF検出手段502は、ステップST8で番号付けしたFF毎にFFのデータ入力端子に繋がる全てのFFと入力ポートと経由回路を検出する(ステップST9)。ここで、番号1から3まで順番にFF毎にFFのデータ入力端子に繋がる全てのFFと入力ポート名を検出する。
終点FF2のデータ入力端子に繋がるFFは無く、入力ポートIN2が検出される。
終点FF3のデータ入力端子に繋がるFFは無く、入力ポートIN6が検出される。
終点FF4のデータ入力端子に繋がるFFはFF2とFF3が検出され、入力ポートは検出されない。
次に、検出FF記憶手段503は、ステップST9とステップST10の結果からFF毎にFFのデータ入力端子に繋がる全てのFFと入力ポートと経由回路の情報を記憶する(ステップST11)。ステップST11で記憶したステップST8の検出結果とステップST9の判定結果を図31に示す。
次に、最大遅延時間算出・追記手段504は、ST12で選んだFFのデータ入力端子に繋がるFF毎にFFの出力端子からクロック制御回路2内のゲーティング回路までの最大遅延時間とFF出力選択回路からのクロック制御回路2内のゲーティング回路までの最大遅延時間を算出し追記する(ステップST13)。FF4に繋がるFFはFF2とFF3があり、FF2からクロック制御回路2−4内のゲーティング回路までの経路遅延計算式は、Tc2=M2v+C4x+CK4c=2+3+1=6
FF3からクロック制御回路2−4内のゲーティング回路までの経路遅延計算式は、Tc3=M3v+C4y+CK4c=2+2+1=5
FF4の出力選択回路からクロック制御回路2−4内のゲーティング回路までの経路遅延計算式は、Tr=M4v+CK4r=2+1=3
次に、クロック停止FF判定手段506は、Tp<Tmが成立するかどうかを判定し、成立の場合はステップST16、不成立の場合はステップST18へ移る(ステップST15)。Tp=6、Tm=199であるのでTp<Tmが成立し、ステップST16へ移る。次に、クロック停止FF判定手段506は、クロック停止可能なFFとして検出FF記憶手段503に追記する(ステップST16)。FF4がクロック停止可能と追記する。
次に、クロック強制有効コンテキストデータ生成手段507は、クロック強制有効コンテキスト値を値0に書き換える(ステップST17)。クロック制御回路2−4のクロック強制有効コンテキストp4の値を0に書き換える。
ここまでの手続きにより、コンテキスト番号2に対する処理が完了する。
最大遅延時間算出・追記手段504が算出したコンテキスト番号2に関するクロック制御回路2内のクロックゲーティング回路までの遅延計算式と最大遅延時間を図32に示す。
検出FF記憶手段503上のコンテキスト番号2に関する最終情報を図33に示す。
コンテキスト番号2のクロック強制有効コンテキストデータを図34に示す。
PE100のコンテキストデータの説明を図35に、また、PE100のビット割当て例を図36に示す。
Claims (6)
- フリップフロップを有するコンテキスト型の動的再構成デバイスにおいて、
前記フリップフロップの入力値と出力値に応じてクロックの固定制御を行うクロック制御回路を備えた動的再構成デバイス。 - クロック制御回路は、クロック制御の有無を示すクロック強制有効コンテキストと、フリップフロップの入力値と、フリップフロップの出力値との3信号とクロックを入力とし、前記3信号の状態に応じてクロックの固定制御を決定し、この結果を前記フリップフロップへのクロックとして出力し、
かつ、
前記クロック強制有効コンテキストの値をコンテキストデータとして保持し設定するコンテキストデータ設定手段を備えたことを特徴とする請求項1記載の動的再構成デバイス。 - 請求項2の動的再構成デバイスに対して、
前記動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、当該算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止FF検出手段を備えた半導体集積回路設計支援システム。 - 半導体集積回路設計支援を行うコンピュータを、
請求項2の動的再構成デバイスに対して、
前記動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、当該算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止FF検出手段として機能させるための半導体集積回路設計支援プログラム。 - クロック停止FF検出手段は、
動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延を算出する最大許容遅延算出手段と、
コンテキストデータにより動的に再構成される回路上でフリップフロップ毎にフリップフロップのデータ入力端子に繋がる全てのフリップフロップを検出する繋続FF検出手段と、
繋続FF検出手段の検出結果に基づいて、フリップフロップ間の最大遅延時間であるFF間最大遅延時間を算出する最大遅延時間算出・追記手段と、
前記最大遅延時間算出・追記手段の算出結果に基づいて、フリップフロップ毎の遅延時間の最大値を検出する最大値検出・追記手段と、
前記最大値検出・追記手段が検出した最大値と、前記最大許容遅延の値からクロック停止可能なフリップフロップを判定するクロック停止FF判定手段と、
前記クロック停止FF判定手段が判定した結果からクロック強制有効コンテキストデータを生成するクロック強制有効コンテキストデータ生成手段とを備えたことを特徴とする請求項3記載の半導体集積回路設計支援システム。 - クロック停止FF検出手段は、
動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延を算出する最大許容遅延算出手段と、
コンテキストデータにより動的に再構成される回路上でフリップフロップ毎にフリップフロップのデータ入力端子に繋がる全てのフリップフロップを検出する繋続FF検出手段と、
繋続FF検出手段の検出結果に基づいて、フリップフロップ間の最大遅延時間であるFF間最大遅延時間を算出する最大遅延時間算出・追記手段と、
前記最大遅延時間算出・追記手段の算出結果に基づいて、フリップフロップ毎の遅延時間の最大値を検出する最大値検出・追記手段と、
前記最大値検出・追記手段が検出した最大値と、前記最大許容遅延の値からクロック停止可能なフリップフロップを判定するクロック停止FF判定手段と、
前記クロック停止FF判定手段が判定した結果からクロック強制有効コンテキストデータを生成するクロック強制有効コンテキストデータ生成手段とを備えたことを特徴とする請求項4記載の半導体集積回路設計支援プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007320997A JP5241218B2 (ja) | 2007-12-12 | 2007-12-12 | 半導体集積回路設計支援システム並びに半導体集積回路設計支援プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007320997A JP5241218B2 (ja) | 2007-12-12 | 2007-12-12 | 半導体集積回路設計支援システム並びに半導体集積回路設計支援プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009147539A true JP2009147539A (ja) | 2009-07-02 |
JP5241218B2 JP5241218B2 (ja) | 2013-07-17 |
Family
ID=40917672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007320997A Expired - Fee Related JP5241218B2 (ja) | 2007-12-12 | 2007-12-12 | 半導体集積回路設計支援システム並びに半導体集積回路設計支援プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5241218B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012226578A (ja) * | 2011-04-20 | 2012-11-15 | Renesas Electronics Corp | 半導体集積回路の遅延解析方法、遅延解析プログラム、遅延解析装置 |
WO2018069787A1 (en) * | 2016-10-14 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, broadcasting system, and electronic device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11145789A (ja) * | 1997-07-29 | 1999-05-28 | Sharp Corp | 低消費電力化レジスタ回路 |
JPH11340795A (ja) * | 1998-05-22 | 1999-12-10 | Nec Corp | フリップフロップ回路 |
JP2000013195A (ja) * | 1998-06-24 | 2000-01-14 | Nec Corp | 低消費電力回路及びこれを含む集積回路 |
JP2000232339A (ja) * | 1998-08-26 | 2000-08-22 | Toshiba Corp | クロック信号制御機能付フリップフロップ回路、及び、クロック制御回路 |
JP2002271188A (ja) * | 2001-03-14 | 2002-09-20 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置 |
JP2007166377A (ja) * | 2005-12-15 | 2007-06-28 | Yaskawa Electric Corp | 再構成可能な演算処理回路 |
-
2007
- 2007-12-12 JP JP2007320997A patent/JP5241218B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11145789A (ja) * | 1997-07-29 | 1999-05-28 | Sharp Corp | 低消費電力化レジスタ回路 |
JPH11340795A (ja) * | 1998-05-22 | 1999-12-10 | Nec Corp | フリップフロップ回路 |
JP2000013195A (ja) * | 1998-06-24 | 2000-01-14 | Nec Corp | 低消費電力回路及びこれを含む集積回路 |
JP2000232339A (ja) * | 1998-08-26 | 2000-08-22 | Toshiba Corp | クロック信号制御機能付フリップフロップ回路、及び、クロック制御回路 |
JP2002271188A (ja) * | 2001-03-14 | 2002-09-20 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置 |
JP2007166377A (ja) * | 2005-12-15 | 2007-06-28 | Yaskawa Electric Corp | 再構成可能な演算処理回路 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012226578A (ja) * | 2011-04-20 | 2012-11-15 | Renesas Electronics Corp | 半導体集積回路の遅延解析方法、遅延解析プログラム、遅延解析装置 |
WO2018069787A1 (en) * | 2016-10-14 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, broadcasting system, and electronic device |
US10390075B2 (en) | 2016-10-14 | 2019-08-20 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, broadcasting system, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
JP5241218B2 (ja) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7143221B2 (en) | Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus | |
US11842199B2 (en) | Controlling the operating speed of stages of an asynchronous pipeline | |
US9740454B2 (en) | Crossing pipelined data between circuitry in different clock domains | |
JP4272108B2 (ja) | データ処理装置用バス相互接続ブロックの設計に関するフレキシビリティの改善 | |
JP5985900B2 (ja) | 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム | |
JP4076973B2 (ja) | データ処理装置を使用する場合のフレキシビリティの改善 | |
JP5063511B2 (ja) | クロック駆動の論理回路においてタイミング・クロージャを達成するために制御ロジックのマルチソース・ネットワークを効率的に利用する方法およびシステム | |
JP2008245288A (ja) | 低電力モードにおける漏洩電力削減 | |
JP5241218B2 (ja) | 半導体集積回路設計支援システム並びに半導体集積回路設計支援プログラム | |
US10657210B2 (en) | Slack time recycling | |
JP3651588B2 (ja) | 区分化同期インタフェース用調整可能クロックを備えたデータ処理システム | |
US9729153B1 (en) | Multimode multiplexer-based circuit | |
JP2008204341A (ja) | インタフェース合成装置 | |
GB2366415A (en) | A method for identifying and removing false feedback loops in circuit synthesis | |
JP5057509B2 (ja) | 動作合成装置、動作合成方法、半導体集積回路の製造方法、動作合成プログラムおよび可読記憶媒体 | |
Sadasivam et al. | Autonomous buffer controller design for concurrent execution in block level pipelined dataflow | |
JP4799137B2 (ja) | バスシステム | |
Kumar et al. | Highly flexible multi-mode system synthesis | |
WO2010055706A1 (ja) | データ処理装置、データ処理方法及びプログラム | |
JP2010113405A (ja) | 半導体集積回路合成装置 | |
JP4319081B2 (ja) | 低消費電力回路の設計支援装置 | |
JP2007018264A (ja) | バスシステム及びその経路選択方法 | |
JP2007018265A (ja) | バスシステム及びその制御方法 | |
GB2519414A (en) | Crossing pipelined data between circuitry in different clock domains | |
JP2006190796A (ja) | 半導体装置およびタイミング制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100929 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121212 |
|
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: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130402 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5241218 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |