前言
在數位電路設計中,信號毛刺(Glitch)是一個常見的問題,常見於按鍵去彈跳、外部信號輸入處理、需要穩定信號的控制系統、數位電路中的雜訊處理等。本文將介紹一個使用Verilog實現的毛刺濾波器設計,該濾波器可以有效過濾掉輸入信號中的短暫毛刺,提高系統的穩定性。
專案架構
RTL代碼實現
以下是完整的Verilog RTL代碼:
module glitch_filter (
input clk, // 系統時脈輸入
input nRst, // 低電位有效的重置信號
input iSignal, // 需要進行濾波的輸入信號
output oSignal // 經過濾波處理後的輸出信號
);
// 內部信號定義
reg [31:0] rvShiftSignal_d, rvShiftSignal_q; // 32位移位暫存器,用於儲存信號歷史
reg rSignal_d, rSignal_q; // 輸出信號的組合邏輯和時序邏輯暫存器
// 第一個時序邏輯區塊