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

📄 orca_cmb.vhd

📁 porting scintilla to qt
💻 VHD
📖 第 1 页 / 共 5 页
字号:
ARCHITECTURE v OF fadsu2 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 bci_ipd : std_logic := 'X';   SIGNAL con_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 (bci_ipd, bci, tipd_bci);   VitalWireDelay (con_ipd, con, tipd_con);   END BLOCK;    --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a0_ipd, a1_ipd, b0_ipd, b1_ipd, bci_ipd, con_ipd)    -- functionality results   VARIABLE results1 : std_logic_vector(1 to 2) := (others => 'X');   VARIABLE results2 : std_logic_vector(1 to 2) := (others => 'X');   VARIABLE results3 : std_logic_vector(1 to 2) := (others => 'X');   VARIABLE results4 : std_logic_vector(1 to 2) := (others => 'X');   ALIAS bc0_zd     : std_ulogic IS results1(1);   ALIAS s0_zd      : std_ulogic IS results1(2);   ALIAS bco_zd     : std_ulogic IS results2(1);   ALIAS s1_zd      : std_ulogic IS results2(2);    -- output glitch detection VARIABLEs   VARIABLE bco_GlitchData   : VitalGlitchDataType;   VARIABLE s0_GlitchData    : VitalGlitchDataType;   VARIABLE s1_GlitchData    : VitalGlitchDataType;   constant adsu_table : vitaltruthtabletype := (   --------------------------------------------   --   a    b   bci  con  |   bco   s   --------------------------------------------      ('0', '0', '0', '1',     '0', '0'),      ('1', '0', '0', '1',     '0', '1'),      ('0', '1', '0', '1',     '0', '1'),      ('1', '1', '0', '1',     '1', '0'),      ('0', '0', '1', '1',     '0', '1'),      ('1', '0', '1', '1',     '1', '0'),      ('0', '1', '1', '1',     '1', '0'),      ('1', '1', '1', '1',     '1', '1'),      ('0', '0', '0', '0',     '0', '1'),      ('1', '0', '0', '0',     '1', '0'),      ('0', '1', '0', '0',     '0', '0'),      ('1', '1', '0', '0',     '0', '1'),      ('0', '0', '1', '0',     '1', '0'),      ('1', '0', '1', '0',     '1', '1'),      ('0', '1', '1', '0',     '0', '1'),      ('1', '1', '1', '0',     '1', '0'));   BEGIN      IF (TimingChecksOn) THEN      -----------------------------------      -- no timing checks for a comb gate      -----------------------------------      END IF;       -------------------------      --  functionality section      -------------------------      results1 := vitaltruthtable (                truthtable => adsu_table,                datain => (a0_ipd, b0_ipd, bci_ipd, con_ipd)                );      results2 := vitaltruthtable (                truthtable => adsu_table,                datain => (a1_ipd, b1_ipd, bc0_zd, con_ipd)                );      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => bco,       OutSignalName => "bco",       OutTemp => bco_zd,       Paths => (0 => (a0_ipd'last_event, tpd_a0_bco, TRUE),                 1 => (a1_ipd'last_event, tpd_a1_bco, TRUE),                 2 => (b0_ipd'last_event, tpd_b0_bco, TRUE),                 3 => (b1_ipd'last_event, tpd_b1_bco, TRUE),		 4 => (bci_ipd'last_event, tpd_bci_bco, TRUE),		 5 => (con_ipd'last_event, tpd_con_bco, TRUE)),       GlitchData => bco_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);       VitalPathDelay01 (       OutSignal => s0,       OutSignalName => "s0",       OutTemp => s0_zd,       Paths => (0 => (a0_ipd'last_event, tpd_a0_s0, TRUE),                 1 => (a1_ipd'last_event, tpd_a1_s0, TRUE),                 2 => (b0_ipd'last_event, tpd_b0_s0, TRUE),                 3 => (b1_ipd'last_event, tpd_b1_s0, TRUE),		 4 => (bci_ipd'last_event, tpd_bci_s0, TRUE),		 5 => (con_ipd'last_event, tpd_con_s0, TRUE)),       GlitchData => s0_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);      VitalPathDelay01 (       OutSignal => s1,       OutSignalName => "s1",       OutTemp => s1_zd,       Paths => (0 => (a0_ipd'last_event, tpd_a0_s1, TRUE),                 1 => (a1_ipd'last_event, tpd_a1_s1, TRUE),                 2 => (b0_ipd'last_event, tpd_b0_s1, TRUE),                 3 => (b1_ipd'last_event, tpd_b1_s1, TRUE),		 4 => (bci_ipd'last_event, tpd_bci_s1, TRUE),		 5 => (con_ipd'last_event, tpd_con_s1, TRUE)),       GlitchData => s1_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);  END PROCESS;END v;------- cell inv -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY inv IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "inv";      tpd_a_z         :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_a          :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      a                              :	IN    std_logic;      z                              :	OUT  std_logic);   ATTRIBUTE Vital_Level0 OF inv : ENTITY IS TRUE;END inv;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF inv IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL a_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (a_ipd, a, tipd_a);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (a_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      -------------------------      --  functionality section      -------------------------      z_zd := (NOT a_ipd);      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (a_ipd'last_event, tpd_a_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell mux21 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY mux21 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "mux21";      tpd_d0_z        :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_d1_z        :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_sd_z        :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_d0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_d1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_sd         :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      d0              :	IN    std_logic;      d1              :	IN    std_logic;      sd              :	IN    std_logic;      z               :	OUT  std_logic);   ATTRIBUTE Vital_Level0 OF mux21 : ENTITY IS TRUE;END mux21;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF mux21 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL d0_ipd	 : std_logic := 'X';   SIGNAL d1_ipd	 : std_logic := 'X';   SIGNAL sd_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (d0_ipd, d0, tipd_d0);   VitalWireDelay (d1_ipd, d1, tipd_d1);   VitalWireDelay (sd_ipd, sd, tipd_sd);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (d0_ipd, d1_ipd, sd_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      -------------------------      --  functionality section      -------------------------      z_zd := vitalmux                 (data => (d1_ipd, d0_ipd),                  dselect => (0 => sd_ipd));      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (d0_ipd'last_event, tpd_d0_z, TRUE),                 1 => (d1_ipd'last_event, tpd_d1_z, TRUE),                 2 => (sd_ipd'last_event, tpd_sd_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;------- cell l6mux21 -----LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.vital_timing.all;-- entity declaration --ENTITY l6mux21 IS   GENERIC(      TimingChecksOn  : boolean := TRUE;      XOn             : boolean := FALSE;      MsgOn           : boolean := TRUE;      InstancePath    : string := "l6mux21";      tpd_d0_z        :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_d1_z        :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tpd_sd_z        :	VitalDelayType01 := (0.01 ns, 0.01 ns);      tipd_d0         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_d1         :	VitalDelayType01 := (0.0 ns, 0.0 ns);      tipd_sd         :	VitalDelayType01 := (0.0 ns, 0.0 ns));   PORT(      d0              :	IN    std_logic;      d1              :	IN    std_logic;      sd              :	IN    std_logic;      z               :	OUT  std_logic);   ATTRIBUTE Vital_Level0 OF l6mux21 : ENTITY IS TRUE;END l6mux21;-- architecture body --LIBRARY ieee;USE ieee.vital_primitives.all;ARCHITECTURE v OF l6mux21 IS   ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;   SIGNAL d0_ipd	 : std_logic := 'X';   SIGNAL d1_ipd	 : std_logic := 'X';   SIGNAL sd_ipd	 : std_logic := 'X';BEGIN   ---------------------   --  input path delays   ---------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay (d0_ipd, d0, tipd_d0);   VitalWireDelay (d1_ipd, d1, tipd_d1);   VitalWireDelay (sd_ipd, sd, tipd_sd);   END BLOCK;   --------------------   --  behavior section   --------------------   VitalBehavior : PROCESS (d0_ipd, d1_ipd, sd_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      -------------------------      --  functionality section      -------------------------      z_zd := vitalmux                 (data => (d1_ipd, d0_ipd),                  dselect => (0 => sd_ipd));      ----------------------      --  path delay section      ----------------------      VitalPathDelay01 (       OutSignal => z,       OutSignalName => "z",       OutTemp => z_zd,       Paths => (0 => (d0_ipd'last_event, tpd_d0_z, TRUE),                 1 => (d1_ipd'last_event, tpd_d1_z, TRUE),                 2 => (sd_ipd'last_event, tpd_sd_z, TRUE)),       GlitchData => z_GlitchData,       Mode => OnDetect,       XOn => XOn,       MsgOn => MsgOn);END PROCESS;END v;

⌨️ 快捷键说明

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