diff --git a/ips/hw/scalp_aurora_phy_rx_fifo/src/hdl/scalp_aurora_phy_rx_fifo.vhd b/ips/hw/scalp_aurora_phy_rx_fifo/src/hdl/scalp_aurora_phy_rx_fifo.vhd index e2920c9dc9e034f8adb1cb629b23ba03a2a69696..0a9574e061370ba21170ee9640b039f2c97c5b52 100644 --- a/ips/hw/scalp_aurora_phy_rx_fifo/src/hdl/scalp_aurora_phy_rx_fifo.vhd +++ b/ips/hw/scalp_aurora_phy_rx_fifo/src/hdl/scalp_aurora_phy_rx_fifo.vhd @@ -15,7 +15,7 @@ -- Tool version: 2020.2 -- Description: scalp_aurora_phy_rx_fifo -- --- Last update: 2020-11-18 +-- Last update: 2021-09-07 -- --------------------------------------------------------------------------------- @@ -28,6 +28,9 @@ use work.aurora_status_pkg.all; entity scalp_aurora_phy_rx_fifo is + generic ( + C_CTRL_TLAST : boolean := true); + port ( -- Clocks and Reset RXClkxCI : in std_ulogic; @@ -81,13 +84,13 @@ architecture arch of scalp_aurora_phy_rx_fifo is s_axis_tvalid : in std_logic; s_axis_tready : out std_logic; s_axis_tdata : in std_logic_vector((C_AXI4_DATA_SIZE - 1) downto 0); - s_axis_tkeep : in std_logic_vector((C_AXI4_KEEP_SIZE - 1) downto 0); + -- s_axis_tkeep : in std_logic_vector((C_AXI4_KEEP_SIZE - 1) downto 0); s_axis_tlast : in std_logic; m_axis_aclk : in std_logic; m_axis_tvalid : out std_logic; m_axis_tready : in std_logic; m_axis_tdata : out std_logic_vector((C_AXI4_DATA_SIZE - 1) downto 0); - m_axis_tkeep : out std_logic_vector((C_AXI4_KEEP_SIZE - 1) downto 0); + -- m_axis_tkeep : out std_logic_vector((C_AXI4_KEEP_SIZE - 1) downto 0); m_axis_tlast : out std_logic; axis_wr_data_count : out std_logic_vector((C_AXI4_DATA_SIZE - 1) downto 0); axis_rd_data_count : out std_logic_vector((C_AXI4_DATA_SIZE - 1) downto 0); @@ -122,6 +125,20 @@ architecture arch of scalp_aurora_phy_rx_fifo is signal WestTXM2SxD : t_axi4m2s := C_NO_AXI4_M2S; signal WestTXS2MxD : t_axi4s2m := C_NO_AXI4_S2M; signal WestFifoStatusxD : t_axi4fifo_status := C_NO_AXI4_FIFO_STATUS; + -- Last Management + -- North + signal NorthTXM2SLastxS : std_ulogic := '0'; + -- East + signal EastTXM2SLastxS : std_ulogic := '0'; + -- South + signal SouthTXM2SLastxS : std_ulogic := '0'; + -- West + signal WestTXM2SLastxS : std_ulogic := '0'; + + -- Attributes + attribute mark_debug : string; + attribute keep : string; + -- begin @@ -161,21 +178,37 @@ begin end block EntityIOxB; + CtrlTLastxG : if C_CTRL_TLAST = true generate + + NorthTXM2SLastCtrlxAS : NorthTXM2SxD.LastxS <= '1' when (NorthTXM2SLastxS = '1') and (NorthTXM2SxD.ValidxS = '1') else '0'; + EastTXM2SLastCtrlxAS : EastTXM2SxD.LastxS <= '1' when (EastTXM2SLastxS = '1') and (EastTXM2SxD.ValidxS = '1') else '0'; + SouthTXM2SLastCtrlxAS : SouthTXM2SxD.LastxS <= '1' when (SouthTXM2SLastxS = '1') and (SouthTXM2SxD.ValidxS = '1') else '0'; + WestTXM2SLastCtrlxAS : WestTXM2SxD.LastxS <= '1' when (WestTXM2SLastxS = '1') and (WestTXM2SxD.ValidxS = '1') else '0'; + + elsif C_CTRL_TLAST = false generate + + NorthTXM2SLastNoCtrlxAS : NorthTXM2SxD.LastxS <= NorthTXM2SLastxS; + EastTXM2SLastNoCtrlxAS : EastTXM2SxD.LastxS <= EastTXM2SLastxS; + SouthTXM2SLastNoCtrlxAS : SouthTXM2SxD.LastxS <= SouthTXM2SLastxS; + WestTXM2SLastNoCtrlxAS : WestTXM2SxD.LastxS <= WestTXM2SLastxS; + + end generate CtrlTLastxG; + NorthAxisDataFifoxI : axis_data_fifo port map ( -- Slave side s_axis_aresetn => RXRstxRAN.NorthxR, s_axis_aclk => RXClkxC, s_axis_tdata => NorthRXM2SxD.DataxD, - s_axis_tkeep => NorthRXM2SxD.KeepxD, + -- s_axis_tkeep => NorthRXM2SxD.KeepxD, s_axis_tlast => NorthRXM2SxD.LastxS, s_axis_tvalid => NorthRXM2SxD.ValidxS, s_axis_tready => NorthRXS2MxD.ReadyxS, -- Master side m_axis_aclk => TXClkxC, m_axis_tdata => NorthTXM2SxD.DataxD, - m_axis_tkeep => NorthTXM2SxD.KeepxD, - m_axis_tlast => NorthTXM2SxD.LastxS, + -- m_axis_tkeep => NorthTXM2SxD.KeepxD, + m_axis_tlast => NorthTXM2SLastxS, m_axis_tvalid => NorthTXM2SxD.ValidxS, m_axis_tready => NorthTXS2MxD.ReadyxS, -- Status @@ -190,15 +223,15 @@ begin s_axis_aresetn => RXRstxRAN.EastxR, s_axis_aclk => RXClkxC, s_axis_tdata => EastRXM2SxD.DataxD, - s_axis_tkeep => EastRXM2SxD.KeepxD, + -- s_axis_tkeep => EastRXM2SxD.KeepxD, s_axis_tlast => EastRXM2SxD.LastxS, s_axis_tvalid => EastRXM2SxD.ValidxS, s_axis_tready => EastRXS2MxD.ReadyxS, -- Master side m_axis_aclk => TXClkxC, m_axis_tdata => EastTXM2SxD.DataxD, - m_axis_tkeep => EastTXM2SxD.KeepxD, - m_axis_tlast => EastTXM2SxD.LastxS, + -- m_axis_tkeep => EastTXM2SxD.KeepxD, + m_axis_tlast => EastTXM2SLastxS, m_axis_tvalid => EastTXM2SxD.ValidxS, m_axis_tready => EastTXS2MxD.ReadyxS, -- Status @@ -213,15 +246,15 @@ begin s_axis_aresetn => RXRstxRAN.SouthxR, s_axis_aclk => RXClkxC, s_axis_tdata => SouthRXM2SxD.DataxD, - s_axis_tkeep => SouthRXM2SxD.KeepxD, + -- s_axis_tkeep => SouthRXM2SxD.KeepxD, s_axis_tlast => SouthRXM2SxD.LastxS, s_axis_tvalid => SouthRXM2SxD.ValidxS, s_axis_tready => SouthRXS2MxD.ReadyxS, -- Master side m_axis_aclk => TXClkxC, m_axis_tdata => SouthTXM2SxD.DataxD, - m_axis_tkeep => SouthTXM2SxD.KeepxD, - m_axis_tlast => SouthTXM2SxD.LastxS, + -- m_axis_tkeep => SouthTXM2SxD.KeepxD, + m_axis_tlast => SouthTXM2SLastxS, m_axis_tvalid => SouthTXM2SxD.ValidxS, m_axis_tready => SouthTXS2MxD.ReadyxS, -- Status @@ -236,15 +269,15 @@ begin s_axis_aresetn => RXRstxRAN.WestxR, s_axis_aclk => RXClkxC, s_axis_tdata => WestRXM2SxD.DataxD, - s_axis_tkeep => WestRXM2SxD.KeepxD, + -- s_axis_tkeep => WestRXM2SxD.KeepxD, s_axis_tlast => WestRXM2SxD.LastxS, s_axis_tvalid => WestRXM2SxD.ValidxS, s_axis_tready => WestRXS2MxD.ReadyxS, -- Master side m_axis_aclk => TXClkxC, m_axis_tdata => WestTXM2SxD.DataxD, - m_axis_tkeep => WestTXM2SxD.KeepxD, - m_axis_tlast => WestTXM2SxD.LastxS, + -- m_axis_tkeep => WestTXM2SxD.KeepxD, + m_axis_tlast => WestTXM2SLastxS, m_axis_tvalid => WestTXM2SxD.ValidxS, m_axis_tready => WestTXS2MxD.ReadyxS, -- Status diff --git a/ips/hw/scalp_aurora_phy_rx_fifo/src/ip_core/axis_data_fifo/axis_data_fifo.xci b/ips/hw/scalp_aurora_phy_rx_fifo/src/ip_core/axis_data_fifo/axis_data_fifo.xci index 40da822d982c450fec41cba7ad9234c3fc068443..6e4b3254493443413d816624c5c48182956d42dd 100644 --- a/ips/hw/scalp_aurora_phy_rx_fifo/src/ip_core/axis_data_fifo/axis_data_fifo.xci +++ b/ips/hw/scalp_aurora_phy_rx_fifo/src/ip_core/axis_data_fifo/axis_data_fifo.xci @@ -11,7 +11,7 @@ <spirit:configurableElementValues> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.CLK_DOMAIN"/> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue> - <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TKEEP">1</spirit:configurableElementValue> + <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TKEEP">0</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TSTRB">0</spirit:configurableElementValue> @@ -31,7 +31,7 @@ <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_CLKIF.PHASE">0.000</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.CLK_DOMAIN"/> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue> - <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TKEEP">1</spirit:configurableElementValue> + <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TKEEP">0</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TSTRB">0</spirit:configurableElementValue> @@ -52,7 +52,7 @@ <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_RSTIF.INSERT_VIP">0</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_RSTIF.POLARITY">ACTIVE_LOW</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ACLKEN_CONV_MODE">0</spirit:configurableElementValue> - <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_SIGNAL_SET">0b00000000000000000000000000011011</spirit:configurableElementValue> + <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_SIGNAL_SET">0b00000000000000000000000000010011</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDATA_WIDTH">32</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDEST_WIDTH">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TID_WIDTH">1</spirit:configurableElementValue> @@ -79,7 +79,7 @@ <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_PROG_EMPTY">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_PROG_FULL">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_RD_DATA_COUNT">1</spirit:configurableElementValue> - <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">1</spirit:configurableElementValue> + <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">0</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TLAST">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TREADY">1</spirit:configurableElementValue> <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TSTRB">0</spirit:configurableElementValue> @@ -138,15 +138,14 @@ <xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TDATA_NUM_BYTES" xilinx:valueSource="user"/> </xilinx:configElementInfos> <xilinx:boundaryDescriptionInfo> - <xilinx:boundaryDescription xilinx:boundaryDescriptionJSON="{"ip_boundary":{"ports":{"s_axis_aresetn":{"direction":"in","physical_left":"0","physical_right":"0"},"s_axis_aclk":{"direction":"in","physical_left":"0","physical_right":"0"},"s_axis_tvalid":{"direction":"in","physical_left":"0","physical_right":"0"},"s_axis_tready":{"direction":"out","physical_left":"0","physical_right":"0"},"s_axis_tdata":{"direction":"in","physical_left":"31","physical_right":"0"},"s_axis_tkeep":{"direction":"in","physical_left":"3","physical_right":"0"},"s_axis_tlast":{"direction":"in","physical_left":"0","physical_right":"0"},"m_axis_aclk":{"direction":"in","physical_left":"0","physical_right":"0"},"m_axis_tvalid":{"direction":"out","physical_left":"0","physical_right":"0"},"m_axis_tready":{"direction":"in","physical_left":"0","physical_right":"0"},"m_axis_tdata":{"direction":"out","physical_left":"31","physical_right":"0"},"m_axis_tkeep":{"direction":"out","physical_left":"3","physical_right":"0"},"m_axis_tlast":{"direction":"out","physical_left":"0","physical_ -right":"0"},"axis_wr_data_count":{"direction":"out","physical_left":"31","physical_right":"0"},"axis_rd_data_count":{"direction":"out","physical_left":"31","physical_right":"0"},"prog_empty":{"direction":"out","physical_left":"0","physical_right":"0"},"prog_full":{"direction":"out","physical_left":"0","physical_right":"0"}},"interfaces":{"S_AXIS":{"vlnv":"xilinx.com:interface:axis:1.0","abstraction_type":"xilinx.com:interface:axis_rtl:1.0","mode":"slave","parameters":{"TDATA_NUM_BYTES":[{"value":"4"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"TDEST_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TID_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TUSER_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TREADY":[{"value":"1"},{"value_src":"default"},{"value_permission":"user"},{"r -esolve_type":"generated"}],"HAS_TSTRB":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TKEEP":[{"value":"1"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TLAST":[{"value":"1"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"LAYERED_METADATA":[{"value":"undef"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"TDATA":{"physical_name":"s_axis_tdata","physical_left":"31","physical_right":" -0","logical_left":"31","logical_right":"0"},"TKEEP":{"physical_name":"s_axis_tkeep","physical_left":"3","physical_right":"0","logical_left":"3","logical_right":"0"},"TLAST":{"physical_name":"s_axis_tlast","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TREADY":{"physical_name":"s_axis_tready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TVALID":{"physical_name":"s_axis_tvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"M_AXIS":{"vlnv":"xilinx.com:interface:axis:1.0","abstraction_type":"xilinx.com:interface:axis_rtl:1.0","mode":"master","parameters":{"TDATA_NUM_BYTES":[{"value":"4"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"TDEST_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TID_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}] -,"TUSER_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TREADY":[{"value":"1"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TSTRB":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TKEEP":[{"value":"1"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TLAST":[{"value":"1"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"LAYERED_METADATA":[{"value":"undef"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"IN -SERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"TDATA":{"physical_name":"m_axis_tdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0"},"TKEEP":{"physical_name":"m_axis_tkeep","physical_left":"3","physical_right":"0","logical_left":"3","logical_right":"0"},"TLAST":{"physical_name":"m_axis_tlast","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TREADY":{"physical_name":"m_axis_tready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TVALID":{"physical_name":"m_axis_tvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"S_RSTIF":{"vlnv":"xilinx.com:signal:reset:1.0","abstraction_type":"xilinx.com:signal:reset_rtl:1.0","mode":"slave","parameters":{"POLARITY":[{"value":"ACTIVE_LOW"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value": -"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"RST":{"physical_name":"s_axis_aresetn","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"S_CLKIF":{"vlnv":"xilinx.com:signal:clock:1.0","abstraction_type":"xilinx.com:signal:clock_rtl:1.0","mode":"slave","parameters":{"ASSOCIATED_BUSIF":[{"value":"S_AXIS"},{"value_src":"constant"},{"value_permission":"user"},{"resolve_type":"immediate"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}],"FREQ_TOLERANCE_HZ":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"ASSOCIATED_RESET":[{"value":""},{"value_src":"default"},{"value_permission":"user" -},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"CLK":{"physical_name":"s_axis_aclk","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"M_CLKIF":{"vlnv":"xilinx.com:signal:clock:1.0","abstraction_type":"xilinx.com:signal:clock_rtl:1.0","mode":"slave","parameters":{"ASSOCIATED_BUSIF":[{"value":"M_AXIS"},{"value_src":"constant"},{"value_permission":"user"},{"resolve_type":"immediate"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}],"FREQ_TOLERANCE_HZ":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"ASSOCIATED_RESET":[{"value":"" -},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"CLK":{"physical_name":"m_axis_aclk","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}}}}}"/> + <xilinx:boundaryDescription xilinx:boundaryDescriptionJSON="{"ip_boundary":{"ports":{"s_axis_aresetn":{"direction":"in","physical_left":"0","physical_right":"0"},"s_axis_aclk":{"direction":"in","physical_left":"0","physical_right":"0"},"s_axis_tvalid":{"direction":"in","physical_left":"0","physical_right":"0"},"s_axis_tready":{"direction":"out","physical_left":"0","physical_right":"0"},"s_axis_tdata":{"direction":"in","physical_left":"31","physical_right":"0"},"s_axis_tlast":{"direction":"in","physical_left":"0","physical_right":"0"},"m_axis_aclk":{"direction":"in","physical_left":"0","physical_right":"0"},"m_axis_tvalid":{"direction":"out","physical_left":"0","physical_right":"0"},"m_axis_tready":{"direction":"in","physical_left":"0","physical_right":"0"},"m_axis_tdata":{"direction":"out","physical_left":"31","physical_right":"0"},"m_axis_tlast":{"direction":"out","physical_left":"0","physical_right":"0"},"axis_wr_data_count":{"direction":"out","physical_left":"31","physical_right":"0"},"axis_rd_data_count":{"direction":"out","physical_left": +"31","physical_right":"0"},"prog_empty":{"direction":"out","physical_left":"0","physical_right":"0"},"prog_full":{"direction":"out","physical_left":"0","physical_right":"0"}},"interfaces":{"S_AXIS":{"vlnv":"xilinx.com:interface:axis:1.0","abstraction_type":"xilinx.com:interface:axis_rtl:1.0","mode":"slave","parameters":{"TDATA_NUM_BYTES":[{"value":"4"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"TDEST_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TID_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TUSER_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TREADY":[{"value":"1"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TSTRB":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TKEEP":[{" +value":"0"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TLAST":[{"value":"1"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"LAYERED_METADATA":[{"value":"undef"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"TDATA":{"physical_name":"s_axis_tdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0"},"TLAST":{"physical_name":"s_axis_tlast","physical_left":"0","physical_right":"0","logical_left":"0","logica +l_right":"0"},"TREADY":{"physical_name":"s_axis_tready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TVALID":{"physical_name":"s_axis_tvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"M_AXIS":{"vlnv":"xilinx.com:interface:axis:1.0","abstraction_type":"xilinx.com:interface:axis_rtl:1.0","mode":"master","parameters":{"TDATA_NUM_BYTES":[{"value":"4"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"TDEST_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TID_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"TUSER_WIDTH":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TREADY":[{"value":"1"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TSTRB":[{"value":"0"},{"value_src":"default"} +,{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TKEEP":[{"value":"0"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"HAS_TLAST":[{"value":"1"},{"value_src":"auto"},{"value_permission":"user"},{"resolve_type":"generated"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"LAYERED_METADATA":[{"value":"undef"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"TDATA":{"physical_name":"m_axis_tdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0"},"TLAST":{"physical_name":"m_axis_ +tlast","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TREADY":{"physical_name":"m_axis_tready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"},"TVALID":{"physical_name":"m_axis_tvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"S_RSTIF":{"vlnv":"xilinx.com:signal:reset:1.0","abstraction_type":"xilinx.com:signal:reset_rtl:1.0","mode":"slave","parameters":{"POLARITY":[{"value":"ACTIVE_LOW"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"RST":{"physical_name":"s_axis_aresetn","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"S_CLKIF":{"vlnv":"xilinx.com:signal:clock:1.0","abstraction_type":"xilinx.com:signal:clock_rtl:1.0","mode":"slave","parameters":{"ASSOCIATED_BUSIF":[{"value":"S_AXIS"},{"val +ue_src":"constant"},{"value_permission":"user"},{"resolve_type":"immediate"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}],"FREQ_TOLERANCE_HZ":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"ASSOCIATED_RESET":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"CLK":{"physical_name":"s_axis_aclk","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}},"M_CLKIF":{"vlnv":"xilinx.com:signal:clock:1.0","abstraction_type":"xilinx.com:signal:clock_rtl:1.0","mode":"slave","param +eters":{"ASSOCIATED_BUSIF":[{"value":"M_AXIS"},{"value_src":"constant"},{"value_permission":"user"},{"resolve_type":"immediate"}],"FREQ_HZ":[{"value":"100000000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}],"FREQ_TOLERANCE_HZ":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"PHASE":[{"value":"0.000"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"CLK_DOMAIN":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"ASSOCIATED_RESET":[{"value":""},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"generated"}],"INSERT_VIP":[{"value":"0"},{"value_src":"default"},{"value_permission":"user"},{"resolve_type":"user"}]},"port_maps":{"CLK":{"physical_name":"m_axis_aclk","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0"}}}}}}"/> </xilinx:boundaryDescriptionInfo> </xilinx:componentInstanceExtensions> </spirit:vendorExtensions>