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
For questions and discussions join the Patmos
mailing list.
Development VM with Ubuntu
We provide a VM with Ubuntu (20.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.
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
We provide two exercises for the T-CREST platform:
- Getting started with Patmos in the
Patmos Reference Handbook
- 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:
- Martin Schoeberl, Sahar Abbaspour, Benny Akesson, Neil Audsley,
Raffaele Capasso, Jamie Garside, Kees Goossens, Sven Goossens, Scott
Hansen, Reinhold Heckmann, Stefan Hepp, Benedikt Huber, Alexander
Jordan, Evangelia Kasapaki, Jens Knoop, Yonghui Li, Daniel Prokesch,
Wolfgang Puffitsch, Peter Puschner, Andre Rocha, Claudio Silva, Jens
Sparso, and Alessandro Tocchi. T-CREST: Time-predictable multi-core
architecture for embedded systems.
Journal of Systems Architecture, 61(9):449-471, 2015.
pdf
doi
The T-CREST Platform
- Martin Schoeberl. Is time predictability quantifiable?
In International Conference on Embedded Computer Systems (SAMOS
2012), Samos, Greece, July 2012. IEEE. pdf
doi
- Martin Schoeberl, Claudio Silva, and Andre Rocha. T-CREST: A
time-predictable multi-core platform for aerospace applications.
In Proceedings of Data Systems In Aerospace (DASIA 2014),
Warsaw, Poland, June 2014. pdf
- Martin Schoeberl, Rasmus Bo Sorensen, and Jens Sparso. Models of
communication for multicore processors.
In Proceedings of the 11th Workshop on Software Technologies for
Embedded and Ubiquitous Systems (SEUS 2015), pages 44-51, Auckland,
New Zealand, April 2015. IEEE. pdf
doi
- Martin Schoeberl, Sahar Abbaspour, Benny Akesson, Neil Audsley,
Raffaele Capasso, Jamie Garside, Kees Goossens, Sven Goossens, Scott
Hansen, Reinhold Heckmann, Stefan Hepp, Benedikt Huber, Alexander
Jordan, Evangelia Kasapaki, Jens Knoop, Yonghui Li, Daniel Prokesch,
Wolfgang Puffitsch, Peter Puschner, Andre Rocha, Claudio Silva, Jens
Sparso, and Alessandro Tocchi. T-CREST: Time-predictable multi-core
architecture for embedded systems.
Journal of Systems Architecture, 61(9):449-471, 2015.
pdf
doi
- Martin Schoeberl.
Lessons learned from the EU project T-CREST.
In Design, Automation Test in Europe Conference Exhibition (DATE
2016), city, land, month 2016.
pdf
-
Martin Schoeberl and Jens Sparso.
Timing organization of a real-time multicore processor.
In 2017 New Generation of CAS (NGCAS), pages 89-92, September
2017.
pdf
doi
The Patmos Processor
-
Martin Schoeberl, Pascal Schleuniger, Wolfgang Puffitsch, Florian
Brandner, Christian W. Probst, Sven Karlsson, and Tommy Thorn. Towards a Time-predictable Dual-Issue
Microprocessor: The Patmos Approach.
In First Workshop on Bringing
Theory to Practice: Predictability and Performance in Embedded
Systems (PPES 2011), Grenoble, French, March 2011. pdf
doi
- Sahar Abbaspour, Florian Brandner, and Martin Schoeberl. A
time-predictable stack cache.
In Proceedings of the 9th Workshop on Software Technologies for
Embedded and Ubiquitous Systems, 2013. pdf
doi
- Philipp Degasperi, Stefan Hepp, Wolfgang Puffitsch, and Martin
Schoeberl. A method cache for Patmos.
In Proceedings of the 17th IEEE Symposium on
Object/Component/Service-oriented Real-time Distributed Computing
(ISORC 2014), pages 100-108, Reno, Nevada, USA, June 2014. IEEE. pdf doi
- Carsten Nielsen and Martin Schoeberl. Stack caching using split
data caches.
In Proceedings of the 11th Workshop on Software Technologies for
Embedded and Ubiquitous Systems (SEUS 2015), pages 36-43, Auckland,
New Zealand, April 2015. IEEE. pdf
doi
- Martin Schoeberl and Carsten Nielsen.
A stack cache for real-time systems.
In Proceedings of the 19th IEEE Symposium on Real-time
Distributed Computing (ISORC 2016), York, United Kingdom, May 2016. IEEE.
pdf
doi
-
Alexander Jordan, Sahar Abbaspour, and Martin Schoeberl.
A software managed stack cache for real-time systems.
In Proceedings of the 24th International Conference on Real-Time
Networks and Systems (RTNS 2016), pages 319-326, Brest, France, October
2016. ACM.
pdf
doi
-
Bekim Cilku, Wolfgang Puffitsch, Daniel Prokesch, Martin Schoeberl, and Peter
Puschner.
Improving performance of single-path code through a time-predictable
memory hierarchy.
In Proceedings of the 20th IEEE International Symposium on
Real-Time Computing (ISORC 2017), Toronto, Canada, May 2017. IEEE.
pdf
doi
-
Martin Schoeberl, Bekim Cilku, Daniel Prokesch, and Peter Puschner.
Best practice for caching of single-path code.
In Jan Reineke, editor, 17th International Workshop on
Worst-Case Execution Time Analysis (WCET 2017), pages 1-12, Dagstuhl, Germany, 2017.
Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
pdf
doi
Time-predictable Network-on-Chip
-
Martin Schoeberl, Florian Brandner, Jens Sparso, and Evangelia
Kasapaki. A statically scheduled time-division-multiplexed
network-on-chip for real-time systems.
In Proceedings of the 6th International Symposium on
Networks-on-Chip (NOCS) , Lyngby, Denmark, May 2012. IEEE. pdf doi
- Florian Brandner and Martin Schoeberl. Static routing in symmetric
real-time network-on-chips.
In Proceedings of the 20th International Conference on Real-Time and
Network Systems (RTNS 2012), Pont a Mousson, France, November
2012. pdf doi
- Rasmus Bo Sorensen, Martin Schoeberl, and Jens Sparso. A
light-weight statically scheduled network-on-chip.
In Proceedings of the 29th Norchip Conference, Copenhagen,
November 2012. IEEE. pdf
doi
- Ioannis Kotleas, Dean Humphreys, Rasmus Bo Sorensen, Evangelia Kasapaki,
Florian Brandner, and Jens Sparso. A Loosely Synchronizing Asynchronous
Router for TDM-Scheduled NOCs.
In Proc. IEEE/ACM International Symposium on Networks-on-Chip (NOCS 2014), Ferrara, Italia, September 2014. IEEE.
- Wolfgang Puffitsch, Rasmus Bo Sorensen, and Martin Schoeberl.
Time-division multiplexing vs network calculus: A comparison.
In Proceedings of the 23th International Conference on Real-Time
and Network Systems (RTNS 2015), Lille, France, November 2015.
pdf
doi
The Argo Network-on-Chip
- Jens Sparso, Evangelia Kasapaki, and Martin Schoeberl. An
area-efficient network interface for a tdm-based network-on-chip.
In Proceedings of the Conference on Design, Automation and Test in
Europe, DATE '13, pages 1044-1047, San Jose, CA, USA, 2013. EDA
Consortium. pdf
doi
- Evangelia Kasapaki, Jens Sparso, Rasmus Bo Sorensen and Kees Goossens.
Router Designs for an Asynchronous Time-Division-Multiplexed Network-on-Chip.
In Proc. of Euromicro Conference on Digital System Design (DSD 2013),
Santander, Spain, September 2013. IEEE.
- Evangelia Kasapaki, and Jens Sparso.
Argo: A Time-Elastic Time-Division-Multiplexed NOC using Asynchronous Routers.
In Proc. IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC 2014),
Potsdam, Germany, May 2014. IEEE.
- Rasmus Bo Sorensen, Jens Sparso, Mark Ruvald Pedersen, Jaspur Hojgaard.
A Metaheuristic Scheduler for Time Division Multiplexed Networks-on-Chip.
In Proc. IEEE/IFIP Workshop on Software Technologies for Future Embedded and
Ubiquitous Systems (SEUS 2014),
Reno, Nevada, June 2014. IEEE.
- Rasmus Bo Sorensen, Wolfgang Puffitsch, Martin Schoeberl, and Jens
Sparso. Message passing on a time-predictable multicore processor.
In Proceedings of the 17th IEEE Symposium on Real-time Distributed
Computing (ISORC 2015), pages 51-59, Auckland, New Zealand, April
2015. IEEE. pdf doi
- Evangelia Kasapaki and Jens Sparso.
The Argo NOC: Combining TDM and GALS.
In Proc. European conference on circuit theory and design (ECCTD 2015),
Trondheim, Norway, August 2015. IEEE.
- Luca Pezzarossa, Rasmus Bo Sorensen, Martin Schoeberl, and Jens Sparso.
Interfacing hardware accelerators to a time-division multiplexing
network-on-chip.
In Proc. of the 1st Nordic Circuits and Systems Conference
(NORCAS 2015), Oslo, Norway, October 2015. IEEE.
pdf
doi
- Evangelia Kasapaki, Martin Schoeberl, Rasmus Bo Sorensen, Christian T.
Mueller, Kees Goossens, and Jens Sparso. Argo: A real-time
network-on-chip architecture with an efficient GALS implementation.
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on,
24:479-492, 2016. pdf
doi
- Rasmus Bo Sorensen, Luca Pezzarossa and Jens Sparso.
An Area-Efficient TDM NOC Supporting Reconfiguration for Mode Changes.
In Proc. IEEE/ACM International Symposium on Networks-on-Chip (NOCS 2016),
Nara, Japan, August 2016. IEEE.
-
Rasmus Bo Sorensen, Martin Schoeberl, and Jens Sparso.
State-based communication on time-predictable multicore processors.
In Proceedings of the 24th International Conference on Real-Time
Networks and Systems (RTNS 2016), pages 225-234, Brest, France, October
2016. ACM.
pdf
doi
-
Rasmus Bo Sorensen, Luca Pezzarossa, Martin Schoeberl, and Jens Sparso.
A resource-efficient network interface supporting low latency
reconfiguration of virtual circuits in time-division multiplexing
networks-on-chip.
Journal of Systems Architecture, 74(Supplement C):1-13, 2017.
pdf
doi
The Memory System
- Edgar Lakis and Martin Schoeberl. An SDRAM controller for
real-time systems.
In Proceedings of the 9th Workshop on Software Technologies for
Embedded and Ubiquitous Systems, 2013. pdf
doi
- Jack Whitham and Martin Schoeberl. WCET-based comparison of an
instruction scratchpad and a method cache.
In Proceedings of the 10th Workshop on Software Technologies for
Embedded and Ubiquitous Systems (SEUS 2014), Reno, Nevada, USA,
June 2014. pdf doi
- Martin Schoeberl, David VH Chong, Wolfgang Puffitsch, and Jens Sparso.
A time-predictable memory network-on-chip.
In Proceedings of the 14th International Workshop on Worst-Case
Execution Time Analysis (WCET 2014), pages 53-62, Madrid, Spain,
July 2014. pdf doi
- Wolfgang Puffitsch and Martin Schoeberl.
Time-predictable virtual memory.
In Proceedings of the 19th IEEE Symposium on Real-time
Distributed Computing (ISORC 2016), York, United Kingdom, May 2016. IEEE.
pdf
doi
Reconfiguration
- Luca Pezzarossa, Martin Schoeberl, and Jens Sparso.
Reconfiguration in FPGA-based multi-core platforms for hard real-time
applications.
In 11th International Symposium on Reconfigurable
Communication-centric Systems-on-Chip (ReCoSoC 2016), June 2016. IEEE.
pdf
doi
-
Luca Pezzarossa, Martin Schoeberl, and Jens Sparso.
A controller for dynamic partial reconfiguration in fpga-based
real-time systems.
In 2017 IEEE 20th International Symposium on Real-Time
Distributed Computing (ISORC), pages 92-100, May 2017.
pdf
doi
The Patmos Compiler
- Peter Puschner, Daniel Prokesch, Benedikt Huber, Jens Knoop,
Stefan Hepp, and Gernot Gebhard.
The T-CREST Approach of Compiler and WCET-Analysis Integration.
In Proceedings of the 9th Workshop on Software Technologies for
Embedded and Ubiquitous Systems (SEUS 2013), 2013.
- Daniel Prokesch, Benedikt Huber, and Peter Puschner.
Towards Automated Generation of Time-Predictable Code.
In Proceedings of the 14th International Workshop on Worst-Case
Execution Time Analysis (WCET 2014), pages 103-112, Madrid,
Spain, July 2014.
pdf
doi
- Stefan Hepp and Florian Brandner.
Splitting Functions into Single-Entry Regions.
In 2014 International Conference on Compilers, Architecture and
Synthesis for Embedded Systems (CASES 2014), pages 17:1-17:10,
Uttar Pradesh, India, October 2014. ACM.
doi
- Daniel Prokesch, Stefan Hepp, Peter Puschner.
A Generator for Time-Predictable Code.
In Proceedings of the 17th IEEE Symposium on Real-time Distributed
Computing (ISORC 2015), pages 27-34, Auckland, New Zealand, April
2015. IEEE.
doi
- Stefan Hepp, Benedikt Huber, Jens Knoop, Daniel Prokesch, and
Peter Puschner.
The platin Tool Kit - The T-CREST Approach for Compiler and WCET
Integration.
In Proceedings 18th Kolloquium Programmiersprachen und Grundlagen
der Programmierung (KPS 2015), Pörtschach, Austria, October 2015.
pdf
Worst-Case Execution Time Analysis
- Alexander Jordan, Florian Brandner, and Martin Schoeberl. Static
analysis of worst-case stack cache behavior.
In Proceedings of the 21st International Conference on Real-Time
Networks and Systems (RTNS 2013), RTNS '13, pages 55-64, New York,
NY, USA, 2013. ACM pdf
doi
- Benedikt Huber, Daniel Prokesch, Peter Puschner.
Combined WCET analysis of bitcode and machine code using
control-flow relation graphs.
In SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for
Embedded Systems 2013 (LCTES 2013)
, pages 163-172, Seattle, WA, USA, June 2013. ACM.
doi
- Benedikt Huber, Stefan Hepp, and Martin Schoeberl. Scope-based
method cache analysis.
In Proceedings of the 14th International Workshop on Worst-Case
Execution Time Analysis (WCET 2014), pages 73-82, Madrid, Spain,
July 2014. pdf doi
Applications and Operating Systems
- Marco Ziccardi, Martin Schoeberl, and Tullio Vardanega. A
time-composable operating system for the Patmos processor.
In The 30th ACM/SIGAPP Symposium On Applied Computing, Embedded
Systems Track, Salamanca, Spain., April 13-17 2015. ACM Press. pdf doi
- Stephan E. Korsholm, Martin Schoeberl, and Wolfgang Puffitsch.
Safety-critical Java on a time-predictable processor.
In Proceedings of the 13th International Workshop on Java
Technologies for Real-Time and Embedded Systems (JTRES 2015), Paris, France,
October 2015. ACM.
pdf
doi
- Andre Rocha, Claudio Silva, Rasmus Bo Sorensen, Jens Sparso, and
Martin Schoeberl.
Avionics applications on a time-predictable chip-multiprocessor.
In 24th Euromicro International Conference on Parallel,
Distributed, and Network-Based Processing (PDP 2016), Feb 2016. IEEE.
pdf
doi
- Florian Kluge, Martin Schoeberl, and Theo Ungerer.
Support for the logical execution time model on a time-predictable
multicore processor.
In 14th International Workshop on Real-Time Networks, Toulouse, France, July 2016.
pdf
-
Daniel Sanz Ausin, Luca Pezzarossa, and Martin Schoeberl.
Real-time audio processing on the T-CREST multicore platform.
In MCSoC 2017.
pdf
doi