VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Discuss general Uzebox topics here: features, wish list. nice to have, etc.
User avatar
TonyD
Posts: 134
Joined: Mon Oct 27, 2008 2:23 pm
Location: Newcastle, UK
Contact:

VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by TonyD »

I read about this chip on the Parallax forum and thought is worth repeating here.

VLSI have announced VS23S010 1Mbit Versatile SPI/8-bit Parallel Bus SRAM which is interesting but reading the text
In addition to being used purely as a memory storage device the VS23S010 also contains a pattern generation logic. When VS23S010's RAM is accessed through the SPI bus, it can simultaneously output a repeating memory data pattern through four of its parallel bus pins. This feature significantly reduces the computing requirement of a microcontroller for applications that require periodic output from the memory, such as a video frame buffer.
make its really interesting to us.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by uze6666 »

Yeah, great find, that chip could come handy!
User avatar
panu
Posts: 9
Joined: Tue Feb 09, 2016 5:19 pm

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by panu »

Dear Amazing Gurus at the Uzebox forum,

Warm greetings from Finland, this is Panu from VLSI Solution! One of our customers told us about you and, wow, you sure have an awesome product and community. I could have watched those videos of your projects at YouTube for hours!

In the 1980's I've sure inserted my share of coins into Galaga, Bomb Jack and other games machines of the era. And from those memories I got what seemed, and still seems to me like a great idea. A few years ago, we were designing this new SPI SRAM memory chip, because our customers needed one for a project. And at a meeting, our CEO asked if we had any other ideas for the product. And so I said that if we just add a couple of counters inside, we could make a pattern generator that could be useful for "various purposes". He said that should be ok, if indeed it was "just a couple of counters" and didn't make the chip a testing nightmare.

When we got the first chips, I immediately proceeded to make a video output from that pattern generator using a Xilinx XC9536 CPLD and a few resistors, much like what you have in the Uzebox. I actually came to the lab during the weekend and wrote the configuration for a minimalistic NTSC modulator on that tiny CPLD. When our CEO saw it, he asked if we could fit it inside our IC. And I said, sure, its something like 10 to 20 flip-flops. But with a little more, we could make it much better. He asked how much better, and I said full color (my demo had 14 colors - sync level, burst level and 14 indexed colors formed with VHDL combinatorial logic statements). Of course we would need to put a DAC inside, but no problem, our company is expert with DACs.
vs23s010Atest2.jpg
vs23s010Atest2.jpg (103.07 KiB) Viewed 18619 times
He asked if those additions would blow up the circuit area. I said: "absolutely not, it's just a couple of registers to set things like line lenght and number of lines". He said: "No, I want you to really think about this, think what should go inside and present it at the next staff meeting, we'll consider it then."

And so I did.

What we now have is the VS23S010D-L chip getting in production, that has an integrated video DAC, 128 kilobytes of SRAM, any amount of which can be assigned to be video memory, xtal oscillator, internal PLL clock multiplexer, digital PAL/NTSC modulator and the necessary counters and logic to get bits from the SRAM and into the modulator. It's a bit more fancy that what I first conceived, but much more flexible. You can set the start address of pixel data for each line separately so you can duplicate lines and create horizontal/vertical scrolling effects. And you can have many different prototypes for a line - those are what forms the sync, burst and background areas. You can select the number of bits you want for the color components, from 1 to 20 bits per pixel. Obviously you can set the length of lines, number of lines and the resolution. There's even a block copy engine.
IMG_0536_CROP3.JPG
IMG_0536_CROP3.JPG (83.73 KiB) Viewed 18620 times
It's still true to the original design goal of keeping the circuit area to the minimum. We don't have indexed palette memory or even RGB conversion matrix - either of those would blow the amount of logic to intolerable levels. What we have is flexibility, high level of intergration and really low cost. So I hope it might be useful for people like you who, it seems, can appreciate the best of the good old days.

