feat(gps): add timer-based assisted reacquisition
Remove the fixed pseudorange start offset, preserve per-PRN navigation assistance across RF loss and power cycles, and seed coherent navigation measurement phase on reacquisition. Add full LNAV almanac visibility scheduling, power-safe QSPI journaling, RF-domain reset isolation, and PPS Gray CDC hardening with Linux, sanitizer, RTL, and end-to-end coverage.
This commit is contained in:
@@ -179,6 +179,8 @@ def main():
|
||||
value = "gps_rf_clk_selected"
|
||||
elif name == "gps_rf_data":
|
||||
value = "gps_rf_data_selected"
|
||||
elif name == "gps_clock_ready":
|
||||
value = "gps_clock_locked & gps_rf_ready"
|
||||
elif name == "gps_afe_clk":
|
||||
value = "gps_rf_clk_selected"
|
||||
elif name == "debug_systemjtag_jtag_TCK":
|
||||
@@ -775,7 +777,9 @@ module genesys2_rocket_top (
|
||||
.O(gps_trck_clk_gen)
|
||||
);
|
||||
|
||||
wire pll_ready_async = fabric_pll_locked & gps_clock_locked & gps_rf_ready & cpu_resetn;
|
||||
// The Rocket/fabric clock and RAM cache must survive loss of the external RF
|
||||
// clock. gps_clock_ready independently resets only the GPS DSP domains.
|
||||
wire pll_ready_async = fabric_pll_locked & cpu_resetn;
|
||||
(* async_reg = "true" *) reg [2:0] pll_ready_sync = 3'b000;
|
||||
reg [15:0] reset_shift = 16'hFFFF;
|
||||
always @(posedge fabric_clk) begin
|
||||
|
||||
Reference in New Issue
Block a user