Skip to content

Commit c275442

Browse files
authored
docs: data_offload: Add docs (#1333)
Import documentation from the IP library and wiki page. Make the background of the clock images less opaque so it's easier to read. Don't split roles, even though are valid, are a nightmare to regex-match, if necessary. Signed-off-by: Ionut Podgoreanu <ionut.podgoreanu@analog.com> Signed-off-by: Jorge Marques <jorge.marques@analog.com>
1 parent 25bdc98 commit c275442

File tree

15 files changed

+1412
-1956
lines changed

15 files changed

+1412
-1956
lines changed

docs/library/data_offload/clocks.svg

Lines changed: 614 additions & 0 deletions
Loading

docs/library/data_offload/index.rst

Lines changed: 491 additions & 0 deletions
Large diffs are not rendered by default.

docs/library/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Contents
4343
axi_pwm_gen/index
4444
axi_sysid/index
4545
axi_tdd/index
46+
data_offload/index
4647
i3c_controller/index
4748
jesd204/index
4849
spi_engine/index
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
TITLE
2+
Data Offload Engine (data_offload)
3+
DO
4+
ENDTITLE
5+
6+
############################################################################################
7+
############################################################################################
8+
9+
REG
10+
0x000
11+
VERSION
12+
Version of the peripheral. Follows semantic versioning. Current version 1.00.61.
13+
ENDREG
14+
15+
FIELD
16+
[31:16] 0x00000001
17+
VERSION_MAJOR
18+
RO
19+
ENDFIELD
20+
21+
FIELD
22+
[15:8] 0x00000000
23+
VERSION_MINOR
24+
RO
25+
ENDFIELD
26+
27+
FIELD
28+
[7:0] 0x00000061
29+
VERSION_PATCH
30+
RO
31+
ENDFIELD
32+
33+
############################################################################################
34+
############################################################################################
35+
36+
REG
37+
0x001
38+
PERIPHERAL_ID
39+
ENDREG
40+
41+
FIELD
42+
[31:0] ''ID''
43+
PERIPHERAL_ID
44+
RO
45+
Value of the ID configuration parameter.
46+
ENDFIELD
47+
48+
############################################################################################
49+
############################################################################################
50+
51+
REG
52+
0x002
53+
SCRATCH
54+
ENDREG
55+
56+
FIELD
57+
[31:0] 0x00000000
58+
SCRATCH
59+
RW
60+
Scratch register useful for debug.
61+
ENDFIELD
62+
63+
############################################################################################
64+
############################################################################################
65+
66+
REG
67+
0x003
68+
IDENTIFICATION
69+
ENDREG
70+
71+
FIELD
72+
[31:0] 0x44414F46
73+
IDENTIFICATION
74+
RO
75+
Peripheral identification ('D', 'A', 'O', 'F').
76+
ENDFIELD
77+
78+
############################################################################################
79+
############################################################################################
80+
81+
REG
82+
0x004
83+
SYNTHESIS_CONFIG_1
84+
ENDREG
85+
86+
FIELD
87+
[2] ''HAS_BYPASS''
88+
HAS_BYPASS
89+
RO
90+
If set the bypass logic is implemented.
91+
ENDFIELD
92+
93+
FIELD
94+
[1] ''TX_OR_RXN_PATH''
95+
TX_OR_RXN_PATH
96+
RO
97+
If this device was configured for the TX path, this bit will be set to 1.
98+
Conversely, the bit will be 0 for the RX path.
99+
ENDFIELD
100+
101+
FIELD
102+
[0] ''MEM_TYPE''
103+
MEMORY_TYPE
104+
RO
105+
This bit identifies the type of memory that was chosen during synthesis. A value of 1
106+
identifies external memory, while a value of zero indicates that block ram was used.
107+
ENDFIELD
108+
109+
############################################################################################
110+
############################################################################################
111+
112+
REG
113+
0x005
114+
SYNTHESIS_CONFIG_2
115+
ENDREG
116+
117+
FIELD
118+
[31:0] 1<<''MEM_SIZE_LOG2''
119+
MEM_SIZE_LSB
120+
RO
121+
32 bits (LSB) of the storage unit size.
122+
ENDFIELD
123+
124+
############################################################################################
125+
############################################################################################
126+
127+
REG
128+
0x006
129+
SYNTHESIS_CONFIG_3
130+
ENDREG
131+
132+
FIELD
133+
[1:0] (1<<''MEM_SIZE_LOG2'')>>32
134+
MEM_SIZE_MSB
135+
RO
136+
2 bits (MSB) of the storage unit size.
137+
ENDFIELD
138+
139+
############################################################################################
140+
############################################################################################
141+
142+
REG
143+
0x007
144+
TRANSFER_LENGTH
145+
ENDREG
146+
147+
FIELD
148+
[31:0] (2^''MEM_SIZE_LOG2''-1)>>6
149+
TRANSFER_LENGTH
150+
RW
151+
The transfer length register can be used to override the transfer length in RX mode in increments of 64 bytes.
152+
ENDFIELD
153+
154+
############################################################################################
155+
############################################################################################
156+
157+
REG
158+
0x020
159+
MEM_PHY_STATE
160+
ENDREG
161+
162+
FIELD
163+
[5] 0x00000000
164+
UNDERFLOW
165+
RW1C
166+
Indicates that storage could not handle data rate during play. Available when core is in TX mode.
167+
ENDFIELD
168+
169+
FIELD
170+
[4] 0x00000000
171+
OVERFLOW
172+
RW1C
173+
Indicates that storage could not handle data rate during capture. Available when core is in RX mode.
174+
ENDFIELD
175+
176+
FIELD
177+
[0] 0x00000000
178+
CALIB_COMPLETE
179+
RO
180+
Indicates that the memory initialization and calibration have completed successfully.
181+
ENDFIELD
182+
183+
############################################################################################
184+
############################################################################################
185+
186+
REG
187+
0x021
188+
RESET_OFFLOAD
189+
ENDREG
190+
191+
FIELD
192+
[0] ''AUTO_BRINGUP''
193+
RESETN
194+
RW
195+
"Software Reset": Resets all the internal address registers and state machines.
196+
ENDFIELD
197+
198+
############################################################################################
199+
############################################################################################
200+
201+
REG
202+
0x022
203+
CONTROL
204+
ENDREG
205+
206+
FIELD
207+
[1] ~''TX_OR_RXN_PATH''
208+
ONESHOT_EN
209+
RW
210+
Enables oneshot mode. This means that the data offload will only play a received buffer once,
211+
and then stop. This mode is useful when you want to use the data offload for its synchronization
212+
features, but don't need the repeating output.
213+
ENDFIELD
214+
215+
FIELD
216+
[0] 0x00000000
217+
OFFLOAD_BYPASS
218+
RW
219+
Enables bypass mode. In this mode pretty much **all** functionality of the data offload is bypassed,
220+
and the data offload will simply act as an asynchronous dual-port FIFO and forward your data stream.
221+
ENDFIELD
222+
223+
############################################################################################
224+
############################################################################################
225+
226+
REG
227+
0x040
228+
SYNC_TRIGGER
229+
ENDREG
230+
231+
FIELD
232+
[0] 0x00000000
233+
SYNC_TRIGGER
234+
RW1C
235+
Software trigger for software sync mode.
236+
ENDFIELD
237+
238+
############################################################################################
239+
############################################################################################
240+
241+
REG
242+
0x041
243+
SYNC_CONFIG
244+
ENDREG
245+
246+
FIELD
247+
[1:0] 0x00000000
248+
SYNC_CONFIG
249+
RW
250+
Synchronization mode: 0: Auto, 1: Hardware trigger, 2: Software trigger, 3: Reserved.
251+
ENDFIELD
252+
253+
############################################################################################
254+
############################################################################################
255+
256+
REG
257+
0x080
258+
FSM_BDG
259+
ENDREG
260+
261+
FIELD
262+
[11:8] 0xXXXXXXXX
263+
FSM_STATE_READ
264+
RO
265+
It force the Rx side offload state machine into the required state.
266+
ENDFIELD
267+
268+
FIELD
269+
[4:0] 0xXXXXXXXX
270+
FSM_STATE_WRITE
271+
RO
272+
The current state of the offload state machine.
273+
ENDFIELD
274+
275+
############################################################################################
276+
############################################################################################

docs/user_guide/ip_cores/index.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Contents
1515

1616
creating_new_ip
1717
use_adi_ips
18-
up_if
18+
interfaces
1919
axi_adc/index
2020
axi_dac/index
2121

@@ -41,6 +41,11 @@ ADC/DAC
4141
- :ref:`axi_ad9963`
4242
- :ref:`axi_adaq8092`
4343

44+
Data Offload
45+
-------------------------------------------------------------------------------
46+
47+
- :ref:`data_offload`
48+
4449
DMA
4550
-------------------------------------------------------------------------------
4651

0 commit comments

Comments
 (0)