ECE 448: Spring 2018 Lab 3 – Part 2 Design of Controllers

Slides:



Advertisements
Similar presentations
Tutorial 2 Sequential Logic. Registers A register is basically a D Flip-Flop A D Flip Flop has 3 basic ports. D, Q, and Clock.
Advertisements

Midterms Exam – Fall 2011 Solutions. Solution to Task 1.
6/12/20151 Sequence Detectors Lecture Notes – Lab 4 Sequence detection is the act of recognizing a predefined series of inputs A sequence detector is a.
Generate a clock pulse clk inp outp
3/13/20081 Lab 6 Solution Part 1: Design a sequence detector for the sequence “00101” Part 2: a b See sm1.vhdSee sm2.vhd See seq1.vhd.
ECE 448: Spring 12 Lab 4 – Part 2 Finite State Machines Basys2 FPGA Board.
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
Lecture 9 RTL Design Methodology Sorting Example.
FPGA Design Flow Based on Using Seven-Segment Displays,
University of Houston ECE 5440/6370 Advanced Digital Design Lecture on Debouncing Circuit Yuhua Chen Spring 2010.
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
ECE 448: Spring 11 Lab 3 Part 2 Finite State Machines.
Lecture 9 RTL Design Methodology. Structure of a Typical Digital System Datapath (Execution Unit) Controller (Control Unit) Data Inputs Data Outputs Control.
RTL Design Methodology Transition from Pseudocode & Interface
CEC 220 Digital Circuit Design Latches and Flip-Flops Monday, March 03 CEC 220 Digital Circuit Design Slide 1 of 19.
Lecture 5B Block Diagrams HASH Example.
Lecture 3 RTL Design Methodology Transition from Pseudocode & Interface to a Corresponding Block Diagram.
CEC 220 Digital Circuit Design Dice Game Wed, April 06 CEC 220 Digital Circuit Design Slide 1 of 15.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
ECE 448: Spring 2013 Lab 5 FPGA Design Flow Based on Aldec Active-HDL Fast Reflex Game.
Flip Flops 4.1 Latches and Flip-Flops 4 ©Paul Godin Created September 2007 Last edit Sept 2009.
George Mason University Design of Controllers using Algorithmic State Machine (ASM) Charts ECE 545 Lecture 12.
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and ISim. Using Seven-Segment Displays, Buttons, and Switches.
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and Isim. Using Seven-Segment Displays, Buttons, and Switches.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Implementing Combinational
Greatest Common Divisor
Class Exercise 1B.
RTL Design Methodology Transition from Pseudocode & Interface
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Revision2 for CENG34340 (Self study exercise no need to submit)
Hash Function Performance Metrics
ECEN 248 Lab 9: Design of a Traffic Light Controller
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
RTL Design Methodology
RTL Design Methodology
Implementing Combinational and Sequential Logic in VHDL
Pulse-Width Modulation (PWM)
Introduction to ModelSim Implementing Sequential
RTL Design Methodology
Lecture 18 SORTING in Hardware.
Developing More Advanced Testbenches
Block Diagrams 1.
ECE 448: Spring 2015 Lab 3 FPGA Design Flow Based on Aldec Active-HDL.
ECE 448: Spring 2018 Lab 3 – Part 2 FPGA Design Flow Based on
EE4OI4 Engineering Design
Sequential Logic for Synthesis Simulation using ModelSim
Test Fixture (Testbench)
ECE 545 Lecture 11 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts.
Counting the Score - BBC micro:bit Quiz Counter
Implementing Combinational
RTL Design Methodology Transition from Pseudocode & Interface
Sequential Logic for Synthesis Based on Aldec Active-HDL
Programmable Logic Controllers (PLCs)
Based on Xilinx ISE & ModelSim
RTL Design Methodology
RTL Design Methodology Transition from Pseudocode & Interface
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
RTL Design Methodology
RTL Design Methodology Transition from Pseudocode & Interface
RTL Design Methodology
RTL Design Methodology
ECE 448 Lab 3 – Part 1 FPGA Design Flow Based on
RTL Design Methodology Transition from Pseudocode & Interface
RTL Design Methodology
RTL Design Methodology
RTL Design Methodology
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ECE 448 Lab 3 – Part 1 FPGA Design Flow Based on
RTL Design Methodology
Presentation transcript:

