IP Library Granted Patent US 9,703,538
Granted Patent B2
US 9,703,538 · App. 14/124,636 · Granted Jul 11, 2017

Tool-level and hardware-level code optimization and respective hardware modification

Inventor: Martin Vorbach (Lingenfeld, DE)
Assignee: Hyperion Core, Inc.
G06F8/443G06F8/447G06F17/5045G06F17/5054G06F8/4434G06F17/504
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 9,703,538
App. No.
14/124,636
Granted
Jul 11, 2017
Kind
B2
Abstract

The present invention relates to a method for compiling high-level software code into hardware, transforming each instruction into a respective hardware block and using an execution control signal representing the program pointer for triggering the execution within each respective hardware block.

Claims (18)

1. A method for generating hardware by compiling high-level software code, the method comprising:

grouping, by a system, software instructions into groups, wherein grouping the software instructions includes detecting instruction patterns and sequences in the software instructions;

transforming, by the system, the groups of software instructions into a hardware description language describing respective hardware blocks, wherein the hardware blocks are hardware representations of the respective groups of software instructions and provide one or more hardware functions for one or more target algorithms described by the groups of software instructions; and

generating, by the system, a main module interconnecting and controlling the hardware blocks,

wherein the main module includes:

i) a register file configured to store data received from the hardware blocks, and

ii) a decoder configured to select, for each currently active hardware block, a next hardware block to become active based on pointer information received from the currently active hardware block, and

wherein each of the hardware blocks is configured to:

receive input data from the register file,

transmit result data to the register file, and

generate the pointer information for the main module.

2. The method according to claim 1 , wherein the hardware blocks are combined into hardware modules, the hardware modules comprising registers.

3. The method according to claim 2 , wherein the main module uses input multiplexers in front of each hardware module to select the source of the input data according to received execution control signals.

4. The method according to claim 1 , wherein a last instruction implemented in at least one of the hardware blocks is used to generate the pointer information, wherein the last instruction is a jump operation or call operation.

5. The method according to claim 1 , wherein the groups of software instructions are transformed into synthesizable code in the hardware description language.

6. The method according to claim 1 , wherein the groups of software instructions are transformed into a gate netlist in the hardware description language.

7. The method according to claim 1 , wherein the hardware blocks are interconnected based on an order of execution of the software instructions represented in the hardware blocks.

8. The method according to claim 1 , wherein the software instructions do not specify the hardware blocks and interconnection of the hardware blocks.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2024
From: HYPERION CORE INC.
To: UBITIUM GMBH
Reel/Frame 068200/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2014
From: VORBACH, MARTIN
To: HYPERION CORE, INC.
Reel/Frame 034307/0658 →
Priority Claims (4)
EP 11004667 · Jun 8, 2011 · regional
EP 11005196 · Jun 27, 2011 · regional
EP 11007370 · Sep 9, 2011 · regional
EP 11009912 · Dec 16, 2011 · regional
Continuity (1)
Related Publication 20140310696A1 · Oct 16, 2014