JP2014127048A - 高位合成装置、及び高位合成方法 - Google Patents

高位合成装置、及び高位合成方法 Download PDF

Info

Publication number
JP2014127048A
JP2014127048A JP2012283628A JP2012283628A JP2014127048A JP 2014127048 A JP2014127048 A JP 2014127048A JP 2012283628 A JP2012283628 A JP 2012283628A JP 2012283628 A JP2012283628 A JP 2012283628A JP 2014127048 A JP2014127048 A JP 2014127048A
Authority
JP
Japan
Prior art keywords
module
circuit
latency
adjustment
delay
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
JP2012283628A
Other languages
English (en)
Inventor
Hitoshi Nakamura
仁 中村
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012283628A priority Critical patent/JP2014127048A/ja
Publication of JP2014127048A publication Critical patent/JP2014127048A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】モジュールの最適化と遅延調整を行うことが可能な高位合成装置、及び高位合成方法を提供する。
【解決手段】処理動作の記述からRTLに変換するための処理を行う動作合成部701と、動作合成処理される際にを抽出したレイテンシ情報を管理するレイテンシ情報抽出部702と、回路を構成する全てのパスのデータの流れ全てを指定するパス指定部703と、レイテンシ調整するためのパスへの入力を同タイミングにすることを指定するレイテンシ調整指定部704と、指定されたパスのレイテンシを算出するパスレイテンシ算出部705と、レイテンシ調整に関わるモジュールを抽出する調整箇所関連モジュール抽出部706と、関連モジュールの内部タイミング情報を抽出管理するモジュール内部タイミング情報抽出部707と、レイテンシ調整方法を判断するレイテンシ調整方法判断部708と、レイテンシ方法に従って記述の変更を行う記述変更部709を有する。
【選択図】図7

Description

