JP7041285B2 - Hosts that communicate with the FPGA, methods of communicating with the FPGA, and communication systems - Google Patents
Hosts that communicate with the FPGA, methods of communicating with the FPGA, and communication systems Download PDFInfo
- Publication number
- JP7041285B2 JP7041285B2 JP2020568804A JP2020568804A JP7041285B2 JP 7041285 B2 JP7041285 B2 JP 7041285B2 JP 2020568804 A JP2020568804 A JP 2020568804A JP 2020568804 A JP2020568804 A JP 2020568804A JP 7041285 B2 JP7041285 B2 JP 7041285B2
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- interface
- host
- cable
- communicates
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Description
本発明は、プログラマブルロジックデバイス分野に関する。具体的には、FPGAと通信するホスト、FPGAと通信する方法、およびFPGAインターフェースチップに関する。 The present invention relates to the field of programmable logic devices. Specifically, the present invention relates to a host that communicates with the FPGA, a method of communicating with the FPGA, and an FPGA interface chip.
FPGA(Field-Programmable Gate Array、フィールド・プログラマブル・ゲート・アレイ)は、プログラマブルロジックデバイスである。FPGAチップでは、通常、オンチップ制御システムが統合される。当該オンチップ制御システムにおいて、ユーザがJTAG(Joint Test Action Group、共同テストアクショングループ)や、SPI(Serial Peripheral Interface、シリアル・ペリフェラル・インターフェース)のようなインターフェースを介してFPGAに対して配置し、デバッグしまたはソフトコアデータとハードコアデータを読み取り、書き込みなどの操作を行うことが許可される。通信プロセスでは、上位コンピュータは、異なるチャンネルを利用してFPGAと通信することができる。受信側には、通常、ホストのメッセージを送受信し、FPGAと直接通信するために用いられるインターフェースチップが設けられる。当該インターフェースチップで構成されるサブシステムは、一般にダウンローダ(cable)と呼ばれる。 FPGA (Field-Programmable Gate Array) is a programmable logic device. FPGA chips typically integrate with an on-chip control system. In the on-chip control system, the user places and debugs the FPGA via an interface such as JTAG (Joint Test Action Group) or SPI (Serial Peripheral Interface). It is also permitted to read and write soft-core data and hard-core data. In the communication process, the host computer can use different channels to communicate with the FPGA. The receiving side is usually provided with an interface chip used to send and receive host messages and directly communicate with the FPGA. The subsystem composed of the interface chip is generally called a downloader (cable).
本発明に係る態様により提供されるFPGAと通信するホスト、FPGAと通信する方法、およびFPGAインターフェースチップは、主にインターフェースソフトウェアの設計において、スケーラビリティが低く、複数種の通信リソースを並行して使用してFPGAインターフェースチップと通信することができないという従来の問題を解決することを目的とする。 The host communicating with the FPGA, the method of communicating with the FPGA, and the FPGA interface chip provided by the embodiment of the present invention have low scalability mainly in the design of the interface software, and use a plurality of types of communication resources in parallel. The purpose is to solve the conventional problem of not being able to communicate with the FPGA interface chip.
本発明のある態様によれば、伝送データを特定するように上位レイヤアプリケーションに公開される呼出インターフェースを定義するためのソフトウェアインターフェースモジュールと、前記呼出インターフェースにより前記伝送データを取得し、前記伝送データをプロトコルパケットモジュールに送信するホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可するリソース管理モジュールと、前記伝送データを受信し、FPGAのインターフェースプロトコルおよび前記cableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、前記データパケットをホストチャンネルインターフェースモジュールに送信する前記プロトコルパケットモジュールと、前記データパケットを受信し、前記データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルにより送信する前記ホストチャンネルインターフェースモジュールと、を含むFPGAと通信するホストが提供される。 According to an aspect of the present invention, a software interface module for defining a call interface exposed to a higher layer application so as to specify transmission data, the transmission data is acquired by the call interface, and the transmission data is obtained. A resource management module that manages the host interface chip cable object to be transmitted to the protocol packet module and allows at least two cable objects to be accessed in parallel at the same time, and the FPGA interface protocol and the cable object that receive the transmission data. Based on the channel protocol corresponding to, the protocol packet module that encapsulates the transmission data to acquire the data packet and transmits the data packet to the host channel interface module, and the protocol packet module that receives the data packet and transmits the data packet to the FPGA. A host that communicates with the FPGA is provided, including the host channel interface module, which is packaged and transmitted by channel based on a preset data format agreed with the interface chip.
本発明の他の態様によれば、前記FPGAインターフェースチップは、前記ホストから送信されるデータパケットを受信し、前記データパケットをFPGAに必要な通信信号に変換し、FPGAと直接通信を行うFPGAインターフェースチップが提供される。 According to another aspect of the present invention, the FPGA interface chip receives a data packet transmitted from the host, converts the data packet into a communication signal required for the FPGA, and directly communicates with the FPGA. Chips are provided.
本発明のその他の態様によれば、FPGAと通信するホストのソフトウェアインターフェースモジュールが、伝送データを特定可能に上位レイヤアプリケーションに公開される呼出インターフェースを定義するステップと、FPGAと通信する前記ホストのリソース管理モジュールが、前記呼出インターフェースにより前記伝送データを取得し、前記伝送データをプロトコルパケットモジュールに送信するホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可するステップと、前記プロトコルパケットモジュールが、前記伝送データを受信し、FPGAのインターフェースプロトコルおよび前記cableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、前記データパケットを前記FPGAと通信するホストのホストチャンネルインターフェースモジュールに送信するステップと、前記ホストチャンネルインターフェースモジュールが、前記データパケットを受信し、前記データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルを介してFPGAインターフェースチップに送信するステップと、前記FPGAインターフェースチップが、前記データパケットを受信し、前記データパケットをFPGAに必要な通信信号に変換し、FPGAと直接通信を行うステップと、を含むFPGAと通信する方法が提供される。 According to another aspect of the invention, the software interface module of the host communicating with the FPGA defines a call interface that exposes the transmitted data to a higher layer application so that the transmitted data can be identified, and the resource of the host communicating with the FPGA. A step that allows the management module to manage the host interface chip cable object that acquires the transmission data by the calling interface and transmits the transmission data to the protocol packet module, and allows at least two cable objects to be accessed in parallel at the same time. Then, the protocol packet module receives the transmission data, encapsulates the transmission data and acquires a data packet based on the interface protocol of the FPGA and the channel protocol corresponding to the cable object, and obtains the data packet from the data packet by the FPGA. The step of transmitting to the host channel interface module of the host communicating with the host channel interface module receives the data packet, packages the data packet based on the preset data format agreed with the FPGA interface chip, and channels. Includes a step of transmitting to the FPGA interface chip via the above, and a step of receiving the data packet, converting the data packet into a communication signal required for the FPGA, and directly communicating with the FPGA. A method of communicating with the FPGA is provided.
本発明の態様は、下記の有益な効果を奏する。
従来のインターフェースソフトウェアの設計において、スケーラビリティが低く、複数種の通信リソースを並行に使用してFPGAインターフェースチップと通信できないという問題を解決するために、FPGAと通信するホストおよびFPGAインターフェースチップが提供される。本発明に係るソフトウェアインターフェースモジュールは、上位レイヤアプリケーションに公開される呼出インターフェースを定義し、リソース管理モジュールは、ホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可し、cableオブジェクトは、呼出インターフェースを共有し、プロトコルパケットモジュールは、FPGAのインターフェースプロトコルおよびcableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、ホストチャンネルインターフェースモジュールは、データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルにより送信する。すなわち、本発明のFPGAと通信するホストは、インターフェースソフトウェアを階層化することにより、複数のインターフェースリソースに並行にアクセスすることを図る。また、利用されるソフトウェアインターフェースは、同一であるため、FPGAクラスターリソース管理に適する。また、本発明のFPGAと通信するホストは、移植性が良いため、完全に階層化されて異なるプラットフォームに移植されても、ホストチャンネルインターフェースだけが異なり、操作プロセスを変更する必要がないため、全体的なスケーラビリティと保守性が向上する。また、FPGA通信インターフェースの各操作を完全に抽象化することにより、呼出インターフェースソフトウェアの上位レイヤコードは、チャンネル、受信側ケーブル、インターフェースプロトコルのようなディテールを考慮しなくてよく、特定のFPGAの特定のインターフェースの通信プロセスだけに注目すればよい。
Aspects of the present invention have the following beneficial effects.
Hosts and FPGA interface chips that communicate with FPGAs are provided to solve the problem of poor scalability and inability to communicate with FPGA interface chips using multiple types of communication resources in parallel in traditional interface software designs. .. The software interface module according to the present invention defines a call interface exposed to a higher layer application, and the resource management module manages a host interface chip cable object and permits at least two cable objects to be accessed in parallel at the same time. The cable object shares the call interface, the protocol packet module encapsulates the transmission data and acquires the data packet based on the FPGA interface protocol and the channel protocol corresponding to the cable object, and the host channel interface module , The data packet is packaged according to the preset data format agreed with the FPGA interface chip and transmitted by channel. That is, the host communicating with the FPGA of the present invention aims to access a plurality of interface resources in parallel by layering the interface software. Moreover, since the software interfaces used are the same, it is suitable for FPGA cluster resource management. Further, since the host communicating with the FPGA of the present invention has good portability, even if it is completely layered and ported to a different platform, only the host channel interface is different and there is no need to change the operation process. Improves scalability and maintainability. Also, by completely abstracting each operation of the FPGA communication interface, the upper layer code of the calling interface software does not have to consider details such as channels, receiver cables, and interface protocols, and identifies a specific FPGA. You only need to pay attention to the communication process of the interface of.
以下、図面と実施例を参照しながら本発明を詳しく説明する。 Hereinafter, the present invention will be described in detail with reference to the drawings and examples.
本発明の目的、技術的解決策、及び利点をより明確に説明するために、図面を参照しながら、本発明の実施例をさらに詳しく説明する。ここで、記載される具体的な実施例は、本発明を説明するためのものに過ぎず、本発明を限定するものではない。 In order to more clearly explain the object, technical solution, and advantage of the present invention, embodiments of the present invention will be described in more detail with reference to the drawings. Here, the specific examples described are merely for explaining the present invention, and do not limit the present invention.
従来のFPGAメーカが開発した通信インターフェースソフトウェアには、一定の制限がある。例えば、ホストのUSBインターフェースケーブルを利用しなければFPGAと通信することができないため、複数のリソースを並行に使用することはできない。これにより、一度に一人のユーザしかリソースを利用することができないため、スケーラビリティが低いなどの欠点がある。一部のFPGAメーカは、ユーザがケーブル(実際、イーサネットインターフェースを介して回路基板上のFPGAにアクセスするもの)をローカルで仮想して通常のUSBケーブルとして利用できるように、ザイリンクスバーチャルケーブル(Xilinx Virtual Cable)のようなバーチャルケーブルのコンセプトを提案した。しかしながら、実際、このコンセプトを実現するためのソフトウェアが相互に独立したものであるため、FPGAの特定のオンチップインターフェースの通信プロセスコードを書き込む際に、異なるチャンネルに対して別々に書き込む必要がある。このため、開発リソースが浪費され、メンテナンスコストが増加する。上述の事情に鑑み、本発明は、以下の対策案を提示する。 Communication interface software developed by conventional FPGA manufacturers has certain restrictions. For example, since it is not possible to communicate with the FPGA without using the USB interface cable of the host, it is not possible to use multiple resources in parallel. As a result, only one user can use the resource at a time, which has a drawback such as low scalability. Some FPGA manufacturers allow users to locally virtualize a cable (actually one that accesses an FPGA on a circuit board via an Ethernet interface) and use it as a regular USB cable. I proposed the concept of virtual cable like Cable). However, in fact, because the software to realize this concept is independent of each other, when writing the communication process code of a particular on-chip interface of the FPGA, it is necessary to write it separately for different channels. This wastes development resources and increases maintenance costs. In view of the above circumstances, the present invention presents the following countermeasures.
実施例1
本実施例では、FPGA通信インターフェースの各操作を完全に抽象化することにより、呼出インターフェースソフトウェアの上位レイヤコードは、チャンネル、受信側ケーブル、インターフェースプロトコルのようなディテールを考慮しなくてよく、特定のFPGAの特定のインターフェースの通信プロセスだけに注目すればよい。これにより、ソフトウェア全体のスケーラビリティと保守性が向上する。図1に示すように、本実施例に係るホストは、FPGAと通信する。当該ホストは、コンピュータ、ノートパソコンなどであってもよいが、この限りではない。当該ホストは、ソフトウェアインターフェースモジュール101、リソース管理モジュール102、プロトコルパケットモジュール103、およびホストチャンネルインターフェースモジュール104を含む。
Example 1
In this embodiment, by completely abstracting each operation of the FPGA communication interface, the upper layer code of the calling interface software does not have to consider details such as channels, receiver cables, and interface protocols, and is specific. We only need to focus on the communication process of a particular interface of the FPGA. This improves the scalability and maintainability of the software as a whole. As shown in FIG. 1, the host according to this embodiment communicates with the FPGA. The host may be a computer, a laptop computer, or the like, but this is not the case. The host includes a
ソフトウェアインターフェースモジュール101は、上位レイヤアプリケーションに公開される呼出インターフェースを定義するためのものである。呼出インターフェースは、伝送データを特定するためのものである。
The
リソース管理モジュール102は、ホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列してアクセスすることを許可する。前記cableオブジェクトは、前記呼出インターフェースにより伝送データを取得し、伝送データをプロトコルパケットモジュール103に送信する。
The
プロトコルパケットモジュール103は、伝送データを受信し、FPGAのインターフェースプロトコルおよび前記cableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、データパケットをホストチャンネルインターフェースモジュール104に送信する。
The
ホストチャンネルインターフェースモジュール104は、データパケットを受信し、データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルにより送信する。
The host
係る実施例では、ソフトウェアインターフェースモジュール101によりユーザに公開される呼出インターフェースは、伝送データを特定することができる。リソース管理モジュール102によりFPGAインターフェースチップと通信するcableオブジェクトが確定される。cableオブジェクトは、呼出インターフェースにより伝送データを取得し、伝送データをプロトコルパケットモジュール103に送信する。プロトコルパケットモジュール103は、FPGAのインターフェースプロトコルおよび前記cableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、データパケットをホストチャンネルインターフェースモジュール104に送信する。
In such an embodiment, the calling interface exposed to the user by the
ここで、cableオブジェクトが異なれば、これに対応するチャンネルが異なる。cableオブジェクトは、USB(Universal Serial Bus、ユニバーサルシリアルバス)ケーブルが接続されるケーブル、イーサネットポートを介して接続される回路基板のケーブル、PCIE(peripheral component interconnect express、高速シリアルコンピュータ拡張バス規格)を介して接続されるPCIEカードのケーブル、およびプリンタパラレルポートに接続されるケーブルのうちの少なくとも一つを含む。cableオブジェクトに対応するチャンネルは、それぞれUSB、イーサネットポート、PCIE、およびプリンタパラレルポートである。ホストチャンネルインターフェースモジュール104は、チャンネルに関する処理のみを行い、データをパッケージ化する。そして、ホストチャンネルインターフェースモジュール104は、送信する際に、FPGAインターフェースチップと必要なデータパケットフォーマットを合意し、チャンネルに用いられるプロトコル規則に基づいてデータパケットを送信する必要がある。異なるFPGAインターフェースチップに対して、合意されたデータパケットフォーマットが異なる。
Here, if the cable object is different, the corresponding channel is different. The cable object is via a cable to which a USB (Universal Serial Bus) cable is connected, a circuit board cable connected via an Ethernet port, and a PCIE (peripheral component interconnect express, high-speed serial computer expansion bus standard). Includes at least one of the PCIE card cables connected to and the cable connected to the printer parallel port. The channels corresponding to the cable object are USB, Ethernet port, PCIe, and printer parallel port, respectively. The host
係る実施例では、ソフトウェアインターフェースモジュール101は、FPGAと通信するホストのインターフェースソフトウェアライブラリとして、ユーザに公開されるインターフェースを含む。呼出インターフェースは、FPGAと通信する基本ソフトウェアインターフェースを含む。図2A、図2B、図2Cに示すように、FPGAと通信するホストは、イーサネット、USB、LPTのようなケーブルやWi-Fi(ワイヤレスネット)を介してFPGAインターフェースチップに接続される。理解できるように、異なるタイプのFPGAインターフェースチップ、例えばUSB、イーサネット、WIFIなどは、通信プロセスがほぼ同じであり、必要なプロセスとしては、初期化してから接続し、データを相互に読み取り、書き出し、最後にリリースすることである。図3に示すように、FPGAと通信するホストは、イーサネットを介してFPGAインターフェースチップと通信するプロセスであり、具体的には、FPGAインターフェースチップは、特定のポートを監視し、接続を待機する。そして、FPGAと通信するホストは、IP(Internet Protocol、インターネットプロトコル)アドレスに基づいてソケット(socket)の接続を初期化し、接続が成功した後、FPGAと通信するホストは、ソケットによりデータの読み取り/書き込みを行い、FPGAインターフェースチップは、ソケット内のデータをデカプセルし、当該データをFPGAに必要な信号に変換する。その後、FPGAと通信するホストがリリースし、ソケットの接続が遮断され、FPGAインターフェースチップは、特定のポートを再度監視する。
In such an embodiment, the
そこで、本実施例では、FPGAと通信するホストが異なるタイプのFPGAインターフェースチップと通信できるように、ソフトウェアインターフェースモジュール101を統合して抽象化することにより、固定された基本ソフトウェアインターフェースが形成される。すなわち、上位レイヤソフトウェアは、各FPGAインターフェースチップと通信する際に、同じ基本ソフトウェアインターフェースを利用することができる。このため、本実施例に係る基本ソフトウェアインターフェースは、初期化(Init)インターフェース、データ書き込み(Write)インターフェース、データ読み取り(Read)インターフェース、およびリリース(Release)インターフェースを含む。例えば、FPGAと通信するホストがイーサネットを利用してFPGAインターフェースチップと通信する場合、初期化とは、TCP(Transmission Control Protocol、伝送制御プロトコル)/IPプロトコルを利用してシステムのソケットによりリモートのFPGAインターフェースチップとの接続をトライし、接続が成功した後、データパケットを送信し、特定の初期化操作を行い、FPGAインターフェースチップがデータパケットに対応する信号をホストに返信することであり、リリースとは、接続を遮断することであり、書き込みとは、バイナリデータをソケットへ書き込むことであり、読み取りとは、データをソケットから読み取ることである。FPGAと通信するホストがUSBを利用してFPGAインターフェースチップと通信する場合、初期化とは、システムインターフェースを呼び出してUSBデバイスを申請し、初期化操作を行うことであり、リリースとは、リソースをシステムへリリースすることであり、読み取り/書き込みとは、システムインターフェースを利用してデータを読み取り、書き込むことである。もちろん、FPGAと通信するホストとFPGAインターフェースチップとの間で伝送されたデータは、いずれも合意されたプリセットデータフォーマットに基づいてパッケージ化されるものである。
Therefore, in this embodiment, a fixed basic software interface is formed by integrating and abstracting the
係る実施例では、伝送データが前記基本ソフトウェアインターフェースに伝送される過程において、リクエストオブジェクトを定義する必要がある。リクエストオブジェクトが構造体であるため、伝送データの構造は、リクエストオブジェクトを含む。前記リクエストオブジェクトは、事前に定義された操作コード、データ、オブジェクト、コールバック関数、および拡張void(型なし)ポインターのうちの少なくとも一つを含み、上位レイヤコードが統一された形式で基本ソフトウェアインターフェースにアクセスすることが許可される。 In such an embodiment, it is necessary to define a request object in the process of transmitting transmission data to the basic software interface. Since the request object is a structure, the structure of the transmission data includes the request object. The request object contains at least one of a predefined operation code, data, object, callback function, and extended void (untyped) pointer, and is a basic software interface in a unified format with higher layer code. Is allowed access to.
係る実施例では、リソース管理モジュール102は、利用可能なすべてのcableオブジェクトを管理する。当該cableオブジェクトは、USBケーブルに接続されるケーブルのような実在のものであってもよく、イーサネットポートを介して接続される回路基板のインターフェースチップまたはPCIEを介して接続されるPCIEカードのインターフェースチップのようなバーチャルしたものであってもよい。リソース管理モジュール102は、各タイプのcableオブジェクトの具体的な数および占用される状況を具体的に管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可する。もちろん、当該少なくとも二つのcableオブジェクトは干渉しない。本実施例では、各cableオブジェクトを容易に管理するために、各cableオブジェクトは、区別されやすいように、唯一のMACアドレスと識別子が割り当てられる。これにより、リソース管理モジュール102は、cableオブジェクトを唯一に特定することができる。
In such an embodiment, the
係る実施例では、cableオブジェクトに割り当てられる識別子は、当該cableオブジェクトのタイプ属性を定義するために用いられる。当該識別子は、FPGAと通信するホストによってカスタム設定される。例えば、cableオブジェクトがUSB ケーブルである場合、cableオブジェクトに対応する識別子がUSBであり、cableオブジェクトがイーサネットバーチャルケーブルである場合、cableオブジェクトに対応する識別子がイーサネットである。係る実施例では、ケーブルのタイプが明示されれば、識別子は、カスタム番号などであってもよい。 In such an embodiment, the identifier assigned to the cable object is used to define the type attribute of the cable object. The identifier is custom set by the host communicating with the FPGA. For example, if the cable object is a USB cable, the identifier corresponding to the cable object is USB, and if the cable object is an Ethernet virtual cable, the identifier corresponding to the cable object is Ethernet. In such an embodiment, the identifier may be a custom number or the like, provided the cable type is specified.
ここで、ケーブル自身が実在のMACを有するか否かに関わらず、唯一のMACアドレスが唯一のリソース識別子としてケーブルに割り当てられる。具体的には、前記cableオブジェクトがUSB ケーブルである場合、前記MACアドレスは、USBのEEPROMに記録されるシリアル番号であり、前記cableオブジェクトがイーサネットバーチャルケーブルである場合、前記MACアドレスがイーサネットバーチャルケーブルのIPアドレスまたはFPGAインターフェースチップリアルMACアドレスであり、前記cableオブジェクトがPCIEボードのケーブルである場合、前記MACアドレスは、PCIEバスのアドレスまたはPCIEバス上のインターフェースチップ内のシリアル番号であり、前記cableオブジェクトがプリンタパラレルポートである場合、前記MACアドレスがパラレルポートアドレスである。 Here, the only MAC address is assigned to the cable as the only resource identifier, regardless of whether the cable itself has a real MAC. Specifically, when the cable object is a USB cable, the MAC address is a serial number recorded in the EEPROM of the USB, and when the cable object is an Ethernet virtual cable, the MAC address is an Ethernet virtual cable. IP address or FPGA interface chip When the cable object is a cable of a PCIE board, the MAC address is an address of the PCIE bus or a serial number in the interface chip on the PCIE bus, and the cable is If the object is a printer parallel port, the MAC address is the parallel port address.
ここで、ユーザは、FPGAインターフェースチップに接続される任意のcableオブジェクトを選択してもよい。具体的には、リソース管理モジュール102は、アクセス可能なcableオブジェクトリストをスキャンしてリストを作成した後、当該リストをユーザに提供する。
Here, the user may select any cable object connected to the FPGA interface chip. Specifically, the
係る実施例では、呼出インターフェースは、アクセス可能なcableオブジェクトを取得するプローブ(Probe)インターフェースを含み、当該プローブインターフェースは、現在アクセス可能なcableオブジェクトの使用状況を検出することができる。上位レイヤアプリケーションが前記FPGAと通信するアクセスcableオブジェクトを特定するために、リソース管理モジュール102は、リストを作成した後、プローブインターフェースによりリストを前記上位レイヤアプリケーションに返信する。
In such an embodiment, the calling interface includes a probe (Probe) interface for acquiring an accessible cable object, and the probe interface can detect the usage status of the currently accessible cable object. In order to identify the access cable object that the upper layer application communicates with the FPGA, the
係る実施例では、プロトコルパケットモジュール103は、主にFPGAのインターフェースプロトコルおよびチャンネルプロトコルに基づいて、受信した伝送データをカプセル化する。ここで、FPGAのハードコアとソフトコアは、通常、JTAG(Joint Test Action Group、ジョイントテストアクショングループ)、I2C(Inter-Integrated Circuit、2線式シリアルバス)、SPI(Serial Peripheral Interface、シリアルペリフェラルインターフェース)、および並列インターフェースなどのインターフェースをサポートする。これらのインターフェースプロトコルは、プロトコルの関連情報に基づいてアプリケーションレイヤで特別な処理を行う必要がある場合がある。
In such an embodiment, the
例えば、JTAGプロトコルについては、JTAGチェーンがある場合、実際、このチェーンに数多くのデバイスが設けられ、そのうちの一部がFPGAである可能性があり、そうでない可能性もある。このように、JTAGプロトコルソフトウェアは、必要に応じて一定の処理を行うことがある。例えば、JTAGコマンドを書き込む場合、チェーンの状況に応じて必要なバイパスコマンドを先に書き込む必要があり、JTAGデータを書き込む場合、1などを適当に足す必要がある。伝送データが伝送される場合、プロトコルパケットモジュール103は、チャンネルに用いられるプロトコルに基づいて伝送データを再度カプセル化する。例えば、イーサネットに対応するチャンネルを利用する場合、TCP/IPプロトコルに基づいて伝送データを再度カプセル化してホストチャンネルインターフェースモジュール104に送信するデータパケットを取得する。そして、TCP/IPデータをFPGAインターフェース情報により解析することで、抽出されるコンテンツは、合意されたプリセットデータパケットフォーマットである。
For example, for the JTAG protocol, if there is a JTAG chain, in fact, there are many devices in this chain, some of which may or may not be FPGAs. As described above, the JTAG protocol software may perform certain processing as necessary. For example, when writing a JTAG command, it is necessary to write a necessary bypass command first according to the chain situation, and when writing JTAG data, it is necessary to add 1 or the like appropriately. When the transmission data is transmitted, the
係る実施例では、ホストチャンネルインターフェースモジュール104とFPGAインターフェースチップとの間を通信するために、特定のフォーマットのデータを合意する必要がある。FPGAインターフェースチップがデータパケットを受信してデータパケットを解析することをしやすくするために、合意されたプリセットデータフォーマットは、FPGAインターフェースチップの実装方式に関連するものである。このため、ホストチャンネルインターフェースモジュール104は、FPGAインターフェースチップの実装方式に基づいて前記FPGAインターフェースチップと前記プリセットデータフォーマットを合意する。電子部品間のデジタル信号の通信において、バイナリデータについて特定のフォーマットを合意し、当該フォーマットでバイナリデータを送信する。
In such an embodiment, it is necessary to agree on data in a specific format in order to communicate between the host
ここで、前記FPGAインターフェースチップは、FT2232HのUSBインターフェースチップを含む。前記プリセットデータフォーマットは、パケットヘッダと、データと、を含む。前記パケットヘッダは、コマンドコードおよびデータ長で構成される。図4に示すように、32ビット(bits)コマンドコードは、JTAGプロトコルの状態遷移、属性の設定、JTAGデータの読み取り/書き込みのようなFPGAインターフェースチップが実行する必要のある操作を決定する。32ビットのデータ長は、後ろのデータ量を示す。 Here, the FPGA interface chip includes a USB interface chip of FT2232H. The preset data format includes a packet header and data. The packet header is composed of a command code and a data length. As shown in FIG. 4, the 32-bit command code determines the operations that the FPGA interface chip needs to perform, such as JTAG protocol state transitions, attribute settings, and JTAG data read / write. The 32-bit data length indicates the amount of data behind.
係る実施例では、FPGAインターフェースチップは、MCU(Microcontroller Unit、マイクロコントロールユニット)をイーサネットポートチップと組み合わせて実現される。FPGAインターフェースチップがプログラマブルであるため、FPGAインターフェースチップが受信するネットデータパケットのコンテンツフォーマットを合意することができる。そして、両者は、合意されたコンテンツに基づいてデータパケットをデカプセルすることができる。 In such an embodiment, the FPGA interface chip is realized by combining an MCU (Microcontroller Unit) with an Ethernet port chip. Since the FPGA interface chip is programmable, it is possible to agree on the content format of the net data packet received by the FPGA interface chip. Both can then decapsulate the data packet based on the agreed content.
本実施例により提供されるFPGAと通信するホストは、階層化されるインターフェースソフトウェア設計モードを含み、ソフトウェアインターフェースモジュール101、リソース管理モジュール102、プロトコルパケットモジュール103、およびホストチャンネルインターフェースモジュール104により、FPGA通信インターフェースの各操作が完全に抽象化される。これにより、呼出インターフェースソフトウェアの上位レイヤコードは、チャンネル、受信側ケーブル、インターフェースプロトコルのようなディテールを考慮しなくてよく、特定のFPGAの特定のインターフェースの通信プロセスだけに注目すればよい。これにより、ソフトウェア全体のスケーラビリティと保守性が向上する。
The host communicating with the FPGA provided by this embodiment includes a layered interface software design mode, and the FPGA communication is performed by the
実施例2
図5に示すように、本実施例により提供されるFPGAインターフェースチップは、FPGA側チャンネルインターフェースモジュールを含む。FPGA側チャンネルインターフェースモジュールは、FPGAと通信するホストから送信されるデータパケットを受信する。そして、FPGAインターフェースチップは、FPGAと通信するホストのホストチャンネルインターフェースモジュール104と合意されたプリセットデータフォーマットに基づいて前記データパケットを解析し、前記データパケットをFPGAに必要な通信信号に変換し、FPGAと直接通信を行う。
Example 2
As shown in FIG. 5, the FPGA interface chip provided by this embodiment includes an FPGA side channel interface module. The FPGA side channel interface module receives the data packet transmitted from the host communicating with the FPGA. Then, the FPGA interface chip analyzes the data packet based on the preset data format agreed with the host
ここで、FPGA側チャンネルインターフェースモジュールがデータを解析することは、チップレベルの動作であり、すなわちチャンネルから直接データを読み取り、データを解析した後、FPGAに必要なJTAG、SPIなどの通信信号に直接変換し、FPGAと直接通信を行う。 Here, the analysis of the data by the FPGA side channel interface module is a chip level operation, that is, the data is read directly from the channel, the data is analyzed, and then the communication signals such as JTAG and SPI required for the FPGA are directly processed. Converts and communicates directly with the FPGA.
例えば、インターフェースチップがUSB ケーブルである場合、USBケーブルによりFPGAと通信するホストのデータを取得し、JTAGなどのプロトコル信号に変換し、FPGAと通信を行う。ここで、前記FPGAインターフェースチップは、FT2232HのUSBインターフェースチップを含む。前記プリセットデータフォーマットは、パケットヘッダと、データと、を含む。前記パケットヘッダは、コマンドコードおよびデータ長で構成される。コマンドコードは、JTAGプロトコルの状態遷移、属性の設定、JTAGデータの読み取り/書き込みのようなFPGAインターフェースチップが実行する必要のある操作を決定する。データ長は、後ろのデータ量を示す。 For example, when the interface chip is a USB cable, the data of the host communicating with the FPGA is acquired by the USB cable, converted into a protocol signal such as JTAG, and communicated with the FPGA. Here, the FPGA interface chip includes a USB interface chip of FT2232H. The preset data format includes a packet header and data. The packet header is composed of a command code and a data length. The command code determines the operations that the FPGA interface chip needs to perform, such as JTAG protocol state transitions, attribute settings, and reading / writing of JTAG data. The data length indicates the amount of data behind.
本実施例によれば、FPGAと通信するインターフェース設計が提供される。階層化することによりインターフェースソフトウェアが図られる。図6に示すように、当該インターフェース設計は、ソフトウェアインターフェース、リソース管理、cableオブジェクト、プロトコルパケット、ホストチャンネルインターフェース、およびFPGA側チャンネルインターフェースを備える。 According to this embodiment, an interface design for communicating with the FPGA is provided. Interface software is planned by layering. As shown in FIG. 6, the interface design includes a software interface, resource management, cable object, protocol packet, host channel interface, and FPGA side channel interface.
ソフトウェアインターフェースは、上位レイヤアプリケーションに公開されるインターフェースを定義し、リソースのリリースと申請を行うインターフェース、リソースリストを取得するプローブインターフェース、FPGAに直接関連する各プロトコルの読み書きインターフェース、初期化インターフェースなどを含む。これらの基本インターフェースを定義することにより、FPGAと通信するホストのインターフェースは、操作ユニット(オペレータ)に抽象化される。各タイプのオペレータは、対応する機能が図られる。これらのオペレータは、データの直接読み取り/書き込み、またはインターフェースの変換、初期化とリリース、およびリソース状況の収集のみを行う。異なるオペレータは、独自の特性に応じてカスタム機能を発揮するが、上位レイヤ機能は、これらの基本インターフェースしか想定していない。 The software interface defines the interface exposed to the upper layer application, and includes the interface for releasing and applying for resources, the probe interface for acquiring the resource list, the read / write interface for each protocol directly related to FPGA, the initialization interface, and so on. .. By defining these basic interfaces, the interface of the host that communicates with the FPGA is abstracted to the operation unit (operator). Each type of operator has a corresponding function. These operators only read / write data directly, or convert, initialize and release interfaces, and collect resource status. Different operators offer custom features depending on their unique characteristics, but higher layer features only assume these basic interfaces.
リソース管理とは、リソースの管理を図り、cableリソースを管理し、複数の通信リソースに同時に並列にアクセスすることを許可するものである。リソース管理は、各タイプのリソース数、リソースが占用される状況などのすべての利用可能なcableリソースを管理する。リソース管理レイヤでリソースのリリースと申請を行うメカニズムが図られる。ユーザは、オブジェクトを申請するときにハンドルオブジェクトを取得し、これらのハンドルオブジェクトを用いて操作を行う。リソース管理は、自動的に利用可能なリソースをスキャンし、当該リストをユーザに提供する。プローブ機能インターフェースにおいて、返信されるのは、関連するリソースのリストである。ユーザは、選択した後、当該リストに対応するcableリソースに並列にアクセスすることができる。各cableリソースは、MAC、タイプなどによって唯一に区別される。プロセスにとっては、当該リソース管理オブジェクトは、一例にすぎない。 Resource management is to manage resources, manage cable resources, and allow a plurality of communication resources to be accessed in parallel at the same time. Resource management manages all available cable resources such as the number of resources of each type, the situation in which the resources are occupied, and so on. A mechanism for releasing and applying for resources is established at the resource management layer. When the user applies for an object, the handle object is acquired and an operation is performed using these handle objects. Resource management automatically scans for available resources and provides the list to the user. In the probe function interface, what is returned is a list of related resources. After selecting, the user can access the cable resource corresponding to the list in parallel. Each cable resource is uniquely distinguished by MAC, type, etc. For the process, the resource management object is just one example.
cableオブジェクトとは、USBケーブルに接続されるケーブルのような実在のものであってもよく、イーサネットポートを介して接続される回路基板のインターフェースチップまたはPCIEを介して接続されるPCIEカードのインターフェースチップのようなバーチャルしたものであってもよい。ソフトウェア設計レベルにおいて、これらのcableオブジェクトを一つのcableオブジェクトに抽象する必要がある。cableオブジェクトは、現在のタイプのcableにサポートされる各タイプのオペレータを統合し、統一されるハンドルソフトウェアインターフェースを実現することを目的とする。これにより、上位レイヤは、操作コードを伝送するだけでデータの読み取り/書き込みが図られる。cableオブジェクトは、初期化インターフェース,リリースインターフェースなどの基本インターフェースを提供する必要がある。これらのインターフェース方法は、関連するオペレータを呼び出してリソースの申隅とリリースを行うことである。 The cable object may be an actual one such as a cable connected to a USB cable, and may be an interface chip of a circuit board connected via an Ethernet port or an interface chip of a PCIE card connected via PCIE. It may be a virtual one such as. At the software design level, it is necessary to abstract these cable objects into one cable object. The cable object aims to integrate each type of operator supported by the current type of cable to provide a unified handle software interface. As a result, the upper layer can read / write data only by transmitting the operation code. The cable object needs to provide a basic interface such as an initialization interface and a release interface. These interface methods are to call the associated operator to fill in and release the resource.
プロトコルパケットレイヤとは、FPGAが用いるJTAG、SPIなどのプロトコルに関するデータを特定の規則に基づいてデータパケットに作成し、当該データパケットを処理するために下位レイヤのオペレータオブジェクトに送信するものである。下位レイヤのオペレータは、チャンネルに関する問題のみを処理し、FPGAに関するプロトコル操作は、一部のプロトコルオペレータを実現してより下位レイヤに位置するオペレータをパッケージ化することにより図られる。プロトコルオペレータが位置するレイヤにおける処理は、ユーザから伝送されたプロトコルに関するデータパケットを分割または再編成し、基本読み取り/書き込みインターフェースを呼び出して行う処理である。プロトコルのオペレータは、下位レイヤのオペレータを必要とし、基本的にすべての下位レイヤのオペレータは、同一のプロトコルに関するオペレータを共有する。 The protocol packet layer creates data related to protocols such as JTAG and SPI used by FPGA in a data packet based on a specific rule, and transmits the data packet to an operator object in a lower layer in order to process the data packet. Lower layer operators handle only channel issues, and FPGA-related protocol operations are accomplished by implementing some protocol operators and packaging operators located in lower layers. The process at the layer where the protocol operator is located is the process of dividing or reorganizing the data packet related to the protocol transmitted from the user and calling the basic read / write interface. Protocol operators require lower layer operators, and basically all lower layer operators share operators for the same protocol.
ホストチャンネルインターフェースレイヤとは、主にシステムのドライブインターフェースを呼び出す下位レイヤのオペレータを実現し、チャンネルリクエストに基づいて上位レイヤから伝送されたデータを再度カプセル化して送信するものである。チャンネルが異なると、必要なエンコード方法も異なる。これは、FPGA側インターフェースにも関連する。データがチャンネルリクエストに基づいて送信された後、FPGA側チャンネルインターフェースに受信される。受信側が異なると、データパケットリクエストも異なるが、上位レイヤのソフトウェアは、特定のパケット条件を考慮せず、各受信側のプラットフォームごとに合意すればよい。そして、これらの合意に基づいて、独立したオペレータが図られる。 The host channel interface layer mainly realizes a lower layer operator that calls the drive interface of the system, and re-encapsulates and transmits the data transmitted from the upper layer based on the channel request. Different channels require different encoding methods. This is also related to the FPGA side interface. After the data is transmitted based on the channel request, it is received by the FPGA side channel interface. Different receivers have different data packet requests, but higher layer software may agree on each receiving platform without considering specific packet conditions. Then, based on these agreements, an independent operator is planned.
FPGA側チャンネルインターフェースとは、FPGA側にインターフェースチップが設けられるものである。FPGA側チャンネルインターフェースが例えばUSB ケーブルであれば、インターフェースチップを有するケーブルである。当該ケーブルは、USBケーブルを介してFPGAと通信するホストのデータを取得し、JTAGなどのプロトコル信号に変換し、FPGAと通信を行う。インターフェースチップが異なると、必要な処理も異なるため、FPGAと通信するホスト側の協力が必要である。しかしながら、ほとんどの場合、これは、カプセル化されたデータを組み合わせる方法の違いにすぎない。受信側は、インターフェースハードウェアをより柔軟に選択することができるので、FPGAと通信するホスト側は、受信側のハードウェア自身のリクエストによってデータをカプセル化する。この場合、インターフェースハードウェアチップは、データのデカプセルをサポートし、FPGAに必要な通信信号を変換し、FPGAと直接通信を行う必要がある。 The FPGA side channel interface is one in which an interface chip is provided on the FPGA side. If the FPGA side channel interface is, for example, a USB cable, it is a cable having an interface chip. The cable acquires the data of the host communicating with the FPGA via the USB cable, converts it into a protocol signal such as JTAG, and communicates with the FPGA. If the interface chip is different, the required processing is also different, so the cooperation of the host side that communicates with the FPGA is required. However, in most cases this is just a difference in how the encapsulated data is combined. Since the receiving side can select the interface hardware more flexibly, the host side communicating with the FPGA encapsulates the data at the request of the receiving side hardware itself. In this case, the interface hardware chip needs to support data decapsulation, convert the communication signals required for the FPGA, and communicate directly with the FPGA.
本実施例では、階層化されたインターフェースソフトウェア設計モードは、以下の利点を有する。上位レイヤアプリケーションは、インターフェースチップ、FPGA自身のインターフェースプロトコルなどの特別な処理ディテールを考慮しなくてよい。これにより、スケーラビリティと保守性が向上する。チャンネルの如何を問わず、インターフェースリソースが上位レイヤアプリケーションに公開されることが決まっている。また、干渉しないインターフェースリソースは、並行してアクセスされるため、サーバープロセスとして利用される。イーサネットなどの相互接続構造を導入できれば、特定の分散特性も図られる。上位レイヤソフトウェアは、ネットワークにおける各FPGAリソースと通信する際に同じソフトウェアインターフェースを利用することができるため、FPGAクラスターリソースに適する。また、本発明のFPGAと通信するホストは、移植性が良いため、完全に階層化されて異なるプラットフォームに移植されても、ホストチャンネルインターフェースだけが異なるため、このレイヤで各オペレータを置き換えることにより、コードの移行が実現され、上位レイヤの操作プロセスを変更する必要がない。さらに、インターフェースソフトウェアは、様々な環境に適用し、ワイヤレス、有線などによりFPGAと通信することができる。 In this embodiment, the layered interface software design mode has the following advantages. Higher layer applications do not have to consider special processing details such as the interface chip, the FPGA's own interface protocol, and so on. This improves scalability and maintainability. It has been decided that interface resources will be exposed to higher layer applications regardless of the channel. In addition, interface resources that do not interfere are accessed in parallel, so they are used as server processes. If interconnection structures such as Ethernet can be introduced, specific distribution characteristics can also be achieved. Higher layer software is suitable for FPGA cluster resources because it can utilize the same software interface when communicating with each FPGA resource in the network. Further, since the host communicating with the FPGA of the present invention has good portability, even if it is completely layered and ported to a different platform, only the host channel interface is different. Therefore, by replacing each operator at this layer, Code migration is realized and there is no need to change the operation process of the upper layer. Furthermore, the interface software can be applied to various environments and can communicate with the FPGA by wireless, wired or the like.
実施例3
本実施例は、FPGAと通信するホストのFPGAとの通信プロセスについて説明する。図7に示すように、S701において、FPGAと通信するホスト側は、プローブインターフェースに基づいてFPAGと通信するcableリソースを特定する。
Example 3
This embodiment describes a communication process with the FPGA of the host communicating with the FPGA. As shown in FIG. 7, in S701, the host side communicating with the FPGA identifies a cable resource communicating with the FPGA based on the probe interface.
本実施例では、プローブインターフェースは、主に現在のタイプのアクセス可能なリソースの総数を検出し、リストを作成して上位レイヤソフトウェアに返信する。これにより、ユーザは、どのcableリソースを利用してFPAGと通信するかを決定する。ここで、各cableリソースを区別するために、cableリソースには、MACアドレス及び識別子が割り当てられる。USBケーブルに接続されるケーブルおよびイーサネットがシミュレーションしたケーブルを利用してFPAGと通信することが決定されると、S702において、FPGAと通信するホスト側は、初期化インターフェースを介してFPAGのFPAGインターフェースチップに接続される。 In this embodiment, the probe interface mainly detects the total number of accessible resources of the current type, creates a list, and returns it to the upper layer software. As a result, the user determines which cable resource is used to communicate with the FPA G. Here, in order to distinguish each cable resource, a MAC address and an identifier are assigned to the cable resource. When it is decided to communicate with the FPGA using the cable connected to the USB cable and the cable simulated by Ethernet, in S702, the host side communicating with the FPGA is the FPGA interface chip of the FPGA via the initialization interface. Connected to.
イーサネットを利用する場合、初期化とは、TCP/IPプロトコルとシステムのソケットを利用してリモートで受信側に接続することであり、USBを利用する場合、初期化とは、システムインターフェースを呼び出してUSBデバイスを申請して初期化操作を行うことである。 When using Ethernet, initialization means connecting to the receiving side remotely using the TCP / IP protocol and the socket of the system, and when using USB, initialization means calling the system interface. Applying for a USB device and performing the initialization operation.
S703において、書き込みデータインターフェースを利用してバイナリデータを書き込む際に、FPGAと通信するホスト側は、FPGAに用いられるインターフェースプロトコルに関するデータを特定の規則に基づいて組み合わせてデータパケットを作成する。 In S703, when writing binary data using the write data interface, the host side communicating with the FPGA creates a data packet by combining data related to the interface protocol used for the FPGA based on a specific rule.
イーサネットを利用する場合、バイナリデータをソケットに書き込み、USBを利用する場合、システムインターフェースを利用してバイナリデータを書き込む。その後、JTAG、SPIなどのプロトコルに関するデータを利用して特定の規則に基づいてバイナリデータを組み合わせてデータパケットを作成する。 When using Ethernet, write binary data to the socket, and when using USB, write binary data using the system interface. After that, data packets are created by combining binary data based on specific rules using data related to protocols such as JTAG and SPI.
S704において、FPGAと通信するホスト側は、プリセットデータフォーマットに基づいて組み合わせてデータパケットを作成し、cableリソースに対応するチャンネルを介してFPAGインターフェースチップに送信する。 In S704, the host side communicating with the FPGA creates a data packet by combining them based on the preset data format, and transmits the data packet to the FPGA interface chip via the channel corresponding to the cable resource.
本実施例では、FPAGインターフェースチップは、FT2232HのUSBインターフェースチップを含む。プリセットデータフォーマットは、パケットヘッダと、データと、を含む。パケットヘッダは、コマンドコードおよびデータ長で構成される。コマンドコードは、JTAGプロトコルの状態遷移、属性の設定、JTAGデータの読み取り/書き込みのようなFPGAインターフェースチップが実行する必要のある操作を決定する。データ長は、後ろのデータ量を示す。FPAGインターフェースチップは、MCUをイーサネットポートチップと組み合わせて実現される。FPGAインターフェースチップがプログラマブルであるため、FPGAインターフェースチップが受信するネットデータパケットのコンテンツフォーマットを合意することができる。イーサネットを利用する場合、データパケットが伝送される際に、利用されるTCP/IPプロトコルは、データパケットを再度カプセル化してイーサネットポートチップに送信する。 In this embodiment, the FPA G interface chip includes a USB interface chip of FT2232H. The preset data format includes a packet header and data. The packet header consists of a command code and data length. The command code determines the operations that the FPGA interface chip needs to perform, such as JTAG protocol state transitions, attribute settings, and reading / writing of JTAG data. The data length indicates the amount of data behind. The FMAG interface chip is realized by combining the MCU with the Ethernet port chip. Since the FPGA interface chip is programmable, it is possible to agree on the content format of the net data packet received by the FPGA interface chip. When Ethernet is used, when the data packet is transmitted, the TCP / IP protocol used reencapsulates the data packet and sends it to the Ethernet port chip.
S705において、FPAGインターフェースチップは、チャンネルからデータパケットを読み取り、解析し、FPGAに必要な通信信号に変換し、FPGAと直接通信を行う。 In S705, the FPGA interface chip reads a data packet from the channel, analyzes it, converts it into a communication signal required for the FPGA, and directly communicates with the FPGA.
FPAGインターフェースチップは、プリセットデータフォーマットに基づいてデータパケットを解析する。FPAGインターフェースチップは、データをFPGAと通信するホスト側に送信するときもプリセットデータフォーマットに基づいてデータをパッケージ化する。 The FPA G interface chip analyzes data packets based on a preset data format. The FPGA interface chip also packages the data based on the preset data format when transmitting the data to the host side communicating with the FPGA.
S706において、FPGAと通信するホスト側は、インターフェースをリリースすることにより、FPAGインターフェースチップとの接続を遮断する。 In S706, the host side communicating with the FPGA cuts off the connection with the FPGA interface chip by releasing the interface.
本発明の実施例によりFPGAと通信する方法が提供される。図8に示すように、当該方法は、以下のステップにより実現される。 The embodiments of the present invention provide a method of communicating with an FPGA. As shown in FIG. 8, the method is realized by the following steps.
S11において、FPGAと通信するホストのソフトウェアインターフェースモジュール101は、伝送データを特定するように上位レイヤアプリケーションに公開される呼出インターフェースを定義する。
In S11, the
S12において、FPGAと通信するホストのリソース管理モジュール102は、呼出インターフェースにより伝送データを取得し、伝送データをプロトコルパケットモジュール103に送信するホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可する。
In S12, the
S13において、プロトコルパケットモジュール103は、伝送データを受信し、FPGAのインターフェースプロトコルおよびcableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、データパケットをFPGAと通信するホストのホストチャンネルインターフェースモジュール104に送信する。
In S13, the
S14において、ホストチャンネルインターフェースモジュール104は、前記データパケットを受信し、データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルを介してFPGAインターフェースチップに送信する。
In S14, the host
S15において、FPGAインターフェースチップは、データパケットを受信し、データパケットをFPGAに必要な通信信号に変換し、FPGAと直接通信を行う。 In S15, the FPGA interface chip receives the data packet, converts the data packet into a communication signal required for the FPGA, and directly communicates with the FPGA.
また、FPGAインターフェースチップがデータパケットを受信した後、FPGAと通信する方法は、以下のステップをさらに有する。FPGAと通信するホストは、インターフェースをリリースすることにより、FPAGインターフェースチップとの接続を遮断する。 Further, the method of communicating with the FPGA after the FPGA interface chip receives the data packet further includes the following steps. The host communicating with the FPGA cuts off the connection with the FPGA interface chip by releasing the interface.
本発明の実施例では、FPGAと通信する方法についての説明および当該方法の有益效果は、いずれも上述した実施例に係るFPGAと通信するホストについての説明および有益效果と同じであるため、ここで省略する。なお、「含む」、「有する」、またはその他の変形は、非排他的に含むことを意図しているため、一連の要素を含むプロセス、方法、物品、またはデバイスは、それらの要素を含むだけでなく、リストされていない他の要素を含み、或いはプロセス、方法、物品、またはデバイスに固有する要素を含む場合がある。 In the embodiments of the present invention, the description of the method of communicating with the FPGA and the beneficial effects of the method are the same as the description and beneficial effects of the host communicating with the FPGA according to the above-described embodiment. Omit. It should be noted that "includes", "has", or other variants are intended to include non-exclusively, so a process, method, article, or device that includes a set of elements will only include those elements. It may contain other elements not listed, or elements specific to a process, method, article, or device.
上述した本発明の実施例の番号は、説明のみを目的とし、実施例の優劣を示すものではない。 The above-mentioned numbers of the examples of the present invention are for the purpose of explanation only and do not indicate the superiority or inferiority of the examples.
上記実施形態の説明を通じて、当業者は、上記実施形態に係る方法が、ソフトウェアおよび必要なハードウェアプラットフォームによって実現されることを明確に理解することができる。もちろん、ハードウェアによっても実現できるが、ほとんどの場合、前者の方が好ましい。このような理解に基づいて、本発明の特別な技術的特徴、または従来技術に寄与する特徴は、ソフトウェア製品の形で表現される。コンピュータソフトウェア製品は、記憶媒体(ROM/RAM、磁気ディスク、光ディスク)に記憶され、デバイス(携帯電話、コンピュータ、サーバー、エアコン、ネットワークデバイスなど)に各実施例に係る方法を実行させるためのいくつかの命令を含む。 Through the description of the above embodiment, those skilled in the art can clearly understand that the method according to the above embodiment is realized by the software and the required hardware platform. Of course, it can be realized by hardware, but in most cases, the former is preferable. Based on this understanding, the special technical features of the invention, or features that contribute to the prior art, are expressed in the form of software products. Computer software products are stored on storage media (ROM / RAM, magnetic disks, optical disks) and some for causing devices (mobile phones, computers, servers, air conditioners, network devices, etc.) to perform the methods according to each embodiment. Includes instructions for.
上記の内容は、具体的な実施様態に基づいて本発明の実施例をさらに詳しく説明したものであり、本発明の具体的な実施がこれらの説明に限定されると考えることはできない。当業者は、本発明の精神から逸脱しない限り、若干の改良及び修正を加えることができる。これらの改良及び修正も本発明の保護の範囲と見なされる。 The above-mentioned contents explain the embodiment of the present invention in more detail based on the specific embodiment, and it cannot be considered that the specific implementation of the present invention is limited to these explanations. Those skilled in the art may make minor improvements and modifications as long as they do not deviate from the spirit of the present invention. These improvements and modifications are also considered to be the scope of protection of the present invention.
本願は、2019年06月28日に中国専利局に提出された、出願番号が201910580647.9であり、発明の名称が「FPGAと通信するホストおよびFPGAインターフェースチップ」である中国特許出願の優先権を主張するものであり、先願の内容をすべて組み込んでいる。 This application is the priority of a Chinese patent application submitted to the China Bureau of Interest on June 28, 2019, with an application number of 201910580649.9 and the title of the invention is "a host and FPGA interface chip that communicates with FPGA". And incorporates all the contents of the previous application.
Claims (20)
伝送データを特定するように上位レイヤアプリケーションに公開される呼出インターフェースを定義するためのソフトウェアインターフェースモジュールと、
前記呼出インターフェースにより前記伝送データを取得し、前記伝送データをプロトコルパケットモジュールに送信するホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可するリソース管理モジュールと、
前記伝送データを受信し、FPGAのインターフェースプロトコルおよび前記cableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、前記データパケットをホストチャンネルインターフェースモジュールに送信する前記プロトコルパケットモジュールと、
前記データパケットを受信し、前記データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルにより送信する前記ホストチャンネルインターフェースモジュールと、を含む
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA
A software interface module for defining call interfaces that are exposed to higher layer applications to identify transmission data, and
A resource management module that manages a host interface chip cable object that acquires the transmission data by the call interface and transmits the transmission data to the protocol packet module, and allows access to at least two cable objects in parallel at the same time.
The protocol packet that receives the transmission data, encapsulates the transmission data and acquires a data packet based on the FPGA interface protocol and the channel protocol corresponding to the cable object, and transmits the data packet to the host channel interface module. Module and
A host that communicates with an FPGA, comprising: ..
前記ホストチャンネルインターフェースモジュールが前記データパケットを送信した後、前記ホストとFPGAインターフェースチップとの接続を遮断するインターフェースリリースモジュールをさらに含む
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 1.
A host that communicates with an FPGA, further comprising an interface release module that blocks the connection between the host and the FPGA interface chip after the host channel interface module has transmitted the data packet.
前記呼出インターフェースは、初期化インターフェース、データ書込インターフェース、データ読取インターフェース、およびリリースインターフェースが含まれFPGAと通信する基本ソフトウェアインターフェースを含む
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 1.
The call interface is a host that communicates with the FPGA, including an initialization interface, a data write interface, a data read interface, and a release interface, including a basic software interface that communicates with the FPGA.
前記cableオブジェクトは、USBケーブルが接続されるケーブル、イーサネットポートを介して接続される回路基板のケーブル、PCIEを介して接続されるPCIEカードのケーブル、およびプリンタパラレルポートのうちの少なくとも一つを含む
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 1.
The cable object includes at least one of a cable to which a USB cable is connected, a circuit board cable connected via an Ethernet port, a PCIe card cable connected via PCIE, and a printer parallel port. A host that communicates with the FPGA.
前記cableオブジェクトは、区別されるように唯一のMACアドレスとタイプ標識識別子が割り当てられる
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 4.
The cable object is a host that communicates with an FPGA, characterized in that it is assigned a unique MAC address and type indicator identifier to distinguish it.
前記cableオブジェクトがUSB ケーブルである場合、前記MACアドレスは、USBのEEPROMに記録されるシリアル番号であり、
前記cableオブジェクトがイーサネットバーチャルケーブルである場合、前記MACアドレスは、イーサネットバーチャルケーブルのIPアドレスまたはFPGAインターフェースチップリアルMACアドレスであり、
前記cableオブジェクトがPCIEボードのケーブルである場合、前記MACアドレスは、PCIEバスのアドレスまたはPCIEバスのインターフェースチップのシリアル番号であり、
前記cableオブジェクトがプリンタパラレルポートである場合、前記MACアドレスは、パラレルポートアドレスである
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 5.
When the cable object is a USB cable, the MAC address is a serial number recorded in the EEPROM of the USB.
When the cable object is an Ethernet virtual cable, the MAC address is the IP address of the Ethernet virtual cable or the FPGA interface chip real MAC address.
When the cable object is a PCIe board cable, the MAC address is the address of the PCIe bus or the serial number of the interface chip of the PCIe bus.
When the cable object is a printer parallel port, the MAC address is a host that communicates with the FPGA, characterized in that it is a parallel port address.
前記リソース管理モジュールは、アクセスが許可されるcableオブジェクトをスキャンしてリストを作成する
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 4.
The resource management module is a host that communicates with an FPGA, characterized in that it scans and creates a list of accessible cable objects.
前記呼出インターフェースは、アクセス可能なcableオブジェクトを取得するプローブインターフェースをさらに含み、
前記リソース管理モジュールは、前記上位レイヤアプリケーションが前記FPGAと通信するアクセスcableオブジェクトを特定するように、アクセスcableオブジェクトをスキャンしてリストを作成した後、前記プローブインターフェースを介して前記リストを前記上位レイヤアプリケーションに返信する
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 7.
The call interface further includes a probe interface to obtain an accessible cable object.
The resource management module scans the access cable object to create a list so that the upper layer application identifies the access cable object that communicates with the FPGA, and then displays the list via the probe interface to the upper layer. A host that communicates with an FPGA, characterized by replying to an application.
前記ホストチャンネルインターフェースモジュールは、前記FPGAインターフェースチップの実装方式に基づいて前記FPGAインターフェースチップと前記プリセットデータフォーマットを合意する
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to any one of claims 1 to 8.
The host channel interface module is a host that communicates with the FPGA, which is characterized by agreeing the preset data format with the FPGA interface chip based on the mounting method of the FPGA interface chip.
前記FPGAインターフェースチップがFT2232HのUSBインターフェースチップを含む場合、前記プリセットデータフォーマットは、コマンドコードおよびデータ長で構成されるパケットヘッダと、データと、を含む
ことを特徴とするFPGAと通信するホスト。 A host that communicates with the FPGA according to claim 9.
When the FPGA interface chip includes a USB interface chip of FT2232H, the preset data format is a host that communicates with the FPGA, comprising a packet header composed of a command code and a data length, and data.
請求項1から10のいずれか一項に記載のFPGAと通信するホストと、
前記ホストから送信されるデータパケットを受信し、前記データパケットをFPGAに必要な通信信号に変換してFPGAと直接通信を行うFPGAインターフェースチップと、を備える、
ことを特徴とする通信システム。 It ’s a communication system ,
A host that communicates with the FPGA according to any one of claims 1 to 10.
It comprises an FPGA interface chip that receives a data packet transmitted from the host, converts the data packet into a communication signal required for the FPGA, and directly communicates with the FPGA.
A communication system characterized by that.
前記FPGAインターフェースチップは、イーサネット、USB、LTP、およびワイヤレスネットを含む
ことを特徴とする通信システム。 The communication system according to claim 11.
The FPGA interface chip is a communication system including Ethernet, USB, LTP, and a wireless net.
前記FPGAインターフェースチップがFT2232HのUSBインターフェースチップを含む場合、前記プリセットデータフォーマットは、コマンドコードおよびデータ長で構成されるパケットヘッダと、データと、を含む
ことを特徴とする通信システム。 The communication system according to claim 12.
When the FPGA interface chip includes a USB interface chip of FT2232H, the preset data format is a communication system including a packet header composed of a command code and a data length, and data.
前記FPGAインターフェースチップは、初期化インターフェースを介して前記FPGAと通信するホストに接続される
ことを特徴とする通信システム。 The communication system according to claim 11.
The FPGA interface chip is a communication system characterized in that it is connected to a host that communicates with the FPGA via an initialization interface.
前記FPGAがサポートするインターフェースプロトコルは、JTAG、I2C、SPI、および並列インターフェースを含む
ことを特徴とする通信システム。 The communication system according to claim 11.
The interface protocol supported by the FPGA is a communication system including JTAG, I2C, SPI, and a parallel interface.
前記FPGAインターフェースチップは、請求項1から9のいずれか一項に記載のFPGAと通信するホストから送信されるデータパケットを受信するチャンネルインターフェースモジュールを含む
ことを特徴とする通信システム。 The communication system according to claim 11.
The FPGA interface chip is a communication system including a channel interface module that receives a data packet transmitted from a host communicating with the FPGA according to any one of claims 1 to 9.
FPGAと通信するホストのソフトウェアインターフェースモジュールが、伝送データを特定可能に上位レイヤアプリケーションに公開される呼出インターフェースを定義するステップと、
FPGAと通信する前記ホストのリソース管理モジュールが、前記呼出インターフェースにより前記伝送データを取得し、前記伝送データをプロトコルパケットモジュールに送信するホストインターフェースチップcableオブジェクトを管理し、少なくとも二つのcableオブジェクトに同時に並列にアクセスすることを許可するステップと、
前記プロトコルパケットモジュールが、前記伝送データを受信し、FPGAのインターフェースプロトコルおよび前記cableオブジェクトに対応するチャンネルプロトコルに基づいて、伝送データをカプセル化してデータパケットを取得し、前記データパケットを前記FPGAと通信するホストのホストチャンネルインターフェースモジュールに送信するステップと、
前記ホストチャンネルインターフェースモジュールが、前記データパケットを受信し、前記データパケットをFPGAインターフェースチップと合意されたプリセットデータフォーマットに基づいてパッケージ化し、チャンネルを介してFPGAインターフェースチップに送信するステップと、
前記FPGAインターフェースチップが、前記データパケットを受信し、前記データパケットをFPGAに必要な通信信号に変換し、FPGAと直接通信を行うステップと、を含む
ことを特徴とするFPGAと通信する方法。 It ’s a way to communicate with FPGA.
A step in which the software interface module of the host communicating with the FPGA defines a call interface that is exposed to higher layer applications so that the transmitted data can be identified.
The resource management module of the host communicating with the FPGA manages a host interface chip cable object that acquires the transmission data by the call interface and transmits the transmission data to the protocol packet module, and is parallel to at least two cable objects at the same time. And the steps to allow access to
The protocol packet module receives the transmission data, encapsulates the transmission data and acquires a data packet based on the interface protocol of the FPGA and the channel protocol corresponding to the cable object, and communicates the data packet with the FPGA. And the steps to send to the host channel interface module of the host
A step in which the host channel interface module receives the data packet, packages the data packet based on a preset data format agreed with the FPGA interface chip, and transmits the data packet to the FPGA interface chip via the channel.
A method of communicating with an FPGA, wherein the FPGA interface chip includes a step of receiving the data packet, converting the data packet into a communication signal required for the FPGA, and directly communicating with the FPGA.
前記FPGAインターフェースチップが前記データパケットを受信した後、
前記FPGAと通信するホストが、インターフェースをリリースすることにより、前記FPGAインターフェースチップとの接続を遮断するステップをさらに含む
ことを特徴とするFPGAと通信する方法。 The method of communicating with the FPGA according to claim 17.
After the FPGA interface chip receives the data packet,
A method of communicating with an FPGA, wherein the host communicating with the FPGA further comprises a step of disconnecting the connection with the FPGA interface chip by releasing the interface.
前記リソース管理モジュールがホストインターフェースチップcableオブジェクトを管理するステップは、
前記リソース管理モジュールは、アクセスが許可されるcableオブジェクトをスキャンしてリストを作成するステップを含む
ことを特徴とするFPGAと通信する方法。 A method of communicating with the FPGA according to claim 17 or 18.
The step in which the resource management module manages the host interface chip cable object is
A method of communicating with an FPGA, wherein the resource management module comprises a step of scanning a cable object to which access is granted and creating a list.
前記呼出インターフェースは、アクセス可能なcableオブジェクトを取得するプローブインターフェースをさらに含み、
前記リソース管理モジュールがホストインターフェースチップcableオブジェクトを管理するステップは、
前記リソース管理モジュールが、前記上位レイヤアプリケーションが前記FPGAと通信するアクセスcableオブジェクトを特定するように、アクセスcableオブジェクトをスキャンしてリストを作成した後、前記プローブインターフェースを介して前記リストを前記上位レイヤアプリケーションに返信するステップをさらに含む
ことを特徴とするFPGAと通信する方法。 The method of communicating with the FPGA according to claim 19.
The call interface further includes a probe interface to obtain an accessible cable object.
The step in which the resource management module manages the host interface chip cable object is
The resource management module scans the access cable object to create a list so that the higher layer application identifies the access cable object that communicates with the FPGA, and then the list is displayed on the upper layer via the probe interface. A method of communicating with an FPGA, characterized by further including a step of replying to the application.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580647.9A CN110445831A (en) | 2019-06-28 | 2019-06-28 | A kind of host communicated with FPGA, FPGA interface chip |
CN201910580647.9 | 2019-06-28 | ||
PCT/CN2020/097858 WO2020259523A1 (en) | 2019-06-28 | 2020-06-24 | Host and method for communicating with fpga, and fpga interface chip |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021532621A JP2021532621A (en) | 2021-11-25 |
JP7041285B2 true JP7041285B2 (en) | 2022-03-23 |
Family
ID=68428752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020568804A Active JP7041285B2 (en) | 2019-06-28 | 2020-06-24 | Hosts that communicate with the FPGA, methods of communicating with the FPGA, and communication systems |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7041285B2 (en) |
CN (1) | CN110445831A (en) |
WO (1) | WO2020259523A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445831A (en) * | 2019-06-28 | 2019-11-12 | 深圳市紫光同创电子有限公司 | A kind of host communicated with FPGA, FPGA interface chip |
CN111614793B (en) * | 2020-04-22 | 2022-03-04 | 上海御渡半导体科技有限公司 | FPGA-based Ethernet switch MAC address management device and method |
CN112256615B (en) * | 2020-10-22 | 2023-05-16 | 广东高云半导体科技股份有限公司 | USB conversion interface device |
CN114003022B (en) * | 2021-11-03 | 2024-04-05 | 深圳硅山技术有限公司 | Equipment monitoring platform based on data stream |
CN117056259A (en) * | 2023-08-08 | 2023-11-14 | 广东高云半导体科技股份有限公司 | Data processing device and method |
CN117472440B (en) * | 2023-12-27 | 2024-03-29 | 苏州元脑智能科技有限公司 | Chip control method and device, storage medium and electronic equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201111013Y (en) | 2007-11-08 | 2008-09-03 | 重庆爱思网安信息技术有限公司 | Hardware write protected function data copier |
JP2012022613A (en) | 2010-07-16 | 2012-02-02 | Fujitsu Ltd | Communication path module, logic verification program and logic verification method |
WO2018235967A1 (en) | 2017-06-23 | 2018-12-27 | Pixie Dust Technologies, Inc. | System and method for generating spatial sound using ultrasound |
CN109446135A (en) | 2018-10-24 | 2019-03-08 | 盛科网络(苏州)有限公司 | A kind of device and method for realizing the downloading of more large capacity FPGA remote high-speeds |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609288B (en) * | 2012-02-14 | 2015-12-16 | 上海三一精机有限公司 | A kind of Program download based on FPGA/CPLD |
DE102012004844B4 (en) * | 2012-03-13 | 2018-05-17 | Phoenix Contact Gmbh & Co. Kg | System of measured value monitoring and shutdown when measured value deviations occur |
CN104182372A (en) * | 2013-05-22 | 2014-12-03 | 英业达科技有限公司 | Data burning device |
CN204631851U (en) * | 2015-05-28 | 2015-09-09 | 深圳市微芯集成电路设计有限公司 | Cd-rom recorder |
CN105024884A (en) * | 2015-07-28 | 2015-11-04 | 深圳市同创国芯电子有限公司 | System and method for debugging programmable logic device PLD |
CN107181657B (en) * | 2017-05-31 | 2020-07-17 | 中车信息技术有限公司 | WTB link layer interface adapter and implementation method thereof |
CN107704261A (en) * | 2017-11-24 | 2018-02-16 | 广东乐心医疗电子股份有限公司 | Software burning system and software burning method |
CN207690065U (en) * | 2018-01-22 | 2018-08-03 | 济南浪潮高新科技投资发展有限公司 | It is a kind of based on FPGA can multy-way switching JTAG downloaders |
CN109542478A (en) * | 2018-11-09 | 2019-03-29 | 中电科仪器仪表有限公司 | A kind of system and method updating FPGA program in SPI Flash |
CN110445831A (en) * | 2019-06-28 | 2019-11-12 | 深圳市紫光同创电子有限公司 | A kind of host communicated with FPGA, FPGA interface chip |
-
2019
- 2019-06-28 CN CN201910580647.9A patent/CN110445831A/en active Pending
-
2020
- 2020-06-24 JP JP2020568804A patent/JP7041285B2/en active Active
- 2020-06-24 WO PCT/CN2020/097858 patent/WO2020259523A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201111013Y (en) | 2007-11-08 | 2008-09-03 | 重庆爱思网安信息技术有限公司 | Hardware write protected function data copier |
JP2012022613A (en) | 2010-07-16 | 2012-02-02 | Fujitsu Ltd | Communication path module, logic verification program and logic verification method |
WO2018235967A1 (en) | 2017-06-23 | 2018-12-27 | Pixie Dust Technologies, Inc. | System and method for generating spatial sound using ultrasound |
CN109446135A (en) | 2018-10-24 | 2019-03-08 | 盛科网络(苏州)有限公司 | A kind of device and method for realizing the downloading of more large capacity FPGA remote high-speeds |
Also Published As
Publication number | Publication date |
---|---|
WO2020259523A1 (en) | 2020-12-30 |
JP2021532621A (en) | 2021-11-25 |
CN110445831A (en) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7041285B2 (en) | Hosts that communicate with the FPGA, methods of communicating with the FPGA, and communication systems | |
CN105981338B (en) | For using I/O device link to establish the chain-circuit system of high- speed network communication and file transmission between host | |
CN105868149B (en) | Serial port information transmission method and device | |
CN116501681B (en) | CXL data transmission board card and method for controlling data transmission | |
CN110532208B (en) | Data processing method, interface conversion structure and data processing equipment | |
CN103257941B (en) | Multi-protocol storage controller and system | |
CN113806116A (en) | Protocol stack data transmission method based on Linux system, computer equipment and storage medium | |
CN108170626B (en) | 1553B bus software dynamic configurable method | |
CN105472291A (en) | Digital video recorder with multiprocessor cluster and realization method of digital video recorder | |
CN112749113A (en) | Data interaction method, system, device and medium | |
CN109257955B (en) | Method for operating hard disk and hard disk manager | |
JP6665190B2 (en) | Network sharing implementation method and apparatus | |
CN113608738A (en) | Automobile service system based on someip instrument data | |
CN112291259A (en) | Protocol conversion method, gateway, equipment and readable storage medium | |
JP2003526223A (en) | Development and test tools for communication systems | |
CN109358820B (en) | Data access method and device, electronic equipment and computer readable storage medium | |
CN116647490A (en) | Aviation AFDX network data detection system | |
EP2530995B1 (en) | Method and apparatus for implementing network device function of wireless communication terminal | |
US10599588B1 (en) | Interconnection of peripheral devices on different electronic devices | |
CN102694717A (en) | Method, device and system for transmitting messages on PCIE bus | |
CN102200888B (en) | Virtual memory, and virtual storage system and method | |
CN117319255A (en) | Method, device, medium and terminal for testing network card out-of-band management function | |
CN117251297B (en) | Equipment distribution method, electronic equipment and storage medium | |
CN117369906B (en) | Pcie verification platform, method and device, storage medium and electronic equipment | |
CN212906277U (en) | Embedded software testing device based on TFTP protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220217 |
|
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: 20220308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220310 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7041285 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |