This core is a straight forward implementation of a Numerically Controlled Oscillator (NCO) - also referred to as a Direct Digital Synthesizer (DDS). In addition to generating the standard SIN/COS output waveforms, it also generates Square and Sawtooth outputs with very little extra resource. NCOs form an essential component in many Digital Comms applications - especially in digital modulation, up/down conversion and the generation of complex signals. This core is also great for test-benches as it provides a simple way to generate input stimuli for Filters, DSP circuits etc. The following Mean-square plot shows an example output tone of 1.7MHz for a 100MHz sample frequency. The NCO pdf datasheet fully documents how to use and configure the NCO core.
- 12-bit signed output data samples
- 32-bit phase accumulator
- Phase resolution of 2Pi/2^12
- Frequency resolution of Fs/2^32 (Fs = sample frequency)
- ~70 dB Signal-to-Noise Ratio (SNR)
- ~70 db Spurious Free Dynamic Range (SFDR)
- Simultaneous SIN, COS, SQUARE and SAWTOOTH outputs
- 2 clock-cycle latency
- Sample rates of 500MHz or better (Xilinx Virtex 5 / Altera Stratix III)
- Basic version fully tested and complete
- Future optimizations to improve SNR/SFDR will be considered
Help and Support
Simon Doherty is a Senior Design Consultant at ZIPcores If you require further assistance regarding the implementation of this core, you may contact me directly via my Opencores email alias at email@example.com. Alternatively you may contact me through customer support at ZIPcores.