16 Xilinx Development System
Xilinx System Generator v2.1 Reference Guide
portion of a Simulink model to be implemented in an FPGA must be built exclusively
of Xilinx blocks, with the exception of subsystems denoted as black boxes.
Instantiating Xilinx Blocks within a Simulink Model
Xilinx blocks can be dragged (from the Simulink library browser, or from an
expanded sheet showing the blocks in the library) and dropped onto a Simulink
model sheet. Double-clicking on a block icon will open its block parameters dialog
box and allow customization of that instance of the block. It is also possible to build
user libraries of customized blocks and subsystems. Refer to the manual: Using
Simulink from The MathWorks.
The Xilinx blocks operate on fixed point data, using an arbitrary precision arithmetic
type. The Gateway blocks found in the Xilinx MATLAB I/O library comprise the
interface between Xilinx blocks and other Simulink blocks, and enable Xilinx blocks to
be freely instantiated within a Simulink model. Of course, the only blocks that System
Generator will convert to hardware are those from the Xilinx Blockset.
The Block Parameters Dialog Box
Most Xilinx blocks have parameters that can be configured. The typical block has a
dialog box with several common parameters (common to most blocks in the blockset)
and some specific parameters (specific to the particular block only). Double-clicking
on any block icon on a sheet will open its block parameters dialog box. Details of the
use of each block’s parameters dialog can be found elsewhere in this document.
Each parameters dialog contains four buttons: OK, Cancel, Help, and Apply.
Apply applies your configuration changes to the block, leaving the box still visible on
your screen. Help launches HTML help information for the block. Cancel closes the
box without saving any changes, and OK applies your configuration changes and
closes the box.
Figure 2-1: Buttons common to each block parameters dialog box
The Nature of Signals in the Xilinx Blockset
The fundamental scalar signal type in Simulink is double precision floating point. In
contrast, for bit and cycle true simulation of hardware, System Generator signals are
represented in an arbitrary precision fixed point arithmetic type. The Xilinx Gateway
In block converts double precision values into fixed point, and the Gateway Out
block converts fixed point values back into double precision floating point.
Some blocks produce full precision values by default, which is to say their output
signal has sufficient precision to represent the output without rounding error or
overflow. Some blocks also support the option of defining the output precision to be a
specific arithmetic type (e.g., 16-bit signed data with 8 bits of fraction), with
quantization options of rounding or truncation, and with overflow options of
saturation or truncation.