Interference networks for integrated circuit

文档序号:1775236 发布日期:2019-12-03 浏览:20次 中文

阅读说明:本技术 用于集成电路的互连网络 (Interference networks for integrated circuit ) 是由 安德鲁·戴维·图恩 耿光辉 徐政 于 2019-05-16 设计创作,主要内容包括:本公开涉及用于集成电路的互连网络。一种用于在集成电路的多个节点之间提供数据传输的互连网络包括:许多端点,所述许多端点用于与所述集成电路的相应的节点交换数据;主网络,该主网络用于从源端点向目的地端点路由主净荷;以及冗余网络,该冗余网络用于向所述目的地端点路由冗余净荷,该冗余净荷包括基于所述主净荷的至少一部分计算出的第一校验码,该第一校验码具有比所述主净荷的所述至少一部分更少的位。所述目的地端点包括错误校验电路,该错误校验电路用于执行错误校验操作以基于经由所述主网络接收到的所述主净荷计算第二校验码,并且基于所述第二校验码与经由所述冗余网络接收到的所述第一校验码的比较来验证所述主净荷的完整性。(This disclosure relates to be used for the interference networks of integrated circuit.It is a kind of between multiple nodes of integrated circuit provide data transmission interference networks include: many endpoints, many endpoints be used for node switching data corresponding with the integrated circuit;Master network, the master network are used to route main payload from source endpoint to destination endpoint;And redundant network, the redundant network is used for the destination endpoint route redundancy payload, the redundancy payload includes calculated first check code of at least part based on the main payload, which has position more less than described at least part of the main payload.The destination endpoint includes error checking circuit, the error checking circuit is used to execute error-correction operations to calculate the second check code based on the main payload received via the master network, and verifies the integrality of the main payload compared with first check code received via the redundant network based on second check code.)

1. a kind of for providing the interference networks of data transmission between multiple nodes of integrated circuit, comprising:

Multiple endpoints, the multiple endpoint is respectively for node switching data corresponding with the integrated circuit;

Master network, the master network are used to route main payload from source endpoint to destination endpoint;

Redundant network, the redundant network are used for the destination endpoint route redundancy payload, and the redundancy payload includes base In the first check code that at least part of the main payload calculates, first check code has than described in the main payload Less position at least partially;

Wherein, the destination endpoint includes error checking circuit, and the error checking circuit is used to execute error-correction operations, To calculate the second check code based on the main payload received via the master network, and it is based on second check code The integrality of the main payload is verified compared with first check code received via the redundant network.

2. interference networks according to claim 1, wherein the master network and the redundant network include same physics letter The first pseudo channel and the second pseudo channel on road.

3. interference networks according to claim 1, wherein the redundant network is configured as existing relative to the main payload The transmission of redundancy payload described in transmission delay on the master network.

4. interference networks according to claim 1, wherein the master network includes containing by the first clock signal timing Component a part;And

The redundant network includes a part containing the component by the timing of second clock signal, and the second clock signal is only Stand on first clock signal and with first clock signal synchronization.

5. interference networks according to claim 1, wherein the main payload includes network control signal, the network control Signal processed is used to control the component of the master network so that the main payload is routed to the destination endpoint from the source endpoint; And

The redundancy payload includes the subset of the network control signal, and the subset of the network control signal is described for controlling The component of redundant network is to be routed to the destination endpoint from the source endpoint for the redundancy payload.

6. interference networks according to claim 5, wherein the error-correction operations are sent out independently of in the main payload At least one of described network control signal sent.

7. interference networks according to claim 1, wherein the redundant network includes at least one intermediate module, described At least one intermediate module is respectively configured as the redundancy payload being routed to downstream components from upstream component;

Wherein, both synchronizing clock signals are at least configured to respond to for the upstream component and the downstream components and The synchronization intermediate module of operation, the synchronous intermediate module are configured as independently of the redundancy payload and from the master network Any comparison of information derived from the main payload of upper transmission and the redundancy payload is routed to institute from the upstream component State downstream components.

8. interference networks according to claim 1, wherein the main payload includes the variable number containing variable-size The grouping of fragment.

9. interference networks according to claim 8, wherein the master network include at least one adjusted size of component with The size of the fragment of the main payload is adjusted to different size of fragment.

10. interference networks according to claim 8, wherein the source endpoint is configured as the first check code meter It calculates as the block check code of the content for verifying the entire grouping.

11. interference networks according to claim 8, wherein the source endpoint is configured as following check codes being calculated as First check code: the check code is directed to the data-oriented amount to send in the grouping, in the grouping It is constant for sending for the quantity of the fragment of the data-oriented amount.

12. interference networks according to claim 1, wherein first check code and second check code include energy Enough detect a type of check code of the main payload or the multi-bit error in the redundancy payload.

13. interference networks according to claim 1, wherein first check code and second check code are including following Ring redundancy check (CRC) code.

14. interference networks according to claim 8, wherein each fragment of the main payload includes point of variable number Piece segmentation, the main payload specify fragment to be segmented validity information, and the fragment segmentation validity information indicates which fragment point Section includes effective information.

15. interference networks according to claim 14, wherein the source endpoint is configured as from first check code Invalid fragment segmentation is omitted in calculating.

16. interference networks according to claim 15, wherein the source endpoint includes consolidation circuit, the consolidation circuit For effective fragment segmentation of given fragment to be merged into the continuous blocks of data to be used to mention for the calculating of first check code For input.

17. interference networks according to claim 14, wherein each fragment of the redundancy payload includes single fragment point Section, but regardless of in each fragment of the main payload fragment segmentation quantity how.

18. a kind of non-transitory storage medium, the non-transitory storage medium stores Electronic Design file, the Electronic Design The design of representation of file interference networks according to claim 1.

19. a kind of computer implemented method for generating Electronic Design file, the Electronic Design representation of file are used for integrated The design of the interference networks of data transmission is provided between the node of circuit, which comprises

It to generate by the design specification data for the node that the interference networks connect in response to identification and specify the interconnection The Electronic Design file of network, the interference networks include:

Multiple endpoints, the multiple endpoint is respectively for node switching data corresponding with the integrated circuit;

Master network, the master network are used to route main payload from source endpoint to destination endpoint;And

Redundant network, the redundant network are used for the destination endpoint route redundancy payload, and the redundancy payload includes base In the first check code that at least part of the main payload calculates, first check code has than described in the main payload Less position at least partially;

Wherein, the destination endpoint includes error checking circuit, and the error checking circuit is used to execute error-correction operations, To calculate the second check code based on the main payload received via the master network, by second check code with via First check code that the redundant network receives compares, and when in first check code and second verification Mistake is signaled when detecting mismatch between code.

20. a kind of non-transitory storage medium, the non-transitory storage medium storage is for controlling data processing equipment to hold The computer program of the row method according to claim 11.

Technical field

This technology is related to the field of integrated circuit.More specifically it is related to for providing number between the node of integrated circuit According to the interconnection of access.

Background technique

Integrated circuit (such as system on chip) may include many components, and many components can be by issuing specified mesh The data access request of address is marked to be communicated.It can be provided in and the interconnection of data transmission is provided between the node of integrated circuit Network.

Summary of the invention

At least some examples provide a kind of for providing the Internet of data transmission between multiple nodes of integrated circuit Network, comprising: multiple endpoints, the multiple endpoint is respectively for node switching data corresponding with the integrated circuit;Major network Network, the master network are used to route main payload from source endpoint to destination endpoint;Redundant network, the redundant network are used for institute Destination endpoint route redundancy payload is stated, the redundancy payload includes first that at least part based on the main payload calculates Check code, first check code have position more less than described at least part of the main payload;Wherein, the destination Endpoint includes error checking circuit, and the error checking circuit is for executing error-correction operations based on via the master network The main payload received calculates the second check code, and is received based on second check code with via the redundant network To the comparison of first check code verify the integrality of the main payload.

Storage medium can be provided to store the Electronic Design file for the design for indicating interference networks as discussed above. The storage medium can be non-transitory storage medium.

At least some examples provide a kind of computer implemented method for generating Electronic Design file, the Electronic Design text Part indicates the design of the interference networks for providing data transmission between the node of integrated circuit;The described method includes: response In identification the institute for specifying the interference networks is generated by the design specification data for the node that the interference networks connect State Electronic Design file, the interference networks include: multiple endpoints, the multiple endpoint respectively for the integrated circuit Corresponding node switching data;Master network, the master network are used to route main payload from source endpoint to destination endpoint;And it is superfluous Co-net network, the redundant network are used for the destination endpoint route redundancy payload, and the redundancy payload includes based on described The first check code that at least part of main payload calculates, first check code have than at least one described in the main payload The less position in part;Wherein, the destination endpoint includes error checking circuit, and the error checking circuit is for executing mistake Verification operation is to calculate the second check code based on the main payload received via the master network, by second check code Compared with first check code received via the redundant network, and when in first check code and described the Mistake is signaled when detecting mismatch between two check codes.

It is discussed above described for generating for controlling data processing equipment execution to store that storage medium can be provided The computer program of the method for Electronic Design file.The storage medium can be non-transitory storage medium.

From by be read in conjunction with the figure it is exemplary be described below, the other aspects, features and advantages of this technology will be Obviously.

Detailed description of the invention

Fig. 1 shows the example of the data processing system including at least one interference networks;

Fig. 2 shows the examples of the interference networks including master network and redundant network;

Fig. 3 A schematically illustrates the example of the error checking using master network and redundant network;

Fig. 3 B shows alternative exemplary, and wherein master network and redundant network include the first virtual letter on same physical channel Road and the second pseudo channel;

Fig. 4 shows the example for sending main payload, wherein every grouping has the fragment (flits) of variable number and every point There is piece the fragment of variable number to be segmented;

Fig. 5 shows main payload and corresponding redundancy payload;

Fig. 6, which is illustrated, is merged into continuous blocks for the segmentation of effective fragment to be input to the example of error-checking code calculating;

Fig. 7 shows the example for executing combined circuit;

Fig. 8 is shown for data and header channel calculation independence error-checking code and data splitting and header check code To form the example of combination verification code;

Fig. 9 and Figure 10 illustrates the alternative for generating combination verification code;

Figure 11 schematically illustrates designing and manufacturing for the integrated circuit including interference networks;And

Figure 12 is that diagram generates the flow chart for indicating the method for Electronic Design file of interference networks design.

Specific embodiment

