SBAS649B June 2021 – June 2022 DAC12DL3200
PRODUCTION DATA
Data from the LVDS banks are latched into the write side of the FIFO using the LVDS clock. The user must set FIFO_DLY to an appropriate value to ensure that the data is read away from the point where it is changing. To help with this, the FIFO_DLY_R* registers provide the user with an approximate FIFO_DLY setting that would result in the data being sampled just as it arrives under current conditions.
The number of usable settings for FIFO_DLY is determined by LVDS_MODE and DCM_EN as shown in Figure 7-19.
In the above picture we will assume that if FIFO_DLY=1, it would result in the data being sampled just as the input latch is changing. Ideally, FIFO_DLY_R* would report “1” in this condition. In reality, this is not a precise measurement and it will only report a value close to this setting. If minimum latency is not a concern, it may be sufficient to just select a FIFO_DLY value on the opposite side of the circle from the FIFO_DLY_R* value.
Setting FIFO_DLY to a value before (counter-clockwise from) the FIFO_DLY_R* value will result in the lowest possible latency. For example, if running in LVDS_MODE=2, with FIFO_DLY_R*=1, a value of 30 may be an appropriate low latency setting while a value of 4 would be a high latency setting.
If the goal is to create a system with minimum latency, the user will need to characterize the system to find the optimal value of FIFO_DLY that will consistently work across process, voltage and temperature (PVT). The less variation that exists between the SYSREF, LVDSCLK, and DEVCLK, the tighter the FIFO_DLY can be set.
Note that if the LVDS strobe is used to align the DACCLK domain side of the FIFO instead of SYSREF, additional margin should be added to FIFO_DLY to allow for inconsistent setup of the FIFO from one alignment to the next. It is not possible to have deterministic latency using the LVDS strobe.
To help with system characterization, underflow and overflow alarms are provided in FIFO_ALM. It is important to realize toggling data must be provided on the input for these alarms to work. Constant input data will not generate alarms. See FIFO Over/Under Flow Alarming.
To characterize the FIFO_DLY for minimum latency with SYSREF:
It is important to understand that there will be some number of FIFO_DLY settings that are unusable. In 4-banks per DAC mode this may be as many as 4 settings. Reducing the LVDS rate will reduce the number of invalid FIFO_DLY settings.