(57)【特許請求の範囲】
【請求項１】
論理回路を構成する複数のセルを有する半導体集積回路に対して、与えられた仕様に基づいて論理回路を合成し、該論理合成により得られた論理回路の接続情報に基づきセルの接続情報を得る半導体集積回路の論理設計方法において、
コンピュータにインストールされたプログラムを実行することにより、
第１の仕様に基づいて論理合成し、該合成した論理回路の回路変更を第２の仕様に基づいて行う場合に、前記第１の仕様に基づく論理合成に使用された複数のセルの種別及びセル数を解析し、前記第２の仕様に基づいて行う論理合成に使用できるセルの種別及びセル数に基づいて前記回路変更に基づく論理合成を行い、
前記第２の仕様に基づいて論理合成された論理回路のセルの第１の接続情報と前記第１の仕様に基づいて論理合成された論理回路のセルの第２の接続情報とを参照して、セルの種別毎に前記第２の仕様に基づいて論理合成された際におけるセルの使用数と、前記第１の仕様に基づいて論理合成された際におけるセルの使用数との差をとり、
前記第２の仕様に基づいて論理合成された際における所定の種別のセルの使用数が前記第１の仕様に基づいて論理合成された際におけるセルの使用数を超えている場合には、
前記第２の仕様に基づいて論理合成された論理回路の各パスの動作タイミングを解析し、該動作タイミングに余裕のあるパスのリストをスラック値とともにファイルとして記憶し、該記憶されたリストの中でスラック値の大きいパスに設けられた前記所定の種別のセルに対して、前記第１の仕様に基づいて論理合成された論理回路のセルを利用して論理再合成を行うことを特徴とする半導体集積回路の論理設計方法。
【請求項２】
前記論理再合成は、
前記第２の仕様に基づいて論理合成された論理回路における再合成をする必要があるセルについて階層化した第３の接続情報を作成し、かつ該階層化されたセル単体についての第４の接続情報を作成すると共に、
前記セルの種別毎に前記第２の仕様に基づいて論理合成された際におけるセルの使用数と、前記第１の仕様に基づいて論理合成された際におけるセルの使用数との差を取った際にさらに論理合成に使用できるセルを示すデータが格納されたファイルを参照して論理合成に使用できるセルを用いて、前記第４の接続情報に基づいて前記階層化したセルについて論理合成された論理回路の第５の接続情報を作成し、
前記第３の接続情報と前記第５の接続情報とを統合するマージ処理を行い、該マージ処理により得られる第６の接続情報を、論理再合成の解析対象とすることにより行うことを特徴とする請求項１に記載の半導体集積回路の論理設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路の設計方法に係り、特に論理設計における論理回路の論理合成に関する。
【０００２】
【従来の技術】
従来の半導体集積回路の論理設計方法を、図１０乃至図１５を参照して説明する。図１０はある仕様に基づいて論理回路を合成し、該論理合成により得られた論理回路に対し、小規模の回路変更を行った場合の論理設計工程（論理設計方法）を含む半導体集積回路の設計工程を示し、図１１は大規模の回路変更を行った場合の半導体集積回路の設計工程を示している。
【０００３】
図１０において、ある仕様（Ａver）に基づいて論理回路の入出力条件等を示す機能がＲＴＬ（Register  Transfer  Level）で記述される（ステップ２００）。その論理回路のＲＴＬ記述例Ａ１を図１２に示す。
次いで、ＲＴＬで記述した論理機能をゲートレベルで記述し、論理合成を行う（ステップ２０１）。
さらに、論理合成により得られた接続情報に基づきセルレベルの接続情報を示すネットリストＡ２を得る（ステップ２０２）。このネットリストＡ２の内容及び回路を図１３に示す。
【０００４】
一方、回路変更に対応できるようにスペアセルが用意されている（ステップ２０３）。そのスペアセルを示すスペアセルネットリストＡ３の内容及び回路を図１４に示す。
次いで、ネットリストＡ２及びスペアセルネットリストＡ３に示された論理回路の接続情報に基づいて各セルの配置及び配線を自動的に行う（ステップ２０４）。
【０００５】
ステップ２０４で各セルの自動配置及び配線が終了すると、配線長、タイミング検証等が行われ、実際のパターンに変換されると共に、このパターンを用いて配線形成のためのマスクが作製され、このマスクを用いてプロセス処理が行われる（ステップ２０５）。このプロセス処理を経て半導体チップ上に論理回路が実装される（ステップ２０６）。
【０００６】
また、ステップ２０４で各セルの自動配置・配線が行われた後、自動配線された論理回路の接続情報をセルレベルネットリストＡ４として作成する（ステップ２０７）。セルレベルネットリストＡ４の内容及び回路を図１５に示す。
一方、ステップ２０１で論理合成された論理回路に小規模の回路変更を行う場合には、ステップ２０７で作成されたセルレベルネットリストＡ４に示された論理回路の接続情報を手修正し（ステップ２０８）、修正されたセルレベルネットリストＡ５を得る（ステップ２０９）。
【０００７】
次いで、セルレベルネットリストＡ５に基づいてステップ２０４で自動配線された論理回路の配線部分について、ＥＣＯ（Engineering  Change  Order）対応機能での自動配線、またはレイアウトエディタ（ＣＡＤ）での手修正を行う（ステップ２１０）。
配線用マスクのみを変更して配線以降のプロセス処理を行い（ステップ２１１）、半導体チップ上に論理回路を実装する（ステップ２１２）。
【０００８】
他方、ある仕様に基づいて論理回路を合成し、該論理合成により得られた論理回路に対し、大規模の回路変更を行った場合には、図１０のステップ２０８〜２１２に至る処理により対応することができず、図１１に示すステップ３００〜３０７（図１０におけるステップ２００〜２０７に相当する。）により行う必要があった。すなわち、新たに回路変更した論理機能のＲＴＬ記述を行い、これに基づいて論理合成を行い、得られたセルレベルネットリストに基づいて自動配置及び配線を行い、その後、プロセス処理を行い半導体チップ上に論理回路を実装するという、一連の工程を行う必要がある。
【０００９】
【発明が解決しようとする課題】
上述したように、従来の半導体集積回路の論理設計方法では、ある仕様に基づいて論理回路を合成し、該論理合成により得られた論理回路に対し、回路変更を行った場合において回路変更前の論理回路について作製されたマスクを流用するためには、手修正の範囲で軽微な変更しかできないために、小規模の回路変更しかできなかった。
【００１０】
すなわち、手修正では、論理合成時に使用するセルの種類は指定できるが、数は指定できない。
そのために、大規模な回路変更を行う場合には論理を再合成する必要が有るために回路変更前の論理回路について作製されたマスクを流用することができず、半導体集積回路の製造コストの増加及びターンアラウンドタイム（ＴＡＴ）が長くなるという問題が有った。
【００１１】
本発明はこのような事情に鑑みてなされたものであり、ターンアラウンドタイム（ＴＡＴ）の短縮及び半導体集積回路の製造コストの低減を図った半導体集積回路の設計方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために請求項１に記載の発明は、論理回路を構成する複数のセルを有する半導体集積回路に対して、与えられた仕様に基づいて論理回路を合成し、該論理合成により得られた論理回路の接続情報に基づきセルの接続情報を得る半導体集積回路の論理設計方法において、コンピュータにインストールされたプログラムを実行することにより、第１の仕様に基づいて論理合成し、該合成した論理回路の回路変更を第２の仕様に基づいて行う場合に、前記第１の仕様に基づく論理合成に使用された複数のセルの種別及びセル数を解析し、前記第２の仕様に基づいて行う論理合成に使用できるセルの種別及びセル数に基づいて前記回路変更に基づく論理合成を行い、前記第２の仕様に基づいて論理合成された論理回路のセルの第１の接続情報と前記第１の仕様に基づいて論理合成された論理回路のセルの第２の接続情報とを参照して、セルの種別毎に前記第２の仕様に基づいて論理合成された際におけるセルの使用数と、前記第１の仕様に基づいて論理合成された際におけるセルの使用数との差をとり、前記第２の仕様に基づいて論理合成された際における所定の種別のセルの使用数が前記第１の仕様に基づいて論理合成された際におけるセルの使用数を超えている場合には、前記第２の仕様に基づいて論理合成された論理回路の各パスの動作タイミングを解析し、該動作タイミングに余裕のあるパスのリストをスラック値とともにファイルとして記憶し、該記憶されたリストの中でスラック値の大きいパスに設けられた前記所定の種別のセルに対して、前記第１の仕様に基づいて論理合成された論理回路のセルを利用して論理再合成を行うことを特徴とする。
【００１３】
また、請求項２に記載の発明は、請求項１に記載の半導体集積回路の論理設計方法において、前記論理再合成は、前記第２の仕様に基づいて論理合成された論理回路における再合成をする必要があるセルについて階層化した第３の接続情報を作成し、かつ該階層化されたセル単体についての第４の接続情報を作成すると共に、前記セルの種別毎に前記第２の仕様に基づいて論理合成された際におけるセルの使用数と、前記第１の仕様に基づいて論理合成された際におけるセルの使用数との差を取った際にさらに論理合成に使用できるセルを示すデータが格納されたファイルを参照して論理合成に使用できるセルを用いて、前記第４の接続情報に基づいて前記階層化したセルについて論理合成された論理回路の第５の接続情報を作成し、前記第３の接続情報と前記第５の接続情報とを統合するマージ処理を行い、該マージ処理により得られる第６の接続情報を、論理再合成の解析対象とすることにより行うことを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。本発明の実施の形態に係る半導体集積回路の論理設計方法を図1及び図２のフローチャートを参照して説明する。本実施の形態では、図１０におけるステップ２００〜２０７の処理によりある仕様（Ａver）に基づいて設計された論理回路を回路変更した場合における半導体集積回路の論理設計について説明する。図1及び図２において、回路変更された仕様（Ｂver）に基づいて回路変更後の論理回路の入出力条件等を示す機能がＲＴＬで記述される（ステップ１００）。この論理回路のＲＴＬ記述例Ｂ１を図３に示す。
【００１６】
一方、図１０におけるステップ２０７で仕様（Ａver）で最終的に作成されたセルレベルネットリストＡ４を参照して仕様（Ａver）で設計された論理回路に使用されているセルの種類及びセル数を解析し（ステップ１０１）、回路変更された仕様（Ｂver）に基づく論理回路の論理合成に使用できるセルの種類、セル数を特定し、これらのデータが格納されたファイルを作成する（ステップ１０２、１０３）。
次いで、ステップ１０２で作成されたファイルを参照し、仕様（Ａver）で設計された論理回路に使用されているセルを使用して、ステップ１０１で得られたＲＴＬで記述した論理機能をゲートレベルで記述し論理合成を行う（ステップ１０４）。
【００１７】
さらに、論理合成により得られた接続情報に基づきセルレベルの接続情報を示すセルレベルネットリストＢ２を得る（ステップ１０５）。このセルレベルネットリストＢ２の内容及び回路を図４に示す。
次いで、セルレベルネットリストＢ２及びステップ１０３で作成されたファイルを参照し、セルの種別毎にセルレベルネットリストＢ２が示すセルの使用数とセルレベルネットリストＡ４が示すセルの使用数との差をとり（ステップ１０６）、再合成が必要なセル、合成に使用できるセルを示すデータが格納されたファイルをそれぞれ、作成する（ステップ１１５、１２５）。
【００１８】
さらに、ステップ１０７ではステップ１０６における解析結果に基づいてセルレベルネットリストＢ２が示すセルの使用数が、セルレベルネットリストＡ４が示すセルの使用数を超えていないか否かを判定する（ステップ１０７）。
ステップ１０７でセルレベルネットリストＢ２が示すセルの使用数が、セルレベルネットリストＡ４が示すセルの使用数を超えていないと判定した場合には、セルレベルネットリストＢ２に基づいて図１０に示すステップ２０４で自動配線された論理回路の配線部分について、ＥＣＯ（Engineering  Change  Order）対応機能での自動配線、またはＣＡＤでの手修正を行う（ステップ１０８）。
【００１９】
配線用マスクのみを変更して配線以降のプロセス処理を行い（ステップ１０９）、半導体チップ上に論理回路を実装する（ステップ１１０）。
一方、ステップ１０７でセルレベルネットリストＢ２が示すセルの使用数が、セルレベルネットリストＡ４が示すセルの使用数を超えていると判定した場合には、動作タイミングの制約条件が記録されているファイル（ステップ１１４）を参照し、スラック値がプラスのパスの解析を行い（ステップ１１１）、スラック値がプラスのパスのリストをファイルとして記録する（ステップ１１２）。
【００２０】
図４に示す例では、セルレベルネットリストＢ２が示すセルのうちＡＮＤゲートの使用数が、セルレベルネットリストＡ４が示すＡＮＤゲートの使用数を超えている場合を示しており、セルレベルネットリストＢ２の回路図におけるインスタンスＵＢ１，ＵＢ３，ＵＢ４のいずれか１つを再合成する必要が有る。ステップ１１１の解析結果であるファイルの内容を図５に示す。
【００２１】
次いで、ステップ１１５で作成された再合成が必要なセルを示すファイルを参照し、ステップ１１２で作成されたファイルの内容、すなわちステップ１１１の解析結果から、再合成が必要なセルが含まれているか否かを解析する（ステップ１１３）。具体的には、例えば、図５に示すファイルからスラック値の大きい、すなわち動作タイミングに余裕のあるパスＥ−Ｚ，Ｆ−Ｚが選択され、このパスから再合成するインスタンスはセルレベルネットリストＢ２の回路図（図４）におけるＵＢ４であると解析する。
【００２２】
さらに、ステップ１１６では再合成が可能か否かを判定する。ステップ１１６で再合成ができないと判定された場合には、ＲＴＬ記述Ｂ１の内容を再検討する（ステップ１２４）。
また、ステップ１１６で再合成が可能であると判定された場合には、ネット処理、すなわち、再合成が必要なインスタンスのセルを階層化する（ステップ１１７）。ステップ１１３の解析例ではネットリストＢ２の回路図におけるインスタンスＵＢ４（２入力ＡＮＤゲート）が再合成の対象となり、このセルを階層化する。
【００２３】
ステップ１１７におけるネット処理により階層化したネットリストＢ３と階層化したセルのネットリストＢ４とが作成される（ステップ１１８、１１９）。ここで、ネットリストＢ２からインスタンスＵＢ４のＡＮＤ２（２入力ＡＮＤゲート）を階層化したネットリストＢ３の内容及び回路を図６に、階層化したセルのネットリストＢ４の内容を図７に、それぞれ示す。
【００２４】
次いでネットリストＢ４に基づいてステップ１２５で作成されたファイルを参照して合成に使用できるセルを用いて階層化したセルについて論理合成を行う（ステップ１２０）。ステップ１２０で論理再合成された論理回路の接続情報からこの再合成された論理回路のネットリストＢ５を作成する（ステップ１２１）ネットリストＢ５の内容及び回路を図８に示す。
【００２５】
次いで、ステップ１１８で作成したネットリストＢ３と、ステップ１２１で作成したネットリストＢ５とを統合するマージ処理を行い（ステップ１２２）、セルレベルのネットリストＢ６を作成する（ステップ１２３）。このセルレベルネットリストＢ６は、ステップ１０６での解析対象とされ、以降、既述したのと同様の処理をセルの全種類にわたってステップ１０７の判定が肯定されるまで行う。ステップ１０７の判定が肯定されると、既述したようにステップ１０８、１０９の処理を経て半導体チップ上に論理回路が実装される（ステップ１１０）。
【００２６】
本発明の実施の形態に係る半導体集積回路の論理設計方法によれば、回路変更前の仕様に基づいて設計した論理回路に使用したセルの種類及びセル数で回路変更後の論理回路の論理合成ができるため、大規模の回路変更を行った場合においても回路変更前の仕様に基づいて設計した論理回路を半導体チップに実装するのに用いたマスクを流用でき、半導体集積回路の製造コストの低減及びターンアラウンドタイムの短縮が図れる。
【００２７】
【発明の効果】
本発明によれば、大規模の回路変更を行う場合でも回路変更前の論理回路を実装する際に使用したマスクを流用でき、半導体集積回路の製造コストの低減及びターンアラウンドタイムの短縮が図れる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係る半導体集積回路の論理設計方法を示すフローチャート。
【図２】  本発明の実施の形態に係る半導体集積回路の論理設計方法を示すフローチャート。
【図３】  論理回路のＲＴＬの記述例Ｂ１を示す説明図。
【図４】  論理合成後のセルレベルネットリストＢ２の内容及び回路を示す説明図。
【図５】  セルレベルネットリストＢ２のタイミング解析例を示す説明図。
【図６】  セルレベルネットリストＢ３の処理結果を示す説明図。
【図７】  階層化したセルのネットリストＢ４の内容を示す説明図。
【図８】  ネットリストＢ５の内容を示す説明図。
【図９】  マージ処理後のネットリストＢ６の内容を示す説明図。
【図１０】  小規模の回路変更を行う場合における従来の半導体集積回路の設計工程を示すフローチャート。
【図１１】  大規模の回路変更を行う場合における従来の半導体集積回路の設計工程を示すフローチャート。
【図１２】  論理回路のＲＴＬの記述例Ａ１を示す説明図。
【図１３】  論理合成により得られた論理回路のセルレベルネットリストＡ２の内容及び回路を示す説明図。
【図１４】  スペアセルリストＡ３の内容及び回路を示す説明図。
【図１５】  各セルの自動配置及び配線により得られた論理回路の接続情報を示すセルレベルネットリストＡ４の内容及び回路を示す説明図。
【符号の説明】
ステップ１００〜１２５…本発明の実施の形態に係る論理設計方法の手順
【図１】
0004252236.tif 000002
【図２】
0004252236.tif 000003
【図３】
0004252236.tif 000004
【図４】
0004252236.tif 000005
【図５】
0004252236.tif 000006
【図６】
0004252236.tif 000007
【図７】
0004252236.tif 000008
【図８】
0004252236.tif 000009
【図９】
0004252236.tif 000010
【図１０】
0004252236.tif 000011
【図１１】
0004252236.tif 000012
【図１２】
0004252236.tif 000013
【図１３】
0004252236.tif 000014
【図１４】
0004252236.tif 000015
【図１５】
0004252236.tif 000016