Packt FPGA Programming for Beginners: Bring your ideas to life by creating hardware designs and electronic circuits with SystemVerilog
D**N
Good resource, needs editing, you might want to start elsewhere
This is not "Verilog for Dummies" or a $100 text book. Its a book by someone who knows a lot about the subject trying to help you understand it better. It got me (retired programmer looking for new thrills) past the initial hurdles of using the software on an actual board. The prose is not always clear and I have noted a few typos and general sloppiness (book calls it Project 1 but then you end up loading the example named project_2). The author tries to include useful techniques (e.g. parameters) in the midst of an example for combinational logic which would be very helpful if it didn't confuse me. Ignorance tends to make me creative at misunderstanding things. At this price point I think this book is a good value, but I'm going to buy the $100 text book and get a better grounding in Verilog before I return to it.
A**N
Great verilog / FPGA book!
I highly recommend this book for beginner and intermediate verilog programmers and learners.I am a computer engineer by training, but have spent most of my career writing software. Recently I became more interested in building circuit boards, soldering, and filling in my hardware knowledge. A couple of years ago I came across the MiSTer FPGA project, and decided that I wanted to be able to learn verilog to help fix things and contribute new cores. For a software engineer, getting good at verilog can have a steep learning curve. Hardware is inherently parallel, and understanding the flow of verilog is different then traditional programming languages, even though the syntax is similar.FPGA Programming for Beginners is a great place to start, or improve your verilog skills. When you write your first design it is often a struggle to get it working. This book is very good at describing hands on, step by step how to simulate and debug the project on hardware. It will take you through the xilinx software and teach you how.As a beginner you often end up with a design that works intermittently. Either in simulation, but not on an FPGA board, or one one board, but not another. This book has practical tips and sections on how to catch many of the recurring problems in FPGA design.This book is not only filled with basics, but describes important details that are often "gotchas" when building real projects. For example, timing constraints are explained clearly and strategies to fix them are described. Also, the explanation of synchronizing data across clock domains was the first one I read that made sense to me. The state machine chapter taught me tricks to be able to debug state machines on the board much more easily. It also clearly described the different design patterns of state machines in verilog. Another chapter explains how to infer different kinds of ram on different FPGA boards.Overall this isn't a book that just describes verilog syntax. The book is filled with answers to real world problems and questions you would see in an interview for a job in the industry writing verilog.
J**R
Not really for beginners
I have mixed feelings about this book. It has a lot of useful information about how to do things, such as counting button presses, etc. What it doesn't have is clear instructions on how to build a program or how to use Vivado. It seems to me that a beginning FPGA programmer is likely also a beginning Vivado user. For example, I am working through chapter 3 which is counting buttons and displaying the count in the seven segment LED's. I see how the code displays the number in the LED. I see how the code counts the button presses. I do not see where the two pieces of code interact. I also don't see why the LED code is listed under the simulation heading. These are the types of unanswered questions that I have as a beginner, I assume others would have similar questions. Bottom line it seems this would be a very good book - after you got past the beginner stage.
S**S
Not as advertised - Missing Chapter
A nice coverage of Verilog and the Artix-A7 (the FPGA that I had in mind for my project). Big plus: the tutorial talked through a lot of great concepts, it did not waste pages by filling them with listings.I wanted to go beyond the $20 intro exercises but did not want the $150 academic treatise with no practical examples, so this seemed ideal. For some of the projects I had in mind I wanted to create peripheral that actually worked...i.e. could be interfaced to my hardware projects.The description talked about serial interfaces (back cover of book and Amazon "Book Description in TWO places). The Book description even listed Chapter 8 (between Chapters 7: Introduction to AXI and 9: Lots of data? MIG and DDR2) as being 8: Serial interfaces - SPI, I2C, UART, PS/2.Awesome ... this fantastic practical value to make the FPGA useful could be worth the price of the book alone. Imagine the disappointment when Chapter 7 -AXI is followed by a Chapter 8) - Memory. Where is the promised Chapter 8 on Serial interfaces - SPI, I2C, UART, PS/2?The "Advanced topics" does cover PS/2 ... but where us the whole chapter devoted to these precious and practical interfaces that I was promised?
T**G
Stuck at page 37
I'm starting out with FPGA and thought that a book for beginners is the right place to start. But the explanations of the first chapter are already difficult to follow (compares FPGAs to ASICs - but as a beginner I'm not familiar with ASICs either). But I got through it and on to the first example. This one is supposed to be a hello-world like program. It seems to be easy enough to understand: two switches are used to control four LEDs. But the simulation fails. No matter what I try, the simulation won't correctly set the LEDs. I have used the Code from github. Still no joy.So I cannot recommend this book, because it makes my introduction to FPGAs a frustrating experience.
Trustpilot
2 months ago
2 months ago