Prop2 Flash loader

13»

Comments

  • jmgjmg Posts: 14,019
    evanh wrote: »
    ... revB Eval Board
    ...
    EDIT2: 360 MHz fell over around 30 °C. 340 MHz made it to 65 °C. 330 MHz got to 80 °C. 320 MHz got about 100 °C.
    So that is Dual-SPI loader, ES2 silicon, RevB PCB, and tests to something above 300MHz SysCLK and 150MHz SPI clock ? Wow.
    At those speeds, PCB trace length / loading will matter.
    Do you cross page boundaries at full speed, or do you pause on a boundary ?

    Do you have any ISSI SPI RAMs, I wonder how much their 45MHz spec can overclock ?
  • evanhevanh Posts: 8,072
    edited 2019-10-31 - 23:54:06
    All correct.

    I never saw any mention of memory pages in the Winbond documentation when reading up on the fast read commands. I had even forgotten about it as a possible concern ... looking now, the only place that page boundaries are mentioned is when erasing/writing the device.

    Nope, don't have any SPI RAMs. Last time I coded anything for SPI, the year was 1995. A 68HC11 talking to one EEPROM for power down state store and a chain of 8x8 LED drivers. I got confused with either the SPI config or the EEPROM sequencing, and was on the clock, so decided to use the more fragile internal EEPROM instead. I devised a basic wear levelling, though probably didn't need that extra protection in the end because they never turned the equipment off anyway.
    "We suspect that ALMA will allow us to observe this rare form of CO in many other discs.
    By doing that, we can more accurately measure their mass, and determine whether
    scientists have systematically been underestimating how much matter they contain."
  • evanhevanh Posts: 8,072
    edited 2019-11-01 - 00:18:11
    This Winbond part has a nice sequencing interface. I'm guessing that other brands don't always keep it this simple. The basic rule with the Winbond is all commands start with CS going low, and that always resets the data pins config back to simple SPI mode. The 8 bits of command is always issued as 1-bit serial. The command defines the bus width from then on until CS goes high.

    You could say it doesn't have sticky interface modes.
    "We suspect that ALMA will allow us to observe this rare form of CO in many other discs.
    By doing that, we can more accurately measure their mass, and determine whether
    scientists have systematically been underestimating how much matter they contain."
  • PS: I found I could go completely gapless on the 2-bit data. The processing can keep up, just. After the read length is extracted from first four bytes, the clocking is one huge continuous stream of SPI clocks. The clocking smartpin is even commanded outside the processing loop.
    'full-on continuous burst, right up to sysclock/2!
    		wrfast	#0, #0			'start FIFO at beginning of hubRAM
    		shl	pa, #4			'x16 clocks per longword
    		wypin	pa, #spi_clk		'start clocking for the full length
    .loop
    		call	#read_byte4
    		movbyts	pa, #%%0123		'want as little-endian
    		wflong	pa
    		djnz	.lcount, #.loop
    
    		outh	#spi_cs
    		rdfast	#0, #0			'flush the FIFO
    
    "We suspect that ALMA will allow us to observe this rare form of CO in many other discs.
    By doing that, we can more accurately measure their mass, and determine whether
    scientists have systematically been underestimating how much matter they contain."
  • jmgjmg Posts: 14,019
    edited 2019-11-01 - 02:02:35
    evanh wrote: »
    PS: I found I could go completely gapless on the 2-bit data. The processing can keep up, just. After the read length is extracted from first four bytes, the clocking is one huge continuous stream of SPI clocks.
    That's impressive :)


    evanh wrote: »
    I never saw any mention of memory pages in the Winbond documentation when reading up on the fast read commands. I had even forgotten about it as a possible concern ... looking now, the only place that page boundaries are mentioned is when erasing/writing the device.
    Ahh, I found it, - is mentioned in the LY68L6400 PSRAM data
    says "144MHz max without crossing page boundary , and 84MHz max when burst commands cross page"
    That's because it needs to load the next page, which takes a bit longer than a read of the next-byte from an already loaded buffer.
    Maybe the FLASH have a similar issue - or maybe they do something different ? Seems fundamental a reload of buffer is needed somewhere ?


  • evanh wrote: »
    You could say it doesn't have sticky interface modes.
    Ah! That's called Dual SPI interface mode. That's the distinction between the names Quad SPI vs QPI and Dual SPI vs DPI. Hmm, I doubt that's a rigid definition. Just one of those evolved naming conventions.

    "We suspect that ALMA will allow us to observe this rare form of CO in many other discs.
    By doing that, we can more accurately measure their mass, and determine whether
    scientists have systematically been underestimating how much matter they contain."
  • evanhevanh Posts: 8,072
    edited 2019-11-01 - 04:54:05
    jmg wrote: »
    Seems fundamental a reload of buffer is needed somewhere ?
    All it needs is a long enough buffering to keep shifting out the final bits of prior page while the new page gets selected. Eight 4-bit words would be heaps me thinks.

    "We suspect that ALMA will allow us to observe this rare form of CO in many other discs.
    By doing that, we can more accurately measure their mass, and determine whether
    scientists have systematically been underestimating how much matter they contain."
Sign In or Register to comment.