WO2021129689A1 - 数据位宽转换方法和装置 - Google Patents

数据位宽转换方法和装置 Download PDF

Info

Publication number
WO2021129689A1
WO2021129689A1 PCT/CN2020/138731 CN2020138731W WO2021129689A1 WO 2021129689 A1 WO2021129689 A1 WO 2021129689A1 CN 2020138731 W CN2020138731 W CN 2020138731W WO 2021129689 A1 WO2021129689 A1 WO 2021129689A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit width
data
control information
memory
data bit
Prior art date
Application number
PCT/CN2020/138731
Other languages
English (en)
French (fr)
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 WO2021129689A1 publication Critical patent/WO2021129689A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0004Parallel ports, e.g. centronics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols

Definitions

  • This application relates to the field of digital communication technology, for example, to a data bit width conversion method and device.
  • modules or components with different functions will be independently designed according to the convenience and rationality of their respective designs, which will cause the problem of unequal bit widths when connecting modules or components with different functions.
  • the timing device and the storage device will be designed according to their respective maximum support capabilities, and there will also be a problem of mismatch in the docking bit width between the timing device and the storage device.
  • This application provides a data bit width conversion method, device, controller, and storage medium.
  • a data bit width conversion method includes: generating control information based on input data bit width and target data bit width; controlling a shift register to perform data bit width conversion based on the control information, and controlling a memory to perform span based on the control information. Clock operation.
  • a data bit width conversion device including: a controller configured to generate control information based on the input data bit width and the target data bit width; and a shift register configured to perform data bit width conversion based on the control information;
  • the memory is configured to perform cross-clock operations based on the control information.
  • FIG. 1 is a schematic flowchart of a data bit width conversion method provided by an embodiment of the application
  • FIG. 2 is a schematic structural diagram of a data bit width conversion device provided by an embodiment of the application.
  • FIG. 3 is a schematic structural diagram of a data bit width conversion device provided by an embodiment of the present application.
  • Fig. 3a is a flowchart of a data bit width conversion method provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of another data bit width conversion device provided by an embodiment of the present application.
  • 4a is a flowchart of a data bit width conversion method provided by an embodiment of the present application.
  • Fig. 5 is a schematic structural diagram of a controller provided by the present application.
  • the data bit width may vary in different places.
  • the clock of the timing device can run to 1 GHz when the timing is closed, but the maximum supported clock of the storage device that performs data interaction with the foregoing timing device is 750 MHz.
  • the timing device and the storage device are generally designed according to their respective maximum support capabilities, and there may also be a problem of mismatch in the docking bit width between the timing device and the storage device.
  • the serializer/deserializer connects the physical coding sublayer (PCS) of different protocol scenarios with the relevant layers of different physical media to realize the data in the cable High-speed transmission on different physical media such as optical fiber.
  • PCS physical coding sublayer
  • the coding modes of the corresponding physical coding sublayer PCS may be different.
  • the PCS encoding method also has multiple forms.
  • the JESD204B protocol uses 8B/10B encoding, such as JESD204C includes 64B/66B and 64B/80B; such as the 128B/130B encoding in the PCIE protocol.
  • the encoding methods included in the PCS are different. For example, 100BASE-X uses 4B/5B encoding, 1GBASE-R uses 8B/10B encoding, and 10GBASE-R uses 64B/66B encoding.
  • the PCS also needs to have a distribution function, and to support forward error correction (FEC) or RS forward error correction (Reed Solomon Forward Error Correction, RS-FEC), due to FEC/RS-
  • FEC forward error correction
  • RS-FEC Reed Solomon Forward Error Correction
  • Serdes is generally delivered to users in the form of a dedicated Internet Protocol (IP). Since the technical core of serial-to-parallel conversion technology is not compatible with all docking bit widths, a Serdes IP is provided to users
  • IP Internet Protocol
  • the docking bit width is a fixed bit width, such as 20, and 40, and other fixed bit widths. In this way, the parallel data bit width that Serdes often supports does not completely match the parallel bit width after PCS encoding output; in addition, in some custom communication scenarios that require serial transmission technology, the data bit width sent to Serdes and Serdes support The data bit widths are not equal.
  • the present application provides a device for realizing arbitrary data bit width conversion and a method for implementing data bit width conversion.
  • FIG. 1 is a schematic flowchart of a data bit width conversion method provided by an embodiment of the application. This method can be applied to the situation of the bit width matching design of the two communication parties. The method can be executed by the data bit width conversion device provided by the present application, and the data bit width conversion device can be implemented by software and/or hardware.
  • the data bit width conversion method provided by the embodiments of this application is often applied to internal module-level connections of chips, chip-level cascading or backplane interconnection, etc., and is widely applicable to Common Public Radio Interface (CPRI), Ethernet, High-speed serial computer expansion bus standard (peripheral component interconnect express, PCIE), JESD204 protocol or other design scenarios where data bit width does not match.
  • CPRI Common Public Radio Interface
  • Ethernet High-speed serial computer expansion bus standard
  • PCIE peripheral component interconnect express
  • JESD204 protocol other design scenarios where data bit width does not match.
  • the data bit width conversion method provided by the embodiment of the present application includes S11 and S12.
  • the generating control information based on the input data bit width and the target data bit width includes: in the case that the input data bit width is less than or equal to the target data bit width, generating the first Control information; when the input data bit width is greater than the target data bit width, second control information is generated; wherein, the first control information is used to first control the shift register to perform data bit width conversion, and then control The memory performs cross-clock operations, and the second control information is used to first control the memory to perform cross-clock operations, and then control the shift register to perform data bit width conversion.
  • the shift register when the input data bit width is less than or equal to the target data bit width, the shift register is first controlled to perform data bit width conversion, and then the memory is controlled to perform cross-clock operations. In the case that the input data bit width is greater than the target data bit width, the memory is first controlled to perform cross-clock operations, and then the shift register is controlled to perform data bit width conversion.
  • controlling the shift register to perform data bit width conversion based on the control information includes: controlling input data to be input to the shift register; The data stored in the bit register is spliced with the input data to generate the current data volume; when the current data volume is greater than or equal to the target data bit width, the shift register is controlled to output the target data corresponding to the target data bit width to the memory, And generate a high-level data valid flag, and output the generated high-level data valid flag to the memory.
  • controlling the shift register to perform data bit width conversion based on the control information includes: controlling input data to be input to the shift register; The stored data is spliced with the input data to generate the current data amount; in the case that the current data amount is less than the target data bit width, the data of the control shift register is shifted according to the first shift amount, where the first The amount of shift is the bit width of the input data.
  • the method further includes: controlling the shift register data to perform a shift operation according to a second shift amount, wherein the second shift The amount is the difference between the target data bit width and the current data amount.
  • controlling the memory to perform a clock-crossing operation based on the control information includes: when the data valid flag is a high level, setting the target Data is written into the memory; when the write address reaches the preset storage depth, the memory is controlled to start a read operation, and the target data after the bit width conversion is read.
  • the shift register when the control information is the first control information, the shift register operates at the input data accompanying clock frequency, and the read operation of the memory operates at the target clock frequency.
  • the write operation of the memory works at the input data accompanying clock frequency.
  • controlling the memory to perform cross-clock operations based on the control information includes: controlling the write operation of the memory to work at the clock frequency of the input data.
  • controlling the write operation of the memory to work at the clock frequency of the input data includes: controlling the write operation of the memory to work at the clock frequency of the input data.
  • the data stored in the memory is read to the shift register according to the bit width of the input data.
  • inputting the data stored in the memory to the shift register according to the input data bit width includes: controlling the memory to work at the target clock frequency, and inputting the data stored in the memory to the shift register according to the input data bit width .
  • controlling the shift register to perform data bit width conversion based on the control information includes: the current amount of data in the shift register is greater than or equal to Under the target data bit width, control the shift register to output the target data corresponding to the target data bit width; control the data in the shift register to perform the shift operation according to the third shift amount, where the third shift amount is the target data bit width ,
  • the shift register works at the target clock frequency.
  • controlling the shift register to perform data bit width conversion based on the control information further includes: the current data amount in the shift register is less than the target In the case of the data bit width, a high-level read enable signal is generated and sent to the memory; the new data sent by the memory is received, and after the new data is spliced with the original data in the shift register, the spliced data The shift operation is performed according to the fourth shift amount, where the fourth shift amount is the difference between the target data bit width and the current data amount.
  • the method further includes: performing clock anti-jitter control based on the input data bit width, the target data bit width, the input data associated clock frequency, and the target clock frequency.
  • the clock anti-jitter control includes: monitoring the read address or write address of the memory based on an anti-shake detection period, where the anti-shake detection period is the actual storage depth or an integer multiple of the actual storage depth; If the deviation of the read address or write address exceeds the jitter range, the read address or write address of the memory is forced to be adjusted.
  • FIG. 2 is a schematic structural diagram of a data bit width conversion device provided by an embodiment of the application.
  • the device can be applied to the situation of matching the bit width of the two communication parties.
  • the data bit width conversion device can be implemented by software and/or hardware.
  • the data bit width conversion device provided by the embodiments of this application is often applied to chip internal module-level connection, chip-level cascading or backplane interconnection, etc., and is widely applicable to CPRI, Ethernet, PCIE, JESD204 protocols or other data bit width differences. Matching design scenarios.
  • the data bit width conversion device provided by the embodiment of the present application includes a controller 21, a shift register 22 and a memory 23.
  • the controller 21 is configured to generate control information based on the input data bit width and the target data bit width; the shift register 22 is configured to perform data bit width conversion based on the control information; the memory 23 is configured to generate control information based on the control information. Information is operated across clocks.
  • the controller 21 is connected to the shift register 22 and the memory 23 through a control information connection, and the shift register 22 is connected to the memory 23 through a data connection.
  • the controller 21 is configured to generate first control information when the input data bit width is less than or equal to the target data bit width; when the input data bit width is greater than In the case of the target data bit width, second control information is generated; wherein, the first control information is used to first control the shift register 22 to perform data bit width conversion, and then control the memory 23 to perform cross-clock operations. The second control information is used to first control the memory 23 to perform cross-clock operations, and then control the shift register 22 to perform data bit width conversion.
  • the controller 21 when the control information is the first control information, the controller 21 is configured to control the input data into the shift register 22; the shift register 22 is configured to combine the stored data with the input The data is spliced to generate the current data volume; when the current data volume is greater than or equal to the target data bit width, the target data corresponding to the target data bit width is output to the memory 23, and a high-level data valid flag is generated, and The generated high-level data valid flag is output to the memory 23.
  • the shift register 22 is configured to perform the operation according to the first shift amount when the control information is the first control information, and when the current data amount is less than the target data bit width. Shift operation, where the first shift amount is the bit width of the input data.
  • the shift register 22 is configured to perform a shift operation according to a second shift amount, where the second shift amount is the difference between the target data bit width and the current data amount.
  • the memory 23 is configured to write the target data into the memory 23 when the data valid flag is at a high level; when the write address reaches the preset storage depth, the memory 23 is controlled Start the read operation and read out the target data after bit width conversion.
  • the shift register 22 works at the input data accompanying clock frequency
  • the read operation of the memory 23 works at the target clock frequency
  • the write operation of the memory works at the input data accompanying clock frequency
  • the memory 23 is configured to write input data into the memory 23 when the control information is the second control information, and the write operation works at the input data accompanying clock frequency; When a high-level read enable signal is received, the data stored in the memory 23 is read to the shift register 22 according to the input data bit width.
  • the memory 23 is configured to work at the target clock frequency, and the data stored in the memory 23 is input to the shift register 22 according to the input data bit width.
  • the shift register 22 is configured to control the shift register 22 to output the target data corresponding to the target data bit width when the amount of data in the shift register 22 is greater than or equal to the target data bit width. ; Control the data in the shift register 22 to perform a shift operation according to the third shift amount, where the third shift amount is the target data bit width, and the shift register works at the target clock frequency.
  • the shift register 22 is configured to generate a high-level read enable signal and to set the high-level read enable signal when the amount of data in the shift register 22 is less than the target data bit width.
  • the flat read enable signal is sent to the memory 23; the new data sent by the memory 23 is received, and after the new data is spliced with the original data in the shift register 22, the spliced data is shifted according to the fourth shift amount. Bit operation, wherein the fourth shift amount is the difference between the target data bit width and the current data amount.
  • the controller 21 is configured to perform clock anti-jitter control based on the input data bit width, the target data bit width, the input data accompanying clock frequency, and the target clock frequency.
  • the controller 21 is configured to monitor the read address or the write address of the memory 23 based on the anti-shake detection period, where the anti-shake detection period is the actual storage depth or an integer multiple of the actual storage depth; If the deviation of the read address or write address exceeds the jitter range, the read address or write address of the memory 23 is forced to be adjusted.
  • the controller 21 is respectively connected to the shift register 22 and the memory 23 through control information wires, the connection between the shift register 22 and the memory 23 is a data connection, and the three devices implement arbitrary data bits.
  • the core device of the wide conversion method is respectively connected to the shift register 22 and the memory 23 through control information wires, the connection between the shift register 22 and the memory 23 is a data connection, and the three devices implement arbitrary data bits.
  • the data bit width conversion device can realize adaptive arbitrary data bit width conversion, and only needs to obtain the data bit width parameters before and after the conversion.
  • the external interaction is simple and the use is convenient.
  • the device realizes bit width conversion with a small amount of resources, reduces chip cost and increases revenue.
  • the data bit width conversion device provided by the embodiments of the present application can be widely applied to chip internal module-level connection, chip-level cascade, and backplane interconnection in communication technology, such as CPRI, Ethernet, PCIE and JESD204 and other protocol scenarios And different transmission rate requirements.
  • the data bit width conversion device and data bit width conversion method can support the conversion function of any parallel data bit width between two modules, and has versatility and compatibility; the embodiment of the present application can realize the different parallelism of two modules that require data docking Data bit width matching reduces the design constraints of different modules.
  • the data bit width conversion device provided by the embodiment of the present application adaptively realizes the function of any bit width conversion, has a simple structure and reduces hardware logic resources; it has simple external interaction and can achieve the use effect without complicated calls and settings by the user.
  • the structure of the device for implementing arbitrary data bit width conversion described in this application includes: a memory, a controller, and a shift register.
  • the controller is set to control the read and write operations of the memory and the shift operation of the shift register according to the input and output bit width
  • the memory is set to perform read and write operations under the control of the controller to complete the data cross-clock operation
  • the shift register is set to complete the shift operation according to the control information of the controller.
  • the external interface of the above-mentioned device includes an input interface and an output interface.
  • the input interface is set to receive reset signal, input data, input data valid flag, input data follow-up clock, and target data follow-up clock; output interface is set to output target data.
  • the input data bit width W i and the target data bit width W o , the input data bit width W i and the target data bit width W o are arbitrary integers.
  • the ratio of the input data rate f data and the associated clock frequency f i of the input data rate f data can be any ratio, which is not limited in this embodiment.
  • the ratio of the input data rate f data and the associated clock frequency f i of the input data rate f data may be 1:1.
  • Clocks with the target data rate and the target data rate frequency f o ratio is 1: 1.
  • W i ⁇ f data W o ⁇ f o .
  • the input data in the embodiment of the present application is the input data received by the input interface, and the target data is the output data to be output by the output interface.
  • the memory in the device of the present application completes the clock crossing of data.
  • the present embodiment is a dual port memory storage random access memory (Random Access Memory, RAM), the memory capacity parameter is divided into: X-bit wide memory and a memory depth D, where, X is the input data width and target data W i
  • the bit width W o is the larger value of the two parameters, if the input data bit width W i and the target data bit width W o are equal, any value is taken.
  • the formula in the second case above can be used Obtain the minimum value of the storage depth D, considering that the anti-clock jitter is (-a, +a), and the storage depth in practical applications is D+2*a.
  • Bit wide shift register of the present application relates to an input data width W i W o and the target data bit and the shift register to complete the shift operation under control of the control information generated by the controller.
  • a controller and a target bit wide data width W i W o generates control information based on the input data, comprising: a shift register of a shift control information; read-write memory (RAM) control information, and the anti-clock jitter Control information.
  • Fig. 3 is a schematic structural diagram of a data bit width conversion device provided by an embodiment of the present application.
  • the data bit transfer means principle structure shown in Figure 3.
  • the entire device operates at the input data accompanying clock frequency f i when performing shift control on the shift register, and when the memory is read, the device operates at the target clock frequency f o .
  • IN represents the input data input from the outside
  • OUT represents the target data output after the final conversion.
  • the controller includes two counters: data counter out_cnt and shift counter shift_cnt, where out_cnt represents the amount of data to be output in the shift register, the bit width of out_cnt is: ceil(log 2 W o ), ceil() is Round up; among them, shift_cnt represents the shift amount of the shift register, the bit width of shift_cnt is: ceil(log 2 W i ), out_cnt and shift_cnt are both 0 in the initial state.
  • the input data register in_data is set to register external input input data.
  • the controller comprises four registers: input registers IN_REG shot hit, the amount of shift register bit_shift_reg, output data registers and data are available o_data O_en identification register, wherein the input to the tapped IN_REG register W i is the bit width of the register is set to the input Data in_data beat register; among them, the shift amount register bit_shift_reg is a register with a bit width of W i + W o , set to register and shift the target data to be output; among them, the output data register o_data is a bit width of W o
  • the register is set to temporarily store the target data after the bit width conversion, and is the register of the low W o bit data in the shift amount register bit_shift_reg; among them, the o_en signal represents the data valid flag.
  • Fig. 3a is a flowchart of a data bit width conversion method provided by an embodiment of the present application. As shown in FIG. 3a, the data bit width conversion method provided by the embodiment of the present application includes the following steps.
  • S302 Determine whether the amount of data out_cnt to be output in the shift register is greater than the target data bit width W o ; if yes, execute S303, if not, execute S304.
  • the data in the shift register is not sent out, and the shift register performs a shift operation at the same time.
  • the data output valid flag o_en indicates whether the shift register is valid data output. In this embodiment, when the data output valid flag o_en is at a high level, it indicates that the data output by the shift register is valid. When the data output valid flag o_en is low, it indicates that the data output by the shift register is invalid. In this embodiment, only the data output valid flag o_en is described, but not limited. Other reasonable instructions can be designed according to the actual situation. For example, if there is a data output valid flag, it indicates that the data output by the shift register is valid, and if the data output valid flag is not generated, it indicates that the data output by the shift register is invalid.
  • out_cnt represents the amount of data to be output in the shift register.
  • the current amount of data out_cnt is greater than or equal to the difference between the target data bit width W o and the input data bit width W i , it means that the input data will reach The target data bit width requires data output. Then, the count value of the next beat is equal to the current data amount plus the input data bit width minus the output data bit width.
  • bit_shift_reg the shift data register new input data and the input data on a film splice, i.e. ( ⁇ in_data, in_reg ⁇ ).
  • the data in the shift amount register bit_shift_reg is shifted out and then output to the o_data register.
  • the o_data register outputs the target data to the memory RAM in the next shot.
  • the data valid flag o_en is high, which is used to indicate that the target data output by the memory RAM is valid.
  • the data in the shift amount register bit_shift_reg is the splicing of the new input data and the previous beat input data, which is ( ⁇ in_data , Bit_shift_reg ⁇ ).
  • the amount of shift register outputs bit_shift_reg no data needs to be completely into all the data shift register that
  • the data valid flag o_en is low level, which is used to indicate that the target data output by the memory RAM is invalid.
  • W i W o is a continuous high level, in W i ⁇ When W o is a discrete high level signal, when the effective flag is at high level shift register will target Data is written into the RAM of the cache unit, otherwise it will not be written.
  • the RAM read operation When the data write address reaches half the depth of the memory RAM storage depth D, the RAM read operation is started, the RAM read operation works at the target clock frequency f o , the RAM read operation continues, and the continuous data read is after the bit width conversion The final target data of the entire device.
  • the RAM read operation when the data write address reaches half the depth of the actual storage depth D+2 ⁇ a of the memory RAM, the RAM read operation is started, and the RAM read operation works at the target clock frequency f o , and the RAM read operation is continuously performed.
  • the continuous data output is the final target data of the entire device after the bit width conversion.
  • FIG. 4 is a schematic structure diagram of another data bit width conversion device provided by an embodiment of the present application.
  • the RAM read operation is started, the RAM write operation works at the clock frequency f i , the RAM write operation continues, and the write data is the bit width of the entire device before the bit width conversion Input data; when the RAM is read and controlled, the device works at the clock frequency f o , and the data read enable signal is used to control the read.
  • the RAM read operation when the input data write address reaches half the depth of the actual storage depth D+2 ⁇ a of the memory RAM, the RAM read operation is started, the RAM write operation works at the clock frequency f i , and the RAM write operation continues.
  • the input data is the input data before the bit width conversion of the whole device; when the RAM is read and controlled, the device works at the clock frequency f o , and the read is controlled by the data read enable signal.
  • the device When performing shift control on the shift register, the device works at the clock frequency f o .
  • IN represents the input data input from the outside
  • OUT represents the target data after the final conversion.
  • the controller includes two counters: data counter out_cnt and shift counter shift_cnt, where out_cnt represents the amount of data to be output in the shift register, and its bit width is: ceil(log 2 W o ), ceil() means up Rounding; among them, shift_cnt represents the shift amount of the shift register, and its bit width is: ceil(log 2 W i ), out_cnt and shift_cnt are both 0 in the initial state.
  • the input data register in_data is set to register external input input data.
  • the controller includes 4 registers: input beat register in_reg, shift amount register bit_shift_reg, output data register o_data, and data read enable register o_en.
  • the input of the tapped in_reg register bit width of the register W i is provided for the input data in_data the tapped storage; wherein an amount of shift register bit width is bit_shift_reg W i + W o of the register, the output used to treat The target data is registered and shifted; among them, the output data register o_data is a register with a bit width of W o , which represents the target data after the bit width conversion, and is the register of the low W o bit data of the shift amount register bit_shift_reg; where the o_en signal indicates Data read enable signal.
  • o_data is a register with a bit width of W o , which is directly connected to the low W o data of the shift amount register bit_shift_reg.
  • Fig. 4a is a flowchart of a data bit width conversion method provided by an embodiment of the present application. As shown in FIG. 4a, the data bit width conversion method provided by the embodiment of the present application mainly includes the following steps.
  • S402 Determine whether the amount of data out_cnt to be output in the shift register is greater than the target data bit width W o ; if it is, execute S403, if not, execute S404.
  • New data needs to be read from the RAM, and the newly read data and the original data in the shift register are combined and shifted and sent out.
  • out_cnt indicates the amount of data to be output in the shift register.
  • the current amount of data out_cnt is greater than or equal to the target data bit width W o , it indicates that the data in the shift register reaches the target data bit width and data output is required, then , The count value of the next shot is equal to the current data amount minus the output data bit width.
  • the data in the shift amount register bit_shift_reg is the register of the shift register data of the previous beat.
  • the data in the shift amount register bit_shift_reg is shifted out and output to the o_data register.
  • the o_data register does not require data input in the next shot.
  • the data read enable signal o_en is low level, which is used to indicate that the data read by the memory RAM is invalid, that is, there is no need to read data from the RAM.
  • out_cnt represents the amount of data to be output in the shift register.
  • the current amount of data out_cnt is less than or equal to the target data width W o , it means that the current amount of data in the shift register has not reached the target data width. Only when new data is obtained from RAM can the data output be performed. Then, the count value of the next shot is equal to the current data amount plus the input data bit width minus the output data bit width.
  • the data in the shift amount register bit_shift_reg is the splicing of the new input data and the last shot unoutput data, that is, ( ⁇ in_data, bit_shift_reg ⁇ ).
  • the shift amount register bit_shift_reg When the current data amount out_cnt is less than the target data bit width W o , the shift amount register bit_shift_reg does not need to perform data output and shift operations.
  • the shift register needs data input in the next shot.
  • the data read enable signal o_en is at a high level and is used to indicate that the data read by the memory RAM is valid, that is, data needs to be read from the RAM.
  • the memory is reused through conditional compilation, and no additional resources are generated.
  • the resource specifications of the controller, memory, and shift register involved in the device of this application are parameterized, and are only related to W i and W o .
  • the method for realizing arbitrary data bit width conversion can be widely used in communication technologies such as CPRI, Ethernet, PCIE and JESD204 and other protocol scenarios and different transmission rate requirements.
  • the device and method can support two
  • the conversion function of arbitrary parallel data bit width between modules has strong versatility and compatibility; this application can realize parallel data bit width matching between different modules, reducing the constraint of data bit width in the design; external interface of this application simple, just the input data bit width parameter W i W o and the target data width of data bit transfer to complete, easy to use and flexible to achieve the premise of the bit width conversion; completion of the present application uses a shift register data bit
  • the conversion greatly reduces the hardware logic resources; the parameterized cross-clock anti-jitter design also has universal applicability, meets the anti-jitter requirements of different clock frequencies, and enhances the stability of the system.
  • FIG. 5 is a schematic structural diagram of a controller provided by the present application.
  • the controller provided by the present application includes one or more processors 51 and a memory. 52. There may be one or more processors 51 in the controller.
  • one processor 51 is taken as an example; the memory 52 is configured to store one or more programs; the one or more programs are controlled by the one or more programs. Is executed by two processors 51, so that the one or more processors 51 implement the method described in the embodiment of the present application.
  • the controller also includes: an input device 53 and an output device 54.
  • the processor 51, the memory 52, the input device 53, and the output device 54 in the controller may be connected by a bus or other methods.
  • the connection by a bus is taken as an example.
  • the input device 53 may be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the controller.
  • the output device 54 may include a display controller such as a display screen.
  • the memory 52 can be configured to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the data bit width conversion method described in the embodiments of the present application.
  • the memory 52 may include a program storage area and a data storage area.
  • the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the controller and the like.
  • the memory 52 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
  • the memory 52 may include a memory remotely provided with respect to the processor 51, and these remote memories may be connected to the controller through a network.
  • Examples of the aforementioned networks include the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
  • An embodiment of the present application further provides a storage medium, where the storage medium stores a computer program, and the computer program implements the data bit width conversion method described in the embodiment of the present application when the computer program is executed by a processor.
  • the method includes:
  • the control information is generated based on the input data bit width and the target data bit width; the shift register is controlled to perform data bit width conversion based on the control information, and the memory is controlled to perform cross-clock operations based on the control information.
  • An embodiment of the application provides a storage medium containing computer-executable instructions.
  • the computer-executable instructions are not limited to the method operations described above, and can also execute the data bit width conversion method provided by any embodiment of the application. Related operations.
  • This application can be implemented by means of software and necessary general-purpose hardware, or can be implemented by hardware.
  • the technical solution of this application can be embodied in the form of a software product.
  • the computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), and random access memory ( Random Access Memory (RAM), flash memory (FLASH), hard disk or optical disk, etc., including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the multiple embodiments described in this application method.
  • the multiple units and modules included are only divided according to the functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, multiple functions
  • the names of the units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of this application.
  • the user terminal covers any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser, or a vehicle-mounted mobile station.
  • wireless user equipment such as a mobile phone, a portable data processing device, a portable web browser, or a vehicle-mounted mobile station.
  • Computer program instructions can be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or written in any combination of one or more programming languages Source code or object code.
  • ISA Instruction Set Architecture
  • the block diagram of any logic flow in the drawings of the present application may represent program steps, or may represent interconnected logical devices, modules, and functions, or may represent a combination of program steps and logical devices, modules, and functions.
  • the computer program can be stored on the memory.
  • the memory can be of any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as ROM, RAM, optical storage devices and systems (Digital Video Disc (DVD) or Compact Disc, CD)) etc.
  • Computer-readable media may include non-transitory storage media.
  • the data processor can be any type suitable for the local technical environment, such as general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSP), application-specific integrated circuits (ASICs), and Programmable logic devices (Field-Programmable Gate Array, FPGA) and processors based on multi-core processor architecture.
  • DSP digital signal processors
  • ASICs application-specific integrated circuits
  • FPGA Programmable logic devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种数据位宽转换方法和装置,所述数据位宽转换方法包括:基于输入数据位宽和目标数据位宽生成控制信息(S11);基于控制信息控制移位寄存器进行数据位宽转换,以及基于所述控制信息控制存储器进行跨时钟操作(S12)。

