Sequential Logic for Synthesis Simulation using ModelSim

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

VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Synchronous Sequential Logic
Registers and Counters
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Analysis of Clocked Sequential Circuits
Registers and Counters. Register Register is built with gates, but has memory. The only type of flip-flop required in this class – the D flip-flop – Has.
Lab 09 :D Flip Flop, Shift Registers and Switch Bounce: Slide 2 Slide 3 The D Flip Flop. 4-Bit Shift Register. Slide 4 Shift Register De-bounce System:
Unit 13 Analysis of Clocked Sequential Circuits Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Lab 5 Shift Registers and Counters Presented By Neha Kumar but while we wait for that to happen…
Shift Registers and Counters By Lakshmi Things that appear hard are normally trivial, If you do the obvious in the obvious way. After all, how “tough”
Sequential Circuit Introduction to Counter
FPGA Design Flow Based on Using Seven-Segment Displays,
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
Computer Organization & Programming Chapter 5 Synchronous Components.
ECE 448: Spring 11 Lab 3 Part 2 Finite State Machines.
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Latches & Flip-Flops.
Introduction to Experiment 6 Internal FPGA Memories, Pseudo Random Number Generator, Advanced Testbenches ECE 448 Spring 2009.
TOPIC : Signature Analysis. Introduction Signature analysis is a compression technique based on the concept of (CRC) Cyclic Redundancy Checking It realized.
ENG2410 Digital Design LAB #7 LAB #7 Sequential Logic Design “Sequence Recognizer” Using both Schematic Capture and VHDL.
ECE 448: Spring 2013 Lab 5 FPGA Design Flow Based on Aldec Active-HDL Fast Reflex Game.
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.
1 Modeling Synchronous Logic Circuits Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
Implementing Combinational
Dr. Clincy Professor of CS
LAB #6 Sequential Logic Design (Flip Flops, Shift Registers)
Greatest Common Divisor
RTL Design Methodology Transition from Pseudocode & Interface
Registers and Counters
Hardware Testing and Designing for Testability
COMP541 Sequential Logic – 2: Finite State Machines
Sequential Logic Counters and Registers
Sequential Circuit: Counter
Dr. Clincy Professor of CS
VLSI Testing Lecture 14: Built-In Self-Test
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 2)
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
Implementing Combinational and Sequential Logic in VHDL
ECE 434 Advanced Digital System L12
Introduction to ModelSim Implementing Sequential
RTL Design Methodology
Sequential circuits and Digital System Reliability
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
ECE 545—Digital System Design with VHDL Lecture 1
ECE 3130 – Digital Electronics and Design
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Implementing Combinational
A register design with parallel load input
Sungho Kang Yonsei University
ECE 448 Lab 1 Developing Effective Testbenches
Sequential Logic for Synthesis Based on Aldec Active-HDL
Implementing Combinational and Sequential Logic in VHDL
Switching Theory and Logic Design Chapter 5:
Based on Xilinx ISE & ModelSim
RTL Design Methodology
Lecture 26 Logic BIST Architectures
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
RTL Design Methodology Transition from Pseudocode & Interface
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
Outline Registers Counters 5/11/2019.
Registers and Counters
ECE 448 Lab 3 – Part 1 FPGA Design Flow Based on
ECE 448: Spring 2018 Lab 3 – Part 2 Design of Controllers
Sequntial-Circuit Building Blocks
Presentation transcript:

Sequential Logic for Synthesis Simulation using ModelSim ECE 448: Spring 13 Lab 3 Sequential Logic for Synthesis Simulation using ModelSim Add design flow from lecture 1 Why are we interested in PRNG Generate with R=8 Reduce PRNG to 3 slides: purpose, GIF, example Add Loading circuit for PRNG

Agenda for today Part 1: Introduction to Lab 3 Top-level circuit LFSR MISR Debouncer Edge Detector Part 2: Hands-on Session: Simulation Using ModelSim Part 3: Demos of Lab 2

Part 1 Introduction to Lab 3 ECE 448 – FPGA and ASIC Design with VHDL

