(1) カスタムコンピューティング導入: コンピュータアーキテクチャの基礎、性能評価指標、アムダールの法則、グスタフソンの法則、ルーフラインモデル、スケーリング
(2) 並列アーキテクチャ: SIMD、マルチコア、GPU
(3) ディジタル回路設計: 組み合わせ回路、順序回路、有限状態機械、メモリ回路
(4) FPGAの原理と構成: FPGAアーキテクチャ、論理合成、配置配線
(5) ハードウェア記述言語と高位合成ツール: Verilog HDL、Vitis HLS
(6) ハードウェアアルゴリズムとシストリックアレイ: ソーティング、行列積、Google TPU
(7) ドメイン特化アーキテクチャ: DNNの基礎、DNNアクセラレータ
(8) ドメイン特化アーキテクチャのメモリシステム: スクラッチパッドメモリ、データ転送、データ再利用
(9) ハードウェアとアルゴリズムの協調設計: ハードウェア指向機械学習アルゴリズム
(10-13) FPGAを用いたアクセラレータ開発
(1) Introduction of Custom Computing: Computer architecture basics, Performance evaluation metrics, Amdahl's law, Gustafson's law, Roofline model, Scaling
(2) Parallel Architecture: SIMD, Multithread, GPU
(3) Digital Circuit Design: Combinational circuit, Sequential circuit, Finite state machine, Memory circuit
(4) FPGA Fundamentals: FPGA Architecture, Logic synthesis, Place and route
(5) Hardware Description Language and High-Level Synthesis Tool: Verilog HDL, Vitis HLS
(6) Hardware Algorithm and Systolic Array: Sorting, Matrix multiplication, Google TPU
(7) Domain-Specific Architecture: DNN basics, DNN accelerator
(8) Memory System for Domain-Specific Architecture: Scratchpad memory, Data transfer, Data reuse
(9) Hardware/Algorithm Co-design: Hardware-oriented machine learning algorithm
(10-13) FPGA-based Accelerator Development