System Exploration

ECE 587, Spring 2025



Proposal Due: 03/30 (Sun.), by the end of the day (Chicago time)
Final Report Due: 05/07 (Wed.), by the end of the day (Chicago time)
Late submissions will NOT be graded

We are ready to explore practical systems using our knowledge of hardware/software co-design now. Below I have listed a few options and systems that you could choose from. You will need to read the documents, setup the system, and experiment with the tutorials. You can either work by yourself, or work in a team of two so that each of you may focus on one part first and then teach the other.

You may choose your own system out of my list based on your previous experience. If you prefer so, you should email me your (or your team's) choice no later than the end of 03/17 and I will decide if your choice is appropriate.

    (Please be advised that you may need to troubleshoot issues with the published source code and scripts as many of them could be outdated.)
  1. You (or your team) may choose to continue the exploration into Chipyard on a more specific topic including but not limited to NVDLA integration, FPGA-accelerated simulation with FireSim, and open source VLSI flow using Hammer and OpenROAD. Note that:
  2. If the article you choose to review for literature survey comes with source code, you may work with the code to reproduce the reported results and to explore different experimental settings. Note that you are still allowed to form a team of at most two but both of you should complete the literature survey of the same article separately.
  3. Temporal Logic of Actions
  4. emscripten
  5. TVM

System exploration contributes 30 points to your final grade.

A one-page proposal (5 points) is due 03/30 for each team. It should list team members and include a brief description on what your team plans to work on. You are strongly discouraged to change the team members or the system later on.

The final report (25 points), together with any code your write, is due 05/07 for each team. The report should NOT EXCEED 6 pages and should be packaged with the code as a zip file for submission. It will be evaluated as follows:

I would recommend the following sections to be included in the final report.
  1. Overview: discuss the purpose of the system. Why people build it?
  2. System Architecture: discuss the parts that make the whole system. What are their purposes and how do they interact with each other?
  3. System setup: explain how you setup the system, and describe any challenge your team encounters. What version of the OS, the compiler, etc. are you using?
  4. Experiments: explain how you experiments with the system, and present experimental results. Are the results as expected?
  5. Future Works: briefly discuss how the system could be improved or be used to improve other systems in future, preferably using ideas of hardware/software co-design.

Please make sure at least one team member will submit the proposal and the final report. PLAGIARISM will call for DISCIPLINARY ACTION. NEVER share your code or writing with other teams.