CN114706802B - Special sequential data distributor and implementation method thereof - Google Patents

Special sequential data distributor and implementation method thereof Download PDF

Info

Publication number
CN114706802B
CN114706802B CN202210294628.1A CN202210294628A CN114706802B CN 114706802 B CN114706802 B CN 114706802B CN 202210294628 A CN202210294628 A CN 202210294628A CN 114706802 B CN114706802 B CN 114706802B
Authority
CN
China
Prior art keywords
data
input
port
output
valid
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.)
Active
Application number
CN202210294628.1A
Other languages
Chinese (zh)
Other versions
CN114706802A (en
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.)
Sichuan Jiuzhou ATC Technology Co Ltd
Original Assignee
Sichuan Jiuzhou ATC Technology 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 Sichuan Jiuzhou ATC Technology Co Ltd filed Critical Sichuan Jiuzhou ATC Technology Co Ltd
Priority to CN202210294628.1A priority Critical patent/CN114706802B/en
Publication of CN114706802A publication Critical patent/CN114706802A/en
Application granted granted Critical
Publication of CN114706802B publication Critical patent/CN114706802B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

The invention provides a special sequence data distributor and an implementation method thereof, wherein the implementation method comprises the following steps: 2 input ports are adopted, wherein the input ports comprise an input data effective port i_valid and an input data port i_data; adopting n output ports; and when the input signal of the effective input data port i_valid is at a high level, the n data input from the input data port i_data are sequentially output from the n output ports according to the sequence. The present invention reduces the use of combinational logic circuits, enabling the sequential data allocator to have high speed processing capabilities. Meanwhile, the sequential data distributor is internally realized in a pipeline mode, so that the layout and the wiring are greatly facilitated. The higher the speed, the greater the data volume, the more significant the performance and advantages of the dispenser compared to conventional dispensers.

Description

