帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
解決FPGA I/O針腳配置的挑戰
高密度FPGA設計應用專欄(2)

【作者: Brian Jackson】   2008年10月09日 星期四

瀏覽人次:【8213】

設計人員在把大型FPGA元件整合至PCB時,所面臨的主要挑戰之一就是I/O針腳配置。基於越來越多的因素,許多設計人員發現定義大型FPGA元件I/O針腳的組態或「針腳輸出(pinout)」,以及先進的BGA封裝的程序,已變得日趨困難。但若將聰明的I/O規劃與各種新工具結合在一起,就可以排除讓您頭痛的針腳輸出程序。


從FPGA到PCB之間定義I/O針腳輸出的工作,是決定設計成敗的一項重大挑戰。設計人員必須從FPGA與PCB的角度來平衡各項需求,並為此兩個元件進行平行設計。若過早針對PCB或FPGA最佳化針腳配置,可能會在另一方面產生設計問題。


設計人員必須能預想PCB配置與FPGA實體元件的針腳,以及內部的FPGA I/O銲墊配置與其它相關資源,以了解針腳配置選擇會產生的結果。然而,到目前為止,仍未有單一工具或方法能一次解決所有協同設計的問題。


利用協同設計工具處理針腳配置

現在能做的就是結合各種技巧與策略,來最佳化針腳規劃流程,並運用新的協同設計工具,像是賽靈思(Xilinx)PinAhead技術,設計出有效的腳位配置方法。賽靈思在10.1版ISE軟體設計套件中提供了PinAhead技術。


賽靈思開發一項規則性的方法,並依據此種方法,並考量PCB與FPGA的各項需求,定義出一個初期腳位配置,讓每個設計團隊得以使用一個相當接近最終版本的針腳配置,儘早展開設計流程。若設計方案在後期因PCB線路配置或內部FPGA效能問題,需要進行變更時,這套方法能讓這些問題控制在一定範圍,讓設計者僅須進行小幅的修改即可。


步驟一:評估各項設計參數

至於應從何處著手呢?應儘早開始規劃一個I/O策略。但若沒有適合的最佳化工具或完整的網路表(netlist),這項工作將會相當艱鉅。


首先,先藉由回答幾個問題來檢視PCB實體參數與限制:


  • ●偏好的層數、線路寬度、以及導孔尺吋?


  • ●PCB的參數是否會限制使用的FPGA封裝種類,像是BGA?


  • ●FPGA在PCB上是否有任何固定的界面位置? 是否有其它晶片、連接器、或配置上的限制?


  • ●哪些高速界面需要特別注意?


  • ●是否能想出一個可提供最短互連距離的配置策略?



規劃出一個PCB配置圖是很有幫助的–包括所有元件以及重要的界面和匯流排–藉以研判最佳的FPGA針腳擺放位置。確定在電路板的兩側,畫出準備擺放這些元件的位置。註明需要特別注意的界面,像是高速匯流排以及差動對(如圖一所示) 。



《圖一  製作一個PCB連結圖 》
《圖一 製作一個PCB連結圖 》

接著再檢查FPGA元件的配置,瞭解矽元件的實體資源。列出使用的各種電壓與時脈,開始隔離設計需要的界面。之後研判是否需要I/O界面資源,像是giga收發器(GT)、BUFR、IODELAY和數位時脈管理器,再定義與配置I/O針腳,讓兩者間的距離拉近。


接下來就是配置各種FPGA資源的位置,像是設計案中的PowerPC、DSP48、以及ARM16。理想的作法是讓靠近這些資源的相關I/O去鎖定I/O針腳組。試著看看是否能把任何I/O訊號再界面中結合成群組;這對於擺放針腳時會有幫助。最後再決定FPGA的組態模式。


步驟二:定義針腳輸出的需求

瞭解主要FPGA界面,並規劃實體配置的模型後,就可開始定義針腳輸出。某些研發業者喜歡使用試算表,內含所有必須追蹤針腳的I/O訊號。設計人員可依電壓、時脈、界面、或匯流排,把它們設定成群組。這種方法相當有用,因為它能幫忙開始建立訊號群組,讓群組的成員靠在一起。在這個階段,亦應找出哪些關鍵界面必須擺放在元件的特定邊緣,或是使用外部實體針腳,來達到最理想的PCB配置。


在檢查FPGA與PCB的各項要求,並決定主要界面的位置後,下一步就是根據所有先前標準,開始把針腳設定到I/O針腳組。這是真正開始工作的起點。在目前的流程中,針腳配置是項極費時的工作,須經歷嘗試-錯誤-再嘗試的流程,以解決任何有關效能與訊號完整性的問題。研發人員以往都是靠自己執行這項工作,因為EDA與任何晶片廠商都沒有提供工具來協助設計人員規劃這兩種元件的配置。


賽靈思針對這項作業推出一款工具,就是包含在10.1版的ISE Foundation?軟體工具組的PlanAhead Lite,它是PlanAhead? 軟體型設計/分析/電路規劃工具的子集。它含有一款名為PinAhead的工具,能解決PCB與FPGA的設計問題,讓研發業者更容易完成I/O針腳輸出的設定。


