This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > FPGAs: World Class Designs > FPGA Architectures > Slicing and Dicing

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Slicing and Dicing

FONT SIZE : AAA

The next step up the hierarchy is what Xilinx calls a slice (Altera and the other  vendors have their own equivalent names). At the time of this writing, a slice  contains two logic cells ( Figure 2-8 ).

A slice containing two logic cellspng

The internal wires have been omitted from this illustration to keep things  simple; it should be noted, however, that although each logic cell’s LUT,  MUX, and register have their own data inputs and outputs, the slice has one set  of clock, clock enable, and set/reset signals common to both logic cells.

CLBs and LABs

And moving one more level up the hierarchy, we come to what Xilinx calls  a configurable logic block (CLB) and what Altera refers to as a logic array  block (LAB).

Using CLBs as an example, some Xilinx FPGAs have two slices in each  CLB, while others have four. At the time of this writing, a CLB equates to a  single logic block in our original visualization of “ islands ” of programmable  logic in a “ sea ” of programmable interconnect ( Figure 2-9 ).

There is also some fast programmable interconnect within the CLB. This  interconnect (not shown in Figure 2-9 for reasons of clarity) is used to connect  neighboring slices.

A CLB containing four slices.png

Insider Info  

The reason for having this type of logic-block hierarchy—LC→Slice (with two  LCs)→CLB (with four slices)—is that it is complemented by an equivalent hierarchy in the interconnect. Thus, there is fast interconnect between the LCs in a  slice, then slightly slower interconnect between slices in a CLB, followed by the  interconnect between CLBs. The idea is to achieve the optimum trade-off between  making it easy to connect things together without incurring excessive interconnect-related delays.

Distributed RAMs and Shift Registers

We previously noted that each 4-bit LUT can be used as a 16  1 RAM. And  things just keep on getting better because, assuming the four-slices-per-CLB  configuration illustrated in Figure 2-9 , all of the LUTs within a CLB can be  configured together to implement the following:

● Single-port 16 × 8 bit RAM  

● Single-port 32 × 4 bit RAM  

● Single-port 64 × 2 bit RAM  

● Single-port 128 × 1 bit RAM  

● Dual-port 16 × 4 bit RAM  

● Dual-port 32 × 2 bit RAM  

● Dual-port 64 × 1 bit RAM

Alternatively, each 4-bit LUT can be used as a 16-bit shift register. In this case,  there are special dedicated connections between the logic cells within a slice  and between the slices themselves that allow the last bit of one shift register to be connected to the first bit of another without using the ordinary LUT output  (which can be used to view the contents of a selected bit within that 16-bit register). This allows the LUTs within a single CLB to be configured together to  implement a shift register containing up to 128 bits as required.

FAQs 

What is a fast carry chain?

A key feature of modern FPGAs is that they include the special logic and interconnect required to implement fast carry chains. In the context of the CLBs  introduced in the previous section, each LC contains special carry logic. This is  complemented by dedicated interconnect between the two LCs in each slice,  between the slices in each CLB, and between the CLBs themselves. This special  carry logic and dedicated routing boosts the performance of logical functions  such as c ounters and arithmetic functions such as adders. The availability of these  fast carry chains—in conjunction with features like the shift register incarnations  of LUTs (discussed previously) and embedded multipliers and the like (introduced in following sections)—provided the wherewithal for FPGAs to be used for  a pplications like DSP.


  • XC2S30-5TQ144C

    Manufacturer:Xilinx

  • FPGA Spartan-II Family 30K Gates 972 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC2S30-6TQ144C

    Manufacturer:Xilinx

  • FPGA Spartan-II Family 30K Gates 972 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP
  • Product Categories: Embedded - FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC4VLX60-11FFG1148I

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 59904 Cells 90nm Technology 1.2V 1148-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS:

  • XC4VLX60-12FF668C

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 59904 Cells 90nm Technology 1.2V 668-Pin FCBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC18V04PC44BRT

    Manufacturer:Xilinx

  • In-System Programmable Configuration PROMs
  • Product Categories: SCM, board

    Lifecycle:Active Active

    RoHS: -

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.