本発明は、高位合成装置、及び高位合成方法に関する。特に、本発明は、高位合成時に動作記述におけるモジュールのレイテンシを解析し、ツールが自動的にモジュール間のレイテンシを調整し、回路生成のための処理動作記述を変更する際に生成される回路が最適化されるように記述の変更を行うことに関する。
高位合成方法は、C、C++、systemC言語等による処理動作のみの記述から、レジスタ、演算回路、メモリアクセス制御等RTL(Register Transfer Level)の論理回路を自動生成する方法である。
処理動作の記述において、レイテンシ等は、ソースコード上に指定されるディレクティブにより指定して設計することが出来る。
回路を構成する下層モジュールを個々に動作合成して、回路全体の生成を行う場合、モジュール間のレイテンシ調整が必要となる場合がある。
レイテンシ調整として、自動的に遅延を挿入する方法が挙げられる。これは、レイテンシ調整必要箇所を指定し、各モジュールの高位合成時のレイテンシ情報、ソースコード上のディレクティブ情報に基づき上位層の回路で調整するレイテンシを算出し、HDL記述を変更する技術である。このような技術は、例えば、特許文献1等が挙げられる。HDLは、Hardware Description Language(ハードウェア記述言語)の略である。
しかし、上記方法のスループットとしてのレイテンシ調整は、指定したレイテンシを合わせる箇所において、調整するパスのレイテンシの差異を算出して、指定したレイテンシ調整箇所に遅延回路を挿入するものである。
例えば、図1のように、モジュールA→モジュールB→モジュールCの順にデータ転送されるデータパスと、モジュールC→モジュールDの順にデータ転送されるデータパスからのデータがモジュールDにおいて合流する場合について説明する。
各データパスのレイテンシを算出し、その差異をいずれかのモジュール間、すなわち、図1モジュールB→モジュールDあるいはモジュールC→モジュールDに遅延を挿入する。つまり、図2に示すように、遅延回路が挿入される。
各データパスのレイテンシの差異となる遅延量を遅延回路として挿入しているだけであり、それに接続されるモジュールの高位合成状況としての回路内部タイミング等は考慮されず、回路最適化されていない。つまり、遅延回路が付加されたのみである。
そこで、本発明の目的は、モジュールの最適化と遅延調整を行うことが可能な高位合成装置、及び高位合成方法を提供することを目的とする。
上記課題を解決するため、請求項1に係る発明は、デジタル回路の処理動作記述からレジスタトランスファレベルの論理回路を生成する高位合成装置において、複数のモジュールで構成されている回路の前記各モジュールに対し個々に動作合成を行い、前記各モジュール間のレイテンシ調整量を調整する調整回路を生成する処理動作記述を変更する変更手段を備え、前記変更手段は、判断結果により前記各モジュールのタイミング変更による処理動作記述の変更と、レイテンシ調整のための遅延回路挿入による処理動作記述の変更と、を行って回路最適化を行うことを特徴とする。
本発明によれば、モジュールの最適化と遅延調整を行うことが可能な高位合成装置、高位合成方法、及びプログラムの提供を実現できる。
レイテンシ調整が必要な回路構成を説明するための説明図である。 レイテンシ調整のため遅延回路を挿入した回路ブロック図である。 レイテンシ調整のため遅延回路を挿入した回路の内部を説明するための説明図である。 図1のモジュールCの内部を説明するための説明図である。 図1のモジュールCのタイミングの説明図である。 図3の3の3の遅延回路挿入の場合のタイミングを説明する図である。 高位合成装置のブロック図である。 実施形態1の処理フロー図である。 モジュールCのサイクル数緩和したとき生成された回路図である。 実施形態1によりレイテンシ調整して生成される回路である。 レイテンシ調整前のTOP階層の処理動作記述ソースコードである。 レイテンシ調整前の下階層の処理動作記述ソースコードである。 処理動作記述変更されたソースコードである。 変更により挿入される遅延回路のソースコードである。 TOP階層の処理動作記述変更されたソースコードである。 遅延挿入をモジュールC回路内で行った場合の説明回路図である。 実施形態2を説明する回路構成図である。 (a)は、モジュールCの出力側に遅延回路を挿入した場合の図であり、(b)は、モジュールCの入力側に遅延回路を挿入した場合の図である。 実施形態2によりレイテンシ調整して生成される回路図である。 実施形態2の遅延回路挿入を入力側と出力側を選択する処理フロー図である。 TOP下階層の処理動作記述変更されたソースコードである。 実施形態3を説明する回路構成図である。 レイテンシ調整位置候補を説明する図である。 実施形態3の処理フロー図である。 実施形態3の選択方法を説明する図である。 実施形態4のレイテンシ調整位置候補の情報である。 実施形態5のモジュール出力が同データ分岐のある回路構成例1である。 モジュール出力が同データ分岐のある回路構成例2である。 モジュール出力が同データ分岐のある回路構成例2である。 図28のレイテンシ調整位置による回路増減情報である。 モジュール出力が同データ分岐のある回路構成例4である。 モジュール出力が同データ分岐のある回路構成例4である。 図31のレイテンシ調整位置候補の情報および調整位置決定方法の説明図である。
(第1の実施形態)
図1から図15を参照して、本発明に係る高位合成装置の実施の形態を詳細に説明する。
図1は、一実施形態の高位合成装置の回路の構成を示したものであり、上位階層TOP回路100の下に個別に動作合成するモジュールとして、モジュールA101、モジュールB102、モジュールC103、及びモジュールD104がある。
高位合成装置は、デジタル回路の処理動作記述からレジスタトランスファレベルの論理回路を生成する装置である。
変更手段は、判断手段の判断結果により、複数のモジュールで構成されている回路のモジュールに対し個々に動作合成を行い、モジュール間のレイテンシ調整量を調整する調整回路を生成する処理動作記述を変更する。
判断手段は、モジュールに対して、内部タイミングの状態から回路生成タイミングを変更するか否かを判断する。
TOP100には、入力として信号T1_INとT2_INとがあり、出力として信号T1_OUTがある。
信号T1_INの入力は、モジュールA101へ入力され、モジュールA101の処理出力がモジュールB102へ入力される。モジュールBの処理出力は、モジュールD104へ入力される(以下、このパスをABDパスと呼ぶ)信号T2_INの入力は、モジュールC103へ入力される。モジュールC103の処理出力がモジュールD104へ入力される(以下、このパスをCDパスと呼ぶ)。
モジュールD104は、ABDパスとCDパスからの2系統のデータ信号を受け、T1_OUTへ処理出力される。
TOPへ入力されるT1_INとT2_INデータ信号は、同タイミングで入力され、ABDパスとCDパスとの各々で処理されたデータは、同タイミングでモジュールD104へ入力される回路構成である。
高位合成装置において、上位階層TOP回路100下のモジュールA,B,C,Dを個別に動作合成を行った場合、それぞれのモジュールにレイテンシ(遅延量)があり、モジュールDの入力における入力は、同タイミングとなっていない場合がある。
例えば、図1においてモジュールAは、A1_IN(T1_IN)からA1_OUTまでの遅延量(delay)が1であるとする。モジュールBは,B1_INからB1_OUTまでの遅延量(delay)が2であるとする。モジュールCは、C1_INからC1_OUTまでの遅延量(delay)が1であるとすると、モジュールDへ入力される2つのパスの遅延量は以下のようになる。
ABDパスのデータは、T1_IN→A1_IN→A1_OUT→B1_IN→B1_OUT→D1_INの順でデータ処理が行われ、1+2=3の遅延量でDモジュールに入力される。CDパスのデータは、T2_IN→C1_IN→C1_OUT→D2_INの順でデータ処理が行われ、1の遅延量でDモジュールに入力される。
このようにモジュールDへの2系統の入力D1_INとD2_INの入力遅延が異なるため、タイミング(遅延)調整をする必要があり、ABDパスとCDパスの遅延量が同じになるように調整する。
つまり、この2つのパスの差異を遅延回路挿入することで調整を行う。
ABDパス−CDパス=3−1=2の遅延量をCDパスに挿入を行うことになる。
モジュールDへの2系統の入力パスの遅延量を調整した回路の簡略図を図3に示した。
それぞれのモジュールは、組み合わせ回路301とフリップフロップ(FF)302の構成であり、FFとFFとの間は1cycleでの処理となる。
モジュールA101では、FF1段、モジュールB102は2段、モジュールC103は1段、遅延量調整のために挿入される遅延回路201は2段となる。
特許文献1に記載の発明においては、モジュールDへの2系統の入力のレイテンシを同タイミングにするように図1のモジュールA105の位置を指示し、図3に示すようにモジュールCとモジュールDとの間に遅延回路を挿入するものである。
遅延量調整のため、遅延回路201を挿入し、それに接続されるモジュールCの状態能(回路内部のタイミング)とは無関係に遅延回路された回路生成のための記述が変更される。
このとき、モジュールCの内部タイミングが厳しい状態である場合、内部タイミングを達成させるために回路を生成させるセルは、高速なプリミティブセルが使用されることもある。高速なプリミティブセルは、規模が大きい場合があり、結果、生成される回路は、大きくなることになる。
レイテンシ調整のための遅延量をモジュールCの内部タイミングを緩和して、回路生成を行えるようにする。
モジュールCの内部タイミングが厳しい状態を考える。
モジュールC101の内部タイミングは、図4に示すように、前段FF(403)あるいは、外部(T2_IN)から入力され、モジュールC内において所望の処理が行われ(組み合わせ回路401)、FF(402)に到達する。
このFF(403)(あるいは外部T2_IN)からFF(402)までのデータ転送を1cycleで受けることでタイミングを満たしている状態となる。
当然、FF(402)には、setup/holdがある。
例えば、図5に示すように、生成する回路が200MHzのクロック周波数で動作するものとすると、1cycle(501)5.0nsとなる。
前段FF(403)の出力遅延と組み合わせ回路(401)の組み合わせ回路の遅延時間は4.5nsある。FF(402)のsetupが0.5ns必要としている場合、この期間(501)のタイミングの余裕(slack)は、5−(4.5+0.5)=0nsとなる。つまり、ほとんど余裕のないタイミングを達成している状態である。
図3のように遅延回路201の挿入場合は、図6に示すようにモジュールCのタイミングであるFF601〜FF602のタイミングに関わらず、遅延回路201が挿入される処理動作記述の変更が行われる。このため、モジュールCが上述のようなタイミング状態である場合、ほとんど余裕のないタイミングのまま回路生成となる。
モジュールCの内部タイミングに余裕をもたせ、回路規模が必要以上に大きくならないように回路最適化を行う高位合成装置について図7〜15により詳細を説明する。
図7は、一実施形態に係る高位合成装置のブロック図である。図8は、処理フローの一例である。
図7において、高位合成装置は、動作合成部701、レイテンシ情報抽出部702、レイテンシ調整指定部704、パスレイテンシ算出部705、調整箇所関連モジュール抽出部706、モジュール内部タイミング情報抽出部707、レイテンシ調整方法判断部708、及び記述変更部709を有する。
動作合成部701は処理動作の記述からRTLに変換するための処理を行う。
レイテンシ情報抽出部702は動作合成処理される際にレイテンシ情報を抽出して、抽出した情報を管理する。
パス指定部703は回路を構成する全てのパス、すなわち図1におけるABDパス、CDパスのデータの流れ全てを指定する。
レイテンシ調整指定部704はレイテンシ調整するためのパス、すなわちモジュールDへの入力を同タイミングにすることを指定する。
パスレイテンシ算出部705は指定されたパスのレイテンシを算出する。
調整箇所関連モジュール抽出部706はレイテンシ調整に関わるモジュール、すなわちモジュールC、Dを抽出する。
モジュール内部タイミング情報抽出部707は関連モジュールの内部タイミング情報を抽出管理する。
レイテンシ調整方法判断部708はレイテンシ調整を行う方法を判断する。
記述変更部709はレイテンシ方法に従って記述の変更を行う。
処理について、図8の処理フローにより詳細説明を行う。
図1に示すように、下階層に複数のモジュールで構成される回路が、動作合成部701にて、個々に動作合成が行われる(S1)。動作合成が行われた際に個々モジュールのレイテンシ(遅延)を抽出し情報として管理をレイテンシ情報抽出部702にて行う(S2)。
S3において、データの流れであるパスの指定をパス指定部703にて行う。
図1の回路構成の場合、ABDパスとCDパスとがそれぞれデータの流れとしてわかるように指定を行う。
図1の構成の場合、ABDパスは、T1_IN→A1_IN→A1_OUT→B1_IN→B1_OUT→D1_IN→D1_OUT→T1_OUTのパスとなる。CDパスは、T2_IN→C1_IN→C1_OUT→D2_IN→D1_OUT→T1_OUTのようにデータの流れがわかるパスを指定する。
S4において、レイテンシ調整指定部704でのレイテンシの調整が必要なパスを指定する。
図1の場合は、モジュールDへの入力となるABDパスとCDパスのパスとを指定することになる(図1:モジュールD(105))。
S5において、S3で指定した各パスのレイテンシを抽出する。
図1の場合は、ABDパスは、モジュールAとモジュールBとのレイテンシを抽出し、パスとして、1+2=3のレイテンシを算出する。
CDパスは、モジュールCのレイテンシを抽出し、1のレイテンシを算出する。
S6において、調整するパスの各レイテンシから差異を求め調整遅延量を算出する。
図1の場合、ABDパス−CDパス=3−1=2の遅延量が調整値となる。
抽出(S5)および調整量算出(S6)は,パスレイテンシ算出部705にて行われる。
S7は、調整箇所関連モジュール抽出部706にて、レイテンシ調整するパスと関わるモジュールを抽出する。CDパスがレイテンシ調整を行うこととCDパスに関連するモジュールとして、モジュールCを抽出する。
S8において、S7で抽出したレイテンシ調整箇所の関連モジュールであるモジュールCの内部タイミングの情報をモジュール内部タイミング情報収集部707にて収集を行う。
ここでは、モジュールCが上述のように内部タイミングの余裕がないものとして説明する。
S9において、S8にて収集した関連モジュールのタイミング情報により、最適化が必要であるか否かを判断する。
最適化が必要であるか否かの判断は、内部タイミングが厳しいか否かの判断と、厳しい場合には、モジュールの処理サイクル数を変更することにより回路規模が小さくなるか否かの判断である。
動作合成時に内部タイミング情報として、上述のモジュールCのように内部タイミングの余裕がなくタイミングが厳しいと判断する。また、このモジュールに対してサイクル数を変更することにより、図9に示すように、FF(901)が1段増加した回路の生成となる。モジュールCの内部タイミングとして(902、903)の余裕が出来るようにしたとき、生成される回路規模が小さくなる、すなわち最適化されるか否かを判断する。
S9で最適化する場合(Yes)は、S10の処理となる。
S9で最適化しない場合(No)は、S11の処理となる。
S10において、関連するモジュールの最適化を行ため、タイミング記述の変更を行う。
図11、12は、図1に示す回路構成の処理動作記述のソースコードの一部である。
図11は、TOP階層のモジュール間の接続を記述したものである。
TOP階層へ入力されたT1_INは、モジュールAの入力in(1101)に接続される。モジュールAの出力out(1102)は、モジュールBの入力in(1103)、モジュールBの出力out(1104)は、モジュールDの入力(1105)に接続される。同様に、CDパスもT2_INは、モジュールCの入力in(1106)接続され、その出力out(1107)がモジュールDの入力in(1108)に接続される。
モジュールCの記述の一部を図12に示した。
1201部分の所望の処理を行うための記述であり、1202部分等(CYCLE(1))のディレクティブと呼ばれる記述によりタイミング記述が行われている。
この場合、1201部分の範囲の処理をサイクル1(CYCLE(1))で回路生成を行う記述である。
S10における記述変更は、モジュールCのタイミングがサイクル数を増やすことでタイミングに余裕を持たせるものである。
記述としては、図13に示すように、1302部分の範囲の処理をサイクル数2(1301)として記述に変更したものである。
生成される回路としては、図9に示すモジュールCのように回路生成が変更されることになる。
S11において、レイテンシ調整のために挿入する遅延回路(図6:遅延回路201)の遅延量2の内、遅延量1をモジュールCの処理サイクルを緩和させるために使用する(図9:遅延回路902,903)。
残りの遅延量を遅延回路(図9:遅延回路904)として記述を変更する。
図14、15は、モジュールCとモジュールDとの間に遅延回路を挿入する場合の記述変更例である。新たな遅延回路モジュールC_Ddelayの記述(図14)と遅延回路(図14)とを追加する記述(1501)を行う。モジュールCからモジュールC_Delayを接続し(1502)、モジュールDへ接続する(1503)記述の変更を行う。
このように、遅延回路の遅延を1として、モジュールCのタイミング緩和のためサイクルを1増やすように記述変更する判断をレイテンシ調整方法判断部708にて行い、記述変更を記述変更部709にて行う。
S12にて記述変更されたコードに対して動作合成を行うことで、図10に示すような回路が生成されることになる。
本実施形態では、遅延調整のための遅延回路挿入について、モジュールを追加する方法を例として説明したが、図12のモジュールCの記述内において、遅延記述を行う記述変更も可能である。
図13の1301の上の行に"DELAY(1);"の記述を行い、TOPは図11の記述とすることも可能である。
この場合、生成される回路は図16に示すようになる。
以上において、複数のモジュールを個々に動作合成を行い、回路構成によりレイテンシ調整が必要な場合、レイテンシ調整のために処理動作記述の変更を行う際には以下の効果が得られる。すなわち、レイテンシ調整箇所に関わるモジュールの内部タイミングの状態を考慮し、モジュールのタイミング緩和の記述変更と遅延挿入によるレイテンシ調整の記述変更を行わせるのである。これにより、全体のレイテンシとしての遅延量を変更させることなく、ゲート規模が大きくならない回路生成を行うことが可能となる。
(第2の実施形態)
図17〜図21を参照して、第2の実施形態について説明する。
レイテンシ調整のための遅延回路挿入およびモジュール内部タイミングの最適化を行う位置として、入力側と出力側とから選択をする高位合成装置の実施形態の詳細を説明する。
図17に示した回路は、図1と同様な回路構成である。
入力されたデータは、モジュールAとモジュールBとで処理され、モジュールDへ入力される。同様に、入力されたデータは、モジュールCで処理されたモジュールDへ入力され、モジュールDは、2つの入力されるデータを同タイミングとして処理を行う。
各モジュールは、各々個別に動作合成が行われ、モジュールDへ入力されるデータのタイミングを合わせるために、レイテンシ調整が第1の実施形態と同様に行われる。
モジュールAの遅延(delay)が1であり、モジュールBの遅延が2であり、モジュールCの遅延が1である場合、モジュールCに関わるパスがレイテンシ調整のパスとなる。
モジュールCは、図17に示すように、入力側が2bitのデータバスであり、出力側が8bitのデータバスである。このとき、遅延回路の挿入の位置により、回路の規模は異なってくる。
出力側にレイテンシ調整のために遅延回路を挿入すると、8bitのバスに対しての遅延回路1801を挿入するため、FFが8bit×遅延量となる。図18(b)に示すように、入力側にレイテンシ調整のために遅延回路1802を挿入すると、2bitのパスに対しての遅延回路1802を挿入するため、FFが2bit×遅延量となる。このように、挿入する箇所により回路の規模が変わってくる。
遅延回路挿入は、図19に示すように入力側に挿入(1901)される方が、回路規模が小さく最適化されることになる。
図20に処理フローを示し、処理手順を説明する。
S1からS10までは、第1の実施形態と同様である。
個々のモジュールの動作合成が行われる(S1)。
動作合成が行われた際に個々のモジュールのレイテンシとしての遅延を抽出し情報として管理する(S2)。
S3において、ABDパスとCDパスとのそれぞれデータの流れとして把握できるように指定を行う。
S4において、レイテンシの調整が必要なパス(図16:1601)を指定する。
S5において、S3で指定した各パスのレイテンシを抽出する。
図16に示す場合は、ABDパスは、1+2=3のレイテンシ、CDパスは、1のレイテンシを算出する。
S6において、調整するパスの各レイテンシから差異を求め調整遅延量を算出する。
ABD−CD=3−1=2の遅延量が調整値となる。
S7は、レイテンシ調整するパスとモジュールとを抽出する。
CDパス側にレイテンシ調整を行うことと、CDパスの関連モジュールとしてモジュールCを抽出する。
S8において、S7で抽出した関連モジュールの内部タイミングの情報の収集を行う。ここでは、モジュールCに内部タイミングの余裕があるものとして、遅延回路挿入のみとする場合について説明する。
S9において、S8にて収集した関連モジュールのタイミング情報により最適化が必要であるか否かを判断する。
最適化する場合(Yes)はS10の処理となる。
最適化しない場合(No)はS11の処理となる。
S10において、関連するモジュールの最適化を行ため,タイミング記述の変更を行う。
S11において、レイテンシ調整のために挿入する遅延回路の遅延量2の内、遅延量1をモジュールCの処理サイクルを緩和させるために使用する。
残りの遅延量を遅延回路とする。
遅延回路をどの位置に挿入するかを判断するため、挿入可能な位置における遅延回路生成の回路規模を比較する。
S12において、上述のように図17に示すモジュールCの入力と出力のデータバス幅である場合に対して、遅延回路は、入力側(図18(b))と出力側(図18(a))とで回路規模が異なる。この規模の比較を行い、回路規模が小さい方の位置に挿入する。
S13において、S11で遅延回路を挿入する位置での記述変更を行う。
図21に、モジュールCの入力側に遅延回路を挿入する場合の記述の変更例を示す。
新たな遅延回路モジュールC_Ddelayを追加する記述(2101)と、モジュールCからモジュールC_Delayを接続し(2102)、モジュールDへつなげる(2103)記述の変更を行う。
S14にて記述変更されたコードに対して動作合成を行うことで図19に示すような回路が生成されることになる。
以上のように、レイテンシ調整のための遅延回路挿入において、挿入する位置を入力側と出力側とにおいて、それぞれのデータバス幅を考慮に入れ、回路規模が小さくなるように回路生成できる処理動作記述の変更を行うことができる。
(第3、4の実施形態)
図22〜図26を参照して、第3の発明である、レイテンシ調整のための遅延回路挿入及びモジュール内部タイミングの最適化を行う位置として、複数のモジュール及びモジュール間から選択する高位合成装置の実施形態の詳細を説明する。
図22に示す回路は、TOPへの2系統の入力データ(2201,2202)が1出力するもので、入力の1系統は、モジュールAに入力され、モジュールA→モジュールB→モジュールCの順でデータ処理が行われ、モジュールFに入力される。もう1系統の入力は、モジュールDに入力され、モジュールD→モジュールEの順でデータ処理が行われ、モジュールFに入力される。モジュールFは、この2つの入力を同タイミングで受け取り、処理して出力をする構成である。
モジュールA〜モジュールFを個別に動作合成が行われ、モジュールFの入力位置2203において、レイテンシ調整をする必要がある。
第3、4の発明のレイテンシ調整の処理の流れを図24に示し説明する。
S1〜S4は、第1、2の発明と同様の処理が行われる。
S4において、図22の2203の位置を指定されると、S5の処理において、図22に示すようにそれぞれの遅延量が算出される。
モジュールAの遅延は1とし、モジュールBの遅延は2とし、モジュールCの遅延は1とし、モジュールDの遅延は3とし、モジュールEの遅延は2とする。
S6では、ABCDパスとEFパスのレイテンシからEFパス−ABCDパス=(1+2+1)−(3+2)=−1となり、ABCDパスに遅延量1のレイテンシ調整が必要であることを算出する。
S7において、レイテンシ調整のための遅延回路挿入あるいはモジュールのサイクル緩和を行える位置の候補を抽出する。
レイテンシ調整位置の候補として、モジュールAの前後(図23の2301、2303)、モジュールA(図23の2302)、モジュールBの前後(図23の2303,2305)、モジュールB(図23の2304)、モジュールCの前後(図23の2305、2307)、及びモジュールC(図23の2306)が挙げられる。
これらの候補の中から、レイテンシ調整に最適な箇所の決定を行う。
第4の発明のレイテンシ調整のための遅延回路挿入及びモジュールの最適化を禁止させる方法は、予め禁止位置を指定する、図示しない処理を行う。
レイテンシ調整する位置として、遅延回路の挿入、及びモジュールのタイミング変更を行うことを禁止する位置を指定可能と指定し、処理動作の変更を行わせない。
2301〜2307の位置、あるいはDEパス側において候補となるような箇所を禁止位置として指定する。
禁止指定されている場合は、S7において、候補としては除外し、候補として抽出しないことになる。図26の2601に示すように、モジュールAをレイテンシ調整位置の対象外、つまりモジュールAの処理動作記述の変更を禁止すること管理するようになる。
S8において、S7で候補に挙がったモジュールに関する内部タイミング情報の収集を行う。
S9において、S8において収集した各モジュールの内部タイミング情報から、タイミングが厳しい箇所であるか否かの判断と、タイミングが厳しい場合にサイクル緩和することによる回路規模の増減を計測し情報を収集する。
S10において、S7であがったモジュール間の遅延回路を挿入する場合の遅延回路規模の情報を収集する。遅延回路規模に関しては、第2の説明のようにデータパス幅で求めることになる。
S7からS10の情報収集より、図25に示すようにレイテンシ調整位置のそれぞれにおける情報が収集できる。
各モジュール間(2501)に対して、モジュールに接続されるデータバスの幅(2502)より、遅延回路の規模(2503)を測定する。
例えば、モジュールAの入力は、データバス幅は8bitであり、遅延量1の回路としてレイテンシ調整するため、挿入する回路の規模は、80(gate)増加する(2504)ことになる。
各モジュール(2505)に対しては、内部タイミング(2507)に余裕があるか否かを判断する。タイミングに余裕がない場合は、サイクル数の緩和した場合に生成される回路規模の増減を調べる(2508)。
例えば、モジュールAは、内部タイミングが0.0nsと厳しい状態にあるため、サイクルを緩和して回路生成すると、規模は10(gate)小さくできる結果となる。
2506は、モジュール(2505)のレイテンシの値である。
これらの情報より、調整位置の決定(S11)を行う。
図25の例では、モジュールAの入力側に遅延回路を挿入する場合が80(gate)増加し、モジュールAのサイクル緩和による回路生成する場合が10(gate)減少する。同様にジュールAの出力側、モジュールBの入力側、モジュールBの出力側あるいはモジュールCの入力側は、それぞれ遅延回路を挿入する場合が80(gate)増加する。モジュールB及びモジュールCは、内部タイミングに余裕があるため、サイクル緩和は行わないため、増減がない。モジュールCの出力側あるいはモジュールDの入力側は、遅延回路を挿入する場合が20(gate)の増加ということになる。
回路規模が小さくなるようにレイテンシ調整を行う場合は、モジュールAのサイクル緩和による回路生成の最適化(2508)による調整対応と決定できる。
第4の発明の例では、モジュールAの処理動作記述の変更禁止の指定(図26の2601)であるため、それ以外の候補から決定する。その結果、モジュールCの出力側で遅延回路挿入による調整対応と決定できる。
S11の調整位置の決定において、記述変更による回路規模の増減が最小となる箇所が同じ値である場合が複数あるときは、予め優先順位をつける等により処理を行う。優先順位として、例えば、レイテンシ調整が必要となるモジュールに近い箇所とする等が挙げられる。
調整位置が決定された後は、S12及びS14において、タイミング記述の変更か遅延回路挿入の記述の変更か否かを判断し、それぞれ処理動作記述に対してタイミング記述の変更(S13)と遅延回路挿入追加記述変更(S15)を行う。
第3の発明の場合の例では,タイミング記述変更箇所があるか否かの判断(S12)においてYesとなり、S13においてタイミング記述変更を行う。S14において、遅延回路挿入箇所があるか否かの判断でNoとなり、S16へ処理を進める。
これとは逆に、第4の発明の場合の例では、タイミング記述変更箇所があるか否かの判断(S12)においてNoとなり、S14へ処理を進める。S14の処理において、遅延回路挿入箇所があるか否かの判断でYesとなり、S15において、遅延回路挿入記述追加変更を行う。
S16において変更した処理動作記述のコードに対して動作合成を行い、回路生成を行う。
以上のようにして、レイテンシ調整のための調整位置として複数ある場合でも、最適な位置を選択して調整が可能である。
(第5の実施形態)
図27〜34を参照して、第5の発明であるレイテンシ調整の処理動作の記述を変更する手段について説明する。この変更する手段において、レイテンシ調整するパスが複数存在する場合に、調整のための遅延回路挿入あるいは、タイミング変更の一部を共有する回路となるように記述変更する高位合成装置の実施形態の詳細を説明する。
図27は、回路構成として、2系統のデータが入力(2701,2702)され、2系統の出力(2703,2704)をする回路であり、内部モジュールとして、モジュールA、モジュールB、モジュールC、及びモジュールDを有する。入力信号2701は、モジュールAに入力され、モジュールAの処理出力は、モジュールCへ受け渡される。もう一方の入力信号2702は、モジュールBに入力されモジュールBの処理の出力は、同データが2つに分岐され、モジュールC及びモジュールDに受け渡され、モジュールDの処理結果が出力2704される。モジュールCは、モジュールAとモジュールBとからの処理結果が入力(2705,2706)を受けて出力2703される。モジュールCにおいて、モジュールAとモジュールBとからの入力を同タイミングで受け取り処理を行う。
モジュールA〜Dを個別に動作合成を行ったとき、モジュールCの入力を同タイミングとするため、モジュールAとモジュールBとの遅延量により、レイテンシ調整が必要となる。
モジュールAの遅延量を3とし、モジュールBの遅延量を2とした場合、モジュールB側のパスに遅延量1のレイテンシ調整が必要となる。
上述の第1〜4の発明によりレイテンシ調整を行うと、モジュールBとモジュールCとの間に遅延回路を挿入することになる。図27の例の場合は、内部タイミングの緩和となる箇所2708〜2709は、同データが分岐して出力されるため、調整の必要ないモジュールDへ影響が出るため、2707への遅延回路挿入となる。
図28の回路構成の例の場合は、遅延回路の挿入あるいは、サイクル緩和を共有箇所(パス)に行う場合である。
図28の回路構成は、2系統のデータが入力(2801,2802)され、2系統の出力(2803,2804)をする回路であり、内部モジュールは、モジュールA、モジュールB、モジュールC、及びモジュールDを有する。入力2801は、モジュールAに入力され、モジュールAの処理出力は、同データが2つに分岐され、モジュールCとモジュールDとに受け渡される(2805,2806)。もう一方の入力(2802)は、モジュールBに入力される。モジュールBの処理出力は、同データが2つに分岐され、モジュールCとモジュールDとに受け渡される(2807,2808)。モジュールCは、モジュールAとモジュールBからのデータを受け(2805,2807)、処理結果を出力する。モジュールDは、モジュールAとモジュールBとからのデータを受け(2806,2808)、処理結果を出力する。
モジュールCにおいて、モジュールAとモジュールBとからの入力(2805,2807)を同タイミングで受ける取り処理を行う。同様に、モジュールDにおいても、モジュールAとモジュールBからの入力(2806,2808)を同タイミングで受け取り処理を行う。
モジュールA〜Dを個別に動作合成を行ったとき、モジュールC及びモジュールDのそれぞれの入力を同タイミングとするため、モジュールAとモジュールBとの遅延量により、レイテンシ調整が必要となる。
モジュールAの遅延量を3とし、モジュールBの遅延量を2とした場合、遅延量1のレイテンシ調整をモジュールCの入力位置とモジュールDの入力位置とで行う必要がある。
先ず、モジュールCの入力位置(2805,2807)においてのレイテンシ調整を考える。
モジュールAからの出力A1_OUTであるC1_INとモジュールBからの出力B1_OUTであるC2_INを同タイミングになるようにする。
図29は、図28と同じ回路構成である。
第1〜4の発明によるレイテンシ調整を行うと、調整する位置候補として、モジュールBの入力側(図29の2901)、モジュールBの出力側でモジュールCに接続されるB1_OUTのパス(2902)、モジュール内のタイミング緩和(2903)が挙げられる。
但し、入力側2901に関しては、出力であるB1_OUTとB2_OUTに影響するため、モジュールDへパスレイテンシ調整とを考慮する必要がある。
ここで、図29に示す回路において、モジュールCとモジュールDのそれぞれのパスの遅延調整を行うと、パス(2902)とパス(2904)の箇所にそれぞれ遅延回路を挿入するのではなく、パス(2901)で共有できる遅延回路を挿入する。
レイテンシ調整位置の決定は、上述のようにモジュールのサイクル数緩和による回路規模の増減と挿入する遅延回路の回路規模とから選択する。
例えば、図30に示すように、2901の位置に遅延回路挿入すると80gate増加する。2902の位置に遅延回路挿入すると50gate増加する。モジュールB(2903)は、タイミングに余裕があるためサイクル緩和しないとすると、2902の位置で調整が行われることになる。
次に、モジュールDの入力位置においてのレイテンシ調整を考える。
モジュールAからの出力A2_OUTであるD1_INとモジュールBからの出力B2_OUTであるD2_INを同タイミングになるようにする。
同様に上述の第1〜4の発明によるレイテンシ調整を行うと、調整する位置候補として、モジュールBの入力側(2901)、モジュールBの出力側でモジュールDに接続されるB2_OUTのパス(2904)、モジュール内のタイミング緩和(2903)がある。
上述のように同様にレイテンシ調整位置を決定する。
図30に示すように、2901の位置に遅延回路挿入すると80gate増加する。2902の位置に遅延回路挿入すると50gate増加する。モジュールB(2903)は、タイミングに余裕があるためサイクル緩和しないとすると、2904の位置で調整が行われることになる。
モジュールCとモジュールDとの両方を調整することで、50+50=100gateの回路規模増加となる。
しかし、モジュールCとモジュールDとで共有で調整可能な箇所(2901)が存在する。
2901の位置により調整することで80gateの回路規模増加で済むことになる。
これを考慮することによりレイテンシ調整位置を決定する。
図31のような回路構成の場合の例について説明する。
図31の回路構成は、2系統のエータ(3101,3102)が入力され、2系統の出力(3103,3104)する回路である。内部モジュールは、モジュールA、モジュールB、モジュールC、及びモジュールDを有する。入力3101は、モジュールAに入力されモジュールAの処理出力は、モジュールC及び、モジュールDに受け渡される。もう一方の入力3102は、モジュールBに入力されモジュールBの処理出力は、モジュールC及びモジュールDへ受け渡される。モジュールCにおいて入力されるモジュールAとモジュールBからの2つデータは、同タイミングで受けとり処理を行う。モジュールDにおいても、入力されるモジュールAとモジュールBからの2つのデータは、同タイミングで受け取り処理を行う。
モジュールA〜Dを個別に動作合成を行ったとき、モジュールCの入力を同タイミングとするため、モジュールA及びモジュールBの遅延量により、レイテンシ調整が必要となる。
同様に、モジュールDの入力も同タイミングするため、レイテンシ調整が必要となる。
モジュールCに関してレイテンシ調整を考える。
モジュールAの出力は2系統あり、同一データの分岐ではなく、それぞれ遅延量が4と3である。モジュールCへデータを受け渡すパスは、遅延量4である。モジュールBの出力は、同一データを分岐したものであり、モジュールCへのデータを受け渡すパスは遅延量2である。
モジュールCの入力でのレイテンシ調整は、4−2=2の遅延量となる。
レイテンシを調整する候補として、モジュールBの入力側(図32−3201)、モジュールBの出力側でモジュールCに接続されるB1_OUTのパス3202、モジュール内のタイミング緩和3203がある。但し、入力側3201に関しては、出力であるB1_OUTとB2_OUTに影響するため、モジュールDへパスレイテンシ調整とを考慮する必要がある。
モジュールDに関してレイテンシ調整を考える。
モジュールAからモジュールDへデータを受け渡すパスは、遅延量3である。モジュールBの出力は遅延量2である。
モジュールDの入力でのレイテンシ調整は、3−2=1の遅延量となる。
レイテンシを調整する候補として、モジュールBの入力側(図32−3201)、モジュールBの出力側でモジュールDに接続されるB2_OUTのパス3204、モジュール内のタイミング緩和3203となる。
2つのレイテンシ調整を必要とする箇所、すなわちモジュールC,モジュールDから、遅延挿入及びモジュールのサイクル数緩和による回路最適化を行う位置を決定する。
それぞれのパスにおけるレイテンシ調整の候補として、3201〜3204の位置への対応となる。
図33に決定するための情報管理の例を示した。
3301は、調整位置の候補であるモジュール及びモジュール間の遅延回路挿入3201〜3204に対して、回路規模の情報である。
モジュール(3203)は、内部タイミング情報とサイクル数緩和による回路削減規模、モジュール間の遅延回路挿入は、データ幅とそれによる遅延回路の回路増加規模である。
それぞれ、3302が80gate増加し、3303が10gate減少し、3301が80Gate増加し、3304が80gate増加する。
3302は、BCパスのレイテンシ調整を行う場合の候補位置(3201〜3203)の組み合わせとその増減回路規模である。
組み合わせとは、モジュールBからモジュールCでの調整が遅延量2等の2以上の場合、複数個所での調整をあらわす。
組み合わせ1は、3202と3203の位置の調整となり、70gateの増加となる。組み合わせ2は、3203と3201の位置の調整となり、70gateの増加となる。組み合わせ3は、3202と3201の位置の調整となり、160gateの増加となる。
組み合わせ4、5はそれぞれ1箇所の位置での調整であり、160gate増加となる。
3303は、BDパスのレイテンシ調整を行う場合の候補位置(3201,3203,3204)の組み合わせとその増減回路規模である。但し、BDバスは、レイテンシ調整の遅延量が1であるため、組み合わせはなく、調整位置となる。
回路規模の増減は、図33に示す様に10gate減少〜80gate増加となる。
3302と3303のそれぞれのレイテンシ調整から、共通化を考慮して、回路全体として全てのレイテンシ調整の位置を決定する。共通化を考慮した回路規模の増減を比較したものが3304である。
共通化1(3305)は、BCパスとBDパスのレイテンシ調整において、3203の位置の調整を共通化することで全体の回路規模の増加が70gateとなる。共通化2(3305)は、3202の位置の調整を共通化することで全体の回路規模の増減が160gateとなる。共通化しない場合に関しても比較対象としている。
共通化することが必ずしもレイテンシ調整時の回路規模増減を小さくすることにはならない。共通化なし2(3307)は、150gateの増加のように、共通化2(3306)の160増加より回路規模の増加は、小さくなっている。このため共通化する場合と共通化しない場合も比較が必要である。結果として、共通化1のレイテンシ調整方法として決定することになる。
ここで、レイテンシ調整の処理動作の記述を変更する手段において、レイテンシ調整するパスが複数存在する場合に、レイテンシ調整のための遅延回路挿入あるいは遅延調整箇所を共有して行わせるようにしてもよい。
以上のように、レイテンシ調整する位置において、同一データが分岐してモジュールへの受け渡しをする回路構成である場合、調整を分岐まで行うことで共通化することでレイテンシ調整のための最適化回路や遅延調整回路の規模の小型化が可能である。
<効 果>
本発明によれば、高位合成装置により動作合成された複数のモジュールで構成される回路において、モジュール間のパスのレイテンシ調整を行う場合、遅延回路挿入の処理動作記述の変更を行うことができる。また、レイテンシ調整に関わるモジュールの内部タイミング状態を考慮して、モジュールの回路生成のため最適化を行うように処理動作記述の変更も行うこと可能とする高位合成装置を提供することが可能となる。
尚、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
100 TOP回路
101 モジュールA
102 モジュールB
103 モジュールC
104 モジュールD
105 レイテンシ調整箇所
201 遅延回路
301 組み合わせ回路
302 フリップフロップ(FF)
401 組み合わせ回路
402 モジュールCのフリップフロップ(FF)
403 前段のフリップフロップ
501 1cycle
601 前段のフリップフロップ
602 モジュールCのフリップフロップ
700 高位合成装置
701 動作合成部
702 レイテンシ情報抽出部
703 パス指定部
704 レイテンシ調整指定部
705 パスレイテンシ算出部
706 調整箇所関連モジュール抽出部
707 モジュール内部タイミング情報収集部
708 レイテンシ調整方法判断部
709 記述変更部
901 緩和によるフリップフロップ
902、903 タイミング
1101 モジュールAの入力部の記述
1102 モジュールAの出力部の記述
1103 モジュールBの入力部の記述
1104 モジュールBの出力部の記述
1105、1108 モジュールDの入力部の記述
1106 モジュールCの入力部の記述
1107 モジュールCの出力部の記述
1201 サイクル指定の記述
1202 指定サイクルで処理する範囲
1301 サイクル数の変更
1302 指定サイクルで処理する範囲
1501 挿入する遅延回路の追加する記述
1502 挿入する遅延回路接続記述
1503 モジュールDの接続変更記述
1801 出力側挿入の遅延回路
1802 入力側挿入の遅延回路
1901 遅延回路
2101 挿入する遅延回路の追加する記述
2102 挿入する遅延回路接続記述
2103 モジュールCの室族変更記述
2201、2202 入力信号
2203 レイテンシ調整位置
2301、2302、2303、2304、2305、2306、2307 レイテンシ調整箇所候補
2501 モジュール間の情報
2502 入出力のデータ幅
2503 遅延回路追加増加規模
2504 モジュールA間の増加量
2505 モジュールの情報
2506 レイテンシ
2507 内部タイミング
2508 モジュールAの増減量
2601 レイテンシ調整禁止位置
2701、2702 入力信号
2703、2704 出力信号
2705 モジュールAからの入力
2706 モジュールBからの入力
2707 レイテンシ調整位置
2801、2802 入力信号
2803、2804 出力信号
2805、2806 モジュールAからの入力
2807、2808 モジュールBからの入力
2901、2902 遅延回路挿入位置候補
2903 モジュールサイクル緩和
2904 遅延回路挿入位置候補
3101、3102 入力信号
3103、3104 出力信号
3105、3106 モジュールBからの入力
3201、3202 遅延回路挿入位置候補
3203 モジュールサイクル緩和
3204 遅延回路挿入位置候補
3301 各調整位置の回路規模の増減情報
3302 BCパスの遅延調整組み合わせ回路規模の増減情報
3303 BDパスの遅延調整組み合わせ回路規模の増減情報
3304 回路全体の遅延調整の増減情報
3305 共通化1
3306 共通化2
3307 共通化なし2
特開2010−165334号公報

