CORDIC
Page 1 of 4
Home
>
Products
>
Intellectual Property
>
Lattice IP Cores
> CORDIC
CORDIC (COordinate Rotation DIgital Computer)
Overview
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.
Features
Functions supported:
Vector rotation (polar to rectangular)
Vector translation (rectangular to polar)
Sin and cos
Arctan
Input data widths from 8 to 32 bits
Configurable number of iterations used to derive output from 4 to 32
Optional pre-rotation module
Optional amplitude compensation scaling module to compensate for the CORDIC algorithm’s output amplitude scale
factor
Selectable rounding algorithm: truncation, rounding up, rounding away from zero, convergent rounding
Selectable parallel architectural configuration for throughput optimization
Selectable word-serial architectural configuration for area optimization
Signed 2’s complement data
Optional clock enable (ce) and synchronous reset (sr) control signals
Full precision internal arithmetic
http://www.latticesemi.com/products/intellectualproperty/ipcores/cordic.cfm
10/6/2011
CORDIC
Page 2 of 4
Performance and Resource Utilization
LatticeECP3
User Configurable Mode
1
2
3
4
SLICEs LUTs
647
318
640
609
1280
618
1261
1203
Registers
1207
278
1175
1102
1
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
253
176
320
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.
LatticeECP2M
1
User Configurable Mode
1
2
3
4
SLICEs LUTs
649
308
644
624
1283
602
1268
1232
Registers
1205
278
1182
1104
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
279
167
276
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.
LatticeECP2
User Configurable Mode
1
2
3
4
SLICEs LUTs
649
308
644
624
1283
602
1268
1232
Registers
1205
278
1182
1104
1
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
278
171
262
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.
LatticeECP
User Configurable Mode
1
2
3
4
SLICEs LUTs
649
331
642
612
1196
605
1181
1146
Registers
1210
278
1181
1105
1
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
183
128
172
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.
LatticeEC
1
http://www.latticesemi.com/products/intellectualproperty/ipcores/cordic.cfm
10/6/2011
CORDIC
Page 3 of 4
User Configurable Mode
1
2
3
4
SLICEs LUTs
649
334
640
611
1196
611
1179
1146
Registers
1210
271
1178
1105
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
188
124
170
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.
LatticeSC/M
User Configurable Mode
1
2
3
4
SLICEs LUTs
833
402
830
803
1631
739
1709
1586
Registers
1224
292
1214
1155
1
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
389
235
332
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.
LatticeXP2
User Configurable Mode
1
2
3
4
SLICEs LUTs
649
308
644
624
1283
602
1268
1232
Registers
1205
278
1182
1104
1
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
275
159
279
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.
LatticeXP
1
User Configurable Mode
1
2
3
4
SLICEs LUTs
649
334
640
611
1196
611
1179
1146
Registers
1210
271
1178
1105
I/Os
85
85
69
53
sysMEM EBRs
-
-
-
-
MULT 18x18
-
-
-
-
f
MAX
(MHz)
174
114
156
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.
Ordering Information
Family
LatticeECP3
LatticeECP2M
LatticeECP2
LatticeEC/P
LatticeSC/M
Part Numbers
CORDIC-E3-U1
CORDIC-PM-U1
CORDIC-P2-U1
CORDIC-E2-U1
CORDIC-SC-U1
http://www.latticesemi.com/products/intellectualproperty/ipcores/cordic.cfm
10/6/2011
CORDIC
Page 4 of 4
LatticeXP2
LatticeXP
CORDIC-X2-U1
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.
http://www.latticesemi.com/products/intellectualproperty/ipcores/cordic.cfm
10/6/2011