📄 gpsnavidatagen_4ch.v
字号:
case (Sat1_NavBit_Cnt) 19: begin case (Sat1_Subframe_Cnt) 0,1,2: NaviData1 <= 0; 3,4: NaviData1 <= 1; endcase end 20: begin case (Sat1_Subframe_Cnt) 0,3,4: NaviData1 <= 0; 1,2: NaviData1 <= 1; endcase end 21: begin case (Sat1_Subframe_Cnt) 1,3: NaviData1 <= 0; 0,2,4: NaviData1 <= 1; endcase end default: if (NB1) NaviData1 <= ~NaviData1; //NaviData1 <= 0; endcase NAVIDATAWORD: if (NB1) NaviData1 <= ~NaviData1; //NaviData1 <= 0; endcase end`ifdef DEBUG_NAVIinitial begin i = 1; j = 1; end always @(posedge in_clk) begin// if (i == 1)// begin// $display("==============================================\n");// $display("subfram: %d\n", j);// $display("==============================================\n");// if (j==5)// j=1;// else// j = j+1;// end if (NB1) begin $display("NaviBit%d: %b\n", i, NaviData1); if (i==300) begin $display("==============================================\n"); $display("subfram: %d\n", j+1); $display("==============================================\n"); j = j+1; i = 1; end else i = i+1; end end`endif// Generate the navigation data for satellite 2always @(posedge in_clk or negedge in_Resetn) begin if (!in_Resetn) NaviData2 <= 1; else case (Sat2_status) TLMWORD: case (Sat2_NavBit_Cnt) 0, 4, 6, 7: NaviData2 <=1; 1, 2, 3, 5: NaviData2 <=0; default: if(NB2) NaviData2 <= ~NaviData2; endcase PARITY: case (Sat2_NavBit_Cnt) 24: NaviData2 <= Sat2_PrtW[0]; 25: NaviData2 <= Sat2_PrtW[1]; 26: NaviData2 <= Sat2_PrtW[2]; 27: NaviData2 <= Sat2_PrtW[3]; 28: begin if (Sat2_Word_Cnt == 9) NaviData2 <= 0; else NaviData2 <= Sat1_PrtW[4]; end 29: begin if (Sat2_Word_Cnt == 9) NaviData2 <= 0; else NaviData2 <= Sat2_PrtW[5]; end endcase HOWWORD: case (Sat2_NavBit_Cnt) 19: begin case (Sat2_Subframe_Cnt) 0,1,2: NaviData2 <= 0; 3,4: NaviData2 <= 1; endcase end 20: begin case (Sat2_Subframe_Cnt) 0,3,4: NaviData2 <= 0; 1,2: NaviData2 <= 1; endcase end 21: begin case (Sat2_Subframe_Cnt) 1,3: NaviData2 <= 0; 0,2,4: NaviData2 <= 1; endcase end default: if (NB2) NaviData2 <= ~NaviData2; endcase NAVIDATAWORD: if (NB2) NaviData2 <= ~NaviData2; endcase end// Generate the navigation data for satellite 3always @(posedge in_clk or negedge in_Resetn) begin if (!in_Resetn) NaviData3 <= 1; else case (Sat3_status) TLMWORD: case (Sat3_NavBit_Cnt) 0, 4, 6, 7: NaviData3 <=1; 1, 2, 3, 5: NaviData3 <=0; default: if(NB3) NaviData3 <= ~NaviData3; endcase PARITY: case (Sat3_NavBit_Cnt) 24: NaviData3 <= Sat3_PrtW[0]; 25: NaviData3 <= Sat3_PrtW[1]; 26: NaviData3 <= Sat3_PrtW[2]; 27: NaviData3 <= Sat3_PrtW[3]; 28: begin if (Sat3_Word_Cnt == 9) NaviData3 <= 0; else NaviData3 <= Sat3_PrtW[4]; end 29: begin if (Sat3_Word_Cnt == 9) NaviData3 <= 0; else NaviData3 <= Sat3_PrtW[5]; end endcase HOWWORD: case (Sat3_NavBit_Cnt) 19: begin case (Sat3_Subframe_Cnt) 0,1,2: NaviData3 <= 0; 3,4: NaviData3 <= 1; endcase end 20: begin case (Sat3_Subframe_Cnt) 0,3,4: NaviData3 <= 0; 1,2: NaviData3 <= 1; endcase end 21: begin case (Sat3_Subframe_Cnt) 1,3: NaviData3 <= 0; 0,2,4: NaviData3 <= 1; endcase end default: if (NB3) NaviData3 <= ~NaviData3; endcase NAVIDATAWORD: if (NB3) NaviData3 <= ~NaviData3; endcase end// Generate the navigation data for satellite 4always @(posedge in_clk or negedge in_Resetn) begin if (!in_Resetn) NaviData4 <= 1; else case (Sat4_status) TLMWORD: case (Sat4_NavBit_Cnt) 0, 4, 6, 7: NaviData4 <=1; 1, 2,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -