This paper describes the design and implementation of a system for automatic synthesis of general purpose microprocessor. There are four subtasks to synthesize a digital system: scheduling, register allocation, functional unit allocation and bus allocation. In this paper, force directed algorithm is used for scheduling an new algorithms are proposed for allocation subtasks. By using above algorithms a microprocessor data path synthesis system is implemented. As an example, mc6502 is synthesized and compared with others.