JP2009194676A - Programmable logic device, construction method thereof, and using method thereof - Google Patents

Programmable logic device, construction method thereof, and using method thereof Download PDF

Info

Publication number
JP2009194676A
JP2009194676A JP2008034040A JP2008034040A JP2009194676A JP 2009194676 A JP2009194676 A JP 2009194676A JP 2008034040 A JP2008034040 A JP 2008034040A JP 2008034040 A JP2008034040 A JP 2008034040A JP 2009194676 A JP2009194676 A JP 2009194676A
Authority
JP
Japan
Prior art keywords
memory
line
logic
data
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008034040A
Other languages
Japanese (ja)
Other versions
JP5260077B2 (en
Inventor
Tetsuo Hironaka
哲夫 弘中
Naoki Hirakawa
直樹 平川
Toshinori Yoshihara
理記 吉原
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.)
Hiroshima Industrial Promotion Organization
Original Assignee
Hiroshima Industrial Promotion Organization
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 Hiroshima Industrial Promotion Organization filed Critical Hiroshima Industrial Promotion Organization
Priority to JP2008034040A priority Critical patent/JP5260077B2/en
Publication of JP2009194676A publication Critical patent/JP2009194676A/en
Application granted granted Critical
Publication of JP5260077B2 publication Critical patent/JP5260077B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To avoid propagation delay of data by enabling discrete wiring between basic logic blocks, and to achieve reduction of the area of PLD by allowing SRAM of the basic logic block to be a single port SRAM. <P>SOLUTION: The basic logic block constituting PLD is provided with: additional wiring of address data pair where input/output data line for logic circuit is distributed to each bit; an address line; and a data line. The additional wiring can be added only to a wanted basic logic block as required. The address data pair, address line, and data line may be combined to constitute a single PLD. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、プログラマブル論理デバイス、およびその構築方法、およびその使用方法に係り、特に、各基本論理ブロックがメモリ要素としても動作可能であり、各基本ブロック同士の配線において、近接した配線及び離間した配線を可能とするプログラマブル論理デバイス、およびその構築方法、およびその使用方法に関する。   The present invention relates to a programmable logic device, a construction method thereof, and a usage method thereof. In particular, each basic logic block can also operate as a memory element. The present invention relates to a programmable logic device that enables wiring, a construction method thereof, and a usage method thereof.

図20を参照して、従来の技術を用いた一般的なプログラマブル論理デバイス(Programmable Logic Device:以下PLD)の構成を説明する。図20は、最も一般的なアイランドスタイルFPGA(Field Programmable Logic Array)100の一例であり、論理要素LB、接続要素、スイッチ要素SB、CB、入出力要素IOBから構成されている。   With reference to FIG. 20, the structure of a general programmable logic device (Programmable Logic Device: hereinafter referred to as PLD) using conventional technology will be described. FIG. 20 shows an example of the most common island-style FPGA (Field Programmable Logic Array) 100, which includes a logic element LB, connection elements, switch elements SB and CB, and an input / output element IOB.

論理要素LBは、組み合わせ回路を実現するプログラマブルな要素であり、順序回路を実現する論理要素LBはフリップフロップ回路を内部に備えている。論理要素LBの実現方式としてはプロダクトターム方式、LUT(Look Up Table)方式、MUX(MLUTiplexer:マルチプレクサ)方式などがある。例えばLUT方式は、任意の論理関数の真理値表をSRAM(Static Random Access Memory)に保持し、入力に応じて真理値表を参照して出力を行う方式である。   The logic element LB is a programmable element that realizes a combinational circuit, and the logic element LB that realizes a sequential circuit includes a flip-flop circuit therein. As a method for realizing the logical element LB, there are a product term method, a LUT (Look Up Table) method, a MUX (MLUTiplexer) method, and the like. For example, the LUT method is a method in which a truth table of an arbitrary logical function is held in an SRAM (Static Random Access Memory), and output is performed by referring to the truth table according to input.

入出力要素IOBとは、デバイスの入出力と論理要素LBとの間のインターフェースの役割を担う構成要素である。   The input / output element IOB is a component that serves as an interface between the input / output of the device and the logical element LB.

接続要素は、論理要素LB、入出力要素IOBを接続するための構成要素である。接続要素は配線チャネル、スイッチ要素CB、SBであり、論理要素LBや入出力要素IOBの間はこの接続要素を介して接続されている。配線チャネルとは、1次元的、2次元的、あるいは階層的に配置し固定された配線である。スイッチ要素CBは、論理ブロックLBと配線チャネルとの間に設定する要素であり、スイッチ要素SBは、縦方向と横方向の配線が交差する部分において縦横の配線間の設定を行う要素である。   The connection element is a component for connecting the logical element LB and the input / output element IOB. The connection elements are wiring channels and switch elements CB and SB, and the logic element LB and the input / output element IOB are connected via this connection element. The wiring channel is a wiring arranged and fixed one-dimensionally, two-dimensionally or hierarchically. The switch element CB is an element that is set between the logic block LB and the wiring channel, and the switch element SB is an element that sets the vertical and horizontal wiring at a portion where the vertical and horizontal wirings intersect.

このようなFPGA100では、論理回路の構築情報を書き込む外部メモリMを備えている。論理回路を構築する際には外部メモリMから構築情報を読み込み、読み込んだ構築データをFPGA100に転送している。つまり上記の如きFPGA100は、SRAMベースで構成されているにも関わらず、LUTを構成するSRAMをまとめて1つのメモリとして効率よく使用することはできない問題がある。   Such an FPGA 100 includes an external memory M for writing logic circuit construction information. When constructing a logic circuit, construction information is read from the external memory M, and the read construction data is transferred to the FPGA 100. That is, the FPGA 100 as described above has a problem that the SRAMs constituting the LUT cannot be efficiently used as a single memory in spite of being configured based on the SRAM.

一方、メモリ機能と論理回路機能を兼ね備えたPLDとしてメモリベース論理回路(Memory-based PLD:以下MPLD)が提案されている。   On the other hand, a memory-based PLD (MPLD) has been proposed as a PLD having both a memory function and a logic circuit function.

図21は、従来のMPLD150の概要を示す図である。   FIG. 21 is a diagram showing an outline of a conventional MPLD 150.

図21(A)の如く、MPLD150は、メモリとLUTの双方として機能する基本論理ブロックLB’を導入し、その配置と配線を工夫することで、マルチプレクサや、スイッチ要素を不要とし、FPGAと略同等の機能を実現できる。   As shown in FIG. 21A, the MPLD 150 introduces a basic logic block LB ′ that functions as both a memory and an LUT, and devise its arrangement and wiring, thereby eliminating the need for multiplexers and switch elements. Equivalent functions can be realized.

具体的には、各基本論理ブロックLB’に接続する論理用入力データ線及び論理用出力データ線をそれぞれ、1ビットずつに分散してアドレス線とデータ線の対として、隣接する基本論理ブロックLB’と相互に接続する。これにより基本論理ブロックLB’は、再構成部として動作し、更にLUTやメモリ、さらには各基本論理ブロックLB’間を図21(A)に示した交互配線で接続することで信号スイッチとしても利用可能である。   Specifically, the logical input data lines and the logical output data lines connected to each basic logical block LB ′ are distributed in units of 1 bit to form adjacent address lines and data line pairs as adjacent basic logical blocks LB. 'Connect with each other. As a result, the basic logic block LB ′ operates as a reconfiguration unit, and further, can be used as a signal switch by connecting the LUT, memory, and each basic logic block LB ′ with the alternate wiring shown in FIG. Is available.

MPLD150をメモリとして動作させる時は、従来のメモリと同様の操作で動作させることが可能である。論理回路として動作させる時は、各基本論理ブロックLB’に所望の回路やスイッチ信号として振舞うような真理値表を記憶させておくことで動作させることが可能となる。   When the MPLD 150 is operated as a memory, it can be operated by the same operation as a conventional memory. When operating as a logic circuit, each basic logic block LB 'can be operated by storing a truth table that acts as a desired circuit or switch signal.

これによりMPLD150は、図21(B)の如く、全ての基本論理ブロックLB’をまとめて1つのメモリとして使用することができ、また論理回路としても動作させることができる(例えば非特許文献1参照。)。
吉原理記、外4名、「再構成デバイスとしても動作するメモリ(MPLD)の一実装例」、信学技法、広島市立大学大学院、平成19年9月、RECONF2007−16、pp.7−12
As a result, the MPLD 150 can collectively use all the basic logic blocks LB ′ as one memory as shown in FIG. 21B, and can also operate as a logic circuit (see, for example, Non-Patent Document 1). .)
Yoshihara, 4 others, "Implementation example of a memory (MPLD) that also operates as a reconfigurable device", Shingaku Technique, Hiroshima City University Graduate School, September 2007, RECONF 2007-16, pp. 7-12

図21に示した従来のMPLDでは、以下の問題があった。   The conventional MPLD shown in FIG. 21 has the following problems.

第1に、各基本論理ブロックLB’間の配線が隣接した基本論理ブロックLB’にのみ接続されているため、離れた基本論理ブロックLB’にデータを転送する場合の伝播遅延が大きい問題があった。   First, since the wiring between the basic logical blocks LB ′ is connected only to the adjacent basic logical block LB ′, there is a problem that a propagation delay is large when data is transferred to the separated basic logical block LB ′. It was.

第2に、各基本論理ブロックLB’間の配線が隣接した基本論理ブロックLB’にのみ接続されているため、例えば順序回路の接続などが必要な場合には、MPLD150の外部で接続することとなり、汎用性が高められない問題があった。   Second, since the wiring between the basic logical blocks LB ′ is connected only to the adjacent basic logical block LB ′, for example, when connection of a sequential circuit is necessary, the wiring is connected outside the MPLD 150. There was a problem that versatility could not be improved.

第3に、論理回路としての動作とメモリとしての動作は同時に使用しないにも関わらず、基本論理ブロックLB’として2ポートSRAMを用いているため、通常のSRAMよりも面積は2倍近く大きいものとなってしまう。このため、MPLD全体の面積も増大してしまう問題があった。   Third, although the operation as a logic circuit and the operation as a memory are not used at the same time, a 2-port SRAM is used as the basic logic block LB ′, so that the area is almost twice as large as that of a normal SRAM. End up. For this reason, there is a problem in that the area of the entire MPLD also increases.

本発明は、係る課題に鑑みてなされ、第1に、複数の基本論理ブロックを有し、コンフィギュレーション情報に応じて複数の論理回路が構成されるプログラマブル論理デバイスであって、それぞれの前記基本論理ブロックは、記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線を有し、該論理用アドレス線および論理用データ線は、論理用入出力データのビット数に応じてそれぞれ1ビットごとに分配して単位アドレス線および単位データ線とし該単位アドレス線および単位データ線を対にして各対毎に前記基本論理ブロックから異なる方向に配線され、前記単位アドレス線および前記単位データ線と、前記メモリ用アドレス線および前記メモリ用データ入出力線により近接する前記基本論理ブロックが接続されて、論理回路要素及びメモリ要素を備える論理ブロック群が構成され、少なくとも1つの前記基本論理ブロックは、追加の単位アドレス線および/または追加の単位データ線を有することにより解決するものである。   The present invention has been made in view of such problems, and firstly, it is a programmable logic device having a plurality of basic logic blocks and having a plurality of logic circuits configured according to configuration information. The block includes storage means, a memory address line, a memory data input / output line, a logic address line, and a logic data line. The logic address line and the logic data line are connected to the logic input line. According to the number of bits of output data, each bit is distributed as a unit address line and unit data line, and the unit address line and unit data line are paired and wired in different directions from the basic logic block for each pair. The unit address line and the unit data line are closer to the memory address line and the memory data input / output line. The logic blocks are connected to form a logic block group including logic circuit elements and memory elements, and at least one of the basic logic blocks is solved by having an additional unit address line and / or an additional unit data line. Is.

また、前記基本論理ブロック群の第1の領域の前記記憶手段に所望の論理回路を実現するコンフィギュレーション情報が保持され、前記基本論理ブロック群の第2の領域の前記記憶手段に前記第1の領域の前記基本論理ブロックを選択的に切り替えるスイッチ情報が保持されて前記基本論理ブロック群が前記論理回路要素となることを特徴とするものである。   Configuration information for realizing a desired logic circuit is held in the storage unit in the first area of the basic logic block group, and the storage unit in the second area of the basic logic block group stores the first information. Switch information for selectively switching the basic logic blocks in the area is retained, and the basic logic block group becomes the logic circuit element.

また、前記基本論理ブロック群の第3の領域、あるいは前記論理回路要素として非動作の領域に所望のデータが保持されて、前記基本論理ブロック群の少なくとも一部がメモリ要素となることを特徴とするものである。   Desirable data is held in a third area of the basic logic block group or a non-operating area as the logic circuit element, and at least a part of the basic logic block group is a memory element. To do.

また、前記追加の単位アドレス線および/または追加の単位データ線は、前記基本論理ブロック同士を接続することを特徴とするものである。   Further, the additional unit address line and / or the additional unit data line connect the basic logic blocks to each other.

また、前記追加の単位アドレス線および/または追加のデータ線に記憶要素を接続することを特徴とするものである。   In addition, a storage element is connected to the additional unit address line and / or the additional data line.

また、前記記憶手段は1ポートメモリであり、前記基本論理ブロックは、前記メモリ用アドレス線と前記単位アドレス線とを切り替えて前記第1ポートメモリの入力ポートに割り当てる第1配線切替器と、前記メモリ用データ入出力線と前記単位データ線とを切り替えて前記1ポートメモリの出力ポートに割り当てる第2配線切替器とを備え、前記第1配線切替器および前記第2配線切替器によって論理回路動作時には前記単位アドレス線および前記単位データ線が選択され、メモリ動作時には前記メモリ用アドレス線および前記メモリ用データ入出力線が選択されることを特徴とするものである。   The storage means is a one-port memory, and the basic logic block switches a memory address line and the unit address line and assigns them to an input port of the first port memory; A second wiring switch that switches between the data input / output line for memory and the unit data line and assigns it to the output port of the one-port memory, and operates as a logic circuit by the first wiring switch and the second wiring switch. The unit address line and the unit data line are sometimes selected, and the memory address line and the memory data input / output line are selected during a memory operation.

