# timetag_core_regs

### Time-tagging core registers

Wishbone slave for registers related to time-tagging core

### 1. Memory map summary

HW address | Type | Name | HDL prefix | C prefix
--- | --- | --- | --- | ---
0x00 | REG | seconds_upper | seconds_upper | seconds_upper
0x04 | REG | seconds_lower | seconds_lower | seconds_lower
0x08 | REG | coarse | coarse | coarse
0x0c | REG | time_trig_seconds_upper | time_trig_seconds_upper | time_trig_seconds_upper
0x10 | REG | time_trig_seconds_lower | time_trig_seconds_lower | time_trig_seconds_lower
0x14 | REG | time_trig_coarse | time_trig_coarse | time_trig_coarse
0x18 | REG | trig_tag_seconds_upper | trig_tag_seconds_upper | trig_tag_seconds_upper
0x1c | REG | trig_tag_seconds_lower | trig_tag_seconds_lower | trig_tag_seconds_lower
0x20 | REG | trig_tag_coarse | trig_tag_coarse | trig_tag_coarse
0x24 | REG | acq_start_tag_seconds_upper | acq_start_tag_seconds_upper | acq_start_tag_seconds_upper
0x28 | REG | acq_start_tag_seconds_lower | acq_start_tag_seconds_lower | acq_start_tag_seconds_lower
0x2c | REG | acq_start_tag_coarse | acq_start_tag_coarse | acq_start_tag_coarse
0x30 | REG | acq_stop_tag_seconds_upper | acq_stop_tag_seconds_upper | acq_stop_tag_seconds_upper
0x34 | REG | acq_stop_tag_seconds_lower | acq_stop_tag_seconds_lower | acq_stop_tag_seconds_lower
0x38 | REG | acq_stop_tag_coarse | acq_stop_tag_coarse | acq_stop_tag_coarse
0x3c | REG | acq_end_tag_seconds_upper | acq_end_tag_seconds_upper | acq_end_tag_seconds_upper
0x40 | REG | acq_end_tag_seconds_lower | acq_end_tag_seconds_lower | acq_end_tag_seconds_lower
0x44 | REG | acq_end_tag_coarse | acq_end_tag_coarse | acq_end_tag_coarse

### 2. Register description

### 2.1. seconds_upper

HW prefix: | seconds_upper
HW address: | 0x0
C prefix: | seconds_upper
C block offset: | 0x0

Timetag seconds register (upper)

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
seconds_upper[7:0]

- seconds_upper [rw]: Timetag seconds

### 2.2. seconds_lower

HW prefix: | seconds_lower
HW address: | 0x4
C prefix: | seconds_lower
C block offset: | 0x4

Timetag seconds register (lower)

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

- seconds_lower [rw]: Timetag seconds register (lower)

### 2.3. coarse

HW prefix: | coarse
HW address: | 0x8
C prefix: | coarse
C block offset: | 0x8

Timetag coarse time register, system clock ticks (125MHz)

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

- coarse [rw]: Timetag coarse time

### 2.4. time_trig_seconds_upper

HW prefix: | time_trig_seconds_upper
HW address: | 0xc
C prefix: | time_trig_seconds_upper
C block offset: | 0xc

Time trigger seconds register (upper)

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
time_trig_seconds_upper[7:0]

- time_trig_seconds_upper [rw]: Time trigger seconds

### 2.5. time_trig_seconds_lower

HW prefix: | time_trig_seconds_lower
HW address: | 0x10
C prefix: | time_trig_seconds_lower
C block offset: | 0x10

Time trigger seconds register (lower)

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

- time_trig_seconds_lower [rw]: Time trigger seconds register (lower)

### 2.6. time_trig_coarse

HW prefix: | time_trig_coarse
HW address: | 0x14
C prefix: | time_trig_coarse
C block offset: | 0x14

Time trigger coarse time register, system clock ticks (125MHz)

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

- time_trig_coarse [rw]: Time trigger coarse value

### 2.7. trig_tag_seconds_upper

HW prefix: | trig_tag_seconds_upper
HW address: | 0x18
C prefix: | trig_tag_seconds_upper
C block offset: | 0x18

Trigger time-tag seconds register (upper)

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
trig_tag_seconds_upper[7:0]

- trig_tag_seconds_upper [ro]: Trigger time-tag seconds
  Holds time-tag seconds of the last trigger event

### 2.8. trig_tag_seconds_lower

