CASCADE is a tool kernel that supports the synthesis of asynchronous controllers. It uses a generalized STG (an interpreted Petri net) as a unified design entry and allows the designer to choose between several appropriate design methods. It then transforms the initial specification into the design entry required by the chosen style, and interfaces with existing synthesis tools (petrify for SI circuits, 3D for XBM synthesis). By decomposition, certain problems involving output concurrency and MOC behaviour are made XBM-feasible.