HDL Workflow Advisor Tasks - MATLAB & Simulink (original) (raw)

HDL Workflow Advisor Tasks Overview

The HDL Workflow Advisor is a tool that supports a suite of tasks covering the stages of the FPGA design process. Some tasks perform model validation or checking. Other tasks run the HDL code generator or third-party tools. Each folder at the top level of the HDL Workflow Advisor contains a group of related tasks that you can select and run.

HDL Workflow Advisor is not available in Simulink® Online™.

For summary information on each HDL Workflow Advisor folder or task, select the folder or task icon, and then click the HDL Workflow AdvisorHelp button.

See Also

Getting Started with the HDL Workflow Advisor

Set Target Overview

In the folder, you can select a target FPGA device and define the interface generated for the device.

For more information on each task, select the task icon, and then click the HDL Workflow Advisor Help button.

See Also

Getting Started with the HDL Workflow Advisor

Set Target Device and Synthesis Tool

The Set Target Device and Synthesis Tool task enables you to select an FPGA target device and an associated synthesis tool from a context menu that lists the devices that HDL Workflow Advisor supports.

Description

This task displays these options:

Note

If you select Microchip Libero SoC as theSynthesis tool, you can run only the Generic ASIC/FPGA workflow. When you use these tools, theAnnotate Model with Synthesis Result task is not available. In this case, you can run the workflow for synthesis, and then view the timing reports to see the critical path.

Set Target Reference Design

The Set Target Reference Design task displays whenIP Core Generation is selected as the Target Workflow and the Target Platform is not generic. This task displays the reference design input parameters and the tool version. AReference design parameters section displays any custom parameters that you specify for the reference design.

Description

The task displays the following options:

Set Target Interface

The Set Target Interface task displays properties of input and output ports on your DUT and enables you to map these ports to I/O resources on the target device.

Description

Set Target Interface displays the Target Platform Interface Table, which shows:

Set Target Interface

The Set Target Interface task that displays whenSimulink Real-Time FPGA I/O or IP Core Generation is selected as the Target Workflow. Select a processor-FPGA synchronization mode and map your DUT input ports, output ports, and test points to I/O resources on the target device.

Description

Coprocessing mode is not supported for the Simulink Real-Time FPGA I/O workflow. For Processor/FPGA synchronization, select:

This setting is saved with the model as theProcessorFPGASynchronization HDL block property for the DUT block.

Selecting the Enable HDL DUT port generation for testpoints:

The Target Platform Interface Table displays:

See Also

Set Target Frequency

Specify the target frequency for these workflows:

See Also

Target Frequency

Prepare Model for HDL Code Generation Overview

The tasks in the folder check the model for compatibility with HDL code generation. If a check encounters a condition that raises a code generation warning or error, the right pane of the HDL Workflow Advisor displays information about the condition and how to fix it. The folder contains these checks:

For summary information on each task, select the task icon, and then click the HDL Workflow Advisor Help button.

See Also

Getting Started with the HDL Workflow Advisor

Check Model Settings

Check Model Settings checks model-wide parameter settings for HDL code generation compatibility of the model.

Description

This check examines the model parameters for compatibility with HDL code generation and flags conditions that raise an error or a warning during code generation. The HDL Workflow Advisor displays a table with the following information about each condition detected:

This check provides a button to open the checks in a separate window. Clicking Run This Task does not open the checks. HDL Code Advisor can run additional HDL code generation compatibility checks not covered in this task. For more info, seeModel configuration checks.

Tip

To set reported settings to their recommended values, click theModify All button. You can then rerun the check again and proceed to the next check.

Check FPGA-in-the-Loop Compatibility

HDL Verifier checks model for compatibility with FPGA-in-the-loop processing.

See Also

Prepare DUT For FIL Interface Generation (HDL Verifier).

HDL Code Generation Overview

The tasks in the HDL Code Generation folder enable you to:

To run the tasks in the HDL Code Generation folder automatically, select the folder and click Run All.

