aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/top/x400/doc
diff options
context:
space:
mode:
authorWade Fife <wade.fife@ettus.com>2021-06-08 19:40:46 -0500
committerAaron Rossetto <aaron.rossetto@ni.com>2021-06-10 11:56:58 -0500
commit6d3765605262016a80f71e36357f749ea35cbe5a (patch)
tree7d62d6622befd4132ac1ee085effa1426f7f53e5 /fpga/usrp3/top/x400/doc
parentf706b89e6974e28ce76aadeeb06169becc86acba (diff)
downloaduhd-6d3765605262016a80f71e36357f749ea35cbe5a.tar.gz
uhd-6d3765605262016a80f71e36357f749ea35cbe5a.tar.bz2
uhd-6d3765605262016a80f71e36357f749ea35cbe5a.zip
fpga: x400: Add support for X410 motherboard FPGA
Co-authored-by: Andrew Moch <Andrew.Moch@ni.com> Co-authored-by: Daniel Jepson <daniel.jepson@ni.com> Co-authored-by: Javier Valenzuela <javier.valenzuela@ni.com> Co-authored-by: Joerg Hofrichter <joerg.hofrichter@ni.com> Co-authored-by: Kumaran Subramoniam <kumaran.subramoniam@ni.com> Co-authored-by: Max Köhler <max.koehler@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com> Co-authored-by: Paul Butler <paul.butler@ni.com> Co-authored-by: Wade Fife <wade.fife@ettus.com> Co-authored-by: Hector Rubio <hrubio@ni.com>
Diffstat (limited to 'fpga/usrp3/top/x400/doc')
-rw-r--r--fpga/usrp3/top/x400/doc/X4XX_FPGA.htm10
-rw-r--r--fpga/usrp3/top/x400/doc/X4XX_FPGA_left.htm684
-rw-r--r--fpga/usrp3/top/x400/doc/X4XX_FPGA_right.htm22509
3 files changed, 23203 insertions, 0 deletions
diff --git a/fpga/usrp3/top/x400/doc/X4XX_FPGA.htm b/fpga/usrp3/top/x400/doc/X4XX_FPGA.htm
new file mode 100644
index 000000000..70f709b8a
--- /dev/null
+++ b/fpga/usrp3/top/x400/doc/X4XX_FPGA.htm
@@ -0,0 +1,10 @@
+<HTML>
+ <HEAD>
+ <title>X4XX_FPGA</title>
+
+ <FRAMESET COLS="20%,*" onload=window.frames[1].location.hash=window.location.href.split("#")[1];>
+ <FRAME name="leftframe" SRC="X4XX_FPGA_left.htm">
+ <FRAME name="rightframe" SRC="X4XX_FPGA_right.htm">
+ </FRAMESET>
+ </HEAD>
+</HTML> \ No newline at end of file
diff --git a/fpga/usrp3/top/x400/doc/X4XX_FPGA_left.htm b/fpga/usrp3/top/x400/doc/X4XX_FPGA_left.htm
new file mode 100644
index 000000000..d643a7346
--- /dev/null
+++ b/fpga/usrp3/top/x400/doc/X4XX_FPGA_left.htm
@@ -0,0 +1,684 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+ <style type="text/css">
+
+ body {
+ margin: 5px;
+ font-family: verdana, "Trebuchet MS", arial, helvetica, sans-serif;
+ font-size: 80%;
+ line-height: 1.3;
+ }
+
+ pre, code {
+ font-family: "courier new", courier, monospace;
+ font-size: 12px;
+ }
+
+ @media print {
+ body {
+ margin: 0px;
+ font-family: arial, helvetica, sans-serif;
+ font-size: 80%;
+ line-height: 1;
+ }
+ } div.nav {
+ font-size: 95%;
+ }
+
+ div.sh {
+ display: none;
+ margin-left: 15px;
+ }
+
+ div.shr {
+ display: block;
+ margin-left: 15px;
+ }
+
+ div.nav span.pm, div.nav span.pm_2 {
+ color: black;
+ font-family: courier new, courier;
+ margin-right: 5px;
+ }
+
+ div.nav span.pm {
+ cursor: pointer;
+ }
+
+ div.nav p {
+ margin: 0px;
+ padding: 0px;
+ white-space: nowrap;
+ }
+
+ div.nav span {
+ cursor: pointer;
+ }
+
+ div.nav span.regmap {
+ color: #000080;
+ }
+
+ div.nav span.group {
+ color: #006000;
+ }
+
+ div.nav span.enum {
+ color: #800000;
+ margin-left: 10px;
+ }
+
+ div.nav span.register {
+ color: #004040;
+ margin-left: 10px;
+ }
+ </style>
+ <script type="text/javascript">
+
+ function toggleText( id, sign ) {
+ if (sign == "nochange") return;
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ if (elem) {
+ elemStyle = elem.style;
+ if (sign=="+") {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+ /*if ( elemStyle.display == "block" ) {
+ elemStyle.display = "none"
+ } else {
+ elemStyle.display = "block"
+ }*/
+ }
+ }
+ function changePm( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return "nochange";
+ var val = elem.innerHTML;
+ if (val == "+") {
+ elem.innerHTML = "-";
+ } else {
+ elem.innerHTML = "+";
+ }
+ return val;
+ }
+
+ function pm( id ) {
+ var sign = changePm("pm_" + id);
+ toggleText("div_" + id, sign);
+ }
+
+ function a( id ) {
+ var currentURL= document.URL;
+ var targetURL = currentURL.replace("_left", "_right");
+ parent.frames[1].location = targetURL + '#' + id;
+ }
+ </script>
+ </head><body>
+
+ <div class="nav">
+ <p>
+ <span class="pm" id="pm_X4XX_FPGA" onclick="pm('X4XX_FPGA');">+</span>
+ <span class="regmap" id="a_X4XX_FPGA" onclick="a('X4XX_FPGA');">X4XX_FPGA</span>
+ </p>
+ <div class="sh" id="div_X4XX_FPGA">
+ <p>
+ <span class="pm" id="pm_P5 Content" onclick="pm('P5 Content');">+</span>
+ <span class="group" id="a_P5 Content" onclick="a('P5 Content');">P5 Content</span>
+ </p>
+ <div class="sh" id="div_P5 Content">
+ </div>
+ <p>
+ <span class="pm" id="pm_ports" onclick="pm('ports');">+</span>
+ <span class="group" id="a_ports" onclick="a('ports');">ports</span>
+ </p>
+ <div class="sh" id="div_ports">
+ <p><span class="register" id="a_X4XX_FPGA|ARM_M_AXI_HPM0" onclick="a('X4XX_FPGA|ARM_M_AXI_HPM0');">ARM_M_AXI_HPM0</span></p>
+ <p><span class="register" id="a_X4XX_FPGA|ARM_S_AXI_HPC0" onclick="a('X4XX_FPGA|ARM_S_AXI_HPC0');">ARM_S_AXI_HPC0</span></p>
+ <p><span class="register" id="a_X4XX_FPGA|ARM_S_AXI_HPC1" onclick="a('X4XX_FPGA|ARM_S_AXI_HPC1');">ARM_S_AXI_HPC1</span></p>
+ <p><span class="register" id="a_X4XX_FPGA|ARM_SPI1_CS3" onclick="a('X4XX_FPGA|ARM_SPI1_CS3');">ARM_SPI1_CS3</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_AXI_HPM0_REGMAP" onclick="pm('AXI_HPM0_REGMAP');">+</span>
+ <span class="regmap" id="a_AXI_HPM0_REGMAP" onclick="a('AXI_HPM0_REGMAP');">AXI_HPM0_REGMAP</span>
+ </p> <div class="sh" id="div_AXI_HPM0_REGMAP">
+ <p>
+ <span class="pm" id="pm_AXI_HPM0_REGMAP|COMMON" onclick="pm('AXI_HPM0_REGMAP|COMMON');">+</span>
+ <span class="group" id="a_AXI_HPM0_REGMAP|COMMON" onclick="a('AXI_HPM0_REGMAP|COMMON');">COMMON</span>
+ </p>
+ <div class="sh" id="div_AXI_HPM0_REGMAP|COMMON">
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|RPU" onclick="a('AXI_HPM0_REGMAP|RPU');">RPU</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|JTAG_ENGINE" onclick="a('AXI_HPM0_REGMAP|JTAG_ENGINE');">JTAG_ENGINE</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|WR" onclick="a('AXI_HPM0_REGMAP|WR');">WR</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|MPM_ENDPOINT" onclick="a('AXI_HPM0_REGMAP|MPM_ENDPOINT');">MPM_ENDPOINT</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|CORE_REGS" onclick="a('AXI_HPM0_REGMAP|CORE_REGS');">CORE_REGS</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|INT_ETH_DMA" onclick="a('AXI_HPM0_REGMAP|INT_ETH_DMA');">INT_ETH_DMA</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|INT_ETH_REGS" onclick="a('AXI_HPM0_REGMAP|INT_ETH_REGS');">INT_ETH_REGS</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|RFDC" onclick="a('AXI_HPM0_REGMAP|RFDC');">RFDC</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|RFDC_REGS" onclick="a('AXI_HPM0_REGMAP|RFDC_REGS');">RFDC_REGS</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_AXI_HPM0_REGMAP|UHD_ONLY" onclick="pm('AXI_HPM0_REGMAP|UHD_ONLY');">+</span>
+ <span class="group" id="a_AXI_HPM0_REGMAP|UHD_ONLY" onclick="a('AXI_HPM0_REGMAP|UHD_ONLY');">UHD_ONLY</span>
+ </p>
+ <div class="sh" id="div_AXI_HPM0_REGMAP|UHD_ONLY">
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_0_0" onclick="a('AXI_HPM0_REGMAP|QSFP_0_0');">QSFP_0_0</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_0_1" onclick="a('AXI_HPM0_REGMAP|QSFP_0_1');">QSFP_0_1</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_0_2" onclick="a('AXI_HPM0_REGMAP|QSFP_0_2');">QSFP_0_2</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_0_3" onclick="a('AXI_HPM0_REGMAP|QSFP_0_3');">QSFP_0_3</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_1_0" onclick="a('AXI_HPM0_REGMAP|QSFP_1_0');">QSFP_1_0</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_1_1" onclick="a('AXI_HPM0_REGMAP|QSFP_1_1');">QSFP_1_1</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_1_2" onclick="a('AXI_HPM0_REGMAP|QSFP_1_2');">QSFP_1_2</span></p>
+ <p><span class="register" id="a_AXI_HPM0_REGMAP|QSFP_1_3" onclick="a('AXI_HPM0_REGMAP|QSFP_1_3');">QSFP_1_3</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_MB_CPLD_PS_REGMAP" onclick="pm('MB_CPLD_PS_REGMAP');">+</span>
+ <span class="regmap" id="a_MB_CPLD_PS_REGMAP" onclick="a('MB_CPLD_PS_REGMAP');">MB_CPLD_PS_REGMAP</span>
+ </p> <div class="sh" id="div_MB_CPLD_PS_REGMAP">
+ <p>
+ <span class="pm" id="pm_MB_CPLD_PS_REGMAP|MB_CPLD_PS_WINDOWS" onclick="pm('MB_CPLD_PS_REGMAP|MB_CPLD_PS_WINDOWS');">+</span>
+ <span class="group" id="a_MB_CPLD_PS_REGMAP|MB_CPLD_PS_WINDOWS" onclick="a('MB_CPLD_PS_REGMAP|MB_CPLD_PS_WINDOWS');">MB_CPLD_PS_WINDOWS</span>
+ </p>
+ <div class="sh" id="div_MB_CPLD_PS_REGMAP|MB_CPLD_PS_WINDOWS">
+ <p><span class="register" id="a_MB_CPLD_PS_REGMAP|PS_REGISTERS" onclick="a('MB_CPLD_PS_REGMAP|PS_REGISTERS');">PS_REGISTERS</span></p>
+ <p><span class="register" id="a_MB_CPLD_PS_REGMAP|RECONFIG" onclick="a('MB_CPLD_PS_REGMAP|RECONFIG');">RECONFIG</span></p>
+ <p><span class="register" id="a_MB_CPLD_PS_REGMAP|POWER_REGISTERS" onclick="a('MB_CPLD_PS_REGMAP|POWER_REGISTERS');">POWER_REGISTERS</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_MB_CPLD_PS_REGMAP|PS_SPI_ENDPOINTS" onclick="pm('MB_CPLD_PS_REGMAP|PS_SPI_ENDPOINTS');">+</span>
+ <span class="group" id="a_MB_CPLD_PS_REGMAP|PS_SPI_ENDPOINTS" onclick="a('MB_CPLD_PS_REGMAP|PS_SPI_ENDPOINTS');">PS_SPI_ENDPOINTS</span>
+ </p>
+ <div class="sh" id="div_MB_CPLD_PS_REGMAP|PS_SPI_ENDPOINTS">
+ <p><span class="enum" id="a_MB_CPLD_PS_REGMAP|SPI_ENDPOINT" onclick="a('MB_CPLD_PS_REGMAP|SPI_ENDPOINT');">enum SPI_ENDPOINT</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_CMAC_REGMAP" onclick="pm('CMAC_REGMAP');">+</span>
+ <span class="regmap" id="a_CMAC_REGMAP" onclick="a('CMAC_REGMAP');">CMAC_REGMAP</span>
+ </p> <div class="sh" id="div_CMAC_REGMAP">
+ <p>
+ <span class="pm" id="pm_CMAC_REGMAP|XILINX_CMAC_REGISTERS" onclick="pm('CMAC_REGMAP|XILINX_CMAC_REGISTERS');">+</span>
+ <span class="group" id="a_CMAC_REGMAP|XILINX_CMAC_REGISTERS" onclick="a('CMAC_REGMAP|XILINX_CMAC_REGISTERS');">XILINX_CMAC_REGISTERS</span>
+ </p>
+ <div class="sh" id="div_CMAC_REGMAP|XILINX_CMAC_REGISTERS">
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_CONSTANTS_REGMAP" onclick="pm('CONSTANTS_REGMAP');">+</span>
+ <span class="regmap" id="a_CONSTANTS_REGMAP" onclick="a('CONSTANTS_REGMAP');">CONSTANTS_REGMAP</span>
+ </p> <div class="sh" id="div_CONSTANTS_REGMAP">
+ <p>
+ <span class="pm" id="pm_CONSTANTS_REGMAP|CONSTANTS_GROUP" onclick="pm('CONSTANTS_REGMAP|CONSTANTS_GROUP');">+</span>
+ <span class="group" id="a_CONSTANTS_REGMAP|CONSTANTS_GROUP" onclick="a('CONSTANTS_REGMAP|CONSTANTS_GROUP');">CONSTANTS_GROUP</span>
+ </p>
+ <div class="sh" id="div_CONSTANTS_REGMAP|CONSTANTS_GROUP">
+ <p><span class="enum" id="a_CONSTANTS_REGMAP|CONSTANTS_ENUM" onclick="a('CONSTANTS_REGMAP|CONSTANTS_ENUM');">enum CONSTANTS_ENUM</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_CORE_REGS_REGMAP" onclick="pm('CORE_REGS_REGMAP');">+</span>
+ <span class="regmap" id="a_CORE_REGS_REGMAP" onclick="a('CORE_REGS_REGMAP');">CORE_REGS_REGMAP</span>
+ </p> <div class="sh" id="div_CORE_REGS_REGMAP">
+ <p>
+ <span class="pm" id="pm_CORE_REGS_REGMAP|CORE_REGS" onclick="pm('CORE_REGS_REGMAP|CORE_REGS');">+</span>
+ <span class="group" id="a_CORE_REGS_REGMAP|CORE_REGS" onclick="a('CORE_REGS_REGMAP|CORE_REGS');">CORE_REGS</span>
+ </p>
+ <div class="sh" id="div_CORE_REGS_REGMAP|CORE_REGS">
+ <p><span class="register" id="a_CORE_REGS_REGMAP|GLOBAL_REGS" onclick="a('CORE_REGS_REGMAP|GLOBAL_REGS');">GLOBAL_REGS</span></p>
+ <p><span class="register" id="a_CORE_REGS_REGMAP|VERSIONING_REGS" onclick="a('CORE_REGS_REGMAP|VERSIONING_REGS');">VERSIONING_REGS</span></p>
+ <p><span class="register" id="a_CORE_REGS_REGMAP|TIMEKEEPER" onclick="a('CORE_REGS_REGMAP|TIMEKEEPER');">TIMEKEEPER</span></p>
+ <p><span class="register" id="a_CORE_REGS_REGMAP|DIO" onclick="a('CORE_REGS_REGMAP|DIO');">DIO</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_CPLD_INTERFACE_REGMAP" onclick="pm('CPLD_INTERFACE_REGMAP');">+</span>
+ <span class="regmap" id="a_CPLD_INTERFACE_REGMAP" onclick="a('CPLD_INTERFACE_REGMAP');">CPLD_INTERFACE_REGMAP</span>
+ </p> <div class="sh" id="div_CPLD_INTERFACE_REGMAP">
+ <p>
+ <span class="pm" id="pm_CPLD_INTERFACE_REGMAP|CPLD_INTERFACE_REGS" onclick="pm('CPLD_INTERFACE_REGMAP|CPLD_INTERFACE_REGS');">+</span>
+ <span class="group" id="a_CPLD_INTERFACE_REGMAP|CPLD_INTERFACE_REGS" onclick="a('CPLD_INTERFACE_REGMAP|CPLD_INTERFACE_REGS');">CPLD_INTERFACE_REGS</span>
+ </p>
+ <div class="sh" id="div_CPLD_INTERFACE_REGMAP|CPLD_INTERFACE_REGS">
+ <p><span class="register" id="a_CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER" onclick="a('CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER');">SIGNATURE_REGISTER</span></p>
+ <p><span class="register" id="a_CPLD_INTERFACE_REGMAP|SCRATCH_REGISTER" onclick="a('CPLD_INTERFACE_REGMAP|SCRATCH_REGISTER');">SCRATCH_REGISTER</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_CPLD_INTERFACE_REGMAP|CPLD_SPI_CONTROL_REGS" onclick="pm('CPLD_INTERFACE_REGMAP|CPLD_SPI_CONTROL_REGS');">+</span>
+ <span class="group" id="a_CPLD_INTERFACE_REGMAP|CPLD_SPI_CONTROL_REGS" onclick="a('CPLD_INTERFACE_REGMAP|CPLD_SPI_CONTROL_REGS');">CPLD_SPI_CONTROL_REGS</span>
+ </p>
+ <div class="sh" id="div_CPLD_INTERFACE_REGMAP|CPLD_SPI_CONTROL_REGS">
+ <p><span class="register" id="a_CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER" onclick="a('CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER');">MOTHERBOARD_CPLD_DIVIDER</span></p>
+ <p><span class="register" id="a_CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER" onclick="a('CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER');">DAUGHTERBOARD_CPLD_DIVIDER</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_CPLD_INTERFACE_REGMAP|IPASS_REGS" onclick="pm('CPLD_INTERFACE_REGMAP|IPASS_REGS');">+</span>
+ <span class="group" id="a_CPLD_INTERFACE_REGMAP|IPASS_REGS" onclick="a('CPLD_INTERFACE_REGMAP|IPASS_REGS');">IPASS_REGS</span>
+ </p>
+ <div class="sh" id="div_CPLD_INTERFACE_REGMAP|IPASS_REGS">
+ <p><span class="register" id="a_CPLD_INTERFACE_REGMAP|IPASS_CONTROL" onclick="a('CPLD_INTERFACE_REGMAP|IPASS_CONTROL');">IPASS_CONTROL</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_DIO_REGMAP" onclick="pm('DIO_REGMAP');">+</span>
+ <span class="regmap" id="a_DIO_REGMAP" onclick="a('DIO_REGMAP');">DIO_REGMAP</span>
+ </p> <div class="sh" id="div_DIO_REGMAP">
+ <p>
+ <span class="pm" id="pm_DIO_REGMAP|DIO_REGS" onclick="pm('DIO_REGMAP|DIO_REGS');">+</span>
+ <span class="group" id="a_DIO_REGMAP|DIO_REGS" onclick="a('DIO_REGMAP|DIO_REGS');">DIO_REGS</span>
+ </p>
+ <div class="sh" id="div_DIO_REGMAP|DIO_REGS">
+ <p><span class="register" id="a_DIO_REGMAP|DIO_MASTER_REGISTER" onclick="a('DIO_REGMAP|DIO_MASTER_REGISTER');">DIO_MASTER_REGISTER</span></p>
+ <p><span class="register" id="a_DIO_REGMAP|DIO_DIRECTION_REGISTER" onclick="a('DIO_REGMAP|DIO_DIRECTION_REGISTER');">DIO_DIRECTION_REGISTER</span></p>
+ <p><span class="register" id="a_DIO_REGMAP|DIO_INPUT_REGISTER" onclick="a('DIO_REGMAP|DIO_INPUT_REGISTER');">DIO_INPUT_REGISTER</span></p>
+ <p><span class="register" id="a_DIO_REGMAP|DIO_OUTPUT_REGISTER" onclick="a('DIO_REGMAP|DIO_OUTPUT_REGISTER');">DIO_OUTPUT_REGISTER</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_DMA_REGMAP" onclick="pm('DMA_REGMAP');">+</span>
+ <span class="regmap" id="a_DMA_REGMAP" onclick="a('DMA_REGMAP');">DMA_REGMAP</span>
+ </p> <div class="sh" id="div_DMA_REGMAP">
+ <p>
+ <span class="pm" id="pm_DMA_REGMAP|XILINX_DMA_REGISTERS" onclick="pm('DMA_REGMAP|XILINX_DMA_REGISTERS');">+</span>
+ <span class="group" id="a_DMA_REGMAP|XILINX_DMA_REGISTERS" onclick="a('DMA_REGMAP|XILINX_DMA_REGISTERS');">XILINX_DMA_REGISTERS</span>
+ </p>
+ <div class="sh" id="div_DMA_REGMAP|XILINX_DMA_REGISTERS">
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_ETH_DMA_CTRL_REGMAP" onclick="pm('ETH_DMA_CTRL_REGMAP');">+</span>
+ <span class="regmap" id="a_ETH_DMA_CTRL_REGMAP" onclick="a('ETH_DMA_CTRL_REGMAP');">ETH_DMA_CTRL_REGMAP</span>
+ </p> <div class="sh" id="div_ETH_DMA_CTRL_REGMAP">
+ <p>
+ <span class="pm" id="pm_ETH_DMA_CTRL_REGMAP|ETH_DMA_CTRL" onclick="pm('ETH_DMA_CTRL_REGMAP|ETH_DMA_CTRL');">+</span>
+ <span class="group" id="a_ETH_DMA_CTRL_REGMAP|ETH_DMA_CTRL" onclick="a('ETH_DMA_CTRL_REGMAP|ETH_DMA_CTRL');">ETH_DMA_CTRL</span>
+ </p>
+ <div class="sh" id="div_ETH_DMA_CTRL_REGMAP|ETH_DMA_CTRL">
+ <p><span class="register" id="a_ETH_DMA_CTRL_REGMAP|AXI_DMA_CTRL" onclick="a('ETH_DMA_CTRL_REGMAP|AXI_DMA_CTRL');">AXI_DMA_CTRL</span></p>
+ <p><span class="register" id="a_ETH_DMA_CTRL_REGMAP|ETH_IO_CTRL" onclick="a('ETH_DMA_CTRL_REGMAP|ETH_IO_CTRL');">ETH_IO_CTRL</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_GLOBAL_REGS_REGMAP" onclick="pm('GLOBAL_REGS_REGMAP');">+</span>
+ <span class="regmap" id="a_GLOBAL_REGS_REGMAP" onclick="a('GLOBAL_REGS_REGMAP');">GLOBAL_REGS_REGMAP</span>
+ </p> <div class="sh" id="div_GLOBAL_REGS_REGMAP">
+ <p>
+ <span class="pm" id="pm_GLOBAL_REGS_REGMAP|GLOBAL_REGS" onclick="pm('GLOBAL_REGS_REGMAP|GLOBAL_REGS');">+</span>
+ <span class="group" id="a_GLOBAL_REGS_REGMAP|GLOBAL_REGS" onclick="a('GLOBAL_REGS_REGMAP|GLOBAL_REGS');">GLOBAL_REGS</span>
+ </p>
+ <div class="sh" id="div_GLOBAL_REGS_REGMAP|GLOBAL_REGS">
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|COMPAT_NUM_REG" onclick="a('GLOBAL_REGS_REGMAP|COMPAT_NUM_REG');">COMPAT_NUM_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|DATESTAMP_REG" onclick="a('GLOBAL_REGS_REGMAP|DATESTAMP_REG');">DATESTAMP_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|GIT_HASH_REG" onclick="a('GLOBAL_REGS_REGMAP|GIT_HASH_REG');">GIT_HASH_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|SCRATCH_REG" onclick="a('GLOBAL_REGS_REGMAP|SCRATCH_REG');">SCRATCH_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|DEVICE_ID_REG" onclick="a('GLOBAL_REGS_REGMAP|DEVICE_ID_REG');">DEVICE_ID_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|RFNOC_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|RFNOC_INFO_REG');">RFNOC_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG" onclick="a('GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG');">CLOCK_CTRL_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|PPS_CTRL_REG" onclick="a('GLOBAL_REGS_REGMAP|PPS_CTRL_REG');">PPS_CTRL_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG" onclick="a('GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG');">CHDR_CLK_RATE_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|CHDR_CLK_COUNT_REG" onclick="a('GLOBAL_REGS_REGMAP|CHDR_CLK_COUNT_REG');">CHDR_CLK_COUNT_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|GPS_CTRL_REG" onclick="a('GLOBAL_REGS_REGMAP|GPS_CTRL_REG');">GPS_CTRL_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|GPS_STATUS_REG" onclick="a('GLOBAL_REGS_REGMAP|GPS_STATUS_REG');">GPS_STATUS_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|DBOARD_CTRL_REG" onclick="a('GLOBAL_REGS_REGMAP|DBOARD_CTRL_REG');">DBOARD_CTRL_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|DBOARD_STATUS_REG" onclick="a('GLOBAL_REGS_REGMAP|DBOARD_STATUS_REG');">DBOARD_STATUS_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|NUM_TIMEKEEPERS_REG" onclick="a('GLOBAL_REGS_REGMAP|NUM_TIMEKEEPERS_REG');">NUM_TIMEKEEPERS_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|SERIAL_NUM_LOW_REG" onclick="a('GLOBAL_REGS_REGMAP|SERIAL_NUM_LOW_REG');">SERIAL_NUM_LOW_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|SERIAL_NUM_HIGH_REG" onclick="a('GLOBAL_REGS_REGMAP|SERIAL_NUM_HIGH_REG');">SERIAL_NUM_HIGH_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG" onclick="a('GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG');">MFG_TEST_CTRL_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG" onclick="a('GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG');">MFG_TEST_STATUS_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_0_0_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_0_0_INFO_REG');">QSFP_PORT_0_0_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_0_1_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_0_1_INFO_REG');">QSFP_PORT_0_1_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_0_2_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_0_2_INFO_REG');">QSFP_PORT_0_2_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_0_3_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_0_3_INFO_REG');">QSFP_PORT_0_3_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_1_0_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_1_0_INFO_REG');">QSFP_PORT_1_0_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_1_1_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_1_1_INFO_REG');">QSFP_PORT_1_1_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_1_2_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_1_2_INFO_REG');">QSFP_PORT_1_2_INFO_REG</span></p>
+ <p><span class="register" id="a_GLOBAL_REGS_REGMAP|QSFP_PORT_1_3_INFO_REG" onclick="a('GLOBAL_REGS_REGMAP|QSFP_PORT_1_3_INFO_REG');">QSFP_PORT_1_3_INFO_REG</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_JTAG_REGMAP" onclick="pm('JTAG_REGMAP');">+</span>
+ <span class="regmap" id="a_JTAG_REGMAP" onclick="a('JTAG_REGMAP');">JTAG_REGMAP</span>
+ </p> <div class="sh" id="div_JTAG_REGMAP">
+ <p>
+ <span class="pm" id="pm_JTAG_REGMAP|JTAG_REGS" onclick="pm('JTAG_REGMAP|JTAG_REGS');">+</span>
+ <span class="group" id="a_JTAG_REGMAP|JTAG_REGS" onclick="a('JTAG_REGMAP|JTAG_REGS');">JTAG_REGS</span>
+ </p>
+ <div class="sh" id="div_JTAG_REGMAP|JTAG_REGS">
+ <p><span class="register" id="a_JTAG_REGMAP|TX_DATA" onclick="a('JTAG_REGMAP|TX_DATA');">TX_DATA</span></p>
+ <p><span class="register" id="a_JTAG_REGMAP|STB_DATA" onclick="a('JTAG_REGMAP|STB_DATA');">STB_DATA</span></p>
+ <p><span class="register" id="a_JTAG_REGMAP|CONTROL" onclick="a('JTAG_REGMAP|CONTROL');">CONTROL</span></p>
+ <p><span class="register" id="a_JTAG_REGMAP|RX_DATA" onclick="a('JTAG_REGMAP|RX_DATA');">RX_DATA</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_MB_CPLD_PL_REGMAP" onclick="pm('MB_CPLD_PL_REGMAP');">+</span>
+ <span class="regmap" id="a_MB_CPLD_PL_REGMAP" onclick="a('MB_CPLD_PL_REGMAP');">MB_CPLD_PL_REGMAP</span>
+ </p> <div class="sh" id="div_MB_CPLD_PL_REGMAP">
+ <p>
+ <span class="pm" id="pm_MB_CPLD_PL_REGMAP|MB_CPLD_PL_WINDOWS" onclick="pm('MB_CPLD_PL_REGMAP|MB_CPLD_PL_WINDOWS');">+</span>
+ <span class="group" id="a_MB_CPLD_PL_REGMAP|MB_CPLD_PL_WINDOWS" onclick="a('MB_CPLD_PL_REGMAP|MB_CPLD_PL_WINDOWS');">MB_CPLD_PL_WINDOWS</span>
+ </p>
+ <div class="sh" id="div_MB_CPLD_PL_REGMAP|MB_CPLD_PL_WINDOWS">
+ <p><span class="register" id="a_MB_CPLD_PL_REGMAP|PL_REGISTERS" onclick="a('MB_CPLD_PL_REGMAP|PL_REGISTERS');">PL_REGISTERS</span></p>
+ <p><span class="register" id="a_MB_CPLD_PL_REGMAP|JTAG_DB0" onclick="a('MB_CPLD_PL_REGMAP|JTAG_DB0');">JTAG_DB0</span></p>
+ <p><span class="register" id="a_MB_CPLD_PL_REGMAP|JTAG_DB1" onclick="a('MB_CPLD_PL_REGMAP|JTAG_DB1');">JTAG_DB1</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_NIXGE_REGMAP" onclick="pm('NIXGE_REGMAP');">+</span>
+ <span class="regmap" id="a_NIXGE_REGMAP" onclick="a('NIXGE_REGMAP');">NIXGE_REGMAP</span>
+ </p> <div class="sh" id="div_NIXGE_REGMAP">
+ <p>
+ <span class="pm" id="pm_NIXGE_REGMAP|XGE_MAC_REGS" onclick="pm('NIXGE_REGMAP|XGE_MAC_REGS');">+</span>
+ <span class="group" id="a_NIXGE_REGMAP|XGE_MAC_REGS" onclick="a('NIXGE_REGMAP|XGE_MAC_REGS');">XGE_MAC_REGS</span>
+ </p>
+ <div class="sh" id="div_NIXGE_REGMAP|XGE_MAC_REGS">
+ <p><span class="register" id="a_NIXGE_REGMAP|PORT_INFO" onclick="a('NIXGE_REGMAP|PORT_INFO');">PORT_INFO</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|MAC_CTRL_STATUS" onclick="a('NIXGE_REGMAP|MAC_CTRL_STATUS');">MAC_CTRL_STATUS</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|MAC_PHY_STATUS" onclick="a('NIXGE_REGMAP|MAC_PHY_STATUS');">MAC_PHY_STATUS</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|MAC_LED_CTL" onclick="a('NIXGE_REGMAP|MAC_LED_CTL');">MAC_LED_CTL</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|ETH_MDIO_BASE" onclick="a('NIXGE_REGMAP|ETH_MDIO_BASE');">ETH_MDIO_BASE</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|AURORA_OVERRUNS" onclick="a('NIXGE_REGMAP|AURORA_OVERRUNS');">AURORA_OVERRUNS</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|AURORA_CHECKSUM_ERRORS" onclick="a('NIXGE_REGMAP|AURORA_CHECKSUM_ERRORS');">AURORA_CHECKSUM_ERRORS</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|AURORA_BIST_CHECKER_SAMPS" onclick="a('NIXGE_REGMAP|AURORA_BIST_CHECKER_SAMPS');">AURORA_BIST_CHECKER_SAMPS</span></p>
+ <p><span class="register" id="a_NIXGE_REGMAP|AURORA_BIST_CHECKER_ERRORS" onclick="a('NIXGE_REGMAP|AURORA_BIST_CHECKER_ERRORS');">AURORA_BIST_CHECKER_ERRORS</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_NIXGE_REGMAP|XGE_MAC_WINDOW" onclick="pm('NIXGE_REGMAP|XGE_MAC_WINDOW');">+</span>
+ <span class="group" id="a_NIXGE_REGMAP|XGE_MAC_WINDOW" onclick="a('NIXGE_REGMAP|XGE_MAC_WINDOW');">XGE_MAC_WINDOW</span>
+ </p>
+ <div class="sh" id="div_NIXGE_REGMAP|XGE_MAC_WINDOW">
+ <p><span class="register" id="a_NIXGE_REGMAP|XGE_MAC" onclick="a('NIXGE_REGMAP|XGE_MAC');">XGE_MAC</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_PL_CPLD_BASE_REGMAP" onclick="pm('PL_CPLD_BASE_REGMAP');">+</span>
+ <span class="regmap" id="a_PL_CPLD_BASE_REGMAP" onclick="a('PL_CPLD_BASE_REGMAP');">PL_CPLD_BASE_REGMAP</span>
+ </p> <div class="sh" id="div_PL_CPLD_BASE_REGMAP">
+ <p>
+ <span class="pm" id="pm_PL_CPLD_BASE_REGMAP|MB_CPLD_LED_REGS" onclick="pm('PL_CPLD_BASE_REGMAP|MB_CPLD_LED_REGS');">+</span>
+ <span class="group" id="a_PL_CPLD_BASE_REGMAP|MB_CPLD_LED_REGS" onclick="a('PL_CPLD_BASE_REGMAP|MB_CPLD_LED_REGS');">MB_CPLD_LED_REGS</span>
+ </p>
+ <div class="sh" id="div_PL_CPLD_BASE_REGMAP|MB_CPLD_LED_REGS">
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|LED_REGISTER" onclick="a('PL_CPLD_BASE_REGMAP|LED_REGISTER');">LED_REGISTER</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_PL_CPLD_BASE_REGMAP|PL_CMI_REGS" onclick="pm('PL_CPLD_BASE_REGMAP|PL_CMI_REGS');">+</span>
+ <span class="group" id="a_PL_CPLD_BASE_REGMAP|PL_CMI_REGS" onclick="a('PL_CPLD_BASE_REGMAP|PL_CMI_REGS');">PL_CMI_REGS</span>
+ </p>
+ <div class="sh" id="div_PL_CPLD_BASE_REGMAP|PL_CMI_REGS">
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG" onclick="a('PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG');">CABLE_PRESENT_REG</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_PL_CPLD_BASE_REGMAP|PL_CPLD_BASE_REGS" onclick="pm('PL_CPLD_BASE_REGMAP|PL_CPLD_BASE_REGS');">+</span>
+ <span class="group" id="a_PL_CPLD_BASE_REGMAP|PL_CPLD_BASE_REGS" onclick="a('PL_CPLD_BASE_REGMAP|PL_CPLD_BASE_REGS');">PL_CPLD_BASE_REGS</span>
+ </p>
+ <div class="sh" id="div_PL_CPLD_BASE_REGMAP|PL_CPLD_BASE_REGS">
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER" onclick="a('PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER');">SIGNATURE_REGISTER</span></p>
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|REVISION_REGISTER" onclick="a('PL_CPLD_BASE_REGMAP|REVISION_REGISTER');">REVISION_REGISTER</span></p>
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER" onclick="a('PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER');">OLDEST_COMPATIBLE_REVISION_REGISTER</span></p>
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|SCRATCH_REGISTER" onclick="a('PL_CPLD_BASE_REGMAP|SCRATCH_REGISTER');">SCRATCH_REGISTER</span></p>
+ <p><span class="register" id="a_PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER" onclick="a('PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER');">GIT_HASH_REGISTER</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_PL_CPLD_REGMAP" onclick="pm('PL_CPLD_REGMAP');">+</span>
+ <span class="regmap" id="a_PL_CPLD_REGMAP" onclick="a('PL_CPLD_REGMAP');">PL_CPLD_REGMAP</span>
+ </p> <div class="sh" id="div_PL_CPLD_REGMAP">
+ <p>
+ <span class="pm" id="pm_PL_CPLD_REGMAP|PL_CPLD_WINDOWS" onclick="pm('PL_CPLD_REGMAP|PL_CPLD_WINDOWS');">+</span>
+ <span class="group" id="a_PL_CPLD_REGMAP|PL_CPLD_WINDOWS" onclick="a('PL_CPLD_REGMAP|PL_CPLD_WINDOWS');">PL_CPLD_WINDOWS</span>
+ </p>
+ <div class="sh" id="div_PL_CPLD_REGMAP|PL_CPLD_WINDOWS">
+ <p><span class="register" id="a_PL_CPLD_REGMAP|BASE" onclick="a('PL_CPLD_REGMAP|BASE');">BASE</span></p>
+ <p><span class="register" id="a_PL_CPLD_REGMAP|MB_CPLD" onclick="a('PL_CPLD_REGMAP|MB_CPLD');">MB_CPLD</span></p>
+ <p><span class="register" id="a_PL_CPLD_REGMAP|DB0_CPLD" onclick="a('PL_CPLD_REGMAP|DB0_CPLD');">DB0_CPLD</span></p>
+ <p><span class="register" id="a_PL_CPLD_REGMAP|DB1_CPLD" onclick="a('PL_CPLD_REGMAP|DB1_CPLD');">DB1_CPLD</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_PL_DMA_MASTER_REGMAP" onclick="pm('PL_DMA_MASTER_REGMAP');">+</span>
+ <span class="regmap" id="a_PL_DMA_MASTER_REGMAP" onclick="a('PL_DMA_MASTER_REGMAP');">PL_DMA_MASTER_REGMAP</span>
+ </p> <div class="sh" id="div_PL_DMA_MASTER_REGMAP">
+ <p>
+ <span class="pm" id="pm_PL_DMA_MASTER_REGMAP|HPC0_DMA" onclick="pm('PL_DMA_MASTER_REGMAP|HPC0_DMA');">+</span>
+ <span class="group" id="a_PL_DMA_MASTER_REGMAP|HPC0_DMA" onclick="a('PL_DMA_MASTER_REGMAP|HPC0_DMA');">HPC0_DMA</span>
+ </p>
+ <div class="sh" id="div_PL_DMA_MASTER_REGMAP|HPC0_DMA">
+ <p><span class="register" id="a_PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW" onclick="a('PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW');">AXI_HPC0_WINDOW</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_PL_DMA_MASTER_REGMAP|HPC1_DMA" onclick="pm('PL_DMA_MASTER_REGMAP|HPC1_DMA');">+</span>
+ <span class="group" id="a_PL_DMA_MASTER_REGMAP|HPC1_DMA" onclick="a('PL_DMA_MASTER_REGMAP|HPC1_DMA');">HPC1_DMA</span>
+ </p>
+ <div class="sh" id="div_PL_DMA_MASTER_REGMAP|HPC1_DMA">
+ <p><span class="register" id="a_PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW" onclick="a('PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW');">AXI_HPC1_WINDOW</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_PS_CPLD_BASE_REGMAP" onclick="pm('PS_CPLD_BASE_REGMAP');">+</span>
+ <span class="regmap" id="a_PS_CPLD_BASE_REGMAP" onclick="a('PS_CPLD_BASE_REGMAP');">PS_CPLD_BASE_REGMAP</span>
+ </p> <div class="sh" id="div_PS_CPLD_BASE_REGMAP">
+ <p>
+ <span class="pm" id="pm_PS_CPLD_BASE_REGMAP|DIO_REGS" onclick="pm('PS_CPLD_BASE_REGMAP|DIO_REGS');">+</span>
+ <span class="group" id="a_PS_CPLD_BASE_REGMAP|DIO_REGS" onclick="a('PS_CPLD_BASE_REGMAP|DIO_REGS');">DIO_REGS</span>
+ </p>
+ <div class="sh" id="div_PS_CPLD_BASE_REGMAP|DIO_REGS">
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER');">DIO_DIRECTION_REGISTER</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_PS_CPLD_BASE_REGMAP|PS_CMI_REGS" onclick="pm('PS_CPLD_BASE_REGMAP|PS_CMI_REGS');">+</span>
+ <span class="group" id="a_PS_CPLD_BASE_REGMAP|PS_CMI_REGS" onclick="a('PS_CPLD_BASE_REGMAP|PS_CMI_REGS');">PS_CMI_REGS</span>
+ </p>
+ <div class="sh" id="div_PS_CPLD_BASE_REGMAP|PS_CMI_REGS">
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|SERIAL_NUM_LOW_REG" onclick="a('PS_CPLD_BASE_REGMAP|SERIAL_NUM_LOW_REG');">SERIAL_NUM_LOW_REG</span></p>
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|SERIAL_NUM_HIGH_REG" onclick="a('PS_CPLD_BASE_REGMAP|SERIAL_NUM_HIGH_REG');">SERIAL_NUM_HIGH_REG</span></p>
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS" onclick="a('PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS');">CMI_CONTROL_STATUS</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_PS_CPLD_BASE_REGMAP|PS_CONTROL_REGS" onclick="pm('PS_CPLD_BASE_REGMAP|PS_CONTROL_REGS');">+</span>
+ <span class="group" id="a_PS_CPLD_BASE_REGMAP|PS_CONTROL_REGS" onclick="a('PS_CPLD_BASE_REGMAP|PS_CONTROL_REGS');">PS_CONTROL_REGS</span>
+ </p>
+ <div class="sh" id="div_PS_CPLD_BASE_REGMAP|PS_CONTROL_REGS">
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|PL_DB_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|PL_DB_REGISTER');">PL_DB_REGISTER</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_PS_CPLD_BASE_REGMAP|PS_CPLD_BASE_REGS" onclick="pm('PS_CPLD_BASE_REGMAP|PS_CPLD_BASE_REGS');">+</span>
+ <span class="group" id="a_PS_CPLD_BASE_REGMAP|PS_CPLD_BASE_REGS" onclick="a('PS_CPLD_BASE_REGMAP|PS_CPLD_BASE_REGS');">PS_CPLD_BASE_REGS</span>
+ </p>
+ <div class="sh" id="div_PS_CPLD_BASE_REGMAP|PS_CPLD_BASE_REGS">
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER');">SIGNATURE_REGISTER</span></p>
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|REVISION_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|REVISION_REGISTER');">REVISION_REGISTER</span></p>
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER');">OLDEST_COMPATIBLE_REVISION_REGISTER</span></p>
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|SCRATCH_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|SCRATCH_REGISTER');">SCRATCH_REGISTER</span></p>
+ <p><span class="register" id="a_PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER" onclick="a('PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER');">GIT_HASH_REGISTER</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_PS_POWER_REGMAP" onclick="pm('PS_POWER_REGMAP');">+</span>
+ <span class="regmap" id="a_PS_POWER_REGMAP" onclick="a('PS_POWER_REGMAP');">PS_POWER_REGMAP</span>
+ </p> <div class="sh" id="div_PS_POWER_REGMAP">
+ <p>
+ <span class="pm" id="pm_PS_POWER_REGMAP|PS_POWER_REGS" onclick="pm('PS_POWER_REGMAP|PS_POWER_REGS');">+</span>
+ <span class="group" id="a_PS_POWER_REGMAP|PS_POWER_REGS" onclick="a('PS_POWER_REGMAP|PS_POWER_REGS');">PS_POWER_REGS</span>
+ </p>
+ <div class="sh" id="div_PS_POWER_REGMAP|PS_POWER_REGS">
+ <p><span class="register" id="a_PS_POWER_REGMAP|IPASS_POWER_REG" onclick="a('PS_POWER_REGMAP|IPASS_POWER_REG');">IPASS_POWER_REG</span></p>
+ <p><span class="register" id="a_PS_POWER_REGMAP|OSC_POWER_REG" onclick="a('PS_POWER_REGMAP|OSC_POWER_REG');">OSC_POWER_REG</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_QSFP_REGMAP" onclick="pm('QSFP_REGMAP');">+</span>
+ <span class="regmap" id="a_QSFP_REGMAP" onclick="a('QSFP_REGMAP');">QSFP_REGMAP</span>
+ </p> <div class="sh" id="div_QSFP_REGMAP">
+ <p>
+ <span class="pm" id="pm_QSFP_REGMAP|QSFP_WINDOWS" onclick="pm('QSFP_REGMAP|QSFP_WINDOWS');">+</span>
+ <span class="group" id="a_QSFP_REGMAP|QSFP_WINDOWS" onclick="a('QSFP_REGMAP|QSFP_WINDOWS');">QSFP_WINDOWS</span>
+ </p>
+ <div class="sh" id="div_QSFP_REGMAP|QSFP_WINDOWS">
+ <p><span class="register" id="a_QSFP_REGMAP|ETH_DMA" onclick="a('QSFP_REGMAP|ETH_DMA');">ETH_DMA</span></p>
+ <p><span class="register" id="a_QSFP_REGMAP|NIXGE" onclick="a('QSFP_REGMAP|NIXGE');">NIXGE</span></p>
+ <p><span class="register" id="a_QSFP_REGMAP|UIO" onclick="a('QSFP_REGMAP|UIO');">UIO</span></p>
+ <p><span class="register" id="a_QSFP_REGMAP|CMAC" onclick="a('QSFP_REGMAP|CMAC');">CMAC</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_RADIO_CTRLPORT_REGMAP" onclick="pm('RADIO_CTRLPORT_REGMAP');">+</span>
+ <span class="regmap" id="a_RADIO_CTRLPORT_REGMAP" onclick="a('RADIO_CTRLPORT_REGMAP');">RADIO_CTRLPORT_REGMAP</span>
+ </p> <div class="sh" id="div_RADIO_CTRLPORT_REGMAP">
+ <p>
+ <span class="pm" id="pm_RADIO_CTRLPORT_REGMAP|RADIO_CTRLPORT_WINDOWS" onclick="pm('RADIO_CTRLPORT_REGMAP|RADIO_CTRLPORT_WINDOWS');">+</span>
+ <span class="group" id="a_RADIO_CTRLPORT_REGMAP|RADIO_CTRLPORT_WINDOWS" onclick="a('RADIO_CTRLPORT_REGMAP|RADIO_CTRLPORT_WINDOWS');">RADIO_CTRLPORT_WINDOWS</span>
+ </p>
+ <div class="sh" id="div_RADIO_CTRLPORT_REGMAP|RADIO_CTRLPORT_WINDOWS">
+ <p><span class="register" id="a_RADIO_CTRLPORT_REGMAP|DB_WINDOW" onclick="a('RADIO_CTRLPORT_REGMAP|DB_WINDOW');">DB_WINDOW</span></p>
+ <p><span class="register" id="a_RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW" onclick="a('RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW');">RFDC_TIMING_WINDOW</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_RECONFIG_REGMAP" onclick="pm('RECONFIG_REGMAP');">+</span>
+ <span class="regmap" id="a_RECONFIG_REGMAP" onclick="a('RECONFIG_REGMAP');">RECONFIG_REGMAP</span>
+ </p> <div class="sh" id="div_RECONFIG_REGMAP">
+ <p>
+ <span class="pm" id="pm_RECONFIG_REGMAP|RECONFIG_REGS" onclick="pm('RECONFIG_REGMAP|RECONFIG_REGS');">+</span>
+ <span class="group" id="a_RECONFIG_REGMAP|RECONFIG_REGS" onclick="a('RECONFIG_REGMAP|RECONFIG_REGS');">RECONFIG_REGS</span>
+ </p>
+ <div class="sh" id="div_RECONFIG_REGMAP|RECONFIG_REGS">
+ <p><span class="enum" id="a_RECONFIG_REGMAP|FLASH_PRIMARY_IMAGE_ADDR_ENUM" onclick="a('RECONFIG_REGMAP|FLASH_PRIMARY_IMAGE_ADDR_ENUM');">enum FLASH_PRIMARY_IMAGE_ADDR_ENUM</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_STATUS_REG" onclick="a('RECONFIG_REGMAP|FLASH_STATUS_REG');">FLASH_STATUS_REG</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_CONTROL_REG" onclick="a('RECONFIG_REGMAP|FLASH_CONTROL_REG');">FLASH_CONTROL_REG</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_ADDR_REG" onclick="a('RECONFIG_REGMAP|FLASH_ADDR_REG');">FLASH_ADDR_REG</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_WRITE_DATA_REG" onclick="a('RECONFIG_REGMAP|FLASH_WRITE_DATA_REG');">FLASH_WRITE_DATA_REG</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_READ_DATA_REG" onclick="a('RECONFIG_REGMAP|FLASH_READ_DATA_REG');">FLASH_READ_DATA_REG</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG" onclick="a('RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG');">FLASH_CFM0_START_ADDR_REG</span></p>
+ <p><span class="register" id="a_RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG" onclick="a('RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG');">FLASH_CFM0_END_ADDR_REG</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_RFDC_REGS_REGMAP" onclick="pm('RFDC_REGS_REGMAP');">+</span>
+ <span class="regmap" id="a_RFDC_REGS_REGMAP" onclick="a('RFDC_REGS_REGMAP');">RFDC_REGS_REGMAP</span>
+ </p> <div class="sh" id="div_RFDC_REGS_REGMAP">
+ <p>
+ <span class="pm" id="pm_RFDC_REGS_REGMAP|RFDC_REGS" onclick="pm('RFDC_REGS_REGMAP|RFDC_REGS');">+</span>
+ <span class="group" id="a_RFDC_REGS_REGMAP|RFDC_REGS" onclick="a('RFDC_REGS_REGMAP|RFDC_REGS');">RFDC_REGS</span>
+ </p>
+ <div class="sh" id="div_RFDC_REGS_REGMAP|RFDC_REGS">
+ <p><span class="enum" id="a_RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM" onclick="a('RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM');">enum FABRIC_DSP_BW_ENUM</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|MMCM" onclick="a('RFDC_REGS_REGMAP|MMCM');">MMCM</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|INVERT_IQ_REG" onclick="a('RFDC_REGS_REGMAP|INVERT_IQ_REG');">INVERT_IQ_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|MMCM_RESET_REG" onclick="a('RFDC_REGS_REGMAP|MMCM_RESET_REG');">MMCM_RESET_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG" onclick="a('RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG');">RF_RESET_CONTROL_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|RF_RESET_STATUS_REG" onclick="a('RFDC_REGS_REGMAP|RF_RESET_STATUS_REG');">RF_RESET_STATUS_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|RF_AXI_STATUS_REG" onclick="a('RFDC_REGS_REGMAP|RF_AXI_STATUS_REG');">RF_AXI_STATUS_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|FABRIC_DSP_REG" onclick="a('RFDC_REGS_REGMAP|FABRIC_DSP_REG');">FABRIC_DSP_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|CALIBRATION_DATA" onclick="a('RFDC_REGS_REGMAP|CALIBRATION_DATA');">CALIBRATION_DATA</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|CALIBRATION_ENABLE" onclick="a('RFDC_REGS_REGMAP|CALIBRATION_ENABLE');">CALIBRATION_ENABLE</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|THRESHOLD_STATUS" onclick="a('RFDC_REGS_REGMAP|THRESHOLD_STATUS');">THRESHOLD_STATUS</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG" onclick="a('RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG');">RF_PLL_CONTROL_REG</span></p>
+ <p><span class="register" id="a_RFDC_REGS_REGMAP|RF_PLL_STATUS_REG" onclick="a('RFDC_REGS_REGMAP|RF_PLL_STATUS_REG');">RF_PLL_STATUS_REG</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_RFDC_TIMING_REGMAP" onclick="pm('RFDC_TIMING_REGMAP');">+</span>
+ <span class="regmap" id="a_RFDC_TIMING_REGMAP" onclick="a('RFDC_TIMING_REGMAP');">RFDC_TIMING_REGMAP</span>
+ </p> <div class="sh" id="div_RFDC_TIMING_REGMAP">
+ <p>
+ <span class="pm" id="pm_RFDC_TIMING_REGMAP|RFDC_TIMING_REGS" onclick="pm('RFDC_TIMING_REGMAP|RFDC_TIMING_REGS');">+</span>
+ <span class="group" id="a_RFDC_TIMING_REGMAP|RFDC_TIMING_REGS" onclick="a('RFDC_TIMING_REGMAP|RFDC_TIMING_REGS');">RFDC_TIMING_REGS</span>
+ </p>
+ <div class="sh" id="div_RFDC_TIMING_REGMAP|RFDC_TIMING_REGS">
+ <p><span class="register" id="a_RFDC_TIMING_REGMAP|NCO_RESET_REG" onclick="a('RFDC_TIMING_REGMAP|NCO_RESET_REG');">NCO_RESET_REG</span></p>
+ <p><span class="register" id="a_RFDC_TIMING_REGMAP|GEARBOX_RESET_REG" onclick="a('RFDC_TIMING_REGMAP|GEARBOX_RESET_REG');">GEARBOX_RESET_REG</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_SPI_REGMAP" onclick="pm('SPI_REGMAP');">+</span>
+ <span class="regmap" id="a_SPI_REGMAP" onclick="a('SPI_REGMAP');">SPI_REGMAP</span>
+ </p> <div class="sh" id="div_SPI_REGMAP">
+ <p>
+ <span class="pm" id="pm_SPI_REGMAP|SPI_REGS" onclick="pm('SPI_REGMAP|SPI_REGS');">+</span>
+ <span class="group" id="a_SPI_REGMAP|SPI_REGS" onclick="a('SPI_REGMAP|SPI_REGS');">SPI_REGS</span>
+ </p>
+ <div class="sh" id="div_SPI_REGMAP|SPI_REGS">
+ <p><span class="register" id="a_SPI_REGMAP|RX_DATA_LOW" onclick="a('SPI_REGMAP|RX_DATA_LOW');">RX_DATA_LOW</span></p>
+ <p><span class="register" id="a_SPI_REGMAP|RX_DATA_HIGH" onclick="a('SPI_REGMAP|RX_DATA_HIGH');">RX_DATA_HIGH</span></p>
+ <p><span class="register" id="a_SPI_REGMAP|TX_DATA_LOW" onclick="a('SPI_REGMAP|TX_DATA_LOW');">TX_DATA_LOW</span></p>
+ <p><span class="register" id="a_SPI_REGMAP|TX_DATA_HIGH" onclick="a('SPI_REGMAP|TX_DATA_HIGH');">TX_DATA_HIGH</span></p>
+ <p><span class="register" id="a_SPI_REGMAP|CONTROL" onclick="a('SPI_REGMAP|CONTROL');">CONTROL</span></p>
+ <p><span class="register" id="a_SPI_REGMAP|CLOCK_DIVIDER" onclick="a('SPI_REGMAP|CLOCK_DIVIDER');">CLOCK_DIVIDER</span></p>
+ <p><span class="register" id="a_SPI_REGMAP|SLAVE_SELECT" onclick="a('SPI_REGMAP|SLAVE_SELECT');">SLAVE_SELECT</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_UIO_REGMAP" onclick="pm('UIO_REGMAP');">+</span>
+ <span class="regmap" id="a_UIO_REGMAP" onclick="a('UIO_REGMAP');">UIO_REGMAP</span>
+ </p> <div class="sh" id="div_UIO_REGMAP">
+ <p>
+ <span class="pm" id="pm_UIO_REGMAP|UIO_REGS" onclick="pm('UIO_REGMAP|UIO_REGS');">+</span>
+ <span class="group" id="a_UIO_REGMAP|UIO_REGS" onclick="a('UIO_REGMAP|UIO_REGS');">UIO_REGS</span>
+ </p>
+ <div class="sh" id="div_UIO_REGMAP|UIO_REGS">
+ <p><span class="register" id="a_UIO_REGMAP|IP" onclick="a('UIO_REGMAP|IP');">IP</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|UDP" onclick="a('UIO_REGMAP|UDP');">UDP</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|BRIDGE_MAC_LSB" onclick="a('UIO_REGMAP|BRIDGE_MAC_LSB');">BRIDGE_MAC_LSB</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|BRIDGE_MAC_MSB" onclick="a('UIO_REGMAP|BRIDGE_MAC_MSB');">BRIDGE_MAC_MSB</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|BRIDGE_IP" onclick="a('UIO_REGMAP|BRIDGE_IP');">BRIDGE_IP</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|BRIDGE_UDP" onclick="a('UIO_REGMAP|BRIDGE_UDP');">BRIDGE_UDP</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|BRIDGE_ENABLE" onclick="a('UIO_REGMAP|BRIDGE_ENABLE');">BRIDGE_ENABLE</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|CHDR_DROPPED" onclick="a('UIO_REGMAP|CHDR_DROPPED');">CHDR_DROPPED</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|CPU_DROPPED" onclick="a('UIO_REGMAP|CPU_DROPPED');">CPU_DROPPED</span></p>
+ <p><span class="register" id="a_UIO_REGMAP|PAUSE" onclick="a('UIO_REGMAP|PAUSE');">PAUSE</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_VERSIONING_REGS_REGMAP" onclick="pm('VERSIONING_REGS_REGMAP');">+</span>
+ <span class="regmap" id="a_VERSIONING_REGS_REGMAP" onclick="a('VERSIONING_REGS_REGMAP');">VERSIONING_REGS_REGMAP</span>
+ </p> <div class="sh" id="div_VERSIONING_REGS_REGMAP">
+ <p>
+ <span class="pm" id="pm_VERSIONING_REGS_REGMAP|VERSIONING_CONSTANTS" onclick="pm('VERSIONING_REGS_REGMAP|VERSIONING_CONSTANTS');">+</span>
+ <span class="group" id="a_VERSIONING_REGS_REGMAP|VERSIONING_CONSTANTS" onclick="a('VERSIONING_REGS_REGMAP|VERSIONING_CONSTANTS');">VERSIONING_CONSTANTS</span>
+ </p>
+ <div class="sh" id="div_VERSIONING_REGS_REGMAP|VERSIONING_CONSTANTS">
+ <p><span class="enum" id="a_VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION" onclick="a('VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION');">enum CPLD_IFC_VERSION</span></p>
+ <p><span class="enum" id="a_VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION" onclick="a('VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION');">enum DB_GPIO_IFC_VERSION</span></p>
+ <p><span class="enum" id="a_VERSIONING_REGS_REGMAP|FPGA_VERSION" onclick="a('VERSIONING_REGS_REGMAP|FPGA_VERSION');">enum FPGA_VERSION</span></p>
+ <p><span class="enum" id="a_VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION" onclick="a('VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION');">enum RF_CORE_100M_VERSION</span></p>
+ <p><span class="enum" id="a_VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION" onclick="a('VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION');">enum RF_CORE_400M_VERSION</span></p>
+ </div>
+ <p>
+ <span class="pm" id="pm_VERSIONING_REGS_REGMAP|VERSIONING_REGS" onclick="pm('VERSIONING_REGS_REGMAP|VERSIONING_REGS');">+</span>
+ <span class="group" id="a_VERSIONING_REGS_REGMAP|VERSIONING_REGS" onclick="a('VERSIONING_REGS_REGMAP|VERSIONING_REGS');">VERSIONING_REGS</span>
+ </p>
+ <div class="sh" id="div_VERSIONING_REGS_REGMAP|VERSIONING_REGS">
+ <p><span class="enum" id="a_VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES" onclick="a('VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES');">enum COMPONENTS_INDEXES</span></p>
+ <p><span class="register" id="a_VERSIONING_REGS_REGMAP|CURRENT_VERSION" onclick="a('VERSIONING_REGS_REGMAP|CURRENT_VERSION');">CURRENT_VERSION</span></p>
+ <p><span class="register" id="a_VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION" onclick="a('VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION');">OLDEST_COMPATIBLE_VERSION</span></p>
+ <p><span class="register" id="a_VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED" onclick="a('VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED');">VERSION_LAST_MODIFIED</span></p>
+ <p><span class="register" id="a_VERSIONING_REGS_REGMAP|RESERVED" onclick="a('VERSIONING_REGS_REGMAP|RESERVED');">RESERVED</span></p>
+ </div>
+ </div>
+ <p>
+ <span class="pm" id="pm_XGE_MAC_REGMAP" onclick="pm('XGE_MAC_REGMAP');">+</span>
+ <span class="regmap" id="a_XGE_MAC_REGMAP" onclick="a('XGE_MAC_REGMAP');">XGE_MAC_REGMAP</span>
+ </p> <div class="sh" id="div_XGE_MAC_REGMAP">
+ <p>
+ <span class="pm" id="pm_XGE_MAC_REGMAP|OPENCORE_XGE_REGISTERS" onclick="pm('XGE_MAC_REGMAP|OPENCORE_XGE_REGISTERS');">+</span>
+ <span class="group" id="a_XGE_MAC_REGMAP|OPENCORE_XGE_REGISTERS" onclick="a('XGE_MAC_REGMAP|OPENCORE_XGE_REGISTERS');">OPENCORE_XGE_REGISTERS</span>
+ </p>
+ <div class="sh" id="div_XGE_MAC_REGMAP|OPENCORE_XGE_REGISTERS">
+ </div>
+ </div>
+ </div>
+ </body>
+</HTML> \ No newline at end of file
diff --git a/fpga/usrp3/top/x400/doc/X4XX_FPGA_right.htm b/fpga/usrp3/top/x400/doc/X4XX_FPGA_right.htm
new file mode 100644
index 000000000..4a4cacffa
--- /dev/null
+++ b/fpga/usrp3/top/x400/doc/X4XX_FPGA_right.htm
@@ -0,0 +1,22509 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+ <style type="text/css">
+
+ body {
+ margin: 5px;
+ font-family: verdana, "Trebuchet MS", arial, helvetica, sans-serif;
+ font-size: 80%;
+ line-height: 1.3;
+ }
+
+ pre, code {
+ font-family: "courier new", courier, monospace;
+ font-size: 12px;
+ }
+
+ @media print {
+ body {
+ margin: 0px;
+ font-family: arial, helvetica, sans-serif;
+ font-size: 80%;
+ line-height: 1;
+ }
+ } a, a:link, a:visited, a:hover, a:active {
+ text-decoration: none;
+ color: #0000E0;
+ }
+
+ @media print {
+ a, a:link, a:visited, a:hover, a:active {
+ color: #000000;
+ }
+ }
+
+ div.regmap {
+ margin: 0px;
+ padding: 0px 0px 0px 10px;
+ border-top: 5px solid #A0A0C0;
+ }
+
+ @media print {
+ div.regmap {
+ border-top: 3px solid #A4A4A4;
+ }
+ }
+
+ h1.regmap {
+ font-size: 160%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px;
+ color: #404080;
+ }
+
+ @media print {
+ h1.regmap {
+ font-size: 140%;
+ color: black;
+ }
+ }
+
+ p.rbmfooter {
+ font-weight: bold;
+ font-size: 120%;
+ color: #A04080;
+ padding: 0px 0px 15px 10px;
+ margin: 0px;
+ }
+
+ @media print {
+ p.rbmfooter {
+ font-size: 100%;
+ color: black;
+ padding: 0px 0px 0px 10px;
+ }
+ }
+
+ div.group {
+ border-top: 3px solid #A0C0A0;
+ margin: 10px 0px 0px 0px;
+ padding: 0px 0px 0px 10px;
+ }
+
+ @media print {
+ div.group {
+ border-top: 2px solid #A4A4A4;
+ }
+ }
+
+ h2.group {
+ font-size: 140%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px 5px 0px;
+ color: #407040;
+ }
+
+ p.groupsource {
+ font-size: 100%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 5px 0px 0px 10px;
+ color: #407040;
+ }
+
+ @media print {
+ h2.group {
+ font-size: 120%;
+ color: black;
+ }
+ }
+
+ div.info {
+ margin: 5px 0px;
+ }
+
+ div.info p {
+ margin: 5px 0px;
+ padding: 0px;
+ }
+
+ div.info h3 {
+ font-size: 120%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px;
+ color: #804080;
+ }
+
+ @media print {
+ div.info h3 {
+ font-size: 95%;
+ color: black;
+ }
+ }
+
+ div.info h4 {
+ font-size: 110%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px;
+ color: #A04040;
+ }
+
+ @media print {
+ div.info h4 {
+ font-size: 90%;
+ font-weight: bold
+ }
+ }
+
+ h5 {
+ font-size: 100%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px;
+ color: #A04040;
+ }
+
+
+ @media print {
+ h5 {
+ font-size: 80%;
+ font-weight: bol
+ }
+ }
+
+ div.register, div.enum {
+ /* border-top: 2px solid #C0C0C0; */
+ margin: 10px;
+ }
+
+ div.register h3 {
+ font-size: 120%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px 5px 0px;
+ color: #004040;
+ }
+
+ @media print {
+ div.register h3 {
+ font-size: 100%;
+ color: black;
+ padding: 5px 0px 5px 0px;
+ }
+ }
+
+ div.register h3 .addrlsb {
+ font-size: 70%;
+ font-weight: lighter;
+ color: LightGray;
+ }
+
+ a.sh_addrs {
+ font-weight: normal;
+ font-size: 70%;
+ padding-left: 5px;
+ }
+
+ @media print {
+ a.sh_addrs {
+ display: none;
+ }
+ }
+
+ div.register div.sh_addrs {
+ color: #000080;
+ margin: 0px;
+ padding: 0px 0px 0px 10px;
+ display: none;
+ }
+
+ div.register div.sh_addrs table {
+ padding: 0px;
+ margin: 0px 0px 5px 10px;
+ }
+
+ div.register div.sh_addrs table td {
+ /* top right bottom left */
+ padding: 3px 5px 0px 0px;
+ }
+
+ div.register div.sh_addrs table td.l {
+ padding-left: 5px;
+ font-weight: bold;
+ }
+
+ div.enum h3 {
+ font-size: 120%;
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ padding: 10px 0px 5px 0px;
+ color: #800000;
+ }
+
+ @media print {
+ div.enum h3 {
+ font-size: 100%;
+ color: black;
+ padding: 5px 0px 5px 0px;
+ }
+ }
+
+ a.sh_enum {
+ font-size: 85%;
+ }
+
+ @media print {
+ a.sh_enum {
+ display: none;
+ }
+ }
+
+ div.sh_enum {
+ display: none;
+ }
+
+ table {
+ font-size: 100%;
+ }
+
+ @media print {
+ table {
+ font-size: 75%;
+ }
+
+ table table {
+ font-size: 100%;
+ }
+ }
+
+ table.bitfields, table.enum {
+ border: 1px solid #C0C0C0;
+ margin-left: 20px;
+ }
+
+ table.enum {
+ margin-top: 5px;
+ }
+
+ table.bitfields td, table.enum td {
+ padding: 3px 8px;
+ }
+
+ table.enum td {
+ border-top: 1px solid #D8D8D8;
+ }
+
+ table.bitfields tr.byte td {
+ border-top: 1px solid #D8D8D8;
+ }
+
+ table.bitfields tr.header td, table.enum tr.header td,
+ table.enum tr.header2 td {
+ font-weight: bold;
+ color: #004080;
+ background-color: #F0F0F0;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ }
+
+ @media print {
+ table.bitfields tr.header td, table.enum tr.header td,
+ table.enum tr.header2 td {
+ color: black;
+ }
+ }
+
+ table.bitfields tr.header td {
+ text-align: left;
+ border-bottom: 1px solid #C0C0C0;
+ }
+
+ table.bitfields tr.header td.bits {
+ text-align: center;
+ }
+
+ table.enum tr.header td {
+ text-align: center;
+ border-top: none;
+ border-bottom: none;
+ }
+
+ table.enum tr.header2 td {
+ text-align: center;
+ }
+
+ table.bitfields td.bits, table.enum td.value, table.enum td.value2 {
+ font-weight: bold;
+ text-align: center;
+ }
+
+ table.enum td.value2 {
+ border-left: 1px solid #C0C0C0;
+ }
+
+ table.enum td.l {
+ text-align: center;
+ border-left: 1px solid #E0E0E0;
+ }
+
+ table.bitfields td p, table.enum td p {
+ margin: 0px;
+ padding: 3px 0px 0px 0px;
+ }
+
+ table.bitfields td p.name, table.bitfields td p span.name, table.enum td p.name {
+ font-weight: bold;
+ padding-top: 0px;
+ }
+
+ table.bitfields td p span.attr {
+ color: #606060;
+ padding-top: 0px;
+ }
+
+ table.extended_info {
+ border: 1px solid #D8D8D8;
+ border-collapse: collapse;
+ padding: 0px;
+ }
+
+ table.extended_info td.outercell {
+ border: 1px solid #D8D8D8;
+ padding: 0px;
+ }
+
+
+ p.reg_info, p.enum_info {
+ color: #606060;
+ margin: 0px;
+ padding: 5px 0px 0px 20px;
+ }
+
+ p.offset_info, td.offset_info {
+ text-align: left;
+ font-weight: bold;
+ margin: 0px;
+ /* top right bottom left*/
+ padding: 0px 0px 5px 0px;
+ color: #006060;
+ }
+
+ @media print {
+ p.reg_info, p.enum_info {
+ font-size: 70%;
+ color: black;
+ padding: 5px 0px 0px 15px;
+ }
+ }
+/*Prism.js CSS*/
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism-twilight&languages=markup+css+clike+javascript+perl+python+tcl+verilog+vhdl */
+/**
+ * prism.js Twilight theme
+ * Based (more or less) on the Twilight theme originally of Textmate fame.
+ * @author Remy Bach
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+ color: white;
+ background: none;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 1em;
+ text-align: left;
+ text-shadow: 0 -.1em .2em black;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+
+pre[class*="language-"],
+:not(pre) > code[class*="language-"] {
+ background: hsl(0, 0%, 8%); /* #141414 */
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+ border-radius: .5em;
+ border: .3em solid hsl(0, 0%, 33%); /* #282A2B */
+ box-shadow: 1px 1px .5em black inset;
+ margin: .5em 0;
+ overflow: auto;
+ padding: 1em;
+}
+
+pre[class*="language-"]::-moz-selection {
+ /* Firefox */
+ background: hsl(200, 4%, 16%); /* #282A2B */
+}
+
+pre[class*="language-"]::selection {
+ /* Safari */
+ background: hsl(200, 4%, 16%); /* #282A2B */
+}
+
+/* Text Selection colour */
+pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */
+}
+
+pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
+code[class*="language-"]::selection, code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ border-radius: .3em;
+ border: .13em solid hsl(0, 0%, 33%); /* #545454 */
+ box-shadow: 1px 1px .3em -.1em black inset;
+ padding: .15em .2em .05em;
+ white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: hsl(0, 0%, 47%); /* #777777 */
+}
+
+.token.punctuation {
+ opacity: .7;
+}
+
+.namespace {
+ opacity: .7;
+}
+
+.token.tag,
+.token.boolean,
+.token.number,
+.token.deleted {
+ color: hsl(14, 58%, 55%); /* #CF6A4C */
+}
+
+.token.keyword,
+.token.property,
+.token.selector,
+.token.constant,
+.token.symbol,
+.token.builtin {
+ color: hsl(53, 89%, 79%); /* #F9EE98 */
+}
+
+.token.attr-name,
+.token.attr-value,
+.token.string,
+.token.char,
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string,
+.token.variable,
+.token.inserted {
+ color: hsl(76, 21%, 52%); /* #8F9D6A */
+}
+
+.token.atrule {
+ color: hsl(218, 22%, 55%); /* #7587A6 */
+}
+
+.token.regex,
+.token.important {
+ color: hsl(42, 75%, 65%); /* #E9C062 */
+}
+
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+
+.token.entity {
+ cursor: help;
+}
+
+pre[data-line] {
+ padding: 1em 0 1em 3em;
+ position: relative;
+}
+
+/* Markup */
+.language-markup .token.tag,
+.language-markup .token.attr-name,
+.language-markup .token.punctuation {
+ color: hsl(33, 33%, 52%); /* #AC885B */
+}
+
+/* Make the tokens sit above the line highlight so the colours don't look faded. */
+.token {
+ position: relative;
+ z-index: 1;
+}
+
+.line-highlight {
+ background: hsla(0, 0%, 33%, 0.25); /* #545454 */
+ background: linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0)); /* #545454 */
+ border-bottom: 1px dashed hsl(0, 0%, 33%); /* #545454 */
+ border-top: 1px dashed hsl(0, 0%, 33%); /* #545454 */
+ left: 0;
+ line-height: inherit;
+ margin-top: 0.75em; /* Same as .prism’s padding-top */
+ padding: inherit 0;
+ pointer-events: none;
+ position: absolute;
+ right: 0;
+ white-space: pre;
+ z-index: 0;
+}
+
+.line-highlight:before,
+.line-highlight[data-end]:after {
+ background-color: hsl(215, 15%, 59%); /* #8794A6 */
+ border-radius: 999px;
+ box-shadow: 0 1px white;
+ color: hsl(24, 20%, 95%); /* #F5F2F0 */
+ content: attr(data-start);
+ font: bold 65%/1.5 sans-serif;
+ left: .6em;
+ min-width: 1em;
+ padding: 0 .5em;
+ position: absolute;
+ text-align: center;
+ text-shadow: none;
+ top: .4em;
+ vertical-align: .3em;
+}
+
+.line-highlight[data-end]:after {
+ bottom: .4em;
+ content: attr(data-end);
+ top: auto;
+}
+
+
+/*Markdown Style*/
+/* All info tags that were created within a markdown regmap or document
+ are in <div class="xmlpmd">. Use that specifier to provide style for
+ those sections. */
+.xmlpmd table {
+ border-collapse: collapse;
+ border: 1px solid #C0C0C0;
+}
+
+.xmlpmd table thead tr th {
+ background-color: #F0F0F0;
+ color: #004080;
+ text-align: center;
+ border: 1px solid #C0C0C0;
+}
+
+.xmlpmd table tbody tr td {
+ border: 1px solid #C0C0C0;
+ padding: 5px
+}
+
+ </style>
+ <script type="text/javascript">
+
+ function toggleText( id, sign ) {
+ if (sign == "nochange") return;
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ if (elem) {
+ elemStyle = elem.style;
+ if (sign=="+") {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+ /*if ( elemStyle.display == "block" ) {
+ elemStyle.display = "none"
+ } else {
+ elemStyle.display = "block"
+ }*/
+ }
+ }
+ function changeSh( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return "nochange";
+ val = "-";
+ if (elem.innerHTML == "show here") {
+ val = "+";
+ elem.innerHTML = "hide";
+ } else {
+ elem.innerHTML = "show here";
+ }
+ return val;
+ }
+
+ function sb( id ) {
+ var sign = changeSh("show_" + id);
+ toggleText("div_" + id, sign);
+ }
+
+ function changeSh2( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return "nochange";
+ val = "-";
+ if (elem.innerHTML == "show") {
+ val = "+";
+ elem.innerHTML = "hide";
+ } else {
+ elem.innerHTML = "show";
+ }
+ return val;
+ }
+
+ function sa( id ) {
+ var sign = changeSh2("show_" + id);
+ toggleText("div_" + id, sign);
+ }
+ </script>
+<script type="text/javascript">//Prism.js//
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism-twilight&languages=markup+css+clike+javascript+perl+python+tcl+verilog+vhdl */
+var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(g){var c=/\blang(?:uage)?-([\w-]+)\b/i,a=0,C={manual:g.Prism&&g.Prism.manual,disableWorkerMessageHandler:g.Prism&&g.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof M?new M(e.type,C.util.encode(e.content),e.alias):Array.isArray(e)?e.map(C.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++a}),e.__id},clone:function t(e,n){var r,a,i=C.util.type(e);switch(n=n||{},i){case"Object":if(a=C.util.objId(e),n[a])return n[a];for(var l in r={},n[a]=r,e)e.hasOwnProperty(l)&&(r[l]=t(e[l],n));return r;case"Array":return a=C.util.objId(e),n[a]?n[a]:(r=[],n[a]=r,e.forEach(function(e,a){r[a]=t(e,n)}),r);default:return e}}},languages:{extend:function(e,a){var t=C.util.clone(C.languages[e]);for(var n in a)t[n]=a[n];return t},insertBefore:function(t,e,a,n){var r=(n=n||C.languages)[t],i={};for(var l in r)if(r.hasOwnProperty(l)){if(l==e)for(var o in a)a.hasOwnProperty(o)&&(i[o]=a[o]);a.hasOwnProperty(l)||(i[l]=r[l])}var s=n[t];return n[t]=i,C.languages.DFS(C.languages,function(e,a){a===s&&e!=t&&(this[e]=i)}),i},DFS:function e(a,t,n,r){r=r||{};var i=C.util.objId;for(var l in a)if(a.hasOwnProperty(l)){t.call(a,l,a[l],n||l);var o=a[l],s=C.util.type(o);"Object"!==s||r[i(o)]?"Array"!==s||r[i(o)]||(r[i(o)]=!0,e(o,t,l,r)):(r[i(o)]=!0,e(o,t,null,r))}}},plugins:{},highlightAll:function(e,a){C.highlightAllUnder(document,e,a)},highlightAllUnder:function(e,a,t){var n={callback:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};C.hooks.run("before-highlightall",n);for(var r,i=n.elements||e.querySelectorAll(n.selector),l=0;r=i[l++];)C.highlightElement(r,!0===a,n.callback)},highlightElement:function(e,a,t){for(var n,r,i=e;i&&!c.test(i.className);)i=i.parentNode;i&&(n=(i.className.match(c)||[,""])[1].toLowerCase(),r=C.languages[n]),e.className=e.className.replace(c,"").replace(/\s+/g," ")+" language-"+n,e.parentNode&&(i=e.parentNode,/pre/i.test(i.nodeName)&&(i.className=i.className.replace(c,"").replace(/\s+/g," ")+" language-"+n));var l={element:e,language:n,grammar:r,code:e.textContent},o=function(e){l.highlightedCode=e,C.hooks.run("before-insert",l),l.element.innerHTML=l.highlightedCode,C.hooks.run("after-highlight",l),C.hooks.run("complete",l),t&&t.call(l.element)};if(C.hooks.run("before-sanity-check",l),l.code)if(C.hooks.run("before-highlight",l),l.grammar)if(a&&g.Worker){var s=new Worker(C.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(C.highlight(l.code,l.grammar,l.language));else o(C.util.encode(l.code));else C.hooks.run("complete",l)},highlight:function(e,a,t){var n={code:e,grammar:a,language:t};return C.hooks.run("before-tokenize",n),n.tokens=C.tokenize(n.code,n.grammar),C.hooks.run("after-tokenize",n),M.stringify(C.util.encode(n.tokens),n.language)},matchGrammar:function(e,a,t,n,r,i,l){for(var o in t)if(t.hasOwnProperty(o)&&t[o]){if(o==l)return;var s=t[o];s="Array"===C.util.type(s)?s:[s];for(var g=0;g<s.length;++g){var c=s[g],u=c.inside,h=!!c.lookbehind,f=!!c.greedy,d=0,m=c.alias;if(f&&!c.pattern.global){var p=c.pattern.toString().match(/[imuy]*$/)[0];c.pattern=RegExp(c.pattern.source,p+"g")}c=c.pattern||c;for(var y=n,v=r;y<a.length;v+=a[y].length,++y){var k=a[y];if(a.length>e.length)return;if(!(k instanceof M)){if(f&&y!=a.length-1){if(c.lastIndex=v,!(x=c.exec(e)))break;for(var b=x.index+(h?x[1].length:0),w=x.index+x[0].length,A=y,P=v,O=a.length;A<O&&(P<w||!a[A].type&&!a[A-1].greedy);++A)(P+=a[A].length)<=b&&(++y,v=P);if(a[y]instanceof M)continue;N=A-y,k=e.slice(v,P),x.index-=v}else{c.lastIndex=0;var x=c.exec(k),N=1}if(x){h&&(d=x[1]?x[1].length:0);w=(b=x.index+d)+(x=x[0].slice(d)).length;var j=k.slice(0,b),S=k.slice(w),E=[y,N];j&&(++y,v+=j.length,E.push(j));var _=new M(o,u?C.tokenize(x,u):x,m,x,f);if(E.push(_),S&&E.push(S),Array.prototype.splice.apply(a,E),1!=N&&C.matchGrammar(e,a,t,y,v,!0,o),i)break}else if(i)break}}}}},tokenize:function(e,a){var t=[e],n=a.rest;if(n){for(var r in n)a[r]=n[r];delete a.rest}return C.matchGrammar(e,t,a,0,0,!1),t},hooks:{all:{},add:function(e,a){var t=C.hooks.all;t[e]=t[e]||[],t[e].push(a)},run:function(e,a){var t=C.hooks.all[e];if(t&&t.length)for(var n,r=0;n=t[r++];)n(a)}},Token:M};function M(e,a,t,n,r){this.type=e,this.content=a,this.alias=t,this.length=0|(n||"").length,this.greedy=!!r}if(g.Prism=C,M.stringify=function(a,t,e){if("string"==typeof a)return a;if(Array.isArray(a))return a.map(function(e){return M.stringify(e,t,a)}).join("");var n={type:a.type,content:M.stringify(a.content,t,e),tag:"span",classes:["token",a.type],attributes:{},language:t,parent:e};if(a.alias){var r=Array.isArray(a.alias)?a.alias:[a.alias];Array.prototype.push.apply(n.classes,r)}C.hooks.run("wrap",n);var i=Object.keys(n.attributes).map(function(e){return e+'="'+(n.attributes[e]||"").replace(/"/g,"&quot;")+'"'}).join(" ");return"<"+n.tag+' class="'+n.classes.join(" ")+'"'+(i?" "+i:"")+">"+n.content+"</"+n.tag+">"},!g.document)return g.addEventListener&&(C.disableWorkerMessageHandler||g.addEventListener("message",function(e){var a=JSON.parse(e.data),t=a.language,n=a.code,r=a.immediateClose;g.postMessage(C.highlight(n,C.languages[t],t)),r&&g.close()},!1)),C;var e=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return e&&(C.filename=e.src,C.manual||e.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(C.highlightAll):window.setTimeout(C.highlightAll,16):document.addEventListener("DOMContentLoaded",C.highlightAll))),C}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
+Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var i={};i[a]={pattern:RegExp("(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,a),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",i)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;
+!function(s){var e=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:RegExp("url\\((?:"+e.source+"|.*?)\\)","i"),selector:RegExp("[^{}\\s](?:[^{};\"']|"+e.source+")*?(?=\\s*\\{)"),string:{pattern:e,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var a=s.languages.markup;a&&(a.tag.addInlined("style","css"),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},a.tag))}(Prism);
+Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};
+Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\${[^}]+}/,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript;
+Prism.languages.perl={comment:[{pattern:/(^\s*)=\w+[\s\S]*?=cut.*/m,lookbehind:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0}],string:[{pattern:/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/,greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:/\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*>|\b_\b/,alias:"symbol"},vstring:{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/sub [a-z0-9_]+/i,inside:{keyword:/sub/}},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/,punctuation:/[{}[\];(),:]/};
+Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/i,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
+Prism.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$){[^}]+}/,lookbehind:!0},{pattern:/(^\s*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^\s*proc[ \t]+)[^\s]+/m,lookbehind:!0},builtin:[{pattern:/(^\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m,lookbehind:!0},/\b(?:elseif|else)\b/],scope:{pattern:/(^\s*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|ne|in|ni)\b/,punctuation:/[{}()\[\]]/};
+Prism.languages.verilog={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},property:/\B\$\w+\b/,constant:/\B`\w+\b/,function:/\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b\d*[._]?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};
+Prism.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:use|library)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:true|false)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\b/i,punctuation:/[{}[\];(),.:]/};
+
+</script>
+ </head><body>
+
+ <div class="regmap">
+ <a name="X4XX_FPGA"></a>
+ <h1 class="regmap">X4XX_FPGA</h1>
+ This documentation provides a description of the different register spaces available
+ for the USRP X4xx Open-Source FPGA target implementation, accessible through the
+ embedded ARM A53 processor in the RFSoC chip, and other UHD hosts.
+ <p>The top is defined in HDL source file common_regs.v, x4xx.v.</p>
+ <div class="group"><a name="P5 Content"></a><h2 class="group">P5 Content</h2>
+ <div class="register"><h3 class="register">Register map supplied for open-source projects</h3>
+ <i><BR/><BR/>"All content provided is Copyright 2021 National Instruments Corporation.
+For information on NI trademark guidelines, please see <a href="http://www.ni.com/legal/trademarks/">http://www.ni.com/legal/trademarks/</a>. For the NI Patent Notice, please see <a href="http://www.ni.com/legal/patents/">http://www.ni.com/legal/patents/</a>."
+ </i></div><BR/>
+</div>
+
+ <div class="group"><a name="ports"></a><h2 class="group">ports</h2>
+ This section lists all common Processing System ports through
+ which the register maps in this project are accessed. Each input
+ port to the fabric will point to a regmap.
+ <div class="register">
+ <a name="X4XX_FPGA|ARM_M_AXI_HPM0"></a>
+
+<h3 class="register">Port ARM_M_AXI_HPM0 (input)</h3>
+
+ <p class="offset_info">
+
+ Target Regmap = <a href="#AXI_HPM0_REGMAP">AXI_HPM0_REGMAP</a>
+
+</p>
+
+<div class="info">
+
+This is the main AXI4-Lite master interface that the PS
+ exposes to the kernel to interact with the FPGA fabric.
+ There are multiple endpoints connected to this interface.
+
+</div>
+
+ <p class="reg_info">
+ This port is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+ <div class="register">
+ <a name="X4XX_FPGA|ARM_S_AXI_HPC0"></a>
+
+<h3 class="register">Port ARM_S_AXI_HPC0 (output)</h3>
+
+ <p class="offset_info">
+
+ Source Window = <a href="#PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW">PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW</a>
+
+</p>
+
+<div class="info">
+
+This is one of the two cache-coherent AXI slave ports available to
+ communicate from the fabric (master) to the PS (slave).
+
+</div>
+
+ <p class="reg_info">
+ This port is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+ <div class="register">
+ <a name="X4XX_FPGA|ARM_S_AXI_HPC1"></a>
+
+<h3 class="register">Port ARM_S_AXI_HPC1 (output)</h3>
+
+ <p class="offset_info">
+
+ Source Window = <a href="#PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW">PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW</a>
+
+</p>
+
+<div class="info">
+
+This is one of the two cache-coherent AXI slave ports available to
+ communicate from the fabric (master) to the PS (slave).
+
+</div>
+
+ <p class="reg_info">
+ This port is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+ <div class="register">
+ <a name="X4XX_FPGA|ARM_SPI1_CS3"></a>
+
+<h3 class="register">Port ARM_SPI1_CS3 (input)</h3>
+
+ <p class="offset_info">
+
+ Target Regmap = <a href="#MB_CPLD_PS_REGMAP">MB_CPLD_PS_REGMAP</a>
+
+</p>
+
+<div class="info">
+
+This is the SPI1 interface
+ (see <a href="https://www.xilinx.com/html_docs/registers/ug1087/mod___spi.html" target="_blank">Zynq UltraScale+ Devices Register Reference</a>)
+ of the PS.
+ With chip select 3 enabled transactions are targeted for the PS MB CPLD register interface linked here.<br>
+ The request format on SPI is defined as.<br>
+ <b>Write request:</b>
+ <ul>
+ <li>1'b1 = write
+ <li>15 bit address
+ <li>32 bit data (MOSI)
+ <li>8 bit processing gap
+ <li>5 bit padding
+ <li>1 bit ack
+ <li>2 bit status
+ </ul>
+ <b>Read request:</b>
+ <ul>
+ <li>1'b0 = read
+ <li>15 bit address
+ <li>8 bit processing gap
+ <li>32 bit data (MISO)
+ <li>5 bit padding
+ <li>1 bit ack
+ <li>2 bit status
+ </ul>
+
+</div>
+
+ <p class="reg_info">
+ This port is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="AXI_HPM0_REGMAP"></a>
+ <h1 class="regmap">AXI_HPM0_REGMAP</h1>
+ <div class="xmlpmd">
+<p>This is the map for the register space that the Processing System's
+M_AXI_HPM0_FPD port (AXI4 master interface) has access to.
+This port has a 40-bit address bus.</p></div>
+ <div class="group"><a name="AXI_HPM0_REGMAP|COMMON"></a><h2 class="group">COMMON</h2>
+ <div class="xmlpmd">
+</div>
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|RPU"></a>
+
+<h3 class="register">Offset 0x80000000: RPU Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|RPU_in')">(<span id="show_AXI_HPM0_REGMAP|RPU_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|RPU_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RPU</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x80000000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x80000000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Space reserved for RPU access</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|JTAG_ENGINE"></a>
+
+<h3 class="register">Offset 0x1000000000: JTAG_ENGINE Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|JTAG_ENGINE_in')">(<span id="show_AXI_HPM0_REGMAP|JTAG_ENGINE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|JTAG_ENGINE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">JTAG_ENGINE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1000000000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x1000 (4 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000000000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Register space for the JTAG engine for MB CPLD programming.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|WR"></a>
+
+<h3 class="register">Offset 0x100003F000: WR Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|WR_in')">(<span id="show_AXI_HPM0_REGMAP|WR_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|WR_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">WR</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x100003F000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x1000 (4 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x100003F000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>NOT IMPLEMENTED YET! Register space reserved for White Rabbit.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|MPM_ENDPOINT"></a>
+
+<h3 class="register">Offset 0x1000080000: MPM_ENDPOINT Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#PL_CPLD_REGMAP">PL_CPLD_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|MPM_ENDPOINT_in')">(<span id="show_AXI_HPM0_REGMAP|MPM_ENDPOINT_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|MPM_ENDPOINT_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MPM_ENDPOINT</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1000080000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20000 (128 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000080000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>MPM endpoint fro MB/DB communication.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|CORE_REGS"></a>
+
+<h3 class="register">Offset 0x10000A0000: CORE_REGS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#CORE_REGS_REGMAP">CORE_REGS_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|CORE_REGS_in')">(<span id="show_AXI_HPM0_REGMAP|CORE_REGS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|CORE_REGS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CORE_REGS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x10000A0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x4000 (16 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Register space reserved for mboard-regs (Core).</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|INT_ETH_DMA"></a>
+
+<h3 class="register">Offset 0x10000A4000: INT_ETH_DMA Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#ETH_DMA_CTRL_REGMAP">ETH_DMA_CTRL_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|INT_ETH_DMA_in')">(<span id="show_AXI_HPM0_REGMAP|INT_ETH_DMA_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|INT_ETH_DMA_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">INT_ETH_DMA</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x10000A4000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x6000 (24 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A4000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>AXI DMA engine for internal Ethernet interface.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|INT_ETH_REGS"></a>
+
+<h3 class="register">Offset 0x10000AA000: INT_ETH_REGS Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|INT_ETH_REGS_in')">(<span id="show_AXI_HPM0_REGMAP|INT_ETH_REGS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|INT_ETH_REGS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">INT_ETH_REGS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x10000AA000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x2000 (8 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000AA000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Misc. registers for internal Ethernet.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|RFDC"></a>
+
+<h3 class="register">Offset 0x1000100000: RFDC Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|RFDC_in')">(<span id="show_AXI_HPM0_REGMAP|RFDC_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|RFDC_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RFDC</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1000100000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x40000 (256 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000100000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Register space occupied by the Xilinx RFDC IP block.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|RFDC_REGS"></a>
+
+<h3 class="register">Offset 0x1000140000: RFDC_REGS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#RFDC_REGS_REGMAP">RFDC_REGS_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|RFDC_REGS_in')">(<span id="show_AXI_HPM0_REGMAP|RFDC_REGS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|RFDC_REGS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RFDC_REGS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1000140000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20000 (128 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000140000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Register space for RFDC control/status registers.</p></div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="AXI_HPM0_REGMAP|UHD_ONLY"></a><h2 class="group">UHD_ONLY</h2>
+ <div class="xmlpmd">
+<ul>
+<li>0_0 indicates QSFP0 - Lane0 or a 4 LANE QSFP0</li>
+<li>0_1 indicates QSFP0 - Lane1</li>
+<li>0_2 indicates QSFP0 - Lane2</li>
+<li>0_3 indicates QSFP0 - Lane3</li>
+<li>1_0 indicates QSFP1 - Lane0 or a 4 LANE QSFP1</li>
+<li>1_1 indicates QSFP1 - Lane1</li>
+<li>1_2 indicates QSFP1 - Lane2</li>
+<li>1_3 indicates QSFP1 - Lane3</li>
+</ul></div>
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_0_0"></a>
+
+<h3 class="register">Offset 0x1200000000: QSFP_0_0 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_0_0_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_0_0_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_0_0_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_0_0</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200000000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200000000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_0_1"></a>
+
+<h3 class="register">Offset 0x1200010000: QSFP_0_1 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_0_1_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_0_1_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_0_1_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_0_1</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200010000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200010000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_0_2"></a>
+
+<h3 class="register">Offset 0x1200020000: QSFP_0_2 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_0_2_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_0_2_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_0_2_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_0_2</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200020000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200020000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_0_3"></a>
+
+<h3 class="register">Offset 0x1200030000: QSFP_0_3 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_0_3_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_0_3_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_0_3_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_0_3</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200030000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200030000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_1_0"></a>
+
+<h3 class="register">Offset 0x1200040000: QSFP_1_0 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_1_0_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_1_0_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_1_0_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_1_0</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200040000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200040000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_1_1"></a>
+
+<h3 class="register">Offset 0x1200050000: QSFP_1_1 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_1_1_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_1_1_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_1_1_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_1_1</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200050000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200050000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_1_2"></a>
+
+<h3 class="register">Offset 0x1200060000: QSFP_1_2 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_1_2_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_1_2_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_1_2_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_1_2</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200060000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200060000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="AXI_HPM0_REGMAP|QSFP_1_3"></a>
+
+<h3 class="register">Offset 0x1200070000: QSFP_1_3 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#QSFP_REGMAP">QSFP_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('AXI_HPM0_REGMAP|QSFP_1_3_in')">(<span id="show_AXI_HPM0_REGMAP|QSFP_1_3_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_AXI_HPM0_REGMAP|QSFP_1_3_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_1_3</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1200070000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200070000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="MB_CPLD_PS_REGMAP"></a>
+ <h1 class="regmap">MB_CPLD_PS_REGMAP</h1>
+ <div class="xmlpmd">
+<p>This register map is available using the PS CPLD SPI interface.</p></div>
+ <div class="group"><a name="MB_CPLD_PS_REGMAP|MB_CPLD_PS_WINDOWS"></a><h2 class="group">MB_CPLD_PS_WINDOWS</h2>
+ <div class="xmlpmd">
+</div>
+ <div class="register">
+ <a name="MB_CPLD_PS_REGMAP|PS_REGISTERS"></a>
+
+<h3 class="register">Offset 0x0000: PS_REGISTERS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#PS_CPLD_BASE_REGMAP">PS_CPLD_BASE_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('MB_CPLD_PS_REGMAP|PS_REGISTERS_in')">(<span id="show_MB_CPLD_PS_REGMAP|PS_REGISTERS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_MB_CPLD_PS_REGMAP|PS_REGISTERS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">PS_REGISTERS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x40 (64 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file mb_cpld.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="MB_CPLD_PS_REGMAP|RECONFIG"></a>
+
+<h3 class="register">Offset 0x0040: RECONFIG Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#RECONFIG_REGMAP">RECONFIG_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('MB_CPLD_PS_REGMAP|RECONFIG_in')">(<span id="show_MB_CPLD_PS_REGMAP|RECONFIG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_MB_CPLD_PS_REGMAP|RECONFIG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RECONFIG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0040</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20 (32 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000040
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file mb_cpld.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="MB_CPLD_PS_REGMAP|POWER_REGISTERS"></a>
+
+<h3 class="register">Offset 0x0060: POWER_REGISTERS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#PS_POWER_REGMAP">PS_POWER_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('MB_CPLD_PS_REGMAP|POWER_REGISTERS_in')">(<span id="show_MB_CPLD_PS_REGMAP|POWER_REGISTERS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_MB_CPLD_PS_REGMAP|POWER_REGISTERS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">POWER_REGISTERS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0060</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20 (32 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000060
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file mb_cpld.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="MB_CPLD_PS_REGMAP|PS_SPI_ENDPOINTS"></a><h2 class="group">PS_SPI_ENDPOINTS</h2>
+ <div class="xmlpmd">
+</div>
+ <div class="enum">
+ <a name="MB_CPLD_PS_REGMAP|SPI_ENDPOINT"></a>
+
+<h3 class="enum">SPI_ENDPOINT Enumeration</h3>
+<div class="xmlpmd">
+</div>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' > Value </td>
+ <td class="l" colspan='1'> Name </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_MB_CPLD'></a>PS_CS_MB_CPLD</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_LMK32'></a>PS_CS_LMK32</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>2</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_TPM'></a>PS_CS_TPM</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>3</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_PHASE_DAC'></a>PS_CS_PHASE_DAC</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>4</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_DB0_CAL_EEPROM'></a>PS_CS_DB0_CAL_EEPROM</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>5</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_DB1_CAL_EEPROM'></a>PS_CS_DB1_CAL_EEPROM</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>6</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_CLK_AUX_DB'></a>PS_CS_CLK_AUX_DB</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>7</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='MB_CPLD_PS_REGMAP|SPI_ENDPOINT|PS_CS_IDLE'></a>PS_CS_IDLE</p>
+
+<p class="l"><div class="xmlpmd">
+</div>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file mb_cpld.v.
+ </p>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="CMAC_REGMAP"></a>
+ <h1 class="regmap">CMAC_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="CMAC_REGMAP|XILINX_CMAC_REGISTERS"></a><h2 class="group">XILINX_CMAC_REGISTERS</h2>
+ <div class="xmlpmd">
+<p>100G MAC ethernet registers (Link 0) defined in the CMAC Manual starting on pg 187.</p>
+<ul>
+<li>http://www.xilinx.com/support/documentation/ip_documentation/cmac_usplus/v2_4/pg203-cmac-usplus.pdf</li>
+</ul></div>
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="CONSTANTS_REGMAP"></a>
+ <h1 class="regmap">CONSTANTS_REGMAP</h1>
+
+ <div class="group"><a name="CONSTANTS_REGMAP|CONSTANTS_GROUP"></a><h2 class="group">CONSTANTS_GROUP</h2>
+ Basic registers containing version and capabilities information.
+ <div class="enum">
+ <a name="CONSTANTS_REGMAP|CONSTANTS_ENUM"></a>
+
+<h3 class="enum">CONSTANTS_ENUM Enumeration</h3>
+This enumeration is used to create the constants held in the basic registers.
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>173157671</td>
+
+ <td class='l'>0x0A522D27</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='CONSTANTS_REGMAP|CONSTANTS_ENUM|PS_CPLD_SIGNATURE'></a>PS_CPLD_SIGNATURE</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>538059028</td>
+
+ <td class='l'>0x20122114</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='CONSTANTS_REGMAP|CONSTANTS_ENUM|OLDEST_CPLD_REVISION'></a>OLDEST_CPLD_REVISION</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>553721877</td>
+
+ <td class='l'>0x21012015</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='CONSTANTS_REGMAP|CONSTANTS_ENUM|CPLD_REVISION'></a>CPLD_REVISION</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1071406151</td>
+
+ <td class='l'>0x3FDC5C47</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='CONSTANTS_REGMAP|CONSTANTS_ENUM|PL_CPLD_SIGNATURE'></a>PL_CPLD_SIGNATURE</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file mb_cpld.v.
+ </p>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="CORE_REGS_REGMAP"></a>
+ <h1 class="regmap">CORE_REGS_REGMAP</h1>
+ This is the map for the registers that the CORE_REGS window has access to
+ from the ARM_AXI_HPM0_FPD port.
+
+ The registers contained here conform the mboard-regs node that MPM uses
+ to manage general FPGA control/status calls, such as versioning,
+ timekeeper, GPIO, etc.
+ <div class="group"><a name="CORE_REGS_REGMAP|CORE_REGS"></a><h2 class="group">CORE_REGS</h2>
+
+ <div class="register">
+ <a name="CORE_REGS_REGMAP|GLOBAL_REGS"></a>
+
+<h3 class="register">Offset 0x0000: GLOBAL_REGS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#GLOBAL_REGS_REGMAP">GLOBAL_REGS_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('CORE_REGS_REGMAP|GLOBAL_REGS_in')">(<span id="show_CORE_REGS_REGMAP|GLOBAL_REGS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CORE_REGS_REGMAP|GLOBAL_REGS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GLOBAL_REGS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0xC00 (3 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file x4xx_core_common.v.</p>
+
+</div>
+
+<div class="info">
+
+Window to access global registers in the FPGA.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="CORE_REGS_REGMAP|VERSIONING_REGS"></a>
+
+<h3 class="register">Offset 0x0C00: VERSIONING_REGS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#VERSIONING_REGS_REGMAP">VERSIONING_REGS_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('CORE_REGS_REGMAP|VERSIONING_REGS_in')">(<span id="show_CORE_REGS_REGMAP|VERSIONING_REGS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CORE_REGS_REGMAP|VERSIONING_REGS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">VERSIONING_REGS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0C00</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x400 (1 Kbyte)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0C00
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file x4xx_core_common.v.</p>
+
+</div>
+
+<div class="info">
+
+Window to access versioning registers in the FPGA.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="CORE_REGS_REGMAP|TIMEKEEPER"></a>
+
+<h3 class="register">Offset 0x1000: TIMEKEEPER Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('CORE_REGS_REGMAP|TIMEKEEPER_in')">(<span id="show_CORE_REGS_REGMAP|TIMEKEEPER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CORE_REGS_REGMAP|TIMEKEEPER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">TIMEKEEPER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20 (32 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A1000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file x4xx_core_common.v.</p>
+
+</div>
+
+<div class="info">
+
+Window to access the timekeeper register map.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="CORE_REGS_REGMAP|DIO"></a>
+
+<h3 class="register">Offset 0x2000: DIO Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#DIO_REGMAP">DIO_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('CORE_REGS_REGMAP|DIO_in')">(<span id="show_CORE_REGS_REGMAP|DIO_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CORE_REGS_REGMAP|DIO_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DIO</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x2000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20 (32 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A2000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file x4xx_core_common.v.</p>
+
+</div>
+
+<div class="info">
+
+Window to access the DIO register map.
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="CPLD_INTERFACE_REGMAP"></a>
+ <h1 class="regmap">CPLD_INTERFACE_REGMAP</h1>
+
+ <div class="group"><a name="CPLD_INTERFACE_REGMAP|CPLD_INTERFACE_REGS"></a><h2 class="group">CPLD_INTERFACE_REGS</h2>
+ Basic registers containing version and capabilities information.
+ <div class="register">
+ <a name="CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER"></a>
+
+<h3 class="register">Offset 0x0000: SIGNATURE_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER_in')">(<span id="show_CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|BASE">PL_CPLD_REGMAP|BASE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SIGNATURE_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000080000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file cpld_interface_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Contains the product's signature.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="CPLD_INTERFACE_REGMAP|SIGNATURE_REGISTER|PRODUCT_SIGNATURE"></a>PRODUCT_SIGNATURE</span><span class="attr"> </span></p>
+ <p>fixed value 0xCB1D1FAC</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="CPLD_INTERFACE_REGMAP|SCRATCH_REGISTER"></a>
+
+<h3 class="register">Offset 0x000C: SCRATCH_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('CPLD_INTERFACE_REGMAP|SCRATCH_REGISTER_in')">(<span id="show_CPLD_INTERFACE_REGMAP|SCRATCH_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CPLD_INTERFACE_REGMAP|SCRATCH_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|BASE">PL_CPLD_REGMAP|BASE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SCRATCH_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x100008000C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file cpld_interface_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Read/write register for general software use.
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="CPLD_INTERFACE_REGMAP|CPLD_SPI_CONTROL_REGS"></a><h2 class="group">CPLD_SPI_CONTROL_REGS</h2>
+ Registers to control the SPI clock frequency of the CPLD interfaces.
+ The resulting clock frequency is calculated by <math><mrow><mfrac><mrow><msub><mi>f</mi><mrow><mi>PRC</mi></mrow></msub></mrow><mrow><mn>2</mn><mrow><mo form="prefix">(</mo><mo>divider</mi><mo>+</mo><mn>1</mn><mo form="postfix">)</mo></mrow></mrow></mfrac></mrow></math>.
+ <br>
+ Note that the PLL Reference Clock (PRC) is depending on the RF clocks.
+ <div class="register">
+ <a name="CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER"></a>
+
+<h3 class="register">Offset 0x0020: MOTHERBOARD_CPLD_DIVIDER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER_in')">(<span id="show_CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|BASE">PL_CPLD_REGMAP|BASE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MOTHERBOARD_CPLD_DIVIDER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0020</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000080020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000002
+</p>
+
+<p class="reg_info">This register is defined in HDL source file cpld_interface_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Clock divider used for SPI transactions targeting the MB CPLD.<br/>
+ Minimum required value is 2.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="CPLD_INTERFACE_REGMAP|MOTHERBOARD_CPLD_DIVIDER|MB_DIVIDER"></a>MB_DIVIDER</span><span class="attr"> &nbsp;&nbsp;(initialvalue=2)</span></p>
+ <p>Divider value</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER"></a>
+
+<h3 class="register">Offset 0x0024: DAUGHTERBOARD_CPLD_DIVIDER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER_in')">(<span id="show_CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|BASE">PL_CPLD_REGMAP|BASE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DAUGHTERBOARD_CPLD_DIVIDER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0024</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000080024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000005
+</p>
+
+<p class="reg_info">This register is defined in HDL source file cpld_interface_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Clock divider used for SPI transactions targeting any of the DB CPLDs.<br/>
+ Minimum required value is 5.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="CPLD_INTERFACE_REGMAP|DAUGHTERBOARD_CPLD_DIVIDER|DB_DIVIDER"></a>DB_DIVIDER</span><span class="attr"> &nbsp;&nbsp;(initialvalue=5)</span></p>
+ <p>Divider value</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="CPLD_INTERFACE_REGMAP|IPASS_REGS"></a><h2 class="group">IPASS_REGS</h2>
+
+ <div class="register">
+ <a name="CPLD_INTERFACE_REGMAP|IPASS_CONTROL"></a>
+
+<h3 class="register">Offset 0x0010: IPASS_CONTROL Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('CPLD_INTERFACE_REGMAP|IPASS_CONTROL_in')">(<span id="show_CPLD_INTERFACE_REGMAP|IPASS_CONTROL_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_CPLD_INTERFACE_REGMAP|IPASS_CONTROL_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|BASE">PL_CPLD_REGMAP|BASE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">IPASS_CONTROL</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000080010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file cpld_interface_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="CPLD_INTERFACE_REGMAP|IPASS_CONTROL|IPASS_ENABLE_TRANSFER"></a>IPASS_ENABLE_TRANSFER</span><span class="attr"> </span></p>
+ <p>If 1 enables the forwarding of iPass cable present signal to MB CPLD
+ using ctrlport requests. On change from 0 to 1 the current status is
+ transferred to the MB CPLD via SPI ctrlport request initially.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="DIO_REGMAP"></a>
+ <h1 class="regmap">DIO_REGMAP</h1>
+
+ <div class="group"><a name="DIO_REGMAP|DIO_REGS"></a><h2 class="group">DIO_REGS</h2>
+ Registers to control the GPIO buffer direction on the FPGA connected to the DIO board.
+ Further registers enable the PS to control and read the GPIO lines as master.
+ Make sure the GPIO lines between FPGA and GPIO board are not driven by two drivers.
+ Set the DIO registers in <a href="#PS_CPLD_BASE_REGMAP">PS_CPLD_BASE_REGMAP</a> appropriately.
+ <div class="register">
+ <a name="DIO_REGMAP|DIO_MASTER_REGISTER"></a>
+
+<h3 class="register">Offset 0x0000: DIO_MASTER_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('DIO_REGMAP|DIO_MASTER_REGISTER_in')">(<span id="show_DIO_REGMAP|DIO_MASTER_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_DIO_REGMAP|DIO_MASTER_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|DIO">CORE_REGS_REGMAP|DIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x002000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DIO_MASTER_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A2000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000000
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_dio.v.</p>
+
+</div>
+
+<div class="info">
+
+Sets whether the DIO signal line is driven by this register interface or the user application.<br/>
+ 0 = user application is master, 1 = PS is master
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..16</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_MASTER_REGISTER|DIO_MASTER_B"></a>DIO_MASTER_B</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_MASTER_REGISTER|DIO_MASTER_A"></a>DIO_MASTER_A</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="DIO_REGMAP|DIO_DIRECTION_REGISTER"></a>
+
+<h3 class="register">Offset 0x0004: DIO_DIRECTION_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('DIO_REGMAP|DIO_DIRECTION_REGISTER_in')">(<span id="show_DIO_REGMAP|DIO_DIRECTION_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_DIO_REGMAP|DIO_DIRECTION_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|DIO">CORE_REGS_REGMAP|DIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x002000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DIO_DIRECTION_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A2004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000000
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_dio.v.</p>
+
+</div>
+
+<div class="info">
+
+Set the direction of FPGA buffer connected to DIO ports on the DIO board.<br/>
+ Each bit represents one signal line. 0 = line is an input to the FPGA, 1 = line is an output driven by the FPGA.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..16</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_DIRECTION_REGISTER|DIO_DIRECTION_B"></a>DIO_DIRECTION_B</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_DIRECTION_REGISTER|DIO_DIRECTION_A"></a>DIO_DIRECTION_A</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="DIO_REGMAP|DIO_INPUT_REGISTER"></a>
+
+<h3 class="register">Offset 0x0008: DIO_INPUT_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('DIO_REGMAP|DIO_INPUT_REGISTER_in')">(<span id="show_DIO_REGMAP|DIO_INPUT_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_DIO_REGMAP|DIO_INPUT_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|DIO">CORE_REGS_REGMAP|DIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x002000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DIO_INPUT_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A2008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_dio.v.</p>
+
+</div>
+
+<div class="info">
+
+Status of each bit at the FPGA input.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..16</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_INPUT_REGISTER|DIO_INPUT_B"></a>DIO_INPUT_B</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_INPUT_REGISTER|DIO_INPUT_A"></a>DIO_INPUT_A</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="DIO_REGMAP|DIO_OUTPUT_REGISTER"></a>
+
+<h3 class="register">Offset 0x000C: DIO_OUTPUT_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('DIO_REGMAP|DIO_OUTPUT_REGISTER_in')">(<span id="show_DIO_REGMAP|DIO_OUTPUT_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_DIO_REGMAP|DIO_OUTPUT_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|DIO">CORE_REGS_REGMAP|DIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x002000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DIO_OUTPUT_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A200C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000000
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_dio.v.</p>
+
+</div>
+
+<div class="info">
+
+Controls the values on each DIO signal line in case the line master is set to PS in <a href="#DIO_REGMAP|DIO_MASTER_REGISTER">DIO_MASTER_REGISTER</a>.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..16</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_OUTPUT_REGISTER|DIO_OUTPUT_B"></a>DIO_OUTPUT_B</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="DIO_REGMAP|DIO_OUTPUT_REGISTER|DIO_OUTPUT_A"></a>DIO_OUTPUT_A</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="DMA_REGMAP"></a>
+ <h1 class="regmap">DMA_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="DMA_REGMAP|XILINX_DMA_REGISTERS"></a><h2 class="group">XILINX_DMA_REGISTERS</h2>
+ <div class="xmlpmd">
+<p>Scatter Gather DMA block defined in Xilinx DMA manual start on pg 11</p>
+<ul>
+<li>https://www.xilinx.com/support/documentation/ip_documentation/axi_dma/v7_1/pg021_axi_dma.pdf</li>
+</ul></div>
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="ETH_DMA_CTRL_REGMAP"></a>
+ <h1 class="regmap">ETH_DMA_CTRL_REGMAP</h1>
+ This is the map that the nixge driver uses in Ethernet DMA to
+ move data between the Processing System's architecture and the fabric.
+ This map is a combination of two main components: a Xilix AXI DMA engine
+ and some registers for MAC/PHY control.
+ <div class="group"><a name="ETH_DMA_CTRL_REGMAP|ETH_DMA_CTRL"></a><h2 class="group">ETH_DMA_CTRL</h2>
+
+ <div class="register">
+ <a name="ETH_DMA_CTRL_REGMAP|AXI_DMA_CTRL"></a>
+
+<h3 class="register">Offset 0x0000: AXI_DMA_CTRL Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('ETH_DMA_CTRL_REGMAP|AXI_DMA_CTRL_in')">(<span id="show_ETH_DMA_CTRL_REGMAP|AXI_DMA_CTRL_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_ETH_DMA_CTRL_REGMAP|AXI_DMA_CTRL_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|INT_ETH_DMA">AXI_HPM0_REGMAP|INT_ETH_DMA</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A4000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AXI_DMA_CTRL</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x4000 (16 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A4000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Refer to Xilinx' AXI DMA v7.1 IP product guide for further
+ information on this register map:
+ https://www.xilinx.com/support/documentation/ip_documentation/axi_dma/v7_1/pg021_axi_dma.pdf
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="ETH_DMA_CTRL_REGMAP|ETH_IO_CTRL"></a>
+
+<h3 class="register">Offset 0x4000: ETH_IO_CTRL Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('ETH_DMA_CTRL_REGMAP|ETH_IO_CTRL_in')">(<span id="show_ETH_DMA_CTRL_REGMAP|ETH_IO_CTRL_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_ETH_DMA_CTRL_REGMAP|ETH_IO_CTRL_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|INT_ETH_DMA">AXI_HPM0_REGMAP|INT_ETH_DMA</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A4000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">ETH_IO_CTRL</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x4000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x2000 (8 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A8000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+MAC/PHY control for the Ethernet interface.
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="GLOBAL_REGS_REGMAP"></a>
+ <h1 class="regmap">GLOBAL_REGS_REGMAP</h1>
+
+ <div class="group"><a name="GLOBAL_REGS_REGMAP|GLOBAL_REGS"></a><h2 class="group">GLOBAL_REGS</h2>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|COMPAT_NUM_REG"></a>
+
+<h3 class="register">Offset 0x0000: COMPAT_NUM_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|COMPAT_NUM_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|COMPAT_NUM_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|COMPAT_NUM_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">COMPAT_NUM_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Revision number
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..16</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|COMPAT_NUM_REG|COMPAT_MAJOR"></a>COMPAT_MAJOR</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|COMPAT_NUM_REG|COMPAT_MINOR"></a>COMPAT_MINOR</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG"></a>
+
+<h3 class="register">Offset 0x0004: DATESTAMP_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|DATESTAMP_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|DATESTAMP_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|DATESTAMP_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DATESTAMP_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Build datestamp (32-bit)
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..27</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG|DAY"></a>DAY</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">26..23</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG|MONTH"></a>MONTH</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">22..17</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG|YEAR"></a>YEAR</span><span class="attr"> </span></p>
+ <p>This is the year number after 2000 (e.g. 2019 = d19).</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16..12</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG|HOUR"></a>HOUR</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..6</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG|MINUTES"></a>MINUTES</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DATESTAMP_REG|SECONDS"></a>SECONDS</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|GIT_HASH_REG"></a>
+
+<h3 class="register">Offset 0x0008: GIT_HASH_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|GIT_HASH_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|GIT_HASH_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|GIT_HASH_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GIT_HASH_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Git hash of source commit.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|SCRATCH_REG"></a>
+
+<h3 class="register">Offset 0x000C: SCRATCH_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|SCRATCH_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|SCRATCH_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|SCRATCH_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SCRATCH_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A000C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Scratch register for testing.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|DEVICE_ID_REG"></a>
+
+<h3 class="register">Offset 0x0010: DEVICE_ID_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|DEVICE_ID_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|DEVICE_ID_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|DEVICE_ID_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DEVICE_ID_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Register that contains the motherboard's device ID.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DEVICE_ID_REG|PCIE_PRESENT_BIT"></a>PCIE_PRESENT_BIT</span><span class="attr"> </span></p>
+ <p>Set to 1 if PCI-Express core is present in FPGA design.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">30..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|DEVICE_ID_REG|DEVICE_ID"></a>DEVICE_ID</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|RFNOC_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0014: RFNOC_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|RFNOC_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|RFNOC_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|RFNOC_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RFNOC_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0014</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Register that provides information on the RFNoC protocol.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..16</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|RFNOC_INFO_REG|CHDR_WIDTH"></a>CHDR_WIDTH</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|RFNOC_INFO_REG|RFNOC_PROTO_MAJOR"></a>RFNOC_PROTO_MAJOR</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|RFNOC_INFO_REG|RFNOC_PROTO_MINOR"></a>RFNOC_PROTO_MINOR</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG"></a>
+
+<h3 class="register">Offset 0x0018: CLOCK_CTRL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CLOCK_CTRL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0018</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000000
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control register for clocking resources.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_BRC_DELAY"></a>PPS_BRC_DELAY</span><span class="attr"> </span></p>
+ <p>Number of base reference clock cycles from appearance of the PPS
+ rising edge to the occurrence of the aligned edge of base reference
+ clock and PLL reference clock at the sample PLL output. This number
+ is the sum of the actual value based on <a href="#GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_DELAY">PLL_SYNC_DELAY</a> (also
+ accumulate the fixed amount of clock cycles) and if any the number of
+ cycles the SPLL requires from issuing of the SYNC signal to the
+ aligned edge (with LMK04832 = 0).<br>
+ The number written to this register has to be reduced by 1 due to
+ HDL implementation.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_DELAY"></a>PLL_SYNC_DELAY</span><span class="attr"> </span></p>
+ <p>Due to the HDL implementation the rising edge of the SYNC signal for
+ the LMK04832 is generated 2 clock cycles after the PPS rising edge.
+ This delay can be further increased by setting this delay value
+ (e.g. PLL_SYNC_DELAY=3 will result in a total delay of 5 clock cycles).<br>
+ In case two X400 devices are connected using the PPS and reference clock the master delay value needs to be 3 clock cycles
+ higher than the slave delay value to align the LMK sync edges in time.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..10</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9r</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_DONE"></a>PLL_SYNC_DONE</span><span class="attr"> </span></p>
+ <p>Indicates the success of the PLL reset started by <a href="#GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_TRIGGER">PLL_SYNC_TRIGGER</a>. Reset on deassertion of <a href="#GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_TRIGGER">PLL_SYNC_TRIGGER</a>.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8w</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_TRIGGER"></a>PLL_SYNC_TRIGGER</span><span class="attr"> </span></p>
+ <p>Assertion triggers the SYNC signal generation for LMK04832 after the next appearance of the PPS rising edge.
+ There is no self reset on this trigger.
+ Keep this trigger asserted until <a href="#GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PLL_SYNC_DONE">PLL_SYNC_DONE</a> is asserted.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..6</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5..4</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT"></a>TRIGGER_IO_SELECT</span><span class="attr"> &nbsp;&nbsp;(initialvalue=TRIG_IO_INPUT)</span></p>
+ <p><b>IMPORTANT!</b> SW must ensure any TRIG_IO consumers (downstream devices) <b>ignore
+ and/or re-sync after enabling this port</b>, since the output-enable is basically
+ asynchronous to the actual TRIG_IO driver.</p>
+
+ <p>
+ The values for this bitfield are in the TRIG_IO_ENUM table.
+ <a class="sh_enum" href="javascript:sb('GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT')">(<span id="show_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT">show here</span>)</a>
+ </p>
+ <div class="sh_enum" id="div_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT">
+
+ <div class="enum">
+ <a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT|TRIG_IO_ENUM"></a>
+
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' > Value </td>
+ <td class="l" colspan='1'> Name </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT|TRIG_IO_ENUM|TRIG_IO_INPUT'></a>TRIG_IO_INPUT</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|TRIGGER_IO_SELECT|TRIG_IO_ENUM|TRIG_IO_PPS_OUTPUT'></a>TRIG_IO_PPS_OUTPUT</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file x4xx_global_regs.v.
+ </p>
+
+</div>
+
+</div>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3r</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|REFCLK_LOCKED"></a>REFCLK_LOCKED</span><span class="attr"> </span></p>
+ <p>RESERVED. This bit is not implemented on X4xx and reads as 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">2</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|REF_SELECT"></a>REF_SELECT</span><span class="attr"> </span></p>
+ <p>RESERVED. This bit is not implemented on X4xx and reads as 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT"></a>PPS_SELECT</span><span class="attr"> &nbsp;&nbsp;(initialvalue=PPS_INT_25MHZ)</span></p>
+ <p>Select the source of the PPS signal.
+ For the internal generation the value depending on the base reference clock has to be chosen.
+ The external reference is taken from the PPS_IN pin and is independent of the base reference clock.</p>
+
+ <p>
+ The values for this bitfield are in the PPS_ENUM table.
+ <a class="sh_enum" href="javascript:sb('GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT')">(<span id="show_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT">show here</span>)</a>
+ </p>
+ <div class="sh_enum" id="div_GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT">
+
+ <div class="enum">
+ <a name="GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT|PPS_ENUM"></a>
+
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' > Value </td>
+ <td class="l" colspan='1'> Name </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT|PPS_ENUM|PPS_INT_25MHZ'></a>PPS_INT_25MHZ</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT|PPS_ENUM|PPS_INT_10MHZ'></a>PPS_INT_10MHZ</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>2</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_SELECT|PPS_ENUM|PPS_EXT'></a>PPS_EXT</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file x4xx_global_regs.v.
+ </p>
+
+</div>
+
+</div>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|PPS_CTRL_REG"></a>
+
+<h3 class="register">Offset 0x001C: PPS_CTRL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|PPS_CTRL_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|PPS_CTRL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|PPS_CTRL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">PPS_CTRL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x001C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A001C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control registers for PPS generation.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|PPS_CTRL_REG|PPS_RC_ENABLED"></a>PPS_RC_ENABLED</span><span class="attr"> </span></p>
+ <p>Enables the PPS signal in radio clock domain. Please make sure that
+ the values of <a href="#GLOBAL_REGS_REGMAP|CLOCK_CTRL_REG|PPS_BRC_DELAY">PPS_BRC_DELAY</a>, <a href="#GLOBAL_REGS_REGMAP|PPS_CTRL_REG|PPS_PRC_DELAY">PPS_PRC_DELAY</a> and <a href="#GLOBAL_REGS_REGMAP|PPS_CTRL_REG|PRC_RC_DIVIDER">PRC_RC_DIVIDER</a> are
+ set before enabling this bit. It is recommended to disable the PPS
+ for changes on the other values. Use a wait time of at least 1 second
+ before changing this value to ensure the values are stable for the
+ next PPS edge.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">30</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">29..28</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|PPS_CTRL_REG|PRC_RC_DIVIDER"></a>PRC_RC_DIVIDER</span><span class="attr"> </span></p>
+ <p>Clock multiplier used to generate radio clock from PLL reference clock.
+ The value written to the register has to be reduced by 2 due to
+ HDL implementation.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..26</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">25..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|PPS_CTRL_REG|PPS_PRC_DELAY"></a>PPS_PRC_DELAY</span><span class="attr"> </span></p>
+ <p>The number of PLL reference clock cycles from one aligned edge to the
+ desired aligned edge to issue the PPS in radio clock domain. This
+ delay is configurable to any aligned edge within a maximum delay of 1
+ second (period of PPS). <br>
+ The value written to the register has to be reduced by 4 due to
+ HDL implementation.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG"></a>
+
+<h3 class="register">Offset 0x0020: CHDR_CLK_RATE_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CHDR_CLK_RATE_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0020</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x0BEBC200
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns the RFNoC bus clock rate (CHDR).
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG|CHDR_CLK"></a>CHDR_CLK</span><span class="attr"> &nbsp;&nbsp;(initialvalue=CHDR_CLK_VALUE)</span></p>
+ <p></p>
+
+ <p>
+ The values for this bitfield are in the CHDR_CLK_ENUM table.
+ <a class="sh_enum" href="javascript:sb('GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG|CHDR_CLK')">(<span id="show_GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG|CHDR_CLK">show here</span>)</a>
+ </p>
+ <div class="sh_enum" id="div_GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG|CHDR_CLK">
+
+ <div class="enum">
+ <a name="GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG|CHDR_CLK|CHDR_CLK_ENUM"></a>
+
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>200000000</td>
+
+ <td class='l'>0xBEBC200</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='GLOBAL_REGS_REGMAP|CHDR_CLK_RATE_REG|CHDR_CLK|CHDR_CLK_ENUM|CHDR_CLK_VALUE'></a>CHDR_CLK_VALUE</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file x4xx_global_regs.v.
+ </p>
+
+</div>
+
+</div>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|CHDR_CLK_COUNT_REG"></a>
+
+<h3 class="register">Offset 0x0024: CHDR_CLK_COUNT_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|CHDR_CLK_COUNT_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|CHDR_CLK_COUNT_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|CHDR_CLK_COUNT_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CHDR_CLK_COUNT_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0024</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns the count value of a free-running counter driven by the RFNoC
+ CHDR bus clock.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|GPS_CTRL_REG"></a>
+
+<h3 class="register">Offset 0x0038: GPS_CTRL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|GPS_CTRL_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|GPS_CTRL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|GPS_CTRL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GPS_CTRL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0038</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+RESERVED. This register is not implemented on X4xx. GPS is connected
+ to the PS via a UART.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|GPS_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x003C: GPS_STATUS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|GPS_STATUS_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|GPS_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|GPS_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GPS_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x003C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A003C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+RESERVED. This register is not implemented on X4xx. GPS is connected
+ to the PS via a UART.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|DBOARD_CTRL_REG"></a>
+
+<h3 class="register">Offset 0x0040: DBOARD_CTRL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|DBOARD_CTRL_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|DBOARD_CTRL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|DBOARD_CTRL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DBOARD_CTRL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0040
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+RESERVED. This register is not implemented on X4xx.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|DBOARD_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x0044: DBOARD_STATUS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|DBOARD_STATUS_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|DBOARD_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|DBOARD_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DBOARD_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0044</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0044
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+RESERVED. This register is not implemented on X4xx.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|NUM_TIMEKEEPERS_REG"></a>
+
+<h3 class="register">Offset 0x0048: NUM_TIMEKEEPERS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|NUM_TIMEKEEPERS_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|NUM_TIMEKEEPERS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|NUM_TIMEKEEPERS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">NUM_TIMEKEEPERS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0048</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0048
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Register that specifies the number of timekeepers in the core.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|SERIAL_NUM_LOW_REG"></a>
+
+<h3 class="register">Offset 0x004C: SERIAL_NUM_LOW_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|SERIAL_NUM_LOW_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|SERIAL_NUM_LOW_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|SERIAL_NUM_LOW_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SERIAL_NUM_LOW_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x004C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A004C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Least significant bytes of 8 byte serial number
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|SERIAL_NUM_HIGH_REG"></a>
+
+<h3 class="register">Offset 0x0050: SERIAL_NUM_HIGH_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|SERIAL_NUM_HIGH_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|SERIAL_NUM_HIGH_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|SERIAL_NUM_HIGH_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SERIAL_NUM_HIGH_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0050</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0050
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Most significant bytes of 8 byte serial number
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG"></a>
+
+<h3 class="register">Offset 0x0054: MFG_TEST_CTRL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MFG_TEST_CTRL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0054</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0054
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control register for mfg_test functions.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..2</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG|MFG_TEST_EN_FABRIC_CLK"></a>MFG_TEST_EN_FABRIC_CLK</span><span class="attr"> </span></p>
+ <p>When enabled, routes data_clk to FPGA_REF_CLK output port.
+ When disabled, the FPGA_REF_CLK output is driven to 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|MFG_TEST_CTRL_REG|MFG_TEST_EN_GTY_RCV_CLK"></a>MFG_TEST_EN_GTY_RCV_CLK</span><span class="attr"> </span></p>
+ <p>When enabled, routes data_clk to GTY_RCV_CLK output port.
+ When disabled, the GTY_RCV_CLK output is driven to 0.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x0058: MFG_TEST_STATUS_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MFG_TEST_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0058</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0058
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Status register for mfg_test functions.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..26</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">25..0</td>
+ <td>
+ <p><span class="name"><a name="GLOBAL_REGS_REGMAP|MFG_TEST_STATUS_REG|MFG_TEST_FPGA_AUX_REF_FREQ"></a>MFG_TEST_FPGA_AUX_REF_FREQ</span><span class="attr"> </span></p>
+ <p>Report the time between rising edges on the FPGA_REF_CLK
+ input port in 40 MHz Clock ticks. If the count extends
+ to 1.2 seconds without an edge, the value reported is set
+ to zero.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_0_0_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0060: QSFP_PORT_0_0_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_0_0_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_0_0_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_0_0_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_0_0_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0060
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP0 Lane0.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_0_1_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0064: QSFP_PORT_0_1_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_0_1_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_0_1_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_0_1_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_0_1_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0064</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0064
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP0 Lane1.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_0_2_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0068: QSFP_PORT_0_2_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_0_2_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_0_2_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_0_2_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_0_2_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0068</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0068
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP0 Lane2.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_0_3_INFO_REG"></a>
+
+<h3 class="register">Offset 0x006C: QSFP_PORT_0_3_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_0_3_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_0_3_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_0_3_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_0_3_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x006C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A006C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP0 Lane3.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_1_0_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0070: QSFP_PORT_1_0_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_1_0_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_1_0_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_1_0_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_1_0_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0070</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0070
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP1 Lane0.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_1_1_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0074: QSFP_PORT_1_1_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_1_1_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_1_1_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_1_1_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_1_1_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0074</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0074
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP1 Lane1.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_1_2_INFO_REG"></a>
+
+<h3 class="register">Offset 0x0078: QSFP_PORT_1_2_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_1_2_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_1_2_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_1_2_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_1_2_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0078</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0078
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP1 Lane2.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="GLOBAL_REGS_REGMAP|QSFP_PORT_1_3_INFO_REG"></a>
+
+<h3 class="register">Offset 0x007C: QSFP_PORT_1_3_INFO_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('GLOBAL_REGS_REGMAP|QSFP_PORT_1_3_INFO_REG_in')">(<span id="show_GLOBAL_REGS_REGMAP|QSFP_PORT_1_3_INFO_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_GLOBAL_REGS_REGMAP|QSFP_PORT_1_3_INFO_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|GLOBAL_REGS">CORE_REGS_REGMAP|GLOBAL_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">QSFP_PORT_1_3_INFO_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x007C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A007C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_global_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Returns information from the QSFP1 Lane3.
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="JTAG_REGMAP"></a>
+ <h1 class="regmap">JTAG_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="JTAG_REGMAP|JTAG_REGS"></a><h2 class="group">JTAG_REGS</h2>
+ <div class="xmlpmd">
+<p>This register map is present for each JTAG module.</p>
+<p>Basic operation would be:</p>
+<ul>
+<li>poll <a href="#JTAG_REGMAP|CONTROL|ready">ready</a> until asserted</li>
+<li>write / read data</li>
+<li>write <a href="#JTAG_REGMAP|CONTROL">CONTROL</a> register along with <a href="#JTAG_REGMAP|CONTROL|reset">reset</a> deasserted to start a transaction</li>
+</ul>
+<p>For resetting the BITQ FSM, simply assert <a href="#JTAG_REGMAP|CONTROL|reset">reset</a>.</p>
+<p>This operation seems a little strange, but it is what the axi_bitq driver
+expects. This behavior has been implemented in previous products.</p></div>
+ <div class="register">
+ <a name="JTAG_REGMAP|TX_DATA"></a>
+
+<h3 class="register">Offset 0x0000: TX_DATA Register (W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('JTAG_REGMAP|TX_DATA_in')">(<span id="show_JTAG_REGMAP|TX_DATA_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_JTAG_REGMAP|TX_DATA_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="2">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB0">MB_CPLD_PL_REGMAP|JTAG_DB0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">TX_DATA</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088060
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB1">MB_CPLD_PL_REGMAP|JTAG_DB1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000080</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088080
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_jtag.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Data to be transmitted (TDI)</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="JTAG_REGMAP|STB_DATA"></a>
+
+<h3 class="register">Offset 0x0004: STB_DATA Register (W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('JTAG_REGMAP|STB_DATA_in')">(<span id="show_JTAG_REGMAP|STB_DATA_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_JTAG_REGMAP|STB_DATA_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="2">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB0">MB_CPLD_PL_REGMAP|JTAG_DB0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">STB_DATA</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088064
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB1">MB_CPLD_PL_REGMAP|JTAG_DB1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000080</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088084
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_jtag.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Data to be transmitted (TMS)</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="JTAG_REGMAP|CONTROL"></a>
+
+<h3 class="register">Offset 0x0008: CONTROL Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('JTAG_REGMAP|CONTROL_in')">(<span id="show_JTAG_REGMAP|CONTROL_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_JTAG_REGMAP|CONTROL_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="2">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB0">MB_CPLD_PL_REGMAP|JTAG_DB0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CONTROL</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088068
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB1">MB_CPLD_PL_REGMAP|JTAG_DB1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000080</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088088
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000001
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_jtag.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>JTAG module status and control</p></div>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31r</td>
+ <td>
+ <p><span class="name"><a name="JTAG_REGMAP|CONTROL|ready"></a>ready</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Bitq FSM is ready for input (no data transmission in progress).</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">31w</td>
+ <td>
+ <p><span class="name"><a name="JTAG_REGMAP|CONTROL|reset"></a>reset</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>When asserted ('1') a soft-reset for the bitq FSM is triggered,
+preventing any transactions to take place.</p>
+<p>Deassert this bit, along with values for <a href="#JTAG_REGMAP|CONTROL|prescalar">prescalar</a> and <a href="#JTAG_REGMAP|CONTROL|length">length</a>
+to trigger a new transaction (start strobe).</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">30..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..13</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">12..8</td>
+ <td>
+ <p><span class="name"><a name="JTAG_REGMAP|CONTROL|length"></a>length</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>(Number of bits - 1) to be transferred</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="JTAG_REGMAP|CONTROL|prescalar"></a>prescalar</span><span class="attr"> &nbsp;&nbsp;(initialvalue=true)</span></p>
+ <p><div class="xmlpmd">
+<p>Clock divider. Resulting JTAG frequency will be f_ctrlport / (2*(prescalar + 1)). See window description for details on the initial/minimum value.</p></div></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="JTAG_REGMAP|RX_DATA"></a>
+
+<h3 class="register">Offset 0x000C: RX_DATA Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('JTAG_REGMAP|RX_DATA_in')">(<span id="show_JTAG_REGMAP|RX_DATA_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_JTAG_REGMAP|RX_DATA_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="2">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB0">MB_CPLD_PL_REGMAP|JTAG_DB0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="2">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RX_DATA</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x100008806C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|JTAG_DB1">MB_CPLD_PL_REGMAP|JTAG_DB1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000080</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x100008808C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_jtag.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Received data (TDO)</p></div>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="MB_CPLD_PL_REGMAP"></a>
+ <h1 class="regmap">MB_CPLD_PL_REGMAP</h1>
+ <div class="xmlpmd">
+<p>This register map is available using the PL CPLD SPI interface.
+All protocol masters controller by this register map are running with a clock frequency of 50 MHz.</p></div>
+ <div class="group"><a name="MB_CPLD_PL_REGMAP|MB_CPLD_PL_WINDOWS"></a><h2 class="group">MB_CPLD_PL_WINDOWS</h2>
+ <div class="xmlpmd">
+</div>
+ <div class="register">
+ <a name="MB_CPLD_PL_REGMAP|PL_REGISTERS"></a>
+
+<h3 class="register">Offset 0x0000: PL_REGISTERS Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#PL_CPLD_BASE_REGMAP">PL_CPLD_BASE_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('MB_CPLD_PL_REGMAP|PL_REGISTERS_in')">(<span id="show_MB_CPLD_PL_REGMAP|PL_REGISTERS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_MB_CPLD_PL_REGMAP|PL_REGISTERS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">PL_REGISTERS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x40 (64 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file mb_cpld.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="MB_CPLD_PL_REGMAP|JTAG_DB0"></a>
+
+<h3 class="register">Offset 0x0060: JTAG_DB0 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#JTAG_REGMAP">JTAG_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('MB_CPLD_PL_REGMAP|JTAG_DB0_in')">(<span id="show_MB_CPLD_PL_REGMAP|JTAG_DB0_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_MB_CPLD_PL_REGMAP|JTAG_DB0_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">JTAG_DB0</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0060</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20 (32 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088060
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file mb_cpld.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>JTAG Master connected to first daugherboard's CPLD JTAG interface.</p>
+<p><strong>Use minimum value of 1 for <a href="#JTAG_REGMAP|CONTROL|prescalar">JTAG_REGMAP.prescalar</a> because the DB CPLD JTAG interface maximum clock frequency is 20 MHz.</strong></p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="MB_CPLD_PL_REGMAP|JTAG_DB1"></a>
+
+<h3 class="register">Offset 0x0080: JTAG_DB1 Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#JTAG_REGMAP">JTAG_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('MB_CPLD_PL_REGMAP|JTAG_DB1_in')">(<span id="show_MB_CPLD_PL_REGMAP|JTAG_DB1_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_MB_CPLD_PL_REGMAP|JTAG_DB1_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">JTAG_DB1</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0080</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x20 (32 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088080
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file mb_cpld.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>JTAG Master connected to second daugherboard's CPLD JTAG interface.</p>
+<p><strong>Use minimum value of 1 for <a href="#JTAG_REGMAP|CONTROL|prescalar">JTAG_REGMAP.prescalar</a> because the DB CPLD JTAG interface maximum clock frequency is 20 MHz.</strong></p></div>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="NIXGE_REGMAP"></a>
+ <h1 class="regmap">NIXGE_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="NIXGE_REGMAP|XGE_MAC_REGS"></a><h2 class="group">XGE_MAC_REGS</h2>
+ <div class="xmlpmd">
+<p>nixge (maps to 10g mac if present)</p></div>
+ <div class="register">
+ <a name="NIXGE_REGMAP|PORT_INFO"></a>
+
+<h3 class="register">Offset 0x0000: PORT_INFO Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|PORT_INFO_in')">(<span id="show_NIXGE_REGMAP|PORT_INFO_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|PORT_INFO_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">PORT_INFO</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|PORT_INFO|COMPAT_NUM"></a>COMPAT_NUM</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Constant indicating version for this space.
+Not used by the NIXGE driver (12/4/2020)</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..18</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">17</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|PORT_INFO|ACTIVITY"></a>ACTIVITY</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Generically this mirrors the activity LED. Specific meaning varies based on the MGT_PROTOCOL.</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|PORT_INFO|LINK_UP"></a>LINK_UP</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Generically means that a connection with a peer has been established. Specific
+meaning varies based on the MGT_PROTOCOL.</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|PORT_INFO|MGT_PROTOCOL"></a>MGT_PROTOCOL</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Constant indicating what flavor of communication this port is using</p>
+<ul>
+<li>0 = NONE</li>
+<li>1 = 1GbE</li>
+<li>2 = 10GbE</li>
+<li>3 = Aurora</li>
+<li>4 = WhiteRabbit</li>
+<li>5 = 100GbE</li>
+</ul></div></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|PORT_INFO|PORTNUM"></a>PORTNUM</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Constant indicating which port this register is hooked to</p>
+<ul>
+<li>0 = QSFP0</li>
+<li>1 = QSFP1</li>
+</ul></div></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|MAC_CTRL_STATUS"></a>
+
+<h3 class="register">Offset 0x0004: MAC_CTRL_STATUS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|MAC_CTRL_STATUS_in')">(<span id="show_NIXGE_REGMAP|MAC_CTRL_STATUS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|MAC_CTRL_STATUS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MAC_CTRL_STATUS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Definition of this register depends on Protocol</p>
+<p><strong>10GBE</strong></p>
+<p><em>READ - Status</em></p>
+<ul>
+<li>0 = status_crc_error</li>
+<li>1 = status_fragment_error</li>
+<li>2 = status_txdfifo_ovflow</li>
+<li>3 = status_txdfifo_udflow</li>
+<li>4 = status_rxdfifo_ovflow</li>
+<li>5 = status_rxdfifo_udflow</li>
+<li>6 = status_pause_frame_rx</li>
+<li>7 = status_local_fault</li>
+<li>8 = status_remote_fault</li>
+</ul>
+<p><em>WRITE - Ctl</em></p>
+<ul>
+<li>0 = ctrl_tx_enable</li>
+</ul>
+<p><strong>100 GBE</strong></p>
+<p><em>READ - Status</em></p>
+<ul>
+<li>0 = tx_ovfout - Sets if TX overflow reported by CMAC
+ (Stays set till MAC is reset). This is a fatal error</li>
+<li>1 = tx_unfout - Sets if TX underflow reported by CMAC
+ (Stays set till MAC is reset). This is a fatal error</li>
+<li>2 = stat_rx_aligned - goes high when CMAC has finished
+ alignment, and is ready to start reception of traffic.</li>
+<li>3 = mac_dropped_packet - If the mac RX wants to push data(TVALID)
+ but upstream is trying to hold(TREADY)off we drop a packet.
+ Upstream circuitry should detect this when traffic is forked
+ between CHDR and CPU, so this bit will only set if there is a
+ HW design error.</li>
+<li>4 = auto_config_done - This bit goes high when the auto_config
+ state machine finishes operation. It is very similiar to
+ stat_rx_alligned, but waits for extra writes which occur
+ after allignement to complete.</li>
+<li>24:16 = pause_mask - readable version of pause_mask bellow.</li>
+</ul>
+<p><em>WRITE - Ctl</em></p>
+<ul>
+<li>0 = auto_enable - Defaults to ON after reset - Enables a
+ state machine that performs CMAC register writes to
+ bring up the MAC without SW intervention.</li>
+<li>24:16 = pause_mask - A second layer of enables(the first being
+ register in the CMAC) on the pause_request mechanic. Bits
+ 7:0 of enable pause on PFC7:0. Bit 8 enables global pause
+ request (not priority controlled). The mask is used for TX
+ and RX.</li>
+</ul></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|MAC_PHY_STATUS"></a>
+
+<h3 class="register">Offset 0x0008: MAC_PHY_STATUS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|MAC_PHY_STATUS_in')">(<span id="show_NIXGE_REGMAP|MAC_PHY_STATUS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|MAC_PHY_STATUS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MAC_PHY_STATUS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Definition of this register depends on Protocol</p>
+<p><strong>10GBE</strong></p>
+<p>*READ - Status *</p>
+<ul>
+<li>0 = core_status 0 - link_up</li>
+<li>1 = core_status 1</li>
+<li>2 = core_status 2</li>
+<li>3 = core_status 3</li>
+<li>4 = core_status 4</li>
+<li>5 = core_status 5</li>
+<li>6 = core_status 6</li>
+<li>7 = core_status 7</li>
+</ul>
+<p><strong>100 GBE</strong></p>
+<p><em>READ - Status</em></p>
+<ul>
+<li>0 = usr_tx_reset - TX PLL's have locked - The clock for the 100G mac isn't stable till this bit sets.</li>
+<li>1 = usr_rx_reset - RX PLL's have locked</li>
+</ul></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|MAC_LED_CTL"></a>
+
+<h3 class="register">Offset 0x000C: MAC_LED_CTL Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|MAC_LED_CTL_in')">(<span id="show_NIXGE_REGMAP|MAC_LED_CTL_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|MAC_LED_CTL_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MAC_LED_CTL</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..2</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|MAC_LED_CTL|identify_value"></a>identify_value</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>When identify_enable is set, this value controls the activity LED.</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="NIXGE_REGMAP|MAC_LED_CTL|identify_enable"></a>identify_enable</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>When set identify_value is used to control the activity LED.
+When clear the activity LED set on any TX or RX traffic to the mgt</p></div></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|ETH_MDIO_BASE"></a>
+
+<h3 class="register">Offset 0x0010: ETH_MDIO_BASE Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|ETH_MDIO_BASE_in')">(<span id="show_NIXGE_REGMAP|ETH_MDIO_BASE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|ETH_MDIO_BASE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">ETH_MDIO_BASE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>The x4xx family of products does not use MDIO.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|AURORA_OVERRUNS"></a>
+
+<h3 class="register">Offset 0x0020: AURORA_OVERRUNS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|AURORA_OVERRUNS_in')">(<span id="show_NIXGE_REGMAP|AURORA_OVERRUNS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|AURORA_OVERRUNS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AURORA_OVERRUNS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0020</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Only valid if the protocol is Aurora.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|AURORA_CHECKSUM_ERRORS"></a>
+
+<h3 class="register">Offset 0x0024: AURORA_CHECKSUM_ERRORS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|AURORA_CHECKSUM_ERRORS_in')">(<span id="show_NIXGE_REGMAP|AURORA_CHECKSUM_ERRORS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|AURORA_CHECKSUM_ERRORS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AURORA_CHECKSUM_ERRORS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0024</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078024
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Only valid if the protocol is Aurora.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|AURORA_BIST_CHECKER_SAMPS"></a>
+
+<h3 class="register">Offset 0x0028: AURORA_BIST_CHECKER_SAMPS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|AURORA_BIST_CHECKER_SAMPS_in')">(<span id="show_NIXGE_REGMAP|AURORA_BIST_CHECKER_SAMPS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|AURORA_BIST_CHECKER_SAMPS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AURORA_BIST_CHECKER_SAMPS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0028</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078028
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Only valid if the protocol is Aurora.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="NIXGE_REGMAP|AURORA_BIST_CHECKER_ERRORS"></a>
+
+<h3 class="register">Offset 0x002C: AURORA_BIST_CHECKER_ERRORS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|AURORA_BIST_CHECKER_ERRORS_in')">(<span id="show_NIXGE_REGMAP|AURORA_BIST_CHECKER_ERRORS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|AURORA_BIST_CHECKER_ERRORS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AURORA_BIST_CHECKER_ERRORS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x002C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007802C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Only valid if the protocol is Aurora.</p></div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="NIXGE_REGMAP|XGE_MAC_WINDOW"></a><h2 class="group">XGE_MAC_WINDOW</h2>
+ <div class="xmlpmd">
+</div>
+ <div class="register">
+ <a name="NIXGE_REGMAP|XGE_MAC"></a>
+
+<h3 class="register">Offset 0x1000: XGE_MAC Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#XGE_MAC_REGMAP">XGE_MAC_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('NIXGE_REGMAP|XGE_MAC_in')">(<span id="show_NIXGE_REGMAP|XGE_MAC_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_NIXGE_REGMAP|XGE_MAC_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|NIXGE">QSFP_REGMAP|NIXGE</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">XGE_MAC</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x1000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x1000 (4 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200009000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200019000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200029000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200039000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200049000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200059000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200069000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200079000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="PL_CPLD_BASE_REGMAP"></a>
+ <h1 class="regmap">PL_CPLD_BASE_REGMAP</h1>
+
+ <div class="group"><a name="PL_CPLD_BASE_REGMAP|MB_CPLD_LED_REGS"></a><h2 class="group">MB_CPLD_LED_REGS</h2>
+ Register Map to control QSFP LEDs.
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|LED_REGISTER"></a>
+
+<h3 class="register">Offset 0x0020: LED_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|LED_REGISTER_in')">(<span id="show_PL_CPLD_BASE_REGMAP|LED_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|LED_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">LED_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0020</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Provides to the LEDs of the QSFP ports.
+ Write access will directly change the LED status.
+ The LED lights up if the corresponding bit is set.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|LED_REGISTER|QSFP1_LED_ACTIVE"></a>QSFP1_LED_ACTIVE</span><span class="attr"> </span></p>
+ <p>Active LEDs of QSFP port 1</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..8</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|LED_REGISTER|QSFP1_LED_LINK"></a>QSFP1_LED_LINK</span><span class="attr"> </span></p>
+ <p>Link LEDs of QSFP port 1</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..4</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|LED_REGISTER|QSFP0_LED_ACTIVE"></a>QSFP0_LED_ACTIVE</span><span class="attr"> </span></p>
+ <p>Active LEDs of QSFP port 0</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3..0</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|LED_REGISTER|QSFP0_LED_LINK"></a>QSFP0_LED_LINK</span><span class="attr"> </span></p>
+ <p>Link LEDs of QSFP port 0</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="PL_CPLD_BASE_REGMAP|PL_CMI_REGS"></a><h2 class="group">PL_CMI_REGS</h2>
+ Cable present status register.
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG"></a>
+
+<h3 class="register">Offset 0x0030: CABLE_PRESENT_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG_in')">(<span id="show_PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CABLE_PRESENT_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0030</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Information from FPGA about the cable present status.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG|IPASS1_CABLE_PRESENT"></a>IPASS1_CABLE_PRESENT</span><span class="attr"> </span></p>
+ <p>Set to 1 if cable present in iPass 1 connector.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|CABLE_PRESENT_REG|IPASS0_CABLE_PRESENT"></a>IPASS0_CABLE_PRESENT</span><span class="attr"> </span></p>
+ <p>Set to 1 if cable present in iPass 0 connector.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="PL_CPLD_BASE_REGMAP|PL_CPLD_BASE_REGS"></a><h2 class="group">PL_CPLD_BASE_REGS</h2>
+ Basic registers containing version and capabilities information.
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER"></a>
+
+<h3 class="register">Offset 0x0000: SIGNATURE_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER_in')">(<span id="show_PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SIGNATURE_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Contains the product's signature.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|SIGNATURE_REGISTER|PRODUCT_SIGNATURE"></a>PRODUCT_SIGNATURE</span><span class="attr"> </span></p>
+ <p>Fixed value PL_CPLD_SIGNATURE of <a href="#CONSTANTS_REGMAP">CONSTANTS_REGMAP</a></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|REVISION_REGISTER"></a>
+
+<h3 class="register">Offset 0x0004: REVISION_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|REVISION_REGISTER_in')">(<span id="show_PL_CPLD_BASE_REGMAP|REVISION_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|REVISION_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">REVISION_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Contains the CPLD revision (see CPLD_REVISION of <a href="#CONSTANTS_REGMAP">CONSTANTS_REGMAP</a>)
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_YY"></a>REVISION_YY</span><span class="attr"> </span></p>
+ <p>Contains revision year code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_MM"></a>REVISION_MM</span><span class="attr"> </span></p>
+ <p>Contains revision month code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_DD"></a>REVISION_DD</span><span class="attr"> </span></p>
+ <p>Contains revision day code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_HH"></a>REVISION_HH</span><span class="attr"> </span></p>
+ <p>Contains revision hour code.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER"></a>
+
+<h3 class="register">Offset 0x0008: OLDEST_COMPATIBLE_REVISION_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER_in')">(<span id="show_PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">OLDEST_COMPATIBLE_REVISION_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+This register returns (in YYMMDDHH format) the oldest revision
+ that is still compatible with this one. Compatible means that
+ registers or register bits may have been added, but not
+ modified or deleted (see OLDEST_CPLD_REVISION of <a href="#CONSTANTS_REGMAP">CONSTANTS_REGMAP</a>).
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_YY"></a>OLD_REVISION_YY</span><span class="attr"> </span></p>
+ <p>Contains revision year code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_MM"></a>OLD_REVISION_MM</span><span class="attr"> </span></p>
+ <p>Contains revision month code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_DD"></a>OLD_REVISION_DD</span><span class="attr"> </span></p>
+ <p>Contains revision day code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_HH"></a>OLD_REVISION_HH</span><span class="attr"> </span></p>
+ <p>Contains revision hour code.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|SCRATCH_REGISTER"></a>
+
+<h3 class="register">Offset 0x000C: SCRATCH_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|SCRATCH_REGISTER_in')">(<span id="show_PL_CPLD_BASE_REGMAP|SCRATCH_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|SCRATCH_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SCRATCH_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x100008800C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Read/write register for general software use.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER"></a>
+
+<h3 class="register">Offset 0x0010: GIT_HASH_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER_in')">(<span id="show_PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#PL_CPLD_REGMAP|MB_CPLD">PL_CPLD_REGMAP|MB_CPLD</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PL_REGMAP|PL_REGISTERS">MB_CPLD_PL_REGMAP|PL_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GIT_HASH_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file pl_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Git hash of commit used to build this image.<br>
+ Value equals 0xDEADBEEF if the git hash was not used during synthesis.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER|GIT_CLEAN"></a>GIT_CLEAN</span><span class="attr"> </span></p>
+ <p>0x0 in case the git status was clean<br>
+ 0xF in case there were uncommitted changes</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..0</td>
+ <td>
+ <p><span class="name"><a name="PL_CPLD_BASE_REGMAP|GIT_HASH_REGISTER|GIT_HASH"></a>GIT_HASH</span><span class="attr"> </span></p>
+ <p>7 hex digit hash code of the commit</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="PL_CPLD_REGMAP"></a>
+ <h1 class="regmap">PL_CPLD_REGMAP</h1>
+ This register map is available from the PS via AXI and MPM endpoint.
+ Its size is 128K (17 bits). Only the 17 LSBs are used as address in this documentation.
+ <div class="group"><a name="PL_CPLD_REGMAP|PL_CPLD_WINDOWS"></a><h2 class="group">PL_CPLD_WINDOWS</h2>
+
+ <div class="register">
+ <a name="PL_CPLD_REGMAP|BASE"></a>
+
+<h3 class="register">Offset 0x0000: BASE Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#CPLD_INTERFACE_REGMAP">CPLD_INTERFACE_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_REGMAP|BASE_in')">(<span id="show_PL_CPLD_REGMAP|BASE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_REGMAP|BASE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">BASE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x40 (64 bytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000080000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file cpld_interface.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_REGMAP|MB_CPLD"></a>
+
+<h3 class="register">Offset 0x8000: MB_CPLD Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#MB_CPLD_PL_REGMAP">MB_CPLD_PL_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_REGMAP|MB_CPLD_in')">(<span id="show_PL_CPLD_REGMAP|MB_CPLD_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_REGMAP|MB_CPLD_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MB_CPLD</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x8000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x8000 (32 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000088000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file cpld_interface.v.</p>
+
+</div>
+
+<div class="info">
+
+All registers of the MB CPLD (PL part).
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_REGMAP|DB0_CPLD"></a>
+
+<h3 class="register">Offset 0x10000: DB0_CPLD Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_REGMAP|DB0_CPLD_in')">(<span id="show_PL_CPLD_REGMAP|DB0_CPLD_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_REGMAP|DB0_CPLD_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DB0_CPLD</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x10000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x8000 (32 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000090000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file cpld_interface.v.</p>
+
+</div>
+
+<div class="info">
+
+All registers of the first DB CPLD. Register map will be added later on.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PL_CPLD_REGMAP|DB1_CPLD"></a>
+
+<h3 class="register">Offset 0x18000: DB1_CPLD Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PL_CPLD_REGMAP|DB1_CPLD_in')">(<span id="show_PL_CPLD_REGMAP|DB1_CPLD_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_CPLD_REGMAP|DB1_CPLD_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|MPM_ENDPOINT">AXI_HPM0_REGMAP|MPM_ENDPOINT</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000080000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DB1_CPLD</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x18000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x8000 (32 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000098000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file cpld_interface.v.</p>
+
+</div>
+
+<div class="info">
+
+All registers of the second DB CPLD. Register map will be added later on.
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="PL_DMA_MASTER_REGMAP"></a>
+ <h1 class="regmap">PL_DMA_MASTER_REGMAP</h1>
+ This is a regmap to document the different ports that have access to the PS system memory.
+ Each port may have different restrictions on system memory. See the corresponding window
+ for details
+ <div class="group"><a name="PL_DMA_MASTER_REGMAP|HPC0_DMA"></a><h2 class="group">HPC0_DMA</h2>
+
+ <div class="register">
+ <a name="PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW"></a>
+
+<h3 class="register">Offset 0x0000: AXI_HPC0_WINDOW Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target port = <a href="#X4XX_FPGA|ARM_S_AXI_HPC0">X4XX_FPGA|ARM_S_AXI_HPC0</a></p>
+ <a class="sh_addrs" href="javascript:sa('PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW_in')">(<span id="show_PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_DMA_MASTER_REGMAP|AXI_HPC0_WINDOW_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AXI_HPC0_WINDOW</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000000000 (1024 Gbytes)</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+The HPC0 port of the PS is used for general purpose cache-coherent accesses
+ to the PS system memory. Different applications may use it for different
+ purposes. Its access is configured as follows: <br>
+ <table border="1">
+ <tr><th>Offset</th> <th>Size</th> <th>Description</th><tr>
+ <tr><td>0x000800000000</td><td>0x000800000000</td><td>DDR_HIGH</td><tr>
+ <tr><td>0x00000000</td> <td>0x80000000</td> <td>DDR_LOW</td><tr>
+ <tr><td>0xFF000000</td> <td>0x01000000</td> <td>LPS_OCM</td><tr>
+ <tr><td>0xC0000000</td> <td>0x20000000</td> <td>QSPI</td><tr>
+ </table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="PL_DMA_MASTER_REGMAP|HPC1_DMA"></a><h2 class="group">HPC1_DMA</h2>
+
+ <div class="register">
+ <a name="PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW"></a>
+
+<h3 class="register">Offset 0x0000: AXI_HPC1_WINDOW Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target port = <a href="#X4XX_FPGA|ARM_S_AXI_HPC1">X4XX_FPGA|ARM_S_AXI_HPC1</a></p>
+ <a class="sh_addrs" href="javascript:sa('PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW_in')">(<span id="show_PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PL_DMA_MASTER_REGMAP|AXI_HPC1_WINDOW_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">AXI_HPC1_WINDOW</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x1000000000 (64 Gbytes)</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+The HPC1 port of the PS is connected to the Ethernet DMA module. Three slave
+ interfaces are lumped together in this window: scatter-gather, dma-rx, and dma-tx.
+ Its access is configured as follows: <br>
+ <table border="1">
+ <tr><th>Offset</th> <th>Size</th> <th>Description</th><tr>
+ <tr><td>0x000800000000</td><td>0x000800000000</td><td>DDR_HIGH</td><tr>
+ <tr><td>0x00000000</td> <td>0x80000000</td> <td>DDR_LOW</td><tr>
+ <tr><td>0xC0000000</td> <td>0x20000000</td> <td>QSPI</td><tr>
+ </table>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="PS_CPLD_BASE_REGMAP"></a>
+ <h1 class="regmap">PS_CPLD_BASE_REGMAP</h1>
+
+ <div class="group"><a name="PS_CPLD_BASE_REGMAP|DIO_REGS"></a><h2 class="group">DIO_REGS</h2>
+ Registers to control the GPIO buffer direction on the DIO board connected to the FPGA.
+ Make sure the GPIO lines between FPGA and GPIO board are not driven by two drivers.
+ Set the direction in the FPGA's DIO register appropriately.
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER"></a>
+
+<h3 class="register">Offset 0x0030: DIO_DIRECTION_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DIO_DIRECTION_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0030</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000000
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Set the direction of FPGA buffer connected to DIO ports on the DIO board.<br/>
+ Each bit represents one signal line. 0 = line is an input to the FPGA, 1 = line is an output driven by the FPGA.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..16</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER|DIO_DIRECTION_B"></a>DIO_DIRECTION_B</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|DIO_DIRECTION_REGISTER|DIO_DIRECTION_A"></a>DIO_DIRECTION_A</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="PS_CPLD_BASE_REGMAP|PS_CMI_REGS"></a><h2 class="group">PS_CMI_REGS</h2>
+ Cable present status register.
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|SERIAL_NUM_LOW_REG"></a>
+
+<h3 class="register">Offset 0x0034: SERIAL_NUM_LOW_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|SERIAL_NUM_LOW_REG_in')">(<span id="show_PS_CPLD_BASE_REGMAP|SERIAL_NUM_LOW_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|SERIAL_NUM_LOW_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SERIAL_NUM_LOW_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0034</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Least significant bytes of 5 byte serial number.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|SERIAL_NUM_HIGH_REG"></a>
+
+<h3 class="register">Offset 0x0038: SERIAL_NUM_HIGH_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|SERIAL_NUM_HIGH_REG_in')">(<span id="show_PS_CPLD_BASE_REGMAP|SERIAL_NUM_HIGH_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|SERIAL_NUM_HIGH_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SERIAL_NUM_HIGH_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0038</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Most significant byte of 5 byte serial number.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS"></a>
+
+<h3 class="register">Offset 0x003C: CMI_CONTROL_STATUS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS_in')">(<span id="show_PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CMI_CONTROL_STATUS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x003C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x00003C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control CMI communication and delivers information on the CMI link status.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31r</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS|OTHER_SIDE_DETECTED"></a>OTHER_SIDE_DETECTED</span><span class="attr"> </span></p>
+ <p>1 if an upstream CMI device has been detected.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">30..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|CMI_CONTROL_STATUS|CMI_READY"></a>CMI_READY</span><span class="attr"> </span></p>
+ <p>Set if the device is ready to establish a PCI-Express link (affects CMI_CLP_READY bit).</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="PS_CPLD_BASE_REGMAP|PS_CONTROL_REGS"></a><h2 class="group">PS_CONTROL_REGS</h2>
+ Register Map to control MB CPLD functions.
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER"></a>
+
+<h3 class="register">Offset 0x0020: PL_DB_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|PL_DB_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|PL_DB_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|PL_DB_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">PL_DB_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0020</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Register to control the PL part DB SPI connection and reset generation.
+ The DB connection is clocked with PLL reference clock. Ensure this clock is stable
+ and enabled before starting any SPI request.
+ The PLL reference clock can be disabled if both DB connections are disabled or inactive.
+ To enable the DB connection, enable clock with one write access and release
+ reset with the next write access.
+ To disable the DB connection, assert reset with one write access and
+ disable clocks with the next write access.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..22</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">21w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ASSERT_RESET_DB1"></a>ASSERT_RESET_DB1</span><span class="attr"> </span></p>
+ <p>Writing with this flag set asserts reset for DB 1 (overrides <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|RELEASE_RESET_DB1">RELEASE_RESET_DB1</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">20w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ASSERT_RESET_DB0"></a>ASSERT_RESET_DB0</span><span class="attr"> </span></p>
+ <p>Writing with this flag set asserts reset for DB 0 (overrides <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|RELEASE_RESET_DB0">RELEASE_RESET_DB0</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">19..18</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">17w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|RELEASE_RESET_DB1"></a>RELEASE_RESET_DB1</span><span class="attr"> </span></p>
+ <p>Writing with this flag set releases DB 1 reset. (may be overwritten by <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ASSERT_RESET_DB1">ASSERT_RESET_DB1</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|RELEASE_RESET_DB0"></a>RELEASE_RESET_DB0</span><span class="attr"> </span></p>
+ <p>Writing with this flag set releases DB 0 reset. (may be overwritten by <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ASSERT_RESET_DB0">ASSERT_RESET_DB0</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">14w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DISABLE_PLL_REF_CLOCK"></a>DISABLE_PLL_REF_CLOCK</span><span class="attr"> </span></p>
+ <p>Writing with this flag set disables the PLL reference clock (overrides <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ENABLE_PLL_REF_CLOCK">ENABLE_PLL_REF_CLOCK</a>). Assert this flag to reconfigure the clock.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">13w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DISABLE_CLOCK_DB1"></a>DISABLE_CLOCK_DB1</span><span class="attr"> </span></p>
+ <p>Writing with this flag set disables DB 1 clock forwarding (overrides <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ENABLE_CLOCK_DB1">ENABLE_CLOCK_DB1</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">12w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DISABLE_CLOCK_DB0"></a>DISABLE_CLOCK_DB0</span><span class="attr"> </span></p>
+ <p>Writing with this flag set disables DB 0 clock forwarding (overrides <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ENABLE_CLOCK_DB0">ENABLE_CLOCK_DB0</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">10w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ENABLE_PLL_REF_CLOCK"></a>ENABLE_PLL_REF_CLOCK</span><span class="attr"> </span></p>
+ <p>Writing with this flag set enables the PLL reference clock. Assert this flag after PLL reference clock is stable. (may be overwritten by <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DISABLE_PLL_REF_CLOCK">DISABLE_PLL_REF_CLOCK</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ENABLE_CLOCK_DB1"></a>ENABLE_CLOCK_DB1</span><span class="attr"> </span></p>
+ <p>Writing with this flag set enables DB 1 clock forwarding. (may be overwritten by <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DISABLE_CLOCK_DB1">DISABLE_CLOCK_DB1</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8w</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|ENABLE_CLOCK_DB0"></a>ENABLE_CLOCK_DB0</span><span class="attr"> </span></p>
+ <p>Writing with this flag set enables DB 0 clock forwarding. (may be overwritten by <a href="#PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DISABLE_CLOCK_DB0">DISABLE_CLOCK_DB0</a>)</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..6</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5r</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DB1_RESET_ASSERTED"></a>DB1_RESET_ASSERTED</span><span class="attr"> </span></p>
+ <p>Indicates that reset is asserted for DB 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4r</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DB0_RESET_ASSERTED"></a>DB0_RESET_ASSERTED</span><span class="attr"> </span></p>
+ <p>Indicates that reset is asserted for DB 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">2r</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|PLL_REF_CLOCK_ENABLED"></a>PLL_REF_CLOCK_ENABLED</span><span class="attr"> </span></p>
+ <p>Indicates if the PLL reference clock for the PL interface is enabled.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1r</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DB1_CLOCK_ENABLED"></a>DB1_CLOCK_ENABLED</span><span class="attr"> </span></p>
+ <p>Indicates if a clock is forwarded to DB 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0r</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|PL_DB_REGISTER|DB0_CLOCK_ENABLED"></a>DB0_CLOCK_ENABLED</span><span class="attr"> </span></p>
+ <p>Indicates if a clock is forwarded to DB 0.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="PS_CPLD_BASE_REGMAP|PS_CPLD_BASE_REGS"></a><h2 class="group">PS_CPLD_BASE_REGS</h2>
+ Basic registers containing version and capabilites information.
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER"></a>
+
+<h3 class="register">Offset 0x0000: SIGNATURE_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SIGNATURE_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Contains the product's signature.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|SIGNATURE_REGISTER|PRODUCT_SIGNATURE"></a>PRODUCT_SIGNATURE</span><span class="attr"> </span></p>
+ <p>Fixed value PS_CPLD_SIGNATURE of <a href="#CONSTANTS_REGMAP">CONSTANTS_REGMAP</a></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|REVISION_REGISTER"></a>
+
+<h3 class="register">Offset 0x0004: REVISION_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|REVISION_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|REVISION_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|REVISION_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">REVISION_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Contains the CPLD revision (see CPLD_REVISION of <a href="#CONSTANTS_REGMAP">CONSTANTS_REGMAP</a>).
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_YY"></a>REVISION_YY</span><span class="attr"> </span></p>
+ <p>Contains revision year code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_MM"></a>REVISION_MM</span><span class="attr"> </span></p>
+ <p>Contains revision month code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_DD"></a>REVISION_DD</span><span class="attr"> </span></p>
+ <p>Contains revision day code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|REVISION_REGISTER|REVISION_HH"></a>REVISION_HH</span><span class="attr"> </span></p>
+ <p>Contains revision hour code.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER"></a>
+
+<h3 class="register">Offset 0x0008: OLDEST_COMPATIBLE_REVISION_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">OLDEST_COMPATIBLE_REVISION_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+This register returns (in YYMMDDHH format) the oldest revision
+ that is still compatible with this one. Compatible means that
+ registers or register bits may have been added, but not
+ modified or deleted (see OLDEST_CPLD_REVISION of <a href="#CONSTANTS_REGMAP">CONSTANTS_REGMAP</a>).
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_YY"></a>OLD_REVISION_YY</span><span class="attr"> </span></p>
+ <p>Contains revision year code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_MM"></a>OLD_REVISION_MM</span><span class="attr"> </span></p>
+ <p>Contains revision month code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_DD"></a>OLD_REVISION_DD</span><span class="attr"> </span></p>
+ <p>Contains revision day code.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|OLDEST_COMPATIBLE_REVISION_REGISTER|OLD_REVISION_HH"></a>OLD_REVISION_HH</span><span class="attr"> </span></p>
+ <p>Contains revision hour code.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|SCRATCH_REGISTER"></a>
+
+<h3 class="register">Offset 0x000C: SCRATCH_REGISTER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|SCRATCH_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|SCRATCH_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|SCRATCH_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SCRATCH_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x00000C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Read/write register for general software use.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER"></a>
+
+<h3 class="register">Offset 0x0010: GIT_HASH_REGISTER Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER_in')">(<span id="show_PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|PS_REGISTERS">MB_CPLD_PS_REGMAP|PS_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GIT_HASH_REGISTER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_cpld_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Git hash of commit used to build this image.<br>
+ Value equals 0xDEADBEEF if the git hash was not used during synthesis.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..28</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER|GIT_CLEAN"></a>GIT_CLEAN</span><span class="attr"> </span></p>
+ <p>0x0 in case the git status was clean<br>
+ 0xF in case there were uncommitted changes</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..0</td>
+ <td>
+ <p><span class="name"><a name="PS_CPLD_BASE_REGMAP|GIT_HASH_REGISTER|GIT_HASH"></a>GIT_HASH</span><span class="attr"> </span></p>
+ <p>7 hex digit hash code of the commit</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="PS_POWER_REGMAP"></a>
+ <h1 class="regmap">PS_POWER_REGMAP</h1>
+
+ <div class="group"><a name="PS_POWER_REGMAP|PS_POWER_REGS"></a><h2 class="group">PS_POWER_REGS</h2>
+ Registers to control power supplies on the motherboard.
+ <div class="register">
+ <a name="PS_POWER_REGMAP|IPASS_POWER_REG"></a>
+
+<h3 class="register">Offset 0x0000: IPASS_POWER_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_POWER_REGMAP|IPASS_POWER_REG_in')">(<span id="show_PS_POWER_REGMAP|IPASS_POWER_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_POWER_REGMAP|IPASS_POWER_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|POWER_REGISTERS">MB_CPLD_PS_REGMAP|POWER_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">IPASS_POWER_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000060
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_power_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Controls the power supplies for the iPass connectors.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31r</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_POWER_FAULT1"></a>IPASS_POWER_FAULT1</span><span class="attr"> </span></p>
+ <p>Asserted signal indicates a power fault in power switch for iPass
+ connector 1. Sticky bit. Asserted on occurrence. Reset using
+ <a href="#PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_CLEAR_POWER_FAULT1">IPASS_CLEAR_POWER_FAULT1</a>.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">31w</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_CLEAR_POWER_FAULT1"></a>IPASS_CLEAR_POWER_FAULT1</span><span class="attr"> </span></p>
+ <p>Clear <a href="#PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_POWER_FAULT1">IPASS_POWER_FAULT1</a>.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">30r</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_POWER_FAULT0"></a>IPASS_POWER_FAULT0</span><span class="attr"> </span></p>
+ <p>Asserted signal indicates a power fault in power switch for iPass
+ connector 0. Sticky bit. Asserted on occurrence. Reset using
+ <a href="#PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_CLEAR_POWER_FAULT0">IPASS_CLEAR_POWER_FAULT0</a>.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">30w</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_CLEAR_POWER_FAULT0"></a>IPASS_CLEAR_POWER_FAULT0</span><span class="attr"> </span></p>
+ <p>Clear <a href="#PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_POWER_FAULT0">IPASS_POWER_FAULT0</a>.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">29..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|IPASS_POWER_REG|IPASS_DISABLE_POWER_BIT"></a>IPASS_DISABLE_POWER_BIT</span><span class="attr"> </span></p>
+ <p>Set to 1 to disable power for both iPass connectors.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="PS_POWER_REGMAP|OSC_POWER_REG"></a>
+
+<h3 class="register">Offset 0x0004: OSC_POWER_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('PS_POWER_REGMAP|OSC_POWER_REG_in')">(<span id="show_PS_POWER_REGMAP|OSC_POWER_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_PS_POWER_REGMAP|OSC_POWER_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|POWER_REGISTERS">MB_CPLD_PS_REGMAP|POWER_REGISTERS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000060</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">OSC_POWER_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000064
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ps_power_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Controls the power supplies for the oscillators.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..2</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|OSC_POWER_REG|OSC_122_88"></a>OSC_122_88</span><span class="attr"> </span></p>
+ <p>Enables 5V power switch for the 122.88 MHz oscillator.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="PS_POWER_REGMAP|OSC_POWER_REG|OSC_100"></a>OSC_100</span><span class="attr"> </span></p>
+ <p>Enables 5V power switch for the 100 MHz oscillator.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="QSFP_REGMAP"></a>
+ <h1 class="regmap">QSFP_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="QSFP_REGMAP|QSFP_WINDOWS"></a><h2 class="group">QSFP_WINDOWS</h2>
+ <div class="xmlpmd">
+<p>Register space for a single QSFP Communication port. This currently breaks into 2 possible configurations</p>
+<ul>
+<li>1X10GB Ethernet - Using OpenCore XGE MAC</li>
+<li>1x100GB Ethernet - Using Xilinx CMAC</li>
+<li>(future possible) - Xilinx Aurora (various rates and lane widths)</li>
+<li>(future possible) - 4X10GB Ethernet</li>
+</ul></div>
+ <div class="register">
+ <a name="QSFP_REGMAP|ETH_DMA"></a>
+
+<h3 class="register">Offset 0x0000: ETH_DMA Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#DMA_REGMAP">DMA_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('QSFP_REGMAP|ETH_DMA_in')">(<span id="show_QSFP_REGMAP|ETH_DMA_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_QSFP_REGMAP|ETH_DMA_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">ETH_DMA</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x4000 (16 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200000000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200010000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200020000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200030000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200040000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200050000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200060000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200070000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="QSFP_REGMAP|NIXGE"></a>
+
+<h3 class="register">Offset 0x8000: NIXGE Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#NIXGE_REGMAP">NIXGE_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('QSFP_REGMAP|NIXGE_in')">(<span id="show_QSFP_REGMAP|NIXGE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_QSFP_REGMAP|NIXGE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">NIXGE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x8000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x2000 (8 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200008000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200018000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200028000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200038000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200048000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200058000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200068000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1200078000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="QSFP_REGMAP|UIO"></a>
+
+<h3 class="register">Offset 0xA000: UIO Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#UIO_REGMAP">UIO_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('QSFP_REGMAP|UIO_in')">(<span id="show_QSFP_REGMAP|UIO_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_QSFP_REGMAP|UIO_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">UIO</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0xA000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x2000 (8 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="QSFP_REGMAP|CMAC"></a>
+
+<h3 class="register">Offset 0xC000: CMAC Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#CMAC_REGMAP">CMAC_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('QSFP_REGMAP|CMAC_in')">(<span id="show_QSFP_REGMAP|CMAC_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_QSFP_REGMAP|CMAC_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CMAC</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0xC000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x2000 (8 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007C000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="RADIO_CTRLPORT_REGMAP"></a>
+ <h1 class="regmap">RADIO_CTRLPORT_REGMAP</h1>
+
+ <div class="group"><a name="RADIO_CTRLPORT_REGMAP|RADIO_CTRLPORT_WINDOWS"></a><h2 class="group">RADIO_CTRLPORT_WINDOWS</h2>
+ Each radio's CtrlPort peripheral interface is divided into the
+ following memory spaces. Note that the CtrlPort peripheral interface
+ starts at offset 0x80000 in the RFNoC Radio block's register space.
+ <div class="register">
+ <a name="RADIO_CTRLPORT_REGMAP|DB_WINDOW"></a>
+
+<h3 class="register">Offset 0x0000: DB_WINDOW Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RADIO_CTRLPORT_REGMAP|DB_WINDOW_in')">(<span id="show_RADIO_CTRLPORT_REGMAP|DB_WINDOW_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RADIO_CTRLPORT_REGMAP|DB_WINDOW_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">DB_WINDOW</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x8000 (32 Kbytes)</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file rfdc_timing_control.v.</p>
+
+</div>
+
+<div class="info">
+
+Daughterboard GPIO interface. Register access within this space
+ is directed to the associated daughterboard CPLD.
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW"></a>
+
+<h3 class="register">Offset 0x8000: RFDC_TIMING_WINDOW Window (R|W)</h3>
+<p class="offset_info">&nbsp;&nbsp;Target regmap = <a href="#RFDC_TIMING_REGMAP">RFDC_TIMING_REGMAP</a></p>
+ <a class="sh_addrs" href="javascript:sa('RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW_in')">(<span id="show_RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RFDC_TIMING_WINDOW</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x8000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x8000 (32 Kbytes)</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file rfdc_timing_control.v.</p>
+
+</div>
+
+<div class="info">
+
+RFDC timing control interface.
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="RECONFIG_REGMAP"></a>
+ <h1 class="regmap">RECONFIG_REGMAP</h1>
+
+ <div class="group"><a name="RECONFIG_REGMAP|RECONFIG_REGS"></a><h2 class="group">RECONFIG_REGS</h2>
+ These registers are used to upload and verify a new primary image to the
+ Max 10 FPGA on-chip flash when configured to support dual configuration
+ images. The steps below outline the process of verifying/preparing the
+ new image to be written, erasing the current image, writing the new
+ image, and verifying the new image was successfully written.
+ <p><b>Prepare the data...</b>
+ <ol><li><p>The Max 10 FPGA build should generate a *cfm0_auto.rpd
+ file The *.rpd file is a "raw programming
+ data" file holding all data related to the
+ configuration image (CFM0). There are two
+ important items to note regarding the addresses.
+ First the *rpd data uses <b>byte</b> addresses.
+ Second, the start/end addresses defined by
+ FLASH_PRIMARY_IMAGE_ADDR_ENUM are 32-bit word addresses</p></li>
+ <li><p>As a sanity check, verify the size of the raw
+ programming data for CFM0 correspond to the address
+ range of FLASH_PRIMARY_IMAGE_ADDR_ENUM. Do this by
+ reading the values from FLASH_CFM0_START_ADDR_REG and
+ FLASH_CFM0_END_ADDR, subtract both values, add one and
+ multiply by four.
+ </p></li>
+ <li><p>Having passed the sanity check the *.rpd data must
+ now be manipulated into the form required by Altera's
+ on-chip flash IP. Two operations must be performed.
+ First the data must be converted from bytes to 32-bit
+ words. Second the bit order must be reversed. This is
+ illustrated in in the following table which shows byte
+ address and data from the *.rpd file compared to the
+ word address and data to be written to the on-chip
+ flash.
+ <table border=1>
+ <tr><td>.Map Addr</td><td>.Map Data</td><td>Flash Addr</td><td>Flash Data</td></tr>
+ <tr><td>0x2B800</td><td>0x01</td><td rowspan=4>0xAC00</td><td rowspan=4>0x8040C020</td></tr>
+ <tr><td>0x2B801</td><td>0x02</td></tr>
+ <tr><td>0x2B802</td><td>0x03</td></tr>
+ <tr><td>0x2B803</td><td>0x04</td></tr>
+ <tr><td>0x2B804</td><td>0x05</td><td rowspan=4>0xAC01</td><td rowspan=4>0xA060E010</td></tr>
+ <tr><td>0x2B805</td><td>0x06</td></tr>
+ <tr><td>0x2B806</td><td>0x07</td></tr>
+ <tr><td>0x2B807</td><td>0x08</td></tr>
+ </table>
+ </p></li>
+ <li><p>The resulting set of flash address data pairs should
+ be used when writing FLASH_ADDR_REG and
+ FLASH_WRITE_DATA_REG to update the CFM0 image.
+ However, prior to writing the new image the old image
+ must be erased.
+ </p></li>
+ </ol>
+ </p>
+ <p><b>Erase the current primary flash image...</b>
+ <ol><p><li>Read FLASH_STATUS_REG and verify no error bits are
+ asserted and that all read, write, and erase operations
+ are idle.</p></li>
+ <p><li>Disable write protection of the flash by strobing the
+ FLASH_DISABLE_WP_STB bit of FLASH_CONTROL_REG.
+ </p></li>
+ <p><li>Verify write protection is disabled and no errors are
+ present by reading FLASH_STATUS_REG.</p></li>
+ <p><li>Initiate the erase operation by setting
+ <a href="#RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_ERASE_SECTOR">FLASH_ERASE_SECTOR</a> and strobing FLASH_ERASE_STB of
+ FLASH_CONTROL_REG.</p></li>
+ <p><li>Poll the FLASH_ERASE_IDLE bit of
+ FLASH_STATUS_REG until it de-asserts indicating the
+ erase operation is complete, then verify the operation
+ was successful by checking that the FLASH_ERASE_ERR
+ bit is de-asserted. Erase operations are expected to
+ take a maximum of 350 msec. Upon completion of the erase
+ operation write protection will remain disabled.
+ </p></li>
+ <p><li>Erase additional sectors as required (see
+ <a href="#RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_ERASE_SECTOR">FLASH_ERASE_SECTOR</a> for details) by restarting with first
+ step.</p></li>
+ </ol>
+ </p>
+ <p><b>Write the new primary flash image...</b>
+ <ol><p><li>Read FLASH_STATUS_REG and verify no error bits are
+ asserted, all read, write, and erase operations are
+ idle, and write protection is disabled.</li>
+ <p><li>Set the target address for the write to the Max 10
+ on-chip flash by writing value from
+ FLASH_CFM0_START_ADDR_REG to FLASH_ADDR_REG.</li></p>
+ <p><li>Set the data to be written to this address by writing
+ the new 32-bit word of the new image to
+ FLASH_WRITE_DATA_REG.</li></p>
+ <p><li>Initiate the write by strobing FLASH_WRITE_STB of
+ FLASH_CONTROL_REG.</li></p>
+ <p><li>Poll the FLASH_WRITE_IDLE bit of
+ FLASH_STATUS_REG until it de-asserts indicating the
+ write operation is complete, then verify the operation
+ was successful by checking that the FLASH_WRITE_ERR
+ bit is de-asserted. Write operations are expected to
+ take a maximum of 550 usec.</li></p>
+ <p><li>Upon completion of the write operation return to step
+ 2, incrementing the target address by one, and writing
+ the next 32-bit word to Max10FlashWriteDatReg. If this
+ was the last write, indicated by writing to
+ FLASH_PRIMARY_IMAGE_END_ADDR, proceed to the next step
+ to enable write protection.</li></p>
+ <p><li>After writing the new image enable write protection
+ by strobing the FLASH_ENABLE_WP_STB bit of
+ FLASH_CONTROL_REG.</li></p>
+ </ol>
+ </p>
+ <p><b>Verify the new primary flash image...</b>
+ <ol><p><li>Read FLASH_STATUS_REG and verify no error bits are
+ asserted and that all read, write, and erase operations
+ are idle.</li></p>
+ <p><li>Set the target address for the read in the Max 10
+ on-chip flash by writing value from
+ FLASH_CFM0_START_ADDR_REG to FLASH_ADDR_REG.</li></p>
+ <p><li>Initiate the read by strobing FLASH_READ_STB of
+ FLASH_CONTROL_REG.</li></p>
+ <p><li>Poll the FLASH_READ_IDLE bit of
+ FLASH_STATUS_REG until it de-asserts indicating the
+ read operation is complete, then verify the operation
+ was successful by checking that the FLASH_READ_ERR
+ bit is de-asserted. There is no guidance on exactly how
+ long reads take to complete, but they are expected to be
+ fairly quick. A very conservative timeout on this
+ polling would be similar to that used for write
+ operations.</li></p>
+ <p><li>Upon completion of the read operation the resulting
+ data returned by the on-chip flash will be available in
+ Max10FlashReadDatReg. Read this register, compare to
+ expected value previously written, and ensure they
+ match.</li></p>
+ <p><li>Return to step 2, incrementing the target
+ address by one. If this was the last read verification
+ is complete and no further action is required.</li></p>
+ </ol>
+ </p>
+ <p>After the flash has been erased, programmed, and verified, a power
+ cycle is required for the new image to become active.
+ </p>
+ <div class="enum">
+ <a name="RECONFIG_REGMAP|FLASH_PRIMARY_IMAGE_ADDR_ENUM"></a>
+
+<h3 class="enum">FLASH_PRIMARY_IMAGE_ADDR_ENUM Enumeration</h3>
+Those values are the start and end address of the CFM image flash
+ sector from Intel's On-Chip Flash IP Generator. Note that the values
+ given in the IP generator are byte based where the values of this enum
+ are U32 based (divided by 4).
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>4096</td>
+
+ <td class='l'>0x01000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RECONFIG_REGMAP|FLASH_PRIMARY_IMAGE_ADDR_ENUM|FLASH_PRIMARY_IMAGE_START_ADDR_MEM_INIT'></a>FLASH_PRIMARY_IMAGE_START_ADDR_MEM_INIT</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>39936</td>
+
+ <td class='l'>0x09C00</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RECONFIG_REGMAP|FLASH_PRIMARY_IMAGE_ADDR_ENUM|FLASH_PRIMARY_IMAGE_START_ADDR'></a>FLASH_PRIMARY_IMAGE_START_ADDR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>75775</td>
+
+ <td class='l'>0x127FF</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RECONFIG_REGMAP|FLASH_PRIMARY_IMAGE_ADDR_ENUM|FLASH_PRIMARY_IMAGE_END_ADDR'></a>FLASH_PRIMARY_IMAGE_END_ADDR</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file reconfig_engine.v.
+ </p>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x0000: FLASH_STATUS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_STATUS_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000040
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..17</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_MEM_INIT_ENABLED"></a>FLASH_MEM_INIT_ENABLED</span><span class="attr"> </span></p>
+ <p>This bit is asserted when the flash can hold an image with memory
+ initialization.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..14</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">13</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_WRITE_ERR"></a>FLASH_WRITE_ERR</span><span class="attr"> </span></p>
+ <p>This bit is asserted when write operation fails. Clear this error
+ by strobing the CLEAR_FLASH_WRITE_ERROR_STB bit of this register. In
+ the event of a write error...
+ <li><b>the primary configuration image may be corrupted,</b> and
+ power cycling the board may result unknown behavior.</li>
+ <li>write protection of the flash will automatically be
+ re-enabled.</li>
+ <li>attempts to disable write protection will be ignored.</li>
+ <li>attempts to read/write/erase the flash will be ignored.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">12</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_WRITE_IDLE"></a>FLASH_WRITE_IDLE</span><span class="attr"> </span></p>
+ <p>This bit is de-asserted when a write operation is in progress. Poll
+ this bit after strobing the FLASH_WRITE_STB bit of
+ FLASH_CONTROL_REG to determine when the write operation has
+ completed, then check the FLASH_WRITE_ERR bit to verify the
+ operation was successful.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..10</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_ERASE_ERR"></a>FLASH_ERASE_ERR</span><span class="attr"> </span></p>
+ <p>This bit is asserted when an erase operation fails. Clear this
+ error by strobing CLEAR_FLASH_ERASE_ERROR_STB of this register. In
+ the event of an erase error...
+ <li><b>the primary configuration image may be corrupted,</b> and
+ power cycling the board may result in unknown behavior.</li>
+ <li>write protection of the flash will automatically be
+ re-enabled.</li>
+ <li>attempts to disable write protection will be ignored.</li>
+ <li>attempts to read/write/erase the flash will be ignored.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_ERASE_IDLE"></a>FLASH_ERASE_IDLE</span><span class="attr"> </span></p>
+ <p>This bit is de-asserted when an erase operation is in progress. Poll
+ this bit after strobing the FLASH_ERASE_STB bit of
+ FLASH_CONTROL_REG to determine when the erase operation has
+ completed, then check the FLASH_ERASE_ERR bit to verify the
+ operation was successful.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..6</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_READ_ERR"></a>FLASH_READ_ERR</span><span class="attr"> </span></p>
+ <p>This bit is asserted when a read operation fails. Clear this error
+ by strobing the CLEAR_FLASH_READ_ERROR_STB of this register. In the
+ event of a read error...
+ <li>the data in FLASH_READ_DATA_REG is invalid.</li>
+ <li>attempts to disable write protection will be ignored.</li>
+ <li>attempts to read/write/erase the flash will be ignored.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_READ_IDLE"></a>FLASH_READ_IDLE</span><span class="attr"> </span></p>
+ <p>This bit is de-asserted when a read operation is in progress. Poll
+ this bit after strobing the FLASH_READ_STB bit of
+ FLASH_CONTROL_REG to determine when the read operation has
+ completed, then check the FLASH_READ_ERR bit to verify the
+ operation was successful.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_WP_ENABLED"></a>FLASH_WP_ENABLED</span><span class="attr"> </span></p>
+ <p>This bit is asserted when the flash is write protected and
+ de-asserted when write protection is disabled.
+ <li>Write protection must be enabled prior to performing read
+ operations.</li>
+ <li>Write protection must be disabled prior to performing write and
+ erase operations.</li></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_CONTROL_REG"></a>
+
+<h3 class="register">Offset 0x0004: FLASH_CONTROL_REG Register (W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_CONTROL_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_CONTROL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_CONTROL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_CONTROL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000044
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..11</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">10w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|CLEAR_FLASH_ERASE_ERROR_STB"></a>CLEAR_FLASH_ERASE_ERROR_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to clear an erase error.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|CLEAR_FLASH_WRITE_ERROR_STB"></a>CLEAR_FLASH_WRITE_ERROR_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to clear a write error.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|CLEAR_FLASH_READ_ERROR_STB"></a>CLEAR_FLASH_READ_ERROR_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to clear a read error.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..5w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_ERASE_SECTOR"></a>FLASH_ERASE_SECTOR</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Defines the sector to be erased. Has to be set latest with the
+ write access which starts the erase operation by strobing
+ <a href="#RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_ERASE_STB">FLASH_ERASE_STB</a>.<br>
+ If the flash is configured to support memory initialization (see
+ <a href="#RECONFIG_REGMAP|FLASH_STATUS_REG|FLASH_MEM_INIT_ENABLED">FLASH_MEM_INIT_ENABLED</a> flag) the sectors 2 to 4 have to be erased.
+ If the flag is not asserted only sector 4 has to be erased.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_ERASE_STB"></a>FLASH_ERASE_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to erase the primary Max10 configuration image
+ (CFM0).
+ <li>Prior to strobing this bit verify no other write or erase
+ operations are in progress, write protection is disabled, and no
+ error bits are asserted by reading FLASH_STATUS_REG.</li>
+ <li>Attempts to erase the primary image while other write or erase
+ operations are in progress will be ignored.
+ <li>Attempts to erase the primary image when write protection is
+ enabled will be ignored.</li>
+ <li>Strobing this bit and FLASH_WRITE_STB simultaneously will
+ result both the erase and the write operation being ignored, both
+ corresponding error bits being set, and write protection being
+ re-enabled.</li>
+ <li>After strobing this bit poll the FLASH_ERASE_IDLE and
+ FLASH_ERASE_ERR bits of FLASH_STATUS_REG to determine when
+ the erase operation is complete and if it was successful.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_WRITE_STB"></a>FLASH_WRITE_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to write the data contained in
+ FLASH_WRITE_DATA_REG to the flash address identified in
+ FLASH_ADDR_REG.
+ <li>The flash must be erased before writing new data.</li>
+ <li>Prior to strobing this bit verify write protection is
+ disabled, no other write or erase operations are in progress, and
+ no error bits are asserted by reading FLASH_STATUS_REG.</li>
+ <li>Attempts to write data while other write or erase operations
+ are in progress will be ignored.</li>
+ <li>Attempts to write data with write protection enabled will be
+ ignored.</li>
+ <li>Strobing this bit and FLASH_ERASE_STB simultaneously will
+ result in both the write and erase operation being ignored,
+ both corresponding error bits being set, and write protection
+ being re-enabled.</li>
+ <li>After strobing this bit poll theMax10FlashWriteIdle and
+ FLASH_WRITE_ERR bits of FLASH_STATUS_REG to determine when
+ the write operation is complete and if it was successful.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">2w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_READ_STB"></a>FLASH_READ_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to read data from the flash address identified in
+ FLASH_ADDR_REG.
+ <li>Prior to strobing this bit verify no read, write, or erase
+ operations are in progress, no error bits are asserted, and
+ write protection is enabled by reading FLASH_STATUS_REG.</li>
+ <li>Attempts to read data while other operations are in progress
+ or while write protection is disabled will be ignored.</li>
+ <li>After strobing this bit poll the FLASH_READ_IDLE and
+ FLASH_READ_ERR bits of FLASH_STATUS_REG to determine when
+ the read operation is complete and if it was successful.</li>
+ <li>Upon successful completion the data read from flash will be
+ available in FLASH_READ_DATA_REG.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_DISABLE_WP_STB"></a>FLASH_DISABLE_WP_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to disable write protection to the section of the
+ Max 10 on-chip flash storing the primary configuration image
+ (CFM0).
+ <li>Read the FLASH_WP_ENABLED bit of FLASH_STATUS_REG to
+ determine the current state of write protection.</li>
+ <li>Prior to strobing this bit verify no read operations are in
+ progress and no error bits are asserted by reading
+ FLASH_STATUS_REG.</li>
+ <li>Attempts to disable write protection while a read is in
+ progress will be ignored.</li>
+ <li>Attempts to disable write protection will be ignored if
+ this bit is strobed simultaneously with either FLASH_READ_STB
+ or FLASH_ENABLE_WP_STB.</li>
+ <li>Write protection must be disabled prior to performing erase or
+ write operations.</li>
+ <li>Upon completion of erase/write operations write protection
+ will remain disabled. When not actively erasing or writing a new
+ image write protection should be enabled to avoid data
+ corruption.</li></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CONTROL_REG|FLASH_ENABLE_WP_STB"></a>FLASH_ENABLE_WP_STB</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Strobe this bit to enable write protection to the section of the
+ Max 10 on-chip flash storing the primary configuration image
+ (CFM0).
+ <li>Read the FLASH_WP_ENABLED bit of FLASH_STATUS_REG to
+ determine the current state of write protection.</li>
+ <li>Prior to strobing this bit verify no write or erase operations
+ are in progress and no error bits are asserted by reading
+ FLASH_STATUS_REG.</li>
+ <li>Attempts to enable write protection while erase or write
+ operations are in progress will be ignored.</li>
+ <li>Write protection must be enabled prior to performing
+ read operations.</li>
+ <li>Write protection should be enabled after completing
+ write or erase operations to prevent data corruption.</li></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_ADDR_REG"></a>
+
+<h3 class="register">Offset 0x0008: FLASH_ADDR_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_ADDR_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_ADDR_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_ADDR_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_ADDR_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000048
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..17</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16..0</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_ADDR_REG|FLASH_ADDR"></a>FLASH_ADDR</span><span class="attr"> </span></p>
+ <p>This field holds the target address for the next read or
+ write operation. Set this field prior to strobing the
+ FLASH_WRITE_STB and FLASH_READ_STB bits of
+ FLASH_CONTROL_REG. Valid addresses are defined by the
+ FLASH_PRIMARY_IMAGE_ADDR_ENUM enumeration.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_WRITE_DATA_REG"></a>
+
+<h3 class="register">Offset 0x000C: FLASH_WRITE_DATA_REG Register (W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_WRITE_DATA_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_WRITE_DATA_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_WRITE_DATA_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_WRITE_DATA_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x00004C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0w</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_WRITE_DATA_REG|FLASH_WRITE_DATA"></a>FLASH_WRITE_DATA</span><span class="attr"> </span></p>
+ <p>Data in this register will be written to the flash at the address
+ identified in FLASH_ADDR_REG when a successful write operation
+ is executed.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_READ_DATA_REG"></a>
+
+<h3 class="register">Offset 0x0010: FLASH_READ_DATA_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_READ_DATA_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_READ_DATA_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_READ_DATA_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_READ_DATA_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000050
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_READ_DATA_REG|FLASH_READ_DATA"></a>FLASH_READ_DATA</span><span class="attr"> </span></p>
+ <p>This register contains data read from the flash address identified
+ in FLASH_ADDR_REG after a successful read operation is executed.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG"></a>
+
+<h3 class="register">Offset 0x0014: FLASH_CFM0_START_ADDR_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_CFM0_START_ADDR_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0014</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000054
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CFM0_START_ADDR_REG|FLASH_CFM0_START_ADDR"></a>FLASH_CFM0_START_ADDR</span><span class="attr"> </span></p>
+ <p>Start address of CFM0 image within flash memory (as defined in FLASH_PRIMARY_IMAGE_ADDR_ENUM).</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG"></a>
+
+<h3 class="register">Offset 0x0018: FLASH_CFM0_END_ADDR_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG_in')">(<span id="show_RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_SPI1_CS3">ARM_SPI1_CS3</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#MB_CPLD_PS_REGMAP|RECONFIG">MB_CPLD_PS_REGMAP|RECONFIG</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000040</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FLASH_CFM0_END_ADDR_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0018</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x000058
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file reconfig_engine.v.</p>
+
+</div>
+
+<div class="info">
+
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..0</td>
+ <td>
+ <p><span class="name"><a name="RECONFIG_REGMAP|FLASH_CFM0_END_ADDR_REG|FLASH_CFM0_END_ADDR"></a>FLASH_CFM0_END_ADDR</span><span class="attr"> </span></p>
+ <p>Last address of CFM0 image within flash memory (as defined in FLASH_PRIMARY_IMAGE_ADDR_ENUM).</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="RFDC_REGS_REGMAP"></a>
+ <h1 class="regmap">RFDC_REGS_REGMAP</h1>
+
+ <div class="group"><a name="RFDC_REGS_REGMAP|RFDC_REGS"></a><h2 class="group">RFDC_REGS</h2>
+ These are the registers located within the RFDC block design
+ that provide control and status support for the RF chain.
+ <div class="enum">
+ <a name="RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM"></a>
+
+<h3 class="enum">FABRIC_DSP_BW_ENUM Enumeration</h3>
+
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_NONE'></a>FABRIC_DSP_BW_NONE</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>100</td>
+
+ <td class='l'>0x064</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_100M'></a>FABRIC_DSP_BW_100M</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>200</td>
+
+ <td class='l'>0x0C8</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_200M'></a>FABRIC_DSP_BW_200M</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>400</td>
+
+ <td class='l'>0x190</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_400M'></a>FABRIC_DSP_BW_400M</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|MMCM"></a>
+
+<h3 class="register">Offset 0x0000: MMCM Window (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|MMCM_in')">(<span id="show_RFDC_REGS_REGMAP|MMCM_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|MMCM_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MMCM</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;size=0x10000 (64 Kbytes)</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000140000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">This window is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Register space for controlling the data clock MMCM instance
+ within the RFDC block design.
+ Refer to Xilinx' Clocking Wizard v6.0 Product Guide for the
+ regiter space description in chapter 2.
+ (https://www.xilinx.com/support/documentation/ip_documentation/clk_wiz/v6_0/pg065-clk-wiz.pdf)
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|INVERT_IQ_REG"></a>
+
+<h3 class="register">Offset 0x10000: INVERT_IQ_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|INVERT_IQ_REG_in')">(<span id="show_RFDC_REGS_REGMAP|INVERT_IQ_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|INVERT_IQ_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">INVERT_IQ_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x10000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000150000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control register for inverting I/Q data.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_DAC3_IQ"></a>INVERT_DB1_DAC3_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">14</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_DAC2_IQ"></a>INVERT_DB1_DAC2_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">13</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_DAC1_IQ"></a>INVERT_DB1_DAC1_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">12</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_DAC0_IQ"></a>INVERT_DB1_DAC0_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_DAC3_IQ"></a>INVERT_DB0_DAC3_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">10</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_DAC2_IQ"></a>INVERT_DB0_DAC2_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_DAC1_IQ"></a>INVERT_DB0_DAC1_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_DAC0_IQ"></a>INVERT_DB0_DAC0_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_ADC3_IQ"></a>INVERT_DB1_ADC3_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">6</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_ADC2_IQ"></a>INVERT_DB1_ADC2_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_ADC1_IQ"></a>INVERT_DB1_ADC1_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB1_ADC0_IQ"></a>INVERT_DB1_ADC0_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_ADC3_IQ"></a>INVERT_DB0_ADC3_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">2</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_ADC2_IQ"></a>INVERT_DB0_ADC2_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_ADC1_IQ"></a>INVERT_DB0_ADC1_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|INVERT_IQ_REG|INVERT_DB0_ADC0_IQ"></a>INVERT_DB0_ADC0_IQ</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|MMCM_RESET_REG"></a>
+
+<h3 class="register">Offset 0x11000: MMCM_RESET_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|MMCM_RESET_REG_in')">(<span id="show_RFDC_REGS_REGMAP|MMCM_RESET_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|MMCM_RESET_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">MMCM_RESET_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x11000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000151000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control register for resetting the data clock MMCM.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|MMCM_RESET_REG|RESET_MMCM"></a>RESET_MMCM</span><span class="attr"> </span></p>
+ <p>Write a '1' to this bit to reset the MMCM. Then write a
+ '0' to place the MMCM out of reset.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG"></a>
+
+<h3 class="register">Offset 0x12000: RF_RESET_CONTROL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG_in')">(<span id="show_RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RF_RESET_CONTROL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x12000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000152000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Control register for the RF reset controller.
+ Verify the FSM ID before polling starting any reset sequence.
+ To use the SW reset triggers: Wait until DB*_DONE is de-asserted.
+ Assert either the *_RESET or *_ENABLE bitfields.
+ Wait until DB*_DONE is asserted to release the trigger.
+ The DB*_DONE signal should then de-assert.<BR/>
+ <b>Note: The *_DB1 constants are not used in the HDL, their purpose is
+ merely for documentation.</b>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..10</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG|DAC_ENABLE"></a>DAC_ENABLE</span><span class="attr"> </span></p>
+ <p>Write a '1' to this bit to trigger the enable sequence for
+ the daughterboard 0 DAC chain. Write a '0' once
+ db0_dac_seq_done is asserted.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG|DAC_RESET"></a>DAC_RESET</span><span class="attr"> </span></p>
+ <p>Write a '1' to this bit to trigger a reset for the
+ daughterboard 0 DAC chain. Write a '0' once db0_dac_seq_done
+ is asserted.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..6</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG|ADC_ENABLE"></a>ADC_ENABLE</span><span class="attr"> </span></p>
+ <p>Write a '1' to this bit to trigger the enable sequence for
+ the daughterboard 0 ADC chain. Write a '0' once
+ db0_adc_seq_done is asserted.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG|ADC_RESET"></a>ADC_RESET</span><span class="attr"> </span></p>
+ <p>Write a '1' to this bit to trigger a reset for the
+ daughterboard 0 ADC chain. Write a '0' once db0_adc_seq_done
+ is asserted.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_CONTROL_REG|FSM_RESET"></a>FSM_RESET</span><span class="attr"> </span></p>
+ <p>Write a '1' to this bit to reset the RF reset controller.
+ Write a '0' once db0_fsm_reset_done asserts.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|RF_RESET_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x12008: RF_RESET_STATUS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|RF_RESET_STATUS_REG_in')">(<span id="show_RFDC_REGS_REGMAP|RF_RESET_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|RF_RESET_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RF_RESET_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x12008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000152008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Status register for the RF reset controller.
+ Verify the FSM ID before polling starting any reset sequence.
+ Refer to RF_RESET_CONTROL_REG for instructions on how to use
+ the status bits in this register.<BR/>
+ <b>Note: The *_DB1 constants are not used in the HDL, their purpose is
+ merely for documentation.</b>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_STATUS_REG|DAC_SEQ_DONE"></a>DAC_SEQ_DONE</span><span class="attr"> </span></p>
+ <p>This bit asserts ('1') when the DB0 DAC chain reset sequence
+ is completed. The bitfield deasserts ('0') after
+ deasserting the issued triggered (enable or reset).</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">10..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_STATUS_REG|ADC_SEQ_DONE"></a>ADC_SEQ_DONE</span><span class="attr"> </span></p>
+ <p>This bit asserts ('1') when the DB0 ADC chain reset sequence
+ is completed. The bitfield deasserts ('0') after
+ deasserting the issued triggered (enable or reset).</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">6..4</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_RESET_STATUS_REG|FSM_RESET_DONE"></a>FSM_RESET_DONE</span><span class="attr"> </span></p>
+ <p>This bit asserts ('1') when the DB0 RF reset controller FSM
+ reset sequence is completed. The bitfield deasserts ('0')
+ after deasserting db0_fsm_reset.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">2..0</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x13000: RF_AXI_STATUS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|RF_AXI_STATUS_REG_in')">(<span id="show_RFDC_REGS_REGMAP|RF_AXI_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|RF_AXI_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RF_AXI_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x13000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000153000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Status register for the RF AXI-Stream interfaces.<BR/>
+ <b>Note: The *_DB1 constants are not used in the HDL, their purpose is
+ merely for documentation.</b>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..30</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|USER_ADC_TREADY_DB1"></a>USER_ADC_TREADY_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the user's ADC (DB1) AXI-Stream
+ TReady handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">29..28</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|USER_ADC_TVALID_DB1"></a>USER_ADC_TVALID_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the user's ADC (DB1) AXI-Stream
+ TValid handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..26</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_I_TVALID_DB1"></a>RFDC_ADC_I_TVALID_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB1) AXI-Stream
+ TValid handshake signals (I portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">25..24</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_Q_TVALID_DB1"></a>RFDC_ADC_Q_TVALID_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB1) AXI-Stream
+ TValid handshake signals (Q portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..22</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_I_TREADY_DB1"></a>RFDC_ADC_I_TREADY_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB1) AXI-Stream
+ TReady handshake signals (I portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">21..20</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_Q_TREADY_DB1"></a>RFDC_ADC_Q_TREADY_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB1) AXI-Stream
+ TReady handshake signals (Q portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">19..18</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_DAC_TVALID_DB1"></a>RFDC_DAC_TVALID_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's DAC (DB1) AXI-Stream
+ TValid handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">17..16</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_DAC_TREADY_DB1"></a>RFDC_DAC_TREADY_DB1</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's DAC (DB1) AXI-Stream
+ TReady handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..14</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|USER_ADC_TREADY"></a>USER_ADC_TREADY</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the user's ADC (DB0) AXI-Stream
+ TReady handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">13..12</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|USER_ADC_TVALID"></a>USER_ADC_TVALID</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the user's ADC (DB0) AXI-Stream
+ TValid handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..10</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_I_TVALID"></a>RFDC_ADC_I_TVALID</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB0) AXI-Stream
+ TValid handshake signals (I portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9..8</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_Q_TVALID"></a>RFDC_ADC_Q_TVALID</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB0) AXI-Stream
+ TValid handshake signals (Q portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..6</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_I_TREADY"></a>RFDC_ADC_I_TREADY</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB0) AXI-Stream
+ TReady handshake signals (I portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5..4</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_ADC_Q_TREADY"></a>RFDC_ADC_Q_TREADY</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's ADC (DB0) AXI-Stream
+ TReady handshake signals (Q portion). The LSB is channel 0
+ and the MSB is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3..2</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_DAC_TVALID"></a>RFDC_DAC_TVALID</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's DAC (DB0) AXI-Stream
+ TValid handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1..0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_AXI_STATUS_REG|RFDC_DAC_TREADY"></a>RFDC_DAC_TREADY</span><span class="attr"> </span></p>
+ <p>This bitfield is wired to the RFDC's DAC (DB0) AXI-Stream
+ TReady handshake signals. The LSB is channel 0 and the MSB
+ is channel 1.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG"></a>
+
+<h3 class="register">Offset 0x13008: FABRIC_DSP_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|FABRIC_DSP_REG_in')">(<span id="show_RFDC_REGS_REGMAP|FABRIC_DSP_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|FABRIC_DSP_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">FABRIC_DSP_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x13008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000153008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value = 0x00000000
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+This register provides information to the driver on the type
+ of DSP that is instantiated in the fabric.<BR/>
+ The X410 platform supports multiple RF daughterboards, each requiring
+ a different fabric RF DSP chain that works with specific RFDC settings.
+ Each bandwidth DSP chain has a unique identifier (BW in MHz), this
+ information is conveyed in this register to let the driver
+ configure the RFDC with the proper settings.
+ Also, channel count for the DSP module is included.<BR/>
+ <b>Note: The *_DB1 constants are not used in the HDL, their purpose is
+ merely for documentation.</b>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..30</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_TX_CNT_DB1"></a>FABRIC_DSP_TX_CNT_DB1</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Fabric DSP TX channel count for daughterboard 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">29..28</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_RX_CNT_DB1"></a>FABRIC_DSP_RX_CNT_DB1</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Fabric DSP RX channel count for daughterboard 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">27..16</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW_DB1"></a>FABRIC_DSP_BW_DB1</span><span class="attr"> &nbsp;&nbsp;(initialvalue=FABRIC_DSP_BW_NONE)</span></p>
+ <p>Fabric DSP BW in MHz for daughterboard 1.</p>
+
+ <p>
+ The values for this bitfield are in the <a href="#RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM">FABRIC_DSP_BW_ENUM</a> table.
+ <a class="sh_enum" href="javascript:sb('RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW_DB1')">(<span id="show_RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW_DB1">show here</span>)</a>
+ </p>
+ <div class="sh_enum" id="div_RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW_DB1">
+
+ <div class="enum">
+ <a name="RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM"></a>
+
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_NONE'></a>FABRIC_DSP_BW_NONE</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>100</td>
+
+ <td class='l'>0x064</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_100M'></a>FABRIC_DSP_BW_100M</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>200</td>
+
+ <td class='l'>0x0C8</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_200M'></a>FABRIC_DSP_BW_200M</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>400</td>
+
+ <td class='l'>0x190</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_400M'></a>FABRIC_DSP_BW_400M</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+</div>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..14</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_TX_CNT"></a>FABRIC_DSP_TX_CNT</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Fabric DSP TX channel count for daughterboard 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">13..12</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_RX_CNT"></a>FABRIC_DSP_RX_CNT</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Fabric DSP RX channel count for daughterboard 0.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW"></a>FABRIC_DSP_BW</span><span class="attr"> &nbsp;&nbsp;(initialvalue=FABRIC_DSP_BW_NONE)</span></p>
+ <p>Fabric DSP BW in MHz for daughterboard 0.</p>
+
+ <p>
+ The values for this bitfield are in the <a href="#RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM">FABRIC_DSP_BW_ENUM</a> table.
+ <a class="sh_enum" href="javascript:sb('RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW')">(<span id="show_RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW">show here</span>)</a>
+ </p>
+ <div class="sh_enum" id="div_RFDC_REGS_REGMAP|FABRIC_DSP_REG|FABRIC_DSP_BW">
+
+ <div class="enum">
+ <a name="RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM"></a>
+
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_NONE'></a>FABRIC_DSP_BW_NONE</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>100</td>
+
+ <td class='l'>0x064</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_100M'></a>FABRIC_DSP_BW_100M</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>200</td>
+
+ <td class='l'>0x0C8</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_200M'></a>FABRIC_DSP_BW_200M</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>400</td>
+
+ <td class='l'>0x190</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='RFDC_REGS_REGMAP|FABRIC_DSP_BW_ENUM|FABRIC_DSP_BW_400M'></a>FABRIC_DSP_BW_400M</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file common_regs.v.
+ </p>
+
+</div>
+
+</div>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|CALIBRATION_DATA"></a>
+
+<h3 class="register">Offset 0x14000: CALIBRATION_DATA Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|CALIBRATION_DATA_in')">(<span id="show_RFDC_REGS_REGMAP|CALIBRATION_DATA_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|CALIBRATION_DATA_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CALIBRATION_DATA</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x14000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000154000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+The fields of this register provide data to all the DAC channels when enabled
+ by the CALIBRATION_ENABLE register.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..16</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|CALIBRATION_DATA|Q_DATA"></a>Q_DATA</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|CALIBRATION_DATA|I_DATA"></a>I_DATA</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|CALIBRATION_ENABLE"></a>
+
+<h3 class="register">Offset 0x14008: CALIBRATION_ENABLE Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|CALIBRATION_ENABLE_in')">(<span id="show_RFDC_REGS_REGMAP|CALIBRATION_ENABLE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|CALIBRATION_ENABLE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CALIBRATION_ENABLE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x14008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000154008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+This register enables calibration data in the DAC data path for each of the
+ four channels. Each of these bits is normally '0'. When written '1', DAC data
+ for the corresponding channel will be constantly driven with the contents of
+ the CALIBRATION_DATA register.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..6</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">5</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|CALIBRATION_ENABLE|ENABLE_CALIBRATION_DATA_3"></a>ENABLE_CALIBRATION_DATA_3</span><span class="attr"> </span></p>
+ <p>Enables calibration data for channel 3.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|CALIBRATION_ENABLE|ENABLE_CALIBRATION_DATA_2"></a>ENABLE_CALIBRATION_DATA_2</span><span class="attr"> </span></p>
+ <p>Enables calibration data for channel 2.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3..2</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|CALIBRATION_ENABLE|ENABLE_CALIBRATION_DATA_1"></a>ENABLE_CALIBRATION_DATA_1</span><span class="attr"> </span></p>
+ <p>Enables calibration data for channel 1.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|CALIBRATION_ENABLE|ENABLE_CALIBRATION_DATA_0"></a>ENABLE_CALIBRATION_DATA_0</span><span class="attr"> </span></p>
+ <p>Enables calibration data for channel 0.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS"></a>
+
+<h3 class="register">Offset 0x15000: THRESHOLD_STATUS Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|THRESHOLD_STATUS_in')">(<span id="show_RFDC_REGS_REGMAP|THRESHOLD_STATUS_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|THRESHOLD_STATUS_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">THRESHOLD_STATUS</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x15000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000155000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+This register shows threshold status for the ADCs. Each bit reflects the
+ RFDC's real-time ADC status signals, which will assert when the ADC input
+ signal exceeds the programmed threshold value. The status will remain
+ asserted until cleared by software.
+ The bitfield names follow the pattern ADCX_ZZ_over_threshold(1|2), where X is
+ the location of the tile in the converter column and ZZ is either 01 (the
+ lower RF-ADC in the tile) or 23 (the upper RF-ADC in the tile).
+ See also the Xilinx document PG269.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..12</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC2_23_THRESHOLD2"></a>ADC2_23_THRESHOLD2</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">10</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC2_23_THRESHOLD1"></a>ADC2_23_THRESHOLD1</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">9</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC2_01_THRESHOLD2"></a>ADC2_01_THRESHOLD2</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC2_01_THRESHOLD1"></a>ADC2_01_THRESHOLD1</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..4</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC0_23_THRESHOLD2"></a>ADC0_23_THRESHOLD2</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">2</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC0_23_THRESHOLD1"></a>ADC0_23_THRESHOLD1</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC0_01_THRESHOLD2"></a>ADC0_01_THRESHOLD2</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|THRESHOLD_STATUS|ADC0_01_THRESHOLD1"></a>ADC0_01_THRESHOLD1</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG"></a>
+
+<h3 class="register">Offset 0x16000: RF_PLL_CONTROL_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG_in')">(<span id="show_RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RF_PLL_CONTROL_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x16000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000156000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Enable RF MMCM outputs.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..17</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG|CLEAR_DATA_CLK_UNLOCKED"></a>CLEAR_DATA_CLK_UNLOCKED</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..13</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">12</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG|ENABLE_RF_CLK_2X"></a>ENABLE_RF_CLK_2X</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..9</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">8</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG|ENABLE_RF_CLK"></a>ENABLE_RF_CLK</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..5</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">4</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG|ENABLE_DATA_CLK_2X"></a>ENABLE_DATA_CLK_2X</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">3..1</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_CONTROL_REG|ENABLE_DATA_CLK"></a>ENABLE_DATA_CLK</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_REGS_REGMAP|RF_PLL_STATUS_REG"></a>
+
+<h3 class="register">Offset 0x16008: RF_PLL_STATUS_REG Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_REGS_REGMAP|RF_PLL_STATUS_REG_in')">(<span id="show_RFDC_REGS_REGMAP|RF_PLL_STATUS_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_REGS_REGMAP|RF_PLL_STATUS_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|RFDC_REGS">AXI_HPM0_REGMAP|RFDC_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1000140000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RF_PLL_STATUS_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x16008</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x1000156008
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file common_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Data Clk Pll Status Register
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..21</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">20</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_STATUS_REG|DATA_CLK_PLL_LOCKED"></a>DATA_CLK_PLL_LOCKED</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">19..17</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">16</td>
+ <td>
+ <p><span class="name"><a name="RFDC_REGS_REGMAP|RF_PLL_STATUS_REG|DATA_CLK_PLL_UNLOCKED_STICKY"></a>DATA_CLK_PLL_UNLOCKED_STICKY</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="RFDC_TIMING_REGMAP"></a>
+ <h1 class="regmap">RFDC_TIMING_REGMAP</h1>
+
+ <div class="group"><a name="RFDC_TIMING_REGMAP|RFDC_TIMING_REGS"></a><h2 class="group">RFDC_TIMING_REGS</h2>
+
+ <div class="register">
+ <a name="RFDC_TIMING_REGMAP|NCO_RESET_REG"></a>
+
+<h3 class="register">Offset 0x0000: NCO_RESET_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_TIMING_REGMAP|NCO_RESET_REG_in')">(<span id="show_RFDC_TIMING_REGMAP|NCO_RESET_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_TIMING_REGMAP|NCO_RESET_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW">RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">NCO_RESET_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x008000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file rfdc_timing_control.v.</p>
+
+</div>
+
+<div class="info">
+
+NCO reset control register.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..2</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1r</td>
+ <td>
+ <p><span class="name"><a name="RFDC_TIMING_REGMAP|NCO_RESET_REG|NCO_RESET_DONE"></a>NCO_RESET_DONE</span><span class="attr"> </span></p>
+ <p>When 1, indicates that the NCO reset has completed.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0w</td>
+ <td>
+ <p><span class="name"><a name="RFDC_TIMING_REGMAP|NCO_RESET_REG|NCO_RESET_START"></a>NCO_RESET_START</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>Write a 1 to this bit to start a reset the RFDC's NCO.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="RFDC_TIMING_REGMAP|GEARBOX_RESET_REG"></a>
+
+<h3 class="register">Offset 0x0004: GEARBOX_RESET_REG Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('RFDC_TIMING_REGMAP|GEARBOX_RESET_REG_in')">(<span id="show_RFDC_TIMING_REGMAP|GEARBOX_RESET_REG_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_RFDC_TIMING_REGMAP|GEARBOX_RESET_REG_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW">RADIO_CTRLPORT_REGMAP|RFDC_TIMING_WINDOW</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x008000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">GEARBOX_RESET_REG</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x008004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file rfdc_timing_control.v.</p>
+
+</div>
+
+<div class="info">
+
+Gearbox reset control register.
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..2</td>
+ <td>
+ <p><span class="name">Reserved</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">1w</td>
+ <td>
+ <p><span class="name"><a name="RFDC_TIMING_REGMAP|GEARBOX_RESET_REG|DAC_RESET"></a>DAC_RESET</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>This reset is for the gearbox on the DAC data path that is used to
+ move data from one clock domain to another outside the RFDC. Write
+ a 1 to this bit to send a reset pulse to the DAC gearbox.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">0w</td>
+ <td>
+ <p><span class="name"><a name="RFDC_TIMING_REGMAP|GEARBOX_RESET_REG|ADC_RESET"></a>ADC_RESET</span><span class="attr"> &nbsp;&nbsp;(Strobe)</span></p>
+ <p>This reset is for the gearbox on the ADC data path that is used to
+ move data from one clock domain to another outside the RFDC. Write
+ a 1 to this bit to send a reset pulse to the ADC gearbox.</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="SPI_REGMAP"></a>
+ <h1 class="regmap">SPI_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="SPI_REGMAP|SPI_REGS"></a><h2 class="group">SPI_REGS</h2>
+ <div class="xmlpmd">
+<p>This register map is present for each SPI master.</p>
+<p>For information about the register content and the way to interact with the core see the
+<a href="https://opencores.org/websvn/filedetails?repname=spi&path=%2Fspi%2Ftrunk%2Fdoc%2Fspi.pdf" target="_blank">documentation</a>
+of the SPI master from opencores used internally.</p>
+<p>The core is configured to operate with 16 slave signal signals, up to 128 bits per transmission and 8 bit clock divider.
+Only 64 bits of data are available via this register interface.</p>
+<p>For the different SPI modes use the following table to derive the bits in <a href="#SPI_REGMAP|CONTROL">CONTROL</a> register. Only option 0 (CPOL=0, CPHA=0) has been tested.</p>
+<table>
+<thead>
+<tr>
+<th>CPOL</th>
+<th>CPHA</th>
+<th>TX_NEG</th>
+<th>RX_NEG</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>0</td>
+<td>0</td>
+<td>1</td>
+<td>0</td>
+</tr>
+<tr>
+<td>0</td>
+<td>1</td>
+<td>0</td>
+<td>1</td>
+</tr>
+<tr>
+<td>1</td>
+<td>0</td>
+<td>0</td>
+<td>1</td>
+</tr>
+<tr>
+<td>1</td>
+<td>1</td>
+<td>1</td>
+<td>0</td>
+</tr>
+</tbody>
+</table></div>
+ <div class="register">
+ <a name="SPI_REGMAP|RX_DATA_LOW"></a>
+
+<h3 class="register">Offset 0x0000: RX_DATA_LOW Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|RX_DATA_LOW_in')">(<span id="show_SPI_REGMAP|RX_DATA_LOW_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|RX_DATA_LOW_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RX_DATA_LOW</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Lower 32 bits of the received word. (RxWord[31:0])</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="SPI_REGMAP|RX_DATA_HIGH"></a>
+
+<h3 class="register">Offset 0x0004: RX_DATA_HIGH Register (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|RX_DATA_HIGH_in')">(<span id="show_SPI_REGMAP|RX_DATA_HIGH_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|RX_DATA_HIGH_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RX_DATA_HIGH</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Higher 32 bits of the received word. (RxWord[63:32])</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="SPI_REGMAP|TX_DATA_LOW"></a>
+
+<h3 class="register">Offset 0x0008: TX_DATA_LOW Register (W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|TX_DATA_LOW_in')">(<span id="show_SPI_REGMAP|TX_DATA_LOW_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|TX_DATA_LOW_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">TX_DATA_LOW</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Lower 32 bits of the received word. (TxWord[31:0])</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="SPI_REGMAP|TX_DATA_HIGH"></a>
+
+<h3 class="register">Offset 0x000C: TX_DATA_HIGH Register (W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|TX_DATA_HIGH_in')">(<span id="show_SPI_REGMAP|TX_DATA_HIGH_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|TX_DATA_HIGH_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">TX_DATA_HIGH</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Higher 32 bits of the received word. (TxWord[63:32])</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="SPI_REGMAP|CONTROL"></a>
+
+<h3 class="register">Offset 0x0010: CONTROL Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|CONTROL_in')">(<span id="show_SPI_REGMAP|CONTROL_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|CONTROL_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CONTROL</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Control register</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="SPI_REGMAP|CLOCK_DIVIDER"></a>
+
+<h3 class="register">Offset 0x0014: CLOCK_DIVIDER Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|CLOCK_DIVIDER_in')">(<span id="show_SPI_REGMAP|CLOCK_DIVIDER_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|CLOCK_DIVIDER_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CLOCK_DIVIDER</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0014</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="SPI_REGMAP|CLOCK_DIVIDER|Divider"></a>Divider</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Clock Divider.</p></div></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="SPI_REGMAP|SLAVE_SELECT"></a>
+
+<h3 class="register">Offset 0x0018: SLAVE_SELECT Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('SPI_REGMAP|SLAVE_SELECT_in')">(<span id="show_SPI_REGMAP|SLAVE_SELECT_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_SPI_REGMAP|SLAVE_SELECT_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">SLAVE_SELECT</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0018</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file ctrlport_to_spi.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="SPI_REGMAP|SLAVE_SELECT|SS"></a>SS</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>Slave select.</p></div></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="UIO_REGMAP"></a>
+ <h1 class="regmap">UIO_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="UIO_REGMAP|UIO_REGS"></a><h2 class="group">UIO_REGS</h2>
+ <div class="xmlpmd">
+<p>UIO</p></div>
+ <div class="register">
+ <a name="UIO_REGMAP|IP"></a>
+
+<h3 class="register">Offset 0x0000: IP Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|IP_in')">(<span id="show_UIO_REGMAP|IP_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|IP_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">IP</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A000
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Set this port's IP address</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|UDP"></a>
+
+<h3 class="register">Offset 0x0004: UDP Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|UDP_in')">(<span id="show_UIO_REGMAP|UDP_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|UDP_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">UDP</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A004
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Set the UDP port for CHDR_traffic</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|BRIDGE_MAC_LSB"></a>
+
+<h3 class="register">Offset 0x0010: BRIDGE_MAC_LSB Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|BRIDGE_MAC_LSB_in')">(<span id="show_UIO_REGMAP|BRIDGE_MAC_LSB_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|BRIDGE_MAC_LSB_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">BRIDGE_MAC_LSB</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0010</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A010
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>If BRIDGE_ENABLE is set use this MAC_ID</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|BRIDGE_MAC_MSB"></a>
+
+<h3 class="register">Offset 0x0014: BRIDGE_MAC_MSB Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|BRIDGE_MAC_MSB_in')">(<span id="show_UIO_REGMAP|BRIDGE_MAC_MSB_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|BRIDGE_MAC_MSB_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">BRIDGE_MAC_MSB</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0014</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A014
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>If BRIDGE_ENABLE is set use this MAC_ID</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|BRIDGE_IP"></a>
+
+<h3 class="register">Offset 0x0018: BRIDGE_IP Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|BRIDGE_IP_in')">(<span id="show_UIO_REGMAP|BRIDGE_IP_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|BRIDGE_IP_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">BRIDGE_IP</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0018</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A018
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>If BRIDGE_ENABLE is set use this IP Address</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|BRIDGE_UDP"></a>
+
+<h3 class="register">Offset 0x001C: BRIDGE_UDP Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|BRIDGE_UDP_in')">(<span id="show_UIO_REGMAP|BRIDGE_UDP_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|BRIDGE_UDP_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">BRIDGE_UDP</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x001C</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A01C
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>If BRIDGE_ENABLE is set use this UDP Port for CHDR_traffic</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|BRIDGE_ENABLE"></a>
+
+<h3 class="register">Offset 0x0020: BRIDGE_ENABLE Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|BRIDGE_ENABLE_in')">(<span id="show_UIO_REGMAP|BRIDGE_ENABLE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|BRIDGE_ENABLE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">BRIDGE_ENABLE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0020</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A020
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Bit 0 Controls the following logic</p>
+<pre><code class="language-verilog">always_comb begin : bridge_mux
+my_mac = bridge_en ? bridge_mac_reg : mac_reg;
+my_ip = bridge_en ? bridge_ip_reg : ip_reg;
+my_udp_chdr_port = bridge_en ? bridge_udp_port : udp_port;
+end
+</code></pre></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|CHDR_DROPPED"></a>
+
+<h3 class="register">Offset 0x0030: CHDR_DROPPED Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|CHDR_DROPPED_in')">(<span id="show_UIO_REGMAP|CHDR_DROPPED_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|CHDR_DROPPED_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CHDR_DROPPED</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0030</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A030
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Count the number of Packets dropped that were addressed to the CHDR section.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|CPU_DROPPED"></a>
+
+<h3 class="register">Offset 0x0034: CPU_DROPPED Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|CPU_DROPPED_in')">(<span id="show_UIO_REGMAP|CPU_DROPPED_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|CPU_DROPPED_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CPU_DROPPED</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0034</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A034
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+<p>Count the number of Packets dropped that were addressed to us, but not to the CHDR section.</p></div>
+
+</div>
+
+</div>
+
+ <div class="register">
+ <a name="UIO_REGMAP|PAUSE"></a>
+
+<h3 class="register">Offset 0x0038: PAUSE Register (R|W)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('UIO_REGMAP|PAUSE_in')">(<span id="show_UIO_REGMAP|PAUSE_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_UIO_REGMAP|PAUSE_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="8">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_0">AXI_HPM0_REGMAP|QSFP_0_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200000000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#QSFP_REGMAP|UIO">QSFP_REGMAP|UIO</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x00A000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="8">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">PAUSE</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0038</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120000A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_1">AXI_HPM0_REGMAP|QSFP_0_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200010000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120001A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_2">AXI_HPM0_REGMAP|QSFP_0_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200020000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120002A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_0_3">AXI_HPM0_REGMAP|QSFP_0_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200030000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120003A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_0">AXI_HPM0_REGMAP|QSFP_1_0</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200040000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120004A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_1">AXI_HPM0_REGMAP|QSFP_1_1</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200050000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120005A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_2">AXI_HPM0_REGMAP|QSFP_1_2</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200060000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120006A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|QSFP_1_3">AXI_HPM0_REGMAP|QSFP_1_3</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x1200070000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x120007A038
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file uhd_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+<div class="xmlpmd">
+</div>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..16</td>
+ <td>
+ <p><span class="name"><a name="UIO_REGMAP|PAUSE|pause_clear"></a>pause_clear</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>If the fullness of the CHDR_FIFO in ETH_W words falls bellow this value stop requesting an ethernet pause.
+<em>Pause clear must be less than pause set or terrible things will happen.</em>
+The clearing of the pause request causes the MAC to send a request to resume traffic. This feature is only
+used with 100Gb ethernet</p></div></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..0</td>
+ <td>
+ <p><span class="name"><a name="UIO_REGMAP|PAUSE|pause_set"></a>pause_set</span><span class="attr"> </span></p>
+ <p><div class="xmlpmd">
+<p>If the fullness of the CHDR_FIFO in ETH_W words exceeds this value request an ethernet pause. This feature is only
+used with 100Gb ethernet</p></div></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="VERSIONING_REGS_REGMAP"></a>
+ <h1 class="regmap">VERSIONING_REGS_REGMAP</h1>
+
+ <div class="group"><a name="VERSIONING_REGS_REGMAP|VERSIONING_CONSTANTS"></a><h2 class="group">VERSIONING_CONSTANTS</h2>
+
+ <div class="enum">
+ <a name="VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION"></a>
+
+<h3 class="enum">CPLD_IFC_VERSION Enumeration</h3>
+CPLD interface module.<BR/>
+ For guidance on when to update these revision numbers,
+ please refer to the register map documentation accordingly:
+ <li> Current version: <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a>
+ <li> Oldest compatible version: <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a>
+ <li> Version last modified: <a href="#VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED">VERSION_LAST_MODIFIED</a>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_CURRENT_VERSION_MINOR'></a>CPLD_IFC_CURRENT_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_CURRENT_VERSION_BUILD'></a>CPLD_IFC_CURRENT_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_OLDEST_COMPATIBLE_VERSION_MINOR'></a>CPLD_IFC_OLDEST_COMPATIBLE_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_OLDEST_COMPATIBLE_VERSION_BUILD'></a>CPLD_IFC_OLDEST_COMPATIBLE_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>2</td>
+
+ <td class='l'>0x00000002</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_CURRENT_VERSION_MAJOR'></a>CPLD_IFC_CURRENT_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>2</td>
+
+ <td class='l'>0x00000002</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_OLDEST_COMPATIBLE_VERSION_MAJOR'></a>CPLD_IFC_OLDEST_COMPATIBLE_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>553719817</td>
+
+ <td class='l'>0x21011809</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|CPLD_IFC_VERSION|CPLD_IFC_VERSION_LAST_MODIFIED_TIME'></a>CPLD_IFC_VERSION_LAST_MODIFIED_TIME</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file cpld_interface_regs.v.
+ </p>
+
+</div>
+
+ <div class="enum">
+ <a name="VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION"></a>
+
+<h3 class="enum">DB_GPIO_IFC_VERSION Enumeration</h3>
+Daughterboard GPIO interface.<BR/>
+ For guidance on when to update these revision numbers,
+ please refer to the register map documentation accordingly:
+ <li> Current version: <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a>
+ <li> Oldest compatible version: <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a>
+ <li> Version last modified: <a href="#VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED">VERSION_LAST_MODIFIED</a>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_CURRENT_VERSION_MINOR'></a>DB_GPIO_IFC_CURRENT_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_CURRENT_VERSION_BUILD'></a>DB_GPIO_IFC_CURRENT_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_OLDEST_COMPATIBLE_VERSION_MINOR'></a>DB_GPIO_IFC_OLDEST_COMPATIBLE_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_OLDEST_COMPATIBLE_VERSION_BUILD'></a>DB_GPIO_IFC_OLDEST_COMPATIBLE_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class='l'>0x00000001</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_CURRENT_VERSION_MAJOR'></a>DB_GPIO_IFC_CURRENT_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class='l'>0x00000001</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_OLDEST_COMPATIBLE_VERSION_MAJOR'></a>DB_GPIO_IFC_OLDEST_COMPATIBLE_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>537986582</td>
+
+ <td class='l'>0x20110616</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|DB_GPIO_IFC_VERSION|DB_GPIO_IFC_VERSION_LAST_MODIFIED_TIME'></a>DB_GPIO_IFC_VERSION_LAST_MODIFIED_TIME</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file db_gpio_interface.v.
+ </p>
+
+</div>
+
+ <div class="enum">
+ <a name="VERSIONING_REGS_REGMAP|FPGA_VERSION"></a>
+
+<h3 class="enum">FPGA_VERSION Enumeration</h3>
+FPGA version.<BR/>
+ For guidance on when to update these revision numbers,
+ please refer to the register map documentation accordingly:
+ <li> Current version: <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a>
+ <li> Oldest compatible version: <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a>
+ <li> Version last modified: <a href="#VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED">VERSION_LAST_MODIFIED</a>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_CURRENT_VERSION_BUILD'></a>FPGA_CURRENT_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_OLDEST_COMPATIBLE_VERSION_MINOR'></a>FPGA_OLDEST_COMPATIBLE_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_OLDEST_COMPATIBLE_VERSION_BUILD'></a>FPGA_OLDEST_COMPATIBLE_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>3</td>
+
+ <td class='l'>0x00000003</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_CURRENT_VERSION_MINOR'></a>FPGA_CURRENT_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>7</td>
+
+ <td class='l'>0x00000007</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_CURRENT_VERSION_MAJOR'></a>FPGA_CURRENT_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>7</td>
+
+ <td class='l'>0x00000007</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_OLDEST_COMPATIBLE_VERSION_MAJOR'></a>FPGA_OLDEST_COMPATIBLE_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>553915926</td>
+
+ <td class='l'>0x21041616</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|FPGA_VERSION|FPGA_VERSION_LAST_MODIFIED_TIME'></a>FPGA_VERSION_LAST_MODIFIED_TIME</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file x4xx.v.
+ </p>
+
+</div>
+
+ <div class="enum">
+ <a name="VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION"></a>
+
+<h3 class="enum">RF_CORE_100M_VERSION Enumeration</h3>
+100 MHz RF core.<BR/>
+ For guidance on when to update these revision numbers,
+ please refer to the register map documentation accordingly:
+ <li> Current version: <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a>
+ <li> Oldest compatible version: <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a>
+ <li> Version last modified: <a href="#VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED">VERSION_LAST_MODIFIED</a>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_CURRENT_VERSION_MINOR'></a>RF_CORE_100M_CURRENT_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_CURRENT_VERSION_BUILD'></a>RF_CORE_100M_CURRENT_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_OLDEST_COMPATIBLE_VERSION_MINOR'></a>RF_CORE_100M_OLDEST_COMPATIBLE_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_OLDEST_COMPATIBLE_VERSION_BUILD'></a>RF_CORE_100M_OLDEST_COMPATIBLE_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class='l'>0x00000001</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_CURRENT_VERSION_MAJOR'></a>RF_CORE_100M_CURRENT_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class='l'>0x00000001</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_OLDEST_COMPATIBLE_VERSION_MAJOR'></a>RF_CORE_100M_OLDEST_COMPATIBLE_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>537929239</td>
+
+ <td class='l'>0x20102617</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_100M_VERSION|RF_CORE_100M_VERSION_LAST_MODIFIED_TIME'></a>RF_CORE_100M_VERSION_LAST_MODIFIED_TIME</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file rf_core_100m.v.
+ </p>
+
+</div>
+
+ <div class="enum">
+ <a name="VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION"></a>
+
+<h3 class="enum">RF_CORE_400M_VERSION Enumeration</h3>
+400 MHz RF core.<BR/>
+ For guidance on when to update these revision numbers,
+ please refer to the register map documentation accordingly:
+ <li> Current version: <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a>
+ <li> Oldest compatible version: <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a>
+ <li> Version last modified: <a href="#VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED">VERSION_LAST_MODIFIED</a>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' colspan='2'> Value </td>
+ <td class="l" rowspan='2' colspan='1'> Name </td>
+
+</tr>
+
+<tr class="header2" valign="bottom">
+
+<td class='value'> Dec </td>
+
+<td class='l'> Hex </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_CURRENT_VERSION_MINOR'></a>RF_CORE_400M_CURRENT_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_CURRENT_VERSION_BUILD'></a>RF_CORE_400M_CURRENT_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_OLDEST_COMPATIBLE_VERSION_MINOR'></a>RF_CORE_400M_OLDEST_COMPATIBLE_VERSION_MINOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class='l'>0x00000000</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_OLDEST_COMPATIBLE_VERSION_BUILD'></a>RF_CORE_400M_OLDEST_COMPATIBLE_VERSION_BUILD</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class='l'>0x00000001</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_CURRENT_VERSION_MAJOR'></a>RF_CORE_400M_CURRENT_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class='l'>0x00000001</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_OLDEST_COMPATIBLE_VERSION_MAJOR'></a>RF_CORE_400M_OLDEST_COMPATIBLE_VERSION_MAJOR</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>537929239</td>
+
+ <td class='l'>0x20102617</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|RF_CORE_400M_VERSION|RF_CORE_400M_VERSION_LAST_MODIFIED_TIME'></a>RF_CORE_400M_VERSION_LAST_MODIFIED_TIME</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file rf_core_400m.v.
+ </p>
+
+</div>
+
+</div>
+
+ <div class="group"><a name="VERSIONING_REGS_REGMAP|VERSIONING_REGS"></a><h2 class="group">VERSIONING_REGS</h2>
+
+ <div class="enum">
+ <a name="VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES"></a>
+
+<h3 class="enum">COMPONENTS_INDEXES Enumeration</h3>
+This enum contains indexes for all the components in the X410
+ (both common and app-specific) which version information is
+ desired to be available for compatibility tracking purposes.<BR/>
+ <table border="1">
+ <tr><th>Description</th> <th>Index range</th> <th>Max # of components</th></tr>
+ <tr><td>Common components</td> <td>0 to 23</td> <td>24</td></tr>
+ <tr><td>UHD-specific components</td> <td>24 to 43</td> <td>20</td></tr>
+ <tr><td>LV-specific components</td> <td>44 to 63</td> <td>20</td></tr>
+ </table>
+ <table class="enum" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header" valign="center">
+
+ <td class='value' > Value </td>
+ <td class="l" colspan='1'> Name </td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>0</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES|FPGA_VERSION_INDEX'></a>FPGA_VERSION_INDEX</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>1</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES|CPLD_IFC_INDEX'></a>CPLD_IFC_INDEX</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>2</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES|DB0_RF_CORE_INDEX'></a>DB0_RF_CORE_INDEX</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>3</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES|DB1_RF_CORE_INDEX'></a>DB1_RF_CORE_INDEX</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>4</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES|DB0_GPIO_IFC_INDEX'></a>DB0_GPIO_IFC_INDEX</p>
+
+</td>
+
+</tr>
+
+<tr valign="top">
+
+ <td class='value'>5</td>
+
+ <td class="l" style="text-align: left;">
+ <p class="name"><a name='VERSIONING_REGS_REGMAP|COMPONENTS_INDEXES|DB1_GPIO_IFC_INDEX'></a>DB1_GPIO_IFC_INDEX</p>
+
+</td>
+
+</tr>
+
+</table>
+
+ <p class="enum_info">
+ This enumerated type is defined in HDL source file x4xx_versioning_regs.v.
+ </p>
+
+</div>
+
+ <div class="register">
+ <a name="VERSIONING_REGS_REGMAP|CURRENT_VERSION"></a>
+
+<h3 class="register">Offset 0x0000: CURRENT_VERSION(63:0) Register Array (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('VERSIONING_REGS_REGMAP|CURRENT_VERSION_in')">(<span id="show_VERSIONING_REGS_REGMAP|CURRENT_VERSION_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_VERSIONING_REGS_REGMAP|CURRENT_VERSION_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|VERSIONING_REGS">CORE_REGS_REGMAP|VERSIONING_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000C00</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">CURRENT_VERSION</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0000 + i*0x10</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Cannot determine accessibility through this path</td></tr>
+<tr><td class="offset_info">
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0C00 + i*0x10
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info"><B>Initial Values</B><BR/>
+<table>
+ <tr><td>default</td><td>=&gt;</td><td>0x00000000</td></tr>
+</table>
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_versioning_regs.v.<BR/>
+It uses RegType <b>VERSION_TYPE</b> which is defined in HDL source file x4xx_versioning_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Component's current version.<BR/>
+ This register contains the current component's version implemented in HDL.
+ The current version shall be used to detect a component being too
+ old for the driver/software:<BR/>
+ <b>SW oldest compatible version > Component's current version --> Component is too old.</b>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..23</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR"></a>MAJOR</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Major number (max = 511): an increase reflects a breaking change.<BR/>
+ <b>IMPORTANT!</b> <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> must always remain in sync between the component's
+ <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a> and <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a> registers.<BR/><BR/>
+ Update <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> when:
+ <li>the component has changed and requires a software changes as a result.
+ <li>the component's bitfields/registers have been modified or deleted.
+ <li>the component's bitfields/registers are initialized to different value (unexpected by software).
+ <li>new bitfields/registers are added that require software interaction for the component to operate.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">22..12</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR"></a>MINOR</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Minor number (max = 2047): an increase reflects a non-breaking change that the driver should be aware of.<BR/><BR/>
+ Update <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a> when:
+ <li>a new feature is added to the component, which does not conflict with the driver.
+ <li>minor implementation changes were made to the component which are worth tracking.
+ <li>the component has added new bitfields/registers that do not require software interaction
+ (i.e. the default value is 0 and writing 0 does not change behavior, assuming SW writes 0's to
+ previously undefined bits).
+ <li><a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> is updated (reset <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a> to 0).</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|CURRENT_VERSION|BUILD"></a>BUILD</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Build number (max = 4095): an increase reflects a change in the source code that yields a new implementation,
+ but that should not impact the component's behavior <BR/>
+ Eventually, this number is intended to be automatically incremented for any new build.<BR/><BR/>
+ Meanwhile, update <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|BUILD">BUILD</a> when:
+ <li>the component's source code changes are not captured by <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> or <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a>.
+ <li><a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a> or <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> are updated (reset <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|BUILD">BUILD</a> to 0).</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION"></a>
+
+<h3 class="register">Offset 0x0004: OLDEST_COMPATIBLE_VERSION(63:0) Register Array (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION_in')">(<span id="show_VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|VERSIONING_REGS">CORE_REGS_REGMAP|VERSIONING_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000C00</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">OLDEST_COMPATIBLE_VERSION</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0004 + i*0x10</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Cannot determine accessibility through this path</td></tr>
+<tr><td class="offset_info">
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0C04 + i*0x10
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info"><B>Initial Values</B><BR/>
+<table>
+ <tr><td>default</td><td>=&gt;</td><td>0x00000000</td></tr>
+</table>
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_versioning_regs.v.<BR/>
+It uses RegType <b>VERSION_TYPE</b> which is defined in HDL source file x4xx_versioning_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Component's oldest compatible version.<BR/>
+ This register contains the oldest compatible component's version, that is the oldest
+ component's implementation that is compatible with the current implementation.<BR/>
+ The oldest compatible version shall be used to detect a component being too
+ new for the driver/software:<BR/>
+ <b>SW current version < Component's oldest compatible version --> Component is too new.</b>
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..23</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION|MAJOR"></a>MAJOR</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Major number (max = 511): an increase reflects a breaking change.<BR/>
+ <b>IMPORTANT!</b> <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> must always remain in sync between the component's
+ <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION">CURRENT_VERSION</a> and <a href="#VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION">OLDEST_COMPATIBLE_VERSION</a> registers.<BR/><BR/>
+ Update <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> when:
+ <li>the component has changed and requires a software changes as a result.
+ <li>the component's bitfields/registers have been modified or deleted.
+ <li>the component's bitfields/registers are initialized to different value (unexpected by software).
+ <li>new bitfields/registers are added that require software interaction for the component to operate.</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">22..12</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION|MINOR"></a>MINOR</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Minor number (max = 2047): an increase reflects a non-breaking change that the driver should be aware of.<BR/><BR/>
+ Update <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a> when:
+ <li>a new feature is added to the component, which does not conflict with the driver.
+ <li>minor implementation changes were made to the component which are worth tracking.
+ <li>the component has added new bitfields/registers that do not require software interaction
+ (i.e. the default value is 0 and writing 0 does not change behavior, assuming SW writes 0's to
+ previously undefined bits).
+ <li><a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> is updated (reset <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a> to 0).</p>
+
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td class="bits">11..0</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|OLDEST_COMPATIBLE_VERSION|BUILD"></a>BUILD</span><span class="attr"> &nbsp;&nbsp;(initialvalue=0)</span></p>
+ <p>Build number (max = 4095): an increase reflects a change in the source code that yields a new implementation,
+ but that should not impact the component's behavior <BR/>
+ Eventually, this number is intended to be automatically incremented for any new build.<BR/><BR/>
+ Meanwhile, update <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|BUILD">BUILD</a> when:
+ <li>the component's source code changes are not captured by <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> or <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a>.
+ <li><a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MINOR">MINOR</a> or <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|MAJOR">MAJOR</a> are updated (reset <a href="#VERSIONING_REGS_REGMAP|CURRENT_VERSION|BUILD">BUILD</a> to 0).</p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED"></a>
+
+<h3 class="register">Offset 0x0008: VERSION_LAST_MODIFIED(63:0) Register Array (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED_in')">(<span id="show_VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|VERSIONING_REGS">CORE_REGS_REGMAP|VERSIONING_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000C00</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">VERSION_LAST_MODIFIED</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x0008 + i*0x10</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Cannot determine accessibility through this path</td></tr>
+<tr><td class="offset_info">
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0C08 + i*0x10
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_versioning_regs.v.<BR/>
+It uses RegType <b>TIMESTAMP_TYPE</b> which is defined in HDL source file x4xx_versioning_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Component's versions update time.<BR/>
+ This register provides the time stamp for the last modification to
+ the component's versions (current & oldest compatible).
+ The time stamp is provided in hexadecimal format: 0xYYMMDDHH.<BR/>
+
+
+</div>
+
+ <table class="bitfields" border="0" cellspacing="0" cellpadding="0">
+ <tr class="header"><td class="bits">Bits</td><td>Name</td></tr>
+
+ <tr valign="top">
+ <td class="bits">31..24</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED|YY"></a>YY</span><span class="attr"> </span></p>
+ <p>This is the year number after 2000 (e.g. 2019 = 0x19).</p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">23..16</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED|MM"></a>MM</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">15..8</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED|DD"></a>DD</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+ <tr class='byte' valign="top">
+ <td class="bits">7..0</td>
+ <td>
+ <p><span class="name"><a name="VERSIONING_REGS_REGMAP|VERSION_LAST_MODIFIED|HH"></a>HH</span><span class="attr"> </span></p>
+ <p></p>
+
+ </td>
+ </tr>
+
+</table>
+
+</div>
+
+ <div class="register">
+ <a name="VERSIONING_REGS_REGMAP|RESERVED"></a>
+
+<h3 class="register">Offset 0x000C: RESERVED(63:0) Register Array (R)</h3>
+
+ <a class="sh_addrs" href="javascript:sa('VERSIONING_REGS_REGMAP|RESERVED_in')">(<span id="show_VERSIONING_REGS_REGMAP|RESERVED_in">show</span> extended info)</a>
+ <div class="sh_addrs" id="div_VERSIONING_REGS_REGMAP|RESERVED_in">
+
+ <table class="extended_info">
+
+<tr>
+
+<td class="outercell" rowspan="1">
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">Port <a href="#X4XX_FPGA|ARM_M_AXI_HPM0">ARM_M_AXI_HPM0</a></td></tr>
+ </table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#AXI_HPM0_REGMAP|CORE_REGS">AXI_HPM0_REGMAP|CORE_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x10000A0000</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right"><a href="#CORE_REGS_REGMAP|VERSIONING_REGS">CORE_REGS_REGMAP|VERSIONING_REGS</a></td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;0x000C00</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+ <tr><td class="offset_info" align="right">RESERVED</td></tr>
+ <tr><td class="offset_info" align="right">&nbsp;&nbsp;offset=0x000C + i*0x10</td></tr>
+</table>
+
+</td>
+
+<td class="outercell" rowspan="1">
+
+<table border="0" cellspacing="0" cellpadding="0">
+
+<tr><td class="offset_info">
+
+
+Cannot determine accessibility through this path</td></tr>
+<tr><td class="offset_info">
+Total Offset =</td></tr>
+<tr><td class="offset_info">&nbsp;&nbsp;0x10000A0C0C + i*0x10
+
+</td></tr>
+</table>
+
+</td>
+
+</tr>
+
+</table><p/>
+
+<p class="reg_info">Initial Value not specified
+</p>
+
+<p class="reg_info">This register is defined in HDL source file x4xx_versioning_regs.v.<BR/>
+It uses RegType <b>RESERVED_TYPE</b> which is defined in HDL source file x4xx_versioning_regs.v.</p>
+
+</div>
+
+<div class="info">
+
+Reserved.<BR/>
+
+
+</div>
+
+</div>
+
+</div>
+
+</div>
+
+ <div class="regmap">
+ <a name="XGE_MAC_REGMAP"></a>
+ <h1 class="regmap">XGE_MAC_REGMAP</h1>
+ <div class="xmlpmd">
+</div>
+ <div class="group"><a name="XGE_MAC_REGMAP|OPENCORE_XGE_REGISTERS"></a><h2 class="group">OPENCORE_XGE_REGISTERS</h2>
+ <div class="xmlpmd">
+<p>10G MAC ethernet registers defined in the USRP OSS distribution fpga/usrp3/lib/xge/doc/xge_mac_spec.pdf</p></div>
+</div>
+
+</div>
+
+ </body>
+</HTML> \ No newline at end of file