pps_gen_wb

WR Switch PPS generator and RTC

Unit generating PPS signals and acting as a UTC real-time clock

Contents:

1. Memory map summary
2. HDL symbol
3. Register description
3.1. Control Register
3.2. Nanosecond counter register
3.3. UTC Counter register (least-significant part)
3.4. UTC Counter register (most-significant part)
3.5. Nanosecond adjustment register
3.6. UTC Adjustment register (least-significant part)
3.7. UTC Adjustment register (most-significant part)
3.8. External sync control register

1. Memory map summary

H/W Address Type Name VHDL/Verilog prefix C prefix
0x0 REG Control Register ppsg_cr CR
0x1 REG Nanosecond counter register ppsg_cntr_nsec CNTR_NSEC
0x2 REG UTC Counter register (least-significant part) ppsg_cntr_utclo CNTR_UTCLO
0x3 REG UTC Counter register (most-significant part) ppsg_cntr_utchi CNTR_UTCHI
0x4 REG Nanosecond adjustment register ppsg_adj_nsec ADJ_NSEC
0x5 REG UTC Adjustment register (least-significant part) ppsg_adj_utclo ADJ_UTCLO
0x6 REG UTC Adjustment register (most-significant part) ppsg_adj_utchi ADJ_UTCHI
0x7 REG External sync control register ppsg_escr ESCR

2. HDL symbol

rst_n_i Control Register:
clk_sys_i ppsg_cr_cnt_rst_o
wb_adr_i[2:0] ppsg_cr_cnt_en_o
wb_dat_i[31:0] ppsg_cr_cnt_adj_o
wb_dat_o[31:0] ppsg_cr_cnt_adj_i
wb_cyc_i ppsg_cr_cnt_adj_load_o
wb_sel_i[3:0] ppsg_cr_cnt_set_o
wb_stb_i ppsg_cr_pwidth_o[27:0]
wb_we_i  
wb_ack_o Nanosecond counter register:
wb_stall_o ppsg_cntr_nsec_i[27:0]
 
UTC Counter register (least-significant part):
ppsg_cntr_utclo_i[31:0]
 
UTC Counter register (most-significant part):
ppsg_cntr_utchi_i[7:0]
 
Nanosecond adjustment register:
ppsg_adj_nsec_o[27:0]
ppsg_adj_nsec_wr_o
 
UTC Adjustment register (least-significant part):
ppsg_adj_utclo_o[31:0]
ppsg_adj_utclo_wr_o
 
UTC Adjustment register (most-significant part):
ppsg_adj_utchi_o[7:0]
ppsg_adj_utchi_wr_o
 
External sync control register:
ppsg_escr_sync_o
ppsg_escr_sync_i
ppsg_escr_sync_load_o
ppsg_escr_pps_valid_o
ppsg_escr_tm_valid_o

3. Register description

3.1. Control Register

HW prefix: ppsg_cr
HW address: 0x0
C prefix: CR
C offset: 0x0
31 30 29 28 27 26 25 24
PWIDTH[27:20]
23 22 21 20 19 18 17 16
PWIDTH[19:12]
15 14 13 12 11 10 9 8
PWIDTH[11:4]
7 6 5 4 3 2 1 0
PWIDTH[3:0] CNT_SET CNT_ADJ CNT_EN CNT_RST

3.2. Nanosecond counter register

HW prefix: ppsg_cntr_nsec
HW address: 0x1
C prefix: CNTR_NSEC
C offset: 0x4

Nanosecond part of current time, expressed as number of 125 MHz reference clock cycles

31 30 29 28 27 26 25 24
- - - - CNTR_NSEC[27:24]
23 22 21 20 19 18 17 16
CNTR_NSEC[23:16]
15 14 13 12 11 10 9 8
CNTR_NSEC[15:8]
7 6 5 4 3 2 1 0
CNTR_NSEC[7:0]

3.3. UTC Counter register (least-significant part)

HW prefix: ppsg_cntr_utclo
HW address: 0x2
C prefix: CNTR_UTCLO
C offset: 0x8

Lower 32 bits of current UTC time

31 30 29 28 27 26 25 24
CNTR_UTCLO[31:24]
23 22 21 20 19 18 17 16
CNTR_UTCLO[23:16]
15 14 13 12 11 10 9 8
CNTR_UTCLO[15:8]
7 6 5 4 3 2 1 0
CNTR_UTCLO[7:0]

3.4. UTC Counter register (most-significant part)

HW prefix: ppsg_cntr_utchi
HW address: 0x3
C prefix: CNTR_UTCHI
C offset: 0xc

Highest 8 bits of current UTC time

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - - -
7 6 5 4 3 2 1 0
CNTR_UTCHI[7:0]

3.5. Nanosecond adjustment register

HW prefix: ppsg_adj_nsec
HW address: 0x4
C prefix: ADJ_NSEC
C offset: 0x10

Adjustment value for nanosecond counter

31 30 29 28 27 26 25 24
- - - - ADJ_NSEC[27:24]
23 22 21 20 19 18 17 16
ADJ_NSEC[23:16]
15 14 13 12 11 10 9 8
ADJ_NSEC[15:8]
7 6 5 4 3 2 1 0
ADJ_NSEC[7:0]

3.6. UTC Adjustment register (least-significant part)

HW prefix: ppsg_adj_utclo
HW address: 0x5
C prefix: ADJ_UTCLO
C offset: 0x14

Lower 32 bits of adjustment value for UTC

31 30 29 28 27 26 25 24
ADJ_UTCLO[31:24]
23 22 21 20 19 18 17 16
ADJ_UTCLO[23:16]
15 14 13 12 11 10 9 8
ADJ_UTCLO[15:8]
7 6 5 4 3 2 1 0
ADJ_UTCLO[7:0]

3.7. UTC Adjustment register (most-significant part)

HW prefix: ppsg_adj_utchi
HW address: 0x6
C prefix: ADJ_UTCHI
C offset: 0x18

Highest 8 bits of adjustment value for UTC

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - - -
7 6 5 4 3 2 1 0
ADJ_UTCHI[7:0]

3.8. External sync control register

HW prefix: ppsg_escr
HW address: 0x7
C prefix: ESCR
C offset: 0x1c
31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - - -
7 6 5 4 3 2 1 0
- - - - - TM_VALID PPS_VALID SYNC