A parameterized cache memory subsystem designed in Verilog HDL and implemented through a complete ASIC design flow from RTL design to GDSII generation using Yosys and OpenROAD.
This project implements a configurable cache memory subsystem supporting:
-
Direct-Mapped Cache Architecture
-
Write-Back Policy
-
Dirty Bit Management
-
2-Way Set Associative Cache
-
Least Recently Used (LRU) Replacement Policy
-
Cache Performance Counters
-
RTL-to-GDSII Physical Design Flow
The project demonstrates the complete ASIC implementation flow:
| Parameter | Value |
|---|---|
| Address Width | 32-bit |
| Data Width | 32-bit |
| Line Size | 4 Words |
| Cache Organization | Direct-Mapped / 2-Way Set Associative |
| Write Policy | Write-Back |
| Replacement Policy | LRU |
| Technology Node | Nangate45 (45nm) |
✅ Direct-Mapped Cache Implementation
✅ Write-Back Support
✅ Dirty Bit Tracking
✅ Cache Refill Mechanism
✅ LRU-Based Replacement
✅ Performance Counters
✅ Parameterized Verilog Design
✅ Complete RTL-to-GDSII Flow
Cache\_Subsystem
│
├── rtl/
├── tb/
├── synthesis/
├── physical\_design/
├── docs/
├── report/
└── README.md
| Module | Description |
|---|---|
| cache_top.v | Top-level cache module |
| cache_controller.v | Cache control FSM |
| data_array.v | Cache data memory |
| tag_array.v | Tag memory and valid bits |
| lru_logic.v | LRU replacement logic |
| performance_counters.v | Cache statistics |
| main_memory.v | Behavioral main memory |
| Testbench | Description |
|---|---|
| tb_cache_top.v | Top-level verification |
| tb_data_array.v | Data array verification |
| tb_tag_array.v | Tag array verification |
| tb_main_memory.v | Main memory verification |
The design was synthesized and implemented using:
-
Yosys
-
OpenROAD
-
Nangate45 Standard Cell Library
| Parameter | Result |
|---|---|
| Technology Node | Nangate45 (45 nm) |
| Final Design Area | 101,684 µm² |
| Core Utilization | 18% |
| Standard Cell Count | 189,626 |
| WNS (Worst Negative Slack) | 0.00 ns |
| TNS (Total Negative Slack) | 0.00 ns |
| Timing Closure | Achieved |
| Physical Design Flow | RTL → Synthesis → Floorplanning → Placement → CTS → Routing → GDSII |
| File | Description |
|---|---|
| 6_final.def | Final DEF layout |
| 6_final.gds | GDSII layout |
| 6_final.spef | Parasitic extraction |
| 6_final.v | Post-layout netlist |
-
Verilog HDL
-
ModelSim
-
Quartus Prime
-
Yosys
-
OpenROAD
-
Nangate45 Library
-
GTKWave
-
Multi-Level Cache Hierarchy
-
Cache Coherency Protocols
-
ECC Support
-
Non-Blocking Cache
-
AXI/AHB Interface Integration
-
Cache Prefetching Mechanisms
Soumyadeep Dutta
B.Tech – VLSI Design
Vellore Institute of Technology, Chennai
GitHub: https://github.com/soumyadeepdutta0205-sudo
This project is released under the MIT License.













