JP2010277230A - 半導体集積回路の設計装置 - Google Patents

半導体集積回路の設計装置 Download PDF

Info

Publication number
JP2010277230A
JP2010277230A JP2009127468A JP2009127468A JP2010277230A JP 2010277230 A JP2010277230 A JP 2010277230A JP 2009127468 A JP2009127468 A JP 2009127468A JP 2009127468 A JP2009127468 A JP 2009127468A JP 2010277230 A JP2010277230 A JP 2010277230A
Authority
JP
Japan
Prior art keywords
circuit
insertion location
register
information
synchronization
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.)
Abandoned
Application number
JP2009127468A
Other languages
English (en)
Inventor
Yukio Kawasaki
崎 幸 雄 川
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009127468A priority Critical patent/JP2010277230A/ja
Priority to US12/724,251 priority patent/US20100306725A1/en
Publication of JP2010277230A publication Critical patent/JP2010277230A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • 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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)

Abstract

【課題】同期化回路の挿入及び最適化を自動化する。
【解決手段】半導体集積回路設計装置は、半導体集積回路の回路記述データ、クロックドメイン情報、及び未同期化箇所情報から、同期化設計が必要なインターフェイスを構成する送信レジスタ及び受信レジスタを特定するインターフェイス回路情報抽出部111と、受信レジスタの各々について、データの供給源となる送信レジスタの個数である供給源個数を特定し、供給源個数に基づいて、同期化回路の挿入箇所候補を特定する挿入箇所候補特定部112と、送信レジスタの各々について、データの出力先となる受信レジスタの個数である出力先個数を特定し、出力先個数と挿入箇所候補情報とに基づいて、同期化回路の挿入箇所を特定する挿入箇所特定部113と、挿入箇所に同期化回路が挿入された半導体集積回路の回路記述データを作成する同期化回路挿入部114とを備える。
【選択図】図1

Description

