[go: up one dir, main page]

JP4892970B2 - Method of using electronic circuit and programmable logic device - Google Patents

Method of using electronic circuit and programmable logic device Download PDF

Info

Publication number
JP4892970B2
JP4892970B2 JP2005375967A JP2005375967A JP4892970B2 JP 4892970 B2 JP4892970 B2 JP 4892970B2 JP 2005375967 A JP2005375967 A JP 2005375967A JP 2005375967 A JP2005375967 A JP 2005375967A JP 4892970 B2 JP4892970 B2 JP 4892970B2
Authority
JP
Japan
Prior art keywords
circuit
logic device
configuration information
programmable logic
state transition
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
JP2005375967A
Other languages
Japanese (ja)
Other versions
JP2007180810A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005375967A priority Critical patent/JP4892970B2/en
Publication of JP2007180810A publication Critical patent/JP2007180810A/en
Application granted granted Critical
Publication of JP4892970B2 publication Critical patent/JP4892970B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Description

本発明は電子回路及びプログラマブル論理デバイスの使用方法に係り、特に、複数の論理回路セルと、個々の論理回路セルの間に設けられ個々の論理回路セルの間の電気的な接続を再構成可能な配線が設けられ、任意の回路を構成可能でかつ一旦構成した回路を変更可能なプログラマブル論理デバイスを備えた電子回路及び該電子回路に適用可能なプログラマブル論理デバイスの使用方法に関する。   The present invention relates to a method of using an electronic circuit and a programmable logic device, and more particularly, a plurality of logic circuit cells and an electrical connection between the individual logic circuit cells provided between the individual logic circuit cells can be reconfigured. The present invention relates to an electronic circuit provided with a programmable logic device provided with various wirings, capable of configuring an arbitrary circuit and capable of changing the circuit once configured, and a method of using the programmable logic device applicable to the electronic circuit.

近年、ASIC(Application Specific Integrated Circuit)の開発コストの増大を背景として、プログラム可能な論理ICであるプログラマブル論理デバイス(PLD:Programmable Logic Device)が普及してきている。PLDは、AND回路やOR回路、NOT回路、LUT(LookUp Table)回路、Dフリップフロップ等の論理素子がチップ内に多数収められていると共に、個々の論理素子の間の接続を外部から設定可能に構成されており、個々の論理素子の間の接続等を規定する構成情報を与えることで所望の回路を構成可能で、PLDに与える構成情報を変更することで回路構成を変更(再構成)することも可能とされている。なお、PLDにはSPLD(Simple PLD)、CPLD(Complex PLD)、FPGA(Field Programmable Gate Array)等があり、最近では構成情報を1クロックサイクルで再ローディング可能なDAP/DNAも出回ってきている。   In recent years, programmable logic devices (PLDs), which are programmable logic ICs, have become widespread against the background of an increase in development costs of ASICs (Application Specific Integrated Circuits). PLD has many logic elements such as AND circuit, OR circuit, NOT circuit, LUT (LookUp Table) circuit, D flip-flop and so on, and connection between individual logic elements can be set from outside. It is possible to configure a desired circuit by giving configuration information that defines connections between individual logic elements, etc., and change the circuit configuration by changing the configuration information given to the PLD (reconfiguration) It is also possible to do. PLDs include SPLD (Simple PLD), CPLD (Complex PLD), FPGA (Field Programmable Gate Array), and the like. Recently, DAP / DNA capable of reloading configuration information in one clock cycle is also available.

また、PLD上に構成する回路を再構成可能であることを利用して、PLD上に構成する回路を適宜切り替える技術も提案されており、例えば特許文献1,2には、回路構成が書き替え可能なプログラマブルデバイス上に構成するCPUの個数やCPUに接続されるバスのビット幅を変更することで、CPUの使用効率を向上させると共に消費電力を低減する技術が開示されている。   In addition, a technique for appropriately switching the circuit configured on the PLD using the fact that the circuit configured on the PLD can be reconfigured has been proposed. For example, Patent Documents 1 and 2 rewrite the circuit configuration. There has been disclosed a technique for improving the usage efficiency of a CPU and reducing power consumption by changing the number of CPUs configured on a possible programmable device and the bit width of a bus connected to the CPU.

また、特許文献3には、パイプライン処理の段数が異なる複数の回路情報を記憶しておき、FPGAの温度が高い場合には、動作周波数を下げると共にパイプライン処理の段数が少ない回路をFPGA上に構成し、FPGAの温度が低い場合には、動作周波数を上げると共にパイプライン処理の段数が多い回路をFPGA上に構成する技術が開示されている。
特開2003−186680号公報 特開2005−50363号公報 特開2004−22724号公報
Patent Document 3 stores a plurality of pieces of circuit information having different numbers of stages of pipeline processing. When the FPGA temperature is high, a circuit having a lower number of stages of pipeline processing is reduced on the FPGA while lowering the operating frequency. When the temperature of the FPGA is low, a technique for increasing the operating frequency and configuring a circuit with a large number of pipeline processing stages on the FPGA is disclosed.
JP 2003-186680 A JP 2005-50363 A Japanese Patent Laid-Open No. 2004-22724

特許文献1〜3のように、高速な回路をPLD上に構成するか低消費電力の回路をPLD上に構成するかを各種の条件に応じて切り替える技術は、様々な用途に使用可能な汎用性の高い技術として発展が期待される。   As described in Patent Documents 1 to 3, a technique for switching whether to configure a high-speed circuit on a PLD or a low-power consumption circuit on a PLD according to various conditions is a general-purpose that can be used for various purposes. It is expected to develop as a highly functional technology.

しかしながら、特許文献1,2に記載の技術は、CPUの個数やCPUに接続されるバスのビット幅を切り替えることで回路の動作速度/消費電力を切り替えるものであり、バスのビット幅を切り替えると、PLD上に構成した回路と外部回路との間のデータ送受のI/F(ビット幅やデータ転送レート等)を切り替える必要が生ずる可能性がある。従って、特許文献1,2に記載の技術は、PLD上に形成した回路の構成を切り替えても、PLD上に構成した回路と外部との間のデータ送受のI/Fは変更したくない等の場合に適用が難しいという問題がある。   However, the techniques described in Patent Documents 1 and 2 switch the operation speed / power consumption of a circuit by switching the number of CPUs and the bit width of a bus connected to the CPU. There is a possibility that it is necessary to switch the I / F (bit width, data transfer rate, etc.) of data transmission / reception between the circuit configured on the PLD and the external circuit. Therefore, the techniques described in Patent Documents 1 and 2 do not want to change the I / F of data transmission / reception between the circuit configured on the PLD and the outside even if the configuration of the circuit formed on the PLD is switched. In this case, there is a problem that it is difficult to apply.

また、特許文献3に記載の技術は、パイプライン処理の段数を変化させることで動作速度/消費電力を切り替えているので、PLD上に構成する回路がパイプライン化に適した処理を行う回路に限られ、例えばシーケンサ等のようにパイプライン化に適さない処理を行う回路には適用が困難であるという問題がある。   In addition, since the technique described in Patent Document 3 switches the operation speed / power consumption by changing the number of stages of pipeline processing, the circuit configured on the PLD is a circuit that performs processing suitable for pipeline processing. However, there is a problem that it is difficult to apply to a circuit that performs processing that is not suitable for pipelining, such as a sequencer.

本発明は上記事実を考慮して成されたもので、汎用性を確保しつつ回路の動作速度/消費電力を切替可能な電子回路及びプログラマブル論理デバイスの使用方法を得ることが目的である。   The present invention has been made in view of the above facts, and an object of the present invention is to obtain a method of using an electronic circuit and a programmable logic device capable of switching the operation speed / power consumption of the circuit while ensuring versatility.

求項1記載の発明に係る電子回路は、複数の論理回路セルと、個々の前記論理回路セルの間に設けられ前記個々の論理回路セルの間の電気的な接続を再構成可能な配線が設けられ、任意の回路を構成可能でかつ回路構成の再構成が可能なプログラマブル論理デバイスと、高速動作可能な状態遷移回路である第1回路を前記プログラマブル論理デバイス上に構成させるための第1構成情報と、低消費電力で動作可能な状態遷移回路である第2回路を前記プログラマブル論理デバイス上に構成させるための第2構成情報を各々記憶する記憶手段と、前記プログラマブル論理デバイス上に構成する状態遷移回路が、前記プログラム論理デバイスが実装される基板に接続される構成に応じて前記第1回路又は前記第2回路に切り替わるように、前記記憶手段に記憶されている前記第1構成情報又は前記第2構成情報に従って少なくとも前記配線を再構成させることで、前記プログラマブル論理デバイス上に前記第1回路又は前記第2回路を構成させる再構成手段と、を含んで構成されている。 electronic circuit according to the invention Motomeko 1 described, a plurality of logic circuit cells, electrically connected reconfigurable wiring between the individual logic cells is provided between the individual said logic circuit cells A programmable logic device capable of configuring any circuit and reconfiguring the circuit configuration, and a first circuit that is a state transition circuit capable of high-speed operation on the programmable logic device. Storage means for storing configuration information and second configuration information for configuring a second circuit, which is a state transition circuit operable with low power consumption, on the programmable logic device, and a configuration on the programmable logic device state transition circuit, to switch to the first circuit or the second circuit in accordance with the configuration in which the program logic device is connected to the board mounted, the Reconfiguration means for configuring the first circuit or the second circuit on the programmable logic device by reconfiguring at least the wiring in accordance with the first configuration information or the second configuration information stored in the storage unit And.

請求項2記載の発明は、請求項1記載の発明において、前記基板に実装された前記プログラム論理デバイスは、電子部品に接続され、前記電子部品との間で情報伝送を行い、前記再構成手段は、前記プログラム論理デバイスが実装される基板に接続される構成に応じて、前記プログラマブル論理デバイスと前記電子部品との間の前記情報伝送の周波数を変更することを特徴としている。The invention according to claim 2 is the invention according to claim 1, wherein the program logic device mounted on the board is connected to an electronic component, transmits information to and from the electronic component, and the reconfiguration means Is characterized in that the frequency of the information transmission between the programmable logic device and the electronic component is changed according to the configuration connected to the board on which the program logic device is mounted.

請求項3記載の発明は、請求項1記載の発明において、前記状態遷移回路は、各々1ビットの値を保持する保持回路と、現在の内部状態がm種類の内部状態のうちの特定内部状態か否かを表す1ビットの値を前記保持回路に保持させると共に、前記特定内部状態への遷移又は前記特定内部状態からの遷移に関連する所定の事象が発生する毎に、前記保持回路に保持されている1ビットの値を変更する変更回路と、が前記内部状態の種類数mと同数だけ各々設けられ、個々の前記変更回路は、個々の前記保持回路に前記m種類の内部状態のうちの互いに異なる内部状態に対応する1ビットの値を保持させることを特徴としている。According to a third aspect of the present invention, in the first aspect of the invention, the state transition circuit includes a holding circuit that holds a 1-bit value and a specific internal state among m types of internal states. 1-bit value indicating whether or not the data is held in the holding circuit, and held in the holding circuit every time a predetermined event related to the transition to or from the specific internal state occurs And a change circuit for changing the value of 1 bit, which is the same as the number m of types of internal states, is provided, and each of the change circuits is provided in each of the m types of internal states in each holding circuit. One bit value corresponding to different internal states is held.

請求項4記載の発明は、請求項1記載の発明において、前記状態遷移回路は、2を底とする前記内部状態の種類数mの対数値以上のn個設けられ各々1ビットの値を保持する保持回路と、現在の内部状態を表すnビットの値を前記n個の保持回路に保持させると共に、所定の事象が発生する毎に、前記n個の保持回路に保持されているnビットの値を、発生した事象の種類に応じた内部状態を表すnビットの値に変更する単一の変更回路と、を含んで構成されていることを特徴としている。According to a fourth aspect of the present invention, in the first aspect of the present invention, the state transition circuit is provided with n number of logarithmic values equal to or greater than the logarithmic value of the number m of the internal states with 2 as the base, and each holds a value of 1 bit. And holding the n-bit value representing the current internal state in the n holding circuits, and each time a predetermined event occurs, the n-bit value held in the n holding circuits And a single change circuit that changes the value to an n-bit value that represents an internal state corresponding to the type of event that has occurred.

