Skip to content

CREATOR is a generic teaching simulator to program in assembly in which you can simulate the operation of different architectures on the same tool. This simulator is designed to be used as a tool in which students can put into practice the brews seen in the theoretical classes of the subjects of Architecture and Computer Structure.

License

creatorsim/creator

 
 

Repository files navigation

CREATOR:
didaCtic and geneRic assEmbly progrAmming simulaTOR

CREATOR project

example workflow Codacy Badge Generic badge

URL
Creator https://creatorsim.github.io/creator/
Documentation https://creatorsim.github.io/
Examples included 👉 RISC-V 👉 MIPS-32

Source code and testing

URL
Source Code https://github.com/creatorsim/creator/
📋 Tests Test Descriptions
🔬 Nightly build https://dcamarmas.github.io/creator

Supported Internet Browser

Edge Firefox Google Chrome Safari

Authors

  • 🧑‍💻 Diego Camarmas Alonso (Main Coordinator)
  • 🧑‍💻 Félix García Carballeira
  • 🧑‍💻 Alejandro Calderón Mateos
  • 🧑‍💻 Elías Del Pozo Puñal (Beta Tester)
  • 🧑‍💻 Lucas Elvira Martín (RISC-V and several improvements)

ChangeLog

:atom: 4.0.x:
  • New functionality:
    • Integration with real hardware based on RISC-V (ESP32)
    • Possibility to choose the default working architecture
  • User Interface:
    • Improved register file visualization
    • Performance improvements (e.g. program execution, data segment loading, etc.)
    • Updating external dependencies (fontawesome v6.2.1, jquery v3.6.3, lodash v4.17.15, and Apexchart)
    • Several minor bug fixed
:atom: 3.2.x:
  • User Interface:
    • New link to the quick reference guide for instructions in PDF
    • The current assembly code can be shared as a simple link
  • Modular design:
    • Simplified pseudo-instruction forms
    • Improved memory detail panel
    • Hardware counter updated in order to know the number of clock cycles consumed since the last reset
:atom: 3.1.x:
  • User Interface:
    • Example set added
    • The Instruction help width can be now configure from the configuration modal
    • Clarification on intitial CREATOR page
    • Better responsive behaviour on different screen sizes
    • Power consumption added
  • Modular design:
    • Interface based on Vue components for all UI elements in CREATOR
    • Simulated main memory reworked
    • Architecture improved
:atom: 3.0.x:
  • Several minor RISC-V improvements
  • More modular design:
    • Initial user interface based on Vue components
    • Improved modular design on execution engine
  • Improved instruction definitions:
    • New CREATOR API for instruction definitions
    • Support for helping on check Stack Calling Conventions
      • Checking saved registers on stack are restored
      • Colored stack
      • SP and FP pointers are shown on the memory stack detail panel
:atom: 2.1.x:
  • RISC-V supported (Thanks to Lucas Elvira Martín @luck5941)
  • CREATOR accessibility improved up to WCAG 2.0 (Level AAA)
  • Command line version of CREATOR:
    • Help:
      • ./creator.sh -h
    • Example: creator compiles and executes the example2.txt, showing the final state:
      • ./creator.sh -a architecture/MIPS-32.json -s examples/MIPS/example2.txt
    • Example: save final state into 'salida.txt' file:
      • ./creator.sh -a ./architecture/MIPS-32.json -s ./examples/MIPS/example2.txt -o min > salida.txt
    • Example: compare final state and the state saved on 'salida.txt' file:
      • ./creator.sh -a ./architecture/MIPS-32.json -s ./examples/MIPS/example2.txt -o min -r salida.txt
  • Creator now accepts three GET values:
  • Bootstrap-vue upgraded up to v2.15.0

About

CREATOR is a generic teaching simulator to program in assembly in which you can simulate the operation of different architectures on the same tool. This simulator is designed to be used as a tool in which students can put into practice the brews seen in the theoretical classes of the subjects of Architecture and Computer Structure.

Topics

Resources

License

Stars

Watchers

Forks

Packages 3

 
 
 

Languages

  • JavaScript 83.5%
  • Assembly 9.2%
  • HTML 2.6%
  • Python 1.8%
  • Shell 1.8%
  • C 0.5%
  • Other 0.6%