DerStrom8
Super Moderator
Greetings all,
Today I begin a new venture: Designing a PCB around a Xilinx FPGA.
Okay, I actually started the venture back a month or two ago when I got a Basys 2 FPGA development board and re-taught myself VHDL, and began writing my program for this new design. I have gotten to the point where having an actual PCB without all the bells and whistles and has just the parts I need using the FPGA of my choice would be a whole lot more useful. There's only one problem: I don't even know where to begin.
I have tentatively selected the **broken link removed** (A member of the Spartan-3A family) for this project simply because it is cheap and easy to obtain, as well as (presumably) being comparable to what I have worked with on the Basys 2. Having never designed a board around an FPGA before I am finding it rather difficult to identify what specifications to look for. Here are the requirements I have so far for my board. Bold indicates that further information is required to make a selection:
I have also been referring to the Basys 2 schematic, but once again I am finding it rather difficult to pick out what is applicable to my requirements and what is not. My biggest problem right now is that the task feels quite overwhelming and daunting, so I need to know where to focus my attention to begin with.
Ultimately what I hope to come out with at the end of this thread is a schematic that I could theoretically turn into a PCB design, plug in, and program with the Digilent ADEPT software to get the FPGA running, minus the functionality of the rest of the circuit (just interested in having IO I can program at this point).
Many thanks,
Matt
Today I begin a new venture: Designing a PCB around a Xilinx FPGA.
Okay, I actually started the venture back a month or two ago when I got a Basys 2 FPGA development board and re-taught myself VHDL, and began writing my program for this new design. I have gotten to the point where having an actual PCB without all the bells and whistles and has just the parts I need using the FPGA of my choice would be a whole lot more useful. There's only one problem: I don't even know where to begin.
I have tentatively selected the **broken link removed** (A member of the Spartan-3A family) for this project simply because it is cheap and easy to obtain, as well as (presumably) being comparable to what I have worked with on the Basys 2. Having never designed a board around an FPGA before I am finding it rather difficult to identify what specifications to look for. Here are the requirements I have so far for my board. Bold indicates that further information is required to make a selection:
- Will be using EEPROM (or some other sort of ROM?) to store the bit file for my program to run it on the FPGA
- Would prefer a USB connection for programming the EEPROM (will require some sort of interface, perhaps a microcontroller? Something simpler? I may need to use a JTAG programmer instead, but a simple on-board USB connection is my top choice if possible.)
- Would like some analog inputs (another point for using an actual microcontroller instead of just a simple USB interface - kill two birds with one stone)
- Must have at least 20 digital I/O ports off the FPGA
- Must have 1.2V, 3.3V, 5V, 12V rails (are there any others required for the FPGA?)
- Would like a 50MHz oscillator for the FPGA (maybe 100MHz, but that's probably overkill)
- I/O protection on all used FPGA I/O connections
- What sort of device is recommended to store the program to run the FPGA? I mentioned EEPROM but have no experience in this.
- What sort of circuitry would be required to interface with the ROM via USB (or JTAG programmer if absolutely necessary) to write my program?
- On Page 13 of the FPGA Datasheet I see supply voltages of Vccint=1.2V (is this supplied internally, or must I supply it? I'm assuming the latter) and Vccaux=3.3V (could use 2.5 but I'll be using 3.3V elsewhere anyway). Are there any other rails I need specifically for the FPGA?
- What other circuitry would I need to get this FPGA running (besides bypass caps, of course)? I'm still reading through the datasheet but am struggling to pick out the useful information regarding the circuit design.
I have also been referring to the Basys 2 schematic, but once again I am finding it rather difficult to pick out what is applicable to my requirements and what is not. My biggest problem right now is that the task feels quite overwhelming and daunting, so I need to know where to focus my attention to begin with.
Ultimately what I hope to come out with at the end of this thread is a schematic that I could theoretically turn into a PCB design, plug in, and program with the Digilent ADEPT software to get the FPGA running, minus the functionality of the rest of the circuit (just interested in having IO I can program at this point).
Many thanks,
Matt
Last edited: