賽靈思的 IP Integrator 工具可幫助您改善設(shè)計(jì)輸入生產(chǎn)力和多核 Aurora 設(shè)計(jì)的資源優(yōu)化。
客戶在必須由單個(gè) FPGA 實(shí)現(xiàn)的大型設(shè)計(jì)中使用多個(gè)知識(shí)產(chǎn)權(quán) (IP) 實(shí)例時(shí),面臨的主要挑戰(zhàn)之一是如何在整個(gè)系統(tǒng)中有效共享資源。賽靈思 Aurora 串行通信內(nèi)核的共享邏輯特性使用戶可以在多個(gè)實(shí)例中共享資源。Vivado? 設(shè)計(jì)套件中的 IP Integrator 工具對(duì)于充分利用共享資源至關(guān)重要。
電子行業(yè)正快速轉(zhuǎn)向高速串行連接解決方案,同時(shí)逐漸舍棄并行通信標(biāo)準(zhǔn)。行業(yè)標(biāo)準(zhǔn)串行協(xié)議具有固定的線路速率和確定的信道寬度,有時(shí)無法充分利用千兆位串行收發(fā)器的功能。
Aurora 是賽靈思的高速串行通信協(xié)議,一直在行業(yè)內(nèi)非常受歡迎。當(dāng)某些應(yīng)用領(lǐng)域中的行業(yè)協(xié)議實(shí)現(xiàn)過程太過復(fù)雜或者太耗費(fèi)資源時(shí),Aurora 通常是首選方案。Aurora 能實(shí)現(xiàn)低成本、高數(shù)據(jù)速率的可擴(kuò)展IP解決方案,可用于靈活地構(gòu)建高速串行數(shù)據(jù)通道。
需要同時(shí)對(duì)線路速率和通道寬度進(jìn)行擴(kuò)展的高性能系統(tǒng)和應(yīng)用正在期待將 Aurora 作為解決方案。此外,Aurora 還被應(yīng)用于 ASIC 設(shè)計(jì)以及包含多塊 FPGA 的系統(tǒng)(用背板傳輸千兆位的數(shù)據(jù))中。Aurora 采用簡單的幀結(jié)構(gòu),并具有協(xié)議擴(kuò)展流量控制功能,可用于封裝現(xiàn)有協(xié)議的數(shù)據(jù)。它的電氣要求與產(chǎn)品設(shè)備兼容。賽靈思提供 Aurora 64b66b 和 Aurora 8b10b 內(nèi)核,作為 Vivado 設(shè)計(jì)套件 IP 目錄的一部分。
IPI 工具將內(nèi)核作為頂層模塊進(jìn)行可視化。標(biāo)準(zhǔn)接口之間的連接現(xiàn)在更加直觀和智能化,在有些情況下甚至可實(shí)現(xiàn)自動(dòng)化。
Vivado IP Integrator (IPI) 是用于復(fù)雜多核系統(tǒng)中資源優(yōu)化的重要工具。就這一點(diǎn)而言,IPI 將幫助您充分利用 Aurora 64b66b 和 Aurora 8b10b 內(nèi)核中的共享資源,尤其是“共享邏輯”特性。為了方便起見,我們重點(diǎn)介紹 Aurora 64b66b IP,同時(shí)您要了解類似技術(shù)也適用于 Aurora 8b10b 內(nèi)核。
AURORA 的共享資源一覽
圖 1 是 Aurora 64b66b 內(nèi)核的典型方框圖。突出顯示部分為時(shí)鐘資源,例如混合模式時(shí)鐘管理器 (MMCM)、BUFG 和 IBUFDS;以及千兆位收發(fā)器 (GT) 資源,例如 GT common 和 GT 通道,在圖中標(biāo)示為賽靈思 7 系列器件雙路設(shè)計(jì)的 GT1 和 GT2。
?
圖1: Aurora 64b66b 內(nèi)核的典型方框圖
就像 Kintex?-7 FPGA KC705 評(píng)估套件那樣,典型 16 路 Aurora 64b66b 內(nèi)核所需的時(shí)鐘和 GT 資源已在表 1 中列出。
?
表 1–Kintex-7 FPGA KC705 評(píng)估套件上的時(shí)鐘和 GT 資源利用率
FPGA 中的時(shí)鐘和 GT 資源取決于所選的器件和封裝類型。多個(gè) IP 內(nèi)核經(jīng)常要求在系統(tǒng)級(jí)使用資源。因此,必須要優(yōu)化利用這些寶貴資源,以降低系統(tǒng)成本和功耗。
AURORA 資源共享
因?yàn)槎嗫罨?GT 的賽靈思內(nèi)核都支持共享邏輯特性,Aurora 內(nèi)核可配置為“內(nèi)核(主機(jī))中的共享邏輯”或“實(shí)例設(shè)計(jì)(從機(jī))中的共享邏輯”。當(dāng)在系統(tǒng)級(jí)進(jìn)行實(shí)例化時(shí),兩種配置的組合可支持在主機(jī)與從機(jī)之間共享時(shí)鐘和 GT 資源。
對(duì)于需要使用共享邏輯特性的應(yīng)用,手動(dòng)建立多個(gè) IP 之間的連接有可能會(huì)產(chǎn)生錯(cuò)誤,并增加總的設(shè)計(jì)輸入時(shí)間。借助工具進(jìn)行設(shè)計(jì)輸入是一種解決該問題的方法,而賽靈思的 IP Integrator 能游刃有余地完成這個(gè)任務(wù)。
IPI 工具將內(nèi)核作為頂層模塊進(jìn)行可視化;標(biāo)準(zhǔn)接口之間的連接現(xiàn)在更加直觀和智能化,在有些情況下甚至可實(shí)現(xiàn)自動(dòng)化。正確的設(shè)計(jì)規(guī)則檢查被置入工具以及 IP 周圍,以確保突出顯示錯(cuò)誤連接,以便設(shè)計(jì)人員在設(shè)計(jì)輸入時(shí)發(fā)現(xiàn)它們。該工具能自動(dòng)生成頂層封裝文件以及調(diào)用正確的引腳級(jí) I/O 要求,因此可幫助系統(tǒng)設(shè)計(jì)人員提高生產(chǎn)力。如果您已經(jīng)設(shè)計(jì)了定制子模塊,可以考慮依照賽靈思應(yīng)用指南 1168,“針對(duì) Vivado IP Integrator 打包定制 AXI IP”(XAPP1168) 對(duì)設(shè)計(jì)進(jìn)行打包,并在 IPI 中使用子模塊。
Aurora 的共享邏輯特性e#
Aurora 的共享邏輯特性不僅可讓用戶在多個(gè)實(shí)例中共享資源,而且還能在相同 GT Quad 封裝中使用 GT 通道,無需編輯 GT common、PLL、時(shí)鐘以及相關(guān)模塊。唯一的約束是“共享”內(nèi)核的線路速率應(yīng)該相同(允許存在諧波,只要您能接受其對(duì)時(shí)鐘資源的影響即可)。
典型的共享邏輯設(shè)計(jì)在一個(gè) Guad 中包含一個(gè)主機(jī)以及一個(gè)或多個(gè)從機(jī)實(shí)例。與大多數(shù)其它通信 IP 不同,Aurora不僅限于單個(gè) Guad 共享。Aurora 內(nèi)核的共享邏輯定義可擴(kuò)展用于任意數(shù)量的受支持信道。
下面的一些實(shí)例展示了 Aurora 共享邏輯特性的應(yīng)用情況。
多個(gè)單信道設(shè)計(jì)
單部 FPGA 中的多個(gè)單信道設(shè)計(jì)與多信道設(shè)計(jì)的不同之處在于前者需要通道綁定。我們可以直觀地看到多個(gè)單信道設(shè)計(jì)所需的資源會(huì)在系統(tǒng)級(jí)線性增加。讓我們考慮不同情況,并了解共享邏輯特性如何在每種情況下起作用。
我們首先從包含四條單信道的設(shè)計(jì)開始。通過實(shí)例化四個(gè)單信道 Aurora 內(nèi)核,您可直接構(gòu)建這類設(shè)計(jì)。如果我們實(shí)際執(zhí)行該實(shí)現(xiàn)方案,會(huì)發(fā)現(xiàn)每個(gè) Aurora 設(shè)計(jì)都有一個(gè) GT common 實(shí)例;因此,該設(shè)計(jì)的布局和資源利用會(huì)遍及四個(gè) GT Guad。這種方法消耗太多資源,不一定總是可行。
為實(shí)現(xiàn)更好的布局以及在功耗和資源方面精心優(yōu)化的解決方案,所選的四個(gè) GT 應(yīng)來自同一個(gè) GT Guad。
如果沒有共享邏輯特性,而是通過手動(dòng)處理所生成的設(shè)計(jì)來滿足該要求,需要花費(fèi)很大精力。要想有效使用共享邏輯特性,您需要生成一個(gè)主機(jī)模式的 Aurora 內(nèi)核以及其它三個(gè)從機(jī)模式的 Aurora 內(nèi)核,如圖 2 所示。另外,還有一些其它的系統(tǒng)級(jí)考慮因素,例如主機(jī)內(nèi)核控制了進(jìn)入從機(jī)內(nèi)核的時(shí)鐘,所以需要對(duì)內(nèi)核復(fù)位。只有用相同的線路速率配置 Aurora 內(nèi)核,才能立即實(shí)現(xiàn)這種配置和資源優(yōu)化。表 2 定量地說明了在系統(tǒng)中為四個(gè)單信道設(shè)計(jì)使用共享邏輯特性所能實(shí)現(xiàn)的優(yōu)勢。
?
表 2–在包含四條單信道的設(shè)計(jì)中使用共享邏輯所實(shí)現(xiàn)的資源利用率優(yōu)勢
?
?
圖 2–使用一個(gè)主機(jī) Aurora 內(nèi)核(左)和三個(gè)從機(jī)的共享邏輯設(shè)計(jì)
占用 12 個(gè) GT 通道的設(shè)計(jì)
對(duì)于 7 系列 FPGA 而言,基于南北時(shí)鐘的要求是如果從中間 Guad 中選擇單個(gè)參考時(shí)鐘源,其最多可服務(wù) 12 個(gè) GT 通道。
讓我們考慮下這種使用情況,其需要 12 個(gè)單信道設(shè)計(jì)使用盡可能少的時(shí)鐘資源。
如果您將圖 2 所示的“一個(gè)主機(jī)加三個(gè)從機(jī)”配置進(jìn)行延伸,便可節(jié)省時(shí)鐘資源。如果將這種 1+3 配置延伸為三個(gè) Guad,那么設(shè)計(jì)一共需要六個(gè)差分時(shí)鐘資源。不過,如果您選擇讓其中兩個(gè)主機(jī)設(shè)計(jì)接受一個(gè)單端 INIT_CLK 和一個(gè) GT 參考時(shí)鐘,那么還能節(jié)省更多資源。這樣我們可將該系統(tǒng)的差分時(shí)鐘輸入從六個(gè)減少至兩個(gè),從而節(jié)省 IBUFDS/IBUFDS_GTE2 資源需求(參見表 3)。設(shè)計(jì)中的 IBUFDS_GTE2 資源節(jié)省實(shí)際上還意味著可以節(jié)省外部時(shí)鐘資源以及設(shè)計(jì)管腳。此外,還可針對(duì) MMCM 進(jìn)行類似的優(yōu)化。
?
表 3–在包含 12 條單信道的設(shè)計(jì)中使用共享邏輯功能所實(shí)現(xiàn)的資源優(yōu)勢
?
?
表 4–3 個(gè)四信道設(shè)計(jì)的最優(yōu)信道選擇
? ? ? ?
3X4 信道設(shè)計(jì)
假設(shè)需要 3 個(gè)四信道設(shè)計(jì),如果沒有共享邏輯特性,您可能要?jiǎng)?chuàng)建 3 個(gè)主機(jī)模式的四信道 Aurora 內(nèi)核,然后對(duì)生成的設(shè)計(jì)進(jìn)行手動(dòng)處理,以獲得最佳的時(shí)鐘資源利用率。如果您能直接實(shí)現(xiàn)同樣的結(jié)果呢?您可按圖 3 所示對(duì)一個(gè)主機(jī)內(nèi)核和兩個(gè)從機(jī)內(nèi)核進(jìn)行定制,以實(shí)現(xiàn)此目的。
?
圖 3–面向 3 個(gè)連續(xù) Guad 上四信道 Aurora 設(shè)計(jì)的“1 個(gè)主機(jī)和 2 個(gè)從機(jī)”配置
而更大尺寸(16 個(gè)或以上)的單信道 Aurora 設(shè)計(jì)就更加需要共享邏輯。有時(shí)候甚至需要 48 個(gè)單信道獨(dú)立雙工鏈路。允許的 Aurora單信道鏈路數(shù)量僅受所選器件的可用 GT 資源數(shù)量限制。在這種情況下,如果不有效利用共享邏輯特性,很難實(shí)現(xiàn)這類系統(tǒng)設(shè)計(jì)。
該設(shè)計(jì)覆蓋 12 個(gè) Guad,因此需要 2*12 個(gè)差分時(shí)鐘資源,從電路板設(shè)計(jì)角度看,這實(shí)在是項(xiàng)令人生畏的艱巨任務(wù)。您可利用“12 條單信道設(shè)計(jì)”案例中所提到的技術(shù)方法,減少整個(gè)系統(tǒng)的差分時(shí)鐘和 MMCM 需求(參見表 5)。
非對(duì)稱信道和其它定制優(yōu)化
在視頻投影機(jī)這樣的設(shè)備中,主流數(shù)據(jù)以高吞吐量單方向流動(dòng),而吞吐量較低的反向通道則用來傳輸輔助或控制信息。在此類應(yīng)用設(shè)備中,采用全面的雙工鏈路意味著使用更少的帶寬,本質(zhì)上會(huì)降低系統(tǒng)設(shè)計(jì)的投資回報(bào)率。這種問題的理想解決方案是:如圖 4 所示,采用非對(duì)稱的鏈路寬度以及最優(yōu)的 GT 資源利用率,其中,具有較高吞吐量的數(shù)據(jù)流方向上的信道數(shù)量要多于具有較低吞吐量的數(shù)據(jù)流方向上的信道數(shù)量。
?
圖 4–用 Aurora 實(shí)現(xiàn)跨鏈路的非對(duì)稱數(shù)據(jù)傳輸
?
?
表 5–在 48 條單信道設(shè)計(jì)中使用共享邏輯特性所實(shí)現(xiàn)的資源優(yōu)勢
由于 Aurora 內(nèi)核中現(xiàn)有的數(shù)據(jù)流模式(單工/雙工),目前只能以相同的 TX 和 RX 信道數(shù)量來配置內(nèi)核。要想使兩個(gè)方向的信道數(shù)量不同,您需要為每個(gè)方向生成兩個(gè) Aurora 單工內(nèi)核。賽靈思應(yīng)用指南 1227,“采用 Aurora 64B/66B IP 核的非對(duì)稱信道設(shè)計(jì)” (XAPP1227) 中介紹了在 7 系列 FPGA 上構(gòu)建非對(duì)稱信道設(shè)計(jì)的方法。
另外一個(gè)有用的設(shè)計(jì)策略是 BUFG 資源優(yōu)化。通常,為了實(shí)現(xiàn)在相同或不同線路速率下工作的多個(gè) Aurora 內(nèi)核,系統(tǒng)設(shè)計(jì)人員需要知道器件具體的時(shí)鐘要求和限制。要想實(shí)現(xiàn)很多條 Aurora 鏈路,就需要為每條鏈路生成時(shí)鐘。節(jié)約時(shí)鐘資源會(huì)提高系統(tǒng)的性價(jià)比。如果系統(tǒng)設(shè)計(jì)具有多個(gè)模塊,而且時(shí)鐘資源 (BUFG) 緊張,那么應(yīng)考慮用 BUFR/BUFH 代替 BUFG。建議您使用相同類型的緩沖器驅(qū)動(dòng) GT 內(nèi)核的兩個(gè) TX 路徑用戶時(shí)鐘。
7 系列 Aurora 內(nèi)核需要一個(gè)額外的動(dòng)態(tài)重配置端口 (DRP) 時(shí)鐘輸入,否則將需要使用一個(gè) BUFG。如果 Aurora 的自由運(yùn)行時(shí)鐘頻率選定在允許的 DRP 時(shí)鐘范圍內(nèi),那么 Aurora 輸出的自由運(yùn)行時(shí)鐘可以重復(fù)使用并連接回到 DRP 時(shí)鐘。這樣您可節(jié)省所生成設(shè)計(jì)中的 BUFG 數(shù)量。在為多個(gè) Aurora 設(shè)計(jì)選擇線路速率時(shí),您應(yīng)記?。?/p>
如果線路速率是整數(shù)倍數(shù),便于時(shí)鐘推導(dǎo)和在多條鏈路之間共享,這樣您就可共享時(shí)鐘資源。如果將共享邏輯特性延伸到諧波線路速率,您就可以通過少量的額外時(shí)鐘分頻器為從機(jī) Aurora 內(nèi)核生成所需的輸入頻率。
未來機(jī)遇
Aurora 具有很高的靈活性,可用來創(chuàng)建多種系統(tǒng)配置和應(yīng)用。在賽靈思 Vivado IP Integrator 這樣的強(qiáng)大工具幫助下,較高的設(shè)計(jì)輸入生產(chǎn)力和系統(tǒng)級(jí)資源共享正在加速 All Programmable 應(yīng)用領(lǐng)域的創(chuàng)新。憑借賽靈思 UltraScale? 架構(gòu),具備更多 GT 通道的器件可受益于更強(qiáng)的 GT 線路速率支持,因此能夠?qū)崿F(xiàn)更多的設(shè)計(jì)可能性和更高的資源利用率。
如需評(píng)估 Aurora 內(nèi)核,敬請(qǐng)查看IP Catalog、IPI 和 Aurora 產(chǎn)品 Web 頁面: .
?
評(píng)論
查看更多