Intel® Simics® Simulator for Intel® FPGAs: Intel Agilex® 5 E-Series Virtual Platform User Guide
4.4. Getting Device Information from the Intel® Simics® Model
List the devices in an Intel® Simics® model with the devs Intel® Simics® CLI command. Only devices mapped in a memory space are listed with the command. The devs command also displays the memory space and memory map for each device. The following example shows the truncated output from running the devs Intel® Simics® CLI command:
# Intel Simics simulator CLI 
running> devs
--------------------------------------------------------------------------------
Count      Device              Space                 Range            Fn/Port
--------------------------------------------------------------------------------
0     system.board.fpga   system.board.fpga    0x0000000000000000 -  memory_bank
      .soc_inst.example   .soc_inst.example    0x00000000000fffff
      design.design       _design.design_mem
      _memory
0     system.board.fpga   system.board.fpga    0x000000001c000000 -   0
      .soc_inst.hps_      .soc_inst.hps_       0x000000001c000fff
      subsys.agilex_hps   subsys.agilex_hps                                  
      .ccu.bank.caiu0     .phys_mem
0     system.board.fpga   system.board.fpga    0x000000001c005000 -   0
      .soc_inst.periph_   .soc_inst.hps_       0x000000001c005fff
      subsys.example_     subsys.agilex_
      design_lw.design    hps.phys_mem
      _memory
:
:
:
0     system.board.fpga.  system.board.fpga    0x0000000010a30000 -   0
      soc_inst.hps_       .soc_inst.hps_       0x0000000010a304ff
      subsys.sdm.sdm      subsys.agilex_hps
      _mailbox.bank.regs  .phys_mem
0     system.board.fpga   system.board.fpga    0x0000000000000000 -   memory_bank
      .soc_inst.periph_   .soc_inst.periph_    0x00000000000fffff
      subsys.example_     subsys.example_
      design_lw.design    design_lw.design
      _memory            _mem
--------------------------------------------------------------------------------- 
  The table shows the path of the devices. The device paths depend on the virtual model. The paths shown correspond to those you see using the Intel Agilex® 5 E-Series Universal Virtual Platform.
#Intel Simics simulator CLI 
simics> devs system.board.fpga.soc_inst.hps_subsys.agilex_hps.pwrmgr.bank.regs
-------------------------------------------------------------------
Count       Device                Space             Range	  Fn
-------------------------------------------------------------------
0      system.board.fpga    system.board.fpga    0x10d14000 -   0
       .soc_inst.hps_       .soc_inst.hps_       0x10d1405b
       subsys.agilex_hps.   subsys.agilex_hps
       pwrmgr.bank.regs     .phys_mem
------------------------------------------------------------------- 
  Examine the registers of a specific device and the current value of them with the print-device-regs Intel® Simics® CLI command. Provide the path of the device register banks (as found with the devs command) as a parameter. For example, the print-device-regs system.board.fpga.soc_inst.hps_subsys.agilex_hps.pwrmgr.bank.regs command returns the following information:
#Intel Simics simulator CLI simics> print-device-regs system.board.fpga.soc_inst.hps_subsys.agilex_hps.pwrmgr.bank.regs --------------------------------------+----------------------------------------- Offset Name Size Value| Offset Name Size Value --------------------------------------+----------------------------------------- 0x0 DSU_FWENCTL 4 0x0 | 0x30 FSM_CPUx_PWRCTLR[3] 4 0x0 0x4 DSU_PGENCTL 4 0x0 | 0x34 FSM_CPUx_PWRSTAT[3] 4 0x0 0x8 DSU_PGSTAT 4 0x0 | 0x38 APS_FWENCTL 4 0x0 0xc FSM_DSU_PWRCTLR 4 0x0 | 0x3c APS_PGENCTL 4 0x0 0x10 FSM_DSU_PWRSTAT 4 0x0 | 0x40 APS_PGSTAT 4 0x0 0x14 DSU_PWRSTAT 4 0x0 | 0x44 PSS_FWENCTL 4 0x0 0x18 FSM_CPUx_PWRCTLR[0] 4 0x0 | 0x48 PSS_PGENCTL 4 0x0 0x1c FSM_CPUx_PWRSTAT[0] 4 0x0 | 0x4c PSS_PGSTAT 4 0x0 0x20 FSM_CPUx_PWRCTLR[1] 4 0x0 | 0x50 MPU_PCHCTLR 4 0x1 0x24 FSM_CPUx_PWRSTAT[1] 4 0x0 | 0x54 MPU_PCHSTAT 4 0x0 0x28 FSM_CPUx_PWRCTLR[2] 4 0x0 | 0x58 MPU_BOOTCONFIG 4 0x303 0x2c FSM_CPUx_PWRSTAT[2] 4 0x0 | --------------------------------------------------------------------------------
You also can list the object below a specific hierarchy in a virtual platform using the list-objects Intel® Simics® CLI command. In addition to listing the objects, this command indicates the class to which each object belongs.
This information is beneficial when analyzing the components in a virtual platform. The following output is an example of the list-objects command output showing the objects in the board component:
# Intel Simics simulator CLI 
simics> list-objects namespace = system.board
-----------------------------------------------------
    Component Class                 Object
-----------------------------------------------------
<AT24Cxx_comp>              system.board.eeprom_16b_0
    :                                 :                   
<AT24Cxx_comp>              system.board.eeprom_8b_4
<sm_universal_fpga_comp>    system.board.fpga
<i2c_link_v2>               system.board.i2c_bus_0
<i2c_link_v2>               system.board.i2c_bus_1
<i2c_link_v2>               system.board.i2c_bus_2
<i2c_link_v2>               system.board.i2c_bus_3
<i2c_link_v2>               system.board.i2c_bus_4
    :                                 :
<sm_hps_nand_flash_comp>    system.board.nand
<spi_flash_comp>            system.board.qspi
<sd_comp>                   system.board.sd_card
<spi_flash_comp>            system.board.spi_flash
-----------------------------------------------------
-----------------------------------------
   Class                  Object
-----------------------------------------
<connector>      system.board.eth0
<connector>      system.board.eth1
<connector>      system.board.eth2
<marvell_phy>    system.board.phy0
<connector>      system.board.phy0_slot
<marvell_phy>    system.board.phy1
<connector>      system.board.phy1_slot
<marvell_phy>    system.board.phy2
<connector>      system.board.phy2_slot
-----------------------------------------