Abstract—Cache memory is an important small but fast temporary storage for CPU. It stores frequently used data for current execution in CPU. Because accessing data directly from main memory will gives significant penalty for CPU performance, having a cache memory brings a lot of reduction in average data access cost. With its smaller capacity, cache has its own structures and replacement algorithm to reduce cache miss, that is the data needed by CPU is not available in cache thus they must be taken from main memory. Usually, a CPU has separated instruction cache and data cache. The data cache can consist of two or more levels which determines its size and its proximity to the processor.

In this project, a two-way set associative cache is implemented in a synthesizable VHDL. The cache has 16-bit address, 8 sets, 8 byte data block, and random replacement algorithm. The random replacement is obtained from Linear Feedback Shift Register. The cache will also output whether the requested data available on cache (cache hit) or not (cache miss).

This site is intended for personal use only. No part of this site including, but not limited to, text, images, videos, and logos may be reproduced, stored, transmitted, or disseminated in any form or by any means without prior written permission from the author. All trademarks, service marks, trade names, product names and logos appearing on the site are the property of their respective owners.