Study Guides學習指南学習ガイド
Each guide is a standalone page with the lecture content, cleaned-up code, timing diagrams and exercises whose solutions expand in place. Every lecture also has a full explanation — a long-form English walk-through of 10,000+ words that derives each rule, traces the simulator and synthesiser behaviour behind it, and shows what breaks when it is ignored.每一份指南都是獨立的頁面,收錄該講的內容、整理過的程式碼、時序圖,以及可就地展開解答的練習題。每一講另附完整解說——一篇一萬字以上的英文長文,逐條推導規則、追溯背後模擬器與合成器的行為,並說明忽略它時會壞在哪裡。各ガイドは独立した 1 ページで、講義内容、整理したコード、タイミング図、その場で解答が開く練習問題を収める。各講義には詳細解説もある。1 万語を超える英語の長文で、各ルールを導出し、その背後にあるシミュレータと合成ツールの挙動を追い、無視した場合に何が壊れるかを示す。
-
Lecture 1第 1 講第1回
Introduction緒論序論數位 IC 設計流程與 Verilog 入門IntroductionIntroduction
The digital IC design flow and cell-based front end, levels of abstraction and design domains, why HDLs and Verilog vs VHDL, modules, nets and registers, four-value logic and number literals, behavioral / RTL / structural styles, a half adder and 2-bit comparator, module instantiation, a 16-bit ripple-carry adder, arrays of instances and D flip-flops. Seven practice problems.數位 IC 設計流程與 cell-based 前段設計、抽象層次與設計領域、為什麼需要 HDL 以及 Verilog 與 VHDL 的取捨、module、net 與 register、四值邏輯與數值常數寫法、行為/RTL/結構三種描述風格、半加器與 2 位元比較器、模組實例化、16 位元漣波進位加法器、實例陣列與 D 型正反器。七道練習題。デジタル IC 設計フローとセルベース・フロントエンド、抽象レベルと設計ドメイン、HDL が必要な理由と Verilog と VHDL の比較、module・net・register、4 値論理と数値リテラル、ビヘイビア/RTL/ストラクチャルの 3 つの記述スタイル、半加算器と 2 ビット比較器、モジュールのインスタンス化、16 ビット・リップルキャリー加算器、インスタンス配列と D フリップフロップ。練習問題 7 問。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 2第 2 講第2回
Simulation & Testbench模擬與測試平台シミュレーションとテストベンチ模擬與測試平台Simulation & TestbenchSimulation & Testbench
Event-driven simulation with and without gate delay, inertial delay, testbench structure and system tasks with a NAND-latch example, the four-value logic system, nets, registers, memories, parameters with direct and indirect substitution, every operator class and precedence, and hierarchical de-referencing. Seven practice problems and three timing diagrams.有無閘延遲的事件驅動模擬、慣性延遲、以 NAND 閂鎖為例的測試平台架構與系統任務、四值邏輯系統、net、register、memory、參數的直接與間接覆寫、各類運算子與優先順序,以及階層式引用。七道練習題與三張時序圖。ゲート遅延の有無による事象駆動シミュレーション、慣性遅延、NAND ラッチを例としたテストベンチ構成とシステムタスク、4 値論理系、net・register・memory、パラメータの直接代入と間接代入、全演算子クラスと優先順位、階層参照。練習問題 7 問とタイミング図 3 枚。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 3第 3 講第3回
Syntax of Verilog ModelVerilog 模型語法Verilog モデルの構文Verilog 模型語法 — UDP、傳播延遲、系統任務Syntax of Verilog ModelSyntax of Verilog Model
User-defined primitives (combinational and sequential tables), gate / net / module-path delay, the delay mapping table, `timescale, specify blocks and PATHPULSE$, BNF syntax, system tasks, $readmemh / $readmemb and compiler directives. Six practice problems and three timing diagrams.使用者自定義基本元件(組合與序向真值表)、gate/net/module-path 三種延遲、延遲對應表、`timescale、specify 區塊與 PATHPULSE$、BNF 語法、系統任務、$readmemh/$readmemb 與編譯器指令。六道練習題與三張時序圖。ユーザ定義プリミティブ(組合せ表と順序表)、gate/net/module-path の各遅延、遅延マッピング表、`timescale、specify ブロックと PATHPULSE$、BNF 構文、システムタスク、$readmemh/$readmemb とコンパイラ指令。練習問題 6 問とタイミング図 3 枚。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 4 · Part 1第 4 講 · 上第4回 · 前編
Behavioral Descriptions行為描述ビヘイビア記述行為描述Behavioral DescriptionsBehavioral Descriptions
initial and always, blocking vs non-blocking assignment, procedural continuous assignment, timing controls (#, @, wait, named events), intra-assignment delay, simulation scheduling, case/casex/casez and loops, a 4-bit carry look-ahead adder, and fork/join race conditions. Seven practice problems and three timing diagrams.initial 與 always、阻斷式與非阻斷式指派、程序式連續指派、時序控制(#、@、wait、具名事件)、指派內延遲、模擬排程、case/casex/casez 與各種迴圈、4 位元超前進位加法器,以及 fork/join 的競爭條件。七道練習題與三張時序圖。initial と always、ブロッキング代入とノンブロッキング代入、手続き的連続代入、タイミング制御(#、@、wait、名前付きイベント)、代入内遅延、シミュレーションのスケジューリング、case/casex/casez と各種ループ、4 ビット桁上げ先見加算器、fork/join の競合。練習問題 7 問とタイミング図 3 枚。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 4 · Part 2第 4 講 · 下第4回 · 後編
Synthesis of Combinational Logic組合邏輯合成組合せ論理の合成組合邏輯合成Synthesis of Combinational LogicSynthesis of Combinational Logic
Synthesizable and un-synthesizable constructs, multi-level logic minimization, primitive / UDP / assign / always / function / task descriptions, mux coding styles, unwanted latches and combinational loops, priority encoders and decoders, tri-state and bidirectional buses, and resource sharing. Seven practice problems.可合成與不可合成的語法結構、多層邏輯最小化、primitive/UDP/assign/always/function/task 六種描述方式、多工器的寫法、非預期閂鎖與組合迴路、優先編碼器與解碼器、三態與雙向匯流排,以及資源共享。七道練習題。合成可能な構文と合成できない構文、多段論理の最小化、primitive/UDP/assign/always/function/task による記述、マルチプレクサの記述スタイル、意図しないラッチと組合せループ、プライオリティエンコーダとデコーダ、トライステート/双方向バス、リソース共有。練習問題 7 問。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 5第 5 講第5回
Synthesis of Sequential Logic序向邏輯合成順序論理の合成序向邏輯合成Synthesis of Sequential LogicSynthesis of Sequential Logic
Flip-flop inference, synchronous vs asynchronous reset, registered combinational logic, shift registers, barrel shifter, parallel-load register, ripple and ring counters, a pipelined 16-bit adder, Mealy and Moore sequence detectors and state encoding. Seven practice problems and four timing / state diagrams.正反器推論、同步與非同步重置、加上暫存器的組合邏輯、移位暫存器、桶式移位器、並列載入暫存器、漣波與環形計數器、管線化的 16 位元加法器、Mealy 與 Moore 序列偵測器以及狀態編碼。七道練習題與四張時序/狀態圖。フリップフロップの推論、同期リセットと非同期リセット、レジスタ付き組合せ論理、シフトレジスタ、バレルシフタ、並列ロードレジスタ、リップルカウンタとリングカウンタ、パイプライン化した 16 ビット加算器、Mealy 型と Moore 型の系列検出器、状態符号化。練習問題 7 問とタイミング/状態図 4 枚。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 6第 6 講第6回
Synthesis of Language Constructs語言結構合成言語構文の合成語言結構合成Synthesis of Language ConstructsSynthesis of Language Constructs
How nets, registers and x / z synthesize; arithmetic, shift, relational, reduction, conditional and grouped operators; blocking vs non-blocking pipelines; delay and event controls and resets; the four loop types with counting-ones examples; tasks, functions, specify blocks and compiler directives. Seven practice problems.net、register 與 x/z 如何被合成;算術、移位、關係、縮減、條件與群組運算子;阻斷式與非阻斷式管線;延遲與事件控制以及重置;四種迴圈型態與計算 1 的個數的範例;task、function、specify 區塊與編譯器指令。七道練習題。net・register・x/z がどのように合成されるか、算術/シフト/関係/リダクション/条件/グループ化の各演算子、ブロッキングとノンブロッキングのパイプライン、遅延制御・事象制御とリセット、4 種類のループ型と 1 の個数を数える例、task・function・specify ブロックとコンパイラ指令。練習問題 7 問。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 → -
Lecture 7第 7 講第7回
Design Examples設計範例設計例設計範例Design ExamplesDesign Examples
A synthesizable FIFO and a two-channel temperature monitor system (data register, shift-add Celsius-to-Fahrenheit converter, 4-sample averaging filter, FIFO controller), then the AMD2901 4-bit bit-slice microcontroller: instruction fields, `define mnemonics, register file, operand selector, ALU, Q register and output selector. Seven practice problems.可合成的 FIFO 與雙通道溫度監測系統(資料暫存器、以移位相加實作的攝氏轉華氏換算器、四點平均濾波器、FIFO 控制器),接著是 AMD2901 4 位元位元切片微控制器:指令欄位、`define 助憶符號、暫存器檔、運算元選擇器、ALU、Q 暫存器與輸出選擇器。七道練習題。合成可能な FIFO と 2 チャネル温度監視システム(データレジスタ、シフト加算による摂氏から華氏への変換器、4 サンプル平均フィルタ、FIFO コントローラ)、続いて AMD2901 4 ビット・ビットスライス・マイクロコントローラ:命令フィールド、`define ニーモニック、レジスタファイル、オペランドセレクタ、ALU、Q レジスタ、出力セレクタ。練習問題 7 問。
Full explanation · 10,000+ words →完整解說 · 一萬字以上 →詳細解説 · 1 万語以上 →
Assignments作業專題課題
Exercise projects from the course, each written up as a single page: the problem statement unpacked, the formulas derived and checked numerically, and the submission rules spelled out.課程的習作專題,每一個都整理成單一頁面:拆解題目敘述、推導公式並以數值驗算,並把繳交規定逐條寫清楚。本講義の演習プロジェクトを 1 件ずつ 1 ページにまとめる。問題文を読み解き、式を導出して数値で検算し、提出規定を逐一明示する。
-
Exercise Project 1習作專題 1演習プロジェクト 1
EP1 · REFRACT光線折射整理 — 題目解析與作業規範Ray Refraction · Problem and RulesRay Refraction · Problem and Rules
A ray crossing a curved glass surface: the surface equation, the block diagram and I/O, the input/output timing, Snell's law and the refraction formula derived for the curve, a worked numerical check of how RI changes the exit ray, why the projection shows only two refracted lines, and the SRAM content format and error tolerance. Part two covers the assignment itself — process setup, simulation commands, timing requirements, filling in the Excel sheet, keeping Period consistent across both files, and what to submit.一道光線穿過彎曲的玻璃面:曲面方程式、方塊圖與輸出入埠、輸出入時序、Snell 定律以及針對該曲面推導出的折射公式、RI 改變時出射光線如何變化的數值驗算、為什麼投影面上只看得到兩條折射線,以及 SRAM 內容格式與誤差容忍度。第二部分講作業本身——製程環境設定、模擬指令、時序要求、填寫 Excel 表格、讓兩個檔案的 Period 保持一致,以及要繳交哪些東西。曲面のガラスを通過する光線を扱う。曲面の方程式、ブロック図と入出力、入出力タイミング、スネルの法則とこの曲面について導いた屈折公式、RI を変えたとき出射光線がどう変わるかの数値検証、投影面に屈折線が 2 本しか現れない理由、SRAM の内容フォーマットと許容誤差。後半は課題そのもの——プロセス環境の設定、シミュレーション実行コマンド、タイミング要件、Excel シートの記入、2 つのファイルで Period を一致させること、提出物の一覧。
-
Exercise Project 1 · Procedure習作專題 1 · 流程演習プロジェクト 1 · 手順
EP1 · Design Compiler Synthesis SOPEP1 · Design Compiler 合成標準流程EP1 · Design Compiler 合成 SOPREFRACT.v 合成標準流程 — RTL 到閘級網表(ADFP N16)REFRACT.v Synthesis SOP · ADFP N16REFRACT.v Synthesis SOP · ADFP N16
The whole run written down in order, so it can be repeated: what synthesis actually produces, sourcing the licence with snsd, writing .synopsys_dc.setup, the two broken lines in dc_syn.tcl and the corrected file, REFRACT.sdc read line by line, running DC in batch and in the GUI, reading the timing / area / power / QoR reports, the three output files, SDF back-annotated gate-level simulation against the RTL baseline, compile strategies from least to most aggressive when timing will not close, a troubleshooting list and a command cheat sheet.整個流程依序寫下來,好讓它能被重現:合成到底產出什麼、用 snsd 載入授權、撰寫 .synopsys_dc.setup、dc_syn.tcl 裡壞掉的那兩行與修正後的檔案、逐行解讀 REFRACT.sdc、以批次與 GUI 兩種方式執行 DC、判讀 timing/area/power/QoR 報告、三個輸出檔案、以 SDF 反標註的閘級模擬對照 RTL 基準、時序收不了時由保守到積極的各種 compile 策略,以及疑難排解清單與指令速查表。再現できるように、実行手順を順番に書き下す。合成が実際に何を生成するか、snsd によるライセンスの読み込み、.synopsys_dc.setup の作成、dc_syn.tcl の壊れた 2 行と修正版ファイル、REFRACT.sdc の 1 行ずつの読解、バッチと GUI での DC 実行、timing/area/power/QoR レポートの読み方、3 つの出力ファイル、SDF をバックアノテートしたゲートレベル・シミュレーションと RTL 基準との比較、タイミングが収束しないときの保守的なものから積極的なものまでの compile 戦略、トラブルシューティング一覧とコマンド早見表。
-
Exercise Project 1 · Results習作專題 1 · 成果演習プロジェクト 1 · 結果
EP1 · REFRACT Results SummaryEP1 · REFRACT 成果摘要EP1 · REFRACT 結果まとめREFRACT 成果摘要 — 合成、時序、功耗與閘級模擬(中/英)REFRACT Results · Synthesis, Timing, PowerREFRACT Results · Synthesis, Timing, Power
Everything of consequence pulled out of the finished run on ADFP N16: 18,884.33 µm² of cell area, a 5.00 ns clock closing with +1.71 ns setup slack, the critical path traced cell by cell through the DesignWare multiplier cascade, the one hold violation that still blocks sign-off, why 93% of the 20.51 mW is leakage, the Xcelium gate-level run matching all 256 golden points, the datapath number formats read off the waveform, and the ready-to-copy row for Summary_Table_for_EP1.xlsx.把 ADFP N16 上跑完的結果中有意義的部分全部整理出來:18,884.33 µm² 的元件面積、5.00 ns 時脈以 +1.71 ns 的 setup slack 收斂、沿著 DesignWare 乘法器串接逐個元件追出來的關鍵路徑、唯一一筆仍擋住 sign-off 的 hold 違規、20.51 mW 當中為什麼有 93% 是漏電、Xcelium 閘級模擬與全部 256 個黃金點完全吻合、從波形讀出來的資料路徑數值格式,以及可以直接貼進 Summary_Table_for_EP1.xlsx 的那一列。ADFP N16 で完走した結果から重要な点をすべて取り出す。セル面積 18,884.33 µm²、5.00 ns クロックをセットアップスラック +1.71 ns で収束、DesignWare 乗算器の縦続接続をセル単位でたどったクリティカルパス、サインオフを妨げている唯一のホールド違反、20.51 mW のうち 93% がリークである理由、256 個のゴールデン点すべてと一致した Xcelium ゲートレベル検証、波形から読み取ったデータパスの数値形式、そして Summary_Table_for_EP1.xlsx にそのまま貼れる行。
-
Exercise Project 1 · Explainer習作專題 1 · 解說演習プロジェクト 1 · 解説
EP1 · Bit-by-Bit Division and Square RootEP1 · 逐位元除法與開根號EP1 · ビット逐次の除算と平方根逐位元除法與開根號 — div_seq 與 sqrt_seq(中/英)Bit-by-Bit Division and Square Root · div_seq, sqrt_seqBit-by-Bit Division and Square Root · div_seq, sqrt_seq
The two sequential units inside REFRACT, explained from primary-school long division up, for high-school readers: how div_seq brings down one bit per clock and why the initial remainder lets 88 bits finish in 36 steps, how WN / WD / WQ are fixed in advance from Q-format fraction bits and a worst-case bound, why sqrt_seq takes bits in pairs and tries 4q + 1, worked tables for 13 ÷ 3 and √45, and an interactive model that steps through any input clock by clock.REFRACT 裡的兩個循序運算單元,從國小的直式除法講起,高中生也看得懂:div_seq 如何每個時脈拉下一位、為什麼「初始餘數」讓 88 位元只要 36 步、WN/WD/WQ 如何由 Q 格式的小數位數與最壞情況事先決定、sqrt_seq 為什麼兩位一組並試減 4q + 1、13 ÷ 3 與 √45 的逐步表,以及可以輸入任意數字、逐個時脈觀察的互動模擬。REFRACT 内の 2 つの逐次演算ユニットを、小学校の筆算から高校生向けに解説する。div_seq が 1 クロックごとに 1 ビットを下ろす仕組みと、初期剰余によって 88 ビットが 36 ステップで済む理由、Q 形式の小数ビット数と最悪ケースから WN/WD/WQ を事前に決める方法、sqrt_seq が 2 ビットずつ扱い 4q + 1 を試し引きする理由、13 ÷ 3 と √45 の計算表、そして任意の入力をクロックごとに追えるインタラクティブモデル(本文は中国語/英語)。
-
Exercise Project 2習作專題 2演習プロジェクト 2
EP2 · CONV圖像卷積電路 — 題目規格與作業規範Image Convolutional Circuit · Spec and RulesImage Convolutional Circuit · Spec and Rules
The EP2 announcement and the full 2019 IC Design Contest CONV specification on one page, with every figure from the original PDFs: the three-layer flow (zero-padding, 3×3 convolution with two kernels, ReLU, 2×2 max-pooling, flatten), the block diagram and I/O table, the csel memory-select encoding, the 4.16 fixed-point format and rounding rule, kernel and bias values in decimal and hex, the busy/ready handshake and memory read/write timing, the L0/L1/L2 memory maps, the area-based grading tiers, and the ADFP N16 simulation commands and submission list.把 EP2 公告與 2019 IC 設計競賽 CONV 題目規格完整整理在同一頁,並收錄原始 PDF 的所有圖:三層運算流程(zero-padding、兩個 3×3 kernel 的卷積、ReLU、2×2 max-pooling、flatten)、系統方塊圖與輸出入訊號表、csel 記憶體選擇編碼、4 位整數 + 16 位小數的定點格式與四捨五入規則、kernel 與 bias 的十進制及十六進制數值、busy/ready 交握與記憶體讀寫時序、L0/L1/L2 記憶體對應方式、依面積評分的等級,以及 ADFP N16 的模擬指令與繳交清單。EP2 の告知と 2019 IC 設計コンテスト CONV 課題の仕様を 1 ページにまとめ、元の PDF の図をすべて収録する。3 層の処理フロー(ゼロパディング、2 つの 3×3 カーネルによる畳み込み、ReLU、2×2 最大プーリング、フラット化)、ブロック図と入出力表、csel によるメモリ選択の符号化、整数 4 ビット + 小数 16 ビットの固定小数点形式と丸め規則、カーネルとバイアスの 10 進・16 進値、busy/ready ハンドシェイクとメモリ読み書きのタイミング、L0/L1/L2 のメモリ対応、面積による採点ランク、ADFP N16 のシミュレーションコマンドと提出物一覧。
Course Recordings課程錄影講義録画
Video recordings of the class sessions, as announced to the course mailing list. Each link opens on YouTube in a new tab.課堂錄影連結,依課程通知信公告的順序整理。每個連結都會在新分頁開啟 YouTube。授業の録画へのリンク。講義のお知らせメールで案内された順にまとめる。各リンクは新しいタブで YouTube を開く。
-
Recording · 29 Oct 2026錄影 · 2026 年 10 月 29 日録画 · 2026 年 10 月 29 日
3rd Course · Oct 29第三次課程 · 10 月 29 日第 3 回授業 · 10 月 29 日youtu.be/sifsU133wgM
-
Recording · 5 Nov 2026錄影 · 2026 年 11 月 5 日録画 · 2026 年 11 月 5 日
3rd Course · Nov 5第三次課程 · 11 月 5 日第 3 回授業 · 11 月 5 日youtu.be/vRizXqo_JLc
Lab Setup實驗環境設定実習環境の設定
Short how-to pages for getting the course tools running on your own machine.把課程工具在自己電腦上跑起來的簡短操作說明。講義で使うツールを自分のマシンで動かすための短い手順書。