JP7351230B2 - Synchronous control circuit and synchronous control method - Google Patents

Synchronous control circuit and synchronous control method Download PDF

Info

Publication number
JP7351230B2
JP7351230B2 JP2020015018A JP2020015018A JP7351230B2 JP 7351230 B2 JP7351230 B2 JP 7351230B2 JP 2020015018 A JP2020015018 A JP 2020015018A JP 2020015018 A JP2020015018 A JP 2020015018A JP 7351230 B2 JP7351230 B2 JP 7351230B2
Authority
JP
Japan
Prior art keywords
reception
transmission
flag
packet
clock
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.)
Active
Application number
JP2020015018A
Other languages
Japanese (ja)
Other versions
JP2021121909A (en
Inventor
賢太 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020015018A priority Critical patent/JP7351230B2/en
Publication of JP2021121909A publication Critical patent/JP2021121909A/en
Application granted granted Critical
Publication of JP7351230B2 publication Critical patent/JP7351230B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、同期制御回路および同期制御方法に関する。 The present invention relates to a synchronous control circuit and a synchronous control method.

情報処理で扱うデータ量の増加に伴い、情報処理を1つの情報処理装置で実行することが困難な場合、複数の情報処理装置を並列に動作させて情報処理を実行する場合がある。この種の複数の情報処理装置を有する情報処理システムでは、各情報処理装置に搭載されるFPGA(Field-Programmable Gate Array)間で、入出力ピンの状態をデータ化した同期パケットが、所定の時間間隔で送受信される。そして、同期パケットを受信した情報処理装置が入出力ピンの状態に反映することで、複数の情報処理装置内の同期が必要な制御信号の状態同期制御が実行される(例えば、特許文献1参照)。 BACKGROUND ART As the amount of data handled in information processing increases, when it is difficult to perform information processing with one information processing device, information processing may be performed by operating a plurality of information processing devices in parallel. In an information processing system having multiple information processing devices of this type, synchronization packets that convert the status of input/output pins into data are sent between FPGAs (Field-Programmable Gate Arrays) installed in each information processing device for a predetermined period of time. Sent and received at intervals. Then, the information processing device that has received the synchronization packet reflects the state of the input/output pin, thereby executing state synchronization control of control signals that require synchronization within the plurality of information processing devices (for example, see Patent Document 1). ).

特開2014-235702号公報Japanese Patent Application Publication No. 2014-235702

ところで、ASIC(Application Specific Integrated Circuit)の集積度の向上に伴い、論理シミュレーターによる設計検証は、時間的および精度的に困難になってきている。このため、近年では、論理回路の設計中のASICの論理回路をFPGAに書き込み、FPGAを動作させて設計検証することが主流となってきている。この際、ASICに搭載する論理回路を1つのFPGAに搭載することが困難な場合、複数のFPGAに分割して論理回路が搭載される。複数のFPGAに分割して搭載された論理回路の論理検証を正しく実施するためには、複数のFPGAを1つの論理回路として互いに同期して動作させる必要がある。 By the way, as the degree of integration of ASICs (Application Specific Integrated Circuits) increases, design verification using a logic simulator is becoming more difficult in terms of time and accuracy. For this reason, in recent years, it has become mainstream to write the logic circuit of an ASIC under design into an FPGA and operate the FPGA to verify the design. At this time, if it is difficult to mount the logic circuit to be mounted on the ASIC in one FPGA, the logic circuit is divided into a plurality of FPGAs and the logic circuit is mounted therein. In order to correctly perform logic verification of a logic circuit that is divided and mounted on a plurality of FPGAs, it is necessary to operate the plurality of FPGAs as one logic circuit in synchronization with each other.

1つの側面では、本発明は、複数のプログラマブル部に分割して搭載した論理回路を互いに同期して動作させることを目的とする。 In one aspect, an object of the present invention is to operate logic circuits that are divided and mounted in a plurality of programmable units in synchronization with each other.

一つの観点によれば、同期制御回路は、論理回路が再構成可能にプログラムされるプログラマブル部に設けられ、前記プログラマブル部と他のプログラマブル部との間で送受信される信号を同期させる同期制御回路であって、送信フラグのリセット中に、前記プログラマブル部にプログラムされた論理回路から出力信号を受信した場合、前記出力信号を送信インタフェースに出力し、前記送信フラグをセットする送信制御部と、受信フラグのリセット中に、受信インタフェースから受信信号を受信した場合、前記受信信号を前記プログラムされた論理回路に出力し、前記受信フラグをセットする受信制御部と、前記送信フラグおよび前記受信フラグがともにセットされた場合、前記プログラムされた論理回路に同期クロックを出力し、前記送信フラグおよび前記受信フラグをリセットする同期クロック生成部と、を有する。 According to one aspect, the synchronization control circuit is provided in a programmable part in which a logic circuit is reconfigurably programmed, and synchronizes signals transmitted and received between the programmable part and other programmable parts. a transmission control unit that outputs the output signal to a transmission interface and sets the transmission flag when an output signal is received from a logic circuit programmed in the programmable unit while the transmission flag is being reset; a reception control section that outputs the reception signal to the programmed logic circuit and sets the reception flag when a reception signal is received from the reception interface while the flag is being reset; and a synchronous clock generation unit that outputs a synchronous clock to the programmed logic circuit and resets the transmission flag and the reception flag when set.

1つの側面では、本発明は、複数のプログラマブル部に分割して搭載した論理回路を互いに同期して動作させることができる。 In one aspect, the present invention allows logic circuits that are divided and mounted in a plurality of programmable units to operate in synchronization with each other.

一実施形態における検証装置を含む検証システムの一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of a verification system including a verification device according to an embodiment. 図1の検証装置の各FPGAに搭載される論理の一例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of logic installed in each FPGA of the verification device of FIG. 1. FIG. 図1のFPGA10aに搭載される同期制御回路の一例を示すブロック図である。2 is a block diagram showing an example of a synchronous control circuit installed in the FPGA 10a of FIG. 1. FIG. 図3のパケット変換部が変換するパケットの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a packet converted by the packet conversion unit in FIG. 3; 図1の各FPGA内での信号の流れの一例を示すブロック図である。2 is a block diagram showing an example of a signal flow within each FPGA in FIG. 1. FIG. 図5のFPGA10a内の同期制御回路の動作の一例を示すフロー図である。6 is a flow diagram showing an example of the operation of the synchronous control circuit in the FPGA 10a of FIG. 5. FIG. 図5の各FPGA内の同期制御回路の動作の一例を示すタイミング図である。6 is a timing diagram showing an example of the operation of a synchronous control circuit in each FPGA of FIG. 5. FIG. 図7のサイクルAでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle A of FIG. 7. FIG. 図7のサイクルBでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle B of FIG. 7. FIG. 図7のサイクルCでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle C of FIG. 7. FIG. 図7のサイクルDでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle D of FIG. 7. FIG. 図7のサイクルEでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle E of FIG. 7. FIG. 図7のサイクルFでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle F of FIG. 7. FIG. 図7のサイクルGでの各FPGAの状態の一例を示す説明図である。8 is an explanatory diagram showing an example of the state of each FPGA in cycle G of FIG. 7. FIG. 別の実施形態における検証装置を含む検証システムの一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of a verification system including a verification device in another embodiment. 図15のFPGA10cに搭載される同期制御回路30cの一例を示すブロック図である。16 is a block diagram showing an example of a synchronous control circuit 30c installed in the FPGA 10c of FIG. 15. FIG. 図15のFPGA10cに搭載される同期制御回路32cの一例を示すブロック図である。16 is a block diagram showing an example of a synchronous control circuit 32c installed in the FPGA 10c of FIG. 15. FIG. 別の実施形態における検証装置を含む検証システムの一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of a verification system including a verification device in another embodiment. 図18のFPGA10dに搭載される同期制御回路の一例を示すブロック図である。19 is a block diagram showing an example of a synchronous control circuit installed in the FPGA 10d of FIG. 18. FIG.

以下、図面を用いて実施形態が説明される。以下では、信号等の情報が伝達される信号線には、信号名と同じ符号を使用する。また、図中に単線で示す信号線には、シングルビットの信号または複数ビットの信号が伝送される。複数ビットの信号が伝送される信号線に接続される論理回路等は、信号毎に回路を有する。 Embodiments will be described below with reference to the drawings. In the following, the same symbols as the signal names are used for signal lines through which information such as signals is transmitted. Further, a single-bit signal or a multi-bit signal is transmitted to the signal line shown as a single line in the figure. A logic circuit or the like connected to a signal line through which multiple-bit signals are transmitted has a circuit for each signal.

図1は、一実施形態における検証装置を含む検証システムの一例を示す。図1に示す検証システム100は、複数のFPGA10(10a、10b)を含む検証装置200と、検証装置200による論理検証の動作を制御するサーバ300とを有する。FPGA10は、論理回路が再構成可能にプログラムされるプログラマブル部の一例である。 FIG. 1 shows an example of a verification system including a verification device in one embodiment. The verification system 100 shown in FIG. 1 includes a verification device 200 including a plurality of FPGAs 10 (10a, 10b), and a server 300 that controls logic verification operations by the verification device 200. The FPGA 10 is an example of a programmable unit in which logic circuits are reconfigurably programmed.

検証装置200は、FPGA10a、10bにそれぞれプログラムされた検証対象の論理回路である搭載論理40(40a、40b)を互いに同期させて動作させる機能を有する。このために、FPGA10aには、搭載論理40aとともに同期制御回路30aがプログラムされ、FPGA10bには、搭載論理40bとともに同期制御回路30bがプログラムされる。 The verification device 200 has a function of synchronizing and operating the mounted logics 40 (40a, 40b), which are logic circuits to be verified, programmed in the FPGAs 10a and 10b, respectively. For this purpose, the FPGA 10a is programmed with the synchronous control circuit 30a together with the on-board logic 40a, and the synchronous control circuit 30b is programmed with the on-board logic 40b into the FPGA 10b.

例えば、FPGA10a、10bの間、およびFPGA10aとサーバ300との間は、それぞれPCIe(Peripheral Component Interconnect express:登録商標)インタフェースで接続される。しかし、FPGA10a、10bの間、およびFPGA10aとサーバ300との間は、他の通信インタフェースを介して接続されてもよい。また、FPGA10a、10bの間、およびFPGA10aとサーバ300との間を接続するインタフェースは、シリアルインタフェースでもよく、パラレルインターフェースでもよい。 For example, the FPGAs 10a and 10b and the FPGA 10a and the server 300 are connected through PCIe (Peripheral Component Interconnect express: registered trademark) interfaces. However, the FPGAs 10a and 10b and the FPGA 10a and the server 300 may be connected via other communication interfaces. Furthermore, the interfaces connecting the FPGAs 10a and 10b and between the FPGA 10a and the server 300 may be serial interfaces or parallel interfaces.

FPGA10aのプログラム領域には、PCIeインタフェース(I/F)20a、同期制御回路30a、搭載論理40aおよびPCIeインタフェース22aがプログラムされ、この順に接続される。FPGA10bのプログラム領域には、PCIeインタフェース20b、同期制御回路30bおよび搭載論理40bがプログラムされ、この順に接続される。例えば、PCIeインタフェース20(20a、22a、20b)は、IP(Intellectual Property)を利用してプログラムされる。PCIeインタフェース20は、送信インタフェースおよび受信インタフェースの一例である。なお、図1は、FPGA10a、10bに回路の論理がプログラムされた状態を示しており、FPGA10a、10bにプログラムする論理情報をFPGA10a、10bに転送する経路および論理情報を保持するメモリ等の資源の記載は省略している。 A PCIe interface (I/F) 20a, a synchronous control circuit 30a, an onboard logic 40a, and a PCIe interface 22a are programmed in the program area of the FPGA 10a and connected in this order. A PCIe interface 20b, a synchronous control circuit 30b, and an on-board logic 40b are programmed in the program area of the FPGA 10b and connected in this order. For example, the PCIe interface 20 (20a, 22a, 20b) is programmed using IP (Intellectual Property). The PCIe interface 20 is an example of a sending interface and a receiving interface. Note that FIG. 1 shows a state in which the circuit logic is programmed in the FPGAs 10a and 10b, and the route for transferring the logic information to be programmed in the FPGAs 10a and 10b to the FPGAs 10a and 10b and the resources such as memory that holds the logic information. Description is omitted.

