USING THE L ATTICE M ICO S YSTEM S OFTWARE : Performing HDL Functional Simulation of LatticeMico32 PlatformsLatticeMico32 Hardware Developer User Guide 41with the deployed software. The EBR memory size must be large enoughto hold your C/C++ application. In this example, the memory is 128KB,which is more than enough for the “Hello World” application but too largefor most FPGAs to support. UART – The UART is an optional component that redirects stout andsterr to the HDL simulator console.Refer to the UART data sheet for more details on how to use the UART forredirecting stout and stderr to the HDL simulator console.Configuring the Platform withLatticeMico System BuilderThe LM32 processor instance in the platform, shown in Figure 16, must beconfigured to permit functional simulation of software applications through anyHDL simulator. The following steps are required:Ensure that the LM32 Exception Base Address (EBA) points to the baseaddress of the memory component that contains the deployed software/firmware. This address must be aligned to a 256-byte boundary, since thehardware ignores the least-significant byte. Unpredictable behavior occurswhen the exception base address and the exception vectors are not alignedon a 256-byte boundary. In the platform shown in Figure 16 on page 40, thesoftware is deployed in EBR. Therefore, modify the “Location of ExceptionHandlers” field in the LM32 processor dialog box to point to the base addressof EBR (0x00020000), as shown in Figure 18.Directory StructureWhen MSB is used to generate a platform, a set of directories is created in atop-level platform directory. The top-level directory is automatically assignedthe same name as the MSB project name, which is Platform in this example.<path_to_toplevel_directory>/PlatformcomponentssocFigure 17: EBR Setup