Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by PityOnU

  1. PityOnU

    Restarting Simulation for Batch Runs

    Thanks for the response! I hadn't even considered renaming the output as part of the shell script. Works perfect!
  2. I'm attempting to do some performance analysis of a network-on-a-chip I've created in SystemC. To do this, I want to automate multiple simulation runs so that I can find max/min/mean/variance of the values I am interested in. My original idea was to simply wrap my main.cpp (the code that constructs the network out of modules and signals and begins the simulation) in a "for" loop and run through it x number of times. However, I am currently encountering error E113 after running through the "for" loop just once, which indicates that SystemC doesn't allow me to reconstruct the network while a simulation is running (understandably). So, my question is now: How can I completely stop and reset my simulation environment at the end of my "for" loop to allow it to just do its thing x number of times? Thanks in advance.
  3. PityOnU

    Restarting Simulation for Batch Runs

    Thanks for the response, and sorry if the first post wasn't clear. Basically, the network I am modeling consists of sender and receiver nodes connected to switches. The sender nodes generate a packet with a random destination address and passes it off to the switch, which then routes it to other switches based on the destination. I have managed to make the code configurable via global definitions in a header file, which allow me to modify parameters including the speed of the sender/receiver/switch, the size of the network, and the way the switches are connected (fully-connected, square mesh, bitonic, etc.). Right now, each simulation run is 50ms in length, and I record information regarding packets sent, dropped, number of stops, and time between sending and delivery to a .csv file, and the functioning of the network itself to a .vcd file. My desired goal is to make it so that the code will automatically run a certain network configuration x times, generating a new .csv and .vcd log file each time. I can then use the data in these files with Excel/Matlab to perform some performance analysis on each network configuration in order to draw some conclusions such as maximum throughput, expected delay, etc. In order for the code to do this, I need to be able to basically reset the simulation and re-run in x number of times. Is it possible (in SystemC code) to stop the simulator and completely unload it from memory so that I can then begin a new simulation using the same block of code as before?