SlideShare a Scribd company logo
Design and Implementation of VLSI Systems
                   (EN1600)
         Lecture 31: Array Subsystems (PLAs/FPGAs)




S. Reda EN1600 SP’08
Using ROMs to implement logic



                       Inputs                   Outputs
                                    ROM
                                (truth table)




 In most designs, using ROMs can be extremely inefficient in terms of area




S. Reda EN1600 SP’08
Programmable logic arrays

   • A Programmable Logic Array performs any function
     in sum-of-products form.
   • Literals: inputs & complements
   • Products / Minterms: AND of literals                AND Plane   OR Plane


   • Outputs: OR of Minterms                                                      bc
                                                                                  ac
   • Example: Full Adder                                                          ab




                                                                                        Minterms
                                                                                  abc
                                                                                  abc
                                                                                  abc
                                                                                  abc
      s = abc + abc + abc + abc
      cout = ab + bc + ac                   a       b         c        s        cout
                                                Inputs               Outputs




S. Reda EN1600 SP’08
NOR-NOR PLAs
   • ANDs and ORs are not very efficient in CMOS
   • Dynamic or Pseudo-nMOS NORs are very efficient
   • Use DeMorgan’s Law to convert to all NORs

                AND Plane       OR Plane               AND Plane       OR Plane


                                             bc                                      bc
                                             ac                                      ac
                                             ab                                      ab
                                             abc                                     abc
                                             abc                                     abc
                                             abc                                     abc
                                             abc                                     abc




            a      b        c                      a      b        c
                                    s      cout                           s       cout




S. Reda EN1600 SP’08
PLA schematic and layout
                   AND Plane       OR Plane




                                                 bc
                                                 ac
                                                 ab
                                                 abc
                                                 abc
                                                 abc
                                                 abc




               a       b       c
                                      s       cout



S. Reda EN1600 SP’08
PLAs vs. ROMS

      • PLAs are more flexible than ROMs
            – No need to have 2n rows for n inputs
            – Only generate the minterms that are needed
            – Take advantage of logic simplification

      • PLAs are popular for small-scale circuits that
        have 2-level implementations
      • PLAs are not scalable to implement large
        designs


S. Reda EN1600 SP’08
Programmable logic blocks (lookup tables)


      Required function        Truth table     Programmed LUT
 a                             a b c       y   SRAM cells
          &
 b                                                1    000
                               0   0   0   1
                                                  0




                                                             8:1 Multiplexer
                                                       001
                       |   y   0   0   1   0
  c                            0   1   0   1      1    010
                               0   1   1   1      1    011
                                                                               y
        y = (a & b) | !c       1   0   0   1      1    100
                               1   0   1   0      0    101
                               1   1   0   1      1    110
                               1   1   1   1      1    111


                                                             ab c
      Programming information could be stored in SRAM or FLASH
      4-input LUT is the typical size
S. Reda EN1600 SP’08
FPGA architecture
      a
      b      4-input
                                         y
      c       LUT
                       mux
      d                      flip-flop
                                         q
      e
   clock




           Switch
                                             Programmable
            box                               interconnect

                                             Programmable
                                              logic blocks




S. Reda EN1600 SP’08
To implement in FPGAs, designs need to be
   decomposed and mapped to LBs

                                                    Map to a LUT in a LB




                       [Figure form Cong FPGA’01]
S. Reda EN1600 SP’08
Programmable interconnects (local)




S. Reda EN1600 SP’08
Programmable interconnects (global)




 Switch
  box




S. Reda EN1600 SP’08
Example




S. Reda EN1600 SP’08
Programming the FPGA

  Configuration data in
 Configuration data out




           = I/O pin/pad

           = SRAM cell




S. Reda EN1600 SP’08
FPGAs versus custom chips

   • Offer flexibility → FPGAs can be reprogrammed to
     perform different logic functions
   • No layouts, no masks, no custom fabrication → huge
     savings for low, med-volume production
   • Larger overhead in area, performance, and power




S. Reda EN1600 SP’08

More Related Content

PPT
Lecture30
PPT
Lecture29
PPT
Lecture21
PPT
Lecture19
PPT
Lecture32
PPT
Lecture07
PPT
Lecture20
PDF
CMOS Topic 6 -_designing_combinational_logic_circuits
Lecture30
Lecture29
Lecture21
Lecture19
Lecture32
Lecture07
Lecture20
CMOS Topic 6 -_designing_combinational_logic_circuits

What's hot (20)

PDF
Ee560 mos theory_p101
DOCX
Exp5 bani
PPT
Fundamentals of CMOS VLSI Design and Mos Transistors
PDF
Ese570 mos theory_p206
PPT
VLSI DESIGN- MOS TRANSISTOR
PPT
Lecture16
DOCX
Comm008 e4 bani
DOCX
PPTX
DOCX
Objectives
DOCX
PPTX
Synchronous Buck Converter using LTspice
PDF
PPTX
Cmos
PPTX
Characteristics of cmos ic series
PPT
Lec17 mosfet iv
PPT
Combinational Logic
PPTX
Session1semiconductors
PDF
Mos transistor
DOCX
SIGNAL SPECTRA EXPERIMENT 2 - FINALS (for PULA)
Ee560 mos theory_p101
Exp5 bani
Fundamentals of CMOS VLSI Design and Mos Transistors
Ese570 mos theory_p206
VLSI DESIGN- MOS TRANSISTOR
Lecture16
Comm008 e4 bani
Objectives
Synchronous Buck Converter using LTspice
Cmos
Characteristics of cmos ic series
Lec17 mosfet iv
Combinational Logic
Session1semiconductors
Mos transistor
SIGNAL SPECTRA EXPERIMENT 2 - FINALS (for PULA)
Ad

Similar to Lecture31 (20)

PPT
Electronicdevices
PDF
8051 micro controllers Instruction set
PPT
Unit 4 memory system
PPT
natchatra
PPTX
Phase noise transfer functions.pptx
PPTX
Bouma2
PPTX
Bouma2
PPTX
Uc 2(vii)
PPTX
Velocity of mechasnism_by_graphical
PPT
Differentiator.ppt
PDF
90981041 control-system-lab-manual
PPTX
高周波とVNAとアンテナエレメント長の調整
PPT
Hardware combinational
PDF
PPT
Types of instructions
PPT
8051 instruction set
PPT
EE100B-p11.ppt
PDF
ARM_InstructionSet.pdf; For VTU 22 regulation course code BCS402
PPT
Instructions_introductionM2.1.about.microcontrollerppt
PPTX
Molecules to Machine Code
Electronicdevices
8051 micro controllers Instruction set
Unit 4 memory system
natchatra
Phase noise transfer functions.pptx
Bouma2
Bouma2
Uc 2(vii)
Velocity of mechasnism_by_graphical
Differentiator.ppt
90981041 control-system-lab-manual
高周波とVNAとアンテナエレメント長の調整
Hardware combinational
Types of instructions
8051 instruction set
EE100B-p11.ppt
ARM_InstructionSet.pdf; For VTU 22 regulation course code BCS402
Instructions_introductionM2.1.about.microcontrollerppt
Molecules to Machine Code
Ad

More from Dharmesh Goyal (20)