本発明は、半導体集積回路の設計装置に関し、例えば、同期化回路の挿入及び最適化を自動化する設計装置に使用されるものである。
SoC(System on Chip)設計では、個別に設計された多数の機能ブロックが、1チップ上に組み込まれる。そのため、SoC設計のLSI(大規模集積回路)には、多数のクロックドメインが存在する。このようなLSIを設計する際、設計者は、異なるクロックドメイン間でデータ転送を行うために必要な同期化設計を、手作業で行っている。
複数のクロックドメインを有するLSIにおいて、クロック周波数の異なるクロックドメイン間でデータ転送が行われる場合には、メタスタビリティ対策として、クロックドメインの境界に同期化回路を挿入する必要がある。しかしながら、データ受信側のクロックドメイン内に、複数の同期化回路の出力信号を受け取る論理回路が存在する場合がある。このような論理回路に入力される複数の出力信号には、同期化回路間の出力タイミング差により、信号間で1サイクルのタイミング差が生じる場合がある。このようなタイミング差は、論理回路の動作不良を引き起こす可能性がある。このような動作不良に関する問題は、リコンバージェンス問題と呼ばれる。よって、リコンバージェンス問題を回避しながらメタスタビリティ対策を行うことが可能な手法が待望される。
リコンバージェンス問題への対策としては、グレイエンコーダ/グレイデコーダ回路やFIFO回路を、LSIに追加するという手法が知られている。しかしながら、この手法では、これらの回路の追加に伴うLSIの回路規模の増大や、これらの回路の追加作業に起因する設計者リソースの増大が問題となる。
なお、特許文献1には、検証対象の論理回路記述情報と、一対のクロックドメインのうちの一方のクロックドメインの2以上のレジスタとに基づいて、他方のクロックドメインにおいて収斂する再収斂レジスタ(リコンバージェンスレジスタ)を検出する検出支援装置が記載されている。特許文献1に記載の検出支援装置によれば、再収斂回路が存在することを前提に、再収斂回路の動作検証工程を効率化することが可能になる。
特開2006−252438号公報
本発明は、リコンバージェンス問題を回避しながらメタスタビリティ対策を行うことが可能な半導体集積回路の設計装置を提供することを課題とする。
本発明の一の態様は例えば、半導体集積回路の回路記述データ、前記半導体集積回路のクロックドメインに関する情報であるクロックドメイン情報、及び前記半導体集積回路における同期化設計の未対応箇所を示す未同期化箇所情報から、同期化設計が必要なインターフェイスを構成する送信レジスタ及び受信レジスタを特定し、前記送信レジスタと前記受信レジスタとの間の回路接続情報であるインターフェイス回路情報を抽出するインターフェイス回路情報抽出部と、前記インターフェイス回路情報から、前記受信レジスタの各々について、データの供給源となる前記送信レジスタの個数である供給源個数を特定し、前記供給源個数に基づいて、同期化回路を挿入する箇所の候補である挿入箇所候補を特定し、前記挿入箇所候補を示す挿入箇所候補情報を作成する挿入箇所候補特定部と、前記送信レジスタの各々について、データの出力先となる前記受信レジスタの個数である出力先個数を特定し、前記出力先個数と前記挿入箇所候補情報とに基づいて、前記同期化回路を挿入する箇所である挿入箇所を特定し、前記挿入箇所を示す挿入箇所情報を作成する挿入箇所特定部と、前記挿入箇所情報と、前記同期化回路の回路記述データとを利用して、前記挿入個所に前記同期化回路を挿入し、前記挿入箇所に前記同期化回路が挿入された前記半導体集積回路の回路記述データを作成する同期化回路挿入部と、を備えることを特徴とする半導体集積回路の設計装置である。
本発明によれば、リコンバージェンス問題を回避しながらメタスタビリティ対策を行うことが可能な半導体集積回路の設計装置を提供することが可能になる。
本発明の一実施形態のLSI設計装置の構成を示すブロック図である。 インターフェイス回路情報抽出部による処理について説明するための回路図である。 挿入箇所候補特定部による処理について説明するための回路図である。 挿入箇所特定部による処理について説明するための回路図である。 同期化回路挿入部による処理について説明するための回路図である。
本発明の実施形態を、図面に基づいて説明する。
図1は、本発明の一実施形態のLSI設計装置の構成を示すブロック図である。図1のLSI設計装置は、本発明の半導体集積回路の設計装置の例である。
図1のLSI設計装置には、同期化設計の対象となるLSIの回路記述データ101が入力される。回路記述データ101は例えば、レジスタ・トランスファー・レベルで記述された回路記述データである。
図1のLSI設計装置には更に、設計者が記述したクロックドメイン情報102が入力される。クロックドメイン情報102は、上記のLSIのクロックドメインに関する情報である。クロックドメイン情報102には例えば、外部クロック端子名や、PLL(位相同期ループ)のようなクロック供給源となる回路の端子名や、同期/非同期を区別するための識別子としてのクロックドメイン名等が含まれる。
図1のLSI設計装置には更に、未同期化箇所情報103が入力される。未同期化箇所情報103は、上記のLSIにおける同期化設計の未対応箇所を示す情報であり、同期化設計が行われていない箇所を示している。
また、図1のLSI設計装置は、インターフェイス回路情報抽出部111と、挿入箇所候補特定部112と、挿入箇所特定部113と、同期化回路挿入部114とを備える。
インターフェイス回路情報抽出部111は、回路記述データ101、クロックドメイン情報102、及び未同期化箇所情報103を利用して、上記のLSIに含まれるクロックドメインを解析し、異なるクロックドメイン間のインターフェイスのうち、同期化設計が必要なインターフェイスを特定するブロックである。インターフェイス回路情報抽出部111は、回路記述データ101、クロックドメイン情報102、及び未同期化箇所情報103から、同期化設定が必要なインターフェイスとして、同期化設定が行われていないインターフェイスを特定する。
詳細には、インターフェイス回路情報抽出部111は、上記インターフェイスを構成する送信レジスタ及び受信レジスタを特定する。送信レジスタは、上記インターフェイスを構成する他の回路に、データを送り出すレジスタである。受信レジスタは、上記インターフェイスを構成する他の回路から、データを受け取るレジスタである。
そして、インターフェイス回路情報抽出部111は、送信レジスタ及び受信レジスタの特定結果に基づいて、上記のLSI内の回路同士の接続関係に関する情報である回路接続情報を解析する。これにより、特定された送信レジスタと受信レジスタとの間の回路接続情報であるインターフェイス回路情報121が抽出される。抽出されたインターフェイス回路情報121は、図1に示すように、インターフェイス回路情報121用のデータベースに格納される。
挿入箇所候補特定部112は、インターフェイス回路情報121から、上記の受信レジスタの各々について、Fan-In数を特定するブロックである。Fan-In数は、受信レジスタへのデータの供給源となる送信レジスタの個数であり、本発明の供給源個数の例である。
そして、挿入箇所候補特定部112は、特定されたFan-In数に基づいて、同期化回路を挿入する箇所の候補である挿入箇所候補を特定し、挿入箇所候補を示す挿入箇所候補情報122を作成する。作成された挿入箇所候補情報122は、図1に示すように、挿入箇所候補情報122用のデータベースに格納される。
挿入箇所特定部113は、上記の送信レジスタの各々について、Fan-Out数を特定するブロックである。Fan-Out数は、送信レジスタからのデータの出力先となる受信レジスタの個数であり、本発明の出力先個数の例である。
そして、挿入箇所特定部113は、特定されたFan-Out数と、挿入箇所候補情報122とに基づいて、同期化回路を挿入する箇所である挿入箇所を特定し、挿入箇所を示す挿入箇所情報123を作成する。別言すると、挿入箇所特定部123は、挿入箇所候補の見直しを行い、挿入箇所候補の一部を削除するなどして、挿入箇所の絞り込みを行う。作成された挿入箇所情報123は、図1に示すように、挿入箇所情報123用のデータベースに格納される。
同期化回路挿入部114は、挿入箇所情報123と、予め用意された同期化回路の回路記述データ124とを利用して、挿入箇所に同期化回路を挿入するブロックである。
これにより、同期化回路挿入部114は、上記のLSIの回路記述データ101から、挿入箇所に同期化回路が挿入された上記のLSIの回路記述データ125(同期化対策済み回路記述データ)を作成する。作成された回路記述データ125は、図1に示すように、回路記述データ125用のデータベースに格納される。
以下、インターフェイス回路情報抽出部111、挿入箇所候補特定部112、挿入箇所特定部113、及び同期化回路挿入部114による処理について、より詳細に説明する。
図2は、インターフェイス回路情報抽出部111による処理について説明するための回路図である。
上述のように、インターフェイス回路情報抽出部111は、回路記述データ101、クロックドメイン情報102、及び未同期化箇所情報103から、同期化設定が必要なインターフェイスを構成する送信レジスタ及び受信レジスタを特定する。
図2には、同期化設計が必要なインターフェイスの一例が示されている。図2は、上記のLSIの構成を示す回路図となっており、図2には、クロック周波数の異なる第1のクロックドメイン201と第2のクロックドメイン202との間のインターフェイスが示されている。
図2には更に、当該インターフェイスを構成するレジスタとして、第1のクロックドメイン201内の送信レジスタFF1〜FF3と、第2のクロックドメイン202内の受信レジスタFF4〜FF6が示されている。送信レジスタは、当該インターフェイスを構成する他の回路に、データを送り出すレジスタであり、受信レジスタは、当該インターフェイスを構成する他の回路から、データを受け取るレジスタである。図2では、これらのレジスタは、フリップフロップ回路となっている。図2には更に、当該インターフェイスを構成する回路として、第2のクロックドメイン202内のバッファ回路B1,B2、及び論理回路211が示されている。
また、図2には更に、送信レジスタFF1〜FF3、受信レジスタFF4〜FF6、バッファ回路B1,B2、及び論理回路211間の接続関係が示されている。これらの接続関係は、上記のLSI内の回路同士の接続関係に関する情報である回路接続情報から抽出され、インターフェイス回路情報121としてデータベースに格納される。
インターフェイス回路情報抽出部111による処理によれば、回路記述データ101、クロックドメイン情報102、及び未同期化箇所情報103から、図2に示す送信レジスタFF1〜FF3及び受信レジスタFF4〜FF6が特定され、図2に示す回路(インターフェイス回路)に関するインターフェイス回路情報121が抽出される。
以下、インターフェイス回路情報抽出部111による処理について、図2に基づいて説明する。
インターフェイス回路情報抽出部111は、設計者により回路記述データ101、クロックドメイン情報102、及び未同期化箇所情報103が入力されると、最初に、LSI中の各レジスタのクロックドメインを特定する。インターフェイス回路情報抽出部111は例えば、各レジスタのクロック端子から、外部端子やPLLのようなブラックボックス回路の端子まで、クロック接続経路のバックトレースを行う。そして、辿りついた外部端子名やブラックボックス回路の端子名と、設計者が与えたクロックドメイン情報102とを比較することで、各レジスタが属するクロックドメインのクロックドメイン名を特定する。そして、各レジスタに、特定されたクロックドメイン名を付与する。
次に、インターフェイス回路情報抽出部111は、回路記述データ101から、レジスタ−レジスタ間の接続関係に関する回路接続情報を抽出し、回路接続情報が抽出された1対のレジスタに関し、クロックドメイン情報の比較を行う。これらのレジスタが異なるクロックドメイン名を持つ場合、インターフェイス回路情報抽出部111は、設計者が与えた未同期化箇所情報103を参照する。そして、これらのレジスタのレジスタ名や、これらのレジスタ間の配線名から、これらのレジスタ間で同期化設計がなされているかどうかを特定する。
インターフェイス回路情報抽出部111は、これらのレジスタ間で同期化設計がなされていない場合には、これらのレジスタを同期化設計の処理対象とすべく、これらのレジスタ間の接続経路の抽出を行う。
同様に、インターフェイス回路情報抽出部111は、異なるクロックドメイン同士の境界において、まだ同期化設計されていない箇所を特定する。これにより、例えば、図2に示す送信レジスタFF1〜FF3や受信レジスタFF4〜FF6が特定され、図2に示すインターフェイス回路に関するインターフェイス回路情報121が抽出される。抽出されたインターフェイス回路情報121は、データベースに格納される。
図3は、挿入箇所候補特定部112による処理について説明するための回路図である。図3は、図2と同様、上記のLSIの構成を示す回路図となっている。
まず、挿入箇所候補特定部112は、インターフェイス回路情報121から、各受信レジスタのFan-In数を特定する。Fan-In数は、データの供給源となる送信レジスタの個数である。例えば、FF4はFF1のみからデータが入力され、FF6はFF2のみからデータが入力されるため、FF4及びFF6のFan-In数は「1」である。一方、FF5はFF2とFF3からデータが入力されるため、FF5のFan-In数は「2」である。挿入箇所候補特定部112は例えば、各受信レジスタのデータ入力端子から送信レジスタのデータ出力端子まで回路接続経路のバックトレースを行い、辿りついた送信レジスタのデータ出力端子数により、各受信レジスタのFan-In数を特定する。
次に、挿入箇所候補特定部112は、特定されたFan-In数に基づいて、リコンバージェンス問題を回避できるように同期化回路の挿入箇所候補を特定する。図3において、論理回路211は、複数の送信レジスタFF2及びFF3から複数の出力信号を受信する。従来のようにクロックドメイン境界上に同期化回路を挿入した場合、これらの信号には、信号間で1サイクルのタイミング差が生じる場合があり、このようなタイミング差は、論理回路211の動作不良を引き起こす可能性がある。即ち、論理回路211では、リコンバージェンス問題が発生する可能性がある。
そこで、挿入箇所候補特定部112は、Fan-In数が2以上となる受信レジスタについては、リコンバージェンス問題の発生箇所と判定する。そして、挿入箇所候補特定部112は、Fan-In数が2以上となる受信レジスタについては、当該受信レジスタのデータ入力端子に接続されたネットを、挿入箇所候補として採用する。図3では、FF5のデータ入力端子がTで示され、FF5について採用された挿入箇所候補がX3で示されている。
一方、挿入箇所候補特定部112は、Fan-In数が1となる受信レジスタについては、リコンバージェンス問題は発生しないと判定する。そして、挿入箇所候補特定部112は、Fan-In数が1となる受信レジスタについては、通常の同期化設計通り、当該受信レジスタの上流に存在するクロックドメイン境界上のネットを、挿入箇所候補として採用する。図3では、上記のクロックドメイン境界がBで示され、FF4,FF6について採用された挿入箇所候補がそれぞれX1,X2で示されている。
そして、挿入箇所候補特定部112は、挿入箇所候補を示す情報である挿入箇所候補情報122を作成し、作成された挿入箇所候補情報122をデータベースに格納する。
図4は、挿入箇所特定部113による処理について説明するための回路図である。図4(A)〜(C)はそれぞれ、図2と同様、上記のLSIの構成を示す回路図となっている。
まず、挿入箇所特定部113は、各送信レジスタのFan-Out数を特定する。Fan-Out数は、データの出力先となる受信レジスタの個数である。例えば、図4(A)に示すように、FF1はFF4のみにデータを出力し、FF3はFF5のみにデータを出力するため、FF1及びFF3のFan-Out数は「1」である。一方、FF2はFF5とFF6にデータを出力するため、FF5のFan-Out数は「2」である。
挿入箇所特定部113は、各送信レジスタのFan-Out数を、挿入箇所候補情報122から特定してもよいし、インターフェイス回路情報121から特定してもよい。前者の場合には、挿入箇所特定部113は例えば、挿入箇所候補情報122に含まれる挿入箇所候補特定部112によるバックトレースの実行結果を利用して、各送信レジスタのFan-Out数を特定する。一方、後者の場合には、挿入箇所特定部113は例えば、各送信レジスタのデータ出力端子から受信レジスタのデータ入力端子まで回路接続経路のトレースを行い、辿りついた受信レジスタのデータ入力端子数により、各送信レジスタのFan-Out数を特定する。
次に、挿入箇所特定部113は、特定されたFan-Out数と、挿入箇所候補情報122とに基づいて、1つの送信レジスタと1つの受信レジスタとの間の経路上に1つの挿入箇所が存在するように、同期化回路の挿入箇所を特定する。
例えば、図4(A)に示すように、FF2とFF5との間の経路上には、FF2のFan-Out数が「2」であることに起因して、2つの挿入箇所候補X2,X3が存在する。このような場合、挿入箇所特定部113は、リコンバージェンス問題を考慮して決定された挿入候補箇所X3については削除不可と判断し、残りの挿入箇所候補X2については冗長と判断する。その結果、挿入箇所特定部113は、挿入箇所候補X3を挿入箇所として採用し、挿入箇所候補X2を削除する。
一方、図4(A)に示すように、FF1とFF4との間の経路上には、FF1のFan-Out数が「1」であることに起因して、1つの挿入箇所候補X1が存在する。このような場合、挿入箇所特定部113は、挿入箇所候補X1を挿入箇所として採用する。
このように、挿入箇所特定部113は、Fan-Out数が2以上となる送信レジスタについては、当該送信レジスタの下流に存在する挿入箇所候補のうち、一部を挿入箇所として採用し、一部を削除する。一方、Fan-Out数が1となる送信レジスタについては、当該送信レジスタの下流に存在する挿入箇所候補をそのまま挿入箇所として採用する。
ところで、図4(A)では、挿入箇所候補X2を削除することで、FF2とFF6との間の経路上に挿入箇所が存在しなくなってしまう。即ち、FF2とFF6との間の経路上では、同期化対策がなされないことになってしまう。そこで、挿入箇所特定部113は、このような事態を回避すべく、FF2のFan-Out数が1になるようにクローニング処理及び配線変更処理を実行する。
まず、挿入箇所特定部113は、図4(B)に示すように、Fan-Out数が2以上となる送信レジスタのクローニングを行う。図4(B)には、FF2がクローニングされ、FF2のクローンであるFF2’が生成された様子が示されている。FF2’には、FF2に供給されるのと同一のクロックが供給される。
次に、挿入箇所特定部113は、図4(C)に示すように、挿入箇所が存在しない送信レジスタ−受信レジスタ経路に関し、当該経路の配線を変更する配線変更処理を行う。図4(C)には、FF2とFF6との間の経路に関し、当該経路を構成する配線L1が削除され、代わりに、FF2’とFF6とを結ぶ配線L2が新設された様子が示されている。これにより、FF2とFF6との間の接続が解消され、代わりに、FF2’とFF6とが新たに接続される。
次に、挿入箇所特定部113は、クローニング処理及び配線変更処理の実行後に、挿入箇所の再特定を行う。挿入箇所の再特定は例えば、挿入箇所候補特定部112が挿入箇所候補を特定する処理と同様の処理により行われる。図4(C)には、挿入箇所の再特定によりFF2’について採用された挿入箇所X2’が示されている。挿入箇所X2’は、FF6の上流に存在するクロックドメイン境界上のネットに位置している。このように、挿入箇所特定部113は、クローニング処理及び配線変更処理を通じて、挿入箇所の最適化を行う。
そして、挿入箇所特定部113は、挿入箇所を示す情報である挿入箇所情報123を作成し、作成された挿入箇所情報123をデータベースに格納する。
図5は、同期化回路挿入部114による処理について説明するための回路図である。図5(A),(B)はそれぞれ、図2と同様、上記のLSIの構成を示す回路図となっている。
同期化回路挿入部114は、図5(A)に示すように、挿入箇所情報123と、設計者が用意した同期化回路の回路記述データ124とを利用して、挿入箇所に同期化回路を挿入する。図5(A)では、挿入箇所X1,X2’,X3の各々に、同期化回路として、直列接続された3個のレジスタFFa,FFb,FFcが挿入されている。ここで、FFaは、第1のクロックドメイン201内のクロック(送信側クロック)で動作するフリップフロップ回路であり、FFb及びFFcは、第2のクロックドメイン202内のクロック(受信側クロック)で動作するフリップフロップ回路である。
このように、本実施形態では、同期化回路は、マルチフロップタイプとなっている。本実施形態では、FFa,FFb,FFcからなる同期化回路の回路記述データ124が、設計者により用意される。
次に、同期化回路挿入部114は、図5(A)に示すレジスタのうち、冗長なレジスタを削除する冗長回路削除処理を行う。即ち、送信レジスタFF1〜FF3、受信レジスタFF4〜FF6、クローニングにより生成されたレジスタFF2’、挿入箇所X1,X2’,X3に挿入されたレジスタFFa〜FFcのうち、冗長なレジスタが削除される。
一般に、クロック周波数の異なるクロックドメイン間の境界を通過する経路上には、同期化用に、送信側クロックで動作するレジスタが1個配置され、受信側のクロックで動作するレジスタが2個配置される。この場合、当該経路上に存在するその他のレジスタは、冗長と判断される。本実施形態の同期化回路挿入部114は、このような判断基準の下、冗長なレジスタの削除を行う。
以下、同期化回路挿入部114による冗長回路削除処理について、図5(A)及び(B)に基づいて説明する。
まず、図5(A)に示すように、FF1とFF4との間の経路上には、送信側クロックで動作するレジスタが、FF1,FFaの2個存在し、受信側クロックで動作するレジスタが、FFb,FFc,FF4の3個存在する。そこで、同期化回路挿入部114は、FF1,FFaのうちのいずれか1個のレジスタと、FFb,FFc,FF4のうちのいずれか1個のレジスタとを削除する。本実施形態では、図5(B)に示すように、上記経路上から、FFaとFFbが削除される。
また、図5(A)に示すように、FF2’とFF6との間の経路上には、送信側クロックで動作するレジスタが、FF2’,FFaの2個存在し、受信側クロックで動作するレジスタが、FFb,FFc,FF6の3個存在する。そこで、同期化回路挿入部114は、FF2’,FFaのうちのいずれか1個のレジスタと、FFb,FFc,FF6のうちのいずれか1個のレジスタとを削除する。本実施形態では、図5(B)に示すように、上記経路上から、FFaとFFbが削除される。
また、図5(A)に示すように、FF2とFF5との間の経路上には、送信側クロックで動作するレジスタが、FF2,FFaの2個存在し、受信側クロックで動作するレジスタが、FFb,FFc,FF5の3個存在する。同様に、FF3とFF5との間の経路上には、送信側クロックで動作するレジスタが、FF3,FFaの2個存在し、受信側クロックで動作するレジスタが、FFb,FFc,FF5の3個存在する。
そこで、同期化回路挿入部114は、送信側クロックで動作するレジスタについては、これらの経路上から、FF2及びFF3のペアか、FFaかのいずれか一方を削除する。一方、受信側クロックで動作するレジスタについては、これらの経路上から、FFb,FFc,FF5のうちのいずれか1個のレジスタを削除する。
ただし、これらの経路上からFFaを削除すると、論理回路211は、送信側クロックで動作するレジスタと、受信側クロックで動作するレジスタとの間に位置してしまう。これは、論理回路211が、クロックドメイン間の境界上に位置することを相当する。一般に、論理回路211のこのような配置は、LSIの設計を行う際、デザイン違反とすることが多い。そこで、本実施形態の同期化回路挿入部114は、このような配置をデザイン違反として取り扱い、これらの経路上からのFFaの削除は許可しないとする。
よって、本実施形態では、図5(B)に示すように、送信側クロックで動作するレジスタについては、これらの経路上から、FF2とFF3が削除される。また、図5(B)に示すように、受信側クロックで動作するレジスタについては、これらの経路上から、FFbが削除される。ただし、受信側クロックで動作するレジスタについては、これらの経路上から、FFbに代えて、FFc又はFF5を削除しても構わない。
このようにして、同期化回路挿入部114は、図5(B)に示すインタフェース回路が含まれるLSIの回路記述データ125(同期化対策済み回路記述データ)を作成し、作成された回路記述データ125をデータベースに格納する。
以上のように、本実施形態のLSI設計装置は、受信レジスタのFan-In数を特定し、Fan-In数に基づいて挿入箇所候補を特定し、送信レジスタのFan-Out数を特定し、Fan-Out数と挿入箇所候補情報とに基づいて挿入箇所を特定し、挿入箇所情報を利用して同期化設定を行う。これにより、本実施形態では、リコンバージェンス問題を回避しながらメタスタビリティ対策を行うことが可能となる。
また、本実施形態によれば、このような処理により、同期化回路の挿入及び最適化を自動化することができるため、異なるクロックドメイン間の接続に必要な同期化設計を、設計者の手間を抑えて実行することができる。また、本実施形態によれば、同期化回路として最適化された回路を得ることができる。
また、本実施形態のLSI設計装置は、回路記述データ101、クロックドメイン情報102、及び未同期化箇所情報103から、同期化設計が必要なインターフェイスを構成する送信レジスタ及び受信レジスタを特定し、当該インターフェイスに関するインターフェイス回路情報121を抽出する。これにより、本実施形態では、Fan-In数及びFan-Out数の特定を自動化することが可能になる。
以上、本発明の具体的な態様の例を、本発明の実施形態により説明したが、本発明は、当該実施形態に限定されるものではない。
101 LSIの回路記述データ
102 クロックドメイン情報
103 未同期化箇所情報
111 インターフェイス回路情報抽出部
112 挿入箇所候補特定部
113 挿入箇所特定部
114 同期化回路挿入部
121 インターフェイス回路情報
122 挿入箇所候補情報
123 挿入箇所情報
124 同期化回路の回路記述データ
125 LSIの回路記述データ(同期化対策済み回路記述データ)
201 第1のクロックドメイン
202 第2のクロックドメイン
211 論理回路

Claims (5)

  1. 半導体集積回路の回路記述データ、前記半導体集積回路のクロックドメインに関する情報であるクロックドメイン情報、及び前記半導体集積回路における同期化設計の未対応箇所を示す未同期化箇所情報から、同期化設計が必要なインターフェイスを構成する送信レジスタ及び受信レジスタを特定し、前記送信レジスタと前記受信レジスタとの間の回路接続情報であるインターフェイス回路情報を抽出するインターフェイス回路情報抽出部と、
    前記インターフェイス回路情報から、前記受信レジスタの各々について、データの供給源となる前記送信レジスタの個数である供給源個数を特定し、前記供給源個数に基づいて、同期化回路を挿入する箇所の候補である挿入箇所候補を特定し、前記挿入箇所候補を示す挿入箇所候補情報を作成する挿入箇所候補特定部と、
    前記送信レジスタの各々について、データの出力先となる前記受信レジスタの個数である出力先個数を特定し、前記出力先個数と前記挿入箇所候補情報とに基づいて、前記同期化回路を挿入する箇所である挿入箇所を特定し、前記挿入箇所を示す挿入箇所情報を作成する挿入箇所特定部と、
    前記挿入箇所情報と、前記同期化回路の回路記述データとを利用して、前記挿入個所に前記同期化回路を挿入し、前記挿入箇所に前記同期化回路が挿入された前記半導体集積回路の回路記述データを作成する同期化回路挿入部と、
    を備えることを特徴とする半導体集積回路の設計装置。
  2. 前記挿入箇所候補特定部は、
    前記供給源個数が1個である前記受信レジスタについては、前記受信レジスタの上流に存在するクロックドメイン境界上のネットを、前記挿入箇所候補として採用し、
    前記供給源個数が2個以上である前記受信レジスタについては、前記受信レジスタのデータ入力端子に接続されたネットを、前記挿入箇所候補として採用する、
    ことを特徴とする請求項1に記載の半導体集積回路の設計装置。
  3. 前記挿入箇所特定部は、
    前記出力先個数が1個である前記送信レジスタについては、前記送信レジスタの下流に存在する前記挿入箇所候補を、前記挿入箇所として採用し、
    前記出力先個数が2個以上である前記送信レジスタについては、前記送信レジスタの下流に存在する前記挿入箇所候補のうち、一部を前記挿入箇所として採用し、残りの一部を削除する、
    ことを特徴とする請求項1又は2に記載の半導体集積回路の設計装置。
  4. 前記挿入箇所特定部は、
    前記挿入箇所候補の一部を削除する場合、前記送信レジスタ又は前記受信レジスタのクローニングと、前記送信レジスタと前記受信レジスタとの間の配線を変更する配線変更処理とを行い、前記クローニング及び前記配線変更処理の実行後に、前記挿入箇所の再特定を行うことを特徴とする請求項3に記載の半導体集積回路の設計装置。
  5. 前記同期化回路挿入部は、
    前記同期化回路の挿入後に、前記送信レジスタ、前記受信レジスタ、及び前記同期化回路に含まれるレジスタのうち、冗長なレジスタを削除する冗長回路削除処理を行うことを特徴とする請求項1から4のいずれか1項に記載の半導体集積回路の設計装置。
JP2009127468A 2009-05-27 2009-05-27 半導体集積回路の設計装置 Abandoned JP2010277230A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009127468A JP2010277230A (ja) 2009-05-27 2009-05-27 半導体集積回路の設計装置
US12/724,251 US20100306725A1 (en) 2009-05-27 2010-03-15 Apparatus and method for designing semiconductor integrated circuit, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009127468A JP2010277230A (ja) 2009-05-27 2009-05-27 半導体集積回路の設計装置

Publications (1)

Publication Number Publication Date
JP2010277230A true JP2010277230A (ja) 2010-12-09

Family

ID=43221729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009127468A Abandoned JP2010277230A (ja) 2009-05-27 2009-05-27 半導体集積回路の設計装置

Country Status (2)

Country Link
US (1) US20100306725A1 (ja)
JP (1) JP2010277230A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168718A (ja) * 2011-02-14 2012-09-06 Nec Corp 半導体設計支援装置、タイミング制約生成方法、およびプログラム
US11657206B1 (en) 2022-02-17 2023-05-23 MakinaRocks Co., Ltd. Method for semiconductor design based on artificial intelligence
US11663390B1 (en) 2022-02-14 2023-05-30 MakinaRocks Co., Ltd. Method for placement semiconductor device based on prohibited area information
US11734484B2 (en) 2021-11-18 2023-08-22 MakinaRocks Co., Ltd. Method for automating semiconductor design based on artificial intelligence

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707229B1 (en) 2010-07-28 2014-04-22 VSYNC Circuit, Ltd. Static analysis of VLSI reliability
US8661383B1 (en) * 2010-07-28 2014-02-25 VSYNC Circuits, Ltd. VLSI black-box verification
US8631364B1 (en) 2010-12-26 2014-01-14 VSYNC Circuits Ltd. Constraining VLSI circuits
KR102474856B1 (ko) 2021-11-18 2022-12-06 주식회사 마키나락스 인공지능 기반의 반도체 설계 자동화 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263675B2 (en) * 2004-06-03 2007-08-28 Synopsys, Inc. Tuple propagator and its use in analysis of mixed clock domain designs

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168718A (ja) * 2011-02-14 2012-09-06 Nec Corp 半導体設計支援装置、タイミング制約生成方法、およびプログラム
US11734484B2 (en) 2021-11-18 2023-08-22 MakinaRocks Co., Ltd. Method for automating semiconductor design based on artificial intelligence
US11663390B1 (en) 2022-02-14 2023-05-30 MakinaRocks Co., Ltd. Method for placement semiconductor device based on prohibited area information
US11657206B1 (en) 2022-02-17 2023-05-23 MakinaRocks Co., Ltd. Method for semiconductor design based on artificial intelligence

