JP2009017141A - Programmable logic circuit device, programmable logic circuit reconfiguration method, and program - Google Patents

Programmable logic circuit device, programmable logic circuit reconfiguration method, and program Download PDF

Info

Publication number
JP2009017141A
JP2009017141A JP2007175559A JP2007175559A JP2009017141A JP 2009017141 A JP2009017141 A JP 2009017141A JP 2007175559 A JP2007175559 A JP 2007175559A JP 2007175559 A JP2007175559 A JP 2007175559A JP 2009017141 A JP2009017141 A JP 2009017141A
Authority
JP
Japan
Prior art keywords
path
clock signal
circuit
logic circuit
programmable logic
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.)
Pending
Application number
JP2007175559A
Other languages
Japanese (ja)
Inventor
Mitsutoshi Ashida
光利 芦田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP2007175559A priority Critical patent/JP2009017141A/en
Publication of JP2009017141A publication Critical patent/JP2009017141A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a programmable logic circuit device capable of obtaining the most suitable performance using a software IP. <P>SOLUTION: The programmable logic circuit device includes a plurality of computing elements 10 each of which includes a first path to which a flip flop circuit 16 having a first clock signal inputted thereto is connected and a second path to which a lookup table 12 and a flip flop circuit 14 having a second clock signal inputted thereto are connected. The first path and second path are set per computing element 10. The computing elements 10 are so connected that two computing elements 10 mounted as applications are in both ends and a plurality of computing elements 10 serving as buffers are in the middle. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、プログラムの実行をハードウェアで直接的に実現するプログラマブル論理回路装置、プログラマブル論理回路再構成方法、及び、プログラムに関する。   The present invention relates to a programmable logic circuit device, a programmable logic circuit reconfiguration method, and a program that directly implement a program by hardware.

プログラムの実行をハードウェアで直接的に実現する再構成可能なデバイスとして、PLD(Programmable Logic Device)が知られている(例えば、特許文献1)。   A PLD (Programmable Logic Device) is known as a reconfigurable device that directly implements program execution by hardware (for example, Patent Document 1).

PLDは、プログラムとして論理データを与えることで論理回路間の結線論理を変更し、これによってハードウェア的に演算結果を得ることができるようにしたものである。PLDを利用して演算を行うことによって、従来の汎用コンピュータに搭載されたCPU(Central Processing Unit)による演算よりも高速に演算結果を得ることができる。   The PLD changes the connection logic between logic circuits by giving logic data as a program, thereby obtaining an operation result in hardware. By performing the calculation using the PLD, the calculation result can be obtained at a higher speed than the calculation by the CPU (Central Processing Unit) mounted on the conventional general-purpose computer.

ところで、特許文献1の技術による再構成可能なデバイスは、遅延計算が複雑である、及び、テスト設計が困難である、等の理由からハードウェアIP(Intellectual Property)を用いて実現されている。更にハードウェアIPによれば、性能、面積に関して最良のデバイスを作成することができる。
特許第3540796号公報
By the way, the reconfigurable device by the technique of patent document 1 is implement | achieved using hardware IP (Intellectual Property) from the reason that delay calculation is complicated and test design is difficult. Furthermore, according to the hardware IP, the best device in terms of performance and area can be created.
Japanese Patent No. 3540796

しかし、上記のハードウェアIPでは、半導体ベンダが限定される、ユーザ毎のカスタマイズが困難である。それらの短所を克服するには、ソフトウェアIPを用いることが適当である。   However, with the hardware IP described above, customization for each user is difficult because the semiconductor vendor is limited. In order to overcome these disadvantages, it is appropriate to use software IP.

本発明は、上記問題点に鑑みてなされたもので、ソフトウェアIPを用いて最適な性能を得ることができるプログラマブル論理回路装置を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a programmable logic circuit device capable of obtaining optimum performance using software IP.

上記目的を達成するために、本発明の第1の観点に係るプログラマブル論理回路装置は、
第1のクロック信号を入力する第1のフリップフロップ回路が接続された第1の経路と、演算器と第2のクロック信号を入力する第2のフリップフロップ回路とが接続された第2の経路と、を備える複数の演算器エレメントと、
前記演算器エレメントごとに前記第1の経路と前記第2の経路とを設定する経路設定手段と、
前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した二つの演算器エレメントを両端に、前期経路設定手段が前記第1の経路もしくは前記第2の経路に設定した、複数個の演算器エレメントを中間にして、前記演算器エレメントを結線するエレメント結線手段と、
を備えることを特徴とする。
In order to achieve the above object, a programmable logic circuit device according to the first aspect of the present invention provides:
A first path to which the first flip-flop circuit for inputting the first clock signal is connected, and a second path to which the arithmetic unit and the second flip-flop circuit for inputting the second clock signal are connected A plurality of computing element elements comprising:
Path setting means for setting the first path and the second path for each computing element;
A plurality of computing element elements set in the first route or the second route by the route setting means at both ends, and a plurality of routes set by the previous route setting means in the first route or the second route. An element connection means for connecting the operation element with the operation element of
It is characterized by providing.

例えば、前記エレメント結線手段が中間に結線した演算器エレメントの個数に基づいて前記第1のクロック信号及び前記第2のクロック信号の周期を演算器エレメント毎に設定する周期設定手段をさらに備えてもよい。   For example, it further comprises period setting means for setting the period of the first clock signal and the second clock signal for each arithmetic element based on the number of arithmetic elements connected in the middle by the element connection means. Good.

例えば、前記演算器は、ルックアップテーブル及び/又はALU(Arithmetic Logic Unit)を備えてもよい。   For example, the computing unit may include a lookup table and / or an ALU (Arithmetic Logic Unit).

本発明の第2の観点に係るプログラマブル論理回路再構成方法は、
第1のクロック信号を入力する第1のフリップフロップ回路が接続された第1の経路と、演算器と第2のクロック信号を入力する第2のフリップフロップ回路とが接続された第2の経路と、を備える複数の演算器エレメントと、を備えるプログラマブル論理回路の論理的構成を変更するプログラマブル論理回路再構成方法であって、
前記演算器エレメントごとに前記第1の経路と前記第2の経路とを設定する経路設定ステップと、
前記経路設定ステップで前記第1の経路もしくは前記第2の経路に設定した二つの演算器エレメントを両端に、前期経路設定手段が前記第1の経路もしくは前記第2の経路に設定した、複数個の演算器エレメントを中間にして、前記演算器エレメントを結線するエレメント結線ステップと、
を備えることを特徴とする。
The programmable logic circuit reconfiguration method according to the second aspect of the present invention includes:
A first path to which the first flip-flop circuit for inputting the first clock signal is connected, and a second path to which the arithmetic unit and the second flip-flop circuit for inputting the second clock signal are connected A programmable logic circuit reconfiguration method for changing the logical configuration of a programmable logic circuit comprising:
A path setting step for setting the first path and the second path for each computing element;
A plurality of computing elements set in the first route or the second route at both ends of the two computing element elements set in the route setting step at the first route or the second route. An element connection step for connecting the operation element with the operation element of
It is characterized by providing.

