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

Notifications You must be signed in to change notification settings

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

Dockers for CREATOR

URL
Docker Hub https://hub.docker.com/repositories/creatorsim
Dockers Documentation 👉 Gateway 👉 Remote Lab

Source code and testing

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

Supported Internet Browser

Edge Firefox Google Chrome Safari

Publications

2024

📰 CREATOR: An Educational Integrated Development Environment for RISC-V Programming
  • Journal paper: IEEE Access
  • Authors: Diego Camarmas-Alonso, Félix García-Carballeira, Alejandro Calderón-Mateos, Elías Del-Pozo-Puñal
  • 🔗 Open publication
@ARTICLE{10540579,
author={Camarmas-Alonso, Diego and Garcia-Carballeira, Felix and Calderon-Mateos, Alejandro and Del-Pozo-Puñal, Elias},
journal={IEEE Access},
title={CREATOR: An Educational Integrated Development Environment for RISC-V Programming},
year={2024},
volume={},
number={}, 
pages={1-1},
doi={10.1109/ACCESS.2024.3406935}}
📰 Servicio de laboratorio remoto para la integración del simulador CREATOR con hardware RISC-V
  • Conference paper: Jornadas Sarteco
  • Authors: Diego Camarmas-Alonso, Félix García-Carballeira, Alejandro Calderón-Mateos, Elías Del-Pozo-Puñal
  • 🔗 Open publication
@inproceedings{camarmas_alonso_2024_11632955,
author = {Camarmas-Alonso, Diego and Garcia-Carballeira, Felix and Calderon-Mateos, Alejandro and Del-Pozo-Puñal, Elías},
title = {{Servicio de laboratorio remoto para la integración del simulador CREATOR con hardware RISC-V}},
booktitle = {{Avances en Arquitectura y Tecnología de Computadores. Actas de las Jornadas SARTECO}},
year = 2024,
pages = {65-371},
publisher = {Zenodo},
month = jun,
venue = {A Coruña, Spain},
doi = {10.5281/zenodo.11632955},
url = {https://doi.org/10.5281/zenodo.11632955}

2023

📰 CREATOR: a tool for teaching assembly programming with RISC-V
  • Conference poster: RISC-V Summit Europe
  • Authors: Félix García-Carballeira, Alejandro Calderón-Mateos, Diego Camarmas-Alonso, Elías Del-Pozo-Puñal
  • 🔗 Open publication
📰 Integración del simulador CREATOR con hardware RISC-V: caso de estudio con microcontrolador ESP32
  • Conference paper: Jornadas Sarteco
  • Authors: Diego Camarmas-Alonso, Félix García-Carballeira, Alejandro Calderón-Mateos, Elías Del-Pozo-Puñal
  • 🔗 Open publication
@proceedings{diego_camarmas_alonso_2023_8378899,
title = {{Integración del simulador CREATOR con hardware RISC-V: caso de estudio con microcontrolador ESP32}},
year = 2023,
publisher = {Zenodo},
month = sep,
doi = {10.5281/zenodo.8378899},
url = {https://doi.org/10.5281/zenodo.8378899}}
📰 CREATOR como herramienta docente para la enseñanza de la programación en ensamblador con RISC V

2021

📰 A new generic simulator for the teaching of assembly programming
  • Conference paper: CLEI
  • Authors: Diego Camarmas-Alonso, Félix García-Carballeira, Alejandro Calderón-Mateos, Elías Del-Pozo-Puñal
  • 🔗 Open publication
@INPROCEEDINGS{9640144,
author={Camarmas-Alonso, Diego and García-Carballeira, Félix and Del-Pozo-Puñal, Elías and Mateos, Alejandro Calderón},
booktitle={2021 XLVII Latin American Computing Conference (CLEI)},
title={A new generic simulator for the teaching of assembly programming},
year={2021},
volume={},
number={},
pages={1-9},
doi={10.1109/CLEI53233.2021.9640144}}
📰 CREATOR: Simulador didáctico y genérico para la programación en ensamblador
  • Conference paper: Jornadas Sarteco
  • Authors: Diego Camarmas-Alonso, Félix García-Carballeira, Alejandro Calderón-Mateos, Elías Del-Pozo-Puñal
  • 🔗 Open publication
@proceedings{diego_camarmas_alonso_2021_5130302,
title = {{CREATOR: Simulador didáctico y genérico para la programación en ensamblador}},
year = 2021,
publisher = {Zenodo},
month = jul,
doi = {10.5281/zenodo.5130302},
url = {https://doi.org/10.5281/zenodo.5130302}}

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.1.x:
  • New functionality:
    • CREATOR Remote Lab
    • Dockers for CREATOR
  • User Interface:
    • Several improvements and minor bugs fixed
: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 bugs 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 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 now be configured from the configuration modal
    • Clarification on the initial CREATOR page
    • Better responsive behavior 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 the execution engine
  • Improved instruction definitions:
    • New CREATOR API for instruction definitions
    • Support for helping on checking Stack Calling Conventions
      • Checking saved registers on the 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 'output.txt' file:
      • ./creator.sh -a ./architecture/MIPS-32.json -s ./examples/MIPS/example2.txt -o min > output.txt
    • Example: compare the final state and the state saved on 'output.txt' file:
      • ./creator.sh -a ./architecture/MIPS-32.json -s ./examples/MIPS/example2.txt -o min -r output.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

 
 
 

Languages

  • JavaScript 80.1%
  • Assembly 11.5%
  • HTML 2.5%
  • Python 2.3%
  • Shell 2.1%
  • C 0.6%
  • Other 0.9%