請求項5記載の発明は、請求項4記載の発明において、前記m種類の内部状態の何れかに各々対応しているm種類のnビットの値は、当該値が前記変更回路によって変更された際の変更後のnビットの値が、変更前のnビットの値に対してnビット中の1ビットのみが変化するように定められていることを特徴としている。According to a fifth aspect of the invention, in the fourth aspect of the invention, the m types of n-bit values respectively corresponding to any of the m types of internal states are changed by the change circuit. The n-bit value after the change is determined so that only one of the n bits changes with respect to the n-bit value before the change.

請求項6記載の発明に係るプログラマブル論理デバイスの使用方法は、複数の論理回路セルと、前記個々の論理回路セルの間に設けられ個々の論理回路セルの間の電気的な接続を再構成可能な配線が設けられ、任意の回路を構成可能でかつ回路構成の再構成が可能なプログラマブル論理デバイスを使用するにあたり、高速動作可能な状態遷移回路である第1回路を前記プログラマブル論理デバイス上に構成させるための第1構成情報と、低消費電力で動作可能な状態遷移回路である第2回路を前記プログラマブル論理デバイス上に構成させるための第2構成情報を記憶手段に各々記憶しておき、According to a sixth aspect of the present invention, there is provided a method of using a programmable logic device, wherein a plurality of logic circuit cells and an electrical connection between the individual logic circuit cells provided between the individual logic circuit cells can be reconfigured. A first circuit, which is a state transition circuit capable of high-speed operation, is configured on the programmable logic device when using a programmable logic device in which arbitrary wiring is provided and an arbitrary circuit can be configured and the circuit configuration can be reconfigured First configuration information for causing the storage device to store second configuration information for configuring a second circuit, which is a state transition circuit operable with low power consumption, on the programmable logic device, 前記プログラマブル論理デバイス上に構成する状態遷移回路が、前記プログラム論理デバイスが実装される基板に接続される構成に応じて前記第1回路又は前記第2回路に切り替わるように、前記記憶手段に記憶されている前記第1構成情報又は前記第2構成情報に従って少なくとも前記配線を再構成させることで、前記プログラマブル論理デバイス上に前記第1回路又は前記第2回路を構成させることを特徴としている。A state transition circuit configured on the programmable logic device is stored in the storage unit so as to switch to the first circuit or the second circuit according to a configuration connected to a substrate on which the program logic device is mounted. The first circuit or the second circuit is configured on the programmable logic device by reconfiguring at least the wiring according to the first configuration information or the second configuration information.

発明は、汎用性を確保しつつ回路の動作速度/消費電力を切替えることが可能となる、という効果を有する。 The invention makes it possible to switch the operating speed / power consumption of the circuit while ensuring the versatility, has a gutter Cormorant effect.

以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には、本発明に係る電子回路に相当するプリンタI/F(インタフェース)カード30が搭載され、プリントサーバとして機能することが可能なコンピュータ10が示されている。   Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a computer 10 equipped with a printer I / F (interface) card 30 corresponding to an electronic circuit according to the present invention and capable of functioning as a print server.

コンピュータ10はOS(Operating System)の制御下で各種プログラムを実行するCPU12を備えており、CPU12はプロセッサ直結バスであるFSB(FrontSide Bus)14と接続されている。また、コンピュータ10にはPCIバス(Peripheral Component Interconnect Bus)16が設けられており、FSB14はCPUブリッジ(ホスト−PCIブリッジ)18を介してPCIバス16と接続されている。CPUブリッジ18はメモリ20へのアクセス動作を制御するためのメモリコントローラ機能や、FSB18とPCIバス20の間のデータ転送速度の差を吸収するためのデータバッファ等を含んで構成されている。   The computer 10 includes a CPU 12 that executes various programs under the control of an OS (Operating System), and the CPU 12 is connected to an FSB (Front Side Bus) 14 that is a processor direct connection bus. The computer 10 is provided with a PCI (Peripheral Component Interconnect Bus) 16, and the FSB 14 is connected to the PCI bus 16 via a CPU bridge (host-PCI bridge) 18. The CPU bridge 18 includes a memory controller function for controlling an access operation to the memory 20 and a data buffer for absorbing a difference in data transfer speed between the FSB 18 and the PCI bus 20.

メモリ20はCPUブリッジ18に接続され、CPU12が実行する各種のプログラム(OSや各種デバイスドライバ、BIOS(Basic Input/Output System)、各種のアプリケーション・プログラム等)を読み込んだり、前記プログラムで処理されたデータを書き込む作業領域として利用される。またCPUブリッジ18には、ビデオサブシステムを介してディスプレイが接続されている(図示省略)。ビデオサブシステムは、CPU12からの描画命令を実際に処理し、処理した描画情報をビデオメモリ(VRAM)に一旦書き込むと共に、VRAMから描画情報を読み出してディスプレイに描画データとして出力するビデオコントローラを含んで構成されている。   The memory 20 is connected to the CPU bridge 18 and reads various programs (OS, various device drivers, BIOS (Basic Input / Output System), various application programs, etc.) executed by the CPU 12, and is processed by the programs. Used as a work area for writing data. A display is connected to the CPU bridge 18 via a video subsystem (not shown). The video subsystem includes a video controller that actually processes a drawing command from the CPU 12, writes the processed drawing information into a video memory (VRAM), and reads out the drawing information from the VRAM and outputs it to the display as drawing data. It is configured.

また、PCIバス16にはI/Oブリッジ22が接続されており、I/Oブリッジ22にはHDD(Hard Disk Drive)24が接続されている。I/Oブリッジ22は、PCIバス16とISAバス(図示省略)とのブリッジ機能、DMAコントローラ機能、プログラマブル割り込みコントローラ(PIC)機能、プログラマブル・インターバル・タイマ(PIT)機能、IDE(Integrated Drive Electronics)インタフェース機能、USB(Universal Serial Bus)機能、SMB(System Management Bus)インタフェース機能を備えている。DMAコントローラ機能は、周辺機器(例えばHDD24)とメモリ20との間のデータ転送をCPU12の介在なしに実行するための機能である。またPIC機能は、周辺機器からの割り込み要求(IRQ)に応答して所定のプログラム(割り込みハンドラ)を実行させる機能であり、PIT機能はタイマ信号を所定周期で発生させる機能である。   An I / O bridge 22 is connected to the PCI bus 16, and an HDD (Hard Disk Drive) 24 is connected to the I / O bridge 22. The I / O bridge 22 includes a bridge function between the PCI bus 16 and an ISA bus (not shown), a DMA controller function, a programmable interrupt controller (PIC) function, a programmable interval timer (PIT) function, and an IDE (Integrated Drive Electronics). It has an interface function, a USB (Universal Serial Bus) function, and an SMB (System Management Bus) interface function. The DMA controller function is a function for executing data transfer between a peripheral device (for example, the HDD 24) and the memory 20 without intervention of the CPU 12. The PIC function is a function for executing a predetermined program (interrupt handler) in response to an interrupt request (IRQ) from a peripheral device, and the PIT function is a function for generating a timer signal at a predetermined cycle.

また、PCIバス16にはプリンタI/Fカード30が接続されている。プリンタI/Fカード30は、独自I/Fを有する最大2台のプリンタ26A,26Bをコンピュータに接続しコンピュータからの指示に応じてプリンタ26で印刷処理を行わせるためのI/Fカードであり、コンピュータ10に設けられた図示しないPCIスロットに挿入されることでPCIバス16に接続されている。プリンタI/Fカード30には、PCIバス16経由での制御信号やデータの送受を司るPCI I/F部32と、プリンタI/Fカード30の各部を制御するCPU34と、CPU34によって実行されるプログラムや各種の情報が書き込まれたフラッシュROM36と、DRAM等から成るメモリ38と、本発明に係るプログラマブル論理デバイスとしてのFPGA(Field Programmable Gate Array)40と、プリンタ26の接続ケーブル44を接続するための2個のコネクタ42が各々設けられている。なお、プリンタI/Fカード30に搭載された回路は本発明に係る電子回路に対応している。   A printer I / F card 30 is connected to the PCI bus 16. The printer I / F card 30 is an I / F card for connecting a maximum of two printers 26A and 26B having a unique I / F to a computer and causing the printer 26 to perform printing processing in accordance with an instruction from the computer. The PC 10 is connected to the PCI bus 16 by being inserted into a PCI slot (not shown) provided in the computer 10. The printer I / F card 30 is executed by the CPU 34, a PCI I / F unit 32 that controls transmission and reception of control signals and data via the PCI bus 16, a CPU 34 that controls each unit of the printer I / F card 30, and the CPU 34. To connect a flash ROM 36 in which programs and various types of information are written, a memory 38 including a DRAM, an FPGA (Field Programmable Gate Array) 40 as a programmable logic device according to the present invention, and a connection cable 44 of the printer 26. These two connectors 42 are provided. The circuit mounted on the printer I / F card 30 corresponds to the electronic circuit according to the present invention.

FPGA40は、チップに構成情報を与えることで当該構成情報に応じた任意の回路を構成させることが可能なPLDの一種であり、FPGA40のチップ上には、例として図2に示すように、多数個の論理回路セル46がマトリクス上に配列されている。   The FPGA 40 is a type of PLD that can be configured with an arbitrary circuit according to the configuration information by giving configuration information to the chip. As shown in FIG. 2 as an example, there are many FPGAs on the FPGA 40 chip. A number of logic circuit cells 46 are arranged on a matrix.

個々の論理回路セル46は各々同一構成とされており、図3に示すように、4入力2出力のLUT(ルックアップテーブル)60、D−FF(フリップフロップ)62、6個のプログラマブル・マルチプレクサ(以下、単にMUXという)64,66,68,70,72,74、バッファ76を備えている。論理回路セル46の3本の入力信号線A〜CはLUT60の入力端に各々接続され、入力信号線DはMUX64の2個の入力端の一方とMUX66の2個の入力端の一方に各々接続されている。MUX64の他方の入力端はD−FF62のQ端子に接続され、MUX64の出力端はLUT60の残りの入力端に接続されており、MUX66の他方の入力端はLUT60の出力端Gに接続され、MUX66の出力端はD−FF62のR端子に接続されている。   The individual logic circuit cells 46 have the same configuration, and as shown in FIG. 3, a 4-input 2-output LUT (look-up table) 60, a D-FF (flip-flop) 62, and six programmable multiplexers. 64 (hereinafter simply referred to as “MUX”) 64, 66, 68, 70, 72, 74, and a buffer 76. The three input signal lines A to C of the logic circuit cell 46 are respectively connected to the input terminals of the LUT 60, and the input signal line D is connected to one of the two input terminals of the MUX 64 and one of the two input terminals of the MUX 66, respectively. It is connected. The other input terminal of the MUX 64 is connected to the Q terminal of the D-FF 62, the output terminal of the MUX 64 is connected to the remaining input terminal of the LUT 60, the other input terminal of the MUX 66 is connected to the output terminal G of the LUT 60, The output terminal of the MUX 66 is connected to the R terminal of the D-FF 62.

