亞穩態和毛刺 | 農藥百科
![亞穩態和毛刺](https://i.imgur.com/WMTbIbA.jpg)
2018年9月1日—我們在芯片設計與調試中,一定曾經遇到過一些詭異的問題。比如芯片的某一部分莫名其妙的復位卻並沒有故障記錄、比如有的問題上下電和復位表現不一。
![亞穩態和毛刺](https://i.imgur.com/WMTbIbA.jpg)
我們在芯片設計與調試中,一定曾經遇到過一些詭異的問題。比如芯片的某一部分莫名其妙的復位卻並沒有故障記錄、比如有的問題上下電和復位表現不一。甚至在有的FPGA項目後期,每一次重佈局佈線都是對人品的考驗,祈禱在下一個版本中,Voldemort不會出現。根本原因是多方面的,但是不難發現亞穩態和毛刺的影子。
幸運的是,這些問題難以定位但容易在設計中避免,只需我們在設計中稍加關注即可避免。任何一個成熟的團隊都應該有自己的“checklist”。最近的一次檢視中,發現一個設計可能同時受亞穩態和毛刺影響。那個有4年經驗的工程師漫不經心的說“如果完全照教科書做,的確應該像你說的那樣”。與遵守規則同樣重要的是對規則的理解。
1亞穩態
1.1亞穩態的定義 亞穩態是指觸發器無法在某個規定時間段內達到一個確定的狀態。當一個觸發器進入亞穩態時,該觸發器的輸出何時能穩定以及會穩定在哪個狀態都不能確定。在達到穩定之前的時間,觸發器輸出一些中間電平或者處於震盪狀態,並且這種無用的輸出電平可以沿着信號通路上級聯的觸發器傳播下去。
1.2亞穩態的產生機制
如果觸發器的setup time、hold time不滿足,就可能產生亞穩態,此時觸發器的輸出端Q在有效時鐘沿之後比較長的一段時間處於不確定的狀態,這段時間稱爲決斷時間(resolution time)。經過resolution time之後Q端將穩定到0或者1,但究竟是0還是1和輸入沒有關係。
圖1是一個處於亞穩態的寄存器的輸出的例子。
1.3亞穩態的危害與避免
亞穩態會導致邏輯誤判,如果發生亞穩態的部位對系統的穩定至關重要同時缺少防錯機制,則可能導致系統崩潰(邏輯掛死)。
邏輯誤判可以通過特殊設計減輕危害,例如異步fifo的gray設計。比發生部位本身的邏輯誤判更嚴重的是亞穩態傳遞。亞穩態傳遞會擴大故障面,讓問題變得複雜。...