Top-Level Circuit 4

LAB2 A B X Y sel En ‘0’ LFSR CNTR UP = X”3FF” ≠ 0 MISR rst clk en ld 8 IVB loadB OR nexti 1 cnz IVA loadA LAB2 A B X Y sel En ‘0’ YSGN next XSGN 10 k k9..8 2 k7..0 ≠ 0 = X”3FF” done AND not done step run

Source of Inputs & Display of Outputs (to be experimentally tested in Lab 4) Used to display XSGN, YSGN Used to enter IVA, IVB Used to generate loadA, loadB, step, run

Connection of Buttons to the Pins of FPGA

Generation of Inputs Using Buttons RESET BTNL BTNR BTNU BTNS Debouncer RED loadA loadB step rst run D Q ‘1’ en clk RED = Rising Edge Detector

Pseudo-Random Number Generators Implemented Using LFSRs 9

PRNG Generates a sequence of numbers that approximates the properties of random numbers. The sequence is fully deterministic, i.e., it can be repeated based on an initial state of PRNG. The period of the sequence may be made very large (typically, 2n-1, where n is an internal state size)

PRNG Random Numbers are often important Testing of VLSI circuits Cryptography Monte Carlo simulations Noise addition Bit error detection, and many other applications

Linear Feedback Shift Register (LFSR) Each stage = D flip-flop  L, C(D)  Length Connection polynomial, C(D) C(D) = 1 + c1D + c2D2 + . . . + cLDL

sj = c1sj-1  c2sj-2  . . .  cL-1sj-(L-1)  cLsj-L Initial state [sL-1, sL-2, . . . , s1, s0] LSFR recursion: sj = c1sj-1  c2sj-2  . . .  cL-1sj-(L-1)  cLsj-L for j  L

Example of LFSR  4, 1+D+D4 Length Connection polynomial, C(D) C(D) = 1 + 1D + 0D2 + 0D3 + 1D4 c1=1 c2=0 c3=0 c4=1

LFSR State Sequence s4 s3 s2 s1 s0 s4 = c1s3  c2s2  c3s1  c4s0 = s3  s0

LFSR to be used in Lab 3 Selected to make a period = 28-1 = 255  8, 1+D4+D5+D6+D8 Length Connection polynomial, C(D) Selected to make a period = 28-1 = 255

Initializing Serial Shift Register with Parallel Load Sin D Q D Q D Q D Q Clock Enable Q(3) Q(2) Q(1) Q(0) Hint: Use similar technique for initializing LFSR

Multiple Input Signature Register MISR 18

MISR is used to compress multiple inputs D MISR - Multiple Input Signature Register D7 D6 D5 D4 D3 D2 D1 D0 rst rst rst rst rst rst rst rst rst rst rst rst rst rst rst rst D Q D Q D Q D Q D Q D Q D Q D Q en en en en en en en en en Q7 en Q6 en Q5 en Q4 en Q3 en Q2 en Q1 en Q0 AND C7 AND C6 AND C5 AND C4 AND C3 AND C2 AND C1 AND C0 MISR is used to compress multiple inputs D to a single signature Q C=C7..C0 should be declared as a generic in VHDL code For the purpose of testing set C=X”B8”

Debouncer 20

Debouncer Capacitance in the button and contacts “bouncing” causes spurs that cause false positives. A debouncing circuit removes these spurs. This graphs shows releasing a button.

Debouncer When the first change is detected, we ignore all subsequent changes for some period of time, preferably until all of the bouncing would have occurred. This is usually in the order of ms.

Debouncer Debouncer reset output input clk

Debouncer

Rising Edge Detector RED 25

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 output clk clk input output

Simulation Using ModelSim Part 2 Hands-on Session Simulation Using ModelSim ECE 448 – FPGA and ASIC Design with VHDL

Hands-on Session on ModelSim using four_bit_counter based on JK flip-flops

Part 3 Lab 2 Demos ECE 448 – FPGA and ASIC Design with VHDL