JP2007178231A - Logic verification system substrate - Google Patents

Logic verification system substrate Download PDF

Info

Publication number
JP2007178231A
JP2007178231A JP2005376068A JP2005376068A JP2007178231A JP 2007178231 A JP2007178231 A JP 2007178231A JP 2005376068 A JP2005376068 A JP 2005376068A JP 2005376068 A JP2005376068 A JP 2005376068A JP 2007178231 A JP2007178231 A JP 2007178231A
Authority
JP
Japan
Prior art keywords
logic
fpga
wiring
fpgas
verification system
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
JP2005376068A
Other languages
Japanese (ja)
Inventor
Mototsugu Fujii
基継 藤井
Tomohiro Sato
智博 佐藤
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005376068A priority Critical patent/JP2007178231A/en
Publication of JP2007178231A publication Critical patent/JP2007178231A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for performing early prototyping verification of a plurality of logics at high speed with the same system substrate. <P>SOLUTION: By realizing high-speed wiring path switching by using an FET switch 903, and performing its on/off control with a programmable switch (FPGA or the like), the control of the FET switch 903 is determined by adjusting it to a target logic to be programmed in FPGAs 901, when logic partitioning and wiring processing among FPGAs are performed. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、大規模集積回路(LSI)の開発・設計過程における論理検証技術に関し、特に、複数のFPGA(フィールドプログラマブルゲートアレイ)を搭載したアーリープロトタイピングボードを高速に動作させるための構造に適用して有効な技術に関する。   The present invention relates to a logic verification technique in the development and design process of a large-scale integrated circuit (LSI), and particularly to a structure for operating an early prototyping board equipped with a plurality of FPGAs (field programmable gate arrays) at high speed. And effective technology.

本発明者が検討した技術として、例えば、LSIの開発・設計過程における論理検証においては、以下の技術が考えられる。   As a technique examined by the present inventor, for example, the following techniques can be considered in the logic verification in the LSI development / design process.

LSIの論理規模は高集積化に伴い年々増加しており、また、機能面で複雑度を増している。このため、品質を確保しながらも開発期間の短縮を図ることが可能なソリューションが重要となってきた。この課題に対する解決策の1つに、FPGAを利用したアーリープロトタイピング技術がある。アーリープロトタイピング技術とは、LSI設計の初期段階で、検証対象の論理をFPGA等のプログラマブルデバイスに構築し、そのFPGA等を擬似LSIとして実際のシステムに組み込んで、論理エミュレーションを行い、ソフトウェアのデバッグ等を含むシステム全体の動作確認を行う技術である。   The logical scale of LSI is increasing year by year with high integration, and the complexity is increased in terms of function. Therefore, a solution that can shorten the development period while ensuring quality has become important. One solution to this problem is early prototyping technology using FPGA. Early prototyping technology is an early stage of LSI design, in which the logic to be verified is built into a programmable device such as an FPGA, and the FPGA or the like is incorporated into a real system as a pseudo LSI to perform logic emulation and software debugging This is a technology for confirming the operation of the entire system including the above.

この技術を適用した場合、本来、実LSIを作成しないと検出できなかった、周辺実部品とのI/F(インターフェース)動作確認や、搭載基板の確認、論理シミュレーションでは検出し難い不良の摘出等が可能となり、設計期間とコストを削減することができる。この技術では1つのFPGAには収まらない大規模な論理を如何に複数のFPGAに割り当て、如何に高速に動作させるかが、検証速度の確保、動作速度帯に制限のある外部I/Fと接続する上で非常に重要である。   When this technology is applied, I / F (interface) operation confirmation with peripheral actual parts, confirmation of mounting board, extraction of defects that are difficult to detect by logic simulation, etc., which could not be detected without actually creating an actual LSI, etc. It is possible to reduce the design period and cost. In this technology, how to allocate large-scale logic that does not fit in one FPGA to multiple FPGAs and how to operate them at high speed is ensured for verification speed and connected to external I / F with limited operating speed range It is very important to do.

本発明に関連する技術文献として、例えば特許文献1,2がある。
特開平11−352190号公報 特開平8−194725号公報
As technical documents related to the present invention, there are Patent Documents 1 and 2, for example.
JP 11-352190 A JP-A-8-194725

ところで、前記のようなFPGAを利用したアーリープロトタイピング技術について、本発明者が検討した結果、以下のようなことが明らかとなった。   By the way, as a result of the inventor's investigation on the early prototyping technology using the FPGA as described above, the following has been clarified.

例えば、検証対象の論理を複数のFPGAに分割し、それらを接続する方法として、以下の3つの技術が考えられる。   For example, the following three techniques can be considered as a method of dividing the logic to be verified into a plurality of FPGAs and connecting them.

図1に、本発明者が本発明の前提として検討した第1の技術による論理検証システム基板の概略構成を示す。   FIG. 1 shows a schematic configuration of a logic verification system board according to a first technique examined by the inventor as a premise of the present invention.

第1の技術による論理検証システム基板は、例えば、複数のFPGA若しくはFPGAモジュール(Logic)、プログラマブルスイッチ(SW)、コネクタ(Connector)などから構成される。第1の技術は、図1に示すように、システム基板上に複数個のプログラマブルスイッチ(スイッチデバイス)を配置し、基板上のFPGA若しくはFPGAモジュールとプログラマブルスイッチ間を固定的に配線し、FPGA若しくはFPGAモジュール間の接続をプログラマブルスイッチ経由で行うようにしたものである。   The logic verification system board according to the first technique includes, for example, a plurality of FPGAs or FPGA modules (Logic), programmable switches (SW), connectors (Connectors), and the like. As shown in FIG. 1, the first technique is that a plurality of programmable switches (switch devices) are arranged on a system board, and the FPGA or FPGA module on the board and the programmable switch are fixedly wired. Connection between FPGA modules is performed via a programmable switch.

この技術は、分割論理間の配線がすべてスイッチ経由接続となるため、分割境界の各々の結線数が偏っていたとしても比較的容易にFPGA間の配線を行うことが可能である。   In this technique, since all the wirings between the divided logics are connected via switches, wiring between FPGAs can be performed relatively easily even if the number of connections at each dividing boundary is biased.

しかし、スイッチ通過配線ディレイにより動作速度が低下するという欠点がある。   However, there is a drawback that the operation speed is reduced due to the switch-passing wiring delay.

図2に、本発明者が本発明の前提として検討した第2の技術による論理検証システム基板の概略構成を示す。   FIG. 2 shows a schematic configuration of a logic verification system board according to the second technique examined by the inventor as a premise of the present invention.

第2の技術による論理検証システム基板は、例えば、複数のFPGA若しくはFPGAモジュール(Logic)、コネクタ(Connector)などから構成される。第2の技術は、図2に示すように、システム基板上にFPGAモジュールを搭載可能なコネクタを用意し、若しくはFPGAを直接搭載し、各FPGA/FPGAモジュール間を基板配線若しくはケーブリングにより直接接続するものである。   The logic verification system board according to the second technique includes, for example, a plurality of FPGAs or FPGA modules (Logic), connectors (Connectors), and the like. As shown in Fig. 2, the second technology prepares a connector that can mount an FPGA module on the system board, or directly mounts an FPGA, and directly connects between each FPGA / FPGA module by board wiring or cabling. To do.

この技術は、各々のFPGA間で信号を高速に転送することが可能である。   This technology can transfer signals between the FPGAs at high speed.

しかし、FPGA間結線が固定のため、分割境界の各々の結線数によっては、ピン数がFPGAの制限内に収まっていたとしても配線不可となる可能性があり、その場合にはLogic部分を信号が通過せざるをえないため、その遅延で動作速度が悪化する。また、この場合の遅延は、FPGA内部のおおよそを論理が占めるため、スイッチデバイス通過遅延よりも大きい傾向にあり、また通過するFPGAのピンを余分に使用することになる。さらに、バス接続(全FPGAへの直結配線)に関しては、同数以上の分岐論理ネットが存在する場合は有利ではあるものの、そうでない場合には物理接続よりも少ない論理信号接続をその配線経路で使用することになるため、その結果、未接続となったFPGAのピンが使用不可となるという問題がある(図6参照)。   However, since the connection between FPGAs is fixed, depending on the number of connections at each division boundary, even if the number of pins is within the FPGA limit, wiring may not be possible. Inevitably passes, and the operation speed deteriorates due to the delay. The delay in this case tends to be larger than the switch device passage delay because the logic occupies approximately the inside of the FPGA, and extra FPGA pins are used. Furthermore, for bus connections (directly connected wiring to all FPGAs), it is advantageous if there are more than the same number of branch logical nets, but if not, less logical signal connections are used in the wiring path than physical connections. As a result, there is a problem that unconnected FPGA pins become unusable (see FIG. 6).