例えば、前記エレメント結線ステップで中間に結線した演算器エレメントの個数に基づいて前記第1のクロック信号及び前記第2のクロック信号の周期を演算器エレメント毎に設定する周期設定ステップをさらに備えてもよい。   For example, the method further includes a cycle setting step of setting the cycle of the first clock signal and the second clock signal for each calculator element based on the number of the calculator elements connected in the middle in the element connection step. Good.

例えば、前記演算器は、ルックアップテーブル及び/又はALU(Arithmetic Logic Unit)を備えてもよい。   For example, the computing unit may include a lookup table and / or an ALU (Arithmetic Logic Unit).

本発明の第3の観点に係るプログラムは、
第1のクロック信号を入力する第1のフリップフロップ回路が接続された第1の経路と、演算器と第2のクロック信号を入力する第2のフリップフロップ回路とが接続された第2の経路と、を備える複数の演算器エレメントと、を備えるコンピュータを、
前記演算器エレメントごとに前記第1の経路と前記第2の経路とを設定する経路設定手段、
前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した二つの演算器エレメントを両端に、前期経路設定手段が前記第1の経路もしくは前記第2の経路に設定した、複数個の演算器エレメントを中間にして、前記演算器エレメントを結線するエレメント結線手段、
として機能させることを特徴とする。
The program according to the third aspect of the present invention is:
A first path to which the first flip-flop circuit for inputting the first clock signal is connected, and a second path to which the arithmetic unit and the second flip-flop circuit for inputting the second clock signal are connected A computer comprising a plurality of computing element elements comprising:
Path setting means for setting the first path and the second path for each computing element;
A plurality of computing element elements set in the first route or the second route by the route setting means at both ends, and a plurality of routes set by the previous route setting means in the first route or the second route. Element connection means for connecting the operation element with the operation element of
It is made to function as.

例えば、前記エレメント結線手段が中間に結線した演算器エレメントの個数に基づいて前記第1のクロック信号及び前記第2のクロック信号の周期を演算器エレメント毎に設定する周期設定手段、
として機能させてもよい。
For example, period setting means for setting the period of the first clock signal and the second clock signal for each arithmetic element based on the number of arithmetic elements connected in the middle by the element connection means,
It may be made to function as.

例えば、前記演算器は、ルックアップテーブル及び/又はALU(Arithmetic Logic Unit)を備えてもよい。   For example, the computing unit may include a lookup table and / or an ALU (Arithmetic Logic Unit).

本発明によれば、プログラマブル論理回路装置においてソフトウェアIPを用いて最適な性能を得ることが容易にできる。   According to the present invention, it is possible to easily obtain optimum performance using a software IP in a programmable logic circuit device.

以下、本発明の実施形態に係るプログラマブル論理回路装置(Programmable Logic Device ; 以下、PLD)100について説明する。PLD100は、プログラムの実行をハードウェアで直接的に且つ動的に実現することができる。   Hereinafter, a programmable logic device (PLD) 100 according to an embodiment of the present invention will be described. The PLD 100 can directly and dynamically implement program execution by hardware.

PLD100は、図1に示すように、二次元に配列された複数の演算器エレメント(Processor Element ; PE)10と、制御部20と、I/O部30と、複数の配線40と、を備えている。   As shown in FIG. 1, the PLD 100 includes a plurality of processor elements (PE) 10, a control unit 20, an I / O unit 30, and a plurality of wirings 40 that are two-dimensionally arranged. ing.

演算器エレメント10は、複数個が二次元に配置される。また、それぞれの演算器エレメント10は、内部の回路構成を変化させ、任意の論理関数を生成可能である。また、それぞれの演算器エレメント10は、第1の経路と第2の経路とを備える。   A plurality of the arithmetic element 10 are two-dimensionally arranged. Each computing element 10 can generate an arbitrary logical function by changing the internal circuit configuration. Each computing element 10 includes a first path and a second path.

演算器エレメント10は、図2に示すように、セレクタ回路(以下、セレクタ)11と、ルックアップテーブル(以下、LUT)12と、セレクタ回路13と、D−フリップフロップ回路(以下、FF)14と、セレクタ回路15と、D−フリップフロップ回路16と、セレクタ回路17と、を備える。なお、演算器エレメント10は、第1の経路上にセレクタ11とLUT12とFF14とを備え、第2の経路上にセレクタ15とFF16とを備える。   As shown in FIG. 2, the arithmetic element 10 includes a selector circuit (hereinafter referred to as a selector) 11, a lookup table (hereinafter referred to as LUT) 12, a selector circuit 13, and a D-flip flop circuit (hereinafter referred to as FF) 14. A selector circuit 15, a D-flip-flop circuit 16, and a selector circuit 17. The computing element 10 includes a selector 11, an LUT 12, and an FF 14 on the first path, and a selector 15 and an FF 16 on the second path.

セレクタ11は、m入力一出力の回路であり、制御部20の制御の元、配線40からのm本の入力信号のうちの何れか一つをLUT12に出力する。なお、セレクタ11は、図2に示すような四入力LUTの場合、四つが配置される。   The selector 11 is an m-input one-output circuit, and outputs any one of m input signals from the wiring 40 to the LUT 12 under the control of the control unit 20. In the case of a four-input LUT as shown in FIG. 2, four selectors 11 are arranged.

LUT12は、入力ビットをメモリアドレスとし、各メモリアドレスに対応する出力値を格納する。つまり、LUT12は、制御部20の制御の元、複数の入力信号に対応する出力信号を出力する任意の組み合わせ論理回路を実現することができる。LUT12は、四つのセレクタ11からの入力信号と組み合わせ論理回路とに基づいた出力信号をFF14に出力する。   The LUT 12 uses input bits as memory addresses and stores output values corresponding to the memory addresses. That is, the LUT 12 can realize any combinational logic circuit that outputs output signals corresponding to a plurality of input signals under the control of the control unit 20. The LUT 12 outputs an output signal based on the input signals from the four selectors 11 and the combinational logic circuit to the FF 14.

セレクタ13は、二入力一出力の回路であり、制御部20の制御に基づいて、入力されたアプリケーションクロック信号とシステムクロック信号の内の何れか一つをFF14に出力する。   The selector 13 is a circuit with two inputs and one output, and outputs any one of the input application clock signal and system clock signal to the FF 14 based on the control of the control unit 20.

