<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種面向系統芯片的FPGA協(xié)同驗證方法

一種面向系統芯片的FPGA協(xié)同驗證方法

作者: 時(shí)間:2017-06-06 來(lái)源:網(wǎng)絡(luò ) 收藏

1引 言

隨著(zhù)SOC(系統芯片)設計任務(wù)復雜度的提高,功能驗證已成為系統設計中最大的瓶頸。對于百萬(wàn)門(mén)級的SOC芯片,每次投片的NRE是巨大的,預計,在未來(lái)兩年,驗證在設計中所占的比重將達到50%以上。由于SOC系統普遍涉及實(shí)時(shí)環(huán)境下的應用,現有的仿真工具不可能解決所有的功能驗證問(wèn)題,有必要利用FPGA在接近實(shí)時(shí)的條件下進(jìn)行軟硬件協(xié)同驗證?;诙嗥現PGA實(shí)現的驗證往往面臨系統分割的挑戰。盲目的、缺少優(yōu)化的系統分割,不僅很可能在綜合、分割、板上實(shí)現出現多次反復,浪費大量的時(shí)間,而且也難以保證FPGA驗證結果與ASIC設計的一致性。

本文在傳統邊界劃分的基礎上,通過(guò)靜態(tài)時(shí)序分析工具,利用關(guān)鍵路徑時(shí)延信息,對分割過(guò)程進(jìn)行約束。新的驗證策略注重系統分割在時(shí)序收斂、面積、數量和管腳數等方面的平衡,目的是使分割結果趨于合理,驗證環(huán)境更加接近SOC設計原型,避免傳統FPGA驗證在系統分割、綜合和設計等環(huán)節的反復迭代,實(shí)現了驗證和SOC開(kāi)發(fā)調試的同步。文章同時(shí)討論了該方法對于信號完整性分析的貢獻。

最后,通過(guò)一個(gè)分割實(shí)例,就分割效率與傳統方法進(jìn)行了對比。

2傳統的FPGA驗證流程

傳統的FPGA驗證流程如圖1所示。這種綜合與分割相互無(wú)關(guān)的驗證流程存在諸多缺陷。首先,從ASIC結構到FPGA結構的轉換存在差異,例如,很多SOC系統設計經(jīng)常會(huì )處理時(shí)鐘信號穿越“與”、“或”、“與非”等門(mén)的情況,如圖2所示。





此時(shí),綜合工具一般不會(huì )自動(dòng)選用FPGA專(zhuān)有的時(shí)鐘結構,其結果是產(chǎn)生時(shí)鐘歪斜(clockskew),導致ASIC代碼和綜合出來(lái)的FPGA在功能上不一致。即,如果忽略時(shí)鐘樹(shù)在時(shí)鐘域范圍的擴散效應,分割時(shí)很有可能導致從ASIC結構到FPGA結構的轉換的不一致。這個(gè)例子同時(shí)說(shuō)明,類(lèi)似的問(wèn)題同樣會(huì )在其它電路網(wǎng)絡(luò )中發(fā)生,RTL設計在滿(mǎn)足時(shí)序收斂要求的開(kāi)發(fā)過(guò)程中,無(wú)論采用的是動(dòng)態(tài)驗證還是靜態(tài)驗證技術(shù),都應當重視電路網(wǎng)絡(luò )中路徑延遲的影響。傳統FPGA驗證的系統分區分割策略通常采用沿自然邊界劃分的方式,設計者主觀(guān)上通常過(guò)分依賴(lài)幾何拓撲關(guān)系和層次化的系統模塊劃分,特別是忽略了分割過(guò)程與綜合和時(shí)序分析的關(guān)系。這種過(guò)于簡(jiǎn)單化的分割策略很可能會(huì )導致不合理的結果,FPGA驗證所映射的可能是沒(méi)有意義的ASIC結構。

3 基于關(guān)鍵路徑時(shí)延約束的FPGA驗證流程

3.1關(guān)鍵路徑時(shí)延提取
關(guān)于FPGA驗證,我們認為,高效率的系統分割至少應該具備兩個(gè)條件:找到最佳的分割點(diǎn)和在系統級上逼近設計。首先,分割在技術(shù)上是可行的,允許將設計劃分為多個(gè)適于單個(gè)FPGA實(shí)現的模塊,在接近實(shí)時(shí)的環(huán)境下進(jìn)行驗證。目前最大的FP2GA標準封裝可提供400到440個(gè)I#710;O,對I#710;O的管腳數目的支持不再成為分割的瓶頸,這也為傳統的沿著(zhù)內核或模塊的邊界進(jìn)行直接劃分提供了空間。在確定最佳分割點(diǎn)的反復迭代過(guò)程中,我們發(fā)現,利用靜態(tài)時(shí)序分析獲得的關(guān)鍵路徑時(shí)延信息,完全可以用于實(shí)現收斂性更好的系統分割。靜態(tài)時(shí)序分析是一種檢查ASIC設計邏輯和時(shí)序的工具,其主要目的是計算各通路的性能,識別可靠的蹤跡,診斷建立和保持時(shí)間的配合。靜態(tài)時(shí)序分析會(huì )分析報告所有關(guān)鍵路徑,包括一些重要的調試信息,比如每個(gè)網(wǎng)絡(luò )節點(diǎn)的扇出或容性負載等。

