JP6070100B2 - Circuit design method, circuit design program, and circuit design apparatus - Google Patents
Circuit design method, circuit design program, and circuit design apparatus Download PDFInfo
- Publication number
- JP6070100B2 JP6070100B2 JP2012253541A JP2012253541A JP6070100B2 JP 6070100 B2 JP6070100 B2 JP 6070100B2 JP 2012253541 A JP2012253541 A JP 2012253541A JP 2012253541 A JP2012253541 A JP 2012253541A JP 6070100 B2 JP6070100 B2 JP 6070100B2
- Authority
- JP
- Japan
- Prior art keywords
- flip
- groups
- group
- flop
- circuit design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は、回路設計方法、回路設計プログラムおよび回路設計装置に関し、例えば、フリップフロップを配置する回路設計方法、回路設計プログラムおよび回路設計装置に関する。 The present invention relates to a circuit design method, a circuit design program, and a circuit design apparatus. For example, the present invention relates to a circuit design method, a circuit design program, and a circuit design apparatus for arranging flip-flops.
高集積回路には、複数のクロック周波数で動作する複数のフリップフロップ(FF:Flip Flop)が用いられている。FFはリセット信号によりリセットされる。FFを複数のグループに分けて配置することが知られている(例えば、特許文献1から3)
In a highly integrated circuit, a plurality of flip-flops (FF) that operate at a plurality of clock frequencies are used. The FF is reset by a reset signal. It is known that FFs are arranged in a plurality of groups (for example,
異なるクロック周波数が供給される複数のFFにリセット信号を分配すると、クロックスキューが生じることがある。例えば、クロックスキューがクロック周期を越えてしまうと、FFが正常に動作しない。このように、クロックスキューがクロック周期を越えないように、集積回路上のFFの配置を行なう。しかしながら、クロックスキューを所定内に収めるようにFFを配置することが難しくなることがある。 If the reset signal is distributed to a plurality of FFs supplied with different clock frequencies, clock skew may occur. For example, if the clock skew exceeds the clock period, the FF does not operate normally. In this way, the FFs are arranged on the integrated circuit so that the clock skew does not exceed the clock period. However, it may be difficult to arrange the FFs so that the clock skew is within a predetermined range.
本回路設計方法、回路設計プログラムおよび回路設計装置は、FFを容易に配置することを目的とする。 The circuit design method, the circuit design program, and the circuit design apparatus are intended to easily arrange the FFs.
複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けするステップと、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置するステップと、前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けするステップと、前記複数の第2グループごとに、前記第2フリップフロップを配置するステップと、を含むことを特徴とする回路設計方法、回路設計プログラムおよび回路設計装置を用いる。 Grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency, and a second flip-flop supplying a reset signal to the plurality of first flip-flops for each of the plurality of first groups And when the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is A circuit design method, a circuit design program, and a circuit design apparatus , comprising: grouping into a plurality of second groups; and arranging the second flip-flop for each of the plurality of second groups. Is used.
本回路設計方法、回路設計プログラムおよび回路設計装置によれば、FFを容易に配置することができる。 According to the present circuit design method, circuit design program, and circuit design apparatus, FFs can be easily arranged.
図1は、クロックツリーについて説明する図である。図1を参照し、1つの集積回路100には、例えば数万から数百万個の第1FF31および32が配置される。PLL(Phase
Locked Loop)等の発振器39は、クロックを出力する。FF34は、第1FF31に高周波数クロック信号CKHを供給するFFである。FF34のクロック端子CKにクロックが入力する。FF34の出力端子Qから出力された信号はインバータ37を介しFF34のデータ端子Dに入力する。これにより、FF34は、発振器39の出力信号を1回分周して出力する。FF34の出力は、各第1FF31のクロック端子CKに入力する。FF35は、第1FF32に低周波数クロック信号CKLを供給するFFである。FF35のクロック端子CKにFF34の出力が入力する。FF35の出力端子Qから出力された信号はインバータ37を介しFF35のデータ端子Dに入力する。これにより、FF35は、FF34の出力信号を1回分周して出力する。FF35の出力は、各第1FF32のクロック端子CKに入力する。バッファ38は、クロック信号の駆動能力を向上させる。
FIG. 1 is a diagram illustrating a clock tree. Referring to FIG. 1, for example, tens of thousands to millions of
An
以上により、第1FF31には、発振器39の発振周波数の1/2の周波数の高周波数クロック信号CKHが入力する。第1FF32には、発振器39の発振周波数の1/4の低周波数クロック信号CKLが入力する。集積回路100には、発振器39の発振周波数の1/8、1/16等の3以上の周波数のクロック信号が用いられる場合もある。しかしながら、簡単に説明するため、以下の実施例においては、2つのクロック周波数の場合を例に説明する。
As described above, the high-frequency clock signal CKH having a frequency half that of the oscillation frequency of the
図2は、同期リセット回路について説明する図である。図1において説明したように第1FF31および32は、クロック周波数が異なる。図2を参照し、第1FF31は高周波数クロック信号CKHで動作し、第1FF32は低周波数クロック信号CKLで動作する。第2FF33は、クロック端子CKに高周波数クロック信号CKHが入力し、第1FF31および32のリセット端子Rにリセット信号Resetを供給する。リセット信号Resetは、FF間のリセットの同期をとるための同期リセット信号である。バッファ35は、リセット信号Resetの駆動能力を向上させる。
FIG. 2 is a diagram illustrating a synchronous reset circuit. As described in FIG. 1, the
図1のように、周波数の異なるクロック信号は、クロック信号の生成場所が異なる。また、駆動する第1FF31および32の数が異なる。また、低周波数クロック信号CKLは、高周波数クロック信号CKHから生成される。これらにより、周波数の異なるクロック信号間でクロックスキューが発生し易くなる。これにより、FFを集積回路に配置する際に、クロック信号のタイミング収束が難しくなる。例えば、クロック信号のタイミングが規定内に収まるようFFを配置することが難しくなる。さらに、リセット信号の収束も難しくなる。例えば、リセット信号のタイミングが規定内に収まるようFFを配置することが難しくなる。よって、集積回路上へのFFの配置が難しくなる
As shown in FIG. 1, clock signals having different frequencies are generated at different locations. Further, the number of
以下に、集積回路上へのFFの配置を容易とする実施例について説明する。 In the following, an embodiment for facilitating the arrangement of FFs on an integrated circuit will be described.
図3は、実施例1に係る回路設計装置として機能するコンピュータのブロック図である。コンピュータ10は、回路設計方法および回路設計プログラムを実行する。コンピュータ10は、プロセッサであるCPU(Central
Processing Unit)11、表示装置12、入力装置13および出力装置14を備えている。さらに、コンピュータ10は、主記憶装置15、ハードディスクドライブ(HDD)16、記憶媒体用ドライブ17、通信インターフェース18および内部バス19を備えている。表示装置12は、例えば液晶パネル等の表示パネルを含み、処理結果等を表示する。入力装置13は、例えばキーボード、マウスおよびタッチパネル等であり、処理データ等を入力する。出力装置14は、例えばプリンタであり、処理結果等を出力する。主記憶装置15は、例えばDRAM(Dynamic
Random Access Memory)等の揮発性メモリであり、処理中のデータを記憶する。HDD16は、例えば処理中または処理後のデータを記憶する。記憶媒体用ドライブ17は、記憶媒体21に格納されたプログラムをインストールする際に用いる。または、処理後のデータを記憶媒体21に記憶させる。通信インターフェース18は、他のコンピュータ20と接続し、他のコンピュータ20とデータの送受信を行なう。内部バス19は、コンピュータ10内の各装置を接続する。コンピュータ10は、ソフトウエアと協働し、第1ユニットおよび第2ユニットとして機能する。
FIG. 3 is a block diagram of a computer that functions as the circuit design apparatus according to the first embodiment. The computer 10 executes a circuit design method and a circuit design program. The computer 10 is a CPU (Central
Processing Unit) 11,
It is a volatile memory such as Random Access Memory, and stores data being processed. The
プログラムを格納するコンピュータ10が読み取り可能な記憶媒体21として可搬型記憶媒体を用いることができる。可搬型記憶媒体としては、例えば、CD−ROM(Compact
Disc Read Only Memory)ディスク、DVD(Digital Video Disc)ディスク、ブルーレイディスクまたはUSB(Universal
Serial Bus)メモリ等を用いることができる。記憶媒体21として、フラッシュメモリまたはHDD等を用いてもよい。
A portable storage medium can be used as the
Disc Read Only Memory (DVD) disc, DVD (Digital Video Disc) disc, Blu-ray Disc or USB (Universal
Serial Bus) memory or the like can be used. As the
図4は、実施例1が用いられる集積回路の設計フローを示すフローチャートである。図4を参照し、FFのネットワークを示すネットリストと、FFのクロック周波数および位置情報を含むSDC(Synopsys
Design Constraints)等を用い初期のFF配置を行なう(ステップS10)。例えば、フロアプランを用い、ハードマクロの位置を検証し、ネットリスト上の全てのセルの配置をフレーム上に実施する。次に、CTS(Clock
Tree Synthesys)前のFF配置の最適化を行なう(ステップS12)。例えば、クロックが同期したレジスタおよびハードマクロにクロック信号のスキューが0として、DRC(Design
Rule Check)のエラー修正、タイミングの最適化、面積の削減および消費電力ー削減を行なう。次に、クロックツリーを作成する(ステップS14)。例えば、クロック信号用のバッファ等を配置する。
FIG. 4 is a flowchart showing a design flow of an integrated circuit in which the first embodiment is used. Referring to FIG. 4, an SDC (Synopsys) including a netlist indicating the FF network and the clock frequency and position information of the FF.
The initial FF placement is performed using Design Constraints) (step S10). For example, the floor plan is used to verify the position of the hard macro, and all the cells on the net list are arranged on the frame. Next, CTS (Clock
The FF arrangement before Tree Synthesys is optimized (step S12). For example, if the clock signal skew is 0 in a register and a hard macro synchronized with the clock, the DRC (Design
Rule Check) error correction, timing optimization, area reduction and power consumption reduction. Next, a clock tree is created (step S14). For example, a clock signal buffer or the like is arranged.
次に、CTS後のデータに最適化を行なう(ステップS16)。クロック信号のスキューは実際の値となる。この状態で、DRCのエラー修正、タイミングの最適化、面積の削減および消費電力ー削減を行なう。次に、データに対して配線処理を行なう(ステップS18)。例えば、各セルおよび各ハードマクロのデジタル信号端子に対し、タイミングを考慮しながら、配線処理を行なう。これにより、ソフトウエア上において各セルおよび各ハードマクロが物理的な配線で繋がる。 Next, the data after CTS is optimized (step S16). The skew of the clock signal is an actual value. In this state, DRC error correction, timing optimization, area reduction, and power consumption reduction are performed. Next, a wiring process is performed on the data (step S18). For example, the wiring process is performed for the digital signal terminals of each cell and each hard macro while considering the timing. Thereby, each cell and each hard macro are connected by physical wiring on software.
実施例1および2は、例えばステップS12および/またはS16におけるタイミングの最適化において用いられる。 Examples 1 and 2 are used, for example, in timing optimization in steps S12 and / or S16.
図5は、実施例1に係る回路設計方法を示すフローチャートである。図6は、実施例1に係る回路設計方法により配置されたFFの同期リセット回路を示す図である。複数の第1FF31が配置されている。図5および図6に示すように、第1ユニットは、配置された複数の第1FF31および32を、クロック周波数ごとの第1グループ41および42にグループ分けする(ステップS20)。例えば第1グループ41内の第1FF31は、高周波数クロック動作するFFであり、第1グループ42内の第1FF32は、低周波数クロック動作するFFである。第2ユニットは、第1グループ41および42ごとに複数の第1FF31および32にリセット信号Resetを供給する第2FF33aから33cを配置する(ステップS22)。例えば、第1グループ41は、さらに第2グループ43および44に分割されている。第2グループ43内の第1FF31は、第2FF33aの出力端子からリセット信号Resetの供給を受ける。第2グループ44内の第1FF31は、第2FF33bの出力端子からリセット信号Resetの供給を受ける。第1グループ42内の第1FF32は、第2FF33cの出力端子からリセット信号Resetの供給を受ける。
FIG. 5 is a flowchart illustrating the circuit design method according to the first embodiment. FIG. 6 is a diagram illustrating the FF synchronous reset circuit arranged by the circuit design method according to the first embodiment. A plurality of
実施例1によれば、クロック周波数ごとに複数の第1FF31および32にリセット信号Resetを供給する第2FF33aから33cを配置する。これにより、リセット信号のタイミングが収束しやすくなる。よって、第2FF33aから33cの配置が容易となる。
According to the first embodiment, the
実施例2は、実施例1の具体例である。実施例2として機能するコンピュータは、実施例1の図3と同じであり説明を省略する。実施例2が用いられる集積回路の設計フローを示すフローチャートは、実施例1の図4と同じであり説明を省略する。 The second embodiment is a specific example of the first embodiment. The computer functioning as the second embodiment is the same as that of the first embodiment shown in FIG. The flowchart showing the design flow of the integrated circuit in which the second embodiment is used is the same as that of FIG.
図7は、実施例2に係る回路設計方法を示すフローチャートである。図8(a)から図8(f)は、データ構造を示す図である。図9(a)から図9(c)は、FFの配置を示す図である。図7を参照し、コンピュータ10はネットリスト、SDC、DEF(Definition)、Lib(Library)を用い、以下のフローを行なう。DEFは、セルの配置座標、電源配線、信号配線の情報を含む。Libは、セルの遅延時間、セットアップおよびホールド等の規格値、電力情報を含む。コンピュータ10は、第1FF31および32並びに第2FF33を配置する(ステップS30)。例えば、図8(a)に示すように、コンピュータ10は、集積回路全体のリセットおよびプリセット付き第1FFを抽出する。図8(a)の例では、第1FF31は、Reg1からReg4であり、それぞれのクロック周波数は270MHz、270MHz、60MHzおよび60MHzである。位置情報は、各第1FF31が配置される座標を示しており、例えばX座標およびY座標を示している。コンピュータ10は、第1FF、周波数及び位置情報を例えばHDD16内のデータベースに記憶する。図8(b)に示すように、第1FF31にリセット信号を供給する第2FF33を抽出する。第2FF33は、Reg01であり、クロック周波数は270MHzである。コンピュータ10は、第2FF、周波数及び位置情報をデータベースに記憶する。図9(a)に示すように、第1FF31および第2FF33を配置する。第2FF33の前段のFFは第3FF50である。
FIG. 7 is a flowchart illustrating the circuit design method according to the second embodiment. FIG. 8A to FIG. 8F are diagrams showing data structures. FIG. 9A to FIG. 9C are diagrams showing the arrangement of FFs. Referring to FIG. 7, the computer 10 performs the following flow using a netlist, SDC, DEF (Definition), and Lib (Library). The DEF includes information on cell arrangement coordinates, power supply wiring, and signal wiring. The Lib includes cell delay time, standard values such as setup and hold, and power information. The computer 10 arranges the
コンピュータ10は、第1FF31と第2FF33との位置情報と、ファンアウト(F/O)数と、から、バッファ36を配置した後の遅延時間を予想する。図8(c)は、遅延時間の予想のためのテーブル例である。図8(c)に示すように、第2FF33から第1FF31を接続する配線の総配線長と第2FF33のファンアウト数と、リセット信号Resetの遅延時間と、が対応付けられている。図8(c)のテーブルは、例えばHDD16にデータベースとして記憶されている。これにより、第2FF33に接続される総配線長およびファンアウト数が決まれば、遅延時間が予想できる。なお、図8(c)のテーブルは、例えばバッファ36を配置した後のものである。図8(d)に示すように、第2FF33であるReg01から第1FF31であるReg1からReg4へのリセット信号の遅延時間はそれぞれ8nsと予想される。コンピュータ10は、遅延時間をデータベースに記憶する。
The computer 10 predicts the delay time after the
図7を参照し、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する(ステップS32)。例えば、コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。ここで、タイミングコンストレイントは、各FFにおけるリセット信号等のタイミングの許容範囲を規定したものである。Yesの場合、終了する。Noの場合、コンピュータ10は、再度、第2FF33を配置する(ステップS34)。
Referring to FIG. 7, the computer 10 determines whether or not the delay time in each
例えば、コンピュータ10は、第2FF33の第3FF50とのタイミングの余裕時間を取得する。図10は、余裕時間を説明する図である。図10に示すように、第1FF31にリセット信号Resetを供給する第2FF33のデータ端子Dには、前段の第3FF50の出力端子Qからの信号が入力する。コンピュータ10は、第3FF50と第2FF33とを接続する配線長T1から信号の遅延時間を算出する。コンピュータ10は、第2FF33に許容されるタイミングとの余裕時間を算出する。余裕時間は、第3FF50から第2FF33への信号がさらに余裕時間以上遅延すると許容できないことを示している。図10のように、第3FF50から第2FF33までの経路が複数ある場合は、最も余裕時間の小さい時間を余裕時間とする。図8(e)に示すように、第2FF33であるReg01の余裕時間は、例えば1.2nsである。コンピュータ10は、余裕時間をデータベースに記憶する。
For example, the computer 10 acquires a margin time of the timing of the
コンピュータ10は、図9(b)に示すように、第2FF33を第1FF31の平均座標55に配置する。例えば第1FF31のX座標およびY座標のそれぞれの平均を平均座標55とする。図8(f)に示すように、第2FF33の位置情報は、第1FF31であるReg1からReg4の平均座標となる。コンピュータ10は、余裕時間を算出する。図9(b)においては、図9(a)に比べ、第2FF33と第3FF50との距離が長くなる。よって、図8(e)に比べ図8(f)は、余裕時間が短くなる。コンピュータ10は、余裕時間をデータベースに記憶する。
As shown in FIG. 9B, the computer 10 arranges the
図7を参照し、コンピュータ10は、余裕時間が所望値を満足するかを判断する(ステップS36)。すなわち、コンピュータ10は、第3FF50から第2FF33への遅延時間が所望値を満足するか判断する。例えば、コンピュータ10は、余裕時間がタイミングコンストレイントに違反する場合、Noと判断する。違反しない場合、Yesと判断する。Yesの場合ステップS40に進む。Noの場合、コンピュータ10は、第2FF33を移動する(ステップS38)。ステップS36に戻る。図9(c)に示すように、例えば、コンピュータ10は、第2FF33を、余裕時間が改善するように、所定距離移動させる。例えば最小グリッド移動させる。これにより、第2FF33は、余裕時間が所望値を満足する程度まで、第3FF50に近づく。第3FF50から第2FF33に接続する配線長が短くなる。図9(c)に示すように、第2FF33の座標は、平均座標55から座標56に移動する。ステップS38を複数回実行しても余裕時間が所望値を満足しない場合は、図9(b)の第2FF33の位置に戻ることもある。
Referring to FIG. 7, the computer 10 determines whether the margin time satisfies the desired value (step S36). That is, the computer 10 determines whether the delay time from the
ステップS40において、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、第2FF33が第1FF31を接続する総配線長および第2FF33のファンアウト数から各第1FF31の遅延時間を予想する。コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、終了する。Noの場合、ステップS42に進む。
In step S40, the computer 10 determines whether the delay time in each
ステップS42において、コンピュータ10はクロック周波数ごとに第2FF33を配置する。その後終了する。
In step S42, the computer 10 arranges the
図11は、図7のステップS42における回路設計方法を示すフローチャートである。図12(a)から図12(c)は、FFの配置を示す図である。図13は、データ構造を示す図である。図11を参照し、コンピュータ10は、第1FFをクロック周波数ごとに第1グループに分割する(ステップS50)。例えば、図12(a)に示すように、第1FFとして、高周波数クロック動作するFF31と低周波数クロック動作するFF32とが配置されている。第1FF31および32には、同じ第2FF33からリセット信号が供給されている。コンピュータ10は、第1FFをFF31を含む第1グループ41とFF32を含む第1グループ42とに分割する。
FIG. 11 is a flowchart showing the circuit design method in step S42 of FIG. FIG. 12A to FIG. 12C are diagrams showing the arrangement of FFs. FIG. 13 is a diagram illustrating a data structure. Referring to FIG. 11, the computer 10 divides the first FF into a first group for each clock frequency (step S50). For example, as shown in FIG. 12A, an
図11を参照し、ステップS52からS60は、第1グループごとに行なうが、以下の説明では、第1グループ41および42についてまとめて説明する。また、第1グループの数が2つの場合を例に説明するが、第1グループの数は3以上でもよい。コンピュータ10は、第2FF33aおよび33cを配置する(ステップS52)。図12(b)に示すように、コンピュータ10は、第1グループ41に対応し第2FF33aを配置し、第1グループ42に対応し第2FF33cを配置する。第2FF33cは、第2FF33aのクローンである。例えば、第2FF33cは第2FF33aと同じ仕様のFFである。第2FF33aおよび33cは、それぞれ第1FF31および32にリセット信号を供給する。コンピュータ10は、第2FF33aおよび33cを、例えばそれぞれ第1FF31および32の平均座標57および58に配置する。コンピュータ10は、第2FF33aおよび33cの余裕時間を算出する。
Referring to FIG. 11, steps S52 to S60 are performed for each first group. In the following description,
図11を参照し、コンピュータ10は、余裕時間が所望値を満足するかを判断する(ステップS54)。すなわち、第3FF50から第2FF33aおよび33cへの遅延時間が所望値を満足するか判断する。例えば、コンピュータ10は、余裕時間がタイミングコンストレイントに違反する場合、Noと判断する。違反しない場合、Yesと判断する。Yesの場合ステップS58に進む。Noの場合、コンピュータ10は、第2FF33aおよび33cを移動する(ステップS56)。ステップS54に戻る。図12(c)に示すように、例えば、コンピュータ10は、第2FF33aおよび33cを余裕時間が改善するように、所定距離移動させる。例えば最小グリッド移動させる。これにより、第2FF33aおよび33cは、余裕時間が所望値を満足する程度まで、第3FF50に近づく。図12(c)に示すように、第2FF33aおよび33cの座標は、それぞれ平均座標57および58から座標59および60に移動する。ステップS56を複数回実行しても余裕時間が所望値を満足しない場合は、図12(b)の第2FF33aおよび33cの位置に戻ることもある。
Referring to FIG. 11, computer 10 determines whether the margin time satisfies a desired value (step S54). That is, it is determined whether the delay time from the
ステップS58において、コンピュータ10は、各第1FF31および32における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、各第2FF33aおよび33cが各第1FF31および32を接続する総配線長および各第2FF33aおよび33cのファンアウト数から各第1FF31および32の遅延時間を予想する。コンピュータ10は、予想した各第1FF31および32の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、ステップS62に進む。Noの場合、ステップS60に進む。
In step S58, the computer 10 determines whether the delay time in each of the
ステップS60において、コンピュータ10は、第1グループ41および42を第2グループに分割し、第2グループごとに第2FFを配置する。その後、ステップS62に進む。
In step S60, the computer 10 divides the
ステップS62において、コンピュータ10は、最後の第1グループか判断する。例えば、全ての第1グループ(クロック周波数)の第2FFの配置が終了した場合、Yesと判断する。Yesの場合終了し、図7に戻る。Noの場合、次の第1グループとする(ステップS64)。例えば、コンピュータ10は、次のクロック周波数の第1グループに対しステップS52からS60を実行する。 In step S62, the computer 10 determines whether it is the last first group. For example, when the arrangement of the second FFs of all the first groups (clock frequencies) is completed, it is determined as Yes. In the case of Yes, it ends and returns to FIG. In No, it is set as the following 1st group (step S64). For example, the computer 10 executes steps S52 to S60 for the first group of the next clock frequency.
図13に示すように、クロック周波数が270MHzのReg1からReg3にリセット信号を供給する第2FF33aであるReg01が設けられる。さらに、クロック周波数が66MHzのReg4から6にリセット信号を供給するReg02とが設けられる。Reg1からReg3は第1FF31であり、Reg4からReg6は第1FF32である。Reg01は第2FF33aであり、Reg02は第2FF33cである。コンピュータ10は、第2FF33aおよび33cの位置情報、余裕時間、各第1FFの遅延時間をデータベースに記憶する。
As shown in FIG. 13, Reg01 which is a
図14は、図11のステップS60における回路設計方法を示すフローチャートである。図15(a)から図15(c)は、FFの配置を示す図である。図16は、データ構造を示す図である。図15(a)から図15(c)および図16は、第1グループ42の第1FF32については記載を省略している。図14を参照し、コンピュータ10は、第1FF31を座標に基づき複数の第2グループ43および44に分割する(ステップS70)。例えば、図15(a)に示すように、複数の第1FF31と、複数の第1FF31にリセット信号を供給する1つの第2FF33が配置されている。コンピュータ10は、第1FF31の座標に基づき第1FF31が含まれる第1グループ41を複数の第2グループ43および44に分割する。例えば、コンピュータ10は、第1FF31の平均座標(Xa、Ya)を算出する。コンピュータ10は、Y座標がYaより大きい第1FF31を第2グループ43とし、Y座標がYaより小さい第1FF31を第2グループ44とする。
FIG. 14 is a flowchart showing the circuit design method in step S60 of FIG. Fig.15 (a) to FIG.15 (c) is a figure which shows arrangement | positioning of FF. FIG. 16 is a diagram illustrating a data structure. In FIG. 15A to FIG. 15C and FIG. 16, the description of the
図14を参照し、ステップS72からS80は、第2グループ43および44ごとに行なうが、以下の説明では、第2グループ43および44についてまとめて説明する。また、第2グループの数が2つの場合について説明するが、第2グループの数は3以上でもよい。コンピュータ10は、第2FF33aおよび33bを配置する(ステップS72)。図15(b)に示すように、第2グループ43に対応し第2FF33aを配置し、第2グループ44に対応し第2FF33bを配置する。第2FF33bは、第2FF33aのクローンである。例えば、第2FF33bは第2FF33aと同じ仕様のFFである。コンピュータ10は、第2FF33aおよび33bを、例えばそれぞれ第2グループ43および44に含まれる第1FF31の平均座標62および63に配置する。コンピュータ10は、余裕時間を算出する。
Referring to FIG. 14, steps S72 to S80 are performed for each of the
図14を参照し、コンピュータ10は、余裕時間が所望値を満足するかを判断する(ステップS74)。すなわち、第3FF50から第2FF33aおよび33bへの遅延時間が所望値を満足するか判断する。例えば、コンピュータ10は、余裕時間がタイミングコンストレイントに違反する場合、Noと判断する。違反しない場合、Yesと判断する。Yesの場合ステップS78に進む。Noの場合、コンピュータ10は、第2FF33aおよび33bを移動する(ステップS76)。ステップS74に戻る。図15(c)に示すように、例えば、コンピュータ10は、第2FF33aおよび33bを余裕時間が改善するように、所定距離移動させる。例えば最小グリッド移動させる。これにより、第2FF33aおよび33bは、余裕時間が所望値を満足する程度まで、第3FF50に近づく。図15(c)に示すように、第2FF33aおよび33bの座標は、それぞれ平均座標62および63から座標64および65に移動する。ステップS76を複数回実行しても余裕時間が所望値を満足しない場合は、図15(b)の第2FF33aおよび33bの位置に戻ることもある。
Referring to FIG. 14, the computer 10 determines whether the margin time satisfies a desired value (step S74). That is, it is determined whether the delay time from the
ステップS78において、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、各第2FF33aおよび33bが各第1FF31を接続する総配線長および各第2FF33aおよび33bのファンアウト数から各第1FF31の遅延時間を予想する。コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、ステップS82に進む。Noの場合、ステップS80に進む。
In step S78, the computer 10 determines whether the delay time in each
ステップS80において、コンピュータ10は、FFの配置が難しくフロアプラン等の見直しを推奨する報告を行なう。その後、終了する。 In step S80, the computer 10 reports that it is difficult to arrange the FFs and recommends reviewing the floor plan or the like. Then, the process ends.
ステップS82において、コンピュータ10は、最後の第2グループか判断する。例えば、全ての第2グループの第2FFの配置が終了した場合、Yesと判断する。Yesの場合終了し、図12に戻る。Noの場合、次の第2グループとする(ステップS84)。例えば、コンピュータ10は、次の第2グループに対しステップS52からS60を実行する。 In step S82, the computer 10 determines whether it is the last second group. For example, when the arrangement of the second FFs of all the second groups is completed, it is determined as Yes. In the case of Yes, it ends and returns to FIG. In the case of No, it is set as the next second group (step S84). For example, the computer 10 executes steps S52 to S60 for the next second group.
図16に示すように、第1グループ41に含まれるクロック周波数が270MHzのReg1からReg4を第2グループ43および44に分割する。第2グループ43にはReg03を設け、第2グループ44にはReg04を設ける。Reg1からReg4は第1FF31であり、Reg03は第2FF33aであり、Reg04は第2FF33bである。コンピュータ10は、第2FF33aおよび33bの位置情報、余裕時間、各第1FFの遅延時間およびグループをデータベースに記憶する。
As shown in FIG. 16, Reg1 to Reg4 having a clock frequency of 270 MHz included in the
実施例2によれば、図11のステップS50のように配置された複数の第1FF31および32を、クロック周波数ごとに複数の第1グループ41および42にグループ分けする。ステップS52のように複数の第1グループ41および42ごとに複数の第1FF31および32にリセット信号を供給する第2FF33aおよび33cを配置する。これにより、実施例1と同様に、クロック周波数ごとに、リセット信号のタイミングが収束しやすくなる。
According to the second embodiment, the plurality of
また、図12(b)に示すように、第1グループ41および42に含まれる複数の第1FF31および32の座標に基づき、それぞれ第1グループ41および42に対応する第2FF33aおよび33cを配置する。なお、複数の第1グループの少なくとも一つの第1グループ41または42について、第1FF31または32に基づき、第2FF33aまたは33cを配置してもよい。これにより、第2FFから第1FFへのリセット信号の遅延時間を短くできる。例えば、少なくとも一つの第1グループ41または42に含まれる複数の第1FF31または32の平均座標に、少なくとも一つの第1グループ41または42に対応する第2FF33aまたは33cを配置する。
12B,
さらに、図12(c)に示すように、第3FF50から第2FF33aおよび33cへのリセット信号の遅延時間が所望値を満足しない場合、第2FF33aおよび33cの配置位置を第3FF50に近づける。これにより、第3FF50から第2FF33aおよび33cへのリセット信号の遅延時間を短くできる。
Further, as shown in FIG. 12C, when the delay time of the reset signal from the
さらに、図14のステップS70のように、第2FF33から第1グループ41に含まれる複数の第1FF31へのリセット信号の遅延時間が所望値を満足しない場合、第1グループ41を複数の第2グループ43および44にグループ分けする。これにより、第2FF33から第1FF41へのリセット信号の遅延時間をより短くできる。例えば、対応する第1グループ41に含まれる複数の第1FF31の座標に基づき、複数の第2グループ43および44にグループ分けする。第2グループ43および44のグループ分けは、例えば第1FF31の平均座標に基づき行なうことができる。
Furthermore, when the delay time of the reset signal from the
さらに、図15(b)に示すように、第2グループ43および44ごとに、第2FF33aおよび33bを配置する。これにより、第2FFから第1FFへのリセット信号の遅延時間を短くできる。例えば、複数の第2グループ43および44に含まれる複数の第1FF31の座標に基づき、それぞれ第2グループ43および44に対応する第2FF33aまたは33bを配置する。なお、複数の第2グループの少なくとも一つの第1グループ43または44について、第1FF31の座標に基づき、第2FF33aまたは33bを配置してもよい。例えば、少なくとも一つの第2グループ43または44に含まれる複数の第1FF31の平均座標に、少なくとも一つの第2グループ43または44に対応する第2FF33aまたは33bを配置する。
Further, as shown in FIG. 15B, the
さらに、図15(c)に示すように、第3FF50から第2FF33aおよび33bへのリセット信号の遅延時間が所望値を満足しない場合、第2FF33aおよび33bの配置位置を第3FF50に近づける。これにより、第3FFから第2FFへのリセット信号の遅延時間を短くできる。
Further, as shown in FIG. 15C, when the delay time of the reset signal from the
以上、発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific embodiments, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims. It can be changed.
なお、以上の説明に関して更に以下の付記を開示する。
(付記1):コンピュータが実行する回路設計方法であって、複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けするステップと、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置するステップと、を含むことを特徴とする回路設計方法。
(付記2):前記第2フリップフロップを配置するステップは、前記複数の第1グループのうち少なくとも一つの第1グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記少なくとも一つの第1グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする付記1記載の回路設計方法。
(付記3):前記第2フリップフロップを配置するステップは、前記少なくとも一つの第1グループに含まれる前記複数の第1フリップフロップの平均座標に、前記少なくとも一つの第1グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする付記2記載の回路設計方法。
(付記4):前記第2フリップフロップに前記リセット信号を供給する第3フリップフロップから前記第2フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記第2フリップフロップの配置位置を前記第3フリップフロップに近づけるステップを含むことを特徴とする付記2または3記載の回路設計方法。
(付記5):前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けするステップと、前記複数の第2グループごとに、前記第2フリップフロップを配置するステップと、を含むことを特徴とする付記1から4のいずれか一項記載の回路設計方法。
(付記6):前記対応する第1グループを複数の第2グループにグループ分けするステップは、前記対応する第1グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記複数の第2グループにグループ分けするステップを含むことを特徴とする付記5記載の回路設計方法。
(付記7):前記複数の第2グループごとに、前記第2フリップフロップを配置するステップは、前記複数の第2グループのうち少なくとも一つの第2グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記少なくとも一つの第2グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする付記5または6記載の回路設計方法。
(付記8):コンピュータに、複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けさせ、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置させることを特徴とする回路設計プログラム。
(付記9):複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けする第1ユニットと、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置する第2ユニットと、を具備することを特徴とする回路設計装置。
In addition, the following additional notes are disclosed regarding the above description.
(Supplementary Note 1): A circuit design method executed by a computer, the step of grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency, and for each of the plurality of first groups, Disposing a second flip-flop for supplying a reset signal to a plurality of first flip-flops.
(Supplementary Note 2): The step of disposing the second flip-flop includes the at least one first flip-flop based on the coordinates of the plurality of first flip-flops included in at least one first group of the plurality of first groups. The circuit design method according to
(Supplementary Note 3): In the step of arranging the second flip-flop, the average coordinate of the plurality of first flip-flops included in the at least one first group is the first coordinate corresponding to the at least one first group. The circuit design method according to appendix 2, further comprising a step of arranging two flip-flops.
(Supplementary Note 4): When the delay time of the reset signal from the third flip-flop supplying the reset signal to the second flip-flop to the second flip-flop does not satisfy a desired value, the arrangement of the second flip-flop 4. The circuit design method according to claim 2 or 3, further comprising a step of bringing a position closer to the third flip-flop.
(Supplementary Note 5): When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the plurality of the corresponding first groups The circuit according to any one of
(Supplementary Note 6): The step of grouping the corresponding first group into a plurality of second groups is based on the coordinates of the plurality of first flip-flops included in the corresponding first group. The circuit design method according to
(Supplementary Note 7): The step of arranging the second flip-flop for each of the plurality of second groups includes the step of arranging the plurality of first flip-flops included in at least one second group of the plurality of second groups. 7. The circuit design method according to
(Supplementary Note 8): A computer causes a plurality of first flip-flops to be grouped into a plurality of first groups for each clock frequency, and a reset signal is sent to the plurality of first flip-flops for each of the plurality of first groups. A circuit design program comprising a second flip-flop to be supplied.
(Supplementary Note 9): A first unit that groups a plurality of first flip-flops into a plurality of first groups for each clock frequency, and a reset signal to the plurality of first flip-flops for each of the plurality of first groups. And a second unit for disposing a second flip-flop for supplying the circuit.
10 コンピュータ
31、32 第1FF
33 第2FF
41、42 第1グループ
43、44 第2グループ
50 第3FF
10
33 2nd FF
41, 42
Claims (6)
複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けするステップと、
前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置するステップと、
前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けするステップと、
前記複数の第2グループごとに、前記第2フリップフロップを配置するステップと、
を含むことを特徴とする回路設計方法。 A circuit design method executed by a computer,
Grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency;
Disposing a second flip-flop for supplying a reset signal to the plurality of first flip-flops for each of the plurality of first groups;
When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is changed to a plurality of second groups. The step of grouping,
Disposing the second flip-flop for each of the plurality of second groups;
A circuit design method comprising:
複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けさせ、
前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置させ、
前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けさせ、
前記複数の第2グループごとに、前記第2フリップフロップを配置させることを特徴とする回路設計プログラム。 On the computer,
Grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency;
For each of the plurality of first groups, a second flip-flop that supplies a reset signal to the plurality of first flip-flops is disposed .
When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is changed to a plurality of second groups. Let them group,
Wherein for each of the plurality of the second group, the circuit design program characterized Rukoto is disposed the second flip-flop.
前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置する第2ユニットと、
前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けする第3ユニットと、
前記複数の第2グループごとに、前記第2フリップフロップを配置する第4ユニットと、
を具備することを特徴とする回路設計装置。 A first unit that groups a plurality of first flip-flops into a plurality of first groups for each clock frequency;
A second unit in which a second flip-flop that supplies a reset signal to the plurality of first flip-flops is disposed for each of the plurality of first groups;
When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is changed to a plurality of second groups. A third unit to group,
A fourth unit for disposing the second flip-flop for each of the plurality of second groups;
A circuit design apparatus comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012253541A JP6070100B2 (en) | 2012-11-19 | 2012-11-19 | Circuit design method, circuit design program, and circuit design apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012253541A JP6070100B2 (en) | 2012-11-19 | 2012-11-19 | Circuit design method, circuit design program, and circuit design apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014102640A JP2014102640A (en) | 2014-06-05 |
| JP6070100B2 true JP6070100B2 (en) | 2017-02-01 |
Family
ID=51025106
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012253541A Expired - Fee Related JP6070100B2 (en) | 2012-11-19 | 2012-11-19 | Circuit design method, circuit design program, and circuit design apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6070100B2 (en) |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3851782B2 (en) * | 2001-03-07 | 2006-11-29 | 株式会社東芝 | Semiconductor integrated circuit and test method thereof |
| JP4131119B2 (en) * | 2002-04-19 | 2008-08-13 | 富士通株式会社 | Semiconductor integrated circuit design method and semiconductor integrated circuit design program |
| JP4437741B2 (en) * | 2004-11-26 | 2010-03-24 | 富士通マイクロエレクトロニクス株式会社 | Semiconductor integrated circuit design apparatus, semiconductor integrated circuit, and semiconductor integrated circuit design program |
| JP4314233B2 (en) * | 2005-11-07 | 2009-08-12 | 富士通株式会社 | Design support apparatus, design support method, design support program, and recording medium |
| JP2007300067A (en) * | 2006-04-07 | 2007-11-15 | Toshiba Corp | Semiconductor integrated circuit device and design method thereof |
| US7676768B1 (en) * | 2006-05-19 | 2010-03-09 | Altera Corporation | Automatic asynchronous signal pipelining |
| US7549137B2 (en) * | 2006-12-14 | 2009-06-16 | International Business Machines Corporation | Latch placement for high performance and low power circuits |
| JP2009188093A (en) * | 2008-02-05 | 2009-08-20 | Nec Corp | Method and device for designing semiconductor integrated circuit, and program |
| JP2012174226A (en) * | 2011-02-24 | 2012-09-10 | Renesas Electronics Corp | Layout design method of semiconductor integrated circuit |
-
2012
- 2012-11-19 JP JP2012253541A patent/JP6070100B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014102640A (en) | 2014-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8566767B1 (en) | System and method for parametric intercoupling of static and dynamic analyses for synergistic integration in electronic design automation | |
| US11263379B2 (en) | Hierarchical clock tree implementation | |
| US9659123B2 (en) | Systems and methods for flexibly optimizing processing circuit efficiency | |
| US11023646B2 (en) | Hierarchical clock tree construction based on constraints | |
| US9298869B2 (en) | Method for showing hierarchical structure for a given power intent described in a power intent description language with a design described in a hardware design description language, and associated apparatus and associated computer program product | |
| CN112906338A (en) | Method, system, medium, and program for clock design of physical partition structure | |
| US10339241B1 (en) | Methods for incremental circuit design legalization during physical synthesis | |
| US20080250379A1 (en) | Logic circuit synthesis device | |
| JP6070100B2 (en) | Circuit design method, circuit design program, and circuit design apparatus | |
| JP2008204199A (en) | Verification device, verification method, and program | |
| US10684642B2 (en) | Adaptive clock mesh wiring | |
| KR20180051708A (en) | Layout method for semiconductor device based on swiching activity and manufacturing | |
| US8555231B2 (en) | Automatic wiring device, automatic wiring method, and automatic wiring program | |
| JP4554509B2 (en) | Timing analysis apparatus and timing analysis method | |
| TWI783773B (en) | Method for establishing variation model related to circuit characteristics for performing circuit simulation, and associated circuit simulation system | |
| JP4264436B2 (en) | Flip-flop functional element, semiconductor integrated circuit, semiconductor integrated circuit design method, and semiconductor integrated circuit design apparatus | |
| JP2008210189A (en) | Verification method, verification apparatus, and program | |
| JP5338919B2 (en) | Integrated circuit power consumption calculation method, power consumption calculation program, and power consumption calculation device | |
| US9542519B2 (en) | Method and design apparatus | |
| US12535850B1 (en) | Clock gate cloning based on clocked circuit element switching activity | |
| CN118332988B (en) | Clock path analysis method, clock path analysis device, electronic device, storage medium, and computer program product | |
| JP2011210053A (en) | Method and device for designing semiconductor integrated circuit, and program | |
| US10885952B1 (en) | Memory data transfer and switching sequence | |
| JP2010211550A (en) | Circuit design program, circuit design method, and circuit design device | |
| JP4845400B2 (en) | Semiconductor device design method and semiconductor device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150611 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150729 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20160509 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160511 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160609 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160621 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160729 |
|
| 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: 20161206 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161219 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6070100 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |