IP Library Granted Patent US 7,831,856
Granted Patent B1
US 7,831,856 · App. 12/061,885 · Granted Nov 9, 2010

Detection of timing errors in programmable logic devices

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 7,831,856
App. No.
12/061,885
Granted
Nov 9, 2010
Kind
B1
Abstract

In one example, a method of detecting timing errors in a configuration of a programmable logic device (PLD) includes performing a timing analysis on the PLD configuration. The PLD configuration is adapted to configure the PLD to perform a data transfer between a first clock domain synchronized by a first clock signal received by a double data rate (DDR) block of the PLD configuration and a second clock domain synchronized by a second clock signal received by the DDR block. The method includes calculating a slack value associated with the data transfer using a first delay associated with the first clock signal, a second delay associated with the second clock signal, and a time constraint associated with the data transfer. The first delay and the second delay are provided by the timing analysis. The method includes determining whether the PLD configuration satisfies the time constraint based on the slack value.

Claims (35)

1. A computer-implemented method of detecting timing errors in a configuration of a programmable logic device (PLD), the method comprising:

performing a timing analysis on the PLD configuration, wherein the PLD configuration is adapted to configure the PLD to perform a data transfer between a first clock domain synchronized by a first clock signal received by a double data rate (DDR) block of the PLD configuration and a second clock domain synchronized by a second clock signal received by the DDR block, wherein the first and second clock signals originate from a reference clock signal;

calculating a slack value associated with the data transfer using a first delay associated with the first clock signal, a second delay associated with the second clock signal, and a time constraint associated with the data transfer, wherein the first delay and the second delay are measured relative to the reference clock signal and are provided by the timing analysis; and

determining whether the PLD configuration satisfies the time constraint based on the slack value.

2. The method of claim 1 , further comprising selectively incrementing or decrementing the slack value by a period of one of the clock signals until the slack value is within a predetermined range prior to the determining.

3. The method of claim 1 , wherein the time constraint is a setup time constraint, wherein the slack value is a setup time slack value.

4. The method of claim 1 , wherein the time constraint is a hold time constraint, wherein the slack value is a hold time slack value.

5. The method of claim 1 , wherein a frequency of the first clock signal is approximately twice a frequency of the second clock signal.

6. The method of claim 1 , wherein a frequency of the second clock signal is approximately twice a frequency of the first clock signal.

7. The method of claim 1 , wherein the time constraint is a setup time constraint, wherein the slack value is a setup time slack value, the method further comprising:

calculating a hold time slack value associated with the data transfer using the first delay, the second delay, and a hold time constraint associated with the data transfer; and

determining whether the PLD configuration satisfies the hold time constraint based on the hold time slack value.

8. The method of claim 1 , wherein the PLD is configured to perform the data transfer on rising and falling edges of the first clock signal.

9. A computer readable medium on which is stored a computer program for performing the method of claim 1 .

10. A system comprising:

one or more processors; and

one or more memories adapted to store a plurality of computer readable instructions which when executed by the one or more processors are adapted to cause the system to perform a method of detecting timing errors in a configuration of a programmable logic device (PLD), the method comprising:

performing a timing analysis on the PLD configuration, wherein the PLD configuration is adapted to configure the PLD to perform a data transfer between a first clock domain synchronized by a first clock signal received by a double data rate (DDR) block of the PLD configuration and a second clock domain synchronized by a second clock signal received by the DDR block,

calculating a slack value associated with the data transfer using a first delay associated with the first clock signal, a second delay associated with the second clock signal, and a time constraint associated with the data transfer, wherein the first delay and the second delay are provided by the timing analysis, and

determining whether the PLD configuration satisfies the time constraint based on the slack value,

wherein a frequency of one of the first and second clock signals is approximately twice the frequency of the other of the first and second clock signals.

11. The system of claim 10 , wherein the method further comprises selectively incrementing or decrementing the slack value by a period of one of the clock signals until the slack value is within a predetermined range prior to the determining.

12. The system of claim 10 , wherein the time constraint is a setup time constraint, wherein the slack value is a setup time slack value.

13. The system of claim 10 , wherein the time constraint is a hold time constraint, wherein the slack value is a hold time slack value.

14. The system of claim 10 , wherein the first and second clock signals originate from a reference clock signal, wherein the first and second delays are measured relative to the reference clock signal.

15. The system of claim 10 , wherein the time constraint is a setup time constraint, wherein the slack value is a setup time slack value, wherein the method further comprises:

calculating a hold time slack value associated with the data transfer using the first delay, the second delay, and a hold time constraint associated with the data transfer; and

determining whether the PLD configuration satisfies the hold time constraint based on the hold time slack value.

16. The system of claim 10 , wherein the PLD is configured to perform the data transfer on rising and falling edges of the first clock signal.

17. A computer-implemented method of detecting timing errors in a configuration of a programmable logic device (PLD), the method comprising:

performing a timing analysis on the PLD configuration, wherein the PLD configuration is adapted to configure the PLD to perform a data transfer between a first clock domain synchronized by a first clock signal received by a double data rate (DDR) block of the PLD configuration and a second clock domain synchronized by a second clock signal received by the DDR block;

calculating a slack value associated with the data transfer using a first delay associated with the first clock signal, a second delay associated with the second clock signal, and a time constraint associated with the data transfer, are provided by the timing analysis; and

determining whether the PLD configuration satisfies the time constraint based on the slack value,

wherein a frequency of one of the first and second clock signals is approximately twice the frequency of the other of the first and second clock signals.

18. A computer readable medium on which is stored a computer program for performing the method of claim 17 .

Assignments (4)
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: JEFFERIES FINANCE LLC
To: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.; SIBEAM, INC.; DVDO, INC.
Reel/Frame 049827/0326 →
SECURITY INTEREST Recorded Mar 24, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035308/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2008
From: LIU, LIREN; HE, JIANSHE; SUN, SHANGZHI
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 020750/0149 →