53 lines
1.5 KiB
Python
Executable file
53 lines
1.5 KiB
Python
Executable file
# -*- coding: utf-8 -*-
|
|
"""
|
|
TP1 T1
|
|
Ceci est un script permettant de tester différentes configurations
|
|
de cache pour cacti
|
|
"""
|
|
|
|
import os
|
|
|
|
chemin_fichier_config = "_fichiers/configs/"
|
|
chemin_fichier_result = "_fichiers/resultats/"
|
|
|
|
configurations = [[1,0,0,0],[1,0,1,1],[1,0,0,1],[1,1,1,1]]
|
|
|
|
nom_fichier_config = "cache.cfg"
|
|
|
|
i = 0
|
|
|
|
#----------- Cette section permet de configurer le nombre de ports entrée/sortie du fichier ---------
|
|
with open(chemin_fichier_config + nom_fichier_config, "r") as fichier:
|
|
Lignes = fichier.readlines()
|
|
index = 0
|
|
|
|
for ligne in Lignes:
|
|
if "<configs_ports>" in ligne:
|
|
Lignes[index + 1] = "-read-write port {}\n".format(configurations[i][0])
|
|
Lignes[index + 2] = "-exclusive read port {}\n".format(configurations[i][1])
|
|
Lignes[index + 3] = "-exclusive write port {}\n".format(configurations[i][2])
|
|
Lignes[index + 4] = "-single ended read ports {}\n".format(configurations[i][3])
|
|
break
|
|
index += 1
|
|
|
|
with open(chemin_fichier_config + nom_fichier_config, "w") as fichier:
|
|
fichier.writelines(Lignes)
|
|
|
|
|
|
#----------- Section pour lancer la simulation sur cacti -------------------------------
|
|
|
|
commande = "./cacti -infile {}".format(chemin_fichier_config + nom_fichier_config)
|
|
flux = os.popen(commande)
|
|
resultat = flux.read().split('\n')
|
|
|
|
for ligne in resultat:
|
|
if "Access time (ns):" in ligne:
|
|
val_tps = float(ligne.split(':')[1])
|
|
print(val_tps)
|
|
|
|
|
|
|
|
#flux = os.popen(commande)
|
|
#print(flux.read())
|
|
|
|
|