FPGARelated.com
Forums

builing a SPI interface in vhdl

Started by techG October 24, 2007
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

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
>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
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. Good luck! (You will need it)
> 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
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.
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
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 try www.opencores.org; The SPI core interface is quite simple to code up as well. Cheers
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. > Cheers
i 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