Intel® Simics® Simulator for Intel® FPGAs: User Guide

ID 784383
Date 4/01/2024
Public
Document Table of Contents

5.3.6. Intel® Simics® Command-Line Interface Help

Intel® Simics® simulator includes an extensive help system available from the Intel® Simics® simulator command-line interface (CLI) using the help command. When you issue the help command on the Intel® Simics® CLI, you get the following output:
# Intel Simics simulator CLI 

simics> help
The help command shows information on any topic, like a command, a class, 
an object, an interface, a hap, a module, an attribute or a function or 
type from the Intel Simics API.
 
To get more information about the help command, type help help.
 
Type help category to list the commands for a specific category. Here is a list
of command categories:
 
  ARM specific commands              eth-cable-link-endpoint commands
  Altera STC Tools                   eth-hub-link commands
  Breakpoints                        eth-hub-link-endpoint commands
  CD-ROM                             eth-link-snoop-endpoint commands
  Changing Simulated State           eth-switch-link commands
  Command Line Interface             eth-switch-link-endpoint commands
  Components                         eth-switch-link-snoop-endpoint commands
  Configuration                      ethernet_cable commands
:
:
This output shows some instructions on how to use the Intel® Simics® simulator help system. The first hint provided is actually about how to use the help command by typing the help help command, which provides the following output:
# Intel Simics simulator CLI  

simics>  help help
Command help
 
   Alias
      h, man
 
   Synopsis
      help ["topic"]
 
   Description
      Prints help information on topic. topic can be a command, a class, an
      object, an interface, a module, a hap, an attribute or a function or
      type from the 
               Intel® 
               Simics®
             API. Here are some usage examples of the help
      command:
 
 
      simics> help ptime
      [... ptime command documentation ...]
:

You can use h or man as alternatives to the help command.

The following example show how to get help for a specific topic with the help "<topic>" command:
# Intel Simics simulator CLI 

simics> help "arm-cortex-a55 commands"
Commands available in the "arm-cortex-a55 commands" category:
 
<arm-cortex-a55>.info     print information about the object
<arm-cortex-a55>.status   print status of the object
 
simics> system.board.fpga.soc_inst.hps_subsys.agilex_hps.core[0].info 
Information about system.board.fpga.soc_inst.hps_subsys.agilex_hps.core[0] [class arm-cortex-a55]
===========================================================
 
         VMP status : Not Loaded
    JIT compilation : Enabled

    Clock frequency : 400 MHz
                CPI : 1.00
    Physical memory : system.board.fpga.soc_inst.hps_subsys.agilex_hps.cpu_mem[0]
               Cell : system.cell
To search the CLI help, use the help-search "<search_string>" command. This command searches the Intel® Simics® simulator help for the provided search string. For example:
# Intel Simics simulator CLI 

simics> help-search "a55"
The text 'a55' appears in the documentation
for the following items:
 
Command        <arm-cortex-a55>.aprof-views
Command        <arm-cortex-a55>.info
Command        <arm-cortex-a55>.pregs-simd
Command        <arm-cortex-a55>.print-page-table
Command        <arm-cortex-a55>.print-tlb
Command        <arm-cortex-a55>.status
Class          arm-cortex-a55
Class          sm_hps_clkmgr.core_clk

To view a list of CLI commands, use the list-commands [options] command. You can refine the list of commands using the following options:

Table 9.   list-commands [options] Command Options
Argument Description
-plain Return command names without their descriptions.
substr="string" Finds commands that contain the specified string.
object="object" Find commands that apply to the specified object.
class="class" Find commands that apply to the specified class.

If you do not specify any options, the list-commands command returns a table of the CLI commands available and a brief description of them.

# Intel Simics simulator CLI 

simics> list-commands substr = "break" class="arm-cortex-a55" -plain
Command
                     
<conf_object>.break-hap                         
<conf_object>.unbreak-hap                       
<cycle>.bp-break-cycle                          
<cycle>.bp-break-time                           
<cycle>.cycle-break                             
<cycle>.cycle-break-absolute                    
:
:
To view help on Intel® Simics® APIs, use the api-help "<search_string>" command.
# Intel Simics simulator CLI  

simics> api-help "step"
The following API keywords contain the substring "step":
 
SIM_break_step                step_event_cb_t
SIM_event_cancel_step         step_event_instrumentation_interface_t
SIM_event_find_next_step      step_handle_t
SIM_event_post_step           step_info_interface_t
SIM_step_count                step_interface_t
VT_revexec_steps              struct debug_step_interface
VT_skipto_step                struct step_cycle_ratio_interface
VT_step_stamp                 struct step_event_instrumentation_interface
debug_step_interface_t        struct step_info_interface
pc_step_t                     struct step_instrumentation
step_cycle_ratio_interface_t  struct step_interface
step_cycle_ratio_t  

          
simics> api-help "SIM_break_step"
Help on API keyword "SIM_break_step":
 
NAME
 
SIM_break_step  set a step breakpoint
 
SYNOPSIS
 
void
SIM_break_step(conf_object_t *NOTNULL obj, int64 steps);
 
DESCRIPTION
 
Sets a step breakpoint on a processor. The steps argument is the number of
instructions until the break occurs.