iCE40 UltraPlus Mobile Development PlatformEvaluation Board User Guide© 2017-2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.FPGA-EB-02007-1.1 177.2. Programming the iCE40 Devices Configuration Memory (CRAM)To program iCE40 UltraPlus devices’ CRAM in Diamond Programmer:1. Set board jumpers on J19 horizontally for CRAM programming.2. Remove board jumper J28: 1-2 for CRAM programming.3. Use Diamond Programmer 3.8 or later.4. Connect the iCE40 UltraPlus Mobile Development Platform board via the USB cable to a PC or MAC.5. Start Diamond Programmer.6. Set Device Family to iCE40 UltraPlus” and Device to “iCE40UP5K”. Refer Figure 7.2 below.7. Be sure to perform the “Program, Verify” operation. If you select only the “Program” operation, you may get a falsepositive that the device has programmed.8. Field Programming Speed Settings should be set to “Use customer Clock Divider” and appropriate value “5” shouldbe set in the text box below.9. Open the Device Properties dialog. Apply the settings highlighted.10. Access mode: set to “CRAM programming” to allow directly programming iCE40 devices.11. Operation: set to “Fast Program” mode.12. Programming File: load bit stream file for demo.13. Click OK to exit Device Properties dialog.14. Click the Program button in Diamond Programmer to download the bit stream file.Figure 7.2. Programming iCE40 Devices on Board