In [1]:
%pylab inline
In [2]:
import re
import pandas as pd
def remove_offset(df):
offset_tlm = df["time"][0]
df["time"] = df["time"] - offset_tlm
return df
benchmark="fir2"
# Import DB
store_lt = pd.HDFStore(benchmark + "/originals/" + benchmark + "_lt.log.h5")
store_at = pd.HDFStore(benchmark + "/originals/" + benchmark + "_at.log.h5")
store_rtl = pd.HDFStore(benchmark + "/originals/" + benchmark + "_rtl.log.h5")
In [3]:
# ICACHE READ ACCESS STATISTIC
icache_read_lt = store_lt.select('log',where=[('TYPE', '==', 'ICACHE_READ')], columns= ['time']).reset_index()
plt.hist(icache_read_lt['time'], bins=100)
plt.xlabel("Zeit in ps")
plt.ylabel("ICACHE Lesezugriffe")
savefig("./" + benchmark + "/" + benchmark + "_icache_read_hist.pdf")
In [4]:
# DCACHE READ ACCESS STATISTIC (from LT)
dcache_read_lt = store_lt.select('log',where=[('TYPE', '==', 'DCACHE_READ')], columns= ['time']).reset_index()
plt.hist(dcache_read_lt['time'], bins=100)
plt.xlabel("Zeit in ps")
plt.ylabel("DCACHE Lesezugriffe")
savefig("./" + benchmark + "/" + benchmark + "_dcache_read_hist.pdf")
del dcache_read_lt
In [5]:
# MMU_CACHE AHB READ STATISTIC (from LT) / DCACHE READ MISSES
ahb_read_lt = store_lt.select('log',where=[('TYPE', '==', 'AHB_READ')], columns= ['time']).reset_index()
plt.hist(ahb_read_lt['time'], bins=100)
plt.xlabel("Zeit in ps")
plt.ylabel("AMBA Lesezugriffe")
savefig("./" + benchmark + "/" + benchmark + "_ahb_read_hist.pdf")
del ahb_read_lt
In [6]:
# MMU_CACHE AHB WRITE STATISTIC (from AT)
ahb_write_lt = store_lt.select('log',where=[('TYPE', '==', 'AHB_WRITE')], columns= ['time']).reset_index()
plt.hist(ahb_write_lt['time'], bins=100)
plt.xlabel("Zeit in ps")
plt.ylabel("AMBA Schreibzugriffe")
savefig("./" + benchmark + "/" + benchmark + "_ahb_write_hist.pdf")
del ahb_write_lt
In [7]:
icache_read_rtl = store_rtl.select('log')
icache_read_at = store_at.select('log',where=[('TYPE', '==', 'ICACHE_READ')], columns= ['time']).reset_index()
plt.plot(icache_read_lt.time, label="LT")
plt.plot(icache_read_at.time, label="AT")
plt.plot(icache_read_rtl.time, label="RTL")
plt.legend(loc='upper left')
plt.xlabel("Verarbeitete Instruktionen")
plt.ylabel("Zeit ps")
plt.grid()
plt.savefig("./" + benchmark + "/" + benchmark + "_timing.pdf")
del icache_read_lt
del icache_read_at
del icache_read_rtl
In [7]: