このコースについて
6,084 最近の表示

100%オンライン

自分のスケジュールですぐに学習を始めてください。

柔軟性のある期限

スケジュールに従って期限をリセットします。

初級レベル

約12時間で修了

推奨:4-10 hours/week...

英語

字幕:英語

100%オンライン

自分のスケジュールですぐに学習を始めてください。

柔軟性のある期限

スケジュールに従って期限をリセットします。

初級レベル

約12時間で修了

推奨:4-10 hours/week...

英語

字幕:英語

シラバス - 本コースの学習内容

1
6時間で修了

A Bird's Eye View on Adaptive Computing Systems

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

...
7件のビデオ (合計29分), 5 readings, 5 quizzes
7件のビデオ
Reconfiguration in Everyday Life2 分
The Needs for Adaptation: an overview4 分
FPGA and reconfiguration: a 1st definition5 分
Runtime management2 分
Programmable System-on-Chip4 分
Programmable System-on-Multiple Chip6 分
5件の学習用教材
Self-Aware Adaptation in FPGA-based Systems [suggested readings]30 分
Self-Awareness as a Model for Designing and Operating Heterogeneous Multicores [suggested readings]1 時間
Reconfigurable computing: a survey of systems and software [suggested readings]2 時間
ReconOS: An Operating System Approach for Reconfigurable Computing [suggested readings]30 分
R3TOS-Based Autonomous Fault-Tolerant Systems [suggested readings]30 分
5の練習問題
Reconfigurations15 分
History of Reconfiguration8 分
FPGA and reconfiguration6 分
Programmable SoC Vs SoMCs7 分
Runtime management4 分
5時間で修了

An introduction to Reconfigurable Computing

Traditionally, computing was classified into General-Purpose Computing performed by a General-Purpose Processor (GPP) and Application-Specific Computing performed by an Application-Specific Integrated Circuit (ASIC). As a trade-off between the two extreme characteristics of GPP and ASIC, reconfigurable computing has combined the advantages of both. On one hand reconfigurable computing can have better performance with respect to a software implementation but paying this in terms of time to implement. On the other hand a reconfigurable device can be used to design a system without requiring the same design time and complexity compared to a full custom solution but being beaten in terms of performance. The main advantage of a reconfigurable system is its high flexibility, while its main disadvantage is the lack of a standard computing model. In this module we are presenting a first definition of reconfigurable computing, describing the rationale behind it and introducing how this field has been influenced by the introduction of the FPGAs.

...
5件のビデオ (合計27分), 4 readings, 2 quizzes
5件のビデオ
Reconfigurable Computing: HW vs SW3 分
On how to improve the Reconfigurable computing performance via CAD improvements3 分
FPGA-Based Reconfigurable Computing3 分
System design space exploration and rationale behind partial reconfiguration15 分
4件の学習用教材
A platform-independent runtime methodology for mapping multiple applications onto FPGAs through resource virtualization [suggested readings]45 分
A Heterogeneous Multicore System on Chip with Run-Time Reconfigurable Virtual FPGA Architecture [suggested readings]1 時間
Partitioning and Scheduling of Task Graphs on Partially Dynamically Reconfigurable FPGAs [suggested readings]1 時間
A Mapping-Scheduling Algorithm for Hardware Acceleration on Reconfigurable Platforms [suggested readings]1 時間 30 分
2の練習問題
Reconfigurable Computing Module10 分
Performance4 分
2
4時間で修了

Reconfigurable Computing and FPGAs

From the mid-1980s, reconfigurable computing has become a popular field due to the FPGA technology progress. An FPGA is a semiconductor device containing programmable logic components and programmable interconnects but no instruction fetch at run time, that is, FPGAs do not have a program counter. In most FPGAs, the logic components can be programmed to duplicate the functionality of basic logic gates or functional Intellectual Properties (IPs). FPGAs also include memory elements composed of simple flip-flops or more complex blocks of memories. Hence, FPGA has made possible the dynamic execution and configuration of both hardware and software on a single chip. This module provides a detailed description of FPGA technologies starting from a general description down to the discussion on the low-level configuration details of these devices, to the bitstream composition and the description of the configuration registers.

...
8件のビデオ (合計36分), 3 readings, 2 quizzes
8件のビデオ
FPGA Basic Block: CLBs and IOBs6 分
FPGA Basic Block: Interconnections5 分
FPGA Configuration: an overview2 分
More Details on How To Configure and FPGA: the bitstream files4 分
Bitstream Composition4 分
Configuration Registers6 分
How to handle the complexity of an FPGA-based system4 分
3件の学習用教材
Note on the "Resources"1 分
Physical design for FPGAs [suggested readings]1 時間 30 分
Multi-Million Gate FPGA Physical Design Challenges [suggested readings]1 時間 30 分
2の練習問題
Getting familiar with FPGAs34 分
FPGA configuration and Bitstream10 分
1時間で修了

Examples on how to configure an FPGA

