AMBPEX5_v20_SX50T_CORE
adm/adm2_pkg.vhd
00001 ---------------------------------------------------------------------------------------------------
00002 --
00003 -- Title       : adm2_pkg
00004 -- Author      : Dmitry Smekhov
00005 -- Company     : Instrumental System
00006 --
00007 -- Version     : 2.1   
00008 --
00009 ---------------------------------------------------------------------------------------------------
00010 --
00011 -- Description :  Определение типов данных и общих модулей
00012 --                                      
00013 ---------------------------------------------------------------------------------------------------
00014 --                                      
00015 --  Version 2.1  18.07.2007
00016 --                               Добавлено описание типа std_logic_array16x6
00017 --
00018 ---------------------------------------------------------------------------------------------------
00019 --                                      
00020 --  Version 2.0  15.12.2006
00021 --                               Добавлены описания типов std_logic_array16x ...
00022 --
00023 ---------------------------------------------------------------------------------------------------
00024 --                                      
00025 --  Version 1.4  17.06.2005
00026 --                               Удалены описания компонентов
00027 --
00028 ---------------------------------------------------------------------------------------------------
00029 --
00030 --      Version 1.3  31.10.2003
00031 --                               Добавлены описания модулей cl_fifo256x32_v2
00032 --
00033 ---------------------------------------------------------------------------------------------------
00034 
00035 library ieee;
00036 use ieee.std_logic_1164.all; 
00037 
00038 package adm2_pkg is
00039         
00040 type bl_cmd is record
00041         data_we                 : std_logic;    -- 1 - запись в регистр DATA
00042         cmd_data_we             : std_logic;    -- 1 - запись в регистр CMD_DATA
00043         status_cs               : std_logic;    -- 0 - чтение из регистра STATUS
00044         data_cs                 : std_logic;    -- 0 - чтение из регистра DATA
00045         cmd_data_cs             : std_logic;    -- 0 - чтение из регистра CMD_DATA
00046         cmd_adr_we              : std_logic;    -- 1 - запись в регистр косвенного адреса
00047         adr                             : std_logic_vector( 9 downto 0 ); -- косвенный адрес
00048         data_oe                 : std_logic;    -- 0 - разрешение выхода регистра DATA
00049         
00050 end record;
00051 
00052 type bl_drq is record
00053         en                              : std_logic;    -- 1 - разрешение запроса DMA
00054         req                             : std_logic;    -- 1 - запрос на выполнение цикла DMA
00055         ack                             : std_logic;    -- 1 - выполнение цикла DMA
00056 end record;     
00057 
00058 type bl_trd_rom is array( 31 downto 0 ) of std_logic_vector( 15 downto 0 );
00059 
00060 type bl_fifo_flag is record
00061         ef              : std_logic;    -- 0 - FIFO пустое
00062         pae             : std_logic;    -- 0 - FIFO почти пустое
00063         hf              : std_logic;    -- 0 - FIFO заполнено наполовину 
00064         paf             : std_logic;    -- 0 - FIFO почти полное
00065         ff              : std_logic;    -- 0 - FIFO полное
00066         ovr             : std_logic;    -- 1 - запись в полное FIFO
00067         und             : std_logic;    -- 1 - чтение из пустого FIFO
00068 end record;     
00069 
00070 type std_logic_array_16x64 is array (15 downto 0) of std_logic_vector(63 downto 0);
00071 type std_logic_array_16x16 is array (15 downto 0) of std_logic_vector(15 downto 0);
00072 type std_logic_array_16x6  is array (15 downto 0) of std_logic_vector(6 downto 0);
00073 type std_logic_array_16xbl_cmd is array (15 downto 0) of bl_cmd;
00074 type std_logic_array_16xbl_drq is array (15 downto 0) of bl_drq;
00075 type std_logic_array_16xbl_irq is array (15 downto 0) of std_logic;
00076 type std_logic_array_16xbl_reset_fifo is array (15 downto 0) of std_logic;
00077 type std_logic_array_16xbl_trd_rom is array (15 downto 0) of bl_trd_rom;
00078 type std_logic_array_16x7 is array (15 downto 0) of std_logic_vector(6 downto 0);
00079 type std_logic_array_16xbl_fifo_flag is array (15 downto 0) of bl_fifo_flag;
00080 
00081 component ctrl_buft16 is
00082         port (
00083         t: in std_logic;
00084         i: in std_logic_vector(15 downto 0);
00085         o: out std_logic_vector(15 downto 0));
00086 end component;  
00087 
00088 component ctrl_buft32 is
00089         port (
00090         t: in std_logic;
00091         i: in std_logic_vector(31 downto 0);
00092         o: out std_logic_vector(31 downto 0));
00093 end component;  
00094 
00095 component ctrl_buft64 is
00096         port (
00097         t: in std_logic;
00098         i: in std_logic_vector(63 downto 0);
00099         o: out std_logic_vector(63 downto 0));
00100 end component;  
00101 
00102 
00103 end package;