(57)【要約】【課題】通常動作時のスキャンＦＦの動作仕様に依存せずにスキャンＦＦのダイナミック電源電流及び静止電源電流を低減する半導体装置の設計方法を提供すること。【解決手段】半導体装置の設計方法では、半導体装置の回路構成がＨＤＬで記述されたＲＴＬ、出力部の構成及びトランジスタのしきい値電圧が異なる複数のスキャンＦＦを記憶するターゲットライブラリ、及び制約情報を用いて論理合成を行い、ゲートレベルのネットリストを生成し、ネットリストの通常ＦＦのタイミング余裕度に応じて選択された通常ＦＦの出力部を構成するトランジスタを、しきい値電圧が通常よりも高いトランジスタに置き換え、通常ＦＦをスキャンＦＦに置き換え、スキャンチェーンを挿入し、スキャンチェーンが挿入されたネットリストの、スキャンチェーンにのみ接続されているスキャンＦＦの出力部を構成するトランジスタを、しきい値電圧が通常よりも高いトランジスタに置き換える。【選択図】図１
2008026256.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置の回路構成がハードウェア記述言語で記述されたＲＴＬ、出力部の構成及びトランジスタのしきい値電圧が異なる複数のスキャンＦＦを記憶するターゲットライブラリ、タイミング制約情報及び電流制約情報を用いて論理合成を行い、ゲートレベルのネットリストを生成するステップと、
前記タイミング制約情報及び前記電流制約情報を用いて前記ネットリストの通常ＦＦのタイミング余裕度を算出し、当該算出したタイミング余裕度に応じて選択された通常ＦＦの出力部を構成するトランジスタを、しきい値電圧が通常よりも高いトランジスタに置き換えるステップと、
前記通常ＦＦをスキャンＦＦに置き換えた後、スキャンチェーンを挿入するステップと、
前記スキャンチェーンが挿入されたネットリストの、前記スキャンチェーンにのみ接続されているスキャンＦＦの出力部を構成するトランジスタを、しきい値電圧が通常よりも高いトランジスタに置き換えるステップと、
を含むことを特徴とする半導体装置の設計方法。
【請求項２】
請求項１に記載の半導体装置の設計方法であって、
前記タイミング制約情報及び前記電流制約情報を用いて、前記スキャンチェーンが挿入されたネットリストのスキャンＦＦのタイミング余裕度を算出し、当該算出したタイミング余裕度に応じて選択されたスキャンＦＦを、単一の出力端子を有するスキャンＦＦに置き換えるステップを含むことを特徴とする半導体装置の設計方法。
【請求項３】
請求項１に記載の半導体装置の設計方法であって、
前記論理合成を行うステップでは、論理合成時に優先する制約条件と、出力部の構成が異なる各フリップフロップに適用される前記制約条件の各制約に対応した優先順位とが記述されたＦＦ優先度情報が用いられることを特徴とする半導体装置の設計方法。
【請求項４】
請求項２に記載の半導体装置の設計方法であって、
前記スキャンチェーンが挿入されたネットリストのタイミング違反を解消するための第１のタイミング最適化を行うステップと、
前記単一の出力端子を有するスキャンＦＦに置き換えられたネットリストのタイミング違反を解消するための第２のタイミング最適化を行うステップと、
前記スキャンチェーンにのみ接続されているスキャンＦＦが置き換えられたネットリストのタイミング違反を解消するための第３のタイミング最適化を行うステップと、
を含むことを特徴とする半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンテスト機能を有するフリップフロップ（以下「スキャンＦＦ」という。）を含む半導体装置の設計方法に関する。
【背景技術】
【０００２】
図６は、従来のスキャンＦＦを示すブロック図である。図６に示すように、従来のスキャンＦＦは、入力信号選択部６０１と、マスターラッチ６０２と、スレーブラッチ６０３と、Ｑ出力側をしきい値電圧が通常レベル（以下「通常しきい値」という。）のトランジスタで構成し、ＮＱ出力側をしきい値電圧が高レベル（以下「高しきい値」という。）のトランジスタで構成した出力部６０４とを備える。
【０００３】
入力信号選択部６０１は、入力される選択信号に基づいて、通常動作及びスキャンキャプチャ動作時はデータ入力端子から入力されたデータ入力信号を選択し、スキャンシフト動作時はスキャン入力端子から入力されたスキャン入力信号を選択する。マスターラッチ６０２は、クロック信号の“Ｌ”区間で入力信号選択部６０１の出力を取り込む。スレーブラッチ６０３は、クロック信号の“Ｈ”区間でマスターラッチ６０２の出力を取り込む。出力部６０４は、スレーブラッチ６０３の出力と同相の信号をＱ出力端子から出力し、逆相の信号をＮＱ出力端子から出力する。
【０００４】
ゲートレベルのネットリストにこのスキャンＦＦを適用した場合、入力信号選択部６０１のデータ入力端子及び出力部６０４のＱ出力端子は通常動作時に用いられ、入力信号選択部６０１のスキャン入力端子及び出力部６０４のＮＱ出力端子はスキャンシフト動作時に用いられる。ＮＱ出力端子がスキャンチェーンに接続されるスキャンシフト動作は、通常動作と比較して低速である。このため、スキャンチェーンに接続されるのみで通常動作時には用いられない出力部６０４のＮＱ出力側を構成するトランジスタのしきい値電圧を高しきい値とすることができる。高しきい値のトランジスタは、通常しきい値のトランジスタと比較して、ドレイン−ソース電流とオフリーク電流が小さいため、スキャンＦＦのダイナミック電源電流及び静止電源電流を低減することができる。
【０００５】
【特許文献１】特開２００３−１６７０３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記説明したスキャンＦＦを含む半導体装置の設計方法では、通常動作時に用いられる通常ＦＦをマッピングする論理合成手段が、ハードウェア記述言語で記述されたＲＴＬ（Resister Transfer Level）からゲートレベルのネットリストを生成した後、ゲートレベルの通常ＦＦをスキャンシフト動作時に用いられるスキャンＦＦへ置き換え、スキャンチェーンを挿入する。
【０００７】
スキャンチェーンにのみ接続され通常動作時には用いられない出力部６０４の出力を構成するトランジスタのしきい値電圧を高しきい値とすることができる。逆に言えば、Ｑ出力とＮＱ出力の両方が通常動作時に用いられる場合や、タイミングに十分余裕はあるが通常動作に用いられる場合は、出力部を構成するトランジスタのしきい値電圧を高しきい値にすることはできない。この場合、スキャンＦＦのダイナミック電源電流及び静止電源電流を低減することができない。
【０００８】
本発明の目的は、通常動作時のスキャンＦＦの動作仕様に依存せずにスキャンＦＦのダイナミック電源電流及び静止電源電流を低減する半導体装置の設計方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、半導体装置の回路構成がハードウェア記述言語で記述されたＲＴＬ、出力部の構成及びトランジスタのしきい値電圧が異なる複数のスキャンＦＦを記憶するターゲットライブラリ、タイミング制約情報及び電流制約情報を用いて論理合成を行い、ゲートレベルのネットリストを生成するステップと、前記タイミング制約情報及び前記電流制約情報を用いて前記ネットリストの通常ＦＦのタイミング余裕度を算出し、当該算出したタイミング余裕度に応じて選択された通常ＦＦの出力部を構成するトランジスタを、しきい値電圧が通常よりも高いトランジスタに置き換えるステップと、前記通常ＦＦをスキャンＦＦに置き換えた後、スキャンチェーンを挿入するステップと、前記スキャンチェーンが挿入されたネットリストの、前記スキャンチェーンにのみ接続されているスキャンＦＦの出力部を構成するトランジスタを、しきい値電圧が通常よりも高いトランジスタに置き換えるステップと、を含む半導体装置の設計方法を提供する。
【００１０】
上記半導体装置の設計方法は、前記タイミング制約情報及び前記電流制約情報を用いて、前記スキャンチェーンが挿入されたネットリストのスキャンＦＦのタイミング余裕度を算出し、当該算出したタイミング余裕度に応じて選択されたスキャンＦＦを、単一の出力端子を有するスキャンＦＦに置き換えるステップを含む。
【００１１】
上記半導体装置の設計方法が含む前記論理合成を行うステップでは、論理合成時に優先する制約条件と、出力部の構成が異なる各フリップフロップに適用される前記制約条件の各制約に対応した優先順位とが記述されたＦＦ優先度情報が用いられる。
【００１２】
上記半導体装置の設計方法は、前記スキャンチェーンが挿入されたネットリストのタイミング違反を解消するための第１のタイミング最適化を行うステップと、前記単一の出力端子を有するスキャンＦＦに置き換えられたネットリストのタイミング違反を解消するための第２のタイミング最適化を行うステップと、前記スキャンチェーンにのみ接続されているスキャンＦＦが置き換えられたネットリストのタイミング違反を解消するための第３のタイミング最適化を行うステップと、を含む。
【発明の効果】
【００１３】
本発明に係る半導体装置の設計方法によれば、通常動作時のスキャンＦＦの動作仕様に依存せずにスキャンＦＦのダイナミック電源電流及び静止電源電流を低減することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係るスキャンテスト機能を有するフリップフロップ（スキャンＦＦ）を含む半導体装置の設計方法の実施形態について、図面を参照して説明する。
【００１５】
（第１の実施形態）
図１は、第１の実施形態の半導体装置の設計方法を示すフローチャートである。第１の実施形態の半導体装置の設計のために、図１に示すように、ＲＴＬ１０１、ターゲットライブラリ１０２、タイミング制約１０３及び電流制約１０４が準備されている。
【００１６】
ターゲットライブラリ１０２は、セル毎に、「外部負荷による遅延値」、「外部負荷によるダイナミック電源電流」、「通常しきい値のＰチャンネルトランジスタのゲート幅合計値」、「通常しきい値のＮチャンネルトランジスタのゲート幅合計値」、「高しきい値のＰチャンネルトランジスタのゲート幅合計値」及び「高しきい値のＮチャンネルトランジスタのゲート幅合計値」の情報を記憶する。
【００１７】
また、ターゲットライブラリ１０２は、フリップフロップ（ＦＦ）の種類として、「出力部が全て通常しきい値のトランジスタで構成され、Ｑ出力とＮＱ出力を有するＦＦ」、「出力部のＱ出力が通常しきい値のトランジスタ、ＮＱ出力が高しきい値のトランジスタで構成されたＦＦ」、「出力部のＮＱ出力が通常しきい値のトランジスタ、Ｑ出力が高しきい値のトランジスタで構成されたＦＦ」、「出力がＱ出力のみで、通常しきい値のトランジスタで構成されたＦＦ」、「出力がＮＱ出力のみで、通常しきい値のトランジスタで構成されたＦＦ」、「出力部が全て高しきい値のトランジスタで構成され、Ｑ出力とＮＱ出力を有するＦＦ」、「出力がＱ出力のみで、高しきい値のトランジスタで構成されたＦＦ」及び「出力がＮＱ出力のみで、高しきい値のトランジスタで構成されたＦＦ」を記憶する。
【００１８】
タイミング制約１０３は、クロックの仕様（クロックサイクルタイム、“Ｈ”区間と“Ｌ”区間のデューティ比、スキュー値）、外部入力信号の遅延時間（クロックのエッジに対し外部入力信号が入力されるまでの時間）、外部出力信号の遅延時間（クロックエッジに対し外部出力信号が出力されるまでの時間）、及びタイミング解析対象外のパスや複数サイクル動作をするパスの指定等を記憶する。電流制約１０４は、１チップレベルと、各ブロックレベルにおけるダイナミック電源電流及び静止電源電流のターゲット値とを記憶する。
【００１９】
以上説明した情報を用いて、まずステップＳ１０５では、ＲＴＬ１０１から論理合成による論理の構築、ライブラリマッピング及び論理圧縮を行い、ゲートレベルのネットリストを生成する。次に、ステップＳ１０６では、タイミング制約１０３と電流制約１０４を用いて、生成されたゲートレベルのネットリストの通常ＦＦのタイミング余裕度（タイミング制約１０３に設定されたクロックサイクルタイムに対するマージン）を算出し、当該算出したタイミング余裕度に応じて、タイミング制約１０３を満たすタイミングに余裕のある通常ＦＦの出力部を構成するトランジスタを、しきい値電圧が高しきい値のトランジスタに置き換える。
【００２０】
次に、ステップＳ１０７では、ゲートレベルのネットリストの通常ＦＦをスキャンＦＦへ置き換えた後、スキャンチェーンを挿入し、ゲートレベルのネットリストに新たにスキャン入力端子とスキャン出力端子を設置する。なお、本実施形態の設計方法では、タイミング最適化や電流最適化を行わない。次に、ステップＳ１０８では、スキャンチェーンが挿入されたゲートレベルのネットリストにおいて、スキャンチェーンにのみ接続されているスキャンＦＦの出力部を構成するトランジスタを、しきい値電圧が高しきい値のトランジスタに置き換えて、最終ネットリスト１０９を生成する。
【００２１】
以上説明したように、本実施形態の設計方法では、ステップＳ１０６で、通常動作時に動作する通常ＦＦの出力部を構成するトランジスタのしきい値電圧を高しきい値とするため、ダイナミック電源電流と静止電源電流を低減することができる。さらに、ステップＳ１０８で、通常動作時には動作しないがスキャンチェーンに接続されているため通常動作時にトグルするスキャンＦＦの出力を構成するトランジスタのしきい値電圧を高しきい値とするため、ダイナミック電源電流と静止電源電流をさらに低減することができる。
【００２２】
（第２の実施形態）
図２は、第２の実施形態の半導体装置の設計方法を示すフローチャートである。第２の実施形態の設計方法は、第１の実施形態の設計方法のステップＳ１０７とステップＳ１０８の間に、後述するステップＳ２１０を含む。ステップＳ２１０では、タイミング制約１０３と電流制約１０４を用いて、ステップＳ１０７で生成されたスキャンチェーンが挿入されたゲートレベルのネットリストのスキャンＦＦのタイミング余裕度（タイミング制約１０３に設定されたクロックサイクルタイムに対するマージン）を算出し、当該算出されたタイミング余裕度に応じて、タイミング余裕のあるスキャンＦＦの出力部をＱ出力又はＮＱ出力へ集約して、Ｑ出力のみ又はＮＱ出力のみの出力部を有するスキャンＦＦに置き換える。
【００２３】
このようなスキャンＦＦでは、通常動作時に用いられるＦＦの出力部とスキャンシフト動作時に用いられるＦＦの出力部とが機能的に一致する。また、上記スキャンＦＦに含まれるＦＦはタイミングに余裕がある。
【００２４】
（第３の実施形態）
図３は、第３の実施形態の半導体装置の設計方法を示すフローチャートである。第３の実施形態の設計方法は、第２の実施形態の設計方法のステップＳ１０６の代わりに後述するステップＳ４１１を含む。また、第３の実施形態の半導体の設計のために、第１の実施形態で説明したＲＴＬ１０１、ターゲットライブラリ１０２、タイミング制約１０３及び電流制約１０４に加えて、ＦＦ優先度情報４１０が準備されている。ＦＦ優先度情報４１０には、図４に示すように、論理合成時に優先する制約条件（タイミング優先、ダイナミック電流優先、静止電流優先）と、出力部の構成が異なる各ＦＦに適用される各制約条件の各制約に対応した優先順位が記述されている。
【００２５】
ＦＦ優先度情報４１０に記述される優先順位が決定される際、タイミング優先の場合は、出力部の電流駆動能力が高く、大きなファンアウトに対応できるＦＦとして、「出力部が全て通常しきい値のトランジスタで構成され、Ｑ出力とＮＱ出力を有するＦＦ」の優先順位が第１位に設定される。このように、タイミング優先の優先順位は、出力部の電流駆動能力（通常しきい値のトランジスタが高しきい値のトランジスタを上回る）により対応可能なファンアウトの合計値に基づいて決定される。
【００２６】
ダイナミック電源電流優先又は静止電源電流優先の場合は、出力部が全て高しきい値のトランジスタで構成され、出力部のトランジスタ数が最も少ない「出力部がＱ出力のみで、高しきい値のトランジスタで構成されたＦＦ」の優先順位が第１位に設定される。このように、ダイナミック電源電流優先順位又は静止電源電流優先の優先順位が決定される際には、出力部を構成しているトランジスタが全て高しきい値かが最優先の判断基準であり、次に出力部を構成しているトランジスタの数、通常しきい値のトランジスタの割合が続く。
【００２７】
図３に示したように、本実施形態の半導体装置の設計方法では、タイミング優先を設定した場合、ステップＳ１０５での論理合成では「出力部を全て通常しきい値のトランジスタで構成され、Ｑ出力とＮＱ出力を有するＦＦ」を適用し、出力が単一極性でよければ、「出力部がＱ出力又はＮＱ出力のみで、通常しきい値のトランジスタで構成されたＦＦ」を適用する。続いて、ステップＳ１０５でタイミング制約１０３を満たすゲートレベルのネットリストが生成されると、ステップＳ４１１で各ＦＦのタイミング余裕度を算出する。本実施形態でのタイミング余裕度とは、タイミング制約１０３に記述されたクロックサイクルタイムに対する、各ＦＦの出力から次段のＦＦまでの遅延時間の差分である。この遅延時間の差分がＦＦの出力部を高しきい値にする可能性となる。
【００２８】
ダイナミック電源電流又は静止電源電流の最適化では、ＦＦの出力部の仕様（Ｑ出力とＮＱ出力の両方を備える、Ｑ出力のみを備える、ＮＱ出力のみを備える）毎に出力部を構成するトランジスタのしきい値電圧を高しきい値にできるかを、図３のダイナミック電源電流優先又は静止電源電流優先で指定された優先順位に沿って判定し、可能であればＦＦを置き換える。
【００２９】
以上説明したように、本実施形態の設計方法では、タイミング制約１０３を満たす論理合成での最適化（論理構築、ライブラリマッピング、論理圧縮）と、ダイナミック電源電流又は静止電源電流の最適化（出力部を構成するトランジスタのしきい値電圧が高しきい値であるＦＦへの置き換え）とを分離することでダイナミック電源電流又は静止電源電流の最適化の時間を短縮することができる。また、ＦＦ優先度情報４１０に出力部の構成が異なるＦＦの優先順位を予め定めておくことで、ＦＦの種類が多い場合であっても、タイミング最適化又はダイナミック電源電流若しくは静止電源電流の最適化をさらに短縮することができる。
【００３０】
（第４の実施形態）
図５は、第４の実施形態の半導体装置の設計方法を示すフローチャートである。第４の実施形態の設計方法は、第３の実施形態の設計方法のステップＳ１０７とステップＳ２１０の間に後述するステップＳ５１０を含み、ステップＳ２１０とステップＳ１０８の間に後述するステップＳ５１１を含み、ステップＳ１０８の後に後述するステップＳ５１２を含む。ステップＳ５１０、Ｓ５１１及びＳ５１２では、タイミング最適化を行う。タイミング最適化とは、タイミング制約１０３を違反しているパス（任意のスキャンＦＦの出力から次段のスキャンＦＦの入力までの遅延時間の合計がクロックサイクルタイムをオーバーしている箇所）に対し、セルの論理を保持したままトランジスタの電流駆動能力を上げたセルへ置き換えることである。
【００３１】
ステップＳ１０７で生成されたスキャンチェーンが挿入されたゲートレベルのネットリストは、通常ＦＦからスキャンＦＦへの置き換え、スキャンＦＦの出力部に付加されるファンアウトの増加、スキャンチェーンを挿入することによる配線負荷の増加等によりタイミングダメージを受けて、タイミング制約１０３を満たさなくなる場合があり得る。このため、ステップＳ５１０では、スキャンチェーンが挿入されたゲートレベルのネットリストと、ターゲットライブラリ１０２と、タイミング制約１０３とを用いて、第１のタイミング最適化を行う。
【００３２】
第１のタイミング最適化されたゲートレベルのネットリストは、ステップＳ２１０で、スキャンＦＦの出力部の特定出力（Ｑ出力又はＮＱ出力）にファンアウトが集中することによるタイミングダメージによりタイミング制約１０３を満たさなくなる場合がある。このため、ステップＳ５１１では、第１のタイミング最適化されたゲートレベルのネットリストと、ターゲットライブラリ１０２と、タイミング制約１０３とを用いて、第２のタイミング最適化を行う。
【００３３】
第２のタイミング最適化されたゲートレベルのネットリストは、ステップＳ１０８で、スキャンチェーンにのみに接続されているスキャンＦＦの出力部を構成するトランジスタのしきい値電圧を高しきい値にしたスキャンＦＦに置き換える。このため、ステップＳ５１２では、置き換えたゲートレベルのネットリストを第３のタイミング最適化して、タイミング制約１０３を満たす最終ネットリスト１０９を生成する。
【産業上の利用可能性】
【００３４】
本発明に係る半導体装置の設計方法は、通常動作時のスキャンＦＦの動作仕様に依存せずにスキャンＦＦのダイナミック電源電流及び静止電源電流を低減する、スキャンテスト機能を有するフリップフロップ（スキャンＦＦ）を含む半導体装置の設計等の用途に適用できる。
【図面の簡単な説明】
【００３５】
【図１】第１の実施形態の半導体装置の設計方法を示すフローチャート
【図２】第２の実施形態の半導体装置の設計方法を示すフローチャート
【図３】第３の実施形態の半導体装置の設計方法を示すフローチャート
【図４】ＦＦ優先度情報の内容を示す図
【図５】第４の実施形態の半導体装置の設計方法を示すフローチャート
【図６】従来のスキャンＦＦを示すブロック図
【図１】
2008026256.tif 000003
【図２】
2008026256.tif 000004
【図３】
2008026256.tif 000005
【図４】
2008026256.tif 000006
【図５】
2008026256.tif 000007
【図６】
2008026256.tif 000008