Académique Documents
Professionnel Documents
Culture Documents
(Spartan-6)
Slice and I/O Resources
Objectives
Spartan-6 CLB
COUT
Switch
Matrix
Connected to the
switch matrix for
routing to other FPGA
resources
CIN
Routing
CLB
Direct
1 Hop
2 Hops
3 Hops
LUT/RAM/SRL
Carry chain
LUT/RAM/SRL
Wide multiplexers
The implementation tools will
choose how best to pack your
design
LUT/RAM/SRL
LUT/RAM/SRL
01
Wide Multiplexers
LUT/RAM/SRL
LUT/RAM/SRL
LUT/RAM/SRL
Carry Logic
LUT/RAM/SRL
LUT/RAM/SRL
Carry look-ahead
Combinatorial carry look-ahead
over the four LUTs in a slice
Implements faster carry cascading
from slice to slice
LUT/RAM/SRL
LUT/RAM/SRL
01
FF
FF/L
LUT/RAM/SRL
LUT/RAM/SRL
LUT/RAM/SRL
LUT/RAM/SRL
01
CE
CK
D Q
CE
CE
CK
CK
SR
SRSR
AFF/LATCH
DFF
D
Q
CE
CK
SR
AFF
DFF/LATCH
D
CE
CK
SR
Dual
Port
32x2D
32x4D
64x1D
64x2D
128x1D
Simple
Dual Port
32x6SDP
64x3SDP
Quad
Port
32x2Q
64x1Q
Various configurations
Single port
One LUT6 = 64x1 or 32x2 RAM
Cascadable up to 256x1 RAM
Quad-port (Q)
Each port has independent
address inputs
LUT
32-bit
32-bit Shift
Shift register
register
32
5
MUX
MUX
Qn
SRL Configurations
in one Slice (4 LUTs)
16x1, 16x2, 16x4, 16x6, 16x8
32x1, 32x2, 32x3, 32x4
Q 31
64x1, 64x2
96x1
128x1
64
Operation B
88Cycles
Cycles
12
12Cycles
Cycles
Operation C
64
Operation D - NOP
33Cycles
Cycles
17
17Cycles
Cycles
20 Cycles
Spartan-6 FPGA
SLICEX
SLICEX
or
or
SLICEM
SLICEL
Spartan-6 FPGA
BANK
BANK
BANK
BANK
I/O Versatility
Each I/O supports over 40+ voltage and protocol standards,
including
LVCMOS
LVDS, Bus LVDS
LVPECL
SSTL
HSTL
RSDS_25 (point-to-point)
Tx
P
Rx
LVDS
Termination
Tx
N
Rx
IOB Element
Input path
Two DDR registers
Output path
Two DDR registers
Two 3-state enable
DDR registers
IODELAY
Selectable fine-grained delay
Slave IOLOGIC
IOSERDES
IODELAY
Flip-Flop Details
D data input
CK clock
CE clock enable (Active High)
SR async/sync set/reset (Active High)
Either Set or Reset can be implemented (not both)
FF
D
CE
CK
SR
Design Tips
FF1
D
CE
CK
Design synchronously
SR
FF8
D
CE
CK
SR
Software
FPGA
Slice
LUT
LUT
LUT
LUT
Control Signals
Different flip-flop configurations
If coded registers do not map cleanly to the flip-flops, the software tools
will automatically implement the missing functionality by using LUT inputs
Can increase overall LUT utilization, but can be helpful for fitting the
design
Case
CE active Low
Design
D
CE
CK
FPGA
CE
D
CK
D
CK
Sset
Sset
SReset
SReset
SR
CK
3 Slices
D
CK
FPGA
D
CK
D
Q
CK
Sset
D
Sset
D
CK
D
Q
CK
SReset
D
SReset
D
CK
1 Slice
Design
Instantiation
Create an instance of the FPGA resource using the name of the primitive and
manually connecting the ports and setting the attributes
Inference
All primary slice resources can be inferred by XST and
Synplify
LUTs
Most combinatorial functions will map to LUTs
Flip-flops
Coding style defines the behavior
SRL
Non-loadable, serial functionality
Multiplexers
Use a CASE statement or other conditional operators
Carry logic
Use arithmetic operators (addition, subtraction, comparison)
Instantiation
For a list of primitives that can be instantiated, see the HDL
library guide
Provides a list of primitives, their functionality, ports, and attributes
Help Software
Manuals
Libraries Guides
Summary
All slices contain four 6-input LUTs and eight registers
LUTs can perform any combinatorial function of up to six inputs or two
functions of five inputs
Four of the eight registers can be used as flip-flops or latches; the
remaining four can only be used as flip-flops
Flip-flops have active high CE inputs and active high synchronous or
asynchronous Set/Rest inputs
SLICEL slices also contain carry logic and the dedicated multiplexers
The MUXF7 multiplexers combine LUT outputs to create 8-input
multiplexers
The MUXF8 multiplexers combine the MUXF7 outputs to create 16-input
multiplexers
The carry logic can be used to implement fast arithmetic functions
The LUTs in SLICEM slices can also SRL and distributed memory
functionality
Manage your control set usage to reduce the size and increase the
speed of your design
Software Manuals
Start Xilinx ISE Design Suite 13.1 ISE Design Tools
Documentation Software Manuals
This includes the Synthesis & Simulation Design Guide
This guide has example inferences of many architectural resources
Trademark Information
Xilinx is disclosing this Document and Intellectual Property (hereinafter the Design) to you for use in the development of designs to operate
on, or interface with Xilinx FPGAs. Except as stated herein, none of the Design may be copied, reproduced, distributed, republished,
downloaded, displayed, posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written consent of Xilinx. Any unauthorized use of the Design may violate copyright laws, trademark
laws, the laws of privacy and publicity, and communications regulations and statutes.
Xilinx does not assume any liability arising out of the application or use of the Design; nor does Xilinx convey any license under its patents,
copyrights, or any rights of others. You are responsible for obtaining any rights you may require for your use or implementation of the Design.
Xilinx reserves the right to make changes, at any time, to the Design as deemed desirable in the sole discretion of Xilinx. Xilinx assumes no
obligation to correct any errors contained herein or to advise you of any correction if such be made. Xilinx will not assume any liability for the
accuracy or correctness of any engineering or technical support or assistance provided to you in connection with the Design.
THE DESIGN IS PROVIDED AS IS" WITH ALL FAULTS, AND THE ENTIRE RISK AS TO ITS FUNCTION AND IMPLEMENTATION IS WITH
YOU. YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NOT RELIED ON ANY ORAL OR WRITTEN INFORMATION OR ADVICE,
WHETHER GIVEN BY XILINX, OR ITS AGENTS OR EMPLOYEES. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS,
IMPLIED, OR STATUTORY, REGARDING THE DESIGN, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS.
IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES,
INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE DESIGN, EVEN IF YOU HAVE
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION WITH
YOUR USE OF THE DESIGN, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL IN NO EVENT EXCEED THE AMOUNT OF
FEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE DESIGN. YOU ACKNOWLEDGE THAT THE FEES, IF ANY, REFLECT THE
ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE THE DESIGN TO YOU
WITHOUT THESE LIMITATIONS OF LIABILITY.
The Design is not designed or intended for use in the development of on-line control equipment in hazardous environments requiring fail-safe
controls, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or weapons
systems (High-Risk Applications). Xilinx specifically disclaims any express or implied warranties of fitness for such High-Risk Applications.
You represent that use of the Design in such High-Risk Applications is fully at your risk.
2012 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. All
other trademarks are the property of their respective owners.