AMBPEX5_v20_SX50T_CORE
|
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;