03-06-2012 01:49 PM
I want to build my own spartan-6 FPGA development board for specific application. I am new with FPGA designing , I have never designed the FPGA based board before.
My application us very simple I just want to interface two Ethernet ports to the FPGA.
Does anyone have any idea how can I go about it?
I mean I have lot of questions such as how can I program the FPGA , I read about JTAG SMT1 which converts USB to JTAG but I had question that can I use it to download my code via xilinx software or I can only use it with DIGILENT board.
Is there any better way to program the FPGA?
What all components are necessary in FPGA board for proper operation.
Can you please direct me to the link so that I can read through the stuff and understand.
03-06-2012 03:15 PM
Study the schematics and layouts of some of the reference designs and commercial development boards (e.g. SP601, SP605, Digilent Atlys, Digilent Nexys 3, SIOI), and read the documentation (e.g. UG393). Consider contracting an experienced designer to review your schematic and layout before manufacturing it.
If you fit a standard JTAG header, you can just use the Xilinx software and USB Platform Cable programmer. The SMT1 might be okay if you need field programmability and don't want to implement your own in-system programmer, or for low volume designs. The best way to program the FPGA will depend entirely on your application. Using a Xilinx or Digilent programmer and iMPACT or Adept might be fine, or you might want to deliver bitstreams on an SD card, or be able to update them over the Internet through the Ethernet port, and so on.
03-09-2012 05:19 PM
I am designing power supply for the FPGA , in the technical documentation provided by Xilinx they have used a lot of inductors and resistive components. Can I just use Maxim reference voltage regulator to get 3.3V , 1.2V , 2.5V . Where can I get more information on power supply requirements and which regulator I can use.
Thanks for your help.
03-09-2012 06:20 PM - edited 03-09-2012 06:23 PM
I strongly recommend you engage an experienced board designer to assist you with power supply design.
Your board may easily be rendered unreliable (or worse) with a poor power supply implementation. An experienced designer will be able to properly analyse and review your design for a suitable power supply solution -- and will likely teach you a great deal in the process. And you should also engage an experienced board designer to review your entire board design -- including the layout -- for both errors and dodgy implementation. This will be money and time well-spent, and will likely save you a considerable amount of both time and money.
If you decide to ignore this advice, you do so at your own peril. Your project will be at some (uncertain) risk.
Having said that, here are some additional comments:
Can I just use Maxim reference voltage regulator to get 3.3V , 1.2V , 2.5V.
Maxim (and others) make a great number of voltage regulators with vastly different characteristics. Do you have a specific Maxim part number in mind?
Where can I get more information on power supply requirements and which regulator I can use.
See my first (and best) recommendation in this post. Here is an example thread of a designer who found himself in a situation similar to yours. Please read this entire thread, with care. There are many mistakes made in the course of this thread, providing insight and experience from which you can benefit (and mistakes which you might easily avoid).
-- Bob Elkind
03-13-2012 03:21 PM
Thank you very much for your advice. I am doing this project in university lab for experiment purpose. We have our own specific requirement for board so we can not buy a development board from any vendor. I am the only electrical engineer in this lab , so I am not getting any help from anywhere. I understand the project is it risk but I will learn from my mistakes and will not make the same mistakes in future.
I have gone through the posts that you had mentioned in your above post.
As per my understanding the board will require approximately 2A to 3A current. Can I use LP38513 voltage regulator to get 3.3V , 2.5V, 1.2V. Can I use same IC ( LP38513 0.5V to 4.5V output voltage with 3A current ) to get the three different voltages . Or I should use different voltage regulators to get three different voltages. I understand I will also need a reset supervisor .
Also I want to have Ethernet connectivity to FPGA via RJ45 connector. I understand that we need to place PHY . I was searching for the same and found that I can use Marvell 88E1111 PHY . Where can I find that how many PHY I can connect to FPGA spartan -6 or I can configure as many till I have the I/O pins available. Can I use inbuilt GTP functionality to connect through RJ45 or i must put PHY inbetween.
I have downloaded a software DocNav as suggested by you in one of the posts. I got lot of useful information from that but is there any way to get schematic for general components such as power supply.
Thank you very much for all the help you are providing it is very much helpful.
03-13-2012 04:17 PM - edited 03-13-2012 04:27 PM
As per my understanding the board will require approximately 2A to 3A current. Can I use LP38513 voltage regulator to get 3.3V , 2.5V, 1.2V. Can I use same IC ( LP38513 0.5V to 4.5V output voltage with 3A current ) to get the three different voltages.
Your first lesson in this thread is an important one for a would-be board designer: read the device datasheet. And learn how to understand device datasheets.
The LP38513-ADJ regulator is
Or I should use different voltage regulators to get three different voltages.
You are the student, yes? I will act like I am your teacher, for the moment. Here is your next lesson, which will tell us what you have already learned and what you have yet to learn:
For a board designer, the critical aspects of a power supply circuit include
I understand I will also need a reset supervisor .
Teacher to student: Why?
I'm assuming that you are interested in learning these lessons, and this is a good opportunity for this learning. If you want to skip the lessons and be told what to do (without understanding why), then please make these intentions clear.
Power supply design is enough for one thread. You should open a new thread for discussing GigE PHY selection, interface, software requirements, etc. etc.
-- Bob Elkind
03-13-2012 05:54 PM
Yes I am a student , I am developing this board to perform some experiments and research .Certainly I would like to learn how to design, rather than just do what is told without understanding.
a)Volateges and currents :
Here is summery of analysis I have done for my board:
In the table I have included all the componants that I think will be there on board.I got the voltage and current spcification from the datasheets of the respective ICs. For current I took the maximum supply current that each IC can handle. For 88E1111 I could not find datasheet specifying electrical characteristics of that device but in product brief they have mentioned it dessipates 0.75W of power. I just took it as worst case and divided it by 1.2V.
|FPGA spartan -6 XC6SLX45||PHY 88E1111||ADC 7265||SRAM
|Voltages||Vccint 1.2 V||core 1.2V||Vcc 3V to 5V||VCC 3.3V|
|Vcc Aux 2.5V||I/O 3.3V|
|VCCO 3.3 V|
So in total I am expecting 2.6A as total current.
With the resistors at output node of LPC38513 I can generate different volatages that I need in the above table and it can supply upto 3A current.
Please let me know if my method is wrong and any of the above componants consume more current than I have anticipated.
b) thermal operating range :
I am going to use this board in LAB so I am not expecting any envirmental chanes in temperature.The temerature changes due to effect of IC heating is yet to be considered.I am not sure how much it affects the normal operation.
LESSON 2 :
I read in another thread that I can not just put a pull up resistor at Prog B pin and make FPGA to work.
Please let me know if my understanding is wrong.
03-13-2012 06:23 PM
The 88E1111 is a pretty poor choice because the manufacturer is reluctant to give anyone a datasheet, unless you can convince them that you'll be purchasing millions. Either sort out an agreement with the manufacturer (Marvell) now, before you design your board, or find some better alternatives.
If you use the MII/GMII interface, you should be able to use any I/O interface on the Spartan-6, as long as the I/O voltage standards are compatible. The timing requirements for RGMII are much tighter so you will need to be more careful about placement to ensure that your clocking resources are in the correct bank, etc. If you use the Xilinx TEMAC core, there might be information about pin selection in the documentation.
You have to use a PHY for Ethernet. There are some ways to get it working without one at lower speeds (10 Mbit) but you should not consider these for a robust/standards compliant design.
03-13-2012 06:57 PM - edited 03-13-2012 06:59 PM
Joelby and Pinak,
I am afraid that if we include board power supply design, and the selection and care and feeding of ethernet PHYs in a single thread, my brain (what little is left of it) will likely explode. Either of these two subjects is likely good for 20 or 30 posts apiece.
joelby's comments on PHYs are good ones, and joelby has only scratched the surface of this topic.
As for your last post, Pinak, we have just scratched the surface of board-level power supply specification and design (and reading datasheets, for that matter).
These discussions are worth substantial time and effort only if they will provide a legacy of useful reference materials for others who will someday read them, and this implies some discipline and organisation to the discussions will be needed. If we end up with a porridge thread which is muddled and devoid of clear lessons and insights, I say we jump straight away to the conclusions with brief summaries.
Are we agreed on this? What are your suggestions or preferences, Pinak?
Are you game, joelby? I can't think of anyone who might take the lead on e'net PHY discussion better than you.
-- Bob Elkind
03-13-2012 07:13 PM
True, Bob! I normally would avoid any discussion about board design, but thought I should jump in at the mention of the 88E1111, since the part is such a huge gotcha.
As a general comment, as a student with limited time and budget, I would strongly recommend NOT designing a new board unless you REALLY, REALLY need to. If you just need two Ethernet ports, there are a number of better options. Here are some suggestions in order of increasing complexity.
If you only need low-speed Ethernet connectivity, there are some low cost do-everything Ethernet modules such as those made by WIZnet.
If you don't have much money and are not committed to Xilinx, the LatticeECP3 Versa development kit used to be $99 and has dual gigabit Ethernet PHYs and PCI Express x1 (though the licensing terms for their tools looked a bit confusing and time-limited).
03-13-2012 07:35 PM - edited 03-13-2012 07:36 PM
Excellent advice, joelby.
If the goal of the project is to use an FPGA board for some application, then selecting an existing product is -- far and away -- the better choice.
If the goal of the project is to learn board design by designing and building (and debugging) your own custom board, then the choice is clear.
Hmmm... Choose the red pill or the blue pill...
Or perhaps the proper analogy is the would-be Jedi warrior building his/her own light saber.
-- Bob Elkind
03-13-2012 07:35 PM
Hi Joelby ,
Thanks a lot for your comments. But none of the already available boards can help even NetFPGA for my research project.I need to design my own board because I need it for my experiments.
As suggested by Bob I would start a new thread for Ethernet PHY.
I would really like to be a part of repository that would help others and me to design in better way understanding most of the things.I am ready to put the required time to do this and I will try on my part to be more organized.
Thanks for all your help.
03-13-2012 07:41 PM - edited 03-13-2012 07:42 PM
OK, I'm "in". Please start a new thread for the board design topic (datasheets, power supplies, etc.). Your first post should include a list of board requirements, and any unusual components or interfaces which must be supported by the board. A description of how the board will be used will also be helpful.
And this new thread should go in the General Technical Discussion forum, not Boards & Kits.
-- Bob Elkind
03-13-2012 08:20 PM
I have created the new thread in General discussion forum.
For those who wants to follow the discussion here is the quick lnk for the new thread :
03-13-2012 09:19 PM - edited 03-13-2012 09:20 PM
I already posted to your new thread :)
How about the discussion between you and joelby, covering ethernet PHYs? This is a hot topic for discussion.
-- Bob Elkind