-- FILE NAME: waves_frames.vhd -- -- DISCLAIMER -- -- This code is the sole property of the Institute for Technology -- Development (ITD), Jackson, Mississippi, and is distributed for -- the purpose of providing examples of VHDL models written to -- modeling standards. This code may not be used for commercial -- purposes, and may not be redistributed without permission from -- the Institute for Technology Development. ITD assumes no -- responsibility for errors, omissions, uses made, or decisions -- based on its use. No warranties, expressed or implied, are given. -- -- This is a modified IEEE WAVES package. This package was modified -- to handle the logic_mv state/strength value system used in the -- models being tested. -- -- ------------------------------------------------------------------ library EVENTS ; use EVENTS.Waves_Events.all ; package body Waves_Frames is constant T0 : EVENT_TIME := ETIME ; constant T1 : EVENT_TIME := ETIME(1 ns); function INPUT_FRAMES return FRAME_SET is begin return FRAME_EVENT ( (U, T0)) + FRAME_EVENT ( (X, T0)) + FRAME_EVENT ( (D0, T0)) + FRAME_EVENT ( (D1, T0)) + FRAME_EVENT ( (Z, T0)) + FRAME_EVENT ( (L, T0)) + FRAME_EVENT ( (H, T0)) + FRAME_EVENT ( (W, T0)) + FRAME_EVENT ( (DC, T0)) + FRAME_ELIST ( ((D1, T0), (D0, T1))) + FRAME_ELIST ( ((D0, T0), (D1, T1))) ; end ; function OUTPUT_FRAMES return FRAME_SET is begin return FRAME_EVENT ( (U, T0)) + FRAME_EVENT ( (X, T0)) + FRAME_EVENT ( (S0, T0)) + FRAME_EVENT ( (S1, T0)) + FRAME_EVENT ( (Z, T0)) + FRAME_EVENT ( (L, T0)) + FRAME_EVENT ( (H, T0)) + FRAME_EVENT ( (W, T0)) + FRAME_EVENT ( (DC, T0)) + FRAME_ELIST ( ((S1, T0), (S0, T1))) + FRAME_ELIST ( ((S0, T0), (S1, T1))) ; end ; function STROBED_OUTPUT_FRAMES(Delay : Event_Time) return FRAME_SET is begin return FRAME_ELIST (((DC, T0), (U, Delay))) + FRAME_ELIST (((DC, T0), (X, Delay))) + FRAME_ELIST (((DC, T0), (S0, Delay))) + FRAME_ELIST (((DC, T0), (S1, Delay))) + FRAME_ELIST (((DC, T0), (Z, Delay))) + FRAME_ELIST (((DC, T0), (L, Delay))) + FRAME_ELIST (((DC, T0), (H, Delay))) + FRAME_ELIST (((DC, T0), (W, Delay))) + FRAME_ELIST (((DC, T0), (DC, Delay))) + FRAME_ELIST ( ((S1, T0), (DC, Delay), (S0, T1))) + FRAME_ELIST ( ((S0, T0), (DC, Delay), (S1, T1))) ; end ; end Waves_Frames ;