On Apr 24, 2013, at 7:32 PM, ben wrote:
On 4/14/2013 5:19 PM, Sytse van Slooten wrote:
What you would need is an FPGA board, one or more
SD cards (not SDHC or newer,
but the 'old' type), and optionally a little board with the enc424j600 chip
from Microchips on it to allow for a DEUNA-type ethernet controller.
The de0 board from Terasic has the advantage that it already has an SD card
connector onboard. But, if you want to add the ethernet stuff, for instance by
connecting a PMODNIC100 from Digilent, you'd have to wire it - look at the
pictures on my site how that looks.
I just ordered the de0 board from Terasic.
What do recommend as good online reference for programing
the FPGA? I still want to play around with some simple
computers in the 18 to 24 bit width range and since
I have to do it all from scratch, programing the FPGA for
what bit length I like looks, to be easy. It will be interfacing
the core logic to memory and I/O that I may need help with.
Well,
"easy". Hardware description languages have a steep
learning curve. If you're just starting out on them, it's
probably helpful to remember that what you're doing is a
lot more like describing a schematic in text (much like a
SPICE netlist, though with some more "programmy" bits) than
programming in a language like C. If you have some template
code you're planning on working with, that's probably a good
start (there are lots of CPU projects on
opencores.org, as
well as a lot of other cores for interfaces like SPI if you
need them).
This is a good reference for programming in Verilog that I
used when I was learning (and still come across helpful
sections when I'm Googling for usage details on the more
obscure parts). It starts from a beginning level.
http://www.asic-world.com/verilog/veritut.html
This is a great quick-reference card to print out and stick
to your wall.
http://www.ece.uvic.ca/~fayez/courses/ceng465/vlogref.pdf
For a Verilog simulator, I highly recommend Icarus Verilog,
which is a nice open-source simulator with quite a bit of
support.
http://iverilog.icarus.com/
Of course, if you want to do VHDL (Sytse's implementation
is done in VHDL, so that might not be a bad jumping-off
point), there are similar tutorials. Google for them.
GHDL is the main open-source simulator that I'm aware of,
but I haven't used it much; I tend to stick with Verilog
for my own projects because I like Icarus a lot. VHDL
has the benefit of being much less limiting down the
road compared to Verilog (without SystemVerilog features,
most of which Icarus doesn't support, you can't even make
a proper linked list because there's no dynamic sizing or
allocation of ANYTHING), but I feel like it has a steeper
learning curve partly because it's so type-strict (which,
once you get the hang of it, is really more of a benefit
because it doesn't tolerate much ambiguity).
For tools for building the FPGA, just go to
altera.com
and download the toolchain (the free "Web Edition") for
your platform. The Linux tools and the Windows tools are
both equally good these days.
If you want any help, advice, etc. on FPGA stuff, feel
free to email me; I do it professionally in both VHDL and
Verilog with both Xilinx and Altera FPGAs on a regular
basis.
PS. I used CUPL at one time for ALTERA CPLD's
and I like using it.
Sure. It's great for small, CPLD-sized things.
You'll
probably not like it so much for building anything big.
- Dave
Thanks for the info, Dave. I'm also puzzling over what to get and what
to do with it.
A friend looked at the PDP2011 page and the two main choices, and I had
(and still mostly have) myself convinced that the DE0 board is the way
to go. I'm only looking at that, and perhaps the 9020 processor that
Lawrence Wilkinson has done as another thing to try to run on it.
however he suggested this board which is a lot more expensive (about
400) but has a lot more to the chip.
I'm mainly concerned with changing to another board in finding the tool
chain to process what is needed, and don't know what I need to look for
in tools and so forth. Maybe you can comment on what might be needed.
There is the more ambitious 360/65 as well
<http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=56&No=364>
NEXYS2