FF14は、D−フリップフロップ回路であり、データ信号とクロック信号とを入力し、クロック信号の周期ごとにクロック信号の立ち上がり時のデータ信号の値を保持した信号を出力する。FF14は、装置内各部における信号の同期を取るために使用される。なお、FF14には、セレクタ13よりクロック信号として、アプリケーションクロック信号又はシステムクロック信号が入力される。   The FF 14 is a D-flip flop circuit, which receives a data signal and a clock signal, and outputs a signal holding the value of the data signal at the rising edge of the clock signal for each cycle of the clock signal. The FF 14 is used to synchronize signals in each part in the apparatus. Note that an application clock signal or a system clock signal is input to the FF 14 as a clock signal from the selector 13.

セレクタ15は、m入力一出力の回路であり、制御部20の制御の元、配線40からのm本の入力信号のうちの何れか一つをFF16に出力する。なお、セレクタ15は、二つが配置される。   The selector 15 is an m-input one-output circuit, and outputs any one of m input signals from the wiring 40 to the FF 16 under the control of the control unit 20. Two selectors 15 are arranged.

FF16は、D−フリップフロップ回路であり、データ信号とクロック信号とを入力し、クロック信号の周期ごとにクロック信号の立ち上がり時のデータ信号の値を保持した信号を出力する。FF16は、装置内各部における信号の同期を取るために使用される。なお、FF16には、クロック信号として、アプリケーションクロック信号又はシステムクロック信号が入力される。   The FF 16 is a D-flip flop circuit, which receives a data signal and a clock signal, and outputs a signal holding the value of the data signal at the rising edge of the clock signal for each cycle of the clock signal. The FF 16 is used to synchronize signals in each part in the apparatus. Note that an application clock signal or a system clock signal is input to the FF 16 as a clock signal.

セレクタ17は、二入力一出力の回路であり、制御部20の制御に基づいて、入力されたアプリケーションクロック信号とシステムクロック信号の内の何れか一つをFF16に出力する。   The selector 17 is a two-input one-output circuit, and outputs any one of the input application clock signal and system clock signal to the FF 16 based on the control of the control unit 20.

制御部20は、PLD100全体を制御する。具体的には、制御部20は、それぞれの演算器エレメント10の第1の経路と第2の経路の設定や、複数の演算器エレメント10の結線や、LUT12において任意の論理の実現等を行う。   The control unit 20 controls the entire PLD 100. Specifically, the control unit 20 performs setting of the first path and the second path of each computing element 10, connection of a plurality of computing elements 10, realization of arbitrary logic in the LUT 12, and the like. .

I/O部30は、PLD100の周辺部に位置しており、外部と信号のやりとりを行う。   The I / O unit 30 is located in the peripheral portion of the PLD 100 and exchanges signals with the outside.

配線40は、演算器エレメント10間やI/O部30を接続して、任意の論理回路を実現する。また、配線40は、セレクタ41を備える。   The wiring 40 connects the arithmetic element 10 and the I / O unit 30 to realize an arbitrary logic circuit. Further, the wiring 40 includes a selector 41.

セレクタ41は、二入力一出力の回路であり、FF14と配線40もしくはFF16と配線40を結び、制御部20の制御に基づいて、配線40からの入力信号とFF14,16からの入力信号との何れか一方を配線40に出力する。   The selector 41 is a circuit of two inputs and one output, and connects the FF 14 and the wiring 40 or the FF 16 and the wiring 40, and based on the control of the control unit 20, the input signal from the wiring 40 and the input signals from the FFs 14 and 16 are connected. Either one is output to the wiring 40.

PLD100は、LUT12等に含まれるSRAM、DRAM等の書き換え可能なメモリ素子を備えており、それらのメモリ素子で構成されたコンフィギュレーションメモリ(図示省略)を備えている。   The PLD 100 includes rewritable memory elements such as SRAM and DRAM included in the LUT 12 and the like, and includes a configuration memory (not shown) configured by these memory elements.

このコンフィギュレーションメモリ(図示省略)にアドレスを与えて、新しい回路情報のデータが格納されると、この回路情報に従って、演算器エレメント10内のLUT12、セレクタや、配線40上のセレクタ等、が再構成される。この一連の動作をコンフィギュレーション(構成)と呼ぶ。また、このコンフィギュレーションは動作中に行うことが可能である。   When an address is given to this configuration memory (not shown) and new circuit information data is stored, the LUT 12 in the arithmetic element 10, the selector, the selector on the wiring 40, and the like are regenerated according to this circuit information. Composed. This series of operations is called a configuration. This configuration can also be performed during operation.

また、PLD100は、各演算器エレメント10のFF14,16にクロック信号を提供するためのクロックネットワークとして、図3に示すように、クロック入力部31と、PLL(Phase-locked loop)回路60と、クロック制御回路61,62と、クロックバッファ63,64と、配線65,66と、を備える。   The PLD 100 is a clock network for providing a clock signal to the FFs 14 and 16 of each arithmetic element 10, as shown in FIG. 3, a clock input unit 31, a PLL (Phase-locked loop) circuit 60, Clock control circuits 61 and 62, clock buffers 63 and 64, and wirings 65 and 66 are provided.

クロック入力部31は、I/O部30の一部であり、外部よりクロック信号を取得し、PLL回路60に供給する。   The clock input unit 31 is a part of the I / O unit 30, acquires a clock signal from the outside, and supplies it to the PLL circuit 60.

PLL回路60は、クロック入力部31より供給されたクロック信号を任意の周波数のクロック信号(システムクロック信号;以下、sysCLK信号)に変換し、クロック制御回路61,62に供給する。   The PLL circuit 60 converts the clock signal supplied from the clock input unit 31 into a clock signal having an arbitrary frequency (system clock signal; hereinafter, sysCLK signal) and supplies the clock signal to the clock control circuits 61 and 62.

クロック制御回路61は、PLL回路60より供給されたsysCLK信号を、クロックバッファ63に供給する。また、クロック制御回路61は、クロックバッファ63にsysCLK信号を供給するか否かの制御を行う。   The clock control circuit 61 supplies the sysCLK signal supplied from the PLL circuit 60 to the clock buffer 63. The clock control circuit 61 controls whether or not to supply the sysCLK signal to the clock buffer 63.

クロック制御回路62は、PLL回路60より供給されたsysCLK信号のうちの任意のハイ状態のクロックをロー状態に変換し、sysCLK信号の所定倍の周期を持つクロック信号(アプリケーションクロック信号;以下、appCLK信号)として、クロックバッファ64に供給する。また、クロック制御回路62は、クロックバッファ64にappCLK信号を供給するか否かの制御を行う。   The clock control circuit 62 converts an arbitrary high state clock of the sysCLK signal supplied from the PLL circuit 60 into a low state, and a clock signal (application clock signal; hereinafter, “appCLK”) having a cycle that is a predetermined multiple of the sysCLK signal. Signal) to the clock buffer 64. The clock control circuit 62 controls whether or not to supply the appCLK signal to the clock buffer 64.

