Author Topic: Where to start with FPGA PCB design?  (Read 1997 times)

0 Members and 1 Guest are viewing this topic.

Offline Thane of CawdorTopic starter

  • Regular Contributor
  • *
  • Posts: 96
Where to start with FPGA PCB design?
« on: August 15, 2021, 11:19:25 am »
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  :-/O
 

Offline sicco

  • Regular Contributor
  • *
  • Posts: 167
  • Country: nl
Re: Where to start with FPGA PCB design?
« Reply #1 on: August 15, 2021, 01:31:25 pm »
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…
 
The following users thanked this post: Thane of Cawdor

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7733
  • Country: ca
Re: Where to start with FPGA PCB design?
« Reply #2 on: August 15, 2021, 02:02:40 pm »
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.
 
The following users thanked this post: Thane of Cawdor

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Where to start with FPGA PCB design?
« Reply #3 on: August 15, 2021, 02:45:20 pm »
I would think it would require several years of professional level design experience to even begin with such a project.  To me, 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 microcontrollers

Like 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!

« Last Edit: August 15, 2021, 02:49:58 pm by rstofer »
 
The following users thanked this post: Thane of Cawdor

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Where to start with FPGA PCB design?
« Reply #4 on: August 15, 2021, 02:48:12 pm »
See the link in my signature ::)
 
The following users thanked this post: Thane of Cawdor

Offline Thane of CawdorTopic starter

  • Regular Contributor
  • *
  • Posts: 96
Re: Where to start with FPGA PCB design?
« Reply #5 on: August 15, 2021, 04:00:47 pm »
Thanks all for the suggestions, appreciate them a lot. :-+


https://www.eevblog.com/forum/fpga/arrow-deca-max-10-board-for-$37/

I was just having a look at this board :) I'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.
« Last Edit: August 15, 2021, 04:11:34 pm by Thane of Cawdor »
 

Offline Thane of CawdorTopic starter

  • Regular Contributor
  • *
  • Posts: 96
Re: Where to start with FPGA PCB design?
« Reply #6 on: August 15, 2021, 04:06:06 pm »
Awesome work  :-+

I'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 ones https://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?
« Last Edit: August 15, 2021, 04:08:00 pm by Thane of Cawdor »
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Where to start with FPGA PCB design?
« Reply #7 on: August 15, 2021, 04:20:08 pm »
Thanks all for the suggestions, appreciate them a lot. :-+


https://www.eevblog.com/forum/fpga/arrow-deca-max-10-board-for-$37/

I was just having a look at this board :) 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.
You 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.pdf

Here'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.pdf

Google will become your best friend...
 
The following users thanked this post: Thane of Cawdor

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Where to start with FPGA PCB design?
« Reply #8 on: August 15, 2021, 06:11:38 pm »
Fear does not stop death, it stops life.
 
The following users thanked this post: Thane of Cawdor

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Where to start with FPGA PCB design?
« Reply #9 on: August 16, 2021, 01:35:48 pm »
I'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?
I'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.

Also, you mentioned you were thinking of making a bare minimum device, is that something like these ones https://tinyfpga.com/.
FPGA 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.

Lastly, for DDR3 memory is there a specific set of pins you connect this to the FPGA or are these DDR3 pins adjustable?
It 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.
« Last Edit: August 17, 2021, 03:28:05 pm by asmi »
 
The following users thanked this post: Thane of Cawdor


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf