JP2012014321A - Integrated circuit - Google Patents
Integrated circuit Download PDFInfo
- Publication number
- JP2012014321A JP2012014321A JP2010148671A JP2010148671A JP2012014321A JP 2012014321 A JP2012014321 A JP 2012014321A JP 2010148671 A JP2010148671 A JP 2010148671A JP 2010148671 A JP2010148671 A JP 2010148671A JP 2012014321 A JP2012014321 A JP 2012014321A
- Authority
- JP
- Japan
- Prior art keywords
- data
- speed
- output
- input
- processing block
- 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
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
Description
本発明は、通信フレーム処理などを行うシステムに使用される集積回路に係り、特に外部からユーザによってプログラミング可能な論理回路であるフィールド・プログラマブル・ゲートアレイ等の集積回路に関するものである。 The present invention relates to an integrated circuit used in a system that performs communication frame processing and the like, and more particularly to an integrated circuit such as a field programmable gate array that is a logic circuit that can be programmed by a user from the outside.
フィールド・プログラマブル・ゲートアレイ(Field Programmable Gate Array、以下、FPGAと呼ぶ)のような再構成可能なハードウェアは、設計完了後短期間でシステム構築が可能なこと、設計変更になっても早期にハードウェアの変更が可能なことから様々な分野のシステムへの応用がされている。また、適用されるシステム規模も年々増大してきて、FPGA自体の大規模化も進められているが、複数のFPGAを組み合わせてシステムを実現することも少なくない。 Reconfigurable hardware such as Field Programmable Gate Array (hereinafter referred to as “FPGA”) can be built in a short period of time after the design is completed. Since the hardware can be changed, it is applied to systems in various fields. In addition, the system scale to be applied has been increasing year by year, and the FPGA itself has been increased in scale, but there are many cases where a system is realized by combining a plurality of FPGAs.
通信の分野においては、仕様を短期間にハードウェア化して確認できることからFPGAの主要な適用分野となっていたが、近年の通信速度の飛躍的向上およびセキュリティ強化等の処理の高度化により、複数のFPGAを用いてシステムを構築する例が多くなっている。 In the field of communications, the specification has been a major application field of FPGA because it can be confirmed by hardware in a short period of time. However, due to the dramatic improvement in communication speed and advanced processing such as security enhancement in recent years, multiple There are many examples of constructing a system using the above FPGA.
このようなことから、これまでにも複数のFPGAにより通信システムを実現する技術が開発されてきた(特許文献1、特許文献2、特許文献3、特許文献4参照)。図12は複数のFPGAによる従来の通信システムの構成例を示すブロック図である。この通信システムでは、各FPGA1000をバス1001,1002で相互に接続し、これらのFPGA1000をコントローラ1003で集中制御する方式を取っている。図12におけるCKはクロック、IN1,IN2は入力データ、OUT1,OUT2は出力データである。
For this reason, techniques for realizing a communication system using a plurality of FPGAs have been developed so far (see Patent Document 1,
図13は、複数のFPGAを同時平行で開発した場合の従来の通信システムの設計・検証期間を示す図である。2000は第1のFPGAの設計・検証期間、2001は第2のFPGAの設計・検証期間、2002は第3のFPGAの設計・検証期間、2003はコントローラの設計・検証期間、2004はFPGA間の接続検証期間である。このように、図12に示した通信システムの設計・検証においては、一番開発に時間のかかった第3のFPGAの設計・検証期間に、コントローラの設計・検証期間とFPGA間の接続検証期間とが加算される。
通信システムの開発期間を短縮する技術としては、FPGAとASIC(Application Specific Integrated Circuit)のネットリストを作成する方法が提案されている(特許文献5参照)。
FIG. 13 is a diagram showing a design / verification period of a conventional communication system when a plurality of FPGAs are developed in parallel. 2000 is the design and verification period of the first FPGA, 2001 is the design and verification period of the second FPGA, 2002 is the design and verification period of the third FPGA, 2003 is the design and verification period of the controller, and 2004 is between the FPGAs It is a connection verification period. As described above, in the design / verification of the communication system shown in FIG. 12, the design / verification period of the controller and the connection verification period between the FPGAs are in the third FPGA design / verification period, which took the most time for development. And are added.
As a technique for shortening the development period of a communication system, a method of creating a netlist of FPGA and ASIC (Application Specific Integrated Circuit) has been proposed (see Patent Document 5).
従来技術のようにバスを介して複数のFPGAを組み合わせることにより構成されるシステムでは、1つのFPGA内に閉じた処理の場合は効率的に処理できるが、通信フレーム処理のようにあるFPGAのブロックの出力が次のFPGAのブロックの入力になるようなパイプライン的な処理の場合はバスの制御が複雑になり、バス制御が行い難くなるという第1の課題があった。また、バス用のクロックを統一する必要があり、複数のFPGAの同期を取って動作させなければいけないという第2の課題があった。 In a system configured by combining a plurality of FPGAs via a bus as in the prior art, processing can be efficiently performed in the case of processing closed in one FPGA, but a block of an FPGA like communication frame processing In the case of pipeline processing in which the output of the signal becomes the input of the next FPGA block, there is a first problem that bus control becomes complicated and bus control becomes difficult. Further, there is a second problem that it is necessary to unify bus clocks, and it is necessary to operate a plurality of FPGAs in synchronization.
これら2つの課題を解決してシステム化を行うには、開発の複雑さに加えて、各FPGAに入れるべきブロックの設計が完成してからシステム化の設計をせざるを得ず、トータルの開発期間がかかるという第3の課題があった。
なお、以上のような課題はFPGAに限らず、製造後にユーザによってプログラミング可能な集積回路を用いるシステムであれば、同様に発生する。
In order to solve these two problems and implement systemization, in addition to the complexity of development, the design of the systemization must be done after the design of the block to be put in each FPGA is completed, so total development There was a third problem that it took a long time.
Note that the above problems are not limited to FPGAs, but occur similarly in a system using an integrated circuit that can be programmed by a user after manufacturing.
本発明は、上記課題を解決するためになされたもので、ユーザによってプログラミング可能な集積回路を複数用いるシステムの設計・検証期間を短縮することを目的とする。 The present invention has been made to solve the above-described problem, and an object thereof is to shorten the design / verification period of a system using a plurality of integrated circuits that can be programmed by a user.
本発明の集積回路は、外部からプログラミング可能な論理回路であって、入力データを処理して出力データを外部に出力する処理ブロックと、外部からの入力データを集積回路の内部クロックでリタイミングして前記処理ブロックに入力するFIFOレジスタとを備えることを特徴とするものである。
また、本発明の集積回路の1構成例は、さらに、前記処理ブロックの出力データと前記FIFOレジスタの出力データのうちどちらか一方を第1のセレクト信号に応じて選択して外部に出力する第1のセレクタと、前記処理ブロックの出力データと前記FIFOレジスタの出力データのうちどちらか一方を第2のセレクト信号に応じて選択して入力データとして前記処理ブロックに入力する第2のセレクタとを備えることを特徴とするものである。
The integrated circuit of the present invention is a logic circuit that can be programmed from the outside. The processing block processes the input data and outputs the output data to the outside. The external input data is retimed by the internal clock of the integrated circuit. And a FIFO register for inputting to the processing block.
Further, according to one configuration example of the integrated circuit of the present invention, either one of the output data of the processing block and the output data of the FIFO register is selected according to a first select signal and output to the outside. And a second selector that selects one of the output data of the processing block and the output data of the FIFO register in accordance with a second select signal and inputs the selected data to the processing block as input data. It is characterized by comprising.
また、本発明の集積回路の1構成例において、前記処理ブロックは、高速用の処理ブロックと、低速用の処理ブロックとからなり、前記FIFOレジスタは、高速用の入力データを前記内部クロックでリタイミングする高速用のFIFOレジスタと、低速用の入力データを前記内部クロックでリタイミングする低速用のFIFOレジスタとからなり、さらに、前記高速用のFIFOレジスタまたは低速用のFIFOレジスタの出力データが高速用データか低速用データかを判別して、判別したデータを入力データとして前記高速用の処理ブロックと前記低速用の処理ブロックとに振り分けて入力する振り分け処理手段と、前記高速用の処理ブロックの出力データと前記低速用の処理ブロックの出力データとを高速用または低速用のどちらか一方の外部出力端子に出力する合流処理手段とを備えることを特徴とするものである。
また、本発明の集積回路の1構成例において、前記振り分け処理手段は、前記高速用のFIFOレジスタまたは低速用のFIFOレジスタの出力データに含まれる識別子に基づいて、この出力データが高速用データか低速用データかを判別し、高速用データであれば前記高速用の処理ブロックに入力し、低速用データであれば前記低速用の処理ブロックに入力することを特徴とするものである。
Further, in one configuration example of the integrated circuit of the present invention, the processing block includes a high-speed processing block and a low-speed processing block, and the FIFO register uses the internal clock to restore high-speed input data. It consists of a high-speed FIFO register for timing and a low-speed FIFO register for retiming low-speed input data with the internal clock, and the output data of the high-speed FIFO register or low-speed FIFO register is high-speed A processing unit that determines whether the data is for low speed or low speed, and distributes the determined data as input data to the processing block for high speed and the processing block for low speed, and the processing block for high speed Output data and output data of the processing block for low speed are either for high speed or low speed. It is characterized in further comprising a merging processing means for outputting to an external output terminal.
Further, in one configuration example of the integrated circuit of the present invention, the distribution processing means determines whether the output data is high-speed data based on an identifier included in the output data of the high-speed FIFO register or the low-speed FIFO register. It is determined whether the data is for low speed, and if it is high speed data, it is input to the high speed processing block, and if it is low speed data, it is input to the low speed processing block.
本発明によれば、外部からの入力データを集積回路の内部クロックでリタイミングして処理ブロックに入力するFIFOレジスタを設けることにより、集積回路を複数搭載するシステムにおいて、複数の集積回路を接続するバス、バスを制御するコントローラおよびシステム共通のクロックが不要となる。本発明では、接続される集積回路間のみでタイミング調整を図れるので、システム設計の簡易化を実現することができる。また、本発明では、システム全体でのタイミング調整が不要になるので、全ての設計ブロックの設計完了前に集積回路間の接続検証や完成した設計ブロックの検証を行うことができ、システムの設計・検証期間を大幅に短縮することができる。 According to the present invention, by providing a FIFO register for retiming input data from the outside with an internal clock of the integrated circuit and inputting it to the processing block, a plurality of integrated circuits are connected in a system in which a plurality of integrated circuits are mounted. A bus, a controller for controlling the bus, and a clock common to the system are not required. In the present invention, timing adjustment can be achieved only between connected integrated circuits, so that system design can be simplified. Further, in the present invention, since timing adjustment in the entire system is not required, connection verification between integrated circuits and verification of completed design blocks can be performed before the design of all design blocks is completed. The verification period can be greatly shortened.
また、本発明では、処理ブロックの出力データとFIFOレジスタの出力データのうちどちらか一方を第1のセレクト信号に応じて選択して外部に出力する第1のセレクタと、処理ブロックの出力データとFIFOレジスタの出力データのうちどちらか一方を第2のセレクト信号に応じて選択して入力データとして処理ブロックに入力する第2のセレクタとを設けることにより、集積回路を複数搭載したシステムの設計時において、システム外へのインターフェイスの設計が一部しか完成していない場合においても、第1、第2のセレクタを切り替えて、データを入力された方向に戻す折り返しを行うことにより、設計が完成している部分の検証を進めることができる。その結果、本発明では、従来のように処理ブロックの設計・検証を完成させてから上位のブロック間の接続検証を行うのではなく、処理ブロックの設計・検証と同時期に集積回路間の接続検証を行うことができ、システムの設計・検証期間を大幅に短縮することができる。 Further, according to the present invention, a first selector that selects one of the output data of the processing block and the output data of the FIFO register according to the first select signal and outputs the selected data to the outside, the output data of the processing block, At the time of designing a system equipped with a plurality of integrated circuits by providing a second selector that selects one of the output data of the FIFO register in accordance with the second select signal and inputs it to the processing block as input data However, even if only a part of the design of the interface to the outside of the system is completed, the design is completed by switching the first and second selectors and returning the data to the input direction. You can proceed with verification of the part. As a result, in the present invention, the connection between the integrated circuits is not performed at the same time as the design / verification of the processing block, instead of performing the verification of the connection between the upper blocks after completing the design / verification of the processing block as in the prior art. Verification can be performed, and the system design and verification period can be greatly shortened.
また、本発明では、高速用のFIFOレジスタまたは低速用のFIFOレジスタの出力データが高速用データか低速用データかを判別して、判別したデータを入力データとして高速用の処理ブロックと低速用の処理ブロックとに振り分けて入力する振り分け処理手段と、高速用の処理ブロックの出力データと低速用の処理ブロックの出力データとを高速用または低速用のどちらか一方の外部出力端子に出力する合流処理手段とを設けることにより、集積回路を複数搭載したシステムの設計時において、例えば低速側のインターフェイスの設計が一部しか完成していない場合においても、高速側のインターフェイスから入力した低速用データを入口側の集積回路の内部で低速用の処理ブロックに振り分け、出口側の集積回路の内部で高速側のインターフェイスに戻すことができるので、設計が完成している部分の検証を進めることができる。その結果、本発明では、従来のように処理ブロックの設計・検証を完成させてから上位のブロック間の接続検証を行うのではなく、処理ブロックの設計・検証と同時期に集積回路間の接続検証を行うことができ、システムの設計・検証期間を大幅に短縮することができる。 In the present invention, it is determined whether the output data of the high-speed FIFO register or the low-speed FIFO register is high-speed data or low-speed data, and the high-speed processing block and low-speed data are input using the determined data as input data. Distribution processing means that distributes and inputs to processing blocks, and merge processing that outputs the output data of the high-speed processing block and the output data of the low-speed processing block to either the high-speed or low-speed external output terminal When designing a system equipped with a plurality of integrated circuits, for example, even when only a part of the low-speed interface design is completed, the low-speed data input from the high-speed interface is entered. The processing circuit for low speed is allocated inside the integrated circuit on the side, and the high speed side in the integrated circuit on the exit side. It is possible to return to the interface, it is possible to proceed with the verification of the part design is complete. As a result, in the present invention, the connection between the integrated circuits is not performed at the same time as the design / verification of the processing block, instead of performing the verification of the connection between the upper blocks after completing the design / verification of the processing block as in the prior art. Verification can be performed, and the system design and verification period can be greatly shortened.
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の第1の実施の形態に係る集積回路であるFPGAの内部回路構成例を示すブロック図である。
FPGA1は、外部からユーザによってプログラミング可能な論理回路であって、入力データを処理して出力データを外部に出力する処理ブロック2と、外部からの入力データI1a,I1bをFPGA1の内部クロックCKでリタイミングするFIFO(First-In First-Out)レジスタ3−1,3−2と、処理ブロック2の出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を選択して外部に出力するセレクタ4−1と、処理ブロック2の出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を選択して入力データとして処理ブロック2に入力するセレクタ4−2とを有する。
[First Embodiment]
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an internal circuit configuration example of an FPGA which is an integrated circuit according to the first embodiment of the present invention.
The FPGA 1 is a logic circuit that can be programmed by the user from the outside. The FPGA 1 processes the input data and outputs the output data to the outside, and the external input data I 1 a and I 1 b are rewritten by the internal clock CK of the FPGA 1. First-in first-out (FIFO) registers 3-1, 3-2, selectors for selecting one of the output data of the
図1において、O1a,O1bは出力データ、ICK1a,ICK1bは入力クロック、OCK1a,OCK1bは出力クロック、SEL1,SEL2はセレクタ4−1,4−2を制御するためのセレクト信号である。 In FIG. 1, O1a and O1b are output data, ICK1a and ICK1b are input clocks, OCK1a and OCK1b are output clocks, and SEL1 and SEL2 are select signals for controlling the selectors 4-1, 4-2.
一般に、FPGA外部のクロックとFPGAの内部クロックCKとは位相差がある。そこで、本実施の形態のFIFOレジスタ3−1は、図2に示すように内部クロックCKの所定のタイミング(例えば内部クロックCKの立ち上がり)で入力データI1aをリタイミングして、内部データD1を出力する。同様に、FIFOレジスタ3−2も、内部クロックCKの所定のタイミングで入力データI1bをリタイミングして、内部データを出力する。 In general, there is a phase difference between the clock external to the FPGA and the internal clock CK of the FPGA. Therefore, the FIFO register 3-1 of the present embodiment retimes the input data I1a at a predetermined timing of the internal clock CK (for example, the rising edge of the internal clock CK) and outputs the internal data D1 as shown in FIG. To do. Similarly, the FIFO register 3-2 also retimes the input data I1b at a predetermined timing of the internal clock CK and outputs the internal data.
こうして、本実施の形態では、FIFOレジスタ3−1,3−2によって入力データI1a,I1bをリタイミングすることで、外部のクロックICK1a,ICK1bと内部クロックCKとの位相差によるデータの取りこぼしを防ぐことができ、FPGA1内の処理ブロック2は単一のクロックCKに従ってデータを処理することができる。
In this manner, in this embodiment, the input data I1a and I1b are retimed by the FIFO registers 3-1 and 3-2, thereby preventing data loss due to the phase difference between the external clocks ICK1a and ICK1b and the internal clock CK. The
本実施の形態によれば、複数のFPGAを組み合わせる際に、出力側のFPGAと入力側のFPGAの2つのFPGAの間の位相調整を行えば良いので、3つ以上のFPGAに同位相のクロックを供給する場合に比べて容易にFPGA間の接続を実現することができる。本実施の形態では、FPGAを接続するバスおよびバスを制御するコントローラも不要になる。 According to the present embodiment, when a plurality of FPGAs are combined, the phase adjustment between the two FPGAs of the output side FPGA and the input side FPGA may be performed. It is possible to easily realize connection between the FPGAs as compared with the case of supplying. In this embodiment, a bus for connecting the FPGA and a controller for controlling the bus are also unnecessary.
さらに、本実施の形態では、セレクタ4−1,4−2をFPGA1内に設け、セレクタ4−1,4−2の選択動作を外部から入力されるセレクト信号SEL1,SEL2によって切り替えることで、データを入力された方向に戻す折り返し機能を実現することができる。 Further, in the present embodiment, selectors 4-1 and 4-2 are provided in the FPGA 1, and the selection operation of the selectors 4-1 and 4-2 is switched by select signals SEL1 and SEL2 input from the outside. Can be realized.
セレクタ4−1は、処理ブロック2の出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を、外部から入力されるセレクト信号SEL1に従って選択して、出力データO1aとして出力する。こうして、セレクタ4−1は、処理ブロック2から出力されたデータを出力データO1aとして後段のFPGA(不図示)に送り出すこともできるし、後段のFPGAから入力されFIFOレジスタ3−2によってリタイミングされた入力データI1bを出力データO1aとして後段のFPGAに折り返すこともできる。
The selector 4-1 selects one of the output data of the
セレクタ4−2は、処理ブロック2の出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を、外部から入力されるセレクト信号SEL2に従って選択して処理ブロック2に出力する。こうして、セレクタ4−2は、後段のFPGAから入力されFIFOレジスタ3−2によってリタイミングされた入力データI1bを処理ブロック2に出力することもできるし、処理ブロック2から出力されたデータを処理ブロック2の入力に折り返すこともできる。
The selector 4-2 selects one of the output data of the
なお、本実施の形態において、セレクタ4−1,4−2は必須の構成要件ではない。また、図1に示した例は、処理ブロック2の後段(図1の右側)に設けたセレクタ4−1,4−2でデータを双方向に折り返すことができるようにした例であるが、処理ブロック2の前段(図1の左側)にセレクタを設けることも可能である。 In the present embodiment, the selectors 4-1 and 4-2 are not essential components. Further, the example shown in FIG. 1 is an example in which the data can be folded back bidirectionally by the selectors 4-1 and 4-2 provided in the subsequent stage of the processing block 2 (right side in FIG. 1). It is also possible to provide a selector in the previous stage of processing block 2 (left side in FIG. 1).
処理ブロック2は、FIFOレジスタ3−1の出力データおよびセレクタ4−2の出力データを、ユーザによってプログラミングされた論理で処理する。処理ブロック2の右方向への出力データは、セレクタ4−1,4−2に出力される。処理ブロック2の左方向への出力データは、出力データO1bとして外部に出力される。
FPGA1の内部クロックCKは、出力クロックOCK1a,OCK1bとして外部に出力される。
The
The internal clock CK of the FPGA 1 is output to the outside as output clocks OCK1a and OCK1b.
図3は処理ブロック2によって構成される論理回路が入出力端子直結回路(以下、スルー回路と呼ぶ)になるようにプログラミングした場合のFPGA1の内部回路構成を示すブロック図である。この場合、FIFOレジスタ3−1から入力されたデータは、そのままセレクタ4−1,4−2に出力される。また、セレクタ4−2から入力されたデータは、そのまま出力データO1bとして外部に出力される。
FIG. 3 is a block diagram showing an internal circuit configuration of the FPGA 1 when the logic circuit constituted by the
このように、設計の初期段階で処理ブロック2の設計完了前であっても、処理ブロック2内部の入出力端子を直結することで通信路を形成することができる。したがって、複数のFPGA間の接続検証が設計の初期段階から可能になる。
In this way, even before the design of the
図4は本実施の形態のFPGA1を組み合わせた通信システムの例を示すブロック図である。第1のFPGA1−1、第2のFPGA1−2および第3のFPGA1−3の内部構成は図1、図3で説明したとおりである。
第1のFPGA1−1は、システム外からの入力データI1aと入力クロックICK1aとを入力とし、入力データI1aを処理して、出力データO1aと出力クロックOCK1aとを出力する。出力データO1aと出力クロックOCK1aとは、それぞれ入力データI2a、入力クロックICK2aとして第2のFPGA1−2に入力される。
FIG. 4 is a block diagram showing an example of a communication system in which the FPGA 1 of the present embodiment is combined. The internal configurations of the first FPGA 1-1, the second FPGA 1-2, and the third FPGA 1-3 are as described with reference to FIGS.
The first FPGA 1-1 receives input data I1a and input clock ICK1a from outside the system, processes the input data I1a, and outputs output data O1a and output clock OCK1a. The output data O1a and the output clock OCK1a are input to the second FPGA 1-2 as input data I2a and input clock ICK2a, respectively.
第2のFPGA1−2は、入力データI2aを処理して、出力データO2aと出力クロックOCK2aとを出力する。出力データO2aと出力クロックOCK2aとは、それぞれ入力データI3a、入力クロックICK3aとして第3のFPGA1−3に入力される。第3のFPGA1−3は、入力データI3aを処理して、出力データO3aと出力クロックOCK3aとをシステム外に出力する。 The second FPGA 1-2 processes the input data I2a and outputs the output data O2a and the output clock OCK2a. The output data O2a and the output clock OCK2a are input to the third FPGA 1-3 as the input data I3a and the input clock ICK3a, respectively. The third FPGA 1-3 processes the input data I3a and outputs the output data O3a and the output clock OCK3a to the outside of the system.
また、第3のFPGA1−3は、システム外からの入力データI3bと入力クロックICK3bとを入力とし、入力データI3bを処理して、出力データO3bと出力クロックOCK3bとを出力する。出力データO3bと出力クロックOCK3bとは、それぞれ入力データI2b、入力クロックICK2bとして第2のFPGA1−2に入力される。 The third FPGA 1-3 receives the input data I3b and the input clock ICK3b from outside the system, processes the input data I3b, and outputs the output data O3b and the output clock OCK3b. The output data O3b and the output clock OCK3b are input to the second FPGA 1-2 as input data I2b and input clock ICK2b, respectively.
第2のFPGA1−2は、入力データI2bを処理して、出力データO2bと出力クロックOCK2bとを出力する。出力データO2bと出力クロックOCK2bとは、それぞれ入力データI1b、入力クロックICK1bとして第1のFPGA1−1に入力される。第1のFPGA1−1は、入力データI1bを処理して、出力データO1bと出力クロックOCK1bとをシステム外に出力する。
以上のように複数のFPGA1−1〜1−3においてデータの処理を繰り返し、最終のFPGAの出力データをシステム外に出力する。
The second FPGA 1-2 processes the input data I2b and outputs the output data O2b and the output clock OCK2b. The output data O2b and the output clock OCK2b are input to the first FPGA 1-1 as the input data I1b and the input clock ICK1b, respectively. The first FPGA 1-1 processes the input data I1b and outputs the output data O1b and the output clock OCK1b to the outside of the system.
As described above, the data processing is repeated in the plurality of FPGAs 1-1 to 1-3, and the output data of the final FPGA is output outside the system.
設計の初期段階においてはシステムのインターフェイス部(以下、IF部と呼ぶ)が完成していない場合がある。そのような場合でも、本実施の形態のFPGA1を用いればFPGA内部のセレクタによってデータ信号を折り返すことで、設計が完成している部分の検証を進めることができる。 In the initial stage of design, the system interface unit (hereinafter referred to as IF unit) may not be completed. Even in such a case, if the FPGA 1 of the present embodiment is used, the data signal is turned back by the selector inside the FPGA, so that the verification of the part where the design is completed can be advanced.
図5の例では、第3のFPGA1−3の右側の入出力IF部の設計が完成していない。このため、完成していない入出力IF部を点線で図示している。このような場合でも、第1のFPGA1−1内部のセレクタを用いて、第1のFPGA1−1の処理ブロックが入力データI1aを処理した結果を出力データO1bとして折り返すデータ導通を実施することにより、設計が完成している第1のFPGA1−1とその左側の入出力IF部の検証を進めることができる。 In the example of FIG. 5, the design of the input / output IF unit on the right side of the third FPGA 1-3 is not completed. For this reason, the unfinished input / output IF unit is shown by a dotted line. Even in such a case, by using the selector inside the first FPGA 1-1, by performing data continuity that wraps the result of processing the input data I1a by the processing block of the first FPGA 1-1 as the output data O1b, Verification of the first FPGA 1-1 whose design has been completed and the input / output IF unit on the left side thereof can proceed.
図6の例では、第3のFPGA1−3内部のセレクタを切り替えることにより、第3のFPGA1−3の処理ブロックが入力データI3aを処理した結果を出力データO3bとして折り返している。このように、FPGA間の接続確認は、設計が完成している入出力IF部に近いFPGA1から順次、セレクタの折り返し機能を利用したデータ導通で検証することができる。 In the example of FIG. 6, by switching the selector in the third FPGA 1-3, the processing block of the third FPGA 1-3 processes the input data I3a as the output data O3b. As described above, the connection confirmation between the FPGAs can be verified by data conduction using the turn-back function of the selector sequentially from the FPGA 1 close to the input / output IF unit whose design has been completed.
また、設計が完成したブロックの検証は入出力IF部から近い順でなくても実施できる。この場合は、検証の対象でないFPGA1の処理ブロックをスルー回路とし、検証の対象となるFPGA1の処理ブロックがデータを折り返すデータ導通を実施すればよい。これにより、各FPGA間の接続を検証した後であれば、任意のFPGA1を検証することができる。セレクタの折り返し信号はFPGA1に搭載されている物理スイッチもしくは折り返し用のレジスタにより発生することが可能である。 In addition, verification of a block whose design has been completed can be performed even if it is not in the order from the input / output IF unit. In this case, the processing block of the FPGA 1 that is not subject to verification may be a through circuit, and data conduction may be performed so that the processing block of the FPGA 1 that is subject to verification returns data. Thus, any FPGA 1 can be verified after the connection between the FPGAs is verified. The folding signal of the selector can be generated by a physical switch or a folding register mounted on the FPGA 1.
図7は本実施の形態の通信システムの設計・検証期間を示す図である。100は第1のFPGA1−1の設計・検証期間、101は第2のFPGA1−2の設計・検証期間、102は第3のFPGA1−3の設計・検証期間、103はFPGA間の接続検証期間である。このように、本実施の形態では、図13と比べて明らかなように、コントローラの設計・検証期間がなくなるだけでなく、各FPGAの設計に先行してFPGA間の接続検証もスルー回路および折り返し機能を使用することで検証可能なため、システム全体の設計・検証期間を大幅に短縮することができる。
FIG. 7 is a diagram showing a design / verification period of the communication system according to the present embodiment.
図1〜図6の例では、左→右方向と右→左方向の2つのデータ伝送方向にデータパスを1つずつ持つFPGAの例で説明してきたが、例えば図8の例のように複数のデータパスを持つFPGAを用いてシステムを構成することもできる。
第2のFPGA1−5および第4のFPGA1−7の内部構成は図1、図3で説明したとおりである。第1のFPGA1−4および第3のFPGA1−6は、2つのデータ伝送方向にそれぞれ複数のデータパスを持つ。
In the example of FIGS. 1 to 6, the example of the FPGA having one data path in two data transmission directions of left → right direction and right → left direction has been described. It is also possible to configure the system using an FPGA having the following data path.
The internal configurations of the second FPGA 1-5 and the fourth FPGA 1-7 are as described with reference to FIGS. The first FPGA 1-4 and the third FPGA 1-6 each have a plurality of data paths in two data transmission directions.
第1のFPGA1−4は、システム外からの入力データI1aと入力クロックICK1aとを入力とし、入力データI1aを処理して、出力データO1a,O1cと出力クロックOCK1a,OCK1cとを出力する。出力データO1aと出力クロックOCK1aとは、それぞれ入力データI2a、入力クロックICK2aとして第2のFPGA1−5に入力され、出力データO1cと出力クロックOCK1cとは、それぞれ入力データI4a、入力クロックICK4aとして第4のFPGA1−7に入力される。 The first FPGA 1-4 receives input data I1a and input clock ICK1a from outside the system, processes the input data I1a, and outputs output data O1a and O1c and output clocks OCK1a and OCK1c. The output data O1a and the output clock OCK1a are input to the second FPGA 1-5 as the input data I2a and the input clock ICK2a, respectively. The output data O1c and the output clock OCK1c are the fourth as the input data I4a and the input clock ICK4a, respectively. To the FPGA 1-7.
第2のFPGA1−5は、入力データI2aを処理して、出力データO2aと出力クロックOCK2aとを出力する。出力データO2aと出力クロックOCK2aとは、それぞれ入力データI3a、入力クロックICK3aとして第3のFPGA1−6に入力される。第4のFPGA1−7は、入力データI4aを処理して、出力データO4aと出力クロックOCK4aとを出力する。出力データO4aと出力クロックOCK4aとは、それぞれ入力データI3c、入力クロックICK3cとして第3のFPGA1−6に入力される。第3のFPGA1−6は、入力データI3a,I3cを処理して、出力データO3aと出力クロックOCK3aとをシステム外に出力する。 The second FPGA 1-5 processes the input data I2a and outputs the output data O2a and the output clock OCK2a. The output data O2a and the output clock OCK2a are input to the third FPGA 1-6 as input data I3a and input clock ICK3a, respectively. The fourth FPGA 1-7 processes the input data I4a and outputs the output data O4a and the output clock OCK4a. The output data O4a and the output clock OCK4a are input to the third FPGA 1-6 as input data I3c and input clock ICK3c, respectively. The third FPGA 1-6 processes the input data I3a and I3c and outputs the output data O3a and the output clock OCK3a to the outside of the system.
また、第3のFPGA1−6は、システム外からの入力データI3bと入力クロックICK3bとを入力とし、入力データI3bを処理して、出力データO3b,O3cと出力クロックOCK3b,OCK3cとを出力する。出力データO3bと出力クロックOCK3bとは、それぞれ入力データI2b、入力クロックICK2bとして第2のFPGA1−5に入力され、出力データO3cと出力クロックOCK3cとは、それぞれ入力データI4b、入力クロックICK4bとして第4のFPGA1−7に入力される。 The third FPGA 1-6 receives input data I3b and input clock ICK3b from outside the system, processes the input data I3b, and outputs output data O3b and O3c and output clocks OCK3b and OCK3c. The output data O3b and the output clock OCK3b are input to the second FPGA 1-5 as the input data I2b and the input clock ICK2b, respectively. The output data O3c and the output clock OCK3c are the fourth as the input data I4b and the input clock ICK4b, respectively. To the FPGA 1-7.
第2のFPGA1−5は、入力データI2bを処理して、出力データO2bと出力クロックOCK2bとを出力する。第4のFPGA1−7は、入力データI4bを処理して、出力データO4bと出力クロックOCK4bとを出力する。出力データO2bと出力クロックOCK2bとは、それぞれ入力データI1b、入力クロックICK1bとして第1のFPGA1−4に入力され、出力データO4bと出力クロックOCK4bとは、それぞれ入力データI1c、入力クロックICK1cとして第1のFPGA1−4に入力される。第1のFPGA1−4は、入力データI1b,I1cを処理して、出力データO1bと出力クロックOCK1bとをシステム外に出力する。 The second FPGA 1-5 processes the input data I2b and outputs the output data O2b and the output clock OCK2b. The fourth FPGA 1-7 processes the input data I4b and outputs the output data O4b and the output clock OCK4b. The output data O2b and the output clock OCK2b are input to the first FPGA 1-4 as the input data I1b and the input clock ICK1b, respectively. The output data O4b and the output clock OCK4b are the first as the input data I1c and the input clock ICK1c, respectively. To the FPGA1-4. The first FPGA 1-4 processes the input data I1b and I1c and outputs the output data O1b and the output clock OCK1b to the outside of the system.
第1のFPGA1−4および第3のFPGA1−6のように複数のデータパスを持つFPGAは、上記のようにセレクタを用いるか、あるいは処理ブロックの内部に切り替え機能部を設けることで実現することができる。 An FPGA having a plurality of data paths, such as the first FPGA 1-4 and the third FPGA 1-6, can be realized by using a selector as described above or by providing a switching function unit inside the processing block. Can do.
[第2の実施の形態]
低速の通信から高速の通信への移行期においては、図9のように低速IFと高速IFとを有する通信システムが必要な場合がある。
まず、高速IF側のデータパスについて説明する。第1のFPGA1−8は、システム外からの入力データI1aと入力クロックICK1aとを入力とし、入力データI1aを処理して、出力データO1aと出力クロックOCK1aとを出力する。出力データO1aと出力クロックOCK1aとは、それぞれ入力データI2a、入力クロックICK2aとして第2のFPGA1−9に入力される。
[Second Embodiment]
In the transition period from low-speed communication to high-speed communication, a communication system having a low-speed IF and a high-speed IF as shown in FIG. 9 may be necessary.
First, the data path on the high-speed IF side will be described. The first FPGA 1-8 receives the input data I1a and the input clock ICK1a from outside the system, processes the input data I1a, and outputs the output data O1a and the output clock OCK1a. The output data O1a and the output clock OCK1a are input to the second FPGA 1-9 as input data I2a and input clock ICK2a, respectively.
第2のFPGA1−9は、入力データI2aを処理して、出力データO2aと出力クロックOCK2aとを出力する。出力データO2aと出力クロックOCK2aとは、それぞれ入力データI3a、入力クロックICK3aとして第3のFPGA1−10に入力される。第3のFPGA1−10は、入力データI3aを処理して、出力データO3aと出力クロックOCK3aとをシステム外に出力する。 The second FPGA 1-9 processes the input data I2a and outputs the output data O2a and the output clock OCK2a. The output data O2a and the output clock OCK2a are input to the third FPGA 1-10 as input data I3a and input clock ICK3a, respectively. The third FPGA 1-10 processes the input data I3a and outputs the output data O3a and the output clock OCK3a to the outside of the system.
また、第3のFPGA1−10は、システム外からの入力データI3bと入力クロックICK3bとを入力とし、入力データI3bを処理して、出力データO3bと出力クロックOCK3bとを出力する。出力データO3bと出力クロックOCK3bとは、それぞれ入力データI2b、入力クロックICK2bとして第2のFPGA1−9に入力される。 The third FPGA 1-10 receives input data I3b and input clock ICK3b from outside the system, processes the input data I3b, and outputs output data O3b and output clock OCK3b. The output data O3b and the output clock OCK3b are input to the second FPGA 1-9 as input data I2b and input clock ICK2b, respectively.
第2のFPGA1−9は、入力データI2bを処理して、出力データO2bと出力クロックOCK2bとを出力する。出力データO2bと出力クロックOCK2bとは、それぞれ入力データI1b、入力クロックICK1bとして第1のFPGA1−8に入力される。第1のFPGA1−8は、入力データI1bを処理して、出力データO1bと出力クロックOCK1bとをシステム外に出力する。以上が、高速IF側のデータの流れである。 The second FPGA 1-9 processes the input data I2b and outputs the output data O2b and the output clock OCK2b. The output data O2b and the output clock OCK2b are input to the first FPGA 1-8 as input data I1b and input clock ICK1b, respectively. The first FPGA 1-8 processes the input data I1b and outputs the output data O1b and the output clock OCK1b to the outside of the system. The above is the data flow on the high-speed IF side.
次に、低速IF側のデータパスについて説明する。第1のFPGA1−8は、システム外からの入力データI1cと入力クロックICK1cとを入力とし、入力データI1cを処理して、出力データO1cと出力クロックOCK1cとを出力する。出力データO1cと出力クロックOCK1cとは、それぞれ入力データI2c、入力クロックICK2cとして第2のFPGA1−9に入力される。 Next, the data path on the low-speed IF side will be described. The first FPGA 1-8 receives input data I1c and input clock ICK1c from outside the system, processes the input data I1c, and outputs output data O1c and output clock OCK1c. The output data O1c and the output clock OCK1c are input to the second FPGA 1-9 as input data I2c and input clock ICK2c, respectively.
第2のFPGA1−9は、入力データI2cを処理して、出力データO2cと出力クロックOCK2cとを出力する。出力データO2cと出力クロックOCK2cとは、それぞれ入力データI3c、入力クロックICK3cとして第3のFPGA1−10に入力される。第3のFPGA1−10は、入力データI3cを処理して、出力データO3cと出力クロックOCK3cとをシステム外に出力する。 The second FPGA 1-9 processes the input data I2c and outputs the output data O2c and the output clock OCK2c. The output data O2c and the output clock OCK2c are input to the third FPGA 1-10 as input data I3c and input clock ICK3c, respectively. The third FPGA 1-10 processes the input data I3c and outputs the output data O3c and the output clock OCK3c to the outside of the system.
また、第3のFPGA1−10は、システム外からの入力データI3dと入力クロックICK3dとを入力とし、入力データI3dを処理して、出力データO3dと出力クロックOCK3dとを出力する。出力データO3dと出力クロックOCK3dとは、それぞれ入力データI2d、入力クロックICK2dとして第2のFPGA1−9に入力される。 The third FPGA 1-10 receives the input data I3d and the input clock ICK3d from outside the system, processes the input data I3d, and outputs the output data O3d and the output clock OCK3d. The output data O3d and the output clock OCK3d are input to the second FPGA 1-9 as input data I2d and input clock ICK2d, respectively.
第2のFPGA1−9は、入力データI2dを処理して、出力データO2dと出力クロックOCK2dとを出力する。出力データO2dと出力クロックOCK2dとは、それぞれ入力データI1d、入力クロックICK1dとして第1のFPGA1−8に入力される。第1のFPGA1−8は、入力データI1dを処理して、出力データO1dと出力クロックOCK1dとをシステム外に出力する。以上が、低速IF側のデータの流れである。 The second FPGA 1-9 processes the input data I2d and outputs the output data O2d and the output clock OCK2d. The output data O2d and the output clock OCK2d are input to the first FPGA 1-8 as input data I1d and input clock ICK1d, respectively. The first FPGA 1-8 processes the input data I1d and outputs the output data O1d and the output clock OCK1d to the outside of the system. The above is the data flow on the low-speed IF side.
以上のようなシステムにおいても、低速または高速の入出力IF部の設計が遅れることがある。図10の例では、低速側の入出力IF部の設計が完成していない。このため、完成していない入出力IF部を点線で図示している。そこで、図10に示すように高速IF側から入力した低速用データを第1のFPGA1−8の内部で低速側に振り分け、第1のFPGA1−8、第2のFPGA1−9、第3のFPGA1−10で処理されたデータを第3のFPGA1−10の内部で高速IF側に戻すことで、複数のFPGA間の低速側の接続検証、および低速側のブロックの検証が可能になる。 Even in such a system, the design of a low-speed or high-speed input / output IF unit may be delayed. In the example of FIG. 10, the design of the low-speed input / output IF unit is not completed. For this reason, the unfinished input / output IF unit is shown by a dotted line. Therefore, as shown in FIG. 10, the low-speed data input from the high-speed IF side is distributed to the low-speed side inside the first FPGA 1-8, and the first FPGA 1-8, the second FPGA 1-9, and the third FPGA 1 By returning the data processed in −10 to the high-speed IF side in the third FPGA 1-10, it is possible to verify the connection on the low speed side between the plurality of FPGAs and the block on the low speed side.
本実施の形態の第1のFPGA1−8の内部回路構成を図11に示す。FPGA1−8は、外部からユーザによってプログラミング可能な論理回路である高速用の処理ブロック2aと、低速用の処理ブロック2bと、入力データI1a,I1b,I1c,I1dをFPGA1−8の内部クロックCKでリタイミングするFIFOレジスタ3−1,3−2,3−3,3−4と、処理ブロック2aの出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を選択して外部に出力するセレクタ4−1と、処理ブロック2aの出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を選択して入力データとして処理ブロック2aに入力するセレクタ4−2と、処理ブロック2bの出力データとFIFOレジスタ3−4の出力データのうちどちらか一方を選択して外部に出力するセレクタ4−3と、処理ブロック2bの出力データとFIFOレジスタ3−4の出力データのうちどちらか一方を選択して入力データとして処理ブロック2bに入力するセレクタ4−4と、FIFOレジスタ3−1の出力データが高速用データか低速用データかを判別して、判別したデータを入力データとして処理ブロック2a,2bに振り分けて入力する振り分け処理部5と、処理ブロック2aの出力データと処理ブロック2bの出力データとを高速用の外部出力端子に出力する合流処理部6とを有する。
FIG. 11 shows an internal circuit configuration of the first FPGA 1-8 of the present embodiment. The FPGA 1-8 uses a high-
第1の実施の形態と同様に、FIFOレジスタ3−1,3−2,3−3,3−4は、内部クロックCKの所定のタイミング(例えば内部クロックCKの立ち上がり)で入力データI1a,I1b,I1c,I1dをリタイミングして、内部データを出力する。 As in the first embodiment, the FIFO registers 3-1, 3-2, 3-3, 3-4 receive the input data I1a, I1b at a predetermined timing of the internal clock CK (for example, the rising edge of the internal clock CK). , I1c, I1d are retimed to output internal data.
セレクタ4−1は、処理ブロック2aの出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を、外部から入力されるセレクト信号SEL1に従って選択して、出力データO1aとして出力する。セレクタ4−2は、処理ブロック2aの出力データとFIFOレジスタ3−2の出力データのうちどちらか一方を、外部から入力されるセレクト信号SEL2に従って選択して処理ブロック2aに出力する。
The selector 4-1 selects one of the output data of the
セレクタ4−3は、処理ブロック2bの出力データとFIFOレジスタ3−4の出力データのうちどちらか一方を、外部から入力されるセレクト信号SEL3に従って選択して、出力データO1cとして出力する。セレクタ4−4は、処理ブロック2bの出力データとFIFOレジスタ3−4の出力データのうちどちらか一方を、外部から入力されるセレクト信号SEL4に従って選択して処理ブロック2bに出力する。
The selector 4-3 selects one of the output data of the
振り分け処理部5は、FIFOレジスタ3−1の出力データに含まれる例えば宛先アドレス等の識別子に基づいて、FIFOレジスタ3−1の出力データが高速用データか低速用データかを判別し、高速用データであれば処理ブロック2aに出力し、低速用データであれば処理ブロック2bに出力する。
The distribution processing unit 5 determines whether the output data of the FIFO register 3-1 is high-speed data or low-speed data based on an identifier such as a destination address included in the output data of the FIFO register 3-1. If it is data, it is output to the
なお、振り分け処理部5は、外部からユーザによってプログラミング可能な回路である。以上のような振り分け処理を実行するか、あるいは振り分け処理を実行せずに、FIFOレジスタ3−1の出力データをそのまま処理ブロック2aに出力するかは、ユーザによって任意に設定することができる。
The distribution processing unit 5 is a circuit that can be programmed by a user from the outside. The user can arbitrarily set whether to execute the distribution process as described above or to directly output the output data of the FIFO register 3-1 to the
合流処理部6は、高速側の処理ブロック2aの出力データを高速側の出力データO1bとして出力すると共に、低速側の処理ブロック2bの出力データも出力データO1bとして出力する。こうして、合流処理部6は、処理ブロック2bで処理されたデータを高速IF側に出力することができる。
The merge processing unit 6 outputs the output data of the high-
なお、合流処理部6は、外部からユーザによってプログラミング可能な回路である。以上のような合流処理を実行するかしないかは、ユーザによって任意に設定することができる。 The merge processing unit 6 is a circuit that can be programmed by the user from the outside. Whether or not to perform the merging process as described above can be arbitrarily set by the user.
処理ブロック2aは、振り分け処理部5の出力データとセレクタ4−2の出力データとを、ユーザによってプログラミングされた論理で処理する。処理ブロック2aの右方向への出力データは、セレクタ4−1,4−2に出力される。処理ブロック2aの左方向への出力データは、合流処理部6を介して出力データO1bとして外部に出力される。
The
処理ブロック2bは、FIFOレジスタ3−3の出力データまたは振り分け処理部5の出力データと、セレクタ4−4の出力データとを、ユーザによってプログラミングされた論理で処理する。処理ブロック2bの右方向への出力データは、セレクタ4−3,4−4に出力される。処理ブロック2bの左方向への出力データは、出力データO1dとして外部に出力されるか、あるいは合流処理部6を介して出力データO1bとして外部に出力される。
FPGA1−8の内部クロックCKは、出力クロックOCK1a,OCK1b,OCK1c,OCK1dとして外部に出力される。
The
The internal clock CK of the FPGA 1-8 is output to the outside as output clocks OCK1a, OCK1b, OCK1c, OCK1d.
以上のような第1のFPGA1−8の構成により、図10に示したデータの振り分けと合流を実現することができる。
第2のFPGA1−9、第3のFPGA1−10も、第1のFPGA1−8と同様の構成を有する。
With the configuration of the first FPGA 1-8 as described above, the data distribution and merging shown in FIG. 10 can be realized.
The second FPGA 1-9 and the third FPGA 1-10 have the same configuration as that of the first FPGA 1-8.
なお、本実施の形態において、セレクタ4−1〜4−4は必須の構成要件ではない。また、図11に示した例は、処理ブロック2a,2bの後段(図11の右側)に設けたセレクタ4−1〜4−4でデータを双方向に折り返すことができるようにした例であるが、処理ブロック2a,2bの前段(図11の左側)にセレクタを設けることも可能である。
In the present embodiment, the selectors 4-1 to 4-4 are not essential constituent requirements. Further, the example shown in FIG. 11 is an example in which data can be folded bidirectionally by selectors 4-1 to 4-4 provided at the subsequent stage of
また、本実施の形態では、高速側の入出力IF部に振り分け処理部5と合流処理部6を設けているが、これらを低速側の入出力IF部に設けてもよい。すなわち、振り分け処理部は、FIFOレジスタ3−3の出力データが高速用データか低速用データかを判別して、判別したデータを入力データとして処理ブロック2a,2bに振り分けて入力するようにしてもよく、合流処理部は、処理ブロック2aの出力データと処理ブロック2bの出力データとを低速用の外部出力端子に出力するようにしてもよい。
In this embodiment, the distribution processing unit 5 and the merging processing unit 6 are provided in the high-speed input / output IF unit, but these may be provided in the low-speed input / output IF unit. That is, the distribution processing unit determines whether the output data of the FIFO register 3-3 is high-speed data or low-speed data, and distributes the determined data to the processing blocks 2a and 2b as input data. Alternatively, the merging processing unit may output the output data of the
本発明は、フィールド・プログラマブル・ゲートアレイ等の集積回路に適用することができる。 The present invention can be applied to an integrated circuit such as a field programmable gate array.
1,1−1〜1−10…FPGA、2,2a,2b…処理ブロック、3−1〜3−4…FIFOレジスタ、4−1〜4−4…セレクタ、5…振り分け処理部、6…合流処理部。 DESCRIPTION OF SYMBOLS 1,1-1 to 1-10 ... FPGA, 2, 2a, 2b ... Processing block, 3-1 to 3-4 ... FIFO register, 4-1 to 4-4 ... Selector, 5 ... Distribution processing part, 6 ... Merge processing section.
Claims (4)
外部からの入力データを集積回路の内部クロックでリタイミングして前記処理ブロックに入力するFIFOレジスタとを備えることを特徴とする集積回路。 A logic circuit that can be programmed from outside, a processing block that processes input data and outputs output data to the outside,
An integrated circuit comprising: a FIFO register for retiming input data from the outside with an internal clock of the integrated circuit and inputting the data to the processing block.
さらに、前記処理ブロックの出力データと前記FIFOレジスタの出力データのうちどちらか一方を第1のセレクト信号に応じて選択して外部に出力する第1のセレクタと、
前記処理ブロックの出力データと前記FIFOレジスタの出力データのうちどちらか一方を第2のセレクト信号に応じて選択して入力データとして前記処理ブロックに入力する第2のセレクタとを備えることを特徴とする集積回路。 The integrated circuit of claim 1, wherein
A first selector for selecting one of the output data of the processing block and the output data of the FIFO register according to a first select signal and outputting the selected data to the outside;
And a second selector that selects one of the output data of the processing block and the output data of the FIFO register according to a second select signal and inputs the selected data to the processing block as input data. Integrated circuit.
前記処理ブロックは、高速用の処理ブロックと、低速用の処理ブロックとからなり、
前記FIFOレジスタは、高速用の入力データを前記内部クロックでリタイミングする高速用のFIFOレジスタと、低速用の入力データを前記内部クロックでリタイミングする低速用のFIFOレジスタとからなり、
さらに、前記高速用のFIFOレジスタまたは低速用のFIFOレジスタの出力データが高速用データか低速用データかを判別して、判別したデータを入力データとして前記高速用の処理ブロックと前記低速用の処理ブロックとに振り分けて入力する振り分け処理手段と、
前記高速用の処理ブロックの出力データと前記低速用の処理ブロックの出力データとを高速用または低速用のどちらか一方の外部出力端子に出力する合流処理手段とを備えることを特徴とする集積回路。 The integrated circuit according to claim 1 or 2,
The processing block consists of a processing block for high speed and a processing block for low speed,
The FIFO register includes a high-speed FIFO register for retiming high-speed input data with the internal clock and a low-speed FIFO register for retiming low-speed input data with the internal clock,
Further, it is determined whether the output data of the high-speed FIFO register or the low-speed FIFO register is high-speed data or low-speed data, and using the determined data as input data, the high-speed processing block and the low-speed processing Sorting processing means for sorting and inputting into blocks,
An integrated circuit comprising: merging processing means for outputting the output data of the processing block for high speed and the output data of the processing block for low speed to either the high speed or low speed external output terminal .
前記振り分け処理手段は、前記高速用のFIFOレジスタまたは低速用のFIFOレジスタの出力データに含まれる識別子に基づいて、この出力データが高速用データか低速用データかを判別し、高速用データであれば前記高速用の処理ブロックに入力し、低速用データであれば前記低速用の処理ブロックに入力することを特徴とする集積回路。 The integrated circuit of claim 3, wherein
The distribution processing means determines whether the output data is high-speed data or low-speed data based on an identifier included in the output data of the high-speed FIFO register or the low-speed FIFO register. Input to the processing block for high speed, and input to the processing block for low speed if the data is low speed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010148671A JP5451542B2 (en) | 2010-06-30 | 2010-06-30 | Integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010148671A JP5451542B2 (en) | 2010-06-30 | 2010-06-30 | Integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012014321A true JP2012014321A (en) | 2012-01-19 |
JP5451542B2 JP5451542B2 (en) | 2014-03-26 |
Family
ID=45600698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010148671A Expired - Fee Related JP5451542B2 (en) | 2010-06-30 | 2010-06-30 | Integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5451542B2 (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04123557A (en) * | 1990-09-14 | 1992-04-23 | Fujitsu Ltd | Loopback circuit |
JPH06187434A (en) * | 1992-06-04 | 1994-07-08 | Internatl Business Mach Corp <Ibm> | Process-pipeline architecture for image / video processing |
JPH06197006A (en) * | 1992-12-25 | 1994-07-15 | Kawasaki Steel Corp | Synchronous logic circuit |
JPH1173440A (en) * | 1997-08-28 | 1999-03-16 | Mitsubishi Electric Corp | Emulation device |
JP2003271412A (en) * | 2002-03-13 | 2003-09-26 | Mitsubishi Electric Corp | Device and method for monitoring internal signal for logic integrated circuit |
JP2004157986A (en) * | 2002-10-17 | 2004-06-03 | Renesas Technology Corp | Logical verification system and fpga module |
JP2007501586A (en) * | 2003-04-28 | 2007-01-25 | ダフカ, インコーポレイテッド | Reconfigurable fabric for SoC |
JP2007094603A (en) * | 2005-09-28 | 2007-04-12 | Kume Denki Kk | Programmable device control unit and programmable device control method |
JP2007240257A (en) * | 2006-03-07 | 2007-09-20 | Konica Minolta Business Technologies Inc | Operation verifying method for electronic apparatus, and programmable logic circuit |
-
2010
- 2010-06-30 JP JP2010148671A patent/JP5451542B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04123557A (en) * | 1990-09-14 | 1992-04-23 | Fujitsu Ltd | Loopback circuit |
JPH06187434A (en) * | 1992-06-04 | 1994-07-08 | Internatl Business Mach Corp <Ibm> | Process-pipeline architecture for image / video processing |
JPH06197006A (en) * | 1992-12-25 | 1994-07-15 | Kawasaki Steel Corp | Synchronous logic circuit |
JPH1173440A (en) * | 1997-08-28 | 1999-03-16 | Mitsubishi Electric Corp | Emulation device |
JP2003271412A (en) * | 2002-03-13 | 2003-09-26 | Mitsubishi Electric Corp | Device and method for monitoring internal signal for logic integrated circuit |
JP2004157986A (en) * | 2002-10-17 | 2004-06-03 | Renesas Technology Corp | Logical verification system and fpga module |
JP2007501586A (en) * | 2003-04-28 | 2007-01-25 | ダフカ, インコーポレイテッド | Reconfigurable fabric for SoC |
JP2007094603A (en) * | 2005-09-28 | 2007-04-12 | Kume Denki Kk | Programmable device control unit and programmable device control method |
JP2007240257A (en) * | 2006-03-07 | 2007-09-20 | Konica Minolta Business Technologies Inc | Operation verifying method for electronic apparatus, and programmable logic circuit |
Non-Patent Citations (2)
Title |
---|
CSNG200500396040; 清水 雅一,阿部 公輝 Masakazu SHIMIZU, Koki ABE: '局所同期型非同期式回路におけるローカルタイミング信号生成回路の低消費電力設計 Low Power Design for L' 電子情報通信学会技術研究報告 IEICE Technical Report 第103巻 第480号, 20031121, 259〜264頁, 社団法人電子情報通信学会 The Institute of Electro * |
JPN6013046971; 清水 雅一,阿部 公輝 Masakazu SHIMIZU, Koki ABE: '局所同期型非同期式回路におけるローカルタイミング信号生成回路の低消費電力設計 Low Power Design for L' 電子情報通信学会技術研究報告 IEICE Technical Report 第103巻 第480号, 20031121, 259〜264頁, 社団法人電子情報通信学会 The Institute of Electro * |
Also Published As
Publication number | Publication date |
---|---|
JP5451542B2 (en) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6359468B1 (en) | Programmable logic device with carry look-ahead | |
KR20180068895A (en) | System and method for testing and configuration of an fpga | |
US7715467B1 (en) | Programmable logic device integrated circuit with dynamic phase alignment capabilities | |
WO2012095972A1 (en) | Bit generation device and bit generation method | |
US8390321B2 (en) | Reconfigurable logical circuit | |
US9660650B1 (en) | Integrated circuits with improved register circuitry | |
CN105553447A (en) | Clock switching circuit | |
US9755663B1 (en) | Parallel-serial conversion circuit, information processing apparatus and timing adjustment method | |
JP2002245109A (en) | Method and system for designing semiconductor integrated circuit | |
EP2098969A1 (en) | Logic circuit designing device for asynchronous logic circuit, logic circuit designing method, and logic circuit designing program | |
US9007110B1 (en) | Register circuits and methods of storing data in a register circuit | |
US20080012605A1 (en) | Glitch-free clock switcher | |
CN104579295A (en) | Clock dynamic switching circuit and method | |
JP2002083000A (en) | Logic circuit design method and logic circuit | |
JP6602849B2 (en) | Programmable delay circuit block | |
JP5451542B2 (en) | Integrated circuit | |
TWI806340B (en) | Test circuit for pipeline stage including sequential device to be tested, test method and computing system including test circuit | |
US8296604B1 (en) | Method of and circuit for providing temporal redundancy for a hardware circuit | |
US20150268962A1 (en) | Asynchronous Circuit Design | |
TWI790088B (en) | Processors and Computing Systems | |
JP5455249B2 (en) | Semiconductor integrated circuit using majority circuit and majority method | |
US9331701B1 (en) | Receivers and methods of enabling the calibration of circuits receiving input data | |
US20100315886A1 (en) | Data transfer apparatus, and method, and semiconductor circuit | |
JP2004200311A (en) | Logic verifying device | |
US10069486B1 (en) | Multimode registers with pulse latches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20111025 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20111025 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131126 |
|
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: 20131224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5451542 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |