Speedgoat Real-Time FPGA Application Support from HDL Coder

Create fixed-point FPGA applications from Simulink Real-Time and HDL Coder, and run floating-point real-time applications on Speedgoat multicore CPU hardware.

Explore gallery (5 images)

Create real-time FPGA applications with Simulink Real-Time™ and Speedgoat FPGA I/O modules. This solution enables specialized reconfigurable I/O or algorithm acceleration of parts of your real-time application.

Highlights include:

  • Design floating- and fixed-point applications in Simulink
  • Place Speedgoat Simulink® blocks that implement I/O and protocol functionality for analog and digital I/O, PWM generation and capture, or encoder measurement and simulation (quadrature, SSI, SSI2, EnDat 2.2, BiSS)
  • Connect with your hardware by selecting the required physical hardware interfaces provided by FPGA-based I/O modules from Speedgoat, and interconnect FPGA-based I/O modules and additional external circuitry using SPI and I2C Simulink blocks
  • Create real-time applications from Simulink using HDL Coder™ and Simulink Coder™
  • Run synchronized real-time applications on FPGAs and multicore CPUs
  • Test your designs using instrumentation, monitoring, logging, and automation functionality provided by Simulink Real-Time

The following table provides an extract of supported FPGA-based I/O modules and software functionality from Speedgoat for use with HDL Coder and Simulink Real-Time™. Support for Virtex 6, Kintex 7, and eight FPGAs is available or in development.

Please inquire with Speedgoat for further information.

Platform Support

Available on 64-bit Microsoft® Windows® only.

IO33x Hardware Support for HDL Coder from Speedgoat

I/O Module Description

Reconfigurable FPGA-based I/O module

  • Run real-time applications created with Simulink Real-Time using HDL Coder.
  • Integrate Speedgoat FPGA code modules such as for PWM, encoders, SPI, I2C, Aurora, sRIO, or general purpose digital I/O, and access functionality using predefined Simulink blocks and netlists
  • Implement third-party netlists and VHDL source code using Speedgoat FPGA engineering kits and Xilinx ISE.


Xilinx Spartan, 150k of logic cells.

Front I/O

AXM slot allowing install of one IO331-1 – 7 front plug-in.

Rear I/O

64 2.5V LVCMOS or 32 differential LVDS I/O lines.

IO331: Front Plug-Ins

I/O Module Description
IO331-1 64 x TTL, 3.3V / 5V including pull-up/down functionality
IO331-1-LV 64 x LVCMOS, 2.5V/3.3V
IO331-2 30 x RS485
IO331-3 16 x TTL and 22 x RS485
IO331-4 30 x LVDS
IO331-5 2 x AD, 105 MHz
IO331-6 16 x AD, 500 kHz, 8 x DA, 10us settling, 16 x TTL digital I/O, 3.3V
IO331-7 16 x DA, 2us settling time for 0-10V, 4us settling time for +/- 10V

IO331: Rear Signal Conditioning Modules

I/O Module Description
IO331-21 Converts 64 x 2.5V LVCMOS to 56 x 3.3/5V TTL, adds pull-up/down functionality, FPGA protection, and 3 x I2C master/slave channels.
IO331-22 Converts 64 x 2.5V LVCMOS to 16 x RS422/RS485, and 24 x 3.3/5V TTL, adds pull-up/down functionality, FPGA protection, and 3 x I2C master/slave channels.

IO33x Software support for HDL Coder from Speedgoat


While Simulink is an ideal environment to model and simulate control designs, vision systems, or plant simulations, it’s not primarily intended to implement protocols.

Speedgoat provides you with Simulink blocks and corresponding netlists that allow you to simply drag and drop protocol support such as for PWM generation and capture, encoder measurement and simulation, or SPI and I2C.

When you create HDL code from your application using HDL Coder, your real-time application design in Simulink and your Speedgoat netlists will be combined to a single bitstream.

Custom Netlists for IO331

Item ID Item Name Netlist Description
2A331P HDLCoderWF-IO331-NL-PWM PWM Pulse width generation
2A331E HDLCoderWF-IO331-NL-CAP CAP Pulse width capture
2A331Q HDLCoderWF-IO331-NL-QAD QAD Quadrature decoding for incremental encoder sensors
2A331R HDLCoderWF-IO331-NL-QAE QAE Emulates incremental encoder sensors
2A331F HDLCoderWF-IO331-NL-SSI-M SSI M SSI protocol to measure data from absolute encoders
2A331G HDLCoderWF-IO331-NL-SSI-S SSI S Emulates absolute encoder sensors
2A331T HDLCoderWF-IO331-NL-END EnDat 2.2 EnDat 2.2 protocol to measure data from encoders supporting this interface.
2A331W HDLCoderWF-IO331-NL-ENE EnDat emulation Emulates encoders with EnDAT 2.2 interface
2A331U HDLCoderWF-IO331-NL-BIS-M BiSS BiSS protocol to measure data from encoders supporting this interface.
2A331V HDLCoderWF-IO331-NL-BIS-S BiSS emulation Emulates encoders with BiSS interface
2A331S HDLCoderWF-IO331-NL-SYN SYN Synchronize multiple FPGA-based I/O modules
2A331I HDLCoderWF-IO331-NL-INT INT Assert interrupts for synchronization
2A331A HDLCoderWF-IO331-NL-SPI SPI M/S Implements SPI master and SPI slave protocol support to Simulink
2A331C HDLCoderWF-IO331-NL-I2C-M I2C M Implements I2C master protocol support to Simulink
2A331D HDLCoderWF-IO331-NL-I2C-S I2C S Implements I2C slave protocol support to Simulink

FPGA Engineering Kits (Optional with Purchase)

The FPGA engineering kit for the IO331 with X front plug-in and Y rear signal conditioning modules includes step-by-step information and sample applications on how to integrate your own VHDL design, generate bitstreams, interface with Simulink Real-Time using PCI (PIO and DMA) accesses, assert interrupts, and create Simulink driver blocks including masks with dialog fields.

Related Hardware Support Views: Aerospace and Defense, Automotive, Connections Program, Control Systems, C ∕ C++ Code Generation, Embedded Systems, FPGA, ASIC, and SoC Development, HDL Code Generation, HDL Coder, Image Processing and Computer Vision, Industrial Automation and Machinery, MathWorks Supported, Mechatronics, Medical Devices, Power Electronics Control Design, Rail, Ships, and Other Transportation, RTOS, Signal Processing, Simulink Product Family, Simulink Real-Time, Speedgoat, Technical Services and Consulting, Wireless Communications



FPGA-based I/O connectivity and protocols

Real-time target machines


  • Custom racks, cabling, and enclosures
  • Custom FPGA implementations
  • Engineering and design services


  • BNC and XLR panels and boxes



Speedgoat software

IO33X purchase includes all the required drivers and block libraries and net lists along with FPGA engineering kits(optional)

Microsoft C Compiler

  • Microsoft Windows SDK 7.7 (no charge) or
  • Microsoft Visual Studio 2012 (for large real-time applications created from Simulink)

Xilinx Synthesis Design Suite

  • Xilinx Vivado/ISE (only required to execute parts of your real-time application created from Simulink or implement on your own on FPGAs)

Don't see the hardware you're looking for?