JP2004199268A - Method for designing semiconductor integrated circuit - Google Patents

Method for designing semiconductor integrated circuit Download PDF

Info

Publication number
JP2004199268A
JP2004199268A JP2002365443A JP2002365443A JP2004199268A JP 2004199268 A JP2004199268 A JP 2004199268A JP 2002365443 A JP2002365443 A JP 2002365443A JP 2002365443 A JP2002365443 A JP 2002365443A JP 2004199268 A JP2004199268 A JP 2004199268A
Authority
JP
Japan
Prior art keywords
flip
flop
scan
circuit
data input
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.)
Pending
Application number
JP2002365443A
Other languages
Japanese (ja)
Inventor
Masahiro Hoshi
雅浩 星
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.)
Asahi Kasei Microsystems Co Ltd
Asahi Kasei Microdevices Corp
Original Assignee
Asahi Kasei Microsystems Co Ltd
Asahi Kasei Microdevices 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 Asahi Kasei Microsystems Co Ltd, Asahi Kasei Microdevices Corp filed Critical Asahi Kasei Microsystems Co Ltd
Priority to JP2002365443A priority Critical patent/JP2004199268A/en
Publication of JP2004199268A publication Critical patent/JP2004199268A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enhance designing efficiency and reduce cost by reviewing a logic composing method and process procedures by applying an existing library. <P>SOLUTION: This method for designing semiconductor integrated circuit simultaneously uses a flip-flop without a scanning function for replacing a flip-flop with scanning function at scanning and a flip-flop without scanning function for not replacing a flip-flop without a scanning function at scanning, circuit composition in accordance with mutual connection condition of the flip-flops and composition (S24) of a logic circuit is executed in partial scan designing. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、機能記述設計されたソースプログラムをもとに論理合成を行い、スキャンテスト機能を有する論理回路を設計する半導体集積回路の設計方法に関するものである。
【0002】
【従来の技術】
近年、半導体集積回路の大規模化および同期回路化に伴い、機能記述を用いた論理合成による回路設計、およびテストパターンを自動的に生成するための方法としてスキャン設計法が知られている。機能記述を用いた論理合成による回路設計では、機能記述言語を用いて論理動作を記述し、論理合成ツールによって自動的に論理回路を生成する。
【0003】
一般的なスキャン設計法、およびこの一般的なスキャン設計法の設計効率化およびコスト低減が可能なテスト方法として改良したスキャン設計法が知られている(例えば、特許文献1参照)。
一般的なスキャン設計法について、図12を参照して説明する。
まず、機能記述されたソースプログラムについて、スキャン機能を備えていないフリップフロップ回路を用いて論理合成を行う(ステップS1)。次に、スキャン機能を備えたフリップフロップ回路への置き換え作業(以下、スキャンインサーションという)を行う(ステップS2)。続いて、スキャンインサーションされた回路に対して、テストパターン自動生成(ATPG)を実行する(ステップS3)。最後に、フロアープラン(ステップS4)、および配置・配線(ステップS5)を行う。
【0004】
次に、改良したスキャン設計法について、図13を参照して説明する。
まず、ステップS11では、図4に示すような論理合成専用のスキャン機能を備えた(ただし、スキャン切り替え信号とスキャン入力を固定したもの)フリップフロップ回路ライブラリを準備する。ステップS12では、スキャン機能を備えたフリップフロップ回路のみで論理合成を行う。
【0005】
ステップS13では、レイアウトツールを用いて、配置・配線を行うとともに、クロックツリー合成を行い、フロアープランの検討を行う。この結果に基づき、ステップS14では、スキャンチェーンを接続して論理回路を完成させる。ステップS15では、ATPGツールによるテストパターンの自動作成を行う。
ステップS16では、フルスキャン設計するか否かが選択され、フルスキャン設計ではなくパーシャルスキャン設計の場合には、ステップS17に進む。ステップS17では、フルスキャン設計した回路に対して、通常動作モードにおいて本来スキャン機能付きフリップフロップ回路を使用する必要のないただのシーケンシャル接続のシフトレジスタとなる部分を、スキャン機能無しフリップフロップ回路に置き換える。そして、パーシャルスキャン設計化した回路に対してフルスキャン回路で設計したテストパターンを適用する。
【0006】
【特許文献1】
特開2000−20560号公報
【0007】
【発明が解決しようとする課題】
しかし、図13に示す処理方法では、シフトレジスタ構成をパーシャルスキャン化したい場合でも、一度フルスキャン設計を行う必要性があり設計作業コストを増大させている。
また、ライブラリの回路図として、図4に示すような「論理合成専用のスキャン機能を備えたフリップフロップ回路」が別途必要となる。これは、実際の集積回路では使用されない中間的なゲートレベルの回路を専用に用意することになり、通常のフリップフロップ回路、スキャン機能付きフリップフロップ回路、およびスキャン機能を固定した専用の回路の3つが最低必要となり、ライブラリ作成時の作業やライブラリ管理が不便となる。
【0008】
さらに、スキャンチェーン接続前から回路情報としてスキャン機能部の回路情報を持たなければならない。このため、シュミレータによってはスキャン機能部の情報を取り込むことになる場合もあり、この場合には計算速度に影響を及ぼす懸念や記憶装置の記憶容量の増大を招く場合があり得る。
また、設計者が当初意図していない配線情報が加えられるため、回路図を直接見る場合にわかりにくく設計能率が悪くなる。
【0009】
一方、図12に示すスキャン設計法では、スキャン機能無しフリップフロップ回路で合成されるため、スキャン機能付きフリップフロップ回路に置き換えた場合に大きなタイミング誤差が発生する。
これに対して、図13に示す処理方法では、逆にフルスキャン設計回路からパーシャルスキャン化の場合、「通常動作モードにおいてシフトレジスタ構成となる回路部分を抽出し、この回路部分をスキャン機能を備えていないフリップフロップ回路に置き換える」という作業により、置き換え前後でデータ伝搬時間に差異を生ずる可能性が高い。
【0010】
従って、いずれの場合も再び最適化作業が必要となるので、開発コストが増大する。
また、図13に示す処理方法では、フロアープランの作成はパーシャルスキャン設計またはフルスキャン設計を選択する前でありフルスキャン回路のみに対するものである。このため、フリップフロップ回路の面積が占める部分が最終的な状態とは異なり、フロアープランとして面積・タイミング共に最適なものが得られない。これは、近年のサブミクロンプロセスのようなセル遅延が微小なプロセスでは、クロックツリー作成後にスキューエラーが発生するような大きな問題が生じる可能性がある。
【0011】
特に、「パーシャルスキャン設計化した回路に対してフルスキャン回路で設計したテストパターンを適用する」という場合には、フルスキャン回路で生成したATPGパターンがそのまま使用可能な状態になるのはあまりない。このため、あらかじめそうなるように意図的にチェーン生成を施さなければならない必要性がある。
【0012】
フリップフロップ回路を置き換えるツールにてパーシャルスキャン設計の対象を指定する場合には、元の回路には対象を区別する情報を持たないため、対象を回路固有のインスタンス名などで全て列挙する必要があり、大きな記憶容量を必要とし、また指定時の漏れや間違いが発生する可能性も高くなる。
【0013】
さらに、従来の手法では、ライブラリを作成する場合に、置き換え後にタイミング差などが出にくいようにするためには、スキャン機能の有る無しでフリップフロップ回路の遅延やドライブ能力に大きな差異が生じないようにする必要があり、トランジスタサイズを小さくできる場合でも同程度のサイズにしてライブラリを作成することが多い。このような手法面での制約は本来の面積・消費電力コストの最適化を阻害する制約となる場合がある。
そこで、本発明の目的は、上記の点に鑑み、既存のライブラリを応用して論理合成方法および処理手順の見直しを行うことにより、設計効率化およびコスト低減が可能な半導体集積回路の設計方法を提供することにある。
【0014】
【課題を解決するための手段】
上記課題を解決して本発明の目的を達成するために、請求項1〜請求項5に記載の各発明は、以下のように構成した。
すなわち、請求項1に記載の発明は、機能記述設計されたソースプログラムについて論理合成ツールを用いて論理回路設計を行う半導体集積回路の設計方法であって、合成時に使用するライブラリにおいてフリップフロップを複数用意し、これらを1つはフリップフロップが合成時にデータ入力もしくは出力のどちらか一方の決められた端子、あるいはデータ入出力双方の端子が別のフリップフロップのデータ入出力端子のみにつながるフリップフロップであるという第1のグループと、もう1つはその他の論理ゲートもしくは外部ポートにもつながるフリップフロップである第2のグループに属するようにし、前記用意された複数のフリップフロップを含むライブラリを使用して、少なくとも前記接続条件を満たすように回路合成を行うことを特徴とするものである。
【0015】
請求項2に記載の発明は、請求項1に記載の半導体集積回路の設計方法において、前記回路合成において、フリップフロップが合成時にデータ入力もしくは出力のどちらか一方の決められた端子、あるいはデータ入出力端子の双方が別のフリップフロップのデータ入出力端子のみにつながるフリップフロップであるというグループをスキャン機能なしフリップフロップとし、その他の論理ゲートもしくは外部ポートにもつながるフリップフロップをスキャン機能付きフリップフロップ置き換え後に相当するタイミング、面積、入出力ドライブ情報を設定したフリップフロップとする回路合成を行うことを特徴とするものである。
【0016】
請求項3に記載の発明は、請求項2に記載の半導体集積回路の設計方法において、前記スキャン機能なしフリップフロップと、前記スキャン機能付きフリップフロップに置き換え後を想定したタイミング情報を設定したフリップフロップとで構成された回路合成の結果を基にフロアプランを作成する場合に、フリップフロップに置き換えを想定した回路に対応するセルレイアウトの情報もスキャン機能付きフリップフロップ置き換え後に相当したレイアウトデータを用いてレイアウトツールによるフロアプラン設計を行うことを特徴とするものである。
【0017】
請求項4に記載の発明は、請求項1に記載の半導体集積回路の設計方法において、フリップフロップをスキャンテストのためスキャン機能付きフリップフロップに置き換えスキャンチェーン化する場合において、前記回路合成の時点で異なるグループで設定されたデータ入力もしくは出力のどちらか一方の決められた端子、あるいはデータ入出力双方の端子が別のフリップフロップのデータ入出力端子のみにつながるフリップフロップを置き換え対象外とし、その他の論理ゲートもしくは外部ポートにもつながるフリップフロップを置き換え対象として置き換えを行うことを特徴とするものである。
【0018】
請求項5に記載の発明は、機能記述設計されたソースプログラムをもとに論理合成を行い、スキャンテスト機能を備えた論理回路を設計する半導体集積回路の設計方法において、スキャン機能を有する第1のフリップフロップと、スキャン化の際にスキャン機能付きフリップフロップに置き換わりスキャン機能を有していない第2のフリップフロップと、スキャン化の際にスキャン機能付きフリップフロップに置き換わらずスキャン機能を有していない第3のフリップフロップと、を含むセルライブラリを準備する第1ステップと、パーシャルスキャン設計の場合に、前記第2および前記第3のフリップフロップの両方を用いて前記ソースプログラムに基づいて論理合成を行って論理回路を作成する第2ステップと、前記論理合成により作成された論理回路に基づいてフロアプラン処理を行う第3ステップと、前記フロアプラン処理の結果に基づいて前記第2のフリップフロップを前記第1のフリップフロップに置き換え、スキャンチェーンを接続して前記論理回路のスキャン化を行う第4ステップと、前記スキャンチェーンが接続された論理回路に対してテストパターン設計を行う第5ステップと、を有し、前記第2ステップにおける前記パーシャルスキャン設計の際には、任意のフリップフロップの通常データ入力端子の他のフリップフロップの通常データ出力端子に接続されている場合、任意のフリップフロップの通常データ出力端子が他のフリップフロップの通常データ入力端子に接続されている場合、または任意のフリップフロップの通常データ入出力端子が他の異なるフリップフロップの通常データ入出力端子に接続されている場合は、前記任意のフリップフロップは第3のフリップフロップを選択し、任意のフリップフロップの接続が前記以外の場合は、前記任意のフリップフロップは前記第2のフリップフロップを選択することを特徴とするものである。
【0019】
このような構成からなる本発明によれば、シフトレジスタの構成部にパーシャルスキャンテスト回路設計を行う場合に、接続条件に応じてグループ(名前)の異なるフリップフロップを配置することにより、フルスキャン設計というステップを踏まずに直接スキャン設計を行うことができる。このため、中間データであるフルスキャンデータ回路を持つ必要がなくなり、ライブラリ作成時の作業やライブラリ管理コストが軽減される。
【0020】
また、中間データが無いということは、これを扱うシミュレータや記憶装置などに対する負荷や投資コストを抑えることが可能であると共に、合成回路図は余分な付加配線のない設計者が意図した回路であるため設計データが検証しやすく開発工程の短縮にもつながる。
また、本発明では、あかじめスキャン機能付きフリップフロップのパラメータを、スキャンチェーン対象セルとして指定するフリップフロップに対して設定することでパーシャルスキャン回路生成時に置き換えによるタイミングダメージを抑えているので、タイミング調整などの開発工程の繰り返しを削減できる。
【0021】
【発明の実施の形態】
以下、本発明の半導体集積回路の設計方法の実施形態について、図面を参照して説明する。
図1は、この実施形態に係る半導体集積回路の設計方法の手順を示すフローチャートである。
【0022】
図2は、この実施形態に係る半導体集積回路の設計方法で使用するスキャン機能なしフリップフロップ1のシンボルを示し、図3はそれに使用するスキャン機能付きフリップフロップ5のシンボルを示す。
スキャン機能付きフリップフロップ1は、データ入力端子2、データ出力端子3、およびクロック入力端子4を有し、合成用ライブラリではASICコンポーネントセルとして管理可能な名前や番号をセル名として付け、これを構成するゲート構造の回路図とともにライブラリ(以下、セルライブラリという)として使用する。
【0023】
また、セルに対しては、ゲートレベルの回路図とは別に、このセルに対応するレイアウト面積、入出力タイミング特性、入出力ドライバ能力特性などのテクノロジを記述したライブラリ(以下、テクノロジライブラリ)を使用する。
スキャン機能付きフリップフロップ5は、図3に示すように、データ入力端子6、データ出力端子7、クロック入力端子8、スキャン入力用端子9、およびデータ入力端子6またはスキャン入力用端子9を選択するスキャン切り替え制御信号端子10を有する。
【0024】
次に、設計方法の手順について図1を参照して説明する。
まず、ステップS21では、セルライブラリとして、複数のフリップフロップを用意する。すなわち、スキャン機能なしフリップフロップの他に、スキャン機能付きのフリップフロップに置き換えた時に相当する入出力タイミング特性などを設定したフリップフロップを準備する。
【0025】
例えば、セル名として「FFA」と名付けられたフリップフロップと、セル名として「FFB」と名付けられたフリップフロップとを用意する。この例では、後述のステップS26でスキャン化の際に、フリップフロップ名によりスキャン機能付きフリップフロップへの置き換え対象を一括指定する。このため、置き換え用に指定するフリップフロップは、あらかじめスキャン機能付きフリップフロップ置き換え後に相当する入出力タイミング特性、レイアウト面積、入出力ドライブ能力特性をテクノロジライブラリに設定したフリップフロップとする。
【0026】
図6の例では、セル名「FFB」のフリップフロップ31、32に対するテクノロジライブラリの値は、通常どおりのものである。セル名「FFA」のフリップフロップには、図5のようにスキャン機能付きフリップフロップ17の出力20を自己のスキャン入力用端子に接続し、スキャンパスが切り替わらないように切り替え信号21を固定した状態で特性を抽出し、レイアウト面積、入出力タイミング特性、入出力ドライバ能力特性のテクノロジライブラリパラメータで置き換えをしている。
【0027】
なお、テクノロジライブラリだけを置き換えるのではなく、回路そのものを図5のようなスキャンテスト機能付きフリップフロップを使用しても良い。
ここで、ライブラリの最小の構成を考えた場合に、フリップフロップに関しては、セルライブラリは以下のものを用意する。
すなわち、セルライブラリとしては、セル名だけが異なるスキャンテスト機能なしフリップフロップ(図2参照)と、スキャン化の際に置き換わるスキャン機能付きフリップフロップ(図3参照)だけで良い。
【0028】
これに設定するテクノロジライブラリとしては、通常のスキャン機能なしのフリップフロップ(図2参照)の状態で特性を抽出したパラメータと、スキャン機能付きフリップフロップに置き換え後に相当する状態で特性を抽出したパラメータ(レイアウト面積、入出力タイミング特性、入出力ドライバ能力特性)と、スキャン機能付きのフリップフロップ(図3参照)の状態で特性を抽出したパラメータとの3つを用意する。
【0029】
ステップS22では、フルスキャン設計またはパーシャルスキャン設計のいずれかが選択される。そして、ATPGツールなどの都合によりフルスキャン設計が選択された場合にはステップS23に進み、パーシャルスキャン設計が選択された場合にはステップS24に進む。
ステップS23では、フリップフロップとしては後述のスキャン化の際にスキャン機能付きフリップフロップに置き換わるフリップフロップのみを使用して、機能記述設計されたソースプログラムに基づいて、論路合成を行って論理回路を作成する。
【0030】
この場合には、単に合成ライブラリから置き換えしない通常のフリップフロップを外すか使用禁止にするだけで良く、フリップフロップは置き換え後に相当するスキャン機能付きのフリップフロップの入出力タイミング特性などを設定したセルだけで論理合成される。
ステップS24では、パーシャルスキャン設計を実現するために、機能記述設計されたソースプログラムに基づいて論理合成を行い、論理回路を作成する。
【0031】
すなわち、機能記述設計されたソースプログラムに基づき、後述のスキャン化の際にスキャン機能付きフリップフロップに置き換わるスキャン機能なしフリップフロップと、スキャン化の際にスキャン機能付きフリップフロップに置き換わらないスキャンテスト機能なしのフリップフロップとを使用し、フリップフロップの接続条件の定義に応じた論理合成を行い、論理回路を作成する。
【0032】
図6は、このように論理合成された回路のフリップフロップの接続状態の一例を示す。この例では、論理合成時に、シフトレジスタを構成する任意のフリップフロップのデータ入力端子が、他のフリップフロップのデータ入出力端子のみに接続されるかどうかで、適応させるフリップフロップを異なるものとしている。
すなわち、図6において、フリップフロップ31はデータ入力端子がフリップフロップ以外の組み合わせ回路30に接続されており、そのセル名を「FFA」としている。また、フリップフロップ32、33は、各データ入力端子が他のフリップフロップのデータ入出力端子と接続されるため、論理合成時にはセル名が「FFA」とは異なる「FFB」が割り当てられている。
【0033】
ここで、後述のように、テスト設計としてスキャン機能付きフリップフロップに置き換える場合に、レイアウト面積が増大しないように、シーケンシャルに接続された状態のフリップフロップを置き換え対象から外すことは設計効率化およびコスト低減化の上で非常に重要である。この例では、図7に示すように、セル名が「FFA」であるフリップフロップをスキャン機能付きフリップフロップ、セル名が「FFB」であるものを通常のスキャン機能なしのフリップフロップというように、単純にセル名またはグループ名で一括指定する。
【0034】
また、ステップS24の時点で、置き換え用に指定するセルは、あらかじめスキャン機能付きフリップフロップに置き換え後に相当するタイミング、レイアウト面積、入出力ドライブ特性をテクノロジライブラリに設定したフリップフロップとしている。このため、スキャン機能付きフリップフロップとスキャン機能なしフリップフロップとが混在している実際の回路遅延状態で、論理合成が実施される。
【0035】
ステップS25では、上記のように論理合成により生成された回路情報をもとに、レイアウトツールにてフロアープランを検討する。
ここで、スキャン機能付きフリップフロップの置き換えを想定したセルのレイアウト情報に基づいてフロアープランに必要なものを設定することで、レイアウト面積の最適化や配線の最適化、クロックツリーの設計も最終的な配置を想定して実施する。
【0036】
ステップS26では、フリップフロップのスキャン化対象をセル名(または対象セルの集合であるグループ名)で指定し、フロアプラン情報と併せてスキャン機能付きフリップフロップに置き換えてスキャンチェーンを接続する。
このような処理により、図6の回路図は、図7に示すような回路図に置き換わる。すなわち、図6に示すセル名が「FFA」のセルは、図7に示すようにセル名が「FFAS」というスキャン機能付きフリップフロップ35に置き換わり、かつ、スキャンチェーン38とスキャン切り替え信号37が配線される。
【0037】
ステップS27では、スキャンテストが可能となった最終回路に対し、自動テストパターン生成ツール(ATPG)でテストパターンを生成する。
ここで、フルスキャンしか扱えないATPGの場合は、ステップS23でフルスキャン用のライブラリのみにしているため、特に異なったフロー(手順)や調整も必要としない。
【0038】
最後のステップS28では、レイアウト配置・配線を完成し、レイアウトデザインを検証して半導体集積回路を完成させる。
以上説明したように、この実施形態によれば、シフトレジスタの構成部にパーシャルスキャンテスト回路設計を行う場合に、接続条件に応じてセル名の異なるフリップフロップを配置することにより、フルスキャン設計というステップを踏まずに直接スキャンチェーン設計を行うことができる。このため、中間データであるフルスキャンデータ回路を持つ必要がなくなり、ライブラリ作成時の作業やライブラリ管理コストが軽減される。
【0039】
また、中間データが無いということは、これを扱うシミュレータや記憶装置などに対する負荷や投資コストを抑えることが可能であると共に、合成回路図は余分な付加配線のない設計者が意図した回路であるため設計データが検証しやすく開発工程の短縮にもつながる。
また、最終回路におけるスキャン機能なしフリップフロップとスキャン機能付きフリップフロップの両方とも、合成段階からテクノロジファイルとして最終形態である回路を想定したものを使用することで、従来のパーシャルスキャン回路生成時に置き換えによるタイミングダメージを抑えているので、タイミング調整などの開発工程の繰り返しを削減できる。
【0040】
また、この実施形態では、フロアープランがフルスキャン回路でしか作成されなかった場合と異なり、あらかじめスキャン機能付き置き換え予定セルのレイアウト情報を用いてフロアープランを作成することで、スキャン機能付きフリップフロップとスキャン機能無しフリップフロップを混在した状態で実施される。このため、クロックツリーの精度やタイミングが正確で面積も小さく最適化されたフロアープランレイアウトが作成できる。
【0041】
特に、この実施形態は、ATPGで作成されたパターンは最終的なテスト回路を元に作成されたものであり、フルスキャン化した回路であっても、パーシャルスキャン化した回路であっても、パターンが適合しなくなるというような不都合は発生しないという利点がある。
また、この実施形態によれば、置き換えを行うツールにて対象を指定するような場合には、セル名(グループ名)により簡単な指定が可能となる。このため、対象回路の指定漏れや間違いが起こりにくく、品質回路の向上と開発期間の短縮に有効である。また、全ての対象回路(インスタント名など)を記憶する場合に比べて記憶装置への負担が殆どない。
【0042】
さらに、この実施形態によれば、あらかじめ論理合成の段階でシフトレジスタ構成となるフリップフロップを予定できるため、サイズや消費電流の小さい専用のフリップフロップを準備して適応させることが可能となり、本来のレイアウト面積、消費電力コストを考えたライブラリの構築が可能となり、論理合成時の最適化やコスト削減に寄与し得る。
【0043】
次に、この実施形態の他の2つの適用例について、図8〜図11を参照して説明する。
図8は、論理合成の時に、置き換えの対象とならないフリップフロップは、そのデータ出力端子が、他のフリップフロップのデータ入力端子に接続される場合と定義したときに、論理合成により得られる回路の結果を示している。
【0044】
この例では、フリップフロップ40、41の各データ出力端子が他のフリップフロップに接続されるのでセル名を「FFB」とし、フリップフロップ42はデータ出力端子がそのスキャン出力など外部への最終出力44に接続されるため、セル名が「FFB」とは異なる「FFA」となるように論理合成している。
なお、フリップフロップ40は、データ入力端子が組み合わせ回路43に接続されているが、上記の定義によりフリップフロップのデータ出力端子を基準に接続条件を見ているので、フリップフロップ41と同じグループのセルになっている。これをスキャン化した場合には、図8に示すセル名が「FFA」のフリップフロップ42は、図9に示すように、セル名が「FFAS」というスキャン機能付きフリップフロップ45に置き換わり、かつ、スキャンチェーン46とスキャン切り替え信号47が配線されてスキャンテストが可能となる。
【0045】
図10は、論理合成の時に、置き換えの対象とならないフリップフロップは、そのデータ入出力端子の双方が、他のフリップフロップのデータ入出力端子に接続される場合と定義したときに論理合成により得られる回路の結果を示している。
この例では、フリップフロップ61のデータ入力端子が他のロジック回路60に接続されるのでセル名が「FFA」、フリップフロップ63はデータ出力端子が他のロジック回路64に接続されるのでセル名が「FFA」、フリップフロップ62はデータ入出力端子の双方が他のフリップフロップに接続されるのでセル名が「FFB」となるように論理合成している。
【0046】
これをスキャン化した場合には、図10に示すセル名が「FFA」のフリップフロップ61、63は、図11に示すように、セル名が「FFAS」というスキャン機能付きフリップフロップ66、67に置き換わり、スキャンテストが可能となる。
これは、ATPGツールによっては組み合わせ回路に接続されるフリップフロップの全てがスキャン機能付きフリップフロップであるのが都合の良い場合の定義である。
【0047】
【発明の効果】
以上説明したように、本発明によれば、シフトレジスタの構成部にパーシャルスキャンテスト回路設計を行う場合に、接続条件に応じてテクノロジィファイルの異なるフリップフロップを配置することにより、フルスキャン設計というステップを踏まずに直接スキャン設計を行うことができる。このため、中間データであるフルスキャンデータ回路を持つ必要がなくなり、ライブラリ作成時の作業やライブラリ管理コストが軽減される。
【0048】
また、中間データが無いということは、これを扱うシミュレータや記憶装置などに対する負荷や投資コストを抑えることが可能であると共に、合成回路図は余分な付加配線のない設計者が意図した回路であるため、設計データが検証しやすく開発工程の短縮にもつながる。
さらに、本発明では、最終回路におけるスキャン機能なしフリップフロップとスキャン機能付きフリップフロップの両方とも、合成段階からテクノロジファイルとして最終形態である回路を想定したものを使用することで、従来のパーシャルスキャン回路生成時に置き換えによるタイミングダメージを抑えているので、タイミング調整などの開発工程の繰り返しを削減できる。
【図面の簡単な説明】
【図1】本発明の半導体集積回路の実施形態に係る設計方法の手順を示すフローチャートである。
【図2】この設計方法で使用するスキャン機能なしフリップフロップのシンボルを示す図である。
【図3】この設計方法で使用するスキャン機能付きフリップフロップのシンボルを示す図である。
【図4】従来の一般的なスキャン設計方法によって使用されるフリップフロップの接続図である。
【図5】スキャン機能付きフリップフロップをスキャン機能なしフリップフロップとして機能的に使用する場合の回路図である。
【図6】この設計方法によって論理合成された回路のフリップフロップの接続状態を示す図である。
【図7】図6の回路のフリップフロップを置き換えスキャンチェーン接続した状態の図である。
【図8】フリップフロップの接続条件の定義を変え、そのときに論理合成された回路のフリップフロップの接続状態を示す図である。
【図9】図8の回路のフリップフロップを置き換えスキャンチェーン接続した状態の図である。
【図10】フリップフロップの接続条件の定義をさらに変え、そのときに論理合成された回路のフリップフロップの接続状態を示す図である。
【図11】図10の回路のフリップフロップを置き換えスキャンチェーン接続した状態の図である。
【図12】従来の一般的なスキャン設計法の手順を示すフローチャートである。
【図13】従来の一般的なスキャン設計法の設計効率化およびコスト低減が可能なテスト方法として改良したスキャン設計法の手順を示すフローチャートである。
【符号の説明】
1、31、32、33 スキャン機能なしフリップフロップ
5、35 スキャン機能付きフリップフロップ
2、6 通常データ入力端子
3、7 通常データ出力端子
4、8 クロック端子
9 スキャンデータ入力端子
10 スキャンモード切り替え端子
30 組み合わせ回路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for designing a semiconductor integrated circuit that performs logic synthesis based on a source program designed and described in terms of function and designs a logic circuit having a scan test function.
[0002]
[Prior art]
2. Description of the Related Art In recent years, as a semiconductor integrated circuit becomes larger in scale and becomes a synchronous circuit, a circuit design by logic synthesis using a function description and a scan design method are known as methods for automatically generating a test pattern. In circuit design by logic synthesis using a function description, a logic operation is described using a function description language, and a logic circuit is automatically generated by a logic synthesis tool.
[0003]
There is known a general scan design method and an improved scan design method as a test method capable of increasing the design efficiency and reducing the cost of the general scan design method (for example, see Patent Document 1).
A general scan design method will be described with reference to FIG.
First, logic synthesis is performed on a source program whose function is described, using a flip-flop circuit having no scan function (step S1). Next, a replacement operation with a flip-flop circuit having a scan function (hereinafter, referred to as scan insertion) is performed (step S2). Subsequently, test pattern automatic generation (ATPG) is performed on the circuit on which the scan insertion has been performed (step S3). Finally, a floor plan (Step S4) and arrangement / wiring (Step S5) are performed.
[0004]
Next, an improved scan design method will be described with reference to FIG.
First, in step S11, a flip-flop circuit library having a scan function dedicated to logic synthesis as shown in FIG. 4 (however, a scan switching signal and a scan input are fixed) is prepared. In step S12, logic synthesis is performed only by the flip-flop circuit having the scan function.
[0005]
In step S13, a layout tool is used to perform placement and wiring, clock tree synthesis is performed, and a floor plan is examined. Based on the result, in step S14, the scan chains are connected to complete the logic circuit. In step S15, a test pattern is automatically created by the ATPG tool.
In step S16, whether or not to perform full scan design is selected, and in the case of partial scan design instead of full scan design, the process proceeds to step S17. In step S17, a part of the shift register of the sequential connection that does not need to use the flip-flop circuit with the scan function in the normal operation mode is replaced with the flip-flop circuit without the scan function in the circuit of the full scan design. . Then, the test pattern designed by the full scan circuit is applied to the circuit designed by the partial scan.
[0006]
[Patent Document 1]
JP 2000-20560 A
[0007]
[Problems to be solved by the invention]
However, in the processing method shown in FIG. 13, even when it is desired to convert the shift register configuration into a partial scan, it is necessary to perform a full scan design once, which increases the design work cost.
Further, as a circuit diagram of the library, a “flip-flop circuit having a scan function exclusively for logic synthesis” as shown in FIG. 4 is separately required. This means that an intermediate gate-level circuit that is not used in an actual integrated circuit is prepared for exclusive use, and a normal flip-flop circuit, a flip-flop circuit having a scan function, and a dedicated circuit having a fixed scan function are provided. Is required at the minimum, and the work at the time of library creation and the library management become inconvenient.
[0008]
Further, the circuit information of the scan function unit must be provided as circuit information before the scan chain connection. For this reason, depending on the simulator, information of the scan function unit may be fetched, and in this case, there is a concern that the calculation speed may be affected or the storage capacity of the storage device may be increased.
In addition, since wiring information that is not intended by the designer at first is added, it is difficult to understand when directly looking at the circuit diagram, and the design efficiency is deteriorated.
[0009]
On the other hand, according to the scan design method shown in FIG. 12, since synthesis is performed by a flip-flop circuit without a scan function, a large timing error occurs when the flip-flop circuit with a scan function is replaced.
On the other hand, in the processing method shown in FIG. 13, in the case of the partial scan from the full scan design circuit, on the other hand, “the circuit part having the shift register configuration in the normal operation mode is extracted and this circuit part There is a high possibility that a difference occurs in the data propagation time between before and after the replacement by the operation of “replacement with a flip-flop circuit that has not been performed”.
[0010]
Therefore, in any case, the optimization work is required again, and the development cost is increased.
In the processing method shown in FIG. 13, the floor plan is created before the selection of the partial scan design or the full scan design, and is performed only for the full scan circuit. For this reason, a portion occupied by the area of the flip-flop circuit is different from the final state, and a floor plan that is optimal in terms of area and timing cannot be obtained. In a process with a small cell delay, such as a recent submicron process, there is a possibility that a large problem such as a skew error occurring after a clock tree is created may occur.
[0011]
In particular, in the case of "applying a test pattern designed by a full scan circuit to a circuit designed by a partial scan", the ATPG pattern generated by the full scan circuit rarely becomes usable. For this reason, there is a need to intentionally perform chain generation in advance so as to do so.
[0012]
When specifying the target of partial scan design with the tool that replaces the flip-flop circuit, since the original circuit does not have information for distinguishing the target, it is necessary to list all the targets with circuit-specific instance names etc. Requires a large storage capacity, and the possibility of occurrence of omission or mistake at the time of designation increases.
[0013]
Further, in the conventional method, when a library is created, in order to prevent a timing difference or the like from appearing after replacement, a large difference is not caused in the delay and the driving ability of the flip-flop circuit without the scan function. Therefore, even when the transistor size can be reduced, a library having a similar size is often created. Such a restriction on the method may be a restriction that hinders optimization of the original area and power consumption cost.
In view of the above, an object of the present invention is to provide a method of designing a semiconductor integrated circuit capable of improving design efficiency and reducing costs by reviewing a logic synthesis method and a processing procedure using an existing library. To provide.
[0014]
[Means for Solving the Problems]
In order to solve the above problems and achieve the object of the present invention, the inventions according to claims 1 to 5 are configured as follows.
That is, the invention according to claim 1 is a method for designing a semiconductor integrated circuit for designing a logic circuit using a logic synthesis tool for a source program for which a function description is designed, wherein a plurality of flip-flops are used in a library used at the time of synthesis. One of these is a flip-flop in which the flip-flop has a fixed terminal for either data input or output during synthesis, or both data input and output terminals are connected only to the data input / output terminal of another flip-flop. Using a library containing a plurality of flip-flops prepared so as to belong to a first group that is one and a second group that is a flip-flop connected to another logic gate or an external port. Circuit synthesis so as to satisfy at least the above connection conditions. The one in which the features.
[0015]
According to a second aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the first aspect, in the circuit synthesis, the flip-flop is configured to have one of a data input terminal and a data input terminal or a data input or output terminal at the time of synthesis. A group in which both output terminals are flip-flops connected only to the data input / output terminal of another flip-flop is defined as a flip-flop without scan function, and flip-flops connected to other logic gates or external ports are replaced with flip-flops with scan function. It is characterized in that a circuit synthesis is performed as a flip-flop in which the timing, area, and input / output drive information corresponding to the later are set.
[0016]
According to a third aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the second aspect, the flip-flop without the scan function and the flip-flop in which timing information is set after replacement with the flip-flop with the scan function are set. When creating a floor plan based on the result of the circuit synthesis composed of the above, the cell layout information corresponding to the circuit assumed to be replaced with the flip-flop is also obtained by using the layout data corresponding to the flip-flop with the scan function after the replacement. It is characterized in that a floor plan is designed using a layout tool.
[0017]
According to a fourth aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the first aspect, when the flip-flop is replaced with a flip-flop with a scan function for a scan test to form a scan chain, at the time of the circuit synthesis. Flip-flops whose data input or output are set to different groups or whose data input / output terminals are connected only to the data input / output terminals of another flip-flop are excluded from replacement. The flip-flop connected to a logic gate or an external port is replaced with a replacement target.
[0018]
According to a fifth aspect of the present invention, there is provided a semiconductor integrated circuit design method for performing logic synthesis based on a source program for which a function description is designed and designing a logic circuit having a scan test function, the first method having a scan function. And a second flip-flop that is replaced with a flip-flop with a scan function during scanning and does not have a scan function, and has a scan function without being replaced with a flip-flop with a scan function during scan processing A third step of preparing a cell library including a third flip-flop that does not have a logic circuit, and in the case of partial scan design, a logic based on the source program using both the second and third flip-flops A second step of creating a logic circuit by performing synthesis; A third step of performing a floor plan process based on the selected logic circuit, and replacing the second flip-flop with the first flip-flop based on the result of the floor plan process, connecting a scan chain, and A fourth step of scanning the circuit; and a fifth step of designing a test pattern for the logic circuit to which the scan chain is connected. In the second step, the partial scan is designed. When the normal data input terminal of any flip-flop is connected to the normal data output terminal of another flip-flop, the normal data output terminal of any flip-flop is connected to the normal data input terminal of another flip-flop. If the normal data input / output terminal of any flip-flop is different from other When the flip-flop is connected to the normal data input / output terminal, the optional flip-flop selects the third flip-flop. When the connection of the optional flip-flop is other than the above, the optional flip-flop is not selected. The second flip-flop is selected.
[0019]
According to the present invention having such a configuration, when designing a partial scan test circuit in a component of a shift register, flip-flops of different groups (names) are arranged according to connection conditions, thereby achieving full scan design. Scan design can be performed directly without taking the above steps. For this reason, it is not necessary to have a full scan data circuit as intermediate data, and the work at the time of library creation and library management costs are reduced.
[0020]
In addition, the absence of intermediate data can reduce the load and investment cost on simulators and storage devices that handle the data, and the composite circuit diagram is a circuit intended by the designer without extra additional wiring. Therefore, the design data can be easily verified, which leads to shortening of the development process.
Further, in the present invention, the timing damage due to replacement during generation of the partial scan circuit is suppressed by setting the parameters of the flip-flop with the scan function in advance for the flip-flop designated as the scan chain target cell. Repetition of the development process such as adjustment can be reduced.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a method for designing a semiconductor integrated circuit of the present invention will be described with reference to the drawings.
FIG. 1 is a flowchart showing the procedure of the method for designing a semiconductor integrated circuit according to this embodiment.
[0022]
FIG. 2 shows a symbol of the flip-flop without scan function 1 used in the method of designing a semiconductor integrated circuit according to this embodiment, and FIG. 3 shows a symbol of the flip-flop with scan function 5 used therefor.
The flip-flop 1 with a scan function has a data input terminal 2, a data output terminal 3, and a clock input terminal 4. In the synthesis library, a name or a number that can be managed as an ASIC component cell is given as a cell name, and this is configured. It is used as a library (hereinafter, referred to as a cell library) together with the circuit diagram of the gate structure.
[0023]
In addition, for the cell, apart from the gate level circuit diagram, a library (hereinafter, technology library) that describes the technology such as layout area, input / output timing characteristics, and input / output driver capability characteristics corresponding to this cell is used. I do.
As shown in FIG. 3, the flip-flop 5 with a scan function selects the data input terminal 6, the data output terminal 7, the clock input terminal 8, the scan input terminal 9, and the data input terminal 6 or the scan input terminal 9. It has a scan switching control signal terminal 10.
[0024]
Next, the procedure of the design method will be described with reference to FIG.
First, in step S21, a plurality of flip-flops are prepared as a cell library. That is, in addition to the flip-flop without the scan function, a flip-flop in which input / output timing characteristics and the like corresponding to replacement with the flip-flop with the scan function are prepared.
[0025]
For example, a flip-flop named “FFA” as a cell name and a flip-flop named “FFB” as a cell name are prepared. In this example, at the time of scanning in step S26 to be described later, a target to be replaced with a flip-flop with a scan function is collectively designated by a flip-flop name. Therefore, the flip-flop designated for replacement is a flip-flop in which input / output timing characteristics, layout area, and input / output drive capability characteristics corresponding to the flip-flop with the scan function beforehand are set in the technology library.
[0026]
In the example of FIG. 6, the values of the technology library for the flip-flops 31 and 32 having the cell name “FFB” are as usual. In the flip-flop having the cell name "FFA", the output 20 of the flip-flop 17 with the scan function is connected to its own scan input terminal as shown in FIG. 5, and the switching signal 21 is fixed so that the scan path is not switched. The characteristics are extracted and replaced with the technology library parameters of the layout area, input / output timing characteristics, and input / output driver capability characteristics.
[0027]
Instead of replacing only the technology library, the circuit itself may use a flip-flop with a scan test function as shown in FIG.
Here, considering the minimum configuration of the library, the cell library prepares the following for flip-flops.
That is, as the cell library, only a flip-flop without a scan test function (see FIG. 2) that differs only in the cell name and a flip-flop with a scan function (see FIG. 3) that is replaced when scanning is performed.
[0028]
The technology library to be set for this includes a parameter whose characteristics are extracted in a state of a normal flip-flop without a scan function (see FIG. 2) and a parameter whose characteristics are extracted in a state equivalent to a flip-flop with a scan function after replacement. Three parameters are prepared: a layout area, input / output timing characteristics, and input / output driver capability characteristics) and parameters obtained by extracting characteristics in the state of a flip-flop with a scan function (see FIG. 3).
[0029]
In step S22, either full scan design or partial scan design is selected. When the full scan design is selected due to the ATPG tool or the like, the process proceeds to step S23, and when the partial scan design is selected, the process proceeds to step S24.
In step S23, only the flip-flop that replaces the flip-flop with the scan function at the time of scanning, which will be described later, is used, and the logic circuit is formed by performing logical synthesis based on the source program for which the function description is designed. create.
[0030]
In this case, it is sufficient to simply remove or disable the normal flip-flops that are not replaced from the synthesis library, and only flip-flops that have the input / output timing characteristics of the flip-flops with a scan function corresponding to the replacement are set. Is logically synthesized.
In step S24, in order to implement the partial scan design, logic synthesis is performed based on the source program for which the function description is designed, and a logic circuit is created.
[0031]
That is, a flip-flop without a scan function that replaces a flip-flop with a scan function during scanning, and a scan test function that does not replace a flip-flop with a scan function during scanning, based on a source program designed and described in terms of function. Using the flip-flops without, logic synthesis is performed according to the definition of the connection conditions of the flip-flops to create a logic circuit.
[0032]
FIG. 6 shows an example of the connection state of the flip-flops of the circuit thus logically synthesized. In this example, at the time of logic synthesis, different flip-flops are adapted depending on whether the data input terminal of any flip-flop constituting the shift register is connected only to the data input / output terminal of another flip-flop. .
That is, in FIG. 6, the data input terminal of the flip-flop 31 is connected to the combinational circuit 30 other than the flip-flop, and the cell name is “FFA”. In addition, since each data input terminal of the flip-flops 32 and 33 is connected to a data input / output terminal of another flip-flop, “FFB” having a cell name different from “FFA” is assigned at the time of logic synthesis.
[0033]
Here, as will be described later, when replacing flip-flops with a scan function as a test design, removing the sequentially connected flip-flops from the replacement targets so as not to increase the layout area increases design efficiency and costs. It is very important for reduction. In this example, as shown in FIG. 7, a flip-flop having a cell name of “FFA” is referred to as a flip-flop having a scan function, and a flip-flop having a cell name of “FFB” is referred to as a flip-flop without a normal scan function. Simply specify them collectively by cell name or group name.
[0034]
At the time of step S24, the cell designated for replacement is a flip-flop in which the timing, layout area, and input / output drive characteristics corresponding to after replacement by the flip-flop with the scan function are set in the technology library in advance. For this reason, logic synthesis is performed in an actual circuit delay state in which flip-flops with a scan function and flip-flops without a scan function coexist.
[0035]
In step S25, a floor plan is examined by a layout tool based on the circuit information generated by the logic synthesis as described above.
Here, by optimizing the layout area, optimizing the wiring, and designing the clock tree by setting what is needed for the floor plan based on the cell layout information assuming replacement of the flip-flop with scan function It is implemented assuming a proper arrangement.
[0036]
In step S26, the scan target of the flip-flop is designated by a cell name (or a group name which is a set of target cells), and is replaced with a flip-flop with a scan function together with floor plan information to connect a scan chain.
By such processing, the circuit diagram of FIG. 6 is replaced with a circuit diagram as shown in FIG. That is, the cell having the cell name "FFA" shown in FIG. 6 is replaced with the flip-flop 35 having the scan function having the cell name "FFAS" as shown in FIG. Is done.
[0037]
In step S27, a test pattern is generated by the automatic test pattern generation tool (ATPG) for the final circuit for which the scan test has become possible.
Here, in the case of the ATPG that can handle only the full scan, since only the library for the full scan is used in step S23, a different flow (procedure) and adjustment are not particularly required.
[0038]
In the last step S28, the layout arrangement and wiring are completed, the layout design is verified, and the semiconductor integrated circuit is completed.
As described above, according to this embodiment, when a partial scan test circuit is designed in a component of a shift register, a flip-flop having a different cell name is arranged according to connection conditions, thereby achieving a full scan design. Scan chains can be designed directly without taking steps. For this reason, it is not necessary to have a full scan data circuit as intermediate data, and the work at the time of library creation and the library management cost are reduced.
[0039]
In addition, the absence of intermediate data can reduce the load and investment cost on simulators and storage devices that handle the data, and the composite circuit diagram is a circuit intended by the designer without extra additional wiring. Therefore, the design data can be easily verified, which leads to shortening of the development process.
Also, both the flip-flop without scan function and the flip-flop with scan function in the final circuit use the one that assumes the circuit that is the final form as a technology file from the synthesis stage, so that it can be replaced when generating the conventional partial scan circuit. Since timing damage is suppressed, repetition of development processes such as timing adjustment can be reduced.
[0040]
Also, in this embodiment, unlike the case where the floor plan is created only by the full scan circuit, the floor plan is created in advance using the layout information of the cell to be replaced with the scan function, so that the flip-flop with the scan function can be used. This is performed in a state where flip-flops without a scan function are mixed. Therefore, it is possible to create an optimized floor plan layout in which the accuracy and timing of the clock tree are accurate and the area is small.
[0041]
In particular, in this embodiment, the pattern created by the ATPG is created based on the final test circuit. Is not advantageous.
Further, according to this embodiment, when the target is specified by the replacement tool, the specification can be easily performed by the cell name (group name). For this reason, the omission of designation or mistake of the target circuit hardly occurs, which is effective for improving the quality circuit and shortening the development period. Also, there is almost no load on the storage device as compared with the case where all the target circuits (such as instant names) are stored.
[0042]
Further, according to this embodiment, since a flip-flop having a shift register configuration can be scheduled in advance at the stage of logic synthesis, it is possible to prepare and adapt a dedicated flip-flop having a small size and low current consumption. It is possible to construct a library in consideration of the layout area and power consumption cost, which can contribute to optimization during logic synthesis and cost reduction.
[0043]
Next, two other application examples of this embodiment will be described with reference to FIGS.
FIG. 8 shows that a flip-flop that is not to be replaced at the time of logic synthesis has a circuit obtained by logic synthesis when its data output terminal is defined as being connected to the data input terminal of another flip-flop. The results are shown.
[0044]
In this example, since the data output terminals of the flip-flops 40 and 41 are connected to other flip-flops, the cell name is "FFB", and the flip-flop 42 has a data output terminal whose final output 44 such as its scan output is external. Is logically synthesized such that the cell name becomes “FFA” different from “FFB”.
Although the data input terminal of the flip-flop 40 is connected to the combinational circuit 43, since the connection condition is checked based on the data output terminal of the flip-flop according to the above definition, the cells of the same group as the flip-flop 41 It has become. When this is scanned, the flip-flop 42 whose cell name is “FFA” shown in FIG. 8 is replaced with a flip-flop 45 with a scan function whose cell name is “FFAS” as shown in FIG. The scan chain 46 and the scan switching signal 47 are wired to enable a scan test.
[0045]
FIG. 10 shows that a flip-flop that is not to be replaced at the time of logic synthesis is obtained by logic synthesis when it is defined that both data input / output terminals are connected to data input / output terminals of another flip-flop. FIG.
In this example, since the data input terminal of the flip-flop 61 is connected to another logic circuit 60, the cell name is “FFA”, and the data output terminal of the flip-flop 63 is connected to another logic circuit 64, so that the cell name is “FFA”. Since both the data input / output terminals of the “FFA” and the flip-flop 62 are connected to another flip-flop, the logic synthesis is performed so that the cell name becomes “FFB”.
[0046]
When this is scanned, the flip-flops 61 and 63 having the cell name “FFA” shown in FIG. 10 are connected to the flip-flops 66 and 67 having the scan function having the cell name “FFAS” as shown in FIG. In place, scan test becomes possible.
This is a definition in a case where it is convenient for all the flip-flops connected to the combinational circuit to be flip-flops with a scan function depending on the ATPG tool.
[0047]
【The invention's effect】
As described above, according to the present invention, when a partial scan test circuit is designed in a constituent part of a shift register, different flip-flops of a technology file are arranged according to connection conditions, thereby achieving a step of full scan design. Scan design can be performed directly without stepping on. For this reason, it is not necessary to have a full scan data circuit as intermediate data, and the work at the time of library creation and the library management cost are reduced.
[0048]
In addition, the absence of intermediate data can reduce the load and investment cost on simulators and storage devices that handle the data, and the composite circuit diagram is a circuit intended by the designer without extra additional wiring. Therefore, the design data can be easily verified, and the development process can be shortened.
Furthermore, in the present invention, both the flip-flop without scan function and the flip-flop with scan function in the final circuit use a circuit which assumes a circuit which is a final form as a technology file from a synthesis stage, thereby achieving a conventional partial scan circuit. Since timing damage due to replacement during generation is suppressed, repetition of development processes such as timing adjustment can be reduced.
[Brief description of the drawings]
FIG. 1 is a flowchart illustrating a procedure of a design method according to an embodiment of a semiconductor integrated circuit of the present invention.
FIG. 2 is a diagram showing symbols of flip-flops without a scan function used in this design method.
FIG. 3 is a diagram showing symbols of flip-flops with a scan function used in this design method.
FIG. 4 is a connection diagram of a flip-flop used by a conventional general scan design method.
FIG. 5 is a circuit diagram when a flip-flop with a scan function is functionally used as a flip-flop without a scan function.
FIG. 6 is a diagram showing a connection state of a flip-flop of a circuit logically synthesized by this design method.
FIG. 7 is a diagram showing a state where the flip-flops of the circuit of FIG. 6 are replaced and scan chains are connected.
FIG. 8 is a diagram illustrating a connection state of a flip-flop of a circuit that is logically synthesized at the time when the definition of the connection condition of the flip-flop is changed.
FIG. 9 is a diagram showing a state where the flip-flops of the circuit of FIG. 8 are replaced and scan chains are connected.
FIG. 10 is a diagram showing the connection states of the flip-flops of the logic-synthesized circuit when the definition of the connection conditions of the flip-flops is further changed.
11 is a diagram showing a state where the flip-flops of the circuit of FIG. 10 are replaced and scan chains are connected.
FIG. 12 is a flowchart showing a procedure of a conventional general scan design method.
FIG. 13 is a flowchart showing a procedure of a scan design method improved as a test method capable of improving design efficiency and reducing costs of a conventional general scan design method.
[Explanation of symbols]
1, 31, 32, 33 Flip-flop without scan function
5,35 flip-flop with scan function
2, 6 Normal data input terminal
3, 7 Normal data output terminal
4, 8 clock terminals
9 Scan data input terminal
10 Scan mode switching terminal
30 Combination circuit

