EE544/AEEE561 – Advanced Digital Systems Design Dr. Konstantinos Tatas

Slides:



Advertisements
Similar presentations
Finite State Machines (FSMs)
Advertisements

1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Chapter 7 Henry Hexmoor Registers and RTL
Give qualifications of instructors: DAP
التصميم المنطقي Second Course
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
Circuits require memory to store intermediate data
EKT 221 : Digital 2 ASM.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
The Map Method Boolean expressions may be simplified by algebraic means as discussed in Previous lecture However, this procedure of minimization is awkward.
Design at the Register Transfer Level
3/20/20091 More State Machines. Multiple processes.
The Control Unit: Sequencing the Processor Control Unit: –provides control signals that activate the various microoperations in the datapath the select.
Give qualifications of instructors: DAP
Overview Sequential Circuit Design Specification Formulation
FINITE STATE MACHINES (FSMs) Dr. Konstantinos Tatas.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
1 Synchronous Sequential Circuit Analysis. 2 Synchronous Sequential Circuit State Memory – A set of n edge-triggered flip-flops that store the current.
So far, all of the logic circuits we have studied were basically based on the analysis and design of combinational digital circuits. The other major aspect.
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
Chapter 12 Digital Logic Circuit Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
ACOE1611 Data Representation and Numbering Systems Dr. Costas Kyriacou and Dr. Konstantinos Tatas.
Digital Computer Design Fundamental
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
COE 202: Digital Logic Design Sequential Circuits Part 1
ECE 2372 Modern Digital System Design
MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5) Dr. Costas Kyriacou and Dr. Konstantinos Tatas ACOE161 - Digital Logic.
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
Chap 4. Sequential Circuits
CPEN Digital System Design Chapter 5 - Sequential Circuits Sequential Circuit Design C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed.,
ACOE361 – Digital Systems Design. Useful information Instructor: Lecturer K. Tatas Office hours: Mo5, Tu3, We6-8, Fri5 Prerequisites: ACOE201 (ACOE161)
FINITE STATE MACHINES (FSMs)
AEEE2031 Data Representation and Numbering Systems.
ANALYSIS OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
Algorithmic state machines
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Introduction to ASIC flow and Verilog HDL
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Binary Numbers For digital systems, the.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ASM Charts. Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Design at the Register Transfer Level Algorithmic State Machines 07.
ACOE161 (Spring2007)MSI Devices1 Revision on MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5)
Lecture #17: Clocked Synchronous State-Machine Analysis
4.
ANALYSIS OF SEQUENTIAL CIRCUITS
FIGURE 5.1 Block diagram of sequential circuit
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
FINITE STATE MACHINES (FSMs)
Instructor: Alexander Stoytchev
Digital Design Fundamentals
Iterative Versus Sequential Circuits
Instructor: Alexander Stoytchev
REGISTER TRANSFER LEVEL (RTL) DESIGN Using ASM CHART
KU College of Engineering Elec 204: Digital Systems Design
Instructor: Alexander Stoytchev
FINITE STATE MACHINES.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Digital Electronics and Logic Design
Presentation transcript:

EE544/AEEE561 – Advanced Digital Systems Design Dr. Konstantinos Tatas

Outcomes Understand all steps in the digital system design and implementation process. design digital systems using Hardware Description Languages Identify the available design, synthesis and implementation options and trade-offs between performance, area and power consumption develop testbenches to verify their designs Identify and resolve possible metastability and synchronization issues in digital design Incorporate design reuse practices into their designs Use EDA tools to implement digital systems in FPGA technology Keep up with current developments in digital design methodologies and tools

Course Outline Combinational and sequential design practices – State machines, Synchronous and asynchronous design. Synchronous Design Methodology – Clock skew – Asynchronous inputs – Clock Gating - Metastability – Reliable Synchronization of high-speed data transfers Design for performance, design for area, design for low power consumption RTL design using Hardware Description Languages – Verilog Digital system verification – Simulation (event- based/cycle-based/transaction-based/emulation/AMS simulation) – Equivalence checking – Static timing verification – Rapid prototyping RTL Synthesis for ASIC and FPGAs - RTL coding practices for synthesis Hardware accelerators – IP block design for reuse Testing and Design for Testability (DFT) fundamentals – Built-In Self-Test (BIST)

Textbooks and References J. F. Wakerly, Digital Design: Principles and Practices, Prentice Hall, Michael D. Ciletti, “Advanced Digital Design with the Verilog HDL”, Prentice Hall, 2004 Michael Keating, Russell John Rickford, Pierre Bricaud, “Reuse Methodology Manual for System-On-A-Chip Designs”, Springer, 2006Michael KeatingRussell John Rickford Pierre Bricaud

Assessment Exam: 40% Assignment 1: Paper writing/review (25%) Assignment 2: Group project (25%) Test: 10%

