tlm_noc_sim/RatatoskrChangelog.md

1.9 KiB
Executable file

Ratatoskr Changelog

General changes

  • All original Ratatoskr files needed for the simulator are in folder ratatoskrUtils. All files remained unchanged except for "ProcessingElement.h", which includes "utils/structures_cs.h" and adds the function execute(TaskCS&)
  • To read the configuration of circuit switching routers from data.xml, new classes with CS in the name (like GlobalResourcesCS) were added

Processing Element bug fix

The bug was fixed in files "ProcessingElementCS.cpp", "ProcessingElementCS.h", "structures_cs.h" and "structures_cs.cpp"

Changes in ProcessingElementCS

Changes in function checkNeeded

  • line receivedData.at(type) = 0 was uncommented, because data has already been discounted from neededAmount. If left uncommented, receivedData will increase to very high values. No errors with different data types occurred, maybe it was corrected by another change
  • line receivedData.at(type) = -neededAmount.at(pair) was uncommented, in order to keep track of data being received from subsequent repetitions

Changes in function startSending

  • logic inserted from line 245 to 265, to call function "checkNeeded" when number of destinations is 0, so it can create the requirements (this occurs on the last task which has requirements but no destinations)

Changes in function execute

  • function "checkNeeded" called in line 198, because it could happen that all the packets from the current repetition have already arrived, which means function "receive" won't be called and, therefore, function "checkNeeded" isn't called, so it needs to be called here

Changes in function thread

  • Use of a modified DataDestination class

Changes in DataDestination

  • A custom unique ID (id_cnt) that increases for every data destination that is added and that replaces the ID of the xml file. This was done because the PEs were mistakenly taking data from other tasks (destToTask map not working correctly)