Newer
Older
<PARAMETER NAME="C_MM2S_BURST_SIZE" VALUE="16"/>
<PARAMETER NAME="C_M_AXI_MM2S_ADDR_WIDTH" VALUE="32"/>
<PARAMETER NAME="C_M_AXI_MM2S_DATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="C_M_AXIS_MM2S_TDATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="C_INCLUDE_MM2S_DRE" VALUE="0"/>
<PARAMETER NAME="C_INCLUDE_S2MM" VALUE="1"/>
<PARAMETER NAME="C_INCLUDE_S2MM_SF" VALUE="1"/>
<PARAMETER NAME="C_S2MM_BURST_SIZE" VALUE="16"/>
<PARAMETER NAME="C_M_AXI_S2MM_ADDR_WIDTH" VALUE="32"/>
<PARAMETER NAME="C_M_AXI_S2MM_DATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="C_S_AXIS_S2MM_TDATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="C_INCLUDE_S2MM_DRE" VALUE="0"/>
<PARAMETER NAME="C_INCREASE_THROUGHPUT" VALUE="0"/>
<PARAMETER NAME="C_FAMILY" VALUE="zynq"/>
<PARAMETER NAME="c_include_sg" VALUE="0"/>
<PARAMETER NAME="c_enable_multi_channel" VALUE="0"/>
<PARAMETER NAME="c_num_mm2s_channels" VALUE="1"/>
<PARAMETER NAME="c_num_s2mm_channels" VALUE="1"/>
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
<PARAMETER NAME="c_dlytmr_resolution" VALUE="125"/>
<PARAMETER NAME="c_prmry_is_aclk_async" VALUE="0"/>
<PARAMETER NAME="c_sg_include_stscntrl_strm" VALUE="0"/>
<PARAMETER NAME="c_micro_dma" VALUE="0"/>
<PARAMETER NAME="c_include_mm2s" VALUE="1"/>
<PARAMETER NAME="c_m_axi_mm2s_data_width" VALUE="32"/>
<PARAMETER NAME="c_m_axis_mm2s_tdata_width" VALUE="32"/>
<PARAMETER NAME="c_include_mm2s_dre" VALUE="0"/>
<PARAMETER NAME="c_include_mm2s_sf" VALUE="1"/>
<PARAMETER NAME="c_mm2s_burst_size" VALUE="16"/>
<PARAMETER NAME="c_include_s2mm" VALUE="1"/>
<PARAMETER NAME="c_sg_use_stsapp_length" VALUE="0"/>
<PARAMETER NAME="c_m_axi_s2mm_data_width" VALUE="32"/>
<PARAMETER NAME="c_s_axis_s2mm_tdata_width" VALUE="32"/>
<PARAMETER NAME="c_include_s2mm_dre" VALUE="0"/>
<PARAMETER NAME="c_include_s2mm_sf" VALUE="1"/>
<PARAMETER NAME="c_s2mm_burst_size" VALUE="16"/>
<PARAMETER NAME="c_addr_width" VALUE="32"/>
<PARAMETER NAME="c_single_interface" VALUE="0"/>
<PARAMETER NAME="c_increase_throughput" VALUE="0"/>
<PARAMETER NAME="EDK_IPTYPE" VALUE="PERIPHERAL"/>
<PARAMETER NAME="C_BASEADDR" VALUE="0x41E00000"/>
<PARAMETER NAME="C_HIGHADDR" VALUE="0x41E0FFFF"/>
</PARAMETERS>
<PORTS>
<PORT CLKFREQUENCY="150000000" DIR="I" NAME="s_axi_lite_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0">
<CONNECTIONS>
<CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/>
</CONNECTIONS>
</PORT>
<PORT CLKFREQUENCY="150000000" DIR="I" NAME="m_axi_mm2s_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0">
<CONNECTIONS>
<CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/>
</CONNECTIONS>
</PORT>
<PORT CLKFREQUENCY="150000000" DIR="I" NAME="m_axi_s2mm_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0">
<CONNECTIONS>
<CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" NAME="axi_resetn" POLARITY="ACTIVE_LOW" SIGIS="rst" SIGNAME="rst_ps_150M_peripheral_aresetn">
<PORT DIR="I" NAME="s_axi_lite_awvalid" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_awvalid">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_awvalid"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="s_axi_lite_awready" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_awready">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_awready"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" LEFT="9" NAME="s_axi_lite_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_awaddr">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_awaddr"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" NAME="s_axi_lite_wvalid" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_wvalid">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_wvalid"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="s_axi_lite_wready" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_wready">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_wready"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" LEFT="31" NAME="s_axi_lite_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_wdata">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_wdata"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" LEFT="1" NAME="s_axi_lite_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_bresp">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_bresp"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="s_axi_lite_bvalid" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_bvalid">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_bvalid"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" NAME="s_axi_lite_bready" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_bready">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_bready"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" NAME="s_axi_lite_arvalid" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_arvalid">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_arvalid"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="s_axi_lite_arready" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_arready">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_arready"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" LEFT="9" NAME="s_axi_lite_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_araddr">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_araddr"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="s_axi_lite_rvalid" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rvalid">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_rvalid"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" NAME="s_axi_lite_rready" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rready">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_rready"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" LEFT="31" NAME="s_axi_lite_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rdata">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_rdata"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" LEFT="1" NAME="s_axi_lite_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rresp">
<CONNECTIONS>
<CONNECTION INSTANCE="ps_axi_periph" PORT="M00_AXI_rresp"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" LEFT="31" NAME="m_axi_mm2s_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_araddr">
<PORT DIR="O" LEFT="7" NAME="m_axi_mm2s_arlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arlen">
<PORT DIR="O" LEFT="2" NAME="m_axi_mm2s_arsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arsize">
<PORT DIR="O" LEFT="1" NAME="m_axi_mm2s_arburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arburst">
<PORT DIR="O" LEFT="2" NAME="m_axi_mm2s_arprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arprot">
<PORT DIR="O" LEFT="3" NAME="m_axi_mm2s_arcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arcache">
<PORT DIR="O" NAME="m_axi_mm2s_arvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arvalid">
<PORT DIR="I" NAME="m_axi_mm2s_arready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arready">
<PORT DIR="I" LEFT="31" NAME="m_axi_mm2s_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rdata">
<PORT DIR="I" LEFT="1" NAME="m_axi_mm2s_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rresp">
<PORT DIR="I" NAME="m_axi_mm2s_rlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rlast">
<PORT DIR="I" NAME="m_axi_mm2s_rvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rvalid">
<PORT DIR="O" NAME="m_axi_mm2s_rready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rready">
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="mm2s_prmry_reset_out_n" POLARITY="ACTIVE_LOW" SIGIS="rst"/>
<PORT DIR="O" LEFT="31" NAME="m_axis_mm2s_tdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tdata">
<CONNECTIONS>
<CONNECTION INSTANCE="pixel" PORT="din_TDATA"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" LEFT="3" NAME="m_axis_mm2s_tkeep" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tkeep">
<CONNECTIONS>
<CONNECTION INSTANCE="pixel" PORT="din_TKEEP"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="m_axis_mm2s_tvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tvalid">
<CONNECTIONS>
<CONNECTION INSTANCE="pixel" PORT="din_TVALID"/>
</CONNECTIONS>
</PORT>
<PORT DIR="I" NAME="m_axis_mm2s_tready" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tready">
<CONNECTIONS>
<CONNECTION INSTANCE="pixel" PORT="din_TREADY"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="m_axis_mm2s_tlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tlast">
<CONNECTIONS>
<CONNECTION INSTANCE="pixel" PORT="din_TLAST"/>
</CONNECTIONS>
</PORT>
<PORT DIR="O" LEFT="31" NAME="m_axi_s2mm_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awaddr">
<PORT DIR="O" LEFT="7" NAME="m_axi_s2mm_awlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awlen">
<PORT DIR="O" LEFT="2" NAME="m_axi_s2mm_awsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awsize">
<PORT DIR="O" LEFT="1" NAME="m_axi_s2mm_awburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awburst">
<PORT DIR="O" LEFT="2" NAME="m_axi_s2mm_awprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awprot">
<PORT DIR="O" LEFT="3" NAME="m_axi_s2mm_awcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awcache">
<PORT DIR="O" NAME="m_axi_s2mm_awvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awvalid">
<PORT DIR="I" NAME="m_axi_s2mm_awready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awready">
<PORT DIR="O" LEFT="31" NAME="m_axi_s2mm_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wdata">
<PORT DIR="O" LEFT="3" NAME="m_axi_s2mm_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wstrb">
<PORT DIR="O" NAME="m_axi_s2mm_wlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wlast">
<PORT DIR="O" NAME="m_axi_s2mm_wvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wvalid">
<PORT DIR="I" NAME="m_axi_s2mm_wready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wready">
<PORT DIR="I" LEFT="1" NAME="m_axi_s2mm_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bresp">
<PORT DIR="I" NAME="m_axi_s2mm_bvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bvalid">
<PORT DIR="O" NAME="m_axi_s2mm_bready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bready">
</CONNECTIONS>
</PORT>
<PORT DIR="O" NAME="s2mm_prmry_reset_out_n" POLARITY="ACTIVE_LOW" SIGIS="rst"/>
<PORT DIR="I" LEFT="31" NAME="s_axis_s2mm_tdata" RIGHT="0" SIGIS="undef"/>
<PORT DIR="I" LEFT="3" NAME="s_axis_s2mm_tkeep" RIGHT="0" SIGIS="undef"/>
<PORT DIR="I" NAME="s_axis_s2mm_tvalid" SIGIS="undef"/>
<PORT DIR="O" NAME="s_axis_s2mm_tready" SIGIS="undef"/>
<PORT DIR="I" NAME="s_axis_s2mm_tlast" SIGIS="undef"/>
<PORT DIR="O" NAME="mm2s_introut" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT"/>
<PORT DIR="O" NAME="s2mm_introut" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT"/>
</PORTS>
<BUSINTERFACES>
<BUSINTERFACE BUSNAME="ps_axi_periph_M00_AXI" DATAWIDTH="32" NAME="S_AXI_LITE" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0">
<PARAMETER NAME="DATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="PROTOCOL" VALUE="AXI4LITE"/>
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
<PARAMETER NAME="ID_WIDTH" VALUE="0"/>
<PARAMETER NAME="ADDR_WIDTH" VALUE="10"/>
<PARAMETER NAME="AWUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="ARUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="WUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="RUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="BUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="READ_WRITE_MODE" VALUE="READ_WRITE"/>
<PARAMETER NAME="HAS_BURST" VALUE="0"/>
<PARAMETER NAME="HAS_LOCK" VALUE="0"/>
<PARAMETER NAME="HAS_PROT" VALUE="0"/>
<PARAMETER NAME="HAS_CACHE" VALUE="0"/>
<PARAMETER NAME="HAS_QOS" VALUE="0"/>
<PARAMETER NAME="HAS_REGION" VALUE="0"/>
<PARAMETER NAME="HAS_WSTRB" VALUE="0"/>
<PARAMETER NAME="HAS_BRESP" VALUE="1"/>
<PARAMETER NAME="HAS_RRESP" VALUE="1"/>
<PARAMETER NAME="SUPPORTS_NARROW_BURST" VALUE="0"/>
<PARAMETER NAME="NUM_READ_OUTSTANDING" VALUE="2"/>
<PARAMETER NAME="NUM_WRITE_OUTSTANDING" VALUE="2"/>
<PARAMETER NAME="MAX_BURST_LENGTH" VALUE="1"/>
<PARAMETER NAME="PHASE" VALUE="0.000"/>
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
<PARAMETER NAME="NUM_READ_THREADS" VALUE="1"/>
<PARAMETER NAME="NUM_WRITE_THREADS" VALUE="1"/>
<PARAMETER NAME="RUSER_BITS_PER_BYTE" VALUE="0"/>
<PARAMETER NAME="WUSER_BITS_PER_BYTE" VALUE="0"/>
<PARAMETER NAME="INSERT_VIP" VALUE="0"/>
<PORTMAPS>
<PORTMAP LOGICAL="ARADDR" PHYSICAL="s_axi_lite_araddr"/>
<PORTMAP LOGICAL="ARREADY" PHYSICAL="s_axi_lite_arready"/>
<PORTMAP LOGICAL="ARVALID" PHYSICAL="s_axi_lite_arvalid"/>
<PORTMAP LOGICAL="AWADDR" PHYSICAL="s_axi_lite_awaddr"/>
<PORTMAP LOGICAL="AWREADY" PHYSICAL="s_axi_lite_awready"/>
<PORTMAP LOGICAL="AWVALID" PHYSICAL="s_axi_lite_awvalid"/>
<PORTMAP LOGICAL="BREADY" PHYSICAL="s_axi_lite_bready"/>
<PORTMAP LOGICAL="BRESP" PHYSICAL="s_axi_lite_bresp"/>
<PORTMAP LOGICAL="BVALID" PHYSICAL="s_axi_lite_bvalid"/>
<PORTMAP LOGICAL="RDATA" PHYSICAL="s_axi_lite_rdata"/>
<PORTMAP LOGICAL="RREADY" PHYSICAL="s_axi_lite_rready"/>
<PORTMAP LOGICAL="RRESP" PHYSICAL="s_axi_lite_rresp"/>
<PORTMAP LOGICAL="RVALID" PHYSICAL="s_axi_lite_rvalid"/>
<PORTMAP LOGICAL="WDATA" PHYSICAL="s_axi_lite_wdata"/>
<PORTMAP LOGICAL="WREADY" PHYSICAL="s_axi_lite_wready"/>
<PORTMAP LOGICAL="WVALID" PHYSICAL="s_axi_lite_wvalid"/>
</PORTMAPS>
</BUSINTERFACE>
<BUSINTERFACE BUSNAME="axi_dma_0_M_AXI_MM2S" DATAWIDTH="32" NAME="M_AXI_MM2S" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0">
<PARAMETER NAME="SUPPORTS_NARROW_BURST" VALUE="0"/>
<PARAMETER NAME="NUM_READ_OUTSTANDING" VALUE="16"/>
<PARAMETER NAME="DATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="PROTOCOL" VALUE="AXI4"/>
<PARAMETER NAME="ID_WIDTH" VALUE="0"/>
<PARAMETER NAME="ADDR_WIDTH" VALUE="32"/>
<PARAMETER NAME="AWUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="ARUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="WUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="RUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="BUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="READ_WRITE_MODE" VALUE="READ_ONLY"/>
<PARAMETER NAME="HAS_BURST" VALUE="0"/>
<PARAMETER NAME="HAS_LOCK" VALUE="0"/>
<PARAMETER NAME="HAS_PROT" VALUE="1"/>
<PARAMETER NAME="HAS_CACHE" VALUE="1"/>
<PARAMETER NAME="HAS_QOS" VALUE="0"/>
<PARAMETER NAME="HAS_REGION" VALUE="0"/>
<PARAMETER NAME="HAS_WSTRB" VALUE="0"/>
<PARAMETER NAME="HAS_BRESP" VALUE="0"/>
<PARAMETER NAME="HAS_RRESP" VALUE="1"/>
<PARAMETER NAME="NUM_WRITE_OUTSTANDING" VALUE="2"/>
<PARAMETER NAME="MAX_BURST_LENGTH" VALUE="16"/>
<PARAMETER NAME="PHASE" VALUE="0.000"/>
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
<PARAMETER NAME="NUM_READ_THREADS" VALUE="1"/>
<PARAMETER NAME="NUM_WRITE_THREADS" VALUE="1"/>
<PARAMETER NAME="RUSER_BITS_PER_BYTE" VALUE="0"/>
<PARAMETER NAME="WUSER_BITS_PER_BYTE" VALUE="0"/>
<PARAMETER NAME="INSERT_VIP" VALUE="0"/>
<PORTMAPS>
<PORTMAP LOGICAL="ARADDR" PHYSICAL="m_axi_mm2s_araddr"/>
<PORTMAP LOGICAL="ARBURST" PHYSICAL="m_axi_mm2s_arburst"/>
<PORTMAP LOGICAL="ARCACHE" PHYSICAL="m_axi_mm2s_arcache"/>
<PORTMAP LOGICAL="ARLEN" PHYSICAL="m_axi_mm2s_arlen"/>
<PORTMAP LOGICAL="ARPROT" PHYSICAL="m_axi_mm2s_arprot"/>
<PORTMAP LOGICAL="ARREADY" PHYSICAL="m_axi_mm2s_arready"/>
<PORTMAP LOGICAL="ARSIZE" PHYSICAL="m_axi_mm2s_arsize"/>
<PORTMAP LOGICAL="ARVALID" PHYSICAL="m_axi_mm2s_arvalid"/>
<PORTMAP LOGICAL="RDATA" PHYSICAL="m_axi_mm2s_rdata"/>
<PORTMAP LOGICAL="RLAST" PHYSICAL="m_axi_mm2s_rlast"/>
<PORTMAP LOGICAL="RREADY" PHYSICAL="m_axi_mm2s_rready"/>
<PORTMAP LOGICAL="RRESP" PHYSICAL="m_axi_mm2s_rresp"/>
<PORTMAP LOGICAL="RVALID" PHYSICAL="m_axi_mm2s_rvalid"/>
</PORTMAPS>
</BUSINTERFACE>
<BUSINTERFACE BUSNAME="axi_dma_0_M_AXI_S2MM" DATAWIDTH="32" NAME="M_AXI_S2MM" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0">
<PARAMETER NAME="SUPPORTS_NARROW_BURST" VALUE="0"/>
<PARAMETER NAME="NUM_WRITE_OUTSTANDING" VALUE="16"/>
<PARAMETER NAME="DATA_WIDTH" VALUE="32"/>
<PARAMETER NAME="PROTOCOL" VALUE="AXI4"/>
<PARAMETER NAME="ID_WIDTH" VALUE="0"/>
<PARAMETER NAME="ADDR_WIDTH" VALUE="32"/>
<PARAMETER NAME="AWUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="ARUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="WUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="RUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="BUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="READ_WRITE_MODE" VALUE="WRITE_ONLY"/>
<PARAMETER NAME="HAS_BURST" VALUE="0"/>
<PARAMETER NAME="HAS_LOCK" VALUE="0"/>
<PARAMETER NAME="HAS_PROT" VALUE="1"/>
<PARAMETER NAME="HAS_CACHE" VALUE="1"/>
<PARAMETER NAME="HAS_QOS" VALUE="0"/>
<PARAMETER NAME="HAS_REGION" VALUE="0"/>
<PARAMETER NAME="HAS_WSTRB" VALUE="1"/>
<PARAMETER NAME="HAS_BRESP" VALUE="1"/>
<PARAMETER NAME="HAS_RRESP" VALUE="0"/>
<PARAMETER NAME="NUM_READ_OUTSTANDING" VALUE="2"/>
<PARAMETER NAME="MAX_BURST_LENGTH" VALUE="16"/>
<PARAMETER NAME="PHASE" VALUE="0.000"/>
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
<PARAMETER NAME="NUM_READ_THREADS" VALUE="1"/>
<PARAMETER NAME="NUM_WRITE_THREADS" VALUE="1"/>
<PARAMETER NAME="RUSER_BITS_PER_BYTE" VALUE="0"/>
<PARAMETER NAME="WUSER_BITS_PER_BYTE" VALUE="0"/>
<PARAMETER NAME="INSERT_VIP" VALUE="0"/>
<PORTMAPS>
<PORTMAP LOGICAL="AWADDR" PHYSICAL="m_axi_s2mm_awaddr"/>
<PORTMAP LOGICAL="AWBURST" PHYSICAL="m_axi_s2mm_awburst"/>
<PORTMAP LOGICAL="AWCACHE" PHYSICAL="m_axi_s2mm_awcache"/>
<PORTMAP LOGICAL="AWLEN" PHYSICAL="m_axi_s2mm_awlen"/>
<PORTMAP LOGICAL="AWPROT" PHYSICAL="m_axi_s2mm_awprot"/>
<PORTMAP LOGICAL="AWREADY" PHYSICAL="m_axi_s2mm_awready"/>
<PORTMAP LOGICAL="AWSIZE" PHYSICAL="m_axi_s2mm_awsize"/>
<PORTMAP LOGICAL="AWVALID" PHYSICAL="m_axi_s2mm_awvalid"/>
<PORTMAP LOGICAL="BREADY" PHYSICAL="m_axi_s2mm_bready"/>
<PORTMAP LOGICAL="BRESP" PHYSICAL="m_axi_s2mm_bresp"/>
<PORTMAP LOGICAL="BVALID" PHYSICAL="m_axi_s2mm_bvalid"/>
<PORTMAP LOGICAL="WDATA" PHYSICAL="m_axi_s2mm_wdata"/>
<PORTMAP LOGICAL="WLAST" PHYSICAL="m_axi_s2mm_wlast"/>
<PORTMAP LOGICAL="WREADY" PHYSICAL="m_axi_s2mm_wready"/>
<PORTMAP LOGICAL="WSTRB" PHYSICAL="m_axi_s2mm_wstrb"/>
<PORTMAP LOGICAL="WVALID" PHYSICAL="m_axi_s2mm_wvalid"/>
</PORTMAPS>
</BUSINTERFACE>
<BUSINTERFACE BUSNAME="axi_dma_0_M_AXIS_MM2S" NAME="M_AXIS_MM2S" TYPE="INITIATOR" VLNV="xilinx.com:interface:axis:1.0">
<PARAMETER NAME="TDATA_NUM_BYTES" VALUE="4"/>
<PARAMETER NAME="TDEST_WIDTH" VALUE="0"/>
<PARAMETER NAME="TID_WIDTH" VALUE="0"/>
<PARAMETER NAME="TUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="HAS_TREADY" VALUE="1"/>
<PARAMETER NAME="HAS_TSTRB" VALUE="0"/>
<PARAMETER NAME="HAS_TKEEP" VALUE="1"/>
<PARAMETER NAME="HAS_TLAST" VALUE="1"/>
<PARAMETER NAME="LAYERED_METADATA" VALUE="undef"/>
<PARAMETER NAME="INSERT_VIP" VALUE="0"/>
<PARAMETER NAME="HAS_BURST" VALUE="0"/>
<PORTMAPS>
<PORTMAP LOGICAL="TDATA" PHYSICAL="m_axis_mm2s_tdata"/>
<PORTMAP LOGICAL="TKEEP" PHYSICAL="m_axis_mm2s_tkeep"/>
<PORTMAP LOGICAL="TLAST" PHYSICAL="m_axis_mm2s_tlast"/>
<PORTMAP LOGICAL="TREADY" PHYSICAL="m_axis_mm2s_tready"/>
<PORTMAP LOGICAL="TVALID" PHYSICAL="m_axis_mm2s_tvalid"/>
</PORTMAPS>
</BUSINTERFACE>
<BUSINTERFACE BUSNAME="__NOC__" NAME="S_AXIS_S2MM" TYPE="TARGET" VLNV="xilinx.com:interface:axis:1.0">
<PARAMETER NAME="TDATA_NUM_BYTES" VALUE="4"/>
<PARAMETER NAME="TDEST_WIDTH" VALUE="0"/>
<PARAMETER NAME="TID_WIDTH" VALUE="0"/>
<PARAMETER NAME="TUSER_WIDTH" VALUE="0"/>
<PARAMETER NAME="HAS_TREADY" VALUE="1"/>
<PARAMETER NAME="HAS_TSTRB" VALUE="0"/>
<PARAMETER NAME="HAS_TKEEP" VALUE="1"/>
<PARAMETER NAME="HAS_TLAST" VALUE="1"/>
<PARAMETER NAME="LAYERED_METADATA" VALUE="undef"/>
<PARAMETER NAME="INSERT_VIP" VALUE="0"/>
<PORTMAPS>
<PORTMAP LOGICAL="TDATA" PHYSICAL="s_axis_s2mm_tdata"/>
<PORTMAP LOGICAL="TKEEP" PHYSICAL="s_axis_s2mm_tkeep"/>
<PORTMAP LOGICAL="TLAST" PHYSICAL="s_axis_s2mm_tlast"/>
<PORTMAP LOGICAL="TREADY" PHYSICAL="s_axis_s2mm_tready"/>
<PORTMAP LOGICAL="TVALID" PHYSICAL="s_axis_s2mm_tvalid"/>
</PORTMAPS>
</BUSINTERFACE>
</BUSINTERFACES>
<MEMORYMAP>
<MEMRANGE ADDRESSBLOCK="HP0_DDR_LOWOCM" BASENAME="C_BASEADDR" BASEVALUE="0x00000000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0x0FFFFFFF" INSTANCE="ps" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_MM2S" MEMTYPE="MEMORY" SLAVEBUSINTERFACE="S_AXI_HP0"/>
<MEMRANGE ADDRESSBLOCK="HP0_DDR_LOWOCM" BASENAME="C_BASEADDR" BASEVALUE="0x00000000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0x0FFFFFFF" INSTANCE="ps" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_S2MM" MEMTYPE="MEMORY" SLAVEBUSINTERFACE="S_AXI_HP0"/>
<MEMRANGE ADDRESSBLOCK="HP1_DDR_LOWOCM" BASENAME="C_BASEADDR" BASEVALUE="0x10000000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0x1FFFFFFF" INSTANCE="ps" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_MM2S" MEMTYPE="MEMORY" SLAVEBUSINTERFACE="S_AXI_HP1"/>
<MEMRANGE ADDRESSBLOCK="HP1_DDR_LOWOCM" BASENAME="C_BASEADDR" BASEVALUE="0x10000000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0x1FFFFFFF" INSTANCE="ps" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_S2MM" MEMTYPE="MEMORY" SLAVEBUSINTERFACE="S_AXI_HP1"/>
</MEMORYMAP>
<PERIPHERALS>
<PERIPHERAL INSTANCE="ps"/>
<PERIPHERAL INSTANCE="pixel"/>
</PERIPHERALS>
</MODULE>
<MODULE COREREVISION="23" FULLNAME="/axi_dma_1" HWVERSION="7.1" INSTANCE="axi_dma_1" IPTYPE="PERIPHERAL" IS_ENABLE="1" MODCLASS="PERIPHERAL" MODTYPE="axi_dma" VLNV="xilinx.com:ip:axi_dma:7.1">
<DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_dma;v=v7_1;d=pg021_axi_dma.pdf"/>
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
<ADDRESSBLOCKS>
<ADDRESSBLOCK ACCESS="read-write" INTERFACE="S_AXI_LITE" NAME="Reg" RANGE="4096" USAGE="register">
<REGISTERS>
<REGISTER NAME="MM2S_DMACR">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Control Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x0"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="true"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x10002"/>
<FIELDS>
<FIELD NAME="RS">
<PROPERTY NAME="DESCRIPTION" VALUE="Run / Stop control for controlling running and stopping of the DMA channel.
 0 - Stop – DMA stops when current (if any) DMA operations are complete. For Scatter / Gather Mode pending commands/transfers are flushed or completed. 
 AXI4-Stream outs are potentially terminated early. Descriptors in the update queue are allowed to finish updating to remote memory before engine halt.
 For Direct Register mode pending commands/transfers are flushed or completed. AXI4-Stream outs are potentially terminated.
 The halted bit in the DMA Status register asserts to 1 when the DMA engine is halted. This bit is cleared by AXI DMA hardware when an error occurs. The CPU can also choose to clear this bit to stop DMA operations.
 1 - Run – Start DMA operations. The halted bit in the DMA Status register deasserts to 0 when the DMA engine begins operations.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Reset">
