The following sections list components that are supported for the RISC-V
architecture. There also exist other components in Simics, such as various
PCI devices, that may work for RISC-V but that have not been tested.
The default machines are constructed from components in the
-system.include
files in
[simics]/targets/risc-v-simple/
. See the
Configuration and Checkpointing chapter in
the Simics User's Guide for
information on how to define your own machine, or make modifications
to an existing machine.
- Description
- RISC-V Simple Board Component
- Commands
create-risc-v-simple-comp ["name"] ["core_class"] ["disk0_image"] [disk0_size] ["disk1_image"] [disk1_size] ["disk2_image"] [disk2_size] [entropy_seed] [freq_mhz] ["mac_address"] [memory_megs] [num_cores] [timebase_freq_mhz]
new-risc-v-simple-comp ["name"] ["core_class"] ["disk0_image"] [disk0_size] ["disk1_image"] [disk1_size] ["disk2_image"] [disk2_size] [entropy_seed] [freq_mhz] ["mac_address"] [memory_megs] [num_cores] [timebase_freq_mhz]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- core_class
- Classname of primary core, default is riscv-rv64
- cpu_list
- disk0_image
- disk0 image file.
- disk0_size
- disk0 size, used if no disk image is provided.
If set to zero no disk will be created.
- disk1_image
- disk1 image file.
- disk1_size
- disk1 size, used if no disk image is provided.
If set to zero no disk will be created.
- disk2_image
- disk2 image file.
- disk2_size
- disk2 size, used if no disk image is provided.
If set to zero no disk will be created.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- entropy_seed
- Seed for virtio entropy device.
- freq_mhz
- Frequency in MHz of each core, default is 100 MHz
- instantiated
- Set to TRUE if the component has been instantiated.
- mac_address
- The MAC address of the virtual Ethernet card.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- memory_megs
- Size in MB of RAM memory, default is 2048
- num_cores
- Number cores, default is 4
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- timebase_freq_mhz
- Frequency in MHz of the timebase, i.e. 'mtime', default is 1MHz
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Connectors
Name | Type | Direction |
eth | ethernet-link | down |
serial0 | serial | down |
- Description
- Ethernet cable: this component represents a two-points Ethernet cable,
allowing two devices to connect to each other.
- Commands
create-ethernet-cable ["name"] ["global_id"] [goal_latency] [immediate_delivery]
new-ethernet-cable ["name"] ["global_id"] [goal_latency] [immediate_delivery]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- connector_count
- Total number of occupied connectors
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- global_id
- Global identifier for use in distributed simulation or NIL if the
link is not distributed.
- goal_latency
- Goal latency in seconds for this link.
See also the set-min-latency command.
- immediate_delivery
- Immediate delivery instead of using the specified latency.
Implies nondeterminism for multi cell messaging.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
device0 | ethernet-link | any |
- Description
- Ethernet hub: this component represents a simple broadcasting Ethernet
link allowing any number of devices to connect.
- Commands
create-ethernet-hub ["name"] ["global_id"] [goal_latency] [immediate_delivery]
new-ethernet-hub ["name"] ["global_id"] [goal_latency] [immediate_delivery]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- global_id
- Global identifier for use in distributed simulation or NIL if the
link is not distributed.
- goal_latency
- Goal latency in seconds for this link.
See also the set-min-latency command.
- immediate_delivery
- Immediate delivery instead of using the specified latency.
Implies nondeterminism for multi cell messaging.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
device0 | ethernet-link | any |
- Description
- Ethernet switch: this component represents a switched Ethernet network,
allowing any number of devices to connect and optimizing the packet routing
according to what is learned about the MAC addresses talking on the link.
- Commands
create-ethernet-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]
new-ethernet-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- global_id
- Global identifier for use in distributed simulation or NIL if the
link is not distributed.
- goal_latency
- Goal latency in seconds for this link.
See also the set-min-latency command.
- immediate_delivery
- Immediate delivery instead of using the specified latency.
Implies nondeterminism for multi cell messaging.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
device0 | ethernet-link | any |
- Description
- Ethernet VLAN switch: this component represents a switched Ethernet
network with VLAN support. Any number of devices is allowed to connect to
various ports of the switch. Each port can be configured with its own VLAN
information, in order to create sub-networks in the switch.
- Commands
create-ethernet-vlan-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]
new-ethernet-vlan-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- global_id
- Global identifier for use in distributed simulation or NIL if the
link is not distributed.
- goal_latency
- Goal latency in seconds for this link.
See also the set-min-latency command.
- immediate_delivery
- Immediate delivery instead of using the specified latency.
Implies nondeterminism for multi cell messaging.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
trunk_dev0 | ethernet-link | any |
- Description
- The "std-service-node" component represents a network service node that can be connected to Ethernet links to provide services such as DNS, DHCP/BOOTP, RARP and TFTP. A service node component does not have any connectors by default. Instead, connectors have to be added using the <std-service-node>.add-connector command.
- Commands
create-std-service-node ["name"]
new-std-service-node ["name"]
- Attributes
- component_queue
- The overriding queue object for this component.
- connections
- This attribute should not be used anymore. Each component has connector objects that contain all connector functionality. List of connections for the component. The format is a list of lists, each containing the name of the connector, the connected component, and the name of the connector on the other component.
- dynamic_slots
- Dictionary with dynamic slots.
- instantiated
- Set to TRUE if the component has been instantiated.
- object_list
- Dictionary with objects that the component consists of.
- object_prefix
- Object prefix string used by the component. The prefix is typically set by the set-component-prefix command before the component is created.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- top_component
- The top level component. Attribute is not valid until the component has been instantiated.
- Description
- Serial link connecting two serial devices
- Commands
create-ser-link ["name"] [buffer_size] ["global_id"] [goal_latency] [immediate_delivery]
new-ser-link ["name"] [buffer_size] ["global_id"] [goal_latency] [immediate_delivery]
- Attributes
- buffer_size
- The number of characters the link may buffer. Must be at least 1.
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- global_id
- Global identifier for use in distributed simulation or NIL if the
link is not distributed.
- goal_latency
- Goal latency in seconds for this link.
See also the set-min-latency command.
- immediate_delivery
- Immediate delivery instead of using the specified latency.
Implies nondeterminism for multi cell messaging.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
device[0-1] | serial | any |
- Description
- Deprecated class - do not use
- Commands
create-server-console-comp ["name"] [telnet_port]
new-server-console-comp ["name"] [telnet_port]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- telnet_port
- TCP/IP port to connect the telnet service of the console to.
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
serial | serial | up |
- Description
- The "text_console_comp" component represents a serial text console.
- Commands
create-text-console-comp ["name"] ["bg_color"] ["fg_color"] [height] ["title"] [width] ["win32_font"] [window] ["x11_font"]
new-text-console-comp ["name"] ["bg_color"] ["fg_color"] [height] ["title"] [width] ["win32_font"] [window] ["x11_font"]
- Attributes
- bg_color
- The background color.
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- fg_color
- The foreground color.
- has_user_defined_title
- return True if current title is set by users.
- height
- The height of the console window.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- title
- The Window title.
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- width
- The width of the console window.
- win32_font
- Font to use in the console on Windows host.
- window
- Try to open window if TRUE (default). FALSE disables the window.
- x11_font
- Font to use in the console when using X11 (Linux/Solaris host).
- Connectors
Name | Type | Direction |
serial | serial | up |
- Description
- Deprecated class - do not use
- Commands
create-server-console-comp ["name"] [telnet_port]
new-server-console-comp ["name"] [telnet_port]
- Attributes
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- telnet_port
- TCP/IP port to connect the telnet service of the console to.
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- Connectors
Name | Type | Direction |
serial | serial | up |
- Description
- The "text_console_comp" component represents a serial text console.
- Commands
create-text-console-comp ["name"] ["bg_color"] ["fg_color"] [height] ["title"] [width] ["win32_font"] [window] ["x11_font"]
new-text-console-comp ["name"] ["bg_color"] ["fg_color"] [height] ["title"] [width] ["win32_font"] [window] ["x11_font"]
- Attributes
- bg_color
- The background color.
- component_queue
- The queue object for this component. It is only used as
a placeholder for the real queue object before the component is
instantiated. It can point to an instantiated cycle object or
a pre_conf object.
- components
- This attribute is only valid for top-level components.
List of components below the top-level component. This
attribute is not valid until the object has been instantiated.
- cpu_list
- A list of all processors that belong to the component. This
attribute is not valid until the object has been instantiated. This
attribute is only used in top-level components and other components
that are used as software domains.
- domain
- This attribute is only valid for top-level components.
Domain to put the component in.
- dynamic_slots
- Do not use. Kept for checkpoint compatibility.
- fg_color
- The foreground color.
- has_user_defined_title
- return True if current title is set by users.
- height
- The height of the console window.
- instantiated
- Set to TRUE if the component has been instantiated.
- machine_icon
- This attribute is only valid for top-level components.
An instance of a top-level component may override the default
system_icon with its own icon. This attribute is
the name of an 80x80 pixel large icon in PNG format that should
reside in the [host]/lib/images/ directory of the Simics installation
or the project.
- object_list
- Dictionary with the instantiated objects that the
component consists of.
- object_prefix
- Object prefix string used by the component.
- pending_cell_object_factories
- Internal attribute for pending cell objects factories.
- static_slots
- Do not use. Kept for checkpoint compatibility.
- system_info
- This attribute is only valid for top-level components.
A short single-line description of the current configuration
of the system that the component is a top-level of. The line may
include the Linux name of the simulated machine, the installed
operating system, or similar information. For example Tango -
Fedora Core 5 Linux
- title
- The Window title.
- top_component
- The top level component. Attribute is not valid until
the component has been instantiated.
- top_level
- Set to TRUE for top-level components, i.e. the root of a hierarchy.
- width
- The width of the console window.
- win32_font
- Font to use in the console on Windows host.
- window
- Try to open window if TRUE (default). FALSE disables the window.
- x11_font
- Font to use in the console when using X11 (Linux/Solaris host).
- Connectors
Name | Type | Direction |
serial | serial | up |