ECE 448: Spring 2018 Lab 3 – Part 2 FPGA Design Flow Based on

Slides:



Advertisements
Similar presentations
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Advertisements

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.
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.
Lecture 9 RTL Design Methodology Sorting Example.
FPGA Design Flow Based on Using Seven-Segment Displays,
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
displayCtrlr Specification
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
ECE 448: Spring 11 Lab 3 Part 2 Finite State Machines.
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.
LAB #5 Modular Design and Hierarchy using VHDL
Introduction to the FPGA and Labs
Implementing Combinational
DE2-115 Control Panel - Part I
Greatest Common Divisor
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
Introduction to ModelSim Implementing Sequential
RTL Design Methodology
Lecture 18 SORTING in Hardware.
Developing More Advanced Testbenches
Analog-to-Digital Converters
Block Diagrams 1.
ECE 448: Spring 2015 Lab 3 FPGA Design Flow Based on Aldec Active-HDL.
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.
Implementing Combinational
RTL Design Methodology Transition from Pseudocode & Interface
Sequential Logic for Synthesis Based on Aldec Active-HDL
Dr. Tassadaq Hussain Introduction to Verilog – Part-3 Expressing Sequential Circuits and FSM.
ECE 545 Remaining Tasks.
Lecture 13 PicoBlaze I/O & Interrupt Interface
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
Pipelined Array Multiplier Aldec Active-HDL Design Flow
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
ECE 448: Spring 2018 Lab 3 – Part 2 Design of Controllers
RTL Design Methodology
Presentation transcript:

ECE 448: Spring 2018 Lab 3 – Part 2 FPGA Design Flow Based on Xilinx Vivado and ModelSim Intel FPGA. Using Seven-Segment Displays, Buttons, and Switches. Design of Controllers Using FSMs.

Agenda for Today Part 1: Post-synthesis and Timing Simulation using Vivado Simulator Part 2: Introduction to FPGA Design Flow based on Xilinx Vivado and ModelSim Intel FPGA. Part 3: Discussion of Solutions to Class Exercise 1 Part 4: 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

Xilinx Vivado and ModelSim Intel FPGA Part 2 Hands-on Session on FPGA Design Flow based on Xilinx Vivado and ModelSim Intel FPGA 4

Discussion of Solutions to Part 3 Discussion of Solutions to Class Exercise 1 5

Part 4 Introduction to Class Exercise 2 6

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