Files
gps/hardware/external/gps/rtl/apb_wrappers/trck_pkg.sv
T
onur 30179df8e6 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.
2026-08-04 02:58:11 +03:00

81 lines
2.4 KiB
Systemverilog

package trck_pkg;
typedef enum logic[31 : 0]
{
CONTROL_REG_OFFSET = 0,
PRN_NUMBER_REG_OFFSET = 4,
CODE_PHASE_REG_OFFSET = 8,
ABS_SAMPLE_REG_OFFSET = 12,
STATUS_REG_OFFSET = 16,
DOPPLER_REG_OFFSET = 20,
NAV_DATA_0_REG_OFFSET = 24,
NAV_DATA_1_REG_OFFSET = 28,
NAV_DATA_2_REG_OFFSET = 32,
NAV_DATA_3_REG_OFFSET = 36,
NAV_DATA_4_REG_OFFSET = 40,
NAV_DATA_5_REG_OFFSET = 44,
NAV_DATA_6_REG_OFFSET = 48,
NAV_DATA_7_REG_OFFSET = 52,
NAV_DATA_8_REG_OFFSET = 56,
NAV_DATA_9_REG_OFFSET = 60,
TRCK_TIMEOUT_REG_OFFSET = 64,
NAV_SOLVE_TIMER_REG_OFFSET = 68,
NAV_SOLVE_PHASE_REG_OFFSET = 72,
REM_CODE_PH_REG_OFFSET = 76,
MEASUREMENT_META_REG_OFFSET = 80,
MEASUREMENT_SEQUENCE_REG_OFFSET = 84,
MEASUREMENT_CARRIER_REG_OFFSET = 88,
MEASUREMENT_ABS_SAMPLE_REG_OFFSET = 92,
MEASUREMENT_REM_CODE_REG_OFFSET = 96,
MEASUREMENT_SUM_I_REG_OFFSET = 100,
MEASUREMENT_SUM_Q_REG_OFFSET = 104,
MEASUREMENT_WBP_LO_REG_OFFSET = 108,
MEASUREMENT_WBP_HI_REG_OFFSET = 112
}trck_wrapper_reg_offets_e;
typedef enum
{
TRCK_START_POS = 0,
TRCK_STOP_POS = 1,
TRCK_INTRPT_ENABLE_POS = 2,
TRCK_NAV_BITS_INTR_ENABLE_POS = 3,
TRCK_NAV_BITS_FLAG_ENABLE_POS = 4,
TRCK_INTRPT_CLEAR_POS = 5,
TRCK_RESET_POS = 6,
TRCK_STOP_ON_UNLOCK_EN_POS = 7, // enable pos.
TRCK_STOP_ON_UNLOCK_INTR_EN_POS = 8, // enable pos.
TRCK_STOP_ON_UNLOCK_FLAG_EN_POS = 9, // enable pos.
TRCK_NAV_SOLVE_ENABLE_POS = 10, // clear pos
TRCK_NAV_SOLVE_INTR_EN_POS = 11, // clear pos
TRCK_NAV_SOLVE_FLAG_EN_POS = 12, // clear pos
TRCK_MEASUREMENT_INTR_EN_POS = 13,
TRCK_MEASUREMENT_FLAG_EN_POS = 14
}trck_control_reg_pos_e;
typedef enum
{
TRCK_BUSY_POS = 0,
TRCK_LOCKED_POS = 1,
TRCK_FIFO_OV_POS = 2,
TRCK_INTR_PEND_POS = 3,
TRCK_NAV_BITS_RCV_FLAG_POS = 4,
TRCK_UNLOCK_FLAG_POS = 5,
TRCK_NAV_SOLVE_FLAG_POS = 6,
TRCK_MEASUREMENT_FLAG_POS = 7
}trck_status_reg_pos_e;
localparam logic [7 : 0] PREAMBLE = 8'b10001011;
typedef enum {
TRCK_STATE_IDLE,
TRCK_STATE_UNLOCK,
TRCK_STATE_LOCK
}trck_state_e;
localparam TRCK_TIMEOUT_RESET_VAL = 32'h1312D00;
endpackage