06 / INTERACTIVE ENGINEERING LAB

先動手,
再理解公式。

四間可操作的電機實驗室。改變電阻與電容就能看波形,切換邏輯輸入、按時脈進行狀態轉移,或自行編輯測試向量做 Verilog 參考驗證。

RC 一階電路邏輯閘/加法器Moore 狀態機Verilog 測試向量免登入 · 離線可用
LAB 01 / PHYSICS II

RC 充電/放電模擬

理想一階串聯 RC,電容初始電壓設定為 0(充電)或 Vₛ(放電)。

對照電容與 RC 講義 ↗

電容兩端電壓 VC(t)

時間常數 τ = RC—
目前電容電壓—
目前電流(充電正向)—
自測:在 t=1τ 時,充電電壓約達終值百分之多少?
%

推導

τ=R·C。充電時 VC(t)=Vₛ(1−e−t/τ);放電時 VC(t)=Vₛe−t/τ。在 1τ 時充電約63.2%,放電剩約36.8%。

驗證重點

參數需換算 SI 單位:kΩ 乘 1000,µF 乘 10−6。改 R 或 C 會改變秒數,但以 τ 為單位的曲線形狀不變。

LAB 02 / LOGIC DESIGN

邏輯閘與加法器

改變 A、B、Cin,立刻觀察布林輸出與完整真值表。

對照布林代數講義 ↗

真值表 Truth Table

LIVE OUTPUT
∧
0AND / 0 · 0

先想,再看結果

AND 兩者都1才1;OR 任一1即1;XOR 輸入不同才1。半加器:S=A⊕B、C=A·B;全加器另外加入 Cin。

延伸練習

先完成單一 AND 的四組真值表,再改為半加器、全加器,確認 carry 與 sum 必須分開設計。練同科 318 題題庫 ↗

LAB 03 / SEQUENTIAL

Moore 交通號誌狀態機

時脈一步一步推進:RED → GREEN,收到行人請求才會 GREEN → YELLOW → RED。

對照有限狀態機講義 ↗

目前狀態:RED

STOP / RED
GO / GREEN
CAUTION / YELLOW
RED + CLK → GREEN
GREEN + req → YELLOW;否則保持
YELLOW + CLK → RED

事件與轉移紀錄

  1. t=0 · reset→RED
任務:先走到 GREEN,再送出 req=1 並按一次 Clock,觀察下一狀態。

為什麼是 Moore

輸出 STOP/GO/CAUTION 只由目前 state 決定;輸入 req 只影響下一次時脈的轉移,不會讓交通燈立即跳變。

避免的錯誤

不能把組合輸入變化直接當作時脈正緣。RESET 是刻意設計的非同步重設,在此參考模型中會立即回到 RED。

LAB 04 / HDL VERIFICATION

Verilog Testbench 設計器

編輯測試向量並檢查預期輸出;可下載 DUT + testbench,用 Icarus Verilog 在本機真正編譯。

對照 Testbench 講義 ↗
REFERENCE TRACE / ASSERTIONS

逐筆比對與波形資料

瀏覽器內只執行固定規格的 JavaScript 參考模型,不會編譯或執行任意 Verilog 程式。實際 HDL 編譯請下載檔案後在本機執行。

向量輸入期望實際斷言
按左側「執行參考驗證」
可下載的 Verilog DUT 與 Testbench 預覽
本機實際編譯指令

儲存為 `dut_tb.v` 後執行:

iverilog -g2012 -s tb -o sim dut_tb.v
vvp sim

如何驗收

把每個測試向量的 expected 與參考模型 actual 逐列比對。故障注入只修改瀏覽器參考模型的輸出,不會更改所下載的 Verilog 程式。

限制與安全

這不是完整 Verilog 編譯器。僅支援 2-input AND、Half Adder、DFF 的教學模型;不執行使用者貼上的程式碼,防止不受信任的程式佔用資源。