Tip

After each task in this folder runs, HDL Coder updates the Configuration Parameters dialog box and the Model Explorer.

Set HDL Options

Optional task to open the HDL Coder Configuration Parameters dialog box.

Description

The Set HDL Options is an optional task. This task provides you with the option to open the HDL Coder Configuration Parameters dialog box in a separate window. Changes to the configuration parameters are used in the next HDL Coder Workflow Advisor task.

Note

Before doing this task, close the HDL Coder Configuration Parameters dialog box.

Limitations

When the Workflow Advisor window is open for the current design under test (DUT), these configuration parameters are disabled for editing:

If you make any changes to these configuration parameters, rerun all the previous Workflow Advisor tasks. If you change the name of the DUT model or subsystem, restart the Workflow Advisor and rerun all the Workflow Advisor tasks.

Generate RTL Code and Testbench

Select and initiate generation of RTL code, RTL test bench, cosimulation model, and RTL lint check report.

Description

The Generate RTL Code and Testbench task enables choosing what type of code or model that you want to generate. You can select any combination of the following:

Verify with HDL Cosimulation

Run this step to verify the generated HDL code using cosimulation between the HDL Simulator and the Simulink test bench. This step shows as a Workflow Advisor Task only if you:

Generate RTL Lint Check Report

Run this step to generate an RTL lint check report for the generated HDL code. This step appears as a Workflow Advisor Task only if you select Generate RTL lint check report in the Generate RTL Code and Testbench pane.

Description

This task displays these options:

To learn more, see Generate RTL Lint Check Report Using HDL Workflow Advisor and Synopsys SpyGlass Lint Tool

Generate RTL Code and IP Core

Select and initiate generation of RTL code and a custom IP core.

Description

In the Generate RTL Code and IP Core task, specify characteristics of the generated IP core:

See Also

FPGA Synthesis and Analysis Overview

Create projects for supported FPGA synthesis tools, perform FPGA synthesis, mapping, and place/route tasks, and annotate critical paths in the original model.

Description

The tasks in the FPGA Synthesis and Analysis folder enable you to:

For a list of supported third-party synthesis tools, see Third-Party Synthesis Tools and Version Support.

The tasks in the folder are:

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Create Project

Create an FPGA synthesis project for a supported FPGA synthesis tool.

Description

This task creates a synthesis project for the selected synthesis tool and loads the project with the HDL code generated for your model.

When the project creation is complete, the HDL Workflow Advisor displays a link to the project in the right pane. Click this link to view the project in the synthesis tool project window.

Synthesis objective

Select a synthesis objective to generate tool-specific optimization Tcl commands for your project. If you specifyNone, no Tcl commands are generated.

See Synthesis Objective to Tcl Command Mapping.

Additional source files

Enter additional HDL source files that you want included in your synthesis project. Enter each file name manually, separated with a semicolon (;) or by using the Add Source button.

For example, you can include HDL source files (.vhd or .v) or a constraint file (.ucf or.sdc).

Additional project creation Tcl files

Enter additional project creation Tcl files that you want to include in your synthesis project. Enter each file name manually, separated with a semicolon (;) or by using theAdd Tcl button.

For example, you can include a Tcl script (.tcl) to execute after creating the project.

See Also

Perform Synthesis and P/R Overview

Start supported FPGA synthesis tools to perform synthesis, mapping, and place/route tasks.

Description

The tasks in the Perform Synthesis and P/R folder enable you to start supported FPGA synthesis tool and:

For a list of supported third-party synthesis tools, see Third-Party Synthesis Tools and Version Support.

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Perform Logic Synthesis

Start supported FPGA synthesis tool and synthesize the generated HDL code.

Description

The Perform Logic Synthesis task:

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Perform Mapping

Starts supported FPGA synthesis tool and maps the synthesized logic design to the target FPGA.

Description

The Perform Mapping task:

