Hello All,
I've recently bought a Spartan 3E Starter Kit and I'm wondering what other devices people are using. I'm new to hardware design and any pointers to material would be appreciated. I've found a few online resources for soft cores and stack machines etc... However, I know this list is for squeak and I would like to do some research in this area.
Regards,
Travis
Travis Kay wrote on Fri, 08 Jun 2007 16:00:05 -0700
I've recently bought a Spartan 3E Starter Kit and I'm wondering what other devices people are using.
That is a pretty good development kit. I have a XSA100 board from Xess (100Kgates Spartan 2) and have borrowed a Spartan 3 Starter Kit (200Kgate FPGA), each of which has some limitations that make it complicated to develop Smalltalk computers on them. Here is a very complete list of currently available boards:
http://www.fpga-faq.com/FPGA_Boards.shtml
Things to look for:
- Large enough FPGA: though I had a lot of fun trying to fit a whole Smalltalk processor into a FPGA with only 15 thousand gates (my dietST project) it is best to have as large a FPGA as possible. Things are complicated when it is too small but if it is too large you can just ignore what you don't need.
- Large enough RAM: you might be able to run Little Smalltalk or one of the Spoon images with 1MB or less, but for something more like Squeak you need 8MB or more. Normally boards with small RAMs use static RAM chips which are very easy to use. The larger SDRAM (DDR or not) chips are much more complicated but probably worth the trouble. It is easy to find cores that will make a SDRAM look like a simple SRAM to the rest of the circuit, but normally they don't make good use of the fast block transfer features of SDRAMs and you end up with just a fraction of the performance you should have.
- Local storage: either some Flash soldered on the board with enough space left over after the FPGA programming bits or some Compact Flash or SD card. Without this you will have to reload the image from the PC over the communication line (and then save it the same way) on each reset.
- Communication: Ethernet or USB are pretty good, though you can make do with RS232 if you are pacient enough. Sometimes you can use the JTAG interface to communicate with the PC after the FPGA programming is done.
- Video output: a text-only Smalltalk can use the communication channel, but it is much nicer if you can have a graphical output. Normally there aren't many limitations in terms of resolution but it is common for development boards to have very few colors.
- Keyboard and mouse: if you use the video output, then you will want to have a keyboard and a mouse as well. Unfortunately, many kits which include a PS/2 interface only have one. An alternative is USB but that complicates things considerably.
I'm new to hardware design and any pointers to material would be appreciated. I've found a few online resources for soft cores and stack machines etc... However, I know this list is for squeak and I would like to do some research in this area.
JOP is a very good starting point even though it is for Java:
Forth processors are also a very good source of inspiration:
http://www.ultratechnology.com/chips.htm
I'll post more links in a few days when I will have a little more time.
-- Jecel
hardware@lists.squeakfoundation.org