IP Library Granted Patent US 10,193,533
Granted Patent B2
US 10,193,533 · App. 15/678,424 · Granted Jan 29, 2019

Methods and systems for event-driven recursive continuous-time digital signal processing

Inventors: Yu Chen (New York, NY); Yannis Tsividis (New York, NY)
Assignee: The Trustees of Columbia University in the City of New York
H03H17/04H03H17/0009H03H17/02H03H2017/0298
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,193,533
App. No.
15/678,424
Granted
Jan 29, 2019
Kind
B2
Abstract

Continuous-time digital systems implemented with separate timing paths and data paths are disclosed. The disclosed continuous-time digital systems, can implement an event-grouping and detection method that can be used feedback systems with propagation delays. By implementing event-detection into a feedback loop of a continuous-time digital system, the system can automatically stop when there is no event in the system. When new events are detected the system can commence operation.

Claims (46)

1. A continuous-time digital signal processor comprising:

an event-grouping block, configured to receive a first input timing signal, a second input timing signal, and to generate an intermediate timing signal;

a first time delay block, configured to receive the intermediate timing signal and generate an output timing signal;

a second time delay block, configured to receive the output timing signal and generate the second input timing signal;

a two-channel memory configured to receive a first data input and a second data input and to generate a first intermediate data signal and a second intermediate data signal;

an arithmetic operation block, configured to receive the first intermediate data signal, the second intermediate data signal and to generate an output data signal, the arithmetic operation block comprising:

a scalar block configured to receive the second intermediate data signal and generate a scaled version of the second intermediate data signal; and

an adder configured to receive the first intermediate data signal and the scaled version of the second intermediate data signal, and generate the output data signal; and

a first-in-first-out (FIFO) memory configured to receive the output data signal and to generate the second input data signal.

2. The continuous-time digital signal processor of claim 1 , wherein the adder is configured to receive data at the first intermediate data signal and calculate the output data signal, in response to a pulse on the intermediate timing signal.

3. The continuous-time digital signal processor of claim 1 , wherein the FIFO memory is configured to store data at the output data signal and read out data stored in the FIFO memory, in response to a pulse on the output timing signal.

4. The continuous-time digital signal processor of claim 1 , wherein the two channel memory is configured to output data stored in a first channel at the first intermediate data and to store data at the first data input into the first channel, in response to a pulse received on the first input timing signal, and further configured to output data stored in a second channel at the second intermediate data and to store data at the second data input into the second channel, in response to a pulse received on the second input timing signal.

5. The continuous-time digital signal processor of claim 1 , wherein the first time delay block is configured to generate the output timing signal by delaying the intermediate timing signal by a first delay;

wherein the second time delay block is configured to generate the second input timing signal by delaying the output timing signal by a second delay;

wherein the first delay is shorter than or equal to the second delay.

6. The continuous-time digital signal processor of claim 5 , wherein the first delay is selected based on a propagation delay of the first operation block.

7. The continuous-time digital signal processor of claim 1 , wherein the event-grouping block is configured to generate the intermediate timing signal by propagating a pulse at one of the first input timing signal and the second input timing signal.

8. The continuous-time digital signal processor of claim 1 , wherein, when a pulse is received at the second input timing signal, within a time window from a pulse received at the first input timing signal, the event-grouping block is configured to generate the intermediate timing signal by delaying the second input timing signal by a third delay.

9. The continuous-time digital signal processor of claim 8 , wherein the time window and the third delay are selected based on a propagation delay of the first operation block.

10. The continuous-time digital signal processor of claim 8 , wherein the second delay is selected based on a feedback delay and the propagation delay of the first operation block.

11. The continuous-time digital signal processor of claim 1 , wherein, when a pulse is received at the first input timing signal, within a time window from a pulse received at the second input timing signal, the event-grouping block is configured to generate the intermediate timing signal by delaying the first input timing signal by a third delay.

12. The continuous-time digital signal processor of claim 1 , wherein the intermediate timing signal is generated when the first data input is different than a previous value of the first data input.

13. A method for continuous-time digital signal processing, comprising:

by an event-grouping block, receiving a first input timing signal, a second input timing signal, and generating an intermediate timing signal;

by a first time delay block, receiving the intermediate timing signal and generating an output timing signal;

by a second time delay block, receiving the output timing signal and generating the second input timing signal;

by a two-channel memory, receiving a first data input and a second data input and generating a first intermediate data signal and a second intermediate data signal;

by an arithmetic operation block, receiving the first intermediate data signal, the second intermediate data signal and generating an output data signal;

by a scalar block, receiving the second intermediate data signal and generating a scaled version of the second intermediate data signal;

by an adder, receiving the first intermediate data signal and the scaled version of the second intermediate data signal, and generating the output data signal; and

by a first-in-first-out (FIFO) memory, receiving the output data signal and generating the second input data signal.

14. The method of claim 13 , further comprising, by the adder, receiving data at the first intermediate data signal and calculating the output data signal, in response to a pulse on the intermediate timing signal.

15. The method of claim 13 , further comprising, by the FIFO memory, storing data at the output data signal and reading out data stored in the FIFO memory, in response to a pulse on the output timing signal.

16. The method of claim 13 , further comprising:

by the two channel memory, providing data stored in a first channel at the first intermediate data and storing data at the first data input into the first channel, in response to a pulse received on the first input timing signal; and

by the two channel memory, providing data stored in a second channel at the second intermediate data and storing data at the second data input into the second channel, in response to a pulse received on the second input timing signal.

17. The method of claim 13 , further comprising, by the first time delay block, generating the output timing signal by delaying the intermediate timing signal by a first delay;

wherein the second time delay block is configured to generate the second input timing signal by delaying the output timing signal by a second delay;

wherein the first delay is shorter than or equal to the second delay.

18. The method of claim 17 , wherein the first delay is selected based on a propagation delay of the first operation block.

19. The method of claim 13 , further comprising, by the event-grouping block, generating the intermediate timing signal by propagating a pulse at one of the first input timing signal and the second input timing signal.

20. The method of claim 13 , further comprising, by the event-grouping block, generating the intermediate timing signal by delaying the second input timing signal by a third delay, when a pulse is received at the second input timing signal, within a time window from a pulse received at the first input timing signal.

21. The method of claim 20 , wherein the time window and the third delay are selected based on a propagation delay of the first operation block.

22. The method of claim 20 , wherein the second delay is selected based on a feedback delay and the propagation delay of the first operation block.

23. The method of claim 13 , further comprising, by the event-grouping block, generating the intermediate timing signal by delaying the first input timing signal by a third delay, when a pulse is received at the first input timing signal, within a time window from a pulse received at the second input timing signal.

24. The method of claim 13 , wherein the intermediate timing signal is generated when the first data input is different than a previous value of the first data input.

Assignments (2)
CONFIRMATORY LICENSE Recorded Apr 26, 2019
From: COLUMBIA UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 049013/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2017
From: CHEN, YU; TSIVIDIS, YANNIS
To: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Reel/Frame 043709/0936 →
Continuity (2)
Provisional Application 62376112 · Aug 17, 2016
Related Publication 20180054186A1 · Feb 22, 2018