また、前記論理ブロック群は前記記憶手段として1ポートメモリを有する第1の基本論理ブロックと前記記憶手段として複数ポートメモリを有する第2の基本論理ブロックとが混在することを特徴とするものである。   The logical block group includes a first basic logical block having a 1-port memory as the storage means and a second basic logical block having a multi-port memory as the storage means. .

第2に、記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線とを有し基本論理ブロックを相互に接続して、コンフィギュレーション情報に応じて複数の論理回路を構築するプログラマブル論理デバイスの構築方法であって、前記記憶手段のポートを前記メモリ用アドレス線、メモリ用データ入出力線と、論理用アドレス線および論理用データ線に割り当てる工程と、前記論理用アドレス線および論理用データ線を、論理用入出力データのビット数に応じてそれぞれ1ビット単位で分配して単位アドレス線および単位データ線とし該単位アドレス線および単位データ線を対にするステップと、前記各対毎に前記基本論理ブロックから異なる方向に配線するステップと、少なくとも1つの前記基本論理ブロックに、追加の単位アドレス線および/または追加の単位データ線を接続するステップと、前記メモリ用アドレス線および前記メモリ用データ入出力線と、前記単位アドレス線および前記単位データ線により近接する前記基本論理ブロックを接続し、前記追加の単位アドレス線及び/又は追加の単位データ線を前記基本論理ブロックまたは前記基本論理ブロック群内の他の要素に接続して論理回路要素及びメモリ要素を備えた論理ブロック群を構成するステップと、を具備することにより解決するものである。   Secondly, it has a storage means, a memory address line, a memory data input / output line, a logic address line, and a logic data line, and connects basic logic blocks to each other to obtain configuration information. A method of constructing a programmable logic device that constructs a plurality of logic circuits according to the above, wherein the port of the storage means is assigned to the memory address line, memory data input / output line, logic address line and logic data line. And the logical address line and the logical data line are distributed in 1-bit units according to the number of bits of the logical input / output data to form unit address lines and unit data lines. Pairing, wiring each of the pairs in a different direction from the basic logic block, and at least one of the The step of connecting an additional unit address line and / or an additional unit data line to the logical block, the memory address line and the memory data input / output line, and the unit address line and the unit data line closer to each other Connecting the basic logic block and connecting the additional unit address line and / or the additional unit data line to the basic logic block or another element in the basic logic block group to connect a logic circuit element and a memory element. And a step of configuring the provided logical block group.

また、前記記憶手段に1ポートメモリを用い、前記基本論理ブロックに、前記メモリ用アドレス線と前記単位アドレス線とを切り替えて前記第1ポートメモリの入力ポートに割り当てる第1配線切替器と、前記メモリ用データ入出力線と前記単位データ線とを切り替えて前記1ポートメモリの出力ポートに割り当てる第2配線切替器とを配置することを特徴とするものである。   A first wiring switch that uses a one-port memory as the storage means, switches the memory address line and the unit address line to the basic logic block, and assigns them to an input port of the first port memory; A second wiring switch that switches between the memory data input / output line and the unit data line and is assigned to the output port of the one-port memory is arranged.

第3に、記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線により基本論理ブロックを構成し、前記記憶手段のポートが前記メモリ用アドレス線およびメモリ用データ入出力線と、論理用アドレス線および論理用データ線に割り当てられ、前記論理用アドレス線および論理用データ線を、論理用入出力データのビット数に応じてそれぞれ1ビット単位で分配して単位アドレス線および単位データ線とし該単位アドレス線および単位データ線を対にして前記各対毎に前記基本論理ブロックから異なる方向に配線し、前記メモリ用アドレス線および前記メモリ用データ入出力線と、前記単位アドレス線および前記単位データ線により近接する前記基本論理ブロックを相互に接続して論理回路要素及びメモリ要素を備えた論理ブロック群を構成し、少なくとも1つの前記基本論理ブロックに、追加の単位アドレス線および/または追加の単位データ線を接続し、前記追加の単位アドレス線および/または追加の単位データ線を近接しない前記基本論理ブロックまたは前記基本論理ブロック群内の他の要素と接続したプログラマブル論理デバイスの使用方法であって、前記メモリ用アドレス線およびメモリ用データ入出力線を利用して、基本論理ブロック群の第1の領域の前記記憶手段に所望の論理回路を実現するコンフィギュレーション情報を保持させるステップと、前記メモリ用アドレス線およびメモリ用データ入出力線を利用して論理ブロック群の第2の領域の前記記憶手段に前記第1の領域の前記基本論理ブロックを選択的に切り替えるスイッチ情報を保持させるステップと、前記論理用アドレス線と、論理用データ線を利用して論理回路動作を行わせるステップと、前記メモリ用アドレス線を利用して前記基本論理ブロック群の第3の領域あるいは前記論理回路要素として非動作の領域に所望のデータを保持させて、前記基本論理ブロック群の少なくとも一部をメモリ動作させるステップと、を具備することにより解決するものである。   Third, a basic logic block is constituted by the storage means, the memory address line, the memory data input / output line, the logic address line, and the logic data line, and the port of the storage means is the memory address. Lines and memory data input / output lines, logic address lines and logic data lines, and each of the logic address lines and logic data lines is in units of 1 bit according to the number of bits of logic input / output data. Are divided into unit address lines and unit data lines, and the unit address lines and unit data lines are wired in different directions from the basic logic block for each pair, and the memory address lines and the memory data An input / output line and the basic logic block closer to the unit address line and the unit data line are connected to each other to provide a logic circuit. And an additional unit address line and / or an additional unit data line are connected to at least one basic logical block, and the additional unit address line and / or the additional unit data line are connected to at least one basic logical block. A method of using a programmable logic device in which a unit data line is connected to the basic logic block or other elements in the basic logic block group that are not adjacent to each other, using the memory address line and the memory data input / output line A step of holding configuration information for realizing a desired logic circuit in the storage means in the first area of the basic logic block group, and a logic block group using the memory address line and memory data input / output line The basic logical block in the first area is selectively cut into the storage means in the second area. Holding the switch information to be switched, performing the logic circuit operation using the logic address line and the logic data line, and using the memory address line, a third of the basic logic block group. And holding a desired data in a non-operating area as the logic circuit element and operating at least a part of the basic logic block group as a memory.

また、前記基本論理ブロックの前記記憶手段として1ポートメモリを用い、前記基本論理ブロックに、前記メモリ用アドレス線と前記単位アドレス線とを切り替えて前記第1ポートメモリの入力ポートに割り当てる第1配線切替器と、前記メモリ用データ入出力線と前記単位データ線とを切り替えて前記1ポートメモリの出力ポートに割り当てる第2配線切替器とを配置し、前記第1配線切替器と、前記第2配線切替器を操作して、前記論理回路動作または前記メモリ動作させることを特徴とするものである。   Further, a first port memory is used as the storage means of the basic logic block, and the first wiring assigned to the input port of the first port memory by switching the memory address line and the unit address line to the basic logic block. A switch, and a second wiring switch that switches between the memory data input / output line and the unit data line and assigns to the output port of the one-port memory, the first wiring switch, and the second wiring switch. The logic circuit operation or the memory operation is performed by operating a wiring switch.

本発明によれば、以下の効果が得られる。   According to the present invention, the following effects can be obtained.

第1に、所望の基本論理ブロックに、追加の単位アドレス線及び/または単位データ線を接続することにより、隣接する基本論理ブロック間を配線する近接配線に加えて、他の配線を追加することができる。これにより、例えば離間した基本論理ブロック同士を配線することが可能となる。   First, by connecting an additional unit address line and / or unit data line to a desired basic logic block, other wiring is added in addition to the adjacent wiring for wiring between adjacent basic logic blocks. Can do. Thereby, for example, it is possible to wire the separated basic logic blocks.

各基本論理ブロックにおいて単位アドレス線および単位データ線を対で追加することにより、双方向にデータを伝播する経路が増加し、汎用性が高められる。   By adding a unit address line and a unit data line in each basic logic block as a pair, the number of paths through which data is transmitted in both directions is increased, and versatility is improved.

一方、単位アドレス線および単位データ線を対で追加すると、単位アドレス線および単位データ線の対の数の増加にしたがって、MLUT全体の面積が増加する。このような場合は、所望の基本論理ブロックに選択的に、離間した基本論理ブロック同士を配線するための単位アドレス線および単位データ線の対の数を確保する。   On the other hand, when unit address lines and unit data lines are added in pairs, the area of the entire MLUT increases as the number of pairs of unit address lines and unit data lines increases. In such a case, the number of unit address line and unit data line pairs for wiring the separated basic logic blocks selectively to a desired basic logic block is ensured.

このように、追加の配線を接続する基本論理ブロックを限定することで、MLUT全体の面積増加を抑制することができる。これにより、CADでの取り扱いを容易にする近接配線の対称性と均質性を保ちながら、MPLD内において離間したMLUT間の配線を実現し、汎用性の高いMPLDを実現できる。   As described above, by limiting the basic logical blocks to which the additional wiring is connected, an increase in the area of the entire MLUT can be suppressed. As a result, wiring between MLUTs separated in the MPLD can be realized while maintaining the symmetry and homogeneity of the adjacent wiring that facilitates handling in CAD, and a highly versatile MPLD can be realized.

更に、近接する基本論理ブロック同士を追加の配線で接続することもできる。   Furthermore, adjacent basic logic blocks can be connected by an additional wiring.

第2に、所望の基本論理ブロックに、追加の単位アドレス線及び/または単位データ線を接続することにより、フリップフロップ回路などの記憶要素(素子)を追加するこができる。これにより、順序回路として機能させることも可能となる。あるいは、論理回路動作時における演算結果を記憶させることが可能である。   Second, a storage element (element) such as a flip-flop circuit can be added by connecting an additional unit address line and / or unit data line to a desired basic logic block. Thereby, it is possible to function as a sequential circuit. Alternatively, it is possible to store the calculation result during the logic circuit operation.

これにより、CADでの取り扱いを容易にする近接配線の対称性と均質性を保ちながら、所望の基本論理ブロックと近接した領域に、フリップフロップ回路やラッチ回路接続することができる。   Thus, it is possible to connect a flip-flop circuit or a latch circuit in a region close to a desired basic logic block while maintaining the symmetry and homogeneity of the adjacent wiring that facilitates handling in CAD.

第3に、追加の単位アドレス線および単位データ線は、必要に応じていずれか一方または両方を、必要な基本論理ブロックのみに接続することにより、全体の面積増加を抑えつつ、汎用性の高いMPLDを提供できる。   Third, one or both of the additional unit address lines and unit data lines are connected to only the necessary basic logic blocks as needed, thereby suppressing the increase in the entire area and highly versatile. MPLD can be provided.

基本論理ブロックにおいて、単位アドレス線および単位データ線を追加すれば、双方向の配線が増加し、汎用性は高められるが、単位アドレス線および単位データ線の対の数の増加にしたがって、MLUT全体の面積が増加する。そこで、必要に応じて離間したMLUTとの配線を実現するための単位アドレス線および単位データ線のうちいずれかを選択して配線する。すなわち、データを伝播する方向は固定されるが、面積増加を抑制できる。   If a unit address line and a unit data line are added to the basic logic block, bidirectional wiring is increased and versatility is improved. However, as the number of unit address line and unit data line pairs increases, the entire MLUT increases. Increases the area. Therefore, if necessary, one of the unit address line and the unit data line for realizing wiring with the separated MLUT is selected and wired. That is, the direction in which data is propagated is fixed, but the area increase can be suppressed.

更に、離間したMLUTとの配線を実現するための追加の配線を付加する基本論理ブロックを限定することでMLUT全体の面積増加を抑制することができる。   Further, by limiting the basic logical block to which additional wiring for realizing wiring with the separated MLUT is limited, an increase in the area of the entire MLUT can be suppressed.

第4に、基本論理ブロックは、1ポートメモリと、その入出力メモリポートを論理回路動作用とメモリ(再構成)動作用に接続を切り替える2つの配線切替器を備えることにより、MPLDの面積を削減することができる。   Fourth, the basic logic block includes a one-port memory and two wiring switching units that switch the input / output memory port for logic circuit operation and memory (reconfiguration) operation, thereby reducing the area of the MPLD. Can be reduced.

MPLDでは、基本論理ブロックに2ポートメモリを用いた場合であっても論理回路動作とメモリ(再構成)動作は同時には行われない。そこで、2ポートメモリに変えて1ポートメモリを使用し、配線切替器によって論理回路動作用とメモリ用のポート(配線)を切り替えることで、MPLDの面積を低減できる。特に、単位アドレス線と単位データ線の対の数が大きい(扱うデータのビット数が大きい)場合には、有効である。   In MPLD, even when a two-port memory is used for the basic logic block, the logic circuit operation and the memory (reconfiguration) operation are not performed simultaneously. Therefore, the area of the MPLD can be reduced by using a 1-port memory instead of the 2-port memory, and switching the logic circuit operation port and the memory port (wiring) by a wiring switch. This is particularly effective when the number of unit address line and unit data line pairs is large (the number of bits of data to be handled is large).

また、1ポートメモリを用いた基本論理ブロックは、配線切替器によってメモリ動作と論理回路動作を切り分けることが可能なため、通常のFPGAなどと比べて部分再構成がしやすい利点を有する。   In addition, since the basic logic block using the 1-port memory can separate the memory operation and the logic circuit operation by the wiring switch, it has an advantage that the partial reconfiguration is easier than a normal FPGA.

図1から図19を参照して、本発明の実施形態について詳細に説明する。   The embodiment of the present invention will be described in detail with reference to FIGS.

本発明のプログラマブル論理デバイスはメモリベースプログラマブル論理デバイス(Memory-based Programmable Logic Device:以下MPLD)10であり、記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線と、からなる基本論理ブロック1を複数相互接続して構成される。   The programmable logic device of the present invention is a memory-based programmable logic device (hereinafter referred to as MPLD) 10, and includes a storage means, a memory address line, a memory data input / output line, and a logic address line. A plurality of basic logic blocks 1 composed of logic data lines are interconnected.

まず図1から図13を参照して、本発明の第1の実施形態について説明する。   First, a first embodiment of the present invention will be described with reference to FIGS.

