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

📄 std_logic_1164.vhdl

📁 vhdl集成电路设计软件.需要用gcc-4.0.2版本编译.
💻 VHDL
字号:
-- ------------------------------------------------------------------------   Title     :  std_logic_1164 multi-value logic system--   Library   :  This package shall be compiled into a library--             :  symbolically named IEEE.--             :--   Developers:  IEEE model standards group (par 1164)--   Purpose   :  This packages defines a standard for designers--             :  to use in describing the interconnection data types--             :  used in vhdl modeling.--             :--   Limitation:  The logic system defined in this package may--             :  be insufficient for modeling switched transistors,--             :  since such a requirement is out of the scope of this--             :  effort. Furthermore, mathematics, primitives,--             :  timing standards, etc. are considered orthogonal--             :  issues as it relates to this package and are therefore--             :  beyond the scope of this effort.--             :--   Note      :  No declarations or definitions shall be included in,--             :  or excluded from this package. The "package declaration"--             :  defines the types, subtypes and declarations of--             :  std_logic_1164. The std_logic_1164 package body shall be--             :  considered the formal definition of the semantics of--             :  this package. Tool developers may choose to implement--             :  the package body in the most efficient manner available--             :  to them.--             :-- ----------------------------------------------------------------------   modification history :-- ----------------------------------------------------------------------  version | mod. date:|--   v4.200 | 01/02/92  |-- --------------------------------------------------------------------PACKAGE std_logic_1164 IS    -------------------------------------------------------------------    -- logic state system  (unresolved)    -------------------------------------------------------------------    TYPE std_ulogic IS ( 'U',  -- Uninitialized                         'X',  -- Forcing  Unknown                         '0',  -- Forcing  0                         '1',  -- Forcing  1                         'Z',  -- High Impedance                         'W',  -- Weak     Unknown                         'L',  -- Weak     0                         'H',  -- Weak     1                         '-'   -- Don't care                       );    -------------------------------------------------------------------    -- unconstrained array of std_ulogic for use with the resolution function    -------------------------------------------------------------------    TYPE std_ulogic_vector IS ARRAY ( NATURAL RANGE <> ) OF std_ulogic;    -------------------------------------------------------------------    -- resolution function    -------------------------------------------------------------------    FUNCTION resolved ( s : std_ulogic_vector ) RETURN std_ulogic;    -------------------------------------------------------------------    -- *** industry standard logic type ***    -------------------------------------------------------------------    SUBTYPE std_logic IS resolved std_ulogic;    -------------------------------------------------------------------    -- unconstrained array of std_logic for use in declaring signal arrays    -------------------------------------------------------------------    TYPE std_logic_vector IS ARRAY ( NATURAL RANGE <>) OF std_logic;    -------------------------------------------------------------------    -- common subtypes    -------------------------------------------------------------------    SUBTYPE X01     IS resolved std_ulogic RANGE 'X' TO '1'; -- ('X','0','1')    SUBTYPE X01Z    IS resolved std_ulogic RANGE 'X' TO 'Z'; -- ('X','0','1','Z')    SUBTYPE UX01    IS resolved std_ulogic RANGE 'U' TO '1'; -- ('U','X','0','1')    SUBTYPE UX01Z   IS resolved std_ulogic RANGE 'U' TO 'Z'; -- ('U','X','0','1','Z')    -------------------------------------------------------------------    -- overloaded logical operators    -------------------------------------------------------------------    FUNCTION "and"  ( l : std_ulogic; r : std_ulogic ) RETURN UX01;    FUNCTION "nand" ( l : std_ulogic; r : std_ulogic ) RETURN UX01;    FUNCTION "or"   ( l : std_ulogic; r : std_ulogic ) RETURN UX01;    FUNCTION "nor"  ( l : std_ulogic; r : std_ulogic ) RETURN UX01;    FUNCTION "xor"  ( l : std_ulogic; r : std_ulogic ) RETURN UX01;    FUNCTION "xnor" ( l : std_ulogic; r : std_ulogic ) RETURN UX01; --V93    FUNCTION "not"  ( l : std_ulogic                 ) RETURN UX01;    -------------------------------------------------------------------    -- vectorized overloaded logical operators    -------------------------------------------------------------------    FUNCTION "and"  ( l, r : std_logic_vector  ) RETURN std_logic_vector;    FUNCTION "and"  ( l, r : std_ulogic_vector ) RETURN std_ulogic_vector;    FUNCTION "nand" ( l, r : std_logic_vector  ) RETURN std_logic_vector;    FUNCTION "nand" ( l, r : std_ulogic_vector ) RETURN std_ulogic_vector;    FUNCTION "or"   ( l, r : std_logic_vector  ) RETURN std_logic_vector;    FUNCTION "or"   ( l, r : std_ulogic_vector ) RETURN std_ulogic_vector;    FUNCTION "nor"  ( l, r : std_logic_vector  ) RETURN std_logic_vector;    FUNCTION "nor"  ( l, r : std_ulogic_vector ) RETURN std_ulogic_vector;    FUNCTION "xor"  ( l, r : std_logic_vector  ) RETURN std_logic_vector;    FUNCTION "xor"  ( l, r : std_ulogic_vector ) RETURN std_ulogic_vector;--  -------------------------------------------------------------------------  Note : The declaration and implementation of the "xnor" function is--  specifically commented until at which time the VHDL language has been--  officially adopted as containing such a function. At such a point,--  the following comments may be removed along with this notice without--  further "official" ballotting of this std_logic_1164 package. It is--  the intent of this effort to provide such a function once it becomes--  available in the VHDL standard.--  -----------------------------------------------------------------------    FUNCTION "xnor" ( l, r : std_logic_vector  ) RETURN std_logic_vector; --V93    FUNCTION "xnor" ( l, r : std_ulogic_vector ) RETURN std_ulogic_vector;--V93    FUNCTION "not"  ( l : std_logic_vector  ) RETURN std_logic_vector;    FUNCTION "not"  ( l : std_ulogic_vector ) RETURN std_ulogic_vector;    -------------------------------------------------------------------    -- conversion functions    -------------------------------------------------------------------    FUNCTION To_bit       ( s : std_ulogic;        xmap : BIT := '0') RETURN BIT;    FUNCTION To_bitvector ( s : std_logic_vector ; xmap : BIT := '0') RETURN BIT_VECTOR;    FUNCTION To_bitvector ( s : std_ulogic_vector; xmap : BIT := '0') RETURN BIT_VECTOR;    FUNCTION To_StdULogic       ( b : BIT               ) RETURN std_ulogic;    FUNCTION To_StdLogicVector  ( b : BIT_VECTOR        ) RETURN std_logic_vector;    FUNCTION To_StdLogicVector  ( s : std_ulogic_vector ) RETURN std_logic_vector;    FUNCTION To_StdULogicVector ( b : BIT_VECTOR        ) RETURN std_ulogic_vector;    FUNCTION To_StdULogicVector ( s : std_logic_vector  ) RETURN std_ulogic_vector;    -------------------------------------------------------------------    -- strength strippers and type convertors    -------------------------------------------------------------------    FUNCTION To_X01  ( s : std_logic_vector  ) RETURN  std_logic_vector;    FUNCTION To_X01  ( s : std_ulogic_vector ) RETURN  std_ulogic_vector;    FUNCTION To_X01  ( s : std_ulogic        ) RETURN  X01;    FUNCTION To_X01  ( b : BIT_VECTOR        ) RETURN  std_logic_vector;    FUNCTION To_X01  ( b : BIT_VECTOR        ) RETURN  std_ulogic_vector;    FUNCTION To_X01  ( b : BIT               ) RETURN  X01;    FUNCTION To_X01Z ( s : std_logic_vector  ) RETURN  std_logic_vector;    FUNCTION To_X01Z ( s : std_ulogic_vector ) RETURN  std_ulogic_vector;    FUNCTION To_X01Z ( s : std_ulogic        ) RETURN  X01Z;    FUNCTION To_X01Z ( b : BIT_VECTOR        ) RETURN  std_logic_vector;    FUNCTION To_X01Z ( b : BIT_VECTOR        ) RETURN  std_ulogic_vector;    FUNCTION To_X01Z ( b : BIT               ) RETURN  X01Z;    FUNCTION To_UX01  ( s : std_logic_vector  ) RETURN  std_logic_vector;    FUNCTION To_UX01  ( s : std_ulogic_vector ) RETURN  std_ulogic_vector;    FUNCTION To_UX01  ( s : std_ulogic        ) RETURN  UX01;    FUNCTION To_UX01  ( b : BIT_VECTOR        ) RETURN  std_logic_vector;    FUNCTION To_UX01  ( b : BIT_VECTOR        ) RETURN  std_ulogic_vector;    FUNCTION To_UX01  ( b : BIT               ) RETURN  UX01;    -------------------------------------------------------------------    -- edge detection    -------------------------------------------------------------------    FUNCTION rising_edge  (SIGNAL s : std_ulogic) RETURN BOOLEAN;    FUNCTION falling_edge (SIGNAL s : std_ulogic) RETURN BOOLEAN;    -------------------------------------------------------------------    -- object contains an unknown    -------------------------------------------------------------------    FUNCTION Is_X ( s : std_ulogic_vector ) RETURN  BOOLEAN;    FUNCTION Is_X ( s : std_logic_vector  ) RETURN  BOOLEAN;    FUNCTION Is_X ( s : std_ulogic        ) RETURN  BOOLEAN;END std_logic_1164;

⌨️ 快捷键说明

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