This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

FPGA Synchronization Modes

In Simulink® Real-Time™, an FPGA operates in three synchronization modes:

  • Free running

  • Coprocessing — blocking

  • Coprocessing — nonblocking with delay

  • Free running (default) — The CPU of the Speedgoat target machine and the FPGA each run nonsynchronized, continuously, and in parallel. Select this mode when you want the CPU to run continuously without interrupts. For example, select this mode when the model is processing continuous PWM output.

    The CPU:

    1. Strobes data out of the FPGA.

    2. Reads results from the FPGA outputs.

    3. Writes data to the FPGA inputs.

    4. Strobes the data into the FPGA.

    The shaded areas indicate that the processor and FPGA are running continuously.

  • Coprocessing — blocking — The CPU of the Speedgoat target machine and the FPGA run synchronized and in tandem. Select this mode when the FPGA execution time is short compared to the target computer sample time. For example, select this mode when the model requires the FPGA results to continue processing.

    The CPU:

    1. Writes data to the FPGA inputs.

    2. Strobes the data into the FPGA.

    3. Waits for the FPGA to finish executing.

    4. Reads results from the FPGA outputs.

  • Coprocessing — nonblocking with delay — The CPU of the Speedgoat target machine and the FPGA run synchronized and in tandem. Select this mode when the FPGA execution time is long compared to the Speedgoat target machine sample time. For example, select this mode to manage multiple FPGAs effectively in parallel.

    The CPU:

    1. Waits for the FPGA to finish executing.

    2. Reads the data from the previous time step.

    3. Writes new data to the FPGA inputs.

    4. Strobes the data into the FPGA.