例えば、論理検証の実行時、PCIeインタフェース22aは、サーバ300から受信するシリアルのデータをパラレルのデータに変換して搭載論理40aに出力する。また、PCIeインタフェース22aは、搭載論理40aから受信するパラレルのデータをシリアルのデータに変換してサーバ300に送信する。なお、サーバ300は、データ以外の制御情報等もFPGA10aに送信するが、以下ではデータとして説明する。搭載論理40aは、PCIeインタフェース22aから受信するデータを使用して、所定の機能の動作を実行し、動作により得られたデータを同期制御回路30aに出力する。また、搭載論理40aは、同期制御回路30aから受信するデータを使用して、所定の機能の動作を実行し、動作により得られたデータをPCIeインタフェース22aに出力する。 For example, when performing logic verification, the PCIe interface 22a converts serial data received from the server 300 into parallel data and outputs it to the mounted logic 40a. Furthermore, the PCIe interface 22a converts parallel data received from the mounted logic 40a into serial data and transmits the serial data to the server 300. Note that the server 300 also transmits control information and the like other than data to the FPGA 10a, but this will be explained below as data. The on-board logic 40a uses the data received from the PCIe interface 22a to execute an operation of a predetermined function, and outputs the data obtained by the operation to the synchronous control circuit 30a. Furthermore, the on-board logic 40a uses the data received from the synchronization control circuit 30a to execute the operation of a predetermined function, and outputs the data obtained by the operation to the PCIe interface 22a.

同期制御回路30aは、PCIeインタフェース20aを介してFPGA10bから受信する受信データのタイミングに合わせて、搭載論理40aから受信する送信データをPCIeインタフェース20aに出力する。また、同期制御回路30aは、FPGA10bから受信する受信データを搭載論理40aに出力する。同期制御回路30aの同期制御については、図6および図7で説明する。 The synchronization control circuit 30a outputs the transmission data received from the onboard logic 40a to the PCIe interface 20a in accordance with the timing of the reception data received from the FPGA 10b via the PCIe interface 20a. Furthermore, the synchronization control circuit 30a outputs the received data received from the FPGA 10b to the mounted logic 40a. The synchronous control of the synchronous control circuit 30a will be explained with reference to FIGS. 6 and 7.

PCIeインタフェース20aは、同期制御回路30aから受信するパラレルのデータをシリアルのデータに変換してFPGA10bに出力する。また、PCIeインタフェース20aは、FPGA10bから受信するシリアルのデータをパラレルのデータに変換して同期制御回路30aに出力する。 The PCIe interface 20a converts parallel data received from the synchronous control circuit 30a into serial data and outputs the serial data to the FPGA 10b. Furthermore, the PCIe interface 20a converts serial data received from the FPGA 10b into parallel data and outputs it to the synchronization control circuit 30a.

FPGA10bにおいて、PCIeインタフェース20bは、FPGA10aから受信するシリアルのデータをパラレルのデータに変換して同期制御回路30bに出力する。また、PCIeインタフェース20bは、同期制御回路30bから受信するパラレルのデータをシリアルのデータに変換してFPGA10aに出力する。 In the FPGA 10b, the PCIe interface 20b converts serial data received from the FPGA 10a into parallel data and outputs it to the synchronization control circuit 30b. Furthermore, the PCIe interface 20b converts parallel data received from the synchronous control circuit 30b into serial data and outputs the serial data to the FPGA 10a.

同期制御回路30bは、PCIeインタフェース20bを介してFPGA10aから受信する受信データのタイミングに合わせて、搭載論理40bから受信する送信データをPCIeインタフェース20bに出力する。また、同期制御回路30bは、FPGA10aから受信する受信データを搭載論理40bに出力する。搭載論理40bは、同期制御回路30bから受信するデータを使用して、所定の機能の動作を実行し、動作により得られたデータを同期制御回路30bに出力する。 The synchronization control circuit 30b outputs the transmission data received from the onboard logic 40b to the PCIe interface 20b in accordance with the timing of the reception data received from the FPGA 10a via the PCIe interface 20b. Furthermore, the synchronization control circuit 30b outputs the received data received from the FPGA 10a to the mounted logic 40b. The onboard logic 40b uses the data received from the synchronous control circuit 30b to perform an operation of a predetermined function, and outputs the data obtained by the operation to the synchronous control circuit 30b.

FPGA10aにおいて、PCIeインタフェース20aは、FPGA10bから受信するシリアルのデータをパラレルのデータに変換して同期制御回路30aに出力する。同期制御回路30aは、搭載論理40aから受信するデータと同期させるタイミングでPCIeインタフェース20aから受信したデータを搭載論理40aに出力する。 In the FPGA 10a, the PCIe interface 20a converts serial data received from the FPGA 10b into parallel data and outputs it to the synchronization control circuit 30a. The synchronization control circuit 30a outputs the data received from the PCIe interface 20a to the onboard logic 40a at a timing synchronized with the data received from the onboard logic 40a.

以上の動作により、FPGA10aの搭載論理40aが送受信するデータと、FPGA10bの搭載論理40bが送受信するデータとを互いに同期させることができる。これにより、搭載論理40a、40bの動作を互いに同期させることができる。したがって、例えば、論理の規模が大きく、論理を複数のFPGA10a、10bに分割して搭載する場合にも、同期動作を実現することができる。 By the above operation, the data transmitted and received by the mounted logic 40a of the FPGA 10a and the data transmitted and received by the mounted logic 40b of the FPGA 10b can be synchronized with each other. This allows the operations of the mounted logics 40a and 40b to be synchronized with each other. Therefore, for example, even if the scale of the logic is large and the logic is divided and installed in a plurality of FPGAs 10a and 10b, synchronous operation can be realized.

図2は、図1の検証装置200の各FPGA10a、10bに搭載される論理の一例を示す。図2は、論理検証の対象のASICに搭載する論理の規模が大きく、図1の検証装置200の1つのFPGA10aに論理をプログラムすることが困難な例を示す。図2に示す例では、ASICに搭載する論理のうち、論理aがFPGA10aに搭載論理40aとして搭載され、論理bがFPGA10bに搭載論理40bとして搭載される。 FIG. 2 shows an example of logic installed in each FPGA 10a, 10b of the verification device 200 in FIG. FIG. 2 shows an example in which the scale of logic installed in an ASIC to be subjected to logic verification is large, and it is difficult to program the logic into one FPGA 10a of the verification apparatus 200 of FIG. In the example shown in FIG. 2, among the logics installed in the ASIC, logic a is installed in the FPGA 10a as an installed logic 40a, and logic b is installed in the FPGA 10b as an installed logic 40b.

論理aおよび論理bは、それぞれ組み合わせ回路CCと複数のフリップフロップFFを有する。なお、図2では、論理aと論理bとは、2つのフリップフロップFFを介して相互に接続されるが、ASIC内において論理aと論理bとが1つのフリップフロップFFを介して接続される場合、論理の分割時にフリップフロップFFが1つ追加される。 Logic a and logic b each have a combinational circuit CC and a plurality of flip-flops FF. Note that in FIG. 2, logic a and logic b are connected to each other via two flip-flops FF, but within the ASIC, logic a and logic b are connected via one flip-flop FF. In this case, one flip-flop FF is added when dividing the logic.

この実施形態では、ASICの論理が、1つのFPGAに搭載可能な論理よりも大きい場合にも、論理を分割して複数のFPGA10a、10bに搭載し、FPGA10a、10b間を同期させることができる。ASICの論理規模にかかわらず、FPGAにプログラムした回路(ハードウェア)を動作させて論理検証を実施することできるため、論理検証シミュレーターを使用する場合に比べて、高速に論理検証を実施することができる。 In this embodiment, even if the logic of the ASIC is larger than the logic that can be mounted on one FPGA, the logic can be divided and mounted on a plurality of FPGAs 10a and 10b, and the FPGAs 10a and 10b can be synchronized. Regardless of the logical scale of the ASIC, logic verification can be performed by operating the circuit (hardware) programmed in the FPGA, so logic verification can be performed faster than when using a logic verification simulator. can.

図3は、図1のFPGA10aに搭載される同期制御回路30aの一例を示す。なお、FPGA10bに搭載される同期制御回路30bは、信号名が異なることを除き、図3と同様の構成を有する。同期制御回路30bについては、図5で説明する。 FIG. 3 shows an example of a synchronous control circuit 30a installed in the FPGA 10a of FIG. Note that the synchronization control circuit 30b installed in the FPGA 10b has the same configuration as in FIG. 3 except that the signal names are different. The synchronization control circuit 30b will be explained with reference to FIG.

同期制御回路30aは、送信制御部50、受信制御部60および同期クロック生成部70を有する。送信制御部50は、パケット変換部51、アンド回路AND1およびRS(セットリセット)フリップフロップ52を有する。受信制御部60は、パケット変換部61、アンド回路AND2およびRSフリップフロップ62を有する。同期クロック生成部70は、2入力のアンド回路AND3およびラッチ回路71を有する。 The synchronization control circuit 30a includes a transmission control section 50, a reception control section 60, and a synchronization clock generation section 70. The transmission control section 50 includes a packet conversion section 51, an AND circuit AND1, and an RS (set/reset) flip-flop 52. The reception control section 60 includes a packet conversion section 61, an AND circuit AND2, and an RS flip-flop 62. The synchronous clock generation section 70 includes a two-input AND circuit AND3 and a latch circuit 71.

パケット変換部51は、搭載論理40aから出力される複数ビットの出力信号OUTaを用いてパケットを生成し、生成したパケットをアンド回路AND1に出力する。パケット変換部51は、出力データのデータサイズに応じたサイクル数分のパケットを生成する。パケットの例は、図4で説明する。 The packet conversion unit 51 generates a packet using the multi-bit output signal OUTa output from the mounted logic 40a, and outputs the generated packet to the AND circuit AND1. The packet converter 51 generates packets for the number of cycles corresponding to the data size of the output data. An example of a packet is explained in FIG.

アンド回路AND1は、送信フラグTFLGaがリセット中(例えば、論理値0)に、パケット変換部51から出力されるパケットPOUTa(送信パケット)をPCIeインタフェース20aに発行する。アンド回路AND1は、送信フラグTFLGaがセット中(例えば、論理値1)に、パケット変換部51から出力されるパケットPOUTaの出力を抑止する。アンド回路AND1は、パケット変換部51が生成したパケットPOUTaのPCIeインタフェース20aへの出力を許可または抑止するパケット出力制御部の一例である。 The AND circuit AND1 issues the packet POUTa (transmission packet) output from the packet converter 51 to the PCIe interface 20a while the transmission flag TFLGa is being reset (eg, logical value 0). The AND circuit AND1 suppresses the output of the packet POUTa from the packet converter 51 while the transmission flag TFLGa is set (eg, logical value 1). The AND circuit AND1 is an example of a packet output control unit that permits or inhibits output of the packet POUTa generated by the packet conversion unit 51 to the PCIe interface 20a.

RSフリップフロップ52は、アンド回路AND1がパケットPOUTaを出力したことに基づいて、送信フラグTFLGaを論理値1にセットする。RSフリップフロップ52は、アンド回路AND3が出力するクロックイネーブル信号CENaの有効レベル(例えば、論理値1)への変化に基づいて、送信フラグTFLGaを論理値0にリセットする。RSフリップフロップ52は、送信フラグ設定部の一例である。 The RS flip-flop 52 sets the transmission flag TFLGa to a logical value of 1 based on the AND circuit AND1 outputting the packet POUTa. The RS flip-flop 52 resets the transmission flag TFLGa to a logic value of 0 based on the change of the clock enable signal CENa output from the AND circuit AND3 to a valid level (for example, a logic value of 1). The RS flip-flop 52 is an example of a transmission flag setting section.

パケット変換部61は、アンド回路AND2を介してPCIeインタフェース20aから受信するパケットPINa(受信パケット)からデータ(ペイロード)を抽出し、抽出したデータを入力信号INaとして搭載論理40aに出力する。パケット変換部61は、パケットPINaに含まれる入力データのデータサイズに応じたサイクル数分のパケットPINaを受信する。パケットの例は、図4で説明する。 The packet converter 61 extracts data (payload) from the packet PINa (received packet) received from the PCIe interface 20a via the AND circuit AND2, and outputs the extracted data to the mounted logic 40a as an input signal INa. The packet conversion unit 61 receives the packet PINa for the number of cycles corresponding to the data size of the input data included in the packet PINa. An example of a packet is explained in FIG.

