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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [lib/] [grlib/] [amba/] [dma2ahb_pkg.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
------------------------------------------------------------------------------
2
--  This file is a part of the GRLIB VHDL IP LIBRARY
3
--  Copyright (C) 2003, Gaisler Research
4
--
5
--  This program is free software; you can redistribute it and/or modify
6
--  it under the terms of the GNU General Public License as published by
7
--  the Free Software Foundation; either version 2 of the License, or
8
--  (at your option) any later version.
9
--
10
--  This program is distributed in the hope that it will be useful,
11
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
--  GNU General Public License for more details.
14
--
15
--  You should have received a copy of the GNU General Public License
16
--  along with this program; if not, write to the Free Software
17
--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
18
--============================================================================--
19
-- Design unit  : DMA2AHB_Package (package declaration)
20
--
21
-- File name    : dma2ahb_pkg.vhd
22
--
23
-- Purpose      : Interface package for AMBA AHB master interface with DMA input
24
--
25
-- Reference    : AMBA(TM) Specification (Rev 2.0), ARM IHI 0011A,
26
--                13th May 1999, issue A, first release, ARM Limited
27
--                The document can be retrieved from http://www.arm.com
28
--                AMBA is a trademark of ARM Limited.
29
--                ARM is a registered trademark of ARM Limited.
30
--
31
-- Note         : Naming convention according to AMBA(TM) Specification:
32
--                Signal names are in upper case, except for the following:
33
--                   A lower case 'n' in the name indicates that the signal
34
--                   is active low.
35
--                   Constant names are in upper case.
36
--                The least significant bit of an array is located to the right,
37
--                carrying the index number zero.
38
--
39
-- Limitations  : See DMA2AHB VHDL core
40
--
41
-- Library      : gaisler
42
--
43
-- Authors      : Mr Sandi Habinc
44
--                Gaisler Research AB
45
--                Forsta Langgantan 19
46
--                SE-413 27 Göteborg
47
--                Sweden
48
--
49
-- Contact      : mailto:sandi@gaisler.com
50
--                http://www.gaisler.com
51
--
52
-- Disclaimer   : All information is provided "as is", there is no warranty that
53
--                the information is correct or suitable for any purpose,
54
--                neither implicit nor explicit.
55
--
56
--------------------------------------------------------------------------------
57
-- Version  Author   Date           Changes
58
--
59
-- 1.4      SH        1 Jul 2005    Support for fixed length incrementing bursts
60
--                                  Support for record types
61
-- 1.5      SH        1 Sep 2005    New library gaisler
62
-- 1.6      SH       20 Sep 2005    Added transparent HSIZE support
63
-- 1.7      SH        6 Dec 2007    Added syncrst generic
64
--------------------------------------------------------------------------------
65
library  ieee;
66
use      ieee.std_logic_1164.all;
67
 
68
library  grlib;
69
use      grlib.amba.all;
70
 
71
package DMA2AHB_Package is
72
   -----------------------------------------------------------------------------
73
   -- Direct Memory Access to AMBA AHB Master Interface Types
74
   -----------------------------------------------------------------------------
75
   type DMA_In_Type is record
76
      Reset:            Std_Logic;
77
      Address:          Std_Logic_Vector(32-1 downto 0);
78
      Data:             Std_Logic_Vector(32-1 downto 0);
79
      Request:          Std_Logic;                       -- access requested
80
      Burst:            Std_Logic;                       -- burst requested
81
      Beat:             Std_Logic_Vector(1 downto 0);    -- incrementing beat
82
      Size:             Std_Logic_Vector(1 downto 0);    -- size
83
      Store:            Std_Logic;                       -- data write requested
84
      Lock:             Std_Logic;                       -- locked Transfer
85
   end record;
86
 
87
   type DMA_Out_Type is record
88
      Grant:            Std_Logic;                       -- access accepted
89
      OKAY:             Std_Logic;                       -- write access ready
90
      Ready:            Std_Logic;                       -- read data ready
91
      Retry:            Std_Logic;                       -- retry
92
      Fault:            Std_Logic;                       -- error occured
93
      Data:             Std_Logic_Vector(32-1 downto 0);
94
   end record;
95
 
96
   -- constants for HBURST definition (used with dma_in_type.Beat)
97
   constant HINCR:      Std_Logic_Vector(1 downto 0) := "00";
98
   constant HINCR4:     Std_Logic_Vector(1 downto 0) := "01";
99
   constant HINCR8:     Std_Logic_Vector(1 downto 0) := "10";
100
   constant HINCR16:    Std_Logic_Vector(1 downto 0) := "11";
101
 
102
   -- constants for HSIZE definition (used with dma_in_type.Size)
103
   constant HSIZE8:     Std_Logic_Vector(1 downto 0) := "00";
104
   constant HSIZE16:    Std_Logic_Vector(1 downto 0) := "01";
105
   constant HSIZE32:    Std_Logic_Vector(1 downto 0) := "10";
106
 
107
   -----------------------------------------------------------------------------
108
   -- Direct Memory Access to AMBA AHB Master Interface
109
   -----------------------------------------------------------------------------
110
   component DMA2AHB is
111
      generic(
112
         hindex:        in    Integer := 0;
113
         vendorid:      in    Integer := 0;
114
         deviceid:      in    Integer := 0;
115
         version:       in    Integer := 0;
116
         syncrst:       in    Integer := 1;
117
         boundary:      in    Integer := 1);
118
      port(
119
         -- AMBA AHB system signals
120
         HCLK:          in    Std_ULogic;
121
         HRESETn:       in    Std_ULogic;
122
 
123
         -- Direct Memory Access Interface
124
         DMAIn:         in    DMA_In_Type;
125
         DMAOut:        out   DMA_OUt_Type;
126
 
127
         -- AMBA AHB Master Interface
128
         AHBIn:         in    AHB_Mst_In_Type;
129
         AHBOut:        out   AHB_Mst_Out_Type);
130
   end component DMA2AHB;
131
end package DMA2AHB_Package; --===============================================--

powered by: WebSVN 2.1.0

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