M2_SETI/T1/TP/TP1/cacti_7/_script.py

54 lines
1.5 KiB
Python
Raw Normal View History

2022-11-18 15:07:43 +01:00
# -*- 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())