FPGA Logic Cells and Architecture

FPGA Logic Cells and Architecture

ECE 428 Programmable ASIC Design FPGA Logic Cells and Architecture Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901 5-1 Overview An FPGA contains a large number of logic cells. Each logic cell can be configured to implement a certain set of functions. Each logic cell has a fixed number of inputs and outputs. Logic cells used in FPGAs — Multiplexer based logic cells (e.g. Actel FPGAs) — Memory based logic cells (e.g. Xilinx FPGAs) 5-2 Multiplexer Based Logic Cells A multiplexer-based logic module is typically composed of a tree of 2-to-1 MUXes Actel ACT Logic Module 5-3 Multiplexer Logic as Function Generators Shannon’s Expansion Theorem F(a) = a • F(a=1) + a’ • F(a=0) — F(a=1) represents the function evaluated with a=1 — F(a=0) represents the function evaluated with a=0 ¾ example F(a) = (b•(a+c) + d•a’)’ = a•b + a’•(b•c+d)’ Implement F(a) using multiplexers F(a=0) 0 F(a) F(a=1) 1 a 5-4 Actel ACT2 and ACT3 Logic Modules Flip-flop can be incorporated into a multiplexer-based logic module to implement sequential logic. 5-5 Memory Based Logic Cells A memory based logic cell is also called look-up table (LUT) based logic cell (memory is the LUT). Any function of up to K variables can be implemented by a k-input LUT (memory). D flip-flops can be included in LUT based logic cells to implement sequential circuits. Sel LUT DQ CLK LUT-Based Logic Cell 5-6 Function Implementation using LUT Implement Function Y = a•b + b•c’ a b c Y 0 0 0 0 0 0 1 0 0 1 0 1 a 0 1 1 0 8 bit Y b 1 0 0 0 SRAM c 1 0 1 0 1 1 0 1 1 1 1 1 Truth Table 5-7 Xilinx XC3000 Configurable Logic Block 5-8 Altera FLEX Logic Element 5-9 How to Build a LUT Source: Altera white paper: FPGA Architecture 5-10 Determining the Optimal Size of LUT Source: Altera white paper: FPGA Architecture Small size LUT increases the level of logic implementation and, hence, increases circuit delay. Large size LUT increases silicon area and cost since some of their inputs are not used in logic implementation. 5-11 Example: Xilinx Virtex II Block SelectRAM™ I/O Blocks (IOBs) resource Programmable interconnect Dedicated multipliers Configurable Logic Blocks (CLBs) Clock Management (DCMs, BUFGMUXes) Source: Xilinx Basic FPGA Architecture 5-12 Adding Analog Flavor to Programmable Devices Some latest FPGA devices also contain programmable analog components to provide single-chip solutions for mixed-signal applications: Example: Actel SmartFusion Source: www.actel.com 5-13.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us