I have two PCBs one based on C8051F502-IM and the other based on C8051F508-IM.
I write the software code with KEIL's compiler and IDE.
Loading HEX file to the PCBs is done via USB Debug Adapter from Silicon Labs along with the Simplicity Studio 4.
The HEX files are the same for both PCBs except for the microcontroller type (I set the type in the uVision setting).
To program the PCBs I use the Flash Programmer in the Simplicity Studio 4.
The problem is that the Flash Programmer detects all the time the 502 even when I'm connected to the 508 PCB.
The Flash Programmer does not allow you to select another component such as the 508.
However, I can program both PCBs but the 508 is much more slower than the 502.
From within Simplicity Studio you should be able to configure the USB Debug Adapter to use the C8051F508-IM. If you select the USB Debug Adapter and then click the Device Configuration icon (wrench + screwdriver) or right click on USB Debug Adapter and choose "Device Configuration" then in the Target part Search window choose C8051F508-B-IM. But unless you have two debug adapters you would have to configure for the correct part each time you program the device.
Alternatively you should be able to use the flash programmer from the command line. The default location is C:\SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\c8051 and typing flash8051 -? will display the available commands.