This manual is a guide to the SID Simulator. It is a reference guide for users who want to use and configure the simulation components provided by Red Hat.
The manual is organized according to how an user would first approach using the SID tool by providing information about the overall SID architecture; how to run, use and customize the SID tool for your specific requirements, and how to gather information from the running system.
This release contains the tools and capabilities to customize the configuration of the virtual simulation model by providing a library of existing components; a documented interface to enable the designer to add other components. All SID components have been designed to enable pluggability into the SID framework. Each component exports a set of pines and bus connectors and therefore has no knowledge of the other components that are connected to it.
The SID configuration file is an editable file that configures a SID simulation run. The configuration file defines the simulation contents, topology, and initial state. We supply several configuration files that simulate selected target boards.
For information on how to create or modify a SID configuration file, refer to the chapter called Working with the SID Configuration File>.
SID comes with a number of components, each of which can be modified, configured, or connected to any other independently. They are self-contained, and individually documented. Existing components include:
CPUs, such as hw-cpu-arm7 or hw-cpu-m32r/d
disks, such as hw-disk-ide
rom-monitors or low-level operating systems, such as sw-gloss-arm_angell
glue, such as hw-glue-bus-mux or hw-glue-probe-bus
interrupts, such as hw-interrupt-arm_ref
LCDs, such as hw-visual-lcd or hw-lcd-char-display
binary loaders, such as sw-load-elf
mappers, such as hw-mapper-basic
memory, such as hw-memory-ram_rom-basic
MMUs, such as hw-remap_pause-arm_ref
UARTs, such as hw-uart-ns16550
parallel ports, such as hw-parport-ps_2
RTCs, such as hw-rtc-ds1x42
timers, such as hw-timer-arm_ref
audio codecs, such as hw-audio-sid
console IO facilities, such as sid-io-stdio or sid-io-socket
For information on how to understand the SID component documentation, refer to the chapter called How to Understand Component Reference Information>.
Adding new components is straightforward and does not require any modifications to SID. For more information on the SID Component Library, refer to the SID Component Developers Kit Reference Guide.
SID is packaged as a standalone command-line program that reads and executes a configuration file (see the chapter called Working with the SID Configuration File>). A typical session with SID begins with compiling or assembling code for the simulated system to run, using standard a cross-development toolchain, and proceeds through loading the target binary into the simulation environment, stepping the simulator through a supervised execution, shutting the simulation down and analyzing the results. While running a simulation, SID can interface with POSIX standard I/O, a TK-based visual simulation monitor, the gdb debugger, and the gprof profiler.
For information on invoking, customizing, and interfacing with SID, refer to the chapter called Using SID>.