Special sequential data distributor and implementation method thereof
Technical Field
The invention relates to the technical field of data distributors, in particular to a special sequential data distributor and an implementation method thereof.
Background
The data distributor refers to a circuit for distributing one path of data to a designated output channel according to the address signal requirement.
The traditional data distributor is realized by a large number of combined circuits, is not suitable for the conditions of high-speed circuits and large data volume, and can cause data errors if the speed is too high; if the amount of data is too large, the complexity of the internal circuitry can be greatly increased, further degrading the performance of the divider.
The conventional data splitter has a structure as shown in fig. 1, which has two input ports (i_sel and i_data) and n output ports (data (1), data (2) … … data (n)). Inside the data distributor are actually several selectable switches, the gating of the corresponding channel is controlled by the value of the i_sel port, and then the i_data value is output to the gating port.
The conventional data distributor is implemented as shown in fig. 2, which controls the enable signal of the corresponding channel by the value of the i_sel port, thereby gating the corresponding channel, and outputs input data to the gated channel. For example, when i_sel= 1, channel 2 outputs high level, and the remaining channels output low level, at this time, channel 2 is gated, input data i_data is directly output onto data (2), and the remaining channel data remains unchanged.
However, when the data distributor is operated at a high speed, the value of the i_sel port may change in an extremely short time, and if the internal channel discriminator does not keep pace with the change speed of the value of the i_sel port, a channel selection error may be caused, thereby causing a final output result error.
And if the data volume is too large, the number of channels is increased, so that the complexity of an internal combined circuit is further increased, the wiring difficulty in the distributor is increased, the wiring delay is increased, and the processing speed is further reduced.
Disclosure of Invention
The invention aims to provide a special sequence data distributor and an implementation method thereof, which are used for solving the data distribution problem of the traditional data distributor in a high-speed circuit and the data distribution problem under the condition of large data volume.
The invention provides a realization method of a special sequence data distributor, which comprises the following steps:
2 input ports are adopted, wherein the input ports comprise an input data effective port i_valid and an input data port i_data;
adopting n output ports, including output port data (1), output port data (2), … … and output port data (n);
when the input signal of the input data valid port i_valid is at a high level, the sequential data distribution logic circuit is adopted to sequentially output n data input from the input data port i_data from the output ports data (1), data (2), … … and data (n) according to the sequence.
Further, the implementation principle of the sequential data distribution logic circuit includes:
detecting the rising edge of an input signal of an input data effective port i_valid, giving a rising edge detection result to the enabling end of the D trigger of the 1 st channel, beating the rising edge detection result, and outputting beating results to the enabling ends of the D triggers of the corresponding 2 nd to n th channels;
the method comprises the steps of detecting the rising edge of an input signal of an input data effective port i_valid, and simultaneously connecting data input by an input data port i_data to the data ends of D triggers of all channels;
the output ends of the D flip-flops of the 1 st to n th channels are output ports data (1), output ports data (2), … … and output ports data (n).
Further, the sequential data distribution logic circuit is implemented by a register, an NOT gate, an AND gate and a D trigger.
Further, the method for realizing rising edge detection comprises the following steps:
adopting a first register, a second register, an NOT gate and an AND gate to realize rising edge detection; the input end of the first register is connected with an input data effective port i_valid, the output end of the first register is connected with the first input end of an AND gate after passing through the second register and the NOT gate, and the output end of the first register is directly connected with the second input end of the AND gate; the output end of the AND gate is used for outputting the rising edge detection result.
Further, the method for beating the rising edge detection result comprises the following steps:
the rising edge detection result is beaten by adopting n-1 registers which are connected in sequence, and the beating times are n-1;
the input end of the 1 st register is connected with the output end of the AND gate, and the output end of each register is also connected with the enabling ends of the 2 nd to n th D flip-flops.
Further, while the rising edge detection is performed on the input signal of the valid port i_valid of the input data, a two-beat delay operation is performed on the data input by the valid port i_data, so that the rising edge of the input signal of the valid port i_valid is aligned with the 1 st data in the data input by the valid port i_data.
Furthermore, the two-beat delay operation is realized by adopting 2 connected registers.
The invention also provides a special sequential data distributor, which is realized by adopting the realization method.
In summary, due to the adoption of the technical scheme, the beneficial effects of the invention are as follows:
the invention can be applied to the technical field of digital ICs such as FPGA, CPLD, semi-custom, fully custom ASIC and the like, and can greatly improve the performance of the distributor especially under certain special scenes (data continuous input, channel number is known, each channel is only selected once and distributed in sequence). The sequential data distributor has high-speed processing capability due to the reduced use of combinational logic circuits. Meanwhile, the sequential data distributor is internally realized in a pipeline mode, so that the layout and the wiring are greatly facilitated. The higher the speed, the greater the data volume, the more significant the performance and advantages of the dispenser compared to conventional dispensers.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following description will briefly describe the drawings in the embodiments, it being understood that the following drawings only illustrate some embodiments of the present invention and should not be considered as limiting the scope, and that other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a block diagram of a conventional data distributor.
Fig. 2 is a schematic diagram of an implementation of a conventional data distributor.
Fig. 3 is a schematic diagram of an implementation of a special sequential data allocator according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. The components of the embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the invention, as presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Examples
As shown in fig. 1, this embodiment proposes a method for implementing a dedicated sequential data allocator, including:
2 input ports are adopted, wherein the input ports comprise an input data effective port i_valid and an input data port i_data;
n (n is larger than 1 and n is an integer) output ports are adopted, and the output ports comprise output port data (1), output port data (2), … … and output port data (n);
when the input signal of the input data valid port i_valid is at a high level, the sequential data distribution logic circuit is adopted to sequentially output n data input from the input data port i_data from the output ports data (1), data (2), … … and data (n) according to the sequence.
The implementation principle of the sequential data distribution logic circuit comprises the following steps:
detecting the rising edge of an input signal of an input data effective port i_valid, giving a rising edge detection result to the enabling end of the D trigger of the 1 st channel, beating the rising edge detection result, and outputting beating results to the enabling ends of the D triggers of the corresponding 2 nd to n th channels;
the method comprises the steps of detecting the rising edge of an input signal of an input data effective port i_valid, and simultaneously connecting data input by an input data port i_data to the data ends of D triggers of all channels;
the output ends of the D flip-flops of the 1 st to n th channels are output ports data (1), output ports data (2), … … and output ports data (n).
In this embodiment, the sequential data distribution logic circuit is implemented using a register, an not gate, an and gate, and a D flip-flop. As shown in fig. 2:
the method for realizing rising edge detection comprises the following steps:
adopting a first register, a second register, an NOT gate and an AND gate to realize rising edge detection; the input end of the first register is connected with an input data effective port i_valid, the output end of the first register is connected with the first input end of an AND gate after passing through the second register and the NOT gate, and the output end of the first register is directly connected with the second input end of the AND gate; the output end of the AND gate is used for outputting the rising edge detection result.
The method for beating the rising edge detection result comprises the following steps:
the rising edge detection result is beaten by adopting n-1 registers which are connected in sequence, and the beating times are n-1;
the input end of the 1 st register is connected with the output end of the AND gate, and the output end of each register is also connected with the enabling ends of the 2 nd to n th D flip-flops. For example, the beat result of the first register is output to the enable end of the D flip-flop of the 2 nd channel, … …, and the beat result of the n-1 st register is output to the enable end of the D flip-flop of the n-th channel.
Further, while the rising edge detection is performed on the input signal of the valid port i_valid of the input data, a two-beat delay operation is performed on the data input by the valid port i_data, so that the rising edge of the input signal of the valid port i_valid is aligned with the 1 st data in the data input by the valid port i_data. As shown in fig. 3, a two beat delay operation may be implemented using 2 connected registers.
Assuming that n channels are provided, n data are sequentially input, and the n data need to be sequentially output to the n channels. The working principle of the special sequential data distributor is as follows:
when the input data port i_data has data input, detecting the rising edge of an input signal of the input data valid port i_valid (the valid time of the rising edge only has one clock cycle), enabling the D trigger of the 1 st channel (the D triggers of the other channels are in the disabled state at the moment), and outputting the 1 st data by the output end of the D trigger of the 1 st channel (because the valid time of the rising edge only has one clock cycle, the D trigger of the channel also has the enabled state of only one clock cycle, only outputs 1 data, and when the next clock arrives, the D trigger of the channel returns to the disabled state again); when the next clock period comes, enabling the D trigger of the 2 nd channel (the other channel triggers are in the disabled state at the moment), and outputting the 2 nd data by the output end of the D trigger of the 2 nd channel; when the next clock period comes, enabling the D trigger of the 3 rd channel (the rest channel triggers are in the disabled state at the moment), and outputting the 3 rd data by the output end of the D trigger of the 3 rd channel; and recursively, until the D flip-flop of the nth channel is enabled and outputs the last nth data.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, but various modifications and variations can be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (8)

