Shop Learn
SRAM as VGA Buffer - Page 7 — Parallax Forums

SRAM as VGA Buffer

123457»

Comments

  • roglohrogloh Posts: 3,313
    edited 2021-06-05 01:19

    @evanh said:
    That is cool. Just shows that, in good conditions, the specs are conservative. Temperature in particular will be a factor. They'll be spec'd for 70+ C, with some leeway.

    Also, the timing compensation transition around 180 MHz is narrow and will shift with temperature, and board layout too. Those regions are always going to be risky to use in an automated way.

    Yes unfortunately it's our same old data sampling problem, across all the different RAM types. We get input timing variation with frequency, board layout/delay, process, temperature, and probably voltage as well (though that one is controlled).

  • TubularTubular Posts: 4,362

    Wow, a truly stunning result. Gotta be happy with those speeds

  • hinvhinv Posts: 1,058
    edited 2021-06-05 03:09

    @Surac said:
    If only we had more ram inside the p2. That would nullify the need for external memory for videoout

    Yeah, and you would have to wait for a horizontal or vertical blank to write to it since access to hub ram is arbitrated in hardware. Other cogs could generate sprites and stuff them into the framebuffer at the right time. Actually, you could have a neighboring cog feed sprite data through the mailbox and it not even go into the framebuffer. That way you could have sprites on top of a character mapped screen C64 style..just a lot larger. Anyways the P2 sure does allow for some fun ideas even in 512KB!

  • YanomaniYanomani Posts: 1,181

    Yeah, indeed promising results.

    Congratulations! :smile:

    If something can be learned by using faster chips, Mouser Australia shows a small stock (26 pieces) of Cypress CY7C1049CV33-8ZSXC (8 nS parts), incorrectly tagged as 15 nS ones:

    (https://au.mouser.com/ProductDetail/Cypress-Semiconductor/CY7C1049CV33-8ZSXC?qs=/z5Af45Rph2Fqr8bD0ehSA==)

    At AU$ 7.17 apiece, perhaps worths have it checked...

  • roglohrogloh Posts: 3,313
    edited 2021-06-05 04:04

    @Yanomani said:
    Yeah, indeed promising results.

    Congratulations! :smile:

    If something can be learned by using faster chips, Mouser Australia shows a small stock (26 pieces) of Cypress CY7C1049CV33-8ZSXC (8 nS parts), incorrectly tagged as 15 nS ones:

    (https://au.mouser.com/ProductDetail/Cypress-Semiconductor/CY7C1049CV33-8ZSXC?qs=/z5Af45Rph2Fqr8bD0ehSA==)

    At AU$ 7.17 apiece, perhaps worths have it checked...

    Yeah at least something's available there. Although for ~$17 there is 4x the capacity with that ISSI SRAM (10ns). That part is also available and it would suit my other half of the board and give full 1080p. I should probably put in an order soon to try it.
    https://au.mouser.com/ProductDetail/ISSI/IS61WV20488FBLL-10TLI?qs=l7cgNqFNU1hrNZYLU3MwTg==

    In looking for other parts I was interested in recently for another P2 project, I found there is a certainly a shortage of some chips at places like Mouser and Element14 with various devices I have on my BOM on back order with long lead times. Looks like this worldwide semiconductor shortage affects some of us hobbyists too.

  • evanhevanh Posts: 11,064

    I like that 2 MB part. It's still fast.

  • roglohrogloh Posts: 3,313
    edited 2021-06-05 05:04

    @hinv said:

    @Surac said:
    If only we had more ram inside the p2. That would nullify the need for external memory for videoout

    Yeah, and you would have to wait for a horizontal or vertical blank to write to it since access to hub ram is arbitrated in hardware.

    This is confusing me. Did you mean "would not have to wait"?

    Actually in general if you use my driver, other COG's r/w access to external memory while video is operating does not have to only be in the blanking portions, because a maximum burst size is configurable along with COG priority. You just need configure the burst size for non-video COGs to not delay the video COG's request beyond the next scan line and there still needs to be at least some excess memory bandwidth available per scan line to service the lower priority COG access. More of the latter can allow overlap with the active video portion.

    However looking at the chip select low time with the P2 at 277MHz and the dot clock at 138.5MHz, in this particular case I do see there is very little memory bandwidth available to other COGs given we are reading at 138MB/s during the video scan line at the 1080p resolution with 8bpp. It would probably only be feasible to set a very small burst size. Or you could choose to run with 4bpp and get about 1/2x the total bandwidth left for other COG writes.

    This is where PSRAM on the next P2 Edge shines with its 16 bit wide bus implementation which doubles the bandwidth available vs SRAM (@ sysclk/2 read rates). It saves pins too and probably $. Just not quite as good for emulators with respect to latency but for video and other general use it's great.

  • YanomaniYanomani Posts: 1,181

    @rogloh said:

    Yeah at least something's available there. Although for ~$17 there is 4x the capacity with that ISSI SRAM (10ns). That part is also available and it would suit my other half of the board and give full 1080p. I should probably put in an order soon to try it.
    https://au.mouser.com/ProductDetail/ISSI/IS61WV20488FBLL-10TLI?qs=l7cgNqFNU1hrNZYLU3MwTg==

    In looking for other parts I was interested in recently for another P2 project, I found there is a certainly a shortage of some chips at places like Mouser and Element14 with various devices I have on my BOM on back order with long lead times. Looks like this worldwide semiconductor shortage affects some of us hobbyists too.

    Nice ISSI part (4x capacity), indeed.

    I was also checking for the availability of some chips I've been studying since last year or so, and also found a shortage of many, if not all, of them.

    https://rocelec.com

    (Rochester Electronics) (also promoted at Digikey's martketplace) seems to be a good source for a lot of hard-to-find and obsolete parts, though I know nothing about their commecial policy (minimum quantities/invoice values), or even if they are keen to deal with small companies.

    At least a thing I noted about their offerings (at Digikey's web site): sometimes, the available package selection seems to be a little different from the original ones (in height, at least), but I didn't checked the solder footprints thoroughly.

  • roglohrogloh Posts: 3,313
    edited 2021-06-05 05:08

    Here's what the 1080p 8bpp external memory CS low time looks like per scan line. Already takes up most of the scan line doing the video read request.

    And here's the 4bpp version with about 1/2x the total bandwidth left for writes where CS is high (excluding some overhead per request of ~1us). This is because the video request completes early (half way into the scan line). Its data for the whole scan line is already stored in HUB RAM at this point.

  • @rogloh said:
    So my driver framework can now output video from either Hub RAM, HyperRAM, PSRAM, or SRAM, and you can have a mix of them too (I still need to test that but it's designed to work). Other COGs still get write access to these RAMs. It could also read region image data from HyperFlash too if needed, but that would be limited to just static image data.

    This is brilliant!!!
    That’s a lot faster than i I imagined would be possible … and lots of spare ram left for blocks or sprites and the like…….nice!

Sign In or Register to comment.