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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [designs/] [leon3-altera-ep3c25/] [README.txt] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
 
2
This leon3 design is tailored to the Altera NiosII Cyclone-III
3
Development board, with 16-bit DDR SDRAM and 1 Mbyte of SSRAM.
4
 
5
0. Introduction
6
---------------
7
 
8
The leon3 design can be synthesized with quartus or synplify,
9
and can reach 50 - 70 MHz depending on configuration and synthesis
10
options. Use 'make quartus' or 'make quartus-synp' to run the
11
complete flow. To program the FPGA in batch mode, use
12
'make quartus-prog-fpga' or 'make quartus-prog-fpga-ref (reference config).
13
 
14
The output from grmon should look something like this:
15
 
16
grmon -altjtag -jtagdevice 1 -ramrws 1 -normw -u
17
 
18
 GRMON LEON debug monitor v1.1.30
19
 
20
 Copyright (C) 2004,2005 Gaisler Research - all rights reserved.
21
 For latest updates, go to http://www.gaisler.com/
22
 Comments or bug-reports to support@gaisler.com
23
 
24
 using Altera JTAG cable
25
Can't open file '/root/.jtag.conf', errno = 2
26
Can't open file '/root/.jtag.conf', errno = 2
27
 Selected cable 1 - USB-Blaster [USB 1-1.2]
28
JTAG chain:
29
@1: EP3C25 (0x020F30DD)
30
 
31
 GRLIB build version: 2996
32
 
33
 initialising ..........
34
 detected frequency:  51 MHz
35
 
36
 Component                            Vendor
37
 LEON3 SPARC V8 Processor             Gaisler Research
38
 AHB Debug JTAG TAP                   Gaisler Research
39
 LEON2 Memory Controller              European Space Agency
40
 AHB/APB Bridge                       Gaisler Research
41
 LEON3 Debug Support Unit             Gaisler Research
42
 DDR266 Controller                    Gaisler Research
43
 Generic APB UART                     Gaisler Research
44
 Multi-processor Interrupt Ctrl       Gaisler Research
45
 Modular Timer Unit                   Gaisler Research
46
 General purpose I/O port             Gaisler Research
47
 
48
 Use command 'info sys' to print a detailed report of attached cores
49
 
50
grlib> info sys
51
00.01:003   Gaisler Research  LEON3 SPARC V8 Processor (ver 0x0)
52
             ahb master 0
53
01.01:01c   Gaisler Research  AHB Debug JTAG TAP (ver 0x0)
54
             ahb master 1
55
00.04:00f   European Space Agency  LEON2 Memory Controller (ver 0x1)
56
             ahb: 00000000 - 20000000
57
             ahb: 20000000 - 40000000
58
             ahb: a0000000 - b0000000
59
             apb: 80000000 - 80000100
60
             16-bit prom @ 0x00000000
61
             32-bit static ram: 1 * 1024 kbyte @ 0xa0000000
62
01.01:006   Gaisler Research  AHB/APB Bridge (ver 0x0)
63
             ahb: 80000000 - 80100000
64
02.01:004   Gaisler Research  LEON3 Debug Support Unit (ver 0x1)
65
             ahb: 90000000 - a0000000
66
             AHB trace 128 lines, stack pointer 0xa00ffff0
67
             CPU#0 win 8, hwbp 2, itrace 128, V8 mul/div, lddel 1
68
                   icache 2 * 8 kbyte, 32 byte/line lru
69
                   dcache 2 * 4 kbyte, 16 byte/line lru
70
03.01:025   Gaisler Research  DDR266 Controller (ver 0x0)
71
             ahb: 40000000 - 50000000
72
             ahb: fff00100 - fff00200
73
             16-bit DDR : 1 * 32 Mbyte @ 0x40000000
74
                          100 MHz, col 9, ref 7.8 us
75
01.01:00c   Gaisler Research  Generic APB UART (ver 0x1)
76
             irq 2
77
             apb: 80000100 - 80000200
78
             baud rate 38403, DSU mode (FIFO debug)
79
02.01:00d   Gaisler Research  Multi-processor Interrupt Ctrl (ver 0x3)
80
             apb: 80000200 - 80000300
81
03.01:011   Gaisler Research  Modular Timer Unit (ver 0x0)
82
             irq 8
83
             apb: 80000300 - 80000400
84
             8-bit scaler, 2 * 32-bit timers, divisor 51
85
05.01:01a   Gaisler Research  General purpose I/O port (ver 0x0)
86
             apb: 80000500 - 80000600
87
grlib>
88
 
89
 