図3に、本発明者が本発明の前提として検討した第3の技術による論理検証システム基板の概略構成を示す。   FIG. 3 shows a schematic configuration of a logic verification system board according to the third technique examined by the inventor as a premise of the present invention.

第3の技術による論理検証システム基板は、例えば、複数のFPGA若しくはFPGAモジュール(Logic)、プログラマブルスイッチ(SW)、コネクタ(Connector)などから構成される。第3の技術は、図3に示すように、FPGAを複数個搭載したモジュール、論理を実装するFPGA、スイッチデバイス(FPGA等)をモジュールに直接搭載し、その間を固定配線する。この技術は、FPGA間を直接結ぶ配線とスイッチデバイスを含む配線を持つことを特徴とする。   The logic verification system board according to the third technique includes, for example, a plurality of FPGAs or FPGA modules (Logic), programmable switches (SW), connectors (Connectors), and the like. In the third technique, as shown in FIG. 3, a module on which a plurality of FPGAs are mounted, an FPGA on which logic is mounted, and a switch device (FPGA, etc.) are directly mounted on the module, and fixed wiring is provided between them. This technique is characterized by having a wiring directly connecting FPGAs and a wiring including a switch device.

この技術は、配線自由度を保ちながら、高速動作が必要な論理接続については直結配線を使用することで、動作速度低下を防ぐことが可能である。前記第1及び第2の技術の問題をある程度解決できる。   With this technology, it is possible to prevent a decrease in operation speed by using a direct connection for a logical connection that requires a high speed operation while maintaining a degree of freedom of wiring. The problems of the first and second techniques can be solved to some extent.

しかし、バス接続がなく、多ピンの双方向バスの実現が難しい。分割境界によっては、前記第1及び第2の技術ほどではないが、経路不足によるクリティカルパス(高速動作が必要な論理接続)がスイッチ通過となる可能性がある。   However, since there is no bus connection, it is difficult to realize a multi-pin bidirectional bus. Depending on the division boundary, a critical path (logical connection that requires high-speed operation) due to a shortage of paths may pass through the switch, although not as much as in the first and second technologies.

この第3の技術は、前記第1及び第2の技術のそれぞれのメリットを活かしつつ、デメリットをなくすための構成であるが、次の2つの問題点がある。   The third technique is a configuration for eliminating the disadvantages while taking advantage of the respective merits of the first and second techniques, but has the following two problems.

問題点1:バス接続の双方向信号はスイッチ経由しか経路がなく、内部バスを持つ論理の高速動作が難しくなる(図4参照)。すなわち、I/O(入出力)バッファ付きのスイッチデバイス(FPGA等)は、双方向配線を通す場合に、スイッチ内でイネーブル制御が必要であり、イネーブルの引き出しによるリソース増加とスイッチ内での制御が必要となる。   Problem 1: A bidirectional signal connected to a bus has a route only through a switch, and high-speed operation of a logic having an internal bus becomes difficult (see FIG. 4). That is, switch devices with I / O (input / output) buffers (FPGA, etc.) require enable control within the switch when passing bidirectional wiring. Is required.

問題点2:FPGAモジュールの規模拡張方法として、図5に示すように、2通りの手法(スタッキング方式と並列配置方式)があるが、規模拡張に従いモジュール間の配線経路確保が難しくなる。すなわち、スタッキング方式の場合、スタック数増加に伴い、中間部分の通過配線が増大する((N−1)×2)。また、並列配置方式の場合、並列数に伴い、2モジュール間結線数が減少する(1/N)。なお、図5において、Sはスイッチデバイス(Switch−Device)、Cはコネクタ(Connector)、FはFPGAである。   Problem 2: As shown in FIG. 5, there are two methods for expanding the scale of the FPGA module (stacking method and parallel placement method), but it becomes difficult to secure the wiring path between the modules according to the scale expansion. That is, in the case of the stacking method, the passing wiring in the intermediate portion increases as the number of stacks increases ((N−1) × 2). In the case of the parallel arrangement method, the number of connections between two modules decreases with the number of parallel connections (1 / N). In FIG. 5, S is a switch device (Switch-Device), C is a connector, and F is an FPGA.

問題点1については、例えば前述したように、全FPGA間を直結接続するバス配線を用意することにより回避できるが、分割されたターゲット論理が1対1接続多数の場合、図6に示すように使用不可ピンが生じ、FPGAピン数をフルに使用することができなくなる。   Problem 1 can be avoided by preparing bus wiring for direct connection between all FPGAs as described above, for example. However, when the divided target logic has many one-to-one connections, as shown in FIG. An unusable pin is generated, and the FPGA pin number cannot be fully used.

また、図7のようなI/Oバッファのないクロスバスイッチデバイスを利用すれば双方向配線を制御なしで通過させることが可能になるが、実質的にはFPGAがドライブする配線の負荷が大きくなり、通常のI/Oバッファ付きのスイッチデバイスよりも通過遅延が大きくなることが多い。   Further, if a crossbar switch device without an I / O buffer as shown in FIG. 7 is used, bidirectional wiring can be passed without control, but the load on the wiring driven by the FPGA is substantially increased. In many cases, the passing delay is larger than that of a switch device with a normal I / O buffer.

問題点2については、図8のようにバス接続を利用し、システム固有のバスI/F論理を分割時に埋め込むことでFPGA数を増やし規模拡張を図る技術がある。この技術は、分割境界を論理バスとした場合や分割境界の結線数が非常に多い場合には有効ではあるものの、一般的にはバスを通過する信号がFPGA間の全I/F信号となることから、1対1接続と比較して全体の動作速度が低下するという問題がある。なお、図8において、LogicはFPGA又はFPGAモジュール、Connectorはコネクタである。   As for the problem 2, there is a technique for expanding the scale by increasing the number of FPGAs by embedding a system-specific bus I / F logic at the time of division by using bus connection as shown in FIG. Although this technique is effective when the division boundary is a logical bus or when the number of connections at the division boundary is very large, generally, signals passing through the bus are all I / F signals between the FPGAs. For this reason, there is a problem that the overall operation speed is reduced as compared with the one-to-one connection. In FIG. 8, Logic is an FPGA or FPGA module, and Connector is a connector.

そこで、本発明の目的は、論理検証システム基板において、前記問題点1及び2を解決することができる技術を提供することにある。   Accordingly, an object of the present invention is to provide a technique capable of solving the problems 1 and 2 in a logic verification system board.

本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

すなわち、本発明による論理検証システム基板は、FET(Field Effect Transistor)スイッチを使用し、高速な配線経路切り替えを実現するとともに、そのオン/オフ制御をプログラム可能な素子(FPGA等)で行うことで、論理分割、FPGA間配線処理時にターゲット論理に合わせて前記FETスイッチの制御を決定することを特徴とするものである。   In other words, the logic verification system board according to the present invention uses FET (Field Effect Transistor) switches to realize high-speed wiring path switching and perform on / off control with programmable elements (FPGA or the like). The control of the FET switch is determined in accordance with the target logic at the time of logical division and wiring between FPGAs.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。   Of the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

(1)複数FPGAに分割された論理の切り口に合わせて、分割境界の論理信号の配線経路を配線時に切り替えられるようにすることで、分割境界の論理信号接続に合わせてFPGAモジュールのアーキテクチャが選択可能となるため、複数論理のアーリープロトタイピング検証を同一のモジュールで高速に実行できる。   (1) The architecture of the FPGA module can be selected according to the logical signal connection at the division boundary by switching the wiring path of the logical signal at the division boundary at the time of wiring in accordance with the logic cut point divided into a plurality of FPGAs. As a result, early prototyping verification of multiple logics can be performed at high speed with the same module.

(2)複数FPGAに分割された論理の切り口に合わせて、外部I/Fと内部配線リソースをFPGAモジュール内配線時に選択可能とすることで、スタック時に最上部のモジュールにも直接信号を入力可能な構成に切り替えられる。また、搭載するシステムに合わせて配線経路を選択できる。   (2) By allowing external I / F and internal wiring resources to be selected when wiring in the FPGA module according to the logic of the division into multiple FPGAs, signals can be directly input to the top module when stacking Can be switched to a different configuration. In addition, the wiring route can be selected according to the installed system.

