A method and an apparatus take software source code to synthesize a
hardware platform for running the software. The method determines which
processor is suitable for running the code and meeting the performance
parameters determined by the user. The method also determines which
hardware devices are accessed by software. If the hardware target is a
semiconductor chip, the invention selects the appropriate IP and creates
an HDL description of the chip. If the hardware target is a printed
circuit board, the invention creates a schematic or netlist that includes
the appropriate microprocessor, the various semiconductor chips, and the
necessary interconnections.