Claims (5)

機能記述設計されたソースプログラムについて論理合成ツールを用いて論理回路設計を行う半導体集積回路の設計方法であって、
合成時に使用するライブラリにおいてフリップフロップを複数用意し、
これらを1つはフリップフロップが合成時にデータ入力もしくは出力のどちらか一方の決められた端子、あるいはデータ入出力双方の端子が別のフリップフロップのデータ入出力端子のみにつながるフリップフロップであるという第1のグループと、もう1つはその他の論理ゲートもしくは外部ポートにもつながるフリップフロップである第2のグループに属するようにし、
前記用意された複数のフリップフロップを含むライブラリを使用して、少なくとも前記接続条件を満たすように回路合成を行うことを特徴とする半導体集積回路の設計方法。
A method for designing a semiconductor integrated circuit, wherein a logic circuit is designed using a logic synthesis tool for a source program designed for function description,
Prepare multiple flip-flops in the library used during synthesis,
One of these is that the flip-flop is a flip-flop in which either the data input or the output terminal is determined at the time of synthesis, or both the data input and output terminals are connected only to the data input / output terminal of another flip-flop. One group and the other belonging to a second group of flip-flops that also connect to other logic gates or external ports,
A method for designing a semiconductor integrated circuit, comprising: performing circuit synthesis so as to satisfy at least the connection condition by using the prepared library including a plurality of flip-flops.
前記回路合成において、
フリップフロップが合成時にデータ入力もしくは出力のどちらか一方の決められた端子、あるいはデータ入出力端子の双方が別のフリップフロップのデータ入出力端子のみにつながるフリップフロップであるというグループをスキャン機能なしフリップフロップとし、
その他の論理ゲートもしくは外部ポートにもつながるフリップフロップをスキャン機能付きフリップフロップ置き換え後に相当するタイミング、面積、入出力ドライブ情報を設定したフリップフロップとする回路合成を行うことを特徴とする請求項1に記載の半導体集積回路の設計方法。
In the circuit synthesis,
Flip-flops without scanning function are defined as a group of flip-flops in which either data input or output is determined at the time of synthesis, or flip-flops in which both data input / output terminals are connected only to data input / output terminals of another flip-flop. And
2. The circuit according to claim 1, wherein the flip-flop connected to the other logic gate or the external port is replaced with a flip-flop with a scan function, and the circuit is converted into a flip-flop in which the timing, area, and input / output drive information are set. The method for designing a semiconductor integrated circuit according to the above.
前記スキャン機能なしフリップフロップと、前記スキャン機能付きフリップフロップに置き換え後を想定したタイミング情報を設定したフリップフロップとで構成された回路合成の結果を基にフロアプランを作成する場合に、フリップフロップに置き換えを想定した回路に対応するセルレイアウトの情報もスキャン機能付きフリップフロップ置き換え後に相当したレイアウトデータを用いてレイアウトツールによるフロアプラン設計を行うことを特徴とする請求項2に記載の半導体集積回路の設計方法。When creating a floor plan based on the result of circuit synthesis composed of the flip-flop without scan function and a flip-flop in which timing information is set assuming that the flip-flop with scan function has been replaced, 3. The semiconductor integrated circuit according to claim 2, wherein information on a cell layout corresponding to the circuit assumed to be replaced is also subjected to floor plan design by a layout tool using the layout data corresponding to the flip-flop with the scan function. Design method. フリップフロップをスキャンテストのためスキャン機能付きフリップフロップに置き換えスキャンチェーン化する場合において、
前記回路合成の時点で異なるグループで設定されたデータ入力もしくは出力のどちらか一方の決められた端子、あるいはデータ入出力双方の端子が別のフリップフロップのデータ入出力端子のみにつながるフリップフロップを置き換え対象外とし、その他の論理ゲートもしくは外部ポートにもつながるフリップフロップを置き換え対象として置き換えを行うことを特徴とする請求項1に記載の半導体集積回路の設計方法。
When replacing flip-flops with flip-flops with scan function for scan test and forming scan chains,
At the time of the circuit synthesis, a predetermined terminal of either data input or output set in a different group, or a flip-flop in which both data input and output terminals are connected only to the data input / output terminal of another flip-flop 2. The method for designing a semiconductor integrated circuit according to claim 1, wherein the replacement is performed with a flip-flop connected to another logic gate or an external port as a replacement target.
機能記述設計されたソースプログラムをもとに論理合成を行い、スキャンテスト機能を備えた論理回路を設計する半導体集積回路の設計方法において、
スキャン機能を有する第1のフリップフロップと、スキャン化の際にスキャン機能付きフリップフロップに置き換わりスキャン機能を有していない第2のフリップフロップと、スキャン化の際にスキャン機能付きフリップフロップに置き換わらずスキャン機能を有していない第3のフリップフロップと、を含むセルライブラリを準備する第1ステップと、
パーシャルスキャン設計の場合に、前記第2および前記第3のフリップフロップの両方を用いて前記ソースプログラムに基づいて論理合成を行って論理回路を作成する第2ステップと、
前記論理合成により作成された論理回路に基づいてフロアプラン処理を行う第3ステップと、
前記フロアプラン処理の結果に基づいて前記第2のフリップフロップを前記第1のフリップフロップに置き換え、スキャンチェーンを接続して前記論理回路のスキャン化を行う第4ステップと、
前記スキャンチェーンが接続された論理回路に対してテストパターン設計を行う第5ステップと、を有し、
前記第2ステップにおける前記パーシャルスキャン設計の際には、
任意のフリップフロップの通常データ入力端子の他のフリップフロップの通常データ出力端子に接続されている場合、任意のフリップフロップの通常データ出力端子が他のフリップフロップの通常データ入力端子に接続されている場合、または任意のフリップフロップの通常データ入出力端子が他の異なるフリップフロップの通常データ入出力端子に接続されている場合は、前記任意のフリップフロップは第3のフリップフロップを選択し、
任意のフリップフロップの接続が前記以外の場合は、前記任意のフリップフロップは前記第2のフリップフロップを選択することを特徴とする半導体集積回路の設計方法。
Functional description A logic synthesis is performed based on a designed source program, and in a semiconductor integrated circuit design method of designing a logic circuit having a scan test function,
A first flip-flop having a scan function, a second flip-flop that has been replaced with a flip-flop with a scan function at the time of scanning and has no scan function, and has been replaced with a flip-flop with a scan function at the time of scanning. First step of preparing a cell library including a third flip-flop not having a scan function;
A second step of performing logic synthesis based on the source program using both the second and third flip-flops to create a logic circuit in the case of partial scan design;
A third step of performing floor plan processing based on the logic circuit created by the logic synthesis;
A fourth step of replacing the second flip-flop with the first flip-flop based on a result of the floor plan processing and connecting a scan chain to scan the logic circuit;
A fifth step of designing a test pattern for the logic circuit to which the scan chain is connected,
In the partial scan design in the second step,
When the normal data input terminal of any flip-flop is connected to the normal data output terminal of another flip-flop, the normal data output terminal of any flip-flop is connected to the normal data input terminal of another flip-flop Or if the normal data input / output terminal of any flip-flop is connected to the normal data input / output terminal of another different flip-flop, the arbitrary flip-flop selects the third flip-flop;
The method of designing a semiconductor integrated circuit, wherein when the connection of an arbitrary flip-flop is other than the above, the arbitrary flip-flop selects the second flip-flop.
JP2002365443A 2002-12-17 2002-12-17 Method for designing semiconductor integrated circuit Pending JP2004199268A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002365443A JP2004199268A (en) 2002-12-17 2002-12-17 Method for designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002365443A JP2004199268A (en) 2002-12-17 2002-12-17 Method for designing semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2004199268A true JP2004199268A (en) 2004-07-15

