JP2016105252A - 設計方法、設計装置及びプログラム - Google Patents

設計方法、設計装置及びプログラム Download PDF

Info

Publication number
JP2016105252A
JP2016105252A JP2014243353A JP2014243353A JP2016105252A JP 2016105252 A JP2016105252 A JP 2016105252A JP 2014243353 A JP2014243353 A JP 2014243353A JP 2014243353 A JP2014243353 A JP 2014243353A JP 2016105252 A JP2016105252 A JP 2016105252A
Authority
JP
Japan
Prior art keywords
registers
timing
timing condition
group
register
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
Application number
JP2014243353A
Other languages
English (en)
Other versions
JP6428207B2 (ja
Inventor
亮 牧野
Akira Makino
亮 牧野
篤 土屋
Atsushi Tsuchiya
篤 土屋
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.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2014243353A priority Critical patent/JP6428207B2/ja
Priority to US14/934,041 priority patent/US9542519B2/en
Publication of JP2016105252A publication Critical patent/JP2016105252A/ja
Application granted granted Critical
Publication of JP6428207B2 publication Critical patent/JP6428207B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】半導体集積回路の回路面積を縮小する。【解決手段】コンピュータ1が、半導体集積回路の設計情報D1に含まれる複数のレジスタに対してタイミング条件tmaxを設定して、論理合成を行い、設計情報D2aを生成し、複数のレジスタに対して、タイミング条件tmaxよりもタイミングマージンが小さいタイミング条件tminを設定して、論理合成を行い、設計情報D2bを生成し、設計情報D2a,D2bに基づき、複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、算出した変化率の大きさに基づき、複数のレジスタを、グループG1と、変化率が、グループG1よりも小さいグループG2に分け、グループG1のレジスタに、タイミング条件tminを設定し、グループG2のレジスタに、タイミング条件tmaxを設定し、論理合成を行う。【選択図】図1

Description

本発明は、設計方法、設計装置及びプログラムに関する。
半導体集積回路の設計の際、RTL(Register Transfer Level)の設計情報から、ゲートレベルの設計情報(ネットリスト)に変換する論理合成が行われる。論理合成処理では、RTLの設計情報、タイミング条件、DRC(Design Rule Check)などに基づき、どのような回路で機能を実現するかが選択される。
論理合成時に与えられるタイミング条件は、タイミングに関する設計マージン(以下タイミングマージンという)を示すものである。
クロックスキュー、クロックOCV(On Chip Variation)、クロストークディレイ、配線遅延見積もりと実配線遅延とのギャップ、PLL(Phase Locked Loop)ジッタなどによるクロック信号の遅延時間の変動は、論理合成時には考慮できない。そのため、論理合成時に与えられるタイミング条件は、クロックスキューなど上記の各遅延変動要素において生じる遅延時間の変動のワーストケースの値の加算値に基づいて、タイミングマージンが設定されたものとなる。
特開2003−76729号公報 特開平11−145297号公報 特開平6−19999号公報
ところで、上記のようにタイミングマージンが設定されると、満たすべきタイミング制約が厳しくなり、論理合成ツールは、その制約を満たすために、比較的速い速度で動作する回路を選択してネットリストを生成する。そのような回路は、回路面積が大きくなってしまう傾向がある。そのため、半導体集積回路の回路面積を縮小することが課題である。
発明の一観点によれば、コンピュータが、半導体集積回路の第1の設計情報に含まれる複数のレジスタに対して第1のタイミング条件を設定して、第1の論理合成を行い第2の設計情報を生成し、前記複数のレジスタに対して、前記第1のタイミング条件よりもタイミングマージンが小さい第2のタイミング条件を設定して、第2の論理合成を行い第3の設計情報を生成し、前記第2の設計情報と前記第3の設計情報に基づき、前記複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、算出した前記変化率の大きさに基づき、前記複数のレジスタを、第1のグループと、前記変化率が、前記第1のグループよりも小さい第2のグループに分け、前記第1のグループの第1のレジスタに、前記第2のタイミング条件を設定し、前記第2のグループの第2のレジスタに、前記第1のタイミング条件を設定し、第3の論理合成を行う、設計方法が提供される。
また、発明の一観点によれば、プロセッサを有し、前記プロセッサが、半導体集積回路の第1の設計情報に含まれる複数のレジスタに対して第1のタイミング条件を設定して、第1の論理合成を行い第2の設計情報を生成し、前記複数のレジスタに対して、前記第1のタイミング条件よりもタイミングマージンが小さい第2のタイミング条件を設定して、第2の論理合成を行い第3の設計情報を生成し、前記第2の設計情報と前記第3の設計情報に基づき、前記複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、算出した前記変化率の大きさに基づき、前記複数のレジスタを、第1のグループと、前記変化率が、前記第1のグループよりも小さい第2のグループに分け、前記第1のグループの第1のレジスタに、前記第2のタイミング条件を設定し、前記第2のグループの第2のレジスタに、前記第1のタイミング条件を設定し、第3の論理合成を行う、設計装置が提供される。
また、発明の一観点によれば、半導体集積回路の第1の設計情報に含まれる複数のレジスタに対して第1のタイミング条件を設定して、第1の論理合成を行い第2の設計情報を生成し、前記複数のレジスタに対して、前記第1のタイミング条件よりもタイミングマージンが小さい第2のタイミング条件を設定して、第2の論理合成を行い第3の設計情報を生成し、前記第2の設計情報と前記第3の設計情報に基づき、前記複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、算出した前記変化率の大きさに基づき、前記複数のレジスタを、第1のグループと、前記変化率が、前記第1のグループよりも小さい第2のグループに分け、前記第1のグループの第1のレジスタに、前記第2のタイミング条件を設定し、前記第2のグループの第2のレジスタに、前記第1のタイミング条件を設定し、第3の論理合成を行う、処理をコンピュータに実行させるプログラムが提供される。
開示の設計方法、設計装置及びプログラムによれば、半導体集積回路の回路面積を縮小できる。
第1の実施の形態の設計方法の一例を示す図である。 第2の実施の形態の設計装置の一例を示す図である。 第2の実施の形態の設計方法の一例の流れを説明する図である。 タイミング条件の一例を説明する図である。 論理合成処理の一例の流れを示すフローチャートである。 タイミング条件の適用例を示す図である。 ネットリストの一例とそのネットリストが示す回路例を示す図である。 ロジックコーンの面積の算出処理の一例の流れを示すフローチャートである。 面積対比表の一例を示す図である。 面積変化率を追加した面積対比表の一例を示す図である。 タイミング条件の違いによるロジックコーン面積の変化例を示す図である。 ソート後の面積対比表の一例を示す図である。 エリア・オーバーヘッドを抑えながらマニュアルレイアウト可能なエンドポイントのレジスタの割合と、工数との一例の関係を示す図である。 個別タイミング条件とその適用例を示す図である。 面積対比表の表示例を示す図である。 マニュアルレイアウトの一例を示す図である。 マニュアルレイアウトの他の例を示す図である。 本実施の形態の設計方法で得られる半導体集積回路の面積の縮小効果の一例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
本実施の形態の設計方法は、コンピュータによって、半導体集積回路の設計を行うものである。
図1は、第1の実施の形態の設計方法の一例を示す図である。
設計方法は、以下のような設計装置1によって実行される。
設計装置1は、たとえば、コンピュータであり、プロセッサ2と記憶部3を有している。プロセッサ2は、記憶部3に記憶されているデータ及びプログラムに基づき、以下のような処理を実行する。
記憶部3は、プロセッサ2が実行するプログラムや、各種データを記憶する。たとえば、記憶部3は、設計情報D1,D2a,D2b,D3などを記憶する。
設計情報D1は、RTLで記述されている半導体集積回路の設計情報を含む。
設計情報D2a,D2b,D3は、論理合成で生成されるネットリストである。
なお、図1では図示が省略されているが、記憶部3は、各セルの機能や面積などが記載されたライブラリを格納する。
第1の実施の形態の設計方法において、まず、プロセッサ2は、設計情報D1に含まれる複数のレジスタに対してタイミング条件tmaxを設定して論理合成を行い、設計情報D2aを生成する(ステップS1)。さらに、プロセッサ2は、設計情報D1に含まれる複数のレジスタに対してタイミング条件tmaxよりもタイミングマージンが小さいタイミング条件tminを設定して論理合成を行い、設計情報D2bを生成する(ステップS2)。なお、ステップS1の処理とステップS2の処理は、どちらを先に実行してもよいし、並列に行ってもよい。
なお、タイミング条件tminは、遅延変動要素による遅延時間の変動量を比較的小さく見積もってレジスタに設定するタイミング条件である。そのため、このようなタイミング条件tminは、タイミング制約が緩い条件ともいえる。また、後述のように遅延変動量はマニュアルレイアウトにより小さくすることができるため、タイミング条件tminは、マニュアルレイアウト用のタイミング条件ということもできる。
一方、タイミング条件tmaxは、遅延変動要素による遅延時間の変動量を大きく見積もって(たとえば、ワーストケースで見積もる)、レジスタに設定するタイミング条件のことである。そのため、このようなタイミング条件tmaxは、タイミング制約が厳しい条件であるともいえる。また、タイミング条件tmaxは、自動レイアウト用のタイミング条件ということもできる。
上記のようなタイミング条件tmin,tmaxは、タイミングマージン(単位は時間)で与えられる。タイミング条件tminでのタイミングマージンは、タイミング条件tmaxでのタイミングマージンよりも小さい。
ステップS2の処理後、プロセッサ2は設計情報D2a,D2bに基づき、複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率(以下面積変化率という)を算出する(ステップS3)。
図1には、エンドポイントであるレジスタ10と、その前段の複数のレジスタ11,12,13,14との間にある組み合わせ回路で形成されたロジックコーン15が示されている。
ロジックコーン15の面積は、レジスタ10に設定されるタイミングマージンが大きい(満たすべきタイミング制約が厳しい)ほど、大きくなる傾向にある。そのため、ロジックコーン15は、レジスタ10にタイミング条件tminが設定されるときよりも、タイミング条件tmaxが設定されるときのほうが大きくなる傾向になる。ただ、レジスタ10がどのような演算をする回路に用いられるかによって、タイミング条件の違いによるロジックコーン15の面積の差異の大きさは変わってくる。
ステップS3の処理では、プロセッサ2は、レジスタごとにそのレジスタをエンドポイントとするロジックコーンの、タイミング条件の違いによる面積の差異を、面積変化率として算出する。面積変化率は、タイミング条件tmaxが設定されたときに得られるロジックコーンの面積と、タイミング条件tminが設定されたときに得られるロジックコーンの面積との差分を、論理合成後の回路全体の面積で割ったものとして算出される。
なお、ロジックコーンの面積は、ロジックコーン内の各セルの面積(ライブラリに記述されている)を加算することで求めるものとする。また、回路全体の面積は、各セルの面積を加算することで求めるものとする。
図1では、レジスタ名“reg1”,“reg2”,reg3”,…,“rega”,“regb”,“regc”の各レジスタをエンドポイントとしたときの、各タイミング条件tmax,tminでのロジックコーン面積と、面積変化率の一例が示されている。
ステップS3の処理後、プロセッサ2は、面積変化率の大きさに基づき、複数のレジスタを、2つのグループに分ける(ステップ4)。図1の例では、レジスタ名“reg1”,“reg2”,reg3”のレジスタがグループG1に分類されている。そして、レジスタ名“reg1”,“reg2”,reg3”のレジスタよりも面積変化率が小さいレジスタ名“rega”,“regb”,“regc”のレジスタがグループG2に分類されている。
ステップS4の処理の際、プロセッサ2は、グループG1に分類されるレジスタの数を、グループG2に分類されるレジスタの数よりも少なく、たとえば、エンドポイントとなる全体のレジスタ数のうち、面積変化率が大きい上位10%程度とする。その理由については後述する。
なお、ステップS4の処理の際、プロセッサ2は、図1に示すようなレジスタごとの面積変化率を図示しないディスプレイに表示して、ユーザから、グループG1に分類するレジスタ数などの情報の入力を受け付け、入力された情報に基づきグループ分けしてもよい。
ステップS4の処理後、プロセッサ2は、レジスタに対するタイミング条件の再設定を行い(ステップS5)、再度、論理合成を行い設計情報D3(ネットリスト)を生成する(ステップS6)。
ステップS5の処理では、プロセッサ2は、たとえば、図1のように、グループG1のレジスタにタイミング条件tminを設定し、グループG2のレジスタにタイミング条件tmaxを設定する。これにより、面積変化率の大きいロジックコーンのエンドポイントとなるレジスタには、タイミング条件tminが設定される。また、面積変化率の小さいロジックコーンのエンドポイントとなるレジスタには、タイミング条件tmaxが設定されることになる。
このように、タイミング条件tmaxを与えるとロジックコーンがより大きい面積となるレジスタ群(面積変化率が大きいレジスタ群)に対して、タイミング条件tminを設定することで、論理合成後の回路面積を効率的に小さくすることができる。
ステップS6の処理後は、プロセッサ2は、設計情報D3に基づきレイアウトを行う(ステップS7)。
ステップS7の処理では、プロセッサ2は、ステップS4の処理で2つのグループG1,G2に分類された各レジスタのうち、グループG2に分類された各レジスタをエンドポイントとするロジックコーンに対して、自動レイアウトを行う。
一方、グループG1に分類された各レジスタをエンドポイントするロジックコーンに対しては、ユーザによるマニュアルレイアウトが行われる。グループG1に分類されたレジスタに設定されているタイミングマージンが比較的小さいタイミング条件tminを満たすためには、自動レイアウトよりも前述した遅延変動要素による遅延の変動量を減らせるマニュアルレイアウトが適しているからである。ただ、マニュアルレイアウトによる工数の増加を抑えるため、前述のようにグループG1に分類されるレジスタの数は、グループG2に分類されるレジスタの数よりも少なく設定されている。
以上のような設計方法によれば、プロセッサ2は、タイミング条件の違いによる論理合成後の面積変化が大きいロジックコーンを特定し、そのロジックコーンのエンドポイントとなるレジスタに小さいタイミングマージンのタイミング条件を設定している。このため、論理合成後のロジックコーンの面積が効率よく抑えられ、その結果、半導体集積回路の回路面積を縮小できる。
また、マニュアルレイアウト用のタイミング条件tminが設定されるレジスタの数を、自動レイアウト用のタイミング条件tmaxが設定されるレジスタの数よりも少なくすることで、マニュアルレイアウト時の工数の増加を抑えられる。
(第2の実施の形態)
以下、第2の実施の形態の設計方法及び設計装置の一例を示す。
図2は、第2の実施の形態の設計装置の一例を示す図である。
設計装置は、たとえば、コンピュータ20であり、プロセッサ21によって装置全体が制御されている。プロセッサ21には、バス29を介してRAM(Random Access Memory)22と複数の周辺機器が接続されている。プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ21は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM22は、コンピュータ20の主記憶装置として使用される。RAM22には、プロセッサ21に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM22には、プロセッサ21による処理に必要な各種データが格納される。
バス29に接続されている周辺機器としては、HDD(Hard Disk Drive)23、グラフィック処理装置24、入力インタフェース25、光学ドライブ装置26、機器接続インタフェース27及びネットワークインタフェース28がある。
HDD23は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD23は、コンピュータ20の補助記憶装置として使用される。HDD23には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置24には、モニタ24aが接続されている。グラフィック処理装置24は、プロセッサ21からの命令にしたがって、画像をモニタ24aの画面に表示させる。モニタ24aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース25には、キーボード25aとマウス25bとが接続されている。入力インタフェース25は、キーボード25aやマウス25bから送られてくる信号をプロセッサ21に送信する。なお、マウス25bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置26は、レーザ光などを利用して、光ディスク26aに記録されたデータの読み取りを行う。光ディスク26aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク26aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース27は、コンピュータ20に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース27には、メモリ装置27aやメモリリーダライタ27bを接続することができる。メモリ装置27aは、機器接続インタフェース27との通信機能を搭載した記録媒体である。メモリリーダライタ27bは、メモリカード27cへのデータの書き込み、またはメモリカード27cからのデータの読み出しを行う装置である。メモリカード27cは、カード型の記録媒体である。
ネットワークインタフェース28は、ネットワーク28aに接続されている。ネットワークインタフェース28は、ネットワーク28aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、図1に示した第1の実施の形態の設計装置1も、図2に示したコンピュータ20と同様のハードウェアにより実現することができる。
コンピュータ20は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ20に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ20に実行させるプログラムをHDD23に格納しておくことができる。プロセッサ21は、HDD23内のプログラムの少なくとも一部をRAM22にロードし、プログラムを実行する。またコンピュータ20に実行させるプログラムを、光ディスク26a、メモリ装置27a、メモリカード27cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ21からの制御により、HDD23にインストールされた後、実行可能となる。またプロセッサ21が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
(設計方法)
図3は、第2の実施の形態の設計方法の一例の流れを説明する図である。
第2の実施の形態の設計方法は、タイミング条件取得処理(ステップS10)、論理合成処理(タイミング条件再設定処理を含む)(ステップS11)、レイアウト処理(ステップS12)、という流れで行われる。このような処理は、プロセッサ21が、HDD23内に格納されたプログラム(論理合成ツールなどを含む)を読み出して実行することで行われる。
以下各ステップの処理について説明する。
(タイミング条件取得処理)
ステップS10のタイミング条件取得処理では、たとえば、ユーザによるキーボード25aまたはマウス25bの操作によって入力される2種のタイミング条件をプロセッサ21が取得する。なお、タイミング条件は、予めHDD23に記憶されていてもよく、プロセッサ21は、HDD23に記憶されているタイミング条件を取得するようにしてもよい。
2種のタイミング条件は、たとえば、以下のようなものである。
図4は、タイミング条件の一例を説明する図である。
図4には、各遅延変動要素での自動レイアウト時の遅延変動量と、マニュアルレイアウト時の遅延変動量の一例が示されている。遅延変動要素としては、クロックスキュー、クロストークディレイ、クロックOCV、配線遅延ギャップ(配線遅延見積もりと実配線遅延とのギャップ)、PLLジッタがある。各遅延変動要素の遅延変動量は、設計仕様に基づき決定される。
自動レイアウト時と比べ、マニュアルレイアウト時には、クロックスキュー、クロストークディレイ、クロックOCVについては、遅延変動量を小さくすることができる。たとえば、クロックスキューによる遅延変動量(スキュー量)については、クロック配線の調整により小さくでき、クロストークディレイによる遅延変動量については、シールド配線などの追加によって小さくできる。また、クロックOCVによる遅延変動量については、クロック配線の分岐点の最適化をマニュアルで行うことで小さくできる。
以下では、プロセッサ21は、論理合成処理の際にレジスタに設定するタイミング条件として、自動レイアウト時の各遅延変動要素での遅延変動量を加算した値と、マニュアルレイアウト時の各遅延変動要素での遅延変動量を加算した値を適用する。以下では、前者をマージンmaxのタイミング条件、後者をマージンminのタイミング条件と呼ぶ。図4の例では、マージンmaxのタイミング条件は、950psであり、マージンminのタイミング条件は、400psである。
(論理合成処理)
次に、図3のステップS11の、タイミング条件の再設定処理を含む論理合成処理を説明する。
図5は、論理合成処理の一例の流れを示すフローチャートである。
まず、プロセッサ21は、たとえば、HDD23に記憶されている半導体集積回路のRTLの設計情報やライブラリを読み出し、全レジスタにマージンmaxのタイミング条件を適用して、論理合成を実行する(ステップS20)。
図6は、タイミング条件の適用例を示す図である。
図6には、レジスタ(フリップフロップ)FF1,FF2,FF3,FF4,FF5に対して、マージンmaxのタイミング条件Tmax(またはマージンminのタイミング条件Tmin)が一律に適用される例が示されている。
ステップS20の処理では、クロックCLKが入力される各レジスタFF1〜FF5用のマージン(タイミング条件)として、マージンmaxのタイミング条件Tmax(図6の例では950ps)が一律に適用される。
ステップS20の処理により、ネットリストが生成される。
図7は、ネットリストの一例とそのネットリストが示す回路例を示す図である。
図7に示すネットリストntl1は、モジュール名“AAA”という回路の各セルの接続情報を示すものである。たとえば、“FF”から始まる行では、レジスタFFaの接続情報が示されており、“NAND”から始まる行では、NAND回路A1の接続情報が示されている。
図7には、このようなネットリストntl1で表されるモジュール名“AAA”の回路の一部が示されている。
レジスタFFaの入力端子には、NAND回路A1の出力端子が接続され、NAND回路A1の一方の入力端子には、OR回路B1の出力端子が接続されている。NAND回路A1の他方の入力端子には、OR回路B2の出力端子が接続されている。OR回路B1の一方の入力端子には、OR回路B3の出力端子が接続されており、OR回路B1の他方の入力端子には、OR回路B4の出力端子が接続されている。OR回路B2の一方の入力端子には、OR回路B5の出力端子が接続されており、OR回路B2の他方の入力端子には、OR回路B6の出力端子が接続されている。
OR回路B3の一方の入力端子には、レジスタFFbの出力端子が接続されており、OR回路B3の他方の入力端子には、レジスタFFcの出力端子が接続されている。OR回路B4の一方の入力端子には、レジスタFFdの出力端子が接続されており、OR回路B4の他方の入力端子には、レジスタFFeの出力端子が接続されている。OR回路B5の一方の入力端子には、レジスタFFfの出力端子が接続されており、OR回路B5の他方の入力端子には、レジスタFFgの出力端子が接続されている。OR回路B6の一方の入力端子には、レジスタFFhの出力端子が接続されており、OR回路B6の他方の入力端子には、レジスタFFiの出力端子が接続されている。
ステップS20の処理後、プロセッサ21は、生成されたネットリストと、ライブラリに基づき、全ロジックコーンのそれぞれの面積を算出する(ステップS21)。
図8は、ロジックコーンの面積の算出処理の一例の流れを示すフローチャートである。
プロセッサ21は、以下に示す処理を、エンドポイントとなるレジスタごとに行う。
まず、プロセッサ21は、ネットリストを参照して、ロジックコーンのエンドポイントとなるレジスタを選択し(ステップS40)、1段バックトレースする(ステップS41)。そして、プロセッサ21は、バックトレースにより到達したセルが組み合わせセルか否かを判定し(ステップS42)、組み合わせセルではないときには、ステップS41からの処理を繰り返す。組み合わせセルとしては、OR回路、NAND回路などがある。たとえば、図7に示したような回路の場合、レジスタFFaがロジックコーンのエンドポイントとなっているため、レジスタFFaからバックトレースが行われる。図7の例では、レジスタFFaから1段バックトレースした到達セルは、NAND回路A1であるため、プロセッサ21は、到達セルが、組み合わせセルであると判定する。
到達セルが組み合わせセルであるとき、プロセッサ21は、到達セルのエリア(面積)をライブラリから取得する(ステップS43)。たとえば、図8に示すライブラリlb1の例では、到達セルがNAND回路A1であった場合、そのエリアとして“100”が取得される。
そして、プロセッサ21は、ロジックコーン面積に到達セルのエリアを加えて、ロジックコーン面積を更新する(ステップS44)。
その後、プロセッサ21は、ロジックコーンの全セルに対してトレースが完了したか否か判定し(ステップS45)、トレースが完了していなければ、ステップS41からの処理を繰り返し、トレースが完了したときには、ステップS40の処理で選択したレジスタをエンドポイントとするロジックコーンの面積の算出を終える。
たとえば、図7に示したようなロジックコーンの場合、トレースにより、すべてのFFb〜FFiの出力端子に達した場合には、レジスタFFaをエンドポイントとするロジックコーンの面積の算出が終わる。プロセッサ21は、ロジックコーンの面積の算出結果をたとえば、RAM22に記憶しておく。
以上のような処理が、マージンmaxのタイミング条件を適用した論理合成で得られたネットリストにおいて、ロジックコーンのエンドポイントとなるレジスタすべてに対して行われ、全ロジックコーンのそれぞれの面積が算出される。
次に、図5のステップS22の処理が行われる。
ステップS22の処理では、プロセッサ21は、たとえば、HDD23に記憶されている半導体集積回路のRTLの設計情報やライブラリを読み出し、全レジスタにマージンminのタイミング条件を適用して、論理合成を実行する。ステップS22の処理では、たとえば、図6に示した例の場合、レジスタFF1〜FF5用のマージンとして、マージンminのタイミング条件Tmin(図6の例では400ps)が一律に適用される。
ステップS22の処理により、ステップS20の処理で生成されたネットリストとは別のネットリストが生成される。
ステップS22の処理後、プロセッサ21は、ライブラリと、ステップS22の処理で生成されたネットリストに基づき、生成される回路全体の面積と、全ロジックコーンのそれぞれの面積を算出する(ステップS23,S24)。
ステップS23の処理では、プロセッサ21は、ネットリストに含まれる全セルの面積をライブラリから取得して加算することで、回路全体の面積を求める。ステップS24の処理は、図8に示した処理と同様の処理で行われる。
なお、ステップS23の処理は、ステップS20の処理で生成されたネットリストに基づき行ってもよい。また、ステップS20〜S24の処理は、上記の順序に限定されず、たとえば、ステップS22〜S24の処理後に、ステップS20,S21の処理を行ってもよい。
次に、プロセッサ21は、ステップS21,S24の処理結果に基づき、各レジスタをエンドポイントとするロジックコーンの各タイミング条件での面積を対比する面積対比表を生成する(ステップS25)。
図9は、面積対比表の一例を示す図である。
図9の面積対比表30には、各レジスタをエンドポイントとしたときの、各タイミング条件Tmax,Tminでのロジックコーン面積の一例が示されている。
たとえば、レジスタ名“FF_incr0p[28]”のレジスタをエンドポイントとしたロジックコーンでは、タイミング条件Tmin適用時のロジックコーン面積は116、タイミング条件Tmax適用時のロジックコーン面積は129である。また、レジスタ名“FF_incr6p[8]”のレジスタをエンドポイントとしたロジックコーンでは、タイミング条件Tmin適用時のロジックコーン面積は131935、タイミング条件Tmax適用時のロジックコーン面積は141004である。
プロセッサ21は、生成した面積対比表30を、たとえば、一旦、HDD23に記憶してもよい。
その後、プロセッサ21は、面積対比表に基づき、タイミング条件の差異による面積変化率を算出し面積対比表に追加する(ステップS26)。
面積変化率は、タイミング条件Tmax適用時のロジックコーン面積からタイミング条件Tmin適用時のロジックコーン面積を引いた値を、ステップS23の処理で得られた回路全体の面積で割ることで得られる。
図10は、面積変化率を追加した面積対比表の一例を示す図である。
図10の面積対比表30aは、図9に示した面積対比表30に、各レジスタをエンドポイントとしたときの、各タイミング条件Tmax,Tminでのロジックコーン面積の面積変化率が追加されたものである。
たとえば、レジスタ名“FF_incr0p[28]”のレジスタをエンドポイントとしたロジックコーンでは、タイミング条件の差異による面積変化率は、0.01%となっている。これに対し、レジスタ名“FF_incr6p[8]”のレジスタをエンドポイントとしたロジックコーンでは、タイミング条件の差異による面積変化率は、6.00%と比較的大きくなっている。
面積変化率が大きいということは、タイミング条件Tminのときのロジックコーン面積とタイミング条件Tmaxのときのロジックコーン面積とが大きく異なることを意味する。また、面積変化率が小さいということは、タイミング条件Tminのときのロジックコーン面積とタイミング条件Tmaxのときのロジックコーン面積とがあまり変わらないことを意味する。
図11は、タイミング条件の違いによるロジックコーン面積の変化例を示す図である。
横軸はタイミングマージンを示し、縦軸はロジックコーン面積を示している。タイミングマージンが大きいほどタイミング制約が厳しく、タイミングマージンが小さいほどタイミング制約が緩い。
図11には、論理合成後に生成されるロジックコーンL1,L2,L3,L4の、タイミングマージンの違いによる面積の差異が示されている。
ロジックコーンL3,L4については、タイミングマージンが変わっても、面積はあまり変わらない。これに対し、ロジックコーンL1,L2については、タイミングマージンが変わると、面積は大きく変化する。特にロジックコーンL1では、タイミング条件Tminとタイミング条件Tmaxの間で大きく面積が変化している。
このようにロジックコーン面積が大きく変化する理由としては、タイミング条件Tmax設定時の論理合成では、そのタイミング条件Tmaxを満たすために、面積は大きいものの速い速度で動作する回路が生成されることが考えられる。論理合成では、生成される回路の面積よりも、タイミング条件を満たすことが優先される傾向にあるためである。
これによって、同じ機能を実現する回路であっても、レジスタに適用されるタイミング条件によっては異なる回路となる場合がある。たとえば、加算回路を実現する際に、演算速度は遅いが面積は小さいリップルキャリー型の加算回路にするか、面積は大きいが演算速度は速いキャリールックアヘッド型の加算回路にするか、などのアルゴリズム変更がタイミング条件の差異によって行われる。また、トランスファーゲートを用いたセレクタを使用する代わりに、面積は大きくなるが、複数の論理素子の組み合わせでセレクタ機能を実現して、速度が速くなるようにする場合もある。
ステップS26の処理によって、面積変化率を求めることで、どのレジスタをエンドポイントとしたときのロジックコーンで、タイミング条件の差異によって上記のようなアルゴリズム変更などが起こり、面積が増大するのかを推定できる。
なお、プロセッサ21は、面積変化率を追加した面積対比表30aを、たとえば、一旦、HDD23に記憶してもよい。
次に、プロセッサ21は、面積対比表において、レジスタ名を、そのレジスタ名で示されるレジスタをエンドポイントとしたロジックコーンの面積変化率が大きい順にソートする(ステップS27)。
図12は、ソート後の面積対比表の一例を示す図である。
図12の面積対比表30bは、図10に示した面積対比表30aに対するソート後に生成されるものである。
面積対比表30bでは、レジスタ名が、そのレジスタ名で示されるレジスタをエンドポイントとしたロジックコーンの面積変化率が大きい順にソートされている。図12の例では、ロジックコーンの面積変化率が6.00%となるレジスタ名“FF_incr6p[10]”,“FF_incr6p[9]”,“FF_incr6p[8]”が、面積対比表30bの上位(図12中の上側)に配列されている。
ロジックコーンの面積変化率が大きくなる上記のようなレジスタに対しては、タイミング条件Tminを設定し、論理合成で小さい面積の回路が選択されるようにすることで、ロジックコーンの面積が抑えられ、半導体集積回路の回路面積を縮小できる。
そこで、プロセッサ21は、図12に示したような面積対比表30bにおいて、上位のレジスタ(面積変化率が最も大きいレジスタ)から順に選択して、そのレジスタが面積対比表30bの上位X%のレジスタであるか否かを判定する(ステップS28)。
X%は、マニュアルレイアウトによる工数の増加や、マニュアルレイアウト(シールド配線の追加など)により生じるエリア・オーバーヘッド(面積増加)に基づき、プロセッサ21またはユーザにより設定される。
図13は、エリア・オーバーヘッドを抑えながらマニュアルレイアウト可能なエンドポイントのレジスタの割合と、工数との一例の関係を示す図である。このような関係は、たとえば、コンピュータ20上でのシミュレーションによって算出される。
横軸は工数(人月)、縦軸は全レジスタに対して、マニュアルレイアウトを適用するエンドポイントとなるレジスタの割合(%)を示している。
図13に示すように、工数をかけたとしても、エリア・オーバーヘッドを抑えながら(たとえば、所定の増加率以下に抑えながら)、マニュアルレイアウトを適用できるレジスタ数には制限がある。図13の例では、工数をかけても、エリア・オーバーヘッドを抑えながら、マニュアルレイアウトを適用できるレジスタ数は、最大で全体の12%程度である。そこで、たとえば、図13のような関係が得られる場合、工数も考慮して、X=10%程度とすることが望ましい。
ステップS28の処理後、プロセッサ21は、個別タイミング条件を生成する(ステップS29)。ステップS29の処理は、上位X%と判定されたレジスタに対してマージンminのタイミング条件Tminを設定し(ステップS29a)、それ以外のレジスタに対してマージンmaxのタイミング条件Tmaxを設定する(ステップS29b)、ことで行われる。
図14は、個別タイミング条件とその適用例を示す図である。
図14において、個別タイミング条件Txが適用される回路については、図6に示した回路と同じであるため説明を省略する。図14の例では、ステップS29a,S29bの処理で、レジスタFF1,FF5にマージンmaxのタイミング条件Tmaxが設定され、レジスタFF2にマージンminのタイミング条件Tminが設定されたときの個別タイミング条件Txが示されている。
図6に示した、タイミング条件の適用例と異なり、各レジスタFF1〜FF5に個別にタイミング条件が設定される。
ステップS29の処理後、プロセッサ21は、エンドポイントとなる全レジスタにタイミング条件が設定されたか否かを判定する(ステップS30)。タイミング条件が設定されていないレジスタがあるときには、ステップS28からの処理が繰り返される。全レジスタにタイミング条件が設定されたとき、プロセッサ21は、個別タイミング条件と、RTLの設計情報と、ライブラリに基づき論理合成を行う(ステップS31)。論理合成によって、新たにネットリストが生成される。
以上で論理合成処理が終了する。
(レイアウト処理)
図3のステップS12のレイアウト処理は、論理合成処理のステップS31の処理で生成されたネットリストに基づき行われる。
このとき、全レジスタのうち、面積変化率が大きい順に並べられた上位X%のレジスタをエンドポイントとするロジックコーンについては、マニュアルレイアウトが行われる。どのレジスタが上位X%のレジスタかをユーザに提示するため、たとえば、図2に示したコンピュータ20において、プロセッサ21は、グラフィック処理装置24を制御して、モニタ24aに、図12に示したような面積対比表を表示させる。
図15は、面積対比表の表示例を示す図である。
モニタ24aの画面40上に、面積対比表30bが表示されている例が示されている。図15の例では、面積変化率が大きい順に並べられた上位10%のレジスタ名と、そのレジスタ名をもつレジスタをエンドポイントとしたときのロジックコーン面積と面積変化率が、強調表示されている。さらに、図15の例では、強調表示されている部分(マーカー部分)がマニュアルレイアウト対象であることを示すメッセージが表示されている。
ユーザは、このような画面40を参照して、レジスタ名“FF_incr6p[10]”,“FF_incr6p[9]”,“FF_incr6p[8]”の各レジスタに関するロジックコーンについては、コンピュータ20上でマニュアルレイアウトを行う。
なお、図15の例では、面積対比表30bの全データが画面40に表示されているが、マニュアルレイアウトを行うレジスタ名だけを表示するようにしてもよい。
マニュアルレイアウトでは、タイミング条件Tminを満たすために、クロックスキュー、クロストークディレイ、クロックOCVによる遅延変動を小さくするためのレイアウトが行われる。以下クロストークディレイによる遅延変動を小さくするためのマニュアルレイアウトの例を説明する。
図16は、マニュアルレイアウトの一例を示す図である。
配線50は、たとえば、タイミング条件Tminが設定されたレジスタに接続される信号線であり、配線51,52は任意の信号線である。配線50と配線51,52とを近づけると、クロストークディレイによる遅延変動が大きくなる。そのため、マニュアルレイアウトにより、図16のように、配線50と配線51,52との間に、シールド配線として、たとえば、電源(VSS)配線53,54が配置される。
図17は、マニュアルレイアウトの他の例を示す図である。
図16と同様に、配線50は、たとえば、タイミング条件Tminが設定されたレジスタに接続される信号線であり、配線51,52は任意の信号線である。図17の例では、配線50と配線51,52との距離を遠ざけて、両者の間のカップリング容量を削減するために、配線可能なトラック55,56では配線が行われていない。
小さなタイミングマージンのタイミング条件Tminが設定されたレジスタについては、上記のようなマニュアルレイアウトにより遅延変動量の調整が行われ、そのタイミング条件Tminを満たすことができる。
一方、全レジスタのうち、面積変化率が大きい順に並べられた上位X%のレジスタ以外のレジスタをエンドポイントとするロジックコーンについては、自動レイアウトが行われる。
レイアウト処理によって得られる設計情報は、たとえば、半導体集積回路の製造の際に用いるマスクを生成するために用いられる。
以上で、本実施の形態の設計方法の一例の説明を終える。
図18は、本実施の形態の設計方法で得られる半導体集積回路の面積の縮小効果の一例を示す図である。
図18には、複数の論理合成条件下で生成される半導体集積回路の面積と、全レジスタにマニュアルレイアウト用のタイミング条件Tminを設定して論理合成及びマニュアルレイアウトしたときの面積を基準とした、面積の増加率が示されている。
全レジスタに自動レイアウト用のタイミング条件Tmaxを設定して論理合成を行い自動レイアウトすると、面積の増加率は27%となっている。これに対し、本実施の形態の設計方法によって、面積変化率の大きい上位10%のレジスタにタイミング条件Tminを設定し、残りはタイミング条件Tmaxを設定して論理合成し、一部をマニュアルレイアウトするときの面積の増加率は、0.97%となる。
このように、本実施の形態の設計方法では、プロセッサ21は、面積変化率が大きいロジックコーンのエンドポイントとなるレジスタに、タイミングマージンの小さいタイミング条件Tminを再設定して論理合成を行う。このため、論理合成後のロジックコーンの面積が効率よく抑えられ、その結果、半導体集積回路の回路面積を縮小できる。
また、タイミング条件Tminが設定されるレジスタの数を、タイミング条件Tmaxが設定されるレジスタの数よりも少なくし、たとえば、面積変化率の大きい上位10%などと限定することで、マニュアルレイアウト時の工数や面積の増加を抑えられる。
以上、実施の形態に基づき、本発明の設計方法、設計装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
1 設計装置(コンピュータ)
2 プロセッサ
3 記憶部
10〜14 レジスタ
15 ロジックコーン
D1 設計情報(RTL)
D2a,D2b,D3 設計情報(ネットリスト)
tmax,tmin タイミング条件

Claims (6)

  1. コンピュータが、
    半導体集積回路の第1の設計情報に含まれる複数のレジスタに対して第1のタイミング条件を設定して、第1の論理合成を行い第2の設計情報を生成し、
    前記複数のレジスタに対して、前記第1のタイミング条件よりもタイミングマージンが小さい第2のタイミング条件を設定して、第2の論理合成を行い第3の設計情報を生成し、
    前記第2の設計情報と前記第3の設計情報に基づき、前記複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、
    算出した前記変化率の大きさに基づき、前記複数のレジスタを、第1のグループと、前記変化率が、前記第1のグループよりも小さい第2のグループに分け、
    前記第1のグループの第1のレジスタに、前記第2のタイミング条件を設定し、前記第2のグループの第2のレジスタに、前記第1のタイミング条件を設定し、第3の論理合成を行う、
    ことを特徴とする設計方法。
  2. 前記コンピュータは、前記第1のレジスタの数が、前記第2のレジスタの数よりも少なくなるように、前記第1のグループと前記第2のグループのグループ分けを行うことを特徴とする請求項1に記載の設計方法。
  3. 前記コンピュータは、前記第1のレジスタをエンドポイントとする第1のロジックコーンについては、ユーザからの入力に基づくマニュアルレイアウトを行い、前記第2のレジスタをエンドポイントとする第2のロジックコーンについては、自動レイアウトを行う、ことを特徴とする請求項1または2に記載の設計方法。
  4. 前記第1のレジスタの数は、前記マニュアルレイアウトによる、工数と面積の増加分に基づき設定されていることを特徴とする請求項3に記載の設計方法。
  5. プロセッサを有し、
    前記プロセッサが、
    半導体集積回路の第1の設計情報に含まれる複数のレジスタに対して第1のタイミング条件を設定して、第1の論理合成を行い第2の設計情報を生成し、
    前記複数のレジスタに対して、前記第1のタイミング条件よりもタイミングマージンが小さい第2のタイミング条件を設定して、第2の論理合成を行い第3の設計情報を生成し、
    前記第2の設計情報と前記第3の設計情報に基づき、前記複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、
    算出した前記変化率の大きさに基づき、前記複数のレジスタを、第1のグループと、前記変化率が、前記第1のグループよりも小さい第2のグループに分け、
    前記第1のグループの第1のレジスタに、前記第2のタイミング条件を設定し、前記第2のグループの第2のレジスタに、前記第1のタイミング条件を設定し、第3の論理合成を行う、
    ことを特徴とする設計装置。
  6. 半導体集積回路の第1の設計情報に含まれる複数のレジスタに対して第1のタイミング条件を設定して、第1の論理合成を行い第2の設計情報を生成し、
    前記複数のレジスタに対して、前記第1のタイミング条件よりもタイミングマージンが小さい第2のタイミング条件を設定して、第2の論理合成を行い第3の設計情報を生成し、
    前記第2の設計情報と前記第3の設計情報に基づき、前記複数のレジスタのそれぞれをエンドポイントとする複数のロジックコーンのそれぞれの、タイミング条件の差異による面積の変化率を算出し、
    算出した前記変化率の大きさに基づき、前記複数のレジスタを、第1のグループと、前記変化率が、前記第1のグループよりも小さい第2のグループに分け、
    前記第1のグループの第1のレジスタに、前記第2のタイミング条件を設定し、前記第2のグループの第2のレジスタに、前記第1のタイミング条件を設定し、第3の論理合成を行う、
    処理をコンピュータに実行させるプログラム。
JP2014243353A 2014-12-01 2014-12-01 設計方法、設計装置及びプログラム Expired - Fee Related JP6428207B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014243353A JP6428207B2 (ja) 2014-12-01 2014-12-01 設計方法、設計装置及びプログラム
US14/934,041 US9542519B2 (en) 2014-12-01 2015-11-05 Method and design apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014243353A JP6428207B2 (ja) 2014-12-01 2014-12-01 設計方法、設計装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016105252A true JP2016105252A (ja) 2016-06-09
JP6428207B2 JP6428207B2 (ja) 2018-11-28

Family

ID=56079360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014243353A Expired - Fee Related JP6428207B2 (ja) 2014-12-01 2014-12-01 設計方法、設計装置及びプログラム

Country Status (2)

Country Link
US (1) US9542519B2 (ja)
JP (1) JP6428207B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11526649B2 (en) * 2018-10-31 2022-12-13 Taiwan Semiconductor Manufacturing Company, Ltd. Capacitive isolation structure insert for reversed signals

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000113019A (ja) * 1998-10-06 2000-04-21 Sony Corp 回路設計方法および設計支援装置
JP2001196459A (ja) * 2000-01-14 2001-07-19 Fujitsu Ltd 半導体集積回路の設計方法と設計装置
US20030079195A1 (en) * 1999-05-17 2003-04-24 Mcelvain Kenneth S. Methods and apparatuses for designing integrated circuits
JP2014021573A (ja) * 2012-07-13 2014-02-03 International Business Maschines Corporation 半導体集積回路の論理回路設計に用いるネットリストを最適化する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2924464B2 (ja) 1992-07-01 1999-07-26 日本電気株式会社 論理合成手法
JPH11145297A (ja) 1997-11-11 1999-05-28 Matsushita Electric Ind Co Ltd 集積回路のレイアウト設計方法及びレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003076729A (ja) 2001-09-04 2003-03-14 Nec Microsystems Ltd 半導体集積回路の設計方法
JP4784368B2 (ja) * 2006-03-29 2011-10-05 日本電気株式会社 等価性検証システム、動作合成装置、方法、及び、プログラム
US7543265B1 (en) * 2006-04-26 2009-06-02 Altera Corporation Method for early logic mapping during FPGA synthesis
US8296696B1 (en) * 2008-03-12 2012-10-23 Altera Corporation Method and apparatus for performing simultaneous register retiming and combinational resynthesis during physical synthesis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000113019A (ja) * 1998-10-06 2000-04-21 Sony Corp 回路設計方法および設計支援装置
US20030079195A1 (en) * 1999-05-17 2003-04-24 Mcelvain Kenneth S. Methods and apparatuses for designing integrated circuits
JP2001196459A (ja) * 2000-01-14 2001-07-19 Fujitsu Ltd 半導体集積回路の設計方法と設計装置
JP2014021573A (ja) * 2012-07-13 2014-02-03 International Business Maschines Corporation 半導体集積回路の論理回路設計に用いるネットリストを最適化する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム

Also Published As

Publication number Publication date
JP6428207B2 (ja) 2018-11-28
US9542519B2 (en) 2017-01-10
US20160154904A1 (en) 2016-06-02

Similar Documents

Publication Publication Date Title
Papa et al. Physical synthesis with clock-network optimization for large systems on chips
US10031995B2 (en) Detecting circuit design flaws based on timing analysis
US11030383B2 (en) Integrated device and method of forming the same
US10031996B2 (en) Timing based net constraints tagging with zero wire load validation
US9430608B2 (en) Fixing of semiconductor hold time
US20170116367A1 (en) Electromigration-aware integrated circuit design methods and systems
JP5029096B2 (ja) 電源ノイズモデル生成方法及び電源ノイズモデル生成装置
CN112257368B (zh) 时钟布局方法、装置、eda工具及计算机可读存储介质
US9734268B2 (en) Slack redistribution for additional power recovery
US9965581B1 (en) Fanout optimization to facilitate timing improvement in circuit designs
US9940422B2 (en) Methods for reducing congestion region in layout area of IC
US9996656B2 (en) Detecting dispensable inverter chains in a circuit design
JP6428207B2 (ja) 設計方法、設計装置及びプログラム
US8875075B2 (en) Generating pattern-based estimated RC data with analysis of route information
US8479138B1 (en) Global constraint optimization
JP2010087244A (ja) 半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラム
US20150347644A1 (en) Designing apparatus and designing method
US20090241082A1 (en) Method and System for Generating an Accurate Physical Realization for an Integrated Circuit Having Incomplete Physical Constraints
US8621412B1 (en) Micro-regions for auto place and route optimization
US8799846B1 (en) Facilitating the design of a clock grid in an integrated circuit
US9852259B2 (en) Area and/or power optimization through post-layout modification of integrated circuit (IC) design blocks
JP6015456B2 (ja) 半導体装置の設計方法及びプログラム
JP2004022864A (ja) ツリー構造型回路生成方法およびツリー構造型回路生成プログラム
JP6613971B2 (ja) 情報処理装置、設計支援方法、および設計支援プログラム
US20150205898A1 (en) Design method and design apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180823

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: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R150 Certificate of patent or registration of utility model

Ref document number: 6428207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees