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


/******************************************************************************* 
**************************************************************************** 
 **                                                                              
 **                                                                              
 ** Project Name         : DDS                                             
 **                                                                              
 ** Author               : Daniel J. Morelli 
 ** Creation Date        : 03/04/96 18:20:21                                               
 ** Version Number       : 1.0                                                  
 **                                                                              
 ** Revision History     :                                                       
 **                                                                              
 ** Date          Initials         Modification                                  
 **                                                                              
 **                                                                              
 ** Description          :                                                       
 **                                                                              
 ** This ,module is the 1/4 wave sin lookup table.  The input to the block is 
 ** the phase angle value and the output is the 8 bit sin value. 
 **  
 **                                                                              
 *******************************************************************************/ 
 
 module romtab ( 
	PHASEADD,		// phase address value 
	QWAVESIN);		// 1/4 wave sin value 
 
// Port types 
 
input[5:0] PHASEADD; 
 
output[6:0] QWAVESIN; 
 
reg[6:0]	sinrom;				// sine wave ROM 
 
// design architecture 
	assign QWAVESIN = sinrom; 
 
	always @(PHASEADD) 
	case (PHASEADD) 
		6'd0:		sinrom = 7'd0;			// 0.0 
		6'd1:	 	sinrom = 7'd3;			//3.12 
		6'd2:	 	sinrom = 7'd6;			//6.23 
		6'd3:	 	sinrom = 7'd9;			//9.34 
		6'd4:	 	sinrom = 7'd12;			//12.44 
		6'd5:	 	sinrom = 7'd16;			//15.55 
		6'd6:	 	sinrom = 7'd19;			//18.63 
		6'd7:	 	sinrom = 7'd22;			//21.71 
		6'd8:	 	sinrom = 7'd25;			//24.78 
		6'd9:	 	sinrom = 7'd28;			//27.82 
		6'd10:	 	sinrom = 7'd31;			//30.86 
		6'd11:	 	sinrom = 7'd34;			//33.87 
		6'd12:	 	sinrom = 7'd37;			//36.87 
		6'd13:	 	sinrom = 7'd40;			//39.84 
		6'd14:	 	sinrom = 7'd43;			//42.79 
		6'd15:	 	sinrom = 7'd46;			//45.71 
		6'd16:	 	sinrom = 7'd49;			//48.60 
		6'd17:	 	sinrom = 7'd51;			//51.47 
		6'd18:	 	sinrom = 7'd54;			//54.30 
		6'd19:	 	sinrom = 7'd57;			//57.10 
		6'd20:	 	sinrom = 7'd60;			//59.87 
		6'd21:	 	sinrom = 7'd63;			//62.60 
		6'd22:	 	sinrom = 7'd65;			//65.29 
		6'd23:	 	sinrom = 7'd68;			//67.94 
		6'd24:	 	sinrom = 7'd71;			//70.56 
		6'd25:	 	sinrom = 7'd73;			//73.13 
		6'd26:	 	sinrom = 7'd76;			//75.65 
		6'd27:	 	sinrom = 7'd78;			//78.13 
		6'd28:	 	sinrom = 7'd81;			//80.57 
		6'd29:	 	sinrom = 7'd83;			//82.95 
		6'd30:	 	sinrom = 7'd85;			//85.29 
		6'd31:	 	sinrom = 7'd88;			//87.57 
		6'd32:	 	sinrom = 7'd90;			//89.80 
		6'd33:	 	sinrom = 7'd92;			//91.98 
		6'd34:	 	sinrom = 7'd94;			//94.10 
		6'd35:	 	sinrom = 7'd96;			//96.17 
		6'd36:	 	sinrom = 7'd98;			//98.17 
		6'd37:	 	sinrom = 7'd100;		//100.11 
		6'd38:	 	sinrom = 7'd102;			//102.01 
		6'd39:	 	sinrom = 7'd104;			//103.83 
		6'd40:	 	sinrom = 7'd106;			//105.60 
		6'd41:	 	sinrom = 7'd107;			//107.30 
		6'd42:	 	sinrom = 7'd109;			//108.93 
		6'd43:	 	sinrom = 7'd111;			//110.50 
		6'd44:	 	sinrom = 7'd112;			//112.00 
		6'd45:	 	sinrom = 7'd113;			//113.44 
		6'd46:	 	sinrom = 7'd115;			//114.81 
		6'd47:	 	sinrom = 7'd116;			//116.10 
		6'd48:	 	sinrom = 7'd117;			//117.33 
		6'd49:	 	sinrom = 7'd118;			//118.49 
		6'd50:	 	sinrom = 7'd120;			//119.58 
		6'd51:	 	sinrom = 7'd121;			//120.59 
		6'd52:	 	sinrom = 7'd122;			//121.53 
		6'd53:	 	sinrom = 7'd122;			//122.40 
		6'd54:	 	sinrom = 7'd123;			//123.19 
		6'd55:	 	sinrom = 7'd124;			//123.91 
		6'd56:	 	sinrom = 7'd125;			//124.56 
		6'd57:	 	sinrom = 7'd125;			//125.13 
		6'd58:	 	sinrom = 7'd126;			//125.63 
		6'd59:	 	sinrom = 7'd126;			//126.04 
		6'd60:	 	sinrom = 7'd126;			//126.39 
		6'd61:	 	sinrom = 7'd127;			//126.66 
		6'd62:	 	sinrom = 7'd127;			//126.85 
		6'd63:	 	sinrom = 7'd127;			//126.96 
	endcase 
 
endmodule