HI, I'm new in FPGA, I have to build a SPI interface (in VHDL) to let an fpga read and write a flash memory. The fpga is a Xilinx Spartan3E, while the memory is an ST M25P16 (serial I/O). Do you know if is there any built vhdl core to start with? Thanks in advance Giulio
builing a SPI interface in vhdl
Started by ●October 24, 2007
Reply by ●October 24, 20072007-10-24
techG wrote:> Do you know if is there any built vhdl core to start with?<http://www.opencores.org> <http://www.opencores.org/projects.cgi/web/simple_spi/overview> Regards, -- Mark McDougall, Engineer Virtual Logic Pty Ltd, <http://www.vl.com.au> 21-25 King St, Rockdale, 2216 Ph: +612-9599-3255 Fax: +612-9599-3266
Reply by ●October 25, 20072007-10-25
>HI, I'm new in FPGA, I have to build a SPI interface (in VHDL) to let >an fpga read and write a flash memory. >The fpga is a Xilinx Spartan3E, while the memory is an ST M25P16 >(serial I/O). >Do you know if is there any built vhdl core to start with? > >Thanks in advance >GiulioThe problem with SPI is that it comes in a near-infinity of different flavours, so IP designed for 1 flavour might be difficult to adapt for a different flavour. Good luck! (You will need it)
Reply by ●October 25, 20072007-10-25
> The problem with SPI is that it comes in a near-infinity of different > flavours, so IP designed for 1 flavour might be difficult to adapt for a > different flavour.But the OP has a flash memory already specified.> > Good luck! (You will need it)The SPI interface is fairly trivial (once you've mastered the shift register); it's a good project for a beginner. --- Joe Samson Pixel Velocity
Reply by ●October 25, 20072007-10-25
techG wrote:> HI, I'm new in FPGA, I have to build a SPI interface (in VHDL) to let > an fpga read and write a flash memory. > The fpga is a Xilinx Spartan3E, while the memory is an ST M25P16 > (serial I/O). > Do you know if is there any built vhdl core to start with? > > Thanks in advance > Giulio >An SPI interface is really pretty easy to implement. The major difficulty is reading through the device data sheet to make sure you get all the details correct. There are a large number of different flavors of SPI, so an interface developed for one application is probably not going to be a perfect fit for another. It is a good beginner's project.
Reply by ●October 26, 20072007-10-26
On Oct 26, 12:01 am, Ray Andraka <r...@andraka.com> wrote:> techG wrote: > > HI, I'm new in FPGA, I have to build a SPI interface (in VHDL) to let > > an fpga read and write a flash memory. > > The fpga is a Xilinx Spartan3E, while the memory is an ST M25P16 > > (serial I/O). > > Do you know if is there any built vhdl core to start with? > > > Thanks in advance > > Giulio > > An SPI interface is really pretty easy to implement. The major > difficulty is reading through the device data sheet to make sure you get > all the details correct. There are a large number of different flavors > of SPI, so an interface developed for one application is probably not > going to be a perfect fit for another. It is a good beginner's project.I agree both of you: this is a very good project for a beginner. Once you master the shift register the other things become a piece of cake. Try to use simulator (Modelsim XE) for code simulation and Chipscope for HW debug. These two tools will eventually save you a lot of time. Guru
Reply by ●October 30, 20072007-10-30
On Oct 25, 9:57 am, techG <giuliopul...@gmail.com> wrote:> HI, I'm new in FPGA, I have to build a SPI interface (in VHDL) to let > an fpga read and write a flash memory. > The fpga is a Xilinx Spartan3E, while the memory is an ST M25P16 > (serial I/O). > Do you know if is there any built vhdl core to start with? > > Thanks in advance > GiulioYou can try www.opencores.org; The SPI core interface is quite simple to code up as well. Cheers
Reply by ●October 30, 20072007-10-30
On Oct 30, 6:17 am, futz...@gmail.com wrote:> On Oct 25, 9:57 am, techG <giuliopul...@gmail.com> wrote: > > > HI, I'm new in FPGA, I have to build a SPI interface (in VHDL) to let > > an fpga read and write a flash memory. > > The fpga is a Xilinx Spartan3E, while the memory is an ST M25P16 > > (serial I/O). > > Do you know if is there any built vhdl core to start with? > > > Thanks in advance > > Giulio > > You can trywww.opencores.org; > The SPI core interface is quite simple to code up as well. > Cheersi just found a project for SPI controller in opencores.org (spiflashcontroller) it's not as simple as I expected, but i found it more useful! thank you all