本文介紹了利用現(xiàn)代FPGA架構(gòu)的先進性能管理PCB復(fù)雜性的新方法,即可以減少PCB布線的擁塞,減少設(shè)計反覆、重新設(shè)計次數(shù)以及降低層和元件的數(shù)量。同時也概述了利用FPGA的靈活I(lǐng)/O特性降低
PCB制造成本的方法。
內(nèi)建嵌入式處理器、DSP和記憶體模組的高階FPGA有替代整個ASIC的趨勢。最新的FPGA元件能夠?qū)iT利用多個通用I/O接腳來制作更寬的配置匯流排,因而加速編程時間,而這些接腳在配置完成后仍可作為正常的I/O接腳使用。元件復(fù)雜度的增加意味著接腳數(shù)量的增加,這會提高在PCB上整合這些元件的難度和成本。設(shè)計小組必須認真應(yīng)對這一挑戰(zhàn),以確保使用這些新的可程式元件時不會影響到產(chǎn)品的成本和上市時間。
接腳數(shù)量超過1,000的FPGA會給
電路板設(shè)計帶來很大的麻煩。采用人工方式對這么多數(shù)量的接腳進行布局和布線是非常低效的,特別是當(dāng)FPGA設(shè)計有稍許修改時會造成費時的電路板設(shè)計反覆。儘管接腳數(shù)量提高了,封裝上的接腳間距仍保持不變,但PCB上的接腳密度卻有顯著的增加。隨之產(chǎn)生的布線擁塞意味著大多數(shù)PCB設(shè)計師必須具備高密度互連(HDI)制造制程方面的豐富經(jīng)驗。包含高數(shù)量接腳FPGA元件的PCB需要更多層的電路板,底線是每增加一層,制造成本增加10%到20%。
理想的I/O標(biāo)淮選擇和配置必須考慮PCB的電氣特性。最新FPGA元件的高速串列I/O使得FPGA和系統(tǒng)板之間的介面成為特別棘手的問題。例如數(shù)Gb收發(fā)器(MGT)技術(shù)旨在顯著縮短數(shù)據(jù)路徑,同時戲劇性地提高吞吐量。然而這些高速I/O會帶來新的挑戰(zhàn)。設(shè)計師現(xiàn)在不是擔(dān)心系統(tǒng)時序、上沖/下沖、串?dāng)_和正確端接,而是關(guān)心介電損耗、趨膚效應(yīng)和確定性/隨機性抖動問題及其對碼間干擾的影響。
數(shù)Gb差分訊號的訊號劣化和衰減主要有三大原因:介電損耗(是長度和板材的函數(shù))、過孔損耗和連接器損耗。根據(jù)具體實體位置的不同,每個過孔的損耗將在0.5dB到1dB之間,而總的損耗裕量只不是10dB到15dB之間。因此,大多數(shù)FPGA制造商推薦將數(shù)Gb收發(fā)器放置在FPGA的四周,以避免打孔到內(nèi)部訊號層。根據(jù)FPGA制造商的規(guī)格要求,仔細的堆迭規(guī)劃對這些訊號而言至關(guān)重要,以便達到仔細?;催^的差分阻抗。
為了進一步解決好問題,F(xiàn)PGA I/0設(shè)計是靈活的。其它任何硅片技術(shù)都無法提供像FPGA元件這樣靈活的介面特性。過去由于電路板設(shè)計和FPGA設(shè)計小組沒有取得I/O設(shè)計同步致使許多PCB需要重新設(shè)計情況時有產(chǎn)生。具有I/O新功能的高接腳數(shù)量元件會顯著地增加PCB制造成本和整體上市時間,在這種情況下,本文推薦的解決方案就能夠跨越FPGA和PCB設(shè)計流程之間的日漸變寬的鴻溝。
傳統(tǒng)的突破
FPGA設(shè)計流程采用的方法基于硬體描述語言,而PCB仍采用原理圖輸入方法。對復(fù)雜度不高的元件來說,傳統(tǒng)流程是可以接受的,F(xiàn)PGA和PCB可以在不同的設(shè)計環(huán)境中分別進行設(shè)計。然而,這種傳統(tǒng)的FPGA和PCB設(shè)計小組獨立工作模式帶來的是以下這種連續(xù)步驟:
1. FPGA設(shè)計師定義設(shè)計頂層模組,并設(shè)立邏輯訊號;
2. FPGA設(shè)計師在FPGA合成步驟中鎖定一些特殊訊號(時脈訊號、專門的高速訊號);
3. FPGA供應(yīng)商的布局布線軟體自動將其它的FPGA頂層訊號分配到實體元件接腳,并制作FPGA接腳映射文件;
4. FPGA小組將接腳映射資訊發(fā)送給PCB設(shè)計小組,同時庫管理員制作FPGA元件的定義;
5. PCB設(shè)計師制作FPGA的符號并將它導(dǎo)入PCB原理圖設(shè)計;
6. 根據(jù)PCB的原理圖進行PCB的布局布線。
將FPGA I/O設(shè)計數(shù)據(jù)傳送到PCB流程通常需要人工進行數(shù)據(jù)的重新輸入(介于步驟3和4之間)。每個接腳有很多屬性,包括邏輯訊號名、實體接腳號、接腳方向、接腳組(接腳交換組)、FPGA元件普通接腳名稱和差分訊號接腳對等。這樣,有一千個接腳的元件意味著PCB庫管理員需要無任何差錯地輸入6,000個數(shù)據(jù)。為了適合原理圖紙張的大小,高接腳數(shù)量的符號通常需要被分割成若干部份。這些部份的符號制作和管理工作需要花數(shù)天到數(shù)周的時間。每次FPGA到訊號接腳映射關(guān)系的修改所導(dǎo)致的原理圖連接更新同樣也是一個漫長又容易出錯的過程。如果邏輯訊號名和實體接腳號在FPGA流程和PCB流程之間沒有得到同步,那么放置在PCB上的FPGA就可能無法正常工作。
在典型的FPGA布局布線流程中,I/O設(shè)計肯定是要修改的,因為布局布線需要‘I/O自由分配’以滿足FPGA的時序約束條件。FPGA設(shè)計師必須采取額外的步驟鎖定I/O設(shè)計,以便設(shè)計進展時能保持不變。由于在PCB設(shè)計時整合高數(shù)量接腳FPGA元件的代價非常高,設(shè)計小組經(jīng)常在設(shè)計過程的早期就鎖定FPGA的I/O設(shè)計。I/O設(shè)計鎖定在降低FPGA-PCB的整合維護成本的同時,也失去了降低PCB制造成本的機會。許多設(shè)計小組很早就鎖定了I/O分配,隨后卻發(fā)現(xiàn)為了滿足PCB布線或性能要求必須改變FPGA I/O的設(shè)計。由于沒有充分淮備好有效地應(yīng)對FPGA I/O的變化,這些設(shè)計小組通常都造成設(shè)計延遲。
兩方面的約束條件
約束條件可以分成兩個部份,即FPGA約束和PCB版圖約束。FPGA約束條件包括設(shè)計時序要求(時序約束)、元件的規(guī)模和架構(gòu)(布線約束)以及應(yīng)用于I/O緩沖記憶體的I/O標(biāo)淮(I/O約束)。導(dǎo)入可配置的I/O ASIC巨集單元意味著每個元件具有更大的靈活性,可以支援更廣泛的信號傳輸標(biāo)淮,但這也會造成緊密相鄰的元件應(yīng)采用哪個標(biāo)淮的約束情況。為了最大化這樣的靈活性,可以將元件訊號分成若干I/O組,因而使分配規(guī)則進一步復(fù)雜。每一種約束都會影響I/O的分配。
在電路板設(shè)計這邊,最佳的I/O分配取決于可用布線層的數(shù)量和PCB上元件的方位(布線約束)。除了布線約束外,PCB版圖必須滿足訊號完整性(SI)和整個系統(tǒng)設(shè)計時序約束條件(SI和時序約束)。由于這些SI和時序約束會限制電路板上走線的長度、空隙和其它實體參數(shù),因此也會影響I/O埠的接腳位置。下面列出了可能會影響I/O設(shè)計一些約束條件:
* FPGA時序
* FPGA可布線性
* FPGA I/O
* PCB可布線性
* PCB SI和時序
因為這些約束條件是由不同的設(shè)計師管理的(例如FPGA、PCB和SI設(shè)計師),又會影響到相同的I/O分配過程,因此很難協(xié)調(diào)。
橋接FPGA-PCB設(shè)計流程
FPGA設(shè)計師必須滿足合成和布局布線約束以符合時序規(guī)定要求,而PCB設(shè)計師必須在后端約束設(shè)計以便滿足系統(tǒng)級的時序和SI要求。隨著設(shè)計復(fù)雜性的提高,這些約束在兩個設(shè)計流程之間可能產(chǎn)生沖突。
第一個需要解決的問題是加強兩個設(shè)計小組之間的溝通。另外一個關(guān)鍵的課題是確保HDL、FPGA和PCB環(huán)境中所使用的工具套件的一致性?;谡Z言的FPGA HDL描述必須被正確地描述成包含接腳分配數(shù)據(jù)的原理圖符號,并保持與PCB版圖工具的正確鏈接。最后,這兩個設(shè)計領(lǐng)域必須透過PCB上正確的FPGA接腳分配來保持同步,并以原理圖符號和PCB外形資料庫來進行表示,即使是不同的設(shè)計小組使用完全不同的工具套件也應(yīng)如此。
例如,為了滿足嚴苛的上市時間目標(biāo),一塊PCB可能包含多個平行設(shè)計高接腳數(shù)FPGA。每個FPGA封裝內(nèi)接腳輸出的變化必須連續(xù)反饋給PCB原理圖和版圖設(shè)計資料庫。PCB的高速SI分析工具必須能夠存取I/O收發(fā)器的驗證模型。為了完整或滿足高速時序要求的PCB布線也可能要求FPGA接腳輸出的調(diào)整。在這雙重追蹤過程中,F(xiàn)PGA設(shè)計師可以使用來自EDA供應(yīng)商和FPGA供應(yīng)商的工具。PCB設(shè)計師可以使用另外一家EDA供應(yīng)商的工具,而這一工具不必與FPGA工具供應(yīng)商提供的工具相同。
最大的障礙在于將FPGA布局布線工具結(jié)果傳送給原理圖和PCB版圖工具。如前所述,對于1,000個接腳以上的單個FPGA元件來說,這一過程可能要花一周的時間。隨著平行的FPGA-PCB設(shè)計過程的進行,接腳輸出變化(典型情況是4到6次)以及缺少完全自動的FPGA工具到PCB原理圖符號和幾何傳送過程,將導(dǎo)致設(shè)計進度被打亂。如果PCB設(shè)計系統(tǒng)能夠理解FPGA的接腳交換和驅(qū)動器規(guī)則,那么就能在PCB環(huán)境中實現(xiàn)這些接腳的變化,并自動反饋給FPGA工具。
為了確保獲得正確的性能,需要執(zhí)行包括PCB上實際布線在內(nèi)的高速驗證。隨著數(shù)Gb高速訊號的普及,F(xiàn)PGA供應(yīng)商提供的設(shè)計套件必須包含精確的IBIS、Spice或VHDL-AMS模型。有了這些模型以及能夠在GHz范圍內(nèi)進行訊號分析的PCB驗證工具,整個設(shè)計SI和性能就能得到充分驗證。
設(shè)計小組可能分布在世界上不同的地區(qū),這在大型組織機構(gòu)中經(jīng)常見到。這時需要采用內(nèi)建數(shù)據(jù)管理方法學(xué)使設(shè)計師們合作進行FPGA的板上整合,并追蹤任何一個設(shè)計師做出的每個修改。因此讓這兩個工具套件一起工作的關(guān)鍵在于這兩個流程所采用的工具之間的緊密介面。
如果設(shè)計小組能在FPGA I/O設(shè)計階段就開始前端的合作,那么他們勢必就能消除設(shè)計反覆。對于適合FPGA和PCB實現(xiàn)的獨特平行、互動式設(shè)計方法來說這是一種非常迫切的需求,它能最大可能地制作可布線的設(shè)計,并一次性地滿足SI和時序要求。新的整合化系統(tǒng)設(shè)計工具,如明導(dǎo)資訊公司的I/O Designer,就提供了這樣一種能夠滿足這些特殊需求的合作環(huán)境。
一致性、自動化和可擴充性
大多數(shù)FPGA I/O設(shè)計產(chǎn)生在設(shè)計過程中的邏輯抽象級。而實際上為了便于完成PCB設(shè)計過程,I/O設(shè)計必須在實體級進行。在設(shè)計過程中給每套約束指定優(yōu)先級后形勢將變得更復(fù)雜。
如果目標(biāo)只是盡快完成電路板原型,那么接腳輸出必須在設(shè)計過程早期固定下來。理想情況是,為了滿足PCB約束條件并得到最最佳化的PCB,PCB版圖設(shè)計師應(yīng)該在PCB版圖設(shè)計過程中決定接腳的分配方案,同時自動完成所有的FPGA約束。過去,I/O分配是由FPGA供應(yīng)商提供的布局布線工具自動完成的,很少考慮到PCB的要求。然而,隨著PCB復(fù)雜度的提高,這一過程需要得到設(shè)計小組的認真管理。因此目前典型的設(shè)計過程是在合成和布局布線過程之前就定義好這些前端約束。一般這些約束先被定義在特殊工具約束文件中,再直接傳遞給合成工具,然后轉(zhuǎn)送給布局布線工具。透過ASCII約束文件定義約束條件時要求設(shè)計師在分配I/O埠之前很好地理解FPGA I/O接腳詳細內(nèi)容和分配規(guī)則(FPGA I/O約束)。而這一工作一般是由FPGA設(shè)計師完成的,但他們可能不太明白PCB版圖細節(jié),因此不會最最佳化這一部份設(shè)計。
I/O設(shè)計過程是將所選FPGA連接到電路板上所有周邊元件時最佳化接腳分配的第一個步驟。I/O Designer能夠解決這一問題。為了最終決定電路板最佳化過程,I/O Designer將管理和控制PCB版圖設(shè)計過程中的接腳交換,同時確保這些交換不會破壞任何的FPGA技術(shù)規(guī)則。I/O Designer能使用戶以特殊的方式貫穿整個設(shè)計流程,從頂層HDL描述到PCB級符號,甚至到FPGA布局布線工具所需的實體接腳資訊。它能背注布局布線、PCB原理圖和版圖工具中產(chǎn)生的任何FPGA修改。因此這樣的工具能為設(shè)計HDL和FPGA實體實現(xiàn)的數(shù)位工程師以及采用元件符號的電路板設(shè)計師提供一個集中統(tǒng)一的環(huán)境。這樣做具有下面三大優(yōu)點:
一致性。每當(dāng)設(shè)計師修改接腳輸出時,這種變化應(yīng)該自動傳遞給FPGA設(shè)計用到的其它設(shè)計工具。如果PCB設(shè)計師決定交換兩個接腳,而這種交換又會影響到FPGA的內(nèi)部布線。I/O Designer能夠確保FPGA和PCB流程是一致的。作為一種數(shù)據(jù)管理工具,它監(jiān)視每個流程并管理所有產(chǎn)生的變化。它能追蹤PCB的接腳交換,并即時修改相關(guān)的文件。I/O Designer會根據(jù)HDL設(shè)計和接腳I/O分配過程產(chǎn)生FPGA布局布線約束,并根據(jù)‘后布線’接腳數(shù)據(jù)制作必要的符號、原理圖和分層關(guān)系。
自動化。FPGA布局布線過程的自動化以及時序和I/O約束的管理相對比較容易實現(xiàn)。但PCB版圖設(shè)計過程的全自動化比較困難,因為有許多可變因素需要考慮。在PCB版圖設(shè)計過程中,設(shè)計師要考慮整個電路板的布線,同時又要避免破壞任何時序、SI和可布線性約束條件。因此任何設(shè)計用于在電路板上整合FPGA的工具需要重點實現(xiàn)FPGA約束管理的自動化,同時允許設(shè)計師在PCB版圖設(shè)計中能集中精力執(zhí)行‘難以自動完成’的任務(wù)。這樣的工具還必須有內(nèi)建的包含了Altera、Actel和Xilinix等供應(yīng)商提供的必要元件資訊的庫,以便使約束得到順利實施以及使FPGA和PCB設(shè)計流程中所有工具能夠得到良好地整合。I/O Designer可以利用I/O設(shè)計資訊自動產(chǎn)生必要的符號和原理圖,并在I/O分配修改時維護好這些原理圖。如果變化來自于FPGA一側(cè),那么原理圖經(jīng)過簡單更新后就可將變化傳遞給PCB版圖工具。
可擴充性。在設(shè)計階段重新選用規(guī)模更大或更小的元件比較常見。由于FPGA元件的每個接腳具有特殊的屬性(如前所述可定義為FPGA I/O約束),設(shè)計師在分配I/O接腳時需要考慮向更大或更小規(guī)模元件轉(zhuǎn)移的可能性。有了I/O Designer后,設(shè)計小組在決定切換至更大或更小FPGA時就無需重新分配I/O。由于改變I/O設(shè)計經(jīng)常會造成額外的電路板重新設(shè)計工作,因此,如果沒有十分的必要應(yīng)避免這樣的作業(yè)。
利用FPGA的靈活性
現(xiàn)代FPGA架構(gòu)包含可程式的I/O,可支援50種以上不同的I/O標(biāo)淮。一般用得比較多的是單端和低電壓差分訊號(LVDS)I/O標(biāo)淮。雖然FPGA I/O設(shè)計是可變的,但它們的靈活性也有一定的限制?,F(xiàn)代的FPGA元件架構(gòu)將接腳集合分組成‘接腳組(pin-bank)’。在同一個接腳組中接腳共享參考電壓等某些共同的特性,因此通常是可交換的。但在不同接腳組中的接腳可能被指定不相容的I/O標(biāo)淮,因此會導(dǎo)致不同的情況。
一種情況是為了滿足PCB互連性能要求或PCB的可布線性,PCB設(shè)計師可能要求修改FPGA I/O接腳。另外一種情況是最初的接腳改變造成了不同I/O標(biāo)淮同時存在的問題,迫使已有訊號轉(zhuǎn)移到新的接腳組。最后一種情況是前一種情況下重新定位的訊號又造成了不同I/O標(biāo)淮同時存在的問題,迫使現(xiàn)有訊號被轉(zhuǎn)移到新的接腳組。
LVDS訊號線對主要用于高速訊號傳輸,此時SI問題比較突出。當(dāng)FPGA元件中的一個訊號被賦于LVDS I/O標(biāo)淮時,這個FPGA訊號就需要用到FPGA封裝中的2個接腳。LVDS訊號會改善PCB的性能,但也會產(chǎn)生附加的約束條件。LVDS線對必須:1)長度差在±10%之內(nèi);2)在整個走線長度內(nèi)差分線對保持固定的間距。
FPGA邏輯訊號使用太多的LVDS I/O標(biāo)淮會導(dǎo)致使用更大且具有更多接腳的FPGA封裝。而不采用LVDS I/O標(biāo)淮意味著產(chǎn)品性能會受到限制,甚至達到許多產(chǎn)品設(shè)計小組無法接受的程度。從單個接腳到雙接腳I/O標(biāo)淮(或反過來)的輕易改變能力能使整個設(shè)計小組使用最少的LVDS I/O訊號滿足系統(tǒng)性能約束條件??傊M量減少LVDS的使用可以降低PCB制造的復(fù)雜性和成本。
在I/O Designer等工具中置入I/O接腳組規(guī)則(PCB設(shè)計師很容易透過直觀易用的GUI學(xué)會)可以釋放PCB設(shè)計師的精力,開拓他們的視野,因而讓他們更有效地參與FPGA I/O設(shè)計過程。在掌握了FPGA I/O的平行FPGA和PCB小組設(shè)計、實現(xiàn)了FPGA和PCB設(shè)計流程中實體整合的自動化后,設(shè)計小組就能充分利用FPGA I/O的靈活性減少PCB布線的擁塞。認真檢查現(xiàn)代FPGA架構(gòu)和它們的用途可以發(fā)現(xiàn)很多有趣的事實:
* 在同一接腳組中的接腳很容易實現(xiàn)交換;
* 設(shè)計中同一匯流排內(nèi)的訊號一般都分配到同一接腳組(充分利用接腳的易交換性);
* 對設(shè)計中的匯流排訊號來說接腳組并不代表最佳的實體設(shè)計。(從圖3可以看出,使用相同的接腳組會迫使匯流排訊號在PCB上相互交叉)
通常學(xué)會高效地使用多個接腳組可以實體最佳化FPGA的I/O,并消除匯流排中的交叉訊號,同時也可能減少制造PCB所需的訊號層數(shù)量,因而達到降低成本的目的。
隨著目前高速、高閘數(shù)、高接腳數(shù)FPGA的出現(xiàn),F(xiàn)PGA設(shè)計唯一永?的主題是不斷產(chǎn)生的變化,包括為了滿足時序和損耗要求的互連級變化和FPGA本身內(nèi)部接腳分配階段的變化。FPGA設(shè)計具有的高度靈活性對電路板設(shè)計師來說也許是一個最大的夢魘。FPGA公司應(yīng)該明智地認真檢查現(xiàn)有技術(shù),確保今天的FPGA所提供的巨大靈活性和強大功能不會太過而成為PCB實現(xiàn)的潛在障礙。像I/O Designer這樣的工具能夠?qū)崿F(xiàn)PCB布局和驗證所需的原理圖連接自動化,而且它還能記住哪個訊號連接連到了哪個元件接腳,并指示這些接腳如何映射到原始的電路板級匯流排結(jié)構(gòu)。依靠正確的軟體工具以及FPGA和PCB設(shè)計平行路徑之間的緊密合作,F(xiàn)PGA設(shè)計和實現(xiàn)進度就可能節(jié)省‘周’數(shù)量級的時間,因而顯著地降低總體成本。
深圳宏力捷推薦服務(wù):PCB設(shè)計打樣 | PCB抄板打樣 | PCB打樣&批量生產(chǎn) | PCBA代工代料