(57)【要約】【課題】多数の回路データを効率よくメモリに格納することができるコンピュータシステム及びプログラマブル論理回路並びに回路データの書き込み方法並びにデータ作成プログラムの提供。【解決手段】プログラマブル論理回路２とＣＰＵ３とメモリ４とを備えるコンピュータシステム１に、複数の回路データの中から選択された基準回路データとの相対的な変位を示す差分データを作成するデータ作成手段６及び基準回路データと差分データとから元の回路データをするデータ復元手段７とが、ハードウェアとして又はプログラムとして構成され、メモリ４には複数の回路データが基準回路データとサイズの小さい差分データとして記憶される。これによりメモリの数を増やしたり容量を大きくすることなく、多数の回路データを記憶することができ、多数の回路データに基づく様々な動作を実現することができる。【選択図】図１
2004258863.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおいて、
複数の前記回路データの中から選択された基準回路データと該基準回路データ以外の他の回路データとの相対的な変位を示す差分データを作成するデータ作成手段と、前記基準回路データと前記差分データとを用いて、前記他の回路データを復元するデータ復元手段とを備え、
前記記憶手段には、前記基準回路データと前記差分データとが記憶されることを特徴とするコンピュータシステム。
【請求項２】
前記データ作成手段は、前記複数の回路データの中から前記基準回路データを選択する手段と、前記基準回路データ及び前記他の回路データのデータ要素を解析する手段と、前記基準回路データ及び前記他の回路データにおける対応するデータ要素の値が異なる場合にその差分値を演算する手段と、少なくとも、前記差分値と該差分値が演算された前記データ要素のデータ位置を示す情報とを用いて前記差分データを作成する手段と、を含むことを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記差分データは、前記差分値が演算されるデータ要素が連続する場合は、先頭のデータ要素についてのみ前記データ位置を示す情報が付加され、前記差分値が演算されるデータ要素の前に、相対的な変位がないデータ要素が存在する場合は、その存在を示す情報が付加されることを特徴とする請求項２記載のコンピュータシステム。
【請求項４】
書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおいて、
前記回路データのデータサイズを圧縮した圧縮データを作成するデータ作成手段と、前記圧縮データを解凍して前記回路データを復元するデータ復元手段とを備え、
前記記憶手段には、前記圧縮データが記憶されることを特徴とするコンピュータシステム。
【請求項５】
前記データ復元手段は、前記プログラマブル論理回路内に構成されていることを特徴とする請求項１乃至４のいずれか一に記載のコンピュータシステム。
【請求項６】
前記データ作成手段又は前記データ復元手段に代えて、コンピュータを、前記データ作成手段として機能させるデータ作成プログラム、又は、コンピュータを、前記データ復元手段として機能させるデータ復元プログラムの少なくとも一方が前記記憶手段に記憶され、前記演算処理手段で実行されることを特徴とする請求項１乃至５のいずれか一に記載のコンピュータシステム。
【請求項７】
前記記憶手段は、前記プログラマブル論理回路内に構成されていることを特徴とする請求項１乃至６のいずれか一に記載のコンピュータシステム。
【請求項８】
書き換え可能な論理領域を有するプログラマブル論理回路において、
前記書き込み可能な論理領域に書き込むために設けられた複数の回路データの中から選択された基準回路データと、前記基準回路データと該基準回路データ以外の他の回路データとの相対的な変位を示す差分データとを用いて、前記他の回路データを復元するデータ復元手段を備えることを特徴とするプログラマブル論理回路。
【請求項９】
前記差分データは、前記差分値と、前記差分値が演算された前記データ要素のデータ位置を示す情報と、を含み構成されることを特徴とする請求項８記載のプログラマブル論理回路。
【請求項１０】
前記差分データは、前記差分値が演算されるデータ要素が連続する場合は、先頭のデータ要素についてのみ前記データ位置を示す情報が付加され、前記差分値が演算されるデータ要素の前に、相対的な変位がないデータ要素が存在する場合は、その存在を示す情報が付加されることを特徴とする請求項９記載のプログラマブル論理回路。
【請求項１１】
前記基準回路データと前記差分データとを記憶する記憶手段を備えることを特徴とする請求項８乃至１０のいずれか一に記載のプログラマブル論理回路。
【請求項１２】
書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおける前記回路データの書き込み方法であって、
複数の前記回路データの中から選択された基準回路データと該基準回路データ以外の他の回路データとの相対的な変位を示す差分データを作成する差分データ作成ステップと、前記記憶手段に、前記基準回路データと前記差分データとを記憶するステップと、前記基準回路データと前記差分データとを用いて、前記他の回路データを復元するデータ復元ステップと、復元された前記他の回路データを前記書き換え可能な論理領域に書き込むステップと、を少なくとも有することを特徴とする回路データの書き込み方法。
【請求項１３】
前記差分データ作成ステップは、前記複数の回路データの中から前記基準回路データを選択するステップと、前記基準回路データ及び前記他の回路データのデータ要素を解析するステップと、前記基準回路データ及び前記他の回路データにおける対応するデータ要素の値が異なる場合にその差分値を演算するステップと、少なくとも、前記差分値と該差分値が演算された前記データ要素のデータ位置を示す情報とを用いて前記差分データを作成するステップと、を含むことを特徴とする請求項１２記載の回路データの書き込み方法。
【請求項１４】
前記差分データは、前記差分値が演算されるデータ要素が連続する場合は、先頭のデータ要素についてのみ前記データ位置を示す情報が付加され、前記差分値が演算されるデータ要素の前に、相対的な変位がないデータ要素が存在する場合は、その存在を示す情報が付加されることを特徴とする請求項１３記載の回路データの書き込み方法。
【請求項１５】
書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおける前記回路データの書き込み方法であって、
前記回路データのデータサイズを圧縮した圧縮データを作成するデータ作成ステップと、前記記憶手段に、前記圧縮データを記憶するステップと、前記圧縮データを解凍して前記回路データを復元するデータ復元ステップと、を少なくとも有することを特徴とする回路データの書き込み方法。
【請求項１６】
前記データ復元ステップは、前記プログラマブル論理回路内で実行されることを特徴とする請求項１２乃至１５のいずれか一に記載の回路データの書き込み方法。
【請求項１７】
コンピュータに、前記データ作成ステップを実行させるデータ作成プログラム、又は、コンピュータに、前記データ復元ステップを実行させるデータ復元プログラムの少なくとも一方を前記記憶手段に記憶し、前記演算処理手段で実行することを特徴とする請求項１２乃至１６のいずれか一に記載の回路データの書き込み方法。
【請求項１８】
コンピュータを、
複数の回路データの中から基準回路データを選択する手段、
前記基準回路データと他の回路データのデータ要素を解析する手段、
前記基準回路データ及び前記他の回路データにおける対応するデータ要素の値が異なる場合にその差分値を演算する手段、
少なくとも、前記差分値と該差分値が演算された前記データ要素のデータ位置を示す情報とを用いて前記差分データを作成する手段、
として機能させることを特徴とするデータ作成プログラム。
【請求項１９】
前記差分データは、前記差分値が演算されるデータ要素が連続する場合は、先頭のデータ要素についてのみ前記データ位置を示す情報が付加され、前記差分値が演算されるデータ要素の前に、相対的な変位がないデータ要素が存在する場合は、その存在を示す情報が付加されることを特徴とする請求項１８記載のデータ作成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、書き換え可能な論理領域を含むプログラマブル論理回路を備えるコンピュータシステム及びプログラマブル論理回路並びに回路データの書き込み方法並びにデータ作成プログラムに関する。
【０００２】
【従来の技術】
高速なコンピュータシステムを構成する方法としては、大別して２つの方法がある。第１の方法は、複数のＣＰＵを設けそれらを並列に動作させるマルチプロセッサ方式であり、第２の方法は、ＣＰＵの動作を支援することにより高速化を達成するものである。マルチプロセッサの代表例としては、並列型のスーパーコンピュータや高性能なサーバー等が挙げられる。また最近では、ＪＡＶＡ（Ｒ）プロセッサを搭載するケースや、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌｉｎｇ  Ｐｒｏｃｅｓｓｏｒ）を搭載するケースなど、特定のアプリケーションに特化して性能を向上させることができるようなマルチプロセッサシステムも提案されている。
【０００３】
また、ＣＰＵの動作を支援する構成としては、コプロセッサを搭載する構成やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を搭載する構成等がある。コプロセッサの代表例として、浮動小数点演算を高速に行うＦＰＵ（Ｆｌｏａｔｉｎｇ−ｐｏｉｎｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や行列の演算を高速に行うためのベクトルコプロセッサがあり、このようなコプロセッサを用いることにより、科学技術計算などで規則的な演算が大量に出てくる場合に、ＣＰＵだけで処理するよりも高速に処理することが可能になる。
【０００４】
一方、ＡＳＩＣは、アプリケーションに特化した機能の一部または全部をハードウェアで構成することにより、高速動作を可能にするものであり、その代表例としてゲートアレイが知られている。組み込み型のシステムでは、ＡＳＩＣを搭載することより高速でかつ小型のシステム構築が可能になるが、このＡＳＩＣはアプリケーションに特化した機能を持つために、さまざまなアプリケーションに対応することができないという欠点がある。
【０００５】
この欠点を補うため、近年、ＦＰＧＡ（ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）等の書き換え可能な論理領域を備えるデバイス（以下、これらを総称してプログラマブル論理回路と呼ぶ。）の開発が行われている。このプログラマブル論理回路の基本単位は、組み合わせ論理を実現するＬＵＴ（ＬｏｏｋＵｐ  Ｔａｂｌｅ）と、順序論理を実現するレジスタで構築された論理セルである。このプログラマブル論理回路内にはＳＲＡＭが存在し、プログラマブル論理回路の各論理セルがどのように動作するかをＬＵＴ形式で記述された回路データを格納する。このようなプログラマブル論理回路では、アプリケーションに応じて回路データを書き換えることができることから様々な処理を実現することができる。
【０００６】
また、様々な処理を実行するためには回路データの書き換えを迅速に行う必要がある。そこで、特開平５−６３５５１号公報には、定義用メモリのデータの書き換えを短時間で行うために、定義用メモリ部に、揮発性メモリで構成された２セット以上の定義用メモリと、この定義用メモリのいずれか１つのセットから定義用データを選択的に論理回路部にロードする選択制御手段を備える構成が開示されている。この構成では、２セット以上の各定義用メモリに互いに異なる定義用データが格納されているため、選択制御手段で定義用メモリの選択の切り換えを行うだけで論理回路部にロードする定義用データを瞬時に変更することができる。
【０００７】
【特許文献１】
特開平５−６３５５１号公報（第２−３頁、第１図）
【０００８】
【発明が解決しようとする課題】
上記公報記載の構成では、一つのプログラマブル論理回路で複数の動作を実現することが可能であるが、そのためには複数の回路データ（定義用データ）を複数のメモリ（定義用メモリ）に記憶しておく必要があり、メモリの数が増えることによりプログラマブル論理回路の規模が大きくなってしまう。また、１つのメモリに複数の回路データを保持させようとすると、メモリの容量を大きくしなければならず、プログラマブル論理回路やプログラマブル論理回路を含むコンピュータシステムの規模が大きくなってしまう。
【０００９】
このように、プログラマブル論理回路では回路データを順次書き換えることにより複数の動作を実現することができるが、より多くの動作を実現するためには多くの回路データを記憶しなければならず、多数の回路データを効率よく記憶することができるシステムの提案が望まれている。
【００１０】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、多数の回路データを効率よくメモリに格納することができるコンピュータシステム及びプログラマブル論理回路並びに回路データの書き込み方法並びにデータ作成プログラムを提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明のコンピュータシステムは、書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおいて、複数の前記回路データの中から選択された基準回路データと該基準回路データ以外の他の回路データとの相対的な変位を示す差分データを作成するデータ作成手段と、前記基準回路データと前記差分データとを用いて、前記他の回路データを復元するデータ復元手段とを備え、前記記憶手段には、前記基準回路データと前記差分データとが記憶されるものである。
【００１２】
本発明においては、前記データ作成手段は、前記複数の回路データの中から前記基準回路データを選択する手段と、前記基準回路データ及び前記他の回路データのデータ要素を解析する手段と、前記基準回路データ及び前記他の回路データにおける対応するデータ要素の値が異なる場合にその差分値を演算する手段と、少なくとも、前記差分値と該差分値が演算された前記データ要素のデータ位置を示す情報とを用いて前記差分データを作成する手段と、を含む構成とすることができ、前記差分データは、前記差分値が演算されるデータ要素が連続する場合は、先頭のデータ要素についてのみ前記データ位置を示す情報が付加され、前記差分値が演算されるデータ要素の前に、相対的な変位がないデータ要素が存在する場合は、その存在を示す情報が付加される構成とすることができる。
【００１３】
また、本発明のコンピュータシステムは、書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおいて、前記回路データのデータサイズを圧縮した圧縮データを作成するデータ作成手段と、前記圧縮データを解凍して前記回路データを復元するデータ復元手段とを備え、前記記憶手段には、前記圧縮データが記憶されるものである。
【００１４】
本発明においては、前記データ復元手段は、前記プログラマブル論理回路内に構成されていてもよく、前記記憶手段は、前記プログラマブル論理回路内に構成されてもよい。
【００１５】
また、本発明においては、前記データ作成手段又は前記データ復元手段に代えて、コンピュータを、前記データ作成手段として機能させるデータ作成プログラム、又は、コンピュータを、前記データ復元手段として機能させるデータ復元プログラムの少なくとも一方が前記記憶手段に記憶され、前記演算処理手段で実行される構成とすることもできる。
【００１６】
また、本発明のプログラマブル論理回路は、書き換え可能な論理領域を有するプログラマブル論理回路において、前記書き込み可能な論理領域に書き込むために設けられた複数の回路データの中から選択された基準回路データと、前記基準回路データと該基準回路データ以外の他の回路データとの相対的な変位を示す差分データとを用いて、前記他の回路データを復元するデータ復元手段を備えるものである。
【００１７】
また、本発明の回路データの書き込み方法は、書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおける前記回路データの書き込み方法であって、複数の前記回路データの中から選択された基準回路データと該基準回路データ以外の他の回路データとの相対的な変位を示す差分データを作成する差分データ作成ステップと、前記記憶手段に、前記基準回路データと前記差分データとを記憶するステップと、前記基準回路データと前記差分データとを用いて、前記他の回路データを復元するデータ復元ステップと、復元された前記他の回路データを前記書き換え可能な論理領域に書き込むステップと、を少なくとも有するものである。
【００１８】
また、本発明の回路データの書き込み方法は、書き換え可能な論理領域を有するプログラマブル論理回路と、前記書き換え可能な論理領域に書き込まれる回路データを記憶する記憶手段と、演算処理手段とを少なくとも有するコンピュータシステムにおける前記回路データの書き込み方法であって、前記回路データのデータサイズを圧縮した圧縮データを作成するデータ作成ステップと、前記記憶手段に、前記圧縮データを記憶するステップと、前記圧縮データを解凍して前記回路データを復元するデータ復元ステップと、を少なくとも有するものである。
【００１９】
また、本発明のデータ作成プログラムは、コンピュータを、複数の回路データの中から基準回路データを選択する手段、前記基準回路データと他の回路データのデータ要素を解析する手段、前記基準回路データ及び前記他の回路データにおける対応するデータ要素の値が異なる場合にその差分値を演算する手段、少なくとも、前記差分値と該差分値が演算された前記データ要素のデータ位置を示す情報とを用いて前記差分データを作成する手段、として機能させるものである。
【００２０】
このように、本発明の構成によれば、複数の回路データの中から選択された基準回路データとの相対的な変位を示す差分データや回路データを圧縮した圧縮データを作成するデータ作成手段、及び、基準回路データと差分データとから元の回路データを復元又は圧縮データを解凍して元の回路データを復元するデータ復元手段とが、ハードウェアとして又はプログラムとしてコンピュータシステムに構成されているため、記憶手段にはデータサイズの小さい差分データ又は圧縮データを記憶すればよく、これにより記憶手段の数を増やしたり容量を大きくすることなく、多数の回路データを記憶することができ、プログラマブル論理回路を用いて多数の回路データに基づく様々な処理を実現することができる。
【００２１】
【発明の実施の形態】
従来技術において記載したように、プログラマブル論理回路では、コンピュータシステムで実現しようとする処理に対応した回路データを書き換え可能な論理領域に再構成することにより所望の処理を実現することができるが、従来は、プログラマブル論理回路一個の回路データを、プログラマブル論理回路の総セル分のＬＵＴ形式のデータで構成しているため、プログラム論理回路を複数の処理手段として機能させるためには、複数の処理に対応する回路データをメモリに格納しておかなければならず、その結果、メモリの数が増加したり、メモリの規模が大きくなり、プログラマブル論理回路やプログラマブル論理回路を含むコンピュータシステムの大型化を招いていた。
【００２２】
ここで、プログラム論理回路は一つのシステムに組み込まれるものであり、そのシステム内でプログラム論理回路の動作を変えるとしてもプログラム論理回路全体の回路を変更することは少なく、その一部分を変更する場合が多い。例えば、プログラム論理回路を複写機に組み込む場合を考えると、複写機における複数の画像処理を実行するためにプログラム論理回路が用いられるが、画像処理の具体的な処理内容が異なっていても画像データを解析し、変換するという構成自体は同じであり、従って画像処理回路としてはかなり共通する部分が多いと考えられる。
【００２３】
そこで、本発明では、このような回路データの共通性に着目し、各々の処理に対応する回路データの全てのデータ要素をメモリに記憶させるのではなく、予め定められたルールに従ってサイズを縮小したデータ（例えば、差分データや圧縮データ）としてメモリに記憶することにより、多数の回路データを格納できるようにしている。
【００２４】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して説明する。
【００２５】
［実施例１］
まず、本発明の第１の実施例に係るプログラマブル論理回路を備えるコンピュータシステム及びプログラマブル論理回路並びに回路データの書き込み方法並びにデータ作成プログラムについて、図１乃至図９を参照して説明する。図１乃至図３は、本実施例のプログラマブル論理回路を備えるコンピュータシステムの構成の一例を示す図であり、図４及び図５は、それぞれデータ作成手段及びデータ復元手段の構成を示すブロック図である。また、図６は、差分データの具体例を示す図であり、図７は、差分データの作成手順を示すフローチャート図である。また、図８及び図９は、それぞれ回路データの記録手順及び回路データの書き込み手順を示すフローチャート図である。
【００２６】
図１に示すように、本実施例のコンピュータシステム１は、書き換え可能領域２ａを含むプログラマブル論理回路２と、複数の回路データの中から選択された基準となる回路データ（以下、基準回路データと呼ぶ。）を用いて他の回路データに対応する差分データを作成するデータ作成手段６と、基準回路データと差分データとを用いて元の回路データを復元するデータ復元手段７と、基準回路データと１以上の差分データとを記憶するメモリ４と、これらを制御するＣＰＵ３とがバス５によって接続されているものである。また、図示しないが、プログラマブル論理回路２に書き込む複数の回路データを提供する手段、例えば、複数の回路データが記録された外部記録装置や通信ネットワークを介して複数の回路データを受信する通信手段等が接続されている。なお、図の構成はコンピュータシステム１の基本構成であり、これらの手段に加えて他のプロセッサや記憶手段、入出力手段等が接続されていても良い。
【００２７】
ここで、差分データとは、対象となる回路データ（図１では回路データＢ）の基準回路データ（図１では回路データＡ）に対する相対的な変位を示すデータであり、差分データの作成方法としては、基準回路データと対象となる回路データとの差分値を演算したり、基準回路データと対象となる回路データとの比を演算したり、予め定められたルールに従って基準回路データとの差異を記述したデータを作成する等、任意の方法を用いることができるが、本発明の目的から、少なくとも対象となる回路データよりもサイズが小さい差分データを作成することができる方法であればよい。また、本実施例では、１つの基準回路データを基に差分データを作成するが、複数の基準回路データを基に差分データを作成してもよい。
【００２８】
なお、図１では、基準回路データと差分データとをプログラマブル論理回路２とは別体のメモリ４に記憶する構成としているが、これらのデータをプログラマブル論理回路２内部に備える記憶手段に記憶する構成としてもよい。また、図１では、データ作成手段６とデータ復元手段７とをハードウエアとして構成しているが、図２に示すように、コンピュータをデータ作成手段６として機能させるデータ作成プログラムやコンピュータをデータ復元手段７として機能させるデータ復元プログラムをメモリ４に記録し、ＣＰＵ３にロードして実行する構成としてもよく、これらのプログラムは他の記憶手段（例えば、ハードディスク等）に格納されていてもよい。また、図３に示すように、メモリ４にはデータ作成プログラムのみを格納しておき、基準回路データと差分データとから回路データを復元するデータ復元手段２ｂをプログラマブル論理回路２内に設ける構成としてもよい。このように、データ作成手段及びデータ復元手段がハードウェアとして又はプログラムとしてコンピュータシステム１に構成され、基準回路データと差分データとがコンピュータシステム１内のいずれかの記憶手段に記憶されていればよい。
【００２９】
上記データ作成手段６は、その機能をブロック図で示すと図４のようになる。すなわち、外部記録装置から又は通信手段を介して提供される複数の回路データの中から、予め定められたルールに従って差分データの作成の基準となる基準回路データを選択する基準回路データ選択手段６ａと、基準回路データ及び他の回路データの構成要素（以下、データ要素と呼ぶ。）を解析するデータ要素解析手段６ｂと、各々のデータ要素を比較して差分値を演算する差分値演算手段６ｃと、差分値と差分のあるデータ要素の位置を示す情報とを用いて予め定められた手法に基づいて差分データを作成する差分データ作成手段６ｄとで構成される。なお、基準回路データの選択方法としては、初めに書き込まれる回路データを選択したり、全ての回路データを解析して他の回路データと共通する部分が多い回路データを選択する等、任意の方法を用いることができる。
【００３０】
また、データ復元手段７は、その機能をブロック図で示すと図５のようになる。すなわち、差分データを解析し、そのデータ要素から差分値とデータ要素の位置情報とを抽出する差分データ解析手段７ａと、基準データと抽出した差分値や位置情報とを用いて元の回路データを作成する回路データ作成手段７ｂとで構成される。
【００３１】
次に、複数の回路データから差分データを作成する具体的な手法について、図６を参照して説明する。
【００３２】
例えば、回路データとして、回路データＡ（０ｘ００，０ｘ００，０ｘ００，０ｘ００，０ｘ００，０ｘ０１，０ｘ０２，０ｘ０３，０ｘ０ａ，０ｘ０５，０ｘ０２，０ｘ０６）と、回路データＢ（０ｘ００，０ｘ００，０ｘ００，０ｘ００，０ｘ００，０ｘ０１，０ｘ０２，０ｘ０４，０ｘ０８，０ｘ０５，０ｘ０２，０ｘ０７）とがあり、回路データＡを基準回路データとして回路データＢに対応する差分データを作成する場合について説明する。この差分データはカンマで区切られた各々のデータ要素毎に差分値を演算して作成してもよいが、プログラマブル論理回路２を複写機の画像処理手段等に適用する場合、画像処理の内容としては、例えば、読み取り手段の感度ムラを補正するシェーディング処理や解像度変換処理、エッジ強調処理、２値化処理等があるが、これらの処理は画像データを解析して画像データを変換するという共通の処理を有しており、従って回路データとしても共通部分が多数存在すると考えられる。そこで、このような特質を考慮して、回路データＢから回路データＡを単純に差し引いて差分データを作成するのではなく、異なるデータ要素のみ差分値を演算し、そのデータ要素の位置を示す情報を記述するという方法を用いることによって大幅に差分データのサイズを縮小することが可能となる。
【００３３】
具体的には、図６（ａ）では、差分データの１番目のデータ要素（０ｘ０８）は、回路データＡと回路データＢとは７番目のデータ要素までは同一であり、８番目のデータ要素からその値が異なることを示している。そして、差分データの２番目のデータ要素（０ｘ０１）は、回路データＢの８番目のデータ要素（０ｘ０４）と回路データＡの８番目のデータ要素（０ｘ０３）との差分値を示し、同様に、３番目のデータ要素（０ｘｆｅ）は、回路データＢの９番目のデータ要素（０ｘ０８）と回路データＡの９番目のデータ要素（０ｘ０ａ）との差分値（この例では、（０ｘ０ａ）に（０ｘｆｅ）を足すと（０ｘ１０８）となり、８ビットの演算では一番上位の”１”が削られて（０ｘ０８）になる。）を示している。
【００３４】
また、差分データの４番目のデータ要素（０ｘ００）は、回路データＢと回路データＡのデータ要素が等しい部分（共通部分）が存在し、共通部分を挟んで再びデータ値が異なるデータ要素が存在することを示しており、５番目のデータ要素（０ｘ０ｃ）は、ｃ番目のデータ要素からデータの値が異なることを示している。そして、差分データの６番目のデータ要素（０ｘ０１）は、上記と同様に回路データＢのｃ番目のデータ要素（０ｘ０７）と回路データＡのｃ番目のデータ要素（０ｘ０６）との差分値を示している。なお、共通部分を挟んで再びデータ値が異なるデータ要素が存在することを示す値（０ｘ００）は任意に設定することができるが、差分が（０ｘ００）であることはなく、また、差分を演算するデータ要素の位置も（０ｘ００）であることはないことから、（０ｘ００）を用いれば混同が生じることがなく好ましい。
【００３５】
また、上記手法は、データ要素の値が異なる部分と共通部分とが集団となって構成されている場合に有効であるが、データ要素の値が異なる部分が離散して存在する場合には、各々のデータ要素の差分値とそのデータ要素の位置情報とを繰り返し記述する手法も有効である。具体的には、図６（ｂ）に示すように、８番目のデータ要素の値が異なることを示す（０ｘ０８）と、回路データＢの８番目のデータ要素（０ｘ０４）と回路データＡの８番目のデータ要素（０ｘ０３）との差分値を示す（０ｘ０１）とを組にして記述し、同様に、９番目のデータ要素の値が異なることを示す（０ｘ０９）とその差分値（０ｘｆｅ）とを組にして記述し、ｃ番目のデータ要素の値が異なることを示す（０ｘ０ｃ）とその差分値（０ｘ０１）とを組にして記述することもできる。
【００３６】
このような手法を用いて差分データを作成することにより、共通部分を多く含む複数の回路データから差分データを作成する場合に大幅にデータサイズを縮小（図６の構成の場合は１２個のデータ要素を６個のデータ要素に縮小）することができる。
【００３７】
上記図６（ａ）の手法をフローチャートで示すと図７のようになる。まず、ステップＳ１０１で、ｎに１を代入し、ステップＳ１０２で、回路データＡと回路データＢのｎ番目のデータ要素を比較し、ステップＳ１０３で各々のデータ要素の値が等しいか否かを判断する。そして、ｎ番目のデータ要素が等しい場合は、ステップＳ１０７にスキップし、最後のデータ要素であるかを判断する。
【００３８】
また、ステップＳ１０３でｎ番目のデータ要素の値が異なる場合は、ステップＳ１０４でこのデータ要素が先頭のデータ要素であるか（ｎ＝１）又はその前（ｎ−１番目）のデータ要素の値が異なるかを判断し、ｎ＝１でなくかつｎ−１番目のデータ要素の値が等しい場合（例えば、図６（ａ）の回路データＢの（０ｘ０４））は、ステップＳ１０５でデータ要素の位置を示す情報（例えば、図６（ａ）の回路データＢの（０ｘ０４）に対する（０ｘ０８））を差分データに書き込んだ後、ステップＳ１０６で回路データＡと回路データＢのｎ番目のデータ要素の差分値を演算し、差分データに書き込む。また、ｎ＝１又はｎ−１番目の要素が異なる場合（例えば、図６（ａ）の回路データＢの先頭の（０ｘ００）や（０ｘ０８））は、ステップＳ１０６で回路データＡと回路データＢのｎ番目のデータ要素の差分値を演算し、差分データに書き込む。そして、ステップＳ１０７で、最後のデータ要素であるかを判断し、最後でない場合は、ステップ１０８でｎに１を加算して同様の操作を繰り返す。このような方法により、図６（ａ）に示すような差分データを作成することができる。
【００３９】
上記手法を用いて、メモリ４に回路データを記録する手順について、図８のフローチャート図を参照して説明する。まず、ステップＳ２０１で、ＣＰＵ３は外部記録手段や通信手段を介して予め設定された複数の回路データを読み込む。次に、ステップＳ２０２でデータ作成手段６を用いて又はメモリ４からデータ作成プログラムを読み込み、複数の回路データの中から基準となる回路データ（基準回路データ）を選択する。この基準回路データの選択方法は前記したように任意であるが、例えば、プログラマブル論理回路２に最初に書き込まれる回路データを選択したり、差分データのサイズをできるだけ小さくするために共通のデータ要素を最も多く含む回路データを選択したり、データが最も長い回路データ等を選択する。
【００４０】
次に、ステップＳ２０３で、差分データの対象となる回路データを特定し、基準回路データと対象となる回路データとから上述した手法を用いて差分データを作成する。この差分データの形式は任意であるが、少なくとも対象となる回路データに対応する差分データであることを認識できるように、対象となる回路データを特定できる情報（例えば、対象となる回路データのファイル名等）をヘッダ領域に記述したりファイル名に含める等の処理が施されていることが好ましい。
【００４１】
そして、基準回路データ以外の全ての回路データに対して差分データを作成した後、ステップＳ２０４で、メモリ４に基準回路データと差分データとを記憶する。その際、プログラマブル論理回路２に書き込む回路データを特定できるように、アドレスを指定して基準回路データと差分データとをメモリ４の所定の位置に記憶する。
【００４２】
次に、このようにしてメモリ４に記憶された基準回路データと差分データとを用いてプログラマブル論理回路２に所望の回路データを書き込む手順について、図９のフローチャート図を参照して説明する。まず、ステップＳ３０１でＣＰＵ３にプログラマブル論理回路２を再構成する信号が送られると、ステップ３０２で、ＣＰＵ３は書き込みの対象となる回路データに対応する差分データを選択し、ステップＳ３０３でメモリ４から基準回路データとその差分データとを読み込む。
【００４３】
次に、ステップＳ３０４でデータ復元手段７（又はプログラマブル論理回路２内のデータ復元手段２ｂ）を用いて、又はメモリ４からデータ復元プログラムを読み出し、基準回路データと差分データとから元の回路データを復元する。例えば、差分データが図６（ａ）に示すルールで作成されている場合は、差分データ中から最初に記載されているデータ要素又は（０ｘ００）の後に記録されているデータ要素を抽出して差分値が演算されたデータ要素の位置を示す情報を入手し、基準回路データ中の該位置情報で特定されるデータ要素に、差分データ中の次に記述されたデータ要素で示される値を加算し、この処理を繰り返す。そして該位置情報で特定されるデータ要素に加算値を、他のデータ要素には基準回路データの対応するデータ要素の値を書き込んで元の回路データを復元すればよい。
【００４４】
そして、ステップＳ３０５で、復元した回路データをプログラマブル論理回路２内のＳＲＡＭに書き込み、一連の処理を終了する。
【００４５】
このように、プログラマブル論理回路２を備えるコンピュータシステム１に、差分データを作成するデータ作成手段と、基準回路データ及び差分データから元の回路データを復元するデータ復元手段とを、ハードウェア又はプログラムとして構成し、複数の回路データを基準回路データと差分データとしてメモリ４に記憶することにより、メモリ４に多数の回路データを格納することが可能となり、コンピュータシステム１を用いて様々な処理を実現することができる。
【００４６】
［実施例２］
次に、本発明の第２の実施例に係るプログラマブル論理回路を備えるコンピュータシステム及びプログラマブル論理回路並びに回路データの書き込み方法並びにデータ作成プログラムについて、図１０乃至図１２を参照して説明する。図１０は、本実施例のプログラマブル論理回路を備えるコンピュータシステムの一例を示す図であり、図１１及び図１２は、それぞれ回路データの記録手順及び差分データを用いた回路データの書き込み手順を示すフローチャート図である。なお、本実施例は、回路データの容量を削減する方法として差分値を演算するのではなく、回路データそのものを圧縮することを特徴とするものである。
【００４７】
図１０に示すように、本実施例のコンピュータシステム１は、書き換え可能領域２ａを含むプログラマブル論理回路２と、回路データを圧縮した圧縮データを作成するデータ作成手段８と、圧縮データを解凍して元の回路データを復元するデータ復元手段９と、１以上の圧縮データを記憶するメモリ４と、図示しない外部記録手段や通信手段等と、これらを制御するＣＰＵ３とがバス５によって接続されているものである。なお、図１０の構成はコンピュータシステム１の基本構成であり、第１の実施例と同様に、これらに加えて他のプロセッサや記憶手段、入出力手段等が接続されていても良く、圧縮データをプログラマブル論理回路２内部に備える記憶手段に記憶したり、コンピュータをデータ作成手段８として機能させるデータ作成プログラムやコンピュータをデータ復元手段９として機能させるデータ復元プログラムをメモリ４に記録し、ＣＰＵ３にロードして実行する構成としてもよく、メモリ４にはデータ作成プログラムのみを格納しておき、データ復元手段をプログラマブル論理回路２内に設ける構成としてもよい。
【００４８】
ここで、圧縮データとは、元の回路データのサイズを小さくする処理が施されたデータであり、圧縮データの作成方法としては、画像データに対して用いられる方法を流用することができ、例えば、画像データをｊｐｅｇ形式に変換する方法のように、元の画像データを複数のブロックに分割し、各ブロック内の画素値から離散コサイン変換（ＤＣＴ）を用いてＤＣＴ係数を求め、このＤＣＴ係数を予め定められた量子化ステップにより量子化した後、符号化を行う方法等を流用することができる。
【００４９】
上記構成のコンピュータシステム１を用いてメモリ４にデータを記録する手順について図１１のフローチャート図を参照して説明する。まず、ステップＳ４０１で、ＣＰＵ３は外部記録手段や通信手段を介して予め設定された複数の回路データを読み込む。次に、ステップＳ４０２でデータ作成手段８を用いて又はメモリ４からデータ作成プログラムを読み込み、圧縮データを作成する。そして、全ての回路データに対して圧縮データを作成した後、ステップＳ４０３でメモリ４に圧縮データを記録する。その際、プログラマブル論理回路２に書き込む回路データを特定できるように、アドレスを指定してメモリ４の所定の位置に記録する。
【００５０】
次に、このようにしてメモリ４に記録された圧縮データを用いてプログラマブル論理回路２に所望の回路データを書き込む手順について、図１２のフローチャート図を参照して説明する。まず、ステップＳ５０１でＣＰＵ３にプログラマブル論理回路２を再構成する信号が送られると、ステップＳ５０２で、ＣＰＵ３は書き込みの対象となる回路データに対応する圧縮データを選択し、メモリ４からその圧縮データを読み込む。
【００５１】
次に、ステップＳ５０３でデータ復元手段９を用いて、又はメモリ４からデータ復元プログラムを読み出し、圧縮データを解凍して元の回路データを復元する。そして、ステップＳ５０４で、復元した回路データをプログラマブル論理回路２内のＳＲＡＭに書き込み、一連の処理を終了する。
【００５２】
このように、プログラマブル論理回路２を備えるコンピュータシステム１に、圧縮データを作成するデータ作成手段と、圧縮データを解凍して元の回路データに復元するデータ復元手段とを、ハードウェア又はプログラムとして構成し、複数の回路データを圧縮データとしてメモリ４に記憶することにより、メモリ４に多数の回路データを格納することが可能となり、コンピュータシステム１を用いて様々な処理を実現することができる。
【００５３】
なお、上記各実施例では、メモリ４に記憶するデータとして、基準回路データとの変位を表す差分データ又は回路データを圧縮した圧縮データを用いる方法について記載したが、本発明は上記実施例に限定されるものではなく、メモリ４に記憶するデータの容量を削減できる方法であればよく、例えば、全ての回路データに共通する部分がある場合に、共通部分のデータと共通部分を除くデータとに分割して記憶し、それらを結合して元の回路データを復元する方法等を用いることもできる。
【００５４】
【発明の効果】
以上説明したように、本発明のプログラマブル論理回路を備えるコンピュータシステム及びプログラマブル論理回路並びに回路データの書き込み方法並びにデータ作成プログラムによれば、回路データを格納するメモリの数や容量を増加させることなく、プログラマブル論理回路を様々な回路として機能させることができる。
【００５５】
その理由は、プログラマブル論理回路を備えるコンピュータシステムに、差分データ（又は圧縮データ）を作成するデータ作成手段と、基準回路データ及び差分データから元の回路データを復元（又は圧縮データを解凍して元の回路データを復元）するデータ復元手段とを、ハードウェアとして又はデータ作成プログラムやデータ復元プログラムとして構成し、複数の回路データを基準回路データと差分データ（又は圧縮データ）としてメモリに記憶することにより、プログラマブル論理回路一個分のデータ量を削減することができ、多数の回路データをメモリに格納することが可能になるからである。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係るコンピュータシステムの構成を模式的に示す図である。
【図２】本発明の第１の実施例に係るコンピュータシステムの他の構成を模式的に示す図である。
【図３】本発明の第１の実施例に係るコンピュータシステムの他の構成を模式的に示す図である。
【図４】本発明の第１の実施例に係るデータ生成手段の構成を示すブロック図である。
【図５】本発明の第１の実施例に係るデータ復元手段の構成を示すブロック図である。
【図６】本発明の第１の実施例に係る差分データの例を示す図である。
【図７】本発明の第１の実施例に係る差分データを生成する手順を示すフローチャート図である。
【図８】本発明の第１の実施例に係る回路データの記録手順を示すフローチャート図である。
【図９】本発明の第１の実施例に係る回路データの書き込み手順を示すフローチャート図である。
【図１０】本発明の第２の実施例に係るコンピュータシステムの構成を模式的に示す図である。
【図１１】本発明の第２の実施例に係る回路データの記録手順を示すフローチャート図である。
【図１２】本発明の第２の実施例に係る回路データの書き込み手順を示すフローチャート図である。
【符号の説明】
１  コンピュータシステム
２  プログラマブル論理回路
２ａ  書き換え可能領域
２ｂ  データ復元手段
３  ＣＰＵ
４  メモリ
５  バス
６  データ作成手段
６ａ  基準回路データ選択手段
６ｂ  データ要素解析手段
６ｃ  差分値演算手段
６ｄ  差分データ作成手段
７  データ復元手段
７ａ  差分データ解析手段
７ｂ  回路データ作成手段
８  データ作成手段
９  データ復元手段
【図１】
2004258863.tif 000003
【図２】
2004258863.tif 000004
【図３】
2004258863.tif 000005
【図４】
2004258863.tif 000006
【図５】
2004258863.tif 000007
【図６】
2004258863.tif 000008
【図７】
2004258863.tif 000009
【図８】
2004258863.tif 000010
【図９】
2004258863.tif 000011
【図１０】
2004258863.tif 000012
【図１１】
2004258863.tif 000013
【図１２】
2004258863.tif 000014