Books and magazines on PLD design - Page 1
Forum section: electronics / general

author: garvind25
author_rank: Regular Contributor
timestamp: October 14, 2017, 03:42:42 am
content: Hi there,I wanted to know what books and magazines are available on CPLD / FPGA based designs. There are lot of books based on uC based hobby project. But I could find none based on PLDs on the internet. Similarly are there any magazines based on this topic pls.?Thanks and Regards,Arvind Gupta

author: hamster_nz
author_rank: Super Contributor
timestamp: October 14, 2017, 08:29:42 am
content: Browse some back copies of the Xilinx Xcell journal and tell us what you think!https://www.xilinx.com/about/xcell-publications/xcell-journal.html

author: rstofer
author_rank: Super Contributor
timestamp: October 14, 2017, 08:49:48 pm
content: There are literally hundreds of books on FPGA design and, more specifically, one or both of the languages, Verilog or VHDL.There are books that spend a lot of time on creating components like multiplexors, demultiplexors, counters, priority encoders and such."HDL Chip Design" by Douglas J Smith is like this.Then there are books with complete projects"Introduction To Computing Systems" by Patt and Patel builds a neat little RISC processor and then spends more than half the book teaching C programming. The material includes a C compiler and an assembler plus a simulator that I haven't used. Their LC3 project (and their book) seems to be used in a large number of US universities. It's a fun processor to build given that they give you the entire state machine. There are some components to be added to the block diagram but you will discover them as you work through coding the state machine."Digital Design and Computer Architecture" by Harris and Harris spends more time on logic design and they implement a single cycle MIPS type RISC processor. They go on to describe a multi-cycle CPU and a pipelined CPU. MIPS C compilers are all over the place."FPGA Design with Verilog" by Coffman is quite good.Although for a rather old chip, this book is quite good (and free):http://misp.mui.ac.ir/sites/misp.mui.ac.ir/files/ebooksclub.org__FPGA_Prototyping_by_VHDL_Examples__Xilinx_Spartan_3_Version.pdfAny of the books by Pong P Chu are highly recommended.Unfortunately, most FPGA books are 'textbooks' and they are very expensive.One reason you don't find as many articles, tutorials and books is that FPGA practitioners are at an entirely different level from Arduino programmers. For one thing, FPGAs implement hardware and not everybody want to work at that level.

author: garvind25
author_rank: Regular Contributor
timestamp: October 16, 2017, 06:16:51 am
content: OK...forgive my inaccurate question but I was looking for books/ magazines which tell how to make hardware from PLDs (discussion on respective PCB design in the article would be an added bonus).Arvind Gupta

author: agehall
author_rank: Frequent Contributor
timestamp: October 16, 2017, 09:49:46 am
content: Most vendors have application notes or simple development boards that you can get ideas from. It is really not all that difficult to use these devices.

author: rstofer
author_rank: Super Contributor
timestamp: October 16, 2017, 02:38:56 pm
content: Quote from: garvind25 on October 16, 2017, 06:16:51 amI guess I don't understand what you mean by 'make hardware'. That's all FPGAs do...I come up with some digital block diagram and a description of what I intend the device to do and then I write the HDL code to implement the design. Of course there is a lot of work on the perimeter of the device to connect various inputs and outputs but that's just details.Given the fact that larger FPGAs only come in BGA packages (usually) plus the fact that BGAs are nearly impossible for a hobbyist to use, we tend to buy development boards which could be as simple as the FPGA and a bunch of headers to something more useful with switches, buttons and 7 segment displays.http://store.digilentinc.com/fpga-programmable-logic/https://www.ztex.de/usb-fpga-2/usb-fpga-2.01.e.htmlIn any case, the code written in some HDL (Verilog, VHDL, System Verilog, etc) forms the logic expressions that are loaded into the FPGA. Same for CPLDs. The primary difference between a CPLD and an FPGA, in my opinion, is that CPLD don't include internal RAM. They also have far fewer logic blocks.There is a higher layer to consider: How to design the system itself. There are many books on computer architecture and, basically, you take the description of a system, break it down into blocks and write the HDL to implement the blocks. These days we typically break a CPU down into two blocks, the datapath and the control block. The datapath deals with how data moves through the CPU. Internal registers, adders, memory interfaces, these are all in the datapath. The control block tells the datapath how to move data and when. The datapath does the work, the control block is the brains.FPGAs are used for many things other than implementing CPUs but the process is the same. Describe the problem the FPGA is to solve, come up with some logical block diagram and then write the code. Followed by lots of testing...Regardless of what you are building, there are a few standard building blocks. That is what is described in "HDL Chip Design" - building blocks. The other books I linked have to do with creating systems. Specifically CPUs but the process is the same regardless of what you are building. Grab a bunch of 'building blocks' and connect them together to solve a problem.