Interference networks can be provided in integrated circuits to pass for providing data between many nodes of integrated circuit It is defeated.For example, the node connected by interference networks can include processor core, graphics processing unit, network controller etc..Network Can have: many endpoints, many endpoints are respectively for node switching data corresponding with integrated circuit;And transmission Channel, the transmission channel are used to route payload from source endpoint to destination endpoint.Optionally, network can also include additional group Part, such as carried out between substitution downstream transmission channel the router of selection, data point reuse size component and/or for across The more clock or power domain cross unit of clock or power domain bridge joint.

Functionally correct IC design there may come a time when experience hardware fault, such as hit circuit by ionizing particle Component and cause.If broken down in interference networks, due to the data variation value during transmission, or due to data By mistake routing so that it is not reached correct destination (or having delay in terms of reaching correct destination), failure can be with Prevent correct data from reaching destination appropriate.Failure may include permanent fault, for example, when integrated circuit trigger or When other memory elements all become to be stuck in particular value regardless of the input of the memory element, make the subsequent letter dependent on the memory element Number have be tied to 0 or 1 position.In addition, interference networks can suffer from transient fault, for example, transmission value position due to particle Hit and change state during the transmission, but because permanent damages are not caused to circuit hardware the value then sent still In correct situation.Failure can also include electrical wire fastener in particular value, open circuit wire failure, short trouble and the event of high impedance electric wire Barrier.

In the integrated circuit that the application (such as automobile application) important for functional safety designs, it may be desirable to which use is provided In the mechanism that detection is broken down in interference networks.A kind of method can be duplication master network for from source endpoint to purpose Ground endpoint routes the component of main payload, and to form identical redundant network, the redundant network can be by the redundancy pair of main payload This with main payload itself is sent in parallel to destination, and compare purpose be located in the main payload received and redundancy payload with Check errors.However, because interference networks may include many components, each group of duplication master network in redundant network Part is expensive in terms of check logic and circuit area and also increases power consumption.

In the technology being discussed below, redundant network includes to destination endpoint route redundancy payload, the redundancy payload Calculated first check code of at least part based on main payload, wherein the first check code with for calculating the first check code The part of main payload, which is compared, has less position.Destination endpoint includes error checking circuit, and the error checking circuit is for holding Row error-correction operations based on the main payload that receives via master network calculate the second check code, and are based on the first check code The integrality of main payload is verified in comparison with the second check code.Therefore, be not redundantly sent by redundant network it is entire net Lotus, but there is the check code of less position by sending, this saves circuit area and reduces power consumption, is enable to less Expensively it is embodied as functional safety application and the interference networks in the integrated circuit of the system on chip of design.

In some instances, redundancy payload can be routed to by master network by redundant network by physically separated channel Channel for main payload.

Alternatively, master network and redundant network can share public physic channel in some instances, but can be used Different pseudo channels on same physical channel, wherein each pseudo channel corresponds to one of the bandwidth on shared physical channel Part.Different pseudo channels can have the individual buffer of grouping to make main payload packet for example at certain components of network It is separated with redundancy payload packet, and the independent control to the stream of main payload packet and redundancy payload packet is provided.Even if public Channel is used for both master network and redundant network, by time separating the transmission of main payload and redundancy payload, then This can also still provide the protection for transient fault.Functional safety certification for certain classifications, may be not necessarily intended to protect Permanent hardware result from such as blocking failure, common signal channel shared in the case may be enough.

However, robustness to failure can be increased by providing individual physical channel for master network and redundant network, this can To help to improve the percentage for the failure that can be detected, and the functional safety certification of higher classification can be preferred for.

In some instances, redundant network can concurrently send redundancy payload with the transmission of the main payload on master network. In some cases, the physical separation of redundant network and master network may be enough required by the functional safety certification of given rank Degree on protect against failure.For example, if master network and redundant network use physically remote location on the integrated The channel at place, then this can provide some robustness for common mode failure, because it reduces the individual event that such as particle is hit Influence the chance of main payload and corresponding redundancy payload.

In other examples, redundant network can be relative to the biography of the transmission delay redundancy payload of the main payload on master network It is defeated.It is sent on other networks this means that the transient fault on one in master network and redundant network is less likely to have an effect on Corresponding payload.

In some instances, master network may include containing a part by the component of the first clock signal timing and Redundant network may include containing a part by the component of second clock signal timing, wherein second clock signal independently of First clock signal, but with the first clock signal synchronization.For example, these of master network and redundant network part can be in lock-steps Middle operation is to provide constant delay between the transmission of main payload transmission redundancy payload corresponding on redundant network.

In some instances, synchronizing clock signals can be used to operate in entire master network and redundant network.

However, interference networks can be driven with link by clock signal across multiple clock domains in other examples Component, at least one of phase and frequency of clock signal for the clock signal in a domain and another domain In clock signal phase and/or frequency be misaligned.In this case, master/redundant network portion in same clock domain Dividing can be driven by synchronizing clock signals, but the part of master network and redundant network in different clock-domains can be used Asynchronous clock signal with different frequency or the equal step clock signal with identical frequency but phase misalignment operate.

Main payload other than including any data for sending, can also include for control the component of master network with The network control signal of main payload is routed from source endpoint to destination endpoint.For example, network control signal may include for fixed The information for the routing taken from source endpoint to destination endpoint, definition are used to convey the size or format of the grouping of main payload by justice Information and/or any other information of payload how should be transmitted for layout network.Redundancy payload may include for controlling Redundancy payload to be routed to the subset of the network control signal of destination endpoint by the component of redundant network processed from source endpoint.It may Signal is controlled not necessarily in all-network used in master network is replicated in redundant network.Therefore, by providing redundant network Component makes them convey the appropriate subset (and not all) of the first check code and network control signal, this allows than in redundant network Network simply repeats more efficiently to realize redundant network in the case where main payload itself.

The error-correction operations executed at the endpoint of destination can be believed independently of the network-control sent in main payload At least one of number.I.e., it has no whether necessary verification all-network control signal is wrong.This is because if Mistake occurs in some network control signals, then this can simply lead to the incorrect routing of grouping, so that grouping may Lose or along erroneous path perhaps to wrong destination routing or can relative to arrive correct destination endpoint other Grouping is received out of order.This can be detected by the comparison of the first check code and the second check code as discussed in the above Class mistake, because the incorrect routing of main payload or redundancy payload can cause related master/redundancy payload to reach different mesh Ground.In this case, data transmission can actually be related to by reaching the main payload of specific destination endpoint and redundancy payload Different instances, and so the first check code received with redundancy payload may be with main payload based on the received Calculated second check code mismatches, so that it is wrong even if not verifying network control signal itself, also it can detect To mistake.Therefore, logic can be saved by controlling signal execution error checking for all-network not at endpoint.

Redundant network may include for redundancy payload to be routed among at least one of downstream components from upstream component Component.According to the quantity of the intermediate module provided between endpoints for the given path taken by payload, upstream component It can be one in endpoint with downstream components or may be another intermediate module.At least for upstream component and downstream group Part is responsive to synchronizing clock signals (clock being aligned in both frequency and phase) and the synchronous intermediate module that operates, synchronous Intermediate module can independently of redundancy payload with derived from the main payload sent on master network information it is any compared with and incite somebody to action Redundancy payload is routed to downstream components from upstream component.Similarly, in master network synchronous intermediate module can independently of with from Any comparison of information derived from corresponding redundancy payload on redundant network and main payload is routed to downstream from upstream component Component.Therefore, it is not necessary to any comparison or verification of main payload and redundancy payload are executed at synchronous intermediate module, it is described same Intermediate module bridge joint is walked between the component operated with synchronizing clock signals.Because may exist a large amount of middle groups in a network Part, so compareing redundancy payload at each jump of network by elimination to verify main payload, this can save a large amount of circuit areas And reduce power consumption.Alternatively, error checking can be executed at the endpoint of destination to illustrate the mistake in the transmission across network.

In some embodiments, network can also include some asynchronous intermediate modules, and wherein component is located at upstream component Between downstream components, the upstream component and downstream components are not right in response to one or two of phase and frequency of clock Quasi- clock signal and operate.Some embodiments can regenerate check code at this asynchronous intermediate module, to ensure Regardless of the uncertainty in the relative timing of the misalignment clock at upstream component and downstream components can all force lock-step scheme to have The required any fixed delay of effect.It is received in such a case, it is possible to be executed at asynchronous intermediate module from upstream component Main payload and the comparison of redundancy payload to verify, whether trusted will be regenerated from what asynchronous intermediate module was downstream sent Check code.Therefore, there may be some centres in the network that may need to have connection between master network and redundant network Point includes in redundancy payload to be directed to before regenerating the first check code in the clock domain of downstream based on main payload First check code is verified based on calculated second check code of main payload.

However, by the way that such link between master network and redundant network is confined to endpoint and asynchronous clock domain boundary, And such link (verification between main payload and redundancy payload) is eliminated at synchronous intermediate module, this can save circuit area And improve power consumption.In addition, this can be reduced to the long road as much for connecting logic in the physically remote areas of integrated circuit The needs of diameter, this can be such that logical partition becomes easier to, so that redundant network can be placed in power saving when not requiring functional safety Under mode, such as by carrying out power gating or Clock gating to redundant network.

First check code and the second check code may include the multi-bit error being able to detect in main payload or redundancy payload A type of check code.Although such as hitting those of caused individual event upset by particle to be likely to only to trigger Single position changes the state in the signal sent, however if this bit flipping occurs in routing control signals, this can lead It causes the more than one position of transmitted payload incorrect or entire payload is reached relative to other signals in wrong time, this energy Make the main payload of mistake compared with redundancy payload or vice versa.Therefore, in order to which the functional safety for meeting higher classification authenticates, It may require a kind of type checking code using the multiple bit-errors being able to detect in identical data value.

A series of error correcting code of types can be used for this purpose.First/second check code is calculated using convolutional code can It can be particularly useful.Convolutional code may be useful, because they can be by being applied to data flow next life for function sliding At.Therefore, it is not necessary to enable all payloads to be used simultaneously at the logic for calculating check code.It alternatively, can be for payload Initial part calculates interim check code, and updates interim check code in response to each continuous part of payload, until entire Payload is processed and the check code by finally calculating generation is used as the first check code to send on redundant network Value until.

The particularly useful example of convolutional code is cyclic redundancy check (CRC) code, and CRC code is convolutional code, and the convolutional code is also The mistake that multi-bit error detects and can detect relatively high percentage with the code of relatively little of position is provided.It has been discovered that The CRC of position (such as 8 positions) with relatively small number can be enough to meet the functional safety certification ASIL-D of highest level, so that Its detectable about 99.6% multi-bit error and 100% single-bit error and incorrect length 8 or less burst.

Main payload can be sent on master network according to the unit for being referred to as grouping.For example, each grouping may include definition The header of certain properties of grouping and the packet payload of the offer data to be sent.For example, report can be defined according to network protocol Head, the network protocol can define multilayer signal, such as define the physical layer signal of the format of grouping and define how to cross over The link layer signals of network routing packets.The payload conveyed in main payload can not only include data, but also including saving from by request Point is sent to other information derived from the request for the source endpoint for receiving raw requests, such as address information or carrying characterization storage The other information of device access request.

Each grouping may include a certain number of fragments, wherein " fragment " (or " flow control digit ") is that network can be independent In the minimum unit of the information of other fragments control routing.In some systems, each grouping can simply include single fragment, And in this case route test can simply be executed in the granularity of grouping (to what is taken by specific fragment by network Particular way by selection) and flow control (control that be used to send the timing of specific fragment to the bandwidth on network).However Support to include in the system of the grouping of multiple fragments, if the unripe reception fragment of downstream components, each fragment can be only On the spot route and/or prevent transmission.

Certain systems may support the grouping with the fragment of fixed quantity.Each fragment can have in some cases Fixed size (digit).

However, in order to increase flexibility, some interference networks can support the fragment with the variable number of variable-size Grouping.Such as network may include for the size of the fragment of main payload is adjusted to different size of fragment at least one It is sized component.Such as some data channel operations that can use not bit widths in the node of network are connected to, and institute May expect to be the width suitable for data channel by the packet reformatting sent on network, the data channel will be used In the corresponding destination node for sending data to from destination endpoint integrated circuit.

First check code can be calculated as being used to verify the block check code for the content being entirely grouped by source endpoint.First school Testing code can be a type of check code, and for the data-oriented amount to send in a packet, the check code is to for dividing In group send data-oriented amount fragment quantity for be constant.This means that passing through in the way of network even if being grouped in it By adjusting size component, and the data for carrying out self-grouping are finally distributed on the fragment of different number again, are being sized The check code generated before for grouping may also be still correctly, so that not needing to regenerate school being sized at component Test code.This saves circuit area and power consumption by limiting the point for needing to recalculate check code of network again.

Each fragment itself can be divided into many fragment segmentations, and each fragment may include point of variable number Piece segmentation.Fragment segmentation can have predefined size.

It in some cases, may be without enough although a certain number of sliced pieces can be defined for given fragment Valid data fill all that sliced piece, and in this case certain sliced pieces may be invalid.It is main Payload can specify fragment segmentation validity information, to indicate which fragment segmentation includes effective information.When network includes such as It is discussed above when being sized component, it is possible to some invalid fragments point can be abandoned at component being sized Section, to be assembled to valid data in the grouping with different size of fragment.In order to avoid the first school must be recalculated Code is tested, therefore can be expected to use check code calculating, check code calculating is omitted any invalid from the calculating of the first check code Sliced piece.For example, calculate (or regenerating) first check code source endpoint (or as discussed above asynchronous centre Component) it may include consolidation circuit so that any effective fragment segmentation of given fragment is merged into the continuous blocks of data to be used for Calculating for the first check code provides input.This means that even if omitting some invalid fragments at being sized of network Segmentation, then the first check code being previously calculated out, which remains on, to be effective and can simply be sent to downstream components and nothing It need to recalculate.This must recalculate the points in the network of check code by reduction to save circuit area and power (simultaneously And it therefore avoids to extracode check logic and the long routing path for linking master network and redundant network at being sized Needs --- alternatively can independently execute being sized for the fragment on master network and redundant network).

In some instances, although the fragment of the main grouping on master network may include the sliced piece of variable number, so And each fragment of the redundancy payload sent on redundant network may include single sliced piece, but regardless of each of main payload How is the quantity of sliced piece in fragment.Because the first error-checking code sent in redundancy payload has than for calculating The less position of corresponding part of the main payload of first check code, then actually no need to send numbers as much for redundancy packets According to.Therefore, if the size of fragment segmentation is chosen for being sufficient to accommodate including across required by redundant network routing check code The redundancy payload of any header information is also not required to even if then the really every fragment of corresponding main grouping includes multiple fragment segmentations It to include that more than one fragment is segmented.Be segmented by the way that the size of redundancy packets is confined to single fragment, this in master network Network link, which compares, to be made it possible to using narrower physical channel in redundant network, to save circuit area and therefore save Save power.Alternatively in the method that redundant network and master network share public physic channel, used with when sending main payload Full buffer/logical capacity compare, it is more corresponding with unused bit that every fragment uses only single fragment segmentation that can make Buffer space or logic can be placed under battery saving mode when sending redundancy payload.Therefore, redundant slices are limited to Make it possible to save power in the segmentation of single fragment.

Redundant network can send the redundancy payload of the fragment including quantity identical as the corresponding grouping of main payload.It is i.e. enabled Redundancy payload is sent in the single fragment of single fragment segmentation, it is also possible to which expectation makes every grouping in master network and redundant network Fragment quantity it is equal, to maintain the Time constant relationship between main payload and redundancy payload.This enables lock-step component Operation, it is assumed that main payload reception with there are fixed delays between the reception of corresponding redundancy payload.Lock-step, which can be, to be used for Not only make the useful technology for being able to achieve functional safety in interference networks itself but also in downstream components, so passing through offer The redundancy payload agreement of the quantity of fragment in the main payload of mirror image, this simplifies the embodiment of such lock-step component.

Therefore, if the quantity of the fragment of main payload is greater than the minimum number of fragment required by sending redundancy payload, Source endpoint can include at least one filling fragment (padding flit) in redundancy payload, which mentions The data sent to dummy data or nonredundancy for the data independently of main payload.Filling fragment can include zero or other are not intended to The dummy data of justice.The protection bandwidth in filling fragment can alternatively be reused to send some additional letters not provided by main payload Breath, does not require thus through functional safety provided by the redundancy between master network and redundant network.For example, non-security-critical number It can be sent out using the spare filling fragment of redundancy payload according to (for example, information for controlling the audio system in motor vehicles) It send, may not be necessary as non-security-critical data detection errors.By being reused in filling fragment for useful purposes Protection bandwidth, the overall utilization rate of network can be improved in this.

In some interference networks, the format of the grouping with network sheet can with from the integrated circuit for being connected to source endpoint The format of grouping that receives of requesting node it is identical.However, in some systems requesting node can use in interference networks The different agreement of the internal agreement inside used.For example, requesting node can provide data and on a data channel in individual header Header is provided on channel.For example, header storage address can be provided for memory access and data channel can provide it is corresponding Data.On the other hand, network itself can use combination packet format, and wherein header (address) and data are all incorporated into same In grouping.It is noted that the header received on header channel at source endpoint can be and be attached to network by source endpoint The different message slot of the packet header of grouping --- it can be defined according to the source protocol used by requesting node on header channel Header, while the network protocol used in interference networks itself come define grouping in header.Therefore, one The data received from requesting node and header can be combined in a little situations to form main payload.Similarly, destination endpoint energy Individual data and header (address) information are extracted, then outputs them into and is connected in individual data and header channel The destination node of destination endpoint.

Individual data and header are being combined to form main payload and from the system of main payload combination header, this can make The calculating of check code becomes more sophisticated.A kind of method, which can be, serially handles data and header, so that being based on header and data In a calculating intermediate parity code, and be then based in data and header another modification intermediate parity code.However this Method can be very slow and increases the waiting time.

Therefore, source endpoint can calculate data channel school based on the data received on a data channel in some cases Code is tested, and header channel is based on based on the header received on header channel and independently calculates header channel check code.So Afterwards network routing can be crossed over via redundant network to be formed with data splitting channel check code and header channel check code First check code.It can be with parallel computation data channel check code and header channel check code, to reduce the waiting time.

However, destination endpoint can when that will compare the second check code at the endpoint of destination to compare the first check code To obtain data splitting from transmitted main payload and calculate the second check code based on the data splitting, and so can be false Determine header to be located at header position more prior than data or vice versa.Therefore, source endpoint may need to generate by purpose Ground endpoint replicates the first check code of calculated performance, and it is possible that need to assume one in data and header with data and Another in header is compared to being displaced to position position more prior than most significant bit.This can be by converting data channel school One tested in code and header channel check code is completed with generating transformation check code, if the transformation check code corresponds to source Endpoint sequentially rather than the displacement check code that will then generate of parallel data processing and header channel.Such as can calculate two into Constant matrices processed is with effective displacement of one in analogue data and header and data channel check code and the verification of header channel Correspondence one in code can be converted multiplied by the matrix that this is precalculated so as to application.In some embodiments, can be by The data channel check code (i.e., it is assumed that header be located at the bit positions more not too important than data) of transformation.Alternatively, Ke Yibian Header channel is changed to simulate the displacement of position position more prior than the most significant bit of data.

Techniques discussed above can be realized in physical interconnections network, the physical interconnections network representation will be included in integrated Actual component in circuit.

However, it is also possible to the technology is embodied in non-transitory storage medium, the non-transitory storage medium Storage indicates the Electronic Design file of the design of interference networks as discussed above.In general, Electronic Design file can be with Specified will include the component in interference networks, including endpoint as discussed above, master network and redundant network.Electronic Design File can indicate the interconnection of low level, such as indicate the individual door or transistor to include by interconnection, or can be higher Abstraction level under indicate, such as identification will be laid out certain basic blocks of component in interconnection, wherein each piece corresponds to door Or some Known designs that can provide the cell library of gate leve layout by access for each calibrated bolck to read later of transistor. It may be useful that the automated manufacturing of integrated circuit is controlled using Electronic Design file, because of the integrated electricity in modern system The quantity of transistor or door in road is so large that, so that human designer can not can track setting in detail for total system Meter.More advanced abstract and design consideration can be concentrated on by using Electronic Design file human designer, while can be later Individual gate leve is filled based on the standard block previously prepared that the gate leve for the basic block for providing component indicates by computer It indicates, the component can be combined to provide functionality required by designer with different.Then electronics can be used to set File is counted to control manufacturing equipment practically to manufacture integrated circuit.Therefore, Electronic Design file can be by some cases Lsi development person is supplied to manufacturer to indicate manufacturer and manufacture its integrated circuit according to specified design.Therefore, The number that the interconnection indicated in this design can make any of feature discussed above be embodied in design document According in structure.

