ASM Charts. Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital.

Slides:



Advertisements
Similar presentations
CS1104 – Computer Organization
Advertisements

Algorithmic State Machines SD192 Digital Systems Lecture notes July 16, 2004.
General Sequential Design
Register Transfer Level
1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Give qualifications of instructors: DAP
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Chapter 6 Digital System Design Digital Systems and Logic Designs.
EKT 221 : Digital 2 ASM.
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Overview Datapath and Control Algorithmic State Machines (ASM)
Chapter 8 Sequencing and Control Henry Hexmoor1. 2 Datapath versus Control unit  Datapath - performs data transfer and processing operations  Control.
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.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
ENGIN112 L27: Counters November 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 27 Counters.
CS370 Counters. Overview °Counter: A register that goes through a prescribed series of states °Counters are important components in computers. °Counters.
FINITE STATE MACHINES (FSMs) Dr. Konstantinos Tatas.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
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)
Sequential Circuit Introduction to Counter
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
Counters  A counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship.
Counters.
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
T Flip-Flop A T (toggle) flip-flop is a complementing flip-flop and can be obtained from a JK flip-flop when the two inputs are tied together. When T =
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Implementing the Controller. Outline  Implementing the Controller  With JK Flip-flops  Decoder + D flip-flops  One Flip-flop per State  Multiplexers.
Rabie A. Ramadan Lecture 3
P. 4.1 Digital Technology and Computer Fundamentals Chapter 4 Digital Components.
IKI Register-transfer Design
COE 405 Digital System Design Based on Data Path and Control Unit Partitioning Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University.
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
Introduction to Sequential Logic Design Flip-flops FSM Analysis.
Introduction to Sequential Logic Design Finite State-Machine Design.
1 Lecture #12 EGR 277 – Digital Logic Synchronous Logic Circuits versus Combinational Logic Circuits A) Combinational Logic Circuits Recall that there.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 17 Dr. Shi Dept. of Electrical and Computer Engineering.
Registers and Counters Chapter 6. Digital Circuits 2 Clocked sequential circuits a group of flip-flops and combinational gates connected to form a feedback.
1 © 2014 B. Wilkinson Modification date: Dec Sequential Logic Circuits Previously, we described the basic building blocks of sequential circuits,
Register Transfer Level & Design with ASM
Fall 2004EE 3563 Digital Systems Design EE3563 Chapter 7, 8, 10 Reading Assignments  7.1, 7.2, 7.3  8.1, ,   8.5.1, 8.5.2,
Counters - II. Outline  Synchronous (Parallel) Counters  Up/Down Synchronous Counters  Designing Synchronous Counters  Decoding A Counter  Counters.
Digital Logic Design.
EKT 221/4 DIGITAL ELECTRONICS II Chapter 2 SEQUENCING AND CONTROL.
Algorithmic state machines
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
Chapter 6 Digital System Design Digital Systems and Logic Designs.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
Synchronous Counter Design
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #3 Flip-Flops, Registers, Shift registers, Counters, Memory 3/3/2005.
3 BIT DOWN COUNTER SUBJECT: DIGITAL ELECTONICS CODE: COLLEGE: BVM ENGINEERING COLLEGE COLLEGE CODE:008 ELECTRONICS & TELECOMMUNICATION DEPT.
5.3 Sequential Circuits - An Introduction to Informatics WMN Lab. Hey-Jin Lee.
Design at the Register Transfer Level Algorithmic State Machines 07.
Partitioning of a digital system.
EMT 351/4 DIGITAL IC DESIGN Verilog Behavioral Modeling  Finite State Machine -Moore & Mealy Machine -State Encoding Techniques.
Pusat Pengajian Kejuruteraan Mikroelektronik EMT 351/4 DIGITAL IC DESIGN Verilog Behavioural Modeling (Part 4) Week #
Partitioning of a digital system.
Digital Principles and Design Algorithmic State Machines
Iterative Versus Sequential Circuits
Dr. Aiman H. El-Maleh Computer Engineering Department
MTE 202, Summer 2016 Digital Circuits Dr.-Ing. Saleh Hussin
REGISTER TRANSFER LEVEL (RTL) DESIGN Using ASM CHART
KU College of Engineering Elec 204: Digital Systems Design
Digital Logic Department of CNET Chapter-6
Digital Logic Department of CNET Chapter-6
Chapter5: Synchronous Sequential Logic – Part 4
Chapter5: Synchronous Sequential Logic – Part 3
Presentation transcript:

ASM Charts

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

ASM Charts  Algorithmic State Machine (ASM) Chart is a high-level flowchart-like notation to specify the hardware algorithms in digital systems.  Major differences from flowcharts are:  uses 3 types of boxes: state box (similar to operation box), decision box and conditional box  contains exact (or precise) timing information; flowcharts impose a relative timing order for the operations.  From the ASM chart it is possible to obtain  the control  the architecture (data processor)

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

