(57)【要約】【課題】プログラマブル論理回路に構成する論理回路に対応する回路情報を効率よくメモリに格納することができるコンピュータシステム及び回路データの書き換え方法の提供。【解決手段】プログラマブル論理回路２に構成する論理回路に対応する回路データを、該論理回路に書き込み可能な形式のデータ（ＬＵＴデータ）としてメモリ４に格納するのではなく、データサイズの小さいＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データとして格納し、コンピュータシステム１内に、ＨＤＬデータからＬＵＴデータを作成する回路データ作成手段をハードウェア又はソフトウェアとして構成し、コンピュータシステム１内で直接、ＨＤＬデータからＬＵＴデータを作成することができるようにすることにより、メモリ４の規模を大きくすることなく、多数の回路データを格納することを可能とする。【選択図】図１
2004297248.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおいて、
前記記憶手段には、前記回路データとして、所定の機能記述言語で記述された定義文で構成される第１の回路データが記憶され、
前記コンピュータシステムには、予め設定されたパラメータを参照して、前記第１の回路データから前記書き換え可能な論理領域に書き込み可能な第２の回路データを作成する回路データ作成手段を備えることを特徴とするコンピュータシステム。
【請求項２】
前記記憶手段には、前記書き換え可能な論理領域に構成される複数の論理回路に対応して、前記第１の回路データが複数記憶されることを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記コンピュータシステムに、前記第１の回路データを構成する前記定義文を修正する手段を備え、前記修正手段を用いて前記定義文が修正された前記第１の回路データに基づいて前記第２の回路データが作成されることを特徴とする請求項１記載のコンピュータシステム。
【請求項４】
前記コンピュータシステムに、前記パラメータの設定に際して参照される情報を検出する手段を備え、
該手段により検出された前記情報を参照して、前記コンピュータシステムの状態に応じて、前記パラメータが設定されることを特徴とする請求項１乃至３のいずれか一に記載のコンピュータシステム。
【請求項５】
前記所定の機能記述言語として、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）が用いられることを特徴とする請求項１乃至４のいずれか一に記載のコンピュータシステム。
【請求項６】
書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおける前記回路データの書き換え方法であって、
前記記憶手段に、前記回路データとして、所定の機能記述言語で記述された定義文で構成される第１の回路データを記憶するステップと、
予め定められたパラメータを参照して、前記第１の回路データから前記書き換え可能な論理領域に書き込み可能な第２の回路データを作成するステップと、
作成された前記第２の回路データを前記書き換え可能な論理領域に書き込むステップと、を少なくとも有することを特徴とする回路データの書き換え方法。
【請求項７】
前記記憶手段に、前記書き換え可能な論理領域に構成する複数の論理回路に対応して、前記第１の回路データを複数記憶することを特徴とする請求項６記載の回路データの書き換え方法。
【請求項８】
前記コンピュータシステムに予め設けられた、前記第１の回路データを構成する前記定義文を修正する手段を用いて、前記定義文を修正するステップを備え、前記定義文が修正された前記第１の回路データに基づいて前記第２の回路データを作成することを特徴とする請求項６記載の回路データの書き換え方法。
【請求項９】
前記コンピュータシステムに予め設けられた、前記パラメータの設定に際して参照される情報を検出する手段を用いて、前記情報を検出するステップと、
検出された前記情報を参照して、前記コンピュータシステムの状態に応じて、前記パラメータを設定するステップとを備えることを特徴とする請求項６乃至８のいずれか一に記載の回路データの書き換え方法。
【請求項１０】
前記所定の機能記述言語として、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を用いることを特徴とする請求項６乃至９のいずれか一に記載の回路データの書き換え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、書き換え可能な論理領域を含むプログラマブル論理回路を備えるコンピュータシステム及び回路データの書き換え方法に関する。
【０００２】
【従来の技術】
高速なコンピュータシステムを構成する方法としては、大別して２つの方法がある。第１の方法は、複数のＣＰＵを設けそれらを並列に動作させるマルチプロセッサ方式であり、第２の方法は、ＣＰＵの動作を支援することにより高速化を達成するものである。マルチプロセッサの代表例としては、並列型のスーパーコンピュータや高性能なサーバー等が挙げられる。また最近では、ＪＡＶＡ（Ｒ）プロセッサを搭載するケースや、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌｉｎｇ  Ｐｒｏｃｅｓｓｏｒ）を搭載するケースなど、特定のアプリケーションに特化して性能を向上させることができるようなマルチプロセッサシステムも提案されている。
【０００３】
また、ＣＰＵの動作を支援する構成としては、コプロセッサを搭載する構成やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を搭載する構成等がある。コプロセッサの代表例として、浮動小数点演算を高速に行うＦＰＵ（Ｆｌｏａｔｉｎｇ−ｐｏｉｎｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や行列の演算を高速に行うためのベクトルコプロセッサがあり、このようなコプロセッサを用いることにより、科学技術計算などで規則的な演算が大量に出てくる場合に、ＣＰＵだけで処理するよりも高速に処理することが可能になる。
【０００４】
一方、ＡＳＩＣは、アプリケーションに特化した機能の一部または全部をハードウェアで構成することにより、高速動作を可能にするものであり、その代表例としてゲートアレイが知られている。組み込み型のシステムでは、ＡＳＩＣを搭載することより高速でかつ小型のシステム構築が可能になるが、このＡＳＩＣはアプリケーションに特化した機能を持つために、さまざまなアプリケーションに対応することができないという欠点がある。
【０００５】
この欠点を補うため、近年、ＦＰＧＡ（ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）等の書き換え可能な論理領域を備えるデバイス（以下、これらを総称してプログラマブル論理回路と呼ぶ。）の開発が行われている。このプログラマブル論理回路の基本単位は、組み合わせ論理を実現するＬＵＴ（ＬｏｏｋＵｐ  Ｔａｂｌｅ）と、順序論理を実現するレジスタで構築された論理セルである。このプログラマブル論理回路内にはＳＲＡＭが存在し、プログラマブル論理回路の各論理セルがどのように動作するかを記述した回路データを格納する。このようなプログラマブル論理回路では、アプリケーションに応じて回路データを書き換えることができることから様々な処理を実現することができる。
【０００６】
また、様々な処理を実行するためには回路データの書き換えを迅速に行う必要がある。そこで、特開平５−６３５５１号公報には、定義用メモリのデータの書き換えを短時間で行うために、定義用メモリ部に、揮発性メモリで構成された２セット以上の定義用メモリと、この定義用メモリのいずれか１つのセットから定義用データを選択的に論理回路部にロードする選択制御手段を備える構成が開示されている。この構成では、２セット以上の各定義用メモリに互いに異なる定義用データが格納されているため、選択制御手段で定義用メモリの選択の切り換えを行うだけで論理回路部にロードする定義用データを瞬時に変更することができる。
【０００７】
【特許文献１】
特開平５−６３５５１号公報（第２−３頁、第１図）
【０００８】
【発明が解決しようとする課題】
上記公報記載の構成では、一つのプログラマブル論理回路で複数の動作を実現することが可能であるが、そのためには複数の回路データ（定義用データ）を複数のメモリ（定義用メモリ）に記憶しておく必要があり、メモリの数が増えることによりプログラマブル論理回路の規模が大きくなってしまう。また、１つのメモリに複数の回路データを保持させようとすると、メモリの容量を大きくしなければならず、プログラマブル論理回路やプログラマブル論理回路を含むコンピュータシステムの規模が大きくなってしまう。
【０００９】
このように、プログラマブル論理回路では回路データを順次書き換えることにより複数の動作を実現することができるが、より多くの動作を実現するためには多くの回路データを記憶しなければならず、多数の回路データを効率よく記憶することができるシステムの提案が望まれている。
【００１０】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、プログラマブル論理回路に構成する論理回路に対応する回路データを効率よくメモリに格納することができるコンピュータシステム及び回路データの書き換え方法を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明のコンピュータシステムは、書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおいて、前記記憶手段には、前記回路データとして、所定の機能記述言語で記述された定義文で構成される第１の回路データが記憶され、前記コンピュータシステムには、予め設定されたパラメータを参照して、前記第１の回路データから前記書き換え可能な論理領域に書き込み可能な第２の回路データを作成する回路データ作成手段を備えるものである。
【００１２】
本発明においては、前記記憶手段には、前記書き換え可能な論理領域に構成される複数の論理回路に対応して、前記第１の回路データが複数記憶される構成とすることができる。
【００１３】
また、本発明においては、前記コンピュータシステムに、前記第１の回路データを構成する前記定義文を修正する手段を備え、前記修正手段を用いて前記定義文が修正された前記第１の回路データに基づいて前記第２の回路データが作成される構成とすることもできる。
【００１４】
また、本発明においては、前記コンピュータシステムに、前記パラメータの設定に際して参照される情報を検出する手段を備え、該手段により検出された前記情報を参照して、前記コンピュータシステムの状態に応じて、前記パラメータが設定される構成とすることもできる。
【００１５】
また、本発明においては、前記所定の機能記述言語として、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）が用いられることが好ましい。
【００１６】
また、本発明の方法は、書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおける前記回路データの書き換え方法であって、前記記憶手段に、前記回路データとして、所定の機能記述言語で記述された定義文で構成される第１の回路データを記憶するステップと、予め定められたパラメータを参照して、前記第１の回路データから前記書き換え可能な論理領域に書き込み可能な第２の回路データを作成するステップと、作成された前記第２の回路データを前記書き換え可能な論理領域に書き込むステップと、を少なくとも有するものである。
【００１７】
このように、本発明の構成によれば、コンピュータシステムの記憶手段には、プログラマブル論理回路に構成する論理回路に対応する回路データを、プログラマブル論理回路に書き込むことができる形式の回路データ（第２の回路データ）として格納するのではなく、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の機能技術言語を用いて作成された定義文で構成される回路データ（第１の回路データ）として格納し、かつ、コンピュータシステムには第１の回路データから第２の回路データを作成するための回路データ作成手段がハードウェアとして又はソフトウェアとして構成され、コンピュータシステム内で第１の回路データから第２の回路データを作成し、作成された第２の回路データをプログラマブル論理回路に書き込むことができるため、記憶手段に格納する回路データの容量を大幅に削減することができ、コンピュータシステムの規模を縮小することができる。
【００１８】
また、ＨＤＬは抽象度の高い言語であり、定義文を部分的に修正することにより、容易に論理回路を変更することができ、また、回路データ作成手段で参照されるパラメータを調整することにより所望の論理回路を作成することができるため、柔軟性に富んだコンピュータシステムを構築することができる。
【００１９】
更に、コンピュータシステムに、上記パラメータを設定するために参照される情報を検出する検出手段を設け、検出された情報を参照して第１の回路データから第２の回路データを作成する際のパラメータが設定されるため、コンピュータシステムの状態に応じて、プログラマブル論理回路の機能を適宜設定することができる。
【００２０】
【発明の実施の形態】
従来技術において記載したように、プログラマブル論理回路では、コンピュータシステムで実現しようとする処理に対応した回路データを書き換え可能な論理領域に再構成することにより所望の処理を実現することができるが、従来は、プログラマブル論理回路に構成する複数の論理回路の各々に対応する回路データを、プログラマブル論理領域に書き込むことができる形式の回路データ（以下、このような回路データをＬＵＴデータと呼ぶ。）として記憶していたため、コンピュータシステムで複数の処理を実現しようとすると、メモリの数が増加したり、メモリの規模が大きくなり、プログラマブル論理回路を含むコンピュータシステムが大型化するという問題があった。
【００２１】
ここで、回路データの作成方法について概説すると、従来は、予め定められた仕様に従って回路設計者が人手により論理回路を設計し、設計した論理回路に従って回路図入力を行った後、作成した論理回路をシミュレーションにより確認するという方法が行われており、所望の論理回路が得られるまで上記工程を繰り返し行わなければならず、論理回路の設計に多大な時間を要していた。そこで、論理回路や回路図入力における設計時間を短縮するために、ＨＤＬに代表される機能記述言語を用いる設計方法が用いられるようになってきている。
【００２２】
この方法では、回路設計者はＨＤＬで回路設計を行い、機能シミュレータと呼ばれる装置で仕様や機能の検証を行い、その後、回路データ作成手段（例えば、論理合成ツール）を用いて論理合成処理や、論理セルのレイアウトや配線形成等の処理（以下、配置配線処理と呼ぶ。）を行ってＬＵＴデータを作成し、最後に論理回路シミュレーションを行って回路設計が完了する。このような抽象度が高く、回路の動作を容易に短く記述することができるＨＤＬを用いて論理回路の設計を行うことにより、論理回路の設計に要する時間を短縮し、作業の効率化を図ることができるが、この方法でも、コンピュータシステムのメモリには、回路データ作成手段で作成されたＬＵＴデータが記憶されるため、メモリに格納される回路データの容量を削減することはできない。
【００２３】
一方、近年、コンピュータシステムのＣＰＵの性能は格段に向上しており、専用の装置を用いなくても一般的なコンピュータシステム内で上記論理合成処理や配置配線処理を実行することが可能となってきている。そこで、本発明では、プログラマブル論理回路に構成する論理回路に対応する回路データをＬＵＴデータとしてメモリに格納するのではなく、データサイズの小さいＨＤＬデータとして格納し、コンピュータシステム内に上記回路データ作成手段をハードウェア又はソフトウェアとして構成し、コンピュータシステム内で直接、ＨＤＬデータからＬＵＴデータを作成することができるようにすることにより、メモリの規模を大きくすることなく、多数の回路データを格納できるようにしている。
【００２４】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して説明する。
【００２５】
［実施例１］
まず、本発明の第１の実施例に係るプログラマブル論理回路を備えるコンピュータシステム及び回路データの書き換え方法について、図１乃至図６を参照して説明する。図１乃至図３は、本実施例のプログラマブル論理回路を備えるコンピュータシステムの構成を示す図である。また、図４は、ＨＤＬデータの具体例を示す図であり、図５及び図６は、回路データの書き換え手順を示すフローチャート図である。
【００２６】
図１に示すように、本実施例のコンピュータシステム１は、書き換え可能領域２ａを含むプログラマブル論理回路２と、コンピュータをＨＤＬデータからＬＵＴデータを作成する回路データ作成手段として機能させる回路データ作成プログラム、及び、複数の論理回路に対応する複数のＨＤＬデータを記憶するメモリ４と、これらを制御するＣＰＵ３とがバス５によって接続されているものである。
【００２７】
なお、図の構成はコンピュータシステム１の基本構成であり、これらの手段に加えて他のプロセッサや記憶手段、入出力手段等が接続されていても良い。また、図１では、回路データ作成プログラムをメモリ４に記憶する構成としているが、回路データ作成プログラムは他の記憶手段（例えば、ハードディスク等）に格納されていてもよい。また、図１では、回路データ作成プログラムをメモリ４に記憶しＣＰＵ３で実行する構成としているが、図２に示すように、回路データ作成手段６をハードウェアとして構成してもよい。
【００２８】
上記回路データ作成プログラムは、例えば、コンピュータを、ＨＤＬを用いて構造や機能が記述された定義文で構成されるＨＤＬデータを論理合成する論理合成手段と、論理合成された回路データをコンピュータシステム１上のプログラマブル論理回路２に最適化するように処理する配置配線手段として機能させるものであり、上記手段を実行するにあたって目標とする回路性能を達成できるようにオペレータが所定のパラメータの入力を行う。なお、上記各手段自体は公知であるが、本発明では、これらの手段を回路設計用コンピュータ端末で実行するのではなく、回路データを書き込むプログラマブル論理回路２を備えるコンピュータシステム１内で実行することを特徴とするものであり、コンピュータシステム１内にこのような手段を設けることにより、回路データをＨＤＬデータとして格納することが可能となる。
【００２９】
上記構成のコンピュータシステム１を用いて、プログラマブル論理回路２に所望の回路データを書き込む手順について、図４のＨＤＬデータの具体例及び図５のフローチャート図を参照して説明する。なお、以下では、図１の構成のコンピュータシステム１を用いるものとし、メモリ４から回路データ作成プログラムが読み出されてＣＰＵ３で実行可能な状態となっているものとする。
【００３０】
まず、ステップＳ１０１でＣＰＵ３にプログラマブル論理回路２の書き換えを指示する信号が送られると、ステップ１０２で、ＣＰＵ３は、メモリ４からプログラマブル論理回路２に構成する論理回路に対応するＨＤＬデータの読み込みを行う。
【００３１】
このＨＤＬデータは、論理回路を構成するための回路情報が定義文として記述されたものであり、例えば、図４のように構成される。なお、図４は、入力信号”ｉｎｓｉｇｎａｌ”のビット幅と接続フリップフロップの数を設定する場合の構成であるが、この定義文は例示であり、所望の論理回路を構成するための情報が記述されていればよく、定義文の構成、定義の方法等は任意に設定することができる。
【００３２】
次に、ステップＳ１０３で、オペレータがコンピュータシステム１の表示手段や操作手段を用いて、回路データの作成に際して参照されるパラメータ（例えば、論理回路の面積や信号のタイミング、動作条件、仮配線負荷、設計規約等）を入力すると、ステップＳ１０４で、ＣＰＵ３は、回路データ作成プログラムによって実行される論理合成手段を用いて、ＨＤＬデータの論理合成処理を行い、続いてステップＳ１０５で、ＣＰＵ３は回路データをコンピュータシステム１上のプログラマブル論理回路２に最適化するように配置配線処理を実行する。
【００３３】
そして、ステップＳ１０６で、最適化された回路データ（ＬＵＴデータ）をプログラマブル論理回路２内の書き換え可能領域２ａに書き込み、回路データの書き換え処理を終了する。
【００３４】
上記方法は、メモリ４に複数の論理回路の各々に対応する複数のＨＤＬデータが格納されている場合であるが、上述したようにＨＤＬは抽象度の高い言語であり、ＨＤＬ内の定義文を数行変更するだけで、回路の動作を大きく変更することができる。そこで、図３に示すように、メモリ４には基本となる論理回路に対応するＨＤＬデータのみ（１種類であっても複数であっても良い。）を格納しておき、オペレータがコンピュータシステム１を用いてその場で定義文を修正してプログラマブル論理回路２に所望の論理回路を構成することもできる。
【００３５】
その場合の回路データの書き込み手順は、図６のフローチャート図に示すようになる。まず、図５のフローと同様に、ステップＳ２０１でＣＰＵ３にプログラマブル論理回路２の書き換えを指示する信号が送られると、ステップ２０２で、ＣＰＵ３はメモリ４からＨＤＬデータを読み込む。次に、ステップＳ２０３で、コンピュータシステム１のオペレータは、コンピュータシステム１に予め設けられた編集手段を用いてＨＤＬデータの定義文の修正を行い、修正後のＨＤＬデータを再びメモリ４に記憶する。
【００３６】
次に、ステップＳ２０４で、ＣＰＵ３は、メモリ４から修正済みのＨＤＬデータを読み出した後、ステップＳ２０５で、オペレータがコンピュータシステム１の表示手段や操作手段を用いて、回路データの作成に際して参照されるパラメータを入力すると、ステップＳ２０６で、ＣＰＵ３は、回路データ作成プログラムによって実行される論理合成手段を用いて、ＨＤＬデータの論理合成処理を行い、続いて、ステップＳ２０７で、ＣＰＵ３は回路データをコンピュータシステム１上のプログラマブル論理回路２に最適化するように配置配線処理を実行する。
【００３７】
そして、ステップＳ２０８で、最適化された回路データ（ＬＵＴデータ）をプログラマブル論理回路２内の書き換え可能領域２ａに書き込み、回路データの書き換え処理を終了する。
【００３８】
このように、プログラマブル論理回路２を備えるコンピュータシステム１に、ＨＤＬデータからＬＵＴデータを作成する回路データ作成手段を、回路データ作成プログラムとして又はハードウェアとして構成し、プログラマブル論理回路２に構成する複数の論理回路の各々に対応する複数の回路データをＨＤＬデータとしてメモリ４に格納することにより、メモリ４に多数の回路データを格納することが可能となり、コンピュータシステム１の規模を大きくすることなく、様々な処理を実現することができる。
【００３９】
また、ＨＤＬは、抽象度の高い言語であり、定義文を部分的に修正することにより、容易に論理回路を変更することができ、また、回路データの作成に際して参照されるパラメータを調整することにより所望の論理回路を作成することができるため、柔軟性に富んだコンピュータシステムを構築することができる。
【００４０】
［実施例２］
次に、本発明の第２の実施例に係るプログラマブル論理回路を備えるコンピュータシステム及び回路データの書き換え方法について、図７及び図８を参照して説明する。図７は、本実施例のプログラマブル論理回路を備えるコンピュータシステムの構成を示す図であり、図８は、ＨＤＬデータを用いた回路データの書き換え手順を示すフローチャート図である。
【００４１】
上述したようにＨＤＬを用いて論理回路を構成する場合、ＨＤＬデータから一義的にＬＵＴデータが作成されるのではなく、回路データの作成に際して参照されるパラメータの入力が必要である。前記した第１の実施例では、このパラメータをオペレータが入力する構成としたが、パラメータを自動的に設定することも可能である。
【００４２】
例えば、コンピュータシステム１の処理速度は一般に温度が上昇すると遅くなるため、温度によらず一定の速度で処理するためには、温度の上昇に従ってプログラマブル論理回路２に処理速度の速い回路や規模の小さい回路を構成することが好ましい。そこで、本実施例では、コンピュータシステム１にパラメータの設定に際して参照される情報（パラメータそのものであってもよいが、パラメータに関連する情報であればよい。以下、パラメータ設定情報と呼ぶ。）を検出する検出手段を設け、パラメータ設定情報を参照して適切なパラメータを自動的に設定し、プログラマブル論理回路２に最適な論理回路が構成されるようにしている。
【００４３】
具体的には、図７に示すように、本実施例のコンピュータシステム１は、書き換え可能領域２ａを含むプログラマブル論理回路２と、コンピュータをＨＤＬデータからＬＵＴデータを作成する回路データ作成手段として機能させる回路データ作成プログラム、及び、複数の論理回路に対応する複数のＨＤＬデータを記憶するメモリ４と、パラメータ設定情報を検出する検出手段７と、これらを制御し、パラメータ設定情報を参照してパラメータを設定するＣＰＵ３とがバス５によって接続されているものである。なお、図７の構成もコンピュータシステム１の基本構成であり、第１の実施例と同様に、これらに加えて他のプロセッサや記憶手段、入出力手段等が接続されていても良く、回路データ作成手段をハードウェアとして構成してもよい。また、検出手段７は、回路データ作成手段において参照されるパラメータの設定に関連する情報を検出することができるものであればよく、コンピュータシステム１の温度を検出する手段やコンピュータシステム１内の処理の実行状態を監視する手段等とすることができる。
【００４４】
上記構成のコンピュータシステム１を用いてプログラマブル論理回路２に所望の回路データを書き込む手順について、図８のフローチャート図を参照して説明する。
【００４５】
まず、ステップＳ３０１で、ＣＰＵ３は検出手段７から送信されるパラメータ設定情報を受信し、ステップＳ３０２で、パラメータ設定情報の適否を判断する。そして、該パラメータ設定情報が予め定めた値か（例えば、コンピュータシステム１の温度が所定の値以下か）を判断し、該パラメータ設定情報が予め定めた範囲を超えた場合などには、ステップＳ３０３で、ＣＰＵ３は、メモリ４からプログラマブル論理回路２に構成する論理回路に対応するＨＤＬデータの読み込みを行う。
【００４６】
ここで、前記した第１の実施例では、回路データの作成に際して参照されるパラメータをオペレータが入力する構成としたが、本実施例では、ステップＳ３０４で、ＣＰＵ３は、検出手段７から送られたパラメータ設定情報を参照してパラメータを設定する。例えば、予め定められた算出式を用いてパラメータ設定情報（例えば、コンピュータシステム１の温度）からパラメータを算出したり、メモリ４にパラメータ設定情報とパラメータとの対応テーブルを記憶しておき、該テーブルを参照してパラメータを設定する。
【００４７】
そして、ステップＳ３０５で、ＣＰＵ３は、回路データ作成プログラムによって実行される論理合成手段を用いて、ＨＤＬデータの論理合成処理を行い、続いて、ステップＳ３０６で、ＣＰＵ３は回路データをコンピュータシステム１上のプログラマブル論理回路２に最適化するように配置配線処理を実行する。そして、ステップＳ３０７で、最適化された回路データ（ＬＵＴデータ）をプログラマブル論理回路２内の書き換え可能領域２ａに書き込み、回路データの書き換え処理を終了する。
【００４８】
このように、プログラマブル論理回路２を備えるコンピュータシステム１に、回路データ作成手段をハードウェア又はプログラムとして構成し、複数の論理回路の各々に対応する複数の回路データをＨＤＬデータとしてメモリ４に格納し、かつ、回路データの作成に際して参照されるパラメータを設定するためのパラメータ設定情報を検出する検出手段７を設けることにより、コンピュータシステムの状態に応じて、自動的にプログラマブル論理回路２に最適な回路を構成することが可能となる。
【００４９】
なお、上記説明では、検出手段７を設けてパラメータ設定情報を取得する構成としたが、各々のＨＤＬデータに対して特定のパラメータを入力する場合には、メモリ４にＨＤＬデータとパラメータとの対応テーブルを記憶しておき、ＣＰＵ３が該テーブルを参照してＨＤＬデータに対応するパラメータを自動的に設定する構成とすることもできる。また、プログラマブル論理回路２に構成する論理回路の使用履歴情報などを記憶しておき、例えば、使用頻度の高い論理回路を構成する場合には処理速度が速い論理回路が構成されるように、上記テーブルを設定する構成とすることもできる。
【００５０】
また、上記各実施例では、メモリ４に記憶する回路データとしてＨＤＬデータを用いる方法について記載したが、本発明は上記実施例に限定されるものではなく、メモリ４に記憶する回路データの容量を削減できる方法であればよく、例えば、ＨＤＬ以外の言語で記述された回路データを用いることもできる。
【００５１】
【発明の効果】
以上説明したように、本発明のプログラマブル論理回路を備えるコンピュータシステム及び回路データの書き換え方法によれば、下記記載の効果を奏する。
【００５２】
本発明の第１の効果は、多数の回路データをメモリに格納することができるということである。
【００５３】
その理由は、プログラマブル論理回路を備えるコンピュータシステムに、ＨＤＬデータからＬＵＴデータを作成する回路データ作成手段をソフトウェアとして又はハードウェアとして構成し、複数の論理回路の各々に対応する回路データをＨＤＬデータとしてメモリに記憶することにより、プログラマブル論理回路に構成する回路のデータ量を削減することができ、多数の回路データをメモリに格納することができるからである。
【００５４】
また、本発明の第２の効果は、柔軟性に富んだコンピュータシステムを構築することができるということである。
【００５５】
その理由は、ＨＤＬは抽象度の高い言語であり、定義文を部分的に修正することにより、容易に論理回路を変更することができるからである。また、回路データの作成に際して参照されるパラメータを調整することにより所望の回路特性を有する論理回路を構成することができるからである。
【００５６】
また、本発明の第３の効果は、コンピュータシステムの状態に応じて、自動的にプログラマブル論理回路に最適な回路を構成することができるということである。
【００５７】
その理由は、コンピュータシステムに、回路データの作成に際して参照されるパラメータ設定情報を検出する検出手段を設け、検出手段のパラメータ設定情報を参照して、パラメータを設定することができるからである。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係るコンピュータシステムの構成を模式的に示す図である。
【図２】本発明の第１の実施例に係るコンピュータシステムの他の構成を模式的に示す図である。
【図３】本発明の第１の実施例に係るコンピュータシステムの他の構成を模式的に示す図である。
【図４】本発明の第１の実施例に係るＨＤＬデータの例を示す図である。
【図５】本発明の第１の実施例に係る回路データの書き換え手順を示すフローチャート図である。
【図６】本発明の第１の実施例に係る回路データの書き換え手順を示すフローチャート図である。
【図７】本発明の第２の実施例に係るコンピュータシステムの構成を模式的に示す図である。
【図８】本発明の第２の実施例に係る回路データの書き換え手順を示すフローチャート図である。
【符号の説明】
１  コンピュータシステム
２  プログラマブル論理回路
２ａ  書き換え可能領域
２ｂ  データ復元手段
３  ＣＰＵ
４  メモリ
５  バス
６  回路データ作成手段
７  検出手段
【図１】
2004297248.tif 000003
【図２】
2004297248.tif 000004
【図３】
2004297248.tif 000005
【図４】
2004297248.tif 000006
【図５】
2004297248.tif 000007
【図６】
2004297248.tif 000008
【図７】
2004297248.tif 000009
【図８】
2004297248.tif 000010