|
|
# FPGA Configuration Space Specification
|
|
|
# FPGA Configuration Space Specification (also known as SDB)
|
|
|
|
|
|
This project is an effort to introduce a configuration space
|
|
|
specification for internal FPGA buses (interconnects, crossbars). Our
|
|
|
initial target is Wishbone, but the specification is generic. The output
|
|
|
of this project is called SDB (self describing bus) even if the project
|
|
|
of this project is called SDB (Self Describing Bus) even if the project
|
|
|
(thus the repository) is called fpga-config-space.
|
|
|
|
|
|
SDB allows to enumerate the cores that are live in the current fpga
|
|
|
binary, either from the host computer or from the internal soft-core CPU
|
|
|
in the FPGA itself.
|
|
|
in the FPGA itself. It is also used as a simple filesystem in our EEPROM
|
|
|
devices,
|
|
|
so data can be easily accessed by both the host and the soft core that
|
|
|
lives in the FPGA itself.
|
|
|
|
|
|
The current specification is already in use in some of our designs. And
|
|
|
we have some [sdb implementation
|
... | ... | @@ -16,8 +19,8 @@ guidelines](sdb-implementation-guidelines) |
|
|
|
|
|
## Specification
|
|
|
|
|
|
Version 1.0 of SDB the specification is available in [PDF
|
|
|
format](https://www.ohwr.org/project/fpga-config-space/wikis/Documents/SDB-specification-June-2012), together with the header
|
|
|
Version 1.1 of SDB the specification is available in [PDF
|
|
|
format](https://www.ohwr.org/project/fpga-config-space/wikis/Documents/SDB-1.1-specification), together with the header
|
|
|
file.
|
|
|
It has been built from the repository of this project, so you can get
|
|
|
the git tree instead and run Latex on it.
|
... | ... | @@ -37,34 +40,22 @@ The implementation as VHDL is part of the respective projects |
|
|
|
|
|
Code for the Linux kernel (both as a bus driver and a file system
|
|
|
driver) is being written. Available code
|
|
|
is part of this repository, but it's still work in progress.
|
|
|
is part of this repository, but it's still work in progress. Sdbfs is
|
|
|
being used in our EEPROMs using
|
|
|
the user-space tools and library currently in the "sdbfs" subdir of the
|
|
|
repository
|
|
|
|
|
|
## Status
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><strong>Date</strong></td>
|
|
|
<td><b> Event </b></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>09-05-2011</td>
|
|
|
<td>Start of project</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>09-05-2011</td>
|
|
|
<td>Added draft of specification (available in Repository section)</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>10-05-2011</td>
|
|
|
<td>Added code for wishbone simulator (source code available in Repository or Files section)</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>21-06-2012</td>
|
|
|
<td>After long discussions, the specification is published</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|
|
|
-----
|
|
|
| **Date**| \* Event \*|
|
|
|
| 09-05-2011 | Start of project |
|
|
|
| 09-05-2011 | Added draft of specification (available in Repository
|
|
|
section) |
|
|
|
| 10-05-2011 | Added code for wishbone simulator (source code available
|
|
|
in Repository or Files section) |
|
|
|
| 21-06-2012 | After long discussions, the specification is published
|
|
|
|
|
|
|
| 11-04-2013 | Version 1.1 of the sdb specification, including sdbfs
|
|
|
material and more |
|
|
|
\---
|
|
|
|