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/] [pcie_sim/] [sim/] [block_pkg.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
-------------------------------------------------------------------------------
2
--
3
-- Title       : plda_block_pkg
4
-- Author      : Dmitry Smekhov
5
-- Company     : Instrumental Systems
6
-- E-mail      : dsmv@insys.ru
7
--
8
-- Version     : 1.0
9
--
10
-------------------------------------------------------------------------------
11
--
12
-- Description : Функции доступа к блокам управления
13
--
14
-------------------------------------------------------------------------------
15
 
16
 
17
library ieee;
18
use ieee.std_logic_1164.all;
19
use ieee.std_logic_arith.all;
20
use ieee.std_logic_unsigned.all;
21
use work.cmd_sim_pkg.all;
22
 
23
 
24
package block_pkg is
25
 
26
---- Запись в регистр блока управления ----
27
procedure block_write(  signal cmd      : out bh_cmd;   -- команда для устройства
28
                                                signal ret      : in  bh_ret;   -- ответ устройства
29
                                                nb      : in  integer;  -- номер блока
30
                                                nr      : in  integer;  -- номер регистра
31
                                                data    : in std_logic_vector( 31 downto 0 ) -- значение
32
);
33
 
34
---- Чтение из регистра блока управления ----
35
procedure block_read(   signal cmd      : out bh_cmd;   -- команда для устройства
36
                                                signal ret      : in  bh_ret;   -- ответ устройства
37
                                                nb      : in  integer;  -- номер блока
38
                                                nr      : in  integer;  -- номер регистра
39
                                                data    : out std_logic_vector( 31 downto 0 ) -- значение
40
);
41
 
42
 
43
end block_pkg;
44
 
45
package body block_pkg is
46
 
47
---- Запись в регистр блока управления ----
48
procedure block_write(  signal cmd      : out bh_cmd;   -- команда для устройства
49
                                                signal ret      : in  bh_ret;   -- ответ устройства
50
                                                nb      : in  integer;  -- номер блока
51
                                                nr      : in  integer;  -- номер регистра
52
                                                data    : in std_logic_vector( 31 downto 0 ) -- значение
53
) is
54
 
55
variable        adr             : std_logic_vector( 31 downto 0 );
56
begin
57
 
58
        adr:=x"10000000";
59
        adr:=adr+nb*32*8+nr*8;
60
        data_write( cmd, ret, adr, data );
61
 
62
end block_write;
63
 
64
---- Чтение из регистра блока управления ----
65
procedure block_read(   signal cmd      : out bh_cmd;   -- команда для устройства
66
                                                signal ret      : in  bh_ret;   -- ответ устройства
67
                                                nb      : in  integer;  -- номер блока
68
                                                nr      : in  integer;  -- номер регистра
69
                                                data    : out std_logic_vector( 31 downto 0 ) -- значение
70
) is
71
variable        adr             : std_logic_vector( 31 downto 0 );
72
begin
73
 
74
        adr:=x"10000000";
75
        adr:=adr+nb*32*8+nr*8;
76
        data_read( cmd, ret, adr, data );
77
 
78
end block_read;
79
 
80
 
81
end block_pkg;
82
 

powered by: WebSVN 2.1.0

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