Notiz

FPGA

FPGA
Understanding the model of FPGA that has been used to perform further experiments. Get to know about the components that is used in FPGA

Based on the FPGA version and the device I am using currently:

  • I am using Artix-7 FPGA (xc7a35tcpg236-a(active)) and a 64-bit counter
  1. CLB - Configurable Logic Block

    image1

    A CLB is a physical block inside an FPGA that contains resources for building digital circuits.

    Think of it as a small workshop containing tools for processing and storing binary data.

    • Here, Artix-7 FPGA contains thousands of CLBs.

    • Each CLB contains two slices.

    • Vivado uses resources inside these CLBs to implement the VHDL design.

    For example, when we write a counter in VHDL, Vivado uses CLB resources to implement its counting logic.

  2. Slice - A smaller part of CLB: A slice is a subdivision of CLB containing configurable logic and storage resources.

    In our current project for Artix-7 FPGA, one slice contains:

    • 4 LUTS
    • 8 flip-flops
    • 1 CARRY4 carry-chain block
    • Additional multiplexers and connections.

    In Vivado, we can see SLICE_X10Y20, that means a physical slice at column X10 and row Y20.

    A CLB contains two slices, but the two slices do not necessarily have identical capabilities.

  3. LUT - Look-Up Table

    A LUT is a small programmable logic circuit that produces an output based on its inputs. Imagine you want to implement an AND gate:

         $[ Y=A\land B ]$  A LUT can store the following truth table:
    
     | A   | B   | Output Y |
     | --- | --- | -------- |
     | 0   | 0   | 0        |
     | 0   | 1   | 0        |
     | 1   | 0   | 0        |
     | 1   | 1   | 1        |
    

    Instead of physically constructing a separate AND gate, the FPGA configures a LUT to produce these outputs.

    Your Artix-7 uses 6-input LUTs, meaning one LUT can implement any Boolean function of up to six inputs with one output.

    In your counter: LUTs help calculate the next counter value, including whether individual bits should change.

  4. Flip-Flop - Stores one bit A flip-flop is a small circuit that remembers one bit (0 or 1).

    Unlike a LUT, which calculates an output from current inputs, a flip-flop stores a value over time.

  5. Carry Chain - Helps perform arithmetic quickly

    A carry chain is a dedicated hardware path that makes arithmetic operations, such as addition, faster.

The most important distinction to remember:

  • LUT = Calculates

  • Flip-flop = Remembers

  • Carry chain = Speeds up arithmetic

  • Slice = Contains these resources

  • CLB = Contains slices

Investigate. Decode. Educate