FPGARelated.com
Forums

Spartan 3E evaluation board manufacturers

Started by Alessandro September 7, 2008
Hi!

I'm the designer of this zx-spectrum clone project: 
www.zxbada.bbk.org/badaloc_fpga

I'm looking for evaluation board or starter kit manufacturers. May somebody 
provide me with the one from which he/she bought it's board?

I already own the Spartan 3E $149 board from xilinx, but I'm looking for 
something as close as possible to this configuration:

Spartan 3E 500 in PQ208 package
Almost any pin available on some kind of strip/connector
Fast static ram (example 1MB 10ns)
Spi prom for configuration
Power supply, xtal osc (50MHz would be perfect)
rs-232 port
Vga output

The spi prom is preferable to the dedicated xilinx prom because my project 
uses it as data (rom images) storage.
The PQ208 package is preferable because I'm planning to make a pcb which 
should be assembled "by hands"

I found this: 
http://www.sparkfun.com/commerce/product_info.php?products_id=8458 it's ok 
but missing ram and vga. I will add them on a separate pcb, I think, if I 
don't find anything closer to my requirements.

Thanks in advance and Best Regards!
Alessandro


Alessandro <apoppi@email.it> wrote:

 >I'm looking for evaluation board or starter kit manufacturers. 

I am not a manufacturer, but I was an owner of a ZX many years
ago. :-)

 >The PQ208 package is preferable because I'm planning to make a pcb which 
 >should be assembled "by hands"

I made this board for testing. It uses the VQ100, perhaps you like the
idea, because it is possible to use this kind of pcb on top of more
easier design.
If you like I can provide you with the eagle-file, but it has less IO
than a PQ208. But the good news, it is easy to made it by yourself.

http://www.criseis.ruhr.de/sany0465.jpg
http://www.criseis.ruhr.de/sany0466.jpg

BTW: Is is possible to push the ZX inside a XC3S100E? Or is it to
small?

Olaf
Alessandro wrote:

> I'm looking for evaluation board or starter kit manufacturers. May somebody > provide me with the one from which he/she bought it's board?
Take a look at this list: http://www.fpga-faq.com/FPGA_Boards.shtml Some nice header boards are available from Enterpoint, e.g. this one: http://www.enterpoint.co.uk/moelbryn/darnaw1.html But if it is already working with your board, why not designing the final board with the components you need? Would be cool, if it fits inside a joystick, like this one: http://www.amazon.de/Commodore-DTV-Joystick-inkl-C64-Spieleklassiker/dp/B00094OCUG
> I found this: > http://www.sparkfun.com/commerce/product_info.php?products_id=8458 it's ok > but missing ram and vga. I will add them on a separate pcb, I think, if I > don't find anything closer to my requirements.
I don't think that it is a good idea to add external ram, because of the high frequencies on the lines. But maybe a SDRAM, accessed with a lower frequency, would work for your project. -- Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de
Olaf Kaluza wrote:

> BTW: Is is possible to push the ZX inside a XC3S100E? Or is it to > small?
Looks like it is too small. Someone wrote, that his Z80 project needed 2992 LUTs: http://www.embeddedrelated.com/groups/fpga-cpu/show/2582.php I think the Z80, only, should be below 1000 LUTs, but I don't think VGA and the rest of the peripherals will fit in 2160 LUTs of the XC3S100E. -- Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de
Olaf Kaluza wrote:

> I made this board for testing. It uses the VQ100, perhaps you like the > idea, because it is possible to use this kind of pcb on top of more > easier design.
Yes, that's exactly what the sparkfun site provides for the 3E 500.
> If you like I can provide you with the eagle-file, but it has less IO > than a PQ208. But the good news, it is easy to made it by yourself. > > http://www.criseis.ruhr.de/sany0465.jpg > http://www.criseis.ruhr.de/sany0466.jpg
Thanks a lot! But I think that moving to the PQ208 would require almost a large reworking
> BTW: Is is possible to push the ZX inside a XC3S100E? Or is it to > small?
It is small. The current project (T80 plus the logic required for a working 16K spectrum, would be more if I had access to the DDR ram onboard) takes about 25% of the 500. I think a 250 would be fine, as there are more than 16KB of blockram available for video dualport purposes. To tell it right, 8KB would be enough because you may "dualport" only the first half of the 16K bank and rely on external memory for the remainder (the video frame buffer is 6912 bytes). With 16K and more, however, a 128K spectrum may be syntesized (it requires two video banks). Of course, anyone who own the xilinx 3E board is kindly requested to run my clone on it :-) Ciao! Alessandro
Frank Buss <fb@frank-buss.de> wrote:



 >I don't think that it is a good idea to add external ram, because of the
 >high frequencies on the lines. But maybe a SDRAM, accessed with a lower
 >frequency, would work for your project.

Why not sram? I think 512kb is enought for a few ZX Spectrum and
much easier to use than a SDRAM.

Olaf

Olaf Kaluza wrote:

