Top Banner
Discrete Event Simulation & VHDL Prof. K. J. Hintz Dept. of Electrical and Computer Engineering George Mason University
36

VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

May 12, 2018

Download

Documents

lephuc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

Discrete Event Simulation &VHDL

Prof. K. J. HintzDept. of Electrical and Computer

EngineeringGeorge Mason University

Page 2: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 2

Discrete Event Simulation

■ Material from VHDL Programming withAdvanced Topics by Louis Baker, Wiley,1993

Page 3: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 3

DES & VHDL

■ VHDL is a special case of DES– Not continuous differential equation– Not finite difference equation– DES is discontinuous in time

■ Microprocessor/microcontroller■ Finite State Machine■ Language Recognizer■ Clocked/synchronous devices in general

Page 4: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 4

DES Properties

■ Restricts Allowed Values of Signals■ Restricts Transitions to the Result of

Events, i.e., It Is Causal

Page 5: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 5

Why discuss DES?

■ Understanding Leads to Better and MoreEfficient Use of Simulation

■ Queuing of Transactions May Not ReflectReality Due to Inertial or Transport Delay

■ Not All Simulations Will Be Deterministic– Interrupts– Instruction Mix– Intermediate values causing branching

Page 6: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 6

Two Approaches to DES

■ Event Scheduling– Simulation proceeds from event to event– VHDL

■ Process Interaction– Follows customer through system– Suitable for queuing systems– SIMULA language

Page 7: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 7

Queues

■ Events Ordered in Time■ Many Deletions of Events From Queue

May Be Expected Due to the DefaultInertial Delay

Page 8: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 8

Queues

■ Each Driver Must Maintain ProjectedWaveform– Time and value of most recent event

