[go: up one dir, main page]

WO2023283886A1 - Register array circuit and method for accessing register array - Google Patents

Register array circuit and method for accessing register array Download PDF

Info

Publication number
WO2023283886A1
WO2023283886A1 PCT/CN2021/106533 CN2021106533W WO2023283886A1 WO 2023283886 A1 WO2023283886 A1 WO 2023283886A1 CN 2021106533 W CN2021106533 W CN 2021106533W WO 2023283886 A1 WO2023283886 A1 WO 2023283886A1
Authority
WO
WIPO (PCT)
Prior art keywords
register
clock
circuit
gating
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2021/106533
Other languages
French (fr)
Chinese (zh)
Inventor
苗云杰
颜丹丹
钟世春
魏侠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202180097789.5A priority Critical patent/CN117280298A/en
Priority to PCT/CN2021/106533 priority patent/WO2023283886A1/en
Publication of WO2023283886A1 publication Critical patent/WO2023283886A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Definitions

  • the embodiments of the present application relate to the field of chip technology, and in particular, to a register array circuit and a method for accessing the register array.
  • registers can be used to temporarily store instructions and data.
  • the information is generally stored in the data-clock mode, that is, the data input terminal (data terminal) corresponds to the data information bit, and the clock input terminal corresponds to the control signal. Under the action of the control signal, the information is written into the register instantaneously.
  • the registers of all addresses share the write data bus. When there is data transmission on the write data bus, the write data bus will be flipped, and the flip will be transmitted to the data ends of all address registers, because there is only one address register in one cycle. Write data, so it will cause useless circuit flips inside the registers of the unselected addresses in the register array, and each flip in the circuit is accompanied by power consumption, so these useless flips in the internal circuits of the registers will cause Wasted power.
  • the data end of the register of the unselected address can also be turned off through the AND gate or the NAND gate device (the register of the unselected address The data ends of the registers are turned off separately or grouped according to the address), which can avoid invalid flipping of the internal circuit of the register of the unselected address.
  • this method will increase the number of windings and circuit area, resulting in difficulties in physical implementation, and additional power consumption will be introduced when the AND gate or NAND gate is in operation.
  • Embodiments of the present application provide a register array circuit and a method for accessing the register array, which can reduce useless flipping in the register array circuit when the register array circuit performs storage, thereby reducing power consumption.
  • the embodiment of the present application provides a register array circuit.
  • the register array circuit includes a plurality of registers and a plurality of gated clock circuits corresponding to the plurality of registers.
  • the gated clock circuit is used to output the gated clock.
  • the multiple registers include a first register, the first register is a rising edge trigger register, and the first clock gate circuit corresponding to the first register is an OR gate clock circuit.
  • the first gating clock circuit is configured to output a gating clock clamped to a high level to the first register when the first register is not being accessed for writing.
  • the gating clock circuit corresponding to the rising-edge trigger register will output a gating clock clamped to a high level to the first register, that is, the clock of the rising-edge trigger register
  • the input terminal is clamped to a high level, which will cause the rising edge to trigger the internal SI and D terminal selection circuit of the register and the low-pass circuit in the low-pass high-lock latch circuit to be non-conductive, so it will not cause flipping, thereby avoiding power consumption waste.
  • the first gating clock circuit when the first register is accessed for writing, that is, when the address corresponding to the first register is selected, the first gating clock circuit is also used to switch the gating clock output to the first register from a high level to Transition to low level, that is, the clock input terminal of the first register transitions from high level to low level, and clamps to low level, and then the gating clock output to the first register transitions from low level is a high level, that is, the clock input end of the first register transitions from a low level to a high level.
  • the gating clock output to the first register transitions from low level to high level, that is, when the clock input terminal of the first register transitions from low level to high level, the first register is written with data .
  • the rising edge triggers the internal SI and D terminal selection circuit of the register and the low-pass circuit in the low-pass high-lock latch circuit will only be turned on for a period of time when the write access is performed, and there is a phenomenon of circuit reversal until the data is written.
  • the rising-edge trigger register internal SI and D terminal selection circuit and low-pass high latch After the high-pass low-lock latch circuit, that is, after the data is written into the rising-edge trigger register, when the rising-edge trigger register is not executed for write access, the rising-edge trigger register internal SI and D terminal selection circuit and low-pass high latch The low-pass circuit in the lock circuit will not be turned on, thereby avoiding waste of power consumption.
  • each of the plurality of gated clock circuits further includes a first input terminal (ie, a data input terminal) and a second input terminal (ie, a clock input terminal), and the first input terminal Coupled with the write address bus shared by each clock gating circuit, the second input end is used to receive the write clock signal shared by each clock gating circuit.
  • each address has a corresponding clock gate circuit, and the output of the clock gate circuit is related to the address information indicated by the write address bus and the write clock signal.
  • the output of the register is clamped to a high-level gating clock, that is, the clock input terminal of the register of the address is clamped to a high level, thereby avoiding waste of power consumption.
  • the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected. Therefore, when the address is not selected, the gated clock circuit corresponding to the address does not perform a jump, and the register of the address is not accessed for writing, and the gated clock circuit corresponding to the address will clamp the output to the register of the address as A high-level gated clock will clamp the clock input terminal of the register at the address to a high level, thereby avoiding waste of power consumption.
  • the embodiment of the present application provides a register array circuit
  • the register array circuit includes a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one by one, and the gating clock circuit is used to output gating to the register clock.
  • the multiple registers include a first register, the first register is a falling edge trigger register, and the first clock gate circuit corresponding to the first register is an AND gate clock circuit.
  • the first gating clock circuit is configured to output a gating clock clamped to a low level to the first register when the first register is not being accessed for writing.
  • the gating clock circuit corresponding to the falling edge trigger register will output a gating clock clamped to a low level to the first register, that is, when the falling edge trigger register is not being written and accessed, the clock of the falling edge trigger register
  • the input terminal is clamped to a low level, which will make the SI and D terminal selection circuits inside the falling edge trigger register and the high-pass circuit in the high-pass low-lock latch circuit non-conductive, so no flipping will be caused, thereby avoiding waste of power consumption.
  • the first gating clock circuit when the first register is accessed for writing, that is, when the address corresponding to the first register is selected, the first gating clock circuit is also used to switch the gating clock output to the first register from a low level to Jump to high level, that is, the clock input terminal of the first register is changed from low level to high level, and clamped to high level, and then the gating clock output to the first register is changed from high level to high level is low level, that is, the clock input end of the first register transitions from high level to low level.
  • the falling edge triggers the internal SI and D terminal selection circuits of the register and the high-pass circuit in the high-pass low-lock latch circuit will only be turned on for a period of time when the write access is performed, and there is a phenomenon of circuit reversal.
  • the falling-edge trigger register internal SI and D terminal selection circuit and high-pass low-lock latch circuit
  • the high-pass circuit in the circuit will not conduct, thus avoiding waste of power consumption.
  • each of the plurality of gated clock circuits further includes a first input terminal (ie, a data input terminal) and a second input terminal (ie, a clock input terminal), and the first input terminal Coupled with the write address bus shared by each clock gating circuit, the second input end is used to receive the write clock signal shared by each clock gating circuit.
  • each address has a corresponding clock gate circuit, and the output of the clock gate circuit is related to the address information indicated by the write address bus and the write clock signal.
  • the output of the register is clamped to a low-level gated clock, that is, the clock input terminal of the register of the address is clamped to a low level, thereby avoiding waste of power consumption.
  • the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected. Therefore, when the address is not selected, the gated clock circuit corresponding to the address does not perform a jump, and the register of the address is not accessed for writing, and the gated clock circuit corresponding to the address will clamp the output to the register of the address as A low-level gated clock will clamp the clock input terminal of the register of the address to a low level, thereby avoiding waste of power consumption.
  • the embodiment of the present application provides a method for accessing a register array.
  • the method is applied to a register array circuit.
  • the register array circuit includes a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one by one.
  • the controlled clock circuit is used to output the gated clock to the register.
  • the multiple registers include a first register, the first register is a rising edge trigger register, and the first clock gate circuit corresponding to the first register is an OR gate clock circuit.
  • the first gating clock circuit outputs a gating clock clamped to a high level to the first register, that is, the clock input end of the first register is clamped to a high level.
  • the gating clock output to the first register through the first gating clock circuit jumps from a high level to a low level, that is, the first register The clock input end of the clock transitions from high level to low level and is clamped to low level, and then the gating clock output to the first register transitions from low level to high level, that is, the first register The clock input terminal transitions from low level to high level.
  • the gating clock output to the first register transitions from low level to high level, that is, when the clock input end of the first register transitions from low level to high level, write data to the first register .
  • each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, and the first input terminal shares the write address bus with each clock gating circuit Coupling, the second input terminal is used to receive the write clock signal shared with each gating clock circuit.
  • the signal passing through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.
  • the embodiment of the present application provides a method for accessing a register array, and the method is applied to a register array circuit.
  • the register array circuit includes a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one-to-one.
  • the controlled clock circuit is used to output the gated clock to the register.
  • the multiple registers include a first register, the first register is a falling edge trigger register, and the first clock gate circuit corresponding to the first register is an AND gate clock circuit.
  • the first gating clock circuit When it is determined that the first register is not being accessed for writing, the first gating clock circuit outputs a gating clock clamped to a low level to the first register, that is, the clock input end of the first register is clamped to a low level.
  • the beneficial effects achieved in the fourth aspect can be referred to the beneficial effects in the second aspect.
  • the gating clock output to the first register through the first gating clock circuit jumps from a low level to a high level, that is, the first register The clock input end of the clock transitions from low level to high level, and is clamped to high level, and then the gating clock output to the first register transitions from high level to low level, that is, the first register The clock input terminal transitions from high level to low level.
  • the gating clock output to the first register transitions from high level to low level, that is, when the clock input terminal of the first register transitions from high level to low level, write data to the first register .
  • each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, and the first input terminal shares the write address bus with each clock gating circuit Coupling, the second input terminal is used to receive the write clock signal shared with each gating clock circuit.
  • the signal passing through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.
  • a computer-readable storage medium includes computer instructions.
  • the computer instructions When the computer instructions are run on the electronic device, the electronic device executes the method described in the third aspect and any possible design of the third aspect. .
  • a computer-readable storage medium includes computer instructions, and when the computer instructions are run on the electronic device, the electronic device executes the method described in the fourth aspect and any possible design of the fourth aspect .
  • a computer program product when the computer program product is run on a computer, causes an electronic device to execute the method described in the above third aspect and any possible design of the third aspect.
  • a computer program product when the computer program product is run on a computer, causes an electronic device to execute the method described in the fourth aspect and any possible design of the fourth aspect.
  • Fig. 1 is a schematic diagram of a register array circuit
  • FIG. 2 is a timing diagram of a register array circuit
  • 3 is a schematic diagram of another register array circuit
  • FIG. 4A is a schematic diagram of a register array circuit provided by an embodiment of the present application.
  • FIG. 4B is a schematic diagram of another register array circuit provided by the embodiment of the present application.
  • FIG. 5 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
  • FIG. 6A is a schematic diagram of an internal circuit of a register
  • FIG. 6B is a schematic diagram of another register internal circuit
  • FIG. 7A is a schematic diagram of a register array circuit provided by an embodiment of the present application.
  • FIG. 7B is a schematic diagram of an internal structure of an OR-gated clock circuit provided in an embodiment of the present application.
  • FIG. 7C is a schematic timing diagram of an OR-gated clock circuit provided in an embodiment of the present application.
  • FIG. 7D is a schematic diagram of another register array circuit provided by the embodiment of the present application.
  • FIG. 7E is a schematic diagram of the internal structure of an AND-gated clock circuit provided in an embodiment of the present application.
  • FIG. 7F is a schematic timing diagram of an AND-gated clock circuit provided in the embodiment of the present application.
  • FIG. 8 is a schematic diagram of a method for accessing a register array provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of another method for accessing a register array provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a register array circuit provided by an embodiment of the present application.
  • FIG. 11 is a schematic timing diagram of a register array circuit provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram of another register array circuit provided by the embodiment of the present application.
  • FIG. 13 is a schematic timing diagram of another register array circuit provided by an embodiment of the present application.
  • FIG. 14 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
  • Clock Each memory element in the circuit is controlled by the clock. Only when the clock signal arrives, the state of the memory element can change, so that the output of the sequential circuit changes, and each time a clock signal comes, the state of the memory element and The output state of the circuit can only be changed once.
  • the clock signal is a write clock signal
  • the write clock signal is periodically reversed, that is, a 0-1 level transition is performed, from a low level to a high level, Or perform a 1-0 level transition, from a high level to a low level.
  • Clock gating circuit By turning off the temporarily unused function on the chip and the corresponding clock of the function, the purpose of saving current consumption can be achieved.
  • clock gating By turning off the temporarily unused function on the chip and the corresponding clock of the function, the purpose of saving current consumption can be achieved.
  • the register corresponding to the gated clock circuit is not written with data; data is written.
  • the output end of the clock gating circuit jumps, data is written into the register corresponding to the clock gating circuit.
  • Data bus Carrying data information, the data information can be instructions, audio, video or pictures and other data.
  • the data bus when data is written to the register array, the data bus can be a write data bus (write data bus).
  • write data bus When there is data transmission in the write data bus, the write data bus will perform a 0-1 level jump, that is A low level transition to a high level, or a 1-0 level transition, that is, a high level transition to a low level.
  • the level transition of the write data bus can be understood as data inversion.
  • Address bus Carrying address information, the address bus can be divided into a write address bus and a read address bus.
  • the write address bus indicates that the data information on the data bus needs to be written into the address information of the corresponding cache (ie register), and the read address bus indicates that the address information of the corresponding cache needs to be read from the cache.
  • the rising edge trigger register performs data writing when its clock input terminal transitions from low level to high level
  • the falling edge trigger register performs data writing when its clock input terminal transitions from high level to low level.
  • the internal circuit of the rising edge trigger register may include a scan input (scan input, SI) and a data (data, D) terminal
  • the three-part circuit is a selection circuit, a low-pass high-lock latch circuit and a high-pass low-lock latch circuit.
  • the register array circuit is shown in Figure 1, and the register array circuit includes a register array composed of a plurality of registers (in the prior art, they are all rising-edge triggered registers) and an AND-gated clock corresponding to each register. Circuit (AND clock gating). Wherein, when the output end of the gate-controlled clock circuit does not make a transition, the output remains at a low level, and at this time, no data is written into the register corresponding to the gate-controlled clock circuit.
  • the register array includes, for example, 0 address registers, 1 address registers, ..., n address registers, etc. (n is an integer greater than 1) shown in FIG. Registers, ..., registers of address n, that is, the addresses corresponding to each register are different.
  • each register is coupled to the corresponding output terminal b of the gating clock circuit, and the data input terminal c of each register shares the write data bus.
  • one input terminal d is controlled by the write address bus (write address bus) shared by each gate-controlled clock circuit, and the other input terminal e is used to receive each gate-controlled clock circuit
  • the write clock signal shared by the circuit is controlled by the address of the write address bus.
  • the address of the write address bus may be different in different clock cycles. In different clock cycles, the address information indicated by the write address bus may be 0, 1, ..., n, respectively representing the selected address 0, address 1, ..., address n.
  • the output terminal corresponding to the 0 address register and the gate-controlled clock circuit carried out a rising edge jump (the output terminal of the gate-controlled clock circuit is determined by Low level transitions to high level), the other unselected address registers correspond to the output terminal of the gated clock circuit without jumping (the output terminal of the gated clock circuit remains low), write data
  • the data information carried on the bus is written into the 0 address register when the output terminal of the gate-controlled clock circuit performs a rising edge transition.
  • FIG. 2 it is a timing diagram of the register array circuit in FIG. 1 .
  • the jump position corresponding to the output end of the gated clock circuit corresponding to the register shown in FIG. 2 can be adjusted according to the actual circuit, and the timing diagram is only an example.
  • the registers of all addresses share the write data bus, as long as the write data bus performs data reversal (that is, there is data transmission in the write data bus), the data terminals of all address registers (such as input c in Figure 1) will be reversed .
  • the outputs of the output terminals corresponding to the other unselected addresses and the gated clock circuit are kept low.
  • the internal SI and D terminal selection circuit of the register, the low-pass circuit in the low-pass high-latch latch circuit, and the inverter flipping cause the unselected address.
  • the present application proposes a register array circuit, which can be located in an electronic device, such as integrated in a chip.
  • the register arrays when the register arrays are all rising-edge trigger registers, the registers of the addresses that are not accessed by write
  • the clock input end of the register of each address is controlled by using the OR clock gating circuit (OR clock gating), wherein, the output end of the OR gating clock circuit remains high, that is, no write
  • OR clock gating circuit OR clock gating
  • the output end of the OR gating clock circuit remains high, that is, no write
  • the clock input terminal of the accessed register is kept at a high level, and when the output terminal of the OR-gated clock circuit is kept at a high level, the SI and D terminal selection circuits inside the register and the low-pass circuit in the low-pass high-lock latch circuit It will not be turned on, so that it can reduce the flipping of the internal circuit of the register, avoid the waste of power consumption, and can also reduce the number of
  • the register array circuits are all falling-edge trigger registers
  • the clock input ends of the registers of each address are controlled by using the AND gating clock circuit, wherein, the AND gating
  • the output terminal output of the clock circuit remains low level, that is, the clock input terminal input of the register that is not being written and accessed remains low level.
  • the SI and D The high-pass circuit in the terminal selection circuit and the high-pass low-lock latch circuit will not be turned on, thereby reducing the flipping of the internal circuit of the register, avoiding waste of power consumption, reducing the number of windings and circuit area, and reducing the complexity of physical implementation.
  • the embodiment of the present application may be applied to a register array circuit.
  • the register array circuit includes devices such as a gate control clock unit and a register array.
  • the clock gating unit is an OR gating clock circuit.
  • the clock gating unit is an AND gating clock circuit.
  • One of the two input terminals of the clock gating unit receives the write clock signal, and the other is coupled to the write address bus to receive address information indicated by the write address bus.
  • the output end of the clock gating unit is used to control whether data is written into the register corresponding to the clock gating unit, and the output end of the clock gating unit and the output end of the write data bus are coupled to the register array.
  • the output end of the clock gating unit jumps, the data information carried by the write data bus is written into the register corresponding to the clock gating unit.
  • each gated clock unit has its corresponding register, and each register corresponds to a different address, and the registers of all addresses are collectively referred to as a register array.
  • the embodiment of the present application can be applied to a register array composed of various types of registers.
  • the register can be a register with a rising edge trigger on the SI terminal, a register with a falling edge trigger on the SI terminal, or a register without a rising edge on the SI terminal.
  • Flip-flops and flip-flops without SI terminal falling edge, etc. are not limited.
  • FIG. 5 shows a schematic diagram of the hardware structure of an electronic device.
  • the electronic device may include the chip in the embodiment of the present application.
  • the chip 500 is exemplified. chip.
  • the chip 500 may include a processor 501, a memory 502, a bus 503, and the like.
  • the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the chip 500 .
  • the chip 500 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange different components.
  • the illustrated components can be realized in hardware, software or a combination of software and hardware.
  • the processor 501 may include one or more processing units.
  • the processor 501 may include a graphics processing unit (graphics processing unit, GPU), a central processing unit (central processing unit, CPU), and/or a neural network processing unit (neural network processing unit, NPU), etc.
  • graphics processing unit graphics processing unit
  • CPU central processing unit
  • NPU neural network processing unit
  • different processing units may be independent components, or may be integrated in one or more processors.
  • chip 500 may also include one or more processors 501 .
  • the processor 501 can be understood as the nerve center and command center of the chip 500 .
  • the operation control signal can be generated according to the instruction opcode and timing signal, and the control of fetching and executing instructions can be completed.
  • Memory 502 may be a cache unit for storing instructions and data.
  • the memory 502 includes the register array and the clock gating unit provided in the embodiments of the present application.
  • the memory 502 may be independent of the processor 501 . That is, the memory 502 may be connected to the processor 501 through the bus 503 and used for storing data, instructions or program codes.
  • the processor 501 calls and executes the instructions or program codes stored in the memory 502, it can be implemented by calling the register array circuit provided by the embodiment of the present application.
  • the data end of the register of the unselected address of the chip is flipped, and the gate clock input to the register is low.
  • the scene that causes the internal circuit of the register to perform invalid inversion is introduced through the register array circuit that uses the gated clock circuit to control the level value of the gated clock input to the register corresponding to each address.
  • the ports of the register include a data input terminal (D terminal), a clock input terminal (CLK terminal), a scan input terminal (SI terminal), a scan enable signal input terminal (SE terminal) and a signal output terminal (Q terminal).
  • the D terminal is coupled to the write data bus outside the register to receive data information
  • the CLK terminal is coupled to the output terminal of the gating clock unit outside the register to receive the gating clock
  • the SI terminal is used to input the scan during the register test Signal
  • the SE terminal is used to control the working mode of the register.
  • the SE input When the SE input is low, it is the normal working mode of the register (that is, data is written), and when the SE terminal is high, it is the register scan mode (that is, the register is tested).
  • the Q terminal is used to transmit the output signal.
  • the internal circuit of the register includes SI and D terminal selection circuits, low-pass high-lock latch circuit and high-pass low-lock latch circuit, etc.
  • the CLK terminal is coupled to the SI and D terminal selection circuits, the low-pass high latch circuit and the high-pass low latch circuit, and the CLK terminal includes the CLK terminal and the CLK_bb terminal in FIG. 6A (the signal input to the CLK_bb terminal is opposite to that of the CLK terminal).
  • SE end, SI end and D end are coupled to the input end of SI and D end selection circuit, and the output end of SI and D end selection circuit is coupled to the low-pass circuit in the low-pass high-lock latch circuit (that is, CLK0 among Fig. 6A and CLK0_b partial circuit), the output of the low-pass high latch latch circuit is coupled to the high-pass circuit in the high-pass low latch latch circuit (i.e. CLK2 and CLK2_b partial circuit in Figure 6A), the output of the high-pass low latch latch circuit The terminal is coupled to the Q terminal through the output inverter circuit.
  • the low-pass high-lock latch circuit can be understood as temporarily storing the data information transmitted by the output terminals of the SI and D terminal selection circuits, and only when the data information is stored in the high-pass low-lock latch circuit, the register is completed data write.
  • the internal circuit of the register is shown in Figure 6B.
  • the output terminals of the SI and D terminal selection circuits are coupled to the high-pass circuit in the high-pass low-lock latch circuit (that is, the high-pass circuit in Figure 6B CLK0 and CLK0_b part of the circuit)
  • the output of the high-pass low-lock latch circuit is coupled to the low-pass circuit in the low-pass high-lock latch circuit (i.e. CLK2 and CLK2_b part of the circuit in Figure 6B)
  • the low-pass high lock The output terminal of the latch circuit is coupled to the Q terminal through the output inverter circuit.
  • the high-pass low-lock latch circuit can be understood as temporarily storing the data information transmitted by the output terminals of the SI and D terminal selection circuits. Only when the data information is stored in the low-pass high-lock latch circuit, the register is completed. data write.
  • the register is a falling-edge trigger register
  • the SE terminal inputs a low level and is in normal working mode
  • the CLK output is a high level
  • CLK0 and CLK0_b in Figure 6B are turned on, and if the D terminal flips to a low level at this time, Then the circuits D0, SE0 and CLK0 are turned on to transmit the data information of the D terminal, and if the D terminal is flipped to a high level, the circuits D0_b, SE0_b and CLK0_b are turned on to transmit the data information of the D terminal.
  • FIG. 7A it is a schematic diagram of a register array circuit provided by an embodiment of the present application, and the register array circuit includes: a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one by one.
  • the gating clock circuit is used to output the gating clock to the register.
  • Each of the multiple registers corresponds to a different address.
  • Each register includes a data input terminal and a clock input terminal.
  • the data input terminal of each register is coupled to the write data bus shared by each register.
  • the clock input terminal of each register Both terminals are coupled with the output terminals of the corresponding gated clock circuit, the multiple registers include a first register, the first register is a rising edge trigger register, and the first gated clock circuit corresponding to the first register is an OR gated clock circuit.
  • the multiple registers may include a first register, a second register, and an Nth register (N is an integer greater than 1), all of which are rising edge triggered registers.
  • Each register corresponds to a gated clock circuit
  • the gated clock circuit corresponding to the first register is the first gated clock circuit
  • the gated clock circuit corresponding to the second register is the second gated clock circuit
  • the Nth register corresponds to
  • the gated clock circuit is the Nth gated clock circuit, etc.
  • each gated clock circuit is an OR gated clock circuit.
  • the data input end of the first register is the input end f
  • the input end f is coupled to the write data bus.
  • the clock input terminal of the first register is the input terminal g, and the input terminal g is coupled with the output terminal h of the first gating clock circuit. It can be understood that the inversion on the write data bus can invert some circuits inside the first register through the input terminal g, and the output terminal of the first gating clock circuit is used to output the gating clock to the first register to control whether the first register is data input.
  • the first clock gating circuit is configured to output a clock gating clamped to a high level to the first register when no write access is performed on the first register.
  • the first gated clock circuit is an OR-gated clock circuit, as shown in FIG. 7B , which is a schematic diagram of the internal structure of the OR-gated clock circuit, which is composed of a high-pass low-lock latch, an inverter, and an OR gate.
  • the high-pass low-lock latch has two input terminals, an enable terminal (E terminal) and a clock input terminal (CLK terminal).
  • the enable terminal is used to receive the address information indicated by the write address bus.
  • the enable terminal input is at a high level, which means that the address corresponding to the OR-gated clock circuit is selected, or the register corresponding to the OR-gated clock circuit is executed for write access.
  • the clock input is used to receive the write clock signal shared by each OR-gated clock circuit.
  • the output terminal (Q terminal) of the high-pass low-lock latch is coupled to one input terminal of the OR gate through an inverter, and the other input terminal of the OR gate is used to receive the write clock signal shared by each OR gate clock circuit, or the gate
  • the signal output by the output terminal of the OR gate control clock circuit is the gate control clock output.
  • FIG. 7C The timing diagram of the OR-gated clock circuit shown in FIG. 7B is shown in FIG. 7C , and the address corresponding to the OR-gated clock circuit shown in FIG. 7B is address 1 as an example.
  • the write clock signal is flipped periodically, and when the address information indicated by the write address bus is not address 1, that is, when the address corresponding to the OR-gated clock circuit is not selected, the high-pass low-lock latch in Figure 7B is enabled terminal input is low level. After the low level input by the enable terminal and the write clock signal pass through the high-pass low-lock latch, the output terminal of the high-pass low-lock latch is low-level, and the low-level output of the output terminal of the high-pass low-lock latch passes through the inverter.
  • the output terminal of the phaser outputs a high level, and after the high level output by the inverter and the write clock signal pass through the OR gate, the OR gate outputs a high level, that is, the output terminal of the OR gate control clock circuit outputs a high level. It can be understood that when a certain address is not selected, that is, when the register corresponding to a certain address is not accessed for writing, the output end of the clock gating circuit corresponding to the register outputs a high level.
  • the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected.
  • the first gating clock circuit outputs a gating clock clamped to a high level to the first register , it can be understood that the first clock gating circuit clamps the clock input terminal of the first register to a high level.
  • the SI and D terminal selection circuits inside the rising-edge trigger register and the low-pass circuit in the low-pass high-lock latch circuit will not be turned on, thereby reducing the rising-edge trigger
  • the internal circuit of the register flips over to avoid waste of power consumption.
  • the first gating clock circuit when the first register is accessed for writing, is also used to transition the gating clock output to the first register from a high level to a low level, and clamp it to a low level level, and then the gating clock output to the first register jumps from low level to high level.
  • the first register is written with data.
  • Figure 7C taking the address corresponding to the OR-gated clock circuit shown in Figure 7B as address 1 as an example, when the address information indicated by the write address bus is address 1, that is, the address corresponding to the OR-gated clock circuit is When selected, the high-pass low-lock latch enable terminal input in FIG. 7B is at a high level.
  • the output terminal of the high-pass low latch latch is high level (the output high level does not necessarily align with the period of the write clock signal), and the high-pass low latch latch latch
  • the inverter output terminal outputs a low level
  • the OR gate outputs a low level, that is, the OR The output terminal of the gating clock circuit outputs a low level.
  • the output terminal of the OR-gated clock circuit outputs low level for a period of time, it will jump from low level to high level, and the output terminal of the OR-gated clock circuit will jump from low level to high level
  • the data is written into the register corresponding to the OR-gated clock circuit.
  • the gating clock corresponding to the register or output from the output terminal of the clock gating circuit will jump from high level to Low level, and continue to output low level for a period of time, then jump from low level to high level, and write data into the register at the moment of transition from low level to high level.
  • the jump position of the output terminal of the OR-gated clock circuit corresponding to the register shown in FIG. 7B can be adjusted according to the actual circuit, and the timing diagram is only an example.
  • the write access of the first register can be understood as the address corresponding to the first register is selected, at this time, the first gating clock circuit will first output the gating clock to the first register from a high level transition is low level, that is, the first gating clock circuit jumps the clock input terminal of the first register from high level to low level, and clamps it to low level, which can be understood as the rising edge triggers the SI and
  • the low-pass circuit in the D-terminal selection circuit and the low-pass high-lock latch circuit is turned from non-conductive to conductive, and the data information transmitted by the D-terminal is stored in the low-pass high-lock latch circuit.
  • the gated clock output by the first gated clock circuit to the first register changes from a low level to a high level, that is, the first gated clock circuit changes the clock input terminal of the first register from a low level to a high level. high level.
  • the first register is written It can be understood that the high-pass low-lock latch circuit inside the rising edge trigger register is turned on at the moment when the clock input terminal of the first register jumps from low level to high level. At this time, the low-pass high latch circuit The data information stored in the lock circuit is written into the high-pass low-lock latch circuit, which is equivalent to writing data into the first register.
  • each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, the first input terminal is coupled to a write address bus shared by each clock gating circuit,
  • the first input terminal can be understood as the enable terminal in FIG. 7B
  • the second input terminal is used to receive the write clock signal shared with each gating clock circuit
  • the second input terminal can be understood as the clock input terminal in FIG. 7B .
  • the first gate-controlled clock circuit includes a first input terminal i and a second input terminal j, the first input terminal i of the first gate-controlled clock circuit is coupled to the write address bus, and the first gate The second input terminal j of the clock control circuit is used to receive the write clock signal.
  • the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected.
  • the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected.
  • the signal at the first input end of the first gating clock circuit corresponding to the first register is used to indicate The first address of a register is not selected.
  • the signal at the first input end of the first gating clock circuit is used to indicate that the first address is not selected.
  • the OR gate clock circuit when the register array is a rising edge triggered register, the OR gate clock circuit outputs a gate that is clamped to a high level to a register that is not subjected to write access.
  • Clock that is, the clock input terminal of the register that is not being written and accessed is clamped to a high level, so that the SI and D terminal selection circuits inside the register and the low-pass circuit in the low-pass high-lock latch circuit are not turned on, and SI and D
  • the D-terminal selection circuit, the low-pass circuit in the low-pass high-lock latch circuit, and the inverter do not flip over, thereby avoiding waste of power consumption, improving power consumption utilization, reducing the number of windings and circuit area, and at the same time Ease of physical realization.
  • FIG. 7D it is a schematic diagram of another register array circuit provided by an embodiment of the present application.
  • the register array circuit includes: a plurality of registers and a plurality of clock gating circuits corresponding to the plurality of registers one by one.
  • the gating clock circuit is used to output the gating clock to the register.
  • Each of the multiple registers corresponds to a different address.
  • Each register includes a data input terminal and a clock input terminal.
  • the data input terminal of each register is coupled to the write data bus shared by each register.
  • the clock input terminal of each register Both terminals are coupled with the output terminals of the corresponding gated clock circuit, the multiple registers include a first register, the first register is a falling edge trigger register, and the first gated clock circuit corresponding to the first register is an AND gated clock circuit.
  • the multiple registers may include a first register, a second register, and an Nth register (N is an integer greater than 1), all of which are falling edge triggered registers.
  • Each register corresponds to a gated clock circuit
  • the gated clock circuit corresponding to the first register is the first gated clock circuit
  • the gated clock circuit corresponding to the second register is the second gated clock circuit
  • the Nth register corresponds to
  • the gated clock circuit is the Nth gated clock circuit, etc.
  • each gated clock circuit is an AND gated clock circuit.
  • the data input terminal of the first register is the input terminal k
  • the input terminal k is coupled to the write data bus.
  • the clock input end of the first register is the input end l, and the input end l is coupled to the output end m of the first gating clock circuit. It can be understood that the inversion on the write data bus can cause some internal circuits of the first register to invert through the input terminal 1, and the output terminal of the first gating clock circuit is used to output the gating clock to the first register to control whether the first register is data input.
  • the first clock gating circuit is configured to output a clock gating clamped to a low level to the first register when no write access is performed on the first register.
  • the first gated clock circuit is an AND-gated clock circuit, as shown in FIG. 7E , which is a schematic diagram of the internal structure of the AND-gated clock circuit, which is composed of a low-pass high-lock latch, an inverter and an AND gate.
  • the low-pass high-lock latch has two input terminals, an enable terminal (E terminal) and a clock input terminal (CLK terminal).
  • the enable terminal is used to receive the address information indicated by the write address bus. When the address information indicated by the write address bus is When the address information indicated by the write address bus is When the address of the register corresponding to the gated clock circuit is set, the input of the enable terminal is at a high level, which means that the address corresponding to the gated clock circuit is selected, and the register corresponding to the gated clock circuit is executed for write access.
  • a clock input is used to receive each write clock signal shared with the clock gating circuit.
  • the output terminal (Q terminal) of the low-pass high-lock latch is coupled with one input terminal of the AND gate, and the other input terminal of the AND gate is used to receive the write clock signal shared by each gate-controlled clock circuit, and the output terminal of the AND gate
  • the output signal is the gate control clock output by the gate control clock circuit.
  • the timing diagram of the gated clock circuit shown in FIG. 7E is shown in FIG. 7F , and the address corresponding to the gated clock circuit shown in FIG. 7E is address 1 as an example.
  • the write clock signal is periodically reversed.
  • the address information indicated by the write address bus is not address 1, that is, when the address corresponding to the gated clock circuit is not selected, the low-pass high-lock latch in Fig. 7E enables The energy terminal input is low level.
  • the AND gate outputs a low level, that is, the output terminal of the AND gate control clock circuit outputs a low level. It can be understood that when a certain address is not selected, that is, when the register corresponding to a certain address is not accessed for writing, the output end of the clock gating circuit corresponding to the register outputs a low level.
  • the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected.
  • the first clock gating circuit outputs a gating clock clamped to a low level to the first register , it can be understood that the first gating clock circuit clamps the clock input terminal of the first register to a low level.
  • the SI and D terminal selection circuits inside the falling-edge trigger register and the high-pass circuit in the high-pass low-lock latch circuit will not be turned on, thereby reducing the internal frequency of the falling-edge trigger register. The circuit flips over to avoid wasting power consumption.
  • the first gating clock circuit when the first register is accessed for writing, is also used to transition the gating clock output to the first register from a low level to a high level, and clamp it to a high level level, and then the gating clock output to the first register jumps from high level to low level.
  • the first register is written with data.
  • FIG. 7F taking the address corresponding to the gated clock circuit shown in FIG. 7E as address 1 as an example, when the address information indicated by the write address bus is address 1, that is, the address corresponding to the gated clock circuit is When selected, the input of the low-pass high-lock latch enable terminal in FIG. 7E is at a high level.
  • the output terminal of the low-pass high-lock latch is high level (the output high level does not necessarily align with the period of the write clock signal), and the low-pass After the high level output from the high-lock latch output terminal and the write clock signal pass through the AND gate, the AND gate outputs a high level, that is, the output terminal of the AND gate control clock circuit outputs a high level.
  • the output terminal of the AND-gated clock circuit outputs a high level for a period of time, it will jump from a high level to a low level, and the output terminal of the AND-gated clock circuit will change from a high level to a low level
  • data is written into the register corresponding to the gated clock circuit.
  • the gating clock corresponding to the register and the output terminal of the clock gating circuit will jump from low level to High level, and continue to output high level for a period of time, then jump from high level to low level, and write data into the register at the moment of transition from high level to low level.
  • the jump position corresponding to the output end of the gated clock circuit corresponding to the register shown in FIG. 7E can be adjusted according to the actual circuit, and the timing diagram is only an example.
  • the write access of the first register can be understood as the address corresponding to the first register is selected, at this time, the first gating clock circuit will first output the gating clock to the first register from a low level transition is a high level, that is, the first gating clock circuit jumps the clock input terminal of the first register from a low level to a high level, and clamps it to a high level, which can be understood as a falling edge triggering the SI and
  • the high-pass circuit in the D-terminal selection circuit and the high-pass low-lock latch is changed from being turned on to being turned on, and the data information transmitted by the D-terminal is stored in the high-pass low-lock latch circuit.
  • the gated clock output by the first gated clock circuit to the first register changes from a high level to a low level, that is, the first gated clock circuit changes the clock input terminal of the first register from a high level to a low level. low level.
  • the gating clock output to the first register transitions from a high level to a low level, that is, at the moment when the clock input terminal of the first register transitions from a high level to a low level
  • the first register is written It can be understood that the low-pass high-lock latch circuit inside the falling edge trigger register is turned on at the moment when the clock input terminal of the first register jumps from high level to low level. At this time, the high-pass low latch circuit The data information stored in the lock circuit is written into the low-pass high-lock latch circuit, which is equivalent to writing data into the first register.
  • each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, the first input terminal is coupled to a write address bus shared by each clock gating circuit,
  • the first input terminal can be understood as the enable terminal in FIG. 7E
  • the second input terminal is used to receive the write clock signal shared with each gating clock circuit
  • the second input terminal can be understood as the clock input terminal in FIG. 7E .
  • the first clock gating circuit includes a first input terminal o and a second input terminal p, the first input terminal o of the first clock gating circuit is coupled to the write address bus, and the first gate The second input terminal p of the clock control circuit is used to receive the write clock signal.
  • the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected.
  • the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected.
  • the signal at the first input end of the first gating clock circuit corresponding to the first register is used to indicate The first address of a register is not selected.
  • the signal at the first input end of the first gating clock circuit is used to indicate that the first address is not selected.
  • the AND gating clock circuit when the register array is a falling-edge trigger register, the AND gating clock circuit outputs a gate that is clamped to a low level to a register that is not subjected to write access.
  • an embodiment of the present application provides a flow chart of a method for accessing a register array.
  • the register is a rising edge triggered register. That is, the gated clock unit of the OR clock gating circuit in FIG. 4A can be the first gated clock circuit in FIG. 7A, the write address bus in FIG. 4A is the write address bus in FIG. 7A, and the register array in FIG. 4A Including the first register in Fig. 7A and so on.
  • This method is applied to the register array circuit shown in FIG. 7A .
  • the method includes:
  • Step 801 when it is determined that the first register is not subject to write access, a signal through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.
  • the first gating clock circuit corresponding to the first register A signal at the first input of the first register indicates that the first address of the first register is not selected.
  • Step 802 when it is determined that the first register is not subject to write access, output a gated clock clamped to a high level to the first register through the first gated clock circuit.
  • the first register when it is determined that the first register is not being accessed for write access, it can be understood that when it is determined that the address corresponding to the first register is not selected, the first register is sent to the first register through the first gating clock circuit. Outputting a gated clock clamped to a high level, that is, clamping the clock input terminal of the first register to a high level through the first gated clock circuit.
  • the clock input terminal of the rising-edge trigger register remains high, the SI and D terminal selection circuits inside the rising-edge trigger register and the low-pass circuit in the low-pass high-lock latch circuit will not be turned on, thereby reducing the rising-edge trigger
  • the internal circuit of the register flips over to avoid waste of power consumption.
  • the gating clock output to the first register through the first gating clock circuit jumps from a high level to a low level, that is, the clock of the first register The input end transitions from high level to low level, and is clamped to low level, and then the gating clock output to the first register transitions from low level to high level, that is, the clock of the first register The input terminal transitions from low level to high level, and when the clock input terminal of the first register transitions from low level to high level, data is written into the first register.
  • the specific control process of the first clock gate circuit on the clock input terminal of the first register and the process of writing data to the first register can refer to the above description of FIG. 7A .
  • an OR-gated clock circuit when the register array is a rising-edge-triggered register, an OR-gated clock circuit outputs a gated clock clamped to a high level to the first register, The clock input terminal of the register that is not being written and accessed is clamped to a high level, so that the SI and D terminal selection circuits inside the register and the low-pass circuit in the low-pass high-lock latch circuit are not turned on, and no flipping is performed. Furthermore, the waste of power consumption is avoided, the utilization rate of power consumption is improved, the number of winding wires and the circuit area are reduced, and at the same time, it is convenient for physical realization.
  • an embodiment of the present application provides a flow chart of a method for accessing a register array.
  • the register is a falling edge trigger register. That is, the gated clock unit comprising the clock gating circuit in FIG. 4B can be the first gated clock circuit in FIG. 7D, the write address bus in FIG. 4B is the write address bus in FIG. 7D, and the register array in FIG. 4B Including the first register in Fig. 7D and so on.
  • This method is applied to the register array circuit shown in FIG. 7D .
  • the method includes:
  • Step 901. When it is determined that the first register is not subject to write access, a signal through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.
  • the first gating clock circuit corresponding to the first register A signal at the first input of the first register indicates that the first address of the first register is not selected.
  • Step 902 When it is determined that the first register is not being accessed for writing, output a gate clock clamped to a low level to the first register through the first gate clock circuit.
  • the first register when it is determined that the first register is not being accessed for writing, it can be understood that when it is determined that the address corresponding to the first register is not selected, the first register is sent to the first register through the first gating clock circuit. Outputting the gated clock clamped to a low level, that is, clamping the clock input end of the first register to a low level through the first gated clock circuit.
  • the clock input terminal of the falling-edge trigger register remains low, the SI and D terminal selection circuits inside the falling-edge trigger register and the high-pass circuit in the high-pass low-lock latch circuit will not be turned on, thereby reducing the internal frequency of the falling-edge trigger register. The circuit flips over to avoid wasting power consumption.
  • the gating clock output to the first register through the first gating clock circuit jumps from a low level to a high level, that is, the clock of the first register The input terminal transitions from low level to high level, and clamps to high level, and then the gating clock output to the first register transitions from high level to low level, that is, the clock of the first register The input terminal transitions from high level to low level, and when the clock input terminal of the first register transitions from high level to low level, data is written into the first register.
  • the specific control process of the first clock gate circuit on the clock input terminal of the first register and the process of writing data to the first register can refer to the above description of FIG. 7B .
  • the AND gate clock circuit when the register array is a falling-edge triggered register, the AND gate clock circuit outputs a gate clock clamped to a low level to the first register, The clock input terminal of the register that is not being written and accessed is clamped to a low level, so that the SI and D terminal selection circuits inside the register and the high-pass circuit in the high-pass low-lock latch circuit are not turned on, and no flipping is performed, thereby avoiding It causes waste of power consumption, improves the utilization rate of power consumption, reduces the number of winding wires and circuit area, and is convenient for physical realization at the same time.
  • FIG. 10 uses FIG. 10 as an example to introduce a register array circuit provided by an embodiment of the present application, wherein the register array is a rising edge triggered register.
  • the register array includes, for example, 0 address registers, 1 address registers, and n address registers (n is an integer greater than 1) shown in FIG.
  • the address corresponding to each register is different.
  • the clock input terminal r of each register is coupled to the output terminal s of the corresponding OR-gated clock circuit, and the data input terminal q of each register shares the write data bus.
  • one input terminal t is controlled by the write address bus shared by each OR-gated clock circuit, and the other input terminal u is used to receive the write clock shared by each OR-gated clock circuit Signal.
  • the output terminal of the gate clock circuit corresponding to the register that has not been performed write access clamps the clock input terminal of the register to a high level, so that the internal SI and D terminal selection circuits of the register and the low-pass high latch
  • the low-pass circuit in the lock is not turned on, and does not flip over, thereby avoiding waste of power consumption, improving the utilization rate of power consumption, reducing the number of winding wires and circuit area, and at the same time, it is convenient for physical realization.
  • FIG. 11 it is a timing diagram of the register array circuit in FIG. 10 .
  • the jump position of the output terminal of the OR-gated clock circuit corresponding to the register shown in FIG. 11 can be adjusted according to the actual circuit, and the timing diagram is only an example.
  • FIG. 12 uses FIG. 12 as an example to introduce another register array circuit provided by the embodiment of the present application, wherein the register array is a falling edge trigger register.
  • the register array includes, for example, 0 address registers, 1 address registers, and n address registers (n is an integer greater than 1) shown in FIG.
  • the address corresponding to each register is different.
  • the clock input terminal w of each register is coupled to the corresponding output terminal x of the gating clock circuit, and the data input terminal v of each register shares the write data bus.
  • one input terminal y is controlled by each write address bus shared with the gate-controlled clock circuit, and the other input terminal z is used to receive each write clock shared with the gate-controlled clock circuit Signal.
  • the output terminal corresponding to the 0 address register and the gate-controlled clock circuit carried out a falling edge jump (the output terminal of the gate-controlled clock circuit is determined by High level transitions to low level), the other unselected address registers correspond to the output terminal of the gated clock circuit without jumping (the output terminal of the gated clock circuit remains low), write data
  • the data information carried on the bus is written into the 0 address register when the output end of the gate-controlled clock circuit performs a falling edge transition.
  • the output end of the gate control clock circuit corresponding to the register that has not been executed write access clamps the clock input end of the register to a low level, so that the internal SI and D end selection circuits of the register and the high-pass low-lock latch
  • the high-pass circuit in the circuit is not turned on, and does not flip over, thereby avoiding waste of power consumption, improving the utilization rate of power consumption, reducing the number of windings and circuit area, and at the same time, it is convenient for physical realization.
  • FIG. 13 it is a timing diagram of the register array circuit in FIG. 12 .
  • the jump position corresponding to the output end of the gated clock circuit corresponding to the register shown in FIG. 13 can be adjusted according to the actual circuit, and the timing diagram is only an example.
  • the above-mentioned electronic device includes corresponding hardware structures and/or software modules for performing each function.
  • the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software in combination with the example units and algorithm steps described in the embodiments disclosed herein. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the embodiments of the present application.
  • the embodiments of the present application may divide the above-mentioned electronic device into functional modules according to the above-mentioned method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiment of the present application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • the embodiment of the present application discloses an electronic device 1400 , and the electronic device 1400 may be the chip in the above embodiment.
  • the electronic device 1400 may include a processing module and a memory module.
  • the processing module can be used to determine the address information indicated by the write address bus, and send the address information of the register to be accessed to the storage module through the write address bus, and send the data to be written to the storage module through the write data bus.
  • the storage module can be used to support the electronic device 1400 to store program codes and data, and can also be used to support the electronic device 1400 to execute the above steps 801 , 802 , 901 and 902 .
  • the unit modules in the above electronic device 1400 include but not limited to the above processing module and storage module.
  • the processing module may be a processor 1401 (such as the processor 501 shown in FIG. 5 ), and the storage module may be a memory 1402 (such as the memory 502 shown in FIG. 5 ).
  • the electronic device 1400 provided in the embodiment of the present application may be the chip 500 shown in FIG. 5 .
  • the processor and the memory may be coupled together, for example, the processor is coupled to the memory through a write address bus and a write data bus.
  • the embodiment of the present application also provides an electronic device, including one or more processors and one or more memories.
  • the one or more memories are coupled with one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device performs
  • the above related method steps implement the method for limiting power consumption in the above embodiments.
  • the embodiment of the present application also provides a computer-readable storage medium, in which computer program code is stored.
  • the processor executes the computer program code
  • the electronic device executes the method for accessing the register array in the above-mentioned embodiment.
  • Embodiments of the present application also provide a computer program product, which, when running on a computer, causes the computer to execute the above-mentioned related steps, so as to implement the method for accessing the register array performed by the electronic device in the above-mentioned embodiments.
  • the electronic device, computer storage medium, computer program product or chip provided in this embodiment is all used to execute the corresponding method provided above, therefore, the beneficial effects it can achieve can refer to the corresponding method provided above The beneficial effects in the method will not be repeated here.
  • the disclosed devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be Incorporation or may be integrated into another device, or some features may be omitted, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may be one physical unit or multiple physical units, that is, it may be located in one place, or may be distributed to multiple different places . Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a readable storage medium.
  • the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the software product is stored in a storage medium Among them, several instructions are included to make a device (which may be a single-chip microcomputer, a chip, etc.) or a processor (processor) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: various media that can store program codes such as U disk, mobile hard disk, read only memory (ROM), random access memory (random access memory, RAM), magnetic disk or optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)