Weekly Breakdown Week 1: Digital Revision Week 2: Synchronous Design Week 3: Design flow – Paper review assignment Week 4: Verilog Week 5: Verilog Week 6: Verilog /paper review presentation Week 7: Verification Week 8: Test Week 9: Logic Synthesis/Design for reuse Week 10: Assignment/Group project specifications Week 11: Assignment/Group project review – Case study part 1 Week 12: Assignment/Group project review – Case study part 2 Week 13: Assignment/Group project assessment - Revision

The Binary Numbering System Digital systems and computers use the Binary system because it has only two states (0 and 1) A number in the Binary system is expressed by the following expression: Examples: (1011) 2 = (1 X 2 3 )+(0 X 2 2 )+(1 X 2 1 ) +(1 X 2 0 ) = = (11) 10 (10110) 2 = (1 X 2 4 )+(0 X 2 3 )+(1 X 2 2 ) +(1 X 2 1 ) +(0 X 2 0 ) = = (22) 10 (101100) 2 =(1 X 2 5 )+(0 X 2 4 )+(1 X 2 3 )+(1 X 2 2 )+(0 X 2 1 )+(0 X 2 0 )= = (44) 10 (d n d n-1 …d 1 d 0 ) 2 = (d n X 2 n )+ (d n-1 X 2 n-1 ) + …+ (d 1 X 2 1 ) +( d 0 X 2 0 ) Where d = {0,1}

The Binary Numbering System (Cont.) A binary digit is called the BIT (BInary digiT). A group of eight bits is called the BYTE. The leftmost bit of a number is called the Most Significant Bit (MSB). The rightmost bit of a number is called the Least Significant Bit (LSB). A binary system with N bits can represent the numbers from 0 to 2 N -1. In a binary system with N digits there are 2 N different combinations. A binary number is multiplied by two, if we append a zero at the LSB. Prefixes in the binary system: 2 10 = 1,024 = 1K (Kilo) 2 20 = 1,024 X 1,024 = 1,048,576 = 1M (Mega) 2 30 = 1G (Giga) 2 40 = 1T (Tera) Powers of 2: 2 0 = = = = = = = = = = =1024=1 K 2 16 = 65536

Negative Number Representation: Two’s Complement If the number is positive then the two’s complement is the same as the SM. If the number is negative then the two’s complement is obtained by adding 1to the magnitude bits of the one’s complement. The sign bit is unchanged. The two’s complement is widely used in computers to represent signed integers. In most languages such as Pascal and C an integer variable is represented in a 16-bit two’s complement representation.

Basic Logic Gates Truth Table Logic Expression Gate Symbol Logic Function

Basic Logic Gates with Inverted Outputs

Circuit Implementation of a Logic Expression with Gates

Truth Tables Truth table of a logic circuit is a table showing all the possible input combinations with the corresponding value of the output. Examples:

Logic expression and truth table of a logic circuit

Analyzing a logic circuit using timing diagrams Logic 0 Logic 1

Decoders A decoder is a combinational digital circuit with a number of inputs ‘n’ and a number of outputs ‘m’, where m= 2 n Only one of the outputs is enabled at a time. The output enabled is the one specified by the binary number formed at the inputs of the decoder. On the circuit below, the inputs of the decoder are connected on three switches, forming the number 5 [(101) 2 ], thus only LED #5 will be ON

2 to 4 Line Decoder:

Internal structure of a 2-to-1 multiplexer. The design of a 2-to-1 multiplexer is shown below. If S=0 then the output “Y” has the same value as the input “I0” If S=1 then the output “Y” has the same value as the input “I1”

4-to-1 Multiplexer (MUX) S1S0O 00I0 01I1 10I2 11I3

1-bit Full Adder

4-bit Full Adder (Ripple-Carry Adder) To obtain a 4-bit full adder we cascade four 1-bit full adders, by connecting the Carry Out bit of bit column M to the Carry In of the bit column M+1, as shown below. The Carry In of the Least Significant column is set to zero. Example: Find the bit values of the outputs {Cout,S3..S0} of the full adder shown below, if {A3..A0 = 1011} and {B3..B0 = 0111}.

Review questions How many input/output signals are present in a –5-to-32 decoder? –32-to-1 MUX? –32-bit Ripple-Carry Adder (RCA)? How many 2-to-1 MUXs are required to build a 32-to-1 MUX? Design a logic unit with 2 data inputs (A, B), three select inputs (S2, S1, S0) and the following specifications: S2S1S0O 000A AND B 001A OR B 010A XOR B 011A NAND B 100A NOR B 101A XNOR B 110A΄A΄ 111B΄B΄

