Subversion Repositories spacewire_light

[/] [spacewire_light/] [trunk/] [README.txt] - Rev 7

Go to most recent revision | Compare with Previous | Blame | View Log

SpaceWire Light

Copyright 2009-2011 Joris van Rantwijk

SpaceWire Light is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

SpaceWire Light is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with the SpaceWire Light package. If not, see <>.


SpaceWire Light is a SpaceWire encoder-decoder.
It is synthesizable for FPGA targets (up to 200 Mbit on Spartan-3).
Application interfaces include a simple FIFO interface, as well as
an AMBA bus interface for LEON3 system-on-chip designs.

The goal is to provide a complete, reliable, fast implementation
of a SpaceWire encoder-decoder according to ECSS-E-ST-50-12C.
The core is "light" in the sense that it does not provide additional
features such as RMAP, routing etc.

SpaceWire Light supports two application interfaces. One interface
provides FIFO-style access to RX/TX buffers in the core (spwstream).
This interface can be easily integrated into most digital designs.

Alternatively, an AMBA bus interface (spwamba) may be used to integrate
SpaceWire Light into a LEON3 embedded system. This interface supports
DMA-based data transfers. The code for the AMBA interface deponds on GRLIB,
a VHDL library from Aeroflex Gaisler. The source of GRLIB must be downloaded
separately from

See doc/Manual.pdf for more information.

Version history

 * spwamba: Add tick_out signal.
 * swprecvfront_fast: Simplified data transfer between clock domains.
 * Clean up synchronization of data paths between clock domains.

 * Add RTEMS driver and test program for SPWAMBA.
 * Add documentation for SPWAMBA.
 * spwamba: Change TX FIFO management; start new transfer when there is room
   for a maximum burst instead of aiming for 3/4 fill rate.
 * spwamba: Do not reset spwxmit in response to software reset.
 * spwamba: Fix bug in maximum burst size calculation.
 * spwamba: Optimize address generation in burst state machine.
 * spwamba: More careful calculation of RX credit.

 * Add AMBA interface (preliminary version, untested, undocumented).
 * License changed from LGPL to GPL.
 * Again fix an issue with EEP injection on link loss.
 * Add DATAPATHONLY keyword to timing constraints.

 * Fixed issue with automatic discarding of TX data after link error.
 * After link error, spwstream will terminate current packet with EEP even
   if the linkdisable signal is active.
 * Added code comment to clarify a dependency between spwrecv and spwlink.
   (Thanks to Rafael Corsi Ferrao for reporting this obscurity.)

 * Added manual.
 * Fix incorrect bitrate during link handshake. The system clock frequency
   was used to compute the initial tx clock divider, even when the clock
   divider would act on the txclk instead of the system clock.
 * Improve fast transmitter. Sending FCT tokens at high bit rate no longer
   causes insertion of a NULL token.

 * Initial release.


For the latest version of this core, see the OpenCores project page.

For more information, comments, suggestions or bug reports, either
go to the OpenCores project page or email me directly.

Project page at OpenCores:,spacewire_light

  jvrantwijk (at) xs4all (dot) nl


Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2022, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.