在此不詳細介紹工具的每項功能,而將焦點集中於在配合I/O針腳配置方法下,如何使用這款工具。


步驟三:運用PinAhead設定針腳輸出

PinAhead環境顯示一組檢視圖,可用來探索測試與指派I/O埠訊號到實體封裝針腳,或是晶粒上的I/O銲墊,如圖二所示。


《圖二 PinAhead環境》
《圖二 PinAhead環境》

PinAhead的圖形環境幾乎和PlanAhead軟體相同,在「元件」視圖中明確顯示矽元件的I/O銲墊和相關資源,在「封裝」視圖中可看到實體元件的針腳。視圖顯示I/O埠與實體針腳資訊,可交叉選取,探索各項邏輯設計與實體元件的資源。


在沒有設計網路表時,設計人員可使用PinAhead來研究元件的資源,或是啟動I/O針腳的規劃程序。「封裝針腳」視圖根據元件的資料表來顯示元件的封裝規格,在絕大多數的情況,在規劃針腳輸出時,不必交互參照元件資料表。封裝針腳視圖表,依I/O針腳組進行分類,可在元件與封裝視圖中進行I/O針腳組的交叉選取以及標示。視圖明確顯示實體針腳位置與晶粒上I/O銲墊位置之間的關係,藉此簡化選擇I/O針腳組的作業。封裝針腳的「針腳」視圖亦顯示I/O針腳組中每個針腳的資訊。


設計人員可使用PinAhead界面從頭開始規劃I/O埠,也可匯入逗號分隔(CSV)格式的試算表檔案、HDL來源檔案表頭、或是合成的網路表和UCF格式的限制檔案。「I/O埠」視圖顯示您設計方案目前定義的所有I/O埠訊號,匯流排資料夾顯示了群組化匯流排以及差動訊號對。


設計人員可透過多種方法在封裝針腳與I/O埠視圖中對資料進行排序。可切換清單視圖,顯示分類清單或未整理清單,只要點選一下滑鼠鍵,就能在封裝針腳視圖中執行排序功能,顯示所有可用的全域時脈或區域時脈針腳。也可以將資料匯出至CSV格式的試算表檔案,作為針腳輸出規劃的起點。


PinAhead還有一個界面,能選擇禁止特定的I/O針腳、I/O針腳群(group)、或是I/O針腳組(bank),讓PinAhead不要指派I/O埠給它們。可在封裝針腳、元件、或封裝視圖中選擇與禁止特定的針腳。例如,可在封裝針腳視圖中進行排序,以及禁止所有VREF針腳。


PinAhead可把一組相關的I/O埠與匯流排設定成一個「界面」。這種群組功能可簡化I/O埠管理與指派的工作,並以一個單位來處理眾多彼此相關的I/O埠。界面群組功能讓可更輕易檢視與管理所有與特定邏輯界面有關的訊號。


可輕易把界面從某個設計方案複製到其他設計方案,或是運用它們產生特定界面的PCB設計符號。在I/O埠視圖中,界面會顯示成可擴充的資料夾,設計人員可在視圖中選取它們,然後拖曳到界面資料夾中,藉此加入額外的I/O埠。


當建立I/O埠時,可把它們指派到封裝針腳或I/O銲墊。在此之前,建議檢查I/O埠的初始PCB互連設計圖,並諮詢PCB設計人員,以瞭解想要的位置,以及配置各種I/O埠界面的考量因素。適當的匯流排次序以及邊緣近接性,能大大協助PCB繞線作業,並節省設計時間。


設計人員可把個別的針腳、匯流排、以及界面指定到I/O針腳,只要把它們拖曳到元件或封裝視圖即可。也可利用不同的指派模式,把整個群組的針腳指派到選取的I/O針腳。可用的模式包括 「將I/O埠配置到一個I/O針腳組」、「配置區域內的I/O埠」、以及「依序配置I/O埠」。


每種模式都提供不同的指派方法,把選取的I/O埠指派到針腳。使用這些模式,只要按一下滑鼠,就可看到連結埠數量的資訊。在配置完所有選取I/O埠之前,這種模式會一直持續。


元件視圖以圖形顯示所有時脈區域以及時脈相關的邏輯物件,讓用戶更容易且直覺地根據時脈來配置I/O。選取某個時脈區域會顯示所有I/O針腳組、時脈相關資源、以及相關的元件資源。


PlanAhead軟體會嘗試維護您的配置校正規則。在設計人員的引導下,工具會把差動訊號對埠指派到適當的針腳對。當以互動模式配置I/O埠時,工具會執行設計規則檢查(DRC),以確保合法的配置。


工具預設是在互動DRC模式下執行,但可以選擇關閉此模式。工具會檢查是否有相衝突的電壓、VREF針腳、或I/O標準,以及GT元件附近對雜訊敏感的針腳。當工具發現到錯誤,就會顯示訊息,說明設計者為什麼不能把某個I/O埠設定到特定的針腳。


