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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [fpga/] [experiments/] [memspeed-1/] [README] - Blame information for rev 323

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 296 hellwig
Purpose
2
-------
3
 
4
This test circuit allows speed measurements of the old
5
memory controller (written by Dave Vanden Bout), driving
6
the on-board SDRAM of the XESS board. To do timing
7
measurements of reads or writes, wire the "we" signal
8
to 0 or 1, respectively. It is also possible to get a
9
mix of reads and writes if the "we" signal is a function
10 320 hellwig
of (some bits of) the counter "count". Note that only
11
32-bit accesses are performed. The clock rate is 50 MHz.
12 296 hellwig
 
13
 
14
Read
15
----
16
 
17
41.8 s
18
41.9 s
19
41.7 s
20
 
21
average:
22
41.8 s / 2^27 read cycles = 311.4 ns / read cycle
23
which means 15.6 clock cycles per read
24 322 hellwig
(the corresponding data rate is 12.8 MB/s)
25 296 hellwig
 
26
 
27
Write
28
-----
29
 
30
19.6 s
31
19.7 s
32
19.6 s
33
 
34
average:
35
19.6 s / 2^27 write cycles = 146.0 ns / write cycle
36
which means 7.3 clock cycles per write
37 322 hellwig
(the corresponding data rate is 27.4 MB/s)
38 296 hellwig
 
39
 
40
Mix (75% read, 25% write)
41
-------------------------
42
 
43
36.2 s
44
36.1 s
45
36.2 s
46
 
47
average:
48
36.2 s / 2^27 operations = 269.7 ns / operation
49
which means 13.5 clock cycles per operation
50
 
51
 
52
Conclusions
53
-----------
54
 
55
1) The weighted average from read and write operations
56
   (0.75*15.6 + 0.25*7.3) is a very good approximation
57
   for the value measured in the "mixed" case. This
58
   confirms the different values for the "read" and
59
   "write" cases.
60
 
61
2) The test circuit needs one clock cycle to recover
62
   from a read or write operation before the next one
63
   is started. The recommended number of clock cycles
64
   for a memory simulation are therefore
65
       read   : 14 clock cycles
66
       write  :  6 clock cycles
67
   measured from start of the operation (leading edge
68
   of signal stb) to end of the operation (trailing
69
   edge of signal ack).

powered by: WebSVN 2.1.0

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