Description

数据位宽转换方法和装置
本申请要求在2019年12月23日提交中国专利局、申请号为201911342490.2的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及数字通信技术领域,例如涉及一种数据位宽转换方法和装置。
背景技术
在芯片设计过程中,不同功能的模块或者组件会根据各自设计的便捷性和合理性进行独立设计,这样会导致在不同功能的模块或者组件间进行连接时存在位宽不相等的问题。另外,时序装置和存储装置会按照各自的最大支持能力进行设计,时序装置和存储装置之间也会存在对接位宽不匹配的问题。
发明内容
本申请提供一种数据位宽转换方法、装置、控制器及存储介质。
提供一种数据位宽转换方法,包括:基于输入数据位宽和目标数据位宽生成控制信息;基于所述控制信息控制移位寄存器进行数据位宽转换,以及基于所述控制信息控制存储器进行跨时钟操作。
还提供一种数据位宽转换装置,包括:控制器,被配置为基于输入数据位宽和目标数据位宽生成控制信息;移位寄存器,被配置为基于所述控制信息进行数据位宽转换;存储器,被配置为基于所述控制信息进行跨时钟操作。
附图说明
图1为本申请实施例提供的一种数据位宽转换方法的流程示意图;
图2为本申请实施例提供的一种数据位宽转换装置的结构示意图;
图3是本申请实施例提供的一种数据位宽转换装置的原理结构图;
图3a是本申请实施例提供的一种数据位宽转换方法的流程图;
图4是本申请实施例提供的另一种数据位宽转换装置的原理结构图;
图4a是本申请实施例提供的一种数据位宽转换方法的流程图;
图5是本申请提供的一种控制器的结构示意图。
具体实施方式
下文中将结合附图对本申请的实施例进行说明。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在一些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在芯片设计过程中,芯片中的不同功能的模块或者组件会根据各自设计的便捷性和合理性进行独立设计,这样会导致在两个模块或者组件进行连接时存在位宽不相等的问题。另外,由于一些原因,芯片内需要进行数据传输时,在不同地方的数据位宽可能不等。例如在一种工艺下,时序装置在时序收敛的情况下时钟可以跑到1GHz,但是和上述时序装置进行数据交互的存储装置最大支持时钟为750MHz。考虑到面积因素,时序装置和存储装置一般会按照各自的最大支持能力进行设计,时序装置和存储装置之间也会存在对接位宽不匹配的问题。
在高速串行传输中,串行器/解串器(Serializer/Deserializer,Serdes)将不同协议场景的物理编码子层(Physical Coding Sublayer,PCS)与不同物理媒介相关层相连接,实现数据在电缆和光纤等不同物理媒介上的高速传输。但是在不同的协议的应用场景中,对应的物理编码子层PCS的编码方式可能不相同。在相同协议场景下,PCS编码方式也有多种形式。如JESD204B协议采用8B/10B编码,如JESD204C则包含64B/66B和64B/80B;如PCIE协议中的128B/130B编码。在IEEE 802.3协议标准中,不同的传输速率下,PCS内部包含的编码方法不同,例如100BASE-X采用4B/5B编码,1GBASE-R采用8B/10B编码,而10GBASE-R采用64B/66B编码,在50G速率以上时PCS还需要具有分发功能,并且要支持前向纠错(Forward Error Correction,FEC)或者RS前向纠错(Reed Solomon Forward Error Correction,RS-FEC)时,由于FEC/RS-FEC的实现方法的并行度不同,导致PCS与Serdes交互的并行数据的位宽与实现方法的并行度相关。
实际中Serdes一般是以专用互联网协议(Internet Protocol,IP)的形式交付使用者的,由于串并转换技术的技术核心并不在于兼容所有的对接位宽,因此,一款Serdes IP提供给使用者的对接位宽是固定位宽,比如20、和40等固定位宽。这样Serdes往往支持的并行数据位宽与PCS编码输出后的并行位宽并不完 全匹配;另外在一些自定义的需要串行传输技术的通信场景下,发送至Serdes的数据位宽和Serdes所支持的数据位宽不相等。
为了解决上述多种场景下的位宽不匹配的问题,本申请提供一种实现任意数据位宽转换的装置及数据位宽转换的实现方法。
图1为本申请实施例提供的一种数据位宽转换方法的流程示意图。该方法可以适用于针对通信双方的位宽匹配设计的情况。该方法可以由本申请提供的数据位宽转换装置执行,该数据位宽转换装置可以由软件和/或硬件实现。
本申请实施例提供的数据位宽转换方法常应用于芯片内部模块级连接,芯片级级联或背板互连等,广泛适用于通用公共无线电接口(Common Public Radio Interface,CPRI),以太网,高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE),JESD204协议或其他存在数据位宽不匹配的设计场景中。
如图1所示,本申请实施例提供的数据位宽转换方法包括S11和S12。
S11、基于输入数据位宽和目标数据位宽生成控制信息。
S12、基于控制信息控制移位寄存器进行数据位宽转换,以及基于所述控制信息控制存储器进行跨时钟操作。
在一个示例性的实施方式中,所述基于输入数据位宽和目标数据位宽生成控制信息,包括:在所述输入数据位宽小于或等于所述目标数据位宽的情况下,生成第一控制信息;在所述输入数据位宽大于所述目标数据位宽的情况下,生成第二控制信息;其中,所述第一控制信息用于先控制移位寄存器进行数据位宽转换,后控制存储器进行跨时钟操作,所述第二控制信息用于先控制存储器进行跨时钟操作,后控制移位寄存器进行数据位宽转换。
在本实施例中,在所述输入数据位宽小于或等于所述目标数据位宽的情况下,先控制移位寄存器进行数据位宽转换,后控制存储器进行跨时钟操作。在所述输入数据位宽大于所述目标数据位宽的情况下,先控制存储器进行跨时钟操作,后控制移位寄存器进行数据位宽转换。
在一个示例性的实施方式中,在所述控制信息是第一控制信息的情况下,基于所述控制信息控制移位寄存器进行数据位宽转换,包括:控制输入数据输入移位寄存器;将移位寄存器中存储的数据与输入数据进行拼接,生成当前数据量;在所述当前数据量大于或等于目标数据位宽的情况下,控制移位寄存器输出目标数据位宽对应的目标数据至存储器,并生成高电平的数据有效标识,将生成的高电平的数据有效标识输出至存储器。
在一实施例中,在所述控制信息是第一控制信息的情况下,基于所述控制 信息控制移位寄存器进行数据位宽转换,包括:控制输入数据输入移位寄存器;将移位寄存器中存储的数据与输入数据进行拼接,生成当前数据量;在所述当前数据量小于目标数据位宽的情况下,控制移位寄存器的数据按照第一移位量进行移位操作,其中,第一移位量为输入数据位宽。
在一实施例中,在控制移位寄存器输出目标数据位宽对应的目标数据至存储器之后,还包括:控制移位寄存器的数据按照第二移位量进行移位操作,其中,第二移位量为目标数据位宽与当前数据量的差值。
在一实施例中,在所述控制信息是第一控制信息的情况下,基于所述控制信息控制存储器进行跨时钟操作,包括:在数据有效标识为高电平的情况下,将所述目标数据写入存储器;在写入地址达到预设存储深度的情况下,控制存储器启动读操作,读出位宽转换后的目标数据。
在一实施例中,在所述控制信息是第一控制信息的情况下,所述移位寄存器工作在输入数据随路时钟频率下,所述存储器的读操作工作在目标时钟频率下,所述存储器的写操作工作在所述输入数据随路时钟频率下。
在一个示例性的实施方式中,在所述控制信息是第二控制信息的情况下,基于所述控制信息控制存储器进行跨时钟操作,包括:控制存储器的写操作工作在输入数据随路时钟频率下,将输入数据写入存储器;在接收到高电平的读取使能信号的情况下,将存储器中存储的数据按照输入数据位宽读出至移位寄存器。
在一实施例中,将存储器中存储的数据按照输入数据位宽输入至移位寄存器,包括:控制存储器工作在目标时钟频率下,将存储器中存储的数据按照输入数据位宽输入至移位寄存器。
在一实施例中,在所述控制信息是第二控制信息的情况下,基于所述控制信息控制移位寄存器进行数据位宽转换,包括:在所述移位寄存器中当前数据量大于或等于目标数据位宽下,控制移位寄存器输出目标数据位宽对应的目标数据;控制移位寄存器中的数据按照第三移位量进行移位操作,其中,第三移位量为目标数据位宽,所述移位寄存器工作在目标时钟频率下。
在一实施例中,在所述控制信息是第二控制信息的情况下,基于所述控制信息控制移位寄存器进行数据位宽转换,还包括:在所述移位寄存器中当前数据量小于目标数据位宽的情况下,生成高电平的读取使能信号并发送至存储器;接收存储器发送的新数据,将所述新数据与移位寄存器中原有数据进行拼接后,将拼接后的数据按照第四移位量进行移位操作,其中,所述第四移位量为所述目标数据位宽与所述当前数据量的差值。
在一个示例性的实施方式中,所述方法还包括:基于输入数据位宽、目标数据位宽、输入数据随路时钟频率和目标时钟频率,进行时钟防抖动控制。
在一实施例中,时钟防抖动控制,包括:基于防抖检测周期对所述存储器的读地址或写地址进行监测,其中,防抖检测周期是实际存储深度或者实际存储深度的整数倍;如果读地址或写地址的偏差量超过抖动范围,则强制将存储器的读地址或写地址进行调整。
图2为本申请实施例提供的一种数据位宽转换装置的结构示意图。该装置可以适用于针对通信双方的位宽匹配设计的情况。该数据位宽转换装置可以由软件和/或硬件实现。
本申请实施例提供的数据位宽转换装置常应用于芯片内部模块级连接,芯片级级联或背板互连等,广泛适用于CPRI,以太网,PCIE,JESD204协议或其他存在数据位宽不匹配的设计场景中。
如图2所示,本申请实施例提供的数据位宽转换装置包括控制器21、移位寄存器22和存储器23。
控制器21,被配置为基于输入数据位宽和目标数据位宽生成控制信息;移位寄存器22,被配置为基于所述控制信息进行数据位宽转换;存储器23,被配置为基于所述控制信息进行跨时钟操作。
在一个应用性实例中,所述控制器21通过控制信息连线与移位寄存器22和存储器23进行连接,所述移位寄存器22通过数据连线与所述存储器23进行连接。
在一个示例性的实施方式中,控制器21,被配置为在所述输入数据位宽小于或等于所述目标数据位宽的情况下,生成第一控制信息;在所述输入数据位宽大于所述目标数据位宽的情况下,生成第二控制信息;其中,所述第一控制信息用于先控制移位寄存器22进行数据位宽转换,后控制存储器23进行跨时钟操作,所述第二控制信息用于先控制存储器23进行跨时钟操作,后控制移位寄存器22进行数据位宽转换。
在一实施例中,在所述控制信息是第一控制信息的情况下,控制器21,被配置为控制输入数据输入移位寄存器22;移位寄存器22,被配置为将存储的数据与输入数据进行拼接,生成当前数据量;在所述当前数据量大于或等于目标数据位宽的情况下,输出目标数据位宽对应的目标数据至存储器23,并生成高电平的数据有效标识,将生成的高电平的数据有效标识输出至存储器23。
在一实施例中,移位寄存器22,被配置为在所述控制信息是第一控制信息 的情况下,在所述当前数据量小于目标数据位宽的情况下,按照第一移位量进行移位操作,其中,第一移位量为输入数据位宽。
在一实施例中,移位寄存器22,被配置为按照第二移位量进行移位操作,其中,第二移位量为目标数据位宽与当前数据量的差值。
在一实施例中,存储器23,被配置为在数据有效标识为高电平的情况下,将所述目标数据写入存储器23;在写入地址达到预设存储深度的情况下,控制存储器23启动读操作,读出位宽转换后的目标数据。
在一实施例中,在所述控制信息是第一控制信息的情况下,所述移位寄存器22工作在输入数据随路时钟频率下,所述存储器23的读操作工作在目标时钟频率下,所述存储器的写操作工作在所述输入数据随路时钟频率下。
在一个示例性的实施方式中,存储器23,被配置为在所述控制信息是第二控制信息的情况下,写操作工作在输入数据随路时钟频率下,将输入数据写入存储器23;在接收到高电平的读取使能信号的情况下,将存储器23中存储的数据按照输入数据位宽读出至移位寄存器22。
在一实施例中,存储器23,被配置为工作在目标时钟频率下,将存储器23中存储的数据按照输入数据位宽输入至移位寄存器22。
在一实施例中,移位寄存器22,被配置为在所述移位寄存器22中的数据量大于或等于目标数据位宽的情况下,控制移位寄存器22输出目标数据位宽对应的目标数据;控制移位寄存器22中的数据按照第三移位量进行移位操作,其中,第三移位量为目标数据位宽,所述移位寄存器工作在目标时钟频率下。
在一实施例中,移位寄存器22,被配置为在所述移位寄存器22中的数据量小于目标数据位宽的情况下,生成高电平的读取使能信号并将所述高电平的读取使能信号发送至存储器23;接收存储器23发送的新数据,将所述新数据与移位寄存器22中原有数据进行拼接后,将拼接后的数据按照第四移位量进行移位操作,其中,所述第四移位量为所述目标数据位宽与所述当前数据量的差值。
在一个示例性的实施方式中,控制器21,被配置为基于输入数据位宽、目标数据位宽、输入数据随路时钟频率和目标时钟频率,进行时钟防抖动控制。
在一实施例中,控制器21,被配置为基于防抖检测周期对所述存储器23的读地址或写地址进行监测,其中,防抖检测周期是实际存储深度或者实际存储深度的整数倍;如果读地址或写地址偏差量超过抖动范围,则强制将存储器23的读地址或写地址进行调整。
在一实施例中,控制器21通过控制信息连线分别与移位寄存器22和存储器23连接,移位寄存器22和存储器23之间的连线为数据连线,三个器件是实 现任意数据位宽转换方法的核心器件。
数据位宽转换装置可以实现自适应的任意数据位宽转换,只需获取转换前和转换后的数据位宽参数即可,对外交互简单,使用方便。同时该装置通过少量资源实现位宽转换,降低芯片成本,增加收益。
本申请实施例提供的数据位宽转换装置能够广泛适用于通信技术中的芯片内部模块级连接,芯片级级联,和背板互连,如CPRI,以太网,PCIE和JESD204等多种协议场景及不同传输速率需求。该数据位宽转换装置及数据位宽转换方法可以支持两个模块间任意并行数据位宽的转换功能,具有通用性和兼容性;本申请实施例可实现两个需要数据对接的模块不同的并行数据位宽匹配,减少了不同模块的设计约束性。
本申请实施例提供的数据位宽转换装置自适应地实现任意位宽转换的功能,结构简单,减少了硬件逻辑资源;对外交互简单,无需使用者进行复杂调用和设置即可达到使用效果。
在一个应用性实例中,本申请所述的实现任意数据位宽转换的装置的结构包括:存储器、控制器和移位寄存器。其中,控制器设置为对存储器的读写操作进行控制以及根据输入输出位宽来控制移位寄存器的移位操作,存储器设置为在控制器的控制下进行读写操作,完成数据的跨时钟操作;移位寄存器设置为根据控制器的控制信息完成移位操作。
本申请所述的实现任意数据位宽转换的装置及其原理如下:
上述装置对外接口包括输入接口和输出接口。其中,输入接口设置为接收复位信号,输入数据,输入数据有效标志,输入数据随路时钟,和目标数据随路时钟;输出接口设置为输出目标数据。
输入数据位宽W i和目标数据位宽W o,输入数据位宽W i和目标数据位宽W o为任意整数。其中,输入数据速率f data和输入数据速率f data的随路时钟频率f i的比例可以是任意比例,本实施例中不进行限定。在一实施例中,输入数据速率f data和输入数据速率f data的随路时钟频率f i的比例可以是1:1。目标数据速率和目标数据速率的随路时钟频率f o的比例是1:1。为了保证输入输出的数据速率一致,存在关系:W i×f data=W o×f o。本申请实施例中的输入数据即为输入接口接收到的输入数据,目标数据即为输出接口要输出的输出数据。
本申请的装置中存储器完成数据的跨时钟。本实施例中的存储器是双口存储器随机访问存储器(Random Access Memory,RAM),存储器的容量参数分为:存储位宽X和存储深度D,其中,X为输入数据位宽W i和目标数据位宽 W o两参数中的较大值,在输入数据位宽W i和目标数据位宽W o相等的情况下,取任意一个值。
当输入数据位宽W i<=目标数据位宽W o时,输入数据随路时钟频率f i>目标时钟频率f o的情况下,为了避免读写冲突,采取写一半后启动读的策略,写控制信号展宽(f i/f o)×2+1拍,展宽的写控制信号被读时钟正确采样并产生读地址的时间,该时间内不足以让RAM写满,那么需要满足:((f i/f o)+1)/f i+5/f o<=(D/2)×1/f o,由上述公式可以得到存储深度D的最小值,考虑防时钟抖动范围为(-a,+a),实际应用中存储深度取:D+2×a。其中,a表示在一定的监测时长内,容许时钟频率的变化量。
当输入数据位宽W i>目标数据位宽W o时,输入数据随路时钟频率f i<目标时钟频率f o的情况下,此时读比写完成的快,采取写一半后开始读的策略,以避免读写同一地址,以写控制信号不用展宽为例(当1<f o/f i<2时进行2倍展宽),写控制信号被读时钟正确采样并产生读地址的时间,分成两种情况:1)5/f o<=(D/2)×1/f i以防止第一次启动读时,读写操作同时作用于0地址;2)1/f i<=5/f o+(D/2)×1/f i,即读取了一半深度的RAM时,该时间内写地址已经跳到至少D/2+1,由上述第二种情况中的公式可以得到存储深度D的最小值,考虑防时钟抖动为(-a,+a),实际应用中存储深度取:D+2*a。
本申请所涉及的移位寄存器的位宽是输入数据位宽W i与目标数据位宽W o之和,移位寄存器在控制器生成的控制信息控制下完成移位操作。
本申请的装置中的控制器根据输入数据位宽W i和目标数据位宽W o生成控制信息,包括:移位寄存器的移位控制信息;存储器(RAM)的读写控制信息以及防时钟抖动控制信息。
图3是本申请实施例提供的一种数据位宽转换装置的原理结构图。当输入数据位宽W i<=目标数据位宽W o时,数据位宽转换装置的原理结构如图3所示。
在一实施例中,在对移位寄存器进行移位控制时整个装置工作在输入数据随路时钟频率f i下,在对存储器进行读操作时,装置工作在目标时钟频率f o
如图3所示,IN表示外部输入的输入数据,OUT表示最终转换后输出的目标数据。控制器包括2个计数器:数据量计数器out_cnt和移位量计数器shift_cnt,其中,out_cnt表示移位寄存器中待输出的数据量,out_cnt的位宽为:ceil(log 2W o),ceil()为向上取整;其中,shift_cnt表示移位寄存器的移位量,shift_cnt的位宽为:ceil(log 2W i),out_cnt和shift_cnt在初始状态都为0。
如图3所示,输入数据寄存器in_data,设置为寄存外部输入的输入数据。控制器包括4个寄存器:输入打拍寄存器in_reg、移位量寄存器bit_shift_reg、 输出数据寄存器o_data和数据有效标识寄存器o_en,其中,输入打拍寄存器in_reg为位宽为W i的寄存器,设置为对输入数据in_data打拍寄存;其中,移位量寄存器bit_shift_reg为位宽为W i+W o的寄存器,设置为对待输出的目标数据进行寄存以及移位;其中,输出数据寄存器o_data为位宽为W o的寄存器,设置为暂存位宽转换后的目标数据,为移位量寄存器bit_shift_reg中低W o位数据的寄存;其中,o_en信号表示数据有效标识。
图3a是本申请实施例提供的一种数据位宽转换方法的流程图。如图3a所示,本申请实施例提供的数据位宽转换方法包括如下步骤。
S301、将输入数据持续送进移位寄存器。
S302、判断移位寄存器中的待输出的数据量out_cnt是否大于目标数据位宽W o;如果是,则执行S303,若否,则执行S304。
S303、直接将移位寄存器中目标数据送出至存储器RAM,同时移位寄存器进行移位操作,并向存储器RAM输出高电平的数据输出有效标志o_en。
S304、不会将移位寄存器中数据送出,同时移位寄存器进行移位操作。
数据输出有效标志o_en指示移位寄存器是否为有效数据输出。在本实施例中,数据输出有效标志o_en为高电平的情况下指示移位寄存器输出的数据有效。数据输出有效标志o_en为低电平的情况下指示移位寄存器输出的数据无效。本实施例中仅对数据输出有效标志o_en进行说明,而非限定。可以根据实际情况设计其他合理的指示方式。例如:存在数据输出有效标志的情况下指示移位寄存器输出的数据有效,在未生成数据输出有效标志的情况下指示移位寄存器输出的数据无效。
out_cnt表示移位寄存器中待输出的数据量,当当前数据量out_cnt大于或者等于目标数据位宽W o与输入数据位宽W i的差值的情况下,表示下一拍进来输入数据后,达到目标数据位宽,需要进行数据输出,那么,下一拍的计数值等于当前数据量加上输入数据位宽减去输出数据位宽。
当当前数据量out_cnt大于或者等于目标数据位宽W o与输入数据位宽W i的差值的情况下,移位量寄存器bit_shift_reg中数据为新输入数据和上一拍输入数据的拼接,即为({in_data,in_reg})。
将移位量寄存器bit_shift_reg内的数据移出后输出至o_data寄存器,移位量shift_cnt为目标数据位宽减去当前数据量,即(shift_cnt=W o-out_cnt)。
o_data寄存器在下一拍将目标数据输出至存储器RAM。数据有效标志o_en为高电平,用于指示存储器RAM输出的目标数据有效。
out_cnt表示移位寄存器中待输出的数据量,当当前数据量out_cnt小于或等于目标数据位宽W o与输入数据位宽W i的差值的情况下,表示下一拍进来输入数据后,未能达到目标数据位宽,不需要进行数据输出,那么,下一拍的计数值等于当前数据量加上输入数据位宽。
当当前数据量out_cnt小于目标数据位宽W o与输入数据位宽W i的差值的情况下,移位量寄存器bit_shift_reg中数据为新输入数据和上一拍输入数据拼接,即为({in_data,bit_shift_reg})。
当当前数据量out_cnt小于目标数据位宽W o与输入数据位宽W i的差值的情况下,移位量寄存器bit_shift_reg不需要进行数据输出,需要将所有数据完全送入移位寄存器,移位量shift_cnt为输入数据位宽即(shift_cnt=W i)。
在一实施例中,数据有效标志o_en为低电平,用于指示存储器RAM输出的目标数据无效。数据有效标志o_en在W i=W o时是一个持续的高电平,在W i<W o时是一个不连续的高电平信号,当有效标志为高电平时会把移位寄存器的目标数据写入缓存单元RAM,否则不会写入。
当数据写入地址达到存储器RAM存储深度D的一半深度时,启动RAM读操作,RAM读操作工作在目标时钟频率f o下,RAM读操作连续进行,读出的连续数据即为位宽转换后整个装置最终的目标数据。
另一个实施方式,当数据写入地址达到存储器RAM实际存储深度D+2×a的一半深度时,启动RAM读操作,RAM读操作工作在目标时钟频率f o下,RAM读操作连续进行,读出的连续数据即为位宽转换后整个装置最终的目标数据。
在对跨时钟进行时钟防抖动控制时,装置工作在输入数据随路时钟频率f i和目标时钟频率f o下,跨时钟读写周期具有一定的约束关系,W i×f i=W o×f o,同时对存储器RAM的操作也是周期进行的,因此,考虑跨时钟防抖动检测的时间长度为:T=(D+2a)×X,X为不为0整数。即在T间隔时间下,跨时钟存储器的读写地址具有一一对应关系。因此,防抖动控制在写侧产生一周期为T的检测信号,用该检测信号来检测对应的读地址,如果读地址偏差超过(-a,+a),则强制将存储器的读地址进行调整,从而避免读写冲突的产生,完成跨时钟防抖动的设计。
图4是本申请实施例提供的另一种数据位宽转换装置的原理结构图,当W i>=W o时,数据位宽转换装置的原理结构如图4所示。
当输入数据写入地址达到存储器RAM存储深度D的一半深度时,启动RAM读操作,RAM写操作工作在时钟频率f i下,RAM写操作连续进行,写入数据 为整个装置位宽转换前的输入数据;对RAM进行读控制时装置工作在时钟频率f o下,通过数据读取使能信号进行控制读取。
另一个实施方式,当输入数据写入地址达到存储器RAM实际存储深度D+2×a的一半深度时,启动RAM读操作,RAM写操作工作在时钟频率f i下,RAM写操作连续进行,写入数据为整个装置位宽转换前的输入数据;对RAM进行读控制时装置工作在时钟频率f o下,通过数据读取使能信号进行控制读取。
在对移位寄存器进行移位控制时装置工作在时钟频率f o下。
如图4所示,IN表示外部输入的输入数据,OUT表示最终转换后的目标数据。控制器包括2个计数器:数据量计数器out_cnt和移位量计数器shift_cnt,其中,out_cnt表示移位寄存器中待输出的数据量,其位宽为:ceil(log 2W o),ceil()为向上取整;其中,shift_cnt表示移位寄存器的移位量,其位宽为:ceil(log 2W i),out_cnt和shift_cnt在初始状态都为0。
如图4所示,输入数据寄存器in_data,设置为寄存外部输入的输入数据,控制器包括4个寄存器:输入打拍寄存器in_reg、移位量寄存器bit_shift_reg、输出数据寄存器o_data和数据读取使能寄存器o_en。其中,输入打拍寄存器in_reg为位宽为W i的寄存器,设置为对输入数据in_data打拍寄存;其中,移位量寄存器bit_shift_reg为位宽为W i+W o的寄存器,用于对待输出的目标数据进行寄存以及移位;其中,输出数据寄存器o_data为位宽为W o的寄存器,表示位宽转换后的目标数据,为移位量寄存器bit_shift_reg低W o位数据的寄存;其中o_en信号表示数据读取使能信号。
如图4所示,定义1组连线:o_data,其中,o_data为位宽为W o的寄存器,直接连接移位量寄存器bit_shift_reg的低W o位数据。
图4a是本申请实施例提供的一种数据位宽转换方法的流程图。如图4a所示,本申请实施例提供的数据位宽转换方法主要包括如下步骤。
S401、将存储器RAM中的数据送进移位寄存器。
S402、判断移位寄存器中的待输出的数据量out_cnt是否大于目标数据位宽W o;如果是则执行S403,若否则执行S404。
S403、不需要从存储RAM中读取新数据,直接把移位寄存器中数据送出,同时移位寄存器进行移位操作。
S404、需要从RAM中读取新数据,把新读取的数据和移位寄存器中原有数据进行组合移位后送出。
out_cnt表示移位寄存器中待输出的数据量,当当前数据量out_cnt大于或者 等于目标数据位宽W o的情况下,表示移位寄存器中的数据,达到目标数据位宽,需要进行数据输出,那么,下一拍的计数值等于当前数据量减去输出数据位宽。
当当前数据量out_cnt大于或者等于目标数据位宽W o的情况下,移位量寄存器bit_shift_reg中数据为上一拍移位寄存器数据的寄存。
将移位量寄存器bit_shift_reg内的数据移出后输出至o_data寄存器,移位量shift_cnt为目标数据位宽,即(shift_cnt=W o)。
o_data寄存器在下一拍不需要进行数据输入。数据读取使能信号o_en为低电平,用于指示存储器RAM读取的数据无效,即不需要从RAM中读取数据。
out_cnt表示移位寄存器中待输出的数据量,当当前数据量out_cnt小于或等于目标数据位宽W o的情况下,表示当前移位寄存器中的数据量未能达到目标数据位宽,此时需要从RAM获取新的数据才能够进行数据输出,那么,下一拍的计数值等于当前数据量加上输入数据位宽减去输出数据位宽。
当当前数据量out_cnt小于目标数据位宽W o的情况下,移位量寄存器bit_shift_reg中数据为新输入数据和上一拍未输出数据的拼接,即为({in_data,bit_shift_reg})。
当当前数据量out_cnt小于目标数据位宽W o的情况下,移位量寄存器bit_shift_reg不需要进行数据输出,进行移位操作,移位量shift_cnt为目标数据位宽减去当前数据量(shift_cnt=W o-out_cnt)。
移位寄存器在下一拍需要进行数据输入。数据读取使能信号o_en为高电平,用于指示存储器RAM读取的数据有效,即需要从RAM中读取数据。
数据读取使能信号在W i=W o时是一个持续的高电平,在W i<W o时是一个不连续的高电平信号,当数据读取使能信号为高电平时,会对RAM中数据进行读取,同时把读取数据送给移位寄存器,否则不会读取RAM,移位寄存器不会有新数据送入。
在对跨时钟进行时钟防抖动控制时,装置工作在输入数据随路时钟频率f i和目标时钟频率f o下,跨时钟读写周期具有一定的约束关系,即W i×f i=W o×f o,同时对存储器的操作也是周期进行的,因此考虑跨时钟防抖动检测的时间长度为:T=(D+2a)×X,X为不为0整数,也就是在T间隔时间下,跨时钟存储器的读写地址应该是具有一一对应关系。所以防抖动控制在读侧产生一周期为T的检测信号,用该检测信号来检测对应的写地址,如果读地址偏差超过(-a,+a),则强制将存储器的写地址进行调整,从而避免读写冲突的产生,完成跨时钟防抖动的设计。
本申请涉及的W i>=W o和W i<=W o的控制器和移位寄存器通过条件编译在 一种场景下只会生成一种装置,不会有额外装置资源产生。
本申请装置涉及的存储器在W i>=W o和W i<=W o两种场景下位置不同。当W i>=W o时存储器位于装置最前端,此时对存储器进行连续写操作,间断读操作(W i=W o时连续读);当W i<=W o时存储器位于装置最末端,此时对存储器进行连续读操作,间断写操作(W i=W o时连续写)。实际装置中存储器通过条件编译进行复用,不会有额外资源产生。
本申请装置涉及的跨时钟防抖动功能的地址调整在W i>=W o场景下位于连续的写端,在W i<=W o场景下地址调整位于连续的读侧。地址调整位于对RAM进行连续操作的位置,在时钟发生抖动引发地址调整时对整个装置影响最小,增强装置的健壮。
本申请装置涉及的控制器、存储器以及移位寄存器,资源规格参数化,并且仅与W i和W o有关。
本申请装置在W i=W o时完成输入数据到目标数据的跨时钟功能,上述数据位宽转换装置都可完成该功能。
本申请提供的一种实现任意数据位宽转换的方法,能够广泛适用于通信技术中如CPRI,以太网,PCIE和JESD204等多种协议场景及不同传输速率需求,该装置和方法可以支持两个模块之间任意并行数据位宽的转换功能,具有极强的通用性和兼容性;本申请可实现不同模块间的并行数据位宽匹配,减少设计中数据位宽的约束性;本申请对外接口简单,只需参数输入数据位宽W i和目标数据位宽W o即可完成数据位宽转换,在灵活实现位宽转换功能的前提下使用简单方便;本申请采用移位寄存器完成数据位宽的转换,极大的减少了硬件逻辑资源;参数化的跨时钟防抖动设计也具有普遍的适用性,满足不同的时钟频率的防抖动要求,增强了系统的稳定性。
本申请实施例还提供了一种控制器,图5是本申请提供的一种控制器的结构示意图,如图5所示,本申请提供的控制器,包括一个或多个处理器51和存储器52。该控制器中的处理器51可以是一个或多个,图5中以一个处理器51为例;存储器52设置为存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如本申请实施例中所述的方法。
控制器还包括:输入装置53和输出装置54。
控制器中的处理器51、存储器52、输入装置53和输出装置54可以通过总线或其他方式连接,图5中以通过总线连接为例。
输入装置53可设置为接收输入的数字或字符信息,以及产生与控制器的用户设置以及功能控制有关的按键信号输入。输出装置54可包括显示屏等显示控制器。
存储器52作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请实施例所述数据位宽转换方法对应的程序指令/模块。存储器52可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据控制器的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至控制器。上述网络的实例包括互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中所述数据位宽转换方法。所述方法包括:
基于输入数据位宽和目标数据位宽生成控制信息;基于所述控制信息控制移位寄存器进行数据位宽转换,以及基于所述控制信息控制存储器进行跨时钟操作。
本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的数据位宽转换方法中的相关操作。
本申请可借助软件及必需的通用硬件来实现,也可以通过硬件实现。本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请多个实施例所述的方法。
上述数据位宽转换装置的实施例中,所包括的多个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,多个功能单元的名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
本申请的多种实施例可以在硬件或专用装置、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑装置、模块和功能,或者可以表示程序步骤与逻辑装置、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如ROM、RAM、光存储器装置和系统(数码多功能光碟(Digital Video Disc,DVD)或光盘(Compact Disc,CD))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成装置(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Field-Programmable Gate Array,FPGA)以及基于多核处理器架构的处理器。

