FPGARelated.com
Forums

How to send data/program to the memory of a Spartan 3 starter kit board

Started by Jialin November 7, 2006
Hi my friends,

We know little about Spartan and Xilinx. We are connecting our
Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to control
it.

We want to find a way to load our program ( instructions) into the
memory of
the Spartan board. Could you tell me how? We will appreciate it if you
could kindly show some light on this.

If you are talking about the EEPROM or any other non-volatile on-board 
memory, it should be detected by Impact.  Just create an PROM file (.mcs) 
from the .bit file and load it into the memory.  All of this can be done 
inside impact and should be detailed in the user manual for your board.


---Matthew Hicks


"Jialin" <jiaojialin@gmail.com> wrote in message 
news:1162913626.614634.231140@m73g2000cwd.googlegroups.com...
> Hi my friends, > > We know little about Spartan and Xilinx. We are connecting our > Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to control > it. > > We want to find a way to load our program ( instructions) into the > memory of > the Spartan board. Could you tell me how? We will appreciate it if you > could kindly show some light on this. >
If, on the other hand, you have a picoBlaze or MicroBlaze for which you want 
to update the memory, the Spartan3E Starter Kit has that ready to go. 
Source code is available.


"Matthew Hicks" <mdhicks2@uiuc.edu> wrote in message 
news:eiqq83$819$1@news.ks.uiuc.edu...
> If you are talking about the EEPROM or any other non-volatile on-board > memory, it should be detected by Impact. Just create an PROM file (.mcs) > from the .bit file and load it into the memory. All of this can be done > inside impact and should be detailed in the user manual for your board. > > > ---Matthew Hicks > > > "Jialin" <jiaojialin@gmail.com> wrote in message > news:1162913626.614634.231140@m73g2000cwd.googlegroups.com... >> Hi my friends, >> >> We know little about Spartan and Xilinx. We are connecting our >> Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to control >> it. >> >> We want to find a way to load our program ( instructions) into the >> memory of >> the Spartan board. Could you tell me how? We will appreciate it if you >> could kindly show some light on this. >> > >
Thank you very much for your help.

But I want to load data/program into the SRAM of that board,
do you know how can I do that?

Thanks again.


On Nov 7, 3:27 pm, "Matthew Hicks" <mdhicks2@uiuc.edu> wrote:
> If you are talking about the EEPROM or any other non-volatile on-board > memory, it should be detected by Impact. Just create an PROM file (.mcs) > from the .bit file and load it into the memory. All of this can be done > inside impact and should be detailed in the user manual for your board. > > ---Matthew Hicks > > "Jialin" <jiaojialin@gmail.com> wrote in messagenews:1162913626.614634.231140@m73g2000cwd.googlegroups.com... > > > > > Hi my friends, > > > We know little about Spartan and Xilinx. We are connecting our > > Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to control > > it. > > > We want to find a way to load our program ( instructions) into the > > memory of > > the Spartan board. Could you tell me how? We will appreciate it if you > > could kindly show some light on this.- Hide quoted text -- Show quoted text -
Thank you very much for your help.

But I want to load data/program into the SRAM of that board,
do you know how can I do that?

Thanks again.

On Nov 7, 7:22 pm, "John_H" <newsgroup@johnhandwork.com> wrote:
> If, on the other hand, you have a picoBlaze or MicroBlaze for which you want > to update the memory, the Spartan3E Starter Kit has that ready to go. > Source code is available. > > "Matthew Hicks" <mdhicks2@uiuc.edu> wrote in messagenews:eiqq83$819$1@news.ks.uiuc.edu... > > > > > If you are talking about the EEPROM or any other non-volatile on-board > > memory, it should be detected by Impact. Just create an PROM file (.mcs) > > from the .bit file and load it into the memory. All of this can be done > > inside impact and should be detailed in the user manual for your board. > > > ---Matthew Hicks > > > "Jialin" <jiaojialin@gmail.com> wrote in message > >news:1162913626.614634.231140@m73g2000cwd.googlegroups.com... > >> Hi my friends, > > >> We know little about Spartan and Xilinx. We are connecting our > >> Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to control > >> it. > > >> We want to find a way to load our program ( instructions) into the > >> memory of > >> the Spartan board. Could you tell me how? We will appreciate it if you > >> could kindly show some light on this.- Hide quoted text -- Show quoted text -
Please look at the Spartan3E Starter Kit webpage

