1 / 35

Blocks Resolved Signals Signal GUARDs Tri-State Buses

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.

thi
Download Presentation

Blocks Resolved Signals Signal GUARDs Tri-State Buses

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Blocks • Resolved Signals • Signal GUARDs • Tri-State Buses

  2. Sequential versus Concurrent Statement in Simulation Cycle

  3. Blocks Blocks are used for hierarchical partitioning

  4. Blocks

  5. Nested Blocks

  6. Blocks

  7. Guarded Blocks

  8. Guard

  9. Signal GUARD • A block statement may have a guard expression. Latch: block(CK'EVENT and CK='1') begin Q <= guarded Dafter 10ns; end block latch;

  10. 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.

  11. Signal GUARD (cont’d) Latch: block(CK'EVENT and CK='1') begin Q <= guarded D after 10ns; end block latch; • The equivalent description to the above is the following:

  12. Guard Expression

  13. Guarded Signal Assignments

  14. Guarded Signal Kinds

  15. Disconnects

  16. Drivers

  17. Resolved Signals

  18. Resolved 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.

  19. Resolution 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.

  20. An example of resolved signals We add resolution function wand to the package wired_logic We define the wired and logic here See explanation

  21. Resolution function wand is declared Now that my signal wand is resolved, I am using S1 without conflict because the system knows how to interpret several assignments on one signal Resolved signal use work.wired_logic.all;

  22. Tri-State Bus Example • Another example of resolution function and resolved signals

  23. Tri-State Function Definition Resolution function Resolved variable This slide shows how to define resolution function tri_state in package four_valued_logic

  24. Definition and use of resolution function in Tri-State Bus Example (cont’d) Now that it is defined, we can use it Because we know system_bus is tri_state fvl we can have many assignments on it

  25. Resolution Function

  26. Resolution Function

  27. Using Resolution Function for Three State Bus

  28. Driver Resolution

  29. Driver Resolution Conflict

  30. Example of Bus Resolution Function

  31. Example of Bus Resolution Function Continued

  32. Example of Bus Resolution Function Continued

  33. Resolution Function for Subtype

  34. Summary on Resolution Functions

  35. Sources • Krzysztof Kuchcinski • California State University Northridge

More Related