Abstract

A register array circuit and a method for accessing a register array, relating to the technical field of chips, for use in solving the problem of useless flipping when the register array circuit is stored, thereby achieving the technical effects of decreasing useless flipping in the register array circuit and reducing power consumption. When registers in the register array circuit are rising-edge trigger registers, if a certain rising-edge trigger register is not subjected to write access, a gating clock clamped to a high level is output to the rising-edge trigger register by means of an OR gated clock circuit. When the registers in the register array circuit are falling-edge trigger registers, if a certain falling-edge trigger register is not subjected to write access, a gating clock clamped to a low level is output to the falling-edge trigger register by means of an AND gated clock circuit.

Description

一种寄存器阵列电路和访问寄存器阵列的方法Register array circuit and method for accessing register array 技术领域technical field

本申请实施例涉及芯片技术领域,尤其涉及一种寄存器阵列电路和访问寄存器阵列的方法。The embodiments of the present application relate to the field of chip technology, and in particular, to a register array circuit and a method for accessing the register array.

背景技术Background technique

随着数字化社会发展的推进,电路设计对存储的需求越来越大,例如基于寄存器阵列或者随机存取存储器(random access memory,RAM)实现小容量存储。基于寄存器阵列实现小容量存储时,寄存器(register)可用来暂存指令和数据等。With the development of the digital society, the demand for storage in circuit design is increasing, such as small-capacity storage based on register arrays or random access memory (random access memory, RAM). When small-capacity storage is implemented based on a register array, registers can be used to temporarily store instructions and data.

对于寄存器,信息的存入一般采用数据-时钟方式,即数据输入端(数据端)对应数据信息位,时钟输入端对应控制信号,在控制信号作用下,瞬时地将信息写入寄存器。对于寄存器阵列,所有地址的寄存器共享写数据总线,当写数据总线有数据传输时,写数据总线会产生翻转,翻转会传到所有地址的寄存器的数据端,由于一个周期内只有一个地址的寄存器进行数据写入,因此会导致寄存器阵列中未被选中的地址的寄存器内部产生无用的电路翻转,而电路中的每次翻转都伴随着功耗的产生,因此寄存器内部电路的这些无用翻转会造成功耗浪费。For the register, the information is generally stored in the data-clock mode, that is, the data input terminal (data terminal) corresponds to the data information bit, and the clock input terminal corresponds to the control signal. Under the action of the control signal, the information is written into the register instantaneously. For the register array, the registers of all addresses share the write data bus. When there is data transmission on the write data bus, the write data bus will be flipped, and the flip will be transmitted to the data ends of all address registers, because there is only one address register in one cycle. Write data, so it will cause useless circuit flips inside the registers of the unselected addresses in the register array, and each flip in the circuit is accompanied by power consumption, so these useless flips in the internal circuits of the registers will cause Wasted power.

目前,在使用门控时钟电路对寄存器的时钟输入端进行控制的基础上,还可以通过与门或与非门器件对未选中的地址的寄存器的数据端进行关断(未选中的地址的寄存器的数据端分别关断或者根据地址进行分组关断),可以避免未选中的地址的寄存器内部电路产生无效翻转。但是这种方法会导致绕线数量和电路面积增加,从而导致物理实现困难,且与门或与非门在运作时也会引入额外的功耗。At present, on the basis of using the gated clock circuit to control the clock input end of the register, the data end of the register of the unselected address can also be turned off through the AND gate or the NAND gate device (the register of the unselected address The data ends of the registers are turned off separately or grouped according to the address), which can avoid invalid flipping of the internal circuit of the register of the unselected address. However, this method will increase the number of windings and circuit area, resulting in difficulties in physical implementation, and additional power consumption will be introduced when the AND gate or NAND gate is in operation.

发明内容Contents of the invention

本申请实施例提供一种寄存器阵列电路和访问寄存器阵列的方法,可以在寄存器阵列电路进行存储时,减少寄存器阵列电路中的无用翻转,从而降低功耗。Embodiments of the present application provide a register array circuit and a method for accessing the register array, which can reduce useless flipping in the register array circuit when the register array circuit performs storage, thereby reducing power consumption.

为达到上述目的,本申请实施例采用如下技术方案:In order to achieve the above purpose, the embodiment of the present application adopts the following technical solutions:

第一方面,本申请实施例提供了一种寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为上升沿触发寄存器,与第一寄存器对应的第一门控时钟电路为或门控时钟电路。第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为高电平的门控时钟。由此,上升沿触发寄存器未被执行写访问时,该上升沿触发寄存器对应的门控时钟电路会向第一寄存器输出钳位为高电平的门控时钟,即该上升沿触发寄存器的时钟输入端被钳位为高电平,会使得上升沿触发寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路不导通,因此不会造成空翻,从而避免功耗浪费。In the first aspect, the embodiment of the present application provides a register array circuit. The register array circuit includes a plurality of registers and a plurality of gated clock circuits corresponding to the plurality of registers. The gated clock circuit is used to output the gated clock. The multiple registers include a first register, the first register is a rising edge trigger register, and the first clock gate circuit corresponding to the first register is an OR gate clock circuit. The first gating clock circuit is configured to output a gating clock clamped to a high level to the first register when the first register is not being accessed for writing. Therefore, when the rising-edge trigger register is not being written and accessed, the gating clock circuit corresponding to the rising-edge trigger register will output a gating clock clamped to a high level to the first register, that is, the clock of the rising-edge trigger register The input terminal is clamped to a high level, which will cause the rising edge to trigger the internal SI and D terminal selection circuit of the register and the low-pass circuit in the low-pass high-lock latch circuit to be non-conductive, so it will not cause flipping, thereby avoiding power consumption waste.

在一种可能的设计中,第一寄存器被执行写访问时,即第一寄存器对应的地址被选中时,第一门控时钟电路还用于向第一寄存器输出的门控时钟由高电平跳变为低电平,即将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,再向第 一寄存器输出的门控时钟由低电平跳变为高电平,即第一寄存器的时钟输入端由低电平跳变为高电平。其中,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,即在第一寄存器的时钟输入端由低电平跳变为高电平时,第一寄存器被写入数据。由此,上升沿触发寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路只会在被执行写访问时导通一段时间,存在电路翻转现象,等到数据被写入到高通低锁闩锁电路之后,即数据被写入到上升沿触发寄存器之后,该上升沿触发寄存器不被执行写访问时,上升沿触发寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路将不导通,进而避免功耗浪费。In a possible design, when the first register is accessed for writing, that is, when the address corresponding to the first register is selected, the first gating clock circuit is also used to switch the gating clock output to the first register from a high level to Transition to low level, that is, the clock input terminal of the first register transitions from high level to low level, and clamps to low level, and then the gating clock output to the first register transitions from low level is a high level, that is, the clock input end of the first register transitions from a low level to a high level. Wherein, when the gating clock output to the first register transitions from low level to high level, that is, when the clock input terminal of the first register transitions from low level to high level, the first register is written with data . Therefore, the rising edge triggers the internal SI and D terminal selection circuit of the register and the low-pass circuit in the low-pass high-lock latch circuit will only be turned on for a period of time when the write access is performed, and there is a phenomenon of circuit reversal until the data is written. After the high-pass low-lock latch circuit, that is, after the data is written into the rising-edge trigger register, when the rising-edge trigger register is not executed for write access, the rising-edge trigger register internal SI and D terminal selection circuit and low-pass high latch The low-pass circuit in the lock circuit will not be turned on, thereby avoiding waste of power consumption.

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端(即数据输入端)和第二输入端(即时钟输入端),第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。由此,每个地址都有对应的门控时钟电路,门控时钟电路的输出与写地址总线指示的地址信息和写时钟信号有关,可以控制门控时钟电路在地址未被选中时向该地址的寄存器输出钳位为高电平的门控时钟,即将该地址的寄存器的时钟输入端钳位为高电平,从而避免功耗浪费。In a possible design, each of the plurality of gated clock circuits further includes a first input terminal (ie, a data input terminal) and a second input terminal (ie, a clock input terminal), and the first input terminal Coupled with the write address bus shared by each clock gating circuit, the second input end is used to receive the write clock signal shared by each clock gating circuit. Thus, each address has a corresponding clock gate circuit, and the output of the clock gate circuit is related to the address information indicated by the write address bus and the write clock signal. The output of the register is clamped to a high-level gating clock, that is, the clock input terminal of the register of the address is clamped to a high level, thereby avoiding waste of power consumption.

在一种可能的设计中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。由此,地址未被选中时,该地址对应的门控时钟电路不进行跳变,该地址的寄存器未被执行写访问,该地址对应的门控时钟电路会向该地址的寄存器输出钳位为高电平的门控时钟,即会将该地址的寄存器的时钟输入端钳位为高电平,从而避免功耗浪费。In a possible design, when the first register is not being accessed for writing, the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected. Therefore, when the address is not selected, the gated clock circuit corresponding to the address does not perform a jump, and the register of the address is not accessed for writing, and the gated clock circuit corresponding to the address will clamp the output to the register of the address as A high-level gated clock will clamp the clock input terminal of the register at the address to a high level, thereby avoiding waste of power consumption.

第二方面,本申请实施例提供了一种寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为下降沿触发寄存器,与第一寄存器对应的第一门控时钟电路为与门控时钟电路。第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为低电平的门控时钟。由此,该下降沿触发寄存器对应的门控时钟电路会向第一寄存器输出钳位为低电平的门控时钟,即该下降沿触发寄存器未被执行写访问时,下降沿触发寄存器的时钟输入端被钳位为低电平,会使得下降沿触发寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高通电路不导通,因此不会造成空翻,从而避免功耗浪费。In the second aspect, the embodiment of the present application provides a register array circuit, the register array circuit includes a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one by one, and the gating clock circuit is used to output gating to the register clock. The multiple registers include a first register, the first register is a falling edge trigger register, and the first clock gate circuit corresponding to the first register is an AND gate clock circuit. The first gating clock circuit is configured to output a gating clock clamped to a low level to the first register when the first register is not being accessed for writing. Thus, the gating clock circuit corresponding to the falling edge trigger register will output a gating clock clamped to a low level to the first register, that is, when the falling edge trigger register is not being written and accessed, the clock of the falling edge trigger register The input terminal is clamped to a low level, which will make the SI and D terminal selection circuits inside the falling edge trigger register and the high-pass circuit in the high-pass low-lock latch circuit non-conductive, so no flipping will be caused, thereby avoiding waste of power consumption.

在一种可能的设计中,第一寄存器被执行写访问时,即第一寄存器对应的地址被选中时,第一门控时钟电路还用于向第一寄存器输出的门控时钟由低电平跳变为高电平,即将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平,即第一寄存器的时钟输入端由高电平跳变为低电平。其中,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,即在第一寄存器的时钟输入端由高电平跳变为低电平时,第一寄存器被写入数据。由此,下降沿触发寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高通电路只会在被执行写访问时导通一段时间,存在电路翻转现象,等到数据被写入到低通高锁闩锁电路之后,即数据被写入到下降沿触发寄存器之后,该下降沿触发寄存器不被执行写访问时,下降沿触发寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高 通电路将不导通,进而避免功耗浪费。In a possible design, when the first register is accessed for writing, that is, when the address corresponding to the first register is selected, the first gating clock circuit is also used to switch the gating clock output to the first register from a low level to Jump to high level, that is, the clock input terminal of the first register is changed from low level to high level, and clamped to high level, and then the gating clock output to the first register is changed from high level to high level is low level, that is, the clock input end of the first register transitions from high level to low level. Wherein, when the gating clock output to the first register transitions from a high level to a low level, that is, when the clock input terminal of the first register transitions from a high level to a low level, the first register is written into the data . Therefore, the falling edge triggers the internal SI and D terminal selection circuits of the register and the high-pass circuit in the high-pass low-lock latch circuit will only be turned on for a period of time when the write access is performed, and there is a phenomenon of circuit reversal. Wait until the data is written to the low After the high-pass latch circuit, that is, after the data is written into the falling-edge trigger register, when the falling-edge trigger register is not executed for write access, the falling-edge trigger register internal SI and D terminal selection circuit and high-pass low-lock latch circuit The high-pass circuit in the circuit will not conduct, thus avoiding waste of power consumption.

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端(即数据输入端)和第二输入端(即时钟输入端),第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。由此,每个地址都有对应的门控时钟电路,门控时钟电路的输出与写地址总线指示的地址信息和写时钟信号有关,可以控制门控时钟电路在地址未被选中时向该地址的寄存器输出钳位为低电平的门控时钟,即将该地址的寄存器的时钟输入端钳位为低电平,从而避免功耗浪费。In a possible design, each of the plurality of gated clock circuits further includes a first input terminal (ie, a data input terminal) and a second input terminal (ie, a clock input terminal), and the first input terminal Coupled with the write address bus shared by each clock gating circuit, the second input end is used to receive the write clock signal shared by each clock gating circuit. Thus, each address has a corresponding clock gate circuit, and the output of the clock gate circuit is related to the address information indicated by the write address bus and the write clock signal. The output of the register is clamped to a low-level gated clock, that is, the clock input terminal of the register of the address is clamped to a low level, thereby avoiding waste of power consumption.

在一种可能的设计中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。由此,地址未被选中时,该地址对应的门控时钟电路不进行跳变,该地址的寄存器未被执行写访问,该地址对应的门控时钟电路会向该地址的寄存器输出钳位为低电平的门控时钟,即会将该地址的寄存器的时钟输入端钳位为低电平,从而避免功耗浪费。In a possible design, when the first register is not being accessed for writing, the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected. Therefore, when the address is not selected, the gated clock circuit corresponding to the address does not perform a jump, and the register of the address is not accessed for writing, and the gated clock circuit corresponding to the address will clamp the output to the register of the address as A low-level gated clock will clamp the clock input terminal of the register of the address to a low level, thereby avoiding waste of power consumption.

第三方面,本申请实施例提供了一种访问寄存器阵列的方法,该方法应用于寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为上升沿触发寄存器,与第一寄存器对应的第一门控时钟电路为或门控时钟电路。当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,即将第一寄存器的时钟输入端钳位为高电平。第三方面所达到的有益效果可以参见第一方面中有益效果。In the third aspect, the embodiment of the present application provides a method for accessing a register array. The method is applied to a register array circuit. The register array circuit includes a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one by one. The controlled clock circuit is used to output the gated clock to the register. The multiple registers include a first register, the first register is a rising edge trigger register, and the first clock gate circuit corresponding to the first register is an OR gate clock circuit. When it is determined that the first register is not being accessed for writing, the first gating clock circuit outputs a gating clock clamped to a high level to the first register, that is, the clock input end of the first register is clamped to a high level. For the beneficial effects achieved in the third aspect, please refer to the beneficial effects in the first aspect.

在一种可能的设计中,当确定第一寄存器被执行写访问时,通过第一门控时钟电路向第一寄存器输出的门控时钟由高电平跳变为低电平,即将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,再向第一寄存器输出的门控时钟由低电平跳变为高电平,即再将第一寄存器的时钟输入端由低电平跳变为高电平。其中,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,即在第一寄存器的时钟输入端由低电平跳变为高电平时,向第一寄存器写入数据。In a possible design, when it is determined that the first register is being accessed for writing, the gating clock output to the first register through the first gating clock circuit jumps from a high level to a low level, that is, the first register The clock input end of the clock transitions from high level to low level and is clamped to low level, and then the gating clock output to the first register transitions from low level to high level, that is, the first register The clock input terminal transitions from low level to high level. Wherein, when the gating clock output to the first register transitions from low level to high level, that is, when the clock input end of the first register transitions from low level to high level, write data to the first register .

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。In a possible design, each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, and the first input terminal shares the write address bus with each clock gating circuit Coupling, the second input terminal is used to receive the write clock signal shared with each gating clock circuit.

在一种可能的设计中,当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。In a possible design, when it is determined that the first register is not being accessed for writing, the signal passing through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.

第四方面,本申请实施例提供了一种访问寄存器阵列的方法,该方法应用于寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为下降沿触发寄存器,与第一寄存器对应的第一门控时钟电路为与门控时钟电路。当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,即将第一寄存器的时钟输入端钳位为低电平。第四方面所达到的有益效果可以参见第二方面中有益效果。In the fourth aspect, the embodiment of the present application provides a method for accessing a register array, and the method is applied to a register array circuit. The register array circuit includes a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one-to-one. The controlled clock circuit is used to output the gated clock to the register. The multiple registers include a first register, the first register is a falling edge trigger register, and the first clock gate circuit corresponding to the first register is an AND gate clock circuit. When it is determined that the first register is not being accessed for writing, the first gating clock circuit outputs a gating clock clamped to a low level to the first register, that is, the clock input end of the first register is clamped to a low level. The beneficial effects achieved in the fourth aspect can be referred to the beneficial effects in the second aspect.

在一种可能的设计中,当确定第一寄存器被执行写访问时,通过第一门控时钟电 路向第一寄存器输出的门控时钟由低电平跳变为高电平,即将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平,即再将第一寄存器的时钟输入端由高电平跳变为低电平。其中,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,即在第一寄存器的时钟输入端由高电平跳变为低电平时,向第一寄存器写入数据。In a possible design, when it is determined that the first register is being accessed for writing, the gating clock output to the first register through the first gating clock circuit jumps from a low level to a high level, that is, the first register The clock input end of the clock transitions from low level to high level, and is clamped to high level, and then the gating clock output to the first register transitions from high level to low level, that is, the first register The clock input terminal transitions from high level to low level. Wherein, when the gating clock output to the first register transitions from high level to low level, that is, when the clock input terminal of the first register transitions from high level to low level, write data to the first register .

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。In a possible design, each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, and the first input terminal shares the write address bus with each clock gating circuit Coupling, the second input terminal is used to receive the write clock signal shared with each gating clock circuit.