アンド回路AND2は、受信フラグRFLGaがリセット中(例えば、論理値0)に、PCIeインタフェース20aから出力されるパケットPINaをパケット変換部61に出力する。アンド回路AND2は、受信フラグRFLGaがセット中(例えば、論理値1)に、PCIeインタフェース20aから出力されるパケットPINaのパケット変換部61への出力を抑止する。アンド回路AND2は、PCIeインタフェース20aから受信するパケットPINaのパケット変換部61への出力を許可または抑止するパケット入力制御部の一例である。 The AND circuit AND2 outputs the packet PINa output from the PCIe interface 20a to the packet converter 61 while the reception flag RFLGa is being reset (eg, logical value 0). The AND circuit AND2 suppresses output of the packet PINa output from the PCIe interface 20a to the packet converter 61 while the reception flag RFLGa is set (eg, logical value 1). The AND circuit AND2 is an example of a packet input control unit that permits or inhibits output of the packet PINa received from the PCIe interface 20a to the packet conversion unit 61.

RSフリップフロップ62は、アンド回路AND2がパケットPINaを出力したことに基づいて、受信フラグRFLGaを論理値1にセットする。RSフリップフロップ62は、アンド回路AND3が出力するクロックイネーブル信号CENaの有効レベルへの変化に基づいて、受信フラグRFLGaを論理値0にリセットする。RSフリップフロップ62は、受信フラグ設定部の一例である。なお、RSフリップフロップ52、62に記載したかぎマークは、リセット端子Rによるリセットが、セット端子Sによるセットよりも優先されることを示す。 The RS flip-flop 62 sets the reception flag RFLGa to a logical value of 1 based on the AND circuit AND2 outputting the packet PINa. The RS flip-flop 62 resets the reception flag RFLGa to a logical value of 0 based on the change to the valid level of the clock enable signal CENa output from the AND circuit AND3. The RS flip-flop 62 is an example of a reception flag setting section. Note that the lock marks written on the RS flip-flops 52 and 62 indicate that resetting by the reset terminal R has priority over setting by the set terminal S.

同期クロック生成部70のアンド回路AND3は、送信フラグTFLGaおよび受信フラグRFLGaがともに論理値1の場合、クロックイネーブル信号CENaを有効レベル(論理値1)に設定する。アンド回路AND3は、送信フラグTFLGaまたは受信フラグRFLGaのいずれかが論理値0の場合、クロックイネーブル信号CENaを無効レベル(論理値0)に設定する。例えば、受信フラグRFLGaの論理値1は、PCIeインタフェース20aにも供給され、後続のパケットPINaの同期制御回路30aへの出力の抑止に使用される。アンド回路AND3は、クロックイネーブル信号CENaを生成するイネーブル生成回路の一例である。 The AND circuit AND3 of the synchronous clock generation unit 70 sets the clock enable signal CENa to a valid level (logical value 1) when both the transmission flag TFLGa and the reception flag RFLGa have a logical value of 1. The AND circuit AND3 sets the clock enable signal CENa to an invalid level (logical value 0) when either the transmission flag TFLGa or the reception flag RFLGa has a logical value of 0. For example, the logical value 1 of the reception flag RFLGa is also supplied to the PCIe interface 20a, and is used to suppress output of the subsequent packet PINa to the synchronization control circuit 30a. The AND circuit AND3 is an example of an enable generation circuit that generates the clock enable signal CENa.

ラッチ回路71は、基準クロックRCLKaに同期してクロックイネーブル信号CENaの論理値をラッチし、同期クロックSCLKaを生成する。例えば、基準クロックRCLKは、PCIeインタフェース20a、22aの動作クロックとして使用され、同期クロックSCLKaは、搭載論理40aの動作クロックとして使用される。ラッチ回路71は、同期クロックSCLKaを出力するクロック出力部の一例である。 The latch circuit 71 latches the logical value of the clock enable signal CENa in synchronization with the reference clock RCLKa, and generates the synchronized clock SCLKa. For example, the reference clock RCLK is used as an operating clock for the PCIe interfaces 20a and 22a, and the synchronous clock SCLKa is used as an operating clock for the onboard logic 40a. The latch circuit 71 is an example of a clock output section that outputs the synchronous clock SCLKa.

図4は、図3のパケット変換部51、61が変換するパケットの一例を示す。例えば、図3に示した搭載論理40aは、384ビットの出力信号OUTa[383:0]を出力し、384ビットの入力信号INa[383:0]を受信する。この場合、パケット変換部51は、出力信号OUTaの前に128ビットのPCIeヘッダを付加することで512ビットのパケットPOUTaを生成する。そして、パケット変換部51は、生成したパケットPOUTaを2クロックサイクル(CYC1、CYC2)でPCIeインタフェース20aに出力する。 FIG. 4 shows an example of a packet converted by the packet converters 51 and 61 in FIG. 3. For example, the onboard logic 40a shown in FIG. 3 outputs a 384-bit output signal OUTa[383:0] and receives a 384-bit input signal INa[383:0]. In this case, the packet converter 51 generates a 512-bit packet POUTa by adding a 128-bit PCIe header before the output signal OUTa. Then, the packet conversion unit 51 outputs the generated packet POUTa to the PCIe interface 20a in two clock cycles (CYC1, CYC2).

パケット変換部61は、PCIeインタフェース20aから2クロックサイクル(CYC1、CYC2)で受信する512ビットのパケットPINaから128ビットのPCIeヘッダを破棄することで、384ビットの入力信号INa[383:0]を生成する。 The packet conversion unit 61 converts the 384-bit input signal INa[383:0] by discarding the 128-bit PCIe header from the 512-bit packet PINa received from the PCIe interface 20a in two clock cycles (CYC1, CYC2). generate.

なお、出力信号OUTaおよび入力信号INaが128ビット以下の場合、256ビットのパケット(POUTa、PINa)が生成される。また、出力信号OUTaおよび入力信号INaが385ビット以上の場合、ビット数に応じたクロックサイクル数に対応するパケット(POUTa、PINa)が生成される。 Note that when the output signal OUTa and the input signal INa are 128 bits or less, a 256-bit packet (POUTa, PINa) is generated. Further, when the output signal OUTa and the input signal INa have 385 bits or more, packets (POUTa, PINa) corresponding to the number of clock cycles corresponding to the number of bits are generated.

図5は、図1の各FPGA10a、10b内での信号の流れの一例を示す。なお、図5では、同期制御回路30a、30bのうちの同期クロック生成部70は、簡略化してアンド回路AND3のみを示す。図5に示す信号は、図7のタイミング図での説明に使用する。パケットPIN(PINa、PINb)は、受信信号の一例である。 FIG. 5 shows an example of a signal flow within each FPGA 10a, 10b in FIG. In addition, in FIG. 5, the synchronous clock generation section 70 of the synchronous control circuits 30a and 30b is simplified and only the AND circuit AND3 is shown. The signals shown in FIG. 5 are used for explanation in the timing diagram of FIG. Packet PIN (PINa, PINb) is an example of a received signal.

図6は、図5のFPGA10a内の同期制御回路30aの動作の一例を示す。なお、FPGA10b内の同期制御回路30bの動作は、各信号の末尾の符号"a"を"b"に置き換えることで示される。図6は、複数のFPGA10間で送受信される信号を同期させる同期制御方法の一例を示している。 FIG. 6 shows an example of the operation of the synchronous control circuit 30a in the FPGA 10a of FIG. Note that the operation of the synchronous control circuit 30b in the FPGA 10b is indicated by replacing the suffix "a" of each signal with "b". FIG. 6 shows an example of a synchronization control method for synchronizing signals transmitted and received between a plurality of FPGAs 10.

まず、ステップS10において、同期制御回路30aは、受信フラグRFLGaが論理値0のときにPCIeインタフェース20aからパケットPINaを受信した場合、ステップS12の動作を実行する。同期制御回路30aは、受信フラグRFLGaが論理値1の場合、または受信フラグRFLGaが論理値0でパケットPINaを受信していない場合、ステップS16の動作を実行する。 First, in step S10, when the synchronization control circuit 30a receives a packet PINa from the PCIe interface 20a when the reception flag RFLGa has a logical value of 0, it executes the operation of step S12. The synchronization control circuit 30a executes the operation of step S16 when the reception flag RFLGa has a logical value of 1, or when the reception flag RFLGa has a logical value of 0 and the packet PINa has not been received.

ステップS12において、同期制御回路30aのパケット変換部61は、受信したパケットPINaからPCIeヘッダを破棄して入力信号INaを生成し、搭載論理40aに出力する。また、同期制御回路30aのRSフリップフロップ62は、パケットPINaの入力に基づいて受信フラグRFLGaを論理値1にセットする。次に、ステップS14において、同期制御回路30aのアンド回路AND2は、受信フラグRFLGaが論理値1の間、パケットPINaの受信を抑止する。同期制御回路30aは、ステップS14の後、ステップS22の動作を実行する。 In step S12, the packet converter 61 of the synchronization control circuit 30a discards the PCIe header from the received packet PINa, generates an input signal INa, and outputs it to the mounted logic 40a. Further, the RS flip-flop 62 of the synchronization control circuit 30a sets the reception flag RFLGa to logical value 1 based on the input of the packet PINa. Next, in step S14, the AND circuit AND2 of the synchronization control circuit 30a suppresses the reception of the packet PINa while the reception flag RFLGa has a logical value of 1. After step S14, the synchronous control circuit 30a executes the operation of step S22.

ステップS16において、同期制御回路30aは、送信フラグTFLGaが論理値0の場合、ステップS18の動作を実行し、送信フラグTFLGaが論理値1の場合、ステップS22の動作を実行する。 In step S16, the synchronization control circuit 30a executes the operation of step S18 when the transmission flag TFLGa has a logical value of 0, and executes the operation of step S22 when the transmission flag TFLGa has a logical value of 1.

ステップS18において、同期制御回路30aのパケット変換部51は、搭載論理40aから出力される出力信号OUTaをパケットPOUTaに変換する。同期制御回路30のアンド回路AND1は、パケットPOUTaを2クロックサイクルかけてPCIeインタフェース20aに出力する。なお、パケット変換部51は、ステップS18の動作の前に、搭載論理40aから出力される出力信号OUTaをパケットPOUTaに変換してもよい。 In step S18, the packet converter 51 of the synchronization control circuit 30a converts the output signal OUTa output from the mounted logic 40a into a packet POUTa. The AND circuit AND1 of the synchronization control circuit 30 outputs the packet POUTa to the PCIe interface 20a over two clock cycles. Note that the packet conversion unit 51 may convert the output signal OUTa output from the on-board logic 40a into the packet POUTa before the operation of step S18.

また、同期制御回路30aのRSフリップフロップ52は、パケットPOUTaの出力に基づいて送信フラグTFLGaを論理値1にセットする。次に、ステップS20において、同期制御回路30aのアンド回路AND1は、送信フラグTFLGaが論理値1の間、パケットPOUTaの出力を抑止する。同期制御回路30aは、ステップS20の後、ステップS22の動作を実行する。 Further, the RS flip-flop 52 of the synchronization control circuit 30a sets the transmission flag TFLGa to a logical value of 1 based on the output of the packet POUTa. Next, in step S20, the AND circuit AND1 of the synchronization control circuit 30a suppresses the output of the packet POUTa while the transmission flag TFLGa has a logical value of 1. After step S20, the synchronous control circuit 30a executes the operation of step S22.

