Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design.

Slides:



Advertisements
Similar presentations
Lecture 15 Finite State Machine Implementation
Advertisements

Finite State Machines (FSMs)
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Give qualifications of instructors: DAP
Modern VLSI Design 4e: Chapter 5 Copyright  2008 Wayne Wolf Topics n Performance analysis of sequential machines.
FPGA-Based System Design: Chapter 7 Copyright  2004 Prentice Hall PTR Topics n Bus interfaces. n Platform FPGAs.
Circuits require memory to store intermediate data
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
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.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
1 Sequential logic networks I. Motivation & Examples  Output depends on current input and past history of inputs.  “State” embodies all the information.
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Sequential Circuits.
Embedded Systems Hardware:
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
Modern VLSI Design 2e: Chapter 5 Copyright  1998 Prentice Hall PTR Topics n Memory elements. n Basics of sequential machines.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
11/10/2004EE 42 fall 2004 lecture 301 Lecture #30 Finite State Machines Last lecture: –CMOS fabrication –Clocked and latched circuits This lecture: –Finite.
L15 – Control & Execution 1 Comp 411 – Spring /25/08 Control & Execution Finite State Machines for Control MIPS Execution.
Mahapatra-A&M-Sprong'021 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
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)
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
Lecture 17 General finite state machine (FSM) design
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Lecture 12 Today’s topics –CPU basics Registers ALU Control Unit –The bus –Clocks –Input/output subsystem 1.
FPGA-Based System Design: Chapter 5 Copyright  2004 Prentice Hall PTR Topics n Basics of sequential machines. n Sequential machine specification. n Sequential.
EE434 ASIC & Digital Systems
Lecture 5 Key Locker using FPGA 2007/10/05 Prof. C.M. Kyung.
Computer Architecture and Organization Introduction.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
RTL Hardware Design by P. Chu Chapter Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4.
1 CSE370, Lecture 19 Lecture 19 u Logistics n Lab 8 this week to be done in pairs íFind a partner before your lab period íOtherwise you will have to wait.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Module : FSM Topic : types of FSM. Two types of FSM The instant of transition from the present to the next can be completely controlled by a clock; additionally,
Computer Organization & Programming Chapter 5 Synchronous Components.
2017/4/24 1.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics Buses and networks-on-chips. Networks-on-chips. Data paths. Subsystems as IP.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Design of Datapath Controllers Speaker: Shao-Wei Feng Adviser:
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Counters and registers Eng.Maha Alqubali. Registers Registers are groups of flip-flops, where each flip- flop is capable of storing one bit of information.
Copyright © 2001 Stephen A. Edwards All rights reserved Busses  Wires sometimes used as shared communication medium  Think “party-line telephone”  Bus.
Sequential Logic Design
Chapter #6: Sequential Logic Design
Introduction to Advanced Digital Design (14 Marks)
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
CSE 370 – Winter Sequential Logic-2 - 1
CSE 370 – Winter Sequential Logic - 1
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Lecture 22 Logistics Last lecture Today HW7 is due on Friday
Lecture 22 Logistics Last lecture Today HW7 is due on Friday
Lecture 4 Sequential units. Registers
Topics Bus interfaces. Platform FPGAs..
Presentation transcript:

Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design

Lecture 11: FPGA-Based System Design October 18, 2004 Topics °Basics of sequential machines. °Sequential machine specification. °Sequential machine design processes for FPGAs

Lecture 11: FPGA-Based System Design October 18, 2004 FSM structure

Lecture 11: FPGA-Based System Design October 18, 2004 Constraints on structure °No combinational cycles. °All components must have bounded delay °FPGAs benefit from many flip flops and predictable timing °Asynchronous circuits difficult to implement in FPGAs

Lecture 11: FPGA-Based System Design October 18, 2004 Synchronous design °Controlled by clock(s). State changes at time determined by the clock. Inputs to registers settle in time for state change. Primary inputs settle in time for combinational delay through logic. °Machine state is determined solely by registers. Don’t have to worry about timing constraints, events outside the registers.

Lecture 11: FPGA-Based System Design October 18, 2004 Non-functional requirements and optimization °Performance: Clock period is determined by combinational logic delay. °Area: Combinational logic size usually dominates area. °Energy/power: Often dominated by combinational logic. May be improved by latching values.

Lecture 11: FPGA-Based System Design October 18, 2004 Register-transfer structure °Registers fed by combinational logic: Combinational logic DQDQDQDQDQDQ

Lecture 11: FPGA-Based System Design October 18, 2004 Counter state transition graph °Cyclic structure: 0 1/1 1 1/2 6 1/7 7 1/0 …

Lecture 11: FPGA-Based System Design October 18, 2004 Example: 01 string recognizer °Recognize 01 sequence in input string: recognizer

Lecture 11: FPGA-Based System Design October 18, 2004 Sequential machine definition °Machine computes next state N, primary outputs O from current state S, primary inputs I. °Next-state function: N =  (I,S). °Output function (Mealy): O = (I,S).

Lecture 11: FPGA-Based System Design October 18, 2004 Reachability °State is reachable if there is a path from given state. °May be created by state encoding: s0s1 s2s3

