Homepage Miss Parker VirtuAL3101 Effect resources MFx News Links Contacts
General information AL3101 DSP Simulator AgALag Download page
The final aim of the simulator project is to have simulator with a graphical user interface but since the graphical part is almost as big as the simulation part, it has been decided to build first a command-line version of it.
This command-line version will contain all the functionality required to make code debugging and simulation. It will allow users to test their code before they have access to a development board.
The graphical version will provide the same functionality but with enhanced ease of use. Moreover, some new features will be added to this graphical version.
Features and commands
The command-line simulator (will) contain the following features:
Input can be either assembly files or object files; assembler and disassembler are included.
Stepping by any step in the code.
Easy watching of variables, memory locations, ...
Breakpoints on Program Counter, on condition on a value (register or memory).
Displaying of currently executed instruction.
File support for .wav and .pcm sound files and for binary 24 and 28 bits (encapsulated in 32 bits).
Generator tools for generating sine, square or triangle waves at the ‘inputs of the chip’.
Static amplitude curve measurement tool (via sine wave with sweeping amplitude).
Frequency analysis tool for inputs and outputs.
Transfer function measurement tool (giving amplitude and phase characteristic).
Scripting in order to execute a list of commands and ease the complete simulation of an application (load input files, specify output files, run, ...).
Audio streaming for real-time simulation (real-time depends on platform and DSP program size)
These features will be supported by various commands.
The simulator is multi-platform ; it can work on Windows operating system and on Linux operating system as well.
The simulator will not simulate all the hardware present on the chip. The following features will be missing:
Memory offset counter.
Pin accesses via read/write to memory locations made for that.
Some features are present in order to increase the ease of use:
Initial value in control registers such that simulation can begin.
To ease stepping through the code, only the cycles needed (the one containing real code) in the 1024 range are executed.
These features can of course be customized or disabled.
Basically, the features available in the command-line version are still available in the graphical version. A console window will allow to give commands to the simulator as done in the command-line version.
New features will also be added:
View of the source code or of a disassembled version of the .obj file in a text editor.
Possibility to set breakpoints from this text editor.
Multiple watch windows to show memory locations, registers, IOs, ...
Oscilloscopes to display values: inputs, outputs, registers, memory locations, ...
“Max Payne” effect to slow-down the simulation in order to allow humans to look at what’s happening.
Available tools in command-line version will display directly the results instead of generating reports.
The same limitations as the one present in the command-line version are applicable.
In both versions, the wxWidgets library is used to ease the multi-platform programming. The library is not extensively used in the command-line version but is fully exploited in the graphical version. Full information about this library can be found on the wxWidgets Website: http://www.wxwidgets.org.
The audio streaming is made using the PortAudio library. This library can be found on the PortAudio Website: http://www.portaudio.com.
Copyright © 2003 Axoris - Last modified: 2009-03-11