WO2024098600A1 - Encoding method and system, device, and storage medium - Google Patents

Encoding method and system, device, and storage medium Download PDF

Info

Publication number
WO2024098600A1
WO2024098600A1 PCT/CN2023/080604 CN2023080604W WO2024098600A1 WO 2024098600 A1 WO2024098600 A1 WO 2024098600A1 CN 2023080604 W CN2023080604 W CN 2023080604W WO 2024098600 A1 WO2024098600 A1 WO 2024098600A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
enable
data
grouping
value
Prior art date
Application number
PCT/CN2023/080604
Other languages
French (fr)
Chinese (zh)
Inventor
孙旭
杨琳琳
Original Assignee
山东云海国创云计算装备产业创新中心有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 山东云海国创云计算装备产业创新中心有限公司 filed Critical 山东云海国创云计算装备产业创新中心有限公司
Publication of WO2024098600A1 publication Critical patent/WO2024098600A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation

Definitions

  • the present application relates to the field of chip design, and more specifically, to a coding method, system, device and storage medium.
  • the dynamic power consumption of integrated circuit power consumption is the power consumption generated when the signal is flipped.
  • the power consumption calculation model in the prior art of encoding can calculate the power consumption data of 2-bit lines, as shown in Figure 1.
  • the items containing ⁇ in the table are the power consumption caused by coupling flipping (energy loss caused by charging and discharging the coupling capacitor), and the constant item is the power consumption caused by self-flipping (energy loss caused by charging and discharging the substrate capacitor).
  • the coupling flips of all parallel signal lines must be calculated in real time, which will consume additional hardware resources and generate additional power consumption. In many cases, the total power consumption will exceed the power consumption when not encoded.
  • this application is to propose a coding method, system, computer device and non-volatile readable storage medium.
  • This application reduces dynamic power consumption to the greatest extent by detecting data change characteristics, byte-by-byte segmentation control, improving the dynamic power consumption calculation method and optimizing its hardware implementation process, and ultimately realizes the low-power design of the entire SOC.
  • one aspect of the present application provides a coding method, comprising the following steps: dividing parallel data lines into multiple groups according to the length of the bit, and performing data flow detection and feature extraction on each group; calculating the group enable of each group according to the extracted features, and judging whether the group enable is greater than or equal to a threshold; calculating the coupling times of the groups whose group enable is greater than or equal to the threshold, and performing flip calculation according to the coupling times and the value of the group enable; The first data and the grouping enable the second data of the group smaller than the threshold to be transmitted to the next stage.
  • dividing the parallel data lines into a plurality of groups according to the length of the bit includes: setting the minimum group length to one bit and the maximum group length to half of the data bit.
  • calculating the grouping enable of each group according to the extracted features includes: generating the grouping enable according to the data change rate of the previous detection cycle.
  • generating a group enable according to a data change rate of a previous detection cycle includes: generating a detection cycle according to a preset condition.
  • generating group enable according to the data change rate of the previous detection cycle includes: calculating the first number of data changes in the current detection cycle; calculating the second number of data changes in each group in the current detection cycle; calculating the data change rate of each group according to the first number and the second number; and determining the group enable of each group according to the data change rate.
  • calculating the first number of data changes in the current detection cycle includes: setting a first counter, and in response to a data bit having data changes among all data bits, adding one to the first counter.
  • calculating the second number of data changes in each group in the current detection cycle includes: setting a second counter in each group, and in response to a data bit in the group where data has changed, adding one to the second counter of the corresponding group.
  • calculating the data change rate of each group based on the first number and the second number includes: using the ratio of the second number to the first number as the data change rate of each group.
  • determining the grouping enable of each small group according to the data change rate includes: in response to the data change rate being less than a first value, setting the grouping enable to a first enable value; in response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value; in response to the data change rate being greater than the second value, setting the grouping enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
  • calculating the coupling times of small groups whose grouping enable is greater than or equal to a threshold includes: determining whether the grouping enable of each small group is greater than or equal to the threshold; in response to the grouping enable of the small group being greater than or equal to the threshold, setting the coding enable of the small group to one, and calculating the coupling times of the small group.
  • calculating the coupling times of the small groups whose group enable is greater than or equal to the threshold includes: setting the threshold to be equal to the second enable value.
  • the method further includes: in response to the grouping enable of the group being less than a threshold, setting the coding enable of the group to zero.
  • calculating the coupling times of the small groups whose grouping enable is greater than or equal to the threshold includes: calculating the sub-coupling times between every two adjacent bits by an XOR operation, and adding all the sub-coupling times in the small group to obtain the coupling times.
  • calculating the number of sub-couplings between every two adjacent bits through an XOR operation includes: recording the two bits after the change as the new register, and recording the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the number of sub-couplings as 1; in other cases except the above two cases, the number of sub-couplings is recorded as 0.
  • performing flip calculation according to the coupling times and the grouping enable value includes: setting a flip flag according to the coupling times and the grouping enable value, and processing the parity lines in the group accordingly.
  • a flip flag is set according to the coupling number and the value of the group enable, and the parity lines in the group are processed accordingly, including: in response to the coupling number being less than or equal to a third value, the flip flag is set to zero and no flip processing is performed; in response to the coupling number being greater than the third value, the value of the flip flag and the object of the flip operation are determined according to the group enable.
  • the value of the flip flag bit and the object of the flip operation are determined according to the group enable, including: in response to the group enable being the third enable value, the flip flag bit is set to one, and the even lines in the group are flipped; in response to the group enable being the second enable value, the flip flag bit is set to two, and the odd lines in the group are flipped; in other cases except the above two cases, the flip flag bit is set to zero and no flipping is performed.
  • the present application provides a coding system, including: a grouping module, configured to divide parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group; a judgment module, configured to calculate the group enable of each group according to the extracted features, and judge whether the group enable is greater than or equal to a threshold; a calculation module, configured to calculate the coupling times of the groups whose group enable is greater than or equal to the threshold, and perform flip calculation according to the coupling times and the value of the group enable; a transmission module, configured to transmit the first data after the flip calculation and the second data of the group whose group enable is less than the threshold to the next level.
  • a grouping module configured to divide parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group
  • a judgment module configured to calculate the group enable of each group according to the extracted features, and judge whether the group enable is greater than or equal to a threshold
  • a calculation module configured to calculate the coupling times of the groups whose
  • a computer device comprising: at least one processor; a memory, wherein the memory stores computer instructions executable on the processor, and the instructions implement the steps of the above method when executed by the processor.
  • a non-volatile readable storage medium which stores a computer program that implements the above method steps when executed by a processor.
  • the present application has the following beneficial technical effects: by detecting data change characteristics, controlling byte-by-byte segmentation, improving the dynamic power consumption calculation method and optimizing its hardware implementation process, the dynamic power consumption is reduced to the greatest extent, and ultimately a low-power design of the entire SOC is achieved.
  • FIG1 is a DSM (Digital Spread Spectrum Modulation) bus power consumption calculation table in the prior art
  • FIG2 is a schematic diagram of an embodiment of an encoding method provided by some embodiments of the present application.
  • FIG3 is a schematic diagram of the coding architecture provided by some embodiments of the present application.
  • FIG4 is a lambda calculation table provided in some embodiments of the present application.
  • FIG5 is a schematic diagram of calculating coupling times provided in some embodiments of the present application.
  • FIG6 is a schematic diagram of an embodiment of a coding system provided by some embodiments of the present application.
  • FIG7 is a schematic diagram of the hardware structure of an embodiment of a computer device for encoding provided in some embodiments of the present application.
  • FIG8 is a schematic diagram of an embodiment of an encoded computer storage medium provided in some embodiments of the present application.
  • FIG2 shows a schematic diagram of an embodiment of the coding method provided by the present application. As shown in FIG2, the embodiment of the present application includes the following steps:
  • S1 divide the parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group;
  • FIG3 is a schematic diagram of the coding architecture provided by the present application, and the embodiment of the present application is described in conjunction with FIG3.
  • the architecture mainly includes the following three parts: a mark (Mark), which is used to detect changes in data streams and extract feature information; a coupler (Coupler), which is used to implement coupling calculations between valid bits; and a toggle (Toggle), which performs corresponding bit flipping.
  • Mark which is used to detect changes in data streams and extract feature information
  • Coupler which is used to implement coupling calculations between valid bits
  • Toggle toggle
  • Data line is another way of saying data signal.
  • Address line is another way of saying address signal.
  • Signal lines include address lines, data lines and possible other control signals. In digital circuits, internal signals are generally transmitted through wires, so signals are sometimes also called signal lines. In the process of data transmission, it is generally transmitted in the form of one address corresponding to a group of data, such as writing data 45 to address 12. Therefore, the signal representing the address is called the address line, and the corresponding data signal is called the data line.
  • Data flow detection refers to the detection of the data flow in the data line to determine whether the data flow has changed.
  • Feature extraction is not a special term for digital circuits. It is a broad sense to calculate some of the required features or characteristics. For example, in the embodiment of the present application, the number of data changes T_total_cnt and the data change rate T_rot are calculated and extracted.
  • dividing the parallel data lines into a plurality of groups according to the length of a bit includes: setting a minimum group length to one bit and a maximum group length to half of a data bit.
  • the embodiment of the present application can be configured in mode, that is, a group of parallel data lines are grouped according to the corresponding Byte (bit), the minimum group length is 1Byte, and the maximum group length is half of the data bit.
  • bit Byte
  • the group length can be set to 1Byte, with a total of 4 groups; it can also be configured to have a group length of 2bytes, with a total of 2 groups.
  • 32bit data the group length is set to 1Byte, and a total of 4 groups are introduced as an example, the first group: bit0-bit7; the second group: bit8-bit15; the third group: bit16-bit23; the fourth group: bit24-bit31.
  • the grouping enable of each group is calculated based on the extracted features, and it is determined whether the grouping enable is greater than or equal to a threshold.
  • calculating the grouping enable of each group based on the extracted features includes: generating the grouping enable based on the data change rate of the previous detection cycle.
  • each group is completely independent and parallel, so the embodiment of the present application only introduces the processing method of one group, and the other groups are processed in the same manner. It should be noted that the embodiment of the present application uses the data change rate in the previous detection cycle to generate the grouping enable as the basis for data processing in the next detection cycle.
  • generating a group enable according to a data change rate of a previous detection cycle includes: generating a detection cycle according to a preset condition.
  • the detection cycle is generated according to the operating frequency of the system, and other detection cycles may be set in other embodiments.
  • generating group enable based on the data change rate of the previous detection cycle includes: calculating the first number of data changes in the current detection cycle; calculating the second number of data changes in each group in the current detection cycle; calculating the data change rate of each group based on the first number and the second number; and determining the group enable of each group based on the data change rate.
  • calculating the first number of data changes in the current detection cycle includes: setting a first counter, and in response to a data bit having a data change among all the data bits, adding one to the first counter.
  • calculating the second number of changes in each group data within the current detection cycle includes: A second counter is set in the group, and in response to a data bit having data changes in the small group, the second counter of the corresponding small group is incremented by one.
  • calculating the data change rate of each group based on the first number and the second number includes: using the ratio of the second number to the first number as the data change rate of each group.
  • determining the grouping enable of each group according to the data change rate includes: in response to the data change rate being less than the first value, setting the grouping enable to a first enable value; in response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value; in response to the data change rate being greater than the second value, setting the grouping enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
  • the first enable value may be 0, the second enable value may be 1, and the third enable value may be 2.
  • A. Generate a detection cycle Generate a detection cycle according to the system's operating frequency. For example, use 10ms as a detection cycle.
  • T_total_cnt Calculate the number of data changes T_total_cnt in the current detection cycle. As long as one of the 32-bit data bits changes, the data is considered to have changed, and T_total_cnt is added by 1 for accumulation.
  • T_cnt Synchronously calculate the number of packet data changes T_cnt in the current detection cycle. As long as one of the corresponding 8-bit data bits changes, it is considered that the data has changed, and T_cnt is added by 1 for accumulation processing;
  • T_rot T_cnt/T_total_cnt
  • T_en 2.
  • calculating the coupling times of small groups whose grouping enable is greater than or equal to a threshold includes: determining whether the grouping enable of each small group is greater than or equal to the threshold; in response to the grouping enable of the small group being greater than or equal to the threshold, setting the coding enable of the small group to one, and calculating the coupling times of the small group.
  • calculating the coupling times of the subgroups whose group enable is greater than or equal to the threshold includes: setting the threshold to be equal to the second enable value.
  • the threshold may be 1.
  • the method further includes: in response to the grouping enable of the group being less than a threshold, setting the coding enable of the group to zero.
  • the obtained grouping enable of each group is recorded as T_en_1, T_en_2, T_en_3 and T_en_4.
  • the enable signals of each group are all 0, it is considered that the data change is very small, and the subsequent encoding calculation process is not started at this time.
  • the encoding enable code_en is 0, and the data flip signal of each group is also 0, that is, the data is directly passed to the next stage without processing, and the enable of the subsequent coupling calculation and signal flip module is also turned off to save power consumption to the greatest extent; otherwise, the subsequent encoding calculation process is started, code_en is 1, and the subsequent steps are entered.
  • calculating the coupling times of the subgroups whose grouping enable is greater than or equal to the threshold includes: calculating the sub-coupling times between every two adjacent bits by an XOR operation, and adding all the sub-coupling times in the subgroup to obtain the coupling times.
  • calculating the number of sub-couplings between every two adjacent bits through an XOR operation includes: recording the two bits after the change as the new register, and recording the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the number of sub-couplings as 1; in other cases except the above two cases, the number of sub-couplings is recorded as 0.
  • FIG1 shows the power consumption calculation process under the standard DSM model, which considers two situations, self-flip and coupled flip, and has high accuracy, but its calculation process is still too complicated, especially not conducive to chip implementation. Therefore, this model is improved.
  • the proportion of coupled power consumption is getting larger and larger, and ⁇ is much larger than 1, so the coupled power consumption can be approximated as dynamic power consumption, so the number of ⁇ in FIG1 is extracted
  • FIG4 is the ⁇ calculation table provided by the present application.
  • V1new represents the data after the first bit changes
  • V2new represents the data after the second bit changes
  • V1old represents the data before the first bit changes
  • V2old represents the data before the second bit changes.
  • [ V1new , V2new ] is recorded as a 2 - bit wide register reg_new
  • [ V1old , V2old ] is recorded as a 2-bit wide register reg_old.
  • the embodiment of the present application simplifies the complex 4*4 lookup table into 3 XOR gate operations, which can significantly reduce resource consumption and also reduce power consumption.
  • performing flip calculation according to the coupling times and the grouping enable value includes: setting a flip flag according to the coupling times and the grouping enable value, and processing the parity lines in the group accordingly.
  • a flip flag is set according to the coupling number and the value of the group enable, and the parity lines in the group are processed accordingly, including: in response to the coupling number being less than or equal to a third value, the flip flag is set to zero and no flip processing is performed; in response to the coupling number being greater than the third value, the value of the flip flag and the object of the flip operation are determined according to the group enable.
  • determining the value of the flip flag bit and the object of the flip operation based on the group enable includes: in response to the group enable being the third enable value, setting the flip flag bit to one and flipping the even lines within the group; in response to the group enable being the second enable value, setting the flip flag bit to two and flipping the odd lines within the group; in cases other than the above two cases, setting the flip flag bit to zero and not performing any flipping processing.
  • the toggle flag toggle_en is set to 1, and the even lines in the group are flipped, and the odd lines are not processed;
  • the first data after flip calculation and the second data of the group whose grouping is enabled to be less than the threshold are transmitted to the next stage.
  • the second aspect of the embodiment of the present application proposes a coding system.
  • the system 200 includes the following modules: a grouping module configured to divide the parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group; a judgment module configured to calculate each group according to the extracted features.
  • the module is configured to calculate the coupling times of the groups whose group enable is greater than or equal to the threshold, and perform flip calculation according to the coupling times and the value of the group enable;
  • the transmission module is configured to transmit the first data after the flip calculation and the second data of the groups whose group enable is less than the threshold to the next level.
  • the grouping module is configured to: set a minimum group length to one bit and a maximum group length to half of a data bit.
  • the determination module is configured to: generate a group enable according to a data change rate in a previous detection cycle.
  • the determination module is configured to generate a detection cycle according to preset conditions.
  • the judgment module is configured to: calculate the first number of data changes in the current detection cycle; calculate the second number of data changes in each group in the current detection cycle; calculate the data change rate of each group based on the first number and the second number; and determine the grouping enable of each group based on the data change rate.
  • the determination module is configured to: set a first counter, and in response to a data bit having data changes among all the data bits, add one to the first counter.
  • the determination module is configured to: set a second counter in each group, and in response to a data bit in the group having data changes, add one to the second counter of the corresponding group.
  • the determination module is configured to use a ratio of the second number to the first number as the data change rate of each group.
  • the judgment module is configured to: in response to the data change rate being less than the first value, set the group enable to a first enable value; in response to the data change rate being between the first value and the second value, set the group enable to a second enable value; in response to the data change rate being greater than the second value, set the group enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
  • the calculation module is configured to: determine whether the grouping enable of each group is greater than or equal to a threshold; in response to the grouping enable of the group being greater than or equal to the threshold, set the coding enable of the group to one, and calculate the coupling times of the group.
  • the calculation module is configured to: set the threshold value equal to the second enabling value.
  • system further comprises an encoding module configured to: in response to the grouping enable of the group being less than a threshold, set the encoding enable of the group to zero.
  • the calculation module is configured to: calculate the number of sub-couplings between every two adjacent bits through an XOR operation, and add up all the sub-coupling numbers in the group to obtain the coupling number.
  • the computing module is configured to: record the two bits after the change as the new register, and record the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, record the sub-coupling number as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, record the sub-coupling number as 1; in other cases except the above two cases, the sub-coupling number is recorded as 0.
  • the calculation module is configured to: set a flip flag according to the coupling times and the value of the group enable, and process the parity lines in the group accordingly.
  • the computing module is configured to: in response to the coupling number being less than or equal to a third value, set the flip flag to zero and perform no flipping; in response to the coupling number being greater than the third value, determine the value of the flip flag and the object of the flip operation according to grouping enable.
  • the computing module is configured to: in response to the grouping enable being a third enable value, set the flip flag position to one and flip the even lines within the group; in response to the grouping enable being a second enable value, set the flip flag position to two and flip the odd lines within the group; in cases other than the above two cases, set the flip flag position to zero and do not perform any flipping processing.
  • the third aspect of the embodiment of the present application proposes a computer device, including: at least one processor; a memory, the memory storing computer instructions that can be run on the processor, the instructions are executed by the processor to implement the following steps: S1, dividing the parallel data lines into multiple groups according to the length of the bit, and performing data flow detection and feature extraction on each group; S2, calculating the group enable of each group according to the extracted features, and judging whether the group enable is greater than or equal to a threshold; S3, calculating the coupling times of the groups whose group enable is greater than or equal to the threshold, and performing a flip calculation based on the coupling times and the value of the group enable; S4, transmitting the first data after the flip calculation and the second data of the group whose group enable is less than the threshold to the next level.
  • dividing the parallel data lines into a plurality of groups according to the length of a bit includes: setting a minimum group length to one bit and a maximum group length to half of a data bit.
  • calculating the grouping enable of each group according to the extracted features includes: generating the grouping enable according to a data change rate in a previous detection cycle.
  • generating a group enable according to a data change rate of a previous detection cycle includes: generating a detection cycle according to a preset condition.
  • generating group enable based on the data change rate of the previous detection cycle includes: calculating the first number of data changes in the current detection cycle; calculating the second number of data changes in each group in the current detection cycle; calculating the data change rate of each group based on the first number and the second number; and determining the group enable of each group based on the data change rate.
  • calculating the first number of data changes in the current detection cycle includes: setting a first counter, In response to a data bit having data changes among all the data bits, the first counter is incremented by one.
  • calculating the second number of data changes in each group in the current detection cycle includes: setting a second counter in each group, and in response to a data bit in the group where data has changed, adding one to the second counter of the corresponding group.
  • calculating the data change rate of each group based on the first number and the second number includes: using the ratio of the second number to the first number as the data change rate of each group.
  • determining the grouping enable of each small group based on the data change rate includes: in response to the data change rate being less than a first value, setting the grouping enable to a first enable value; in response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value; in response to the data change rate being greater than the second value, setting the grouping enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
  • calculating the coupling times of small groups whose grouping enable is greater than or equal to a threshold includes: determining whether the grouping enable of each small group is greater than or equal to the threshold; in response to the grouping enable of the small group being greater than or equal to the threshold, setting the coding enable of the small group to one, and calculating the coupling times of the small group.
  • calculating the number of couplings of the subgroups whose group enable is greater than or equal to a threshold includes: setting the threshold to be equal to a second enable value.
  • the steps further include: in response to the grouping enable of the group being less than a threshold, setting the coding enable of the group to zero.
  • calculating the coupling times of the subgroups whose grouping enable is greater than or equal to the threshold includes: calculating the sub-coupling times between every two adjacent bits by an XOR operation, and adding all the sub-coupling times in the subgroup to obtain the coupling times.
  • calculating the number of sub-couplings between every two adjacent bits through an XOR operation includes: recording the two bits after the change as the new register, and recording the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the number of sub-couplings as 1; in other cases except the above two cases, the number of sub-couplings is recorded as 0.
  • performing flip calculation according to the coupling times and the grouping enable value includes: setting a flip flag according to the coupling times and the grouping enable value, and processing the parity lines in the group accordingly.
  • a flip flag is set according to the coupling number and the value of the group enable, and the parity lines in the group are processed accordingly, including: in response to the coupling number being less than or equal to a third value, the flip flag is set to zero and no flip processing is performed; in response to the coupling number being greater than the third value, the value of the flip flag and the object of the flip operation are determined according to the group enable.
  • determining the value of the flip flag bit and the object of the flip operation based on the group enable includes: in response to the group enable being the third enable value, setting the flip flag bit to one and flipping the even lines within the group; in response to the group enable being the second enable value, setting the flip flag bit to two and flipping the odd lines within the group; in cases other than the above two cases, setting the flip flag bit to zero and not performing any flipping processing.
  • FIG. 7 it is a schematic diagram of the hardware structure of an embodiment of the above-mentioned coded computer device provided in the present application.
  • the device includes a processor 301 and a memory 302 .
  • the processor 301 and the memory 302 may be connected via a bus or other means, and FIG7 takes the connection via a bus as an example.
  • the memory 302 is a non-volatile, non-volatile readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions/modules corresponding to the encoding method in the embodiment of the present application.
  • the processor 301 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 302, that is, implementing the encoding method.
  • the memory 302 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the encoding method, etc.
  • the memory 302 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device.
  • the memory 302 may optionally include a memory remotely arranged relative to the processor 301, and these remote memories may be connected to the local module via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Computer instructions 303 corresponding to one or more encoding methods are stored in the memory 302, and when executed by the processor 301, the encoding method in any of the above method embodiments is executed.
  • Any embodiment of a computer device that executes the above encoding method can achieve the same or similar effect as any corresponding embodiment of the above method.
  • the present application also provides a non-volatile readable storage medium, which stores a computer program that performs the encoding method when executed by a processor.
  • the non-volatile readable storage medium 401 stores a computer program 402 that performs the above method when executed by a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The present application relates to the field of chip design. The present application provides an encoding method and system, a device, and a storage medium. The method comprises: according to the length of bits, dividing parallel data lines into a plurality of groups, and performing data flow detection and feature extraction on each group; according to extracted features, calculating grouping enable of each group, and determining whether the grouping enable is greater than or equal to a threshold value or not; calculating the number of coupling times of the group of which the grouping enable is greater than or equal to the threshold value, and according to the number of coupling times and the value of the grouping enable, performing flipping calculation; and transmitting first data after flipping calculation and the second data of the group of which the grouping enable is less than the threshold value to the next stage. According to the present application, by detecting data change characteristics, performing byte-by-byte segmentation control, improves a dynamic power consumption calculation method and optimizing a hardware implementation process thereof, the dynamic power consumption is reduced to the greatest extent, and the low-power-consumption design of the whole SOC is finally realized.