Lecture 11: FPGA-Based System Design October 18, 2004 Networks of FSMs °Functions can be built up from interconnected FSMs: M1M2 x y I1 O1 I2 O2 External connections Internal connections

Lecture 11: FPGA-Based System Design October 18, 2004 Illegal composition of Mealy machines Combinational logic DQ Combinational logic DQ

Lecture 11: FPGA-Based System Design October 18, 2004 Communicating FSM states s1 s2 M1 0/0 1/0 -/1 s3 s4 M2 0/0 -/0 1/1

Lecture 11: FPGA-Based System Design October 18, 2004 Product machine °Two connected machines: RS i1o1 i2 o2

Lecture 11: FPGA-Based System Design October 18, 2004 Behavior of connected machines RS i1o1 i2 o2 R1S1001 R2S2010 R3S1000 R3S1000

Lecture 11: FPGA-Based System Design October 18, 2004 Forming product machine °Form Cartestian product of states: R1S1, R1S2, R2S1, R2S2, R3S1, R3S2. °For each product state, determine the combined behavior of each product transition: Required inputs. Produced output. Next product state.

Lecture 11: FPGA-Based System Design October 18, 2004 Encoding a shift register °Symbolic state transition table for shift register: 0S S100 0S01S001 1S01S101 0 S010 1S10S110 0 S011 1S11 1

Lecture 11: FPGA-Based System Design October 18, 2004 Bad encoding °Let S00 = 00, S01 = 01, S10 = 11, S11 = 10. °Logic: Output = S1 S0’ + S1’ S0 N1 = I N0 = I S1’ + I’ S1

Lecture 11: FPGA-Based System Design October 18, 2004 Good encoding °Let S00 = 00, S01 = 01, S10 = 10, S11 = 11. °Logic: Output = S0 N1 = I N0 = S1

Lecture 11: FPGA-Based System Design October 18, 2004 Bus interfaces °Requirements: High performance. Variable signal environment. °Techniques: Asynchronous logic. Handshaking-oriented protocols.

Lecture 11: FPGA-Based System Design October 18, 2004 Timing diagrams a b c stable 0 1 changing Timing constraint

Lecture 11: FPGA-Based System Design October 18, 2004 Asynchronous logic °Distribute timing information with values. No global clock. °Clock signal paths must have the same delay as data values.

Lecture 11: FPGA-Based System Design October 18, 2004 Latching an asynchronous signal DQ adrs adrs_ready adrs

Lecture 11: FPGA-Based System Design October 18, 2004 Asynchronous timing constraints °Must satisfy setup, hold times. adrs Setup time Hold time

Lecture 11: FPGA-Based System Design October 18, 2004 Bus system design °Requirements: Imposed by the other side of the system. °Constraints: Imposed by this side of the system. ab requirements constraints

Lecture 11: FPGA-Based System Design October 18, 2004 ba Views of the bus °Hardware: DQDQ Combinational logic

Lecture 11: FPGA-Based System Design October 18, 2004 Views of bus system, cont’d. °Timing diagram: ba DQDQ Combinational logic x y xy

Lecture 11: FPGA-Based System Design October 18, 2004 Bus protocols °Basic transaction: four-cycle handshake. a b

Lecture 11: FPGA-Based System Design October 18, 2004 Handshake machine °Each side is an FSM (possibly asynchronous): ab 01 Go ack enq 01 ack

Lecture 11: FPGA-Based System Design October 18, 2004 Advanced transactions °Multi-cycle transfers: Several values on one handshake. May use implicit addressing.

Lecture 11: FPGA-Based System Design October 18, 2004 PCI bus °Used for box-level system interconnect. °Two versions: 33 MHz. 66 MHz. °Supports advanced transactions.

Lecture 11: FPGA-Based System Design October 18, 2004 Platform FPGAs °Put all the logic for a system on one FPGA. °Requires large FPGAs plus: Specialized logic: -I/O support; -memory interface. CPUs.

Lecture 11: FPGA-Based System Design October 18, 2004 Example: Virtex II Pro °Major features: Large FPGA fabric. High-speed I/O. PowerPC.

Lecture 11: FPGA-Based System Design October 18, 2004 Virtex II Pro High-speed I/O °Rocket I/O: parallel/serial or serial/parallel transceiver. °Clock recovery circuitry. °Transceivers for multiple standards: Gigabit Ethernet, Fibre Channel, etc. °Programmable decoding features. °Interface to FPGA fabric.

Lecture 11: FPGA-Based System Design October 18, 2004 Virtex II Pro CPUs °Up to 4 PowerPC 405s per chip: 5 stage pipe, static branch prediction, etc. °Separate instruction, data caches. °MMU. °Timers. °Scan-based debug support.

Lecture 11: FPGA-Based System Design October 18, 2004 Summary °Understanding design styles is important for FPGA based design Synchronous design forms an important role °Various interfaces allow FPGAs to communicate with the outside world Bus timing forms a key component °State machine interaction allows for complex testing and debugging Verification plays an important role in FPGA test Both logic and delay testing have roles