通過(guò)實(shí)踐發(fā)現,利用關(guān)鍵路徑時(shí)延信息對系統分割和綜合進(jìn)行約束,可以保證分割按照相對確定的標準進(jìn)行,獲得時(shí)序優(yōu)化的結果,從而有效地減少了功能驗證過(guò)程中的反復。同時(shí),為使驗證過(guò)程更為接近ASIC功能,分割時(shí)盡量做到面積、晶體管數量和管腳的匹配,保證分割的結果對面積和I#710;O利用而言都是合理的故障定位要求。這些措施均優(yōu)化了FPGA驗證過(guò)程,所獲得的綜合分區和時(shí)序收斂結果更好,為最終物理版圖驗證鋪平了道路。我們采用的具體辦法是,首先根據靜態(tài)時(shí)序分析報告確定關(guān)鍵路徑的分區門(mén)限,然后原則上沿著(zhù)功能邊界將延遲長(cháng)的路徑分割到同一個(gè)FPGA分區,通過(guò)更進(jìn)一步的綜合分區,獲得收斂性更好的路徑。其結果是,可以將需要驗證的探測點(diǎn)更多地分割到FPGA邊界,達到提高I#710;O利用率的目的。顯然,高的I#710;O利用率能夠有效地拓寬FPGA驗證范圍。經(jīng)過(guò)改進(jìn)的FPGA驗證流程如圖3所示。



該流程的優(yōu)勢在于:分割是按照確定的標準進(jìn)行的,針對傳統驗證流程的時(shí)序分析,僅僅對布局布線(xiàn)有效的缺陷,圍繞時(shí)序分析這個(gè)中心,將邏輯實(shí)現和物理實(shí)現有機地結合在一起,著(zhù)重考慮了關(guān)鍵路徑時(shí)延對FPGA分割效率的影響,使分割結果更為合理。此外,新流程通過(guò)在綜合、時(shí)序仿真過(guò)程、分割驗證中交互進(jìn)行靜態(tài)時(shí)序分析,實(shí)現了綜合、分割、驗證、設計的高效同步。在關(guān)鍵的時(shí)延信息和邊界條件約束下,經(jīng)過(guò)迭代,功能塊延時(shí)和布線(xiàn)延時(shí),能夠取得與實(shí)際比較一致的效果,多片FPGA實(shí)現時(shí)的代碼修改量也得到減少。Xilinx、Altera等FPGA生產(chǎn)商大多支持兼容的第三方時(shí)序分析工具,應用時(shí)選用Synopsys的PrimeTime進(jìn)行靜態(tài)時(shí)序分析。該工具的優(yōu)勢在于不要求用戶(hù)輸入激勵或測試矢量,可通過(guò)調用db格式的網(wǎng)表文件,方便地查看關(guān)鍵路徑或指定通路的時(shí)序。

3.2 信號完整性的保證
新流程對SOC驗證效率的另一貢獻,是提供了一種在代碼級優(yōu)化信號完整性的途徑,有利于在綜合和板級驗證的過(guò)程中對信號完整性實(shí)施動(dòng)態(tài)的控制,及早發(fā)現設計中隱藏的嚴重的信號完整性缺陷。信號完整性(SignalIntegrity,SI)是指傳輸線(xiàn)上的信號質(zhì)量及信號定時(shí)的準確性。SOC芯片設計一般要求數據必須在時(shí)鐘觸發(fā)沿建立之前穩定,才能保證邏輯控制的準確性。應當注意到,摩爾定律所隱藏的另一層含義是,RTL系統設計要隨時(shí)應付工藝實(shí)現條件的變化,因為設計不可能總是針對最新的工藝條件實(shí)現的。

本文引用地址:http://dyxdggzs.com/article/201706/349616.htm

新的工藝條件可能會(huì )給原設計帶來(lái)影響。例如,設計從0125Lm工藝轉向0118Lm工藝實(shí)現時(shí),就存在信號完整性問(wèn)題。隨著(zhù)系統速度和處理帶寬的增加,信號完整性的影響會(huì )表現得更加突出。另一方面,傳統的RTL設計在設計和驗證環(huán)節存在與信號完整性分析脫節的現象,難以發(fā)現并修正信號完整性缺陷,或者在向更高標準工藝遷移時(shí),由于代碼修改量太大,勢必加重系統驗證等環(huán)節的負擔,從而使設計效率大打折扣。因此,我們的出發(fā)點(diǎn)是,爭取以最小的代碼修改量,實(shí)現RTL代碼與FPGA的直接映射,保證FPGA功能驗證的要求;同時(shí),將信號完整性的影響在驗證過(guò)程中以更直觀(guān)的方式體現出來(lái)。

