本文是一篇詳細介紹ISSCC2020會議上一篇有關亞穩態解決方案的文章,該技術也使得FPGA在較高頻率下的時序收斂成為了可能。亞穩態問題是芯片設計和FPGA設計中常見的問題,隨著FPGA的發展,時序問題已經成為一個越來越難的挑戰。單bit線網和邏輯通路扇出在巨大的芯片上擴散,而布線資源有限,這使得傳統的時序收斂成為一場噩夢。在同步設計上實現時序收斂的傳統技術一個接一個地碰壁,未能實現規模化。
Xilinx和Achronix在其新一代FPGA中解決了這一問題,在傳統的邏輯和布線結構的基礎上增加了片上網絡(NoC)。NoC本質上改變了游戲規則,因為整個芯片不再需要在一個巨大的神奇匯流中實現時序收斂。現在,更小的同步塊可以通過NoC傳遞數據,減輕了傳統布線結構的負擔,并將原來巨大的設計自動化工具問題分解成更小的、可管理的塊。在進行NoC布線的兩家供應商中,Xilinx和Achronix中,Achronix聲稱通過其二維跨芯片AXI實現了最快的NoC。NoC中的每一行或每一列都實現為兩個工作在2 Ghz的256位單向AXI通道,同時在每個方向上提供512 Gbps數據流量。Speedster的NoC總共有197個端點,產生27 Tbps的聚合帶寬,比FPGA的傳統按位布線資源少了很多。
本文從一篇芯片設計頂會(ISSCC2020)文章中設計的一款解決低電壓亞穩態問題的同步器作為著眼點,試圖還原NoC架構引入FPGA芯片后對FPGA的時序收斂起到積極作用的全過程。報告視頻非常精彩,深入淺出,環環相扣,娓娓道來。歡迎大家留言討論。
昨天剛結束的ICAC2020線上會議,高峰期在線人數高達1.6萬人,筆者有幸抽空聽了半個下午,其中完整的聽完了本文中所提到的亞穩態相關的一個會議。該報告是由上海交通大學的何衛鋒博士做的,有關ICAC2020的詳細信息請搜索微信“ICAC Workshop”詳細了解。
報告相關文章的信息: Chuxiong Lin, Weifeng He, Yanan Sun, Zhigang Mao, Bingxi Pei, Mingoo Seok, “A Near-Threshold-Voltage Network-on-Chip with a Metastability Error Detection and Correction Technique for Supporting a Quad-Voltage/Frequency-Domain Ultra-Low-Power System-on-a-Chip,” IEEE International Solid-State Circuits Conference (ISSCC), 2020. 完整報告視頻如下(25分鐘):
隨著物聯網、機器人、無人機、可穿戴/植入設備等低功耗便攜式設備越來越普及,超低功耗SoC芯片技術也面臨著越來越大的挑戰。為了降低這些SoC芯片的功耗,人們提出了如上圖所示的各種技術。其中,近閾值低電壓技術就是其中最受關注的一種。在超低電壓下,可以很大程度的降低芯片的功耗,但隨之帶來了可靠性降低的代價。在上述SoC芯片中,往往具有多個電壓頻率域。由于超低電壓下工藝等因素帶來的任意兩個時鐘之間相位關系的不確定性,導致芯片在正常工作狀態下經常會出現亞穩態問題。 什么是亞穩態?
當一個信號從Tx時鐘域傳遞到Rx時鐘域時,因為Tx_clk和Rx_clk時鐘信號相位的不確定性,就有可能會造成數據信號D的上升沿會落在Rx_clk時鐘上升沿的變化范圍內,如果D信號的翻轉(上升沿或下降沿)和Rx_clk的上升沿(采樣沿)靠的足夠近的時候,就會造成了采樣出來的信號Q會出現非0非1的中間狀態,如果信號Q這種非0非1的狀態持續時間超過了Rx_clk的時鐘周期,我們就稱Q信號的這種非0非1的狀態是亞穩態。
傳統解決亞穩態的方法是采用上圖中“打兩拍”同步器的方法。這種方法可以有效的降低出現亞穩態的幾率,但不能完全避免出現亞穩態的情況。隨著電壓的降低,亞穩態出現的幾率越來越大。而傳統的同步器無法解決上圖中同步器的輸入端出現亞穩態的情況,因此文章就提出了一種能夠解決同步器輸入端出現亞穩態情況的方案。 芯片中跨時鐘域信號的解決方法就是加同步器,一個同步器不行,那就再加一個。 亞穩態窗口
以接收時鐘沿為基準,以接收端時鐘Tclk的頻率作為將數據從亞穩態到穩定狀態的一個分辨時間。當數據D的翻轉在上圖中黃色的亞穩態的窗口之內時,意味著同步器是無法在一個時鐘周期內將D信號從亞穩態恢復為穩定狀態。而對應的黃色區域的這個窗口,就稱為是亞穩態窗口。 作者采用蒙特卡洛仿真了一下在65nm工藝下,電壓從1.5V降低到0.4V的過程中,亞穩態問題出現的幾率增大了11倍。
作者提出了上圖中雙采樣的比較電路,可通過調整Rx_clk和Rx_clkd中間的相位差Wi,分成了五種情況來說明是否出現了亞穩態的情況。進而對如何控制亞穩態的出現進行評估和分析。 如果出現了亞穩態,可以要求發送端再重傳一次信號,但無法從根本上解決亞穩態問題,亞穩態問題還是會過一段時間后再次出現。為了從根本上解決出現亞穩態的問題,定義了下圖中兩次亞穩態出現的時間間隔TTM。降低電路中出現亞穩態出現的概率,就相當于是增大TTM的值。
為了增大TTM的值,可以考慮采樣時鐘上升沿與被采樣數據翻轉沿的相位偏差,根據這個偏差可以將電路出現亞穩態的概率分類為Class-A和Class-B,還得到一個這兩種狀態下相位偏差的閾值。這樣整個問題就轉換為想辦法當相位偏差處在Class-B的時候,想辦法將其相位偏差轉換到Class-A狀態。
因此,解決辦法就是在同步器電路中添加移相器。始終保證采樣時鐘上升沿與被采樣數據翻轉沿的相位偏差處在Class-A的狀態。作者設計了一個叫MEDAC的同步器單元,可以自動檢測到是否即將出現亞穩態并實時對相位偏差進行調整。工作原理如下:當電路通過計數器TTM Timer發現該計數器的值小于了上圖中的TTM閾值時,Phase selector模塊就會驅動Phase shifter去調整Rx_clkd信號與Tx_data之間的相位偏差,使其相移偏差從Class-B狀態轉換到Class-A狀態。從而降低了電路出現亞穩態的風險。
把MEDAC同步器單元應用于異步FIFO中。
再把該異步FIFO應用于一款四個Router的NOC芯片中。
NoC芯片的結構和芯片圖如下:
在測試了4G個數據包后,得到了很好的測試結果。在1V電壓下,亞穩態出現的概率下降了幾十倍,在0.4V電壓下,亞穩態出現的概率下降幾千倍。很好的解決了亞穩態問題。
原文標題:帶有同步器的NoC結構是解決FPGA高速時序收斂的關鍵原因嗎?
文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603013 -
芯片
+關注
關注
455文章
50714瀏覽量
423159 -
電路
+關注
關注
172文章
5901瀏覽量
172138
原文標題:帶有同步器的NoC結構是解決FPGA高速時序收斂的關鍵原因嗎?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論