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的分享