Skip to content
Snippets Groups Projects
Sophie Coudert's avatar
Sophie Coudert authored
--------------
Ajout de constantes pour les types de transaction:

// length has not been computed
// length has been computed

Transaction.h
--------------
Ajout d'un nouveau protected attribut et de ses accès:
unsigned int _transType
inline void setTransType(byte i) {_transType=i;}
inline byte getTransType() {return _transType;}
Rectification du calcul de endTime pour les transactions bus
!!WARNING: nonsens si _transtype est BUS_TRANS_NoLength

SingleCoreCPU.cpp
----------------
Mise à jour de _nexttransaction->transType dans calcStartTimeLength
Révision du starttime des transactions bus
Restriction de truncateAndAddNextTrans aux nonComm transactions
Ajout du calcul de longueur des transactions bus dans getNextTrans.
Rectification des calculs de longueur virtuelle à un arrondi supérieur plutôt
qu'inférieur.
ajout du nouvel algorithme (protected):
void truncateNextTrans(TMLTime iTime);

MultiCoreCPU.cpp
-----------------
Report des modifs de SingleCore.cpp, à l'identique.

BusMaster.h:
------------
ajout de l'export:
	//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
	inline SchedulableCommDevice* getNextBus() {return _nextBus;}
pour le rendre accessible au nouveaux (truncateNextTrans, CPU::addtrans)

Bus.h:
------
sorti des protected:
	void calcStartTimeLength(TMLTime iTimeSlice) const;
pour le rendre accessible au nouvel algo (truncateNextTrans)
ajout de calcLength() dans les exportés

Bus.cpp:
--------
correction de la mise à jour du StartTime dans calcStartTimeLength
deplacement du calcul de longueur de calcStartTimeLength vers nouvelle
méthode calcLength.
déplacement de la prise en compte du burstsize de schedule vers
calcStartTimeLength

SchedulableCommDevice.h:
------------------------
ajout de l'export:
	virtual void calcStartTimeLength(TMLTime iTimeSlice) const=0;
pour le rendre accessible aux nouveaux algos
(truncateNextTrans, xxxCPU:addtrans)

TMLChannel.h/.cpp
------------------
ajout d'une methode isLastMaster qui teste sans faire avancer le master courrant.

Simulator.cpp
--------------
ligne 1101, remplacement de depNextTrans=depCPU->getNextTransaction();
par depNextTrans=depCPU->SchedulableDevice::getNextTransaction();
pour ne pas rater les transactions bus not granted...
eec22a69
History