FPGAProgrammingBlocksetProcessorInterfaceReference
FPGAProgrammingBlocksetProcessorInterfaceReference
If possible, always provide the serial number of the hardware, the relevant dSPACE License
ID, or the serial number of the CmContainer in your support request.
Important Notice
This publication contains proprietary information that is protected by copyright. All rights
are reserved. The publication may be printed for personal or internal use provided all the
proprietary markings are retained on all printed copies. In all other cases, the publication
must not be copied, photocopied, reproduced, translated, or reduced to any electronic
medium or machine-readable form, in whole or in part, without the prior written consent
of dSPACE GmbH.
This publication and the contents hereof are subject to change without notice.
Contents
PROC_XDATA_READ_BL......................................................................................... 26
Block Description (PROC_XDATA_READ_BL)...................................... ............ 26
Unit Page (PROC_XDATA_READ_BL).............................................................. 28
Parameters Page (PROC_XDATA_READ_BL)....................................... ............ 29
PROC_XDATA_WRITE_BL........................................................................................ 31
Block Description (PROC_XDATA_WRITE_BL)................................................. 31
Unit Page (PROC_XDATA_WRITE_BL)............................................................. 33
Parameters Page (PROC_XDATA_WRITE_BL).................................................. 35
PROC_INT_BL......................................................................................................... 36
Block Description (PROC_INT_BL)...................................................... ............ 36
Unit Page (PROC_INT_BL).............................................................................. 37
3
May 2024 FPGA Programming Blockset - Processor Interface Reference
Contents
4
FPGA Programming Blockset - Processor Interface Reference May 2024
About This Reference
Content This refernce is a complete description of the interface blocks provided by the
Processor Interface sublibrary of the FPGA Programming Blockset and the FPGA
specific dialog pages of the Model Interface Package for Simulink. You can use
these blocks to implement the data access between the processor model and the
FPGA model.
Symbol Description
Indicates a hazardous situation that, if not avoided,
V DANGER
will result in death or serious injury.
Indicates a hazardous situation that, if not avoided,
V WARNING could result in death or serious injury.
Indicates a hazardous situation that, if not avoided,
V CAUTION could result in minor or moderate injury.
Indicates a hazard that, if not avoided, could result in
NOTICE
property damage.
Indicates important information that you should take
Note
into account to avoid malfunctions.
Indicates tips that can make your work easier.
Tip
Indicates a link that refers to a definition in the
glossary, which you can find at the end of the
document unless stated otherwise.
5
May 2024 FPGA Programming Blockset - Processor Interface Reference
About This Reference
Symbol Description
Follows the document title in a link that refers to
another document.
Naming conventions dSPACE user documentation uses the following naming conventions:
RTI block name conventions All I/O blocks have default names based on
dSPACE's board naming conventions:
§ Most RTI block names start with the board name.
§ A short description of functionality is added.
§ Most RTI block names also have a suffix.
Suffix Meaning
M Module number (for MicroAutoBox II)
C Channel number
G Group number
CON Converter number
BL Block number
P Port number
I Interrupt number
Special Windows folders Windows‑based software products use the following special folders:
6
FPGA Programming Blockset - Processor Interface Reference May 2024
About This Reference
%PROGRAMDATA%\dSPACE\<ProductName>\<VersionNumber>
Accessing dSPACE Help and After you install and decrypt Windows‑based dSPACE software, the
PDF files documentation for the installed products is available in dSPACE Help and as PDF
files.
dSPACE Help (local) You can open your local installation of dSPACE Help:
§ On its home page via Windows Start Menu
§ On specific content using context-sensitive help via F1
PDF files You can access PDF files via the icon in dSPACE Help. The PDF
opens on the first page.
7
May 2024 FPGA Programming Blockset - Processor Interface Reference
About This Reference
8
FPGA Programming Blockset - Processor Interface Reference May 2024
General Information on the Processor Interface
FPGA Programming Blockset The FPGA Programming Blockset is a Simulink® blockset for using an FPGA
model with a dSPACE system.
The blockset provides Simulink blocks for implementing and simulating the
interface between the FPGA mounted on a dSPACE I/O board and the board's
I/O, and the interface between the dSPACE I/O board and its processor board.
The following table shows the supported FPGA hardware.
9
May 2024 FPGA Programming Blockset - Processor Interface Reference
General Information on the Processor Interface
10
FPGA Programming Blockset - Processor Interface Reference May 2024
Overview of the FPGA Programming Blockset
Library access To open the library, execute one of the following methods:
§ In the MATLAB Command Window, enter rtifpga.
§ To access the Simulink blocks of the library separately:
In the Simulink Library Browser, navigate to the dSPACE FPGA Programming
Blockset folder.
§ For MicroAutoBox II:
In the RTI1401 Blockset, click one of the following blocksets:
§ MicroAutoBox II DS1511/DS1514
§ MicroAutoBox II DS1513/DS1514
Then click FPGA Type 1.
§ For MicroLabBox:
In the DS1202 MicroLabBox FPGA I/O Type 1 blockset, Click FPGA Class 1.
Note
The FPGA Interface library and the Demo model are only available, if you
have the full license for the FPGA Programming Blockset.
If you have the standard RTI license only, the blockset looks like this:
Library components The following components are available in the FPGA Programming Blockset:
FPGA Interface The blocks of the FPGA INTERFACE sublibrary are used
on the dSPACE I/O board that provides an FPGA, for example, the DS6602
11
May 2024 FPGA Programming Blockset - Processor Interface Reference
General Information on the Processor Interface
FPGA Base Board. They let you configure the interface to external I/O and to a
processor board.
For further information, refer to FPGA Programming Blockset - FPGA Interface
Reference .
Processor Interface The blocks of the Processor Interface library are used
on the dSPACE processor board to implement communication on its board-
specific bus. The model on the I/O board that you want to access, for example,
the I/O board of the MicroLabBox, must contain the related FPGA interface
blocks.
Note
Demo model If you have the full license for the FPGA Programming Blockset, Simulink models
are available that show how to use the blocks of the FPGA Programming
Blockset. Double-click the Demo button in the blockset to open the library
containing the demo models. In the next step you have to choose the demo
model for the framework which you have in use. A demo model prepared
for a different framework will not work. You can also find the model files at
<RCP_HIL_InstallationPath>\Demos\RTIFPGA.
12
FPGA Programming Blockset - Processor Interface Reference May 2024
Features of the Processor Interface of the FPGA Programming Blockset
Introduction The processor interface of the FPGA Programming Blockset allows you to
implement the internal bus communication in the processor model.
Supported platforms The processor interface of the FPGA Programming Blockset supports the
following platforms:
§ MicroLabBox
§ MicroAutoBox II
Main features Specific dSPACE hardware provides an AMD® FPGA for which you can
implement an application. The FPGA Programming Blockset allows you to
integrate such an FPGA model in a Simulink model that can be built to run
on dSPACE hardware.
13
May 2024 FPGA Programming Blockset - Processor Interface Reference
General Information on the Processor Interface
Managing FPGA and The setup block of the processor interface (PROC_SETUP_BL) provides commands
processor application to manage the FPGA application and the processor application:
§ Starting the build process for the FPGA model.
§ Programming the generated FPGA code to the flash of the FPGA board or the
RAM of the FPGA.
§ Starting the build process for the processor application.
§ Creating a separate burn application to explicitly program the FPGA.
§ Integrating the FPGA application into the processor application to
automatically program the FPGA at startup.
INI files used with the FPGA There are two kinds of initialization files:
Programming Blockset § Framework INI file
A framework INI file contains the interface definitions for the FPGA, the FPGA
board's I/O and the processor. It also contains the function-specific settings
that are displayed in the dialogs of the FPGA interface blocks according to
the specified function. It is therefore mainly used for configuring the FPGA
interface blocks.
§ FPGA model INI file
An FPGA model INI file is created when you build an FPGA application. It
allows you to include built FPGA applications in your processor application
without specifying the corresponding FPGA model. For example, in the setup
block for the processor model, you can specify either an FPGA subsystem or an
FPGA model INI file for further actions.
FPGA model INI files are only used for build results of MicroLabBox and
MicroAutoBox II.
Details on the access types The FPGA framework contains the definition of the data storage areas. It
specifies one data storage type as register (implemented as Flip-Flop) and one
data storage type as buffer (implemented in the FPGA RAM). With the access
type, you can choose the data storage that you want to use for the data
exchange.
Register access Register access lets you access a scalar value in the register.
The data is identified by the specified channel number. The values are
transmitted element by element.
Register group access You can group registers to a register group via a
common Register Group ID. All the values that belong to the same Register
Group ID are synchronously updated in the FPGA subsystem.
For read access, the registers of a register group are read from the board-specific
bus sequentially and then provided to the FPGA application simultaneously. For
write access, the registers of a register group are sampled simultaneously in the
FPGA application. These values form a consistent data group that is written to
the board-specific bus.
Buffer access Buffer access lets you access a vector value in the data buffer.
One specific value of the data is identified by the specified channel number and
the position within the buffer.
14
FPGA Programming Blockset - Processor Interface Reference May 2024
Features of the Processor Interface of the Model Interface Package for Simulink
Data exchange is implemented via a FIFO buffer that works as a swinging buffer.
This means that there are two separate buffers for reading and writing, and
one buffer that switches between reading and writing. Only the pointer has to
be changed to switch the buffer so that no buffer has to be copied from one
position to another.
Free buffer
Introduction The processor interface of the Model Interface Package for Simulink allows you
to implement the internal bus communication in the processor model.
The dialogs of the model port blocks provide FPGA-specific pages that are
displayed if you use the model port blocks with the FPGA Programming
Blockset. For instructions, refer to How to Generate a Processor Interface (FPGA
Programming Blockset Guide ).
Supported platforms The Model Interface Package for Simulink supports the following FPGA
platforms:
§ MicroAutoBox III
§ MicroLabBox II
§ SCALEXIO
Main features Specific dSPACE hardware provides an AMD® FPGA for which you can
implement an application. The Model Interface Package for Simulink allows
you to implement the communication between the FPGA application and the
processor application.
15
May 2024 FPGA Programming Blockset - Processor Interface Reference
General Information on the Processor Interface
For more information, refer to Introduction to the Model Interface Package for
Simulink (Model Interface Package for Simulink - Modeling Guide )
Details on the access types The FPGA framework contains the definition of the data storage areas. It
specifies one data storage type as register (implemented as Flip-Flop) and one
data storage type as buffer (implemented in the FPGA RAM). With the access
type, you can choose the data storage that you want to use for the data
exchange.
Register access Register access lets you access a scalar value in the register.
The data is identified by the specified channel number. The values are
transmitted element by element.
Register group access You can group registers to a register group via a
common Register Group ID. All the values that belong to the same Register
Group ID are synchronously updated in the FPGA subsystem.
For read access, the registers of a register group are read from the board-specific
bus sequentially and then provided to the FPGA application simultaneously. For
write access, the registers of a register group are sampled simultaneously in the
FPGA application. These values form a consistent data group that is written to
the board-specific bus.
Buffer access Buffer access lets you access a vector value in the data buffer.
One specific value of the data is identified by the specified channel number and
the position within the buffer.
Data exchange is implemented via a FIFO buffer that works as a swinging buffer.
This means that there are two separate buffers for reading and writing, and
one buffer that switches between reading and writing. Only the pointer has to
be changed to switch the buffer so that no buffer has to be copied from one
position to another.
Free buffer
16
FPGA Programming Blockset - Processor Interface Reference May 2024
Features of the Processor Interface of the Model Interface Package for Simulink
Bus access Bus access lets you use Simulink buses to model the data
exchange between the processor and the FPGA. The data exchange is
implemented via a FIFO buffer in the same way as the buffer access type.
Bus access is supported only by the blocksets of MicroLabBox II, MicroAutoBox III,
and SCALEXIO.
References
17
May 2024 FPGA Programming Blockset - Processor Interface Reference
General Information on the Processor Interface
18
FPGA Programming Blockset - Processor Interface Reference May 2024
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
Introduction The Processor Interface library provides blocks that you use in the processor
model of a MicroAutoBox II or MicroLabBox to implement access to the FPGA
model.
PROC_SETUP_BL...................................................................................... 20
To manage all the FPGA subsystems in the processor model.
PROC_XDATA_READ_BL.......................................................................... 26
To read data in the processor model that comes from the FPGA model via
the board-specific bus.
PROC_XDATA_WRITE_BL......................................................................... 31
To write data from the processor model to the FPGA model via the
board-specific bus.
PROC_INT_BL.......................................................................................... 36
To receive an interrupt from the FPGA model to trigger an asynchronous
task in the processor model.
19
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
PROC_SETUP_BL
Purpose To manage all the FPGA subsystems in the processor model.
PROC_XDATA_READ_BL.......................................................................... 26
To read data in the processor model that comes from the FPGA model via
the board-specific bus.
PROC_XDATA_WRITE_BL......................................................................... 31
To write data from the processor model to the FPGA model via the
board-specific bus.
PROC_INT_BL.......................................................................................... 36
To receive an interrupt from the FPGA model to trigger an asynchronous
task in the processor model.
20
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_SETUP_BL
Block appearance The figure below shows the block if it is in the library.
Purpose To manage all the FPGA subsystems of RTI systems in the processor model.
Description A processor model can contain several FPGA subsystems. These can be centrally
managed by this block. It allows you to map an FPGA subsystem or an FPGA
model INI file to one of the available FPGA boards. The assigned board numbers
are displayed on the Unit pages of the corresponding FPGA blocks. You can
start the build process for the selected FPGA models and download them to the
connected FPGA boards. You can generate the blocks required for exchanging
data between the processor model and an FPGA subsystem.
Related RTLib functions This block is implemented by using the following RTLib functions. You can find
the descriptions of these functions in the RTLib Reference of the hardware used.
MicroAutoBox II
§ fpga_tp1_init
§ fpga_tp1_program
MicroLabBox
§ IoFpga_init
FPGA programming is done by the MicroLabBox RTLib itself to handle shared
FPGA use of multicore applications correctly.
21
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
Purpose To assign FPGA subsystems or FPGA model INI files to FPGA boards and to build
and download the FPGA applications.
Dialog settings Number of FPGA boards used Lets you select the number of FPGA boards
you want to use with your processor application.
Set the board number 1 for MicroAutoBox II and MicroLabBox.
FPGA board number Displays all the possible board numbers from 1 to 16.
FPGA subsystem / INI file Lets you select the FPGA subsystem or FPGA
model INI file that you want to assign to a specific FPGA board. The selection
provides all the subsystems that are contained in your processor model, and all
the FPGA model INI files which you specified on the Advanced page of this
block. You can select a subsystem only once, an FPGA model INI file multiple
times. The specified number of FPGA boards used defines how many items are
enabled for this setting.
Note
Programming option Lets you select the download behavior. You can decide
whether the built FPGA application is embedded into the processor application
during a processor build. The processor application can be used to download the
FPGA application in its initialization phase, before the processor application starts
its simulation.
If you do not specify a programming option, the FPGA application will not be
embedded into the processor application and not downloaded to the FPGA.
If you specify that the application is to be downloaded to flash, the FPGA
application starts running immediately when the hardware is powered up the
next time. If you specify that the application is to be downloaded to RAM, the
FPGA application must be downloaded again after each power down of the
hardware.
22
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_SETUP_BL
FPGA build Lets you decide which of the FPGA subsystems are to be built or
rebuilt when you click Build. The Build button is enabled if at least one FPGA
build is specified and the model mode in the Model Configuration page is set to
FPGA-Build/Offline simulation.
If FPGA build results exist for all assigned subsystems, you can switch the model
mode in the Model Configuration page to Processor-Build to enable the Create
burn application button. The burn application can be used to download
only the FPGA applications to the associated FPGAs according to the specified
programming options.
Dialog settings FPGA board number Displays all the possible board numbers from 1 to 16.
FPGA model INI file Displays the FPGA subsystems and FPGA model INI files
that you specified on the Unit page.
The Generate and Adapt commands are enabled for each item selected.
§ If you click Generate, the related FPGA model is analyzed and a
corresponding processor interface model is created with the blocks of the
Processor Interface library.
The PROC_XDATA blocks are automatically configured with the corresponding
channel numbers, channel names, access type and format parameters.
After you copy the generated processor model interface blocks to the
processor model, you can close the generated interface model without saving.
§ If you click Adapt, a standard Browse dialog opens for you to select an
existing processor interface model to check against the associated FPGA model
and update to the assigned board number.
A pair of related blocks is recognized by all of their settings. If there is
no correlation, a message is displayed to show the incompatibility of the
interfaces.
The Adapt command is used to update a processor interface after you specify
a different FPGA board for the associated FPGA subsystem or FPGA model
INI file. Only the board number is changed. If the command recognizes
incompatible blocks, the board number is not changed for these blocks. The
settings that define the interface (these are the channel number and the
23
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
access type) are displayed in an error message, if they are not identical for the
corresponding interface blocks.
Purpose To configure a model containing FPGA subsystems or FPGA model INI files for RTI
build actions.
Dialog settings Model mode Lets you select the model mode:
§ FPGA-Build / Offline simulation
In this mode, you can execute the build process for the specified FPGA
subsystems or FPGA model INI files and start an offline simulation. The
processor model contains the FPGA subsystems or FPGA model INI files. You
cannot therefore execute a build process for the processor model.
§ Processor-Build
In this mode, the FPGA subsystems or FPGA model INI files are separated from
the processor model. You can execute a build process for the processor model
using the Simulink Coder.
The model is copied to a new model called
<ModelName>_rtiFPGASeparationFile.mdl before the separation. If you
reswitch to the FPGA-Build / Offline simulation model mode, this copy is
used to restore the previously separated FPGA subsystems or FPGA model INI
files.
Note
If you want to exchange the model with other users, you must provide
all the separated files or the model that is stored in the FPGA-Build /
Offline Simulation model mode.
After selecting the model mode, you must activate it by clicking Switch model
mode.
The default is the FPGA-Build / Offline simulation mode.
24
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_SETUP_BL
Purpose To specify the FPGA model INI files used instead of FPGA subsystems.
Dialog settings Current path Displays the folder where your current Simulink model is
stored.
FPGA model INI files You can add an entry to the FPGA model INI file list by
clicking Add and browsing for an FPGA model INI file using the opened standard
file browser.
You can delete one single entry by selecting it and then clicking Remove. You
can delete all entries in the list by clicking Remove all. If you want to remove
an entry that is assigned to an FPGA board, you must confirm that you want to
delete it.
The added FPGA model INI files are selectable on the Unit page of the
PROC_SETUP block to assign them to an FPGA board.
25
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
PROC_XDATA_READ_BL
Purpose To read data in the processor model that comes from the FPGA model via the
board-specific bus.
PROC_SETUP_BL...................................................................................... 20
To manage all the FPGA subsystems in the processor model.
PROC_XDATA_WRITE_BL......................................................................... 31
To write data from the processor model to the FPGA model via the
board-specific bus.
PROC_INT_BL.......................................................................................... 36
To receive an interrupt from the FPGA model to trigger an asynchronous
task in the processor model.
Block appearance
26
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_XDATA_READ_BL
Purpose To read data in the processor model that comes from the FPGA model via the
board-specific bus.
If you have generated the block, the block settings are automatically adapted to
the corresponding block in the FPGA model. If you want to configure the block
manually, you must specify the same values for the board number, the access
type (register or buffer) and the channel number as its counterpart in the FPGA
model.
I/O characteristics The following table describes the ports of the block in initial state:
Port Description
Output
Data Outputs the data you want to read from the FPGA model via the board-specific bus.
The characteristics depend on the specified bus access type.
Related RTLib functions This block is implemented by using the following RTLib functions. You can find
the descriptions of these functions in the RTLib Reference of the hardware used.
MicroAutoBox II
§ fpga_tp1_read_reg
§ fpga_tp1_read_reg_grp
§ fpga_tp1_read_buf
MicroLabBox
§ IoFpga_read_reg
§ IoFpga_read_reg64
§ IoFpga_read_reg_grp
§ IoFpga_read_reg_grp_mixed
§ IoFpga_read_buf
§ IoFpga_read_buf64
27
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
Purpose To configure read access to the FPGA model in the processor model via a board-
specific bus.
Dialog settings If the model interface has been generated using the PROC_SETUP_BL block, all
the relevant parameters are automatically specified, for example, the access type
and the channel number.
Blocks in the processor model and the FPGA subsystem that belong together are
recognized by the identical values for the board number, the access type and the
channel number.
Board number Lets you select a board number in the range 1 … 16. The
specified board number must correspond to the board number of the related
interface block in the FPGA subsystem. If your system contains several boards
of the same type, RTI uses the board number to distinguish between them. For
further information, refer to Unit Page (PROC_SETUP_BL) on page 22.
Access type Lets you specify the storage you want to read from. The value
must correspond to the associated block in the FPGA subsystem.
Enable multiple access Lets you allow the same channel to be specified for
data exchange in several blocks of the processor model. For example, this allows
you to access the same channel from different tasks.
Register In description If you select Register or Register64 as the access type, the data is read from a
register. The register features, for example, the channel number range, depend
on the framework used. For further information, refer to the framework-specific
block settings of the corresponding FPGA_XDATA_WRITE block.
I/O characteristics The following table describes the ports of the block when
used in register access mode:
Port Description
Output
Data Outputs the data you want to read from the FPGA model via the board-specific bus.
Data type: Double
Data width: 1
28
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_XDATA_READ_BL
Buffer In description If you select Buffer or Buffer64 as the access type, the data is read from a
buffer. The buffer features, for example, the channel number range, depend on
the framework used. For further information, refer to the framework-specific
block settings of the corresponding FPGA_XDATA_WRITE block.
I/O characteristics The following table describes the ports of the block when
used in buffer access mode:
Port Description
Output
Data Outputs the data you want to read from the FPGA model via the board-specific.
Data type: Double
Data width: 1 … 32765
The data width is the specified buffer size and not the number of read values.
Status Represents the current status of the output.
Data type: UInt32
Data width: 3
§ Status[0]: Indicates the data length read from the buffer. This is the number of
valid elements in the Data vector.
§ Status[1]: Indicates whether the data in the buffer is new. 1 means that the data
in the buffer is new, 0 means that the data in the buffer is old.
§ Status[2]: Indicates whether a buffer overflow occurred. 1 means that an overflow
occurred, 0 means that no overflow occurred.
Purpose To display the data configuration of the related interface block in the FPGA
model.
29
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
Dialog settings After generating the model interface using the PROC_SETUP_BL block, all
the relevant parameters of the corresponding blocks in the FPGA model are
automatically specified, for example, the binary point position and the data
format.
Format Displays the data format that is specified for the Data outport of the
corresponding block in the FPGA model.
30
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_XDATA_WRITE_BL
PROC_XDATA_WRITE_BL
Purpose To write data from the processor model to the FPGA model via the board-specific
bus.
PROC_SETUP_BL...................................................................................... 20
To manage all the FPGA subsystems in the processor model.
PROC_XDATA_READ_BL.......................................................................... 26
To read data in the processor model that comes from the FPGA model via
the board-specific bus.
PROC_INT_BL.......................................................................................... 36
To receive an interrupt from the FPGA model to trigger an asynchronous
task in the processor model.
Block appearance
31
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
Purpose To write data from the processor model to the FPGA model via the board-specific
bus.
If you have generated the block, the block settings are automatically adapted to
the corresponding block in the FPGA model. If you want to configure the block
manually, you must specify the same values for the board number, the access
type (register or buffer) and the channel number as its counterpart in the FPGA
model.
I/O characteristics The following table describes the ports of the block in its initial state:
Port Description
Input
Data Lets you input the data you want to write to the FPGA model via the board-specific
bus.
Related RTLib functions This block is implemented by using the following RTLib functions. You can find
the descriptions of these functions in the RTLib Reference of the hardware used.
MicroAutoBox II
§ fpga_tp1_write_reg
§ fpga_tp1_write_reg_grp
§ fpga_tp1_write_buf
MicroLabBox
§ IoFpga_write_reg
§ IoFpga_write_reg64
§ IoFpga_write_reg_grp
§ IoFpga_write_reg_grp_mixed
§ IoFpga_write_buf
§ IoFpga_write_buf64
32
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_XDATA_WRITE_BL
Purpose To configure write access to the FPGA model in the processor model via the
board-specific bus.
Dialog settings If the model interface has been generated, all the relevant parameters are
automatically specified, for example, the access type and the channel number.
Board number Lets you select a board number in the range 1 … 16. The
specified board number must correspond to the board number of the related
interface block in the FPGA subsystem. If your system contains several boards
of the same type, RTI uses the board number to distinguish between them. For
further information, refer to Unit Page (PROC_SETUP_BL) on page 22.
Access type Lets you specify the storage you want to write to. The value
must correspond to the associated block in the FPGA subsystem.
Initial value Lets you specify the initial value that is written at the
initialization phase.
Enable multiple access Lets you allow the same channel to be specified for
data exchange in several blocks of the processor model. For example, this allows
you to access the same channel from different tasks.
Register Out description If you select Register or Register64 as the access type, the data is written to a
register. The register features, for example, the channel number range, depend
on the framework used. For further information, refer to the framework-specific
block settings of the corresponding FPGA_XDATA_READ block.
33
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
I/O characteristics The following table describes the ports of the block when
used in register access mode:
Port Description
Input
Data Lets you input the data you want to write to the FPGA model via the board-specific
bus.
Data type: Double
Data width: 1
Note
Buffer Out description If you select Buffer or Buffer64 as the access type, the data is written to a
buffer. The buffer features, for example, the channel number range, depend on
the framework used. For further information, refer to the framework-specific
block settings of the corresponding FPGA_XDATA_READ block.
I/O characteristics The following table describes the ports of the block when
used in buffer access mode:
Port Description
Input
Data Lets you input the data you want to write to the FPGA model via the board-specific
bus.
Data type: Double
Data width: 1 ... Buffer size, according to the corresponding block in the FPGA
subsystem.
Note
34
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_XDATA_WRITE_BL
Purpose To display the data configuration of the related interface block in the FPGA
model.
Dialog settings After generating the model interface using the PROC_SETUP_BL block, all
the relevant parameters of the corresponding blocks in the FPGA model are
automatically specified, for example, the binary point position and the data
format.
Format Displays the data format that is specified for the Data outport of the
corresponding block in the FPGA model.
35
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
PROC_INT_BL
Purpose To receive an interrupt from the FPGA model to trigger an asynchronous task in
the processor model.
PROC_SETUP_BL...................................................................................... 20
To manage all the FPGA subsystems in the processor model.
PROC_XDATA_READ_BL.......................................................................... 26
To read data in the processor model that comes from the FPGA model via
the board-specific bus.
PROC_XDATA_WRITE_BL......................................................................... 31
To write data from the processor model to the FPGA model via the
board-specific bus.
Block appearance
Purpose To receive an interrupt from the FPGA model to trigger an asynchronous task in
the processor model.
36
FPGA Programming Blockset - Processor Interface Reference May 2024
PROC_INT_BL
Description An interrupt that is provided by the FPGA_INT_BL block in the FPGA model must
be received by a PROC_INT_BL block in the processor model. The interrupt is
transmitted via the board-specific bus.
I/O characteristics The following table describes the ports of the block in its initial state:
Port Description
Output
Interrupt Outputs an interrupt on the specified channel by performing a function call to
enable a function-call subsystem.
Data type: Function call
Related RTLib functions This block is implemented by using the following RTLib functions. You can find
the descriptions of these functions in the RTLib Reference of the hardware used.
MicroAutoBox II
§ Interrupt Functions
MicroLabBox
§ Interrupt Functions
PROC_INT_BL........................................................................................................................... 36
Unit Page (PROC_INT_BL)......................................................................................................... 37
Dialog settings If the model interface has been generated using the PROC_SETUP_BL block, all
the relevant parameters are automatically specified, for example, the channel
number.
Board number Lets you select a board number in the range 1 … 16. The
specified board number must correspond to the board number of the related
interface block in the FPGA subsystem. If your system contains several boards
of the same type, RTI uses the board number to distinguish between them. For
further information, refer to Unit Page (PROC_SETUP_BL) on page 22.
Channel number Lets you select a channel number. The range of the
selectable interrupt channels depend on the specified framework or piggyback
37
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface RTI Blocks (MicroAutoBox II, MicroLabBox)
module. The value must correspond to the associated block in the FPGA
subsystem.
Channels that were already assigned to other blocks are not displayed in the list.
38
FPGA Programming Blockset - Processor Interface Reference May 2024
Processor Interface Blocks (MicroAutoBox III, MicroLabBox II, SCALEXIO)
Introduction The Model Interface Package for Simulink provides model port blocks that you
use in the behavior model to implement access to the FPGA custom function
block in ConfigurationDesk.
If you use the FPGA Programming Blockset, the model port blocks provide FPGA-
specific functionalities.
39
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface Blocks (MicroAutoBox III, MicroLabBox II, SCALEXIO)
Block display
Purpose To prepare the behavior model for receiving data from a FPGA custom function
in ConfigurationDesk.
Dialog pages The dialog of the Data Inport block provides the following pages:
§ The ConfigurationDesk page lets you view information about the Data
Inport block in the related ConfigurationDesk project and application.
For more information, refer to ConfigurationDesk Page (Data Inport Block)
(Model Interface Package for Simulink Reference ).
§ The Signal Configuration page lets you view and change the available ports
and their configurations.
For more information, refer to Signal Configuration Page (Data Inport Block)
(Model Interface Package for Simulink Reference ).
§ The Block Configuration page lets you view and change the block
configuration.
For more information, refer to Block Configuration Page (Data Inport Block)
(Model Interface Package for Simulink Reference ).
§ The FPGA Block Connections page lets you configure data connections
between model port blocks and XDATA_WRITE_BL blocks from the FPGA
Programming Blockset.
40
FPGA Programming Blockset - Processor Interface Reference May 2024
Data Inport Block
Page access This page is displayed only if the model port block is used with the FPGA
Programming Blockset.
Configuration FPGA block connections Lets you enable/disable the block connection
properties on the FPGA Block Connections page.
Board number (1 .. 256) Lets you select a board number in the range 1 …
256.
Type Lets you specify an access type. The following access types are available:
§ Buffer
§ Register
§ Buffer64
§ Register64
§ Bus
Channel number (1 .. 256) Lets you specify a channel number in the range
of 1 … 256.
Corresponding FPGA Blocks Displays a list of links to the blocks from the
FPGA Programming Blockset whose Goto tag corresponds to that of the model
port block. The list is empty by default. You must press the button to refresh
the list.
Block Configuration Page (Data Inport Block) (Model Interface Package for Simulink
Reference )
ConfigurationDesk Page (Data Inport Block) (Model Interface Package for Simulink
Reference )
Signal Configuration Page (Data Inport Block) (Model Interface Package for
Simulink Reference )
41
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface Blocks (MicroAutoBox III, MicroLabBox II, SCALEXIO)
Block display
Purpose To prepare the behavior model for sending data to an FPGA custom function in
ConfigurationDesk.
Dialog pages The dialog of the Data Outport block provides the following pages:
§ The ConfigurationDesk page lets you view information about the Data
Outport block in the related ConfigurationDesk project and application.
For more information, refer to ConfigurationDesk Page (Data Outport Block)
(Model Interface Package for Simulink Reference ).
§ The Signal Configuration page lets you view and change the available ports
and their configurations.
For more information, refer to Signal Configuration Page (Data Outport Block)
(Model Interface Package for Simulink Reference ).
§ The Block Configuration page lets you view and change the block
configuration.
For more information, refer to Block Configuration Page (Data Outport Block)
(Model Interface Package for Simulink Reference ).
§ The FPGA Block Connections page lets you configure data connections
between model port blocks and XDATA_READ_BL blocks from the FPGA
Programming Blockset.
42
FPGA Programming Blockset - Processor Interface Reference May 2024
Data Outport Block
Page access This page is displayed only if the model port block is used with the FPGA
Programming Blockset.
Configuration FPGA block connections Lets you enable/disable the block connection
properties on the FPGA Block Connections page.
Board number (1 .. 256) Lets you select a board number in the range 1 …
256.
Type Lets you specify an access type. The following access types are available:
§ Buffer
§ Register
§ Buffer64
§ Register64
§ Bus
Channel number (1 .. 256) Lets you specify a channel number in the range
of 1 … 256.
Corresponding FPGA Blocks Displays a list of links to the blocks from the
FPGA Programming Blockset whose Goto tag corresponds to that of the model
port block. The list is empty by default. You must press the button to refresh
the list.
Block Configuration Page (Data Outport Block) (Model Interface Package for
Simulink Reference )
ConfigurationDesk Page (Data Outport Block) (Model Interface Package for
Simulink Reference )
Signal Configuration Page (Data Outport Block) (Model Interface Package for
Simulink Reference )
43
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface Blocks (MicroAutoBox III, MicroLabBox II, SCALEXIO)
Block display
Dialog pages The dialog of the Hardware-Triggered Runnable Function block provides the
following pages:
§ The ConfigurationDesk page lets you view information about
the Hardware-Triggered Runnable Function block in the related
ConfigurationDesk project and application.
For more information, refer to ConfigurationDesk Page (Hardware-
Triggered Runnable Function Block) (Model Interface Package for Simulink
Reference ).
§ The Runnable Function page lets you view and change the runnable function
configuration.
44
FPGA Programming Blockset - Processor Interface Reference May 2024
Hardware-Triggered Runnable Function Block
Purpose To configure data connections between model port blocks and FPGA_INT_BL
blocks from the FPGA Programming Blockset.
Page access This page is displayed only if the model port block is used with the FPGA
Programming Blockset.
Configuration FPGA block connections Lets you enable/disable the block connection
properties on the FPGA Block Connections page.
Board number (1 .. 256) Lets you select a board number in the range 1 …
256.
Channel number (1 .. 256) Lets you specify a channel number in the range
of 1 … 256.
The valid value range depends on the used FPGA base board:
§ DS2655: 1 … 8
§ DS6601: 1 … 16
§ DS6602: 1 … 16
§ MicroAutoBox III: 1 … 8
§ MicroLabBox II: 1 … 8
Corresponding FPGA Blocks Displays a list of links to the blocks from the
FPGA Programming Blockset whose Goto tag corresponds to that of the model
port block. The list is empty by default. You must press the button to refresh
the list.
45
May 2024 FPGA Programming Blockset - Processor Interface Reference
Processor Interface Blocks (MicroAutoBox III, MicroLabBox II, SCALEXIO)
46
FPGA Programming Blockset - Processor Interface Reference May 2024