Skip to content

nachiket72/fpga-arduino_spi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Math Talk

FPGA-Arduino interface using SPI

Image

The inquiry Building Math Hardware implemented a math compute device on a Field Programmable Gate Array (FPGA). This sequel describes a protocol and implementation by which the FPGA can communicate with a microcontroller. The vision is to generate operands on an microcontroller; the Math Hardware then performs the operations and returns the results. The communication between the devices is the focus of this article.

The protocol that we will use is called Serial Peripheral Interface (SPI). It is a synchronous full-duplex serial interface [1], and is commonly used to communicate with on-board peripherals such as EEPROM, FLASH memory, A/D converters, temperature sensors, or in our case a Field Programmable Gate Array (FPGA).

We assume a working knowledge of the Verilog hardware description language. To learn more about Verilog refer a book such as “FPGA Prototyping with Verilog Examples” by Chu, do the free online class at verilog.com, or read through the slides Intro to Verilog from MIT. My short introduction to the Verilog IDE can be found at Getting Started with FPGA programming on Altera or on Xilinx.

Contents

After describing the physical connections, we look into exchanging bytes between a microcontroller and an FPGA. The last part implements an layer that allows message passing.

  1. Hardware
  2. Bytes
  1. Messages
  1. What’s next

About

Math Talk (FPGA and Arduino interface using SPI)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Verilog 88.9%
  • SystemVerilog 6.3%
  • C++ 4.3%
  • Mathematica 0.5%