Fig. 1 schematically illustrates the example of data processing system 2 (for example, integrated circuit or system on chip), the data Processing system 2 has for routing data access request and will be to such data between requesting node and destination node The response of access request is routed to the data access routing circuit 4,6 of requesting node from destination node.System 2 in this example Including many main control devices, such as: the cluster of one or more central processing unit (CPU) 7 or CPU;Graphics processing unit (GPU)8;For controlling the USB master control 10 for passing through the interaction of universal serial bus (USB) and equipment;Pass through PCI for controlling The PCIe controller 12 of Express bus and the interaction for the equipment for being connected to system 2;Digital signal processor (DSP) 14;Display Controller and/or image-signal processor 16;Video Controller 18;System controller 20 can provide multi-systematic control function perhaps Can, such as control direct memory access operation, the control such as safety operation or control of encryption or other on piece safety operations With the interaction of peripheral equipment;And for controlling the modem system controller 22 via the communication of modem.Institute There is master control 7 to 22 can be as issue will be by the request of the data access request of the destination node service of system Node.

System can have many components that can be used as destination node, deposit for example including being used to control to dynamic random Many Memory Controllers 26 of the access of access to memory (DRAM);For controlling to static random access memory (SRAM) The Memory Controller 28 of access;For controlling the Memory Controller 30 of the access to read-only memory (ROM);For controlling To the flash controller 32 of the access of flash memory;For controlling the peripheral controllers of the access to peripheral equipment 34;And the network interface controller for controlling the interaction via network interface and remote equipment or other peripheral equipment 36.In addition destination node may include the system cache 38 in data routing circuit 4,6, can cache from memory Some data of system 26-36, so that can be some data access request services, without passing them to downstream memory Component.

In the example of fig. 1, some in master control 7,8 unanimously interconnect 4 couplings, the cache one via cache Cause interconnection 4 be responsible for management by corresponding master control cache keep it is data cached between consistency.Cache is consistent Interconnection can have the snoop filter 40 of the data for trace cache in the cache of specific master control and can lead to It crosses and issues snoop transactions to respond the data access request that reads and writees of specified destination address to verify and be buffered in The coherency state of the associated data of destination address in other master controls, so that if a master requests read data It takes or write-access, then the data of the identical address in the cache of another master control can be invalid, or if dirty, can will Latest value in the cache of other master controls is supplied to request master control and/or writes back to storage system.It is any of Consistency protocol can be used for cache and unanimously interconnect 4.

Other master controls 10 to 22 (it can not include cache) do not need unanimously to interconnect 4 connections via cache. Cache is unanimously interconnected output and the corresponding destination equipment 26 to 36 of 4 and non-caching master control 10 to 22 by system interconnection 6 Coupling.System interconnection 6 be used to for affairs being routed to based on the target destination by requesting specified destination address to select Node, and requesting node is routed back to for that will respond.In configuration shown in Fig. 1, system interconnection 6 does not need to be responsible for phase The management for the consistency between the cached data in master control answered.However, in other examples, not being to provide as shown in figure 1 Shown in individually cache unanimously interconnect 4 and system interconnection 6, but the single interconnection similar with system interconnection 6 can be provided, The single mutually downlink connection main control device and from each of control equipment and also manage cache coherence.

In this example, system interconnection 6 is implemented as network-on-chip (NoC), the NoC include many routers 44 with (data access request can be received from corresponding main control device 7-22 in by many host interfaces 46 therefrom, including read and write Enter request) it is coupled to many destination interfaces 48 (being output to corresponding destination equipment 26-36 for that will request).Each master control Interface 46 (also referred to as inbound port IP or source endpoint) is responsible for being decoded to know the address specified by data access request Will via router 44 by network-on-chip 6 not take with reaches and it is selected will be for the destination of data access request service The particular way of the associated destination interface 48 of node by).Host interface 46 can also will be used to assert in some cases The protocol conversion of the request of network-on-chip 6 is at the internal representation that be used for across 6 route requests of network-on-chip.If request is turned Change internal agreement into, then destination interface 48 (also referred to as outbound port EP or destination endpoint) they can be converted back by The original agreement used is requested in order to be serviced by destination.Alternatively, some in destination node can be by piece The form that network 6 uses directly handles request, so that not needing to convert in destination interface.For each destination interface 48, when it receives the response to data access request from destination node 26-36, destination interface 48 by the response along The host interface 46 for having issued request is sent back to by the path that corresponding requests are taken, and then host interface 46 returns response Back to requesting node.

When to connect there are a large amount of main control devices and purpose equipment, network-on-chip 6 as shown in Figure 1 can be useful Because can be to meet the requirement of given system by the layout design of router 44, in order to provide bandwidth level appropriate and Sufficient amount of router is provided, thus can be accommodated in the case where the significant loss of not signal amplitude must on chip road By the physical distance requested.For the expected pairs of request and destination node for requiring a large number of services, then can be between them Attached routers or signaling channel are provided, and other pairs of request/destination nodes can have less capacity.

The use of network-on-chip is not necessary, and can be opened up in system interconnection 6 using different in other examples It flutters.For example, a series of point-to-point connections between host interface and destination interface can be used, or annular can be used and open up It flutters, wherein until all requests are asserted on ring bus then circulation target interface required by their arrival.Separately Outside, can use mesh topology, wherein each interface 46,48 be connected to the point on grid and request and response can with it is corresponding It is traversed between point on host interface and destination interface 46,48 associated grids.However, the use of network-on-chip can be with The quantity of master control and destination increases and to be able to achieve better scaling.

Although fig 1 illustrate that in the main control device in integrated circuit and from the network of route signal between control equipment Example, but in other examples can not have MS master-slave relationship by the equipment of mutual downlink connection, but alternatively can by pair Connections are waited to connect equipment.In addition, in some instances can be to interconnect in itself by some requests that network routes Destination node (point of such as consistency or cache) is target, rather than using the destination node outside interconnecting as mesh Mark.

Fig. 2 illustrates in greater detail the example of the component on network-on-chip (NoC) 6.NoC 6 includes many components, can be with According to will be by the specific arrangements of the main control device connected of NoC 6 and destination equipment with different layout and arrangement combinations institutes State many components.Such as this may include with any of lower component:

Inbound port (source endpoint) 46

Inbound port receives data access request from the requesting node for being coupled to inbound port.Such as inbound port can be made For one in host interface 46 shown in Fig. 1.Inbound port 46 can be to the data such as by receiving from requesting node Destination address specified by access request is decoded to identify and select which outbound port 48 for handling the request, And generate the routing iinformation for controlling routing of the request across NoC to selected outbound port 48.In addition, because The agreement different from the agreement of data access request is used for by requesting node can be used in the request routed in NoC 6, so entering Station port may include the protocol adaptor 50 for converting the request into the transport protocol used on network.Inbound port 46 will Converted grouping is sent on network with routing iinformation, and how the routing iinformation identification should route and ask across NoC Seek corresponding network packet.Inbound port 46 can also provide other function, such as management for the resource point of specific request Match and controls the service quality level to provide from not homologous request to make different main control devices to band on network Wide Competitive Needs balance.Such as inbound port 46 can have for buffering and requesting related tracking information and buffering pair The various buffers of the response of request.Inbound port 46 can the availability based on the space in buffer and be based on Service Quality Amount requires to control the sending of distribution and the request of resource and (such as provide to may current pending affairs co-pending in given time Quantity limitation, or the limitation to the quantity of the affairs serviced within given time from given request mode).

Router 54

Each router 54 is responsible for the grouping that routing is received from a component of NoC 6 and based on signified by grouping Fixed routing iinformation come select grouping which other assemblies should be directed to, the routing iinformation is derived from by corresponding requests Inbound port 46 be attached to grouping.The specific arrangements and quantity of provided router 54 can be wanted depending on particular system It asks.For example, may require more routers if inbound port and outbound port are separated by big distance on the integrated The enough of grouping is provided to repeat to maintain signal level when grouping reaches its destination.It may be additionally based on to specific into opposite end Mouthfuls 46,48 expection bandwidth requirement is come the topology that selects router to connect.

Outbound port (destination endpoint) 48

Outbound port 48, which receives, to indicate to be generated by inbound port 46 and visit via the data of router 54 across NoC routing Ask the network packet of request.Outbound port 48, which has, to be connected for returning the transport protocol conversion of network packet at by outbound report The protocol adaptor 58 of agreement used in the destination node arrived.Some form of request may not require to save from destination The response of point.However, for certain claim response (for example, read response, write-in response or both) request, when from be count When receiving the response to data access request according to the destination node of access request service, response can be by outbound port 48 Protocol adaptor 58 is adapted to for the transport protocol of network, is then output on network by outbound port 48.In some cases, Respond packet can be routed back to the inbound port 46 for receiving the initial data access request for triggering those responses, such as Along be grouped the corresponding path in taken path with by data access request but in the opposite direction or in difference Path on.In other cases, respond packet can be routed to different inbound ports, because they there may come a time when to need Different requesting nodes is provided to requesting node (such as the cache due to corresponding master control for having issued raw requests In coherency state variation).Therefore protocol adaptor 58 can add the specified routing to take by respond packet again Routing iinformation.When receiving these respond packets at inbound port 46, protocol adaptor 50 is converted into requesting Node is desired to be responded and forwards it on requesting node.

It is noted that in some instances can also at network bridging device assembly the (side between two network portions At boundary) processing Inbound/Outbound port function, allow network bridge to be effective as inbound at least some purposes Port and outbound port.

Size of data adjuster (resizer) 70

When data value is supplied to another component from a component, it may be necessary to the data value that adjustment is sent across network Size.For example, being divided into the fragment including lesser amt including the large number of fragment compared with small data size Grouping, either include that the grouping of smaller fragment can make fragment be combined or divide into again the lesser amt of larger size Fragment.If be sized so that input fragment quantity and output fragment quantity follow many-one or many-one relationship, Size adjuster 70 can be used as serializer-deserializerSERDES as shown in Figure 2 (SERDES).However, size adjuster can be with The M:N for providing data fragmentation is sized, and wherein N and M are both greater than 1, and in this case can provide more generally big Data associated with certain group input fragment are mapped to data associated with the output fragment of different number by small adjuster. In some embodiments, can also be converted to a certain number of groupings received will send on the remainder of network The grouping of different number.

Clock domain intersects (CDC) 72

As shown in Figure 2, NoC 6 can believe across the component in multiple clock domains, one of clock domain according to clock It number operates, the clock signal is when one or two of frequency and phase are upper with the component controlled in another clock domain Clock is different.For example, the corresponding clock signal in different clock domains may be the asynchronous signal with different clock frequencies, It or may be the synchronizing clock signals deviated with identical frequency but in phase.At clock domain boundaries, misalignment Clock mean the correspondence signal path that the signal in the domain of upstream is simply connected in downstream domain can take a risk to make downstream domain with The mistake timing of clock relative to source domain samples signal.CDC 72 can provide buffer, and (one in upstream domain side And another is in downstream domain side) for storing transmitted information temporarily to allow downstream domain relative to the correct of its clock Timing samples received data.Asynchronous handshake mechanism can be used for controlling when data are transmitted to from upstream buffer The timing when buffer of downstream, so that data can safely be sent on clock domain boundaries.

Redundant network component

As shown in Figure 2, other than defining the component 54,70,72 of the master network for routing main payload across NoC, NoC further includes redundant network, which partly repeats at least some of the master network component of master network.For example, In Network includes many redundant router 54-R of the corresponding active router 54 of mirror image master network in Fig. 2.In addition the number of master network It can have corresponding redundant network size of data adjuster 70-R according to size adjuster 70.Clock domain intersects 72 can be in it With both main channel and redundant channels to allow main signal and redundant signals crossing clock domain boundaries to bridge, it is also possible to wrap Cross check circuit is included to verify the payload redundantly sent to license-master's payload at CDC 72.Inbound port 46 and outbound end Mouth 48 does not also repeat, because inbound port 46 is responsible for taking the request received from receiving node and maps it to corresponding master Payload and redundancy payload, and outbound port 48 extracts information and by this information MAP to sending from main payload and redundancy payload To the carry out information of destination node.The redundancy letter for being at least partly replicated in the information advanced on master network is provided by being arranged The redundant network of breath, this can be used for carrying out error checking at outbound port 48 to determine on the road of main payload or redundancy payload The permanent or transient fault of maloperation whether is occurred may to potentially result in by period.

It should be understood that network-on-chip 6 can also include unshowned other assemblies in Fig. 2.

For realizing that a kind of method of redundancy may be that redundant network repeats each of master network for functional safety purpose Component and the definite copy of main payload is routed as redundancy payload.However, this is in Additional processing logic and circuit area Aspect may be expensive, because each redundant router 54-R and other redundant components 70-R may must be extended, and because To there are this many class component in typical NoC, so this can cause circuit area to greatly increase.

Fig. 3 A is illustrated for providing the example of error protection with reduced area overhead.Master network 102 will be by for that will lead Payload 104 is formed from multiple master network components that source endpoint (inbound port) 46 is sent to destination endpoint (outbound port 48). Main payload is to provide the payload of the real data of destination endpoint to be sent to.In this example, in order to which concise show only will Source endpoint be linked to the network of destination endpoint path (obvious network will also include link other pairs of endpoints other roads Diameter).In addition, in order to which succinctly networking component is illustrated as selecting which path downstream sent by payload in this example Router 54 sequence, it should be understood that network path can also include other kinds of networking component.In addition, mentioning In some web implementations for directly linking at least some point-to-point connections for corresponding to pairs of endpoint, such point-to-point road Diameter can not include any router between endpoint.

Master network 102 can also send network control message 106, the network control message other than payload data 106 be used to control routing of the main payload on network.Such as these control signals 106 can specify identification will be by main payload The routing vector of the particular sequence of the router (or other networking components) traversed as it crosses over network, and/or define institute The size of the grouping of transmission or the information of format.

Redundant network 100 sends the redundancy payload 110 relative to the main payload delay of correspondence sent on master network 102. Entire main payload 104 is not repeated as redundancy payload 110, redundancy payload 110 is including at least the road for controlling payload By network control signal 106 subset and provide main payload 104 abstract (digest) the first check code 112.Abstract With the less position of corresponding part than the main payload for calculating abstract.For example, the first check code 112 can be convolutional code, Such as the calculated cyclic redundancy check of at least part (CRC) code based on main payload 104.Position with relatively small number The CRC of (such as 6 or 8 positions) can provide the sufficiently high probability of both detection single bit error and multi-bit error, so that interconnection The functional safety using required higher level that network can meet such as automobile process authenticates.It should be understood that can use Except the other kinds of error-checking code in addition to CRC, for example, SECDED ECC (single error correction, double error detection error correcting codes) or DED (double error detections) code.In general, it should which selection is able to detect incorrect multiple error bits in identical data value The form (such as parity check code may be not enough) of code.When redundant network 100 send using have than from be used to calculate its When the redundancy payload 110 of the abstract error-checking code 112 of the less position of the corresponding part of main payload, redundant router 54-R and its Less complicated control logic and narrower data letter can more efficiently be realized with hardware and be needed to his redundant network component Road and register, to save circuit area.

When main payload 104 arrives at the destination endpoint 48, then it is subjected to the identical mistake with the execution at source endpoint 46 Check code calculates, and compares the first error-checking code 112 received by redundant network 100 come more obtained second Error-checking code 114.If there are mismatches between the first error-checking code 112 and the second error-checking code 114, can transmit Number notice failure, and trigger troubleshooting response.For example, troubleshooting response may include re-transmission, the Xiang Fa of request data The requesting node for having played request, which signals, have been occurred mistake or has signaled to individual error handle component to have sent out Raw mistake.In some embodiments, when errors are detected it may not be necessary to failure is signaled to requesting node (or even giving source endpoint).For example, some network protocols can for it is each request send identical information multiple copies (and because This also sends multiple copies of corresponding redundancy payload) so that if from the mistake in the check code for a pair of of master/redundancy payload Mistake is detected in matching, then one in the other same copy of the matched master of code/redundancy payload can be used for generate will be from purpose Ground endpoint is sent to the information of circuit downstream.In addition, it may not be necessary to practically correcting in some systems (such as automobile) Mistake, as long as being suspended by any incorrect movement that error value triggers, because can be in the real time system control phase Between periodically send updated value, and if so one-time detection to value be it is incorrect, system can be based on previous Until the value of transmission is continued until transmission updated value next time.Therefore, the response action taken in some cases can letter It is singly that error value is prevented to be written to actuator for trigger action.In addition, response operation can be in some cases Update the error log for the mistake that tracking has occurred.

Fig. 3 A shows the example for taking lockstep method, wherein the redundant network clock letter independent but synchronous with master network Number timing, and transmission of the transmission of the redundancy payload 110 on redundant network 100 relative to the main payload 104 on master network 102 There is delay.Delay can not be provided between main transmission and redundant transmission in other examples, because two in some cases The physical separation of channel may be enough to provide robustness (when single failure cause (such as particle shock) is in master for common mode failure Common mode failure occurs when generating mistake in terms of both payload and relevant redundancy payload).For example, if redundant network and master network Corresponding component be on System on Chip/SoC it is physically remote, then this can reduce the fragility to common mode failure.

Although this is also not necessary Fig. 2 shows the example that redundant network has topology identical with master network And redundant network can take different topologys in some cases.It is provided on master network and redundant network in this case Network control signal 106 between may exist certain species diversity.For example, indicating the router to be traversed compared with master network The routing vector of sequence can be different on redundant network.

In short, provide the reduction redundancy versions of the intermediate NoC component of such as router in figure 3 a, wherein control logic It is replicated, but replaces payload, only error-detecting code is processed.At least some network control signals (such as link layer (LINK) With physical layer (PHY) signal) it is replicated and is used as the input of redundancy versions.The error detection based on payload is inputted at source endpoint Code (EDC).At the endpoint of destination, another EDC is generated from main payload and compared with the EDC for having passed through NoC.Any difference is all Indicate failure.Compare at intermediate node without using DCLS (double-core lock-step) or EDC is verified: only needing wrong inspection at endpoint It surveys and reports.Advantage is, because payload signal and redundancy EDC are sent with lock-step, in LINK and PHY layer signal DCLS error checking is not required at least some.Most types of mistake on these layers will generate EDC and associated Master data misalignment or mismatch.Selected ECD code is the multi-bit error that can detect the type that may occur in intermediate logic (unless using it on the single chain road of not intermediate module, otherwise in the case, even-odd check can be appropriate). NoC can be incorporated to the conversion of network insied width.

Although Fig. 3 A by redundant network be shown as with the physically separated channel of master network 102, this is not required, And redundant network can at least partly reuse the same physical channel for master network in some cases.For example, such as Fig. 3 B Shown in, the networking component of such as endpoint 46,48 can have many pseudo channel phases with shared same physical transmission channel 119 Corresponding buffer 118.As shown in Figure 3B, sharing used physical transmission channel 119 can include by shared network and router 54 Or the mulitpath of other networking components of each payload for selecting which specific path to be used to send.On shared physical channel Such router 54 itself can also have the pseudo channel buffer 118 similar with endpoint.By providing for independently Buffer the individual buffer 118 of associated with each pseudo channel grouping, can (such as by with the group with buffer The associated moderator of part) apply independent flow control to control when the bandwidth on public physic channel is used for each virtual letter Road.Each networking component can keep grouping or fragment in buffer associated with given pseudo channel, until moderator Until allowing given pseudo channel that there is another time slot on shared physical channel.It is different from method shown in Fig. 3 A, pass through Using pseudo channel, do not need to provide the dedicated individual redundant network that cannot be used by main payload, institute can reduce in this approach Realize the circuit area cost of redundancy error verifying function.

It, can be by main payload 104 and including the first wrong school in the arrangement using pseudo channel as shown in Figure 3B The redundancy payload 110 for testing code 112 is mapped to grouping on different pseudo channels, for example, wherein in figure 3b shown in example Main payload 104 is sent by pseudo channel 1 and redundancy payload 110 is sent by pseudo channel 2.Once in destination endpoint Each payload is received in the corresponding pseudo channel buffer 118 at place, so that it may net from the master received on pseudo channel 1 Lotus generates the second error-checking code 114 and control is compared by the first error-checking code 112 that another pseudo channel 2 receives Compared with the second error-checking code 114, and if as being discussed above for Fig. 3 A there are mismatch if to can trigger response dynamic Make.

Precedence scheme can be used to determine it is each virtual when given physical channel can be used for sending in networking component The grouping of channel.In some instances, it can assign to the pseudo channel of carrying redundancy payload 110 than carrying main payload 104 The higher priority of pseudo channel, when so that being arbitrated between pseudo channel, preferentially selection carries the void of redundancy payload Quasi- channel.This means that the redundancy payload 110 of carrying error-checking code 112 is likely to traverses network in corresponding main payload Endpoint 48 is arrived at the destination before 104, to be ready to compare in main payload arrival Shi Yuzhu payload 104.Although main net Pay the utmost attention to that error-checking code may seemingly counterintuitive (people, which will be considered that, avoids making main payload 104 from prolonging before lotus 104 It is most important late), but in practice this means that main payload 104 can not be relative to the case where being not carried out error checking The normal timing that it will be received down postpones significantly (because while redundancy payload may slightly be such that main payload postpones, still Compared with the delay that can cause in the case where not yet sending redundancy payload, other intermediate packets are less likely that main payload can be made to prolong Slow any more delays).In contrast, if paying the utmost attention to main payload 104 before redundancy payload 110, likely Have than the pseudo channel for redundancy payload greatly but the small priority of pseudo channel than being used for main payload 104 it is virtual Intermediate packets on channel can effectively make main payload delay (even if they are lower priorities), because they cause redundancy net The transmission delay of lotus, it means that main payload has to wait for, so that comparable error-checking code.Instead intuitively, can by Redundancy payload 110 is sent on pseudo channel compared with for the pseudo channel of main payload 104 with higher priority to reduce Pass through the delay in main payload 104 caused by such intermediate packets.

