IP Library › Granted Patent US 12,602,023
Granted Patent B2
US 12,602,023 · App. 18/320,933 · Granted Apr 14, 2026

Non-standard bus controller-based programmable logic device (PLD) architecture for interconnecting multiple bus controllers and increased numbers of PLD modules

Inventors: Rajeeva Krishna (Bangalore, IN); Robin David Hill (Solihull, GB); Stephen Potter (Nuneaton, GB); Ashish Vijay (Bikaner, IN); Rajesh Madathikandam (Bangalore, IN)
Assignee: GOODRICH ACTUATION SYSTEMS LIMITED
G05B19/052
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,602,023
App. No.
18/320,933
Granted
Apr 14, 2026
Kind
B2
Abstract

A bus controller-based programmable logic device (PLD) architecture is provided and includes a dual-port unit interposed between bus controllers. The dual port unit includes first and second data transfer layers. The first data transfer layer includes write and read areas for data transfer between the first and second bus controllers, respectively. A write to the read area is prevented during a read by the second bus controller. The second data transfer layer includes read and write areas for data transfer between the first and second bus controllers, respectively. A write to the read area is prevented during a read by the first bus controller.

Claims (42)

1 . A bus controller-based programmable logic device (PLD) architecture, comprising:

a dual-port unit interposed between first and second bus controllers and comprising:

a first data transfer layer comprising write and read areas for data transfer between the first and second bus controllers, respectively, and a data transfer control unit interposed between the write area and the read area and configured to prevent writing of data to the read area of the first data transfer layer, from the write area, during reading from the read area by the second bus controller; and

a second data transfer layer comprising read and write areas for data transfer between the first and second bus controllers, respectively, and a data transfer control unit interposed between the read area and the write area and configured to prevent writing of data to the read area of the second data transfer layer, from the write area, during reading from the read area by the first bus controller.

2 . The bus controller-based PLD architecture according to claim 1 , further comprising thirty-one or more PLD modules, wherein command sequence execution by the first and second bus controllers is triggered by one of the PLD modules.

3 . The bus controller-based PLD architecture according to claim 1 , wherein data is transferred along the first and second data transfer layers simultaneously.

4 . The bus controller-based PLD architecture according to claim 1 , wherein:

the data transfer control unit of the first data transfer layer is further configured to write data, which is prevented from being written to the read area of the first data transfer layer during the reading by the second bus controller, to the write area of the first data transfer layer during the reading by the second bus controller, and

the data transfer control unit of the second data transfer layer is further configured to write data, which is prevented from being written to the read area of the second data transfer layer during the reading by the first bus controller, to the write area of the second data transfer layer during the reading by the first bus controller.

5 . The bus controller-based PLD architecture according to claim 4 , wherein:

the data transfer control unit of the first data transfer layer is further configured to mirror data in one system clock, which is written to the write area of the first data transfer layer, to the read area of the first data transfer layer following the reading by the second bus controller, and

the data transfer control unit of the second data transfer layer is further configured to mirror data in one system clock, which is written to the write area of the second data transfer layer, to the read area of the second data transfer layer following the reading by the first bus controller.

6 . A bus controller-based programmable logic device (PLD) architecture, comprising:

PLD modules;

first and second bus controllers each responsive to a trigger by one of the PLD modules; and

a dual-port unit interposed between the first and second bus controllers and comprising:

a first data transfer layer comprising write and read areas for data transfer between the first and second bus controllers, respectively, and a data transfer control unit interposed between the write area and the read area and configured to prevent writing of data to the read area of the first data transfer layer, from the write area, during reading from the read area by the second bus controller; and

a second data transfer layer comprising read and write areas for data transfer between the first and second bus controllers, respectively, and a data transfer control unit interposed between the read area and the write area and configured to prevent writing of data to the read area of the second data transfer layer, from the write area, during reading from the read area by the first bus controller.

7 . The bus controller-based PLD architecture according to claim 6 , wherein the PLD modules comprise up to thirty-one or more PLD modules.

8 . The bus controller-based PLD architecture according to claim 6 , wherein each of the first and second bus controllers comprises control logic, interface logic, input multiplexing logic and memory.

9 . The bus controller-based PLD architecture according to claim 6 , wherein data is transferred along the first and second data transfer layers simultaneously.

10 . The bus controller-based PLD architecture according to claim 6 , wherein:

the data transfer control unit of the first data transfer layer is further configured to write data, which has been prevented from being written to the read area of the first data transfer layer during the read by the second bus controller, to the write area of the first data transfer layer during the reading by the second bus controller, and

the data transfer control unit of the second data transfer layer is further configured to write data, which has been prevented from being written to the read area of the second data transfer layer during the read by the first bus controller, to the write area of the second data transfer layer during the reading by the first bus controller.

11 . The bus controller-based PLD architecture according to claim 10 , wherein:

the data transfer control unit of the first data transfer layer is further configured to mirror data in one system clock, which has been written to the write area of the first data transfer layer, to the read area of the first data transfer layer subsequent to the read by the second bus controller, and

the data transfer control unit of the second data transfer layer is further configured to mirror data in one system clock, which has been written to the write area of the second data transfer layer, to the read area of the second data transfer layer subsequent to the read by the first bus controller.

12 . A method of operating a bus controller-based programmable logic device (PLD) architecture comprising PLD modules and first and second bus controllers, the method comprising:

receiving a trigger from one of the PLD modules at one of the first and second bus controllers; and

executing a command sequence by the one of the first and second bus controllers by exchanging data between the first and second bus controllers across a dual-port unit comprising first and second data transfer layers,

the exchanging of the data comprising:

reading, from a read area of the first data transfer layer, by the second bus controller and preventing writing of data to the read area of the first data transfer layer, from the write area, during the reading from the read area by the second bus controller by a data transfer control unit of the first data transfer layer, which is interposed between the write area and the read area; and

reading, from a read area of the second data transfer layer, by the first bus controller and preventing writing of data to the read area of the second data transfer layer, from the write area, during the reading from the read area by the first bus controller by a data transfer control unit of the second data transfer layer, which is interposed between the read area and the write area.

13 . The method according to claim 12 , wherein the PLD modules comprise up to thirty-one or more PLD modules.

14 . The method according to claim 12 , wherein each of the first and second bus controllers comprises control logic, interface logic, input multiplexing logic and memory.

15 . The method according to claim 12 , wherein data is transferred along the first and second data transfer layers simultaneously.

16 . The method according to claim 12 , wherein the method further comprises:

writing data, which has been prevented from being written to the read area of the first data transfer layer during the reading by the second bus controller, to the write area of the first data transfer layer by the data transfer control unit of the first data transfer layer during the reading by the second bus controller, and

writing data, which has been prevented from being written to the read area of the second data transfer layer during the reading by the first bus controller, to the write area of the second data transfer layer by the data transfer control unit of the second data transfer layer during the reading by the first bus controller.

17 . The method according to claim 16 , wherein the method further comprises:

mirroring data in one system clock, which has been written to the write area of the first data transfer layer, to the read area of the first data transfer layer by the data transfer control unit of the first data transfer layer subsequent to the reading by the second bus controller, and

mirroring data in one system clock, which has been written to the write area of the second data transfer layer, to the read area of the second data transfer layer by the data transfer control unit of the second data transfer layer subsequent to the reading by the first bus controller.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: GOODRICH AEROSPACE SERVICES PRIVATE LIMITED
To: GOODRICH ACTUATION SYSTEMS LIMITED
Reel/Frame 063736/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2023
From: KRISHNA, RAJEEVA; VIJAY, ASHISH; MADATHIKANDAM, RAJESH
To: GOODRICH AEROSPACE SERVICES PRIVATE LIMITED
Reel/Frame 063718/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2023
From: HILL, ROBIN DAVID; POTTER, STEPHEN
To: GOODRICH ACTUATION SYSTEMS LIMITED
Reel/Frame 063718/0095 →
Priority Claims (1)
IN 202311020307 · Mar 23, 2023 · national
Continuity (1)
Related Publication 20240319699A1 · Sep 26, 2024
References Cited (21)
US 4604683A · Russ et al. · 1986 [cited by applicant]
US 5454095A · Kraemer · 1995 [cited by examiner]
US 5771227A · Benayoun et al. · 1998 [cited by applicant]
US 7725680B1 · Schmidt et al. · 2010 [cited by applicant]
US 7882278B2 · Chadha et al. · 2011 [cited by applicant]
US 8996644B2 · Pope · 2015 [cited by applicant]
US 9064560B2 · Qawami et al. · 2015 [cited by applicant]
US 10185671B1 · Khan et al. · 2019 [cited by applicant]
US 10453530B2 · Lee et al. · 2019 [cited by applicant]
US 11017849B2 · Oh et al. · 2021 [cited by applicant]
US 20080065837A1 · Toyonaga · 2008 [cited by examiner]
US 20080229030A1 · Ha · 2008 [cited by examiner]
US 20090177831A1 · Nemazie · 2009 [cited by examiner]
US 20120117318A1 · Burton et al. · 2012 [cited by applicant]
US 20130097390A1 · Hatula · 2013 [cited by examiner]
US 20140059263A1 · Rosenberg · 2014 [cited by examiner]
US 20200218215A1 · Quakernack · 2020 [cited by examiner]
GB 2256293A · 1992 [cited by applicant]
JP 2008228207A · 2008 [cited by applicant]
European Search Report for Application No. 24165837.6, mailed Sep. 3, 2024, 9 pages. [cited by applicant]
Ghosal et al. “SHAMP: An Experimental Shared Memory Multimicroprocessor System for Performance Evaluation of Parallel Algorithms”, Microprocessing and Microprogramming 19 (1987) 179-192, pp. 179-192. [cited by applicant]