図1は、MPLD10の全体を示す概要図である。   FIG. 1 is a schematic diagram showing the entire MPLD 10.

MPLD10は、複数の基本論理ブロック1を配置したブロック群2と、行デコーダ3と、列デコーダ4を有する。   The MPLD 10 includes a block group 2 in which a plurality of basic logic blocks 1 are arranged, a row decoder 3, and a column decoder 4.

MPLD10の入出力信号は、メモリアドレス入力信号MA、メモリデータ入出力信号MD、論理用アドレス信号LI、論理用データ信号LOである。   Input / output signals of the MPLD 10 are a memory address input signal MA, a memory data input / output signal MD, a logic address signal LI, and a logic data signal LO.

メモリアドレス入力信号MAは、MPLD10がメモリ動作する場合に、メモリ中のデータの読み出しおよび書き込みに使用するアドレスの入力信号である。   The memory address input signal MA is an input signal of an address used for reading and writing data in the memory when the MPLD 10 performs a memory operation.

メモリデータ入出力信号MDは、メモリ中のデータの読み出し及び書き込みを行うときに、MPLD10の外部とのデータのやり取りを行う信号である。   The memory data input / output signal MD is a signal for exchanging data with the outside of the MPLD 10 when reading and writing data in the memory.

論理用アドレス信号LIは、MPLD10を論理回路として動作させる場合に用いて、演算データを入力するときに使用する信号である。   The logic address signal LI is used when the MPLD 10 is operated as a logic circuit and used when inputting operation data.

論理用データ信号LOは、MPLD10を論理回路として動作させる場合に用いて、論理回路の演算結果を出力するときに使用する信号である。   The logic data signal LO is a signal used when the MPLD 10 is operated as a logic circuit and used to output the operation result of the logic circuit.

本実施形態の基本論理ブロック1は、メモリ要素と論理回路要素を備える。   The basic logic block 1 of this embodiment includes a memory element and a logic circuit element.

MPLD10をメモリとして使用する場合(メモリ機能)の動作について説明する。一般的なメモリと同様に、メモリ用アドレス線11は行デコーダ3と列デコーダ4に入力され、メモリ用アドレス線11からメモリアドレス入力信号MA(行アドレス入力信号)が入力され、制御信号が行デコーダ3に入力されることでワード線WLを操作する。そして、制御信号と行アドレス入力信号で内部のビット線BLを操作し、データの制御を列デコーダ4で行う。つまり、行アドレス入力信号と列アドレス入力信号を入力することで読み出し、または書き込みする場所を指定し、制御信号WE、制御信号RE、制御信号PREを用いて、それぞれ書き込み制御、読み出し制御、プリチャージの制御を行う。   An operation when the MPLD 10 is used as a memory (memory function) will be described. Similar to a general memory, the memory address line 11 is input to the row decoder 3 and the column decoder 4, the memory address input signal MA (row address input signal) is input from the memory address line 11, and the control signal is input to the row. The word line WL is operated by being input to the decoder 3. Then, the internal bit line BL is operated by the control signal and the row address input signal, and the data is controlled by the column decoder 4. That is, by inputting a row address input signal and a column address input signal, a location for reading or writing is specified, and writing control, reading control, and precharging are respectively performed using the control signal WE, the control signal RE, and the control signal PRE. Control.

次に、MPLD10を論理回路として使用する場合(論理回路機能)の動作について説明する。各基本論理ブロック1は、ここでの図示は省略するが、隣接する基本論理ブロック1と相互に配線で接続されている。   Next, the operation when the MPLD 10 is used as a logic circuit (logic circuit function) will be described. Although not shown here, each basic logic block 1 is connected to the adjacent basic logic block 1 by wiring.

論理回路として動作させるには、上記のメモリ機能を用いて、各基本論理ブロック1に実現したい信号スイッチまたは論理回路の真理値表を入力しておく。次に論理用アドレス線13に論理用アドレス信号LIを入力することで、論理用データ線14から演算結果(論理用データ信号LO)が出力される。   In order to operate as a logic circuit, a truth table of a signal switch or a logic circuit to be realized is input to each basic logic block 1 using the memory function described above. Next, by inputting the logic address signal LI to the logic address line 13, the operation result (the logic data signal LO) is output from the logic data line 14.

次に、図2から図7を参照して基本論理ブロック1について説明する。後に詳述するが、本実施形態の基本論理ブロック1は、多入力多出力LUT(Look Up Table)として機能するので、以下これをMLUT(Multi LUT)1と称する。以下では、4入出力(ビット数N=4)の場合を例に示す。   Next, the basic logic block 1 will be described with reference to FIGS. As will be described in detail later, the basic logic block 1 of the present embodiment functions as a multi-input multi-output LUT (Look Up Table), and is hereinafter referred to as an MLUT (Multi LUT) 1. In the following, an example of 4 inputs / outputs (number of bits N = 4) is shown.

まず図2は、MLUT1の入出力を示す図である。MLUT1は、2ポートメモリ(例えばSRAM(static random access memory))15、メモリ動作用のアドレスデコーダ16、論理回路用のアドレスデコーダ17を有する。尚、メモリ動作用のアドレスデコーダ16は全てのMLUT1で共有可能なので、MLUT1の外部に構成することによりMLUT1の小面積化が可能である。   First, FIG. 2 is a diagram showing input / output of the MLUT 1. The MLUT 1 includes a two-port memory (for example, SRAM (static random access memory)) 15, an address decoder 16 for memory operation, and an address decoder 17 for a logic circuit. Since the address decoder 16 for memory operation can be shared by all MLUTs 1, it is possible to reduce the area of the MLUT1 by configuring it outside the MLUT1.

メモリ用入力ポート18Aにはメモリ用アドレス線11が接続し、メモリ用入出力ポート18Dにはメモリ用データ入出力線12が接続し、論理用入力ポート19Aには論理用アドレス線13が接続し、論理用出力ポート19Dには論理用データ線14が接続する。   The memory address line 11 is connected to the memory input port 18A, the memory data input / output line 12 is connected to the memory input / output port 18D, and the logic address line 13 is connected to the logic input port 19A. The logic data line 14 is connected to the logic output port 19D.

図3は、MLUT1内の2ポートメモリ15の入出力を示す図である。   FIG. 3 is a diagram showing input / output of the 2-port memory 15 in the MLUT 1.

本実施形態では、MLUT1に接続する論理用アドレス線13と論理用データ線14は、論理用入出力データのビット数N(例えばN=4)に応じて1ビットごとに分配される。以下、1ビットごとに分配された論理用アドレス線13および論理用データ線を、それぞれ単位アドレス線130、単位データ線140と称する。   In this embodiment, the logic address line 13 and the logic data line 14 connected to the MLUT 1 are distributed bit by bit according to the number of bits N (for example, N = 4) of the logic input / output data. Hereinafter, the logical address line 13 and the logical data line distributed for each bit are referred to as a unit address line 130 and a unit data line 140, respectively.

すなわち論理用アドレス線13は、単位アドレス線130(131、132、・・・、13N)に分配され、論理用データ線14は単位データ線140(141、142、・・・14N)に分配される(図3(A))。   That is, the logic address line 13 is distributed to the unit address lines 130 (131, 132,..., 13N), and the logic data line 14 is distributed to the unit data lines 140 (141, 142,... 14N). (FIG. 3A).

更に単位アドレス線130と単位データ線140を、それぞれ1本ずつの対にする。これをアドレス・データ対ADと称する。そして、図3(B)の如く、アドレス・データ対AD1(単位アドレス線131と単位データ線141)、アドレス・データ対AD2(単位アドレス線132と単位データ線142)、アドレス・データ対AD3(単位アドレス線133と単位データ線143)、アドレス・データ対AD4(単位アドレス線134と単位データ線144)として配線する(図2参照)。   Further, one unit address line 130 and one unit data line 140 are paired. This is called an address / data pair AD. As shown in FIG. 3B, the address / data pair AD1 (unit address line 131 and unit data line 141), the address / data pair AD2 (unit address line 132 and unit data line 142), and the address / data pair AD3 ( A unit address line 133 and a unit data line 143) are wired as an address / data pair AD4 (unit address line 134 and unit data line 144) (see FIG. 2).

図4は、MLUT1のアドレス・データ対ADの配線の一例を示す図である。   FIG. 4 is a diagram illustrating an example of the wiring of the address / data pair AD of the MLUT 1.

図4(A)は1つのMLUT1を示す図であり、図4(B)はMLUT群1Gの一部を示す図である。   FIG. 4A is a diagram showing one MLUT 1, and FIG. 4B is a diagram showing a part of the MLUT group 1G.

図4(A)の如く、アドレス・データ対ADは、各対毎にMLUT1から異なる方向に配置された他のMLUT1に向かって配線される。一例として、アドレス・データ対AD1(単位アドレス線131と単位データ線141)、アドレス・データ対AD2(単位アドレス線132と単位データ線142)、アドレス・データ対AD3(単位アドレス線133と単位データ線143)、アドレス・データ対AD4(単位アドレス線134と単位データ線144)は、それぞれ図4に示すMLUT1の左、上、右、下から導出するように双方向に配線される。またメモリ用アドレス線11とメモリ用データ入出力線12も配線される。   As shown in FIG. 4A, the address / data pair AD is wired for each pair from the MLUT 1 to another MLUT 1 arranged in a different direction. As an example, address / data pair AD1 (unit address line 131 and unit data line 141), address / data pair AD2 (unit address line 132 and unit data line 142), address / data pair AD3 (unit address line 133 and unit data) Line 143) and address / data pair AD4 (unit address line 134 and unit data line 144) are wired bidirectionally so as to be derived from the left, top, right and bottom of MLUT1 shown in FIG. A memory address line 11 and a memory data input / output line 12 are also wired.

メモリ用アドレス線11とメモリ用データ入出力線12はそれぞれ、2ポートメモリ15の第1入力ポート18A、第1出力ポート18Dに接続し、単位アドレス線131〜134と単位データ線141〜144はそれぞれ、2ポートメモリ15の第2入力ポート19A、第2出力ポート19Dに接続する。   The memory address line 11 and the memory data input / output line 12 are respectively connected to the first input port 18A and the first output port 18D of the 2-port memory 15, and the unit address lines 131 to 134 and the unit data lines 141 to 144 are connected to each other. Each is connected to the second input port 19A and the second output port 19D of the 2-port memory 15.

図4(B)の如く、アドレス・データ対ADによって、MLUT1は近接するMLUT1と相互に接続される。近接するMLUT1とは、マトリクス状に配置されたMLUT1の一つに対して例えば上下左右に隣接する4つのMLUT1である。またMLUT1がマトリクス(アレイ)状に配置されない場合(例えば行方向または列方向にずらして配置した場合)であっても、4方向において隣接する4つのMLUT1と接続する。以下このように隣接するMLUT1との相互の接続を近接配線と称する。   As shown in FIG. 4B, the MLUT1 is mutually connected to the adjacent MLUT1 by the address / data pair AD. The adjacent MLUTs 1 are, for example, four MLUTs 1 that are adjacent to each other in the vertical and horizontal directions with respect to one of the MLUTs 1 arranged in a matrix. Further, even when MLUT1 is not arranged in a matrix (array) form (for example, shifted in the row direction or the column direction), it is connected to four MLUT1 adjacent in the four directions. Hereinafter, the mutual connection with the adjacent MLUT 1 is referred to as a proximity wiring.

図5を参照して、MLUT1の論理回路動作を説明する。図5(A)は構築する論理回路の一例を示す図であり、図5(B)は真理値表の一例であり、図5(C)はMLUT1に入出力されるデータの一例を示す図である。   With reference to FIG. 5, the logic circuit operation of the MLUT 1 will be described. 5A is a diagram illustrating an example of a logic circuit to be constructed, FIG. 5B is an example of a truth table, and FIG. 5C is a diagram illustrating an example of data input to and output from the MLUT 1. It is.

論理回路動作時には、論理回路用の配線、すなわちアドレス・データ対AD(実線矢印)を利用する。また図5(A)に示す論理回路の場合は、図5(B)の如き真理値表で表現することができる。真理値表は、メモリ用アドレス線11およびメモリ用データ入出力線を利用して、MLUT1内の2ポートメモリ15に保持させることで、MLUT1を論理回路要素とすることができ、MLUT1にデータが入力されると、真理値表を参照して結果を出力する(図5(C))。   When the logic circuit operates, the logic circuit wiring, that is, the address / data pair AD (solid arrow) is used. In the case of the logic circuit shown in FIG. 5A, it can be expressed by a truth table as shown in FIG. The truth table is stored in the 2-port memory 15 in the MLUT 1 using the memory address line 11 and the memory data input / output line, so that the MLUT 1 can be used as a logic circuit element, and data is stored in the MLUT 1. When input, the result is output with reference to the truth table (FIG. 5C).

このように本実施形態のMLUT1は、論理用アドレス線13と論理用データ線14を分配してアドレス・データ対ADとし、異なる方向に配線することで、多入力多出力LUTとして機能する。   As described above, the MLUT 1 of this embodiment functions as a multi-input multi-output LUT by distributing the logical address line 13 and the logical data line 14 to form an address / data pair AD and wiring them in different directions.

またMLUT1は、単位アドレス線がMLUT1に対して入力方向、単位データ線がMLUT1からの出力方向になるので、複数のアドレス・データ対ADを異なる方向に接続することで、MLUT1に方向性を持たせることができ、スイッチ要素として機能させることができる。   In MLUT1, since the unit address line is in the input direction with respect to MLUT1, and the unit data line is in the output direction from MLUT1, MLUT1 has directionality by connecting a plurality of address / data pairs AD in different directions. And can function as a switch element.

図6を参照して、MLUT1のスイッチ動作を説明する。図6(A)が真理値表の一例であり、図6(B)がMLUT1に入出力されるデータの一例を示す図、図6(C)がスイッチ要素としての概要を示す図である。   With reference to FIG. 6, the switching operation of the MLUT 1 will be described. FIG. 6A is an example of a truth table, FIG. 6B is a diagram illustrating an example of data input to and output from the MLUT 1, and FIG. 6C is a diagram illustrating an overview as a switch element.

図6(A)の如く、入出力方向の情報(スイッチング情報)は真理値表で表現できる。またMLUT1は各アドレス・データ対ADが方向性を持っている(図6(B))。従って例えば入力(A0)と出力(Y1)が等価(A0=Y1)となる論理式を実現する真理値表を、メモリ用アドレス線11およびメモリ用データ入出力線12を利用して、2ポートメモリ15に保持させることで、それぞれ実線、破線、一点鎖線、二点鎖線の矢印の方向に配線を接続することができる。つまり、データの入力によってMLUT1をスイッチ要素として機能させることができる(図6(C))。   As shown in FIG. 6A, the input / output direction information (switching information) can be expressed by a truth table. In MLUT1, each address / data pair AD has directionality (FIG. 6B). Therefore, for example, a truth table that realizes a logical expression in which the input (A0) and the output (Y1) are equivalent (A0 = Y1) is obtained by using the memory address line 11 and the memory data input / output line 12. By holding the data in the memory 15, the wiring can be connected in the directions of arrows of a solid line, a broken line, a one-dot chain line, and a two-dot chain line. That is, the MLUT 1 can function as a switch element by inputting data (FIG. 6C).

図7を参照して、MLUT1のメモリ動作を説明する。図7はMLUT1に入出力されるデータの一例を示す図である。   The memory operation of the MLUT 1 will be described with reference to FIG. FIG. 7 is a diagram illustrating an example of data input to and output from the MLUT 1.

メモリ要素として利用するときは、メモリ用の配線(メモリ用アドレス線11、メモリ用データ入出力線12)を利用する。MLUT1をメモリ動作させることで、論理要素またはスイッチ要素としての真理値表の読み込みや書き換えを行う。尚、真理値表はデータとしても利用することができる。   When used as a memory element, memory wiring (memory address line 11, memory data input / output line 12) is used. By operating the MLUT 1 in a memory, the truth table as a logical element or a switch element is read or rewritten. The truth table can also be used as data.

以上のような構成により、MLUT1はメモリ要素と論理回路要素を備えることができ、本実施形態のMPLD10は、従来のPLD(図20)とは異なり、配線要素CB、SBが不要で、一般的なメモリに近いPLDとしてメモリ動作と論理回路動作を行うことが可能となる。   With the configuration as described above, the MLUT 1 can include a memory element and a logic circuit element. Unlike the conventional PLD (FIG. 20), the MPLD 10 according to the present embodiment does not require the wiring elements CB and SB. Memory operation and logic circuit operation can be performed as a PLD close to a simple memory.

すなわち、メモリ用アドレス線11およびメモリ用データ入出力線12を利用して、所望のMLUT1にコンフィギュレーション情報を書き込み、他のMLUT1にスイッチング情報を書き込む。その後、論理用アドレス線13を利用して基本論理ブロック群(MLUT群)1Gを論理回路として動作させ、論理用データ線14から演算結果を出力する。   That is, using the memory address line 11 and the memory data input / output line 12, the configuration information is written into a desired MLUT 1 and the switching information is written into another MLUT 1. After that, the logic address line 13 is used to operate the basic logic block group (MLUT group) 1G as a logic circuit, and an operation result is output from the logic data line 14.

図8を参照して具体的に説明する。図8は、MPLD10の構成の一例を示す図であり、図1に示すMLUT群1Gの一部を拡大した図である。ここでは論理回路として4ビット加算器を構成した場合を例に説明する。   This will be specifically described with reference to FIG. FIG. 8 is a diagram showing an example of the configuration of the MPLD 10, and is an enlarged view of a part of the MLUT group 1G shown in FIG. Here, a case where a 4-bit adder is configured as a logic circuit will be described as an example.

MLUT1は、それぞれ近接するMLUT1とアドレス・データ対AD(細矢印)にて相互に配線されている。また、メモリ用アドレス線11およびメモリ用データ入出力線12は各列で共有している。図7において例えば、最も左のアドレス・データ対ADと、左上のアドレス・データ対ADが、図1の論理用アドレス線、論理用データ線に接続する。   MLUT1 is mutually wired by MLUT1 and address data pair AD (thin arrow) which adjoin each other. The memory address line 11 and the memory data input / output line 12 are shared by each column. In FIG. 7, for example, the leftmost address / data pair AD and the upper left address / data pair AD are connected to the logic address line and logic data line of FIG.

論理回路として動作させるために、まずメモリ機能を用いて所望のMLUT1に実現したい論理回路のコンフィギュレーション情報およびスイッチ情報を入力する。   In order to operate as a logic circuit, first, configuration information and switch information of a logic circuit to be realized in a desired MLUT 1 are input using a memory function.

すなわち、メモリ用アドレス線11とメモリ用データ入出力線12を用いて、MLUT群1Gの第1の領域R1(例えば左端の列)のMLUT1内の2ポートメモリ15に、論理和を求めるコンフィギュレーション情報(真理値表)を保持させる。   That is, a configuration for obtaining a logical sum in the 2-port memory 15 in the MLUT 1 of the first region R1 (for example, the leftmost column) of the MLUT group 1G using the memory address line 11 and the memory data input / output line 12. Hold information (truth table).

またメモリ用アドレス線11とメモリ用データ入出力線12を用いて、MLUT群1Gの第2の領域R2(例えば左から2列目)のMLUT1内の2ポートメモリ15に、論理回路要素を選択的に切り替えるスイッチ情報となる真理値表を保持させる。例えば、左端の列の加算結果の桁上げを行う配線が選択されるような真理値表を保持させる。   Further, using the memory address line 11 and the memory data input / output line 12, a logic circuit element is selected for the 2-port memory 15 in the MLUT 1 in the second region R2 (for example, the second column from the left) of the MLUT group 1G. A truth table as switch information to be switched automatically is held. For example, a truth table is selected so that the wiring for carrying the addition result of the leftmost column is selected.

そして論理用アドレス線13および論理用データ線14(各アドレス・データ対AD)を利用して、太矢印の如く論理回路として動作させる。すなわち、演算データを論理用アドレス線13から入力することで、左端の列(第1の領域R1)と、左から2列目(第2の領域R2)のMLUT群が加算および桁上げの論理回路動作を行い、演算結果を、論理用データ線14から出力させる。   The logic address line 13 and the logic data line 14 (each address / data pair AD) are used to operate as a logic circuit as indicated by a thick arrow. That is, by inputting operation data from the logic address line 13, the MLUT group in the leftmost column (first region R1) and the second column from the left (second region R2) is added and carried logic. The circuit operation is performed, and the operation result is output from the logic data line 14.

このとき、MLUT群1Gの第3の領域R3(例えば左から3列目およびそれ以外の列)のMLUT1は、論理回路動作に使用されないため、必要に応じて、それぞれの2ポートメモリ15に所望のデータを保持させてメモリ要素として機能させることもできる。   At this time, the MLUT 1 in the third region R3 (for example, the third column from the left and other columns from the left) of the MLUT group 1G is not used for the logic circuit operation. These data can be held and function as a memory element.

また、例えば第1の領域R1や第2の領域R2において論理回路動作していない領域をメモリ要素として機能させることもできる。   In addition, for example, a region not operating in a logic circuit in the first region R1 or the second region R2 can function as a memory element.

論理回路をどのように構成するか、あるいはスイッチ要素をどのように機能させるか、より具体的には、どのような真理値表をどのMLUT1に保持させるかは、設計者によって適宜選択される。   It is appropriately selected by the designer how to configure the logic circuit or how the switch element functions, more specifically, what truth table is held in which MLUT1.

一方、メモリ要素として動作させるには、通常のメモリと同様の操作を行う。すなわち、再び図1を参照して、メモリアドレス入力信号MAを行デコーダ3、列デコーダ4に入力し、これにより操作したいメモリを指定し、書き込むデータとしてメモリデータ入出力信号MDを入力する。データの読み出しは同様に操作し、メモリ用データ入出力線からデータが出力される。制御信号WEは書き込み制御、制御信号REは読み出し制御、制御信号PREはプリチャージの制御を行う。   On the other hand, in order to operate as a memory element, an operation similar to that of a normal memory is performed. That is, referring again to FIG. 1, a memory address input signal MA is input to the row decoder 3 and the column decoder 4, thereby specifying a memory to be operated, and a memory data input / output signal MD is input as data to be written. Data is read out in the same manner, and data is output from the memory data input / output line. The control signal WE performs write control, the control signal RE performs read control, and the control signal PRE controls precharge.

本実施形態のMPLD10は、外部メモリを用いず、MLUT群1Gの一部の領域をPLDとして機能させ、他の領域をメモリとして機能させることができる。また一般的なメモリへの書き込み操作と同様の手法で論理回路を構築することができ、MLUT群1Gの一部を、部分的に書き換えることが容易である。従ってPLDとしての領域の増減にも柔軟に対応でき、またPLDとして利用する必要のない場合には、全体を1つのメモリとして機能させることも可能である。   The MPLD 10 of the present embodiment can use a part of the MLUT group 1G as a PLD and a function of other areas as a memory without using an external memory. In addition, a logic circuit can be constructed in the same manner as a general memory write operation, and a part of the MLUT group 1G can be easily rewritten partially. Therefore, it is possible to flexibly cope with the increase / decrease of the area as the PLD, and when it is not necessary to use it as the PLD, the whole can function as one memory.

また論理回路要素となるMLUT1はそれぞれ構築情報を保持するので、外部メモリから構築情報を読み込む従来のPLDと比較して、構築速度を高めることができる。   Further, each MLUT 1 serving as a logic circuit element holds construction information, so that the construction speed can be increased as compared with a conventional PLD that reads construction information from an external memory.

以上がMLUT1の基本的な動作であるが、本実施形態では、MLUT群1Gの少なくとも1つのMLUT1に、アドレス・データ対AD、またはアドレス線13およびデータ線14のいずれか一方を追加して接続するものであり、図9から図12を参照して説明する。   The basic operation of the MLUT 1 is as described above. In this embodiment, the address / data pair AD or any one of the address line 13 and the data line 14 is added to at least one MLUT 1 of the MLUT group 1G. This will be described with reference to FIGS.

図9は、MLUT群1G内のデータの伝播の一例を示す図であり、細矢印がアドレス・データ対であり、破線の太矢印はデータが伝播する様子を示している。   FIG. 9 is a diagram illustrating an example of data propagation in the MLUT group 1G, where thin arrows indicate address / data pairs, and broken thick arrows indicate how data is propagated.

例えば左上のMLUT1から右下のMLUT1へデータを伝播するような場合、構築する論理回路によっては太矢印の如く多数のMLUT1を通過する必要があるため伝播遅延が大きくなる問題がある。   For example, when data is propagated from the upper left MLUT 1 to the lower right MLUT 1, depending on the logic circuit to be constructed, it is necessary to pass through a large number of MLUTs 1 as shown by thick arrows.

そこで本実施形態では、MLUT1に追加の配線を行うことにより、離間した他のMLUTとの配線(以下離間配線)を実現し、伝播遅延を抑制することとした。   Therefore, in the present embodiment, by performing additional wiring on the MLUT 1, wiring with other separated MLUTs (hereinafter, separated wiring) is realized, and propagation delay is suppressed.

図10は、追加の配線を行ったMLUT群1Gの一部を示す図である。   FIG. 10 is a diagram illustrating a part of the MLUT group 1G in which additional wiring is performed.

上記の如く各MLUT1は、例えば4組のアドレス・データ対AD(細矢印)によって4方向において隣接するMLUT1と相互に配線(近接配線)されている。   As described above, each MLUT 1 is wired (proximity wiring) with the MLUT 1 adjacent in the four directions by, for example, four pairs of address / data pairs AD (thin arrows).

本実施形態では、近接配線に使用するアドレス・データ対ADを維持したまま、追加のアドレス・データ対AD’(太矢印)を接続する。これにより、それぞれのMLUT1に接続されるアドレス・データ対AD、AD’の数が増加する。図10においてはアドレス・データ対AD、AD’合計数をAD対数として各MLUT1内に示した。   In the present embodiment, an additional address / data pair AD ′ (thick arrow) is connected while maintaining the address / data pair AD used for the proximity wiring. As a result, the number of address / data pairs AD and AD 'connected to each MLUT 1 increases. In FIG. 10, the total number of address / data pairs AD and AD 'is shown in each MLUT 1 as AD logarithm.

追加する他のアドレス・データ対AD’は、隣接するMLUT1より遠方のMLUT1と接続し、これにより離間した他のMLUT1と配線(離間配線)が可能となる。   The other address / data pair AD ′ to be added is connected to the MLUT 1 farther from the adjacent MLUT 1, thereby enabling wiring (separated wiring) to another MLUT 1 that is separated.

論理回路によっては、このような場合に、離間配線を追加することでデータの伝播遅延を大幅に減少させることができる。また、配線の柔軟性を高めることができる。   Depending on the logic circuit, in such a case, the data propagation delay can be greatly reduced by adding the separated wiring. Moreover, the flexibility of wiring can be improved.

図11は、離間配線の他の一例を示す図である。図11(A)は1つのMLUT1を示す図であり、図11(B)はMLUT群1Gの一例を示す図である。細矢印は近接配線を行うアドレス・データ対ADである。   FIG. 11 is a diagram illustrating another example of the separated wiring. FIG. 11A is a diagram showing one MLUT1, and FIG. 11B is a diagram showing an example of the MLUT group 1G. A thin arrow indicates an address / data pair AD for performing proximity wiring.

単位アドレス線130および単位データ線140は常にアドレス・データ対ADで配線する必要はなく、必要に応じて、太矢印の如く、単位アドレス線130’および単位データ線140’をそれぞれ独立してMLUT1に追加することができる。尚、追加された後の単位アドレス線、単位データ線の数は、それぞれA線、D線としてMLUT1内に示した。図の如く送り側のMLUT1に単位データ線140’を追加した場合、受け側のMLUT1では単位アドレス線130’の追加となる。   The unit address line 130 and the unit data line 140 do not always need to be wired as an address / data pair AD. If necessary, the unit address line 130 ′ and the unit data line 140 ′ can be independently set as MLUT1 as indicated by a thick arrow. Can be added to. The numbers of unit address lines and unit data lines after the addition are shown in MLUT 1 as A lines and D lines, respectively. When a unit data line 140 ′ is added to the sending side MLUT 1 as shown in the figure, a unit address line 130 ′ is added to the receiving side MLUT 1.

