Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)
Abstract
This record has no abstract on file.
Term
2.7 yearsleft in the term
Expires 27 May 2029.
- Priority
- Filed
- Granted
- Today
- Expires
14 claims: 10 independent, 4 dependent
- 1システム・オン・チップ(SoC) であって、 パソコン(PC)プロトコルにより、第1の構成部分と通信し、高度拡張可能インタフェース(AXI)又はオープン・コア・プロトコル(OCP)プロトコルに対応する第2のプロトコルにより、第1のインタフェースと通信するよう単一の半導体ダイ上に適合されたアダプタであって、前記第1のインタフェースが、前記単一の半導体ダイ上に適合され、前記アダプタに第1の相互接続によって結合され、前記第1のインタフェースは、前記第1の構成部分から受信されたトランザクションのアドレス変換及び配列を行うアダプタと、 前記第1のインタフェースと第2の相互接続との間のトランザクションを通信するために前記第1のインタフェースと第2の相互接続との間に結合された第1の物理装置とを備え、 前 記単一の半導体ダイ上に適合された複数の異種リソース、 及び 前記第1のインタフェースは 、前記第2の相互接続を介して 結合させ られ るよう前記単一の半導体ダイ上に適合され、前記複数の異種リソースはそれぞれ、知的資産(IP)コア及びshimを含み、前記shimは、修正なし で 前記IPコアが、対応するIPコアを 前記SoCに 組み入れることを可能にするために前記IPコアの前記PCプロトコルのヘッダを実現し、前記 SoC は、前記PCプロトコルを動作し、前記IPコアは前記第2のプロトコルによって動作する SoC 。
- 2請求項1記載の SoC であって、前記第1のインタフェースは前記PCプロトコルの構成サイクルを前記第2のプロトコルの形式に変換し、前記PCプロトコルは、周辺構成部分相互接続(PCI)プロトコルに対応する SoC 。
- 3請求項2記載の SoC であって、前記第1のインタフェースは、再配置可能なPCIアドレスをAXI/OCPアドレスに変換するためのアドレス変換を行う SoC 。
- 4請求項1記載の SoC であって、前記第1のインタフェースは、前記複数の異種リソースにわたって共通の動作を行い、各shimは、対応するIPコアに特有の動作を行う SoC 。
- 5請求項4記載の SoC であって、前記共通の動作はアドレス変換及び配列を含み、前記特有の動作は 電 力管理及びエラー処理を含む SoC 。
- 6請求項1記載の SoC であって、前記第2の相互接続が相互接続ファブリックを含む SoC 。
- 7請求項6記載の SoC であって、前記複数の異種リソースのうちの対応する異種リソースに第2のインタフェースをそれぞれが結合させる複数の第2の物理装置を更に備える SoC 。
- 8請求項2記載の SoC であって、前記第1のインタフェースはPCIヘッダへのアクセスを、対応するshimにルーティングし、前記shimは、対応するIPコアのPCIヘッダを実現し、前記第1のインタフェースは更に、装置メモリ空間へのアクセスを、前記対応するshimにルーティングする SoC 。
- 9請求項8記載の SoC であって、前記対応するshimは、前記PCIヘッダへの読出・書込動作全てを消費し、他のトランザクションを、前記対応するIPコアに通信する SoC 。
- 10システムであって、 プロセッサと、 前記プロセッサに結合されたホスト・インタフェースであって、前記プロセッサをメモリ及びアダプタに結合させ、前記アダプタは、前記ホスト・インタフェースに結合されて、 周辺構成部分相互接続(PCI) プロトコルによって通信し、高度拡張可能インタフェース(AXI)に対応する第2のプロトコル、 又は オープン・コア・プロトコル(OCP)プロトコ ル により、第2のインタフェースに通信し、前記第2のインタフェースは、第1の相互接続により、前記アダプタに結合され、前記第2のインタフェースは、前記プロセッサから受信されたトランザクションのアドレス変換及び配列を行うホスト・インタフェースと、 前記第2のインタフェースと第2の相互接続との間のトランザクションを通信するために前記第2のインタフェースと第2の相互接続との間に結合された第1の物理装置とを備え、 複 数の異種リソース 及び 前記第2のインタフェースは、 前記第2の相互接続を介して 結合させ られ 、前記複数の異種リソースはそれぞれ、知的資産(IP)コア及びshimを含み、前記shimは、修正なしでシステムに、前記IPコアが、対応するIPコアを組み入れることを可能にするために前記IPコアの前記 PCI プロトコルのヘッダを実現し、前記システムは、前記 PCI プロトコルによって動作し、前記IPコアは前記第2のプロトコルによって動作するシステム。
- 11請求項10記載のシステムであって、ウルトラ・モバイル・システムを備え、前記プロセッサは、前記 PCI プロトコルを使用してPCオペレーティング・システムを実行するシステム。
- 12請求項11記載のシステムであって、前記第2のインタフェースは、前記 PCI プロトコルの構成サイクルを前記第2のプロトコルの形式に変換し 、 前記第2のインタフェースは、再配置可能なPCIアドレスをAXI/OCPアドレスに変換するためにアドレス変換を行うシステム。
- 13請求項12記載のシステムであって、前記第2のインタフェースは、前記複数の異種リソースにわたって共通の動作を行い、各shimは、対応するIPコアに特有の動作を行い、前記共通の動作は、前記アドレス変換、及び前記配列を含み、前記特有の動作は、 電 力管理及びエラー処理を含むシステム。
- 14請求項12記載のシステムであって、前記第2のインタフェースは、PCIヘッダへのアクセスを、対応するshimにルーティングし、前記shimは、対応するIPコアのPCIヘッダを実現し、前記第2のインタフェースは更に、装置メモリ空間へのアクセスを、対応するshimにルーティングし、前記対応するshimは前記PCIヘッダへの読出・書込動作全てを消費し、他のトランザクションを前記対応するIPコアに通信するシステム。
Independent claims14
10 paragraphs, as filed
The present invention relates to a method of providing a peripheral component interconnect (PCI) compatible transaction level protocol for system on chip (SoC).
Certain semiconductor architectures, such as Advanced EXtensible Interface (AXI) and Open Core Protocol (OCP) -based architectures, are modular, by quickly adding or removing intellectual property (IP) blocks from existing designs. Enables rapid dissemination. The aforementioned IP blocks (also known as IPs) provide a rich set of features, but should be used in personal computer (PC) systems due to the lack of certain key features required for Peripheral Component Interconnection (PCI) compatibility. Is not possible. For example, the IPs mentioned above operate at fixed addresses, except for Plug and Play. There is no mechanism for discovery and enumeration. The PCI type array is not realized, and the PCI type power management function is lacking.
<p> For peripherals used in PC compatible systems, the interconnect specification mixes the physical level of the interface with the transaction level. In fact, since the above specifications include external physical devices, it is necessary to specify both of the above levels. However, in system-on-chip (SoC) systems, a mix of interface-specified physical levels and transaction-levels limits the reuse of components as the silicon process changes. Some external non-PC compatible systems employ a transaction-level interface for their IP components. However, the above-mentioned system cannot be made PC compatible because the various configurations required for PC compatibility are lacking in the interface.</p>
<p> The examples use a technique that allows the use of heterogeneous resources such as AXI / OCP technology in PC-based systems such as PCI-based systems without making any changes to the IP resources themselves. More specifically, the examples provide transaction-level modular interconnections of PC-compatible SoC components. That is, reuse of components can support realization in rapid development of SoC components, so various embodiments separate the transaction level from the specified physical level of the SoC component specifications. It is possible. In this way, the ability to map a PCI (or other bus-based) system to a point-to-point (PtP) interconnect system, the ability to provide target-based decoding to a PtP interconnect system, and In a PC compatible system, it is possible to realize a function for using an existing component that does not yet provide target-based decoding and other PC compatible functions via logic.</p><p> The problem is raised by the mapping of PCI transactions to non-PCI transaction spaces as realized by the target SoC incorporated into the PC compatible system, as realized by the PC compatible system. In particular, PCI is typically a target-based decryption system, which means that if a processor wants to communicate with a peripheral, it sends a transaction to all the peripherals and waits for the device to request it. When requested by one of the devices, a channel is established between the processor and the corresponding device so that it can communicate. The aforementioned systems usually do not work well with on-die systems such as SoCs that operate using source-based decryption. Instead, in the system described above, the processor sends the address to the interconnect, which seeks its destination, sends it to all devices, and instead of waiting for a response, the request to the specific device targeted by the request. Send only.</p><p> In various embodiments, interfaces or adapters can be used to keep track of all the different target addresses in the system and to collect and maintain configuration information. Thus, when the processor sends a request instead of sending the request to all peripherals, the request is sent only to the adapter associated with the target device.</p><p> In the examples, two very thin hardware blocks are provided as Yunit and shim, as described herein and in the claims, by plugging AXI / OCP IP into an interconnect fabric to generate a PCI compatible system. To. As described below, in one embodiment, the Yunit's first (eg, north) interface is a direct media interface (DMI) bus, PCI bus, peripheral component interface express (PCIe) bus, and so on. Connect to the adapter block that interfaces to the PCI compatible bus. The second (eg, south) interface connects directly to non-PC interconnects such as AXI / OCP interconnects. In various implementations, this bus can be an OCP bus.</p>
<figref num="1">It is a block diagram of the processor according to one Embodiment of this invention.</figref><figref num="2">It is a block diagram of the system by one Example of this invention.</figref>
According to the embodiments of the present invention, the two PCI functions can be incorporated into separate transactional physical protocols. First, the Yunit may include decryption logic to determine where the request is targeted and ensure that the request is properly served via the interconnect. Second, shim may include control register functions such as control information to turn off the corresponding device and gain access to a particular memory area. Therefore, the PCI header function is divided into two parts (the first part is divided into shims that are specifically associated with specific functions in the device itself, and the second part is associated with the routing of commands within the SoC. Because it is, it can be divided into Yunit). As such, the component's PCI incremental functionality is split into two parts (the shim next to the Yunit and IP core for the requester because we don't know the target address).
Yunit implements PCI enumeration by translating the PCI configuration cycle into transactions that the target IP can understand. The unit also translates addresses from relocatable PCI addresses to fixed AXI / OCP addresses. Yunit can also implement an array mechanism to satisfy producer-consumer models (eg, PCI producer-consumer models). Thus, Ynit may be provided with logic that is typically incorporated into peripherals to make a particular request (ie, a decrypted request) to the Yunit, then decode the request and target that request. It determines which peripherals have been turned into and then sends the request only to a particular device. Therefore, in various embodiments, the adapter can perform PCI-PtP conversion.
Similarly, individual IPs are interconnected via a dedicated PCI shim. Each shim can implement all the PCI header functions of the corresponding IP, but Yunit can perform address decryption. As such, Yunit routes all access to the PCI header and device memory space to shim. shim consumes all header read / write transactions and forwards other transactions to IP. In certain embodiments, shim also implements IP power management related functions.
<p> Next, with reference to FIG. 1, a block diagram of a processor according to an embodiment of the present invention is shown. As shown in FIG. 1, the processor 10 can be a system-on-chip (SoC) or other integrated circuit that can be formed on a single semiconductor die. In the embodiment of FIG. 1, processor 10 is coupled to an interface for providing functionality for communicating and controlling the various heterogeneous resources described above using a standard PC signaling mechanism (such as the PCI protocol). The scope of the present invention is not limited to this point, although it may include various heterogeneous resources capable of.</p><p> As shown in FIG. 1, one embodiment may include an adapter that may be a DMI adapter having a first interface capable of communicating by a particular protocol (eg, DMI protocol). However, in other embodiments, the adapter 20 can communicate using this first interface by means of PCI, PCIe, or other aforementioned PC-based communication protocols. Thus, communication with another part of the SoC, or an upstream component such as another component such as a PC chipset component (eg, an I / O controller hub (ICH)), is a specific PC protocol (eg,). For example, the DMI shown in Figure 1), which can be done by the DMI protocol shown in Figure 1.</p><p> Similarly, downstream communication can be performed in response to non-PC communication protocols such as the OCP protocol shown in FIG. 1, but other implementations are certainly possible.</p><p> As mentioned above, the adapter 20 communicates with the Yunit 30 which can handle various PCI and other PC-based operations described above. On its downstream side, the Yunit 30 can be coupled to the interconnect 40. The interconnect 40 can provide routing and interconnection of communication between the Yunit 30 and a plurality of different heterogeneous resources. In the embodiment shown in FIG. 1, the above-mentioned resources include a first resource 50, a second resource 60, and a third resource 70. Each of them may represent a particular heterogeneous resource, such as a particular IP block of one or more third parties. Each heterogeneous resource can be configured differently to perform one or more dedicated functions.</p><p> Still referring to FIG. 1, the interconnect 40 can be coupled to each resource and the Yunit 30 via an interconnect (eg, an OCP interconnect). As shown in Figure 1, physical devices 45a-c (corresponding resources and interconnects 40, each coupled between physical devices 45 collectively) act as an interface to the transaction phase and are physically interconnected. It may include logic, circuits, etc. for converting transactions into actual bits and bytes to be transmitted on the line. Therefore, between each resource and the interconnection 40, there is a physical device 45 for making a transaction layer / physical layer and a physical layer / transition layer transition. Although shown as a single unit for ease of illustration, separate physical devices can be combined at each end of the physical wire.</p><p> Each resource contains a shim for connecting the device to interconnect 40. Other than addressing the target decryption feature performed by Yunit30, using Shim so that communication between individual IP blocks of a resource and shim can be by protocols underneath the IP block. All PCI related operations can be performed. Thus, as shown in FIG. 1, resource 50 includes shim55 coupled to IP block 58 by interconnects such as OCP-based interconnects. Similarly, resource 60 includes shim65 coupled to IP block 68 by OCP interconnect. Figure 1 also shows resource 70, including shim75, which is coupled to IP block 78 by OCP interconnect. Although illustrated by this particular embodiment in the examples of FIG. 1, the scope of the invention is not limited to this point.</p><p> Rather, instead of being a monolithic compatibility block, the examples that implement Yunit take a distributed approach. Functions common to all IPs (eg address translation and array) are implemented in Yunit, while IP-specific functions such as power management and error handling are implemented in shim tailored to that IP.</p><p> In this way, new IPs can be added with minimal changes to Yunit. For example, in one implementation, changes can be made by adding new entries in the address reorientation table. While shim is IP-specific, in certain implementations a large number of features (eg, over 90%) are common across all IPs. This allows for a quick reconfiguration of the existing shim of the new IP.</p><p> Thus, the examples also allow the use of auto-generated interconnect fabrics without modification. In a point-to-point bus architecture, designing interconnect fabrics can be a daunting task. The Yunit approach described above uses the industrial ecosystem for PCI systems with minimal effort and without the need for modifications to industry standard tools.</p><p> FIG. 2 is a block diagram of a system according to an embodiment of the present invention. System 100 can be a PC-based system, such as a PCI-based system that can be implemented in a variety of form factors, from desktop systems to laptops to ultra-mobile PCs. As shown in FIG. 2, system 100 includes a processor 105 coupled to host interface 110, which is also coupled to memory 115 (such as dynamic random access memory (DRAM)). , Similarly, is coupled to the DMI adapter 120 (eg, via the DMI bus). The DMI adapter 120 can also be coupled to SoCs such as those shown in FIG. 1, listed as components 130-170 in the embodiment of FIG. In certain embodiments, processor 105 is capable of running a PC-based operating system (OS) such as Windows® or Linux® OS that uses PCI and other aforementioned PC protocols. It can be a low power processor, but certain components of the system can be from another protocol (eg AXI or OCP).</p><p> Therefore, it is possible to map a PCI type transaction to an IP block. IP blocks can be interconnected via PtP. Thus, interconnects based on the OCP or AXI protocol that support basic PtP communication between the requester and the target can be extended to support PCI bus header functionality and target-based decryption.</p><p> In addition, IP block reuse across separate SoC devices can be assisted by separating the transaction level from the physical level. That is, the transaction level defines the kind of requirements that the interconnect can handle, and the physical level describes how the transaction progresses from one point to another. By separating the two levels mentioned above, IP can transcend multiple generations of realizations. That is, the interconnect itself is when different generations have transistors of different sizes (eg, from different semiconductor processes) or different implementations (eg, from SoC, including multiple dies). Is likely to change to. However, the transaction layer remains the same while the interconnect layer changes. In this way, the physical layer can be modified independently of the transaction layer. For example, the transaction layer can be consistent across multiple generations and multiple physical layers. In contrast, when the physical layer is incorporated into an IP block, significant changes can be made between generations, which hinders efficient IP block reuse.</p><p> The embodiments can be implemented in code and can be stored on a storage medium that stores instructions that can be used to program the system to make the instructions. The storage medium is not limited to any of the following, such as floppy (registered trademark) disk, optical disk, compact disk read-only memory (CD-ROM), rewritable compact disk (CD-RW), and optomagnetic disk. Type of disk, Random Access Memory (RAM) such as Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Erasable Programmable Read Only Semiconductor devices such as memory (EPROM), flash memory, electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards, or any other type of medium suitable for storing electronic instructions. Can include.</p><p> Although the present invention describes a limited number of examples, those skilled in the art will recognize numerous modifications and variations from them. It is intended that the claims described in the claims include all the above-mentioned modifications and modifications that fall within the scope of the true purpose and scope of the present invention.</p>
20 DMI adapter 40 interconnect
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9384161B2 | Cited by | United States of America | Applicant |
| JP2011138521A | Cited by | Japan | Search report |
| JP2008102921A | Cites | Japan | – |
| JP07013907A | Cites | Japan | – |
| JP2007110706A | Cites | Japan | – |
| JP2005011344A | Cites | Japan | – |
| US20080288683A1 | Cites | United States of America | – |
28 members in 6 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 12156320 | United States of America | – | |
| 15632008 | United States of America | A | |
| 15632008 | United States of America | A | |
| 2008156320 | – | – | – |
| US20080156320 | – | – | – |
Members28
| Document | Office | Kind | |
|---|---|---|---|
| GB0908769D0 | United Kingdom | D0 | |
| GB2460331A | United Kingdom | A | |
| US2009300245A1 | United States of America | A1 | |
| JP2009289264A | Japan | A | |
| DE102009022550A1 | Germany | A1 | |
| CN101620585A | China | A | |
| TW201003410A | Taiwan Province of China | A | |
| US7861027B2 | United States of America | B2 | |
| US2011078356A1 | United States of America | A1 | |
| JP4668331B2This record | Japan | B2 | |
| JP2011138521A | Japan | A | |
| US8037230B2 | United States of America | B2 | |
| US2011320673A1 | United States of America | A1 | |
| GB201202442D0 | United Kingdom | D0 | |
| GB2460331B | United Kingdom | B | |
| GB2485701A | United Kingdom | A | |
| US8205029B2 | United States of America | B2 | |
| GB2485701B | United Kingdom | B | |
| US2012239839A1 | United States of America | A1 | |
| JP5128683B2 | Japan | B2 | |
| CN101620585B | China | B | |
| US8433841B2 | United States of America | B2 | |
| US2013297846A1 | United States of America | A1 | |
| US8751722B2 | United States of America | B2 | |
| US2014237155A1 | United States of America | A1 | |
| TWI452470B | Taiwan Province of China | B | |
| DE102009022550B4 | Germany | B4 | |
| US9547618B2 | United States of America | B2 |
22 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 |
Numbers
- Publication
- 4668331
- Publication, DOCDB
- 4668331
- Publication, EPODOC
- JP4668331B
- Application
- 127455
- Application, DOCDB
- 2009127455
- Application, EPODOC
- JP20090127455
Titles2
- Japanese
- システム・オン・チップ(SoC)用の周辺構成部分相互接続(PCI)互換のトランザクション・レベル・プロトコルを提供する方法
- English
- How to provide a peripheral component interconnect (PCI) compatible transaction-level protocol for system-on-chip (SoC)
Classification
- CPC, 6
- G06F13/385
- G06F13/38
- G06F13/4045
- G06F13/4022
- G06F13/404
- G06F13/4027
- IPC, 2
- G06F13 36
- G06F15 78