JP2000010770A - 情報処理システム、回路情報管理方法および回路情報記憶装置 - Google Patents

情報処理システム、回路情報管理方法および回路情報記憶装置

Info

Publication number
JP2000010770A
JP2000010770A JP10169440A JP16944098A JP2000010770A JP 2000010770 A JP2000010770 A JP 2000010770A JP 10169440 A JP10169440 A JP 10169440A JP 16944098 A JP16944098 A JP 16944098A JP 2000010770 A JP2000010770 A JP 2000010770A
Authority
JP
Japan
Prior art keywords
circuit
information
circuit information
programmable logic
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10169440A
Other languages
English (en)
Other versions
JP3809727B2 (ja
Inventor
Yoshio Nishihara
義雄 西原
Yoshihide Sato
嘉秀 佐藤
Kiichi Yamada
紀一 山田
Hiroyuki Miyake
弘之 三宅
Eigo Nakagawa
英悟 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP16944098A priority Critical patent/JP3809727B2/ja
Priority to US09/280,681 priority patent/US6336209B1/en
Publication of JP2000010770A publication Critical patent/JP2000010770A/ja
Application granted granted Critical
Publication of JP3809727B2 publication Critical patent/JP3809727B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 過去に設計された回路情報を再利用しながら
も、配置配線するなどの回路情報を組み合せるための計
算量を大幅に削減する。 【解決手段】 記憶手段200に、プログラマブル論理
回路104に構成するための複数個の回路情報を記憶す
る。回路情報のそれぞれは、自己の回路情報の識別子を
備えるとともに、当該回路情報の一部または全部を他の
回路情報で構成する場合には、その回路データとして、
当該他の回路情報の識別子を参照識別子として備える。
取得手段105は、アプリケーションプログラムよりの
指定回路情報を、編集手段300に渡し、編集手段30
0から到来する指定された回路の回路情報を取得し、こ
の回路情報によりプログラマブル論理回路に指定された
回路を構成する。編集手段300は、取得手段105か
らの指定情報により指定される回路の回路情報を、当該
指定された回路の回路情報と参照識別子で示される他の
回路情報とを記憶手段から入手して生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、アプリケーショ
ンプログラムによる処理の少なくとも一部分を、回路構
成を再構成できるプログラマブル論理回路で処理するこ
とが可能である情報処理システムに関する。また、この
情報処理システムに適用して好適な回路情報管理方法お
よび回路情報記憶装置に関する。
【0002】
【従来の技術】デジタル回路装置、特に特定用途向け集
積回路(ASIC)の分野において、製品の開発期間を
短縮するために、フィールドプログラマブルゲートアレ
イ(FPGA)やプログラマブルロジックデバイス(P
LD)などで構成されたプログラマブル論理回路が広く
使われている。
【0003】これらのプログラマブル論理回路は、論理
回路を記述する回路情報をこれらに読み込ませること
で、内部の論理回路と論理回路間の結線を自由に構成す
ることができる。このため、プログラマブル論理回路を
用いることで、従来は回路設計の終了後に数週間から数
か月を必要とした集積回路の作製時間が不要になるとい
うメリットがある。特に、米国特許第4,700,18
7号の発明のような電気的に再構成可能なプログラマブ
ル論理回路は、一度作製した回路を必要に応じて自由に
何度でも変更できるという利点があり、プログラマブル
論理回路は、ますます広く使われるようになってきてい
る。
【0004】この種のプログラマブル論理回路の回路を
設計する装置のひとつとして、特開平6−232259
号公報に開示される「FPGA回路設計装置及び方法」
の例がある。これを従来例1として図28及び図29を
参照しながら説明する。
【0005】図28は、大規模FPGA回路を設計する
CADシステムの構成図を示したものである。この装置
は、予め、配置配線情報および論理機能情報を有したF
PGA機能モジュールよりなるハードマクロセルを、複
数個、登録したデータベース12を有し、このデータベ
ースに登録された複数のハードマクロセルを用いて配
置、配線することで、より大規模のFPGA集積回路を
設計するものである。
【0006】この装置においては、マンマシンインター
フェースとしてのデータ入出力装置10に対して設計者
が操作してファイル管理プログラム群11を動作させ
る。このファイル管理プログラム群11は、論理ファイ
ル管理プログラム、ライブラリ管理プログラム、配置配
線管理プログラム等を有し、これらにより、管理対象で
あるデータベース12を管理する。
【0007】データベース12は、FPGAの論理機能
情報を多数登録した論理ファイルと、機能モジュールと
してのFPGAセルを登録したセルライブラリと、FP
GA内外の配置配線情報を登録した配置配線ファイルと
からなる。セルライブラリには、予め配置配線情報およ
び論理機能情報を持ち、ペリフェラル回路等として特定
の機能を実行するハードマクロセルを予め多数登録す
る。このデータベース12の各ファイルの内容は、適
宜、診断システム13により読み出されて診断され、そ
の診断データ14が出力される。
【0008】そして、このデータベースに登録される各
ファイルの内容に従い、図面入力システム、ネットリス
ト生成システム、レイアウトシステム、セル内配置配線
システム、出力プログラムを順次用いることにより、大
規模FPGA回路を実現するための設計図面及びそのプ
ログラムを出力させる。
【0009】このCADシステムによって設計された1
チップのFPGAによるマイクロコンピュータシステム
の構成例を図29に示す。このFPGAチップ20は、
CPU21、ROM22、RAM23、I/Oポート2
4、処理すべきプログラムの経過時間を計るPIT(P
rogrammable Interval Time
r)25、同時に発生した複数の装置からの割り込み信
号を制御するPIC(Programmable In
terrupt Controller)26、CPU
21と必要なメモリアクセスの調停を行うDMAC(D
irectMemory Access Contro
ller)27のそれぞれが、アドレス/データバス2
8および制御信号線29に接続されて構成される。
【0010】このうち、I/Oポート24、PIT2
5、PIC26、DMAC27に相当するハードマクロ
セルが、あらかじめデータベース12のセルライブラリ
に登録されており、これらは、このハードマクロセルを
そのまま読み出してFPGAチップ20上にマッピング
するのみで、これらのFPGAセル内の配置配線処理を
終えることができる。
【0011】以上のようにして、この従来例1によれ
ば、あらかじめ配置配線情報及び論理機能情報を有した
FPGA機能モジュールよりなるハードマクロセルを複
数登録したライブラリを有し、このライブラリに登録さ
れた複数のハードマクロセルを用いて配置、配線を行う
ことで、既存のFPGA回路を設計財産として活かし、
システム設計の負担を軽減して開発期間を短縮した設計
ができる。
【0012】ところで、以上説明した従来例1は、1個
のFPGAチップを設計する際の発明に関するものであ
るが、最近の論理回路は複雑さが増し、一つのプログラ
マブル論理回路装置では実現できない規模にまで回路規
模が大きくなっている。
【0013】この問題を解決するためのひとつの方法と
して、異なる時間に異なる論理回路を実現するために、
プログラマブル論理回路を処理の途中で再構成すること
が提案されている。この方法を用いることにより、携帯
情報端末のように、装置が小型であるため、内蔵できる
回路規模に制約がある場合でも、様々な処理が比較的高
速に行えるという利点がある。
【0014】しかし、プログラマブル論理回路を再構成
するときには、回路全体の回路情報を再度読み込ませる
ため、再構成に時間がかかるという欠点がある。さら
に、処理の途中で再構成することは、処理を一時中断
し、その時のデータをプログラマブル論理回路の外部の
記憶装置に待避させ、新たな回路情報を読み込んで再構
成し、再構成前のデータと再構成に伴う新しいデータを
入力するという余分な処理が必要で、データを出し入れ
する処理は冗長なものとになる。
【0015】この問題を解決するために、米国アトメル
社の「CONFIGURABLELOGIC」という名
のデータブックに記載されているプログラマブル論理回
路、および米国ザイリンクス社の「THE PROGR
AMMABLE LOGIC」という名のデータブック
に記載されているプログラマブル論理回路では、データ
を記憶するためのデータ記憶装置を有し、回路の動作中
でも外部の記憶装置から回路情報の一部を読み込んで部
分的に再構成を行うことで、再構成するための時間を最
小に留めるようにしている。
【0016】このようなプログラマブル論理回路を情報
処理システムに用いるときの問題は、所望の論理回路を
構成するための回路情報を格納先から取り出し、必要に
応じて複数の回路情報を合成して処理に適切な形式に変
換し、所望の論理回路を再構成することを高速かつ効率
的に行わねばならないことである。
【0017】上述した複数の回路情報をプログラマブル
論理回路に異なる時間に再構成して所定の処理を行う情
報システムは、ネットワークに接続して利用することが
できる。その例として、特開平10−78932号公報
に記載される「リコンフィグラブル・ネットワークコン
ピュータ」があり、それを従来例2として図30を参照
しながら説明する。
【0018】この従来例2の情報処理システムは、通信
ネットワークNETに接続された複数のコンピュータで
構成され、その内の少なくとも一つがアプリケーション
プログラムを配布するコンピュータ(アプリケーション
・サーバ)SBであり、残りのコンピュータが前記アプ
リケーションプログラムをダウンロードし、実行するク
ライアントとなるコンピュータ(クライアント・コンピ
ュータ)CLで構成されたシステムである。複数のクラ
イアント・コンピュータCLの一部に、プログラムによ
り機能を随時変更し再構成することが可能な拡張ハード
ウェア(拡張HW)31が搭載されている。
【0019】サーバSBに格納されたアプリケーション
プログラムAPにおいては、その一部の機能に対して、
拡張ハードウェアのプログラムコード(拡張コード)
と、クライアント・コンピュータCLのメインのプロセ
ッサ(メインP)32のコードが含まれている。
【0020】クライアント・コンピュータCLのOS
は、拡張ハードウェア31が実装されているか否かを判
断する機能を持ち、拡張ハードウエア31が実装されて
いる場合には、図30の上側のクライアント・コンピュ
ータCLのように、アプリケーションプログラムAPの
中からハードウェア構成に適したコードのみ取り出すコ
ード選択機能33を持っている。また、図30の下側の
クライアント・コンピュータCLのように、拡張ハード
ウェア31を持たない場合には、コード選択機能33に
より、メインプロセッサ32のコードが選択されてアプ
リケーションを利用できる。
【0021】別の構成では、拡張ハードウェア31で実
現する機能を、クライアント・コンピュータCL上に後
から動的に追加/削除が可能なOSの拡張機能あるいは
動的ライブラリとして実現し、アプリケーションプログ
ラムAPがOSに対し処理中に利用する拡張機能あるい
は動的ライブラリの種類を登録する。OSは、拡張機能
あるいは動的ライブラリがクライアント上に存在する場
合にはそれを用い、存在しない場合にはネットワークN
ET上のサーバSBから必要とする拡張機能あるいは動
的ライブラリを転送し、利用する。
【0022】また、メインプロセッサ32用のコード、
拡張ハードウェア31用のコードは、一体となっている
のではなく、アプリケーションプログラムAPまたはO
Sの拡張機能または動的ライブラリ毎に、個々のコード
をホストコンピュータに上に備えることもできる。
【0023】さらに、従来例2の場合には、拡張ハード
ウエアを構成するプログラマブル論理回路の構成が、ク
ライアント間で異なる場合は、拡張コードを、適当なゲ
ート数と入出力端子数の論理回路の機能をブール式等で
記述した基本モジュールと、それらの接続関係を表現し
たコードとすることもできる。なお、基本モジュール
は、他の回路が参照して設計財産として再利用すること
ができる。
【0024】さらに、この基本モジュールを、それぞれ
プログラマブル論理回路の基本プログラムに割り付ける
機能と、複数のプログラマブル論理回路チップにまたが
る大きな拡張コードの場合には、基本モジュールを接続
の度合いに応じて分割し、各プログラマブル論理回路チ
ップに配置配線する機能を、サーバまたはクライアント
上に持つ。
【0025】また、拡張ハードウェアを利用する複数の
アプリケーションを同時に実行できるように、必要のな
くなったハードウェア資源を別のアプリケーションプロ
グラムのために再利用するハードウェア資源の管理機能
と、拡張ハードウェアに入りきらない拡張コードを時分
割で入れ替えるコード入れ替え機能を持つ。
【0026】また、クライアント上で実行されるアプリ
ケーションプログラム毎に適宜設定されるプライオリテ
ィ値、メインプロセッサの処理能力値、拡張ハードウェ
アの処理能力値、ハードウェア資源量、コード入れ替え
のために必要な処理能力値を基に、ハードウェア資源に
入りきらない複数のアプリケーションプログラムに対し
て選択する拡張ハードウェア管理機能を持つ。
【0027】複数のアプリケーションが同時に同じ拡張
コードを拡張ハードウェアで利用する場合には、内部状
態のみを時分割で切り替えて機能を共有する。
【0028】以上のように、従来例2の場合には、ネッ
トワークで接続されたコンピュータ上で、サーバから配
布されたアプリケーションプログラムをクライアント側
で実行する際、クライアント側に、プログラムにより機
能を随時変更し、再構成可能な拡張ハードウェアを搭載
し、サーバに格納されたアプリケーションプログラムに
は、クライアントのメインプロセッサコードと拡張コー
ドを含ませ、拡張ハードウェアの有無、種類を判断した
コード選択機能によって、クライアント側の計算機の構
成を変え、処理に適した構成にすることでアプリケーシ
ョンプログラムを高速に処理できる。
【0029】また、ネットワーク上で、クライアント側
に特殊なハードウエアを必要とする新しいサービスを開
始しようとする場合には、従来は、クライアント側のユ
ーザはそのために新しいハードウエアを導入する必要が
あり、また、サービスの提供者は、新しいハードウエア
をもつ一部のユーザに対してのみ、新しいサービスを提
供することになったが、上述の従来例2を実施すること
により、新しいハードウエアを導入することなく、新し
いサービスを開始することが可能となる。
【0030】
【発明が解決しようとする課題】上述したように、従来
例1のFPGA回路設計装置および方法を用いれば、過
去に設計したFPGA回路をハードマクロセルとして再
利用できるが、実際に機能する回路を生成するために
は、ハードマクロセルを組み合わせる作業が必要であ
る。
【0031】このハードマクロセルを組み合わせるた
め、従来例1の場合は、回路を設計しようとする者が、
診断システム13での診断結果のデータ14を見なが
ら、データベースのセルライブラリに登録されたハード
マクロセルを含むFPGAセルを参照して、図面入力シ
ステムにおいて、回路図面を入力する。すると、入力さ
れた回路図面のネットリスト生成システムで生成され、
その生成されたネットリストにしたがって、レイアウト
システムにおいてハードマクロセルが配置され、セル内
配置配線システムにおいて、ハードマクロセル間の配線
がなされるようになっている。
【0032】このため、ある一つの回路を設計する場合
に、ハードマクロセルを再利用することにより全ての回
路を設計する場合よりも設計期間を短縮することができ
るが、依然として、ハードマクロセルを配置配線するた
めの計算量と、それに見合うだけの時間がかかる問題が
ある。
【0033】また、設計者が、セルライブラリに登録さ
れたハードマクロセルを参照しながら回路図面を入力し
なければならない。さらに、入力された回路図面からネ
ットリストを生成するシステムと、ハードマクロセルを
配置するレイアウトシステムと、ハードマクロセル間を
接続するセル間配置配線システムが必要であり、システ
ム規模が大きくなるという問題がある。
【0034】つまり、従来例1は、例えばASICに構
成する回路を設計する場合のように時間的な制約のない
条件において、特定のある一つの回路を設計する場合
に、過去に設計したハードマクロセルを用いることによ
り、効率的に大規模集積度を有するFPGAチップを設
計する場合に有益なものであり、例えば、アプリケーシ
ョンプログラムの一部の処理を、ソフトウエア処理に変
えて、プログラマブル論理回路で実行しようとする場合
に、そのプログラマブル論理回路に構成する回路情報を
作成するために使用するには全く不向きな技術である。
【0035】これに対して、従来例2のネットワークコ
ンピュータ装置を用いれば、サーバSBから渡された拡
張コードを用いて、アプリケーションプログラムの一部
の処理を、新しいハードウエアを導入することなく、ハ
ードウエアによるアプリケーションプログラムの高速処
理が可能になる。
【0036】このとき、従来例2では、拡張ハードウエ
アなどのプログラマブル論理回路に構成される回路の回
路情報は、回路毎にアプリケーションプログラム中の拡
張コードとして、またはOSの拡張機能として、または
実行時にプログラムに追加される動的ライブラリとし
て、アプリケーションプログラムを開始する前に、格納
する必要があった。
【0037】このため、クライアント・コンピュータの
それぞれは、拡張ハードウエアを持たない場合にも、プ
ログラマブル論理回路に構成される回路の回路情報を格
納する格納部を備えなければならなかった。
【0038】また、この従来例2の場合には、ひとつの
回路は、より小さい機能を持った基本モジュールの集ま
りとして構成される場合もある。この基本モジュール
は、他の回路が参照して設計財産として再利用すること
ができる。
【0039】しかしながら、このように、クライアント
・コンピュータに、拡張コードとして格納する回路情報
を、基本モジュールの集まりとして構成した場合に、そ
の一つの基本モジュールに修正や改良が必要になった場
合、クライアント・コンピュータに格納されている回路
情報の全体を初めから作成し直さなければならないとい
う問題がある。
【0040】この発明は、アプリケーションプログラム
の少なくとも一部を、プログラマブル論理回路で処理す
る情報処理システムにおいて、予め、プログラマブル論
理回路の回路情報を持つことが不要である情報処理シス
テムを提供することを目的とする。
【0041】この発明の他の一つの目的は、過去に設計
された回路情報を再利用しながらも、配置配線するなど
の回路情報を組み合せるための計算量を大幅に削減する
ことである。
【0042】また、この発明の別の目的は、プログラマ
ブル論理回路に構成された回路を用いるアプリケーショ
ンで処理を実行するときに、例えば基本モジュールを複
数個組み合わせて回路情報を生成する場合であっても、
アプリケーションプログラムを開始する前に、基本モジ
ュールを複数個組み合わせて回路情報を生成する処理を
しておく必要がなく、回路を構成する回路情報の修正や
改良が発生したときでも、自由度の高い回路情報の再構
成を可能にすることである。
【0043】
【課題を解決するための手段】上記課題を解決するた
め、第1の発明による情報処理システムは、アプリケー
ションプログラムによる処理の少なくとも一部分を、プ
ログラマブル論理回路で処理する情報処理システムにお
いて、前記プログラマブル論理回路を備え、前記アプリ
ケーションプログラムからの命令により、前記プログラ
マブル論理回路に構成された回路を用いて処理を実行す
る処理手段と、前記プログラマブル論理回路に前記回路
を構成するための複数個の回路情報を記憶する記憶手段
と、指定情報により指定される一つの回路の回路情報
を、前記記憶手段に記憶された複数の回路情報を用いて
生成する機能を備える編集手段と、前記プログラマブル
論理回路に構成する回路を特定するために前記アプリケ
ーションプログラムにより指定される情報を、前記指定
情報として、前記編集手段に渡し、前記編集手段から到
来する前記指定情報により指定された回路の回路情報を
取得し、この回路情報により前記処理手段のプログラマ
ブル論理回路に前記指定された回路を構成する取得手段
と、を備えることを特徴とする。
【0044】第2の発明による情報処理システムは、第
1の発明において、前記記憶手段を構成する部分と、前
記編集手段を構成する部分と、前記取得手段および処理
手段を構成する部分とが、ネットワークを介して接続さ
れていることを特徴とする。
【0045】第3の発明による情報処理システムは、第
1の発明または第2の発明において、前記記憶手段に記
憶される複数個の回路情報のそれぞれは、自己の回路情
報の識別子を備えるとともに、当該回路情報の一部また
は全部を他の回路情報で構成する場合には、前記プログ
ラマブル論理回路に回路を構成するための回路データと
して、当該他の回路情報の識別子を参照識別子として備
えるものであり、前記編集手段は、前記取得手段からの
前記指定情報により指定される回路の回路情報を、当該
指定された回路の回路情報と前記参照識別子で示される
他の回路情報とを前記記憶手段から入手して生成するこ
とを特徴とする。
【0046】第4の発明による情報処理システムは、第
3の発明において、前記編集手段は、前記取得手段から
の前記指定情報に対応して、当該指定情報により指定さ
れる回路の回路情報を、その識別子により前記記憶手段
に照会し、前記記憶手段は、前記編集手段からの照会に
応じて、その照会時の前記識別子で示される回路情報が
参照識別子を含む場合には、その参照識別子を前記編集
手段に返し、前記編集手段は、前記記憶手段から入手し
た前記参照識別子を用いて、前記記憶手段から当該参照
識別子で示される前記他の回路情報を取得することを特
徴とする。
【0047】第5の発明による情報処理システムは、第
1の発明または第2の発明において、前記記憶手段に記
憶される複数個の回路情報のそれぞれは、回路データ部
と、その付加情報部とからなり、前記付加情報部は、自
己の回路情報の識別子を含むとともに、当該回路情報の
一部または全部を他の回路情報で構成する場合には、当
該他の回路情報の識別子を参照識別子として含むもので
あり、前記回路データ部は、前記プログラマブル論理回
路に回路を構成するためのデータ部分であって、当該回
路情報の一部または全部を他の回路情報で構成する場合
には、その回路情報の一部または全部の回路データは、
前記参照識別子を用いて記述したものとされるものであ
り、前記編集手段は、前記取得手段からの前記指定情報
に対応して、当該指定情報により指定される回路の回路
情報を、その識別子により前記記憶手段に照会し、前記
記憶手段は、前記編集手段からの照会に応じて、その照
会時の前記回路情報の識別子で示される回路情報の前記
付加情報部が参照識別子含む場合には、その参照識別子
を前記編集手段に返し、前記編集手段は、前記記憶手段
から入手した前記参照識別子を用いて、前記記憶手段か
ら前記他の回路情報を取得することを特徴とする。
【0048】第6の発明の情報処理システムは、第5の
発明において、前記記憶手段に記憶されている前記回路
情報の回路データ部は、前記プログラマブル論理回路の
コンフィギュレーションメモリのアドレスと、そのアド
レスに格納される回路データとの対で記述され、前記回
路情報の一部または全部が他の回路情報で構成される場
合には、前記参照識別子が、前記回路情報において前記
他の回路情報を参照する位置に対応するアドレスの回路
データとして記述されていることを特徴とする。
【0049】第7の発明の情報システムは、第6の発明
において、前記編集手段においては、前記参照識別子に
対応する前記他の回路情報は、前記指定情報により指定
された回路の回路情報の回路データとして前記参照識別
子が記述されたアドレスを、当該参照識別子に対応する
前記他の回路情報の回路データ部の全てのアドレスに加
えて、前記参照識別子が記述された回路情報に結合する
ことを特徴とする。
【0050】
【作用】第1の発明の情報処理システムにおいては、ア
プリケーションプログラムの実行時に、当該アプリケー
ションプログラムにより、処理手段のプログラマブル論
理回路で処理を実行させるために、当該プログラマブル
論理回路に構成する回路を特定するための情報が取得手
段に送られる。取得手段は、この情報を、回路情報の指
定情報として編集手段に渡す。編集手段は、この指定情
報を記憶手段に送る。
【0051】すると、記憶手段は、指定情報で指定され
る回路情報を編集手段に返す。編集手段は、これを受け
取り、指定された回路情報を生成するために、記憶手段
の他の回路情報も必要と判断すると、当該他の回路情報
も記憶手段から取得するようにする。そして、編集手段
は、記憶手段から取得した複数個の回路情報から、指定
された回路情報を生成し、それを指定情報により要求さ
れた情報として取得手段に返す。取得手段は、編集手段
から取得した回路情報を処理手段のプログラマブル論理
回路に再構成する。
【0052】処理手段は、このプログラマブル論理回路
に再構成された回路を用いてアプリケーションプログラ
ムにより指示された処理を実行することができる。
【0053】以上のようにして、この第1の発明の情報
処理システムにおいては、アプリケーションプログラム
の実行時に、取得手段に指定情報を渡すと、この取得手
段からの要求に応じて、編集手段が処理手段のプログラ
マブル論理回路に構成すべき回路情報を自動的に生成し
て取得手段に返し、取得手段がプログラマブル論理回路
に回路情報を再構成するように動作するので、予め回路
情報をアプリケーションプログラム内などに格納してお
く必要はない。
【0054】また、第2の発明の情報処理システムにお
いては、記憶手段を構成する部分と、編集手段を構成す
る部分と、取得手段および処理手段を構成する部分と
が、ネットワークを介して接続されており、一つの情報
処理装置内に編集手段や記憶手段を持つ必要がない。こ
のため、取得手段および処理手段とアプリケーションプ
ログラムで動作する情報処理装置から見ると、指定情報
をネットワークを通じて送出すると、その指定情報に対
応した回路情報が自動的に送られてくるシステムの構造
となり、記憶手段部分、編集手段部分、取得手段および
処理手段の部分の構成は、それぞれ任意にできる。
【0055】また、第3の発明の情報処理システムにお
いては、記憶手段に記憶される回路情報の構造は、他の
回路を参照しない回路データの構成の回路情報を最下層
の回路情報として、いわゆるツリー構造となる。
【0056】すなわち、各回路情報は、自己の識別子と
して例えば回路名を備える。そして、各回路情報は、そ
の一部または全部を他の回路情報で構成する場合には、
回路データとして、当該他の回路情報の識別子を参照識
別子として備える。参照識別子は、他の回路情報の回路
名を用いることができる。参照識別子で示される他の回
路情報も、その一部または全部を他の回路情報で構成す
ることができる。そして、最下層の回路情報は、参照識
別子を回路データに持たない構造となる。
【0057】編集手段は、指定情報で指定された回路情
報が、その一部を他の回路情報で構成される場合には、
当該指定された回路情報と、それに含まれる参照識別子
で示される他の回路情報とを記憶手段から取得して結合
し、指定された回路情報を生成する。また、指定された
回路情報の全部が他の回路情報で構成される場合には、
参照識別子で示される他の回路情報のすべてを記憶手段
から取得して結合し、指定された回路情報を生成する。
【0058】この場合に、編集手段が、指定された回路
情報の参照識別子を知る方法としては、記憶手段が教え
る方法と、編集手段が記憶手段から得た、指定された回
路情報から知る方法の2通りがあり、この第3の発明で
は、そのどちらでもよい。
【0059】第4の発明は、編集手段において、指定さ
れた回路情報の参照識別子を知る方法に関するものであ
る。この第4の発明では、編集手段は、取得手段から渡
された指定情報で示される回路情報の識別子により記憶
手段に回路情報の照会を行う。記憶手段は、編集手段か
ら回路情報の識別子を受け取ると、その回路情報を編集
手段に返すとともに、その識別子で示される回路情報が
参照識別子を含む場合には、その参照識別子を編集手段
に返す。
【0060】編集手段は、受け取った参照識別子を再び
記憶手段に送る。記憶手段は、その参照識別子で示され
る回路情報を編集手段に返すとともに、さらに参照識別
子を含む場合には、その参照識別子を編集手段に返す。
【0061】編集手段は、さらに参照識別子を受け取っ
た場合には、上述の動作を繰り返して、指定された回路
の回路情報を生成するのに必要なすべての回路情報を記
憶手段から取得する。
【0062】第5の発明は、記憶手段に記憶される回路
情報のデータ構造に関するもので、このデータ構造にす
ることにより、編集手段と記憶手段との間での前記回路
情報の識別子と回路情報とのやり取りを迅速に行えるよ
うにしている。
【0063】すなわち、回路情報は、回路データ部と、
その付加情報部とからなり、付加情報部は、自己の回路
情報の識別子を含むとともに、当該回路情報の一部また
は全部を他の回路情報で構成する場合には、当該他の回
路情報の識別子を参照識別子として含む。また、回路デ
ータ部は、プログラマブル論理回路に回路を構成するた
めのデータ部分であって、当該回路情報の一部または全
部を他の回路情報で構成する場合には、その回路情報の
一部または全部の回路データは、参照識別子を用いて記
述したものとされる。
【0064】記憶手段は、編集手段から回路情報の識別
子による照会があると、それに応じて、その照会時の識
別子で示される回路情報の付加情報部が含む参照識別子
を編集手段に返す。編集手段は、記憶手段から入手した
この参照識別子を記憶手段に送って回路情報を再び照会
し、記憶手段から参照識別子で示される回路情報を取得
する。
【0065】この第5の発明によれば、編集手段は、回
路情報を解析して、指定された回路情報を構成する他の
回路情報の参照識別子を見い出す必要はなく、編集手段
は、迅速に記憶手段から必要な回路情報の取得を行え
る。
【0066】また、第6の発明においては、回路情報の
回路データ部は、プログラマブル論理回路のコンフィギ
ュレーションメモリのアドレスと、そのアドレスに格納
される回路データとの対で記述されているとともに、回
路情報の一部または全部が他の回路情報で構成される場
合には、参照識別子が、回路情報において他の回路情報
を参照する位置に対応するアドレスの回路データとして
記述されている。
【0067】したがって、編集手段は、回路データ部の
データ内容に従って、参照識別子で示される回路情報を
割り付けることにより、指定情報で指定された回路の回
路情報を、迅速に組み立てることができる。
【0068】第7の発明は、編集手段における参照識別
子で示される回路情報の、指定情報で示される回路情報
への具体的な結合方法に関するもので、この第7の発明
においては、回路情報の回路データ部の参照識別子が記
述されたアドレスを、当該参照識別子に対応する他の回
路情報の回路データ部の全てのアドレスに加えて、その
参照識別子が記述された回路情報に結合する。
【0069】このように、第7の発明によれば、単に、
アドレスにオフセットを付加するだけで、参照識別子で
示される回路情報を、その参照識別子が記述された回路
情報に結合することができ、配置配線の演算時間がほと
んど不要になる。このため、編集手段では、短時間で回
路情報を生成することができる。
【0070】
【発明の実施の形態】以下、この発明による情報処理シ
ステム、回路情報管理方法、回路情報記憶装置の実施の
形態を、図を参照しながら説明する。
【0071】[第1の実施の形態] [情報処理システム全体の構成の概要]この発明によ
る、少なくとも処理の一部分が、回路構成を再構成でき
るプログラマブル論理回路を保有する処理手段で処理さ
れる情報処理システムの第1の実施の形態の主要な概念
構成を図1に示す。
【0072】この場合の情報処理システムは、情報処理
部100と、記憶部200と、編集部300とからな
る。これら情報処理部100と、記憶部200と、編集
部300とは、一つの情報処理装置内に構成されること
もできるし、それぞれ別々の装置として、互いにネット
ワークを介して接続するようにして構成することもでき
る。
【0073】また、記憶部200と編集部300とを一
つのコンピュータシステムにより構成し、これと、コン
ピュータシステムからなる情報処理部100とをネット
ワークを通じて接続して、情報処理システムを構成する
ようにすることもできる。
【0074】以下に説明する例では、これら情報処理部
100、記憶部200、編集部300は、それぞれ別々
の装置として、互いにネットワークを介して接続する場
合として説明する。
【0075】情報処理部100においては、アプリケー
ションプログラム101は、実行しようとする一連の処
理を複数個の処理に分割し、分割した処理をCPU10
2またはプログラマブル論理回路を保有するハードウエ
ア処理部103で実行する。アプリケーションプログラ
ム101には、CPU102で行う処理は、CPU10
2の命令コードで記述され、また、ハードウエア処理部
103で行う処理は、これが保有するプログラマブル論
理回路104に構成する回路名と、その回路を構成要素
の一部として構成されたハードウエア処理部103の制
御コードで記述されている。
【0076】ハードウエア処理部103は、処理手段を
構成するもので、プログラマブル論理回路104とし
て、この例ではFPGAタイプのプログラマブル論理回
路を保有し、このプログラマブル論理回路104に構成
された回路を利用して処理を行う。
【0077】取得手段を構成する回路情報取得部105
は、アプリケーションプログラム101からのハードウ
エア処理部103のプログラマブル論理回路104に構
成する回路の要求を受けて、その回路を構成するための
回路情報を編集部300に要求し、その要求した回路情
報を編集部300から取得する。後で説明するように、
回路情報はヘッダ部とコード部(回路データ部)で構成
されている。
【0078】また、回路情報取得部105は、取得した
回路情報のコード部に記述されている回路データを、ハ
ードウエア処理部103にロードして、そのプログラマ
ブル論理回路104に回路を構成する。さらに、回路情
報取得部105は、回路情報のヘッダ部に記述されてい
る入出力ポート情報をアプリケーションプログラム10
1に提供する。
【0079】アプリケーションプログラム101は、こ
の回路情報取得部105からの入出力ポート情報に基づ
いて、ハードウエア処理部103のプログラマブル論理
回路104に構成された回路に、データを入出力する。
【0080】記憶部200は、プログラマブル論理回路
104の回路を構成する複数の回路情報を格納する。後
述するように、この場合、回路情報は、他の回路情報を
参照することにより、記述することができる、いわゆる
ツリーデータ構造によって記憶部200に記憶すること
ができるようにされており、これにより、過去に生成さ
れた回路情報資源を有効に活用することができるととも
に、記憶部200の記憶素子の記憶容量の削減を図って
いる。
【0081】この記憶部200は、この例の場合には、
後述するように、情報処理部100に接続されるネット
ワーク上のコンピュータシステムに設けるが、情報処理
部100と一体のコンピュータシステム内に設けてもよ
い。
【0082】編集部300は、情報処理部100の回路
情報取得部105から要求された回路の回路情報を生成
するのに必要な回路情報を、記憶部200から取得す
る。そして、必要に応じて、取得した回路情報を編集し
て、プログラマブル論理回路104に再構成する回路の
回路情報を生成し、回路情報取得部105に提供する。
【0083】後で詳細に説明するように、回路情報は他
の回路情報を参照することができるデータ構造であるの
で、編集部300は、記憶部200に要求する回路情報
を照会して参照関係を解決する参照解決処理と、参照解
決処理の結果に基づいて、回路情報を編集する再配置処
理を行う。
【0084】この編集部300は、この例の場合には、
後述するように、情報処理部100に接続されるネット
ワーク上のコンピュータシステムに設けるが、情報処理
部100と一体のコンピュータシステム内に設けてもよ
い。
【0085】[記憶部200に記憶される回路情報の構
造]記憶部200が格納する回路情報201は、図2に
示すように、付加情報部であるヘッダ部202と、回路
データ部であるコード部203からなる。ヘッダ部20
2には、回路名情報204と、入出力ポート情報205
とが記述される。
【0086】回路名情報204には、自己の回路情報の
識別子IDとして、この例では、当該回路情報201が
プログラマブル論理回路104に構成する回路名(以
下、自回路名と呼ぶ)が記述されている。この自己の回
路情報の識別子IDとしての自回路名は、その回路情報
201に付けられた名前でもある。この例では、アプリ
ケーションプログラム101は、後述するように、プロ
グラマブル論理回路104に構成する回路の指定情報と
して、この回路情報の識別子IDとしての自回路名を用
いる。
【0087】自回路名に加えて、ヘッダ部202の回路
名情報204には、その回路情報201が参照する他の
回路情報を特定するための参照識別子refIDとし
て、その参照する回路情報の回路名(以下、参照回路名
と呼ぶ)も記述される。自己の回路情報の識別子IDと
してヘッダ部202に記述される自回路名はひとつであ
るが、参照回路名は、参照する回路情報の数に応じて、
複数の参照回路名がヘッダ部202に記述されることも
ある。
【0088】ヘッダ部202の入出力ポート情報205
は、回路名情報204の記述の後に記述される。この入
出力ポート情報205は、回路に対する信号の流れの方
向に応じて、入力(IN)、出力(OUT)または双方
向(IN/OUT)から選ばれるポートの種類206、
論理セル(後に説明する)を単位にしたポートの位置座
標(X,Y)207、およびポートのデータ幅(ビット
数)208で構成される。
【0089】コード部203は、アドレスADRとデー
タDTの対の集まりで構成される。アドレスADRは、
プログラマブル論理回路104を構成する論理セルや配
線の状態を決定するコンフィギュレーションメモリ(後
に説明する)のアドレスである。データDTは、書き込
まれたコンフィギュレーションメモリのアドレスに対応
する論理セルや配線の状態を決める。
【0090】記憶部200に格納されている各回路情報
201のコード部203のアドレスは、ある特定のアド
レス(例えば16ビットアドレスであれば0x0000
など:Oxは16進表示を意味している。以下同じ)か
ら開始する。後述するように、このアドレスに一定の値
を加えてオフセットすることで、コード部のアドレス
は、ハードウエア処理部103のプログラマブル論理回
路104上に実際に構成する回路位置に対応したアドレ
スに変換される。
【0091】ヘッダ部202の回路名情報204に、参
照回路名が記述されている場合には、その参照回路名で
示される回路情報が、その参照回路名が記述されている
回路情報で構成される回路において、どのように結合さ
れるかを決める参照回路情報がコード部203に記述さ
れる。
【0092】参照回路情報は、アドレス(参照アドレス
と呼ぶ)と参照回路名の対として参照元の回路情報のコ
ード部に記述される。例えば、図2の例のアドレスiと
参照回路名pや、アドレスkと参照回路名qなどのよう
に記述される。後述もするように、編集部300は、参
照回路名により参照された回路情報のコード部の開始ア
ドレスに、参照回路情報の参照アドレスを加えてオフセ
ットした回路データを、参照元の回路情報のコード部に
結合することにより、参照回路を参照元回路に結合す
る。
【0093】また、後で説明するように、アドレスAD
Rと論理セルは一定の対応関係があるので、編集部30
0は、参照アドレスから参照回路の入出力ポート位置の
オフセット座標を算出して、参照回路の入出力ポート位
置座標にオフセット座標を加えてオフセットした参照回
路の入出力ポート情報を、参照元回路の回路情報のヘッ
ダ部に結合する。
【0094】他の回路情報を用いない回路情報は、ヘッ
ダ部202に参照回路名を持たない。基本回路モジュー
ルのような最小単位の回路情報は、ヘッダ部202に参
照回路名を持たない回路情報である。参照回路名により
参照される他の回路情報が、そのヘッダ部202に参照
回路名を持つ場合もある。このような多層構造のツリー
構造の場合には、編集部300では、最下層の回路情報
から順次に回路情報を結合することにより、取得部10
5から指定された回路名の回路情報を生成するようにす
る。
【0095】[情報処理システムのハードウエア構成]
図3は、この実施の形態の情報処理システムのハードウ
エア構成例を示すブロック図である。この実施の形態の
情報処理システムにおいて、情報処理部100は、CP
U111のホストバス111Bに、チップセット112
に含まれるメモリコントローラ(図示せず)を介して、
例えばDRAMで構成されるメインメモリ113が接続
される。
【0096】ホストバス111Bは、また、チップセッ
ト112に含まれるホスト−PCIバスブリッジ(図示
せず)を介して、PCIバス114に接続される。PC
Iバス114には、プログラマブル論理回路インターフ
ェース115を介してプログラマブル論理回路116
と、ハードディスクインターフェース117を介してハ
ードディスクドライブ118と、通信インターフェース
119とが接続される。プログラマブル論理回路116
は、図1のハードウエア処理部103のプログラマブル
論理回路104に相当する。
【0097】通信インターフェース119は、LANや
インターネットなどのネットワーク400を介して、複
数個のコンピュータシステム500に接続される。コン
ピュータシステム500は、少なくとも、CPU(図示
せず)、メインメモリ(図示せず)、およびハードディ
スクドライブ(図示せず)などの記憶装置を保有する。
【0098】ハードディスクドライブ118により読み
書きされるハードディスクには、アプリケーションプロ
グラム(図示せず)が格納されている。アプリケーショ
ンプログラムは、ハードディスクインターフェース11
7、PCIバス114およびチップセット112に含ま
れるホスト−PCIブリッジ(図示せず)を介して、ハ
ードディスクドライブ118からメインメモリ113に
ロードされてCPU111によって実行される。
【0099】また、アプリケーションプログラムは、ネ
ットワーク400に接続されるいずれかのコンピュータ
システム500の記憶装置(図示せず)に格納されてい
る場合もある。この場合は、情報処理部100が、アプ
リケーションプログラムを、ネットワーク400に接続
されるコンピュータシステム500から、通信インター
フェース119を介してメインメモリ113に取得して
実行する。
【0100】ネットワーク400に接続されるいずれか
のコンピュータシステム500の記憶装置(図示せず)
は、回路情報を格納して、図1の記憶部200を構成す
る。また、情報処理部100のハードディスクドライブ
118が、回路情報を格納して、図1の記憶部200を
構成することもある。
【0101】コンピュータシステム500が、図1の記
憶部200として格納する回路情報を検索したり、ネッ
トワーク400を介して他のコンピュータシステム50
0へ転送する機能は、コンピュータシステム500の機
能のひとつとしてソフトウエア的に実装される。
【0102】図1の編集部300は、ネットワーク40
0に接続されるいずれかのコンピュータシステム500
の機能のひとつとして、ソフトウエア的に実装される。
図1の編集部300を構成するコンピュータシステム5
00と、図1の記憶部200を構成するコンピュータシ
ステム500は、同じコンピュータシステムであっても
よいし、別のコンピュータシステムであってもよい。
【0103】図1の編集部300を構成するコンピュー
タシステム500と、図1の記憶部200を構成するコ
ンピュータシステム500が、別のコンピュータシステ
ムである場合は、ネットワーク400を介して互いに通
信する。
【0104】情報処理部100の図1の回路情報取得部
105は、通信インターフェース119を介してネット
ワーク400に接続されたいずれかのコンピュータシス
テムで構成される編集部300と通信する機能と、PC
Iバス114に接続されたプログラマブル論理回路イン
ターフェース115を介してプログラマブル論理回路1
16に回路データをロードする機能とを含んだ機能とし
て、ソフトウエア的に情報処理部100に実装される。
【0105】このように、回路情報取得部105は、情
報処理部100にソフトウエア的に実装されるので、情
報処理部100で実行されるアプリケーションプログラ
ムと通信することができる。
【0106】図1のハードウエア処理部103は、プロ
グラマブル論理回路インターフェース115とプログラ
マブル論理回路116とで構成される。ハードウエア処
理部103は、PCIバス114に接続されたプログラ
マブル論理回路インターフェース115を介して、CP
U111で実行されるアプリケーションプログラムと通
信する機能を持つ。
【0107】[FPGAタイプのプログラマブル論理回
路の説明]前述したように、この実施の形態において
は、FPGAタイプのプログラマブル論理回路を、プロ
グラマブル論理回路116(図1のプログラマブル論理
回路104)を用いる。このFPGAタイプのプログラ
マブル論理回路50の平面構造を図4に、内部構造のブ
ロック図を図5に示す。
【0108】このプログラマブル論理回路50は、回路
情報を格納するためのコンフィギュレーションメモリ6
1と、論理セル51や配線領域52からなる回路素子6
2と、入出力端子53とで構成される。
【0109】コンフィギュレーションメモリ61は、E
EPROM、SRAMなどの書き換え可能なメモリ素子
で構成されている。回路データは、アドレスADRとデ
ータDTの対で構成される。コンフィギュレーションメ
モリ61にアドレスADRを与えて、そのアドレスAD
Rに対応するメモリセルに、アドレスADRと対になっ
たデータDTが格納されると、このデータDTに従っ
て、論理セル51内の回路構成や、論理セル51と入出
力端子53を相互に接続する配線領域52の接続状態が
再構成される。コンフィギュレーションメモリ61の一
部分を書き換えることにより、プログラマブル論理回路
50が動作中であっても、回路を部分的に再構成するこ
とができる。
【0110】プログラマブル論理回路50に再構成され
た回路素子62に、入出力端子53を介して、処理すべ
きデータが入力され、また、その処理結果が出力され
る。データ入力先の論理セルと、データ出力元の論理セ
ルを、論理セルの位置に対応するセル座標を示した制御
コードによって、アプリケーションプログラム(図1の
例では、アプリケーションプログラム101)が指定す
る。
【0111】[情報処理システムでの処理動作の説明]
以上のように構成される情報処理システムの処理動作
を、図1の構成図と、図6、図7、図8に示したフロー
チャートを用いて説明する。
【0112】情報処理装置(図示せず)で起動したアプ
リケーションプログラム101は、一連の処理をCPU
102またはハードウエア処理部103のプログラマブ
ル論理回路104で実行する。アプリケーションプログ
ラム101からCPU102への処理の指示は、通常の
計算機を用いた処理と同じ手順で行われる。
【0113】以下の説明は、アプリケーションプログラ
ム101が処理を実行するために必要な回路を、プログ
ラマブル論理回路104に構成する場合である。すなわ
ち、情報処理システムが、プログラマブル論理回路10
4に構成することができる回路情報を生成し、その回路
情報に基づいて、ハードウエア処理部103のプログラ
マブル論理回路104に回路を構成し、その構成された
回路を用いて処理を行う手順を示すものである。
【0114】(回路情報要求)図6のフローチャートに
示すように、情報処理装置(図示せず)で起動したアプ
リケーションプログラム101が、ハードウエア処理部
103で実行する処理に必要な回路の指定情報を取得手
段に指示する(ステップS101)。この例では、回路
の指定情報としては、その回路名(自回路名)が用いら
れる。
【0115】アプリケーションプログラムから、回路の
指定情報としての回路名を受け取った回路情報取得部1
05は、その回路名を編集部300へ伝え、ハードウエ
ア処理部103が必要とする回路を構成することができ
る回路情報の編集を編集部300へ指示する(ステップ
S102)。
【0116】(参照解決処理)編集部300は、取得部
105から受け取った回路名を記憶部200に渡して、
照会することにより、その回路名の回路情報を取得する
が、上述したように、この例の場合には、その回路名で
指定される回路情報が、他の回路情報を参照するもので
ある場合があることから、その参照回路名を知るための
処理として参照解決の処理が行われる(ステップS10
3)。
【0117】この参照解決の処理手順を図7A,Bのフ
ローチャートを参照して説明する。図7Aは、この参照
解決処理として編集部300で実行される処理のフロー
チャートであり、図7Bは、参照解決処理として記憶部
200で実行される処理のフローチャートである。
【0118】まず、図7Aに示すように、編集部300
は、取得部105から得た回路名を記憶部200に問い
合わせる(ステップS111)。
【0119】図7Bに示すように、記憶部200は、こ
の編集部300からの回路名の照会が有ったことを検知
すると(ステップS121)、その回路名を取得し(ス
テップS122)、その回路名に対応する回路情報20
1のヘッダ部202を調べて、参照回路が有るか否かを
参照回路名が記述されているか否かにより判別する(ス
テップS123)。そして、参照回路名が記述されてい
る場合は、ヘッダ部202に記述されている参照回路名
を編集部300に答える(ステップS124)。
【0120】編集部300は、記憶部200に照会した
回路名に参照回路があるか否かを記憶部200からの参
照回路名の返答があるかないかにより判別し(ステップ
S112)、参照回路名の返送があれば、それを取得し
て一時保持する(ステップS113)。
【0121】編集部300は、記憶部200から受け取
った参照回路名に対応する回路がさらに参照している参
照回路名を知るために、受け取った参照回路名を再び記
憶部200に問い合わせる(ステップS114およびス
テップS111)。
【0122】記憶部200は、編集部300からの参照
回路名による更なる回路名の照会があったことを検出す
ると(ステップS125)、ステップS122以降を繰
り返し、その参照回路名の回路情報について、参照回路
がある場合には、その参照回路名を再び返す。編集部3
00は、ステップS113でこの参照回路名を取得保持
する。
【0123】そして、編集部300は、取得部105と
記憶部200から受け取った全ての回路名に対し、参照
回路がなくなるまで、ステップS112以降の前記手順
を繰り返して、回路が参照する参照回路名をすべて知っ
たら、この参照解決の処理を終了する。同様に、記憶部
200は、編集部300からの回路名の照会がなくなっ
たら、この参照解決の処理を終了する。
【0124】こうして、回路情報取得部105が編集部
300に要求した回路名の回路を構成するために必要な
全ての回路名を、編集部300が入手することができ
る。
【0125】(再配置処理)次に、図6に示すように、
編集部300は、上述の参照解決の処理で得られた回路
名に対応する回路情報を結合して、回路情報取得部10
5が編集部300に要求した回路名の回路情報を生成す
るために、再配置の処理を行う(ステップS104)。
再配置の処理の手順を図8に示す。
【0126】編集部300は、回路情報取得部105か
ら受け取った回路(参照元回路)の回路情報と、その参
照元回路が参照する参照回路の回路情報を記憶部200
に要求する(ステップS131)。記憶部200は、要
求された回路名の回路情報を編集部300に提供する
(ステップS132)。なお、参照元回路の回路情報
は、参照解決の最初の回路名の照会の際に、記憶部20
0から取得するようにしてもよい。
【0127】編集部300は、受け取った参照回路の回
路データのアドレスに、参照元回路の参照アドレスを加
えてオフセットして、参照元の回路情報のコード部に結
合する(ステップS133)。この処理については、具
体例を挙げて後で詳述する。また、編集部300は、参
照アドレスから参照回路の入出力ポート位置のオフセッ
トセル座標を算出して、参照回路の入出力ポート位置座
標にオフセットセル座標を加えて、参照元回路の回路情
報のヘッダ部に結合する(ステップS134)。この処
理についても、具体例について後で詳述する。
【0128】編集部300は、全ての回路名に対して前
記の手順を行うまで手順を繰り返す(ステップS13
5)。
【0129】以上のようにして再配置の処理が終わる
と、図6に示すように、編集部300は、生成した回路
情報を、回路情報取得部105へ提供する(ステップS
105)。
【0130】(ロード)回路情報取得部105は、編集
部300から入手した回路情報のコード部に記述されて
いる回路データを、ハードウエア処理部103にロード
して、プログラマブル論理回路104に回路を再構成し
(ステップS106)、ヘッダ部に記述されている入出
力ポート情報を、アプリケーションプログラム101に
提供する(ステップS107)。
【0131】(アプリケーションによる処理)ハードウ
エア処理部103は、入出力ポート情報に基づいたアプ
リケーションプログラム101からの制御コードに従っ
て、プログラマブル論理回路104に再構成された回路
とデータの入出力を行い、プログラマブル論理回路10
4に再構成された回路を用いた情報処理を行う(ステッ
プS108)。
【0132】[情報処理システムによる処理の実施例:
シャープネス処理]次に、第1の実施の形態の情報処理
システムを、画像処理に適用した、より詳細な実施例に
ついて説明する。この実施例では、階調変換処理、ノイ
ズ除去処理およびエッジ検出処理の三種類の処理を、次
に説明する三種類の画像フィルタを用いて画像データに
行うことにより不鮮明な画像を鮮明にするシャープネス
処理を示す。始めに、画像フィルタについて説明する。
【0133】[フィルタの説明]画像処理のひとつであ
る空間フィルタ処理は、単位画素から構成される画像フ
ァイルの単一もしくは複数画素に対して演算を行う。こ
れは、ある画素(データxl,m )の近傍の画素(データ
l,m )に、マスクデータfilterl,m を掛けて足し合わ
せ、係数Nを乗じたものを処理後の画素値xl,m として
得る処理として、次の式(1)のように表すことができ
る。ここで、マスクデータfilterl,m や係数Nの値を変
えることにより、空間フィルタは様々な処理を実行する
ことが可能である。
【0134】
【数1】
【0135】(ノイズ除去Gaussianフィルタ)図9は、
画像にガウス分布の平滑化処理を施してノイズ除去を行
うGaussianフィルタと呼ばれる画像フィルタの
マスクデータの例である。中心画素のデータxl,m およ
びその近傍の3×3画素内にある8画素のデータpl,m
に、マスクデータの係数filterl,m を掛けて足し合わ
せ、係数N(=1/16)を乗じて中心画素のデータと
置き換える。このフィルタ処理を施すことにより、画像
のノイズを除去することができる。
【0136】図10は、図9のGaussianフィル
タ処理を実現する回路(回路名Gauss)の回路構成
の例を示すものである。図中に破線で示した格子は、プ
ログラマブル論理回路の論理セルを示す。この実施例で
は、1画素当りのデータが8ビットの画像データを処理
する。また、用いるプログラマブル論理回路の論理セル
は、入出力とも8ビットの信号線を持つ。よって、以下
に示す8ビットのレジスタは、ひとつの論理セルで実現
され、8ビットの2入力加算器はふたつの論理セルで実
現される。
【0137】図10において、元の画像ファイルからフ
ィルタ処理を行うマスク領域のうち、p[l-1][m-1],p
[l][m-1],p[l+1][m-1]の3画素分のデータを、1画素
当たり8ビットのデータとして、回路に転送する。
【0138】転送された3画素分のデータは、回路の入
力ポートGaussIn0、GaussIn1、Gau
ssIn2にそれぞれ入力され、最初のクロックでレジ
スタ601,602,603に入力される。入力された
データはレジスタの出力D1、D2、D3とされ、これ
らの出力D1、D2、D3が、それぞれレジスタ61
1、612、613および加算器621、622、62
3に入力される。
【0139】そして、次のクロックで、p[l-1][m],p
[l][m],p[l+1][m]の3画素分のデータが、同様にして
出力D1,D2,D3に現れる。この時点で、加算器6
21,622,623の出力A1,A2,A3は、それ
ぞれ、 A1=p[l-1][m-1]+p[l-1][m] A2=p[l][m-1]+p[l][m] A3=p[l+1][m-1]+p[l+1][m] となる。
【0140】この加算器621、622、623の出力
は、同時にレジスタ631,632,633および加算
器641、642、643に入力されている。
【0141】そして、その次のクロックで、p[l-1][m+
1],p[l][m+1],p[l+1][m+1]の3画素分のデータが、
同様にして、出力D1,D2,D3に現れる。
【0142】このとき、加算器621,622,623
の出力A1、A2、A3は、それぞれ、 A1=p[l-1][m]+p[l-1][m+1] A2=p[l][m]+p[l][m+1] A3=p[l+1][m]+p[l+1][m+1] であり、また、加算器641,642,643の出力A
4、A5、A6は、それぞれ、 A4=p[l-1][m-1]+p[l-1][m]×2+p[l-1][m+1] A5=p[l][m-1]+p[l][m]×2+p[l][m+1] A6=p[l+1][m-1]+p[l+1][m]×2+p[l+1][m+1] となる。
【0143】ここで、シフタ651は、加算器642の
出力A5を上位に1ビットシフトして接続し、最下位ビ
ットには常に0を入力することで、加算器642の出力
A5が2倍されて、シフタ651の出力A7とされる。
【0144】次に、加算器652,653により、加算
器641、643の出力A4、A6と、シフタ651の
出力A7との総和をとる。シフタ654は、加算器65
3の出力A9を下位に4ビットシフトして5ビット目が
最下位になるように接続することで、1/16の演算が
実行され、その結果が出力ポートGaussOut0に
出力される。以上で、単位マスク領域でのGaussi
anフィルタ処理が終了する。以降この処理を繰り返す
ことで、画像全体の処理が施される。
【0145】(エッジ検出Laplacianフィル
タ)図11は、2次微分によりエッジを検出するLap
lacianフィルタと呼ばれる画像フィルタのマスク
データの例である。このフィルタ処理を施すことによ
り、画像の輪郭検出を行うことができる。
【0146】図12は、図11のLaplacianフ
ィルタ処理を実現する回路(回路名Laplace)の
回路構成の一例である。まず、元の画像ファイルからフ
ィルタ処理を行うマスク領域のうち、p[l][m],p[l-
1][m],p[l][m-1],p[l][m+1],p[l+1][m]の5画素
分のデータを、1画素あたり8ビットデータとして、回
路に転送する。
【0147】転送された5画素分のデータは、回路の入
力ポートLaplaceIn0、LaplaceIn
1、LaplaceIn2、LaplaceIn3、L
aplaceIn4にそれぞれ入力され、最初のクロッ
クでレジスタ661、662、663、664、665
に入力される。入力されたデータはレジスタの出力D
4、D5、D6、D7、D8とされ、出力D4とD5が
加算器671に入力され、出力D6とD7が加算器67
2に入力される。そして、加算器671、672および
673による演算によって、加算器673の出力A13
は、 A13=p[l-1][m]+p[l][m-1]+p[l][m+1]+p[l+
1][m] となる。
【0148】一方、シフタ675はレジスタ665の出
力D8を上位に2ビットシフトして接続し、下位2ビッ
トは常に0を入力することで、シフタ675の出力A1
4は、 A14=4×p[l][m] となる。
【0149】そして、減算器674によりシフタ675
の出力A14から、加算器673の出力A13の減算が
行われ、この減算器674の出力A15は、 A15=4×p[l][m]−(p[l-1][m]+p[l][m-1]+p
[l][m+1]+p[l+1][m]) となり、結果が出力ポートLaplaceOut0に出
力される。以上で、単位マスク領域でのLaplaci
anフィルタ処理が終了する。以降この処理を繰り返す
ことで、画像全体の処理が施される。
【0150】(階調変換)図13は、画像の単一画素の
階調変換を行うフィルタを実現する回路(回路名Gam
ma)の回路例を示す。たとえば、図14のグラフに示
した入出力関係のガンマ変換を行うことで、画像の濃度
分布を変換してコントラストを補正することができる。
【0151】この例では、ルックアップテーブル(LU
T)方式を用いている。すなわち、入力ポートGamm
aIn0に対し、ルックアップテーブルLUTを参照し
て、図14のグラフに示した値に対応する値を出力ポー
トGammaOut0に出力する。
【0152】ルックアップテーブルLUTは、SRAM
やROMなどのメモリ回路でテーブルデータを、予め設
定することで実現することができる。また、図14のグ
ラフに従う入出力の真理値表を作成して、アンドゲー
ト、オアゲート、イクスクルーシブオアゲートなどのロ
ジックゲートで回路を構成することでルックアップテー
ブルLUTを実現することもできる。
【0153】この階調変換の動作は、元の画像データか
ら、画素データp[l][m]を、順次、入力データとして回
路に転送し、この入力データに対する出力データをルッ
クアップテーブルLUTを参照して求め、出力するもの
である。
【0154】(シャープネス処理の手順)シャープネス
処理を行うアプリケーションプログラムの処理手順を図
15のフローチャートに示す。アプリケーションプログ
ラムは、はじめに、画像のコントラストを上げてノイズ
を除去するために画像前処理を行う(ステップS20
1)。次に、画像前処理をした画像から、画像の輪郭を
抽出するためにエッジ検出処理を行う(ステップS20
2)。最後に、抽出されたエッジ画像データを、画像前
処理した画像データに加える(ステップS203)。
【0155】アプリケーションプログラム101は、画
像前処理とエッジ検出処理をハードウエア処理部103
で実行し、エッジ画像データの加算をCPU102で実
行する。
【0156】CPU102で実行される画像データの加
算は、通常のCPUを用いた情報処理手順で実行される
ので、ハードウエア処理部103で実行される画像前処
理とエッジ検出処理を、プログラマブル論理回路のアド
レスと回路情報との関係を示しながら、次に説明する。
【0157】[FPGAタイプのプログラマブル論理回
路のアドレス構成]この実施例で用いるFPGAタイプ
のプログラマブル論理回路は、列方向に32個を、ま
た、行方向に32個を、それぞれ配置した合計1024
個の論理セルで構成される。ひとつの論理セルは、64
アドレスのコンフィギュレーションメモリで設定され、
1アドレスのコンフィギュレーションメモリは8ビット
のデータを保持する。すなわち、ひとつの論理セルは、
64バイトの回路データで設定される。
【0158】図16にコンフィギュレーションメモリの
アドレス設定の方法を示す。プログラマブル論理回路の
セル座標は、左下を原点(0,0)として定義される。
ひとつの論理セルを設定するコンフィギュレーションメ
モリは、8×8のメモリ空間に対応し、プログラマブル
論理空間全体で256×256のメモリ空間を構成す
る。アドレスは、16ビットアドレスで「0x000
0」を開始アドレスとして、セル座標の原点(0,0)
から「0xFFFF」まで定義される。
【0159】このとき、アドレスとセル座標は次の関係
を持つ。すなわち、図16の表に示すように、16ビッ
トアドレスA[15:0]の上位8ビットA[15:
8]が、256×256のメモリ空間の列アドレスに、
下位8ビットA[7:0]が、当該メモリ空間の行アド
レスに、それぞれ対応する。
【0160】そして、16ビットアドレスA[15:
0]の5ビットA[15:11](8ビットの列アドレ
スの上位5ビット)が列セル座標に、3ビットA[1
0:8](8ビットの列アドレスの下位3ビット)が列
メモリ座標に、それぞれ対応する。また、16ビットア
ドレスA[15:0]の5ビットA[7:3](8ビッ
トの行アドレスの上位5ビット)が行セル座標に、3ビ
ットA[2:0](8ビットの行アドレスの下位3ビッ
ト)が行メモリ座標に、それぞれ対応する。この関係を
用いることにより、参照アドレスから入出力ポート情報
のオフセットセル座標を簡単に知ることができる。
【0161】(画像前処理)ハードウエア処理部103
で実行する画像前処理の手順を図17のフローチャート
に示す。
【0162】アプリケーションプログラム101は、回
路情報取得部105に、回路名「PreProcess
(前処理)」を伝えて、ハードウエア処理部103に、
前処理回路を構成するように指示する(前述の図6のス
テップS101および図17のステップS211)。
【0163】すると、前述したように、回路情報取得部
105は、回路名「PreProcess」を編集部3
00に伝え、編集部300は、図6、図7、図8に示し
た手順に従って参照解決処理と再配置処理を行い、記憶
部200に記憶されている回路情報を用いて、画像前処
理の回路の回路情報を生成する。
【0164】この例の場合、図18に示すように、回路
名「PreProcess」の回路情報には、参照回路
名「Gamma」および「Gauss」が、ヘッダ部に
記述されており、そして、コード部(データ部)には、
回路名「Gamma」を、アドレス「0x0000」、
「0x0010」、「0x0020」に、回路名「Ga
uss」を、アドレス「0x2000」に、それぞれ参
照するように記述されている。
【0165】このため、参照解決の処理(図6のステッ
プS103、図7参照)において、記憶部200は、編
集部300からの回路名「PreProcess」の照
会に対して、参照回路名「Gamma」と「Gaus
s」を返す。つぎに、編集部300は、回路名「Gam
ma」と「Gauss」を記憶部200に照会するが、
図18に示すように、この例の場合には、どちらの回路
も参照回路を持たないので、ここで、参照解決処理(ス
テップS103)が終了する。
【0166】編集部300において、再配置の処理(図
6のステップS104)では、回路名「Gamma」の
回路データのアドレスADRを、それぞれその参照アド
レス分である「0x0000」、「0x0010」、
「0x0020」だけオフセットして、参照元の回路名
「PreProcess」の回路データに結合する。ま
た、回路名「Gauss」の回路データを、その参照ア
ドレス分である「0x2000」だけオフセットして、
参照元の回路名「PreProcess」の回路データ
に結合する。
【0167】また、参照元回路である回路名「PreP
rocess」の回路データ部の、回路名「Gamm
a」の参照アドレス「0x0000」、「0x001
0」、「0x0020」は、それぞれセル座標(0、
0)、(0,2)、(0,4)に対応し、また、回路名
「Gauss」の参照アドレス「0x2000」は、セ
ル座標(4,0)に対応するので、回路名「Gamm
a」の入出力ポート座標を、(0,0)、(0,2)、
(0,4)だけオフセットし、また、回路名「Gaus
s」の入出力ポート座標を、(4,0)だけオフセット
して、参照元の回路名「PreProcess」の回路
の入出力ポート座標に結合する。
【0168】編集部300で、回路名「PreProc
ess」の回路の回路情報の生成が終わると、編集部3
00から回路情報取得部105へ、その回路情報が転送
される(図6のステップS106)。
【0169】回路情報取得部105は、転送されてきた
回路情報の回路データを、ハードウエア処理部103の
プログラマブル論理回路104にロードして、このプロ
グラマブル論理回路103に前処理回路を構成する(図
6のステップS106)。このとき、プログラマブル論
理回路104に構成された前処理回路の回路配置を図1
9に示す。
【0170】そして、回路情報取得部105は、また、
入出力ポート情報を、アプリケーションプログラム10
1に提供する(図6のステップS107および図17の
ステップS212)。
【0171】入出力ポート情報を受け取ったアプリケー
ションプログラム101は、その入出力ポート情報に基
づき、ハードウエア処理部103のプログラマブル論理
回路104に構成された画像前処理回路の入力ポートで
ある「GammaIn0(0,0)」、「GammaI
n1(0,2)」、および「GammaIn2(0,
4)へ画像データを送り(ステップS213)、また、
出力ポートである「GaussOut0(10,0)」
から前処理を行った画像データを受け取る(ステップS
214)。
【0172】このとき、図19に示すように、入出力ポ
ート情報における出力ポート「GammaOut0
(3,0)」、出力ポート「GammaOut1(3,
2)」、出力ポート「GammaOut2(3,4)」
は、入力ポート「GaussIn0(4,0)」、入力
ポート「GaussIn1(4,2)」、入力ポート
「GaussIn2(4,4)」と隣接しているので、
これらは内部接続されているポートであるとアプリケー
ションプログラム101が判断する。
【0173】よって、アプリケーションプログラム10
1は、「GammaIn0(0,0)」、「Gamma
In1(0,2)」、「GammaIn2(0,4)」
が回路「PreProcess」の入力ポートであり、
「GaussOut0(10,0)」が回路「PreP
rocess」の出力ポートであるとが判断する。
【0174】プログラマブル論理回路104に構成され
た画像前処理の回路の入力ポートへの画像データの入力
と、それに対応する出力ポートからの画像データの受け
取り処理を、全ての画像データについて行ったことを確
認すると(ステップS215)、この画像前処理の処理
が終了する。
【0175】(エッジ検出処理)つぎに、アプリケーシ
ョンプログラム101は、前処理を行った画像データに
エッジ検出処理を行う(図15のステップS202)。
ハードウエア処理部103で実行するエッジ検出処理の
手順を図20のフローチャートに示す。
【0176】アプリケーションプログラム101は、回
路情報取得部105に、回路名「Laplace」を伝
え、ハードウエア処理部103に、エッジ検出回路を構
成するように指示する(図6のステップS101および
図20のステップS221)。すると、前述したよう
に、回路情報取得部105は、回路名「Laplac
e」を編集部300に伝え、編集部300は、図6、図
7、図8に示した手順に従って参照解決処理と再配置処
理を行い、記憶部200に記憶されている回路情報を用
いて、エッジ検出回路の回路情報を生成する。
【0177】図18に示すように、この例の場合、回路
名「Laplace」の回路情報は参照回路名を持たな
い。よって、図6のステップS103の参照解決の処理
において、編集部300は、回路名「Laplace」
を記憶部200に照会するが、参照回路を持たないの
で、その時点で参照解決の処理が終了する。
【0178】図6のステップS104の再配置の処理で
は、回路名「Laplace」の回路情報は参照回路を
持たないので、回路データと入出力ポート情報のオフセ
ットを行う必要がなく、編集部300では、記憶部20
0から、回路名「Laplace」の回路情報を取得し
た時点で、再配置の処理を終了する。
【0179】こうして、回路名「Laplace」の回
路情報の生成が終わると、編集部300は、回路情報取
得部105へ回路情報を転送する(図6のステップS1
05)。回路情報取得部105は、転送されてきた回路
情報の回路データを、ハードウエア処理部103のプロ
グラマブル論理回路104にロードして、このプログラ
マブル論理回路104に、Laplace回路を構成す
る(図6のステップS106)。このとき、プログラマ
ブル論理回路104に構成されたLaplace回路の
回路配置を図21に示す。
【0180】この図21に示すように、Laplace
回路のアドレス空間は、点線で示す前処理回路のアドレ
ス空間と重なる部分を持つようになる。このため、La
palce回路を構成すると、前処理回路は動作しなく
なる。しかし、すでに、前処理回路を用いる処理は終了
しているので、問題はない。
【0181】そして、回路情報取得部105は、また、
入出力ポート情報を、アプリケーションプログラム10
1に提供する(図6のステップS107および図20の
ステップS222)。
【0182】入出力ポート情報を受け取ったアプリケー
ションプログラム101は、その入出力ポート情報に基
づき、ハードウエア処理部103のプログラマブル論理
回路104に構成された画像前処理回路の入力ポートで
ある「LaplaceIn0(0,0)」、「Lapl
aceIn1(0,2)」、「LaplaceIn2
(0,4)」、「LaplaceIn3(0,6)」、
「LaplaceIn4(0,8)」へ画像データを送
り(ステップS223)、また、出力ポートである「L
aplaceOut0(3,0)」からエッジ検出処理
を行った画像データを受け取る(ステップS224)。
【0183】プログラマブル論理回路104に構成され
たエッジ検出回路への入力ポートへの画像データの入力
と、それに対応する出力ポートからの画像データの受け
取り処理を、全ての画像データについて行ったことを確
認すると(ステップS225)、このエッジ検出処理が
終了する。
【0184】(エッジデータの加算)最後に、抽出され
たエッジ画像データを、CPU102の処理により前処
理した画像データに加えて、鮮明な画像を得て、シャー
プネス処理を終了する(図15のステップS203)。
【0185】[第2の実施の形態]以上説明した第1の
実施の形態は、FPGAタイプのプログラマブル論理回
路を用いた場合であるが、周期的に繰り返される論理セ
ルで構成されるFPGAと同じように、CPLD(Co
mplex Programble LogicDev
ice)も周期的に繰り返される機能ブロックで構成さ
れているので、このCPLDタイプのプログラマブル論
理回路でも、同様にこの発明を適用することが可能であ
る。
【0186】[CPLDタイプのプログラマブル論理回
路の説明]CPLDタイプのプログラマブル論理回路7
00の平面構造を図22に、内部構造のブロック図を図
23に、それぞれ示す。プログラマブル論理回路700
は、回路情報を格納するためのコンフィギュレーション
メモリ711と、機能ブロック701や、複数の配線で
構成される相互接続線702からなる回路素子712
と、入出力端子703とで構成される。
【0187】コンフィギュレーションメモリ711は、
EEPROM、SRAMなどの書き換え可能なメモリ素
子で構成されている。回路データは、アドレスとデータ
との対で構成される。コンフィギュレーションメモリ7
11にアドレスを与えて、そのアドレスに対応するメモ
リセルにアドレスと対になったデータが格納されると、
このデータに従って、機能ブロック701内の回路構成
や、機能ブロック701と入出力端子703を相互に接
続する相互接続線702の接続状態が再構成される。コ
ンフィギュレーションメモリ711の一部分を書き換え
ることにより、プログラマブル論理回路700が動作中
であっても、回路を部分的に再構成することができる。
【0188】プログラマブル論理回路700に再構成さ
れた回路素子712に、入出力端子703を介して、処
理すべきデータが入力され、また、その処理結果が出力
される。
【0189】後述するように、機能ブロック701は、
行方向の相互接続線702からデータを入力し、列方向
の相互接続線702へデータを出力する。よって、入力
データは、行方向の相互接続線702に繋がる入出力端
子703より入力され、マルチプレクサ705で指定さ
れる相互接続線702に入力される。また、出力データ
は、マルチプレクサ704で指定される列方向の相互接
続線702に繋がる入出力端子703から出力される。
データ入出力先の相互接続線702は、相互接続線のそ
れぞれの配線を示すチャネルを、制御コードによって、
アプリケーションプログラム101が指定する。
【0190】[機能ブロックの構造]機能ブロック70
1の構造を図24に示す。すなわち、機能ブロック70
1は、ANDアレイ801、セレクトマトリクス80
2、および16個のマクロセル803で構成される。機
能ブロック701のANDアレイ801には、行方向の
相互接続線702から32本の入力線が接続される。
【0191】また、各マクロセル803から、1本ずつ
の出力線がマルチプレクサ804で指定される列方向の
相互接続線702に接続されるとともに、各マクロセル
803からの出力がANDアレイ801にフィードバッ
クされるように構成されている。
【0192】ひとつのマクロセル803に対応する詳細
な機能ブロック701の構造を、図25に示す。
【0193】ひとつのマクロセル803に対応するAN
Dアレイ801は、行方向の相互接続線702からの入
力(32本)およびその反転入力(32本)と、マクロ
セル803からのフィードバック(16本)およびその
反転入力(16本)からなる列方向の配線と、各マクロ
セル803当り、5個のAND素子821〜825(セ
レクトマトリクス802に入力されるAND素子)の入
力線からなる行方向の配線によるマトリクス配線とで構
成される。
【0194】コンフィギュレーションメモリ711のデ
ータに従って、ANDアレイ801のマトリクス配線の
交点が接続されて、マクロセル803への入力が決ま
る。次に、セレクトマトリクス802は、コンフィギュ
レーションメモリ711のデータに従って、一つのマク
ロセルに対して配置されている5個のAND素子および
他のマクロセルに配置されているAND素子から選んだ
出力を、OR素子8031に入力する。OR素子803
1の出力はレジスタ8032で記憶される。このように
して、良く知られているAND−OR論理を構成する。
【0195】[機能ブロック間の接続]図24に示すよ
うに、機能ブロック701はマルチプレクサ805を介
して行方向の相互接続線702へ出力することも可能で
ある。行方向の相互接続線702に接続された機能ブロ
ック701の出力は、他の機能ブロック701の入力と
なることができる。
【0196】また、図22に示すように、行方向と列方
向の相互接続線702を接続するスイッチ706が、相
互接続線702の交差部に備えられることがある。この
スイッチ706を介して、列方向の相互接続線702へ
出力された機能ブロック701の出力を、行方向の相互
接続線702に接続することにより、機能ブロック70
1の出力を他の機能ブロック701の入力とすることが
できる。
【0197】以上のように、周期的に繰り返される論理
セルで構成されるFPGAと同じように、CPLDも周
期的に繰り返される機能ブロックで構成されているの
で、第1の実施の形態で示した手順を、ハードウエア処
理部103がCPLDタイプのプログラマブル論理回路
で構成される場合にも適用することができる。このこと
を、前述したシャープネス処理における画像前処理回路
を、CPLDタイプのプログラマブル論理回路に構成し
た場合の実施例として示す。
【0198】[フィルタ回路の構成]既に知られている
ように、FPGAタイプのプログラマブル論理回路に構
成することができる回路は、CPLDタイプのプログラ
マブル論理回路に構成することができる。この実施例の
場合は、Gaussianフィルタ処理を実現する回路
(回路名Gauss)は、6個の機能ブロックを用いて
構成することができ、階調変換を行うフィルタを実現す
る回路(回路名Gamma)は、1個の機能ブロックで
構成することができる。
【0199】このとき、機能ブロックの出力を、マルチ
プレクサ804を介して列方向の相互接続線702に出
力すると共に、マルチプレクサ805を介して行方向の
相互接続線702に出力するように回路を構成すること
が必要である。このように構成することにより、後で示
すように、オフセットして接続された回路は、接続した
回路が行方向の相互接続線702に出力した信号を、入
力として受け取ることができる。また、最終的な出力
は、列方向の相互接続線702を介してアプリケーショ
ンプログラムに受け渡される。
【0200】[CPLDタイプのプログラマブル論理回
路のアドレス構成]この実施例で用いるCPLDタイプ
のプログラマブル論理回路は、列方向に32個を、行方
向に32個を、それぞれ配置した合計1024個の機能
ブロックで構成される。ひとつの機能ブロックは、64
アドレスのコンフィギュレーションメモリで設定され、
1アドレスのコンフィギュレーションメモリは、8ビッ
トのデータを保持する。すなわち、ひとつの機能ブロッ
クは、64バイトの回路データで設定される。
【0201】コンフィギュレーションメモリのアドレス
設定の方法は、図16に示したFPGAタイプのプログ
ラマブル論理回路の場合と同じである。すなわち、プロ
グラマブル論理回路の機能ブロック座標は、左下を原点
(0,0)として定義される。ひとつの機能ブロックを
設定するコンフィギュレーションメモリは、8×8のメ
モリ空間に対応し、プログラマブル論理空間全体で25
6×256のメモリ空間を構成する。アドレスは、16
ビットアドレスで、「0x0000」を開始アドレスと
して、機能ブロックの原点(0,0)から、「0xFF
FF」まで定義される。
【0202】このとき、アドレスと機能ブロックは次の
関係を持つ。16ビットアドレスA[15:0]の上位
8ビットA[15:8]が、256×256のメモリ空
間の列アドレスに、下位8 ビットA[7:0]が行アド
レスに、それぞれ対応する。また、16ビットアドレス
A[15:0]の5ビットA[15:11]が列機能ブ
ロック座標に、5ビットA[7:3]が行機能ブロック
座標に、それぞれ対応する。この関係を用いることによ
り、参照アドレスから入出力ポート情報のオフセット機
能ブロック座標を簡単に知ることができる。
【0203】(画像前処理)ハードウエア処理部103
で実行する画像前処理の手順は、前述の図17のフロー
チャートと同じである。アプリケーションプログラム1
01は、回路情報取得部105に、回路名「PrePr
ocess」を伝えて、ハードウエア処理部103に、
前処理回路を構成するように指示する。その後、前述の
場合と同様に、編集部300、記憶部200とで、図
6、図7、図8に示した手順に従って、参照解決処理と
再配置処理を行い、前処理回路の回路情報が生成され
る。
【0204】この実施例の場合、図26に示すように、
回路名「PreProcess」の回路情報は、回路名
「Gamma」を、アドレス「0x0000」と、「0
x0008]と、「0x0010」とにおいて参照し、
回路名「Gauss」を、アドレス「0x0800」に
おいて参照するように記述している。
【0205】このため、参照解決の処理において、記憶
部200は、編集部300から回路名「PreProc
ess」の照会に対して、回路名「Gamma」と「G
auss」を返す。つぎに、編集部300は、回路名
「Gamma」と「Gauss」を、記憶部200に照
会するが、どちらの回路も参照回路を持たないので、参
照解決の処理が終了する。
【0206】再配置の処理では、回路名「Gamma」
の回路データのアドレスを、それぞれの参照アドレス分
である「0x0000」、「0x0008」、「0x0
010」だけオフセットして、参照元の回路名「Pre
Process」の回路データに結合する。また、回路
名「Gauss」の回路データを、その参照アドレス分
である「0x0800」だけオフセットして、前処理の
回路データに結合する。
【0207】また、参照元回路である回路名「PreP
rocess」の回路データ部の、回路名「Gamm
a」の参照アドレス「0x0000」、「0x000
8」、「0x0010」は、それぞれ機能ブロック座標
(0,0)、(0,1)、(0,2)に対応し、また、
回路名「Gauss」の参照アドレス「0x0800」
は、機能ブロック座標(1,0)に対応するので、回路
名「Gamma」の入出力ポート座標を、(0,0)、
(0,1)、(0,2)だけオフセットして、また、回
路名「Gauss」の入出力ポート座標を(1,0)だ
けオフセットして、参照元の回路名「PreProce
ss」の回路の入出力ポート座標に結合する。
【0208】前処理の回路情報の生成が終わると、編集
部300から取得部105へ回路情報が転送される。取
得部105は、転送された回路情報の回路データをプロ
グラマブル論理回路にロードして前処理回路を構成す
る。また、入出力ポート情報を、アプリケーションプロ
グラムに提供する。
【0209】図27に示すように、回路名「Gamm
a」の回路の出力は行方向の相互接続線を介して、回路
名「Gauss」の回路の入力に接続される。また、回
路名「Gauss」の回路の出力は、列方向の相互接続
線を介してアプリケーションプログラムに受け渡され
る。
【0210】以上説明した第1の実施の形態および第2
の実施の形態によれば、回路情報をプログラマブル論理
回路のコンフィギュレーションメモリに直接ロードでき
る形式で記述して回路情報を再利用できるので、大きな
計算量を必要とする配置配線処理を行うことなく、短時
間の処理で回路情報を再利用することができる。
【0211】これにより、アプリケーションプログラム
の実行時に、回路情報を組み合せて必要な回路を構成で
きるので、前もってアプリケーションプログラムを開始
する前に回路を構成する必要が無くなる。
【0212】また、アプリケーションプログラムの実行
時に、回路情報を組み合せて必要な回路を構成できるの
で、回路を構成する回路情報の修正や改良が発生したと
きでも、自由度の高い回路情報の再構成を可能にする。
【0213】また、回路情報を他の回路情報を参照して
記述することができるので、回路の一部を変更または改
良した場合でも、回路全体の回路情報を再作成する必要
がなく、変更した参照回路の回路情報のみを再作成すれ
ば良いため、高速に回路の再構成ができる。
【0214】また、ネットワーク上に配置された記憶手
段に格納された回路情報を参照できるので、ネットワー
クを介して、回路設計者やアプリケーションプログラマ
が回路情報を共有して再利用することができるため、よ
り自由度の高い回路の再構成ができる。
【0215】回路情報を参照して共有したときに、アプ
リケーションプログラムに対して入出力ポート情報が提
供されるので、回路の実装形態にとらわれることなく、
アプリケーションプログラムを容易に作成することがで
きる。また、アプリケーションプログラムを作成した後
でも、回路の実装形態を必要に応じて容易に変更するこ
とができる。
【0216】なお、以上の説明では、参照解決の処理
は、編集部300と記憶部200とで行うようにした
が、編集部300のみで行うようにすることもできる。
すなわち、編集部300が回路名を記憶部200に渡す
と、記憶部200は、その回路名の回路情報を編集部3
00に送る。編集部300は、この回路情報を解析し
て、参照回路名があるか否か判別し、参照回路名があれ
ば、その参照回路名を記憶部200に渡し、その参照回
路名の回路情報を取得する。以下、これを繰り返して、
回路情報取得部105から指定された回路の回路情報を
生成するために必要なすべての回路情報を記憶部200
から取得することができる。
【0217】また、回路情報の付加情報部(ヘッダ部)
には参照回路名を記述せずに、回路データ部を解析する
ことで、参照回路名を検出するようにすることもでき
る。しかし、その場合には、参照回路名を検出するため
に、回路データを解析する時間が必要になる。これに対
して、上述の実施の形態のように、付加情報部に参照回
路名を記述しておくようにした場合には、参照回路名を
直接的に、即座に検知することができるものである。
【0218】
【発明の効果】以上説明したように、この発明によれ
ば、アプリケーションプログラムの少なくとも一部を、
プログラマブル論理回路で処理する情報処理システムに
おいて、予め、プログラマブル論理回路の回路情報を持
つことが不要である情報処理システムが提供できる。
【0219】また、この発明によれば、過去に設計され
た回路情報を再利用しながらも、配置配線するなどの回
路情報を組み合せるための計算量を大幅に削減すること
ができる。
【0220】また、この発明によれば、プログラマブル
論理回路に構成された回路を用いるアプリケーションで
処理を実行するときに、例えば基本モジュールを複数個
組み合わせて回路情報を生成する場合であっても、アプ
リケーションプログラムを開始する前に、基本モジュー
ルを複数個組み合わせて回路情報を生成する処理をして
おく必要がなく、回路を構成する回路情報の修正や改良
が発生したときでも、自由度の高い回路情報の再構成が
可能になる。
【図面の簡単な説明】
【図1】この発明による情報処理システムの実施の形態
の全体の概要を示すブロック図である。
【図2】この発明による回路情報管理方法の実施の形態
を説明するための図である。
【図3】この発明による情報処理システムの実施の形態
のハードウエア構成図である。
【図4】FPGAタイプのプログラマブル論理回路を説
明するための図である。
【図5】FPGAタイプのプログラマブル論理回路を説
明するための図である。
【図6】この発明による情報処理システムの実施の形態
による具体的な処理手順のフローチャートである。
【図7】図6のフローチャートの一部の処理の詳細な手
順のフローチャートである。
【図8】図6のフローチャートの一部の処理の詳細な手
順のフローチャートである。
【図9】この発明による情報処理システムの実施の形態
で用いる具体的な処理の例を説明するための図である。
【図10】プログラマブル論理回路に構成された回路例
を示す図である。
【図11】この発明による情報処理システムの実施の形
態で用いる具体的な処理の例を説明するための図であ
る。
【図12】プログラマブル論理回路に構成された回路例
を示す図である。
【図13】この発明による情報処理システムの実施の形
態で用いる具体的な処理の例を説明するための図であ
る。
【図14】この発明による情報処理システムの実施の形
態で用いる具体的な処理の例を説明するための図であ
る。
【図15】この発明による情報処理システムの実施の形
態で実行する具体的な処理手順の例を示すフローチャー
トである。
【図16】実施の形態において、プログラマブル論理回
路に回路構成するためのアドレス配置を説明するための
図である。
【図17】この発明による情報処理システムの実施の形
態で実行する具体的な処理手順の例を示すフローチャー
トである。
【図18】図17の処理手順の説明に用いる図である。
【図19】図17の処理手順の説明に用いる図である。
【図20】この発明による情報処理システムの実施の形
態で実行する具体的な処理手順の例を示すフローチャー
トである。
【図21】図20の処理手順の説明に用いる図である。
【図22】CPLDタイプのプログラマブル論理回路を
説明するための図である。
【図23】CPLDタイプのプログラマブル論理回路を
説明するための図である。
【図24】CPLDタイプのプログラマブル論理回路を
説明するための図である。
【図25】CPLDタイプのプログラマブル論理回路を
説明するための図である。
【図26】CPLDタイプのプログラマブル論理回路を
用いる場合の具体的な処理手順の説明に用いる図であ
る。
【図27】CPLDタイプのプログラマブル論理回路に
構成された回路配置例を示す図である。
【図28】従来の情報処理システムの一例を説明するた
めの図である。
【図29】図28の従来例で生成されるプログラマブル
論理回路の回路例を示す図である。
【図30】従来の情報処理システムの他の例を説明する
ための図である。
【符号の説明】
100 情報処理部 101 アプリケーションプログラム 102 CPU 103 ハードウエア処理部(処理手段) 104 プログラマブル論理回路 105 回路情報取得部(取得手段) 200 記憶部 300 編集部 201 回路情報 202 ヘッダ部(付加情報部) 203 コード部(回路データ部) ADR アドレス DT 回路データ 400 ネットワーク 500 コンピュータシステム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 紀一 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 (72)発明者 三宅 弘之 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 (72)発明者 中川 英悟 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 Fターム(参考) 5B076 AA03 EB01 5F064 AA08 FF52 HH11 HH12 HH18

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】アプリケーションプログラムによる処理の
    少なくとも一部分を、プログラマブル論理回路で処理す
    る情報処理システムにおいて、 前記プログラマブル論理回路を備え、前記アプリケーシ
    ョンプログラムからの命令により、前記プログラマブル
    論理回路に構成された回路を用いて処理を実行する処理
    手段と、 前記プログラマブル論理回路に前記回路を構成するため
    の複数個の回路情報を記憶する記憶手段と、 指定情報により指定される一つの回路の回路情報を、前
    記記憶手段に記憶された複数の回路情報を用いて生成す
    る機能を備える編集手段と、 前記プログラマブル論理回路に構成する回路を特定する
    ために前記アプリケーションプログラムにより指定され
    る情報を、前記指定情報として、前記編集手段に渡し、
    前記編集手段から到来する前記指定情報により指定され
    た回路の回路情報を取得し、この回路情報により前記処
    理手段のプログラマブル論理回路に前記指定された回路
    を構成する取得手段と、 を備えることを特徴とする情報処理システム。
  2. 【請求項2】請求項1に記載の情報処理システムにおい
    て、 前記記憶手段を構成する部分と、前記編集手段を構成す
    る部分と、前記取得手段および処理手段を構成する部分
    とが、ネットワークを介して接続されていることを特徴
    とする情報処理システム。
  3. 【請求項3】請求項1または請求項2に記載の情報処理
    システムにおいて、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    は、自己の回路情報の識別子を備えるとともに、当該回
    路情報の一部または全部を他の回路情報で構成する場合
    には、前記プログラマブル論理回路に回路を構成するた
    めの回路データとして、当該他の回路情報の識別子を参
    照識別子として備えるものであり、 前記編集手段は、前記取得手段からの前記指定情報によ
    り指定される回路の回路情報を、当該指定された回路の
    回路情報と前記参照識別子で示される他の回路情報とを
    前記記憶手段から入手して生成することを特徴とする情
    報処理システム。
  4. 【請求項4】請求項3に記載の情報処理システムにおい
    て、 前記編集手段は、前記取得手段からの前記指定情報に対
    応して、当該指定情報により指定される回路の回路情報
    を、その識別子により前記記憶手段に照会し、 前記記憶手段は、前記編集手段からの照会に応じて、そ
    の照会時の前記識別子で示される回路情報が参照識別子
    を含む場合には、その参照識別子を前記編集手段に返
    し、 前記編集手段は、前記記憶手段から入手した前記参照識
    別子を用いて、前記記憶手段から当該参照識別子で示さ
    れる前記他の回路情報を取得することを特徴とする情報
    処理システム。
  5. 【請求項5】請求項1、請求項2に記載の情報処理シス
    テムにおいて、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    は、 回路データ部と、その付加情報部とからなり、 前記付加情報部は、自己の回路情報の識別子を含むとと
    もに、当該回路情報の一部または全部を他の回路情報で
    構成する場合には、当該他の回路情報の識別子を参照識
    別子として含むものであり、 前記回路データ部は、前記プログラマブル論理回路に回
    路を構成するためのデータ部分であって、当該回路情報
    の一部または全部を他の回路情報で構成する場合には、
    その回路情報の一部または全部の回路データは、前記参
    照識別子を用いて記述したものとされるものであり、 前記編集手段は、前記取得手段からの前記指定情報に対
    応して、当該指定情報により指定される回路の回路情報
    を、その識別子により前記記憶手段に照会し、 前記記憶手段は、前記編集手段からの照会に応じて、そ
    の照会時の前記識別子で示される回路情報の前記付加情
    報部が参照識別子を含む場合には、その参照識別子を前
    記編集手段に返し、 前記編集手段は、前記記憶手段から入手した前記参照識
    別子を用いて、前記記憶手段から前記他の回路情報を取
    得することを特徴とする情報処理システム。
  6. 【請求項6】請求項5に記載の情報処理システムにおい
    て、 前記記憶手段に記憶されている前記回路情報の回路デー
    タ部は、前記プログラマブル論理回路のコンフィギュレ
    ーションメモリのアドレスと、そのアドレスに格納され
    る回路データとの対で記述され、 前記回路情報の一部または全部が他の回路情報で構成さ
    れる場合には、前記参照識別子が、前記回路情報におい
    て前記他の回路情報を参照する位置に対応するアドレス
    の回路データとして記述されていることを特徴とする情
    報処理システム。
  7. 【請求項7】請求項6に記載の情報処理システムにおい
    て、 前記編集手段においては、前記参照識別子に対応する前
    記他の回路情報は、前記指定情報により指定された回路
    の回路情報の回路データとして前記参照識別子が記述さ
    れたアドレスを、当該参照識別子に対応する前記他の回
    路情報の回路データ部の全てのアドレスに加えて、前記
    参照識別子が記述された回路情報に結合することを特徴
    とする情報処理システム。
  8. 【請求項8】請求項6に記載の情報処理システムにおい
    て、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    の付加情報部には、 前記プログラマブル論理回路に構成する回路の信号入力
    ポート名および信号出力ポート名と、前記信号入力ポー
    ト名および信号出力ポート名で示される各信号入力ポー
    トおよび信号出力ポートの前記プログラマブル論理回路
    上の位置座標の対が記述されていることを特徴とする情
    報処理システム。
  9. 【請求項9】請求項8に記載の情報処理システムにおい
    て、 編集手段においては、前記参照識別子に対応する前記他
    の回路情報は、前記参照識別子に対応する回路情報の信
    号入力ポートおよび信号出力ポートの位置座標に、前記
    指定情報により指定された回路の回路情報の回路データ
    として前記参照識別子が記述されたアドレスから算出さ
    れるオフセット座標を加えて、前記参照識別子が記述さ
    れた回路情報に結合することを特徴とする情報処理シス
    テム。
  10. 【請求項10】請求項8または請求項9に記載の情報処
    理システムにおいて、 前記取得手段は、 前記編集手段から取得した回路情報を、前記プログラマ
    ブル論理回路のコンフィギュレーションメモリのアドレ
    スと回路データとの対と、前記プログラマブル論理回路
    に構成する回路の信号入力ポート名および信号出力ポー
    ト名と、前記信号入力ポート名および前記信号出力ポー
    ト名で示される各信号入力ポートおよび信号出力ポート
    の位置座標との対に分離し、 前記プログラマブル論理回路のコンフィギュレーション
    メモリのアドレスと回路データの対を、前記処理手段に
    ロードして前記プログラマブル論理回路に回路を構成
    し、 前記プログラマブル論理回路に構成する回路の前記信号
    入力ポート名および前記信号出力ポート名と、前記信号
    入力ポート名および前記信号出力ポート名で示される各
    信号入力ポートおよび信号出力ポートの位置座標の対
    を、前記アプリケーションプログラムに引き渡すことを
    特徴とする情報処理システム。
  11. 【請求項11】請求項10に記載の情報処理システムに
    おいて、 前記アプリケーションプログラムは、前記取得手段から
    引き渡された前記プログラマブル論理回路に構成する回
    路の信号入力ポート名および信号出力ポート名と、前記
    信号入力ポート名および信号出力ポート名に対応するポ
    ートの位置座標との対に基づいて、前記処理手段にデー
    タを入出力することにより、前記アプリケーションプロ
    グラムの一部分を処理手段で処理することを特徴とする
    情報処理システム。
  12. 【請求項12】プログラマブル論理回路に構成する回路
    の回路情報の複数個を、それぞれに識別子を付与して記
    憶手段に記憶し、前記回路情報の識別子が指定されるこ
    とにより、前記記憶手段から、対応する前記回路情報
    を、前記プログラマブル論理回路に構成するために読み
    出すようにするための回路情報管理方法において、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    は、自己の回路情報の識別子を備えるとともに、当該回
    路情報の一部または全部を他の回路情報で構成する場合
    には、前記プログラマブル論理回路に回路を構成するた
    めの回路データとして、当該他の回路情報の識別子を参
    照識別子として備えるものであることを特徴とする回路
    情報管理方法。
  13. 【請求項13】プログラマブル論理回路に構成する回路
    の回路情報の複数個を、それぞれに識別子を付与して記
    憶手段に記憶し、前記回路情報の識別子が指定されるこ
    とにより、前記記憶手段から対応する前記回路情報を、
    前記プログラマブル論理回路に構成するために読み出す
    ようにするための回路情報管理方法において、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    は、 回路データ部と、その付加情報部とからなり、 前記付加情報部は、自己の回路情報の識別子を含むとと
    もに、当該回路情報の一部または全部を他の回路情報で
    構成する場合には、当該他の回路情報の識別子を参照識
    別子として含むものであり、 前記回路データ部は、前記プログラマブル論理回路に回
    路を構成するためのデータ部分であって、当該回路情報
    の一部または全部を他の回路情報で構成する場合には、
    その回路情報の一部または全部の回路データは、前記参
    照識別子を用いて記述することを特徴とする回路情報管
    理方法。
  14. 【請求項14】請求項13に記載の回路情報管理方法に
    おいて、 前記記憶手段に記憶されている前記回路情報の回路デー
    タ部は、前記プログラマブル論理回路のコンフィギュレ
    ーションメモリのアドレスと、そのアドレスに格納され
    る回路データとの対で記述し、 前記回路情報の一部または全部が他の回路情報で構成さ
    れる場合には、前記参照識別子を、前記回路情報におい
    て前記他の回路情報を参照する位置に対応するアドレス
    の回路データとして記述することを特徴とする回路情報
    管理方法。
  15. 【請求項15】請求項13に記載の回路情報管理方法に
    おいて、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    の付加情報部には、 前記プログラマブル論理回路に構成する回路の信号入力
    ポート名および信号出力ポート名と、信号入力ポート名
    および信号出力ポート名で示される信号入力ポートおよ
    び信号出力ポートの前記プログラマブル論理回路上の位
    置座標の対を記述することを特徴とする回路情報管理方
    法。
  16. 【請求項16】プログラマブル論理回路に構成する回路
    の回路情報の複数個が、それぞれに識別子が付与されて
    記憶される回路情報記憶装置であって、 前記複数個の回路情報のそれぞれは、自己の回路情報の
    識別子を備えるとともに、当該回路情報の一部または全
    部が他の回路情報で構成される場合には、前記プログラ
    マブル論理回路に回路を構成するための回路データとし
    て、当該他の回路情報の識別子を参照識別子として備え
    ることを特徴とする回路情報記憶装置。
  17. 【請求項17】プログラマブル論理回路に構成する回路
    の回路情報の複数個が、それぞれに識別子が付与されて
    記憶される回路情報記憶装置であって、 前記複数個の回路情報のそれぞれは、 回路データ部と、その付加情報部とからなり、 前記付加情報部は、自己の回路情報の識別子を含むとと
    もに、当該回路情報の一部または全部を他の回路情報で
    構成する場合には、当該他の回路情報の識別子を参照識
    別子として含むものであり、 前記回路データ部は、前記プログラマブル論理回路に回
    路を構成するためのデータ部分であって、当該回路情報
    の一部または全部を他の回路情報で構成する場合には、
    その回路情報の一部または全部の回路データは、前記参
    照識別子を用いて記述したものであることを特徴とする
    回路情報記憶装置。
  18. 【請求項18】請求項17に記載の回路情報記憶装置に
    おいて、 前記回路情報の回路データ部は、前記プログラマブル論
    理回路のコンフィギュレーションメモリのアドレスと、
    そのアドレスに格納される回路データとの対で記述さ
    れ、 前記回路情報の一部または全部が他の回路情報で構成さ
    れる場合には、前記参照識別子が、前記回路情報におい
    て前記他の回路情報を参照する位置に対応するアドレス
    の回路データとして記述されていることを特徴とする回
    路情報記憶装置。
  19. 【請求項19】請求項17に記載の回路情報記憶装置に
    おいて、 前記記憶手段に記憶される複数個の回路情報のそれぞれ
    の付加情報部には、 前記プログラマブル論理回路に構成する回路の信号入力
    ポート名および信号出力ポート名と、前記信号入力ポー
    ト名および信号出力ポート名で示される信号入力ポート
    および信号出力ポートの前記プログラマブル論理回路上
    の位置座標の対が記述されていることを特徴とする回路
    情報記憶装置。
JP16944098A 1998-06-17 1998-06-17 情報処理システム、回路情報管理方法および回路情報記憶装置 Expired - Fee Related JP3809727B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP16944098A JP3809727B2 (ja) 1998-06-17 1998-06-17 情報処理システム、回路情報管理方法および回路情報記憶装置
US09/280,681 US6336209B1 (en) 1998-06-17 1999-03-29 Information processing system that processes portions of an application program using programmable logic circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16944098A JP3809727B2 (ja) 1998-06-17 1998-06-17 情報処理システム、回路情報管理方法および回路情報記憶装置

Publications (2)

Publication Number Publication Date
JP2000010770A true JP2000010770A (ja) 2000-01-14
JP3809727B2 JP3809727B2 (ja) 2006-08-16

Family

ID=15886653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16944098A Expired - Fee Related JP3809727B2 (ja) 1998-06-17 1998-06-17 情報処理システム、回路情報管理方法および回路情報記憶装置

Country Status (2)

Country Link
US (1) US6336209B1 (ja)
JP (1) JP3809727B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102923A (ja) * 2015-11-30 2017-06-08 三星電子株式会社Samsung Electronics Co.,Ltd. 加速器コントローラ及びその加速器ロジックローディング方法
WO2017175708A1 (ja) * 2016-04-07 2017-10-12 日本電気株式会社 半導体装置、コンフィグレーション方法およびプログラムを記憶した記憶媒体
JP2019537099A (ja) * 2016-09-29 2019-12-19 アマゾン テクノロジーズ インコーポレイテッド 論理リポジトリサービス
US11099894B2 (en) 2016-09-28 2021-08-24 Amazon Technologies, Inc. Intermediate host integrated circuit between virtual machine instance and customer programmable logic
US11115293B2 (en) 2016-11-17 2021-09-07 Amazon Technologies, Inc. Networked programmable logic service provider
US11119150B2 (en) 2016-09-28 2021-09-14 Amazon Technologies, Inc. Extracting debug information from FPGAs in multi-tenant environments
US11171933B2 (en) 2016-09-29 2021-11-09 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US11182320B2 (en) 2016-09-29 2021-11-23 Amazon Technologies, Inc. Configurable logic platform with multiple reconfigurable regions
US11275503B2 (en) 2016-09-30 2022-03-15 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5476211A (en) * 1993-11-16 1995-12-19 Form Factor, Inc. Method of manufacturing electrical contacts, using a sacrificial member
US7099812B2 (en) * 1999-09-24 2006-08-29 Intrinsity, Inc. Grid that tracks the occurrence of a N-dimensional matrix of combinatorial events in a simulation using a linear index
US6851094B1 (en) * 2000-02-28 2005-02-01 Cadence Design Systems, Inc. Automated method and system for selecting and procuring electronic components used in circuit and chip designs
JP2001312265A (ja) * 2000-05-02 2001-11-09 Sony Corp 画像表示装置
US7725860B1 (en) * 2000-06-19 2010-05-25 Herman Kwong Contact mapping using channel routing
US6513148B1 (en) * 2001-04-27 2003-01-28 Lsi Logic Corporation Density driven assignment of coordinates
US7840777B2 (en) * 2001-05-04 2010-11-23 Ascenium Corporation Method and apparatus for directing a computational array to execute a plurality of successive computational array instructions at runtime
US20030122584A1 (en) * 2001-07-02 2003-07-03 Boehm Fritz A. Software program that transforms an N-dimensional matrix of integers to a linear index
US7200735B2 (en) * 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
US6714040B1 (en) * 2002-06-03 2004-03-30 Xilinx, Inc. Automated boundary-scan chain composition method using a device database and access mechanism for storing and retrieving situation-dependent operation options
DE60209201T2 (de) * 2002-10-28 2006-11-16 Alcatel Verfahren zum Speichern von Registereigenschaften in einer Datenstruktur und dazugehörige Datenstruktur
US7685327B1 (en) * 2004-03-19 2010-03-23 Xilinx, Inc. Identification of multi-device systems
US7546394B1 (en) * 2004-03-19 2009-06-09 Xilinx, Inc. Management of configuration data by generating a chain description data set that specifies an order of configuration chain for multi-device systems
US7454556B1 (en) 2005-02-02 2008-11-18 Xilinx, Inc. Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
US20060190111A1 (en) * 2005-02-03 2006-08-24 Wang Beniz System and method of designing a product or a module therein based on experiences of modular designs accumulated previously
US7568198B2 (en) * 2006-01-10 2009-07-28 National Instruments Corporation Control of tasks in a programmable logic controller
GB0709097D0 (en) * 2007-05-11 2007-06-20 Univ Leicester Tick source
JP5407631B2 (ja) * 2009-07-21 2014-02-05 富士ゼロックス株式会社 回路情報生成装置、機能実行システム、及びプログラム
CN112034331B (zh) * 2020-08-17 2023-04-18 北京时代民芯科技有限公司 一种基于fpga的电路模块测试方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4700187A (en) 1985-12-02 1987-10-13 Concurrent Logic, Inc. Programmable, asynchronous logic cell and array
JPH06232259A (ja) 1993-02-08 1994-08-19 Toshiba Corp Fpga回路設計装置及び方法
US5426591A (en) * 1994-01-28 1995-06-20 Vlsi Technology, Inc. Apparatus and method for improving the timing performance of a circuit
US5764525A (en) * 1994-01-28 1998-06-09 Vlsi Technology, Inc. Method for improving the operation of a circuit through iterative substitutions and performance analyses of datapath cells
US5937190A (en) * 1994-04-12 1999-08-10 Synopsys, Inc. Architecture and methods for a hardware description language source level analysis and debugging system
US5572712A (en) * 1994-09-30 1996-11-05 Vlsi Technology, Inc. Method and apparatus for making integrated circuits with built-in self-test
US5808921A (en) * 1996-01-12 1998-09-15 Hughes Aircraft Company Interface emulation system and method for applications utilizing embedded processors
JPH1078932A (ja) 1996-09-04 1998-03-24 Hitachi Ltd リコンフィグラブル・ネットワークコンピュータ
JP3349057B2 (ja) * 1997-02-24 2002-11-20 株式会社東芝 マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102923A (ja) * 2015-11-30 2017-06-08 三星電子株式会社Samsung Electronics Co.,Ltd. 加速器コントローラ及びその加速器ロジックローディング方法
KR20170063334A (ko) * 2015-11-30 2017-06-08 삼성전자주식회사 가속기 컨트롤러 및 그것의 가속기 로직 로딩 방법
KR102380776B1 (ko) * 2015-11-30 2022-04-01 삼성전자주식회사 가속기 컨트롤러 및 그것의 가속기 로직 로딩 방법
WO2017175708A1 (ja) * 2016-04-07 2017-10-12 日本電気株式会社 半導体装置、コンフィグレーション方法およびプログラムを記憶した記憶媒体
JPWO2017175708A1 (ja) * 2016-04-07 2019-02-14 日本電気株式会社 半導体装置、コンフィグレーション方法およびプログラム
US11099894B2 (en) 2016-09-28 2021-08-24 Amazon Technologies, Inc. Intermediate host integrated circuit between virtual machine instance and customer programmable logic
US11119150B2 (en) 2016-09-28 2021-09-14 Amazon Technologies, Inc. Extracting debug information from FPGAs in multi-tenant environments
US11074380B2 (en) 2016-09-29 2021-07-27 Amazon Technologies, Inc. Logic repository service
US11171933B2 (en) 2016-09-29 2021-11-09 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US11182320B2 (en) 2016-09-29 2021-11-23 Amazon Technologies, Inc. Configurable logic platform with multiple reconfigurable regions
JP2019537099A (ja) * 2016-09-29 2019-12-19 アマゾン テクノロジーズ インコーポレイテッド 論理リポジトリサービス
US11275503B2 (en) 2016-09-30 2022-03-15 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
US11115293B2 (en) 2016-11-17 2021-09-07 Amazon Technologies, Inc. Networked programmable logic service provider

