混合信號(hào)FPGA的智能型驗(yàn)證流程
為了因應(yīng)市場(chǎng)對(duì)于較高性能、較小的系統(tǒng)尺寸及降低成本和電源的需求,系統(tǒng)設(shè)計(jì)者正將較高層級(jí)的混合信號(hào)功能整合在他們的系統(tǒng)單芯片(SoC)設(shè)計(jì)中。隨著這些SoC設(shè)計(jì)上的混合信號(hào)組件數(shù)量增加了,基本的功能驗(yàn)證對(duì)于硅初期能否成功也愈來(lái)愈重要。FPGA在系統(tǒng)整合難題上加入了一個(gè)新特點(diǎn),改善了系統(tǒng)整合面,如整體的系統(tǒng)成本、可靠性、可組態(tài)性、上市時(shí)間等。在核心上,此新范例-可編程系統(tǒng)單芯片(programmable system chip, PSC)整合FPGA電閘,內(nèi)嵌快閃和模擬功能在單一的可程序化組件中,提供了具真正程序能力的理想低成本路徑,而且系統(tǒng)設(shè)計(jì)者可以用來(lái)快速地設(shè)計(jì)和研發(fā)復(fù)雜的混合信號(hào)系統(tǒng)。
關(guān)鍵準(zhǔn)則
如業(yè)界分析師所言,F(xiàn)PGA正成為現(xiàn)代高度整合的SoC系統(tǒng)選擇的工具。原因很明顯。由于硅架構(gòu)是預(yù)先組裝的,因此沒有NRE成本,且任何可能影響產(chǎn)品性能或裝置可靠度的制程變化都應(yīng)已解決。芯片整體作業(yè)中大部分的復(fù)雜度(包括寄生RLC對(duì)時(shí)序的影響等)特性都已完整調(diào)整,且規(guī)格上的數(shù)據(jù)已考慮到這些。因此所有的驗(yàn)證循環(huán)都可以致力于設(shè)計(jì)的適當(dāng)功能性上。下一個(gè)需要的是可以盡量減少特征化和強(qiáng)化設(shè)計(jì)功能性目標(biāo)時(shí)間的驗(yàn)證方法。此項(xiàng)減少是透過(guò)組合智能型模型(抽出不會(huì)影響整體系統(tǒng)行為的較不重要細(xì)節(jié))將所產(chǎn)生的模型置入已完全了解的流程中。
復(fù)雜度增加
現(xiàn)場(chǎng)可程序化是系統(tǒng)整合全新的一面。此新的整合層級(jí)較深入且有以下幾個(gè)優(yōu)點(diǎn):系統(tǒng)設(shè)計(jì)者可移除系統(tǒng)的許多組件而將該功能整合在單一PSB中,大幅簡(jiǎn)化系統(tǒng)設(shè)計(jì);組件大幅減少就會(huì)有明顯小許多的尺寸;且微控制器核心的整合會(huì)免除主處理器的周邊任務(wù),降低系統(tǒng)處理的工作量要求。
新一代的PSC是第一個(gè)如此進(jìn)入可程序化邏輯市場(chǎng)的代表。它是第一個(gè)以FPGA提供的硬件可重組態(tài)性的基本好處結(jié)合閃存、混合信號(hào)功能性以及微控制器技術(shù)。日益復(fù)雜的內(nèi)容開啟了更小的整合裝置之許多可能,但FPGA設(shè)計(jì)者也立即有了額外的挑戰(zhàn),其中一項(xiàng)就是對(duì)付混合信號(hào)設(shè)計(jì)的復(fù)雜性。很少FPGA設(shè)計(jì)者有機(jī)會(huì)在這些領(lǐng)域中取得深刻的經(jīng)驗(yàn),因此什么是管理這些計(jì)劃的復(fù)雜度并確保它們第一次就成功的方法呢?
此一跨范圍的專業(yè)技術(shù)必須包裹在工具流程中。工具必須做得夠聰明來(lái)管理重要細(xì)節(jié)(如接口、組態(tài)和初始化需求)以便連結(jié)不同的組件并放在同一作業(yè)中。理想上此新系統(tǒng)功能性的復(fù)雜設(shè)計(jì)內(nèi)容匯集基本上和傳統(tǒng)工具流程完全一樣的工具流程。
智能型流程
不僅是ASIC/FPGA設(shè)計(jì)者對(duì)系統(tǒng)/模擬設(shè)計(jì)的實(shí)際經(jīng)驗(yàn)很少,大部分的系統(tǒng)設(shè)計(jì)者也同樣沒有數(shù)字邏輯的設(shè)計(jì)經(jīng)驗(yàn)。因此,日益純熟的設(shè)計(jì)內(nèi)容需要智能型的工具流程。這意味著工具有智能去組態(tài)和啟動(dòng)不同的系統(tǒng)組件,正確地將它們結(jié)合,并將令人卻步的所有跨范圍復(fù)雜度驗(yàn)證任務(wù)弄簡(jiǎn)單給工程師。在這種情況下,他們就必須產(chǎn)生一個(gè)FPGA。從前端(和實(shí)作步驟相反)開始,此復(fù)雜性就在3個(gè)重要區(qū)域中被管理:組件模型、設(shè)計(jì)實(shí)例(instantiation)以及驗(yàn)證流程。
組件模型
當(dāng)制作以硅為目標(biāo)的組件模型時(shí),對(duì)于細(xì)節(jié)組件行為對(duì)照驗(yàn)證系統(tǒng)正確作業(yè)所需的時(shí)間的取舍需謹(jǐn)慎為之。這在PLD架構(gòu)的模擬組件中尤其重要,依此零件的預(yù)先組裝天性即使是已解決的問題還是會(huì)被呈現(xiàn)。在最高層級(jí)的抽取中,所有的模擬組件都是依據(jù)數(shù)字組件將嚴(yán)格的數(shù)字行為規(guī)范覆蓋在模擬行為模式上。竅門是抽出組件的完整行為細(xì)節(jié),只留下能決定符合特定設(shè)計(jì)目標(biāo)系統(tǒng)所需的功能。在PSC流程方面,依據(jù)實(shí)際硅的特征化數(shù)據(jù)的規(guī)格上具有模擬功能的電子特征,如信號(hào)整合度、A/D傳輸功能以及耦合效應(yīng)等。包括輸入預(yù)先縮放、差動(dòng)增益、遲滯、A/D控制功能及輸出行動(dòng)等基本的模擬交換行為會(huì)被抽出,并放入適合在數(shù)字仿真器中特征化系統(tǒng)層級(jí)行為的粗略數(shù)字行為模式中。
設(shè)計(jì)實(shí)例
此一復(fù)雜且純熟系統(tǒng)的設(shè)計(jì)實(shí)例需要有足夠智能讓設(shè)計(jì)者快速行動(dòng)的靈活設(shè)計(jì)產(chǎn)生環(huán)境?;旧洗耍蛇_(dá)目標(biāo)裝置的邏輯資源所允許的最大值。這些受到自身繪圖組態(tài)器支持的非常靈活資源是可以擷取、組態(tài)、并例舉在設(shè)計(jì)中的,全都是非常簡(jiǎn)單的pick-and-click動(dòng)作,不需要直接HDL編碼。同時(shí)工具鏈會(huì)創(chuàng)造骨架,將想要的資源互連,并自動(dòng)創(chuàng)造必要的控制機(jī)制。
智能的以GUI為基礎(chǔ)的工具是在不需要直接使用者引導(dǎo)的背景下達(dá)成這些步驟的。這些工具的焦點(diǎn)都在容易使用,并提供快速的設(shè)計(jì)發(fā)展。當(dāng)然它并不排除傳統(tǒng)的 HDL代碼發(fā)展,后者是熟悉HDL的使用者所不可或缺的,他們?cè)谟?jì)算電閘時(shí)需要最大的最佳化設(shè)計(jì),或是需要廣泛的設(shè)計(jì)客制化。
驗(yàn)證
傳統(tǒng)的混合信號(hào)ASIC發(fā)展遵循由下而上的方法。它牽涉到兩個(gè)不同的小組:一個(gè)研發(fā)數(shù)字部分的寫入RTL代碼,而另一個(gè)在晶體管層級(jí)實(shí)作模擬電路。在驗(yàn)證方面,設(shè)計(jì)者一般使用Verilog-AMS或VHDL-AMS的高層級(jí)全芯片仿真以驗(yàn)證系統(tǒng)層級(jí)的行為,如功能、性能和遲滯等。這需要和最終電路關(guān)系密切的模擬行為模式。然而驗(yàn)證接口層級(jí)議題、時(shí)序、信號(hào)整合度和電源等晶體管層級(jí)的模擬還是需要晶體管層級(jí)的模擬。這也可以幫助避免模型和電路之間的不準(zhǔn)確性或不當(dāng)關(guān)聯(lián)。最近幾年出現(xiàn)了新等級(jí)的工具,允許混合信號(hào)共同仿真環(huán)境在指定的SoC中驗(yàn)證混合信號(hào)組件。
在PSC流程中,混合信號(hào)仿真是沒有必要的。對(duì)待組件內(nèi)的模擬功能像開架式分離組件一般。就像組件廠商一樣,數(shù)據(jù)規(guī)格所提供的模擬功能電子特征的許多信息依據(jù)實(shí)際硅的特征化數(shù)據(jù)。抽出詳細(xì)的模擬行為后所產(chǎn)生的模式在全數(shù)字仿真器(如ModelSim等)中,就完全可以達(dá)到系統(tǒng)層級(jí)的驗(yàn)證。模擬輸入是以真實(shí)或位向量值呈現(xiàn)在仿真測(cè)試基準(zhǔn)中,一般是以測(cè)試基準(zhǔn)工具產(chǎn)生的。
有了此層級(jí)的抽出,針對(duì)混合信號(hào)FPGA所提供的基本驗(yàn)證方法和沿著標(biāo)準(zhǔn)處理的數(shù)字FPGA基本上是相同的。
典型的PSC設(shè)計(jì)者會(huì)在設(shè)計(jì)過(guò)程中執(zhí)行以下步驟:在Libero中產(chǎn)生并整合系統(tǒng)功能區(qū)塊;透過(guò)Synplify或Synplify PRO合成設(shè)計(jì);利用ModelSim驗(yàn)證設(shè)計(jì);利用Libero Designer將設(shè)計(jì)編輯在Fusion PSC中以利后端實(shí)作;在ModelSim中利用后批注(back-annotated)時(shí)序再次驗(yàn)證。
此基本流程讓Fusion使用者可以利用經(jīng)證實(shí)的方法,在設(shè)計(jì)過(guò)程中的任何階段驗(yàn)證混合信號(hào)PSC的系統(tǒng)層級(jí)行為,就宛如全數(shù)字芯片般簡(jiǎn)單。此流程依據(jù)客戶設(shè)計(jì)中整合其余數(shù)字系統(tǒng)的某個(gè)模擬輸入組合執(zhí)行仿真系統(tǒng)層級(jí)行為必要的工作。
SoC發(fā)展概念上需要各式各樣的專業(yè)技術(shù),包括模擬設(shè)計(jì)、數(shù)字邏輯設(shè)計(jì)以及系統(tǒng)/結(jié)構(gòu)定義等。隨著整合層級(jí)的上升,此課題迅速地變得異常復(fù)雜,且FPGA發(fā)展常常牽涉到通常沒有這類專業(yè)的一小組邏輯/FPGA設(shè)計(jì)工程者。