IP Library Granted Patent US 12,597,931
Granted Patent B2
US 12,597,931 · App. 18/526,943 · Granted Apr 7, 2026

Clock insertion delay systems and methods

Inventors: Maryam Shahbazi (Walnut Creek, CA); Bradley A. Sharpe-Geisler (San Jose, CA); Senani Gunaratna (Los Gatos, CA); Loren L. McLaury (Hillsboro, OR)
Assignee: Lattice Semiconductor Corporation
H03K19/17764G01R31/31725G01R31/31727G01R31/318594
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 12,597,931
App. No.
18/526,943
Granted
Apr 7, 2026
Kind
B2
Abstract

Various techniques are provided to efficiently synchronize clock and data signals in programmable logic devices (PLDs). In one example, a method comprises configuring an intellectual property (IP) block of the PLD to receive a first clock signal and a first data signal at a first component of the IP block, determining a delay associated with the first clock signal between a first input and the first component, configuring a programmable logic cell (PLC) to receive a second clock signal and output the first data signal to the IP block, determining a delay period to synchronize the first clock signal and the first data signal at the first component of the IP block, and configuring an adjustable delay element to apply the delay period to the second clock signal to synchronize the first clock signal and the first data signal at the first component of the IP block.

Claims (42)

1 . A method for synchronizing data signals and clock signals in a programmable logic device (PLD), the method comprising:

configuring an intellectual property (IP) block of the PLD to receive a first clock signal and a first data signal at a first component of the IP block;

determining a delay associated with the first clock signal between a first input and the first component;

configuring a plurality of programmable logic cells (PLCs) to receive a second clock signal;

configuring a particular one of the PLCs to output the first data signal to the IP block;

determining a delay period to synchronize the first clock signal and the first data signal at the first component of the IP block, wherein the delay period is determined based on the delay associated with the first clock signal between the first input and the first component; and

configuring an adjustable delay element to apply the delay period to the second clock signal to synchronize the first clock signal and the first data signal at the first component of the IP block by adjusting the second clock signal to delay output of the first data signal by the delay period.

2 . The method of claim 1 , wherein the IP block comprises a programmable input-output cell (PIC), an embedded distributed memory (EBR), or a digital signal processing (DSP) block.

3 . The method of claim 1 , further comprising configuring a configurable interconnect block (CIB) block to interface between the plurality of PLCs and a plurality of IP blocks.

4 . The method of claim 3 , wherein the delay period adjusted second clock signal is input to each of the plurality of PLCs to synchronize the PLCs with the plurality of IP blocks.

5 . The method of claim 3 , wherein the CIB comprises scan test logic configured to, when activated in a test mode, bypass the delay period of the second clock signal.

6 . The method of claim 1 , further comprising:

configuring a clock tree to generate a plurality of clock signals, including the first clock signal and the second clock signal; and

wherein the clock tree comprises the adjustable delay element.

7 . The method of claim 1 , further comprising

adding a delay element to a data signal path of the first data signal to delay output of the first data signal by the delay period.

8 . The method of claim 1 , wherein:

the IP block comprises a first data path configured to route the first data signal to the first component; and

the first data path does not include a delay element.

9 . The method of claim 1 , further comprising configuring a configurable interconnect block (CIB) block to route the first data signal from the particular one of the PLCs to the IP block and route a second data signal, output from the IP block, to the particular one of the PLCs.

10 . A programmable logic device (PLD) comprising:

an intellectual property (IP) block configured to receive a first clock signal and a first data signal at a first component;

a plurality of programmable logic cells (PLCs) configured to receive a second clock signal, wherein a particular one of the PLCs is configured to output the first data signal to the IP block; and

an adjustable delay element configured to apply a delay period to the second clock signal to synchronize the first clock signal and the first data signal at the first component of the IP block by adjusting the second clock signal to delay output of the first data signal by the delay period.

11 . The PLD of claim 10 , wherein the delay period corresponds to a difference between a delay associated with the first clock signal between a first input and the first component and a PLC delay between the second clock signal and receipt of the first data signal at the first component.

12 . The PLD of claim 10 , wherein the IP block comprises a programmable input-output cell (PIC), an embedded distributed memory (EBR), or a digital signal processing (DSP) block.

13 . The PLD of claim 10 , further comprising a configurable interconnect block (CIB) block to interface between the plurality of PLCs and a plurality of IP blocks.

14 . The PLD of claim 10 , further comprising:

a clock tree configured to generate a plurality of clock signals, including the first clock signal and the second clock signal; and

wherein the clock tree comprises the adjustable delay element.

15 . The PLD of claim 10 , wherein the adjustable delay element is further configured to apply the delay period to the second clock signal to synchronize the first clock signal and the first data signal at the first component of the IP block by adding a delay element to a signal path of the second clock signal to delay output of the first data signal by the delay period.

16 . The PLD of claim 10 , wherein:

the IP block comprises a first data path configured to route the first data signal to the first component; and

the first data path does not include a delay element.

17 . A programmable logic device (PLD) comprising:

an intellectual property (IP) block configured to receive a first clock signal and a first data signal at a first component;

a plurality of programmable logic cells (PLCs) configured to receive a second clock signal, wherein a particular one of the PLCs is configured to output the first data signal to the IP block;

an adjustable delay element configured to apply a delay period to the second clock signal to synchronize the first clock signal and the first data signal at the first component of the IP block; and

a configurable interconnect block (CIB) block configured to route the first data signal from the particular one of the PLCs to the IP block and to route a second data signal from the IP block to the particular one of the PLCs.

18 . The PLD of claim 17 , wherein the CIB comprises scan test logic configured to, when activated in a test mode, bypass the delay period of the second clock signal.

19 . The PLD of claim 17 , wherein the adjustable delay element is configured to apply the delay period to the second clock signal by adjusting the second clock signal to delay output of the first data signal by the delay period.

20 . The PLD of claim 17 , wherein the adjustable delay element is configured to apply the delay period to the second clock signal by adding a delay element to a signal path of the second clock signal to delay output of the first data signal by the delay period.

Assignments (2)
SECURITY INTEREST Recorded Jul 2, 2026
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 075892/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: SHAHBAZI, MARYAM; SHARPE-GEISLER, BRADLEY A.; GUNARATNA, SENANI; MCLAURY, LOREN L.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 066622/0473 →
Continuity (2)
Provisional Application 63430056 · Dec 4, 2022
Related Publication 20240183902A1 · Jun 6, 2024
References Cited (31)
US 6353352B1 · Sharpe-Geisler · 2002 [cited by examiner]
US 6639449B1 · Cruz et al. · 2003 [cited by applicant]
US 6885227B2 · Agrawal et al. · 2005 [cited by applicant]
US 7019577B2 · Agrawal et al. · 2006 [cited by applicant]
US 7091763B1 · Johnson et al. · 2006 [cited by applicant]
US 7456672B1 · Callahan et al. · 2008 [cited by applicant]
US 7509598B1 · Shen et al. · 2009 [cited by applicant]
US 7557606B1 · Chen et al. · 2009 [cited by applicant]
US 7956695B1 · Ding et al. · 2011 [cited by applicant]
US 8130019B1 · Awad et al. · 2012 [cited by applicant]
US 8255733B1 · Bartel et al. · 2012 [cited by applicant]
US 9390220B2 · Yi et al. · 2016 [cited by applicant]
US 9672307B2 · Chen et al. · 2017 [cited by applicant]
US 10148472B2 · Sharpe-Geisler · 2018 [cited by applicant]
US 10326627B2 · Sharpe-Geisler · 2019 [cited by applicant]
US 20030212930A1 · Aung et al. · 2003 [cited by applicant]
US 20060095605A1 · Lee et al. · 2006 [cited by applicant]
US 20070054643A1 · Kraegeloh et al. · 2007 [cited by applicant]
US 20080065936A1 · Pietri et al. · 2008 [cited by applicant]
US 20080225933A1 · Chan et al. · 2008 [cited by applicant]
US 20120182473A1 · Kim et al. · 2012 [cited by applicant]
US 20150178436A1 · Chen et al. · 2015 [cited by applicant]
US 20160026745A1 · Yi et al. · 2016 [cited by applicant]
CN 101267292B · 2011 [cited by applicant]
CN 101657966B · 2012 [cited by applicant]
CN 102820885A · 2015 [cited by applicant]
CN 103490775A · 2016 [cited by applicant]
CN 109891843A · 2022 [cited by applicant]
EP 1459531B1 · 2018 [cited by applicant]
EP 3510738B1 · 2021 [cited by applicant]
KR 20010112319A · 2001 [cited by applicant]