(3)配線結果として経路設定情報を含むため、データとハードウェア設定が不一致となることがない。   (3) Since the route setting information is included as a wiring result, the data and the hardware setting do not become inconsistent.

(4)検証済のものからハードに落としていくような設計フローの適用を容易にすることができる。   (4) It is possible to facilitate the application of a design flow that drops hardware from verified ones to hardware.

(5)検証速度を向上させることで、短期間で多数のテストを実施することが可能となる。   (5) By increasing the verification speed, a large number of tests can be performed in a short period of time.

(6)実チップ製造前からソフトウェアのデバッグ、実基板を含めたシステム検証が可能となる。   (6) Software debugging and system verification including the actual board can be performed before manufacturing the actual chip.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

(実施の形態1)
図9は本発明の実施の形態1による論理検証システム基板の概略構成を示す図である。
(Embodiment 1)
FIG. 9 is a diagram showing a schematic configuration of the logic verification system board according to the first embodiment of the present invention.

まず、図9により、本実施の形態1による論理検証システム基板の構成の一例を説明する。本実施の形態1による論理検証システム基板は、例えば、複数のFPGA901、プログラマブルスイッチ(FPGA等)902、FETスイッチ903などから構成されている。複数のFPGA901は、それぞれ直結配線で接続されている。   First, an example of the configuration of the logic verification system board according to the first embodiment will be described with reference to FIG. The logic verification system board according to the first embodiment includes, for example, a plurality of FPGAs 901, programmable switches (FPGAs, etc.) 902, FET switches 903, and the like. The plurality of FPGAs 901 are connected by direct connection wiring.

本実施の形態1では、図9に示すように、FETスイッチ903を直結FPGA配線間に挿入し、その制御信号をプログラマブルスイッチ902(FPGA等のプログラマブルデバイス)と接続する。   In the first embodiment, as shown in FIG. 9, an FET switch 903 is inserted between directly connected FPGA wires, and the control signal is connected to a programmable switch 902 (a programmable device such as an FPGA).

一般に、プログラマブルスイッチはピン間の接続を比較的自由に決定することができるが、その反面、複雑な内部構造となる(多数の配線リソースとスイッチで構成される)ことから通過配線ディレイが大きくなる(10ns程度)。一方、FETスイッチ903は単純なオン(ON)/オフ(OFF)を実現するものであるため、通過ディレイは高速となる(100ps程度)。   Generally, a programmable switch can determine the connection between pins relatively freely, but on the other hand, it has a complicated internal structure (consisting of a large number of wiring resources and switches), resulting in a large passing wiring delay. (About 10ns). On the other hand, since the FET switch 903 realizes simple ON / OFF (OFF), the passing delay becomes high speed (about 100 ps).

図9のような接続構成の場合、多分岐の双方向配線はFETスイッチ903をオンすることで直結の配線リソースを確保することができる。また、1対1接続が多い論理分割結果に対してはFETスイッチ903をオフにすることで対応することができる。さらにまた、プログラマブルスイッチ902に論理を搭載することで論理動作中に経路を切り替えることができる。   In the case of the connection configuration as shown in FIG. 9, the multi-branch bidirectional wiring can secure a directly connected wiring resource by turning on the FET switch 903. Further, it is possible to cope with a logical division result with many one-to-one connections by turning off the FET switch 903. Furthermore, by installing logic in the programmable switch 902, the path can be switched during the logic operation.

(実施の形態2)
図10は本発明の実施の形態2による論理検証システム基板の概略構成を示す図である。
(Embodiment 2)
FIG. 10 is a diagram showing a schematic configuration of a logic verification system board according to the second embodiment of the present invention.

図10により、本実施の形態2による論理検証システム基板の構成の一例を説明する。本実施の形態2による論理検証システム基板は、例えば、複数のFPGA901、複数のプログラマブルスイッチ902、FETスイッチ904などから構成されている。   An example of the configuration of the logic verification system board according to the second embodiment will be described with reference to FIG. The logic verification system board according to the second embodiment includes, for example, a plurality of FPGAs 901, a plurality of programmable switches 902, a FET switch 904, and the like.

本実施の形態2では、FPGA901とプログラマブルスイッチ902の間に図11のような構成のFETスイッチ904を挿入する。   In the second embodiment, an FET switch 904 having a configuration as shown in FIG. 11 is inserted between the FPGA 901 and the programmable switch 902.

このような構成とすれば、分割された論理I/Fに1対1接続が多く、かつ偏りがある場合でも高速な動作を実現できる。   With such a configuration, the divided logical I / F has many one-to-one connections, and high-speed operation can be realized even when there is a bias.

図12に、比較のために、(a)従来型の構成と(b)実施の形態2の構成を示す。(a)従来型の構成は、スイッチを利用して配線しているため、結線数が多く、配線リソース不足が生じるが、(b)実施の形態2では、配線リソース不足が生じない。   For comparison, FIG. 12 shows (a) a conventional configuration and (b) a configuration of the second embodiment. (A) Since the conventional configuration uses a switch to perform wiring, the number of connections is large and a shortage of wiring resources occurs. However, in (b) the second embodiment, a shortage of wiring resources does not occur.

(実施の形態3)
前記実施の形態1及び2はモジュール内部の配線切り替えの実現を目的とするものだが、モジュール外部とのインターフェースにも応用することができる。
(Embodiment 3)
The first and second embodiments are intended to realize wiring switching inside the module, but can also be applied to an interface with the outside of the module.

図13は拡張時に使用するコネクタ向け配線の内部利用方法を示す説明図である。   FIG. 13 is an explanatory diagram showing an internal utilization method of the connector wiring used at the time of expansion.

例えば、拡張用コネクタ905−FPGA901間の配線にFETスイッチ903を接続することで、コネクタ未使用時にモジュール内部のFPGA間結線数を増加させることが可能となる。すなわち、コネクタ905未使用時に、FETスイッチ903を内部配線として利用することができる。   For example, by connecting the FET switch 903 to the wiring between the expansion connector 905 and the FPGA 901, it is possible to increase the number of connections between FPGAs inside the module when the connector is not used. That is, when the connector 905 is not used, the FET switch 903 can be used as an internal wiring.

図14はバスラインの外部接続方法を示す説明図である。   FIG. 14 is an explanatory diagram showing a bus line external connection method.

図14のように、FETスイッチ903をコネクタ905−FPGA901間及びFPGA901間直結配線に付加することで、モジュール内部に外部から接続可能なバスラインを実現させることもできる。この切り替えにより、モジュール単体で使用する場合及び外部から図8のようなアクセスをするもののモジュール内の複数FPGAでは、1つの機能を実現する(1つの纏まり)場合には通常の配線経路の確保ができ、モジュール内の個々のFPGAで1つの機能を実現する場合には、図8のシステムバスを各FPGAに接続することが可能となる。   As shown in FIG. 14, by adding the FET switch 903 to the direct connection wiring between the connector 905 and the FPGA 901 and between the FPGA 901, a bus line that can be connected from the outside can be realized inside the module. As a result of this switching, a normal wiring route can be secured when a single module is used or when an external access as shown in FIG. 8 is performed but a plurality of FPGAs in the module realize one function (one group). In the case where one function is realized by each FPGA in the module, the system bus shown in FIG. 8 can be connected to each FPGA.

さらに、上下(または左右)のコネクタにそのラインを突き抜けさせることで、スタック型でモジュール間を連結した場合でもI/O側から遠い位置のモジュール内FPGAに対してもバス接続が可能となる。すなわち、論理検証システム基板の両面のコネクタに、前記バスの接続線を突き抜けて接続することにより、スタック等のハードウェア構成や検証手法に合わせて、ハードウェアアーキテクチャを選択することが可能となる。   Furthermore, by connecting the lines to the upper and lower (or left and right) connectors, even when the modules are connected in a stack type, it is possible to connect the bus to the in-module FPGA far from the I / O side. That is, the hardware architecture can be selected according to the hardware configuration such as the stack and the verification method by connecting the bus connection lines to the connectors on both sides of the logic verification system board.

なお、図15のように、FETスイッチ903をFPGAモジュール906内ではなく、FPGAを搭載する基板に搭載することで、前記実施の形態1,2,3はFPGAモジュール906を複数搭載可能な基板配線でも応用できる。   As shown in FIG. 15, by mounting the FET switch 903 not on the FPGA module 906 but on the board on which the FPGA is mounted, the first, second, and third embodiments have the substrate wiring on which a plurality of FPGA modules 906 can be mounted. But it can be applied.

さらに、このような構成をとることで、図16のように、バス909に任意のCPU907やIP908が接続されていく論理の検証環境の構築がし易くなる。すなわち、図16のように、固定バスI/F論理を1個版のFPGAモジュール910に搭載してもよい。また、シミュレーションアクセラレータ接続において、固定バスを切断面とし、検証済のものからハードウェアに落としていくような設計フローの適用を容易にすることができる。   Further, by adopting such a configuration, it becomes easy to construct a logic verification environment in which an arbitrary CPU 907 or IP 908 is connected to the bus 909 as shown in FIG. That is, as shown in FIG. 16, the fixed bus I / F logic may be mounted on one version of the FPGA module 910. In addition, in the simulation accelerator connection, it is possible to easily apply a design flow in which the fixed bus is a cut surface and the verified bus is dropped to hardware.

したがって、本実施の形態1〜3の論理検証システム基板は、高速にオン/オフ可能なFETスイッチをFPGAモジュールに搭載し、2種類以上の配線経路構成を選択可能としたこと、そのスイッチのオン/オフ手段をプログラマブルデバイスで制御する構成としたこと、論理分割後の配線処理時にそのスイッチのオン/オフを決定し、論理データの一部としてその設定を出力するようにしたことで、分割された論理の状態にあわせて配線経路を切り替えることが可能となる。   Therefore, in the logic verification system boards of the first to third embodiments, an FET switch that can be turned on / off at high speed is mounted on the FPGA module, and two or more types of wiring path configurations can be selected. It is divided by having a configuration in which the programmable / off means is controlled by a programmable device, turning on / off of the switch at the time of wiring processing after logical division, and outputting the setting as part of logical data. The wiring path can be switched according to the logic state.

さらに、実施の形態3によれば、コネクタ−FPGA間配線とFPGA−FPGA間配線間にFETスイッチを付加することで、モジュール内で全FPGAに接続され、かつコネクタを突き抜ける配線経路が構成できるため、何段スタックしてもその経路経由での信号伝達が可能となることから、検証対象とハードウェア構成に合わせて同一のモジュールを別々の接続構成で使い分けることが可能となる。   Further, according to the third embodiment, by adding an FET switch between the connector-FPGA wiring and the FPGA-FPGA wiring, it is possible to configure a wiring path that is connected to all the FPGAs in the module and penetrates the connector. Since signals can be transmitted via the path no matter how many stages are stacked, the same module can be used in different connection configurations according to the verification target and the hardware configuration.

この使い分けの方法としては、例えば、モジュールを1個利用し検証対象全体の場合はオフ、モジュールを1個利用するがそれが検証対象の一部の場合はオン、 モジュールを複数個利用し検証対象が全体の場合はオフ(最下部)・オン(上部)、モジュールを複数個利用しそれが検証対象の一部の場合はオンとする。   For example, when one module is used and the entire verification target is used, it is turned off. When one module is used, it is turned on when it is a part of the verification target. Is turned off (bottom) and turned on (upper), and is turned on when a plurality of modules are used and are part of the verification target.

次に、前記実施の形態1〜3の実施例を詳細に説明する。   Next, examples of the first to third embodiments will be described in detail.

最初に、図17により、LSIにおける設計及び検証の工程について説明する。図17は、LSIの設計/検証工程を示すフローチャートである。   First, a design and verification process in an LSI will be described with reference to FIG. FIG. 17 is a flowchart showing an LSI design / verification process.

まず、実現する回路の仕様を決定する仕様設計を行う(ステップS1701)。   First, specification design for determining the specification of a circuit to be realized is performed (step S1701).

次に、決定した仕様に基づきHDL(ハードウェア記述言語)を用いて論理回路をレジスタトランスファレベルで記述し、論理設計を行う(ステップS1702)。   Next, based on the determined specification, the logic circuit is described at the register transfer level using HDL (hardware description language), and logic design is performed (step S1702).

その後、論理回路を汎用プロセッサ上で擬似的に動作させることにより、その動作を検証する機能を持つ論理シミュレータと呼ばれるシステムを用いて、設計した論理回路の検証を行う(ステップS1703)。この検証は、一般的には論理シミュレーションと呼ばれている。ここでは、論理機能が仕様通りかどうかを検証する。   Thereafter, the designed logic circuit is verified using a system called a logic simulator having a function of verifying the operation of the logic circuit on a general-purpose processor in a pseudo manner (step S1703). This verification is generally called logic simulation. Here, it is verified whether the logical function is as specified.

論理機能が確認されると、論理合成処理を行い、レジスタトランスファレベルで記述された回路を、ターゲットとなるASICゲート回路に変換する処理を行う(ステップS1704)。   When the logic function is confirmed, logic synthesis processing is performed, and processing for converting a circuit described at the register transfer level into a target ASIC gate circuit is performed (step S1704).

論理合成後には実際にターゲットとなるASICゲートで構成された回路が出力として得られるため、タイミングが仕様を満たすかどうかの検証をこの時点で行うことが一般的に行われている(ステップS1705)。   After the logic synthesis, a circuit composed of the actual ASIC gates is obtained as an output, and therefore, it is generally performed at this point to verify whether the timing satisfies the specification (step S1705). .

また、ステップS1706にあるように、論理シミュレーションによる検証の終わり頃から、論理シミュレーションによる検証、論理合成、レイアウトと並行して、FPGA(Field programmable Gate Array)などの再構成可能なデバイスを利用した論理エミュレーションを行うことが一般的となっている。この検証は、再構成可能なデバイスに設計した論理をプログラムすることで、実際の周辺部品と組み合わせて実動作に近い速度で論理を動作させ、実部品の仕様誤解の検出やテストパターンが長大で論理シミュレーションでは実行が不可能なケースにおける不良などをLSI製造前に摘出することを目的としたものである。   Further, as shown in step S1706, logic using a reconfigurable device such as an FPGA (Field programmable Gate Array) in parallel with verification by logic simulation, logic synthesis, and layout from the end of verification by logic simulation. It is common to perform emulation. This verification is performed by programming the logic designed in the reconfigurable device to operate the logic at a speed close to the actual operation in combination with the actual peripheral components, and the misunderstanding of the specifications of the actual components and the test pattern are long. The purpose is to extract defects and the like in cases that cannot be executed by logic simulation before LSI manufacturing.

また、再構成可能なデバイスに設計した論理をプログラムすると、実動作に近い速度で論理を動作させることが可能であるため、組み込みシステムなどの開発のように、設計した論理と組み合わせて動くソフトウェアを同時期に設計する場合、ステップS1707のように、ソフトウェアデバッグをLSIのサンプル製造前から実施することができる。これによって設計期間を短縮することができる。   In addition, programming logic designed in a reconfigurable device makes it possible to operate the logic at a speed close to actual operation, so software that operates in combination with the designed logic can be used, such as in the development of embedded systems. When designing at the same time, as in step S1707, software debugging can be performed before LSI sample manufacture. As a result, the design period can be shortened.

論理合成後のタイミングに問題がなければ、論理合成によりターゲットとなるASICゲート回路に変換された論理を入力として、セルをチップに配置し、そのセルのピン同士を各セル間の論理接続に従って配線するレイアウト処理を行う(ステップS1708)。   If there is no problem in the timing after logic synthesis, the logic converted to the target ASIC gate circuit by logic synthesis is input, the cell is arranged on the chip, and the cell pins are wired according to the logic connection between the cells. A layout process is performed (step S1708).

この後、レイアウト結果におけるタイミングが仕様を満たすかどうかの最終検証を行う(ステップS1709)。   Thereafter, final verification is performed to determine whether the timing in the layout result satisfies the specification (step S1709).

この検証及びプロトタイピング検証が終わると、実際にLSIを製造する(ステップS1710)。   When this verification and prototyping verification are finished, an LSI is actually manufactured (step S1710).

この後、最終確認のために実機検証を行うが(ステップS1711)、プロトタイピング検証を実施している場合、共通のテストデータや環境を使用することができ、また本来はこの時点でしか摘出できなかった不良を早期に検出しているため、実機検証期間を大幅に短くすることができる。一般的に、このようなフローでLSIの開発は行われる。   After this, actual machine verification is performed for final confirmation (step S1711). However, when prototyping verification is performed, common test data and environment can be used, and can be extracted only at this time. Since the defect which did not exist is detected at an early stage, the actual machine verification period can be greatly shortened. In general, LSI development is performed in such a flow.

本発明は、このフローのうち、主に論理エミュレーション(ステップS1706)、ソフトウェアデバッグ(ステップS1707)、及び論理検証における再構成可能なデバイスであるFPGAを利用した論理シミュレーションの加速手法に関する。   The present invention mainly relates to a logic simulation acceleration method using FPGA which is a reconfigurable device in logic emulation (step S1706), software debugging (step S1707), and logic verification.

次に図18により、複数のFPGAを搭載したFPGAモジュールを利用したプロトタイピングにおいて、検証対象となる論理をFPGAモジュールにプログラムする方法について説明する。図18は、FPGAモジュールに論理をプログラムする処理工程を示すフローチャートである。   Next, a method for programming logic to be verified in the FPGA module in prototyping using an FPGA module equipped with a plurality of FPGAs will be described with reference to FIG. FIG. 18 is a flowchart showing processing steps for programming logic in the FPGA module.

最初に、FPGAモジュールに実現する検証対象論理を、設計中のLSIから切り出す処理を行う(ステップS1801)。最終的には検証対象論理は設計中のLSI全体となるが、設計の終了した機能からFPGAモジュールに実現することで、論理シミュレーションの加速や論理エミュレーションを実行することができる。本説明においては、再構成可能なデバイスをFPGAと言い表す。   First, the verification target logic realized in the FPGA module is cut out from the LSI under design (step S1801). Eventually, the verification target logic is the entire LSI under design, but by implementing the designed function in the FPGA module, logic simulation can be accelerated and logic emulation can be executed. In this description, a reconfigurable device is referred to as FPGA.

次に、検証対象の論理をFPGAモジュール上の複数のFPGAに割り当てる(ステップS1802)。このステップは通常、論理分割と呼ばれる。本処理例を図19に示す。論理分割は、機能ブロック単位で行うことが一般的に用いられているが(例えば、特開平8−194725号公報参照)、機能ブロックをまたいで複数のFPGAへの割り当てを行っても良い。図19では、検証対象論理の機能ブロックA,B,C,D,Eにつき、機能ブロックAをFPGA901aに、機能ブロックBをFPGA901bに、機能ブロックCをFPGA901cに、機能ブロックD,EをFPGA901dに、割り当てている。   Next, the logic to be verified is assigned to a plurality of FPGAs on the FPGA module (step S1802). This step is usually called logical partitioning. An example of this processing is shown in FIG. Although logical division is generally performed in units of functional blocks (see, for example, JP-A-8-194725), assignment to a plurality of FPGAs may be performed across functional blocks. In FIG. 19, for the functional blocks A, B, C, D, and E of the verification target logic, the functional block A is the FPGA 901a, the functional block B is the FPGA 901b, the functional block C is the FPGA 901c, and the functional blocks D and E are the FPGA 901d. Have assigned.

次に、FPGAモジュール906のコネクタ905のピンに、検証対象論理のポートを割り当てるとともに、FPGAモジュール906上で複数のFPGA901への割り当てを行った論理間および論理とポート間の論理接続を、実際のFPGAモジュール906のワイヤに割り当てる処理を行う(ステップS1803)。   Next, the ports of the logic to be verified are assigned to the pins of the connector 905 of the FPGA module 906, and the logical connections between the logics assigned to the plurality of FPGAs 901 on the FPGA module 906 and between the logics and the ports are actually set. A process of assigning to the wire of the FPGA module 906 is performed (step S1803).

図20にFPGAモジュール906のアーキテクチャ例を、図21に本処理例を示す。   FIG. 20 shows an example of the architecture of the FPGA module 906, and FIG. 21 shows an example of this processing.

コネクタ905、FPGA901等各搭載部品間は、基板配線(ワイヤ)で接続される。通常、各部品間は複数のワイヤで構成される。コネクタ905は、FPGAモジュール906外部とピン単位で接続される。分割論理間の論理接続(ネット)を、FPGAモジュール906のワイヤに割り当てて配線経路を決定する。通常、FPGAモジュール906では部品間に複数のワイヤが接続されているが、この処理で、どのワイヤかまで決定する。コネクタ905のピンに論理ポートを割り当てる。通常、搭載基板側の配線割り当てに併せて決定することが多い。なお、FPGAモジュール906のコネクタ905のピンに検証対象論理のポートを割り当てる処理は、通常、FPGAモジュール906を搭載する基板側の配線に従って行うことが一般的である。この際、FPGAモジュール906に搭載されたスイッチングデバイス内の接続も決定される。   The mounted components such as the connector 905 and the FPGA 901 are connected by substrate wiring (wires). Usually, each part is composed of a plurality of wires. The connector 905 is connected to the outside of the FPGA module 906 in units of pins. A logical connection (net) between the divided logics is assigned to a wire of the FPGA module 906 to determine a wiring path. Usually, in the FPGA module 906, a plurality of wires are connected between components, but in this processing, up to which wire is determined. A logical port is assigned to a pin of the connector 905. Usually, it is often determined in accordance with the wiring assignment on the mounting board side. Note that the process of assigning the port of the verification target logic to the pin of the connector 905 of the FPGA module 906 is generally performed according to the wiring on the board side on which the FPGA module 906 is mounted. At this time, the connection in the switching device mounted on the FPGA module 906 is also determined.

この後、分割された各論理を、ターゲットとなる再構成可能なデバイスのゲートで記述された回路に変換(論理合成)する(ステップS1804)。   Thereafter, each divided logic is converted (logic synthesis) into a circuit described by the gate of the target reconfigurable device (step S1804).

さらに、各FPGA901に割り当てた分割結果論理毎に、FPGA間配線処理で決定された論理間接続のワイヤ割り当て結果をFPGA901のピン配置制約として入力し、FPGA901内の配置配線処理を行う(ステップS1805)。   Further, for each division result logic assigned to each FPGA 901, the wire assignment result of the inter-connection determined in the inter-FPGA wiring process is input as the pin arrangement constraint of the FPGA 901, and the arrangement / wiring process in the FPGA 901 is performed (step S1805). .

この処理が終了すると、FPGA間配線処理で決定されたスイッチグデバイス内の接続と、FPGA内配置配線処理結果とをFPGA901にプログラム(コンフィギュレーション)する処理を行う(ステップS1806)。この処理を行うことで、プログラムした論理をFPGAモジュール906で動作させることが可能となる。なお、FPGAやスイッチングデバイスに論理をプログラム(コンフィギュレーション)する方法は、FPGAメーカやスイッチグデバイスメーカによりさまざまな方法が提供・提示されているが、一般的にはメモリにコンフィギュレーションデータを格納しておき、直接または、コンフィギュレーションを制御するLSIを経由してFPGAやスイッチングデバイスにコンフィギュレーションデータをプログラムする手法が用いられている。   When this process ends, a process of programming (configuring) the connection in the switching device determined in the inter-FPGA wiring process and the placement and wiring process in the FPGA into the FPGA 901 is performed (step S1806). By performing this process, the programmed logic can be operated by the FPGA module 906. Various methods for programming (configuring) logic in the FPGA and switching device are provided and presented by FPGA manufacturers and switching device manufacturers. In general, configuration data is stored in memory. A method of programming configuration data in an FPGA or a switching device directly or via an LSI that controls the configuration is used.

次に、図22に、ステップS1802の論理分割結果に合わせて、ステップS1803のFPGA間配線処理でFETスイッチのオン/オフ判定を行う処理の一例を示す。   Next, FIG. 22 shows an example of a process for performing on / off determination of the FET switch in the inter-FPGA wiring process in step S1803 in accordance with the logical division result in step S1802.

図23に、分割処理結果を示す。図22のフロー例に従い、ステップS1802の結果が図23のような接続となったと仮定し、図24のようなアーキテクチャで、かつ、図9のようにFETスイッチが搭載されたFPGAモジュール(結線数を図25のように仮定する)をターゲットとした場合を想定する。配置配線処理(ステップS1803の処理)を行うと、まずは分岐配線が存在するため、その分岐配線が双方向かどうか、タイミングクリティカルかどうかが判定される。この分岐ネットすべてがタイミングクリティカルだとした場合、オフのFETスイッチがなくなるまではFETスイッチをオンにして配線処理を行う。   FIG. 23 shows the division processing result. According to the flow example of FIG. 22, it is assumed that the result of step S1802 is a connection as shown in FIG. 23, and an FPGA module (number of connections) having an architecture as shown in FIG. 24 and an FET switch mounted as shown in FIG. Is assumed to be a target). When the placement and routing process (the process of step S1803) is performed, since a branch wiring exists, it is determined whether the branch wiring is bidirectional or timing critical. If all of the branch nets are timing critical, the FET switch is turned on and wiring processing is performed until no FET switch is turned off.

図24の場合、FETスイッチをオンすることで全FPGA901と接続されるワイヤ数は60本であるから、30/60がオンとなり、残りがオフとなる。なお、このようなケースではどのFETスイッチをオンにし、どのFETスイッチをオフにするかを決定する必要があるが、例えば各FPGA間の結線数を評価し、ターゲットとなるFPGAモジュール上でのFPGA間ワイヤ数と分割結果での該結線数との差分が大きいものから選択していく等の処理が考えられる。図23の場合、FPGA間ワイヤ数が均一だとすれば、分割結果(1)−(4)、分割結果(2)−(3)間に論理接続なしのため、これらを接続するFETスイッチからオンに設定していく。   In the case of FIG. 24, when the FET switch is turned on, the number of wires connected to all the FPGAs 901 is 60, so 30/60 is turned on and the rest is turned off. In such a case, it is necessary to determine which FET switch is turned on and which FET switch is turned off. For example, the number of connections between the FPGAs is evaluated, and the FPGA on the target FPGA module is evaluated. Processing such as selecting from the ones having a large difference between the number of inter-wires and the number of connections in the division result can be considered. In the case of FIG. 23, if the number of wires between FPGAs is uniform, there is no logical connection between the division results (1)-(4) and the division results (2)-(3). Set it on.

次に、分割結果(1)−(2)、分割結果(3)−(4)間が選択され、この時点でのFPGAモジュールの接続は図26となる。   Next, the division result (1)-(2) and the division result (3)-(4) are selected, and the connection of the FPGA module at this point is as shown in FIG.

次に、FPGA間直結配線が不足しているかどうかが判定されるが、分割結果(1)−(3)間がリソース60本に対し、接続数が70本のため該当となる。この溢れ分10本は分割結果(1)−(2)、分割結果(3)−(4)間のFETスイッチをオンにすれば吸収可能で、このスイッチをオンにしても分割結果(1)−(2)、分割結果(3)−(4)間はワイヤリソース40本に対して20本、10本と余裕があるため、分割結果(1)−(2)、分割結果(3)−(4)間のFETスイッチの残り10がオンと設定され、最終的なFETスイッチの設定と配線割り当ては図27のようになる。   Next, it is determined whether or not the direct connection wiring between FPGAs is insufficient. However, the division result (1) to (3) corresponds to 60 resources for 70 resources and 70 connections. The 10 overflows can be absorbed by turning on the FET switch between the division results (1)-(2) and the division results (3)-(4). The division result (1) even if this switch is turned on. -Between (2) and division results (3)-(4), there are 20 and 10 margins for 40 wire resources, so division results (1)-(2), division results (3)- The remaining 10 FET switches during (4) are set to ON, and final FET switch settings and wiring assignments are as shown in FIG.

本発明と異なりFETスイッチを搭載していない場合、図18のステップS1803のFPGA間配線処理結果はFETスイッチを経由していたネットすべてが遅延の大きいプログラマブルスイッチを経由することになり、FPGAモジュール全体での動作周波数が低下する原因となる。また、図4の問題点1の発生も抑止できなくなる。   Unlike the present invention, when the FET switch is not mounted, the result of the inter-FPGA wiring processing in step S1803 in FIG. 18 is that all nets that have passed through the FET switch go through the programmable switch with a large delay, and the entire FPGA module. This causes the operating frequency to decrease. Further, the occurrence of problem 1 in FIG. 4 cannot be suppressed.

さらにFETスイッチ制御信号をプログラマブルデバイスと接続することで、論理分割、FPGA間配線処理時にターゲット論理に合わせて前記FETスイッチの制御を決定した結果をコンフィギュレーションデータに内包することができるため、データとハードウェア設定が不一致となることなく、設定誤りによる誤動作を抑止でき、さらに同一のFPGAモジュールを搭載したまま、スイッチ切り替え等のハードウェアの設定変更なしに異なる配線経路設定を持つ複数の論理をプログラムすることも可能となる。さらに、本スイッチの制御信号がプログラマブルデバイスと接続されていることで、配線経路の動作中の切り替えも可能となる。これについての一例は後述する。   Furthermore, by connecting the FET switch control signal to the programmable device, the result of determining the control of the FET switch in accordance with the target logic at the time of logic division and inter-FPGA wiring processing can be included in the configuration data. Malfunctions due to setting errors can be suppressed without mismatching hardware settings, and multiple logics with different wiring path settings can be programmed without changing hardware settings such as switch switching while the same FPGA module is installed. It is also possible to do. Furthermore, since the control signal of this switch is connected to the programmable device, switching during operation of the wiring path is also possible. An example of this will be described later.

なお、前記の実施例は図9のFETスイッチ挿入を前提とした説明となっているが、図10、図13、図14についても同様の考え方でオン/オフの設定を決定できる。図10、図13は1対1接続が局所的に多い場合に有効であり、図14はインターフェース(ポート)の分岐や双方向接続に有効である。さらに、図14はFPGAモジュールの積み重ね使用時(スタック)でも有効となりえる。   Although the above embodiment is described on the assumption that the FET switch of FIG. 9 is inserted, the ON / OFF setting can be determined in the same way for FIGS. 10, 13 and 14 as well. FIGS. 10 and 13 are effective when the number of one-to-one connections is locally large, and FIG. 14 is effective for interface (port) branching and bidirectional connection. Further, FIG. 14 can be effective even when the FPGA modules are stacked (stacked).

図28にバス接続例、図29に個別接続例を示す。   FIG. 28 shows an example of bus connection, and FIG. 29 shows an example of individual connection.

FPGA間の結線数がある程度確保できる場合には、複数のFPGA間での信号送受信は図28のような共通バス接続で複数FPGAを接続するよりも図29のように個別接続した方が、配線リソースが不足し時分列多重化(図30)を行ったとしても動作速度が低下しない。なお、図30は、パラレル−シリアル変換、シリアル−パラレル変換回路を付加し1本のワイヤで複数の論理信号を転送する方式を示す。   When the number of connections between the FPGAs can be secured to some extent, the signal transmission / reception between the plurality of FPGAs is performed by the individual connection as shown in FIG. 29 rather than the connection of the plurality of FPGAs by the common bus connection as shown in FIG. Even if time-sequential multiplexing (FIG. 30) is performed due to insufficient resources, the operation speed does not decrease. FIG. 30 shows a system in which a parallel-serial conversion and a serial-parallel conversion circuit are added and a plurality of logic signals are transferred with one wire.

FPGAモジュールをスタック構成で接続する場合、図5のようにスタック数が増加するにつれて中間部分のコネクタ接続を通過するネット数が増加するため各モジュール間で使用可能な配線リソースは大幅に減少する。このため、論理分割結果によっては図28の方が図29よりも高速動作する可能性がある。   When FPGA modules are connected in a stack configuration, as the number of stacks increases as shown in FIG. 5, the number of nets that pass through the connector connection in the intermediate portion increases, so the wiring resources that can be used between the modules are greatly reduced. For this reason, depending on the result of logical partitioning, there is a possibility that FIG. 28 operates faster than FIG.

また、図29に対して図28の方が、無関係なモジュールの通過がないため比較的容易に信号送受信回路を構成、接続できるというメリットもある。本発明の図14の構成をとれば、図18のステップS1803の処理時に分割結果とモジュール構成に合わせて図28と図29のいずれかの構成を、ハードウェアを変更することなく選択することが可能となる。なお、この考え方は図5の並列配置方式による規模拡張でも同様である。さらに、FPGAモジュールを図14の構成とすることで、バスに任意のCPUやIPが接続されていくような論理の検証もまた容易になる。   In addition, FIG. 28 has an advantage that the signal transmission / reception circuit can be configured and connected relatively easily because FIG. 28 does not pass unrelated modules. If the configuration of FIG. 14 of the present invention is taken, it is possible to select either the configuration of FIG. 28 or FIG. 29 without changing the hardware in accordance with the division result and the module configuration during the processing of step S1803 of FIG. It becomes possible. This concept is the same for the scale expansion by the parallel arrangement method of FIG. Further, by configuring the FPGA module as shown in FIG. 14, it becomes easy to verify logic such that an arbitrary CPU or IP is connected to the bus.

