Altifigence Academy
數位設計免費 · 基礎

RTL 設計基礎

用 SystemVerilog 表達數位邏輯電路。學習型別、位元寬度、符號、組合與循序邏輯、模組、參數及 generate,再用獨立測試平台驗證邊界和失敗情況。最後連線週期脈衝與累加器,完成可重現的執行記錄。

SystemVerilog模組設計測試平台
我的學習

您將學到什麼

  • 明確定義每個訊號的位元寬度、符號、驅動來源、有效時刻和重置值。
  • 分別編寫完整的組合賦值與時脈狀態更新。
  • 用參數和 generate 構建靜態結構並驗證邊界配置。
  • 用具名埠連線和函式組合模組。
  • 編寫無競爭的刺激和獨立參考模型。
  • 區分編譯、模擬、合成與 DDS 執行的證據。

開始之前

瀏覽器練習使用教學模型,不會編譯或執行 HDL。如需另外執行提供的原始碼,請依照適用於您作業系統的 Digital Design Studio 指南,並在操作要求時登入。

安裝與首次啟動 ↗ · 下載 ↗

課程大綱

  1. RTL 與模組契約
    • RTL:描述併發工作的電路概念

      區分軟體執行順序與硬體並行結構,明確當前狀態、下一狀態和觀察時刻。

    • 訊號與連接埠:寬度、方向與時間的契約概念

      閱讀介面,分開定義組合輸出與狀態輸出的驗證基準。

    • 模組、埠與例項:把連線當作契約概念

      用具名連線組合模組,檢查單一驅動來源與層次邊界。

    • 理解檢查:組合輸出與儲存輸出理解測驗

      區分輸入變化時刻與暫存器觀察時刻。

  2. 型別、位元寬度、符號與運算式
    • logic、wire、X/Z 與明確的位元寬度概念

      區分型別宣告與儲存器件,檢查常量、比較、擴展和未知值。

    • 向量索引、位元順序與符號概念

      分開位元編號、序列傳輸順序與算術解讀,閱讀資料路徑。

    • 切片、串接與重複運算的寬度概念

      計算串接訊號的總寬度與保值條件,建立資料路徑。

    • 二補數、符號擴展與溢位概念

      透過公式與反例,區分位元序列的 signed 解讀與加法溢位條件。

    • 理解檢查:範圍與顯式擴展理解測驗

      同時檢查加法器輸入和輸出位元寬度。

  3. 完整的組合 RTL 與驗證
    • 組合 RTL 與完整指定概念

      用條件運算子與 always_comb 表達同一函數,找出會產生鎖存器的遺漏。

    • 編碼器與優先權:從多個請求選一個概念

      區分獨熱編碼器的輸入假設,以及優先權編碼器的 valid 和選擇結果。

    • MUX 驗證:窮舉檢查與性質概念

      分別檢查組合輸入覆蓋與儲存行為,並縮小反例。

    • 設計確認:選擇電路的等價性與觀察時點理解測驗

      區分只需真值表的驗證,以及必須觀察時脈的驗證。

  4. 狀態、賦值與重置優先順序
    • 正反器、enable 與控制優先權概念

      以下一狀態式定義保持、載入與重設,避免非預期的時脈閘控。

    • Nonblocking 指定與同步狀態更新概念

      分開舊值與下一值,正確解讀管線與計數器 RTL。

    • 模數、飽和計數器與結束脈衝概念

      設計最大值處理策略與 terminal-count 訊號的確切週期。

    • 實作:驗證計數器的重設、回捲與不變量實作

      逐上升緣將狀態與參考模型比較,分開初值、重設與位元寬度的影響。

    • 設計確認:寬度、優先權與回捲邊界理解測驗

      依給定狀態轉移規格判斷邊界值與同時控制輸入。

  5. 參數與靜態結構生成
    • parameter、localparam、$clog2 與邊界配置概念

      區分執行時輸入和靜態配置,設計 N=1 與非二次冪計數器的位元寬度和終止行為。

    • generate:用迴圈構建靜態電路概念

      用 genvar 與 generate-if 生成具名結構,檢查匯流排 lane 佈局。

    • function automatic 與運算式重用概念

      編寫不消耗時間的函式,檢查回傳值位元寬度、符號與參考模型獨立性。

    • 理解檢查:N=1 與位元寬度理解測驗

      區分最小儲存位元寬度與實際有效狀態數。

  6. 測試平台與獨立驗證
    • 波形的取樣時點與因果關係概念

      分開組合穩定、時脈擷取與事件順序來閱讀波形。

    • 實驗:會自行報告失敗的測試平台實作

      分開 DUT、刺激、參考模型和判定,在無競爭的觀察時刻檢查 reset、enable 與迴繞。

    • 驗證計畫、覆蓋率與獨立參考模型概念

      區分測試通過與符合規格,將邊界、交叉條件及最小反例納入驗證計畫。

    • 計數器除錯與最小反例概念

      設計短測試,區分重設、enable 與回捲邊界錯誤。

    • 理解檢查:參考模型與競爭理解測驗

      選擇獨立期望值及時脈邊緣更新後的檢查時間。

  7. 模組連接與整合實作
    • 狀態機:分開狀態、轉移與輸出概念

      由規格表建立 FSM,比較 Moore、Mealy 輸出、非法狀態與請求政策。

    • 綜合設計:重疊 101 樣式偵測器概念

      在同一設計中運用狀態最小化、輸入有效性、暫存輸出與獨立參考驗證。

    • Ready/valid 與單格彈性緩衝區概念

      在可暫停資料路徑中設計無遺失、無重複的傳遞條件與同時輸入輸出。

    • 乘加管線與資料對齊概念

      以暫存器邊界切分運算,讓資料、valid 與輔助運算元屬於同一交易。

    • 整合實作:連接週期脈衝與致能累加器實作

      明確用舊值實現模組間傳遞,比較停頓、連續脈衝和同時重置。

  8. 工具診斷與結果範圍
    • Setup、hold 與時序預算概念

      分開最大與最小路徑延遲,計算獨立於時脈頻率的 hold 條件。

    • 時脈域邊界與亞穩態概念

      理解兩級同步器的適用範圍,區分單位元、短脈衝與多位元傳輸。

    • 編譯、lint 與合成:診斷能證明什麼概念

      固定原始碼清單、top 和語言模式,區分語法、位元寬度、鎖存器診斷與功能驗證。

    • 執行記錄與 DDS 實踐銜接概念

      整理原始碼、輸入、期望、失敗條件和工具版本,提交可重現實驗。

    • 最終檢查:功能驗證通過與執行證據理解測驗

      區分本地工具結果和 DDS 免費實踐驗收。

此選擇適用於本瀏覽器,隨時可從頁尾變更。