クロックバッファ63は、クロック制御回路61より供給されたsysCLK信号を励起し、配線65に供給する。   The clock buffer 63 excites the sysCLK signal supplied from the clock control circuit 61 and supplies it to the wiring 65.

クロックバッファ64は、クロック制御回路62より供給されたappCLK信号を励起し、配線66に供給する。   The clock buffer 64 excites the appCLK signal supplied from the clock control circuit 62 and supplies it to the wiring 66.

配線65は、クロックバッファ63より供給されたsysCLK信号を各演算器エレメント10のセレクタ13及びセレクタ17に供給する。   The wiring 65 supplies the sysCLK signal supplied from the clock buffer 63 to the selector 13 and the selector 17 of each arithmetic element 10.

配線66は、クロックバッファ64より供給されたappCLK信号を各演算器エレメント10のセレクタ13及びセレクタ17に供給する。   The wiring 66 supplies the appCLK signal supplied from the clock buffer 64 to the selector 13 and the selector 17 of each arithmetic element 10.

上記構成のPLD100は、例えば、図5に示すような情報処理システム1000に組み込まれて使用される。   The PLD 100 having the above configuration is used by being incorporated in an information processing system 1000 as shown in FIG. 5, for example.

例えば、情報処理システム1000は、PLD100と、インタフェース200と、CPU(Central Processing Unit)300と、ROM(Read Only Memory)400と、ハードディスク500と、RAM(Random Access Memory)600と、表示部700と、操作部800と、PCI(Peripheral Components Interconnect)バス900と、から構成される。   For example, the information processing system 1000 includes a PLD 100, an interface 200, a CPU (Central Processing Unit) 300, a ROM (Read Only Memory) 400, a hard disk 500, a RAM (Random Access Memory) 600, and a display unit 700. , An operation unit 800 and a PCI (Peripheral Components Interconnect) bus 900.

PLD100は、インタフェース200を介してPCIバス900に接続されている。   The PLD 100 is connected to the PCI bus 900 via the interface 200.

ハードディスク500は、PLD100のコンフィギュレーションを行うためのアプリケーションプログラムやコンフィギュレーションコードを格納している。   The hard disk 500 stores application programs and configuration codes for configuring the PLD 100.

CPU300は、ハードディスク500からRAM600にアプリケーションプログラムをロードして実行する。また、CPU300は、アプリケーションプログラム実行中に必要に応じて、ハードディスク500から回路情報を読み出して、PLD100のコンフィギュレーションメモリ(図示省略)にロードし、PLD100上に任意の論理回路を構成し、当該論理回路上でデータ処理を行う。   The CPU 300 loads an application program from the hard disk 500 to the RAM 600 and executes it. Further, the CPU 300 reads circuit information from the hard disk 500 as needed during execution of the application program, loads it into the configuration memory (not shown) of the PLD 100, configures an arbitrary logic circuit on the PLD 100, and Data processing is performed on the circuit.

つまり、CPU300は、PLD100におけるコンフィギュレーション(再構成)や、PLD100上に構成された論理回路へのデータの入出力を制御する。   That is, the CPU 300 controls the configuration (reconfiguration) in the PLD 100 and the input / output of data to the logic circuit configured on the PLD 100.

以下、上記構成を有するPLD100及び情報処理システム1000の動作を説明する。   Hereinafter, operations of the PLD 100 and the information processing system 1000 having the above-described configurations will be described.

先ず、情報処理システム1000が行う論理回路再構成処理を説明する。簡単に説明すると、情報処理システム1000は、RTL(Register Transfer Level)等の論理コードをもとに論理合成された論理回路をPLD100に書き込む。   First, logic circuit reconfiguration processing performed by the information processing system 1000 will be described. In brief, the information processing system 1000 writes a logic circuit synthesized based on a logic code such as RTL (Register Transfer Level) into the PLD 100.

以下、図6に示すフローチャートを参照しながら、論理回路再構成処理を詳細に説明する。   Hereinafter, the logic circuit reconfiguration process will be described in detail with reference to the flowchart shown in FIG.

先ず、CPU300は、操作部800を介してユーザよりPLD100のコンフィギュレーションを行うためのアプリケーションプログラム(以下、再構成プログラム)の起動を行う旨の要求を受信すると、再構成プログラムを起動する(ステップS100)。   First, when the CPU 300 receives a request for starting an application program (hereinafter, reconfiguration program) for configuring the PLD 100 from the user via the operation unit 800, the CPU 300 starts the reconfiguration program (step S100). ).

次に、CPU300は、ユーザが操作部800を介して入力した、又は、ハードディスク500に格納されている、VHDL(VHSIC Hardware Description Language)やVerilog等の開発言語で記述された論理コードを論理合成し、配置配線した構成情報を取得した(ステップS200)と仮定する。   Next, the CPU 300 logically synthesizes a logical code described in a development language such as VHDL (VHSIC Hardware Description Language) or Verilog that is input by the user via the operation unit 800 or stored in the hard disk 500. It is assumed that the arranged and routed configuration information is acquired (step S200).

ここで、ユーザより操作部800を介して上記論理コードに基づいた論理回路をPLD100に書き込む旨の要求を受信したと仮定すると、CPU300は、論理回路をPLD100に書き込み(ステップS300)、処理を終了する。   Here, assuming that a request for writing a logic circuit based on the logic code to the PLD 100 is received from the user via the operation unit 800, the CPU 300 writes the logic circuit to the PLD 100 (step S300) and ends the process. To do.

このようにして、論理回路再構成処理によれば、情報処理システム1000は、任意の論理コードに基づいた論理回路をPLD100に書き込み、プログラムの実行をハードウェア(PLD100)において直接的に実現することができる。   In this way, according to the logic circuit reconfiguration process, the information processing system 1000 writes a logic circuit based on an arbitrary logic code to the PLD 100 and directly executes the program in the hardware (PLD 100). Can do.

ここで、ステップS200,300における論理回路の説明を行う。   Here, the logic circuit in steps S200 and S300 will be described.

ステップS200,300において、PLD100上の演算器エレメント10は、図7に示すように、バッファとしての役割を持つ演算器エレメント(ここではフリップフロップのみを指す)と、アプリケーションとして実装している演算器エレメント、つまり、RTL(Register Transfer Level)に書かれる論理回路を持ち(ここではフリップフロップのみを指す)と、に設定される。   In steps S200 and S300, as shown in FIG. 7, the arithmetic element 10 on the PLD 100 includes an arithmetic element serving as a buffer (here, only a flip-flop is indicated) and an arithmetic unit mounted as an application. It is set to have an element, that is, a logic circuit written in RTL (Register Transfer Level) (here, only a flip-flop is indicated).

