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