simSoftCPU

 

 
Home
Contact Info
About

 


simSoftCPU - Multi-Processor Simulator

screenshot

* Please note this is still under development, so some features aren't fully functional yet. It's being provided as a starting point for building a simulator, not as an endpoint.

* This software is being offered as shareware including the source code in case you want to "hack it" to add your own cpu and devices.

simSoftCPU supports multi-processor systems. The architecture now defaults to simulation of the xsoc system as presented in the Circuit Cellar magazine series "Building a RISC system in an FPGA". More information on this system can be found at http://www.fpgacpu.org/

The source has been developed with MS Visual C++ 6.0, and run under Win98 / Win2000 / Win NT 4.0, However it should (in theory) work with Win95 and above.

download simSoftCPU.zip (code) (221k)

download simSoftCPU2.zip (.exe only) (162k)

1. Unzip the file to a directory of your choice.

 

3. Run simSoftCPU.exe

4. You can accept the default architecture in which case you should be able to run any software developed for the XSOC system by loading in a ".hex" file.

5. Alternately, you can select the default Sparrow architecture by selecting File/New from the main menu.

6. Choose File/Load to load the demo file "vdemo.s19". You do not need to supply an address on the load dialog

Choose View/Address from the main menu. Enter FE0000 and press enter. You should see the demo code in the code window now.

Experiment with the GUI. Run single step / continuous.

 

Command Window Commands

"dr" - dump registers

"d fe0000 100" - will dump memory beginning at fe0000 for 256 bytes

"f dc0000 8000 00" - will fill memory beginning at dc0000 for 8000 (32k) bytes with the value 00

you can edit memory by modifying the bytes dumped and pressing enter. Bytes up to the location of the enter key will be entered into memory. The command window looks for the ":<address>" at the start of a line to indicate a modify memory command.

eg. ":DC0000 CD CD CD CD CD"

"clear" - clears the command window