この場合は、追加のアドレス・データ対AD’を接続した場合と異なり、双方向配線ではなくなるが、普通の組み合わせ回路の場合双方向線を利用する必要はなく、一定の方向にデータが伝播さる。そのため、必ずしも追加した単位アドレス線130’、単位データ線140’が対になる必要はない。   In this case, unlike the case where the additional address / data pair AD ′ is connected, the wiring is not bidirectional, but in the case of an ordinary combinational circuit, it is not necessary to use the bidirectional line, and data is propagated in a certain direction. . Therefore, the added unit address line 130 'and unit data line 140' do not necessarily have to be paired.

以下の説明では、追加のアドレス・データ対AD’、単位アドレス線13’、単位データ線14’を総称して追加配線と称し、これらを追加することを追加配線を行う、と称する。   In the following description, the additional address / data pair AD ′, the unit address line 13 ′, and the unit data line 14 ′ are collectively referred to as additional wiring, and adding these is referred to as performing additional wiring.

本実施形態では、全てのMLUT1に均一に、追加のアドレス・データ対AD’、単位アドレス線13’、単位データ線14’のそれぞれを追加することができる。これにより配線の自由度を大幅に向上させることができ、データを伝播する際の遅延を回避することができる。   In the present embodiment, the additional address / data pair AD ′, the unit address line 13 ′, and the unit data line 14 ′ can be added uniformly to all MLUTs 1. Thereby, the freedom degree of wiring can be improved significantly and the delay at the time of propagating data can be avoided.

但し、追加配線は、直接的にMPLDの面積増加につながる。そこで、図10の如く、必要なMLUT1のみ選択的に、アドレス・データ対AD’を追加する。これにより、MPLDとしての面積増加を抑制しつつ、論理回路動作時における各MLUT1間のルーティングをより柔軟にすることができる。従って、隣接していないMLUT1へデータを伝播する際の遅延を回避することができる。   However, the additional wiring directly increases the area of the MPLD. Therefore, as shown in FIG. 10, only the necessary MLUT1 is selectively added to the address / data pair AD '. As a result, it is possible to make the routing between the MLUTs 1 more flexible during the operation of the logic circuit while suppressing an increase in the area as the MPLD. Accordingly, it is possible to avoid a delay when data is propagated to the MLUT 1 that is not adjacent.

また、図11の如く、必要なMLUT1のみ選択的に、単位アドレス線130’、単位データ線140’のいずれかを追加する。これによって、配線方向は限定されるが、面積の縮小に寄与できる。尚、図11(A)の如く、用途に応じてメモリ用アドレス線11、メモリ用データ入出力線12のビット数も均一あるいは不均一に増加する。   Further, as shown in FIG. 11, only the necessary MLUT 1 is selectively added to either the unit address line 130 'or the unit data line 140'. Thereby, although the wiring direction is limited, it can contribute to the reduction of the area. As shown in FIG. 11A, the number of bits of the memory address line 11 and the memory data input / output line 12 also increases uniformly or non-uniformly depending on the application.

更に、図12の如く、所望のMPLD11に対して、必要な部分のみに、非規則的、不均等に追加配線のそれぞれを追加することもできる。このように、異なる追加配線を有するMLUT1を1つのMLUT群1Gに混在させることも可能である。   Further, as shown in FIG. 12, it is also possible to add each of the additional wirings irregularly and unevenly only to a necessary portion with respect to the desired MPLD 11. In this way, MLUT1 having different additional wirings can be mixed in one MLUT group 1G.

近接配線は、その対称性と均質性によりCADでの取り扱いが容易となっている。本実施形態では、近接配線に加えて離間配線用のアドレス・データ対AD’、アドレス線13’、データ線14’を接続することにより、近接配線の利点である対象性と均質性を維持したまま、論理回路の構築に柔軟に対応でき、またデータの伝播遅延を回避するMPLDを提供することができる。   Proximity wiring is easy to handle with CAD due to its symmetry and homogeneity. In this embodiment, by connecting the address / data pair AD ′, the address line 13 ′, and the data line 14 ′ for the separated wiring in addition to the neighboring wiring, the objectivity and homogeneity that are the advantages of the neighboring wiring are maintained. Thus, it is possible to provide an MPLD that can flexibly cope with the construction of a logic circuit and avoids a data propagation delay.

そして、アドレス・データ対AD’、アドレス線13’、データ線14’の数を必要に応じて確保し、接続するMLUT1を限定することにより、MPLD全体の面積増加を抑制できる。   Further, by securing the number of address / data pairs AD ′, address lines 13 ′, and data lines 14 ′ as necessary and limiting the MLUT 1 to be connected, an increase in the area of the entire MPLD can be suppressed.

更に、追加のアドレス・データ対AD’、アドレス線13’、データ線14’を立体的に配線すれば、3次元LSIに用いて好適なMPLDが実現する。   Further, if the additional address / data pair AD ′, the address line 13 ′, and the data line 14 ′ are three-dimensionally wired, an MPLD suitable for use in a three-dimensional LSI can be realized.

上記の例では、追加配線によってMLUT1を相互に接続する場合を例に示した。しかしこれに限らず、例えば追加配線によって、フリップフロップ回路やラッチ回路などの記憶要素(記憶素子)を追加することもできる。これによりMLUT群1Gを順序回路として機能させることができる。   In the above example, the MLUT 1 is connected to each other by an additional wiring. However, the present invention is not limited to this, and a storage element (storage element) such as a flip-flop circuit or a latch circuit can be added by an additional wiring, for example. As a result, the MLUT group 1G can function as a sequential circuit.

従来では、MLUT1にフリップフロップ回路やラッチ回路を接続する場合には、MLUT群1Gの外側で接続しており、例えばMLUT群1Gの中央付近のMLUT1では当該回路までの距離が長くなる問題があった。   Conventionally, when a flip-flop circuit or a latch circuit is connected to the MLUT 1, it is connected outside the MLUT group 1G. For example, the MLUT 1 near the center of the MLUT group 1G has a problem that the distance to the circuit becomes long. It was.

しかし、本実施形態によれば、接続すべきMLUT1に近い位置にフリップフロップ回路やラッチ回路を接続することができる。   However, according to the present embodiment, a flip-flop circuit or a latch circuit can be connected at a position close to the MLUT 1 to be connected.

更に、離間配線に限らず、追加配線によって、隣接するMULT1同士を接続させることも可能である。これにより近接配線の配線数を選択的に(あるいは全数で)増加させることができる。   Furthermore, not only the separated wiring but also the adjacent MULTs 1 can be connected by an additional wiring. Thereby, the number of adjacent wirings can be selectively increased (or in total).

図13は、上記のMPLD10の設計工程の一例を示すフロー図であり、以下これを参照して説明する。   FIG. 13 is a flowchart showing an example of the design process of the MPLD 10, which will be described below with reference to this.

ステップ1(S1):MLUT1内の2ポートメモリ15の第1入力ポート18AをMLUT1におけるメモリ用入力ポート、すなわちメモリ用アドレス線11に割り当て、第1出力ポート18DをMLUT1におけるメモリ用入出力ポート、すなわちメモリ用データ入出力線12に割り当てる(図2参照)。   Step 1 (S1): The first input port 18A of the two-port memory 15 in the MLUT1 is assigned to the memory input port in the MLUT1, that is, the memory address line 11, and the first output port 18D is assigned to the memory input / output port in the MLUT1. That is, it is allocated to the memory data input / output line 12 (see FIG. 2).

また、2ポートメモリ15の第2入力ポート19AをMLUT1における論理用入力ポート、すなわち論理用アドレス線13に割り当て、第2出力ポート19DをMLUT1における論理用出力ポート、すなわち論理用データ線14に割り当てる。   Further, the second input port 19A of the 2-port memory 15 is assigned to the logic input port in the MLUT1, that is, the logic address line 13, and the second output port 19D is assigned to the logic output port in the MLUT1, that is, the logic data line 14. .

ステップ2(S2):論理用アドレス線13および論理用データ線14を1ビット単位で分配し、それぞれの1ビットずつを対にしたアドレス・データ対ADによって擬似的な双方向線を構成する(図3(B)参照)。   Step 2 (S2): The logical address line 13 and the logical data line 14 are distributed in 1-bit units, and a pseudo bidirectional line is formed by an address / data pair AD in which each one bit is paired ( (See FIG. 3B).

ステップ3(S3):複数のアドレス・データ対ADがそれぞれ異なる方向に導出されるようにMLUT1に接続し、方向性を持たせる(図4(A)参照)。   Step 3 (S3): A plurality of address / data pairs AD are connected to MLUT1 so as to be derived in different directions, respectively, so as to have directionality (see FIG. 4A).

ステップ4(S4):少なくとも1つのMLUT1に、追加の単位アドレス線および/または追加の単位データ線を接続する。所望のMLUT1に選択的に、追加配線(アドレス・データ対AD’、単位アドレス線130’、単位データ線140’)を接続する。   Step 4 (S4): An additional unit address line and / or an additional unit data line are connected to at least one MLUT1. Additional wiring (address / data pair AD ′, unit address line 130 ′, unit data line 140 ′) is selectively connected to a desired MLUT 1.

ステップ5(S5):複数のMLUT1を例えばアレイ状に配置し、配線を行う。すなわち、メモリ用アドレス線11およびメモリ用データ入出力線12と、単位アドレス線130および単位データ線140(アドレス・データ対AD)により近接するMLUT1を相互に接続する。更に、追加の単位アドレス線130’及び/又は追加の単位データ線140’(追加のアドレス・データ対AD’)をMLUT1または、MLUT群1G内の他の要素に接続して論理回路要素及びメモリ要素を備えた論理ブロック群を構成する(図10〜図12参照)。   Step 5 (S5): A plurality of MLUTs 1 are arranged in an array, for example, and wiring is performed. That is, the MLUT 1 that is closer to the memory address line 11 and the memory data input / output line 12 is connected to the unit address line 130 and the unit data line 140 (address / data pair AD). Further, an additional unit address line 130 ′ and / or an additional unit data line 140 ′ (additional address data pair AD ′) are connected to MLUT1 or other elements in the MLUT group 1G to connect a logic circuit element and a memory. A logical block group including elements is configured (see FIGS. 10 to 12).

尚、上記のステップ2およびステップ3は順不同である。   Note that Step 2 and Step 3 described above are in no particular order.

次に、図14から図17を参照して、本発明の第2の実施形態について説明する。   Next, a second embodiment of the present invention will be described with reference to FIGS.

第1の実施形態のMLUT1は、2ポートメモリ15を用いているが、MLUT1の論理回路動作とメモリ(再構成)動作は同時には行われない。そこで、第2の実施形態では2ポートメモリ15に変えて、1ポートメモリ25と配線切替器22、23を用いて、基本論理ブロックを構成する。以下、第2の実施形態の基本論理ブロックを、SMLUT(Single-port MLUT)2と称して説明する。   The MLUT 1 of the first embodiment uses the 2-port memory 15, but the logic circuit operation and memory (reconfiguration) operation of the MLUT 1 are not performed simultaneously. Therefore, in the second embodiment, instead of the 2-port memory 15, a 1-port memory 25 and wiring switchers 22 and 23 are used to form a basic logic block. Hereinafter, the basic logical block of the second embodiment will be described as SMLUT (Single-port MLUT) 2.

図14および図15は、第2の実施形態のSMLUT2(例えば4ビット)を示す図である。図14はSMLUT2の入出力を示す図であり、図15はSMLUT2の配線の一例を示す図である。尚、第1の実施形態と同一構成要素は同一符号で示し、第1の実施形態と重複する部分は説明を省略する。   14 and 15 are diagrams illustrating SMLUT2 (for example, 4 bits) according to the second embodiment. FIG. 14 is a diagram showing input / output of SMLUT2, and FIG. 15 is a diagram showing an example of wiring of SMLUT2. In addition, the same component as 1st Embodiment is shown with the same code | symbol, and description is abbreviate | omitted about the part which overlaps with 1st Embodiment.

MPLD10としての動作は、第1の実施形態と同様である。すなわち、論理回路として動作させる時は、各SMLUT2に所望の論理回路の構築情報やスイッチ信号として振舞うような情報を真理値表として記憶させておくことで動作させる。またメモリとして動作させる時は一般的なメモリと同じ操作で動作させる。   The operation as the MPLD 10 is the same as that of the first embodiment. That is, when operating as a logic circuit, each SMLUT 2 is operated by storing desired logic circuit construction information and information that acts as a switch signal as a truth table. When operating as a memory, it is operated by the same operation as a general memory.

図14を参照して、SMLUT2は、1ポートメモリ(例えばSRAM)25、アドレスデコーダ27、第1の配線切替器22、第2の配線切替器23を有する。   Referring to FIG. 14, SMLUT 2 includes a 1-port memory (for example, SRAM) 25, an address decoder 27, a first wiring switch 22, and a second wiring switch 23.

メモリ用入力ポート28Aにはメモリ用アドレス線11と論理用アドレス線13が割り当てられ、メモリ用入出力ポート28Dにはメモリ用データ入出力線12と論理用データ線14が割り当てられる。   The memory address line 11 and the logic address line 13 are assigned to the memory input port 28A, and the memory data input / output line 12 and the logic data line 14 are assigned to the memory input / output port 28D.

SMLUT2も、第1の実施形態のMLUT1と同様に論理用アドレス線13と論理用データ線14は、それぞれ単位アドレス線131〜134、単位データ線141〜144に分配される。   Similarly to the MLUT 1 of the first embodiment, the SMLUT 2 also distributes the logical address lines 13 and the logical data lines 14 to unit address lines 131 to 134 and unit data lines 141 to 144, respectively.

図15を参照して、アドレス・データ対ADの配線の一例を示す。   Referring to FIG. 15, an example of the wiring of the address / data pair AD is shown.

アドレス・データ対ADは、各対毎にSMLUT2から異なる方向に配線される。一例として、アドレス・データ対AD1(単位アドレス線131と単位データ線141)、アドレス・データ対AD2(単位アドレス線132と単位データ線142)、アドレス・データ対AD3(単位アドレス線133と単位データ線143)、アドレス・データ対AD4(単位アドレス線134と単位データ線144)それぞれ図15に示すSMLUT2の左、上、右、下から導出するように配線される。またメモリ用アドレス線11およびメモリ用データ入出力線12も、例えば各列で共有するように配線される。   The address / data pairs AD are wired in different directions from the SMLUT 2 for each pair. As an example, address / data pair AD1 (unit address line 131 and unit data line 141), address / data pair AD2 (unit address line 132 and unit data line 142), address / data pair AD3 (unit address line 133 and unit data) Line 143) and address / data pair AD4 (unit address line 134 and unit data line 144) are wired so as to be derived from the left, top, right and bottom of SMLUT2 shown in FIG. The memory address line 11 and the memory data input / output line 12 are also wired so as to be shared by each column, for example.