Also Published As

Publication number Publication date
US20100306725A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
JP2010277230A (ja) 半導体集積回路の設計装置
US20070286323A1 (en) Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit
US20030229871A1 (en) Method of generating timing constraint model of logic circuit, program for generating timing constraint model of logic circuit, and timing-driven layout method of using the timing constraint model
US9342640B1 (en) Method and apparatus for protecting, optimizing, and reporting synchronizers
US9449127B1 (en) System for verifying timing constraints of IC design
US20060190754A1 (en) A Method for Automatic Recognition of Handshake Data Exchange at Clock-Domain Crossing in Integrated Circuit Design
US8631364B1 (en) Constraining VLSI circuits
JP2002083000A (ja) 論理回路設計方法及び論理回路
US20100316142A1 (en) Semiconductor integrated circuit and designing method thereof
US8984456B2 (en) Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program
JP5533564B2 (ja) クロックツリー生成装置及びクロックツリー生成方法
JP2013019694A (ja) スキャンテスト回路およびスキャンテスト回路生成方法
JP7069608B2 (ja) 半導体設計支援装置、半導体設計支援方法及びプログラム
JP2011090493A (ja) 回路設計装置及び方法
US8438518B2 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
JP7354815B2 (ja) 検証支援装置、検証支援方法および検証支援プログラム
JP2016119026A (ja) 信号検証システムおよび信号検証方法
US8825433B2 (en) Automatic generation of valid at-speed structural test (ASST) test groups
JP7136496B1 (ja) レイアウト装置、レイアウト方法およびプログラム
JP2013037596A (ja) 非同期インターフェース検証装置、非同期インターフェース検証方法及びそのプログラム
US20070214443A1 (en) Circuit Verification Apparatus, Circuit Verification Method, And Signal Distribution Method For The Same
US8875079B2 (en) System and method of automated design augmentation for efficient hierarchical implementation
JP4862680B2 (ja) クロック信号分配回路、情報処理装置及びクロック信号分配方法
JP2012159960A (ja) 半導体設計装置および半導体装置
JP5008124B2 (ja) スキャンクロック分配システム及び半導体集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110802

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20120614