blocks resolved signals signal guards tri-state buses

35
Blocks Resolved Signals Signal GUARDs Tri-State Buses

Upload: thi

Post on 06-Jan-2016

35 views

Category:

Documents


2 download

DESCRIPTION

Blocks Resolved Signals Signal GUARDs Tri-State Buses. Sequential versus Concurrent Statement in Simulation Cycle. Blocks. Blocks are used for hierarchical partitioning. Blocks. Nested Blocks. Blocks. Guarded Blocks. Guard. Signal GUARD. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Blocks Resolved Signals Signal GUARDs Tri-State Buses

•Blocks

•Resolved Signals

•Signal GUARDs

•Tri-State Buses

Page 2: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Sequential versus Concurrent Sequential versus Concurrent Statement in Simulation CycleStatement in Simulation Cycle

Page 3: Blocks Resolved Signals Signal GUARDs Tri-State Buses

BlocksBlocks Blocks are used for Blocks are used for hierarchical hierarchical partitioningpartitioning

Page 4: Blocks Resolved Signals Signal GUARDs Tri-State Buses

BlocksBlocks

Page 5: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Nested BlocksNested Blocks

Page 6: Blocks Resolved Signals Signal GUARDs Tri-State Buses

BlocksBlocks

Page 7: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Guarded BlocksGuarded Blocks

Page 8: Blocks Resolved Signals Signal GUARDs Tri-State Buses

GuardGuard

Page 9: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Signal GUARDSignal GUARD

• A block statement may have a guard expression.

Latch: blocblockk(CK'EVENT and CK='1')

begin

Q <= guarded D after 10ns;

end block latch;

Page 10: Blocks Resolved Signals Signal GUARDs Tri-State Buses

• Latch: block(CK'EVENT and CK='1') begin Q <= guarded D after 10ns; end block latch;

• A block statement with guard expression implicitly declares a signal named GUARD.

• The value of GUARD is always updated to the current value of the guard expression.

• Guarded signal assignments implicitly reference to the signal GUARD.

• Signal GUARD may also be explicitly referenced like other signals.

Page 11: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Signal GUARD (cont’d)Signal GUARD (cont’d)

• The equivalent description to the above is the following:

Latch: block(CK'EVENT and CK='1') begin Q <= guarded D after 10ns; end block latch;

Page 12: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Guard ExpressionGuard Expression

Page 13: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Guarded Signal Guarded Signal AssignmentsAssignments

Page 14: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Guarded Signal KindsGuarded Signal Kinds

Page 15: Blocks Resolved Signals Signal GUARDs Tri-State Buses

DisconnectsDisconnects

Page 16: Blocks Resolved Signals Signal GUARDs Tri-State Buses

DriversDrivers

Page 17: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolved Resolved SignalsSignals

Page 18: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolved SignalsResolved Signals• A signal which has more than one source is

called a resolved signal (outputs can be tied together).

• Such signals are used to model wired-logic or tri-state busses.

• A resolved signal must have a resolution function associated with it.

Page 19: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolution FunctionResolution Function• A resolution function takes a one-dimensional,

unconstrained array of values of the resolved type and returns a value of the resolved type.

• You can associate the resolution function with a signal in:– the type declaration – or the signal declaration.

Page 20: Blocks Resolved Signals Signal GUARDs Tri-State Buses

An An example of example of

resolved resolved signalssignals

We add resolution We add resolution function wand to the function wand to the package wired_logicpackage wired_logic

See See explanationexplanation

We define theWe define the wired andwired and logic logic herehere

Page 21: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolved Resolved signalsignal

Now that my Now that my signal wand is signal wand is resolved, I am resolved, I am using S1 without using S1 without conflict because conflict because the system the system knows how to knows how to interpret interpret several several assignments on assignments on one signalone signal

use work.wired_logic.all;use work.wired_logic.all;

Resolution function wand is declared Resolution function wand is declared

Page 22: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Tri-State Bus ExampleTri-State Bus Example

• Another example of resolution function and resolved signals

Page 23: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Tri-State Tri-State Function Function DefinitionDefinition

Resolution Resolution functionfunction

Resolved Resolved variablevariable

This slide shows how to This slide shows how to define resolution function tri_statedefine resolution function tri_state

in package four_valued_logicin package four_valued_logic

Page 24: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Definition and use of resolution function in Definition and use of resolution function in Tri-State Bus Example (cont’d)Tri-State Bus Example (cont’d)

Now that it is defined, we Now that it is defined, we can use itcan use it

Because we Because we know know system_bus system_bus is tri_state is tri_state fvl we can fvl we can have many have many assignments assignments on iton it

Page 25: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolution FunctionResolution Function

Page 26: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolution FunctionResolution Function

Page 27: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Using Resolution Function for Three Using Resolution Function for Three State BusState Bus

Page 28: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Driver ResolutionDriver Resolution

Page 29: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Driver Resolution ConflictDriver Resolution Conflict

Page 30: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Example of Bus Resolution FunctionExample of Bus Resolution Function

Page 31: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Example of Bus Resolution Function Example of Bus Resolution Function ContinuedContinued

Page 32: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Example of Bus Resolution Function Example of Bus Resolution Function ContinuedContinued

Page 33: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Resolution Function Resolution Function for Subtypefor Subtype

Page 34: Blocks Resolved Signals Signal GUARDs Tri-State Buses

Summary on Resolution Summary on Resolution FunctionsFunctions

Page 35: Blocks Resolved Signals Signal GUARDs Tri-State Buses

SourcesSources• Krzysztof Kuchcinski

• California State University Northridge