Explore advanced techniques for hardware/software co-design in this CppCon 2023 conference talk. Delve into two key methodologies: "Register Hooking" using the preprocessor to alter primitive data type interactions, and leveraging C++ coroutines to define side effects through behavioral models. Learn how coroutines can effectively represent the parallel nature of hardware, avoiding synchronization issues common in multi-threaded approaches. Discover how these techniques can simplify the modeling of complex hardware interactions, particularly when dealing with hardware IP controlled by processor-run C code. Gain insights from industry experts Jeffrey Erickson and Sebastian Schoenberg, who bring extensive experience in embedded systems development, FPGA-processor integration, and firmware software architecture.
Overview
Syllabus
Behavioral Modeling in HW/SW Co-design Using C++ Coroutines - Jeffrey Erickson, Sebastian Schoenberg
Taught by
CppCon