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

📄 orca_cmb.vhd

📁 porting scintilla to qt
💻 VHD
📖 第 1 页 / 共 5 页
字号:
-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF and2 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a_ipd	 : std_logic := 'X';   SIGNAL b_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a_ipd, a, tipd_a);   VitalWireDelay (b_ipd, b, tipd_b);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a_ipd, b_ipd)   -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS z_zd       : std_ulogic IS results(1);   -- output glitch detection VARIABLEs   VARIABLE z_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      z_zd := (a_ipd AND b_ipd);      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (a_ipd'last_event, tpd_a_z, TRUE),                 1 => (b_ipd'last_event, tpd_b_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell and3 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY and3 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "and3";      tpd_a_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_c_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);      tipd_c          :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a               :	IN    std_logic;      b               :	IN    std_logic;      c               :	IN    std_logic;      z               :	OUT   std_logic);    ATTRIBUTE Vital_Level0 OF and3 : ENTITY IS TRUE;END and3;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF and3 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a_ipd	 : std_logic := 'X';   SIGNAL b_ipd	 : std_logic := 'X';   SIGNAL c_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a_ipd, a, tipd_a);   VitalWireDelay (b_ipd, b, tipd_b);   VitalWireDelay (c_ipd, c, tipd_c);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a_ipd, b_ipd, c_ipd)   -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS z_zd       : std_ulogic IS results(1);   -- output glitch detection VARIABLEs   VARIABLE z_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      z_zd := (a_ipd AND b_ipd AND c_ipd);      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (a_ipd'last_event, tpd_a_z, TRUE),                 1 => (b_ipd'last_event, tpd_b_z, TRUE),                 2 => (c_ipd'last_event, tpd_c_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell and4 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY and4 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "and4";      tpd_a_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_c_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_d_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);      tipd_c          :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_d          :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a               :	IN    std_logic;      b               :	IN    std_logic;      c               :	IN    std_logic;      d               :	IN    std_logic;      z               :	OUT   std_logic);   ATTRIBUTE Vital_Level0 OF and4 : ENTITY IS TRUE;END and4;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF and4 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a_ipd	 : std_logic := 'X';   SIGNAL b_ipd	 : std_logic := 'X';   SIGNAL c_ipd	 : std_logic := 'X';   SIGNAL d_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a_ipd, a, tipd_a);   VitalWireDelay (b_ipd, b, tipd_b);   VitalWireDelay (c_ipd, c, tipd_c);   VitalWireDelay (d_ipd, d, tipd_d);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a_ipd, b_ipd, c_ipd, d_ipd)   -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS z_zd       : std_ulogic IS results(1);   -- output glitch detection VARIABLEs   VARIABLE z_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      z_zd := (a_ipd AND b_ipd AND c_ipd AND d_ipd);      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (a_ipd'last_event, tpd_a_z, TRUE),                 1 => (b_ipd'last_event, tpd_b_z, TRUE),                 2 => (c_ipd'last_event, tpd_c_z, TRUE),                 3 => (d_ipd'last_event, tpd_d_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell and5 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY and5 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "and5";      tpd_a_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_c_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_d_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_e_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);      tipd_c          :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_d          :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_e          :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a               :	IN    std_logic;      b               :	IN    std_logic;      c               :	IN    std_logic;      d               :	IN    std_logic;      e               :	IN    std_logic;      z               :	OUT   std_logic);   ATTRIBUTE Vital_Level0 OF and5 : ENTITY IS TRUE;END and5;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF and5 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a_ipd	 : std_logic := 'X';   SIGNAL b_ipd	 : std_logic := 'X';   SIGNAL c_ipd	 : std_logic := 'X';   SIGNAL d_ipd	 : std_logic := 'X';   SIGNAL e_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a_ipd, a, tipd_a);   VitalWireDelay (b_ipd, b, tipd_b);   VitalWireDelay (c_ipd, c, tipd_c);   VitalWireDelay (d_ipd, d, tipd_d);   VitalWireDelay (e_ipd, e, tipd_e);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a_ipd, b_ipd, c_ipd, d_ipd, e_ipd)   -- functionality results   VARIABLE results : std_logic_vector(1 to 1) := (others => 'X');   ALIAS z_zd       : std_ulogic IS results(1);   -- output glitch detection VARIABLEs   VARIABLE z_GlitchData	: VitalGlitchDataType;   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;      -------------------------      --  functionality section      -------------------------      z_zd := (a_ipd AND b_ipd AND c_ipd AND d_ipd AND e_ipd);      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (a_ipd'last_event, tpd_a_z, TRUE),                 1 => (b_ipd'last_event, tpd_b_z, TRUE),                 2 => (c_ipd'last_event, tpd_c_z, TRUE),                 3 => (d_ipd'last_event, tpd_d_z, TRUE),                 4 => (e_ipd'last_event, tpd_e_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell fadd2 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY fadd2 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "fadd2";      tpd_a0_cout0    :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_cout0    :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_cout0    :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b1_cout0    :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_ci_cout0    :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a0_cout1    : VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_cout1    : VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_cout1    : VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b1_cout1    : VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_ci_cout1    : VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a0_s0       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a0_s1       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_s0       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_a1_s1       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_s0       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b0_s1       :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_b1_s0       :	VitalDelayType01 := (0.01 ns, 0.01 ns);

⌨️ 快捷键说明

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