PDF
What's new in Bluetooth 5 ? Facts Unleashed
PPT
Lecture19
PPT
Lecture32
PPT
Lecture28
PPT
Lecture27
PPT
Lecture26
PPT
Lecture25
PPT
Lecture24
PPT
Lecture23
PPT
Lecture22
PPT
Lecture18
PPT
Lecture17
PPT
Lecture15
PPT
Lecture14
PPT
Lecture13
PPT
Lecture10
PPT
Lecture09
PPT
Lecture08
PPT
vlsi Lecture06
PPT
vlsi Lecture05
What's new in Bluetooth 5 ? Facts Unleashed
Lecture19
Lecture32
Lecture28
Lecture27
Lecture26
Lecture25
Lecture24
Lecture23
Lecture22
Lecture18
Lecture17
Lecture15
Lecture14
Lecture13
Lecture10
Lecture09
Lecture08
vlsi Lecture06
vlsi Lecture05

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Electronic commerce courselecture one. Pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
20250228 LYD VKU AI Blended-Learning.pptx
Understanding_Digital_Forensics_Presentation.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A Presentation on Artificial Intelligence
Electronic commerce courselecture one. Pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25 Week I
Reach Out and Touch Someone: Haptics and Empathic Computing
Digital-Transformation-Roadmap-for-Companies.pptx

Lecture31

  • 1. Design and Implementation of VLSI Systems (EN1600) Lecture 31: Array Subsystems (PLAs/FPGAs) S. Reda EN1600 SP’08
  • 2. Using ROMs to implement logic Inputs Outputs ROM (truth table) In most designs, using ROMs can be extremely inefficient in terms of area S. Reda EN1600 SP’08
  • 3. Programmable logic arrays • A Programmable Logic Array performs any function in sum-of-products form. • Literals: inputs & complements • Products / Minterms: AND of literals AND Plane OR Plane • Outputs: OR of Minterms bc ac • Example: Full Adder ab Minterms abc abc abc abc s = abc + abc + abc + abc cout = ab + bc + ac a b c s cout Inputs Outputs S. Reda EN1600 SP’08
  • 4. NOR-NOR PLAs • ANDs and ORs are not very efficient in CMOS • Dynamic or Pseudo-nMOS NORs are very efficient • Use DeMorgan’s Law to convert to all NORs AND Plane OR Plane AND Plane OR Plane bc bc ac ac ab ab abc abc abc abc abc abc abc abc a b c a b c s cout s cout S. Reda EN1600 SP’08
  • 5. PLA schematic and layout AND Plane OR Plane bc ac ab abc abc abc abc a b c s cout S. Reda EN1600 SP’08
  • 6. PLAs vs. ROMS • PLAs are more flexible than ROMs – No need to have 2n rows for n inputs – Only generate the minterms that are needed – Take advantage of logic simplification • PLAs are popular for small-scale circuits that have 2-level implementations • PLAs are not scalable to implement large designs S. Reda EN1600 SP’08
  • 7. Programmable logic blocks (lookup tables) Required function Truth table Programmed LUT a a b c y SRAM cells & b 1 000 0 0 0 1 0 8:1 Multiplexer 001 | y 0 0 1 0 c 0 1 0 1 1 010 0 1 1 1 1 011 y y = (a & b) | !c 1 0 0 1 1 100 1 0 1 0 0 101 1 1 0 1 1 110 1 1 1 1 1 111 ab c Programming information could be stored in SRAM or FLASH 4-input LUT is the typical size S. Reda EN1600 SP’08
  • 8. FPGA architecture a b 4-input y c LUT mux d flip-flop q e clock Switch Programmable box interconnect Programmable logic blocks S. Reda EN1600 SP’08
  • 9. To implement in FPGAs, designs need to be decomposed and mapped to LBs Map to a LUT in a LB [Figure form Cong FPGA’01] S. Reda EN1600 SP’08
  • 11. Programmable interconnects (global) Switch box S. Reda EN1600 SP’08
  • 13. Programming the FPGA Configuration data in Configuration data out = I/O pin/pad = SRAM cell S. Reda EN1600 SP’08
  • 14. FPGAs versus custom chips • Offer flexibility → FPGAs can be reprogrammed to perform different logic functions • No layouts, no masks, no custom fabrication → huge savings for low, med-volume production • Larger overhead in area, performance, and power S. Reda EN1600 SP’08