Some networking components can have for sending subsequent network component for payload on Common transport channel 119 Multiple output ports.Can between pseudo channel shared port, enable the given port quilt for being coupled to given downstream components For pseudo channel 1 or pseudo channel 2.When sending main payload 104 and redundancy payload 110 by different pseudo channels, until A few networking component can select different output ports for corresponding main payload 104 and redundancy payload 110, so that being used for The corresponding redundancy payload 110 of the main payload 104 of given transmission is compared can relatively take different routings on network.Example Such as, router can be selected not for the redundancy payload 110 on pseudo channel 2 compared with the main payload 104 on pseudo channel 1 Same sequence, but two payloads 104,110 may finally be received at destination endpoint 48.With on same port sequentially It sends main payload 104 to compare with redundancy payload 110, when this can help to reduce through additional waiting caused by error checking Between, because it can permit, by the different branches of public network 119, at least partly the main payload 104 of transmitted in parallel and redundancy are net Lotus 110.

If at least one pseudo channel (for example, pseudo channel 2 in Fig. 3 B) is assigned to only send redundancy payload 110, then the buffer 118 at each networking component associated with the pseudo channel can have than with for main payload 104 The smaller memory capacity of the associated buffer 118 of other pseudo channels, because of the wrong school sent in redundancy payload 110 Testing code and controlling information can have the corresponding data than sending in main payload 104 and controls the less position of information.By subtracting The size of buffer 118 in the small pseudo channel retained for redundancy payload transmission, this helps to reduce circuit area.

As discussed in more detail below, EDC is suitable for entire grouping and can be sent only once with every grouping, is led to Often together with last fragment.Last fragment includes the identifier replicated in redundancy logic.Redundant digit can be filled with space division piece According to transmission to maintain lock-step.In some embodiments, other data can be sent in these fragments, but in other situations Under, in order to save power, logic may be arranged such that these filling fragments do not activate register to be written.

For example, can be calculated throughout entire payload (position of effective word being considered, as being further described below) CRC-8.For random error, the CRC chosen meticulously can provide multi-bit error 99.6% verification and measurement ratio, and provide unit mistake Miss 100% verification and measurement ratio with the burst of length 8 or less mistake.

This scheme, which has the advantages that, not to be needed other than at endpoint between main NoC component and redundancy NoC component Connection.This can simplify reality by being avoided the long path of logic of the connection usually in the domain on individual but synchronous clock Apply mode.It also becomes easier to logical partition, so that can power off or close to redundancy section when not requiring functional safety Clock.

Although in exemplary diagram 3A unique where twin check code 112,114 put be at destination endpoint 48, In some networks for intersecting (CDC) 72 with clock domain, there may also be additional verifications at CDC 72 to determine in redundant network Calculated second check code of main payload whether the first check code 112 sent on network sends on master network 102 with basis Matching.This is because in order to realize that lock-step is functional in the component that clock domain intersects downstream, in the downstream clock domain of CDC 72 Regeneration redundant signals can be useful in side.Delay between main transmission and redundant transmission may be needed with lock-step operation It is kept constant at component, so that the actually more related main payload of its trusted CL Compare Logic and redundancy payload (rather than Payload corresponding from different information).When signal spans clock domain boundaries, the clock of misalignment means right in downstream domain The timing that redundancy payload is sampled can relative to main payload sampling and change.By at the CDC in the clock domain of downstream Check code is regenerated, the relative delay between main payload and redundancy payload can be restored.However, in this case can be in CDC The first check code redundantly sent received from upstream clock domain is executed at 72 to compare according to main payload calculated second Whether the additional verification of check code has been sent out in the part of network for leading to CDC 72 or in 72 itself of CDC with verification Raw any mistake.Otherwise, possibly any mistake previously occurred can not be detected at the endpoint of destination, because through regenerated school Testing code will be generated at CDC 72 based on wrong master data, and will so be matched with the master data of mistake, thus anti- Only error detection.

Therefore, CDC 72 can verify main payload by comparing check code and whether redundancy payload matches, and if There are matchings, then the first check code of redundancy payload is used for from the regeneration of the reception value of the main payload in the clock domain of downstream, to restore Correct timing between main payload and redundancy payload.It is verified and is regenerated about check code, CDC 72 is effective as purpose Ground endpoint (code that verification is received from actual source endpoint) and source endpoint (generate the verification of with being sent to actual purpose endpoint Code), so that the entire path taken effectively is divided into multiple segmentations, there is individual code to generate for each segmentation, transmission and Verification sequence.Therefore, CDC 72 can be considered to source endpoint or destination endpoint in some cases.

As shown in Figure 4, packet format can be used to send main payload on master network, the packet format has Data are sent in the grouping of variable-size and format.Grouping can be in response to the given request from requesting node and in inbound The unit of the data transmission generated at port.Each grouping can have individual header, the individual header provide about The information of the format of grouping.Grouping can be formed by one or more fragments (or flow control digit) 120.Fragment be data most Junior unit, for the data can independently of other fragments routing and control the routing and/or flow control of the fragment by network System.For example, if not receiving the space of fragment in downstream components, then network may include prolonging the transmission of next fragment Slow mechanism.

Each fragment 120 can be formed by the one or more fragments segmentation 122 for giving base unit size.Therefore each The size of fragment 120 is variable.Fig. 4 shows several examples of possible data packet format.Two, top example is shown Fragment 120 includes the grouping of single fragment segmentation 122.The example of lower part two provides the fragment with 2 or 4 segmentations 122 120.The fragment for providing variable-size can be used for so that the different piece of network is able to use the physical channel of different bit widths. This can be used for allowing the expection of network that some parts of high traffic is required to become using the part of network less densely used There must be wider physical channel.

In addition, some packet formats can provide the grouping with fragment 120 more greater amount of than extended formatting.Fig. 4 shows The different examples of 1 fragment, 2 fragments or 4 fragment packets are gone out to be respectively provided with.It should be understood that these are only possible grouping Some examples of format.It is grouped by allowing to be formed from the fragment of variable number, this is for handling different Inbound/Outbound ports The case where can have interface different size of with the corresponding node of integrated circuit 2 and for network insied width conversion can be Useful.Such as some upstreams or downstream components may require providing data by wider or narrower channel.Therefore, pass through base In the quantity for the fragment for changing every grouping from the size of requesting node reception or the data that be sent to destination node, this makes Obtain can depend on the needs increase or the whole packet size of reduction.

In the packet format with single fragment, which is used as header fragment 120-H, the header fragment 120-H includes the packet header information 124 of the format of identification grouping.Header fragment may include one or more fragment segmentations 122 (the first fragment segmentations including specifying header), can provide other payload data.For including multiple fragments 120 Grouping, grouping include at least header fragment 120-H and tail portion fragment 120-T.If grouping includes more than two fragment, divide Group further includes fragment 120-I among one or more.Intermediate fragment 120-I or tail portion fragment 120-T allows to be grouped immediately following header Additional data is provided after fragment 120-H.Regardless of packet format, header 124 all specifies the information of the routing for controlling grouping, Such as identifying purpose ground endpoint and routing.In some instances, header 124 can also define the information of the format of instruction grouping, example The quantity being segmented such as the quantity of fragment and/or the fragment of every fragment.However, in other examples can be alternatively by being included in tail The quantity of fragment is specified in the piece 120-T of part to indicate that tail portion fragment 120-T is the mark of the final fragment of grouping.It can be The quantity for specifying the fragment of every fragment to be segmented in PHY layer signal associated with each fragment.

In addition, grouping, which can specify, indicates which of fragment segmentation 122 of corresponding fragment 120 includes valid data Fragment validity information.Can in packet header 124 designated packet fragment validity information, or alternatively can be in this point Fragment validity information related with specific fragment is specified in piece itself.Depending on the protocol adaptor 50 in inbound port 46 Locate (or at size of data adjuster 70) assembling grouping mode, fragment segmentation in it is some can not include it is any effectively Data.Optionally, it may be necessary to which invalid fragment segmentation 122 is abandoned across network midway by size of data adjuster 70.Number It is varied so that according to any of packet format that size adjuster 70 can be responsible for the requirement of the middle point at network by network The packet format that uses of a part be suitable for different packet formats used in another part of network.

Other than the physical layer signal of the format of designated packet, header 124 can also include link layer signals, the link Layer signal specifies the information for controlling the routing of grouping across network, for example including the router 54 to be traversed for identification The routing vector of sequence, in the source endpoint 46 of intermediate routing packets and the identifier of destination endpoint 48 and/or can be with flow control Quality of service information (such as influence on network compete bandwidth different grouping between arbitration or priority).

Although in Fig. 4, in order to succinctly only show header 124 in header fragment 120-H, in some cases also Some properties to indicate the fragment in header information can be provided in each successive fragment.In addition, in some embodiments Middle header can be across multiple fragments.

It can be using net to send the redundancy on redundant network 100 with the definitely identical packet format of main payload on master network Lotus.However, because redundancy payload can it is more much smaller than main payload (because than the first check code 112 for being sent in redundancy payload Can be more much smaller than being used to calculate its initial data), so simply reusing main packet format for redundancy payload may wave Take space and is unnecessarily required in the redundant network in the region that wide physical channel is provided on master network of network wide Physical channel.

Alternatively, as shown in Figure 5, the packet format different from main payload can be used in redundancy payload.Make in main payload It is grouped with F fragment 120 and in the case where the packet format that there is every fragment N number of fragment to be segmented 122 with every, redundancy payload It with every grouping can include the fragment 120 of identical quantity F, but 1 fragment segmentation 122 can be provided with every fragment, but regardless of in master Defined in packet format every fragment fragment segmentation 122 quantity value N how.