Description

一种编码的方法、系统、设备和存储介质A coding method, system, device and storage medium
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求于2022年11月10日提交中国专利局,申请号为202211407578.X,申请名称为“一种编码的方法、系统、设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed with the China Patent Office on November 10, 2022, with application number 202211407578.X, and application name “A method, system, device and storage medium for encoding”, the entire contents of which are incorporated by reference in this application.
技术领域Technical Field
本申请涉及芯片设计领域,更具体地,特别是指一种编码的方法、系统、设备和存储介质。The present application relates to the field of chip design, and more specifically, to a coding method, system, device and storage medium.
背景技术Background technique
集成电路功耗的动态功耗是由于信号翻转时产生的功耗。编码现有技术中的功耗计算模型可以计算出2位线的功耗数据,如图1所示。表格中包含λ的项即由耦合翻转造成的功耗(对耦合电容充放电造成的能量损失),常数项即为自翻转造成的功耗(对基底电容充放电造成的能量损失)。The dynamic power consumption of integrated circuit power consumption is the power consumption generated when the signal is flipped. The power consumption calculation model in the prior art of encoding can calculate the power consumption data of 2-bit lines, as shown in Figure 1. The items containing λ in the table are the power consumption caused by coupling flipping (energy loss caused by charging and discharging the coupling capacitor), and the constant item is the power consumption caused by self-flipping (energy loss caused by charging and discharging the substrate capacitor).
现有技术的缺点:Disadvantages of existing technology:
1、计算耦合翻转数目时必须实时的计算所有并行信号线(例如多位宽的地址线、数据线)的耦合翻转,导致会消耗额外的硬件资源,也会额外产生功耗,在很多情况下会导致总功耗超过未编码时本身功耗。1. When calculating the number of coupling flips, the coupling flips of all parallel signal lines (such as multi-bit wide address lines and data lines) must be calculated in real time, which will consume additional hardware resources and generate additional power consumption. In many cases, the total power consumption will exceed the power consumption when not encoded.
2、现有技术中只考虑了耦合翻转带来的功耗,并未考虑自身翻转的功耗,这会导致在某些工艺制程条件下计算不准确;2. The prior art only considers the power consumption caused by coupling flipping, but does not consider the power consumption of self-flipping, which will lead to inaccurate calculation under certain process conditions;
3、在奇线和偶线翻转时,只能全部翻转信号线,这有可能导致原本长时间未发生变化的信号线产生额外的翻转,进而增加功耗。3. When the odd and even lines are flipped, all signal lines can be flipped, which may cause additional flipping of signal lines that have not changed for a long time, thereby increasing power consumption.
发明内容Summary of the invention
有鉴于此,本申请的目的在于提出一种编码的方法、系统、计算机设备及非易失性可读存储介质,本申请通过对数据变化特性检测、逐字节分段控制、改进动态功耗计算方法并优化其硬件实现过程,最大程度的降低了动态功耗,最终实现整个SOC的低功耗设计。In view of this, the purpose of this application is to propose a coding method, system, computer device and non-volatile readable storage medium. This application reduces dynamic power consumption to the greatest extent by detecting data change characteristics, byte-by-byte segmentation control, improving the dynamic power consumption calculation method and optimizing its hardware implementation process, and ultimately realizes the low-power design of the entire SOC.
基于上述目的,本申请的一方面提供了一种编码的方法,包括如下步骤:根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值;计算分组使能大于或等于阈值的小组的耦合次数,并根据耦合次数和分组使能的值进行翻转计算;将翻转计算后 的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。Based on the above purpose, one aspect of the present application provides a coding method, comprising the following steps: dividing parallel data lines into multiple groups according to the length of the bit, and performing data flow detection and feature extraction on each group; calculating the group enable of each group according to the extracted features, and judging whether the group enable is greater than or equal to a threshold; calculating the coupling times of the groups whose group enable is greater than or equal to the threshold, and performing flip calculation according to the coupling times and the value of the group enable; The first data and the grouping enable the second data of the group smaller than the threshold to be transmitted to the next stage.
在本申请中,根据比特位的长度将并行的数据线分成多个小组包括:设置最小的分组长度为一比特,最大的分组长度为数据比特位的一半。In the present application, dividing the parallel data lines into a plurality of groups according to the length of the bit includes: setting the minimum group length to one bit and the maximum group length to half of the data bit.
在本申请中,根据提取的特征计算每个小组的分组使能包括:根据前一个检测周期的数据变化率生成分组使能。In the present application, calculating the grouping enable of each group according to the extracted features includes: generating the grouping enable according to the data change rate of the previous detection cycle.
在本申请中,根据前一个检测周期的数据变化率生成分组使能包括:根据预设条件生成检测周期。In the present application, generating a group enable according to a data change rate of a previous detection cycle includes: generating a detection cycle according to a preset condition.
在本申请中,根据前一个检测周期的数据变化率生成分组使能包括:计算当前检测周期内数据变化的第一次数;计算当前检测周期内每个小组数据变化的第二次数;根据第一次数和第二次数计算每个小组的数据变化率;根据数据变化率确定每个小组的分组使能。In the present application, generating group enable according to the data change rate of the previous detection cycle includes: calculating the first number of data changes in the current detection cycle; calculating the second number of data changes in each group in the current detection cycle; calculating the data change rate of each group according to the first number and the second number; and determining the group enable of each group according to the data change rate.
在本申请中,计算当前检测周期内数据变化的第一次数包括:设置第一计数器,并响应于所有数据位中存在数据发生变化的数据位,对第一计数器加一。In the present application, calculating the first number of data changes in the current detection cycle includes: setting a first counter, and in response to a data bit having data changes among all data bits, adding one to the first counter.
在本申请中,计算当前检测周期内每个小组数据变化的第二次数包括:在每个小组内设置第二计数器,并响应于小组内存在数据发生变化的数据位,对对应小组的第二计数器加一。In the present application, calculating the second number of data changes in each group in the current detection cycle includes: setting a second counter in each group, and in response to a data bit in the group where data has changed, adding one to the second counter of the corresponding group.
在本申请中,根据第一次数和第二次数计算每个小组的数据变化率包括:使用第二次数与第一次数的比值作为每个小组的数据变化率。In the present application, calculating the data change rate of each group based on the first number and the second number includes: using the ratio of the second number to the first number as the data change rate of each group.
在本申请中,根据数据变化率确定每个小组的分组使能包括:响应于数据变化率小于第一值,设置分组使能为第一使能值;响应于数据变化率在第一值和第二值之间,设置分组使能为第二使能值;响应于数据变化率大于第二值,设置分组使能为第三使能值,其中,第一使能值小于第二使能值,第二使能值小于第三使能值。In the present application, determining the grouping enable of each small group according to the data change rate includes: in response to the data change rate being less than a first value, setting the grouping enable to a first enable value; in response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value; in response to the data change rate being greater than the second value, setting the grouping enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
在本申请中,计算分组使能大于或等于阈值的小组的耦合次数包括:判断每个小组的分组使能是否大于或等于阈值;响应于小组的分组使能大于或等于阈值,将小组的编码使能设置为一,并计算小组的耦合次数。In the present application, calculating the coupling times of small groups whose grouping enable is greater than or equal to a threshold includes: determining whether the grouping enable of each small group is greater than or equal to the threshold; in response to the grouping enable of the small group being greater than or equal to the threshold, setting the coding enable of the small group to one, and calculating the coupling times of the small group.
在本申请中,计算分组使能大于或等于阈值的小组的耦合次数包括:设置阈值等于第二使能值。In the present application, calculating the coupling times of the small groups whose group enable is greater than or equal to the threshold includes: setting the threshold to be equal to the second enable value.
在本申请中,方法还包括:响应于小组的分组使能小于阈值,将小组的编码使能设置为零。In the present application, the method further includes: in response to the grouping enable of the group being less than a threshold, setting the coding enable of the group to zero.
在本申请中,计算分组使能大于或等于阈值的小组的耦合次数包括:通过异或操作计算每两个相邻比特位之间的子耦合次数,并将小组内所有的子耦合次数相加得到耦合次数。 In the present application, calculating the coupling times of the small groups whose grouping enable is greater than or equal to the threshold includes: calculating the sub-coupling times between every two adjacent bits by an XOR operation, and adding all the sub-coupling times in the small group to obtain the coupling times.
在本申请中,通过异或操作计算每两个相邻比特位之间的子耦合次数包括:将变化后的两个比特位记为新寄存器,将变化前的两个比特位记为老寄存器;响应于新寄存器和老寄存器异或的结果为11,记录子耦合次数为2;响应于新寄存器的第一比特位和第二比特位的数据异或的结果为一且老寄存器的第一比特位和第二比特位的数据异或的结果为零,记录子耦合次数为1;除了以上两种情况之外的其他情况记录子耦合次数为0。In the present application, calculating the number of sub-couplings between every two adjacent bits through an XOR operation includes: recording the two bits after the change as the new register, and recording the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the number of sub-couplings as 1; in other cases except the above two cases, the number of sub-couplings is recorded as 0.
在本申请中,根据耦合次数和分组使能的值进行翻转计算包括:根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线。In the present application, performing flip calculation according to the coupling times and the grouping enable value includes: setting a flip flag according to the coupling times and the grouping enable value, and processing the parity lines in the group accordingly.
在本申请中,根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线包括:响应于耦合次数小于或等于第三值,将翻转标志位置零并不做翻转处理;响应于耦合次数大于第三值,根据分组使能确定翻转标志位的值和翻转操作的对象。In the present application, a flip flag is set according to the coupling number and the value of the group enable, and the parity lines in the group are processed accordingly, including: in response to the coupling number being less than or equal to a third value, the flip flag is set to zero and no flip processing is performed; in response to the coupling number being greater than the third value, the value of the flip flag and the object of the flip operation are determined according to the group enable.
在本申请中,根据分组使能确定翻转标志位的值和翻转操作的对象包括:响应于分组使能为第三使能值,将翻转标志位置为一,并将组内偶线翻转;响应于分组使能为第二使能值,将翻转标志位置为二,并将组内奇线翻转;除以上两种情况之外的其他情况将翻转标志位置为零并不做翻转处理。In the present application, the value of the flip flag bit and the object of the flip operation are determined according to the group enable, including: in response to the group enable being the third enable value, the flip flag bit is set to one, and the even lines in the group are flipped; in response to the group enable being the second enable value, the flip flag bit is set to two, and the odd lines in the group are flipped; in other cases except the above two cases, the flip flag bit is set to zero and no flipping is performed.
本申请的另一方面,提供了一种编码的系统,包括:分组模块,配置用于根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;判断模块,配置用于根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值;计算模块,配置用于计算分组使能大于或等于阈值的小组的耦合次数,并根据耦合次数和分组使能的值进行翻转计算;传输模块,配置用于将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。On the other hand, the present application provides a coding system, including: a grouping module, configured to divide parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group; a judgment module, configured to calculate the group enable of each group according to the extracted features, and judge whether the group enable is greater than or equal to a threshold; a calculation module, configured to calculate the coupling times of the groups whose group enable is greater than or equal to the threshold, and perform flip calculation according to the coupling times and the value of the group enable; a transmission module, configured to transmit the first data after the flip calculation and the second data of the group whose group enable is less than the threshold to the next level.
本申请的又一方面,还提供了一种计算机设备,包括:至少一个处理器;存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现如上方法的步骤。In another aspect of the present application, a computer device is provided, comprising: at least one processor; a memory, wherein the memory stores computer instructions executable on the processor, and the instructions implement the steps of the above method when executed by the processor.
本申请的再一方面,还提供了一种非易失性可读存储介质,非易失性可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。In another aspect of the present application, a non-volatile readable storage medium is provided, which stores a computer program that implements the above method steps when executed by a processor.
本申请具有以下有益技术效果:通过对数据变化特性检测、逐字节分段控制、改进动态功耗计算方法并优化其硬件实现过程,最大程度的降低了动态功耗,最终实现整个SOC的低功耗设计。The present application has the following beneficial technical effects: by detecting data change characteristics, controlling byte-by-byte segmentation, improving the dynamic power consumption calculation method and optimizing its hardware implementation process, the dynamic power consumption is reduced to the greatest extent, and ultimately a low-power design of the entire SOC is achieved.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings described below are only a part of the present application. For those skilled in the art, other embodiments can be obtained according to these drawings without creative work.
图1为现有技术中DSM(Digital Spread Spectrum Modulation,数字扩展频谱调制)总线功耗计算表;FIG1 is a DSM (Digital Spread Spectrum Modulation) bus power consumption calculation table in the prior art;
图2为本申请一些实施例提供的编码的方法的实施例的示意图;FIG2 is a schematic diagram of an embodiment of an encoding method provided by some embodiments of the present application;
图3为本申请一些实施例提供的编码的架构示意图;FIG3 is a schematic diagram of the coding architecture provided by some embodiments of the present application;
图4为本申请一些实施例提供的λ计算表;FIG4 is a lambda calculation table provided in some embodiments of the present application;
图5为本申请一些实施例提供的计算耦合次数的示意图;FIG5 is a schematic diagram of calculating coupling times provided in some embodiments of the present application;
图6为本申请一些实施例提供的编码的系统的实施例的示意图;FIG6 is a schematic diagram of an embodiment of a coding system provided by some embodiments of the present application;
图7为本申请一些实施例提供的编码的计算机设备的实施例的硬件结构示意图;FIG7 is a schematic diagram of the hardware structure of an embodiment of a computer device for encoding provided in some embodiments of the present application;
图8为本申请一些实施例提供的编码的计算机存储介质的实施例的示意图。FIG8 is a schematic diagram of an embodiment of an encoded computer storage medium provided in some embodiments of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the embodiments of the present application are further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.
需要说明的是,本申请实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本申请实施例的限定,后续实施例对此不再一一说明。It should be noted that all expressions using "first" and "second" in the embodiments of the present application are for distinguishing two non-identical entities with the same name or non-identical parameters. It can be seen that "first" and "second" are only for the convenience of expression and should not be understood as limitations on the embodiments of the present application. The subsequent embodiments will not explain this one by one.
本申请实施例的第一个方面,提出了一种编码的方法的实施例。图2示出的是本申请提供的编码的方法的实施例的示意图。如图2所示,本申请实施例包括如下步骤:The first aspect of the embodiment of the present application provides an embodiment of a coding method. FIG2 shows a schematic diagram of an embodiment of the coding method provided by the present application. As shown in FIG2, the embodiment of the present application includes the following steps:
S1、根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;S1, divide the parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group;
S2、根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值;S2. Calculate the grouping enable of each group based on the extracted features, and determine whether the grouping enable is greater than or equal to a threshold;
S3、计算分组使能大于或等于阈值的小组的耦合次数,并根据耦合次数和分组使能的值进行翻转计算;S3, calculating the coupling times of the groups whose group enable is greater than or equal to the threshold, and performing a flip calculation according to the coupling times and the value of the group enable;
S4、将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。S4. Transmit the first data after the flip calculation and the second data of the group whose grouping enable is less than the threshold to the next level.
图3为本申请提供的编码的架构示意图,结合图3对本申请实施例进行说明。如图3所示,架构主要包括以下的3个部分:标示(Mark),用于检测数据流变化,并提取特征信息;耦合器(Coupler),用于实现有效bit位间的耦合计算;切换(Toggle),进行对应bit翻转。FIG3 is a schematic diagram of the coding architecture provided by the present application, and the embodiment of the present application is described in conjunction with FIG3. As shown in FIG3, the architecture mainly includes the following three parts: a mark (Mark), which is used to detect changes in data streams and extract feature information; a coupler (Coupler), which is used to implement coupling calculations between valid bits; and a toggle (Toggle), which performs corresponding bit flipping.
根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取 特征。数据线是数据信号的另一种说法。地址线是地址信号的另一种说法。信号线包括地址线、数据线以及可能的其他控制信号。在数字电路中,内部的信号一般是通过连线进行传递的,因此信号有时也称为信号线。在数据传递过程中,一般是通过一个地址对应一组数据的方式进行传递,比如向地址12写数据45。因此表示地址的信号就称为地址线,其对应的数据信号就称为数据线。数据流检测是指对数据线中的数据流进行检测以确定数据流是否产生变化。提取特征并不是数字电路的专有名词,其就是广泛意义上的将需要的部分特征或者特性计算出来,比如本申请实施例中计算提取了数据变化次数T_total_cnt以及数据变化率T_rot等。Divide the parallel data lines into multiple groups according to the bit length, and perform data flow detection and extraction on each group Features. Data line is another way of saying data signal. Address line is another way of saying address signal. Signal lines include address lines, data lines and possible other control signals. In digital circuits, internal signals are generally transmitted through wires, so signals are sometimes also called signal lines. In the process of data transmission, it is generally transmitted in the form of one address corresponding to a group of data, such as writing data 45 to address 12. Therefore, the signal representing the address is called the address line, and the corresponding data signal is called the data line. Data flow detection refers to the detection of the data flow in the data line to determine whether the data flow has changed. Feature extraction is not a special term for digital circuits. It is a broad sense to calculate some of the required features or characteristics. For example, in the embodiment of the present application, the number of data changes T_total_cnt and the data change rate T_rot are calculated and extracted.
在一些实施方式中,根据比特位的长度将并行的数据线分成多个小组包括:设置最小的分组长度为一比特,最大的分组长度为数据比特位的一半。In some implementations, dividing the parallel data lines into a plurality of groups according to the length of a bit includes: setting a minimum group length to one bit and a maximum group length to half of a data bit.
本申请实施例可以进行模式配置,即将一组并行的数据线按照对应的Byte(比特位)进行分组,最小的分组长度是1Byte,最大的分组长度即数据bit位的一半。例如,数据是32bit的,分组长度可以设置为1Byte,共4个分组;也可以配置为分组长度为2byte,共2个分组。在本申请实施例中以32bit的数据,分组长度设置为1Byte,共4个分组为例进行介绍,第一组:bit0-bit7;第2组:bit8-bit15;第3组:bit16-bit23;第4组:bit24-bit31。The embodiment of the present application can be configured in mode, that is, a group of parallel data lines are grouped according to the corresponding Byte (bit), the minimum group length is 1Byte, and the maximum group length is half of the data bit. For example, if the data is 32bit, the group length can be set to 1Byte, with a total of 4 groups; it can also be configured to have a group length of 2bytes, with a total of 2 groups. In the embodiment of the present application, 32bit data, the group length is set to 1Byte, and a total of 4 groups are introduced as an example, the first group: bit0-bit7; the second group: bit8-bit15; the third group: bit16-bit23; the fourth group: bit24-bit31.
根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值。The grouping enable of each group is calculated based on the extracted features, and it is determined whether the grouping enable is greater than or equal to a threshold.
在一些实施方式中,根据提取的特征计算每个小组的分组使能包括:根据前一个检测周期的数据变化率生成分组使能。在数据流检测和提取特征时,每个组是完全独立和并行的,因此本申请实施例只介绍其中一组的处理方法,其他组处理方式相同。需要注意的是,本申请实施例使用前一个检测周期内的数据变化率生成分组使能,作为下一个检测周期内数据处理的依据。In some embodiments, calculating the grouping enable of each group based on the extracted features includes: generating the grouping enable based on the data change rate of the previous detection cycle. When detecting and extracting features in the data stream, each group is completely independent and parallel, so the embodiment of the present application only introduces the processing method of one group, and the other groups are processed in the same manner. It should be noted that the embodiment of the present application uses the data change rate in the previous detection cycle to generate the grouping enable as the basis for data processing in the next detection cycle.
在一些实施方式中,根据前一个检测周期的数据变化率生成分组使能包括:根据预设条件生成检测周期。本申请实施例中根据系统的工作频率生成检测周期,在其他实施例中可以设置其他检测周期。In some implementations, generating a group enable according to a data change rate of a previous detection cycle includes: generating a detection cycle according to a preset condition. In the embodiment of the present application, the detection cycle is generated according to the operating frequency of the system, and other detection cycles may be set in other embodiments.
在一些实施方式中,根据前一个检测周期的数据变化率生成分组使能包括:计算当前检测周期内数据变化的第一次数;计算当前检测周期内每个小组数据变化的第二次数;根据第一次数和第二次数计算每个小组的数据变化率;根据数据变化率确定每个小组的分组使能。In some embodiments, generating group enable based on the data change rate of the previous detection cycle includes: calculating the first number of data changes in the current detection cycle; calculating the second number of data changes in each group in the current detection cycle; calculating the data change rate of each group based on the first number and the second number; and determining the group enable of each group based on the data change rate.
在一些实施方式中,计算当前检测周期内数据变化的第一次数包括:设置第一计数器,并响应于所有数据位中存在数据发生变化的数据位,对第一计数器加一。In some embodiments, calculating the first number of data changes in the current detection cycle includes: setting a first counter, and in response to a data bit having a data change among all the data bits, adding one to the first counter.
在一些实施方式中,计算当前检测周期内每个小组数据变化的第二次数包括:在每个小 组内设置第二计数器,并响应于小组内存在数据发生变化的数据位,对对应小组的第二计数器加一。In some embodiments, calculating the second number of changes in each group data within the current detection cycle includes: A second counter is set in the group, and in response to a data bit having data changes in the small group, the second counter of the corresponding small group is incremented by one.
在一些实施方式中,根据第一次数和第二次数计算每个小组的数据变化率包括:使用第二次数与第一次数的比值作为每个小组的数据变化率。In some embodiments, calculating the data change rate of each group based on the first number and the second number includes: using the ratio of the second number to the first number as the data change rate of each group.
在一些实施方式中,根据数据变化率确定每个小组的分组使能包括:响应于数据变化率小于第一值,设置分组使能为第一使能值;响应于数据变化率在第一值和第二值之间,设置分组使能为第二使能值;响应于数据变化率大于第二值,设置分组使能为第三使能值,其中,第一使能值小于第二使能值,第二使能值小于第三使能值。例如,第一使能值可以是0,第二使能值可以是1,第三使能值可以是2。In some embodiments, determining the grouping enable of each group according to the data change rate includes: in response to the data change rate being less than the first value, setting the grouping enable to a first enable value; in response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value; in response to the data change rate being greater than the second value, setting the grouping enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value. For example, the first enable value may be 0, the second enable value may be 1, and the third enable value may be 2.
具体过程可以如下:The specific process can be as follows:
A、生成检测周期。根据系统的工作频率生成检测周期,例如,使用10ms作为一个检测周期;A. Generate a detection cycle. Generate a detection cycle according to the system's operating frequency. For example, use 10ms as a detection cycle.
B、计算当前检测周期内数据变化的次数T_total_cnt,只要32bit数据位中有一位发生变化,即认为数据发生了变化,T_total_cnt即进行加1累加处理;B. Calculate the number of data changes T_total_cnt in the current detection cycle. As long as one of the 32-bit data bits changes, the data is considered to have changed, and T_total_cnt is added by 1 for accumulation.
C、同步计算当前检测周期内分组数据变化的次数T_cnt,只要对应的8bit数据位中有一位发生变化,即认为数据发生了变化,T_cnt即进行加1累加处理;C. Synchronously calculate the number of packet data changes T_cnt in the current detection cycle. As long as one of the corresponding 8-bit data bits changes, it is considered that the data has changed, and T_cnt is added by 1 for accumulation processing;
D、计算每组的数据变化率在每个检测周期结束时计算,T_rot=T_cnt/T_total_cnt;D. Calculate the data change rate of each group at the end of each detection cycle, T_rot = T_cnt/T_total_cnt;
E、计算每组的分组使能T_en,并将其作为下一个检测周期内每个组进行耦合计算的条件。E. Calculate the grouping enable T_en of each group and use it as a condition for coupling calculation of each group in the next detection cycle.
当T_rot<0.2时,T_en=0;When T_rot<0.2, T_en=0;
当0.2<T_rot<0.5时,T_en=1;When 0.2<T_rot<0.5, T_en=1;
当0.5<T_rot时,T_en=2。When 0.5<T_rot, T_en=2.
计算分组使能大于或等于阈值的小组的耦合次数,并根据耦合次数和分组使能的值进行翻转计算。翻转计算是指确定组内奇线和偶线是否需要翻转的运算。数字电路内部信号状态一般就是1和0两种状态,将其翻转就是对其取反,即1变成0,0变成1。Calculate the coupling times of the groups whose group enable is greater than or equal to the threshold, and perform flip calculation based on the coupling times and the group enable value. Flip calculation refers to the operation to determine whether the odd and even lines in the group need to be flipped. The internal signal state of a digital circuit is generally 1 and 0. Flipping it is to invert it, that is, 1 becomes 0, and 0 becomes 1.
在一些实施方式中,计算分组使能大于或等于阈值的小组的耦合次数包括:判断每个小组的分组使能是否大于或等于阈值;响应于小组的分组使能大于或等于阈值,将小组的编码使能设置为一,并计算小组的耦合次数。In some embodiments, calculating the coupling times of small groups whose grouping enable is greater than or equal to a threshold includes: determining whether the grouping enable of each small group is greater than or equal to the threshold; in response to the grouping enable of the small group being greater than or equal to the threshold, setting the coding enable of the small group to one, and calculating the coupling times of the small group.
在一些实施方式中,计算分组使能大于或等于阈值的小组的耦合次数包括:设置阈值等于第二使能值。例如,阈值可以是1。 In some implementations, calculating the coupling times of the subgroups whose group enable is greater than or equal to the threshold includes: setting the threshold to be equal to the second enable value. For example, the threshold may be 1.
在一些实施方式中,方法还包括:响应于小组的分组使能小于阈值,将小组的编码使能设置为零。In some implementations, the method further includes: in response to the grouping enable of the group being less than a threshold, setting the coding enable of the group to zero.
将获得的各个组的分组使能分别记为T_en_1、T_en_2、T_en_3和T_en_4。当各个分组的使能信号均为0时,即认为数据变化很小,此时不启动后续的编码计算过程,编码使能code_en为0,每个组的数据翻转信号也均为0,即数据不进行处理直接传递给后级,后续的耦合计算及信号翻转模块的使能也关闭,以最大程度节省功耗;否则则启动后续的编码计算过程,code_en为1,并进入后续步骤。The obtained grouping enable of each group is recorded as T_en_1, T_en_2, T_en_3 and T_en_4. When the enable signals of each group are all 0, it is considered that the data change is very small, and the subsequent encoding calculation process is not started at this time. The encoding enable code_en is 0, and the data flip signal of each group is also 0, that is, the data is directly passed to the next stage without processing, and the enable of the subsequent coupling calculation and signal flip module is also turned off to save power consumption to the greatest extent; otherwise, the subsequent encoding calculation process is started, code_en is 1, and the subsequent steps are entered.
在一些实施方式中,计算分组使能大于或等于阈值的小组的耦合次数包括:通过异或操作计算每两个相邻比特位之间的子耦合次数,并将小组内所有的子耦合次数相加得到耦合次数。In some embodiments, calculating the coupling times of the subgroups whose grouping enable is greater than or equal to the threshold includes: calculating the sub-coupling times between every two adjacent bits by an XOR operation, and adding all the sub-coupling times in the subgroup to obtain the coupling times.
在一些实施方式中,通过异或操作计算每两个相邻比特位之间的子耦合次数包括:将变化后的两个比特位记为新寄存器,将变化前的两个比特位记为老寄存器;响应于新寄存器和老寄存器异或的结果为11,记录子耦合次数为2;响应于新寄存器的第一比特位和第二比特位的数据异或的结果为一且老寄存器的第一比特位和第二比特位的数据异或的结果为零,记录子耦合次数为1;除了以上两种情况之外的其他情况记录子耦合次数为0。In some embodiments, calculating the number of sub-couplings between every two adjacent bits through an XOR operation includes: recording the two bits after the change as the new register, and recording the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the number of sub-couplings as 1; in other cases except the above two cases, the number of sub-couplings is recorded as 0.
在计算每组的总的耦合次数时,其计算方法也是一样的,因此不再分开计算。具体过程如下:When calculating the total number of couplings for each group, the calculation method is the same, so it is no longer calculated separately. The specific process is as follows:
a.计算一组2bit信号间的耦合次数。a. Calculate the number of couplings between a set of 2-bit signals.
图1所示为标准的DSM模型下的功耗计算过程,其考虑自翻转和耦合翻转两种情况,其精度较高,但其计算过程还是过于复杂,特别是不利于芯片的实现。因此对这个模型进行改进,随着集成电路工艺制程的不断降低,耦合功耗所占比例越来越大,λ远大于1,因此耦合功耗可以近似为动态功耗,所以将图1中λ的次数提取出来,图4为本申请提供的λ计算表。如图4所示,V1 new表示第一比特位变化后的数据,V2 new表示第二比特位变化后的数据,V1 old表示第一比特位变化前的数据,V2 old表示第二比特位变化前的数据,本申请实施例中将[V1 new,V2 new]记为2bit位宽的寄存器reg_new,[V1 old,V2 old]记为2bit位宽的寄存器reg_old。FIG1 shows the power consumption calculation process under the standard DSM model, which considers two situations, self-flip and coupled flip, and has high accuracy, but its calculation process is still too complicated, especially not conducive to chip implementation. Therefore, this model is improved. With the continuous reduction of integrated circuit process, the proportion of coupled power consumption is getting larger and larger, and λ is much larger than 1, so the coupled power consumption can be approximated as dynamic power consumption, so the number of λ in FIG1 is extracted, and FIG4 is the λ calculation table provided by the present application. As shown in FIG4 , V1new represents the data after the first bit changes, V2new represents the data after the second bit changes, V1old represents the data before the first bit changes, and V2old represents the data before the second bit changes. In the embodiment of the present application , [ V1new , V2new ] is recorded as a 2 - bit wide register reg_new, and [ V1old , V2old ] is recorded as a 2-bit wide register reg_old.
1、如果reg_new^reg_old=11,则λ的次数为2,记为cp=2,否则进入步骤2;其中,^为verilog(芯片设计是使用的硬件描述语言)表示的异或操作;1. If reg_new^reg_old=11, the degree of λ is 2, recorded as cp=2, otherwise go to step 2; where ^ is the XOR operation represented by Verilog (the hardware description language used in chip design);
2、若reg_new[0]^reg_new[1]=1,且同时满足reg_old[0]^reg_old[1]=0,此时λ为1,记为cp=1,其中,reg_new[0]代表reg_new中bit位0的数据,即V1 new,reg_new[1]代表reg_new中bit位1的数据,即V2 new,reg_old[0]代表reg_old中bit位0的数据,即V1 old, reg_old[1]代表reg_old中bit位1的数据,即V2 old2. If reg_new[0]^reg_new[1]=1, and reg_old[0]^reg_old[1]=0, then λ is 1, denoted as cp=1, where reg_new[0] represents the data at bit 0 in reg_new, i.e. , V1new , reg_new[1] represents the data at bit 1 in reg_new, i.e., V2new , reg_old[0] represents the data at bit 0 in reg_old, i.e. , V1old . reg_old[1] represents the data with bit 1 in reg_old, that is, V 2 old .
3、其他情况下λ为0,记为cp=0。3. In other cases, λ is 0, denoted as cp=0.
在一组相邻信号线的计算时,本申请实施例将复杂的4*4的查找表简化为3个异或门运算,这样可以显著的降低资源消耗,同时也会降低功耗。When calculating a group of adjacent signal lines, the embodiment of the present application simplifies the complex 4*4 lookup table into 3 XOR gate operations, which can significantly reduce resource consumption and also reduce power consumption.
b.计算一个组内的耦合总的次数。b. Calculate the total number of couplings within a group.
图5为本申请提供的计算耦合次数的示意图,如图5所示,计算相邻两个比特位之间的子耦合次数,再将子耦合次数相加得到本小组的耦合次数。根据步骤a中的计算方法,同时将一组内的7个耦合次数计算出来,记为CP_cnt=cp_0+cp_1+cp_2+cp_3+cp_4+cp_5+cp_6+cp_7。FIG5 is a schematic diagram of calculating the coupling times provided by the present application. As shown in FIG5, the sub-coupling times between two adjacent bits are calculated, and then the sub-coupling times are added to obtain the coupling times of the group. According to the calculation method in step a, the 7 coupling times in a group are calculated at the same time, and recorded as CP_cnt=cp_0+cp_1+cp_2+cp_3+cp_4+cp_5+cp_6+cp_7.
在一些实施方式中,根据耦合次数和分组使能的值进行翻转计算包括:根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线。In some implementations, performing flip calculation according to the coupling times and the grouping enable value includes: setting a flip flag according to the coupling times and the grouping enable value, and processing the parity lines in the group accordingly.
在一些实施方式中,根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线包括:响应于耦合次数小于或等于第三值,将翻转标志位置零并不做翻转处理;响应于耦合次数大于第三值,根据分组使能确定翻转标志位的值和翻转操作的对象。In some embodiments, a flip flag is set according to the coupling number and the value of the group enable, and the parity lines in the group are processed accordingly, including: in response to the coupling number being less than or equal to a third value, the flip flag is set to zero and no flip processing is performed; in response to the coupling number being greater than the third value, the value of the flip flag and the object of the flip operation are determined according to the group enable.
在一些实施方式中,根据分组使能确定翻转标志位的值和翻转操作的对象包括:响应于分组使能为第三使能值,将翻转标志位置为一,并将组内偶线翻转;响应于分组使能为第二使能值,将翻转标志位置为二,并将组内奇线翻转;除以上两种情况之外的其他情况将翻转标志位置为零并不做翻转处理。In some embodiments, determining the value of the flip flag bit and the object of the flip operation based on the group enable includes: in response to the group enable being the third enable value, setting the flip flag bit to one and flipping the even lines within the group; in response to the group enable being the second enable value, setting the flip flag bit to two and flipping the odd lines within the group; in cases other than the above two cases, setting the flip flag bit to zero and not performing any flipping processing.
当CP_cnt>4且T_en=2时,此时将翻转标志位toggle_en置为1,同时将组内偶线翻转,奇线不做处理;When CP_cnt>4 and T_en=2, the toggle flag toggle_en is set to 1, and the even lines in the group are flipped, and the odd lines are not processed;
当CP_cnt>4且T_en=1时,此时将翻转标志位toggle_en置为2,同时将组内奇线翻转,偶线不做处理;When CP_cnt>4 and T_en=1, the toggle flag toggle_en is set to 2, and the odd lines in the group are flipped, and the even lines are not processed;
其他情形下,不做翻转处理,翻转标志位toggle_en置为0。In other cases, no flipping is performed and the flip flag toggle_en is set to 0.
将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。The first data after flip calculation and the second data of the group whose grouping is enabled to be less than the threshold are transmitted to the next stage.
需要特别指出的是,上述编码的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于编码的方法也应当属于本申请的保护范围,并且不应将本申请的保护范围局限在实施例之上。It should be pointed out in particular that the various steps in the various embodiments of the above-mentioned encoding method can be cross-linked, replaced, added, and deleted with each other. Therefore, these reasonable permutations, combinations and transformations of the encoding method should also fall within the scope of protection of the present application, and the scope of protection of the present application should not be limited to the embodiments.
基于上述目的,本申请实施例的第二个方面,提出了一种编码的系统。如图6所示,系统200包括如下模块:分组模块,配置用于根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;判断模块,配置用于根据提取的特征计算每 个小组的分组使能,并判断分组使能是否大于或等于阈值;计算模块,配置用于计算分组使能大于或等于阈值的小组的耦合次数,并根据耦合次数和分组使能的值进行翻转计算;传输模块,配置用于将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。Based on the above purpose, the second aspect of the embodiment of the present application proposes a coding system. As shown in FIG6 , the system 200 includes the following modules: a grouping module configured to divide the parallel data lines into multiple groups according to the length of the bit, and perform data flow detection and feature extraction on each group; a judgment module configured to calculate each group according to the extracted features. The module is configured to calculate the coupling times of the groups whose group enable is greater than or equal to the threshold, and perform flip calculation according to the coupling times and the value of the group enable; the transmission module is configured to transmit the first data after the flip calculation and the second data of the groups whose group enable is less than the threshold to the next level.
在一些实施方式中,分组模块配置用于:设置最小的分组长度为一比特,最大的分组长度为数据比特位的一半。In some embodiments, the grouping module is configured to: set a minimum group length to one bit and a maximum group length to half of a data bit.
在一些实施方式中,判断模块配置用于:根据前一个检测周期的数据变化率生成分组使能。In some implementations, the determination module is configured to: generate a group enable according to a data change rate in a previous detection cycle.
在一些实施方式中,判断模块配置用于:根据预设条件生成检测周期。In some implementations, the determination module is configured to generate a detection cycle according to preset conditions.
在一些实施方式中,判断模块配置用于:计算当前检测周期内数据变化的第一次数;计算当前检测周期内每个小组数据变化的第二次数;根据第一次数和第二次数计算每个小组的数据变化率;根据数据变化率确定每个小组的分组使能。In some embodiments, the judgment module is configured to: calculate the first number of data changes in the current detection cycle; calculate the second number of data changes in each group in the current detection cycle; calculate the data change rate of each group based on the first number and the second number; and determine the grouping enable of each group based on the data change rate.
在一些实施方式中,判断模块配置用于:设置第一计数器,并响应于所有数据位中存在数据发生变化的数据位,对第一计数器加一。In some implementations, the determination module is configured to: set a first counter, and in response to a data bit having data changes among all the data bits, add one to the first counter.
在一些实施方式中,判断模块配置用于:在每个小组内设置第二计数器,并响应于小组内存在数据发生变化的数据位,对对应小组的第二计数器加一。In some implementations, the determination module is configured to: set a second counter in each group, and in response to a data bit in the group having data changes, add one to the second counter of the corresponding group.
在一些实施方式中,判断模块配置用于:使用第二次数与第一次数的比值作为每个小组的数据变化率。In some implementations, the determination module is configured to use a ratio of the second number to the first number as the data change rate of each group.
在一些实施方式中,判断模块配置用于:响应于数据变化率小于第一值,设置分组使能为第一使能值;响应于数据变化率在第一值和第二值之间,设置分组使能为第二使能值;响应于数据变化率大于第二值,设置分组使能为第三使能值,其中,第一使能值小于第二使能值,第二使能值小于第三使能值。In some embodiments, the judgment module is configured to: in response to the data change rate being less than the first value, set the group enable to a first enable value; in response to the data change rate being between the first value and the second value, set the group enable to a second enable value; in response to the data change rate being greater than the second value, set the group enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
在一些实施方式中,计算模块配置用于:判断每个小组的分组使能是否大于或等于阈值;响应于小组的分组使能大于或等于阈值,将小组的编码使能设置为一,并计算小组的耦合次数。In some embodiments, the calculation module is configured to: determine whether the grouping enable of each group is greater than or equal to a threshold; in response to the grouping enable of the group being greater than or equal to the threshold, set the coding enable of the group to one, and calculate the coupling times of the group.
在一些实施方式中,计算模块配置用于:设置阈值等于第二使能值。In some implementations, the calculation module is configured to: set the threshold value equal to the second enabling value.
在一些实施方式中,系统还包括编码模块,配置用于:响应于小组的分组使能小于阈值,将小组的编码使能设置为零。In some embodiments, the system further comprises an encoding module configured to: in response to the grouping enable of the group being less than a threshold, set the encoding enable of the group to zero.
在一些实施方式中,计算模块配置用于:通过异或操作计算每两个相邻比特位之间的子耦合次数,并将小组内所有的子耦合次数相加得到耦合次数。 In some embodiments, the calculation module is configured to: calculate the number of sub-couplings between every two adjacent bits through an XOR operation, and add up all the sub-coupling numbers in the group to obtain the coupling number.
在一些实施方式中,计算模块配置用于:将变化后的两个比特位记为新寄存器,将变化前的两个比特位记为老寄存器;响应于新寄存器和老寄存器异或的结果为11,记录子耦合次数为2;响应于新寄存器的第一比特位和第二比特位的数据异或的结果为一且老寄存器的第一比特位和第二比特位的数据异或的结果为零,记录子耦合次数为1;除了以上两种情况之外的其他情况记录子耦合次数为0。In some embodiments, the computing module is configured to: record the two bits after the change as the new register, and record the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, record the sub-coupling number as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, record the sub-coupling number as 1; in other cases except the above two cases, the sub-coupling number is recorded as 0.
在一些实施方式中,计算模块配置用于:根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线。In some implementations, the calculation module is configured to: set a flip flag according to the coupling times and the value of the group enable, and process the parity lines in the group accordingly.
在一些实施方式中,计算模块配置用于:响应于耦合次数小于或等于第三值,将翻转标志位置零并不做翻转处理;响应于耦合次数大于第三值,根据分组使能确定翻转标志位的值和翻转操作的对象。In some embodiments, the computing module is configured to: in response to the coupling number being less than or equal to a third value, set the flip flag to zero and perform no flipping; in response to the coupling number being greater than the third value, determine the value of the flip flag and the object of the flip operation according to grouping enable.
在一些实施方式中,计算模块配置用于:响应于分组使能为第三使能值,将翻转标志位置为一,并将组内偶线翻转;响应于分组使能为第二使能值,将翻转标志位置为二,并将组内奇线翻转;除以上两种情况之外的其他情况将翻转标志位置为零并不做翻转处理。In some embodiments, the computing module is configured to: in response to the grouping enable being a third enable value, set the flip flag position to one and flip the even lines within the group; in response to the grouping enable being a second enable value, set the flip flag position to two and flip the odd lines within the group; in cases other than the above two cases, set the flip flag position to zero and do not perform any flipping processing.
基于上述目的,本申请实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;S2、根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值;S3、计算分组使能大于或等于阈值的小组的耦合次数,并根据耦合次数和分组使能的值进行翻转计算;S4、将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。Based on the above purpose, the third aspect of the embodiment of the present application proposes a computer device, including: at least one processor; a memory, the memory storing computer instructions that can be run on the processor, the instructions are executed by the processor to implement the following steps: S1, dividing the parallel data lines into multiple groups according to the length of the bit, and performing data flow detection and feature extraction on each group; S2, calculating the group enable of each group according to the extracted features, and judging whether the group enable is greater than or equal to a threshold; S3, calculating the coupling times of the groups whose group enable is greater than or equal to the threshold, and performing a flip calculation based on the coupling times and the value of the group enable; S4, transmitting the first data after the flip calculation and the second data of the group whose group enable is less than the threshold to the next level.
在一些实施方式中,根据比特位的长度将并行的数据线分成多个小组包括:设置最小的分组长度为一比特,最大的分组长度为数据比特位的一半。In some implementations, dividing the parallel data lines into a plurality of groups according to the length of a bit includes: setting a minimum group length to one bit and a maximum group length to half of a data bit.
在一些实施方式中,根据提取的特征计算每个小组的分组使能包括:根据前一个检测周期的数据变化率生成分组使能。In some implementations, calculating the grouping enable of each group according to the extracted features includes: generating the grouping enable according to a data change rate in a previous detection cycle.
在一些实施方式中,根据前一个检测周期的数据变化率生成分组使能包括:根据预设条件生成检测周期。In some implementations, generating a group enable according to a data change rate of a previous detection cycle includes: generating a detection cycle according to a preset condition.
在一些实施方式中,根据前一个检测周期的数据变化率生成分组使能包括:计算当前检测周期内数据变化的第一次数;计算当前检测周期内每个小组数据变化的第二次数;根据第一次数和第二次数计算每个小组的数据变化率;根据数据变化率确定每个小组的分组使能。In some embodiments, generating group enable based on the data change rate of the previous detection cycle includes: calculating the first number of data changes in the current detection cycle; calculating the second number of data changes in each group in the current detection cycle; calculating the data change rate of each group based on the first number and the second number; and determining the group enable of each group based on the data change rate.
在一些实施方式中,计算当前检测周期内数据变化的第一次数包括:设置第一计数器, 并响应于所有数据位中存在数据发生变化的数据位,对第一计数器加一。In some embodiments, calculating the first number of data changes in the current detection cycle includes: setting a first counter, In response to a data bit having data changes among all the data bits, the first counter is incremented by one.
在一些实施方式中,计算当前检测周期内每个小组数据变化的第二次数包括:在每个小组内设置第二计数器,并响应于小组内存在数据发生变化的数据位,对对应小组的第二计数器加一。In some embodiments, calculating the second number of data changes in each group in the current detection cycle includes: setting a second counter in each group, and in response to a data bit in the group where data has changed, adding one to the second counter of the corresponding group.
在一些实施方式中,根据第一次数和第二次数计算每个小组的数据变化率包括:使用第二次数与第一次数的比值作为每个小组的数据变化率。In some embodiments, calculating the data change rate of each group based on the first number and the second number includes: using the ratio of the second number to the first number as the data change rate of each group.
在一些实施方式中,根据数据变化率确定每个小组的分组使能包括:响应于数据变化率小于第一值,设置分组使能为第一使能值;响应于数据变化率在第一值和第二值之间,设置分组使能为第二使能值;响应于数据变化率大于第二值,设置分组使能为第三使能值,其中,第一使能值小于第二使能值,第二使能值小于第三使能值。In some embodiments, determining the grouping enable of each small group based on the data change rate includes: in response to the data change rate being less than a first value, setting the grouping enable to a first enable value; in response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value; in response to the data change rate being greater than the second value, setting the grouping enable to a third enable value, wherein the first enable value is less than the second enable value, and the second enable value is less than the third enable value.
在一些实施方式中,计算分组使能大于或等于阈值的小组的耦合次数包括:判断每个小组的分组使能是否大于或等于阈值;响应于小组的分组使能大于或等于阈值,将小组的编码使能设置为一,并计算小组的耦合次数。In some embodiments, calculating the coupling times of small groups whose grouping enable is greater than or equal to a threshold includes: determining whether the grouping enable of each small group is greater than or equal to the threshold; in response to the grouping enable of the small group being greater than or equal to the threshold, setting the coding enable of the small group to one, and calculating the coupling times of the small group.
在一些实施方式中,计算分组使能大于或等于阈值的小组的耦合次数包括:设置阈值等于第二使能值。In some implementations, calculating the number of couplings of the subgroups whose group enable is greater than or equal to a threshold includes: setting the threshold to be equal to a second enable value.
在一些实施方式中,步骤还包括:响应于小组的分组使能小于阈值,将小组的编码使能设置为零。In some implementations, the steps further include: in response to the grouping enable of the group being less than a threshold, setting the coding enable of the group to zero.
在一些实施方式中,计算分组使能大于或等于阈值的小组的耦合次数包括:通过异或操作计算每两个相邻比特位之间的子耦合次数,并将小组内所有的子耦合次数相加得到耦合次数。In some embodiments, calculating the coupling times of the subgroups whose grouping enable is greater than or equal to the threshold includes: calculating the sub-coupling times between every two adjacent bits by an XOR operation, and adding all the sub-coupling times in the subgroup to obtain the coupling times.
在一些实施方式中,通过异或操作计算每两个相邻比特位之间的子耦合次数包括:将变化后的两个比特位记为新寄存器,将变化前的两个比特位记为老寄存器;响应于新寄存器和老寄存器异或的结果为11,记录子耦合次数为2;响应于新寄存器的第一比特位和第二比特位的数据异或的结果为一且老寄存器的第一比特位和第二比特位的数据异或的结果为零,记录子耦合次数为1;除了以上两种情况之外的其他情况记录子耦合次数为0。In some embodiments, calculating the number of sub-couplings between every two adjacent bits through an XOR operation includes: recording the two bits after the change as the new register, and recording the two bits before the change as the old register; in response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2; in response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the number of sub-couplings as 1; in other cases except the above two cases, the number of sub-couplings is recorded as 0.
在一些实施方式中,根据耦合次数和分组使能的值进行翻转计算包括:根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线。In some implementations, performing flip calculation according to the coupling times and the grouping enable value includes: setting a flip flag according to the coupling times and the grouping enable value, and processing the parity lines in the group accordingly.
在一些实施方式中,根据耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线包括:响应于耦合次数小于或等于第三值,将翻转标志位置零并不做翻转处理;响应于耦合次数大于第三值,根据分组使能确定翻转标志位的值和翻转操作的对象。 In some embodiments, a flip flag is set according to the coupling number and the value of the group enable, and the parity lines in the group are processed accordingly, including: in response to the coupling number being less than or equal to a third value, the flip flag is set to zero and no flip processing is performed; in response to the coupling number being greater than the third value, the value of the flip flag and the object of the flip operation are determined according to the group enable.
在一些实施方式中,根据分组使能确定翻转标志位的值和翻转操作的对象包括:响应于分组使能为第三使能值,将翻转标志位置为一,并将组内偶线翻转;响应于分组使能为第二使能值,将翻转标志位置为二,并将组内奇线翻转;除以上两种情况之外的其他情况将翻转标志位置为零并不做翻转处理。In some embodiments, determining the value of the flip flag bit and the object of the flip operation based on the group enable includes: in response to the group enable being the third enable value, setting the flip flag bit to one and flipping the even lines within the group; in response to the group enable being the second enable value, setting the flip flag bit to two and flipping the odd lines within the group; in cases other than the above two cases, setting the flip flag bit to zero and not performing any flipping processing.
如图7所示,为本申请提供的上述编码的计算机设备的一个实施例的硬件结构示意图。As shown in FIG. 7 , it is a schematic diagram of the hardware structure of an embodiment of the above-mentioned coded computer device provided in the present application.
以如图7所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。Taking the device shown in FIG. 7 as an example, the device includes a processor 301 and a memory 302 .
处理器301和存储器302可以通过总线或者其他方式连接,图7中以通过总线连接为例。The processor 301 and the memory 302 may be connected via a bus or other means, and FIG7 takes the connection via a bus as an example.
存储器302作为一种非易失性非易失性可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的编码的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现编码的方法。The memory 302 is a non-volatile, non-volatile readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions/modules corresponding to the encoding method in the embodiment of the present application. The processor 301 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 302, that is, implementing the encoding method.
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据编码的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 302 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the encoding method, etc. In addition, the memory 302 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 302 may optionally include a memory remotely arranged relative to the processor 301, and these remote memories may be connected to the local module via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
一个或者多个编码的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的编码的方法。Computer instructions 303 corresponding to one or more encoding methods are stored in the memory 302, and when executed by the processor 301, the encoding method in any of the above method embodiments is executed.
执行上述编码的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。Any embodiment of a computer device that executes the above encoding method can achieve the same or similar effect as any corresponding embodiment of the above method.
本申请还提供了一种非易失性可读存储介质,非易失性可读存储介质存储有被处理器执行时执行编码的方法的计算机程序。The present application also provides a non-volatile readable storage medium, which stores a computer program that performs the encoding method when executed by a processor.
如图8所示,为本申请提供的上述编码的计算机存储介质的一个实施例的示意图。以如图8所示的计算机存储介质为例,非易失性可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。As shown in Figure 8, it is a schematic diagram of an embodiment of the computer storage medium of the above coding provided by the present application. Taking the computer storage medium shown in Figure 8 as an example, the non-volatile readable storage medium 401 stores a computer program 402 that performs the above method when executed by a processor.
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,编码的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机 程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。Finally, it should be noted that a person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program of the encoding method can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium of the program can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc. The above-mentioned computer The program embodiments can achieve the same or similar effects as the corresponding any of the aforementioned method embodiments.
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。The above are exemplary embodiments disclosed in the present application, but it should be noted that various changes and modifications may be made without departing from the scope disclosed in the embodiments of the present application as defined in the claims. The functions, steps and/or actions of the method claims according to the disclosed embodiments described herein do not need to be performed in any particular order. In addition, although the elements disclosed in the embodiments of the present application may be described or required in individual form, they may also be understood as multiple unless explicitly limited to the singular.
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。It should be understood that, as used herein, the singular forms "a", "an" are intended to include the plural forms as well, unless the context clearly supports an exception. It should also be understood that, as used herein, "and/or" refers to any and all possible combinations including one or more of the associated listed items.
上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the embodiments disclosed in the above-mentioned embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种非易失性可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a non-volatile readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。 A person of ordinary skill in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of the disclosure of the embodiments of the present application (including the claims) is limited to these examples; under the idea of the embodiments of the present application, the technical features in the above embodiments or different embodiments may also be combined, and there are many other changes in different aspects of the embodiments of the present application as above, which are not provided in detail for the sake of simplicity. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application shall be included in the protection scope of the embodiments of the present application.

Claims (20)

  1. 一种编码的方法,其特征在于,包括如下步骤:A coding method, characterized in that it comprises the following steps:
    根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;The parallel data lines are divided into multiple groups according to the bit length, and data flow detection and feature extraction are performed on each group;
    根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值;Calculate the grouping enable of each group based on the extracted features, and determine whether the grouping enable is greater than or equal to a threshold;
    计算分组使能大于或等于阈值的小组的耦合次数,并根据所述耦合次数和分组使能的值进行翻转计算;Calculate the coupling times of the groups whose group enable is greater than or equal to the threshold, and perform flip calculation according to the coupling times and the value of the group enable;
    将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。The first data after flip calculation and the second data of the group whose grouping is enabled to be less than the threshold are transmitted to the next stage.
  2. 根据权利要求1所述的方法,其特征在于,所述根据比特位的长度将并行的数据线分成多个小组包括:The method according to claim 1, wherein dividing the parallel data lines into a plurality of groups according to the length of the bits comprises:
    设置最小的分组长度为一比特,最大的分组长度为数据比特位的一半。Set the minimum packet length to one bit and the maximum packet length to half the data bit.
  3. 根据权利要求1所述的方法,其特征在于,所述根据提取的特征计算每个小组的分组使能包括:The method according to claim 1, characterized in that the step of calculating the grouping enable of each group based on the extracted features comprises:
    根据前一个检测周期的数据变化率生成分组使能。The packet enable is generated according to the data change rate of the previous detection cycle.
  4. 根据权利要求3所述的方法,其特征在于,所述根据前一个检测周期的数据变化率生成分组使能包括:The method according to claim 3, characterized in that generating a packet enable according to the data change rate of a previous detection cycle comprises:
    根据预设条件生成检测周期。Generates a detection cycle based on preset conditions.
  5. 根据权利要求4所述的方法,其特征在于,所述根据前一个检测周期的数据变化率生成分组使能包括:The method according to claim 4, characterized in that the generating of the grouping enable according to the data change rate of the previous detection cycle comprises:
    计算当前检测周期内数据变化的第一次数;Calculate the first number of data changes in the current detection cycle;
    计算当前检测周期内每个小组数据变化的第二次数;Calculate the second number of changes in each group data within the current detection cycle;
    根据所述第一次数和所述第二次数计算每个小组的数据变化率;Calculate the data change rate of each group according to the first number of times and the second number of times;
    根据所述数据变化率确定每个小组的分组使能。The grouping enable of each group is determined according to the data change rate.
  6. 根据权利要求5所述的方法,其特征在于,所述计算当前检测周期内数据变化的第一次数包括:The method according to claim 5, characterized in that the calculating the first number of data changes in the current detection cycle comprises:
    设置第一计数器,并响应于所有数据位中存在数据发生变化的数据位,对所述第一计数器加一。A first counter is set, and in response to a data bit having a data change among all the data bits, the first counter is incremented by one.
  7. 根据权利要求5所述的方法,其特征在于,所述计算当前检测周期内每个小组数据变化的第二次数包括:The method according to claim 5, characterized in that the calculating the second number of changes in each group data in the current detection cycle comprises:
    在每个小组内设置第二计数器,并响应于小组内存在数据发生变化的数据位,对对应小组的第二计数器加一。 A second counter is set in each group, and in response to a data bit having data changes in the group, the second counter of the corresponding group is incremented by one.
  8. 根据权利要求5所述的方法,其特征在于,所述根据所述第一次数和所述第二次数计算每个小组的数据变化率包括:The method according to claim 5, characterized in that the step of calculating the data change rate of each group according to the first number of times and the second number of times comprises:
    使用所述第二次数与所述第一次数的比值作为每个小组的数据变化率。The ratio of the second number of times to the first number of times is used as the data change rate of each group.
  9. 根据权利要求5所述的方法,其特征在于,所述根据所述数据变化率确定每个小组的分组使能包括:The method according to claim 5, characterized in that the determining the grouping enable of each group according to the data change rate comprises:
    响应于所述数据变化率小于第一值,设置分组使能为第一使能值;In response to the data change rate being less than a first value, setting the grouping enable to a first enable value;
    响应于所述数据变化率在第一值和第二值之间,设置分组使能为第二使能值;In response to the data change rate being between the first value and the second value, setting the grouping enable to a second enable value;
    响应于所述数据变化率大于第二值,设置分组使能为第三使能值,In response to the data change rate being greater than the second value, setting the grouping enable to a third enable value,
    其中,所述第一使能值小于第二使能值,所述第二使能值小于第三使能值。The first enable value is smaller than the second enable value, and the second enable value is smaller than the third enable value.
  10. 根据权利要求9所述的方法,其特征在于,所述计算分组使能大于或等于阈值的小组的耦合次数包括:The method according to claim 9, characterized in that the calculating the number of couplings of the small groups that enable grouping to be greater than or equal to the threshold comprises:
    判断每个小组的分组使能是否大于或等于阈值;Determine whether the grouping enable of each group is greater than or equal to the threshold;
    响应于小组的分组使能大于或等于阈值,将所述小组的编码使能设置为一,并计算所述小组的耦合次数。In response to the grouping enable of the group being greater than or equal to a threshold, the coding enable of the group is set to one, and the coupling times of the group are calculated.
  11. 根据权利要求10所述的方法,其特征在于,所述计算分组使能大于或等于阈值的小组的耦合次数包括:The method according to claim 10, characterized in that the calculating the number of couplings of the small groups that enable grouping to be greater than or equal to the threshold comprises:
    设置所述阈值等于所述第一使能值。The threshold is set equal to the first enabling value.
  12. 根据权利要求11所述的方法,其特征在于,方法还包括:The method according to claim 11, characterized in that the method further comprises:
    响应于小组的分组使能小于阈值,将所述小组的编码使能设置为零。In response to the grouping enable of the group being less than a threshold, the encoding enable of the group is set to zero.
  13. 根据权利要求11所述的方法,其特征在于,所述计算分组使能大于或等于阈值的小组的耦合次数包括:The method according to claim 11, characterized in that the calculating the number of couplings of the small groups that enable grouping to be greater than or equal to the threshold comprises:
    通过异或操作计算每两个相邻比特位之间的子耦合次数,并将小组内所有的子耦合次数相加得到耦合次数。The number of sub-couplings between every two adjacent bits is calculated through an XOR operation, and the number of sub-couplings in the group is added together to obtain the coupling number.
  14. 根据权利要求13所述的方法,其特征在于,所述通过异或操作计算每两个相邻比特位之间的子耦合次数包括:The method according to claim 13, characterized in that the calculating the number of sub-couplings between every two adjacent bits by XOR operation comprises:
    将变化后的两个比特位记为新寄存器,将变化前的两个比特位记为老寄存器;The two bits after the change are recorded as the new register, and the two bits before the change are recorded as the old register;
    响应于所述新寄存器和所述老寄存器异或的结果为11,记录子耦合次数为2;In response to the XOR result of the new register and the old register being 11, recording the number of sub-couplings as 2;
    响应于所述新寄存器的第一比特位和第二比特位的数据异或的结果为一且所述老寄存器的第一比特位和第二比特位的数据异或的结果为零,记录子耦合次数为1;In response to the XOR result of the data of the first bit and the second bit of the new register being one and the XOR result of the data of the first bit and the second bit of the old register being zero, recording the sub-coupling number as 1;
    除了以上两种情况之外的其他情况记录子耦合次数为0。In all cases except the above two, the sub-coupling times are recorded as 0.
  15. 根据权利要求1所述的方法,其特征在于,所述根据所述耦合次数和分组使能的 值进行翻转计算包括:The method according to claim 1, characterized in that the coupling times and grouping enabled The value flip calculation includes:
    根据所述耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线。The flip flag is set according to the coupling times and the value of the grouping enable, and the parity lines in the group are processed accordingly.
  16. 根据权利要求15所述的方法,其特征在于,所述根据所述耦合次数和分组使能的值设置翻转标志位,并相应处理组内的奇偶线包括:The method according to claim 15, characterized in that the step of setting a flip flag bit according to the coupling times and the value of the grouping enable and processing the parity lines in the group accordingly comprises:
    响应于耦合次数小于或等于第三值,将翻转标志位置零并不做翻转处理;In response to the coupling number being less than or equal to a third value, setting the flip flag to zero and not performing flip processing;
    响应于耦合次数大于第三值,根据分组使能确定翻转标志位的值和翻转操作的对象。In response to the coupling number being greater than the third value, the value of the flip flag bit and the object of the flip operation are determined according to the grouping enable.
  17. 根据权利要求16所述的方法,其特征在于,所述根据分组使能确定翻转标志位的值和翻转操作的对象包括:The method according to claim 16, wherein determining the value of the flip flag bit and the object of the flip operation according to the group enable comprises:
    响应于分组使能为第三使能值,将翻转标志位置为一,并将组内偶线翻转;In response to the group enable being a third enable value, the flip flag is set to 1, and the even lines in the group are flipped;
    响应于分组使能为第二使能值,将翻转标志位置为二,并将组内奇线翻转;In response to the group enable being a second enable value, the flip flag is set to 2, and the odd lines in the group are flipped;
    除以上两种情况之外的其他情况将翻转标志位置为零并不做翻转处理。In cases other than the above two, the flip flag is set to zero and no flipping is performed.
  18. 一种编码的系统,其特征在于,包括:A coding system, characterized in that it comprises:
    分组模块,配置用于根据比特位的长度将并行的数据线分成多个小组,并对每个小组进行数据流检测和提取特征;A grouping module, configured to divide the parallel data lines into a plurality of groups according to the length of the bits, and perform data flow detection and feature extraction on each group;
    判断模块,配置用于根据提取的特征计算每个小组的分组使能,并判断分组使能是否大于或等于阈值;A judgment module, configured to calculate the grouping enable of each group according to the extracted features, and judge whether the grouping enable is greater than or equal to a threshold;
    计算模块,配置用于计算分组使能大于或等于阈值的小组的耦合次数,并根据所述耦合次数和分组使能的值进行翻转计算;A calculation module configured to calculate the coupling times of the groups whose grouping enable is greater than or equal to the threshold, and perform a flip calculation according to the coupling times and the value of the grouping enable;
    传输模块,配置用于将翻转计算后的第一数据与分组使能小于阈值的小组的第二数据传输到下一级。The transmission module is configured to transmit the first data after the flip calculation and the second data of the group whose grouping enable is less than the threshold to the next level.
  19. 一种计算机设备,其特征在于,包括:A computer device, comprising:
    至少一个处理器;at least one processor;
    存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-17任意一项所述方法的步骤。A memory storing computer instructions executable on the processor, wherein the instructions, when executed by the processor, implement the steps of the method according to any one of claims 1 to 17.
  20. 一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-17任意一项所述方法的步骤。 A non-volatile readable storage medium storing a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 17 when executed by a processor.