> Why not sram? I think 512kb is enought for a few ZX Spectrum and > much easier to use than a SDRAM.
SDRAM is very cheap, e.g. below $3 for larger quantities for 8 megabyte: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=557-1072-1-ND SRAM is more than 16 times more expensive: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=428-2075-ND It is not very difficult to integrate and access SDRAM in your own circuit (if you don't use DDR) and would be nice to have a small platform with a FPGA with 8mb RAM, VGA output etc., because then you can implement much more than just a ZX Spectrum with it, e.g. a multichannel 100MHz logic analyzer with 8mb memory and VGA output Or install a MIPS processor on it (I hope they don't violate patents) : http://opencores.com/projects.cgi/web/mips789/overview and compile Linux for it, which would be very difficult with 512kb. -- Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de
Frank Buss wrote:

> http://www.fpga-faq.com/FPGA_Boards.shtml
Interesting, I'm browsing it!
> Some nice header boards are available from Enterpoint, e.g. this one: > http://www.enterpoint.co.uk/moelbryn/darnaw1.html
And this too.
> But if it is already working with your board, why not designing the > final board with the components you need? Would be cool, if it fits > inside a joystick, like this one:
I don't know if I could squeeze it in a so small space. My intention is making a board that could fit the original rubber keyboard of the 48K spectrum. In the original design, built around an xpla3 384 macrocells cpld, I put a lot of extra features such as sd-card snapshots, banked memory for ResiDOS compatibility (http://www.worldofspectrum.org/residos/) 21MHz maximum Z80 speed (this is based on a real Zilog PLCC44 Z80 chip), serial port for rs-232 based snapshots, programmable 10-inputs joystick (can be mapped on any of the spectrum 40 keys for total compatibility with any game) and vga scan conversion. I don't think I could make it so small.
> I don't think that it is a good idea to add external ram, because of > the high frequencies on the lines.
Yes, I agree... but only the 3E 1600 would have enough ram to run a complete 48K spectrum without any external memory (48K of ram plus 16 of rom are requireq for this thing to work). The 1200 only has 56K of blockram. Furthermore, the cpld clone works as a 128K spectrum too and 512K are required to run residos. Hence, I think I can't avoid external memory.
> But maybe a SDRAM, accessed with a > lower frequency, would work for your project.
This is a painful matter. The Xilinx 3E development board does have a ddr chip installed, but I'm actually unable to use it because of the intricacies of ddr controllers. I took a look at what the MIG created: it's far more complicated than the whole project itself! And the source code was filled with "patches" made to get it work on the 3E board, where the correct "line pairs" wiring between ddr anf fpga was not taken into account for some reason I don't understand. Are ddr chips really so difficult to drive? Another point is: the current project, which only relies on internal blockram, runs the T80 at 42MHz with no problem. I'm not sure a ddr chip would have a so low latency to be able to supply the randomly accessed data in such a short amount of time (a T80 opcode fetch currently enables the MREQ for just ONE clock cycle. A "data" memory access it two clock periods long). 21MHz would be fine enough, but I think it could not work either. Imho the only way is a fast static ram, such as one of the many 512K / 1MB 10ns chips available on the market. If I'm wrong, and someone could tell a way to access the ddr on the xilinx board in a fast enough way, any suggestion is of course appreciated! I've heard of many people spending a lot of time to get a ddr work and the whole matter seems a little critical, I mean I would be afraid using such a chip on final board because it looks very path/wiring/etc sensitive. I feel more comfortable with static ram. Furthermore, I don't need such an amount of storage. On the fpga side, the reason for using the PQ208 package is the relatively easy "hand" soldering combined to a nice amount of logic and blockram. The current .bit file on the website, when loaded into the xilinx board, cycles a few border colors (those familiar with zx-spectrum knows what I'm talking about) waiting for a bootrom to be uploaded by rs-232 then reads a 16K rom image from spi flash address $10000 (1MB offset). If a spectrum 16K rom was programmed there, then you had a VGA-PS/2 keyboard 16K spectrum :-) Ciao! Alessandro
Alessandro wrote:

> Are ddr chips really so difficult to drive?
Yes. And designing your own board with DDR SDRAM needs a lot of knowlegde (or expensive programs) for routing and very expensive scopes for searching bugs (and most likely your first board with DDR SDRAM won't work). Use non-DDR SDRAMs in your design. I'm not sure, but I think there is no lower limit for the clock and you can implement your own SDRAM controller, which is easy, if you don't need the highest performance with burst-access, caching etc. SRAM would work, too, but then you can run small systems on it, only, and not something more interesting, like Linux. -- Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de
Frank Buss wrote:
> Olaf Kaluza wrote:
> It is not very difficult to integrate and access SDRAM in your own > circuit (if you don't use DDR) and would be nice to have a small > platform with a FPGA with 8mb RAM, VGA output etc., because then you
I agree. I will take a look at sdram (I suppose they are single data rate, opposed to double data rate of ddr) to see if I can afford the intricacies of controlling it. Are sdram going to be obsolete because of ddr, or is it a "parallel" market? I've also found this interesting board http://www.digilentinc.com/Products/Detail.cfm?Prod=NEXYS2&Nav1=Products&Nav2=Programmable with 16MB of "cellular ram", or psdram, which can be accessed like an asynchronous chip (self refresh is internally provided) but, unfortunately, it's speed is 70ns in async mode.
> can implement much more than just a ZX Spectrum with it, e.g. a > multichannel 100MHz logic analyzer with 8mb memory and VGA output
It would be nice! Ciao Alessandro