#============================================================================== # Project : DLX Processor Implementation # File : simulation_template.tcl # Description : TCL file used to run the simulation of the DLX processor # # Group Name : Group 02 # Members : Sabina Sarcuni # Leonadro Gallina # Francesco Mignone # # Supervisor : Mariagrazia Graziano, Giavanna Turvani # Institution : Polytechnic of Turin, Italy # # Created : 11 July 2025 # Last Edited : 11 July 2025 # # Notes : - 5-stage pipeline (IF, ID, EX, MEM, WB) # - Supports basic instruction set: R-type, I-type, J-type # - Hazard detection and forwarding implemented # - Designed for simulation in ModelSim/Questasim # #============================================================================== # Available variables from the bash script # ${TOP_LEVEL_ENTITY} : Name of the top level entity to simulate # ${SIM_TIME} : Simualtion Time # ${SIM_RES} : Simualtion resolution # ${WAVEFORM_FILE} : Output waveform file # PS: if you need more info from the user given to # the bash script you obv need to modify the # bash script to export/eval those variables # Load the simulation # TODO: maybe ask for additional arguments? vsim -t ${SIM_RES} -voptargs=+acc ${TOP_LEVEL_ENTITY} # Open a waveform file to dump the simulaiton vcd file ${WAVEFORM_FILE} vcd add -r * # add wave /* # Run the simulation for the specified time run ${SIM_TIME} # wave zoom full # Save the waveform file # write wave waveform.ps -landscape -perpage 6ns # view structure # Exit Modelsim quit;