PCT/CN2023/080604 2022-11-10 2023-03-09 Encoding method and system, device, and storage medium WO2024098600A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211407578.X 2022-11-10
CN202211407578.XA CN115510788B (en) 2022-11-10 2022-11-10 Coding method, system, equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2024098600A1 true WO2024098600A1 (en) 2024-05-16

Family

ID=84513552

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/080604 WO2024098600A1 (en) 2022-11-10 2023-03-09 Encoding method and system, device, and storage medium

Country Status (2)

Country Link
CN (1) CN115510788B (en)
WO (1) WO2024098600A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115510788B (en) * 2022-11-10 2023-02-28 山东云海国创云计算装备产业创新中心有限公司 Coding method, system, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611951A (en) * 2012-03-12 2012-07-25 东南大学 Method for reducing power consumption of integrated circuit system of Ethernet passive optical network physical layer
CN105760329A (en) * 2016-02-01 2016-07-13 中国电子科技集团公司第三十八研究所 Coding and decoding device capable of reducing bus coupling overturn
CN106849954A (en) * 2016-12-09 2017-06-13 西安电子科技大学 A kind of low-power consumption, decoding method and coding and decoding device of resistance to crosstalk for network-on-chip
US20190004893A1 (en) * 2017-06-28 2019-01-03 Intel Corporation Apparatus, non-volatile memory storage device and method for detecting drift in non-volatile memory
CN115510788A (en) * 2022-11-10 2022-12-23 山东云海国创云计算装备产业创新中心有限公司 Coding method, system, equipment and storage medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150403A (en) * 2001-11-06 2003-05-23 Arc Internatl (Uk) Ltd Observation method for data processor and device thereof
US20110280314A1 (en) * 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
CN207801899U (en) * 2018-01-19 2018-08-31 综合器件技术公司 For realizing the device of high RST voltage tolerance
CN109669805A (en) * 2018-12-24 2019-04-23 深圳忆联信息系统有限公司 Reduce method, apparatus, computer equipment and the storage medium of check bit digit
CN110572164B (en) * 2019-09-29 2023-02-10 深圳忆联信息系统有限公司 LDPC decoding method, apparatus, computer device and storage medium
US11146290B1 (en) * 2020-07-01 2021-10-12 Innogrit Technologies Co., Ltd. Bit-flipping method for decoding LDPC code and system using the same
CN113300716A (en) * 2020-07-14 2021-08-24 阿里巴巴集团控股有限公司 Method and device for generating cyclic redundancy check code and computer readable medium
CN114499743B (en) * 2020-10-26 2024-05-28 深圳市中兴微电子技术有限公司 Communication data processing method, device, equipment and storage medium
CN112953680B (en) * 2021-02-10 2022-12-23 Tcl华星光电技术有限公司 Encoding method, decoding method, encoding device, and decoding device
CN114115443A (en) * 2021-10-26 2022-03-01 山东云海国创云计算装备产业创新中心有限公司 Clock domain-crossing data signal synchronization method, system, equipment and medium
CN114611704B (en) * 2022-05-11 2022-10-25 苏州浪潮智能科技有限公司 Quantum bit coupling method and structure

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611951A (en) * 2012-03-12 2012-07-25 东南大学 Method for reducing power consumption of integrated circuit system of Ethernet passive optical network physical layer
CN105760329A (en) * 2016-02-01 2016-07-13 中国电子科技集团公司第三十八研究所 Coding and decoding device capable of reducing bus coupling overturn
CN106849954A (en) * 2016-12-09 2017-06-13 西安电子科技大学 A kind of low-power consumption, decoding method and coding and decoding device of resistance to crosstalk for network-on-chip
US20190004893A1 (en) * 2017-06-28 2019-01-03 Intel Corporation Apparatus, non-volatile memory storage device and method for detecting drift in non-volatile memory
CN115510788A (en) * 2022-11-10 2022-12-23 山东云海国创云计算装备产业创新中心有限公司 Coding method, system, equipment and storage medium

