OpenLane hardened DFFRAM macros. This repo provides three ready to use single port DFFRAM macros:
- 128x32 (512 bytes)
- 256x32 (1024 bytes)
- 512x32 (2048 bytes)
The DFFRAM adheres to the SRAM read/write operation. The following timing diagram explains its operation.

| Parameters | DFRAM128x32 | DFFRAM256x32 | DFFRAM512x32 |
|---|---|---|---|
| TC (min) | 25 ns | 25 ns | 25 ns |
| T1 (min) | 6.8303 ns | 8.5061 ns | 6.425 ns |
| T2 (min) | 9.6186 ns | 8.5881 ns | 8.3642 ns |
| T3 (min) | 6.7497 ns | 6.3386 ns | 4.1659 ns |
| T4 (max) | 7.7625 ns | 14.4169 ns | 9.9347 ns |
| IP | W(um) | L(um) |
|---|---|---|
| DFRAM128x32 | 553.890 | 564.610 |
| DFRAM256x32 | 1153.835 | 536.015 |
| DFRAM512x32 | 1186.960 | 1021.295 |
Make sure that you have IPM installed locally, to install IPM please follow the instructions in IPM's repo
After making sure that IPM is installed, you can install DFFRAM using:
ipm install DFFRAM<size>
#For example
ipm install DFFRAM256x32
Clone the OL-DFFRAM repo and use it inside your project
cd <your_project_root>
git clone https://github.com/efabless/OL-DFFRAM.git
