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

📄 orca_cmb.vhd

📁 porting scintilla to qt
💻 VHD
📖 第 1 页 / 共 5 页
字号:
-- ---------------------------------------------------------------------- >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<-- ---------------------------------------------------------------------- Copyright (c) 2005 by Lattice Semiconductor Corporation-- --------------------------------------------------------------------------                     Lattice Semiconductor Corporation--                     5555 NE Moore Court--                     Hillsboro, OR 97214--                     U.S.A.----                     TEL: 1-800-Lattice  (USA and Canada)--                          1-408-826-6000 (other locations)----                     web: http://www.latticesemi.com/--                     email: techsupport@latticesemi.com---- ------------------------------------------------------------------------ Simulation Library File for EC/XP---- $Header: /home/rel01/env5_1a.34/vhdl/pkg/vhdsclibs/data/orca5mg/src/RCS/ORCA_CMB.vhd,v 1.5 2005/05/19 20:36:59 pradeep Exp $ --------- cell ageb2 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY ageb2 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "ageb4";      tpd_a0_ge       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_ge       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_ge       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b1_ge       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_ci_ge       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_a0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_a1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_ci         :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a0              :	IN    std_logic;      a1              :	IN    std_logic;      b0              :	IN    std_logic;      b1              :	IN    std_logic;      ci              :	IN    std_logic := '1';      ge              :	OUT   std_logic);   ATTRIBUTE Vital_Level0 OF ageb2 : ENTITY IS TRUE;END ageb2;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF ageb2 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a0_ipd	 : std_logic := 'X';   SIGNAL a1_ipd	 : std_logic := 'X';   SIGNAL b0_ipd	 : std_logic := 'X';   SIGNAL b1_ipd	 : std_logic := 'X';   SIGNAL ci_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a0_ipd, a0, tipd_a0);   VitalWireDelay (a1_ipd, a1, tipd_a1);   VitalWireDelay (b0_ipd, b0, tipd_b0);   VitalWireDelay (b1_ipd, b1, tipd_b1);   VitalWireDelay (ci_ipd, ci, tipd_ci);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a0_ipd, a1_ipd, b0_ipd, b1_ipd, ci_ipd)   -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS ge_zd      : std_ulogic IS results(1);   VARIABLE a, b    : std_logic_vector(0 to 1) := (others => 'X');   -- output glitch detection VARIABLEs   VARIABLE ge_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      a := std_logic_vector'(a1_ipd, a0_ipd);      b := std_logic_vector'(b1_ipd, b0_ipd);      -- if a = b, then output carry-in (ge from the lower stage)      -- note: carry-in on the first stage is tied high      IF (a > b) THEN	ge_zd := '1';       ELSIF (a = b) THEN	ge_zd := ci_ipd;      ELSE	ge_zd := '0';      END IF;      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => ge,       OutSignalName => "ge",       OutTemp => ge_zd,       Paths => (0 => (a0_ipd'last_event, tpd_a0_ge, TRUE),                 1 => (a1_ipd'last_event, tpd_a1_ge, TRUE),		 2 => (b0_ipd'last_event, tpd_b0_ge, TRUE),		 3 => (b1_ipd'last_event, tpd_b1_ge, TRUE),		 4 => (ci_ipd'last_event, tpd_ci_ge, TRUE)),       GlitchData => ge_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell aleb2 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY aleb2 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "aleb4";      tpd_a0_le       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_le       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_le       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b1_le       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_ci_le       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_a0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_a1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_ci         :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a0, a1   : IN std_logic;      b0, b1   : IN std_logic;      ci       : IN std_logic := '1';      le       : OUT std_logic);   ATTRIBUTE Vital_Level0 OF aleb2 : ENTITY IS TRUE;END aleb2;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF aleb2 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a0_ipd	 : std_logic := 'X';   SIGNAL a1_ipd	 : std_logic := 'X';   SIGNAL b0_ipd	 : std_logic := 'X';   SIGNAL b1_ipd	 : std_logic := 'X';   SIGNAL ci_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a0_ipd, a0, tipd_a0);   VitalWireDelay (a1_ipd, a1, tipd_a1);   VitalWireDelay (b0_ipd, b0, tipd_b0);   VitalWireDelay (b1_ipd, b1, tipd_b1);   VitalWireDelay (ci_ipd, ci, tipd_ci);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a0_ipd, a1_ipd, b0_ipd, b1_ipd, ci_ipd)    -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS le_zd      : std_ulogic IS results(1);   VARIABLE a, b    : std_logic_vector(0 to 1) := (others => 'X');   -- output glitch detection VARIABLEs   VARIABLE le_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      a := std_logic_vector'(a1_ipd, a0_ipd);      b := std_logic_vector'(b1_ipd, b0_ipd);      -- if a = b, then output carry-in (le from the lower stage)      -- note: carry-in on the first stage is tied high      IF (a < b) THEN	le_zd := '1';       ELSIF (a = b) THEN	le_zd := ci_ipd;      ELSE	le_zd := '0';      END IF;      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => le,       OutSignalName => "le",       OutTemp => le_zd,       Paths => (0 => (a0_ipd'last_event, tpd_a0_le, TRUE),                 1 => (a1_ipd'last_event, tpd_a1_le, TRUE),		 2 => (b0_ipd'last_event, tpd_b0_le, TRUE),		 3 => (b1_ipd'last_event, tpd_b1_le, TRUE),		 4 => (ci_ipd'last_event, tpd_ci_le, TRUE)),       GlitchData => le_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell aneb2 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY aneb2 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "aneb4";      tpd_a0_ne       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_ne       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_ne       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b1_ne       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_ci_ne       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_a0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_a1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_ci         :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a0              :	IN    std_logic;      a1              :	IN    std_logic;      b0              :	IN    std_logic;      b1              :	IN    std_logic;      ci              :	IN    std_logic := '0';      ne              :	OUT   std_logic);   ATTRIBUTE Vital_Level0 OF aneb2 : ENTITY IS TRUE;END aneb2;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF aneb2 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a0_ipd	 : std_logic := 'X';   SIGNAL a1_ipd	 : std_logic := 'X';   SIGNAL b0_ipd	 : std_logic := 'X';   SIGNAL b1_ipd	 : std_logic := 'X';   SIGNAL ci_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a0_ipd, a0, tipd_a0);   VitalWireDelay (a1_ipd, a1, tipd_a1);   VitalWireDelay (b0_ipd, b0, tipd_b0);   VitalWireDelay (b1_ipd, b1, tipd_b1);   VitalWireDelay (ci_ipd, ci, tipd_ci);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a0_ipd, a1_ipd, b0_ipd, b1_ipd, ci_ipd)   -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS ne_zd      : std_ulogic IS results(1);   VARIABLE a, b    : std_logic_vector(0 to 1) := (others => 'X');   -- output glitch detection VARIABLEs   VARIABLE ne_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      a := std_logic_vector'(a1_ipd, a0_ipd);      b := std_logic_vector'(b1_ipd, b0_ipd);      -- IF a = b, THEN pass on carry-in input (ne from the previous stage)      -- note: carry-in on the first stage is tied low      IF (a = b) THEN	ne_zd := ci_ipd;       ELSE	ne_zd := '1';      END IF;      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => ne,       OutSignalName => "ne",       OutTemp => ne_zd,       Paths => (0 => (a0_ipd'last_event, tpd_a0_ne, TRUE),                 1 => (a1_ipd'last_event, tpd_a1_ne, TRUE),		 2 => (b0_ipd'last_event, tpd_b0_ne, TRUE),		 3 => (b1_ipd'last_event, tpd_b1_ne, TRUE),		 4 => (ci_ipd'last_event, tpd_ci_ne, TRUE)),       GlitchData => ne_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell and2 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY and2 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "and2";      tpd_a_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_a          :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_b          :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a               :	IN    std_logic;      b               :	IN    std_logic;      z               :	OUT  std_logic);   ATTRIBUTE Vital_Level0 OF and2 : ENTITY IS TRUE;END and2;

⌨️ 快捷键说明

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