poi设置word分页,分页前为竖排,分页后为word文字横排变竖排,如何实现

你的位置:
从验证的角度,systemverilog和systemc谁更合适?
由于工作的原因,先后接触了sv和sc。谈不上深刻理解,勉强能编写验证平台并完成前端的功能验证流程。
对于两门语言,个人的理解:
在EDA软件能完美综合TL层以上级别的系统描述之前,系统设计还是以RTL为主。sv比sc更加适合描述RTL级,并针对verilog描述的缺点强化了表达能力(如简化端口信号名)、消除综合歧义(如always块),是下一代的主流设计语言。
这一点应该没有疑义,接下来主要讨论验证:
1)相同点:从验证的角度,sv引入了基于可控随机的验证、断言、功能覆盖率等,EDA厂商联合推出了UVM方法学。上述功能sc也可以实现。
2)不同点:如果使用sv,开发和验证团队可以采用同一种语言进行描述和沟通,效率会大幅提高。
如果使用sc,可以方便地实现软硬件协同验证(sv需要通过DPI调用C/C++?)。在强调SOC的今天,sc似乎更加应用。
问题是:目前业界的验证主流是什么,sv or sc?我看到的是sv,真实情况是这样吗?
如果是,为什么EDA厂商更加看重sv?
如果不是,能否介绍一下情况(比如哪些公司在什么类型的项目上使用了sc,效果如何,不用涉及公司机密)。
或者是第3种解释:如果不涉及软件,就用sv,否则用sc?这样的问题是同时要求验证团队有sv/sc的能力。
小弟真诚请各位牛人现身,望空膜拜中...SystemC与SystemVerilog的比较-可编程逻辑-与非网
就 SystemC 和
这两种语言而言, SystemC 是C++在硬件支持方面的扩展,而 SystemVerilog 则继承了 Verilog,并对 Verilog 在和验证能力方面进行了扩展。这两种语言均支持诸如信号、事件、接口和面向对象的概念,但每一种语言又均拥有自己明确的应用重点:
(1) SystemC 特别适合建模体系结构,开发事务处理级(TL)模型和在验证中描述软件的行为。对于具有很强C++实力的团队和有基于C/C++ IP 集成要求(如处理器仿真器),以及为早期软件开发设计的虚拟原型来说, SystemC 特别适合。
(2) SystemVerilog 是进行RTL设计的最佳语言,不仅在于其描述真实硬件和断言的能力,还在于对工具支持方面的考虑。同时, SystemVerilog 也提供了建模抽象模型和先进的验证平台语言特征,例如受限制随机激励生成、功能覆盖或断言。对于那些没有C/C++ IP 集成要求的项目来讲比较合适,毕竟可以使用一种语言完成全部设计。
当然, SystemC 可以用于验证平台和描述RTL结构,而 SystemVerilog 也可以用于编写高层事务处理级模型。但是,每一种语言都用于自己的重点应用时,它们可以达到最佳的效率。这点对于复杂的项目特别适用,在这种项目中,不同的任务分属于不同的组,通常有不同的技能要求。注重实效的解决方案以及符合设计团队的多种技术要求的方法是同时使用 SystemC 和 SystemVerilog 来开发和验证当今设计流程需要的虚拟原型的事务处理级模型。
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
(有奖互动)烦心事与圣诞节更配?……
旗下网站:
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号403 Forbidden
403 Forbidden ESL解決方案的目標在於提供讓設計人員能夠在一種抽象層次上對芯片進行描述和分析的工具和方法,在這種抽象層次上,設計人員可以對芯片特性進行功能性的描述,而沒有必要求助於硬件(RTL)實現的具體細節。& &
當今,芯片設計需要進行深入的係統級仿真,以確保設計的體係架構合適均衡。在絕大多數情況下,所進行的這些仿真還要求在芯片的仿真模型上運行大量的軟件, 以覆蓋所需的功能。為了讓這些仿真具有合適的執行性能,架構設計正在向電子係統級(ESL)解決方案發展。本文探討了一種基於SystemC和 SystemVerilog的設計流程如何滿足極為複雜的硬/軟件係統級芯片(SoC)的設計周期和降低風險的目標。  複雜性催生ESL方法學為了探討ESL在設計流程中的作用,我們首先看一下當今的主要設計原則。下麵的圖1所示是一個十分典型的芯片。目前,這類SoC的一大部分是采用IP 模塊進行組裝的。這些模塊部分來源於以前的設計,其它是從內部IP庫獲取的,或者是由外部IP提供商所許可使用的。當然,SoC中還包含了需要重新創建以 加入關鍵性功能的模塊。據普遍預計,對於下一代90納米和65納米
設計而言,
IP的使用將進一步增加。SoC還將包含多個可編程部件,例如中央處理器(CPU)和數字信號處理器(DSP)。有了這些部件和眾多的(甚至更大的)IP 模塊,為了SoC設計的成功,在性能、功耗和芯片製造成本之間通過快速組裝、仿真和分析各項體係結構方案尋求最佳平衡的能力正在變得越來越關鍵。除了硬件設計任務以外,軟件設計任務也正在成為SoC設計流程中一個不可或缺的組成部分。傳統上,軟件設計任務標準情況下隻在芯片的硬件原型已經提供 後才執行。例如,在無線領域,這種方式經常導致產品推出時間計劃的延遲,原因是&軟件尚未完成&。為了解決這個問題,一種&虛擬原型&的概念出現了。虛擬 原型是目標芯片的一種高速(20MHz以上)事務處理級模型,這個模型讓軟件開發工作在硬件原型完成前數個月前就可以開始了。  新興的SoC設計流程圖2所描述的設計流程有利於引導SoC開發人員盡力解決這些難題。這一設計流程以ESL流程為起點,包含三項緊密相關的行動&&產品規格確定、體係架 構設計以及軟件執行平台的開發。這個ESL流程的一項關鍵要求是它催生了一種硬件和軟件並行開發的流程,為需要設計的新邏輯模塊提供了詳盡的規格,並提供 事務處理級的虛擬原型,而軟件開發任務就可以在這一原型上執行。ESL階段之後是RTL設計/驗證和軟件開發任務的並行執行,這樣在創建了硬件原型(要求提供RTL)的同時,也能夠提供必需的軟件。與此類似,在芯片物理設計完成,代工廠即將交貨之時,絕大多數或全部的所需軟件均已經準備好並經過驗證,從而確保大幅縮短最後的硬件/軟件集成階段。  事務處理級建模&&ESL的關鍵事務處理級建模提供了用於構建上述虛擬原型的關鍵技術。係統的事務處理級模型描述了係統各個功能單元之間的抽象操作(事務處理)。典型情況下,這些事務處理是各個功能單元之間交換的整個的數據結構(或對象)上讀取/寫入或發送/接收操作。事務處理級模型的仿真速度比RTL模型快出若幹個數量級。首先,它不對每一個硬件信號的功能進行建模,而是在抽象數據類型(可能代表了許多單個信號) 上操作的模型,從而實質性地加快了仿真的速度。第二,通過使用抽象數據類型來代表RTL內多時鍾周期的數據傳輸,甚至可以讓仿真的速度增加更快。因此,將 這些因素結合起來,TLM模型比同等的RTL模型的運行速度快出100倍至1000倍以上都是常見的,這個速度已經快到足以運行相當大的軟件。當今,在RT上的抽象層次已經十分明確,但TLM尚未達到這樣的程度。實際上,適當的TL抽象層次經常取決於應用領域和運行仿真的首要目的。某些應用 要求周期上的精確性,例如對具體的高速緩存器特性的分析。而某些應用甚至可能要求在開發流程中與RTL模型建立部分關聯,而其它應用(典型為軟件開發任 務)隻需要功能上的精確度。目前,SystemC和SystemVerilog均得到了廣泛應用,並由IEEE和其它工業組織進行了標準化,得到了由各家EDA供應商提供的工具的廣泛支持。而將SystemC和SystemVerilog組合起來,能夠最大範圍地解決可能出現的對事務處理級的建模問題以及滿足工程師的偏好,並提供一套從ESL至RTL驗證的完整解決方案。  SystemCSystemC是一種靈活的基於對象的結構化建模語言,設計用於對包括TLM在內的多種抽象層級進行建模。SystemC以C++庫來實現,其中將並發性結合進傳統C++語言框架中。雖然SystemC語言相對較新,但SystemC的采用具有重要的意義。原因之一是,在SystemC成為標準以前,
許多公司和大學已經在采用以前的各自專有C/C++庫在事務處理級上對係統進行建模。這樣,SystemC就向這些設計人員提供了一種實現他們的事務處理 級方法學的工作標準方式,並提供了一種更為便捷的途徑交換係統級IP和知識。第二個原因是,SystemC使各種(基於C語言的)工具和仿真器相對較為容 易的集成,例如,集成微處理器核心用的指令集仿真器(ISS),並具備借助C++大量的專家,采用這一語言方便地來加快工作。關於SystemC的典型使用情況,根據最近有關SystemC的出版物以及各項調查中得知,例如SystemC用戶中的絕大多數正使用這種語言來執行建模(68%)、體係架構開發(68%)、事務處理級建模(56%)和硬件/軟件協同仿真(56%)。SystemC最初在OSCI(開放SystemC發起組織)中發展而來,它的語言參考手冊(LRM)最近已經獲批成為IEEE 1666標準(見參考文獻[1])。SystemVerilogSystemVerilog是一種相當新的語言,它建立在Verilog語言的基礎上,並新近成為下一代硬件設計和驗證的語言。SystemVerilog結合了來自
Verilog、VHDL、C++的概念,還有驗證平台語言和斷言語言,也就是說,它將硬件描述語言(HDL)與現代的高層級驗證語言(HVL)結合了起 來。由於擁有這樣的概念以及它與Verilog的向上兼容性,使其對於進行當今高度複雜的設計驗證的驗證工程師具有相當大的吸引力。能夠采用 SystemVerilog進行驗證的另一項成功因素是方法學手冊和架構的更早可用性,例如在SystemVerilog的驗證方法手冊(VMM)(見參 考文獻[2])中所描述的驗證平台方法(這一方法是由ARM和Synopsys合作開發的)。上述這些特點,以及SystemVerilog是一項得到了所有主要EDA供應商支持的IEEE標準的事實,使得SystemVerilog實質上成為了硬件設計和驗證的首選語言。&  SystemC與SystemVerilog特點比較就SystemC和SystemVerilog這兩種語言而言,
SystemC擴展了C++在硬件方麵的適用範圍,而SystemVerilog擴展了Verilog在基於對象和驗證平台方麵的適用範圍。而這兩種語言 均支持諸如信號、事件、接口和麵向對象的概念,但每一種語言又均擁有自己明確的應用重點:●&SystemC對於體係架構開發編寫抽象事務處理級(TL)模型、或執行建模來說最為有效,特別是對於具有很強C++實力的團隊和有基於C/C++ IP 集成要求(如處理器仿真器),以及為早期軟件開發設計的虛擬原型來說,更是如此。●&SystemVerilog對於RTL、抽象模型和先進的驗證平台的開發來說最有效率,因為它具備了執行這方麵任務所需的基礎架構,例如受限製隨機激勵生成、功能覆蓋或斷言。●&SystemVerilog顯然是描述最終的RTL設計本身的首選語言,不僅在於其描述真實硬件和斷言的能力,還在於對工具支持方麵的考慮。這並不意味著每種語言不可以用在不同的應用中。
實際上,SystemC可以用於驗證平台和描述RTL結構,而SystemVerilog也可以用於編寫高層事務處理級模型。但是,每一種語言都用於自己 的重點應用時,它們可以達到最佳的效率。這點對於複雜的項目特別適用,在這種項目中,不同的任務分屬於不同的組,通常有不同的技能要求。注重實效的解決方 案以及符合設計團隊的多種技術要求的方法是同時使用SystemC和SystemVerilog來開發和驗證當今設計流程需要的虛擬原型的事務處理級模 型。  集成的仿真環境將SystemC和SystemVerilog集成在同一個解決方案中,歸根結底是需要提供混合SystemC和SystemVerilog的仿真和 調試環境。這項集成的核心在於能夠直接從SystemVerilog任務中調用SystemC成員的能力,反之亦然,可以從SystemC成員中直接調用 SystemVerilog任務。很明顯,這樣就要求在SystemC和SystemVerilog的時間概念之間達到同步。為了建立SystemC和SystemVerilog的高效集成解決方案,讓諸如信號和事務處理這樣的基層概念在語言設計中,盡管已經在各自的語言中 進行了各自方麵的優化,在語義上又能夠跨越語言分界實現有效的映射。實際上,SystemC和SystemVerilog的標準化組織,OSCI和 Accellera,已經認識到在這兩種語言之間建立有效接口連接機製的需求。SystemC和SystemVerilog集成的核心支持了混合層級結合的建模,而有能力創建部分處於事務處理級和部分處於具體硬 件級的仿真模型。因此,集成讓SystemC和SystemVerilog能夠在不同的抽象層級上進行通訊。一個典型的應用實例是將一個SystemVerilog RTL模塊集成到整個係統的一個SystemC模型中,例如,為了實現早期集成檢查。由於SystemC典型情況下應用在事務處理級,就有必要使用一個作為抽象層級之間橋梁的適配器(圖3)。&這些適配器的目的在於將事務處理轉換成信號操作,而反之亦然。這樣,就可以讓設計的一部分在事務處理層次上進行仿真,而另一些部分在具體硬件層級上進行仿真。采用這種方法,設計人員擁有對於仿真具體層級的完全控製。這些適配器可以用SystemC或以SystemVerilog(圖3)來編寫。使用一項SystemC適配器是相當直接的方式,並且以將 SystemC信號映射到SystemVerilog信號為基礎,反之亦然。而以SystemVerilog來縮寫轉換器時,典型情況下能夠提供更高的性 能,但要求在SystemC與SystemVerilog之間建立事務處理級接口。  SystemC與SystemVerilog之間的事務處理級接口在System
C中,將通訊與功能區隔開來的目的導致了接口概念的形成。在SystemVerilog中,與接口類似的概念也進行了設計。雖然 SystemVerilog接口和SystemC接口並不完全一致,它們在語言上具有足夠的匹配度,能夠提供這兩種語言之間的有效事務處理級連接。 SystemVerilog接口是一種能夠將信號捆綁在一起的結構,並且具有與SystemC接口完全一樣的接口方法。通過使用 SystemVerilog基於DPI的服務層,驗證引擎可以直接將SystemC接口映射在SystemVerilog接口上,從而可以從 SystemVerilog驗證平台中直接調用SystemC事務處理級模型。例1所示為在參考文獻[3]中所述的以SystemC編寫的simple_bus的模塊接口部分。它描述了接口方法burst_read。而 simple_bus的整個代碼可以在任何SystemC
2.x版本的安裝版本中找到。但是,simple_bus是如何實現此接口方法的,例如,使用了什麼樣的總線帶寬或使用了哪一類型的仲裁,對於該接口方法 的調用者來說都是不可見的,因此,可以在體係結構開發中很方便地進行改變。&例2所示為simple-bus的一個SystemVerilog接口部分,這個總線可以直接映射到如例1所示的SystemC接口。為了確保 SystemVerilog接口向SystemC成員的正確映射,其實現通過一個SystemVerilog的直接過程接口(DPI)服務層來完成。這樣就可以實現如例3所示的從SystemVerilog驗證平台中直接調用SystemC對象的接口方法。有了這種能力,驗證團隊就可以充分利用SystemVerilog的驗證平台技術來驗證SystemC事務處理級模型,並可以使用SystemC事務 處理級模型作為硬件驗證流程的參考模型,這點在圖4中進行了概略的描述。此外,SystemVerilog功能覆蓋和斷言可以用於實現完整的由覆蓋率驅動 的事務處理級模型的驗證解決方案,為SystemC模型提供新型和前所未有的驗證能力。Synopsys的Discovery驗證平台是這類集成驗證環境最好的實例之一,它同時集成了對SystemC和SystemVerilog的支 持。它提供了高性能的RTL驗證,包括仿真和形式分析、體係架構開發以及提供一個對廣泛的測試平台所需的基礎支持,來處理事務處理級建模的驗證。通過觀察目前的SoC設計,我們可以大致了解為什麼ESL工具和方法在控製設計成本和幫助準時發布產品方麵起到了關鍵性的作用,並且了解到那些影響到SoC性能和成本的關鍵性決策是在項目早期通過采用事務處理級建模方法建立的虛擬原型做出的。SystemC是一種非常適合於創建、仿真和分析設計的事務處理級模型的語言。SystemVerilog是理想的硬件實現語言。SystemC和 SystemVerilog的良好結合能支持混合(事務處理和硬件)模型。此外,這項結合讓SystemVerilog的強大驗證能力能夠在事務處理級模 型的驗證工作中充分發揮,而相同的驗證平台還可以適用於硬件驗證工作。SystemC和SystemVerilog結合起來提供了當今先進芯片所需的一套從ESL至RTL設計流程的真正的、基於標準的解決方案。通過將 SystemC和SystemVerilog結合到一個單一的驗證環境中,可以高效地建立和驗證分析體係結構所需要的事務處理級虛擬原型,並在設計工作的 早期開發內嵌的軟件。从验证的角度,systemverilog和systemc谁更合适?
UID814670&帖子300&精华0&积分10797&资产10797 信元&发贴收入2265 信元&推广收入0 信元&附件收入0 信元&下载支出1548 信元&阅读权限70&在线时间416 小时&注册时间&最后登录&
[通过 QQ、MSN 分享给朋友]
欢迎访问 TI 热门产品应用指南

我要回帖

更多关于 word横排变竖排 的文章

 

随机推荐