Subversion Repositories pentevo

Rev

Rev 425 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 425 Rev 668
Line 1... Line -...
1
`include "../include/tune.v"
-
 
2
 
-
 
3
// PentEvo project (c) NedoPC 2008-2009
1
// ZX-Evo Base Configuration (c) NedoPC 2008,2009,2010,2011,2012,2013,2014
4
//
2
//
5
// DRAM controller. performs accesses to DRAM.
3
// DRAM controller. performs accesses to DRAM.
-
 
4
 
-
 
5
/*
-
 
6
    This file is part of ZX-Evo Base Configuration firmware.
-
 
7
 
-
 
8
    ZX-Evo Base Configuration firmware is free software:
-
 
9
    you can redistribute it and/or modify it under the terms of
-
 
10
    the GNU General Public License as published by
-
 
11
    the Free Software Foundation, either version 3 of the License, or
-
 
12
    (at your option) any later version.
-
 
13
 
-
 
14
    ZX-Evo Base Configuration firmware is distributed in the hope that
-
 
15
    it will be useful, but WITHOUT ANY WARRANTY; without even
-
 
16
    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
 
17
    See the GNU General Public License for more details.
-
 
18
 
-
 
19
    You should have received a copy of the GNU General Public License
-
 
20
    along with ZX-Evo Base Configuration firmware.
-
 
21
    If not, see <http://www.gnu.org/licenses/>.
-
 
22
*/
-
 
23
 
-
 
24
 
-
 
25
//
6
//
26
//
7
// state:          | RD1   | RD2   | RD3   | RD4   | WR1   | WR2   | WR3   | WR4   | RFSH1 | RFSH2 | RFSH3 | RFSH4 |
27
// state:          | RD1   | RD2   | RD3   | RD4   | WR1   | WR2   | WR3   | WR4   | RFSH1 | RFSH2 | RFSH3 | RFSH4 |
8
// clk: ___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\__
28
// clk: ___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\___/```\__
9
//                 |      READ CYCLE               |      WRITE CYCLE              |      REFRESH CYCLE            |
29
//                 |      READ CYCLE               |      WRITE CYCLE              |      REFRESH CYCLE            |
10
// ras: ```````````````````\_______________/```````````````\_______________/```````````````````````\_______________/
30
// ras: ```````````````````\_______________/```````````````\_______________/```````````````````````\_______________/
Line 25... Line 45...
25
// ra[] couldn't be such in acex1k, because output registers could be all driven only by
45
// ra[] couldn't be such in acex1k, because output registers could be all driven only by
26
//  single clock polarity (and here they are driven by negative edge, while CAS/RAS by positive)
46
//  single clock polarity (and here they are driven by negative edge, while CAS/RAS by positive)
27
//
47
//
28
// rst_n is resynced before use and acts as req inhibit. so while in reset, dram regenerates and isn't corrupted
48
// rst_n is resynced before use and acts as req inhibit. so while in reset, dram regenerates and isn't corrupted
29
 
49
 
-
 
50
`include "../include/tune.v"
-
 
51
 
30
module dram(
52
module dram(
31
 
53
 
32
        input clk,
54
        input clk,
33
        input rst_n, // shut down accesses, remain refresh
55
        input rst_n, // shut down accesses, remain refresh
34
 
56