Claims (7)

  1. デジタル回路の処理動作記述からレジスタトランスファレベルの論理回路を生成する高位合成装置において、
    複数のモジュールで構成されている回路の前記各モジュールに対し個々に動作合成を行い、前記各モジュール間のレイテンシ調整量を調整する調整回路を生成する処理動作記述を変更する変更手段を備え、
    前記変更手段は、
    判断結果により前記各モジュールのタイミング変更による処理動作記述の変更と、レイテンシ調整のための遅延回路挿入による処理動作記述の変更と、を行って回路最適化を行うことを特徴とする、高位合成装置。
  2. 前記各モジュールを動作合成したときの内部タイミング情報を収集する収集手段と、
    レイテンシ調整をする位置に対して、関連するモジュール及びパスを抽出する抽出手段と、
    前記各モジュールに対して、内部タイミングの状態から回路生成タイミングを変更するか否かを判断する判断手段と、を備えたことを特徴とする、請求項1記載の高位合成装置。
  3. 前記各モジュールのタイミング変更による処理動作記述の変更とレイテンシ調整のための遅延回路挿入による処理動作記述の変更を行う変更手段において、
    レイテンシ調整のために遅延回路を挿入する箇所が前記各モジュールの入力側と出力側とで挿入する遅延回路の規模が異なり、遅延回路を複数挿入する箇所がある場合、最も規模が小さくなる側を選択して記述変更することを特徴とする、請求項1記載の高位合成装置。
  4. 前記各モジュールのタイミング変更による処理動作記述の変更とレイテンシ調整のための遅延回路挿入による処理動作記述の変更を行う変更手段において、
    レイテンシ調整のために遅延回路挿入をすることが出来る箇所が複数存在する場合に、挿入する遅延回路の規模が小さくなる位置を選択して記述変更することを特徴とする、請求項1記載の高位合成装置。
  5. レイテンシ調整する位置として、遅延回路の挿入、及び前記各モジュールのタイミング変更を行うことを禁止する位置を指定可能と指定し、処理動作記述の変更を行わせないことを特徴とする、請求項1記載の高位合成装置。
  6. レイテンシ調整の処理動作の記述を変更する手段において、
    レイテンシ調整するパスが複数存在する場合に、レイテンシ調整のための遅延回路挿入あるいは遅延調整箇所を共有して行わせることを特徴とする、請求項1記載の高位合成装置。
  7. デジタル回路の処理動作記述からレジスタトランスファレベルの論理回路を生成する高位合成装置の高位合成方法において、
    前記高位合成装置の実質的なコンピュータが、複数のモジュールで構成されている回路のモジュールに対し個々に動作合成を行い、モジュール間のレイテンシ調整量を調整する調整回路を生成する処理動作記述を変更するステップを備え、
    前記コンピュータが、判断結果によりモジュールのタイミング変更による処理動作記述の変更と、レイテンシ調整のための遅延回路挿入による処理動作記述の変更と、を行って回路最適化を行うステップとを備えたことを特徴とする、高位合成方法。
