From 2db04e14861dabce6571ebe57dc41b7d120dffe2 Mon Sep 17 00:00:00 2001 From: Vipin Thomas <vt16684@joan.th-deg.de> Date: Thu, 3 Jun 2021 04:08:54 +0200 Subject: [PATCH] new --- overlay.bit | Bin 36 -> 4045667 bytes overlay.hwh | 7136 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 7135 insertions(+), 1 deletion(-) mode change 120000 => 100644 overlay.bit mode change 120000 => 100644 overlay.hwh diff --git a/overlay.bit b/overlay.bit deleted file mode 120000 index 92d91d2..0000000 --- a/overlay.bit +++ /dev/null @@ -1 +0,0 @@ -rtl-proj/rtl.runs/impl_1/overlay.bit \ No newline at end of file diff --git a/overlay.bit b/overlay.bit new file mode 100644 index 0000000000000000000000000000000000000000..a3a8492a615907ad8fa96d0a9c518c7a5790529c GIT binary patch literal 4045667 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 z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ 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	~ 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�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 znR&kObQ7fZBtQZrKmsH{0xL`)`9(3>C%zRfbS1KHoOeD4Drk_4?auy{uyjrG#M(Lg zPu_qN{nbQ`WhnH!%aBLCWs&ms()reU14?~JfCN^QK+5~9giQmz^I6{M5xv(V<zsyC z4~ccszSsC1jTPTc-cE6w2|kl{TTp)zAOR8}0TLhq5=aLDXC>xv&i9-=NCy*YNdhE5 z0wi$k1UQ}?J2R#r0TLhq5+DH*AOR8}0eszU4rz;J=Arq*XU3!dL<rC(Cqi#!($Xd? z!}UaRrA<zR-u!9T$O{y!Bk6qUTy@w?E9KNR)4VI{(JPueGbaHOAOR8}0TLhq5+H#W zIsvl)fQ61NkgUpw)>pYa7DoakKmsIitOUYiO;D5g-t{#pb_EL!S1|ADWZl_tHmMFb zmO=s~KmsH{0wh2JB#?drYc8y29k`&enzUIK36KB@RFeS5lWNjtStLLLBtQZrKmsH{ z0xwJgvYt_?xz`cBFp1Q@*0f3OZ7@><+GHk?+WTpf+S`B{kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^p+6oJ55j+_rK zM<&c8CUEl4mIH-ej!c*b36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ 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%0DhNjn)rN;5Sn=t*kLdcT-Dm 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 zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!89!1d8pC*CP;75FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72yC{%!IV1BT)+3DMFf)n9ZY2>CWBS;Tk^br^)Wb~qpi~%6`d_l=DaOO-nMoQ mriaf@Q|DWMb?>QJ-p+r|RkLN&`s7nC<ihWO-+?Cl4*Wk>DYz&A literal 0 HcmV?d00001 diff --git a/overlay.hwh b/overlay.hwh deleted file mode 120000 index ddffc6b..0000000 --- a/overlay.hwh +++ /dev/null @@ -1 +0,0 @@ -rtl-proj/rtl.gen/sources_1/bd/overlay/hw_handoff/overlay.hwh \ No newline at end of file diff --git a/overlay.hwh b/overlay.hwh new file mode 100644 index 0000000..dbc5a6b --- /dev/null +++ b/overlay.hwh @@ -0,0 +1,7135 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<EDKSYSTEM EDWVERSION="1.2" TIMESTAMP="Thu Jun 3 03:43:53 2021" VIVADOVERSION="2020.2"> + + <SYSTEMINFO ARCH="zynq" DEVICE="7z020" NAME="overlay" PACKAGE="clg400" SPEEDGRADE="-1"/> + + <EXTERNALPORTS> + <PORT DIR="IO" NAME="DDR_cas_n" SIGIS="undef" SIGNAME="ps_DDR_CAS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_CAS_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_cke" SIGIS="undef" SIGNAME="ps_DDR_CKE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_CKE"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="100000000" DIR="IO" NAME="DDR_ck_n" SIGIS="clk" SIGNAME="ps_DDR_Clk_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_Clk_n"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="100000000" DIR="IO" NAME="DDR_ck_p" SIGIS="clk" SIGNAME="ps_DDR_Clk"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_Clk"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_cs_n" SIGIS="undef" SIGNAME="ps_DDR_CS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_CS_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_reset_n" POLARITY="ACTIVE_LOW" SIGIS="rst" SIGNAME="ps_DDR_DRSTB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_DRSTB"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_odt" SIGIS="undef" SIGNAME="ps_DDR_ODT"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_ODT"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_ras_n" SIGIS="undef" SIGNAME="ps_DDR_RAS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_RAS_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_we_n" SIGIS="undef" SIGNAME="ps_DDR_WEB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_WEB"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="2" NAME="DDR_ba" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_BankAddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_BankAddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="14" NAME="DDR_addr" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_Addr"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_Addr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="3" NAME="DDR_dm" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DM"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_DM"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="31" NAME="DDR_dq" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DQ"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_DQ"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="3" NAME="DDR_dqs_n" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DQS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_DQS_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="3" NAME="DDR_dqs_p" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DQS"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_DQS"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="53" NAME="FIXED_IO_mio" RIGHT="0" SIGIS="undef" SIGNAME="ps_MIO"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="MIO"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="FIXED_IO_ddr_vrn" SIGIS="undef" SIGNAME="ps_DDR_VRN"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_VRN"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="FIXED_IO_ddr_vrp" SIGIS="undef" SIGNAME="ps_DDR_VRP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="DDR_VRP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="FIXED_IO_ps_srstb" SIGIS="undef" SIGNAME="ps_PS_SRSTB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="PS_SRSTB"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="FIXED_IO_ps_clk" SIGIS="undef" SIGNAME="ps_PS_CLK"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="PS_CLK"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="FIXED_IO_ps_porb" SIGIS="undef" SIGNAME="ps_PS_PORB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="PS_PORB"/> + </CONNECTIONS> + </PORT> + </EXTERNALPORTS> + + <EXTERNALINTERFACES> + <BUSINTERFACE BUSNAME="ps_DDR" DATAWIDTH="8" NAME="DDR" TYPE="INITIATOR"> + <PARAMETER NAME="CAN_DEBUG" VALUE="false"/> + <PARAMETER NAME="TIMEPERIOD_PS" VALUE="1250"/> + <PARAMETER NAME="MEMORY_TYPE" VALUE="COMPONENTS"/> + <PARAMETER NAME="MEMORY_PART"/> + <PARAMETER NAME="DATA_WIDTH" VALUE="8"/> + <PARAMETER NAME="CS_ENABLED" VALUE="true"/> + <PARAMETER NAME="DATA_MASK_ENABLED" VALUE="true"/> + <PARAMETER NAME="SLOT" VALUE="Single"/> + <PARAMETER NAME="CUSTOM_PARTS"/> + <PARAMETER NAME="MEM_ADDR_MAP" VALUE="ROW_COLUMN_BANK"/> + <PARAMETER NAME="BURST_LENGTH" VALUE="8"/> + <PARAMETER NAME="AXI_ARBITRATION_SCHEME" VALUE="TDM"/> + <PARAMETER NAME="CAS_LATENCY" VALUE="11"/> + <PARAMETER NAME="CAS_WRITE_LATENCY" VALUE="11"/> + <PORTMAPS> + <PORTMAP LOGICAL="CAS_N" PHYSICAL="DDR_cas_n"/> + <PORTMAP LOGICAL="CKE" PHYSICAL="DDR_cke"/> + <PORTMAP LOGICAL="CK_N" PHYSICAL="DDR_ck_n"/> + <PORTMAP LOGICAL="CK_P" PHYSICAL="DDR_ck_p"/> + <PORTMAP LOGICAL="CS_N" PHYSICAL="DDR_cs_n"/> + <PORTMAP LOGICAL="RESET_N" PHYSICAL="DDR_reset_n"/> + <PORTMAP LOGICAL="ODT" PHYSICAL="DDR_odt"/> + <PORTMAP LOGICAL="RAS_N" PHYSICAL="DDR_ras_n"/> + <PORTMAP LOGICAL="WE_N" PHYSICAL="DDR_we_n"/> + <PORTMAP LOGICAL="BA" PHYSICAL="DDR_ba"/> + <PORTMAP LOGICAL="ADDR" PHYSICAL="DDR_addr"/> + <PORTMAP LOGICAL="DM" PHYSICAL="DDR_dm"/> + <PORTMAP LOGICAL="DQ" PHYSICAL="DDR_dq"/> + <PORTMAP LOGICAL="DQS_N" PHYSICAL="DDR_dqs_n"/> + <PORTMAP LOGICAL="DQS_P" PHYSICAL="DDR_dqs_p"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="ps_FIXED_IO" NAME="FIXED_IO" TYPE="INITIATOR"> + <PARAMETER NAME="CAN_DEBUG" VALUE="false"/> + <PORTMAPS> + <PORTMAP LOGICAL="MIO" PHYSICAL="FIXED_IO_mio"/> + <PORTMAP LOGICAL="DDR_VRN" PHYSICAL="FIXED_IO_ddr_vrn"/> + <PORTMAP LOGICAL="DDR_VRP" PHYSICAL="FIXED_IO_ddr_vrp"/> + <PORTMAP LOGICAL="PS_SRSTB" PHYSICAL="FIXED_IO_ps_srstb"/> + <PORTMAP LOGICAL="PS_CLK" PHYSICAL="FIXED_IO_ps_clk"/> + <PORTMAP LOGICAL="PS_PORB" PHYSICAL="FIXED_IO_ps_porb"/> + </PORTMAPS> + </BUSINTERFACE> + </EXTERNALINTERFACES> + + <MODULES> + <MODULE COREREVISION="23" FULLNAME="/axi_dma_0" HWVERSION="7.1" INSTANCE="axi_dma_0" IPTYPE="PERIPHERAL" IS_ENABLE="1" MODCLASS="PERIPHERAL" MODTYPE="axi_dma" VLNV="xilinx.com:ip:axi_dma:7.1"> + <DOCUMENTS> + <DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_dma;v=v7_1;d=pg021_axi_dma.pdf"/> + </DOCUMENTS> + <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
"/> + <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 Interrupt On Complete events to generate an interrupt out for descriptors with the Complete 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 error events to generate an interrupt out. 0 - Delay Interrupt disabled 1 - Delay Interrupt enabled Note: Applicable only when Scatter Gather is enabled.
"/> + <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. When set to 1, allows error events to generate an interrupt out. 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: Applicable only when Scatter Gather is enabled.
"/> + <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: Applicable only when Scatter Gather is enabled.
"/> + <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="S2MM_DMASR"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Status Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x34"/> + <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 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. 1 - Idle. 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="Scatter Gather Engine Included. DMASR.SGIncld = 1 indicates the Scatter Gather engine is included and the AXI DMA is configured for Scatter Gather mode. DMASR.SGIncld = 0 indicates the Scatter Gather engine is excluded and the AXI DMA is configured for Direct Register Mode.
"/> + <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. This error occurs if the buffer length specified in the fetched descriptor is set to 0. Also, when in Scatter Gather Mode and using the status app length field, this error occurs when the Status AXI4-Stream packet RxLength field does not match the S2MM packet being received by the S_AXIS_S2MM interface. When Scatter Gather is disabled, this error is flagged if any error occurs during Memory write or if the incoming packet is bigger than what is specified in the DMA length register.
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.
"/> + <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.
"/> + <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.
"/> + <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. This indicates to the SG Engine that the descriptor is a tail 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. Note: Applicable only when Scatter Gather is enabled. 
"/> + <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: Applicable only when Scatter Gather is enabled. 
"/> + <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: Applicable only when Scatter Gather is enabled. 
"/> + <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 in S2MM_DMACR is enabled (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 S2MM_DMACR (Dly_IrqEn = 1), an interrupt out is generated from the AXI DMA. 0 - No Delay Interrupt. 1 - Delay Interrupt detected.1 = IOC Interrupt detected. Writing a 1 to this bit will clear it. Note: Applicable only when Scatter Gather is enabled. 
"/> + <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 S2MM_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="S2MM_CURDESC"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Current Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x38"/> + <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). 
Buffer 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="S2MM_CURDESC_MSB"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Current Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x3C"/> + <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="S2MM_TAILDESC"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Tail Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x40"/> + <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 DMACR.RS bit is set to 0 (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="S2MM_TAILDESC_MSB"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Tail Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x44"/> + <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="S2MM_DA"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Destination Address Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x48"/> + <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="Destination_Address"> + <PROPERTY NAME="DESCRIPTION" VALUE="Indicates the destination address the AXI DMA writes to transfer data from AXI4-Stream on S2MM Channel.
Note: If Data Realignment Engine is included, the Destination Address can be at any byte offset. If Data Realignment Engine is not included, the Destination Address must be S2MM 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="S2MM_DA_MSB"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM Destination Address Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x4C"/> + <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="Destination_Address"> + <PROPERTY NAME="DESCRIPTION" VALUE="Indicates the MSB 32 bits of the Destination address AXI DMA writes to transfer data from AXI4-Stream on the S2MM Channel.
Note: If Data Realignment Engine is included, the Destination Address can be at any byte offset. If Data Realignment Engine is not included, the Dstination Address must be S2MM 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="S2MM_LENGTH"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Transfer Length Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x58"/> + <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 length in bytes of the S2MM buffer available to write receive data from the S2MM channel. Writing a non-zero value to this register enables S2MM channel to receive packet data.
At the completion of the S2MM transfer, the number of actual bytes written on the S2MM AXI4 interface is updated to the S2MM_LENGTH register.
Note: This value must be greater than or equal to the largest expected packet to be received on S2MM AXI4-Stream. Values smaller than the received packet result in undefined behavior. 
"/> + <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> + </REGISTERS> + </ADDRESSBLOCK> + </ADDRESSBLOCKS> + <PARAMETERS> + <PARAMETER NAME="C_S_AXI_LITE_ADDR_WIDTH" VALUE="10"/> + <PARAMETER NAME="C_S_AXI_LITE_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_DLYTMR_RESOLUTION" VALUE="125"/> + <PARAMETER NAME="C_PRMRY_IS_ACLK_ASYNC" 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"/> + <PARAMETER NAME="C_INCLUDE_SG" VALUE="0"/> + <PARAMETER NAME="C_SG_INCLUDE_STSCNTRL_STRM" VALUE="0"/> + <PARAMETER NAME="C_SG_USE_STSAPP_LENGTH" VALUE="0"/> + <PARAMETER NAME="C_SG_LENGTH_WIDTH" VALUE="26"/> + <PARAMETER NAME="C_M_AXI_SG_ADDR_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_M_AXI_SG_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_M_AXIS_MM2S_CNTRL_TDATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_S_AXIS_S2MM_STS_TDATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_MICRO_DMA" VALUE="0"/> + <PARAMETER NAME="C_INCLUDE_MM2S" VALUE="1"/> + <PARAMETER NAME="C_INCLUDE_MM2S_SF" VALUE="1"/> + <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="Component_Name" VALUE="overlay_axi_dma_0_0"/> + <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"/> + <PARAMETER NAME="c_sg_length_width" VALUE="26"/> + <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="50000000" DIR="I" NAME="s_axi_lite_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="m_axi_mm2s_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" 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_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <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"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="7" NAME="m_axi_mm2s_arlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_mm2s_arsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="m_axi_mm2s_arburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_mm2s_arprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="m_axi_mm2s_arcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_mm2s_arvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_mm2s_arready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="m_axi_mm2s_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="m_axi_mm2s_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_mm2s_rlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_rlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_mm2s_rvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_mm2s_rready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_AXI_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"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="7" NAME="m_axi_s2mm_awlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_s2mm_awsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="m_axi_s2mm_awburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_s2mm_awprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="m_axi_s2mm_awcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_awvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_s2mm_awready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="m_axi_s2mm_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="m_axi_s2mm_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wstrb"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_wlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_wlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_wvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_s2mm_wready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="m_axi_s2mm_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_s2mm_bvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_bready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_AXI_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"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="FREQ_HZ" VALUE="50000000"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="FREQ_HZ" VALUE="50000000"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="0x1FFFFFFF" 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="0x1FFFFFFF" INSTANCE="ps" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_S2MM" MEMTYPE="MEMORY" SLAVEBUSINTERFACE="S_AXI_HP0"/> + </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"> + <DOCUMENTS> + <DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_dma;v=v7_1;d=pg021_axi_dma.pdf"/> + </DOCUMENTS> + <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
"/> + <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 Interrupt On Complete events to generate an interrupt out for descriptors with the Complete 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 error events to generate an interrupt out. 0 - Delay Interrupt disabled 1 - Delay Interrupt enabled Note: Applicable only when Scatter Gather is enabled.
"/> + <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. When set to 1, allows error events to generate an interrupt out. 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: Applicable only when Scatter Gather is enabled.
"/> + <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: Applicable only when Scatter Gather is enabled.
"/> + <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="S2MM_DMASR"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Status Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x34"/> + <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 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. 1 - Idle. 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="Scatter Gather Engine Included. DMASR.SGIncld = 1 indicates the Scatter Gather engine is included and the AXI DMA is configured for Scatter Gather mode. DMASR.SGIncld = 0 indicates the Scatter Gather engine is excluded and the AXI DMA is configured for Direct Register Mode.
"/> + <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. This error occurs if the buffer length specified in the fetched descriptor is set to 0. Also, when in Scatter Gather Mode and using the status app length field, this error occurs when the Status AXI4-Stream packet RxLength field does not match the S2MM packet being received by the S_AXIS_S2MM interface. When Scatter Gather is disabled, this error is flagged if any error occurs during Memory write or if the incoming packet is bigger than what is specified in the DMA length register.
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.
"/> + <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.
"/> + <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.
"/> + <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. This indicates to the SG Engine that the descriptor is a tail 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. Note: Applicable only when Scatter Gather is enabled. 
"/> + <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: Applicable only when Scatter Gather is enabled. 
"/> + <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: Applicable only when Scatter Gather is enabled. 
"/> + <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 in S2MM_DMACR is enabled (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 S2MM_DMACR (Dly_IrqEn = 1), an interrupt out is generated from the AXI DMA. 0 - No Delay Interrupt. 1 - Delay Interrupt detected.1 = IOC Interrupt detected. Writing a 1 to this bit will clear it. Note: Applicable only when Scatter Gather is enabled. 
"/> + <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 S2MM_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="S2MM_CURDESC"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Current Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x38"/> + <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). 
Buffer 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="S2MM_CURDESC_MSB"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Current Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x3C"/> + <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="S2MM_TAILDESC"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Tail Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x40"/> + <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 DMACR.RS bit is set to 0 (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="S2MM_TAILDESC_MSB"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Tail Descriptor Pointer Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x44"/> + <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="S2MM_DA"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Destination Address Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x48"/> + <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="Destination_Address"> + <PROPERTY NAME="DESCRIPTION" VALUE="Indicates the destination address the AXI DMA writes to transfer data from AXI4-Stream on S2MM Channel.
Note: If Data Realignment Engine is included, the Destination Address can be at any byte offset. If Data Realignment Engine is not included, the Destination Address must be S2MM 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="S2MM_DA_MSB"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM Destination Address Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x4C"/> + <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="Destination_Address"> + <PROPERTY NAME="DESCRIPTION" VALUE="Indicates the MSB 32 bits of the Destination address AXI DMA writes to transfer data from AXI4-Stream on the S2MM Channel.
Note: If Data Realignment Engine is included, the Destination Address can be at any byte offset. If Data Realignment Engine is not included, the Dstination Address must be S2MM 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="S2MM_LENGTH"> + <PROPERTY NAME="DESCRIPTION" VALUE="S2MM DMA Transfer Length Register"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0x58"/> + <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 length in bytes of the S2MM buffer available to write receive data from the S2MM channel. Writing a non-zero value to this register enables S2MM channel to receive packet data.
At the completion of the S2MM transfer, the number of actual bytes written on the S2MM AXI4 interface is updated to the S2MM_LENGTH register.
Note: This value must be greater than or equal to the largest expected packet to be received on S2MM AXI4-Stream. Values smaller than the received packet result in undefined behavior. 
"/> + <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> + </REGISTERS> + </ADDRESSBLOCK> + </ADDRESSBLOCKS> + <PARAMETERS> + <PARAMETER NAME="C_S_AXI_LITE_ADDR_WIDTH" VALUE="10"/> + <PARAMETER NAME="C_S_AXI_LITE_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_DLYTMR_RESOLUTION" VALUE="125"/> + <PARAMETER NAME="C_PRMRY_IS_ACLK_ASYNC" 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"/> + <PARAMETER NAME="C_INCLUDE_SG" VALUE="0"/> + <PARAMETER NAME="C_SG_INCLUDE_STSCNTRL_STRM" VALUE="0"/> + <PARAMETER NAME="C_SG_USE_STSAPP_LENGTH" VALUE="0"/> + <PARAMETER NAME="C_SG_LENGTH_WIDTH" VALUE="26"/> + <PARAMETER NAME="C_M_AXI_SG_ADDR_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_M_AXI_SG_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_M_AXIS_MM2S_CNTRL_TDATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_S_AXIS_S2MM_STS_TDATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_MICRO_DMA" VALUE="0"/> + <PARAMETER NAME="C_INCLUDE_MM2S" VALUE="1"/> + <PARAMETER NAME="C_INCLUDE_MM2S_SF" VALUE="1"/> + <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="Component_Name" VALUE="overlay_axi_dma_1_0"/> + <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"/> + <PARAMETER NAME="c_sg_length_width" VALUE="26"/> + <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="0x41E10000"/> + <PARAMETER NAME="C_HIGHADDR" VALUE="0x41E1FFFF"/> + </PARAMETERS> + <PORTS> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="s_axi_lite_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="m_axi_mm2s_aclk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" 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_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_lite_awvalid" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_lite_awready" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="9" NAME="s_axi_lite_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_lite_wvalid" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_lite_wready" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="s_axi_lite_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="s_axi_lite_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_lite_bvalid" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_lite_bready" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_lite_arvalid" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_lite_arready" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="9" NAME="s_axi_lite_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_lite_rvalid" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_lite_rready" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="s_axi_lite_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="s_axi_lite_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_AXI_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="m_axi_mm2s_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="7" NAME="m_axi_mm2s_arlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_mm2s_arsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="m_axi_mm2s_arburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_mm2s_arprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="m_axi_mm2s_arcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_mm2s_arvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_mm2s_arready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="m_axi_mm2s_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="m_axi_mm2s_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_mm2s_rlast" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_rlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_mm2s_rvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_mm2s_rready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_AXI_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"/> + <PORT DIR="O" LEFT="3" NAME="m_axis_mm2s_tkeep" RIGHT="0" SIGIS="undef"/> + <PORT DIR="O" NAME="m_axis_mm2s_tvalid" SIGIS="undef"/> + <PORT DIR="I" NAME="m_axis_mm2s_tready" SIGIS="undef"/> + <PORT DIR="O" NAME="m_axis_mm2s_tlast" SIGIS="undef"/> + <PORT DIR="O" LEFT="31" NAME="m_axi_s2mm_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="7" NAME="m_axi_s2mm_awlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_s2mm_awsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="m_axi_s2mm_awburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="m_axi_s2mm_awprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="m_axi_s2mm_awcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_awvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_s2mm_awready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="m_axi_s2mm_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="m_axi_s2mm_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wstrb"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_wlast" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_wlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_wvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_s2mm_wready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="m_axi_s2mm_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="m_axi_s2mm_bvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="m_axi_s2mm_bready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_AXI_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" SIGNAME="axi_dma_1_s_axis_s2mm_tdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="dout_TDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="s_axis_s2mm_tkeep" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tkeep"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="dout_TKEEP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axis_s2mm_tvalid" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="dout_TVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axis_s2mm_tready" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tready"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="dout_TREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axis_s2mm_tlast" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="dout_TLAST"/> + </CONNECTIONS> + </PORT> + <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_M01_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"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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_1_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="FREQ_HZ" VALUE="50000000"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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_1_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="FREQ_HZ" VALUE="50000000"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="__NOC__" 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="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="pixel_dout" 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="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="0x1FFFFFFF" 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="0x1FFFFFFF" INSTANCE="ps" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_S2MM" MEMTYPE="MEMORY" SLAVEBUSINTERFACE="S_AXI_HP0"/> + </MEMORYMAP> + <PERIPHERALS> + <PERIPHERAL INSTANCE="ps"/> + </PERIPHERALS> + </MODULE> + <MODULE COREREVISION="23" FULLNAME="/axi_interconnect_0" HWVERSION="2.1" INSTANCE="axi_interconnect_0" IPTYPE="BUS" IS_ENABLE="1" MODCLASS="BUS" MODTYPE="axi_interconnect" VLNV="xilinx.com:ip:axi_interconnect:2.1"> + <DOCUMENTS> + <DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_interconnect;v=v2_1;d=pg059-axi-interconnect.pdf"/> + </DOCUMENTS> + <PARAMETERS> + <PARAMETER NAME="NUM_SI" VALUE="4"/> + <PARAMETER NAME="NUM_MI" VALUE="1"/> + <PARAMETER NAME="STRATEGY" VALUE="0"/> + <PARAMETER NAME="ENABLE_ADVANCED_OPTIONS" VALUE="0"/> + <PARAMETER NAME="ENABLE_PROTOCOL_CHECKERS" VALUE="0"/> + <PARAMETER NAME="XBAR_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="PCHK_WAITS" VALUE="0"/> + <PARAMETER NAME="PCHK_MAX_RD_BURSTS" VALUE="2"/> + <PARAMETER NAME="PCHK_MAX_WR_BURSTS" VALUE="2"/> + <PARAMETER NAME="SYNCHRONIZATION_STAGES" VALUE="3"/> + <PARAMETER NAME="M00_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M01_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M02_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M03_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M04_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M05_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M06_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M07_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M08_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M09_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M10_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M11_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M12_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M13_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M14_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M15_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M16_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M17_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M18_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M19_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M20_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M21_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M22_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M23_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M24_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M25_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M26_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M27_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M28_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M29_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M30_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M31_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M32_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M33_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M34_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M35_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M36_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M37_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M38_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M39_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M40_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M41_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M42_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M43_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M44_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M45_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M46_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M47_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M48_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M49_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M50_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M51_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M52_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M53_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M54_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M55_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M56_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M57_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M58_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M59_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M60_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M61_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M62_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M63_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M00_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M01_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M02_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M03_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M04_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M05_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M06_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M07_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M08_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M09_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M10_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M11_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M12_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M13_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M14_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M15_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M16_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M17_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M18_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M19_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M20_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M21_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M22_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M23_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M24_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M25_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M26_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M27_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M28_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M29_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M30_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M31_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M32_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M33_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M34_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M35_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M36_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M37_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M38_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M39_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M40_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M41_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M42_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M43_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M44_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M45_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M46_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M47_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M48_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M49_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M50_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M51_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M52_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M53_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M54_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M55_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M56_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M57_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M58_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M59_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M60_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M61_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M62_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M63_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S00_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S01_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S02_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S03_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S04_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S05_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S06_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S07_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S08_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S09_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S10_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S11_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S12_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S13_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S14_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S15_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S00_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S01_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S02_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S03_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S04_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S05_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S06_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S07_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S08_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S09_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S10_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S11_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S12_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S13_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S14_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S15_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M00_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M01_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M02_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M03_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M04_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M05_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M06_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M07_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M08_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M09_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M10_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M11_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M12_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M13_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M14_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M15_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M16_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M17_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M18_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M19_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M20_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M21_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M22_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M23_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M24_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M25_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M26_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M27_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M28_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M29_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M30_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M31_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M32_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M33_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M34_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M35_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M36_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M37_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M38_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M39_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M40_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M41_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M42_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M43_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M44_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M45_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M46_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M47_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M48_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M49_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M50_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M51_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M52_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M53_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M54_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M55_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M56_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M57_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M58_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M59_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M60_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M61_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M62_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M63_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M00_SECURE" VALUE="0"/> + <PARAMETER NAME="M01_SECURE" VALUE="0"/> + <PARAMETER NAME="M02_SECURE" VALUE="0"/> + <PARAMETER NAME="M03_SECURE" VALUE="0"/> + <PARAMETER NAME="M04_SECURE" VALUE="0"/> + <PARAMETER NAME="M05_SECURE" VALUE="0"/> + <PARAMETER NAME="M06_SECURE" VALUE="0"/> + <PARAMETER NAME="M07_SECURE" VALUE="0"/> + <PARAMETER NAME="M08_SECURE" VALUE="0"/> + <PARAMETER NAME="M09_SECURE" VALUE="0"/> + <PARAMETER NAME="M10_SECURE" VALUE="0"/> + <PARAMETER NAME="M11_SECURE" VALUE="0"/> + <PARAMETER NAME="M12_SECURE" VALUE="0"/> + <PARAMETER NAME="M13_SECURE" VALUE="0"/> + <PARAMETER NAME="M14_SECURE" VALUE="0"/> + <PARAMETER NAME="M15_SECURE" VALUE="0"/> + <PARAMETER NAME="M16_SECURE" VALUE="0"/> + <PARAMETER NAME="M17_SECURE" VALUE="0"/> + <PARAMETER NAME="M18_SECURE" VALUE="0"/> + <PARAMETER NAME="M19_SECURE" VALUE="0"/> + <PARAMETER NAME="M20_SECURE" VALUE="0"/> + <PARAMETER NAME="M21_SECURE" VALUE="0"/> + <PARAMETER NAME="M22_SECURE" VALUE="0"/> + <PARAMETER NAME="M23_SECURE" VALUE="0"/> + <PARAMETER NAME="M24_SECURE" VALUE="0"/> + <PARAMETER NAME="M25_SECURE" VALUE="0"/> + <PARAMETER NAME="M26_SECURE" VALUE="0"/> + <PARAMETER NAME="M27_SECURE" VALUE="0"/> + <PARAMETER NAME="M28_SECURE" VALUE="0"/> + <PARAMETER NAME="M29_SECURE" VALUE="0"/> + <PARAMETER NAME="M30_SECURE" VALUE="0"/> + <PARAMETER NAME="M31_SECURE" VALUE="0"/> + <PARAMETER NAME="M32_SECURE" VALUE="0"/> + <PARAMETER NAME="M33_SECURE" VALUE="0"/> + <PARAMETER NAME="M34_SECURE" VALUE="0"/> + <PARAMETER NAME="M35_SECURE" VALUE="0"/> + <PARAMETER NAME="M36_SECURE" VALUE="0"/> + <PARAMETER NAME="M37_SECURE" VALUE="0"/> + <PARAMETER NAME="M38_SECURE" VALUE="0"/> + <PARAMETER NAME="M39_SECURE" VALUE="0"/> + <PARAMETER NAME="M40_SECURE" VALUE="0"/> + <PARAMETER NAME="M41_SECURE" VALUE="0"/> + <PARAMETER NAME="M42_SECURE" VALUE="0"/> + <PARAMETER NAME="M43_SECURE" VALUE="0"/> + <PARAMETER NAME="M44_SECURE" VALUE="0"/> + <PARAMETER NAME="M45_SECURE" VALUE="0"/> + <PARAMETER NAME="M46_SECURE" VALUE="0"/> + <PARAMETER NAME="M47_SECURE" VALUE="0"/> + <PARAMETER NAME="M48_SECURE" VALUE="0"/> + <PARAMETER NAME="M49_SECURE" VALUE="0"/> + <PARAMETER NAME="M50_SECURE" VALUE="0"/> + <PARAMETER NAME="M51_SECURE" VALUE="0"/> + <PARAMETER NAME="M52_SECURE" VALUE="0"/> + <PARAMETER NAME="M53_SECURE" VALUE="0"/> + <PARAMETER NAME="M54_SECURE" VALUE="0"/> + <PARAMETER NAME="M55_SECURE" VALUE="0"/> + <PARAMETER NAME="M56_SECURE" VALUE="0"/> + <PARAMETER NAME="M57_SECURE" VALUE="0"/> + <PARAMETER NAME="M58_SECURE" VALUE="0"/> + <PARAMETER NAME="M59_SECURE" VALUE="0"/> + <PARAMETER NAME="M60_SECURE" VALUE="0"/> + <PARAMETER NAME="M61_SECURE" VALUE="0"/> + <PARAMETER NAME="M62_SECURE" VALUE="0"/> + <PARAMETER NAME="M63_SECURE" VALUE="0"/> + <PARAMETER NAME="S00_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S01_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S02_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S03_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S04_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S05_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S06_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S07_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S08_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S09_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S10_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S11_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S12_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S13_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S14_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S15_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="Component_Name" VALUE="overlay_axi_interconnect_0_0"/> + <PARAMETER NAME="EDK_IPTYPE" VALUE="BUS"/> + </PARAMETERS> + <PORTS> + <PORT DIR="I" NAME="ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S03_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S03_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S03_AXI_awid" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awaddr" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awlen" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awsize" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awburst" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awlock" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awcache" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awprot" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_awvalid" SIGIS="undef"/> + <PORT DIR="O" NAME="S03_AXI_awready" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_wdata" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_wstrb" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_wlast" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_wvalid" SIGIS="undef"/> + <PORT DIR="O" NAME="S03_AXI_wready" SIGIS="undef"/> + <PORT DIR="O" NAME="S03_AXI_bid" SIGIS="undef"/> + <PORT DIR="O" NAME="S03_AXI_bresp" SIGIS="undef"/> + <PORT DIR="O" NAME="S03_AXI_bvalid" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_bready" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_arid" SIGIS="undef"/> + <PORT DIR="I" LEFT="31" NAME="S03_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="7" NAME="S03_AXI_arlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S03_AXI_arsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S03_AXI_arburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S03_AXI_arlock" SIGIS="undef"/> + <PORT DIR="I" LEFT="3" NAME="S03_AXI_arcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S03_AXI_arprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S03_AXI_arqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S03_AXI_arvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S03_AXI_arready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S03_AXI_rid" SIGIS="undef"/> + <PORT DIR="O" LEFT="31" NAME="S03_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="S03_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S03_AXI_rlast" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_rlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S03_AXI_rvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S03_AXI_rready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_mm2s_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_awid" SIGIS="undef"/> + <PORT DIR="I" LEFT="31" NAME="S02_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="7" NAME="S02_AXI_awlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S02_AXI_awsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S02_AXI_awburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_awlock" SIGIS="undef"/> + <PORT DIR="I" LEFT="3" NAME="S02_AXI_awcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S02_AXI_awprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_awqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_awvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S02_AXI_awready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S02_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S02_AXI_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wstrb"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_wlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_wlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_wvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S02_AXI_wready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S02_AXI_bid" SIGIS="undef"/> + <PORT DIR="O" LEFT="1" NAME="S02_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S02_AXI_bvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_bready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_s2mm_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S02_AXI_arid" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_araddr" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arlen" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arsize" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arburst" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arlock" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arcache" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arprot" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_arvalid" SIGIS="undef"/> + <PORT DIR="O" NAME="S02_AXI_arready" SIGIS="undef"/> + <PORT DIR="O" NAME="S02_AXI_rid" SIGIS="undef"/> + <PORT DIR="O" NAME="S02_AXI_rdata" SIGIS="undef"/> + <PORT DIR="O" NAME="S02_AXI_rresp" SIGIS="undef"/> + <PORT DIR="O" NAME="S02_AXI_rlast" SIGIS="undef"/> + <PORT DIR="O" NAME="S02_AXI_rvalid" SIGIS="undef"/> + <PORT DIR="I" NAME="S02_AXI_rready" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_awid" SIGIS="undef"/> + <PORT DIR="I" LEFT="31" NAME="S01_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="7" NAME="S01_AXI_awlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S01_AXI_awsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S01_AXI_awburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_AXI_awlock" SIGIS="undef"/> + <PORT DIR="I" LEFT="3" NAME="S01_AXI_awcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S01_AXI_awprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_AXI_awqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_awvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S01_AXI_awready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S01_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S01_AXI_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wstrb"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_AXI_wlast" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_wlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_AXI_wvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S01_AXI_wready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S01_AXI_bid" SIGIS="undef"/> + <PORT DIR="O" LEFT="1" NAME="S01_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S01_AXI_bvalid" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_AXI_bready" SIGIS="undef" SIGNAME="axi_dma_1_m_axi_s2mm_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S01_AXI_arid" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_araddr" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arlen" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arsize" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arburst" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arlock" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arcache" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arprot" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_arvalid" SIGIS="undef"/> + <PORT DIR="O" NAME="S01_AXI_arready" SIGIS="undef"/> + <PORT DIR="O" NAME="S01_AXI_rid" SIGIS="undef"/> + <PORT DIR="O" NAME="S01_AXI_rdata" SIGIS="undef"/> + <PORT DIR="O" NAME="S01_AXI_rresp" SIGIS="undef"/> + <PORT DIR="O" NAME="S01_AXI_rlast" SIGIS="undef"/> + <PORT DIR="O" NAME="S01_AXI_rvalid" SIGIS="undef"/> + <PORT DIR="I" NAME="S01_AXI_rready" SIGIS="undef"/> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_awid" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M00_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWADDR"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M00_AXI_awlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWLEN"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M00_AXI_awsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWSIZE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_awburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWBURST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_awlock" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awlock"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWLOCK"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M00_AXI_awcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWCACHE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M00_AXI_awprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWPROT"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_awregion" SIGIS="undef"/> + <PORT DIR="O" LEFT="3" NAME="M00_AXI_awqos" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awqos"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWQOS"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_awvalid" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_awready" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_AWREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="63" NAME="M00_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_WDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="7" NAME="M00_AXI_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wstrb"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_WSTRB"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_wlast" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_WLAST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_wvalid" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_WVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_wready" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_WREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="5" NAME="M00_AXI_bid" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_BID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M00_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_BRESP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_bvalid" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_BVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_bready" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_BREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_arid" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M00_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARADDR"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M00_AXI_arlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARLEN"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M00_AXI_arsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARSIZE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_arburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARBURST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_arlock" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arlock"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARLOCK"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M00_AXI_arcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARCACHE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M00_AXI_arprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARPROT"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_arregion" SIGIS="undef"/> + <PORT DIR="O" LEFT="3" NAME="M00_AXI_arqos" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arqos"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARQOS"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_arvalid" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_arready" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ARREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="5" NAME="M00_AXI_rid" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_RID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="63" NAME="M00_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_RDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M00_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_RRESP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_rlast" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_RLAST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_rvalid" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_RVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_rready" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_RREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_awid" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awaddr" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awlen" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awsize" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awburst" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awlock" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awcache" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awprot" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_awvalid" SIGIS="undef"/> + <PORT DIR="O" NAME="S00_AXI_awready" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_wdata" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_wstrb" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_wlast" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_wvalid" SIGIS="undef"/> + <PORT DIR="O" NAME="S00_AXI_wready" SIGIS="undef"/> + <PORT DIR="O" NAME="S00_AXI_bid" SIGIS="undef"/> + <PORT DIR="O" NAME="S00_AXI_bresp" SIGIS="undef"/> + <PORT DIR="O" NAME="S00_AXI_bvalid" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_bready" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_arid" SIGIS="undef"/> + <PORT DIR="I" LEFT="31" NAME="S00_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="7" NAME="S00_AXI_arlen" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S00_AXI_arsize" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S00_AXI_arburst" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_arlock" SIGIS="undef"/> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_arcache" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S00_AXI_arprot" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_arqos" SIGIS="undef"/> + <PORT DIR="I" NAME="S00_AXI_arvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_arready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_rid" SIGIS="undef"/> + <PORT DIR="O" LEFT="31" NAME="S00_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="S00_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_rlast" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_rlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_rvalid" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_rready" SIGIS="undef" SIGNAME="axi_dma_0_m_axi_mm2s_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M00_AXI_wid" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wid"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_WID"/> + </CONNECTIONS> + </PORT> + </PORTS> + <BUSINTERFACES> + <BUSINTERFACE BUSNAME="axi_dma_0_M_AXI_MM2S" DATAWIDTH="32" NAME="S00_AXI" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWID" PHYSICAL="S00_AXI_awid"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="S00_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="S00_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="S00_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="S00_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="S00_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="S00_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="S00_AXI_awprot"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="S00_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="S00_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="S00_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="S00_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="S00_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="S00_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="S00_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="S00_AXI_wready"/> + <PORTMAP LOGICAL="BID" PHYSICAL="S00_AXI_bid"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="S00_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="S00_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="S00_AXI_bready"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="S00_AXI_arid"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="S00_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="S00_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="S00_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="S00_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="S00_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="S00_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="S00_AXI_arprot"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="S00_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="S00_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="S00_AXI_arready"/> + <PORTMAP LOGICAL="RID" PHYSICAL="S00_AXI_rid"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="S00_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="S00_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="S00_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="S00_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="S00_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="axi_interconnect_0_M00_AXI" DATAWIDTH="64" NAME="M00_AXI" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWID" PHYSICAL="M00_AXI_awid"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="M00_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="M00_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="M00_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="M00_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="M00_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="M00_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="M00_AXI_awprot"/> + <PORTMAP LOGICAL="AWREGION" PHYSICAL="M00_AXI_awregion"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="M00_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="M00_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="M00_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="M00_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="M00_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="M00_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="M00_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="M00_AXI_wready"/> + <PORTMAP LOGICAL="BID" PHYSICAL="M00_AXI_bid"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="M00_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="M00_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="M00_AXI_bready"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="M00_AXI_arid"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="M00_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="M00_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="M00_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="M00_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="M00_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="M00_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="M00_AXI_arprot"/> + <PORTMAP LOGICAL="ARREGION" PHYSICAL="M00_AXI_arregion"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="M00_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="M00_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="M00_AXI_arready"/> + <PORTMAP LOGICAL="RID" PHYSICAL="M00_AXI_rid"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="M00_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="M00_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="M00_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="M00_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="M00_AXI_rready"/> + <PORTMAP LOGICAL="WID" PHYSICAL="M00_AXI_wid"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="axi_dma_1_M_AXI_S2MM" DATAWIDTH="32" NAME="S01_AXI" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWID" PHYSICAL="S01_AXI_awid"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="S01_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="S01_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="S01_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="S01_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="S01_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="S01_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="S01_AXI_awprot"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="S01_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="S01_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="S01_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="S01_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="S01_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="S01_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="S01_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="S01_AXI_wready"/> + <PORTMAP LOGICAL="BID" PHYSICAL="S01_AXI_bid"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="S01_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="S01_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="S01_AXI_bready"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="S01_AXI_arid"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="S01_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="S01_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="S01_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="S01_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="S01_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="S01_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="S01_AXI_arprot"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="S01_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="S01_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="S01_AXI_arready"/> + <PORTMAP LOGICAL="RID" PHYSICAL="S01_AXI_rid"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="S01_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="S01_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="S01_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="S01_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="S01_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="axi_dma_0_M_AXI_S2MM" DATAWIDTH="32" NAME="S02_AXI" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWID" PHYSICAL="S02_AXI_awid"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="S02_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="S02_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="S02_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="S02_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="S02_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="S02_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="S02_AXI_awprot"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="S02_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="S02_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="S02_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="S02_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="S02_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="S02_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="S02_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="S02_AXI_wready"/> + <PORTMAP LOGICAL="BID" PHYSICAL="S02_AXI_bid"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="S02_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="S02_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="S02_AXI_bready"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="S02_AXI_arid"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="S02_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="S02_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="S02_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="S02_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="S02_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="S02_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="S02_AXI_arprot"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="S02_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="S02_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="S02_AXI_arready"/> + <PORTMAP LOGICAL="RID" PHYSICAL="S02_AXI_rid"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="S02_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="S02_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="S02_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="S02_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="S02_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="axi_dma_1_M_AXI_MM2S" DATAWIDTH="32" NAME="S03_AXI" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWID" PHYSICAL="S03_AXI_awid"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="S03_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="S03_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="S03_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="S03_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="S03_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="S03_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="S03_AXI_awprot"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="S03_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="S03_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="S03_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="S03_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="S03_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="S03_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="S03_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="S03_AXI_wready"/> + <PORTMAP LOGICAL="BID" PHYSICAL="S03_AXI_bid"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="S03_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="S03_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="S03_AXI_bready"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="S03_AXI_arid"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="S03_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="S03_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="S03_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="S03_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="S03_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="S03_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="S03_AXI_arprot"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="S03_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="S03_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="S03_AXI_arready"/> + <PORTMAP LOGICAL="RID" PHYSICAL="S03_AXI_rid"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="S03_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="S03_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="S03_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="S03_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="S03_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + </BUSINTERFACES> + </MODULE> + <MODULE COREREVISION="2106030336" FULLNAME="/pixel" HWVERSION="1.0" INSTANCE="pixel" IPTYPE="PERIPHERAL" IS_ENABLE="1" MODCLASS="PERIPHERAL" MODTYPE="pixel" VLNV="xilinx.com:hls:pixel:1.0"> + <DOCUMENTS/> + <ADDRESSBLOCKS> + <ADDRESSBLOCK ACCESS="read-write" INTERFACE="s_axi_control" NAME="Reg" RANGE="65536" USAGE="register"> + <REGISTERS> + <REGISTER NAME="w"> + <PROPERTY NAME="DESCRIPTION" VALUE="Data signal of w"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="16"/> + <PROPERTY NAME="SIZE" VALUE="32"/> + <PROPERTY NAME="ACCESS" VALUE="write-only"/> + <PROPERTY NAME="IS_ENABLED" VALUE="true"/> + <PROPERTY NAME="RESET_VALUE" VALUE="0"/> + <FIELDS> + <FIELD NAME="w"> + <PROPERTY NAME="DESCRIPTION" VALUE="Bit 31 to 0 of w"/> + <PROPERTY NAME="ADDRESS_OFFSET" VALUE="0"/> + <PROPERTY NAME="ACCESS" VALUE="write-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="32"/> + </FIELD> + </FIELDS> + </REGISTER> + </REGISTERS> + </ADDRESSBLOCK> + </ADDRESSBLOCKS> + <PARAMETERS> + <PARAMETER NAME="C_S_AXI_CONTROL_ADDR_WIDTH" VALUE="5"/> + <PARAMETER NAME="C_S_AXI_CONTROL_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="Component_Name" VALUE="overlay_pixel_0"/> + <PARAMETER NAME="clk_period" VALUE="10"/> + <PARAMETER NAME="machine" VALUE="64"/> + <PARAMETER NAME="combinational" VALUE="0"/> + <PARAMETER NAME="latency" VALUE="1"/> + <PARAMETER NAME="II" VALUE="x"/> + <PARAMETER NAME="EDK_IPTYPE" VALUE="PERIPHERAL"/> + <PARAMETER NAME="C_S_AXI_CONTROL_BASEADDR" VALUE="0x40000000"/> + <PARAMETER NAME="C_S_AXI_CONTROL_HIGHADDR" VALUE="0x4000FFFF"/> + </PARAMETERS> + <PORTS> + <PORT DIR="I" LEFT="4" NAME="s_axi_control_AWADDR" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_AWADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_control_AWVALID" SIGIS="undef" SIGNAME="pixel_s_axi_control_AWVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_control_AWREADY" SIGIS="undef" SIGNAME="pixel_s_axi_control_AWREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="s_axi_control_WDATA" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_WDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="s_axi_control_WSTRB" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_WSTRB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_control_WVALID" SIGIS="undef" SIGNAME="pixel_s_axi_control_WVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_control_WREADY" SIGIS="undef" SIGNAME="pixel_s_axi_control_WREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="s_axi_control_BRESP" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_BRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_control_BVALID" SIGIS="undef" SIGNAME="pixel_s_axi_control_BVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_control_BREADY" SIGIS="undef" SIGNAME="pixel_s_axi_control_BREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="4" NAME="s_axi_control_ARADDR" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_ARADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_control_ARVALID" SIGIS="undef" SIGNAME="pixel_s_axi_control_ARVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_control_ARREADY" SIGIS="undef" SIGNAME="pixel_s_axi_control_ARREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="s_axi_control_RDATA" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_RDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="s_axi_control_RRESP" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_RRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="s_axi_control_RVALID" SIGIS="undef" SIGNAME="pixel_s_axi_control_RVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="s_axi_control_RREADY" SIGIS="undef" SIGNAME="pixel_s_axi_control_RREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_AXI_rready"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="ap_clk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="ap_rst_n" POLARITY="ACTIVE_LOW" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="din_TVALID" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axis_mm2s_tvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="din_TREADY" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axis_mm2s_tready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="din_TDATA" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axis_mm2s_tdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="din_TLAST" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axis_mm2s_tlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="din_TKEEP" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_m_axis_mm2s_tkeep"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axis_mm2s_tkeep"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="din_TSTRB" RIGHT="0" SIGIS="undef"/> + <PORT DIR="O" NAME="dout_TVALID" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axis_s2mm_tvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="dout_TREADY" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axis_s2mm_tready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="dout_TDATA" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axis_s2mm_tdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="dout_TLAST" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axis_s2mm_tlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="dout_TKEEP" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axis_s2mm_tkeep"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axis_s2mm_tkeep"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="dout_TSTRB" RIGHT="0" SIGIS="undef"/> + </PORTS> + <BUSINTERFACES> + <BUSINTERFACE BUSNAME="ps_axi_periph_M02_AXI" DATAWIDTH="32" NAME="s_axi_control" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PARAMETER NAME="ADDR_WIDTH" VALUE="5"/> + <PARAMETER NAME="DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="PROTOCOL" VALUE="AXI4LITE"/> + <PARAMETER NAME="READ_WRITE_MODE" VALUE="READ_WRITE"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="ID_WIDTH" VALUE="0"/> + <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="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="1"/> + <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"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="s_axi_control_AWADDR"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="s_axi_control_AWVALID"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="s_axi_control_AWREADY"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="s_axi_control_WDATA"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="s_axi_control_WSTRB"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="s_axi_control_WVALID"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="s_axi_control_WREADY"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="s_axi_control_BRESP"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="s_axi_control_BVALID"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="s_axi_control_BREADY"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="s_axi_control_ARADDR"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="s_axi_control_ARVALID"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="s_axi_control_ARREADY"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="s_axi_control_RDATA"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="s_axi_control_RRESP"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="s_axi_control_RVALID"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="s_axi_control_RREADY"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="axi_dma_0_M_AXIS_MM2S" NAME="din" TYPE="TARGET" VLNV="xilinx.com:interface:axis:1.0"> + <PARAMETER NAME="TDATA_NUM_BYTES" VALUE="4"/> + <PARAMETER NAME="TUSER_WIDTH" VALUE="0"/> + <PARAMETER NAME="LAYERED_METADATA" VALUE="undef"/> + <PARAMETER NAME="TDEST_WIDTH" VALUE="0"/> + <PARAMETER NAME="TID_WIDTH" VALUE="0"/> + <PARAMETER NAME="HAS_TREADY" VALUE="1"/> + <PARAMETER NAME="HAS_TSTRB" VALUE="1"/> + <PARAMETER NAME="HAS_TKEEP" VALUE="1"/> + <PARAMETER NAME="HAS_TLAST" VALUE="1"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <PARAMETER NAME="INSERT_VIP" VALUE="0"/> + <PORTMAPS> + <PORTMAP LOGICAL="TVALID" PHYSICAL="din_TVALID"/> + <PORTMAP LOGICAL="TREADY" PHYSICAL="din_TREADY"/> + <PORTMAP LOGICAL="TDATA" PHYSICAL="din_TDATA"/> + <PORTMAP LOGICAL="TLAST" PHYSICAL="din_TLAST"/> + <PORTMAP LOGICAL="TKEEP" PHYSICAL="din_TKEEP"/> + <PORTMAP LOGICAL="TSTRB" PHYSICAL="din_TSTRB"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="pixel_dout" NAME="dout" TYPE="INITIATOR" VLNV="xilinx.com:interface:axis:1.0"> + <PARAMETER NAME="TDATA_NUM_BYTES" VALUE="4"/> + <PARAMETER NAME="TUSER_WIDTH" VALUE="0"/> + <PARAMETER NAME="LAYERED_METADATA"/> + <PARAMETER NAME="TDEST_WIDTH" VALUE="0"/> + <PARAMETER NAME="TID_WIDTH" VALUE="0"/> + <PARAMETER NAME="HAS_TREADY" VALUE="1"/> + <PARAMETER NAME="HAS_TSTRB" VALUE="1"/> + <PARAMETER NAME="HAS_TKEEP" VALUE="1"/> + <PARAMETER NAME="HAS_TLAST" VALUE="1"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <PARAMETER NAME="INSERT_VIP" VALUE="0"/> + <PORTMAPS> + <PORTMAP LOGICAL="TVALID" PHYSICAL="dout_TVALID"/> + <PORTMAP LOGICAL="TREADY" PHYSICAL="dout_TREADY"/> + <PORTMAP LOGICAL="TDATA" PHYSICAL="dout_TDATA"/> + <PORTMAP LOGICAL="TLAST" PHYSICAL="dout_TLAST"/> + <PORTMAP LOGICAL="TKEEP" PHYSICAL="dout_TKEEP"/> + <PORTMAP LOGICAL="TSTRB" PHYSICAL="dout_TSTRB"/> + </PORTMAPS> + </BUSINTERFACE> + </BUSINTERFACES> + </MODULE> + <MODULE CONFIGURABLE="TRUE" COREREVISION="6" FULLNAME="/ps" HWVERSION="5.5" INSTANCE="ps" IPTYPE="PERIPHERAL" IS_ENABLE="1" IS_PL="FALSE" MODTYPE="processing_system7" VLNV="xilinx.com:ip:processing_system7:5.5"> + <DOCUMENTS> + <DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=processing_system7;v=v5_3;d=pg082-processing-system7.pdf"/> + </DOCUMENTS> + <PARAMETERS> + <PARAMETER NAME="C_EN_EMIO_PJTAG" VALUE="0"/> + <PARAMETER NAME="C_EN_EMIO_ENET0" VALUE="0"/> + <PARAMETER NAME="C_EN_EMIO_ENET1" VALUE="0"/> + <PARAMETER NAME="C_EN_EMIO_TRACE" VALUE="0"/> + <PARAMETER NAME="C_INCLUDE_TRACE_BUFFER" VALUE="0"/> + <PARAMETER NAME="C_TRACE_BUFFER_FIFO_SIZE" VALUE="128"/> + <PARAMETER NAME="USE_TRACE_DATA_EDGE_DETECTOR" VALUE="0"/> + <PARAMETER NAME="C_TRACE_PIPELINE_WIDTH" VALUE="8"/> + <PARAMETER NAME="C_TRACE_BUFFER_CLOCK_DELAY" VALUE="12"/> + <PARAMETER NAME="C_EMIO_GPIO_WIDTH" VALUE="64"/> + <PARAMETER NAME="C_INCLUDE_ACP_TRANS_CHECK" VALUE="0"/> + <PARAMETER NAME="C_USE_DEFAULT_ACP_USER_VAL" VALUE="0"/> + <PARAMETER NAME="C_S_AXI_ACP_ARUSER_VAL" VALUE="31"/> + <PARAMETER NAME="C_S_AXI_ACP_AWUSER_VAL" VALUE="31"/> + <PARAMETER NAME="C_M_AXI_GP0_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="C_M_AXI_GP0_ENABLE_STATIC_REMAP" VALUE="0"/> + <PARAMETER NAME="C_M_AXI_GP1_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="C_M_AXI_GP1_ENABLE_STATIC_REMAP" VALUE="0"/> + <PARAMETER NAME="C_S_AXI_GP0_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="C_S_AXI_GP1_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="C_S_AXI_ACP_ID_WIDTH" VALUE="3"/> + <PARAMETER NAME="C_S_AXI_HP0_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="C_S_AXI_HP0_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="C_S_AXI_HP1_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="C_S_AXI_HP1_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="C_S_AXI_HP2_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="C_S_AXI_HP2_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="C_S_AXI_HP3_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="C_S_AXI_HP3_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="C_M_AXI_GP0_THREAD_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="C_M_AXI_GP1_THREAD_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="C_NUM_F2P_INTR_INPUTS" VALUE="1"/> + <PARAMETER NAME="C_IRQ_F2P_MODE" VALUE="DIRECT"/> + <PARAMETER NAME="C_DQ_WIDTH" VALUE="32"/> + <PARAMETER NAME="C_DQS_WIDTH" VALUE="4"/> + <PARAMETER NAME="C_DM_WIDTH" VALUE="4"/> + <PARAMETER NAME="C_MIO_PRIMITIVE" VALUE="54"/> + <PARAMETER NAME="C_TRACE_INTERNAL_WIDTH" VALUE="2"/> + <PARAMETER NAME="C_USE_AXI_NONSECURE" VALUE="0"/> + <PARAMETER NAME="C_USE_M_AXI_GP0" VALUE="1"/> + <PARAMETER NAME="C_USE_M_AXI_GP1" VALUE="0"/> + <PARAMETER NAME="C_USE_S_AXI_GP0" VALUE="0"/> + <PARAMETER NAME="C_USE_S_AXI_GP1" VALUE="0"/> + <PARAMETER NAME="C_USE_S_AXI_HP0" VALUE="1"/> + <PARAMETER NAME="C_USE_S_AXI_HP1" VALUE="0"/> + <PARAMETER NAME="C_USE_S_AXI_HP2" VALUE="0"/> + <PARAMETER NAME="C_USE_S_AXI_HP3" VALUE="0"/> + <PARAMETER NAME="C_USE_S_AXI_ACP" VALUE="0"/> + <PARAMETER NAME="C_PS7_SI_REV" VALUE="PRODUCTION"/> + <PARAMETER NAME="C_FCLK_CLK0_BUF" VALUE="TRUE"/> + <PARAMETER NAME="C_FCLK_CLK1_BUF" VALUE="FALSE"/> + <PARAMETER NAME="C_FCLK_CLK2_BUF" VALUE="FALSE"/> + <PARAMETER NAME="C_FCLK_CLK3_BUF" VALUE="FALSE"/> + <PARAMETER NAME="C_PACKAGE_NAME" VALUE="clg400"/> + <PARAMETER NAME="C_GP0_EN_MODIFIABLE_TXN" VALUE="1"/> + <PARAMETER NAME="C_GP1_EN_MODIFIABLE_TXN" VALUE="1"/> + <PARAMETER NAME="PCW_DDR_RAM_BASEADDR" VALUE="0x00100000"/> + <PARAMETER NAME="PCW_DDR_RAM_HIGHADDR" VALUE="0x1FFFFFFF"/> + <PARAMETER NAME="PCW_UART0_BASEADDR" VALUE="0xE0000000"/> + <PARAMETER NAME="PCW_UART0_HIGHADDR" VALUE="0xE0000FFF"/> + <PARAMETER NAME="PCW_UART1_BASEADDR" VALUE="0xE0001000"/> + <PARAMETER NAME="PCW_UART1_HIGHADDR" VALUE="0xE0001FFF"/> + <PARAMETER NAME="PCW_I2C0_BASEADDR" VALUE="0xE0004000"/> + <PARAMETER NAME="PCW_I2C0_HIGHADDR" VALUE="0xE0004FFF"/> + <PARAMETER NAME="PCW_I2C1_BASEADDR" VALUE="0xE0005000"/> + <PARAMETER NAME="PCW_I2C1_HIGHADDR" VALUE="0xE0005FFF"/> + <PARAMETER NAME="PCW_SPI0_BASEADDR" VALUE="0xE0006000"/> + <PARAMETER NAME="PCW_SPI0_HIGHADDR" VALUE="0xE0006FFF"/> + <PARAMETER NAME="PCW_SPI1_BASEADDR" VALUE="0xE0007000"/> + <PARAMETER NAME="PCW_SPI1_HIGHADDR" VALUE="0xE0007FFF"/> + <PARAMETER NAME="PCW_CAN0_BASEADDR" VALUE="0xE0008000"/> + <PARAMETER NAME="PCW_CAN0_HIGHADDR" VALUE="0xE0008FFF"/> + <PARAMETER NAME="PCW_CAN1_BASEADDR" VALUE="0xE0009000"/> + <PARAMETER NAME="PCW_CAN1_HIGHADDR" VALUE="0xE0009FFF"/> + <PARAMETER NAME="PCW_GPIO_BASEADDR" VALUE="0xE000A000"/> + <PARAMETER NAME="PCW_GPIO_HIGHADDR" VALUE="0xE000AFFF"/> + <PARAMETER NAME="PCW_ENET0_BASEADDR" VALUE="0xE000B000"/> + <PARAMETER NAME="PCW_ENET0_HIGHADDR" VALUE="0xE000BFFF"/> + <PARAMETER NAME="PCW_ENET1_BASEADDR" VALUE="0xE000C000"/> + <PARAMETER NAME="PCW_ENET1_HIGHADDR" VALUE="0xE000CFFF"/> + <PARAMETER NAME="PCW_SDIO0_BASEADDR" VALUE="0xE0100000"/> + <PARAMETER NAME="PCW_SDIO0_HIGHADDR" VALUE="0xE0100FFF"/> + <PARAMETER NAME="PCW_SDIO1_BASEADDR" VALUE="0xE0101000"/> + <PARAMETER NAME="PCW_SDIO1_HIGHADDR" VALUE="0xE0101FFF"/> + <PARAMETER NAME="PCW_USB0_BASEADDR" VALUE="0xE0102000"/> + <PARAMETER NAME="PCW_USB0_HIGHADDR" VALUE="0xE0102fff"/> + <PARAMETER NAME="PCW_USB1_BASEADDR" VALUE="0xE0103000"/> + <PARAMETER NAME="PCW_USB1_HIGHADDR" VALUE="0xE0103fff"/> + <PARAMETER NAME="PCW_TTC0_BASEADDR" VALUE="0xE0104000"/> + <PARAMETER NAME="PCW_TTC0_HIGHADDR" VALUE="0xE0104fff"/> + <PARAMETER NAME="PCW_TTC1_BASEADDR" VALUE="0xE0105000"/> + <PARAMETER NAME="PCW_TTC1_HIGHADDR" VALUE="0xE0105fff"/> + <PARAMETER NAME="PCW_FCLK_CLK0_BUF" VALUE="TRUE"/> + <PARAMETER NAME="PCW_FCLK_CLK1_BUF" VALUE="FALSE"/> + <PARAMETER NAME="PCW_FCLK_CLK2_BUF" VALUE="FALSE"/> + <PARAMETER NAME="PCW_FCLK_CLK3_BUF" VALUE="FALSE"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_FREQ_MHZ" VALUE="533.333333"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BANK_ADDR_COUNT" VALUE="3"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_ROW_ADDR_COUNT" VALUE="14"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_COL_ADDR_COUNT" VALUE="10"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CL" VALUE="7"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CWL" VALUE="6"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_T_RCD" VALUE="7"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_T_RP" VALUE="7"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_T_RC" VALUE="48.75"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_T_RAS_MIN" VALUE="35.0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_T_FAW" VALUE="30.0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_AL" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_0" VALUE="0.0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_1" VALUE="0.0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_2" VALUE="0.0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_3" VALUE="0.0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BOARD_DELAY0" VALUE="0.25"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BOARD_DELAY1" VALUE="0.25"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BOARD_DELAY2" VALUE="0.25"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BOARD_DELAY3" VALUE="0.25"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_0_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_1_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_2_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_3_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_0_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_1_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_2_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_3_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_0_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_1_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_2_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_3_LENGTH_MM" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_0_PACKAGE_LENGTH" VALUE="105.056"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_1_PACKAGE_LENGTH" VALUE="66.904"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_2_PACKAGE_LENGTH" VALUE="89.1715"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_3_PACKAGE_LENGTH" VALUE="113.63"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_0_PACKAGE_LENGTH" VALUE="98.503"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_1_PACKAGE_LENGTH" VALUE="68.5855"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_2_PACKAGE_LENGTH" VALUE="90.295"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_3_PACKAGE_LENGTH" VALUE="103.977"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_0_PACKAGE_LENGTH" VALUE="80.4535"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_1_PACKAGE_LENGTH" VALUE="80.4535"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_2_PACKAGE_LENGTH" VALUE="80.4535"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_3_PACKAGE_LENGTH" VALUE="80.4535"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_0_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_1_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_2_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQS_3_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_0_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_1_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_2_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DQ_3_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_0_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_1_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_2_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_3_PROPOGATION_DELAY" VALUE="160"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_DQS_TO_CLK_DELAY_0" VALUE="-0.025"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_DQS_TO_CLK_DELAY_1" VALUE="0.014"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_DQS_TO_CLK_DELAY_2" VALUE="-0.009"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_DQS_TO_CLK_DELAY_3" VALUE="-0.033"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_BOARD_DELAY0" VALUE="0.089"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_BOARD_DELAY1" VALUE="0.075"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_BOARD_DELAY2" VALUE="0.085"/> + <PARAMETER NAME="PCW_PACKAGE_DDR_BOARD_DELAY3" VALUE="0.092"/> + <PARAMETER NAME="PCW_CPU_CPU_6X4X_MAX_RANGE" VALUE="667"/> + <PARAMETER NAME="PCW_CRYSTAL_PERIPHERAL_FREQMHZ" VALUE="33.333333"/> + <PARAMETER NAME="PCW_APU_PERIPHERAL_FREQMHZ" VALUE="666.666666"/> + <PARAMETER NAME="PCW_DCI_PERIPHERAL_FREQMHZ" VALUE="10.159"/> + <PARAMETER NAME="PCW_QSPI_PERIPHERAL_FREQMHZ" VALUE="200"/> + <PARAMETER NAME="PCW_SMC_PERIPHERAL_FREQMHZ" VALUE="100"/> + <PARAMETER NAME="PCW_USB0_PERIPHERAL_FREQMHZ" VALUE="60"/> + <PARAMETER NAME="PCW_USB1_PERIPHERAL_FREQMHZ" VALUE="60"/> + <PARAMETER NAME="PCW_SDIO_PERIPHERAL_FREQMHZ" VALUE="100"/> + <PARAMETER NAME="PCW_UART_PERIPHERAL_FREQMHZ" VALUE="100"/> + <PARAMETER NAME="PCW_SPI_PERIPHERAL_FREQMHZ" VALUE="166.666666"/> + <PARAMETER NAME="PCW_CAN_PERIPHERAL_FREQMHZ" VALUE="100"/> + <PARAMETER NAME="PCW_CAN0_PERIPHERAL_FREQMHZ" VALUE="-1"/> + <PARAMETER NAME="PCW_CAN1_PERIPHERAL_FREQMHZ" VALUE="-1"/> + <PARAMETER NAME="PCW_I2C_PERIPHERAL_FREQMHZ" VALUE="25"/> + <PARAMETER NAME="PCW_WDT_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_TTC_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_TTC0_CLK0_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_TTC0_CLK1_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_TTC0_CLK2_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_TTC1_CLK0_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_TTC1_CLK1_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_TTC1_CLK2_PERIPHERAL_FREQMHZ" VALUE="133.333333"/> + <PARAMETER NAME="PCW_PCAP_PERIPHERAL_FREQMHZ" VALUE="200"/> + <PARAMETER NAME="PCW_TPIU_PERIPHERAL_FREQMHZ" VALUE="200"/> + <PARAMETER NAME="PCW_FPGA0_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_FPGA1_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_FPGA2_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_FPGA3_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_ACT_APU_PERIPHERAL_FREQMHZ" VALUE="666.666687"/> + <PARAMETER NAME="PCW_UIPARAM_ACT_DDR_FREQ_MHZ" VALUE="533.333374"/> + <PARAMETER NAME="PCW_ACT_DCI_PERIPHERAL_FREQMHZ" VALUE="10.158730"/> + <PARAMETER NAME="PCW_ACT_QSPI_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_SMC_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_ENET0_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_ENET1_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_USB0_PERIPHERAL_FREQMHZ" VALUE="60"/> + <PARAMETER NAME="PCW_ACT_USB1_PERIPHERAL_FREQMHZ" VALUE="60"/> + <PARAMETER NAME="PCW_ACT_SDIO_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_UART_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_SPI_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_CAN_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_CAN0_PERIPHERAL_FREQMHZ" VALUE="23.8095"/> + <PARAMETER NAME="PCW_ACT_CAN1_PERIPHERAL_FREQMHZ" VALUE="23.8095"/> + <PARAMETER NAME="PCW_ACT_I2C_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_ACT_WDT_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_ACT_TTC_PERIPHERAL_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_ACT_PCAP_PERIPHERAL_FREQMHZ" VALUE="200.000000"/> + <PARAMETER NAME="PCW_ACT_TPIU_PERIPHERAL_FREQMHZ" VALUE="200.000000"/> + <PARAMETER NAME="PCW_ACT_FPGA0_PERIPHERAL_FREQMHZ" VALUE="50.000000"/> + <PARAMETER NAME="PCW_ACT_FPGA1_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_FPGA2_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_FPGA3_PERIPHERAL_FREQMHZ" VALUE="10.000000"/> + <PARAMETER NAME="PCW_ACT_TTC0_CLK0_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_ACT_TTC0_CLK1_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_ACT_TTC0_CLK2_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_ACT_TTC1_CLK0_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_ACT_TTC1_CLK1_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_ACT_TTC1_CLK2_PERIPHERAL_FREQMHZ" VALUE="111.111115"/> + <PARAMETER NAME="PCW_CLK0_FREQ" VALUE="50000000"/> + <PARAMETER NAME="PCW_CLK1_FREQ" VALUE="10000000"/> + <PARAMETER NAME="PCW_CLK2_FREQ" VALUE="10000000"/> + <PARAMETER NAME="PCW_CLK3_FREQ" VALUE="10000000"/> + <PARAMETER NAME="PCW_OVERRIDE_BASIC_CLOCK" VALUE="0"/> + <PARAMETER NAME="PCW_CPU_PERIPHERAL_DIVISOR0" VALUE="2"/> + <PARAMETER NAME="PCW_DDR_PERIPHERAL_DIVISOR0" VALUE="2"/> + <PARAMETER NAME="PCW_SMC_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_QSPI_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_SDIO_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_UART_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_SPI_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_CAN_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_CAN_PERIPHERAL_DIVISOR1" VALUE="1"/> + <PARAMETER NAME="PCW_FCLK0_PERIPHERAL_DIVISOR0" VALUE="8"/> + <PARAMETER NAME="PCW_FCLK1_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_FCLK2_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_FCLK3_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_FCLK0_PERIPHERAL_DIVISOR1" VALUE="4"/> + <PARAMETER NAME="PCW_FCLK1_PERIPHERAL_DIVISOR1" VALUE="1"/> + <PARAMETER NAME="PCW_FCLK2_PERIPHERAL_DIVISOR1" VALUE="1"/> + <PARAMETER NAME="PCW_FCLK3_PERIPHERAL_DIVISOR1" VALUE="1"/> + <PARAMETER NAME="PCW_ENET0_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_ENET1_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_ENET0_PERIPHERAL_DIVISOR1" VALUE="1"/> + <PARAMETER NAME="PCW_ENET1_PERIPHERAL_DIVISOR1" VALUE="1"/> + <PARAMETER NAME="PCW_TPIU_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_DCI_PERIPHERAL_DIVISOR0" VALUE="15"/> + <PARAMETER NAME="PCW_DCI_PERIPHERAL_DIVISOR1" VALUE="7"/> + <PARAMETER NAME="PCW_PCAP_PERIPHERAL_DIVISOR0" VALUE="8"/> + <PARAMETER NAME="PCW_TTC0_CLK0_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_TTC0_CLK1_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_TTC0_CLK2_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_TTC1_CLK0_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_TTC1_CLK1_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_TTC1_CLK2_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_WDT_PERIPHERAL_DIVISOR0" VALUE="1"/> + <PARAMETER NAME="PCW_ARMPLL_CTRL_FBDIV" VALUE="40"/> + <PARAMETER NAME="PCW_IOPLL_CTRL_FBDIV" VALUE="48"/> + <PARAMETER NAME="PCW_DDRPLL_CTRL_FBDIV" VALUE="32"/> + <PARAMETER NAME="PCW_CPU_CPU_PLL_FREQMHZ" VALUE="1333.333"/> + <PARAMETER NAME="PCW_IO_IO_PLL_FREQMHZ" VALUE="1600.000"/> + <PARAMETER NAME="PCW_DDR_DDR_PLL_FREQMHZ" VALUE="1066.667"/> + <PARAMETER NAME="PCW_SMC_PERIPHERAL_VALID" VALUE="0"/> + <PARAMETER NAME="PCW_SDIO_PERIPHERAL_VALID" VALUE="0"/> + <PARAMETER NAME="PCW_SPI_PERIPHERAL_VALID" VALUE="0"/> + <PARAMETER NAME="PCW_CAN_PERIPHERAL_VALID" VALUE="0"/> + <PARAMETER NAME="PCW_UART_PERIPHERAL_VALID" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_CAN0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_CAN1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_ENET0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_ENET1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_PTP_ENET0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_PTP_ENET1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_GPIO" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_I2C0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_I2C1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_PJTAG" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_SDIO0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_CD_SDIO0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_WP_SDIO0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_SDIO1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_CD_SDIO1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_WP_SDIO1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_SPI0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_SPI1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_UART0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_UART1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_MODEM_UART0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_MODEM_UART1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_TTC0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_TTC1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_WDT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_TRACE" VALUE="0"/> + <PARAMETER NAME="PCW_USE_AXI_NONSECURE" VALUE="0"/> + <PARAMETER NAME="PCW_USE_M_AXI_GP0" VALUE="1"/> + <PARAMETER NAME="PCW_USE_M_AXI_GP1" VALUE="0"/> + <PARAMETER NAME="PCW_USE_S_AXI_GP0" VALUE="0"/> + <PARAMETER NAME="PCW_USE_S_AXI_GP1" VALUE="0"/> + <PARAMETER NAME="PCW_USE_S_AXI_ACP" VALUE="0"/> + <PARAMETER NAME="PCW_USE_S_AXI_HP0" VALUE="1"/> + <PARAMETER NAME="PCW_USE_S_AXI_HP1" VALUE="0"/> + <PARAMETER NAME="PCW_USE_S_AXI_HP2" VALUE="0"/> + <PARAMETER NAME="PCW_USE_S_AXI_HP3" VALUE="0"/> + <PARAMETER NAME="PCW_M_AXI_GP0_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_M_AXI_GP1_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_S_AXI_GP0_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_S_AXI_GP1_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_S_AXI_ACP_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_S_AXI_HP0_FREQMHZ" VALUE="50"/> + <PARAMETER NAME="PCW_S_AXI_HP1_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_S_AXI_HP2_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_S_AXI_HP3_FREQMHZ" VALUE="10"/> + <PARAMETER NAME="PCW_USE_DMA0" VALUE="0"/> + <PARAMETER NAME="PCW_USE_DMA1" VALUE="0"/> + <PARAMETER NAME="PCW_USE_DMA2" VALUE="0"/> + <PARAMETER NAME="PCW_USE_DMA3" VALUE="0"/> + <PARAMETER NAME="PCW_USE_TRACE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_PIPELINE_WIDTH" VALUE="8"/> + <PARAMETER NAME="PCW_INCLUDE_TRACE_BUFFER" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_BUFFER_FIFO_SIZE" VALUE="128"/> + <PARAMETER NAME="PCW_USE_TRACE_DATA_EDGE_DETECTOR" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_BUFFER_CLOCK_DELAY" VALUE="12"/> + <PARAMETER NAME="PCW_USE_CROSS_TRIGGER" VALUE="0"/> + <PARAMETER NAME="PCW_FTM_CTI_IN0" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_IN1" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_IN2" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_IN3" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_OUT0" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_OUT1" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_OUT2" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_FTM_CTI_OUT3" VALUE="DISABLED"/> + <PARAMETER NAME="PCW_USE_DEBUG" VALUE="0"/> + <PARAMETER NAME="PCW_USE_CR_FABRIC" VALUE="1"/> + <PARAMETER NAME="PCW_USE_AXI_FABRIC_IDLE" VALUE="0"/> + <PARAMETER NAME="PCW_USE_DDR_BYPASS" VALUE="0"/> + <PARAMETER NAME="PCW_USE_FABRIC_INTERRUPT" VALUE="0"/> + <PARAMETER NAME="PCW_USE_PROC_EVENT_BUS" VALUE="0"/> + <PARAMETER NAME="PCW_USE_EXPANDED_IOP" VALUE="0"/> + <PARAMETER NAME="PCW_USE_HIGH_OCM" VALUE="0"/> + <PARAMETER NAME="PCW_USE_PS_SLCR_REGISTERS" VALUE="0"/> + <PARAMETER NAME="PCW_USE_EXPANDED_PS_SLCR_REGISTERS" VALUE="0"/> + <PARAMETER NAME="PCW_USE_CORESIGHT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_EMIO_SRAM_INT" VALUE="0"/> + <PARAMETER NAME="PCW_GPIO_EMIO_GPIO_WIDTH" VALUE="64"/> + <PARAMETER NAME="PCW_GP0_NUM_WRITE_THREADS" VALUE="4"/> + <PARAMETER NAME="PCW_GP0_NUM_READ_THREADS" VALUE="4"/> + <PARAMETER NAME="PCW_GP1_NUM_WRITE_THREADS" VALUE="4"/> + <PARAMETER NAME="PCW_GP1_NUM_READ_THREADS" VALUE="4"/> + <PARAMETER NAME="PCW_UART0_BAUD_RATE" VALUE="115200"/> + <PARAMETER NAME="PCW_UART1_BAUD_RATE" VALUE="115200"/> + <PARAMETER NAME="PCW_EN_4K_TIMER" VALUE="0"/> + <PARAMETER NAME="PCW_M_AXI_GP0_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="PCW_M_AXI_GP0_ENABLE_STATIC_REMAP" VALUE="0"/> + <PARAMETER NAME="PCW_M_AXI_GP0_SUPPORT_NARROW_BURST" VALUE="0"/> + <PARAMETER NAME="PCW_M_AXI_GP0_THREAD_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="PCW_M_AXI_GP1_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="PCW_M_AXI_GP1_ENABLE_STATIC_REMAP" VALUE="0"/> + <PARAMETER NAME="PCW_M_AXI_GP1_SUPPORT_NARROW_BURST" VALUE="0"/> + <PARAMETER NAME="PCW_M_AXI_GP1_THREAD_ID_WIDTH" VALUE="12"/> + <PARAMETER NAME="PCW_S_AXI_GP0_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="PCW_S_AXI_GP1_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="PCW_S_AXI_ACP_ID_WIDTH" VALUE="3"/> + <PARAMETER NAME="PCW_INCLUDE_ACP_TRANS_CHECK" VALUE="0"/> + <PARAMETER NAME="PCW_USE_DEFAULT_ACP_USER_VAL" VALUE="0"/> + <PARAMETER NAME="PCW_S_AXI_ACP_ARUSER_VAL" VALUE="31"/> + <PARAMETER NAME="PCW_S_AXI_ACP_AWUSER_VAL" VALUE="31"/> + <PARAMETER NAME="PCW_S_AXI_HP0_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="PCW_S_AXI_HP0_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="PCW_S_AXI_HP1_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="PCW_S_AXI_HP1_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="PCW_S_AXI_HP2_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="PCW_S_AXI_HP2_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="PCW_S_AXI_HP3_ID_WIDTH" VALUE="6"/> + <PARAMETER NAME="PCW_S_AXI_HP3_DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="PCW_NUM_F2P_INTR_INPUTS" VALUE="1"/> + <PARAMETER NAME="PCW_EN_DDR" VALUE="1"/> + <PARAMETER NAME="PCW_EN_SMC" VALUE="0"/> + <PARAMETER NAME="PCW_EN_QSPI" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CAN0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CAN1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_ENET0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_ENET1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_GPIO" VALUE="0"/> + <PARAMETER NAME="PCW_EN_I2C0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_I2C1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_PJTAG" VALUE="0"/> + <PARAMETER NAME="PCW_EN_SDIO0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_SDIO1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_SPI0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_SPI1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_UART0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_UART1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_MODEM_UART0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_MODEM_UART1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_TTC0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_TTC1" VALUE="0"/> + <PARAMETER NAME="PCW_EN_WDT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_TRACE" VALUE="0"/> + <PARAMETER NAME="PCW_EN_USB0" VALUE="0"/> + <PARAMETER NAME="PCW_EN_USB1" VALUE="0"/> + <PARAMETER NAME="PCW_DQ_WIDTH" VALUE="32"/> + <PARAMETER NAME="PCW_DQS_WIDTH" VALUE="4"/> + <PARAMETER NAME="PCW_DM_WIDTH" VALUE="4"/> + <PARAMETER NAME="PCW_MIO_PRIMITIVE" VALUE="54"/> + <PARAMETER NAME="PCW_EN_CLK0_PORT" VALUE="1"/> + <PARAMETER NAME="PCW_EN_CLK1_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CLK2_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CLK3_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_RST0_PORT" VALUE="1"/> + <PARAMETER NAME="PCW_EN_RST1_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_RST2_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_RST3_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CLKTRIG0_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CLKTRIG1_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CLKTRIG2_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_EN_CLKTRIG3_PORT" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC_ABORT_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC2_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC3_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC4_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC5_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC6_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_DMAC7_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_SMC_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_QSPI_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_CTI_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_GPIO_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_USB0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_ENET0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_SDIO0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_I2C0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_SPI0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_UART0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_CAN0_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_USB1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_ENET1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_SDIO1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_I2C1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_SPI1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_UART1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_P2F_CAN1_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_IRQ_F2P_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_IRQ_F2P_MODE" VALUE="DIRECT"/> + <PARAMETER NAME="PCW_CORE0_FIQ_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_CORE0_IRQ_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_CORE1_FIQ_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_CORE1_IRQ_INTR" VALUE="0"/> + <PARAMETER NAME="PCW_VALUE_SILVERSION" VALUE="3"/> + <PARAMETER NAME="PCW_GP0_EN_MODIFIABLE_TXN" VALUE="1"/> + <PARAMETER NAME="PCW_GP1_EN_MODIFIABLE_TXN" VALUE="1"/> + <PARAMETER NAME="PCW_IMPORT_BOARD_PRESET" VALUE="None"/> + <PARAMETER NAME="PCW_PERIPHERAL_BOARD_PRESET" VALUE="None"/> + <PARAMETER NAME="PCW_PRESET_BANK0_VOLTAGE" VALUE="LVCMOS 3.3V"/> + <PARAMETER NAME="PCW_PRESET_BANK1_VOLTAGE" VALUE="LVCMOS 3.3V"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_ENABLE" VALUE="1"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_ADV_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_MEMORY_TYPE" VALUE="DDR 3"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_ECC" VALUE="Disabled"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BUS_WIDTH" VALUE="32 Bit"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_BL" VALUE="8"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_HIGH_TEMP" VALUE="Normal (0-85)"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_PARTNO" VALUE="MT41J128M8 JP-125"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DRAM_WIDTH" VALUE="8 Bits"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_DEVICE_CAPACITY" VALUE="1024 MBits"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_SPEED_BIN" VALUE="DDR3_1066F"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_TRAIN_WRITE_LEVEL" VALUE="1"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_TRAIN_READ_GATE" VALUE="1"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_TRAIN_DATA_EYE" VALUE="1"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_CLOCK_STOP_EN" VALUE="0"/> + <PARAMETER NAME="PCW_UIPARAM_DDR_USE_INTERNAL_VREF" VALUE="0"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_WRITEPORT_0" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_WRITEPORT_1" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_WRITEPORT_2" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_WRITEPORT_3" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_READPORT_0" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_READPORT_1" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_READPORT_2" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PRIORITY_READPORT_3" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DDR_PORT0_HPR_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_DDR_PORT1_HPR_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_DDR_PORT2_HPR_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_DDR_PORT3_HPR_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_DDR_HPRLPR_QUEUE_PARTITION" VALUE="HPR(0)/LPR(32)"/> + <PARAMETER NAME="PCW_DDR_LPR_TO_CRITICAL_PRIORITY_LEVEL" VALUE="2"/> + <PARAMETER NAME="PCW_DDR_HPR_TO_CRITICAL_PRIORITY_LEVEL" VALUE="15"/> + <PARAMETER NAME="PCW_DDR_WRITE_TO_CRITICAL_PRIORITY_LEVEL" VALUE="2"/> + <PARAMETER NAME="PCW_NAND_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NAND_NAND_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NAND_GRP_D8_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NAND_GRP_D8_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_NOR_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_GRP_A25_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_GRP_A25_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_GRP_CS0_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_GRP_CS0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_GRP_SRAM_CS0_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_GRP_SRAM_CS0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_GRP_CS1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_GRP_CS1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_GRP_SRAM_CS1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_GRP_SRAM_CS1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_NOR_GRP_SRAM_INT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_GRP_SRAM_INT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_QSPI_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_QSPI_QSPI_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_QSPI_GRP_SINGLE_SS_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_QSPI_GRP_SINGLE_SS_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_QSPI_GRP_SS1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_QSPI_GRP_SS1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SINGLE_QSPI_DATA_MODE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DUAL_STACK_QSPI_DATA_MODE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_DUAL_PARALLEL_QSPI_DATA_MODE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_QSPI_GRP_IO1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_QSPI_GRP_IO1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_QSPI_GRP_FBCLK_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_QSPI_GRP_FBCLK_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_QSPI_INTERNAL_HIGHADDRESS" VALUE="0xFCFFFFFF"/> + <PARAMETER NAME="PCW_ENET0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET0_ENET0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_ENET0_GRP_MDIO_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET0_GRP_MDIO_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_ENET_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET_RESET_SELECT" VALUE="<Select>"/> + <PARAMETER NAME="PCW_ENET0_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET0_RESET_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_ENET1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET1_ENET1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_ENET1_GRP_MDIO_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET1_GRP_MDIO_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_ENET1_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_ENET1_RESET_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD0_SD0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD0_GRP_CD_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD0_GRP_CD_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD0_GRP_WP_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD0_GRP_WP_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD0_GRP_POW_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD0_GRP_POW_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD1_SD1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD1_GRP_CD_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD1_GRP_CD_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD1_GRP_WP_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD1_GRP_WP_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SD1_GRP_POW_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SD1_GRP_POW_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_UART0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_UART0_UART0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_UART0_GRP_FULL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_UART0_GRP_FULL_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_UART1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_UART1_UART1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_UART1_GRP_FULL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_UART1_GRP_FULL_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI0_SPI0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI0_GRP_SS0_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI0_GRP_SS0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI0_GRP_SS1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI0_GRP_SS1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI0_GRP_SS2_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI0_GRP_SS2_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI1_SPI1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI1_GRP_SS0_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI1_GRP_SS0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI1_GRP_SS1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI1_GRP_SS1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_SPI1_GRP_SS2_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_SPI1_GRP_SS2_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_CAN0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_CAN0_CAN0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_CAN0_GRP_CLK_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_CAN0_GRP_CLK_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_CAN1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_CAN1_CAN1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_CAN1_GRP_CLK_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_CAN1_GRP_CLK_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_TRACE_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_GRP_2BIT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_GRP_2BIT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_GRP_4BIT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_GRP_4BIT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_GRP_8BIT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_GRP_8BIT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_GRP_16BIT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_GRP_16BIT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_GRP_32BIT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TRACE_GRP_32BIT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TRACE_INTERNAL_WIDTH" VALUE="2"/> + <PARAMETER NAME="PCW_WDT_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_WDT_WDT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TTC0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TTC0_TTC0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_TTC1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_TTC1_TTC1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_PJTAG_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_PJTAG_PJTAG_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_USB0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_USB0_USB0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_USB_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_USB_RESET_SELECT" VALUE="<Select>"/> + <PARAMETER NAME="PCW_USB0_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_USB0_RESET_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_USB1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_USB1_USB1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_USB1_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_USB1_RESET_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C0_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C0_I2C0_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C0_GRP_INT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C0_GRP_INT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C0_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C0_RESET_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C1_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C1_I2C1_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C1_GRP_INT_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C1_GRP_INT_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C_RESET_SELECT" VALUE="<Select>"/> + <PARAMETER NAME="PCW_I2C1_RESET_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_I2C1_RESET_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_GPIO_PERIPHERAL_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_GPIO_MIO_GPIO_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_GPIO_MIO_GPIO_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_GPIO_EMIO_GPIO_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_GPIO_EMIO_GPIO_IO" VALUE="<Select>"/> + <PARAMETER NAME="PCW_APU_CLK_RATIO_ENABLE" VALUE="6:2:1"/> + <PARAMETER NAME="PCW_ENET0_PERIPHERAL_FREQMHZ" VALUE="1000 Mbps"/> + <PARAMETER NAME="PCW_ENET1_PERIPHERAL_FREQMHZ" VALUE="1000 Mbps"/> + <PARAMETER NAME="PCW_CPU_PERIPHERAL_CLKSRC" VALUE="ARM PLL"/> + <PARAMETER NAME="PCW_DDR_PERIPHERAL_CLKSRC" VALUE="DDR PLL"/> + <PARAMETER NAME="PCW_SMC_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_QSPI_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_SDIO_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_UART_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_SPI_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_CAN_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_FCLK0_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_FCLK1_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_FCLK2_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_FCLK3_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_ENET0_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_ENET1_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_CAN0_PERIPHERAL_CLKSRC" VALUE="External"/> + <PARAMETER NAME="PCW_CAN1_PERIPHERAL_CLKSRC" VALUE="External"/> + <PARAMETER NAME="PCW_TPIU_PERIPHERAL_CLKSRC" VALUE="External"/> + <PARAMETER NAME="PCW_TTC0_CLK0_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_TTC0_CLK1_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_TTC0_CLK2_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_TTC1_CLK0_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_TTC1_CLK1_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_TTC1_CLK2_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_WDT_PERIPHERAL_CLKSRC" VALUE="CPU_1X"/> + <PARAMETER NAME="PCW_DCI_PERIPHERAL_CLKSRC" VALUE="DDR PLL"/> + <PARAMETER NAME="PCW_PCAP_PERIPHERAL_CLKSRC" VALUE="IO PLL"/> + <PARAMETER NAME="PCW_USB_RESET_POLARITY" VALUE="Active Low"/> + <PARAMETER NAME="PCW_ENET_RESET_POLARITY" VALUE="Active Low"/> + <PARAMETER NAME="PCW_I2C_RESET_POLARITY" VALUE="Active Low"/> + <PARAMETER NAME="PCW_MIO_0_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_0_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_0_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_0_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_1_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_1_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_1_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_1_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_2_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_2_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_2_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_2_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_3_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_3_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_3_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_3_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_4_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_4_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_4_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_4_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_5_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_5_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_5_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_5_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_6_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_6_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_6_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_6_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_7_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_7_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_7_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_7_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_8_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_8_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_8_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_8_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_9_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_9_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_9_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_9_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_10_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_10_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_10_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_10_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_11_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_11_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_11_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_11_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_12_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_12_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_12_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_12_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_13_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_13_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_13_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_13_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_14_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_14_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_14_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_14_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_15_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_15_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_15_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_15_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_16_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_16_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_16_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_16_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_17_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_17_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_17_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_17_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_18_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_18_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_18_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_18_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_19_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_19_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_19_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_19_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_20_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_20_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_20_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_20_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_21_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_21_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_21_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_21_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_22_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_22_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_22_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_22_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_23_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_23_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_23_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_23_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_24_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_24_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_24_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_24_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_25_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_25_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_25_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_25_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_26_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_26_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_26_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_26_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_27_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_27_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_27_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_27_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_28_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_28_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_28_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_28_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_29_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_29_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_29_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_29_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_30_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_30_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_30_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_30_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_31_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_31_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_31_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_31_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_32_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_32_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_32_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_32_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_33_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_33_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_33_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_33_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_34_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_34_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_34_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_34_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_35_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_35_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_35_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_35_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_36_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_36_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_36_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_36_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_37_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_37_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_37_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_37_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_38_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_38_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_38_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_38_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_39_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_39_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_39_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_39_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_40_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_40_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_40_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_40_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_41_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_41_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_41_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_41_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_42_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_42_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_42_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_42_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_43_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_43_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_43_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_43_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_44_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_44_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_44_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_44_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_45_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_45_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_45_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_45_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_46_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_46_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_46_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_46_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_47_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_47_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_47_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_47_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_48_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_48_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_48_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_48_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_49_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_49_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_49_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_49_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_50_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_50_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_50_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_50_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_51_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_51_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_51_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_51_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_52_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_52_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_52_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_52_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_53_PULLUP" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_53_IOTYPE" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_53_DIRECTION" VALUE="<Select>"/> + <PARAMETER NAME="PCW_MIO_53_SLEW" VALUE="<Select>"/> + <PARAMETER NAME="preset" VALUE="None"/> + <PARAMETER NAME="PCW_UIPARAM_GENERATE_SUMMARY" VALUE="NA"/> + <PARAMETER NAME="PCW_MIO_TREE_PERIPHERALS" VALUE="unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned"/> + <PARAMETER NAME="PCW_MIO_TREE_SIGNALS" VALUE="unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned"/> + <PARAMETER NAME="PCW_PS7_SI_REV" VALUE="PRODUCTION"/> + <PARAMETER NAME="PCW_FPGA_FCLK0_ENABLE" VALUE="1"/> + <PARAMETER NAME="PCW_FPGA_FCLK1_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_FPGA_FCLK2_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_FPGA_FCLK3_ENABLE" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_T_TR" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_T_PC" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_T_WP" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_T_CEOE" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_T_WC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_T_RC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS0_WE_TIME" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_T_TR" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_T_PC" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_T_WP" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_T_CEOE" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_T_WC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_T_RC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_SRAM_CS1_WE_TIME" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_CS0_T_TR" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS0_T_PC" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS0_T_WP" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS0_T_CEOE" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS0_T_WC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_CS0_T_RC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_CS0_WE_TIME" VALUE="0"/> + <PARAMETER NAME="PCW_NOR_CS1_T_TR" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS1_T_PC" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS1_T_WP" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS1_T_CEOE" VALUE="1"/> + <PARAMETER NAME="PCW_NOR_CS1_T_WC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_CS1_T_RC" VALUE="11"/> + <PARAMETER NAME="PCW_NOR_CS1_WE_TIME" VALUE="0"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_RR" VALUE="1"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_AR" VALUE="1"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_CLR" VALUE="1"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_WP" VALUE="1"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_REA" VALUE="1"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_WC" VALUE="11"/> + <PARAMETER NAME="PCW_NAND_CYCLES_T_RC" VALUE="11"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T0" VALUE="NA"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T1" VALUE="NA"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T2" VALUE="NA"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T3" VALUE="NA"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T4" VALUE="NA"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T5" VALUE="NA"/> + <PARAMETER NAME="PCW_SMC_CYCLE_T6" VALUE="NA"/> + <PARAMETER NAME="PCW_PACKAGE_NAME" VALUE="clg400"/> + <PARAMETER NAME="PCW_PLL_BYPASSMODE_ENABLE" VALUE="0"/> + <PARAMETER NAME="Component_Name" VALUE="overlay_ps_0"/> + <PARAMETER NAME="EDK_IPTYPE" VALUE="PERIPHERAL"/> + <PARAMETER NAME="C_BASEADDR" VALUE="0x00000000"/> + <PARAMETER NAME="C_HIGHADDR" VALUE="0x1FFFFFFF"/> + </PARAMETERS> + <PORTS> + <PORT DIR="O" NAME="M_AXI_GP0_ARVALID" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M_AXI_GP0_AWVALID" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M_AXI_GP0_BREADY" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M_AXI_GP0_RREADY" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M_AXI_GP0_WLAST" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WLAST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_wlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M_AXI_GP0_WVALID" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="11" NAME="M_AXI_GP0_ARID" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="11" NAME="M_AXI_GP0_AWID" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="11" NAME="M_AXI_GP0_WID" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_wid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M_AXI_GP0_ARBURST" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARBURST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M_AXI_GP0_ARLOCK" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARLOCK"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arlock"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M_AXI_GP0_ARSIZE" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARSIZE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M_AXI_GP0_AWBURST" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWBURST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="M_AXI_GP0_AWLOCK" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWLOCK"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awlock"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M_AXI_GP0_AWSIZE" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWSIZE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M_AXI_GP0_ARPROT" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARPROT"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="2" NAME="M_AXI_GP0_AWPROT" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWPROT"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M_AXI_GP0_ARADDR" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M_AXI_GP0_AWADDR" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M_AXI_GP0_WDATA" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_ARCACHE" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARCACHE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_ARLEN" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARLEN"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_ARQOS" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARQOS"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arqos"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_AWCACHE" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWCACHE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_AWLEN" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWLEN"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_AWQOS" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWQOS"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awqos"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M_AXI_GP0_WSTRB" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WSTRB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="M_AXI_GP0_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M_AXI_GP0_ARREADY" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M_AXI_GP0_AWREADY" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M_AXI_GP0_BVALID" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M_AXI_GP0_RLAST" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RLAST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_rlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M_AXI_GP0_RVALID" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M_AXI_GP0_WREADY" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="11" NAME="M_AXI_GP0_BID" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_bid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="11" NAME="M_AXI_GP0_RID" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_rid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M_AXI_GP0_BRESP" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M_AXI_GP0_RRESP" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="M_AXI_GP0_RDATA" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_AXI_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S_AXI_HP0_ARREADY" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S_AXI_HP0_AWREADY" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S_AXI_HP0_BVALID" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S_AXI_HP0_RLAST" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_rlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S_AXI_HP0_RVALID" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S_AXI_HP0_WREADY" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="S_AXI_HP0_BRESP" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="S_AXI_HP0_RRESP" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="5" NAME="S_AXI_HP0_BID" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_bid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="5" NAME="S_AXI_HP0_RID" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_rid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="63" NAME="S_AXI_HP0_RDATA" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="7" NAME="S_AXI_HP0_RCOUNT" RIGHT="0" SIGIS="undef"/> + <PORT DIR="O" LEFT="7" NAME="S_AXI_HP0_WCOUNT" RIGHT="0" SIGIS="undef"/> + <PORT DIR="O" LEFT="2" NAME="S_AXI_HP0_RACOUNT" RIGHT="0" SIGIS="undef"/> + <PORT DIR="O" LEFT="5" NAME="S_AXI_HP0_WACOUNT" RIGHT="0" SIGIS="undef"/> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="S_AXI_HP0_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S_AXI_HP0_ARVALID" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S_AXI_HP0_AWVALID" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S_AXI_HP0_BREADY" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S_AXI_HP0_RDISSUECAP1_EN" SIGIS="undef"/> + <PORT DIR="I" NAME="S_AXI_HP0_RREADY" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S_AXI_HP0_WLAST" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wlast"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_wlast"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S_AXI_HP0_WRISSUECAP1_EN" SIGIS="undef"/> + <PORT DIR="I" NAME="S_AXI_HP0_WVALID" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S_AXI_HP0_ARBURST" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S_AXI_HP0_ARLOCK" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arlock"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arlock"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S_AXI_HP0_ARSIZE" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S_AXI_HP0_AWBURST" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awburst"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awburst"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S_AXI_HP0_AWLOCK" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awlock"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awlock"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S_AXI_HP0_AWSIZE" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awsize"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awsize"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S_AXI_HP0_ARPROT" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S_AXI_HP0_AWPROT" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awprot"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awprot"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S_AXI_HP0_ARADDR" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S_AXI_HP0_AWADDR" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S_AXI_HP0_ARCACHE" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S_AXI_HP0_ARLEN" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S_AXI_HP0_ARQOS" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arqos"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arqos"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S_AXI_HP0_AWCACHE" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awcache"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awcache"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S_AXI_HP0_AWLEN" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awlen"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awlen"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S_AXI_HP0_AWQOS" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awqos"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awqos"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="5" NAME="S_AXI_HP0_ARID" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_arid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_arid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="5" NAME="S_AXI_HP0_AWID" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_awid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_awid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="5" NAME="S_AXI_HP0_WID" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_wid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="63" NAME="S_AXI_HP0_WDATA" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="7" NAME="S_AXI_HP0_WSTRB" RIGHT="0" SIGIS="undef" SIGNAME="axi_interconnect_0_M00_AXI_wstrb"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_AXI_wstrb"/> + </CONNECTIONS> + </PORT> + <PORT CLKFREQUENCY="50000000" DIR="O" NAME="FCLK_CLK0" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_mm2s_aclk"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_ACLK"/> + <CONNECTION INSTANCE="pixel" PORT="ap_clk"/> + <CONNECTION INSTANCE="rst_ps_50M" PORT="slowest_sync_clk"/> + <CONNECTION INSTANCE="axi_dma_0" PORT="m_axi_s2mm_aclk"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_ACLK"/> + <CONNECTION INSTANCE="ps" PORT="S_AXI_HP0_ACLK"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_ACLK"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="ACLK"/> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ACLK"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_ACLK"/> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_aclk"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M00_ACLK"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="ACLK"/> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_mm2s_aclk"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_ACLK"/> + <CONNECTION INSTANCE="axi_dma_1" PORT="m_axi_s2mm_aclk"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_ACLK"/> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_aclk"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_ACLK"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_ACLK"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="FCLK_RESET0_N" POLARITY="ACTIVE_LOW" SIGIS="rst" SIGNAME="ps_FCLK_RESET0_N"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="ext_reset_in"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="53" NAME="MIO" RIGHT="0" SIGIS="undef" SIGNAME="ps_MIO"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="FIXED_IO_mio"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_CAS_n" SIGIS="undef" SIGNAME="ps_DDR_CAS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_cas_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_CKE" SIGIS="undef" SIGNAME="ps_DDR_CKE"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_cke"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_Clk_n" SIGIS="clk" SIGNAME="ps_DDR_Clk_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_ck_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_Clk" SIGIS="clk" SIGNAME="ps_DDR_Clk"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_ck_p"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_CS_n" SIGIS="undef" SIGNAME="ps_DDR_CS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_cs_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_DRSTB" SIGIS="rst" SIGNAME="ps_DDR_DRSTB"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_reset_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_ODT" SIGIS="undef" SIGNAME="ps_DDR_ODT"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_odt"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_RAS_n" SIGIS="undef" SIGNAME="ps_DDR_RAS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_ras_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_WEB" SIGIS="undef" SIGNAME="ps_DDR_WEB"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_we_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="2" NAME="DDR_BankAddr" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_BankAddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_ba"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="14" NAME="DDR_Addr" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_Addr"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_addr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_VRN" SIGIS="undef" SIGNAME="ps_DDR_VRN"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="FIXED_IO_ddr_vrn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="DDR_VRP" SIGIS="undef" SIGNAME="ps_DDR_VRP"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="FIXED_IO_ddr_vrp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="3" NAME="DDR_DM" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DM"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_dm"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="31" NAME="DDR_DQ" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DQ"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_dq"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="3" NAME="DDR_DQS_n" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DQS_n"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_dqs_n"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" LEFT="3" NAME="DDR_DQS" RIGHT="0" SIGIS="undef" SIGNAME="ps_DDR_DQS"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="DDR_dqs_p"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="PS_SRSTB" SIGIS="undef" SIGNAME="ps_PS_SRSTB"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="FIXED_IO_ps_srstb"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="PS_CLK" SIGIS="undef" SIGNAME="ps_PS_CLK"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="FIXED_IO_ps_clk"/> + </CONNECTIONS> + </PORT> + <PORT DIR="IO" NAME="PS_PORB" SIGIS="undef" SIGNAME="ps_PS_PORB"> + <CONNECTIONS> + <CONNECTION INSTANCE="overlay_imp" PORT="FIXED_IO_ps_porb"/> + </CONNECTIONS> + </PORT> + </PORTS> + <BUSINTERFACES> + <BUSINTERFACE BUSNAME="ps_DDR" DATAWIDTH="8" NAME="DDR" TYPE="INITIATOR" VLNV="xilinx.com:interface:ddrx:1.0"> + <PARAMETER NAME="CAN_DEBUG" VALUE="false"/> + <PARAMETER NAME="TIMEPERIOD_PS" VALUE="1250"/> + <PARAMETER NAME="MEMORY_TYPE" VALUE="COMPONENTS"/> + <PARAMETER NAME="MEMORY_PART"/> + <PARAMETER NAME="DATA_WIDTH" VALUE="8"/> + <PARAMETER NAME="CS_ENABLED" VALUE="true"/> + <PARAMETER NAME="DATA_MASK_ENABLED" VALUE="true"/> + <PARAMETER NAME="SLOT" VALUE="Single"/> + <PARAMETER NAME="CUSTOM_PARTS"/> + <PARAMETER NAME="MEM_ADDR_MAP" VALUE="ROW_COLUMN_BANK"/> + <PARAMETER NAME="BURST_LENGTH" VALUE="8"/> + <PARAMETER NAME="AXI_ARBITRATION_SCHEME" VALUE="TDM"/> + <PARAMETER NAME="CAS_LATENCY" VALUE="11"/> + <PARAMETER NAME="CAS_WRITE_LATENCY" VALUE="11"/> + <PORTMAPS> + <PORTMAP LOGICAL="CAS_N" PHYSICAL="DDR_CAS_n"/> + <PORTMAP LOGICAL="CKE" PHYSICAL="DDR_CKE"/> + <PORTMAP LOGICAL="CK_N" PHYSICAL="DDR_Clk_n"/> + <PORTMAP LOGICAL="CK_P" PHYSICAL="DDR_Clk"/> + <PORTMAP LOGICAL="CS_N" PHYSICAL="DDR_CS_n"/> + <PORTMAP LOGICAL="RESET_N" PHYSICAL="DDR_DRSTB"/> + <PORTMAP LOGICAL="ODT" PHYSICAL="DDR_ODT"/> + <PORTMAP LOGICAL="RAS_N" PHYSICAL="DDR_RAS_n"/> + <PORTMAP LOGICAL="WE_N" PHYSICAL="DDR_WEB"/> + <PORTMAP LOGICAL="BA" PHYSICAL="DDR_BankAddr"/> + <PORTMAP LOGICAL="ADDR" PHYSICAL="DDR_Addr"/> + <PORTMAP LOGICAL="DM" PHYSICAL="DDR_DM"/> + <PORTMAP LOGICAL="DQ" PHYSICAL="DDR_DQ"/> + <PORTMAP LOGICAL="DQS_N" PHYSICAL="DDR_DQS_n"/> + <PORTMAP LOGICAL="DQS_P" PHYSICAL="DDR_DQS"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="ps_FIXED_IO" NAME="FIXED_IO" TYPE="INITIATOR" VLNV="xilinx.com:display_processing_system7:fixedio:1.0"> + <PARAMETER NAME="CAN_DEBUG" VALUE="false"/> + <PORTMAPS> + <PORTMAP LOGICAL="MIO" PHYSICAL="MIO"/> + <PORTMAP LOGICAL="DDR_VRN" PHYSICAL="DDR_VRN"/> + <PORTMAP LOGICAL="DDR_VRP" PHYSICAL="DDR_VRP"/> + <PORTMAP LOGICAL="PS_SRSTB" PHYSICAL="PS_SRSTB"/> + <PORTMAP LOGICAL="PS_CLK" PHYSICAL="PS_CLK"/> + <PORTMAP LOGICAL="PS_PORB" PHYSICAL="PS_PORB"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="__NOC__" NAME="S_AXI_HP0_FIFO_CTRL" TYPE="TARGET" VLNV="xilinx.com:display_processing_system7:hpstatusctrl:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="RCOUNT" PHYSICAL="S_AXI_HP0_RCOUNT"/> + <PORTMAP LOGICAL="WCOUNT" PHYSICAL="S_AXI_HP0_WCOUNT"/> + <PORTMAP LOGICAL="RACOUNT" PHYSICAL="S_AXI_HP0_RACOUNT"/> + <PORTMAP LOGICAL="WACOUNT" PHYSICAL="S_AXI_HP0_WACOUNT"/> + <PORTMAP LOGICAL="RDISSUECAPEN" PHYSICAL="S_AXI_HP0_RDISSUECAP1_EN"/> + <PORTMAP LOGICAL="WRISSUECAPEN" PHYSICAL="S_AXI_HP0_WRISSUECAP1_EN"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="ps_M_AXI_GP0" DATAWIDTH="32" NAME="M_AXI_GP0" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0"> + <PARAMETER NAME="SUPPORTS_NARROW_BURST" VALUE="0"/> + <PARAMETER NAME="NUM_WRITE_OUTSTANDING" VALUE="8"/> + <PARAMETER NAME="NUM_READ_OUTSTANDING" VALUE="8"/> + <PARAMETER NAME="DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="PROTOCOL" VALUE="AXI3"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="ID_WIDTH" VALUE="12"/> + <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_WRITE"/> + <PARAMETER NAME="HAS_BURST" VALUE="1"/> + <PARAMETER NAME="HAS_LOCK" VALUE="1"/> + <PARAMETER NAME="HAS_PROT" VALUE="1"/> + <PARAMETER NAME="HAS_CACHE" VALUE="1"/> + <PARAMETER NAME="HAS_QOS" VALUE="1"/> + <PARAMETER NAME="HAS_REGION" VALUE="0"/> + <PARAMETER NAME="HAS_WSTRB" VALUE="1"/> + <PARAMETER NAME="HAS_BRESP" VALUE="1"/> + <PARAMETER NAME="HAS_RRESP" VALUE="1"/> + <PARAMETER NAME="MAX_BURST_LENGTH" VALUE="16"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <PARAMETER NAME="NUM_READ_THREADS" VALUE="4"/> + <PARAMETER NAME="NUM_WRITE_THREADS" VALUE="4"/> + <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="ARVALID" PHYSICAL="M_AXI_GP0_ARVALID"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="M_AXI_GP0_AWVALID"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="M_AXI_GP0_BREADY"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="M_AXI_GP0_RREADY"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="M_AXI_GP0_WLAST"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="M_AXI_GP0_WVALID"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="M_AXI_GP0_ARID"/> + <PORTMAP LOGICAL="AWID" PHYSICAL="M_AXI_GP0_AWID"/> + <PORTMAP LOGICAL="WID" PHYSICAL="M_AXI_GP0_WID"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="M_AXI_GP0_ARBURST"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="M_AXI_GP0_ARLOCK"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="M_AXI_GP0_ARSIZE"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="M_AXI_GP0_AWBURST"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="M_AXI_GP0_AWLOCK"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="M_AXI_GP0_AWSIZE"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="M_AXI_GP0_ARPROT"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="M_AXI_GP0_AWPROT"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="M_AXI_GP0_ARADDR"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="M_AXI_GP0_AWADDR"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="M_AXI_GP0_WDATA"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="M_AXI_GP0_ARCACHE"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="M_AXI_GP0_ARLEN"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="M_AXI_GP0_ARQOS"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="M_AXI_GP0_AWCACHE"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="M_AXI_GP0_AWLEN"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="M_AXI_GP0_AWQOS"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="M_AXI_GP0_WSTRB"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="M_AXI_GP0_ARREADY"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="M_AXI_GP0_AWREADY"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="M_AXI_GP0_BVALID"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="M_AXI_GP0_RLAST"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="M_AXI_GP0_RVALID"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="M_AXI_GP0_WREADY"/> + <PORTMAP LOGICAL="BID" PHYSICAL="M_AXI_GP0_BID"/> + <PORTMAP LOGICAL="RID" PHYSICAL="M_AXI_GP0_RID"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="M_AXI_GP0_BRESP"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="M_AXI_GP0_RRESP"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="M_AXI_GP0_RDATA"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="axi_interconnect_0_M00_AXI" DATAWIDTH="64" NAME="S_AXI_HP0" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PARAMETER NAME="NUM_WRITE_OUTSTANDING" VALUE="8"/> + <PARAMETER NAME="NUM_READ_OUTSTANDING" VALUE="8"/> + <PARAMETER NAME="DATA_WIDTH" VALUE="64"/> + <PARAMETER NAME="PROTOCOL" VALUE="AXI3"/> + <PARAMETER NAME="FREQ_HZ" VALUE="50000000"/> + <PARAMETER NAME="ID_WIDTH" VALUE="6"/> + <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_WRITE"/> + <PARAMETER NAME="HAS_BURST" VALUE="1"/> + <PARAMETER NAME="HAS_LOCK" VALUE="1"/> + <PARAMETER NAME="HAS_PROT" VALUE="1"/> + <PARAMETER NAME="HAS_CACHE" VALUE="1"/> + <PARAMETER NAME="HAS_QOS" VALUE="1"/> + <PARAMETER NAME="HAS_REGION" VALUE="0"/> + <PARAMETER NAME="HAS_WSTRB" VALUE="1"/> + <PARAMETER NAME="HAS_BRESP" VALUE="1"/> + <PARAMETER NAME="HAS_RRESP" VALUE="1"/> + <PARAMETER NAME="SUPPORTS_NARROW_BURST" VALUE="0"/> + <PARAMETER NAME="MAX_BURST_LENGTH" VALUE="16"/> + <PARAMETER NAME="PHASE" VALUE="0.000"/> + <PARAMETER NAME="CLK_DOMAIN" VALUE="overlay_ps_0_FCLK_CLK0"/> + <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="ARREADY" PHYSICAL="S_AXI_HP0_ARREADY"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="S_AXI_HP0_AWREADY"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="S_AXI_HP0_BVALID"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="S_AXI_HP0_RLAST"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="S_AXI_HP0_RVALID"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="S_AXI_HP0_WREADY"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="S_AXI_HP0_BRESP"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="S_AXI_HP0_RRESP"/> + <PORTMAP LOGICAL="BID" PHYSICAL="S_AXI_HP0_BID"/> + <PORTMAP LOGICAL="RID" PHYSICAL="S_AXI_HP0_RID"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="S_AXI_HP0_RDATA"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="S_AXI_HP0_ARVALID"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="S_AXI_HP0_AWVALID"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="S_AXI_HP0_BREADY"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="S_AXI_HP0_RREADY"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="S_AXI_HP0_WLAST"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="S_AXI_HP0_WVALID"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="S_AXI_HP0_ARBURST"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="S_AXI_HP0_ARLOCK"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="S_AXI_HP0_ARSIZE"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="S_AXI_HP0_AWBURST"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="S_AXI_HP0_AWLOCK"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="S_AXI_HP0_AWSIZE"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="S_AXI_HP0_ARPROT"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="S_AXI_HP0_AWPROT"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="S_AXI_HP0_ARADDR"/> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="S_AXI_HP0_AWADDR"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="S_AXI_HP0_ARCACHE"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="S_AXI_HP0_ARLEN"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="S_AXI_HP0_ARQOS"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="S_AXI_HP0_AWCACHE"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="S_AXI_HP0_AWLEN"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="S_AXI_HP0_AWQOS"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="S_AXI_HP0_ARID"/> + <PORTMAP LOGICAL="AWID" PHYSICAL="S_AXI_HP0_AWID"/> + <PORTMAP LOGICAL="WID" PHYSICAL="S_AXI_HP0_WID"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="S_AXI_HP0_WDATA"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="S_AXI_HP0_WSTRB"/> + </PORTMAPS> + </BUSINTERFACE> + </BUSINTERFACES> + <MEMORYMAP> + <MEMRANGE ADDRESSBLOCK="Reg" BASENAME="C_S_AXI_CONTROL_BASEADDR" BASEVALUE="0x40000000" HIGHNAME="C_S_AXI_CONTROL_HIGHADDR" HIGHVALUE="0x4000FFFF" INSTANCE="pixel" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_GP0" MEMTYPE="REGISTER" SLAVEBUSINTERFACE="s_axi_control"/> + <MEMRANGE ADDRESSBLOCK="Reg" BASENAME="C_BASEADDR" BASEVALUE="0x41E00000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0x41E0FFFF" INSTANCE="axi_dma_0" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_GP0" MEMTYPE="REGISTER" SLAVEBUSINTERFACE="S_AXI_LITE"/> + <MEMRANGE ADDRESSBLOCK="Reg" BASENAME="C_BASEADDR" BASEVALUE="0x41E10000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0x41E1FFFF" INSTANCE="axi_dma_1" IS_DATA="TRUE" IS_INSTRUCTION="TRUE" MASTERBUSINTERFACE="M_AXI_GP0" MEMTYPE="REGISTER" SLAVEBUSINTERFACE="S_AXI_LITE"/> + </MEMORYMAP> + <PERIPHERALS> + <PERIPHERAL INSTANCE="pixel"/> + <PERIPHERAL INSTANCE="axi_dma_0"/> + <PERIPHERAL INSTANCE="axi_dma_1"/> + </PERIPHERALS> + </MODULE> + <MODULE COREREVISION="23" FULLNAME="/ps_axi_periph" HWVERSION="2.1" INSTANCE="ps_axi_periph" IPTYPE="BUS" IS_ENABLE="1" MODCLASS="BUS" MODTYPE="axi_interconnect" VLNV="xilinx.com:ip:axi_interconnect:2.1"> + <DOCUMENTS> + <DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_interconnect;v=v2_1;d=pg059-axi-interconnect.pdf"/> + </DOCUMENTS> + <PARAMETERS> + <PARAMETER NAME="NUM_SI" VALUE="1"/> + <PARAMETER NAME="NUM_MI" VALUE="3"/> + <PARAMETER NAME="STRATEGY" VALUE="0"/> + <PARAMETER NAME="ENABLE_ADVANCED_OPTIONS" VALUE="0"/> + <PARAMETER NAME="ENABLE_PROTOCOL_CHECKERS" VALUE="0"/> + <PARAMETER NAME="XBAR_DATA_WIDTH" VALUE="32"/> + <PARAMETER NAME="PCHK_WAITS" VALUE="0"/> + <PARAMETER NAME="PCHK_MAX_RD_BURSTS" VALUE="2"/> + <PARAMETER NAME="PCHK_MAX_WR_BURSTS" VALUE="2"/> + <PARAMETER NAME="SYNCHRONIZATION_STAGES" VALUE="3"/> + <PARAMETER NAME="M00_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M01_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M02_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M03_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M04_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M05_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M06_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M07_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M08_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M09_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M10_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M11_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M12_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M13_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M14_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M15_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M16_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M17_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M18_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M19_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M20_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M21_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M22_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M23_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M24_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M25_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M26_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M27_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M28_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M29_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M30_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M31_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M32_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M33_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M34_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M35_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M36_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M37_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M38_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M39_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M40_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M41_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M42_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M43_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M44_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M45_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M46_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M47_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M48_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M49_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M50_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M51_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M52_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M53_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M54_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M55_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M56_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M57_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M58_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M59_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M60_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M61_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M62_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M63_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="M00_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M01_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M02_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M03_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M04_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M05_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M06_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M07_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M08_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M09_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M10_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M11_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M12_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M13_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M14_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M15_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M16_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M17_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M18_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M19_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M20_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M21_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M22_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M23_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M24_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M25_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M26_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M27_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M28_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M29_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M30_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M31_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M32_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M33_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M34_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M35_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M36_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M37_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M38_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M39_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M40_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M41_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M42_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M43_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M44_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M45_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M46_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M47_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M48_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M49_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M50_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M51_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M52_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M53_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M54_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M55_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M56_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M57_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M58_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M59_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M60_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M61_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M62_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M63_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S00_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S01_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S02_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S03_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S04_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S05_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S06_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S07_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S08_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S09_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S10_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S11_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S12_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S13_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S14_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S15_HAS_REGSLICE" VALUE="0"/> + <PARAMETER NAME="S00_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S01_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S02_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S03_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S04_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S05_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S06_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S07_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S08_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S09_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S10_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S11_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S12_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S13_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S14_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="S15_HAS_DATA_FIFO" VALUE="0"/> + <PARAMETER NAME="M00_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M01_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M02_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M03_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M04_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M05_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M06_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M07_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M08_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M09_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M10_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M11_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M12_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M13_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M14_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M15_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M16_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M17_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M18_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M19_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M20_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M21_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M22_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M23_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M24_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M25_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M26_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M27_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M28_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M29_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M30_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M31_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M32_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M33_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M34_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M35_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M36_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M37_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M38_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M39_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M40_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M41_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M42_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M43_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M44_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M45_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M46_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M47_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M48_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M49_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M50_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M51_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M52_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M53_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M54_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M55_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M56_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M57_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M58_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M59_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M60_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M61_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M62_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M63_ISSUANCE" VALUE="0"/> + <PARAMETER NAME="M00_SECURE" VALUE="0"/> + <PARAMETER NAME="M01_SECURE" VALUE="0"/> + <PARAMETER NAME="M02_SECURE" VALUE="0"/> + <PARAMETER NAME="M03_SECURE" VALUE="0"/> + <PARAMETER NAME="M04_SECURE" VALUE="0"/> + <PARAMETER NAME="M05_SECURE" VALUE="0"/> + <PARAMETER NAME="M06_SECURE" VALUE="0"/> + <PARAMETER NAME="M07_SECURE" VALUE="0"/> + <PARAMETER NAME="M08_SECURE" VALUE="0"/> + <PARAMETER NAME="M09_SECURE" VALUE="0"/> + <PARAMETER NAME="M10_SECURE" VALUE="0"/> + <PARAMETER NAME="M11_SECURE" VALUE="0"/> + <PARAMETER NAME="M12_SECURE" VALUE="0"/> + <PARAMETER NAME="M13_SECURE" VALUE="0"/> + <PARAMETER NAME="M14_SECURE" VALUE="0"/> + <PARAMETER NAME="M15_SECURE" VALUE="0"/> + <PARAMETER NAME="M16_SECURE" VALUE="0"/> + <PARAMETER NAME="M17_SECURE" VALUE="0"/> + <PARAMETER NAME="M18_SECURE" VALUE="0"/> + <PARAMETER NAME="M19_SECURE" VALUE="0"/> + <PARAMETER NAME="M20_SECURE" VALUE="0"/> + <PARAMETER NAME="M21_SECURE" VALUE="0"/> + <PARAMETER NAME="M22_SECURE" VALUE="0"/> + <PARAMETER NAME="M23_SECURE" VALUE="0"/> + <PARAMETER NAME="M24_SECURE" VALUE="0"/> + <PARAMETER NAME="M25_SECURE" VALUE="0"/> + <PARAMETER NAME="M26_SECURE" VALUE="0"/> + <PARAMETER NAME="M27_SECURE" VALUE="0"/> + <PARAMETER NAME="M28_SECURE" VALUE="0"/> + <PARAMETER NAME="M29_SECURE" VALUE="0"/> + <PARAMETER NAME="M30_SECURE" VALUE="0"/> + <PARAMETER NAME="M31_SECURE" VALUE="0"/> + <PARAMETER NAME="M32_SECURE" VALUE="0"/> + <PARAMETER NAME="M33_SECURE" VALUE="0"/> + <PARAMETER NAME="M34_SECURE" VALUE="0"/> + <PARAMETER NAME="M35_SECURE" VALUE="0"/> + <PARAMETER NAME="M36_SECURE" VALUE="0"/> + <PARAMETER NAME="M37_SECURE" VALUE="0"/> + <PARAMETER NAME="M38_SECURE" VALUE="0"/> + <PARAMETER NAME="M39_SECURE" VALUE="0"/> + <PARAMETER NAME="M40_SECURE" VALUE="0"/> + <PARAMETER NAME="M41_SECURE" VALUE="0"/> + <PARAMETER NAME="M42_SECURE" VALUE="0"/> + <PARAMETER NAME="M43_SECURE" VALUE="0"/> + <PARAMETER NAME="M44_SECURE" VALUE="0"/> + <PARAMETER NAME="M45_SECURE" VALUE="0"/> + <PARAMETER NAME="M46_SECURE" VALUE="0"/> + <PARAMETER NAME="M47_SECURE" VALUE="0"/> + <PARAMETER NAME="M48_SECURE" VALUE="0"/> + <PARAMETER NAME="M49_SECURE" VALUE="0"/> + <PARAMETER NAME="M50_SECURE" VALUE="0"/> + <PARAMETER NAME="M51_SECURE" VALUE="0"/> + <PARAMETER NAME="M52_SECURE" VALUE="0"/> + <PARAMETER NAME="M53_SECURE" VALUE="0"/> + <PARAMETER NAME="M54_SECURE" VALUE="0"/> + <PARAMETER NAME="M55_SECURE" VALUE="0"/> + <PARAMETER NAME="M56_SECURE" VALUE="0"/> + <PARAMETER NAME="M57_SECURE" VALUE="0"/> + <PARAMETER NAME="M58_SECURE" VALUE="0"/> + <PARAMETER NAME="M59_SECURE" VALUE="0"/> + <PARAMETER NAME="M60_SECURE" VALUE="0"/> + <PARAMETER NAME="M61_SECURE" VALUE="0"/> + <PARAMETER NAME="M62_SECURE" VALUE="0"/> + <PARAMETER NAME="M63_SECURE" VALUE="0"/> + <PARAMETER NAME="S00_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S01_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S02_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S03_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S04_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S05_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S06_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S07_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S08_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S09_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S10_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S11_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S12_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S13_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S14_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="S15_ARB_PRIORITY" VALUE="0"/> + <PARAMETER NAME="Component_Name" VALUE="overlay_ps_axi_periph_0"/> + <PARAMETER NAME="EDK_IPTYPE" VALUE="BUS"/> + </PARAMETERS> + <PORTS> + <PORT DIR="I" NAME="ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M01_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M01_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M02_ACLK" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M02_ARESETN" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="rst_ps_50M" PORT="peripheral_aresetn"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M00_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_awlen" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awsize" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awburst" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awlock" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awcache" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awprot" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awregion" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_awqos" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M00_AXI_awvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M00_AXI_awready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M00_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_wstrb" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_wlast" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M00_AXI_wvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M00_AXI_wready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M00_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M00_AXI_bvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="M00_AXI_bready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M00_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M00_AXI_arlen" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arsize" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arburst" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arlock" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arcache" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arprot" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arregion" SIGIS="undef"/> + <PORT DIR="O" NAME="M00_AXI_arqos" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M00_AXI_arvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M00_AXI_arready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="M00_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M00_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M00_AXI_rlast" SIGIS="undef"/> + <PORT DIR="I" LEFT="0" NAME="M00_AXI_rvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="M00_AXI_rready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_0_s_axi_lite_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_0" PORT="s_axi_lite_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M01_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_awaddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_awaddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M01_AXI_awlen" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awsize" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awburst" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awlock" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awcache" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awprot" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awregion" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_awqos" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M01_AXI_awvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_awvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_awvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M01_AXI_awready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_awready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_awready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M01_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_wdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_wdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M01_AXI_wstrb" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_wlast" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M01_AXI_wvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_wvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_wvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M01_AXI_wready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_wready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_wready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M01_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_bresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_bresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M01_AXI_bvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_bvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_bvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="M01_AXI_bready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_bready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_bready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M01_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_araddr"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_araddr"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M01_AXI_arlen" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arsize" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arburst" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arlock" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arcache" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arprot" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arregion" SIGIS="undef"/> + <PORT DIR="O" NAME="M01_AXI_arqos" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M01_AXI_arvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_arvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_arvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M01_AXI_arready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_arready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_arready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="M01_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rdata"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_rdata"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M01_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rresp"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_rresp"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M01_AXI_rlast" SIGIS="undef"/> + <PORT DIR="I" LEFT="0" NAME="M01_AXI_rvalid" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rvalid"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_rvalid"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="M01_AXI_rready" RIGHT="0" SIGIS="undef" SIGNAME="axi_dma_1_s_axi_lite_rready"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_dma_1" PORT="s_axi_lite_rready"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M02_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_AWADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_AWADDR"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M02_AXI_awlen" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awsize" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awburst" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awlock" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awcache" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awprot" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awregion" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_awqos" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M02_AXI_awvalid" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_AWVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_AWVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M02_AXI_awready" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_AWREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_AWREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M02_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_WDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_WDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="3" NAME="M02_AXI_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_WSTRB"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_WSTRB"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M02_AXI_wlast" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M02_AXI_wvalid" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_WVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_WVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M02_AXI_wready" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_WREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_WREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M02_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_BRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_BRESP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M02_AXI_bvalid" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_BVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_BVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="M02_AXI_bready" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_BREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_BREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="M02_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_ARADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_ARADDR"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="M02_AXI_arlen" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arsize" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arburst" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arlock" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arcache" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arprot" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arregion" SIGIS="undef"/> + <PORT DIR="O" NAME="M02_AXI_arqos" SIGIS="undef"/> + <PORT DIR="O" LEFT="0" NAME="M02_AXI_arvalid" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_ARVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_ARVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="0" NAME="M02_AXI_arready" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_ARREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_ARREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="M02_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_RDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_RDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="M02_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_RRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_RRESP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="M02_AXI_rlast" SIGIS="undef"/> + <PORT DIR="I" LEFT="0" NAME="M02_AXI_rvalid" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_RVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_RVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="0" NAME="M02_AXI_rready" RIGHT="0" SIGIS="undef" SIGNAME="pixel_s_axi_control_RREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="pixel" PORT="s_axi_control_RREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S00_AXI_awaddr" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWADDR"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_awlen" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWLEN"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWLEN"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S00_AXI_awsize" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWSIZE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWSIZE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S00_AXI_awburst" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWBURST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWBURST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S00_AXI_awlock" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWLOCK"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWLOCK"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_awcache" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWCACHE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWCACHE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S00_AXI_awprot" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWPROT"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWPROT"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_awqos" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWQOS"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWQOS"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_awvalid" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_awready" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S00_AXI_wdata" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_WDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_wstrb" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WSTRB"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_WSTRB"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_wlast" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WLAST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_WLAST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_wvalid" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_WVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_wready" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_WREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="S00_AXI_bresp" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_BRESP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_bvalid" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_BVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_bready" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_BREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="31" NAME="S00_AXI_araddr" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARADDR"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARADDR"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_arlen" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARLEN"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARLEN"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S00_AXI_arsize" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARSIZE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARSIZE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S00_AXI_arburst" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARBURST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARBURST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="1" NAME="S00_AXI_arlock" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARLOCK"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARLOCK"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_arcache" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARCACHE"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARCACHE"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="2" NAME="S00_AXI_arprot" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARPROT"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARPROT"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="3" NAME="S00_AXI_arqos" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARQOS"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARQOS"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_arvalid" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_arready" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="31" NAME="S00_AXI_rdata" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RDATA"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_RDATA"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="1" NAME="S00_AXI_rresp" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RRESP"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_RRESP"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_rlast" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RLAST"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_RLAST"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" NAME="S00_AXI_rvalid" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RVALID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_RVALID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="S00_AXI_rready" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RREADY"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_RREADY"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="11" NAME="S00_AXI_arid" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_ARID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_ARID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="11" NAME="S00_AXI_awid" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_AWID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_AWID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="11" NAME="S00_AXI_bid" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_BID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_BID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="O" LEFT="11" NAME="S00_AXI_rid" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_RID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_RID"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" LEFT="11" NAME="S00_AXI_wid" RIGHT="0" SIGIS="undef" SIGNAME="ps_M_AXI_GP0_WID"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="M_AXI_GP0_WID"/> + </CONNECTIONS> + </PORT> + </PORTS> + <BUSINTERFACES> + <BUSINTERFACE BUSNAME="ps_M_AXI_GP0" DATAWIDTH="32" NAME="S00_AXI" TYPE="SLAVE" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="S00_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="S00_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="S00_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="S00_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="S00_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="S00_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="S00_AXI_awprot"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="S00_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="S00_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="S00_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="S00_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="S00_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="S00_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="S00_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="S00_AXI_wready"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="S00_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="S00_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="S00_AXI_bready"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="S00_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="S00_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="S00_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="S00_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="S00_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="S00_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="S00_AXI_arprot"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="S00_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="S00_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="S00_AXI_arready"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="S00_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="S00_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="S00_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="S00_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="S00_AXI_rready"/> + <PORTMAP LOGICAL="ARID" PHYSICAL="S00_AXI_arid"/> + <PORTMAP LOGICAL="AWID" PHYSICAL="S00_AXI_awid"/> + <PORTMAP LOGICAL="BID" PHYSICAL="S00_AXI_bid"/> + <PORTMAP LOGICAL="RID" PHYSICAL="S00_AXI_rid"/> + <PORTMAP LOGICAL="WID" PHYSICAL="S00_AXI_wid"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="ps_axi_periph_M00_AXI" DATAWIDTH="32" NAME="M00_AXI" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="M00_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="M00_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="M00_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="M00_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="M00_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="M00_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="M00_AXI_awprot"/> + <PORTMAP LOGICAL="AWREGION" PHYSICAL="M00_AXI_awregion"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="M00_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="M00_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="M00_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="M00_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="M00_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="M00_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="M00_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="M00_AXI_wready"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="M00_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="M00_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="M00_AXI_bready"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="M00_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="M00_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="M00_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="M00_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="M00_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="M00_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="M00_AXI_arprot"/> + <PORTMAP LOGICAL="ARREGION" PHYSICAL="M00_AXI_arregion"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="M00_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="M00_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="M00_AXI_arready"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="M00_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="M00_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="M00_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="M00_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="M00_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="ps_axi_periph_M01_AXI" DATAWIDTH="32" NAME="M01_AXI" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="M01_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="M01_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="M01_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="M01_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="M01_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="M01_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="M01_AXI_awprot"/> + <PORTMAP LOGICAL="AWREGION" PHYSICAL="M01_AXI_awregion"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="M01_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="M01_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="M01_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="M01_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="M01_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="M01_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="M01_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="M01_AXI_wready"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="M01_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="M01_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="M01_AXI_bready"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="M01_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="M01_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="M01_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="M01_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="M01_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="M01_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="M01_AXI_arprot"/> + <PORTMAP LOGICAL="ARREGION" PHYSICAL="M01_AXI_arregion"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="M01_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="M01_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="M01_AXI_arready"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="M01_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="M01_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="M01_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="M01_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="M01_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + <BUSINTERFACE BUSNAME="ps_axi_periph_M02_AXI" DATAWIDTH="32" NAME="M02_AXI" TYPE="MASTER" VLNV="xilinx.com:interface:aximm:1.0"> + <PORTMAPS> + <PORTMAP LOGICAL="AWADDR" PHYSICAL="M02_AXI_awaddr"/> + <PORTMAP LOGICAL="AWLEN" PHYSICAL="M02_AXI_awlen"/> + <PORTMAP LOGICAL="AWSIZE" PHYSICAL="M02_AXI_awsize"/> + <PORTMAP LOGICAL="AWBURST" PHYSICAL="M02_AXI_awburst"/> + <PORTMAP LOGICAL="AWLOCK" PHYSICAL="M02_AXI_awlock"/> + <PORTMAP LOGICAL="AWCACHE" PHYSICAL="M02_AXI_awcache"/> + <PORTMAP LOGICAL="AWPROT" PHYSICAL="M02_AXI_awprot"/> + <PORTMAP LOGICAL="AWREGION" PHYSICAL="M02_AXI_awregion"/> + <PORTMAP LOGICAL="AWQOS" PHYSICAL="M02_AXI_awqos"/> + <PORTMAP LOGICAL="AWVALID" PHYSICAL="M02_AXI_awvalid"/> + <PORTMAP LOGICAL="AWREADY" PHYSICAL="M02_AXI_awready"/> + <PORTMAP LOGICAL="WDATA" PHYSICAL="M02_AXI_wdata"/> + <PORTMAP LOGICAL="WSTRB" PHYSICAL="M02_AXI_wstrb"/> + <PORTMAP LOGICAL="WLAST" PHYSICAL="M02_AXI_wlast"/> + <PORTMAP LOGICAL="WVALID" PHYSICAL="M02_AXI_wvalid"/> + <PORTMAP LOGICAL="WREADY" PHYSICAL="M02_AXI_wready"/> + <PORTMAP LOGICAL="BRESP" PHYSICAL="M02_AXI_bresp"/> + <PORTMAP LOGICAL="BVALID" PHYSICAL="M02_AXI_bvalid"/> + <PORTMAP LOGICAL="BREADY" PHYSICAL="M02_AXI_bready"/> + <PORTMAP LOGICAL="ARADDR" PHYSICAL="M02_AXI_araddr"/> + <PORTMAP LOGICAL="ARLEN" PHYSICAL="M02_AXI_arlen"/> + <PORTMAP LOGICAL="ARSIZE" PHYSICAL="M02_AXI_arsize"/> + <PORTMAP LOGICAL="ARBURST" PHYSICAL="M02_AXI_arburst"/> + <PORTMAP LOGICAL="ARLOCK" PHYSICAL="M02_AXI_arlock"/> + <PORTMAP LOGICAL="ARCACHE" PHYSICAL="M02_AXI_arcache"/> + <PORTMAP LOGICAL="ARPROT" PHYSICAL="M02_AXI_arprot"/> + <PORTMAP LOGICAL="ARREGION" PHYSICAL="M02_AXI_arregion"/> + <PORTMAP LOGICAL="ARQOS" PHYSICAL="M02_AXI_arqos"/> + <PORTMAP LOGICAL="ARVALID" PHYSICAL="M02_AXI_arvalid"/> + <PORTMAP LOGICAL="ARREADY" PHYSICAL="M02_AXI_arready"/> + <PORTMAP LOGICAL="RDATA" PHYSICAL="M02_AXI_rdata"/> + <PORTMAP LOGICAL="RRESP" PHYSICAL="M02_AXI_rresp"/> + <PORTMAP LOGICAL="RLAST" PHYSICAL="M02_AXI_rlast"/> + <PORTMAP LOGICAL="RVALID" PHYSICAL="M02_AXI_rvalid"/> + <PORTMAP LOGICAL="RREADY" PHYSICAL="M02_AXI_rready"/> + </PORTMAPS> + </BUSINTERFACE> + </BUSINTERFACES> + </MODULE> + <MODULE COREREVISION="13" FULLNAME="/rst_ps_50M" HWVERSION="5.0" INSTANCE="rst_ps_50M" IPTYPE="PERIPHERAL" IS_ENABLE="1" MODCLASS="PERIPHERAL" MODTYPE="proc_sys_reset" VLNV="xilinx.com:ip:proc_sys_reset:5.0"> + <DOCUMENTS> + <DOCUMENT SOURCE="http://www.xilinx.com/cgi-bin/docs/ipdoc?c=proc_sys_reset;v=v5_0;d=pg164-proc-sys-reset.pdf"/> + </DOCUMENTS> + <PARAMETERS> + <PARAMETER NAME="C_FAMILY" VALUE="zynq"/> + <PARAMETER NAME="C_EXT_RST_WIDTH" VALUE="4"/> + <PARAMETER NAME="C_AUX_RST_WIDTH" VALUE="4"/> + <PARAMETER NAME="C_EXT_RESET_HIGH" VALUE="0"/> + <PARAMETER NAME="C_AUX_RESET_HIGH" VALUE="0"/> + <PARAMETER NAME="C_NUM_BUS_RST" VALUE="1"/> + <PARAMETER NAME="C_NUM_PERP_RST" VALUE="1"/> + <PARAMETER NAME="C_NUM_INTERCONNECT_ARESETN" VALUE="1"/> + <PARAMETER NAME="C_NUM_PERP_ARESETN" VALUE="1"/> + <PARAMETER NAME="Component_Name" VALUE="overlay_rst_ps_50M_0"/> + <PARAMETER NAME="USE_BOARD_FLOW" VALUE="false"/> + <PARAMETER NAME="RESET_BOARD_INTERFACE" VALUE="Custom"/> + <PARAMETER NAME="EDK_IPTYPE" VALUE="PERIPHERAL"/> + </PARAMETERS> + <PORTS> + <PORT CLKFREQUENCY="50000000" DIR="I" NAME="slowest_sync_clk" SIGIS="clk" SIGNAME="ps_FCLK_CLK0"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_CLK0"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="ext_reset_in" POLARITY="ACTIVE_LOW" SIGIS="rst" SIGNAME="ps_FCLK_RESET0_N"> + <CONNECTIONS> + <CONNECTION INSTANCE="ps" PORT="FCLK_RESET0_N"/> + </CONNECTIONS> + </PORT> + <PORT DIR="I" NAME="aux_reset_in" POLARITY="ACTIVE_LOW" SIGIS="rst"/> + <PORT DIR="I" NAME="mb_debug_sys_rst" POLARITY="ACTIVE_HIGH" SIGIS="rst"/> + <PORT DIR="I" NAME="dcm_locked" SIGIS="undef"/> + <PORT DIR="O" NAME="mb_reset" POLARITY="ACTIVE_HIGH" SIGIS="rst"/> + <PORT DIR="O" LEFT="0" NAME="bus_struct_reset" POLARITY="ACTIVE_HIGH" RIGHT="0" SIGIS="rst"/> + <PORT DIR="O" LEFT="0" NAME="peripheral_reset" POLARITY="ACTIVE_HIGH" RIGHT="0" SIGIS="rst"/> + <PORT DIR="O" LEFT="0" NAME="interconnect_aresetn" POLARITY="ACTIVE_LOW" RIGHT="0" SIGIS="rst"/> + <PORT DIR="O" LEFT="0" NAME="peripheral_aresetn" POLARITY="ACTIVE_LOW" RIGHT="0" SIGIS="rst" SIGNAME="rst_ps_50M_peripheral_aresetn"> + <CONNECTIONS> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S00_ARESETN"/> + <CONNECTION INSTANCE="pixel" PORT="ap_rst_n"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S02_ARESETN"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="M00_ARESETN"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="ARESETN"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="S00_ARESETN"/> + <CONNECTION INSTANCE="axi_dma_0" PORT="axi_resetn"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M00_ARESETN"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="ARESETN"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S03_ARESETN"/> + <CONNECTION INSTANCE="axi_interconnect_0" PORT="S01_ARESETN"/> + <CONNECTION INSTANCE="axi_dma_1" PORT="axi_resetn"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M01_ARESETN"/> + <CONNECTION INSTANCE="ps_axi_periph" PORT="M02_ARESETN"/> + </CONNECTIONS> + </PORT> + </PORTS> + <BUSINTERFACES/> + </MODULE> + </MODULES> + +</EDKSYSTEM> -- GitLab