Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

As a beginner with FPGAs it might take a lot of time to learn about the different concepts to setup the environment, compile code and actually run it on an FPGA. The good news is, that most of the knowledge can be boiled down to 6 steps that are very similar for the different development flows. We have created Quick Start Guides to walk you walk you through the six steps with examples using the latest tools.

 Pre-requirements for the guides
  • working SSH connection to access Noctua2.

The general structure of the quick start guides is the following:

1. Get Example Code

All development flows are shipped with design examples. In this step you learn how to get the code and the structure of the examples.

2. Setup the Environment

All development flows are loaded with modules. In this step you learn which modules are required to establish a working environment.

3. Build and Execute in Emulation

Build and execute in emulation: Most of the FPGA code development will be done in emulation (run the code on CPU), because the actual FPGA code generation is very time consuming. In this step you learn how to build and run the code in emulation.

4. Create and Inspect Reports

Reports can be generated quickly during code compilation. It is crucially important for any efficient FPGA development process to analyze reports regularly prior to actual hardware builds. In this step you learn how to generate the reports and which indicators are good starting point to estimate the efficiency on an actual FPGA.

5. Build the Hardware Design

The hardware build step (so-called hardware synthesis) can take lots of time and compute resources. In this step you learn how to create batch scripts to submit the synthesis job to the slurm workload manager.

6. Execute Design on FPGA Hardware

After the hardware synthesis, we can allocate an FPGA node for execution. In this step you learn how to allocate a correctly configured FPGA node that matches the soft- and hardware requirements.

  • No labels