Event signal
By arranging multiple interconnect sub-blocks on the integrated circuit and using the messaging infrastructure to propagate event category information, the problem of inefficient event processing in the prior art is solved, and low latency and efficient event notification propagation is achieved.
Patent Information
- Application Number
- CN202280100510.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-29
- Publication Date
- 2025-05-06
AI Technical Summary
When existing integrated circuits process events, it is difficult to effectively identify and propagate event category information, resulting in inefficient event processing.
By arranging a plurality of interconnected sub-blocks on the integrated circuit, the messaging infrastructure is used to transmit event-based classification information as a signal, so that the receiving sub-block can identify the category of events.
A low-latency propagation of event notifications to each sub-block of the integrated circuit is achieved, improving the efficiency and accuracy of event processing.
Smart Images

Figure CN119948470A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and system for an integrated circuit. In particular, the method relates to an integrated circuit comprising sub-blocks arranged in a system on a chip (SoC). Background Art
[0002] Electronic devices containing system-on-chip (SoC) circuits have become ubiquitous in recent years. This trend is driven by the demand for small consumer electronic devices such as smartphones and tablets, and the use of SoCs in embedded systems such as Internet of Things (IoT) devices and Wi-Fi routers.
[0003] SoC devices are integrated circuits that combine computing components on a single substrate or microchip. These components may include one or more processor cores, memory, input / output interfaces, graphics processing units (GPUs), and auxiliary storage interfaces. SOC architectures offer many benefits, including power savings, space savings, lower latency, and cost reduction. Summary of the invention
[0004] It is an object of the present invention to provide a method for an integrated circuit.
[0005] The above and other objects are achieved by the features of the independent claims. Further embodiments are evident from the dependent claims, the description and the drawings.
[0006] According to a first aspect of the present invention, there is provided a method for an integrated circuit, the integrated circuit comprising a plurality of interconnected sub-blocks arranged in a system on chip (SoC). The method comprises: transmitting a message from a first sub-block to at least one of the plurality of interconnected sub-blocks in response to an event on the integrated circuit; and transmitting a signal from the first sub-block to the at least one of the plurality of interconnected sub-blocks. The signal comprises information identifying a category of the event based on a classification of the event, the classification of the event classifying the event associated with the integrated circuit into one or more categories.
[0007] The method according to the first aspect enables a receiving sub-block of an integrated circuit to identify a category of an event based on a signal received together with an event message.
[0008] According to a second aspect of the present invention, there is provided a method for an integrated circuit, the integrated circuit comprising at least two interconnected sub-blocks arranged in a system on chip (SoC). The method comprises transmitting a first signal from a first sub-block to a second sub-block, the first signal declaring that the first sub-block is ready to transmit data to the second sub-block. The method comprises receiving a second signal from a second sub-block at a first sub-block, the second signal declaring that the second sub-block is ready to receive data from the first sub-block. The method further comprises transmitting data from the first sub-block to the second sub-block via a third signal. In response to an event on the integrated circuit, the first sub-block is configured to be able to transmit a message to the second sub-block. The first signal comprises information identifying a category of an event based on a classification of the event, the classification of the event classifying an event associated with the integrated circuit into one or more categories.
[0009] According to a third aspect of the present invention, there is provided an integrated circuit comprising a plurality of interconnected sub-blocks arranged in a system on chip (SoC). At least a first sub-block of the plurality of sub-blocks is configured to be able to transmit a message to at least one sub-block of the plurality of interconnected sub-blocks in response to an event on the integrated circuit, and to transmit a signal to the at least one sub-block of the plurality of interconnected sub-blocks. The signal includes information identifying a category of the event based on a classification of the event, the classification of the event classifying the event associated with the integrated circuit into one or more categories.
[0010] According to a fourth aspect of the present invention, there is provided an integrated circuit comprising at least two interconnected sub-blocks arranged in a system on chip (SoC). A first sub-block of the integrated circuit is configured to be able to transmit a first signal, the first signal declaring that the first sub-block is ready to transmit data to a second sub-block; receive a second signal from the second sub-block, the second signal declaring that the second sub-block is ready to receive data from the first sub-block; and transmit the data to the second sub-block via a third signal. In response to an event on the integrated circuit, the first sub-block is configured to be able to transmit a message to the second sub-block. The first signal includes information identifying a category of the event based on a classification of the event, the classification of the event classifying the event associated with the integrated circuit into one or more categories.
[0011] In a first implementation of the method according to the first aspect, the event is a local event in a subsystem of one or more sub-blocks in the integrated circuit.
[0012] In a second implementation, transmitting the message and the signal to at least one sub-block of the plurality of interconnected sub-blocks includes transmitting the message and the signal to each sub-block in the sub-system.
[0013] The methods according to the first and second implementations provide localized event notifications to each sub-block of a sub-system of an integrated circuit with low latency.
[0014] In a third implementation, the event is a global event.
[0015] In a fourth implementation, transmitting the message and the signal to at least one sub-block of the plurality of interconnected sub-blocks includes transmitting the message and the signal to each sub-block in the integrated circuit.
[0016] The methods according to the third and fourth implementations provide global event notifications to each sub-block in an integrated circuit with low latency.
[0017] In a fifth implementation, the information identifying the category of the event includes an encoding of the category of the event in one or more data bits for transmission in a signal.
[0018] In a sixth implementation, the signal is a signal in a communication protocol between the first sub-block and at least one sub-block of the plurality of interconnected sub-blocks.
[0019] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:
[0021] Figure 1 A schematic diagram of an integrated circuit according to an example is shown.
[0022] Figure 2 A block diagram of a method for an integrated circuit according to an example is shown.
[0023] Figure 3 A block diagram of a method for an integrated circuit according to an example is shown.
[0024] Figure 4 A signal diagram according to an example is shown. DETAILED DESCRIPTION
[0025] The example embodiments are described below in sufficient detail to enable one of ordinary skill in the art to implement and practice the systems and processes described herein.It is important to understand that the embodiments may be provided in many alternative forms and should not be construed as limited to the examples set forth herein.
[0026] Therefore, although the embodiments may be modified in various ways and take various alternative forms, specific embodiments thereof are shown in the drawings as examples and described in detail below. There is no intention to limit the specific form disclosed. On the contrary, all modifications, equivalents and substitutions falling within the scope of the appended claims should be included. In all drawings and specific embodiments, the elements of the example embodiments are always represented by the same reference numerals in appropriate locations.
[0027] The terms used to describe the embodiments herein are not intended to limit the scope. The articles "a", "an" and "the" are singular because they have a single referent, but the use of the singular form in this document should not exclude the presence of more than one referent. In other words, the elements mentioned in the singular can be numbered as one or more, unless the context clearly indicates otherwise. The terms "comprises", "comprising", "includes" and / or "including" refer to the presence of stated features, items, steps, operations, elements and / or parts when used in this article, but do not exclude the presence or addition of one or more other features, items, steps, operations, elements, parts and / or combinations thereof.
[0028] Unless otherwise defined, all terms used herein, including technical and scientific terms, should be interpreted according to the conventions in the art. Commonly used terms should also be interpreted as the conventions in the relevant art, rather than idealized or overly formalized meanings, unless explicitly defined in this article.
[0029] Figure 1 is a simplified schematic diagram illustrating an integrated circuit 100 according to an example. Figure 1 The integrated circuit 100 shown in FIG. 1 may be used in conjunction with other methods and systems described herein.
[0030] Integrated circuit 100 includes sub-blocks 110, 120, 130, 140 arranged in a system on chip (SoC). Sub-blocks 110, 120, 130, 140 are fully integrated into circuit 100 on a single substrate or microchip. Each of sub-blocks 110, 120, 130, 140 can be a central processing unit (CPU), a memory device, an input / output device, an auxiliary storage device, a graphics processing unit (GPU), custom logic, or any other type of component suitable for a SoC architecture. In some examples, integrated circuit 100 can include more or fewer sub-blocks.
[0031] exist Figure 1 In the embodiment of the present invention, sub-blocks 110, 120, 130, 140 are configured to be able to transmit data messages via a messaging infrastructure. The messaging infrastructure includes interconnect circuits and message engines 150, 160. Message engines 150, 160 are sub-blocks configured to be able to perform routing of data messages to other parts of the integrated circuit 100. In particular, message engines 150, 160 are configured to be able to implement protocols to enable data messages to be transmitted through the integrated circuit. Data messages can be transmitted between sub-blocks for different purposes. For example, messages can be sent for system configuration and control, data capture, and communication.
[0032] The messaging infrastructure in the integrated circuit 100 also supports another type of message known as an event message. An event message is a message transmitted from a sub-block in real time in response to an event on the integrated circuit 100. For example, a sub-block may output an event message in response to detecting that data has been written to a certain address in a memory. An event message may be broadcast to some or all of the sub-blocks in the integrated circuit 100. In response to receiving an event message, a sub-block may perform further actions. For example, an event message may cause a sub-block to stop operating or processing, or to perform further processing, such as data capture or monitoring.
[0033] Events may be classified into one or more categories. For example, an event may be a "global" or a "local" event. A global event is an event that causes a sub-block to transmit an event message of the event to each sub-block on the integrated circuit 100. A local event is an event that causes a sub-block in a sub-system of the integrated circuit to transmit an event message to each sub-block in the same sub-system. For example, in Figure 1 , sub-blocks 130, 140 and message engine 160 form a subsystem 170 of integrated circuit 100. Sub-block 130 may transmit a local event message to sub-block 140 in response to a local event in sub-block 130. Sub-block 130 may transmit a global event message to sub-blocks 110, 120, 140 in response to a global event.
[0034] Events and event messages may be user configurable. In some cases, a class of event messages may also be non-configurable for the user. These event messages may be reserved for events defined, for example, by the manufacturer of the integrated circuit.
[0035] Figure 2 is a block diagram of a method 200 for an integrated circuit including a plurality of interconnected sub-blocks arranged in a SoC according to an example. The method 200 may be used in conjunction with the integrated circuit 100.
[0036] At block 210, method 200 includes transmitting a message from a first sub-block to at least one of a plurality of interconnected sub-blocks in response to an event on the integrated circuit. As previously described, events may be classified as "local" or "global" events, and in some cases, as "private" events. When the event is a local event, transmitting the message includes transmitting the message to each sub-block in the subsystem of the integrated circuit where the local event occurs. Conversely, when the event is a global event, transmitting the message includes transmitting the message to each sub-block in the integrated circuit.
[0037] At block 220, method 200 includes transmitting a signal from a first sub-block to at least one of a plurality of interconnected sub-blocks. The signal includes information identifying a category of the event based on a classification of the event, the classification classifying events associated with the integrated circuit into one or more categories. In other words, the signal includes information that can be used to determine the category of the event that triggered the event message. The information identifying the category of the event may include an encoding of the category of the event in one or more data bits for transmission in the signal. The signal enables the receiving sub-block to determine the category of the event and process the event message accordingly.
[0038] In some cases, the signal may be a signal used in a communication protocol between the sub-blocks 110 , 120 , 130 , 140 and the messaging engines 150 , 160 . Figure 3 It is used in integrated circuits (such as Figure 1 1. The method 300 combines the signals previously described in the communication protocol.
[0039] At block 310, the method includes transmitting a first signal from the first sub-block to the second sub-block, the first signal declaring that the first sub-block is ready to transmit data to the second sub-block. For example, during a "normal" transmission of a data message, the sub-block 110 may transmit a first signal to the messaging engine 160 indicating that the sub-block is ready to transmit data.
[0040] At block 320 , method 300 includes receiving, at the first sub-block, a second signal from the second sub-block, the second signal declaring that the second sub-block is ready to receive data from the first sub-block. For example, messaging engine 160 may transmit a second signal indicating that it is ready to receive data from sub-block 110 .
[0041] At block 330 , method 300 includes transmitting data from the first sub-block to the second sub-block via the third signal. For example, in response to the second signal from messaging engine 160 , sub-block 110 may transmit data including one or more data messages to messaging engine 160 .
[0042] When an event occurs at the first sub-block in method 300, the sub-block may respond by transmitting an event message. The first signal originally used to transmit that the first sub-block is ready to transmit data is instead used to transmit information identifying a category of the event based on a classification of the event, the classification classifying events associated with the integrated circuit into one or more categories. The first signal may also be used to transmit information related to the data message, such as the location of the message endpoint.
[0043] Figure 4A signal diagram 400 is shown. The signal diagram 400 includes a clock signal 410 and signals 420, 430, 440. These signals correspond to the first signal, the second signal, and the third signal of the method 300. The clock signal 410 includes three clock cycles 450, 460, 470. For example, the clock signal may correspond to the clock signal of the integrated circuit 100. Figure 4 , signal 420 corresponding to the first signal in method 300 is represented as three separate signals, each having a 0 / 1 state representing three bits of information. Signal 430 has a 0 / 1 state, which corresponds to a signal sent from the second sub-block to the first sub-block in method 300, indicating when the second sub-block is ready to receive data from the first sub-block. Signal 440 corresponds to a third signal that transfers data from the first sub-block to the second sub-block.
[0044] exist Figure 4 , initially all signals are in the 0 state. In the first clock cycle 450, signal 430 transmits "1", "1" indicating that the second sub-block is ready to receive data from the first sub-block. Signal 440 transmits a data message M1, followed by a local event message M2, and then a global event M3. Signal 420 transmits data bit 101 in the first clock cycle 450. This means that the first message M1 is a data message, the beat contains the end of the message and only one message is sent. In the second clock cycle 460, signal 420 transmits data bit 010, which means that message M2 is an event message and the event is a local event. In the third clock cycle 470, signal 420 transmits data bit 001, which means that message M3 is an event message and the event is a global event.
[0045] In the third clock cycle 470, the signal 430 is in the "0" state. This signal corresponds to the signal sent from the second sub-block to the first sub-block in the method 300. The signal 430 in the "0" state indicates that the second sub-block is indicating to the first sub-block that it is not ready to receive data. However, since the message M3 is an event message and not a data message, the message will still be broadcast to the second sub-block regardless of whether the second sub-block explicitly indicates to the first sub-block that it is ready to receive data.
[0046] The present invention is described with reference to the flowchart and / or block diagram of the method, device and system according to the examples of the present invention. Although the above flowcharts show a specific execution order, the execution order may be different from that described. The blocks described about one flowchart may be combined with the blocks of another flowchart. In some examples, some blocks of the flowchart may not be necessary and / or additional blocks may be added.
[0047] The present invention may be implemented in other specific devices and / or methods. The described embodiments are considered to be illustrative and not restrictive in all respects. In particular, the scope of the present invention is indicated by the appended claims rather than by the description and drawings herein. All changes within the meaning and scope of the equivalent scheme of the claims are included within their scope.
Claims
1. A method for an integrated circuit, the integrated circuit comprising a plurality of interconnected sub-blocks arranged in a system on a chip (SoC), the method comprising: transmitting a message from a first sub-block to at least one of the plurality of interconnected sub-blocks in response to an event on the integrated circuit; as well as transmitting a signal from the first sub-block to the at least one sub-block of the plurality of interconnected sub-blocks, The signal includes information identifying a category of the event based on a classification of the event, wherein the classification of the event classifies the event associated with the integrated circuit into one or more categories.
2. The method according to claim 1, wherein: The event is a local event in a subsystem of one or more of the plurality of interconnected sub-blocks in the integrated circuit.
3. The method according to claim 2, wherein: Transmitting the message and the signal to the at least one sub-block of the plurality of interconnected sub-blocks includes transmitting the message and the signal to each sub-block in the sub-system.
4. The method according to claim 1, wherein: The event is a global event.
5. The method according to claim 4, wherein: Transmitting the message and the signal to at least one sub-block of the plurality of interconnected sub-blocks includes transmitting the message and the signal to each sub-block in the integrated circuit.
6. The method according to claim 1, wherein: The information identifying the class of the event includes an encoding of the class of the event in one or more data bits for transmission in a signal.
7. The method according to claim 1, wherein: The signal is a signal in a communication protocol between the first sub-block and the at least one sub-block among the plurality of interconnected sub-blocks.
8. A method for an integrated circuit, the integrated circuit comprising at least two interconnected sub-blocks arranged in a system on a chip (SoC), the method comprising: transmitting a first signal from a first sub-block to a second sub-block, the first signal declaring that the first sub-block is ready to transmit data to the second sub-block; receiving, at the first sub-block, a second signal from the second sub-block, the second signal declaring that the second sub-block is ready to receive data from the first sub-block; as well as transmitting data from the first sub-block to the second sub-block via a third signal, wherein, in response to an event on the integrated circuit, the first sub-block is configured to be capable of transmitting a message to the second sub-block, and wherein the first signal includes information identifying a category of the event based on a classification of the event, wherein the classification of the event classifies events associated with the integrated circuit into one or more categories.
9. An integrated circuit comprising a plurality of interconnected sub-blocks arranged in a system on a chip (SoC), wherein: At least a first sub-block of the plurality of interconnected sub-blocks is configured to: transmitting a message to at least one of the plurality of interconnected sub-blocks in response to an event on the integrated circuit; as well as transmitting a signal to the at least one sub-block among the plurality of interconnected sub-blocks, The signal includes information identifying a category of the event based on a classification of the event, wherein the classification of the event classifies the event associated with the integrated circuit into one or more categories.
10. The integrated circuit of claim 9, wherein: The event is a local event in a subsystem of one or more of the plurality of interconnected sub-blocks in the integrated circuit.
11. The integrated circuit of claim 10, wherein: The first sub-block is configured to be capable of transmitting the message and the signal to each sub-block in the sub-system.
12. The integrated circuit of claim 9, wherein: The event is a global event.
13. The integrated circuit of claim 12, wherein: The first sub-block is configured to be capable of transmitting the message and the signal to each sub-block in the integrated circuit.
14. The integrated circuit of claim 9, wherein: The information identifying the category of the event includes an encoding of the category of the event in one or more data bits for transmission in the signal.
15. An integrated circuit comprising at least two interconnected sub-blocks arranged in a system on a chip (SoC), wherein: The first sub-block of the integrated circuit is configured to: transmitting a first signal, the first signal declaring that the first sub-block is ready to transmit data to a second sub-block; receiving a second signal from the second sub-block, the second signal declaring that the second sub-block is ready to receive data from the first sub-block; as well as transmitting data to the second sub-block via a third signal, wherein, in response to an event on the integrated circuit, the first sub-block is configured to be capable of transmitting a message to the second sub-block, and wherein the first signal includes information identifying a category of the event based on a classification of the event, wherein the classification of the event classifies events associated with the integrated circuit into one or more categories.