Estimating Block RAM Resources
The Efinity® software v2020.2 (patch 2020.2.299.2.6) and higher includes
a Block RAM Resource Estimator that helps you determine how many block RAM resources the
software needs for a given memory size. You run this tool at the command line using the
efx_map_ramest command. The estimator uses these options:
| Option | Description |
|---|---|
| --help | Display the help. |
| --family <family name> | Specify the family: Quantum: for Quantum®
cores. Trion: for Trion
FPGAs. Titanium: for Titanium
FPGAs. |
| --device <FPGA name> | Optional. Specify the FPGA you are targeting. |
| --mode <mode> | Specify the decomposition mode, speed, area, or power. |
| --size <memory size> | Specify the memory size as <depth>x<width>. |
| --size2 <memory size> | If using true dual-port, specify the second port's memory size as <depth>x<depth>. |
The following code examples show how to estimate RAM for Trion and Titanium RAM blocks of varying sizes.
Simple Dual-Port RAM Example (Trion)
The following example command runs the estimator for a Trion FPGA, 10240 X 16 RAM size, and optimizing for area:
efx_map_ramest --family Trion --mode area --size 10240x16
The command outputs:
Efinix Block Ram Resource Estimator
Version: 2020.2.299
Compiled: Dec 30 2020.
Copyright (C) 2013 - 2020 Efinix Inc. All rights reserved.
FPGA Family : Trion
Block Ram Size : 5K
Input Memory Size : 10240x16
Mode : area
Result : 33 block rams required to implement the above memory size.
True Dual-Port RAM Example (Trion)
The following example command runs the estimator for a Trion FPGA, 10240 X 16 RAM size, 5120 x 32 RAM size, and optimizing for power:
efx_map_ramest --family Trion --mode power --size 10240x16 --size2 5120x32
The command outputs:
Efinix Block Ram Resource Estimator
Version: 2020.2.299
Compiled: Dec 30 2020.
Copyright (C) 2013 - 2020 Efinix Inc. All rights reserved.
FPGA Family : Trion
Block Ram Size : 5K
Input Memory Size : 10240x16
2nd Memory Port Size : 5120x32
Mode : power
Result : 33 block rams required to implement the above memory size.
Simple Dual-Port RAM Example (Titanium)
The following example command runs the estimator for a Titanium FPGA, 10240 X 16 RAM size, and optimizing for area:
efx_map_ramest --family Titanium --mode area --size 10240x16
The command outputs:
Efinix Block Ram Resource Estimator
Version: 2020.2.299
Compiled: Dec 30 2020.
Copyright (C) 2013 - 2020 Efinix Inc. All rights reserved.
FPGA Family : Titanium
Block Ram Size : 10K
Input Memory Size : 10240x16
Mode : area
Result : 17 block rams required to implement the above memory size.
True Dual-Port RAM Example (Titanium)
The following example command runs the estimator for a Titanium FPGA, 10240 X 16 RAM size, 5120 x 32 RAM size, and optimizing for area:
efx_map_ramest --family Titanium --mode area --size 10240x16 --size2 5120x32
The command outputs:
Efinix Block Ram Resource Estimator
Version: 2020.2.299
Compiled: Dec 30 2020.
Copyright (C) 2013 - 2020 Efinix Inc. All rights reserved.
FPGA Family : Titanium
Block Ram Size : 10K
Input Memory Size : 10240x16
2nd Memory Port Size : 5120x32
Mode : area
Result : 17 block rams required to implement the above memory size.