AMBPEX5_v20_SX50T_CORE
|
00001 --------------------------------------------------------------------------------------------------- 00002 -- 00003 -- Title : ctrl_adsp_v2_decode_ram_cs 00004 -- Author : Dmitry Smekhov, Ilya Ivanov 00005 -- Company : Instrumental System 00006 -- 00007 -- Version : 1.1 00008 --------------------------------------------------------------------------------------------------- 00009 -- 00010 -- Description : Модуль декодирования сигнала чтения ОЗУ или ПЗУ для Virtex2 00011 -- 00012 --------------------------------------------------------------------------------------------------- 00013 -- 00014 -- Version 1.1 17.06.2005 00015 -- Удалены атрибуты RLOC и компоненты FMAP 00016 -- 00017 --------------------------------------------------------------------------------------------------- 00018 00019 00020 library IEEE; 00021 use IEEE.STD_LOGIC_1164.all; 00022 use ieee.std_logic_arith.all; 00023 00024 -- synopsys translate_off 00025 library ieee; 00026 use ieee.vital_timing.all; 00027 -- synopsys translate_on 00028 00029 library unisim; 00030 use unisim.VCOMPONENTS.all; 00031 00032 00033 entity ctrl_adsp_v2_decode_ram_cs is 00034 generic ( 00035 reg : in integer -- номер регистра 00036 -- 0 - RAM 00037 -- 1 - ROM 00038 ); 00039 port ( 00040 reset : in std_logic; -- 0 - сброс 00041 clk : in std_logic; -- тактовая частота 00042 cmd_adr : in std_logic_vector( 9 downto 8 ); -- косвенный адрес 00043 adr : in std_logic_vector( 4 downto 0 ); -- шина адреса 00044 rd : in std_logic; -- 0 - чтение данных 00045 data_cs : out std_logic -- 0 - чтение данных 00046 ); 00047 end ctrl_adsp_v2_decode_ram_cs; 00048 00049 00050 architecture ctrl_adsp_v2_decode_ram_cs of ctrl_adsp_v2_decode_ram_cs is 00051 00052 signal cs1 : std_logic; -- 0 - чтение данных 00053 00054 --attribute rloc : string; 00055 --attribute rloc of xcs1 : label is "X0Y0"; 00056 --attribute rloc of xd : label is "X0Y0"; 00057 00058 begin 00059 00060 00061 00062 cs1 <='0' when adr( 1 downto 0 )="11" and 00063 cmd_adr( 9 downto 8 )=conv_std_logic_vector( reg, 2 ) 00064 else '1' after 1 ns; 00065 00066 --xcs1: fmap port map( o=>cs1, i1=>cmd_adr(8), i2=>cmd_adr(9), i3=>adr(0), i4=>adr(1) ); 00067 xd: fd port map( q =>data_cs, c =>clk , d =>cs1 ); 00068 00069 00070 end ctrl_adsp_v2_decode_ram_cs;