OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [core/] [ds_dma64/] [pcie_src/] [components/] [rtl/] [core64_pb_transaction.vhd] - Diff between revs 2 and 47

Show entire file | Details | Blame | View Log

Rev 2 Rev 47
Line 3... Line 3...
-- Title       : core64_pb_transaction
-- Title       : core64_pb_transaction
-- Author      : Dmitry Smekhov
-- Author      : Dmitry Smekhov
-- Company     : Instrumental Systems
-- Company     : Instrumental Systems
-- E-mail      : dsmv@insys.ru
-- E-mail      : dsmv@insys.ru
--
--
-- Version     : 1.1
-- Version     : 1.2
--
--
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--
--
-- Description : Узел управления локальной шиной 
-- Description : Узел управления локальной шиной 
--                                                                                              
--                                                                                              
Line 16... Line 16...
--                                      1:  - 1 чтение данных
--                                      1:  - 1 чтение данных
--                                      2:  - 0 - одно слово, 1 - пакет 512 слов (4096 байт)
--                                      2:  - 0 - одно слово, 1 - пакет 512 слов (4096 байт)
--
--
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--
--
 
--      Version 1.2  14.12.2011
 
--                               Добавлен lc_rd_cfg
 
--
 
---------------------------------------------------------------------------------
 
--
--  Version 1.1  28.09.2011 Dmitry Smekhov
--  Version 1.1  28.09.2011 Dmitry Smekhov
--                               Добавлен сигнал pb_slave.complete 
--                               Добавлен сигнал pb_slave.complete 
--
--
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
 
 
Line 44... Line 49...
                lc_host_data            : out std_logic_vector( 63 downto 0 );   --! шина данных - выход
                lc_host_data            : out std_logic_vector( 63 downto 0 );   --! шина данных - выход
                lc_data                         : in  std_logic_vector( 63 downto 0 );   --! шина данных - вход
                lc_data                         : in  std_logic_vector( 63 downto 0 );   --! шина данных - вход
                lc_wr                           : out std_logic;        --! 1 - запись
                lc_wr                           : out std_logic;        --! 1 - запись
                lc_rd                           : out std_logic;        --! 1 - чтение, данные должны быть на шестой такт после rd 
                lc_rd                           : out std_logic;        --! 1 - чтение, данные должны быть на шестой такт после rd 
                lc_dma_req                      : in  std_logic_vector( 1 downto 0 );    --! 1 - запрос DMA
                lc_dma_req                      : in  std_logic_vector( 1 downto 0 );    --! 1 - запрос DMA
                lc_irq                          : in  std_logic         --! 1 - запрос прерывания 
                lc_irq                          : in  std_logic;        --! 1 - запрос прерывания 
 
                lc_rd_cfg                       : in std_logic_vector( 3 downto 0 ):="0101"      --! настройка задержки захвата данных по сигналу lc_rd                          
 
 
 
 
        );
        );
 
 
end component;
end component;
Line 80... Line 86...
                lc_host_data            : out std_logic_vector( 63 downto 0 );   --! шина данных - выход
                lc_host_data            : out std_logic_vector( 63 downto 0 );   --! шина данных - выход
                lc_data                         : in  std_logic_vector( 63 downto 0 );   --! шина данных - вход
                lc_data                         : in  std_logic_vector( 63 downto 0 );   --! шина данных - вход
                lc_wr                           : out std_logic;        --! 1 - запись
                lc_wr                           : out std_logic;        --! 1 - запись
                lc_rd                           : out std_logic;        --! 1 - чтение, данные должны быть на шестой такт после rd 
                lc_rd                           : out std_logic;        --! 1 - чтение, данные должны быть на шестой такт после rd 
                lc_dma_req                      : in  std_logic_vector( 1 downto 0 );    --! 1 - запрос DMA
                lc_dma_req                      : in  std_logic_vector( 1 downto 0 );    --! 1 - запрос DMA
                lc_irq                          : in  std_logic         --! 1 - запрос прерывания 
                lc_irq                          : in  std_logic;        --! 1 - запрос прерывания 
 
                lc_rd_cfg                       : in std_logic_vector( 3 downto 0 ):="0101"      --! настройка задержки захвата данных по сигналу lc_rd                          
 
 
 
 
        );
        );
 
 
end core64_pb_transaction;
end core64_pb_transaction;
Line 134... Line 141...
        end if;
        end if;
end process;
end process;
 
 
rd_start <= cnt_start and not cnt(9);
rd_start <= cnt_start and not cnt(9);
 
 
xrdz:   srl16 port map( q=>rd_start_z, clk=>clk, d=>rd_start, a3=>'0', a2=>'1', a1=>'0', a0=>'1' );
--xrdz: srl16 port map( q=>rd_start_z, clk=>clk, d=>rd_start, a3=>'0', a2=>'1', a1=>'0', a0=>'1' );
 
xrdz:   srl16 port map( q=>rd_start_z, clk=>clk, d=>rd_start, a3=>lc_rd_cfg(3), a2=>lc_rd_cfg(2), a1=>lc_rd_cfg(1), a0=>lc_rd_cfg(0) );
 
 
pb_slave.stb0 <= pb_master.stb0 after 1 ns when rising_edge( clk );
pb_slave.stb0 <= pb_master.stb0 after 1 ns when rising_edge( clk );
pb_slave.stb1 <= rd_start_z  after 1 ns when rising_edge( clk );
pb_slave.stb1 <= rd_start_z  after 1 ns when rising_edge( clk );
pb_slave.data <= lc_data   after 1 ns when rising_edge( clk );
pb_slave.data <= lc_data   after 1 ns when rising_edge( clk );
pb_slave.dmar <= lc_dma_req;
pb_slave.dmar <= lc_dma_req;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.