FPGA 學習筆記一 檢測邊沿觸發

2022-09-19 15:45:11 字數 785 閱讀 1164

本文主要涉及xilinx版的fpga的邊沿觸發檢測,通過鎖存乙個時鐘節拍, 比較前後兩個檢測狀態, 判定是否產生上公升沿或者下降沿,可用於按鍵檢測等,具體如下:

檢測上公升沿:

reg key_scan;          

reg key_scan_reg;

always@(posedge clk)       // 鎖存乙個時鐘節拍,key_scan_reg是key_scan的上乙個狀態

key_scan_reg <= key_scan;

wire flag =(

~key_scan_reg) & key_scan; 

//  真值表:

~key_scan_reg

key_scan

flag00

0010

1001

11檢測下降沿:

reg key_scan;          

reg key_scan_reg;

always@(posedge clk)       // 鎖存乙個時鐘節拍,key_scan_reg是key_scan的上乙個狀態

key_scan_reg <= key_scan;

wire flag = key_scan_reg & (~key_scan); 

//  真值表:

key_scan_reg

~key_scan

flag00

0010

1001

11其中,檢測到邊沿觸發,

flag=1

為有效,作為後期操作的標誌位。

FPGA的邊沿檢測

以前我曾一度傻乎乎的使用 always posedge signal 這樣的 去檢測signal的上公升沿,鬧出了很多問題。當受實驗室的一同學指教後,再也不會傻乎乎的這樣幹了。當然,你看完下文也不會這樣幹了。檢測上公升沿的原理 使用高頻的時鐘對訊號進行取樣,因此要實現上公升沿檢測,時鐘頻率至少要在訊...

FPGA中邊沿觸發和電平觸發

邊沿觸發和電平觸發基本就是觸發器和鎖存器的區別 觸發器是邊沿觸發,只有當時鐘上公升 或下降 的一瞬間,觸發器會讀取並鎖存輸入訊號。輸出訊號僅在時鐘訊號上公升 或下降 的一瞬間會發生變化。鎖存器是電平觸發,只要使能 enable 訊號處於高電平 或低電平 輸出就會隨著輸入訊號變化,直到使能訊號變為低電...

FPGA亞穩態狀態檢測邊沿

如上圖所示,當時鐘上公升沿來的時候,資料恰好改變,這個時候輸出的結果就無法確定是0 1,暫存器會經過一段時間的抖動然後輸出乙個結果 無法確定是正確還是錯誤 通過三個暫存器,資料的抖動會消失,從而得到穩定的資料輸出 資料同樣不確定是否正確 當暫存器抖動之後輸出為0時,如下圖所示,通過兩個暫存器,就可以...