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

📄 orca_mem.vhd

📁 porting scintilla to qt
💻 VHD
📖 第 1 页 / 共 5 页
字号:
  port (ad0  : IN   std_logic;        ad1  : IN   std_logic;        ad2  : IN   std_logic;        ad3  : IN   std_logic;        ad4  : IN   std_logic;        ad5  : IN   std_logic;        do0   : OUT  std_logic);     ATTRIBUTE Vital_Level0 OF rom64x1 : ENTITY IS TRUE; END rom64x1; -- architecture body --ARCHITECTURE v OF rom64x1 IS    ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;    SIGNAL ad0_ipd  : std_logic := 'X';   SIGNAL ad1_ipd  : std_logic := 'X';   SIGNAL ad2_ipd  : std_logic := 'X';   SIGNAL ad3_ipd  : std_logic := 'X';   SIGNAL ad4_ipd  : std_logic := 'X';   SIGNAL ad5_ipd  : std_logic := 'X'; BEGIN    -----------------------   -- input path delays   -----------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay(ad0_ipd, ad0, tipd_ad0);   VitalWireDelay(ad1_ipd, ad1, tipd_ad1);   VitalWireDelay(ad2_ipd, ad2, tipd_ad2);   VitalWireDelay(ad3_ipd, ad3, tipd_ad3);   VitalWireDelay(ad4_ipd, ad4, tipd_ad4);   VitalWireDelay(ad5_ipd, ad5, tipd_ad5);   END BLOCK;    -----------------------   -- behavior section   -----------------------   VitalBehavior : PROCESS (ad0_ipd, ad1_ipd, ad2_ipd, ad3_ipd, ad4_ipd, ad5_ipd)      VARIABLE memory   : std_logic_vector((2**6)-1 downto 0) := hex2bin(initval);      -- functionality results     VARIABLE do0_zd : std_logic :='X';          -- output glitch results     VARIABLE do0_GlitchData : VitalGlitchDataType;BEGIN   ------------------------   -- functionality section   ------------------------      do0_zd := VitalMUX (data => memory,                         dselect => (ad5_ipd, ad4_ipd, ad3_ipd, ad2_ipd, ad1_ipd, ad0_ipd));   ------------------------   -- path delay section   ------------------------   VitalPathDelay01 (     OutSignal => do0,     OutSignalName => "do0",     OutTemp => do0_zd,     Paths => (0 => (ad0_ipd'last_event, tpd_ad0_do0, TRUE),               1 => (ad1_ipd'last_event, tpd_ad1_do0, TRUE),               2 => (ad2_ipd'last_event, tpd_ad2_do0, TRUE),               3 => (ad3_ipd'last_event, tpd_ad3_do0, TRUE),               4 => (ad4_ipd'last_event, tpd_ad4_do0, TRUE),               5 => (ad5_ipd'last_event, tpd_ad5_do0, TRUE)),      GlitchData => do0_glitchdata,      Mode => ondetect,      XOn => XOn,       MsgOn => MsgOn);   end process; end V;  ------- cell rom32x1 -------LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;USE ieee.vital_timing.all;USE ieee.vital_primitives.all;USE work.mem2.all; -- entity declaration --ENTITY rom32x1 IS  GENERIC (        initval : string := "0x00000000";         -- miscellaneous vital GENERICs        TimingChecksOn  : boolean := FALSE;        XOn             : boolean := FALSE;        MsgOn           : boolean := FALSE;        InstancePath    : string  := "rom32x1";         -- input SIGNAL delays        tipd_ad0  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad1  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad2  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad3  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad4  : VitalDelayType01 := (0.0 ns, 0.0 ns);           -- propagation delays        tpd_ad0_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad1_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad2_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad3_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad4_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns));   port (ad0  : IN   std_logic;        ad1  : IN   std_logic;        ad2  : IN   std_logic;        ad3  : IN   std_logic;        ad4  : IN   std_logic;        do0   : OUT  std_logic);     ATTRIBUTE Vital_Level0 OF rom32x1 : ENTITY IS TRUE; END rom32x1; -- architecture body --ARCHITECTURE v OF rom32x1 IS    ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;    SIGNAL ad0_ipd  : std_logic := 'X';   SIGNAL ad1_ipd  : std_logic := 'X';   SIGNAL ad2_ipd  : std_logic := 'X';   SIGNAL ad3_ipd  : std_logic := 'X';   SIGNAL ad4_ipd  : std_logic := 'X'; BEGIN    -----------------------   -- input path delays   -----------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay(ad0_ipd, ad0, tipd_ad0);   VitalWireDelay(ad1_ipd, ad1, tipd_ad1);   VitalWireDelay(ad2_ipd, ad2, tipd_ad2);   VitalWireDelay(ad3_ipd, ad3, tipd_ad3);   VitalWireDelay(ad4_ipd, ad4, tipd_ad4);   END BLOCK;    -----------------------   -- behavior section   -----------------------   VitalBehavior : PROCESS (ad0_ipd, ad1_ipd, ad2_ipd, ad3_ipd, ad4_ipd)      VARIABLE memory   : std_logic_vector((2**5)-1 downto 0) := hex2bin(initval);      -- functionality results     VARIABLE do0_zd : std_logic :='X';          -- output glitch results     VARIABLE do0_GlitchData : VitalGlitchDataType;BEGIN   ------------------------   -- functionality section   ------------------------      do0_zd := VitalMUX (data => memory,                         dselect => (ad4_ipd, ad3_ipd, ad2_ipd, ad1_ipd, ad0_ipd));   ------------------------   -- path delay section   ------------------------   VitalPathDelay01 (     OutSignal => do0,     OutSignalName => "do0",     OutTemp => do0_zd,     Paths => (0 => (ad0_ipd'last_event, tpd_ad0_do0, TRUE),               1 => (ad1_ipd'last_event, tpd_ad1_do0, TRUE),               2 => (ad2_ipd'last_event, tpd_ad2_do0, TRUE),               3 => (ad3_ipd'last_event, tpd_ad3_do0, TRUE),               4 => (ad4_ipd'last_event, tpd_ad4_do0, TRUE)),      GlitchData => do0_glitchdata,      Mode => ondetect,      XOn => XOn,       MsgOn => MsgOn);   end process; end V;  ------- cell rom16x1 -------LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;USE ieee.vital_timing.all;USE ieee.vital_primitives.all;USE work.mem2.all; -- entity declaration --ENTITY rom16x1 IS  GENERIC (        initval : string := "0x0000";         -- miscellaneous vital GENERICs        TimingChecksOn  : boolean := TRUE;        XOn             : boolean := FALSE;        MsgOn           : boolean := TRUE;        InstancePath    : string  := "rom16x1";        -- input SIGNAL delays        tipd_ad0  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad1  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad2  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_ad3  : VitalDelayType01 := (0.0 ns, 0.0 ns);           -- propagation delays        tpd_ad0_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad1_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad2_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns);        tpd_ad3_do0     : VitalDelayType01 := (0.01 ns, 0.01 ns));   port (ad0  : IN   std_logic;        ad1  : IN   std_logic;        ad2  : IN   std_logic;        ad3  : IN   std_logic;        do0   : OUT  std_logic);     ATTRIBUTE Vital_Level0 OF rom16x1 : ENTITY IS TRUE; END rom16x1;-- architecture body --ARCHITECTURE v OF rom16x1 IS    ATTRIBUTE Vital_Level0 OF v : ARCHITECTURE IS TRUE;    SIGNAL ad0_ipd  : std_logic := 'X';   SIGNAL ad1_ipd  : std_logic := 'X';   SIGNAL ad2_ipd  : std_logic := 'X';   SIGNAL ad3_ipd  : std_logic := 'X'; BEGIN    -----------------------   -- input path delays   -----------------------   WireDelay : BLOCK   BEGIN   VitalWireDelay(ad0_ipd, ad0, tipd_ad0);   VitalWireDelay(ad1_ipd, ad1, tipd_ad1);   VitalWireDelay(ad2_ipd, ad2, tipd_ad2);   VitalWireDelay(ad3_ipd, ad3, tipd_ad3);   END BLOCK;    -----------------------   -- behavior section   -----------------------   VitalBehavior : PROCESS (ad0_ipd, ad1_ipd, ad2_ipd, ad3_ipd)      VARIABLE memory   : std_logic_vector((2**4)-1 downto 0) := hex2bin(initval);      -- functionality results     VARIABLE do0_zd : std_logic :='X';      -- output glitch results     VARIABLE do0_GlitchData : VitalGlitchDataType; BEGIN    ------------------------   -- functionality section   ------------------------       do0_zd := VitalMUX (data => memory,                         dselect => (ad3_ipd, ad2_ipd, ad1_ipd, ad0_ipd));    ------------------------   -- path delay section   ------------------------   VitalPathDelay01 (     OutSignal => do0,     OutSignalName => "do0",     OutTemp => do0_zd,     Paths => (0 => (ad0_ipd'last_event, tpd_ad0_do0, TRUE),               1 => (ad1_ipd'last_event, tpd_ad1_do0, TRUE),               2 => (ad2_ipd'last_event, tpd_ad2_do0, TRUE),               3 => (ad3_ipd'last_event, tpd_ad3_do0, TRUE)),      GlitchData => do0_glitchdata,      Mode => ondetect,      XOn => XOn,      MsgOn => MsgOn);    end process; end V;----- cell dpr16x2b -------LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;USE ieee.vital_timing.all;USE ieee.vital_primitives.all;USE work.mem1.all;-- entity declaration --ENTITY dpr16x2b IS  GENERIC (        -- miscellaneous vital GENERICs        TimingChecksOn  : boolean := TRUE;        XOn             : boolean := FALSE;        MsgOn           : boolean := TRUE;        InstancePath    : string  := "dpr16x2b";        -- input SIGNAL delays        tipd_rad0 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_rad1 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_rad2 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_rad3 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_wad0 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_wad1 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_wad2 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_wad3 : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_di0  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_di1  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_wre  : VitalDelayType01 := (0.0 ns, 0.0 ns);        tipd_wck  : VitalDelayType01 := (0.0 ns, 0.0 ns);        -- setup and hold constraints        tsetup_wad0_wck_noedge_posedge : VitalDelayType := 0.0 ns;        tsetup_wad1_wck_noedge_posedge : VitalDelayType := 0.0 ns;        tsetup_wad2_wck_noedge_posedge : VitalDelayType := 0.0 ns;        tsetup_wad3_wck_noedge_posedge : VitalDelayType := 0.0 ns;        tsetup_wre_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        tsetup_di0_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        tsetup_di1_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        thold_wad0_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        thold_wad1_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        thold_wad2_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        thold_wad3_wck_noedge_posedge  : VitalDelayType := 0.0 ns;        thold_wre_wck_noedge_posedge   : VitalDelayType := 0.0 ns;        thold_di0_wck_noedge_posedge   : VitalDelayType := 0.0 ns;        thold_di1_wck_noedge_posedge   : VitalDelayType := 0.0 ns;        -- pulse width constraints        tperiod_wre             : VitalDelayType := 0.001 ns;        tpw_wre_posedge : VitalDelayType := 0.001 ns;        tpw_wre_negedge : VitalDelayType := 0.001 ns;        tperiod_wck              : VitalDelayType := 0.001 ns;        tpw_wck_posedge         : VitalDelayType := 0.001 ns;        tpw_wck_negedge         : VitalDelayType := 0.001 ns;        -- propagation delays        tpd_wck_wdo0    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_wck_wdo1    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad0_rdo0    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad1_rdo0   : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad2_rdo0    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad3_rdo0    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad0_rdo1    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad1_rdo1   : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad2_rdo1    : VitalDelayType01 := (0.001 ns, 0.001 ns);        tpd_rad3_rdo1    : VitalDelayType01 := (0.001 ns, 0.001 ns));  port (di0  : IN std_logic;        di1  : IN std_logic;        wck  : IN std_logic;        wre  : IN std_logic;        rad0 : IN std_logic;        rad1 : IN std_logic;        rad2 : IN std_logic;        rad3 : IN std_logic;        wad0 : IN std_logic;        wad1 : IN std_logic;

⌨️ 快捷键说明

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