synthings

SYNTHINGS is a digital synthesizer development platform that I've been building.

SRAM

jason | 01 December, 2010 19:43

Everything else on the board I had already done before - in one form or another, which is why I'd concentrated on the display first of all.

Getting the LCD to show something useful would be the next stage, since I wouldn't need to rely on the RS232 for debugging.

So I disassembled the boards, and soldered on the FPGA configuration EEPROM, the SRAM and the SDRAM.

Initially the EEPROM didn't want to be programmed - but that was down to one of my wire vias not quite connecting both sides of the board (although I was quite concerned until I found that).

SRAM is uninitialised on power-up, which means it's effectively random. Random isn't quite a good test pattern, but it is good enough for the first tests - the display would need to be stable. An unstable display which wobbles around shows that the memory isn't being read correctly.

After a bit of playing, I got a nice stable display - although I did have to clock the SRAM at 50MHz instead of 100MHz because post-route simulation showed that the CS and OE lines weren't being dropped at the same time, and there was a bit of skew with the address lines too. If I'd used 7ns RAM, then I probably would have got away with it.

Random, stable display

The display is 320x240, which means 320 across, and 240 down. I actually wanted to use it in portrait mode, which is 240 across, 320 down. You can buy displays with that organisation, but I'm not going down that route!

I did a bit of reorganisation to the video memory map, and internally it's now 256x320, with each row starting every 256 bytes. The last 16 bytes are ignored. This makes it very easy to work out a pixel's coordinate with simple shift and add arithmetic.

Additional logic was put into the interconnect to allow the CPU to set the row/column position, and increment the address. And finally I wrote a converter to create a binary sequence suitable for inclusion in the CPU's ROM.

SYNTHINGS logo on display

Perfect!

 
Powered by LifeType - Design by BalearWeb and Jason Tribbeck
Copyright © 2010
Synthings.com | Tribbeck.com | Jason Tribbeck
All trademarks are the property of their respective owners