FPGA: Books
I've picked up and read quite a few books about FPGA's, VHDL, and
Verilog. Here are my notes on what I've learned after spending
several hundred dollars.
As a quick note, I started learned VHDL with Peter Ashenden's
book. Then in a fit of frustration (explained below), I decdied to
try Verilog. I have since decided that while I prefer Verilog, I do
not dislike VHDL. And, in fact, I feel comfortable with both
languages.
* "Readings in Computer Architecture"!http://www.amazon.com/exec/obidos/tg/detail/-/1558605398/103-7089979-6017408?v=glance!: My current favorite book. This book is a collection of articles previously published, many as early as the 60's. They cover the pipelined architecture of the IBM 360, instruction set theory, design, and implementation, performance of the VAX 11/780, and more modern architectures. The book is packed with great articles and I just enjoy reading it all the time.
* "HDL Chip Design: A Practical Guide for Designing, Synthesizing & Simulating ASICs & FPGAs Using VHDL or Verilog"!http://www.amazon.com/exec/obidos/tg/detail/-/0965193438/qid=1074202632//ref=sr_8_xs_ap_i0_xgl14/104-7409796-3640716?v=glance&s=books&n=507846!: This is my favorite book so far. With this book I learned a great deal about the synthesis of both VHDL and Verilog. In this book Douglas Smith shows the schematics of every VHDL and Verilog code example. Further, for almost all examples the code exists in both VHDL and Verilog form. Through his description of the purpose of various language constructs, it becomes easy to see how the two languages are so similar and where they're different.
As a side note, Steve Winegarden notes that this book doesn't show
examples of the 'assign' operator. Steve considers this
a major flaw with the book. I agree. However, given the other
strengths of the book, I still consider this my favorite book on HDL's.
* "The Designer's Guide to VHDL, 2nd Edition"!http://www.amazon.com/exec/obidos/tg/detail/-/1558606742/qid=1074220829//ref=sr_8_xs_ap_i0_xgl14/103-1785840-0923807?v=glance&s=books&n=507846!: I really like the writing in this book. There are lots of great facts about writing code. However, I gave up writing VHDL because of a misunderstanding about VHDL that was caused by this book.
Allow me to explain. Peter Ashended doesn't talk much about
synthesis. As a language, VHDL can do lots. But, when it comes time
for real life synthesis, there are things that the language allows
that aren't synthesizable. For example, the use of multiple
occurances of wait statements within one
process. I wrote some code using multiple
wait's and couldn't get the Xilinx tools to synthesize
the source. It was very frustrating. Nothing I found taught me that
what I was doing was wrong. So, I made a snap decision switch to
Verilog. That of course required new books. But, after some time I
came to learn how all this worked.
The next book I bought to learn Verilog is my least favorite book,
of all time. No book I have ever owned was as bad as ...
* "Verilog Quickstart: A Practical Guide to Simulation and Synthesis in Verilog"!http://www.amazon.com/exec/obidos/tg/detail/-/0792376722/qid=1074221331//ref=sr_8_xs_ap_i0_xgl14/103-1785840-0923807?v=glance&s=books&n=507846!: This is my least favorite book of all time.
Allow me to explain.
* First, the binding on the book is glued (not held
together with string) and a poor glue at that. I have lots of
books with glue bindinds, and not ONE of them is difficult to
keep open (in this case it's a physical strain on my thumb to
hold the book open).
* Second, the book cost $118. For that kind of
money, the book better come with lunch at a nice restaurant.
* Third, James Lee writes some sentences that just don't
make sense. It's not a grammer problem, nor a word definition
problem. It's like this logic problem in his thoughts.
Sometimes I find myself thinking, "from the above ideas one
does not conclude what follows." It was odd to reread the
text and discover that sure enough, there was just a logical
error in thinking present in this $118 book.
* Fourth, this is the 3rd edition of the book. I can not
speak about the previous editions, but this one had way too
many errors for a third edition text.
* Fifth, did I mention that this obomination cost
$118?