Advanced Tools and Languages for Microcomputer Architecture Simulation (ATLAS)

Overall Organization of ATLAS

The program package ATLAS (Advanced Tools and Languages for Microprocessor Arhitecture Simulation) consists of several tools. The most important are COMPAS (Configurable Microprocessor Architecture Simulator) and CONAS (Configurable Assembler). The system which we want to simulate with COMPAS, and also the assembly language for CONAS must be described with the C-like specification languages. ATLAS is written in C and available on UNIX. There is a book about ATLAS (in Croatian). ATLAS is freely available for download for Linux and Windows+Cygwin.

[ the main window of xatlas ]

The main window of the xatlas tool

What Can Be Done with ATLAS

ATLAS is intended to be an auxiliary tool for simulation and investigation of a microprocessor architecture, especially in the first stages of development and logical model testing. Another important usage of ATLAS is in education. By using ATLAS, students can easily study a microprocessor architecture and its functionality. In simulation and education ATLAS can cover wide range of problems like assembly programming, microprogramming, I/O transfer, interrupts etc.

[xcompas simulator main window]

Snapshot of the main window of the xcompas simulator

Of course, any kind of digital system can be simulated as well. Each system consists of subsystems, called components (e.g. processors, memories, i/o units etc.). Components are described with the COMDEL language (Component Description Language). Components are connected in the system that can be simulated with the SYSDEL language (System Description Language). Already described components, systems and assembly languages are organized in libraries and can be easily used, combined or included into the new system. The specification is possible with the different level of details - depending on user needs.

Additional examples of description files for a special purpose microprocessor called Circlegen are available.

Model debugging is also supported, This is particulary important because model components works in parallel and that would make debuging very difficult if there is no built in support.

[example of vaweform at the bus]

The xwave tool displaying waveformes

The simulation can be performed continuously or step-by-step with the system state tracing. In trace mode it is possible to display the current state of processor registers, instruction that is currently under execution, etc. The dynamic graphical display of bus states and states of other locations in the system (e.g. pins, registers, memory locations etc.) is possible. Breakpoints are easily set in assembly programs. The performance measurement, analysis and comparison between different systems or between different versions of one system are also supported.

[snapshot of xpean output]

The xpean (PErformance ANalizer) tool (still under development)

In order to use CONAS (configurable assembler), a description of an assembly language and its translation into a machine code should be written in ADEL (Assembler DEsrciption Language). This description has a form that resembles instruction tables usually given for comercial microprocessors.

Whole ATLAS is organized to be easy-to-use and flexible. The arbitrary number of ATLAS tools can be started from UNIX shell, X Window System or any other ATLAS tool. Detailed help facility is available in every tool and quick-help is available for popups.

ATLAS features

For more information, please contact:

Mario Zagar (phone: +385 1 6129 617)
Danko Basch (phone: +385 1 6129 812)