また、入力信号線AはMUX68の2個の入力端の一方に接続されており、MUX68の他方の入力端はLUT60の出力端Fに、MUX68の出力端はD−FF62のS端子に接続されている。またMUX70の3個の入力端は、LUT60の出力端G、MUX64の出力端及びクロック信号入力線Kに各々接続され、MUX70の出力端はバッファ76の入力端に接続されている。バッファ76の出力端は抵抗78を介して給電ラインに接続されると共に、D−FF62の同期信号入力端に接続されている。また、D−FF62のD端子はLUT60の出力端Fに接続され、MUX72,74の3個の入力端はLUT60の出力端F、LUT60の出力端G、D−FF62のQ端子に各々接続され、MUX72の出力端は出力信号線Xに、MUX74の出力端は出力信号線Yに各々接続されている。   The input signal line A is connected to one of the two input terminals of the MUX 68. The other input terminal of the MUX 68 is connected to the output terminal F of the LUT 60, and the output terminal of the MUX 68 is connected to the S terminal of the D-FF 62. ing. The three input terminals of the MUX 70 are connected to the output terminal G of the LUT 60, the output terminal of the MUX 64, and the clock signal input line K, respectively. The output terminal of the MUX 70 is connected to the input terminal of the buffer 76. The output terminal of the buffer 76 is connected to the power supply line via the resistor 78 and is also connected to the synchronization signal input terminal of the D-FF 62. The D terminal of the D-FF 62 is connected to the output terminal F of the LUT 60, and the three input terminals of the MUXs 72 and 74 are connected to the output terminal F of the LUT 60, the output terminal G of the LUT 60, and the Q terminal of the D-FF 62, respectively. The output terminal of the MUX 72 is connected to the output signal line X, and the output terminal of the MUX 74 is connected to the output signal line Y.

FPGA40に与える構成情報には、FPGA40上の個々の論理回路セル46に与えるセル構成情報と、FPGA40上の個々のスイッチマトリクス50及び個々のI/Oブロック54(何れも後述)に与える配線構成情報を含んで構成されており、論理回路セル46に設けられた個々のMUX64,66,68,70,72,74は、FPGA40に与えられた構成情報のうち、対応する論理回路セル46に与えられたセル構成情報に従い、複数個の入力端を介して入力される複数の信号のうちの何れか1つを選択的に出力する。従って、論理回路セル46に与えるセル構成情報の内容を切り替えることで、論理回路セル46によって実現される論理回路も、図4(A)〜(C)に示すように切り替わることになる。また、LUT60は変換に使用する変換データを切り替えることで様々な機能(変換)を実現できるが、論理回路セル46に与えるセル構成情報を切り替えることでLUT60に設定する変換データも切り替え可能とされており、図4(A)〜(C)に示す論理回路においてLUT60に設定する変換データを切り替えることで、単一の論理回路セル46によって多様な論理回路を実現することができる。   The configuration information given to the FPGA 40 includes cell configuration information given to each logic circuit cell 46 on the FPGA 40, and wiring configuration information given to each switch matrix 50 and each I / O block 54 (both described later) on the FPGA 40. The individual MUXs 64, 66, 68, 70, 72, 74 provided in the logic circuit cell 46 are given to the corresponding logic circuit cell 46 among the configuration information given to the FPGA 40. According to the cell configuration information, any one of a plurality of signals input via a plurality of input terminals is selectively output. Therefore, by switching the contents of the cell configuration information given to the logic circuit cell 46, the logic circuit realized by the logic circuit cell 46 is also switched as shown in FIGS. The LUT 60 can realize various functions (conversions) by switching conversion data used for conversion. However, the conversion data set in the LUT 60 can also be switched by switching cell configuration information given to the logic circuit cell 46. Thus, by switching the conversion data set in the LUT 60 in the logic circuits shown in FIGS. 4A to 4C, various logic circuits can be realized by the single logic circuit cell 46.

なお、論理回路セル46に設けられたバッファ76は、前記論理回路セル46に与えられたセル構成情報に従い、MUX70から入力端を介して入力された信号(通常はクロック信号)をD−FF62の同期信号入力端へそのまま出力する第1状態、及び、入力信号に拘わらず出力端をハイインピーダンスにする第2状態に切り替わる。バッファ76が第2状態となっている間、D−FF62の同期信号入力端の電位は、抵抗78を介して接続された給電ラインによって一定レベルに維持される。 The buffer 76 provided in the logic circuit cell 46 receives a signal (usually a clock signal) input from the MUX 70 via the input terminal according to the cell configuration information given to the logic circuit cell 46. The first state is output as it is to the synchronization signal input terminal, and the second state is set to make the output terminal high impedance regardless of the input signal. While the buffer 76 is in the second state, the potential of the synchronous signal input terminal of D-FF 62, depending via a resistor 78 connected feed line Ru is maintained at a constant level.

また図2に示すように、FPGA40のチップ上において、マトリクス上に配列された個々の論理回路セル46の間には、各々複数本の配線から成る配線群48がX方向及びY方向に沿って各々配設されており、X方向に延びる配線群48とY方向に延びる配線群48との交差位置には、配線群48を構成する個々の配線の接続を切替可能なスイッチマトリクス50が各々設けられている。スイッチマトリクス50は、FPGA40に与えられた構成情報のうち対応する配線構成情報に従って個々の配線の接続を切り替える。またFPGA40には、外部から入力された基準クロック信号に基づいて、PLL制御によって所定周波数のクロック信号を生成・出力するPLL回路52が設けられている。PLL回路52の出力端は配線群48のうちの何れか1つの配線に接続されており、PLL回路52に接続された配線はクロック信号伝送線として機能する。   Further, as shown in FIG. 2, on the FPGA 40 chip, between the individual logic circuit cells 46 arranged on the matrix, a wiring group 48 made up of a plurality of wirings is provided along the X direction and the Y direction. A switch matrix 50 is provided at each intersection of the wiring group 48 extending in the X direction and the wiring group 48 extending in the Y direction. It has been. The switch matrix 50 switches connection of individual wirings according to the corresponding wiring configuration information among the configuration information given to the FPGA 40. Further, the FPGA 40 is provided with a PLL circuit 52 that generates and outputs a clock signal having a predetermined frequency by PLL control based on a reference clock signal input from the outside. The output terminal of the PLL circuit 52 is connected to any one of the wiring groups 48, and the wiring connected to the PLL circuit 52 functions as a clock signal transmission line.

また、FPGA40のチップ上の周縁部には多数個のI/Oブロック54が配列されており、個々のI/Oブロック54には、配線群48の複数本の配線及びFPGA40のパッケージに設けられた多数個のピンのうちの何れか1つが各々接続されている。図示は省略するがI/Oブロック54もMUX(プログラマブル・マルチプレクサ)を含んで構成されており、FPGA40に与えられた構成情報のうち対応する配線構成情報に従ってMUXが切り替わることで、接続されたピンを入力端子として使用し前記ピンを介して入力された信号を接続された特定配線へ出力したり、接続されたピンを出力端子として使用し接続された特定配線を介して入力された信号を前記ピンへ出力したり、接続された第1の配線を介して入力された信号を接続された第2の配線へ出力する等の複数の状態に切り替わるように構成されている。   In addition, a large number of I / O blocks 54 are arranged on the peripheral portion of the FPGA 40 on the chip, and each I / O block 54 is provided in a plurality of wirings of a wiring group 48 and a package of the FPGA 40. Any one of the many pins is connected to each other. Although not shown, the I / O block 54 is also configured to include a MUX (programmable multiplexer), and the MUX is switched according to the corresponding wiring configuration information among the configuration information given to the FPGA 40, so that the connected pins Is used as an input terminal to output a signal input through the pin to a connected specific wiring, or a signal input through a connected specific wiring using the connected pin as an output terminal It is configured to switch to a plurality of states such as outputting to a pin or outputting a signal input via a connected first wiring to a connected second wiring.

そして、FPGA40のチップ上に設けられた個々の論理回路セル46は、図示は省略するが配線群48の個々の配線に各々接続されている。従って、FPGA40に構成情報(セル構成情報や配線構成情報等)を与えることで、FPGA40上に設けられた論理回路セル46のうちの所定数の論理回路セル46を使用し、使用する個々の論理回路セル46を所定の構成の論理回路として各々機能させ、かつこれらの論理回路を所定の順序で接続することが可能となり、FPGA40上に所定の構成の回路を構成することができる。また、FPGA40に与える構成情報を切り替えることで、使用する論理回路セル46の数や個々の論理回路セル46によって実現される論理回路の構成、個々の論理回路の接続順序の少なくとも1つを切り替えることができ、FPGA40上に任意の構成の回路を再構成することができる。   The individual logic circuit cells 46 provided on the chip of the FPGA 40 are connected to the individual wirings of the wiring group 48, although not shown. Accordingly, by providing configuration information (cell configuration information, wiring configuration information, etc.) to the FPGA 40, a predetermined number of logic circuit cells 46 among the logic circuit cells 46 provided on the FPGA 40 are used, and each logic used Each of the circuit cells 46 can function as a logic circuit having a predetermined configuration, and these logic circuits can be connected in a predetermined order, so that a circuit having a predetermined configuration can be configured on the FPGA 40. Further, by switching the configuration information given to the FPGA 40, at least one of the number of the logic circuit cells 46 to be used, the configuration of the logic circuits realized by the individual logic circuit cells 46, and the connection order of the individual logic circuits is switched. A circuit having an arbitrary configuration can be reconfigured on the FPGA 40.

本実施形態では、FPGA40に与える構成情報がフラッシュROM36に記憶されており、プリンタI/Fカード30のCPU34は、コンピュータ10の電源が投入されてプリンタI/Fカード30に電力が供給されると、フラッシュROM36から構成情報を読み出し、読み出した構成情報をFPGA40のチップ上に設けられた構成情報保持用のメモリセル(図示省略)に書き込むことで、FPGA40に構成情報を与える。これにより、FPGA40に設けられたMUXやスイッチマトリクス50等が構成情報保持用のメモリセルに書き込まれた構成情報に応じて切り替わることで、前記構成情報に対応する回路がFPGA40上に再構成されることになる。また、本実施形態に係るフラッシュROM36には、FPGA40に与える構成情報として複数種の構成情報が記憶されており、CPU34は、電源投入時やFPGA40上に構成している回路を切り替える必要が生ずる毎に、複数種の構成情報のうちの何れか1つの構成情報を選択的にフラッシュROM36から読み出し、読み出した構成情報をFPGA40に与える処理を行う。   In the present embodiment, configuration information to be given to the FPGA 40 is stored in the flash ROM 36, and the CPU 34 of the printer I / F card 30 is turned on when the computer 10 is turned on to supply power to the printer I / F card 30. Then, the configuration information is read from the flash ROM 36, and the read configuration information is written into a memory cell (not shown) for holding configuration information provided on the chip of the FPGA 40, thereby giving the configuration information to the FPGA 40. As a result, the circuit corresponding to the configuration information is reconfigured on the FPGA 40 by switching the MUX, the switch matrix 50, etc. provided in the FPGA 40 according to the configuration information written in the memory cell for storing the configuration information. It will be. The flash ROM 36 according to the present embodiment stores a plurality of types of configuration information as configuration information to be given to the FPGA 40, and the CPU 34 needs to switch circuits configured on the FPGA 40 when the power is turned on. In addition, any one of the plurality of types of configuration information is selectively read from the flash ROM 36, and the read configuration information is given to the FPGA 40.

次に本実施形態の作用として、まずFPGA40に構成される回路について説明する。本実施形態では、プリンタI/Fカード30を、最大2台のプリンタ26A,26Bをコンピュータに接続しコンピュータからの指示に応じてプリンタ26で印刷処理を行わせるI/Fカードとして機能させるために、フラッシュROM36に記憶されている複数種の構成情報は、何れも図5に示すI/F回路80がFPGA40上に構成されるように設定されている。   Next, as an operation of the present embodiment, first, a circuit configured in the FPGA 40 will be described. In this embodiment, the printer I / F card 30 is made to function as an I / F card that connects a maximum of two printers 26A and 26B to a computer and causes the printer 26 to perform print processing in accordance with an instruction from the computer. The plurality of types of configuration information stored in the flash ROM 36 are set so that the I / F circuit 80 shown in FIG.

