Lecture 15 Finite State Machine Implementation

Slides:



Advertisements
Similar presentations
PLDs ROM : Programmable OR array
Advertisements

컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
Chapter #10: Finite State Machine Implementation
Implementation Strategies
Prith Banerjee ECE C03 Advanced Digital Design Spring 1998
Programmable Logic Devices
1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Implementing Logic Gates and Circuits Discussion D5.1.
ECE 331 – Digital System Design Introduction to and Analysis of Sequential Logic Circuits (Lecture #20) The slides included herein were taken from the.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
ECE C03 Lecture 101 Lecture 10 Finite State Machine Design Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Contemporary Logic Design Sequential Case Studies © R.H. Katz Transparency No Chapter #7: Sequential Logic Case Studies 7.1, 7.2 Counters.
FPGAs and VHDL Lecture L13.1 Sections 13.1 – 13.3.
ECE C03 Lecture 101 Lecture 10 Registers, Counters and Shifters Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Multiplexers, Decoders, and Programmable Logic Devices
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
ECE C03 Lecture 91 Lecture 9 Registers, Counters and Shifters Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ECE C03 Lecture 51 Lecture 5 Combinational Logic Implementation Using Multiplexers, ROMS, FPGAs Prith Banerjee ECE C03 Advanced Digital Logic Design Spring.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
Lecture 21 Overview Counters Sequential logic design.
Chapter #10: Finite State Machine Implementation
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
J. Christiansen, CERN - EP/MIC
Programmable Logic Devices
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
2017/4/24 CHAPTER 6 Counters Chapter 5 (Sections )
Basic Sequential Components CT101 – Computing Systems Organization.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
Review of Digital Logic Design Concepts OR: What I Need to Know from Digital Logic Design (EEL3705)
Registers Page 1. Page 2 What is a Register?  A Register is a collection of flip-flops with some common function or characteristic  Control signals.
DLD Lecture 26 Finite State Machine Design Procedure.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
IX - Sequential Logic TechnologyContemporary Logic Design1 Ch 9. Sequential Logic Technologies.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
CEC 220 Digital Circuit Design Programmable Logic Devices
EE121 John Wakerly Lecture #15
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
FIGURES FOR CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN
Controller Implementation
ETE Digital Electronics
CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN
Sequential Programmable Devices
Sequential Logic Design
Lecture 15 Sequential Circuit Design
Homework Reading Machine Projects Labs Tokheim Chapter 9.1 – 9.6
Registers and Counters
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
© Copyright 2004, Gaetano Borriello and Randy H. Katz
Digital Electronics Tutorial: Sequential Logic
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
We will be studying the architecture of XC3000.
ECE 434 Advanced Digital System L04
FIGURE 7.1 Conventional and array logic diagrams for OR gate
29-Nov-18 Counters Chapter 5 (Sections ).
CSE 370 – Winter Sequential Logic-2 - 1
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
"Computer Design" by Sunggu Lee
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Implementing Logic Gates and Circuits
Implementation Strategies
Presentation transcript:

Lecture 15 Finite State Machine Implementation Prith Banerjee ECE C03 Advanced Digital Design Spring 1998 ECE C03 Lecture 15

Outline Mapping FSM to random logic Mapping FSM to ROMS Mapping FSM to PLAs Mapping FSM to Programmable Logic Devices (Xilinx) READING: Katz 10.1.1, 10.1.2, 10.3, Dewey 9.5 ECE C03 Lecture 15

FSM Implementation Strategies • Discrete Gate Logic Emphasis so far • MSI Logic (e.g., Counters) • Structured Logic (e.g., PLA/PAL, ROM) • Field Programmable Gate Arrays (FPGAs) Function can be configured "on the fly" or in the field Flipflops/Registers plus discrete gates on the same chip ECE C03 Lecture 15

FSM Design with Structured Logic Block Diagram for Synchronous Mealy Machine ROM-based Realization • Inputs & Current State form the address • ROM data bits form the Outputs & Next State ECE C03 Lecture 15

ROM-Based Implementation Example: BCD to Excess 3 Serial Converter BCD Excess 3 Code 0000 0011 0001 0100 0010 0101 0011 0110 0100 0111 0101 1000 0110 1001 0111 1010 1000 1011 1001 1100 Conversion Process Bits are presented in bit serial fashion starting with the least significant bit Single input X, single output Z ECE C03 Lecture 15

BCD to Excess-3 Converter State Transition Table Reset S0 0/1 1/0 S1 S2 1/0 Derived State Diagram 0/1 0/0, 1/1 S3 S4 0/0, 0/1 1/0 1/1 S5 S6 0/0, ECE C03 Lecture 15 0/1 1/1

ROM-Based Implementation BCD to Excess 3 Converter 1 CLK 9 15 CLK QD 14 Z 175 QD 1 X converter ROM D 10 X Z 13 QC 12 C 11 Q2 D2 5 QC Q1 D1 B 7 4 QB Q0 D0 A 6 QB 2 QA 1 1 CLR 3 QA \Reset Circuit Level Realization 74175 = 4 x positive edge triggered D FFs Truth Table/ROM I/Os In ROM-based designs, no need to consider state assignment ECE C03 Lecture 15

ROM Based Implementation BCD to Excess-3 Converter LSB MSB Timing Behavior for input strings 0 0 0 0 (0) and 1 1 1 0 (7) 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 LSB LSB ECE C03 Lecture 15

PLA Based Design BCD to Excess 3 Converter State Assignment with NOVA NOVA derived state assignment 9 product term implementation NOVA input file ECE C03 Lecture 15

PLA Implementation BCD to Excess 3 Converter .i 4 .o 4 .ilb x q2 q1 q0 .ob d2 d1 d0 z .p 16 0 000 001 1 1 000 011 0 0 001 110 1 1 001 100 0 0 011 100 0 1 011 100 1 0 110 111 0 1 110 111 1 0 100 111 1 1 100 101 0 0 111 000 0 1 111 000 1 0 101 000 1 1 101 --- - 0 010 --- - 1 010 --- - .e Espresso Inputs .i 4 .o 4 .ilb x q2 q1 q0 .ob d2 d1 d0 z .p 9 0001 0100 10-0 0100 01-0 0100 1-1- 0001 -0-1 1000 0-0- 0001 -1-0 1000 --10 0100 ---0 0010 .e Espresso Outputs ECE C03 Lecture 15

PLA Implementation BCD to Excess 3 Converter D2 = Q2 • Q0 + Q2 • Q0 D1 = X • Q2 • Q1 • Q0 + X • Q2 • Q0 + X • Q2 • Q0 + Q1 • Q0 D0 = Q0 Z = X• Q1 + X • Q1 ECE C03 Lecture 15

PAL Implementation BCD to Excess 3 Serial Converter 10H8 PAL: 10 inputs, 8 outputs, 2 product terms per OR gate D1 = D11 + D12 D11 = X • Q2 • Q1 • Q0 + X • Q2 • Q0 D12 = X • Q2 • Q0 + Q1 • Q0 0. Q2 • Q0 1. Q2 • Q0 8. X • Q2 • Q1 • Q0 9. X • Q2 • Q0 16. X • Q2 • Q0 17. Q1 • Q0 24. D11 25. D12 32. Q0 33. not used 40. X • Q1 41. X • Q1 ECE C03 Lecture 15

PAL Implementation BCD to Excess 3 Serial Converter ECE C03 Lecture 15

More Advanced PAL Architectures Registered PAL Architecture Buffered Input or product term Negative Logic Feedback D2 = Q2 • Q0 + Q2 • Q0 D1 = X • Q2 • Q1 • Q0 + X • Q2 + X • Q0 + Q2 • Q0 + Q1 • Q0 D0 = Q0 Z = X • Q1 + X • Q1 ECE C03 Lecture 15

Advanced PAL Architectures Programmable Output Polarity/XOR PALs Buried Registers: decouple FF from the output pin Advantage of XOR PALs: Parity and Arithmetic Operations ECE C03 Lecture 15

Examples of XOR and Registered PALs Example of XOR PAL Example of Registered PAL ECE C03 Lecture 15

FSM Design With Counters Synchronous Counters: CLR, LD, CNT Four kinds of transitions for each state: (1) to State 0 (CLR) (2) to next state in sequence (CNT) (3) to arbitrary next state (LD) (4) loop in current state Careful state assignment is needed to reflect basic sequencing of the counter ECE C03 Lecture 15

Implementation Strategies FSM Design with Counters Excess 3 Converter Revisited Note the sequential nature of the state assignments ECE C03 Lecture 15

Implementation Strategies FSM Design with Counters Excess 3 Converter CLR signal dominates LD which dominates Count ECE C03 Lecture 15

Implementation FSM With Counters Excess 3 Converter .i 5 .o 7 .ilb res x q2 q1 q0 .ob z clr ld en c b a .p 17 1---- -0----- 00000 1111--- 00001 1111--- 00010 0111--- 00011 00----- 00100 0111--- 00101 110-011 00110 10----- 00111 ------- 01000 010-100 01001 010-101 01010 1111--- 01011 10----- 01100 1111--- 01101 0111--- 01110 ------- 01111 ------- .e Espresso Input File .i 5 .o 7 .ilb res x q2 q1 q0 .ob z clr ld en c b a .p 10 0-001 0101101 -0-01 1000000 -11-0 1000000 0-0-0 0101100 -000- 1010000 -0--0 0010000 0-10- 0101011 --11- 1000000 -11-- 0010000 -1-1- 1010000 .e Espresso Output File ECE C03 Lecture 15

Implementing FSM with Counters Excess 3 Converter Schematic Synchronous Output Register ECE C03 Lecture 15

FSM Design with FPGAs Programmable Logic Devices = PLD PALs, PLAs = 10 - 100 Gate Equivalents Field Programmable Gate Arrays = FPGAs • Altera MAX Family • Actel Programmable Gate Array • Xilinx Logical Cell Array 100 - 1000(s) of Gate Equivalents! ECE C03 Lecture 15

Xilinx Logic Cell Arrays CMOS Static RAM Technology: programmable on the fly! All personality elements connected into serial shift register Shift in string of 1's and 0's on power up General Chip Architecture: • Logic Blocks (CLBs) • IO Blocks (IOBs) • Wiring Channels ECE C03 Lecture 15

Xilinx LCA Architecture Inputs: Tri-state enable bit to output input, output clocks Outputs: input bit Internal FFs for input & output paths Fast/Slow outputs 5 ns vs. 30 ns rise Pull-up used with unused IOBs ECE C03 Lecture 15

Xilinx LCA Architecture Configurable Logic Block: CLB 2 FFs Any function of 5 Variables Global Reset Clock, Clock Enb Independent DIN ECE C03 Lecture 15

Xilinx CLB Function Generator Any function of 5 variables Two Independent Functions of 4 variables each ECE C03 Lecture 15

Xilinx CLB Function Generator Certain Limited Functions of 6 Variables ECE C03 Lecture 15

Xilinx Interconnect Architecture Direct Connections Global Long Line Horizontal/Vertical Long Lines Switching Matrix Connections ECE C03 Lecture 15

Implementing FSM with Xilinx LCA Implementing the BCD to Excess 3 FSM Q2+ = Q2 • Q0 + Q2 • Q0 Q1+ = X • Q2 • Q1 • Q0 + X • Q2 • Q0 + X • Q2 • Q0 + Q1 • Q0 Q0+ = Q0 Z = Z • Q1 + X • Q1 No function more complex than 4 variables 4 FFs implies 2 CLBs Synchronous Mealy Machine Global Reset to be used Place Q2+, Q0+ in once CLB Q1, Z in second CLB maximize use of direct & general purpose interconnections ECE C03 Lecture 15

Implementing FSM with Xilinx LCA Implementing the BCD to Excess 3 FSM ECE C03 Lecture 15

Summary Mapping FSM to random logic Mapping FSM to ROMS Mapping FSM to PLAs Mapping FSM to Programmable Logic Devices (Xilinx) NEXT LECTURE: VHDL Language READING: Dewey 11.2, 11.3, 11.4, 11.5, 11.6, 12.2, 12.2 ECE C03 Lecture 15