(57)【要約】【課題】差動信号を用いた回路設計を自動で行うことができる設計方法を提供することを課題とする。【解決手段】差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリ（８１１，８１２）を用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データ（８０４）を生成する論理合成ステップ（Ｓ８０３）を有することを特徴とする設計方法が提供される。【選択図】図８
2008204176.tif 000002
【特許請求の範囲】
【請求項１】
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、
前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部と
を有することを特徴とする設計装置。
【請求項２】
前記論理合成部は、相互に接続された第１のセル及び第２のセルのネットリスト設計データを生成し、
さらに、前記第１のセルが差動信号セルであるときには、前記第１のセル及び前記第２のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入部を有することを特徴とする請求項１記載の設計装置。
【請求項３】
前記補間セル挿入部は、前記第１のセル及び前記第２のセルが差動信号セルであり、かつ前記第１のセルが入力又は出力する差動信号と前記第２のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を補間セルとして挿入するネットリスト設計データを生成することを特徴とする請求項２記載の設計装置。
【請求項４】
前記補間セル挿入部は、前記第１のセルが差動信号セルであり、かつ前記第２のセルがシングルエンド信号を入力又は出力するシングルエンド信号セルであるときには、前記第１のセル及び前記第２のセル間に補間セルを挿入するネットリスト設計データを生成することを特徴とする請求項２記載の設計装置。
【請求項５】
前記補間セル挿入部は、前記第１のセル及び前記第２のセルが差動信号セルであり、かつ前記第１のセルが入力又は出力する差動信号と前記第２のセルが入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタを補間セルとして挿入するネットリスト設計データを生成することを特徴とする請求項２記載の設計装置。
【請求項６】
前記補間セル挿入部は、前記第１のセルのセル名称を基に前記第１のセルが差動信号セルか否かを判断することを特徴とする請求項２記載の設計装置。
【請求項７】
前記補間セル挿入部は、前記第１のセルの端子名称を基に前記第１のセルが差動信号セルか否かを判断することを特徴とする請求項２記載の設計装置。
【請求項８】
前記記憶部は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリを記憶し、
前記論理合成部は、前記差動信号ライブラリ及び前記シングルエンド信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号セル及びシングルエンド信号セルのネットリスト設計データを生成することを特徴とする請求項１記載の設計装置。
【請求項９】
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを有することを特徴とする設計方法。
【請求項１０】
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部を用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計装置、設計方法及びプログラムに関する。
【背景技術】
【０００２】
図１１は、デジタル回路の設計方法の処理を示すフローチャートである。ステップＳ１１０１では、ＲＴＬ（レジスタ転送レベル）設計データを基にデジタル回路構造を解析する。
【０００３】
ライブラリ１１１１及び１１１２は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリである。シングルエンド信号は、基準電位（グランド）を基準とした１本の信号である。ライブラリ１１１１は、トランジスタの閾値電圧Ｖｔｈが異なる複数のセルのライブラリからなる。ライブラリ１１１２は、電源電圧の異なる複数のセルのライブラリからなる。電源電圧及びトランジスタの閾値電圧Ｖｔｈにより、異なるライブラリが用意されている。
【０００４】
ステップＳ１１０２では、電源電圧及び／又はトランジスタの閾値電圧Ｖｔｈにより異なる複数のライブラリ１１１１，１１１２から、所定のライブラリを選択し、そのライブラリの情報を記憶する。
【０００５】
次に、ステップＳ１１０３では、選択されたライブラリ１１１１又は１１１２を用いて、ＲＴＬ設計データを基に論理合成を行い、シングルエンド信号セルのネットリスト設計データ１１０４を生成する。
【０００６】
次に、ステップＳ１１０５では、ネットリスト設計データ１１０４を基にタイミング解析を行う。
【０００７】
次に、ステップＳ１１０６では、上記のタイミング解析によりタイミング検証合格の場合には、そのネットリスト設計データ１１０７を記憶部に記録し、処理を終了する。上記のタイミング解析によりタイミング検証不合格の場合には、ステップＳ１１０８へ進む。
【０００８】
ステップＳ１１０８では、上記の選択したライブラリを変更するか否かを判断する。変更しないと判断された場合には、ステップＳ１１０３に戻り、同じライブラリ内の他のセルを用いて論理合成をやり直す。変更すると判断された場合には、ステップＳ１１０９へ進む。
【０００９】
ステップＳ１１０９では、ステップＳ１１０２で選択したライブラリを選択候補から除外し、ステップＳ１１０２へ戻り、他のライブラリを選択し、論理合成をやり直す。
【００１０】
下記の特許文献１には、ロジック部の出力回路部を表すデジタル出力セルを対応するアナログ回路部に配置し、ロジック部を疑似的に含む検証用アナログ回路部を作成し、この検証用アナログ回路部の動作をアナログ解析ツールにより検証するデジタル・アナログ混載チップ設計方法が記載されている。
【００１１】
【特許文献１】特開２００５−１４９０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
アナログ回路においては、高速動作のためにクロック信号には小振幅差動信号を用いている。アナログ回路では、マニュアルで設計を行っている。これに対し、デジタル回路においては、動作周波数が低い場合には、差動信号を使用せずに、シングルエンド信号を使用すれば十分である。したがって、デジタル回路では、図１１に示したように、シングルエンド信号ライブラリ１１１１及び１１１２を基にシングルエンド信号セルのみを設計している。すなわち、差動信号を対象にした論理合成は行っていない。デジタル回路の動作周波数が高い場合には、クロストーク等の他からの干渉を考慮するため、マニュアルで設計を行っている。
【００１３】
回路の高速化に伴い、デジタル回路においても、信号の小振幅差動化による高速化の需要は高まっている。そして、デジタル回路設計であることから、ＲＴＬ設計データからの論理合成によって小振幅差動信号が扱えるようになるのが望ましい。
【００１４】
また、アナログ設計はマニュアルで実施しているが、差動信号とシングルエンド信号との変換や、小振幅差動信号の動作電圧帯の変換といった工程は、小振幅差動信号を扱う以上不可避である。
【００１５】
本発明の目的は、差動信号を用いた回路設計を自動で行うことができる設計装置、設計方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１６】
本発明の一観点によれば、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部とを有することを特徴とする設計装置が提供される。
【発明の効果】
【００１７】
差動信号を用いた回路設計を自動で行うことができる。また、レジスタ転送レベル設計データを基に論理合成するので、差動信号を用いたデジタル回路設計を効率的に行うことができる。
【発明を実施するための最良の形態】
【００１８】
（第１の実施形態）
図１は、本発明の第１の実施形態による第１の設計方法を示す図である。小振幅差動信号セル１０１は、出力用差動バッファ１１１を有し、小振幅差動信号を出力する。差動信号は、相互に位相が反転した２本の信号である。小振幅差動信号は、電源電圧より小さい振幅を有する差動信号である。例えば、小振幅差動信号セル１０１は、電源電圧が１．２Ｖであり、０．９Ｖ±０．２Ｖの小振幅差動信号を出力する。その小振幅差動信号は、直流成分レベルが０．９Ｖであり、振幅が±０．２Ｖであり、０．７Ｖ及び１．１Ｖの間で変化する信号である。
【００１９】
電源電圧レベル差動信号セル１０２は、入力用差動バッファ１１２を有し、電源電圧レベル差動信号を入力する。電源電圧レベル差動信号は、電源電圧の振幅を有する差動信号である。例えば、電源電圧レベル差動信号セル１０２は、電源電圧が１．２Ｖであり、電源電圧１．２Ｖ及び基準電位０Ｖの間で変化する差動信号を入力する。
【００２０】
本実施形態では、小振幅差動信号セル１０１及び電源電圧レベル差動信号セル１０２間に補間セルＡＡ１を挿入することにより、小振幅差動信号セル１０１及び電源電圧レベル差動信号セル１０２を接続可能にする。補間セルＡＡ１は、差動増幅器である。小振幅差動信号セル１０１は、小振幅差動信号を差動増幅器ＡＡ１に出力する。差動増幅器ＡＡ１は、小振幅差動信号セル１０１から小振幅差動信号を入力し、その小振幅差動信号（０．７Ｖ〜１．１Ｖ）を電源電圧レベル差動信号（０Ｖ〜１．２Ｖ）に増幅し、その電源電圧レベル差動信号を電源電圧レベル差動信号セル１０２に出力する。電源電圧レベル差動信号セル１０２は、差動増幅器ＡＡ１から電源電圧レベル差動信号を入力する。差動増幅器ＡＡ１は、小振幅差動信号の振幅及び直流成分レベルを変換して電源電圧レベル差動信号を生成、又は小振幅差動信号の振幅を変換して電源電圧レベル差動信号を生成する。
【００２１】
図２は、本実施形態による第２の設計方法を示す図である。電源電圧レベル差動信号セル２０１は、出力用差動バッファ２１１を有し、電源電圧レベル差動信号を出力する。例えば、電源電圧レベル差動信号セル２０１は、電源電圧が１．２Ｖであり、電源電圧１．２Ｖ及び基準電位０Ｖの間で変化する差動信号を出力する。
【００２２】
小振幅差動信号セル２０２は、入力用差動バッファ２１２を有し、小振幅差動信号を入力する。例えば、小振幅差動信号セル２０２は、電源電圧が１．２Ｖであり、０．８Ｖ±０．２Ｖの小振幅差動信号を出力する。その小振幅差動信号は、直流成分レベルが０．８Ｖであり、振幅が±０．２Ｖであり、０．６Ｖ及び１．０Ｖの間で変化する信号である。
【００２３】
本実施形態では、電源電圧レベル差動信号セル２０１及び小振幅差動信号セル２０２間に補間セルＡＡ２を挿入することにより、電源電圧レベル差動信号セル２０１及び小振幅差動信号セル２０２を接続可能にする。補間セルＡＡ２は、差動増幅器である。電源電圧レベル差動信号セル２０１は、電源電圧レベル差動信号を差動増幅器ＡＡ２に出力する。差動増幅器ＡＡ２は、電源電圧レベル差動信号セル２０１から電源電圧レベル差動信号を入力し、その電源電圧レベル差動信号（０Ｖ〜１．２Ｖ）を小振幅差動信号（０．６Ｖ〜１．０Ｖ）に増幅し、その小振幅差動信号を小振幅差動信号セル２０２に出力する。小振幅差動信号セル２０２は、差動増幅器ＡＡ２から小振幅差動信号を入力する。差動増幅器ＡＡ２は、電源電圧レベル差動信号の振幅及び直流成分レベルを変換して小振幅差動信号を生成、又は電源電圧レベル差動信号の振幅を変換して小振幅差動信号を生成する。
【００２４】
図３は、本実施形態による第３の設計方法を示す図である。差動信号セル３０１は、出力用差動バッファ３１１を有し、差動信号を出力する。差動信号セル３０１は、図１の小振幅差動信号セル１０１であってもよいし、図２の電源電圧レベル差動信号セル２０１であってもよい。シングルエンド信号セル３０２は、シングルエンド信号を入力する。シングルエンド信号は、基準電位（グランド）を基準とした１本の信号である。なお、電源電圧レベル差動信号の場合は上記の通りであり、小振幅差動信号の場合は小振幅差動信号を電源電圧レベル差動信号に増幅した後に、補間セルＢＢ１を挿入する必要がある。
【００２５】
本実施形態では、差動信号セル３０１及びシングルエンド信号セル３０２間に補間セルＢＢ１を挿入することにより、差動信号セル３０１及びシングルエンド信号セル３０２を接続可能にする。補間セルＢＢ１は、インバータ等の負荷である。差動信号セル３０１の差動信号の一方の線（正の差動信号線）にシングルエンド信号セル３０２のシングルエンド信号の線を接続し、他方の線（負の差動信号線）に負荷（インバータ）ＢＢ１を補間セルとして接続する。インバータＢＢ１は、入力端子が差動信号セル３０１の負の差動信号線に接続され、出力端子がオープンになる。インバータＢＢ１の出力信号は使用されない。
【００２６】
仮に、負荷ＢＢ１を設けずに、差動信号セル３０１の負の差動信号線をオープンにすると、差動信号セル３０１の正の差動信号線に負荷が存在し、負の差動信号線に負荷が存在しない状態になる。すると、正及び負の差動信号線の負荷が異なるために、正の差動信号に歪みが発生する。本実施形態のように負荷ＢＢ１を設けることにより、正の差動信号であるシングルエンド信号の歪みを防止することができる。以上のように、正の差動信号をシングルエンド信号として使用することにより、差動信号セル３０１及びシングルエンド信号セル３０２が接続可能になる。
【００２７】
図４は、本実施形態による第４の設計方法を示す図である。シングルエンド信号セル４０１は、シングルエンド信号を出力する。差動信号セル４０２は、入力用差動バッファ４１２を有し、差動信号を入力する。差動信号セル４０２は、図１の電源電圧レベル差動信号セル１０２であってもよいし、図２の小振幅差動信号セル２０２であってもよい。なお、電源電圧レベル差動信号の場合は上記の通りであり、小振幅差動信号の場合は補間セルＢＢ２を挿入した後に小振幅差動信号を電源電圧レベル差動信号に増幅する必要がある。
【００２８】
本実施形態では、シングルエンド信号セル４０１及び差動信号セル４０２間に補間セルＢＢ２を挿入することにより、シングルエンド信号セル４０１及び差動信号セル４０２を接続可能にする。補間セルＢＢ２は、インバータである。シングルエンド信号セル４０１のシングルエンド信号の線に差動信号セル４０２の差動信号の一方の線（正の差動信号線）を接続し、シングルエンド信号セル４０１のシングルエンド信号の線と差動信号セル４０２の差動信号の他方の線（負の差動信号線）との間にインバータＢＢ２を補間セルとして挿入する。
【００２９】
シングルエンド信号セル４０１が出力するシングルエンド信号は、クロック信号等のデジタル信号である。インバータＢＢ２は、そのシングルエンド信号を論理反転して出力する。シングルエンド信号及びその論理反転信号は、差動信号となり、差動信号セル４０２に入力される。以上のように、インバータＢＢ２を用いることにより、シングルエンド信号を差動信号に変換することができ、シングルエンド信号セル４０１及び差動信号セル４０２が接続可能になる。
【００３０】
図５は、本実施形態による第５の設計方法を示す図である。小振幅差動信号セル５０１は、出力用差動バッファ５１１を有し、第１の直流成分レベル（０．９Ｖ）の小振幅差動信号を出力する。例えば、小振幅差動信号セル５０１は、電源電圧が１．２Ｖであり、０．９Ｖ±０．２Ｖの小振幅差動信号を出力する。その小振幅差動信号は、直流成分レベルが０．９Ｖであり、振幅が±０．２Ｖであり、０．７Ｖ及び１．１Ｖの間で変化する信号である。
【００３１】
小振幅差動信号セル５０２は、入力用差動バッファ５１２を有し、第２の直流成分レベル（０．８Ｖ）の小振幅差動信号を出力する。例えば、小振幅差動信号セル５０２は、電源電圧が１．２Ｖであり、０．８Ｖ±０．２Ｖの小振幅差動信号を入力する。その小振幅差動信号は、直流成分レベルが０．８Ｖであり、振幅が±０．２Ｖであり、０．６Ｖ及び１．０Ｖの間で変化する信号である。
【００３２】
小振幅差動信号セル５０１が出力する小振幅差動信号と小振幅差動信号セル５０２が入力する小振幅差動信号とは、相互に、直流成分レベルが異なり、振幅が同じである。小振幅差動信号セル５０１及び５０２間には、差動信号の直流成分レベルを変換（シフト）するためのレベルシフタＣＣを補間セルとして挿入する。小振幅差動信号セル５０１は、０．９Ｖ±０．２Ｖの差動信号をレベルシフタＣＣに出力する。レベルシフタＣＣは、小振幅差動信号セル５０１が出力する差動信号（０．９Ｖ±０．２Ｖ）の直流成分レベルを０．９Ｖから０．８Ｖにシフトし、０．８Ｖ±０．２Ｖの小振幅差動信号を小振幅差動信号セル５０２に出力する。小振幅差動信号セル５０２は、０．８Ｖ±０．２Ｖの小振幅差動信号を入力する。以上のように、レベルシフタＣＣにより差動信号の直流成分レベルをシフトすることにより、相互に直流成分レベルが異なる小振幅信号セル５０１及び５０２が接続可能になる。
【００３３】
（第２の実施形態）
図６は、本発明の第２の実施形態による設計装置の構成例を示すハードウエア図である。この設計装置は、コンピュータで構成することができ、第１の実施形態による設計方法の処理を行う。
【００３４】
バス６０１には、中央処理装置（ＣＰＵ）６０２、ＲＯＭ６０３、ＲＡＭ６０４、ネットワークインタフェース６０５、入力装置６０６、出力装置６０７及び外部記憶装置６０８が接続されている。
【００３５】
ＣＰＵ６０２は、データの処理又は演算を行うと共に、バス６０１を介して接続された各種構成要素を制御するものである。ＲＯＭ６０３には、予めＣＰＵ６０２の制御手順（コンピュータプログラム）を記憶させておき、このコンピュータプログラムをＣＰＵ６０２が実行することにより、起動する。外部記憶装置６０８にコンピュータプログラムが記憶されており、そのコンピュータプログラムがＲＡＭ６０４にコピーされてＣＰＵ６０２により実行される。ＲＡＭ６０４は、データの入出力、送受信のためのワークメモリ、各構成要素の制御のための一時記憶として用いられる。外部記憶装置６０８は、例えばハードディスク記憶装置やＣＤ−ＲＯＭ等であり、電源を切っても記憶内容が消えない。外部記憶装置６０８には、ライブラリ、設計データ等が記憶される。ＣＰＵ６０２は、ＲＡＭ６０４内のコンピュータプログラムを実行することにより、後述する図８〜図１０の処理を行う。
【００３６】
ネットワークインタフェース６０５は、ネットワークに接続するためのインタフェースである。入力装置６０６は、例えばキーボード及びマウス等であり、各種指定又は入力等を行うことができる。出力装置６０７は、ディスプレイ及びプリンタ等である。
【００３７】
図７は、本実施形態の設計対象である半導体集積回路の例を示す図である。半導体集積回路は、例えば、第１のセル７０１及び第２のセル７０２を有する。第１のセル７０１は、２個の端子（ピン）ＰＡ及びＰＢを有する。第２のセル７０２は、２個の端子（ピン）ＰＣ及びＰＤを有する。ノード（接続線）ｎｅｔｉは、第１のセル７０１の端子ＰＡ及び第２のセル７０２の端子ＰＣを接続する。ノード（接続線）ｎｅｔｊは、第１のセル７０１の端子ＰＢ及び第２のセル７０２の端子ＰＤを接続する。セル７０１及び７０２は、図１〜図５のセル１０１，１０２，２０１，２０２，３０１，３０２，４０１，４０２，５０１又は５０２に対応する。セル７０１又は７０２は、シングルエンド信号セルの場合には１個の端子を有することになる。本実施形態の設計装置は、後述する図８及び図９の処理を行うことにより、第１の実施形態のように、所定の条件を満たす場合に、セル７０１及び７０２間に補間セルを挿入する。
【００３８】
ＣＰＵ（論理合成部）６０２は、相互に接続された第１のセル７０１及び第２のセル７０２のネットリスト設計データを生成する。また、ＣＰＵ（補間セル挿入部）６０２は、第１のセル７０１が差動信号セルであるときには、第１のセル７０１及び第２のセル７０２間に補間セルを挿入するネットリスト設計データを生成する。
【００３９】
図８は、図６の設計装置による半導体集積回路の設計方法の処理例を示すフローチャートである。上記のように、図６のＣＰＵ６０２が以下の処理を行う。本実施形態により設計する回路はデジタル回路が好ましい。
【００４０】
ステップＳ８０１では、ＲＴＬ（レジスタ転送レベル）設計データを基に回路構造を解析する。
【００４１】
ライブラリ８１１は、電源電圧レベル差動信号を入力又は出力する電源電圧レベル差動信号セルのネットリスト設計データを生成するための電源電圧レベル差動信号ライブラリであり、図１の電源電圧レベル差動信号セル１０２及び図２の電源電圧レベル差動信号セル２０１の設計データを含む。
【００４２】
ライブラリ８１２は、小振幅差動信号を入力又は出力する小振幅差動信号セルのネットリスト設計データを生成するための小振幅差動信号ライブラリであり、図１の小振幅差動信号セル１０１及び図２の小振幅差動信号セル２０２の設計データを含む。
【００４３】
ライブラリ８１１及び８１２は、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリである。
【００４４】
ライブラリ８１３は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリであり、図１１のライブラリ１１１１及び１１１２を含む。ライブラリ８１３は、例えば図３のシングルエンド信号セル３０２及び図４のシングルエンド信号セル４０１の設計データを含む。
【００４５】
ライブラリ８１１〜８１３は、それぞれ電源電圧及び／又はトランジスタの閾値電圧Ｖｔｈ等により複数のライブラリを含む。外部記憶装置（記憶部）６０８は、ライブラリ８１１〜８１３を記憶する。
【００４６】
ステップＳ８０２では、電源電圧及び／又はトランジスタの閾値電圧Ｖｔｈ等により異なる複数のライブラリ８１１〜８１３から、所定のライブラリを選択し、そのライブラリの情報をＲＡＭ６０４に記憶する。
【００４７】
次に、ステップＳ８０３では、ＣＰＵ（論理合成部）６０２は、選択されたライブラリ８１１〜８１３を用いて、ＲＴＬ設計データを基に論理合成を行い、差動信号セル又はシングルエンド信号セルのネットリスト設計データ８０４を生成し、ネットリスト設計データ８０４を外部記憶装置６０８に記録する。差動信号セルのネットリスト設計データ８０４は、差動信号ライブラリ８１１又は８１２を用いて生成される。シングルエンド信号セルのネットリスト設計データ８０４は、シングルエンド信号ライブラリ８１３を用いて生成される。
【００４８】
次に、ステップＳ８０５では、ＣＰＵ（補間挿入部）６０２は、補間セル挿入処理を行う。その詳細は、後に図９を参照しながら説明する。
【００４９】
次に、ステップＳ８０６では、ＣＰＵ（タイミング解析部）６０２は、補間セル挿入処理後のネットリスト設計データを基にタイミング解析を行う。
【００５０】
次に、ステップＳ８０７では、上記のタイミング解析によりタイミング検証合格の場合には、そのネットリスト設計データ８０８を外部記憶装置６０８に記録し、処理を終了する。上記のタイミング解析によりタイミング検証不合格の場合には、ステップＳ８０９へ進む。
【００５１】
ステップＳ８０９では、上記の選択したライブラリを変更するか否かを判断する。変更しないと判断された場合には、ステップＳ８０３に戻り、同じライブラリ内の他のセルを用いて論理合成をやり直す。変更すると判断された場合には、ステップＳ８１０へ進む。
【００５２】
ステップＳ８１０では、ステップＳ８０２で選択したライブラリを選択候補から除外し、ステップＳ８０２へ戻り、他のライブラリを選択し、論理合成をやり直す。
【００５３】
図９は、図８のステップＳ８０５の補間セル挿入処理の詳細を示すフローチャートである。ステップＳ９０１では、半導体集積回路のノードｎｅｔｉ又はｎｅｔｊの中の１つを選択し、その情報をＲＡＭ６０４に記憶する。
【００５４】
次に、ステップＳ９０２では、選択したノードｎｅｔｉ又はｎｅｔｊに接続されているセル７０１又は７０２を抽出する。
【００５５】
次に、ステップＳ９０３では、抽出したセル７０１又は７０２のセル名称を基にライブラリを特定する。セル名称は、ライブラリ８１１〜８１３毎に異なる名称が使用される。複数のライブラリ８１１〜８１３において、同じセル名称が使用されることはない。したがって、１個のセル名称に対しては、１個のライブラリのみが特定される。
【００５６】
次に、ステップＳ９０４では、特定されたライブラリを基に上記のセルが差動信号セルであるか否かを判断する。特定されたライブラリが差動信号ライブラリ８１１又は８１２である場合には、上記のセルが差動信号セルであると判断する。これに対し、特定されたライブラリがシングルエンド信号ライブラリ８１３である場合には、上記のセルは差動信号セルではなく、シングルエンド信号セルであると判断する。上記のセルが差動信号セルである場合には、ステップＳ９０５〜Ｓ９１０をパラレル又はシリアルに処理する。これらの処理順序に制限はない。上記のセルが差動信号セルでない場合には、ステップＳ９１１へ進む。
【００５７】
以上のように、ＣＰＵ（補間セル挿入部）６０２は、セルのセル名称を基にそのセルが差動信号セルか否かを判断する。具体的には、ＣＰＵ（補間セル挿入部）６０２は、セルのセル名称が含まれるライブラリを特定し、前記特定されたライブラリが差動信号ライブラリ８１１又は８１２であるときには、そのセルが差動信号セルであると判断する。
【００５８】
ステップＳ９０５では、図３又は図４のように、シングルエンド信号セル及び差動信号セル間の接続があるか否かをチェックする。そのような接続がある場合にはステップＳ９０６へ進み、そのような接続がない場合にはステップＳ９１１へ進む。
【００５９】
ステップＳ９０６では、シングルエンド信号セル及び差動信号セル間に補間セルＢＢ１又はＢＢ２を挿入するネットリスト設計データを生成し、ステップＳ９１１へ進む。
【００６０】
すなわち、ＣＰＵ（補間セル挿入部）６０２は、第１のセル７０１が差動信号セルであり、かつ第２のセル７０２がシングルエンド信号セルであるときには、第１のセル７０１及び第２のセル７０２間に補間セルＢＢ１又はＢＢ２を挿入するネットリスト設計データを生成する。
【００６１】
具体的には、ＣＰＵ（補間セル挿入部）６０２は、図３のように、第１のセル３０１が差動信号を出力し、かつ第２のセル３０２がシングルエンド信号を入力するときには、第１のセル３０１の差動信号の一方の線に第２のセル３０２のシングルエンド信号の線を接続し、他方の線に負荷（インバータ）ＢＢ１を補間セルとして接続するネットリスト設計データを生成する。
【００６２】
また、ＣＰＵ（補間セル挿入部）６０２は、図４のように、第２のセル４０１がシングルエンド信号を出力し、かつ第１のセル４０２が差動信号を入力するときには、第２のセル４０１のシングルエンド信号の線に第１のセル４０２の差動信号の一方の線を接続し、第２のセル４０１のシングルエンド信号の線と第１のセル４０２の差動信号の他方の線との間にインバータＢＢ２を補間セルとして挿入するネットリスト設計データを生成する。
【００６３】
ステップＳ９０７では、図１又は図２のように、小振幅差動信号セル及び電源電圧レベル差動信号セル間の接続があるか否かをチェックする。そのような接続がある場合にはステップＳ９０８へ進み、そのような接続がない場合にはステップＳ９１１へ進む。
【００６４】
ステップＳ９０８では、小振幅差動信号セル及び電源電圧レベル差動信号セル間に補間セルＡＡ１又はＡＡ２を挿入するネットリスト設計データを生成し、ステップＳ９１１へ進む。
【００６５】
ＣＰＵ（補間セル挿入部）６０２は、第１のセル７０１及び第２のセル７０２が差動信号セルであり、かつ第１のセル７０１が入力又は出力する差動信号と第２のセル７０２が入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路（差動増幅器）ＡＡ１又はＡＡ２を補間セルとして挿入するネットリスト設計データを生成する。差動増幅器ＡＡ１又はＡＡ２は、差動信号の振幅及び直流成分レベルを変換するようにしてもよい。
【００６６】
ステップＳ９０９では、図５のように、異なる直流成分レベル（直流電圧レベル）の小振幅差動信号セル間の接続があるか否かをチェックする。そのような接続がある場合にはステップＳ９１０へ進み、そのような接続がない場合にはステップＳ９１１へ進む。
【００６７】
ステップＳ９１０では、その小振幅差動信号セル間に補間セルＣＣを挿入するネットリスト設計データを生成し、ステップＳ９１１へ進む。
【００６８】
ＣＰＵ（補間セル挿入部）６０２は、図５のように、第１のセル５０１及び第２のセル５０２が差動信号セルであり、かつ第１のセル５０１が入力又は出力する差動信号と第２のセル５０２が入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタＣＣを補間セルとして挿入するネットリスト設計データを生成する。
【００６９】
ステップＳ９１１では、ステップＳ９０１で選択したノードを選択候補から除外し、ステップＳ９１２へ進む。ステップＳ９１２では、半導体集積回路内の全てのノードが選択済みか否かをチェックする。選択済みであれば処理を終了し、選択済みでなければステップＳ９０１に戻り、他のノードについての処理を繰り返す。
【００７０】
（第３の実施形態）
図１０は、本発明の第３の実施形態による設計方法の処理例を示すフローチャートであり、図８のステップＳ８０５の補間セル挿入処理の詳細を示すフローチャートである。以下、本実施形態が第２の実施形態と異なる点を説明する。図１０は、図９に対して、ステップＳ９０２及びＳ９０３の代わりにステップＳ１００２及びＳ１００３を設けたものである。
【００７１】
ステップＳ９０１では、半導体集積回路のノードｎｅｔｉ又はｎｅｔｊの中の１つを選択し、その情報をＲＡＭ６０４に記憶する。
【００７２】
次に、ステップＳ１００２では、選択したノードｎｅｔｉ又はｎｅｔｊに接続されているセルの端子ＰＡ，ＰＢ，ＰＣ又はＰＤを抽出する。
【００７３】
次に、ステップＳ１００３では、抽出した端子の端子名称を基にライブラリを特定する。端子名称は、ライブラリ８１１〜８１３毎に異なる名称が使用される。複数のライブラリ８１１〜８１３において、同じ端子名称が使用されることはない。したがって、１個の端子名称に対しては、１個のライブラリのみが特定される。
【００７４】
次に、ステップＳ９０４では、特定されたライブラリを基に上記のセルが差動信号セルであるか否かを判断する。特定されたライブラリが差動信号ライブラリ８１１又は８１２である場合には、上記のセルが差動信号セルであると判断する。これに対し、特定されたライブラリがシングルエンド信号ライブラリ８１３である場合には、上記のセルは差動信号セルではなく、シングルエンド信号セルであると判断する。上記のセルが差動信号セルである場合には、ステップＳ９０５〜Ｓ９１０をパラレル又はシリアルに処理する。上記のセルが差動信号セルでない場合には、ステップＳ９１１へ進む。その後の処理は、第２の実施形態と同じである。
【００７５】
以上のように、ＣＰＵ（補間セル挿入部）６０２は、セルの端子名称を基にそのセルが差動信号セルか否かを判断する。具体的には、ＣＰＵ（補間セル挿入部）６０２は、セルの端子名称が含まれるライブラリを特定し、前記特定されたライブラリが差動信号ライブラリ８１１又は８１２であるときには、そのセルが差動信号セルであると判断する。
【００７６】
ライブラリ内の設計データでは、セルよりも端子の方がノードの近くに記述されている。したがって、ノードを選択した後、そのノードに接続されているセルを探索するよりも、そのノードに接続されている端子を探索する方が探索時間が短くてすむ。本実施形態は、第２の実施形態に対して、処理時間を短くすることができる。
【００７７】
以上のように、第１〜第３の実施形態によれば、差動信号を用いた回路設計を自動で行うことができる。また、ＲＴＬ（レジスタ転送レベル）設計データを基に論理合成するので、差動信号を用いたデジタル回路設計を効率的に行うことができる。
【００７８】
補間セルを用いることにより、振幅が異なる差動信号セル間の接続処理の自動化、差動信号セル及びシングルエンド信号セル間の接続処理の自動化、又は異なる直流成分レベルの差動信号セル間の接続処理の自動化を行うことができる。また、さらに、クロストーク等の他からの干渉を回避した自動レイアウト処理を行うようにしてもよい。
【００７９】
本実施形態は、図６のコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８０】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００８１】
本発明の実施形態は、例えば以下のように種々の適用が可能である。
【００８２】
（付記１）
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、
前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部と
を有することを特徴とする設計装置。
（付記２）
前記論理合成部は、相互に接続された第１のセル及び第２のセルのネットリスト設計データを生成し、
さらに、前記第１のセルが差動信号セルであるときには、前記第１のセル及び前記第２のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入部を有することを特徴とする付記１記載の設計装置。
（付記３）
前記補間セル挿入部は、前記第１のセル及び前記第２のセルが差動信号セルであり、かつ前記第１のセルが入力又は出力する差動信号と前記第２のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を補間セルとして挿入するネットリスト設計データを生成することを特徴とする付記２記載の設計装置。
（付記４）
前記振幅変換回路は、差動増幅器であることを特徴とする付記３記載の設計装置。
（付記５）
前記補間セル挿入部は、前記第１のセルが差動信号セルであり、かつ前記第２のセルがシングルエンド信号を入力又は出力するシングルエンド信号セルであるときには、前記第１のセル及び前記第２のセル間に補間セルを挿入するネットリスト設計データを生成することを特徴とする付記２記載の設計装置。
（付記６）
前記補間セル挿入部は、前記第１のセルが差動信号を出力し、かつ前記第２のセルがシングルエンド信号を入力するときには、前記第１のセルの差動信号の一方の線に前記第２のセルのシングルエンド信号の線を接続し、他方の線に負荷を補間セルとして接続するネットリスト設計データを生成することを特徴とする付記５記載の設計装置。
（付記７）
前記負荷は、インバータであることを特徴とする付記６記載の設計装置。
（付記８）
前記補間セル挿入部は、前記第２のセルがシングルエンド信号を出力し、かつ前記第１のセルが差動信号を入力するときには、前記第２のセルのシングルエンド信号の線に前記第１のセルの差動信号の一方の線を接続し、前記第２のセルのシングルエンド信号の線と前記第１のセルの差動信号の他方の線との間にインバータを補間セルとして挿入するネットリスト設計データを生成することを特徴とする付記５記載の設計装置。
（付記９）
前記補間セル挿入部は、前記第１のセル及び前記第２のセルが差動信号セルであり、かつ前記第１のセルが入力又は出力する差動信号と前記第２のセルが入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタを補間セルとして挿入するネットリスト設計データを生成することを特徴とする付記２記載の設計装置。
（付記１０）
前記補間セル挿入部は、前記第１のセルのセル名称を基に前記第１のセルが差動信号セルか否かを判断することを特徴とする付記２記載の設計装置。
（付記１１）
前記補間セル挿入部は、前記第１のセルのセル名称が含まれるライブラリを特定し、前記特定されたライブラリが前記差動信号ライブラリであるときには、前記第１のセルが差動信号セルであると判断することを特徴とする付記１０記載の設計装置。
（付記１２）
前記補間セル挿入部は、前記第１のセルの端子名称を基に前記第１のセルが差動信号セルか否かを判断することを特徴とする付記２記載の設計装置。
（付記１３）
前記補間セル挿入部は、前記第１のセルの端子名称が含まれるライブラリを特定し、前記特定されたライブラリが前記差動信号ライブラリであるときには、前記第１のセルが差動信号セルであると判断することを特徴とする付記１２記載の設計装置。
（付記１４）
前記記憶部は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリを記憶し、
前記論理合成部は、前記差動信号ライブラリ及び前記シングルエンド信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号セル及びシングルエンド信号セルのネットリスト設計データを生成することを特徴とする付記１記載の設計装置。
（付記１５）
さらに、前記ネットリスト設計データを基にタイミング解析を行うタイミング解析部を有することを特徴とする付記１記載の設計装置。
（付記１６）
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを有することを特徴とする設計方法。
（付記１７）
前記論理合成ステップは、相互に接続された第１のセル及び第２のセルのネットリスト設計データを生成し、
さらに、前記第１のセルが差動信号セルであるときには、前記第１のセル及び前記第２のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入ステップを有することを特徴とする付記１６記載の設計方法。
（付記１８）
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部を用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップをコンピュータに実行させるためのプログラム。
（付記１９）
前記論理合成ステップは、相互に接続された第１のセル及び第２のセルのネットリスト設計データを生成し、
さらに、前記第１のセルが差動信号セルであるときには、前記第１のセル及び前記第２のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入ステップをコンピュータに実行させるための付記１８記載のプログラム。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施形態による第１の設計方法を示す図である。
【図２】第１の実施形態による第２の設計方法を示す図である。
【図３】第１の実施形態による第３の設計方法を示す図である。
【図４】第１の実施形態による第４の設計方法を示す図である。
【図５】第１の実施形態による第５の設計方法を示す図である。
【図６】本発明の第２の実施形態による設計装置の構成例を示すハードウエア図である。
【図７】第２の実施形態の設計対象である半導体集積回路の例を示す図である。
【図８】第２の実施形態による半導体集積回路の設計方法の処理例を示すフローチャートである。
【図９】図８の補間セル挿入処理の詳細を示すフローチャートである。
【図１０】本発明の第３の実施形態による設計方法の処理例を示すフローチャートである。
【図１１】デジタル回路の設計方法の処理を示すフローチャートである。
【符号の説明】
【００８４】
６０１  バス
６０２  ＣＰＵ
６０３  ＲＯＭ
６０４  ＲＡＭ
６０５  ネットワークインタフェース
６０６  入力装置
６０７  出力装置
６０８  外部記憶装置
８０４，８０８  ネットリスト設計データ
８１１  電源電圧レベル差動信号ライブラリ
８１２  小振幅差動信号ライブラリ
８１３  シングルエンド信号ライブラリ
【図１】
2008204176.tif 000003
【図２】
2008204176.tif 000004
【図３】
2008204176.tif 000005
【図４】
2008204176.tif 000006
【図５】
2008204176.tif 000007
【図６】
2008204176.tif 000008
【図７】
2008204176.tif 000009
【図８】
2008204176.tif 000010
【図９】
2008204176.tif 000011
【図１０】
2008204176.tif 000012
【図１１】
2008204176.tif 000013