ad9361_data_sub HDL Worker
Detail
This worker’s LVDS_p, HALF_DUPLEX_p, SINGLE_PORT_p, and SWAP_PORTS_p parameter properties enforce build-time configuration1 for all of the possible AD9361 data pin interface configurations:
CMOS Single Port Half Duplex,
CMOS Single Port Half Duplex Swapped Ports,
CMOS Single Port Full Duplex,
CMOS Single Port Full Duplex Swapped Ports,
CMOS Dual Port Half Duplex,
CMOS Dual Port Half Duplex Swapped Ports,
CMOS Dual Port Full Duplex,
CMOS Dual Port Full Duplex Swapped Ports, and
LVDS (Dual Port Full Duplex).
Note that the half duplex data interface formats allow for AD9361 P0/P1 port routing to be runtime-dynamic.
Control Timing and Signals
Because this worker does not include a control plane and serves purely as an IC pin buffering and routing mechanism, there are no latency or clock domain considerations. For considerations specific to the RX/TX data paths, see the supports-connected device worker data sheets for ad9361_adc_sub.hdl Ad9361 adc (ad9361_adc) and ad9361_dac_sub.hdl Ad9361 dac (ad9361_dac).
Performance and Resource Utilization
Because every possible parameter property combination of this worker has no control plane and no registered data paths, no registers or LUTs are used and the Fmax measurement does not exist.
Worker Properties
LVDS_pType:
boolAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
HALF_DUPLEX_pType:
boolAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
SINGLE_PORT_pType:
boolAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
SWAP_PORTS_pType:
boolAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
MODE_pType:
ucharAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
DATA_CLK_DelayType:
ushortAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
RX_Data_DelayType:
ushortAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
FB_CLK_DelayType:
ushortAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
TX_Data_DelayType:
ushortAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
Worker Ports
dev_cfg_data_portType:
devsignal
dev_data_clkType:
devsignal
dev_data_adcType:
devsignal
dev_data_dacType:
devsignal
dev_txen_dacType:
devsignal
dev_rxen_configType:
devsignal
dev_txen_configType:
devsignal
Supported device worker:
ad9361_configConnections:
Subdevice port:
dev_cfg_data_portSupported worker port:
dev_cfg_data_portIndex:
None
Subdevice port:
dev_rxen_data_subSupported worker port:
dev_rxen_configIndex:
None
Subdevice port:
dev_txen_data_subSupported worker port:
dev_txen_configIndex:
None
Subdevice port:
dev_data_clkSupported worker port:
dev_data_clkIndex:
2
Supported device worker:
ad9361_adc_subConnections:
Subdevice port:
dev_data_clkSupported worker port:
dev_data_clkIndex:
0
Subdevice port:
dev_data_from_pinsSupported worker port:
dev_data_adcIndex:
None
Supported device worker:
ad9361_dac_subConnections:
Subdevice port:
dev_data_clkSupported worker port:
dev_data_clkIndex:
1
Subdevice port:
dev_data_to_pinsSupported worker port:
dev_data_dacIndex:
None
Subdevice port:
dev_txenSupported worker port:
dev_txen_dacIndex:
None
Interfaces (other than data I/O ports):
Subdevice Connections:
Worker Signals
iostandard_is_lvdsDirection:
inDifferential:
falsePin:
false
p0_p1_are_swappedDirection:
inDifferential:
falsePin:
false
DATA_CLK_PDirection:
inDifferential:
falsePin:
true
dataDirection:
outWidth:
24Differential:
falsePin:
false
rx_frameDirection:
inDifferential:
falsePin:
false
tx_frameDirection:
outDifferential:
falsePin:
false
txenDirection:
inDifferential:
falsePin:
false
rxenDirection:
inDifferential:
falsePin:
false
DATA_CLK_NDirection:
lvds_p ? in : unusedDifferential:
falsePin:
true
RX_FRAME_PDirection:
inDifferential:
falsePin:
true
RX_FRAME_NDirection:
lvds_p ? in : unusedDifferential:
falsePin:
true
FB_CLK_PDirection:
outDifferential:
falsePin:
true
FB_CLK_NDirection:
outDifferential:
falsePin:
true
TX_FRAME_PDirection:
outDifferential:
falsePin:
true
TX_FRAME_NDirection:
outDifferential:
falsePin:
true
P0_D_11_6Direction:
mode_p == 0 || mode_p == 4 ? inout : mode_p == 1 || mode_p == 3 ? unused : mode_p == 5 ? in : outWidth:
6Differential:
falsePin:
true
P0_D_5_0Direction:
mode_p == 0 || mode_p == 4 ? inout : mode_p == 1 || mode_p == 3 ? unused : mode_p == 2 || mode_p == 5 ? in : outWidth:
6Differential:
falsePin:
true
P1_D_11_6Direction:
mode_p == 0 || mode_p == 2 ? unused : mode_p == 1 || mode_p == 4 ? inout : mode_p == 6 || mode_p == 7 ? in : outWidth:
6Differential:
falsePin:
true
P1_D_5_0Direction:
mode_p == 0 || mode_p == 2 ? unused : mode_p == 1 || mode_p == 4 ? inout : mode_p == 5 ? out : inWidth:
6Differential:
falsePin:
true
Utilization
Utilization reporting is not currently implemented.
- 1
Although this worker successfully builds for all data interface configurations, LVDS is the only configuration which has been tested and fully verified