設計人員可啟動PinAhead的“Autoplace”指令,讓工具自動把所有或任何選取的I/O埠配置給封裝針腳。Autoplace指令會遵循所有I/O標準以及差動訊號對的規則,並適當配置全域時脈針腳。指令也會嘗試儘可能把界面配成群組。


元件視圖以圖形顯示所有時脈區域,以及時脈相關的邏輯物件,讓用戶更容易且直覺化地根據時脈來配置I/O。選取某個時脈區域,會顯示所有的I/O針腳組、時脈相關的資源、以及相關的元件資源。這讓區域時脈規劃的流程更加容易,讓用戶能探索可用的資源,以及它們的實體關係。


可使用PinAhead來配置設計方案中其他I/O相關邏輯,像是 BUFG、BUFR、IODELAY、IDELAYCTRL、以及DCM。又可使用“Find”指令,在PlanAhead中輕易擺放這些物件以及配置站點(site)。想要選擇性地探索與擴展邏輯與邏輯連結,可使用工具提供的“Schematic”視圖。


設計者也可以使用PlanAhead軟體來鎖定特定I/O相關邏輯,只要在任何視圖中選擇想要的邏輯,然後拖曳到元件視圖的站點即可。


PlanAhead軟體僅允許在適當站點上配置邏輯物件。當一個邏輯物件在設計圖中拖曳時,動態游標會指示這些適當的站點位置。


步驟四:執行DRC與WASSO分析驗收設計的合法性

當完成針腳配置後,可使用PinAhead諸多DRC規則,執行分析驗收DRC,確保設計沒有錯誤後,再執行PlanAhead軟體的各種建置工具。工具內含許多I/O與時脈相關的規則,確保I/O配置確實合法。設計者可運用PlanAhead軟體DRC對話方塊來選擇想使用的規則。


若工具發現違反規則的情況,會顯示一個DRC結果表,當中列出各項錯誤。可點選表中的錯誤項目,以便進一步分析研究。PlanAhead軟體亦含有加權平均同步切換輸出(WASSO)的分析功能,根據針腳輸出組態,找出潛在的訊號完整性問題。又可在工具中輸入PCB設計的各種寄生效應數據;PlanAhead軟體會分析各種I/O針腳組和鄰近的元件,並回報每個I/O針腳組的使用情形與狀態。


步驟五:探索I/O針腳輸出

設計人員可將PlanAhead軟體的I/O埠清單與封裝針腳資訊,匯出至CSV格式檔案、HDL表頭、或UCF檔案。CSV檔案內含有關元件所有封裝針腳的資訊,還有和設計有關的I/O埠配置以及其組態。從清單中選擇封裝針腳,是個很好的起點,開始定義試算表中的I/O埠。


也可以使用試算表,自動化產生需要的PCB設計符號,來開始PCB電路設計。有時,這些符號太大; 您必須把它們分成多個符號。您可利用PinAhead產生的界面群組,快速完成這項作業。


以設計符號的形態提供I/O針腳輸出組態,讓PCB設計人員得到一個研發好的PCB設計的良好基礎。由於已考量到PCB界面,然後著手設計初期的針腳輸出,因此會很接近最終的針腳輸出組態。


若需要在配置與繞線時切換針腳,可輕易進行這類變更 – 這些需要切換的針腳極可能位在I/O針腳組中。這種設計方法不會大幅影響FPGA的設計。PCB與FPGA設計人員可相互傳送修改過的針腳輸出試算表或UCF檔案,讓任何修改結果能夠同步一致。


設計人員可能會想要把沒有使用的針腳,或某些組態針腳聯結到VCC或GND(接地)端,以便解決雜訊問題以及建置適當的FPGA功能。賽靈思目前著手開發下一版PinAhead的功能,提供一個界面讓FPGA設計人員指定這些針腳,並把針腳的連結加入到匯出的CSV試算表檔案。這讓PCB設計人員能更容易辨識針腳,並妥善連結它們。


結語

展望未來,隨著FPGA支援更複雜的功能,以及採用更先進的封裝,業者將被迫規劃出更精良的FPGA與PCB針腳輸出設計方法。雖然設計人員將發現PinAhead Lite能為執行協同設計策略上帶來可觀的助益,而賽靈思也已著手改良此工具,進一步協助解決各種針腳輸出的挑戰,順利完成工作。


(作者為美商Xilinx賽靈思產品行銷經理)


相關文章
AI伺服器驅動PCB材料與技術革新
PCB智慧製造布局全球
台灣AI關鍵元件的發展現況與佈局
FPGA開啟下一個AI應用創新時代
【PCIe 5.0】性能優越的決定性關鍵—PCB材料選擇
comments powered by Disqus
相關討論
  相關新聞
» 豪威集團推出用於存在檢測、人臉辨識和常開功能的超小尺寸感測器
» ST推廣智慧感測器與碳化矽發展 強化於AI與能源應用價值
» ST:AI兩大挑戰在於耗能及部署便利性 兩者直接影響AI普及速度
» 慧榮獲ISO 26262 ASIL B Ready與ASPICE CL2認證 提供車用級安全儲存方案
» 默克完成收購Unity-SC 強化光電產品組合以滿足半導體產業需求


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.15.228.171
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw