智能流程簡化可編程系統(tǒng)芯片設(shè)計
隨著SoC設(shè)計中混合信號器件的增加,基本的功能驗證在半導體的早期制備中變得十分重要。沒有這種驗證,系統(tǒng)設(shè)計人員將需要為半導體制備的返工耗費數(shù)以百萬計美元,并且浪費寶貴的設(shè)計和驗證資源,而且還可能錯過產(chǎn)品上市的良機。幸運的是,現(xiàn)在的設(shè)計人員比過去有更多的選擇;設(shè)計混合信號系統(tǒng)不再局限于混合信號ASIC、模擬MCU或分立組件。FPGA為系統(tǒng)集成開辟了新的方向,能夠改善系統(tǒng)集成的各個方面,如降低總體系統(tǒng)成本、提高可靠性、實現(xiàn)可重配置性、縮短開發(fā)時間等。這種以可編程系統(tǒng)芯片(PSC)為核心的嶄新解決方案將FPGA門、嵌入式Flash和模擬功能集成在單一可編程器件中,提供理想的低成本方案,具備真正的可編程性,而且可讓系統(tǒng)設(shè)計人員快速地設(shè)計和開發(fā)復雜的混合信號系統(tǒng)。
關(guān)鍵要素
如果要一次投片成功,要選擇好的且通過基本功能驗證的可編程設(shè)計平臺是非常重要的。據(jù)市場研究機構(gòu)Dataquest1報告指出,F(xiàn)PGA從廣義上講,正成為現(xiàn)代高度集成SoC系統(tǒng)的首選媒體。原因很明顯;由于FPGA的半導體構(gòu)架是“預制”的,不存在非經(jīng)常性工程(NRE)成本,加上任何可能影響產(chǎn)品性能或器件可靠性的工藝變數(shù)實際上均已解決。涉及芯片整體運行的大量復雜因素(包括影響時序的寄生RLC效應(yīng)等)均已準確確認,并納入產(chǎn)品的技術(shù)資料表中。因此,所有的驗證循環(huán)都可以針對設(shè)計的特有功能。下一步所需的是驗證方法,可以將確定設(shè)計及進行迭代的時間減至最少,并且保留所有設(shè)計內(nèi)容。這可通過智能建模(即剔除一些不太重要且不會影響整個系統(tǒng)行為的細節(jié))以及將所得到的模型映像到經(jīng)已充分了解的流程來實現(xiàn)。
越來越復雜的內(nèi)容
現(xiàn)場可編程性是系統(tǒng)集成的一個全新方向。這個新方向能夠?qū)崿F(xiàn)更深層面的集成,并具有多個重大優(yōu)點:系統(tǒng)設(shè)計人員可在其系統(tǒng)中省掉多個器件,并將器件的功能集成到一個單芯片PSC中,大幅簡化系統(tǒng)的設(shè)計;顯著減少部件數(shù)目意味著外形尺寸也可顯著減小;微控制器核的集成將使主處理器擺脫外設(shè)的任務(wù),從而降低系統(tǒng)處理對數(shù)據(jù)吞吐能力的要求。
Actel Fusion PSC是首個能滿足這種需求的可編程邏輯解決方案,首次將Flash內(nèi)存、混合信號功能及微控制器技術(shù)與FPGA提供的硬件可重配置性的各種基本優(yōu)點融合在一起。集成的內(nèi)容越來越復雜,意味著可以將更多的可能性集成到更小的器件中,但同時也會向FPGA設(shè)計人員提出一些新的挑戰(zhàn),例如至少得應(yīng)對混合信號設(shè)計的復雜性。鮮有FPGA設(shè)計人員有機會在這個領(lǐng)域中取得豐富的經(jīng)驗,那么,應(yīng)采用什么方法管理這些項目的復雜性并確保一次性成功呢?這種交叉領(lǐng)域的專門技術(shù)必須集成在開發(fā)工具流程中。開發(fā)工具必須足夠“聰明”,能夠管理接口、配置和初始化等關(guān)鍵細節(jié),以便將不同的部件聯(lián)結(jié)起來,形成一個工作整體。在理想的情況下,可采用與傳統(tǒng)開發(fā)工具基本相同的流程,將這種新系統(tǒng)功能的復雜設(shè)計內(nèi)容聚合起來。
傳統(tǒng)的FPGA設(shè)計流程
在選擇ASIC或可編程解決方案時,第二個考慮因素是FPGA工具的易用性和成本效益。眾所周知這些工具是用于集成高度復雜的設(shè)計功能,如快速架構(gòu)開發(fā)(即通過快速生成核來實現(xiàn)開發(fā))、邏輯和物理綜合、行為和結(jié)構(gòu)仿真,以及各種創(chuàng)新的調(diào)試技術(shù)。這些系統(tǒng)越來越多地向更高的抽象層擴展,涵蓋器件/ 系統(tǒng)建模、設(shè)計分區(qū)、基于總線的通信協(xié)議和軟/硬件協(xié)同驗證。但傳統(tǒng)FPGA設(shè)計流程的基本目標是將所需要的部件捆綁成一個“按鈕”式的流程,容許單一工程師便可定義、生成和驗證設(shè)計的“軟”副本,然后在硬件FPGA系統(tǒng)門中實現(xiàn)和調(diào)試。
智能流程簡化可編程系統(tǒng)芯片的設(shè)計
不僅ASIC/FPGA設(shè)計人員很少擁有系統(tǒng)/模擬設(shè)計的實際經(jīng)驗,大多數(shù)系統(tǒng)設(shè)計人員同樣也缺乏數(shù)字邏輯的設(shè)計經(jīng)驗。因此,越來越復雜的設(shè)計內(nèi)容要求工具流程必須“智能化”,也就是說,開發(fā)工具可以對不同的系統(tǒng)部件進行智能配置及初始化,并將這些部件正確地聯(lián)結(jié)在一起,使所有交叉領(lǐng)域復雜性的驗證任務(wù)變得簡單。在這種情況下,接下來還得生成一個FPGA!在設(shè)計的前期(相對于實現(xiàn)階段而言),這種復雜性通過3個關(guān)鍵環(huán)節(jié)來管理,即部件建模、設(shè)計實例化和驗證流程。
部件建模
當針對半導體制備進行部件建模時,重要的是仔細權(quán)衡部件的細節(jié)行為和驗證系統(tǒng)是否正確工作所花費的時間。這種權(quán)衡對PLD架構(gòu)內(nèi)的模擬部件尤其重要,即使這部分的預制性表明這些問題已經(jīng)解決。在最高的抽象層,所有模擬部件都是數(shù)字部件,其模擬行為的模型是通過疊加嚴格的數(shù)字化行為指標來建立。這里的技巧是抽出部件的全部行為細節(jié),同時保留那些決定最終系統(tǒng)能否滿足設(shè)計要求的功能。對于PSC流程,模擬功能的電氣特征參數(shù)(如:信號完整性、A/D 轉(zhuǎn)換功能和耦合效應(yīng))均可在產(chǎn)品技術(shù)資料表中查到,并基于實際半導體器件的特征數(shù)據(jù)?;镜哪M開關(guān)行為包括輸入預定標、微分增益、遲滯、A/D控制功能和輸出行為等,都被抽象成粗略的數(shù)字行為模型,適合在數(shù)字仿真器中描述系統(tǒng)級的行為特征。
設(shè)計實例化
跟有些人猜測的一樣,對復雜精細的系統(tǒng)進行設(shè)計實例化需要非常靈活且具備足夠智能的“設(shè)計生成”環(huán)境,讓設(shè)計人員快速入手和實施。基本上,這個設(shè)計環(huán)境將容許所需的資源導入設(shè)計環(huán)境中,以達到目標器件邏輯資源所允許的最大限度。由本身的圖形配置器提供支持,這些非常靈活的資源可以被捕捉、配置,以及設(shè)計實例化,而所有操作均為簡單的鼠標點擊,無需直接編寫HDL代碼。與此同時,這種工具鏈創(chuàng)建了主干總線,將所需資源的互連及自動創(chuàng)建必要的控制機制。這些工序?qū)⒂梢詧D形化用戶界面為基礎(chǔ)的智能工具在背后完成,無需用戶直接引導。這些工具專注于簡便的使用及提供快速設(shè)計的開發(fā)能力。當然,它們不會排斥傳統(tǒng)的HDL代碼編程——對于那些習慣使用HDL的用戶,以及需要最大限度地優(yōu)化設(shè)計或需要大量設(shè)計定制的用戶,HDL編程功能是不可或缺的。
驗證
傳統(tǒng)的混合信號ASIC開發(fā)遵從自下向上的方法。這種開發(fā)方法涉及兩個獨立的團隊;一個開發(fā)數(shù)字部分,即編寫RTL代碼;另一個在晶體管層面實現(xiàn)模擬電路。對于驗證而言,設(shè)計人員為了驗證各種系統(tǒng)級行為如功能、性能和延時等,一般都使用基于Verilog-AMS或VHDL-AMS語言的高層全芯片仿真,這種方法需要很好地關(guān)聯(lián)最終電路的模擬行為模型。然而,晶體管層面的仿真仍然需要,以便驗證某些接口層問題、時序、信號完整性和功率。這也有助于避免模型和電路間的偏差及錯誤。最近幾年,一類全新的開發(fā)工具應(yīng)運而生,可讓混合信號協(xié)同仿真環(huán)境驗證給定SoC芯片中的混合信號部件。[!--empirenews.page--]
在PSC開發(fā)流程中,并不需要混合信號仿真。器件中模擬功能的處理方式,非常相似于現(xiàn)成的分立組件。產(chǎn)品的資料表已提供了大量的模擬功能電氣特性參數(shù),并基于實際半導體的特征數(shù)據(jù),象分立組件供應(yīng)商提供的資料一樣。由于在最終模型中抽出了細節(jié)性的模擬行為,這種模型完全能在全數(shù)字仿真器(如 ModelSim)中完成系統(tǒng)級驗證。在這種仿真測試平臺上,模擬輸入表示成一些實數(shù)值或數(shù)位向量值,通常由測試平臺工具(如Synapticad WaveFormer)來生成。
基于這個抽象層面,用于混合信號FPGA的基本驗證方法在本質(zhì)上就與標準數(shù)字FPGA產(chǎn)品的驗證方法相同。簡言之,PSC設(shè)計人員在設(shè)計過程中一般需要完成如下步驟:
a) 在Libero工具中生成和集成系統(tǒng)構(gòu)件;
b) 通過Synplify或Synplify PRO綜合設(shè)計;
c) 使用ModelSim驗證設(shè)計;
d) 使用Libero Designer將設(shè)計編譯到Actel Fusion PSC中,以便進行后端實現(xiàn);
e) 在ModelSim中運行時序反標注(back-annotated timing)功能來重新驗證。
這個基本流程能讓Fusion客戶使用公認的方法,驗證其混合信號PSC的系統(tǒng)級行為,并可在設(shè)計的任何階段如綜合前、綜合后和布局后進行,而且與驗證全數(shù)字芯片一樣簡單。熟悉Libero流程的設(shè)計人員不會看到任何重大變化,而呈現(xiàn)在新客戶面前的是簡單易懂的流程,可讓他們快速簡便地完成 Fusion技術(shù)到其系統(tǒng)的“融入設(shè)計”(design in)。這個流程將會執(zhí)行仿真系統(tǒng)級行為所需的充分工作,并在給定的客戶設(shè)計中以一組給定的仿真輸入與數(shù)字系統(tǒng)中剩余部分的相互作用為基礎(chǔ)。
結(jié)語
從概念上來說,SoC開發(fā)本身就需要多種專門技術(shù),包括模擬設(shè)計、數(shù)字邏輯設(shè)計和系統(tǒng)/架構(gòu)定義。不用說,隨著集成度的提高,這種開發(fā)很快就變得非常復雜,而且,在FPGA開發(fā)中經(jīng)常都會有一些邏輯/FPGA設(shè)計工程師并沒有這方面深入的專門知識。FPGA的可編程性大大增強了系統(tǒng)的可用性,但同時也增加了另一個層面的復雜性。因此,需要使用智能化的系統(tǒng)級集成和驗證工具來實現(xiàn)PSC。在適當?shù)某橄髮用孢M行系統(tǒng)級驗證已經(jīng)證明能夠改善設(shè)計質(zhì)量和提升設(shè)計團隊的整體生產(chǎn)力。隨著新的開發(fā)工具出現(xiàn)以支持這個流程,設(shè)計質(zhì)量和生產(chǎn)力可望進一步提高。