Family

ID=32762995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002365443A Pending JP2004199268A (en) 2002-12-17 2002-12-17 Method for designing semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2004199268A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008224238A (en) * 2007-03-08 2008-09-25 Ricoh Co Ltd Semiconductor integrated circuit, semiconductor integrated circuit design support device, and method for manufacturing the semiconductor integrated circuit
JP2017106826A (en) * 2015-12-10 2017-06-15 株式会社リコー Scan test circuit generation device and scan test circuit generation method
KR20240037159A (en) * 2022-09-14 2024-03-21 주식회사 메타씨앤아이 Method for providing complex logic cell for adjusting output phase and computing system for generating the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008224238A (en) * 2007-03-08 2008-09-25 Ricoh Co Ltd Semiconductor integrated circuit, semiconductor integrated circuit design support device, and method for manufacturing the semiconductor integrated circuit
JP2017106826A (en) * 2015-12-10 2017-06-15 株式会社リコー Scan test circuit generation device and scan test circuit generation method
KR20240037159A (en) * 2022-09-14 2024-03-21 주식회사 메타씨앤아이 Method for providing complex logic cell for adjusting output phase and computing system for generating the same
KR102656245B1 (en) 2022-09-14 2024-04-09 주식회사 메타씨앤아이 Method for providing complex logic cell for adjusting output phase and computing system for generating the same

