EP0743599A2

Method of generating code for programmable processor, code generator and application thereof

Abstract

The present invention concerns a method of generating code for a programmable processor 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 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. The present invention also concerns the application of this method.

EP0743599A2, drawing sheet 1
Sheet 1 of 36

Term

Term ended

Projected expiry passed 1 April 2016, 10.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

29 claims: 5 independent, 24 dependent

  1. 1
    A method of generating code for a programmable processor 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 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.
  2. 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 operations in said processor, - 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.
  3. 18
    A method of simulating the execution of code on a programmable processor, 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 operations in said processor;- said edges representing valid connections between operations and said storage elements, and - said connections modelling the data flow in said processor, - linking said graph to tools and libraries required for said simulation, and - executing said simulation whereby the required information about said processor is extracted from said graph.
  4. 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.
  5. 29
    A method of synthesizing a programmable processor 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 operations 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.