This course will investigate high-level automated compilation strategies for digital circuits. This course will focus on the theoretical foundations of behavioral synthesis as well as applied practice of high-level synthesis (HLS) with modern tools. The major topics addressed in this course include:

  • Graph Theory, Algorithms, and Analysis
  • HLS Algorithms (Scheduling, Allocation, Binding, Retiming)
  • Compilers (Passes, SSA, IR)
  • HLS Optimizations (Pipelining, IR transformations)
  • Modern HLS research topics
  • Design using open-source and commercial HLS tools


Students should be familiar with RTL (Verilog or VHDL), and be comfortable writing C++. If you are unsure if you have the necessary experience, contact the instructor.


Parallel Programming for FPGAs. http://kastner.ucsd.edu/hlsbook/

Grade Breakdown

Component % of Grade
Class Participation 5
Mini-Lecture 10
Labs 50
Project & Presentation 20
Exam 15

Class Participation

Active participation by all students is an essential component of learning in this course. Class participation includes attending class, preparing for class (usually by reading and understanding the reading), participating in the class discussion, and providing additional insight or help to the instructor or fellow students. The class participation score is subjective and will be computed at the end of the semester based on feedback from fellow students and observations from the instructor.


Several classes will be spent on student-led lectures from the “Parallel Programming for FPGAs” textbook. Each student will participate in one presentation, as part of a group of two.


There are 5 labs. While none of the labs require you to write a huge amount of code (most can be completed in ~100 lines), you may find the coding challenging as you will be working with new tools and C++ features you may not have used before. Start early and give yourself lots of time to debug and ask questions on Piazza.

Mid-Term Exam

One midterm examination will be given to test your understanding of the course material. This examination will be closed book and taken at the testing center. The test is scheduled for the following three days: March TBD. Make sure you complete the test during this time. No makeup examinations will be given.

Project and Presentation

Each student will be required to complete a project related to the topics covered in the course and present the results from this project in a class presentation. The project will begin during the second half of the semester and the presentations will occur during the last week of class. Details of the project requirements and grading will be given at a later time. There will be no final exam for the course.

Late Policy

For assignments submitted late, the penalty will be 20% for each week late (rounding up), to a maximum of 60% deduction. (Example: submitting 1 day late will result in a 20% penalty and 13 days late will result in a 40% penalty). No assignments will be accepted after the last day of class.
This policy applies to assignments only. The final project deliverables must be completed on time, or no credit will be given.

Course Schedule

The course lecture and reading schedule for the semester will be posted on the course website.

Honor Code Standards

In keeping with the principles of the BYU Honor Code, students are expected to be honest in all of their academic work. Academic honesty means, most fundamentally, that any work you present as your own must in fact be your own work and not that of another. Violations of this principle may result in a failing grade in the course and additional disciplinary action by the university.

Students are also expected to adhere to the Dress and Grooming Standards. Adherence demonstrates respect for yourself and others and ensures an effective learning and working environment. It is the university’s expectation, and my own expectation in class, that each student will abide by all Honor Code standards. Please call the Honor Code Office at 422-2847 if you have questions about those standards.

Preventing & Responding to Sexual Misconduct

In accordance with Title IX of the Education Amendments of 1972, Brigham Young University prohibits unlawful sex discrimination against any participant in its education programs or activities. The university also prohibits sexual harassment—including sexualviolence—committed by or against students, university employees, and visitors to campus. As outlined in university policy, sexual harassment, dating violence, domestic violence,sexual assault, and stalking are considered forms of “Sexual Misconduct” prohibited by the university.

University policy requires all university employees in a teaching, managerial, or supervisory role to report all incidents of Sexual Misconduct that come to their attention in any way, including but not limited to face-to-face conversations, a written class assignment or paper, class discussion, email, text, or social media post. Incidents of Sexual Misconduct should be reported to the Title IX Coordinator at t9coordinator@byu.edu or (801) 422-8692. Reports may also be submitted through EthicsPoint at https://titleix.byu.edu/reportor 1-888-238-1062 (24-hours a day).

BYU offers confidential resources for those affected by Sexual Misconduct, including the university’s Victim Advocate, as well as a number of non-confidential resources and services that may be helpful. Additional information about Title IX, the university’s SexualMisconduct Policy, reporting requirements, and resources can be found athttp://titleix.byu.edu or by contacting the university’s Title IX Coordinator.
Students With Disabilities If you have a disability that may affect your performance in this course, you should get in touch with the office of Services for Students with Disabilities (1520 WSC). This office can evaluate your disability and assist the professor in arranging for reasonable accommodations.