FPGA design tools must provide a design environment based on digital design concepts and components (gates, flip-flops, MUXs, etc.). They must hide the complexities of placement, routing and bitstream generation from the user. This module is not going through these steps in details, an entire course will be needed just for this, but it is important at least to have an idea of what it is happening behind the scene to better understand the complexity of the processes carried out by the tools you are going to use. Within this context, this module guides you through a simple example, which is abstracting the complexity of the underlying FPGA, starting from the description of the circuit you may be willing to implement to the bitstream used to configure the FPGA.

...
6件のビデオ (合計42分), 2 quizzes
6件のビデオ
From the LUT to the CLB configuration example8 分
A simplified FPGA and its configuration settings4 分
An Example on how to implement a circuit on a simplified FPGA8 分
An Example on how to implement a circuit on a simplified FPGA: bitstram generation phase - CLBs5 分
An Example on how to implement a circuit on a simplified FPGA: bitstram generation phase - SBs and routing4 分
2の練習問題
LUT and CLB4 分
Physical design4 分
3
5時間で修了

An Introduction to Reconfigurations

Before continuing in this terrific journey in the reconfigurable computing area, it can be useful to define a common language. Obviously, some of these terms have been already used but it is now time to better understand them and to make some order before continuing with more advanced concepts. Furthermore, as we know, FPGA configuration capabilities allow a great flexibility in hardware design and, as a consequence, they make it possible to create a vast number of different reconfigurable systems. These can vary from systems composed of custom boards with FPGAs, often connected to a standard PC or workstation, to standalone systems including reconfigurable logic and General Purpose Processors, to System-on-Chip's, completely implemented within a single FPGA mounted on a board, with only few physical components for I/O interfacing. There are different models of reconfiguration, and a scheme to classify them is presented in this module. We can consider this module as a transitional/turning point module. We have been exposed to some terminology and concepts and we are now ready to move forward. To do this, we need to combine all the pieces of the puzzles together and to invest a bit at looking at the overall picture, and this is exactly what this module has been designed for.

...
5件のビデオ (合計35分), 2 readings, 2 quizzes
5件のビデオ
The 5 W's6 分
Reconfigurable Computing as an Exstension of HW/SW Codesing5 分
A Classification of SoC Reconfigurations8 分
A Classification of SoMC Reconfigurations9 分
2件の学習用教材
Design methodology for partial dynamic reconfiguration: a new degree of freedom in the HW/SW codesign [suggested readings]1 時間
Performance of partial reconfiguration in FPGA systems: A survey and a cost model [suggested readings]3 時間
2の練習問題
Functionalities and their implementations4 分
Module Review10 分
5時間で修了

Towards Partial Dynamic Reconfiguration and Complex FPGA-based systems

The reconfiguration capabilities of FPGAs give the designers extended flexibility in terms of hardware maintainability. FPGAs can change the hardware functionalities mapped on them by taking the application offline, downloading a new configuration on the FPGA (and possibly new software for the processor, if any) and rebooting the system. Reconfiguration in this case is a process independent of the execution of the application. A different approach is the one that considers reconfiguration of the FPGA as part of the application itself, giving it the capability of adapting the hardware configured on the chip resources according to the needs of a particular situation during the execution time. In this case we are referring to this reconfiguration as dynamic reconfiguration and the reconfiguration process is seen as part of the application execution, and not as a stage prior to it. This module illustrates a particular technique, which is extending the previous two, that has been viable for most recent FPGA devices, Partial Dynamic Reconfiguration. To fully understand what this technique is, the concepts of reconfigurable computing, static and dynamic reconfiguration, and the taxonomy of dynamic reconfiguration itself must be analyzed. In this way partial dynamic reconfiguration can be correctly placed in the set of system development techniques that it is possible to implement on a modern FPGA chip.

...
8件のビデオ (合計40分), 4 readings, 2 quizzes
8件のビデオ
How to use FPGA Reconfiguration to face area issues5 分
How to deal with the Reconfiguration runtime overhead3 分
Recurring modules to reuse them to reduce the Reconfiguration time3 分
Partial Reconfiguration to reduce the Reconfiguration runtime overhead5 分
Runtime management to explore alternative implementations5 分
Bitstreams relocation6 分
Bitstreams relocation and virtual homogeneity3 分
4件の学習用教材
Operating system runtime management of partially dynamically reconfigurable embedded systems [suggested readings]1 時間
Core Allocation and Relocation Management for a Self Dynamically Reconfigurable Architecture [suggested readings]1 時間
A runtime relocation based workflow for self dynamic reconfigurable systems design [suggested readings]1 時間
Partial Dynamic Reconfiguration in a Multi-FPGA Clustered Architecture Based on Linux [suggested readings]1 時間 30 分
2の練習問題
Reconfigurable System6 分
Partial reconfiguration6 分
4
8時間で修了

Design Flows