Back in that meeting I told you about earlier, I remember asking: "You know, I can't guarantee that anybody would want to buy this in the end." And my boss replied: "Don't worry about it. Nobody else makes a chip like this anymore, and these speciality chips find their way to the people who need them." So that's what I hope might happen here.

And if not, I will take consolence from my boss's final remark: "In any case, it's still a good serial SRAM."

Should you need any help with samples or getting the chip working, I'm available at http://www.vsdsp-forum.com, especially at the VS23S010 Forum (http://www.vsdsp-forum.com/phpbb/viewforum.php?f=14).

-Panu/VLSI
Last edited by panu on Thu Feb 18, 2016 8:28 am, edited 1 time in total.
User avatar
TonyD
Posts: 134
Joined: Mon Oct 27, 2008 2:23 pm
Location: Newcastle, UK
Contact:

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by TonyD »

Hi Panu

welcome to the forum

Wow, that looks a really interesting project you got.

Any chance of seeing some more technical details, system diagram, schematics etc. ?
User avatar
panu
Posts: 9
Joined: Tue Feb 09, 2016 5:19 pm

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by panu »

welcome to the forum
Thank you!
Wow, that looks a really interesting project you got.
Any chance of seeing some more technical details, system diagram, schematics etc. ?
Sure! Whatever you need. We're currently updating our datasheets and documents and writing new info at at our own forum site. What would be useful for you?

-Panu
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by CunningFellow »

Hi Panu,

where can you buy them. I checked the usual suspects but nothing available.

I reckon it could probably do a mean version of Tempest :)
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by Jubatian »

I too read the datasheet (that I found here), not quite in-depth, just the surface. It is quite impressive that such a chip exists!

The YUV colorspace is a bit odd to use. For an AVR, it likely needs 8 bits per pixel since as far as I see, it is not quite feasible to get 4 bits with decent colors, although for Tempest it might actually work (to cook up such a 4 bit per pixel set which contains the required five colors). It is nice how it can support arbitrary depth for each component, but these are which are the most useful from a 8 bit micro's perspective wanting to dynamically update the screen.

Of course I see that's a very good thing that the chip generates video all by itself! So the micro has all the time to do something useful, which also includes a lot more time to actually render graphics. It may work sufficiently well even through SPI (requiring 18 clocks for an access, sequential). Connecting parallel to an extram interface of a micro would be a blast, a real little GPU with video RAM, not unlike in the old days!

Yesterday I thought a bit about it. Graphically rich old style adventure games (with non-scrolling screen) could be easily possible, and depending on how the scrolling capabilities (I see the chip implements something like a display list in some old microcomputers) perform, and how well the built-in DMA facilities could be used, even a scrolling tile-organized background may be possible with little CPU overhead (although double-buffering at 8 bits per pixel would drain away memory fast, but the need for that is probably avoidable with some "racing with the beam" trickery). Of course just considering the slow SPI interface, using parallel it is just VRAM, so just about anything would be possible the old 8 bits could do without sprites (systems like the Commodore Plus 4 or the Enterprise 128K, maybe it is the most similar to the latter).

Well, I can only cook up theories from the software side... But if CunningFellow is interested, then it seems like some actual piece of hardware could be on the way eventually! :)

A bit odd that such a chip exists, but definitely impressive! Could you show some more use cases of it? What kind of micros were used to interface it? Just curious.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by uze6666 »

I really waited to respond to this to think about it. It strikes me as something that, if available 8 years ago, would have so obviously been at the core of the Uzebox instead of the AD725. Offering 128K is also clearly a sweet spot since it allows for double buffering in such application as a low-res/retro video device. The design allows support for all kind of video timings which is essential to succeed in such a niche. The microcode approach is also incredibly clever and interesting since it allow such a wide range of resolution bit depth. And you guys also thought about a luma trap to improve composite quality (although no S-VIDEO out :( ).

As Jubatian mentioned, YUV seems odd, but I totally understand why you used it, it's the TV native encoding. Looking at chips like Analog Device AD725 we can see a lot of circuitry is required to convert from RGB.

I think it's a gamble to make such a chip in 2016 but at the same time there's the maker movement wave. Silicon has gotten cheap enough so if you can include such extra circuitry...All I can say Panu, is that you had balls of steel to propose such an idea to your boss!! It's a hell of cool chip, I devoured your datasheet. I got the same geeky feeling as when I read C64 SID chip datasheets back then. It says a lot, kudos to VLSI. :ugeek:

Now just hopes its available in DIP! ;)
User avatar
panu
Posts: 9
Joined: Tue Feb 09, 2016 5:19 pm

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by panu »

