Altifigence Academy
數位設計免費 · 入門

數位邏輯電路

從數位訊號與 AND、OR、XOR 等邏輯閘出發,設計組合電路、鎖存器、正反器、計數器與狀態機。親自連結真值表、公式、電路與波形,再以 RTL 實作驗證。選修進階單元將延伸至資料路徑與介面。

組合與循序邏輯SystemVerilog波形判讀
我的學習

您將學到什麼

  • 區分邏輯值與電壓,說明八種邏輯閘的真值表、符號與等效電路。
  • 從規格出發,以 SOP、POS 與卡諾圖設計組合電路,並窮舉檢查。
  • 定義編碼器、解碼器、MUX、DEMUX、加法器與比較器的輸入條件和邊界值。
  • 說明鎖存器與正反器的差別,設計 reset、enable 與時脈的更新規則。
  • 以 RTL 實作計數器、移位暫存器與狀態機,分析時序、非同步輸入及去彈跳。
  • 透過獨立參考模型驗證設計,完成可偵測重疊 101 序列的偵測器。
  • 在選修進階單元中延伸至 ALU、記憶體、FIFO、管線與介面。

開始之前

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

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

課程大綱

  1. 數位訊號與數值表示
    • 數位訊號:將電壓判讀為 0 與 1 的條件概念

      區分邏輯值與電壓,計算輸入臨界值、雜訊容限與傳播延遲。

    • 數制與固定寬度表示概念

      除了進位制轉換,也計算表示範圍、所需位元數與截斷誤差。

  2. 邏輯閘與真值表
    • 基本邏輯閘:AND、OR、NOT、BUFFER概念

      連結電路符號與真值表,並用多個邏輯閘組成條件。

    • NAND、NOR 與反相符號的判讀概念

      區分反相的作用範圍,透過德摩根定律連結功能相同的符號與算式。

    • XOR、XNOR:相同、相異與同位檢查概念

      區分雙輸入 XOR 與多輸入同位運算,說明錯誤偵測的限制。

    • 通用邏輯閘:只用 NAND 組成電路概念

      透過構造證明 NAND、NOR 的功能完備性,並驗證 XOR 的中間訊號。

  3. 從邏輯式到電路設計
    • 布林代數、等價轉換與實作成本概念

      以德摩根定律和因式分解轉換電路,區分邏輯等價與時序特性。

    • 從真值表到邏輯式:最小項、最大項、SOP、POS概念

      分別由輸出為 1 與為 0 的列推導同一函數,並連結卡諾圖的表示法。

    • 卡諾圖與 don’t-care 的條件概念

      利用格雷碼的相鄰關係化簡邏輯式,並明確寫出未使用輸入的假設。

    • 設計實作:從規格到三輸入多數決電路實作

      把自然語言規格轉成完整真值表,連結化簡、實作與窮舉檢查。

  4. 位址與選擇電路
    • 解碼器、獨熱選擇與有效輸入概念

      將二進位位址轉成個別選擇線,設計 enable、範圍與選擇不變量。

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

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

    • DEMUX 與解碼器:把資料送往選定路徑概念

      比較 MUX、DEMUX 與解碼器的方向和角色,驗證獨熱與獨熱或全零條件。

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

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

    • 從真值表到 MUX 與夏農展開概念

      推導選擇邏輯的公式,並以 MUX 分解任意邏輯函數。

  5. 算術電路與比較
    • 加法器與進位傳遞結構概念

      推導全加器公式,同時分析漣波進位的功能、寬度與延遲。

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

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

    • 比較器與邊界值規格概念

      區分同一位元序列的 unsigned 與 signed 比較,驗證邊界條件。

  6. 鎖存器、正反器與狀態儲存
    • 記憶的起點:回授與 SR、D 鎖存器概念

      理解交叉耦合的兩個穩定狀態,說明 SR 禁止輸入與 D 鎖存器的透明區間。

    • D 正反器:從準位到邊緣概念

      比較鎖存器與正反器的更新時點,連結暫存器、setup、hold 的意義。

    • 正反器、enable 與控制優先權概念

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

    • 同步狀態轉移與時脈的角色概念

      把同步系統解讀為讀取同一份前次狀態的暫存器集合。

  7. MUX 的 RTL 實作與驗證
    • 組合選擇與暫存輸出的延遲概念

      分析 MUX 結果存入暫存器後,介面與延遲如何改變。

    • 組合 RTL 與完整指定概念

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

    • 實作:MUX 窮舉檢查與暫存輸出分析實作

      將相同輸入套用到組合路徑與暫存器路徑,以真值表與取樣時點驗證結果。

    • 波形的取樣時點與因果關係概念

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

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

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

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

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

  8. 計數器與同步狀態更新
    • 狀態數、計數器寬度與未使用代碼概念

      從計數範圍求儲存位元數,定義錯誤狀態的復原策略。

    • 計數器的下一狀態與重設優先權概念

      將遞增、保持、重設與回捲整合成一份規格,逐邊緣計算結果。

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

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

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

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

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

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

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

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

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

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

  9. 移位暫存器與資料流
    • 向量索引、位元順序與符號概念

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

    • 序列輸入與資料框邊界概念

      定義輸入順序與有效邊緣,計算串列轉並列的位元配置。

    • 移位暫存器的狀態方程式概念

      將位元移動表示為向量狀態轉移,連結儲存深度與輸出延遲。

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

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

    • 實作:序列資料移動與位元順序驗證實作

      同時使用位元序列與整數參考模型,驗證方向、遺失位元與重設後延遲。

    • 區分週期延遲與吞吐量概念

      定義 N 階延遲線的觀察基準,量化計算 latency 與 throughput。

    • 移位電路驗證與資料、valid 對齊概念

      找出被對稱樣式掩蓋的錯誤,以及有效訊號差一週期的錯位。

    • 設計確認:延遲、對齊與輸入保留理解測驗

      不只檢查移位方向,也確認有效資料移動次數與觀察基準。

  10. 時序、實際輸入與狀態機
    • Setup、hold 與時序預算概念

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

    • 邏輯冒險與等價式的限制概念

      分析穩態相同的兩個電路,如何因傳播延遲產生不同的瞬時波形。

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

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

    • 實際按鈕輸入:同步、去彈跳與單次事件概念

      區分非同步輸入同步化與接點去彈跳,設計連續取樣型去彈跳器。

    • 狀態機:分開狀態、轉移與輸出概念

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

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

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

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

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

  11. 選修進階 · 算術資料路徑
    • ALU 與 zero、negative、carry、overflow 旗標概念

      以共用加法器實作 ADD/SUB,區分 carry 與 signed overflow,推導比較條件。

    • 桶式移位器與分級 MUX概念

      以 1、2、4、8 位 MUX 級實作可變移位,處理方向共用、符號填補與超範圍移位。

    • 定點數、捨入與飽和概念

      以 W,F 格式定義數值範圍,設計 guard、sticky 的捨入至偶數,以及捨入後飽和。

    • 多週期 unsigned 移位加法乘法器概念

      將部分積累加分成 W 週期,驗證接受與完成時點、最後累加、寬度及不變量。

  12. 選修進階 · 記憶體與 FIFO
    • 同步記憶體與讀寫碰撞契約概念

      區分暫存讀取的回應時點及 read-first、write-first、no-change,設計 valid 與位址初始化各自的責任。

    • 雙讀單寫暫存器檔案與旁路概念

      實作獨立雙讀埠與同步寫入,核對各位址碰撞的旁路、初始化及 valid 政策。

    • 單一時脈 FIFO 的指標與邊界政策概念

      實作深度 4 FIFO 的指標與 occupancy,明確定義 empty、full 下同時 push/pop 的接受條件。

    • FIFO、記憶體驗證計畫與獨立 scoreboard概念

      編寫不依賴實作指標的 queue scoreboard,將邊界、reset、valid 與未初始化讀取納入驗證計畫。

  13. 選修進階 · 管線與介面
    • Ready/valid 與單格彈性緩衝區概念

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

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

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

    • 可暫停管線與背壓概念

      計算各級 ready,在暫停與同時移動時避免資料遺失、重複或重新計算。

    • 暫存器介面與副作用的發生時點概念

      指定地址、位元組寫入與回應暫停,讓每個請求恰好導致一次狀態變更。

    • 綜合實作:UART 傳送器與資料框時序概念

      結合分頻計數器、移位暫存器與流量控制建立 8N1 資料框,驗證位元邊界。

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