Redundancy payload may include header 124, and the header 124 at least replicates the physics (PHY) of the header 124 of main payload Layer signal (optionally can be omitted some link layer signals, but still can provide through the router of redundant network and control Make the routing version of the routing vector of routing).In addition redundancy payload further includes generating (or at CDC 72 at source endpoint 46 Generate) the first check code 112.The first check code 112 can be provided in the tail portion fragment 120-T of grouping, because it can be with It calculates as each fragment is processed and sends and with being convolved, and so cannot be complete before entire grouping is processed It is complete to calculate.The combined size of header 124 and the first check code 112 can be sufficiently small to be assemblied in inside single fragment segmentation 122 (so that can include header 124 and the first school in the single fragment of redundancy payload if main payload includes single fragment packets Test both codes 112).It therefore, there is no need to provide the fragment with the segmentation of more than one fragment.By regardless of N it is (every in main payload The quantity of the fragment segmentation of fragment) each fragment 120 in redundancy payload is all confined to single fragment segmentation 122, this is avoided The needs of wide channel as provided in master network are provided for the connection of redundant network, thus by reducing wired connection And circuit area is saved for latching to connect by these with the width of the register of any CL Compare Logic received signal.

In the case where main payload includes the more than one fragment in grouping, although redundancy payload can individually be assemblied in header In fragment 120-H, however including one or more filling fragment 120-I or 120-T so that the quantity of the fragment in redundancy payload Balance is with the quantity Matching with the fragment in main payload.This is useful, as it ensure that the given fragment after main payload Reception and the reception of the corresponding fragment of redundancy payload between relative time offset keep constant from beginning to end in a packet, make Obtaining any double-core lock-step functionality can keep correctly operating under deterministic hypothesis in the time migration between corresponding transmission. In contrast, if the quantity of the fragment of every grouping in redundancy payload is different from those of main payload, this can cause superfluous The timing of remaining side changes relative to main side.

Although the filling fragment of redundancy payload does not need to convey any valid data, it is independent that they can be used for conveying In main payload and do not need to be protected from through mistake caused by position fragment or other instantaneous or other permanent faults Some other data.For example, the space that can be reused in filling fragment will not be problematic in the case where corrupted data to provide Non-security-critical data.Alternatively, if there is no the non-security-critical data to be sent, then filling fragment can simply use Zero or certain other dummy data fill, quilt when described certain other dummy data are meaningless and receive at endpoint It abandons.Therefore, for the redundancy size adjuster 70-R of redundant network, being sized for execution may include insertion or removal Fragment is filled with the quantity Matching with the fragment sent in each grouping of main payload, but may not be needed practically to adjust The size of the quantity of the fragment segmentation of every fragment.In contrast, the main size adjuster 70 on master network can also be performed every point The quantity of the fragment segmentation of piece is sized.It is main big if the quantity that the fragment of every fragment is segmented changes in master network Small adjuster 70 can redistribute the data of given grouping among the quantity of the fragment provided with new packet format, to ensure It can downstream component sends all data in received grouping in a different format.

Being sized and by big ditty to its fragment can be used in the CRC calculating that other check codes from endpoint calculate It is the form of constant check code for the packet reformatting that whole device 70 executes.That is, can be throughout entire grouping Check code 112 is calculated, rather than every fragment provides individual check code.

CRC is the example with the check code of following property: when for (the overall grouping such as to be sent of data-oriented amount Size) come when calculating, calculated code is constant for the quantity for the fragment that the data volume is divided into.Such as it can roll up CRC is calculated long-pendingly, so that updating the latest value of CRC in response to each of receiving continuous fragment, and then by finally dividing Check code of the CRC instruction that piece generates for being entirely grouped.CRC can be regardless of assuming that grouping is be divided into some size one The fragment of fixed number amount be still divided into twice of the quantity that each size is half fragment or each size be twice one The fragment of half quantity value all having the same.Therefore, by defining check code 112 and using this to being used for throughout entire grouping Constant a type of code for the quantity of the fragment of transmission data-oriented amount, it means that arrive at the destination the school of endpoint 48 Code is tested by regardless of being all identical by being sized of applying of size of data adjuster 70, so that not needing to adjust in size of data Check code is recalculated at device 70.This is useful, because any recalculate of check code will imply and control will be needed from master Second check code derived from payload verifies previously received check code, thus this therefore it is required that master network and redundant network it Between connection, this will increase circuit area.Therefore, using constant for packet configuration (regardless of the grouping of given size is drawn Quantity/the size for the fragment being divided into all provides same code) check code can help to improve area efficiency.

Check code can also, which calculated, becomes for the position of any effective fragment segmentation 122 in given fragment 120 not Become.As shown in Figure 6, calculate check code circuit (it can be included in the source endpoint for generating the first check code 112, The clock domain that the first check code 112 is regenerated in the clock domain of downstream intersects in 72 or to compare the first check code for generating 112 come in the destination endpoint 48 of the second check code 114 compared) segmentation of effective fragment can be merged into adjacent bit position In, to form the continuous blocks 130 for the valid data for being input into check code calculating.By making effective fragment segmentation occupy continuous position Position, it means that abandoned the size of data adjuster 70 during the transmission across network some invalid fragments segmentations or Person's insertion adds invalid fragment segmentation to adapt to any variation of required packet format, and the calculated check code of institute is to those It is constant for the presence of invalid fragment segmentation and for the specific arrangements of effective and invalid fragment segmentation in grouping. Again, it means that do not need to recalculate check code at size adjuster 70, this is saved due to being given above Circuit area.

In one example, the buffer status for updating crc block for the processing based on fragment update can by with Lower equation indicates:

X1=FVl·X0+F′Tl·DsT-1+…+F′2l·Ds1+F′l·Ds0(equation 1)

Wherein X0It is the actual registers state for indicating the intermediate CRC generated from any previous fragment, X1It is to indicate by working as The more new state for the new intermediate CRC that preceding fragment generates (or in the case where current slice is the final fragment of grouping is final CRC), DsiIt is the data of i-th of effective fragment segmentation, F '(i+1)lIt is intended to apply to the binary system square of i-th of effective fragment segmentation Battle array constant (can precalculate binary matrix constant and the segmentation of each fragment has the matrix constant of own).In fragment A total of T segmentation, wherein V is effective, so binary matrix constant FVlIt is effective depending on the segmentation of how many fragment 's.

Fig. 7 shows the particular example of the circuit implementation for executing this merging.(it can be by for check code counting circuit It is included in inbound port 46, outbound port 48 or CDC 72) it include cross-bar switch circuit 140 to be based on specifying effective fragment point Fragment segmentation validity information (we) 142 of the position of section 122 will be input to many matrix multiplications to select which fragment to be segmented Device 144 is with for calculating check code, (each matrix multiplier 144 provides the multiplication F ' from equation 1 illustrated above(i+1)l· DsiIn one).Therefore, first effective fragment segmentation in fragment is supplied to the first matrix multiplication by cross-bar switch circuit 140 Second effective fragment segmentation is supplied to the second matrix multiplier 144-1 by device 144-0, and so on.If there is at least one Invalid fragment segmentation, then final matrix multiplier 144-n (and other possible one or more multipliers 144) is supplied with Zero input as multiplier, so that the output of multiplier will not affect that final output.Therefore, regardless of the position of effective fragment It sets, effective fragment segmentation is all input into Matrix Multiplication corresponding with the continuous blocks of least significant bit position corresponded in fragment Musical instruments used in a Buddhist or Taoist mass.In other words, invalid data after the displacement for the block that the shielding of cross-bar switch circuit 140 is input to data matrix multiplier 144. Alternative solution will be shielding matrix multiplier output (rather than its input), this will be more area efficient.However, such as Fig. 2 Shown in be preferably (reduce waiting time) for timing to the shielding of the input of matrix multiplier 144.

State matrix multiplier 146 is provided to realize the additional multiplication F from equation 1 illustrated aboveVl·X0.Because FVlDepending on the quantity of effective fragment segmentation, so value Fx0To Fxn(F is corresponded to for the different value of VVlProbable value in it is every One) be supplied to corresponding state matrix multiplier 148-0 to 148-n with for previous intermediate parity code state X0Phase Multiply.State multiplexer 152 includes for being decoded to fragment validity information 142 to determine the V (number of effective fragment segmentation Amount) state decoder 154, and including shield be supplied to except correspond to effective fragment segmentation actual quantity matrix multiplication The intermediate parity code state X of all state matrix multipliers 148 other than device 1480Logic.Therefore, state matrix multiplier Except one in 148 output right value will be provided for zero and another correlated measure V being segmented for effective fragment that exports FVl·X0.Using exclusive or tree 150 come by each of the output of state matrix multiplication block 146 and data matrix multiplier 144 Output combination, to provide the addition of items required by equation 1.Exclusive or tree the result is that being latched in register 156 New crc value X1.In subsequent clock period, the new crc value X from previous period1It is used as the input for state matrix multiplication X0

It should be understood that the exemplary circuit of Fig. 7 is only an embodiment, and other embodiments are able to achieve and are used for Calculate the identical result of CRC.

Fig. 8 to Figure 10 diagram can be across individually letter in the communication protocol used between requesting node and source endpoint Another feature that the check code that the transmission in road 160,162 uses in the case where providing header value and data value calculates.Pay attention to It is that the header sent on header channel 160 can be different from packet header 124 used in the agreement in interference networks. Such as the header channel 160 in the bus protocol (for example, by unanimously interconnecting 4 consistency protocols used) used by requesting node Storage address can be provided and characterize other data for the memory access to be executed.In contrast, point in network protocol Group header 124 can specify packet format and for the information by the control routing of NoC 6.It is received on header channel 160 Header information can be used as a part of payload data and be included in the general transmission format protocol used on NoC 6.

As shown in figs. 9 and 10, when exporting single check code 112 from both header channel 160 and data channel 162 When, the check code as a result obtained is it should be assumed that first processing data channel 162 (Fig. 9) or first processing header channel (figure 10).In any case, CRC is calculated and is applied to first in header and data in sliding manner and is then applied to header Identical result will be provided with another in data, with data be combined to form single data values as header as, One in middle header and data is than another prior bit positions.In Fig. 9, header is displaced to heavier than data The position position wanted, however it is just the opposite in Figure 10 and data are displaced to position position more prior than header.Such as Shown in Fig. 9, if the payload user data received on data channel 162 can have variable-size, in order to ensure to data The deterministic parameters calculation of constant CRC for size, the usable zero filler if size of data is less than supported largest amount According to, always so that header all starts in identical bit positions regardless of size of data.In Figure 10 if header always fixed size In do not require this filling.However, so header can also be filled into other examples that header can have variable-size The largest amount supported in the example of Figure 10.

A kind of method for calculating CRC based on the information from both header channel 160 and data channel 162 may be with Sliding type sequentially applies CRC to calculate, first to show in figure 9 and in figure 10 not too important bit positions data/ An application CRC in header is calculated, and is then applied to another shown in data/header of prior bit positions CRC is calculated.However, the problem of sequentially doing this calculating is that this is very slow, to damage waiting time and bandwidth, so this is to one It may not be acceptable for a little embodiments.

Alternatively, as shown in Figure 8, combination CRC (the first check code) 112 can be calculated in a parallel fashion.Based on respectively come The individual data check code of information parallel computation and header check code from data channel 162 and header channel 160.Then, different Or data check code and Header-Error-Check are summed to form the first check code 112 of combination by door 174 (or adder).It is such as following Shown in formula, it can be simulated by the matrix multiplication in one in data/header check code counting circuit 170,172 in Fig. 9 With effective shifting required by one in data/header of the prior bit positions in data splitting/header value of Figure 10 Position:

CRC(Dpacket)=CRC (xp·Dms+Dls)

=CRC (xp·Dms)+CRC(Dls)

=Fp·CRC(Dms)+CRC(Dls) (equation 2)

Wherein:

DpacketIt is to be the combining of packet data that generates of downstream network based on data/header channel (such as such as Fig. 9 and figure Shown in 10)

DmsIt is that one highest in combining of packet data in data channel 162 and header channel 160 is effective The information (for example, payload data in header or Figure 10 in Fig. 9) that bit positions provide.

DlsIt is the minimum effective in combining of packet data of one in data channel 162 and header channel 160 The information (such as header in the payload data or Figure 10 in Fig. 9) that bit positions provide.

XpIt is DmsIt needs to be shifted to reach the amount of most significant bit position appropriate (such as xp2 can be equal ton, wherein n It is DlsIn possible position maximum quantity.

FpIt is in XpThe binary matrix constant shifted in a zero.

In order to realize equation 2, as shown in Figure 8, each of data/header CRC counting circuit 170,172 is received Data/header data and corresponding matrix constant are as input.For corresponding to D in data/header circuit 170,172ms's One, the data supplied/header matrix may include considering matrix constant FpOne calculated for simulating displacement as CRC Point.XOR gate 174 combines the output of two CRC counting circuits 170,172 to indicate the addition in above equation 2, so that output It is the combination CRC 112 of the first check code in the redundancy payload of network to be used as.

In other words, added martix constant F is used at one in CRC counting circuit 170,172pBy data channel school One tested in code and header channel check code is effectively transformed into transformation check code corresponding with displacement check code, if source One in data and header is being displaced to position more prior than another most significant bit in data and header by endpoint One calculated in data channel check code and header channel check code after position can then generate the displacement check code.

Therefore, more CRC methods can be executed parallel to reduce the waiting time and improve performance and band using the method It is wide.Regardless of whether data or header are in the not too important end of combined value, waiting can be reduced by using parallel method Time and therefore improve performance.

When header channel information 160 always includes single fragment, method shown in fig. 8 can be useful.If Header can include multiple fragments, then the matrix value different from other header fragments can be used in last header fragment, in this situation Under can provide additional logic for being multiplexed between the different value of header fragment matrix.

Figure 11, which is schematically illustrated, can be used the electronic design process that the Automation Design technology carrys out design processes simplified Example.The system designer or electrical design tools for executing the earlier stage of design process can specify various system requirements 220, Such as to be used for the port 46,48 of integrated circuit interconnection physical location and/or expected requirement (for example, port which Anticipatory data industry is depended on to the different pairs of expected bandwidth level for the communication link and port for being likely to require between them The order of priority of business or different master controls relative to each other).The NoC configuration utility program 222 executed on data processing equipment can To use system requirements and offer that can be selected for assembling the advanced Component Gallery 224 indicated of the various NoC components of NoC, To generate Electronic Design file 226, the Electronic Design file 226 provides the advanced layout of NoC component and specifies those groups The various parameters of part, such as parameter for the special properties of configuration component.

For example, Component Gallery 224 can specify a series of components, such as discussed above for Fig. 2 inbound port 46, go out Station port 48, router 54 or size adjuster 70 and corresponding redundant network component.For in the component of these types It is some, a variety of alternative types can be specified to select in Component Gallery for depending on the specific needs of system requirements.Alternatively The component of single type can be provided, but certain variables can be appointed as the property of given component, institute by NoC configuration tool 222 State variable can tune NoC given component behavior or control how the component is manufactured.For example, for inbound port Parameter can specify the son of the destination port with the size of the interface of corresponding requesting node, the expected routing for needing network service Collection, the packet format of grouping that be used to be routed to specific destination etc..NoC configuration tool 222 can be based on what is be entered System requires to determine such requirement.A part of NoC configuration feature, which can be layout, to verify the redundant network provided for functional safety The error checking logic that the advanced configuration of network, the check code of inbound port are generated and to be provided at outbound port.For example, Special " functional safety offer " version of inbound port 46 and outbound port 48 be can choose (with inbound port 46 and outbound port 48 alternate version that can be selected when not require the system generation NoC design of functional safety is opposite).Depending on such as system It is required that the rank of functional safety specified in 220, can activate similar judgement for other networking components.

The advanced layout's file 226 generated by NoC configuration tool 222 is provided to electric design automation (EDA) tool 228, the eda tool 228 uses the standard list that integrated circuit package is specified under than the more detailed rank of NoC Component Gallery 224 The low-level cells library 230 of member, and integrated circuit design file 232 is generated, the IC design file 232 is specified for The particular door or transistor, the integrated circuit that integrated circuit generates include the interconnection designed by NOC configuration tool 222.One EDA 228 can practically include many tools in a little situations, many tools step by step Iterative Design with generate one or Multiple detailed circuit-levels indicate.Timing analysis can also be performed to verify whether designed circuit will meet in eda tool 228 Its timing demands (such as test is established and kept in violation of rules and regulations), and can be in the case where early stage attempting not pass through timing analysis repeatedly Generation design.It is provided to manufacturer by the IC design finally prepared that design document 232 indicates, the manufacturer makes Manufacturing equipment 234 is controlled with design document to manufacture the integrated circuit between transistor with required connection so as to reality It now include the integrated circuit of interconnection.

Figure 12 shows diagram and generates the electricity for indicating the design of interference networks (all system interconnections (NoC) 6 as discussed above) The flow chart of the method for sub- design document.The property for defining the interference networks to be generated is provided at step 300 to system tool Design specification data.Such as design specification data may specify to the quantity of the node connected using network, by those sections The data width for the channel that each of point uses, expected requirement (such as requesting node and destination node it is specific Combination required service class or bandwidth) and required functional safety rank (such as specify required ASIL function One in security classification, such as rank C or rank D).In response to design specification data, system tool 222 at step 302 Advanced layout is generated for network, for example including router, size adjuster or the other assemblies for defining master network and redundant network Arrangement in order to provide by design specification data specify requirement.Design may include realizing redundant network and being designated as It provides for (explicitly in the advanced layout's information 226 generated by tool or hidden as discussed in the above The selected cell type specified in advanced layout, which corresponds to be given, likes will realize the integrated of these functional safety features In the sense that unit in the cell library 230 of circuit design) generate and check errors check code logic component.Advanced layout The specified component to be generated under opposite abstraction level, such as only specify the identifier of cell type to be offered and optional Ground is used to adjust one or more configuration parameters of the property of the component, but it is definite to be not necessarily specified for the component to generate Transistor level layout.The design document of output identification advanced layout at step 304.Then standard cell lib 230 can be used It is each in the high-level component for be input to eda tool 228 for this to be indicated in design document 228 by system tool 222 It is a that specific gate level design is provided, to generate and then can be used to manufacture the specific IC design 232 of circuit.

Other exemplary arrangement is stated in following clause:

It is (1) a kind of for providing the interference networks of data transmission between multiple nodes of integrated circuit, comprising:

Multiple endpoints, the multiple endpoint is respectively for node switching data corresponding with the integrated circuit;

Master network, the master network are used to route main payload from source endpoint to destination endpoint;

Redundant network, the redundant network are used for the destination endpoint route redundancy payload, the redundancy payload packet Calculated first check code of at least part based on the main payload is included, first check code has than the main payload The less position of described at least part;

Wherein, the destination endpoint includes error checking circuit, and the error checking circuit is for executing error checking Operation is verified with calculating the second check code based on the main payload received via the master network based on described second Code verifies the integrality of the main payload compared with first check code received via the redundant network.

(2) interference networks according to clause (1), wherein the main payload include containing variable-size can parameter The grouping of the fragment of amount.

(3) interference networks according to clause (2), wherein the redundant network be configured as send include with it is described The redundancy packets of the redundancy payload of the fragment of the identical quantity of the main grouping of the correspondence of main payload.

(4) interference networks according to clause (3), wherein send institute when the quantity of the fragment of the main payload is greater than When stating the minimum number of fragment required by redundancy payload, the source endpoint is configured as in the redundancy payload including at least One filling fragment, at least one described filling fragment provide the dummy data or nonredundancy of the data independently of the main payload The data that ground is sent.

(5) interference networks according to clause (1), wherein the source endpoint is configured as from the integrated circuit Corresponding source node receives the header in data and header channel on data channel, and combine the data and the header with Form the main payload;And

The source endpoint is configured as calculating data channel school based on the data received on the data channel It tests code and header channel check code, and the combination number is calculated based on the header received on the header channel It is believed that road check code and the header channel check code are to form first check code.

(6) interference networks according to clause (5), wherein the source endpoint is configured as: the data channel is converted One in check code and the header channel check code is to generate transformation check code corresponding with check code is shifted, if institute State source endpoint by one in the data and the header be displaced to than in the data and the header another One in the data channel check code and header channel check code is calculated after the prior position position of most significant bit The displacement check code can then be generated;And based on the transformation check code and the data channel check code and the header Another in channel check code forms first check code.

In this application, word " being configured as ... " is used to mean that the element of device to have the behaviour for being able to carry out definition The configuration of work.In this context, " configuration " means the arrangement or mode of the interconnection of hardware or software.For example, device can have The specialized hardware or processor that operate defined in being provided with or other processing equipments can be programmed to perform function." quilt It is configured to " it does not imply that and needs to change in any way device element in order to provide defined operation.

Although illustrative embodiments of the invention is described in detail herein with reference to attached drawing, it should be understood that , the present invention is not limited to those accurate embodiments, and are not departing from as defined by the appended claims of the invention In the case where scope and spirit, those skilled in the art can realize variations and modifications wherein.

36页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种路由备份方法、装置、服务器及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!