I/F回路80は、PCI I/F部32と接続されPCI I/F部32から入力されるデータを処理する入力I/F部82と、コネクタ42と接続されプリンタ26への出力用としてメモリ38から読み出されたデータを処理する複数の出力I/F部84と、CPU34と接続されCPU34から入力されたアドレスを処理すると共にCPU34との間でデータの送受を行うCPU I/F部86と、メモリ38及び各I/F部82〜86と各々接続され各I/F部82〜86からの指示に従いメモリ38に対するデータの書き込み及び読み出しを行うと共にメモリ38のリフレッシュを制御するメモリI/F部88と、PLL回路52と接続されPLL回路52から供給されたクロック信号から各I/F部82〜88が必要とする周波数のクロック信号を生成して各I/F部82〜88へ供給するクロック発生回路90を含んで構成されている。   The I / F circuit 80 is connected to the PCI I / F unit 32 and processes input data from the PCI I / F unit 32, and is connected to the connector 42 for output to the printer 26. A plurality of output I / F units 84 that process data read from the memory 38, and a CPU I / F unit that is connected to the CPU 34, processes an address input from the CPU 34, and transmits / receives data to / from the CPU 34. 86, a memory I that is connected to the memory 38 and each of the I / F units 82 to 86, writes data to and reads data from the memory 38 in accordance with instructions from the I / F units 82 to 86, and controls refresh of the memory 38 / F unit 88 and the frequency required by each I / F unit 82 to 88 from the clock signal connected to the PLL circuit 52 and supplied from the PLL circuit 52 Is configured to include a clock generation circuit 90 is supplied to the I / F unit 82 to 88 to generate a clock signal.

図6(A)に示すように、入力I/F部82は、入力DMAシーケンサ92と少量(例えば512バイト程度)のバッファメモリを備えた入力DMAバッファ94を含んで構成されており、入力DMAシーケンサ92は、入力DMAバッファ94のバッファメモリの状態(満杯か空か)を監視しながらPCI I/F部32にデータの入力を要求し、PCI I/F部32からDMA転送により入力されたデータ(印刷用データ)を入力DMAバッファ94のバッファメモリに一時記憶させると共に、入力DMAバッファ94のバッファメモリに一時記憶させたデータのメモリ38への書き込みをメモリI/F部88へ要求し、メモリ38への書き込みが可能な状態になると、メモリI/F部88へ書込アドレス(内部アドレス)を通知すると共に入力DMAバッファ94のバッファメモリに一時記憶させたデータをDMA転送によってメモリI/F部88へ出力させる処理を行う。   As shown in FIG. 6A, the input I / F unit 82 includes an input DMA sequencer 92 and an input DMA buffer 94 having a small amount (for example, about 512 bytes) of buffer memory. The sequencer 92 requests the PCI I / F unit 32 to input data while monitoring the buffer memory state (full or empty) of the input DMA buffer 94, and is input from the PCI I / F unit 32 by DMA transfer. The data (printing data) is temporarily stored in the buffer memory of the input DMA buffer 94, and the memory I / F unit 88 is requested to write the data temporarily stored in the buffer memory of the input DMA buffer 94 to the memory 38. When writing to the memory 38 becomes possible, the memory I / F unit 88 is notified of the write address (internal address) and entered. The data was temporarily stored in a buffer memory of the DMA buffer 94 performs processing to output to the memory I / F section 88 by the DMA transfer.

また図6(B)に示すように、出力I/F部84は、出力DMAシーケンサ96と少量(例えば512バイト程度)のバッファメモリを備えた出力DMAバッファ98を含んで構成されており、出力DMAシーケンサ96は、出力DMAバッファ98のバッファメモリの状態(満杯か空か)を監視しながらメモリI/F部88に対してメモリ38からのデータの読み出しを要求し、メモリ38からの読み出しが可能な状態になると、メモリI/F部88へ読出アドレス(内部アドレス)を通知してメモリ38からデータを読み出させ、DMA転送によってメモリI/F部88から入力されたデータ(印刷用データ)を出力DMAバッファ98のバッファメモリに一時記憶させると共に、出力DMAバッファ98のバッファメモリに一時記憶させたデータをコネクタ42、接続ケーブル44を介してプリンタ26へ転送する処理を行う。   As shown in FIG. 6B, the output I / F unit 84 includes an output DMA sequencer 96 and an output DMA buffer 98 having a small amount (for example, about 512 bytes) of buffer memory. The DMA sequencer 96 requests the memory I / F unit 88 to read data from the memory 38 while monitoring the state (full or empty) of the buffer memory of the output DMA buffer 98. When it becomes possible, the memory I / F unit 88 is notified of the read address (internal address) to read data from the memory 38, and the data (printing data) input from the memory I / F unit 88 by DMA transfer. ) Is temporarily stored in the buffer memory of the output DMA buffer 98, and the data temporarily stored in the buffer memory of the output DMA buffer 98 is also stored. Connector 42 data, performs a process of transferring to the printer 26 via the connection cable 44.

また図6(C)に示すように、CPU I/F部86は、CPUアクセス制御シーケンサ100とデータバス制御部102を含んで構成されており、CPUアクセス制御シーケンサ100は、CPU34から読出又は書込アドレスが通知されてメモリ38からのデータの読み出し又はメモリ38へのデータの書き込みがCPU34から指示される毎に、指示に応じてデータの読み出し又は書き込みをメモリI/F部88に要求すると共に、通知されたアドレスを内部アドレスへ変換してメモリI/F部88へ通知する。またCPUアクセス制御シーケンサ100は、データの読み出し時には、メモリI/F部88からデータバス制御部102に入力された読出データをCPU34へ転送させ、データの書き込み時には、CPU34からデータバス制御部102に入力された書込データをメモリI/F部88へ転送させる。   As shown in FIG. 6C, the CPU I / F unit 86 includes a CPU access control sequencer 100 and a data bus control unit 102. The CPU access control sequencer 100 reads or writes data from the CPU 34. Each time the CPU 34 instructs to read data from the memory 38 or write data to the memory 38, the memory I / F unit 88 is requested to read or write data according to the instruction. The notified address is converted into an internal address and notified to the memory I / F unit 88. The CPU access control sequencer 100 transfers the read data input from the memory I / F unit 88 to the data bus control unit 102 to the CPU 34 when reading data, and from the CPU 34 to the data bus control unit 102 when writing data. The input write data is transferred to the memory I / F unit 88.

更に、図6(D)に示すように、メモリI/F部88は、メモリ制御シーケンサ104、データバス制御部106及びリフレッシュカウンタ108を含んで構成されており、メモリ制御シーケンサ104は、入力I/F部82又はCPU I/F部86からメモリ38へのデータの書き込みが指示され、指示された書き込みを実行可能な状態である場合には、読み出しを指示する制御信号をメモリ38へ出力すると共に、書込要求元(入力I/F部82又はCPU I/F部86)から通知された内部アドレスを書込アドレスとしてメモリ38へ通知し、書込要求元からデータバス制御部106に入力された書込データをメモリ38へ出力させる。また、メモリ制御シーケンサ104は、出力I/F部84又はCPU I/F部86よりメモリ38からのデータの読み出しが指示され、指示された読み出しを実行可能な状態である場合には、読み出しを指示する制御信号をメモリ38へ出力すると共に、読出要求元(出力I/F部84又はCPU I/F部86)から通知された内部アドレスを読出アドレスとしてメモリ38へ通知し、メモリ38からデータバス制御部106に入力された読出データを読出要求元へ転送させる。   Further, as shown in FIG. 6D, the memory I / F unit 88 includes a memory control sequencer 104, a data bus control unit 106, and a refresh counter 108. When the data writing to the memory 38 is instructed from the / F unit 82 or the CPU I / F unit 86 and the instructed writing is in an executable state, a control signal instructing the reading is output to the memory 38. At the same time, the internal address notified from the write request source (input I / F unit 82 or CPU I / F unit 86) is notified to the memory 38 as a write address, and input from the write request source to the data bus control unit 106 The written data is output to the memory 38. Further, the memory control sequencer 104 is instructed to read data from the memory 38 from the output I / F unit 84 or the CPU I / F unit 86, and when the instructed reading is possible, the memory control sequencer 104 performs the reading. A control signal to be instructed is output to the memory 38, and the internal address notified from the read request source (the output I / F unit 84 or the CPU I / F unit 86) is notified to the memory 38 as a read address. The read data input to the bus control unit 106 is transferred to the read request source.

また、リフレッシュカウンタ108はメモリ38に対するリフレッシュの実行周期を管理しており、メモリ制御シーケンサ104は、リフレッシュを実行すべき時期が到来したことを表す信号がリフレッシュカウンタ108から入力されると、メモリ38に対してリフレッシュの実行を指示すると共に、リフレッシュの実行中に入力された読出/書込要求に対してはビジー応答を返し、リフレッシュの実行完了がメモリ38から通知されると、リフレッシュカウンタ108のカウント値をリセットさせる信号をリフレッシュカウンタ108へ出力する。   The refresh counter 108 manages the refresh execution cycle for the memory 38, and the memory control sequencer 104 receives a signal from the refresh counter 108 indicating that the time for executing refresh has arrived. Is instructed to execute refresh, and returns a busy response to the read / write request input during the execution of refresh. When the completion of the refresh is notified from the memory 38, the refresh counter 108 A signal for resetting the count value is output to the refresh counter 108.

上述したように、I/F回路80を構成する入力I/F部82、出力I/F部84、CPU I/F部86及びメモリI/F部88は各々シーケンサを備えている。シーケンサは、現在の内部状態を保持すると共に、所定の事象が発生する毎に、保持している内部状態を遷移させると共に、遷移後の内部状態に応じた処理を行う回路であり、一例として図7(A)に示す状態遷移では、内部状態が「状態A」の場合は、条件1を満たす事象が発生する迄は「状態A」を維持し、条件1を満たす事象が発生すると「状態B」へ遷移し、内部状態が「状態B」の場合は、条件2を満たす事象が発生する迄は「状態B」を維持し、条件2を満たす事象が発生すると「状態C」へ遷移し、内部状態が「状態C」の場合は、条件3を満たす事象が発生する迄は「状態C」を維持し、条件3を満たす事象が発生すると「状態D」へ遷移し、内部状態が「状態D」の場合は、条件4を満たす事象が発生する迄は「状態D」を維持し、条件4を満たす事象が発生すると「状態A」へ遷移する。   As described above, the input I / F unit 82, the output I / F unit 84, the CPU I / F unit 86, and the memory I / F unit 88 included in the I / F circuit 80 each include a sequencer. The sequencer is a circuit that holds the current internal state and changes the held internal state each time a predetermined event occurs, and performs processing according to the internal state after the transition. 7 (A), when the internal state is “state A”, “state A” is maintained until an event satisfying condition 1 occurs, and when an event satisfying condition 1 occurs, “state B When the internal state is “state B”, “state B” is maintained until an event satisfying condition 2 occurs, and when an event satisfying condition 2 occurs, the state transitions to “state C”. When the internal state is “state C”, “state C” is maintained until an event satisfying condition 3 occurs, and when an event satisfying condition 3 occurs, the state transitions to “state D”. In the case of “D”, “state D” is not changed until an event satisfying condition 4 occurs. Lifting, and transitions when events occur satisfying the condition 4 to the "state A".

