• 0
nickb

Spartan 3 Starter Board Help

Question

Hi all.  As part of a work project, I have inherited some old (but brand new, never used) Spartan 3 Starter Boards.  I have the board, the power supply, and the source code.  As stupid and noobish as this may seem, how do I get the board programmed?  I know I need a cable to connect the board to my pc.  Any help will be appreciated.  Thanks in advance.

Edited by nickb

Share this post


Link to post
Share on other sites

22 answers to this question

Recommended Posts

  • 0

 

Hi Nick,
 
You use ISE to develop, as part of ISE suite you get a tool called impact,  I think the Spartan 3 was supported right up to ISE 14xx (check before you download).
You can configure the FPGA with a bit file or configure the platform flash with something like an mcs file, bit file is volatile, the mcs will configure the fpag at start up.
When you plug it in you should see both devices on your jtag chain (in impact) you click on the device and prog it.
 
 
Note on a more modern Digilent board you don't need to buy a jtag cable  
 
Gra 

Share this post


Link to post
Share on other sites
  • 0

In these days when a lot of perfectly working boards are just thrown away because they are obsolete, I think we should admire and encourage the "effort" of using these old (but unused) boards. 

I think that some more details can be useful on this matter.

This is a Xilinx board, meaning that it was engineered by Xilinx and only produced by Digilent. 

It is based on Spartan 3 FPGA XC3S200, which is very old and, comparing with up to date FPGAs, not very powerful. But is more than enough for small applications or for learning VHDL or Verilog.

On PC side, in order to generate the programming file (bit file), you need Xilinx tools ISE (as mentioned in the above messages).

In order to program the bit file on the board, you need a programming cable. On the PC side it will be connected to USB, on the board it will connect to JTAG connector J7 (1x6 pins). Please read more about this mater on the page 41 of the board's user guide https://www.xilinx.com/support/documentation/boards_and_kits/ug130.pdf.

An example of such a cable is Digilent HS2 http://store.digilentinc.com/jtag-hs2-programming-cable/.

On the other hand, let's look from the other perspective: You should be aware that the current direction of Xilinx tools is to move towards Vivado, so using this "ancient" board you lose the possibility to learn Vivado. If you are student or your work is related to academia, almost at the price of the Digilent HS2 you can get all the Basys3 board http://store.digilentinc.com/basys-3-artix-7-fpga-trainer-board-recommended-for-introductory-users/. This relies on the Artix 7 family FPGA, is up to date and also doesn't need a programming cable. 

Good luck !

Edited by Cristian.Fatu

Share this post


Link to post
Share on other sites
  • 0

Spartan 3, obsolete? Ancient? I disagree. An ideal family to learn about FPGA devices and toolsets? Of course not. Other than having minimal block memory resources the IO and internal clock rates are not that bad compared to the slowest Artix decides. ISE 14.7, the last version available supports the entire family. I wouldn't try implementing a Microblaze on the boards that nickb has but I wouldn't waste the resources of a Basys3 or other board with a small Artix device with a Microblaze either, The whole notion that FPGA development requires using a soft processor is nonsense.

What those old boards offer, unlike most of the Digilent Series 7 boards, is enough IO to be useful for a real world application. Now that is nonsense to my way of thinking.

Share this post


Link to post
Share on other sites
  • 0

@nickb,

Allow me to quote @zygot,

1 hour ago, zygot said:

Spartan 3, obsolete? Ancient? I disagree.

and

1 hour ago, zygot said:

I wouldn't try implementing a Microblaze on the boards that nickb has but I wouldn't waste the resources of a Basys3 or other board with a small Artix device with a Microblaze either

These are worth underlining.

As for @zygot's statement:

1 hour ago, zygot said:

The whole notion that FPGA development requires using a soft processor is nonsense.

I would amend it to state that soft processors make sense for some problems.  Whether a microblaze makes the most sense, or a ZipCPU makes more sense, I'll leave up to you. I will say that a Spartan 6LX4 has enough logic to not only run a CPU, but also a small operating system (although not much more ...).  You may even find that a stack machine, such as a forth processor, can be built for even less logic, should you wish to try rolling your own CPU.  Still, doing so only make sense for some problems.

The only other piece of wisdom I might add is this: there's something to be said for learning how to create simple logic on a disadvantaged FPGA (or CPU--whether on or off an FPGA).  It teaches a certain creativity, and may even help you understand many of the lessons those before you were forced to learn.

Dan

Share this post


Link to post
Share on other sites
  • 0

@D@n,

I appreciate the objective test case for the ZipCPU on a 6LX4. Such actual implementation is useful to everyone. I have no argument with the proposition that it's possible that filling a 6LX4 with a soft CPU might be the way to go for a particular application. Perhaps, I didn't state my case very well. My point was that of all of the many FPGA designs that I've done in industry, none of them has had a soft CPU. Why use up most of the valuable FPGA resources unless absolutely necessary? In industry you use the technique that requires the least amount of resources and adds to the company IP portfolio. You can implement a lot of functionality in a 6LX4 or in the Spartan 3E Starter Board ( even with the smallest device ) using standard digital techniques. The larger issue is why promote a concept that is, in my considerable industry experience not used, as being necessary and the only flow possible? ( I have a theory on the probable answer...) Is that the proper thing to do to a student wanting to learn skills that employers want? If your primary focus is the educational market why not provide the kind of information that helps students quickly gain the concepts of HDL and FPGA development? There is certainly the need, as my last few posts to another thread indicate. The student will be better served learning how to think, develop the basic HDL skills, and be introduced to the "hidden" issues of basic FPGA development. Learning how to drag and drop IP that doesn't teach these skills, and only trains in using a particular tool set, seems to me to be a dis-service to the intended audience. Everyone has to learn the tool set interface. But this changes all the time. Dragging and dropping canned IP is not an engineering skill, even if it's a skill that every FPGA engineer has to have. Selling boards with feature that require non-free IP, even if you can get a 30 day evaluation license, is not helpful to students or skilled engineers wanting to prototype an idea or learn how to design for a particular interface. Selling boards that help sell your own PMOD products is OK, I suppose, if you don't limit them to that functionality.

Share this post


Link to post
Share on other sites
  • 0

I disagree that we are off topic. I was responding the Chriatian.Fatu's assertion above: "It is based on Spartan 3 FPGA XC3S200, which is very old and, comparing with up to date FPGAs, not very powerful. But is more than enough for small applications or for learning VHDL or Verilog." Unless you are filling the device ( these boards were sold with an XC3S500E-4FG320C device) with superfluous things like a soft CPU core there's plenty of room for designs that are not "small". Oh, but wait, all of Digilent's board demo designs use a Microblaze....

Here are a few quotes directly from the (formerly available) Digilent Spartan 3E product page:

The Spartan®-3E Starter Board provides a powerful and highly advanced self-contained development platform for designs targeting the Spartan-3E FPGA from Xilinx®. It features a 500K gate Spartan-3E FPGA with a 32-bit RISC processor and DDR interfaces. n order to program and communicate with the Spartan-3E Starter board, you must download and install the free Xilinx ISE WebPACK software.The Spartan-3E Starter board is also compatible with the MicroBlaze™ Embedded Development Kit (EDK) and PicoBlaze™ from Xilinx. 

I believe that this discussion is as relevant to nickb's post as the above mentioned commentary, which needed a correction. In fact the reply to nickb's post was the only reason that I took the time to post a comment. Had the reply only dealt with programming the board I would have passed it by.

If you want to open such a "off-topic" discussion about using soft CPU cores I'll be happy to post some interesting questions and opinions on the topic. 

Edited by zygot

Share this post


Link to post
Share on other sites
  • 0

OK, so clearly I misread what the boards in question are. So, I need to withdraw all of the references that pertain to the Spartan 3E Starter Board. I don't need to withdraw the other observations. As it turns out the Spartan 3 Starter Board was the very first product that I bought from Digilent. @nickb While not the best design ( almost all of the IO header signals are also used by on board devices ) these are still OK boards for prototyping.  There are a lot if IO available on easy to use 0.1" dual pin headers. Spending $60 for an HS-2 programming cable would seem to be a reasonable investment to me if I had the small cache of boards that you have. When I was using the board ( Admittedly this was quite a long time ago... )  I used a Xilinx parallel JTAG cable, but as the parallel port is a historical oddity these days you might find an old  Xilinx USB JTAG cable cheaper.

Curiously, the Spartan 3 IO feature DCI termination... a feature not even available for the Kintex HR bank IO. As to the XC3S200 being only for small designs... I've done work professionally with much smaller devices that packed a lot of functionality. I hope that the boards work out well for you.

 

Share this post


Link to post
Share on other sites
  • 0

@nickb,

So I found my old Spartan 3 Starter Board. I wish I could say that it brought back fond memories. The Reference Manual suggests that you can use the IO headers to program the FPGA and FLASH. The schematic supports this idea. A nice project would be to use another FPGA board, you can even use one with a PMOD connector to program your S3 boards. I once did a CPLD controller to configure Stratix devices in parallel mode. The system had multiple boards with FPGAs and had to power up configured but allow a processor to configure any FPGA on the fly through the backplane as well.

