[sdiy] FPGA
Matthew Smith
matt at smiffytech.com
Mon Oct 31 04:57:52 CET 2011
Quoth James Elliott at 31/10/11 13:44...
...
> Once you have the CSV output file from the pinplanner
> how do you get that in a format suitable for a PCB fab house?
It's not quite as simple as that. All the CSV file does is give you a
list of which ports (as in the ports you declared in the original HDL)
corresponding to the physical pins of the FPGA. It doesn't magically
design a board for you!
The board needs to be laid out in the PCB CAD software of your choice -
I use Eagle.
I have already created a footprint for the FPGA in question in Eagle,
ditto for the other components that are going on the board, for which
there aren't already library components which I can use.
For comparison, if I were using a microcontroller, without writing a
single line of software, I could lay out my board as I could say that
component X would be connected to, say, port A of the microcontroller.
However, with the FPGA, until I have either written the HDL to configure
it - or used PlanAhead and done the pin planning as described - I would
have no idea as to what the user pins (as opposed to power pins,
configuration pins, JTAG pins, etc) would do.
So I have a footprint with a lot of pin numbers, but I don't know what
they are going to do. This is where the CSV that PlanAhead spits out
comes in. Referring to the CSV, I can connect the appropriate nets to
the appropriate pins in the schematic editor, THEN I can lay out and
route the board.
As regards getting the board fabricated, you would generally need to
export Gerber files from your CAD software. I, however, get my PCBs done
here: http://dorkbotpdx.org/wiki/pcb_order All I need to do is to
e-mail the .brd (board) file from Eagle - without exporting anything.
Some PCB houses give away their own software, and I would expect that
they would also have a very simple way of turning the layout into an
order - because they want it to be as easy as possible for the customer
to give them $$$!
Just to complete the picture, if I were using a CPLD rather than an FPGA
or microcontroller, I really WOULD need to write the software first.
The fitter report from the ISE would tell me which pins were assigned to
which ports given in my HDL. (This is my understanding of it, anyway -
that there is far less flexibility in pin assignment with CPLDs than
there is with FPGAs - and it's best to leave it to the fitter to do it
automatically.)
If you don't really feel like doing battle with PCB CAD software as well
as the FPGA development software, do what Scott does, and just use a
commercially available development board. I am doing it this way as I
like doing board design, and to have created the whole thing from a
component level up.
Hope this helps!
Cheers
M
--
Matthew Smith
Business: http://www.smiffytech.com
Blog: http://www.smiffysplace.com
Linkedin: http://www.linkedin.com/in/smiffy
Flickr: http://www.flickr.com/photos/msmiffy
Twitter: http://twitter.com/smiffy
More information about the Synth-diy
mailing list