<PROPERTY NAME="DESCRIPTION" VALUE="Soft reset for resetting the AXI DMA core. Setting this bit to a 1 causes the AXI DMA to be reset. Reset is accomplished gracefully. Pending commands/transfers are flushed or completed.
AXI4-Stream outs are potentially terminated early. Setting either MM2S_DMACR. Reset = 1 or S2MM_DMACR.Reset = 1 resets the entire AXI DMA engine. After completion of a soft reset, all registers and bits are in the Reset State. 0 - Normal operation. 1 - Reset in progress.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="2"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="2"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Keyhole">
<PROPERTY NAME="DESCRIPTION" VALUE="Keyhole Read. Setting this bit to 1 causes AXI DMA to initiate MM2S reads (AXI4read) in non-incrementing address mode (Fixed Address Burst transfer on AXI4). This bit can be updated when AXI DMA is in idle. When using keyhole operation the Max Burst Length should not exceed 16. This bit should not be set when DRE is enabled.
This bit is non functional when the multichannel feature is enabled or in Direct Register mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="3"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="3"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Cyclic_BD_Enable">
<PROPERTY NAME="DESCRIPTION" VALUE="When set to 1, the DMA operates in Cyclic Buffer Descriptor (BD) mode without any user intervention. In this mode, the Scatter Gather module ignores the Completed bit of the BD. With this bit set, you can use the same BDs in cyclic manner without worrying about any stale descriptor errors.
This bit should be set/unset only when the DMA is idle or when not running. Updating this bit while the DMA is running can result in unexpected behavior.
This bit is non functional when DMA operates in multichannel mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="4"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="4"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="IOC_IrqEn">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt on Complete (IOC) Interrupt Enable. When set to 1, allows DMASR.IOC_Irq to generate an interrupt out for descriptors with the IOC bit set. 0 - IOC Interrupt disabled 1 - IOC Interrupt enabled
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="12"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="12"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Dly_IrqEn">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt on Delay Timer Interrupt Enable. When set to 1, allows DMASR.Dly_Irq to generate an interrupt out. 0 - Delay Interrupt disabled 1 - Delay Interrupt enabled Note: This field is ignored when AXI DMA is configured for Direct Register Mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="13"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="13"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Err_IrqEn">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt on Error Interrupt Enable.
 0 - Error Interrupt disabled
 1 - Error Interrupt enabled
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="14"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="14"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="IRQThreshold">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt Threshold. This value is used for setting the interrupt threshold. When IOC interrupt events occur, an internal counter counts down from the Interrupt Threshold setting. When the count reaches zero, an interrupt out is generated by the DMA engine. Note: The minimum setting for the threshold is 0x01. A write of 0x00 to this register has no effect. Note: This field is ignored when AXI DMA is configured for Direct Register Mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="16"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="16"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="8"/>
</FIELD>
<FIELD NAME="IRQDelay">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt Delay Time Out. This value is used for setting the interrupt timeout value. The interrupt timeout mechanism causes the DMA engine to generate an interrupt after the delay time period has expired. Timer begins counting at the end of a packet and resets with receipt of a new packet or a timeout event occurs.
Note: Setting this value to zero disables the delay timer interrupt.
Note: This field is ignored when AXI DMA is configured for Direct Register Mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="24"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="24"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="8"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_DMASR">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Status Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x04"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="true"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x10000"/>
<FIELDS>
<FIELD NAME="Halted">
<PROPERTY NAME="DESCRIPTION" VALUE="DMA Channel Halted. Indicates the run/stop state of the DMA channel. 0 - DMA channel running. 1 - DMA channel halted. For Scatter / Gather Mode this bit gets set when DMACR.RS = 0 and DMA and SG operations have halted. For Direct Register mode (C_INCLUDE_SG = 0) this bit gets set when DMACR.RS = 0 and DMA operations have halted. There can be a lag of time between when DMACR.RS = 0 and when DMASR.Halted = 1 Note: When halted (RS= 0 and Halted = 1), writing to CURDESC_PTR or TAILDESC_PTR pointer registers has no effect on DMA operations when in Scatter Gather Mode. For Direct Register Mode, writing to the LENGTH register has no effect on DMA operations.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Idle">
<PROPERTY NAME="DESCRIPTION" VALUE="DMA Channel Idle. Indicates the state of AXI DMA operations.
For Scatter / Gather Mode when IDLE indicates the SG Engine has reached the tail pointer for the associated channel and all queued descriptors have been processed. Writing to the tail pointer register automatically restarts DMA operations.
For Direct Register Mode when IDLE indicates the current transfer has completed. 0 - Not Idle. For Scatter / Gather Mode, SG has not reached tail descriptor pointer and/or DMA operations in progress. For Direct Register Mode, transfer is not complete. 1 - Idle. For Scatter / Gather Mode, SG has reached tail descriptor pointer and DMA operation paused. for Direct Register Mode, DMA transfer has completed and controller is paused. Note: This bit is 0 when channel is halted (DMASR.Halted=1). This bit is also 0 prior to initial transfer when AXI DMA configured for Direct Register Mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="1"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="1"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="SGIncld">
<PROPERTY NAME="DESCRIPTION" VALUE="1 - Scatter Gather Enabled
0 - Scatter Gather not enabled
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="3"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="3"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="DMAIntErr">
<PROPERTY NAME="DESCRIPTION" VALUE="DMA Internal Error. Internal error occurs if the buffer length specified in the fetched descriptor is set to 0. This error condition causes the AXI DMA to halt gracefully. The DMACR.RS bit is set to 0, and when the engine has completely shut down, the DMASR.Halted bit is set to 1. 0 - No DMA Internal Errors 1 - DMA Internal Error detected. DMA Engine halts
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="4"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="4"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="DMASlvErr">
<PROPERTY NAME="DESCRIPTION" VALUE="DMA Slave Error. This error occurs if the slave read from the Memory Map interface issues a Slave Error. This error condition causes the AXI DMA to halt gracefully. The DMACR.RS bit is set to 0, and when the engine has completely shut down, the DMASR.Halted bit is set to 1. 0 - No DMA Slave Errors. 1 - DMA Slave Error detected. DMA Engine halts
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="5"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="5"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="DMADecErr">
<PROPERTY NAME="DESCRIPTION" VALUE="DMA Decode Error. This error occurs if the address request points to an invalid address. This error condition causes the AXI DMA to halt gracefully. The DMACR.RS bit is set to 0, and when the engine has completely shut down, the DMASR.Halted bit is set to 1. 0 - No DMA Decode Errors. 1 - DMA Decode Error detected. DMA Engine halts.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="6"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="6"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="SGIntErr">
<PROPERTY NAME="DESCRIPTION" VALUE="Scatter Gather Internal Error. This error occurs if a descriptor with the “Complete bit” already set is fetched. Refer to the Scatter Gather Descriptor section for more information.This indicates to the SG Engine that the descriptor is a stale descriptor. This error condition causes the AXI DMA to halt gracefully. The DMACR.RS bit is set to 0, and when the engine has completely shut down, the DMASR.Halted bit is set to 1. 0 - No SG Internal Errors. 1 - SG Internal Error detected. DMA Engine halts. Note: This bit is not used and is fixed at 0 when AXI DMA is configured for Direct Register Mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="8"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="8"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="SGSlvErr">
<PROPERTY NAME="DESCRIPTION" VALUE="Scatter Gather Slave Error. This error occurs if the slave read from on the Memory Map interface issues a Slave error. This error condition causes the AXI DMA to halt gracefully. The DMACR.RS bit is set to 0, and when the engine has completely shut down, the DMASR.Halted bit is set to 1. 0 - No SG Slave Errors. 1 - SG Slave Error detected. DMA Engine halts. Note: This bit is not used and is fixed at 0 when AXI DMA is configured for Direct Register Mode. 
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="9"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="9"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="SGDecErr">
<PROPERTY NAME="DESCRIPTION" VALUE="Scatter Gather Decode Error. This error occurs if CURDESC_PTR and/or NXTDESC_PTR points to an invalid address. This error condition causes the AXI DMA to halt gracefully. The DMACR.RS bit is set to 0, and when the engine has completely shut down, the DMASR.Halted bit is set to 1. 0 - No SG Decode Errors. 1 - SG Decode Error detected. DMA Engine halts. Note: This bit is not used and is fixed at 0 when AXI DMA is configured for Direct Register Mode. 
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="10"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="10"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="IOC_Irq">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt on Complete. When set to 1 for Scatter/Gather Mode, indicates an interrupt event was generated on completion of a descriptor. This occurs for descriptors with the End of Frame (EOF) bit set. When set to 1 for Direct Register Mode, indicates an interrupt event was generated on completion of a transfer. If the corresponding bit is enabled in the MM2S_DMACR (IOC_IrqEn = 1) and if the interrupt threshold has been met, causes an interrupt out to be generated from the AXI DMA. 0 - No IOC Interrupt. 1 - IOC Interrupt detected. Writing a 1 to this bit will clear it.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="12"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE="oneToClear"/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="12"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Dly_Irq">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt on Delay. When set to 1, indicates an interrupt event was generated on delay timer time out. If the corresponding bit is enabled in the MM2S_DMACR (Dly_IrqEn = 1), an interrupt out is generated from the AXI DMA. 0 - No Delay Interrupt. 1 - Delay Interrupt detected. Note: This bit is not used and is fixed at 0 when AXI DMA is configured for Direct Register Mode. 
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="13"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE="oneToClear"/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="13"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Err_Irq">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt on Error. When set to 1, indicates an interrupt event was generated on error. If the corresponding bit is enabled in the MM2S_DMACR (Err_IrqEn = 1), an interrupt out is generated from the AXI DMA.
Writing a 1 to this bit will clear it. 
0 - No error Interrupt. 
1 - Error interrupt detected.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="14"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE="oneToClear"/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="14"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="IRQThresholdSts">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt Threshold Status. Indicates current interrupt threshold value.
Note: Applicable only when Scatter Gather is enabled.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="16"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="16"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="8"/>
</FIELD>
<FIELD NAME="IRQDelaySts">
<PROPERTY NAME="DESCRIPTION" VALUE="Interrupt Delay Time Status. Indicates current interrupt delay time value.
Note: Applicable only when Scatter Gather is enabled.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="24"/>
<PROPERTY NAME="ACCESS" VALUE="read-only"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="24"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="8"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_CURDESC">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Current Descriptor Pointer Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x08"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="false"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Current_Descriptor_Pointer">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the pointer of the current descriptor being worked on. This register must contain a pointer to a valid descriptor prior to writing the TAILDESC_PTR register. Otherwise, undefined results occur. When DMACR.RS is 1, CURDESC_PTR becomes Read Only (RO) and is used to fetch the first descriptor.
When the DMA Engine is running (DMACR.RS=1), CURDESC_PTR registers are updated by AXI DMA to indicate the current descriptor being worked on.
On error detection, CURDESC_PTR is updated to reflect the descriptor associated with the detected error.
Note: The register can only be written to by the CPU when the DMA Engine is Halted (DMACR.RS=0 and DMASR.Halted =1). At all other times, this register is Read Only (RO). Descriptors must be 16 word aligned, that is, 0x00, 0x40, 0x80 and others. Any other alignment has undefined results.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="6"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="6"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="26"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_CURDESC_MSB">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Current Descriptor Pointer Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x0C"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="false"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Current_Descriptor_Pointer">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the pointer of the current descriptor being worked on. This register must contain a pointer to a valid descriptor prior to writing the TAILDESC_PTR register. Otherwise, undefined results occur. When DMACR.RS is 1, CURDESC_PTR becomes Read Only (RO) and is used to fetch the first descriptor.
When the DMA Engine is running (DMACR.RS=1), CURDESC_PTR registers are updated by AXI DMA to indicate the current descriptor being worked on.
On error detection, CURDESC_PTR is updated to reflect the descriptor associated with the detected error.
Note: The register can only be written to by the CPU when the DMA Engine is Halted (DMACR.RS=0 and DMASR.Halted =1). At all other times, this register is Read Only (RO). Descriptors must be 16 word aligned, that is, 0x00, 0x40, 0x80 and others. Any other alignment has undefined results.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="32"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_TAILDESC">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Tail Descriptor Pointer Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x10"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="false"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Tail_Descriptor_Pointer">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the pause pointer in a descriptor chain. The AXI DMA SG Engine pauses descriptor fetching after completing operations on the descriptor whose current descriptor pointer matches the tail descriptor pointer.
When AXI DMA Channel is not halted (DMASR.Halted = 0), a write by the CPU to the TAILDESC_PTR register causes the AXI DMA SG Engine to start fetching descriptors or restart if it was idle (DMASR.Idle = 1). If it was not idle, writing TAILDESC_PTR has no effect except to reposition the pause point.
If the AXI DMA Channel is halted (DMASR.Halted = 1 and DMACR.RS = 0), a write by the CPU to the TAILDESC_PTR register has no effect except to reposition the pause point.
Note: The software must not move the tail pointer to a location that has not been updated. The software processes and reallocates all completed descriptors (Cmplted = 1), clears the completed bits and then moves the tail pointer. The software must move the pointer to the last descriptor it updated. Descriptors must be 16-word aligned, that is, 0x00, 0x40, 0x80, and so forth. Any other alignment has undefined results. 
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="6"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="6"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="26"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_TAILDESC_MSB">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Tail Descriptor Pointer Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x14"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="false"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Tail_Descriptor_Pointer">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the pause pointer in a descriptor chain. The AXI DMA SG Engine pauses descriptor fetching after completing operations on the descriptor whose current descriptor pointer matches the tail descriptor pointer.
When AXI DMA Channel is not halted (DMASR.Halted = 0), a write by the CPU to the TAILDESC_PTR register causes the AXI DMA SG Engine to start fetching descriptors or restart if it was idle (DMASR.Idle = 1). If it was not idle, writing TAILDESC_PTR has no effect except to reposition the pause point.
If the AXI DMA Channel is halted (DMASR.Halted = 1 and DMACR.RS = 0), a write by the CPU to the TAILDESC_PTR register has no effect except to reposition the pause point.
Note: The software must not move the tail pointer to a location that has not been updated. The software processes and reallocates all completed descriptors (Cmplted = 1), clears the completed bits and then moves the tail pointer. The software must move the pointer to the last descriptor it updated. Descriptors must be 16-word aligned, that is, 0x00, 0x40, 0x80, and so forth. Any other alignment has undefined results. 
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="32"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_SA">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S Source Address Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x18"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="true"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Source_Address">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the source address AXI DMA reads from to transfer data to AXI4-Stream on the MM2S Channel.
Note: If Data Realignment Engine is included, the Source Address can be at any byte offset. If Data Realignment Engine is not included, the Source Address must be MM2S Memory Map data width aligned.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="32"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_SA_MSB">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S Source Address Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x1C"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="true"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Source_Address">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the MSB 32 bits of the source address AXI DMA reads from to transfer data to AXI4-Stream on the MM2S Channel.
Note: If Data Realignment Engine is included, the Source Address can be at any byte offset. If Data Realignment Engine is not included, the Source Address must be MM2S Memory Map data width aligned.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="32"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="MM2S_LENGTH">
<PROPERTY NAME="DESCRIPTION" VALUE="MM2S DMA Transfer Length Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x28"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="true"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x0"/>
<FIELDS>
<FIELD NAME="Length">
<PROPERTY NAME="DESCRIPTION" VALUE="Indicates the number of bytes to transfer for the MM2S channel. Writing a non-zero value to this register starts the MM2S transfer.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="26"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="SG_CTL">
<PROPERTY NAME="DESCRIPTION" VALUE="Scatter/Gather User and Cache Control Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x2C"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="false"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x03"/>
<FIELDS>
<FIELD NAME="SG_CACHE">
<PROPERTY NAME="DESCRIPTION" VALUE="Scatter/Gather Cache Control. Values written in this register reflect on the m_axi_sg_arcache and m_axi_sg_awcache signals of the M_AXI_SG interface.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="4"/>
</FIELD>
<FIELD NAME="SG_USER">
<PROPERTY NAME="DESCRIPTION" VALUE="Scatter/Gather User Control. Values written in this register reflect on the m_axi_sg_aruser and m_axi_sg_awuser signals of the M_AXI_SG interface.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="8"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="8"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="4"/>
</FIELD>
</FIELDS>
</REGISTER>
<REGISTER NAME="S2MM_DMACR">
<PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Control Register"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x30"/>
<PROPERTY NAME="SIZE" VALUE="32"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="IS_ENABLED" VALUE="true"/>
<PROPERTY NAME="RESET_VALUE" VALUE="0x10002"/>
<FIELDS>
<FIELD NAME="RS">
<PROPERTY NAME="DESCRIPTION" VALUE="Run / Stop control for controlling running and stopping of the DMA channel.
 0 - Stop – DMA stops when current (if any) DMA operations are complete. For Scatter / Gather Mode pending commands/transfers are flushed or completed. 
 AXI4-Stream outs are potentially terminated early. Descriptors in the update queue are allowed to finish updating to remote memory before engine halt.
 For Direct Register mode pending commands/transfers are flushed or completed. AXI4-Stream outs are potentially terminated. Data integrity on S2MM AXI4 cannot be guaranteed.
 The halted bit in the DMA Status register asserts to 1 when the DMA engine is halted. This bit is cleared by AXI DMA hardware when an error occurs. The CPU can also choose to clear this bit to stop DMA operations.
 1 - Run – Start DMA operations. The halted bit in the DMA Status register deasserts to 0 when the DMA engine begins operations.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="0"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Reset">