Dear Uze and others,

Thank you for your nice messages! Sorry for not keeping up to date with your messages at the Forum, I've been busy writing a tool that allows you to simulate the microcode on the VS23S010 so you can explore various color possibilities.
vs23s010 microcode simulator 01.png
vs23s010 microcode simulator 01.png (69.95 KiB) Viewed 18422 times
This tool can be downloaded from http://www.vsdsp-forum.com/phpbb/viewto ... 8938#p8938

I have so many comments and answers to write to you, I'll have to read your messages in depth, but right now my head is exploding, having coded the tool up to a point which is at least semi-releaseable, albeit VERY engineer-oriented - sorry for the (lack of) user interface.

Please keep in touch and share any useful palettes you find. Also, we're preparing to launch the chip at our webshop (and our distributors will soon receive their samples). Also we were thinking.. we have a few thousand units of VS23S010C-L, which is superseded by VS23S010D-L due to bugfixes. There's a small difference in luminance calculation for low bit modes, but they're perfectly usable as video controllers - we just don't want to keep stocks of more than one version if we can avoid it. Anyway, we could sell the "C"'s for hobbyists at an attractive price while stocks last. Any comments?

-Panu
User avatar
panu
Posts: 9
Joined: Tue Feb 09, 2016 5:19 pm

Re: VS23S010 - 1Mbit SPI/8-bit Parallel Bus SRAM

Post by panu »

Jubatian wrote:A bit odd that such a chip exists, but definitely impressive!
Thank you! :D

The chip exists basically because of my and many of our other employees' and even some members' of the board deep and profound love for computing equipment and games that used television as a display device. Basically all of us have used such equipment, be it C64, Sinclair, Spectravideo, Amiga, Nintendo or PlayStation. Some of us still use Amigas as computing equipment and one of us (Albert of Pu239) actually has written some famous VIC-20 demos.
Jubatian wrote:Could you show some more use cases of it?
As for a commercial point of view, there's probably still room for such equipment; toys, fun and (retro) games, industrial displays, simple connectivity of Very Large Displays for various microcontroller purposes. User interfaces for living-room equipment. House automation. Distributed display systems. And then there are those who want to convey video signals with long cables or even wirelessly; for those, NTSC or PAL is definitively the signal type of choice due to the availability of transmission equipment and display devices for TV signals.
Jubatian wrote:What kind of micros were used to interface it? Just curious.
We use our own DSP System Controllers: VS1000, VS1010 and VS1005. We manufacture those chips to make MP3 players and audio equipment of many sorts for many customers. Our DSPs run at up to 100 MHz, using as little as 20-25 MHz to play MP3. And we have lots of integrated peripherals, such as hardware SD controller, USB, USB host, some chips with FM radio and even Ethernet. VS23S010 was once planned to be used in a Karaoke machine, although the main use for the IC remains simple memory. We have very efficient SRAM memory cells.
Uze wrote:I devoured your datasheet. I got the same geeky feeling as when I read C64 SID chip datasheets back then. It says a lot, kudos to VLSI.
Our most profound thanks!
Uze wrote:It strikes me as something that, if available 8 years ago, would have so obviously been at the core of the Uzebox

Perhaps in the future! :P Nothing would please me more than to see some future derivative of UzeBox use this chip! If there's anything that I can do that would help to even consider such a possibility, just let me know!!

-Panu
Post Reply