<?xml version="1.0" encoding="UTF-8"?>
<!-- cv_x1_pro_axi: IEEE 1685-2014 component. Corvel / RISCON Labs. Generated by integration/scripts/gen_ipxact.py. -->
<!-- AMBA bus definition VLNVs were not verified against the official AMBA IP-XACT definition files (not downloaded in this round); they match the VLNVs used by a publicly available third-party IEEE 1685-2014 component. Confirm against the licensed AMBA library. -->
<ipxact:component xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.accellera.org/XMLSchema/IPXACT/1685-2014 http://www.accellera.org/XMLSchema/IPXACT/1685-2014/index.xsd">
  <ipxact:vendor>risconlabs.com</ipxact:vendor>
  <ipxact:library>corvel</ipxact:library>
  <ipxact:name>cv_x1_pro_axi</ipxact:name>
  <ipxact:version>1.0.0</ipxact:version>
  <ipxact:busInterfaces>
    <ipxact:busInterface>
      <ipxact:name>s_axil</ipxact:name>
      <ipxact:description>AXI4-Lite slave: control, status and memory-mapped registers.</ipxact:description>
      <ipxact:busType vendor="amba.com" library="AMBA4" name="AXI4-Lite" version="r0p0"/>
      <ipxact:abstractionTypes>
        <ipxact:abstractionType>
          <ipxact:abstractionRef vendor="amba.com" library="AMBA4" name="AXI4-Lite_rtl" version="r0p0"/>
          <ipxact:portMaps>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ACLK</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>aclk</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARESETn</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>aresetn</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>AWADDR</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_awaddr</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>AWPROT</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_awprot</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>AWVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_awvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>AWREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_awready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>WDATA</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_wdata</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>WSTRB</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_wstrb</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>WVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_wvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>WREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_wready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>BRESP</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_bresp</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>BVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_bvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>BREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_bready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARADDR</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_araddr</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARPROT</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_arprot</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_arvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_arready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>RDATA</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_rdata</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>RRESP</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_rresp</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>RVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_rvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>RREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axil_rready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
          </ipxact:portMaps>
        </ipxact:abstractionType>
      </ipxact:abstractionTypes>
      <ipxact:slave>
        <ipxact:memoryMapRef memoryMapRef="regs"/>
      </ipxact:slave>
    </ipxact:busInterface>
    <ipxact:busInterface>
      <ipxact:name>s_axis</ipxact:name>
      <ipxact:description>Query (TDATA[63:0] = 8 signed INT8) and tile descriptor (TUSER[19:0]: [5:0] kv_addr, [13:6] scale, [17:14] zp, [18] clr, [19] sat).</ipxact:description>
      <ipxact:busType vendor="amba.com" library="AMBA4" name="AXI4Stream" version="r0p0"/>
      <ipxact:abstractionTypes>
        <ipxact:abstractionType>
          <ipxact:abstractionRef vendor="amba.com" library="AMBA4" name="AXI4Stream_rtl" version="r0p0"/>
          <ipxact:portMaps>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ACLK</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>aclk</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARESETn</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>aresetn</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axis_tvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axis_tready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TDATA</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axis_tdata</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TUSER</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axis_tuser</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TLAST</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>s_axis_tlast</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
          </ipxact:portMaps>
        </ipxact:abstractionType>
      </ipxact:abstractionTypes>
      <ipxact:slave/>
    </ipxact:busInterface>
    <ipxact:busInterface>
      <ipxact:name>m_axis</ipxact:name>
      <ipxact:description>Accumulated result (TDATA[31:0] signed), TUSER[1:0] = source bank, TLAST echoes the tile's TLAST.</ipxact:description>
      <ipxact:busType vendor="amba.com" library="AMBA4" name="AXI4Stream" version="r0p0"/>
      <ipxact:abstractionTypes>
        <ipxact:abstractionType>
          <ipxact:abstractionRef vendor="amba.com" library="AMBA4" name="AXI4Stream_rtl" version="r0p0"/>
          <ipxact:portMaps>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ACLK</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>aclk</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>ARESETn</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>aresetn</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TVALID</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>m_axis_tvalid</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TREADY</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>m_axis_tready</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TDATA</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>m_axis_tdata</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TUSER</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>m_axis_tuser</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
            <ipxact:portMap>
              <ipxact:logicalPort>
                <ipxact:name>TLAST</ipxact:name>
              </ipxact:logicalPort>
              <ipxact:physicalPort>
                <ipxact:name>m_axis_tlast</ipxact:name>
              </ipxact:physicalPort>
            </ipxact:portMap>
          </ipxact:portMaps>
        </ipxact:abstractionType>
      </ipxact:abstractionTypes>
      <ipxact:master/>
    </ipxact:busInterface>
  </ipxact:busInterfaces>
  <ipxact:memoryMaps>
    <ipxact:memoryMap>
      <ipxact:name>regs</ipxact:name>
      <ipxact:addressBlock>
        <ipxact:name>registers</ipxact:name>
        <ipxact:baseAddress>0x0</ipxact:baseAddress>
        <ipxact:range>4096</ipxact:range>
        <ipxact:width>32</ipxact:width>
        <ipxact:usage>register</ipxact:usage>
        <ipxact:register>
          <ipxact:name>ID</ipxact:name>
          <ipxact:description>Identification, ASCII "CVX1".</ipxact:description>
          <ipxact:addressOffset>0x0</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>false</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>ID</ipxact:name>
            <ipxact:description>Constant.</ipxact:description>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x43565831</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>32</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>VERSION</ipxact:name>
          <ipxact:description>Wrapper version 1.0.0.</ipxact:description>
          <ipxact:addressOffset>0x4</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>false</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>MAJOR</ipxact:name>
            <ipxact:bitOffset>16</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000001</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>16</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>MINOR</ipxact:name>
            <ipxact:bitOffset>8</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>8</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>PATCH</ipxact:name>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>8</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>CAPS</ipxact:name>
          <ipxact:description>Fixed core capabilities.</ipxact:description>
          <ipxact:addressOffset>0x8</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>false</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>LANES</ipxact:name>
            <ipxact:description>INT4 x INT8 lanes per tile.</ipxact:description>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000008</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>8</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>BANKS</ipxact:name>
            <ipxact:description>Weight banks.</ipxact:description>
            <ipxact:bitOffset>8</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000004</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>ROWS_PER_BANK</ipxact:name>
            <ipxact:description>32-bit rows per bank.</ipxact:description>
            <ipxact:bitOffset>12</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000010</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>8</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>FIFO_DEPTH</ipxact:name>
            <ipxact:description>Ingress FIFO entries.</ipxact:description>
            <ipxact:bitOffset>20</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000004</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>PIPE_STAGES</ipxact:name>
            <ipxact:description>Registered pipeline stages.</ipxact:description>
            <ipxact:bitOffset>24</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000003</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>SAT_MODE</ipxact:name>
            <ipxact:description>Per-tile saturating accumulation supported.</ipxact:description>
            <ipxact:bitOffset>28</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000001</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>WEIGHT_READBACK</ipxact:name>
            <ipxact:description>0: weight memory is write-only.</ipxact:description>
            <ipxact:bitOffset>29</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>CTRL</ipxact:name>
          <ipxact:description>Control.</ipxact:description>
          <ipxact:addressOffset>0xC</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>false</ipxact:volatile>
          <ipxact:access>read-write</ipxact:access>
          <ipxact:field>
            <ipxact:name>STREAM_EN</ipxact:name>
            <ipxact:description>1: s_axis accepts tiles. 0: s_axis_tready is held low (no tile is accepted).</ipxact:description>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-write</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>WGUARD</ipxact:name>
            <ipxact:description>1: weight writes while STATUS.BUSY=1 are rejected (SLVERR, ERR.WGUARD_REJECT). 0: weight writes are always performed (core read-old-data semantics for a same-cycle read).</ipxact:description>
            <ipxact:bitOffset>1</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000001</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-write</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>STATUS</ipxact:name>
          <ipxact:description>Live status (reset value shown).</ipxact:description>
          <ipxact:addressOffset>0x10</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>true</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>INFLIGHT</ipxact:name>
            <ipxact:description>Tiles accepted on s_axis and not yet delivered on m_axis (0..7).</ipxact:description>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>FIFO_COUNT</ipxact:name>
            <ipxact:description>Core ingress FIFO occupancy (0..4).</ipxact:description>
            <ipxact:bitOffset>4</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>3</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>BUSY</ipxact:name>
            <ipxact:description>INFLIGHT != 0.</ipxact:description>
            <ipxact:bitOffset>8</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>SAT_OVF</ipxact:name>
            <ipxact:description>Core sticky saturation flag; cleared only by reset.</ipxact:description>
            <ipxact:bitOffset>9</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>CORE_S_TREADY</ipxact:name>
            <ipxact:description>Core ingress ready (FIFO not full), before STREAM_EN gating.</ipxact:description>
            <ipxact:bitOffset>10</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000001</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>M_TVALID</ipxact:name>
            <ipxact:description>m_axis_tvalid.</ipxact:description>
            <ipxact:bitOffset>11</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>ERR</ipxact:name>
          <ipxact:description>Sticky error flags; write 1 to clear (byte lane 0).</ipxact:description>
          <ipxact:addressOffset>0x14</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>true</ipxact:volatile>
          <ipxact:access>read-write</ipxact:access>
          <ipxact:field>
            <ipxact:name>WGUARD_REJECT</ipxact:name>
            <ipxact:description>Weight write rejected because WGUARD=1 and BUSY=1.</ipxact:description>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-write</ipxact:access>
            <ipxact:modifiedWriteValue>oneToClear</ipxact:modifiedWriteValue>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>WSTRB_REJECT</ipxact:name>
            <ipxact:description>Weight write rejected because WSTRB != 0xF.</ipxact:description>
            <ipxact:bitOffset>1</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-write</ipxact:access>
            <ipxact:modifiedWriteValue>oneToClear</ipxact:modifiedWriteValue>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>ADDR_ERR</ipxact:name>
            <ipxact:description>Write to an unmapped or read-only address.</ipxact:description>
            <ipxact:bitOffset>2</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>1</ipxact:bitWidth>
            <ipxact:access>read-write</ipxact:access>
            <ipxact:modifiedWriteValue>oneToClear</ipxact:modifiedWriteValue>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>PERF_MAC_TILES</ipxact:name>
          <ipxact:description>Tiles completed since reset (16-bit, wraps).</ipxact:description>
          <ipxact:addressOffset>0x18</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>true</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>COUNT</ipxact:name>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>16</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>PERF_STALL_CYCLES</ipxact:name>
          <ipxact:description>Cycles with m_axis_tvalid=1 and m_axis_tready=0 since reset (16-bit, wraps).</ipxact:description>
          <ipxact:addressOffset>0x1C</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>true</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>COUNT</ipxact:name>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>16</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>PERF_BANK_CONFLICTS</ipxact:name>
          <ipxact:description>Consecutive FIFO pops reading the same bank since reset (16-bit, wraps).</ipxact:description>
          <ipxact:addressOffset>0x20</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>true</ipxact:volatile>
          <ipxact:access>read-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>COUNT</ipxact:name>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>16</ipxact:bitWidth>
            <ipxact:access>read-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
        <ipxact:register>
          <ipxact:name>WEIGHT</ipxact:name>
          <ipxact:description>Weight memory, 64 words. Word i (address 0x100+4*i) is bank i[1:0], row i[5:2]; eight signed INT4 values KV0..KV7 in bits [4k+3:4k]. Requires WSTRB=0xF. Write-only: reads return 0. Reset clears the weight memory to zero.</ipxact:description>
          <ipxact:dim>64</ipxact:dim>
          <ipxact:addressOffset>0x100</ipxact:addressOffset>
          <ipxact:size>32</ipxact:size>
          <ipxact:volatile>false</ipxact:volatile>
          <ipxact:access>write-only</ipxact:access>
          <ipxact:field>
            <ipxact:name>KV0</ipxact:name>
            <ipxact:description>Signed INT4 lane 0.</ipxact:description>
            <ipxact:bitOffset>0</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV1</ipxact:name>
            <ipxact:description>Signed INT4 lane 1.</ipxact:description>
            <ipxact:bitOffset>4</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV2</ipxact:name>
            <ipxact:description>Signed INT4 lane 2.</ipxact:description>
            <ipxact:bitOffset>8</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV3</ipxact:name>
            <ipxact:description>Signed INT4 lane 3.</ipxact:description>
            <ipxact:bitOffset>12</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV4</ipxact:name>
            <ipxact:description>Signed INT4 lane 4.</ipxact:description>
            <ipxact:bitOffset>16</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV5</ipxact:name>
            <ipxact:description>Signed INT4 lane 5.</ipxact:description>
            <ipxact:bitOffset>20</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV6</ipxact:name>
            <ipxact:description>Signed INT4 lane 6.</ipxact:description>
            <ipxact:bitOffset>24</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
          <ipxact:field>
            <ipxact:name>KV7</ipxact:name>
            <ipxact:description>Signed INT4 lane 7.</ipxact:description>
            <ipxact:bitOffset>28</ipxact:bitOffset>
            <ipxact:resets>
              <ipxact:reset>
                <ipxact:value>0x00000000</ipxact:value>
              </ipxact:reset>
            </ipxact:resets>
            <ipxact:bitWidth>4</ipxact:bitWidth>
            <ipxact:access>write-only</ipxact:access>
          </ipxact:field>
        </ipxact:register>
      </ipxact:addressBlock>
      <ipxact:addressUnitBits>8</ipxact:addressUnitBits>
    </ipxact:memoryMap>
  </ipxact:memoryMaps>
  <ipxact:model>
    <ipxact:views>
      <ipxact:view>
        <ipxact:name>rtl</ipxact:name>
        <ipxact:envIdentifier>:*Simulation:</ipxact:envIdentifier>
        <ipxact:envIdentifier>:*Synthesis:</ipxact:envIdentifier>
        <ipxact:componentInstantiationRef>rtl_instantiation</ipxact:componentInstantiationRef>
      </ipxact:view>
    </ipxact:views>
    <ipxact:instantiations>
      <ipxact:componentInstantiation>
        <ipxact:name>rtl_instantiation</ipxact:name>
        <ipxact:language>Verilog</ipxact:language>
        <ipxact:moduleName>cv_x1_pro_axi</ipxact:moduleName>
        <ipxact:fileSetRef>
          <ipxact:localName>rtl</ipxact:localName>
        </ipxact:fileSetRef>
      </ipxact:componentInstantiation>
    </ipxact:instantiations>
    <ipxact:ports>
      <ipxact:port>
        <ipxact:name>aclk</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>aresetn</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_awaddr</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>11</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_awprot</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>2</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_awvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_awready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_wdata</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>31</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_wstrb</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>3</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_wvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_wready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_bresp</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>1</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_bvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_bready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_araddr</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>11</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_arprot</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>2</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_arvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_arready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_rdata</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>31</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_rresp</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>1</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_rvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axil_rready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axis_tvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axis_tready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axis_tdata</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>63</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axis_tuser</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>19</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>s_axis_tlast</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>m_axis_tvalid</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>m_axis_tready</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>in</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>m_axis_tdata</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>31</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>m_axis_tuser</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
          <ipxact:vectors>
            <ipxact:vector>
              <ipxact:left>1</ipxact:left>
              <ipxact:right>0</ipxact:right>
            </ipxact:vector>
          </ipxact:vectors>
        </ipxact:wire>
      </ipxact:port>
      <ipxact:port>
        <ipxact:name>m_axis_tlast</ipxact:name>
        <ipxact:wire>
          <ipxact:direction>out</ipxact:direction>
        </ipxact:wire>
      </ipxact:port>
    </ipxact:ports>
  </ipxact:model>
  <ipxact:fileSets>
    <ipxact:fileSet>
      <ipxact:name>rtl</ipxact:name>
      <ipxact:file>
        <ipxact:name>public/forge/source/dut.v</ipxact:name>
        <ipxact:fileType>verilogSource-2001</ipxact:fileType>
      </ipxact:file>
      <ipxact:file>
        <ipxact:name>integration/rtl/cv_x1_pro_axi.v</ipxact:name>
        <ipxact:fileType>verilogSource-2001</ipxact:fileType>
      </ipxact:file>
    </ipxact:fileSet>
    <ipxact:fileSet>
      <ipxact:name>constraints</ipxact:name>
      <ipxact:file>
        <ipxact:name>integration/sdc/cv_x1_pro_axi.sdc</ipxact:name>
        <ipxact:fileType>SDC</ipxact:fileType>
      </ipxact:file>
    </ipxact:fileSet>
  </ipxact:fileSets>
  <ipxact:description>CV-X1 Pro L8 subsystem (8-lane INT4 x INT8 group dot product) with AXI4-Lite control and weight-memory port and AXI4-Stream query/result streams. Single clock aclk, asynchronous active-low reset aresetn (synchronous release required).</ipxact:description>
</ipxact:component>
