(57)【特許請求の範囲】
【請求項１】
スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置であって、
スキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係および位置を示したネットリストを受け付ける入力手段と、
前記入力手段が受け付けたネットリストにて示される本体回路内に観測ポイントを設け、前記観測ポイントを設けた半導体集積回路内の回路の接続関係および位置を示した観測ネットリストを作成するリスト作成手段と、
前記リスト作成手段にて作成された観測ネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける座標抽出手段と、
前記観測ポイントと、該観測ポイントと前記座標抽出手段にて関連づけられたスペアセルが含むスキャンフリップフロップと、が配線を用いて接続された半導体集積回路内の回路の接続関係および位置を示したスキャンネットリストを作成する信号接続手段と、を含み、
前記本体回路は、フリップフロップとゲートとを含み、
前記入力手段は、前記観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件をさらに受け付け、
前記リスト作成手段は、前記入力手段が前記ネットリストを受け付けると、前記受け付けられたネットリストに示されたスキャンフリップフロップの数を算出し、前記入力手段が受け付けたネットリストにて示される本体回路に前記観測ポイントの候補となる候補ポイントを複数設け、前記候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を前記候補ポイントごとに算出し、前記受け付けた算出条件にしたがって、前記算出したフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出し、前記算出した基準数が多い候補ポイントから順に、前記算出されたスキャンフリップフロップの数だけ前記候補ポイントを前記観測ポイントとして抽出し、前記観測ポイントを前記算出されたスキャンフリップフロップの数だけ設ける、半導体集積回路設計装置。
【請求項２】
スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置であって、
観測用端子と接続されたスキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係を示したネットリストを受け付ける入力手段と、
前記入力手段が受け付けたネットリストにて示される本体回路内に観測ポイントを設け、前記観測ポイントを設けた半導体集積回路内の回路の接続関係を示した観測ネットリストを作成するリスト作成手段と、
前記リスト作成手段にて作成された観測ネットリストが示す半導体集積回路内に設けられた観測ポイントを前記観測用端子と接続し、前記観測ポイントと前記観測用端子とが接続された半導体集積回路内の回路の接続関係を示す接続ネットリストを作成する信号接続手段と、
前記信号接続手段にて作成された接続ネットリストが示す半導体集積回路をレイアウトし、レイアウトされた半導体集積回路内の回路の接続関係および位置を示したレイアウトネットリストを作成する最適化手段と、
前記最適化手段にて作成されたレイアウトネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける座標抽出手段と、
前記最適化手段にてレイアウトされた観測ポイントおよび観測用端子を接続する配線を切断し、前記観測ポイントを、該観測ポイントと前記座標抽出手段にて関連づけられたスペアセルが含む観測用端子と、配線を用いて接続する信号切換手段と、
を含む半導体集積回路設計装置。
【請求項３】
請求項２に記載の半導体集積回路設計装置において、
前記リスト作成手段は、前記入力手段が前記ネットリストを受け付けると、前記受け付けられたネットリストに示された観測用端子の数を算出し、前記観測ポイントを前記算出された観測用端子の数だけ設ける、半導体集積回路設計装置。
【請求項４】
請求項３に記載の半導体集積回路設計装置において、
前記本体回路は、フリップフロップとゲートを含み、
前記入力手段は、前記観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件をさらに受け付け、
前記リスト作成手段は、前記観測用端子の数を算出すると、前記入力手段が受け付けたネットリストにて示される本体回路に前記観測ポイントの候補となる候補ポイントを複数設け、前記候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を前記候補ポイントごとに算出し、前記受け付けた算出条件にしたがって、前記算出したフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出し、前記算出した基準数が多い候補ポイントから順に、前記算出された観測用端子の数だけ前記候補ポイントを前記観測ポイントとして抽出する、半導体集積回路設計装置。
【請求項５】
請求項２ないし４のいずれか１項に記載の半導体集積回路設計装置において、
前記信号接続手段にて接続ネットリストが作成されると、前記作成された接続ネットリストが示す半導体集積回路の遅延を軽減するための遅延制約条件を作成する遅延制約作成手段、をさらに含み、
前記最適化手段は、前記遅延制約作成手段にて作成された遅延制約条件を満足するように、前記接続ネットリストにて示された半導体集積回路をレイアウトする、半導体集積回路設計装置。
【請求項６】
請求項３ないし５のいずれか１項に記載の半導体集積回路設計装置において、
前記半導体集積回路の目標故障検出率を記憶する記憶手段と、
前記信号接続手段にて接続ネットリストが作成されると、前記作成された接続ネットリストが示す半導体集積回路の故障検出率を算出し、前記算出した故障検出率が前記目標故障検出率以上か否かを判断し、前記算出した故障検出率が前記目標故障検出率未満であると、前記作成された接続ネットリストに示されたスキャンフリップフロップと接続している観測用端子を増加させ、前記観測用端子が増加した半導体集積回路内の回路の接続関係を示す増加ネットリストを作成する故障検出手段と、をさらに含み、
前記リスト作成手段は、前記故障検出手段にて増加ネットリストが作成されると、前記作成された増加ネットリストに示された観測用端子の数を計算し、前記観測ポイントを前記計算された観測用端子の数だけ設ける、半導体集積回路設計装置。
【請求項７】
スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置が行なう半導体集積回路設計方法であって、
スキャンフリップフロップが含まれるスペアセルおよび本体回路を有し、前記本体回路は、フリップフロップとゲートとを含む、半導体集積回路内の回路の接続関係および位置を示したネットリストを受け付ける入力ステップと、
観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件を受け付ける受付ステップと、
前記受け付けられたネットリストに示されたスキャンフリップフロップの数を算出する算出ステップと、
前記入力ステップにて受け付けられたネットリストが示す本体回路に前記観測ポイントの候補となる候補ポイントを複数設ける候補設置ステップと、
前記候補設置ステップにて設けられた候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を前記候補ポイントごとに算出する近傍算出ステップと、
前記受付ステップにて受け付けられた算出条件に従って、前記算出されたフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出する基準算出ステップと、
前記基準算出ステップにて算出された基準数が多い候補ポイントから順に、前記近傍算出ステップにて算出されたスキャンフリップフロップの数だけ前記候補ポイントを前記観測ポイントとして抽出する抽出ステップと、
前記入力ステップにて受け付けられたネットリストが示す本体回路内に、前記観測ポイントを前記算出されたスキャンフリップフロップの数だけ設ける算出設置ステップと、
前記観測ポイントを設けた半導体集積回路内の回路の接続関係および位置を示した観測ネットリストを作成するリスト作成ステップと、
前記リスト作成ステップにて作成された観測ネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける関連ステップと、
前記観測ポイントと、該観測ポイントと前記関連ステップにて関連づけられたスペアセルが含むスキャンフリップフロップと、が配線を用いて接続された半導体集積回路内の回路の接続関係および位置を示したスキャンネットリストを作成する設計ステップと、
を含む半導体集積回路設計方法。
【請求項８】
スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置が行なう半導体集積回路設計方法であって、
観測用端子と接続されたスキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係を示したネットリストを受け付ける入力ステップと、
前記入力ステップにて受け付けられたネットリストが示す本体回路内に観測ポイントを設ける設置ステップと、
前記観測ポイントを設けた半導体集積回路内の回路の接続関係を示した観測ネットリストを作成するリスト作成ステップと、
前記リスト作成ステップにて作成された観測ネットリストが示す半導体集積回路内の観測ポイントを前記観測用端子と接続する接続ステップと、
前記観測ポイントと前記観測用端子とが接続された半導体集積回路内の回路の接続関係を示す接続ネットリストを作成する接続作成ステップと、
前記接続作成ステップにて作成された接続ネットリストが示す半導体集積回路をレイアウトする最適化ステップと、
前記最適化ステップにてレイアウトされた半導体集積回路内の回路の接続関係および位置を示したレイアウトネットリストを作成するレイアウト作成ステップと、
前記レイアウト作成ステップにて作成されたレイアウトネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける関連ステップと、
前記最適化ステップにてレイアウトされた観測ポイントおよび観測用端子を接続する配線を切断する切断ステップと
前記観測ポイントを、該観測ポイントと前記関連ステップにて関連づけられたスペアセルが含む観測用端子と、配線を用いて接続する配線ステップと、
を含む半導体集積回路設計方法。
【請求項９】
請求項８に記載の半導体集積回路設計方法において、
前記入力ステップにて前記ネットリストが受け付けられると、前記受け付けられたネットリストに示された観測用端子の数を算出する観測数算出ステップと、
前記観測ポイントを前記観測数算出ステップにて算出された観測用端子の数だけ設ける観測数設置ステップと、
をさらに含む半導体集積回路設計方法。
【請求項１０】
請求項９に記載の半導体集積回路設計方法において、
前記本体回路は、フリップフロップとゲートを含み、
前記観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件を受け付ける受付ステップと、
前記観測数算出ステップにて観測用端子の数が算出されると、前記入力ステップにて受け付けられたネットリストが示す本体回路に前記観測ポイントの候補となる候補ポイントを複数設ける候補設置ステップと、
前記候補設置ステップにて設けられた候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を前記候補ポイントごとに算出する近傍算出ステップと、
前記受付ステップにて受け付けられた算出条件にしたがって、前記算出されたフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出する基準算出ステップと、
前記基準算出ステップにて算出された基準数が多い候補ポイントから順に、前記近傍算出ステップにて算出された観測用端子の数だけ前記候補ポイントを前記観測ポイントとして抽出する抽出ステップと、
をさらに含む半導体集積回路設計方法。
【請求項１１】
請求項８ないし１０のいずれか１項に記載の半導体集積回路設計方法において、
前記接続作成ステップにて接続ネットリストが作成されると、前記作成された接続ネットリストが示す半導体集積回路の遅延を軽減するための遅延制約条件を作成する遅延制約作成ステップと、
前記遅延制約作成ステップにて作成された遅延制約条件を満足するように、前記接続ネットリストにて示された半導体集積回路をレイアウトする遅延制約最適化ステップと、
をさらに含む半導体集積回路設計方法。
【請求項１２】
請求項９ないし１１のいずれか１項に記載の半導体集積回路設計方法において、
前記半導体集積回路設計装置は、前記半導体集積回路の目標故障検出率を記憶する記憶手段を含み、
前記接続作成ステップにて接続ネットリストが作成されると、前記作成された接続ネットリストが示す半導体集積回路の故障検出率を算出する検出率算出ステップと、
前記検出率算出ステップにて算出された故障検出率が前記目標故障検出率以上か否かを判断する判断ステップと、
前記検出率算出ステップにて算出された故障検出率が前記目標故障検出率未満であると、前記作成された接続ネットリストに示されたスキャンフリップフロップと接続している観測用端子を増加させる増加ステップと、
前記観測用端子が増加した半導体集積回路内の回路の接続関係を示す増加ネットリストを作成する増加作成ステップと、
前記増加作成ステップにて増加ネットリストが作成されると、前記作成された増加ネットリストが示す観測用端子の数を計算する計算ステップと、
前記観測ポイントを前記計算された観測用端子の数だけ設ける増加設置ステップと、
を含む半導体集積回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計装置および半導体集積回路設計方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の小型化等により、半導体集積回路に含まれる回路の数が非常に多くなっており、その結果、半導体集積回路に含まれる回路の動作をテストすることが困難になっている。このため、様々なテスト容易化設計技術（ＤＦＴ：Ｄｅｓｉｇｎ Ｆｏｒ Ｔｅｓｔａｂｉｌｉｔｙ）が開発されている。
【０００３】
テスト容易化設計技術の一つに、故障を検出するためのスキャンセルが半導体集積回路に設けられたスキャンパス方式がある。スキャンパス方式において、スキャンセルは、半導体集積回路に含まれるゲート間の配線に接続される。また、スキャンセルが接続される配線上の点は観測ポイントと呼ばれる。スキャンパス方式では、テスト信号が半導体集積回路に入力され、スキャンセルを介して出力された出力信号が検出されることによって、半導体集積回路の動作がテストされる。
【０００４】
しかしながら、スキャンセルが半導体集積回路に設けられると、半導体集積回路の面積が増加してしまう。
【０００５】
特許文献１（特開２００２−１３１３９１号公報）には、半導体集積回路の修正時に用いられるスペアセルがスキャンセルとして利用される半導体集積回路が記載されている。この半導体集積回路では、スペアセルがスキャンセルとして利用されるので、専用のスキャンセルが半導体集積回路に設けられることによる半導体集積回路の面積増加が軽減される。
【特許文献１】特開２００２−１３１３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の半導体集積回路では、スペアセルと観測ポイントとが接続される際に、スペアセルおよび観測ポイントの配置位置、および、スペアセルと観測ポイントとを接続する配線の長さが考慮されていない。このため、この半導体集積回路では、スペアセルと観測ポイントとが配線にて接続される際に、スペアセルおよび観測ポイントを接続する配線の長さが長くなる可能性があり、その結果、半導体集積回路の動作に遅延が起きる可能性がある。
【０００７】
本発明の目的は、スペアセルをスキャンセルとして用いた際に、半導体集積回路の遅延を軽減することが可能な半導体集積回路設計装置および半導体集積回路設計方法を提供することである。
【課題を解決するための手段】
【０００８】
前記目的を達成するために、本発明の半導体集積回路設計装置は、スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置であって、スキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係および位置を示したネットリストを受け付ける入力手段と、前記入力手段が受け付けたネットリストにて示される本体回路内に観測ポイントを設け、前記観測ポイントを設けた半導体集積回路内の回路の接続関係および位置を示した観測ネットリストを作成するリスト作成手段と、前記リスト作成手段にて作成された観測ネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける座標抽出手段と、前記観測ポイントと、該観測ポイントと前記座標抽出手段にて関連づけられたスペアセルが含むスキャンフリップフロップと、が配線を用いて接続された半導体集積回路内の回路の接続関係および位置を示したスキャンネットリストを作成する信号接続手段と、を含み、前記本体回路は、フリップフロップとゲートとを含み、前記入力手段は、前記観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件をさらに受け付け、前記リスト作成手段は、前記入力手段が前記ネットリストを受け付けると、前記受け付けられたネットリストに示されたスキャンフリップフロップの数を算出し、前記入力手段が受け付けたネットリストにて示される本体回路に前記観測ポイントの候補となる候補ポイントを複数設け、前記候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を前記候補ポイントごとに算出し、前記受け付けた算出条件にしたがって、前記算出したフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出し、前記算出した基準数が多い候補ポイントから順に、前記算出されたスキャンフリップフロップの数だけ前記候補ポイントを前記観測ポイントとして抽出し、前記観測ポイントを前記算出されたスキャンフリップフロップの数だけ設ける。
【０００９】
また、本発明の半導体集積回路設計方法は、スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置が行なう半導体集積回路設計方法であって、スキャンフリップフロップが含まれるスペアセルおよび本体回路を有し、前記本体回路は、フリップフロップとゲートとを含む、半導体集積回路内の回路の接続関係および位置を示したネットリストを受け付ける入力ステップと、観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件を受け付ける受付ステップと、前記受け付けられたネットリストに示されたスキャンフリップフロップの数を算出する算出ステップと、前記入力ステップにて受け付けられたネットリストが示す本体回路に前記観測ポイントの候補となる候補ポイントを複数設ける候補設置ステップと、前記候補設置ステップにて設けられた候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を前記候補ポイントごとに算出する近傍算出ステップと、前記受付ステップにて受け付けられた算出条件に従って、前記算出されたフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出する基準算出ステップと、前記基準算出ステップにて算出された基準数が多い候補ポイントから順に、前記近傍算出ステップにて算出されたスキャンフリップフロップの数だけ前記候補ポイントを前記観測ポイントとして抽出する抽出ステップと、前記入力ステップにて受け付けられたネットリストが示す本体回路内に、前記観測ポイントを前記算出されたスキャンフリップフロップの数だけ設ける算出設置ステップと、前記観測ポイントを設けた半導体集積回路内の回路の接続関係および位置を示した観測ネットリストを作成するリスト作成ステップと、前記リスト作成ステップにて作成された観測ネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける関連ステップと、前記観測ポイントと、該観測ポイントと前記関連ステップにて関連づけられたスペアセルが含むスキャンフリップフロップと、が配線を用いて接続された半導体集積回路内の回路の接続関係および位置を示したスキャンネットリストを作成する設計ステップと、を含む。
【００１０】
上記発明によれば、ネットリストが示す本体回路に観測ポイントが設けられ、設けられた観測ポイントが、該観測ポイントの近傍にあるスペアセルに含まれるスキャンフリップフロップと配線を用いて接続される。
【００１１】
これにより、スペアセルをスキャンセルとして用いた際に、観測ポイントとスキャンフリップフロップとを接続する配線の長さを短くすることが可能になる。よって、スペアセルをスキャンセルとして用いた際に、半導体集積回路の遅延を軽減することが可能になる。
【００１３】
上記発明によれば、観測ポイントが、ネットリストに示されたスキャンフリップフロップの数だけ設けられる。これにより、全てのスキャンフリップフロップを観測ポイントと接続することが可能になるため、スペアセルを無駄なく用いることが可能になる。
【００１５】
上記発明によれば、観測ポイントの候補となる候補ポイントが設けられ、設けられた候補ポイントと近傍で接続されているフリップフロップの数およびゲートの数から候補ポイントの基準数が算出される。この算出された基準数が多い候補ポイント順に、候補ポイントが観測ポイントとして抽出される。
【００１６】
したがって、近傍に接続されたフリップフロップおよびゲートの数が多い候補ポイントから順に観測ポイントとして抽出することが可能になる。よって、近傍に接続されたフリップフロップおよびゲートの数が多い半導体集積回路内の箇所に観測ポイントが設けられると、一つの観測ポイントで多くのゲートの動作をテストできるので、故障検出率を高くすることが可能になる。
【００１７】
また、本発明の半導体集積回路設計装置は、スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置であって、観測用端子と接続されたスキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係を示したネットリストを受け付ける入力手段と、前記入力手段が受け付けたネットリストにて示される本体回路内に観測ポイントを設け、前記観測ポイントを設けた半導体集積回路内の回路の接続関係を示した観測ネットリストを作成するリスト作成手段と、前記リスト作成手段にて作成された観測ネットリストが示す半導体集積回路内に設けられた観測ポイントを前記観測用端子と接続し、前記観測ポイントと前記観測用端子とが接続された半導体集積回路内の回路の接続関係を示す接続ネットリストを作成する信号接続手段と、前記信号接続手段にて作成された接続ネットリストが示す半導体集積回路をレイアウトし、レイアウトされた半導体集積回路内の回路の接続関係および位置を示したレイアウトネットリストを作成する最適化手段と、前記最適化手段にて作成されたレイアウトネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける座標抽出手段と、前記最適化手段にてレイアウトされた観測ポイントおよび観測用端子を接続する配線を切断し、前記観測ポイントを、該観測ポイントと前記座標抽出手段にて関連づけられたスペアセルが含む観測用端子と、配線を用いて接続する信号切換手段と、を含む。
【００１８】
また、本発明の半導体集積回路設計方法は、スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置が行なう半導体集積回路設計方法であって、観測用端子と接続されたスキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係を示したネットリストを受け付ける入力ステップと、前記入力ステップにて受け付けられたネットリストが示す本体回路内に観測ポイントを設ける設置ステップと、前記観測ポイントを設けた半導体集積回路内の回路の接続関係を示した観測ネットリストを作成するリスト作成ステップと、前記リスト作成ステップにて作成された観測ネットリストが示す半導体集積回路内の観測ポイントを前記観測用端子と接続する接続ステップと、前記観測ポイントと前記観測用端子とが接続された半導体集積回路内の回路の接続関係を示す接続ネットリストを作成する接続作成ステップと、前記接続作成ステップにて作成された接続ネットリストが示す半導体集積回路をレイアウトする最適化ステップと、前記最適化ステップにてレイアウトされた半導体集積回路内の回路の接続関係および位置を示したレイアウトネットリストを作成するレイアウト作成ステップと、前記レイアウト作成ステップにて作成されたレイアウトネットリストに基づいて、前記観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける関連ステップと、前記最適化ステップにてレイアウトされた観測ポイントおよび観測用端子を接続する配線を切断する切断ステップと前記観測ポイントを、該観測ポイントと前記関連ステップにて関連づけられたスペアセルが含む観測用端子と、配線を用いて接続する配線ステップと、を含む。
【００１９】
上記発明によれば、観測ポイントとスキャンフリップフロップに接続された観測用端子とが接続された半導体集積回路内の接続関係を示した接続ネットリストが作成される。この接続ネットリストにて示される半導体集積回路がレイアウトされ、その後、観測ポイントと観測用端子とを接続している配線が切断され、観測ポイントと該観測ポイントの近傍にあるスペアセルが含む観測用端子とが配線を用いて接続される。
【００２０】
これにより、半導体集積回路内の回路の位置を示さないネットリストが受け付けられても、観測ポイントとスキャンフリップフロップと配線を短くすることが可能になる。よって、スペアセルをスキャンセルとして用いる際に、遅延を軽減することが可能になる。
【００２１】
また、前記ネットリストが受け付けられると、前記受け付けられたネットリストに示された観測用端子の数が算出され、前記設けられた観測ポイントが前記算出された観測用端子の数だけ設けられることが望ましい。
【００２２】
上記発明によれば、観測ポイントが、観測用端子の数だけ設けられる。これにより、スペアセルをスキャンセルとして用いる際に、全ての観測用端子が、観測ポイントと接続可能になるため、スペアセルを無駄なく用いることが可能になる。
【００２３】
また、前記本体回路は、フリップフロップとゲートを含み、前記観測ポイントを設けるための基準数を前記フリップフロップの数および前記ゲートの数から算出する旨の算出条件が受け付けられ、前記観測用端子の数が算出されると、前記受け付けたネットリストにて示される本体回路に前記観測ポイントの候補となる候補ポイントが複数設けられ、設けられた候補ポイントと近傍で接続されているフリップフロップの数およびゲートの数が候補ポイントごとに算出され、前記算出ステップにて受け付けられた算出条件に従って、前記算出されたフリップフロップの数およびゲートの数から各候補ポイントの基準数が算出され、前記算出された基準数が多い候補ポイントから順に、前記算出された観測用端子の数だけ前記候補ポイントが前記観測ポイントとして抽出されることが望ましい。
【００２４】
上記発明によれば、観測ポイントの候補となる候補ポイントが設けられ、候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を候補ポイントごとに算出し、前記算出したフリップフロップの数およびゲートの数から各候補ポイントの基準数が算出される。この算出された基準数が多い候補ポイント順に、候補ポイントが観測ポイントとして抽出される。
【００２５】
したがって、近傍に接続されているフリップフロップおよびゲートの数が多い候補ポイントから順に観測ポイントとして抽出することが可能になる。よって、近傍にフリップフロップおよびゲートの数が多い半導体集積回路内の箇所に観測ポイントが設けられると、一つの観測ポイントで多くのゲートの動作をテストできるので、故障検出率を高くすることが可能になる。
【００２６】
また、前記接続ネットリストが作成されると、前記作成された接続ネットリストが示す半導体集積回路の遅延を軽減するための遅延制約条件が作成され、前記作成された遅延制約条件を満足するように、前記接続ネットリストにて示された半導体集積回路がレイアウトされることが望ましい。
【００２７】
上記発明によれば、遅延を軽減するための遅延制約条件が作成され、作成された遅延制約条件を満足するように、接続ネットリストにて示された半導体集積回路がレイアウトされる。よって、半導体集積回路がレイアウトされる際、遅延制約条件を満足することが可能になるので、半導体集積回路の遅延を軽減することが可能になる。
【００２８】
また、前記半導体集積回路の目標故障検出率が記憶され、前記接続ネットリストが作成されると、前記作成された接続ネットリストが示す半導体集積回路の故障検出率が算出され、前記算出された故障検出率が前記目標故障検出率以上か否かが判断され、前記算出された故障検出率が前記目標故障検出率未満であると、前記作成された接続ネットリストに示されたスキャンフリップフロップと接続している観測用端子が増加され、前記観測用端子が増加された半導体集積回路内の回路の接続関係を示す増加ネットリストが作成され、前記増加ネットリストが作成されると、前記作成された増加ネットリストに示された観測用端子の数が計算され、前記観測ポイントが前記計算された観測用端子の数だけ設けられることが望ましい。
【００２９】
上記発明によれば、故障検出率が目標故障検出率に満たないと、観測用端子数が増加された半導体集積回路内の回路の接続関係を示す増加ネットリストが作成され、観測ポイントは、作成された増加ネットリストに示される観測用端子の数だけ設けられる。これにより、故障検出率が目標故障検出率に満たないと、観測ポイントの数を増加させることが可能になるので、故障検出率を高くすることが可能になる。
【発明の効果】
【００３０】
本発明によれば、スペアセルをスキャンセルとして用いた際に、半導体集積回路の遅延を軽減することが可能になる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施例について図面を参照して説明する。
【００３２】
先ず、半導体集積回路に含まれるスペアセルについて説明する。
【００３３】
図２は、半導体集積回路に含まれるスペアセルの一例を示した回路図である。
【００３４】
図２において、スペアセル２００は、クランプ回路１および２と、ＡＮＤ回路３と、ＯＲ回路４と、ＥＸＯＲ回路５と、インバータ回路６と、セレクタ７および８と、フリップフロップ９と、クロック入力端子５０とを含む。
【００３５】
スペアセル２００は、半導体集積回路に含まれ、例えば、設計終盤に論理の修正が行われる場合など、小規模な設計変更が行われる場合に使用される。また、設計変更が行われる場合、スペアセル２００に含まれる各種ゲートは、配線を修正することにより使用される。
【００３６】
図３は、スキャン機能を付加したスペアセルの一例を示した回路図である。なお、図３において、図２に示した構成と同一の構成には同一の符号が付してある。
【００３７】
図３において、スペアセル３００は、クランプ回路１および２と、ＡＮＤ回路３と、ＯＲ回路４と、ＥＸＯＲ回路５と、インバータ回路６と、セレクタ７および８と、スキャンフリップフロップ３０と、クロック入力端子５０と、スキャン端子５１ないし５３と、テストモード信号端子５４と、バッファ回路２０とをさらに含む。
【００３８】
スキャンフリップフロップ３０は、フリップフロップ９と同様な機能を有し、さらにスキャン端子５１ないし５３と接続されている。
【００３９】
スキャン端子５１は、半導体集積回路の動作のテスト信号であるスキャンイン信号をスキャンフリップフロップ３０に出力する。
【００４０】
テストモード信号端子５４は、テストモードのＯＮとＯＦＦとのいずれかを示すテストモード信号をスキャンフリップフロップ３０の前段にあるセレクタ８に出力する。
【００４１】
セレクタ８は、テストモードＯＮを示すテスト信号を受け付けると、バッファ回路２０と接続する。
【００４２】
スペアセル３００がスキャンセルとして使用される場合、ＥＸＯＲ回路５とバッファ回路２０とを接続する配線が切断され、スキャンフリップフロップ３０は、セレクタ８およびバッファ回路２０を介して観測ポイントに接続される。
【００４３】
スキャンフリップフロップ３０は、セレクタ８が出力した信号を保持し、クロック入力端子５０が受け付けるパルス信号に従い、保持している信号をスキャンアウト信号としてスキャン端子５３に出力する。なお、スキャンフリップフロップ３０から出力されたスキャンアウト信号にて、半導体集積回路の動作がテストされる。
【００４４】
スキャン端子５２は、例えば、スキャンアウト信号の出力先の決定など、スキャンフリップフロップ３０の動作を制御する制御信号を受け付ける。
【００４５】
図１は、本発明の一実施例の半導体集積回路設計装置の構成を示したブロック図である。具体的には、半導体集積回路内の回路の接続関係および位置を示したネットリストに基づいて、スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置の構成を示したブロック図である。
【００４６】
図１において、半導体集積回路設計装置は、設計部１００と、入力部１１０とを含む。
【００４７】
入力部１１０は、ネットリストＡおよび算出条件を受け付ける。
【００４８】
ここで、ネットリストＡは、スキャンフリップフロップが含まれるスペアセル（例えば、スペアセル３００）と本体回路とを含む半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示す。なお、ネットリストＡは、スペアセルを複数含む。また、本体回路は、フリップフロップおよびゲートを含む。
【００４９】
また、算出条件は、ネットリストＡにて示される半導体集積回路に観測ポイントを特定するための基準数を、フリップフロップの数およびゲートの数から算出する旨の条件である。例えば、算出条件にしたがって、基準数は、フリップフロップの数を３倍した数とゲートの数との和に設定される。
【００５０】
入力部１１０は、ネットリストＡおよび算出条件を受け付けると、受け付けたネットリストＡおよび算出条件を設計部１００（具体的には、リスト作成部１０）に出力する。
【００５１】
設計部１００は、リスト作成部１０と、座標抽出部１１と、信号接続部１２とを含む。
【００５２】
リスト作成部１０は、ネットリストＡおよび算出条件を受け付けると、受け付けたネットリストＡにて示されるスキャンフリップフロップの数を算出する。
【００５３】
リスト作成部１０は、スキャンフリップフロップの数を算出すると、算出したスキャンフリップフロップの数だけ観測ポイントを、ネットリストＡが示す本体回路内に設ける。
【００５４】
具体的には、リスト作成部１０は、受け付けたネットリストＡが示す本体回路内に観測ポイントの候補となる候補ポイントを複数設ける。
【００５５】
リスト作成部１０は、候補ポイントを設けると、設けた候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数を、設けた候補ポイントごとに算出する。
【００５６】
具体的には、先ず、リスト作成部１０は、候補ポイントを設けると、設けた候補ポイントから一つ候補ポイントを選択する。
【００５７】
続いて、リスト作成部１０は、候補ポイントを選択すると、選択した候補ポイントを起点とし、フリップフロップを終点とするファンイントレースを行い、ファンイントレース上にあるフリップフロップの数およびゲートの数を算出する。
【００５８】
また、リスト作成部１０は、選択した候補ポイントを起点とし、フリップフロップを終点とするファンアウトトレースを行い、ファンアウトトレース上にあるフリップフロップの数およびゲートの数を算出する。
【００５９】
さらに、リスト作成部１０は、選択した候補ポイントを起点としフリップフロップを終点とするファンアウトトレース上にある各ゲートを起点とし、フリップフロップを終点とするファンイントレース（以下では、ファンアウトイントレースと呼ぶ）を行い、ファンアウトイントレース上にあるフリップフロップの数およびゲートの数を算出する。
【００６０】
図１３は、ファンイントレース、ファンアウトトレースおよびファンアウトイントレースを説明するための回路図である。図１３において、候補回路１３００は、候補ポイント１３０１と、ファンイントレース部１３０２と、ファンアウトトレース部１３０３と、ファンアウトイントレース部１３０４および１３０５とを含む。
【００６１】
候補回路１３００は、候補ポイント１３０１を含む本体回路の一部を示す。
【００６２】
ファンイントレース部１３０２は、候補ポイント１３０１を起点としフリップフロップを終点としたファンイントレース上にあるフリップフロップおよびゲートを含む。この場合、ファンイントレース上にあるフリップフロップの数は３であり、ゲートの数は２である。
【００６３】
ファンアウトトレース部１３０３は、候補ポイント１３０１を起点としフリップフロップを終点としたファンアウトトレース上にあるフリップフロップおよびゲートを含む。この場合、ファンアウトトレース上にあるフリップフロップの数は１であり、ゲートの数は２である。
【００６４】
ファンアウトイントレース部１３０４および１３０５は、ファンアウトトレース部１３０３に含まれる各ゲートからファンイントレースを行なったファンアウトイントレース上にあるフリップフロップおよびゲートを含む。
【００６５】
この場合、ファンアウトイントレース部１３０４は、フリップフロップの数は３であり、ゲートの数は２である。また、ファンアウトイントレース箇所１３０５は、フリップフロップの数は２であり、ゲートの数は１である。
【００６６】
リスト作成部１０は、フリップフロップの数およびゲートの数を算出すると、ファンイントレース上にあるフリップフロップの数、ファンアウトトレース上にあるフリップフロップの数、および、ファンアウトイントレース上にあるフリップフロップの数、の和を候補ポイントに近傍で接続されているフリップフロップの数として算出する。
【００６７】
また、リスト作成部１０は、ファンイントレース上にあるゲートの数、ファンアウトトレース上にあるゲートの数、および、ファンアウトイントレース上にあるゲートの数、の和を候補ポイントに近傍で接続されているゲートの数として算出する。
【００６８】
リスト作成部１０は、選択された候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数を算出すると、全ての候補ポイントに対して同様な処理を行ない、各候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数を算出する。
【００６９】
リスト作成部１０は、各候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数を算出すると、各候補ポイントの基準数を、受け付けた算出条件にしたがって、算出したフリップフロップの数およびゲートの数から算出する。
【００７０】
例えば、算出条件にしたがって「基準数はフリップフロップの数を３倍した数とゲートの数との和」と設定されている場合、候補ポイント１３０１の基準数は、３４となる。
【００７１】
リスト作成部１０は、各候補ポイントに対して基準数を算出すると、算出した基準数の多い順に、算出したスキャンフリップフロップの数に達するまで、候補ポイントを観測ポイントとして抽出する。
【００７２】
リスト作成部１０は、観測ポイントを設けると、観測ポイントを設けた半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示す観測ネットリストを作成し、作成した観測ネットリストＡを座標抽出部１１に出力する。
【００７３】
座標抽出部１１は、リスト作成部１０から観測ネットリストＡを受け付けると、受け付けた観測ネットリストＡに基づいて、観測ネットリストＡに示された観測ポイントの配置座標と、観測ネットリストＡに示されたスペアセルの配置座標と、を抽出する。スペアセルの配置座標は、具体的には、スペアセルが含むスキャンフリップフロップの配置座標である。
【００７４】
座標抽出部１１は、観測ポイントおよびスペアセルの配置座標を抽出すると、抽出した観測ポイントおよびスペアセルの配置座標に基づいて、各観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける。具体的には、座標抽出部１１は、観測ポイントとスペアセルとを繋ぐ配線の長さが短くなるように、観測ポイントをスペアセルと関連づける。
【００７５】
図４は、関連づけられた観測ポイントとスペアセルとを説明するための説明図である。図４において、半導体集積回路は、観測ポイント４０１ないし４０６と、スペアセル４１１ないし４１６とを含む。
【００７６】
観測ポイント４０１ないし４０６は、半導体集積回路に含まれる観測ポイントを示す。
【００７７】
スペアセル４１１ないし４１６は、半導体集積回路に含まれるスペアセルを示す。
【００７８】
点線で囲まれた観測ポイントおよびスペアセル（例えば、観測ポイント４０１およびスペアセル４１１）が、互いに関連づけられた観測ポイントおよびスペアセルである。
【００７９】
座標抽出部１１は、観測ポイントとスペアセルとを関連づけると、関連づけられた観測ポイントとスペアセルとを特定するペア情報を作成し、作成したペア情報および受け付けた観測ネットリストＡを信号接続部１２に出力する。
【００８０】
信号接続部１２は、座標抽出部１１からペア情報および観測ネットリストＡを受け付けると、受け付けたペア情報および観測ネットリストＡに基づいて、ペア情報が示す観測ポイントとスペアセル（具体的には、スペアセルが含むスキャンフリップフロップ）とを配線にて接続した半導体集積回路内の回路の内の回路の接続関係、配置位置および回路間の配線を示すスキャンネットリストＡを作成する。
【００８１】
図５は、観測ポイントとスペアセルとの配線による接続を説明するための説明図である。図５において、半導体集積回路は、観測回路５００と、観測ポイント５０１と、スペアセル５１０と、切断箇所５１１とを含む。
【００８２】
観測回路５００は、観測ポイント５０１を含む本体回路の一部を示す。
【００８３】
スペアセル５１０は、スペアセル３００において、ＥＸＯＲ回路５とバッファ回路２０との間の配線を切断箇所５１１（点線部）で切断した回路を示す。
【００８４】
信号接続部１２は、観測ポイント５０１とスペアセル５１０とを配線を用いて接続するために、ＥＸＯＲ回路５とバッファ回路２０との間の配線を切断箇所５１１で切断し、観測ポイント５０１とバッファ回路２０とを配線を用いて接続する。
【００８５】
これにより、観測ポイント５０１は、スペアセル５１０と接続される。具体的には、観測ポイント５０１は、バッファ回路２０およびセレクタ８を介してスキャンフリップフロップ３０と接続される。
【００８６】
信号接続部１２は、スキャンネットリストＡを作成すると、作成したスキャンネットリストＡを出力する。
【００８７】
次に動作を説明する。
【００８８】
図６は、半導体集積回路設計装置の動作を説明するためのフローチャートである。具体的には、ネットリストＡを受け付けた際、半導体集積回路設計装置が行なう動作を説明するためのフローチャートである。
【００８９】
ステップ６０１では、入力部１１０は、ネットリストＡおよび算出条件を受け付けると、受け付けたネットリストＡおよび算出条件をリスト作成部１０に出力する。リスト作成部１０はネットリストＡおよび算出条件を受け付けると、ステップ６０２を実行する。
【００９０】
ステップ６０２では、リスト作成部１０は、受け付けたネットリストＡに示されたスキャンフリップフロップの数を算出する。リスト作成部１０は、スキャンフリップフロップの数を算出すると、ステップ６０３を実行する。
【００９１】
ステップ６０３では、リスト作成部１０は、受け付けたネットリストＡが示す本体回路内に、観測ポイントの候補となる候補ポイントを複数設定する。リスト作成部１０は、候補ポイントを設定すると、候補ポイントに近傍で接続されたフリップフロップの数およびゲートの数を候補ポイントごとに算出する。リスト作成部１０は、フリップフロップの数およびゲートの数を算出すると、ステップ６０４を実行する。
【００９２】
ステップ６０４では、リスト作成部１０は、受け付けた算出条件にしたがって、各候補ポイントに近傍で接続されたフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出し、算出した基準数が多い候補ポイント順に、算出したスキャンフリップフロップの数に達するまで、候補ポイントを観測ポイントとして抽出する。
【００９３】
リスト作成部１０は、観測ポイントを抽出すると、抽出した観測ポイントを設けた半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示す観測ネットリストＡを作成し、作成した観測ネットリストＡを座標抽出部１１に出力する。座標抽出部１１は、観測ネットリストＡを受け付けると、ステップ６０５を実行する。
【００９４】
ステップ６０５では、座標抽出部１１は、受け付けた観測ネットリストＡに基づいて、観測ネットリストＡが示す半導体集積回路内の観測ポイントおよびスペアセルの配置座標を抽出する。
【００９５】
座標抽出部１１は、観測ポイントおよびスペアセルの配置座標を抽出すると、抽出した観測ポイントおよびスペアセルの配置座標に基づいて、各観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける。
【００９６】
座標抽出部１１は、観測ポイントとスペアセルとを関連づけると、関連づけられた観測ポイントとスペアセルとを特定するペア情報を作成し、作成したペア情報および受け付けた観測ネットリストＡを信号接続部１２に出力する。信号接続部１２は、ペア情報および観測ネットリストＡを受け付けると、ステップ６０６を実行する。
【００９７】
ステップ６０６では、信号接続部１２は、受け付けたペア情報および観測ネットリストＡに基づいて、ペア情報が示す観測ポイントとスペアセルとを配線を用いて接続した半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示すスキャンネットリストＡを作成し、作成したスキャンネットリストＡを出力する。
【００９８】
本実施例によれば、入力部１１０は、スキャンフリップフロップが含まれるスペアセルおよび本体回路を有する半導体集積回路内の回路の接続関係および配置位置を示したネットリストＡを受け付ける。リスト作成部１０は、ネットリストＡが示す本体回路内に観測ポイントを設け、観測ポイントを設けた半導体集積回路内の回路の接続関係および配置位置を示す観測ネットリストＡを作成する。座標抽出部１１は、観測ネットリストＡに基づいて、観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける。信号接続部１２は、観測ポイントを、該観測ポイントと関連づけられたスペアセルが含むスキャンフリップフロップと、配線を用いて接続した半導体集積回路内の回路の接続関係および配置位置を示すスキャンネットリストを作成する。
【００９９】
これにより、ネットリストが示す本体回路に観測ポイントが設けられ、設けられた観測ポイントが、該観測ポイントの近傍にあるスペアセルに含まれるスキャンフリップフロップと配線を用いて接続される。
【０１００】
よって、スペアセルをスキャンセルとして用いた際に、観測ポイントとスキャンフリップフロップとを接続する配線の長さを短くすることが可能になる。よって、スペアセルをスキャンセルとして用いた際に、半導体集積回路の遅延を軽減することが可能になる。
【０１０１】
また、本実施例では、リスト作成部１０は、ネットリストＡに示されたスキャンフリップフロップの数の算出し、観測ポイントを、算出したスキャンフリップフロップの数だけ設ける。
【０１０２】
これにより、観測ポイントが、ネットリストＡに示されたスキャンフリップフロップの数だけ設けられる。よって、全てのスキャンフリップフロップを観測ポイントと接続することが可能になるため、スペアセルを無駄なく用いることが可能になる。
【０１０３】
また、本実施例では、リスト作成部１０は、ネットリストＡが示す本体回路内に観測ポイントの候補となる候補ポイントを設け、設けられた候補ポイントに近傍で接続されたフリップフロップの数およびゲートの数を候補ポイントごとに算出する。リスト作成部１０は、入力部１１０が受け付けた算出条件にしたがって、算出したフリップフロップの数およびゲートの数から各候補ポイントの基準数を算出し、算出した基準数の多い候補ポイントから順に、スキャンフリップフロップの数だけ観測ポイントを抽出する。
【０１０４】
これにより、観測ポイントの候補となる候補ポイントが設けられ、設けられた候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数から各候補ポイントの基準数が算出される。この算出された基準数が多い候補ポイント順に、候補ポイントが観測ポイントとして抽出される。
【０１０５】
したがって、近傍で接続されているフリップフロップおよびゲートの数が多い候補ポイントから順に観測ポイントとして抽出することが可能になる。よって、近傍にフリップフロップおよびゲートの数が多い半導体集積回路内の箇所に観測ポイントが設けられると、一つの観測ポイントで多くのゲートの動作をテストできるので、故障検出率を高くすることが可能になる。
【０１０６】
図７は、スキャン機能を付加したスペアセルの他の例を示した回路図である。以下では、図２および図３と、異なる構成を主に説明する。なお、図７において、図３に示した構成と同一の構成には同一符号を付してある。
【０１０７】
図７において、スペアセル７００は、スペアセル３００の構成に加え、観測用端子６０をさらに含む。
【０１０８】
スキャンフリップフロップ３０は、図３で示したスペアセル３００ではセレクタ８およびバッファ回路２０を介して自己と接続されていたが、スペアセル７００ではセレクタ８およびバッファ回路２０を介して観測用端子６０と接続されている。
【０１０９】
図８は、本発明の実施例の半導体集積回路設計装置の構成を示したブロック図である。具体的には、半導体集積回路内の回路の接続関係を示したネットリストに基づいて、スペアセルがスキャンセルとして用いられる半導体集積回路を設計する半導体集積回路設計装置の構成を示したブロック図である。以下では、図１と、異なる構成を主に説明する。なお、図８において、図１と同一の構成には同一の符号が付してある。
【０１１０】
図８において、半導体集積回路設計装置は、設計部１００と、入力部１１０とを含む。
【０１１１】
入力部１１０は、ネットリストＢおよび算出条件を受け付けると、受け付けたネットリストＢおよび算出条件を設計部１００（具体的には、リスト作成部１０）に出力する。
【０１１２】
ここで、ネットリストＢは、観測用端子と接続されたスキャンフリップフロップが含まれるスペアセル（例えば、スペアセル７００）と本体回路とを含む半導体集積回路内の回路の接続関係を示す。なお、ネットリストＢは、スペアセルを複数示す。また、本体回路は、フリップフロップおよびゲートを含む。
【０１１３】
設計部１００は、リスト作成部１０と、座標抽出部１１と、信号接続部１２と、テストモード信号接続部１３と、遅延制約作成部１４と、最適化部１５と、信号切換部１６と、記憶部１７とを含む。
【０１１４】
リスト作成部１０は、ネットリストＢおよび算出条件を受け付けると、受け付けたネットリストＢに示された観測用端子の数を算出する。
【０１１５】
リスト作成部１０は、観測用端子の数を算出すると、算出した観測用端子の数だけ観測ポイントをネットリストＢが示す本体回路内に設ける。なお、具体的には、リスト作成部１０は、図１および図６を用いて説明した処理を行ない、算出した観測用端子の数だけ観測ポイントを設ける。
【０１１６】
リスト作成部１０は、観測ポイントを設けると、観測ポイントを設けた半導体集積回路内の回路の接続関係を示す観測ネットリストＢを作成し、作成した観測ネットリストＢを信号接続部１２に出力する。
【０１１７】
信号接続部１２は、リスト作成部１０から観測ネットリストＢを受け付けると、受け付けた観測ネットリストＢに基づいて、観測ポイントと観測用端子を接続し、観測ポイントと観測用端子を接続した半導体集積回路内の回路の接続関係を示す接続ネットリストＢを作成する。
【０１１８】
信号接続部１２は、接続ネットリストＢを作成すると、作成した接続ネットリストＢをテストモード信号接続部１３に出力する。
【０１１９】
テストモード信号接続部１３は、信号接続部１２から接続ネットリストＢを受け付けると、受け付けた接続ネットリストＢが示す半導体集積回路の故障検出率（Ｔｅｓｔａｂｉｌｉｔｙ）を算出する。
【０１２０】
具体的には、テストモード信号接続部１３は、受け付けた接続ネットリストＢが示す半導体集積回路に含まれるテストモード信号端子を、テストモード信号を出力するテストゲート（図示せず）と接続し、故障検出率を算出する。
【０１２１】
記憶部１７は、故障検出率の目標値である目標故障検出率を記憶する。
【０１２２】
テストモード信号接続部１３は、故障検出率を算出すると、算出した故障検出率が、記憶部１７にて記憶された目標故障検出率以上か否かを判断する。
【０１２３】
算出された故障検出率が目標故障検出率未満であると、テストモード信号接続部１３は、観測用端子の数を増加させ、半観測用端子の数が増加した導体集積回路内の回路の接続関係を示す端子増加ネットリストＢを作成し、作成した端子増加ネットリストＢを、リスト作成部１０に出力する。
【０１２４】
図９は、観測用端子が増加されたスペアセルの一例を示した回路図である。図９において、スペアセル９００は、図７で示した構成に加え、ＥＸＯＲ回路７０と、バッファ回路７１ないし７４と、観測用端子６１ないし６４とを含む。
【０１２５】
スキャンフリップフロップ３０は、図７では一つの観測用端子６０と接続されていたが、図９ではＥＸＯＲ回路７０を介して４つの観測用端子６１ないし６４と接続される。
【０１２６】
リスト作成部１０は、テストモード信号接続部１３から端子増加ネットリストＢを受け付けると、受け付けた端子増加ネットリストＢが示す観測用端子の数を計算する。
【０１２７】
一方、算出された故障検出率が目標故障検出率以上であると、テストモード信号接続部１３は、受け付けた接続ネットリストＢを遅延制約作成部１４に出力する。
【０１２８】
遅延制約作成部１４は、接続ネットリストＢを受け付けると、受け付けた接続ネットリストＢが示す半導体集積回路の遅延を軽減するための遅延制約条件を作成する。
【０１２９】
図１０ａおよび図１０ｂは、遅延制約条件を説明するための説明図である。具体的には、図１０ａは、遅延制約条件を満足していない観測ポイントとスペアセルとの接続を示した図であり、図１０ｂは、遅延制約条件を満足した観測ポイントとスペアセルとの接続を示した図である。
【０１３０】
図１０ａにおいて、半導体集積回路は、スペアセル１０００と、観測ポイント１００１とを含む。また、スペアセル１０００は、セレクタ８と、スキャンフリップフロック３０と、クロック入力端子５０と、テストモード信号端子５４と、バッファ回路２０と、観測用端子６０とを含む。
【０１３１】
図１０ｂにおいて、半導体集積回路は、スペアセル１０００と、観測ポイント１００１と、バッファ回路２０とを含む。また、スペアセル１０００は、セレクタ８と、スキャンフリップフロック３０と、クロック入力端子５０と、テストモード信号端子５４と、観測用端子６０とを含む。
【０１３２】
図１０ａでは、バッファ回路２０は、観測用端子６０とセレクタ８との間に配置されている。このため、半導体集積回路が通常動作を行なう際、観測ポイント１００１とバッファ回路２０とを繋ぐ配線の長さが長くなり、半導体集積回路に遅延が生じる。遅延制約作成部１４は、この遅延を解消ために、図１０ｂのようにバッファ２０を観測ポイント１００１と観測用端子６０との間に配置する条件を遅延制約条件として作成する。
【０１３３】
遅延制約作成部１４は、遅延制約条件を作成すると、作成した遅延制約条件および受け付けた接続ネットリストＢを最適化部１５に出力する。
【０１３４】
最適化部１５は、遅延制約作成部１４から遅延制約条件および接続ネットリストＢを受け付けると、受け付けた遅延制約条件を満足するように、受け付けた接続ネットリストＢが示す半導体集積回路をレイアウトし、レイアウトした半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示す最適化ネットリストＢを作成する。
【０１３５】
遅延制約作成部１４は、最適化ネットリストＢを作成すると、作成した最適化ネットリストＢを座標抽出部１１に出力する。
【０１３６】
座標抽出部１１は、遅延制約作成部１４から最適化ネットリストＢを受け付けると、受け付けた最適化ネットリストＢに基づいて、観測ポイントの配置座標およびスペアセル（具体的には、スペアセルが含む観測用端子）の配置座標を抽出する。
【０１３７】
座標抽出部１１は、配置座標を抽出すると、抽出した配置座標と該配置座標に配置された観測ポイントまたはスペアセルと、を配置座標ごとに関連づけた配置情報を作成し、作成した配置情報および受け付けた最適化ネットリストＢを信号切換部１６に出力する。
【０１３８】
信号切換部１６は、座標抽出部１１から配置情報および最適化ネットリストＢを受け付けると、最適化ネットリストＢが示す観測ポイントとスペアセルとを接続する配線を切断する。
【０１３９】
信号切換部１６は、配線を切断すると、受け付けた配置情報に基づいて、互いに近傍にある観測ポイントとスペアセルとを配線を用いて接続し、互いに近傍にある観測ポイントとスペアセルとを配線を用いて接続した半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示すスキャンネットリストＢを作成する。
【０１４０】
図１１ａおよび図１１ｂは、観測ポイントと観測用端子との接続の切換を説明するための説明図である。具体的には、図１１ａは、切換前の観測ポイントと観測用端子と接続を示し、図１１ｂは、切換後の観測ポイントと観測用端子と接続を示す。
【０１４１】
図１１ａおよび図１１ｂにおいて、半導体集積回路は、観測ポイント１１０１ないし１１０５と、スペアセル１１１１ないし１１１５を含む。
【０１４２】
図１１ａでは、例えば、観測ポイント１１０１は、スペアセル１１１５と配線にて接続されている。
【０１４３】
信号切換部１６は、観測ポイント１１０１とスペアセル１１１５とを接続している配線を切断し、観測ポイント１１０１を近傍にあるスペアセル１１１１と配線を用いて接続する。信号切換部１６は、同様な処理を行い、全ての観測ポイントに対して、観測ポイントを該観測ポイントの近傍にあるスペアセルに配線を用いて接続する。
【０１４４】
信号切換部１６は、スキャンネットリストＢを作成すると、作成したスキャンネットリストＢを出力する。
【０１４５】
次に動作を説明する。
【０１４６】
図１２は、半導体集積回路設計装置の動作を説明するためのフローチャートである。具体的には、ネットリストＢを受け付けた際に、半導体集積回路設計装置が行なう動作を説明するためのフローチャートである。
【０１４７】
ステップ１２０１では、入力部１１０は、ネットリストＢおよび算出条件を受け付けると、受け付けたネットリストＢおよび算出条件をリスト作成部１０に出力する。リスト作成部１０は、ネットリストＢおよび算出条件を受け付けると、ステップ１２０２を実行する。
【０１４８】
ステップ１２０２では、リスト作成部１０は、受け付けたネットリストＢが示す観測用端子の数を算出する。リスト作成部１０は、観測用端子の数を算出すると、ステップ１２０３を実行する。
【０１４９】
ステップ１２０３では、リスト作成部１０は、受け付けたネットリストＡが示す本体回路内に、観測ポイントの候補となる候補ポイントを設定する。
【０１５０】
リスト作成部１０は、候補ポイントを設定すると、設定した候補ポイントごとに、候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数を算出する。リスト作成部１０は、フリップフロップの数およびゲートの数を算出すると、ステップ１２０４を実行する。
【０１５１】
ステップ１２０４では、リスト作成部１０は、受け付けた算出条件にしたがって、算出されたフリップフロップの数およびゲートの数から候補ポイントごとに基準数を算出し、算出した基準数の多い順に、算出した観測用端子の数に達するまで、候補ポイントを観測ポイントとして抽出する。
【０１５２】
リスト作成部１０は、観測ポイントを抽出すると、抽出した観測ポイントを設けた半導体集積回路内の接続関係を示す観測ネットリストＢを作成し、作成した観測ネットリストＢを信号接続部１２に出力する。信号接続部１２は、リスト作成部１０から観測ネットリストＢを受け付けると、ステップ１２０５を実行する。
【０１５３】
ステップ１２０５では、信号接続部１２は、受け付けた観測ネットリストＢに基づいて、観測ポイントと観測用端子を接続した半導体集積回路内の回路の接続関係を示す接続ネットリストＢを作成する。
【０１５４】
信号接続部１２は、接続ネットリストＢを作成すると、作成した接続ネットリストＢをテストモード信号接続部１３に出力する。テストモード信号部１３は、接続ネットリストＢを受け付けると、ステップ１２０６を実行する。
【０１５５】
ステップ１２０６では、テストモード信号接続部１３は、受け付けた接続ネットリストＢが示す半導体集積回路の故障検出率を算出する。テストモード信号接続部１３は、故障検出率を算出すると、ステップ１２０７を実行する。
【０１５６】
ステップ１２０７では、テストモード信号接続部１３は、算出した故障検出率が記憶部１７にて記憶された目標故障検出率以上か否かを判断する。テストモード信号接続部１３は、その故障検出率が目標故障検出率未満であると、ステップ１２０８を実行し、その故障検出率が目標故障検出率以上であると、ステップ１２０９を実行する。
【０１５７】
ステップ１２０８では、テストモード信号接続部１３は、受け付けた接続ネットリストＢに含まれる観測用端子の数を増加させ、観測用端子の数が増加した半導体集積回路内の接続関係を示す端子増加ネットリストＢを作成する。
【０１５８】
テスト信号接続部１３は、端子増加ネットリストＢを作成すると、作成した端子増加ネットリストＢを、ネットリストＢとしてリスト作成部１０に出力する。リスト作成部１０は、ネットリストＢを受け付けると、ステップ１２０２を実行する。
【０１５９】
ステップ１２０９では、テストモード信号接続部１３は、受け付けた接続ネットリストＢを遅延制約作成部１４に出力する。遅延制約作成部１４は、接続ネットリストＢを受け付けると、ステップ１２１０を実行する。
【０１６０】
ステップ１２１０では、遅延制約作成部１４は、受け付けた接続ネットリストＢが示す半導体集積回路の遅延を軽減するための遅延制約条件を作成し、作成した遅延制約条件および受け付けた接続ネットリストＢを最適化部１５に出力する。最適化部１５は、遅延制約条件および接続ネットリストＢを受け付けると、ステップ１２１１を実行する。
【０１６１】
ステップ１２１１は、最適化部１５は、受け付けた遅延制約条件を満足するように、受け付けた接続ネットリストＢが示す半導体集積回路をレイアウトし、レイアウトした半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示す最適化ネットリストＢを作成する。
【０１６２】
遅延制約作成部１４は、最適化ネットリストＢを作成すると、作成した最適化ネットリストＢを座標抽出部１１に出力する。座標抽出部１１は、最適化ネットリストＢを受け付けると、ステップ１２１２を実行する。
【０１６３】
ステップ１２１２では、座標抽出部１１は、受け付けた最適化ネットリストＢに基づいて、観測ポイントおよび観測用端子の配置座標を抽出する。
【０１６４】
座標抽出部１１は、配置座標を抽出すると、抽出した配置座標と該配置座標に配置された観測ポイントまたはスペアセルと、を配置座標ごとに関連づけた配置情報を作成し、作成した配置情報および受け付けた最適化ネットリストＢを信号切換部１６に出力する。信号切換部１６は、配置情報および最適化ネットリストＢを受け付けると、ステップ１２１３を実行する。
【０１６５】
ステップ１２１３では、信号切換部１６は、観測ポイントとスペアセルとを接続している配線を切断し、受け付けた配置情報に基づいて、互いに近傍にある観測ポイントとスペアセルとを配線を用いて接続する。信号切換部１６は、互いに近傍にある観測ポイントとスペアセルとを配線を用いて接続すると、互いに近傍にある観測ポイントとスペアセルとを配線した半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示すスキャンネットリストＢを作成する。信号切換部１６は、スキャンネットリストＢを作成すると、作成したスキャンネットリストＢを出力する。
【０１６６】
本実施例によれば、入力部１１０は、観測用端子と接続されたスキャンフリップフロップが含まれるスペアセルと本体回路とを含む半導体集積回路内の接続関係を示すネットリストＢを受け付ける。リスト作成部１０は、ネットリストＢが示す本体回路に観測ポイントを設けた半導体集積回路内の回路の接続関係を示した観測ネットリストを作成する。信号接続部１２は、観測ネットリストが示す観測ポイントおよび観測用端子を接続した半導体集積回路内の接続関係を示した接続ネットリストＢを作成する。最適化部１５は、接続ネットリストが示す半導体集積回路をレイアウトし、レイアウトした半導体集積回路内の回路の接続関係、配置位置および回路間の配線を示した最適化ネットリストＢを作成する。座標抽出部１１は、観測ポイントを、該観測ポイントの近傍にあるスペアセルと関連づける。信号切換部１６は、観測ポイントおよび観測用端子を接続する配線を切断し、観測ポイントを該観測ポイントの近傍にあるスペアセルが含む観測用端子と配線を用いて接続する。
【０１６７】
これにより、観測ポイントとスキャンフリップフロップに接続された観測用端子とが接続された半導体集積回路内の接続関係を示した接続ネットリストが作成される。この接続ネットリストにて示される半導体集積回路がレイアウトされ、その後、観測ポイントと観測用端子とを接続している配線が切断され、観測ポイントと該観測ポイントの近傍にあるスペアセルが含む観測用端子とが配線を用いて接続される。
【０１６８】
よって、半導体集積回路内の回路の位置を示さないネットリストが受け付けられても、観測ポイントとスキャンフリップフロップと配線を短くすることが可能になる。よって、スペアセルをスキャンセルとして用いる際に、遅延を軽減することが可能になる。
【０１６９】
また、本実施例では、リスト作成部１０は、入力部１１０が受け付けたネットリストＢに示された観測用端子の数を算出し、算出した観測用端子の数だけ観測ポイントを設ける。
【０１７０】
これにより、観測ポイントが、観測用端子の数だけ設けられる。よって、スペアセルがスキャンセルとして用いられる際に、全ての観測用端子が、観測ポイントと接続可能になるため、スペアセルを無駄なく用いることが可能になる。
【０１７１】
また、本実施例では、リスト作成部１０は、ネットリストＢが示す本体回路内に観測ポイントの候補となる候補ポイントを設け、設けた候補ポイントに近傍で接続されているフリップフロップの数およびゲートの数を候補ポイントごとに算出する。リスト作成部１０は、受け付けた算出条件にしたがって、算出したフリップフロップの数およびゲートの数から、各候補ポイントの基準数を算出し、算出した基準数の多い候補ポイントから順に、観測用端子の数だけ候補ポイントを観測ポイントとして抽出する。
【０１７２】
これにより、観観測ポイントの候補となる候補ポイントが設けられ、候補ポイントと近傍で接続しているフリップフロップの数およびゲートの数を候補ポイントごとに算出し、前記算出したフリップフロップの数およびゲートの数から各候補ポイントの基準数が算出される。この算出された基準数が多い候補ポイント順に、候補ポイントが観測ポイントとして抽出される。
【０１７３】
したがって、近傍に接続されているフリップフロップおよびゲートの数が多い候補ポイントから順に観測ポイントとして抽出することが可能になる。よって、近傍にフリップフロップおよびゲートの数が多い半導体集積回路内の箇所に観測ポイントが設けられると、一つの観測ポイントで多くのゲートの動作をテストできるので、故障検出率を高くすることが可能になる。
【０１７４】
また、本実施例では、遅延制約作成部１４は、接続ネットリストＢが示す半導体集積回路の遅延を軽減するための遅延制約条件を作成する。最適化部１５は、遅延制約作成部１４にて作成された遅延制約条件を満足するように、接続ネットリストＢにて示された半導体集積回路をレイアウトする。
【０１７５】
これにより、半導体集積回路がレイアウトされる際、遅延制約条件を満足することが可能になるので、半導体集積回路の遅延を軽減することが可能になる。
【０１７６】
テスト信号接続部１３は、接続ネットリストが示す半導体集積回路の故障検出率を算出し、算出した故障検出率が目標検出率未満であると、観測用端子の数を増加させた半導体集積回路内の回路の接続関係を示す端子増加ネットリストを作成する。リスト作成部１０は、端子増加ネットリストにて示された観測用端子の数を計算し、計算した観測用端子の数だけ候補ポイントを観測ポイントとして抽出する。
【０１７７】
これにより、故障検出率が目標故障検出率に満たないと、観測ポイントの数を増加させることが可能になるので、故障検出率を高くすることが可能になる。
【０１７８】
以上説明した各実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【０１７９】
【図１】本発明の一実施例の半導体集積回路設計装置の構成を示したブロック図である。
【図２】スペアセルの一例を示した回路図である。
【図３】スキャン機能を付加したスペアセルの一例を示した回路図である。
【図４】観測ポイントとスペアセルとの関連づけを説明するための説明図である。
【図５】観測ポイントとスペアセルとの配線による接続を説明するための説明図である。
【図６】半導体集積回路設計装置の動作を説明するためのフローチャートである。
【図７】スキャン機能を付加したスペアセルの他の例を示した回路図である。
【図８】他の実施例の半導体集積回路設計装置の構成を示したブロック図である。
【図９】観測用端子が増加されたスペアセルの一例を示した回路図である。
【図１０ａ】遅延制約条件を説明するための説明図である。
【図１０ｂ】遅延制約条件を説明するための説明図である。
【図１１ａ】観測ポイントと観測用端子との接続の変更を説明するための説明図である。
【図１１ｂ】観測ポイントと観測用端子との接続の変更を説明するための説明図である。
【図１２】半導体集積回路設計装置の他の動作を説明するためのフローチャートである。
【図１３】ファンイントレース等を説明するための回路図である。
【符号の説明】
【０１８０】
１        クランプ回路
２        クランプ回路
３        ＡＮＤ回路
４        ＯＲ回路
５        ＥＸＯＲ回路
６        インバータ回路
７        セレクタ
８        セレクタ
９        フリップフロップ
１０      リスト作成部
１１      座標抽出部
１２      信号接続部
１３      テストモード信号接続部
１４      遅延制約作成部
１５      最適化部
１６      信号切換部
１７      記憶部
２０      バッファ回路
３０      スキャンフリップフロップ
５０      クロック入力端子
５１      スキャン端子
５２      スキャン端子
５３      スキャン端子
５４      テストモード信号端子
６０      観測用端子
６１      観測用端子
６２      観測用端子
６３      観測用端子
７０      ＥＸＯＲ回路
７１      バッファ回路
７２      バッファ回路
７３      バッファ回路
７４      バッファ回路
１００    半導体集積回路設計装置
１１０    入力部
２００    スペアセル
３００    スペアセル
４０１    観測ポイント
４０２    観測ポイント
４０３    観測ポイント
４０４    観測ポイント
４０５    観測ポイント
４０６    観測ポイント
４１１    スペアセル
４１２    スペアセル
４１３    スペアセル
４１４    スペアセル
４１５    スペアセル
４１６    スペアセル
５００    観測回路
５０１    観測ポイント
５１０    スペアセル
５１１    切断箇所
７００    スペアセル
９００    スペアセル
１０００  スペアセル
１００１  観測ポイント
１１０１  観測ポイント
１１０２  観測ポイント
１１０３  観測ポイント
１１０４  観測ポイント
１１０５  観測ポイント
１１０６  観測ポイント
１１１１  スペアセル
１１１２  スペアセル
１１１３  スペアセル
１１１４  スペアセル
１１１５  スペアセル
１１１６  スペアセル
１３００  候補回路
１３０１  候補ポイント
１３０２  ファンイントレース部
１３０３  ファンアウトトレース部
１３０４  ファンアウトイントレース部
１３０５  ファンアウトイントレース部
【図１】
0004561992.tif 000002
【図２】
0004561992.tif 000003
【図３】
0004561992.tif 000004
【図４】
0004561992.tif 000005
【図５】
0004561992.tif 000006
【図６】
0004561992.tif 000007
【図７】
0004561992.tif 000008
【図８】
0004561992.tif 000009
【図９】
0004561992.tif 000010
【図１０ａ】
0004561992.tif 000011
【図１０ｂ】
0004561992.tif 000012
【図１１ａ】
0004561992.tif 000013
【図１１ｂ】
0004561992.tif 000014
【図１２】
0004561992.tif 000015
【図１３】
0004561992.tif 000016