06-23-2011 04:33 PM
Hello All,
I am new to FPGAs and humbly ask for direction regarding which FPGA resources/tools would be most useful for my applications. Applications would be the control of robots and large machines so PWM, encoders, PIDs, and miscellaneous process control like turning on a piston, waiting for a limit sensor to close, and then turning off the piston. I currently use PIC microcontrollers and code in C but I am attracted to FPGAs because of their flexibility as one can have the desired amount of PWM modules, quadrature decoders, etc. and running multiple PID algorithms seems much easier with an HDL than C). Also, coding a state machine is becomes more cumbersome as the complexity of the machines under control grows.
I am overwhelmed with all of the available tools. So far, I have read up on Verilog, bought a Spartan 3E starter kit, and begun using the Xilinx ISE but am curious about PicoBlaze and MicroBlaze (MicroBlaze preferably because of the C compiler). Free software is greatly prefered:smileyhappy: Can anyone please suggest the ideal way to go about using an FPGA to accomplish the said goals and which tools would be the most useful to learn?
Thank you so very much.
Alex
06-24-2011 12:27 PM
I'm wondering which direction to apply that approach? Once I have a good idea of the starter kit, would I want to use PicoBlaze or MicroBlaze in the control of my systems or are there other tools?
Once you've gotten comfortable with the design tools, your design skills, and the Starter kit, with your much greater knowledge and understanding you will be much better able to answer this question yourself.
If you don't know which you will prefer (if either), then it is probably too early to choose between them.
-- Bob Elkind
06-23-2011 08:31 PM
Your first step is:
Starting with the reference design for your starter kit, make a small change to the design which you will be able to verify. Build this modified design with the ISE tools, install the new design on the board, and verify that your design change is working as intended.
Once you have done this little bit, you will have learned quite a lot. Continue to make small changes, verifying and debugging them along the way. If you make big changes which don't work, then you have to search for the needles (bugs) in a haystack (your collection of unverified changes). So make small changes, and verify each small change. This will keep your debugging (and learning) well-focused and productive.
Here is an excellent starter tutorial site.
-- Bob Elkind
06-24-2011 12:18 PM
Thank you so much! I'll keep that in mind. Its like preventing the number of unknowns from growing larger than the number of equations.
I'm wondering which direction to apply that approach? Once I have a good idea of the starter kit, would I want to use PicoBlaze or MicroBlaze in the control of my systems or are there other tools?
Thank you again,
Alex
06-24-2011 12:27 PM
I'm wondering which direction to apply that approach? Once I have a good idea of the starter kit, would I want to use PicoBlaze or MicroBlaze in the control of my systems or are there other tools?
Once you've gotten comfortable with the design tools, your design skills, and the Starter kit, with your much greater knowledge and understanding you will be much better able to answer this question yourself.
If you don't know which you will prefer (if either), then it is probably too early to choose between them.
-- Bob Elkind
06-24-2011 12:29 PM
I understand. I'm pretty excited to get through the starter kit. I know what I'm doing this weekend!:smileyhappy:
Thank you again, Bob,
Alex
06-27-2011 08:22 AM
Look for tutorials available for your development kit. If you are specifically interested in PicoBlaze and MicroBlaze, there are tutorials covering both those topics for the Avnet Spartan-6 LX9 MicroBoard which you could adapt to the Sp3E. You can get those tutorials for free at www.em.avnet.com/s6microboard --> Support Files & Downloads.
Good luck,
Bryan
06-28-2011 04:28 AM
Here is one more very good tutorial:
http://www.strumpen.net/xilinx/tut82i/ise.html
And I think here is a good peace of info for you too:
http://www.fpgadeveloper.com/2009/10/convert-bit-files-to-system-ace-files.html
http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ise_c_using_microprocessor_ip.htm
And also don't forget the youtube.com ;]
Here is one link for the start:
http://www.youtube.com/watch?v=STGiqlBRVms&feature=related
Good luck, dude
Ignas
06-29-2011 05:55 PM
Thank you so much Bryan and Ignas. That all helped a lot. I'm so excited to learn how to use these tools as they seem so effective. Best of luck to you guys as well.
Thanks again,
Alex