The schematic was obviously created in Express PCB. If the entire board was executed using this free software ( in a fairly rough version I might add.. ) let me tip my hat to the engineer who did it. The BGA is pretty easy compared to footprints that you will find in devices today but this wasn't a trivial undertaking.

And for the record, I was a bit hasty in saying that none of my commercial work had a soft CPU core. There was the time that I used the very first version of NIOS, which by the way started out as a personal project by an Altera engineer and not a corporate concept. That was a rough experience. I hope that the NIOS guy got something more than a nice plaque for his efforts....

Share this post


Link to post
Share on other sites
  • 0

@nickb,

So I realize that you probably have a schedule for that work project... but just for the sake of argument. Has your interest in FPGA development included the effort required to learn VHDL or Verilog?  Reply with the right answer ( hey you have a 50% chance.. ) and I might take the time to demonstrate how you might be able to avoid the cost of buying a USB JTAG cable to use your boards.

On 8/26/2017 at 8:54 AM, zygot said:

A nice project would be to use another FPGA board, you can even use one with a PMOD connector to program your S3 boards.

Heck, I might do it anyway as the answers that you've received so far ( except for the one sitting just above this one of course..) really cheeses my fries... so to speak.

Share this post


Link to post
Share on other sites
  • 0

 

1 hour ago, zygot said:

@nickb,

So I realize that you probably have a schedule for that work project... but just for the sake of argument. Has your interest in FPGA development included the effort required to learn VHDL or Verilog?  Reply with the right answer ( hey you have a 50% chance.. ) and I might take the time to demonstrate how you might be able to avoid the cost of buying a USB JTAG cable to use your boards.

Heck, I might do it anyway as the answers that you've received so far ( except for the one sitting just above this one of course..) really cheeses my fries... so to speak.

I would be interested in this...

Share this post


Link to post
Share on other sites
  • 0

@bkzshabbaz,

But you didn't answer my question to nickb.

Stay tuned to the Project Vault. It may be a week or two but I'm working on a demo. The S3 Starter Board may be the only one Digilent designed that's amenable to a configuration demo.

Try that with your ( my )  fancy-schmancy  Series 7 board.

Share this post


Link to post
Share on other sites
  • 0
31 minutes ago, zygot said:

@bkzshabbaz,

But you didn't answer my question to nickb.

Stay tuned to the Project Vault. It may be a week or two but I'm working on a demo. The S3 Starter Board may be the only one Digilent designed that's amenable to a configuration demo.

Try that with your ( my )  fancy-schmancy  Series 7 board.

My personal interest in FPGA development includes the effort to learn VHDL.  

I look forward to this.  I had purchased a S3 Starter Board specifically to go through Pong Chu's "FPGA prototyping by VHDL examples" book.

Share this post


Link to post
Share on other sites
  • 0

@zygot

I am in the same situation as bkzshabbaz - having a S3 StarterKit laying around. I looked at your example, and what I understood is, that you are using another FPGA-board that acts as JTAG cable, right ?

I do nto have a second FPGA board - I only have the parallel-2-JTAG adapter-cable. I am wondering if this adapter-cable is still working with modern Laptops USB-Parralel adaptors ?

Do you have any experience ? 

 

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

I am wondering if I could use one of the JTAG-USB cables.

I see 3 different types (I guess different speeds - but same price)

JTAG, JTAG-HS2, JTAG-HS3

Can I use JTAG-HS3 cable with Spartan-3 board and Xilinx ISE14.7 ?

 

Edited by HoWei

Share this post


Link to post
Share on other sites
  • 0
3 hours ago, HoWei said:

Can I use JTAG-HS3 cable with Spartan-3 board and Xilinx ISE14.7 ?

If your board has a JTAG header on it like the Spartan-3 Starter then you can use a USB JTAG cable that is compatible with Spartan-3 devices as long as you set up IMPACT correctly to use the Digilent cable.

Share this post


Link to post
Share on other sites
  • 0

As I learned, Win10+ISE14.7 only supports Spartan-6, but no older ones.

ISE14.7+WIN7(an older) is supporting Spartan-3.

Spartan-3 seems really to be out of time nowadays.

 

Share this post


Link to post
Share on other sites
  • 0

ISE on WIN10 only works using VM. You are correct that ISE works on WIN7. As to whether or not Startan-3 is worth the trouble depends on your project needs and development environment.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now