(57)【特許請求の範囲】
【請求項１】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、シフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とするスキャンパス処理システム。
【請求項２】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とするスキャンパス処理システム。
【請求項３】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部と、シフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とするスキャンパス処理システム。
【請求項４】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部と、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とするスキャンパス処理システム。
【請求項５】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理部と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部と、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とするスキャンパス処理システム。
【請求項６】
配置処理部が、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、
シフトモード分配処理部が、シフトモードを分配するシフトモード分配処理手順と、
シフトモード分配遅延計算処理部が、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と、
を含むことを特徴とするスキャンパス処理方法。
【請求項７】
配置処理部が、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、
シフトモード分配処理部が、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、
シフトモード分配遅延計算処理部が、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と、
を含むことを特徴とするスキャンパス処理方法。
【請求項８】
配置処理部が、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、
スキャンパス付け替え処理部が、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、
スキャンパス遅延計算処理部が、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、
スキャンＦ／Ｆ挿入処理部が、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、
シフトモード分配処理部が、シフトモードを分配するシフトモード分配処理手順と、
シフトモード分配遅延計算処理部が、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と、
を含むことを特徴とするスキャンパス処理方法。
【請求項９】
配置処理部が、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、
スキャンパス付け替え処理が、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、
スキャンパス遅延計算処理部が、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、
スキャンＦ／Ｆ挿入処理部が、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、
シフトモード分配処理部が、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、
シフトモード分配遅延計算処理部が、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と、
を含むことを特徴とするスキャンパス処理方法。
【請求項１０】
配置処理部が、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、
スキャンパス付け替え処理部が、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、
スキャンパス遅延計算処理部が、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、
駆動バッファ挿入処理部が、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と、
スキャンＦ／Ｆ挿入処理部が、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、
シフトモード分配処理部が、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、
シフトモード分配遅延計算処理部が、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と、
を含むことを特徴とするスキャンパス処理方法。
【請求項１１】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、
シフトモードを分配するシフトモード分配処理手順と、
シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と、
をコンピュータに実行させることを特徴とするスキャンパス処理プログラム。
【請求項１２】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とするスキャンパス処理プログラム。
【請求項１３】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、シフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とするスキャンパス処理プログラム。
【請求項１４】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とするスキャンパス処理プログラム。
【請求項１５】
設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、１以上の第１のシフトモード分配用Ｆ／Ｆを追加し、前記第１のシフトモード分配用Ｆ／Ｆのそれぞれに対しスキャンアウトからの順番−１個の第２のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とするスキャンパス処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャンパス処理システム、スキャンパス処理方法、および、スキャンパス処理プログラムに関し、特に、テストを高速に実行するスキャンパス処理システム、スキャンパス処理方法、および、スキャンパス処理プログラムに関する。
【０００２】
【従来の技術】
従来からスキャンパス回路は、フリップ・フロップをテスト時にシフトレジスタとして、フリップ・フロップ間を組み合わせ回路化することで、テストパターンの自動生成が可能で、且つ高い故障検出率を容易に得られることから、幅広くＬＳＩ設計に用いられてきた。しかし、ＬＳＩが高速化する中で、ＬＳＩテストに対しても高速化が求められてきているにもかかわらず、スキャンパス回路の面積的、遅延的なオーバーヘッドから、スキャン回路自身まで高速に動作させるのは困難であった。
【０００３】
たとえば、「特開平９−１７１０５４号公報記載の『スキャンパス構成回路』では、通常動作時に高速動作が得られるスキャンパス構成回路が示されている。
【０００４】
【発明が解決しようとする課題】
上述した従来の技術の第１の問題点は、シフトモードなどテスト信号の分配が高速動作できないことである。
【０００５】
その理由は、大規模化するＬＳＩ設計に対して、Ｆ／Ｆ数も同様に増加するが、テスト保持制御信号やシフトモード制御信号の分配遅延が、大きくなることを考慮していないためである。たとえば、クロックなどの様に高速動作が可能にするように、テスト信号も分配すると、大きな面積オーバーヘッドとなってしまう。
【０００６】
第２の問題点は、スキャン動作から通常動作の切り替わる際の高速動作が考慮されていないことである。
【０００７】
その理由は、一般的なＬＳＩテスタでは、スキャン動作と通常動作のテスタコマンドの切り替えには、要求される高速動作の数百倍から数千倍の時間が必要であるからである。
【０００８】
第３の問題点は、スキャン動作の高速動作が考慮されていないことである。
【０００９】
その理由は、スキャンパステストでは、スキャンパスを高速動作させるように設計されていないので、スキャン動作中と通常動作中で、テストレートを変えてテストしている。このような場合、一般的なＬＳＩテスタでは、テストレートの切り替えに、要求される高速動作の数百倍から数千倍の時間が必要であるからである。
【００１０】
第４の問題点は、上述の「特開平９−１７１０５４号公報」記載の発明のような構成であると、フリップ・フロップ自身の面積オーバーヘッドが大きいということである。
【００１１】
その理由は、スキャンフリップ・フロップ自身のシフト制御に加えて、テスト保持制御が加わるので、ますます大規模化するＬＳＩ設計に対して、面積的なインパクトが大きいからである。
【００１２】
第５の問題点は、「特開平９−１７１０５４号公報」記載の発明のような構成であると、フリップ・フロップ自身の遅延オーバーヘッドが大きいということである。
【００１３】
その理由は、テスト保持制御のセレクタ、シフト制御のセレクタとフリップ・フロップの入力に対し、２つのセレクタが必要になることで、通常データ入力に対し、遅延オーバーヘッドが付加されるので、ますます高速化するＬＳＩ設計において、遅延的インパクトが大きいためである。
【００１４】
本発明の目的は、上述した問題を解決し、面積増加が少なくても、スキャン動作を高速に実施するシステムを実現することである。
【００１５】
【課題を解決するための手段】
以下に、代表的な、解決手段を示す。本発明の第１のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部とを有することを特徴とする。
【００１６】
本発明の第２のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、シフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とする。
【００１７】
本発明の第３のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とする。
【００１８】
本発明の第４のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理部とを有することを特徴とする。
【００１９】
本発明の第５のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部と、シフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とする。
【００２０】
本発明の第６のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とする。
【００２１】
本発明の第７のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理部と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部とを有することを特徴とする。
【００２２】
本発明の第８のスキャンパス処理システムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理部と、前記配置処理部の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部と、前記スキャンパス付け替え処理部により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理部と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理部と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理部と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理部に再分配をさせるシフトモード分配遅延計算処理部とを有することを特徴とする。
【００２３】
本発明の第１のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順とを含むことを特徴とする。
【００２４】
本発明の第２のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、シフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とを含むことを特徴とする。
【００２５】
本発明の第３のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とを含むことを特徴とする。
【００２６】
本発明の第４のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順とを含むことを特徴とする。
【００２７】
本発明の第５のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、シフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とを含むことを特徴とする。
【００２８】
本発明の第６のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とを含むことを特徴とする。
【００２９】
本発明の第７のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順とを含むことを特徴とする。
【００３０】
本発明の第８のスキャンパス処理方法は、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とを含むことを特徴とする。
【００３１】
本発明の第１のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順とをコンピュータに実行させることを特徴とする。
【００３２】
本発明の第２のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、シフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とする。
【００３３】
本発明の第３のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とする。
【００３４】
本発明の第４のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順とをコンピュータに実行させることを特徴とする。
【００３５】
本発明の第５のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、シフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とする。
【００３６】
本発明の第６のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とする。
【００３７】
本発明の第７のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順とをコンピュータに実行させることを特徴とする。
【００３８】
本発明の第８のスキャンパス処理プログラムは、設計論理の接続情報を含む論理接続情報、前記論理接続情報で使用されているブロックのサイズ、端子位置の情報を含むテクノロジ情報、および、論理設計の制約から割り振られる端子、Ｆ／Ｆ間の遅延値を含むタイミング制約を入力し、前記タイミング制約に基づいてブロックの配置を行う配置処理手順と、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順とをコンピュータに実行させることを特徴とする。
【００３９】
【発明の実施の形態】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００４０】
図１は、本発明の第１の実施の形態の構成を示すブロック図である。
【００４１】
図１を参照すると、本発明の第１の実施の形態は、論理接続情報１０と、テクノロジ情報２０と、タイミング制約３０と、スキャンパス処理装置４０と、配置結果５０とから構成される。
【００４２】
スキャンパス処理装置４０は、論理接続情報１０、テクノロジ情報２０、および、タイミング制約３０を入力し、タイミング制約３０に基づいた配置を行う配置処理部４１と、配置処理部４１の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部４２と、スキャンパス付け替え処理部４２により変更されたスキャンパスに対し、スキャンＦ／Ｆ（フリップ・フロップ）間の遅延を計算するスキャンパス遅延計算処理部４３と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部４４とから構成される。
【００４３】
論理接続情報１０は、設計論理のプリミティブ（ブロック）間の接続情報を含むファイルである。
【００４４】
図３は、論理回路、および、論理接続情報１０の内容を示す説明図である。
【００４５】
図３（ａ）を参照すると、論理回路は、名称ＡＡＡのＦ／Ｆ（ブロック名はＳＦＦ）、名称ＢＢＢのＦ／Ｆ（ブロック名はＳＦＦ）が接続されており、ＤＩ端子は、通常のデータ入力端子であり、ＳＩ端子は、スキャンデータ入力端子であり、ＳＭＣ端子は、シフトモード入力端子であり、Ｃ端子は、クロック（ＣＬＯＣＫ）入力端子であり、ＤＯ端子は、データ出力端子ある。図３（ｂ）を参照すると、図３（ａ）の接続を示すように、ＡＡＡの各ＤＩ、ＳＩ、ＳＭＣ、Ｃ，ＤＯ端子には、それぞれ、信号名ＩＮＤＡＴＡ１、ＳＣＡＮＩＮ１、ＳＦＴＭＯＤＥ、ＣＬＯＣＫ、ＯＵＴＤＡＴＡ１が接続されており、ＢＢＢの各ＤＩ、ＳＩ、ＳＭＣ、Ｃ，ＤＯ端子には、それぞれ、信号名ＩＮＤＡＴＡ２、ＯＵＴＤＡＴＡ１、ＳＦＴＭＯＤＥ、ＣＬＯＣＫ、ＯＵＴＤＡＴＡ２が接続されている。
【００４６】
テクノロジ情報２０は、ＬＳＩの下地のサイズや配線幅、電源に加え、論理接続情報１０で使用されているプリミティブのサイズ、端子位置の情報を含むファイルである。
【００４７】
図４は、テクノロジ情報２０の内容を示す説明図である。
【００４８】
図４を参照すると、図３のブロック名ＳＦＦの情報は、基準トランジスタサイズＴＲＳＩＺＥがａ×ｂであり、配線長と遅延値との関係ＤＥＬＡＹがｆ（ｌ）（ここで、ｌは、出力からの配線長であり、ｆ（ｌ）は、ｌを変数とする関数である）であり、ブロックの定義識別子がＣＯＭＰＯＮＥＮＴ＿ＤＥＦＩＮＥであり、ブロックの名称の定義ＮＡＭＥがＳＦＦであり、サイズの定義ＳＩＺＥがＡであり、ピンの定義ＰＩＮがＤＩ，ＳＩ，ＳＭＣ，Ｃ，ＤＯであり、遅延の定義ＤＥＬＡＹがｃ，ｆ，ｅ，ｆ，・・・（これらの値は、入力からの遅延時間、セットアップ時間、ホールド時間等）である。
【００４９】
タイミング制約３０は、設計論理の入力端子〜Ｆ／Ｆ間、Ｆ／Ｆ〜Ｆ／Ｆ間、Ｆ／Ｆ〜出力端子間のパスに関し、設計の制約から割り振られる遅延値を含むファイルである。
【００５０】
図５は、タイミング制約３０の内容を示す説明図である。
【００５１】
図５を参照すると、クロックサイクルｃｌｏｃｋがｇ［ｐｓ］であり、ｎサイクルパスｎＴＧ、Ｘ＊，Ｙ＊である。
【００５２】
配置処理部４１は、テクノロジ情報２０に従い、外部端子の配置、ＲＡＭなどのハードマクロの配置を行った後に、タイミング制約３０に示された遅延値を満たすように、論理接続情報１０で使用されているＦ／Ｆを含むプリミティブを配置する。引き続き、スキャンパス付け替え処理部４２は、Ｆ／Ｆの配置結果を参照し、既に接続されているスキャンパスを一度引き剥がし、ＬＳＩとしてのスキャンパス配線長が短くなるように、スキャンパス接続を変更する。さらに、スキャンパス遅延計算処理部４３は、付け替えられたスキャンＦ／Ｆ間の一つ一つに対し、スキャンパス遅延を計算し、高速テストの要求値を満たしているかどうかを判断し、満たしていない場合、スキャンＦ／Ｆ挿入処理部４４により、スキャンパス経路上の近傍にスキャンＦ／Ｆを挿入する。
【００５３】
次に、本発明の第１の実施の形態の動作について図面を参照して説明する。
【００５４】
図２は、本発明の第１の実施の形態の動作を示すフローチャートである。
【００５５】
図２を参照すると、スキャンパス処理装置４０の配置処理部４１は、まず、論理接続情報１０、テクノロジ情報２０、および、タイミング制約３０を読み込む（図２ステップＡ１〜ステップＡ３）。次に、配置処理部４１は、最初にステップＡ２で読み込んだテクノロジ情報２０に基づき外部端子、ＲＡＭなどのハードマクロの配置を行い（図２ステップＡ４）、引き続き、タイミング制約３０を満たすように、論理接続情報１０で使用されているＦ／Ｆを含むプリミティブを配置する（図２ステップＡ５）。
【００５６】
次に、スキャンパス付け替え処理部４２が、Ｆ／Ｆの配置結果に着目して、ＬＳＩ全体のスキャンパス配線長が短くなるように、スキャンパスの接続順の変更、すなわち、スキャンパスの付け替えを行う（図２ステップＡ６）。次に、スキャンパス遅延計算処理部４３が、スキャンＦ／Ｆ間のスキャンパス遅延の計算を行い（図２ステップＡ７）、遅延値が高速テストの要求値を満たすかどうかを判断し（図２ステップＡ８）、満たさない場合（図２ステップＡ８／ＮＯ）、スキャンＦ／Ｆ挿入処理部４４が、当該スキャンＦ／Ｆ間のスキャンパス経路上の近傍にスキャンＦ／Ｆを挿入する（図２ステップＡ９）。次に、すべてのスキャンパスに関して遅延の処理を実施したかどうか判断し（図２ステップＡ１０）、まだ、未実施のスキャンパスがあれば（図２ステップＡ１０／ＮＯ）、次のスキャンパスの遅延計算のためにステップＡ７に戻る。すべてのスキャンパスに関して遅延の処理を実施すると（図２ステップＡ１０／ＹＥＳ）、配置結果５０を作成し処理を終了する。また、遅延値が高速テストの要求値を満たす場合には（図２ステップＡ８／ＹＥＳ）、次のスキャンパスの遅延計算のためにステップＡ７に戻る。
【００５７】
次に、さらに詳細に図面を参照して説明する。
【００５８】
図６は、スキャンパスの接続を示す説明図である。
【００５９】
図７は、スキャンパスの接続方法を示す説明図である。
【００６０】
図６（ａ）を参照すると、配置処理部４１の処理結果は、Ｆ／Ｆの配置、スキャンパスの長さを考慮していない。図６（ｂ）は、スキャンパス付け替え処理部４２の処理結果は、Ｆ／Ｆ間の距離を考慮しており、スキャンパスが短くなっている。
【００６１】
図７（ａ）は、配置処理部４１が、順次、Ｆ／Ｆを距離の近い順にスキャンパスを接続するアルゴリズムにしたがって処理した結果である。図７（ｂ）は、配置処理部４１が、順次、Ｆ／Ｆ間の距離の短いパスの順番にスキャンパスを接続するアルゴリズムにしたがって処理した結果である。
【００６２】
図８は、スキャンパス遅延計算処理部４３が対象とする箇所を示した説明図である。
【００６３】
図８を参照すると、スキャンパス遅延計算処理部４３は、スキャンパス遅延（Ｆ／Ｆの内部遅延、スキャンパスの配線パスにおける遅延＋Ｆ／Ｆのセットアップ時間）＋クロックスキューの値を算出する（図２ステップＡ７）。この時のスキャンパスの配線パスにおける遅延は、Ｘ座標差＋Ｙ座標差の配線長に対し、テクノロジ情報２０に基づく配線長と遅延値との関係（図４のｆ（ｌ））により求める。
【００６４】
図９は、スキャンＦ／Ｆ挿入を示す説明図である。
【００６５】
次に、高速テストの要求値とステップＡ７で求めた＜スキャンパス遅延＋クロックスキュー値＞のと比較を行い、高速テストの要求値より小さい値であれば（図２ステップＡ８／ＹＥＳ）、次のスキャンパスの計算処理に戻り、大きい値であれば、図９に示すように、スキャンＦ／Ｆ挿入処理部４４が、スキャンパス経路の近傍にスキャンＦ／Ｆを配置し、スキャンパス接続を行う。
【００６６】
次に、本発明の第２の実施の形態ついて図面を参照して詳細に説明する。
【００６７】
図１０は、本発明の第２の実施の形態の構成を示すブロック図である。
【００６８】
図１０を参照すると、本発明の第２の実施の形態は、論理接続情報１０と、テクノロジ情報２０と、タイミング制約３０と、シフトモード処理装置７０と、シフトモード分配結果８０とから構成される。
【００６９】
シフトモード処理装置７０は、論理接続情報１０、テクノロジ情報２０、および、タイミング制約３０を入力し、タイミング制約３０に基づいた配置を行う配置処理部４１と、シフトモードを分配するシフトモード分配処理部７２と、分配ツリーの遅延値が高速テストの要求値を満たしているかどうかを判断するシフトモード分配遅延計算処理部７３とから構成される。
【００７０】
次に、本発明の第２の実施の形態の動作について図面を参照して説明する。
【００７１】
図１１は、本発明の第２の実施の形態の動作を示すフローチャートである。
【００７２】
図１１を参照すると、シフトモード処理装置７０の配置処理部４１は、まず、論理接続情報１０、テクノロジ情報２０、および、タイミング制約３０を読み込む（図１１ステップＡ１〜ステップＡ３）。次に、配置処理部４１は、最初にステップＡ２で読み込んだテクノロジ情報２０に基づき外部端子、ＲＡＭなどのハードマクロの配置を行い（図１１ステップＡ４）、引き続き、タイミング制約３０を満たすように、論理接続情報１０で使用されているＦ／Ｆを含むプリミティブを配置する（図１１ステップＡ５）。
【００７３】
次に、シフトモード分配処理部７２は、Ｆ／Ｆの配置結果に基づき、分配Ｆ／Ｆ数（Ｆ／Ｆ全体の数）、および、テクノロジ情報２０により、１つのＦ／Ｆで分配できるＦ／Ｆ個数を導いて、配置箇所、スキャンパス順序を考慮し、シフトモード分配用のＦ／Ｆを設計回路に追加し、Ｆ／Ｆを介す場合、介さない場合を含むシフトモード分配を構成する（図１１ステップＢ１）。次に、シフトモード分配遅延計算処理部７３が、分配されたシフトモード信号の遅延時間を計算し（図１１ステップＢ２）、シフトモード信号の遅延時間が高速テストの要求値を満たしているかどうかを判断し（図１１ステップＢ３）、満たしている場合は（図１１ステップＢ３／ＹＥＳ）、シフトモード分配結果８０を作成し終了し、満たしていない場合は（図１１ステップＢ３／ＮＯ）、再度、ステップＢ１に戻り、たとえば、１つのＦ／Ｆで分配できるＦ／Ｆ個数を緩和する等の調整を行う（図１１ステップＢ１）。
【００７４】
次に、さらに詳細に図面を参照して説明する。
【００７５】
上述したように、シフト動作に関しては、高速動作可能な回路構成にすることが可能になったが、シフトモード→通常モード、通常モード→シフトモードの切り替えおよび、シフトモード分配遅延が高速動作が必要となる。モード切り替えの遅延時間、つまりシフトモード分配を高速に行う構成について説明する。
【００７６】
図１２は、シフトモード分配処理部７２により分配が決定されたシフトモード分配回路である。
【００７７】
図１３は、Ｆ／Ｆの構成を示すブロック図である。
【００７８】
図１４は、スキャンテスト動作を示す説明図である。
【００７９】
図１５は、テストシーケンスの動作を示す説明図である。
【００８０】
図１２を参照すると、Ｆ／Ｆａ〜ｉは、設計者による元々の論理の部分であり、図１３（１）のタイプのＦ／Ｆである。Ｆ／Ｆｊ〜ｏは、高速にシフトモード分配するために追加されたものである。Ｆ／Ｆｊ、ｋ、ｌ、ｎは、図１３（２）のタイプのＦ／Ｆである。Ｆ／Ｆｍ、ｏは、通常モードでクロック印加した際にシフトモードとなり、かつ、シフトモード中にシフト動作が誤動作をさせない回路であり、図１３（３）のタイプのＦ／Ｆである。
【００８１】
図１３において、選択回路１３１は、ＳＭＣ（シフトモード信号）＝０のとき、ＤＩ（データ入力端子）を選択し、ＳＭＣ＝１のとき、ＳＩ（スキャンデータ入力端子）を選択する回路である。また、選択回路１３２は、ＳＭＣ＝０のとき、１クランプ（論理＝１）を選択し、ＳＭＣ＝１のとき、ＳＩを選択する回路である。また、選択回路１３３は、ＳＭＣ＝０のとき、内部Ｆ／Ｆの出力を選択し、ＳＭＣ＝１のとき、１クランプ（論理＝１）を選択する回路である。
【００８２】
一般的に、シフトモード信号は、外部端子（ＳＭＣ）から、１：ｎ（Ｆ／Ｆ数）に分配されるが、ＬＳＩが大規模することで、搭載するＦ／Ｆ数も増加し、高速動作の要求値での分配が困難になる。よって、元々の外部端子からの分配はごく一部にとどめ（図１２では、Ｆ／Ｆｍ、ｏのみ）、その他は、Ｆ／Ｆの出力をシフトモード信号として分配する（図１２では、Ｆ／Ｆｋの出力をＦ／Ｆｏを介しＦ／Ｆａ、ｂ、ｃ、ｄ、ｅへ、Ｆ／Ｆｊの出力をＦ／Ｆｎ、ｍを介しＦ／Ｆｆ、ｇ、ｈ、ｉへ分配）。
【００８３】
また、図１２においては、スキャンイン（ＳＩＮ）から、Ｆ／Ｆａ〜Ｆ／Ｆｌを経て、スキャンアウト（ＳＯＴ）をスキャンパスとし、Ｆ／Ｆｍ、ｎ、ｏにはスキャンパスを組み入れない。また、シフト動作を正確に行うため、余計に印加されるクロックを考慮し、スキャンアウト（ＳＯＴ）からの順番−１［個］のＦ／Ｆを分配経路に挿入する。すなわち、順番２のＦ／Ｆｋの後ろには、（２−１）＝１［個］のＦ／Ｆｏが挿入され、順番３のＦ／Ｆｊの後ろには、（３−１）＝２［個］のＦ／Ｆｎ、ｍが挿入される。
【００８４】
さらに、スキャンインのシフト動作が終了した際に、シフトモードから通常モードにするために、シフトモード分配用のＦ／Ｆ（Ｆ／Ｆｊ、ｋ、ｌ）は、スキャンアウト側に集め、Ｆ／Ｆｊ、ｋ、ｌ、ｎに対しては、スキャンイン終了時に、必ず通常モードにするスキャンインのデータ値を設定し、逆に、通常モードからシフトモードにするためにシフトモード分配の最終Ｆ／Ｆ（Ｆ／Ｆｍ、ｏ）には、図１３（３）に示すような回路を用いて、通常モードでクロックを印加した際には、１サイクル通常モードとなり、次のサイクルでは、シフトモードとなるようにする。
【００８５】
図１４を参照すると、ハッチングの部分が、設計者により設計された論理の部分であり、被テスト回路である。
【００８６】
図１５を参照して、テストシーケンスについて説明する。ここで、ＳＭＣ＝０が通常モード、ＳＭＣ＝１がシフトモードである。また、図１３（３）のクランプブロックは１出力である。
【００８７】
まず最初に、ＳＭＣ＝０として、クロックを印加することで、Ｆ／Ｆｍ、ｏに１を設定し、シフトモードの設定を行う（図１５ステップＣ１）。Ｆ／Ｆｍ、ｏは、図１３（３）タイプのＦ／Ｆであるから、ＳＭＣ＝０で、クロックが印可されると、内部Ｆ／Ｆは、１が設定され、ＤＯの出力は、内部Ｆ／Ｆの１である。
【００８８】
次に、ＳＭＣ＝１の状態でスキャンインし、データの設定を行う。この際、スキャンインのシフト動作が完了した直後に通常モードとなるように、スキャンアウト側に集めたＦ／Ｆｊ、ｋ、ｌに０が設定されるようなスキャンインデータとする（図１５ステップＣ２）。
【００８９】
次に、ＳＭＣ＝０としてクロックを印加することにより、通常動作のテストを行い、この際も図１０（３）に示す回路構成としていることから、クロック印加後は、通常モードからシフトモードに切り替わっている（図１５ステップＣ３）。
【００９０】
さらに、スキャンアウトにより、テスト結果の値を出力する（図１５ステップＣ４）。この一連のシーケンス（図１５ステップＣ２〜ステップＣ４）を繰り返すことで、より多くの箇所のテストを行う（図１５ステップＣ５）。
【００９１】
図１６は、本発明の第２の実施の形態の動作を示すタイムチャートである。
【００９２】
図１６を参照すると、シフトモードにおいて、Ｆ／Ｆａにサイクル１から、順次スキャンインされたデータが、Ｆ／Ｆを伝搬し、サイクル１２で、Ｆ／Ｆｌに到達している。サイクル１２で、通常モードとなり、サイクル１３から、再度、シフトモードになり、スキャンアウトになり、Ｆ／Ｆｌの出力が順次読み出される。
【００９３】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００９４】
図１７は、本発明の第３の実施の形態の構成を示すブロック図である。
【００９５】
図１７を参照すると、本発明の第３の実施の形態は、本発明の第１の実施の形態に、駆動バッファ挿入処理部４５を追加したものである。すなわち、スキャンパス処理装置９０は、論理接続情報１０、テクノロジ情報２０、および、タイミング制約３０を入力し、タイミング制約３０に基づいた配置を行う配置処理部４１と、配置処理部４１の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理部４２と、スキャンパス付け替え処理部４２により変更されたスキャンパスに対し、スキャンＦ／Ｆ（フリップ・フロップ）間の遅延を計算するスキャンパス遅延計算処理部４３と、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理部４４と、遅延値改善のための駆動バッファを追加する駆動バッファ挿入処理部４５とから構成される。
【００９６】
次に、本発明の第３の実施の形態の動作について図面を参照して詳細に説明する。
【００９７】
図１８は、本発明の第３の実施の形態の動作を示すフローチャートである。
【００９８】
図１８を参照すると、スキャンパス処理装置９０の配置処理部４１は、まず、論理接続情報１０、テクノロジ情報２０、および、タイミング制約３０を読み込む（図１７ステップＡ１〜ステップＡ３）。次に、配置処理部４１は、最初にステップＡ２で読み込んだテクノロジ情報２０に基づき外部端子、ＲＡＭなどのハードマクロの配置を行い（図１７ステップＡ４）、引き続き、タイミング制約３０を満たすように、論理接続情報１０で使用されているＦ／Ｆを含むプリミティブを配置する（図１７ステップＡ５）。
【００９９】
次に、スキャンパス付け替え処理部４２が、Ｆ／Ｆの配置結果に着目して、ＬＳＩ全体のスキャンパス配線長が短くなるように、スキャンパスの接続順の変更、すなわち、スキャンパスの付け替えを行う（図１７ステップＡ６）。次に、スキャンパス遅延計算処理部４３が、スキャンＦ／Ｆ間のスキャンパス遅延の計算を行い（図１７ステップＡ７）、遅延値が高速テストの要求値を満たすかどうかを判断し（図１７ステップＤ１）、要求値を満たさなく、かつ、スキャンＦ／Ｆ挿入でなくても、駆動バッファ挿入で要求値を満たすようであれば（ステップＤ１／ＮＯ）、駆動バッファ挿入処理部４５が、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する（ステップＤ２）。次に、すべてのスキャンパスに関して遅延の処理を実施したかどうか判断し（図１７ステップＡ１０）、まだ、未実施のスキャンパスがあれば（図１７ステップＡ１０／ＮＯ）、次のスキャンパスの遅延計算のためにステップＡ７に戻る。すべてのスキャンパスに関して遅延の処理を実施すると（図１７ステップＡ１０／ＹＥＳ）、配置結果５０を作成し処理を終了する。また、遅延値が高速テストの要求値を満たす場合には（図１７ステップＤ１／ＹＥＳ）、次のスキャンパスの遅延計算のためにステップＡ７に戻る。また、駆動バッファ挿入では要求値を満たさない場合には、スキャンＦ／Ｆ挿入処理部４４によりスキャンＦ／Ｆの挿入を実施することも可能である。
【０１００】
次に、具体例を用いて説明する。
【０１０１】
図１９は、スキャンパス遅延計算処理部４３が対象とする箇所を示したものである。
【０１０２】
スキャンパス遅延計算処理部４３は、スキャンパス遅延（Ｆ／Ｆの内部遅延、スキャンパスの配線パスにおける遅延＋Ｆ／Ｆのセットアップ時間）＋クロックスキューの値を算出する（図１７ステップＡ７）。この時のスキャンパスの配線パスにおける遅延は、Ｘ座標差＋Ｙ座標差の配線長に対し、テクノロジ情報２０に基づく配線長と遅延値との関係（図４のｆ（ｌ））により求める。
【０１０３】
次に、ステップＤ１で高速テストの要求値に対し、ステップＡ７で求めた値の比較を行い、要求値より小さい値であれば、次のスキャンパスの計算処理に戻り、大きい値で、スキャンＦ／Ｆ挿入で無くても高速動作の要求値を満たせば、図１９に示すように駆動バッファ挿入処理部４５によりスキャンパス経路に駆動バッファを配置し、スキャンパス接続を行う。
【０１０４】
たとえば、ｆ（ｌ）＞ｆ（ｌ１）＋ｆ（ｌ２）＋ｆ（ｌ３）＋ｄ１＋ｄ２の場合である。ここで、ｌ、ｌ１、ｌ２、ｌ３は、配線長、ｄ１、ｄ２は、駆動バッファの遅延時間である。
【０１０５】
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。
【０１０６】
本発明の第４の実施の形態は、論理接続情報１０、テクノロジ情報２０、タイミング制約３０を入力し、タイミング制約３０に基づいてブロックの配置を行う配置処理手順と（図２ステップＡ４）、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と（図２ステップＡ６）、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と（図２ステップＡ７）、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と（図１８ステップＤ１２）、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と（図２ステップＡ９）、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と（図１１ステップＢ１）、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と（図１１ステップＢ２、Ｂ３）を含む方法である。
【０１０７】
次に、本発明の第５の実施の形態について図面を参照して詳細に説明する。
【０１０８】
本発明の第５の実施の形態は、論理接続情報１０、テクノロジ情報２０、タイミング制約３０を入力し、タイミング制約３０に基づいてブロックの配置を行う配置処理手順と（図２ステップＡ４）、前記配置処理手順の配置の結果に対し、一度、スキャンパスを切断し、スキャンパス配線長が短くなるようにスキャンパス接続を変更するスキャンパス付け替え処理手順と（図２ステップＡ６）、前記スキャンパス付け替え処理手順により変更されたスキャンパスに対し、スキャンＦ／Ｆ間の遅延を計算するスキャンパス遅延計算処理手順と（図２ステップＡ７）、スキャンＦ／Ｆ間の遅延が要求値を満たさない場合に、当該スキャンＦ／Ｆ間のスキャンパス経路上に駆動バッファを挿入する駆動バッファ挿入処理手順と（図１８ステップＤ１２）、駆動バッファの挿入では要求値を満たさない場合、スキャン用のＦ／Ｆを追加するスキャンＦ／Ｆ挿入処理手順と（図２ステップＡ９）、スキャンアウトからの順番−１個のシフトモード分配用のＦ／Ｆを挿入するようにシフトモードを分配するシフトモード分配処理手順と（図１１ステップＢ１）、シフトモードの分配ツリーの遅延値を計算し、要求値を満たしているかどうかを判断し、要求値を満たしていない場合、前記シフトモード分配処理手順に再分配をさせるシフトモード分配遅延計算処理手順と（図１１ステップＢ２、Ｂ３）をコンピュータ（たとえば、スキャンパス処理装置４０等）に実行させるプログラムである。
【０１０９】
【発明の効果】
本発明の第１の効果は、シフト動作を高速に行えることである。
【０１１０】
その理由は、シフト動作時のフリップ・フロップ間のデータ転送に関し、高速で動作可能かどうかを判断して、不可能な場合、1つまたは複数のスキャンＦ／Ｆもしくは、駆動バッファを挿入するからである。
【０１１１】
第２の効果は、シフトモード信号が高速で分配可能なことにより、ノーマル動作とシフト動作の切り替えが高速動作可能なスキャンパス回路を構成できることである。
【０１１２】
その理由は、シフトモードの分配にＦ／Ｆを用いており、かつ、スキャンパス順序を考慮して、Ｆ／Ｆを介さない、または、複数のＦ／Ｆを介する分配を行うからである。
【０１１３】
第３の効果は、Ｆ／Ｆ自身の面積オーバーヘッド、遅延オーバーヘッドが無いことである。
【０１１４】
その理由は、シフトモードの分配を高速にすることと、シフト動作が終わった状態でシフトモードから通常モードに、通常モードでクロックを印加した後に、通常モードからシフトモードに変わる構成であることから、Ｆ／Ｆに付加回路が必要無いためである。
【０１１５】
第４の効果は、シフト動作、通常動作共に高速動作させたテストが可能なことである。
【０１１６】
その理由は、ＬＳＩテスタでのテストレートの切り替えを行う必要が無いからである。
【０１１７】
第５の効果は、ＬＳＩテスタのテスタコマンドの切り替えを使用しないテストで、より高速動作させたテストが可能なことである。
【０１１８】
その理由は、ＬＳＩテスタでは、スキャン動作、および、通常動作のテスタコマンドの切り替えには、要求される高速動作の数百倍から数千倍の時間が必要であるが、ＬＳＩ自身に自己テスト回路を有している場合、ＬＳＩテスタのテスタコマンドの切り替えを使用しないで、スキャン動作と通常動作の切り替えをテストシーケンスにより高速に行えるからである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示すフローチャートである。
【図３】論理回路、および、論理接続情報１０の内容を示す説明図である。
【図４】テクノロジ情報の内容を示す説明図である。
【図５】タイミング制約の内容を示す説明図である。
【図６】スキャンパスの接続を示す説明図である。
【図７】スキャンパスの接続方法を示す説明図である。
【図８】スキャンパス遅延計算処理部が対象とする箇所を示した説明図である。
【図９】スキャンＦ／Ｆ挿入を示す説明図である。
【図１０】本発明の第２の実施の形態の構成を示すブロック図である。
【図１１】本発明の第２の実施の形態の動作を示すフローチャートである。
【図１２】シフトモード分配処理部により分配が決定されたシフトモード分配回路である。
【図１３】Ｆ／Ｆの構成を示すブロック図である。
【図１４】スキャンテスト動作を示す説明図である。
【図１５】テストシーケンスの動作を示す説明図である。
【図１６】本発明の第２の実施の形態の動作を示すタイムチャートである。
【図１７】本発明の第３の実施の形態の構成を示すブロック図である。
【図１８】本発明の第２の実施の形態の動作を示すフローチャートである。
【図１９】スキャンパス遅延計算処理部が対象とする箇所を示した説明図である。
【符号の説明】
１０    論理接続情報
２０    テクノロジ情報
３０    タイミング制約
４０    スキャンパス処理装置
４１    配置処理部
４２    スキャンパス付け替え処理部
４３    スキャンパス遅延計算処理部
４４    スキャンＦ／Ｆ挿入処理部
４５    駆動バッファ挿入処理部
５０    配置結果
７０    シフトモード処理装置
７２    シフトモード分配処理部
７３    シフトモード分配遅延計算処理部
８０    シフトモード分配結果
９０    スキャンパス処理装置
【図１】
0003852335.tif 000002
【図２】
0003852335.tif 000003
【図３】
0003852335.tif 000004
【図４】
0003852335.tif 000005
【図５】
0003852335.tif 000006
【図６】
0003852335.tif 000007
【図７】
0003852335.tif 000008
【図８】
0003852335.tif 000009
【図９】
0003852335.tif 000010
【図１０】
0003852335.tif 000011
【図１１】
0003852335.tif 000012
【図１２】
0003852335.tif 000013
【図１３】
0003852335.tif 000014
【図１４】
0003852335.tif 000015
【図１５】
0003852335.tif 000016
【図１６】
0003852335.tif 000017
【図１７】
0003852335.tif 000018
【図１８】
0003852335.tif 000019
【図１９】
0003852335.tif 000020