JP3838367B2 - プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム - Google Patents

プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム Download PDF

Info

Publication number
JP3838367B2
JP3838367B2 JP2003433210A JP2003433210A JP3838367B2 JP 3838367 B2 JP3838367 B2 JP 3838367B2 JP 2003433210 A JP2003433210 A JP 2003433210A JP 2003433210 A JP2003433210 A JP 2003433210A JP 3838367 B2 JP3838367 B2 JP 3838367B2
Authority
JP
Japan
Prior art keywords
module
logic circuit
programmable logic
storage location
logical configuration
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.)
Expired - Fee Related
Application number
JP2003433210A
Other languages
English (en)
Other versions
JP2005190343A (ja
Inventor
和彰 村上
修一 菊地
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.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron 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 Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP2003433210A priority Critical patent/JP3838367B2/ja
Priority to PCT/JP2004/019819 priority patent/WO2005064456A1/en
Priority to KR1020067014707A priority patent/KR20070007270A/ko
Priority to CNA2004800421344A priority patent/CN1973259A/zh
Priority to EP04808169A priority patent/EP1697829A4/en
Priority to TW093141053A priority patent/TWI290282B/zh
Publication of JP2005190343A publication Critical patent/JP2005190343A/ja
Application granted granted Critical
Publication of JP3838367B2 publication Critical patent/JP3838367B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13083Jumps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13109Pld programmable logic device software for plc

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラムに関する。
特定用途向け集積回路(ASIC)を使用する分野において、ASIC開発中の仕様変更に柔軟に対応するため、また、製品の開発期間を短縮するため、フィールド・プログラマブル・ゲート・アレイ(FPGA)(例えば米国XILINX社のXCシリーズ等)や、プログラマブル・ロジック・デバイス(PLD)などのプログラマブル論理回路が広くASICとして使われている。プログラマブル論理回路は、回路情報をロードすることによって、内部の論理回路の論理的構成を自由に変更できる論理回路である。
しかし、最近はASICに要求される論理的構成は複雑さが増し、規模も増大の一途にある。このため、プログラマブル論理回路を用いてASICを構成する場合においては、プログラマブル論理回路を数個ないし数十個使用するケースも発生している。
そこで、規模が増大した論理回路においても、その全てが常に動作している訳ではないことに着目し、同一のプログラマブル論理回路が異なる時間に異なる機能を実現するように、プログラマブル論理回路を再構成することが提案されている(例えば、特許文献1参照)。プログラマブル論理回路の再構成を行うことにより、ASICの規模を小型にできる。
特開2001−202236号公報 特開2003−198362号公報 特開2003−029969号公報
しかし、複雑なASICは、処理を逐次に行うだけでなく、一般的には、条件分岐や、分岐先からの復帰、ループなどを含んだ複雑な手順で処理を実行することを期待されている。これに対し、プログラマブル論理回路の再構成を行う上述の手法では、多数の処理をこのような複雑な手順で円滑に実行することが困難であり、長時間のオーバーヘッドが生じていた。
本発明は、上記実情に鑑みてなされたもので、多数の処理を複雑な手順で円滑に実行することが容易なプログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラムを提供することを目的とする。
上記目的を達成するため、この発明の第1の観点に係るプログラマブル論理回路制御装置は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、を備え、
前記コントローラは、
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とする。
このようなプログラマブル論理回路制御装置によれば、プログラマブル論理回路の論理的構成を変更する処理が、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、他の記憶位置を指定するものである場合、当該他の記憶位置に格納されているデータを取得する処理に移る条件を指定する条件定義データを含んでいてもよく、
前記コントローラは、
モジュール使用順序指定用メモリの記憶位置に格納されているデータが他の記憶位置を指定していると判別したときは、取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別し、
満たされていると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得し、
満たされていないと判別したときは、当該他の記憶位置からのデータの取得を中止するものであってもよい。
このような構成を有していれば、プログラマブル論理回路の論理的構成を変更する処理が、条件分岐を含む手順であっても容易かつ円滑に実行される。
前記条件定義データが指定する条件は、例えば、前記プログラマブル論理回路の所定のノードに発生する信号が表す値に係るものであってもよい。
この場合、前記コントローラは、モジュール使用順序指定用メモリの記憶位置に格納されているデータが他の記憶位置を指定していると判別したときは、前記プログラマブル論理回路の前記ノードより前記信号を取得し、取得した信号が表す値に基づいて、前記モジュール使用順序指定用メモリより取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別するものとすればよい。
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、当該データがモジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを識別する識別データを含んでいてもよい。
この場合、前記コントローラは、前記モジュール使用順序指定用メモリより取得したデータに含まれる識別データに基づいて、当該取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別するようにしてもよい。
また、この発明の第2の観点に係るプログラマブル論理回路制御装置は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置であって、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する手段と、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する手段と、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する手段と、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する手段と、を備える、
ことを特徴とする。
このようなプログラマブル論理回路制御装置によっても、プログラマブル論理回路の論理的構成を変更する処理は、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
また、この発明の第3の観点に係るプログラマブル論理回路制御方法は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶し、
順序付けられた複数の記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納し、
前記記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを取得する、
ことを特徴とする。
このようなプログラマブル論理回路制御方法によれば、プログラマブル論理回路の論理的構成を変更する処理が、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
また、この発明の第4の観点に係るプログラマブル論理回路制御方法は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とする。
このようなプログラマブル論理回路制御方法によっても、プログラマブル論理回路の論理的構成を変更する処理は、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
また、この発明の第5の観点に係るプログラムは、
コンピュータを、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、して機能させるためのプログラムであって、
前記コントローラは、
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とする。
このようなプログラムを実行するコンピュータによれば、プログラマブル論理回路の論理的構成を変更する処理が、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
また、この発明の第6の観点に係るプログラムは、
コンピュータを、供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置として機能させるためのプログラムであって、
前記コンピュータに、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する機能と、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する機能と、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する機能と、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する機能と、を更に行わせる、
ことを特徴とする。
このようなプログラムを実行するコンピュータによっても、プログラマブル論理回路の論理的構成を変更する処理は、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
本発明によれば、多数の処理を複雑な手順で円滑に実行することが容易なプログラマブル論理回路制御システム、プログラマブル論理回路制御方法及びプログラムが実現される。
以下、本発明の実施の形態を、プログラマブル論理回路装置を例とし、図面を参照して説明する。
図1は、このプログラマブル論理回路装置の構成を示す図である。図示するように、このプログラマブル論理回路装置は、プログラマブル論理回路1と、モジュール記憶部2と、モジュールアドレス記憶部3と、回路制御部4とより構成されている。プログラマブル論理回路1、モジュール記憶部2及びモジュールアドレス記憶部3は、回路制御部4に接続されている。
プログラマブル論理回路1は、例えば、米国XILINX社のフィールド・プログラマブル・ゲート・アレイ(FPGA)を構成するために用いられているコンフィグアラブル論理ブロック(CLB:Configurable Logic Block)、マトリクススイッチ及び配線材などより構成されており、回路制御部4の制御に従って、自己の論理的構成(つまり、自己に入力される信号と自己が出力する信号との対応関係)を変化(再構成)させる。プログラマブル論理回路1は、具体的には、例えば図2に模式的に示すように、入力論理回路BIBC、論理回路BFBC、論理回路BQBC、出力論理回路BOBC、マトリクススイッチBLSW、配線LVL0〜LVL4及び配線LHL0〜LHL2より構成されている。
配線LVL0〜LVL4及びLHL0〜LHL2は、それぞれ63本ずつの信号線より構成されている。入力論理回路BIBC、論理回路BFBC、論理回路BQBC及び出力論理回路BOBCは、それぞれ、バスを介して配線LVL0〜LVL4と接続される。また、配線LVL0〜LVL4及びLHL0〜LHL2の相互間は、マトリクススイッチBLSWによって断続され、これにより可変配線が実現される。
入力論理回路BIBC、論理回路BFBC、論理回路BQBC及び出力論理回路BOBCは、例えばTTL(Transisitor-Transistor Logic)回路やCMOS(Complementary Metal-Oxide-Silicon)論理回路などの論理回路より構成されている。
入力論理回路BIBCは、プログラマブル論理回路1に入力された信号を、回路制御部4の制御に従った態様で配線LVL0に供給する論理回路である。個々の入力論理回路BIBCは、例えば、図3に示すように、出力選択回路OSEL1より構成されている。
出力選択回路OSEL1は、63ビットのバスIoA(1)〜IoA(63)を介して配線LVL0に接続されており、プログラマブル論理回路1に入力された4ビットの信号を、配線LVL0を構成する信号線へと供給する。ただし、出力選択回路OSEL1は、配線LVL0のどの信号線へとこの信号を供給するかを、回路制御部4等より供給される24ビットの制御信号ConfigIの値に基づいて決定し、決定された信号線にこの信号を供給するものとする。また、出力選択回路OSEL1は、この信号を配線LVL0のいずれの信号線にも供給しないと決定する場合もあり得るものとする。
論理回路BFBCは、配線LVL0又はLVL1より供給された信号に、回路制御部4の制御に従った論理演算を施し、得られた信号を配線LVL1又はLVL2へと供給する論理回路である。個々の論理回路BFBCは、例えば、図4に示すように、入力選択回路ISEL1と、基本機能セルFBCと、出力選択回路OSEL2とを含んでいる。
入力選択回路ISEL1は、63ビットのバスIiA(1)〜IiA(63)を介して配線LVL0又はLVL1に接続されており、接続先である配線LVL0又はLVL1より供給される信号のうち6ビットの信号を取得し、基本機能セルFBCへと供給する。ただし、入力選択回路ISEL1は、配線LVL0又はLVL1をなす63本の信号線のうちどの6本から信号を取得するかを、回路制御部4等より供給される36ビットの制御信号ConfigFiの値に基づいて決定し、決定された信号線から計6ビットの信号を取得して、基本機能セルFBCへと供給するものとする。また、入力選択回路ISEL1は、配線LVL0又はLVL1のいずれの信号線からも信号を取得しないと決定する場合もあり得るものとし、この場合は、論理値“0”を表す信号を基本機能セルFBCへと供給するものとする。
基本機能セルFBCは、例えば、図4に示すように、選択回路SELと、ラッチ回路Lとを含んでいる。
基本機能セルFBCは、入力選択回路ISEL1より供給される6ビットの信号の値に基づいて、回路制御部4等より供給される130ビットの制御信号ConfigFfの1番目〜64番目ビットのうちから1ビット、65番目〜128番目ビットのうちから1ビット、計2ビットを選択し、これら2ビットの信号(信号XY)を出力選択回路OSEL2へと供給する。また、基本機能セルFBCは、信号XYをラッチするか否かを、制御信号ConfigFfの129番目及び130番目のビットの値に基づいて決定し、決定の結果を示す信号ENをラッチ回路Lに供給する。
ラッチ回路Lは、信号ENに基づいて、信号XYをラッチすると決定されたか否かを判別する。ラッチすると決定されている場合は信号XYの値を保持し、保持された値を有する2ビットの信号を信号QYとして出力選択回路OSEL2へと供給する。一方、ラッチしないと決定されている場合は、現に保持している値(すなわち信号XYの過去の値)を有する2ビットの信号を信号QYとして出力選択回路OSEL2へと供給する。なお、プログラマブル論理回路1はクロック信号を外部より取得するか、又はクロック信号を生成する回路を備えるものとし、プログラマブル論理回路1の各部は、ラッチを行う場合はこのクロック信号に同期してラッチを行うものとすればよい。
出力選択回路OSEL2は、63ビットのバスIoB(1)〜IoB(63)を介して配線LVL1又はLVL2に接続されており、基本機能セルFBCより供給された信号XY及び信号QY、計4ビットを、配線LVL1又はLVL2を構成する信号線へと供給する。ただし、出力選択回路OSEL2は、配線LVL1又はLVL2のどの信号線にこの4ビットの信号を供給するかを、回路制御部4等より供給される24ビットの制御信号ConfigFoの値に基づいて決定し、決定された信号線にこの信号を供給するものとする。また、出力選択回路OSEL2は、この信号を配線LVL1又はLVL2のいずれの信号線にも供給しないと決定する場合もあり得るものとする。
論理回路BQBCは、配線LVL2又はLVL3より供給された信号を回路制御部4の制御に従った態様で保持し、プログラマブル論理回路1が次の論理的構成へと再構成された後の論理回路BFBCに、配線LVL0又はLVL1を介してこの信号を引き渡す論理回路からなっている。個々の論理回路BQBCは、例えば、図5に示すように、入力選択回路ISEL2と、機能セルQBCと、出力選択回路OSEL3とを含んでいる。
入力選択回路ISEL2は、63ビットのバスIiB(1)〜IiB(63)を介して配線LVL2又はLVL3に接続されており、接続先である配線LVL2又はLVL3より供給される信号のうち4ビットの信号を取得し、機能セルQBCへと供給する。ただし、入力選択回路ISEL2は、配線LVL2又はLVL3をなす63本の信号線のうちどの4本から信号を取得するかを、回路制御部4等より供給される24ビットの制御信号ConfigQiの値に基づいて決定し、決定された信号線から計4ビットの信号を取得して機能セルQBCへと供給するものとする。また、入力選択回路ISEL2は、配線LVL2又はLVL3のいずれの信号線からも信号を取得しないと決定する場合もあり得るものとし、この場合は、論理値“0”を表す信号を機能セルQBCへと供給するものとする。
機能セルQBCは、ラッチ回路等からなっており、ISEL2より供給される4ビットの信号の値を保持し、保持された値を有する信号を信号QY2として出力選択回路OSEL3へと供給する。
出力選択回路OSEL3は、63ビットのバスIoC(1)〜IoC(63)を介して配線LVL3又はLVL4に接続されており、機能セルQBCより供給された4ビットの信号QY2を、配線LVL3又はLVL4を構成する信号線へと供給する。ただし、出力選択回路OSEL3は、配線LVL3又はLVL4のどの信号線に信号QY2を供給するかを、回路制御部4等より供給される24ビットの制御信号ConfigQoの値に基づいて決定し、決定された信号線にこの信号を供給するものとする。また、出力選択回路OSEL3は、この信号を配線LVL3又はLVL4のいずれの信号線にも供給しないと決定する場合もあり得るものとする。
出力論理回路BOBCは、配線LVL4より供給された信号を、回路制御部4の制御に従った態様で出力する論理回路からなっている。個々の出力論理回路BOBCは、例えば、図6に示すように、入力選択回路ISEL3と、機能セルOBCとを含んでいる。
入力選択回路ISEL3は、63ビットのバスIiC(1)〜IiC(63)を介して配線LVL4に接続されており、接続先である配線LVL4より供給される信号のうち4ビットの信号を取得し、機能セルOBCへと供給する。ただし、入力選択回路ISEL3は、配線LVL4をなす63本の信号線のうちどの4本から信号を取得するかを、回路制御部4等より供給される24ビットの制御信号ConfigOの値に基づいて決定し、決定された信号線から計4ビットの信号を取得して機能セルOBCへと供給するものとする。また、入力選択回路ISEL3は、配線LVL4のいずれの信号線からも信号を取得しないと決定する場合もあり得るものとし、この場合は、論理値“0”を表す信号を機能セルOBCへと供給するものとする。
機能セルOBCは、ラッチ回路等からなっており、入力選択回路ISEL3より供給される4ビットの信号の値を保持し、又はこの信号を通過させる。保持又は通過のいずれを行うかは、制御信号ConfigOのうち25番目〜28番目のビットの値に基づいて決定する。そして、保持された値を有する信号、又は、通過した信号を、プログラマブル論理回路1の出力信号(信号Y)として外部へ出力する。
マトリクススイッチBLSWは、配線LVL0〜LVL4及び配線LHL0〜LHL2の相互間を電気的に接続したり切り離したりする機能を有するものであり、回路制御部4等より供給される制御信号(以下では、この制御信号を制御信号ConfigLと呼ぶ)の値に従って、配線LVL0〜LVL4の相互間、配線LHL0〜LHL2の相互間、あるいは配線LVL0〜LVL4と配線LHL0〜LHL2との間を電気的に接続したり切り離したりする。
例えば図7(a)に示すように、配線LVLm(mは0〜4の整数)と配線LHLn(nは0〜2の整数)との間を断続するマトリクススイッチBLSWは、信号線LVLm−j(jは1〜63の整数)と信号線LHLn−k(kは1〜63の整数)との間を断続する計3969個のスイッチ群Qより構成されている。それぞれのスイッチ群Qは、例えば図7(b)に示すように、電界効果トランジスタ(FET)等のスイッチング素子より構成されている。図7(b)に示す例では、FETQ1が、信号線LVLm−jを構成する2個の信号線LVLm−jAとLVLm−jBとの間を断続し、FETQ2が、信号線LHLn−kを構成する2個の信号線LHLn−kAとLHLn−kBとの間を断続し、FETQ3が、信号線LVLm−jAと信号線LHLn−kAとの間を断続し、FETQ4が、信号線LVLm−jAと信号線LHLn−kBとの間を断続し、FETQ5が、信号線LVLm−jBと信号線LHLn−kAとの間を断続し、FETQ6が、信号線LVLm−jBと信号線LHLn−kBとの間を断続する。なお、スイッチ群Qが図7(b)に示す構成を有している場合、制御信号ConfigLは、例えば、スイッチ群Qを構成する各FETのゲートに印加されればよい。
配線LVL0〜LVL4は、入力論理回路BIBC、論理回路BFBC、論理回路BQBC及び出力論理回路BOBCや、マトリクススイッチBLSWに接続されている。配線LHL0〜LHL2は、マトリクススイッチBLSWに接続されている。配線LHL0〜LHL2は、入力論理回路BIBC、論理回路BFBC、論理回路BQBC及び出力論理回路BOBCには直接接続されていない(ただし、マトリクススイッチBLSWを介して接続される場合はあり得る)。
従って、マトリクススイッチBLSWが上述した機能を有する結果、回路制御部4等がマトリクススイッチBLSWに制御信号ConfigLを供給することにより、プログラマブル論理回路1内部の配線は変化し、入力論理回路BIBC、論理回路BFBC、論理回路BQBC及び出力論理回路BOBCは、配線LVL0〜LVL4や配線LHL0〜LHL2を介し、回路制御部4等の制御に従って相互に接続される。この結果、プログラマブル論理回路1は全体として、後述するモジュールの内容により決まる所定の処理を行う機能を有する論理回路として構成される。
モジュール記憶部2及びモジュールアドレス記憶部3は、それぞれ、例えばRAM(Random Access Memory)等のメモリより構成されており、各自が記憶している後述のデータを、回路制御部4のアクセスに応答して読み出し、回路制御部4に供給する。
モジュール記憶部2は、図1に模式的に示すように、プログラマブル論理回路1の論理的構成を定義するデータ(以下、モジュール)を記憶する。1個のモジュールは、1個のプログラマブル論理回路1が一度に表現できる論理的構成の全体又は一部を示しているものとする。つまり、モジュールは、図2に示す入力論理回路BIBC、論理回路BFBC、論理回路BQBC及び出力論理回路BOBCのすべての論理的構成を示すものであってもよく、又は、例えば特許文献2や特許文献3に開示されているものと同様、論理回路BFBCの一部や論理回路BQBCの一部を、他の論理回路の論理的構成を変更すること無しに論理構成するためのものであってもよい。
なお、モジュール記憶部2の記憶領域を構成する各記憶位置には10ビットのアドレスが割り当てられており、モジュール記憶部2は、モジュールのアドレス、すなわち、モジュールが記憶されている先頭(あるいは末尾等、モジュール内の一定の部分)の記憶位置のアドレスを特定することにより、当該モジュールを特定することができるものとする。
モジュールアドレス記憶部3の記憶領域は、図8に示すように、16ビット毎に1個のページを構成している。そして、それぞれのページにはページアドレス(ページ位置)が割り当てられており、このページアドレスにより、モジュールアドレス記憶部3の各ページは上位から下位へと順位づけられている。また、それぞれのページを構成する16個のビットも、上位から下位へと順位付けられている。
モジュールアドレス記憶部3のそれぞれのページには、データ構造を図8に模式的に示すように、モジュール記憶部2が記憶するそれぞれのモジュールのアドレス又は分岐処理を行う場合におけるジャンプの幅を示す値(オフセット値)と、6ビットの制御ビットとが格納される。図7に示す例では、各ページの下位10ビットをモジュールのアドレス又はオフセット値が占め、上位6ビットを制御ビットが占めている。
制御ビットは、例えば、回路制御部4に分岐処理を行わせるか否かを示す2ビット(以下、分岐制御ビットと呼ぶ)と、分岐処理を行わせる場合における分岐条件を示す4ビット(以下、分岐条件定義ビットと呼ぶ)とより構成されている。
分岐制御ビットは、所定の値(例えば2進数“10”)をとる場合、更に当該分岐制御ビットと同じページに含まれる分岐条件定義ビットが示す条件が満たされた場合は、当該ページのページアドレスを基点として、当該ページに格納されているオフセット値の分ジャンプする(つまり、当該ページのページアドレスと当該ページに格納されているオフセット値との和にあたるページアドレスを有するページ(すなわちジャンプ先のページ)に格納されているデータを読み込む)ことを、回路制御部4に指示する。
一方、分岐制御ビットは、上述の所定の値以外の値(例えば2進数“00”又は“01”)をとる場合は、当該分岐制御ビットと同じページに含まれるアドレスにより特定されるモジュールをモジュール記憶部2より読み出し、読み出したモジュールが示す通りにプログラマブル論理回路1を再構成して、当該ページの次のページ(具体的には、例えば当該ページのページアドレスに1を加えた値をページアドレスとするページ)に格納されているデータを読み込むことを、回路制御部4に指示する。
分岐条件定義ビットは、例えば、値が2進数“0000”をとる場合、「信号Cond(0)が値“0”を有していること」をジャンプ(条件ジャンプ)実行の条件とすることを示す。
また、例えば値が2進数“0001”をとる場合、「信号Cond(1)が値“0”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“0010”をとる場合、「信号Cond(2)が値“0”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“0011”をとる場合、「信号Cond(3)が値“0”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“0100”をとる場合、「信号Cond(4)が値“0”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“1000”をとる場合、「信号Cond(0)が値“1”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“1001”をとる場合、「信号Cond(1)が値“1”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“1010”をとる場合、「信号Cond(2)が値“1”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“1011”をとる場合、「信号Cond(3)が値“1”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“1100”をとる場合、「信号Cond(4)が値“1”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が2進数“0111”又は“1111”をとる場合は、「当該分岐条件定義ビットと同じページに含まれる分岐制御ビットが上述の所定の値を有している限り必ずジャンプする(無条件ジャンプする)」という条件を示す。
なお、信号Cond(0)〜Cond(4)は、条件の成否を監視する処理を行っている論理回路BFBC、他の処理の結果を保持する処理を行っている論理回路BQBCあるいは監視の結果を出力する処理を行っている出力論理回路BOBCが回路制御部4に供給する計5ビットの信号である。いかなる場合に論理回路BFBC、論理回路BQBCあるいは出力論理回路BOBCが信号Cond(0)〜Cond(4)を供給するかは、例えばモジュールに予め記述されているものとする。また、条件の成否を監視する対象になり得るものとしては、条件ジャンプを実行する条件の他、例えば、他の処理を呼び出す条件、呼び出しを行った素の処理へのリターンを行う条件、等が考えられる。
回路制御部4は、例えばCPU(Central Processing Unit)等のプロセッサや、このプロセッサが実行するプログラムを記憶するROM(Read Only Memory)等の不揮発性メモリなどより構成されるコントローラからなる。あるいは、回路制御部4を構成するコントローラは、専用の電子回路より構成されていてもよい。
回路制御部4は、例えば、図9に示す処理を行う。回路制御部4が、プロセッサ及び不揮発性メモリなどより構成されている場合は、例えばこの不揮発性メモリが記憶するプログラムをこのプロセッサが読み込んで実行することにより、このプロセッサが図9に示す処理を行うものとすればよい。
すなわち、回路制御部4は、例えば、動作を開始するとまず、モジュールアドレス記憶部3の最上位のページアドレスを有するページに格納されているデータ(つまり、制御ビットと、モジュールのアドレス若しくはオフセット値)を読み込む(図9、ステップS1)。
次に、回路制御部4は、後述のステップS5、ステップS7又はステップS9でモジュールアドレス記憶部3から最も新しくデータを読み込んだページが最後のページであるか否か、すなわち、最下位のページアドレスを与えられたページであるか否かを判別する(ステップS2)。そして、最後のページであると判別すると、処理を終了する。
一方、最後のページではないと判別すると、回路制御部4は、モジュールアドレス記憶部3から最も新しく読み込んだデータに含まれる制御ビットが、(a)モジュールの読み込み、又は(b)分岐(条件ジャンプや無条件ジャンプ)のいずれの処理を指示するものであるかを判別する(ステップS3)。
そして、(a)の処理を指示するものであると判別すると、回路制御部4は、モジュールアドレス記憶部3からもっとも新しく読み込んだデータに含まれるアドレスにより特定されるモジュールをモジュール記憶部2より読み込み、このモジュールが表す論理的構成をとるよう、プログラマブル論理回路1を再構成する(ステップS4)。ステップS4で回路制御部4は、具体的には、例えば上述の制御信号ConfigI、ConfigFi、ConfigFf、ConfigFo、ConfigQi、ConfigQo、ConfigO及びConfigLを生成してプログラマブル論理回路1に供給することにより、プログラマブル論理回路1の再構成を行う。
ステップS4の処理が終わると、回路制御部4は、モジュールアドレス記憶部3からもっとも新しくデータを読み込んだページの次のページに格納されているデータを読み込み(ステップS5)、処理をステップS2に戻す。
一方、ステップS3で、制御ビットが(b)の処理を指示するものであると判別すると、回路制御部4は、当該制御ビットに含まれる分岐条件定義ビットが、(c)無条件ジャンプ、又は(d)条件ジャンプのいずれの処理を指示するものであると判別する(ステップS6)。ステップS6で回路制御部4は、具体的には、分岐条件定義ビットの値が“0111”又は“1111”であるか否かを判別し、これらの値のいずれかであれば無条件ジャンプを指示するものであると判別し、その他の値であれば、条件ジャンプを指示するものであると判別する。
そして、無条件ジャンプを指示するものであるとステップS6で判別すると、回路制御部4は、当該制御ビットと同じページに含まれていたオフセット値を参照し、当該オフセット値の分ジャンプし(すなわち、ジャンプ先のページに格納されているデータを読み込み)(ステップS7)、処理をステップS2に戻す。
一方、条件ジャンプを指示するものであるとステップS6で判別すると、回路制御部4は、例えばプログラマブル論理回路1が供給する信号Cond(0)〜Cond(4)を取得する(ステップS8)。そして回路制御部4は、分岐条件定義ビットが示す分岐条件が成就しているか否かを、取得した信号Cond(0)〜Cond(4)が示す値などに基づいて判別する(ステップS9)。そして、分岐条件が成就していないと判別すると、モジュールアドレス記憶部3からもっとも新しくデータを読み込んだページの次のページに格納されているデータを読み込み(ステップS10)、処理をステップS2に戻す。一方、成就していると判別すると、回路制御部4はステップS7に処理を移す。
一方、プログラマブル論理回路1は、外部から入力論理回路BIBCに供給された信号や、自己の論理回路BQBCが保持している過去の演算結果を用いて、当該信号が供給された時点での自己の論理的構成に従った演算を行う。そして、演算結果を示す信号を論理回路BQBCに保持し、あるいは出力論理回路BOBCから出力する。
上述の動作を行うことにより、このプログラマブル論理回路装置は、プログラマブル論理回路1の再構成を所定の順序で逐次に行えるだけでなく、条件分岐や無条件分岐のような複雑な手順による再構成も円滑に実行できる。
なお、このプログラマブル論理回路装置の構成は上述のものに限られない。
例えば、1個の記憶装置がモジュール記憶部2及びモジュールアドレス記憶部3の機能を行うようにしてもよい。
また、モジュールアドレス記憶部3が記憶するデータのデータ構造は必ずしも上述の通りである必要はなく、例えば、1ページを構成するビットの数は任意である。また、モジュールのアドレス、ページアドレス、オフセット値、分岐制御ビットあるいは分岐条件定義ビットのビット数や、これらがモジュールアドレス記憶部3の個々のページ内で占める位置も任意である。
また、回路制御部4がジャンプを実行する条件も上述のものに限られない。例えば、ジャンプ実行の条件は必ずしも信号Cond(0)〜Cond(4)の値に係るものでなくてもよく、また、信号Condのビット数は必ずしも5ビットでなくてもよい。一方で当該条件は、回路制御部4が取得可能な他の任意の情報に係るものであってもよい。
また、信号Condは、一つ又は複数の時点においてプログラマブル論理回路1の1個又は複数のノードに生じる信号の値に論理演算等の所定の処理を施した結果得られる値を表すものであってもよく、この場合、プログラマブル論理回路1は、例えば当該論理演算等を行う論理回路を備えていればよい。
また、回路制御部4は、上述したような態様のジャンプ(すなわち相対ジャンプ)のみならず、絶対ジャンプを行ってもよい。この場合、例えば、モジュールアドレス記憶部3が記憶する分岐制御ビットは、例えば、相対ジャンプ、絶対ジャンプ、又はジャンプ不実行の3種類の指示を表し得るものとすればよい。そして、分岐制御ビットが絶対ジャンプを指示するものである場合、回路制御部4は、当該分岐制御ビットを含むページにはオフセット値に代えてジャンプ先のページアドレスが格納されていると解釈する(すなわち、当該ページにはオフセット値に代えてジャンプ先のページアドレスが格納される必要がある)ものとすればよい。
また、このプログラマブル論理回路装置は、後入れ先出し(LIFO)スタックをなす記憶領域を有するメモリを更に備えてもよい。そして、このスタックにモジュールアドレス記憶部2内のページのページアドレスを保管し、呼出し・復帰の機能を実現するために用いてもよい。
具体的には、例えば、制御ビットは更に呼出しの処理を指示するデータや復帰の処理を指示するデータを含み得るものとし、一方で、分岐処理におけるジャンプ先となるページに、繰り返し使用するモジュールのアドレスを格納しておき、当該ページの制御ビットには、復帰を指示するデータを含めておく。そして回路制御部4は、当該ページを呼び出す際(つまり、当該ページの呼び出しを指示するデータが制御ビットに含まれているページのデータを読み込んだ際)には、スタックに現在実行中のページの次のページのページアドレスを格納し、ジャンプ先のページに格納されているデータを読み込んでプログラマブル論理回路1を再構成し、次に、スタックに格納されたページアドレスを読み出して当該ページアドレスが示すページへとジャンプすることにより、復帰の処理を行うものとすればよい。
また、プログラマブル論理回路1が実行する処理が他の装置等との同期をとらない形で処理される場合や、処理に要する時間が一定でない場合などに対処するため、モジュールは、論理回路BFBCにプログラマブル論理回路11の処理の終了を監視させ、論理回路BQBCに監視結果を保持させ、出力論理回路BOBCに処理終了を示すデータを回路制御部4へと供給させるように、プログラマブル論理回路1の論理的構成を定義してもよい。
また、モジュールが、所定のクロック数で終了することが予め分かっている処理をプログラマブル論理回路1に実行させるように論理的構成を定義するものである場合、当該モジュールは、プログラマブル論理回路1を更に、クロック信号のクロック数をカウントするカウンター、及び、当該カウンターがカウントしたクロック数が所定数に達したか否かを判別し、達したと判別したとき処理の終了を示すデータを回路制御部4に供給する論理回路として機能させるように、論理的構成を定義してもよい。
また、回路制御部4、モジュールアドレス記憶部3及び/又はモジュール記憶部2が、プログラマブル論理回路1より構成されるようにしてもよい。この場合このプログラマブル論理回路装置は、例えば、プログラマブル論理回路1を回路制御部4、モジュールアドレス記憶部3及び/又はモジュール記憶部2として機能させるための論理的構成を定義するモジュールを予め記憶する不揮発性記憶装置(例えば、ROM(Read Only Memory)等)を更に備えるものとする。そして、プログラマブル論理回路1は、このプログラマブル論理回路装置の起動直後などのタイミングでこの不揮発性記憶装置が記憶するモジュールを読み出し、このモジュールが定義する通りに自己の論理的構成を変化させるための制御回路等を備えていればよい。
以上、この発明の実施の形態を説明したが、この発明にかかるプログラマブル論理回路制御装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、プログラマブル論理回路1に接続されたコンピュータに、上述のモジュール記憶部2、モジュールアドレス記憶部3及び回路制御部4の動作を実行させるためのプログラムを格納した媒体(CD−ROM、MO等)からこれらのプログラムをインストールすることにより、上述の処理を実行するプログラマブル論理回路装置を構成することができる。
また、例えば、通信回線の掲示板(BBS)にこのプログラムをアップロードし、これを通信回線を介して配信してもよく、また、このプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調してこのプログラムを復元するようにしてもよい。そして、このプログラムを起動し、OSの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
なお、OSが処理の一部を分担する場合、あるいは、OSが本願発明の1つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
本発明の実施の形態に係るプログラマブル論理回路装置の構成を示す図である。 プログラマブル論理回路の構成を模式的に示す図である。 入力論理回路BIBCの構成を示す図である。 論理回路BFBCの構成を示す図である。 論理回路BQBCの構成を示す図である。 出力論理回路BOBCの構成を示す図である。 (a)は、マトリクススイッチの構成を示す図であり、(b)は、マトリクススイッチを構成するスイッチ群の構成を示す図である。 モジュールアドレス記憶部が記憶するデータのデータ構造を模式的に示す図である。 回路制御部が行う処理の流れを示すフローチャートである。
符号の説明
1 プログラマブル論理回路
2 モジュール記憶部
3 モジュールアドレス記憶部
4 回路制御部

Claims (9)

  1. 供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
    前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
    順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、を備え、
    前記コントローラは、
    前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
    取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
    モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
    他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
    ことを特徴とするプログラマブル論理回路制御装置。
  2. 前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、他の記憶位置を指定するものである場合、当該他の記憶位置に格納されているデータを取得する処理に移る条件を指定する条件定義データを含んでおり、
    前記コントローラは、
    他の記憶位置を指定していると判別したときは、取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別し、
    満たされていると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得し、
    満たされていないと判別したときは、当該他の記憶位置からのデータの取得を中止する、
    ことを特徴とする請求項1に記載のプログラマブル論理回路制御装置。
  3. 前記条件定義データが指定する条件は、前記プログラマブル論理回路の所定のノードに発生する信号が表す値に係るものであり、
    前記コントローラは、他の記憶位置を指定していると判別したときは、前記プログラマブル論理回路の前記ノードより前記信号を取得し、取得した信号が表す値に基づいて、前記モジュール使用順序指定用メモリより取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別する、
    ことを特徴とする請求項2に記載のプログラマブル論理回路制御装置。
  4. 前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、当該データがモジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを識別する識別データを含んでおり、
    前記コントローラは、前記モジュール使用順序指定用メモリより取得したデータに含まれる識別データに基づいて、当該取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する、
    ことを特徴とする請求項1、2又は3に記載のプログラマブル論理回路制御装置。
  5. 供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置であって、
    順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する手段と、
    取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する手段と、
    モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する手段と、
    他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する手段と、を備える、
    ことを特徴とするプログラマブル論理回路制御装置。
  6. 供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
    前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶し、
    順序付けられた複数の記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納し、
    前記記憶位置に格納されているデータを取得し、
    取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
    モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
    他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを取得する、
    ことを特徴とするプログラマブル論理回路制御方法。
  7. 供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
    順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
    取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
    モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更し、
    他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
    ことを特徴とするプログラマブル論理回路制御方法。
  8. コンピュータを、
    供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
    前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
    順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、して機能させるためのプログラムであって、
    前記コントローラは、
    前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
    取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
    モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
    他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
    ことを特徴とするプログラム。
  9. コンピュータを、供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置として機能させるためのプログラムであって、
    前記コンピュータに、
    順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する機能と、
    取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する機能と、
    モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する機能と、
    他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する機能と、を更に行わせる、
    ことを特徴とするプログラム。
JP2003433210A 2003-12-26 2003-12-26 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム Expired - Fee Related JP3838367B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2003433210A JP3838367B2 (ja) 2003-12-26 2003-12-26 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
PCT/JP2004/019819 WO2005064456A1 (en) 2003-12-26 2004-12-27 Programmable logic circuit control apparatus, programmable logic circuit control method and program
KR1020067014707A KR20070007270A (ko) 2003-12-26 2004-12-27 프로그램 가능 논리 회로 제어 장치, 프로그램 가능 논리 회로 제어 방법 및 프로그램을 포함하는 기록 매체
CNA2004800421344A CN1973259A (zh) 2003-12-26 2004-12-27 可编程逻辑电路控制装置、可编程逻辑电路控制方法以及程序
EP04808169A EP1697829A4 (en) 2003-12-26 2004-12-27 CIRCUIT CONTROL DEVICE WITH PROGRAMMABLE LOGIC, CIRCUIT CONTROL PROCEDURES WITH PROGRAMMABLE LOGIC AND PROGRAM
TW093141053A TWI290282B (en) 2003-12-26 2004-12-27 Programmable logic circuit control apparatus, programmable logic circuit control method and a computer readable recording medium recording a programmable logic circuit control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003433210A JP3838367B2 (ja) 2003-12-26 2003-12-26 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005190343A JP2005190343A (ja) 2005-07-14
JP3838367B2 true JP3838367B2 (ja) 2006-10-25

Family

ID=34736508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003433210A Expired - Fee Related JP3838367B2 (ja) 2003-12-26 2003-12-26 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム

Country Status (6)

Country Link
EP (1) EP1697829A4 (ja)
JP (1) JP3838367B2 (ja)
KR (1) KR20070007270A (ja)
CN (1) CN1973259A (ja)
TW (1) TWI290282B (ja)
WO (1) WO2005064456A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7579864B2 (en) * 2005-11-25 2009-08-25 Panasonic Corporation Logic block control system and logic block control method
JP4997821B2 (ja) * 2006-05-10 2012-08-08 富士ゼロックス株式会社 データ処理装置及びそのプログラム
CN100444133C (zh) * 2006-06-13 2008-12-17 深圳市研祥智能科技股份有限公司 计算机访问扩充内存的方法
CN100456232C (zh) * 2007-03-19 2009-01-28 中国人民解放军国防科学技术大学 针对流处理的存储访问与调度装置
JP5277615B2 (ja) * 2007-11-22 2013-08-28 富士ゼロックス株式会社 データ処理装置及びデータ処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023564A (en) * 1996-07-19 2000-02-08 Xilinx, Inc. Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions
JP3611714B2 (ja) * 1998-04-08 2005-01-19 株式会社ルネサステクノロジ プロセッサ
JP3587095B2 (ja) * 1999-08-25 2004-11-10 富士ゼロックス株式会社 情報処理装置

Also Published As

Publication number Publication date
JP2005190343A (ja) 2005-07-14
TWI290282B (en) 2007-11-21
CN1973259A (zh) 2007-05-30
EP1697829A1 (en) 2006-09-06
EP1697829A4 (en) 2007-05-02
WO2005064456A1 (en) 2005-07-14
KR20070007270A (ko) 2007-01-15
TW200601029A (en) 2006-01-01

Similar Documents

Publication Publication Date Title
US10740435B2 (en) Programmable logic integrated circuit, design support system, and configuration method
CN108563871B (zh) 用于配置和重新配置部分重新配置区域的方法和装置
WO1995032478A1 (en) Integrated circuit having programmable analog functions and computer aided techniques for programming the circuit
US5508636A (en) Electronic system organised as an array of cells
CN102810082A (zh) 带有动态端口的优先级分配能力的存储器控制器
WO2001095099A1 (fr) Systeme et procede de gestion de circuits de traitement d'informations a fonction variable
US9560232B2 (en) Image processing apparatus, method of controlling the same, and storage medium for configuring a reconfigurable device
US4326266A (en) Monitoring system for a modular digital data processor
JP3838367B2 (ja) プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
JP3491579B2 (ja) 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体
JPH06125067A (ja) 半導体集積回路及びその設計方法
JP3836109B2 (ja) プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
US9621159B2 (en) Reconfigurable semiconductor integrated circuit and electronic device
JPH1117524A (ja) プログラマブル論理回路システムおよびプログラマブル論理回路装置の再構成方法
JP2004200311A (ja) 論理検証装置
US7996657B2 (en) Reconfigurable computing circuit
JP4905660B2 (ja) プログラマブルデバイス制御装置、プログラマブル論理回路装置及びプログラマブルデバイスの制御方法
US11115024B2 (en) Integrated circuit, test method for testing integrated circuit, and electronic device
US20050289421A1 (en) Semiconductor chip
JP6553694B2 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法
Oliveira et al. Specification, implementation and testing of HFSMs in dynamically reconfigurable FPGAs
JP2006253815A (ja) 回路デバイスシステムおよびコンフィギュレーション方法
JP4269889B2 (ja) データ処理装置
JP2008219728A (ja) 再構成可能な演算処理回路
JP2001196921A (ja) プログラマブル集積回路装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060606

AA92 Notification that decision to refuse application was cancelled

Free format text: JAPANESE INTERMEDIATE CODE: A971092

Effective date: 20060620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060601

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: 20060725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees