USING THE L ATTICE M ICO SYSTEM S OFTWARE : Using LatticeMico System as a Stand-Alone ToolLatticeMico32 Hardware Developer User Guide 49vlib workvdel –lib work –allvlib workvlog pmi_addsub.vvlog pmi_ram_dq.vvlog pmi_ram_dq.vvlog pmi_ram_dp.vvlog pmi_ram_dp_true.vvlog pmi_distributed_dpram.vvlog pmi_fifo.vvlog pmi_fifo_dc.vvlog +define+SIMULATION \+incdir+../soc+../components/gpio/rtl/verilog+../components/lm32_top/rtl/verilog+../components/timer/rtl/verilog+../components/wb_ebr_ctrl/rtl/verilog+../components/asram_top/rtl/verilog+../components/uart_core/rtl/verilog+../components/wb_dma_ctrl/rtl/verilog \../soc/platform.vvcom ../soc/platform_vhdl.vhdvlog +incdir+../components/lm32_top/rtl/verilog testbench.v# the VSIM command shown here uses pre-compiled FPGA libraries.# It may be necessary to compile the behavioral code for the# FPGA. In this example, the behavioral code was compiled to# the ecp2_vlg working directory.# For the ECP2, the behavioral code is located at :# /cae_library/simulation/verilog/ecp2vsim work.testbench -t 1ps –novopt –L ecp2_vlgUsing LatticeMico System as a Stand-Alone ToolThe software developer can use C/C++ SPE to develop software applicationcode without having to install Diamond, as long as the directory structure andappropriate files have been provided by the hardware developer. The files thatthe hardware designer provides to the software developers are the MicoSystem Builder project file, the LM32 processor driver files and GNU files, thecomponent driver files, and the FPGA's configuration bitstream.The hardware developer needs to have both Lattice Diamond and LatticeMicoSystem installed in order to generate the files and provide them to thesoftware developer.The following scenario shows the tasks involved:Hardware Developer The hardware developer performs the followingtasks:1. Uses Diamond to create an FPGA development project.NoteWhen doing mixed-language simulation, use the -t 1ps command-line option for the“vsim” command.