Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion docs/howto/install-from-packages.rst
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,12 @@ normally the build machine, or the cluster nodes when
:ref:`offloading to a cluster <building-on-a-cluster>`, in which case the build
machine does not require them.

You also need the following licenses:

1. SMBus IP license. See :ref:`smbus-ip` below for instructions on obtaining the IP and license.
2. DCMAC IP license. See :ref:`dcmac-license` below for instructions on obtaining the license.


Source both before building:

.. code-block:: bash
Expand All @@ -252,6 +258,10 @@ binary and exits if it is absent.
license administrator if you are unsure how licenses are served at your
site.

See `Managing Licenses with the Vivado License Manager <https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Managing-Licenses-with-the-Vivado-License-Manager>`_.

.. _smbus-ip:

SMBus IP
--------

Expand All @@ -266,8 +276,9 @@ local IP repository before building:
``linker/slashkit/resources/base/common/iprepo/``
so that Vivado can locate it during synthesis. The directory name must
begin with ``smbus``; a release-date suffix is permitted.
3. Generate the SMBus license from the `AMD License Center <https://amd.entitlenow.com/AcrossUser>`_
and add it to your Vivado license configuration.

Confirm the result before starting the build:

.. code-block:: bash

Expand All @@ -279,6 +290,25 @@ performing any work.
See the `AVED rebuild guide <https://xilinx.github.io/AVED/>`_ for
additional details.


.. _dcmac-license:

DCMAC IP License
----------------

The `Versal™ Adaptive SoC 600G Channelized Multirate Ethernet Subsystem (DCMAC)
<https://www.amd.com/en/products/adaptive-socs-and-fpgas/intellectual-property/dcmac.html>`_
drives the 200 Gb/s network interfaces in the static shell and requires a Vivado
license to build. The license is free but must be generated and registered before
building.

1. Open the `DCMAC IP product page <https://www.amd.com/en/products/adaptive-socs-and-fpgas/intellectual-property/dcmac.html>`_
and click **Get License**.
2. Follow the steps to generate the license.
3. Add the license to your Vivado license configuration.

Confirm the result before starting the build:

.. _build-the-packages:

Build the Packages
Expand Down
2 changes: 2 additions & 0 deletions docs/howto/use-dcmac.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Prerequisites
- A V80 with two QSFP56 cages externally wired to DCMAC0 port 0 (``eth_0``) and
DCMAC1 port 0 (``eth_2``).
- Vivado and Vitis HLS **2025.1** or newer, sourced in your shell.
- A **DCMAC IP license** added to your Vivado license configuration. See
:ref:`dcmac-license` in the install guide.
- Building from a source checkout, the ``Versal-DCMAC`` submodule, which
supplies the DCMAC block design and its RTL:

Expand Down
25 changes: 25 additions & 0 deletions scripts/package-deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,31 @@ if [[ -z "${SLASH_PKG_SKIP_ROOT_DESIGN_BUILD:-}" ]]; then
echo "See docs/howto/install-from-packages.rst for details." >&2
_prereq_ok=0
fi
_license_report=/tmp/slash-licenses.txt
_license_tcl=/tmp/slash-licenses.tcl
echo "report_environment -file {${_license_report}} -format text" > "${_license_tcl}"
vivado -mode batch -nolog -nojournal -source "${_license_tcl}" 2>/dev/null
rm -f "${_license_tcl}"

if [[ ! -s "${_license_report}" ]]; then
echo "ERROR: Vivado failed to generate the license report. Check that Vivado" >&2
echo " starts correctly and the license server is reachable." >&2
_prereq_ok=0
else
if [[ "$(grep -i 'dcmac' "${_license_report}" | grep -c 'IP:Bought')" -eq 0 ]]; then
echo "ERROR: DCMAC IP license not found in Vivado license configuration." >&2
echo "See docs/howto/install-from-packages.rst for details." >&2
_prereq_ok=0
fi

if [[ "$(grep -i 'smbus' "${_license_report}" | grep -c 'IP:Bought')" -eq 0 ]]; then
echo "ERROR: SMBus IP license not found in Vivado license configuration." >&2
echo "See docs/howto/install-from-packages.rst for details." >&2
_prereq_ok=0
fi
fi

rm -f "${_license_report}"
fi

if [[ "${_prereq_ok}" -eq 0 ]]; then
Expand Down
Loading