Method of generating code for programmable processors, code generator and application thereof
First Claim
1. A method of generating code for a programmable processor being implemented in hardware and having an instruction set, said method comprising the steps of;
- representing said processor as a directed bipartite graph with first and second sets of vertices and with edges, said graph comprising essentially all information about the instruction set and the hardware of said processor, said first set of vertices representing storage elements in said processor, and said second set of vertices representing micro-operations in said processor,linking said graph to tools and libraries required for generating code for said processor, andexecuting the required code generation phases whereby the required information about said processor is extracted from said graph.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention concerns a method of generating code for a programmable processor and comprises several steps. The first step is representing the processor as a directed bipartite graph with first and second sets of vertices and with edges, the graph comprising essentially all information about an instruction set and hardware of the processor, the first set of vertices representing storage elements in the processor, and the second set of vertices representing operations in the processor. The second step includes linking the graph to tools and libraries required for generating code for the processor. The last step is executing the required code generation phases, whereby the required information about the processor is extracted from the graph. The present invention also concerns the application of this method.
-
Citations
44 Claims
-
1. A method of generating code for a programmable processor being implemented in hardware and having an instruction set, said method comprising the steps of;
-
representing said processor as a directed bipartite graph with first and second sets of vertices and with edges, said graph comprising essentially all information about the instruction set and the hardware of said processor, said first set of vertices representing storage elements in said processor, and said second set of vertices representing micro-operations in said processor, linking said graph to tools and libraries required for generating code for said processor, and executing the required code generation phases whereby the required information about said processor is extracted from said graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A retargetable code generator for generating code for programmable processors being embedded in an electronic system comprising:
-
an electronic system with an embedded programmable processor, first tools to build a directed bipartite graph with vertices and edges which internally represents said programmable processor, said graph comprising essentially all information about the instruction set and the hardware of said processor and having first and second sets of vertices, said first set of vertices representing storage elements in said processor, and said second set of vertices representing micro-operations in said processor, said edges represent valid connections between said micro-operations and said storage elements, second tools and libraries required to generate code for said processor, and means to link said graph to said second tools and said libraries, whereby the information about said processor required during code generation is extracted from said graph. - View Dependent Claims (16, 17)
-
-
18. A method of simulating the execution of code on a programmable processor, being implemented in hardware and having an instruction set, said method comprising the steps of:
-
representing said processor as a directed bipartite graph with first and second sets of vertices and with edges, said graph comprising essentially all information about the instruction set and the hardware of said processor, said first set of vertices representing storage elements in said processor, said second set of vertices representing micro-operations in said processor; said edges representing valid connections between micro-operations and said storage elements, and said connections modeling the data flow in said processor, linking said graph to tools and libraries requited for said simulation, and executing said simulation whereby the required information about said processor is extracted from said graph. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A retargetable simulator that performs the simulation of the execution of code on a programmable processor being embedded in an electronic system comprising:
-
an electronic system with an embedded programmable processor, first tools to build a directed bipartite graph which internally represents said programmable processor with first and second sets of vertices and with edges, said graph comprising essentially all information about the instruction set and the hardware of said processor, said first set of vertices representing storage elements in said processor, and said second set of vertices representing operations in said processor; second tools and libraries required for simulating said processor, and means to link said graph to said second tools and libraries whereby the information about said processor required during simulation is extracted from said graph.
-
-
29. A method of synthesizing a programmable processor being implemented in hardware, comprising the steps of:
-
representing said processor as a directed bipartite graph with first and second sets of vertices and with edges, said graph comprising essentially all information about the instruction set and the hardware of said processor, said first set of vertices representing storage elements in said processor; said second set of vertices representing micro-operations in said processor; said edges representing valid connections between said micro-operations and said storage elements, said connections modeling the data flow in said processor; linking said graph to tools and libraries required for generating a netlist of hardware building blocks; implementing said processor as a hardware device according to said netlist.
-
-
30. A method of modeling a programmable processor being implemented in hardware adapted for use in an automatic retargetable code generator and in an instruction set simulator, said method comprising the steps of:
-
identifying storage elements and micro-operations in said processor; and representing said processor as a directed bipartite graph with first and second sets of vertices and with edges, said graph comprising essentially all information about the instruction set and the hardware of said processor, said first set of vertices representing storage elements in said processor, and said second set of vertices representing operations in said processor. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification