A direct-mapped L1 cache supporting byte-, halfword-, and word-level accesses. Implements read-allocate on read miss and write-around on write miss, with proper hit/miss handling. Both design and verification focus on correctness across various access patterns.