AD9361纯逻辑控制从0到1连载7-根据射频频率计算VCO参数

AD9361从0到1连载8-fast lock之profile存器设置verilog实现
不管是使用使用何总方法,要修改射频频率,首先需要计算出对应的VCO参数。下面贴出根据射频频率lo_freq,计算出对应的参数。包括lo_int、lo_frac、lo_div、以及param参数(VCO的一个参数集合),param定义如下:
//VCO Output Level[3:0] = param[46:43]
//VCO Varactor[3:0] = param[42:39]
//VCO Bias Ref[2:0] = param[38:36]
//VCO Bias Tcf[1:0] = param[35:34]
//VCO Cal Offset[3:0] = param[33:30]
//VCO Varactor Reference[3:0] = param[29:26]
//Charge Pump Current[5:0] = param[25:20]
//Loop Filter C2[3:0] = param[19:16]
//Loop Filter C1[3:0] = param[15:12]
//Loop Filter R1[3:0] = param[11:8]
//Loop Filter C3[3:0] = param[7:4]
//Loop Filter R3[3:0] = param[3:0]

文件freq2param.v

module freq2param(
	input	             clk,
	input	             rst_n,
	input		[32:0]   lo_freq,
	output	reg	[3:0]	 lo_div,
	output	reg	[23:0]	 lo_frac,
	output	reg	[15:0]	 lo_int,
	output				 lo_freq_err,
	output	reg [33:0]   lo_vco,	
	output	reg [46:0]	 param,	
	output	reg			 param_vld
);
	
	`include "loop_filter_lut.sv"

	parameter  [63:0]  mutiplex_b = (2**32)*8388593/`PLL_REF_CLK;
	
	reg    [2:0]	 state;	
    reg    [32:0]    lo_freq_r;
    reg    [33:0]    int_freq;
    reg    [26:0]    frac_freq;  
 
    wire  [63:0]   mult_frac_result;
    mult_frac mult_frac_inst(
        .CLK(clk),
        .A(frac_freq),
        .B(mutiplex_b[36:0]),
        .P(mult_frac_result)); 		

	assign lo_freq_err = (lo_freq>34'd6000000000) || (lo_freq<34'd46875000);
	
	function [33:0] vco_lut;
	input	[5:0]	index;
	begin
		case(index)
			0 :vco_lut=34'd12605000000;	
			1 :vco_lut=34'd12245000000;
			2 :vco_lut=34'd11906000000;
			3 :vco_lut=34'd11588000000;
			4 :vco_lut=34'd11288000000;
			5 :vco_lut=34'd11007000000;
			6 :vco_lut=34'd10742000000;
			7 :vco_lut=34'd10492000000;
			8 :vco_lut=34'd10258000000;
			9 :vco_lut=34'd10036000000;
			10:vco_lut=34'd9827800000 ;
			11:vco_lut=34'd9631100000 ;
			12:vco_lut=34'd9445300000 ;
			13:vco_lut=34'd9269800000 ;
			14:vco_lut=34'd9103600000 ;
			15:vco_lut=34'd8946300000 ;
			16:vco_lut=34'd8797000000 ;
			17:vco_lut=34'd8655300000 ;
			18:vco_lut=34'd8520600000 ;
			19:vco_lut=34'd8392300000 ;
			20:vco_lut=34'd8269900000 ;
			21:vco_lut=34'd8153100000 ;
			22:vco_lut=34'd8041400000 ;
			23:vco_lut=34'd7934400000 ;
			24:vco_lut=34'd7831800000 ;
			25:vco_lut=34'd7733200000 ;
			26:vco_lut=34'd7638400000 ;
			27:vco_lut=34'd7547100000 ;
			28:vco_lut=34'd7459000000 ;
			29:vco_lut=34'd7374000000 ;
			30:vco_lut=34'd7291900000 ;
			31:vco_lut=34'd7212400000 ;
			32:vco_lut=34'd7135500000 ;
			33:vco_lut=34'd7061000000 ;
			34:vco_lut=34'd6988700000 ;
			35:vco_lut=34'd6918600000 ;
			36:vco_lut=34'd6850600000 ;
			37:vco_lut=34'd6784600000 ;
			38:vco_lut=34'd6720500000 ;
			39:vco_lut=34'd6658200000 ;
			40:vco_lut=34'd6597800000 ;
			41:vco_lut=34'd6539200000 ;
			42:vco_lut=34'd6482300000 ;
			43:vco_lut=34'd6427000000 ;
			44:vco_lut=34'd6373400000 ;
			45:vco_lut=34'd6321400000 ;
			46:vco_lut=34'd6270900000 ;
			47:vco_lut=34'd6222000000 ;
			48:vco_lut=34'd6174500000 ;
			49:vco_lut=34'd6128400000 ;
			50:vco_lut=34'd6083600000 ;
			51:vco_lut=34'd6040100000 ;
			52:vco_lut=34'd5997700000 ;
			default:vco_lut=0;
		endcase
	end
	endfunction	
	
	reg [5:0] 	index;

	always @ (posedge clk)
	begin
		if(~rst_n) lo_freq_r<=0;
		else lo_freq_r<=lo_freq;
	end

	always @ (posedge clk)
	begin
		if(~rst_n) begin
			state<=0;
			index<=0;
			param_vld<=0;
		end
		else if(lo_freq_r!=lo_freq && !lo_freq_err) begin
			state<=0;
			param_vld<=0;
		end	
		else case(state)
			0:begin
				state<=1;				
				lo_vco<=lo_freq;
				lo_div<=0;
			end
			//compute lo_div
			1:begin
				if(lo_vco<=34'd6000000000) begin
					lo_vco<=lo_vco<<1;
					lo_div<=lo_div+1;
				end
				else begin
					lo_div<=lo_div-1;
					int_freq<=0;
					lo_int<=0;
					state<=2;
				end
			end
			//compute lo_int
			2:begin
				if(int_freq>lo_vco) begin
					int_freq<=int_freq-`PLL_REF_CLK;
					lo_int<=lo_int-1;
					state<=3;
				end               
				else if(int_freq==lo_vco)
					state<=3;
				else begin
					int_freq<=int_freq+`PLL_REF_CLK;
					lo_int<=lo_int+1;
				end
			end
			//compute lo_frac
			3:begin
				frac_freq<=lo_vco-int_freq;
				state<=4;
			end
			4:state<=5;
			5:begin
				lo_frac<=mult_frac_result[31]? mult_frac_result[55:32]+1:mult_frac_result[55:32];
				index<=0;
				state<=6;
			end			
			//search LUT table for Synthesizer parameters
			6:begin
				if(lo_vco<vco_lut(index))
					index<=index+1;
				else 
					state<=7;
			end
			7:begin
				param_vld<=1;
			`ifdef TDD_40M
				param<=tdd_40m(index);
			`elsif TDD_60M
				param<=tdd_60m(index);
			`elsif TDD_80M
				param<=tdd_80m(index);
			`elsif FDD_40M
				param<=fdd_40m(index);
			`elsif FDD_60M
				param<=fdd_60m(index);
			`else //FDD_80M
				param<=fdd_80m(index);
			`endif
			end		
			default:state<=0;
		endcase
	end  
		
endmodule


文件"loop_filter_lut.sv"

/**************************************************************************************************
//VCO Output Level[3:0]		  = function[46:43]
//VCO Varactor[3:0]			  = function[42:39]
//VCO Bias Ref[2:0]			  = function[38:36]
//VCO Bias Tcf[1:0]			  = function[35:34]
//VCO Cal Offset[3:0]		  = function[33:30]
//VCO Varactor Reference[3:0] = function[29:26]
//Charge Pump Current[5:0]	  = function[25:20]
//Loop Filter C2[3:0]		  = function[19:16]
//Loop Filter C1[3:0]		  = function[15:12]
//Loop Filter R1[3:0]		  = function[11:8]
//Loop Filter C3[3:0]		  = function[7:4]
//Loop Filter R3[3:0]		  = function[3:0]
***************************************************************************************************/

/******************************************FDD 40M************************************************/
function [46:0]	fdd_40m;
input	[5:0]	index;
begin
	case(index)
	0 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd14,	4'd6,	4'd14,	4'd5,	4'd15};
	1 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd14,	4'd6,	4'd14,	4'd5,	4'd15};
	2 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	3 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd8 ,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	4 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd8 ,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	5 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd9 ,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	6 :fdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd9 ,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	7 :fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd10,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	8 :fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd10,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	9 :fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd11,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	10:fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd14,	4'd12,	6'd11,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	11:fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd13,	4'd12,	6'd12,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	12:fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd12,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	13:fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd13,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	14:fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd13,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	15:fdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd14,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	16:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd13,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	17:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd14,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	18:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd14,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	19:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	20:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	21:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	22:fdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd13,	4'd12,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	23:fdd_40m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	24:fdd_40m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	25:fdd_40m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd13,	4'd12,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	26:fdd_40m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	27:fdd_40m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd17,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	28:fdd_40m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd17,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	29:fdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	30:fdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	31:fdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	32:fdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd7,	4'd14,	4'd5,	4'd15};
	33:fdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	34:fdd_40m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd20,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	35:fdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	36:fdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	37:fdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	38:fdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	39:fdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	40:fdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	41:fdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	42:fdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	43:fdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	44:fdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	45:fdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	46:fdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	47:fdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	48:fdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	49:fdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	50:fdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	51:fdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	52:fdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd14,	4'd5,	4'd15};
	default:fdd_40m=47'd0;
	endcase
end
endfunction

/******************************************FDD 60M************************************************/
function [46:0]	fdd_60m;
input	[5:0]	index;
begin
	case(index)
	0 :fdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd13,	4'd15,	4'd12,	4'd12,	4'd5,	4'd14};
	1 :fdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd13,	4'd15,	4'd12,	4'd12,	4'd5,	4'd14};
	2 :fdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd13,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	3 :fdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd14,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	4 :fdd_60m = {4'd13,	4'd1,	3'd5,	2'd2,	4'd15,	4'd12,	6'd15,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	5 :fdd_60m = {4'd13,	4'd1,	3'd5,	2'd2,	4'd15,	4'd12,	6'd16,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	6 :fdd_60m = {4'd13,	4'd1,	3'd5,	2'd2,	4'd15,	4'd12,	6'd16,	4'd15,	4'd12,	4'd12,	4'd5,	4'd14};
	7 :fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd17,	4'd15,	4'd12,	4'd12,	4'd5,	4'd14};
	8 :fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd18,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	9 :fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd19,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	10:fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd14,	4'd12,	6'd20,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	11:fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd13,	4'd12,	6'd21,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	12:fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd22,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	13:fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd22,	4'd15,	4'd12,	4'd12,	4'd5,	4'd14};
	14:fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd23,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	15:fdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd24,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	16:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd24,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	17:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd25,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	18:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd25,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	19:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd26,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	20:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	21:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	22:fdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd13,	4'd12,	6'd29,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	23:fdd_60m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	24:fdd_60m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd29,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	25:fdd_60m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd13,	4'd12,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	26:fdd_60m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd29,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	27:fdd_60m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd29,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	28:fdd_60m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd30,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	29:fdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd24,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	30:fdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd25,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	31:fdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd25,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	32:fdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd26,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	33:fdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd26,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	34:fdd_60m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd35,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	35:fdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd33,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	36:fdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd34,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	37:fdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd35,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	38:fdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd35,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	39:fdd_60m = {4'd8 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd26,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	40:fdd_60m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd15,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	41:fdd_60m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd15,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	42:fdd_60m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd15,	4'd13,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	43:fdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	44:fdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	45:fdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	46:fdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	47:fdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	48:fdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	49:fdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd27,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	50:fdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	51:fdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd28,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};
	52:fdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd29,	4'd15,	4'd13,	4'd12,	4'd5,	4'd13};	
	default:fdd_60m=47'd0;
	endcase
end
endfunction

/******************************************FDD 80M************************************************/
function [46:0]	fdd_80m;
input	[5:0]	index;
begin
	case(index)
	0 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	1 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	2 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	3 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd7 ,	4'd14,	4'd6,	4'd14,	4'd4,	4'd14};
	4 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd8 ,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	5 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd8 ,	4'd14,	4'd6,	4'd13,	4'd5,	4'd14};
	6 :fdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd9 ,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	7 :fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd9 ,	4'd14,	4'd6,	4'd13,	4'd5,	4'd14};
	8 :fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd10,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	9 :fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd10,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	10:fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd14,	4'd12,	6'd11,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	11:fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd13,	4'd12,	6'd11,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	12:fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd12,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	13:fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd12,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	14:fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd13,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	15:fdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd13,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	16:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd13,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	17:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd14,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	18:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd14,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	19:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd15,	4'd15,	4'd7,	4'd13,	4'd5,	4'd14};
	20:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	21:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	22:fdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd13,	4'd12,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	23:fdd_80m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	24:fdd_80m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	25:fdd_80m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd13,	4'd12,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	26:fdd_80m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	27:fdd_80m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	28:fdd_80m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd17,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	29:fdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd13,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	30:fdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	31:fdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	32:fdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	33:fdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	34:fdd_80m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd19,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	35:fdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd14,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	36:fdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	37:fdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	38:fdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	39:fdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	40:fdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	41:fdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	42:fdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	43:fdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	44:fdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	45:fdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	46:fdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	47:fdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	48:fdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	49:fdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	50:fdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd15,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	51:fdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	52:fdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd16,	4'd15,	4'd6,	4'd13,	4'd5,	4'd14};
	default:fdd_80m=47'd0;
	endcase
end
endfunction

/******************************************TDD 40M************************************************/
function [46:0]	tdd_40m;
input	[5:0]	index;
begin
	case(index)
	0 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd27,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	1 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd27,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	2 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd26,	4'd11,	4'd15,	4'd12,	4'd4,	4'd13};
	3 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd28,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	4 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd30,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	5 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd32,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	6 :tdd_40m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd33,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	7 :tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd35,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	8 :tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd37,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	9 :tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd38,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	10:tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd14,	4'd12,	6'd40,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	11:tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd13,	4'd12,	6'd42,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	12:tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd44,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	13:tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd45,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	14:tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd47,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	15:tdd_40m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd49,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	16:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd48,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	17:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd50,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	18:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd51,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	19:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd53,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	20:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd55,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	21:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd56,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	22:tdd_40m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd13,	4'd12,	6'd58,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	23:tdd_40m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd57,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	24:tdd_40m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd58,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	25:tdd_40m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd13,	4'd12,	6'd56,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	26:tdd_40m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd58,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	27:tdd_40m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd59,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	28:tdd_40m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd61,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	29:tdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd49,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	30:tdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd50,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	31:tdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd51,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	32:tdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd52,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	33:tdd_40m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd53,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	34:tdd_40m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd63,	4'd11,	4'd14,	4'd12,	4'd3,	4'd13};
	35:tdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd52,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	36:tdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd53,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	37:tdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd54,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	38:tdd_40m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd56,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	39:tdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd53,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	40:tdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd54,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	41:tdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd55,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	42:tdd_40m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd56,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	43:tdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd54,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	44:tdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd54,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	45:tdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd55,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	46:tdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd56,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	47:tdd_40m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd57,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	48:tdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd54,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	49:tdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd55,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	50:tdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd56,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	51:tdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd57,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	52:tdd_40m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd58,	4'd12,	4'd15,	4'd12,	4'd4,	4'd13};
	default:tdd_40m=47'd0;
	endcase
end
endfunction

/******************************************TDD 60M************************************************/
function [46:0]	tdd_60m;
input	[5:0]	index;
begin
	case(index)
	0 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd26,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	1 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd26,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	2 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd26,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	3 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd30,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	4 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd32,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	5 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd31,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	6 :tdd_60m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd33,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	7 :tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd37,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	8 :tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd38,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	9 :tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd38,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	10:tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd14,	4'd12,	6'd42,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	11:tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd13,	4'd12,	6'd41,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	12:tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd45,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	13:tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd47,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	14:tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd46,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	15:tdd_60m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd48,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	16:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd49,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	17:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd51,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	18:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd50,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	19:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd52,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	20:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd56,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	21:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd55,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	22:tdd_60m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd13,	4'd12,	6'd57,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	23:tdd_60m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd55,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	24:tdd_60m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd57,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	25:tdd_60m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd13,	4'd12,	6'd55,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	26:tdd_60m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd59,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	27:tdd_60m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd60,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	28:tdd_60m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd48,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	29:tdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd47,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	30:tdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd49,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	31:tdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd50,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	32:tdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd52,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	33:tdd_60m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd52,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	34:tdd_60m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd63,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	35:tdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd63,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	36:tdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd63,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	37:tdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd63,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	38:tdd_60m = {4'd9 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd63,	4'd11,	4'd14,	4'd11,	4'd3,	4'd13};
	39:tdd_60m = {4'd8 ,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd63,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	40:tdd_60m = {4'd8 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd63,	4'd11,	4'd14,	4'd11,	4'd3,	4'd13};
	41:tdd_60m = {4'd8 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd63,	4'd10,	4'd14,	4'd11,	4'd3,	4'd13};
	42:tdd_60m = {4'd8 ,	4'd1,	3'd7,	2'd2,	4'd11,	4'd14,	6'd63,	4'd10,	4'd14,	4'd11,	4'd3,	4'd13};
	43:tdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd54,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	44:tdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd53,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	45:tdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd54,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	46:tdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd55,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	47:tdd_60m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd56,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	48:tdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd53,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	49:tdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd55,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	50:tdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd55,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	51:tdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd56,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	52:tdd_60m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd57,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};	
	default:tdd_60m=47'd0;
	endcase
end
endfunction

/******************************************TDD 80M************************************************/
function [46:0]	tdd_80m;
input	[5:0]	index;
begin
	case(index)
	0 :tdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd21,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	1 :tdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd21,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	2 :tdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd20,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	3 :tdd_80m = {4'd13,	4'd1,	3'd4,	2'd2,	4'd15,	4'd12,	6'd22,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	4 :tdd_80m = {4'd13,	4'd1,	3'd5,	2'd2,	4'd15,	4'd12,	6'd23,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	5 :tdd_80m = {4'd13,	4'd1,	3'd5,	2'd2,	4'd15,	4'd12,	6'd25,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	6 :tdd_80m = {4'd13,	4'd1,	3'd5,	2'd2,	4'd15,	4'd12,	6'd26,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	7 :tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd27,	4'd11,	4'd15,	4'd11,	4'd4,	4'd13};
	8 :tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd29,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	9 :tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd15,	4'd12,	6'd30,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	10:tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd14,	4'd12,	6'd31,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	11:tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd13,	4'd12,	6'd33,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	12:tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd34,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	13:tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd35,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	14:tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd37,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	15:tdd_80m = {4'd13,	4'd1,	3'd6,	2'd2,	4'd12,	4'd12,	6'd38,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	16:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd37,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	17:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd39,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	18:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd40,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	19:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd41,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	20:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd43,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	21:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd44,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	22:tdd_80m = {4'd12,	4'd1,	3'd7,	2'd2,	4'd13,	4'd12,	6'd45,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	23:tdd_80m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd44,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	24:tdd_80m = {4'd11,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd45,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	25:tdd_80m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd13,	4'd12,	6'd44,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	26:tdd_80m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd45,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	27:tdd_80m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd46,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	28:tdd_80m = {4'd10,	4'd1,	3'd7,	2'd2,	4'd12,	4'd12,	6'd47,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	29:tdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd38,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	30:tdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd39,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	31:tdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd40,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	32:tdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd41,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	33:tdd_80m = {4'd10,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd41,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	34:tdd_80m = {4'd10,	4'd1,	3'd7,	2'd3,	4'd12,	4'd14,	6'd54,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	35:tdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd41,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	36:tdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd42,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	37:tdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd42,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	38:tdd_80m = {4'd9 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd43,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	39:tdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd41,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	40:tdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd42,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	41:tdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd43,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	42:tdd_80m = {4'd8 ,	4'd2,	3'd7,	2'd2,	4'd13,	4'd13,	6'd44,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	43:tdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd14,	4'd13,	6'd42,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	44:tdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd42,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	45:tdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd43,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	46:tdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd44,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	47:tdd_80m = {4'd7 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd45,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	48:tdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd42,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	49:tdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd43,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};
	50:tdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd44,	4'd12,	4'd15,	4'd10,	4'd4,	4'd12};
	51:tdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd44,	4'd12,	4'd15,	4'd11,	4'd4,	4'd13};
	52:tdd_80m = {4'd6 ,	4'd2,	3'd7,	2'd3,	4'd15,	4'd13,	6'd45,	4'd12,	4'd15,	4'd11,	4'd4,	4'd12};	
	default:tdd_80m=47'd0;
	endcase
end
endfunction




链接:https://pan.baidu.com/s/1QFf-576UAVBNP5XrA5V72Q
提取码:27ok
–来自百度网盘超级会员V3的分享

你可能感兴趣的:(AD9361纯逻辑控制,AD9361,AD9363,SDR,软件无线电)