Components of ASM Charts  The state box is rectangular in shape. It has at most one entry point and one exit point and is used to specify one or more operations which could be simultaneously completed in one clock cycle. one or more operations state binary code

Components of ASM Charts  The decision box is diamond in shape. It has one entry point but multiple exit points and is used to specify a number of alternative paths that can be followed. deciding factors

Components of ASM Charts  The conditional box is represented by a rectangle with rounded corners. It always follows a decision box and contains one or more conditional operations that are only invoked when the path containing the conditional box is selected by the decision box. conditional operations

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

ASM Charts: An Example  An example: Initial state S A  0 F  0 A  A + 1 A2A2 E  0E  1 A3A3 F  T2T2 T1T1 T0T0 A is a register; A i stands for i th bit of the A register. A = A 4 A 3 A 2 A 1 E and F are single-bit flip-flops.

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

Register Operations  Registers are present in the data processor for storing and processing data. Flip-flops (1-bit registers) and memories (set of registers) are also considered as registers.  The register operations are specified in either the state and/or conditional boxes, and are written in the form: destination register  function(other registers) where the LHS contains a destination register (or part of one) and the RHS is some function over one or more of the available registers.

Register Operations  Examples of register operations: A  BTransfer contents of register B into register A. A  0Clear register A. A  A  1Decrement register A by 1.

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

Timing in ASM Charts  Precise timing is implicitly present in ASM charts.  Each state box, together with its immediately following decision and conditional boxes, occurs within one clock cycle.  A group of boxes which occur within a single clock cycle is called an ASM block.

Timing in ASM Charts 3 ASM blocks Initial state S A  0 F  0 A  A + 1 A2A2 E  0E  1 A3A3 F  T2T2 T1T1 T0T0

Timing in ASM Charts  Operations of ASM can be illustrated through a timing diagram.  Two factors which must be considered are  operations in an ASM block occur at the same time in one clock cycle  decision boxes are dependent on the status of the previous clock cycle (that is, they do not depend on operations of current block)

Timing in ASM Charts Operations A0F0A0F0 A  A+1 E  0 A  A+1 E  0 A  A+1 E  1 A  A+1 E  1 A  A+1 E  0 A  A+1 E  0 A  A+1 E  1 F1F1 A = A 4 A 3 A 2 A 1

Timing in ASM Charts A = A 4 A 3 A 2 A 1 Initial state S A  0 F  0 A  A + 1 A2A2 E  0E  1 A3A3 F  T2T2 T1T1 T0T0 Operations A0F0A0F0 A  A+1 E  0 A  A+1 E  0 A  A+1 E  1 A  A+1 E  1 A  A+1 E  0 A  A+1 E  0 A  A+1 E  1 F1F1 Operations

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

ASM Chart => Digital System  ASM chart describes a digital system. From ASM chart, we may obtain:  Controller logic (via State Table/Diagram)  Architecture/Data Processor  Design of controller is determined from the decision boxes and the required state transitions.  Design requirements of data processor can be obtained from the operations specified with the state and conditional boxes.

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

ASM Chart => Controller  Procedure:  Step 1: Identify all states and assign suitable codes.  Step 2: Draw state diagram.  Step 3: Formulate state table using State from state boxes Inputs from decision boxes Outputs from operations of state/conditional boxes.  Step 4: Obtain state/output equations and draw circuit.

ASM Chart => Controller Initial state S A  0 F  0 A  A + 1 A2A2 E  0E  1 A3A3 F  T2T2 T1T1 T0T0 T0T0 T1T1 T2T2 Assign codes to states: T 0 = 00 T 1 = 01 T 2 = 11 Inputs from conditions in decision boxes. Outputs = present state of controller.

Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital System  ASM Charts => Controller  ASM Charts => Architecture/Data Processor

ASM Chart => Architecture/Data Processor  Architecture is more difficult to design than controller.  Nevertheless, it can be deduced from the ASM chart. In particular, the operations from the ASM chart determine:  What registers to use  How they can be connected  What operations to support  How these operations are activated.  Guidelines:  always use high-level units  simplest architecture possible.

ASM Chart => Architecture/Data Processor  Various operations are:  Counter incremented (A  A + 1) when state = T 1.  Counter cleared (A  0) when state = T 0 and S = 1.  E is set (E  1) when state = T 1 and A 2 = 1.  E is cleared (E  0) when state = T 1 and A 2 = 0.  F is set (F  1) when state = T 2.  Deduce:  One 4-bit register A (e.g.: 4-bit synchronous counter with clear/increment).  Two flip-flops needed for E and F (e.g.: JK flip-flops).

ASM Chart => Architecture/Data Processor Controller K J Q K J Q Clk 4-bit syn. counter A A2A2 A1A1 A2A2 A3A3 A3A3 A4A4 start S E F clock CP count clear T2T2 T1T1 T0T0 (A  A + 1) when state = T 1. (A  0) when state = T 0 and S = 1. (E  1) when state = T 1 and A 2 = 1.