Enable Skip pre-route timing analysis if your tool does not support early timing estimation. When this option is enabled, theAnnotate Model with Synthesis Result task setsCritical path source topost-route.

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Perform Place and Route

Starts the synthesis tool in the background and runs a Place and Route process.

Description

The Perform Place and Route task:

If you select Skip this task, the HDL Workflow Advisor executes the workflow, but omits the Perform Place and Route task, marking it Passed. If you prefer to do place and route work manually, you might want to select Skip this task.

If Perform Place and Route fails, but you want to use the post-mapping timing results to find critical paths in your model, you can selectIgnore place and route errors and continue to theAnnotate Model with Synthesis Result task.

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Run Synthesis

Starts Xilinx Vivado® and executes the VivadoSynthesis step.

If you do not want to do early timing estimation, enable Skip pre-route timing analysis.

Run Implementation

Starts Xilinx Vivado and executes the VivadoImplementation step.

If you select Skip this task , the HDL Workflow Advisor omits the Run Implementation task, marking itPassed. If you prefer to do place and route work manually, select Skip this task.

If Run Implementation fails, you can select Ignore place and route errors and continue to the Annotate Model with Synthesis Result task.

Check Timing Report

If there are timing failures during this task, the task does not fail. You must check the timing report for timing failures.

Annotate Model with Synthesis Result

Analyzes pre- or post-routing timing information and visually highlights critical paths in your model.

Description

The Annotate Model with Synthesis Result task helps you to identify critical paths in your model. Depending on your option selection, the task analyzes pre- or post-routing timing information produced by thePerform Synthesis and P/R task group and visually highlights one or more critical paths in your model.

Note

If you select Cadence Genus orMicrochip Libero SoC as theSynthesis tool, the Annotate Model with Synthesis Result task is not available. Run the workflow to synthesis, and then view the timing reports to see the critical path.

If you select Generate FPGA top level wrapper in theGenerate RTL Code and Testbench task,Annotate Model with Synthesis Result is not available. To perform back-annotation analysis, clear the check box for Generate FPGA top level wrapper.

Input Parameters

Critical path source

Select pre-route orpost-route.

The pre-route option is unavailable whenSkip pre-route timing analysis is enabled in the previous task group.

Critical path number

You can annotate up to three critical paths. Select the number of paths that you want to annotate.

Choose Model to Annotate

You can perform the annotation on the original as well as generated model. Select the original orgenerated model that you want to annotate. For more information on generated model, see Generated Model and Validation Model.

Show all paths

Show critical paths, including duplicate paths.

Show unique paths

Show only the first instance of a path that is duplicated.

Show delay data

Annotate the cumulative timing delay on each path.

Show ends only

Show the endpoints of each path, but omit the connecting signal lines.

When the Annotate Model with Synthesis Result task runs to completion, HDL Coder displays the DUT with critical path information highlighted.

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Download to Target Overview

The folder supports the following tasks:

For summary information on each task, select the task icon, and then click the HDL Workflow AdvisorHelp button.

See Also

Getting Started with the HDL Workflow Advisor

Generate Programming File

The task generates an FPGA programming file that is compatible with the selected target device.

Program Target Device

The task downloads the generated FPGA programming file to the selected target device.

Before executing the task, make sure that your host PC is properly connected to the target development board using the required programming cable.

The task generates a model containing an interface subsystem that you can plug into a Simulink Real-Time model.

The naming convention for the generated model is:

where fpgamodelname is the name of the original model.

Save and Restore HDL Workflow Advisor State

You can save the current settings of the HDL Workflow Advisor to a named restore point. Later, you can restore the same settings by loading the restore point data into the HDL Workflow Advisor.

See Also

Getting Started with the HDL Workflow Advisor.

FPGA-in-the-Loop (FIL) Implementation

Set FIL options and run FIL processing.

Set FPGA-in-the-Loop Options

Set the connection type, synchronization mode, option to generate the host interface script, board IP address, and board MAC address. Also, select additional files if required.

