(57)【要約】【課題】観測用ＦＦをＥＣＯセルとして利用可能とすると共に、ＥＣＯセルを用いて回路変更を行った場合においても、当該観測用ＦＦが観測対象としていた論理回路の動作テストを可能とする。【解決手段】半導体集積回路設計装置１において、半導体集積回路のネットリストを受け付けるリスト受付部と、信号観測点を特定するための特定情報を受け付ける観測点受付部と、前記観測点受付部が受け付けた前記信号観測点に接続されるフリップフロップを前記半導体集積回路に配置する配置部と、前記配置部により配置された前記フリップフロップの前段に論理回路を追加する追加部と、前記信号観測点、前記フリップフロップ及び前記論理回路を配線接続する接続部と、前記配置部、前記追加部、前記接続部により更新された前記ネットリストを出力する出力部とを備える。【選択図】図１
2015036938.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のネットリストを受け付けるリスト受付部と、
信号観測点を特定するための特定情報を受け付ける観測点受付部と、
前記観測点受付部が受け付けた前記信号観測点に接続されるフリップフロップを前記半導体集積回路に配置する配置部と、
前記配置部により配置された前記フリップフロップの前段に論理回路を追加する追加部と、
前記信号観測点、前記フリップフロップ及び前記論理回路を配線接続する接続部と、
前記配置部、前記追加部、前記接続部により更新された前記ネットリストを出力する出力部とを
備えた半導体集積回路設計装置。
【請求項２】
前記配置部により、複数のフリップフロップが追加された場合に、配置されたフリップフロップを２個一組として対応付け、一方のフリップフロップが接続される観測点を他方のフリップフロップで観測可能とし、他方のフリップフロップが接続される観測点を一方のフリップフロップで観測可能とする前記一方及び前記他方のフリップフロップの前段にそれぞれ配線接続される各論理回路の接続情報を生成する補完情報生成部を
備えた請求項１に記載の半導体集積回路設計装置。
【請求項３】
前記追加部は、前記配置部により配置された前記フリップフロップの前段に論理和ゲート回路及び論理積ゲート回路をそれぞれ少なくとも１つずつ含む前記論理回路を追加し、
前記接続部は、前記各論理回路が、前記一方及び前記他方のフリップフロップの観測対象とする観測点を、切り替えるための切替信号を受け付けるようにネットリストを更新する
請求項２に記載の半導体集積回路設計装置。
【請求項４】
半導体集積回路のネットリストを受け付け、
信号観測点を特定するための特定情報を受け付け、
受け付けた前記信号観測点に接続されるフリップフロップを前記半導体集積回路に配置し、
配置した前記フリップフロップの前段に論理回路を追加し、
前記信号観測点、前記フリップフロップ及び前記論理回路を配線接続し、
前記ネットリストを更新する
処理をコンピュータに実行させる半導体集積回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計を行う半導体集積回路設計装置及び半導体集積回路設計方法に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）などの半導体集積回路において、製品完成後に、機能改修、機能追加、仕様変更などにより、論理回路の設計変更を行うことがある。このような場合には、既存の配置情報を極力保ったまま、変更箇所のみの接続を行うＥＣＯ（Engineering Change Order）という技術が用いられる。ＥＣＯとは、バルク層に予め挿入してある未配線のスペアセルの接続情報を変更し、回路の変更を実現する技術である。ここで、バルク層とはトランジスタ同士を分離し、素子として働く領域を作るアクティブ層やトランジスタのゲート電極を形成するゲート層などを指す。以下、予め挿入してあるスペアセルのことをＥＣＯセルと呼ぶ。
【０００３】
ＥＣＯセルを用いた変更における配線工程では、配線長を極力短くするため、変更を行う箇所に最も近いＥＣＯセルを用いることが望ましい。近年、ＬＳＩは高クロック化が進んでいるため、配線長の延びによる信号伝搬の遅れが、順序回路のタイミング制御に影響を与えるからである。
【０００４】
設計変更に伴う配線長の延びによる信号伝搬の遅延を抑制するために、冗長なセルを信号伝達経路に配置することは、従来から知られている（特許文献１等）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６９９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
冗長なセルの一つとして、論理回路を観測するためのＦＦ（観測用ＦＦ）がある。動作テスト時に論理回路の動作を観測するための素子である。なお、ＦＦは主としてフリップフロップから構成されるデータ保持機能を持つ素子である。
【０００７】
追加される観測用ＦＦは動作テスト時のみに動作し、通常動作時には使われない冗長なセルである。そのため、ＥＣＯセルとして利用することも可能である。しかしながら、観測用ＦＦをＥＣＯセルとして使用してしまうと、論理回路の観測が行えなくなる。すなわち、設計変更後は、当該論理回路の動作テストが行えなくなる。
【０００８】
一つの側面では、観測用ＦＦをＥＣＯセルとして利用可能とすると共に、ＥＣＯセルを用いて回路変更を行った場合においても、論理回路の観測を可能とする半導体集積回路設計装置及び半導体集積回路設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願に開示する半導体集積回路設計装置は、半導体集積回路のネットリストを受け付けるリスト受付部と、信号観測点を特定するための特定情報を受け付ける観測点受付部と、前記観測点受付部が受け付けた前記信号観測点に接続されるフリップフロップを前記半導体集積回路に配置する配置部と、前記配置部により配置された前記フリップフロップの前段に論理回路を追加する追加部と、前記信号観測点、前記フリップフロップ及び前記論理回路を配線接続する接続部と、前記配置部、前記追加部、前記接続部により更新された前記ネットリストを出力する出力部とを備える。
【発明の効果】
【００１０】
本発明の一観点によれば、観測用ＦＦをＥＣＯセルとして利用する場合であっても、論理回路について観測を行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】回路設計システムの一構成例を示す説明図である。
【図２】回路ライブラリに記憶してある観測用回路の一例を示す説明図である。
【図３】ＳＭ端子の値と観測用ＦＦの動作モードとの対応関係の一例を示す説明図である。
【図４】観測用回路の動作を示す真理値表である。
【図５】観測用ＦＦが必要となる回路の一例を示す説明図である。
【図６】従来技術による観測用ＦＦを配置した回路の一例を示す説明図である。
【図７】従来技術により配置した観測用ＦＦをＥＣＯセルとして利用する回路の一例を示す説明図である。
【図８】本実施の形態における観測用ＦＦの配置を説明するための説明図である。
【図９】観測用ＦＦをＥＣＯセルとして使用する場合の回路を説明するための説明図である。
【図１０】観測用ＦＦの通常動作について説明するための説明図である。
【図１１】観測ポイントリストの一例を示す説明図である。
【図１２】回路設計装置における観測用ＦＦ配置処理の手順を示すフローチャートである。
【図１３】配置素子リストの一例を示す説明図である。
【図１４】相互観測補完型回路の一例を示す説明図である。
【図１５】相互観測補完回路の素子をＥＣＯセルとして利用する例を示す回路図である。
【図１６】相互観測補完回路の素子をＥＣＯセルとして利用する例を示す回路図である。
【図１７】相互観測補完回路の素子をＥＣＯセルとして利用する例を示す回路図である。
【図１８】回路設計装置における観測用ＦＦ配置処理の手順を示すフローチャートである。
【図１９】回路設計装置におけるペア処理の手順を示すフローチャートである。
【図２０】更新した配置素子リストの一例を示す説明図である。
【図２１】実施の形態１又は実施の形態２に係る回路設計装置の機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
実施の形態１
本実施の形態で用いる観測用ＦＦについて説明する。ＬＳＩの動作テストにおいては、すべての論理回路がテストされなければならない。しかし、ＬＳＩの高集積化が進み、回路全体を見通すことの困難性のため、テストできない論理回路ブロックが発生してしまうことが知られている。また、設計支援ツールによりテストパターンを生成する場合において、現実的な計算量で全ての論理回路がテスト可能なテストパターンを生成することが不可能な場合もある。そのような、状況に対して、テスト不可能な論理回路を観測するために配置するのが、観測用ＦＦである。
【００１３】
図１は回路設計システムの一構成例を示す説明図である。回路設計システムは回路設計装置（半導体集積回路設計装置）１と共有データベース２を含む。回路設計装置１はＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、ＲＯＭ（Read Only Memory）１３、入力部１４、出力部１５、読取部１６、通信部１７、大容量記憶装置１８を含む。
【００１４】
実施の形態１において、設計対象はＬＳＩとする。また、動作テストとはスキャンテストを示すものとする。ただし、これらに限られるものではなく、ＬＳＩと同様に内部回路に動作テスト用の素子（セル）を必要とする他の集積回路でも良い。観測用ＦＦを必要とするスキャンテスト以外の動作テストを行うこととしても良い。
さらにまた、論理回路の動作については、真偽値を０又は１で表現する。真偽値を実際の回路において、Ｈｉｇｈ及びＬｏｗを用いて、どのように実装するか（正論理をとるか、負論理をとるか）は当業者が適宜設計しうる事項である。
【００１５】
ＣＰＵ１１はＲＯＭ１３又は大容量記憶装置１８に記憶された制御プログラム１３Ｐに従いハードウェア各部を制御する。ＲＡＭ１２は例えばＳＲＡＭ（Static ＲＡＭ）、ＤＲＡＭ（Dynamic ＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１２はＣＰＵ１１によるプログラムの実行時に発生する種々のデータを一時的に記憶する。入力部１４はキーボード、マウス等の入力デバイスからの入力を受け付ける。出力部１５はディスプレイ、スピーカ等に画像、音声を出力する。読取部１６はＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等の可搬型記憶媒体１ａを読み取る。制御プログラム１３Ｐは可搬型記憶媒体１ａより読取部１６が読み取り、大容量記憶装置１８に記憶することとしても良い。また、ネットワークＮを介して他のコンピュータから制御プログラム１３Ｐをダウンロードしても良い。さらにまた、半導体メモリ１ｂから制御プログラム１３Ｐを読み込むこととしても良い。通信部１７はネットワークＮを介して共有データベース２とデータのやり取りを行う。大容量記憶装置１８は例えばハードディスク、ＳＳＤ（Solid State Drive）である。大容量記憶装置１８は回路ライブラリ、その他の回路設計に必要なデータを格納している。
【００１６】
共有データベース２はネットリスト２１、観測ポイントリスト２２、回路ライブラリ２３を含む。ネットリスト２１は電子回路における端子間の接続情報のデータのことであり、回路設計の成果物である。観測ポイントリスト２２とは、回路設計上又はテストパターンが生成できないことから、スキャンテストでは観測できないと判明したポイントの集合である。回路ライブラリ２３は各種の回路が格納されている。回路としては、ＡＮＤ回路、ＯＲ回路、インバータ回路などの基本的な回路やＲＡＭやＲＯＭなどの大規模回路であってもよい。
【００１７】
図２は回路ライブラリ２３に記憶してある観測用回路２３ａの一例を示す説明図である。観測用回路２３ａはＡＮＤ（論理積）ゲート２３１、ＯＲ（論理和）ゲート２３２、観測用ＦＦ２３３を含む。ＡＮＤゲート２３１の入力は２端子であり、一方の端子Ｄ０は観測ポイントと接続される。他方の端子ｔｅｓｔｍｏｄｅは、動作モードを切り替えるための端子である。ＯＲゲート２３２の入力は２端子であり、一方の端子はＡＮＤゲート２３１の出力が接続されている。他方の端子Ｄ１はダミーグランド（dummy GND）に接続されている。ダミーグランドは集積回路内で基準となる電位と接続されている。観測用ＦＦはＤフリップフロップと同様な動作を行う素子である。観測用ＦＦはＤ端子、Ｑ端子、ＳＩＮ端子、ＳＭ端子、ＣＬＫ端子を含む。Ｄ端子はデータ入力端子である。ＳＩＮ端子はスキャンチェーン用の入力端子であり、前段のスキャンＦＦ又は観測用ＦＦの出力と接続される。ＳＭ端子は観測用ＦＦの動作モードの切り替えを行う。ＣＬＫ端子はクロック入力端子である。図３はＳＭ端子の値と観測用ＦＦの動作モードとの対応関係の一例を示す説明図である。図３に示すように、ＳＭが０のとき観測用ＦＦは通常動作モードとなり、Ｄ端子から入力された値を保持する。ＳＭが１のとき観測用ＦＦはテスト時のスキャン動作モードとなる。ＳＩＮから入力された値を保持する。
【００１８】
図４は観測用回路２３ａの動作を示す真理値表である。ＳＭ端子が１であるときは、テスト時のスキャンモードであるので、ＳＩＮ端子の値が保持され、この値が出力端子であるＱ端子より出力される。ＳＭ端子が０であるときは通常モードであるから、Ｄ端子の値が保持され、この値がＱ端子より出力される。Ｄ端子の入力はｔｅｓｔｍｏｄｅ端子の入力値により切り替わる。ｔｅｓｔｍｏｄｅ端子が０の場合、ＡＮＤゲート２３１の出力は０に固定される。後段のＯＲゲート２３２の出力はＤ１端子の値で決まるから、Ｄ端子の入力はＤ１である。ｔｅｓｔｍｏｄｅ端子が１の場合、ＡＮＤゲート２３１の出力はＤ０端子の値で決まる。ＯＲゲート２３２の出力は、Ｄ０端子の値とＤ１端子の値のＯＲ論理により決まる。
【００１９】
次に観測用ＦＦの配置について説明する。図５は観測用ＦＦが必要となる回路の一例を示す説明図である。図５に示すようにスキャンテスト時には、複数のフリップフロップ５１、５２、…、ｎ、ｎ＋１、ｎ＋２、ｎ＋３、…がスキャンチェーンとして接続される。これらのフリップフロップはＴＡＰ（Test Access Port）コントローラＴにより制御される。図５に示すＬｏｇｉｃＡ回路ｏｂＡは観測用ＦＦを必要とする観測回路である。テスト実行時には、ｔｅｓｔｍｏｄｅ＝１と固定されるが、そのことにより、ＬｏｇｉｃＡ回路ｏｂＡの信号がマスクされてしまい、スキャンフリップフロップｍに信号が伝搬できないものとする。このような場合に観測用ＦＦの配置が必要となる。
【００２０】
図６は従来技術による観測用ＦＦ５を配置した回路の一例を示す説明図である。フリップフロップ５３とフリップフロップｎとの間に観測用ＦＦ５を配置している。観測用ＦＦ５を配置したことにより、ＬｏｇｉｃＡ回路ｏｂＡの信号を伝搬することが可能となる。しかし、観測用ＦＦ５はテスト時にのみしか利用されない冗長な素子である。
なお、図５、図６に示す回路図は説明用のため、一部を簡略化して記載している。
【００２１】
次に従来技術により配置した観測用ＦＦ５をＥＣＯセルとして利用する場合を考える。図７は従来技術により配置した観測用ＦＦ５をＥＣＯセルとして利用する回路の一例を示す説明図である。図５、図６と同様に一部を簡略化して記載している。図７に示す例では、ＥＣＯにより新たな論理回路ｅＡ、論理回路ｅＡ’が追加されている。論理回路ｅＡを追加したことにより新たにフリップフロップが必要となり、観測用ＦＦ５が使用されている。この場合、それまで観測用ＦＦ５が観測対象としていた論理回路ｏｂとの接続は切断される。図７においては、論理回路ｏｂは動作テスト時には観測が行えなくなる。
【００２２】
次に本実施の形態における観測用ＦＦの配置について説明する。図８は本実施の形態における観測用ＦＦ４の配置を説明するための説明図である。論理回路ｏｂの信号を観測するために観測用ＦＦ４並びにその前段にＡＮＤゲート４１及びＯＲゲート４２を配置している。これらの動作については、図４に示したとおりである。すなわち、ｔｅｓｔｍｏｄｅの値を１とした場合、観測用ＦＦのＤ端子への入力はＤ０であり、観測する論理回路ｏｂの信号である。したがって、観測用ＦＦのＳＭ端子を０とした場合、論理回路ｏｂの信号はｐａｔｈ１、ｐａｔｈ３を経路として、後段のフリップフロップに伝搬することが可能となる。
【００２３】
図８に示した観測用ＦＦ４をＥＣＯセルとして使用する場合について説明する。図９は観測用ＦＦ４をＥＣＯセルとして使用する場合の回路を説明するための説明図である。ＥＣＯにより、論理回路ｅＡ及び論理回路ｅＡ’が追加されている。従来技術では図７に示したように観測対象の論理回路ｏｂとの接続を切断する必要があるが、本実施の形態においては、切断する必要はない。そして、ＡＮＤゲート４１の入力端子ｔｅｓｔｍｏｄｅの値を１とすることにより、論理回路ｏｂからの信号を観測することが可能である。この場合、ｐａｔｈ１が有効となり、論理回路ｏｂから信号を伝搬することが可能となるからである。
【００２４】
次に、観測用ＦＦ４が通常動作する場合について、説明する。図１０は観測用ＦＦ４の通常動作について説明するための説明図である。ＡＮＤゲート４１の入力端子ｔｅｓｔｍｏｄｅの値を０とすることにより、論理回路ｏｂからの信号はマスクされる。ｐａｔｈ２が有効となり、論理回路ｅＡからの信号は、ｐａｔｈ４を経て、論理回路ｅＡ’に伝搬することが可能となる。ＡＮＤゲート４１の入力端子ｔｅｓｔｍｏｄｅの値を０とした場合において、動作テストを行えば、ｐａｔｈ２、ｐａｔｈ３により後段のフリップフロップへ論理回路ｅＡの信号を伝搬可能となる。すなわち、論理回路ｅＡも観測用ＦＦ４により、観測可能である。
【００２５】
本実施の形態における回路設計装置１の観測用ＦＦ４配置処理について説明する。図１１は観測ポイントリスト２２の一例を示す説明図である。観測ポイントリスト２２は、観測ポイントの順番号２２ａ、観測ポイント２２ｂを含む。観測ポイントは階層構造で示されている。「Ｔｏｐ」が最上位であり、回路全体を示している。「．」で区切ることで、下位の階層を示す。図１１に示す例では、観測ポイントのＮｏ．１は、モジュール（ｍｏｄｕｌｅ）１の端子Ａであることを示している。Ｎｏ．２はモジュール（ｍｏｄｕｌｅ）２の端子Ａであることを示している。観測ポイントリスト２２は、回路設計結果であるネットリストを解析してテストパターンを生成するＡＴＰＧ（automatic test pattern generator）などにより、生成される。ＡＴＰＧは生成されたテストパターンでは観測できないポイントのリストを出力する。
【００２６】
図１２は回路設計装置１における観測用ＦＦ配置処理の手順を示すフローチャートである。回路設計装置１のＣＰＵ１１は処理対象とする集積回路のネットリスト２１を読み込む（ステップＳ１）。ＣＰＵ１１は観測ポイントリスト２２を読み込む（ステップＳ２）。ネットリスト２１、観測ポイントリスト２２は共有データベース２より読み込む。それに限らず、ネットリスト２１、観測ポイントリスト２２を大容量記憶装置１８に記憶しておき、大容量記憶装置１８から読み込むこととしても良い。
【００２７】
ＣＰＵ１１は観測ポイントリスト２２より観測ポイントの数を読み取り、その値をループ変数ｔに設定する（ステップＳ３）。ＣＰＵ１１は処理対象ポイントを示す変数ＩＮＳに１を設定する（ステップＳ４）。
【００２８】
ＣＰＵ１１は観測用ＦＦを含む観測用回路を、大容量記憶装置１８に記憶された回路ライブラリ１８ａ又は共有データベース２に記憶された回路ライブラリ２３より読み込む（ステップＳ５）。観測用回路は図２に示したものである。ＣＰＵ１１は観測用ポイントと観測用回路のＤ０端子とを接続する（ステップＳ６）。ＣＰＵ１１はＤ１端子をダミーＣｌｉｐに接続する（ステップＳ７）。観測用回路の配置時にはＤ１端子は未使用であるが、開放状態（オープン状態）にすると、動作が不安定となる可能性があるからである。そのため、電源にクリップ又は集積回路の基準電圧（dummy GND）にクリップする。
【００２９】
ＣＰＵ１１は観測用ＦＦのＳＩＮ端子、ＳＭ端子、ＣＬＫ端子を他のスキャンＦＦ又は他の観測用ＦＦと同様に接続し、Ｑ端子を後段のスキャンＦＦのＳＩＮ端子に接続する（ステップＳ８）。
【００３０】
ＣＰＵ１１はループ変数をデクリメントし、変数ＩＮＳをインクリメントする（ステップＳ９）。ＣＰＵ１１はループ変数ｔが０であるか否かを判定する（ステップＳ１０）。
ループ変数ｔが０であれば（ステップＳ１０でＹＥＳ）、更新したネットリスト及び配置した素子（観測用ＦＦ、ＡＮＤゲート、ＯＲゲート）のリストを出力する（ステップＳ１１）。ＣＰＵ１１は処理を終了する。ループ変数ｔが０でなければ（ステップＳ１０でＮＯ）、ＣＰＵ１１は処理をステップＳ５に戻す。
【００３１】
図１３は配置素子リスト２４の一例を示す説明図である。配置素子リスト２４は上述のステップＳ１１で出力されるリストである。配置素子リスト２４は、対応する回路のネットリスト２１と対応付けられて、共有データベース２に記憶される。回路設計装置１の大容量記憶装置１８に記憶しても良い。図１３に示すように配置素子リスト２４は、配置回路の全体を示すラベル２４１、観測ＦＦを示すラベル２４２、ゲート回路を示すラベル２４３を含む。ラベル２４２の次には観測用ＦＦの識別符号２４ａが記載されている。ゲート回路を示すラベル２４３の次には、ＡＮＤゲートの識別符号２４ｃ、ＯＲゲートの識別符号２４ｄが記載されている。
【００３２】
本実施の形態においては、ＡＴＰＧにより生成されたテストパターンでは動作テストが行うことができない論理回路をテストするために、新たな観測用ＦＦを配置する際にＡＮＤゲート及びＯＲゲートも合わせて配置するようにした。そのことにより、観測用ＦＦをＥＣＯセルとして使用する場合であっても、本来の観測用ＦＦの機能を損なうことはない。観測用ＦＦをＥＣＯセルとして使用しても、引き続き全ての論理回路について動作テストを行うことが可能となる。これらのＡＮＤゲート及びＯＲゲートについての記載が配置した観測用ＦＦに応じた数、記載される。図１３に示した例では、ＥＣＯ＿ｍｏｄ１というラベルが振られた回路が配置されたことが示されている。回路ＥＣＯ＿ｍｏｄ１に含まれる観測用ＦＦは、番号xxxであり、全体回路のでの階層はTop.module***である。ＡＮＤゲートの番号はxxx、階層はTop.moudle***.andである。ＯＲゲートの番号もxxx、階層はTop.module***.orである。ＥＣＯ＿ｍｏｄ２についも、ＥＣＯ＿ｍｏｄ１と同様である。
【００３３】
実施の形態２
本実施の形態では一般的に観測用ＦＦは複数配置されることに着目する。観測用ＦＦをＥＣＯセルとして更に有効活用可能とするために、観測用ＦＦ２個を一組とする回路を形成する。以下、このような回路を相互観測補完型回路と記す。図１４は相互観測補完型回路の一例を示す説明図である。回路の構成を分かりやすくするために、一部分については省略又は簡略化している。
【００３４】
相互観測補完型回路は、２つの観測用ＦＦ４ａ及び４ｂを一組とした回路である。観測用ＦＦ４ａの前段にＡＮＤゲート４１ａ、ＯＲゲート４２ａを設けている。同様に観測用ＦＦ４ｂの前段にＡＮＤゲート４１ｂ、ＯＲゲート４２ｂを設けている。これらの各構成は図８等に示した実施の形態１と同様である。相互観測補完型回路の特徴は、観測対象となっている論理回路ｏｂＡからの信号を観測用ＦＦ４ａ及び観測用ＦＦ４ｂの両方で観測可能としていることである。論理回路ｏｂＡからの信号を観測用ＦＦ４ａの前段に設けられたＡＮＤゲート４１ａのＤ０端子に接続すると共に、観測用ＦＦ４ｂの前段に設けられているＯＲゲート４２ｂのＤ２端子にも接続されている。同様に論理回路ｏｂＢの出力は観測用ＦＦ４ｂの前段に設けられているＡＮＤゲート４１ｂのＤ０端子に接続するとともに、観測用ＦＦ４ａの前段に設けられているＯＲゲート４２ａのＤ２端子にも接続されている。実施の形態１でも示したように、ＡＮＤゲート４１ａ、４１ｂのｔｅｓｔｍｏｄｅ端子の値により、観測用ＦＦ４ａ、４ｂのＤ端子それぞれに伝搬させる信号を切り替えることが可能である。したがって、図１４において、観測用ＦＦ４ａ、４ｂともに、論理回路ｏｂＡ及び論理回路ｏｂＢからの信号を観測可能である。
【００３５】
図１４のように構成した相互観測補完回路の素子をＥＣＯセルとして利用する例を以下に示す。図１５は相互観測補完回路の素子をＥＣＯセルとして利用する例を示す回路図である。図１５に示す例では観測用ＦＦ４ａのみをＥＣＯセルとして利用する場合である。論理回路ｅｃＡ及び論理回路ｅｃＢが追加となっている。それに伴い、ＥＣＯセルとして観測用ＦＦ４ａが利用されている。観測用ＦＦ４ａの前段にあるＯＲゲート４２ａのＤ２端子と論理回路ｏｂＢを結んでいる配線を切断している。ＯＲゲート４２のＤ２端子は追加された論理回路ｅｃＡからの信号が入力されている。これにより、論理回路ｏｂＡから信号は依然として観測用ＦＦ４ａ及び観測用ＦＦ４ｂで観測可能であるが、論理回路ｏｂＢからの信号は観測用ＦＦ４ｂのみで観測可能となっている。追加された論理回路ｅｃＡの信号は観測用ＦＦ４ａで観測可能となっている。
【００３６】
図１６は相互観測補完回路の素子をＥＣＯセルとして利用する例を示す回路図である。図１６では観測用ＦＦ４ａ及びその前段に設けられたＡＮＤゲート４１ａ、ＯＲゲート４２ａについても、ＥＣＯ利用された様子を概念的に示している。ＡＮＤゲート４１ａ、ＯＲゲート４２ａは、追加された論理回路ｅｃＡ、ｅｃＡ’の一部となっている。そのため、論理回路ｏｂＡから信号は、観測用ＦＦ４ａで観測できなくなっている。追加された論理回路ｅｃＡからの信号は観測用ＦＦ４ａにより観測可能である。
【００３７】
しかしながら、論理回路ｅｃＡは観測用ＦＦ４ｂでも観測可能であるため、図１６のように、ＡＮＤゲート４１ａ、ＯＲゲート４２ａがＥＣＯ利用されたとしても、観測機能を損なうことがなく、保たれている。
【００３８】
図１７は相互観測補完回路の素子をＥＣＯセルとして利用する例を示す回路図である。図１６と同様に２つの論理回路ｅｃＡ及びｅｃＡ’が追加されている。それに伴い、観測用ＦＦ４ａ、ＡＮＤゲート４１ａ、及びＯＲゲート４２ａがＥＣＯ利用されている。配線のみを変更することにより、観測用ＦＦ４ａの後段にＯＲゲート４２ａを配置することが可能となる。また、図１７に示す変更では、観測用ＦＦ４ａ並びにＡＮＤゲート４１ａ及びＯＲゲート４２ａは近傍に配置されているので、短い配線長で変更が可能である。変更の容易性が高くなっている。
【００３９】
次に、本実施の形態における回路設計装置１の観測用ＦＦ配置処理について説明する。回路設計装置１の構成は実施の形態１と同様であるので、説明を省略する。図１８は回路設計装置１における観測用ＦＦ配置処理の手順を示すフローチャートである。図１８において、ステップＳ１からステップＳ１１は図１２に示した処理と同様であるので、同一の符号を付し、説明を省略する。図１８において、回路設計装置１のＣＰＵ１１は更新したネットリスト及び配置素子リストを用いて、ペア処理を行う（ステップＳ１２）。その後、ＣＰＵ１１は処理を終了する。
【００４０】
図１９は回路設計装置１におけるペア処理の手順を示すフローチャートである。ＣＰＵ１１は２つの作業用記憶領域をＲＡＭ１２又は大容量記憶装置１８に確保する（ステップＳ２１）。作業用記憶領域の一方をＰＡＩＲ＿ＯＢＳ、他方をＵＮＰＡＩＲ＿ＯＢＳとする。前者にはペア処理を終えた観測ポイントの情報を記憶する。後者にはペア処理をしていない観測ポイントの情報を記憶する。ＣＰＵ１１は全ての観測ポイントの情報を記憶領域ＵＮＰＡＩＲ＿ＯＢＳに記憶する（ステップＳ２２）。ＣＰＵ１１はループ変数ｃに１を設定する（ステップＳ２３）。
【００４１】
ＣＰＵ１１は観測ポイントｃに対応するＯＲゲートのＤ１端子に、観測ポイントｃ＋１を接続する（ステップＳ２４）。より具体的には、ＣＰＵ１１は観測ポイントｃが接続されているＡＮＤゲートをネットリストから取得し、当該ＡＮＤゲートの後段にあるＯＲゲートを特定する。特定したＯＲゲートＤ１端子に観測ポイントｃ＋１を接続する。なお、ここで観測ポイントｘとは作業記憶領域ＵＮＰＡＩＲ＿ＯＢＳにおいて、ｘ番目に記憶されている観測ポイントのことを示す。
【００４２】
ＣＰＵ１１は観測ポイントｃ＋１に対応するＯＲゲートのＤ１端子に、観測ポイントｃを接続する（ステップＳ２５）。より具体的には、ＣＰＵ１１は観測ポイントｃ＋１が接続されているＡＮＤゲートをネットリストから取得し、当該ＡＮＤゲートの後段にあるＯＲゲートを特定する。特定したＯＲゲートＤ１端子に観測ポイントｃを接続する。
なお、ステップＳ２４及びＳ２５は処理順が逆になっても良い。以上の処理により、観測ポイントｃと観測ポイントｃ＋１とに対応した観測用回路は相互観測補完回路となる。
【００４３】
ＣＰＵ１１は観測ポイントｃ及びｃ＋１をＵＮＰＡＩＲ＿ＯＢＳからＰＡＩＲ＿ＯＢＳ
に移動する（ステップＳ２６）。ＣＰＵ１１はＵＮＰＡＩＲ＿ＯＢＳの要素数（|ＵＮＰＡＩＲ＿ＯＢＳ|）が０であるか否かを判定する（ステップＳ２７）。要素数が０ではない場合（ステップＳ２７でＮＯ）、ＣＰＵ１１はＵＮＰＡＩＲ＿ＯＢＳの要素数（|ＵＮＰＡＩＲ＿ＯＢＳ|）が１であるか否かを判定する（ステップＳ２８）。要素数が１ではない場合（ステップＳ２８でＮＯ）、ＣＰＵ１１はループ変数を２インクリメントする（ステップＳ２９）。ＣＰＵ１１は処理をステップＳ２４に戻す。
【００４４】
要素数が０である場合（ステップＳ２７でＹＥＳ）又は要素数が１である場合（ステップＳ２８でＹＥＳ）、ＣＰＵ１１は更新したネットリスト及び更新した配置素子リストを出力する（ステップ３０）。ＣＰＵ１１はペア処理を終了し、呼び出し元に処理を戻す。
【００４５】
図２０は更新した配置素子リスト２４の一例を示す説明図である。図１３と同様な形式であるので、異なる点を主に説明する。配置素子リスト２４は、配置回路の全体を示すラベル２４１、観測ＦＦを示すラベル２４２、ゲート回路を示すラベル２４３を含む。ラベル２４１は図１３の場合と異なりペアとなっていることを示す「Ｐａｉｒ」＋順番号となっている。ラベル２４２の次には観測用ＦＦの識別符号２４ａ、観測用ＦＦの識別符号２４ｂが、各２個記載されている。２つの観測用ＦＦがペアとなっていることを示している。ゲート回路を示すラベル２４３の次には、ＡＮＤゲートの識別符号２４ｃ、ＯＲゲートの識別符号２４ｄが、各２個記載されている。ペアとなっている各観測用ＦＦの前段に配置されているＡＮＤゲート、ＯＲゲートである。観測用ＦＦ並びにＡＮＤゲート及びＯＲゲートの関連付けはＮｏ．ｘｘｘや、Ｎｏ．ｙｙｙと記載されたｘｘｘやｙｙｙの値により、行われる。
【００４６】
実施の形態１と同様に、配置素子リスト２４は、対応する回路のネットリスト２１と対応付けられて、共有データベース２に記憶される。回路設計装置１の大容量記憶装置１８に記憶しても良い。
【００４７】
以上に示したように、実施の形態２においては、２個の観測用ＦＦのうち、一方の観測用ＦＦがＥＣＯセルとして利用され、信号の観測機能を果たせなくなっても、他方の観測用ＦＦが観測可能としてある。そのことにより、観測用ＦＦ及びそれに付随したＡＮＤゲート、ＯＲゲートのＥＣＯセルとしての有効活用と、動作テスト時における信号観測とを両立することが可能となる。
また、観測用ＦＦのみを配置するのではなく、ＡＮＤゲート、ＯＲゲートも配置したことにより、ＡＮＤゲート、ＯＲゲートを必要とする設計変更であっても、短い配線長で対応可能となる。そのため、設計変更に伴う信号の遅延も軽微で済むので、タイミング設計の変更も軽微となる。
さらにまた、ある程度の設計変更であれば、配線変更のみで対応が可能である。素子か配置されているバルク層の改変を行わずに対応が可能であるから、変更に伴う経費を抑制することが可能となる。
なお、観測対象となる論理回路から観測用ＦＦまでの配線が長くなることが想定される。しかし、論理回路の動作テストにおいては、論理動作の確認であるので、高速クロックでの動作は必須ではない。信号タイミングの遅延による動作が発生しない程度にクロック周波数を下げてテストを行えば良い。
【００４８】
実施の形態３
図２１は実施の形態１又は実施の形態２に係る回路設計装置１の機能構成の一例を示すブロック図である。回路設計装置１は、リスト受付部１１ａ、観測点受付部１１ｂ、配置部１１ｃ、追加部１１ｄ、接続部１１ｅ、補完情報生成部１１ｆ、出力部１１ｇを含む。ＣＰＵ１１が制御プログラム１３Ｐを実行することにより、回路設計装置１は以下のように動作する。
【００４９】
リスト受付部１１ａは、処理対象とする半導体集積回路のネットリストを受け付ける。観測点受付部１１ｂは、信号観測点を特定するための特定情報を受け付ける。配置部１１ｃは、観測点受付部１１ｂが受け付けた信号観測点を接続されるフリップフロップを半導体集積回路に配置する。追加部１１ｄは、配置部１１ｃにより配置されたフリップフロップの前段に論理回路を追加する。接続部１１ｅは、信号観測点、フリップフロップ及び論理回路を配線接続する。補完情報生成部１１ｆは、配置部１１ｃにより、複数のフリップフロップが追加された場合に、配置したフリップフロップを２個一組として対応付け、一方のフリップフロップが観測する観測点を他方のフリップフロップで観測可能とし、他方のフリップフロップが観測する観測点を一方のフリップフロップで観測可能とする接続情報を生成する。出力部１１ｇは、配置部１１ｃ、追加部１１ｄ、接続部１１ｅにより更新したネットリストを出力する。
【００５０】
各実施例で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００５１】
以上の実施の形態１乃至３を含む実施形態に関し、さらに以下の付記を開示する。
【００５２】
（付記１）
半導体集積回路のネットリストを受け付けるリスト受付部と、
信号観測点を特定するための特定情報を受け付ける観測点受付部と、
前記観測点受付部が受け付けた前記信号観測点に接続されるフリップフロップを前記半導体集積回路に配置する配置部と、
前記配置部により配置された前記フリップフロップの前段に論理回路を追加する追加部と、
前記信号観測点、前記フリップフロップ及び前記論理回路を配線接続する接続部と、
前記配置部、前記追加部、前記接続部により更新された前記ネットリストを出力する出力部とを
備えた半導体集積回路設計装置。
【００５３】
（付記２）
前記配置部により、複数のフリップフロップが追加された場合に、配置されたフリップフロップを２個一組として対応付け、一方のフリップフロップが接続される観測点を他方のフリップフロップで観測可能とし、他方のフリップフロップが接続される観測点を一方のフリップフロップで観測可能とする前記一方及び前記他方のフリップフロップの前段にそれぞれ配線接続される各論理回路の接続情報を生成する補完情報生成部を
備えた付記１に記載の半導体集積回路設計装置。
【００５４】
（付記３）
前記追加部は、前記配置部により配置された前記フリップフロップの前段に論理和ゲート回路及び論理積ゲート回路をそれぞれ少なくとも１つずつ含む前記論理回路を追加し、
前記接続部は、前記各論理回路が、前記一方及び前記他方のフリップフロップの観測対象とする観測点を、切り替えるための切替信号を受け付けるようにネットリストを更新する
付記２に記載の半導体集積回路設計装置。
【００５５】
（付記４）
前記接続部は、
対応付けられた前記一方のフリップフロップの前段にある論理積ゲート回路は、一方の信号観測点での信号及び前記切替信号の論理積を出力し、
前記一方のフリップフロップの前段にある論理和ゲート回路は、前記論理積ゲートの出力信号及び他方の信号観測点での信号の論理和を、前記一方のフリップフロップに出力し、
対応付けられた前記他方のフリップフロップの前段にある論理積ゲート回路は、他方の信号観測点での信号及び前記切替信号の論理積を出力し、
前記他方のフリップフロップの前段にある論理和ゲート回路は、前記論理積ゲートの出力信号及び一方の信号観測点での信号の論理和を、前記他方のフリップフロップに出力するようにネットリストを更新する
付記３に記載の半導体集積回路設計装置。
【００５６】
（付記５）
半導体集積回路のネットリストを受け付け、
信号観測点を特定するための特定情報を受け付け、
受け付けた前記信号観測点に接続されるフリップフロップを前記半導体集積回路に配置し、
配置した前記フリップフロップの前段に論理回路を追加し、
前記信号観測点、前記フリップフロップ及び前記論理回路を配線接続し、
前記ネットリストを更新する
処理をコンピュータに実行させる半導体集積回路設計方法。
【００５７】
（付記６）
複数のフリップフロップが追加された場合に、配置したフリップフロップを２個一組として対応付け、一方のフリップフロップが観測する観測点を他方のフリップフロップで観測可能とし、他方のフリップフロップが観測する観測点を一方のフリップフロップで観測可能とするような接続情報を生成する
付記５に記載の半導体集積回路設計方法。
【００５８】
（付記７）
前記論理回路に論理和ゲート回路及び論理積ゲート回路をそれぞれ少なくとも１つずつ含むように論理回路を追加し、
対応付けられた２個の前記フリップフロップそれぞれの前段に配置された各論理回路は、各フリップフロップが観測対象とする観測点を、切り替えるための切替信号を受け付けるようにネットリストを更新する
付記６に記載の半導体集積回路設計方法。
【００５９】
（付記８）
対応付けられた前記一方のフリップフロップの前段にある論理積ゲート回路は、一方の信号観測点での信号及び前記切替信号の論理積を出力し、
前記一方のフリップフロップの前段にある論理和ゲート回路は、前記論理積ゲートの出力信号及び他方の信号観測点での信号の論理和を、前記一方のフリップフロップに出力し、
対応付けられた前記他方のフリップフロップの前段にある論理積ゲート回路は、他方の信号観測点での信号及び前記切替信号の論理積を出力し、
前記他方のフリップフロップの前段にある論理和ゲート回路は、前記論理積ゲートの出力信号及び一方の信号観測点での信号の論理和を、前記他方のフリップフロップに出力するようにネットリストを更新する
付記７に記載の半導体集積回路設計方法。
【符号の説明】
【００６０】
１  回路設計装置
１ａ  可搬型記憶媒体
１ｂ  半導体メモリ
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１３Ｐ  制御プログラム
１４  入力部
１５  出力部
１６  読取部
１７  通信部
１８  大容量記憶装置
１８ａ  回路ライブラリ
１８ｂ  ネットリスト
１８ｃ  観測ポイントリスト
２  共有データベース
２１  ネットリスト
２２  観測ポイントリスト
２３  回路ライブラリ
２４  配置素子リスト
２３３  観測用ＦＦ
２３１  ＡＮＤゲート
２３２  ＯＲゲート
４  観測用ＦＦ
４１  ＡＮＤゲート
４２  ＯＲゲート
４ａ、４ｂ  観測用ＦＦ
４１ａ、４１ｂ  ＡＮＤゲート
４２ａ、４２ｂ  ＯＲゲート
【図１】
2015036938.tif 000003
【図２】
2015036938.tif 000004
【図３】
2015036938.tif 000005
【図４】
2015036938.tif 000006
【図５】
2015036938.tif 000007
【図６】
2015036938.tif 000008
【図７】
2015036938.tif 000009
【図８】
2015036938.tif 000010
【図９】
2015036938.tif 000011
【図１０】
2015036938.tif 000012
【図１１】
2015036938.tif 000013
【図１２】
2015036938.tif 000014
【図１３】
2015036938.tif 000015
【図１４】
2015036938.tif 000016
【図１５】
2015036938.tif 000017
【図１６】
2015036938.tif 000018
【図１７】
2015036938.tif 000019
【図１８】
2015036938.tif 000020
【図１９】
2015036938.tif 000021
【図２０】
2015036938.tif 000022
【図２１】
2015036938.tif 000023