
We gratefully acknowledge the Center of Excellence (CoE) in Integrated Circuits and Systems (ICAS) and the Department of Electronics and Communication Engineering (ECE) for providing the necessary resources and guidance.
Special thanks to Dr. H V Ravish Aradhya (HoD- ECE), Dr. K R Usha Rani (Associate Dean-PG), Dr. K. S. Geetha (Vice Principal) and Dr. K. N. Subramanya (Principal) for their constant encouragement and support in facilitating this Tiny Tapeout SKY26C submission.
This project implements an 8-bit configurable Content-Addressable Memory (CAM) designed for Tiny Tapeout SKY26C.
The CAM stores 8-bit data values at different memory addresses and supports searching the stored data using an input search pattern. Instead of accessing memory using an address, the CAM compares the search value against multiple stored entries and identifies the address of the matching entry.
The design supports exact matching, masked pattern matching, and priority resolution.
In exact matching, the complete 8-bit search value is compared with the stored CAM entries. If a matching entry is found, the corresponding address is returned.
The masked search operation allows selected bits of the search pattern to be ignored during comparison. This makes it possible to search for partially specified patterns rather than requiring all eight bits to match.
When more than one CAM entry matches the search pattern, the priority resolution logic selects the highest-priority matching entry and returns its address.
The main blocks are:
The design is intended for compact pattern-matching and lookup applications where fast content-based searching is required.
rst_n low.rst_n high.The Cocotb testbench in test/test.py performs functional verification of the configurable CAM, including write operations, exact matching, no-match conditions, masked matching, and priority resolution.
The gate-level testbench is also used to verify that the functionality is preserved after synthesis and physical implementation.
The design has been verified through the Tiny Tapeout SKY26C implementation flow.
The verification includes:
The gate-level verification successfully confirms the CAM search operations, including exact matches, no-match conditions, masked matching, and priority matching.
The final physical implementation was successfully generated as a GDS file for the Tiny Tapeout SKY26C shuttle.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Data bit 0 | Match | Write address bit 0 |
| 1 | Data bit 1 | Match address bit 0 | Write address bit 1 |
| 2 | Data bit 2 | Match address bit 1 | Write address bit 2 |
| 3 | Data bit 3 | Match address bit 2 | Write enable |
| 4 | Data bit 4 | Unused | Load mask |
| 5 | Data bit 5 | Unused | Search enable |
| 6 | Data bit 6 | Unused | Unused |
| 7 | Data bit 7 | Unused | Unused |