docs: Add axi_ad9671 IP core
Signed-off-by: Jorge Marques <jorge.marques@analog.com> Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>main
parent
070ebf2aa0
commit
3e41f2afe1
|
@ -0,0 +1,320 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="100%"
|
||||
height="100%"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="adc_jesd.svg"
|
||||
inkscape:export-filename="D:\Git\ghdl\docs\block_diagrams\axi_ad9265\axi_ad9265.png"
|
||||
inkscape:export-xdpi="400"
|
||||
inkscape:export-ydpi="400"
|
||||
viewBox="0 0 425 350"
|
||||
preserveAspectRatio="xMidYMid slice">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect5376"
|
||||
is_visible="true"
|
||||
offset_points="0,0.43724867"
|
||||
sort_points="true"
|
||||
interpolator_type="Linear"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<pattern
|
||||
y="0"
|
||||
x="0"
|
||||
height="6"
|
||||
width="6"
|
||||
patternUnits="userSpaceOnUse"
|
||||
id="EMFhbasepattern" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.8325"
|
||||
inkscape:cx="57.656767"
|
||||
inkscape:cy="228.73587"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g4357"
|
||||
showgrid="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-to-guides="true"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1047"
|
||||
inkscape:window-x="-11"
|
||||
inkscape:window-y="-11"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-grids="true"
|
||||
units="px"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0">
|
||||
<sodipodi:guide
|
||||
position="-200.51528,787.37788"
|
||||
orientation="1,0"
|
||||
id="guide4261" />
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5420"
|
||||
originx="-13.131982"
|
||||
originy="-164.43837" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-13.131983,-537.92376)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="108.82646"
|
||||
y="336.35623"
|
||||
id="text4214"
|
||||
sodipodi:linespacing="125%"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4216"
|
||||
x="108.82646"
|
||||
y="336.35623"
|
||||
style="font-size:20px" /></text>
|
||||
<g
|
||||
transform="matrix(1.103181,0,0,4.7917437,36.444715,-186.56086)"
|
||||
style="fill:#afedbd;fill-opacity:0.07100591;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="g4180-1"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
y="159.53206"
|
||||
x="71.884163"
|
||||
height="57.37455"
|
||||
width="199.5174"
|
||||
id="rect3336-5"
|
||||
style="fill:#afedbd;fill-opacity:0.07100591;fill-rule:evenodd;stroke:#000000;stroke-width:0.76066536;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<path
|
||||
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000096;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 89.521568,665.9365 0,-9.62039 -70.476631,0 -0.1366,-12.79628 0.13472,-12.79627 70.478511,0 0,-9.6204 24.067782,22.41667 z"
|
||||
id="path34982"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="35.742157"
|
||||
y="647.38458"
|
||||
id="text4196"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4198"
|
||||
x="35.742157"
|
||||
y="647.38458"
|
||||
style="font-size:10px">AXI SLAVE</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:#d7d7d7;fill-opacity:0.35294118;fill-rule:nonzero;stroke:#000000;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect4204"
|
||||
width="72.5"
|
||||
height="122.5"
|
||||
x="139.0587"
|
||||
y="591.32355" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="174.79601"
|
||||
y="650.0296"
|
||||
id="text4206"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4208"
|
||||
x="174.79601"
|
||||
y="650.0296"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle">REGISTER</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="174.79601"
|
||||
y="662.5296"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
id="tspan4251">MAP</tspan></text>
|
||||
<g
|
||||
id="g4357"
|
||||
transform="translate(-13.89132,-73.70117)">
|
||||
<rect
|
||||
y="797.44434"
|
||||
x="152.72948"
|
||||
height="122.5"
|
||||
width="72.5"
|
||||
id="rect4204-3"
|
||||
style="opacity:1;fill:#d7d7d7;fill-opacity:0.35294118;fill-rule:nonzero;stroke:#000000;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text4206-2"
|
||||
y="842.50775"
|
||||
x="189.01248"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
id="tspan4251-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="842.50775"
|
||||
x="190.72147"
|
||||
sodipodi:role="line">JESD LINK </tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="855.00775"
|
||||
x="189.01248"
|
||||
sodipodi:role="line"
|
||||
id="tspan4171">TO DMA</tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="867.50775"
|
||||
x="190.72147"
|
||||
sodipodi:role="line"
|
||||
id="tspan4173">DATA </tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="880.00775"
|
||||
x="190.72147"
|
||||
sodipodi:role="line"
|
||||
id="tspan4175">ORDERING </tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="892.50775"
|
||||
x="189.01248"
|
||||
sodipodi:role="line"
|
||||
id="tspan4369" /></text>
|
||||
</g>
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot4272"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
|
||||
id="flowRegion4274"><rect
|
||||
id="rect4276"
|
||||
width="183.35606"
|
||||
height="283.76535"
|
||||
x="-27.830832"
|
||||
y="74.488403" /></flowRegion><flowPara
|
||||
id="flowPara4278" /></flowRoot> <text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="274.52353"
|
||||
y="600.3385"
|
||||
id="text4295"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4297"
|
||||
x="274.52353"
|
||||
y="600.3385" /></text>
|
||||
<g
|
||||
id="g4362"
|
||||
transform="translate(-72.906712,199.45373)">
|
||||
<rect
|
||||
y="445.14008"
|
||||
x="300.43127"
|
||||
height="122.2474"
|
||||
width="88.072769"
|
||||
id="rect4204-2"
|
||||
style="opacity:1;fill:#d7d7d7;fill-opacity:0.35294118;fill-rule:nonzero;stroke:#000000;stroke-width:2.75260305;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text4206-0"
|
||||
y="479.70892"
|
||||
x="344.77353"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
id="tspan4251-95"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="479.70892"
|
||||
x="346.48251"
|
||||
sodipodi:role="line">ADC </tspan><tspan
|
||||
id="tspan4322"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="492.20892"
|
||||
x="344.77353"
|
||||
sodipodi:role="line">DATA</tspan><tspan
|
||||
id="tspan4324"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="504.70892"
|
||||
x="344.77353"
|
||||
sodipodi:role="line">PROCESSING</tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="517.20892"
|
||||
x="344.77353"
|
||||
sodipodi:role="line"
|
||||
id="tspan4177">&</tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="529.70892"
|
||||
x="346.48251"
|
||||
sodipodi:role="line"
|
||||
id="tspan4179">PRBS </tspan><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle"
|
||||
y="542.20892"
|
||||
x="344.77353"
|
||||
sodipodi:role="line"
|
||||
id="tspan4181">MONITORING</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000096;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 89.412808,802.21745 0,-9.62039 -70.476631,0 -0.1366,-12.79628 0.13472,-12.79627 70.478511,0 0,-9.6204 24.067782,22.41667 z"
|
||||
id="path34982-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="42.579056"
|
||||
y="784.05139"
|
||||
id="text4196-2"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4198-0"
|
||||
x="42.579056"
|
||||
y="784.05139"
|
||||
style="font-size:10px">JESD FIFO</tspan></text>
|
||||
<path
|
||||
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000096;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 407.61789,720.28356 0,-9.62039 -70.47663,0 -0.1366,-12.79628 0.13472,-12.79627 70.47851,0 0,-9.6204 24.06778,22.41667 z"
|
||||
id="path34982-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="353.8385"
|
||||
y="701.73163"
|
||||
id="text4196-0"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4198-8"
|
||||
x="353.8385"
|
||||
y="701.73163"
|
||||
style="font-size:10px">DMA FIFO</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 15 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 62 KiB |
|
@ -0,0 +1,165 @@
|
|||
.. _axi_ad9671:
|
||||
|
||||
AXI AD9671
|
||||
================================================================================
|
||||
|
||||
.. hdl-component-diagram::
|
||||
|
||||
The :git-hdl:`AXI AD9671 <library/axi_ad9671>` IP core
|
||||
can be used to interface the :adi:`AD9671` Octal Ultrasound AFE with digital
|
||||
demodulator.
|
||||
An AXI Memory Map interface is used for configuration.
|
||||
Data is received from Xilinx JESD IP.
|
||||
|
||||
More about the generic framework interfacing ADCs can be read in :ref:`axi_adc`.
|
||||
|
||||
Features
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* AXI based configuration
|
||||
* PRBS monitoring (PN9 and PN23)
|
||||
* Altera Quartus compatible
|
||||
* Vivado compatible
|
||||
|
||||
Files
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
* - :git-hdl:`library/axi_ad9671/axi_ad9671.v`
|
||||
- Verilog source for the AXI AD9671.
|
||||
* - :git-hdl:`library/common/up_adc_common.v`
|
||||
- Verilog source for the ADC Common regmap.
|
||||
* - :git-hdl:`library/common/up_adc_channel.v`
|
||||
- Verilog source for the ADC Channel regmap.
|
||||
|
||||
Block Diagram
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. image:: block_diagram.svg
|
||||
:width: 600
|
||||
:alt: AXI AD9671 block diagram
|
||||
|
||||
Configuration Parameters
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. hdl-parameters::
|
||||
|
||||
* - ID
|
||||
- Core ID should be unique for each IP in the system
|
||||
* - FPGA_TECHNOLOGY
|
||||
- Used to select between devices, Altera devices are also supprted.
|
||||
* - QUAD_OR_DUAL_N
|
||||
- Selects if 4 lanes (1) or 2 lanes (0) are connected
|
||||
|
||||
Interface
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. hdl-interfaces::
|
||||
|
||||
* - rx_clk
|
||||
- JESD clock rate / 40
|
||||
* - rx_data
|
||||
- RX data from the JESD core. 128 bit wide for QUAD operation, and 64 bit
|
||||
for DUAL operation
|
||||
* - rx_valid
|
||||
- Placeholder for interfaces. Assume data is always valid
|
||||
* - rx_ready
|
||||
- Always ready
|
||||
* - adc_clk
|
||||
- Loopback of the tx_clk. most of the modules of the core run on this
|
||||
clock
|
||||
* - adc_valid
|
||||
- ADC valid, used to read new data from the DMA. Each bit applies to one
|
||||
channel
|
||||
* - adc_enable
|
||||
- Set when the channel is enabled, activated by software. Each bit applies
|
||||
to one channel
|
||||
* - adc_data
|
||||
- Data for all channels
|
||||
* - adc_dovf
|
||||
- Data overflow input
|
||||
* - adc_sync_in
|
||||
- Starts the synchronization procedure. Comes from the master IP
|
||||
* - adc_sync_out
|
||||
- Starts the synchronization procedure. Sent to the slave IPs
|
||||
* - adc_raddr_in
|
||||
- Read address. All IPs are sending data from the same memory location.
|
||||
Comes from the master IP
|
||||
* - adc_raddr_out
|
||||
- Read address. All IPs are sending data from the same memory location.
|
||||
Sent to the slave IPs
|
||||
* - s_axi
|
||||
- Standard AXI Slave Memory Map interface
|
||||
|
||||
Detailed Architecture
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. image:: detailed_architecture.svg
|
||||
:width: 800
|
||||
:alt: AXI AD9671 detailed architecture
|
||||
|
||||
Detailed Description
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The top module, axi_ad9671, instantiates:
|
||||
|
||||
* the interface module
|
||||
* the channel processing module
|
||||
* the ADC common register map
|
||||
* the AXI handling interface
|
||||
|
||||
The interface module, axi_ad9671_if, takes the data from the Xilinx JESD IP
|
||||
and splits it into channels. In order to synchronize several AD9671 chips, a
|
||||
FIFO is used and a comparison mechanism with a start code.
|
||||
|
||||
The data from the interface module is processed by the adc channel module.
|
||||
The channel module implements:
|
||||
|
||||
* a PRBS monitor
|
||||
* data format conversion
|
||||
* the ADC CHANNEL register map
|
||||
|
||||
Register Map
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. hdl-regmap::
|
||||
:name: COMMON
|
||||
:no-type-info:
|
||||
|
||||
.. hdl-regmap::
|
||||
:name: ADC_COMMON
|
||||
:no-type-info:
|
||||
|
||||
.. hdl-regmap::
|
||||
:name: ADC_CHANNEL
|
||||
:no-type-info:
|
||||
|
||||
Design Guidelines
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The control of the :adi:`AD9671` chip is done through a SPI interface,
|
||||
which is needed at system level.
|
||||
|
||||
The design should use a DMA to move the data from the output of the IP to
|
||||
memory.
|
||||
|
||||
If the data needs to be processed in HDL before moved to the memory, it can be
|
||||
done at the output of the IP (at system level) or inside of the adc channel
|
||||
module (at IP level).
|
||||
|
||||
References
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
* :git-hdl:`library/axi_ad9671`
|
||||
* :adi:`AD9671`
|
||||
* :git-linux:`/`
|
||||
* :ref:`jesd204`
|
||||
* :adi:`Analog Device's JESD204B Survival Guide <media/en/technical-documentation/technical-articles/JESD204B-Survival-Guide.pdf>`
|
||||
* :intel:`JESD204B Intel FPGA IP User Guide <content/dam/support/us/en/programmable/support-resources/bulk-container/pdfs/literature/ug/archives/ug-jesd204b-18-1.pdf>`
|
||||
* :xilinx:`Xilinx Vivado JESD IP documentation <support/documentation/ip_documentation/jesd204/v6_0/pg066-jesd204.pdf>`
|
||||
* :intel:`Arria 5 Transceivers <content/www/us/en/docs/programmable/683573/current/transceiver-architecture-in-arria-v-devices.html>`
|
||||
* :xilinx:`7 Series Transceivers <support/documentation/user_guides/ug476_7Series_Transceivers.pdf>`
|
Loading…
Reference in New Issue