<PROPERTY NAME="DESCRIPTION" VALUE="Soft reset for resetting the AXI DMA core. Setting this bit to a 1 causes the AXI DMA to be reset. Reset is accomplished gracefully. Pending commands/transfers are flushed or completed.
AXI4-Stream outs are terminated early, if necessary with associated TLAST. Setting either MM2S_DMACR.Reset = 1 or S2MM_DMACR.Reset = 1 resets the entire AXI DMA engine. After completion of a soft reset, all registers and bits are in the Reset State. 0 - Reset not in progress. Normal operation. 1 - Reset in progress
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="2"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="2"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Keyhole">
<PROPERTY NAME="DESCRIPTION" VALUE="Keyhole Write. Setting this bit to 1 causes AXI DMA to initiate S2MM writes (AXI4 Writes) in non-incrementing address mode (Fixed Address Burst transfer on AXI4). This bit can be modified when AXI DMA is in idle. When enabling Key hole operation the maximum burst length cannot be more than 16. This bit should not be set when DRE is enabled.
This bit is non functional when DMA is used in multichannel mode.
"/>
<PROPERTY NAME="ADDRESS_OFFSET" VALUE="3"/>
<PROPERTY NAME="ACCESS" VALUE="read-write"/>
<PROPERTY NAME="MODIFIED_READ_VALUES" VALUE=""/>
<PROPERTY NAME="WRITE_CONSTRAINT" VALUE="0"/>
<PROPERTY NAME="READ_ACTION" VALUE=""/>
<PROPERTY NAME="BIT_OFFSET" VALUE="3"/>
<PROPERTY NAME="BIT_WIDTH" VALUE="1"/>
</FIELD>
<FIELD NAME="Cyclic_BD_Enable">
<PROPERTY NAME="DESCRIPTION" VALUE="When set to 1, the DMA operates in Cyclic Buffer Descriptor (BD) mode without any user intervention. In this mode, the Scatter Gather module ignores the Completed bit of the BD. With this bit set, you can use the same BDs in cyclic manner without worrying about any stale descriptor errors.
This bit is non functional when DMA operates in Multichannel mode. or in Direct Register Mode
"/>