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

Subversion Repositories sdhc-sc-core

[/] [sdhc-sc-core/] [trunk/] [grpSd/] [unitSdTop/] [src/] [SdTop-Rtl-ea.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        : SdTop-Rtl-ea.vhdl
30
-- Owner       : Rainer Kastl
31
-- Description : Top level connecting all sub entities
32
-- Links       : 
33
-- 
34 54 rkastl
 
35
library ieee;
36
use ieee.std_logic_1164.all;
37
use ieee.numeric_std.all;
38
use work.Global.all;
39 121 rkastl
use work.Wishbone.all;
40 54 rkastl
use work.Sd.all;
41 121 rkastl
use work.SdWb.all;
42 54 rkastl
 
43
entity SdTop is
44 105 rkastl
        generic (
45 126 rkastl
                gUseSameClocks : boolean := false;
46 121 rkastl
                gClkFrequency  : natural := 100E6;
47 110 rkastl
                gHighSpeedMode : boolean := true
48 105 rkastl
        );
49 54 rkastl
        port (
50 121 rkastl
                -- Wishbone interface
51 165 rkastl
                iWbClk     : in std_ulogic;
52
                iWbRstSync : in std_ulogic;
53 121 rkastl
 
54
                iCyc  : in std_ulogic;
55
                iLock : in std_ulogic;
56
                iStb  : in std_ulogic;
57
                iWe   : in std_ulogic;
58
                iCti  : in std_ulogic_vector(2 downto 0);
59
                iBte  : in std_ulogic_vector(1 downto 0);
60
                iSel  : in std_ulogic_vector(0 downto 0);
61
                iAdr  : in std_ulogic_vector(6 downto 4);
62
                iDat  : in std_ulogic_vector(31 downto 0);
63
 
64
                oDat  : out std_ulogic_vector(31 downto 0);
65
                oAck  : out std_ulogic;
66
                oErr  : out std_ulogic;
67
                oRty  : out std_ulogic;
68
 
69
                -- Sd interface
70
                iSdClk       : in std_ulogic;
71 165 rkastl
                iSdRstSync   : in std_ulogic;
72 54 rkastl
                -- SD Card
73 94 rkastl
                ioCmd  : inout std_logic;
74
                oSclk  : out std_ulogic;
75 70 rkastl
                ioData : inout std_logic_vector(3 downto 0);
76
 
77
                -- Status
78 89 rkastl
                oLedBank              : out aLedBank
79 54 rkastl
        );
80 109 rkastl
 
81 54 rkastl
end entity SdTop;
82
 
83
architecture Rtl of SdTop is
84
 
85 182 rkastl
        signal iSdCtrlSync  : aSdWbSlaveToSdController;
86
        signal oWbCtrl      : aSdWbSlaveToSdController;
87
        signal oSdCtrl      : aSdControllerToSdWbSlave;
88
        signal iWbCtrlSync  : aSdControllerToSdWbSlave;
89
        signal iSdWriteFifo : aiReadFifo;
90
        signal oSdWriteFifo : aoReadFifo;
91
        signal iSdReadFifo  : aiWriteFifo;
92
        signal oSdReadFifo  : aoWriteFifo;
93
        signal iWbWriteFifo : aiWriteFifo;
94
        signal oWbWriteFifo : aoWriteFifo;
95
        signal iWbReadFifo  : aiReadFifo;
96
        signal oWbReadFifo  : aoReadFifo;
97 122 rkastl
 
98 54 rkastl
begin
99 109 rkastl
 
100 177 rkastl
        SdClkDomain_inst: entity work.SdClkDomain
101
        generic map (
102
                gClkFrequency  => gClkFrequency,
103
                gHighSpeedMode => gHighSpeedMode
104
        )
105
        port map (
106
                iSdClk       => iSdClk,
107
                iSdRstSync   => iSdRstSync,
108
                ioCmd        => ioCmd,
109
                oSclk        => oSclk,
110
                ioData       => ioData,
111
                oLedBank     => oLedBank,
112 180 rkastl
                oSdCtrl      => oSdCtrl,
113 182 rkastl
                iSdCtrl      => iSdCtrlSync,
114 180 rkastl
                iSdWriteFifo => iSdWriteFifo,
115
                oSdWriteFifo => oSdWriteFifo,
116
                iSdReadFifo  => iSdReadFifo,
117
                oSdReadFifo  => oSdReadFifo
118 177 rkastl
        );
119 111 rkastl
 
120 180 rkastl
        WbClkDomain_inst: entity work.WbClkDomain
121
        port map (
122
                iWbClk      => iWbClk,
123
                iWbRstSync  => iWbRstSync,
124
                iCyc        => iCyc,
125
                iLock       => iLock,
126
                iStb        => iStb,
127
                iWe         => iWe,
128
                iCti        => iCti,
129
                iBte        => iBte,
130
                iSel        => iSel,
131
                iAdr        => iAdr,
132
                iDat        => iDat,
133
                oDat        => oDat,
134
                oAck        => oAck,
135
                oErr        => oErr,
136
                oRty        => oRty,
137
                iWriteFifo  => iWbWriteFifo,
138
                iReadFifo   => iWbReadFifo,
139
                oWriteFifo  => oWbWriteFifo,
140
                oReadFifo   => oWbReadFifo,
141
                oWbToSdCtrl => oWbCtrl,
142 182 rkastl
                iSdCtrlToWb => iWbCtrlSync
143 180 rkastl
        );
144 111 rkastl
 
145 182 rkastl
        SdWbClkDomainSync_inst: entity work.SdWbClkDomainSync
146 122 rkastl
        generic map (
147
                gUseSameClocks => gUseSameClocks
148
        )
149
        port map (
150 182 rkastl
                iWbClk       => iWbClk,
151
                iWbRstSync   => iWbRstSync,
152
                iSdClk       => iSdClk,
153
                iSdRstSync   => iSdRstSync,
154
                iWbCtrl      => oWbCtrl,
155
                iWbWriteFifo => oWbWriteFifo,
156
                iWbReadFifo  => oWbReadFifo,
157
                iSdCtrl      => oSdCtrl,
158
                iSdWriteFifo => oSdWriteFifo,
159
                iSdReadFifo  => oSdReadFifo,
160
                oWbCtrlSync  => iWbCtrlSync,
161
                oWbWriteFifo => iWbWriteFifo,
162
                oWbReadFifo  => iWbReadFifo,
163
                oSdCtrlSync  => iSdCtrlSync,
164
                oSdWriteFifo => iSdWriteFifo,
165
                oSdReadFifo  => iSdReadFifo
166
         );
167
 
168 54 rkastl
end architecture Rtl;
169
 

powered by: WebSVN 2.1.0

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