Patmos

A Time-predictable Processor for Real-Time Systems

Patmos is a time-predictable very-long instruction-word (VLIW) processor. It is intended as a processor for embedded real-time systems. Patmos is used in following projects:

The C/C++ compiler for Patmos is an adaption of LLVM and contains optimizations for the worst-case execution time (WCET).

Patmos and LLVM are open source and available on GitHub.

A very brief getting started is available in the README.md; a more complete description in the evolving Patmos Reference Handbook.

For questions and discussions join the Patmos mailing list.

Development VM with Ubuntu

We provide a VM with Ubuntu (16.04 LTS 64-Bit) and all needed tools installed (and compiled) to work with Patmos either in simulation or in hardware on an Altera DE2-115 FPGA board. User name and password are: patmos.

FPGA Bit Files

Patmos Multicore with the Argo Network-on-Chip

The multicore version of Patmos is connected via the Argo NoC for on-chip message passing between Patmos cores. Programming Argo is explained in the Argo Programming Guide.

Exercises

Here we provide two exercises for the T-CREST platform:

  1. Getting started with Patmos
  2. Programming the Argo NoC

Publications

The following papers are publications related to Patmos and T-CREST. You can also find the BibTex entries for the papers. If you have a paper related to the project please add it here and into t-crest.bib.

For a general reference to T-CREST please cite following Journal publication:

The T-CREST Platform

The Patmos Processor

Time-predictable Network-on-Chip

The Argo Network-on-Chip

The Memory System

The Patmos Compiler

Worst-Case Execution Time Analysis

Applications and Operating Systems