OpenCores
URL https://opencores.org/ocsvn/sdhc-sc-core/sdhc-sc-core/trunk

Subversion Repositories sdhc-sc-core

[/] [sdhc-sc-core/] [trunk/] [grpWishbone/] [pkgWishbone/] [src/] [Wishbone-p.vhdl] - Blame information for rev 185

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 164 rkastl
-- SDHC-SC-Core
2
-- Secure Digital High Capacity Self Configuring Core
3
-- 
4 170 rkastl
-- (C) Copyright 2010, Rainer Kastl
5
-- All rights reserved.
6 164 rkastl
-- 
7 170 rkastl
-- Redistribution and use in source and binary forms, with or without
8
-- modification, are permitted provided that the following conditions are met:
9
--     * Redistributions of source code must retain the above copyright
10
--       notice, this list of conditions and the following disclaimer.
11
--     * Redistributions in binary form must reproduce the above copyright
12
--       notice, this list of conditions and the following disclaimer in the
13
--       documentation and/or other materials provided with the distribution.
14
--     * Neither the name of the <organization> nor the
15
--       names of its contributors may be used to endorse or promote products
16
--       derived from this software without specific prior written permission.
17 164 rkastl
-- 
18 170 rkastl
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  "AS IS" AND
19
-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
-- DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
22
-- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
-- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
-- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 164 rkastl
-- 
29
-- File        : Wishbone-p.vhdl
30
-- Owner       : Rainer Kastl
31
-- Description : 
32
-- Links       : 
33
-- 
34
 
35 18 rkastl
-------------------------------------------------
36
-- file: Wishbone-p.vhdl
37
-- author: Rainer Kastl
38
--
39
-- Wishbone specific package.
40
-- Wishbone specification revision B.3
41
-------------------------------------------------
42
 
43
library ieee;
44
use ieee.std_logic_1164.all;
45
 
46
package Wishbone is
47 21 rkastl
        type aEndian is (big, little);
48 20 rkastl
 
49
        subtype aCti is std_ulogic_vector(2 downto 0);
50
 
51
        constant cCtiClassicCycle     : aCti := "000";
52
        constant cCtiConstAdrBurstCyc : aCti := "001";
53
        constant cCtiIncBurstCyc      : aCti := "010";
54
        constant cCtiEndOfBurst       : aCti := "111";
55
 
56
        subtype aBte is std_ulogic_vector(1 downto 0);
57
 
58
        constant cBteLinear      : aBte := "00";
59
        constant cBteFourBeat    : aBte := "01";
60
        constant cBteEightBeat   : aBte := "10";
61
        constant cBteSixteenBeat : aBte := "11";
62
 
63 21 rkastl
        -- Control inputs for a wishbone slave
64
        -- Unfortunately unconstrained types in records are only supported in
65
        -- VHDL2008, therefore signals with a range dependend on generics can not be
66
        -- put inside the record (iSel, iAdr, iDat).
67
        type aWbSlaveCtrlInput is record
68
                -- Control signals
69 22 rkastl
                Cyc  :  std_ulogic; -- Indicates a bus cycle
70
                Lock :  std_ulogic; -- Indicates that the current cycle is not interruptable
71
                Stb  :  std_ulogic; -- Indicates the selection of the slave
72
                We   :  std_ulogic; -- Write enable, indicates whether the cycle is a read or write cycle
73
                Cti  :  aCti; -- used for synchronous cycle termination
74
                Bte  :  aBte; -- Burst type extension
75 21 rkastl
        end record;
76
 
77
        -- Control output signals of a wishbone slave
78
        -- See aWbSlaveCtrlInput for a explanation why oDat is not in the record.
79
        type aWbSlaveCtrlOutput is record
80
                -- Control signals
81 22 rkastl
                Ack : std_ulogic; -- Indicates the end of a normal bus cycle
82
                Err : std_ulogic; -- Indicates an error
83
                Rty : std_ulogic; -- Indicates that the request should be retried
84 21 rkastl
        end record;
85
 
86 23 rkastl
        constant cDefaultWbSlaveCtrlOutput : aWbSlaveCtrlOutput := ('0','0','0');
87 22 rkastl
 
88 18 rkastl
end package Wishbone;
89
 

powered by: WebSVN 2.1.0

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