(57)【要約】【課題】  半導体集積回路装置の高性能化および高速化を実現できる設計方法を提供する。また、既存のＥＤＡツールを用いた自動化設計フローに融合し、既存技術よりも更なる高性能化および高速化を行うことができる設計方法を提供する。【解決手段】  半導体集積回路装置内のパスのうち所望する信号到達時間を超えるパスに対し、そのパスに属する構成要素の出力に接続される他の構成要素の数が減少するようにパスを分離する。【選択図】        図１
2006032870.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路装置の設計方法であって、装置内のパスのうち所望する信号到達時間を超えるパスに対し、そのパスに属する構成要素の出力に接続される他の構成要素の数が減少するようにパスを分離することを特徴とする半導体集積回路装置の設計方法。
【請求項２】
パスの分離を行うために必要となる新たな構成要素を生成することを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項３】
構成要素内部でのパスの分離を行うために、同一論理の出力端であって特定のパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素を生成することを特徴とする請求項２記載の半導体集積回路装置の設計方法。
【請求項４】
所望する信号到達時間を超えるパスに属する構成要素と同等の機能を有する他の構成要素を複製により生成し、前記構成要素または前記他の構成要素の出力には所望する信号到達時間を超えるパスに属する次段の構成要素のみを接続することによりパスの分離を行うことを特徴とする請求項１または２記載の半導体集積回路装置の設計方法。
【請求項５】
所望する信号到達時間を超えるパスに属する構成要素の出力を、前記所望する信号到達時間を超えるパスにおける次段の構成要素と、入力負荷の小さな構成要素とに接続するとともに、所望する信号到達時間を超えるパス以外のパスにおける次段の構成要素を、前記入力負荷の小さい構成要素の出力に接続することによりパスの分離を行うことを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項６】
所望する信号到達時間を超えるパスに属する構成要素を、同一論理の出力端であって前記所望する信号到達時間を超えるパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素に置き換えることによりパスの分離を行うことを特徴とする請求項１または２記載の半導体集積回路装置の設計方法。
【請求項７】
所望する信号到達時間を超えるパスに属する構成要素の一部または全部に対しパスの分離を行うことを特徴とする請求項１から６までのいずれか１項記載の半導体集積回路装置の設計方法。
【請求項８】
構成要素の複製によるパスの分離を行う際に、最初の複製対象の構成要素としてパスの始点側の構成要素を選択し、この選択された構成要素を複製するとともにこの選択された構成要素の出力の接続先を前記パスの終点側の他の構成要素とするパスの分離を行い、次に前記選択された構成要素の出力に接続される他の構成要素を対象として、構成要素を複製するとともにその出力の接続先を前記パスの終点側のさらに他の構成要素とするパスの分離を行い、所望する信号到達時間を超えなくなるまで、順次パスの終点側までパスの分離を行うことを特徴とする請求項４記載の半導体集積回路装置の設計方法。
【請求項９】
パスの分離のために複製した構成要素の入力のうち、所望する信号到達時間を超えるパスに属さない入力に接続されている他のパスの信号到達時間が、パスを分離することにより所望する信号到達時間を超えることになる場合に、前記所望の信号到達時間を超えることになる他のパスに属する構成要素を複製してパスの分離を行うことを特徴とする請求項８記載の半導体集積回路装置の設計方法。
【請求項１０】
所望する信号到達時間を超えるパスに属する複数の構成要素に対しパスの分離を行う際に、回路の信号到達時間に関する情報と、各構成要素の出力に接続される他の構成要素の接続数とに基づき、前記複数の構成要素の中で接続数が多い構成要素から順にパスの分離を行うことを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項１１】
半導体集積回路装置の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに対して、ＲＴＬで記載された回路に関してパスの分離を行って、ＲＴＬで記載された新たな回路を生成することを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項１２】
論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行って、新たなネットリストを生成することを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項１３】
論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを一つの機能ブロック階層として生成することを特徴とする請求項１２記載の半導体集積回路装置の設計方法。
【請求項１４】
論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、配置最適化処理によって前記分離されたパスの構成要素をある一定の領域内に配置し、構成要素を互いの近傍に配置する特定の属性を付加することを特徴とする請求項１２記載の半導体集積回路装置の設計方法。
【請求項１５】
論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを一つのマクロとして生成し前記パスと置き換えることを特徴とする請求項１２記載の半導体集積回路装置の設計方法。
【請求項１６】
論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを前記所望する信号到達時間を超えるパスに属する構成要素が隣接している構造の一つの構成要素として生成し、前記分離されたパスを前記生成された一つの構成要素に置き換えることを特徴とする請求項１２記載の半導体集積回路装置の設計方法。
【請求項１７】
論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを所定の基準に基づき一部をマクロで実現し、他の一部を構成要素として実現することを特徴とする請求項１２記載の半導体集積回路装置の設計方法。
【請求項１８】
配置最適化装置およびレイアウト装置により生成された物理情報を含む設計回路図において、回路の信号到達時間情報と配置配線情報と構成要素の出力に接続される容量および抵抗値とに基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行って、ネットリストおよび新たな配置配線情報を生成することを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項１９】
所望する信号到達時間を超えるパスに属する構成要素を対象として、構成要素を複製するとともにその出力の接続先を他の構成要素としてパスの分離を行い、前記分離されたパスの構成要素をある一定の領域内に配置することを特徴とする請求項１８記載の半導体集積回路装置の設計方法。
【請求項２０】
所望する信号到達時間を超えるパスに属する構成要素を対象として、構成要素を複製するとともにその出力の接続先を他の構成要素としてパスの分離を行い、前記分離されたパスを一つのマクロとして生成して、前記分離されたパスと置き換えることを特徴とする請求項１８記載の半導体集積回路装置の設計方法。
【請求項２１】
配置最適化装置およびレイアウト装置により生成された物理情報を含む設計回路図において、回路の信号到達時間情報と配置配線情報と構成要素の出力に接続される容量および抵抗値とに基づき、所望する信号到達時間を超えるパスに対しパスの分離を行い、前記分離されたパスをそのパスに属する構成要素が隣接している構造の一つの構成要素として生成し、前記分離されたパスと置き換えることを特徴とする請求項１８記載の半導体集積回路装置の設計方法。
【請求項２２】
論理合成装置の論理合成時および論理合成後の最適化時に、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対し、同一論理の出力端であって特定のパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素を使用して、構成要素内でパスの分離を行うことを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【請求項２３】
論理合成装置の論理合成時および論理合成後の最適化時に、同一論理の出力端であって特定のパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素を使用して、同一の論理を持つ出力端の少なくとも一つには一つの論理素子のみを接続する特定の属性を付加してパスの分離を行うことを特徴とする請求項２２記載の半導体集積回路装置の設計方法。
【請求項２４】
論理合成装置の論理合成時および論理合成後の最適化時に、同一論理の出力端であって特定のパスに接続するものとそれ以外に接続するものとの複数の出力端を備えた構成要素を使用して、同一の論理を持つ出力端の少なくとも一つには一つの構成要素のみを接続する特定の属性を付加することにより、所望する信号到達時間を超えるパスに属する構成要素のみを一つの出力端に接続し、その他の構成要素を前記出力端とは別の出力端に接続してパスの分離を行うことを特徴とする請求項１記載の半導体集積回路装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置の設計方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路装置に多種多様な機能が集積されるようになり、要求される性能が飛躍的に高くなってきている。一般に、ＥＤＡツールを用いた自動化設計は、大部分の設計を手動で行うフルカスタム設計よりも、設計した半導体集積回路の性能面で劣るという問題がある。一方で、設計期間（ＴＡＴ）の短縮、プロセス可搬性、テスト容易性などの点から、自動化設計フローが要求される。このような面で、ＥＤＡツールを用いた自動化設計フローにより設計した半導体集積回路の高性能化は、重要な課題である。
【０００３】
ＥＤＡツールを用いた自動化設計フローの中で用いられる高速化手法として、駆動能力最適化および出力数最適化がある(非特許文献１、２、３参照)。これらの技術は、既存のＥＤＡツール内の論理合成時に、最適化処理として行われる処理である。駆動能力最適化は、半導体集積装置を構成する要素の駆動力を調整することにより、装置内のパスの信号到達時間を最小にする方法である。一方、出力数最適化は、構成要素の出力に接続される他の構成要素が多数の場合に、リピータ、バッファを用いて構成要素の出力に接続される数を減らし、パスの信号到達時間を最小にする方法である。
【０００４】
図１７は、従来の半導体集積回路装置の設計方法を示す図である。すなわち、この設計方法では、ステップＳ１７１の論理合成処理と、ステップＳ１７２の配置最適化処理と、ステップＳ１７３のレイアウト処理と、ステップＳ１７４の遅延計算処理とを備えている。この方法は、半導体集積回路装置の回路図であるＲＴＬが作成された時点からレイアウトを作成するまでに必要な処理を備えている。具体的には、遅延計算処理Ｓ１７４を行った場合において、装置内のパスが所望の信号到達時間を満たさないことになったときには、ステップＳ１７１またはステップＳ１７２またはステップＳ１７３に戻り、所望の到達時間を満たすように再設計を行う。
【０００５】
図１８は、従来の設計方法で設計された半導体集積回路装置の回路図であって、半導体集積回路装置の内部を構成する複数の構成要素とそれらの接続関係を示している。構成要素１、２、３は、回路内の論理値を保持する要素である。４〜１０は、ＡＮＤゲートやＯＲゲートのような入力の信号により出力の信号が決まる構成要素である。１１は組み合わせ回路で、構成要素４〜１０と同様の構成要素によって構成されている。
【０００６】
このような構成要素の組み合わせを用いて半導体集積回路装置を設計する場合に、各構成要素に入力される信号の傾斜と出力に接続される他の構成要素とを基に、それぞれの構成要素を信号が通過するときの信号到達時間が計算される。そして、構成要素１、２から構成要素３までの信号到達時間のうち、最も大きな信号到達時間が、装置の性能を決定する。ここでは、構成要素１、７、９、１１、３の順で通過するパスが最も大きな信号到達時間を有する場合に、このパスが半導体集積回路装置の性能を決めることとなる。
【非特許文献１】Michel R.C.M. Berkelaar、Jochen A.G. Jess、”GATE SIZING IN MOS DIGITAL CIRCUITS WITH LINEAR PROGRAMING”、1990年 EDAC’90、[平成１５年９月８日検索]、インターネット＜URL:http//ieeexplore.ieee.org＞
【非特許文献２】Olivier Coudert、他２名”New Algorithms for Gate Sizing: A Comparative Study”、1996年 DAC’96、[平成１５年９月８日検索]、インターネット＜URL:http//ieeexplore.ieee.org＞
【非特許文献３】”A Fast Fanout Optimization Algorithm for Near-Continuous Buffer Libraries”、1998年 DAC’98、[平成１５年９月８日検索]、インターネット＜URL:http//ieeexplore.ieee.org＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述の従来の技術では、半導体集積回路装置の高性能化および高速化に対して限界がある。
前記に鑑み、本発明は、半導体集積回路装置の高性能化および高速化を実現できる設計方法を提供することを目的とする。また本発明は、既存のＥＤＡツールを用いた自動化設計フローに融合し、既存技術よりも更なる高性能化および高速化を行うことができる設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記の課題を解決するために本発明の半導体集積回路装置の設計方法は、装置内のパスのうち所望する信号到達時間を超えるパスに対し、そのパスに属する構成要素の出力に接続される他の構成要素の数が減少するようにパスを分離することを特徴とする。
【０００９】
このようにパスを分離することにより、構成要素の出力に接続される負荷が小さくなり、パスの信号到達時間が所望する信号到達時間を満たすことになって、装置の性能向上を実現することができる。
【００１０】
本発明の半導体集積回路装置の設計方法は、上記において、パスの分離を行うために必要となる新たな構成要素を生成することを特徴とする。
このようにすると、パス分離による装置の高性能化を実現することができる。
【００１１】
本発明の半導体集積回路装置の設計方法は、上記において、構成要素内部でのパスの分離を行うために、同一論理の出力端であって特定のパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素を生成することを特徴とする。
このようにすると、パス分離により構成要素の出力の負荷が軽減され、装置の高性能化を実現することができる。
【００１２】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する構成要素と同等の機能を有する他の構成要素を複製により生成し、前記構成要素または前記他の構成要素の出力には所望する信号到達時間を超えるパスに属する次段の構成要素のみを接続することによりパスの分離を行うことを特徴とする。
【００１３】
このようにすると、構成要素の出力に接続される次段の構成要素の数を１にでき、出力の負荷が軽減されることにより、装置の高性能化を実現することができる。
【００１４】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する構成要素の出力を、前記所望する信号到達時間を超えるパスにおける次段の構成要素と、入力負荷の小さな構成要素とに接続するとともに、所望する信号到達時間を超えるパス以外のパスにおける次段の構成要素を、前記入力負荷の小さい構成要素の出力に接続することによりパスの分離を行うことを特徴とする。
【００１５】
このようにすると、構成要素の出力に接続される次段の構成要素の数を２にでき、出力の負荷が軽減されることにより、装置の高性能化を実現することができる。
【００１６】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する構成要素を、同一論理の出力端であって前記所望する信号到達時間を超えるパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素に置き換えることによりパスの分離を行うことを特徴とする。
【００１７】
このようにすると、構成要素の出力に接続される次段の構成要素の数を１にでき、出力の負荷が軽減されることにより、装置の高性能化を実現することができる。
【００１８】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する構成要素の一部または全部に対しパスの分離を行うことを特徴とする。
このようにすると、パスを分離することで構成要素の出力の負荷が軽減され、装置の高性能化を実現することができる。
【００１９】
本発明の半導体集積回路装置の設計方法は、上記において、構成要素の複製によるパスの分離を行う際に、最初の複製対象の構成要素としてパスの始点側の構成要素を選択し、この選択された構成要素を複製するとともにこの選択された構成要素の出力の接続先を前記パスの終点側の他の構成要素とするパスの分離を行い、次に前記選択された構成要素の出力に接続される他の構成要素を対象として、構成要素を複製するとともにその出力の接続先を前記パスの終点側のさらに他の構成要素とするパスの分離を行い、所望する信号到達時間を超えなくなるまで、順次パスの終点側までパスの分離を行うことを特徴とする。
【００２０】
このようにすると、構成要素の複製により目的とするパス以外の信号到達時間の増加を少なくし、かつパスに含まれるすべての構成要素に対しパス分離の処理を行う必要が無いため、不要な面積増加を発生させずに装置の効率的な高性能化を実現することができる。
【００２１】
本発明の半導体集積回路装置の設計方法は、上記において、パスの分離のために複製した構成要素の入力のうち、所望する信号到達時間を超えるパスに属さない入力に接続されている他のパスの信号到達時間が、パスを分離することにより所望する信号到達時間を超えることになる場合に、前記所望の信号到達時間を超えることになる他のパスに属する構成要素を複製してパスの分離を行うことを特徴とする。
【００２２】
このようにすると、パス分離により所望する信号到達時間を満たさないパスが新たに発生することを防ぎつつ、装置の高性能化を実現することができる。
【００２３】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する複数の構成要素に対しパスの分離を行う際に、回路の信号到達時間に関する情報と、各構成要素の出力に接続される他の構成要素の接続数とに基づき、前記複数の構成要素の中で接続数が多い構成要素から順にパスの分離を行うことを特徴とする。
【００２４】
このようにすると、構成要素の出力に接続される負荷が軽減する割合が大きく、パスの信号到達時間の短縮を効率的に行うことができ、装置の高性能化を実現することができる。
【００２５】
本発明の半導体集積回路装置の設計方法は、上記において、半導体集積回路装置の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに対して、ＲＴＬで記載された回路に関してパスの分離を行って、ＲＴＬで記載された新たな回路を生成することを特徴とする。
【００２６】
このようにすると、設計上流でパス分離を行い、回路の情報を基に必要最小限の部分にパス分離を行うことにより、回路の広範囲において高速化の効果がでる。また、回路性能を向上させたＲＴＬで記載された回路においてパスの分離を行うことができて、論理合成時に明示的に高速化が可能となるとともに、回路の再利用時に、より高性能な回路を提供することが可能である。
【００２７】
本発明の半導体集積回路装置の設計方法は、上記に関し、論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行って、新たなネットリストを生成することを特徴とする。
【００２８】
このようにすると、汎用の論理合成装置により最適化されたネットリストに対し、ＲＴＬに記載の回路に対し修正する場合よりもいっそう適切な箇所を修正することができ、またレイアウトに対して修正するよりも容易な修正が可能である。これにより、既存の論理合成装置により生成された回路に比べてより高性能化することが可能である。
【００２９】
本発明の半導体集積回路装置の設計方法は、上記に関し、論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを一つの機能ブロック階層として生成することを特徴とする。
【００３０】
このようにすると、分離されたパスをひとつの機能ブロック階層として扱うことができ、パスの物理設計を効率的に行うことができる。
【００３１】
本発明の半導体集積回路装置の設計方法は、上記に関し、論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、配置最適化処理によって前記分離されたパスの構成要素をある一定の領域内に配置し、構成要素を互いの近傍に配置する特定の属性を付加することを特徴とする。
【００３２】
このようにすると、分離されたパスを物理的に近傍に配置することが可能となり、構成要素間を接続する配線が短くなることでパスの信号到達時間が短縮され、装置の高性能化を実現することができる。
【００３３】
本発明の半導体集積回路装置の設計方法は、上記に関し、論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを一つのマクロとして生成し前記パスと置き換えることを特徴とする。
【００３４】
このようにすると、分離されたパスを高速なカスタム設計によりトランジスタレベルでの最適化をしたマクロにすることにより、構成要素を用いた設計により生成される回路よりもより高速な回路で置き換えることができ、装置の高性能化を実現することができる。
【００３５】
本発明の半導体集積回路装置の設計方法は、上記に関し、論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを前記所望する信号到達時間を超えるパスに属する構成要素が隣接している構造の一つの構成要素として生成し、前記分離されたパスを前記生成された一つの構成要素に置き換えることを特徴とする。
【００３６】
このようにすると、分離されたパスを一つの構成要素として扱うことができ、パスの高速化が可能であるとともに、自動化設計フローの中で用いることができるため、所望の信号到達時間を満たさないパスが多数存在する場合に、回路の効果的な高性能化を実現することができる。
【００３７】
本発明の半導体集積回路装置の設計方法は、上記に関し、論理合成装置により生成されたネットリストにおいて、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行い、前記分離されたパスを所定の基準に基づき一部をマクロで実現し、他の一部を構成要素として実現することを特徴とする。
【００３８】
このようにすると、所望の信号到達時間を満たさないパスのうち違反量の大きなパスは開発期間を長くとりマクロ化することができ、違反量の比較的小さなパスは開発期間を短くして一つの構成要素として実現する方法を選択することができ、開発期間と性能のバランスをとった、効率的な高性能化を実現することができる。
【００３９】
本発明の半導体集積回路装置の設計方法は、上記に関し、配置最適化装置およびレイアウト装置により生成された物理情報を含む設計回路図において、回路の信号到達時間情報と配置配線情報と構成要素の出力に接続される容量および抵抗値とに基づき、所望する信号到達時間を超えるパスに属する構成要素に対しパスの分離を行って、ネットリストおよび新たな配置配線情報を生成することを特徴とする。
【００４０】
このようにすると、レイアウトから配置配線情報を抽出し配線容量と配線抵抗を考慮したパスの分離を行うことが可能となり、容量と抵抗に注目することにより接続数により分離を行う場合よりも効率的な高性能化が可能となる。
【００４１】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する構成要素を対象として、構成要素を複製するとともにその出力の接続先を他の構成要素としてパスの分離を行い、前記分離されたパスの構成要素をある一定の領域内に配置することを特徴とする。
【００４２】
このようにすると、構成要素どうしを互いの近傍に配置でき、つまり分離されたパスを物理的に近傍に配置することができ、構成要素間を接続する配線が短くなることでパスの信号到達時間が短縮され、装置の高性能化を実現することができる。
【００４３】
本発明の半導体集積回路装置の設計方法は、上記において、所望する信号到達時間を超えるパスに属する構成要素を対象として、構成要素を複製するとともにその出力の接続先を他の構成要素としてパスの分離を行い、前記分離されたパスを特定の機能を要するマクロとして生成して、前記分離されたパスと置き換えることを特徴とする。
【００４４】
このようにすると、分離されたパスをマクロ化し高速なカスタム設計などを適用することにより、構成要素を用いた設計により生成される回路よりも高速な回路で置き換えることができ、レイアウトでの回路の高性能化を実現することができる。
【００４５】
本発明の半導体集積回路装置の設計方法は、上記に関し、配置最適化装置およびレイアウト装置により生成された物理情報を含む設計回路図において、回路の信号到達時間情報と配置配線情報と構成要素の出力に接続される容量および抵抗値とに基づき、所望する信号到達時間を超えるパスに対しパスの分離を行い、前記分離されたパスをそのパスに属する構成要素が隣接している構造の一つの構成要素として生成し、前記分離されたパスと置き換えることを特徴とする。
【００４６】
このようにすると、レイアウト装置内にてパスの分離およびパスの機能を有する一つの構成要素への置き換えが可能となり、分離したパスを一つの構成要素として実現するため、パスの信号到達時間は短縮され、装置の高性能化が可能となる。
【００４７】
本発明の半導体集積回路装置の設計方法は、上記において、論理合成装置の論理合成時および論理合成後の最適化時に、回路の信号到達時間に関する情報に基づき、所望する信号到達時間を超えるパスに属する構成要素に対し、同一論理の出力端であって特定のパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素を使用して、構成要素内でパスの分離を行うことを特徴とする。
【００４８】
このようにすると、論理合成装置が行う論理合成処理および最適化処理において、パスの分離が可能となり、既存のツールを活用して、現状よりも更なる高性能化を達成することが可能となる。
【００４９】
本発明の半導体集積回路装置の設計方法は、上記において、論理合成装置の論理合成時および論理合成後の最適化時に、同一論理の出力端であって特定のパスに接続するものとそれ以外のパスに接続するものとの複数の出力端を備えた構成要素を使用して、同一の論理を持つ出力端の少なくとも一つには一つの論理素子のみを接続する特定の属性を付加してパスの分離を行うことを特徴とする。
【００５０】
このようにすると、論理合成装置に構成要素の出力端の接続数の制限を明示的に与えることにより、既存ツールによるパスの分離が可能となり、装置の性能の向上を実現することができる。
【００５１】
本発明の半導体集積回路装置の設計方法は、上記において、論理合成装置の論理合成時および論理合成後の最適化時に、同一論理の出力端であって特定のパスに接続するものとそれ以外に接続するものとの複数の出力端を備えた構成要素を使用して、同一の論理を持つ出力端の少なくとも一つには一つの構成要素のみを接続する特定の属性を付加することにより、所望する信号到達時間を超えるパスに属する構成要素のみを一つの出力端に接続し、その他の構成要素を前記出力端とは別の出力端に接続してパスの分離を行うことを特徴とする。
【００５２】
このようにすると、論理合成装置が行う論理合成処理および最適化処理において、パスの分離が可能となり、既存のツールを活用して、現状よりも更なる高性能化を達成することが可能となるうえに、論理合成装置に構成要素の出力端の接続数の制限を明示的に与えることにより、既存ツールによるパスの分離が可能となり、装置の性能の向上を実現することができる。
【発明の効果】
【００５３】
本発明の半導体集積回路装置の設計方法によれば、この方法を既存の設計フローの一部として適用することによって、装置内のパスの信号到達時間を短縮することができ、半導体集積回路装置の高性能化および高速化を実現することができる。
【発明を実施するための最良の形態】
【００５４】
以下、本発明の実施の形態について、図面を参照しながら説明する。
図１は、本発明の実施の形態の半導体集積回路装置の設計方法を示す図である。ここでは、図１７を参照して説明した従来の設計方法に加えて、本発明により提案される処理を備えた設計方法としている。すなわち、ステップＳ１０１の論理合成処理の前にステップＳ１０５としてパス分離処理を実行し、またステップＳ１０１の後にステップＳ１０６としてパス分離処理を実行し、ステップＳ１０２の配置最適化処理の後にステップＳ１０７としてパス分離処理を実行する。また、図１の設計方法では、パス分離処理のために必要とされる専用の構成要素を生成する構成要素生成処理１０８も実行する。
【００５５】
次に、パス分離処理Ｓ１０５、Ｓ１０６、Ｓ１０７の詳細を説明する。
図２は、図１におけるパス分離処理Ｓ１０５、Ｓ１０６、Ｓ１０７に共通の設計方法を説明するための回路図である。この図２の回路は図１８に示された従来の回路と類似するが、（ａ）に示すように、回路内の論理値を保持する構成要素１と同一の構成要素１２を作成し、図１８の従来の回路においては構成要素１に接続されていた構成要素４、５、６を、構成要素１２に接続している。これにより、構成要素１に接続される構成要素は構成要素７の一つのみとなるため、構成要素１から構成要素７までの信号到達時間が減少し、前述した最大の信号到達時間が減少することにより、半導体集積回路装置の性能向上を実現することができる。
【００５６】
このようにして、所望の到達時間を満たさないパスに属する構成要素を複製し、この構成要素の出力に接続される他の構成要素の数を減らすことによって、容量を小さくし、信号到達時間を減少させることができて、装置の高性能化を実現することができる。
【００５７】
また、図２（ａ）に示された回路であっても、構成要素１から構成要素３までのパスが所望の信号到達時間を満たさないパスとなる場合は、図２（ｂ）に示すように、さらに構成要素７と同一の構成要素１３を作成し、構成要素７の出力に接続されていた構成要素８、１０を構成要素１３の出力に接続する。構成要素１３の入力は、構成要素２および構成要素１２と接続する。これにより、構成要素２から構成要素７および構成要素１３への信号到達時間は一定量増加するが、構成要素２からのパスが有する信号到達時間が回路の最大信号到達時間と比べて前記の一定量よりも小さい場合は、構成要素２からのパスが所望の信号到達時間を満たさないことはない。一方、構成要素７の出力の接続先は構成要路９のみとなり、その接続数は１となって、（ａ）の回路に比べて構成要素７から構成要素９までの信号到達時間が減少する。その結果、回路の最大信号到達時間を減少させることができる。
【００５８】
また同様に、構成要素９および組み合わせ回路１１内において、構成要素１から構成要素３までのパスに属する構成要素の一部または全部に同様のパス分離を行うことにより、回路の最大信号到達時間が減少し、半導体集積回路装置の性能向上を実現することができる。
【００５９】
図３は、図１におけるパス分離処理Ｓ１０５、Ｓ１０６、Ｓ１０７に共通する他の設計方法を示す。同図（ａ）（ｂ）は、図１の構成要素生成処理Ｓ１０８にて生成される、パス分離処理に必要な専用セルの構造例を示している。すなわち、図３（ａ）に示される構成要素は、専用のフリップフロップの例である。通常の端子Ｑ、ＮＱに加え、Ｑ´の端子を備える。これらの端子のうち、Ｑ端子には一つの構成要素のみを接続するように制御することにより、構成要素内部でパスの分離が可能となり、装置の高性能化を実現することができる。また、（ｂ）に示す構成要素はＡＮＤ回路であり、Ｙ端子には一つの構成要素のみを接続するようにし、Ｙ´端子にはそのほかの構成要素を接続するようにすることで、パスの分離を実現でき、装置の高性能化が可能となる。
【００６０】
また、上で説明した図３（ａ）（ｂ）は専用構成要素の一例を示すものであるが、同様にしてその他の論理の構成要素を生成することも可能である。
このようにして、出力に二つの端子を持ち、一方の端子には一つの構成要素を接続し、他方には一つ以上の構成要素を接続できるようにすることにより、所望の遅延時間を満たさないパスに属する構成要素を優先的に端子に接続することができる。このため、これらの構成要素を適切に使用することにより、回路の高性能化を実現できる。
【００６１】
図３（ｃ）は、図１８の回路において、専用セルを用いてパスの分離を行った場合の回路構造を示している。装置内で最も大きな信号到達時間を持つパスに属する構成要素７を、図３（ｂ）の専用構成要素に置き換え、構成要素９を図３（ｂ）に示すＹ端子に接続し、構成要素８、１０をＹ´端子に接続することにより、構成要素７から構成要素９への信号到達時間が減少する。
【００６２】
このように、構成要素内部でパス分離を行うことにより、装置の性能向上を実現することができる。
【００６３】
図４は、図１におけるパス分離処理Ｓ１０５、Ｓ１０６、Ｓ１０７に共通するさらに他の設計方法を示す。図１８に示した従来の回路に比べて、構成要素１４、１５を生成して構成要素１の出力を構成要素７と構成要素１４との入力に接続し、構成要素１４の出力を構成要素１５の入力に接続し、構成要素１５の出力を構成要素４、５、６に接続している。構成要素１４、１５は信号の論理値を反転させるような論理を持つ要素であって、構成要素１の出力信号の論理値と構成要素１５の出力信号の論理値は等価である。また、構成要素１４は入力容量の小さい構成要素を選択したものであり、構成要素１５は構成要素４、５、６を駆動するに適した駆動力の要素を選択したものである。これによって、構成要素１に接続されるのは構成要素７、１４の二つであり、さらに構成要素１４の入力容量は小さいため、構成要素１から構成要素７までの信号到達時間を減少することができる。
【００６４】
このようにしてパスを分離することにより、回路の最大信号到達時間が減少するため、半導体集積回路装置の性能向上を実現することができる。
【００６５】
構成要素１４、１５を生成する処理を施した後も、構成要素１から構成要素３までのパスが所望の信号到達時間を満たさないときは、さらに構成要素７の出力に対して構成要素１６、１７を構成要素１４、１５と同様の選択方法で作成し、構成要素７、９、１６、１７、８、１０を図示のように接続する。
【００６６】
このようにして、パスの遅延時間に基づき順にパスを分離していくことにより、必要最小限の構成要素の追加により所望の到達時間を満たすようになり、半導体集積回路装置の
性能向上を実現することができる。
【００６７】
以上のように図２、３、４に示した分離方法があるが、これらを用いて図５に示すようにしてパスを分離することができる。すなわち、図５は、図１のパス分離処理Ｓ１０５、Ｓ１０６、Ｓ１０７に共通の設計方法に関するものであって、パスの分離をする手順のひとつの方法である。ここで、ステップＳ５１にて、パスを分離する方法を、図２の構成要素を複製する方法、図３の二つの出力端子を持つ専用の構成要素を持つ方法、図４の入力容量の小さな構成要素を用いる方法より選択する。そして、ステップＳ５２にて、所望の信号到達時間を満たさないパスに属する全ての構成要素に対してパス分離を行う。
【００６８】
このようにパスの分離を行うことにより、分離処理を高速に行うことができ、短い期間で装置の高性能化を実現することができる。
【００６９】
図６は、本発明に基づきパスを分離をする手順のひとつを示す。すなわち、図５で説明した分離方法の選択をするステップＳ５１において、図２の構成要素を複製することによるパス分離方法を選択した場合は、以下の手順にてパスの分離を行う。
【００７０】
まず、ステップＳ６０１にて複製によるパス分離を選択し、その後、ステップＳ６０２にてパスの始点の構成要素を選択する。次にステップＳ６０３にて、前記構成要素に対しパス分離処理を行い、構成要素の複製および出力の接続の変更を行う。次にステップＳ６０４にて遅延計算を行い、対象とするパスの信号到達時間を計算する。そしてステップＳ６０５にて信号到達時間を検証し、パスの信号到達時間が所望の到達時間を満たす場合は、処理を終了する。ステップＳ６０５において、所望の到達時間を満たさない場合は、ステップＳ６０６に進む。このステップＳ６０６では、上記のステップＳ６０３にて分離を行った構成要素の出力に接続される次段の構成要素を、パス分離の対象として選択する。次にステップＳ６０７では、ステップＳ６０６にて選択された構成要素に対しパス分離処理を行う。またステップＳ６０８にて遅延計算を行う。そしてステップＳ６０９にて信号到達時間を検証し、所望の到達時間を満たす場合は、処理を終了する。所望の到達時間を満たさない場合は、ステップＳ６０６に戻って、同様の処理を繰り返す。
【００７１】
このようにパスの始点の構成要素から終点の構成要素まで順次分離していく方法を用いることにより、所望の到達時間を満たすために必要最小限の数の構成要素を分離するだけでよく、装置の面積増加を抑制しつつ高性能化を実現することができる。また、パスの中間に位置する構成要素を最初に分離することに比べ、始点の構成要素を複製した場合にはその構成要素の前段の構成要素に与える影響が小さいため、分離対象のパス以外のパスに対する影響を抑制しつつ装置の高性能化を実現することができる。
【００７２】
図７は、図２（ｂ）の回路に対して、構成要素２を複製して構成要素１８を生成し、構成要素７の入力のうち構成要素２に接続されていた入力端子を構成要素１８に接続し直した回路を示す。
【００７３】
このように複製してパス分離を行った構成要素に接続される全ての構成要素に対し、前記と同様に複製しかつ接続しなおす処理を行うことにより、構成要素の複製による他のパスへの影響を抑止することができ、より効率的な装置の高性能化を実現することができる。
【００７４】
図８は、図６の手順に図７のパスの分離を追加した処理を示す図である。ここでは、図５における分離方法の選択をするステップＳ５１にて、前述の構成要素を複製する方法によるパス分離の方法を選択した場合は、以下の手順にてパスの分離を行う。すなわち、ステップＳ８０１にて複製によるパス分離を選択した後、ステップＳ８０２にてパスの始点の構成要素を選択する。次に、ステップＳ８０３にて、前記の選択された構成要素に対してパス分離処理を行い、構成要素の複製および出力の接続の変更を行う。次にステップＳ８０４にて遅延計算を行い、対象とするパスの信号到達時間を計算する。そしてステップＳ８０５にて信号到達時間を検証し、パスの信号到達時間が所望の到達時間を満たす場合は、ステップＳ８１０へ進む。所望の到達時間を満たさない場合は、ステップＳ８０６に進む。ステップＳ８０６では、ステップＳ８０３にて分離を行った構成要素の出力に接続される次段の構成要素を、パス分離の対象として選択する。次にステップＳ８０７では、ステップＳ８０６にて選択された構成要素に対しパス分離処理を行う。次にステップＳ８０８にて遅延計算を行う。そしてステップＳ８０９にて信号到達時間を検証し、所望の到達時間を満たさない場合は、ステップＳ８０６に戻って、同様の処理を繰り返す。ステップＳ８０９においてパスの信号到達時間が所望の到達時間を満たす場合は、ステップＳ８１０へ進む。ステップＳ８１０では、パスの分離により、分離されたパスに関連する他のパスが所望する到達時間を満たさなくなるかどうかを検証する。他のパスが所望する到達時間を満たす場合は、処理を終了する。ステップＳ８１０において、他のパスが所望の遅延時間を満たさない場合は、ステップＳ８１１に進み、図７により説明したように構成要素の複製と接続の変更を行って、処理を終了する。
【００７５】
図９は、図１のパス分離処理５、６、７に共通するさらに他の設計方法を示す。図９（ａ）の接続図は半導体集積回路装置内の所望の信号到達時間を満たさないパスを示しており、このパスには構成要素２１、２２、２３、２４、２６、および組み合わせ回路２５が属している。構成要素２２の出力には、構成要素２３以外に３つの構成要素が接続されている。同様に構成要素２３の出力には構成要素２４以外に５つの構成要素が接続され、構成要素２４の出力には組み合わせ回路２５以外に４つの構成要素が接続されている。組み合わせ回路２５内の構成要素の出力には多くとも３つの構成要素が接続されている。
【００７６】
このとき、同一の構成要素を作成して接続数の変更を行うべき構成要素を選択する方法として、出力に接続される構成要素の数が最も大きい構成要素２３の選択を行う。そして、図９（ｂ）に示すように構成要素２３を複製して構成要素２７を生成し、構成要素２３の出力には構成要素２４のみを接続するとともに、構成要素２７の出力に他の５つの構成要素を接続するように回路を設計する。
【００７７】
これにより、構成要素の出力に接続される構成要素数の削減効果が最も大きく、信号到達時間の削減量も大きくなる。よって、半導体集積回路装置の性能向上を効率的に行うことができる。
【００７８】
図１０は、図９に基づき説明したパス分離の手順の一例を示す。すなわち、ステップＳ１００１にて、パスを分離する方法を、前述の、構成要素を複製する方法と、二つの出力端子を持つ専用の構成要素を用いる方法と、入力容量の小さな構成要素を用いる方法とから選択する。次に、ステップＳ１００２にて、分離対象のパスに属する全ての構成要素の出力の接続数を計算する。次に、ステップＳ１００３にて、パス分離処理を行う候補として、出力に接続される構成要素が最も大きい構成要素を選択する。続くステップＳ１００４では、ステップＳ１００３にて選択された構成要素に対し、ステップＳ１００１にて選択した方法を用いてパス分離処理を行う。次に、ステップＳ１００５にて遅延計算を行い、ステップＳ１００６にて、パス分離処理を行ったパスの信号到達時間が所望の到達時間を満たしているかどうかを検証する。所望の到達時間を満たしていない場合は、ステップＳ１００３に戻って、同様の処理を繰り返す。所望の到達時間を満たしている場合は、処理を終了する。
【００７９】
図１１は、図１のパス分離処理Ｓ１０５における設計方法を示し、ＲＴＬで記載された設計回路図に対してパス分離を行う場合の具体例を示す。すなわち、ステップＳ１１０１にて処理対象の選択を行う際に、ＲＴＬ１１３と回路の信号到達時間情報１１４とを使用する。信号到達時間情報は、論理合成後に遅延計算を行った情報でもよいし、レイアウトまで行った後の情報でもよい。信号到達時間情報を基に、所望の信号到達時間を満たさないパスに対して、ステップＳ１１０２にてパス分離処理を行い、終了する。１１５は、得られた高速版ＲＴＬである。
【００８０】
このようにすることにより、ＲＴＬで記述された回路の性能向上を実現することができ、また回路の再利用時に、より高性能なＲＴＬを提供することが可能である。
図１２は、半導体集積回路装置のＲＴＬでの回路図を表している。同図（ａ）は、処理前のＲＴＬを示す。信号ｗｉｒｅ１、ｗｉｒｅ２、ｗｉｒｅ３、ｗｉｒｅ４は、信号ｒｅｇ１と、ｒｅｇ２、ｒｅｇ３、ｒｅｇ４、ｒｅｇ５のそれぞれとの論理積である。この回路において、回路情報もしくは信号到達時間情報より、信号ｒｅｇ１から信号ｗｉｒｅ１を通過するパスが所望の到達時間を満たさないパスであり、パス分離処理の対象である。同図（ｂ）は、入力容量の小さな構成要素を用いてパスの分離を行った後のＲＴＬを示す。同図（ｂ）における１２２の記述は、同図（ａ）における１２１の記述を変更したものである。入力容量の小さな構成要素Ｕ１と比較的駆動力の大きな構成要素Ｕ２とを追加し、構成要素Ｕ１の入力には信号ｒｅｇ１を接続し、構成要素Ｕ１と構成要素Ｕ２とを信号ｗｉｒｅ１＿１で接続する。さらに、構成要素Ｕ２の出力に信号ｗｉｒｅ１＿２を接続し、ｗｉｒｅ１＿２と信号ｒｅｇ３、ｒｅｇ４、ｒｅｇ５のそれぞれとの論理積を信号ｗｉｒｅ２、ｗｉｒｅ３、ｗｉｒｅ４とする。このように変更することで、信号ｒｅｇ１には、ｒｅｇ２との論理積の構成要素と入力容量の小さな構成要素Ｕ１とのみが接続されるため、信号ｒｅｇ１からｗｉｒｅ１を通過するパスの遅延時間は短縮され、装置の高性能化を実現することができる。
【００８１】
図１２（ｃ）は、入力容量の小さな構成要素を使用し、一つの階層として定義し、パス分離を行った後のＲＴＬを示す。上述した同図（ｂ）の回路における１２２の記述のうち、Ｕ１、Ｕ２の記述に関する部分を（ｃ）の１２３、１２４の記述のように変更する。それによって、Ｕ１、Ｕ２を新たに機能ブロック階層ｂｕｆ１として定義し、階層ｂｕｆ１の入力に信号ｒｅｇ１を接続し、出力に信号ｗｉｒｅ１＿１を接続する。信号ｗｉｒｅ２、ｗｉｒｅ３、ｗｉｒｅ４は、信号ｗｉｒｅ１＿１と信号ｒｅｇ２、ｒｅｇ３、ｒｅｇ４のそれぞれとの論理積を接続する。このようにすることによって、信号ｒｅｇ１には、ｒｅｇ２との論理積の構成要素と入力容量の小さな構成要素Ｕ１とのみが接続されるため、信号ｒｅｇ１からｗｉｒｅ１を通過するパスの遅延時間は短縮され、装置の高性能化を実現することができる。また、機能論理ブロック階層ｂｕｆ１を定義することにより、複数の部分で同一のパス分離を行う際に再利用が可能であり、設計の効率化を図ることができる。
【００８２】
次に図１２（ｄ）は、構成要素の複製によるパス分離を行う場合の実装例を示す。記述１２５の部分の構成要素を１２７のように記述し複製する。また信号ｒｅｇ１を複製しｒｅｇ１＿１を生成する。さらに記述１２６の部分を記述１２８のように変更する。信号ｗｉｒｅ１には、信号ｒｅｇ１とｒｅｇ２の論理積を接続する。また信号ｗｉｒｅ２、ｗｉｒｅ３、ｗｉｒｅ４には、それぞれ信号ｒｅｇ１＿１と信号ｒｅｇ２、ｒｅｇ３、ｒｅｇ４のそれぞれとの論理積を接続する。このように変更することにより、信号ｒｅｇ１の接続先はｒｅｇ１とｒｅｇ２の論理積という構成要素一つだけとなり、これによって信号ｒｅｇ１から信号ｗｉｒｅ１への信号到達時間が短縮され、装置の高性能化を実現することができる。
【００８３】
このようにして、ＲＴＬの回路図においてパス分離を行うことにより、所望の信号到達時間を満たさないパスの到達時間を削減でき、これによって回路の性能向上を実現することができる。
【００８４】
図１３は、図１におけるパス分離処理Ｓ１０６の詳細を示しており、ネットリストの回路設計図に対して接続数変更処理を行う手順を示している。ここで、ステップＳ１３０１では、回路の遅延時間情報１３０８とネットリスト１３０９とを用いて、パス分離処理の対象パスの選択を行う。すなわち、あらかじめ用意されたネットリストの信号到達時間情報を基に、所望する信号到達時間を超えるパスの中からパス分離の対象となるパスを選択する。選択に際しては、最も到達時間の大きなパスを選択してもよいし、経験的に選択してもよい。次に、ステップＳ１３０２において、分離対象のパスがあるかどうかの検証を行う。分離対象のパスがある場合は、ステップＳ１３０３に進んで、対象のパスに対してパス分離処理を実行したうえで、ステップＳ１３０１に戻る。ステップＳ１３０２において、分離対象のパスがない場合は、ステップＳ１３０４に進んで、パス分離を行ったパスを一つの機能ブロックとして階層化するかどうかの判断を行う。判断の方法としては、全てのパスを階層化の対象としてもよいし、到達時間大きなパスからある一定の割合のパスのみ階層化するとしてもよい。階層化を行う場合はステップＳ１３０５に進む。行わない場合は処理を終了する。ステップＳ１３０５では、分離されたパスの階層化処理を行う。この処理により、階層化されたパスの情報１３１０が生成される。次のステップＳ１３０６では、分離されたパスに対して集合配置の属性を付加するかどうかの判断を行う。判断の方法としては、パス分離された全てのパスに属性を付加してもよいし、階層化されたパスのみに属性を付加してもよいし、到達時間の大きなパスからある一定の割合のパスのみ属性を付加してもよい。属性の付加を行わない場合は、処理を終了する。属性の付加を行う場合は、ステップＳ１３０７に進む。このステップＳ１３０７では、集合配置の属性を付加する対象となったパスに対し集合配置属性付加処理を行う。この処理にて、構成要素の属性情報１３１１を生成し、終了する。これらの一連の処理の終了後に、高性能化されたネットリスト１３１２が生成される。
【００８５】
このようにして、ネットリストに対してパス分離を行うことにより、既存の論理合成装置の最適化による高性能化にくわえて、さらなる回路性能の向上を実現することができる。
【００８６】
図１４は、図１３の処理により生成したネットリスト１３１２および階層化情報１３１０を用いて、一つの機能ブロックとして階層化されたパスに対して高速化処理を行う手順を示す。ここで用いる高速化処理は２種類あり、マクロ生成処理と構成要素生成処理である。マクロ生成処理とは、階層化されたパスを一つのハードマクロとしてフルカスタムで設計する方法である。構成要素生成処理とは、階層化されたパスを一つの構成要素として生成する方法である。一つの構成要素とする場合と比較して、マクロ化する場合は、より高性能化が可能であるが、自動化設計フローにおいて手動での処理が必要となり、開発期間は長くなる。よって、所望する時間に対して非常に大きな違反が発生している場合に有効である。これに対し、構成要素生成処理すなわち構成要素として開発する場合は、自動化設計フローの一部として利用可能であるため、開発期間が比較的短くなる。このような特徴を考慮してそれぞれの手段を選択する必要がある。
【００８７】
次にこの手順を説明する。図１４のステップＳ１４０１にて、ネットリスト１３１２および階層化情報１３１０を用いて、前記二つの生成処理のうち、それぞれの階層化されたパスに対して行う処理を選択する。選択方法としては、全部のパスをマクロ化してもよいし、所望の到達時間を満たさないパスのうち、大きな違反を発生するパスから一定の割合のパスをマクロ化生成処理し、残りのパスを一つの構成要素として生成してもよいし、経験則に基づいて選択してもよい。ステップＳ１４０１の選択後は、ステップＳ１４０２、Ｓ１４０３において、マクロ生成処理および構成要素生成処理を行う。それぞれのステップにて、マクロ化情報１４１と構成要素情報１４２が生成される。次に、ステップＳ１４０４において、ネットリスト１３１２における階層化されたパスの部分を、前記生成処理によって生成されたマクロまたは構成要素と置換する処理を行い、その後に処理を終了する。これによって、回路性能を向上させたネットリスト１４９が作成される。
【００８８】
図１５は、図１におけるパス分離処理Ｓ１０７の詳細を示しており、レイアウトの回路設計図に対してパス分離処理を行う場合の手順を示している。ここで、ステップＳ１５０１においては、ネットリスト１５１１を用いて初期配置を行う。次にステップＳ１５０２にて遅延計算を行い、回路の遅延情報を生成する。ステップＳ１５０３では、ステップＳ１５０２で生成された遅延情報を基に、パス分離の対象パスの選択を行う。選択の方法としては、最も到達時間の大きなパスを選択してもよいし、経験的に選択してもよい。ステップＳ１５０４では、パス分離対象のパスがあるかどうかの検証を行う。対象バスがない場合は処理を終了し、有る場合はステップＳ１５０５に進む。ステップＳ１５０５では、分離対象のパスに対してパス分離処理を行う。ステップＳ１５０６では、分離されたパスに対してさらなる高速化を行う設計方法を選択する。すなわち、集合配置（ステップＳ１５０７）、マクロ生成（ステップＳ１５０９）、構成要素生成（ステップＳ１５０８）の３種類から選択する。
【００８９】
ステップＳ１５０７の集合配置においては、所望する信号到達時間を超えるパスに属する構成要素を対象として、構成要素を複製するとともにその出力の接続先を他の構成要素としてパスの分離を行い、この分離されたパスの構成要素をある一定の領域内に配置する。
【００９０】
ステップＳ１５０９のマクロ生成においては、階層化されたパスを一つのハードマクロとしてフルカスタムで設計する。すなわち、所望する信号到達時間を超えるパスに属する構成要素を対象として、構成要素を複製するとともにその出力の接続先を他の構成要素としてパスの分離を行い、この分離されたパスを一つのマクロとして生成して、この分離されたパスと置き換える。
【００９１】
ステップＳ１５０８の構成要素生成では、配置最適化装置およびレイアウト装置により生成された物理情報を含む設計回路図において、回路の信号到達時間情報と配置配線情報と構成要素の出力に接続される容量および抵抗値とに基づき、所望する信号到達時間を超えるパスに対しパスの分離を行い、この分離されたパスをそのパスに属する構成要素が隣接している構造の一つの構成要素として生成して、この分離されたパスと置き換える。
【００９２】
ステップＳ１５０６において上記した設計方法を選択した後、ステップＳ１５０７、Ｓ１５０８、Ｓ１５０９にて、パスごとに選択された設計方法の処理をそれぞれ行う。ステップＳ１５０８の構成要素生成処理では構成要素情報１５１２が生成され、ステップＳ１５０９のマクロ生成処理ではマクロ化情報１５１３が生成される。ステップＳ１５０７の集合配置処理を行った後は、終了する。ステップＳ１５０８、Ｓ１５０９の処理の後は、ステップＳ１５１０にてパスの置換処理を行ったうえで、終了する。これにより、回路性能を向上させたレイアウト１５１４が生成される。
【００９３】
図１６は、図１における構成要素生成処理Ｓ１０８と論理合成処理Ｓ１０１とを用いて、論理合成時にパス分離を行う手順を示している。すなわち、図１の構成要素生成処理Ｓ１０８にて、あらかじめ図３に示す二つの出力端子を持つ専用構成要素の生成を行うことで、図１６に示す専用構成要素のライブラリ１６４が生成される。ライブラリ１６４には、複数の出力端子をもつ構成要素の他に、従来技術である単一の出力端子をもつ構成要素も含まれている。図１の構成要素生成処理Ｓ１０８では、複数の出力端をもつ構成要素を生成する際に、二つの出力端のうち一つの出力端には，論理合成装置が認識できるように接続する構成要素を一つにする属性が付加されている。次に図１６のステップＳ１６０１において、ＲＴＬ１６３と専用構成要素ライブラリ１６４とを用いて論理合成を行う。このとき、論理合成装置がパスの遅延時間を計算し、所望する信号到達時間に到達しないパスに対して、ライブラリ１６４に含まれる複数の出力端を持つ構成要素を使用することによってパスの分離を行い、遅延時間の短縮を行う。構成要素の置換をする際に、図１の構成要素生成処理Ｓ１０８にて付加した属性をもとに、一つの出力端には、所望する信号到達時間を超えるパスに属する構成要素のみを接続し、その他の構成要素を前記出力端とは別の出力端に接続することで、遅延時間の短縮を行い、回路性能を向上させる。ステップＳ１６０１の処理の実行後、終了する。
【００９４】
このようにして、既存の論理合成装置を利用してパスの分離処理を行うことができ、従来生成されていたネットリストと比較して回路性能を向上させたネットリスト１６５を生成することが可能となる。
【産業上の利用可能性】
【００９５】
本発明にかかる半導体集積回路装置の設計方法は、半導体集積装置を高性能化する手法を有し、既存の半導体装置設計フローに組み込むことにより従来の半導体集積装置よりも高性能な装置を開発するための半導体集積回路装置の設計方法として有用である。また、小面積・低消費電力化等の用途にも応用できる。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施の形態の半導体集積回路装置の設計方法のフローチャート
【図２】本発明の設計方法を適用した回路を示す図
【図３】本発明の設計方法に必要とされる専用構成要素の回路の例および同回路を用いて本発明の設計方法を適用した回路の例を示す図
【図４】本発明の設計方法を適用した回路の他の例を示す図
【図５】本発明に基づくパス分離処理のフローチャート
【図６】本発明に基づくパス分離処理の具体例のフローチャート
【図７】図６のフローによりパス分離を行った回路を示す図
【図８】図６のフローに図７のパスの分離を追加した処理を示すフローチャート
【図９】本発明の設計方法を適用した他の回路を示す図
【図１０】図９のパス分離手順の一例を示す図
【図１１】本発明をＲＴＬに適用する手順を示す図
【図１２】本発明をＲＴＬに適用した場合の実装例を示す図
【図１３】本発明をネットリストに適用する手順を示す図
【図１４】本発明をネットリストに適用した後の設計手順を示す図
【図１５】本発明をレイアウトに適用する手順を示す図
【図１６】本発明に基づくパス分離処理を論理合成処理と共に用いる手順を示す図
【図１７】従来の半導体集積回路装置の設計方法の一例のフローチャート
【図１８】従来の設計フローにより生成される回路を示す図
【図１】
2006032870.tif 000003
【図２】
2006032870.tif 000004
【図３】
2006032870.tif 000005
【図４】
2006032870.tif 000006
【図５】
2006032870.tif 000007
【図６】
2006032870.tif 000008
【図７】
2006032870.tif 000009
【図８】
2006032870.tif 000010
【図９】
2006032870.tif 000011
【図１０】
2006032870.tif 000012
【図１１】
2006032870.tif 000013
【図１２】
2006032870.tif 000014
【図１３】
2006032870.tif 000015
【図１４】
2006032870.tif 000016
【図１５】
2006032870.tif 000017
【図１６】
2006032870.tif 000018
【図１７】
2006032870.tif 000019
【図１８】
2006032870.tif 000020