図31に、FPGAを利用したシミュレーションアクセラレータの構成例を示す。FPGAを利用したシミュレーションアクセラレータは、例えば本構成例のように入出力データ及びそのデータをFPGAモジュール906に送受信するソフトウェアをディスク3104等の記憶装置に持つパーソナルコンピュータ(PC)3101(又はワークステーション)と、PC3101に接続可能な汎用のインターフェース(PCI等)とFPGAモジュール906との間でデータの受け渡しをするブリッジ回路3102を実現したデバイスを搭載したマザーボード3103及びそのマザーボード上に搭載するFPGAモジュール906からなる。   FIG. 31 shows a configuration example of a simulation accelerator using FPGA. A simulation accelerator using an FPGA includes a personal computer (PC) 3101 (or workstation) having a storage device such as a disk 3104 with input / output data and software for transmitting / receiving the data to / from the FPGA module 906 as in this configuration example. , A general-purpose interface (such as PCI) connectable to the PC 3101 and a motherboard 3103 on which a device that implements a bridge circuit 3102 for transferring data between the FPGA module 906 and an FPGA module 906 mounted on the motherboard are included. .

次に、図32に、バスに任意のCPU907やIP908が接続されていく論理の検証手法についての概念図を示す。図32において、3201は設計(検証)済みIPである。   Next, FIG. 32 shows a conceptual diagram of a logic verification method in which an arbitrary CPU 907 or IP 908 is connected to the bus. In FIG. 32, reference numeral 3201 denotes a designed (verified) IP.

設計未のものはPC上のファンクションモデル等を利用し、設計済のものからハードウェア(FPGA)にプログラムしていく。なお、設計済の場合でもそれが検証対象の場合にはPC上に置いたほうがデバッガビリティ面で有利なことから、あえてPC上に置くこともありえる。その場合には設計、検証済のものからFPGAにプログラムすることで全体のシミュレーション速度を向上させていく。   For undesigned ones, a function model on a PC is used to program the designed ones into hardware (FPGA). Even if it has been designed, if it is a verification target, placing it on the PC is advantageous in terms of debuggerability, so it may be placed on the PC. In that case, the entire simulation speed is improved by programming the FPGA from the designed and verified one.

このような検証手法を実施する場合、図29の構成をとっている場合には図33のように新たなFPGA化対象論理が追加されるたびに、対象論理全体でプログラムデータ作成処理をやり直すことが必要になる。このやり直しは対象の論理規模に比例して難しくなるため、データを作り直すのに多大な時間がかかってしまう。一方、図28の構成の場合、対象論理の切り口とハードウェア(FPGAモジュール)のインタフェースバスとのブリッジ回路の作成と挿入は必要となるが、図34のように追加する検証対象のみを処理すればよいため、図33よりも早くプログラムデータを用意することが可能になる。なお、図34において、バスブリッジ回路の挿入では、論理バスをハードウェア接続に合わせて用意されたバスに接続するための回路を挿入する。バス構成に合わせて作成する。   When such a verification method is implemented, when the configuration shown in FIG. 29 is adopted, program data creation processing is performed again for the entire target logic every time a new FPGA-target logic is added as shown in FIG. Is required. Since this redo becomes difficult in proportion to the logical scale of the target, it takes a long time to recreate the data. On the other hand, in the case of the configuration of FIG. 28, it is necessary to create and insert a bridge circuit between the target logic and the interface bus of the hardware (FPGA module), but only the verification target to be added is processed as shown in FIG. Therefore, program data can be prepared earlier than in FIG. In FIG. 34, when the bus bridge circuit is inserted, a circuit for connecting the logical bus to a bus prepared for hardware connection is inserted. Create according to the bus configuration.

よって、FPGAモジュールを図14のようにしておけば、本例や前記スタック構成例のようにバス接続のほうが有利な場合と、配線数が比較的少ない等1対1接続を基本とするアーキテクチャが有利な場合との両者を同一のFPGAモジュールで実現することが可能となり、対象論理や検証手法に合わせて個別にFPGAモジュールを用意する必要がなくなる。   Therefore, if the FPGA module is configured as shown in FIG. 14, the architecture based on the one-to-one connection such as the case where the bus connection is more advantageous as in the present example or the stack configuration example and the case where the number of wirings is relatively small. Both the advantageous case and the advantageous case can be realized by the same FPGA module, and it is not necessary to prepare the FPGA module individually according to the target logic and the verification method.

本発明の応用例として、図35に、FETスイッチのオン/オフがプログラマブルデバイスにより制御される特徴を活用し、FPGAモジュールにプログラムする論理が動作している時にダイナミックにスイッチ切り替えを行うことで、FPGAモジュール内部の配線を、論理内部接続として利用しながらプローブ用途でも使用可能とする実現例を、図36にそのタイムチャートを示す。なお、この場合のFETスイッチ挿入箇所は図13を前提としている。なお、プローブとはロジックアナライザ等の波形観測手段と接続するために論理の内部信号をそのインターフェース(コネクタ)まで引き出す処理を意味する。FETスイッチの制御信号をプログラマブルデバイスから供給するようにすることで、個別の用途で同一の配線経路を論理動作に合わせて切り替えながら利用することを、高速性を保って実現できる。   As an application example of the present invention, in FIG. 35, by utilizing the feature that the on / off of the FET switch is controlled by a programmable device, and dynamically switching the logic when the logic to be programmed in the FPGA module is operating, FIG. 36 is a time chart showing an implementation example in which the wiring inside the FPGA module can be used as a probe while using the wiring inside the FPGA module. In this case, the FET switch insertion location is based on FIG. The probe means a process of drawing a logic internal signal to its interface (connector) in order to connect to a waveform observation means such as a logic analyzer. By supplying the control signal of the FET switch from the programmable device, the same wiring path can be used while switching in accordance with the logical operation in individual applications while maintaining high speed.

この応用例では、内部配線リソースを減少させることなく、内部波形の信号観測を行うことができる。   In this application example, the signal of the internal waveform can be observed without reducing the internal wiring resources.

以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、大規模LSI、大規模LSIに搭載するIP部品等について利用可能である。   The present invention can be used for large-scale LSIs, IP components mounted on large-scale LSIs, and the like.

