ADSPsim



Introduction: sim2181

sim2181 is an opcode-level simulator of the core functions of the Analog Devices ADSP-2181 digital signal processor. Not all functions are implemented yet, but it is a good start. It can currently perform all sequencer and DAG operations, as well as data memory accessing and BDMA emulation. All registers basically work. However, ALU, MAC, and shifter operations are not yet executed. (Its not useful yet.) Planned features include real breakpointing, trapping of arbitrary operations, improved interface, and eventually interfacing with the EZ-ICE board.

Latest version is 0.13. GPL'd source vailable at www.zigamorph.net/adspsim/files. Read the README too.

The manual refered to throughout the source is available in multifile PDF form available from Analog Devices.


Latest News
  • 31 mar 2001: A few months ago I put the source into a CVS tree at sourceforge. The project page is here. Maybe somebody wants to take it over? I've thought about coming back to this on many occasions, but I just never manage to get into it enough to get anything done. (And I don't have enough cash to get any hardware to do something useful, so it makes it a purely worthless effort anyway.)
  • 22 Aug 1999: I no longer have a 2181 or an EZ-ICE in my possesion. If someone wants to take over the developement of ADSPsim (the working sim2181 and my as-yet-unreleased simsharc 21065L simulator), please let me know. Other than that, developement may be sporatic, and most likely non-existant from here on.
  • 24 Jul 1999: 0.13 released. Various bugfixes and minor features. Added TOPPCSTACK so that I could say I officially finished Chapter Three. Immediate-shift-by-constant works as far as I can tell. IFC now works, as well as indirect jump/calls.
  • 23 Jul 1999: 0.12 released. Adds better decoding tree to disassembler (prettydecode). Disassembler can now correctly display ALU and MAC operations (type 9, no multifunctions yet). MAC operations should now do the multiplication/accumulate, but will not set flags. ALU AND works and sets flags. Also added the beginnings of breakpointing.
  • 22 Jul 1999: 0.11 released. Adds better decoding tree and minor bug fixes.
  • 20 Jul 1999: Inital release (version 0.10)
 

Adam Fritzler
Last modified: Sat Mar 31 21:02:38 PST 2001