Where to start with FPGA PCB design? - Page 1
Forum section: electronics / general

author: Thane of Cawdor
author_rank: Regular Contributor
timestamp: August 15, 2021, 11:19:25 am
content: I'm working on a project where I'd like to design my own FPGA development board - something like the boards available from Digilent. Where's the best place to start as a beginner designing the PCBs for FPGAs? Are there any particular open source FPGA development boards you recommend to refer to and learn from? Any direction would be appreciated

author: sicco
author_rank: Regular Contributor
timestamp: August 15, 2021, 01:31:25 pm
content: The Icestudio project gave me a good start. It supports Ardruino style quick start kits / boards. Such as the Icebreaker. Mouser, Digikey etc ship them. Design files for those boards are open source Kicad. Priced like Arduino boards: <<50$ to get going.I was impressed about how quick and easy it was to get going: one www download for Icestudio on Mac or Windows, then a graphical user interface in which you wire ports, counters, registers, i/o, plus Verilog text blocks if needed, simply by dragging and dropping into a window that i think is a google Chrome instance. From that same window you verify, build and download. Download is over USB via a ftdi2232 into a flash boot rom on your target.There’s a rapidly growing set of libraries (Collections) that include serial, SPI, I2C, arithmetic, memories, or even a risc CPU.You can also use the official Lattice starter kits (evaluation boards plus the typical 1+ GB of “free” IDEs, compilers, synthesizers, drivers and what not), but that’s lengthy painful installs as usual, with a strong push to purchase licenses after a couple of weeks…

author: BrianHG
author_rank: Super Contributor
timestamp: August 15, 2021, 02:02:40 pm
content: With this board at the price of a programmer itself, and a programmer is included on the PCB with power-supply and a almost 200$ 50k-gate FPGA all for 37$, I would begin by buying it first, play, then decide if you want to make your own custom more expensive solution.https://www.eevblog.com/forum/fpga/arrow-deca-max-10-board-for-$37/Read carefully what's included on the PCB. You would have to spend close to 300$ to replicate anything close to that PCB plus have the PCB skills to do so in the first shot.

author: rstofer
author_rank: Super Contributor
timestamp: August 15, 2021, 02:45:20 pm
content: I would think it would require several years of professional level design experience to even begin with such a project. Tome, it's a Fool's Exercise and I wouldn't even try.If I wanted to use some kind of custom project PCB, I would think seriously about using an FPGA board that is available in the 'Stamp' format (small board, header pins, not much on board).Like this:https://store.digilentinc.com/cmod-a7-breadboardable-artix-7-fpga-module/I do the same thing with most microcontrollersLike the attached LPC1768 mbed where I wanted to receive SPI from an FPGA, reformat the data and send it over my LAN. I let the board manufacturer do the hard work and all I did was add a MagJack, an IO header and a pair of mounting headers. Trivial!

author: asmi
author_rank: Super Contributor
timestamp: August 15, 2021, 02:48:12 pm
content: See the link in my signature

author: Thane of Cawdor
author_rank: Regular Contributor
timestamp: August 15, 2021, 04:00:47 pm
content: Thanks all for the suggestions, appreciate them a lot.Quote from: BrianHG on August 15, 2021, 02:02:40 pmI was just having a look at this boardI'm not worried about the cost at this stage as I am just interested in the design aspect. However, I am interested to find out why the development boards are so cheap. Is it an economies of scale issue?The part I'd love some clarification on is how you'd actually start to build a schematic using one of these parts as the process seems different from MCU designs. For instance, for the MAX 10 there's no application circuit (that I could find) available to show which pins are dedicated ones and what supporting circuitry you would need (flash, JTAG, ...) and how these would all connect.

author: Thane of Cawdor
author_rank: Regular Contributor
timestamp: August 15, 2021, 04:06:06 pm
content: Awesome workI'm interested to hear how you got started on the design and if there was any reference material to note the power pins and so on? Also, you mentioned you were thinking of making a bare minimum device, is that something like these oneshttps://tinyfpga.com/. Lastly, for DDR3 memory is there a specific set of pins you connect this to the FPGA or are these DDR3 pins adjustable?

author: rstofer
author_rank: Super Contributor
timestamp: August 15, 2021, 04:20:08 pm
content: Quote from: Thane of Cawdor on August 15, 2021, 04:00:47 pmYou get that information by studying a commercial design. Digilent publishes all of their schematics as do most other vendors. Look at how Digilent does their schematics. The FPGA itself is shown in several different blocks of IO connections and spread all over the map but each subsection is grouped together. Study the actual board layout to see how various components are wired. Pay particular attention to power supplies and decoupling capacitors. Also, pay particular attention to the pins used for clock inputs. It matters which pins you use!Here's the schematic for a Digilent Basys 3 board:https://reference.digilentinc.com/_media/reference/programmable-logic/basys-3/basys-3-sch-public-rev-d.pdfHere's the board:https://store.digilentinc.com/basys-3-artix-7-fpga-beginner-board-recommended-for-introductory-users/You could start with the factory datasheet - all several thousand pages spread over a dozen or so documents. One such document might be a design guide for PCB layout:https://www.xilinx.com/support/documentation/user_guides/ug483_7Series_PCB.pdfGoogle will become your best friend...

author: Miti
author_rank: Super Contributor
timestamp: August 15, 2021, 06:11:38 pm
content: When I designed my board I was inspire by thishttps://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=183&No=83and thishttp://fpga.redliquid.pl/

author: asmi
author_rank: Super Contributor
timestamp: August 16, 2021, 01:35:48 pm
content: Quote from: Thane of Cawdor on August 15, 2021, 04:06:06 pmI'm not sure if that question is directed at me, but if so, there is plenty of resources for Xilinx FPGAs. Full pinout files are provided by vendors, as well as a ton of documentation, including hardware checklists to make sure you didn't forget anything.Quote from: Thane of Cawdor on August 15, 2021, 04:06:06 pmFPGA devboards without external memory are useless for the kind of applications I'm looking at, hence all my boards contain some sort of external memory, most often DDR3. The reason I've chosen DDR2 for the board in my signature is to save one DC-DC converter in the power delivery system - DDR3 requires a 1.5 V or 1.35 V for DDR3L, while DDR2 uses 1.8 V which I already have on a board as it's required for FPGA itself.Quote from: Thane of Cawdor on August 15, 2021, 04:06:06 pmIt depends on FPGA. For Xilinx 7 series, there are some constraints on pin locations, but there is also enough flexibility to pick the pinout that makes routing easier.