chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于e語言的自動驗證環(huán)境結構與優(yōu)勢介紹

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-11-28 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

驗證技術的發(fā)展

在目前的集成電路設計中,芯片的規(guī)模和復雜程度正呈指數(shù)增加,為保證所設計芯片功能的正確性,需要花費比以往更多的時間和人力,困難度大幅增加。而且,目前的功能驗證能力已經(jīng)遠遠落后于設計能力,功能驗證正成為大規(guī)模芯片設計的瓶頸。設計人員通常需要花費50%~70%的時間去驗證他們的設計。雖然有形式驗證等多種驗證方法可供選擇,但是設計者還是偏好基于仿真的驗證,本文中的驗證主要是指仿真。為了降低驗證的工作量和提高驗證的效率,越來越多的設計人員采用高級驗證語言(HLV)來進行芯片驗證。

驗證技術的發(fā)展主要經(jīng)歷了以下幾個階段:

1. 基于HDL語言的驗證

用HDL語言來建立測試平臺和編寫測試向量,將激勵輸入給設計,然后檢查設計的輸

出。這種方法的缺點是測試平臺和測試向量的建立和編寫非常復雜和困難,并且驗證所需的激勵難以達到足夠的覆蓋率。

2. 面向?qū)ο蟮尿炞C

由于采用HDL語言進行驗證的局限性,設計人員可以使用面向?qū)ο蟮母呒壵Z言(如C++、Python)來建立驗證環(huán)境和編寫激勵。這種驗證方法可以使設計人員從比較抽象的設計高層,對設計的輸入和輸出進行建模,然后通過驗證環(huán)境與仿真器通信接口,將抽象的數(shù)據(jù)模型轉換成比特形式的數(shù)據(jù)。這種驗證方法大大降低了編寫激勵的工作量,但是驗證環(huán)境的建立相對復雜,比如驗證環(huán)境與仿真器的通信接口等。

3. 隨機產(chǎn)生激勵

由于測試激勵編寫的工作量非常大,所以設計人員逐步采用隨機產(chǎn)生測試向量的方法,以減輕編寫激勵的工作量,并提高驗證的覆蓋率。但是它的缺點在于,由于激勵是隨機產(chǎn)生的,所以給驗證結果的檢查帶來了一定難度,并且設計者不能根據(jù)要驗證的設計屬性來產(chǎn)生所需的激勵,即不能根據(jù)約束來產(chǎn)生激勵。

4. 驗證平臺工具

由于驗證環(huán)境的建立過于復雜,因此出現(xiàn)了驗證平臺工具,通過這種工具可以大大減少建立驗證環(huán)境的工作量。但是這類驗證工具不能使驗證人員通過設計的抽象層來編寫激勵,而且不能實現(xiàn)設計時序行為的檢查。

驗證自動化系統(tǒng)

由于上述驗證方法都或多或少具有局限性,所以需要一種完善的驗證系統(tǒng)。根據(jù)上節(jié)所述,一種完善的驗證自動化系統(tǒng)需要具備以下幾個功能:首先它能夠定義驗證計劃;然后能夠提供接口,用高級語言從抽象的層次產(chǎn)生基于約束的激勵;并且能方便高效地建立驗證環(huán)境;最后能夠完成設計時序行為的驗證和基于斷言的功能覆蓋率的驗證。

e語言是一種功能強大的驗證語言,它可以很好地實現(xiàn)一個驗證自動化系統(tǒng),如圖1所示。在這個驗證系統(tǒng)中,首先可以根據(jù)驗證者的需要,用e語言來制定一些約束,根據(jù)這些約束來產(chǎn)生驗證需要的激勵。由于e可以很好地與Verilog和VHDL仿真器通信,因此可以將這些用e語言抽象描述的數(shù)據(jù)轉換成比特形式,然后加載給設計;再通過和仿真器的通信,對系統(tǒng)進行功能仿真,并將設計的輸出收集起來,這時可以將比特形式的數(shù)據(jù)轉換回e語言的抽象描述,以便于對設計行為與預期結果進行檢查。除此之外,e語言還可以實現(xiàn)設計時序行為的檢查。如果一個中斷必須在請求后的5個周期后發(fā)出,可以通過e語言來描述這個設計屬性,通過仿真來檢查其是否滿足。最后,e語言還可以用來進行基于斷言的功能覆蓋率驗證。

基于e語言的驗證環(huán)境與仿真器的交互

在具體介紹基于e語言的驗證環(huán)境之前,先介紹一下基于e語言的驗證環(huán)境與仿真器的通信機理。目前,Cadence公司的工具Specman Elite支持用e語言來建立驗證自動化系統(tǒng),Specman Elite提供可配置、可再使用和可擴展的驗證組件,這些組件被稱為eVC。eVC采用高級驗證語言e編寫,能夠產(chǎn)生足夠多的測試激勵訊號,并能對設計行為與預期結果進行檢查確認。eVC可以極大地縮短驗證時間,提高產(chǎn)品品質(zhì)。所以本文將以Specman為例來介紹基于e語言的驗證環(huán)境與仿真器是如何協(xié)同工作的。

Specman和仿真器在仿真的過程中是兩個獨立

并行的進程,它們通過通信接口(stubs文件)來進行通信,其結構如圖2所示。

基于e語言的自動驗證環(huán)境結構與優(yōu)勢介紹

圖2 仿真器結構

仿真環(huán)境包含以下各組成部分:

Specman:整個驗證環(huán)境是用e語言實現(xiàn)的,其中包括約束、激勵產(chǎn)生、驅(qū)動、檢查、覆蓋率等,所有的e文件都由Specman編譯和仿真。

仿真器:Verilog或VHDL仿真器,它通過stubs文件與Specman進行通信。

外界庫:仿真用到的一些模型可能是基于C語言的,e語言可以很好地導入這些模型來進行仿真。

設計:基于Verilog或VHDL的設計。

仿真文件:在仿真中可能用到的一些外部模型,如總線功能模型等。

頂層:包括設計和各種模型的例化和一些驅(qū)動輸入或收集輸出的寄存器。

Stubs文件:Specman讀入所有的e文件,然后用一個命令來生成所需要的Stubs文件,這個文件在仿真過程中是由仿真器編譯和仿真的。

基于e語言的驗證環(huán)境

基于e語言的驗證環(huán)境包括許多組成部分,其基本結構如圖3所示。

圖3 基本結構

其中數(shù)據(jù)對象代表固定格式的測試向量,如數(shù)據(jù)包、視頻中的一幀數(shù)據(jù),或CPU的一種指令。激勵產(chǎn)生

會對數(shù)據(jù)對象添加一定的約束,隨機產(chǎn)生基于約束的激勵。輸入驅(qū)動中包括一個輸入程序,負責將數(shù)據(jù)輸入給設計,根據(jù)設計的不同,有可能對設計進行重復多次的輸入。輸出采集中包括一個采集設計輸出的程序,并將采集到的數(shù)據(jù)轉換成數(shù)據(jù)對象定義的形式,然后送到數(shù)據(jù)檢查模塊進行檢查。數(shù)據(jù)檢查部分產(chǎn)生所需要的數(shù)據(jù)和存儲收集到的數(shù)據(jù)的程序,并完成數(shù)據(jù)檢查。協(xié)議檢查通過定義一些時序上的斷言來監(jiān)控設計的協(xié)議,如果違反了協(xié)議將產(chǎn)生警告或錯誤提示。覆蓋率分析會分析設計中的斷言,給出設計的功能覆蓋率報告。

Specman提供約束解釋器和通信信道來進行e語言的仿真,界面對象(interface object)負責將數(shù)據(jù)對象驅(qū)動給設計的界面,系統(tǒng)對象(system object)包括各種不同的界面對象。界面對象和系統(tǒng)對象根據(jù)每個設計來編寫,如對CPU進行驗證時,根據(jù)設計定義輸入給CPU的數(shù)據(jù)對象(指令格式等),因此驗證環(huán)境不需要隨著設計的改變而改變,所以一個設計的環(huán)境是可以重用的。不同的測試激勵通過約束數(shù)據(jù)對象、界面對象、系統(tǒng)對象來產(chǎn)生。驗證環(huán)境的劃分框

圖如圖4所示。

基于e語言的自動驗證環(huán)境結構與優(yōu)勢介紹

圖4 驗證環(huán)境的劃分框圖

基于e語言的驗證環(huán)境的文件層次結構如圖5所示,其最頂層文件名字固定為sys,在sys下例化所有的模塊。

基于e語言的自動驗證環(huán)境結構與優(yōu)勢介紹

圖5 文件層次結構

結語

本文介紹了目前國外各大芯片設計公司所采用的最新的驗證技術——基于e語言的自動驗證系統(tǒng)。采用e語言建立驗證環(huán)境、編寫測試激勵,可大大降低芯片驗證人員的工作量,提高驗證效率。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54076

    瀏覽量

    466996
  • 集成電路
    +關注

    關注

    5454

    文章

    12596

    瀏覽量

    374891
  • 仿真器
    +關注

    關注

    14

    文章

    1052

    瀏覽量

    87651
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于VMM驗證方法學的MCU驗證環(huán)境

    隨著SystemVerilog成為IEEE的P1800規(guī)范,越來越多的項目開始采用基于SystemVerilog的驗證方法學來獲得更多的重用擴展性、更全面的功能覆蓋率,以及更合理的層次化驗證結構
    發(fā)表于 03-24 14:07 ?3923次閱讀

    C語言的分支結構介紹

    1.簡單if語句 C語言中的分支結構語句中的if條件語句。 簡單if語句的基本結構如下: 代碼語言:javascript if(表達式) { 執(zhí)行代碼塊; } 其語義是:如
    發(fā)表于 11-25 07:48

    基于VMM的驗證環(huán)境驗證MCU指令實現(xiàn)設計

    驗證結構,以及以功能覆蓋率為指標的驗證流程。在本文中,圍繞Synopsys的VMM(Verification Methodology Manual)構建了一個MCU驗證
    發(fā)表于 07-01 08:15

    基于VMM驗證方法學的MCU驗證環(huán)境實現(xiàn)方法介紹

    驗證結構,以及以功能覆蓋率為指標的驗證流程。在本文中,圍繞Synopsys的VMM(VerificationMethodology Manual)構建了一個MCU驗證
    發(fā)表于 07-03 07:40

    硬件驗證語言——簡介

    ,隨著該介紹,第一個硬件驗證語言誕生了。 ***2 年,還創(chuàng)建了一個新標準 SystemVerilog。 現(xiàn)在有不同的驗證語言可用,其中
    發(fā)表于 02-16 13:36

    一個優(yōu)秀的SOC驗證環(huán)境應該具備哪些功能呢

    ?首先是SOC驗證環(huán)境支持C和SV兩種下激勵的方式。通過C code啟動SOC環(huán)境是怎么啟動的呢?這里涉及到CPU如何boot,對此很多轉行的同學可能很難理解,在這里和大家做個簡單的介紹
    發(fā)表于 05-31 11:39

    Python硬件驗證——摘要

    FPGA_HW_SIM_FWK- FPGA硬件仿真框架 Python作為最流行的編程語言是硬件驗證語言(HVL)的自然選擇,特別是對于IC設計領域的新人來說,他們對SystemVerilog、Verilog、SystemC、
    發(fā)表于 11-03 13:07

    各種驗證技術在SoC設計中的應用

    本文針對目前芯片驗證中出現(xiàn)的瓶頸問題,闡述了當前流行的驗證技術和部分硬件驗證語言。文中介紹了SystemC 和
    發(fā)表于 08-13 08:44 ?27次下載

    8051單片機C語言開發(fā)環(huán)境實務與設計

    8051單片機C語言開發(fā)環(huán)境實務與設計從基礎出發(fā),循序漸進地介紹8051單片機的C語言程序開發(fā)環(huán)境、窗口操作、C
    發(fā)表于 10-08 21:28 ?0次下載
    8051單片機C<b class='flag-5'>語言</b>開發(fā)<b class='flag-5'>環(huán)境</b>實務與設計

    SoC驗證環(huán)境搭建方法的研究

    本文從SoC (System on a Chip)驗證環(huán)境外在的框架結構、內(nèi)在的驗證數(shù)據(jù)的組織與管理和體現(xiàn)其工作原理的系統(tǒng)腳本的設計思想三方面出發(fā),討論SoC
    發(fā)表于 12-14 09:52 ?22次下載

    基于SystemVerilog語言驗證方法學介紹

    文章主要介紹《VMM for SystemVerilog》一書描述的如何利用SystemVerilog語言,采用驗證方法學以及驗證庫開發(fā)出先進驗證
    發(fā)表于 05-09 15:22 ?53次下載
    基于SystemVerilog<b class='flag-5'>語言</b>的<b class='flag-5'>驗證</b>方法學<b class='flag-5'>介紹</b>

    SoC多語言協(xié)同驗證平臺技術研究

    SoC基于IP設計的特點使驗證項目中多語言VIP(Verification IP)協(xié)同驗證的需求不斷增加,給驗證工作帶來了很大的挑戰(zhàn)。為了解決多語言
    發(fā)表于 12-31 09:25 ?12次下載

    Python語言介紹及開發(fā)環(huán)境

    Python語言介紹及開發(fā)環(huán)境說明。
    發(fā)表于 04-26 09:51 ?11次下載

    C語言運行環(huán)境是什么

    計算等多個領域。為了能夠正確、有效地運行C語言程序,必須具備相應的運行環(huán)境。 C語言運行環(huán)境包括軟件運行環(huán)境和硬件運行
    的頭像 發(fā)表于 11-27 16:13 ?5493次閱讀

    基于 NineData 的多環(huán)境結構變更流程編排實踐

    NineData 的流程編排,并非簡單的 SQL執(zhí)行工具,而是專為多環(huán)境結構發(fā)布設計的標準化體系:以開發(fā)環(huán)境為基準數(shù)據(jù)源,固定變更源頭與執(zhí)行順序,支持開發(fā)→測試→預發(fā)→生產(chǎn)自定義流程節(jié)點,僅允許流轉
    的頭像 發(fā)表于 03-19 17:24 ?201次閱讀
    基于 NineData 的多<b class='flag-5'>環(huán)境</b>表<b class='flag-5'>結構</b>變更流程編排實踐