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

📄 factlib.vhd

📁 ERC32 经典的sparc v7 cpu
💻 VHD
📖 第 1 页 / 共 2 页
字号:
--------------------------------------------------------------------------------- File name : fact_gen.vhd-- Title : FACTGeneric-- project : SPARC -- Library : FACTLIB-- Author(s) : Remi CISSOU-- Purpose :  modelling of the Fact library -- notes :   -- 	--------------------------------------------------------------------------------- Modification history :--------------------------------------------------------------------------------- Version No : | Author | Mod. Date : | Changes made :--------------------------------------------------------------------------------- v 1.0        | RC-MR  |             | first version--.............................................................................--------------------------------------------------------------------------------- Copyright MATRA MARCONI SPACE FRANCE----------------------------------------------------------------------------------------|---------|---------|---------|---------|---------|---------|--------|-------------------------------------------------------------------------------- 54AC245------------------------------------------------------------------------------library IEEE;use IEEE.Std_Logic_1164.all;library MMS;use MMS.StdSim.all;use MMS.StdTiming.all;use MMS.StdIoImp.all;entity AC245Generic is  generic(     tPLH_245ab : time := 0 ns; -- Propagation Delay An to Bn      tPHL_245ab : time := 0 ns; -- Propagation Delay An to Bn      tPZH_245ab : time := 0 ns; -- Output Enable Time (to Bn)     tPZL_245ab : time := 0 ns; -- Output Enable Time (to Bn)     tPHZ_245ab : time := 0 ns; -- Output Disable Time (to Bn)     tPLZ_245ab : time := 0 ns; -- Output Disable Time (to Bn)     tPLH_245ba : time := 0 ns; -- Propagation Delay Bn to An      tPHL_245ba : time := 0 ns; -- Propagation Delay Bn to An      tPZH_245ba : time := 0 ns; -- Output Enable Time (to An)     tPZL_245ba : time := 0 ns; -- Output Enable Time (to An)     tPHZ_245ba : time := 0 ns; -- Output Disable Time (to An)     tPLZ_245ba : time := 0 ns  -- Output Disable Time (to An)  );    port(    OE_N  : in std_logic;                       -- Output Enable    T_R_N : in std_logic;                       -- Transmit Receive Input    A     : inout std_logic_vector(7 downto 0); -- Side A TriState Inputs or                                                -- TriState Outputs    B     : inout std_logic_vector(7 downto 0)  -- Side B TriState Inputs or                                                -- TriState Outputs  );end AC245Generic;architecture Behavior of AC245Generic is  constant tZtoXab : time := MinTime(tPHL_245ab, tPLH_245ab); -- SE suggestion  constant tZtoXba : time := MinTime(tPHL_245ba, tPLH_245ba); -- SE suggestionbegin  process (OE_N, T_R_N, A, B)  begin     if OE_N = '1' then        for i in 0 to 7 loop         A(i) <= 'Z' after TpDelay(A(i), 'Z', tPLH_245ba, tPHL_245ba, tPZH_245ba,                                             tPZL_245ba, tPHZ_245ba,                                              tPLZ_245ba);            B(i) <= 'Z' after TpDelay(B(i), 'Z', tPLH_245ab, tPHL_245ab, tPZH_245ab,                                             tPZL_245ab, tPHZ_245ab,                                              tPLZ_245ab);      end loop;    elsif T_R_N = '0' and OE_N = '0' then          for i in 0 to 7  loop        if B(i) = 'Z' then           A(i) <= 'X' after tZtoXba;         else               A(i) <= B(i) after TpDelay(A(i), B(i), tPLH_245ba, tPHL_245ba,                                                  tPZH_245ba,                                                  tPZL_245ba, tPHZ_245ba,                                                  tPLZ_245ba);        end if;      end loop;            B <= (others => 'Z');         elsif T_R_N = '1' and OE_N = '0' then          for i in 0 to 7  loop        if A(i) = 'Z' then           B(i) <= 'X' after tZtoXab;        else                   B(i) <= A(i) after TpDelay(B(i), A(i), tPLH_245ab, tPHL_245ab,                                                  tPZH_245ab,                                                  tPZL_245ab, tPHZ_245ab,                                                  tPLZ_245ab);        end if;      end loop;            A <= (others => 'Z');         else       A <= (others => 'U');      B <= (others => 'U');         end if;       end process;  end Behavior;-------------------------------------------------------------------------------- 54AC377------------------------------------------------------------------------------library IEEE;use IEEE.Std_Logic_1164.all;library MMS;use MMS.StdSim.all;use MMS.StdTiming.all;use MMS.StdIoImp.all;entity AC377Generic is  generic(     tPLH_377 : time := 0 ns; -- Propagation Delay CP to Qn     tPHL_377 : time := 0 ns; -- Propagation Delay CP to Qn     tSD_377  : time := 0 ns; -- Dn Set Up to CP      tHD_377  : time := 0 ns; -- Dn Hold to CP     tSC_377  : time := 0 ns; -- CE_N Set Up to CP     tHC_377  : time := 0 ns  -- CE_N Hold to CP  );    port(    CP    : in std_logic;                      -- Clock Pulse Input    CE_N  : in std_logic;                      -- Clock Enable    D     : in std_logic_vector(7 downto 0);   -- Data Inputs    Q     : out std_logic_vector(7 downto 0)   -- Data Outputs  );end AC377Generic;	architecture Behavior of AC377Generic isbegin  SetupHoldCheck (Data => D,                  Ref  => CP,                   Edge => Rising,                  SetUp => tSD_377, Hold => tHD_377,                  Path  => "AC377",                  DelayedData => D);                    SetupHoldCheck (Data => CE_N,                  Ref  => CP,                   Edge => Rising,                  SetUp => tSC_377, Hold => tHC_377,                  Path  => "AC377",                  DelayedData => CE_N);                    process    begin                     wait on CP ;      if rising_edge(CP) and CE_N = '0' then        for i in 0 to 7 loop         if D(i) = '0' then           Q(i) <= D(i) after tPHL_377;        elsif D(i) = '1' then           Q(i) <= D(i) after tPLH_377;        else           Q(i) <= D(i);        end if;      end loop;        end if;    end process;  end Behavior;--------------------------------------------------------------- File containing timing values for the FACT components.-- -- ALL THE TIMING PARAMETERS are given at 125 degrees C,  -- 4.5 Volts and in worst case process conditions.-- WARNING: minimal values for output signal propagation -- delay in data sheets are usually given in best conditions,  -- i.e -55 Celsius, 5.5 Volts and best case process conditions.-- They must be re-calculated for worst case conditions.-------------------------------------------------------------package FACTTimPar is  --------------------------------------------------------  -- File containing nominal timing values fo AC245.  --------------------------------------------------------   constant tPLH_245 : time :=  9 ns;  constant tPHL_245 : time :=  8 ns;  constant tPZH_245 : time := 11 ns;  constant tPZL_245 : time := 11 ns;  constant tPHZ_245 : time := 11 ns;  constant tPLZ_245 : time := 11 ns;--------------------------------------------------------------- File containing nominal timing values for AC377.-------------------------------------------------------------   constant tPLH_377 : time := 11 ns;  constant tPHL_377 : time := 12 ns;  constant tSD_377  : time :=  6 ns;  constant tHD_377  : time :=  3 ns;  constant tSC_377  : time :=  6 ns;  constant tHC_377  : time :=  2 ns;end FACTTimPar;--------------------------------------------------------------------------------- File name : Fact_Comp_Pck.vhd-- Title : FactComponentPackage-- project : SPARC -- Library : FACTLIB-- Author(s) : Remi CISSOU-- Purpose : package to declare components of entities-- notes :  use this package whenever a component is instanciated. -- 	--------------------------------------------------------------------------------- Modification history :--------------------------------------------------------------------------------- Version No : | Author | Mod. Date : | Changes made :--------------------------------------------------------------------------------- v 1.0        |  MR    | 93-12       | first version--.............................................................................-------------------------------------------------------------------------------

⌨️ 快捷键说明

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