JP2012283628A 2012-12-26 2012-12-26 高位合成装置、及び高位合成方法 Pending JP2014127048A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012283628A JP2014127048A (ja) 2012-12-26 2012-12-26 高位合成装置、及び高位合成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012283628A JP2014127048A (ja) 2012-12-26 2012-12-26 高位合成装置、及び高位合成方法

Publications (1)

Publication Number Publication Date
JP2014127048A true JP2014127048A (ja) 2014-07-07

Family

ID=51406476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012283628A Pending JP2014127048A (ja) 2012-12-26 2012-12-26 高位合成装置、及び高位合成方法

Country Status (1)

Country Link
JP (1) JP2014127048A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014142918A (ja) * 2012-12-28 2014-08-07 Mitsubishi Electric Corp 半導体集積回路設計支援装置、方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014142918A (ja) * 2012-12-28 2014-08-07 Mitsubishi Electric Corp 半導体集積回路設計支援装置、方法及びプログラム

Similar Documents

Publication Publication Date Title
US8887110B1 (en) Methods for designing intergrated circuits with automatically synthesized clock distribution networks
KR101471237B1 (ko) 적응형 전압 스케일링 최적화를 이용하는 집적 회로들을 설계하기 위한 시스템 및 방법
US10037048B1 (en) Methods for optimizing circuit performance via configurable clock skews
US20030101419A1 (en) Logic circuit design method and cell library for use therewith
CN104573169A (zh) 以自动流水线操作能力设计集成电路的方法和工具
US7917882B2 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
US6981233B2 (en) Method for analyzing path delays in an IC clock tree
US7823107B2 (en) Transition balancing for noise reduction/Di/Dt reduction during design, synthesis, and physical design
US10699045B2 (en) Methods and apparatus for regulating the supply voltage of an integrated circuit
US10372850B2 (en) Methods for verifying retimed circuits with delayed initialization
US20150363530A1 (en) Lsi design method
CN106257467B (zh) 用于在设计编译流程中利用针对寄存器重定时的估计的方法和装置
US8977998B1 (en) Timing analysis with end-of-life pessimism removal
US9811621B2 (en) Implementing integrated circuit designs using depopulation and repopulation operations
US9471735B2 (en) Boundary based power guidance for physical synthesis
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
US8527925B2 (en) Estimating clock skew
US8271922B2 (en) System and method for clock optimization to achieve timing signoff in an electronic circuit and electronic design automation tool incorporating the same
US20130055187A1 (en) Floorplan creation information generating method, floorplan creation information generating program, floorplan creation information generating device, floorplan optimizing method, floorplan optimizing program, and floorplan optimizing device
US7603646B1 (en) Method and apparatus for power optimization using don't care conditions of configuration bits in lookup tables
US20140084981A1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
JP2014127048A (ja) 高位合成装置、及び高位合成方法
JP2007257011A (ja) レイアウト設計装置、方法、及び、プログラム
JP2016122299A (ja) ステートマシン分割プログラム、情報処理装置およびステートマシン分割方法
Yu et al. Skew spreading for peak current reduction