CN107645457A - A kind of PCIe switch system and method - Google Patents
A kind of PCIe switch system and method Download PDFInfo
- Publication number
- CN107645457A CN107645457A CN201710976713.5A CN201710976713A CN107645457A CN 107645457 A CN107645457 A CN 107645457A CN 201710976713 A CN201710976713 A CN 201710976713A CN 107645457 A CN107645457 A CN 107645457A
- Authority
- CN
- China
- Prior art keywords
- pcie
- data
- sent
- host
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
The present invention discloses a kind of PCIe switch system and method, is related to electronic technology field, is realized by FPGA, application function be may be programmed, and multiple PCIe devices can be mounted according to being actually needed;The PCIe data that CPU is sent from asynchronous FIFO reading host computer, various processing are carried out to data according to different application scene;If needing to forward, data are sent to PCIe Host corresponding to destination address, are sent data by PCIe Host;If needing to filter, data are abandoned;If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.The present invention conveniently reads and writes the data of different clock-domains using asynchronous FIFO, realizes the functions such as PCIe data forwarding, filtering, broadcast;Increase the ability of processing data stream;Circuit is simple, and forward node number can spread huge advantage.
Description
Technical field
The present invention relates to electronic technology field, specifically a kind of PCIe switch system and method.
Background technology
With PCIe, (Peripheral Component Interconnect Express, Peripheral Component Interconnect standard expand
Exhibition) technology development, it has been trend of the times that multiple equipment is entered between andante into interconnection so as to carry out data forwarding by PCIe protocol,
And this technology needs to use PCIe switch.
At present, the hardware of PCIe switch mainly includes processor, internal memory, PCIe exchanges (switch) chip, clock, electricity
Source etc..The software of PCIe switch mainly includes operating system and necessary driving and management software.In general, PCIe are exchanged
Chip is connected to form PCIe trees with multiple forwarding units, multiple to be connected thereto under the mode of operation of P2P (point-to-point)
Equipment carries out data forwarding.Processor can carry out the transmission of data and control signal with PCIe exchange chips, so as to as whole
Individual PCIe exchanges the root node of tree.During PCIe switch carries out data forwarding, when processor hinders and resetted for some reason,
Can be in whole PCIe trees broadcast hot reset (hot reset) order, so that the reset of PCIe exchange chips, the number of PCIe switch
Therefore it is interrupted according to forwarding.
The present invention uses FPGA technology, and application function may be programmed, and design a kind of PCIe switch system, can be according to reality
Need that multiple PCIe devices can be mounted.
The content of the invention
Demand and weak point of the present invention for the development of current technology, there is provided a kind of PCIe switch service system and side
Method.
A kind of PCIe switch system of the present invention, it is as follows to solve the technical scheme that above-mentioned technical problem uses:It is described
PCIe switch system, realize, application function may be programmed by FPGA, multiple PCIe devices can be mounted according to being actually needed;System
System framework includes:
PCIe Slave:Realized by IP inside FPGA, PCIe data has parsed in IP;Connect asynchronous FIFO, host computer number
Asynchronous FIFO is inputted according to by PCIe Slave;
Asynchronous FIFO:Connect CPU interaction;PCIe data is read from PCIe Slave and is sent to central processing list
Member;
CPU:All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, such as
Forwarding, filtering, broadcast etc., increase the ability of the system processes data stream.
Some PCIe Host:Realized by IP inside FPGA, corresponding PCIe Host receive what CPU was sent
Data, and sent after data are packed.
Further, corresponding each PCIe Host set preposition FIFO, and the CPU is connected by preposition FIFO
To corresponding PCIe Host.CPU is sent to preposition FIFO, corresponding PCIe Host after PCIe data is handled
Sent after reading data from preposition FIFO.
Further, the PCIe switch system also includes DDR internal memories, DDR Memory linkages to CPU.
Further, the PCIe switch system is provided with two PCIe Host.
The present invention also proposes a kind of PCIe switch method, is realized by FPGA, and application function may be programmed, according to being actually needed
Multiple PCIe devices can be mounted;Implementation process includes:
The PCIe data that step 1, CPU are sent from asynchronous FIFO reading host computer, according to different application scenarios pair
PCIe data carries out various processing;
Corresponding operation is made in the specific order of step 2, basis:If needing to forward, sent out to PCIe Host corresponding to destination address
Data are sent, are sent data by PCIe Host;
If needing to filter, data are abandoned;
If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.
Further, the step 2:
The PCIe data that CPU is sent from asynchronous FIFO reading host computer, then made according to specific order corresponding
Operation, if needing to forward, to destination address send data to corresponding to PCIe Host preposition FIFO, then PCIe Host
Sent after reading data;
If needing to broadcast, simultaneously to all PCIe Host preposition FIFO send data, then by PCIe Host read data after
Send.
Further, after CPU receives the data that PCIe Slave come, carried out according to different application scenarios
All kinds of processing, while data can be temporarily stored in DDR internal memories.
A kind of PCIe switch system and method for the present invention, have an advantageous effect in that compared with prior art:This
Invention basis, which is actually needed, can mount multiple PCIe devices;The number of different clock-domains can be easily read and write using asynchronous FIFO
According to playing synchronous effect;In processing data, data of newly arriving can be temporarily stored in DDR internal memories CPU, be realized
The functions such as the forwarding of PCIe data, filtering, broadcast;Increase the ability of the system processes data stream;Circuit of the present invention is simple,
Forward node number, which can spread etc., has huge advantage, has broad application prospects.
Brief description of the drawings
For the clearer explanation embodiment of the present invention or technology contents of the prior art, below to the embodiment of the present invention
Or required accompanying drawing does simple introduction in the prior art.It will be apparent that accompanying drawing disclosed below is only the one of the present invention
Section Example, to those skilled in the art, on the premise of not paying creative work, can also be attached according to these
Figure obtains other accompanying drawings, but within protection scope of the present invention.
Accompanying drawing 1 is the schematic diagram of PCIe switch system described in embodiment 3.
Embodiment
For technical scheme, the technical problem solved and technique effect is more clearly understood, below in conjunction with tool
Body embodiment, technical scheme is checked, completely described, it is clear that described embodiment is only this hair
Bright part of the embodiment, rather than whole embodiments.Based on embodiments of the invention, those skilled in the art are not doing
All embodiments obtained on the premise of going out creative work, all within protection scope of the present invention.
Embodiment 1:
The present embodiment proposes a kind of PCIe switch system, is realized by FPGA, application function may be programmed, can according to being actually needed
Mount multiple PCIe devices.FPGA(Field-Programmable Gate Array), i.e. field programmable gate array, it is
The product further developed on the basis of the programming devices such as PAL, GAL, CPLD.It is as application specific integrated circuit(ASIC)
A kind of semi-custom circuit in field, had both solved the deficiency of custom circuit, and had overcome original programming device gate circuit number again
The shortcomings that limited.
The present embodiment PCIe switch system, system architecture include:
PCIe Slave:Realized by IP inside FPGA, PCIe data has parsed in IP;Connect asynchronous FIFO, host computer number
Asynchronous FIFO is inputted according to by PCIe Slave;
Asynchronous FIFO:Connect CPU interaction;PCIe data is read from PCIe Slave and is sent to central processing list
Member.FIFO(First Input First Output), i.e. fifo queue, the instruction being introduced into first complete and retire from office, with
And just perform Article 2 instruction.The data of different clock-domains can be easily read and write using asynchronous FIFO, play synchronous effect.
CPU:All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come,
Such as forwarding, filtering, broadcast etc., increase the ability of the system processes data stream.
Some PCIe Host:Realized by IP inside FPGA, input corresponding PCIe Host through CPU, carry out
PCIe data is packed and then sent.
The present embodiment PCIe switch system, pass through PCIe Slave, CPU, asynchronous FIFO and multiple PCIe
Host is formed, it is possible to achieve the function such as the forwarding of PCIe data, filtering, broadcast;The sides such as circuit is simple, forward node number can spread
Face has huge advantage.
The present embodiment also proposed a kind of PCIe switch method, and its technology contents is referred to above-described embodiment 1PCIe
Switch system, specific implementation flow are as follows:
The PCIe data that step 1, CPU are sent from asynchronous FIFO reading host computer, according to different application scenarios pair
PCIe data carries out various processing;
Corresponding operation is made in the specific order of step 2, basis:If needing to forward, sent out to PCIe Host corresponding to destination address
Data are sent, are sent data by PCIe Host;
If needing to filter, data are abandoned;
If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.
Embodiment 2:
A kind of PCIe switch system that the present embodiment proposes, on the basis of embodiment 1, corresponds to PCIe in system architecture
Host is also provided with preposition FIFO, and the ability of the system processes data stream is further increased by preposition FIFO.
Preposition FIFO:CPU is connected to PCIe Host through preposition FIFO, and CPU is by PCIe data
Preposition FIFO is sent to after processing, corresponding PCIe Host are sent after reading data from preposition FIFO.
The system PCIe switch also includes DDR internal memories, DDR Memory linkages to CPU;CPU
All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, while data can be temporarily stored in DDR
In internal memory, the ability of the system processes data stream is further increased.
The present embodiment also proposed a kind of PCIe switch method, and its technology contents is referred to above-described embodiment 2PCIe
Switch system, after CPU receives the data that PCIe Slave come, carried out according to different application scenarios all kinds of
Processing, while data can be temporarily stored in DDR internal memories, increase the ability of the system processes data stream.
The PCIe data that CPU is sent from asynchronous FIFO reading host computer, then makes according to specific order
Corresponding operation, if needing to forward, corresponding PCIe Host preposition FIFO is sent data to destination address, then PCIe
Host is sent after reading data;
If needing to shield, the data are abandoned;
If needing to broadcast, simultaneously to all PCIe Host preposition FIFO send data, then by PCIe Host read data after
Send.
Embodiment 3:
A kind of PCIe switch system that the present embodiment proposes, on the basis of embodiment 1, embodiment 2, sets two in systems
Individual PCIe Host.By the detailed description to embodiment 3, to introduce the particular technique content of the present invention and technique effect.
Accompanying drawing 1 is the schematic diagram of embodiment 3PCIe switch systems, and as shown in Figure 1, PCIe switch system includes:
PCIe Slave, CPU, DDR internal memories, three asynchronous FIFOs and two PCIe Host, one of asynchronous FIFO
Communicated for PCIe Slave, CPU, another two asynchronous FIFO is respectively two PCIe Host preposition FIFO;
DDR internal memories exchange with CPU, realize new data, pending data it is temporary.
The present embodiment also proposed a kind of PCIe switch method, and its technology contents is referred to above-described embodiment 3PCIe
Switch system, the PCIe data that CPU is sent from asynchronous FIFO reading host computer, and also data can be temporarily stored in
In DDR internal memories;
Then, CPU makes corresponding operation according to specific order, if forwarding, then sends number to destination address
According to corresponding PCIe Host(PCIe Host1 or PCIe Host2)Preposition FIFO, then PCIe Host read data after
Send;If needing to shield, then the data are abandoned;If needing to broadcast, then simultaneously to all PCIe Host(PCIe
Host1 and PCIe Host2)Preposition FIFO send data, then by PCIe Host read data after send.
Use above specific case is elaborated to the principle and embodiment of the present invention, and these embodiments are
It is used to help understand the core technology content of the present invention, the protection domain being not intended to limit the invention, technical side of the invention
Case is not restricted in above-mentioned embodiment.Based on the above-mentioned specific embodiment of the present invention, those skilled in the art
Under the premise without departing from the principles of the invention, to any improvement and modification made by the present invention, the special of the present invention should all be fallen into
Sharp protection domain.
Claims (7)
1. a kind of PCIe switch system, it is characterised in that realized by FPGA, application function may be programmed, according to being actually needed energy
Enough mount multiple PCIe devices;System architecture includes:
PCIe Slave:Realized by IP inside FPGA, PCIe data has parsed in IP;Connect asynchronous FIFO, host computer number
Asynchronous FIFO is inputted according to by PCIe Slave;
Asynchronous FIFO:Connect CPU interaction;PCIe data is read from PCIe Slave and is sent to central processing list
Member;
CPU:All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, such as
Forwarding, filtering, broadcast etc., increase the ability of the system processes data stream;
Some PCIe Host:Realized by IP inside FPGA, corresponding PCIe Host receive the data that CPU is sent, will
Sent after data packing.
2. a kind of PCIe switch system according to claim 1, it is characterised in that before corresponding each PCIe Host are set
FIFO is put, the CPU is connected to corresponding PCIe Host by preposition FIFO.
3. a kind of PCIe switch system according to claim 2, it is characterised in that the PCIe switch system also includes
DDR internal memories, DDR Memory linkages to CPU.
4. a kind of PCIe switch system according to claim 3, it is characterised in that the PCIe switch system is provided with
Two PCIe Host.
A kind of 5. PCIe switch method, it is characterised in that a kind of PCIe switch method, realized by FPGA, application function can
Programming, multiple PCIe devices can be mounted according to being actually needed;Implementation process includes:
The PCIe data that step 1, CPU are sent from asynchronous FIFO reading host computer, according to different application scenarios pair
PCIe data carries out various processing;
Corresponding operation is made in the specific order of step 2, basis:If needing to forward, sent out to PCIe Host corresponding to destination address
Data are sent, are sent data by PCIe Host;
If needing to filter, data are abandoned;
If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.
A kind of 6. PCIe switch method according to claim 5, it is characterised in that the step 2:
The PCIe data that the CPU is sent from asynchronous FIFO reading host computer, then makes according to specific order
Corresponding operation, if needing to forward, corresponding PCIe Host preposition FIFO is sent data to destination address, then PCIe
Host is sent after reading data;
If needing to broadcast, simultaneously to all PCIe Host preposition FIFO send data, then by PCIe Host read data after
Send.
7. a kind of PCIe switch method according to claim 6, it is characterised in that the CPU receives PCIe
After the data that Slave comes, all kinds of processing are carried out according to different application scenarios, while data can be temporarily stored in DDR internal memories.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710976713.5A CN107645457A (en) | 2017-10-19 | 2017-10-19 | A kind of PCIe switch system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710976713.5A CN107645457A (en) | 2017-10-19 | 2017-10-19 | A kind of PCIe switch system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107645457A true CN107645457A (en) | 2018-01-30 |
Family
ID=61123883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710976713.5A Pending CN107645457A (en) | 2017-10-19 | 2017-10-19 | A kind of PCIe switch system and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645457A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509362A (en) * | 2018-04-11 | 2018-09-07 | 济南浪潮高新科技投资发展有限公司 | A kind of serial port adapter |
CN109150765A (en) * | 2018-09-12 | 2019-01-04 | 郑州云海信息技术有限公司 | A kind of interchanger realized based on FPGA |
CN112073213A (en) * | 2020-07-30 | 2020-12-11 | 苏州浪潮智能科技有限公司 | Method for flexibly and safely configuring PCIe switch |
CN114866497A (en) * | 2022-06-15 | 2022-08-05 | 西安微电子技术研究所 | PCIe switching circuit and method for global asynchronous intra-site synchronization |
CN115211094A (en) * | 2020-02-14 | 2022-10-18 | 索尼互动娱乐股份有限公司 | Network architecture providing high-speed storage access through PCI Express fabric between compute nodes and storage servers |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157973A1 (en) * | 2007-12-16 | 2009-06-18 | Yi-Chun Li | Storage controller for handling data stream and method thereof |
CN202535384U (en) * | 2012-03-12 | 2012-11-14 | 杭州海莱电子科技有限公司 | Network equipment expansion connection and virtual machine interconnection optimization system based on PCIe bus |
CN103078747A (en) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | PCIe (Peripheral Component Interface Express) switchboard and working method thereof |
CN203434983U (en) * | 2013-09-12 | 2014-02-12 | 成都成电光信科技有限责任公司 | Fiber-channel data interface card with configurable FPGA (Field Programmable Gate Array) |
CN105549916A (en) * | 2015-12-31 | 2016-05-04 | 湖南国科微电子股份有限公司 | Peripheral component interconnect express (PCIe) solid state hard disk controller, PCIe based storage system and data read and write method thereof |
CN206195819U (en) * | 2016-10-25 | 2017-05-24 | 大连大学 | Spatial information network link controlgear |
-
2017
- 2017-10-19 CN CN201710976713.5A patent/CN107645457A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157973A1 (en) * | 2007-12-16 | 2009-06-18 | Yi-Chun Li | Storage controller for handling data stream and method thereof |
CN202535384U (en) * | 2012-03-12 | 2012-11-14 | 杭州海莱电子科技有限公司 | Network equipment expansion connection and virtual machine interconnection optimization system based on PCIe bus |
CN103078747A (en) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | PCIe (Peripheral Component Interface Express) switchboard and working method thereof |
CN203434983U (en) * | 2013-09-12 | 2014-02-12 | 成都成电光信科技有限责任公司 | Fiber-channel data interface card with configurable FPGA (Field Programmable Gate Array) |
CN105549916A (en) * | 2015-12-31 | 2016-05-04 | 湖南国科微电子股份有限公司 | Peripheral component interconnect express (PCIe) solid state hard disk controller, PCIe based storage system and data read and write method thereof |
CN206195819U (en) * | 2016-10-25 | 2017-05-24 | 大连大学 | Spatial information network link controlgear |
Non-Patent Citations (2)
Title |
---|
何春茂: "基于FPGA硬核的PCI Express实现", 《机电工程技术》 * |
李经章: "基于FPGA的PCI Express传输设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509362A (en) * | 2018-04-11 | 2018-09-07 | 济南浪潮高新科技投资发展有限公司 | A kind of serial port adapter |
CN109150765A (en) * | 2018-09-12 | 2019-01-04 | 郑州云海信息技术有限公司 | A kind of interchanger realized based on FPGA |
CN115211094A (en) * | 2020-02-14 | 2022-10-18 | 索尼互动娱乐股份有限公司 | Network architecture providing high-speed storage access through PCI Express fabric between compute nodes and storage servers |
CN112073213A (en) * | 2020-07-30 | 2020-12-11 | 苏州浪潮智能科技有限公司 | Method for flexibly and safely configuring PCIe switch |
CN112073213B (en) * | 2020-07-30 | 2022-12-27 | 苏州浪潮智能科技有限公司 | Method for flexibly and safely configuring PCIe switch |
CN114866497A (en) * | 2022-06-15 | 2022-08-05 | 西安微电子技术研究所 | PCIe switching circuit and method for global asynchronous intra-site synchronization |
CN114866497B (en) * | 2022-06-15 | 2023-05-02 | 西安微电子技术研究所 | PCIe switching circuit device and method for global asynchronous intra-station synchronization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645457A (en) | A kind of PCIe switch system and method | |
US8234483B2 (en) | Memory units with packet processor for decapsulating read write access from and encapsulating response to external devices via serial packet switched protocol interface | |
KR101035832B1 (en) | Simulation circuit of pci express endpoint and downstream port for a pci express switch | |
US20140188996A1 (en) | Raw fabric interface for server system with virtualized interfaces | |
CN103559156B (en) | Communication system between a kind of FPGA and computing machine | |
CN104395895A (en) | Systems and methods for input/output virtualization | |
US9934175B2 (en) | Direct memory access for programmable logic device configuration | |
CN105512084A (en) | Zynq platform data interaction device | |
KR20210033996A (en) | Integrated address space for multiple hardware accelerators using dedicated low-latency links | |
CN104598405A (en) | Expansion chip and expandable chip system and control method | |
JP2008310832A (en) | Apparatus and method for distributing signal from high level data link controller to a plurality of digital signal processor cores | |
US20200218215A1 (en) | Circuit for coupling a field bus and a local bus | |
US20090150563A1 (en) | Control path I/O virtualisation | |
CN106657115B (en) | Frequency converter control system and protocol conversion card thereof | |
CN106844263B (en) | Configurable multiprocessor-based computer system and implementation method | |
CN109586956B (en) | FCoE switch capable of flexibly configuring ports and method | |
US9053092B2 (en) | System authorizing direct data transfers between memories of several components of that system | |
CN108008657B (en) | Load balancing redundancy switching system with control panel and switching panel buses directly connected | |
CN116150075B (en) | PCIe exchange controller chip, verification system and verification method | |
CN103116560B (en) | Programmable blade server structure | |
CN104954072A (en) | Optical fiber bus system based on protocol processing FPGAs (field programmable gate arrays) as well as low-delay communication method | |
US20180307648A1 (en) | PCIe SWITCH WITH DATA AND CONTROL PATH SYTOLIC ARRAY | |
US8316169B2 (en) | Physical to hierarchical bus translation | |
CN105260335B (en) | Extend the data processing system and method for optical interface | |
CN114445260A (en) | Distributed GPU communication method and device based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180130 |
|
RJ01 | Rejection of invention patent application after publication |