IP Library Granted Patent US 7,000,211
Granted Patent B2
US 7,000,211 · App. 10/404,680 · Granted Feb 14, 2006

System and method for efficiently mapping heterogeneous objects onto an array of heterogeneous programmable logic resources

Assignee: Stretch, Inc.
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,000,211
App. No.
10/404,680
Granted
Feb 14, 2006
Kind
B2
Abstract

A system and method of mapping heterogeneous objects onto an array of heterogeneous programmable logic resources. The method comprises clustering to identify datapath modules from a netlist. The method further comprises aggregating the datapath modules into higher level modules. The method also comprises clustering random logic into structures.

Claims (44)

1. A method of mapping heterogeneous objects onto an array of heterogeneous programmable logic resources, the method comprising:

clustering the heterogeneous objects from a mapped netlist to identify datapath modules;

aggregating the datapath modules into higher level modules of the heterogeneous objects and clusters of the heterogeneous objects;

clustering random logic into structures for the array of heterogeneous programmable logic resources; and

determining placement of the higher level modules and the structures in the array of heterogeneous programmable logic resources.

2. The method of claim 1 , wherein the array is a multi-scale programmable array.

3. The method of claim 2 , wherein clustering creates transitive processing unit (TPU) clusters.

4. The method of claim 2 , wherein clustering creates function cell/arithmetic logic unit (FC/ALU) clusters.

5. The method of claim 2 , wherein the array comprises a transitive processing unit (TPU) plane and a function cell/arithmetic logic unit (FC/ALU) plane.

6. The method of claim 1 , wherein the method comprises a pre-processing phase, a clustering phase, an initial placement phase and an optimization phase.

7. The method of claim 1 , wherein constraints affect the placement of objects.

8. A system for mapping heterogeneous objects onto an array of heterogeneous programmable logic resources, the system comprising:

a first clustering module for clustering the heterogeneous objects from a mapped netlist to identify datapath modules;

an aggregating module for aggregating the datapath modules into higher level modules of the heterogeneous objects and clusters of the heterogeneous objects;

a second clustering module for clustering random logic into structures for the array of heterogeneous programmable logic resources; and

a placement module for determining placement of the higher level modules and the structures in the array of heterogeneous programmable logic resources.

9. The system of claim 8 , wherein the array is a multi-scale programmable array.

10. The system of claim 9 , wherein clustering creates transitive processing unit (TPU) clusters.

11. The system of claim 9 , wherein clustering creates function cell/arithmetic logic unit (FC/ALU) clusters.

12. The system of claim 9 , wherein the array comprises a transitive processing unit (TPU) plane and a function cell/arithmetic logic unit (FC/ALU) plane.

13. The system of claim 8 , wherein the system comprises a pre-processing phase, a clustering phase, an initial placement phase and an optimization phase.

14. The system of claim 8 , wherein constraints affect the placement of objects.

15. An electronically-readable medium having embodied thereon a program, the program being executable by a machine to perform a method of mapping heterogeneous objects onto an array of heterogeneous programmable logic resources, the method comprising:

clustering the heterogeneous objects from a mapped netlist to identify datapath modules;

aggregating the datapath modules into higher level modules of the heterogeneous objects and clusters of the heterogeneous objects;

clustering random logic into structures for the array of heterogeneous programmable logic resources; and

determining placement of the higher level modules and the structures in the array of heterogeneous programmable logic resources.

16. The electronically-readable medium of claim 15 , wherein the array is a multi-scale programmable array.

17. The electronically-readable medium of claim 16 , wherein clustering creates transitive processing unit (TPU) clusters.

18. The electronically-readable medium of claim 16 , wherein clustering creates function cell/arithmetic logic unit (FC/ALU) clusters.

19. The electronically-readable medium of claim 16 , wherein the array comprises a transitive processing unit (TPU) plane and a function cell/arithmetic logic unit (FC/ALU) plane.

20. The electronically-readable medium of claim 15 , wherein the method comprises a pre-processing phase, a clustering phase, an initial placement phase and an optimization phase.

21. The electronically-readable medium of claim 15 , wherein constraints affect the placement of objects.

22. A system for mapping heterogeneous objects onto an array of heterogeneous programmable logic resources, the system comprising:

first clustering means for clustering the heterogeneous objects from a mapped netlist to identify datapath modules;

aggregating means for aggregating the datapath modules into higher level modules of the heterogeneous objects and clusters of the heterogeneous objects; and

second clustering means for clustering random logic into structures for the array of heterogeneous programmable logic resources; and

placement means for determining placement of the higher level modules and the structures in the array of heterogeneous programmable logic resources.

23. The system of claim 22 , wherein the array is a multi-scale programmable array.

24. The system of claim 23 , wherein clustering creates transitive processing unit (TPU) clusters.

25. The system of claim 23 , wherein clustering creates function cell/arithmetic logic unit (FC/ALU) clusters.

26. The system of claim 23 , wherein the array comprises a transitive processing unit (TPU) plane and a function cell/arithmetic logic unit (FC/ALU) plane.

27. The system of claim 22 , wherein the system comprises a pre-processing phase, a clustering phase, an initial placement phase and an optimization phase.

28. The system of claim 22 , wherein constraints affect the placement of objects.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2015
From: EXAR CORPORATION
To: XILINX, INC.
Reel/Frame 036416/0211 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2015
From: STIFEL FINANCIAL CORP.
To: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
Reel/Frame 035168/0384 →
SECURITY INTEREST Recorded May 29, 2014
From: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
To: STIFEL FINANCIAL CORP.
Reel/Frame 033062/0123 →
ACQUISITION Recorded Feb 21, 2014
From: STRETCH, INC.
To: EXAR CORPORATION
Reel/Frame 032319/0905 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 15, 2014
From: MMV CAPITAL PARTNERS INC., AS ASSIGNEE OF MMV FINANCE INC.
To: STRETCH, INC.
Reel/Frame 032037/0551 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 15, 2014
From: SILICON VALLEY BANK
To: STRETCH, INC.
Reel/Frame 032037/0527 →
SECURITY AGREEMENT Recorded Jan 8, 2013
From: STRETCH, INC.
To: MMV FINANCE INC.
Reel/Frame 029591/0364 →
SECURITY AGREEMENT Recorded Nov 29, 2010
From: STRETCH, INC.
To: SILICON VALLEY BANK
Reel/Frame 025413/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2003
From: ARNOLD, JEFFREY M.
To: STRETCH, INC.
Reel/Frame 014732/0591 →
Continuity (1)
Related Publication 20040194048A1 · Sep 30, 2004