(s'last_event)– Next scheduled transaction– When event occurs, value before event must be

saved (s'last_value)– Event time (s'last_active)

Page 9: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 9

Queues

■ History of Signals Is NOT Maintained bySimulation Even Though Saved in HistoryFile– Access is only available implicitly

Page 10: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 10

Efficient Simulation

■ Finite Propagation Delay Vice Delta Delay– Finite delay more accurately deflects world, but

requires simulation to check each differentdelay time, therefore slow

– A δ-delay only needs to resolve signals afterone δ-delay, therefore faster

– If all components had same delay, then nodifference

Page 11: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 11

Efficient Simulation

■ Limit Use of INOUT Ports– Use Only When Essential– Usage Limits Error Checking Associated With

Port Modes– Simulation Must Resolve Direction

Page 12: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 12

Efficient Simulation

■ Limit Use of Generics– Generic statements require global storage

■ Minimize Feedback– The More Layers of Feedback There Are, the

More Simulations Are Needed to Resolve theOutput at Its Next State

Page 13: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 13

Internal Event Queues

■ Necessary to Simulate Interaction WithOutside World

■ Signals Cannot Be Used Because TheyCan't Represent External Events Put on aQueue

■ VHDL Allows Coding Your Own EventQueues

Page 14: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 14

Simulation Determinism

■ Deterministic– Microprocessor with no interrupt doing well-

defined task, e.g., boot-up sequence, MSDOSstart for x86

– All inputs to a combinational circuit

Page 15: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 15

Stochastic Simulation

■ More Common■ Economic Simulation

– Truly random #: derived from physical process– Pseudo-random:

■ Generators uniform, zero mean, unit variance■ All other generators can be computed from this

( )1,0U

Page 16: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 16

Stochastic Simulation

■ Random Variables– Empirical: fit to data

■ Component failure, Weibull– No justification, however fits data and easy to manipulate

– Function of known distribution■ Central limit theorem, summation of large number

of RV approaches Gaussian■ Maximum of a number of RV's: Gumbel

Distribution

Page 17: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 17

Stochastic Simulation

■ Variance Reduction Techniques– The greater the variance in results, the less

certain we are of their validity.– There is a square root of N improvement in

variance with N, but not very efficient

Page 18: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 18

Stochastic Simulation

■ Correlated Sampling– Vary design, but use same pseudo-random

sequence of inputs– If 2 designs are equally effective, then the

simulation results should be very similar

Page 19: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 19

Stochastic Simulation

■ Correlated Sampling– Suppose Independent RVs are used to compare

2 designs and P1 and P2 are performancemeasures then a figure of merit , D= P1 - P2 hasvariance

– That is, the more similar the RVs are, thesmaller is σd

( )21222

222

,cov2

t,independennot If

21

21

PPPPD

PPD

−+=

+=

σσσ

σσσ

Page 20: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 20

Stochastic Simulation

■ Antithetic Variables– Simulate using Us(0,1) RV and save value– Generate new sequence based on old by 1-U1,

1-U2, etc.– If Us were particularly good sequences then you

might expect 1-Us to be particularly badsequences

Page 21: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 21

Stochastic Simulation

■ Stratified Sampling– Subdivide sample space into groups with

minimum variance, e.g, computer instructionset

■ distribution associated with business applications■ distribution associated with scientific applications

Page 22: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 22

Stochastic Simulation

■ Importance Sampling– Devote more simulation runs to the sets of

inputs which have greater variance– Assures that enough "rare" events occur to

make sound statistical inferences

Page 23: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 23

Stochastic Simulation

■ Sequential Analysis– Adaptively modify sampling sequence, e.g.,

simulation fails when one bit is set so only testall variations with that bit set

Page 24: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 24

Stochastic Simulation

■ Initialization– May take long time for startup transients to

converge to steady state behavior– Analyze transient behavior separately– Initialize near steady state values for

subsequent analysis

Page 25: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 25

System Stressing

■ Often interested in degradationcharacteristics under increasing load– Catastrophic failures– Graceful degradation

■ Disable certain services to simulate theirbeing fully occupied and not available

Page 26: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 26

Simulation Validation

■ Run simple cases for which results are knownor calculable and compare results

■ Perturb parameters to perform sensitivityanalysis– Fisher's Law: The more optimized a system is

for one environment, the worse it will do inanother

■ Monte-Carlo: large # of runs, average results

Page 27: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 27

Concurrent Simulation

■ Optimistic– Run parts concurrently but only check

interaction at large time intervals.■ If an event occurred, backtrack

■ Conservative– Each parallel process proceeds no further than

it can without the possibility of backtracking

Page 28: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 28

VHDL Implementation of FSMs

■ Why FSMs?– Represent combinational circuits with feedback– Represent memory– Represent state dependent behavior– Are ubiquitous– Used for

■ Regular language recognizers■ Computer Control Units■ Represent bus/network protocols

Page 29: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 29

FSM Types

■ Automata– Basic machine with state transitions, but no

output■ Moore

– Output is only a function of present state■ Mealy

– Output is a function of both present state andpresent input

Page 30: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 30

FSM Equivalence

■ It can be shown that there is a behavioralequivalence between Moore and MealyMachines

■ Any Moore machine can be converted to abehaviorally equivalent Mealy machine andvice-versa

Page 31: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 31

DFA/NDFA

■ Deterministic Finite Automata (DFA)– aka, completely specified

■ Non-Deterministic Finite Automata (NDFA)– Not all ((state, input),state) pairs are defined in

transition function, δ– Transitions based on strings rather than single

inputs– Different state transitions for same (state, input)

Page 32: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 32

DFA/NDFA

■ Any NDFA Can Be Converted to a DFA■ Net Result, Only Need to Study DFA Mealy

Machine

Page 33: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 33

■ Insert some slides from 331_18/19 here

Page 34: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 34

Inappropriate Use of FSMs

■ Combinational Circuits■ Fixed Sequencers (no branching, no

feedback)– n-phase clock– shift registers– digital FIR w/o feedback

Page 35: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 35

Sample FSM in VHDL

■ Insert more here

Page 36: VHDL - Computer Action Teamweb.cecs.pdx.edu/~mperkows/CLASS_VHDL_99/545_15-discrete-eve… · distribution associated with scientific applications. ... VHDL Implementation of FSMs

5/8/2001 Copyright 1997/8/9, KJH, 545_12, 11/17/99 36

End