Memory speed: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:Aes_cxk5814.jpg|thumb|[[VRAM]] chip, note the "-35" marking. 35ns is the highest speed requirement in the NeoGeo.]]
[[File:Aes_cxk5814.jpg|thumb|[[VRAM]] chip, note the "-35" marking. 35ns is the highest speed requirement in the NeoGeo.]]


Memory speed (or speed grade) is a value representing the maximum time it takes for a memory chip to output valid data after the address is changed.
Memory speed (or speed grade) is a value representing the maximum time it takes for a memory chip to output valid data after its address is changed.


It is essential for memory chips to be fast enough to avoid crashes or glitches. When replacing RAMs or making cartmods, care must be taken to use chips with appropriate speed grades.
It is essential for memory chips to be fast enough to avoid crashes or glitches. When replacing RAMs, replacing the [[system ROM]] or making cartmods, care must be taken to use chips with the appropriate speed grades.


Speed is usually indicated on the chip. It is actually a time value (speed = 1/t) specified in nanoseconds or tens of nanoseconds.
Speed is usually indicated on the chip. It is actually a time value (speed = 1/t) specified in nanoseconds or tens of nanoseconds.


During the specified time, the data output isn't guaranteed to be valid. So if the system expects data to be valid earlier, it might catch wrong bits resulting in unstable operation.
During the specified time, the data output isn't guaranteed to be valid. So if the chip is too slow, the system might catch wrong bits resulting in unstable operation.


Regarding the NeoGeo, faster (lower value) isn't a problem, same speed is fine, slower (higher value) is bad. A slower chip can work in some cases, but you should never expect stable operation in all conditions. For example, some 120ns chips might work in place of a 100ns one at 5.1V, but cause an immediate crash if voltage goes below 5.05V. Trust the manufacturer's specifications and avoid taking risks.
Regarding the NeoGeo, faster than required (lower value) isn't a problem, slower than required (higher value) is bad.
 
A slower chip can work in some cases if you're lucky, but you should never expect stable operation in all conditions. For example, some 120ns chips might work in place of a 100ns one, but a slight variation in voltage or temperature could cause crashes or resets. Taking the risk isn't worth it.
 
=Requirements summary=
 
See the related section in the [[VRAM]], [[Palette RAM]], [[P ROM]], [[V ROM]], [[S ROM]], [[C ROM]], and [[M1 ROM]] pages.
 
{|class="wikitable"
!Memory kind
!Maximum value
!Mclks
!Proof
|-
|Z80 RAM
|rowspan="2"|<500ns (2 MHz)
|rowspan="2"|12? (500ns)
|rowspan="2"|Z80 read cycle
|-
|M1 ROM
|-
|Lower VRAM
|120ns (8.33 MHz)
|3 (125ns)
|Picture
|-
|Upper VRAM
|35ns (28.57 MHz)
|1 (41.7ns)
|Picture
|-
|Palette RAM
|120ns (8.33 MHz)
|3 (125ns)
|Picture
|-
|L0 ROM
|120ns ? (8.33 MHz)
|?
|
|-
|P ROM
|rowspan="4"|150ns (6.67 MHz)
|rowspan="4"|4 (167ns)
|rowspan="4"|SNK EPROM
|-
|System ROM
|-
|68k RAM
|-
|Backup RAM
|-
|V ROM
|200ns (5 MHz)
|6 (250ns)
|YM2610 read cycle
|-
|S ROM
|200ns ? (5 MHz)
|5? (208ns)
|
|-
|C ROM
|200ns ? (5 MHz)
|5? (208ns)
|
|-
|Memory card
|200ns ? (5 MHz)
|5? (208ns)
|
|}


=Standard speed grades=
=Standard speed grades=


-250 (250ns), -200 '''or -20''' (200ns), -150 '''or -15''' (150ns), -120 '''or -12''' (120ns), -90 (90ns), -70 (70ns), -55 (55ns), -35 (35ns).
* -250 (250ns)
* -200 '''or -20''' (200ns)
* -150 '''or -15''' (150ns)
* -120 '''or -12''' (120ns)
* -90 (90ns)
* -70 (70ns)
* -55 (55ns)
* -35 (35ns).
 
Note the possible confusion. If the value is less than 30 you probably have to add a 0, even if SRAM is now available in 25ns (not 250ns) speed grades.


Note the possible confusion. If the value is less than 30 you probably have to add a 0, even if SRAM is now available at 25ns (not 250) speed grades.
Check the datasheets.


=DRAM=
=DRAM=

Latest revision as of 09:31, 3 June 2019

File:Aes cxk5814.jpg
VRAM chip, note the "-35" marking. 35ns is the highest speed requirement in the NeoGeo.

Memory speed (or speed grade) is a value representing the maximum time it takes for a memory chip to output valid data after its address is changed.

It is essential for memory chips to be fast enough to avoid crashes or glitches. When replacing RAMs, replacing the system ROM or making cartmods, care must be taken to use chips with the appropriate speed grades.

Speed is usually indicated on the chip. It is actually a time value (speed = 1/t) specified in nanoseconds or tens of nanoseconds.

During the specified time, the data output isn't guaranteed to be valid. So if the chip is too slow, the system might catch wrong bits resulting in unstable operation.

Regarding the NeoGeo, faster than required (lower value) isn't a problem, slower than required (higher value) is bad.

A slower chip can work in some cases if you're lucky, but you should never expect stable operation in all conditions. For example, some 120ns chips might work in place of a 100ns one, but a slight variation in voltage or temperature could cause crashes or resets. Taking the risk isn't worth it.

Requirements summary

See the related section in the VRAM, Palette RAM, P ROM, V ROM, S ROM, C ROM, and M1 ROM pages.

Memory kind Maximum value Mclks Proof
Z80 RAM <500ns (2 MHz) 12? (500ns) Z80 read cycle
M1 ROM
Lower VRAM 120ns (8.33 MHz) 3 (125ns) Picture
Upper VRAM 35ns (28.57 MHz) 1 (41.7ns) Picture
Palette RAM 120ns (8.33 MHz) 3 (125ns) Picture
L0 ROM 120ns ? (8.33 MHz) ?
P ROM 150ns (6.67 MHz) 4 (167ns) SNK EPROM
System ROM
68k RAM
Backup RAM
V ROM 200ns (5 MHz) 6 (250ns) YM2610 read cycle
S ROM 200ns ? (5 MHz) 5? (208ns)
C ROM 200ns ? (5 MHz) 5? (208ns)
Memory card 200ns ? (5 MHz) 5? (208ns)

Standard speed grades

  • -250 (250ns)
  • -200 or -20 (200ns)
  • -150 or -15 (150ns)
  • -120 or -12 (120ns)
  • -90 (90ns)
  • -70 (70ns)
  • -55 (55ns)
  • -35 (35ns).

Note the possible confusion. If the value is less than 30 you probably have to add a 0, even if SRAM is now available in 25ns (not 250ns) speed grades.

Check the datasheets.

DRAM

DRAM (CD systems) is way more complex than SRAM, timings and sequences are primordial.