ステップS22において、同期制御回路30aは、送信フラグTFLGaおよび受信フラグRFLGaがともに論理値1の場合、ステップS24の動作を実行する。同期制御回路30aは、送信フラグTFLGaまたは受信フラグRFLGaのいずれかが論理値0の場合、ステップS10の動作に戻る。ステップS24において、同期制御回路30aの同期クロック生成部70は、同期クロックSCLKaを1クロック分生成する。RSフリップフロップ52は、同期クロックSCLKaに基づいて送信フラグTFLGを論理値0にリセットする。RSフリップフロップ62は、同期クロックSCLKaに基づいて受信フラグRFLGaを論理値0にリセットする。そして、動作はステップS10に戻される。 In step S22, the synchronization control circuit 30a executes the operation in step S24 when both the transmission flag TFLGa and the reception flag RFLGa have a logical value of 1. If either the transmission flag TFLGa or the reception flag RFLGa has a logical value of 0, the synchronization control circuit 30a returns to the operation of step S10. In step S24, the synchronous clock generation unit 70 of the synchronous control circuit 30a generates one clock of the synchronous clock SCLKa. The RS flip-flop 52 resets the transmission flag TFLG to a logical value of 0 based on the synchronization clock SCLKa. The RS flip-flop 62 resets the reception flag RFLGa to a logical value of 0 based on the synchronization clock SCLKa. The operation then returns to step S10.

同期クロックSCLKaは、搭載論理40aに供給され、搭載論理40aは、同期クロックSCLKaに同期して動作する。なお、FPGA10bにおいて、同期クロックSCLKbは、同期クロックSCLKaと同じ頻度で生成される。したがって、所定の期間において、搭載論理40aに供給される同期クロックSCLKaのパルス数と、搭載論理40bに供給される同期クロックSCLKbのパルス数とは互いに同じになる。この結果、図5に示した同期制御回路30a、30bにより、FPGA10a、10bの搭載論理40a、40bを互いに同期して動作させることができる。 The synchronous clock SCLKa is supplied to the on-board logic 40a, and the on-board logic 40a operates in synchronization with the synchronous clock SCLKa. Note that in the FPGA 10b, the synchronous clock SCLKb is generated at the same frequency as the synchronous clock SCLKa. Therefore, in a predetermined period, the number of pulses of the synchronous clock SCLKa supplied to the mounted logic 40a and the number of pulses of the synchronous clock SCLKb supplied to the mounted logic 40b are the same. As a result, the synchronous control circuits 30a, 30b shown in FIG. 5 can operate the logics 40a, 40b mounted on the FPGAs 10a, 10b in synchronization with each other.

図7は、図5の各FPGA10a、10b内の同期制御回路30a、30bの動作の一例を示す。図7は、複数のFPGA10間で送受信される信号を同期させる同期制御方法の一例を示している。図7に示す符号XXは、信号の論理値が不定であることを示す。例えば、パケットPOUTa、POUTbのペイロードおよび入力信号INa、INbは、384ビットであるとする。 FIG. 7 shows an example of the operation of the synchronous control circuits 30a and 30b in each of the FPGAs 10a and 10b shown in FIG. FIG. 7 shows an example of a synchronization control method for synchronizing signals transmitted and received between a plurality of FPGAs 10. The symbol XX shown in FIG. 7 indicates that the logical value of the signal is undefined. For example, it is assumed that the payloads of packets POUTa and POUTb and input signals INa and INb are 384 bits.

図7の初期状態において、パケットPOUTa、POUTbは、パケットが生成されていない無効状態を示す論理値0である(図7(a)、(b))。受信フラグRFLGaは、同期クロックSCLKaが生成される図7の2番目のクロックサイクルの間、論理値1に変化する(図7(c))。送信フラグTFLGaは、同期クロックSCLKaが生成されるクロックサイクルの次のクロックサイクル(サイクルA)に論理値1から論理値0に変化する(図7(d))。 In the initial state of FIG. 7, packets POUTa and POUTb have a logical value of 0 indicating an invalid state in which no packets are generated (FIGS. 7(a) and (b)). The reception flag RFLGa changes to a logical value of 1 during the second clock cycle in FIG. 7 when the synchronization clock SCLKa is generated (FIG. 7(c)). The transmission flag TFLGa changes from a logic value of 1 to a logic value of 0 in the next clock cycle (cycle A) after the clock cycle in which the synchronization clock SCLKa is generated (FIG. 7(d)).

同様に、受信フラグRFLGbは、同期クロックSCLKbが生成される図7の2番目のクロックサイクルの間、論理値1に変化する(図7(e))。送信フラグTFLGbは、同期クロックSCLKbが生成されるクロックサイクルの次のクロックサイクル(サイクルA)に論理値1から論理値0に変化する(図7(f))。したがって、同期制御回路30a、30bは、サイクルAにおいてパケットを送受信可能な状態である。 Similarly, the reception flag RFLGb changes to a logical value of 1 during the second clock cycle of FIG. 7 when the synchronization clock SCLKb is generated (FIG. 7(e)). The transmission flag TFLGb changes from a logic value of 1 to a logic value of 0 in the next clock cycle (cycle A) after the clock cycle in which the synchronization clock SCLKb is generated (FIG. 7(f)). Therefore, the synchronization control circuits 30a and 30b are in a state where they can transmit and receive packets in cycle A.

FPGA10aの搭載論理40aは、サイクルAにおいて出力信号OUTa(=A1)を同期制御回路30aに出力する(図7(g))。同期制御回路30aは、出力信号OUTa(=A1)に基づいてパケットPOUTa(A1-1、A1-2)を生成し、生成したパケットPOUTaを基準クロックRCLKaの2クロックサイクルでPCIeインタフェース20aに出力する。データA1-1は、サイクルAに出力され、データA1-2は、サイクルBに出力される。パケットPOUTa(A1-1、A1-2)の出力の完了に基づいて、送信フラグTFLGaが論理値0から論理値1に変化する(図7(h))。これにより、送信フラグTFLGaが論理値1の間、後続の出力信号のPCIeインタフェース20aへの出力が抑止される。 The mounted logic 40a of the FPGA 10a outputs the output signal OUTa (=A1) to the synchronous control circuit 30a in cycle A (FIG. 7(g)). The synchronization control circuit 30a generates a packet POUTa (A1-1, A1-2) based on the output signal OUTa (=A1), and outputs the generated packet POUTa to the PCIe interface 20a in two clock cycles of the reference clock RCLKa. . Data A1-1 is output in cycle A, and data A1-2 is output in cycle B. Based on the completion of the output of packet POUTa (A1-1, A1-2), the transmission flag TFLGa changes from logical value 0 to logical value 1 (FIG. 7(h)). As a result, while the transmission flag TFLGa has a logical value of 1, output of subsequent output signals to the PCIe interface 20a is suppressed.

一方、FPGA10bの搭載論理40bは、サイクルAにおいて出力信号OUTb(=B1)を出力する(図7(i))。同期制御回路30bは、出力信号OUTbに基づいてパケットPOUTb(B1-1、B1-2)を生成し、生成したパケットPOUTbを基準クロックRCLKbの2クロックサイクルで出力する。データB1-1は、サイクルAに出力され、データB1-2は、サイクルBに出力される。パケットPOUTb(B1-1、B1-2)の出力の完了に基づいて、送信フラグTFLGbが論理値0から論理値1に変化する(図7(j))。これにより、送信フラグTFLGbが論理値1の間、後続の出力信号のPCIeインタフェース20bへの出力が抑止される。 On the other hand, the mounted logic 40b of the FPGA 10b outputs the output signal OUTb (=B1) in cycle A (FIG. 7(i)). The synchronization control circuit 30b generates a packet POUTb (B1-1, B1-2) based on the output signal OUTb, and outputs the generated packet POUTb in two clock cycles of the reference clock RCLKb. Data B1-1 is output in cycle A, and data B1-2 is output in cycle B. Based on the completion of the output of packet POUTb (B1-1, B1-2), the transmission flag TFLGb changes from a logical value of 0 to a logical value of 1 (FIG. 7(j)). As a result, while the transmission flag TFLGb has a logical value of 1, output of subsequent output signals to the PCIe interface 20b is suppressed.

この後、サイクルCとサイクルCの次のサイクルにおいて、FPGA10aの同期制御回路30aは、PCIeインタフェース20aを介してFPGA10bからのパケットPINa(B1-1、B1-2)を順次受信する(図7(k))。パケット変換部61は、データB1-1、B1-2に基づいて入力信号INa(B1)を生成し、サイクルDにおいて、生成した入力信号INa(B1)を搭載論理40aに出力する(図7(l))。 Thereafter, in cycle C and the next cycle after cycle C, the synchronization control circuit 30a of the FPGA 10a sequentially receives packets PINa (B1-1, B1-2) from the FPGA 10b via the PCIe interface 20a (see FIG. 7). k)). The packet converter 61 generates an input signal INa (B1) based on the data B1-1 and B1-2, and outputs the generated input signal INa (B1) to the mounted logic 40a in cycle D (see FIG. 7). l)).

同期制御回路30aは、入力信号INa(B1)の受信の完了に基づいて受信フラグRFLGaを論理値1にセットする(図7(m))。これにより、同期制御回路30aの同期クロック生成部70は、同期クロックSCLKaを生成する(図7(n))。また、同期クロックSCLKaの生成により、送信フラグTFLGaおよび受信フラグRFLGaが論理値0にリセットされる(図7(o)、(p))。これにより、後続のパケットPOUTaのPCIeインタフェース20aへの出力が許可され、後続のパケットPINaのPCIeインタフェース20aからの受信が許可される。 The synchronization control circuit 30a sets the reception flag RFLGa to logical value 1 based on the completion of reception of the input signal INa (B1) (FIG. 7(m)). Thereby, the synchronous clock generation section 70 of the synchronous control circuit 30a generates the synchronous clock SCLKa (FIG. 7(n)). Further, by generating the synchronization clock SCLKa, the transmission flag TFLGa and the reception flag RFLGa are reset to logical value 0 (FIGS. 7(o) and (p)). As a result, output of the subsequent packet POUTa to the PCIe interface 20a is permitted, and reception of the subsequent packet PINa from the PCIe interface 20a is permitted.

このように、同期制御回路30aは、信号A1の送信の完了に基づいて送信フラグTFLGaをセットし、信号B1の受信の完了に基づいて受信フラグRFLGaをセットする。これにより、複数サイクルをかけて信号A1が送信され、複数サイクルをかけて信号B1が受信される場合にも、図7に示すように、搭載論理40a、40bを互いに同期して動作させることができる。 In this way, the synchronization control circuit 30a sets the transmission flag TFLGa based on the completion of the transmission of the signal A1, and sets the reception flag RFLGa based on the completion of the reception of the signal B1. As a result, even if the signal A1 is transmitted over multiple cycles and the signal B1 is received over multiple cycles, the onboard logics 40a and 40b can be operated in synchronization with each other, as shown in FIG. can.

また、同期制御回路30aは、出力信号OUTaを含むパケットPOUTaをパケット変換部51により生成してPCIeインタフェース20aに出力し、PCIeインタフェース20aから受信するパケットPINaから入力信号INaを取り出す。これにより、FPGA10a、10b間の信号の送受信を、PCIeのような標準的なインタフェースを使用して行うことができる。標準的なインタフェースを使用する場合にも、FPGA10a、10bの搭載論理40a、40bの動作を互いに同期させることができる。 Furthermore, the synchronization control circuit 30a generates a packet POUTa including the output signal OUTa by the packet conversion unit 51, outputs it to the PCIe interface 20a, and extracts the input signal INa from the packet PINa received from the PCIe interface 20a. Thereby, signals can be transmitted and received between the FPGAs 10a and 10b using a standard interface such as PCIe. Even when using a standard interface, the operations of the onboard logic 40a, 40b of the FPGAs 10a, 10b can be synchronized with each other.

さらに、PCIeインタフェース20aの動作クロックである基準クロックRCLKaを使用して同期クロックSCLKaを生成することで、図7に示すように、基準クロックRCLKaに同期する同期クロックSCLKaを生成することができる。これにより、PCIeインタフェース20aの動作に合わせて、PCIeインタフェース20aに対してパケットを送受信することができる。この結果、基準クロックRCLKaに同期しない同期クロックSCLKaを生成する場合に比べて、同期制御回路30aのタイミング設計を容易にすることができ、タイミング余裕を確保することができる。 Furthermore, by generating the synchronous clock SCLKa using the reference clock RCLKa, which is the operating clock of the PCIe interface 20a, it is possible to generate the synchronous clock SCLKa that is synchronized with the reference clock RCLKa, as shown in FIG. Thereby, packets can be sent and received to and from the PCIe interface 20a in accordance with the operation of the PCIe interface 20a. As a result, compared to the case where the synchronous clock SCLKa that is not synchronized with the reference clock RCLKa is generated, the timing design of the synchronous control circuit 30a can be made easier and a timing margin can be secured.

