User Guide
Table Of Contents
11
Firmware
When you generate the SmartDesign, the following files are generated in the <project dir>/firmware/
drivers_config/sys_config directory. These files are required for the CMSIS firmware core to compile
properly and contain information regarding your current design, including peripheral configuration data
and clock configuration information for the MSS. Do not edit these files manually, as they are recreated
every time your root design is regenerated.
• sys_config.c
• sys_config.h
• sys_config_mddr_define.h - MDDR configuration data.
• sys_config_fddr_define.h - FDDR configuration data.
• sys_config_mss_clocks.h - MSS clocks configuration
Simulation
When you generate the SmartDesign associated with your MSS, the following simulation files are
generated in the <project dir>/simulation directory:
• test.bfm - Top-level BFM file that is first executed during any simulation that exercises the
SmartFusion2 MSS Cortex-M3 processor. It executes peripheral_init.bfm and user.bfm, in that
order.
• peripheral_init.bfm - Contains the BFM procedure that emulates the CMSIS::SystemInit()
function run on the Cortex-M3 before you enter the main() procedure. It copies the configuration
data for any peripheral used in the design to the correct peripheral configuration registers and
then waits for all the peripherals to be ready before asserting that the user can use these
peripherals.
• FDDR_init.bfm - Contains BFM write commands that simulate writes of the Fabric DDR
configuration register data you entered (using the Edit Registers dialog box) into the DDR
Controller registers.
• user.bfm - Intended for user commands. You can simulate the datapath by adding your own BFM
commands in this file. Commands in this file will be executed after peripheral_init.bfm has
completed.
Using the files above, the configuration path is simulated automatically. You only need to edit the
user.bfm file to simulate the datapath. Do not edit the test.bfm, peripheral_init.bfm, or MDDR_init.bfm
files as these files are recreated every time your root design is regenerated.
Fabric DDR Configuration Path
The Peripheral Initialization solution requires that, in addition to specifying Fabric DDR configuration
register values, you configure the APB configuration data path in the MSS (FIC_2). The SystemInit()
function writes the data to the FDDR configuration registers via the FIC_2 APB interface.