After presenting different solutions proposed to design and implement dynamic reconfigurable systems, this module will describe a general and complete design methodology that can be followed as a guideline for designing reconfigurable computing systems. To design and implement a reconfigurable computing system, designers need Computer-Aided Design (CAD) tools for system design and implementation, such as a design analysis tool for architecture design, a synthesis tool for hardware construction, a simulator for hardware behavior simulation, and a placement and routing tool for circuit layout. We may build these tools ourselves or we can also use commercial tools and platforms for reconfigurable system design. The first choice implies a considerable investment in terms of both time and effort to build a specific and optimized solution for the given problem, while the second one allows the re-use of knowledge, cores, and software to reach a good solution to the same problem more rapidly. This module is guiding the students through an historical view on how CAD frameworks evolved through the years. This is done to show how fast the technology is evolving and the rationale behind the choice made to improve the users experience when working with an FPGA-based system. Not only commercial tools are described, but also the personal journey done by the course instructor and his research team, starting from his early days as a PhD up to the research challenges they are nowadays working on.

...
9件のビデオ (合計54分), 7 readings, 3 quizzes
9件のビデオ
Partial Reconfiguration Design Flows4 分
Xilinx Difference Based Partial Reconfiguration5 分
Xilinx Module Based Partial Reconfiguration5 分
Xilinx Partial Reconfiguration (PR) Flow5 分
Moudle Based vs Partial Reconfiguration Design Flows17 分
Rationale behind DRESD and the work done by the Politecnico di Milano3 分
From DRESD to CHANGE and ASAP, two new research initiatives from the Politecnico di Milano4 分
CAOS: from embedded to heterogeneous distributed FPGA-based computing systems3 分
7件の学習用教材
Vivado Design Suite Tutorial, Partial Reconfiguration, UG947 (v2016.1) April 6, 2016 [suggested readings - handbook - PDF]1 時間 30 分
Vivado Design Suite User Guide, Partial Reconfiguration, UG909 (v2016.1) April 6, 2016 [suggested readings - handbook - PDF]3 時間
Dynamic Reconfigurability in Embedded System Design [suggested readings]30 分
A design methodology for dynamic reconfiguration: the Caronte architecture [suggested readings]30 分
Floorplanning Automation for Partial-Reconfigurable FPGAs via Feasible Placements Generation [suggested readings]45 分
Heterogeneous exascale supercomputing: The role of CAD in the exaFPGA project [suggested readings]30 分
The Role of CAD Frameworks in Heterogeneous FPGA-Based Cloud Systems [suggested readings]30 分
3の練習問題
Abstractions2 分
Politecnico di Milano Partial Reconfiguration Research Initiatives6 分
Design flows2 分
5時間で修了

Closing remarks and future directions

We are working at the edge of the research in the area of reconfigurable computing. FPGA technologies are not used only as standalone solutions/platforms but are now included into cloud infrastructures. They are now used both to accelerate infrastructure/backend computations and exposed as-a-Service that can be used by anyone. Within this context we are facing the definition of new research opportunities and technologies improvements and the time cannot be better under this perspective. What it is needed now is new platform creation tools, monitoring and profiling infrastructure, better runtime management systems, static and dynamic workload partitioning, just to name a few possible areas of research. This module is concluding this course but posing interesting questions towards possible future research directions that may also point the students to other Coursera courses on FPGAs.

...
1件のビデオ (合計5分), 3 readings, 1 quiz
1件のビデオ
3件の学習用教材
Virtualized Execution Runtime for FPGA Accelerators in the Cloud [suggested readings]1 時間 45 分
A cloud-scale acceleration architecture [suggested readings]2 時間
Enabling Flexible Network FPGA Clusters in a Heterogeneous Cloud Data Center [suggested readings]1 時間 30 分
1の練習問題
Closing remarks and future directions2 分
4.7
8件のレビューChevron Right

人気のレビュー

by DBMay 10th 2018

Good introduction to reconfigurable computing with FPGAs. Concepts are clearly explained, and examples are illustrative and easy to follow. Lots of papers and additional content to read.

by AEJan 3rd 2019

Perfect course for anyone interested in knowing more about FPGA internals and heterogeneous computing. Thanks for this clear and perfect course and for all the staff efforts.

講師

Avatar

Marco Domenico Santambrogio

Associate Professor
DEIB - Dept. of Electronics, Information and Bioengineering

ミラノ工科大学(Politecnico di Milano)について

Politecnico di Milano is a scientific-technological University, which trains engineers, architects and industrial designers. From 2014 Politecnico di Milano started the release of several MOOCs, developed by the service for digital learning METID (Methods and Innovative Technologies for Learning), giving everybody the chance to enhance personal skills....

よくある質問

  • 修了証に登録すると、すべてのビデオ、テスト、およびプログラミング課題(該当する場合)にアクセスできます。ピアレビュー課題は、セッションが開始してからのみ、提出およびレビューできます。購入せずにコースを検討することを選択する場合、特定の課題にアクセスすることはできません。

  • 修了証を購入する際、コースのすべての教材(採点課題を含む)にアクセスできます。コースを完了すると、電子修了証が成果のページに追加されます。そこから修了証を印刷したり、LinkedInのプロフィールに追加したりできます。コースの内容の閲覧のみを希望する場合は、無料でコースを聴講できます。

さらに質問がある場合は、受講者向けヘルプセンターにアクセスしてください。