Course: EE 275 – Advanced Computer Architecture
Summary: Verilog implementation of multiple L1 data cache architectures, evaluated using matrix-style workloads to compare locality, associativity, and replacement policies.
l1_cache_dm_8kb_simple.v
l1_cache_4way_random.vl1_cache_4way_lru.v
l1_cache_fully_assoc_random.vl1_cache_fully_assoc_lru.v
addr_alu.valu_gates.valu_gates_64.veq_alu.vregs_and_counters.v
top_matrix_final_tb.vtop_matrix_4way_tb.vtop_matrix_fully_assoc_tb.vtop_matrix_fully_assoc_lru_tb.vtop_matrix_lru_tb.vtop_matrix_phases_simple_tb.v
- Simulation binaries:
sim,sim_FINAL,sim_DEBUG,sim_REALLY_FIXED,sim_fully_assoc,sim_fully_assoc_random,sim_fully_assoc_lru,sim_part_b,sim_part_c - Logs:
results_part_b.log,results_part_c.log
These contain the measured cache miss counts and performance metrics.
iverilog -o sim top_matrix_final_tb.v l1_cache_4way_lru.v alu_gates.v regs_and_counters.v ...
./sim
Project Goals
Compare direct-mapped vs set-associative vs fully associative L1 designs
Study LRU vs random replacement policies
Observe locality effects with matrix-style memory access patterns
Measure cache hits, misses, and memory accesses