サイクルEにおいて、搭載論理40aは、同期クロックSCLKaに基づいて動作を1クロックサイクル分実行し、後続の出力信号OUTa(=A2)を同期制御回路30aに出力する(図7(q))。また、搭載論理40aは、動作の実行結果を図1のPCIeインタフェース22aを介してサーバ300に出力する。 In cycle E, the mounted logic 40a executes an operation for one clock cycle based on the synchronization clock SCLKa, and outputs the subsequent output signal OUTa (=A2) to the synchronization control circuit 30a (FIG. 7(q)). Additionally, the onboard logic 40a outputs the execution results of the operations to the server 300 via the PCIe interface 22a in FIG.

同期制御回路30aは、出力信号OUTa(=A2)に基づいてパケットPOUTa(A2-1、A2-2)を生成し、生成したパケットPOUTaを基準クロックRCLKaの2クロックサイクルでPCIeインタフェース20aに出力する。データA2-1は、サイクルEに出力され、データA2-2は、サイクルFに出力される。パケットPOUTa(A2-1、A2-2)の出力の完了に基づいて、送信フラグTFLGaが論理値0から論理値1に変化する(図7(r))。これにより、送信フラグTFLGaが論理値1の間、後続のパケットPOUTaのPCIeインタフェース20aへの出力が抑止される。 The synchronization control circuit 30a generates a packet POUTa (A2-1, A2-2) based on the output signal OUTa (=A2), and outputs the generated packet POUTa to the PCIe interface 20a in two clock cycles of the reference clock RCLKa. . Data A2-1 is output in cycle E, and data A2-2 is output in cycle F. Based on the completion of outputting the packet POUTa (A2-1, A2-2), the transmission flag TFLGa changes from a logical value of 0 to a logical value of 1 (FIG. 7(r)). As a result, while the transmission flag TFLGa has a logical value of 1, output of the subsequent packet POUTa to the PCIe interface 20a is suppressed.

一方、サイクルDとサイクルEにおいて、FPGA10bの同期制御回路30bは、PCIeインタフェース20bを介してFPGA10aからのパケットPINb(A1-1、A1-2)を順次受信する(図7(s))。パケット変換部61は、データA1-1、A1-2に基づいて入力信号INb(A1)を生成し、サイクルFにおいて、生成した入力信号INb(A1)を搭載論理40bに出力する(図7(t))。 On the other hand, in cycle D and cycle E, the synchronization control circuit 30b of the FPGA 10b sequentially receives packets PINb (A1-1, A1-2) from the FPGA 10a via the PCIe interface 20b (FIG. 7(s)). The packet converter 61 generates an input signal INb (A1) based on the data A1-1 and A1-2, and outputs the generated input signal INb (A1) to the on-board logic 40b in cycle F (see FIG. 7). t)).

同期制御回路30bは、入力信号INb(A1)の受信の完了に基づいて受信フラグRFLGbを論理値1にセットする(図7(u))。これにより、同期制御回路30bの同期クロック生成部70は、同期クロックSCLKbを生成する(図7(v))。また、同期クロックSCLKbの生成により、サイクルGにおいて、送信フラグTFLGbおよび受信フラグRFLGbが論理値0にリセットされる(図7(w)、(x))。これにより、後続の出力信号のPCIeインタフェース20bへの出力が許可され、後続の入力信号のPCIeインタフェース20bからの受信が許可される。 The synchronization control circuit 30b sets the reception flag RFLGb to a logical value of 1 based on the completion of reception of the input signal INb (A1) (FIG. 7(u)). As a result, the synchronous clock generation section 70 of the synchronous control circuit 30b generates the synchronous clock SCLKb (FIG. 7(v)). Furthermore, due to the generation of the synchronization clock SCLKb, the transmission flag TFLGb and the reception flag RFLGb are reset to logical value 0 in cycle G ((w), (x) in FIG. 7). As a result, output of subsequent output signals to the PCIe interface 20b is permitted, and reception of subsequent input signals from the PCIe interface 20b is permitted.

サイクルGにおいて、搭載論理40bは、同期クロックSCLKbに基づいて、動作を1クロックサイクル分実行し、後続の出力信号OUTb(=B2)を同期制御回路30bに出力する(図7(y))。同期制御回路30bは、出力信号OUTb(=B2)に基づいてパケットPOUTb(B2-1、B2-2)を生成し、基準クロックRCLKbの2クロックサイクルでデータB2-1、B2-2をPCIeインタフェース20bに出力する。 In cycle G, the mounted logic 40b executes the operation for one clock cycle based on the synchronization clock SCLKb, and outputs the subsequent output signal OUTb (=B2) to the synchronization control circuit 30b (FIG. 7(y)). The synchronization control circuit 30b generates a packet POUTb (B2-1, B2-2) based on the output signal OUTb (=B2), and transfers the data B2-1 and B2-2 to the PCIe interface in two clock cycles of the reference clock RCLKb. 20b.

データB2-1は、サイクルGに出力され、データB2-2は、サイクルGの次のサイクルに出力される。パケットPOUTb(B2-1、B2-2)の出力の完了に基づいて、送信フラグTFLGbが論理値0から論理値1に変化する(図7(z))。これにより、送信フラグTFLGbが論理値1の間、後続の出力信号のPCIeインタフェース20bへの出力が抑止される。 Data B2-1 is output in cycle G, and data B2-2 is output in the cycle following cycle G. Based on the completion of output of packet POUTb (B2-1, B2-2), the transmission flag TFLGb changes from logical value 0 to logical value 1 (FIG. 7(z)). As a result, while the transmission flag TFLGb has a logical value of 1, output of subsequent output signals to the PCIe interface 20b is suppressed.

以上の動作により、図7に示すクロックサイクルの間に、同期クロックSCLKa、SCLKbがそれぞれ2回ずつ生成される。したがって、各FPGA10a、10bに独立して設けられる同期制御回路30a、30bにより、搭載論理40a、40bを互いに同期して動作させることができる。 Through the above operation, the synchronous clocks SCLKa and SCLKb are each generated twice during the clock cycle shown in FIG. Therefore, the on-board logic 40a, 40b can be operated in synchronization with each other by the synchronous control circuits 30a, 30b provided independently in each FPGA 10a, 10b.

図8は、図7のサイクルAでの各FPGA10a、10bの状態の一例を示す。図9は、図7のサイクルBでの各FPGA10a、10bの状態の一例を示す。図10は、図7のサイクルCでの各FPGA10a、10bの状態の一例を示す。図11は、図7のサイクルDでの各FPGA10a、10bの状態の一例を示す。図12は、図7のサイクルEでの各FPGA10a、10bの状態の一例を示す。 FIG. 8 shows an example of the state of each FPGA 10a and 10b in cycle A of FIG. FIG. 9 shows an example of the state of each FPGA 10a and 10b in cycle B of FIG. FIG. 10 shows an example of the state of each FPGA 10a and 10b in cycle C of FIG. FIG. 11 shows an example of the state of each FPGA 10a, 10b in cycle D of FIG. FIG. 12 shows an example of the state of each FPGA 10a and 10b in cycle E of FIG.

図13は、図7のサイクルFでの各FPGA10a、10bの状態の一例を示す。図14は、図7のサイクルGでの各FPGA10a、10bの状態の一例を示す。なお、図8から図14では、送信制御部50および受信制御部60の記載は省略する。また、同期クロック生成部70は簡略化して示す。 FIG. 13 shows an example of the state of each FPGA 10a and 10b in cycle F of FIG. FIG. 14 shows an example of the state of each FPGA 10a, 10b in cycle G of FIG. Note that in FIGS. 8 to 14, descriptions of the transmission control section 50 and reception control section 60 are omitted. Furthermore, the synchronous clock generation unit 70 is shown in a simplified manner.

以上、図1から図14に示す実施形態では、FPGA10a、10bの各々に設けられる同期制御回路30a、30bにより、搭載論理40a、40bを互いに同期して動作させることができる。例えば、同期制御回路30a、30b毎に、送信フラグTFLGa、TFLGbと受信フラグRFLGa、RFLGbのセット/リセットを制御することで、搭載論理40a、40bを互いに同期して動作させることができる。 As described above, in the embodiments shown in FIGS. 1 to 14, the onboard logics 40a and 40b can be operated in synchronization with each other by the synchronous control circuits 30a and 30b provided in each of the FPGAs 10a and 10b. For example, by controlling the setting/resetting of the transmission flags TFLGa, TFLGb and the reception flags RFLGa, RFLGb for each of the synchronization control circuits 30a, 30b, the mounted logics 40a, 40b can be operated in synchronization with each other.

このため、論理の規模が大きく、例えば、ASICに搭載する論理を複数のFPGA10a、10bに分割して搭載する場合にも、同期動作を実現することができる。換言すれば、ASIC等の論理回路の規模にかかわらず、同期動作を実現することができる。この結果、FPGA10a、10bにプログラムした回路(ハードウェア)を動作させて論理検証を実施することでき、論理検証シミュレーターを使用する場合に比べて、高速に論理検証を実施することができる。 Therefore, even when the scale of logic is large, for example, when the logic mounted on an ASIC is divided and mounted on a plurality of FPGAs 10a and 10b, synchronous operation can be realized. In other words, synchronous operation can be achieved regardless of the scale of a logic circuit such as an ASIC. As a result, logic verification can be performed by operating circuits (hardware) programmed in the FPGAs 10a and 10b, and logic verification can be performed faster than when using a logic verification simulator.

同期制御回路30aは、信号A1の送信の完了に基づいて送信フラグTFLGaをセットし、信号B1の受信の完了に基づいて受信フラグRFLGaをセットする。これにより、図7に示したように、複数サイクルで信号A1が送信され、複数サイクルで信号B1が受信される場合にも、搭載論理40a、40bを互いに同期して動作させることができる。 The synchronization control circuit 30a sets a transmission flag TFLGa based on the completion of transmission of the signal A1, and sets a reception flag RFLGa based on the completion of reception of the signal B1. Thereby, as shown in FIG. 7, even when the signal A1 is transmitted in multiple cycles and the signal B1 is received in multiple cycles, the mounted logics 40a and 40b can be operated in synchronization with each other.

同期制御回路30aは、出力信号OUTaを含むパケットPOUTaをパケット変換部51により生成してPCIeインタフェース20aに出力し、PCIeインタフェース20aから受信するパケットPINaから入力信号INaを取り出す。これにより、FPGA10a、10b間の信号の送受信を、PCIeのような標準的なインタフェースを使用して行うことができる。標準的なインタフェースを使用する場合にも、FPGA10a、10bの搭載論理40a、40bの動作を互いに同期させることができる。 The synchronization control circuit 30a generates a packet POUTa including the output signal OUTa by the packet conversion unit 51, outputs it to the PCIe interface 20a, and extracts the input signal INa from the packet PINa received from the PCIe interface 20a. Thereby, signals can be transmitted and received between the FPGAs 10a and 10b using a standard interface such as PCIe. Even when using a standard interface, the operations of the onboard logic 40a, 40b of the FPGAs 10a, 10b can be synchronized with each other.

PCIeインタフェース20aの動作クロックである基準クロックRCLKaを使用して同期クロックSCLKaを生成することで、図7に示すように、基準クロックRCLKaに同期する同期クロックSCLKaを生成することができる。これにより、PCIeインタフェース20aの動作に合わせて、PCIeインタフェース20aに対してパケットを送受信することができる。この結果、基準クロックRCLKaに同期しない同期クロックSCLKaを生成する場合に比べて、同期制御回路30aのタイミング設計を容易にすることができ、タイミング余裕を確保することができる。 By generating the synchronous clock SCLKa using the reference clock RCLKa, which is the operating clock of the PCIe interface 20a, it is possible to generate the synchronous clock SCLKa that is synchronized with the reference clock RCLKa, as shown in FIG. Thereby, packets can be sent and received to and from the PCIe interface 20a in accordance with the operation of the PCIe interface 20a. As a result, compared to the case where the synchronous clock SCLKa that is not synchronized with the reference clock RCLKa is generated, the timing design of the synchronous control circuit 30a can be made easier and a timing margin can be secured.

