Disclaimr: The content of this site
consists of my own personal opinions and does not officially represent my current employer’s view in anyway. This site is provided just as an archive for the information related to my Ph.D. research and work done at Leiden University.
Embedded real-time systems in general and specifically embedded multiprocessor system-on-chip design and programming, hardware/software codesign, computer architecture, and computer communication protocols
Jiali Teddy Zhai, Mohamed A. Bamakhrama, and Todor Stefanov. "Exploiting Just-enough Parallelism when Mapping Streaming Applications in Hard Real-time Systems". In Proceedings of the 50th Design Automation Conference (DAC 2013), pp. 170:1–170:8, May 29-June 7, 2013, Austin, TX, USA. (Winner of HiPEAC 2013 Paper Award) PDF | Slides | DOI | ACM DL
DaedalusRT: is a system-level design (SLD) framework for designing hard-real-time embedded streaming systems. It accepts as an input a set of sequential applications written in a constrained form of the C programming language (called static affine nested loop programs (SANLPs)). After that, it performs the following steps:
Scheduling Analysis: In this step, the framework performs hard-real-time schedulability analysis on the CSDF representation to determine the minimum number of processors needed to schedule the applications and the mapping of tasks to processors
System Synthesis: In the last step, the framework synthesizes a multiprocessor system-on-chip (MPSoC) platform which runs the parallelized applications.
darts: is a toolbox for hard-real-time schedulability analysis of applications modeled as acyclic Cyclo-Static Dataflow (CSDF) graphs. It constitutes a part of the DaedalusRT framework. You can get the source code of this toolbox from here
microblaze-pmbus: is a system on FPGA which demonstrates a PMBus driver implementation for Xilinx Microblaze processors. The current driver has the following limitations: 1) "read-only" functionality (i.e., reading current, voltage, and power) from the PMBus controller without "write" functionality, and 2) Support for Xilinx ML605 boards only using TI UCD9240 controller chip. For background information, you can look here