L ATTICE M ICO S YSTEM O VERVIEW : LatticeMico System Design FlowLatticeMico32 Hardware Developer User Guide 3Device SupportThe Lattice FPGA devices that are currently supported in this design flow arethe following: ECP5 LatticeECP LatticeEC LatticeECP2 LatticeECP2M LatticeECP3 LatticeXP LatticeXP2 LatticeSC LatticeSCMDesign Flow StepsThe major steps involved in designing a LatticeMico32 soft-coremicroprocessor are the following:1. Create a project in the Lattice Diamond software that targets the desireddevice family.2. Use the Mico System Builder (MSB) in the LatticeMico System software tocreate and develop a microprocessor platform. You access this in theMSB perspective. Creating a platform involves generating an .msb file,selecting component peripherals, and connecting them to theLatticeMico32 platform.3. In the MSB perspective, designate and develop drivers as necessary foravailable peripherals and add them to the platform you created.4. In the MSB perspective, generate a platform build, which automaticallycreates a build structure with associated makefiles and an appropriatelinker script. This process involves the device drivers and any othersoftware components other than the user application.5. In C/C++ SPE, use the C/C++ perspective to write the C/C++ userapplication software and build your application.6. Using the Debugger in the LatticeMico System software, test your code onthe target hardware, configure the target hardware, find issues with yourcode, and correct them. You access the Debugger in either theC/C++ perspective or the Debug perspective.7. Using Diamond Programmer, download the executable code to on-boardflash memory. You can deploy the application providing a boot loader thatstraps onto the application for loading the application from slow, non-volatile storage (flash memory device) to fast volatile storage (on-chip oroff-chip RAM), without having to rebuild the application.