Numerically Controlled Oscillator

LatticeCoreNumerically Controlled Oscillators (NCO), also called Direct Digital Synthesizers (DDS), offer several advantages over other types of oscillators in terms of accuracy, stability and reliability. NCOs provide a flexible architecture that enables easy programmability such as on-the-fly frequency/phase. NCOs are used in many communications systems including digital up/down converters used in 3G wireless and software radio systems, digital PLLs, radar systems, drivers for optical or acoustic transmissions, and multilevel FSK/PSK modulators/demodulators.

Lattice provides a parameterizable NCO IP core that supports multiple channels and a Quadrature Amplitude Modulation (QAM) mode, in addition to other usual configurations. The resource utilization and performance trade-off can be tuned by configuring different parameters of the IP core to obtain the optimal Spurious Free Dynamic Range (SFDR) result. The Lattice NCO core offers a variety of memory reduction schemes and mechanisms for SFDR improvement.

Features

  • Supports single or multi channel operation up to 16 channels
  • Run time variable phase increment input Δθ and phase offset input φ
  • Up to 32-bit user-configurable phase resolution
  • Up to 20-bit user-configurable quantizer resolution
  • Up to 32-bit user-configurable amplitude resolution
  • User-configurable memory saving architectures – 1/2 wave, 1/4 wave or full wave
  • User-selectable sum of angles (SOA) optimization for memory saving
  • Up to 4-bit user-selectable phase dithering correction
  • User-selectable trigonometric correction for SFDR improvement
  • Option for truncating or rounding the quantizer output when neither dithering nor trigonometric correction is used.
  • User-selectable QAM mode support
  • Provides high-SFDR up to 115 dB
  • Provides sine, cosine or quadrature outputs.
  • User configurable output polarity

Block Diagram

Performance and Size

LatticeECP31
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O Multipliers 18x18 sysMEM EBRs fMAX (MHz)
Config 1 25 6 44 39 4 3 340
Config 2 163 220 262 104 0 1 340
Config 3 302 310 494 217 8 3 320

1. Performance and utilization data are generated targeting an LFE3-95E-7FN672CES device using Lattice Diamond 1.0 and Synplify Pro 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.

LatticeECP2M1
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O Multipliers2 18x18 sysMEM EBRs fMAX (MHz)
Config 1 24 5 44 39 4 3 347
Config 2 200 222 262 104 0 1 361
Config 3 287 282 494 217 8 3 256

1. Performance and utilization data are generated targeting an LFE2M-35E-7F484C device using Lattice Diamond 1.0 and Synplify Pro 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.
2. One DSP block provides two MULT18X18ADDSUBs.

LatticeECP21
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O Multipliers2 18x18 sysMEM EBRs fMAX (MHz)
Config 1 24 5 44 39 4 3 368
Config 2 200 222 262 104 0 1 370
Config 3 287 282 494 217 8 3 325

1. Performance and utilization data are generated targeting an LFE2-50E-7F672C device using Lattice Diamond 1.0 and Synplify Pro 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.
2. One DSP block provides two MULT18X18ADDSUBs.

LatticeECP1
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O Multipliers2 18x18 sysMEM EBRs fMAX (MHz)
Config 1 27 7 44 39 4 3 215
Config 2 194 211 262 104 0 2 215
Config 3 305 316 494 217 8 5 226

1. Performance and utilization data are generated targeting an LFECP20E-5F672C device using Lattice Diamond 1.0 and Synplify Pro 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.
2. One DSP block provides two MULT18X18ADDSUBs.

LatticeEC1
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O sysMEM EBRs fMAX (MHz)
Config 1 1000 1710 715 39 3 116
Config 2 194 211 262 104 2 230
Config 3 2235 3730 1833 217 5 123

1. Performance and utilization data are generated targeting an LFEC20E-5F672C device using Lattice Diamond 1.0 and Synplify Pro 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.

LatticeSC1
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O sysMEM EBRs fMAX (MHz)
Config 1 1472 2194 1071 39 3 242
Config 2 152 210 262 104 1 375
Config 3 3583 5153 2549 217 3 239

1. Performance and utilization data are generated targeting an LFSC3GA25E-7F900C device using Lattice Diamond 1.0 and Synplify Pro 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 family.

LatticeXP21
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O Multipliers2 18x18 sysMEM EBRs fMAX (MHz)
Config 1 24 5 44 39 4 3 314
Config 2 200 222 262 104 0 1 314
Config 3 287 282 494 217 8 3 314

1. Performance and utilization data are generated targeting an LFXP2-17E-7F484C device using Lattice Diamond 1.0 and Synplify Pro 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.
2. One DSP block provides two MULT18X18ADDSUBs.

LatticeXP1
IPexpress User-Configurable Mode SLICEs LUTs Registers I/O sysMEM EBRs fMAX (MHz)
Config 1 1000 1710 715 39 3 112
Config 2 194 211 262 104 2 219
Config 3 2235 3730 1833 217 5 115

1. Performance and utilization data are generated targeting an LFXP20E-5F484C device using Lattice Diamond 1.0 and Synplify Pro 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 Part Numbers
LatticeECP3 NCO-DDS-E3-U2
LatticeECP2M NCO-DDS-PM-U2
LatticeECP2 NCO-DDS-P2-U2
LatticeECP NCO-DDS-E2-U2
LatticeEC NCO-DDS-E2-U2
LatticeSC NCO-DDS-SC-U2
LatticeXP2 NCO-DDS-X2-U2
LatticeXP NCO-DDS-XM-U2

IP Version: 2.6

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.

Documentation

Quick Reference Information Resources Downloads
TITLE NUMBER VERSION DATE FORMAT SIZE
Numerically Controlled Oscillator IP Core User's Guide
IPUG36 02.5 6/28/2010 PDF 781 KB
TITLE NUMBER VERSION DATE FORMAT SIZE
IP Module Evaluation Tutorial
8/1/2004 PDF 216.1 KB
IPexpress Quick Start Guide
8/5/2010 PDF 304.8 KB
TITLE NUMBER VERSION DATE FORMAT SIZE
The FPGA as a Flexible and Low-Cost Digital Solution for Wireless Base Stations
3/1/2007 PDF 384.9 KB
TITLE NUMBER VERSION DATE FORMAT SIZE
Evaluation Package for Numerically Controlled Oscillator for LatticeEC - Config 1
12/1/2004 ZIP 790.5 KB
Evaluation Package for Numerically Controlled Oscillator for LatticeEC - Config 2
12/1/2004 ZIP 338.4 KB
Evaluation Package for Numerically Controlled Oscillator for LatticeEC - Config 3
12/1/2004 ZIP 1.3 MB
Evaluation Package for Numerically Controlled Oscillator for LatticeECP - Config 1
12/1/2004 ZIP 461.6 KB
Evaluation Package for Numerically Controlled Oscillator for LatticeECP - Config 2
12/1/2004 ZIP 383.1 KB
Evaluation Package for Numerically Controlled Oscillator for LatticeECP - Config 3
12/1/2004 ZIP 696.7 KB