上記のような状態遷移を行うために、シーケンサは内部状態を保持・更新する状態遷移回路を含んで構成されているが、状態遷移回路の構成には複数種あり、そのうちの1つとして、例えば図7(B)に示すように、シーケンサの内部状態の種類数をmとしたときに、1ビットの値を保持する保持回路(図ではフリップフロップとして示す)112と、現在の内部状態がm種類の内部状態のうちの特定の内部状態か否かを表す1ビットの値を保持回路112に保持させると共に、特定の内部状態への遷移又は特定内部状態からの遷移に関連する所定の事象(例えば図7(A)に示す状態遷移において、特定内部状態が「状態A」であれば条件1を満たす事象又は条件4を満たす事象)が発生する毎に、保持回路112に保持されている1ビットの値を変更する状態遷移管理部114が、内部状態の種類数mと同数だけ各々設けられた構成(one-hotタイプ)の状態遷移回路110がある。なお、図7はシーケンサの内部状態の種類数m=4を前提としており、状態遷移回路110には保持回路112が4個設けられている。   In order to perform the state transition as described above, the sequencer is configured to include a state transition circuit that holds and updates the internal state, but there are a plurality of types of state transition circuits, and one of them is, for example, As shown in FIG. 7B, when m is the number of types of internal states of the sequencer, a holding circuit (shown as a flip-flop in the figure) 112 that holds a 1-bit value, and the current internal state is m The holding circuit 112 holds a 1-bit value indicating whether or not a specific internal state of the types of internal states, and a predetermined event related to a transition to or from a specific internal state ( For example, in the state transition shown in FIG. 7A, if the specific internal state is “state A”, an event that satisfies condition 1 or an event that satisfies condition 4) occurs. Bit value There is a state transition circuit 110 having a configuration (one-hot type) in which the number of state transition management units 114 that change the number of internal states is the same as the number m of types of internal states. FIG. 7 is based on the assumption that the number of types of internal states of the sequencer is m = 4, and the state transition circuit 110 is provided with four holding circuits 112.

また、状態遷移回路の別の構成として、例えば図7(C)に示すように、2を底とする内部状態の種類数mの対数値以上のn個設けられ各々1ビットの値を保持する保持回路(図ではフリップフロップとして示す)118と、現在の内部状態を表すnビットの値をn個の保持回路118に保持させると共に、内部状態を変更すべき所定の事象が発生する毎に、n個の保持回路118に保持されているnビットの値を、発生した事象の種類に応じた内部状態を表すnビットの値に変更する単一の状態遷移管理部120と、を含んだ構成(binaryタイプ又はgrayタイプ)の状態遷移回路116もある。なお、内部状態の種類数m=4の場合、2を底とする内部状態の種類数mの対数値=2となるので、状態遷移回路116には前記対数値と同数(n=2)個の保持回路118が設けられている。   In addition, as another configuration of the state transition circuit, for example, as shown in FIG. 7C, n number more than logarithmic values of the number m of internal states with 2 are provided and each holds a 1-bit value. A holding circuit (shown as a flip-flop in the figure) 118 and an n-bit value representing the current internal state are held in n holding circuits 118, and each time a predetermined event for changing the internal state occurs, a single state transition management unit 120 that changes an n-bit value held in n holding circuits 118 to an n-bit value representing an internal state corresponding to the type of event that has occurred. There is also a state transition circuit 116 of (binary type or gray type). If the number m of internal state types = 4, the logarithmic value of the number m of internal state types with base 2 is = 2, and therefore the same number (n = 2) of logarithmic values are included in the state transition circuit 116. The holding circuit 118 is provided.

図7(B)に示すone-hotタイプの状態遷移回路110は、4個の保持回路112の各々に保持されている1ビットの値が、4種類の内部状態のうちの互いに異なる内部状態に対応しており(図7(B)に示す図表も参照)、現在の内部状態を表す4ビットの値が4個の保持回路112に保持される。従って、保持回路112と同数設けられ保持回路112に保持されている値を変更する個々の状態遷移管理部114は、上記の所定の事象が発生する毎に対応する保持回路112に保持されている1ビットの値を変更する処理を、他の状態遷移管理部114と独立に行うことができるので、高速動作が可能である(動作可能なクロック信号の周波数帯域が高い)。但し、one-hotタイプの状態遷移回路110では、内部状態の変更時に必ず2個の保持回路112で保持している1ビットの値が変化するので、スイッチング回数が比較的多く消費電力が高いという欠点がある。   In the one-hot type state transition circuit 110 shown in FIG. 7B, the value of 1 bit held in each of the four holding circuits 112 is changed to different internal states among the four types of internal states. The 4-bit value representing the current internal state is held in the four holding circuits 112 (see also the chart shown in FIG. 7B). Accordingly, the same number of state transition management units 114 that are provided in the same number as the holding circuits 112 and change the values held in the holding circuits 112 are held in the corresponding holding circuits 112 each time the predetermined event occurs. Since the process of changing the value of 1 bit can be performed independently of the other state transition management unit 114, high-speed operation is possible (the frequency band of the operable clock signal is high). However, in the one-hot type state transition circuit 110, since the value of 1 bit held by the two holding circuits 112 always changes when the internal state is changed, the switching frequency is relatively large and the power consumption is high. There are drawbacks.

一方、図7(C)に示すbinaryタイプ又はgrayタイプの状態遷移回路116では、4種類の内部状態のうちの現在の内部状態が2ビットの値にエンコードされて2個の保持回路118に保持されるので、図7(C)にも示すように、状態遷移管理部120は、現在の内部状態を認識するにあたって2個の保持回路118に保持されている2ビットの値を現在の内部状態を表す4ビットの値へデコードする処理を行う必要があると共に、内部状態の変更時には、変更後の内部状態を表す4ビットの値を2ビットの値へエンコードした後に2個の保持回路118に保持させる処理を行う必要があるので、動作速度の点で不利である(動作可能なクロック信号の周波数帯域が低い)。しかし、内部状態を変更すべき事象が発生した際に、保持されている1ビットの値が変更される保持回路118の数の平均値が2よりも小さく、one-hotタイプの状態遷移回路110よりも消費電力が低い。   On the other hand, in the binary type or gray type state transition circuit 116 shown in FIG. 7C, the current internal state of the four types of internal states is encoded into a 2-bit value and held in the two holding circuits 118. Therefore, as shown in FIG. 7C, the state transition management unit 120 recognizes the 2-bit value held in the two holding circuits 118 when recognizing the current internal state. It is necessary to perform a process of decoding into a 4-bit value representing the value, and when the internal state is changed, the 4-bit value representing the changed internal state is encoded into a 2-bit value and then stored in the two holding circuits 118 Since it is necessary to carry out the holding process, it is disadvantageous in terms of operation speed (the frequency band of the operable clock signal is low). However, when an event that should change the internal state occurs, the average value of the number of holding circuits 118 whose 1-bit value held is changed is smaller than 2, and the one-hot type state transition circuit 110 is changed. Lower power consumption.

また、状態遷移回路116において、シーケンサの個々の内部状態へのnビットの値の割当方式としては、状態遷移順に並べた個々の内部状態に対し、nビットの2進数の昇順に並べたnビットの値を割り当てる方式(binaryタイプ:図7(C)にbinaryタイプと表記して示す図表も参照)と、状態遷移順に並べた個々の内部状態に対し、状態遷移時に値が変化するビットの数が常に1となるように並べたnビットの値を割り当てる方式(grayタイプ:図7(C)にgrayタイプと表記して示す図表も参照)がある。grayタイプは、内部状態を変更すべき事象が発生した際に、保持されている1ビットの値が変更される保持回路118の数が常に1になるので、binaryタイプよりもgrayタイプを採用した方が状態遷移回路116の消費電力が低くなる。   In the state transition circuit 116, as an allocation method of n-bit values to individual internal states of the sequencer, n bits arranged in ascending order of n-bit binary numbers with respect to individual internal states arranged in the state transition order. Number of bits whose value changes at the time of state transition for each internal state arranged in the order of state transitions (binary type: see also the chart shown as binary type in FIG. 7C) There is a method of assigning n-bit values arranged so that the values are always 1 (gray type: see also the chart shown as gray type in FIG. 7C). The gray type is adopted rather than the binary type because the number of holding circuits 118 that change the value of 1 bit held is always 1 when an event whose internal state should be changed occurs. However, the power consumption of the state transition circuit 116 is lower.

上記に基づき本実施形態では、I/F回路80をFPGA40上に構成させる構成情報として、I/F回路80を構成する各I/F部82〜88のシーケンサに占めるone-hotタイプの状態遷移回路110を備えたシーケンサ及びgrayタイプの状態遷移回路116の割合が異なる2種類のI/F回路80の何れかをFPGA40上に構成させる2種類の構成情報を用意し、各I/F部82〜88のシーケンサに占めるone-hotタイプの状態遷移回路110を備えたシーケンサの割合が高い高速動作版のI/F回路80をFPGA40上に構成させる第1の構成情報と、各I/F部82〜88のシーケンサに占めるgrayタイプの状態遷移回路116を備えたシーケンサの割合が高い低消費電力版のI/F回路80をFPGA40上に構成させる第2の構成情報をフラッシュROM36に予め各々記憶させている。なお、高速動作版のI/F回路80は本発明に係る第1回路、低消費電力版のI/F回路80は本発明に係る第2回路に対応しており、第1及び第2の構成情報を記憶するフラッシュROM36は本発明に係る記憶手段に対応している。   Based on the above, in the present embodiment, as configuration information for configuring the I / F circuit 80 on the FPGA 40, one-hot type state transition occupying the sequencers of the I / F units 82 to 88 configuring the I / F circuit 80. Two types of configuration information for configuring either one of two types of I / F circuits 80 having different ratios of the sequencer provided with the circuit 110 and the gray type state transition circuit 116 on the FPGA 40 are prepared. First configuration information for configuring on the FPGA 40 a high-speed operation version I / F circuit 80 having a high ratio of the sequencer having the one-hot type state transition circuit 110 occupying the sequencer of ~ 88, and each I / F unit A second configuration in which an I / F circuit 80 of a low power consumption version with a high proportion of the sequencer provided with the gray type state transition circuit 116 occupying the 82 to 88 sequencers is configured on the FPGA 40. Information is stored in the flash ROM 36 in advance. The high-speed operation version I / F circuit 80 corresponds to the first circuit according to the present invention, and the low power consumption version I / F circuit 80 corresponds to the second circuit according to the present invention. The flash ROM 36 for storing configuration information corresponds to the storage means according to the present invention.

高速動作版のI/F回路80及び低消費電力版のI/F回路80において、各I/F部82〜88のシーケンサに占めるone-hotタイプの状態遷移回路110を備えたシーケンサ及びgrayタイプの状態遷移回路116の割合は、高速動作版のI/F回路80及び低消費電力版のI/F回路80に対する要求性能に応じて定めることができる。   In the high-speed operation version I / F circuit 80 and the low power consumption version I / F circuit 80, a sequencer and a gray type having a one-hot type state transition circuit 110 occupying the sequencers of the respective I / F units 82 to 88 The ratio of the state transition circuit 116 can be determined according to the required performance for the high-speed operation version I / F circuit 80 and the low power consumption version I / F circuit 80.

本実施形態に係るプリンタI/Fカード30は最大2台のプリンタ26A,26Bをコンピュータ10に接続可能なI/Fカードであり、プリンタI/Fカード30を介してコンピュータ10に接続されるプリンタ26の台数は1台の場合と2台の場合がある。このため、以下では、コンピュータ10に2台のプリンタ26が接続されている場合は、第1の構成情報を用いてFPGA40上に高速動作版のI/F回路80を構成させ、コンピュータ10に1台のプリンタ26のみが接続されている場合は、第2の構成情報を用いてFPGA40上に低消費電力版のI/F回路80を構成させる態様を例に、高速動作版のI/F回路80及び低消費電力版のI/F回路80の構成の一例について、具体的な数値を挙げて説明する。なお、本発明は以下に記載した数値に限定されるものではないことを付記しておく。   The printer I / F card 30 according to the present embodiment is an I / F card that can connect a maximum of two printers 26 </ b> A and 26 </ b> B to the computer 10, and the printer connected to the computer 10 via the printer I / F card 30. The number of 26 may be one or two. Therefore, in the following, when two printers 26 are connected to the computer 10, the high-speed operation version I / F circuit 80 is configured on the FPGA 40 using the first configuration information. In the case where only one printer 26 is connected, the high-speed operation version I / F circuit is exemplified by an example in which the low power consumption I / F circuit 80 is configured on the FPGA 40 using the second configuration information. An example of the configuration of the I / F circuit 80 of 80 and the low power consumption version will be described with specific numerical values. Note that the present invention is not limited to the numerical values described below.

