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.)
-
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:
-
You will need to acquire necessary computational resoruces
for some of the topics, e.g. FireSim will need access to
certain FPGA boards or AWS EC2 F1 instances, and VLSI flow
will require at least 64GB memory for non-trivial designs.
-
You may need to download and build from a different version
of Chipyard (than what we have in our VM) for specific
modules to work properly.
-
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.
-
Temporal Logic of Actions
-
emscripten
-
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:
- (10 points):
While this is an open-ended project,
we expect you to demonstrate reasonable amount of work per team size.
-
If you work by yourself, we would expect to see
system setup plus a few completed tutorials.
-
For a team of two, we would expect to see
substantial amount of work beyond introductory tutorials.
- (10 points):
Provide useful introduction/tutorial into the topic.
- (5 points):
Proper citations to others work. Web links are prefered.
I would recommend the following sections to be included in the final report.
-
Overview: discuss the purpose of the system. Why people build it?
-
System Architecture: discuss the parts that make the whole system.
What are their purposes and how do they interact with each other?
-
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?
-
Experiments: explain how you experiments with the system,
and present experimental results. Are the results as expected?
-
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.