Just to extend Tunde's comment, there is a way to programmatically detect what module is inserted on a given slot. All module's provide a "Module ID" property that is accessible by placing an FPGA Property Node and linking it to a module (a given slot). With that logic in your FPGA VI, you can detect what module you have in each slot.
Based on that information, as Tunde's pointed out, you can make your host VI download a different bitfile (or FPGA VI) depending on what the state of the hardware is.
One of the things to note about the Module ID property node, is that it could change the timing of your acquisition if you are not careful on when to run it.
Hope this helps.
JMota
National Instruments R&D