Claims (15)

  1. 一种数据位宽转换方法,包括:
    基于输入数据位宽和目标数据位宽生成控制信息;
    基于所述控制信息控制移位寄存器进行数据位宽转换,以及基于所述控制信息控制存储器进行跨时钟操作。
  2. 根据权利要求1所述的方法,其中,所述基于输入数据位宽和目标数据位宽生成控制信息,包括:
    在所述输入数据位宽小于或等于所述目标数据位宽的情况下,生成第一控制信息;
    在所述输入数据位宽大于所述目标数据位宽的情况下,生成第二控制信息;
    其中,所述第一控制信息用于先控制所述移位寄存器进行所述数据位宽转换,后控制所述存储器进行所述跨时钟操作,所述第二控制信息用于先控制所述存储器进行所述跨时钟操作,后控制所述移位寄存器进行所述数据位宽转换。
  3. 根据权利要求2所述的方法,其中,在所述控制信息是所述第一控制信息的情况下,所述基于所述控制信息控制移位寄存器进行数据位宽转换,包括:
    控制输入数据输入所述移位寄存器;
    将所述移位寄存器中存储的数据与所述输入数据进行拼接,以及生成当前数据量;
    在所述当前数据量大于或等于所述目标数据位宽的情况下,控制所述移位寄存器输出所述目标数据位宽对应的目标数据至所述存储器,并生成高电平的数据有效标识,将生成的高电平的数据有效标识输出至所述存储器。
  4. 根据权利要求2所述的方法,其中,在所述控制信息是所述第一控制信息的情况下,所述基于所述控制信息控制移位寄存器进行数据位宽转换,包括:
    控制输入数据输入所述移位寄存器;
    将所述移位寄存器中存储的数据与所述输入数据进行拼接,以及生成当前数据量;
    在所述当前数据量小于所述目标数据位宽的情况下,控制所述移位寄存器的数据按照第一移位量进行移位操作,其中,所述第一移位量为所述输入数据位宽。
  5. 根据权利要求3所述的方法,其中,在所述控制所述移位寄存器输出所述目标数据位宽对应的目标数据至所述存储器之后,还包括:
    控制所述移位寄存器的数据按照第二移位量进行移位操作,其中,所述第 二移位量为所述目标数据位宽与所述当前数据量的差值。
  6. 根据权利要求3所述的方法,其中,在所述控制信息是所述第一控制信息的情况下,所述基于所述控制信息控制存储器进行跨时钟操作,包括:
    在所述数据有效标识是高电平的情况下,将所述目标数据写入所述存储器;
    在写入地址达到预设存储深度的情况下,控制所述存储器启动读操作,得到位宽转换后的目标数据。
  7. 根据权利要求1-6中任一项所述的方法,其中,在所述控制信息是第一控制信息的情况下,所述移位寄存器工作在输入数据随路时钟频率下,所述存储器的读操作工作在目标时钟频率下,所述存储器的写操作工作在所述输入数据随路时钟频率下。
  8. 根据权利要求2所述的方法,其中,在所述控制信息是所述第二控制信息的情况下,所述基于所述控制信息控制存储器进行跨时钟操作,包括:
    控制所述存储器的写操作工作在输入数据随路时钟频率下,将输入数据写入所述存储器;
    在接收到高电平的读取使能信号的情况下,将所述存储器中存储的数据按照所述输入数据位宽读出至所述移位寄存器。
  9. 根据权利要求8所述的方法,其中,所述将存储器中存储的数据按照所述输入数据位宽输入至所述移位寄存器,包括:
    控制所述存储器工作在目标时钟频率下,将所述存储器中存储的数据按照所述输入数据位宽输入至所述移位寄存器。
  10. 根据权利要求8所述的方法,其中,在所述控制信息是所述第二控制信息的情况下,所述基于所述控制信息控制移位寄存器进行数据位宽转换,包括:
    在所述移位寄存器中当前数据量大于或等于所述目标数据位宽的情况下,控制所述移位寄存器输出所述目标数据位宽对应的目标数据;
    控制所述移位寄存器的数据按照第三移位量进行移位操作,其中,所述第三移位量为所述目标数据位宽,所述移位寄存器工作在目标时钟频率下。
  11. 根据权利要求8所述的方法,其中,在所述控制信息是所述第二控制信息的情况下,所述基于所述控制信息控制移位寄存器进行数据位宽转换,包括:
    在所述移位寄存器中当前数据量小于所述目标数据位宽的情况下,生成高电平的读取使能信号并将所述高电平的读取使能信号发送至所述存储器;
    接收所述存储器发送的新数据,将所述新数据与所述移位寄存器中原有数 据进行拼接后,将拼接后的数据按照第四移位量进行移位操作,其中,所述第四移位量为所述目标数据位宽与所述当前数据量的差值。
  12. 根据权利要求1所述的方法,还包括:
    基于所述输入数据位宽、所述目标数据位宽、输入数据随路时钟频率和目标时钟频率,进行时钟防抖动控制。
  13. 根据权利要求12所述的方法,其中,所述时钟防抖动控制,包括:
    基于防抖检测周期对所述存储器的读地址或写地址进行监测,其中,所述防抖检测周期是实际存储深度或所述实际存储深度的整数倍;
    在所述读地址或所述写地址的偏差量超过抖动范围的情况下,将所述存储器的读地址或写地址进行调整。
  14. 一种数据位宽转换装置,包括:
    控制器,被配置为基于输入数据位宽和目标数据位宽生成控制信息;
    移位寄存器,被配置为基于所述控制信息进行数据位宽转换;
    存储器,被配置为基于所述控制信息进行跨时钟操作。
  15. 根据权利要求14所述的装置,其中,所述控制器通过控制信息连线与所述移位寄存器和所述存储器进行连接,所述移位寄存器通过数据连线与所述存储器进行连接。
