DRAFT - for discussion 9th Feb 2018

The outline group mini-project being considered for 2017/18: Plan18

This year we shall concentrate on modelling software accelerators in reconfigurable logic and peforming high-level modelling of the composite system consisting of conventional CPU cores and custom accelerators and a proof-of-concept on the Zynq platform.

Specifically we will be exploring the tools and techniques for solving the following problem:
I want to compare a number of hardware accelerator designs for a problem that has two parts, one being CPU bound and the other being DRAM random access bound. I probably want to use high-level synthesis to generate my accelerators. The problem specification is not likely to change. How can I work out the energy use and performance advantage I get from my accelerators pre tape-out ?

  1. Identify a problem that needs accelerating (database hashing with SHAR-X or AES encryption).
  2. Code up a toy demo of the inner loops in C,
  3. Run that C on the Prazor virtual platform, perhaps using several cores,
  4. Synthesise the design using HLS to create SystemC and RTL versions (or manually re-code it in these forms if you prefer),
  5. Add the SystemC high-level model to the Prazor platform,
  6. Deploy the RTL on the Zynq cards,
  7. Run equivalent tests/workloads on each platform and see whether Prazor predicted the performance and energy correctly.

Timetable

Phase 1 --- From now until the end of term we get something basically working.

Phase 2 --- After the end of term you may perhaps develop it further, or start something else, but that is not the main thing to do. Instead you should evaluate what has been achieved and write it up. Also you will write your P35 structured essay and, in that, you should refer to the group mini-project as a worked example wherever appropriate.

Group Work Rules

For practical work you may work in groups, one big group, or alone. You must make it clear in all assessed work exactly who did what.

For result gathering you may exchange results (e.g. performance and energy measurements) with others, but you must credit all tables and graphs fully. Generally it may be best to run experiments yourself and collect your own results.

For write-ups, every word of your report must have been written by yourself alone.


END.