JP4946497B2 - 設計装置、設計方法及びプログラム - Google Patents

設計装置、設計方法及びプログラム Download PDF

Info

Publication number
JP4946497B2
JP4946497B2 JP2007039617A JP2007039617A JP4946497B2 JP 4946497 B2 JP4946497 B2 JP 4946497B2 JP 2007039617 A JP2007039617 A JP 2007039617A JP 2007039617 A JP2007039617 A JP 2007039617A JP 4946497 B2 JP4946497 B2 JP 4946497B2
Authority
JP
Japan
Prior art keywords
cell
differential signal
design data
netlist
generating
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.)
Expired - Fee Related
Application number
JP2007039617A
Other languages
English (en)
Other versions
JP2008204176A (ja
Inventor
幸治 右田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007039617A priority Critical patent/JP4946497B2/ja
Priority to US12/032,347 priority patent/US7831952B2/en
Publication of JP2008204176A publication Critical patent/JP2008204176A/ja
Application granted granted Critical
Publication of JP4946497B2 publication Critical patent/JP4946497B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、設計装置、設計方法及びプログラムに関する。
図11は、デジタル回路の設計方法の処理を示すフローチャートである。ステップS1101では、RTL(レジスタ転送レベル)設計データを基にデジタル回路構造を解析する。
ライブラリ1111及び1112は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリである。シングルエンド信号は、基準電位(グランド)を基準とした1本の信号である。ライブラリ1111は、トランジスタの閾値電圧Vthが異なる複数のセルのライブラリからなる。ライブラリ1112は、電源電圧の異なる複数のセルのライブラリからなる。電源電圧及びトランジスタの閾値電圧Vthにより、異なるライブラリが用意されている。
ステップS1102では、電源電圧及び/又はトランジスタの閾値電圧Vthにより異なる複数のライブラリ1111,1112から、所定のライブラリを選択し、そのライブラリの情報を記憶する。
次に、ステップS1103では、選択されたライブラリ1111又は1112を用いて、RTL設計データを基に論理合成を行い、シングルエンド信号セルのネットリスト設計データ1104を生成する。
次に、ステップS1105では、ネットリスト設計データ1104を基にタイミング解析を行う。
次に、ステップS1106では、上記のタイミング解析によりタイミング検証合格の場合には、そのネットリスト設計データ1107を記憶部に記録し、処理を終了する。上記のタイミング解析によりタイミング検証不合格の場合には、ステップS1108へ進む。
ステップS1108では、上記の選択したライブラリを変更するか否かを判断する。変更しないと判断された場合には、ステップS1103に戻り、同じライブラリ内の他のセルを用いて論理合成をやり直す。変更すると判断された場合には、ステップS1109へ進む。
ステップS1109では、ステップS1102で選択したライブラリを選択候補から除外し、ステップS1102へ戻り、他のライブラリを選択し、論理合成をやり直す。
下記の特許文献1には、ロジック部の出力回路部を表すデジタル出力セルを対応するアナログ回路部に配置し、ロジック部を疑似的に含む検証用アナログ回路部を作成し、この検証用アナログ回路部の動作をアナログ解析ツールにより検証するデジタル・アナログ混載チップ設計方法が記載されている。
特開2005−149012号公報
アナログ回路においては、高速動作のためにクロック信号には小振幅差動信号を用いている。アナログ回路では、マニュアルで設計を行っている。これに対し、デジタル回路においては、動作周波数が低い場合には、差動信号を使用せずに、シングルエンド信号を使用すれば十分である。したがって、デジタル回路では、図11に示したように、シングルエンド信号ライブラリ1111及び1112を基にシングルエンド信号セルのみを設計している。すなわち、差動信号を対象にした論理合成は行っていない。デジタル回路の動作周波数が高い場合には、クロストーク等の他からの干渉を考慮するため、マニュアルで設計を行っている。
回路の高速化に伴い、デジタル回路においても、信号の小振幅差動化による高速化の需要は高まっている。そして、デジタル回路設計であることから、RTL設計データからの論理合成によって小振幅差動信号が扱えるようになるのが望ましい。
また、アナログ設計はマニュアルで実施しているが、差動信号とシングルエンド信号との変換や、小振幅差動信号の動作電圧帯の変換といった工程は、小振幅差動信号を扱う以上不可避である。
本発明の目的は、差動信号を用いた回路設計を自動で行うことができる設計装置、設計方法及びプログラムを提供することである。
本発明の一観点によれば、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部とを有し、前記論理合成部は、相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、さらに、前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に振幅変換回路を挿入するネットリスト設計データを生成する挿入部を有し、前記挿入部は、前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を挿入するネットリスト設計データを生成することを特徴とする設計装置が提供される。
差動信号を用いた回路設計を自動で行うことができる。また、レジスタ転送レベル設計データを基に論理合成するので、差動信号を用いたデジタル回路設計を効率的に行うことができる。
(第1の実施形態)
図1は、本発明の第1の実施形態による第1の設計方法を示す図である。小振幅差動信号セル101は、出力用差動バッファ111を有し、小振幅差動信号を出力する。差動信号は、相互に位相が反転した2本の信号である。小振幅差動信号は、電源電圧より小さい振幅を有する差動信号である。例えば、小振幅差動信号セル101は、電源電圧が1.2Vであり、0.9V±0.2Vの小振幅差動信号を出力する。その小振幅差動信号は、直流成分レベルが0.9Vであり、振幅が±0.2Vであり、0.7V及び1.1Vの間で変化する信号である。
電源電圧レベル差動信号セル102は、入力用差動バッファ112を有し、電源電圧レベル差動信号を入力する。電源電圧レベル差動信号は、電源電圧の振幅を有する差動信号である。例えば、電源電圧レベル差動信号セル102は、電源電圧が1.2Vであり、電源電圧1.2V及び基準電位0Vの間で変化する差動信号を入力する。
本実施形態では、小振幅差動信号セル101及び電源電圧レベル差動信号セル102間に補間セルAA1を挿入することにより、小振幅差動信号セル101及び電源電圧レベル差動信号セル102を接続可能にする。補間セルAA1は、差動増幅器である。小振幅差動信号セル101は、小振幅差動信号を差動増幅器AA1に出力する。差動増幅器AA1は、小振幅差動信号セル101から小振幅差動信号を入力し、その小振幅差動信号(0.7V〜1.1V)を電源電圧レベル差動信号(0V〜1.2V)に増幅し、その電源電圧レベル差動信号を電源電圧レベル差動信号セル102に出力する。電源電圧レベル差動信号セル102は、差動増幅器AA1から電源電圧レベル差動信号を入力する。差動増幅器AA1は、小振幅差動信号の振幅及び直流成分レベルを変換して電源電圧レベル差動信号を生成、又は小振幅差動信号の振幅を変換して電源電圧レベル差動信号を生成する。
図2は、本実施形態による第2の設計方法を示す図である。電源電圧レベル差動信号セル201は、出力用差動バッファ211を有し、電源電圧レベル差動信号を出力する。例えば、電源電圧レベル差動信号セル201は、電源電圧が1.2Vであり、電源電圧1.2V及び基準電位0Vの間で変化する差動信号を出力する。
小振幅差動信号セル202は、入力用差動バッファ212を有し、小振幅差動信号を入力する。例えば、小振幅差動信号セル202は、電源電圧が1.2Vであり、0.8V±0.2Vの小振幅差動信号を出力する。その小振幅差動信号は、直流成分レベルが0.8Vであり、振幅が±0.2Vであり、0.6V及び1.0Vの間で変化する信号である。
本実施形態では、電源電圧レベル差動信号セル201及び小振幅差動信号セル202間に補間セルAA2を挿入することにより、電源電圧レベル差動信号セル201及び小振幅差動信号セル202を接続可能にする。補間セルAA2は、差動増幅器である。電源電圧レベル差動信号セル201は、電源電圧レベル差動信号を差動増幅器AA2に出力する。差動増幅器AA2は、電源電圧レベル差動信号セル201から電源電圧レベル差動信号を入力し、その電源電圧レベル差動信号(0V〜1.2V)を小振幅差動信号(0.6V〜1.0V)に増幅し、その小振幅差動信号を小振幅差動信号セル202に出力する。小振幅差動信号セル202は、差動増幅器AA2から小振幅差動信号を入力する。差動増幅器AA2は、電源電圧レベル差動信号の振幅及び直流成分レベルを変換して小振幅差動信号を生成、又は電源電圧レベル差動信号の振幅を変換して小振幅差動信号を生成する。
図3は、本実施形態による第3の設計方法を示す図である。差動信号セル301は、出力用差動バッファ311を有し、差動信号を出力する。差動信号セル301は、図1の小振幅差動信号セル101であってもよいし、図2の電源電圧レベル差動信号セル201であってもよい。シングルエンド信号セル302は、シングルエンド信号を入力する。シングルエンド信号は、基準電位(グランド)を基準とした1本の信号である。なお、電源電圧レベル差動信号の場合は上記の通りであり、小振幅差動信号の場合は小振幅差動信号を電源電圧レベル差動信号に増幅した後に、補間セルBB1を挿入する必要がある。
本実施形態では、差動信号セル301及びシングルエンド信号セル302間に補間セルBB1を挿入することにより、差動信号セル301及びシングルエンド信号セル302を接続可能にする。補間セルBB1は、インバータ等の負荷である。差動信号セル301の差動信号の一方の線(正の差動信号線)にシングルエンド信号セル302のシングルエンド信号の線を接続し、他方の線(負の差動信号線)に負荷(インバータ)BB1を補間セルとして接続する。インバータBB1は、入力端子が差動信号セル301の負の差動信号線に接続され、出力端子がオープンになる。インバータBB1の出力信号は使用されない。
仮に、負荷BB1を設けずに、差動信号セル301の負の差動信号線をオープンにすると、差動信号セル301の正の差動信号線に負荷が存在し、負の差動信号線に負荷が存在しない状態になる。すると、正及び負の差動信号線の負荷が異なるために、正の差動信号に歪みが発生する。本実施形態のように負荷BB1を設けることにより、正の差動信号であるシングルエンド信号の歪みを防止することができる。以上のように、正の差動信号をシングルエンド信号として使用することにより、差動信号セル301及びシングルエンド信号セル302が接続可能になる。
図4は、本実施形態による第4の設計方法を示す図である。シングルエンド信号セル401は、シングルエンド信号を出力する。差動信号セル402は、入力用差動バッファ412を有し、差動信号を入力する。差動信号セル402は、図1の電源電圧レベル差動信号セル102であってもよいし、図2の小振幅差動信号セル202であってもよい。なお、電源電圧レベル差動信号の場合は上記の通りであり、小振幅差動信号の場合は補間セルBB2を挿入した後に小振幅差動信号を電源電圧レベル差動信号に増幅する必要がある。
本実施形態では、シングルエンド信号セル401及び差動信号セル402間に補間セルBB2を挿入することにより、シングルエンド信号セル401及び差動信号セル402を接続可能にする。補間セルBB2は、インバータである。シングルエンド信号セル401のシングルエンド信号の線に差動信号セル402の差動信号の一方の線(正の差動信号線)を接続し、シングルエンド信号セル401のシングルエンド信号の線と差動信号セル402の差動信号の他方の線(負の差動信号線)との間にインバータBB2を補間セルとして挿入する。
シングルエンド信号セル401が出力するシングルエンド信号は、クロック信号等のデジタル信号である。インバータBB2は、そのシングルエンド信号を論理反転して出力する。シングルエンド信号及びその論理反転信号は、差動信号となり、差動信号セル402に入力される。以上のように、インバータBB2を用いることにより、シングルエンド信号を差動信号に変換することができ、シングルエンド信号セル401及び差動信号セル402が接続可能になる。
図5は、本実施形態による第5の設計方法を示す図である。小振幅差動信号セル501は、出力用差動バッファ511を有し、第1の直流成分レベル(0.9V)の小振幅差動信号を出力する。例えば、小振幅差動信号セル501は、電源電圧が1.2Vであり、0.9V±0.2Vの小振幅差動信号を出力する。その小振幅差動信号は、直流成分レベルが0.9Vであり、振幅が±0.2Vであり、0.7V及び1.1Vの間で変化する信号である。
小振幅差動信号セル502は、入力用差動バッファ512を有し、第2の直流成分レベル(0.8V)の小振幅差動信号を出力する。例えば、小振幅差動信号セル502は、電源電圧が1.2Vであり、0.8V±0.2Vの小振幅差動信号を入力する。その小振幅差動信号は、直流成分レベルが0.8Vであり、振幅が±0.2Vであり、0.6V及び1.0Vの間で変化する信号である。
小振幅差動信号セル501が出力する小振幅差動信号と小振幅差動信号セル502が入力する小振幅差動信号とは、相互に、直流成分レベルが異なり、振幅が同じである。小振幅差動信号セル501及び502間には、差動信号の直流成分レベルを変換(シフト)するためのレベルシフタCCを補間セルとして挿入する。小振幅差動信号セル501は、0.9V±0.2Vの差動信号をレベルシフタCCに出力する。レベルシフタCCは、小振幅差動信号セル501が出力する差動信号(0.9V±0.2V)の直流成分レベルを0.9Vから0.8Vにシフトし、0.8V±0.2Vの小振幅差動信号を小振幅差動信号セル502に出力する。小振幅差動信号セル502は、0.8V±0.2Vの小振幅差動信号を入力する。以上のように、レベルシフタCCにより差動信号の直流成分レベルをシフトすることにより、相互に直流成分レベルが異なる小振幅信号セル501及び502が接続可能になる。
(第2の実施形態)
図6は、本発明の第2の実施形態による設計装置の構成例を示すハードウエア図である。この設計装置は、コンピュータで構成することができ、第1の実施形態による設計方法の処理を行う。
バス601には、中央処理装置(CPU)602、ROM603、RAM604、ネットワークインタフェース605、入力装置606、出力装置607及び外部記憶装置608が接続されている。
CPU602は、データの処理又は演算を行うと共に、バス601を介して接続された各種構成要素を制御するものである。ROM603には、予めCPU602の制御手順(コンピュータプログラム)を記憶させておき、このコンピュータプログラムをCPU602が実行することにより、起動する。外部記憶装置608にコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM604にコピーされてCPU602により実行される。RAM604は、データの入出力、送受信のためのワークメモリ、各構成要素の制御のための一時記憶として用いられる。外部記憶装置608は、例えばハードディスク記憶装置やCD−ROM等であり、電源を切っても記憶内容が消えない。外部記憶装置608には、ライブラリ、設計データ等が記憶される。CPU602は、RAM604内のコンピュータプログラムを実行することにより、後述する図8〜図10の処理を行う。
ネットワークインタフェース605は、ネットワークに接続するためのインタフェースである。入力装置606は、例えばキーボード及びマウス等であり、各種指定又は入力等を行うことができる。出力装置607は、ディスプレイ及びプリンタ等である。
図7は、本実施形態の設計対象である半導体集積回路の例を示す図である。半導体集積回路は、例えば、第1のセル701及び第2のセル702を有する。第1のセル701は、2個の端子(ピン)PA及びPBを有する。第2のセル702は、2個の端子(ピン)PC及びPDを有する。ノード(接続線)netiは、第1のセル701の端子PA及び第2のセル702の端子PCを接続する。ノード(接続線)netjは、第1のセル701の端子PB及び第2のセル702の端子PDを接続する。セル701及び702は、図1〜図5のセル101,102,201,202,301,302,401,402,501又は502に対応する。セル701又は702は、シングルエンド信号セルの場合には1個の端子を有することになる。本実施形態の設計装置は、後述する図8及び図9の処理を行うことにより、第1の実施形態のように、所定の条件を満たす場合に、セル701及び702間に補間セルを挿入する。
CPU(論理合成部)602は、相互に接続された第1のセル701及び第2のセル702のネットリスト設計データを生成する。また、CPU(補間セル挿入部)602は、第1のセル701が差動信号セルであるときには、第1のセル701及び第2のセル702間に補間セルを挿入するネットリスト設計データを生成する。
図8は、図6の設計装置による半導体集積回路の設計方法の処理例を示すフローチャートである。上記のように、図6のCPU602が以下の処理を行う。本実施形態により設計する回路はデジタル回路が好ましい。
ステップS801では、RTL(レジスタ転送レベル)設計データを基に回路構造を解析する。
ライブラリ811は、電源電圧レベル差動信号を入力又は出力する電源電圧レベル差動信号セルのネットリスト設計データを生成するための電源電圧レベル差動信号ライブラリであり、図1の電源電圧レベル差動信号セル102及び図2の電源電圧レベル差動信号セル201の設計データを含む。
ライブラリ812は、小振幅差動信号を入力又は出力する小振幅差動信号セルのネットリスト設計データを生成するための小振幅差動信号ライブラリであり、図1の小振幅差動信号セル101及び図2の小振幅差動信号セル202の設計データを含む。
ライブラリ811及び812は、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリである。
ライブラリ813は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリであり、図11のライブラリ1111及び1112を含む。ライブラリ813は、例えば図3のシングルエンド信号セル302及び図4のシングルエンド信号セル401の設計データを含む。
ライブラリ811〜813は、それぞれ電源電圧及び/又はトランジスタの閾値電圧Vth等により複数のライブラリを含む。外部記憶装置(記憶部)608は、ライブラリ811〜813を記憶する。
ステップS802では、電源電圧及び/又はトランジスタの閾値電圧Vth等により異なる複数のライブラリ811〜813から、所定のライブラリを選択し、そのライブラリの情報をRAM604に記憶する。
次に、ステップS803では、CPU(論理合成部)602は、選択されたライブラリ811〜813を用いて、RTL設計データを基に論理合成を行い、差動信号セル又はシングルエンド信号セルのネットリスト設計データ804を生成し、ネットリスト設計データ804を外部記憶装置608に記録する。差動信号セルのネットリスト設計データ804は、差動信号ライブラリ811又は812を用いて生成される。シングルエンド信号セルのネットリスト設計データ804は、シングルエンド信号ライブラリ813を用いて生成される。
次に、ステップS805では、CPU(補間挿入部)602は、補間セル挿入処理を行う。その詳細は、後に図9を参照しながら説明する。
次に、ステップS806では、CPU(タイミング解析部)602は、補間セル挿入処理後のネットリスト設計データを基にタイミング解析を行う。
次に、ステップS807では、上記のタイミング解析によりタイミング検証合格の場合には、そのネットリスト設計データ808を外部記憶装置608に記録し、処理を終了する。上記のタイミング解析によりタイミング検証不合格の場合には、ステップS809へ進む。
ステップS809では、上記の選択したライブラリを変更するか否かを判断する。変更しないと判断された場合には、ステップS803に戻り、同じライブラリ内の他のセルを用いて論理合成をやり直す。変更すると判断された場合には、ステップS810へ進む。
ステップS810では、ステップS802で選択したライブラリを選択候補から除外し、ステップS802へ戻り、他のライブラリを選択し、論理合成をやり直す。
図9は、図8のステップS805の補間セル挿入処理の詳細を示すフローチャートである。ステップS901では、半導体集積回路のノードneti又はnetjの中の1つを選択し、その情報をRAM604に記憶する。
次に、ステップS902では、選択したノードneti又はnetjに接続されているセル701又は702を抽出する。
次に、ステップS903では、抽出したセル701又は702のセル名称を基にライブラリを特定する。セル名称は、ライブラリ811〜813毎に異なる名称が使用される。複数のライブラリ811〜813において、同じセル名称が使用されることはない。したがって、1個のセル名称に対しては、1個のライブラリのみが特定される。
次に、ステップS904では、特定されたライブラリを基に上記のセルが差動信号セルであるか否かを判断する。特定されたライブラリが差動信号ライブラリ811又は812である場合には、上記のセルが差動信号セルであると判断する。これに対し、特定されたライブラリがシングルエンド信号ライブラリ813である場合には、上記のセルは差動信号セルではなく、シングルエンド信号セルであると判断する。上記のセルが差動信号セルである場合には、ステップS905〜S910をパラレル又はシリアルに処理する。これらの処理順序に制限はない。上記のセルが差動信号セルでない場合には、ステップS911へ進む。
以上のように、CPU(補間セル挿入部)602は、セルのセル名称を基にそのセルが差動信号セルか否かを判断する。具体的には、CPU(補間セル挿入部)602は、セルのセル名称が含まれるライブラリを特定し、前記特定されたライブラリが差動信号ライブラリ811又は812であるときには、そのセルが差動信号セルであると判断する。
ステップS905では、図3又は図4のように、シングルエンド信号セル及び差動信号セル間の接続があるか否かをチェックする。そのような接続がある場合にはステップS906へ進み、そのような接続がない場合にはステップS911へ進む。
ステップS906では、シングルエンド信号セル及び差動信号セル間に補間セルBB1又はBB2を挿入するネットリスト設計データを生成し、ステップS911へ進む。
すなわち、CPU(補間セル挿入部)602は、第1のセル701が差動信号セルであり、かつ第2のセル702がシングルエンド信号セルであるときには、第1のセル701及び第2のセル702間に補間セルBB1又はBB2を挿入するネットリスト設計データを生成する。
具体的には、CPU(補間セル挿入部)602は、図3のように、第1のセル301が差動信号を出力し、かつ第2のセル302がシングルエンド信号を入力するときには、第1のセル301の差動信号の一方の線に第2のセル302のシングルエンド信号の線を接続し、他方の線に負荷(インバータ)BB1を補間セルとして接続するネットリスト設計データを生成する。
また、CPU(補間セル挿入部)602は、図4のように、第2のセル401がシングルエンド信号を出力し、かつ第1のセル402が差動信号を入力するときには、第2のセル401のシングルエンド信号の線に第1のセル402の差動信号の一方の線を接続し、第2のセル401のシングルエンド信号の線と第1のセル402の差動信号の他方の線との間にインバータBB2を補間セルとして挿入するネットリスト設計データを生成する。
ステップS907では、図1又は図2のように、小振幅差動信号セル及び電源電圧レベル差動信号セル間の接続があるか否かをチェックする。そのような接続がある場合にはステップS908へ進み、そのような接続がない場合にはステップS911へ進む。
ステップS908では、小振幅差動信号セル及び電源電圧レベル差動信号セル間に補間セルAA1又はAA2を挿入するネットリスト設計データを生成し、ステップS911へ進む。
CPU(補間セル挿入部)602は、第1のセル701及び第2のセル702が差動信号セルであり、かつ第1のセル701が入力又は出力する差動信号と第2のセル702が入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路(差動増幅器)AA1又はAA2を補間セルとして挿入するネットリスト設計データを生成する。差動増幅器AA1又はAA2は、差動信号の振幅及び直流成分レベルを変換するようにしてもよい。
ステップS909では、図5のように、異なる直流成分レベル(直流電圧レベル)の小振幅差動信号セル間の接続があるか否かをチェックする。そのような接続がある場合にはステップS910へ進み、そのような接続がない場合にはステップS911へ進む。
ステップS910では、その小振幅差動信号セル間に補間セルCCを挿入するネットリスト設計データを生成し、ステップS911へ進む。
CPU(補間セル挿入部)602は、図5のように、第1のセル501及び第2のセル502が差動信号セルであり、かつ第1のセル501が入力又は出力する差動信号と第2のセル502が入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタCCを補間セルとして挿入するネットリスト設計データを生成する。
ステップS911では、ステップS901で選択したノードを選択候補から除外し、ステップS912へ進む。ステップS912では、半導体集積回路内の全てのノードが選択済みか否かをチェックする。選択済みであれば処理を終了し、選択済みでなければステップS901に戻り、他のノードについての処理を繰り返す。
(第3の実施形態)
図10は、本発明の第3の実施形態による設計方法の処理例を示すフローチャートであり、図8のステップS805の補間セル挿入処理の詳細を示すフローチャートである。以下、本実施形態が第2の実施形態と異なる点を説明する。図10は、図9に対して、ステップS902及びS903の代わりにステップS1002及びS1003を設けたものである。
ステップS901では、半導体集積回路のノードneti又はnetjの中の1つを選択し、その情報をRAM604に記憶する。
次に、ステップS1002では、選択したノードneti又はnetjに接続されているセルの端子PA,PB,PC又はPDを抽出する。
次に、ステップS1003では、抽出した端子の端子名称を基にライブラリを特定する。端子名称は、ライブラリ811〜813毎に異なる名称が使用される。複数のライブラリ811〜813において、同じ端子名称が使用されることはない。したがって、1個の端子名称に対しては、1個のライブラリのみが特定される。
次に、ステップS904では、特定されたライブラリを基に上記のセルが差動信号セルであるか否かを判断する。特定されたライブラリが差動信号ライブラリ811又は812である場合には、上記のセルが差動信号セルであると判断する。これに対し、特定されたライブラリがシングルエンド信号ライブラリ813である場合には、上記のセルは差動信号セルではなく、シングルエンド信号セルであると判断する。上記のセルが差動信号セルである場合には、ステップS905〜S910をパラレル又はシリアルに処理する。上記のセルが差動信号セルでない場合には、ステップS911へ進む。その後の処理は、第2の実施形態と同じである。
以上のように、CPU(補間セル挿入部)602は、セルの端子名称を基にそのセルが差動信号セルか否かを判断する。具体的には、CPU(補間セル挿入部)602は、セルの端子名称が含まれるライブラリを特定し、前記特定されたライブラリが差動信号ライブラリ811又は812であるときには、そのセルが差動信号セルであると判断する。
ライブラリ内の設計データでは、セルよりも端子の方がノードの近くに記述されている。したがって、ノードを選択した後、そのノードに接続されているセルを探索するよりも、そのノードに接続されている端子を探索する方が探索時間が短くてすむ。本実施形態は、第2の実施形態に対して、処理時間を短くすることができる。
以上のように、第1〜第3の実施形態によれば、差動信号を用いた回路設計を自動で行うことができる。また、RTL(レジスタ転送レベル)設計データを基に論理合成するので、差動信号を用いたデジタル回路設計を効率的に行うことができる。
補間セルを用いることにより、振幅が異なる差動信号セル間の接続処理の自動化、差動信号セル及びシングルエンド信号セル間の接続処理の自動化、又は異なる直流成分レベルの差動信号セル間の接続処理の自動化を行うことができる。また、さらに、クロストーク等の他からの干渉を回避した自動レイアウト処理を行うようにしてもよい。
本実施形態は、図6のコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態は、例えば以下のように種々の適用が可能である。
(付記1)
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、
前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部と
を有することを特徴とする設計装置。
(付記2)
前記論理合成部は、相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
さらに、前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入部を有することを特徴とする付記1記載の設計装置。
(付記3)
前記補間セル挿入部は、前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を補間セルとして挿入するネットリスト設計データを生成することを特徴とする付記2記載の設計装置。
(付記4)
前記振幅変換回路は、差動増幅器であることを特徴とする付記3記載の設計装置。
(付記5)
前記補間セル挿入部は、前記第1のセルが差動信号セルであり、かつ前記第2のセルがシングルエンド信号を入力又は出力するシングルエンド信号セルであるときには、前記第1のセル及び前記第2のセル間に補間セルを挿入するネットリスト設計データを生成することを特徴とする付記2記載の設計装置。
(付記6)
前記補間セル挿入部は、前記第1のセルが差動信号を出力し、かつ前記第2のセルがシングルエンド信号を入力するときには、前記第1のセルの差動信号の一方の線に前記第2のセルのシングルエンド信号の線を接続し、他方の線に負荷を補間セルとして接続するネットリスト設計データを生成することを特徴とする付記5記載の設計装置。
(付記7)
前記負荷は、インバータであることを特徴とする付記6記載の設計装置。
(付記8)
前記補間セル挿入部は、前記第2のセルがシングルエンド信号を出力し、かつ前記第1のセルが差動信号を入力するときには、前記第2のセルのシングルエンド信号の線に前記第1のセルの差動信号の一方の線を接続し、前記第2のセルのシングルエンド信号の線と前記第1のセルの差動信号の他方の線との間にインバータを補間セルとして挿入するネットリスト設計データを生成することを特徴とする付記5記載の設計装置。
(付記9)
前記補間セル挿入部は、前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタを補間セルとして挿入するネットリスト設計データを生成することを特徴とする付記2記載の設計装置。
(付記10)
前記補間セル挿入部は、前記第1のセルのセル名称を基に前記第1のセルが差動信号セルか否かを判断することを特徴とする付記2記載の設計装置。
(付記11)
前記補間セル挿入部は、前記第1のセルのセル名称が含まれるライブラリを特定し、前記特定されたライブラリが前記差動信号ライブラリであるときには、前記第1のセルが差動信号セルであると判断することを特徴とする付記10記載の設計装置。
(付記12)
前記補間セル挿入部は、前記第1のセルの端子名称を基に前記第1のセルが差動信号セルか否かを判断することを特徴とする付記2記載の設計装置。
(付記13)
前記補間セル挿入部は、前記第1のセルの端子名称が含まれるライブラリを特定し、前記特定されたライブラリが前記差動信号ライブラリであるときには、前記第1のセルが差動信号セルであると判断することを特徴とする付記12記載の設計装置。
(付記14)
前記記憶部は、シングルエンド信号を入力又は出力するシングルエンド信号セルのネットリスト設計データを生成するためのシングルエンド信号ライブラリを記憶し、
前記論理合成部は、前記差動信号ライブラリ及び前記シングルエンド信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号セル及びシングルエンド信号セルのネットリスト設計データを生成することを特徴とする付記1記載の設計装置。
(付記15)
さらに、前記ネットリスト設計データを基にタイミング解析を行うタイミング解析部を有することを特徴とする付記1記載の設計装置。
(付記16)
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを有することを特徴とする設計方法。
(付記17)
前記論理合成ステップは、相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
さらに、前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入ステップを有することを特徴とする付記16記載の設計方法。
(付記18)
差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部を用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップをコンピュータに実行させるためのプログラム。
(付記19)
前記論理合成ステップは、相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
さらに、前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に補間セルを挿入するネットリスト設計データを生成する補間セル挿入ステップをコンピュータに実行させるための付記18記載のプログラム。
本発明の第1の実施形態による第1の設計方法を示す図である。 第1の実施形態による第2の設計方法を示す図である。 第1の実施形態による第3の設計方法を示す図である。 第1の実施形態による第4の設計方法を示す図である。 第1の実施形態による第5の設計方法を示す図である。 本発明の第2の実施形態による設計装置の構成例を示すハードウエア図である。 第2の実施形態の設計対象である半導体集積回路の例を示す図である。 第2の実施形態による半導体集積回路の設計方法の処理例を示すフローチャートである。 図8の補間セル挿入処理の詳細を示すフローチャートである。 本発明の第3の実施形態による設計方法の処理例を示すフローチャートである。 デジタル回路の設計方法の処理を示すフローチャートである。
符号の説明
601 バス
602 CPU
603 ROM
604 RAM
605 ネットワークインタフェース
606 入力装置
607 出力装置
608 外部記憶装置
804,808 ネットリスト設計データ
811 電源電圧レベル差動信号ライブラリ
812 小振幅差動信号ライブラリ
813 シングルエンド信号ライブラリ

Claims (8)

  1. 差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、
    前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部と
    を有し、
    前記論理合成部は、相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
    さらに、前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に振幅変換回路を挿入するネットリスト設計データを生成する挿入部を有し、
    記挿入部は、前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を挿入するネットリスト設計データを生成すること
    を特徴とする設計装置。
  2. 差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部と、
    前記差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成部と
    を有し、
    前記論理合成部は、相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
    さらに、前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間にレベルシフタを挿入するネットリスト設計データを生成する挿入部を有し、
    記挿入部は、前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタを挿入するネットリスト設計データを生成すること
    を特徴とする設計装置。
  3. 記挿入部は、前記第1のセルのセル名称を基に前記第1のセルが差動信号セルか否かを判断すること
    を特徴とする請求項1又は2記載の設計装置。
  4. 記挿入部は、前記第1のセルの端子名称を基に前記第1のセルが差動信号セルか否かを判断すること
    を特徴とする請求項1又は2記載の設計装置。
  5. コンピュータが、記憶部に記憶された、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを実行し、
    前記論理合成ステップは、前記コンピュータが、
    相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
    前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に振幅変換回路を挿入するネットリスト設計データを生成し、
    前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を挿入するネットリスト設計データを生成すること
    を特徴とする設計方法。
  6. 差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部にアクセス可能なコンピュータに、前記記憶部に記憶した前記差動信号ライブラリ及びレジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを実行させるプログラムであって、
    前記論理合成ステップは、
    相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
    前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間に振幅変換回路を挿入するネットリスト設計データを生成し、
    前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる振幅の信号であるときには、差動信号の振幅を変換するための振幅変換回路を挿入するネットリスト設計データを生成すること
    を特徴とするプログラム。
  7. コンピュータが、記憶部に記憶された、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを用いて、レジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを実行し、
    前記論理合成ステップは、前記コンピュータが、
    相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
    前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間にレベルシフタを挿入するネットリスト設計データを生成し、
    前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタを挿入するネットリスト設計データを生成すること
    を特徴とする設計方法。
  8. 差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成するための差動信号ライブラリを記憶する記憶部にアクセス可能なコンピュータに、前記記憶部に記憶した前記差動信号ライブラリ及びレジスタ転送レベル設計データを基に論理合成を行い、差動信号を入力又は出力する差動信号セルのネットリスト設計データを生成する論理合成ステップを実行させるプログラムであって、
    前記論理合成ステップは、
    相互に接続された第1のセル及び第2のセルのネットリスト設計データを生成し、
    前記第1のセルが差動信号セルであるときには、前記第1のセル及び前記第2のセル間にレベルシフタを挿入するネットリスト設計データを生成し、
    前記第1のセル及び前記第2のセルが差動信号セルであり、かつ前記第1のセルが入力又は出力する差動信号と前記第2のセルが入力又は出力する差動信号とが異なる直流成分レベルであるときには、差動信号の直流成分レベルを変換するためのレベルシフタを挿入するネットリスト設計データを生成すること
    を特徴とするプログラム。
JP2007039617A 2007-02-20 2007-02-20 設計装置、設計方法及びプログラム Expired - Fee Related JP4946497B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007039617A JP4946497B2 (ja) 2007-02-20 2007-02-20 設計装置、設計方法及びプログラム
US12/032,347 US7831952B2 (en) 2007-02-20 2008-02-15 Designing apparatus, designing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007039617A JP4946497B2 (ja) 2007-02-20 2007-02-20 設計装置、設計方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008204176A JP2008204176A (ja) 2008-09-04
JP4946497B2 true JP4946497B2 (ja) 2012-06-06

Family

ID=39707725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007039617A Expired - Fee Related JP4946497B2 (ja) 2007-02-20 2007-02-20 設計装置、設計方法及びプログラム

Country Status (2)

Country Link
US (1) US7831952B2 (ja)
JP (1) JP4946497B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586046A (en) * 1994-10-28 1996-12-17 Motorola, Inc. Computer implemented method for generating an integrated circuit design
US20040153982A1 (en) * 2003-01-27 2004-08-05 Pengfei Zhang Signal flow driven circuit analysis and partition technique
JP2005149012A (ja) 2003-11-13 2005-06-09 Toppan Printing Co Ltd デジタル・アナログ混載チップ設計方法、装置及びプログラム
WO2005081085A2 (en) * 2004-02-13 2005-09-01 The Regents Of The University Of California Logic system for dpa and/or side channel attack resistance
US7102380B2 (en) * 2004-07-07 2006-09-05 Kao Richard F C High speed integrated circuit
JP2006092072A (ja) * 2004-09-22 2006-04-06 Fujitsu Ltd 回路機能検証方法
JP2006185168A (ja) * 2004-12-27 2006-07-13 Toshiba Information Systems (Japan) Corp Lsi設計支援システム、lsi設計支援方法およびlsi設計支援プログラム

Also Published As

Publication number Publication date
US20080201680A1 (en) 2008-08-21
US7831952B2 (en) 2010-11-09
JP2008204176A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
US9647660B1 (en) Apparatus and method for universal high range level shifting
US10586006B2 (en) Build synthesized soft arrays
JP6453732B2 (ja) 半導体集積回路
TWI528720B (zh) 用於低擺時脈之免競爭位準轉換正反器
US20110295536A1 (en) Clock jitter analyzing method and apparatus
US8669800B2 (en) Implementing power saving self powering down latch structure
JP4946497B2 (ja) 設計装置、設計方法及びプログラム
KR20230154171A (ko) 멀티플렉서 기능을 가지는 d 플립-플롭
CN114567298B (zh) 具有多路选择器功能的反相d触发器
US8106798B2 (en) Circuit and method for parallel to serial conversion
CN110708043B (zh) 动态触发器和动态触发器的与数据无关的p堆叠反馈电路
CN114567299A (zh) 具有多路选择器功能的反相锁存器
US7345496B2 (en) Semiconductor apparatus and test execution method for semiconductor apparatus
CN108053856B (zh) 读写sram的电路及sram数据访问方法
US8037337B2 (en) Structures including circuits for noise reduction in digital systems
JP2005277909A (ja) 論理回路設計システム、論理回路、論理回路設計方法およびそのプログラム
JP2011094986A (ja) 半導体集積回路、半導体集積回路設計方法、スキャンテストパタン生成方法及びそのプログラム
CN114567295B (zh) 具有多路选择器功能的混合相位锁存器
CN114567301B (zh) 具有多路选择器功能的混合相位d触发器
Zhu et al. Application of surrogate modeling to generate compact and PVT-sensitive IBIS models
JP2003345849A (ja) 論理シミュレーション方法および装置
JP2006113796A (ja) シミュレーション方法
CN111083308A (zh) 一种实现FPGA硬件资源的多相位选择training方法
JP4640077B2 (ja) 検査信号生成装置及び半導体検査装置
JP2023128232A (ja) 処理方法、非同期式回路、および論理回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees