This paper describes a method of synthesising asynchronous circuits based on the Handshake Circuit paradigm but employing a data-driven, rather than the control-driven, style. This approach attempts to combine the performance advantages of data-driven asynchronous design styles with the handshake circuit style of construction. The integration into the existing Balsa design flow of a compiler for descriptions written in a new data- driven language is described. The method is demonstrated using a significant design example - a 32 bit microprocessor. This example shows that the data-driven circuit style provides better performance than conventional control-driven Balsa circuits.