WO2020132142A1 - System and method for pipelined time-domain computing using time-domain flip-flops and its application in time-series analysis - Google Patents
System and method for pipelined time-domain computing using time-domain flip-flops and its application in time-series analysis Download PDFInfo
- Publication number
- WO2020132142A1 WO2020132142A1 PCT/US2019/067285 US2019067285W WO2020132142A1 WO 2020132142 A1 WO2020132142 A1 WO 2020132142A1 US 2019067285 W US2019067285 W US 2019067285W WO 2020132142 A1 WO2020132142 A1 WO 2020132142A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- domain
- pulse
- implemented method
- hardware implemented
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/605—Additive or subtractive mixing of two pulse rates into one
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3555—Indexed addressing using scaling, e.g. multiplication of index
Definitions
- Some microprocessor designs have reached a bottleneck on further improvements related to speed, e.g., which can cause delay in the transmission of data through the microprocessor.
- the delay can occur when a system's bandwidth cannot support the amount of information being relayed at the speed it is processed.
- Bottlenecks can affect microprocessor performance by slowing down the flow of information between the computer processing unit (CPU) and memory.
- FIG. 1 illustrates an example dynamic time warping algorithm and time-domain dynamic time warping implementation.
- FIG. 2 is a hardware implementation that carries out an absolute (ABS) operation and a minimum (MIN) operation.
- FIG. 3 illustrates digital inputs that are converted into quantized pulse widths for time- domain signals processing.
- FIG. 4 illustrates digital inputs that are converted into quantized pulse widths for another time-domain signals processing.
- FIG. 5 is a circuit diagram of a time-domain Flip-Flop (TFF) based hardware implementation that carries out an absolute (ABS) operation and a minimum (MIN) operation.
- TFF time-domain Flip-Flop
- FIG. 6 is an example of a ring-based time flip-flop, and other time-domain circuits.
- FIG. 7 illustrates an a test chip block diagram
- FIGs. 8-10 illustrate various hardware implementations for carrying out time-domain signal processing.
- Fig. 11 illustrates a pipeline mode of the dynamic time warping engine.
- FIG. 12 illustrates a non-pipeline mode of the dynamic time warping engine.
- FIG. 13 illustrates a pipeline data streaming flow.
- FIG. 14 illustrates an unfolding operation of long sequence.
- FIG. 15 illustrates a DTW matrix calibration scheme
- FIG. 16 illustrates a flow chart for processing time sequence signals.
- the system and/or methods h can improve energy efficiency of time domain signal processing.
- energy efficient time domain signal processing is described in commonly assigned Pub. Patent Application No. 2017/0194982, entitled,“System and Method for Energy Efficient Time Domain Signal Processing,” the entire contents of which are incorporated by reference herein.
- a lack of storage unit prevents time- domain pipeline structure computing.
- the disclosure describes systems and/or methods using new time-domain flip-flops (TFF) to build pipelined structure.
- TFF time-domain flip-flops
- the enabled pipeline structure may enhance throughputs of the design.
- a simple logic operation in the pipeline structure is also described, such as Min, ABS operations in time-domain that carry out a dynamic time warping algorithm using time-domain circuits hardware constructions. Examples of a hardware implemented method using circuit techniques carry out dynamic time warping algorithm for time series analysis finds applications in voice recognition, motion detection, DNA sequencing, etc.
- Dynamic time warping is a variant of the dynamic programming algorithm, is used for time signal classifications.
- the strong capability of distance measurement for variable speed temporal sequences makes DTW a prevalent method for time series classifications in broad applications such as, ECG diagnosis, DNA sequencing, etc.
- Several efforts have been proposed in accelerating the operation including a recent demonstration of race-logic. However, the demonstration is confined to a single-bit operation, not scalable with variable sequence length and has low throughput due to its non-pipelined operation. To overcome those challenges, the systems and/or methods describe a DTW engine for time series classifications using time-domain computing.
- a pipelined operation uses time flip-flop (TFF) which can lead to an order of magnitude improvements in throughput and a scalable processing capability of time sequence.
- TFF time flip-flop
- a pipeline structure is implemented all in time-domain with up to a 10 bit resolution.
- FIG. 1 illustrates an example dynamic time warping algorithm and time-domain dynamic time warping implementation.
- Graphs 102 to 108 shows executions progression of a basic principle of DTW algorithm which detects similarities Di, j among temporal signals Ai and Bj for two time series A and B (x-axis for t) as shown in graph 100 despite of variable speed s (y- axis for s).
- Graphs 102 to 108 show that data similarity Di, j can be formulated as a summation of absolute difference
- a "warping path" 120 is produced in order to align the two signals Ai and Bj in time t as marked in graph 100 of FIG. 1.
- Hardware implemented time-domain operations can provide advantages in performing the warping and comparison operation due to its efficiency in key operations such as Minimum (MIN), absolute (ABS) which only require a few hardware logic gates.
- MIN Minimum
- ABS absolute
- the lower side of Fig. 1 shows the time-domain principle of DTW where digital inputs of time-domain data samples Ai and Bj are converted into quantized pulse width (see FIGs. 2-4) and further processed (ABS, MIN) in time domain by logic gates.
- the pulse T (Dij) can be obtained by an accumulation of the pulses of
- FIG. 2 is a hardware implementation that carries out an absolute (ABS) operation and a minimum (MIN) operation in the DTW algorithm.
- ABS absolute
- MIN minimum
- the entire DTW algorithm may be implemented through hardware (see FIGs. 5-10) instead of through a software method which runs on a CPU.
- the ABS operation may be performed by a NAND gate 202 which takes a difference between two input pulses X and Y, wherein only one of theNAND gate’s input 203 is buffered with an inverter 204, while another input y of the NAND gate may be a transmission gate 206.
- the MIN operation may be performed by a multi-input NOR gate 210, which compares all input pulses A, B, C and selects a minimum pulse value B among all input signals.
- FIG. 3 illustrates digital inputs are converted into quantized pulse widths 310-314 (T(Di-l, j), T(Di-l, j-1) and T(Di, j-1)) for time-domain signals processing such as a MIN operation 302 to produce pulse 316 or take an ABS operation 304.
- FIG. 4 illustrates digital inputs that are converted into quantized pulse widths for other time-domain signals processing, for example, performing an accumulation step by combining both.
- FIG. 5 is a circuit diagram of a time-domain Flip-Flop (TFF) 520, which processes a time- domain signal 330 received at a write enabled (WE) port to produce another time pulse at output Q.
- TFF time-domain Flip-Flop
- WE write enabled
- FIG. 5 is a circuit diagram of a time-domain Flip-Flop (TFF) 520, which processes a time- domain signal 330 received at a write enabled (WE) port to produce another time pulse at output Q.
- a digital flip-flop DFF
- a digital transition signal is instead received at an input D, however, the logic state is set to high at the output at Q instead of outputting as a pulse. Therefore, the conventional DFF is not suitable for time-domain signals processing.
- Fig. 6 shows a ring-based multi-bit TFF 600.
- a 16-stage tri-state inverter chain 621-636 serves as the time storage unit.
- rstb signal is sent to reset voltages in the internal nodes of the TFF 650.
- input pulses are sent to the ring 610, which allows propagation of“0” through the ring with a duration of input pulses. Multiple input pulses can be repeatedly sent to TFF 650 and will be accumulated through the propagation of the ring 610.
- each TFF 650 can process multi-bit signals.
- each TFF 650 can store a 6-bit time domain signal and two TFF s 810 (see FIG. 8) are used to construct a 10-bit time-domain values separated into MSB and LSB units, leading to a wide TFF module (WTFF) 810 as shown in Fig. 8.
- WTFF wide TFF module
- FIGs. 9 and 10. also shows the MIN module 1010 and ABS module 910 used in this work, consisting of only simple digital gates, e.g. NAND 920, rendering a four times reduction compared with equivalent digital implementation.
- a 4-bit digital-time-converter (DTC) 930 is used inside ABS 910 to convert input digital values into time-domain pulses.
- FIGs. 7 and 11 shows the pipelined DTW engine 700 (1100) with 20x20 DTW unit cells 701 (1101) and scalable operation to construct longer time series.
- the DTW matrix 720 (1120) contains a group of DTW unit cells 701 with a diagonal pipeline structure.
- the unit cell 701 (1101) of the DTW engine contains 2 WTFF modules 702 (1102), 703 (1103) an ABS module 704 (1104), and a MIN module 706 (1106).
- the second WTFF module 703 (1103) in the unit cell is used to copy the data from last pipeline stage because the data stored in node (i-1, j-1) is one pipeline stage earlier than the nodes (i-1, j) and (i, j-1).
- Fig. 13 also shows data streaming flow for the pipeline operation where incoming digital data 1302 is fed from an on-chip register file 1310 and clock management unit. Each data is piped through the DTW matrix 1305 as inputs to ABS modules 1304 both vertically and horizontally.
- FIG. 14 illustrates an exemplary unfolding operation of long sequence.
- the pipeline operation allows the fixed dimension of DTW to be unfolded for longer data sequence as shown in Fig. 14.
- All the output pulses from bottom and right boundaries are decoded by two shared time-to-digital converter (TDC) 1402, 1404 every clock cycle and re-sent back for the processing of following sections.
- TDC time-to-digital converter
- a non-pipeline mode is also created by bypassing the TFF modules 1202 (e.g., using a MUX) and allowing signal pulses to directly propagate through the matrix (see FIG. 12) .
- a 2-bit tunable delay cell 1505 is implemented in each unit cell 1502 to tune the output pulse width compensating any process variation impacts.
- Fig. 15 illustrates an exemplary DTW matrix calibration scheme.
- the basic idea of calibrating the DTW matrix is to create special input data sets. The data sets only let a particular DTW node in a data-path have non-zero input when calibrating through different diagonals from a center position to a side position. The calibration is processed through a center diagonal to the side diagonals, and on each diagonal the nodes are calibrated form bottom-right 1502 to top-left 1505. With the proposed calibration scheme, the error rate of the DTW matrix drops from 5 LSB to only 1.5 LSB.
- FIG. 16 is an exemplary flow chart illustrating processing time sequence signals by a hardware implemented method in the time-domain.
- the hardware may be a scalable pipelined structure (see FIGs. 6-12) having multi-bit ring-based time flip-flops (TFF), to perform dynamic time warping (DTW) between two time sequences A and B that detect data similarities as a node Di,j in the pipeline structure.
- the TFF may read digital inputs of signal samples Ai and Bj of variable speed of time sequences A and B across a defined range of time instances over i and j, each of the Ai and Bj time sample signals has a numerical value which is proportional to a duration of time pulse at a time instance i and j, respectively.
- the time signal samples Ai and Bj may be read in digital from the sequences A and B, and the time signal samples Ai and Bj may be converted into quantized pulse widths prior to performing the time-domain hardware DTW operations.
- the time-domain pulses comparison operation includes operating in a pipeline mode by reading the resultant time pulse T(Di,j) of the (ABS) operation stored in the TFF, for a next cycle MIN operation to form respective nodes Di,j to populate the ixj dimension matrix.
- the time-domain hardware implemented method may include a multiplexer (MUX) to facilitate by-pass node pulse data reading from an input TFF to speed up the DTW operations.
- MUX multiplexer
- the stored pulse widths values of the nodes Di,j readings may be improved by performing fine tuning diagonally in the ixj matrix from a bottom right to top left direction.
- the time-domain hardware may use a NAND gate to perform the ABS operation, wherein only one of the NAND gate’s input is buffered by an inverter.
- the time-domain hardware implemented method also include using a multi-input NOR gate to directly perform the MIN operation on time-domain pulses.
- the TFF in the pipelines are used to store the resultant time pulse T(Di,j) for a future clock cycle operations and to perform accumulation operations in DTW calculations when enabled.
- the accumulation function in the TFF may be disabled when not used.
- the pipelined structure is scalable by simply cascading the pipelined structure horizontally and vertically to increase sequence length for reading more time sample signals Ai and Bj simultaneously.
- Alternate systems may include any combination of structure and functions described or shown in one or more of FIGS. 1-16. These systems are formed from any combination of structures and functions described. The structures and functions may process the same, additional, or different input and may include other devices and distributed sources to provide localized or real-time processing. Alternate systems illustratively disclosed herein may be practiced in the absence of any element and functionality which is not specifically disclosed herein. In some alternate systems, when elements and/or functions are not disclosed herein, those alternate systems are devoid of or operate in the absence of those non-disclosed elements and/or functions. In yet other alternate systems, the disclosed devices and functions are recited individually, rather than as an inseparable whole. In these alternate systems, one or more but not all of the recited elements and all of the recited functions disclosed herein may be completely lacking, devoid, or may be excluded from some alternate systems.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Systems and/or methods can include a ring based inverter chain that constructs multi-bit flip-flops that store time. The time flip-flops serve as storage units and enable pipeline operations. Single cells used in time series analysis, such as dynamic time warping are rendered by the time-domain circuits. The circuits include time flip-flops, Min, and ABS circuits. A and the matrix can be constructed through the single cells.
Description
System and Method for Pipelined Time-domain Computing using Time-domain Flip-flops and its Application in Time-series Analysis
Inventors:
Jie Gu
Zhengyu Chen
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION
BY REFERENCE
[001] This disclosure claims priority to and the benefit from United States Provisional Patent Application Serial No. 62/781,425 titled“System and Method for Pipelined Time-domain Computing using Time-Domain Flip-flops and its Application in Time-Series Analysis”, filed on December 18, 2018, which is herein incorporated by reference in its entirety.
Statement of Federally Funded Research or Sponsorship
[002] This invention was made with government support under grant number CCF-1846424 awarded by the National Science Foundation. The United States government has certain rights in the inventions.
Background
[003] Some microprocessor designs have reached a bottleneck on further improvements related to speed, e.g., which can cause delay in the transmission of data through the microprocessor. The delay can occur when a system's bandwidth cannot support the amount of information being relayed at the speed it is processed. Bottlenecks can affect microprocessor performance by slowing down the flow of information between the computer processing unit (CPU) and memory.
Brief Description of Drawings
[004] The disclosure is better understood with reference to the following drawings and description.
The elements in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the disclosure. Moreover, in the figures, like-referenced numerals
may designate to corresponding parts throughout the different views.
[005] FIG. 1 illustrates an example dynamic time warping algorithm and time-domain dynamic time warping implementation.
[006] FIG. 2 is a hardware implementation that carries out an absolute (ABS) operation and a minimum (MIN) operation.
[007] FIG. 3 illustrates digital inputs that are converted into quantized pulse widths for time- domain signals processing.
[008] FIG. 4 illustrates digital inputs that are converted into quantized pulse widths for another time-domain signals processing.
[009] FIG. 5 is a circuit diagram of a time-domain Flip-Flop (TFF) based hardware implementation that carries out an absolute (ABS) operation and a minimum (MIN) operation.
[010] FIG. 6 is an example of a ring-based time flip-flop, and other time-domain circuits.
[Oil] FIG. 7 illustrates an a test chip block diagram.
[012] FIGs. 8-10 illustrate various hardware implementations for carrying out time-domain signal processing.
[013] Fig. 11 illustrates a pipeline mode of the dynamic time warping engine.
[014] FIG. 12 illustrates a non-pipeline mode of the dynamic time warping engine.
[015] FIG. 13 illustrates a pipeline data streaming flow.
[016] FIG. 14 illustrates an unfolding operation of long sequence.
[017] FIG. 15 illustrates a DTW matrix calibration scheme.
[018] FIG. 16 illustrates a flow chart for processing time sequence signals.
Description
[019] The system and/or methods h can improve energy efficiency of time domain signal processing. One example of energy efficient time domain signal processing is described in commonly assigned Pub. Patent Application No. 2017/0194982, entitled,“System and Method for Energy Efficient Time Domain Signal Processing,” the entire contents of which are incorporated by reference herein. In some existing designs, a lack of storage unit prevents time- domain pipeline structure computing.
[020] The disclosure describes systems and/or methods using new time-domain flip-flops (TFF) to build pipelined structure. The enabled pipeline structure may enhance throughputs of the design. A simple logic operation in the pipeline structure is also described, such as Min, ABS operations
in time-domain that carry out a dynamic time warping algorithm using time-domain circuits hardware constructions. Examples of a hardware implemented method using circuit techniques carry out dynamic time warping algorithm for time series analysis finds applications in voice recognition, motion detection, DNA sequencing, etc.
[021] Dynamic time warping (DTW) is a variant of the dynamic programming algorithm, is used for time signal classifications. The strong capability of distance measurement for variable speed temporal sequences makes DTW a prevalent method for time series classifications in broad applications such as, ECG diagnosis, DNA sequencing, etc. Several efforts have been proposed in accelerating the operation including a recent demonstration of race-logic. However, the demonstration is confined to a single-bit operation, not scalable with variable sequence length and has low throughput due to its non-pipelined operation. To overcome those challenges, the systems and/or methods describe a DTW engine for time series classifications using time-domain computing. A pipelined operation uses time flip-flop (TFF) which can lead to an order of magnitude improvements in throughput and a scalable processing capability of time sequence. Compared with recent time-domain designs which suffer from low bit precision and lack of memory element, a pipeline structure is implemented all in time-domain with up to a 10 bit resolution.
[022] FIG. 1 illustrates an example dynamic time warping algorithm and time-domain dynamic time warping implementation. Graphs 102 to 108 shows executions progression of a basic principle of DTW algorithm which detects similarities Di, j among temporal signals Ai and Bj for two time series A and B (x-axis for t) as shown in graph 100 despite of variable speed s (y- axis for s). Graphs 102 to 108 show that data similarity Di, j can be formulated as a summation of absolute difference | Ai - Bj | and minimum value of its three ancestor nodes min(Di-l, j, Di, j-1, Di-lj-l) where Ai and Bj denotes the ith and jth elements of A, B and Di, j denotes the DTW value at node (i, j).
[023] A "warping path" 120 is produced in order to align the two signals Ai and Bj in time t as marked in graph 100 of FIG. 1. Hardware implemented time-domain operations can provide advantages in performing the warping and comparison operation due to its efficiency in key operations such as Minimum (MIN), absolute (ABS) which only require a few hardware logic gates. The lower side of Fig. 1 shows the time-domain principle of DTW where digital inputs of time-domain data samples Ai and Bj are converted into quantized pulse width (see FIGs. 2-4) and further processed (ABS, MIN) in time domain by logic gates. The pulse T (Dij) can be
obtained by an accumulation of the pulses of | Ai - Bj | and min(Di-l J, Di, j-1, Di-1 j-1), both of which are generated by the time-domain MIN module and ABS module. Both accumulation and pipeline operation are realized by the TFF.
[024] FIG. 2 is a hardware implementation that carries out an absolute (ABS) operation and a minimum (MIN) operation in the DTW algorithm. In practice, the entire DTW algorithm may be implemented through hardware (see FIGs. 5-10) instead of through a software method which runs on a CPU. For example, the ABS operation may be performed by a NAND gate 202 which takes a difference between two input pulses X and Y, wherein only one of theNAND gate’s input 203 is buffered with an inverter 204, while another input y of the NAND gate may be a transmission gate 206. The MIN operation may be performed by a multi-input NOR gate 210, which compares all input pulses A, B, C and selects a minimum pulse value B among all input signals.
[025] FIG. 3 illustrates digital inputs are converted into quantized pulse widths 310-314 (T(Di-l, j), T(Di-l, j-1) and T(Di, j-1)) for time-domain signals processing such as a MIN operation 302 to produce pulse 316 or take an ABS operation 304. FIG. 4 illustrates digital inputs that are converted into quantized pulse widths for other time-domain signals processing, for example, performing an accumulation step by combining both.
[026] FIG. 5 is a circuit diagram of a time-domain Flip-Flop (TFF) 520, which processes a time- domain signal 330 received at a write enabled (WE) port to produce another time pulse at output Q. Contrary to a digital flip-flop (DFF), a digital transition signal is instead received at an input D, however, the logic state is set to high at the output at Q instead of outputting as a pulse. Therefore, the conventional DFF is not suitable for time-domain signals processing.
[027] Fig. 6 shows a ring-based multi-bit TFF 600. In one example, a 16-stage tri-state inverter chain 621-636 serves as the time storage unit. During reset phase, rstb signal is sent to reset voltages in the internal nodes of the TFF 650. During the write phase, input pulses are sent to the ring 610, which allows propagation of“0” through the ring with a duration of input pulses. Multiple input pulses can be repeatedly sent to TFF 650 and will be accumulated through the propagation of the ring 610.
[028] During readout phase, the stored pulse is sent out from the output pin 615 of the ring 610 with pulse width equivalent to the stored values. When the ring is filled, a carry signal rises and the ring will rotate back with reminder values stored inside. The“rotation” operation provides a scalable operation into multi -bit groups. Different from conventional D-flip-flops 510, each TFF
650 can process multi-bit signals. In on example, each TFF 650 can store a 6-bit time domain signal and two TFF s 810 (see FIG. 8) are used to construct a 10-bit time-domain values separated into MSB and LSB units, leading to a wide TFF module (WTFF) 810 as shown in Fig. 8. In the WTFF 810, once the LSB TFF is full, a carry signal is sent to a pulse generator to generate an extra pulse to be stored in the MSB TFF extending the operation into 10 bits. FIGs. 9 and 10. also shows the MIN module 1010 and ABS module 910 used in this work, consisting of only simple digital gates, e.g. NAND 920, rendering a four times reduction compared with equivalent digital implementation. A 4-bit digital-time-converter (DTC) 930 is used inside ABS 910 to convert input digital values into time-domain pulses.
[029] FIGs. 7 and 11 shows the pipelined DTW engine 700 (1100) with 20x20 DTW unit cells 701 (1101) and scalable operation to construct longer time series. The DTW matrix 720 (1120) contains a group of DTW unit cells 701 with a diagonal pipeline structure. The unit cell 701 (1101) of the DTW engine contains 2 WTFF modules 702 (1102), 703 (1103) an ABS module 704 (1104), and a MIN module 706 (1106). The second WTFF module 703 (1103) in the unit cell is used to copy the data from last pipeline stage because the data stored in node (i-1, j-1) is one pipeline stage earlier than the nodes (i-1, j) and (i, j-1). Due to the use of TFF , in every clock cycle, the data pulses are propagated along the diagonal direction of the matrix. Fig. 13 also shows data streaming flow for the pipeline operation where incoming digital data 1302 is fed from an on-chip register file 1310 and clock management unit. Each data is piped through the DTW matrix 1305 as inputs to ABS modules 1304 both vertically and horizontally.
[030] FIG. 14 illustrates an exemplary unfolding operation of long sequence. The pipeline operation allows the fixed dimension of DTW to be unfolded for longer data sequence as shown in Fig. 14. All the output pulses from bottom and right boundaries are decoded by two shared time-to-digital converter (TDC) 1402, 1404 every clock cycle and re-sent back for the processing of following sections. To speed up the operation for simple data sequence, e.g. DNA sequence, a non-pipeline mode is also created by bypassing the TFF modules 1202 (e.g., using a MUX) and allowing signal pulses to directly propagate through the matrix (see FIG. 12) . In addition, a 2-bit tunable delay cell 1505 is implemented in each unit cell 1502 to tune the output pulse width compensating any process variation impacts.
[031] Fig. 15 illustrates an exemplary DTW matrix calibration scheme. The basic idea of calibrating the DTW matrix is to create special input data sets. The data sets only let a particular DTW node in a data-path have non-zero input when calibrating through different diagonals from a center
position to a side position. The calibration is processed through a center diagonal to the side diagonals, and on each diagonal the nodes are calibrated form bottom-right 1502 to top-left 1505. With the proposed calibration scheme, the error rate of the DTW matrix drops from 5 LSB to only 1.5 LSB.
FIG. 16 is an exemplary flow chart illustrating processing time sequence signals by a hardware implemented method in the time-domain. The hardware may be a scalable pipelined structure (see FIGs. 6-12) having multi-bit ring-based time flip-flops (TFF), to perform dynamic time warping (DTW) between two time sequences A and B that detect data similarities as a node Di,j in the pipeline structure. At step 1602, the TFF may read digital inputs of signal samples Ai and Bj of variable speed of time sequences A and B across a defined range of time instances over i and j, each of the Ai and Bj time sample signals has a numerical value which is proportional to a duration of time pulse at a time instance i and j, respectively. At step 1604, the time signal samples Ai and Bj may be read in digital from the sequences A and B, and the time signal samples Ai and Bj may be converted into quantized pulse widths prior to performing the time-domain hardware DTW operations.
[032] At step 1606, the process performs the time-domain pulse comparison operation by taking an absolute difference operation on the pair of time sample signals Ai and Bj to obtain the resultant time pulse T(Dy), wherein T(Dy ) = ABS (Ai - Bj) and the resultant time pulse T(Dy) is stored in the TFF for carrying out more time-domain pulses comparison operation with neighboring nodes in a next clock cycle to generate new resultant time pulses T(Dy), until all nodes Dy within an ixj dimension matrix between the time sequences A and B are determined.
[033] At step 1608, the time-domain pulses comparison operation may additionally take a minimum value operation (MIN) of three ancestor nodes (Di-i j , Di-ij-i, Dij-i), wherein T(Di,j) = MIN
(Di-i j , Di-ij-i, Dij-i) and the pulse T(Di,j) forms a node Di,j to populate an ixj dimension matrix between the time sequences A and B. the time-domain pulses comparison operation includes operating in a pipeline mode by reading the resultant time pulse T(Di,j) of the (ABS) operation stored in the TFF, for a next cycle MIN operation to form respective nodes Di,j to populate the ixj dimension matrix.
[034] At step 1610, the time-domain hardware implemented method may include a multiplexer (MUX) to facilitate by-pass node pulse data reading from an input TFF to speed up the DTW operations.
The stored pulse widths values of the nodes Di,j readings may be improved by performing fine tuning diagonally in the ixj matrix from a bottom right to top left direction. The time-domain hardware may use a NAND gate to perform the ABS operation, wherein only one of the NAND gate’s input is buffered by an inverter. The time-domain hardware implemented method also include using a multi-input NOR gate to directly perform the MIN operation on time-domain pulses. The TFF in the pipelines are used to store the resultant time pulse T(Di,j) for a future clock cycle operations and to perform accumulation operations in DTW calculations when enabled. The accumulation function in the TFF may be disabled when not used. In another example, the pipelined structure is scalable by simply cascading the pipelined structure horizontally and vertically to increase sequence length for reading more time sample signals Ai and Bj simultaneously.
[035] Alternate systems may include any combination of structure and functions described or shown in one or more of FIGS. 1-16. These systems are formed from any combination of structures and functions described. The structures and functions may process the same, additional, or different input and may include other devices and distributed sources to provide localized or real-time processing. Alternate systems illustratively disclosed herein may be practiced in the absence of any element and functionality which is not specifically disclosed herein. In some alternate systems, when elements and/or functions are not disclosed herein, those alternate systems are devoid of or operate in the absence of those non-disclosed elements and/or functions. In yet other alternate systems, the disclosed devices and functions are recited individually, rather than as an inseparable whole. In these alternate systems, one or more but not all of the recited elements and all of the recited functions disclosed herein may be completely lacking, devoid, or may be excluded from some alternate systems.
[036] Other systems, methods, features and advantages will be, or will become, apparent to one with skill in the art upon examination of the figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the disclosure, and be protected by the following claims.
Claims
1. A time-domain hardware implemented method for processing time sequences signals, comprising:
performing, using a scalable pipelined structure that comprises multi-bit ring-based time flip-flops (TFF), dynamic time warping (DTW) between two time sequences A and B to detect data similarities as a node Di,j in the pipeline structure, wherein the time sequences
A and B each comprises time sample signals Ai and Bj of variable speed, respectively, wherein:
each of the Ai and Bj time sample signals has a numerical value which is proportional to a duration of time pulse at a time instance i and j, respectively, and the node Di,j is stored as a resultant time pulse T(Di,j) in the TFF for a next clock cycle operation, and the resultant time pulse T(Di,j) is obtained by directly performing at least a time-domain pulses comparison operation on a pair of time sample signals Ai and Bj.
2. The time-domain hardware implemented method of claim 1 , wherein the time- domain pulses comparison operation comprising performing an absolute difference operation
(ABS) on the pair of time sample signals Ai and Bj to obtain the resultant time pulse T(Di,j), wherein T(Di,j ) = ABS (Ai - Bj) and the resultant time pulse T(Di,j) is stored in the TFF for carrying out more time-domain pulses comparison operation with neighboring nodes in a next clock cycle to generate new resultant time pulses T(Di,j), until all nodes Di,j within an ixj dimension matrix between the time sequences A and B are determined.
3. The time-domain hardware implemented method of claim 2, wherein a path of nodes Di,j within the ixj dimension matrix having the lowest pulse widths forms a warping path which aligns respective pairs of time sample signals Ai and Bj between the time sequences A and B, and wherein a pulse width value of a terminating node D*i,j at an
opposite diagonal corner from a starting node of an i x j dimension matrix represents a final distance which indicates how much similarities between the time sequences A and B.
4. The time-domain hardware implemented method of claim 1 , wherein the time- domain pulses comparison operation comprising taking a minimum value operation (MIN) of three ancestor nodes (Di-i j , Di-ij-i, Dij-i), wherein T(Di,j) = MIN (Di-i j , Di-ij-i, Dij- l) and the pulse T(Di,j) forms a node Di,j to populate an ixj dimension matrix between the time sequences A and B.
5. The time-domain hardware implemented method of claim 4, wherein the time- domain pulses comparison operation comprising operating in a pipeline mode by reading the resultant time pulse T(Di,j) of an absolute difference operation (ABS) operation stored in the
TFF, for a next cycle MIN operation to form respective nodes Di,j to populate the ixj dimension matrix.
6. The time-domain hardware implemented method of claim 5, comprising using a multiplexer (MUX) to by-pass node pulse data reading from an input TFF to speed up the DTW operations.
7. The time-domain hardware implemented method of claim 1, wherein the time signal samples Ai and Bj are read in digital from the sequences A and B, and the time signal samples Ai and Bj are converted into quantized pulse widths prior to performing an absolute difference operation ABS or a minimum value operation (MIN) operation.
8. The time-domain hardware implemented method of claim 5, further comprising fine tuning diagonally in the ixj matrix, the stored pulse widths values of the nodes Di,j.
9. The time-domain hardware implemented method of claim 2, comprising using a NAND gate having a plurality of NAND gate inputs to perform the ABS operation, wherein only one of the plurality of NAND gate inputs is buffered by an inverter.
10. The time-domain hardware implemented method of claim 4, comprising using a multi-input NOR gate to directly perform the MIN operation on time-domain pulses.
11. The time-domain hardware implemented method of claim 1, wherein the TFF in the pipelines are used to store the resultant time pulse T(Di,j) for a future clock cycle operations and to perform accumulation operations in DTW calculations when enabled.
12. The time-domain hardware implemented method of claim 1, wherein the pipelined structure is scalable by simply cascading the pipelined structure horizontally and vertically to increase sequence length for reading more time sample signals Ai and Bj simultaneously.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/311,849 US11467831B2 (en) | 2018-12-18 | 2019-12-18 | System and method for pipelined time-domain computing using time-domain flip-flops and its application in time-series analysis |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862781425P | 2018-12-18 | 2018-12-18 | |
| US62/781,425 | 2018-12-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020132142A1 true WO2020132142A1 (en) | 2020-06-25 |
Family
ID=71102348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2019/067285 Ceased WO2020132142A1 (en) | 2018-12-18 | 2019-12-18 | System and method for pipelined time-domain computing using time-domain flip-flops and its application in time-series analysis |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11467831B2 (en) |
| WO (1) | WO2020132142A1 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4811210A (en) * | 1985-11-27 | 1989-03-07 | Texas Instruments Incorporated | A plurality of optical crossbar switches and exchange switches for parallel processor computer |
| US6389377B1 (en) * | 1997-12-01 | 2002-05-14 | The Johns Hopkins University | Methods and apparatus for acoustic transient processing |
| US20150199010A1 (en) * | 2012-09-14 | 2015-07-16 | Interaxon Inc. | Systems and methods for collecting, analyzing, and sharing bio-signal and non-bio-signal data |
| US20160105186A1 (en) * | 2007-04-17 | 2016-04-14 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US20160314818A1 (en) * | 2015-04-23 | 2016-10-27 | Adidas Ag | Method and device for associating frames in a video of an activity of a person with an event |
| WO2017124116A1 (en) * | 2016-01-15 | 2017-07-20 | Bao Sheng | Searching, supplementing and navigating media |
| US20170323481A1 (en) * | 2015-07-17 | 2017-11-09 | Bao Tran | Systems and methods for computer assisted operation |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5357613A (en) * | 1992-09-16 | 1994-10-18 | Texas Instruments Incorporated | Time-domain boundary buffer method and apparatus |
| US5473731A (en) * | 1993-07-20 | 1995-12-05 | Intel Corporation | Lattice based dynamic programming classification system |
| KR101016224B1 (en) * | 2006-12-12 | 2011-02-25 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | How to encode and decode data segments representing encoders, decoders, and time domain data streams |
| WO2008151137A2 (en) * | 2007-06-01 | 2008-12-11 | The Trustees Of Columbia University In The City Of New York | Real-time time encoding and decoding machines |
| US10310015B2 (en) * | 2013-07-19 | 2019-06-04 | Advanced Micro Devices, Inc. | Method and apparatus for providing clock signals for a scan chain |
| US10795045B1 (en) * | 2017-01-31 | 2020-10-06 | En Medical, Llc | Waste receptacle configured to differentiate items |
| US10938405B1 (en) * | 2020-03-18 | 2021-03-02 | Ciena Corporation | Apparatus and methods for characterization of high frequency and high data rate signals |
-
2019
- 2019-12-18 WO PCT/US2019/067285 patent/WO2020132142A1/en not_active Ceased
- 2019-12-18 US US17/311,849 patent/US11467831B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4811210A (en) * | 1985-11-27 | 1989-03-07 | Texas Instruments Incorporated | A plurality of optical crossbar switches and exchange switches for parallel processor computer |
| US6389377B1 (en) * | 1997-12-01 | 2002-05-14 | The Johns Hopkins University | Methods and apparatus for acoustic transient processing |
| US20160105186A1 (en) * | 2007-04-17 | 2016-04-14 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US20150199010A1 (en) * | 2012-09-14 | 2015-07-16 | Interaxon Inc. | Systems and methods for collecting, analyzing, and sharing bio-signal and non-bio-signal data |
| US20160314818A1 (en) * | 2015-04-23 | 2016-10-27 | Adidas Ag | Method and device for associating frames in a video of an activity of a person with an event |
| US20170323481A1 (en) * | 2015-07-17 | 2017-11-09 | Bao Tran | Systems and methods for computer assisted operation |
| WO2017124116A1 (en) * | 2016-01-15 | 2017-07-20 | Bao Sheng | Searching, supplementing and navigating media |
Also Published As
| Publication number | Publication date |
|---|---|
| US11467831B2 (en) | 2022-10-11 |
| US20220019434A1 (en) | 2022-01-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8325076B2 (en) | Time-to-digital converter | |
| Sim et al. | Scalable stochastic-computing accelerator for convolutional neural networks | |
| US11915116B2 (en) | Arithmetic apparatus for a neural network | |
| US9396143B2 (en) | Hierarchical in-memory sort engine | |
| US20210216280A1 (en) | Switched capacitor vector-matrix multiplier | |
| US10338136B2 (en) | Integrated circuit with low power scan system | |
| CN109150182B (en) | Metastable state detection circuit suitable for comparator | |
| US8447548B2 (en) | Method using time to digital converter for direct measurement of set pulse widths | |
| US8462028B2 (en) | Parallel to serial conversion apparatus and method of converting parallel data having different widths | |
| Chen et al. | High-throughput dynamic time warping accelerator for time-series classification with pipelined mixed-signal time-domain computing | |
| Morrison et al. | Multistage linear feedback shift register counters with reduced decoding logic in 130-nm CMOS for large-scale array applications | |
| CN106771958B (en) | Integrated circuit with low power scanning system | |
| JP7677827B2 (en) | Semiconductor device and method for verifying random number data | |
| CN109634089A (en) | A kind of two-stage TDC circuit applied to the uncontrolled detection of technique | |
| Saikia et al. | Modeling and optimization of SRAM-based in-memory computing hardware design | |
| Kwiatkowski et al. | A brief review of wave union TDCs | |
| CN115145139A (en) | High-precision time-to-digital converter and conversion method thereof | |
| US20110279299A1 (en) | Sub-exponent time-to-digital converter using phase-difference enhancement device | |
| CN117271436A (en) | SRAM-based current mirror complementary in-memory calculation macro circuit and chip | |
| US11467831B2 (en) | System and method for pipelined time-domain computing using time-domain flip-flops and its application in time-series analysis | |
| Chen et al. | 19.7 a scalable pipelined time-domain DTW engine for time-series classification using multibit time flip-flops with 140Giga-cell-updates/s throughput | |
| WO2023134507A1 (en) | Stochastic calculation method, circuit, chip, and device | |
| US11475288B2 (en) | Sorting networks using unary processing | |
| Chakraborty et al. | A 1.91 pops/w energy-efficient sram based signed multi-bit time domain cim architecture | |
| CN111030693B (en) | Analog-to-digital converter |
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: 19901276 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19901276 Country of ref document: EP Kind code of ref document: A1 |