COMP 590/790: Building the Infinite Brain

Course Information

Description

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.

Course organization and expectations

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.

Key Learning Outcomes

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.

Grading

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).

Project

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.

Submission policies

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.

Academic integrity and honor code

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.

Well-being, respect, and safety

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.

Copyrights

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.

Books

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.

Schedule

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