Skip to content

Tinsel 0.6

Compare
Choose a tag to compare
@mn416 mn416 released this 11 Apr 07:52
· 356 commits to master since this release

This release enables the Tinsel overlay to operate over multiple POETS boxes, so applications can utilise all the FPGA boards in a multi-box POETS system. Any sub-mesh of boxes can be used by an application, and applications using non-overlapping sub-meshes can run independently, i.e. at the same time, and sandboxed.

The release introduces some software changes to the HostLink and DebugLink APIs (which are not backwards-compatible) and a few hardware tweaks (none of which affect the Tinsel API).

The main hardware change is that the coordinates of each FPGA board, and the number of boards being used by an application, are now settable from software, over HostLink/DebugLink.

Each FPGA bridge board now has two connections to the FPGA mesh. All bridge boards are connected at the east and west sides of the FPGA mesh.

The main software changes are:

  • A new Board Control Daemon (boradctrld) that runs on each box, forwarding DebugLink traffic to/from the individual UARTs via a TCP port.

  • There is now a version of the HostLink constructor that lets you specify the number of boxes you wish to use.(Specifically, you provide the dimensions of the box sub-mesh).

  • The array of DebugLinks (one DebugLink per FPGA) in the HostLink class is now replaced by a single DebugLink to all FPGAs in the system.

  • DebugLink methods are now parameterised by the mesh coordinates of the board you want to talk to.

Although these changes are not backwards-compatible, they are fairly straightforward. See the Tinsel documentation and API listings for details.

This release also includes early support for custom accelerators.