(57)【要約】【課題】  ＦＰＧＡ等を利用した集積回路装置において、不良発生時、仕様変更等に応じて効果的に対処可能な構成を提供することを目的とする。【解決手段】  障害発生或いは所望の設計条件にしたがって異なる制約条件を含む複数の配置配線情報のうちの一の配置配線情報を適用してコンフィギュレーションを実施し、その結果得られた論理回路に対して正常に動作するか否かを検証し、その結果が正常でない場合他の配置配線情報を適用して再度コンフィギュレーションを実施しそこで得られた配置配線を有する装置に対して再度検証段階を実施することを繰り返す構成である。【選択図】  図７
2005243937.tif 000002
【特許請求の範囲】
【請求項１】
夫々内容の異なる所定の制約条件を含む複数の配置配線情報を得る段階と、
障害発生或いは設計変更要求に応じ前記複数の配置配線情報のうちの一の配置配線情報にしたがって所定の基本集積回路に対して配置配線を実施する配置配線段階と、
前記配置配線が実施された基本集積回路装置に対して所定の機能試験を実施する試験段階と、
上記機能試験の結果が正常でない場合、前記複数の配置配線情報のうちの他の配置配線情報にしたがって前記所定の基本集積回路装置に対して再度配置配線を実施し、当該配置配線がなされた基本集積回路装置に対して再度前記試験段階を実施することを繰り返すことによって前記試験段階の結果が正常となる配置配線がなされた基本集積回路装置を得る段階とよりなる集積回路装置設計方法。
【請求項２】
前記夫々内容の異なる所定の制約条件を含む複数の配置配線情報において前記夫々内容の異なる所定の制約条件は、前記基本集積回路装置中の所定の回路領域を使用禁止とする条件よりなる請求項１に記載の方法。
【請求項３】
前記使用禁止とする所定の回路領域は、前記複数の配置配線情報の夫々の間で互いに重複しないように、或いはその一部のみが重複するように設定してなる請求項２に記載の方法。
【請求項４】
前記請求項１乃至４のうちの何れか一項に記載の方法を実施するための構成を含み、所定のタイミングで前記は位置配線段階及び試験段階を実施するデータ処理装置。
【請求項５】
前記請求項１乃至４の何れか一項に記載の方法をコンピュータに実行させるための命令よりなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路装置設計方法、当該方法を実施可能なデータ処理装置及びプログラムに係り、特に実装後に所望の論理回路の機能を実現させるための配置配線処理よりなるコンフィギュレーションを行うことによって当該論理回路の機能の変更、調整等が可能な集積回路装置の設計方法、当該方法を実施可能なデータ処理装置及びプログラムに関する。
【背景技術】
【０００２】
高い信頼性が要求される通信装置や情報処理装置等のデータ処理装置の分野において、自己診断機能を実装可能であり且つ論理回路の仕様変更や調整などが可能な集積回路装置として、プログラム・ロジック・アレイ、プロセッサアレイ、ＦＰＧＡ、ＰＬＤ等が知られている。
【０００３】
このような構成の集積回路装置の適用に当たり、装置の製造当初正常に機能した事を確認している処理回路に対してその後回路構成部品の破損、異常等が発生した場合、或いは装置の出荷後にバージョンアップを含む機能変更、もしくは、回路変更を行なった場合等において、対象装置のそれまで未使用だった回路部分を使用することで対処することが望まれている。即ち、異常発生時の問題箇所を避けたレイアウトを行なうことによる動作不良の回避、或いは所望の機能変更、回路変更等を実施することが望まれている。又、装置の製造当初に集積回路装置自体の固有の破損や異常があった場合、それによる動作不良の回避の目的で自己診断を行い、該当する障害を回避して当初の機能を回復することで信頼性向上を図ることが望まれている。
【特許文献１】特開２０００−１４７０５８号公報
【特許文献２】特開平８−２９２９３３号公報
【特許文献３】特開平１１−２５９３２８号公報
【特許文献４】特開平９−６２５２８号公報
【特許文献５】特開平１０−３１３０６１号公報
【特許文献６】特開平５−５５３７４号公報
【特許文献７】特開平９―６４３１４号公報
【特許文献８】特開平６−１１２３１６号公報
【特許文献９】特開平８−６３４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば特許文献１は、複数（奇数）個の同一処理回路を有し、各々の処理回路からの出力の内、多数の結果を正常と判断し、その出力を有する複数の処理回路のうちの一つを正常回路として適用する事で不良部位(領域)に配置された処理回路を適用する事なくユーザー処理回路を実現しえる方式を開示している。この構成では複数個の処理回路を有するうち、実際に使用される回路は１個である為、ユーザーが使用する回路規模（回路領域）は“複数個分の１”以下となり、基本集積回路装置の利用効率が悪くなるという問題点が考えられる。
【０００５】
又特許文献２は機能別に複数個の回路をレイアウトし、各々の回路の機能の結合関係によりユーザー機能を実現する構成が開示されている。この場合ユーザー機能に障害／異常が検出されると不良部位(レイアウト領域)を特定し、その情報を基に結合関係を再構築する事でユーザー機能を実現する。この構成では、機能別に複数個の回路をレイアウトするも実際に使用する回路は１個である為、ユーザーが実際に利用する回路規模(回路領域)が“複数個分の１”以下となり、基本集積回路装置の利用効率が悪くなるという問題点が考えられる。
【０００６】
特許文献３では複数のＦＰＧＡ、ＦＰＩＡに対してユーザー機能を分割して配置(マッピング)を行い、その後、診断プログラムにより正常性の判断を行うものであって、これらの一連の動作を複数のＦＰＧＡ、ＦＰＩＡの組み合わせに対して行う事で不良箇所の故障検出を行う方式（装置）が開示されている。この構成では機能別に複数個のＦＰＧＡとＦＰＩＡを使用するも実際に使用する回路は１組である為、ＰＣＢ上のユーザーが使用する回路規模が“複数個分の１”以下となり、基本集積回路の利用効率が悪くなるという問題点が考えられる。
【０００７】
特許文献４では予めユーザー処理回路のレイアウトパターン定義情報を複数有する内部メモリ、レイアウト後のユーザー処理回路の正常性を判別する障害検出部及び障害検出時に再レイアウトの判断を行う定義処理部から構成された自己修復装置が開示されている。この場合、レイアウト後のユーザー処理回路に対して障害検出部にて障害／異常の有無判別を行い、障害／異常と判断されれば、定義処理部で障害／異常のあるレイアウト領域以外のレイアウトパターン定義情報を内部メモリより読み出し再レイアウトを行う事でユーザー処理回路が不良部位（領域）にレイアウトされないようにする。この構成では、不良部位を特定する際、一連の基本処理回路全ての判別には相当の処理時間が掛かることが考えられる。又、不良部位の検出結果を内部メモリに格納する為、ユーザーが使用可能な内部メモリ領域を圧迫するという問題点も考えられる。
【０００８】
特許文献５では集積回路装置製造段階（装置テスト段階など）における初期不良（製造不良）発生時の不良箇所情報を内部の不揮発性記憶手段に格納し、ユーザーがその集積回路装置を使用する際にその情報を読み出し、不良箇所を避けて回路を構築・適用する事で初期不良を抱えた集積回路装置を救済する方式が開示されている。この構成では以下の問題点が考えられる。即ち、集積回路装置製造後の破損、異常には対応出来ない点、及び不良部位は各集積回路装置固有であり、ユーザーの配置配線情報は集積回路装置毎に異なり、不良箇所情報を反映した配置配線情報を使用する製品個数分を用意する必要が在るため、所要情報量が大きくなり、且つそれを準備するための時間もそれだけ長くかかることになる。
【０００９】
特許文献６では、装置運用現場での測定により発見された経年変化等による動作不良部位等の情報を蓄積してこれを読み出し、集積回路装置内部の記憶ブロックへ書き込んでおき、その後その集積回路装置が転用された際にはその情報を読み出し、不良部位を避けたレイアウトを適用する事で集積回路装置の耐用年数を増大する方式が開示されている。この構成では、運用現場における測定にて発見された経年変化等による動作不良部位を特定し、転用時にはその情報を用いて再レイアウトするのであるが、その場合の不良部位は集積回路装置固有であるため、集積回路装置毎に異なる不良箇所情報を反映した配置配線情報を、使用する製品個数分を用意する必要が在る。そのため所要情報量が大きくなり、且つそれを準備するための時間もそれだけ長くかかることになる。
【００１０】
上記特許文献１乃至６に開示された従来技術では、大きく分けて以下の２つの課題が考えられる。第１の課題として、集積回路装置内に同一の処理回路を複数個を用意した冗長構成を採用した場合、実際に利用されるユーザーの回路規模が全体の“複数個分の１”となり、利用効率が悪くなる。例えば図１に示す回路構成を想定した場合、集積回路装置のレイアウト上の使用状態は図２に示す如くとなる。即ち、ユーザー回路（０）が不良部位を含まない場合、その回路が使用されることとなり、他の回路、即ち冗長構成のユーザー回路（１）乃至ユーザー回路（ｎ）は使用されない。このため利用効率が悪くなる。又、集積回路装置内に複数の同一の処理回路を設けて冗長構成とする為、集積回路装置内部の交流特性が悪くなる。即ち図２のレイアウトの場合、“Δ”がそれぞれの信号の到達時間を示すとした場合、下記の関係が成り立つ。
【００１１】
ΔＴ０  ≦  ΔＴ１  ≦  ΔＴｎ
ΔＴ０’≦  ΔＴ１’  ≦  ΔＴｎ’
ここで、集積回路装置の最大動作速度は、１／ΔＴｎ、又は、１／ΔＴｎ’によって決まる為、上記冗長構成によって集積回路装置内部の交流特性が悪くなることになる。
【００１２】
この第１の課題を有すると考えられるのは特許文献１乃至３の開示技術である。
【００１３】
第２の課題として考えられるのは、集積回路装置製造段階或いは集積回路装置運転現場で発生した不良部位を特定する“不良箇所情報”（図３参照）を設け、これにしたがって該当する不良箇所（図４参照）を避けるよう、レイアウト設定回路にて再度レイアウトを行う構成とした場合、不良箇所情報は集積回路装置毎に異なる為、出荷個数が大量となった場合には、使用する集積回路装置個数分の個々に異なる配置配線情報が必要となり、その情報量は相当な分量となることが考えられる。又ユーザーはレイアウト設定回路にてその個数に比例した分量のレイアウト作業を行う必要がある為、大量生産に際し特に問題となる可能性が高い。その場合の回路構成例を図３に示す。又、その場合の集積回路装置のレイアウト上の使用状態を図４に示す。
【００１４】
この第２の課題を有すると考えられるものは特許文献４乃至６の開示技術である。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明では、夫々内容の異なる所定のレイアウト制約条件を有する複数の配置配線情報を得る段階と、障害発生或いは所望の設計変更要求に応じて前記複数の配置配線情報のうちの一の配置配線情報にしたがって所定の基本集積回路装置に対して配置配線を実施する配置配線段階と、
前記配置配線がなされた基本集積回路装置に対し、所定の機能試験を実施する試験段階と、上記試験の結果が正常でない場合、前記複数の配置配線情報のうちの他の配置配線情報にしたがって配置配線を実施し、当該配置配線が成された基本集積回路装置に対して再度前記試験段階を実施することを繰り返すことによって、前記試験段階の結果が正常となる配置配線がなされた基本集積回路装置を得る段階とよりなる構成を有する。
【００１６】
又、前記夫々内容の異なる所定のレイアウト制約条件を有する複数の配置配線情報において前記夫々内容の異なる所定のレイアウト制約条件は、前記基本集積回路装置中の所定の回路領域を使用禁止とする条件よりなる構成とすることが望ましい。
【００１７】
又、前記使用禁止とする所定の回路領域は、前記複数の配置配線情報の夫々の間で互いに重複しないように、或いはその一部のみが重複するように設定することが望ましい。
【００１８】
ここで前記配置配線段階は、例えば集積回路装置製品に障害が発生した場合当該障害箇所を避けたレイアウトによる配置配線がなされた集積回路装置を得ることで当該障害を回避する目的で実施される。
【発明の効果】
【００１９】
このように本発明では異なるレイアウト制約条件を有する複数の配置配線情報のうちの一の配置配線情報を適用して配線配置を実施する構成とし、同一の基本集積回路装置（ＦＰＧＡ等）中の共通領域（配置禁止領域以外の領域）を活用しながら順次異なるレイアウトによる設計を実施する。そのため、特許文献１乃至３の開示技術の如くの回路の冗長構成を採用する構成に比し、ｎ倍の冗長構成が不要となる。その結果図２に示す如くのレイアウト上の利用効率悪化並びにΔＴｎ，ΔＴｎ’の如くの経路長の増大による交流特性の悪化が防止可能であり、上記第１の課題を効果的に解決可能である。
【００２０】
又更に、異なるレイアウト制約条件を有する複数の配置配線情報のうちの一の配置配線情報を適用して配置配線を実施する構成とし、動作不良の試験結果が出た場合上記複数の配置配線情報のうちの他の配置配線情報を適用して再度配置配線を実施し、配置配線がなされた基本集積回路に対する試験を実施することを繰り返すことによって最終的に動作不良の無い配置配線がなされた基本集積回路装置を得る構成とすることにより、特許文献４乃至６の開示技術の如くの装置毎に個々に異なる不良箇所を特定する不良箇所情報の収集及びその情報による装置毎に個々に異なるレイアウト作業の実施が不要となる。
【００２１】
即ち、本発明によれば例えば同じ型番の装置については出荷個数に関わらず製品間で一律の内容の複数の配置配線情報を設け、これにしたがって製品間で一律な構成の再レイアウト作業を実施することで不良箇所の回避或いは機能変更・追加等を実現するレイアウトの獲得が容易に可能となるため、特許文献１乃至３の開示技術による如くのｎ倍冗長構成を設けることを要せず、且つ特許文献４乃至６の開示技術の如く製品毎に個別に不良箇所を特定しこれを避けるために当該製品毎に固有のレイアウト作業を行なう作業が不要となり、効率的な集積回路装置設計が実現できる。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態によれば、集積回路装置の障害箇所を特定する事なく障害箇所を回避出来る様、基本集積回路装置上の複数の異なった基本回路の配線禁止領域の配置配線情報（即ち「レイアウト情報」であり、ＦＰＧＡ等の基本集積回路装置に対し、どの位置に所望の論理素子を配置し、論理素子間の配線をどのような経路で行なうか等の情報）を用意し、１つの配置配線情報にて配置配線を実施した集積回路装置に対して自己診断を実施し、動作不良の場合は異なる配置禁止領域を有する配置配線情報を設定して再度配置配線を実施し、配置配線された集積回路装置に対して再度の自己診断を行ない、その繰り返しにより最終的に所望の機能を回復した配置配線がなされた集積回路装置を得る。
【００２３】
本発明の実施の形態による回路構成を図５に、その際の基本集積回路装置内のレイアウト上の利用状況を図６に、その動作フローを図７に示す。ここでは集積回路装置の外部に、複数の異なる配置禁止領域１５を有する配置配線情報を用意しておく。そして不良発生等の際（ステップＳ１）、当該不良部位が回避出来るまで、この複数の配置配線情報から順次異なる配置禁止領域１５を有する配置配線情報を選択し（ステップＳ２）、当該配置配線情報にしたがって基本集積回路装置に対して配置配線を実施し、配置配線がなされた集積回路装置に対する検証処理（ステップＳ３）を行い、これら一連の処理を繰り返す（ステップＳ２、Ｓ３，Ｓ４のループ）。このように、特許文献１乃至３の如くに集積回路装置内部に複数の同一の回路を設けること（冗長構成）が無いため、効率良く基本集積回路装置が利用可能となり、ユーザー回路の利用効率の低減を最小限に抑えることが可能となる。
【００２４】
例えば特許文献１の開示技術を例に採った場合に集積回路装置内のユーザー使用率を考えてみる。予め不良部位回避のために集積回路装置内に設ける同一ユーザー回路の個数を４個（冗長構成）とした場合、当該装置の実装現場（運用時）では、実際にその内の一つの回路のみが実際にユーザー回路として適用されるため、集積回路装置内における実際のユーザー回路の使用率は、１／４＝２５％となる。またこの使用率を最大限とすることを考えた場合、最低限２つの同一ユーザー回路が必要であり、その場合、上記回路使用率は１／２＝５０％（上限）となる。
【００２５】
他方上記本発明の実施の形態による方式に対して同様な検討を行なった場合、異なる配置禁止領域１５を有する複数個の配置配線情報の個数を４個とした場合、異なる配置禁止領域１５はどの配置配線情報においても１／４＝２５％とすることでこれら４個の配置情報における配置禁止領域１５を組み合わせると当該装置の基本回路構成の全領域をカバーできることとなる。その場合の集積回路装置内における実ユーザー回路の使用率は、いずれの配置配線情報が適用された場合でも、１００％−２５％＝７５％となる。又、使用率を最大限とした場合の上限を考えた場合、異なる配置禁止領域１５を有する複数個の配置配線情報の個数を限りなく多くすることにより、論理的には集積回路装置内のおけるユーザー使用率を限りなく１００％に近似させることが可能となる。
【００２６】
上記により、本発明の実施の形態による集積回路装置内のユーザー使用率に関し、従来技術と比して明らかに有効な方式と言える。
【００２７】
又、配置禁止領域１５の設定は、任意に集積回路装置内の基本回路群の一部を指定する為、内部の交流特性、即ち遅延時間の増大発生等への波及が最小であり、その点が配置配線情報の作成作業の妨げとなることがない。即ち、本発明の実施の形態によれば、配置配線情報によっても、図２に示すΔＴｎ、ΔＴｎ’等の如くの信号の到達時間（距離と比例関係を有する）が極端に長くなる箇所は起こりえない。
【００２８】
又、本発明の実施の形態によれば、集積回路装置製造段階或いは運用現場で不良部位発生した場合、複数の任意の重複しない（或いは一部が重複した）配置禁止領域１５を有する配置配線情報を準備し、それらの配置配線情報の夫々が有する配置禁止領域１５の組み合わせによって該当する基本集積回路装置の配置配線可能領域の全面がカバーされるようにしておく（図９、図１０参照）。その結果、何れかの配置配線情報の配置禁止領域１５が基本回路の不良部位を含むこととなる為、そのような不良部位を配置禁止領域１５として排除して有効配置配線可能範囲に含まない配置配線情報を選択する事で不良部位を回避出来る。その為、特許文献４乃至６における“不良箇所情報”による集積回路装置の製品毎に異なる配置配線情報を作成する作業が不要となり、出荷個数が大量となった場合においても、不良部位を含む集積回路装置の出荷製品個数分の異なる配置配線情報を設けることを要しない。
【００２９】
このように、本発明の実施の形態によれば、製品毎に共通の、所定の条件を満たす数個の配置配線情報によっても、集積回路装置製品毎の固有の不良箇所を回避出来る為、あらかじめ配置配線情報を用意する事は製品出荷前に行なうことが可能である。したがって、装置を出荷して運用状態にする前の段階で、当該複数個の配置配線情報を生成するに要する時間を見積る事が容易に可能である。他方、上記従来技術では、不良部位の箇所を特定した後に配置配線情報をユーザー側で用意することとなる為、出荷製品個数が大量となった場合は、全ての装置が正常運用出来る状態にする為に要する時間は、不良部位を含んだ集積回路装置製品の個数分要することとなる。
【００３０】
この点をより明らかにするため、一例として、特許文献４の開示技術との比較を行なう。
【００３１】
特許文献４の従来技術にて装置を運用状態にするまでに要する時間は例えば以下の式で求まる。
（同一ユーザー回路を複数個に分割し、配置禁止領域の異なる複数個の配置配線情報の作成に要する時間）＝Ｔ１ａ（ｈ）
＋（作成した複数個の配置配線情報により、分割後の各ユーザ回路に相当する各々のＦＰＧＡに対し複数回のレイアウトを行い不良部位の特定試験を行うのに要する時間＝Ｔ１ｂ（ｄ）
＋（各々のＦＰＧＡに対し、前記試験により得た不良部位を回避した配置配線情報を用いてマッピングを行う時間）＝Ｔ１ｃ（ｓ）
他方、本発明の実施の形態による方法で装置を運用状態にするまでに要する時間は例えば以下の式で求まる。
（配置禁止領域の異なる複数個の配置配線情報の作成に要する時間）＝Ｔ２ａ（ｈ）
＋
（前記複数個の配置配線情報を用い、順次試験を行い不良部位を含まない配置配線情報にてマッピングを行うまでの時間）＝Ｔ２ｂ（ｓ）
上記式によって従来技術及び本発明の実施の形態の各々のプロセスにおける所要時間を対比するに、配置配線情報作成に要する時間は双方共に同一個数作成すると仮定するした場合、Ｔ１ａ（ｈ）≒Ｔ２ａ（ｈ）と考えられる。この場合配置禁止領域指定、入出力ＰＩＮ配置指定等の制御情報はユーザーが人的に作成する。作成する複数個の配置配線情報の個数にもよるが、所要時間は上記Ｔ１ａ（ｈ）、Ｔ２ａ（ｈ）共に数時間程度と見積もことが出来る。
【００３２】
又上記Ｔ１ｃ（ｓ）の処理はユーザーの手間を介さずに自動化して行えるため、所要時間は数秒程度と見積もれ、Ｔ２ｂ（ｓ）に関しては、本工程を複数回繰り返し行ったと仮定しても合計数秒乃至数分程度と考えられ、全体の所要時間として、Ｔ１ｃ（ｓ）≒Ｔ２ｂ（ｓ）と考えられる。
【００３３】
よって、本特発明の実施の形態は従来技術に比し、従来技術において作成する複数個の配置配線情報によって各々のＦＰＧＡに対し複数回のレイアウトを行いそれらの各々に対して不良部位の特定試験を行うに要する時間Ｔ１ｂ（ｄ）分削減可能である。この削減可能な時間Ｔ１ｂ（ｄ）は、各々のＦＰＧＡに対する個別の不良部位の判定を行い、そのＦＰＧＡ毎に異なる配置配線情報の関連付け（種別）を行い、更にＦＰＧＡ集積回路装置と配置配線情報の対の管理を行う必要性を考慮する下場合、その所要時間は数日程度と見積もることが出来る。
【００３４】
また本発明の実施の形態によれば、不良部位が異なる複数のＦＰＧＡ製品に対しても同一プロセス（同一内容の複数の配置配線情報）でのコンフィグレーションが可能であるのに対し、従来技術では各々のＦＰＧＡ製品毎に異なる不良部位に対し、個々に異なる配置配線情報を選択してコンフィグレーションを行うため、その過程において人的ミス等の要因による配置配線情報の差し違え等が発生する可能性があり、その結果誤った配置配線情報にてマッピングしてしまう可能性がある。その場合に更に要される余分な所要時間をＴ３（ｈ）として、例えば数時間程度と見積もると、本発明の実施の形態は従来技術に比べ、所要時間でＴ１ｂ（ｄ）＋Ｔ３（ｈ）分の削減が可能となる。
【実施例１】
【００３５】
以下、本発明の実施例につき、図面と共に説明する。
【００３６】
図８は本発明の一実施例よりなるデータ処理装置のブロック構成図を示す。同図のデータ処理装置１００は、当該装置全体の制御を司るＣＰＵ１１０，所定の機能を有する集積回路装置を構成するＦＰＧＡ（フィールドプログラマブルゲートアレイ）１２０、不揮発メモリ１８０及びこれらを結ぶＣＰＵバス１４０を含む。
【００３７】
不揮発メモリ１８０は、データ処理装置１００で実行される各種処理動作を制御するためのオペレーションシステム（ＯＳ）を格納する領域１８０ａ、上記各種処理動作に係るアプリケーションプログラムを格納する領域１８０ｂ、ＦＰＧＡ１２０の機能試験を実施するためのテストパターン及び上記機能試験の試験結果と比較すべき期待値を夫々格納する領域１８０ｃ、１８０ｄを有するメモリＦＬＡＳＨ１、並びに上記複数の配置配線情報よりなるＦＰＧＡのコンフィギュレーションデータをｎ個格納する領域１８０ｅを有するメモリＦＬＡＳＨ２とよりなる。
【００３８】
又、当該データ処理装置１００はＬＡＮインタフェースを介して通信網２００と接続されている。
【００３９】
図９は、複数の異なったＦＰＧＡ１２０配置配線可能領域中の「配置禁止領域１５」を有する配置配線情報の例を示す。配置禁止領域１５は図示の如く、配置配線情報間で異なる位置に配置するものとし、又、その配置禁止領域１５を組み合わせることにより、結果的に図１０に示す如く、配置配線領域が該当する集積回路装置（ＦＰＧＡ１２０）の配置配線可能領域全面に敷き詰められる様に配置する。
【００４０】
又、図１１に示す如く、集積回路装置（ＦＰＧＡ１２０）内に自己診断回路１２を有する構成としてもよい。図示の如く、この場合自己診断回路１２は、配置配線情報間で配置位置を変更せずに配置することとし、もって自己診断回路１２内には不良箇所が含まないようにする。
【００４１】
以下に本発明の実施例による動作について説明する。まず、図１１に示す如くＦＰＧＡ１２０内に自己診断回路１２を設けた場合、上記の如く不揮発メモリ１８０のメモリＦＬＡＳＨ１にはＦＰＧＡ試験用テストパターン及び試験結果と比較する期待値を格納する領域がある。又、不揮発メモリ１８０のメモリＦＬＡＳＨ２にはＦＰＧＡコンフィギュレーションデータを格納する領域がある。通常このメモリＦＬＡＳＨ１，２には、ＯＳ、アプリケーション等のソフトウェア情報が格納されている領域１８０ａ、１８０ｂがあり、ＣＰＵ１１０がそれらのデータを読み出すことでデータ処理装置１００が起動する。
【００４２】
ＦＰＧＡ１２０内の自己診断回路１２は、メモリＦＬＡＳＨ２からコンフィギュレーションデータ（例えば図１１中の何れかの配置配線情報）を読み出し、これにしたがってＦＰＧＡ１２０のコンフィギュレーションを行う。その結果ＦＰＧＡ１２０のうち、当該コンフィギュレーションデータに設定された配置禁止領域１５及び上記自己診断回路１２の領域を避けた領域に所定の論理回路が構成される（図７のステップＳ２）。その後ＦＰＧＡ１２０内の当該自己診断回路１２はＣＰＵバス１４０を介してメモリＦＬＡＳＨ１からテストパターンを読み出し、ＦＰＧＡ１２０内に構成された論理回路の機能試験を実行する。そしてその結果出力される試験結果と、ＦＬＡＳＨ１に格納されている期待値とを比較してＦＰＧＡ１２０内論理回路の正常性の判定を行う（ステップＳ３）。
【００４３】
当該判定の結果が「論理回路の機能が不良」であった場合（ステップＳ３のＮＧ）、メモリＦＬＡＳＨ２より次のコンフィグレーションデータ（配置配線情報）を読み出し、上記同様にＦＰＧＡ１２０中、当該コンフィギュレーションデータに設定された配置禁止領域１５を避けてコンフィギュレーションを行う（ステップＳ２）。そして、同様に判定を行い（ステップＳ３）、ＮＧであれば、次のコンフィグレーションデータを読み出し、コンフィギュレーョンを行う（ステップＳ２）。以下、自己診断回路１２による判定の結果が「論理回路の機能が正常」となるまでステップＳ２乃至Ｓ４のループの処理を繰り返す。
【００４４】
このようにしてメモリＦＬＡＳＨ２の領域１８０ｅに格納された図１１に示す如くの配置配線情報よりなるコンフィギュレーションデータを順次読み出し、その内容にしたがってＦＰＧＡ１２０のコンフィギュレーションを行なうことにより、最終的に必ず該当する不良箇所を「配置禁止領域１５」として有する配置配線情報よりなるコンフィギュレーションデータが適用されることとなる。そしてその場合、上記自己診断結果が「正常」となる（ステップＳ３のＯＫ）。その結果、そのときのＦＰＧＡ１２０のコンフィギュレーションによる配置配線が採用され、当該配置配線がなされた状態のＦＰＧＡ１２０を適用して実際の運用が行われることとなる（ステップＳ５）。
【００４５】
次に、ＦＰＧＡ１２０のバージョンアップを行う場合について説明する。この場合、データ処理装置１００のシステム内のネットワーク２００を介して所定のサーバからＬＡＮインタフェース経由で上記同様のコンフィギュレーションデータ、テストパターン、期待値をダウンロードし、これらの情報を使用して上述の場合同様、ＦＰＧＡ１２０に対してコンフィギュレーションを行って論理回路を構成し、これに対してテストデータを適用して試験を行い、試験結果が「機能正常」となった際のコンフィギュレーションによる配置配線を採用して運用に供する。
【００４６】
次に、ＣＰＵ１１０にて判定を行う場合について説明する。この場合、上記ＦＰＧＡ１２０内の自己診断回路１２にて判断を行う代わりに外部のＣＰＵ１１０にて判定を行う。テスタパターン、期待値、コンフィギュレーションデータは上述のＦＰＧＡ１２０内に自動診断回路を設ける場合の例と同様、不揮発メモリ１８０に格納され、ＦＰＧＡ１２０のコンフィギュレーション後のテストパターンによる機能試験を実行した際に得られる試験結果は、システム内の所定のメモリ（不揮発性、揮発性問わず）に格納される。ＣＰＵ１１０は、この試験結果を、メモリＦＬＡＳＨ２に格納されている期待値と比較して判定を行ない、上記同様、その結果がＮＧの場合は、その結果がＯＫとなるまで次のコンフィギュレーションデータでＦＰＧＡ１２０のコンフィギュレーションを行う動作を繰り返す。
【００４７】
次に、コンフィギュレーションデータ、テストパターン、期待値をＬＡＮインタフェース経由でダウンロードし、ＣＰＵ１１０にて判定を行う場合について説明する。この場合、コンフィギュレーションデータ、テストパターン、期待値は、ＬＡＮインタフェースを介して、ネットワーク２００経由で所定のサーバからダウンロードする。コンフィギュレーション及び試験の方法は、上記の場合、即ち不揮発メモリ１８０内のコンフィギュレーションデータ、テストパターン、期待値を利用してＦＰＧＡ１２０のコンフィギュレーション、試験を行ないＣＰＵ１１０にて判定を行なう場合と同様である。判定結果がＮＧの場合、次のコンフィギュレーションデータをネットワーク２００を介してサーバに要求し、新たに同様にダウンロードを行う。このように構成することによって無数のテストパターンを使用した機能試験を実行することができ、より精度が高い機能試験を行うことが可能となる。尚、この場合コンフィギュレーションデータ等を不揮発メモリに格納しておく必要がない為、不揮発メモリ１８０の記憶領域をＯＳやアプリケーションなどのために十分な領域を確保でき、有効に使用することができる。
【００４８】
次に図１１に示す配置配線情報を利用した構成につき、詳細に説明する。この場合ＦＰＧＡ１２０の内部の任意の基本回路群の一部を配置禁止領域１５として設定し、自己診断回路１２を設ける。この自己診断回路１２については、再コンフィギュレーション時においても同じ領域に回路構成が構築される。更にＦＰＧＡ１２０内部の不揮発性メモリに故障診断用のテストパターンと期待値とをコンフィギュレーション時にデフォルトで設定しておく。そしてこの自己診断回路１２は、テストパターンを上記不揮発メモリより読み出し、これにしたがって機能試験を行い、その結果と期待値との比較結果を外部に通知する。その結果エラーが検出された場合、図８と共に上述した手順により、別のＲＯＭデータ（コンフィギュレーションデータ、即ち「配置配線情報」或いは「レイアウト情報）で再度コンフィギュレーションを行い、上記同様の自己診断処理を行う。
【００４９】
尚、上記自己診断処理は、データ処理装置１００の電源立ち上げ時のコンフィグレーション時、または、非運用時に実施するものとし、何れの回路設定の際においても、期待値と不一致の場合は、当該データ処理装置１００からアラームを発生する。内部のメモリ（不揮発メモリ１８０）には、電源の立ち上げ時には自己診断用のテストパターンと期待値とが格納されているが、データ処理装置１００が通常運用モードに移行した後、その内容を上書き可能として通常のメモリとして使用しても良い。
【００５０】
次に図９に示す配置配線情報を利用した場合について詳細に説明する。この場合ＦＰＧＡ１２０の内部に任意の基本回路群の一部を配置禁止の領域とし、この領域を除いた領域に所望の論理回路を構築する。又この場合ＦＰＧＡ１２０の外部の不揮発性メモリ１８０に故障診断用のテストパターンと期待値とを用意しておく。そして外部のＣＰＵ１１０により故障診断を行い、エラーが検出された場合、図８と共に上述した手順により、別のＲＯＭデータ（配置配線情報）でコンフィギュレーションを行い、同様の自己診断を行う。
【００５１】
この場合も自己診断は、電源立ち上げ時のコンフィグレーション時、または、非運用時に実施し、何れの回路設定においても期待値と不一致の場合は、データ処理装置１００からアラームを発生する。
【００５２】
本発明の実施例の動作につき、更に具体的に説明する。
【００５３】
例えば、図１１（ａ）に示す配置配線情報のレイアウト構成でコンフィギュレーションを実施してＦＰＧＡ１２０に論理回路を構築し、ＣＰＵ１２０がメモリＦＬＡＳＨ１（図８）よりテストパターンを読み出し、これにしたがってＦＰＧＡ１２０の機能試験を行う。その出力された試験結果とメモリＦＬＡＳＨ１（図８）の期待値とを比較し、エラーの有無の検証を行う。その結果エラーが検出された場合、再度メモリＦＬＡＳＨ２より図１１（ｂ）に示す如くのレイアウト構成となるデータを選択し、ＦＰＧＡ１２０に対して再コンフィギュレーションを実行する。そして同様に機能試験を行い、ここで再度エラーが検出された場合、メモリＦＬＡＳＨ２より図１１（ｃ）のレイアウト構成となるデータを選択し、これにより再コンフィギュレーションを実施し、そのＦＰＧＡ１２０に対して同様な試験を行う。以下同様にしてエラーの検出が無くなるまで、順次図１１（ｄ）、（ｅ）、（ｆ）に示されるレイアウト構成となるデータを適用して再コンフィギュレーション、及び機能試験を繰り返す。
【００５４】
このように、本発明の実施例によれば、機能試験においてエラーが検出された場合、配置禁止領域１５が他の配置配線情報のレイアウト構成と重複しない、あるいは、一部重複した複数のレイアウト構成から別のレイアウト構成となるデータを適用して再コンフィギュレーションを行って機能試験を繰り返すため、ＦＰＧＡ１２０の不良部位を特定する事なく所望の機能を満足するコンフィギュレーションが容易に達成できる。
【００５５】
又図９の場合には、ＦＰＧＡ１２０内部に自己診断回路１２を設けず、任意の位置に配置禁止領域１５を設ける。上記図１１の場合同様、図９（ａ）のレイアウト構成を適用してコンフィギュレーション後にＣＰＵ１２０がメモリＦＬＡＳＨ１（図８）からテストパターンを読み出して機能試験を行う。ＣＰＵ１２０は、その結果出力された試験結果とメモリＦＬＡＳＨ１（図８）の期待値とを比較し、エラーの有無の検証を行い、エラーが検出された場合、再度メモリＦＬＡＳＨ２より図９（ｂ）のレイアウト構成となるデータを選択し、ＦＰＧＡ１２０に再コンフィギュレーションを実行する。そして同様に機能試験を行い、再度エラーが検出された場合は再度メモリＦＬＡＳＨ２から図９（ｃ）のレイアウト構成となるデータを選択して同様な試験を行う。以下同様にしてエラーの検出が無くなるまで、順次図９（ｄ）、（ｅ）、（ｆ）に示されるレイアウト構成となるデータを適用して再コンフィギュレーション、及び機能試験を繰り返す。
【００５６】
このように、本発明の実施例によれば、図９の配置配線情報を適用した場合であっても同様に、機能試験においてエラーが検出された場合、配置禁止領域１５が他のレイアウト構成と重複しない、あるいは、一部重複した複数のレイアウト構成から別のレイアウト構成となるデータを適用して再コンフィギュレーションを行い機能試験を繰り返す事により、ＦＰＧＡ１２０の不良部位を特定する事なく所望の機能を満足するコンフィギュレーションが容易に達成できる。
【００５７】
次に、図９，１１に示す如くの「配置禁止領域１５」の設定方法について説明する。
【００５８】
このような「配置禁止領域１５」の設定手法としては、例えば特許文献７乃至９に開示された技術を適用可能である。
【００５９】
図１２に、配置禁止領域１５設定処理の一例の動作フローチャートを示す。当該配置領域設定処理は、周知のＦＰＧＡ用自動配線ツールを使用して実施可能である。まずステップＳ２１にて周知の手法にて、所定の機能を奏する論理回路のネットリストを作成して当該自動配線ツールに入力し、ステップＳ２２にてパターン番号ｎを初期化する。そしてステップＳ２３にて、ＦＰＧＡ１２０の配置配線可能領域中の任意の位置に「配置禁止領域１５」を設定する。ステップＳ２４にて、ステップＳ２１で作成されたネットリスト及びステップＳ２３で設定された配置禁止領域１５の位置情報にしたがって当該自動配線ツールがＦＰＧＡ１２０に対するフィッティング処理を実行する。これにより、該当する配置禁止領域１５（パターンｎ）が適用された、前記ネットリストで表現された論理回路を実現するためのコンフィギュレーションデータ（即ち「配置配線情報」或いは「レイアウト情報」が完成する。上記一連の処理（ステップＳ２３乃至Ｓ２６）が、所定の数ｎ個の配線禁止領域のパターン（例えば図９又は図１１に示す配線禁止領域の各パターン）について終了するまで繰り返し実行される。その結果、ｎパターン分の配置禁止領域１５を夫々有する複数の配置配線情報（コンフィギュレーションデータ）が生成される。
【００６０】
以下に、アルテラ製ＦＰＧＡの場合の配置禁止領域１５設定例につき具体的に説明する。この場合、“Ｃｒｅａｔｅ  Ｎｅｗ  Ｌｏｇｉｃ−Ｌｏｃｋ  Ｒｅｇｉｏｎ”を設定し、配置領域を設定する。この領域にモジュールをアサインしないことによって配置出来ない領域を生成し、「配置禁止領域１５」が設定される。その場合のＱｕａｒｔｕｓII  Ｖｅｒｓｉｏｎ３．０における制御カード(＊．ｅｓｆ)の例を以下に示す。
【００６１】
この例では、ＬＡＢの任意の座標(X軸＝２、Y軸＝２９)にＬｏｇｉｃ−Ｌｏｃｋ  Ｒｅｇｉｏｎを任意の範囲の領域(２×２)を指定する。
【００６２】
「ＬＯＧＩＣＬＯＣＫ＿ＲＥＧＩＯＮ（Ｒｅｇｉｏｎ＿０）
｛
ＬＬ＿ＯＲＩＧＩＮ  ＝  ＬＡＢ＿Ｘ２＿Ｙ２９;
ＬＬ＿ＨＥＩＧＨＴ  ＝  ２；
ＬＬ＿ＷＩＤＴＨ  ＝  ２；
ＬＬ＿ＳＴＡＴＥ  ＝  ＬＯＣＫＥＤ；
ＬＬ＿ＡＵＴＯ＿ＳＩＺＥ  ＝  ＯＦＦ；
ＬＬ＿ＲＥＳＥＲＶＥＤ  ＝  ＯＦＦ；
ＬＬ＿ＭＥＭＢＥＲ＿ＳＴＡＴＥ  ＝  ＬＯＣＫＥＤ；
ＬＬ＿ＳＯＦＴ  ＝  ＯＦＦ；
｝」
次に、ザイリンクス製ＦＰＧＡの場合について同様に説明する。この場合、Ｃｏｎｓｔｒａｉｎｔ  Ｅｄｉｔｏｒで“Ａｒｅａ  Ｇｒｏｕｐ”を設定し、使用しない無駄な回路を配置する。その無駄な回路は、最適化した場合に消失しない様、任意の出力ピンに信号を出力するが、ユーザーはその無駄な回路と無駄な出力ピンを使用しないことにより、指定した配置領域に必要な回路が配置されなくなり、結果的に「配置禁止領域１５」として見える領域が設定される。その場合のＩＳＥ  Ｖｅｒｓｉｏｎ６．１．０３ｉの制御カード（＊．ｕｃｆ）の例を以下に示す。
【００６３】
この例では、ＳＬＩＣＥの任意の座標(上辺の左端の座標：X軸＝２１、Y軸＝１７３、下辺の右端の座標：X軸＝７８、Y軸＝１１４)にＡｒｅａ  Ｇｒｏｕｐを指定した場合について示す。
【００６４】
「ＩＮＳＴ“使用しない無駄なモジュール名”ＡＲＥＡ＿ＧＲＯＵＰ  ＝  “Ａｒｅａ  Ｇｒｏｕｐ名”；
ＡＲＥＡ＿ＧＲＯＵＰ  “Ａｒｅａ  Ｇｒｏｕｐ名”  ＲＡＮＧＥ  ＝  ＳＬＩＣＥ＿Ｘ２１Ｙ１７３：ＳＬＩＣＥ＿Ｘ７８Ｙ１１４；」
【図面の簡単な説明】
【００６５】
【図１】従来の一例の自己診断機能を有する集積回路装置のブロック図である。
【図２】図１の構成における２次元的な基本集積回路利用状況を示す図である。
【図３】従来の他の例のレイアウト設定回路を有する集積回路装置のブロック図である。
【図４】図３の構成における２次元的な基本集積回路利用状況を示す図である。
【図５】本発明の実施の形態による集積回路装置のブロック図である。
【図６】図５の構成における２次元的な基本集積回路利用状況を示す図である。
【図７】図５の構成における処理手順を示す動作フローチャートである。
【図８】本発明の一実施例によるデータ処理装置のブロック図である。
【図９】図８に示す不揮発メモリに格納される配置配線情報としてのコンフィギュレーションデータの一例を示す図である。
【図１０】図９に示すコンフィギュレーションデータにおける配置禁止領域１５の夫々が基本集積回路装置としてのＦＰＧＡの配置配線可能領域中に占める位置を示す図である。
【図１１】図８に示す不揮発メモリに格納される配置配線情報としてのコンフィギュレーションデータの他の例を示す図である。
【図１２】図９、図１１に示す如くの配置禁止領域を有するコンフィギュレーションデータを作成する処理の動作フローチャートである。
【符号の説明】
【００６６】
１０  集積回路装置
１１  ユーザ回路
１２  自己診断回路
１５  配置禁止領域
１００  データ処理装置
１１０  ＣＰＵ
１２０  ＦＰＧＡ
１４０  ＣＰＵバス
１８０  不揮発メモリ
２００  ネットワーク
【図１】
2005243937.tif 000003
【図２】
2005243937.tif 000004
【図３】
2005243937.tif 000005
【図４】
2005243937.tif 000006
【図５】
2005243937.tif 000007
【図６】
2005243937.tif 000008
【図７】
2005243937.tif 000009
【図８】
2005243937.tif 000010
【図９】
2005243937.tif 000011
【図１０】
2005243937.tif 000012
【図１１】
2005243937.tif 000013
【図１２】
2005243937.tif 000014