www.pudn.com > dds_quicklogic.zip > DDS.V


`include "romtab.v" 
`include "claadd8s.v" 
`include "loadfw.v" 
`include "loadpw.v" 
`include "sinlup.v" 
`include "phasea.v" 
`include "phasemod.v" 
`include "pngen.v" 
 
/******************************************************************************* 
 **************************************************************************** 
 **                                                                              
 **                                                                              
 ** Project Name         : DDS                                             
 **                                                                              
 ** Author               : Daniel J. Morelli 
 ** Creation Date        : 03/04/96 21:51:00                                               
 ** Version Number       : 1.0                                                  
 **                                                                              
 ** Revision History     :                                                       
 **                                                                              
 ** Date          Initials         Modification                                  
 **                                                                              
 **                                                                              
 ** Description          :                                                       
 **                                                                              
 ** This is the top level of the Direct Digital Synthesizer 
 **  
 **                                                                              
 *******************************************************************************/ 
 
 module dds( 
	RESETN,				// global reset 
	PNCLK,				// PN generator clock 
	SYSCLK,				// system clock 
	FREQWORD,			// input frequency word from external pins 
	FWWRN,				// low asserted frequency word write strobe 
	PHASEWORD,			// input phase word from external pins 
	PWWRN,				// low asserted frequency word write strobe 
	IDATA,				// I axis data 
	QDATA,				// Q axis data 
	COS,					// digital cos output 
	SIN,					// digital sin output 
	MCOS,					// modulated digital cos output 
	MSIN,					// modulated digital sin output 
	DACCLK,				// DAC clock to signal when to load DDS sin value 
	DACOUT);				// DAC output of sin wave 
 
// Port types 
 
input SYSCLK, PNCLK, RESETN, FWWRN, PWWRN; 
input[31:0] FREQWORD; 
input[7:0] PHASEWORD; 
 
output DACCLK, COS, SIN, MCOS, MSIN, IDATA, QDATA; 
output[7:0] DACOUT; 
 
wire[31:0] 	syncfreq;		//synchronous frequency word 
wire[7:0]	syncphswd;		//synchronous phase word 
wire[7:0] 	phase;			// phase output from phase accumulator 
wire[7:0]	modphase;		// modulated phase value after phase mod block 
 
// design architecture 
	assign DACCLK = SYSCLK; 
 
//--------------------------------------------------------------- 
// this module is not part of the NCO 
// this module is used to generate random data 
// to modulate the NCO output 
//--------------------------------------------------------------- 
 pngen U_pngen( 
	RESETN,				// global reset 
	PNCLK,				// PN generator clock 
	IDATA,				// I axis data 
	QDATA);				// Q axis data 
//--------------------------------------------------------------- 
 
 loadfw U_loadfw( 
	RESETN,			// global reset 
	SYSCLK,			// system clock 
	FREQWORD,		// input frequency word from external pins 
	FWWRN,			// low asserted frequency word write strobe 
	syncfreq);		// synchronous frequency word 
 
 loadpw U_loadpw( 
	RESETN,			// global reset 
	SYSCLK,			// system clock 
	PHASEWORD,		// input phase word from external pins 
	PWWRN,			// low asserted frequency word write strobe 
	syncphswd);		// synchronous phase word 
 
 phasea U_phasea( 
	SYSCLK,			// system clock input 
	RESETN,			// global reset 
	syncfreq,		// synchronous frequency word 
	COS,				// digital cos output 
	SIN,				// digital sin output 
	phase);			// 8 bit quantized phase output 
 
 phasemod U_phasemod ( 
	SYSCLK,			// system clock input 
	RESETN,			// global reset 
	syncphswd,		// synchronous phase word 
	phase,			// 8 bit quantized phase value 
	MCOS,				// modulated digital cos output 
	MSIN,				// modulated digital sin output 
	modphase);		// modulated phase output 
 
 sinlup U_sinlup ( 
	SYSCLK,			// system clock input 
	RESETN,			// global reset 
	modphase,		// modulated phase output 
	DACOUT);			// DAC output of sin wave 
 
endmodule