Target systems combining a number of different processors, for example a general-purpose processor (GP) and at least one co-processor (COP), or alternatively two or more co-processors (COPA, COPB, COPC), allow combining flexibility and speed for execution of a set of functions. The design of such target systems requires partitioning of a specification in a part to be implemented by the general-purpose processor and a part to be implemented by a co-processor, or into several parts to be implemented by different co-processors. The present invention describes a method for partitioning a specification in a
source code. In a first step, the specification 301 is converted into a plurality of
abstract syntax trees 101. In a second step, the plurality of
abstract syntax trees 101 is partitioned into at least a first set 201 and a second set 203. The first set of
abstract syntax trees 201 is to be implemented by a first processor (GP, COPA) and the second set of abstract
syntax trees 203 is to be implemented by a second processor (COP, COPB). The first 201 and second set 203 of abstracts
syntax trees can both be translated to a specification in the original
source code language 309 and 311, respectively, allowing the user to add manual changes 305 and 307 to the specifications 309 and 311. Furthermore, specific
compiler tools as well as specific design tools can be used to convert the specifications 309 and 311 into corresponding
executable machine code 315 and a specification of the co-processor 319, for example.