図15は、別の実施形態における検証装置を含む検証システムの一例を示す。上述した実施形態と同様の要素については、同じ符号を付し、詳細な説明は省略する。図15に示す検証システム102は、複数のFPGA10a、10b、10cを含む検証装置202と、検証装置202による論理検証を制御するサーバ300とを有する。FPGA10a、10bは、FPGA10a、10b間にFPGA10cが接続されることを除き、図1に示したFPGA10a、10bと同様の構成および機能を有する。 FIG. 15 shows an example of a verification system including a verification device in another embodiment. Elements similar to those in the embodiment described above are denoted by the same reference numerals, and detailed description thereof will be omitted. The verification system 102 shown in FIG. 15 includes a verification device 202 including a plurality of FPGAs 10a, 10b, and 10c, and a server 300 that controls logic verification by the verification device 202. The FPGAs 10a and 10b have the same configuration and function as the FPGAs 10a and 10b shown in FIG. 1, except that the FPGA 10c is connected between the FPGAs 10a and 10b.

検証装置202は、FPGA10a、10b、10cにそれぞれプログラムされた検証対象の搭載論理40a、40b、40cを互いに同期させて動作させる機能を有する。このために、図1と同様に、FPGA10aには、搭載論理40aとともに同期制御回路30aがプログラムされ、FPGA10bには、搭載論理40bとともに同期制御回路30bがプログラムされる。また、FPGA10cには、搭載論理40cとともに、互いに同期して動作する同期制御回路30c、32cがプログラムされる。 The verification device 202 has a function of synchronizing and operating the onboard logics 40a, 40b, and 40c to be verified that are programmed in the FPGAs 10a, 10b, and 10c, respectively. To this end, similarly to FIG. 1, the FPGA 10a is programmed with the synchronous control circuit 30a together with the on-board logic 40a, and the FPGA 10b is programmed with the synchronous control circuit 30b together with the on-board logic 40b. In addition, the FPGA 10c is programmed with synchronous control circuits 30c and 32c that operate in synchronization with each other, together with the on-board logic 40c.

特に限定されないが、FPGA10a、10b、10cの間、およびFPGA10aとサーバ300との間は、図1と同様に、それぞれPCIeインタフェースで接続される。しかしながら、FPGA10a、10b、10cの間、およびFPGA10aとサーバ300との間は、他の通信インタフェースを介して接続されてもよい。 Although not particularly limited, the FPGAs 10a, 10b, and 10c, and the FPGA 10a and the server 300 are connected by PCIe interfaces, as in FIG. 1. However, the FPGAs 10a, 10b, and 10c and the FPGA 10a and the server 300 may be connected via other communication interfaces.

FPGA10cのプログラム領域には、PCIeインタフェース20c、同期制御回路30c、搭載論理40c、同期制御回路32cおよびPCIeインタフェース22cがプログラムされ、この順に接続される。PCIeインタフェース20cは、FPGA10aのPCIeインタフェース20aに接続され、PCIeインタフェース22cは、FPGA10bのPCIeインタフェース20bに接続される。 A PCIe interface 20c, a synchronous control circuit 30c, an onboard logic 40c, a synchronous control circuit 32c, and a PCIe interface 22c are programmed in the program area of the FPGA 10c, and are connected in this order. The PCIe interface 20c is connected to the PCIe interface 20a of the FPGA 10a, and the PCIe interface 22c is connected to the PCIe interface 20b of the FPGA 10b.

図16は、図15のFPGA10cに搭載される同期制御回路30cの一例を示す。同期制御回路30cは、信号名が異なること、および、同期クロック生成部70を持たないことを除き、図3および図5に示した同期制御回路30aおよび図5に示した同期制御回路30bと同様の構成および機能を有する。 FIG. 16 shows an example of a synchronous control circuit 30c installed in the FPGA 10c of FIG. 15. The synchronous control circuit 30c is the same as the synchronous control circuit 30a shown in FIGS. 3 and 5 and the synchronous control circuit 30b shown in FIG. 5, except that the signal names are different and that it does not have the synchronous clock generation section 70. It has the following configuration and functions.

同期制御回路30cの受信制御部60は、PCIeインタフェース20cからパケットPINc1を受信し、パケットPINc1のペイロードの情報を含む入力信号INc1を搭載論理40cに出力する。同期制御回路30cの送信制御部50は、搭載論理40cから出力信号OUTc1を受信し、出力信号OUTc1の情報を含むパケットPOUTc1をPCIeインタフェース20cに出力する。 The reception control unit 60 of the synchronization control circuit 30c receives the packet PINc1 from the PCIe interface 20c, and outputs an input signal INc1 including payload information of the packet PINc1 to the onboard logic 40c. The transmission control unit 50 of the synchronization control circuit 30c receives the output signal OUTc1 from the mounted logic 40c, and outputs a packet POUTc1 containing information of the output signal OUTc1 to the PCIe interface 20c.

なお、受信制御部60のRSフリップフロップ62および送信制御部50のRSフリップフロップ52は、同期制御回路32c(図17)からクロックイネーブル信号CENcおよび同期クロックSCLKcを受信する。また、RSフリップフロップ62が出力する受信フラグRFLGc1およびRSフリップフロップ52が出力する送信フラグTFLGc1は、同期制御回路32cに出力される。 Note that the RS flip-flop 62 of the reception control section 60 and the RS flip-flop 52 of the transmission control section 50 receive the clock enable signal CENc and the synchronization clock SCLKc from the synchronization control circuit 32c (FIG. 17). Further, the reception flag RFLGc1 outputted from the RS flip-flop 62 and the transmission flag TFLGc1 outputted from the RS flip-flop 52 are outputted to the synchronization control circuit 32c.

図17は、図15のFPGA10cに搭載される同期制御回路32cの一例を示す。同期制御回路32cは、信号名が異なること、および、同期クロック生成部70の代わりに同期クロック生成部73を有することを除き、図3および図5に示した同期制御回路30aと同様の構成および機能を有する。 FIG. 17 shows an example of the synchronous control circuit 32c installed in the FPGA 10c of FIG. 15. The synchronous control circuit 32c has the same configuration and structure as the synchronous control circuit 30a shown in FIGS. 3 and 5, except that the signal names are different and that the synchronous clock generator 73 is included instead of the synchronous clock generator 70. Has a function.

同期制御回路32cの送信制御部50は、搭載論理40cから出力信号OUTc2を受信し、出力信号OUTc2の情報を含むパケットPOUTc2をPCIeインタフェース22cに出力する。同期制御回路32cの受信制御部60は、PCIeインタフェース22cからパケットPINc2を受信し、パケットPINc1のペイロードの情報を含む入力信号INc2を搭載論理40cに出力する。 The transmission control unit 50 of the synchronization control circuit 32c receives the output signal OUTc2 from the onboard logic 40c, and outputs a packet POUTc2 containing information on the output signal OUTc2 to the PCIe interface 22c. The reception control unit 60 of the synchronization control circuit 32c receives the packet PINc2 from the PCIe interface 22c, and outputs an input signal INc2 containing information on the payload of the packet PINc1 to the onboard logic 40c.

なお、搭載論理40cは、同期制御回路30c(図16)から受信する入力信号INc1を使用して、所定の機能の動作を実行し、動作により得られた出力信号OUTc2を同期制御回路32cに出力する。また、搭載論理40cは、同期制御回路32cから受信する入力信号INc2を使用して、所定の機能の動作を実行し、動作により得られた出力信号OUTc1を同期制御回路30cに出力する。 Note that the onboard logic 40c executes an operation of a predetermined function using the input signal INc1 received from the synchronous control circuit 30c (FIG. 16), and outputs an output signal OUTc2 obtained by the operation to the synchronous control circuit 32c. do. Furthermore, the mounted logic 40c executes an operation of a predetermined function using the input signal INc2 received from the synchronous control circuit 32c, and outputs an output signal OUTc1 obtained by the operation to the synchronous control circuit 30c.

同期クロック生成部73は、4入力のアンド回路AND4およびラッチ回路71を有する。アンド回路AND4は、同期制御回路30c内で生成される送信フラグTFLGc1および受信フラグRFLGc1と、同期制御回路32c内で生成される送信フラグTFLGc2および受信フラグRFLGc2とを受ける。 The synchronous clock generation section 73 includes a four-input AND circuit AND4 and a latch circuit 71. The AND circuit AND4 receives the transmission flag TFLGc1 and reception flag RFLGc1 generated within the synchronous control circuit 30c, and the transmission flag TFLGc2 and reception flag RFLGc2 generated within the synchronous control circuit 32c.

アンド回路AND4は、送信フラグTFLGc1、TFLGc2および受信フラグRFLGc1、RFLGc2の全てが論理値1(セット状態)の場合、クロックイネーブル信号CENcを有効レベル(論理値1)に設定する。アンド回路AND4は、送信フラグTFLGc1、TFLGc2または受信フラグRFLGc1、RFLGc2のいずれか1つが論理値0(リセット状態)の場合、クロックイネーブル信号CENcを無効レベル(論理値0)に設定する。 The AND circuit AND4 sets the clock enable signal CENc to a valid level (logical value 1) when all of the transmission flags TFLGc1 and TFLGc2 and the reception flags RFLGc1 and RFLGc2 have a logical value of 1 (set state). The AND circuit AND4 sets the clock enable signal CENc to an invalid level (logical value 0) when any one of the transmission flags TFLGc1, TFLGc2 or the reception flags RFLGc1, RFLGc2 has a logical value of 0 (reset state).

ラッチ回路71は、図3のラッチ回路71と同様に、基準クロックRCLKcに同期してクロックイネーブル信号CENcの論理値をラッチし、同期クロックSCLKcを生成する。クロックイネーブル信号CENcおよび同期クロックSCLKcは、同期制御回路32c内のRSフリップフロップ52、62と、同期制御回路30c内のRSフリップフロップ52、62とに供給される。 Like the latch circuit 71 in FIG. 3, the latch circuit 71 latches the logical value of the clock enable signal CENc in synchronization with the reference clock RCLKc, and generates the synchronized clock SCLKc. Clock enable signal CENc and synchronous clock SCLKc are supplied to RS flip-flops 52 and 62 in synchronous control circuit 32c and RS flip-flops 52 and 62 in synchronous control circuit 30c.

この実施形態では、同期クロック生成部73は、送信フラグTFLGc1、TFLGc2および受信フラグRFLGc1、RFLGc2の全てが論理値1にセットされた場合に、同期クロックSCLKcを出力する。そして、同期制御回路30cは、同期クロックSCLKcに同期して送信フラグTFLGc1および受信フラグRFLGc1を論理値0にリセットし、信号の送受信が可能な状態に設定される。同様に、同期制御回路32cは、同期クロックSCLKcに同期して送信フラグTFLGc2および受信フラグRFLGc2を論理値0にリセットし、信号の送受信が可能な状態に設定される。 In this embodiment, the synchronous clock generation unit 73 outputs the synchronous clock SCLKc when all of the transmission flags TFLGc1 and TFLGc2 and the reception flags RFLGc1 and RFLGc2 are set to logical value 1. Then, the synchronization control circuit 30c resets the transmission flag TFLGc1 and the reception flag RFLGc1 to logical value 0 in synchronization with the synchronization clock SCLKc, and is set in a state where signal transmission and reception are possible. Similarly, the synchronization control circuit 32c resets the transmission flag TFLGc2 and the reception flag RFLGc2 to logical value 0 in synchronization with the synchronization clock SCLKc, and is set to a state in which signal transmission and reception are possible.

このように、共通の同期クロックSCLKcを使用することで、同期制御回路30c、32cによる信号の送受信の制御を同期させることができる。これにより、上述した実施形態と同様に、FPGA10a、10b内の搭載論理40a、40bを、FPGA10c内の搭載論理40cの動作と同期して動作させることができる。 In this way, by using the common synchronization clock SCLKc, control of signal transmission and reception by the synchronization control circuits 30c and 32c can be synchronized. Thereby, similarly to the embodiment described above, the mounted logics 40a and 40b in the FPGAs 10a and 10b can be operated in synchronization with the operation of the mounted logic 40c in the FPGA 10c.

以上、この実施形態においても図1から図14に示した実施形態と同様の効果を得ることができる。さらに、この実施形態では、論理の規模が大きく、例えば、ASICに搭載する論理を3以上のFPGA10a、10b、10cに分割して搭載する場合にも、同期動作を実現することができる。換言すれば、ASIC等の論理回路の規模にかかわらず、同期動作を実現することができる。 As described above, the same effects as the embodiments shown in FIGS. 1 to 14 can be obtained in this embodiment as well. Furthermore, in this embodiment, even when the scale of logic is large, for example, when the logic mounted on an ASIC is divided and mounted on three or more FPGAs 10a, 10b, and 10c, synchronous operation can be realized. In other words, synchronous operation can be achieved regardless of the scale of a logic circuit such as an ASIC.

図18は、別の実施形態における検証装置を含む検証システムの一例を示す。上述した実施形態と同様の要素については、同じ符号を付し、詳細な説明は省略する。図18に示す検証システム104は、複数のFPGA10d、10b、10eを含む検証装置204と、検証装置204による論理検証を制御するサーバ300とを有する。FPGA10bは、FPGA10dと接続されることを除き、図1に示したFPGA10bと同様の構成および機能を有する。FPGA10eは、FPGA10dと接続されることを除き、図1に示したFPGA10bと同様の構成および機能を有する。 FIG. 18 shows an example of a verification system including a verification device in another embodiment. Elements similar to those in the embodiment described above are denoted by the same reference numerals, and detailed description thereof will be omitted. The verification system 104 shown in FIG. 18 includes a verification device 204 including a plurality of FPGAs 10d, 10b, and 10e, and a server 300 that controls logic verification by the verification device 204. The FPGA 10b has the same configuration and functions as the FPGA 10b shown in FIG. 1 except that it is connected to the FPGA 10d. The FPGA 10e has the same configuration and functions as the FPGA 10b shown in FIG. 1 except that it is connected to the FPGA 10d.

FPGA10dのプログラム領域には、PCIeインタフェース20d、24d、同期制御回路30d、搭載論理40dおよびPCIeインタフェース22dがプログラムされ、この順に接続される。PCIeインタフェース20dは、FPGA10bのPCIeインタフェース20bに接続され、PCIeインタフェース24dは、FPGA10eのPCIeインタフェース20eに接続される。 In the program area of the FPGA 10d, PCIe interfaces 20d and 24d, a synchronous control circuit 30d, an onboard logic 40d, and a PCIe interface 22d are programmed and connected in this order. The PCIe interface 20d is connected to the PCIe interface 20b of the FPGA 10b, and the PCIe interface 24d is connected to the PCIe interface 20e of the FPGA 10e.

例えば、論理検証の実行時、PCIeインタフェース22dは、サーバ300から受信するシリアルのデータをパラレルのデータに変換して搭載論理40dに出力する。搭載論理40dは、PCIeインタフェース22dから受信するデータを使用して、所定の機能の動作を実行し、動作により得られたデータをPCIeインタフェース20d、24dにそれぞれ出力する。また、搭載論理40dは、PCIeインタフェース20d、24dからそれぞれ受信するデータを使用して、所定の機能の動作を実行し、動作により得られたデータをPCIeインタフェース22dに出力する。 For example, when performing logic verification, the PCIe interface 22d converts serial data received from the server 300 into parallel data and outputs it to the mounted logic 40d. The onboard logic 40d uses the data received from the PCIe interface 22d to execute a predetermined functional operation, and outputs the data obtained from the operation to the PCIe interfaces 20d and 24d, respectively. Furthermore, the onboard logic 40d executes an operation of a predetermined function using the data received from the PCIe interfaces 20d and 24d, respectively, and outputs the data obtained by the operation to the PCIe interface 22d.

同期制御回路30dは、搭載論理40dに対して送受信するデータと、PCIeインタフェース20dに対して送受信するデータと、PCIeインタフェース24dに対して送受信するデータとを相互に同期させる制御を実行する。同期制御回路30dの例は、図19で説明する。 The synchronization control circuit 30d executes control to mutually synchronize data transmitted to and received from the mounted logic 40d, data transmitted to and received from the PCIe interface 20d, and data transmitted to and received from the PCIe interface 24d. An example of the synchronous control circuit 30d will be explained with reference to FIG.

図19は、図18のFPGA10dに搭載される同期制御回路30dの一例を示す。図3および図17と同様の構成および機能については、同じ符号を付し、詳細な説明は省略する。同期制御回路30dは、送信制御部501、502、受信制御部601、602および同期クロック生成部73を有する。 FIG. 19 shows an example of a synchronous control circuit 30d installed in the FPGA 10d of FIG. 18. The same configurations and functions as those in FIGS. 3 and 17 are denoted by the same reference numerals, and detailed explanations will be omitted. The synchronization control circuit 30d includes transmission control sections 501 and 502, reception control sections 601 and 602, and a synchronization clock generation section 73.

送信制御部501、502は、それぞれ図3に示した送信制御部50と同様の構成および機能を有する。送信制御部501は、搭載論理40dから出力される出力信号OUTd1をパケットPOUTd1に変換する。送信制御部502は、搭載論理40dから出力される出力信号OUTd2をパケットPOUTd2に変換する。 Transmission control units 501 and 502 each have the same configuration and function as transmission control unit 50 shown in FIG. 3. The transmission control unit 501 converts the output signal OUTd1 output from the mounted logic 40d into a packet POUTd1. The transmission control unit 502 converts the output signal OUTd2 output from the mounted logic 40d into a packet POUTd2.

受信制御部601、602は、それぞれ図3に示した受信制御部60と同様の構成および機能を有する。受信制御部601は、PCIeインタフェース20dから受信するパケットPINd1からデータ(ペイロード)を抽出し、抽出したデータを入力信号INd1として搭載論理40dに出力する。受信制御部602は、PCIeインタフェース24dから受信するパケットPINd2からデータ(ペイロード)を抽出し、抽出したデータを入力信号INd2として搭載論理40dに出力する。 Reception control units 601 and 602 each have the same configuration and function as reception control unit 60 shown in FIG. 3. The reception control unit 601 extracts data (payload) from the packet PINd1 received from the PCIe interface 20d, and outputs the extracted data to the mounted logic 40d as an input signal INd1. The reception control unit 602 extracts data (payload) from the packet PINd2 received from the PCIe interface 24d, and outputs the extracted data to the mounted logic 40d as an input signal INd2.

同期クロック生成部73は、図17の同期クロック生成部73と同様の構成および機能を有する。同期クロック生成部73は、送信フラグTFLGd1、TFLGd2および受信フラグRFLGd1、RFLGd2の全てが論理値1の場合、クロックイネーブル信号CENdを有効レベル(論理値1)に設定する。そして、同期クロック生成部73は、基準クロックRCLKcに同期してクロックイネーブル信号CENcの論理値をラッチし、同期クロックSCLKdを生成する。また、同期クロック生成部73は、送信フラグTFLGd1、TFLGd2または受信フラグRFLGd1、RFLGd2のいずれか1つが論理値0の場合、クロックイネーブル信号CENdを無効レベル(論理値0)に設定する。クロックイネーブル信号CENdおよび同期クロックSCLKdは、送信制御部501、502内のRSフリップフロップ52と、受信制御部601、602内のRSフリップフロップ62とに供給される。 The synchronous clock generation section 73 has the same configuration and function as the synchronous clock generation section 73 in FIG. 17 . When the transmission flags TFLGd1 and TFLGd2 and the reception flags RFLGd1 and RFLGd2 all have a logical value of 1, the synchronous clock generation unit 73 sets the clock enable signal CENd to a valid level (logical value of 1). Then, the synchronous clock generation section 73 latches the logical value of the clock enable signal CENc in synchronization with the reference clock RCLKc, and generates the synchronous clock SCLKd. Furthermore, when any one of the transmission flags TFLGd1 and TFLGd2 or the reception flags RFLGd1 and RFLGd2 has a logical value of 0, the synchronous clock generation unit 73 sets the clock enable signal CENd to an invalid level (logical value of 0). The clock enable signal CENd and the synchronization clock SCLKd are supplied to the RS flip-flop 52 in the transmission control sections 501 and 502 and the RS flip-flop 62 in the reception control sections 601 and 602.

この実施形態においても、図16および図17に示した実施形態と同様に、同期制御回路30dは、同期クロックSCLKdに同期して送信フラグTFLGd1、TFLGd2および受信フラグRFLGd1、RFLGd2をリセットする。そして、同期制御回路30dは、信号の送受信が可能な状態に設定される。これにより、FPGA10dの搭載論理40dと、同期制御回路30dを介して接続されるFPGA10b、10eの搭載論理40b、40eとを互いに同期して動作させることができる。 Also in this embodiment, similarly to the embodiments shown in FIGS. 16 and 17, the synchronization control circuit 30d resets the transmission flags TFLGd1, TFLGd2 and the reception flags RFLGd1, RFLGd2 in synchronization with the synchronization clock SCLKd. The synchronization control circuit 30d is then set to a state in which it can transmit and receive signals. Thereby, the mounted logic 40d of the FPGA 10d and the mounted logics 40b and 40e of the FPGAs 10b and 10e connected via the synchronization control circuit 30d can be operated in synchronization with each other.

例えば、入り口側(前段側)の論理規模より奥側の論理規模が大きく、奥側の論理を複数のFPGA10b、10eにプログラムする場合にも、FPGA10d、10b、10eの搭載論理40d、40b、40eを互いに同期して動作させることができる。 For example, even when the logic scale on the back side is larger than the logic scale on the entrance side (previous stage side) and the logic on the back side is programmed into multiple FPGAs 10b and 10e, the mounted logic 40d, 40b, 40e of the FPGAs 10d, 10b, 10e can be operated in synchronization with each other.

以上、この実施形態においても図1から図17に示した実施形態と同様の効果を得ることができる。 As described above, the same effects as the embodiments shown in FIGS. 1 to 17 can be obtained in this embodiment as well.

なお、上述した実施形態では、複数のFPGA10に分割してプログラムされた論理を検証する検証装置200(または、202、204)に適用する例を記載した。しかしながら、上述した実施形態は、複数のFPGA10にプログラムされる論理が互いに同期して動作することで、所定の機能を実現する論理回路を含むシステムに適用されてもよい。 In addition, in the embodiment described above, an example was described in which the present invention is applied to the verification device 200 (or 202, 204) that verifies logic that is divided and programmed into a plurality of FPGAs 10. However, the embodiments described above may be applied to a system including a logic circuit that realizes a predetermined function by operating the logics programmed in a plurality of FPGAs 10 in synchronization with each other.

以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 The features and advantages of the embodiments will become apparent from the above detailed description. It is intended that the appended claims extend to the features and advantages of such embodiments without departing from the spirit and scope thereof. Additionally, all improvements and changes will be readily apparent to those having ordinary knowledge in the relevant technical field. Therefore, it is not intended that the scope of the inventive embodiments be limited to those described above, but suitable modifications and equivalents may be made within the scope disclosed in the embodiments.

10a、10b、10c、10d、10e FPGA
20a、20b、20c、20d、20e PCIeインタフェース
22a、22b、22c、22d PCIeインタフェース
24d PCIeインタフェース
30a、30b、30c、30d、30e 同期制御回路
32c 同期制御回路
40a、40b、40c、40d、40e 搭載論理
50、501、502 送信制御部
51 パケット変換部
52 RSフリップフロップ
60、601、602 受信制御部
61 パケット変換部
62 RSフリップフロップ
70 同期クロック生成部
71 ラッチ回路
100、102、104 検証システム
200、202、204 検証装置
300 サーバ
CENa、CENc クロックイネーブル信号
INa、INb、INc1、INc2 入力信号
INd1、INd2 入力信号
OUTa、OUTb、OUTc1、OUTc2 出力信号
OUTd1、OUTd2 出力信号
PINa、PINb、PINc1、PINc2 パケット
PINd1、PINd2 パケット
POUTa、POUTb、POUTc1、POUTc2 パケット
POUTd1、POUTd2 パケット
RCLKa、RCLKb、RCLKc 基準クロック
RFLGa、RFLGb、RFLGc1、RFLGc2 受信フラグ
RFLGd1、RFLGd2 受信フラグ
SCLKa、SCLKb、SCLKc 同期クロック
TFLGa、TFLGb、TFLGc1、TFLGc2 送信フラグ
TFLGd1、TFLGd2 送信フラグ
10a, 10b, 10c, 10d, 10e FPGA
20a, 20b, 20c, 20d, 20e PCIe interface 22a, 22b, 22c, 22d PCIe interface 24d PCIe interface 30a, 30b, 30c, 30d, 30e Synchronous control circuit 32c Synchronous control circuit 40a, 40b, 40c, 40d, 40e Onboard logic 50, 501, 502 Transmission control section 51 Packet conversion section 52 RS flip-flop 60, 601, 602 Reception control section 61 Packet conversion section 62 RS flip-flop 70 Synchronous clock generation section 71 Latch circuit 100, 102, 104 Verification system 200, 202 , 204 Verification device 300 Server CENa, CENc Clock enable signal INa, INb, INc1, INc2 Input signal INd1, INd2 Input signal OUTa, OUTb, OUTc1, OUTc2 Output signal OUTd1, OUTd2 Output signal PINa, PINb, PINc1, P INc2 Packet PINd1, PINd2 Packet POUTa, POUTb, POUTc1, POUTc2 Packet POUTd1, POUTd2 Packet RCLKa, RCLKb, RCLKc Reference clock RFLGa, RFLGb, RFLGc1, RFLGc2 Reception flag RFLGd1, RFLGd2 Reception flag SC LKa, SCLKb, SCLKc Synchronous clock TFLGa, TFLGb, TFLGc1, TFLGc2 Transmission Flag TFLGd1, TFLGd2 Transmission flag

Claims (6)

論理回路が再構成可能にプログラムされるプログラマブル部に設けられ、前記プログラマブル部と他のプログラマブル部との間で送受信される信号を同期させる同期制御回路であって、
送信フラグのリセット中に、前記プログラマブル部にプログラムされた論理回路から出力信号を受信した場合、前記出力信号を送信インタフェースに出力し、前記送信フラグをセットする送信制御部と、
受信フラグのリセット中に、受信インタフェースから受信信号を受信した場合、前記プログラムされた論理回路に前記受信信号を出力し、前記受信フラグをセットする受信制御部と、
前記送信フラグおよび前記受信フラグがセットされた場合、前記プログラムされた論理回路に同期クロックを出力し、前記送信フラグおよび前記受信フラグをリセットする同期クロック生成部と、
を有する同期制御回路。
A synchronization control circuit provided in a programmable section in which a logic circuit is reconfigurably programmed, and synchronizing signals transmitted and received between the programmable section and another programmable section,
a transmission control unit that outputs the output signal to a transmission interface and sets the transmission flag when an output signal is received from a logic circuit programmed in the programmable unit while resetting the transmission flag;
a reception control unit that outputs the reception signal to the programmed logic circuit and sets the reception flag when a reception signal is received from the reception interface while the reception flag is being reset;
a synchronous clock generation unit that outputs a synchronous clock to the programmed logic circuit and resets the transmission flag and the reception flag when the transmission flag and the reception flag are set;
A synchronous control circuit with
他の複数のプログラマブル部との間で信号をそれぞれ送受信するプログラマブル部に含まれる、前記他の複数のプログラマブル部にそれぞれ対応する複数の前記同期制御回路の各々は、前記他の複数のプログラマブル部の各々に対応して前記送信制御部および前記受信制御部を有し、
前記同期クロック生成部は、複数の前記送信制御部に対応する複数の前記送信フラグと、複数の前記受信制御部に対応する複数の前記受信フラグとが全てセットされた場合、前記他の複数のプログラマブル部にそれぞれプログラムされた論理回路に前記同期クロックを出力し、複数の前記送信フラグと複数の前記受信フラグとをリセットする
請求項1に記載の同期制御回路。
Each of the plurality of synchronous control circuits corresponding to the other plurality of programmable parts, included in a programmable part that transmits and receives signals to and from each of the other plurality of programmable parts, is connected to the other plurality of programmable parts. the transmission control section and the reception control section corresponding to each of the above ;
When the plurality of transmission flags corresponding to the plurality of transmission control units and the plurality of reception flags corresponding to the plurality of reception control units are all set, the synchronous clock generation unit The synchronous control circuit according to claim 1, wherein the synchronous clock is output to logic circuits respectively programmed in the programmable section, and resets the plurality of transmission flags and the plurality of reception flags.
前記送信制御部は、前記出力信号の前記送信インタフェースへの出力の完了に基づいて前記送信フラグをセットし、前記同期クロックの出力に基づいて前記送信フラグをリセットする送信フラグ設定部を有し、
前記受信制御部は、前記受信信号の前記受信インタフェースからの受信の完了に基づいて前記受信フラグをセットし、前記同期クロックの出力に基づいて前記受信フラグをリセットする受信フラグ設定部を有する
請求項1または請求項2に記載の同期制御回路。
The transmission control unit includes a transmission flag setting unit that sets the transmission flag based on completion of outputting the output signal to the transmission interface, and resets the transmission flag based on the output of the synchronization clock,
The reception control unit includes a reception flag setting unit that sets the reception flag based on completion of reception of the reception signal from the reception interface, and resets the reception flag based on the output of the synchronization clock.
A synchronous control circuit according to claim 1 or claim 2.
前記送信制御部は、
前記論理回路から受信した出力信号の情報を含む送信パケットを生成するパケット変換部と、
前記送信フラグのリセット中に前記送信パケットを前記出力信号として前記送信インタフェースに出力し、前記送信フラグのセット中に前記送信パケットの前記送信インタフェースへの出力を抑止するパケット出力制御部と、を有し、
前記受信制御部は、
前記受信フラグのリセット中に前記受信インタフェースからの受信パケットを前記受信信号として出力し、前記受信フラグのセット中に前記受信インタフェースからの前記受信パケットの出力を抑止するパケット入力制御部と、
前記パケット入力制御部からの前記受信パケットに含まれる前記受信信号を取り出して前記プログラムされた論理回路に出力するパケット変換部と、
を有する請求項3に記載の同期制御回路。
The transmission control section includes:
a packet conversion unit that generates a transmission packet including information on the output signal received from the logic circuit;
a packet output control unit that outputs the transmission packet as the output signal to the transmission interface while the transmission flag is being reset, and suppresses output of the transmission packet to the transmission interface while the transmission flag is being set; death,
The reception control section includes:
a packet input control unit that outputs a received packet from the reception interface as the reception signal while the reception flag is reset, and suppresses output of the reception packet from the reception interface while the reception flag is set;
a packet conversion unit that extracts the received signal included in the received packet from the packet input control unit and outputs it to the programmed logic circuit;
The synchronous control circuit according to claim 3, comprising:
前記同期クロック生成部は、
前記送信フラグおよび前記受信フラグがセットされたことに基づいてクロックイネーブル信号を生成するイネーブル生成回路と、
前記送信インタフェースおよび前記受信インタフェースを動作させる動作クロックに同期して前記クロックイネーブル信号を受信し、受信したクロックイネーブル信号を前記同期クロックとして出力するクロック出力部と、
を有する請求項1ないし請求項4のいずれか1項に記載の同期制御回路。
The synchronous clock generation section includes:
an enable generation circuit that generates a clock enable signal based on the transmission flag and the reception flag being set;
a clock output unit that receives the clock enable signal in synchronization with an operating clock that operates the transmission interface and the reception interface, and outputs the received clock enable signal as the synchronization clock;
A synchronous control circuit according to any one of claims 1 to 4.
論理回路が再構成可能にプログラムされる複数のプログラマブル部間で送受信される信号を同期させる同期制御方法であって、
前記複数のプログラマブル部の各々が、
送信フラグのリセット中に、前記プログラマブル部にプログラムされた論理回路から出力信号を受信した場合、前記出力信号を送信インタフェースに出力し、前記送信フラグをセットし、
受信フラグのリセット中に、受信インタフェースから受信信号を受信した場合、前記プログラムされた論理回路に前記受信信号を出力し、前記受信フラグをセットし、
前記送信フラグおよび前記受信フラグがセットされた場合、前記プログラムされた論理回路に同期クロックを出力し、前記送信フラグおよび前記受信フラグをリセットする、同期制御方法。
A synchronous control method for synchronizing signals transmitted and received between a plurality of programmable parts in which logic circuits are reconfigurably programmed, the method comprising:
Each of the plurality of programmable parts,
If an output signal is received from a logic circuit programmed in the programmable part while resetting the transmission flag, outputting the output signal to a transmission interface and setting the transmission flag;
If a receive signal is received from the receive interface while the receive flag is being reset, outputting the receive signal to the programmed logic circuit and setting the receive flag;
A synchronous control method comprising, when the transmission flag and the reception flag are set, outputting a synchronous clock to the programmed logic circuit and resetting the transmission flag and the reception flag.
JP2020015018A 2020-01-31 2020-01-31 Synchronous control circuit and synchronous control method Active JP7351230B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020015018A JP7351230B2 (en) 2020-01-31 2020-01-31 Synchronous control circuit and synchronous control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020015018A JP7351230B2 (en) 2020-01-31 2020-01-31 Synchronous control circuit and synchronous control method

Publications (2)

Publication Number Publication Date
JP2021121909A JP2021121909A (en) 2021-08-26
JP7351230B2 true JP7351230B2 (en) 2023-09-27

Family

ID=77364886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020015018A Active JP7351230B2 (en) 2020-01-31 2020-01-31 Synchronous control circuit and synchronous control method

Country Status (1)

Country Link
JP (1) JP7351230B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084957A (en) 2003-09-09 2005-03-31 Nec Corp Circuit operation verification device and method
JP2008027225A (en) 2006-07-21 2008-02-07 Fujitsu Ten Ltd Simulation device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480609B1 (en) * 2005-01-31 2009-01-20 Sun Microsystems, Inc. Applying distributed simulation techniques to hardware emulation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084957A (en) 2003-09-09 2005-03-31 Nec Corp Circuit operation verification device and method
JP2008027225A (en) 2006-07-21 2008-02-07 Fujitsu Ten Ltd Simulation device

Also Published As

Publication number Publication date
JP2021121909A (en) 2021-08-26

Similar Documents

Publication Publication Date Title
EP1670199B1 (en) Design of channel alignment, error handling, and clock routing using hard-wired blocks for data transmission within programmable logic integrated circuits
US7003423B1 (en) Programmable logic resource with data transfer synchronization
JP6469365B2 (en) Method for providing general-purpose interface and microcontroller having general-purpose interface
EP2026493A1 (en) Method and systems for mesochronous communications in multiple clock domains and corresponding computer program product
US20200218215A1 (en) Circuit for coupling a field bus and a local bus
KR20140140507A (en) Method for providing a generic interface and microcontroller with generic interface
US9755663B1 (en) Parallel-serial conversion circuit, information processing apparatus and timing adjustment method
JP3919990B2 (en) Timing synchronization system, apparatus used in the system, and timing synchronization method
US6961691B1 (en) Non-synchronized multiplex data transport across synchronous systems
JP7351230B2 (en) Synchronous control circuit and synchronous control method
US8675798B1 (en) Systems, circuits, and methods for phase inversion
US8218448B1 (en) Control networks providing reliable communications between different entities
US6996785B1 (en) On-chip packet-based interconnections using repeaters/routers
US11243856B1 (en) Framing protocol supporting low-latency serial interface in an emulation system
Pendyala et al. 100-Mb/s enhanced data rate MIL-STD-1553B controller in 65-nm CMOS technology
CN113114187B (en) Asynchronous pulse transmission blocking unit, control method thereof and superconducting single-flux quantum circuit
TWI774295B (en) Method for data transmission control of inter field programmable gate array and associated apparatus
Romoth et al. Optimizing inter-FPGA communication by automatic channel adaptation
JP2011191893A (en) Logic verification device for divisionally mounted logic circuit
CN115186616A (en) Data transmission control method across field programmable gate array and related equipment
JP3285333B2 (en) Bus transfer device
KR101928942B1 (en) Apparatus and method for processing digital video data having verification module
Guruprasad et al. Performance realization of Bridge Model using Ethernet-MAC for NoC based system with FPGA Prototyping
KR20000020291A (en) System prototyping apparatus and operation method thereof
JP4090606B2 (en) Serial communication with multiple lines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230802

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230828

R150 Certificate of patent or registration of utility model

Ref document number: 7351230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150