HW prefix: | trig_tag_seconds_lower
HW address: | 0x1c
C prefix: | trig_tag_seconds_lower
C block offset: | 0x1c

Trigger time-tag seconds register (lower)

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

- trig_tag_seconds_lower [ro]: Trigger time-tag seconds register (lower)

### 2.9. trig_tag_coarse

HW prefix: | trig_tag_coarse
HW address: | 0x20
C prefix: | trig_tag_coarse
C block offset: | 0x20

Trigger time-tag coarse time (system clock ticks 125MHz) register

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

- trig_tag_coarse [ro]: Trigger time-tag coarse time
  Holds time-tag coarse time of the last trigger event

### 2.10. acq_start_tag_seconds_upper

HW prefix: | acq_start_tag_seconds_upper
HW address: | 0x24
C prefix: | acq_start_tag_seconds_upper
C block offset: | 0x24

Acquisition start time-tag seconds register (upper)

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
acq_start_tag_seconds_upper[7:0]

- acq_start_tag_seconds_upper [ro]: Acquisition start time-tag seconds
  Holds time-tag seconds of the last acquisition start event

### 2.11. acq_start_tag_seconds_lower

HW prefix: | acq_start_tag_seconds_lower
HW address: | 0x28
C prefix: | acq_start_tag_seconds_lower
C block offset: | 0x28

Acquisition start time-tag seconds register (lower)

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

- acq_start_tag_seconds_lower [ro]: Acquisition start time-tag seconds register (lower)

### 2.12. acq_start_tag_coarse

HW prefix: | acq_start_tag_coarse
HW address: | 0x2c
C prefix: | acq_start_tag_coarse
C block offset: | 0x2c

Acquisition start time-tag coarse time (system clock ticks 125MHz) register

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

- acq_start_tag_coarse [ro]: Acquisition start time-tag coarse time
  Holds time-tag coarse time of the last acquisition start event

### 2.13. acq_stop_tag_seconds_upper

HW prefix: | acq_stop_tag_seconds_upper
HW address: | 0x30
C prefix: | acq_stop_tag_seconds_upper
C block offset: | 0x30

Acquisition stop time-tag seconds register (upper)

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
acq_stop_tag_seconds_upper[7:0]

- acq_stop_tag_seconds_upper [ro]: Acquisition stop time-tag seconds
  Holds time-tag seconds of the last acquisition stop event

### 2.14. acq_stop_tag_seconds_lower

HW prefix: | acq_stop_tag_seconds_lower
HW address: | 0x34
C prefix: | acq_stop_tag_seconds_lower
C block offset: | 0x34

Acquisition stop time-tag seconds register (lower)

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

- acq_stop_tag_seconds_lower [ro]: Acquisition stop time-tag seconds register (lower)

### 2.15. acq_stop_tag_coarse

HW prefix: | acq_stop_tag_coarse
HW address: | 0x38
C prefix: | acq_stop_tag_coarse
C block offset: | 0x38

Acquisition stop time-tag coarse time (system clock ticks 125MHz) register

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

- acq_stop_tag_coarse [ro]: Acquisition stop time-tag coarse time
  Holds time-tag coarse time of the last acquisition stop event

### 2.16. acq_end_tag_seconds_upper

HW prefix: | acq_end_tag_seconds_upper
HW address: | 0x3c
C prefix: | acq_end_tag_seconds_upper
C block offset: | 0x3c

Acquisition end time-tag seconds register (upper)

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
acq_end_tag_seconds_upper[7:0]

- acq_end_tag_seconds_upper [ro]: Acquisition end time-tag seconds
  Holds time-tag seconds of the last acquisition end event

### 2.17. acq_end_tag_seconds_lower

HW prefix: | acq_end_tag_seconds_lower
HW address: | 0x40
C prefix: | acq_end_tag_seconds_lower
C block offset: | 0x40

Acquisition end time-tag seconds register (lower)

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

- acq_end_tag_seconds_lower [ro]: Acquisition end time-tag seconds register (lower)

### 2.18. acq_end_tag_coarse

HW prefix: | acq_end_tag_coarse
HW address: | 0x44
C prefix: | acq_end_tag_coarse
C block offset: | 0x44

Acquisition end time-tag coarse time (system clock ticks 125MHz) register

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

- acq_end_tag_coarse [ro]: Acquisition end time-tag coarse time
  Holds time-tag coarse time of the last acquisition end event