在FPGA設計中,我們遵循的原則之一是同步電路,即所有電路是在同一時鐘下同步地處理數據。這個概念可進一步展開,即不局限于同一時鐘,只要時鐘之間是同步關系(兩者之間有明確的相位延遲,例如同一個MMCM生成的時鐘),這是因為目前的芯片規模越來越大,設計越來越復雜,往往需要多個時鐘同時運算。
通常,我們說某個信號與指定時鐘同步,意味著這個信號是由該時鐘驅動的邏輯生成的,或者這個信號只有在時鐘有效沿(一般是上升沿有效)下才會被觸發。以復位信號為例,就有同步復位和異步復位之分。我們從HDL代碼角度看一下二者的區別。如下圖所示代碼,描述的是同步復位觸發器,左側為VHDL-2008版本的描述方式,右側為System Verilog版本的描述方式。可以看到敏感變量列表(左側第15行,右側第8行)中只有時鐘clk,因此,進程中的狀態變化就依賴于時鐘的變化即時鐘有效沿。
我們再看看異步復位是如何描述的,如下圖所示。左側是VHDL-2008版本,右側是System Verilog版本。可以看到,此時敏感變量列表中除了時鐘clk之外還有復位信號rst。在VHDL版本中,可以明確地看到復位信號位于if條件分支,而時鐘有效沿位于elsif分支,優先級低于復位信號。因此,這里只要復位有效,無論時鐘沿是否有效都會觸發操作。
進一步,我們從仿真角度看看這兩者的區別。同步復位觸發器的仿真結果如下圖所示。可以看到復位信號只有在時鐘有效沿下才起作用。圖中第二個復位脈沖并沒有被時鐘有效沿采到,故不會導致觸發器復位。
異步復位觸發器仿真結果如下圖所示。可以看到第二個復位脈沖盡管沒有在時鐘有效沿下,但仍促使觸發器復位。這正是異步的原理。
對比兩個仿真結果,我們可以看到同步復位的一個明顯的好處就是利用了時鐘的過濾功能,去除了復位信號上的毛刺,而異步復位下,如果復位信號有毛刺就會導致觸發器誤操作,這在狀態機電路中尤為嚴重,很有可能導致狀態機進入無效狀態。
編輯:lyn
-
仿真
+關注
關注
51文章
4216瀏覽量
135137 -
同步復位
+關注
關注
0文章
27瀏覽量
10833 -
異步復位
+關注
關注
0文章
47瀏覽量
13454
原文標題:同步復位與異步復位
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
LM3724系列 低功率電壓監控和復位IC,帶手動復位功能數據手冊

FPGA復位的8種技巧

復位電路的三種方式 復位電路的原理和作用
復位電路的電容多大的 復位電路設計類型有哪幾種
復位電路靜電整改案例分享(一)——交換機復位電路

評論