例として図8(A)に示すように、入力I/F部82とPCI I/F部32との間の情報伝送が32ビット幅で33MHzのクロック信号に同期して行われ(伝送速度(ビットレート)=1056Mbps)、出力I/F部84とプリンタ26Aとの間の情報伝送が32ビット幅で55MHzのクロック信号に同期して行われ(伝送速度(ビットレート)=1980Mbps)、出力I/F部84とプリンタ26Bとの間の情報伝送が32ビット幅で66MHzのクロック信号に同期して行われ(伝送速度(ビットレート)=2376Mbps)、CPU I/F部86とCPU34との間の情報伝送が32ビット幅で66MHzのクロック信号に同期して行われる(伝送速度(ビットレート)=2112Mbps)場合を考える。   As an example, as shown in FIG. 8A, information transmission between the input I / F unit 82 and the PCI I / F unit 32 is performed in synchronization with a clock signal of 32 MHz and a 32-bit width (transmission rate ( (Bit rate) = 1056 Mbps), information transmission between the output I / F unit 84 and the printer 26A is performed in synchronization with a clock signal of 55 MHz having a 32-bit width (transmission speed (bit rate) = 1980 Mbps), and output I Information transmission between the CPU / F unit 84 and the printer 26B is performed in synchronization with a clock signal of 66 MHz having a 32-bit width (transmission speed (bit rate) = 2376 Mbps), between the CPU I / F unit 86 and the CPU 34. Is transmitted in synchronization with a clock signal of 32 MHz and 66 MHz (transmission speed (bit rate) = 2112 Mbps).

プリンタI/Fカード30に2台のプリンタ26A,26Bが接続された場合、上記各I/F部82〜86が各々メモリI/F部88を介してメモリ38にアクセスするので、メモリI/F部88がI/F回路80の処理速度のボトルネックとなることを回避するためには、メモリI/F部88の処理速度(ビットレート)を、上記各I/F部82〜86におけるビットレートの合計値7524Mbpsよりも大きくする必要がある。ここで、メモリI/F部88とメモリ38との間の情報伝送が64ビット幅で120MHzのクロック信号に同期して行われたとすると伝送速度(ビットレート)は7680Mbpsとなり、上記の要求値を上回るので、メモリI/F部88がI/F回路80の処理速度のボトルネックとなることを回避できる。   When two printers 26A and 26B are connected to the printer I / F card 30, the I / F units 82 to 86 access the memory 38 via the memory I / F unit 88. In order to avoid that the F unit 88 becomes a bottleneck of the processing speed of the I / F circuit 80, the processing speed (bit rate) of the memory I / F unit 88 is set to the above-described I / F units 82 to 86. The total bit rate must be larger than 7524 Mbps. Here, if information transmission between the memory I / F unit 88 and the memory 38 is performed in synchronization with a clock signal of 64 MHz and 120 MHz, the transmission speed (bit rate) is 7680 Mbps, and the above required value is Therefore, it can be avoided that the memory I / F unit 88 becomes a bottleneck of the processing speed of the I / F circuit 80.

但し、grayタイプの状態遷移回路116の動作可能周波数帯域の上限は現状で100MHz程度であり、メモリI/F部88のメモリ制御シーケンサ104としてgrayタイプの状態遷移回路116を備えたシーケンサを適用することは困難である。このため、高速動作版のI/F回路80では、I/F部82〜86のシーケンサとしてgrayタイプの状態遷移回路116を備えたシーケンサが適用される一方、メモリI/F部88のメモリ制御シーケンサ104としてone-hotタイプの状態遷移回路110を備えたシーケンサが適用された構成となるように第1の構成情報が設定されている。また、第1の構成情報の中には、高速動作版のI/F回路80のクロック発生回路90が、入力I/F部82に33MHzのクロック信号を供給し、プリンタ26Aとの情報伝送を行う出力I/F部84に55MHzのクロック信号を供給し、プリンタ26Aとの情報伝送を行う出力I/F部84及びCPU I/F部86に66MHzのクロック信号を供給し、メモリI/F部88に120MHzのクロック信号を供給する構成となるように設定された情報も含まれている。 However, the upper limit of the operable frequency band of the gray type state transition circuit 116 is currently about 100 MHz, and a sequencer including the gray type state transition circuit 116 is applied as the memory control sequencer 104 of the memory I / F unit 88. It is difficult. For this reason, in the high-speed operation version I / F circuit 80, a sequencer including the gray type state transition circuit 116 is applied as the sequencer of the I / F units 82 to 86, while the memory control of the memory I / F unit 88 is performed. The first configuration information is set so that the sequencer provided with the one-hot type state transition circuit 110 is applied as the sequencer 104. In the first configuration information, the clock generation circuit 90 of the high-speed operation version I / F circuit 80 supplies a 33 MHz clock signal to the input I / F unit 82 to transmit information to the printer 26A. A 55 MHz clock signal is supplied to the output I / F unit 84 to be performed, and a 66 MHz clock signal is supplied to the output I / F unit 84 and the CPU I / F unit 86 for transmitting information to and from the printer 26A. also includes the set information so that the structure for supplying a clock signal of 120MHz to section 88.

一方、プリンタI/Fカード30にプリンタ26Aのみが接続された場合、図8(B)に示すように、2個の出力I/F部84のうちプリンタ26Bと接続される出力I/F部84(図8(B)に「出力BI/F部」と表記して示す出力I/F部84)とプリンタ26Bとの間の情報伝送が行われないので、各I/F部82〜86のうち当該出力I/F部84を除いたI/F部におけるビットレートの合計値は5148Mbpsになる。このため、メモリI/F部88とメモリ38との間の情報伝送を64ビット幅で81MHzのクロック信号に同期して行うようにすれば伝送速度(ビットレート)が5184Mbpsとなり、上記の要求値を上回るので、メモリI/F部88がI/F回路80の処理速度のボトルネックとなることを回避できる。そして、上記の周波数81MHzはgrayタイプの状態遷移回路116の動作可能周波数帯域の上限よりも低い。   On the other hand, when only the printer 26A is connected to the printer I / F card 30, the output I / F unit connected to the printer 26B out of the two output I / F units 84, as shown in FIG. 8B. 84 (the output I / F unit 84 indicated as “output BI / F unit” in FIG. 8B) and the printer 26B, no information is transmitted between the I / F units 82 to 86. Of these, the total value of the bit rates in the I / F part excluding the output I / F part 84 is 5148 Mbps. Therefore, if information transmission between the memory I / F unit 88 and the memory 38 is performed in synchronization with a clock signal of 64 MHz and 81 MHz, the transmission speed (bit rate) becomes 5184 Mbps, and the above required value Therefore, it can be avoided that the memory I / F unit 88 becomes a bottleneck of the processing speed of the I / F circuit 80. The frequency 81 MHz is lower than the upper limit of the operable frequency band of the gray type state transition circuit 116.

このため、低消費電力版のI/F回路80では、メモリI/F部88を含む全てのI/F部82〜88のシーケンサとしてgrayタイプの状態遷移回路116を備えたシーケンサが適用された構成となるように第2の構成情報が設定されている。また、第2の構成情報の中には、低消費電力版のI/F回路80のクロック発生回路90が、入力I/F部82に33MHzのクロック信号を供給し、プリンタ26Aとの情報伝送を行う出力I/F部84に55MHzのクロック信号を供給し、CPU I/F部86に66MHzのクロック信号を供給し、メモリI/F部88に81MHzのクロック信号を供給する構成となるように設定された情報も含まれている。 For this reason, in the low power consumption I / F circuit 80, a sequencer including a gray type state transition circuit 116 is applied as a sequencer of all the I / F units 82 to 88 including the memory I / F unit 88. Second configuration information is set so as to be a configuration. Further, in the second configuration information, the clock generation circuit 90 of the low power consumption I / F circuit 80 supplies a 33 MHz clock signal to the input I / F unit 82 to transmit information to the printer 26A. A 55 MHz clock signal is supplied to the output I / F unit 84 that performs the operation, a 66 MHz clock signal is supplied to the CPU I / F unit 86, and an 81 MHz clock signal is supplied to the memory I / F unit 88. also it includes the set information to.

回路の消費電力は動作周波数におよそ比例するので、高速動作版のI/F回路80に対し、低消費電力版のI/F回路80におけるメモリI/F部88の動作周波数が120MHzから81MHzに低下することで、高速動作版のI/F回路80におけるメモリI/F部88の消費電力を100%とすると、低消費電力版のI/F回路80におけるメモリI/F部88の消費電力は、
100×(81÷120)=67.5%
に低下する。
Since the power consumption of the circuit is approximately proportional to the operating frequency, the operating frequency of the memory I / F unit 88 in the I / F circuit 80 of the low power consumption version is changed from 120 MHz to 81 MHz as compared with the high speed operation version of the I / F circuit 80. If the power consumption of the memory I / F unit 88 in the high-speed operation version I / F circuit 80 is 100%, the power consumption of the memory I / F unit 88 in the low power consumption version I / F circuit 80 is reduced. Is
100 x (81 ÷ 120) = 67.5%
To drop.

また、高速動作版のI/F回路80では、メモリI/F部88のメモリ制御シーケンサ104としてone-hotタイプの状態遷移回路110を備えたシーケンサを適用しているのに対し、低消費電力版のI/F回路80では、メモリI/F部88のメモリ制御シーケンサ104としてgrayタイプの状態遷移回路116を備えたシーケンサを適用しており、one-hotタイプの状態遷移回路110では、内部状態を変更すべき事象が発生した際に、保持している1ビットの値が変更される保持回路112の数が常に2になるのに対し、grayタイプの状態遷移回路116では、内部状態を変更すべき事象が発生した際に、保持している1ビットの値が変更される保持回路112の数が常に1であり、スイッチング回数が1/2になるので、低消費電力版のI/F回路80におけるメモリI/F部88の消費電力は、上記のように動作周波数を低下させることに加えて、メモリ制御シーケンサ104を、grayタイプの状態遷移回路116を備えたシーケンサへ変更することで更に低減されることになる。 Further, in the high-speed operation version I / F circuit 80, a sequencer provided with a one-hot type state transition circuit 110 is applied as the memory control sequencer 104 of the memory I / F unit 88, whereas low power consumption is achieved. In the version I / F circuit 80, a sequencer including a gray type state transition circuit 116 is applied as the memory control sequencer 104 of the memory I / F unit 88. In the one-hot type state transition circuit 110, an internal when an event to change the condition occurs, against to the number of the holding circuit 112 the value of 1 bit held is changed is always 2, the gray type of state transition circuit 116, an internal state When an event to be changed occurs, the number of holding circuits 112 to which the value of 1 bit held is changed is always 1, and the number of times of switching is halved. F The power consumption of the memory I / F unit 88 in the circuit 80 is obtained by changing the memory control sequencer 104 to a sequencer including a gray type state transition circuit 116 in addition to lowering the operating frequency as described above. It will be further reduced.

また、本実施形態に係る第1及び第2の構成情報は、FPGA40に設けられている論理回路セル46のうち、FPGA40上に構成するI/F回路80の一部を構成する個々の論理回路セル46については、論理回路セル46内のバッファ76が入力されたクロック信号をD−FF62の同期信号入力端へそのまま出力する第1状態となり、FPGA40上にI/F回路80を構成する際に使用しないそれ以外の論理回路セル46については、論理回路セル46内のバッファ76が入力信号に拘わらず出力端をハイインピーダンスにする第2状態になるように設定されている。これにより、FPGA40上に高速動作版及び低消費電力版の何れのI/F回路80を構成した場合にも、使用しない論理回路セル46内のD−FF62へのクロック信号の供給が遮断されるので、高速動作版及び低消費電力版の何れのI/F回路80についても消費電力が更に低減される。   In addition, the first and second configuration information according to the present embodiment includes individual logic circuits that constitute a part of the I / F circuit 80 configured on the FPGA 40 among the logic circuit cells 46 provided on the FPGA 40. The cell 46 is in the first state in which the clock signal input to the buffer 76 in the logic circuit cell 46 is output to the synchronization signal input terminal of the D-FF 62 as it is, and when the I / F circuit 80 is configured on the FPGA 40. For other logic circuit cells 46 that are not used, the buffer 76 in the logic circuit cell 46 is set to be in the second state in which the output terminal is set to high impedance regardless of the input signal. As a result, the supply of the clock signal to the D-FF 62 in the unused logic circuit cell 46 is cut off regardless of whether the high-speed operation version or the low power consumption version I / F circuit 80 is configured on the FPGA 40. Therefore, the power consumption of the I / F circuit 80 of the high-speed operation version and the low power consumption version is further reduced.

ところで、上記のように、FPGA40上に高速動作版のI/F回路80を構成させるか低消費電力版のI/F回路80を構成させるかを、プリンタI/Fカード30を介してコンピュータ10に接続されたプリンタ26の台数に応じて切り替える場合、プリンタI/Fカード30のCPU34は、コンピュータ10の電源が投入されて電力が供給されると、まずプリンタI/Fカード30に接続されているプリンタ26の台数を検知し、検知した台数が2台であればフラッシュROM36から第1の構成情報を読み出し、読み出した第1の構成情報をFPGA40に与えることで、FPGA40上に高速動作版のI/F回路80を構成させ、検知した台数が1台であればフラッシュROM36から第2の構成情報を読み出し、読み出した第2の構成情報をFPGA40に与えることで、FPGA40上に低消費電力版のI/F回路80を構成させる。このように、CPU34は本発明に係る再構成手段に対応している。これにより、プリンタI/Fカード30に接続されているプリンタ26の台数に応じて変化するI/F回路80に対する要求性能に応じて、FPGA40上に構成されるI/F回路80の構成を切り替えることができる。   Incidentally, as described above, whether the high-speed operation version I / F circuit 80 or the low power consumption version I / F circuit 80 is configured on the FPGA 40 is determined via the printer I / F card 30 via the computer 10. When switching according to the number of printers 26 connected to the CPU, the CPU 34 of the printer I / F card 30 is first connected to the printer I / F card 30 when the computer 10 is powered on and supplied with power. If the number of detected printers 26 is two, and the detected number is two, the first configuration information is read from the flash ROM 36, and the read first configuration information is given to the FPGA 40. If the I / F circuit 80 is configured and the number of detected units is one, the second configuration information is read from the flash ROM 36 and the read second configuration information is read. By providing the configuration information to the FPGA 40, thereby constituting the I / F circuit 80 of the low-power version on FPGA 40. Thus, the CPU 34 corresponds to the reconstruction unit according to the present invention. Thus, the configuration of the I / F circuit 80 configured on the FPGA 40 is switched according to the required performance for the I / F circuit 80 that changes according to the number of printers 26 connected to the printer I / F card 30. be able to.

また、プリンタ26とのインタフェースが、コンピュータ10が稼働している状態で接続ケーブル44の抜き差し(所謂ホットプラグ)が可能なインタフェースである場合は、プリンタI/Fカード30に接続されているプリンタ26の台数を検知し、前回検知した台数と比較する処理を周期的に行い、前回検知した台数と相違していた場合には、検知した最新の台数に対応する構成情報をフラッシュROM36から読み出し、読み出した構成情報をFPGA40に与えることで、プリンタI/Fカード30に現在接続されているプリンタ26の台数に対応するI/F回路80をFPGA40上に構成させる処理を行うように、CPU34が実行するプログラムを構成すればよい。   Further, when the interface with the printer 26 is an interface that allows the connection cable 44 to be inserted and removed (so-called hot plug) while the computer 10 is operating, the printer 26 connected to the printer I / F card 30. Is detected periodically and compared with the previously detected number of units. If the number of detected units is different from the previously detected number, the configuration information corresponding to the latest detected number of units is read from the flash ROM 36 and read. By providing the configuration information to the FPGA 40, the CPU 34 executes so that the I / F circuit 80 corresponding to the number of the printers 26 currently connected to the printer I / F card 30 is configured on the FPGA 40. What is necessary is just to comprise a program.

なお、上記ではFPGA40上に高速動作版のI/F回路80を構成させるか低消費電力版のI/F回路80を構成させるかを、プリンタI/Fカード30を介してコンピュータ10に接続されたプリンタ26の台数に応じて切り替える態様を説明したが、これに限定されるものではない。例えばプリンタI/Fカード30とプリンタ26との間の伝送速度(ビットレート)が、プリンタ26に加わっている負荷の大きさ等に応じて切り替わる仕様となっていたり、PCIバス16を介してプリンタI/Fカード30に入力されるデータの実質的な転送レートがコンピュータ10に加わっている負荷の大きさによって変化する等のように、プリンタI/Fカード30(I/F回路80)に対する要求性能は時々刻々変化する可能性があるので、プリンタI/Fカード30(I/F回路80)に対する要求性能を検知し、検知した要求性能に応じてFPGA40上に構成するI/F回路80を切り替えるようにしてもよい。   In the above, whether to configure the high-speed operation version I / F circuit 80 or the low power consumption version I / F circuit 80 on the FPGA 40 is connected to the computer 10 via the printer I / F card 30. Although the mode of switching according to the number of printers 26 has been described, the present invention is not limited to this. For example, the transmission speed (bit rate) between the printer I / F card 30 and the printer 26 can be switched according to the magnitude of the load applied to the printer 26, or the printer via the PCI bus 16. Requests to the printer I / F card 30 (I / F circuit 80) such that the substantial transfer rate of data input to the I / F card 30 varies depending on the load applied to the computer 10. Since the performance may change from moment to moment, the required performance for the printer I / F card 30 (I / F circuit 80) is detected, and the I / F circuit 80 configured on the FPGA 40 is configured according to the detected required performance. You may make it switch.

また、FPGA等のプログラマブル論理デバイスでは、チップ上の個々の論理回路セル46の間に設けられた個々の配線や個々の論理回路セル46内の個々の配線毎に、容量や信号遅延に関する特性が相違している。このため、例えば図9に示すように容量が大きく信号遅延が小さい配線Aと、容量が小さく信号遅延が大きい配線Bがプログラマブル論理デバイス上に存在していた場合に、プログラマブル論理デバイス上に構成する回路のうち、動作速度を重視した高速動作版の回路については配線Aを使用することで動作速度を更に高速化し、消費電力を重視した低消費電力版の回路については配線Bを使用することで消費電力を更に抑制する等、個々の回路で重視される項目に適した特性を有する配線を用いて回路が構成されるように、個々の回路の構成情報を設定するようにしてもよい。これにより、回路構成自体は同一であっても個々の回路の性能(動作速度又は消費電力)を更に向上させることができる。   In addition, in a programmable logic device such as an FPGA, characteristics relating to capacitance and signal delay are provided for each wiring provided between each logic circuit cell 46 on the chip and each wiring in each logic circuit cell 46. It is different. Therefore, for example, as shown in FIG. 9, when a wiring A having a large capacity and a small signal delay and a wiring B having a small capacity and a large signal delay are present on the programmable logic device, the wiring is configured on the programmable logic device. Among the circuits, the operation speed is further increased by using the wiring A for the high-speed operation version circuit that emphasizes the operation speed, and the wiring B is used for the low-power consumption version circuit that emphasizes the power consumption. The configuration information of each circuit may be set so that the circuit is configured by using wiring having characteristics suitable for items emphasized in each circuit, such as further suppressing power consumption. Thereby, even if the circuit configuration itself is the same, the performance (operation speed or power consumption) of each circuit can be further improved.

また、上記ではFPGA40上に高速動作版のI/F回路80を構成させるための第1の構成情報と低消費電力版のI/F回路80を構成させるための第2の構成情報をフラッシュROM36に記憶させた態様を説明したが、FPGA40上に構成する回路の種類数(構成情報の種類数)は上記に限られるものではなく、より多数種類の構成情報を用意しておき、各構成情報に対応するより多数種の回路の中からFPGA40上に構成する回路の選択・切り替えを行うようにしてもよい。   In the above, the flash ROM 36 includes first configuration information for configuring the high-speed operation version I / F circuit 80 on the FPGA 40 and second configuration information for configuring the low power consumption version I / F circuit 80. However, the number of types of circuits (number of types of configuration information) configured on the FPGA 40 is not limited to the above, and more types of configuration information are prepared, and each configuration information A circuit configured on the FPGA 40 may be selected / switched from a larger number of types of circuits corresponding to the above.

また、上記ではプリンタI/Fカード30に搭載したFPGA40上にI/F回路80を構成する場合を例に説明したが、本発明を適用可能なプログラマブル論理デバイスはFPGAに限られるものではなく、例えば構成情報の記憶及び書替えが可能なフラッシュメモリが搭載されたPLD(具体的には、例えばアルテラ社製のMAXII等)、或いはDAP/DNA等のように、回路構成の再構成が可能なプログラマブル論理デバイスであれば本発明を適用可能である。また、プログラマブル論理デバイス上に構成する回路がI/F回路80に限られるものではなく、またプログラマブル論理デバイスを含む本発明に係る電子回路がプリンタI/Fカード30に搭載した回路に限られるものでもなく、本発明はプログラマブル論理デバイスを含む任意の構成の電子回路に適用可能であり、該電子回路の構成や該電子回路に対する要求性能に応じて、高速動作可能な状態遷移回路である第1回路及び該第1回路よりも低消費電力で動作可能な状態遷移回路である第2回路をプログラマブル論理デバイス上に選択的に構成する場合に本発明を適用可能であることは言うまでもない。 In the above description, the case where the I / F circuit 80 is configured on the FPGA 40 mounted on the printer I / F card 30 has been described as an example. However, the programmable logic device to which the present invention is applicable is not limited to the FPGA. For example, PLD (specifically, for example, MAXII manufactured by Altera Corporation) equipped with a flash memory capable of storing and rewriting configuration information, or programmable such that DAP / DNA can reconfigure the circuit configuration. The present invention can be applied to any logical device. Further, the circuit configured on the programmable logic device is not limited to the I / F circuit 80, and the electronic circuit according to the present invention including the programmable logic device is limited to the circuit mounted on the printer I / F card 30. Rather, the present invention is applicable to an electronic circuit having an arbitrary configuration including a programmable logic device, and is a first state transition circuit that can operate at high speed according to the configuration of the electronic circuit and the required performance for the electronic circuit. Needless to say, the present invention can be applied to a case where a circuit and a second circuit, which is a state transition circuit operable with lower power consumption than the first circuit, are selectively configured on a programmable logic device.

本実施形態に係るコンピュータ及びプリンタI/Fカードの概略構成を示すブロック図である。1 is a block diagram illustrating a schematic configuration of a computer and a printer I / F card according to an embodiment. FPGAのチップ上の概略構成を示す平面図である。It is a top view which shows schematic structure on the chip | tip of FPGA. FPGAの論理回路セルの構成の一例を示す回路図である。It is a circuit diagram which shows an example of a structure of the logic circuit cell of FPGA. (A)〜(C)は図3の論理回路セルによって実現可能な論理回路の一例を示すブロック図である。(A)-(C) are block diagrams which show an example of the logic circuit realizable by the logic circuit cell of FIG. プリンタI/FカードのFPGA上に構成される回路の一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of a circuit configured on an FPGA of a printer I / F card. (A)〜(D)は図5の回路中の各I/F部の概略構成を示すブロック図である。(A)-(D) are block diagrams which show schematic structure of each I / F part in the circuit of FIG. (A)はシーケンサの状態遷移の一例を示す概念図、(B)はone-hotタイプ、(C)はgrayタイプのシーケンサの概略構成図及び各フリップフロップに保持されている値と内部状態との関係を示す図表である。(A) is a conceptual diagram showing an example of state transition of a sequencer, (B) is a one-hot type, (C) is a schematic configuration diagram of a gray type sequencer, and values and internal states held in each flip-flop. It is a chart which shows the relationship. プリンタI/Fカードに、(A)は2台のプリンタが接続された場合、(B)はプリンタが1台のみ接続された場合の要求性能の一例を説明するための説明図である。(A) is an explanatory diagram for explaining an example of required performance when two printers are connected to the printer I / F card, and (B) is an example of required performance when only one printer is connected. 特性の異なる配線を選択することによる回路の性能向上を説明するための概念図である。It is a conceptual diagram for demonstrating the performance improvement of the circuit by selecting the wiring from which a characteristic differs.

符号の説明Explanation of symbols

30 プリンタI/Fカード
34 CPU
36 フラッシュROM
38 メモリ
40 FPGA
46 論理回路セル
48 配線群
62 D−FF
76 バッファ
110 状態遷移回路
116 状態遷移回路
30 Printer I / F Card 34 CPU
36 Flash ROM
38 memory 40 FPGA
46 logic circuit cell 48 wiring group 62 D-FF
76 Buffer 110 State Transition Circuit 116 State Transition Circuit

Claims (6)

複数の論理回路セルと、個々の前記論理回路セルの間に設けられ前記個々の論理回路セルの間の電気的な接続を再構成可能な配線が設けられ、任意の回路を構成可能でかつ回路構成の再構成が可能なプログラマブル論理デバイスと、
高速動作可能な状態遷移回路である第1回路を前記プログラマブル論理デバイス上に構成させるための第1構成情報と、低消費電力で動作可能な状態遷移回路である第2回路を前記プログラマブル論理デバイス上に構成させるための第2構成情報を各々記憶する記憶手段と、
前記プログラマブル論理デバイス上に構成する状態遷移回路が、前記プログラム論理デバイスが実装される基板に接続される構成に応じて前記第1回路又は前記第2回路に切り替わるように、前記記憶手段に記憶されている前記第1構成情報又は前記第2構成情報に従って少なくとも前記配線を再構成させることで、前記プログラマブル論理デバイス上に前記第1回路又は前記第2回路を構成させる再構成手段と、
を含む電子回路。
Arranged between a plurality of logic circuit cells and the individual logic circuit cells, and wiring capable of reconfiguring electrical connection between the individual logic circuit cells is provided, and an arbitrary circuit can be configured and the circuit A programmable logic device capable of reconfiguration, and
First configuration information for configuring a first circuit, which is a state transition circuit capable of high-speed operation, on the programmable logic device, and a second circuit, which is a state transition circuit operable at low power consumption, on the programmable logic device Storage means for storing each of the second configuration information for configuring
A state transition circuit configured on the programmable logic device is stored in the storage unit so as to switch to the first circuit or the second circuit according to a configuration connected to a substrate on which the program logic device is mounted. Reconfiguration means for configuring the first circuit or the second circuit on the programmable logic device by reconfiguring at least the wiring according to the first configuration information or the second configuration information.
Including electronic circuit.
前記基板に実装された前記プログラム論理デバイスは、電子部品に接続され、前記電子部品との間で情報伝送を行い、  The program logic device mounted on the substrate is connected to an electronic component and transmits information to and from the electronic component.
前記再構成手段は、前記プログラム論理デバイスが実装される基板に接続される構成に応じて、前記プログラマブル論理デバイスと前記電子部品との間の前記情報伝送の周波数を変更することを特徴とする請求項1記載の電子回路。The reconfiguration unit changes a frequency of the information transmission between the programmable logic device and the electronic component according to a configuration connected to a board on which the program logic device is mounted. Item 2. The electronic circuit according to Item 1.
前記状態遷移回路は、各々1ビットの値を保持する保持回路と、現在の内部状態がm種類の内部状態のうちの特定内部状態か否かを表す1ビットの値を前記保持回路に保持させると共に、前記特定内部状態への遷移又は前記特定内部状態からの遷移に関連する所定の事象が発生する毎に、前記保持回路に保持されている1ビットの値を変更する変更回路と、が前記内部状態の種類数mと同数だけ各々設けられ、個々の前記変更回路は、個々の前記保持回路に前記m種類の内部状態のうちの互いに異なる内部状態に対応する1ビットの値を保持させることを特徴とする請求項1記載の電子回路。The state transition circuit causes the holding circuit to hold a 1-bit value and a holding circuit to hold a 1-bit value indicating whether the current internal state is a specific internal state among m types of internal states. And a change circuit that changes a value of 1 bit held in the holding circuit each time a predetermined event related to the transition to or from the specific internal state occurs. The number of internal states is the same as the number of types m, and each of the change circuits causes each of the holding circuits to hold 1-bit values corresponding to different internal states of the m types of internal states. The electronic circuit according to claim 1. 前記状態遷移回路は、2を底とする前記内部状態の種類数mの対数値以上のn個設けられ各々1ビットの値を保持する保持回路と、現在の内部状態を表すnビットの値を前記n個の保持回路に保持させると共に、所定の事象が発生する毎に、前記n個の保持回路に保持されているnビットの値を、発生した事象の種類に応じた内部状態を表すnビットの値に変更する単一の変更回路と、を含んで構成されていることを特徴とする請求項1記載の電子回路。The state transition circuit is provided with n holding circuits each having a logarithmic value greater than or equal to the logarithm value of the number m of the internal states with 2 as a base, and holding an n-bit value representing the current internal state. Each of the n holding circuits holds the n-bit value held in the n holding circuits every time a predetermined event occurs, and represents an internal state corresponding to the type of the generated event n The electronic circuit according to claim 1, comprising a single change circuit for changing to a bit value. 前記m種類の内部状態の何れかに各々対応しているm種類のnビットの値は、当該値が前記変更回路によって変更された際の変更後のnビットの値が、変更前のnビットの値に対してnビット中の1ビットのみが変化するように定められていることを特徴とする請求項4記載の電子回路。The m types of n-bit values respectively corresponding to any of the m types of internal states are the n-bit values after the change when the values are changed by the change circuit. 5. The electronic circuit according to claim 4, wherein only one of n bits is changed with respect to the value of. 複数の論理回路セルと、前記個々の論理回路セルの間に設けられ個々の論理回路セルの間の電気的な接続を再構成可能な配線が設けられ、任意の回路を構成可能でかつ回路構成の再構成が可能なプログラマブル論理デバイスを使用するにあたり、A plurality of logic circuit cells and wiring provided between the individual logic circuit cells and capable of reconfiguring electrical connection between the individual logic circuit cells are provided, and an arbitrary circuit can be configured and a circuit configuration. When using programmable logic devices that can be reconfigured
高速動作可能な状態遷移回路である第1回路を前記プログラマブル論理デバイス上に構成させるための第1構成情報と、低消費電力で動作可能な状態遷移回路である第2回路を前記プログラマブル論理デバイス上に構成させるための第2構成情報を記憶手段に各々記憶しておき、First configuration information for configuring a first circuit, which is a state transition circuit capable of high-speed operation, on the programmable logic device, and a second circuit, which is a state transition circuit operable at low power consumption, on the programmable logic device Second configuration information for configuring each is stored in the storage means,
前記プログラマブル論理デバイス上に構成する状態遷移回路が、前記プログラム論理デバイスが実装される基板に接続される構成に応じて前記第1回路又は前記第2回路に切り替わるように、前記記憶手段に記憶されている前記第1構成情報又は前記第2構成情報に従って少なくとも前記配線を再構成させることで、前記プログラマブル論理デバイス上に前記第1回路又は前記第2回路を構成させるA state transition circuit configured on the programmable logic device is stored in the storage unit so as to switch to the first circuit or the second circuit according to a configuration connected to a substrate on which the program logic device is mounted. The first circuit or the second circuit is configured on the programmable logic device by reconfiguring at least the wiring according to the first configuration information or the second configuration information.
ことを特徴とするプログラマブル論理デバイスの使用方法。A method for using a programmable logic device.
JP2005375967A 2005-12-27 2005-12-27 Method of using electronic circuit and programmable logic device Expired - Fee Related JP4892970B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005375967A JP4892970B2 (en) 2005-12-27 2005-12-27 Method of using electronic circuit and programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005375967A JP4892970B2 (en) 2005-12-27 2005-12-27 Method of using electronic circuit and programmable logic device

Publications (2)

Publication Number Publication Date
JP2007180810A JP2007180810A (en) 2007-07-12
JP4892970B2 true JP4892970B2 (en) 2012-03-07

Family

ID=38305532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005375967A Expired - Fee Related JP4892970B2 (en) 2005-12-27 2005-12-27 Method of using electronic circuit and programmable logic device

Country Status (1)

Country Link
JP (1) JP4892970B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5401700B2 (en) * 2009-06-02 2014-01-29 ルネサスエレクトロニクス株式会社 Microcomputer
CN102014046B (en) * 2010-01-21 2013-01-23 柳州市达迪通信设备有限公司 Method and system for realizing multistream Ethernet data message transmission stimulation
TWI591966B (en) * 2012-10-17 2017-07-11 半導體能源研究所股份有限公司 Programmable logic device and method for driving programmable logic device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06112810A (en) * 1992-09-30 1994-04-22 Sony Corp Digital ic device
JP2001268071A (en) * 2000-03-16 2001-09-28 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd Tamper-resistant encryption device

Also Published As

Publication number Publication date
JP2007180810A (en) 2007-07-12

Similar Documents

Publication Publication Date Title
CN100530045C (en) Systematic large-scale integrated circuit
EP1546898B1 (en) Interface integrated circuit device for a usb connection
CN109411007B (en) Universal flash memory test system based on FPGA
CN110321313A (en) Configurable interface card
US7225288B2 (en) Extended host controller test mode support for use with full-speed USB devices
US20090125663A1 (en) Interface arrangement, especially for a system on a chip, and use thereof
JP2012198895A (en) Memory controller address and data pin multiplexing
CN107463224B (en) Display card expansion board and host and computing equipment applying same
CN102457392B (en) Method of Sharing Baseboard Management Controller
JP4892970B2 (en) Method of using electronic circuit and programmable logic device
CN111599390B (en) Block memory cell based on dynamic reconfigurable technology
US20150074343A1 (en) Logic device
CN100367258C (en) Direct memory access controller and bus structure in master-slave system
CN114026552B (en) Microcontroller with configurable logic peripherals
CN100395742C (en) Computer system capable of quickly transmitting data between different storage devices
US8060676B2 (en) Method of hot switching data transfer rate on bus
CN113539343A (en) A kind of multiplex output method, device, device and storage medium of shift register
CN119718691B (en) Bandwidth allocation method, module, server, electronic device, medium and product
CN217543836U (en) Integrated circuit module for PXIe interface equipment
CN118132243B (en) Interrupt signal processing method, device, equipment, medium, circuit and system
CN114647613B (en) Processing system, related integrated circuit and method
WO2014126807A1 (en) Method and apparatus for latency reduction
CN217718675U (en) PCIE interface, mainboard and PCIE expansion module
EP4439320A1 (en) Method and apparatus to improve performance and battery life for systems with discrete universal serial bus connector
WO2006038470A1 (en) Semiconductor device and memory card having the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111205

R150 Certificate of patent or registration of utility model

Ref document number: 4892970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees