(57)【特許請求の範囲】
【請求項１】
共通の電源に接続された第１及び第２の電源配線と、
前記第１の電源配線に接続されたフリップフロップ回路と、
前記第２の電源配線に設けられ、前記電源から電圧を供給するか否かを切り替えるスイッチ素子と、を備え、
並列に配列された前記電源間を結ぶ複数の電源配線のうち、少なくとも１つの前記電源配線は断線され、当該電源配線の断線された一方の配線が前記第１の電源配線として前記フリップフロップ回路に接続され、当該電源配線の断線された他方の配線が前記第２の電源配線として前記スイッチ素子を介して前記フリップフロップ回路以外の他の回路に接続されていることを特徴とする集積回路。
【請求項２】
基板上に配置されるフリップフロップ回路の個数と、前記フリップフロップ回路の大きさと、を基に、前記フリップフロップ回路が配置される配置領域を算出する配置領域算出手段と、
算出された前記配置領域を基に、前記フリップフロップ回路が接続される前記第１の電源配線と、前記第１の電源配線と異なる第２の電源配線とを前記基板上に配置し、前記第１及び第２の電源配線を共通の電源に接続するとともに、前記第２の電源配線にスイッチ素子を設ける設計を行う電源配線設計手段と、
前記フリップフロップ回路を前記第１の電源配線に沿って前記基板上に配置する設計を行うフリップフロップ回路配置設計手段と、を備え、
前記電源配線設計手段及び前記フリップフロップ回路配置設計手段は、並列に配列された前記電源間を結ぶ複数の電源配線のうち、少なくとも１つの前記電源配線を断線し、当該電源配線の断線された一方の配線を前記第１の電源配線として前記フリップフロップ回路に接続し、当該電源配線の断線された他方の配線を前記第２の電源配線として前記スイッチ素子を介して前記フリップフロップ回路以外の他の回路に接続することを特徴とする集積回路設計装置。
【請求項３】
コンピュータにより実行される集積回路設計方法であって、
基板上に配置されるフリップフロップ回路の個数と、前記フリップフロップ回路の大きさと、を基に、前記フリップフロップ回路が配置される配置領域を算出する配置領域算出工程と、
算出された前記配置領域を基に、前記フリップフロップ回路が接続される前記第１の電源配線と、前記第１の電源配線と異なる第２の電源配線とを前記基板上に配置し、前記第１及び第２の電源配線を共通の電源に接続するとともに、前記第２の電源配線にスイッチ素子を設ける設計を行う電源配線設計工程と、
前記フリップフロップ回路を前記第１の電源配線に沿って前記基板上に配置する設計を行うフリップフロップ回路配置設計工程と、を備え、
前記電源配線設計工程及び前記フリップフロップ回路配置設計工程は、並列に配列された前記電源間を結ぶ複数の電源配線のうち、少なくとも１つの前記電源配線を断線し、当該電源配線の断線された一方の配線を前記第１の電源配線として前記フリップフロップ回路に接続し、当該電源配線の断線された他方の配線を前記第２の電源配線として前記スイッチ素子を介して前記フリップフロップ回路以外の他の回路に接続することを特徴とする集積回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリップフロップ回路が配置される集積回路に関する。
【背景技術】
【０００２】
近年、微細化技術の進歩により、複数のセルを１チップ上に搭載する集積回路（ＬＳＩ）が登場している。このような集積回路では、回路規模の増大により消費電力が増大するという問題がある。そのため、使用しない集積回路に供給される電圧を低下させることで、省電力を実現することが考えられている。
【０００３】
ここで、集積回路に供給される電圧を低下させた場合であっても、当該集積回路内に配置されたフリップフロップ回路については、内部に記憶されたデータを保持することが要求される場合がある。そこで、データを保持することが要求されるフリップフロップ回路とそれ以外のセルとで電源を分けて設けることが考案されている（特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２１０８４１号公報
【特許文献２】特開２００５−１５７４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このように電圧が供給される電源を分けて設けた場合には、電源の数が増加してしまい、チップサイズの増大に繋がる恐れがある。
【課題を解決するための手段】
【０００６】
開示の集積回路は、共通の電源に接続された第１及び第２の電源配線と、前記第１の電源配線に接続されたフリップフロップ回路と、前記第２の電源配線に配置され、前記電源から電圧を供給するか否かを切り替えるスイッチ素子と、を備え、並列に配列された前記電源間を結ぶ複数の電源配線のうち、少なくとも１つの前記電源配線は断線され、当該電源配線の断線された一方の配線が前記第１の電源配線として前記フリップフロップ回路に接続され、当該電源配線の断線された他方の配線が前記第２の電源配線として前記スイッチ素子を介して前記フリップフロップ回路以外の他の回路に接続されている。
【０００７】
開示の集積回路は、第１及び第２の電源配線と、フリップフロップ回路と、スイッチ素子とを備える。第１及び第２の電源配線は共通の電源に接続されている。当該フリップフロップ回路は、集積回路に対する電源からの電圧供給が停止された場合であっても、記憶されたデータを保持することが要求される。フリップフロップ回路は、第１の電源配線に接続されている。スイッチ素子は、例えばトランジスタスイッチであり、電源から電圧を供給するか否かを切り替えるためのものである。スイッチ素子は第２の電源配線に設けられている。また、並列に配列された前記電源間を結ぶ複数の電源配線のうち、少なくとも１つの前記電源配線は断線されている。当該電源配線の断線された一方の配線が前記第１の電源配線として前記フリップフロップ回路に接続され、当該電源配線の断線された他方の配線が前記第２の電源配線として前記スイッチ素子を介して前記フリップフロップ回路以外の他の回路に接続されている。
【発明の効果】
【０００８】
開示の集積回路によれば、第１及び第２の電源配線に電圧を供給する電源が共通化されているため、電源の数を減少させることができ、チップサイズが増大するのを抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る集積回路設計装置のハードウェア構成の一例を示す図である。
【図２】比較例に係る集積回路の構成の一例を示す図である。
【図３】比較例に係る集積回路の構成の一例を示す図である。
【図４】実施形態に係る集積回路の構成の一例を示す図である。
【図５】実施形態に係る他の集積回路の構成の一例を示す図である。
【図６】実施形態に係る他の集積回路の構成の一例を示す図である。
【図７】実施形態に係る集積回路設計方法の一例を示すフローチャートである。
【図８】実施形態に係る集積回路の拡大図である。
【図９】変形例に係る集積回路の構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施形態の一例について図面を参照しつつ説明する。
【００１１】
［ハードウェア構成］
まず、実施形態に係る集積回路設計装置２００のハードウェア構成の一例について説明する。
【００１２】
図１に、集積回路設計装置２００のハードウェア構成の一例を示す。集積回路設計装置２００は、例えばＰＣ（Personal Computer）などのコンピュータであり、制御部１１、メモリ１２、ハードディスク１３、出力部１４、入力部１５、インターフェース（Ｉ／Ｆ）１６及びディスクドライブ１７を有する。これらの構成要素は、バス１０に接続されている。ここで、制御部１１は、例えばＣＰＵ（Central Processing Unit）である。メモリ１２は、例えばＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）である。出力部１４は、例えばモニタやプリンタなどの出力装置であり、入力部１５は、例えばマウスやキーボードなどの入力装置である。インターフェース１６は、例えばＵＳＢ（Universal Serial Bus）などの外部接続インターフェースである。ディスクドライブ１７は、例えばＤＶＤ（Digital Versatile Disc）などのディスクを駆動させるためのディスクドライブである。
【００１３】
集積回路設計装置２００において、制御部１１は、ユーザからの指示を基に、プログラムを実行する。これにより、ユーザにより入力されたデータに基づいて、実施形態に係る集積回路が設計される。以下、実施形態に係る集積回路について説明する。
【００１４】
［集積回路］
まず、実施形態に係る集積回路について説明する前に、比較例に係る集積回路について、図２及び図３を用いて説明する。以下で述べる集積回路では、電源から電圧供給が停止された場合であっても、データを保持することが要求されるフリップフロップ回路には電圧が供給されるように設計される。
【００１５】
図２は、データ保持用の電源端子と通常動作用の電源端子との２つの電源端子を有するフリップフロップ回路（以下、「２電源フリップフロップ回路」と称する）を用いた集積回路１００Ｒのレイアウトブロック図の一例である。ここで、通常動作用の電源端子とは、２電源フリップフロップ回路内における全ての素子に電圧を供給するための端子であり、データ保持用の電源端子とは、２電源フリップフロップ回路内におけるデータ保持に関わる素子にのみ電圧を供給するための端子である。
【００１６】
図２に示す集積回路１００Ｒにおいて、フリップフロップ回路ＲＦＦ１、ＲＦＦ２は、２電源フリップフロップ回路である。電源配線Ｆ＿ＶＤＤ１は、２電源フリップフロップ回路における通常動作用の電源端子Ｔｍ１、および、２電源フリップフロップ回路以外の他のセル（不図示）の電源端子に接続される配線である。電源配線Ｆ＿ＶＤＤ１の両端は電源ＶＤＤ１に接続されている。電源配線Ｆ＿ＶＤＤ２は、２電源フリップフロップ回路におけるデータ保持用の電源端子Ｔｍ２が接続される配線である。電源配線Ｆ＿ＶＤＤ２の両端は電源ＶＤＤ２に接続されている。電源配線Ｆ＿ＶＳＳは、全てのセルのグランド端子に接続される配線である。電源配線Ｆ＿ＶＳＳの両端は、例えばグランド（０Ｖ）に設定された電源ＶＳＳに接続されている。
【００１７】
図２に示すように、集積回路１００Ｒでは、データ保持用の電源端子Ｔｍ２に電圧を供給するために、電源配線Ｆ＿ＶＤＤ２より電源端子Ｔｍ２に向けて配線が引き回されている。このため、集積回路１００Ｒでは、配線性が悪化し、チップサイズが増大する恐れがある。
【００１８】
図３は、データを保持することが要求されるフリップフロップ回路とそれ以外の他のセルとで電圧を供給する電源が分けられた集積回路１００Ｌのレイアウトブロック図の一例である。
【００１９】
図３において、フリップフロップ回路ＦＦ１、ＦＦ２は、内部のデータを保持することが要求されるフリップフロップ回路である。ここで、フリップフロップ回路ＦＦ１、ＦＦ２は、図２に示したフリップフロップ回路とは異なり、データ保持用の電源端子が設けられていない。
【００２０】
電源ＶＤＤ２は、フリップフロップ回路ＦＦ１、ＦＦ２に電圧を供給する専用の電源である。電源ＶＤＤ２は並列に配置されており、電源ＶＤＤ２間を結ぶようにして複数の電源配線Ｆ＿ＶＤＤ２が配置されている。電源配線Ｆ＿ＶＤＤ２には、フリップフロップ回路ＦＦ１、ＦＦ２の電源端子（即ち、通常動作用の電源端子）が接続されている。電源ＶＤＤは、フリップフロップ回路ＦＦ１、ＦＦ２以外の他のセル（不図示）に電圧を供給する電源である。電源ＶＤＤは並列に配置されており、電源ＶＤＤ間を結ぶようにして複数の電源配線Ｆ＿ＶＤＤが配置されている。電源配線Ｆ＿ＶＤＤには、フリップフロップ回路ＦＦ１、ＦＦ２以外の他のセルの電源端子が接続されている。電源ＶＳＳには、電源配線Ｆ＿ＶＳＳが接続されている。電源ＶＳＳも並列に配置されており、電源ＶＳＳ間を結ぶようにして複数の電源配線Ｆ＿ＶＳＳが配置されている。電源配線Ｆ＿ＶＳＳには、全てのセルのグランド端子が接続されている。電源配線Ｆ＿ＶＤＤと電源配線Ｆ＿ＶＤＤとは交互に配置されている。
【００２１】
集積回路１００Ｌを制御する制御回路は、集積回路１００Ｌに供給される電圧を低下させる場合には、電源ＶＤＤ２の電圧を保持しつつ、電源ＶＤＤの電圧を低下させる。このようにすることで、フリップフロップ回路ＦＦ１、ＦＦ２に供給される電圧を保持しつつ、フリップフロップ回路ＦＦ１、ＦＦ２以外の他のセルに供給される電圧を低下させることができる。これにより、集積回路１００Ｌに供給される電圧を低下させた場合であっても、フリップフロップ回路ＦＦ１、ＦＦ２に記憶されたデータを保持することができる。しかしながら、集積回路１００Ｌでは、電源ＶＤＤに加えて、データ保持用の電源ＶＤＤ２が設けられるため、チップサイズが増大する恐れがある。
【００２２】
そこで、実施形態に係る集積回路では、データを保持することが要求されるフリップフロップ回路とそれ以外の他のセルとで電圧を供給する電源が共通化されるとし、当該他のセルに電圧を供給する電源配線にスイッチ素子が設けられるとする。以下、図４を用いて具体的に説明する。
【００２３】
図４は、実施形態に係る集積回路１００のレイアウトブロック図の一例を示している。図４において、図３に示したのと同じ構成要素については同じ符号を付して示している。
【００２４】
図４に示すように、集積回路１００では、２本の電源配線Ｆ＿ＶＤＤと１本の電源配線Ｆ＿ＶＤＤ２とが共通の電源ＶＤＤｐに接続されている。具体的には、電源ＶＤＤｐは並列に配置されており、電源ＶＤＤｐ間を結ぶようにして電源配線Ｆ＿ＶＤＤ、Ｆ＿ＶＤＤ２が配置されている。また、電源ＶＳＳも並列に配置されており、電源ＶＳＳ間を結ぶようにして電源配線Ｆ＿ＶＳＳが配置されている。電源配線Ｆ＿ＶＤＤ、Ｆ＿ＶＤＤ２と電源配線Ｆ＿ＶＤＤとは交互に配置されている。
【００２５】
データを保持することが要求されるフリップフロップ回路ＦＦ１、ＦＦ２は、電源配線Ｆ＿ＶＤＤ２に沿って配置されている。また、フリップフロップ回路ＦＦ１、ＦＦ２以外の他のセル（不図示）は、電源配線Ｆ＿ＶＤＤ１に沿って配置されている。また、トランジスタスイッチなどのスイッチ素子ＳＷ１〜ＳＷ４が電源配線Ｆ＿ＶＤＤに設けられている。これらのスイッチ素子は、電源配線Ｆ＿ＶＤＤに対し、電源ＶＤＤｐから電圧を供給するか否かを切り替えるためのものである。具体的には、電源配線Ｆ＿ＶＤＤの両端に接続された２つの電源ＶＤＤｐのそれぞれからの電圧の供給を制御するため、電源配線Ｆ＿ＶＤＤの両端にスイッチ素子が設けられている。図４に示す例では、２つの電源配線Ｆ＿ＶＤＤのうち、一方の電源配線Ｆ＿ＶＤＤの両端にはスイッチ素子ＳＷ１、ＳＷ２が設けられ、他方の電源配線Ｆ＿ＶＤＤの両端にはスイッチ素子ＳＷ３、ＳＷ４が設けられている。このことから分かるように、電源配線Ｆ＿ＶＤＤ２が第１の電源配線として機能し、電源配線Ｆ＿ＶＤＤが第２の電源配線として機能する。
【００２６】
集積回路１００を制御する制御回路は、集積回路１００に供給される電圧を低下させる場合には、スイッチ素子ＳＷ１〜ＳＷ４の切り替えを行い、電源配線Ｆ＿ＶＤＤに対し、電源ＶＤＤｐから電圧を供給するのを停止させる。このとき、電源配線Ｆ＿ＶＤＤ２には、電源ＶＤＤｐから電圧が供給されたままである。このようにしても、図３で述べたのと同様、フリップフロップ回路ＦＦ１、ＦＦ２に供給される電圧を保持しつつ、フリップフロップ回路ＦＦ１、ＦＦ２以外の他のセルに供給される電源電圧を低下させることができる。ここで、図３に示した集積回路１００Ｌと比較して、実施形態に係る集積回路１００では、フリップフロップ回路とそれ以外の他のセルとで電圧を供給する電源を共通化している。従って、図３に示した集積回路１００Ｌと比較して、実施形態に係る集積回路１００では、電源の数を減少させることができ、チップサイズが増大するのを抑えることができる。
【００２７】
次に、実施形態の他の例に係る集積回路について図５、図６を用いて説明する。
【００２８】
図５は、実施形態の他の例に係る集積回路１００ａのレイアウトブロック図の一例を示している。図５において、図４に示したのと同じ構成要素については同じ符号を付して示している。
【００２９】
図４に示した集積回路１００では、電源ＶＤＤｐ間を結ぶようにして複数の電源配線が配置されるとしていた。それに対し、実施形態の他の例に係る集積回路では、電源ＶＤＤｐ間を結ぶ複数の電源配線のうち、少なくとも１つの電源配線が断線され、当該電源配線の断線された一方の配線を電源配線Ｆ＿ＶＤＤ２とし、他方の配線を電源配線Ｆ＿ＶＤＤとしている。つまり、実施形態の他の例に係る集積回路は、一端が電源ＶＤＤｐに接続されるとともに他端が断線された電源配線Ｆ＿ＶＤＤ２と、一端が電源ＶＤＤｐに接続されるとともに他端が断線された電源配線Ｆ＿ＶＤＤとを有する。例えば、図５に示す集積回路１００ａでは、電源ＶＤＤｐ間を結ぶ複数の電源配線のうち、１つの電源配線が断線され、当該電源配線の断線された一方の配線を電源配線Ｆ＿ＶＤＤ２とし、他方の配線を電源配線Ｆ＿ＶＤＤとしている。当該電源配線Ｆ＿ＶＤＤ２にフリップフロップ回路ＦＦ１、ＦＦ２が接続されている。当該電源配線Ｆ＿ＶＤＤの一端には、スイッチ素子ＳＷ５が設けられている。
【００３０】
集積回路１００ａを制御する制御回路は、集積回路１００ａに供給される電圧を低下させる場合には、スイッチ素子ＳＷ１〜ＳＷ５の切り替えを行い、電源配線Ｆ＿ＶＤＤに対し、電源ＶＤＤｐから電圧を供給するのを停止させる。このようにしても、図４で述べたのと同様、フリップフロップ回路ＦＦ１、ＦＦ２に供給される電圧を保持しつつ、フリップフロップ回路ＦＦ１、ＦＦ２以外の他のセルに供給される電源電圧を低下させることができる。なお、以下では、データ保持が要求されるフリップフロップ回路をまとめて「フリップフロップ回路ＦＦ」と称することとし、スイッチ素子をまとめて「スイッチ素子ＳＷ」と称することとする。
【００３１】
図６は、他の例に係る集積回路１００ｂのレイアウトブロック図の一例を示している。
【００３２】
図６に示すように、集積回路１００ｂでは、電源ＶＤＤｐ間を結ぶ複数の電源配線のうち、２つの電源配線が断線され、当該電源配線の断線された一方の配線を電源配線Ｆ＿ＶＤＤ２とし、他方の配線を電源配線Ｆ＿ＶＤＤとしている。当該電源配線Ｆ＿ＶＤＤ２に複数のフリップフロップ回路ＦＦが接続されている。また、当該電源配線Ｆ＿ＶＤＤにスイッチ素子ＳＷが設けられている。
【００３３】
上述したことから分かるように、図５、図６に示した集積回路１００ａ、１００ｂにおいても、フリップフロップ回路とそれ以外の他のセルとで電圧を供給する電源を共通化している。従って、実施形態に係る集積回路１００と同様、集積回路１００ａ、１００ｂによっても、電源の数を減少させることができ、チップサイズが増大するのを抑えることができる。また、集積回路１００ａ、１００ｂは、一端が電源ＶＤＤｐに接続され、他端が断線された電源配線Ｆ＿ＶＤＤ２と、一端が電源ＶＤＤｐに接続され、他端が断線された電源配線Ｆ＿ＶＤＤとを有し、当該電源配線Ｆ＿ＶＤＤにはスイッチ素子が設けられている。この構成によれば、図６に示すように、集積回路における電源が配置された両側のうち、一方側に集中してフリップフロップ回路ＦＦを配置することが可能となる。
【００３４】
［集積回路設計方法］
次に、集積回路設計装置２００により実行される集積回路設計方法について図７のフローチャートを用いて説明する。図７は、実施形態に係る集積回路を設計する設計処理を示すフローチャートである。図７に示す設計処理は、集積回路設計装置２００において、制御部１１がプログラムを実行することにより実現される。
【００３５】
まず、ステップＳ１０１において、制御部１１は、ユーザにより入力された回路図を基に、ネットリストを作成する。続くステップＳ１０２において、集積回路の基板上に配置されるフリップフロップ回路ＦＦの個数がユーザにより入力される。
【００３６】
ステップＳ１０３において、制御部１１は、フリップフロップ回路ＦＦの個数と、フリップフロップ回路ＦＦの大きさとを基に、フリップフロップ回路ＦＦが配置される配置領域を算出する。この算出方法について図８を用いて具体的に説明する。
【００３７】
図８は、電源配線Ｆ＿ＶＤＤ２に沿って配置されたフリップフロップ回路ＦＦの拡大図である。図８において、フリップフロップ回路ＦＦの電源配線Ｆ＿ＶＤＤ２方向に沿った長さをＹ１とし、電源配線Ｆ＿ＶＤＤ２方向と直交方向の長さをＹ２としている。
【００３８】
制御部１１は、フリップフロップ回路ＦＦの個数Ｎを基に、集積回路において要求される電源配線Ｆ＿ＶＤＤ２全体の長さＬを算出する。電源配線Ｆ＿ＶＤＤ２全体の長さＬは以下の式（１）で求められる。ここで、２で割っているのは、図９に示すように、電源配線Ｆ＿ＶＤＤ２に対して対称に２つのフリップフロップ回路ＦＦを配置することができるからである。
【００３９】
Ｌ  ＝  （Ｎ×Ｙ１）／２      ・・・（１）
制御部１１は、式（１）を用いて、電源配線Ｆ＿ＶＤＤ２全体の長さＬを算出すると、一本当たりの電源配線Ｆ＿ＶＤＤ２の長さｐＬを基に、フリップフロップ回路ＦＦが配置される領域の幅を算出する。先に示したように、図３に示した電源配線Ｆ＿ＶＤＤ２の一本当たりの長さと比較して、図４に示した電源配線Ｆ＿ＶＤＤ２の一本当たりの長さは短くなっている。制御部１１は、式（１）を用いて求められたＬを長さｐＬで割ることにより、長さｐＬの電源配線Ｆ＿ＶＤＤ２の必要な本数を求めることができる。このようにして求められた電源配線Ｆ＿ＶＤＤ２の必要な本数と電源配線Ｆ＿ＶＤＤ２の長さｐＬとが、フリップフロップ回路ＦＦが配置される配置領域を示している。
【００４０】
このようにして、制御部１１は、フリップフロップ回路ＦＦの長さｐＬとフリップフロップ回路ＦＦの個数とを基に、フリップフロップ回路ＦＦが配置される配置領域を算出することができる。
【００４１】
図７のフローチャートに戻り説明を続けると、ステップＳ１０４において、制御部１１は、フリップフロップ回路ＦＦが配置される配置領域を基に、フリップフロップ回路ＦＦの電源配線、具体的には、電源配線Ｆ＿ＶＤＤ２を基板上に配置する設計を行う。また、制御部１１は、電源配線Ｆ＿ＶＤＤ、Ｆ＿ＶＳＳを基板上に配置し、電源配線Ｆ＿ＶＤＤ、Ｆ＿ＶＤＤ２を電源ＶＤＤｐに接続する設計を行うとともに、電源配線Ｆ＿ＶＤＤにスイッチ素子を設ける設計を行う。この後、制御部１１は、ステップＳ１０５の処理へ進む。
【００４２】
ステップＳ１０５において、制御部１１は、フリップフロップ回路ＦＦを電源配線Ｆ＿ＶＤＤ２に沿って配置する設計を行うとともに、フリップフロップ回路ＦＦ以外のセルを電源配線Ｆ＿ＶＤＤに沿って配置する設計を行う。そして、制御部１１は、各セルと電源配線とを結ぶ配線を行う。例えば、制御部１１は、フリップフリップ回路ＦＦと電源配線Ｆ＿ＶＤＤ２との間を配線する設計を行うとともに、フリップフロップ回路ＦＦ以外のセルと電源配線Ｆ＿ＶＤＤとの間を配線する設計を行う。この後、制御部１１は、ステップＳ１０６の処理へ進む。
【００４３】
ステップＳ１０６において、制御部１１は、遅延計算を行い、ステップＳ１０７までに設計された集積回路が、要求されるタイミング条件を満たすようにタイミング調整を行う。この後、制御部１１は、本設計処理を終了する。このようにすることで、集積回路の設計が完了する。
【００４４】
上述したことをまとめると、集積回路設計装置２００において、制御部１１は、基板上に配置されるフリップフロップ回路ＦＦの個数と、フリップフロップ回路ＦＦの大きさと、を基に、フリップフロップ回路ＦＦが配置される配置領域を算出する。そして、制御部１１は、算出された配置領域を基に、電源配線Ｆ＿ＶＤＤ、Ｆ＿ＶＤＤ２を基板上に配置し、電源配線Ｆ＿ＶＤＤ、Ｆ＿ＶＤＤ２を共通の電源ＶＤＤｐに接続する設計を行う。ここで、制御部１１は、電源配線Ｆ＿ＶＤＤにスイッチ素子を設ける設計を行う。その後、制御部１１は、フリップフロップ回路を電源配線Ｆ＿ＶＤＤ２に沿って基板上に配置する設計を行う。従って、制御部１１は、配置領域算出手段、電源配線設計手段およびフリップフロップ回路配置設計手段として機能する。このようにすることで、実施形態に係る集積回路が設計される。
【００４５】
［変形例］
次に、上述の実施形態に係る集積回路の変形例について説明する。図４〜図６に示したように、実施形態に係る集積回路では、電源配線Ｆ＿ＶＤＤ２は、電源配線Ｆ＿ＶＤＤと平行に設けられるとしていた。これに対し、変形例に係る集積回路では、電源配線Ｆ＿ＶＤＤ２は電源配線Ｆ＿ＶＤＤに直交して設けられるとする。以下、図９を用いて具体的に説明する。
【００４６】
変形例に係る集積回路１００ｃでは、電源ＶＤＤｐ、ＶＳＳは矩形状に設けられ、電源配線は電源ＶＤＤｐ、ＶＳＳで囲まれた内部でメッシュ状に設けられる。具体的には、並列に設けられた複数の電源配線の上層に、当該複数の電源配線に対して直交して、更に、別の複数の電源配線が並列に設けられる。図９に示す例では、２層構造で電源配線が設けられた場合の集積回路の例を示している。図９に示す集積回路１００ｃにおいて、下層側では、電源ＶＤＤｐに接続される電源配線は電源配線Ｆ＿ＶＤＤとなっており、上層側では、電源ＶＤＤｐに接続される電源配線は電源配線Ｆ＿ＶＤＤ２となっている。つまり、電源配線Ｆ＿ＶＤＤ２は、電源配線Ｆ＿ＶＤＤに対して直交している。なお、図９では、上層側の電源配線Ｆ＿ＶＤＤ２は１本だけ記載されているが、実際には、複数の電源配線Ｆ＿ＶＤＤ２が下層側の電源配線Ｆ＿ＶＤＤに直交して設けられるのは言うまでもない。各電源配線Ｆ＿ＶＤＤには、電源ＶＤＤｐから電圧を供給するか否かを制御するスイッチ素子ＳＷが設けられている。
【００４７】
ここで、電源配線Ｆ＿ＶＤＤ２は、下層側における両端が電源ＶＤＤｐと断線された配線Ｆ＿Ｖ１、Ｆ＿Ｖ２と交点Ｐ１、Ｐ２で接続されている。従って、配線Ｆ＿Ｖ１、Ｆ＿Ｖ２も電源配線Ｆ＿ＶＤＤ２として機能する。フリップフロップ回路ＦＦは、配線Ｆ＿Ｖ１、Ｆ＿Ｖ２に沿って設けられ、当該配線Ｆ＿Ｖ１、Ｆ＿Ｖ２と接続される。
【００４８】
なお、集積回路設計装置２００は、図７で示したフローチャートで述べたのと同様の処理を行うことで、変形例に係る集積回路１００ｃを設計することができる。ただし、電源配線Ｆ＿ＶＤＤ２は電源配線Ｆ＿ＶＤＤに直交しているので、電源配線Ｆ＿ＶＤＤ２全体の長さＬは以下の式（２）で求められる（図８参照）。
【００４９】
Ｌ  ＝  （Ｎ×Ｙ２）／２      ・・・（２）
上述した実施形態に係る集積回路と同様に、変形例に係る集積回路１００ｃによっても、フリップフロップ回路が接続される電源配線と、それ以外の他のセルが接続される電源配線とで電圧を供給する電源を共通化している。従って、実施形態に係る集積回路と同様、変形例に係る集積回路１００ｃによっても、電源の数を減少させることができ、チップサイズが増大するのを抑えることができる。
【００５０】
なお、実施形態は、上述した実施形態の例に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨あるいは思想に反しない範囲で適宜変更可能である。
【符号の説明】
【００５１】
ＶＤＤｐ  電源
Ｆ＿ＶＤＤ、Ｆ＿ＶＤＤ２  電源配線
ＳＷ  スイッチ素子
ＦＦ  フリップフロップ回路
【図１】
0005540910.tif 000002
【図２】
0005540910.tif 000003
【図３】
0005540910.tif 000004
【図４】
0005540910.tif 000005
【図５】
0005540910.tif 000006
【図６】
0005540910.tif 000007
【図７】
0005540910.tif 000008
【図８】
0005540910.tif 000009
【図９】
0005540910.tif 000010