在一种可能的设计中,当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。In a possible design, when it is determined that the first register is not being accessed for writing, the signal passing through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.

第五方面,一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第三方面以及第三方面中的任一种可能的设计所述的方法。In the fifth aspect, a computer-readable storage medium includes computer instructions. When the computer instructions are run on the electronic device, the electronic device executes the method described in the third aspect and any possible design of the third aspect. .

第六方面,一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第四方面以及第四方面中的任一种可能的设计所述的方法。In the sixth aspect, a computer-readable storage medium includes computer instructions, and when the computer instructions are run on the electronic device, the electronic device executes the method described in the fourth aspect and any possible design of the fourth aspect .

第七方面,一种计算机程序产品,当计算机程序产品在计算机上运行时,使得电子设备执行上述第三方面以及第三方面中的任一种可能的设计所述的方法。In a seventh aspect, a computer program product, when the computer program product is run on a computer, causes an electronic device to execute the method described in the above third aspect and any possible design of the third aspect.

第八方面,一种计算机程序产品,当计算机程序产品在计算机上运行时,使得电子设备执行上述第四方面以及第四方面中的任一种可能的设计所述的方法。In an eighth aspect, a computer program product, when the computer program product is run on a computer, causes an electronic device to execute the method described in the fourth aspect and any possible design of the fourth aspect.

上述其他方面对应的有益效果,可以参见关于方法方面的有益效果的描述,此处不予赘述。For the beneficial effects corresponding to the above other aspects, refer to the description of the beneficial effects of the method, which will not be repeated here.

附图说明Description of drawings

图1为一种寄存器阵列电路示意图;Fig. 1 is a schematic diagram of a register array circuit;

图2为一种寄存器阵列电路的时序示意图;FIG. 2 is a timing diagram of a register array circuit;

图3为另一种寄存器阵列电路示意图;3 is a schematic diagram of another register array circuit;

图4A为本申请实施例提供的一种寄存器阵列电路示意图;FIG. 4A is a schematic diagram of a register array circuit provided by an embodiment of the present application;

图4B为本申请实施例提供的另一种寄存器阵列电路示意图;FIG. 4B is a schematic diagram of another register array circuit provided by the embodiment of the present application;

图5为本申请实施例提供的一种电子装置的硬件结构示意图;FIG. 5 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application;

图6A为一种寄存器内部电路示意图;FIG. 6A is a schematic diagram of an internal circuit of a register;

图6B为另一种寄存器内部电路示意图;FIG. 6B is a schematic diagram of another register internal circuit;

图7A为本申请实施例提供的一种寄存器阵列电路示意图;FIG. 7A is a schematic diagram of a register array circuit provided by an embodiment of the present application;

图7B为本申请实施例提供的一种或门控时钟电路的内部结构示意图;FIG. 7B is a schematic diagram of an internal structure of an OR-gated clock circuit provided in an embodiment of the present application;

图7C为本申请实施例提供的一种或门控时钟电路的时序示意图;FIG. 7C is a schematic timing diagram of an OR-gated clock circuit provided in an embodiment of the present application;

图7D为本申请实施例提供的另一种寄存器阵列电路示意图;FIG. 7D is a schematic diagram of another register array circuit provided by the embodiment of the present application;

图7E为本申请实施例提供的一种与门控时钟电路的内部结构示意图;FIG. 7E is a schematic diagram of the internal structure of an AND-gated clock circuit provided in an embodiment of the present application;

图7F为本申请实施例提供的一种与门控时钟电路的时序示意图;FIG. 7F is a schematic timing diagram of an AND-gated clock circuit provided in the embodiment of the present application;

图8为本申请实施例提供的一种访问寄存器阵列的方法示意图;FIG. 8 is a schematic diagram of a method for accessing a register array provided by an embodiment of the present application;

图9为本申请实施例提供的另一种访问寄存器阵列的方法示意图;FIG. 9 is a schematic diagram of another method for accessing a register array provided by an embodiment of the present application;

图10为本申请实施例提供的一种寄存器阵列电路示意图;FIG. 10 is a schematic diagram of a register array circuit provided by an embodiment of the present application;

图11为本申请实施例提供的一种寄存器阵列电路的时序示意图;FIG. 11 is a schematic timing diagram of a register array circuit provided by an embodiment of the present application;

图12为本申请实施例提供的另一种寄存器阵列电路示意图;FIG. 12 is a schematic diagram of another register array circuit provided by the embodiment of the present application;

图13为本申请实施例提供的另一种寄存器阵列电路的时序示意图;FIG. 13 is a schematic timing diagram of another register array circuit provided by an embodiment of the present application;

图14为本申请实施例提供的一种电子装置的硬件结构示意图。FIG. 14 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.

具体实施方式detailed description

为了便于理解,示例性地给出了部分与本申请实施例相关概念的说明以供参考。如下所示:In order to facilitate understanding, descriptions of some concepts related to the embodiments of the present application are provided by way of example for reference. As follows:

时钟(clock):电路中各记忆元件受时钟控制,只有在时钟信号到来时,记忆元件的状态才能发生变化,从而使时序电路的输出发生变化,而且每来一个时钟信号,记忆元件的状态和电路输出状态才能改变一次。本申请实施例中,对寄存器阵列进行数据写入时时钟信号为写时钟信号,写时钟信号会周期性翻转,即进行0-1电平跳变,由低电平跳变为高电平,或进行1-0电平跳变,由高电平跳变为低电平。Clock (clock): Each memory element in the circuit is controlled by the clock. Only when the clock signal arrives, the state of the memory element can change, so that the output of the sequential circuit changes, and each time a clock signal comes, the state of the memory element and The output state of the circuit can only be changed once. In the embodiment of the present application, when data is written to the register array, the clock signal is a write clock signal, and the write clock signal is periodically reversed, that is, a 0-1 level transition is performed, from a low level to a high level, Or perform a 1-0 level transition, from a high level to a low level.

门控时钟电路(clock gating):通过关闭芯片上暂时用不到的功能和该功能对应的时钟,可以实现节省电流消耗的目的。当门控时钟电路的输出端无跳变时,表示该门控时钟电路对应的寄存器不被写入数据,当门控时钟电路的输出端进行跳变时,表示该门控时钟电路对应的寄存器被写入数据。本申请实施例中,门控时钟电路的输出端进行跳变时,该门控时钟电路对应的寄存器被写入数据。Clock gating circuit (clock gating): By turning off the temporarily unused function on the chip and the corresponding clock of the function, the purpose of saving current consumption can be achieved. When there is no transition at the output terminal of the gated clock circuit, it means that the register corresponding to the gated clock circuit is not written with data; data is written. In the embodiment of the present application, when the output end of the clock gating circuit jumps, data is written into the register corresponding to the clock gating circuit.

数据总线(data bus):承载数据信息,该数据信息可以是指令,音频、视频或图片等数据。本申请实施例中,对寄存器阵列进行数据写入时数据总线可以为写数据总线(write data bus),写数据总线中有数据传输时,写数据总线会进行0-1电平跳变,即低电平跳变为高电平,或1-0电平跳变,即高电平跳变为低电平。写数据总线的电平跳变可以理解为数据翻转。Data bus (data bus): Carrying data information, the data information can be instructions, audio, video or pictures and other data. In the embodiment of the present application, when data is written to the register array, the data bus can be a write data bus (write data bus). When there is data transmission in the write data bus, the write data bus will perform a 0-1 level jump, that is A low level transition to a high level, or a 1-0 level transition, that is, a high level transition to a low level. The level transition of the write data bus can be understood as data inversion.

地址总线(address bus):承载地址信息,地址总线可以分为写地址总线和读地址总线。写地址总线表示数据总线上的数据信息需要写入对应缓存(即寄存器)的地址信息,读地址总线表示需要从缓存中读取对应缓存的地址信息。Address bus (address bus): Carrying address information, the address bus can be divided into a write address bus and a read address bus. The write address bus indicates that the data information on the data bus needs to be written into the address information of the corresponding cache (ie register), and the read address bus indicates that the address information of the corresponding cache needs to be read from the cache.

寄存器(register):用于存储数据信息,按照时钟触发沿不同分为上升沿触发寄存器和下降沿触发寄存器。上升沿触发寄存器在其时钟输入端由低电平跳变到高电平时进行数据写入,下降沿触发寄存器在其时钟输入端由高电平跳变到低电平时进行数据写入。例如本申请实施例中,以使用双闩锁(latch)结构的上升沿触发寄存器为例时,上升沿触发寄存器的内部电路可以包含扫描输入(scan input,SI)和数据(data,D)端选择电路、低通高锁闩锁电路和高通低锁闩锁电路三部分电路。Register: used to store data information, divided into rising edge triggered registers and falling edge triggered registers according to different clock trigger edges. The rising edge trigger register performs data writing when its clock input terminal transitions from low level to high level, and the falling edge trigger register performs data writing when its clock input terminal transitions from high level to low level. For example, in the embodiment of the present application, when using a rising edge trigger register with a double latch (latch) structure as an example, the internal circuit of the rising edge trigger register may include a scan input (scan input, SI) and a data (data, D) terminal The three-part circuit is a selection circuit, a low-pass high-lock latch circuit and a high-pass low-lock latch circuit.

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. Among them, in the description of the embodiments of this application, unless otherwise specified, "/" means or means, for example, A/B can mean A or B; "and/or" in this article is only a description of associated objects The association relationship of indicates that there may be three kinds of relationships, for example, A and/or B may indicate: A exists alone, A and B exist simultaneously, and B exists independently. In addition, in the description of the embodiments of the present application, "plurality" refers to two or more than two.

现有技术中,寄存器阵列电路如图1所示,该寄存器阵列电路包括由多个寄存器组成的寄存器阵列(现有技术中均为上升沿触发寄存器)和与每个寄存器对应的与门 控时钟电路(AND clock gating)。其中,与门控时钟电路的输出端不进行跳变时输出保持低电平,此时不向与该与门控时钟电路对应的寄存器写入数据。寄存器阵列例如包括图1中示出的0地址寄存器、1地址寄存器、…、n地址寄存器等(n为大于1的整数),均为上升沿触发寄存器,分别代表地址0的寄存器、地址1的寄存器、…、地址n的寄存器,即每个寄存器对应的地址不同。每个寄存器的时钟输入端a与对应的与门控时钟电路的输出端b耦合,每个寄存器的数据输入端c共享写数据总线。与门控时钟电路的两个输入端中,一个输入端d由每个与门控时钟电路共享的写地址总线(write address bus)控制,另一个输入端e用于接收每个与门控时钟电路共享的写时钟(write clock)信号。其中,写地址总线在不同时钟周期内地址可能不同,不同时钟周期内,写地址总线指示的地址信息可能为0、1、…、n,分别表示选中地址0、地址1、…、地址n。当写地址总线指示的地址信息=0时,即0地址被选中写入数据时,0地址寄存器对应的与门控时钟电路的输出端进行上升沿跳变(与门控时钟电路的输出端由低电平跳变为高电平),其余未被选中的地址的寄存器对应的与门控时钟电路的输出端不进行跳变(与门控时钟电路的输出端保持低电平),写数据总线上承载的数据信息在与门控时钟电路的输出端进行上升沿跳变时写入到0地址寄存器中。In the prior art, the register array circuit is shown in Figure 1, and the register array circuit includes a register array composed of a plurality of registers (in the prior art, they are all rising-edge triggered registers) and an AND-gated clock corresponding to each register. Circuit (AND clock gating). Wherein, when the output end of the gate-controlled clock circuit does not make a transition, the output remains at a low level, and at this time, no data is written into the register corresponding to the gate-controlled clock circuit. The register array includes, for example, 0 address registers, 1 address registers, ..., n address registers, etc. (n is an integer greater than 1) shown in FIG. Registers, ..., registers of address n, that is, the addresses corresponding to each register are different. The clock input terminal a of each register is coupled to the corresponding output terminal b of the gating clock circuit, and the data input terminal c of each register shares the write data bus. Among the two input terminals of the gate-controlled clock circuit, one input terminal d is controlled by the write address bus (write address bus) shared by each gate-controlled clock circuit, and the other input terminal e is used to receive each gate-controlled clock circuit The write clock signal shared by the circuit. Wherein, the address of the write address bus may be different in different clock cycles. In different clock cycles, the address information indicated by the write address bus may be 0, 1, ..., n, respectively representing the selected address 0, address 1, ..., address n. When the address information=0 indicated by the write address bus, that is, when the 0 address was selected to write data, the output terminal corresponding to the 0 address register and the gate-controlled clock circuit carried out a rising edge jump (the output terminal of the gate-controlled clock circuit is determined by Low level transitions to high level), the other unselected address registers correspond to the output terminal of the gated clock circuit without jumping (the output terminal of the gated clock circuit remains low), write data The data information carried on the bus is written into the 0 address register when the output terminal of the gate-controlled clock circuit performs a rising edge transition.

如图2所示,为图1寄存器阵列电路的时序图。写时钟信号周期性翻转,写地址总线指示的地址信息=0时,0地址被选中,0地址寄存器被执行写访问,0地址寄存器对应的与门控时钟电路的输出端会进行上升沿跳变,此时0地址寄存器被写入数据,写数据总线中的数据被写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余未被选中的地址对应的寄存器未被执行写访问,未被执行写访问的寄存器对应的与门控时钟电路的输出端不进行跳变。以1地址寄存器对应的门控时钟电路的输出端为例,在写地址总线指示的地址信息=0时,1地址寄存器对应的门控时钟电路的输出端保持低电平不进行跳变,即1地址寄存器不被写入数据。其中,图2所示的寄存器对应的与门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。As shown in FIG. 2 , it is a timing diagram of the register array circuit in FIG. 1 . The write clock signal is periodically flipped, and when the address information indicated by the write address bus = 0, address 0 is selected, and the register of address 0 is executed for write access, and the output terminal corresponding to the address register of 0 and the gate control clock circuit will perform a rising edge jump , at this time, data is written into the 0 address register, and the data in the write data bus is written into the 0 address register. When the address information indicated by the write address bus=0, the registers corresponding to the remaining unselected addresses are not accessed for writing, and the output terminals of the clock gate circuit corresponding to the registers not accessed for writing do not perform a transition. Taking the output terminal of the gated clock circuit corresponding to the 1 address register as an example, when the address information indicated by the write address bus=0, the output terminal of the gated clock circuit corresponding to the 1 address register remains at a low level without jumping, that is 1 The address register is not written with data. Wherein, the jump position corresponding to the output end of the gated clock circuit corresponding to the register shown in FIG. 2 can be adjusted according to the actual circuit, and the timing diagram is only an example.

由于所有地址的寄存器共享写数据总线,因此只要写数据总线进行数据翻转(即写数据总线中有数据传输),那么所有地址的寄存器的数据端(例如图1中的输入端c)都会进行翻转。某一地址被选中时,其余未被选中的地址对应的与门控时钟电路的输出端输出均保持低电平,当与门控时钟电路的输出端输出低电平时,写数据总线的翻转会导致未被选中的地址的寄存器内部SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器翻转。由于未被选中的地址对应的与门控时钟电路的输出端不进行跳变,因此该未被选中的地址的寄存器不被写入数据,所以寄存器内部SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器的翻转便是无效的,可以理解为空翻,会造成功耗浪费。Since the registers of all addresses share the write data bus, as long as the write data bus performs data reversal (that is, there is data transmission in the write data bus), the data terminals of all address registers (such as input c in Figure 1) will be reversed . When a certain address is selected, the outputs of the output terminals corresponding to the other unselected addresses and the gated clock circuit are kept low. The internal SI and D terminal selection circuit of the register, the low-pass circuit in the low-pass high-latch latch circuit, and the inverter flipping cause the unselected address. Since the output terminal corresponding to the unselected address and the gated clock circuit does not jump, the register of the unselected address is not written into data, so the SI and D terminal selection circuit inside the register, low-pass high-lock The low-pass circuit in the latch circuit and the inversion of the inverter are invalid, which can be understood as a flip, which will cause waste of power consumption.

目前,为了解决未被选中的地址的寄存器的数据端无效翻转引入的功耗浪费问题,如图3所示,在图1的寄存器阵列电路的基础上增加了与门(AND)(或与非门(NAND)),对未被选中的地址的寄存器的数据端进行数据关断,将未被执行写访问的地址的寄存器的数据端置为低电平(或高电平),即不进行跳变,从而减少无效翻转。但是增加的与门(或与非门)会导致绕线数量和电路面积增加,使得物理实现变得困难,且与 门(或与非门)在运作时也会引入额外的功耗。At present, in order to solve the power consumption waste problem that the data terminal invalid flipping of the register of the unselected address introduces, as shown in Figure 3, on the basis of the register array circuit of Figure 1, an AND gate (AND) (OR and NOT Gate (NAND)), the data end of the register of the address that is not selected is turned off, and the data end of the register of the address that has not been executed write access is set to low level (or high level), that is, no transitions, thereby reducing invalid flips. However, the added AND gate (or NAND gate) will increase the number of windings and circuit area, making physical implementation difficult, and the AND gate (or NAND gate) will also introduce additional power consumption during operation.

因此,本申请提出一种寄存器阵列电路,该电路可以位于电子装置中,例如集成于芯片中。考虑到现有技术中寄存器阵列电路中会产生许多无用翻转导致功耗增加的问题,本申请在寄存器阵列电路中,当寄存器阵列均为上升沿触发寄存器时,未被执行写访问的地址的寄存器的数据端翻转时,通过使用或门控时钟电路(OR clock gating)控制每个地址的寄存器的时钟输入端,其中,或门控时钟电路的输出端输出保持高电平,即未被执行写访问的寄存器的时钟输入端输入保持高电平,当或门控时钟电路的输出端保持在高电平时,寄存器内部的SI和D端选择电路和低通高锁闩锁电路中的低通电路不会被导通,从而能够减少寄存器内部电路空翻,避免造成功耗浪费,还可以减少绕线数量以及电路面积,降低物理实现复杂度。当寄存器阵列电路均为下降沿触发寄存器时,未被执行写访问的地址的寄存器的数据端翻转时,通过使用与门控时钟电路控制每个地址的寄存器的时钟输入端,其中,与门控时钟电路的输出端输出保持低电平,即未被执行写访问的寄存器的时钟输入端输入保持低电平,当与门控时钟电路的输出端保持在低电平时,寄存器内部的SI和D端选择电路和高通低锁闩锁电路中的高通电路不会被导通,从而能够减少寄存器内部电路空翻,避免造成功耗浪费,还可以减少绕线数量以及电路面积,降低物理实现复杂度。Therefore, the present application proposes a register array circuit, which can be located in an electronic device, such as integrated in a chip. Considering the problems of many useless flips in the register array circuit in the prior art that lead to increased power consumption, in the register array circuit of the present application, when the register arrays are all rising-edge trigger registers, the registers of the addresses that are not accessed by write When the data end of the register is flipped, the clock input end of the register of each address is controlled by using the OR clock gating circuit (OR clock gating), wherein, the output end of the OR gating clock circuit remains high, that is, no write The clock input terminal of the accessed register is kept at a high level, and when the output terminal of the OR-gated clock circuit is kept at a high level, the SI and D terminal selection circuits inside the register and the low-pass circuit in the low-pass high-lock latch circuit It will not be turned on, so that it can reduce the flipping of the internal circuit of the register, avoid the waste of power consumption, and can also reduce the number of windings and circuit area, and reduce the complexity of physical implementation. When the register array circuits are all falling-edge trigger registers, when the data ends of the registers of the addresses that have not been performed write access are flipped, the clock input ends of the registers of each address are controlled by using the AND gating clock circuit, wherein, the AND gating The output terminal output of the clock circuit remains low level, that is, the clock input terminal input of the register that is not being written and accessed remains low level. When the output terminal of the gate-controlled clock circuit is maintained at low level, the SI and D The high-pass circuit in the terminal selection circuit and the high-pass low-lock latch circuit will not be turned on, thereby reducing the flipping of the internal circuit of the register, avoiding waste of power consumption, reducing the number of windings and circuit area, and reducing the complexity of physical implementation.

如图4A、图4B所示,本申请实施例可以应用于寄存器阵列电路中。该寄存器阵列电路包括门控时钟单元和寄存器阵列等器件。其中,如图4A所示,当寄存器阵列中的寄存器为上升沿触发寄存器时,门控时钟单元为或门控时钟电路。如图4B所示,当寄存器阵列中的寄存器为下降沿触发寄存器时,门控时钟单元为与门控时钟电路。门控时钟单元的两个输入端一个接收写时钟信号,另一个耦合到写地址总线来接收写地址总线指示的地址信息。门控时钟单元的输出端用于控制该门控时钟单元对应的寄存器是否被写入数据,门控时钟单元的输出端和写数据总线的输出端耦合到寄存器阵列。当门控时钟单元的输出端进行跳变时,写数据总线承载的数据信息被写入到该门控时钟单元对应的寄存器中。其中,每个门控时钟单元都有其对应的寄存器,每个寄存器对应不同的地址,所有地址的寄存器统称为寄存器阵列。As shown in FIG. 4A and FIG. 4B , the embodiment of the present application may be applied to a register array circuit. The register array circuit includes devices such as a gate control clock unit and a register array. Wherein, as shown in FIG. 4A , when the registers in the register array are rising-edge-triggered registers, the clock gating unit is an OR gating clock circuit. As shown in FIG. 4B , when the registers in the register array are falling-edge-triggered registers, the clock gating unit is an AND gating clock circuit. One of the two input terminals of the clock gating unit receives the write clock signal, and the other is coupled to the write address bus to receive address information indicated by the write address bus. The output end of the clock gating unit is used to control whether data is written into the register corresponding to the clock gating unit, and the output end of the clock gating unit and the output end of the write data bus are coupled to the register array. When the output end of the clock gating unit jumps, the data information carried by the write data bus is written into the register corresponding to the clock gating unit. Wherein, each gated clock unit has its corresponding register, and each register corresponds to a different address, and the registers of all addresses are collectively referred to as a register array.

需要说明的是,本申请实施例可以应用于多种类型的寄存器组成的寄存器阵列中,例如该寄存器可以为带SI端上升沿触发寄存器、带SI端下降沿触发寄存器、不带SI端上升沿触发器和不带SI端下降沿触发器等,不予限制。It should be noted that the embodiment of the present application can be applied to a register array composed of various types of registers. For example, the register can be a register with a rising edge trigger on the SI terminal, a register with a falling edge trigger on the SI terminal, or a register without a rising edge on the SI terminal. Flip-flops and flip-flops without SI terminal falling edge, etc., are not limited.

本申请实施例应用于电子装置时,如图5所示,其示出了一种电子装置的硬件结构示意图,该电子装置可以包括本申请实施例中的芯片,图5中以芯片500示例的芯片。芯片500可包括处理器501、存储器502以及总线503等。When the embodiment of the present application is applied to an electronic device, as shown in FIG. 5 , it shows a schematic diagram of the hardware structure of an electronic device. The electronic device may include the chip in the embodiment of the present application. In FIG. 5 , the chip 500 is exemplified. chip. The chip 500 may include a processor 501, a memory 502, a bus 503, and the like.

可以理解的是,本申请实施例示意的结构并不构成对芯片500的具体限定。在本申请另一些实施例中,芯片500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。It can be understood that, the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the chip 500 . In other embodiments of the present application, the chip 500 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange different components. The illustrated components can be realized in hardware, software or a combination of software and hardware.

其中,处理器501可以包括一个或多个处理单元。例如:处理器501可以包括图形处理器(graphics processing unit,GPU)、中央处理器(central processing unit,CPU)、和/或神经网络处理器(neural network processing unit,NPU)等。其中, 不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,芯片500也可以包括一个或多个处理器501。Wherein, the processor 501 may include one or more processing units. For example, the processor 501 may include a graphics processing unit (graphics processing unit, GPU), a central processing unit (central processing unit, CPU), and/or a neural network processing unit (neural network processing unit, NPU), etc. Wherein, different processing units may be independent components, or may be integrated in one or more processors. In some embodiments, chip 500 may also include one or more processors 501 .

处理器501可以理解为是芯片500的神经中枢和指挥中心。可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。The processor 501 can be understood as the nerve center and command center of the chip 500 . The operation control signal can be generated according to the instruction opcode and timing signal, and the control of fetching and executing instructions can be completed.

存储器502可以是缓存单元,用于存储指令和数据。在一些实施例中,存储器502包括本申请实施例提供的寄存器阵列和门控时钟单元。Memory 502 may be a cache unit for storing instructions and data. In some embodiments, the memory 502 includes the register array and the clock gating unit provided in the embodiments of the present application.

在一种可能的实现方式中,存储器502可以独立于处理器501。即存储器502可以通过总线503与处理器501相连接,用于存储数据、指令或者程序代码。处理器501调用并执行存储器502中存储的指令或程序代码时,能够通过调用本申请实施例提供的寄存器阵列电路实现。In a possible implementation manner, the memory 502 may be independent of the processor 501 . That is, the memory 502 may be connected to the processor 501 through the bus 503 and used for storing data, instructions or program codes. When the processor 501 calls and executes the instructions or program codes stored in the memory 502, it can be implemented by calling the register array circuit provided by the embodiment of the present application.

应用上述本申请提供的芯片,下面结合附图对本申请针对芯片所提出的寄存器阵列电路中,例如芯片的未被选中的地址的寄存器的数据端翻转,向寄存器输入的门控时钟为低电平造成寄存器内部电路作无效翻转的场景,通过使用门控时钟电路来控制向每个地址对应的寄存器输入的门控时钟的电平值的寄存器阵列电路进行介绍。Using the above-mentioned chip provided by this application, in the register array circuit proposed by this application for the chip in conjunction with the accompanying drawings, for example, the data end of the register of the unselected address of the chip is flipped, and the gate clock input to the register is low. The scene that causes the internal circuit of the register to perform invalid inversion is introduced through the register array circuit that uses the gated clock circuit to control the level value of the gated clock input to the register corresponding to each address.

在介绍本申请实施例提供的寄存器阵列电路之前,先对寄存器内部电路大致进行介绍,如图6A所示,以寄存器为上升沿触发寄存器为例。寄存器的端口包括数据输入端(D端)、时钟输入端(CLK端)、扫描输入端(SI端)、扫描允许信号输入端(SE端)和信号输出端(Q端)等。D端与寄存器外部的写数据总线耦合,用来接收数据信息,CLK端与寄存器外部的门控时钟单元的输出端耦合,用来接收门控时钟,SI端用来输入进行寄存器测试时的扫描信号,SE端用于控制寄存器的工作模式,当SE输入低电平时为寄存器正常工作模式(即进行数据写入),当SE端输入高电平时为寄存器扫描模式(即对寄存器进行测试),Q端用来传输输出信号。寄存器内部电路包括SI和D端选择电路、低通高锁闩锁电路和高通低锁闩锁电路等。CLK端耦合到SI和D端选择电路、低通高锁闩锁电路和高通低锁闩锁电路,CLK端包括图6A中的CLK端和CLK_bb端(CLK_bb端与CLK端输入的信号相反)。SE端、SI端和D端耦合到SI和D端选择电路的输入端,SI和D端选择电路的输出端耦合到低通高锁闩锁电路中的低通电路(即图6A中的CLK0和CLK0_b部分电路),该低通高锁闩锁电路的输出端耦合到高通低锁闩锁电路中的高通电路(即图6A中的CLK2和CLK2_b部分电路),高通低锁闩锁电路的输出端通过输出反向器电路耦合到Q端。其中,低通高锁闩锁电路可以理解为用于暂存SI和D端选择电路的输出端传输的数据信息,只有当数据信息被存入到高通低锁闩锁电路时,才算完成寄存器的数据写入。Before introducing the register array circuit provided by the embodiment of the present application, the internal circuit of the register is briefly introduced, as shown in FIG. 6A , where the register is a rising edge trigger register as an example. The ports of the register include a data input terminal (D terminal), a clock input terminal (CLK terminal), a scan input terminal (SI terminal), a scan enable signal input terminal (SE terminal) and a signal output terminal (Q terminal). The D terminal is coupled to the write data bus outside the register to receive data information, the CLK terminal is coupled to the output terminal of the gating clock unit outside the register to receive the gating clock, and the SI terminal is used to input the scan during the register test Signal, the SE terminal is used to control the working mode of the register. When the SE input is low, it is the normal working mode of the register (that is, data is written), and when the SE terminal is high, it is the register scan mode (that is, the register is tested). The Q terminal is used to transmit the output signal. The internal circuit of the register includes SI and D terminal selection circuits, low-pass high-lock latch circuit and high-pass low-lock latch circuit, etc. The CLK terminal is coupled to the SI and D terminal selection circuits, the low-pass high latch circuit and the high-pass low latch circuit, and the CLK terminal includes the CLK terminal and the CLK_bb terminal in FIG. 6A (the signal input to the CLK_bb terminal is opposite to that of the CLK terminal). SE end, SI end and D end are coupled to the input end of SI and D end selection circuit, and the output end of SI and D end selection circuit is coupled to the low-pass circuit in the low-pass high-lock latch circuit (that is, CLK0 among Fig. 6A and CLK0_b partial circuit), the output of the low-pass high latch latch circuit is coupled to the high-pass circuit in the high-pass low latch latch circuit (i.e. CLK2 and CLK2_b partial circuit in Figure 6A), the output of the high-pass low latch latch circuit The terminal is coupled to the Q terminal through the output inverter circuit. Among them, the low-pass high-lock latch circuit can be understood as temporarily storing the data information transmitted by the output terminals of the SI and D terminal selection circuits, and only when the data information is stored in the high-pass low-lock latch circuit, the register is completed data write.

寄存器为上升沿触发寄存器时,在SE端输入低电平处于正常工作模式下,当CLK端输出为低电平时,图6A中的CLK0和CLK0_b导通,此时若D端翻转为低电平,则D0、SE0和CLK0这一电路导通传输D端的数据信息,若D端翻转为高电平时,则D0_b、SE0_b和CLK0_b这一电路导通传输D端的数据信息。相当于SI和D端选择电路以及低通高锁闩锁电路中的低通电路被导通,D端传输的数据信息从低通高锁闩锁电路中的低通电路中输出。但CLK端输出为低电平时,图6A中的CLK1、CLK1_b、CLK2和CLK2_b不导通,因此从低通高锁闩锁电路中的低通电路中输出的数据信息会直接经过反相器1输出,但并不能通过高通低锁闩锁电路的高通电路,相当于数据被暂存在低通高锁闩锁电 路。由于数据信息并未被存入高通低锁闩锁电路,相当于该寄存器并未被写入数据,因此SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器1进行数据传输时产生的跳变即为无效的,可以理解为寄存器内部电路存在空翻。When the register is a rising edge trigger register, when the SE terminal inputs a low level and is in the normal working mode, when the CLK terminal output is a low level, CLK0 and CLK0_b in Figure 6A are turned on. At this time, if the D terminal flips to a low level , then the circuits D0, SE0 and CLK0 are turned on to transmit the data information of the D terminal, and if the D terminal is flipped to a high level, the circuits D0_b, SE0_b and CLK0_b are turned on to transmit the data information of the D terminal. It is equivalent to that the SI and D terminal selection circuits and the low-pass circuit in the low-pass high-lock latch circuit are turned on, and the data information transmitted by the D terminal is output from the low-pass circuit in the low-pass high-lock latch circuit. However, when the output of the CLK terminal is low level, CLK1, CLK1_b, CLK2 and CLK2_b in Figure 6A are not conducting, so the data information output from the low-pass circuit in the low-pass high-lock latch circuit will directly pass through the inverter 1 Output, but not through the high-pass circuit of the high-pass low-lock latch circuit, which is equivalent to the data being temporarily stored in the low-pass high-lock latch circuit. Since the data information has not been stored in the high-pass low-lock latch circuit, it is equivalent to that the register has not been written into data, so the SI and D terminal selection circuit, the low-pass circuit in the low-pass high-lock latch circuit and the inverter 1 The jump generated during data transmission is invalid, which can be understood as a flip in the internal circuit of the register.

当CLK端输出为高电平时,图6A中的CLK0和CLK0_b不导通,CLK1、CLK1_b、CLK2和CLK2_b导通,在CLK端由低电平翻转到高电平的瞬间,经过反相器1输出的数据信息会通过反馈电路锁进低通高锁闩锁电路中的高锁电路(即图6A中的CLK1和CLK1_b部分电路),并且还会通过高通低锁闩锁电路中的高通电路,相当于低通高锁闩锁电路中存储的数据信息被存储到高通低锁闩锁电路中,即完成对寄存器的数据写入。由于CLK端输出为高电平时,CLK0和CLK0_b不导通,相当于SI和D端选择电路和低通高锁闩锁电路中的低通电路不被导通,因此SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器1不存在空翻,便不会造成功耗浪费。When the CLK terminal output is high level, CLK0 and CLK0_b in Figure 6A are not conducting, CLK1, CLK1_b, CLK2 and CLK2_b are conducting, and at the moment when the CLK terminal is flipped from low level to high level, the inverter 1 The output data information will be locked into the high-lock circuit in the low-pass high-lock latch circuit (that is, the CLK1 and CLK1_b part circuits in Figure 6A) through the feedback circuit, and will also pass through the high-pass circuit in the high-pass low-lock latch circuit, It is equivalent to that the data information stored in the low-pass high-latching latch circuit is stored in the high-pass low-latching latch circuit, that is, the data writing to the register is completed. Since the output of the CLK terminal is high level, CLK0 and CLK0_b are not conducted, which is equivalent to that the low-pass circuit in the SI and D terminal selection circuit and the low-pass high-lock latch circuit is not conducted, so the SI and D terminal selection circuit, The low-pass circuit in the low-pass high-lock latch circuit and the inverter 1 do not overturn, so that no waste of power consumption is caused.

寄存器为下降沿触发寄存器时寄存器内部电路如图6B所示,与上升沿触发寄存器不同的是,SI和D端选择电路的输出端耦合到高通低锁闩锁电路中的高通电路(即图6B中的CLK0和CLK0_b部分电路),该高通低锁闩锁电路的输出端耦合到低通高锁闩锁电路中的低通电路(即图6B中的CLK2和CLK2_b部分电路),低通高锁闩锁电路的输出端通过输出反向器电路耦合到Q端。其中,高通低锁闩锁电路可以理解为用于暂存SI和D端选择电路的输出端传输的数据信息,只有当数据信息被存入到低通高锁闩锁电路时,才算完成寄存器的数据写入。When the register is a falling-edge trigger register, the internal circuit of the register is shown in Figure 6B. Unlike the rising-edge trigger register, the output terminals of the SI and D terminal selection circuits are coupled to the high-pass circuit in the high-pass low-lock latch circuit (that is, the high-pass circuit in Figure 6B CLK0 and CLK0_b part of the circuit), the output of the high-pass low-lock latch circuit is coupled to the low-pass circuit in the low-pass high-lock latch circuit (i.e. CLK2 and CLK2_b part of the circuit in Figure 6B), the low-pass high lock The output terminal of the latch circuit is coupled to the Q terminal through the output inverter circuit. Among them, the high-pass low-lock latch circuit can be understood as temporarily storing the data information transmitted by the output terminals of the SI and D terminal selection circuits. Only when the data information is stored in the low-pass high-lock latch circuit, the register is completed. data write.

寄存器为下降沿触发寄存器时,在SE端输入低电平处于正常工作模式下,当CLK输出为高电平时,图6B中的CLK0和CLK0_b导通,此时若D端翻转为低电平,则D0、SE0和CLK0这一电路导通传输D端的数据信息,若D端翻转为高电平时,则D0_b、SE0_b和CLK0_b这一电路导通传输D端的数据信息。相当于SI和D端选择电路以及高通低锁闩锁电路中的高通电路被导通,D端传输的数据信息从高通低锁闩锁电路中的高通电路中输出。但CLK端输出为高电平时,图6B中的CLK1、CLK1_b、CLK2和CLK2_b不导通,因此从高通低锁闩锁电路中的高通电路中输出的数据信息会直接经过反相器1输出,但并不能通过低通高锁闩锁电路的低通电路,相当于数据被暂存在高通低锁闩锁电路。由于数据信息并未被存入低通高锁闩锁电路,相当于该寄存器并未被写入数据,因此SI和D端选择电路、高通低锁闩锁电路中的高通电路以及反相器1进行数据传输时产生的跳变即为无效的,可以理解为寄存器内部电路存在空翻。When the register is a falling-edge trigger register, when the SE terminal inputs a low level and is in normal working mode, when the CLK output is a high level, CLK0 and CLK0_b in Figure 6B are turned on, and if the D terminal flips to a low level at this time, Then the circuits D0, SE0 and CLK0 are turned on to transmit the data information of the D terminal, and if the D terminal is flipped to a high level, the circuits D0_b, SE0_b and CLK0_b are turned on to transmit the data information of the D terminal. It is equivalent to the SI and D terminal selection circuits and the high-pass circuit in the high-pass low-latching latch circuit being turned on, and the data information transmitted by the D terminal is output from the high-pass circuit in the high-pass low-latching latch circuit. However, when the output of the CLK terminal is at a high level, CLK1, CLK1_b, CLK2 and CLK2_b in FIG. 6B are not conducting, so the data information output from the high-pass circuit in the high-pass low-lock latch circuit will be output directly through the inverter 1, But it cannot pass through the low-pass circuit of the low-pass high-lock latch circuit, which is equivalent to the data being temporarily stored in the high-pass low-lock latch circuit. Since the data information has not been stored in the low-pass high-lock latch circuit, it is equivalent to that the register has not been written into data, so the SI and D terminal selection circuit, the high-pass circuit in the high-pass low-lock latch circuit and the inverter 1 The jump generated during data transmission is invalid, and it can be understood that there is a flip in the internal circuit of the register.

当CLK端输出为低电平时,图6B中的CLK0和CLK0_b不导通,CLK1、CLK1_b、CLK2和CLK2_b导通,在CLK端由高电平翻转到低电平的瞬间,经过反相器1输出的数据信息会通过反馈电路锁进高通低锁闩锁电路中的低锁电路(即图6B中的CLK1和CLK1_b部分电路),并且还会通过低通高锁闩锁电路中的低通电路,相当于高通低锁闩锁电路中存储的数据信息被存储到低通高锁闩锁电路中,即完成对寄存器的数据写入。由于CLK端输出为低电平时,CLK0和CLK0_b不导通,相当于SI和D端选择电路和高通低锁闩锁电路中的高通电路不被导通,因此SI和D端选择电路、高通低锁闩锁电路中的高通电路以及反相器1不存在空翻,便不会造成功耗浪费。When the output of the CLK terminal is low level, CLK0 and CLK0_b in Figure 6B are not conducting, and CLK1, CLK1_b, CLK2 and CLK2_b are conducting. The output data information will be locked into the low-lock circuit in the high-pass low-lock latch circuit (that is, the CLK1 and CLK1_b part circuits in Figure 6B) through the feedback circuit, and will also pass through the low-pass circuit in the low-pass high-lock latch circuit , which means that the data information stored in the high-pass low-lock latch circuit is stored in the low-pass high-lock latch circuit, that is, the data writing to the register is completed. Since the output of the CLK terminal is low level, CLK0 and CLK0_b are not turned on, which is equivalent to that the high-pass circuit in the SI and D terminal selection circuit and the high-pass low latch circuit is not turned on, so the SI and D terminal selection circuit, high-pass low The high-pass circuit and the inverter 1 in the latch circuit do not overturn, so there is no waste of power consumption.

如图7A所示,为本申请实施例提供的一种寄存器阵列电路示意图,该寄存器阵列电路包括:多个寄存器和与多个寄存器一一对应的多个门控时钟电路。As shown in FIG. 7A , it is a schematic diagram of a register array circuit provided by an embodiment of the present application, and the register array circuit includes: a plurality of registers and a plurality of gating clock circuits corresponding to the plurality of registers one by one.

其中,门控时钟电路用于向寄存器输出门控时钟。多个寄存器中的每个寄存器对应的地址不同,每个寄存器包括数据输入端和时钟输入端,每个寄存器的数据输入端均与每个寄存器共享的写数据总线耦合,每个寄存器的时钟输入端均与对应的门控时钟电路的输出端耦合,多个寄存器包括第一寄存器,第一寄存器为上升沿触发寄存器,与第一寄存器对应的第一门控时钟电路为或门控时钟电路。Wherein, the gating clock circuit is used to output the gating clock to the register. Each of the multiple registers corresponds to a different address. Each register includes a data input terminal and a clock input terminal. The data input terminal of each register is coupled to the write data bus shared by each register. The clock input terminal of each register Both terminals are coupled with the output terminals of the corresponding gated clock circuit, the multiple registers include a first register, the first register is a rising edge trigger register, and the first gated clock circuit corresponding to the first register is an OR gated clock circuit.

示例性的,如图7A所示,多个寄存器可以包括第一寄存器、第二寄存器和第N寄存器等(N为大于1的整数),均为上升沿触发寄存器。每个寄存器都分别对应有门控时钟电路,第一寄存器对应的门控时钟电路为第一门控时钟电路、第二寄存器对应的门控时钟电路为第二门控时钟电路、第N寄存器对应的门控时钟电路为第N门控时钟电路等,每个门控时钟电路都为或门控时钟电路。其中,第一寄存器的数据输入端为输入端f,输入端f与写数据总线耦合。第一寄存器的时钟输入端为输入端g,输入端g与第一门控时钟电路的输出端h耦合。可以理解为,写数据总线上的翻转能够通过输入端g使第一寄存器内部部分电路翻转,第一门控时钟电路的输出端用于向第一寄存器输出门控时钟,控制第一寄存器是否被写入数据。Exemplarily, as shown in FIG. 7A , the multiple registers may include a first register, a second register, and an Nth register (N is an integer greater than 1), all of which are rising edge triggered registers. Each register corresponds to a gated clock circuit, the gated clock circuit corresponding to the first register is the first gated clock circuit, the gated clock circuit corresponding to the second register is the second gated clock circuit, and the Nth register corresponds to The gated clock circuit is the Nth gated clock circuit, etc., and each gated clock circuit is an OR gated clock circuit. Wherein, the data input end of the first register is the input end f, and the input end f is coupled to the write data bus. The clock input terminal of the first register is the input terminal g, and the input terminal g is coupled with the output terminal h of the first gating clock circuit. It can be understood that the inversion on the write data bus can invert some circuits inside the first register through the input terminal g, and the output terminal of the first gating clock circuit is used to output the gating clock to the first register to control whether the first register is data input.

在一些实施例中,第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为高电平的门控时钟。In some embodiments, the first clock gating circuit is configured to output a clock gating clamped to a high level to the first register when no write access is performed on the first register.

其中,第一门控时钟电路为或门控时钟电路,如图7B所示,为或门控时钟电路的内部结构示意图,由一个高通低锁闩锁、反相器和或门组成。高通低锁闩锁有使能端(E端)和时钟输入端(CLK端)两个输入端,使能端用于接收写地址总线指示的地址信息,当写地址总线指示的地址信息为该或门控时钟电路对应的寄存器的地址时,该使能端输入为高电平,相当于该或门控时钟电路对应的地址被选中,或门控时钟电路对应的寄存器被执行写访问。时钟输入端用于接收每个或门控时钟电路共享的写时钟信号。高通低锁闩锁的输出端(Q端)通过反相器与或门的一个输入端耦合,或门的另一个输入端用于接收每个或门控时钟电路共享的写时钟信号,或门的输出端输出的信号即为或门控时钟电路输出的门控时钟。Wherein, the first gated clock circuit is an OR-gated clock circuit, as shown in FIG. 7B , which is a schematic diagram of the internal structure of the OR-gated clock circuit, which is composed of a high-pass low-lock latch, an inverter, and an OR gate. The high-pass low-lock latch has two input terminals, an enable terminal (E terminal) and a clock input terminal (CLK terminal). The enable terminal is used to receive the address information indicated by the write address bus. When the address information indicated by the write address bus is the When the address of the register corresponding to the OR-gated clock circuit is selected, the enable terminal input is at a high level, which means that the address corresponding to the OR-gated clock circuit is selected, or the register corresponding to the OR-gated clock circuit is executed for write access. The clock input is used to receive the write clock signal shared by each OR-gated clock circuit. The output terminal (Q terminal) of the high-pass low-lock latch is coupled to one input terminal of the OR gate through an inverter, and the other input terminal of the OR gate is used to receive the write clock signal shared by each OR gate clock circuit, or the gate The signal output by the output terminal of the OR gate control clock circuit is the gate control clock output.

