This course will cover basics of BCIs, example applications and computational demands, fundamental tradeoffs in computer architecture and system design encountered in developing processors for BCIs, some advanced computer architecture concepts relevant to BCI processor design like super-scalar processing, caching, accelerators etc., open problems, and potential future directions like brain-inspired computer architectures. The course will build on prior courses in computer architecture and organization (e.g., COMP 211, 311, 541), and is targeted for early graduate students and advanced undergraduates.
There will be a mix of lectures covering fundamental concepts for advanced processor architecture, paper readings, discussions, and a semester-long project. Prepare to read about two papers per week, additional lighter reading on BCIs, and demonstrate a working team project by the end of the semester.
Background in one or more of computer architecture, organization, digital design, systems (e.g., COMP 311, 541) is recommended, although students with alternative backgrounds in relevant topics (e.g., neuro-engineering, neural/digital signal processing, biomedical IoT/CPS) are also welcome to take the course by discussing with the instructor.
You will understand what BCIs are, gain exposure to the kinds of applications they run, understand the challenges in designing BCI processors and systems, and the ability to critique computer architecture and system designs for BCIs.
Project (50%) with presentation (25%) and report (25%), homeworks (20%), technical paper reviews (10%), lead presentation (10%), discussion (10%).
Participation: Regular presence (40%), responsiveness (30%), insightful engagement (30%).
Reviews: Demonstrate overall understanding of the paper and the context (20%), identify main technical contributions (20%), identify critical limitations (20%), identify underlying systems design principles or implication, as appropriate (20%), significance and impact (10%), critique and discussion points (10%).
Undergraduates will receive standard letter grades based on the university scale (A, A-,...), and graduates will receive grades based on the department scale (H+, H,...). Grading will use both objective (homework scores) and subjective measures (like quality, significance and novelty of project submissions used in assessing technical work, and class participation).
Students can propose course projects in teams of two. There will be a mid-term review of progress for course correction as needed. Team members hold collective responsibility for the project. So, choose wisely.
Project presentation: The duration is 20 minutes, with at least 5 minutes of time for questions. Grading will consider content (30%), delivery and presentation (30%), organization (20%), and response to questions (20%).
Project report: The report will be a pdf that is 10-12 pages long, with a 12-point font, and 1-inch margins. It must include a title, team member names and emails, brief description of the contributions of team members, any overlap with projects in other courses or research, and an abstract (< 200 words). The report should contain separate sections, with appropriate subsections as follows:
Beyond this content, include the following sections (these don’t count toward the page limit):
The project reports will be published online for future students. If you have confidential material, e.g., work that you're planning to use for a publication or patent, please send me an email to withhold publication and duration. You can also request not publishing the report for other reasons. Please send me an email if you wish so.
Homeworks with written assignments due in class are to be submitted within the first ten minutes of the class start. Homeworks with problems that are to be submitted online (e.g., on Gradescope) or paper reviews (e.g., on Piazza), are due by class start. Anything later is considered a late submission, and a letter grade per-day will be dropped until an F.
Project submissions (presentations, report) cannot be late. Project report is due by midnight (Eastern) on the due date. Late project proposals will incur a penalty in the project score.
Exceptions include pre-arranged accommodations, unexpected emergencies including illness.
You can discuss your initial thoughts on the homeworks with other student in course, but each of you must answer separately. Do not use or read another students work before you turn yours in. You should not violate the university honor code. Violations are serious, and can end a career.
Please be respectful and maintain the sanctity of the classroom to ensure everyone has a positive experience with the course. For any student concerns, reach out to UNC Care, or to UNC Safe.
All materials of this course are for educational use only. My permission is necessary to use them. They cannot be shared outside of the course, including with AI tools.
There is no required textbook, but readings are recommended from the following books as appropriate.
Note that most books on BCIs so far, if not all, have not aimed at the computer scientist or engineer. So, if the math in the signal processing, or the neuroscience is overwhelming, don’t worry. We will cover the basics in the class as needed for our purposes. Our goal is to understand at least enough math and neuroscience so that we can reason about how to best build computer systems for them (you're most welcome and even encouraged to go as further as you find intellectually stimulating). Additionally, unless specifically stated, the readings are best approached after the corresponding lecture, and are self-paced.
| Date | Topic | Notes | Reading |
|---|---|---|---|
| 8/18/2025 | Introduction to BCIs and the role of computer architecture | Homework 1 released | B1: Part 1, Part 2.Ch 1-3, 6. B2: Ch 1-5, 9-11, 19-23. |
| 8/20/2025 | Computer architecture overview | B3: Ch 1. Paper: Hints and Principles for Computer System Design Butler Lampson (Sections 1, 2, 3.1) |
|
| 8/25/2025 | Design goals | Paper: Hints and Principles for Computer System Design Butler Lampson (Sections 3.2-3.8) | |
| 8/27/2025 | Pipelining | Homework 1 due in class | B3: App C. |
| 9/3/2025 | Dynamic scheduling | Project proposals due in class. | B3: Ch 3, Review App C. Paper: Complexity-effective Superscalar Processors Paper: Implementation of Precise Interrupts in Pipelined Processors |
| 9/8/2025 | Dynamic scheduling (contd.) | Project proposals reviewed. | B3: Ch 3. Paper: Complexity-effective Superscalar Processors Paper: Implementation of Precise Interrupts in Pipelined Processors |
| 9/10/2025 | Dynamic scheduling (contd.) | Final project proposals due in class. Homework 2 released (Gradescope). |
B3: Ch 3. Paper: Complexity-effective Superscalar Processors Paper: Implementation of Precise Interrupts in Pipelined Processors |
| 9/17/2025 | Caches | B3: App B, Ch 2 Paper: Cache Memories Paper: Measuring Cache and TLB Performance and Their Effect on Benchmark Runtimes Paper: Design of CPU Cache Memories |
|
| 9/22/2025 | Caches (contd.) | B3: App B, Ch 2 Paper: Cache Memories Paper: Measuring Cache and TLB Performance and Their Effect on Benchmark Runtimes Paper: Design of CPU Cache Memories |
|
| 9/24/2025 | Memory | Homework 2 due (Gradescope). | B3: Ch 2 Paper: Virtual Memory: Issues of Implementation Paper: Virtual Memory |
| 9/29/2025 | Overview of signal processing |
B1: Ch 4, 5. B2: Ch 7, 8. Paper: Signal Processing for Brain–Computer Interfaces: A review and current perspectives |
|
| 10/1/2025 | Memory (contd.) | B3: Ch 2 Paper: Virtual Memory: Issues of Implementation Paper: Virtual Memory |
|
| 10/6/2025 | Testing an FPGA in the Operating Room | Homework 3 released (Gradescope). | |
| 10/8/2025 | Multicore and multithreaded systems | B3: Ch 3.11,5 Paper: Multithreaded Processors |
|
| 10/13/2025 | Multicore and multithreaded systems (contd.) | B3: Ch 3.11,5 Paper: Multithreaded Processors |
|
| 10/15/2025 | Memories in multiprocessor systems |
B3: Ch 5 Paper: Shared Memory Consistency Models: A Tutorial Reference A Primer on Memory Consistency and Cache Coherence |
|
| 10/20/2025 | Memories in multiprocessor systems (contd.) |
B3: Ch 5 Paper: Shared Memory Consistency Models: A Tutorial Reference A Primer on Memory Consistency and Cache Coherence |
|
| 10/22/2025 | Parallel architectures | Homework 3 due (Gradescope). |
B3: Ch 5, App C, G Paper: A Survey of Parallel Computer Architectures |
| 10/27/2025 | 1. InfiniMind: A Learning-Optimized Large-Scale Brain-Computer Interface 2. Combining VR with electroencephalography as a frontier of brain-computer interfaces |
||
| 10/29/2025 | 3. BRAND: A Platform for Closed-Loop Experiments with Deep Network Models |
Midterm project review | |
| 11/3/2025 | 4. Marple: Scalable Spike Sorting for Untethered Brain-Machine Interfacing 5. Home Use of a Percutaneous Wireless Intracortical Brain-Computer Interface by Individuals with Tetraplegia |
||
| 11/5/2025 | 6. Balancing Memorization and Generalization in RNNs for High Performance Brain-Machine Interfaces 7. OpenViBE: An Open-Source Software Platform to Design, Test, and Use Brain–Computer Interfaces in Real and Virtual Environments |
||
| 11/10/2025 | 8. Intelligent Neural Interfaces: An Emerging Era in Neurotechnology 9. Noema: Hardware-Efficient Template Matching for Neural Population Pattern Detection |
||
| 11/12/2025 | 10. An Integrated Brain-Machine Interface Platform with Thousands of Channels 11. xDev: A Mixed-Signal, Software-Defined Neurotechnology Interface Platform for Accelerated System Development |
||
| 11/17/2025 | 12. An Energy-Efficient Kalman Filter Architecture with Tunable Accuracy for Brain-Computer Interfaces 13. A Wearable Platform for Closed-Loop Stimulation and Recording of Single-Neuron and Local Field Potential Activity in Freely Moving Humans |
||
| 11/19/2025 | 14. MasterMind: Many-Accelerator SoC Architecture for Real-Time Brain-Computer Interfaces 15. µbrain: A Unary Brain Computer Interface |
||
| 11/24/2025 | Putting it all together | ||
| 12/1/2025 | Final Presentations | ||
| 12/3/2025 | Final Presentations (contd.) | ||
| 12/5/2025 (8 AM–11 AM) | Project and performance review | Assigned final exam slot | |