wrsw_dio_wb
FMC-DIO-5chttla
This core for adding timing information to a standard GPIO based on WR-CORE information.
Operation
~~~~~~~~~~
The registers used on this module allows to time-stamping input
values, generate and immediate output or programmed output at a given
time.
* Programmable output: Use seconds and cycles
registers for specify trigger time for each channel. Strobe signal is
mandatory to latch these values otherwise no output will be generated.
* Immediate output could be generate by making active the
corresponding bits of the 'Pulse generate immediately' register.
* Pulse length can be adjusted by writing a integer value at
corresponding registers. The duration will be its value x 8 ns.
* There are some few clock cycles that the system is not ready to
latch new time information to triggers. This could be checked by
checking dio trigger signals. In addition to pooling, interrupts are
generated. Note that because is no ready time is about 200 ns, it would
almost always available for the PC.
* To activate programmable
or immediate output generation, please remember to set corresponding
bits of the output configuration registers. Otherwise this system
behaves as normal GPIO without additional timing features.
*
FIFOs store seconds and cycles values of time-stamped events. Note that
the FIFO depth is 256 and that output generated signals will be also
stored in the FIFOs in the same why that external input do.
*
Interrupts are handle based on EIC registers. FIFOs not empty as well as
ready signals of each GPIO are the interrupt sources.
Todo
~~~~
* Improve documentation.
Known issues
~~~~~~~~~~~
* None
Contents:
1. Memory map summary
2. HDL symbol
3. Register description
3.1. fmc-dio 0 seconds-based trigger for pulse generation
3.2. fmc-dio 0 seconds-based trigger for pulse generation
3.3. fmc-dio 0 cycles to trigger a pulse generation
3.4. fmc-dio 1 seconds-based trigger for pulse generation
3.5. fmc-dio 1 seconds-based trigger for pulse generation
3.6. fmc-dio 1 cycles to trigger a pulse generation
3.7. fmc-dio 2 seconds-based trigger for pulse generation
3.8. fmc-dio 2 seconds-based trigger for pulse generation
3.9. fmc-dio 2 cycles to trigger a pulse generation
3.10. fmc-dio 3 seconds-based trigger for pulse generation
3.11. fmc-dio 3 seconds-based trigger for pulse generation
3.12. fmc-dio 3 cycles to trigger a pulse generation
3.13. fmc-dio 4 seconds-based trigger for pulse generation
3.14. fmc-dio 4 seconds-based trigger for pulse generation
3.15. fmc-dio 4 cycles to trigger a pulse generation
3.16. FMC-DIO output configuration register.
3.17. Time-programmable output strobe signal
3.18. FMC-DIO time trigger is ready to accept a new trigger generation request
3.19. fmc-dio channel 0 Programmable/immediate output pulse length
3.20. fmc-dio channel 1 Programmable/immediate output pulse length
3.21. fmc-dio channel 2 Programmable/immediate output pulse length
3.22. fmc-dio channel 3 Programmable/immediate output pulse length
3.23. fmc-dio channel 4 Programmable/immediate output pulse length
3.24. Pulse generate immediately
3.25. Interrupt disable register
3.26. Interrupt enable register
3.27. Interrupt mask register
3.28. Interrupt status register
3.29. FIFO 'Timestamp FIFO 0' data output register 0
3.30. FIFO 'Timestamp FIFO 0' data output register 1
3.31. FIFO 'Timestamp FIFO 0' data output register 2
3.32. FIFO 'Timestamp FIFO 0' control/status register
3.33. FIFO 'Timestamp FIFO 1' data output register 0
3.34. FIFO 'Timestamp FIFO 1' data output register 1
3.35. FIFO 'Timestamp FIFO 1' data output register 2
3.36. FIFO 'Timestamp FIFO 1' control/status register
3.37. FIFO 'Timestamp FIFO 2' data output register 0
3.38. FIFO 'Timestamp FIFO 2' data output register 1
3.39. FIFO 'Timestamp FIFO 2' data output register 2
3.40. FIFO 'Timestamp FIFO 2' control/status register
3.41. FIFO 'Timestamp FIFO 3' data output register 0
3.42. FIFO 'Timestamp FIFO 3' data output register 1
3.43. FIFO 'Timestamp FIFO 3' data output register 2
3.44. FIFO 'Timestamp FIFO 3' control/status register
3.45. FIFO 'Timestamp FIFO 4' data output register 0
3.46. FIFO 'Timestamp FIFO 4' data output register 1
3.47. FIFO 'Timestamp FIFO 4' data output register 2
3.48. FIFO 'Timestamp FIFO 4' control/status register
5. Interrupts
5.1. dio fifo not-empty 0
5.2. dio fifo not-empty 1
5.3. dio fifo not-empty 2
5.4. dio fifo not-empty 3
5.5. dio fifo not-empty 4
5.6. Channel 0 trigger ready interrupt
5.7. Channel 1 trigger ready interrupt
5.8. Channel 2 trigger ready interrupt
5.9. Channel 3 trigger ready interrupt
5.10. Channel 4 trigger ready interrupt
→
|
rst_n_i
|
|
Timestamp FIFO 0:
|
|
→
|
clk_sys_i
|
|
dio_tsf0_wr_req_i
|
←
|
⇒
|
wb_adr_i[5:0]
|
|
dio_tsf0_wr_full_o
|
→
|
⇒
|
wb_dat_i[31:0]
|
|
dio_tsf0_wr_empty_o
|
→
|
⇐
|
wb_dat_o[31:0]
|
|
dio_tsf0_tag_seconds_i[31:0]
|
⇐
|
→
|
wb_cyc_i
|
|
dio_tsf0_tag_secondsh_i[7:0]
|
⇐
|
⇒
|
wb_sel_i[3:0]
|
|
dio_tsf0_tag_cycles_i[27:0]
|
⇐
|
→
|
wb_stb_i
|
|
|
|
→
|
wb_we_i
|
|
dio fifo not-empty 0:
|
|
←
|
wb_ack_o
|
|
irq_nempty_0_i
|
←
|
←
|
wb_stall_o
|
|
|
|
←
|
wb_int_o
|
|
Timestamp FIFO 1:
|
|
|
|
|
dio_tsf1_wr_req_i
|
←
|
|
|
|
dio_tsf1_wr_full_o
|
→
|
|
|
|
dio_tsf1_wr_empty_o
|
→
|
|
|
|
dio_tsf1_tag_seconds_i[31:0]
|
⇐
|
|
|
|
dio_tsf1_tag_secondsh_i[7:0]
|
⇐
|
|
|
|
dio_tsf1_tag_cycles_i[27:0]
|
⇐
|
|
|
|
|
|
|
|
|
dio fifo not-empty 1:
|
|
|
|
|
irq_nempty_1_i
|
←
|
|
|
|
|
|
|
|
|
Timestamp FIFO 2:
|
|
|
|
|
dio_tsf2_wr_req_i
|
←
|
|
|
|
dio_tsf2_wr_full_o
|
→
|
|
|
|
dio_tsf2_wr_empty_o
|
→
|
|
|
|
dio_tsf2_tag_seconds_i[31:0]
|
⇐
|
|
|
|
dio_tsf2_tag_secondsh_i[7:0]
|
⇐
|
|
|
|
dio_tsf2_tag_cycles_i[27:0]
|
⇐
|
|
|
|
|
|
|
|
|
dio fifo not-empty 2:
|
|
|
|
|
irq_nempty_2_i
|
←
|
|
|
|
|
|
|
|
|
Timestamp FIFO 3:
|
|
|
|
|
dio_tsf3_wr_req_i
|
←
|
|
|
|
dio_tsf3_wr_full_o
|
→
|
|
|
|
dio_tsf3_wr_empty_o
|
→
|
|
|
|
dio_tsf3_tag_seconds_i[31:0]
|
⇐
|
|
|
|
dio_tsf3_tag_secondsh_i[7:0]
|
⇐
|
|
|
|
dio_tsf3_tag_cycles_i[27:0]
|
⇐
|
|
|
|
|
|
|
|
|
dio fifo not-empty 3:
|
|
|
|
|
irq_nempty_3_i
|
←
|
|
|
|
|
|
|
|
|
Timestamp FIFO 4:
|
|
|
|
|
dio_tsf4_wr_req_i
|
←
|
|
|
|
dio_tsf4_wr_full_o
|
→
|
|
|
|
dio_tsf4_wr_empty_o
|
→
|
|
|
|
dio_tsf4_tag_seconds_i[31:0]
|
⇐
|
|
|
|
dio_tsf4_tag_secondsh_i[7:0]
|
⇐
|
|
|
|
dio_tsf4_tag_cycles_i[27:0]
|
⇐
|
|
|
|
|
|
|
|
|
dio fifo not-empty 4:
|
|
|
|
|
irq_nempty_4_i
|
←
|
|
|
|
|
|
|
|
|
fmc-dio 0 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trig0_seconds_o[31:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 0 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trigh0_seconds_o[7:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 0 cycles to trigger a pulse generation:
|
|
|
|
|
dio_cyc0_cyc_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 1 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trig1_seconds_o[31:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 1 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trigh1_seconds_o[7:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 1 cycles to trigger a pulse generation:
|
|
|
|
|
dio_cyc1_cyc_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 2 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trig2_seconds_o[31:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 2 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trigh2_seconds_o[7:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 2 cycles to trigger a pulse generation:
|
|
|
|
|
dio_cyc2_cyc_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 3 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trig3_seconds_o[31:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 3 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trigh3_seconds_o[7:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 3 cycles to trigger a pulse generation:
|
|
|
|
|
dio_cyc3_cyc_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 4 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trig4_seconds_o[31:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 4 seconds-based trigger for pulse generation:
|
|
|
|
|
dio_trigh4_seconds_o[7:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio 4 cycles to trigger a pulse generation:
|
|
|
|
|
dio_cyc4_cyc_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
FMC-DIO output configuration register. :
|
|
|
|
|
dio_out_mode_o[4:0]
|
⇒
|
|
|
|
|
|
|
|
|
Time-programmable output strobe signal:
|
|
|
|
|
dio_latch_time_ch0_o
|
→
|
|
|
|
dio_latch_time_ch1_o
|
→
|
|
|
|
dio_latch_time_ch2_o
|
→
|
|
|
|
dio_latch_time_ch3_o
|
→
|
|
|
|
dio_latch_time_ch4_o
|
→
|
|
|
|
|
|
|
|
|
FMC-DIO time trigger is ready to accept a new trigger generation request:
|
|
|
|
|
dio_trig_rdy_i[4:0]
|
⇐
|
|
|
|
|
|
|
|
|
Channel 0 trigger ready interrupt:
|
|
|
|
|
irq_trigger_ready_0_i
|
←
|
|
|
|
|
|
|
|
|
Channel 1 trigger ready interrupt:
|
|
|
|
|
irq_trigger_ready_1_i
|
←
|
|
|
|
|
|
|
|
|
Channel 2 trigger ready interrupt:
|
|
|
|
|
irq_trigger_ready_2_i
|
←
|
|
|
|
|
|
|
|
|
Channel 3 trigger ready interrupt:
|
|
|
|
|
irq_trigger_ready_3_i
|
←
|
|
|
|
|
|
|
|
|
Channel 4 trigger ready interrupt:
|
|
|
|
|
irq_trigger_ready_4_i
|
←
|
|
|
|
|
|
|
|
|
fmc-dio channel 0 Programmable/immediate output pulse length:
|
|
|
|
|
dio_prog0_pulse_length_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio channel 1 Programmable/immediate output pulse length:
|
|
|
|
|
dio_prog1_pulse_length_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio channel 2 Programmable/immediate output pulse length:
|
|
|
|
|
dio_prog2_pulse_length_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio channel 3 Programmable/immediate output pulse length:
|
|
|
|
|
dio_prog3_pulse_length_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
fmc-dio channel 4 Programmable/immediate output pulse length:
|
|
|
|
|
dio_prog4_pulse_length_o[27:0]
|
⇒
|
|
|
|
|
|
|
|
|
Pulse generate immediately:
|
|
|
|
|
dio_pulse_imm_0_o
|
→
|
|
|
|
dio_pulse_imm_1_o
|
→
|
|
|
|
dio_pulse_imm_2_o
|
→
|
|
|
|
dio_pulse_imm_3_o
|
→
|
|
|
|
dio_pulse_imm_4_o
|
→
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 0' data output register 0:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 0' data output register 1:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 0' data output register 2:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 1' data output register 0:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 1' data output register 1:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 1' data output register 2:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 2' data output register 0:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 2' data output register 1:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 2' data output register 2:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 3' data output register 0:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 3' data output register 1:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 3' data output register 2:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 4' data output register 0:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 4' data output register 1:
|
|
|
|
|
|
|
|
|
|
FIFO 'Timestamp FIFO 4' data output register 2:
|
|
HW prefix:
|
dio_trig0
|
HW address:
|
0x0
|
C prefix:
|
TRIG0
|
C offset:
|
0x0
|
trigger seconds value for dio output (LSB).
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
SECONDS[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
TBD
HW prefix:
|
dio_trigh0
|
HW address:
|
0x1
|
C prefix:
|
TRIGH0
|
C offset:
|
0x4
|
trigger seconds value for dio output (MSB).
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[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
Number of seconds
HW prefix:
|
dio_cyc0
|
HW address:
|
0x2
|
C prefix:
|
CYC0
|
C offset:
|
0x8
|
sub-second accuracy values (clock cycles) to trigger dio output channels.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
CYC[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
CYC[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
CYC[15:8]
|
|
|
|
|
|
|
|
-
CYC
[read/write]: cycles field
Number of cycles in one second (depends on current clock frequency)
HW prefix:
|
dio_trig1
|
HW address:
|
0x3
|
C prefix:
|
TRIG1
|
C offset:
|
0xc
|
trigger seconds value for dio output (LSB).
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
SECONDS[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
TBD
HW prefix:
|
dio_trigh1
|
HW address:
|
0x4
|
C prefix:
|
TRIGH1
|
C offset:
|
0x10
|
trigger seconds value for dio output (MSB).
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[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
Number of seconds
HW prefix:
|
dio_cyc1
|
HW address:
|
0x5
|
C prefix:
|
CYC1
|
C offset:
|
0x14
|
sub-second accuracy values (clock cycles) to trigger dio output channels.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
CYC[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
CYC[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
CYC[15:8]
|
|
|
|
|
|
|
|
-
CYC
[read/write]: cycles field
Number of cycles in one second (depends on current clock frequency)
HW prefix:
|
dio_trig2
|
HW address:
|
0x6
|
C prefix:
|
TRIG2
|
C offset:
|
0x18
|
trigger seconds value for dio output (LSB).
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
SECONDS[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
TBD
HW prefix:
|
dio_trigh2
|
HW address:
|
0x7
|
C prefix:
|
TRIGH2
|
C offset:
|
0x1c
|
trigger seconds value for dio output (MSB).
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[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
Number of seconds
HW prefix:
|
dio_cyc2
|
HW address:
|
0x8
|
C prefix:
|
CYC2
|
C offset:
|
0x20
|
sub-second accuracy values (clock cycles) to trigger dio output channels.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
CYC[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
CYC[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
CYC[15:8]
|
|
|
|
|
|
|
|
-
CYC
[read/write]: cycles field
Number of cycles in one second (depends on current clock frequency)
HW prefix:
|
dio_trig3
|
HW address:
|
0x9
|
C prefix:
|
TRIG3
|
C offset:
|
0x24
|
trigger seconds value for dio output (LSB).
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
SECONDS[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
TBD
HW prefix:
|
dio_trigh3
|
HW address:
|
0xa
|
C prefix:
|
TRIGH3
|
C offset:
|
0x28
|
trigger seconds value for dio output (MSB).
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[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
Number of seconds
HW prefix:
|
dio_cyc3
|
HW address:
|
0xb
|
C prefix:
|
CYC3
|
C offset:
|
0x2c
|
sub-second accuracy values (clock cycles) to trigger dio output channels.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
CYC[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
CYC[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
CYC[15:8]
|
|
|
|
|
|
|
|
-
CYC
[read/write]: cycles field
Number of cycles in one second (depends on current clock frequency)
HW prefix:
|
dio_trig4
|
HW address:
|
0xc
|
C prefix:
|
TRIG4
|
C offset:
|
0x30
|
trigger seconds value for dio output (LSB).
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
SECONDS[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
TBD
HW prefix:
|
dio_trigh4
|
HW address:
|
0xd
|
C prefix:
|
TRIGH4
|
C offset:
|
0x34
|
trigger seconds value for dio output (MSB).
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[7:0]
|
|
|
|
|
|
|
|
-
SECONDS
[read/write]: seconds field
Number of seconds
HW prefix:
|
dio_cyc4
|
HW address:
|
0xe
|
C prefix:
|
CYC4
|
C offset:
|
0x38
|
sub-second accuracy values (clock cycles) to trigger dio output channels.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
CYC[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
CYC[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
CYC[15:8]
|
|
|
|
|
|
|
|
-
CYC
[read/write]: cycles field
Number of cycles in one second (depends on current clock frequency)
HW prefix:
|
dio_out
|
HW address:
|
0xf
|
C prefix:
|
OUT
|
C offset:
|
0x3c
|
It allows to choose a programmable output or a standard GPIO output.
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
|
-
|
-
|
-
|
MODE[4:0]
|
|
|
|
|
-
MODE
[read/write]: outmode
1 for programmable, 0 for GPIO output mode
HW prefix:
|
dio_latch
|
HW address:
|
0x10
|
C prefix:
|
LATCH
|
C offset:
|
0x40
|
It is used to latch second/cycles values generation just 1 clock cycle output
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_CH4
|
TIME_CH3
|
TIME_CH2
|
TIME_CH1
|
TIME_CH0
|
-
TIME_CH0
[write-only]: Sincle-cycle strobe
It generates a one-clock cycle pulse for programmable time latching
-
TIME_CH1
[write-only]: Sincle-cycle strobe
It generates a one-clock cycle pulse for programmable time latching
-
TIME_CH2
[write-only]: Sincle-cycle strobe
It generates a one-clock cycle pulse for programmable time latching
-
TIME_CH3
[write-only]: Sincle-cycle strobe
It generates a one-clock cycle pulse for programmable time latching
-
TIME_CH4
[write-only]: Sincle-cycle strobe
It generates a one-clock cycle pulse for programmable time latching
HW prefix:
|
dio_trig
|
HW address:
|
0x11
|
C prefix:
|
TRIG
|
C offset:
|
0x44
|
ready state, waiting new trigger commands for dio output.
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
|
-
|
-
|
-
|
RDY[4:0]
|
|
|
|
|
-
RDY
[read-only]: trig_rdy field
TBD
HW prefix:
|
dio_prog0_pulse
|
HW address:
|
0x12
|
C prefix:
|
PROG0_PULSE
|
C offset:
|
0x48
|
Number of clk_ref clock ticks that output will be active
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
LENGTH[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
LENGTH[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
LENGTH[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
LENGTH[7:0]
|
|
|
|
|
|
|
|
-
LENGTH
[read/write]: number of ticks field for channel 0
ticks number
HW prefix:
|
dio_prog1_pulse
|
HW address:
|
0x13
|
C prefix:
|
PROG1_PULSE
|
C offset:
|
0x4c
|
Number of clk_ref clock ticks that output will be active
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
LENGTH[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
LENGTH[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
LENGTH[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
LENGTH[7:0]
|
|
|
|
|
|
|
|
-
LENGTH
[read/write]: number of ticks field for channel 1
ticks number
HW prefix:
|
dio_prog2_pulse
|
HW address:
|
0x14
|
C prefix:
|
PROG2_PULSE
|
C offset:
|
0x50
|
Number of clk_ref clock ticks that output will be active
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
LENGTH[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
LENGTH[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
LENGTH[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
LENGTH[7:0]
|
|
|
|
|
|
|
|
-
LENGTH
[read/write]: number of ticks field for channel 2
ticks number
HW prefix:
|
dio_prog3_pulse
|
HW address:
|
0x15
|
C prefix:
|
PROG3_PULSE
|
C offset:
|
0x54
|
Number of clk_ref clock ticks that output will be active
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
LENGTH[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
LENGTH[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
LENGTH[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
LENGTH[7:0]
|
|
|
|
|
|
|
|
-
LENGTH
[read/write]: number of ticks field for channel 3
ticks number
HW prefix:
|
dio_prog4_pulse
|
HW address:
|
0x16
|
C prefix:
|
PROG4_PULSE
|
C offset:
|
0x58
|
Number of clk_ref clock ticks that output will be active
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
LENGTH[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
LENGTH[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
LENGTH[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
LENGTH[7:0]
|
|
|
|
|
|
|
|
-
LENGTH
[read/write]: number of ticks field for channel 4
ticks number
HW prefix:
|
dio_pulse
|
HW address:
|
0x17
|
C prefix:
|
PULSE
|
C offset:
|
0x5c
|
It is used to generate a pulse immediately
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
|
-
|
-
|
-
|
IMM_4
|
IMM_3
|
IMM_2
|
IMM_1
|
IMM_0
|
-
IMM_0
[write-only]: pulse_gen_now_0
It generates a pulse
-
IMM_1
[write-only]: pulse_gen_now_1
It generates a pulse
-
IMM_2
[write-only]: pulse_gen_now_2
It generates a pulse
-
IMM_3
[write-only]: pulse_gen_now_3
It generates a pulse
-
IMM_4
[write-only]: pulse_gen_now_4
It generates a pulse
HW prefix:
|
dio_eic_idr
|
HW address:
|
0x18
|
C prefix:
|
EIC_IDR
|
C offset:
|
0x60
|
Writing 1 disables handling of the interrupt associated with corresponding bit. Writin 0 has no effect.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
TRIGGER_READY_4
|
TRIGGER_READY_3
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TRIGGER_READY_2
|
TRIGGER_READY_1
|
TRIGGER_READY_0
|
NEMPTY_4
|
NEMPTY_3
|
NEMPTY_2
|
NEMPTY_1
|
NEMPTY_0
|
-
NEMPTY_0
[write-only]: dio fifo not-empty 0
write 1: disable interrupt 'dio fifo not-empty 0'
write 0: no effect
-
NEMPTY_1
[write-only]: dio fifo not-empty 1
write 1: disable interrupt 'dio fifo not-empty 1'
write 0: no effect
-
NEMPTY_2
[write-only]: dio fifo not-empty 2
write 1: disable interrupt 'dio fifo not-empty 2'
write 0: no effect
-
NEMPTY_3
[write-only]: dio fifo not-empty 3
write 1: disable interrupt 'dio fifo not-empty 3'
write 0: no effect
-
NEMPTY_4
[write-only]: dio fifo not-empty 4
write 1: disable interrupt 'dio fifo not-empty 4'
write 0: no effect
-
TRIGGER_READY_0
[write-only]: Channel 0 trigger ready interrupt
write 1: disable interrupt 'Channel 0 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_1
[write-only]: Channel 1 trigger ready interrupt
write 1: disable interrupt 'Channel 1 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_2
[write-only]: Channel 2 trigger ready interrupt
write 1: disable interrupt 'Channel 2 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_3
[write-only]: Channel 3 trigger ready interrupt
write 1: disable interrupt 'Channel 3 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_4
[write-only]: Channel 4 trigger ready interrupt
write 1: disable interrupt 'Channel 4 trigger ready interrupt'
write 0: no effect
HW prefix:
|
dio_eic_ier
|
HW address:
|
0x19
|
C prefix:
|
EIC_IER
|
C offset:
|
0x64
|
Writing 1 enables handling of the interrupt associated with corresponding bit. Writin 0 has no effect.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
TRIGGER_READY_4
|
TRIGGER_READY_3
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TRIGGER_READY_2
|
TRIGGER_READY_1
|
TRIGGER_READY_0
|
NEMPTY_4
|
NEMPTY_3
|
NEMPTY_2
|
NEMPTY_1
|
NEMPTY_0
|
-
NEMPTY_0
[write-only]: dio fifo not-empty 0
write 1: enable interrupt 'dio fifo not-empty 0'
write 0: no effect
-
NEMPTY_1
[write-only]: dio fifo not-empty 1
write 1: enable interrupt 'dio fifo not-empty 1'
write 0: no effect
-
NEMPTY_2
[write-only]: dio fifo not-empty 2
write 1: enable interrupt 'dio fifo not-empty 2'
write 0: no effect
-
NEMPTY_3
[write-only]: dio fifo not-empty 3
write 1: enable interrupt 'dio fifo not-empty 3'
write 0: no effect
-
NEMPTY_4
[write-only]: dio fifo not-empty 4
write 1: enable interrupt 'dio fifo not-empty 4'
write 0: no effect
-
TRIGGER_READY_0
[write-only]: Channel 0 trigger ready interrupt
write 1: enable interrupt 'Channel 0 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_1
[write-only]: Channel 1 trigger ready interrupt
write 1: enable interrupt 'Channel 1 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_2
[write-only]: Channel 2 trigger ready interrupt
write 1: enable interrupt 'Channel 2 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_3
[write-only]: Channel 3 trigger ready interrupt
write 1: enable interrupt 'Channel 3 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_4
[write-only]: Channel 4 trigger ready interrupt
write 1: enable interrupt 'Channel 4 trigger ready interrupt'
write 0: no effect
HW prefix:
|
dio_eic_imr
|
HW address:
|
0x1a
|
C prefix:
|
EIC_IMR
|
C offset:
|
0x68
|
Shows which interrupts are enabled. 1 means that the interrupt associated with the bitfield is enabled
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
TRIGGER_READY_4
|
TRIGGER_READY_3
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TRIGGER_READY_2
|
TRIGGER_READY_1
|
TRIGGER_READY_0
|
NEMPTY_4
|
NEMPTY_3
|
NEMPTY_2
|
NEMPTY_1
|
NEMPTY_0
|
-
NEMPTY_0
[read-only]: dio fifo not-empty 0
read 1: interrupt 'dio fifo not-empty 0' is enabled
read 0: interrupt 'dio fifo not-empty 0' is disabled
-
NEMPTY_1
[read-only]: dio fifo not-empty 1
read 1: interrupt 'dio fifo not-empty 1' is enabled
read 0: interrupt 'dio fifo not-empty 1' is disabled
-
NEMPTY_2
[read-only]: dio fifo not-empty 2
read 1: interrupt 'dio fifo not-empty 2' is enabled
read 0: interrupt 'dio fifo not-empty 2' is disabled
-
NEMPTY_3
[read-only]: dio fifo not-empty 3
read 1: interrupt 'dio fifo not-empty 3' is enabled
read 0: interrupt 'dio fifo not-empty 3' is disabled
-
NEMPTY_4
[read-only]: dio fifo not-empty 4
read 1: interrupt 'dio fifo not-empty 4' is enabled
read 0: interrupt 'dio fifo not-empty 4' is disabled
-
TRIGGER_READY_0
[read-only]: Channel 0 trigger ready interrupt
read 1: interrupt 'Channel 0 trigger ready interrupt' is enabled
read 0: interrupt 'Channel 0 trigger ready interrupt' is disabled
-
TRIGGER_READY_1
[read-only]: Channel 1 trigger ready interrupt
read 1: interrupt 'Channel 1 trigger ready interrupt' is enabled
read 0: interrupt 'Channel 1 trigger ready interrupt' is disabled
-
TRIGGER_READY_2
[read-only]: Channel 2 trigger ready interrupt
read 1: interrupt 'Channel 2 trigger ready interrupt' is enabled
read 0: interrupt 'Channel 2 trigger ready interrupt' is disabled
-
TRIGGER_READY_3
[read-only]: Channel 3 trigger ready interrupt
read 1: interrupt 'Channel 3 trigger ready interrupt' is enabled
read 0: interrupt 'Channel 3 trigger ready interrupt' is disabled
-
TRIGGER_READY_4
[read-only]: Channel 4 trigger ready interrupt
read 1: interrupt 'Channel 4 trigger ready interrupt' is enabled
read 0: interrupt 'Channel 4 trigger ready interrupt' is disabled
HW prefix:
|
dio_eic_isr
|
HW address:
|
0x1b
|
C prefix:
|
EIC_ISR
|
C offset:
|
0x6c
|
Each bit represents the state of corresponding interrupt. 1 means the
interrupt is pending. Writing 1 to a bit clears the corresponding
interrupt. Writing 0 has no effect.
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
TRIGGER_READY_4
|
TRIGGER_READY_3
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TRIGGER_READY_2
|
TRIGGER_READY_1
|
TRIGGER_READY_0
|
NEMPTY_4
|
NEMPTY_3
|
NEMPTY_2
|
NEMPTY_1
|
NEMPTY_0
|
-
NEMPTY_0
[read/write]: dio fifo not-empty 0
read 1: interrupt 'dio fifo not-empty 0' is pending
read 0: interrupt not pending
write 1: clear interrupt 'dio fifo not-empty 0'
write 0: no effect
-
NEMPTY_1
[read/write]: dio fifo not-empty 1
read 1: interrupt 'dio fifo not-empty 1' is pending
read 0: interrupt not pending
write 1: clear interrupt 'dio fifo not-empty 1'
write 0: no effect
-
NEMPTY_2
[read/write]: dio fifo not-empty 2
read 1: interrupt 'dio fifo not-empty 2' is pending
read 0: interrupt not pending
write 1: clear interrupt 'dio fifo not-empty 2'
write 0: no effect
-
NEMPTY_3
[read/write]: dio fifo not-empty 3
read 1: interrupt 'dio fifo not-empty 3' is pending
read 0: interrupt not pending
write 1: clear interrupt 'dio fifo not-empty 3'
write 0: no effect
-
NEMPTY_4
[read/write]: dio fifo not-empty 4
read 1: interrupt 'dio fifo not-empty 4' is pending
read 0: interrupt not pending
write 1: clear interrupt 'dio fifo not-empty 4'
write 0: no effect
-
TRIGGER_READY_0
[read/write]: Channel 0 trigger ready interrupt
read 1: interrupt 'Channel 0 trigger ready interrupt' is pending
read 0: interrupt not pending
write 1: clear interrupt 'Channel 0 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_1
[read/write]: Channel 1 trigger ready interrupt
read 1: interrupt 'Channel 1 trigger ready interrupt' is pending
read 0: interrupt not pending
write 1: clear interrupt 'Channel 1 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_2
[read/write]: Channel 2 trigger ready interrupt
read 1: interrupt 'Channel 2 trigger ready interrupt' is pending
read 0: interrupt not pending
write 1: clear interrupt 'Channel 2 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_3
[read/write]: Channel 3 trigger ready interrupt
read 1: interrupt 'Channel 3 trigger ready interrupt' is pending
read 0: interrupt not pending
write 1: clear interrupt 'Channel 3 trigger ready interrupt'
write 0: no effect
-
TRIGGER_READY_4
[read/write]: Channel 4 trigger ready interrupt
read 1: interrupt 'Channel 4 trigger ready interrupt' is pending
read 0: interrupt not pending
write 1: clear interrupt 'Channel 4 trigger ready interrupt'
write 0: no effect
HW prefix:
|
dio_tsf0_r0
|
HW address:
|
0x1c
|
C prefix:
|
TSF0_R0
|
C offset:
|
0x70
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
TAG_SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_SECONDS[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDS
[read-only]: seconds time
HW prefix:
|
dio_tsf0_r1
|
HW address:
|
0x1d
|
C prefix:
|
TSF0_R1
|
C offset:
|
0x74
|
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
|
TAG_SECONDSH[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDSH
[read-only]: seconds time H
HW prefix:
|
dio_tsf0_r2
|
HW address:
|
0x1e
|
C prefix:
|
TSF0_R2
|
C offset:
|
0x78
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
TAG_CYCLES[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_CYCLES[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_CYCLES[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_CYCLES[7:0]
|
|
|
|
|
|
|
|
-
TAG_CYCLES
[read-only]: Sub-second accuracy
HW prefix:
|
dio_tsf0_csr
|
HW address:
|
0x1f
|
C prefix:
|
TSF0_CSR
|
C offset:
|
0x7c
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
EMPTY
|
FULL
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
USEDW[7:0]
|
|
|
|
|
|
|
|
-
FULL
[read-only]: FIFO full flag
1: FIFO 'Timestamp FIFO 0' is full
0: FIFO is not full
-
EMPTY
[read-only]: FIFO empty flag
1: FIFO 'Timestamp FIFO 0' is empty
0: FIFO is not empty
-
USEDW
[read-only]: FIFO counter
Number of data records currently being stored in FIFO 'Timestamp FIFO 0'
HW prefix:
|
dio_tsf1_r0
|
HW address:
|
0x20
|
C prefix:
|
TSF1_R0
|
C offset:
|
0x80
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
TAG_SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_SECONDS[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDS
[read-only]: seconds time
HW prefix:
|
dio_tsf1_r1
|
HW address:
|
0x21
|
C prefix:
|
TSF1_R1
|
C offset:
|
0x84
|
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
|
TAG_SECONDSH[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDSH
[read-only]: seconds time H
HW prefix:
|
dio_tsf1_r2
|
HW address:
|
0x22
|
C prefix:
|
TSF1_R2
|
C offset:
|
0x88
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
TAG_CYCLES[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_CYCLES[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_CYCLES[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_CYCLES[7:0]
|
|
|
|
|
|
|
|
-
TAG_CYCLES
[read-only]: Sub-second accuracy
HW prefix:
|
dio_tsf1_csr
|
HW address:
|
0x23
|
C prefix:
|
TSF1_CSR
|
C offset:
|
0x8c
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
EMPTY
|
FULL
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
USEDW[7:0]
|
|
|
|
|
|
|
|
-
FULL
[read-only]: FIFO full flag
1: FIFO 'Timestamp FIFO 1' is full
0: FIFO is not full
-
EMPTY
[read-only]: FIFO empty flag
1: FIFO 'Timestamp FIFO 1' is empty
0: FIFO is not empty
-
USEDW
[read-only]: FIFO counter
Number of data records currently being stored in FIFO 'Timestamp FIFO 1'
HW prefix:
|
dio_tsf2_r0
|
HW address:
|
0x24
|
C prefix:
|
TSF2_R0
|
C offset:
|
0x90
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
TAG_SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_SECONDS[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDS
[read-only]: seconds time
HW prefix:
|
dio_tsf2_r1
|
HW address:
|
0x25
|
C prefix:
|
TSF2_R1
|
C offset:
|
0x94
|
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
|
TAG_SECONDSH[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDSH
[read-only]: seconds time H
HW prefix:
|
dio_tsf2_r2
|
HW address:
|
0x26
|
C prefix:
|
TSF2_R2
|
C offset:
|
0x98
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
TAG_CYCLES[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_CYCLES[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_CYCLES[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_CYCLES[7:0]
|
|
|
|
|
|
|
|
-
TAG_CYCLES
[read-only]: Sub-second accuracy
HW prefix:
|
dio_tsf2_csr
|
HW address:
|
0x27
|
C prefix:
|
TSF2_CSR
|
C offset:
|
0x9c
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
EMPTY
|
FULL
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
USEDW[7:0]
|
|
|
|
|
|
|
|
-
FULL
[read-only]: FIFO full flag
1: FIFO 'Timestamp FIFO 2' is full
0: FIFO is not full
-
EMPTY
[read-only]: FIFO empty flag
1: FIFO 'Timestamp FIFO 2' is empty
0: FIFO is not empty
-
USEDW
[read-only]: FIFO counter
Number of data records currently being stored in FIFO 'Timestamp FIFO 2'
HW prefix:
|
dio_tsf3_r0
|
HW address:
|
0x28
|
C prefix:
|
TSF3_R0
|
C offset:
|
0xa0
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
TAG_SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_SECONDS[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDS
[read-only]: seconds time
HW prefix:
|
dio_tsf3_r1
|
HW address:
|
0x29
|
C prefix:
|
TSF3_R1
|
C offset:
|
0xa4
|
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
|
TAG_SECONDSH[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDSH
[read-only]: seconds time H
HW prefix:
|
dio_tsf3_r2
|
HW address:
|
0x2a
|
C prefix:
|
TSF3_R2
|
C offset:
|
0xa8
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
TAG_CYCLES[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_CYCLES[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_CYCLES[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_CYCLES[7:0]
|
|
|
|
|
|
|
|
-
TAG_CYCLES
[read-only]: Sub-second accuracy
HW prefix:
|
dio_tsf3_csr
|
HW address:
|
0x2b
|
C prefix:
|
TSF3_CSR
|
C offset:
|
0xac
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
EMPTY
|
FULL
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
USEDW[7:0]
|
|
|
|
|
|
|
|
-
FULL
[read-only]: FIFO full flag
1: FIFO 'Timestamp FIFO 3' is full
0: FIFO is not full
-
EMPTY
[read-only]: FIFO empty flag
1: FIFO 'Timestamp FIFO 3' is empty
0: FIFO is not empty
-
USEDW
[read-only]: FIFO counter
Number of data records currently being stored in FIFO 'Timestamp FIFO 3'
HW prefix:
|
dio_tsf4_r0
|
HW address:
|
0x2c
|
C prefix:
|
TSF4_R0
|
C offset:
|
0xb0
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
TAG_SECONDS[31:24]
|
|
|
|
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_SECONDS[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_SECONDS[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_SECONDS[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDS
[read-only]: seconds time
HW prefix:
|
dio_tsf4_r1
|
HW address:
|
0x2d
|
C prefix:
|
TSF4_R1
|
C offset:
|
0xb4
|
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
|
TAG_SECONDSH[7:0]
|
|
|
|
|
|
|
|
-
TAG_SECONDSH
[read-only]: seconds time H
HW prefix:
|
dio_tsf4_r2
|
HW address:
|
0x2e
|
C prefix:
|
TSF4_R2
|
C offset:
|
0xb8
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
TAG_CYCLES[27:24]
|
|
|
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
TAG_CYCLES[23:16]
|
|
|
|
|
|
|
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
TAG_CYCLES[15:8]
|
|
|
|
|
|
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
TAG_CYCLES[7:0]
|
|
|
|
|
|
|
|
-
TAG_CYCLES
[read-only]: Sub-second accuracy
HW prefix:
|
dio_tsf4_csr
|
HW address:
|
0x2f
|
C prefix:
|
TSF4_CSR
|
C offset:
|
0xbc
|
31
|
30
|
29
|
28
|
27
|
26
|
25
|
24
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
23
|
22
|
21
|
20
|
19
|
18
|
17
|
16
|
-
|
-
|
-
|
-
|
-
|
-
|
EMPTY
|
FULL
|
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
USEDW[7:0]
|
|
|
|
|
|
|
|
-
FULL
[read-only]: FIFO full flag
1: FIFO 'Timestamp FIFO 4' is full
0: FIFO is not full
-
EMPTY
[read-only]: FIFO empty flag
1: FIFO 'Timestamp FIFO 4' is empty
0: FIFO is not empty
-
USEDW
[read-only]: FIFO counter
Number of data records currently being stored in FIFO 'Timestamp FIFO 4'
HW prefix:
|
dio_nempty_0
|
C prefix:
|
NEMPTY_0
|
Trigger:
|
high level
|
Interrupt active when dio input FIFO contains any timestamps.
HW prefix:
|
dio_nempty_1
|
C prefix:
|
NEMPTY_1
|
Trigger:
|
high level
|
Interrupt active when dio input FIFO contains any timestamps.
HW prefix:
|
dio_nempty_2
|
C prefix:
|
NEMPTY_2
|
Trigger:
|
high level
|
Interrupt active when dio input FIFO contains any timestamps.
HW prefix:
|
dio_nempty_3
|
C prefix:
|
NEMPTY_3
|
Trigger:
|
high level
|
Interrupt active when dio input FIFO contains any timestamps.
HW prefix:
|
dio_nempty_4
|
C prefix:
|
NEMPTY_4
|
Trigger:
|
high level
|
Interrupt active when dio input FIFO contains any timestamps.
HW prefix:
|
dio_trigger_ready_0
|
C prefix:
|
TRIGGER_READY_0
|
Trigger:
|
high level
|
Interrupt active when time-programmable output channels accept new time trigger command.
HW prefix:
|
dio_trigger_ready_1
|
C prefix:
|
TRIGGER_READY_1
|
Trigger:
|
high level
|
Interrupt active when time-programmable output channels accept new time trigger command.
HW prefix:
|
dio_trigger_ready_2
|
C prefix:
|
TRIGGER_READY_2
|
Trigger:
|
high level
|
Interrupt active when time-programmable output channels accept new time trigger command.
HW prefix:
|
dio_trigger_ready_3
|
C prefix:
|
TRIGGER_READY_3
|
Trigger:
|
high level
|
Interrupt active when time-programmable output channels accept new time trigger command.
HW prefix:
|
dio_trigger_ready_4
|
C prefix:
|
TRIGGER_READY_4
|
Trigger:
|
high level
|
Interrupt active when time-programmable output channels accept new time trigger command.