分析表明,最直觀(guān)的信號完整性問(wèn)題通常與電路模塊之間的互連點(diǎn)有關(guān),這在靜態(tài)時(shí)序分析中實(shí)際上有所反映。特別需要指出的是,新的FPGA驗證流程是建立在經(jīng)過(guò)優(yōu)化的系統分割基礎上的。正如上一節所指出,延遲長(cháng)的路徑基本約束在同一個(gè)FPGA分區。經(jīng)過(guò)這樣的優(yōu)化處理,實(shí)際上,一方面是對信號完整性有一定的優(yōu)化;另一方面,由于I#710;O利用率的提高,更多的故障探測點(diǎn)分割到了FPGA的邊界,信號完整性在協(xié)同驗證中會(huì )得到更多的反映,通過(guò)軟件全速仿真,比較容易查找和定位設計缺陷,及早消除設計隱患;同時(shí),為RTL代碼的動(dòng)態(tài)優(yōu)化提供了依據,有利于在設計前期盡量減少信號完整性缺陷,使之適應工藝條件變化的能力更強,提高設計的穩健性。通過(guò)采取以上措施,我們在原SOC設計的基礎上,以較小的代碼修改量,實(shí)現了從0125Lm向0118LmCMOS工藝的平滑過(guò)渡,并通過(guò)了系統后仿真。

4 系統分割驗證結果

FPGA分割選用XilinxISE基于網(wǎng)表的集成驗證環(huán)境,采用三種XC4000系列器件(XC4003、XC4005、XC4010)生成驗證原型。該系列器件能生允許范圍內的任意頻率,可方便地提取片上和片外的精確50#710;50占空比的時(shí)鐘,時(shí)鐘邊緣的定時(shí)精度達到1%。加之經(jīng)過(guò)改進(jìn)的時(shí)鐘布線(xiàn),驗證環(huán)境比較接近高性能SOC的實(shí)際要求,能夠保證驗證環(huán)境與SOC系統保持最大限度的一致。圖4是采用地址#710;數據復用實(shí)現的PCI接口模塊的FPGA分割結果。其中,PCI控制單元采用兩級控制流水方式實(shí)現與FIFO的高速數據交換,流水線(xiàn)控制信號完全約束在FPGA邊界內部。圖5是FPGA在布局布線(xiàn)后,50MHz系統時(shí)鐘下PCI接口64字節數據緩沖存儲器讀操作的后仿真結果。





這種更為準確的分割驗證同樣會(huì )給板級測試帶來(lái)方便。硬件仿真時(shí),可以利用邏輯分析儀的數據接口測試流到探測頭的信號,也可以通過(guò)串口或以太網(wǎng)接口對邏輯分析信道進(jìn)行采集分析,便捷地測試FPGA之間的傳遞信號。經(jīng)過(guò)改善的FPGA分割驗證策略比較準確地反映了信號網(wǎng)中的路由拓撲,包括FPGA內部組合邏輯延遲、信號通過(guò)FPGA邊界所需的時(shí)間;故障的定位也相對容易,某些故障還可以提前預知。在進(jìn)一步的驗證工作中,使用了6片XC4000對一個(gè)基于Verilog語(yǔ)言實(shí)現的的SOC系統(包括VLIW處理器核、總線(xiàn)控制器、I#710;O接口等)進(jìn)行了分割(設計是以較小粒度的方式實(shí)現的,這樣分割效果更為理想)。全芯片軟件固化激勵測試的結果與RTL測試結果完全一致。表1列出了改進(jìn)方案與傳統分割結果的數據對比。結果表明,I#710;O利用率有明顯的提高,邏輯控制塊的利用率也有所改進(jìn),進(jìn)一步證明了方案的有效性。



5結 論

本文探討了一種經(jīng)過(guò)優(yōu)化的SOC系統的FP2GA協(xié)同驗證策略,依靠靜態(tài)時(shí)序分析工具,利用關(guān)鍵路徑時(shí)延對分割過(guò)程進(jìn)行約束,顯著(zhù)改善了傳統的沿自然邊界分割的效率,驗證結果更為接近SOC運行環(huán)境。新的協(xié)同驗證流程實(shí)現了SOC設計與FPGA驗證的同步,減少了不必要的反復迭代環(huán)節,有利于排除系統設計階段可能導致系統失效的因素,加大了系統設計生產(chǎn)調試一次成功的可能性。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>