Skip to content

Implementation of caches and performance profiling.

Notifications You must be signed in to change notification settings

Ln11211/L1-Data-Cache

Repository files navigation

L1 Data Cache

A Verilog project that implements and tests two cache organizations: Direct Mapped cache and Fully Associative cache.

Cache / Memory Details:

a. L1 Data Cache - 32 KB.

b. Cache Block Size - 64 bytes.

c. Memory- 64 KB.

d. Cache <-> Memory Bus width - 64 bits.

e. Memory Bus Speed - 200 MHz.

Both caches connect to the same 64 KB backing memory model (implemented using Block RAM ip) and are write back in nature, burst fills/writebacks are (8 x 64 bit beats per 64 byte line), and a fixed line size of 64 B.

Two testbenches drive row major and column major matrix walks, measure misses, hits, writebacks, and compute bus traffic between cache and memory.

The row and column major loops are as follows:

image image

Direct Mapped cache

dm_cache

Direct-Mapped Cache (32x32 matrix size): result_128

Direct-Mapped Cache (128x128 matrix size): result_32

Fully Associative cache

cache_FA

Fully Associative Cache with Random Replacement (32x32 matrix size): result_32

Fully Associative Cache with Random Replacement (128x128 matrix size): result_128

Fully Associative Cache with LRU Replacement (128x128 matrix size): result_128

Number of Misses

image

About

Implementation of caches and performance profiling.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published