単位アドレス線131〜134とメモリ用アドレス線11は、SMLUT2内に設けられた第1配線切替器22に接続する。単位データ線141〜144とメモリ用データ入出力線12は、SMLUT2内に設けられた第2配線切替器23に接続する。   The unit address lines 131 to 134 and the memory address line 11 are connected to the first wiring switch 22 provided in the SMLUT 2. The unit data lines 141 to 144 and the memory data input / output line 12 are connected to a second wiring switch 23 provided in the SMLUT 2.

第1配線切替器22は、1ポートメモリ25の入力ポート28Aに接続し、第2配線切替器23は、1ポートメモリ25の出力ポート28Dに接続する。   The first wiring switch 22 is connected to the input port 28A of the 1-port memory 25, and the second wiring switch 23 is connected to the output port 28D of the 1-port memory 25.

具体的には、論理回路動作時には、第1配線切替器22によって単位アドレス線131〜134が選択されて1ポートメモリ25の入力ポート28Aに接続し、第2配線切替器23によって単位データ線141〜144が選択されて1ポートメモリ25の出力ポート28Dに接続する。   Specifically, when the logic circuit operates, the unit address lines 131 to 134 are selected by the first wiring switch 22 and connected to the input port 28A of the 1-port memory 25, and the unit data line 141 is connected by the second wiring switch 23. ˜144 are selected and connected to the output port 28D of the 1-port memory 25.

一方メモリ動作時には、第1配線切替器22によって、メモリ用アドレス線11が選択されて1ポートメモリ25の入力ポート28Aに接続し、第2配線切替器23によってメモリ用データ入出力線12が選択されて1ポートメモリ25の出力ポート28Dに接続する。   On the other hand, during the memory operation, the memory address line 11 is selected by the first wiring switch 22 and connected to the input port 28A of the 1-port memory 25, and the memory data input / output line 12 is selected by the second wiring switch 23. And connected to the output port 28D of the 1-port memory 25.

第1配線切替器22、第2配線切替器23を切り替えることにより、論理回路動作時の入出力とメモリ動作時の入出力を切り替えることができるので、SMLUT2の内部の記憶手段として1ポートメモリ25を採用できる。   By switching the first wiring switch 22 and the second wiring switch 23, the input / output at the time of logic circuit operation and the input / output at the time of memory operation can be switched, so that the one-port memory 25 is used as a storage means inside the SMLUT 2. Can be adopted.

これにより、第1の実施形態と同様にSMLUT2は論理回路要素とメモリ要素を備えることができる。また、アドレス・データ対AD1〜AD4によって、SMLUT2は近接するSMLUT2と相互に接続される。アドレス・データ対AD1〜AD4が方向性を有するので、第1の実施形態と同様にスイッチ要素としても機能させることができる。   As a result, the SMLUT 2 can include a logic circuit element and a memory element as in the first embodiment. Further, SMLUT2 is mutually connected to neighboring SMLUT2 by address / data pairs AD1 to AD4. Since the address / data pairs AD1 to AD4 have directionality, they can function as switch elements as in the first embodiment.

図16は、SMLUT群2Gの一部を示す概要図である。アドレス・データ対ADは単一方向の細矢印で示した。SMLUT2は例えばマトリクス状に配置され、隣接するSMLUT2は相互にアドレス・データ対ADと、ここでは不図示のメモリ用アドレス線、メモリ用データ入出力線により接続され、全てのSMLUT2を近接配線したMPLDが実現できる。   FIG. 16 is a schematic diagram showing a part of the SMLUT group 2G. The address data pair AD is indicated by a thin arrow in a single direction. SMLUT2 is arranged in a matrix, for example, and adjacent SMLUT2 is connected to each other by an address / data pair AD, a memory address line and a memory data input / output line (not shown here), and all SMLUT2 are closely wired MPLD Can be realized.

1ポートメモリ25を採用することにより、メモリ容量が同じ場合には、2ポートメモリと比較してMPLDの面積を大幅に縮小できる。   By employing the 1-port memory 25, the area of the MPLD can be greatly reduced as compared with the 2-port memory when the memory capacity is the same.

図17は、一例としてビット数N(アドレス・データ対ADの数)が4、6、7、8の場合について、2ポートメモリ15のMLUT1によって構成したMPLD(第1の実施形態)と、1ポートメモリ25のSMLUT2によって構成したMPLD(第2の実施形態)の面積を概算した結果を示す。   FIG. 17 shows, as an example, an MPLD (first embodiment) configured by the MLUT 1 of the 2-port memory 15 when the number of bits N (number of address / data pairs AD) is 4, 6, 7, and 8, and 1 The result of having estimated the area of MPLD (2nd Embodiment) comprised by SMLUT2 of the port memory 25 is shown.

尚、第1の実施形態については、追加配線を行わない(近接配線のみ)のMPLDとして計算した
このように、1ポートメモリ25を採用することにより、アドレス・データ対ADの数N=8の場合で約15%、N=4の場合で約40%の面積削減効果が得られる。
The first embodiment is calculated as MPLD with no additional wiring (only adjacent wiring). Thus, by adopting the 1-port memory 25, the number of address / data pairs AD is N = 8. In some cases, an area reduction effect of about 15% is obtained, and in the case of N = 4, an area reduction effect of about 40% is obtained.

また第1配線切替器22、第2配線切替器23によって、SMLUT2内のアドレスデコーダを1つにできるので、第1の実施形態の場合より、MPLD10の面積を縮小できる。   In addition, since the first wiring switch 22 and the second wiring switch 23 can be used as a single address decoder in the SMLUT 2, the area of the MPLD 10 can be reduced as compared with the first embodiment.

更に、第1の実施形態のMLUT1と同様にアドレスデコーダは全てのSMLUT2で共有可能なので、アドレスデコーダをSMLUT2の外部に1つ配置することにより、より面積の縮小を実現できる。   Furthermore, since the address decoder can be shared by all the SMLUTs 2 as in the MLUT 1 of the first embodiment, the area can be further reduced by arranging one address decoder outside the SMLUT 2.

第2の実施形態のMPLDの使用方法は、以下の通りである。   The method of using the MPLD of the second embodiment is as follows.

まず、第1配線切替器22、第2配線切替器23を操作して、メモリ用アドレス線11、メモリ用データ入出力線12をSMLUT2内の1ポートメモリ25に接続する。   First, the first wiring switch 22 and the second wiring switch 23 are operated to connect the memory address line 11 and the memory data input / output line 12 to the 1-port memory 25 in the SMLUT 2.

次に、論理回路として動作させるために、メモリ機能を用いて所望のSMLUT2に実現したい論理回路のコンフィギュレーション情報およびスイッチ情報を入力する。すなわち、メモリ用アドレス線11およびメモリ用データ入出力線12を用いて、SMLUT群2Gの第1の領域R1のSMLUT1内の1ポートメモリ25に、所望のコンフィギュレーション情報(真理値表)を保持させる。   Next, in order to operate as a logic circuit, configuration information and switch information of the logic circuit to be realized in a desired SMLUT 2 are input using a memory function. That is, using the memory address line 11 and the memory data input / output line 12, desired configuration information (truth table) is held in the 1-port memory 25 in the SMLUT1 in the first region R1 of the SMLUT group 2G. Let

またモリ用アドレス線11およびメモリ用データ入出力線12を用いて、SMLUT群2Gの第2の領域R2のSMLUT2内の1ポートメモリ25に、論理回路要素を選択的に切り替えるスイッチ情報となる真理値表が保持させる。   In addition, the truth serving as switch information for selectively switching logic circuit elements to the 1-port memory 25 in the SMLUT 2 in the second region R2 of the SMLUT group 2G using the memory address line 11 and the memory data input / output line 12 The value table holds it.

そして、第1配線切替器22、第2配線切替器23を操作して、論理用アドレス線13および論理用データ線14(各アドレス・データ対AD)を利用して、論理回路として動作させる。   Then, the first wiring switch 22 and the second wiring switch 23 are operated to operate as a logic circuit using the logic address line 13 and the logic data line 14 (each address / data pair AD).

このとき、論理回路動作に使用されないSMLUT群2Gの第3の領域R3のSMLUT2は、必要に応じて、それぞれの1ポートメモリ25に所望のデータを保持させてメモリ要素として機能させることもできる。更に、第1の領域R1および第2の領域R2において論理回路動作を行わない領域もメモリとして機能させることができる。   At this time, the SMLUT 2 in the third region R3 of the SMLUT group 2G that is not used for the logic circuit operation can hold desired data in each 1-port memory 25 and function as a memory element, if necessary. Furthermore, a region that does not perform a logic circuit operation in the first region R1 and the second region R2 can also function as a memory.

図18および図19を参照して、第3の実施形態を説明する。   A third embodiment will be described with reference to FIGS. 18 and 19.

図18を参照して、第3の実施形態は、近接配線されたSMLUT2に追加配線を行うものである。すなわち、少なくとも1つのSMLUT2に、第1の実施形態と同様に、追加のアドレス・データ対AD’を追加する。あるいは単位アドレス線130’と単位データ線140’のいずれかをそれぞれ独立して追加する。これにより、近距離の配線の対称性と均質性を維持したまま、離間したMLUT同士の配線を実現できるので、データの伝播遅延を回避できる。また多数の論理回路の構築に柔軟に対応できる。   Referring to FIG. 18, in the third embodiment, additional wiring is performed on SMLUT 2 that is adjacently wired. That is, an additional address / data pair AD 'is added to at least one SMLUT 2 as in the first embodiment. Alternatively, either the unit address line 130 'or the unit data line 140' is added independently. As a result, it is possible to realize wiring between MLUTs separated from each other while maintaining the symmetry and homogeneity of short-distance wiring, so that data propagation delay can be avoided. In addition, it can flexibly cope with the construction of many logic circuits.

追加配線は、全てのSMLUT2に接続しても良いし、所望のSMLUT2のみに選択的に接続してもよい。また、アドレス・データ対AD’を追加するSMLUT2、単位アドレス線130’を追加するSMLUT2、単位データ線140’を追加するSMLUT2を1つのSMLUT群2Gに混在させてもよい。   The additional wiring may be connected to all the SMLUTs 2, or may be selectively connected only to the desired SMLUT2. Further, SMLUT2 for adding the address / data pair AD ', SMLUT2 for adding the unit address line 130', and SMLUT2 for adding the unit data line 140 'may be mixed in one SMLUT group 2G.

更に第1の実施形態と同様に、追加した配線には、フリップフロップ回路やラッチ回路などの記憶要素を接続し、順序回路として機能させることも可能である。   Further, similarly to the first embodiment, a storage element such as a flip-flop circuit or a latch circuit can be connected to the added wiring so as to function as a sequential circuit.

第3の実施形態では、SMLUT2が1ポートメモリ25で構成されるため、追加配線に伴う面積増加が2ポートメモリ15を用いたMLUT1よりも小さく、配線を追加した場合であっても、小さい面積でMPLDを構成することが可能となる。   In the third embodiment, since the SMLUT 2 is composed of the 1-port memory 25, the area increase due to the additional wiring is smaller than that of the MLUT 1 using the 2-port memory 15, and even when a wiring is added, the area is small. This makes it possible to configure an MPLD.

図19は、第3の実施形態のMPLD10の設計工程の一例を示すフロー図であり、以下これを参照して説明する。   FIG. 19 is a flowchart showing an example of the design process of the MPLD 10 according to the third embodiment, which will be described below with reference to this.

ステップ1(S1):SMLUT2内に、配線を切り替える第1の配線切替器25、第2の配線切替器26を配置し、SMLUT2内の1ポートメモリ25の入力ポート18AをSMLUT2におけるメモリ用アドレス線11および論理用アドレス線13に割り当て、出力ポート18DをSMLUT2におけるメモリ用データ入出力線12、論理用データ線14に割り当てる(図14参照)。   Step 1 (S1): The first wiring switch 25 and the second wiring switch 26 for switching the wiring are arranged in the SMLUT 2, and the input port 18A of the 1-port memory 25 in the SMLUT 2 is connected to the memory address line in the SMLUT 2. 11 and the logical address line 13, and the output port 18D is assigned to the memory data input / output line 12 and the logical data line 14 in the SMLUT 2 (see FIG. 14).

ステップ2(S2):論理用アドレス線13および論理用データ線14を1ビット単位で分配し、それぞれの1ビットずつを対にしたアドレス・データ対ADによって擬似的な双方向線を構成する(図15参照)。   Step 2 (S2): The logical address line 13 and the logical data line 14 are distributed in 1-bit units, and a pseudo bidirectional line is formed by an address / data pair AD in which each one bit is paired ( FIG. 15).

ステップ3(S3):複数のアドレス・データ対ADがそれぞれ異なる方向に導出されるようにSMLUT2に接続し、方向性を持たせる。   Step 3 (S3): A plurality of address / data pairs AD are connected to the SMLUT 2 so as to be derived in different directions, so as to have directionality.

ステップ4(S4):少なくとも1つのSMLUT2に、追加の単位アドレス線および/または追加の単位データ線を接続する。所望のSMLUT1に選択的に、追加配線(アドレス・データ対AD’、単位アドレス線130’、単位データ線140’)を接続する。尚、第2の実施形態で示した近接配線のみのMPLDの場合には、追加配線のステップは不要である。   Step 4 (S4): An additional unit address line and / or an additional unit data line are connected to at least one SMLUT2. Additional wiring (address / data pair AD ′, unit address line 130 ′, unit data line 140 ′) is selectively connected to a desired SMLUT 1. Note that the additional wiring step is not necessary in the case of the MPLD having only the adjacent wiring shown in the second embodiment.

ステップ5(S5):複数のSMLUT2を例えばアレイ状に配置し、配線を行う。すなわち、メモリ用アドレス線11およびメモリ用データ入出力線12と、単位アドレス線130および単位データ線140(アドレス・データ対AD)により近接するSMLUT1を相互に接続する。更に、追加の単位アドレス線130’及び/又は追加の単位データ線140’(追加のアドレス・データ対AD’)をSMLUT2または、SMLUT群2G内の他の要素に接続して論理回路要素及びメモリ要素を備えた論理ブロック群を構成する(図18参照)。   Step 5 (S5): A plurality of SMLUTs 2 are arranged in an array, for example, and wiring is performed. That is, the memory address line 11 and the memory data input / output line 12 are connected to the adjacent SMLUT 1 by the unit address line 130 and the unit data line 140 (address / data pair AD). Further, an additional unit address line 130 ′ and / or an additional unit data line 140 ′ (additional address / data pair AD ′) are connected to SMLUT2 or other elements in the SMLUT group 2G to connect a logic circuit element and a memory. A logical block group including elements is configured (see FIG. 18).

上記のステップ2およびステップ3は順不同である。   Steps 2 and 3 above are in no particular order.

更に、第4の実施形態として、第2の実施形態で示したSMLUT2と、複数ポートの基本論理ブロック(MLUT)を混在させた基本論理ブロック群によりMPLDを構成してもよい。   Furthermore, as a fourth embodiment, the MPLD may be configured by a basic logical block group in which the SMLUT 2 shown in the second embodiment and a basic logical block (MLUT) having a plurality of ports are mixed.

例えば、第1の実施形態で示した2ポートメモリのMLUT1と第2の実施形態で示した1ポートメモリのSMLUT2を混在させる。   For example, the two-port memory MLUT1 shown in the first embodiment and the one-port memory SMLUT2 shown in the second embodiment are mixed.

この場合、MLUT1で構成したMPLDとSMLUT1で構成したMPLDとでは、制御方法が異なる。すなわち、MLUT1で構成したMPLDの場合、MLUT1は2ポートメモリ15を用いるため、論理機能、メモリ機能で用いる配線はそれぞれ独立した異なる配線である。従って、これらを切り替える制御は不要である。   In this case, the control method is different between the MPLD configured with MLUT1 and the MPLD configured with SMLUT1. That is, in the case of an MPLD configured with MLUT1, MLUT1 uses a two-port memory 15, and therefore the wirings used for the logic function and the memory function are independent and different wirings. Therefore, control for switching between these is unnecessary.

一方、SMLUT1で構成したMPLDの場合は、SMLUT2は1ポートメモリを用いるため、それを第1配線切替器22および第2配線切替器23により擬似的に2ポートとしている。論理機能の配線とメモリ機能の配線はSMLUT2の外部ではそれぞれ独立した異なる配線であるが、SMLUT2内部では論理機能とメモリ機能の配線を第1配線切替器22および第2配線切替器23の切り替えによって共有しているため、全体におけるメモリ機能と論理機能の切り替えはスイッチで制御する必要がある。   On the other hand, in the case of an MPLD configured with SMLUT1, since SMLUT2 uses a 1-port memory, the first wiring switch 22 and the second wiring switch 23 make it a pseudo 2 port. The logic function wiring and the memory function wiring are different from each other outside the SMLUT 2, but the logic function and the memory function wiring are switched by switching the first wiring switch 22 and the second wiring switch 23 inside the SMLUT 2. Since they are shared, switching between the memory function and the logic function in the whole must be controlled by a switch.

尚、SMLUT2と混在させる基本論理ブロックは2ポートメモリを利用したものに限らず、3ポートメモリや4ポートメモリなど、複数ポートのメモリを利用したものが適用できる。   The basic logical block mixed with the SMLUT 2 is not limited to the one using a two-port memory, and one using a multi-port memory such as a three-port memory or a four-port memory can be applied.

従来リコンフィギャラブルシステムで用いられるFPGAに代わる新たなデバイスとして利用可能である。   It can be used as a new device in place of the FPGA used in the conventional reconfigurable system.

また、SoC(System-on-Chip)上に搭載されるメモリの代わりとして利用できる。状況に応じて再構成可能なため、SoCを実装した後に必要となった機能を本発明のPLDを用いて再構成し、実現することができる。   Further, it can be used as a substitute for a memory mounted on a SoC (System-on-Chip). Since it can be reconfigured according to the situation, it is possible to reconfigure and implement the functions required after mounting the SoC using the PLD of the present invention.

更に、本発明のPLDをSoC上に搭載することで、SoCに搭載されたCPU等の補助や搭載されている各回路のいずれかに故障が生じた場合の修復に応用可能である。   Furthermore, by mounting the PLD of the present invention on the SoC, the present invention can be applied to repairs in the case where a failure occurs in any of the circuits mounted on the SoC and the assistance of the CPU or the like mounted on the SoC.

また、SoC上に搭載するFPGAとして利用可能で、従来のFPGAより実装する上で必要な名配線層の数が少なく安価で、幅広い応用が可能となる。   Further, it can be used as an FPGA mounted on a SoC, and the number of name wiring layers required for mounting from a conventional FPGA is small, so that it can be widely used.

本発明の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of the embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する(A)論理回路図、(B)真理値表、(3)概要図である。BRIEF DESCRIPTION OF THE DRAWINGS It is (A) logic circuit diagram, (B) truth table, (3) schematic diagram explaining the programmable logic device of the 1st Embodiment of this invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する(A)真理値表、(B)概要図、(C)概要図である。BRIEF DESCRIPTION OF THE DRAWINGS It is (A) truth table, (B) schematic diagram, (C) schematic diagram explaining the programmable logic device of the 1st Embodiment of this invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of a 1st embodiment of the present invention. 本発明の第1の実施形態のプログラマブル論理デバイスの構築方法を説明するフロー図である。It is a flowchart explaining the construction method of the programmable logic device of the 1st Embodiment of this invention. 本発明の第2の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of the 2nd Embodiment of this invention. 本発明の第2の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of the 2nd Embodiment of this invention. 本発明の第2の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of the 2nd Embodiment of this invention. 本発明の第1および第2の実施形態のプログラマブル論理デバイスを比較するための図である。It is a figure for comparing the programmable logic device of the 1st and 2nd embodiment of this invention. 本発明の第3の実施形態のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the programmable logic device of the 3rd Embodiment of this invention. 本発明の第3の実施形態のプログラマブル論理デバイスの構築方法を説明するフロー図である。It is a flowchart explaining the construction method of the programmable logic device of the 3rd Embodiment of this invention. 従来のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the conventional programmable logic device. 従来のプログラマブル論理デバイスを説明する概要図である。It is a schematic diagram explaining the conventional programmable logic device.

符号の説明Explanation of symbols

1 基本論理ブロック(MLUT)
2 基本論理ブロック(SMLUT)
3 行デコーダ
4 列デコーダ
10 MPLD
11 メモリ用アドレス線
12 メモリ用データ入出力線
13 論理用アドレス線
14 論理用データ線
15 2ポートメモリ
16、17 デコーダ
18A 第1入力ポート
18D 第1出力ポート
19A 第2入力ポート
19D 第2出力ポート
25 1ポートメモリ
22 第1配線切替器
23 第2配線切替器
27 デコーダ
28A 入力ポート
28D 出力ポート
130、131、132、133、134 単位アドレス線
140、141、142、143、144 単位データ線
AD、AD1、AD2、AD3、AD4 アドレス・データ対
1 Basic logical block (MLUT)
2 Basic logic block (SMLUT)
3 row decoder 4 column decoder 10 MPLD
11 memory address line 12 memory data input / output line 13 logic address line 14 logic data line 15 2-port memory 16, 17 decoder 18A first input port 18D first output port 19A second input port 19D second output port 25 1-port memory 22 1st wiring switch 23 2nd wiring switch 27 Decoder 28A Input port 28D Output port 130, 131, 132, 133, 134 Unit address line 140, 141, 142, 143, 144 Unit data line AD, AD1, AD2, AD3, AD4 address / data pair

Claims (11)

複数の基本論理ブロックを有し、コンフィギュレーション情報に応じて複数の論理回路が構成されるプログラマブル論理デバイスであって、
それぞれの前記基本論理ブロックは、記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線を有し、
該論理用アドレス線および論理用データ線は、論理用入出力データのビット数に応じてそれぞれ1ビットごとに分配して単位アドレス線および単位データ線とし該単位アドレス線および単位データ線を対にして各対毎に前記基本論理ブロックから異なる方向に配線され、
前記単位アドレス線および前記単位データ線と、前記メモリ用アドレス線および前記メモリ用データ入出力線により近接する前記基本論理ブロックが接続されて、論理回路要素及びメモリ要素を備える論理ブロック群が構成され、
少なくとも1つの前記基本論理ブロックは、追加の単位アドレス線および/または追加の単位データ線を有することを特徴とするプログラマブル論理デバイス。
A programmable logic device having a plurality of basic logic blocks and having a plurality of logic circuits configured according to configuration information,
Each of the basic logic blocks has storage means, a memory address line, a memory data input / output line, a logic address line, and a logic data line,
The logical address line and the logical data line are distributed for each bit according to the number of bits of the logical input / output data to form unit address lines and unit data lines, and the unit address lines and unit data lines are paired. Are wired in different directions from the basic logic block for each pair,
The basic logic block closer to the unit address line and the unit data line and the memory address line and the memory data input / output line is connected to form a logic block group including a logic circuit element and a memory element. ,
The programmable logic device, wherein at least one basic logic block has an additional unit address line and / or an additional unit data line.
前記基本論理ブロック群の第1の領域の前記記憶手段に所望の論理回路を実現するコンフィギュレーション情報が保持され、前記基本論理ブロック群の第2の領域の前記記憶手段に前記第1の領域の前記基本論理ブロックを選択的に切り替えるスイッチ情報が保持されて前記基本論理ブロック群が前記論理回路要素となることを特徴とする請求項1に記載のプログラマブル論理デバイス。   Configuration information for realizing a desired logic circuit is held in the storage means in the first area of the basic logic block group, and the storage means in the second area of the basic logic block group stores information on the first area. The programmable logic device according to claim 1, wherein switch information for selectively switching the basic logic block is held, and the basic logic block group becomes the logic circuit element. 前記基本論理ブロック群の第3の領域、あるいは前記論理回路要素として非動作の領域に所望のデータが保持されて、前記基本論理ブロック群の少なくとも一部がメモリ要素となることを特徴とする請求項2に記載のプログラマブル論理デバイス。   The desired data is held in a third area of the basic logic block group or an area not operating as the logic circuit element, and at least a part of the basic logic block group is a memory element. Item 3. The programmable logic device according to Item 2. 前記追加の単位アドレス線および/または追加の単位データ線は、前記基本論理ブロック同士を接続することを特徴とする請求項1に記載のプログラマブル論理デバイス。   The programmable logic device according to claim 1, wherein the additional unit address line and / or the additional unit data line connects the basic logic blocks. 前記追加の単位アドレス線および/または追加のデータ線に記憶要素を接続することを特徴とする請求項1に記載のプログラマブル論理デバイス。   The programmable logic device of claim 1, wherein a storage element is connected to the additional unit address line and / or the additional data line. 前記記憶手段は1ポートメモリであり、前記基本論理ブロックは、前記メモリ用アドレス線と前記単位アドレス線とを切り替えて前記第1ポートメモリの入力ポートに割り当てる第1配線切替器と、前記メモリ用データ入出力線と前記単位データ線とを切り替えて前記1ポートメモリの出力ポートに割り当てる第2配線切替器とを備え、前記第1配線切替器および前記第2配線切替器によって論理回路動作時には前記単位アドレス線および前記単位データ線が選択され、メモリ動作時には前記メモリ用アドレス線および前記メモリ用データ入出力線が選択されることを特徴とする請求項1に記載のプログラマブル論理デバイス。   The storage means is a one-port memory, and the basic logic block switches a memory address line and the unit address line and assigns them to an input port of the first port memory, and the memory A second wiring switch that switches between the data input / output line and the unit data line and assigns it to the output port of the one-port memory, and when the logic circuit is operated by the first wiring switch and the second wiring switch, 2. The programmable logic device according to claim 1, wherein a unit address line and the unit data line are selected, and the memory address line and the memory data input / output line are selected during a memory operation. 前記論理ブロック群は前記記憶手段として1ポートメモリを有する第1の基本論理ブロックと前記記憶手段として複数ポートメモリを有する第2の基本論理ブロックとが混在することを特徴とする請求項1に記載のプログラマブル論理デバイス。   2. The logical block group according to claim 1, wherein a first basic logical block having a 1-port memory as the storage means and a second basic logical block having a multi-port memory as the storage means coexist. Programmable logic devices. 記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線とを有し基本論理ブロックを相互に接続して、コンフィギュレーション情報に応じて複数の論理回路を構築するプログラマブル論理デバイスの構築方法であって、
前記記憶手段のポートを前記メモリ用アドレス線、メモリ用データ入出力線と、論理用アドレス線および論理用データ線に割り当てる工程と、
前記論理用アドレス線および論理用データ線を、論理用入出力データのビット数に応じてそれぞれ1ビット単位で分配して単位アドレス線および単位データ線とし該単位アドレス線および単位データ線を対にするステップと、
前記各対毎に前記基本論理ブロックから異なる方向に配線するステップと、
少なくとも1つの前記基本論理ブロックに、追加の単位アドレス線および/または追加の単位データ線を接続するステップと、
前記メモリ用アドレス線および前記メモリ用データ入出力線と、前記単位アドレス線および前記単位データ線により近接する前記基本論理ブロックを接続し、前記追加の単位アドレス線及び/又は追加の単位データ線を前記基本論理ブロックまたは前記基本論理ブロック群内の他の要素に接続して論理回路要素及びメモリ要素を備えた論理ブロック群を構成するステップと、
を具備することを特徴とするプログラマブル論理デバイスの構築方法。
A storage unit, a memory address line, a memory data input / output line, a logic address line, and a logic data line are connected to each other, and a plurality of basic logic blocks are connected to each other according to configuration information. A programmable logic device construction method for constructing a logic circuit,
Assigning ports of the storage means to the memory address lines, memory data input / output lines, logic address lines and logic data lines;
The logical address line and the logical data line are distributed in 1-bit units according to the number of bits of the logical input / output data to form unit address lines and unit data lines, and the unit address lines and unit data lines are paired. And steps to
Wiring in a different direction from the basic logic block for each pair;
Connecting an additional unit address line and / or an additional unit data line to at least one of the basic logic blocks;
The memory address line and the memory data input / output line are connected to the basic logical block closer to the unit address line and the unit data line, and the additional unit address line and / or the additional unit data line are connected. Connecting to the basic logic block or other elements in the basic logic block group to configure a logic block group comprising logic circuit elements and memory elements;
A method for constructing a programmable logic device, comprising:
前記記憶手段に1ポートメモリを用い、前記基本論理ブロックに、前記メモリ用アドレス線と前記単位アドレス線とを切り替えて前記第1ポートメモリの入力ポートに割り当てる第1配線切替器と、前記メモリ用データ入出力線と前記単位データ線とを切り替えて前記1ポートメモリの出力ポートに割り当てる第2配線切替器とを配置することを特徴とする請求項8に記載のプログラマブル論理デバイスの構築方法。   A first wiring switch that uses a one-port memory as the storage means, switches the memory address line and the unit address line to the basic logic block, and assigns them to an input port of the first port memory; 9. The method of constructing a programmable logic device according to claim 8, further comprising: a second wiring switching unit that switches between a data input / output line and the unit data line and assigns it to an output port of the one-port memory. 記憶手段と、メモリ用アドレス線と、メモリ用データ入出力線と、論理用アドレス線と、論理用データ線により基本論理ブロックを構成し、
前記記憶手段のポートが前記メモリ用アドレス線およびメモリ用データ入出力線と、論理用アドレス線および論理用データ線に割り当てられ、
前記論理用アドレス線および論理用データ線を、論理用入出力データのビット数に応じてそれぞれ1ビット単位で分配して単位アドレス線および単位データ線とし該単位アドレス線および単位データ線を対にして前記各対毎に前記基本論理ブロックから異なる方向に配線し、
前記メモリ用アドレス線および前記メモリ用データ入出力線と、前記単位アドレス線および前記単位データ線により近接する前記基本論理ブロックを相互に接続して論理回路要素及びメモリ要素を備えた論理ブロック群を構成し、
少なくとも1つの前記基本論理ブロックに、追加の単位アドレス線および/または追加の単位データ線を接続し、
前記追加の単位アドレス線および/または追加の単位データ線を近接しない前記基本論理ブロックまたは前記基本論理ブロック群内の他の要素と接続したプログラマブル論理デバイスの使用方法であって、
前記メモリ用アドレス線およびメモリ用データ入出力線を利用して、基本論理ブロック群の第1の領域の前記記憶手段に所望の論理回路を実現するコンフィギュレーション情報を保持させるステップと、
前記メモリ用アドレス線およびメモリ用データ入出力線を利用して論理ブロック群の第2の領域の前記記憶手段に前記第1の領域の前記基本論理ブロックを選択的に切り替えるスイッチ情報を保持させるステップと、
前記論理用アドレス線と、論理用データ線を利用して論理回路動作を行わせるステップと、
前記メモリ用アドレス線を利用して前記基本論理ブロック群の第3の領域あるいは前記論理回路要素として非動作の領域に所望のデータを保持させて、前記基本論理ブロック群の少なくとも一部をメモリ動作させるステップと、
を具備することを特徴とするプログラマブル論理デバイスの使用方法。
A basic logic block is configured by the storage means, the memory address line, the memory data input / output line, the logic address line, and the logic data line,
Ports of the storage means are assigned to the memory address lines and memory data input / output lines, logic address lines and logic data lines,
The logical address lines and the logical data lines are distributed in units of 1 bit according to the number of bits of the logical input / output data to form unit address lines and unit data lines, and the unit address lines and unit data lines are paired. For each pair, wire in a different direction from the basic logic block,
A logic block group including a logic circuit element and a memory element by interconnecting the memory address line and the memory data input / output line and the basic logic block closer to the unit address line and the unit data line. Configure
An additional unit address line and / or an additional unit data line connected to at least one of the basic logic blocks;
A method of using a programmable logic device in which the additional unit address line and / or the additional unit data line are connected to the basic logic block or other elements in the basic logic block group that are not adjacent to each other.
Using the memory address line and the memory data input / output line to hold configuration information for realizing a desired logic circuit in the storage means in the first area of the basic logic block group;
Using the memory address line and the memory data input / output line to cause the storage means in the second area of the logical block group to hold switch information for selectively switching the basic logical block in the first area When,
Performing logic circuit operation using the logic address line and the logic data line;
The memory address line is used to hold desired data in a third area of the basic logic block group or a non-operating area as the logic circuit element, and at least a part of the basic logic block group operates as a memory. Step to
A method of using a programmable logic device comprising:
前記基本論理ブロックの前記記憶手段として1ポートメモリを用い、前記基本論理ブロックに、前記メモリ用アドレス線と前記単位アドレス線とを切り替えて前記第1ポートメモリの入力ポートに割り当てる第1配線切替器と、前記メモリ用データ入出力線と前記単位データ線とを切り替えて前記1ポートメモリの出力ポートに割り当てる第2配線切替器とを配置し、前記第1配線切替器と、前記第2配線切替器を操作して、前記論理回路動作または前記メモリ動作させることを特徴とする請求項10に記載のプログラマブル論理デバイスの使用方法。   A first-port switch that uses a one-port memory as the storage means of the basic logic block, switches the memory address line and the unit address line to the basic logic block, and assigns them to the input port of the first port memory And a second wiring switch that switches between the memory data input / output line and the unit data line and allocates to the output port of the one-port memory, and the first wiring switch and the second wiring switching The method of using the programmable logic device according to claim 10, wherein the logic circuit operation or the memory operation is performed by operating a device.
JP2008034040A 2008-02-15 2008-02-15 Programmable logic device and its construction method and its use Expired - Fee Related JP5260077B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008034040A JP5260077B2 (en) 2008-02-15 2008-02-15 Programmable logic device and its construction method and its use

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008034040A JP5260077B2 (en) 2008-02-15 2008-02-15 Programmable logic device and its construction method and its use