图7B所示的或门控时钟电路的时序图如图7C所示,以图7B所示的或门控时钟电路对应的地址为地址1为例。图7C中写时钟信号周期性翻转,当写地址总线指示的地址信息不为地址1时,即该或门控时钟电路对应的地址未被选中时,图7B中的高通低锁闩锁使能端输入为低电平。使能端输入的低电平和写时钟信号通过高通低锁闩锁后,高通低锁闩锁输出端为低电平,高通低锁闩锁输出端输出的低电平通过反相器后,反相器输出端输出高电平,反相器输出的高电平和写时钟信号通过或门后,或门输出高电平,即该或门控时钟电路的输出端输出为高电平。可以理解为,当某一地址未被选中时,即某一地址对应的寄存器未被执行写访问时,该寄存器对应的或时钟门控电路的输出端输出高电平。The timing diagram of the OR-gated clock circuit shown in FIG. 7B is shown in FIG. 7C , and the address corresponding to the OR-gated clock circuit shown in FIG. 7B is address 1 as an example. In Figure 7C, the write clock signal is flipped periodically, and when the address information indicated by the write address bus is not address 1, that is, when the address corresponding to the OR-gated clock circuit is not selected, the high-pass low-lock latch in Figure 7B is enabled terminal input is low level. After the low level input by the enable terminal and the write clock signal pass through the high-pass low-lock latch, the output terminal of the high-pass low-lock latch is low-level, and the low-level output of the output terminal of the high-pass low-lock latch passes through the inverter. The output terminal of the phaser outputs a high level, and after the high level output by the inverter and the write clock signal pass through the OR gate, the OR gate outputs a high level, that is, the output terminal of the OR gate control clock circuit outputs a high level. It can be understood that when a certain address is not selected, that is, when the register corresponding to a certain address is not accessed for writing, the output end of the clock gating circuit corresponding to the register outputs a high level.

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,可以理解为第一门控时钟电路将第一寄存器的时钟输入端钳位为高电平。上升沿触发寄存器的时钟输入端保持高电平时,上升沿触发寄存器内部的SI和D端选择电路和低通高锁闩锁电路中的低通电路不会被导通,从而能够减少上升沿触发寄存器内部电路空翻, 避免造成功耗浪费。Exemplarily, the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected. At this time, the first gating clock circuit outputs a gating clock clamped to a high level to the first register , it can be understood that the first clock gating circuit clamps the clock input terminal of the first register to a high level. When the clock input terminal of the rising-edge trigger register remains high, the SI and D terminal selection circuits inside the rising-edge trigger register and the low-pass circuit in the low-pass high-lock latch circuit will not be turned on, thereby reducing the rising-edge trigger The internal circuit of the register flips over to avoid waste of power consumption.

在一些实施例中,第一寄存器被执行写访问时,第一门控时钟电路,还用于向第一寄存器输出的门控时钟由高电平跳变为低电平,并钳位为低电平,再向第一寄存器输出的门控时钟由低电平跳变为高电平。In some embodiments, when the first register is accessed for writing, the first gating clock circuit is also used to transition the gating clock output to the first register from a high level to a low level, and clamp it to a low level level, and then the gating clock output to the first register jumps from low level to high level.

其中,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,第一寄存器被写入数据。如图7C所示,以图7B所示的或门控时钟电路对应的地址为地址1为例,当写地址总线指示的地址信息为地址1时,即该或门控时钟电路对应的地址被选中时,图7B中的高通低锁闩锁使能端输入为高电平。使能端输入的高电平和写时钟信号通过高通低锁闩锁后,高通低锁闩锁输出端为高电平(输出的高电平不一定对准写时钟信号周期),高通低锁闩锁输出端输出的高电平通过反相器后,反相器输出端输出低电平,反相器输出的低电平和写时钟信号通过或门后,或门输出低电平,即该或门控时钟电路的输出端输出为低电平。并且该或门控时钟电路的输出端输出低电平一段时间后,会由低电平跳变为高电平,在该或门控时钟电路的输出端由低电平跳变为高电平的瞬间,数据被写入到该或门控时钟电路对应的寄存器中。可以理解为,当某一地址被选中时,即某一地址对应的寄存器被执行写访问时,该寄存器对应的或时钟门控电路的输出端输出的门控时钟会由高电平跳变到低电平,并持续输出低电平一段时间后,又由低电平跳变到高电平,且在由低电平跳变到高电平的瞬间将数据写入到寄存器中。其中,图7B所示的寄存器对应的或门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。Wherein, when the gating clock output to the first register transitions from low level to high level, the first register is written with data. As shown in Figure 7C, taking the address corresponding to the OR-gated clock circuit shown in Figure 7B as address 1 as an example, when the address information indicated by the write address bus is address 1, that is, the address corresponding to the OR-gated clock circuit is When selected, the high-pass low-lock latch enable terminal input in FIG. 7B is at a high level. After the high level input by the enable terminal and the write clock signal pass through the high-pass low latch latch, the output terminal of the high-pass low latch latch is high level (the output high level does not necessarily align with the period of the write clock signal), and the high-pass low latch latch After the high level output from the lock output terminal passes through the inverter, the inverter output terminal outputs a low level, and after the low level output from the inverter and the write clock signal pass through the OR gate, the OR gate outputs a low level, that is, the OR The output terminal of the gating clock circuit outputs a low level. And after the output terminal of the OR-gated clock circuit outputs low level for a period of time, it will jump from low level to high level, and the output terminal of the OR-gated clock circuit will jump from low level to high level At the instant of , the data is written into the register corresponding to the OR-gated clock circuit. It can be understood that when a certain address is selected, that is, when a register corresponding to a certain address is accessed for writing, the gating clock corresponding to the register or output from the output terminal of the clock gating circuit will jump from high level to Low level, and continue to output low level for a period of time, then jump from low level to high level, and write data into the register at the moment of transition from low level to high level. Wherein, the jump position of the output terminal of the OR-gated clock circuit corresponding to the register shown in FIG. 7B can be adjusted according to the actual circuit, and the timing diagram is only an example.

示例性的,第一寄存器被执行写访问可以理解为第一寄存器所对应的地址被选中,此时,第一门控时钟电路会先向第一寄存器输出的门控时钟由高电平跳变为低电平,即第一门控时钟电路将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,可以理解为上升沿触发寄存器内部的SI和D端选择电路和低通高锁闩锁电路中的低通电路由不被导通变为被导通,D端传输的数据信息被存储到低通高锁闩锁电路中。第一门控时钟电路再向第一寄存器输出的门控时钟由低电平跳变为高电平,即第一门控时钟电路再将第一寄存器的时钟输入端由低电平跳变为高电平。并且,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,即在第一寄存器的时钟输入端由低电平跳变为高电平的瞬间,第一寄存器被写入数据,可以理解为上升沿触发寄存器内部的高通低锁闩锁电路在第一寄存器的时钟输入端由低电平跳变为高电平的瞬间被导通,此时,低通高锁闩锁电路存储的数据信息被写入到高通低锁闩锁电路中,相当于第一寄存器被写入数据。Exemplarily, the write access of the first register can be understood as the address corresponding to the first register is selected, at this time, the first gating clock circuit will first output the gating clock to the first register from a high level transition is low level, that is, the first gating clock circuit jumps the clock input terminal of the first register from high level to low level, and clamps it to low level, which can be understood as the rising edge triggers the SI and The low-pass circuit in the D-terminal selection circuit and the low-pass high-lock latch circuit is turned from non-conductive to conductive, and the data information transmitted by the D-terminal is stored in the low-pass high-lock latch circuit. The gated clock output by the first gated clock circuit to the first register changes from a low level to a high level, that is, the first gated clock circuit changes the clock input terminal of the first register from a low level to a high level. high level. And, when the gating clock output to the first register transitions from low level to high level, that is, at the moment when the clock input terminal of the first register transitions from low level to high level, the first register is written It can be understood that the high-pass low-lock latch circuit inside the rising edge trigger register is turned on at the moment when the clock input terminal of the first register jumps from low level to high level. At this time, the low-pass high latch circuit The data information stored in the lock circuit is written into the high-pass low-lock latch circuit, which is equivalent to writing data into the first register.

在一些实施例中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第一输入端可以理解为图7B中的使能端,第二输入端用于接收与每个门控时钟电路共享的写时钟信号,第二输入端可以理解为图7B中的时钟输入端。In some embodiments, each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, the first input terminal is coupled to a write address bus shared by each clock gating circuit, The first input terminal can be understood as the enable terminal in FIG. 7B , the second input terminal is used to receive the write clock signal shared with each gating clock circuit, and the second input terminal can be understood as the clock input terminal in FIG. 7B .

示例性的,如图7A所示,第一门控时钟电路包括第一输入端i和第二输入端j,第一门控时钟电路的第一输入端i与写地址总线耦合,第一门控时钟电路的第二输入端j用于接收写时钟信号。Exemplarily, as shown in FIG. 7A , the first gate-controlled clock circuit includes a first input terminal i and a second input terminal j, the first input terminal i of the first gate-controlled clock circuit is coupled to the write address bus, and the first gate The second input terminal j of the clock control circuit is used to receive the write clock signal.

在一些实施例中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入 端的信号用于指示第一寄存器的第一地址未被选中。In some embodiments, when the first register is not being accessed for writing, the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected.

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一寄存器对应的第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。例如,当写地址总线为第二地址时,第一门控时钟电路的第一输入端的信号用于指示第一地址未被选中。Exemplarily, the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected. At this time, the signal at the first input end of the first gating clock circuit corresponding to the first register is used to indicate The first address of a register is not selected. For example, when the write address bus is the second address, the signal at the first input end of the first gating clock circuit is used to indicate that the first address is not selected.

由此,本申请实施例提供的一种寄存器阵列电路中,当寄存器阵列为上升沿触发寄存器时,通过或门控时钟电路向未被执行写访问的寄存器输出钳位为高电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为高电平,使得寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路不被导通,SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。Therefore, in the register array circuit provided by the embodiment of the present application, when the register array is a rising edge triggered register, the OR gate clock circuit outputs a gate that is clamped to a high level to a register that is not subjected to write access. Clock, that is, the clock input terminal of the register that is not being written and accessed is clamped to a high level, so that the SI and D terminal selection circuits inside the register and the low-pass circuit in the low-pass high-lock latch circuit are not turned on, and SI and D The D-terminal selection circuit, the low-pass circuit in the low-pass high-lock latch circuit, and the inverter do not flip over, thereby avoiding waste of power consumption, improving power consumption utilization, reducing the number of windings and circuit area, and at the same time Ease of physical realization.

如图7D所示,本申请实施例提供的另一种寄存器阵列电路示意图,该寄存器阵列电路包括:多个寄存器和与多个寄存器一一对应的多个门控时钟电路。As shown in FIG. 7D , it is a schematic diagram of another register array circuit provided by an embodiment of the present application. The register array circuit includes: a plurality of registers and a plurality of clock gating circuits corresponding to the plurality of registers one by one.

其中,门控时钟电路用于向寄存器输出门控时钟。多个寄存器中的每个寄存器对应的地址不同,每个寄存器包括数据输入端和时钟输入端,每个寄存器的数据输入端均与每个寄存器共享的写数据总线耦合,每个寄存器的时钟输入端均与对应的门控时钟电路的输出端耦合,多个寄存器包括第一寄存器,第一寄存器为下降沿触发寄存器,与第一寄存器对应的第一门控时钟电路为与门控时钟电路。Wherein, the gating clock circuit is used to output the gating clock to the register. Each of the multiple registers corresponds to a different address. Each register includes a data input terminal and a clock input terminal. The data input terminal of each register is coupled to the write data bus shared by each register. The clock input terminal of each register Both terminals are coupled with the output terminals of the corresponding gated clock circuit, the multiple registers include a first register, the first register is a falling edge trigger register, and the first gated clock circuit corresponding to the first register is an AND gated clock circuit.

示例性的,如图7D所示,多个寄存器可以包括第一寄存器、第二寄存器和第N寄存器等(N为大于1的整数),均为下降沿触发寄存器。每个寄存器都分别对应有门控时钟电路,第一寄存器对应的门控时钟电路为第一门控时钟电路、第二寄存器对应的门控时钟电路为第二门控时钟电路、第N寄存器对应的门控时钟电路为第N门控时钟电路等,每个门控时钟电路都为与门控时钟电路。其中,第一寄存器的数据输入端为输入端k,输入端k与写数据总线耦合。第一寄存器的时钟输入端为输入端l,输入端l与第一门控时钟电路的输出端m耦合。可以理解为,写数据总线上的翻转能够通过输入端l使第一寄存器内部部分电路翻转,第一门控时钟电路的输出端用于向第一寄存器输出门控时钟,控制第一寄存器是否被写入数据。Exemplarily, as shown in FIG. 7D , the multiple registers may include a first register, a second register, and an Nth register (N is an integer greater than 1), all of which are falling edge triggered registers. Each register corresponds to a gated clock circuit, the gated clock circuit corresponding to the first register is the first gated clock circuit, the gated clock circuit corresponding to the second register is the second gated clock circuit, and the Nth register corresponds to The gated clock circuit is the Nth gated clock circuit, etc., and each gated clock circuit is an AND gated clock circuit. Wherein, the data input terminal of the first register is the input terminal k, and the input terminal k is coupled to the write data bus. The clock input end of the first register is the input end l, and the input end l is coupled to the output end m of the first gating clock circuit. It can be understood that the inversion on the write data bus can cause some internal circuits of the first register to invert through the input terminal 1, and the output terminal of the first gating clock circuit is used to output the gating clock to the first register to control whether the first register is data input.

在一些实施例中,第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为低电平的门控时钟。In some embodiments, the first clock gating circuit is configured to output a clock gating clamped to a low level to the first register when no write access is performed on the first register.

其中,第一门控时钟电路为与门控时钟电路,如图7E所示,为与门控时钟电路的内部结构示意图,由一个低通高锁闩锁、反相器和与门组成。低通高锁闩锁有使能端(E端)和时钟输入端(CLK端)两个输入端,使能端用于接收写地址总线指示的地址信息,当写地址总线指示的地址信息为该与门控时钟电路对应的寄存器的地址时,该使能端输入为高电平,相当于该与门控时钟电路对应的地址被选中,与门控时钟电路对应的寄存器被执行写访问。时钟输入端用于接收每个与门控时钟电路共享的写时钟信号。低通高锁闩锁的输出端(Q端)与与门的一个输入端耦合,与门的另一个输入端用于接收每个与门控时钟电路共享的写时钟信号,与门的输出端输出的信号即为与门控时钟电路输出的门控时钟。Wherein, the first gated clock circuit is an AND-gated clock circuit, as shown in FIG. 7E , which is a schematic diagram of the internal structure of the AND-gated clock circuit, which is composed of a low-pass high-lock latch, an inverter and an AND gate. The low-pass high-lock latch has two input terminals, an enable terminal (E terminal) and a clock input terminal (CLK terminal). The enable terminal is used to receive the address information indicated by the write address bus. When the address information indicated by the write address bus is When the address of the register corresponding to the gated clock circuit is set, the input of the enable terminal is at a high level, which means that the address corresponding to the gated clock circuit is selected, and the register corresponding to the gated clock circuit is executed for write access. A clock input is used to receive each write clock signal shared with the clock gating circuit. The output terminal (Q terminal) of the low-pass high-lock latch is coupled with one input terminal of the AND gate, and the other input terminal of the AND gate is used to receive the write clock signal shared by each gate-controlled clock circuit, and the output terminal of the AND gate The output signal is the gate control clock output by the gate control clock circuit.

图7E所示的与门控时钟电路的时序图如图7F所示,以图7E所示的与门控时钟电 路对应的地址为地址1为例。图7F中写时钟信号周期性翻转,当写地址总线指示的地址信息不为地址1时,即该与门控时钟电路对应的地址未被选中时,图7E中的低通高锁闩锁使能端输入为低电平。使能端输入的低电平和写时钟信号通过低通高锁闩锁后,低通高锁闩锁输出端为低电平,高通低锁闩锁输出端输出的低电平和写时钟信号通过与门后,与门输出低电平,即该与门控时钟电路的输出端输出为低电平。可以理解为,当某一地址未被选中时,即某一地址对应的寄存器未被执行写访问时,该寄存器对应的与时钟门控电路的输出端输出低电平。The timing diagram of the gated clock circuit shown in FIG. 7E is shown in FIG. 7F , and the address corresponding to the gated clock circuit shown in FIG. 7E is address 1 as an example. In Fig. 7F, the write clock signal is periodically reversed. When the address information indicated by the write address bus is not address 1, that is, when the address corresponding to the gated clock circuit is not selected, the low-pass high-lock latch in Fig. 7E enables The energy terminal input is low level. After the low level input from the enable port and the write clock signal pass through the low-pass high latch latch, the output terminal of the low-pass high-lock latch is low level, and the low-level output terminal of the high-pass low-lock latch output terminal and the write clock signal pass through and After the gate, the AND gate outputs a low level, that is, the output terminal of the AND gate control clock circuit outputs a low level. It can be understood that when a certain address is not selected, that is, when the register corresponding to a certain address is not accessed for writing, the output end of the clock gating circuit corresponding to the register outputs a low level.

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,可以理解为第一门控时钟电路将第一寄存器的时钟输入端钳位为低电平。下降沿触发寄存器的时钟输入端保持低电平时,下降沿触发寄存器内部的SI和D端选择电路和高通低锁闩锁电路中的高通电路不会被导通,从而能够减少下降沿触发寄存器内部电路空翻,避免造成功耗浪费。Exemplarily, the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected. At this time, the first clock gating circuit outputs a gating clock clamped to a low level to the first register , it can be understood that the first gating clock circuit clamps the clock input terminal of the first register to a low level. When the clock input terminal of the falling-edge trigger register remains low, the SI and D terminal selection circuits inside the falling-edge trigger register and the high-pass circuit in the high-pass low-lock latch circuit will not be turned on, thereby reducing the internal frequency of the falling-edge trigger register. The circuit flips over to avoid wasting power consumption.

在一些实施例中,第一寄存器被执行写访问时,第一门控时钟电路,还用于向第一寄存器输出的门控时钟由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平。In some embodiments, when the first register is accessed for writing, the first gating clock circuit is also used to transition the gating clock output to the first register from a low level to a high level, and clamp it to a high level level, and then the gating clock output to the first register jumps from high level to low level.

其中,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,第一寄存器被写入数据。如图7F所示,以图7E所示的与门控时钟电路对应的地址为地址1为例,当写地址总线指示的地址信息为地址1时,即该与门控时钟电路对应的地址被选中时,图7E中的低通高锁闩锁使能端输入为高电平。使能端输入的高电平和写时钟信号通过低通高锁闩锁后,低通高锁闩锁输出端为高电平(输出的高电平不一定对准写时钟信号周期),低通高锁闩锁输出端输出的高电平和写时钟信号通过与门后,与门输出高电平,即该与门控时钟电路的输出端输出为高电平。并且该与门控时钟电路的输出端输出高电平一段时间后,会由高电平跳变为低电平,在该与门控时钟电路的输出端由高电平跳变为低电平的瞬间,数据被写入到该与门控时钟电路对应的寄存器中。可以理解为,当某一地址被选中时,即某一地址对应的寄存器被执行写访问时,该寄存器对应的与时钟门控电路的输出端输出的门控时钟会由低电平跳变到高电平,并持续输出高电平一段时间后,又由高电平跳变到低电平,且在由高电平跳变到低电平的瞬间将数据写入到寄存器中。其中,图7E所示的寄存器对应的与门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。Wherein, when the gating clock output to the first register transitions from a high level to a low level, the first register is written with data. As shown in FIG. 7F, taking the address corresponding to the gated clock circuit shown in FIG. 7E as address 1 as an example, when the address information indicated by the write address bus is address 1, that is, the address corresponding to the gated clock circuit is When selected, the input of the low-pass high-lock latch enable terminal in FIG. 7E is at a high level. After the high level input by the enable terminal and the write clock signal pass through the low-pass high-lock latch, the output terminal of the low-pass high-lock latch is high level (the output high level does not necessarily align with the period of the write clock signal), and the low-pass After the high level output from the high-lock latch output terminal and the write clock signal pass through the AND gate, the AND gate outputs a high level, that is, the output terminal of the AND gate control clock circuit outputs a high level. And after the output terminal of the AND-gated clock circuit outputs a high level for a period of time, it will jump from a high level to a low level, and the output terminal of the AND-gated clock circuit will change from a high level to a low level At an instant, data is written into the register corresponding to the gated clock circuit. It can be understood that when a certain address is selected, that is, when the register corresponding to a certain address is accessed for writing, the gating clock corresponding to the register and the output terminal of the clock gating circuit will jump from low level to High level, and continue to output high level for a period of time, then jump from high level to low level, and write data into the register at the moment of transition from high level to low level. Wherein, the jump position corresponding to the output end of the gated clock circuit corresponding to the register shown in FIG. 7E can be adjusted according to the actual circuit, and the timing diagram is only an example.