Also Published As

Publication number Publication date
US6336209B1 (en) 2002-01-01
JP3809727B2 (ja) 2006-08-16

Similar Documents

Publication Publication Date Title
JP3809727B2 (ja) 情報処理システム、回路情報管理方法および回路情報記憶装置
JP3587095B2 (ja) 情報処理装置
JP4896243B2 (ja) マスクプログラム可能なロジックデバイスをプログラムする方法およびその方法によってプログラムされたデバイス
CN1307586C (zh) 高效逻辑打包的现场可编程门阵列核心单元
JP2003518666A (ja) 動的に再構成可能な論理回路のための物理設計を実現する方法
EP2495676A1 (en) Method and apparatus for placement and routing of partial reconfiguration modules
JP2001509326A (ja) ピンロック動作を容易化するために重付け関数を使用したプログラム可能論理装置配置方法
EP1306751A1 (en) System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit
CN114065694A (zh) 一种fpga布线资源图压缩方法和全局布线模块
US8106679B2 (en) Data processing system
JP3832557B2 (ja) プログラマブル論理回路への回路の再構成方法および情報処理システム
US5574655A (en) Method of allocating logic using general function components
CN109829230B (zh) Fpga ip核的设计方法
US6941540B2 (en) Design method for gate array integrated circuit
JPH07105253A (ja) データパス回路レイアウト生成システム
US20160210156A1 (en) System and method that generate reconfiguration information
JP2006172219A (ja) 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム
JP3573193B2 (ja) 情報処理システム
JP3664215B2 (ja) 情報処理システム
JP3489608B2 (ja) プログラマブル論理回路システムおよびプログラマブル論理回路装置の再構成方法
JPH11232079A (ja) 情報処理システム
Silva et al. Generation of partial FPGA configurations at run-time
US5566080A (en) Method and apparatus for designing semiconductor device
JP3544129B2 (ja) 情報処理システム
JP2000091435A (ja) 情報処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060515

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130602

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140602

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees