03-12-2018 10:34 AM
Good day all,
Looking for some help with getting started with SPARTAN 6 FPGA's. I am a complete newbie to FPGA's but not a newbie to electronic design (I have a degree in Electrical Engineering), or Software programming. I have programmed micro controllers in assembly and C about 15 years ago and have been programming in VB 6 / VB Net for the last 18 + years. I also have extensive programming experience with PLC and SCADA systems as well. However, have not done any FPGA programming and diving in cold to get my feet wet. My main application will be interfacing sensors (signal processing) for both digital and analog inputs for a custom application. What I am looking for is a quick run down of items (development boards that is not intended for hobby but production use, as well as required software and any additional hardware) that I need to get started in order to program SPARTAN 6 series FPGA's. Finally, on how to transfer the development code to a SPARTAN 6 that is on a final production module. Any help and guidance, pointers will be greatly appreciated.
03-12-2018 10:58 AM
I presume you have chosen Spartan 6 for a reason, as opposed to choosing a modern device. None the less, I would encourage you to choose a new device (Spartan 7, Artix 7) rather than Spartan 6. About the time you get up to speed with your learning its likely Spartan 6 will no longer be a device with any new designs (for every calendar year, FPGA devices age 7 -- sort of dog-years: technology grows old very quickly). Spartan 6 is middle-aged, and now that Xilinx offers Spartan 7, Spartan 6 will soon be retiring (although it will be sold for many years to come as it has been immensely successful and is used in many products).
03-12-2018 11:15 AM
I have to agree with Austin for an additional reason. Using Spartan 6 means using ISE. You would need to learn the tool as well as learning about FPGAs. At some point, you would want to move to a newer device, and that would mean learning Vivado. Don't subject yourself to an additional learning curve. Start with a 7 series and Vivado.
You will probably need to learn an HDL, either VHDL or verilog for designing interfaces. You have a few options for signal processing, the Simulink block set, HDS or code your signal processing in your chosen HDL.
03-12-2018 01:17 PM
Thanks Austin & Bruce,
Unfortunately, I have to familiarize myself with SPARTAN 6 as that is what the customer wants to use and they already have a stock of prefabricated SPARTAN 6 boards. As far as I can tell, they are not planning on upgrading to a newer FPGA at least for two more years. They are wanting to integrate new instrument designs in to their existing SPARTAN 6 boards. What I am looking for is a road map of what is require to get started.
1. Development Board (not an entry/hobby level but a production compatible )
2. Programming/Simulation software
3. How to program the Production chip with newly developed code
03-13-2018 02:41 AM
(1) For learning FPGAs, my go-to supplier is Digilent. Their cheapest "good" Spartan 6 board is the Nexys 3, at $270 - pretty expensive for older technology.
I'd prefer to buy an Artix 7 XC7A100T board. These can still be used with ISE (ISE supports the XC7A100T and XC7A200T) and will be very similar in functionality to the Spartan 6 (the vast majority of what you learn will be instantly transferrable) - but the Artix chips can also be used with Vivado. Digilent has an Arty board with the XC7A100T "coming soon" - you might want to ask just how soon they intend that to be.
It'd also be worth finding out exactly what model of Spartan 6 is on the production boards, so you can choose a chip with similar resources.
(2) Xilinx ISE WebPACK is free and supports Spartan 6 chips up to the XC6SLX75T. Above that you'll need a license, which costs several thousand dollars.
(3) Check what interfaces the board has. Normally you'll use JTAG, which requires a Platform Cable USB II ($200+) or a Digilent HS3 ($59, and just as good).
03-13-2018 04:39 AM
ISE comes with a simulator. The simulator is a little flaky. At least in my experience with the 64 bit version, it may crash on long simulations or simulations with lots of signals in the viewer. It does work and it comes with the ISE software. Unless you have fairly deep pockets, give it a try before spending big bucks on a third party simulator.
ISE (at least the licensed version) comes with ChipScope Pro. This will allow you to put Integrated Logic Analyzers (ILAs) into your design to probe signals inside the FPGA. You will need this. I don't know if Web Pack comes with this tool.
Good luck. I spent 4 years developing instruments based on Spartan 6 FPGAs. The Spartan 6 chips are pretty capable, even if they aren't the newest thing.
03-13-2018 10:33 AM
Thanks u4223374 & Bruce.
Appreciate the help. Few more questions to try and wrap my head around this.
1) Is the Webpack part of the full installation for Windows 7? When I go to download using the link, it shows only the ISE installation for Windows 10.
2) What is Verilog? Is it needed if I am using ISE to develop my code? (bit confused on this)
3) Is HDL/VHDL part of ISE. ISE Document map on the site is rather confusing to a newbie and seems to be geared toward specific applications. I am trying to find an overview without much luck.
Thanks again and best regards.
03-13-2018 10:50 AM
1) ONLY Windows 10 is supported by this webpack link:
2) verilog is the register transfer language (RTL) used to create a synchronous digital logic design. You may also use VHDL. Those are the two design languages supported. You should find out which ones your company is using.
3) verlilog/VHDL are also known as hardware definition languages, or HDL.
03-13-2018 12:46 PM
The last supported Windows was XP. I recommend running linux on a VM, and using the linux version of ISE. Or, I suppose you could run XP in a VM as well. If all you need is S6 webpack devices, the Win 10 link works.
Now you may begin to see why you should really move to Spartan 7. As I said, I cannot imagine why anyone would continue designing new products with an old family: it is more expensive, and only gets even more expensive as newer products come down the cost curves (new products exhibit cost improvements, older products never get any cheaper, and increase in price as their overall volume decreases).
I would start migrating new products today, if I had to choose to design a new product. That said, before I worked here at Xilinx, I made it a rule to ALWAYS use the latest silicon devices. It never was a bad decision. The products were always the best, and most competitively priced.