示例性的,第一寄存器被执行写访问可以理解为第一寄存器所对应的地址被选中,此时,第一门控时钟电路会先向第一寄存器输出的门控时钟由低电平跳变为高电平,即第一门控时钟电路将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,可以理解为下降沿触发寄存器内部的SI和D端选择电路和高通低锁闩锁中的高通电路由不被导通变为被导通,D端传输的数据信息被存储到高通低锁闩锁电路中。第一门控时钟电路再向第一寄存器输出的门控时钟由高电平跳变为低电平,即第一门控时钟电路再将第一寄存器的时钟输入端由高电平跳变为低电平。并且,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,即在第一寄存器的时钟输入端由高电平跳变为低电平的瞬间,第一寄存器被写入数据,可以理解为下降沿触发寄存器内部 的低通高锁闩锁电路在第一寄存器的时钟输入端由高电平跳变为低电平的瞬间被导通,此时,高通低锁闩锁电路存储的数据信息被写入到低通高锁闩锁电路中,相当于第一寄存器被写入数据。Exemplarily, the write access of the first register can be understood as the address corresponding to the first register is selected, at this time, the first gating clock circuit will first output the gating clock to the first register from a low level transition is a high level, that is, the first gating clock circuit jumps the clock input terminal of the first register from a low level to a high level, and clamps it to a high level, which can be understood as a falling edge triggering the SI and The high-pass circuit in the D-terminal selection circuit and the high-pass low-lock latch is changed from being turned on to being turned on, and the data information transmitted by the D-terminal is stored in the high-pass low-lock latch circuit. The gated clock output by the first gated clock circuit to the first register changes from a high level to a low level, that is, the first gated clock circuit changes the clock input terminal of the first register from a high level to a low level. low level. And, when the gating clock output to the first register transitions from a high level to a low level, that is, at the moment when the clock input terminal of the first register transitions from a high level to a low level, the first register is written It can be understood that the low-pass high-lock latch circuit inside the falling edge trigger register is turned on at the moment when the clock input terminal of the first register jumps from high level to low level. At this time, the high-pass low latch circuit The data information stored in the lock circuit is written into the low-pass high-lock latch circuit, which is equivalent to writing data into the first register.

在一些实施例中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第一输入端可以理解为图7E中的使能端,第二输入端用于接收与每个门控时钟电路共享的写时钟信号,第二输入端可以理解为图7E中的时钟输入端。In some embodiments, each clock gating circuit in the plurality of clock gating circuits further includes a first input terminal and a second input terminal, the first input terminal is coupled to a write address bus shared by each clock gating circuit, The first input terminal can be understood as the enable terminal in FIG. 7E , the second input terminal is used to receive the write clock signal shared with each gating clock circuit, and the second input terminal can be understood as the clock input terminal in FIG. 7E .

示例性的,如图7D所示,第一门控时钟电路包括第一输入端o和第二输入端p,第一门控时钟电路的第一输入端o与写地址总线耦合,第一门控时钟电路的第二输入端p用于接收写时钟信号。Exemplarily, as shown in FIG. 7D, the first clock gating circuit includes a first input terminal o and a second input terminal p, the first input terminal o of the first clock gating circuit is coupled to the write address bus, and the first gate The second input terminal p of the clock control circuit is used to receive the write clock signal.

在一些实施例中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。In some embodiments, when the first register is not being accessed for writing, the signal at the first input terminal of the first gating clock circuit is used to indicate that the first address of the first register is not selected.

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一寄存器对应的第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。例如,当写地址总线为第二地址时,第一门控时钟电路的第一输入端的信号用于指示第一地址未被选中。Exemplarily, the write access to the first register is not performed, which can be understood as the address corresponding to the first register is not selected. At this time, the signal at the first input end of the first gating clock circuit corresponding to the first register is used to indicate The first address of a register is not selected. For example, when the write address bus is the second address, the signal at the first input end of the first gating clock circuit is used to indicate that the first address is not selected.

由此,本申请实施例提供的一种寄存器阵列电路中,当寄存器阵列为下降沿触发寄存器时,通过与门控时钟电路向未被执行写访问的寄存器输出钳位为低电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为低电平,使得寄存器内部SI和D端选择电路以及高通低锁闩锁中的高通电路不被导通,SI和D端选择电路、高通低锁闩锁中的高通电路以及反相器不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。Therefore, in the register array circuit provided by the embodiment of the present application, when the register array is a falling-edge trigger register, the AND gating clock circuit outputs a gate that is clamped to a low level to a register that is not subjected to write access. Clock, that is, the clock input terminal of the register that is not being written and accessed is clamped to a low level, so that the internal SI and D terminal selection circuit of the register and the high-pass circuit in the high-pass low-lock latch are not turned on, and the SI and D terminal selection The circuit, the high-pass circuit in the high-pass low-latch latch and the inverter do not flip over, thereby avoiding waste of power consumption, improving the utilization rate of power consumption, reducing the number of windings and circuit area, and at the same time facilitating physical implementation.

如图8所示,本申请实施例提供一种访问寄存器阵列的方法流程图,以图7A所示的寄存器阵列电路为例,寄存器为上升沿触发寄存器。即图4A中为或时钟门控电路的门控时钟单元可以为图7A中的第一门控时钟电路,图4A中的写地址总线为图7A中的写地址总线,图4A中的寄存器阵列包括图7A中的第一寄存器等。该方法应用于图7A所示的寄存器阵列电路,具体寄存器阵列电路结构可以参见上述对图7A的描述。该方法包括:As shown in FIG. 8 , an embodiment of the present application provides a flow chart of a method for accessing a register array. Taking the register array circuit shown in FIG. 7A as an example, the register is a rising edge triggered register. That is, the gated clock unit of the OR clock gating circuit in FIG. 4A can be the first gated clock circuit in FIG. 7A, the write address bus in FIG. 4A is the write address bus in FIG. 7A, and the register array in FIG. 4A Including the first register in Fig. 7A and so on. This method is applied to the register array circuit shown in FIG. 7A . For the specific structure of the register array circuit, refer to the above description of FIG. 7A . The method includes:

步骤801、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。Step 801 , when it is determined that the first register is not subject to write access, a signal through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.

示例性的,如图7A所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,第一寄存器对应的第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。Exemplarily, as shown in FIG. 7A, when it is determined that the first register is not subjected to write access, it can be understood that when it is determined that the address corresponding to the first register is not selected, the first gating clock circuit corresponding to the first register A signal at the first input of the first register indicates that the first address of the first register is not selected.

步骤802、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟。Step 802 , when it is determined that the first register is not subject to write access, output a gated clock clamped to a high level to the first register through the first gated clock circuit.

示例性的,如图7A所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,通过第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,即通过第一门控时钟电路将第一寄存器的时钟输入端钳位为高电平。上升沿触发寄存器的时钟输入端保持高电平时,上升沿触发寄存器内部的SI 和D端选择电路和低通高锁闩锁电路中的低通电路不会被导通,从而能够减少上升沿触发寄存器内部电路空翻,避免造成功耗浪费。Exemplarily, as shown in FIG. 7A, when it is determined that the first register is not being accessed for write access, it can be understood that when it is determined that the address corresponding to the first register is not selected, the first register is sent to the first register through the first gating clock circuit. Outputting a gated clock clamped to a high level, that is, clamping the clock input terminal of the first register to a high level through the first gated clock circuit. When the clock input terminal of the rising-edge trigger register remains high, the SI and D terminal selection circuits inside the rising-edge trigger register and the low-pass circuit in the low-pass high-lock latch circuit will not be turned on, thereby reducing the rising-edge trigger The internal circuit of the register flips over to avoid waste of power consumption.

在一些实施例中,当确定第一寄存器被执行写访问时,通过第一门控时钟电路向第一寄存器输出的门控时钟由高电平跳变为低电平,即将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,再向第一寄存器输出的门控时钟由低电平跳变为高电平,即再将第一寄存器的时钟输入端由低电平跳变为高电平,在第一寄存器的时钟输入端由低电平跳变为高电平时,向第一寄存器写入数据。In some embodiments, when it is determined that the first register is accessed for writing, the gating clock output to the first register through the first gating clock circuit jumps from a high level to a low level, that is, the clock of the first register The input end transitions from high level to low level, and is clamped to low level, and then the gating clock output to the first register transitions from low level to high level, that is, the clock of the first register The input terminal transitions from low level to high level, and when the clock input terminal of the first register transitions from low level to high level, data is written into the first register.

示例性的,当确定第一寄存器被执行写访问时,第一门控时钟电路对第一寄存器的时钟输入端的具体控制过程以及向第一寄存器写入数据的过程可以参见上述对图7A的描述。Exemplarily, when it is determined that the first register is subjected to write access, the specific control process of the first clock gate circuit on the clock input terminal of the first register and the process of writing data to the first register can refer to the above description of FIG. 7A .

由此,本申请实施例提供的一种访问寄存器阵列的方法中,当寄存器阵列为上升沿触发寄存器时,通过或门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为高电平,使得寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。Therefore, in a method for accessing a register array provided by an embodiment of the present application, when the register array is a rising-edge-triggered register, an OR-gated clock circuit outputs a gated clock clamped to a high level to the first register, The clock input terminal of the register that is not being written and accessed is clamped to a high level, so that the SI and D terminal selection circuits inside the register and the low-pass circuit in the low-pass high-lock latch circuit are not turned on, and no flipping is performed. Furthermore, the waste of power consumption is avoided, the utilization rate of power consumption is improved, the number of winding wires and the circuit area are reduced, and at the same time, it is convenient for physical realization.

如图9所示,本申请实施例提供一种访问寄存器阵列的方法流程图,以图7D所示的寄存器阵列电路为例,寄存器为下降沿触发寄存器。即图4B中包括与时钟门控电路的门控时钟单元可以为图7D中的第一门控时钟电路,图4B中的写地址总线为图7D中的写地址总线,图4B中的寄存器阵列包括图7D中的第一寄存器等。该方法应用于图7D所示的寄存器阵列电路,具体寄存器阵列电路结构可以参见上述对图7D的描述。该方法包括:As shown in FIG. 9 , an embodiment of the present application provides a flow chart of a method for accessing a register array. Taking the register array circuit shown in FIG. 7D as an example, the register is a falling edge trigger register. That is, the gated clock unit comprising the clock gating circuit in FIG. 4B can be the first gated clock circuit in FIG. 7D, the write address bus in FIG. 4B is the write address bus in FIG. 7D, and the register array in FIG. 4B Including the first register in Fig. 7D and so on. This method is applied to the register array circuit shown in FIG. 7D . For the specific structure of the register array circuit, refer to the above description of FIG. 7D . The method includes:

步骤901、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。Step 901. When it is determined that the first register is not subject to write access, a signal through the first input terminal of the first gating clock circuit indicates that the first address of the first register is not selected.

示例性的,如图7D所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,第一寄存器对应的第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。Exemplarily, as shown in FIG. 7D, when it is determined that the first register is not subjected to write access, it can be understood that when it is determined that the address corresponding to the first register is not selected, the first gating clock circuit corresponding to the first register A signal at the first input of the first register indicates that the first address of the first register is not selected.

步骤902、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟。Step 902: When it is determined that the first register is not being accessed for writing, output a gate clock clamped to a low level to the first register through the first gate clock circuit.

示例性的,如图7D所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,通过第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,即通过第一门控时钟电路将第一寄存器的时钟输入端钳位为低电平。下降沿触发寄存器的时钟输入端保持低电平时,下降沿触发寄存器内部的SI和D端选择电路和高通低锁闩锁电路中的高通电路不会被导通,从而能够减少下降沿触发寄存器内部电路空翻,避免造成功耗浪费。Exemplarily, as shown in FIG. 7D, when it is determined that the first register is not being accessed for writing, it can be understood that when it is determined that the address corresponding to the first register is not selected, the first register is sent to the first register through the first gating clock circuit. Outputting the gated clock clamped to a low level, that is, clamping the clock input end of the first register to a low level through the first gated clock circuit. When the clock input terminal of the falling-edge trigger register remains low, the SI and D terminal selection circuits inside the falling-edge trigger register and the high-pass circuit in the high-pass low-lock latch circuit will not be turned on, thereby reducing the internal frequency of the falling-edge trigger register. The circuit flips over to avoid wasting power consumption.

在一些实施例中,当确定第一寄存器被执行写访问时,通过第一门控时钟电路向第一寄存器输出的门控时钟由低电平跳变为高电平,即将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平,即再将第一寄存器的时钟输入端由高电平跳变为低电平,在第一寄存器的时钟输入端由高电平跳变为低电平时,向第一寄存器写入数据。In some embodiments, when it is determined that the first register is to be accessed for writing, the gating clock output to the first register through the first gating clock circuit jumps from a low level to a high level, that is, the clock of the first register The input terminal transitions from low level to high level, and clamps to high level, and then the gating clock output to the first register transitions from high level to low level, that is, the clock of the first register The input terminal transitions from high level to low level, and when the clock input terminal of the first register transitions from high level to low level, data is written into the first register.

示例性的,当确定第一寄存器被执行写访问时,第一门控时钟电路对第一寄存器的时钟输入端的具体控制过程以及向第一寄存器写入数据的过程可以参见上述对图7B的描述。Exemplarily, when it is determined that the first register is subjected to write access, the specific control process of the first clock gate circuit on the clock input terminal of the first register and the process of writing data to the first register can refer to the above description of FIG. 7B .

由此,本申请实施例提供的一种访问寄存器阵列的方法中,当寄存器阵列为下降沿触发寄存器时,通过与门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为低电平,使得寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。Therefore, in a method for accessing a register array provided by an embodiment of the present application, when the register array is a falling-edge triggered register, the AND gate clock circuit outputs a gate clock clamped to a low level to the first register, The clock input terminal of the register that is not being written and accessed is clamped to a low level, so that the SI and D terminal selection circuits inside the register and the high-pass circuit in the high-pass low-lock latch circuit are not turned on, and no flipping is performed, thereby avoiding It causes waste of power consumption, improves the utilization rate of power consumption, reduces the number of winding wires and circuit area, and is convenient for physical realization at the same time.

下面以图10为例,对本申请实施例提供的一种寄存器阵列电路进行介绍,其中寄存器阵列为上升沿触发寄存器。The following uses FIG. 10 as an example to introduce a register array circuit provided by an embodiment of the present application, wherein the register array is a rising edge triggered register.

寄存器阵列例如包括图10中示出的0地址寄存器、1地址寄存器和n地址寄存器等(n为大于1的整数),分别代表地址0的寄存器、地址1的寄存器和地址n的寄存器,即每个寄存器对应的地址不同。每个寄存器的时钟输入端r与对应的或门控时钟电路的输出端s耦合,每个寄存器的数据输入端q共享写数据总线。或门控时钟电路的两个输入端中,一个输入端t由每个或门控时钟电路共享的写地址总线控制,另一个输入端u用于接收每个或门控时钟电路共享的写时钟信号。当写地址总线指示的地址信息=0时,即0地址被选中写入数据时,0地址寄存器对应的或门控时钟电路的输出端进行上升沿跳变(或门控时钟电路的输出端由低电平跳变为高电平),其余未被选中的地址的寄存器对应的或门控时钟电路的输出端不进行跳变(或门控时钟电路的输出端保持高电平),写数据总线上承载的数据信息在或门控时钟电路的输出端进行上升沿跳变时写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余地址未被选中(例如1地址和n地址未被选中),未被选中的地址对应的寄存器(例如1地址寄存器和n地址寄存器)未被执行写访问,未被执行写访问的寄存器对应的或门控时钟电路的输出端将该寄存器的时钟输入端钳位为高电平,使得该寄存器内部SI和D端选择电路以及低通高锁闩锁中的低通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。The register array includes, for example, 0 address registers, 1 address registers, and n address registers (n is an integer greater than 1) shown in FIG. The address corresponding to each register is different. The clock input terminal r of each register is coupled to the output terminal s of the corresponding OR-gated clock circuit, and the data input terminal q of each register shares the write data bus. Among the two input terminals of the OR-gated clock circuit, one input terminal t is controlled by the write address bus shared by each OR-gated clock circuit, and the other input terminal u is used to receive the write clock shared by each OR-gated clock circuit Signal. When the address information=0 indicated by the write address bus, that is, when the 0 address was selected to write data, the output terminal corresponding to the 0 address register or the gate-controlled clock circuit carried out a rising edge jump (or the output terminal of the gate-controlled clock circuit was controlled by Low level transitions to high level), and the output terminals of the other unselected address registers or the gate control clock circuit do not jump (or the output terminal of the gate control clock circuit remains high level), write data The data information carried on the bus is written into the 0 address register when the output terminal of the OR-gated clock circuit undergoes a rising edge transition. When the address information=0 indicated by the write address bus, all the other addresses were not selected (such as 1 address and n address were not selected), and the corresponding registers of the unselected addresses (such as 1 address register and n address register) were not executed Write access, the output terminal of the gate clock circuit corresponding to the register that has not been performed write access clamps the clock input terminal of the register to a high level, so that the internal SI and D terminal selection circuits of the register and the low-pass high latch The low-pass circuit in the lock is not turned on, and does not flip over, thereby avoiding waste of power consumption, improving the utilization rate of power consumption, reducing the number of winding wires and circuit area, and at the same time, it is convenient for physical realization.

如图11所示,为图10寄存器阵列电路的时序图。写时钟信号周期性翻转,写地址总线指示的地址信息=0时,0地址被选中,0地址寄存器被执行写访问,0地址寄存器对应的或门控时钟电路的输出端会进行上升沿跳变,此时0地址寄存器被写入数据,写数据总线中的数据被写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余未被选中的地址对应的寄存器未被执行写访问,未被执行写访问的寄存器对应的或门控时钟电路的输出端不进行跳变。以1地址寄存器对应的门控时钟电路的输出端为例,在写地址总线指示的地址信息=0时,1地址寄存器对应的门控时钟电路的输出端保持高电平不进行跳变,即1地址寄存器不被写入数据。其中,图11所示的寄存器对应的或门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。As shown in FIG. 11 , it is a timing diagram of the register array circuit in FIG. 10 . The write clock signal is periodically flipped, and when the address information indicated by the write address bus = 0, address 0 is selected, and the register of address 0 is executed for write access, and the output terminal corresponding to address register 0 or the gate control clock circuit will perform a rising edge jump , at this time, data is written into the 0 address register, and the data in the write data bus is written into the 0 address register. When the address information indicated by the write address bus=0, the registers corresponding to the remaining unselected addresses are not accessed for writing, and the output terminals of the gate clock circuit corresponding to the registers not accessed for writing do not perform a transition. Taking the output terminal of the gated clock circuit corresponding to the 1 address register as an example, when the address information indicated by the write address bus=0, the output terminal of the gated clock circuit corresponding to the 1 address register remains at a high level without jumping, that is 1 The address register is not written with data. Wherein, the jump position of the output terminal of the OR-gated clock circuit corresponding to the register shown in FIG. 11 can be adjusted according to the actual circuit, and the timing diagram is only an example.

下面以图12为例,对本申请实施例提供的另一种寄存器阵列电路进行介绍,其中寄存器阵列为下降沿触发寄存器。The following uses FIG. 12 as an example to introduce another register array circuit provided by the embodiment of the present application, wherein the register array is a falling edge trigger register.

寄存器阵列例如包括图12中示出的0地址寄存器、1地址寄存器和n地址寄存器 等(n为大于1的整数),分别代表地址0的寄存器、地址1的寄存器和地址n的寄存器,即每个寄存器对应的地址不同。每个寄存器的时钟输入端w与对应的与门控时钟电路的输出端x耦合,每个寄存器的数据输入端v共享写数据总线。与门控时钟电路的两个输入端中,一个输入端y由每个与门控时钟电路共享的写地址总线控制,另一个输入端z用于接收每个与门控时钟电路共享的写时钟信号。当写地址总线指示的地址信息=0时,即0地址被选中写入数据时,0地址寄存器对应的与门控时钟电路的输出端进行下降沿跳变(与门控时钟电路的输出端由高电平跳变为低电平),其余未被选中的地址的寄存器对应的与门控时钟电路的输出端不进行跳变(与门控时钟电路的输出端保持低电平),写数据总线上承载的数据信息在与门控时钟电路的输出端进行下降沿跳变时写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余地址未被选中(例如1地址和n地址未被选中),未被选中的地址对应的寄存器(例如1地址寄存器和n地址寄存器)未被执行写访问,未被执行写访问的寄存器对应的与门控时钟电路的输出端将该寄存器的时钟输入端钳位为低电平,使得该寄存器内部SI和D端选择电路以及高通低锁闩锁中的高通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。The register array includes, for example, 0 address registers, 1 address registers, and n address registers (n is an integer greater than 1) shown in FIG. The address corresponding to each register is different. The clock input terminal w of each register is coupled to the corresponding output terminal x of the gating clock circuit, and the data input terminal v of each register shares the write data bus. Among the two input terminals of the gate-controlled clock circuit, one input terminal y is controlled by each write address bus shared with the gate-controlled clock circuit, and the other input terminal z is used to receive each write clock shared with the gate-controlled clock circuit Signal. When the address information=0 indicated by the write address bus, that is, when the 0 address was selected to write data, the output terminal corresponding to the 0 address register and the gate-controlled clock circuit carried out a falling edge jump (the output terminal of the gate-controlled clock circuit is determined by High level transitions to low level), the other unselected address registers correspond to the output terminal of the gated clock circuit without jumping (the output terminal of the gated clock circuit remains low), write data The data information carried on the bus is written into the 0 address register when the output end of the gate-controlled clock circuit performs a falling edge transition. When the address information=0 indicated by the write address bus, all the other addresses were not selected (such as 1 address and n address were not selected), and the corresponding registers of the unselected addresses (such as 1 address register and n address register) were not executed Write access, the output end of the gate control clock circuit corresponding to the register that has not been executed write access clamps the clock input end of the register to a low level, so that the internal SI and D end selection circuits of the register and the high-pass low-lock latch The high-pass circuit in the circuit is not turned on, and does not flip over, thereby avoiding waste of power consumption, improving the utilization rate of power consumption, reducing the number of windings and circuit area, and at the same time, it is convenient for physical realization.