Also Published As

Publication number Publication date
CN115510788B (en) 2023-02-28
CN115510788A (en) 2022-12-23

Similar Documents

Publication Publication Date Title
WO2024098600A1 (en) Encoding method and system, device, and storage medium
TWI482083B (en) System and method for processing dual-phase regular expression comparison
KR100378537B1 (en) Remote wake-up system and method
US6697383B1 (en) Method and apparatus for detecting data streams with specific pattern
WO2009051991A2 (en) Balanced data bus inversion
US20130198538A1 (en) Enhanced Buffer-Batch management for Energy Efficient Networking
CN101204070A (en) Method for parallel data integrity checking of PCI EXPRESS devices
CN112948295B (en) FPGA and DDR high-speed data packet transmission system and method based on AXI4 bus
US20210359958A1 (en) Hierarchical switching fabric and deadlock avoidance method for ultra high radix network routers
CN110428048A (en) A kind of binaryzation neural network accumulator circuit based on simulation time delay chain
CN110430040B (en) Message expansion circuit in low-power SHA256 algorithm
CN107196949A (en) The system for limiting same user account registration terminal quantity
US8121150B1 (en) Method and apparatus for processing variable-length packets in a buffer memory for transmission
US20180323957A1 (en) Codeword synchronization for fiber channel protocol
WO2021027182A1 (en) Method for communication between front stage and rear stage of server power supply, device, and readable medium
KR100452640B1 (en) Apparatus for receiving data packet and method thereof
JP3814470B2 (en) Data transfer method and data transfer apparatus
WO2021077740A1 (en) Method for querying cpld version information, device, and medium
US7397395B2 (en) Representative majority voter for bus invert coding
CN105933244A (en) Channel aligning de-skew device and method
CN115001508A (en) CRC parallel computing method
CN112491496B (en) Synchronous serial port multi-level cache receiving and forwarding method based on FPGA
CN104503929A (en) Method and device for carrying out string manipulation by using DMA controller
WO2022110112A1 (en) Message processing method and device
CN108599907B (en) Network interface controller

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: 23887309

Country of ref document: EP

Kind code of ref document: A1