23 / 36 · 概念
診斷重設與計數錯誤
依序檢查初值、重設與第一個邊緣。
單元可免費閱讀,註冊課程即可儲存學習進度。
學習目標
- 依序檢查初值、重設與第一個邊緣。
第一個邊緣是基準
本實作從 11 開始,第一上升緣重設,之後預期 00,01,10,11,00。誤以為從 00 開始會錯算邊緣。執行設定在第一週期施加重設,加入 JSON 前先確認,避免兩處同時控制同一訊號。
| 現象 | 首先檢查 |
|---|---|
| 始終為 00 | 重設仍有效? |
| 序列起點晚一個值 | 初始狀態與首次重設邊緣 |
| 01 與 10 對調 | 數值與顯示的位元順序 |
| 停在 11 | RTL 包含保持條件? |
一次只改一個條件
初始值與重設持續時間分開測試,將原始碼、設定及預期值保存在一起。發現差異時先追到第一個不一致,以該邊緣的 count 與 rst 重算下一值。
自己試試看
每個上升緣後都為 00,要先改加法嗎?
查看解說
先看 rst 是否持續為高,以及是否真的有時脈邊緣;重設有效時正確程式也會一直存 00。
✓ 已學習