Similar Documents

Publication Publication Date Title
US7919981B2 (en) Integrated circuit design based on scan design technology
US20060282727A1 (en) Scan test design method, scan test circuit, scan test circuit insertion cad program, large-scale integrated circuit and mobile digital equipment
JP2010199106A (en) Method for designing semiconductor integrated circuit, designing program and semiconductor integrated circuit
JP2001357090A (en) Method and device for synthesizing logic
JP2008112318A (en) Power consumption optimization method and semiconductor design device for semiconductor integrated circuit
JP2004078759A (en) Method for designing integrated circuit having scan function
JP2002312410A (en) Logically designed circuit layout design, method, device for controlling timing, and program for executing the method, and outline flow chart showing processing order by computer readable program recorded with the program
JP2004199268A (en) Method for designing semiconductor integrated circuit
JP5160039B2 (en) Semiconductor device and method for adding test circuit thereof
JPH10197603A (en) Semiconductor integrated circuit and inspection method therefor
JP2004012374A (en) Test system, inspection method, and scan test pattern preparation method for semiconductor integrated circuit
JP4416469B2 (en) Semiconductor integrated circuit and design method thereof
JP3853063B2 (en) Scan test circuit
JP2954194B1 (en) Clock skew reduction method and system
JPH11125662A (en) Semiconductor integrated circuit and method for execution full scan
JP3278833B2 (en) Logic circuit test method, test input circuit and test output circuit
JP4223319B2 (en) Semiconductor integrated circuit and test generation program
JP3548922B2 (en) Circuit design method using boundary scan dummy cells
JP2003172771A (en) Test pattern creation method of system lsi, test pattern creation device, test method and test circuit
JP2000020560A (en) Test design method for semiconductor integrated circuit
JP3982632B2 (en) Automatic compression / reduction of latches
JP2009004700A (en) Inserting/arranging method of spare cell
JP2001185622A (en) Semiconductor integrated circuit and its modification method
JPH11160399A (en) Semiconductor integrated circuit, and method and equipment for logic design of semiconductor integrated circuit
JP2004126693A (en) Integrated circuit designing method and its program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070402

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014