90
 
91
1. DDR interface
92
----------------
93
 
94
The DDR interface is supported and runs at 100 MHz.
95
The read data clock phase shift should be set to 90' (rskew = 2500).
96
 
97
2. SSRAM interface
98
------------------
99
 
100
The SSRAM can be accessed using the standard LEON2 MCTRL core.
101
One read waitstate is needed, start grmon with :
102
 
103
        grmon -altjtag -jtagdevice 1 -ramrws 1 -normw -u
104
 
105
3. UART
106
-------
107
 
108
The board has no RS232 connector, so grmon should be started
109
with -u to loop-back the UART output to the console.
110
 
111
4. Flash memory
112
---------------
113
 
114
The 16-bit flash memory can be accessed and programmed by grmon,
115
if the SSRAM is working. The output from the 'flash' command is
116
listed below:
117
 
118
grlib> fla
119
 
120
 Intel-style 16-bit flash on D[31:16]
121
 
122
 Manuf.    Intel
123
 Device    0x881B
124
 
125
 Device ID 70a6ffff00684403
126
 User   ID ffffffffffffffff
127
 
128
 
129
 1 x 16 Mbyte = 16 Mbyte total @ 0x00000000
130
 
131
 
132
 CFI info
133
 flash family  : 1
134
 flash size    : 128 Mbit
135
 erase regions : 2
136
 erase blocks  : 131
137
 write buffer  : 64 bytes
138
 region  0     : 4 blocks of 32 Kbytes
139
 region  1     : 127 blocks of 128 Kbytes
140
 
141
 
142
5.1 How to program the flash prom with a FPGA programming file
143
--------------------------------------------------------------
144
 
145
There are two ways of programming the Flash memory. One using
146
Altera's Parallel Flash Loader and one using GRMON.
147
 
148
Programming the Flash using Altera's Parallel Flash Loader:
149
 
150
  1.  Start Quartus II and select File -> Convert Programming Files
151
 
152
  2.  Make the following settings:
153
 
154
       Programming File Type: Programmer Object file (.pof)
155
       Mode: Active Parallel
156
       Configuration device: CFI_128MB
157
 
158
  3.  Select "Configuration Master" under "Input files to convert" and click
159
      "Add file"
160
 
161
  4.  Select the leon3mp.sof file and click OK
162
 
163
  5.  Select "SOF data" and click "Properties"
164
 
165
  6.  Change the following properties:
166
 
167
       Address mode for selected pages: Start
168
       Start address: 0x020000
169
 
170
  7.  Generate the programmer object file by clicking "Generate"
171
 
172
  8.  Start the Quartus II programmer
173
 
174
  9.  Click "Auto Detect"
175
 
176
  10. Right-click on the detected EP3C25 device and select "Attach Flash Device"
177
 
178
  11. Select Flash Memory, CFI_128MB and click "OK"
179
 
180
  12. Right click on the added CFI_128MB Flash device and select "Change File"
181
 
182
  13. Select the .pof file that was generated in step 7 and click "OK".
183
 
184
  14. Check the "Program/Configure" box for the added file under the Flash
185
      device. Checking this box will change the Device File to "Factory
186
      default PFL image"
187
 
188
  15. Click "Start"
189
 
190
  16. When programming has successfully finished press "Reconfigure" on the
191
      board to load the leon3mp design.
192
 
193
Programming the Flash with GRMON:
194
 
195
  1. Create a hex file of the programming file with Quartus. Choose
196
     "Active Parallel" as the Mode. This mode is available in Quartus II 7.2
197
 
198
  2. Convert the Intel Hex file to srecord format. The hexfile needs to be byte
199
     swapped. This can be done with a tool from the SRecord package which can be
200
     downloaded from http://srecord.sourceforge.net/. Issue the command:
201
 
202
        srec_cat output_file.hexout -Intel -byteswap > fpga.srec
203
 
204
     If the resulting fpga.srec file does not have the correct offset, the
205
     offset may have to be given as an argument to srec_cat:
206
 
207
        srec_cat output_file.hexout -Intel -byteswap -offset 0x20000 > fpga.srec
208
 
209
     To see that the data has the correct offset, issue the command:
210
 
211
        srec_info fpga.srec
212
 
213
     The "Data:" area should start at 020000.
214
 
215
  3. Program the flash memory using grmon:
216
 
217
      flash unlock all
218
      flash erase 0x20000 0x100000
219
      flash load fpga.srec
220
 
221
The programming is slow, and will take at approximately 30 minutes.
222
 

powered by: WebSVN 2.1.0

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