バッファとしての役割を持つ演算器エレメント(以下、バッファ演算器エレメント)は、図4(a)に示すようなsysCLK信号の一周期ごとにデータを更新し、出力する。   A computing element (hereinafter referred to as a buffer computing element) serving as a buffer updates and outputs data for each cycle of the sysCLK signal as shown in FIG.

アプリケーションとして実装している論理ブロックのうちRTLに存在するフリップフロップ回路を実装したエレメント(以下、アプリケーション演算器エレメント)は、図4(b)に示すようなappCLK信号の一周期毎にデータを更新し、出力する。   Of the logic blocks implemented as an application, an element (hereinafter referred to as an application computing element) in which a flip-flop circuit existing in the RTL is installed updates data for each cycle of the appCLK signal as shown in FIG. And output.

また、appCLK信号の周期は、sysCLK信号の周期を基準として、アプリケーション演算器エレメント間の、バッファ演算器エレメントの数に基づいて決定される。   Further, the period of the appCLK signal is determined based on the number of buffer arithmetic elements between the application arithmetic elements based on the period of the sysCLK signal.

例えば、図8(a)に示される経路例では、アプリケーション演算器エレメントとして設定されている演算器エレメント10aと演算器エレメント10eとの間に、バッファ演算器エレメントとして設定されている演算器エレメント10b〜10dが配置されている。   For example, in the path example shown in FIG. 8A, a computing element 10b set as a buffer computing element between a computing element 10a set as an application computing element and a computing element 10e. 10d are arranged.

そして、図8(a)の経路例をフリップフロップ回路についての経路として表すと、図8(b)に示すように、appCLK信号が入力されるFF14aとFF14eとの間に、sysCLK信号が入力されるFF16b〜16dが配置される。ただし、FF14a,16b,16c,16d,14eは、それぞれ、演算器エレメント10a〜10eに含まれるフリップフロップ回路である。   When the path example in FIG. 8A is represented as a path for the flip-flop circuit, as shown in FIG. 8B, the sysCLK signal is input between the FF 14a and the FF 14e to which the appCLK signal is input. FFs 16b to 16d are arranged. However, the FFs 14a, 16b, 16c, 16d, and 14e are flip-flop circuits included in the arithmetic element 10a to 10e, respectively.

このとき、FF14aとFF14eとの間のクリティカルパスの数は、4であるので、図4に示すように、appCLK信号は、sysCLK信号における4つのクロックに対して、1つのクロックを入れるように設定される。
つまり、二つのアプリケーション演算器エレメントの間に「n−1」個のバッファ演算器エレメントのみが配置され、二つのアプリケーション演算器エレメントのFF14間のクリティカルパスの数が「n」個である場合、appCLK信号は、sysCLK信号における「n」個のクロックに対して、1つのクロックを入れるように設定される。
At this time, since the number of critical paths between the FF 14a and the FF 14e is 4, as shown in FIG. 4, the appCLK signal is set to include one clock with respect to the four clocks in the sysCLK signal. Is done.
That is, when only “n−1” buffer calculator elements are arranged between two application calculator elements, and the number of critical paths between the FFs 14 of the two application calculator elements is “n”, The appCLK signal is set to include one clock for “n” clocks in the sysCLK signal.

ここで、図8の経路例における実際のデータの流れを、図9を参照しながら説明する。   Here, an actual data flow in the route example of FIG. 8 will be described with reference to FIG.

図9は、各フリップフロップ回路が時間ごとに、入力するクロック信号と、保持・出力するデータとを表す図である。   FIG. 9 is a diagram illustrating a clock signal input to each flip-flop circuit and data to be held and output for each time.

図9に示すように、FF14aは、入力するappCLK信号のクロックの立ち上がり時が時刻「3,11,19」であるので、時間「3〜11」においてデータA1を保持・出力し、時間「11〜19」においてデータB1を保持・出力し、時間「19〜」においてデータC1を保持・出力する。   As shown in FIG. 9, the FF 14a holds and outputs data A1 at time “3 to 11” because the rising time of the clock of the input appCLK signal is time “3, 11, 19”. -19 "holds and outputs data B1, and holds and outputs data C1 at time" 19 ".

図9に示すように、FF16bは、入力するsysCLK信号のクロックの立ち上がり時が時刻「1,3,5,7,9,11,13,15,17,19,21,23」である。また、FF16bは、時刻「5,7,9,11」においてFF14aからデータA1が入力される。FF16bは、時刻「13,15,17,19」においてFF14aからデータB1が入力される。FF16bは、時刻「21,23」においてFF14aからデータC1が入力される。   As shown in FIG. 9, in the FF 16b, the rising time of the clock of the input sysCLK signal is time “1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23”. The FF 16b receives the data A1 from the FF 14a at time “5, 7, 9, 11”. The FF 16b receives the data B1 from the FF 14a at the time “13, 15, 17, 19”. The FF 16b receives the data C1 from the FF 14a at time “21, 23”.

そのため、時間「5〜7」においてデータA1を保持・出力し、時刻「7」でデータを更新し、時間「7〜9」においてデータA1を保持・出力し、時刻「9」でデータを更新し、時間「9〜11」においてデータA1を保持・出力し、時刻「11」でデータを更新し、時間「11〜13」においてデータA1を保持・出力し、時刻「13」でデータを更新する。
時間「13〜15」においてデータB1を保持・出力し、時刻「15」でデータを更新し、時間「15〜17」においてデータB1を保持・出力し、時刻「17」でデータを更新し、時間「17〜19」においてデータB1を保持・出力し、時刻「19」でデータを更新し、時間「19〜21」においてデータB1を保持・出力し、時刻「21」でデータを更新する。
時間「21〜23」においてデータC1を保持・出力し、時刻「23」でデータを更新し、時間「23〜」においてデータC1を保持・出力する。
Therefore, data A1 is held / output at time “5-7”, data is updated at time “7”, data A1 is held / output at time “7-9”, and data is updated at time “9”. The data A1 is held / output at time “9-11”, the data is updated at time “11”, the data A1 is held / output at time “11-13”, and the data is updated at time “13”. To do.
Data B1 is held / output at time “13-15”, data is updated at time “15”, data B1 is held / output at time “15-17”, and data is updated at time “17”, Data B1 is held / output at time “17-19”, data is updated at time “19”, data B1 is held / output at time “19-21”, and data is updated at time “21”.
Data C1 is held / output at time “21-23”, data is updated at time “23”, and data C1 is held / output at time “23-”.

