We present Lava, a hardware description language in which concise circuit descriptions generate compact high performance reconfigurable cores on Xilinx' FPGAs. Lava provides a rich set of constructs for composing sub-circuit behaviour and layout. We also demonstrate how Lava also supports a flexible scheme for specifying dynamic reconfiguration which allows the automatic synthesis of dynamic reconfiguration controllers.