1. A method for implementing a special sequential data distributor, comprising:
2 input ports are adopted, wherein the input ports comprise an input data effective port i_valid and an input data port i_data;
adopting n output ports, including output port data (1), output port data (2), … … and output port data (n);
when the input signal of the effective input data port i_valid is at a high level, the sequential data distribution logic circuit is adopted to sequentially output n data input from the input data port i_data from the output ports data (1), the output ports data (2), … … and the output port data (n) in sequence;
the implementation principle of the sequential data distribution logic circuit comprises the following steps:
detecting the rising edge of an input signal of an input data effective port i_valid, giving a rising edge detection result to the enabling end of the D trigger of the 1 st channel, beating the rising edge detection result, and outputting the beating result to the enabling end of the D trigger of the corresponding 2~n th channel;
the method comprises the steps of detecting the rising edge of an input signal of an input data effective port i_valid, and simultaneously connecting data input by an input data port i_data to the data ends of D triggers of all channels;
the output ends of the D flip-flops of the 1 st to n th channels are output ports data (1), output ports data (2), … … and output ports data (n).
2. The method of claim 1, wherein the sequential data distribution logic is implemented using registers, not gates, and D flip-flops.
3. The method for implementing a dedicated sequential data allocator according to claim 2, wherein the method for implementing rising edge detection is:
adopting a first register, a second register, an NOT gate and an AND gate to realize rising edge detection; the input end of the first register is connected with an input data effective port i_valid, the output end of the first register is connected with the first input end of an AND gate after passing through the second register and the NOT gate, and the output end of the first register is directly connected with the second input end of the AND gate; the output end of the AND gate is used for outputting the rising edge detection result.
4. A method for implementing a dedicated sequential data distributor according to claim 3, wherein the method for implementing beating of the rising edge detection result is:
the rising edge detection result is beaten by adopting n-1 registers which are connected in sequence, and the beating times are n-1;
the input end of the 1 st register is connected with the output end of the AND gate, and the output end of each register is also connected with the enabling end of the 2~n D trigger.
5. The method according to claim 4, wherein the rising edge of the input signal of the valid port i_valid is detected while the data input from the input data port i_data is delayed by two beats, so that the rising edge of the input signal of the valid port i_valid is aligned with the 1 st data in the data input from the input data port i_data.
6. The method of claim 5, wherein the two-beat delay operation is implemented using 2 connected registers.
7. The method of claim 1, wherein n > 1 and n is an integer.
8. A dedicated sequential data distributor, characterized in that said sequential data distributor is implemented using the implementation method according to any of claims 1-7.
CN202210294628.1A 2022-03-24 2022-03-24 Special sequential data distributor and implementation method thereof Active CN114706802B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210294628.1A CN114706802B (en) 2022-03-24 2022-03-24 Special sequential data distributor and implementation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210294628.1A CN114706802B (en) 2022-03-24 2022-03-24 Special sequential data distributor and implementation method thereof

