IP Library Granted Patent US 8,230,408
Granted Patent B2
US 8,230,408 · App. 11/168,794 · Granted Jul 24, 2012

Execution of hardware description language (HDL) programs

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 8,230,408
App. No.
11/168,794
Granted
Jul 24, 2012
Kind
B2
Abstract

In one embodiment, a hardware implementation of an electronic system may be realized by compiling the HDL description into an executable form and executing the processor instructions. By applying data flow separation technique, the operations of the system can be effectively mapped into the instruction set of complex processors for efficient logic evaluation, in some implementations. An array of interconnected processors may be deployed, in some embodiments, to exploit the inherent parallelism in a HDL description.

Claims (28)

1. A method comprising:

compiling a hardware description language (HDL) description of an electronic system into a plurality of programs, each of the plurality of programs comprising a plurality of instructions that are processor-executable to realize at least a portion of the operation of the electronic system, wherein said compiling comprises:

separating dataflow elements described in the HDL description from control logic described in the HDL description;

generating at least a first set of arithmetic/logic instructions based on the dataflow elements and a second set of control flow instructions based on the control logic, wherein the first set of instructions does not comprise control flow instructions, and wherein the second set of instructions does not comprise arithmetic/logic instructions; and

arranging the first set of arithmetic/logic instructions and the second set of control flow instructions into a corresponding plurality of program partitions, wherein each program partition comprises dataflow operations corresponding to respective dataflow elements that are connected together, and control operations corresponding to control logic that controls the respective dataflow elements; and

downloading each of the plurality of program partitions to an instruction memory of one of a plurality of processors;

wherein the plurality of program partitions are executable on the plurality of processors.

2. The method as recited in claim 1 , further comprising:

executing the plurality of programs on the plurality of processors.

3. The method as recited in claim 1 , wherein said downloading comprises downloading a first program of the plurality of programs and a second program of the plurality of programs to a first processor of the plurality of processors.

4. The method as recited in claim 3 , wherein said executing comprises time-multiplexing execution of the first program and the second program on the first processor.

5. The method as recited in claim 1 , further comprising a first program of the plurality of programs and a second program of the plurality of programs communicating during the execution.

6. The method as recited in claim 5 , wherein said communicating is through a shared memory between a first processor executing the first program and a second processor executing the second program.

7. The method as recited in claim 5 , further comprising: executing the first program on a first processor of the plurality of processors and executing the second program on a second processor of the plurality of processors that is near the first processor.

8. The method as recited in claim 5 , further comprising: executing the first program on a first processor of the plurality of processors and executing the second program on a second processor of the plurality of processors that is able to communicate efficiently with the first processor.

9. The method as recited in claim 1 wherein the first set of arithmetic/logic instructions, when executed, perform the operation of the dataflow elements in one of the plurality of program partitions, wherein the second set of control flow instructions, when executed, control execution of the plurality of arithmetic/logic instructions in one of the plurality of program partitions, and wherein the method further comprises:

creating one of the plurality of programs using the first set of arithmetic/logic instructions and the second set of control flow instructions.

10. A non-transitory computer accessible medium storing a plurality of instructions which, when executed, implement the method as recited in claim 1 .

11. A method comprising:

extracting dataflow from a hardware description language (HDL) description of an electronic system;

generating at least a first set of arithmetic/logic instructions corresponding to the dataflow, wherein the first set of arithmetic/logic instructions does not comprise control flow instructions;

extracting control from the dataflow from the HDL description;

generating at least a first set of control flow instructions corresponding to the control, wherein the first set of control flow instructions does not comprise arithmetic/logic instructions;

assembling a plurality of programs from the at least a first set of arithmetic/logic unit instructions and the at least a first set of control flow instructions;

arranging the first set of arithmetic/logic instructions and the first set of control flow instructions into a corresponding plurality of program partitions, wherein each program partition comprises dataflow operations corresponding to respective dataflow elements that are connected together, and control operations corresponding to control logic that controls the respective dataflow elements; and

downloading each of the plurality of program partitions to an instruction memory of one of a plurality of processors;

wherein the plurality of program partitions are executable on the plurality of processors.

12. A non-transitory computer accessible medium storing a plurality of instructions which, when executed, implement the method as recited in claim 11 .

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2025
From: PACIFIC CAP ACQUISITION FUND, LLC
To: HYPERX HOLDINGS LLC
Reel/Frame 072342/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2025
From: COHERENT LOGIX, INC.
To: PACIFIC CAP ACQUISITION FUND, LLC
Reel/Frame 072370/0394 →
SECURITY INTEREST Recorded May 6, 2024
From: COHERENT LOGIX, INCORPORATED
To: PACIFIC CAP ACQUISITION FUND, LLC
Reel/Frame 067325/0476 →
SECURITY INTEREST Recorded Jan 4, 2023
From: HYPERICE IP SUBCO, LLC
To: ACP POST OAK CREDIT I LLC
Reel/Frame 062269/0285 →
SECURITY INTEREST Recorded Dec 23, 2022
From: COHERENT LOGIX, INCORPORATED
To: ACP POST OAK CREDIT I LLC
Reel/Frame 062214/0302 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2005
From: ENG, TOMMY KINMING
To: COHERENT LOGIX INCORPORATED
Reel/Frame 016734/0356 →