本発明者が本発明の前提として検討した第1の技術による論理検証システム基板の概略構成を示す図である。It is a figure which shows schematic structure of the logic verification system board | substrate by the 1st technique which this inventor examined as a premise of this invention. 本発明者が本発明の前提として検討した第2の技術による論理検証システム基板の概略構成を示す図である。It is a figure which shows schematic structure of the logic verification system board | substrate by the 2nd technique which this inventor examined as a premise of this invention. 本発明者が本発明の前提として検討した第3の技術による論理検証システム基板の概略構成を示す図である。It is a figure which shows schematic structure of the logic verification system board | substrate by the 3rd technique which this inventor examined as a premise of this invention. 本発明者が本発明の前提として検討した問題点1の説明図である。It is explanatory drawing of the problem 1 which this inventor examined as a premise of this invention. 本発明者が本発明の前提として検討した問題点2の説明図である。It is explanatory drawing of the problem 2 which this inventor examined as a premise of this invention. 本発明者が本発明の前提として検討した問題点1の説明図である。It is explanatory drawing of the problem 1 which this inventor examined as a premise of this invention. 問題点1において、I/Oバッファのないクロスバスイッチデバイスを示す図である。FIG. 10 is a diagram illustrating a crossbar switch device without an I / O buffer in Problem 1; 問題点2において、バス接続を利用してFPGA数を増やして規模拡張を図る技術を示す説明図である。In Problem 2, it is explanatory drawing which shows the technique which aims at the scale expansion by increasing the number of FPGAs using a bus connection. 本発明の実施の形態1による論理検証システム基板の概略構成を示す図である。It is a figure which shows schematic structure of the logic verification system board | substrate by Embodiment 1 of this invention. 本発明の実施の形態2による論理検証システム基板の概略構成を示す図である。It is a figure which shows schematic structure of the logic verification system board | substrate by Embodiment 2 of this invention. 図10のFETスイッチの構成を示す説明図である。It is explanatory drawing which shows the structure of FET switch of FIG. (a)従来型の構成と(b)実施の形態2の構成を比較した図である。(A) It is the figure which compared the structure of the conventional type and the structure of (b) Embodiment 2. FIG. 本発明の実施の形態3において、拡張時に使用するコネクタ向け配線の内部利用方法を示す説明図である。In Embodiment 3 of this invention, it is explanatory drawing which shows the internal utilization method of the wiring for connectors used at the time of expansion. 本発明の実施の形態3において、バスラインの外部接続方法を示す説明図である。In Embodiment 3 of this invention, it is explanatory drawing which shows the external connection method of a bus line. 本発明の実施の形態3において、FPGAモジュールを複数搭載可能な基板配線に応用した例を示す図である。In Embodiment 3 of this invention, it is a figure which shows the example applied to the board | substrate wiring which can mount two or more FPGA modules. 本発明の実施の形態3において、バスに任意のCPUやIPが接続されていく論理の検証環境の構築例を示す図である。In Embodiment 3 of this invention, it is a figure which shows the construction example of the verification environment of logic in which arbitrary CPU and IP are connected to a bus | bath. 本発明の実施例において、LSIの設計/検証工程を示すフローチャートである。5 is a flowchart showing an LSI design / verification process in the embodiment of the present invention. 本発明の実施例において、FPGAモジュールに論理をプログラムする処理工程を示すフローチャートである。4 is a flowchart illustrating processing steps for programming logic in an FPGA module in an embodiment of the present invention. 図18のフローの論理分割の処理例を示す図である。It is a figure which shows the process example of the logic division | segmentation of the flow of FIG. 本発明の実施例において、FPGAモジュールのアーキテクチャ例を示す図である。In the Example of this invention, it is a figure which shows the architecture example of an FPGA module. 図18のフローのFPGA間配線の処理例を示す図である。It is a figure which shows the process example of the wiring between FPGAs of the flow of FIG. 図18のフローのFPGA間配線処理でFETスイッチのオン/オフ判定を行う処理の一例を示すフローチャートである。FIG. 19 is a flowchart illustrating an example of a process for performing on / off determination of an FET switch in the inter-FPGA wiring process of the flow of FIG. 18. 図18のフローの分割処理結果を示す図である。It is a figure which shows the division | segmentation process result of the flow of FIG. 図18のフローのFPGA間配線の処理例を示す図である。It is a figure which shows the process example of the wiring between FPGAs of the flow of FIG. 図18のフローのFPGA間配線の処理例を示す図である。It is a figure which shows the process example of the wiring between FPGAs of the flow of FIG. 図18のフローのFPGA間配線の処理例を示す図である。It is a figure which shows the process example of the wiring between FPGAs of the flow of FIG. 図18のフローのFPGA間配線の処理例を示す図である。It is a figure which shows the process example of the wiring between FPGAs of the flow of FIG. 本発明の実施例において、FPGA間配線のバス接続例を示す図である。In the Example of this invention, it is a figure which shows the bus connection example of the wiring between FPGAs. 本発明の実施例において、FPGA間配線の個別接続例を示す図である。In the Example of this invention, it is a figure which shows the example of an individual connection of wiring between FPGAs. 本発明の実施例において、1本のワイヤで複数の論理信号を転送する方式を示す図である。In the Example of this invention, it is a figure which shows the system which transfers several logic signals with one wire. 本発明の実施例において、FPGAを利用したシミュレーションアクセラレータの構成例を示す図である。In the Example of this invention, it is a figure which shows the structural example of the simulation accelerator using FPGA. 本発明の実施例において、バスに任意のCPU、IP等が接続されていく論理の検証手法についての概念図である。In the Example of this invention, it is a conceptual diagram about the verification method of the logic by which arbitrary CPU, IP, etc. are connected to a bus | bath. 本発明の実施例において、FPGAモジュールに論理をプログラムする処理工程を示すフローチャートである。4 is a flowchart illustrating processing steps for programming logic in an FPGA module in an embodiment of the present invention. 本発明の実施例において、FPGAモジュールに論理をプログラムする処理工程を示すフローチャートである。4 is a flowchart illustrating processing steps for programming logic in an FPGA module in an embodiment of the present invention. 本発明の応用例を示す図である。It is a figure which shows the example of application of this invention. 図35の応用例の動作を示すタイムチャートである。36 is a time chart showing the operation of the application example of FIG. 35.

符号の説明Explanation of symbols

901 FPGA
902 プログラマブルスイッチ
903,904 FETスイッチ
905 コネクタ
906,910 FPGAモジュール
907 CPU
908 IP
909 バス
3101 パーソナルコンピュータ(PC)
3102 ブリッジ回路
3103 マザーボード
3104 ディスク
901 FPGA
902 Programmable switch 903, 904 FET switch 905 Connector 906, 910 FPGA module 907 CPU
908 IP
909 Bus 3101 Personal computer (PC)
3102 Bridge circuit 3103 Motherboard 3104 Disk

Claims (5)

論理検証対象の論理データがプログラムされる複数のFPGAと、
前記複数のFPGAの間を直結する第1及び第2の接続線と、
前記第1の接続線と前記第2の接続線とを接続するためのFETと、
前記FETのオン/オフ制御を行うプログラム可能な素子とを有することを特徴とする論理検証システム基板。
A plurality of FPGAs in which logic data to be verified is programmed;
First and second connection lines directly connecting the plurality of FPGAs;
FET for connecting the first connection line and the second connection line;
A logic verification system board comprising: a programmable element for performing on / off control of the FET.
請求項1記載の論理検証システム基板において、
前記プログラム可能な素子は、FPGAであることを特徴とする論理検証システム基板。
The logic verification system board according to claim 1,
A logic verification system board, wherein the programmable element is an FPGA.
請求項1記載の論理検証システム基板において、
前記論理検証対象の論理データに応じて、前記FETのオン/オフ制御が動的に変化するものであることを特徴とする論理検証システム基板。
The logic verification system board according to claim 1,
A logic verification system board, wherein on / off control of the FET dynamically changes in accordance with logic data to be verified.
請求項1記載の論理検証システム基板において、
前記第1及び第2の接続線は、バスであることを特徴とする論理検証システム基板。
The logic verification system board according to claim 1,
The logic verification system board, wherein the first and second connection lines are buses.
請求項4記載の論理検証システム基板において、
前記論理検証システム基板の両面のコネクタに、前記バスの接続線が突き抜けて接続されていることを特徴とする論理検証システム基板。
The logic verification system board according to claim 4,
The logic verification system board according to claim 1, wherein the bus connection line penetrates and is connected to connectors on both sides of the logic verification system board.
JP2005376068A 2005-12-27 2005-12-27 Logic verification system substrate Pending JP2007178231A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005376068A JP2007178231A (en) 2005-12-27 2005-12-27 Logic verification system substrate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005376068A JP2007178231A (en) 2005-12-27 2005-12-27 Logic verification system substrate

Publications (1)

Publication Number Publication Date
JP2007178231A true JP2007178231A (en) 2007-07-12

Family

ID=38303575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005376068A Pending JP2007178231A (en) 2005-12-27 2005-12-27 Logic verification system substrate

Country Status (1)

Country Link
JP (1) JP2007178231A (en)

Similar Documents

Publication Publication Date Title
JP3049048B2 (en) Emulation module
US6035117A (en) Tightly coupled emulation processors
US20080306722A1 (en) Logic verification system
US8533655B1 (en) Method and apparatus for capturing data samples with test circuitry
US9852255B2 (en) Method and apparatus for implementing periphery devices on a programmable circuit using partial reconfiguration
US10725528B2 (en) Methods and apparatus for selectively extracting and loading register states
US10997343B1 (en) In-system scan test of chips in an emulation system
US8532975B2 (en) System and method implementing a simulation acceleration capture buffer
JP2005174349A (en) Device for emulating operation of electronic apparatus
US8255853B2 (en) Circuit emulation systems and methods
US8352242B2 (en) Communication scheme between programmable sub-cores in an emulation environment
CN108957301B (en) Test method and device for testable chip and built-in circuit of testable chip
US8578306B2 (en) Method and apparatus for performing asynchronous and synchronous reset removal during synthesis
US20040230934A1 (en) System and method for emulating systems with multiple field programmable gate arrays
US11156660B1 (en) In-system scan test of electronic devices
JP3934434B2 (en) Circuit testing equipment
CN117195783A (en) Method for verifying chip design
Pasca et al. Configurable thru-silicon-via interconnect built-in self-test and diagnosis
US7337103B2 (en) Method and apparatus for the automatic correction of faulty wires in a logic simulation hardware emulator / accelerator
US20150204944A1 (en) Programmable logic device and verification method therefor
JP2007178231A (en) Logic verification system substrate
JP2004157986A (en) Logical verification system and fpga module
US7673206B2 (en) Method and system for routing scan chains in an array of processor resources
US20240137026A1 (en) Techniques For Storing States Of Signals In Configurable Storage Circuits
CN117892681B (en) Method for repairing voltage drop, electronic device, storage medium and program product