Publications (2)

Publication Number Publication Date
CN114706802A CN114706802A (en) 2022-07-05
CN114706802B true CN114706802B (en) 2024-02-06

Family

ID=82171386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210294628.1A Active CN114706802B (en) 2022-03-24 2022-03-24 Special sequential data distributor and implementation method thereof

Country Status (1)

Country Link
CN (1) CN114706802B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2015457A2 (en) * 2007-07-12 2009-01-14 Mitsubishi Heavy Industries, Ltd. Serial-to-parallel conversion circuit and method of designing the same
CN106374898A (en) * 2016-10-18 2017-02-01 天津大学 Time sequence generating structure of multi-channel output gating switch
CN110619838A (en) * 2019-11-04 2019-12-27 京东方科技集团股份有限公司 Shift register unit circuit, driving method, gate driver and display device
CN114185397A (en) * 2022-02-15 2022-03-15 深圳市爱普特微电子有限公司 Cross-clock domain data transmission circuit and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2015457A2 (en) * 2007-07-12 2009-01-14 Mitsubishi Heavy Industries, Ltd. Serial-to-parallel conversion circuit and method of designing the same
CN106374898A (en) * 2016-10-18 2017-02-01 天津大学 Time sequence generating structure of multi-channel output gating switch
CN110619838A (en) * 2019-11-04 2019-12-27 京东方科技集团股份有限公司 Shift register unit circuit, driving method, gate driver and display device
CN114185397A (en) * 2022-02-15 2022-03-15 深圳市爱普特微电子有限公司 Cross-clock domain data transmission circuit and method

Also Published As

Publication number Publication date
CN114706802A (en) 2022-07-05

Similar Documents

Publication Publication Date Title
US7975197B2 (en) On-chip scan clock generator for ASIC testing
US4635261A (en) On chip test system for configurable gate arrays
JPH11304888A (en) Semiconductor testing device
CN1330273A (en) Multiple testing end signal for testing system based on event
US9964596B2 (en) Integrated circuit with low power scan system
JPH0746122B2 (en) Semiconductor integrated logic circuit
US6507230B1 (en) Clock generator having a deskewer
US7113886B2 (en) Circuit and method for distributing events in an event stream
US6014752A (en) Method and apparatus for fully controllable integrated circuit internal clock
CN114706802B (en) Special sequential data distributor and implementation method thereof
US20200177170A1 (en) Clock pulse generator
CA2175614C (en) High-speed synchronous counter circuitry
US6772382B2 (en) Driver for integrated circuit chip tester
US4761801A (en) Look ahead terminal counter
US5506850A (en) Logic analyzer for high channel count applications
JP3397000B2 (en) Apparatus and method for processing timing signal train
US3056108A (en) Error check circuit
US10684326B2 (en) Method and device for testing a chain of flip-flops
GB2218816A (en) Testing integrated circuits
US6163874A (en) Apparatus and method for doubling speed of random events generator
CN117639749A (en) Low-power-consumption multi-clock domain clock reset system and chip
US11740651B2 (en) Clock multiplexer device and clock switching method
US6400188B1 (en) Test mode clock multiplication
JP2545986B2 (en) Logical path multiplexing method
SU1554153A1 (en) Device for majority selection of asynchronous signals

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant