CORDIC (COordinate Rotation DIgital Computer) is a simple and efficient algorithm to calculate hyperbolic and trigonometric functions and convert polar co-ordinates to artesian and vice versa. It is an iterative method that requires simple arithmetic operations such as addition, subtraction, bit shift and table look up. This frees up any available multipliers in the device for use in more complex tasks.
The Lattice CORDIC IP is configurable and several functions can be implemented in the IP core: Rotation, Translation, Sin and Cos, Arctan. Two architecture configurations are available for the arithmetic unit: Parallel, with single cycle data throughput, and Word-serial, with multiple cycles throughput. The input data, output data widths and iterative number are configurable over a wide range. The IP core uses full internal precision while allowing variable output precision with several choices for rounding.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 647 | 1280 | 1207 | 85 | - | - | 253 |
| 2 | 318 | 618 | 278 | 85 | - | - | 176 |
| 3 | 640 | 1261 | 1175 | 69 | - | - | 320 |
| 4 | 609 | 1203 | 1102 | 53 | - | - | 298 |
1. Performance and utilization data are generated targeting an LFE3-70E-8FN484CES device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP3 family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 649 | 1283 | 1205 | 85 | - | - | 279 |
| 2 | 308 | 602 | 278 | 85 | - | - | 167 |
| 3 | 644 | 1268 | 1182 | 69 | - | - | 276 |
| 4 | 624 | 1232 | 1104 | 53 | - | - | 269 |
1. Performance and utilization data are generated targeting an LFE2M-20E-7F484C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP2M family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 649 | 1283 | 1205 | 85 | - | - | 278 |
| 2 | 308 | 602 | 278 | 85 | - | - | 171 |
| 3 | 644 | 1268 | 1182 | 69 | - | - | 262 |
| 4 | 624 | 1232 | 1104 | 53 | - | - | 271 |
1. Performance and utilization data are generated targeting an LFE2-20E-7F484C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP2 family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 649 | 1196 | 1210 | 85 | - | - | 183 |
| 2 | 331 | 605 | 278 | 85 | - | - | 128 |
| 3 | 642 | 1181 | 1181 | 69 | - | - | 172 |
| 4 | 612 | 1146 | 1105 | 53 | - | - | 188 |
1. Performance and utilization data are generated targeting an LFECP20E-5F484C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 649 | 1196 | 1210 | 85 | - | - | 188 |
| 2 | 334 | 611 | 271 | 85 | - | - | 124 |
| 3 | 640 | 1179 | 1178 | 69 | - | - | 170 |
| 4 | 611 | 1146 | 1105 | 53 | - | - | 186 |
1. Performance and utilization data are generated targeting an LFEC20E-5F484C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeEC family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 833 | 1631 | 1224 | 85 | - | - | 389 |
| 2 | 402 | 739 | 292 | 85 | - | - | 235 |
| 3 | 830 | 1709 | 1214 | 69 | - | - | 332 |
| 4 | 803 | 1586 | 1155 | 53 | - | - | 390 |
1. Performance and utilization data are generated targeting an LFSC3GA25E-7F900C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeSC/M family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 649 | 1283 | 1205 | 85 | - | - | 275 |
| 2 | 308 | 602 | 278 | 85 | - | - | 159 |
| 3 | 644 | 1268 | 1182 | 69 | - | - | 279 |
| 4 | 624 | 1232 | 1104 | 53 | - | - | 274 |
1. Performance and utilization data are generated targeting an LFXP2-30E-7F484C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeXP2 family.
| User Configurable Mode | SLICEs | LUTs | Registers | I/Os | sysMEM EBRs | MULT 18x18 | fMAX (MHz) |
|---|---|---|---|---|---|---|---|
| 1 | 649 | 1196 | 1210 | 85 | - | - | 174 |
| 2 | 334 | 611 | 271 | 85 | - | - | 114 |
| 3 | 640 | 1179 | 1178 | 69 | - | - | 156 |
| 4 | 611 | 1146 | 1105 | 53 | - | - | 176 |
1. Performance and utilization data are generated targeting an LFXP20E-5F484C device using Lattice Diamond 1.0 and Synplify Pro for Lattice D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeXP family.
| Family | Part Numbers |
| LatticeECP3 | CORDIC-E3-U1 |
| LatticeECP2M | CORDIC-PM-U1 |
| LatticeECP2 | CORDIC-P2-U1 |
| LatticeEC/P | CORDIC-E2-U1 |
| LatticeSC/M | CORDIC-SC-U1 |
| LatticeXP2 | CORDIC-X2-U1 |
| LatticeXP | CORDIC-XM-U1 |
IP Express Version: 1.1
Evaluate: To download a full evaluation version of this IP, go to the IPexpress tool and click the IP Server button in the toolbar. All LatticeCORE IP cores and modules available for download will be visible. For more information on viewing/downloading IP please read the IP Express Quick Start Guide.
Purchase: To find out how to purchase the IP Core, please contact your local Lattice Sales Office.