FF16cとFF16dのデータの流れもほぼ同様であるので、説明を省略する。   Since the data flow of the FF 16c and the FF 16d is substantially the same, the description thereof is omitted.

図9に示すように、FF14eは、入力するappCLK信号のクロックの立ち上がり時が時刻「3,11,19」である。また、FF14eは、時刻「11」においてFF16dからデータA1が入力される。FF14eは、時刻「19」においてFF16dからデータB1が入力される。   As shown in FIG. 9, the FF 14e has a time “3, 11, 19” when the clock of the input appCLK signal rises. Further, the data A1 is input to the FF 14e from the FF 16d at time “11”. The FF 14e receives the data B1 from the FF 16d at time “19”.

そのため、時刻「11」でデータを更新し、時間「11〜19」においてデータA1を保持・出力し、時刻「19」でデータを更新し、時間「19〜」においてデータB1を保持・出力する。
なお、図10,11に示すように、appCLK信号のクロックの間隔が同じであれば、図8,9のFF16b〜dの何れかが無くてもFF14eは上記のFF14eと同じ動作を行う。
Therefore, data is updated at time “11”, data A1 is held / output at time “11-19”, data is updated at time “19”, and data B1 is held / output at time “19”. .
As shown in FIGS. 10 and 11, if the clock interval of the appCLK signal is the same, the FF 14e performs the same operation as the FF 14e even if any of the FFs 16b to d in FIGS.

なお、図8(b)のFF16b〜dは、それぞれ、セレクタ13によってsysCLK信号が入力されるFF14に置き換えられてもよい。また、図8(b)のFF14a,eは、それぞれ、セレクタ17によってsysCLK信号が入力されるFF16に置き換えられてもよい。   Note that the FFs 16b to 16d in FIG. 8B may be replaced with the FFs 14 to which the sysCLK signal is input by the selector 13, respectively. Further, the FFs 14 a and 14 e in FIG. 8B may be replaced by the FF 16 to which the sysCLK signal is input by the selector 17.

このような論理回路であれば、全ての演算器エレメントにおいてフリップフロップ回路で同期させており、且つ、フリップフロップ回路が間に入らないループが存在しないので、現行のLSI(Large Scale Integration)設計フローに適合する。また、自動テスト合成が採用できる。静的タイミング解析(STA ; Static Timing Analysis)の様にRTL実装時に各演算器エレメントの遅延値を個別に足す必要は無く、フリップフロップ回路の段数でクロック周波数が分かる。これらの利点のため、PLD設計期間の短縮を行うことができる。ソフトウェアIPを用いて最適な性能を得ることができる。   In such a logic circuit, all the arithmetic element elements are synchronized by the flip-flop circuit, and there is no loop that cannot be interposed between the flip-flop circuits, so the current LSI (Large Scale Integration) design flow Fits. Automatic test synthesis can be used. Unlike the static timing analysis (STA), it is not necessary to add the delay value of each arithmetic element individually when the RTL is mounted, and the clock frequency can be determined by the number of stages of the flip-flop circuit. Because of these advantages, the PLD design period can be shortened. Optimal performance can be obtained using software IP.

なお、本発明は上記実施形態に限定されず、種々の変形及び応用が可能である。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible.

上記実施形態では、一つの演算器エレメントは一つのルックアップテーブルを備えたが、一つの演算器エレメントが複数のルックアップテーブルを備えるようにしてもよい。   In the above embodiment, one computing element includes one lookup table, but one computing element may include a plurality of lookup tables.

また、上記実施形態では、出力側にフリップフロップ回路を備えた四入力一出力の演算器エレメントであったが、これに限定されるものではなく、出力側にフリップフロップ回路を備えたp入力q出力の演算器エレメントであってもよい。ただし、p,qは、自然数である。   In the above embodiment, the four-input one-output arithmetic element is provided with a flip-flop circuit on the output side. However, the present invention is not limited to this, and p input q provided with a flip-flop circuit on the output side. An output computing element may be used. However, p and q are natural numbers.

また、appCLK信号は、sysCLK信号の複数クロックをマスクすればよいので、図13に示すように、セレクタ13をAND,OR回路などで構成し、セレクタ13がsysCLK信号の複数クロックをマスクするかしないかで、appCLK信号とsysCLK信号とを切り換える構成にしても良い。   Further, since the appCLK signal only needs to mask a plurality of clocks of the sysCLK signal, as shown in FIG. 13, the selector 13 is configured by an AND or OR circuit, and the selector 13 masks the plurality of clocks of the sysCLK signal. However, it may be configured to switch between the appCLK signal and the sysCLK signal.

その場合、セレクタ13は、図13に示すように、OR回路13AとAND回路13Bとから構成される。
また、その場合のクロックネットワークは、図12に示すように、クロック入力部31とPLL回路60と配線65,66とカウンタ回路67とから構成される。
In this case, the selector 13 is composed of an OR circuit 13A and an AND circuit 13B as shown in FIG.
In this case, the clock network includes a clock input unit 31, a PLL circuit 60, wirings 65 and 66, and a counter circuit 67, as shown in FIG.

PLL回路60は、図14(a)に示すようなクロック信号を出力する。
カウンタ回路67は、図14(b)に示すように、PLL回路60から入力されたPLL出力信号のクロック数を数え、制御部20により設定されたクロック数ごとに一クロックを出力する(カウンタ出力信号を出力する)。
OR回路13Aは、制御部20から指定された構成信号(0か1)と、カウンタ回路67からカウンタ出力信号が入力され、構成信号が0の場合にはカウンタ出力信号をそのまま出力し、構成信号が1の場合には1を出力する。
AND回路13Bは、PLL回路60からPLL出力信号と、OR回路13Aからの出力信号とが入力される。また、AND回路13Bは、OR回路13Aに入力される構成信号が1の場合には、図14(c)に示すようにPLL出力信号をsysCLK信号としてそのまま出力し、OR回路13Aに入力される構成信号が0の場合には、図14(d)に示すようにカウンタ出力信号に依存したクロック信号をappCLK信号として出力する。
The PLL circuit 60 outputs a clock signal as shown in FIG.
As shown in FIG. 14B, the counter circuit 67 counts the number of clocks of the PLL output signal input from the PLL circuit 60, and outputs one clock for each number of clocks set by the control unit 20 (counter output). Output a signal).
The OR circuit 13A receives the configuration signal (0 or 1) designated from the control unit 20 and the counter output signal from the counter circuit 67. When the configuration signal is 0, the OR circuit 13A outputs the counter output signal as it is. When 1 is 1, 1 is output.
The AND circuit 13B receives the PLL output signal from the PLL circuit 60 and the output signal from the OR circuit 13A. Further, when the configuration signal input to the OR circuit 13A is 1, the AND circuit 13B outputs the PLL output signal as it is as the sysCLK signal as shown in FIG. 14C, and is input to the OR circuit 13A. When the configuration signal is 0, a clock signal depending on the counter output signal is output as an appCLK signal as shown in FIG.

