Potential /OE timing issues on RCM4110 with 55ns flash (Rev F)
Opened this issue · 0 comments
Due to the obsolescence of the previously qualified 45ns flash memory for the RCM4110, Digi qualified 55ns flash from the same supplier and started manufacturing boards with that flash in 2020 Q4.
Calculations from the Rabbit 4000 data sheet and scope captures of flash memory reads show the processor timing at the edge of the flash memory's specifications. In typical operation, the BIOS startup code enables an "early output enable (/OE)" feature that provides a wider timing margin.
For most products, the BIOS startup enables "early /OE" immediately before enabling the clock doubler. That covers the majority of scenarios, with the following exceptions:
- If a product doesn't make use of the clock doubler, the BIOS assumes it doesn't need "early /OE" and disables it in the clock doubler setup code.
- If the spectrum spreader is disabled (macro
ENABLE_SPREADER
set to 0), the BIOS will disable "early /OE" immediately after the clock doubler setup code.
In addition, the RCM4110 operates at full speed as soon as the BIOS configures the flash memory for 0 wait states. So there is a short window during startup where the product doesn't have the additional timing margin provided by the "early /OE" feature.