JP2007156674A - 半導体集積回路のレイアウト設計方法、装置及びプログラム - Google Patents
半導体集積回路のレイアウト設計方法、装置及びプログラム Download PDFInfo
- Publication number
- JP2007156674A JP2007156674A JP2005348812A JP2005348812A JP2007156674A JP 2007156674 A JP2007156674 A JP 2007156674A JP 2005348812 A JP2005348812 A JP 2005348812A JP 2005348812 A JP2005348812 A JP 2005348812A JP 2007156674 A JP2007156674 A JP 2007156674A
- Authority
- JP
- Japan
- Prior art keywords
- flip
- terminal
- flop
- layout
- clock signal
- 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.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】クロックスキューを原因とする誤動作を防止することができると共に容易に実現可能なレイアウト設計方法を提供する。
【解決手段】このレイアウト設計方法は、フリップフロップに対してクロック信号を入力するための第1の端子とクロック信号を出力するための第2の端子が定義されたセルライブラリを用いて、データ出力側のフリップフロップの第2の端子からデータ入力側のフリップフロップの第1の端子に向けてクロック信号が供給されるようにクロック信号配線の接続状態を設定することによりネットリストを作成するステップ(a)と、セルライブラリ及びネットリストに基づいてレイアウトを自動的に作成するステップ(b)と、各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより、ステップ(b)において作成されたレイアウトを修正するステップ(c)とを具備する。
【選択図】図2
【解決手段】このレイアウト設計方法は、フリップフロップに対してクロック信号を入力するための第1の端子とクロック信号を出力するための第2の端子が定義されたセルライブラリを用いて、データ出力側のフリップフロップの第2の端子からデータ入力側のフリップフロップの第1の端子に向けてクロック信号が供給されるようにクロック信号配線の接続状態を設定することによりネットリストを作成するステップ(a)と、セルライブラリ及びネットリストに基づいてレイアウトを自動的に作成するステップ(b)と、各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより、ステップ(b)において作成されたレイアウトを修正するステップ(c)とを具備する。
【選択図】図2
Description
本発明は、複数のセルを用いてASIC(Application Specific IC)等の半導体集積回路のレイアウトを設計する方法に関し、さらに、半導体集積回路のレイアウト設計装置、及び、半導体集積回路のレイアウト設計プログラムに関する。
ASIC等の半導体集積回路においては、フリップフロップやAND回路等の複数の回路ブロックをそれぞれ実現するための複数のセルを組み合わせてレイアウト領域内に配置し、これらのセル間を配線することによりレイアウト設計が行われている。
また、一般に、半導体集積回路において、複数のフリップフロップが直列に接続された多段回路(例えば、シフトレジスタ等)が広く用いられている。そのような多段回路においては、クロックスキューを原因とする誤動作が生じることがあり、このような誤動作を防止するための技術が多数知られている。
例えば、下記の特許文献1には、それぞれのクロック端子に供給される同期式1相クロック信号の前縁によりセットされる複数のフリップフロップを多段に接続してなるシフトレジスタにおいて、後段のフリップフロップへのクロック供給をそれぞれすぐ前段のフリップフロップへのクロック供給より遅延しないように接続する手段を備えることを特徴とするクロック供給方式が開示されている。特許文献1によれば、クロックスキューを原因とする誤動作を防止することができるが、この技術は、半導体集積回路のレイアウト設計に関するものではない。
また、下記の特許文献2には、複数段のデータ入出力回路が縦続接続されて構成され、複数段のデータ入出力回路のデータ入力段からデータ出力段までが所定の段数ごとの複数のグループに区分されたデータ転送回路にクロック信号を供給するクロック供給回路において、複数のグループの内で、データ入力段により近いグループに属するデータ入出力回路に、より位相の遅れたクロック信号を供給することが開示されている。しかしながら、クロック信号の位相を遅らせるためにバッファ回路等を挿入すると、クロック信号の最終段における遅延時間が大きくなると共に、回路規模や消費電力が増加してしまう。
また、下記の特許文献3には、複数段のレジスタ回路で構成されたシフトレジスタ回路であって、それぞれのレジスタ回路に対応してタイミング調整回路が設けられ、後段のレジスタ回路のクロック信号に対して前段のレジスタ回路のクロック信号を遅延させるタイミング調整を行うことを特徴とするシフトレジスタ回路が開示されている。しかしながら、クロック信号を遅延させるためにアンド回路等を挿入すると、クロック信号の最終段における遅延時間が大きくなると共に、回路規模や消費電力が増加してしまう。
また、下記の特許文献4には、複数のフリップフロップが直列接続されてなるシフトレジスタ回路におけるクロック信号の配線方法において、最初に、クロック信号源の出力端からシフトレジスタ回路の最終段のフリップフロップのクロック入力端に至る配線路を形成し、次に、直列接続された後段のフリップフロップのクロック入力端からそれぞれ前段のフリップフロップのクロック入力端に至る配線路を順次形成する工程を繰返すことにより、シフトレジスタ回路の最終段のフリップフロップのクロック入力端から先頭のフリップフロップのクロック入力端に至る配線路を形成することを特徴とするシフトレジスタのクロック信号配線方法が開示されている。しかしながら、コンピュータを用いた自動配置配線においては、シフトレジスタ回路における複数のフリップフロップの接続状態に応じて選択的に配線路を形成することは事実上不可能である。
上記の点に鑑み、本出願人は、上位ビットからのクロック信号が接続されるクロック信号入力端子と、1つ前の下位側ビットのクロック信号入力端子に接続されるクロック信号出力端子とを有するフリップフロップを用いたシフトレジスタ回路を提案した(下記の特許文献5参照)。これによれば、上位ビットのフリップフロップのクロック信号出力端子から1つ前の下位側ビットのフリップフロップのクロック信号入力端子に至る配線を行えば良い。そのような自動配置配線をコンピュータプログラムによって実現することは、比較的容易である。しかしながら、このシフトレジスタ回路においては、クロック信号入力端子とクロック信号出力端子とを有する特殊なフリップフロップを用いる必要があった。
なお、クロックスキューを原因とする誤動作を防止するために、クロック信号を使用しない非同期回路で半導体集積回路を構成することも考えられる(例えば、下記の非特許文献1参照)。しかしながら、非同期回路に対するニーズは未だ低く、通常は、同期回路で半導体集積回路を構成することが行われている。
特開昭59−165297号公報(第1頁、図1)
特開平11−272353号公報(第1頁、図1)
特開平10−40692号公報(第1頁、図1)
特開平7−312094号公報(第1頁、図1)
特開平7−29389号公報(第1頁、図1)
唐木信雄、"「非同期プロセッサ」の事例研究 ディジタルLSIが抱えるノイズ&消費電力問題の根治療法"、Design Wave Magazine、CQ出版社、2005年7月、p.64−84
そこで、上記の点に鑑み、本発明は、クロックスキューを原因とする誤動作を防止することができると共に容易に実現可能な半導体集積回路のレイアウト設計方法、装置及びプログラムを提供することを目的とする。
以上の課題を解決するため、本発明の1つの観点に係る半導体集積回路のレイアウト設計方法は、複数の回路ブロックをそれぞれ実現するための複数のセルが定義されたセルライブラリを用いて半導体集積回路のレイアウトを設計する方法であって、フリップフロップに対して、該フリップフロップにクロック信号を入力するための第1の端子及び該フリップフロップからクロック信号を出力するための第2の端子が定義されたセルライブラリを用いて、データ出力側のフリップフロップの第2の端子からデータ入力側のフリップフロップの第1の端子に向けてクロック信号が供給されるようにクロック信号配線の接続状態を設定することにより、複数のフリップフロップを含む回路のネットリストを作成するステップ(a)と、セルライブラリ及びネットリストに基づいて、複数のフリップフロップを含む回路のレイアウトを自動的に作成するステップ(b)と、ステップ(b)において作成されたレイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより、ステップ(b)において作成されたレイアウトを修正するステップ(c)とを具備する。
ここで、複数のフリップフロップを含む回路が、複数のフリップフロップの間に接続された組合せ論理回路をさらに含むようにしても良い。また、1つのフリップフロップからクロック信号が供給される他のフリップフロップの数が所定の値以上である場合に、ステップ(a)において、1つのフリップフロップの第2の端子と他の複数のフリップフロップの第1の端子との間にバッファ回路を挿入するようにしても良い。
また、本発明の1つの観点に係る半導体集積回路のレイアウト設計装置は、複数の回路ブロックをそれぞれ実現するための複数のセルが定義されたセルライブラリを用いて半導体集積回路のレイアウトを設計する装置であって、フリップフロップに対して、該フリップフロップにクロック信号を入力するための第1の端子及び該フリップフロップからクロック信号を出力するための第2の端子が定義されたセルライブラリを記録した記録媒体と、セルライブラリを用いて、フリップフロップの第1及び第2の端子に対して個別の配線を許容しながら、入力される回路情報に基づいてネットリストを作成するネットリスト作成処理部と、セルライブラリ及びネットリストに基づいて、複数のフリップフロップを含む回路のレイアウトを自動的に作成し、ユーザの指示に従って、該レイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより該レイアウトを修正するレイアウト処理部とを具備する。
また、本発明の1つの観点に係る半導体集積回路のレイアウト設計プログラムは、複数の回路ブロックをそれぞれ実現するための複数のセルが定義されたセルライブラリを用いて半導体集積回路のレイアウトを設計するためのプログラムであって、フリップフロップに対して、該フリップフロップにクロック信号を入力するための第1の端子及び該フリップフロップからクロック信号を出力するための第2の端子が定義されたセルライブラリを用いて、フリップフロップの第1及び第2の端子に対して個別の配線を許容しながら、入力される回路情報に基づいてネットリストを作成する手順(a)と、セルライブラリ及びネットリストに基づいて、複数のフリップフロップを含む回路のレイアウトを自動的に作成する手順(b)と、手順(b)において作成されたレイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより、手順(b)において作成されたレイアウトを修正する手順(c)とをコンピュータに実行させる。
本発明によれば、フリップフロップに対して2つの端子が定義されたセルライブラリを用いてレイアウトを作成し、その後、2つの端子を1つに置き換えてレイアウトを修正することにより、クロックスキューを原因とする誤動作を防止することができると共に容易に実現可能な半導体集積回路のレイアウト設計方法、装置及びプログラムを提供することができる。
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図1は、本発明の一実施形態に係る半導体集積回路のレイアウト設計装置の構成を示すブロック図である。図1に示すように、このレイアウト設計装置1は、入力部2と、表示部3と、セルライブラリ記録部4と、ネットリスト作成処理部5と、レイアウト処理部6と、検証処理部7とを有している。
図1は、本発明の一実施形態に係る半導体集積回路のレイアウト設計装置の構成を示すブロック図である。図1に示すように、このレイアウト設計装置1は、入力部2と、表示部3と、セルライブラリ記録部4と、ネットリスト作成処理部5と、レイアウト処理部6と、検証処理部7とを有している。
入力部2は、ユーザ(半導体集積回路の設計技術者)が所望の回路に関する情報を入力して、HDL(hardware description language:ハードウェア記述言語)によって回路情報が記述されたHDLファイルを作成するためのキーボード等であり、表示部3は、半導体集積回路の設計結果等を表示するためのCRT又はLCD等である。
セルライブラリ記録部4は、半導体集積回路の設計に用いられる各種のセル(D型フリップフロップセル、ANDゲートセル、ORゲートセル、RAMマクロセル等)を含むセルライブラリを記録している。本実施形態において、このセルライブラリに含まれているD型フリップフロップセルは、2つのクロック信号用端子、即ち、該フリップフロップにクロック信号を入力するための第1の端子、及び、該フリップフロップからクロック信号を出力するための第2の端子を有するものとして定義されており、これら2つのクロック信号用端子は、1つの物理的なクロック信号入力端子に対応している。これにより、半導体集積回路のレイアウト設計において、D型フリップフロップが、クロック信号を入力するための端子とクロック信号を出力するための端子とを有するものとして取り扱うことが可能となっている。
ネットリスト作成処理部5は、セルライブラリ記録部4に記録されているセルライブラリを用いて、フリップフロップの第1及び第2の端子に対して個別の配線を許容しながら、入力される回路情報に基づいてネットリスト(セルとセルとの間の接続に関する情報)を作成する。
レイアウト処理部6は、セルライブラリ及びネットリストに基づいて、複数のフリップフロップを含む回路のレイアウト(セルの配置及び配線)を自動的に作成し、回路シミュレーションの後、該レイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより該レイアウトを修正する。
検証処理部7は、レイアウト処理部6によって行われるレイアウト設計の結果に基づいて、回路動作の検証(回路シミュレーション)を行う。
検証処理部7は、レイアウト処理部6によって行われるレイアウト設計の結果に基づいて、回路動作の検証(回路シミュレーション)を行う。
図1に示すネットリスト作成処理部5、レイアウト処理部6、及び、検証処理部7は、CPUとソフトウェア(プログラム)で構成することができる。そのプログラムと、HDLファイル、ネットリスト、及び、セルライブラリは、ハードディスク、フレキシブルディスク、MO、MT、RAM、CD−ROM、又は、DVD−ROM等の記録媒体に記録することができる。
次に、図1〜図5を参照しながら、本実施形態に係るレイアウト設計装置が実行する処理について説明する。
図2は、図1に示すレイアウト設計装置が実行する処理を示すフローチャートである。図2に示すように、まず、ユーザが、入力部2を操作することにより、例えば、図3に示す回路に関する情報を入力する。
図2は、図1に示すレイアウト設計装置が実行する処理を示すフローチャートである。図2に示すように、まず、ユーザが、入力部2を操作することにより、例えば、図3に示す回路に関する情報を入力する。
図3は、ユーザが入力しようとする回路を示す回路図である。図3に示すように、この回路は、3個のD型フリップフロップFF1〜FF3と、2個の組合せ論理回路C1〜C2とを含んでいる。フリップフロップFF1のデータ入力端子(D端子)には、外部回路から供給されるデータが入力される。フリップフロップFF1のデータ出力端子(Q端子)から出力されるデータは、組合せ論理回路C1に入力される。また、組合せ論理回路C1から出力されるデータは、フリップフロップFF2のデータ入力端子に入力される。フリップフロップFF2のデータ出力端子から出力されるデータは、組合せ論理回路C2に入力される。さらに、組合せ論理回路C2から出力されるデータは、フリップフロップFF3のデータ入力端子に入力される。フリップフロップFF3のデータ出力端子から出力されるデータは、外部回路に供給される。
本実施形態においては、セルライブラリ記録部4に記録されているセルライブラリを用いることにより、フリップフロップが、クロック信号を入力するための第1の端子とクロック信号を出力するための第2の端子とを有するものとして扱うことができる。従って、ユーザは、データ出力側のフリップフロップの第2の端子からデータ入力側のフリップフロップの第1の端子に向けてクロック信号が供給されるように、クロック信号配線の接続状態を設定することができる。そのようにすれば、データ入力側のフリップフロップの出力が変化する前に、データ出力側のフリップフロップがデータをホールドすることができるので、各フリップフロップにおいてセットアップ時間及びホールド時間を確実に確保することが可能となる。
再び図2を参照すると、ステップS1において、ネットリスト作成処理部5が、セルライブラリ記録部4に記録されているセルライブラリを用いて、各フリップフロップの第1の端子及び第2の端子に対して個別の配線を許容しながら、入力される回路情報に基づいてネットリスト(セルとセルとの間の接続に関する情報)の作成を行う。
図4は、ネットリスト作成処理部によって作成されるネットリストで表される回路を視覚的に示す図である。ネットリスト作成処理部5は、フリップフロップFF1〜FF3の各々が有する1つの物理的なクロック信号入力端子を、仮想的に、クロック信号を入力するための第1の端子CLKIN、及び、クロック信号を出力するための第2の端子CLKOUTとして扱う。
図4に示すように、外部回路から供給されるクロック信号がフリップフロップFF3の第1の端子CLKINに入力され、フリップフロップFF3の第2の端子CLKOUTから出力されるクロック信号がフリップフロップFF2の第1の端子CLKINに入力され、フリップフロップFF2の第2の端子CLKOUTから出力されるクロック信号がフリップフロップFF1の第1の端子CLKINに入力される。
再び図2を参照すると、ステップS2において、レイアウト処理部6が、セルライブラリ及びネットリストに基づいて、図4に示す回路に含まれているセルの配置・配線を行うことによりレイアウトを自動的に作成し、レイアウトデータを作成する。なお、ネットリストは、セルとセルとの間の接続情報を有してはいるが、セルやセルの端子や配線等の座標情報は有していない。一方、レイアウトデータは、セルやセルの端子や配線等の座標情報をも有している。
ステップS3において、検証処理部7が、レイアウトデータに基づいて検証(回路シミュレーション)を行い、ステップS4において、回路シミュレーションの結果を判定する。ここで、タイミングエラー等の問題があれば、処理がステップS2に戻り、問題がなければ、処理がステップS5に移行する。
ステップS5において、レイアウト処理部6が、ユーザの指示に従って、ステップS2において作成されたレイアウトに含まれている各フリップフロップの第1の端子及び第2の端子を、1つのクロック信号入力端子(1つの物理的なクロック信号入力端子に対応する)に置き換えることにより、ステップS2において作成されたレイアウトを修正する。
例えば、ユーザが、各フリップフロップセルの第1の端子CLKINと第2の端子CLKOUTとが同一の位置にあり同一の信号を扱うように定義し直すことにより、レイアウト処理部6は、これらの端子の配置及びその周辺の配線パターンを修正して、最終的なレイアウトデータを作成する。
図5は、レイアウト処理部によって作成された最終的なレイアウトデータで表される回路を視覚的に示す図である。図5においては、各フリップフロップが1つのクロック信号入力端子しか有していないが、図4に示すレイアウトとほぼ同じレイアウトが実現されている。このように、本実施形態によれば、クロックスキューを原因とする誤動作を防止することができる多段回路の設計を容易にすることが可能である。
なお、以上においては、フリップフロップFF1〜FF3が組合せ論理回路C1及びC2を介して直列に接続された多段回路を例にとって説明したが、例えば、図6に示すように、第1段としてフリップフロップFF4〜FF6が並列に配され、第2段としてフリップフロップFF7が配され、第3段としてフリップフロップFF8が配されるような多段回路もあり得る。そのような場合には、第2段のフリップフロップFF7からクロック信号が供給される第1段のフリップフロップFF4〜FF6の数が大きくなってしまう。
そこで、1つのフリップフロップからクロック信号が供給される他のフリップフロップの数が所定の値(例えば、3個)以上である場合には、ネットリスト作成処理部5が、1つのフリップフロップの第2の端子と他の複数のフリップフロップの第1の端子との間に、クロック信号を電力増幅するバッファ回路を挿入するようにしても良い。図6においては、第2段のフリップフロップFF7の第2の端子CLKOUTと第1段のフリップフロップFF4〜FF6の第1の端子CLKINとの間にバッファ回路8が挿入されている。
図7は、図1のセルライブラリ記録部4に記録されているセルライブラリに含まれているD型フリップフロップセルの内部回路を示す回路図である。図7に示すように、このフリップフロップセルは、インバータINV1〜INV6と、アナログスイッチSW1〜SW4とを有している。
各アナログスイッチは、ソース〜ドレイン経路が並列に接続されたPチャネルMOSトランジスタ及びNチャネルMOSトランジスタによって構成される。これらのトランジスタのソース又はドレインが入力端子又は出力端子となり、ゲートが制御端子となる。
先に説明したように、外部回路からクロック信号を入力するための第1の端子(CLKIN端子)とクロック信号を外部回路に出力するための第2の端子(CLKOUT端子)とは、1つの物理的なクロック信号入力端子に対応している。これは、図7に示すように、第1の端子(CLKIN端子)と第2の端子(CLKOUT端子)とをフリップフロップ内部において接続することにより実現可能である。
外部回路から第1の端子CLKINに入力されるクロック信号は、インバータINV1によって反転される。インバータINV1によって反転されたクロック信号を、CKバー信号とする。さらに、CKバー信号は、インバータINV2によって再度反転される。インバータINV2によって反転されたクロック信号を、CK信号とする。
アナログスイッチSW1の入出力端子は、フリップフロップのデータ入力端子(D端子)とインバータINV3の入力との間に接続されている。また、アナログスイッチSW1の制御端子であるNチャネルMOSトランジスタQN1のゲートにはCK信号が入力され、PチャネルMOSトランジスタQP1のゲートにはCKバー信号が入力される。トランジスタQN1及びQP1は、CK信号がハイレベル且つCKバー信号がローレベルの場合にオン状態になり、CK信号がローレベル且つCKバー信号がハイレベルの場合にオフ状態になる。従って、外部回路からフリップフロップのデータ入力端子(D端子)に入力されるデータは、CK信号がハイレベル且つCKバー信号がローレベルの場合に、アナログスイッチSW1を介してインバータINV3に入力される。
インバータINV3の出力は、インバータINV4の入力に接続されている。アナログスイッチSW2の入出力端子は、インバータINV4の出力とインバータINV3の入力との間に接続されている。アナログスイッチSW2の制御端子であるNチャネルMOSトランジスタQN2のゲートにはCKバー信号が入力され、PチャネルMOSトランジスタQP2のゲートにはCK信号が入力される。トランジスタQN2及びQP2は、CKバー信号がハイレベル且つCK信号がローレベルの場合にオン状態になり、CKバー信号がローレベル且つCK信号がハイレベルの場合にオフ状態になる。従って、インバータINV4の出力信号は、CKバー信号がハイレベル且つCK信号がローレベルの場合に、アナログスイッチSW2を介してインバータINV3に入力され、インバータINV3〜インバータINV4〜アナログスイッチSW2のループにおいてデータがホールドされる。
アナログスイッチSW3の入出力端子は、インバータINV3の出力とインバータINV5の入力との間に接続されている。また、アナログスイッチSW3の制御端子であるNチャネルMOSトランジスタQN3のゲートにはCKバー信号が入力され、PチャネルMOSトランジスタQP3のゲートにはCK信号が入力される。トランジスタQN3及びQP3は、CKバー信号がハイレベル且つCK信号がローレベルの場合にオン状態になり、CKバー信号がローレベル且つCK信号がハイレベルの場合にオフ状態になる。従って、インバータINV3の出力信号は、CKバー信号がハイレベル且つCK信号がローレベルの場合に、アナログスイッチSW3を介してインバータINV5に入力される。
インバータINV5の出力は、インバータINV6の入力に接続されている。アナログスイッチSW4の入出力端子は、インバータINV6の出力とインバータINV5の入力との間に接続されている。アナログスイッチSW4の制御端子であるNチャネルMOSトランジスタQN4のゲートにはCK信号が入力され、PチャネルMOSトランジスタQP4のゲートにはCKバー信号が入力される。トランジスタQN4及びQP4は、CK信号がハイレベル且つCKバー信号がローレベルの場合にオン状態になり、CK信号がローレベル且つCKバー信号がハイレベルの場合にオフ状態になる。従って、インバータINV6の出力信号は、CK信号がハイレベル且つCKバー信号がローレベルの場合に、アナログスイッチSW4を介してインバータINV5に入力され、インバータINV5〜インバータINV6〜アナログスイッチSW4のループにおいてデータがホールドされる。
インバータINV5の出力信号は、フリップフロップのデータ出力端子(Q端子)を介して外部回路に出力される。また、インバータINV6の出力信号は、フリップフロップのデータ反転出力端子(Qバー端子)を介して外部回路に出力される。
本発明は、複数のセルを用いてレイアウトが設計されるASIC等の半導体集積回路において利用可能である。
1 半導体集積回路のレイアウト設計装置、 2 入力部 3 表示部、 4 セルライブラリ記録部、 5 ネットリスト作成処理部、 6 レイアウト処理部、 7 検証処理部、 FF1〜FF8 フリップフロップ、 C1〜C4 組合せ論理回路、 INV1〜INV6 インバータ、 SW1〜SW4 アナログスイッチ、 QP1〜QP4 PチャネルMOSトランジスタ、 QN1〜QN4 NチャネルMOSトランジスタ
Claims (5)
- 複数の回路ブロックをそれぞれ実現するための複数のセルが定義されたセルライブラリを用いて半導体集積回路のレイアウトを設計する方法であって、
フリップフロップに対して、該フリップフロップにクロック信号を入力するための第1の端子及び該フリップフロップからクロック信号を出力するための第2の端子が定義されたセルライブラリを用いて、データ出力側のフリップフロップの第2の端子からデータ入力側のフリップフロップの第1の端子に向けてクロック信号が供給されるようにクロック信号配線の接続状態を設定することにより、複数のフリップフロップを含む回路のネットリストを作成するステップ(a)と、
前記セルライブラリ及び前記ネットリストに基づいて、前記複数のフリップフロップを含む回路のレイアウトを自動的に作成するステップ(b)と、
ステップ(b)において作成されたレイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより、ステップ(b)において作成されたレイアウトを修正するステップ(c)と、
を具備する半導体集積回路のレイアウト設計方法。 - 前記複数のフリップフロップを含む回路が、複数のフリップフロップの間に接続された組合せ論理回路をさらに含む、請求項1記載の半導体集積回路のレイアウト設計方法。
- 1つのフリップフロップからクロック信号が供給される他のフリップフロップの数が所定の値以上である場合に、ステップ(a)が、前記1つのフリップフロップの第2の端子と前記他の複数のフリップフロップの第1の端子との間にバッファ回路を挿入することを含む、請求項1又は2記載の半導体集積回路のレイアウト設計方法。
- 複数の回路ブロックをそれぞれ実現するための複数のセルが定義されたセルライブラリを用いて半導体集積回路のレイアウトを設計する装置であって、
フリップフロップに対して、該フリップフロップにクロック信号を入力するための第1の端子及び該フリップフロップからクロック信号を出力するための第2の端子が定義されたセルライブラリを記録した記録媒体と、
前記セルライブラリを用いて、フリップフロップの第1及び第2の端子に対して個別の配線を許容しながら、入力される回路情報に基づいてネットリストを作成するネットリスト作成処理部と、
前記セルライブラリ及び前記ネットリストに基づいて、前記複数のフリップフロップを含む回路のレイアウトを自動的に作成し、ユーザの指示に従って、該レイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより該レイアウトを修正するレイアウト処理部と、
を具備する半導体集積回路のレイアウト設計装置。 - 複数の回路ブロックをそれぞれ実現するための複数のセルが定義されたセルライブラリを用いて半導体集積回路のレイアウトを設計するためのプログラムであって、
フリップフロップに対して、該フリップフロップにクロック信号を入力するための第1の端子及び該フリップフロップからクロック信号を出力するための第2の端子が定義されたセルライブラリを用いて、フリップフロップの第1及び第2の端子に対して個別の配線を許容しながら、入力される回路情報に基づいてネットリストを作成する手順(a)と、
前記セルライブラリ及び前記ネットリストに基づいて、前記複数のフリップフロップを含む回路のレイアウトを自動的に作成する手順(b)と、
手順(b)において作成されたレイアウトに含まれている各フリップフロップの第1及び第2の端子を1つのクロック信号入力端子に置き換えることにより、手順(b)において作成されたレイアウトを修正する手順(c)と、
をコンピュータに実行させる半導体集積回路のレイアウト設計プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005348812A JP2007156674A (ja) | 2005-12-02 | 2005-12-02 | 半導体集積回路のレイアウト設計方法、装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005348812A JP2007156674A (ja) | 2005-12-02 | 2005-12-02 | 半導体集積回路のレイアウト設計方法、装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007156674A true JP2007156674A (ja) | 2007-06-21 |
Family
ID=38240980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005348812A Withdrawn JP2007156674A (ja) | 2005-12-02 | 2005-12-02 | 半導体集積回路のレイアウト設計方法、装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007156674A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017038247A (ja) * | 2015-08-11 | 2017-02-16 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
-
2005
- 2005-12-02 JP JP2005348812A patent/JP2007156674A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017038247A (ja) * | 2015-08-11 | 2017-02-16 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6425115B1 (en) | Area efficient delay circuits | |
JP2001357090A (ja) | 論理合成方法及び論理合成装置 | |
JP4918934B2 (ja) | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム | |
JP2011065319A (ja) | 情報処理装置 | |
US20050251776A1 (en) | Integrated circuit design system | |
JP2007156674A (ja) | 半導体集積回路のレイアウト設計方法、装置及びプログラム | |
JP4999379B2 (ja) | 半導体集積回路設計方法、半導体集積回路設計装置 | |
Wang et al. | Delay estimation and sizing of CMOS logic using logical effort with slope correction | |
JP4419633B2 (ja) | 論理回路設計システム、論理回路設計方法およびそのプログラム | |
Ferretti | Single-track asynchronous pipeline template | |
JP2003173361A (ja) | 半導体集積回路のレイアウト設計方法及び装置 | |
JP2012239185A (ja) | セル・ライブラリから選択された信号スキュー調整セルを備えた集積回路 | |
US8745558B1 (en) | Deployment of transmission gate logic cells in application specific integrated circuits | |
JP2003273222A (ja) | 回路設計方法及びプログラム | |
Roy et al. | Evolving challenges and techniques for nanometer SoC clock network synthesis | |
JP2008152550A (ja) | 集積回路装置の設計方法、クロック構築ツール、集積回路装置、マイクロコンピュータ及び電子機器 | |
JP2008152329A (ja) | 回路解析方法、及び回路解析プログラム、回路シミュレーション装置 | |
US20230418556A1 (en) | Static cmos-based full adder circuits | |
JP2011077426A (ja) | 半導体装置の製造方法及び半導体装置 | |
JP2006268439A (ja) | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム | |
Starodoubtsev et al. | Monotonic circuits with complete acknowledgement | |
JP5234806B2 (ja) | 論理シミュレーション装置およびそのシミュレーション方法 | |
JP6325846B2 (ja) | 半導体集積回路のフロアプラン作成方法 | |
JP3654259B2 (ja) | 機能可変型セルと半導体集積回路とその設計システム | |
JP6559995B2 (ja) | 半導体集積回路の設計支援装置及び設計支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070405 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090203 |