The Toggle (T) Edge Triggered Flip Flop The T edge triggered flip flop can be obtained by connecting the J with the K inputs of a JK flip directly. When T is zero then both J and K are zero and the Q output does not change. When T is one then both J and K are one and the Q output will change to the opposite state, or toggle.

D and T Edge Triggered Flip Flops :- Example Complete the timing diagrams for : (a)Positive Edge Triggered D Flip Flop (b)Positive Edge Triggered T Flip Flop (c)Negative Edge Triggered T Flip Flop (d)Negative Edge Triggered D Flip Flop

Finite state machine block diagram State memory: Set of n flip-flops that hold the state of the machine (up to 2^n distinct states) Next state logic: Combinational circuit that determines the next state as a function of the current state and the input Output logic: Combinational circuit that determines the output as a function of the current state and the input

Finite State Machine types Mealy machine: The output depends on the current state and input Moore machine: The output depends only on the current state –State = output state machine: A Moore type FSM where the current state is the output

State diagram A state diagram represents the states as circles and the transitions between them as arrows annotated with inputs and outputs

Analysis of FSMs with D flip-flops Determine the next state and output functions Use the functions to create a state/output table that specifies every possible next state and output for any combination of current state and input

EXAMPLE

Next state equations and state table for example A+=Ax+Bx B+=A΄x Y=(A+B)x΄ ABxA+B+y

A+=Ax+Bx B+=A΄x Y=(A+B)x΄ ABxA+B+y

Sequential circuit design methodology From the description of the functionality or the state/timing diagram find the state table Encode the states if the state table contains letters Find the necessary number of flip-flops Select flip/flop type From the state table, find the excitation tables and output tables Using Karnaugh maps find the flip-flop input logic expressions Draw the circuit logic diagram

Often we have to implement an algorithm in hardware instead of software Algorithm is a well defined procedure consisting of a finite number of steps to the solution of a problem. It is often hard to translate the algorithm into an FSM. ASMs can serve as stand-alone sequential network model. Algorithm Implementation

Algorithmic State Machine Used to graphically describe the operations of an FSM more concisely Resembles conventional flowcharts – differs in interpretation. Conventional flowchart – sequential way of representing procedural steps and decision paths for algorithm -No time relations incorporated ASM chart – representation of sequence of events together with timing relations between states of sequential controller and events occurring while moving between steps

ASM Chart Three basic elements: state box, decision box and conditional box -State and decision boxes used in conventional flowcharts -Conditional box characteristic to ASM State box -Used to indicate states in control sequence Register operations and output signals used to control generation of next state written

State box Represents one state in the ASM. May have an optional state output list. Single entry. Single exit to state or decision boxes.

State Box State name T3 Binary code of T3 – 011 Register operation R <- 0 START – name of outputs signal generated in this stage

Decision box Provides for next alternatives and conditional outputs. Conditional output based on logic value of Boolean expression involving external input variables and status information. Single entry. Dual exit, denoting if Boolean expression is true or false. Exits to decision, state or conditional boxes.

Decision Box Input condition subject to test inside diamond shape box Two or more outputs represent exit paths dependant on value of condition in decision box Two paths for binary based conditions

Conditional output box Provides a listing of output variables that are to have a value logic-1, i.e., those output variables being asserted. Single entry from decision box. Single exit to decision or state box.

In state T1 Output signal START generated Status of input E checked If E = 1, R <- 0, otherwise remains unchanged Conditional operation executed depending on result of coming from decision box Conditional Box

ASM Block Consists of the interconnection of a single state box along with one or more decision and/or conditional boxes. It has one entry path which leads directly to its state box, and one or more exit paths. Each exit path must lead directly to a state, including the state box in itself. A path through an ASM block from its state box to an exit path is called a link path.

Timing Considerations All sequential elements in datapath and control path controlled by master-clock generator. Does not necessarily imply single clock in design. Multiple clocks can be obtained through division of clock signals from master-clock generator. Not only internal signals, but also inputs synchronized with clock. Normally, inputs supplied by other devices working with the same master clock. Some inputs can arrive asynchronously Difficult to handle by synchronous designs, require asynchronous glue-logic.

In conventional flowchart, evaluation of each chart element takes one clock cycle Step 1: Reg A incremented Step 2: Condition E evaluated Step 3: Based on evaluation results, state T2, T3 or T4 entered In ASM the entire block considered as one unit All operations within block occurring during single edge transition The next state evaluated during the same clock System enters next state T2, T3 or T4 during transition of next clock ASM Block

An ASM block describes the operation of the system during the state time in which it is in the state associated with the block. The outputs listed in the state box are asserted. The conditions indicated in the decision boxes are evaluated simultaneously to determine which link path is to be followed. If a conditional box is found in the selected path then the outputs found in its output list are asserted. Boolean expression may be written for each link path. The selected link paths are those that evaluate to logic-1.

Example 2 Extract the FSM diagram from the ASM diagram