Generating the TCM Initialization Client

To initialize the TCM in RT PolarFire using the system controller, a local parameter l_cfg_hard_tcm0_en in the miv_rv32_opsrv_cfg_pkg.v file must be changed to 1’b1 before Synthesis. For more information, see the the MIV_RV32 Handbook.

In Libero SoC, the Configure Design Initialization Data and Memories option generates the TCM initialization client and adds it to sNVM, μPROM, or an external SPI Flash, based on the type of non-volatile memory selected. In this application note, the TCM initialization client is stored in the SPI Flash. This process requires the user application executable file (.hex file). The hex file (*.hex) is generated using SoftConsole application project. A sample user application is provided along with the design files. The user application file (.hex) is selected for creating the TCM initialization client using the following steps:

  1. 1.Launch Libero SoC.
  2. 2.Select Configure Design Initialization Data and Memories from Libero Design Flow.
  3. 3.On the Fabric RAMs tab, select the TCM instance as shown in the following figure.
    Figure 1. Selecting the TCM Instance
  4. 4.In the Edit Fabric RAM Initialization Client dialog box, set Storage type to SPI-Flash. Then, select Content from file and click the Import (...) button as shown in the following figure.
    Figure 2. Importing the TCM Initialization Client