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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [fpga/] [experiments/] [memspeed-2/] [README] - Rev 325

Compare with Previous | Blame | View Log

Purpose
-------

This test circuit allows speed measurements of the new memory
controller, driving the on-board SDRAM of the XESS board. To do
timing measurements of reads or writes, wire the "we" signal
to 0 or 1, respectively. It is also possible to get a mix of
reads and writes if the "we" signal is a function of (some bits
of) the counter "count". Note that only 64-bit accesses are
performed. The clock rate is 100 MHz.


Read
----

20.5 s
20.6 s
20.7 s

average:
20.6 s / 2^27 read cycles = 153.5 ns / read cycle
which means 15.35 clock cyles per read
(the corresponding data rate is 52.1 MB/s)


Write
-----

15.2 s
15.1 s
15.1 s

average:
15.1 s / 2^27 write cycles = 112.5 ns / write cycle
which means 11.25 clock cycles per write
(the corresponding data rate is 71.1 MB/s)


Mix (75% read, 25% write)
-------------------------

19.1 s
19.1 s
19.3 s

average:
19.2 s / 2^27 operations = 143.1 ns / operation
which means 14.3 clock cycles per operation


Conclusions
-----------

1) The weighted average from read and write operations
   (0.75*15.35 + 0.25*11.25) is a very good approximation
   for the value measured in the "mixed" case. This
   confirms the different values for the "read" and
   "write" cases.

2) The test circuit needs one clock cycle to recover
   from a read or write operation before the next one
   is started. The recommended number of clock cycles
   for a memory simulation are therefore
       read   : 14 clock cycles
       write  : 10 clock cycles
   measured from start of the operation (leading edge
   of signal stb) to end of the operation (trailing
   edge of signal ack).

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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