Publications (2)

Publication Number Publication Date
JP2009194676A true JP2009194676A (en) 2009-08-27
JP5260077B2 JP5260077B2 (en) 2013-08-14

Family

ID=41076285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008034040A Expired - Fee Related JP5260077B2 (en) 2008-02-15 2008-02-15 Programmable logic device and its construction method and its use

Country Status (1)

Country Link
JP (1) JP5260077B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011162116A1 (en) * 2010-06-24 2011-12-29 太陽誘電株式会社 Semiconductor device
JP2013514025A (en) * 2009-12-14 2013-04-22 エコール サントラル ド リヨン Logic cell interconnect arrangement and integrated circuit capable of reconfiguring cross-connect topology
WO2013118378A1 (en) * 2012-02-08 2013-08-15 太陽誘電株式会社 Semiconductor device with built-in non-volatile memory
WO2013153852A1 (en) * 2012-04-09 2013-10-17 太陽誘電株式会社 Method for placing and routing reconfigurable semiconductor device, program therefor, and placing and routing device
JP5565456B2 (en) * 2010-02-16 2014-08-06 株式会社デンソー Integrated circuit and method of using the same
WO2014163099A2 (en) * 2013-04-02 2014-10-09 太陽誘電株式会社 Reconfigurable logic device
US8957701B2 (en) 2011-08-12 2015-02-17 Denso Corporation Integrated circuit
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6426439B2 (en) * 2014-11-13 2018-11-21 太陽誘電株式会社 Reconfigurable Op Amp
JP6351530B2 (en) * 2015-03-20 2018-07-04 株式会社Pfu Communication apparatus and control method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07176616A (en) * 1993-12-17 1995-07-14 Toshiba Corp Programmable logic circuit
JPH11510038A (en) * 1996-05-20 1999-08-31 アトメル・コーポレイション Field programmable gate array having distributed RAM and increased cell utilization
JPH11243334A (en) * 1997-03-21 1999-09-07 Altera Corp Programmable logic array device provided with configurable random access memory as integrated term
JP2002026133A (en) * 2000-07-12 2002-01-25 Nec Corp Semiconductor integrated circuit having multilayer wiring structure, and method for manufacturing the same
WO2007060763A1 (en) * 2005-11-28 2007-05-31 Taiyo Yuden Co., Ltd. Semiconductor device
JP2007141427A (en) * 2005-10-17 2007-06-07 Oki Electric Ind Co Ltd Semiconductor storage device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07176616A (en) * 1993-12-17 1995-07-14 Toshiba Corp Programmable logic circuit
JPH11510038A (en) * 1996-05-20 1999-08-31 アトメル・コーポレイション Field programmable gate array having distributed RAM and increased cell utilization
JPH11243334A (en) * 1997-03-21 1999-09-07 Altera Corp Programmable logic array device provided with configurable random access memory as integrated term
JP2002026133A (en) * 2000-07-12 2002-01-25 Nec Corp Semiconductor integrated circuit having multilayer wiring structure, and method for manufacturing the same
JP2007141427A (en) * 2005-10-17 2007-06-07 Oki Electric Ind Co Ltd Semiconductor storage device
WO2007060763A1 (en) * 2005-11-28 2007-05-31 Taiyo Yuden Co., Ltd. Semiconductor device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013000511; 吉原理記、平川直樹、谷川一哉、弘中哲夫、佐藤正幸: '再構成デバイスとしても動作するメモリ(MPLD)の一実装例' 電子情報通信学会技術研究報告 RECONF2007-16 Vol.107 No.225, 20070913, p7-12, 電子情報通信学会 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514025A (en) * 2009-12-14 2013-04-22 エコール サントラル ド リヨン Logic cell interconnect arrangement and integrated circuit capable of reconfiguring cross-connect topology
JP5565456B2 (en) * 2010-02-16 2014-08-06 株式会社デンソー Integrated circuit and method of using the same
CN102948077A (en) * 2010-06-24 2013-02-27 太阳诱电株式会社 Semiconductor device
US9214209B2 (en) 2010-06-24 2015-12-15 Taiyo Yuden Co., Ltd. Semiconductor device
WO2011162116A1 (en) * 2010-06-24 2011-12-29 太陽誘電株式会社 Semiconductor device
JP5735503B2 (en) * 2010-06-24 2015-06-17 太陽誘電株式会社 Semiconductor device
US8952721B2 (en) 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
JPWO2013024751A1 (en) * 2011-08-12 2015-03-05 株式会社デンソー Integrated circuit
US8957701B2 (en) 2011-08-12 2015-02-17 Denso Corporation Integrated circuit
US8964460B2 (en) 2012-02-08 2015-02-24 Taiyo Yuden Co., Ltd. Semiconductor device having a non-volatile memory built-in
WO2013118378A1 (en) * 2012-02-08 2013-08-15 太陽誘電株式会社 Semiconductor device with built-in non-volatile memory
JP5656334B2 (en) * 2012-02-08 2015-01-21 太陽誘電株式会社 Semiconductor device with built-in nonvolatile memory
JP2013218537A (en) * 2012-04-09 2013-10-24 Taiyo Yuden Co Ltd Method of laying out and wiring reconfigurable semiconductor device, program for the same, and layout and wiring device
US9177092B2 (en) 2012-04-09 2015-11-03 Taiyo Yuden Co., Ltd. Method for arranging and wiring reconfigurable semiconductor device, program therefor, and arranging and wiring apparatus
WO2013153852A1 (en) * 2012-04-09 2013-10-17 太陽誘電株式会社 Method for placing and routing reconfigurable semiconductor device, program therefor, and placing and routing device
TWI576850B (en) * 2012-04-09 2017-04-01 Taiyo Yuden Kk And a wiring method for disposing a semiconductor device that can be reconstructed, a program thereof, and a wiring device
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
JPWO2014065424A1 (en) * 2012-10-28 2016-09-08 太陽誘電株式会社 Reconfigurable semiconductor device
WO2014163099A3 (en) * 2013-04-02 2014-11-27 太陽誘電株式会社 Reconfigurable logic device
WO2014163099A2 (en) * 2013-04-02 2014-10-09 太陽誘電株式会社 Reconfigurable logic device
US9425800B2 (en) 2013-04-02 2016-08-23 Taiyo Yuden Co., Ltd. Reconfigurable logic device
JPWO2014163099A1 (en) * 2013-04-02 2017-02-16 太陽誘電株式会社 Reconfigurable logical device

Also Published As

Publication number Publication date
JP5260077B2 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
JP5260077B2 (en) Programmable logic device and its construction method and its use
US10673440B1 (en) Unified programmable computational memory and configuration network
US11476854B2 (en) Multiplier-accumulator circuitry, and processing pipeline including same
JP5432344B2 (en) Semiconductor device
US7609085B1 (en) Configurable integrated circuit with a 4-to-1 multiplexer
JP3106998B2 (en) Programmable logic LSI with additional memory
JP3853736B2 (en) User configurable on-chip memory system
US7587697B1 (en) System and method of mapping memory blocks in a configurable integrated circuit
US20090290444A1 (en) Semiconductor device
JP3616518B2 (en) Programmable device
TWI659614B (en) Reconfigurable semiconductor device, control method thereof, program, and memory medium
US8230182B2 (en) System and method for providing more logical memory ports than physical memory ports
US20040111590A1 (en) Self-configuring processing element
JP4213044B2 (en) Configuration memory implementation for LUT-based reconfigurable logic architecture
US8434045B1 (en) System and method of providing a memory hierarchy
US7962705B2 (en) System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
JPH10501934A (en) Architecture and interconnect mechanism for programmable logic circuits
JP2006260127A (en) Interconnection network and multiport memory using the same
US7768430B1 (en) Look-up table based memory
JP6385962B2 (en) Switching fabric for embedded reconfigurable computing
US20100031004A1 (en) Arithmetic device
JP4191218B2 (en) Memory circuit and semiconductor device
JP5365638B2 (en) Semiconductor programmable device and signal transfer method in semiconductor programmable device
JP5365639B2 (en) Semiconductor programmable device and signal transfer method in semiconductor programmable device
US7038489B2 (en) Method for sharing configuration data for high logic density on chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110204

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110204

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130326

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

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

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5260077

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees