- Level Foundation
- المدة
- الطبع بواسطة Politecnico di Milano
-
Offered by
عن
Nowadays the complexity of computing systems is skyrocketing. Programmers have to deal with extremely powerful computing systems that take time and considerable skills to be instructed to perform at their best. It is clear that it is not feasible to rely on human intervention to tune a system: conditions change frequently, rapidly, and unpredictably. It would be desirable to have the system automatically adapt to the mutating environment. This course analyzes the stated problem, embraces a radically new approach, and it introduces how software and hardware systems ca ben adjusted during execution. By doing this, we are going to introduce the Field Programmable Gate Arrays (FPGA) technologies and how they can be (re)configured.الوحدات
Class intro
1
Assignment
- Reconfigurations
4
Videos
- FPGA computing systems: A Bird’s Eye View
- Course Introduction
- Reconfiguration in Everyday Life
- The Needs for Adaptation: an overview
2
Readings
- Self-Aware Adaptation in FPGA-based Systems [suggested readings]
- Self-Awareness as a Model for Designing and Operating Heterogeneous Multicores [suggested readings]
FPGA and reconfiguration
2
Assignment
- History of Reconfiguration
- FPGA and reconfiguration
1
Videos
- FPGA and reconfiguration: a 1st definition
1
Readings
- Reconfigurable computing: a survey of systems and software [suggested readings]
Adaptive Computing Systems
2
Assignment
- Programmable SoC Vs SoMCs
- Runtime management
3
Videos
- Runtime management
- Programmable System-on-Chip
- Programmable System-on-Multiple Chip
2
Readings
- ReconOS: An Operating System Approach for Reconfigurable Computing [suggested readings]
- R3TOS-Based Autonomous Fault-Tolerant Systems [suggested readings]
Reconfigurable Computing
1
Assignment
- Reconfigurable Computing Module
4
Videos
- Reconfigurable Computing: a 1st definition
- Reconfigurable Computing: HW vs SW
- On how to improve the Reconfigurable computing performance via CAD improvements
- FPGA-Based Reconfigurable Computing
2
Readings
- A platform-independent runtime methodology for mapping multiple applications onto FPGAs through resource virtualization [suggested readings]
- A Heterogeneous Multicore System on Chip with Run-Time Reconfigurable Virtual FPGA Architecture [suggested readings]
System design space exploration and rationale behind partial reconfiguration
1
Assignment
- Performance
1
Videos
- System design space exploration and rationale behind partial reconfiguration
2
Readings
- Partitioning and Scheduling of Task Graphs on Partially Dynamically Reconfigurable FPGAs [suggested readings]
- A Mapping-Scheduling Algorithm for Hardware Acceleration on Reconfigurable Platforms [suggested readings]
Getting Familiar with FPGAs
1
Assignment
- Getting familiar with FPGAs
3
Videos
- Getting Familiar with FPGAs
- FPGA Basic Block: CLBs and IOBs
- FPGA Basic Block: Interconnections
On How to Configure an FPGA
1
Assignment
- FPGA configuration and Bitstream
4
Videos
- FPGA Configuration: an overview
- More Details on How To Configure and FPGA: the bitstream files
- Bitstream Composition
- Configuration Registers
1
Readings
- Note on the "Resources"
How to handle the complexity of an FPGA-based system
1
Videos
- How to handle the complexity of an FPGA-based system
2
Readings
- Physical design for FPGAs [suggested readings]
- Multi-Million Gate FPGA Physical Design Challenges [suggested readings]
An example on how to configure a CLB
1
Assignment
- LUT and CLB
2
Videos
- 4 inputs - 1 output OR LUT configuration example
- From the LUT to the CLB configuration example
An Example on how to implement a circuit on a simplified FPGA
1
Assignment
- Physical design
4
Videos
- A simplified FPGA and its configuration settings
- An Example on how to implement a circuit on a simplified FPGA
- An Example on how to implement a circuit on a simplified FPGA: bitstram generation phase - CLBs
- An Example on how to implement a circuit on a simplified FPGA: bitstram generation phase - SBs and routing
Course conclusion
1
Readings
- Conclusion
Auto Summary
Discover the complexities of modern computing systems with "FPGA Computing Systems: A Bird’s Eye View." This foundational course, led by Coursera, delves into adaptive software and hardware, focusing on FPGA technologies. Ideal for personal development, learn how systems can self-adjust in dynamic environments. Available through Starter and Professional subscriptions.

Marco Domenico Santambrogio