FPGA-in-the-Loop Connection

Select the FIL simulation connection method. The options in the drop-down menu update depend on the connection methods supported for the target board you selected. If the target board and HDL Verifier support the connection, you can chooseEthernet, JTAG,PCI Express, or USB Ethernet.

MATLAB/FPGA Synchronization Mode

Select a mode for streaming data between MATLAB and the DUT. If the target board and FIL connection support, you can choose one of these modes:

For more information on these modes, see What Is Free-Running FPGA-in-the-Loop? (HDL Verifier).

Generate Host Interface Script

Select this option to generate a host interface script,gs_ _`DUTName`__interface_fil.m, where _`DUTName`_ is the name of the DUT. This script creates a filObj object for interfacing with the FPGA from MATLAB. The interface script contains MATLAB commands that connect to the hardware and program the FPGA, and examples of how to exchange data with your algorithm as it runs on the hardware.

Enable Data Buffering on FPGA

Select this option to enhance simulation performance. When selected, FIL utilizes BRAMs on the FPGA to buffer Ethernet packets in frame-based processing mode. Clear this parameter when BRAM resources are scarce in your design. Available for Ethernet connection only.

Board IP Address

Set the IP address of the board if it is not the default IP address (192.168.0.2).

Board MAC Address

Under most circumstances, you do not need to change the Board MAC address. If you connect more than one FPGA development board to a single computer (for which you must have a separate NIC for each board), you must change the Board MAC address. You must change the Board MAC address for additional boards so that each address is unique.

Additional Source Files

Select additional source files for the HDL design that is to be verified on the FPGA board, if required. HDL Workflow Advisor attempts to identify the file type. Change the file type in the File Type column if it is incorrect.

Set DUT I/O Ports

This step is enabled only when you select the free-running FPGA mode.

The HDL Workflow Advisor parses the input and output ports of your DUT from the top file. It infers each port type from the HDL port name. Verify and modify the port type as needed.

Build FPGA-in-the-Loop

During the build process:

Embedded System Integration

Tasks in this folder integrate your generated HDL IP core into the embedded processor.

Create Project

Create project for embedded system tool.

In the message window, after the project is generated, you can click the project link to open the generated embedded system tool project.

Embedded system tool

Embedded design tool.

Project folder

Folder where your generated project files are saved.

Synthesis objective

Select a synthesis objective to generate tool-specific optimization Tcl commands for your project. If you specifyNone, no Tcl commands are generated.

To learn how the synthesis objectives map to Tcl commands, seeSynthesis Objective to Tcl Command Mapping.

Enable IP caching

Create IP cache to reduce reference design synthesis time. When you enable IP caching, the code generator creates an IP cache. TheIP Core Generation workflow uses an out-of-context (OOC) workflow. This workflow synthesizes the IP in the reference design out of context from the top-level design. You can reuse this cache in subsequent project runs, which reduces reference design synthesis time. To learn more, see IP Caching for Faster Reference Design Synthesis.

Generate Software Interface

To generate the embedded C code, generate a Simulink software interface model with the IP core driver blocks. To verify the IP core functionality and connect to the onboard memory locations, generate a host interface model, host interface script, or both with the AXI Manager.

When you clear the Generate Simulink software interface model, Generate host interface model, andGenerate host interface script check boxes, the HDL Workflow Advisor skips this task.

Description

In the Generate Software Interface task, specify a software interface that you want to generate for the IP core.

Build FPGA Bitstream

Generate bitstream for embedded system.

Run build process externally

Enable this option to run the build process in parallel with MATLAB. If this option is disabled, you cannot use MATLAB until the build is finished. This option is valid only when you use the IP Core Generation workflow.

Tcl file for synthesis build

To customize your synthesis build, save your custom Tcl commands in a file and select Custom. Enter the file path manually or find the path by using the Browse button. The contents of your custom Tcl file are inserted between the Tcl commands that open and close the project.

If you select Custom and want to generate a bitstream, the bitstream generation Tcl command must refer to the top file wrapper name and location either directly or implicitly. For example, the following Xilinx Vivado Tcl command generates a bitstream and implicitly refers to the top file name and location:

launch_runs impl_1 -to_step write_bitstream

Enable routed design checkpoint for build

Select this option to expedite bitstream generation time by using the design checkpoint from the previous build. This option is available only when using the Xilinx Vivado synthesis tool.

To use this option, select Enable routed design checkpoint for build. To use the default routed design checkpoint file, select Default. The default file location is hdl_prj\checkpoint\system_routed.dcp. To use a custom routed design checkpoint file, selectCustom and provide the file path to your custom file location. This option is available only when using the Xilinx Vivado synthesis tool.

To use this option, select Custom for . Use this option to point to your custom routed design checkpoint file. After bitstream generation is completed the new routed checkpoint design file is written to the location specified in . This option is available only when using the Xilinx Vivado synthesis tool.

Reduce bitstream generation times by using multiple logical cores of the PC. Use this option to choose the maximum number of PC cores to use. Selecting synthesis tool default selects the maximum number of cores set in the synthesis tool. To manually select the maximum number of cores, select between 2 and 32.

Program Target Device

Program the connected target SoC device. Specify the Programming method for the target device:

To define your own function to program the target device in your custom reference design, you can use the Custom Programming method. To use the custom programming, register the function handle of the custom programming function by using theCallbackCustomProgrammingMethod method of thehdlcoder.ReferenceDesign class. For example:

hRD.CallbackCustomProgrammingMethod = ... @parameter_callback.callback_CustomProgrammingMethod;

For more information, see Program Target FPGA Boards or SoC Devices.

ASIC Synthesis and Analysis Overview

In the ASIC synthesis and Analysis folder, you can create projects for supported ASIC synthesis tools, select either custom or default synthesis workflows, and perform ASIC synthesis tasks on the original model.

Description

The tasks within the ASIC Synthesis and Analysis folder enable you to:

For a list of supported third-party synthesis tools, see Third-Party Synthesis Tools and Version Support.

The tasks in this folder are:

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Create Project

Create an ASIC synthesis project for a supported ASIC synthesis tool.

Description

This task creates an ASIC synthesis project for a selected synthesis tool and loads the project with the HDL code generated for your model.

Additional source files

Enter additional HDL source files (.vhd or.v) that you want to include in your synthesis project. Enter each file name manually, separated with a semicolon (;) or use the Add Source button.

Synthesis workflow

Select a custom or default synthesis workflow. If you selectcustom workflow, you must add the Setup Tcl, Constraint Sdc, and Synthesis Tcl files. If you select default, the tool automatically includes these files.

Setup Tcl file

Enter the project creation Setup Tcl file that you want to include in your synthesis project. Enter each file name manually, separated with a semicolon (;) or use theAdd Setup Tcl button.

Constraint Sdc files

Enter the project creation Constraint Sdc files that you want to include in your synthesis project. Enter each file name manually, separated with a semicolon (;) or use theAdd constraint Sdc button.

Synthesis Tcl file

Enter the project creation Synthesis Tcl file that you want to include in your synthesis project. Enter each file name manually, separated with a semicolon (;) or use theAdd synthesis Tcl button.

See Also

Perform Synthesis and P/R Overview

Start supported ASIC synthesis tools to perform synthesis.

Description

The tasks in the Perform Synthesis and P/R enable you to start supported ASIC synthesis tool and synthesize the generated HDL code.

For a list of supported third-party synthesis tools, see Third-Party Synthesis Tools and Version Support.

See Also

HDL Code Generation and FPGA Synthesis from Simulink Model

Run Synthesis

Starts supported ASIC synthesis tool and synthesize the generated HDL code.

Description

The Run Synthesis task:

Run build process externally

Select this option to allow the build process run in an external console. If this option is not selected, you cannot use MATLAB until the build is finished.