PCT/CN2020/138731 2019-12-23 2020-12-23 数据位宽转换方法和装置 WO2021129689A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911342490.2A CN113094309A (zh) 2019-12-23 2019-12-23 一种数据位宽转换方法和装置
CN201911342490.2 2019-12-23

Publications (1)

Publication Number Publication Date
WO2021129689A1 true WO2021129689A1 (zh) 2021-07-01

Family

ID=76575695

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/138731 WO2021129689A1 (zh) 2019-12-23 2020-12-23 数据位宽转换方法和装置

Country Status (2)

Country Link
CN (1) CN113094309A (zh)
WO (1) WO2021129689A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986792A (zh) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 一种数据位宽转换方法及通信设备
CN114221737A (zh) * 2021-11-01 2022-03-22 深圳市紫光同创电子有限公司 一种基于jesd204b协议的加解扰方法
CN114242138A (zh) * 2021-12-01 2022-03-25 海光信息技术股份有限公司 一种延时控制器、内存控制器以及时序控制方法
CN114265796A (zh) * 2021-11-22 2022-04-01 四川和芯微电子股份有限公司 Ram的读写控制方法
CN116662231A (zh) * 2023-04-26 2023-08-29 珠海妙存科技有限公司 一种基于m-phy接口的速率匹配方法及其存储介质
CN117422024A (zh) * 2023-12-14 2024-01-19 苏州元脑智能科技有限公司 数据位宽转换方法、装置、计算机设备及介质
CN114242138B (zh) * 2021-12-01 2024-06-04 海光信息技术股份有限公司 一种延时控制器、内存控制器以及时序控制方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116049060B (zh) * 2022-01-06 2024-05-03 海光信息技术股份有限公司 数据转换桥电路和数据传输系统
CN114649011B (zh) * 2022-03-31 2024-03-08 西安紫光国芯半导体有限公司 一种存储器的数据传输装置、数据传输方法及相关设备
CN117111859B (zh) * 2023-10-23 2024-03-19 北京紫光芯能科技有限公司 一种数据写入方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468547A (zh) * 2015-11-18 2016-04-06 哈尔滨工业大学 一种基于axi总线的便捷可配置帧数据存取控制系统
CN106294234A (zh) * 2016-08-01 2017-01-04 深圳云天励飞技术有限公司 一种数据传输方法及装置
CN109002409A (zh) * 2017-06-07 2018-12-14 深圳市中兴微电子技术有限公司 一种位宽变换装置及方法
US10374615B2 (en) * 2017-02-24 2019-08-06 Socionext Inc. Transmission circuit and integrated circuit
CN110221994A (zh) * 2018-03-01 2019-09-10 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468547A (zh) * 2015-11-18 2016-04-06 哈尔滨工业大学 一种基于axi总线的便捷可配置帧数据存取控制系统
CN106294234A (zh) * 2016-08-01 2017-01-04 深圳云天励飞技术有限公司 一种数据传输方法及装置
US10374615B2 (en) * 2017-02-24 2019-08-06 Socionext Inc. Transmission circuit and integrated circuit
CN109002409A (zh) * 2017-06-07 2018-12-14 深圳市中兴微电子技术有限公司 一种位宽变换装置及方法
CN110221994A (zh) * 2018-03-01 2019-09-10 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986792A (zh) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 一种数据位宽转换方法及通信设备
CN113986792B (zh) * 2021-10-26 2024-05-24 新华三信息安全技术有限公司 一种数据位宽转换方法及通信设备
CN114221737A (zh) * 2021-11-01 2022-03-22 深圳市紫光同创电子有限公司 一种基于jesd204b协议的加解扰方法
CN114221737B (zh) * 2021-11-01 2023-07-18 深圳市紫光同创电子有限公司 一种基于jesd204b协议的加解扰方法
CN114265796A (zh) * 2021-11-22 2022-04-01 四川和芯微电子股份有限公司 Ram的读写控制方法
CN114265796B (zh) * 2021-11-22 2024-05-14 四川和芯微电子股份有限公司 Ram的读写控制方法
CN114242138A (zh) * 2021-12-01 2022-03-25 海光信息技术股份有限公司 一种延时控制器、内存控制器以及时序控制方法
CN114242138B (zh) * 2021-12-01 2024-06-04 海光信息技术股份有限公司 一种延时控制器、内存控制器以及时序控制方法
CN116662231A (zh) * 2023-04-26 2023-08-29 珠海妙存科技有限公司 一种基于m-phy接口的速率匹配方法及其存储介质
CN117422024A (zh) * 2023-12-14 2024-01-19 苏州元脑智能科技有限公司 数据位宽转换方法、装置、计算机设备及介质
CN117422024B (zh) * 2023-12-14 2024-05-03 苏州元脑智能科技有限公司 数据位宽转换方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
CN113094309A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
WO2021129689A1 (zh) 数据位宽转换方法和装置
US10360096B2 (en) Error handling in transactional buffered memory
US10755156B2 (en) Configurable integrity protected link for secure accelerator communication
US20070055795A1 (en) Data communication system and method with multi-channel power-down and wake-up
CN109857690B (zh) 驱动器的应用系统、驱动器和数据传输方法
KR20120072349A (ko) 이미지 프로세싱 회로 및 이미지 프로세싱 방법
WO2021244065A1 (zh) 一种均衡训练方法、装置及系统
WO2019165954A1 (zh) 一种数据位宽转换的方法及装置、计算机可读存储介质
US10402354B2 (en) Method, apparatus, communication equipment and storage media for determining link delay
US8639851B2 (en) Serial bit processor
CN103577378B (zh) 一种全双工异步串行通信方法
CN114817114B (zh) 一种mipi接口、及其控制方法、装置及介质
EP3065323B1 (en) Transmission method and device based on management data input/output multi-source agreements
WO2018214856A1 (zh) 一种数据处理的方法和设备
US9817784B2 (en) Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product
US11892927B2 (en) Method for error handling of an interconnection protocol, controller and storage device
US7373541B1 (en) Alignment signal control apparatus and method for operating the same
CN113836058A (zh) 一种板卡间数据交换方法、装置、设备及存储介质
US10003456B2 (en) Soundwire XL turnaround signaling
US10429881B2 (en) Semiconductor device for stopping an oscillating clock signal from being provided to an IP block, a semiconductor system having the semiconductor device, and a method of operating the semiconductor device
CN112702377A (zh) 一种数据流转换系统
US20230176932A1 (en) Processor, information processing apparatus, and information processing method
US10846085B2 (en) Multi-lane data processing circuit and system
TWI819976B (zh) 封包辨識系統和封包辨識方法
US20230315672A1 (en) Interface device and computing system including the same

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20907083

Country of ref document: EP

Kind code of ref document: A1