IP Library Granted Patent US 9,158,544
Granted Patent B2
US 9,158,544 · App. 13/493,962 · Granted Oct 13, 2015

System and method for performing a branch object conversion to program configurable logic circuitry

Inventor: Robert Keith Mykland (Capitola, CA)
G06F9/30181G06F8/40G06F8/452G06F9/38
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,158,544
App. No.
13/493,962
Granted
Oct 13, 2015
Kind
B2
Abstract

A method and system are provided for deriving a resultant software code from an originating ordered list of instructions that does not include overlapping branch logic. The method may include deriving a plurality of unordered software constructs from a sequence of processor instructions; associating software constructs in accordance with an original logic of the sequence of processor instructions; determining and resolving memory precedence conflicts within the associated plurality of software constructs; resolving forward branch logic structures into conditional logic constructs; resolving back branch logic structures into loop logic constructs; and/or applying the plurality of unordered software constructs in a programming operation by a parallel execution logic circuitry. The resultant plurality of unordered software constructs may be converted into programming reconfigurable logic, computers or processors, and also by means of a computer network or an electronics communications network.

Claims (27)

1. A method for forming logic circuits from a software encoded logic, the method comprising:

a. Selecting an ordered list of instructions having no overlapping branch logic;

b. Converting the ordered list of instructions into an unordered plurality of software-encoded logic constructs (“constructs”), wherein the plurality of constructs encodes all necessary opcode information and dependency information of the ordered list of instructions; and

c. Applying the plurality of constructs to the design of a digital logic circuit, whereby an internal connectivity and a structure of the digital logic circuit are formed to embody at least some of the opcode information and dependency information of the software encoded logic.

2. The method of claim 1 , wherein the dependency information embodied by the digital logic circuit includes at least one data dependency.

3. The method of claim 1 , wherein the dependency information embodied by the digital logic circuit includes at least one logic dependency.

4. The method of claim 1 , wherein the dependency information embodied by the digital logic circuit includes at least one memory system dependency.

5. The method of claim 1 , wherein the opcode information embodied by the digital logic circuit includes at least one branch instruction.

6. The method of claim 1 , wherein the opcode information embodied by the digital logic circuit includes at least one logical loop process.

7. The method of claim 1 , wherein the opcode information embodied by the digital logic circuit includes at least one logical conditional process.

8. The method of claim 1 , wherein the opcode information embodied by the digital logic circuit includes at least one component hierarchy.

9. The method of claim 1 , wherein at least one opcode instruction of the opcode information is expressed within a software object.

10. The method of claim 1 , wherein at least one opcode instruction of the opcode information is expressed within a construct.

11. A method for programming a computer comprising a parallel execution logic circuitry, the method comprising:

a. Selecting an ordered list of instructions having no overlapping branch logic;

b. Converting the ordered list of instructions into an unordered plurality of software-encoded logic constructs (“constructs”), wherein the plurality of constructs encodes all necessary opcode information and dependency information of the ordered list of instructions; and

c. Converting the unordered plurality of constructs into a machine-executable software program (“machine-code”); and

d. Operating the computer in accordance with the machine-code.

12. The method of claim 11 , wherein dependency information provided in the machine-code includes at least one data dependency.

13. The method of claim 11 , wherein dependency information provided in the machine code includes at least one logic dependency.

14. The method of claim 11 , wherein dependency information provided in the machine code includes at least one memory system dependency.

15. The method of claim 11 , wherein opcode information provided in the machine code includes at least one branch instruction.

16. The method of claim 11 , wherein opcode information provided in the machine code includes at least one logical loop process.

17. The method of claim 11 , wherein opcode provided in the machine-code includes at least one logical conditional process.

18. The method of claim 11 , wherein opcode information provided in the machine code includes at least one component hierarchy.

19. The method of claim 11 , wherein at least one opcode instruction of the opcode information is expressed within a software object.

20. The method of claim 11 , wherein at least one opcode instruction of the opcode information is expressed within a construct.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: ASCENIUM INVESTMENT INC.
To: ASCENIUM HOLDING AS
Reel/Frame 050405/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: ASCENIUM HOLDING AS
To: ASCENIUM INC
Reel/Frame 050406/0414 →
CHANGE OF NAME Recorded Aug 14, 2019
From: ASCENIUM CORPORATION
To: ASCENIUM INVESTMENT, INC.
Reel/Frame 050057/0807 →
Continuity (5)
Continuation In Part 13301763 · Nov 21, 2011
Continuation In Part 13360805 · Jan 30, 2012
Continuation In Part 13429198 · Mar 23, 2012
Provisional Application 61500619 · Jun 24, 2011
Related Publication 20130145134A1 · Jun 6, 2013