首页 / 专利库 / 电子零件及设备 / 可编程逻辑器件 / 现场可编程门阵列 / Programming apparatus of field programmable gate array

Programming apparatus of field programmable gate array

阅读:505发布:2023-07-08

专利汇可以提供Programming apparatus of field programmable gate array专利检索,专利查询,专利分析的服务。并且PURPOSE:To improve the efficiency of block allocating operation of field programmable gate arrays (FPGA's) in a field by a method wherein a mounter which mounts a plurality of FPGA's is provided and the FPGA which is most suitable for internal block allocation is selected in accordance with the data in the built-in ROM's of the FPGA's. CONSTITUTION:Respective pieces of information concerning product qualities of respective FPGA's 11 are stored in the respective ROM blocks of the FPGA's. The pieces of the information are read by electrically connectable mounting tables 15, FPGA program reading/writing apparatuses 13 and built-in ROM data reading apparatuses 17 which are corresponding to the respective FPGA's 11. The FPGA's which facilitate circuit design for block allocation predetermined by a designer are selected from among a plurality of the FPGA's having different qualities by a first selecting means. The blocks are actually allocated by a block allocating means. The FPGA which is most suitable for the actual block allocation is selected from among the FPGA's which facilitate circuit design by a second selecting means. Therefore, even an FPGA which has a minimum necessary internal product quality can be utilized.,下面是Programming apparatus of field programmable gate array专利的具体信息内容。

  • 【特許請求の範囲】 【請求項1】 記憶された内容が自らの内部ブロックの品質に関するデータである記憶ブロックを内蔵した複数のフィールドプログラマブルゲートアレイの中から最適なフィールドプログラマブルゲートアレイを自動選択するプログラム装置であって、複数組のフィールドプログラマブルゲートアレイの端子が電気的に接続されるコネクタを有し、複数のフィールドプログラマブルゲートアレイを搭載する搭載台と、前記搭載台に搭載されてコネクタに電気的に接続された複数のフィールドプログラマブルゲートアレイに内蔵される記憶ブロックの内容を読み込む読込手段と、前記読込手段にて複数の記憶ブロックから読み込まれた複数のフィールドプログラマブルゲートアレイの自らの前記内部ブロックの品質に関するデータと、最適設計しようとする回路データとを比較して、複数のフィールドプログラマブルゲートアレイの中から回路設計可能なフィールドプログラマブルゲートアレイを選択する第1の選択手段と、最適設計可能なフィールドプログラマブルゲートアレイの前記内部ブロックの品質に関するデータによって制約される制約条件を用いてブロック割り付けするブロック割付手段と、前記ブロック割付手段にてブロック割付が行われた際の割付データと、複数のフィールドプログラマブルゲートアレイの前記内部ブロックの品質に関するデータとを比較して、複数の回路設計可能なフィールドプログラマブルゲートアレイの中から最適なフィールドプログラマブルゲートアレイを選択する第2の選択手段とを有することを特徴とするフィールドプログラマブルゲートアレイのプログラム装置。 【請求項2】 前記第1の選択手段が、i)最適回路設計する回路データより、高速動作を必要とする優先回路に必要な論理回路ブロック数を予想する予想機能と、i
    i) 高速動作用の論理ブロック数を有するフィールドプログラマブルゲートアレイを抽出する抽出機能と、iii)
    高速動作用の論理ブロック数の分散程度が最小であるフィールドプログラマブルゲートアレイを抽出する抽出機能とを有する請求項1に記載のフィールドプログラマブルゲートアレイのプログラム装置。 【請求項3】 前記第2の選択手段が、i)前記割付データを設定可能なフィールドプログラマブルゲートアレイを抽出する抽出機能と、ii) 製品ランクが最も低いフィールドプログラマブルゲートアレイを抽出する抽出機能とを有する請求項1に記載のフィールドプログラマブルゲートアレイのプログラム装置。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は、利用現場においてブロック割付する際に、最適なフィールドプログラマブルゲートアレイ(FPGA=FIELD PROGRAMMABLE GATE ARRA
    Y)と呼ばれる集積回路装置(LSI)を自動選択するプログラム装置に関する。

    【0002】

    【従来の技術】最近、LSIの種類のなかでユーザが利用現場(フィールド)で自由に回路を定義(プログラム)でき、回路の定義の変更もフィールドで可能であるLSIが注目されている。 そのようなLSIの一種として「フィールドプログラマブルゲートアレイ(FPG
    A)」がある。

    【0003】FPGAは、複数個の比較的大きな回路ブロックと配線ブロックをチップ上に規則的に並べて構成されている。 回路ブロックおよび配線ブロックの内部には回路の電気的な接続または非接続を「プログラムできるデバイス」が多数配置されており、ユーザはこれらデバイスをプログラム(定義)することでブロック内部とブロック間接続をフィールド(利用現場)で回路設計することができる。 電気的な接続または非接続をプログラムできるデバイスとしては「フューズ」、「アンチフューズ」、「トランジスタスイッチ」等を用いたものが実用化されている。

    【0004】

    【発明が解決しようとする課題】ここで、上記FPGA
    に特有の問題点をFPGA以外のLSI製品を製造する場合と対比して説明する。

    【0005】周知の通り工業製品には、一般に、その製造プロセスの成熟度に依存した製品品質のばらつきがある。 この品質ばらつきをチェックし、不良品の排除、製品のランク付けを行うために製造後の製品テストが行われる。

    【0006】LSI製品テストには、基本機能テスト、
    耐環境性保証テスト、経年変化保証テストなど種々のものがあるが、ここでは基本機能テストのみに注目する。
    この基本機能テストは設計した回路パターンが正確に実チップ上に実現されているかを電気信号で間接的にチェックするものである。

    【0007】電気信号は設計した機能をチェックするための入出端子と入出力信号パターンの組み合わせであり、「テスト入出力パターン」と呼ばれている。 このテストにて、入力信号に対し設計上期待される出力を出さないチップは不良品として排除される。 さらに、良品でもプロセスの成功度が異なるために、その成功度が「出力信号遅延時間」として上記のテスト結果に反映される。 それによって製品のランク付けが行われる。

    【0008】具体的には、あるチップの遅延時間データの最大保証値に応じて「使用保証クロック周波数」が決められる。 例えば2MHzチップ、5MHzチップ、1
    0MHzチップ等のランク付けとなる。

    【0009】ところで、新製品開発競争が激しく単独製品の製品寿命が短い種類のLSIでは特に製造プロセスの成熟度が低い。 そのため、特にそういったLSI製品ではきわめて大きな品質のばらつきが発生する。 FPG
    AもそのようなLSI製品の一つである。

    【0010】従来は一つのFPGA内部のブロック品質(性能)は同一で、かつ無欠陥、すなわち動作不良ブロック無しを仮定して割付していた。 そのため、ユーザが部分的に「10MHzクロック周波数」の動作レベルの回路を必要とし、その他は「2MHzクロック周波数」
    「5MHzクロック周波数」動作レベルの回路である場合にも、内部ブロックすべてが最高レベルの「10MH
    zクロック周波数」の動作のFPGAが必要とされていた。

    【0011】本発明は、複数のFPGAの中から最適なFPGAを選定する作業(操作)を自動化し、フィールドでのFPGAプログラムに要する時間を短縮する最適なフィールドプログラマブルゲートアレイを自動選択するプログラム装置を提供する。

    【0012】

    【課題を解決するための手段】本発明において、記憶された内容が自らの内部ブロックの品質に関するデータである記憶ブロックを内蔵した複数のフィールドプログラマブルゲートアレイの中から最適なフィールドプログラマブルゲートアレイを自動選択する装置であって、複数組のフィールドプログラマブルゲートアレイの端子が電気的に接続されるコネクタを有し、複数のフィールドプログラマブルゲートアレイを搭載する搭載台と、前記搭載台に搭載されてコネクタに電気的に接続された複数のフィールドプログラマブルゲートアレイに内蔵される記憶ブロックの内容を読み込む読込手段と、前記読込手段にて複数の記憶ブロックから読み込まれた複数のフィールドプログラマブルゲートアレイの自らの前記内部ブロックの品質に関するデータと、最適設計しようとする回路データとを比較して、複数のフィールドプログラマブルゲートアレイの中から回路設計可能なフィールドプログラマブルゲートアレイを選択する第1の選択手段と、
    最適設計可能なフィールドプログラマブルゲートアレイの前記内部ブロックの品質に関するデータによって制約される制約条件を用いてブロック割り付けするブロック割付手段と、前記ブロック割付手段にてブロック割付が行われた際の割付データと、複数のフィールドプログラマブルゲートアレイの前記内部ブロックの品質に関するデータとを比較して、複数の回路設計可能なフィールドプログラマブルゲートアレイの中から最適なフィールドプログラマブルゲートアレイを選択する第2の選択手段とを有することを特徴とするフィールドプログラマブルゲートアレイのプログラム装置を提供する。

    【0013】本発明の好適な態様において、前記第1の選択手段が、i)最適回路設計する回路データより、高速動作を必要とする優先回路に必要な論理回路ブロック数を予想する予想機能と、ii) 高速動作用の論理ブロック数を有するフィールドプログラマブルゲートアレイを抽出する抽出機能と、iii)高速動作用の論理ブロック数の分散程度が最小であるフィールドプログラマブルゲートアレイを抽出する抽出機能とを有するこのが好ましい。

    【0014】本発明の好適な態様において、前記第2の選択手段が、i)前記割付データを設定可能なフィールドプログラマブルゲートアレイを抽出する抽出機能と、
    ii) 製品ランクが最も低いフィールドプログラマブルゲートアレイを抽出する抽出機能とを有するのが好ましい。

    【0015】

    【作用】本発明は、ユーザにFPGAの製品品質に関する情報をROMに記憶させて、ユーザが随時その情報を取り出すことにより、FPGAの所望の製品品質の箇所をユーザが適切に利用することが可能となり、従来の基準ではランクの低い製品を高いランクの製品と同等に使用可能ならしめるとともに、複数のFPGAの搭載手段と、複数の読込手段とを有することにより、複数のFP
    GAのそれぞれの内部ブロックの品質に関するデータを読み込んで、先ず第1の選択手段にて、複数の異なる品質のFPGAの中から設計者が設定したブロック割付に対して、回路設計が可能なFPGAを選択し、ついでブロック割付手段にて実際にブロック割り付け、さらに第2の選択手段にて回路設計が可能なFPGAの中から実際のブロック割付に対して最適なものを選択する。

    【0016】FPGAに内蔵される記憶ブロックに書き込まれている内容、すなわち「内部ブロックの品質に関するデータ」とは、各ブロック個別の「使用保証クロック周波数」「最小最大遅延時間」「欠陥(動作不良)内部要素名」等である。

    【0017】

    【実施例】本発明に係る最適なフィールドプログラマブルゲートアレイ(FPGA)を自動選択するプログラム装置の実施例を図面を参照しつつ具体的に説明する。

    【0018】図1は複数のFPGA11がFPGAマウンター21に搭載されている。 FPGA11は、冒頭で説明したように、電気的な論理機能を達成する(論理)
    回路ブロックと、プログラマブルに接続可能な配線ブロックと、記憶ブロックとしてのROMブロックとから構成されている。

    【0019】FPGAの論理回路ブロックは、AND回路、OR回路、FF(フリップフロップ)回路およびブロック内配線接続メモリーなどの要素で構成され、FP
    GAの配線ブロックは、ブロック「間」接続配線とその接続配線メモリーなどの要素で構成されている。

    【0020】論理回路ブロックや配線ブロックよりなる内部ブロックには、製造時の失敗等を原因として、内部ブロックの一部が「欠陥(または使用保証外)回路ブロック」を有する場合には、ROMブロックに「欠陥(または使用保証外)回路ブロックデータ」が書き込まれる。 さらに細かく「欠陥ブロック内部の欠陥部分」までROMブロックに上記の構成要素単位で書き込まれている場合もある。

    【0021】「欠陥(または使用保証外)回路ブロック」とは、ブロック内部の回路の製造プロセスが失敗し回路不良部となっていて、これを用いて回路をプログラムした場合、十分な回路が構成できないブロックを指す。 回路不良部とは、トランジスタ機能不全(即ち、しきい値電位はずれ)、メモリーセル機能不全、配線断線、配線短絡などである。 従来は回路不良部を有するF
    PGAはすべて不良品として廃棄処分となっていた。

    【0022】FPGAマウンター21は、複数(例えばn個)のFPGA11に対応して、それぞれ電気的に接続可能な搭載台15と、搭載台15に電気的に接続されるFPGAプログラム読込/書込み装置13と、FPG
    A内に設けられたROMブロックの内容を読み取るための内蔵ROMデータ読込装置(ROMライター等)17
    とを備えている。 FPGAプログラム読込/書込み装置13と内蔵ROMデータ読込装置17とは、FPGAプログラム支援装置19にそれぞれ接続されている。 FP
    GAプログラム支援装置19は、この電気的接続を通じて、n個のFPGAのROMブロックに書き込まれた内容をそれぞれ読み込むことが可能である。

    【0023】一方、FPGAプログラム支援装置19には種々の回路自動設計ソフトウェアが搭載されており、
    設計者(ユーザ)はこのソフトウェアを用いてFPGA
    の「プログラム回路データ」を作成する。 作成されたプログラム回路データは一般的な回路接続データであり、
    FPGA専用の回路プログラムデータに変換する必要がある。 ちなみに、この変換工程の一部が論理回路ブロックの割付であったり、配線工程であったりする。

    【0024】ユーザは設計回路をFPGA回路にブロック割付、配線する際に、内蔵ROMデータ読込装置17
    を用いてFPGA11内部のROMブロックの内容を読み出し、所望の回路設計に適合するようにブロック割付をしたり、また例えば「欠陥(または使用保証外)回路ブロック」を避けて割り付け、配線することができる。
    また、複数のFPGAの中から所望の回路設計に適合するものを選択し、それにブロック割付を行い、さらにブロック割付が成功したものの中から選択することもできる。

    【0025】さらに図2を用いて説明する。 本発明のF
    PGAのプログラム装置に下記の(a)〜(f)の6つのFPGAが搭載されている場合を例としてFPGA自動選択の手法を説明する。

    【0026】図示のそれぞれのFPGAの内部ブロックの状況は以下のようであり、これらはそれぞれの内蔵R
    OMデータに書き込まれている。

    【0027】この表から分かるように、(a)は全てが10MHz製品であり、(b)は10MHzと5MH
    zとの数が60/40であり、(c)は10MHzと5
    MHzとの比が50/50であり、(d)は10MHz
    と5MHzとの数が50/50であるが欠陥があるものであり、(e)は10MHzと5MHzとの数が50/
    50であるが、10MHzのブロックが分散しているものであり、(f)は10MHzと5MHzとの数が40
    /60である。

    【0028】これら6個のFPGAをFPGAマウンター21に搭載するとする。

    【0029】図5に示すフローチャートの手順に従って説明する。 まず、読み込み工程において、プログラム支援装置19にプログラム回路データを入力し、さらに同装置にプログラム回路内の高速動作回路部分および高速動作部分の動作周波数を指定する。

    【0030】この場合に、例えばユーザが部分的に10
    MHzの回路動作が必要な回路設計を行い、これをFP
    GAにプログラムする場合を考える。 すなわち、高速動作を必要とする優先回路が10MHzの回路動作部分である。

    【0031】第1の選択工程において、まずプログラムする回路データより、高速動作を必要とする優先回路に必要な論理回路ブロック数を予想する。 例えば、高速動作を必要とする優先回路が10MHzの回路動作部分である場合に、この回路動作部分に対して「最低いくつの論理回路ブロックが必要であるか」を予想する。 この予想は、公知のアルゴリズムでよい。 このアルゴリズムは従来から種々の方法が提案されている。

    【0032】予想アルゴリズムは基本的には、ユーザが作成したプログラムしようとする回路データの中の「A
    ND論理要素」「OR論理要素」「状態記憶要素(例えばFF:フリップフロップ)」等の要素数とFPGA論理ブロックが内蔵するそれらの要素数と比、ないしは設計実績に基づくこれらの回帰関数式である。 このブロック数予想にて、50個の10MHzブロックが必要であると予想されたとする。

    【0033】ここで、ii) 高速動作用論理ブロック数を有するFPGAの抽出工程で例えば図2の(a)〜
    (f)までのFPGAの中から(f)のFPGAを除いて他の5つのFPGAを選択する。

    【0034】次に、iii)高速動作用論理ブロック数の分散程度が最小であるFPGAの抽出工程で、ii) の工程で抽出されたFPGAの高速動作論理ブロックの分散程度を評価する。 分散程度の評価を行うのは、分散された論理回路ブロックではそれらブロック間の信号伝送で遅延時間が大きくなり、高速動作を実現することが困難になり易いからである。 分散程度の評価は、高速動作論理ブロックの位置がブロックの名称等で与えられているので、容易である。

    【0035】例えば、連番である論理ブロックの上下左右の不一致をチェックすれば、不連続が検知できる。 この例では、図2の(e)のFPGAに不連続があるとして分散程度が大きいと評価される。 以上の選択の結果、
    図2のFPGAの中から(a)〜(d)の4つのFPG
    Aが同等の候補として自動的に選択される。 ユーザはこれらのいずれかを選択して、その他のFPGA割付を省略してもよいし、4つ全ての制約条件下で割付を実施して、あとの第2の選択工程で使用するFPGAを選定してもよい。

    【0036】次いで、従来から行われている割付工程を行ってブロック割付を行う。 この割付は、FPGA個別の制約条件下で「割付」を行うわけであるが、この「割付工程」は必ず成功するとは限らない。 理想的には必ず成功するか、成功または不成功を事前に予測できればよいのだが、現在の技術ではそれは研究段階であり、これらの問題は「ヒューリスティック手法」に頼らざるを得ない、というのが現状である。 ここで、割付失敗とは、
    FPGAの回路ブロックより多くのブロック数に割り付けてしまった場合や、ブロック配置が上下左右のいすれかはみ出して割り付けられてしまった場合を含む。

    【0037】「ヒューリスティック手法」とは発見的手法のことであり、試行錯誤的に解を発見するアルゴリズムを用いた手法である。 種々の自動割付、自動アルゴリズムが提案されているが、設計者が「手作業」で「割付」を行うことも多い。

    【0038】上記のような自動割付工程が終わった時点で、第2の選択工程が行われる。 この工程は、自動割付工程の結果であるFPGA割付データを実際のFPG
    Aにプログラム可能かどうかを自動的にチェックする。
    すなわち、「割付データをプログラム可能なFPGA
    を抽出する工程」は割付データとして搭載されたFPG
    Aの内蔵ROMに書き込まれた「内部ブロックデータ」
    とを比較して、設計条件を満たすかチェックする。 このようにチェックする理由は、第1選択工程のi)論理回路ブロック数予想の予想はずれ、ないしは「自動割付」
    で必ずしも指定した論理ブロック位置に割り付けられないことがあるからである。

    【0039】例えば自動割付について説明すると、「ヒューリスティック手法」による「自動割付」の成功確率を上げるため、自動割付が困難になってくると制約条件を徐々に少なくして試行錯誤を繰り返し、何とか割付成功させることが実行される。 その場合には、指定した論理ブロック位置ではない位置に割り付けられることもある。

    【0040】特に、内部論理回路ブロック機能によっては、割付論理ブロック位置指定が極めて困難で、制約条件からはずされることがある。 これを図3を参照して説明する。 図3は自動割付完了後の10MHz論理回路ブロック位置の例を示している。 図中の(a)は割付論理ブロック位置指定の制約を遵守することが不可能であった場合の割付例である。 この場合には図2の(a)に示した最高ランクのFPGAが自動選定される。

    【0041】図3の(b)は割付論理ブロック位置指定の制約は守られたが、使用ブロック数が予想以上(60
    ブロック)であった場合の割付である。 この場合には図2の(a)に示した最高ランクのFPGAでもよいが、
    (b)に示した5MHzランクのFPGAが選定される。

    【0042】図3の(c)は割付論理ブロック位置指定の制約通りに割付が成功した例である。 この場合には図2の(a)〜(d)に示すFPGAのいずれでもプログラム可能である。 そこで、第2選択工程のii) 製品ランクがもっとも低いFPGAを抽出する工程で、図2の(d)に示す欠陥ありのFPGAを選定する。

    【0043】特にこの場合、もしも図4の(d)に示す点線位置や欠陥位置に高速動作以外の回路が割り付けられていれば、その位置に欠陥がある図2の(d)のFP
    GAはプログラム不可能として除外され、図2の(c)
    に示すFPGAを選定する。

    【0044】また、逆に、論理ブロック割付が予想ブロック数以内である40ブロックで、かつ効率よく成功した例を図4の(e)に示す。 この場合には図2の(f)
    に示す最低ランクの製品を選定する。

    【0045】このように、必要最低限の内部製品品質をもったFPGAまでも利用できるチャンスが生まれ、従来の低ランク製品の利用範囲が拡大される。 言い換えれば、FPGAの最適選択が可能となる。

    【0046】ところで、本発明において、「ROMブロック自身に欠陥がある」と、本発明を有効に実施できない。 そこで、そのようなことを回避するため、ROMブロックだけはその他のブロックよりも製造プロセスが比較的簡易で確立したプロセス技術で製造すればより好適である。

    【0047】具体的には、ROMブロックの回路デザインルールがその他の回路ブロックよりも「大きいデザインルール」で設計する。 たとえば、ROMブロックの回路デザインルールが2μデザインルール、その他の回路ブロックが1μデザインルールとするか、またはROM
    ブロックの回路デザインが2層配線、その他の回路ブロックが3層以上、というようにROMブロックが「すくない層の配線」で設計するのがよい。 また上記両方の設計を組み合わせてもよい。

    【0048】本発明のFPGAの製造については、設計段階でROMブロックを組み込み、製造段階でそのRO
    Mブロックを同一チップの中につくり込むことは公知のROM内蔵型LSI設計製造技術で可能である。

    【0049】

    【発明の効果】以上のように本発明の装置では、最適F
    PGAの選択作業を自動化し、利用現場(フィールド)
    でのFPGAのブロック割付に要する時間が短縮されるという効果が得られる。 製品品質に見合った最適な使用を可能ならしめるという「最適設計実現」の効果を有する。 本発明の装置によれば、FPGAの歩留まり向上からFPGA製造コストダウン効果を有する。

    【図面の簡単な説明】

    【図1】 本発明に係る最適フィールドプログラマブルゲートアレイ(FPGA)のプログラム装置の基本的構造を示す説明図である。

    【図2】 本発明によるFPGA選択の方法を説明するための説明図である。

    【図3】 自動割付け完了後の10MHz論理回路ブロック位置の例を示す説明図である。

    【図4】 論理ブロック割付が「予想ブロック数以内」
    である40ブロックでかつ効率よく成功した例を示す説明図である。

    【図5】 最適FPGAを自動選択する工程を示すフローチャートである。

    【符号の説明】

    11 FPGA 13 LSI 15 プログラマブル論理回路ブロック 17 プログラマブル配設ブロック 19 ROMブロック 21 FPGAマウンター

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