如图13所示,为图12寄存器阵列电路的时序图。写时钟信号周期性翻转,写地址总线指示的地址信息=0时,0地址被选中,0地址寄存器被执行写访问,0地址寄存器对应的与门控时钟电路的输出端会进行下降沿跳变,此时0地址寄存器被写入数据,写数据总线中的数据被写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余未被选中的地址对应的寄存器未被执行写访问,未被执行写访问的寄存器对应的与门控时钟电路的输出端不进行跳变。以1地址寄存器对应的门控时钟电路的输出端为例,在写地址总线指示的地址信息=0时,1地址寄存器对应的门控时钟电路的输出端保持低电平不进行跳变,即1地址寄存器不被写入数据。其中,图13所示的寄存器对应的与门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。As shown in FIG. 13 , it is a timing diagram of the register array circuit in FIG. 12 . The write clock signal is periodically flipped, and when the address information indicated by the write address bus = 0, address 0 is selected, and the register of address 0 is executed for write access, and the output of the address register 0 corresponding to the gated clock circuit will perform a falling edge jump , at this time, data is written into the 0 address register, and the data in the write data bus is written into the 0 address register. When the address information indicated by the write address bus=0, the registers corresponding to the remaining unselected addresses are not accessed for writing, and the output terminals of the clock gate circuit corresponding to the registers not accessed for writing do not perform a transition. Taking the output terminal of the gated clock circuit corresponding to the 1 address register as an example, when the address information indicated by the write address bus=0, the output terminal of the gated clock circuit corresponding to the 1 address register remains at a low level without jumping, that is 1 The address register is not written with data. Wherein, the jump position corresponding to the output end of the gated clock circuit corresponding to the register shown in FIG. 13 can be adjusted according to the actual circuit, and the timing diagram is only an example.

可以理解的是,上述电子装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。It can be understood that, in order to realize the above-mentioned functions, the above-mentioned electronic device includes corresponding hardware structures and/or software modules for performing each function. Those skilled in the art should easily realize that the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software in combination with the example units and algorithm steps described in the embodiments disclosed herein. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the embodiments of the present application.

本申请实施例可以根据上述方法示例对上述电子装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiments of the present application may divide the above-mentioned electronic device into functional modules according to the above-mentioned method examples. For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiment of the present application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.

在采用集成的单元的情况下,如图14所示,本申请实施例公开了一种电子装置1400,该电子装置1400可以为上述实施例中芯片。电子装置1400可以包括处理模块和存储模块。其中,处理模块可以用于确定写地址总线指示的地址信息,并通过写地 址总线向存储模块发送待访问的寄存器的地址信息,并通过写数据总线向存储模块发送待写入的数据。存储模块可以用于支持电子装置1400存储程序代码和数据等,还可以用于支持电子装置1400执行上述步骤801、步骤802、步骤901和步骤902。In the case of using an integrated unit, as shown in FIG. 14 , the embodiment of the present application discloses an electronic device 1400 , and the electronic device 1400 may be the chip in the above embodiment. The electronic device 1400 may include a processing module and a memory module. Wherein, the processing module can be used to determine the address information indicated by the write address bus, and send the address information of the register to be accessed to the storage module through the write address bus, and send the data to be written to the storage module through the write data bus. The storage module can be used to support the electronic device 1400 to store program codes and data, and can also be used to support the electronic device 1400 to execute the above steps 801 , 802 , 901 and 902 .

当然,上述电子装置1400中的单元模块包括但不限于上述处理模块和存储模块。Certainly, the unit modules in the above electronic device 1400 include but not limited to the above processing module and storage module.

其中,处理模块可以为处理器1401(如图5所示的处理器501),存储模块可以为存储器1402(如图5所示的存储器502)。本申请实施例所提供的电子装置1400可以为图5所示的芯片500。其中,上述处理器和存储器等可以耦合在一起,例如处理器通过写地址总线和写数据总线与存储器耦合。Wherein, the processing module may be a processor 1401 (such as the processor 501 shown in FIG. 5 ), and the storage module may be a memory 1402 (such as the memory 502 shown in FIG. 5 ). The electronic device 1400 provided in the embodiment of the present application may be the chip 500 shown in FIG. 5 . Wherein, the processor and the memory may be coupled together, for example, the processor is coupled to the memory through a write address bus and a write data bus.

本申请实施例还提供一种电子装置,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子装置执行上述相关方法步骤实现上述实施例中的限制功耗的方法。The embodiment of the present application also provides an electronic device, including one or more processors and one or more memories. The one or more memories are coupled with one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device performs The above related method steps implement the method for limiting power consumption in the above embodiments.

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当处理器执行该计算机程序代码时,电子装置执行上述实施例中访问寄存器阵列的方法。The embodiment of the present application also provides a computer-readable storage medium, in which computer program code is stored. When the processor executes the computer program code, the electronic device executes the method for accessing the register array in the above-mentioned embodiment.

本申请的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子装置执行的访问寄存器阵列的方法。Embodiments of the present application also provide a computer program product, which, when running on a computer, causes the computer to execute the above-mentioned related steps, so as to implement the method for accessing the register array performed by the electronic device in the above-mentioned embodiments.

其中,本实施例提供的电子装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。Wherein, the electronic device, computer storage medium, computer program product or chip provided in this embodiment is all used to execute the corresponding method provided above, therefore, the beneficial effects it can achieve can refer to the corresponding method provided above The beneficial effects in the method will not be repeated here.

通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。Through the description of the above embodiments, those skilled in the art can understand that for the convenience and brevity of the description, only the division of the above functional modules is used as an example for illustration. In practical applications, the above functions can be assigned by different Completion of functional modules means that the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed devices and methods may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be Incorporation or may be integrated into another device, or some features may be omitted, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The unit described as a separate component may or may not be physically separated, and the component displayed as a unit may be one physical unit or multiple physical units, that is, it may be located in one place, or may be distributed to multiple different places . Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时, 可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the software product is stored in a storage medium Among them, several instructions are included to make a device (which may be a single-chip microcomputer, a chip, etc.) or a processor (processor) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes such as U disk, mobile hard disk, read only memory (ROM), random access memory (random access memory, RAM), magnetic disk or optical disk.

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above content is only the specific implementation of the application, but the scope of protection of the application is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the application, and should covered within the scope of protection of this application. Therefore, the protection scope of the present application should be determined by the protection scope of the claims.

Claims (20)

一种寄存器阵列电路,其特征在于,所述寄存器阵列电路包括多个寄存器和与所述多个寄存器一一对应的多个门控时钟电路,所述门控时钟电路用于向所述寄存器输出门控时钟;所述多个寄存器包括第一寄存器,所述第一寄存器为上升沿触发寄存器;与所述第一寄存器对应的第一门控时钟电路为或门控时钟电路;A register array circuit, characterized in that the register array circuit includes a plurality of registers and a plurality of gate-controlled clock circuits corresponding to the plurality of registers one-to-one, and the gate-controlled clock circuit is used to output to the registers Gated clock; the multiple registers include a first register, the first register is a rising edge trigger register; the first gated clock circuit corresponding to the first register is an OR gated clock circuit; 所述第一门控时钟电路用于在所述第一寄存器未被执行写访问时,向所述第一寄存器输出钳位为高电平的门控时钟。The first gating clock circuit is configured to output a gating clock clamped to a high level to the first register when the first register is not being accessed for writing. 根据权利要求1所述的寄存器阵列电路,其特征在于,The register array circuit according to claim 1, wherein, 所述第一寄存器被执行写访问时,所述第一门控时钟电路,还用于向所述第一寄存器输出的门控时钟由高电平跳变为低电平,并钳位为低电平,再向所述第一寄存器输出的门控时钟由低电平跳变为高电平;When the first register is accessed for writing, the first gating clock circuit is also used to transition the gating clock output to the first register from high level to low level, and clamp it to low level, and then the gating clock output to the first register jumps from low level to high level; 其中,在向所述第一寄存器输出的门控时钟由低电平跳变为高电平时,所述第一寄存器被写入数据。Wherein, when the gating clock output to the first register transitions from low level to high level, the first register is written with data. 根据权利要求1或2所述的寄存器阵列电路,其特征在于,所述多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,所述第一输入端与每个门控时钟电路共享的写地址总线耦合,所述第二输入端用于接收与所述每个门控时钟电路共享的写时钟信号。The register array circuit according to claim 1 or 2, wherein each clock gate circuit in the plurality of clock gate circuits further includes a first input terminal and a second input terminal, and the first input terminal The terminal is coupled to the write address bus shared by each clock gating circuit, and the second input terminal is used to receive the write clock signal shared by each clock gating circuit. 根据权利要求3所述的寄存器阵列电路,其特征在于,所述第一寄存器未被执行写访问时,所述第一门控时钟电路的第一输入端的信号用于指示所述第一寄存器的第一地址未被选中。The register array circuit according to claim 3, wherein when the first register is not being accessed for writing, the signal at the first input end of the first gating clock circuit is used to indicate the The first address is not selected. 一种寄存器阵列电路,其特征在于,所述寄存器阵列电路包括多个寄存器和与所述多个寄存器一一对应的多个门控时钟电路,所述门控时钟电路用于向所述寄存器输出门控时钟;所述多个寄存器包括第一寄存器,所述第一寄存器为下降沿触发寄存器;与所述第一寄存器对应的第一门控时钟电路为与门控时钟电路;A register array circuit, characterized in that the register array circuit includes a plurality of registers and a plurality of gate-controlled clock circuits corresponding to the plurality of registers one-to-one, and the gate-controlled clock circuit is used to output to the registers Gated clock; the multiple registers include a first register, the first register is a falling edge trigger register; the first gated clock circuit corresponding to the first register is an AND gated clock circuit; 所述第一门控时钟电路用于在所述第一寄存器未被执行写访问时,向所述第一寄存器输出钳位为低电平的门控时钟。The first gating clock circuit is configured to output a gating clock clamped to a low level to the first register when the first register is not being accessed for writing. 根据权利要求5所述的寄存器阵列电路,其特征在于,The register array circuit according to claim 5, wherein, 所述第一寄存器被执行写访问时,所述第一门控时钟电路,还用于向所述第一寄存器输出的门控时钟由低电平跳变为高电平,并钳位为高电平,再向所述第一寄存器输出的门控时钟由高电平跳变为低电平;When the first register is accessed for writing, the first gating clock circuit is also used to transition the gating clock output to the first register from low level to high level, and clamp it to high level, and then the gating clock output to the first register jumps from a high level to a low level; 其中,在向所述第一寄存器输出的门控时钟由高电平跳变为低电平时,所述第一寄存器被写入数据。Wherein, when the gating clock output to the first register transitions from a high level to a low level, the first register is written with data. 根据权利要求5或6所述的寄存器阵列电路,其特征在于,所述多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,所述第一输入端与每个门控时钟电路共享的写地址总线耦合,所述第二输入端用于接收与所述每个门控时钟电路共享的写时钟信号。The register array circuit according to claim 5 or 6, wherein each clock gate circuit in the plurality of clock gate circuits further includes a first input terminal and a second input terminal, and the first input terminal The terminal is coupled to the write address bus shared by each clock gating circuit, and the second input terminal is used to receive the write clock signal shared by each clock gating circuit. 根据权利要求7所述的寄存器阵列电路,其特征在于,所述第一寄存器未被执行写访问时,所述第一门控时钟电路的第一输入端的信号用于指示所述第一寄存器的第一地址未被选中。The register array circuit according to claim 7, wherein when the first register is not being accessed for writing, the signal at the first input end of the first gating clock circuit is used to indicate the The first address is not selected. 一种访问寄存器阵列的方法,所述方法应用于寄存器阵列电路,其特征在于,所述寄存器阵列电路包括多个寄存器和与所述多个寄存器一一对应的多个门控时钟电路,所述门控时钟电路用于向所述寄存器输出门控时钟;所述多个寄存器包括第一寄存器,所述第一寄存器为上升沿触发寄存器;与所述第一寄存器对应的第一门控时钟电路为或门控时钟电路;A method for accessing a register array, the method being applied to a register array circuit, characterized in that the register array circuit includes a plurality of registers and a plurality of gated clock circuits corresponding to the plurality of registers one-to-one, the The gated clock circuit is used to output the gated clock to the register; the multiple registers include a first register, and the first register is a rising edge trigger register; the first gated clock circuit corresponding to the first register Or gate the clock circuit; 当确定所述第一寄存器未被执行写访问时,通过所述第一门控时钟电路向所述第一寄存器输出钳位为高电平的门控时钟。When it is determined that the first register is not being accessed for writing, outputting a gated clock clamped to a high level to the first register through the first gated clock circuit. 根据权利要求9所述的方法,其特征在于,所述方法还包括:The method according to claim 9, characterized in that the method further comprises: 当确定所述第一寄存器被执行写访问时,通过所述第一门控时钟电路向所述第一寄存器输出的门控时钟由高电平跳变为低电平,并钳位为低电平,再向所述第一寄存器输出的门控时钟由低电平跳变为高电平;When it is determined that the first register is being written and accessed, the gating clock output to the first register through the first gating clock circuit jumps from a high level to a low level, and is clamped to a low level level, and then the gating clock output to the first register jumps from a low level to a high level; 其中,在向所述第一寄存器输出的门控时钟由低电平跳变为高电平时,向所述第一寄存器写入数据。Wherein, when the gating clock output to the first register transitions from low level to high level, data is written into the first register. 根据权利要求9或10所述的方法,其特征在于,所述多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,所述第一输入端与每个门控时钟电路共享的写地址总线耦合,所述第二输入端用于接收与所述每个门控时钟电路共享的写时钟信号。The method according to claim 9 or 10, wherein each clock gating circuit in the plurality of clock gating circuits further comprises a first input terminal and a second input terminal, and the first input terminal and The write address bus shared by each clock gating circuit is coupled, and the second input end is used for receiving the write clock signal shared by each clock gating circuit. 根据权利要求11所述的方法,其特征在于,所述方法还包括:当确定所述第一寄存器未被执行写访问时,通过所述第一门控时钟电路的第一输入端的信号指示所述第一寄存器的第一地址未被选中。The method according to claim 11, further comprising: when it is determined that the first register is not being accessed for writing, indicating the The first address of the first register is not selected. 一种访问寄存器阵列的方法,所述方法应用于寄存器阵列电路,其特征在于,所述寄存器阵列电路包括多个寄存器和与所述多个寄存器一一对应的多个门控时钟电路,所述门控时钟电路用于向所述寄存器输出门控时钟;所述多个寄存器包括第一寄存器,所述第一寄存器为下降沿触发寄存器;与所述第一寄存器对应的第一门控时钟电路为与门控时钟电路;A method for accessing a register array, the method being applied to a register array circuit, characterized in that the register array circuit includes a plurality of registers and a plurality of gated clock circuits corresponding to the plurality of registers one-to-one, the The gated clock circuit is used to output the gated clock to the register; the multiple registers include a first register, and the first register is a falling edge trigger register; the first gated clock circuit corresponding to the first register is an AND-gated clock circuit; 当确定所述第一寄存器未被执行写访问时,通过所述第一门控时钟电路向所述第一寄存器输出钳位为低电平的门控时钟。When it is determined that the first register is not being accessed for writing, outputting a gate clock clamped to a low level to the first register through the first gate clock circuit. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method according to claim 13, further comprising: 当确定所述第一寄存器被执行写访问时,通过所述第一门控时钟电路向所述第一寄存器输出的门控时钟由低电平跳变为高电平,并钳位为高电平,再向所述第一寄存器输出的门控时钟由高电平跳变为低电平;When it is determined that the first register is being written and accessed, the gating clock output to the first register through the first gating clock circuit jumps from a low level to a high level, and is clamped to a high level level, and then the gating clock output to the first register jumps from a high level to a low level; 其中,在向所述第一寄存器输出的门控时钟由高电平跳变为低电平时,向所述第一寄存器写入数据。Wherein, when the gating clock output to the first register transitions from a high level to a low level, data is written into the first register. 根据权利要求13或14所述的方法,其特征在于,所述多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,所述第一输入端与每个门控时钟电路共享的写地址总线耦合,所述第二输入端用于接收与所述每个门控时钟电路共享的写时钟信号。The method according to claim 13 or 14, wherein each clock gating circuit in the plurality of clock gating circuits further comprises a first input terminal and a second input terminal, and the first input terminal and The write address bus shared by each clock gating circuit is coupled, and the second input end is used for receiving the write clock signal shared by each clock gating circuit. 根据权利要求15所述的方法,其特征在于,所述方法还包括:当确定所述第一寄存器未被执行写访问时,通过所述第一门控时钟电路的第一输入端的信号指示所 述第一寄存器的第一地址未被选中。The method according to claim 15, further comprising: when it is determined that the first register is not being accessed for writing, indicating the The first address of the first register is not selected. 一种计算机可读存储介质,其特征在于,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述权利要求9-12中的任一项所述的方法。A computer-readable storage medium is characterized by comprising computer instructions, and when the computer instructions are run on the electronic device, the electronic device is made to execute the method described in any one of claims 9-12 above. 一种计算机可读存储介质,其特征在于,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述权利要求13-16中的任一项所述的方法。A computer-readable storage medium is characterized by comprising computer instructions, and when the computer instructions are run on the electronic device, the electronic device is made to execute the method described in any one of claims 13-16. 一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得电子设备执行上述权利要求9-12中的任一项所述的方法。A computer program product, characterized in that, when the computer program product is run on a computer, the electronic device is made to execute the method described in any one of claims 9-12. 一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得电子设备执行上述权利要求13-16中的任一项所述的方法。A computer program product, characterized in that, when the computer program product is run on a computer, the electronic device is made to execute the method described in any one of claims 13-16.
PCT/CN2021/106533 2021-07-15 2021-07-15 Register array circuit and method for accessing register array Ceased WO2023283886A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180097789.5A CN117280298A (en) 2021-07-15 2021-07-15 Register array circuit and method of accessing register array
PCT/CN2021/106533 WO2023283886A1 (en) 2021-07-15 2021-07-15 Register array circuit and method for accessing register array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/106533 WO2023283886A1 (en) 2021-07-15 2021-07-15 Register array circuit and method for accessing register array

Publications (1)

Publication Number Publication Date
WO2023283886A1 true WO2023283886A1 (en) 2023-01-19

Family

ID=84918909

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/106533 Ceased WO2023283886A1 (en) 2021-07-15 2021-07-15 Register array circuit and method for accessing register array

Country Status (2)

Country Link
CN (1) CN117280298A (en)
WO (1) WO2023283886A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116895325A (en) * 2023-06-21 2023-10-17 合芯科技有限公司 ICG classification method, test method and classification device for digital array registers
CN119781829A (en) * 2024-12-24 2025-04-08 芯思原微电子有限公司 Register indirect access circuit
CN120415479A (en) * 2025-07-04 2025-08-01 深圳飞骧科技股份有限公司 RF front-end module

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329589A (en) * 2008-07-28 2008-12-24 北京中星微电子有限公司 Control system and method of low power consumption read-write register
CN103440210A (en) * 2013-08-21 2013-12-11 复旦大学 Register file reading and isolating method controlled by asynchronous clock
CN104852712A (en) * 2015-05-19 2015-08-19 中国电子科技集团公司第四十七研究所 Low-power-consumption gated clock circuit structure based on data variation
CN106802709A (en) * 2016-11-28 2017-06-06 珠海格力电器股份有限公司 Low-power consumption circuit and control method thereof
US20170221550A1 (en) * 2016-01-28 2017-08-03 Apple Inc. Storage element with multiple clock circuits

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329589A (en) * 2008-07-28 2008-12-24 北京中星微电子有限公司 Control system and method of low power consumption read-write register
CN103440210A (en) * 2013-08-21 2013-12-11 复旦大学 Register file reading and isolating method controlled by asynchronous clock
CN104852712A (en) * 2015-05-19 2015-08-19 中国电子科技集团公司第四十七研究所 Low-power-consumption gated clock circuit structure based on data variation
US20170221550A1 (en) * 2016-01-28 2017-08-03 Apple Inc. Storage element with multiple clock circuits
CN106802709A (en) * 2016-11-28 2017-06-06 珠海格力电器股份有限公司 Low-power consumption circuit and control method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116895325A (en) * 2023-06-21 2023-10-17 合芯科技有限公司 ICG classification method, test method and classification device for digital array registers
CN116895325B (en) * 2023-06-21 2024-05-07 合芯科技有限公司 ICG classification method, test method and classification device for digital array registers
CN119781829A (en) * 2024-12-24 2025-04-08 芯思原微电子有限公司 Register indirect access circuit
CN120415479A (en) * 2025-07-04 2025-08-01 深圳飞骧科技股份有限公司 RF front-end module

Also Published As

Publication number Publication date
CN117280298A (en) 2023-12-22

Similar Documents

Publication Publication Date Title
US20210217449A1 (en) Apparatuses and methods for scatter and gather
US6519187B2 (en) Semiconductor memory device having read data multiplexer
CA3103818C (en) Superconducting non-destructive readout circuits
US7096296B2 (en) Supercharge message exchanger
US8456880B2 (en) Multiple layers of memory implemented as different memory technology
CN113495861A (en) System and method for computing
US7349285B2 (en) Dual port memory unit using a single port memory core
CN101751980B (en) Embedded programmable memory based on memory IP core
US8675425B2 (en) Single-strobe operation of memory devices
WO2023283886A1 (en) Register array circuit and method for accessing register array
US20020154625A1 (en) Method and apparatus for implementing low latency crossbar switches with integrated storage signals
CN1504900B (en) Control circuit and method for reading data from memory
US5519872A (en) Fast address latch with automatic address incrementing
US20050278490A1 (en) Memory access control apparatus and method of controlling memory access
CN112486245B (en) Reconfigurable array clock gating control method, device, device and medium
WO2008048835A1 (en) Read-data stage circuitry for ddr-sdram memory controller
US20190372559A1 (en) Clock pulse generation circuit
US5157286A (en) Conditional clocking of the second latch of a shift register ratch
US5802387A (en) Efficient data transfer in a digital signal processor
US20090259892A1 (en) Method and Apparatus for Producing a Metastable Flip Flop
JPS63136395A (en) semiconductor storage device
CN112100098A (en) DDR control system and DDR memory system
US20250021875A1 (en) Bus training for interconnected memory dice
US5862408A (en) Microprocessor system having multiplexor disposed in first and second read paths between memory CPU and DMA for selecting data from either read path
CN118841053A (en) FPGA system based on PSRAM particles and control method and equipment thereof

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180097789.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21949672

Country of ref document: EP

Kind code of ref document: A1