⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory_p.vhdl

📁 vhdl集成电路设计软件.需要用gcc-4.0.2版本编译.
💻 VHDL
📖 第 1 页 / 共 5 页
字号:
--    TYPE VitalPortFlagType IS (--        UNDEF,--        READ,--        WRITE,--        CORRUPT,--        HIGHZ,--        NOCHANGE--    );-- VitalPortFlagType records runtime mode of port sub-word slicesTYPE VitalPortStateType IS (  UNDEF,  READ,  WRITE,  CORRUPT,  HIGHZ);TYPE VitalPortFlagType IS RECORD  MemoryCurrent   : VitalPortStateType;  MemoryPrevious  : VitalPortStateType;  DataCurrent     : VitalPortStateType;  DataPrevious    : VitalPortStateType;  OutputDisable   : BOOLEAN;END RECORD;CONSTANT VitalDefaultPortFlag : VitalPortFlagType := (  MemoryCurrent   => READ,  MemoryPrevious  => UNDEF,  DataCurrent     => READ,  DataPrevious    => UNDEF,  OutputDisable   => FALSE);-- VitalPortFlagVectorType to be same width i as enables of a port-- or j multiples thereof, where j is the number of cross portsTYPE VitalPortFlagVectorType IS   ARRAY (NATURAL RANGE <>) OF VitalPortFlagType;-- ------------------------------------------------------------------------------ Functions  : VitalMemory path delay procedures --                - VitalMemoryInitPathDelay--                - VitalMemoryAddPathDelay--                - VitalMemorySchedulePathDelay---- Description: VitalMemoryInitPathDelay, VitalMemoryAddPathDelay and--              VitalMemorySchedulePathDelay are Level 1 routines used --              for selecting the propagation delay paths based on--              path condition, transition type and delay values and--              schedule a new output value.----              Following features are implemented in these procedures:--              o condition dependent path selection--              o Transition dependent delay selection--              o shortest delay path selection from multiple --                candidate paths--              o Scheduling of the computed values on the specified --                signal.--              o output retain behavior if outputRetain flag is set--              o output mapping to alternate strengths to model --                pull-up, pull-down etc. --                --              <More details to be added here>---- Following is information on overloading of the procedures.---- VitalMemoryInitPathDelay is overloaded for ScheduleDataArray and -- OutputDataArray---- ------------------------------------------------------------------------------           ScheduleDataArray        OutputDataArray-- ------------------------------------------------------------------------------              Scalar                    Scalar--              Vector                    Vector-- ------------------------------------------------------------------------------ ---- VitalMemoryAddPathDelay is overloaded for ScheduleDataArray,-- PathDelayArray, InputSignal and delaytype.---- ------------------------------------------------------------------------------   DelayType        InputSignal    ScheduleData     PathDelay--                                      Array          Array-- ------------------------------------------------------------------------------  VitalDelayType      Scalar         Scalar          Scalar--  VitalDelayType      Scalar         Vector          Vector--  VitalDelayType      Vector         Scalar          Vector      --  VitalDelayType      Vector         Vector          Vector--  VitalDelayType01    Scalar         Scalar          Scalar--  VitalDelayType01    Scalar         Vector          Vector--  VitalDelayType01    Vector         Scalar          Vector--  VitalDelayType01    Vector         Vector          Vector--  VitalDelayType01Z   Scalar         Scalar          Scalar--  VitalDelayType01Z   Scalar         Vector          Vector--  VitalDelayType01Z   Vector         Scalar          Vector--  VitalDelayType01Z   Vector         Vector          Vector--  VitalDelayType01XZ  Scalar         Scalar          Scalar--  VitalDelayType01XZ  Scalar         Vector          Vector--  VitalDelayType01XZ  Vector         Scalar          Vector--  VitalDelayType01XZ  Vector         Vector          Vector-- ------------------------------------------------------------------------------  ----  VitalMemorySchedulePathDelay is overloaded for ScheduleDataArray,--  and OutSignal---- ------------------------------------------------------------------------------           OutSignal                 ScheduleDataArray     -- ------------------------------------------------------------------------------             Scalar                      Scalar--             Vector                      Vector-- -------------------------------------------------------------------------------- Procedure Declarations:------ Function     :   VitalMemoryInitPathDelay---- Arguments:----  INOUT               Type             Description----  ScheduleDataArray/  VitalMemoryScheduleDataVectorType/        --  ScheduleData        VitalMemoryScheduleDataType   --                                       Internal data variable for --                                       storing delay and schedule--                                       information for each output bit--                                            ----  IN----  OutputDataArray/    STD_LOGIC_VECTOR/Array containing current output--  OutputData          STD_ULOGIC       value------  NumBitsPerSubWord   INTEGER          Number of bits per subword.--                                       Default value of this argument--                                       is DefaultNumBitsPerSubword --                                       which is interpreted as no --                                       subwords---- -------------------------------------------------------------------------------- -- ScheduleDataArray - Vector-- OutputDataArray - Vector--PROCEDURE VitalMemoryInitPathDelay (  VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType;  VARIABLE OutputDataArray   : IN STD_LOGIC_VECTOR;  CONSTANT NumBitsPerSubWord : IN INTEGER := DefaultNumBitsPerSubword);-- -- ScheduleDataArray - Scalar-- OutputDataArray - Scalar--PROCEDURE VitalMemoryInitPathDelay (  VARIABLE ScheduleData      : INOUT VitalMemoryScheduleDataType;  VARIABLE OutputData        : IN STD_ULOGIC);-- -------------------------------------------------------------------------------- Function     :   VitalMemoryAddPathDelay---- Arguments----  INOUT                 Type            Description----  ScheduleDataArray/    VitalMemoryScheduleDataVectorType/          --  ScheduleData          VitalMemoryScheduleDataType         --                                        Internal data variable for --                                        storing delay and schedule--                                        information for each output bit----  InputChangeTimeArray/ VitaltimeArrayT/Time     --  InputChangeTime                       Holds the time since the last --                                        input change----  IN----  InputSignal           STD_LOGIC_VECTOR--                        STD_ULOGIC/     Array holding the input value----  OutputSignalName      STRING          The output signal name----  PathDelayArray/       VitalDelayArrayType01ZX, --  PathDelay             VitalDelayArrayType01Z,--                        VitalDelayArrayType01,     --                        VitalDelayArrayType/--                        VitalDelayType01ZX,--                        VitalDelayType01Z,--                        VitalDelayType01,--                        VitalDelayType  Array of delay values--  --  ArcType               VitalMemoryArcType        --                                        Indicates the Path type. This--                                        can be SubwordArc, CrossArc or--                                        ParallelArc----  PathCondition         BOOLEAN         If True, the transition in--                                        the corresponding input signal--                                        is considered while --                                        caluculating the prop. delay--                                        else the transition is ignored.----  OutputRetainFlag      BOOLEAN         If specified TRUE,output retain--                                        (hold) behavior is implemented.---- -------------------------------------------------------------------------------- #1-- DelayType - VitalDelayType-- Input     - Scalar -- Output    - Scalar -- Delay     - Scalar-- Condition - ScalarPROCEDURE VitalMemoryAddPathDelay (  VARIABLE ScheduleData         : INOUT VitalMemoryScheduleDataType;  SIGNAL   InputSignal          : IN STD_ULOGIC;  CONSTANT OutputSignalName     : IN STRING := "";  VARIABLE InputChangeTime      : INOUT Time;  CONSTANT PathDelay            : IN VitalDelayType;  CONSTANT ArcType              : IN VitalMemoryArcType := CrossArc;  CONSTANT PathCondition        : IN BOOLEAN := TRUE);-- #2-- DelayType - VitalDelayType-- Input     - Scalar -- Output    - Vector -- Delay     - Vector -- Condition - ScalarPROCEDURE VitalMemoryAddPathDelay (  VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType;  SIGNAL   InputSignal       : IN STD_ULOGIC;  CONSTANT OutputSignalName  : IN STRING := "";  VARIABLE InputChangeTime   : INOUT Time;  CONSTANT PathDelayArray    : IN VitalDelayArrayType;  CONSTANT ArcType           : IN VitalMemoryArcType := CrossArc;  CONSTANT PathCondition     : IN BOOLEAN := TRUE);-- #3-- DelayType - VitalDelayType-- Input     - Scalar -- Output    - Vector -- Delay     - Vector -- Condition - VectorPROCEDURE VitalMemoryAddPathDelay (  VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType;  SIGNAL   InputSignal       : IN STD_ULOGIC;  CONSTANT OutputSignalName  : IN STRING := "";  VARIABLE InputChangeTime   : INOUT Time;  CONSTANT PathDelayArray    : IN VitalDelayArrayType;  CONSTANT ArcType           : IN VitalMemoryArcType := CrossArc;  CONSTANT PathConditionArray: IN VitalBoolArrayT);-- #4-- DelayType - VitalDelayType-- Input     - Vector-- Output    - Scalar -- Delay     - Vector-- Condition - ScalarPROCEDURE VitalMemoryAddPathDelay (  VARIABLE ScheduleData         : INOUT VitalMemoryScheduleDataType;  SIGNAL   InputSignal          : IN STD_LOGIC_VECTOR;  CONSTANT OutputSignalName     : IN STRING := "";  VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT;  CONSTANT PathDelayArray       : IN VitalDelayArrayType;  CONSTANT ArcType              : IN VitalMemoryArcType := CrossArc;  CONSTANT PathCondition        : IN BOOLEAN := TRUE);-- #5-- DelayType - VitalDelayType-- Input     - Vector-- Output    - Vector-- Delay     - Vector-- Condition - ScalarPROCEDURE VitalMemoryAddPathDelay (  VARIABLE ScheduleDataArray    : INOUT VitalMemoryScheduleDataVectorType;  SIGNAL   InputSignal          : IN STD_LOGIC_VECTOR;  CONSTANT OutputSignalName     : IN STRING := "";  VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT;  CONSTANT PathDelayArray       : IN VitalDelayArrayType;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -