16 / 36 · 概念
正反器與時脈致能
定義重設、致能及保持的優先順序。
單元可免費閱讀,註冊課程即可儲存學習進度。
學習目標
- 定義重設、致能及保持的優先順序。
保持也是一種行為
正反器在時脈邊緣儲存。只有 en=1 才執行 q<=d,en=0 就保持 q,這不同於使用任意組合邏輯切割時脈。先寫 if(rst) 可讓 rst 與 en 同為 1 時仍由重設優先。
always_ff @(posedge clk) begin
if (rst) q <= 1'b0;
else if (en) q <= d;
end區分循序保持與組合漏寫
同步重設在沒有邊緣時不會單靠 rst 改變 q。always_ff 的條件式不賦值可表示刻意保持;always_comb 則應每條路徑賦值以避免鎖存器。分別測試 rst/en=1/1、0/0、0/1,以區分重設、保持及擷取。
自己試試看
q=1、d=0、rst=0、en=0,下個上升緣後 q 為何?
查看解說
en=0,因此保持原本的 q=1。
✓ 已學習