Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
Binary file removed cacti-main/.DS_Store
Binary file not shown.
4 changes: 2 additions & 2 deletions cacti-main/base_cache.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Cache size
-size (bytes) 128
-size (bytes) 64

# power gating
-Array Power Gating - "false"
Expand All @@ -23,7 +23,7 @@

# Multiple banks connected using a bus
-UCA bank count 1
-technology (u) 0.032
-technology (u) 0.09

# following three parameters are meaningful only for main memories
-page size (bits) 8192
Expand Down
4 changes: 4 additions & 0 deletions cacti-main/cacti_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,10 @@ class InputParameter
bool total_power; // false means just considering I/O Power

bool verbose;

// Added to keep track of repeater spacing and size
double repeater_spacing;
double repeater_size;



Expand Down
Binary file modified cacti-main/cacti_python/.DS_Store
Binary file not shown.
847 changes: 0 additions & 847 deletions cacti-main/cacti_python/Ucache-org.py

This file was deleted.

30 changes: 9 additions & 21 deletions cacti-main/cacti_python/Ucache.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,7 @@ def calc_time_mt_wrapper(void_obj):
wt_min = 'Global'
wt_max = 'Low_swing'

print("CHECKPOINT Nspd_min")
print(Nspd_min)
# print(MAXDATASPD)
# print()
#TODO Npsd_min messed up
# Check Npsd_min
for Nspd in range(int(Nspd_min), int(MAXDATASPD), int(math.ceil(Nspd_min*2))):
# replace with proper enum
if(wt_min == "Global"):
Expand Down Expand Up @@ -204,11 +200,6 @@ def calc_time_mt_wrapper(void_obj):
else:
wt_max = 10

print("CHECKPOINT")
print(wt_min)
print(wt_max)
print()

for wr in range(wt_min, wt_max+1):
for iter in range(tid, niter, NTHREADS):
Ndwl = 1 << (iter // (Ndbl_niter * Ndcm_niter))
Expand Down Expand Up @@ -322,7 +313,11 @@ def calculate_time(
ptr_array.subarray_height = uca.bank.mat.subarray.area.h
ptr_array.subarray_length = uca.bank.mat.subarray.area.w
ptr_array.power = uca.power

#RECENT CHANGE: MAX - ignore to reduce expression size
ptr_array.delay_senseamp_mux_decoder = symbolic_convex_max(uca.delay_array_to_sa_mux_lev_1_decoder, uca.delay_array_to_sa_mux_lev_2_decoder)
# ptr_array.delay_senseamp_mux_decoder = uca.delay_array_to_sa_mux_lev_1_decoder

ptr_array.delay_before_subarray_output_driver = uca.delay_before_subarray_output_driver
ptr_array.delay_from_subarray_output_driver_to_output = uca.delay_from_subarray_out_drv_to_out
ptr_array.delay_route_to_bank = uca.htree_in_add.delay
Expand Down Expand Up @@ -711,14 +706,8 @@ def solve(fin_res):
for t in range(NTHREADS):
threads[t].join()


print("HELLo?")
for t in range(NTHREADS):
calc_array[t].data_arr.sort(key=cmp_to_key(MemArray.lt))

# CHECKPOINT
print(f'WAT {calc_array[t].data_arr[0].access_time}')

data_arr.extend(calc_array[t].data_arr)
calc_array[t].tag_arr.sort(key=cmp_to_key(MemArray.lt))
tag_arr.extend(calc_array[t].tag_arr)
Expand Down Expand Up @@ -767,7 +756,6 @@ def solve(fin_res):
curr_org.data_array2 = m

curr_org.find_delay()
print(f'ACCESS TIME: {curr_org.access_time}')
curr_org.find_energy()
curr_org.find_area()
curr_org.find_cyc()
Expand All @@ -784,7 +772,6 @@ def solve(fin_res):
curr_org.data_array2 = m

curr_org.find_delay()
print(f'ACCESS TIME: {curr_org.access_time}')
curr_org.find_energy()
curr_org.find_area()
curr_org.find_cyc()
Expand Down Expand Up @@ -907,8 +894,9 @@ def calculate_time_single(
ptr_array.subarray_height = uca.bank.mat.subarray.area.h
ptr_array.subarray_length = uca.bank.mat.subarray.area.w
ptr_array.power = uca.power
# TODO check

ptr_array.delay_senseamp_mux_decoder = symbolic_convex_max(uca.delay_array_to_sa_mux_lev_1_decoder, uca.delay_array_to_sa_mux_lev_2_decoder)

ptr_array.delay_before_subarray_output_driver = uca.delay_before_subarray_output_driver
ptr_array.delay_from_subarray_output_driver_to_output = uca.delay_from_subarray_out_drv_to_out
ptr_array.delay_route_to_bank = uca.htree_in_add.delay
Expand Down Expand Up @@ -1137,7 +1125,7 @@ def solve_single():
curr_org.data_array2 = data_arr

curr_org.find_delay()
# curr_org.find_energy()
curr_org.find_energy()
# curr_org.find_area()
# curr_org.find_cyc()

Expand All @@ -1147,7 +1135,7 @@ def solve_single():
curr_org.data_array2 = data_arr

curr_org.find_delay()
# curr_org.find_energy()
curr_org.find_energy()
# curr_org.find_area()
# curr_org.find_cyc()

Expand Down
Loading