Title | dlx (DLX functional model for ArchC) |
Author | Nikolaos Kavvadias 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 |
Contact | nikos@nkavvadias.com |
Website | http://www.nkavvadias.com |
Release Date | 02 December 2014 |
Version | 0.1.3 |
Rev. history | |
v0.1.3 | 2014-12-02 Added project logo in README. |
v0.1.2 | 2014-10-23 Documentation corrections. |
v0.1.1 | 2014-10-23
|
v0.1.0 | 2014-10-22
|
v0.0.4 | 2006-11-15
|
v0.0.3 | 2006-07-01
|
v0.0.2 | 2006-01-01
|
v0.0.1 | 2005-12-26
|
This is the DLX ArchC (http://www.archc.org) functional model. This model has the system call emulation functions implemented, so it is a good idea to turn on the ABI option.
The dlx distribution includes the following files:
/dlx | Top-level directory |
AUTHORS | List of dlx authors. |
LICENSE | The modified BSD license governs dlx. |
README.html | HTML version of README. |
README.pdf | PDF version of README. |
README.rst | This file. |
VERSION | Current version of the project sources. |
bp_conf.ac | Branch predictor description (only for archc-1.5.1.bp2). |
defines_gdb | Macro definitions for GDB integration. |
dlx.ac | Register, memory and cache model for dlx. |
dlx.png | PNG image for the dlx project logo. |
dlx_gdb_funcs.cpp | GDB support for the DLX simulator. |
dlx_isa.ac | Instruction encodings and assembly formats. |
dlx_opcode_map.vsd | Incomplete MS Visio drawing of the DLX opcode map. |
dlx_opcode_map.xls | Excel spreadsheet containing the DLX opcode map. |
dlx_syscall.cpp | OS call emulation support for DLX. |
dlx_isa.cpp | Instruction behaviors. |
modifiers | Instruction encoding and decoding modifiers. |
rst2docs.sh | Bash script for generating the HTML and PDF versions of the documentation (README). |
To generate the interpreted simulator, the acsim executable is ran:
$ acsim dlx.ac [-g -abi -gdb] # (create the simulator) $ make -f Makefile.archc # (compile) $ ./dlx.x --load=<file-path> [args] # (run an application)
To generate the compiled application simulator, the accsim executable is ran:
$ accsim dlx.ac <file-path> # (create specialized simulator) $ make -f Makefile.archc # (compile) $ ./dlx.x [args] # (run the application)
The [args] are optional arguments for the application.
There are two formats recognized for application <file-path>:
In order to generate the binary utilities port (binutils port), the acbingen.sh driver script must be used. This should be called as follows:
$ acbingen.sh -adlx -i`pwd`/../dlx-tools/ dlx.ac
for generating the binutils port executables. This includes the following tools:
- bswap (BSWAPF) --> A byte swap instruction
- ldstbu (LSBUOP) --> Atomic load-store byte unsigned
- ldsthu (LSHUOP) --> Atomic load-store halfword unsigned
- ldstw (LSWOP) --> Atomic load-store word