<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 通過將SystemC和SystemVerilog集成在單個環(huán)境中獲得事務(wù)級建模和高級驗證功能

          通過將SystemC和SystemVerilog集成在單個環(huán)境中獲得事務(wù)級建模和高級驗證功能

          作者: 時間:2017-06-06 來源:網(wǎng)絡(luò) 收藏
          盡管業(yè)界對SystemC或SystemVerilog哪個更適用于系統(tǒng)設(shè)計和驗證仍有爭論,但已經(jīng)不需要在兩個之間作出選擇。通過互補(bǔ)的方式對它們高效地加以利用可以促進(jìn)那些高級驗證方法的成功運用。這些高級驗證方法通常會采用受限隨機(jī)測試生成、功能覆蓋、聲明和事務(wù)級建模(TLM)功能。

          通過支持面向?qū)ο蟮木幊谭椒?,這兩種語言都能對更高層的抽象進(jìn)行建模,而且都包含象隨機(jī)化這樣的驗證組件。兩者之間也有些區(qū)別。例如SystemC完全支持TLM,包括在高層抽象進(jìn)行描述、記錄和事務(wù)瀏覽;而SystemVerilog不完全支持TLM,但它支持聲明、功能覆蓋和改進(jìn)的受限隨機(jī)測試生成功能,因此也具有顯著的驗證優(yōu)勢。這兩種語言在功能上多少有些重疊,因此用這兩種語言建立系統(tǒng)時可以做到平滑轉(zhuǎn)換。

          可以在多個抽象層實現(xiàn)的高級驗證方法和建模技術(shù)能夠最佳地發(fā)揮TLM的優(yōu)勢。事務(wù)常用于建模硬件系統(tǒng),而系統(tǒng)軟件的語義很容易被表示為高層事務(wù)。這樣系統(tǒng)架構(gòu)師、軟件、驗證和硬件工程師之間就能直接進(jìn)行交流。更高層抽象和TLM可以使大量軟件被用作測試平臺的一部分,并允許在RTL編碼完成之前開始測試平臺開發(fā)。當(dāng)RTL設(shè)計實現(xiàn)時,驗證工程師就可以插入將RTL事務(wù)轉(zhuǎn)換成信號層事務(wù)的事務(wù)處理器。

          另外,設(shè)計領(lǐng)域和學(xué)科之間的這種高性能橋梁可以改善公司各個設(shè)計與驗證團(tuán)隊的所有成員之間的交流和合作。它允許軟件工程師和系統(tǒng)架構(gòu)師與驗證和硬件工程師直接分享數(shù)據(jù)。這種交叉學(xué)科交流本身也有助于發(fā)現(xiàn)和解決設(shè)計過程早期出現(xiàn)的問題,從而進(jìn)一步提高設(shè)計質(zhì)量和驗證的產(chǎn)能。


          圖1:在多個抽象層工作并使用高級驗證方法可以為系統(tǒng)級平臺的建立提供極好的機(jī)會,此時驗證復(fù)雜SoC所需的多學(xué)科匯聚要比以前早得多。

          標(biāo)準(zhǔn)集成可進(jìn)一步方便高級驗證

          設(shè)計復(fù)雜性意味著驗證小組必須能夠產(chǎn)生更多冗余度更少的測試,以便更快地覆蓋目標(biāo)性能。最佳的驗證解決方案可以幫助工程師利用高級驗證技術(shù)和方法實現(xiàn)更高的驗證產(chǎn)能,例如基于聲明的驗證、受約束的隨機(jī)測試、功能覆蓋和測試平臺自動化。

          這些方法已被一些前沿設(shè)計公司所采用,其中大多數(shù)設(shè)計公司開發(fā)私有工具來支持這些方法。這些私有工具被證明可以增加驗證效率和產(chǎn)能,并能提高設(shè)計質(zhì)量。然而,私有特性也阻礙了這些工具的廣泛采納。通常這些定制語言的集成以及獨立內(nèi)核和專用接口的整合限制被證明是相當(dāng)困難的。

          克服這些障礙的第一步是由公認(rèn)的標(biāo)準(zhǔn)組織如OSCI、Accellera和IEEE開發(fā)出標(biāo)準(zhǔn)的驗證語言和庫。這些新語言也必須克服其它HDL語言的設(shè)計與驗證限制,因為這些HDL語言缺少對更高層抽象的驗證支持。第二步是提供能夠全面支持在單個內(nèi)核和用戶接口中集成這些語言的仿真環(huán)境。這種語言的集成可以從根本上改變高級驗證方法的部署,使之最佳匹配項目需要,而不受語言或工具的限制。

          SystemVerilog和SystemC是適合高級設(shè)計與驗證使用的最重要語言。SystemVerilog和SystemC設(shè)計構(gòu)造允許在更高抽象層進(jìn)行建模,從而有利于下一代設(shè)計的創(chuàng)建與驗證。

          SystemVerilog是許多現(xiàn)成的專有和標(biāo)準(zhǔn)驗證與設(shè)計語言積累的結(jié)果,因此它能與現(xiàn)有的HDL環(huán)境無縫集成。SystemVerilog可以加快高級功能驗證的構(gòu)建,實現(xiàn)缺陷檢測的自動化和設(shè)計的完全覆蓋,包括難以預(yù)料的偏僻案例。它能改善建模質(zhì)量,使之具有更好的可視性和更少的缺陷,并且能夠通過支持受限隨機(jī)測試、自動化、聲明、覆蓋和測試平臺復(fù)用改善測試平臺架構(gòu)的質(zhì)量。

          SystemC能讓工程師在更高抽象層捕獲設(shè)計,并使用包括軟件在內(nèi)的高層測試策略執(zhí)行驗證。系統(tǒng)級測試平臺也可以在RTL級復(fù)用,實現(xiàn)驗證產(chǎn)能的提高。SystemC包括一個功能強(qiáng)大的并發(fā)建模層,非常方便創(chuàng)建無時序、并發(fā)的系統(tǒng)級架構(gòu)模型。因為SystemC是C++的擴(kuò)展,因此它有許多固有屬性,如類、模板和多種繼承性,這些屬性自己就能建立適合功能驗證的可復(fù)用事務(wù)級組件。用于開發(fā)軟件的同一可執(zhí)行平臺常被用于整個系統(tǒng)的驗證。這種驗證在項目初期就會發(fā)生,而事務(wù)級模型可以成為整個系統(tǒng)非常好的參考。

          一個全面集成的多語言仿真環(huán)境允許用SystemVerilog或SystemC編寫的高級測試平臺和設(shè)計組件使用任何設(shè)計語言?;旌虾推ヅ涠鄠€語言的能力可以使設(shè)計人員在多個抽象層上共享數(shù)據(jù),并在單次仿真中集成多個運算模型。不管設(shè)計人員處于哪個設(shè)計階段,工程師都可以使用事務(wù)器接口從不同抽象層連接即插即用模型,從而滿足不同層的需求。這樣不僅擴(kuò)展了通過接口的數(shù)據(jù)類型,還能對包括VHDL在內(nèi)的所有標(biāo)準(zhǔn)語言之間的測試平臺復(fù)用提供支持,從而推進(jìn)高級驗證方法的廣泛采用。

          進(jìn)一步的功能驗證

          高效驗證需要兩個關(guān)鍵要素,而這兩個要素都可以由SystemVerilog和SystemC保證。首先,驗證環(huán)境必須能夠盡可能自動地檢測缺陷,在這樣的環(huán)境中象聲明、自動化響應(yīng)檢查器和記分板等功能都會派上用場。其次,驗證環(huán)境必須能夠產(chǎn)生能引起缺陷的正確激勵信號。激勵可以通過定向測試或受限隨機(jī)技術(shù)生成,這些技術(shù)能以相對較少的代碼遍歷各種情況。

          SystemVerilog和SystemC SCV允許用戶在約束方面描述激勵情景,規(guī)定驅(qū)動設(shè)計的信號或事務(wù)所需的邏輯值。這樣仿真器可以為激勵產(chǎn)生隨機(jī)值,并具有能確保所生成的情景有效的約束條件。新的情景可以通過簡單地重新運行具有不同隨機(jī)種子的仿真器形成,從而產(chǎn)生不同但等同有效的激勵,因此可以用來檢查新的功能。

          使用隨機(jī)化和約束條件可以在驗證產(chǎn)能方面產(chǎn)生許多實質(zhì)性的改善。其它語言只能通過使用面向?qū)ο蠡蛎嫦蚍绞降膹?fù)雜編程技術(shù)才能提供這些性能。雖然SystemVerilog在其面向?qū)ο蟮募軜?gòu)中包括隨機(jī)化和約束條件,但它也能提供多種方式來部署這些性能,而且不需要學(xué)習(xí)面向?qū)ο蟮木幊碳夹g(shù),因此這些先進(jìn)技術(shù)得到了廣泛使用。

          一旦測試平臺中整合了隨機(jī)化功能,就需要通過功能覆蓋判斷實際上可能會發(fā)生哪一種情景。SystemVerilog功能覆蓋將跟蹤設(shè)計的哪個功能會被運用,因此不會在同一功能上浪費時間。

          橋接設(shè)計和小組層次

          因為考慮驗證過程的前后總是有所幫助,因此高效的方法是把測試平臺的重點放在設(shè)計該做什么,而不要放在如何做設(shè)計上。最便利的做事方式是在事務(wù)級編寫測試平臺。提高抽象層次可以增加產(chǎn)能,因為這樣可以使高層功能得到驗證,并且糾正速度比較低抽象層快??梢酝ㄟ^某種自動方式使用受限隨機(jī)、聲明、形式或其它技術(shù)處理細(xì)節(jié),也可以在更廣泛的設(shè)計和驗證工程師之間劃分細(xì)節(jié)。

          事務(wù)是指在受限時間周期內(nèi)系統(tǒng)中發(fā)生的所有活動集合。感興趣活動在特定時間開始,在一段時間后結(jié)束。在特定設(shè)計單元中或在兩個單元之間發(fā)生的所有操作、狀態(tài)修改、數(shù)據(jù)移動和運算都是事務(wù)。事務(wù)級模型用來在高層抽象描述復(fù)雜系統(tǒng),允許設(shè)計師在進(jìn)入完整實現(xiàn)的低層細(xì)節(jié)之前解決架構(gòu)問題。在功能驗證方面,基于事務(wù)的測試平臺允許驗證工程師在構(gòu)思設(shè)計的層次驗證正確操作。

          因為事務(wù)級模型提供的細(xì)節(jié)要比Verilog和VHDL RTL模型少得多,因此與在寄存器傳輸級建模的可執(zhí)行平臺相比,它們在仿真時的運行速度非???。SystemC事務(wù)模型也很快,甚至可以用作軟件開發(fā)平臺,從而支持早期的軟件開發(fā)和軟硬件協(xié)同仿真。另外,事務(wù)級和SystemC功能模型也具有足夠快的速度,可用于系統(tǒng)級架構(gòu)化建模和分析。

          事務(wù)瀏覽功能可使SystemC TLM供從事項目的所有工程師使用,從而進(jìn)一步提高設(shè)計和調(diào)試的效率。SystemC和TLM可以為系統(tǒng)架構(gòu)師和編程人員建立多產(chǎn)的公共平臺。事務(wù)的可視性可以表明由模型產(chǎn)生和消耗的特殊事務(wù)序列以及彼此之間的關(guān)系。

          SystemC和TLM還能為所有等級的設(shè)計層次上的復(fù)用提供重要的機(jī)會。例如,硬件設(shè)計師可以在預(yù)先定義的接口上用較低層RTL模型代替高層C模型。通過復(fù)用不同抽象層上的測試平臺組件可以在多個工程學(xué)科之間建立聯(lián)系路徑,增加信息共享,提高效率。

          集成語言的價值

          將多個先進(jìn)的編程語言集成在單個環(huán)境中可以使硬件設(shè)計師選擇復(fù)用用SystemC編寫的測試平臺,或選擇用SystemVerilog創(chuàng)建的額外驗證組件?,F(xiàn)在架構(gòu)師、編程人員和硬件設(shè)計師可以充分利用具有SystemVerilog聲明、受限隨機(jī)生成、功能覆蓋和測試平臺自動化等功能的可復(fù)用測試平臺組件。

          有許多理由要求在同一仿真中整合用不同語言編寫的以及在不同抽象層次的模塊。IP有許多來源,也有許多種形式。而且在集成過程中,很有可能所有的模塊不會同時出現(xiàn)在相同的抽象層次。比如,在自頂向下的流程中,原本所有模塊都是事務(wù)級模型。在逐步調(diào)整的過程中,一些模塊會被RTL所替換。

          SystemVerilog直接編程接口(DPI)可以在SystemC和SystemVerilog之間提供必要的高性能、易用性鏈接。有了SystemVerilog DPI后,系統(tǒng)架構(gòu)師和軟件工程師就可以用SystemC做設(shè)計,然后直接移動到SystemVerilog域進(jìn)行驗證,并允許他們充分利用受限隨機(jī)技術(shù)、測試平臺自動化、聲明和功能覆蓋等功能。

          因為是直接連接,SystemVerilog DPI要比編程語言接口(PLI)等標(biāo)準(zhǔn)應(yīng)用編程接口(API)更便利更快速。SystemVerilog面向?qū)ο蟮奶匦砸哺菀讋?chuàng)建可復(fù)用測試環(huán)境,因為它允許約束和其它方面通過繼承進(jìn)行控制或覆蓋。不過對于不準(zhǔn)備或不愿意從事面向?qū)ο蟮木幊倘藛T而言,在事務(wù)級編寫測試和約束的能力也能顯著增加測試效率。


          SystemVerilog DPI開放了一個公共的通信通道,因此允許跨越許多語言和引擎實現(xiàn)測試平臺的復(fù)用。

          統(tǒng)一的驗證環(huán)境

          為了充分發(fā)揮這種混合語言環(huán)境的先進(jìn)驗證性能,設(shè)計小組需要一個基于標(biāo)準(zhǔn)的解決方案,以便他們利用每種語言的長處,包括可應(yīng)用于多個抽象層的可復(fù)用驗證組件。

          仿真仍然是高級驗證方法的核心。仿真器應(yīng)該從根本上支持SystemVerilog、SystemC、Verilog和VHDL。對單個內(nèi)核中HDL和高層驗證語言的根本性支持可以獲得更快的性能和高度集成的調(diào)試和分析環(huán)境。如果在使用公共圖形用戶接口的統(tǒng)一內(nèi)核中支持所有的語言,并且語言的混合是透明的,那么肯定能獲得很大的靈活性,語言之間也很容易移植。

          仿真器應(yīng)該將SystemVerilog和SystemC的設(shè)計與驗證功能集成在統(tǒng)一的環(huán)境中,并設(shè)定最大化產(chǎn)能的階段。一個全面的混合語言設(shè)計環(huán)境允許用SystemVerilog或SystemC編寫的高級測試平臺與包括Verilg或VHDL在內(nèi)的任何設(shè)計語言一起使用。

          這樣,架構(gòu)師和設(shè)計師就可以選用他們所專長的任何語言,然后與項目的其他成員一起共享成果。在不同學(xué)科之間的這座橋梁可建立用于開放通信線的整體協(xié)作過程。結(jié)果將形成在線對話,使得許多問題和機(jī)會可以在設(shè)計開發(fā)過程的早期獲得討論澄清,而此時這些問題解決起來會更容易,代價也較低。

          高級驗證方法和事務(wù)級建模的有機(jī)結(jié)合可以創(chuàng)造出極大的靈活性,顯著地提高驗證產(chǎn)能和設(shè)計質(zhì)量,同時在系統(tǒng)架構(gòu)師、軟件設(shè)計師、硬件設(shè)計師和驗證工程師之間促成更好的交流。使用高層SystemC和事務(wù)級模型可以加速設(shè)計創(chuàng)建,推進(jìn)架構(gòu)化選擇的開發(fā)。SystemVerilog可以通過聲明和功能覆蓋等高級驗證技術(shù)加快系統(tǒng)有效性的確認(rèn)。


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();