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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [boards/] [actel/] [ordb1a3pe1500/] [rtl/] [verilog/] [versatile_mem_ctrl/] [rtl/] [verilog/] [ddr_16_defines.v] - Blame information for rev 408

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 408 julius
`timescale 1ns/1ns
2
 
3
 
4
//
5
// Specify either type of memory
6
// or
7
// BA_SIZE, ROW_SIZE, COL_SIZE and SDRAM_DATA_WIDTH
8
//
9
// either in this file or as command line option; +define+MT48LC16M16
10
//
11
 
12
// number of adr lines to use
13
// 2^2 = 4 32 bit word burst
14
//`define BURST_SIZE 2
15
 
16
 
17
// DDR2 SDRAM
18
// MT47H32M16 – 8 Meg x 16 x 4 banks
19
`define MT47H32M16
20
`ifdef MT47H32M16
21
// using 1 of MT47H32M16
22
// SDRAM data width is 16
23
`define BURST_SIZE 4
24
`define SDRAM_DATA_WIDTH 16
25
`define COL_SIZE 10
26
`define ROW_SIZE 13
27
`define BA_SIZE 2
28
 
29
`define SDRAM16
30
`define BA tx_fifo_dat_o[28:27]
31
`define ROW tx_fifo_dat_o[26:14]
32
`define COL {4'b0000,tx_fifo_dat_o[13:10],burst_adr,1'b0}
33
`define WORD_SIZE 1
34
`define WB_ADR_HI 24
35
`define WB_ADR_LO 2
36
 
37
// Mode Register (MR) Definition
38
// [16]    (BA2)   1'b0
39
// [15:14] (BA1-0) Mode Register Definition (MR): 2'b00 - Mode Register (MR)
40
// [13]    (A13)   1'b0
41
// [12]    (A12)   PD Mode (PD): 1'b0 - Fast exit (normal), 1'b1 - Slow exit (low power)
42
// [11:9]  (A11-9) Write Recovery (WR): 3'b000 - reserved, 3b'001 - 2, ... , 3b'111 - 8
43
// [8]     (A8)    DLL Reset (DLL): 1'b0 - No, 1'b1 - Yes
44
// [7]     (A7)    Mode (TM): 1'b0 - Normal, 1'b1 - Test
45
// [6:4]   (A5-4)  CAS Latency (CL): 3'b011 - 3, ... , 3'b111 - 7
46
// [3]     (A3)    Burst Type (BT): 1'b0 - Sequential, 1'b1 - Interleaved
47
// [2:0]   (A2-0)  Burst Length (BL): 3'b010 - 4, 3'b011 - 8
48
`define MR  2'b00
49
`define PD  1'b0
50
`define WR  3'b001
51
`define DLL 1'b0
52
`define DLL_RST 1'b1
53
`define TM  1'b0
54
`define CL  3'b100
55
`define BT  1'b0
56
`define BL  3'b011
57
 
58
// Extended Mode Register (EMR) Definition
59
// [16]    (BA2)    1'b0
60
// [15:14] (BA1-0)  Mode Register Set (MRS): 2'b01 - Extended Mode Register (EMR)
61
// [13]    (A13)    1'b0
62
// [12]    (A12)    Outputs (OUT): 1'b0 - Enabled, 1'b1 - Disabled
63
// [11]    (A11)    RDQS Enable (RDQS): 1'b0 - Enabled, 1'b1 - Disabled
64
// [10]    (A10)    DQS# Enable (DQS): 1'b0 - Enabled, 1'b1 - Disabled
65
// [9:7]   (A9-7)   OCD Opearation (OCD): 3'b000 - OCD exit, 3b'111 - Enable OCD defaults
66
// [6,2]   (A6, A2) RTT Nominal (RTT6,2): 2'b00 - Disabled, 2'b01 - 75 ohm, 
67
//                                        2'b10 - 150 ohm, 2'b11 - 50 ohm,
68
// [5:3]   (A5-3)   Posted CAS# Additive Latenct (AL): 3'b000 - 0, ... , 3'b110 - 6
69
// [1]     (A1)     Output Drive Strength (ODS): 1'b0 - Full, 1'b1 - Reduced
70
// [0]     (A0)     DLL Enable (DLL_EN): 1'b0 - Enable (normal), 1'b1 - Disable (test/debug)
71
`define MRS    2'b01
72
`define OUT    1'b0
73
`define RDQS   1'b0
74
`define DQS    1'b0
75
`define OCD    3'b000
76
`define OCD_DEFAULT 3'b111
77
`define RTT6   1'b0
78
`define RTT2   1'b0
79
`define AL     3'b000
80
`define ODS    1'b0
81
`define DLL_EN 1'b0
82
 
83
// Extended Mode Register 2 (EMR2) Definition
84
// [16]    (BA2)    1'b0
85
// [15:14] (BA1-0)  Mode Register Set (MRS2): 2'b10 - Extended Mode Register 2 (EMR2)
86
// [13:8]  (A13-8)  6'b000000
87
// [7]     (A7)     SRT Enable (SRT): 1'b0 - 1x refresh rate (0 - 85 C), 
88
//                                    1'b1 - 2x refresh rate (> 85 C)
89
// [6:0]   (A6-0)   7'b0000000
90
`define MRS2 2'b10
91
`define SRT  1'b0
92
 
93
// Extended Mode Register 3 (EMR3) Definition
94
// [16]    (BA2)    1'b0
95
// [15:14] (BA1-0)  Mode Register Set (MRS): 2'b11 - Extended Mode Register 2 (EMR2)
96
// [13:0]  (A13-0)  14'b00000000000000
97
`define MRS3 2'b11
98
 
99
// Addr to SDRAM {ba[1:0],a[12:0]}
100
`define A_LMR     {`MR,`PD,`WR,`DLL,`TM,`CL,`BT,`BL}
101
`define A_LMR_DLL_RST {`MR,`PD,`WR,`DLL_RST,`TM,`CL,`BT,`BL}
102
`define A_LEMR    {`MRS,`OUT,`RDQS,`DQS,`OCD,`RTT6,`AL,`RTT2,`ODS,`DLL_EN}
103
`define A_LEMR_OCD_DEFAULT {`MRS,`OUT,`RDQS,`DQS,`OCD_DEFAULT,`RTT6,`AL,`RTT2,`ODS,`DLL}
104
`define A_LEMR2   {`MRS2,5'b00000,`SRT,7'b0000000}
105
`define A_LEMR3   {`MRS3,13'b0000000000000}
106
`define A_PRE     {2'b00,13'b0010000000000}
107
`define A_ACT     {`BA,`ROW}
108
`define A_READ    {`BA,`COL}
109
`define A_WRITE   {`BA,`COL}
110
`define A_DEFAULT {2'b00,13'b0000000000000}
111
 
112
// Command
113
`define CMD {ras, cas, we}
114
`define CMD_NOP   3'b111
115
`define CMD_AREF  3'b001
116
`define CMD_LMR   3'b000
117
`define CMD_LEMR  3'b000
118
`define CMD_LEMR2 3'b000
119
`define CMD_LEMR3 3'b000
120
`define CMD_PRE   3'b010
121
`define CMD_ACT   3'b011
122
`define CMD_READ  3'b101
123
`define CMD_WRITE 3'b100
124
`define CMD_BT    3'b110
125
 
126
`endif //  `ifdef MT47H32M16
127
 

powered by: WebSVN 2.1.0

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