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

📄 std_logic_misc.vhdl

📁 vhdl集成电路设计软件.需要用gcc-4.0.2版本编译.
💻 VHDL
字号:
------------------------------------------------------------------------------ Copyright (c) 1990, 1991, 1992 by Synopsys, Inc.  All rights reserved.-- -- This source file may be used and distributed without restriction -- provided that this copyright statement is not removed from the file -- and that any derivative work contains this copyright notice.----	Package name: std_logic_misc----	Purpose: This package defines supplemental types, subtypes, --		 constants, and functions for the Std_logic_1164 Package.----	Author:  GWH----------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.all;--library SYNOPSYS;--use SYNOPSYS.attributes.all;package std_logic_misc is    -- output-strength types    type STRENGTH is (strn_X01, strn_X0H, strn_XL1, strn_X0Z, strn_XZ1, 		      strn_WLH, strn_WLZ, strn_WZH, strn_W0H, strn_WL1);--synopsys synthesis_off    type MINOMAX is array (1 to 3) of TIME;        ---------------------------------------------------------------------    --    -- functions for mapping the STD_(U)LOGIC according to STRENGTH    --    ---------------------------------------------------------------------    function strength_map(input: STD_ULOGIC; strn: STRENGTH) return STD_LOGIC;    function strength_map_z(input:STD_ULOGIC; strn:STRENGTH) return STD_LOGIC;    ---------------------------------------------------------------------    --    -- conversion functions for STD_ULOGIC_VECTOR and STD_LOGIC_VECTOR    --    -----------------------------------------------------------------------synopsys synthesis_on    function Drive (V: STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR;    function Drive (V: STD_LOGIC_VECTOR) return STD_ULOGIC_VECTOR;--synopsys synthesis_off    --attribute CLOSELY_RELATED_TCF of Drive: function is TRUE;    ---------------------------------------------------------------------    --    -- conversion functions for sensing various types    -- (the second argument allows the user to specify the value to    --  be returned when the network is undriven)    --    ---------------------------------------------------------------------    function Sense (V: STD_ULOGIC; vZ, vU, vDC: STD_ULOGIC) return STD_LOGIC;    function Sense (V: STD_ULOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC)     					   return STD_LOGIC_VECTOR;    function Sense (V: STD_ULOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC)     					   return STD_ULOGIC_VECTOR;    function Sense (V: STD_LOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC)     					   return STD_LOGIC_VECTOR;    function Sense (V: STD_LOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC)     					   return STD_ULOGIC_VECTOR;--synopsys synthesis_on    ---------------------------------------------------------------------    --    --	Function: STD_LOGIC_VECTORtoBIT_VECTOR STD_ULOGIC_VECTORtoBIT_VECTOR    --    --	Purpose: Conversion fun. from STD_(U)LOGIC_VECTOR to BIT_VECTOR    --    --	Mapping:	0, L --> 0    --			1, H --> 1    --			X, W --> vX if Xflag is TRUE    --			X, W --> 0  if Xflag is FALSE    --			Z --> vZ if Zflag is TRUE    --			Z --> 0  if Zflag is FALSE    --			U --> vU if Uflag is TRUE    --			U --> 0  if Uflag is FALSE    --			- --> vDC if DCflag is TRUE    --			- --> 0  if DCflag is FALSE    --    ---------------------------------------------------------------------    function STD_LOGIC_VECTORtoBIT_VECTOR (V: STD_LOGIC_VECTOR--synopsys synthesis_off    	; vX, vZ, vU, vDC: BIT := '0';     	  Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE--synopsys synthesis_on    	) return BIT_VECTOR;    function STD_ULOGIC_VECTORtoBIT_VECTOR (V: STD_ULOGIC_VECTOR--synopsys synthesis_off    	; vX, vZ, vU, vDC: BIT := '0';     	  Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE--synopsys synthesis_on    	) return BIT_VECTOR;        ---------------------------------------------------------------------    --    --	Function: STD_ULOGICtoBIT    --    --	Purpose: Conversion function from STD_(U)LOGIC to BIT    --    --	Mapping:	0, L --> 0    --			1, H --> 1    --			X, W --> vX if Xflag is TRUE    --			X, W --> 0  if Xflag is FALSE    --			Z --> vZ if Zflag is TRUE    --			Z --> 0  if Zflag is FALSE    --			U --> vU if Uflag is TRUE    --			U --> 0  if Uflag is FALSE    --			- --> vDC if DCflag is TRUE    --			- --> 0  if DCflag is FALSE    --    ---------------------------------------------------------------------    function STD_ULOGICtoBIT (V: STD_ULOGIC--synopsys synthesis_off    	; vX, vZ, vU, vDC: BIT := '0';     	  Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE--synopsys synthesis_on    	) return BIT;        --------------------------------------------------------------------        function AND_REDUCE(ARG: STD_LOGIC_VECTOR) return UX01;        function NAND_REDUCE(ARG: STD_LOGIC_VECTOR) return UX01;        function OR_REDUCE(ARG: STD_LOGIC_VECTOR) return UX01;        function NOR_REDUCE(ARG: STD_LOGIC_VECTOR) return UX01;        function XOR_REDUCE(ARG: STD_LOGIC_VECTOR) return UX01;        function XNOR_REDUCE(ARG: STD_LOGIC_VECTOR) return UX01;            function AND_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01;        function NAND_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01;        function OR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01;        function NOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01;        function XOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01;        function XNOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01;    --synopsys synthesis_off	        function fun_BUF3S(Input, Enable: UX01; Strn: STRENGTH) return STD_LOGIC;        function fun_BUF3SL(Input, Enable: UX01; Strn: STRENGTH) return STD_LOGIC;        function fun_MUX2x1(Input0, Input1, Sel: UX01) return UX01;        function fun_MAJ23(Input0, Input1, Input2: UX01) return UX01;        function fun_WiredX(Input0, Input1: std_ulogic) return STD_LOGIC;--synopsys synthesis_on	end;

⌨️ 快捷键说明

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