1 |
24 |
jdoin |
SPI_MASTER_SLAVE
|
2 |
|
|
================
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
This project was started from the need to have a robust yet simple SPI interface core
|
6 |
|
|
written in VHDL to use in generic FPGA-to-device interfacing.
|
7 |
|
|
The resulting cores generate very small and efficient circuits, that operate from very
|
8 |
|
|
slow SPI clocks up to over 50MHz SPI clocks.
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
VHDL files for spi master/slave project:
|
12 |
|
|
---------------------------------------
|
13 |
|
|
|
14 |
|
|
spi_master.vhd spi master module, can be used independently
|
15 |
|
|
spi_slave.vhd spi slave module, can be used independently
|
16 |
|
|
spi_loopback.vhd wrapper module for simulating the master and slave modules
|
17 |
|
|
spi_loopback_test.vhd testbench for simulating the loopback module, test master against slave
|
18 |
|
|
spi_loopback.ucf constraints for simulation: Spartan-6, area, LUT compression.
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
The original development is done in Xilinx ISE 13.1, targeted to a Spartan-6 device.
|
22 |
|
|
|
23 |
|
|
ISIM SIMULATION
|
24 |
|
|
---------------
|
25 |
|
|
|
26 |
|
|
VHDL simulation was done in ISIM, after Place & Route, with default constraints, for the slowest
|
27 |
|
|
Spartan-6 device, synthesis generated 41 slices, and the design was simulated at 25MHz spi SCK, and 100MHz for the parallel interfaces clocks.
|
28 |
|
|
|
29 |
|
|
SILICON VERIFICATION
|
30 |
|
|
--------------------
|
31 |
|
|
|
32 |
|
|
Design verification in silicon was done in a Digilent Atlys board, and the verification project can be found at the \trunk\syn directory, with all the required files to replicate the verification tests, including pinlock constraints for the Atlys board.
|
33 |
|
|
|
34 |
|
|
LICENSING
|
35 |
|
|
---------
|
36 |
|
|
|
37 |
|
|
This work is licensed as a LGPL work. If you find this licensing too restrictive for hardware, or it is not adequate for you, please get in touch with me and we can arrange a more suitable open source hardware licensing.
|
38 |
|
|
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
If you have any questions or usage issues with this core, please open a thread in OpenCores forum, and I will be pleased to answer.
|
42 |
|
|
|
43 |
|
|
If you find a bug or a design fault in the models, or if you have an issue that you like to be addressed, please open a bug/issue in the OpenCores bugtracker for this project, at
|
44 |
|
|
http://opencores.org/project,spi_master_slave,bugtracker.
|
45 |
|
|
|
46 |
|
|
|
47 |
|
|
In any case, thank you for testing and using this core.
|
48 |
|
|
|
49 |
|
|
|
50 |
|
|
Jonny Doin
|
51 |
|
|
jdoin@opencores.org
|
52 |
|
|
|