Hey man, cool to hear you're getting into FPGAs. They're an absolute blast to play around with! I almost never come to this "General Stuff" forum but came here out of boredom to see what was going on. I usually stick to the NESemdev and NESdev forums. Otherwise I would have replied sooner. I've been working with FPGAs for many many years (throughout college and in my current job). I use them every single day so I thought I would add my 2 cents. But kyuusaku has pretty much got it on the money. I actually didn't know how much he and I had in common until just reading this post. Pretty cool. Here are my comments:
---
Jeroen wrote:
Hmm, I've never used that one before but the following book by Ciletti is frigin amazing. He is actually the only author I will buy a Verilog design book from. For many reasons, including:
1) Literally, only about 10-15% of the complete Verilog LRM (Language Reference Manual) (a.k.a. IEEE spec) is actually synthesizable (i.e. you can compile the code and put in an FPGA). The rest of the language is non-synthesizable and can only be used for simulation/verification purposes. The non-synthesizable portion is certainly important to learn but there are wayyyyyyyyyyyy too many books out there that completely neglect to inform you which pieces of the language or which examples are synthesizable and which are not!! This is a major PITA for anyone trying to learn HDL (VHSIC or Verilog) and it will very easily make you a terrible HDL coder. Ciletti is always careful to point out the differences and mostly sticks to the synth-only portion of the language which I really like.
2) Ciletti's book also includes the complete source code for a little synthesizable microntroller (with complete ISA). This example and other great examples in his book is reason enough to buy it.
3) One of the professors that I studied HDL design under in college was a fantastic HDL coder (he was an adjunct and his full time job was actually an engineer for Intel). He recommended Ciletti's book to me.
Here is the link:
http://www.amazon.com/gp/product/0136019285/---
Jeroen wrote:
Also I think i'm gonna go with the "de1" as a dev board.
Meh, Altera is ok, but Xilinx is really the industry leader. I personally prefer Xilinx over any other option. And, yes, I have used both chips in college and industry so I'm not just talking outta my ass.
This is just my personal opinion though.
I've been drooling over this board for a while:
http://www.digilentinc.com/Products/Det ... Prod=XUPV5 But I have an ML505 board now (which is a lot like the XUPV5) which a friend donated to me so I don't need the XUPV5 anymore. It sounds like the price is out of your league but if you had the cash this would be THE board to get. And hopefully your a college student so that you can get "Academic" price.
I also have this board that I use:
http://www.digilentinc.com/Products/Det ... rod=XUPV2P It's a kick-ass little board. I originally got it back when I was in college. It has a V2Pro which is old technology by industry standards but certainly more than adequate for anything you want to do with NES type stuff. You can even run a full fledged linux OS on this baby (I actually already ported linux to this board and you can see my site and all the source code here:
https://rm-rfroot.net/xupv2p/ ). The V2Pro includes dual PPC processors embedded right in the FPGA fabric as well. Rockin'!! $400 is kinda expensive but this board is worth substantially more than that.
---
kyuusaku wrote:
Go team Xilinx
Agreed!
kyuusaku wrote:
Get the smallest FPGA that can fit all the projects you're thinking of.
Careful though, you want to leave room for expansion!
kyuusaku wrote:
Smaller FPGA = significantly less routing/fitting time.
Hmm, I don't necessarily agree with this. The more room that the fitter and router have the faster they will complete. If you have a very small design in a huge FPGA (like the V5) it's not going to take long at all to PAR - less than a minute? My entire VeriNES design takes less than 5 minutes to map (a.k.a. fit) and place&route - and I'm using a gigantic V5 part.
kyuusaku wrote:
USB JTAG are very expensive and unnecessary!
Yes, this is unfortunately true. However, the XUPV2P board I mentioned has an integrated JTAG USB controller built right into the board!
Specifically because Xilinx didn't want to force the student to spend even more money just for the programming cable. You can just plug in the board with a standard USB cable and go!
kyuusaku wrote:
4) Get a board with common IDC headers so you can build your own peripherals, it sucks having to buy $25 obscure connectors
5) Get a board with voltage/current protection on I/Os
6) Get a board with full schematic published
Agreed! Xilinx devices have very good IO protection built write into the FPGA itself. And I think every single dev board that Xilinx has created has published schematics, BOMs, and even the original Gerber files.
kyuusaku wrote:
...Basys2 from Digilent
I've never used this board but it's Xilinx so I've got no beef with it.
Spartan's are awesome little chips too...but they are cheap and you get what you pay for.
kyuusaku wrote:
I'd say don't get an introduction to logic through HDL book. Learn logic, then learn an HDL....
Agreed! You really should have a rock-solid understanding of simple 74' series logic gates, DeMorgan's law, etc, etc. before you even bother with FPGA design. The following is an awesome book that I used in some college classes to learn basic digital logic concepts:
http://www.prenhall.com/tocci/kyuusaku wrote:
Also you probably really don't need to buy a Verilog book, if you're dedicated you'll soon outgrow it. I have a crapload of textbooks I'm stuck with that are not useful anymore as references. From now on I'm just Googling whatever I don't know.
LOL, there is a lot of truth in that. I've got my share of HDL books collecting dust. My references mainly consist of Google or my Doulos training materials (or co-workers of course).
---
Jeroen wrote:
The reason I wanna go with verilog is well...I know 4 guys in #nesdev that know verilog and like 1 that knows vhdl.
Yep. You'll see this phenomena in most places, not just NesDev. And industry is moving increasingly towards Verilog every day - especially now that SystemVerilog is pretty well supported. Even the defense & aerospace sector (where I work) is moving away from VHDL - and that sector used to be entirely made of VHDL bigots. I think now they're finally seeing the light - haha.
---
kyuusaku wrote:
Here are more reasons to go Verilog:
-It's (IMO) much easier to pick up than VHDL
-It requires a lot less typing than VHDL
-It isn't capable of VHDL's abstraction so it forces you to write realistic hardware
-It's used more in the industry opposed to academia where VHDL is king
Agreed x4
---
kyuusaku wrote:
I'm just gonna be arrogant and "skip" that step.
Umm..ok...but don't say we didn't warn you.
---
Btw, you can always check out my website where I'm working on a Verilog-based (specifically System-Verilog) NES emulator. Just click on my "WWW" link below this post.
Pz!
Jonathon