Working with Primitives
During synthesis, the software maps your design's logic—LUTs, RAM, flipflops, etc.—to primitives. These primitives occupy specific locations (tiles or groups of tiles). Each tile has one or more sub-blocks in which to place a primitive. Placing multiple primitives into the same tile is called packing.
The following tables show the types of primitives, the tiles where you can place them, and the sub-blocks they can occupy.
| Tile | Sub-Block | |||
|---|---|---|---|---|
| 0 | 1 | 2 | 3 | |
| EFT | EFX_LUT4 EFX_ADD |
– | EFX_FF | – |
| EFL | EFX_LUT4 EFX_ADD |
– | – | – |
| RAM | EFX_RAM_5K EFX_DPRAM_5K |
Reserved | – | – |
| MULT | EFX_MULT | – | – | – |
| Tile | Sub-Block | |||
|---|---|---|---|---|
| 0 | 1 | 2 | 3 | |
| EFT | EFX_LUT4 EFX_ADD EFX_COMB4 |
Reserved | EFX_FF | – |
| EFM | EFX_LUT4 EFX_ADD EFX_COMB4 EFX_SRL8 |
Reserved | EFX_FF | – |
| RAM | EFX_RAM10 EFX_DPRAM10 |
Reserved | – | – |
| DSP48 | EFX_DSP48 EFX_DSP24 EFX_DSP12 |
EFX_DSP24
EFX_DSP12
|
EFX_DSP12 | EFX_DSP12 |
The following table shows another view of the same mappings.
| Primitive | Compatible Tiles | Allowed Sub-Block Indices | ||
|---|---|---|---|---|
| Trion | Titanium | Topaz | ||
| EFX_LUT4 | EFT, EFL | EFT, EFM | EFT, EFM | 0 |
| EFX_ADD | EFT, EFL | EFT, EFM | EFT, EFM | 0 |
| EFX_COMB4 | EFT, EFL | EFT, EFM | EFT, EFM | 0 |
| EFX_FF | EFT | EFT, EFM | EFT, EFM | 2 |
| EFX_SRL8 | – | EFM | EFM | 0 |
| EFX_RAM_5K | RAM | – | – | 0 |
| EFX_DPRAM_5K | RAM | – | – | 0 |
| EFX_RAM10 | – | RAM | RAM | 0 |
| EFX_DPRAM10 | – | RAM | RAM | 0 |
| EFX_MULT | MULT | 0 | ||
| EFX_DSP48 | – | DSP48 | DSP48 | 0 |
| EFX_DSP24 | – | DSP48 | DSP48 | 0, 1 |
| EFX_DSP12 | – | DSP48 | DSP48 | 0, 1, 2, 3 |
Finding Primitive Cell Names
When the software maps your design to primitives, it assigns a cell name to each
instance. To view the primitive cell names:
- In the Dashboard's Netlist tab, click the Load Synthesized Netlist icon and expand Leaf Cells.
- Open the <project>.map.v file (in the Dashboard, go to ). This file is in the project's outflow directory.