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