よって、図13,14に示すようなクロックネットワークとセレクタ13によれば、構成情報(0か1)によってsysCLK信号とappCLK信号とを切り換えることができる。   Therefore, according to the clock network and the selector 13 as shown in FIGS. 13 and 14, the sysCLK signal and the appCLK signal can be switched by the configuration information (0 or 1).

また、同様にセレクタ17をAND,OR回路などで構成し、セレクタ13がsysCLK信号の複数クロックをマスクするかしないかで、appCLK信号とsysCLK信号とを切り換える構成にしても良い。   Similarly, the selector 17 may be configured by an AND or OR circuit, and the selector 13 may be switched between the appCLK signal and the sysCLK signal depending on whether or not the plurality of clocks of the sysCLK signal are masked.

また、具体的な細部構造等についても適宜変更可能である。   Further, specific details of the structure and the like can be changed as appropriate.

本発明の実施形態に係るPLDの第1の構成図である。It is a 1st block diagram of PLD which concerns on embodiment of this invention. 図1の演算器エレメントとその周辺部の構成図である。It is a block diagram of the computing element element of FIG. 1 and its peripheral part. 本発明の実施形態に係るPLDのクロックネットワークの構成図である。It is a block diagram of the clock network of PLD which concerns on embodiment of this invention. 本発明の実施形態に係るPLDに使用されるクロック信号を説明するためのグラフである。5 is a graph for explaining a clock signal used in the PLD according to the embodiment of the present invention. 本発明の実施形態に係る情報処理システムの構成図である。1 is a configuration diagram of an information processing system according to an embodiment of the present invention. 論理回路再構成処理を説明するためのフローチャートである。It is a flowchart for demonstrating a logic circuit reconfiguration process. 本発明の実施形態に係るPLDの動作を説明するための第1の図である。It is a 1st figure for demonstrating operation | movement of PLD which concerns on embodiment of this invention. 本発明の実施形態に係るPLDの動作を説明するための第2の図である。It is a 2nd figure for demonstrating operation | movement of PLD which concerns on embodiment of this invention. 本発明の実施形態に係るPLDの動作を説明するための第3の図である。It is a 3rd figure for demonstrating operation | movement of PLD which concerns on embodiment of this invention. 本発明の実施形態に係るPLDの動作を説明するための第4の図である。It is a 4th figure for demonstrating operation | movement of PLD which concerns on embodiment of this invention. 本発明の実施形態に係るPLDの動作を説明するための第5の図である。It is a 5th figure for demonstrating operation | movement of PLD which concerns on embodiment of this invention. 本発明の実施形態の変形例に係るPLDのクロックネットワークの構成図である。It is a block diagram of the clock network of PLD which concerns on the modification of embodiment of this invention. 本発明の実施形態の変形例に係るセレクタの構成図である。It is a block diagram of the selector which concerns on the modification of embodiment of this invention. 本発明の実施形態の変形例に係るPLDに使用されるクロック信号を説明するためのグラフである。It is a graph for demonstrating the clock signal used for PLD which concerns on the modification of embodiment of this invention.

符号の説明Explanation of symbols

10 演算器エレメント
10a〜e 演算器エレメント
11 セレクタ回路
12 ルックアップテーブル
13 セレクタ回路
13A OR回路
13B AND回路
14 D−フリップフロップ回路
14a,e D−フリップフロップ回路
15 セレクタ回路
16 D−フリップフロップ回路
16b〜d D−フリップフロップ回路
20 制御部
30 I/O部
31 クロック入力部
40 配線
41 セレクタ回路
60 PLL回路
61,62 クロック制御回路
63,64 クロックバッファ
65,66 配線
67 カウンタ回路
100 PLD
200 インタフェース
300 CPU
400 ROM
500 ハードディスク
600 RAM
700 表示部
800 操作部
1000 情報処理システム
10 arithmetic element 10a to e arithmetic element 11 selector circuit 12 lookup table 13 selector circuit 13A OR circuit 13B AND circuit 14 D-flip flop circuit 14a, e D-flip flop circuit 15 selector circuit 16 D-flip flop circuit 16b ˜d D flip-flop circuit 20 control unit 30 I / O unit 31 clock input unit 40 wiring 41 selector circuit 60 PLL circuit 61, 62 clock control circuit 63, 64 clock buffer 65, 66 wiring 67 counter circuit 100 PLD
200 interface 300 CPU
400 ROM
500 Hard disk 600 RAM
700 Display Unit 800 Operation Unit 1000 Information Processing System

Claims (9)

第1のクロック信号を入力する第1のフリップフロップ回路が接続された第1の経路と、演算器と第2のクロック信号を入力する第2のフリップフロップ回路とが接続された第2の経路と、を備える複数の演算器エレメントと、
前記演算器エレメントごとに前記第1の経路と前記第2の経路とを設定する経路設定手段と、
前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した二つの演算器エレメントを両端に、前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した、複数個の演算器エレメントを中間にして、前記演算器エレメントを結線するエレメント結線手段と、を備える、
ことを特徴とするプログラマブル論理回路装置。
A first path to which a first flip-flop circuit for inputting a first clock signal is connected, and a second path to which an arithmetic unit and a second flip-flop circuit for inputting a second clock signal are connected A plurality of computing element elements comprising:
Path setting means for setting the first path and the second path for each computing element;
A plurality of computing elements set by the path setting means for the first path or the second path at both ends, and a plurality of sets for which the path setting means set for the first path or the second path And an element connection means for connecting the calculator elements with the calculator element as an intermediate,
A programmable logic circuit device.
前記エレメント結線手段が中間に結線した演算器エレメントの個数に基づいて前記第1のクロック信号及び前記第2のクロック信号の周期を演算器エレメント毎に設定する周期設定手段をさらに備える、
ことを特徴とする請求項1に記載のプログラマブル論理回路装置。
The apparatus further comprises period setting means for setting the period of the first clock signal and the second clock signal for each arithmetic element based on the number of arithmetic elements connected in the middle by the element connection means.
The programmable logic circuit device according to claim 1.
前記演算器は、ルックアップテーブル及び/又はALU(Arithmetic Logic Unit)を備える、
ことを特徴とする請求項1又は2に記載のプログラマブル論理回路装置。
The arithmetic unit includes a lookup table and / or an ALU (Arithmetic Logic Unit).
The programmable logic circuit device according to claim 1 or 2.
第1のクロック信号を入力する第1のフリップフロップ回路が接続された第1の経路と、演算器と第2のクロック信号を入力する第2のフリップフロップ回路とが接続された第2の経路と、を備える複数の演算器エレメントと、を備えるプログラマブル論理回路の論理的構成を変更するプログラマブル論理回路再構成方法であって、
前記演算器エレメントごとに前記第1の経路と前記第2の経路とを設定する経路設定ステップと、
前記経路設定ステップで前記第1の経路もしくは前記第2の経路に設定した二つの演算器エレメントを両端に、前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した、複数個の演算器エレメントを中間にして、前記演算器エレメントを結線するエレメント結線ステップと、を備える、
ことを特徴とするプログラマブル論理回路再構成方法。
A first path to which the first flip-flop circuit for inputting the first clock signal is connected, and a second path to which the arithmetic unit and the second flip-flop circuit for inputting the second clock signal are connected A programmable logic circuit reconfiguration method for changing the logical configuration of a programmable logic circuit comprising:
A path setting step for setting the first path and the second path for each computing element;
A plurality of computing element elements set to the first path or the second path at both ends of the path setting step and the path setting means set to the first path or the second path; An element connection step for connecting the calculator elements with the calculator element of
And a programmable logic circuit reconfiguration method.
前記エレメント結線ステップで中間に結線した演算器エレメントの個数に基づいて前記第1のクロック信号及び前記第2のクロック信号の周期を演算器エレメント毎に設定する周期設定ステップをさらに備える、
ことを特徴とする請求項4に記載のプログラマブル論理回路再構成方法。
A cycle setting step of setting the cycle of the first clock signal and the second clock signal for each calculator element based on the number of calculator elements connected in the middle in the element connection step;
The programmable logic circuit reconfiguration method according to claim 4.
前記演算器は、ルックアップテーブル及び/又はALU(Arithmetic Logic Unit)を備える、
ことを特徴とする請求項4又は5に記載のプログラマブル論理回路再構成方法。
The arithmetic unit includes a lookup table and / or an ALU (Arithmetic Logic Unit).
6. The programmable logic circuit reconfiguration method according to claim 4 or 5, wherein:
第1のクロック信号を入力する第1のフリップフロップ回路が接続された第1の経路と、演算器と第2のクロック信号を入力する第2のフリップフロップ回路とが接続された第2の経路と、を備える複数の演算器エレメントと、を備えるコンピュータを、
前記演算器エレメントごとに前記第1の経路と前記第2の経路とを設定する経路設定手段、
前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した二つの演算器エレメントを両端に、前記経路設定手段が前記第1の経路もしくは前記第2の経路に設定した、複数個の演算器エレメントを中間にして、前記演算器エレメントを結線するエレメント結線手段、
として機能させることを特徴とするプログラム。
A first path to which the first flip-flop circuit for inputting the first clock signal is connected, and a second path to which the arithmetic unit and the second flip-flop circuit for inputting the second clock signal are connected A computer comprising a plurality of computing element elements comprising:
Path setting means for setting the first path and the second path for each computing element;
A plurality of computing elements set by the path setting means for the first path or the second path at both ends, and a plurality of sets for which the path setting means set for the first path or the second path Element connection means for connecting the operation element with the operation element of
A program characterized by functioning as
前記エレメント結線手段が中間に結線した演算器エレメントの個数に基づいて前記第1のクロック信号及び前記第2のクロック信号の周期を演算器エレメント毎に設定する周期設定手段、
として機能させることを特徴とする請求項7に記載のプログラム。
A period setting means for setting the period of the first clock signal and the second clock signal for each arithmetic element based on the number of arithmetic elements connected in the middle by the element connection means;
The program according to claim 7, wherein the program is made to function as:
前記演算器は、ルックアップテーブル及び/又はALU(Arithmetic Logic Unit)を備える、
ことを特徴とする請求項7又は8に記載のプログラム。
The arithmetic unit includes a lookup table and / or an ALU (Arithmetic Logic Unit).
The program according to claim 7 or 8, characterized in that.
JP2007175559A 2007-07-03 2007-07-03 Programmable logic circuit device, programmable logic circuit reconfiguration method, and program Pending JP2009017141A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007175559A JP2009017141A (en) 2007-07-03 2007-07-03 Programmable logic circuit device, programmable logic circuit reconfiguration method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007175559A JP2009017141A (en) 2007-07-03 2007-07-03 Programmable logic circuit device, programmable logic circuit reconfiguration method, and program

Publications (1)

Publication Number Publication Date
JP2009017141A true JP2009017141A (en) 2009-01-22

Family

ID=40357500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007175559A Pending JP2009017141A (en) 2007-07-03 2007-07-03 Programmable logic circuit device, programmable logic circuit reconfiguration method, and program

Country Status (1)

Country Link
JP (1) JP2009017141A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164086A (en) * 2011-04-25 2011-08-24 中兴通讯股份有限公司 Method and device for quick migration of direct route

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164086A (en) * 2011-04-25 2011-08-24 中兴通讯股份有限公司 Method and device for quick migration of direct route

Similar Documents

Publication Publication Date Title
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
US9685957B2 (en) System reset controller replacing individual asynchronous resets
US9912337B2 (en) Systems and methods for configuring an SOPC without a need to use an external memory
US9026967B1 (en) Method and apparatus for designing a system on multiple field programmable gate array device types
US9201996B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, data processing system including behavioral synthesis apparatus, and non-transitory computer readable medium storing behavioral synthesis program
US8418092B2 (en) Source-synchronous data link for system-on-chip design
Manohar Reconfigurable asynchronous logic
US8793629B1 (en) Method and apparatus for implementing carry chains on FPGA devices
US10354706B1 (en) Delaying start of user design execution
US9692688B2 (en) Delay specific routings for programmable logic devices
JP2007288788A (en) Programmable delay circuit having reduced insertion delays
US20050251776A1 (en) Integrated circuit design system
JP2009017141A (en) Programmable logic circuit device, programmable logic circuit reconfiguration method, and program
Poole Self-timed logic circuits
Sarker et al. Synthesis of VHDL code for FPGA design flow using Xilinx PlanAhead tool
JP2003173361A (en) Layout design method and device for semiconductor integrated circuit
JPH10133768A (en) Clock system and semiconductor device, and method for testing semiconductor device, and cad device
Gupta et al. Design and implementation of 32-bit controller for interactive interfacing with reconfigurable computing systems
JP2008198003A (en) Array type processor
Han et al. Clocked and asynchronous FIFO characterization and comparison
US20160055271A1 (en) Data structure of design data of semiconductor integrated circuit and apparatus and method of designing semiconductor integrated circuit
JP2019133591A (en) FPGA design support method and program
WO2018057213A1 (en) Integrated circuits having expandable processor memory
US10740529B1 (en) Implementation of circuitry for radio frequency applications within integrated circuits
JP2001257566A (en) Latch circuit with enable function