Skip to content

Commit

Permalink
docs/user_guide/build_hdl.rst: Updates for tools version 2024.2
Browse files Browse the repository at this point in the history
Signed-off-by: Villyam <[email protected]>
  • Loading branch information
Villyam committed Jan 22, 2025
1 parent 814163e commit 12a763d
Showing 1 changed file with 21 additions and 39 deletions.
60 changes: 21 additions & 39 deletions docs/user_guide/build_hdl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -723,35 +723,12 @@ Currently, we only have a single early-version base design that builds almost
like the other ones. For Lattice, there are separate tools for creating
a block design **(Propel Builder)** and building an HDL design **(Radiant)**.

The build for any supported project works with ``make``, same as the others.
First, you have to open the **Propel Builder GUI** and download the necessary
Lattice-provided IPs manually. You can check the **necessary Lattice IPs** and
and their versions in the
**<project_name>_system_pb.tcl** script or follow the error messages in the
**<project_name>_propel_builder.log** after running ``make`` and you get
a FAILED message.

Then, simply go to the carrier folder and run ``make``. For now, you can try
The build for any supported project works by ``make``, same as the others.
Simply go to the carrier folder and run ``make``. For now, you can try
to build the only base design we have available for
**CertusPro-NX Evaluation Board** by entering the base design directory and
running ``make``.

Required Lattice Provided IPs to download for projects/common/lfcpnx
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

==================== ============================= =======
IP name Display name Version
==================== ============================= =======
riscv_rtos RISC-V RX 2.3.0
gpio GPIO 1.6.2
spi_controller SPI Controller 2.1.0
i2c_controller I2C Controller 2.0.1
axi_interconnect AXI4 Interconnect 1.2.2
axi2ahb_bridge AXI4 to AHB-Lite Bridge 1.1.1
axi2apb_bridge AXI4 to APB Bridge 1.1.1
gp_timer Timer-Counter 1.3.0
==================== ============================= =======

.. shell:: bash

~/hdl
Expand Down Expand Up @@ -786,17 +763,17 @@ This contains the most relevant information that you need to provide.

~/hdl
$ls -ltr <ADI_carrier_proj_dir>
$ls -ltr <ADI_carrier_proj_dir>/<project_name>
$ls -ltr <ADI_carrier_proj_dir>/<project_name>/<project_name>
$tail <ADI_carrier_proj_dir>/<project_name>_propel_builder.log
$tail <ADI_carrier_proj_dir>/<project_name>_radiant.log
$ls -ltr <ADI_carrier_proj_dir>/_bld/<project_name>
$ls -ltr <ADI_carrier_proj_dir>/_bld/<project_name>/<project_name>
$tail <ADI_carrier_proj_dir>/_bld/<project_name>_propel_builder.log
$tail <ADI_carrier_proj_dir>/_bld/<project_name>_radiant.log

Note that if the **Propel Builder** project fails to build, the
**$(PROJECT_NAME)_radiant.log** may not exist.

If the Propel Builder project was built successfully, the **sge**
folder should appear in the **<ADI_carrier_proj_dir>/** or in the
**<ADI_carrier_proj_dir>/<project_name>**.
**<ADI_carrier_proj_dir>/_bld/<project_name>**.
The **sge** folder contains the **bsp** folder (Base Support
Package) and the SoC configuration files.

Expand Down Expand Up @@ -824,15 +801,15 @@ The **system_pb.tcl** is sourced in **adi_project_pb** procedure.
The **system_project.tcl** runs second. This file is used to create and build
the **HDL project** (Radiant). Here we use the output of the Propel Builder
project as the **configured IPs** that can be found in the
*<ADI_carrier_proj_dir>/<project_name>/<project_name>/lib* folder and the
*<ADI_carrier_proj_dir>/_bld/<project_name>/<project_name>/lib* folder and the
**default block design wrapper** that is the
*<ADI_carrier_proj_dir>/<project_name>/<project_name>/<project_name>.v*.
*<ADI_carrier_proj_dir>/_bld/<project_name>/<project_name>/<project_name>.v*.

We add them to the Radiant project, then add our **system_top.v** wrapper,
the **constraint files** and build the project.

The output is a **.bit** file that by default will appear in the
**<ADI_carrier_proj_dir>/<project_name>/impl_1** folder if the project was
**<ADI_carrier_proj_dir>/_bld/<project_name>/impl_1** folder if the project was
successfully built.

Supported targets of ``make`` command
Expand Down Expand Up @@ -1034,12 +1011,17 @@ on these tools.
* - SDK (ARM/FPGA combo)
- :red:`Not supported or nonexistent yet.`
* - Upgrading/Version changes (non-ADI cores)
- :red:`You have to update the IP versions manually in GUI and copy the config
from the tcl console to the '.tcl' block design file, or update directly
in the '.tcl' block design file. Note that first you have to download the
new version of IPs using the GUI. An ip_upgrade tcl command exists, but
still the IPs have to be downloaded manually, and it only works if the old
IP's name is the same as the new (sometimes it changes by version).`
- :red:`If the project builds that means the dependency IPs are still
available for download. You can Update the IPs manually by checking
the available upgrades for the IPs in Propel Builder GUI at the IP
on Server section, then edit the project scripts to download and
instantiate the new versions of the IPs. the ip_catalog_install
tcl command is for downloading the IP, the adi_ip_instance is for
instantiating the IP. Simply edit the -vlnv sections with
the new versions. Sometimes configuration parameters or the IP name
also can change. In that case you should instantiate the new IP version
in GUI first, copy the vlnv and configuration section from the tcl shell window
to replace the -vlnv and -cfg_value section in the tcl scripts.`

.. _build_hdl tool-versions:

Expand Down

0 comments on commit 12a763d

Please sign in to comment.