ECE 448: Spring 2018 Lab 3 – Part 2 Design of Controllers Using ASM Charts

Agenda for Today Part 1: Post-synthesis and Timing Simulation using Vivado Simulator Part 2: Discussion of Solutions to Class Exercise 1 Part 3: Introduction to Class Exercise 2 2

Post-synthesis and Timing Simulation Using Vivado Simulator Part 1 Hands-on Session on Post-synthesis and Timing Simulation Using Vivado Simulator 3

Discussion of Solutions to Part 2 Discussion of Solutions to Class Exercise 1 4

Part 3 Introduction to Class Exercise 2 5

Block diagram of the core of the DATAPATH rst rst clk clk

SSD_DRIVER SEG(6..0) Counter UP q(k-1..k-2) Counter UP Counter UP clk AN OC Counter UP rst OC – One’s Complement

Debouncing Buttons key bounce tBOUNCE key bounce tBOUNCE pulse width Bouncing period typically smaller than 10 ms. Pulse width typically greater than 200-500 ms.

to Generate Short Pulses (1) Using DEBOUNCE_RED to Generate Short Pulses (1) RED – Rising Edge Detector

to Generate Short Pulses (2) Using DEBOUNCE_RED to Generate Short Pulses (2)

Debouncer Debouncer reset output input clk

Debouncer

k and DD Generics k - width of the counter used to measure the debouncing period DD - debouncing period in clock cycles Values of generics given on the next slide assume that the clock frequency = 100 MHz and thus clock period = 10 ns.

k and DD Generics Option 1 (value used for simulation only): DD = 100 assuming bouncing period < 1 μs = 1000 ns condition: DD*10ns = 1000 ns => DD = 100 k=7 because 2^7 > 100 Option 2 (values used for synthesis, implementation, and experimental testing): DD = 1000000 assuming bouncing period = 10 ms condition: DD*10ns = 10ms => DD = 1,000,000 k=20 because 2^20 > 1,000,000

Rising Edge Detector - RED Turn a step function into an impulse Allows a step to run a circuit for only one clock cycle

Rising Edge Detector reset input q output clk clk input q output

Input & Output Interfaces included in the Datapath Approach 1 Input & Output Interfaces included in the Datapath

clk SSD_DRIVER rst SEG AN clk enc rst ldc = 1s time_out BTNC BTNCp 4 4 4 4 hex3 hex2 hex1 hex0 clk clk D en enc SSD_DRIVER rst rst Q ld ldc 7 4 = 1s time_out SEG AN

Structure of a Typical Digital System Data Inputs Control & Status Inputs Control Signals Datapath (Execution Unit) Controller (Control Unit) Status Signals Data Outputs Control & Status Outputs

DATAPATH CONTROLLER BTNU BTNL clk rst BTNC BTNS BTND BTNR BTNCp BTNSp BTNUp BTNDp BTNLp BTNRp DATAPATH CONTROLLER time_out subtract en sel 2 sel_out enc ldc 7 4 SEG AN

ASM Charts ldc enc , enc p BTNCp p p p BTNCp p p

Input & Output Interfaces Approach 2 Separate Input & Output Interfaces

of the INPUT_INTERFACE BTNC BTNCp Block diagram of the INPUT_INTERFACE

of the OUTPUT_INTERFACE hex_out Block diagram of the OUTPUT_INTERFACE 16 4 4 4 4 hex3 hex2 hex1 hex0 clk SSD_DRIVER rst 7 4 SEG AN

Block diagram of the DATAPATH rst clk clk D en enc rst ld ldc Q = 1s time_out

DATAPATH CONTROLLER INPUT_INTERFACE OUTPUT_INTERFACE BTNU BTNL BTNS BTNC BTNS BTND BTNR clk rst INPUT_INTERFACE BTNUp BTNLp time_out BTNCp BTNSp BTNDp BTNRp subtract en DATAPATH sel 2 CONTROLLER sel_out enc ldc 16 hex_out clk OUTPUT_INTERFACE rst 7 4 SEG AN

ASM Charts ldc enc , enc p BTNCp p p p BTNCp p p