http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=HW-SPAR3E-SK-US

where, under the _Documentation_ heading you'll find the User Guide and the 
Reference Designs.  The reference design includes a PicoBlaze with a memory 
loader that has both Verilog (or perhaps VHDL) source and an external 
utility to load the memory dynamically.  The Picoblaze assembler will also 
generate a file that can be used as INITs in your BlockRAM instantiation. 
The JTAG related updates should be the same for Spartan3 as it is for the 
3E.

There are other memory-only update tools from Xilinx that might be easier. 
Search the Xilinx site (or Answers Database) for "coe" which is the memory 
file formate used for post-compiled memory updates.


"Jialin" <jiaojialin@gmail.com> wrote in message 
news:1163025444.476315.65650@m73g2000cwd.googlegroups.com...
> Thank you very much for your help. > > But I want to load data/program into the SRAM of that board, > do you know how can I do that? > > Thanks again. > > On Nov 7, 7:22 pm, "John_H" <newsgroup@johnhandwork.com> wrote: >> If, on the other hand, you have a picoBlaze or MicroBlaze for which you >> want >> to update the memory, the Spartan3E Starter Kit has that ready to go. >> Source code is available. >> >> "Matthew Hicks" <mdhicks2@uiuc.edu> wrote in >> messagenews:eiqq83$819$1@news.ks.uiuc.edu... >> >> >> >> > If you are talking about the EEPROM or any other non-volatile on-board >> > memory, it should be detected by Impact. Just create an PROM file >> > (.mcs) >> > from the .bit file and load it into the memory. All of this can be >> > done >> > inside impact and should be detailed in the user manual for your board. >> >> > ---Matthew Hicks >> >> > "Jialin" <jiaojialin@gmail.com> wrote in message >> >news:1162913626.614634.231140@m73g2000cwd.googlegroups.com... >> >> Hi my friends, >> >> >> We know little about Spartan and Xilinx. We are connecting our >> >> Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to >> >> control >> >> it. >> >> >> We want to find a way to load our program ( instructions) into the >> >> memory of >> >> the Spartan board. Could you tell me how? We will appreciate it if you >> >> could kindly show some light on this.- Hide quoted text -- Show quoted >> >> text - >
Are you referring to the on-chip block RAM or the attached SDRAM on the
sp3e board?


John_H wrote:
> Please look at the Spartan3E Starter Kit webpage > > http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=HW-SPAR3E-SK-US > > where, under the _Documentation_ heading you'll find the User Guide and the > Reference Designs. The reference design includes a PicoBlaze with a memory > loader that has both Verilog (or perhaps VHDL) source and an external > utility to load the memory dynamically. The Picoblaze assembler will also > generate a file that can be used as INITs in your BlockRAM instantiation. > The JTAG related updates should be the same for Spartan3 as it is for the > 3E. > > There are other memory-only update tools from Xilinx that might be easier. > Search the Xilinx site (or Answers Database) for "coe" which is the memory > file formate used for post-compiled memory updates. > > > "Jialin" <jiaojialin@gmail.com> wrote in message > news:1163025444.476315.65650@m73g2000cwd.googlegroups.com... > > Thank you very much for your help. > > > > But I want to load data/program into the SRAM of that board, > > do you know how can I do that? > > > > Thanks again. > > > > On Nov 7, 7:22 pm, "John_H" <newsgroup@johnhandwork.com> wrote: > >> If, on the other hand, you have a picoBlaze or MicroBlaze for which you > >> want > >> to update the memory, the Spartan3E Starter Kit has that ready to go. > >> Source code is available. > >> > >> "Matthew Hicks" <mdhicks2@uiuc.edu> wrote in > >> messagenews:eiqq83$819$1@news.ks.uiuc.edu... > >> > >> > >> > >> > If you are talking about the EEPROM or any other non-volatile on-board > >> > memory, it should be detected by Impact. Just create an PROM file > >> > (.mcs) > >> > from the .bit file and load it into the memory. All of this can be > >> > done > >> > inside impact and should be detailed in the user manual for your board. > >> > >> > ---Matthew Hicks > >> > >> > "Jialin" <jiaojialin@gmail.com> wrote in message > >> >news:1162913626.614634.231140@m73g2000cwd.googlegroups.com... > >> >> Hi my friends, > >> > >> >> We know little about Spartan and Xilinx. We are connecting our > >> >> Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to > >> >> control > >> >> it. > >> > >> >> We want to find a way to load our program ( instructions) into the > >> >> memory of > >> >> the Spartan board. Could you tell me how? We will appreciate it if you > >> >> could kindly show some light on this.- Hide quoted text -- Show quoted > >> >> text - > >
The information I pointed out is for the on-chip BlockRAM.

ScottNortman wrote:
> Are you referring to the on-chip block RAM or the attached SDRAM on the > sp3e board? > > > John_H wrote: >> Please look at the Spartan3E Starter Kit webpage >> >> http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=HW-SPAR3E-SK-US >> >> where, under the _Documentation_ heading you'll find the User Guide and the >> Reference Designs. The reference design includes a PicoBlaze with a memory >> loader that has both Verilog (or perhaps VHDL) source and an external >> utility to load the memory dynamically. The Picoblaze assembler will also >> generate a file that can be used as INITs in your BlockRAM instantiation. >> The JTAG related updates should be the same for Spartan3 as it is for the >> 3E. >> >> There are other memory-only update tools from Xilinx that might be easier. >> Search the Xilinx site (or Answers Database) for "coe" which is the memory >> file formate used for post-compiled memory updates. >> >> >> "Jialin" <jiaojialin@gmail.com> wrote in message >> news:1163025444.476315.65650@m73g2000cwd.googlegroups.com... >>> Thank you very much for your help. >>> >>> But I want to load data/program into the SRAM of that board, >>> do you know how can I do that? >>> >>> Thanks again. >>> >>> On Nov 7, 7:22 pm, "John_H" <newsgroup@johnhandwork.com> wrote: >>>> If, on the other hand, you have a picoBlaze or MicroBlaze for which you >>>> want >>>> to update the memory, the Spartan3E Starter Kit has that ready to go. >>>> Source code is available. >>>> >>>> "Matthew Hicks" <mdhicks2@uiuc.edu> wrote in >>>> messagenews:eiqq83$819$1@news.ks.uiuc.edu... >>>> >>>> >>>> >>>>> If you are talking about the EEPROM or any other non-volatile on-board >>>>> memory, it should be detected by Impact. Just create an PROM file >>>>> (.mcs) >>>>> from the .bit file and load it into the memory. All of this can be >>>>> done >>>>> inside impact and should be detailed in the user manual for your board. >>>>> ---Matthew Hicks >>>>> "Jialin" <jiaojialin@gmail.com> wrote in message >>>>> news:1162913626.614634.231140@m73g2000cwd.googlegroups.com... >>>>>> Hi my friends, >>>>>> We know little about Spartan and Xilinx. We are connecting our >>>>>> Spartan 3 starter kit board to a PC and using Xilinx ISE 8.1 to >>>>>> control >>>>>> it. >>>>>> We want to find a way to load our program ( instructions) into the >>>>>> memory of >>>>>> the Spartan board. Could you tell me how? We will appreciate it if you >>>>>> could kindly show some light on this.- Hide quoted text -- Show quoted >>>>>> text - >
Jialin wrote:
> But I want to load data/program into the SRAM of that board, > do you know how can I do that?
What I normally do is create a simple circuit that can read a hex file (either Intel format or Motorola S Record, but more often my own simplified format) from the serial port and then just use the "send text file" option in Hyperterminal on the PC. After that is finished I download the actual circuit to the board. Since this is SRAM the contents won't be lost while the FPGA is being programmed (in practice even DRAMs tend to keep their data long enough). I don't have such a circuit ready for the Spartan 3 starter kit, but I tried following the instructions in http://members.optushome.com.au/jekent/Spartan3/index.html worked just fine for me. Here you have a small monitor program in the block RAM which allows you to load stuff from the serial port, so the same design downloads to memory and then uses the content unlike what I suggested above. -- Jecel