IP Library Granted Patent US 7,587,699
Granted Patent B2
US 7,587,699 · App. 11/432,186 · Granted Sep 8, 2009

Automated system for designing and developing field programmable gate arrays

Assignee: Pixel Velocity, 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,587,699
App. No.
11/432,186
Granted
Sep 8, 2009
Kind
B2
Abstract

An automated system and method for programming field programmable gate arrays (FPGAS) is disclosed for implementing user-defined algorithms specified in a high level language. The system is particularly suited for use with image processing algorithms and can speed up the process of implementing and testing a fully written high-level user-defined algorithm to a matter of a few minutes, rather than the days, weeks or even months presently required using conventional software tools. The automated system includes an analyzer module and a mapper module. The analyzer determines what logic components are required and their interrelationships, and observes the relative timing between the required components and their partial products. The mapper module utilizes the output from the analyzer module and determines where the required logic components must be placed on a given target FPGA in order to reliably route, without interference, the required interconnections between various components and I/O.

Claims (14)

1. A system for programming a field programmable gate array (FPGA) comprising:

means for analyzing a user-defined algorithm specified in a source code of a high level language and designed to process data vectors with at least one dimension;

means for identifying the vector processing operations of the source code;

means for mapping the vector processing operations onto logic components of an FPGA; and

means for programming the FPGA with the user-defined algorithm based on the mapping of the logic components.

2. The system of claim 1 , wherein the means for analyzing the user-defined algorithm includes means for determining the relative timing between the vector processing operations.

3. The system of claim 2 , wherein the means for analyzing the user-defined algorithm includes means for providing an operation dataflow graph that indicates the overall flow of vector processing results between vector operations.

4. The system of claim 1 , wherein the means for analyzing the user-defined algorithm includes means for identifying the type of operators and the vector input operands of the vector operations.

5. The system of claim 4 , wherein the means for analyzing the user-defined algorithm includes means for identifying the orders and dependencies of the vector operations.

6. The system of claim 1 , further comprising: a library of Predefined functions, including first group of image processing functions, a second group of Arithmetic functions, and third group of Boolean functions.

7. The system of claim 6 , further comprising: means for determining a first rule set that represents constraints associated with the FPGA and with at least some of the predefined functions in the library, wherein the means for analyzing the user-defined algorithm includes means for accessing the first rule set.

8. The system of claim 7 , further comprising: means for determining a second rule set that represents constraints associated with the FPGA and with at least some of the predefined functions in the library, wherein the means for mapping the logic components includes means for accessing the second rule set.

9. The system of claim 1 , wherein the means for mapping the vector processing operators onto FPGA logic components includes means for evaluating alternative component placement and interconnection routes between the logic components.

10. The system of claim 9 , wherein the means for mapping the vector processing operators onto FPGA logic components includes means for producing an optimized placement and interconnection routing of the logic components on the FPGA, based on the evaluation of alternative placement and interconnection routes.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: QUICKCOMPILE IP, LLC
To: PIXEL VELOCITY INCORPORATED
Reel/Frame 040204/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: PIXEL VELOCITY INCORPORATED
To: QUICKCOMPILE IP, LLC
Reel/Frame 036990/0941 →
SECURITY INTEREST Recorded Mar 26, 2015
From: QUICKCOMPILE IP, LLC
To: PIXEL VELOCITY INCORPORATED
Reel/Frame 035264/0520 →
Continuity (3)
Division 1044158100 · May 19, 2003
Provisional Application 6038129500 · May 17, 2002
Related Publication 20060206850A1 · Sep 14, 2006