WO2025001771A1 - 用于芯粒互联接口的数据传输方法及芯粒互联接口 - Google Patents
用于芯粒互联接口的数据传输方法及芯粒互联接口 Download PDFInfo
- Publication number
- WO2025001771A1 WO2025001771A1 PCT/CN2024/097274 CN2024097274W WO2025001771A1 WO 2025001771 A1 WO2025001771 A1 WO 2025001771A1 CN 2024097274 W CN2024097274 W CN 2024097274W WO 2025001771 A1 WO2025001771 A1 WO 2025001771A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- clock signal
- clock
- signals
- data signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4273—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Definitions
- the embodiments of the present disclosure relate to a data transmission method, a transmitting end, a receiving end, a core-grain interconnection interface, a chip, and an electronic device.
- a chiplet is a unit chip with certain functions and an interconnect interface within the package. It is the latest development in chip design technology. Chiplet technology uses multiple chiplets to implement chip design, which can not only reduce costs but also improve chip performance.
- serial bus can provide a shorter delay between two chiplets, and can also expand the bandwidth between chiplets by increasing the bus bandwidth.
- clock-to-data alignment is an essential part of data transmission.
- clock-to-data alignment is a component of data link training. If the clock and data are not aligned after training, the data link needs to be fully trained again, which seriously affects the normal operation of the chip.
- the embodiments of the present disclosure provide a data transmission method, a transmitting end, a receiving end, a core-grain interconnection interface, a chip, and an electronic device.
- At least one embodiment of the present disclosure provides a data transmission method, applied to a receiving end, comprising: receiving N data signals and a first clock signal, wherein the number of cycles of the first clock signal is limited, and the number of cycles of each data signal in the N data signals is less than or equal to the number of cycles of the first clock signal.
- the number of cycles, N is a positive integer; according to the first clock signal, the starting position of the data in the N data signals is located, and the data in the N data signals is obtained.
- the starting position of data in N data signals is located, and the data in the N data signals is obtained, including: according to the first clock signal, N second clock signals are obtained, and the N second clock signals correspond to the N data signals respectively; according to the N second clock signals, the starting position of the data of each data signal in the N data signals is located respectively, and the data in the N data signals is converted from serial data to parallel data respectively; wherein each of the N second clock signals has the same number of cycles as the first clock signal.
- the method further includes: according to N second clock signals, correspondingly saving the data in the N data signals to a buffer memory.
- the method further includes: reading data in N data signals from a buffer memory according to a third clock signal, wherein the third clock signal is a local clock signal of the receiving end.
- data in a data signal is read from a buffer memory according to a third clock signal, including: accessing a read pointer of the buffer memory according to the third clock signal to read data in N data signals.
- data in N data signals are correspondingly saved to a buffer memory according to N second clock signals, including: according to the N second clock signals, respectively accessing the write pointer of the buffer memory to save the data in the N data signals to the buffer memory.
- the method further includes: after at least one empty data is read from the buffer memory, stopping reading the buffer memory.
- the number of cycles of each of the N data signals is M
- the number of cycles of the first clock signal is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to 0.
- At least one embodiment of the present disclosure provides a data transmission method, applied to a transmitting end, comprising: sending N data signals and a first clock signal, wherein N is a positive integer, the number of cycles of the first clock signal is limited, and the number of cycles of each data signal in the N data signals is less than or equal to is equal to the number of cycles of the first clock signal, and the first clock signal is used to locate the starting position of data in the N data signals and obtain the data in the N data signals.
- sending N data signals and a first clock signal includes: sending N data signals and the first clock signal at the same time; or, sending the first clock signal first, and then sending N data signals after a preset period.
- the method further includes: when or after N data signals stop being sent, stopping sending the first clock signal.
- the number of cycles of each of the N data signals is M
- the number of cycles of the first clock signal is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to 0.
- At least one embodiment of the present disclosure provides a receiving end, applied to a chip interconnection interface, comprising: N data ports, configured to receive N data signals, where N is a positive integer; a clock port, configured to receive a first clock signal, the first clock signal has a limited number of cycles, and the number of cycles of each of the N data signals is less than or equal to the number of cycles of the first clock signal; a data processing module, connected to the N data ports and the clock port, configured to locate the starting position of the data in the N data signals according to the first clock signal, and obtain the data in the N data signals.
- the receiving end also includes: a clock acquisition module, connected to the clock port and the data processing module, configured to acquire N second clock signals based on the first clock signal, and send the N second clock signals to the data processing module; the data processing module is configured to convert the data in the N data signals from serial data to parallel data according to the N second clock signals; wherein each of the N second clock signals has the same number of cycles as the first clock signal.
- a clock acquisition module connected to the clock port and the data processing module, configured to acquire N second clock signals based on the first clock signal, and send the N second clock signals to the data processing module
- the data processing module is configured to convert the data in the N data signals from serial data to parallel data according to the N second clock signals; wherein each of the N second clock signals has the same number of cycles as the first clock signal.
- the receiving end further includes: a buffer memory connected to the data processing module and configured to store data in N data signals.
- the data processing module is also configured to access the write pointer of the buffer memory respectively according to N second clock signals to save the data in the N data signals to the buffer memory.
- the receiving end further includes: a data reading module connected to the buffer memory and configured to read data from the buffer memory according to the third clock signal.
- the data reading module is further configured to access the read pointer of the buffer memory according to the third clock signal to read data in the N data signals.
- the data reading module is further configured to stop reading data from the buffer memory after reading at least one empty data from the buffer memory.
- the buffer memory is an asynchronous FIFO memory.
- the receiving end also includes: a local clock configured to generate a local clock signal.
- the number of cycles of each data signal in N data signals is M
- the number of cycles of the first clock signal is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to 0.
- At least one embodiment of the present disclosure provides a transmitting end, applied to a chip interconnection interface, comprising: N data ports, configured to correspondingly send N data signals, where N is a positive integer; a clock port, configured to send a first clock signal; a local clock, connected to the clock port and the N data ports, configured to generate a first clock signal; wherein the first clock signal has a limited number of cycles, the number of cycles of each of the N data signals is less than or equal to the number of cycles of the first clock signal, and the first clock signal is used to locate the starting position of the data in the N data signals and obtain the data in the N data signals.
- N data ports and clock ports are configured to send N data signals and a first clock signal at the same time; or, the clock port is configured to send the first clock signal first, and the N data ports are configured to send N data signals after a preset period after the first clock signal is sent.
- the transmitting end also includes: a clock switch, connected to the local clock and to the clock port, and configured to disconnect the local clock from the clock port when N data signals stop sending or one cycle after stopping sending.
- a clock switch connected to the local clock and to the clock port, and configured to disconnect the local clock from the clock port when N data signals stop sending or one cycle after stopping sending.
- the number of cycles of each data signal of N data signals is M
- the number of cycles of the first clock signal is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to 0.
- At least one embodiment of the present disclosure further provides a chiplet interconnection interface configured as Perform any method as described in the first aspect above.
- At least one embodiment of the present disclosure further provides a chip interconnect interface configured to execute any method as described in the second aspect above.
- At least one embodiment of the present disclosure further provides a chip interconnection interface, comprising a receiving end as described in any one of the third aspects.
- At least one embodiment of the present disclosure further provides a chip-to-chip interconnection interface, comprising a transmitting end as described in any one of the third aspects.
- At least one embodiment of the present disclosure further provides a chip comprising a plurality of core particles, wherein any two of the plurality of core particles are connected via a core particle interconnection interface such as the fifth aspect or the seventh aspect and a core particle interconnection interface such as the sixth aspect or the eighth aspect.
- At least one embodiment of the present disclosure provides an electronic device comprising a chip as in the ninth aspect.
- FIG1 shows a schematic diagram of a chip interconnection interface in the prior art
- FIG2 is a schematic diagram showing clock-to-data alignment between chiplets in the prior art
- FIG3 shows a flow chart of a data transmission method provided according to at least one embodiment of the present disclosure
- FIG4 shows a flowchart of another data transmission method provided according to at least one embodiment of the present disclosure
- FIG5 shows a schematic diagram of a receiving end provided by at least one embodiment of the present disclosure
- FIG6 shows a schematic diagram of a transmitting end provided by at least one embodiment of the present disclosure
- FIG7a shows a schematic diagram of the structure of a clock switch provided by at least one embodiment of the present disclosure
- FIG7b is a schematic diagram showing a first clock signal and a data signal provided by at least one embodiment of the present disclosure
- FIG7c shows a schematic diagram of a first clock signal and a data signal provided by at least one embodiment of the present disclosure
- FIG8 shows a schematic diagram of a chip provided by at least one embodiment of the present disclosure
- FIG9 shows a timing diagram of a data transmission method after chiplet interconnection provided by at least one embodiment of the present disclosure.
- FIG. 10 shows a schematic diagram of an electronic device provided by at least one embodiment of the present disclosure.
- the training of the data link is usually carried out after the initialization of the coreparticle is completed. It requires the cooperation of the coreparticle on the sending side and the coreparticle on the receiving side so that the coreparticle on the receiving side can find the most suitable data sampling window.
- the training of the complete data link includes multiple parts, such as offset calibration, reference power supply Verf calibration, data path deskew, clock to data alignment (CDA, Clock and Data Alignment), parallel data reorder and data check.
- Clock to data alignment is to adjust the phase between data and clock to finally obtain the appropriate sampling phase.
- FIG. 1 shows a schematic diagram of a chip interconnection interface in the prior art.
- chiplet A and chiplet B are connected via chiplet interconnection interface 110 and chiplet interconnection interface 120.
- Chiplet A is the sending side
- chiplet B is the receiving side.
- Chiplet interconnection interface 110 includes multiple Data port 111, clock port 112 and local clock 113.
- the core particle interconnection interface 120 includes multiple data ports 121, clock port 122, clock receiving module 123 and data sampling module 124. The number of data ports of multiple data ports 111 and multiple data ports 121 is equal, and they are respectively connected through multiple data paths.
- the clock port 112 is connected to the clock port 122 through the clock path.
- the local clock 113 generates a clock signal and sends the clock signal to the multiple data ports 111 and the clock port 112.
- the clock receiving module 123 receives the clock signal generated by the local clock 113 and adjusts the clock signal, and sends the adjusted clock signal to the data sampling module 124.
- the data sampling module 124 uses the clock signal to perform data sampling.
- the clock signal can be a differential clock signal.
- the clock signal and the data signal are continuously sent to the core particle B, and the data signal carries valid data and empty data, that is, the data signal does not carry all valid data.
- Valid data is what core A wants to send to core B. Core A transmits valid data according to a preset data format. The length of valid data sent each time is limited. Valid data is not sent continuously. There will be some time gaps. Empty data is used to fill the gaps between valid data. Therefore, the data transmission between core A and core B will have data misalignment between multiple data channels. In the prior art, it is necessary to pre-train the clock-to-data alignment so that accurate data can be received.
- FIG. 2 shows a schematic diagram of clock and data alignment between chiplets in the prior art.
- Valid flags are usually used to train clock-to-data alignment.
- Core A and Core B in FIG2 may be Core A and Core B shown in FIG1.
- the valid flag is vld, which has a value of 1.
- the sender copies it three times to become 3-bit data, and uses the first 3 bits of each data channel to carry the valid flag.
- the valid flag can indicate the beginning of a valid data segment.
- Core B can accurately locate the valid data from each data signal.
- the valid data has an agreed data format, including the data length. Therefore, after the core B finds the valid flag, it can locate a valid data segment.
- the three data signals sent from Core A are aligned. There is a certain phase difference or delay between the three data signals received by Core B. This delay is difficult to eliminate and is affected by many factors such as core design, working environment, temperature, humidity, and manufacturing process. As long as the receiver successfully receives two of the three valid flags, it determines that the data channels are aligned.
- the three data paths still have two valid flags aligned, so the three data paths are considered to be aligned.
- This alignment is not an absolute alignment, and a certain error is allowed.
- the clock-to-data alignment training is included in the complete data link training. If there is misalignment between data signals or misalignment between data and clock during normal use of the chip, even if other training in the data link training is not necessary, the complete data link training must be performed again, which will seriously affect the normal operation of the chip and increase power consumption.
- the embodiments of the present disclosure provide a data transmission method, a transmitting end, a receiving end, a chip interconnection interface, a chip and an electronic device, which can realize real-time clock and data alignment between chiplets without the need for prior clock-to-data alignment training, and provide a feasible solution for removing clock-to-data alignment from data link training.
- FIG. 3 shows a flowchart of a data transmission method provided according to at least one embodiment of the present disclosure.
- the data transmission method 300 shown in FIG. 3 is applied to the receiving end of the chiplet interconnection interface.
- the data transmission method 300 comprises the following steps:
- Step S310 receiving N data signals and a first clock signal, where N is a positive integer, the number of cycles of the first clock signal is limited, and the number of cycles of each of the N data signals is less than or equal to the number of cycles of the first clock signal.
- Step S320 locate the starting position of data in the N data signals according to the first clock signal, and obtain the data in the N data signals.
- N data signals correspond to N data paths
- the first clock signal corresponds to the clock path.
- Each data path transmits 1 data signal, and each data signal carries serial data.
- the first clock signal can be a differential clock signal.
- N is 2, 3, 4, ..., 16, etc.
- the value of N is related to the bandwidth required by the core particle interconnection interface. The more data paths, the greater the bandwidth of data transmission between core particles. The number of data paths can be set according to demand.
- the data carried by each data signal is of limited length, that is, the number of cycles carrying data in each data signal is limited.
- the number of cycles of the N data signals or the number of cycles of each data signal involved in the embodiments of the present disclosure refers to the number of cycles carrying valid data.
- the number of cycles may also be referred to as length or cycle length, and these terms can be interchanged in the present disclosure.
- data transmission between core particles usually has a fixed data format, that is, the data length of each transmission is fixed and equal, for example, the data format specifies that the data length is 128 bits.
- the number of cycles of the N data signals in this embodiment is equal, that is, the number of cycles of the N data signals and the number of cycles of each data signal refer to the same number of cycles.
- the data in each data signal does not include a valid flag.
- the data carried in each data signal may have a predefined data format, such as a predetermined data length or number of cycles. For example, the number of cycles is 8.
- the length or number of cycles of the data signal mentioned in the present disclosure refers to the part of the data signal that carries valid data, and the data in the data signal also refers to valid data.
- the data signal in the present disclosure is a square wave, and the square wave may be continuously received, but the part carrying data is the part of the data signal to be discussed in the present disclosure.
- the length of the first clock signal is also limited, which is the length of carrying a valid clock cycle, for example, the length is 4 cycles.
- the first clock signal valid clock cycle is, for example, a cycle with clock jumps, and each valid clock cycle includes 1 rising edge and 1 falling edge of the clock.
- the first clock signal can also be transmitted in the form of a square wave. Unlike the data signal, the first clock signal in the present disclosure is a square wave when valid, and can be a continuous low level when invalid.
- the data in the data signal of the present disclosure does not carry a valid flag bit, but uses the first clock signal to determine the starting position of the data.
- There is a corresponding relationship between the N data signals and the first clock signal and the corresponding relationship is that the difference in the number of cycles is less than or equal to a preset number.
- the number of cycles of the first clock signal is limited and the number of cycles of the first clock signal is greater than or equal to the number of cycles of each data signal.
- the number of cycles of the first clock signal is equal to the number of cycles of each data signal.
- the length of the first clock signal needs to be greater than or equal to the length of each data signal, and the length of each data signal is the same.
- the length of the first clock signal is greater than or greater than the length of the data signal, it is possible to ensure that the data in the data signal is completely acquired, otherwise the data may be incomplete.
- the first clock signal determines the starting position of the data in the data signal, and the scheme disclosed in the present invention does not involve a valid flag bit, so that the position of the first time period of the first clock signal corresponds to the starting position of the data carried in the data signal, such as Figure 9.
- the number of N data signal cycles is M
- the number of N first clock signal cycles is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to 0.
- X also needs to be less than or equal to a preset number.
- the preset number is, for example, 1, 2, 3, 4, etc.
- the preset number can be adjusted according to demand, and the smaller the preset number, the shorter the length of the first clock signal, and thus the smaller the power consumption of sending and receiving the first clock signal.
- the data in the data signal can be obtained according to the first clock signal.
- the data in the data signal here refers to the valid data carried by the data signal.
- the opposite of valid data is invalid data or empty data, which can be garbled code, preset fill value, etc., so that the reading After invalid data or empty data is obtained, it is determined that valid data in the data signal has been received.
- the first clock signal is not continuous but has a limited length, and the first clock signal is used to locate the position of the data in the data signal.
- the first clock signal can be used to determine and obtain the data in the data signal.
- the data does not need to include a valid flag bit, nor does it need to perform clock-to-data alignment training in advance, and the clock-to-data alignment effect can be obtained in real time.
- executing step S320 may include: locating the starting position of data in N data signals according to the first clock signal, and obtaining N second clock signals, the N second clock signals corresponding to the N data signals respectively; locating the starting position of data of each of the N data signals according to the N second clock signals, and converting the data in the N data signals from serial data to parallel data respectively; wherein each of the N second clock signals has the same number of cycles as the first clock signal.
- the first clock signal is extended to N second clock signals without changing the frequency and number of cycles (or length) of the clock signal.
- Different phase differences may exist between the N second clock signals.
- different phases are adjusted for each second clock signal, such as the clock signals of multiple lanes in FIG. 9 having different phase differences.
- the phase difference in this embodiment can be understood as a delay.
- the data in the N data signals is located according to each clock signal in the N second clock signals, for example, the starting position of the data is located.
- N data signals are sampled correspondingly using N second clock signals, thereby converting the data in each data signal from serial to parallel, wherein each second clock signal is used to sample a corresponding data signal.
- data sampling is performed once at each falling edge of the clock or each rising edge of the clock, thereby obtaining the data in the data signal.
- the data transmission method further includes: saving the data in the N data signals to a buffer memory correspondingly according to the N second clock signals.
- the data in each data signal may be stored in a partial storage area of the buffer memory, or may be stored in a separate buffer memory. That is, the number of buffer memories may be 1 or N.
- the number of buffer memories may be 1 or N.
- a number of data blocks may be obtained, and each data block may be stored in a storage space of the buffer memory, such as an entry.
- data in different data signals can be saved to different buffer memories, which is easier to implement and facilitate subsequent processing.
- the buffer memory reserves a fixed storage area for the data in each data signal.
- the buffer memory is divided into N storage areas, each storage area including multiple storage spaces.
- saving data in the N data signals into a buffer memory includes: accessing a write pointer of the buffer memory respectively according to N second clock signals to save the data in the N data signals into the buffer memory.
- N second clock signals are used to access write pointers of different storage areas to store data in N data signals into different storage areas.
- the buffer memory may include N storage areas, each storage area having its own write pointer and read pointer.
- N second clock signals are used to access write pointers of different buffer memories to store data in the N data signals into different buffer memories.
- the buffer memory writes data by accessing the write pointer, so the write pointer can be counted by the second clock signal, such as each rising edge or each falling edge of the second clock signal causes the value of the write pointer to increase by 1, that is, points to the next storage space.
- Each write pointer regularly cycles to point to a plurality of storage spaces in a storage area. For example, the write pointer jumps according to the address of the storage space from large to small or from small to large.
- the data transmission method further comprises: reading data in the N data signals from the buffer memory according to a third clock signal, wherein the third clock signal is a local clock signal of the receiving end.
- the data in the N data signals can be read using the same third clock signal.
- the method of reading data from the buffer memory is similar to the method of saving data.
- the read pointer of the buffer memory can be accessed according to the third clock signal to read the data in the N data signals.
- the N buffer memories can be accessed according to the third clock signal to obtain the data in the N data signals.
- the value of the read pointer will also be increased by 1 and point to the next storage space.
- the number of values of the read pointer is limited or the value range is limited, and the value of the read pointer cyclically jumps within the value range.
- the read pointers of the N buffer memories are accessed and counted according to the rising edge or falling edge in the third clock signal, so that the data in the N data signals can be read out at the same time.
- the third clock signal can be used to read them simultaneously.
- the length of the data in the N data signals and the number of data blocks are stipulated to be the same, and the data blocks can be stored in several similar storage spaces in different buffer memories, or the data blocks can be stored in the same order. Therefore, when reading data, the same signal can be used to trigger, so that data in different buffer memories or different storage areas can be read simultaneously and in order.
- the third clock signal can also be a clock signal generated according to the first clock signal, for example, a third clock signal whose length exceeds the first clock signal is generated according to the frequency of the first clock signal, or the first clock signal is delayed to obtain the third clock signal.
- the data in the N data signals can be considered to be “aligned” and saved in the buffer memory, and then the same third clock signal is further used to read the data in the buffer memory.
- the reading process is also "aligned”. Even if the N data signals are not aligned during the transmission process (for example, the phase difference between different data signals exceeds 2 cycles), the data finally obtained is still aligned. Therefore, when the data channels are not aligned under the normal working state of the core particle, there is no need to re-train the data link.
- the data transmission method further includes stopping reading the N buffer memories after at least one empty data is read from the buffer memory.
- the data length of each data signal is limited, so after reading empty data from the buffer memory, it can be considered that the data reading is completed and the access to the buffer memory is stopped.
- the data transmission method at the receiving end of the chip-grain interconnection interface is introduced above with reference to the accompanying drawings.
- the data transmission method at the sending end of the chip-grain interconnection interface will be introduced below with reference to FIG. 4 .
- At least one embodiment of the present disclosure also provides a data transmission method, applied to a transmitting end, comprising: sending N data signals and a first clock signal, wherein N is a positive integer, and there is a corresponding relationship between the N data signals and the first clock signal, the corresponding relationship being that the difference in the number of cycles is less than or equal to a preset number, and the first clock signal is used to obtain data in the N data signals.
- FIG. 4 shows a flow chart of another data transmission method provided according to at least one embodiment of the present disclosure.
- the data transmission method 400 is applicable to a sending end.
- the data transmission method 400 includes the following steps:
- Step S410 sending N data signals and a first clock signal, wherein N is a positive integer, the number of cycles of the first clock signal is limited, the number of cycles of each of the N data signals is less than or equal to the number of cycles of the first clock signal, and the first clock signal is used to locate the starting position of the data in the N data signals and obtain the data in the N data signals.
- the definitions of the N data signals and the first clock signal can be found in the relevant description in FIG3 , which will not be repeated here.
- not any clock signal having the same number of cycles as the number of cycles of the data signal can be used to obtain data in the data signal.
- the number of cycles of each of the N data signals is M
- the number of cycles of the first clock signal is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to zero.
- the number of cycles of each data signal in the N data signals is the same.
- the number of cycles of the first clock signal is greater than or equal to the number of cycles of the data signal, so that the data in the data signal can be completely obtained.
- M is equal to 6
- X is equal to 1 or 2.
- the difference between the number of cycles of the first clock signal and the number of cycles of the data signal is less than a preset value.
- the preset value is 4 or 3.
- N data signals and the first clock signal may be sent simultaneously; or, the first clock signal may be sent first, and then N data signals may be sent after a preset cycle length.
- the corresponding data signal and the first clock signal may be sent simultaneously.
- the first clock signal may be sent first, and then the data signal may be sent, thereby ensuring that the first clock signal can "cover" all cycles of the data signal.
- the sending of the first clock signal is related to the sending of the data signal, for example, The sending determines the sending of the first clock signal.
- the first clock signal may be set to be sent at the same time as the N data signals are sent, so that the start position of the first clock signal is aligned with the start position of the data in the N data signals.
- the data transmission method further includes: stopping sending the first clock signal when or after the N data signals stop sending.
- stopping sending each data signal can also be understood as completing the sending of each data signal.
- At least one embodiment of the present disclosure further provides a chip interconnect interface, which is configured to execute any method in the first method embodiment described above.
- the chip interconnect interface includes a processing module, which can implement the method in the method embodiment described above.
- At least one embodiment of the present disclosure further provides a chip interconnect interface, which is configured to execute any method in the second method embodiment described above.
- the chip interconnect interface includes a processing module, which can implement the method in the method embodiment described above.
- Fig. 5 shows a schematic diagram of a receiving end provided by at least one embodiment of the present disclosure.
- the receiving end 500 in this embodiment can execute the data transmission method described with reference to Fig. 3 , and its execution method can refer to the relevant description of Fig. 3 .
- the receiving end 500 includes N data ports 510, a clock port 520 and a data processing module 530.
- the data processing module 530 is respectively connected to the N data ports 510, and the data processing module 530 is connected to the clock port 520.
- the receiving end 500 is connected to N data paths and 1 clock path, and each data path is connected to one data port.
- the N data ports 510 receive N data signals correspondingly.
- N is a positive integer.
- the N clock ports 520 receive N first clock signals correspondingly.
- There is a corresponding relationship between the N data signals and the first clock signal and the corresponding relationship is that the difference in the number of cycles is less than or equal to a preset number.
- the number of cycles of the first clock signal is limited, and the number of cycles of each data signal in the N data signals is less than or equal to the number of cycles of the first clock signal.
- the data processing module 530 locates the starting position of the data in the N data signals according to the N first clock signals, and obtains the data in the N data signals.
- the receiving end also includes: a clock acquisition module, connected to the clock port and the data processing module, configured to acquire N second clock signals according to the first clock signal, and send the N second clock signals to the data processing module.
- a clock acquisition module connected to the clock port and the data processing module, configured to acquire N second clock signals according to the first clock signal, and send the N second clock signals to the data processing module.
- the clock port is not directly connected to the data processing module, but is connected to the data processing module via a clock acquisition module.
- the clock acquisition module can extend or delay the first clock signal to obtain N second clock signals.
- the first clock signal can be delayed and extended by circuit design, for example, by adjusting the phase difference between the second clock signals using the length of the connecting line.
- the data processing module is configured to convert data in the N data signals from serial data to parallel data according to N second clock signals, wherein each of the N second clock signals has the same number of cycles as the first clock signal.
- each data processing module is connected to one second clock signal and is responsible for the serial-to-parallel conversion of the data of one corresponding data signal.
- the data processing module may include multiple processing units, each processing unit is connected to one second clock signal and is responsible for the serial-to-parallel conversion of the data of one corresponding data signal.
- the data processing module 530 includes a serial-to-parallel converter, which can convert serial data into parallel data.
- the data processing module 530 includes a sampler and a demultiplexer, and the sampler can sample the data in the data signal according to the second clock signal to obtain the data in the data signal, and then convert the sampled data into parallel data through the demultiplexer.
- the receiving end further includes: a buffer memory connected to the data processing module and configured to store data in the N data signals.
- a buffer memory connected to the data processing module and configured to store data in the N data signals.
- the number of the buffer memories is 1 or N.
- the receiving end 500 further includes N buffer memories 540, which are indicated by dashed boxes in the figure.
- the N buffer memories 540 respectively store data in the N data signals.
- the data processing module is further configured to access write pointers of N buffer memories correspondingly according to the N second clock signals to save data in the N data signals.
- the buffer memory 540 writes data by accessing the write pointer, so the write pointer can be counted by the second clock signal. For example, each rising edge or each falling edge of the second clock signal causes the value of the write pointer to increase by 1, that is, to point to the next storage space. Since the period of the second clock signal corresponds to the period of the corresponding data signal, the write pointer is controlled according to the second clock signal. By counting the needles, the data in the data signal can be completely written into the N buffer memories 540.
- each of the N buffer memories 540 is an asynchronous FIFO memory.
- the receiving end further includes: a data reading module connected to the buffer memory and configured to read data from the N data signals from the buffer memory according to a third clock signal, wherein the third clock signal is a local clock signal.
- the receiving end 500 further includes a data reading module 550.
- the number of the data reading module 550 is 1.
- the data reading module 550 is connected to the N buffer memories 540.
- the data reading module 550 can read data in the N data signals from the N buffer memories 540 at the same time according to the third clock signal. It should be noted that the data reading module 550 needs to wait until all the N buffer memories 540 have written data before reading the data.
- the data reading module is further configured to access a read pointer of the buffer memory according to a third clock signal to read data in the N data signals.
- the data reading module 550 can simultaneously access the read pointers of the N buffer memories 540 according to the third clock signal.
- the read pointers of the N buffer memories 540 are accessed and counted according to the rising edge or falling edge in each cycle of the third clock signal, so as to simultaneously read out the data in the N data signals.
- the data reading module is further configured to stop reading data from the buffer memory after at least one empty data is read from the buffer memory.
- the data reading module 550 is configured to determine that all data has been read after reading empty data from the N buffer memories 540, thereby stopping the data reading of the N buffer memories 540. For example, the data reading module 550 reads the data in the N buffer memories 540 according to the local clock signal. Since the local clock signal always exists, the data reading module 550 needs to use the empty data to determine whether all data has been read successfully. For another example, the data reading module 550 reads the data in the N buffer memories 540 according to the first clock signal or the second clock signal. The effective clock cycle length of the first clock signal and the second clock signal is limited, so that the data reading of the N buffer memories 540 can be automatically stopped after all the effective clock cycles have passed.
- the receiving end further includes: a local clock configured to generate a local clock signal.
- Fig. 6 shows a schematic diagram of a transmitting end provided by at least one embodiment of the present disclosure.
- the transmitting end 600 in Fig. 6 can execute the method shown in Fig. 4 , and the execution method can refer to the relevant description of Fig. 4 .
- the transmitting end 600 includes N data ports 610, a clock port 620 and a local clock 630.
- the N data ports 610 send N data signals correspondingly, where N is a positive integer.
- the clock port 620 sends a first clock signal.
- the local clock 630 generates a first clock signal.
- the local clock 630 is connected to the clock port 620 and the N data ports 610.
- the N data signals and the first clock signal there is a corresponding relationship between the N data signals and the first clock signal, and the corresponding relationship is that the difference in the number of cycles is less than or equal to a preset number, for example, the number of cycles of the first clock signal is limited, and the number of cycles of each data signal in the N data signals is less than or equal to the number of cycles of the first clock signal.
- the first clock signal is used to locate the starting position of the data in the N data signals and obtain the data in the N data signals.
- the local clock 630 can be a phase-locked loop.
- the number of cycles of the N data signals is M
- the number of cycles of the N first clock signals is M+X
- M is an integer greater than or equal to 2
- X is an integer greater than or equal to zero.
- the N data ports and the clock ports are configured to simultaneously send one data signal among the N data signals and a corresponding first clock signal; or, the clock port is configured to send the first clock signal first, and the N data ports are configured to send the N data signals after a preset period after the first clock signal is sent.
- Different sending methods can be selected. For example, when the number of cycles of the data signal and the first clock signal is equal, they must be sent at the same time. When the number of cycles of the first clock signal is greater than the number of cycles of the data signal, the first clock signal and the data signal can be sent at the same time, or the first clock signal can be sent first and then the data signal. It should be noted that since the first clock signal will be used to locate the data in the data signal, when the first clock signal is sent first, it is necessary to determine the period difference or phase difference between sending the first clock signal and sending the data signal, so as to ensure that the receiving end can use the first clock signal to locate the data.
- the chip interconnect interface further includes: a clock switch connected to the local clock and the clock port, configured to disconnect the local clock from the clock port when N data signals stop being sent or one cycle after they stop being sent.
- the clock switch can also disconnect the local clock from the clock port after 2 cycles or multiple cycles after N data signals stop being sent.
- the clock switch can also control the sending of the first clock signal.
- the local clock outputs a clock signal that always exists, and the clock switch determines whether to send the first clock signal, when to send the first clock signal, and when to stop sending the first clock signal.
- the clock switch 640 is shown in a dashed box in FIG6.
- the clock switch 640 and the local clock The clock switch 640 is connected to the clock port 630, and is also connected to the clock port 620.
- the clock switch 640 can control the transmission or stop of the first clock signal of the clock port 620.
- the N clock switches 640 may be implemented using clock gating circuits or switches.
- FIG. 7 a shows a schematic structural diagram of a clock switch provided by at least one embodiment of the present disclosure.
- the clock switch 700 in FIG7a is a latch-based clock gating circuit.
- the clock switch 700 includes a latch 701 and an AND gate 702.
- the inputs of the latch 701 are the clock enable signal ClkEn and the clock signal Clock
- the inputs of the AND gate 702 are the clock signal Clock and the output of the latch 701.
- the clock switch 700 can turn off the clock signal when the clock enable signal ClkEn is low and inactive, that is, the first clock signal is a few clock cycles when the clock enable signal ClkEn is high and effective.
- FIG. 7 b shows a schematic diagram of a first clock signal and a data signal provided by at least one embodiment of the present disclosure.
- FIG7b is a schematic diagram showing a data signal and a first clock signal when a clock switch is not used.
- Clock is a clock signal
- Data is a data signal.
- the data signal in FIG7b carries four valid data, namely D0, D1, D2 and D3, and the remaining oblique line parts are invalid data.
- the first clock signal in FIG7b exists continuously.
- FIG. 7 c shows a schematic diagram of a first clock signal and a data signal provided by at least one embodiment of the present disclosure.
- FIG7c is a schematic diagram showing a data signal and a first clock signal when a clock switch is used.
- ClkEn in FIG7c is an enable signal of the clock
- Clock is a clock signal
- Data is a data signal.
- the data signal in FIG7c carries four valid data, namely D0, D1, D2, and D3, and the remaining oblique line portions are invalid data.
- the first clock signal in FIG7b exists corresponding to the valid data.
- At least one embodiment of the present disclosure further provides a chip, comprising a plurality of core particles, wherein any two of the plurality of core particles are connected via a core particle interconnection interface such as any one of the first device embodiments described above and a core particle interconnection interface such as any one of the second device embodiments described above.
- At least one embodiment of the present disclosure further provides a chip, comprising a plurality of core particles, wherein any two of the plurality of core particles are connected via a core particle interconnection interface such as any one of the third device embodiments described above and a core particle interconnection interface such as any one of the fourth device embodiments described above.
- FIG. 8 shows a schematic diagram of a chip provided by at least one embodiment of the present disclosure.
- chip 800 includes a core 810 and a core 820.
- Core 810 is a transmitting side
- core 820 is a receiving side.
- Fig. 8 only shows the core interconnection interface portion of core 810 and core 820.
- the core 810 includes a serial-to-parallel converter 811, a phase-locked loop 812, a clock gating 813, a data port 814, and a clock port 815.
- the core 820 includes a serial-to-parallel converter 821, a local clock 822, a data port 823, a clock port 824, and an asynchronous FIFO memory 825.
- the data port 814 is connected to the data port 823 via a data path.
- the clock port 815 is connected to the clock port 824 via a clock path.
- FIG8 shows only one data port for illustration, and it is understandable that an actual design includes at least one data port.
- the serial-to-parallel converter 811 receives parallel data and converts it into serial data, and the serial-to-parallel converter 821 converts the serial data into parallel data.
- the input of the phase-locked loop 812 is the clock signal Clock, which can output the clock signal to the clock gating 813 and the serial-to-parallel converter 811 (only one clock signal is output in the figure).
- Another input of the clock gating 813 is the clock enable signal ClkEn.
- the clock port 824 sends the received clock signal to the serial-to-parallel converter 821, and the serial-to-parallel converter 821 inputs a clock signal into the asynchronous FIFO memory 825, and the clock signal controls the write pointer count of the asynchronous FIFO memory 825.
- the local clock 822 inputs another clock signal into the asynchronous FIFO memory 825, and the clock signal controls the read pointer count of the asynchronous FIFO memory 825.
- the core particle 820 may include multiple serial-to-parallel converters 821 and multiple asynchronous FIFO memories 825.
- the core particle 820 may also include a clock acquisition module connected to the clock port 824 and the multiple serial-to-parallel converters 821.
- the clock acquisition module may expand one clock signal received from the clock port 824 into multiple clock signals, and the multiple clock signals are input into multiple serial-to-parallel converters 821 accordingly.
- multiple asynchronous FIFOs 825 are connected to multiple serial-to-parallel converters 821, and each serial-to-parallel converter 821 inputs one clock signal into a corresponding asynchronous FIFO memory 825.
- the local clock 822 is connected to multiple asynchronous FIFO memories 825 and provides a local clock signal to the multiple asynchronous FIFO memories 825.
- FIG. 9 shows a timing diagram of a method for data transmission after chiplet interconnection according to at least one embodiment of the present disclosure.
- lane represents the control signal from the data path
- FIFO represents the control signal of the buffer memory.
- laneY_gated_clock represents the first clock signal of data path Y, where Y is 0-N.
- laneY_wrpt represents the write pointer signal to the buffer memory.
- FIFO_read_clock is the second clock signal, which is a continuously existing clock signal.
- FIFO_rdpt is the read pointer signal of the buffer memory.
- FIFO_read is the read enable signal.
- FIFO_read_sync is the synchronous read signal of the buffer memory.
- FIFO_valid is the valid signal of the buffer memory.
- the first clock signal and the read pointer signal of each lane correspond to each other, which indicates that the data in the data signal is written to the buffer memory when there is a rising edge or a falling edge of the first clock signal.
- the values of the read pointer and the write pointer of each buffer memory are not equal.
- the read enable signal FIFO_read is pulled high and becomes valid.
- the read enable signal FIFO_read is synchronized to the FIFO_read_clock signal, and the data is read out in the next cycle (FIFO_valid becomes high and valid in the next cycle).
- the values 0, 1, 2 and 3 of the pointer signal in the figure represent the values of the pointer, and the data read is the corresponding value.
- the value of FIFO_rdpt is 0, and the data read is the corresponding data of the laneY_wrpt value of 0. Therefore, when the value of FIFO_rdpt is 1 to 3, the data at the position of the write pointer value 1 to 3 in each lane is read accordingly.
- laneY_gated_clock is turned off or disconnected. Since FIFO_read_clock is still valid, data will continue to be read, but empty data will be read. As long as empty data is read, the read enable signal will be pulled low and become invalid, waiting for the next data signal transmission.
- At least one embodiment of the present disclosure provides an electronic device, including the chip in the above embodiment.
- FIG. 10 shows a schematic diagram of an electronic device provided by at least one embodiment of the present disclosure.
- the electronic device 1000 includes a chip 1001.
- the chip 1001 is, for example, the chip 800 shown in FIG8.
- the electronic device 1000 may be any device with a computing function, such as a computer, a server, a smart phone, a tablet computer, etc., and the embodiments of the present disclosure are not limited thereto.
- step flow charts and the above method descriptions in this application are only illustrative examples and are not intended to require or imply that the steps of each embodiment must be performed in the order given, and some steps can be performed in parallel, independently of each other, or in other appropriate orders.
- words such as “secondly”, “then”, “next”, etc. are not intended to limit the order of the steps; these words are only used to guide the reader to read through the descriptions of these methods.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
Abstract
Description
Claims (30)
- 一种数据传输方法,应用于接收端,包括:接收N个数据信号和第一时钟信号,其中,所述第一时钟信号的周期数量有限,所述N个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,N为正整数;根据所述第一时钟信号,定位所述N个数据信号中的数据的开始位置,并获取所述N个数据信号中的数据。
- 根据权利要求1所述的方法,其中,所述根据所述第一时钟信号,定位所述N个数据信号中的数据的开始位置,并获取所述N个数据信号中的数据,包括:根据所述第一时钟信号,获取N个第二时钟信号,其中,所述N个第二时钟信号分别对应于所述N个数据信号;根据所述N个第二时钟信号,分别定位所述N个数据信号中的每个数据信号的数据的开始位置,并分别将所述N个数据信号中的数据从串行数据转换为并行数据;其中,所述N个第二时钟信号中的每一个第二时钟信号具有与所述第一时钟信号相同的周期数量。
- 根据权利要求2所述的方法,其中,在获取所述N个数据信号中的数据之后,所述方法还包括:根据所述N个第二时钟信号,对应地将所述N个数据信号中的数据保存到缓冲存储器。
- 根据权利要求3所述的方法,其中,所述方法还包括:根据第三时钟信号,从所述缓冲存储器中读取所述N个数据信号中的数据,其中,所述第三时钟信号为所述接收端的本地时钟信号。
- 根据权利要求4所述的方法,其中,所述根据第三时钟信号,从所述缓冲存储器中读取所述数据信号中的数据,包括:根据所述第三时钟信号,访问所述缓冲存储器的读指针,以读取所述N个数据信号中的数据。
- 根据权利要求3所述的方法,其中,根据所述N个第二时钟信号,对应地将所述N个数据信号中的数据保存到缓冲存储器,包括:根据所述N个第二时钟信号,分别访问所述缓冲存储器的写指针,以将所述N个数据信号中的数据保存到所述缓冲存储器。
- 根据权利要求5所述的方法,其中,所述方法还包括:在从所述缓冲存储器中读取到至少一个空数据之后,停止对所述缓冲存储器的读取。
- 根据权利要求1-7中任一项所述的方法,其中,所述N个数据信号中的每个数据信号的周期数量为M,所述第一时钟信号的周期数量为M+X,M为大于或等于2的整数,X为大于或等于0的整数。
- 一种数据传输方法,应用于发送端,包括:发送N个数据信号和第一时钟信号,其中,N为正整数,所述第一时钟信号的周期数量有限,所述N个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,并且所述第一时钟信号用于定位所述N个数据信号中的数据的开始位置并获取所述N个数据信号中的数据。
- 根据权利要求9所述的方法,其中,所述发送所述N个数据信号和所述第一时钟信号,包括:同时发送所述N个数据信号和所述第一时钟信号;或者,先发送所述第一时钟信号,然后在预设周期之后发送所述N个数据信号。
- 根据权利要求9所述的方法,还包括:在所述N个数据信号停止发送时或者停止发送之后,停止发送所述第一时钟信号。
- 根据权利要求9所述的方法,其中,所述N个数据信号中的每个数据信号的周期数量为M,所述第一时钟信号的周期数量为M+X,M为大于或等于2的整数,X为大于或等于0的整数。
- 一种接收端,应用于芯粒互联接口,包括:N个数据端口,被配置为接收N个数据信号,其中,N为正整数;时钟端口,被配置为接收第一时钟信号,其中,所述第一时钟信号的周期数量有限,所述N个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量;数据处理模块,与所述N个数据端口及所述时钟端口连接,被配置为根据所述第一时钟信号,定位所述N个数据信号中的数据的开始位置,并获取所述N个数据信号中的数据。
- 根据权利要求13所述的接收端,还包括:时钟获取模块,与所述时钟端口及所述数据处理模块连接,被配置根据将所述第一时钟信号,获取N个第二时钟信号,并将所述N个第二时钟信号发送至所述数据处理模块;所述数据处理模块被配置为根据所述N个第二时钟信号,分别将所述N个数据信号中的数据从串行数据转换为并行数据;其中,所述N个第二时钟信号中的每一个第二时钟信号具有与所述第一时钟信号相同的周期数量。
- 根据权利要求14所述的接收端,还包括:缓冲存储器,与所述数据处理模块连接,被配置为保存所述N个数据信号中的数据。
- 根据权利要求15所述的接收端,其中,所述数据处理模块还被配置为根据所述N个第二时钟信号,分别访问所述缓冲存储器的写指针,以将所述N个数据信号中的数据保存到所述缓冲存储器。
- 根据权利要求15所述的接收端,还包括:数据读取模块,与所述缓冲存储器连接,被配置为根据第三时钟信号从所述缓冲存储器中读取出所述N个数据信号中的数据,其中,所述第三时钟信号为所述接收端的本地时钟信号。
- 根据权利要求17所述的接收端,其中,所述数据读取模块还被配置为根据所述第三时钟信号,访问所述缓冲存储器的读指针,以读取所述N个数据信号中的数据。
- 根据权利要求17所述的接收端,其中,所述数据读取模块还被配置为在从所述缓冲存储器中读取到至少一个空数据之后,停止对所述缓冲存储器的数据读取。
- 根据权利要求15所述的接收端,其中,所述缓冲存储器为异步FIFO存储器。
- 根据权利要求13所述的接收端,其中,所述接收端还包括:本地时钟,被配置为生成本地时钟信号。
- 根据权利要求13所述的接收端,其中,所述N个数据信号中的每个数据信号的周期数量为M,所述第一时钟信号的周期数量为M+X,M为大于或等于2的整数,X为大于或等于0的整数。
- 一种发送端,应用于芯粒互联接口,包括:N个数据端口,被配置为对应地发送N个数据信号,N为正整数;时钟端口,被配置为发送第一时钟信号;本地时钟,与所述时钟端口及所述N个数据端口连接,被配置为生成所述第一时钟信号;其中,所述第一时钟信号的周期数量有限,所述N个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,并且所述第一时钟信号用于定位所述N个数据信号中的数据的开始位置并获取所述N个数据信号中的数据。
- 根据权利要求23所述的发送端,其中,所述N个数据端口和所述时钟端口被配置为同时发送所述N个数据信号和所述第一时钟信号;或者,所述时钟端口被配置为先发送所述第一时钟信号,所述N个数据端口被配置为在所述第一时钟信号发送后的预设周期之后发送所述N个数据信号。
- 根据权利要求23所述的发送端,还包括:时钟开关,与所述本地时钟连接以及与所述时钟端口连接,被配置为在所述N个数据信号停止发送时或者停止发送的一个周期之后,断开所述本地时钟与所述时钟端口的连接。
- 根据权利要求23所述的发送端,其中,所述N个数据信号的每个数据信号的周期数量为M,所述第一时钟信号的周期数量为M+X,M为大于或等于2的整数,X为大于或等于0的整数。
- 一种芯粒互联接口,包括如权利要求13-22中任一项所述的接收端。
- 一种芯粒互联接口,包括如权利要求23-26中任一项所述的发送端。
- 一种芯片,包括多个芯粒,其中,所述多个芯粒中的任意两个芯粒通过如权利要求27所述的芯粒互联接口和如权利要求28所述的芯粒互联接口连接。
- 一种电子设备,包括如权利要求29所述的芯片。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24830418.0A EP4567617A4 (en) | 2023-06-30 | 2024-06-04 | DATA TRANSMISSION METHOD FOR CHIP INTERCONNECTION INTERFACE, AND CHIP INTERCONNECTION INTERFACE |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310802966.6 | 2023-06-30 | ||
| CN202310802966.6A CN116775546B (zh) | 2023-06-30 | 2023-06-30 | 用于芯粒互联接口的数据传输方法及芯粒互联接口 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025001771A1 true WO2025001771A1 (zh) | 2025-01-02 |
Family
ID=88011360
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/097274 Ceased WO2025001771A1 (zh) | 2023-06-30 | 2024-06-04 | 用于芯粒互联接口的数据传输方法及芯粒互联接口 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4567617A4 (zh) |
| CN (1) | CN116775546B (zh) |
| WO (1) | WO2025001771A1 (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116775546B (zh) * | 2023-06-30 | 2024-08-30 | 海光信息技术股份有限公司 | 用于芯粒互联接口的数据传输方法及芯粒互联接口 |
| CN117806995B (zh) * | 2023-12-28 | 2025-08-15 | 上海人工智能创新中心 | 一种用于晶圆系统中的芯粒通信系统和资源管理方法 |
| CN118465493B (zh) * | 2024-04-10 | 2025-02-28 | 原粒(北京)半导体技术有限公司 | 连接检测电路和芯粒 |
| CN119005098B (zh) * | 2024-10-23 | 2025-02-25 | 芯耀辉半导体科技(珠海)有限公司 | 芯粒接口电路、例化方法和对齐方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1842057A (zh) * | 2005-04-01 | 2006-10-04 | 华为技术有限公司 | 信号拆分合并的方法及装置 |
| CN103684698A (zh) * | 2013-12-30 | 2014-03-26 | 龙芯中科技术有限公司 | 数据信号的处理方法和装置 |
| US20230011674A1 (en) * | 2021-07-07 | 2023-01-12 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
| CN116775546A (zh) * | 2023-06-30 | 2023-09-19 | 海光信息技术股份有限公司 | 用于芯粒互联接口的数据传输方法及芯粒互联接口 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6654897B1 (en) * | 1999-03-05 | 2003-11-25 | International Business Machines Corporation | Dynamic wave-pipelined interface apparatus and methods therefor |
| US6975557B2 (en) * | 2003-10-02 | 2005-12-13 | Broadcom Corporation | Phase controlled high speed interfaces |
| CN103051422B (zh) * | 2012-12-18 | 2018-08-17 | 南京中兴新软件有限责任公司 | 信号间延迟处理方法及装置 |
| EP3087491B1 (en) * | 2013-12-26 | 2018-12-05 | Intel Corporation | Multichip package link |
| CN105871533A (zh) * | 2015-01-20 | 2016-08-17 | 中兴通讯股份有限公司 | 相位处理方法及装置 |
| EP3389215A1 (en) * | 2015-12-11 | 2018-10-17 | Sony Corporation | Communication system and communication method |
| CN113535620B (zh) * | 2021-06-29 | 2023-03-07 | 电子科技大学 | 一种多通道同步高速数据采集装置 |
| US11899609B2 (en) * | 2021-12-20 | 2024-02-13 | Nvidia Corporation | Frame alignment recovery for a high-speed signaling interconnect |
| CN116049061B (zh) * | 2022-03-11 | 2024-01-19 | 成都海光微电子技术有限公司 | 一种跨时钟域的数据传输方法、系统、芯片及电子设备 |
| CN115361064B (zh) * | 2022-07-27 | 2023-09-01 | 中国船舶集团有限公司第七二四研究所 | 一种多路光纤数据传输的同步信号自动对准方法 |
| CN116192355B (zh) * | 2022-09-06 | 2024-02-06 | 联芸科技(杭州)股份有限公司 | Mipi发送器及其时钟校准方法 |
| CN115987453B (zh) * | 2022-12-20 | 2025-08-19 | 中国科学院长春光学精密机械与物理研究所 | 基于联合相位调整的多通道数据训练方法 |
-
2023
- 2023-06-30 CN CN202310802966.6A patent/CN116775546B/zh active Active
-
2024
- 2024-06-04 EP EP24830418.0A patent/EP4567617A4/en active Pending
- 2024-06-04 WO PCT/CN2024/097274 patent/WO2025001771A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1842057A (zh) * | 2005-04-01 | 2006-10-04 | 华为技术有限公司 | 信号拆分合并的方法及装置 |
| CN103684698A (zh) * | 2013-12-30 | 2014-03-26 | 龙芯中科技术有限公司 | 数据信号的处理方法和装置 |
| US20230011674A1 (en) * | 2021-07-07 | 2023-01-12 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
| CN116775546A (zh) * | 2023-06-30 | 2023-09-19 | 海光信息技术股份有限公司 | 用于芯粒互联接口的数据传输方法及芯粒互联接口 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4567617A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116775546B (zh) | 2024-08-30 |
| EP4567617A4 (en) | 2025-12-10 |
| CN116775546A (zh) | 2023-09-19 |
| EP4567617A1 (en) | 2025-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2025001771A1 (zh) | 用于芯粒互联接口的数据传输方法及芯粒互联接口 | |
| US8352774B2 (en) | Inter-clock domain data transfer FIFO circuit | |
| CN1570907B (zh) | 多处理器系统 | |
| CN111832240B (zh) | Fifo数据传输方法及fifo存储装置 | |
| US7725625B2 (en) | Latency insensitive FIFO signaling protocol | |
| CN111736115B (zh) | 基于改进型sgdma+pcie的mimo毫米波雷达高速传输方法 | |
| CN101834715B (zh) | 一种数据处理方法及数据处理系统以及数据处理装置 | |
| CN106933772A (zh) | 基于uart ip核的sci通讯方法 | |
| WO2020134531A1 (zh) | 一种时钟控制电路及控制方法 | |
| CN114443170A (zh) | Fpga动态并行加卸载系统 | |
| CN110008162A (zh) | 一种缓冲接口电路及基于该电路传输数据的方法和应用 | |
| CN117723826A (zh) | 一种谐波标准表的同步采样方法及系统 | |
| US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
| CN113491082A (zh) | 一种数据处理装置 | |
| US20080247496A1 (en) | Early HSS Rx Data Sampling | |
| CN117908790A (zh) | 一种基于单Channel多Die的ONFI PHY快速切换训练装置 | |
| CN104063351B (zh) | 一种用于乒乓防冲突的高速复接器同步串行接口设计方法 | |
| Salman et al. | High Performance and Low Power Axi-Lite 4 Master Controller Using System Verilog | |
| CN118197385B (zh) | 一种快速切换频点和Die的ONFI PHY训练装置及方法 | |
| CN223193306U (zh) | 时钟域跨越同步电路和电子系统 | |
| CN219179825U (zh) | 时间去偏差电路、系统及电子设备 | |
| Wang | Research Progress of Asynchronous FIFO Design. | |
| Jingyi | Research and Design of a Universal Memory Controller Based on the AMBA | |
| CN121168394B (zh) | 一种基于自定义握手协议的ahb总线跨时钟域数据同步方法 | |
| Ning et al. | Design of a GALS Wrapper for Network on Chip |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24830418 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024830418 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2024830418 Country of ref document: EP Effective date: 20250304 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2024830418 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |