那曲檬骨新材料有限公司

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

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

3天內不再提示

使用VCS兩種仿真flow的基本步驟

路科驗證 ? 來源:路科驗證 ? 作者:路科驗證 ? 2022-05-07 14:20 ? 次閱讀

幾乎所有的芯片設計、芯片驗證工程師,每天都在和VCS打交道,但是由于驗證環境的統一化管理,一般將不同的編譯仿真選項集成在一個文件里,只需要一兩個人維護即可。所以大部分人比較少有機會去深入地學習VCS的仿真flow。基于此,本文將介紹VCS仿真的兩種flow,概述這兩種flow分別做了哪些事!

VCS是一個高性能、高容量的編譯代碼仿真器,它將高級抽象的驗證技術集成到一個開放的本地平臺中。它能夠分析、編譯和編譯Verilog、VHDL、SystemVerilogOpenVera所描述的design,并且還提供了一組仿真和調試功能來驗證design,這些特性提供了源代碼級debug和仿真結果。支持原生測試平臺、SystemVerilog、驗證規劃、覆蓋率分析和收斂。

除了標準Verilog、VHDL和混合HDL和SystemVerilog編譯和仿真功能,VCS包括以下集成的功能和工具集:

SystemC

Verdi

Unified Command-lineInterface (UCLI)

Built-In CoverageMetrics

DirectC Interface

VCS還可以與第三方工具集成,如Specman、Denali和其他加速和仿真系統。

下面介紹VCS的兩種仿真flow:two-step flowthree-step flow
  • two-step flow
只支持VerilogHDL和SystemVerilog設計,包括兩個步驟: compilation 編譯simulation 仿真 compilation:編譯是仿真design的第一步,此時VCS構建實例層次結構并生成一個二進制可執行的simv,之后用于仿真。在此階段,我們可以選擇以優化模式調試模式編譯design。

使用vcs,語法如下:

vcs [compileoptions] Verilog_files

常用選項如下:

-h or -help

列出最常用的VCS編譯和運行時選項的描述

-ID

返回有用的信息,如VCS版本和構建日期,VCS編譯器版本,以及工作站名稱、平臺和主機ID

-v filename

指定Verilog庫文件,VCS在這個文件中查找模塊定義和在源代碼中找到的UDP實例

-y directory

指定Verilog庫目錄,VCS在這個目錄的源文件中搜索模塊定義和UDP實例。VCS在這個目錄中搜索與實例中模塊或UDP標識符同名的文件(不是實例名)。如果找到了這個文件,VCS會在文件中搜索模塊或UDP定義來解析實例

ps:如果你在不同的庫中有多個同名的模塊,VCS會選擇用第一個-y選項指定的庫中定義的模塊

+incdir+directory+

指定VCS搜索包含文件的directory目錄,可以使用加號(+)字符指定多個目錄

+inbext+extension+

指定VCS只在庫目錄中搜索具有指定文件擴展名的文件,可以指定多個擴展名,用加號(+)分隔擴展名。例如,+libext+.v+ .V+,指定在庫中搜索擴展名為.v或.V的文件

+liborder

指定在VCS找到實例的庫的剩余部分中搜索未解析的模塊實例的模塊定義

-full64

支持64位模式下的編譯和仿真

-file filename

指定包含文件列表和編譯時選項的文件

-verdi

啟動verdi

-R

編譯后立即啟動仿真

-pvalue+parameter_hierarchical_name=value

將指定的參數更改為指定的值

-parameters filename

將文件中指定的參數更改為文件中指定的值

-notice

啟用詳細診斷消息

-q

quiet模式;抑制消息,例如關于VCS使用的C編譯器、VCS解析的源文件、頂層模塊或指定的timescale的消息

-V

verbose模式;打印消息,例如編譯器驅動程序在運行C編譯器、匯編器和鏈接器時打印它執行的命令

-lfilename

指定VCS記錄編譯消息的文件,如果還有-R選項,VCS將在同一個文件中記錄編譯和仿真的消息

+define+macro=value+

將源代碼中的文本宏定義為值或字符串,可以在Verilog源代碼中使用`ifdef編譯器指令來測試這個定義

simulation:在編譯過程中,VCS生成一個二進制可執行文件simv,使用simv來運行仿真。根據編譯的方式,可用兩種模式運行仿真:

Interactivemode

在初始階段以交互模式(調試模式)編譯design。在這個階段,可以使用GUI或通過命令行調試design問題。通過GUI進行調試可以使用Verdi,通過命令行進行調試可以使用UCLI(Unified command line interface)

batch mode

當大多數design問題解決后,可以使用批處理模式(優化模式)編譯design。在這個階段,可以以最小的debug性能來換取更好的性能來運行回歸

使用下面的命令行來仿真設計:

simv_executable [runtime_options]

缺省情況下,VCS生成可執行的二進制文件simv,但也可以在vcs命令行中使用編譯時間選項 -o 來生成具有指定名稱的二進制可執行文件

-gui

當設置了VERDI_HOME時,此選項啟動Verdi

-ucli

該選項在UCLI模式下啟動simv

  • three-step flow
支持Verilog、VHDL和混合HDL設計,包括三個步驟: analysis 分析elaboration 細化simulation 仿真 analysis:分析是仿真design的第一步,在此階段將使用vhdlanvlogan分析VHDL、Verilog、SystemVerilog和OpenVera文件。下面的部分包括幾個分析設計文件的示例命令行: Analyzing your VHDL files:vhdlan [vhdlan_options] file1.vhd file2.vhd Analyzing your Verilog files:vlogan [vlogan_options] file1.v file2.v Analyzing your SystemVerilog files:vlogan -sverilog [vlogan_options] file1.sv file2.svfile3.v Analyzing your OpenVera files:vlogan -ntb [vlogan_options] file1.vr file2.vr file3.v Analyzing your SystemVerilog and OpenVera files:vlogan -sverilog -ntb [vlogan_options] file1.sv file2.vrfile3.v 由于一般使用Verilog,故本文只介紹vlogan常用選項:-help顯示vlogan的使用信息 -q忽略所有vlogan消息 -f filename指定包含源文件列表的文件 -full64Analyzes the design for 64-bit simulation -ignore keyword_argument根據指定的關鍵字參數,忽略警告消息 -l filename指定VCS記錄分析器消息的日志文件 -sverilog啟用分析SystemVerilog源代碼 -sv_pragma指示VCS在單行或多行注釋中編譯sv_pragma關鍵字后面的SystemVerilog斷言代碼 -timescale=time_unit/time_precision為不包含timescale編譯器指令的源文件指定unit和precision,并在包含時間表的源文件之前指定時間表 -v library_file指定用于搜索模塊定義的Verilog庫文件 -work library將設計庫名稱映射到接收vlogan輸出的邏輯庫名稱work elaboration:細化是仿真design的第二步,在這個階段,使用分析過程中生成的中間文件,VCS構建實例層次結構并生成一個二進制可執行的simv,該二進制可執行文件之后用于仿真。可選擇優化模式或調試模式來細化design。 常用選項如下:-h or -help列出最常用的VCS編譯和運行時選項的描述 -ID返回有用的信息,如VCS版本和構建日期,VCS編譯器版本,以及工作站名稱、平臺和主機ID -full64支持64位模式下的編譯和仿真-file filename指定包含文件列表和編譯時選項的文件 -l filename指定VCS記錄編譯消息的文件,如果還有-R選項,VCS將在同一個文件中記錄編譯和仿真的消息 simulation:仿真是最后一步,在細化過程中,使用生成的中間文件,VCS創建了一個二進制可執行文件simv。使用simv來運行仿真。可以使用以下兩種模式運行仿真: Interactive mode在初始階段以交互模式(調試模式)細化design。在這個階段,可以使用GUI或通過命令行調試design問題。通過GUI進行調試可以使用Verdi,通過命令行進行調試可以使用UCLI (Unified command line interface) batch mode當大多數design問題解決后,可以使用批處理模式(優化模式)編譯design。在這個階段,可以以最小的debug性能來換取更好的性能來運行回歸 使用下面的命令行來仿真設計:simv_executable[runtime_options] 缺省情況下,VCS生成可執行的二進制文件simv,但也可以在vcs命令行中使用編譯時間選項-o來生成具有指定名稱的二進制可執行文件 -gui當設置了VERDI_HOME時,此選項啟動Verdi-ucli該選項在UCLI模式下啟動simv

以上內容介紹了使用兩種仿真flow的基本步驟,其余功能需要用的時候再查VCS User Guide就行了。

END

審核編輯 :李倩


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

    關注

    50

    文章

    4124

    瀏覽量

    133993
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49286
  • Flow
    +關注

    關注

    0

    文章

    10

    瀏覽量

    8865

原文標題:淺談VCS的兩種仿真flow

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AMC1204有兩種封裝,SOIC-8和SOIC-16,功能一樣嗎?為什么要推出兩種封裝?

    呢?AMC1204,AMC1304這樣做有什么好處嗎? 2、AMC1204有兩種封裝,SOIC-8和SOIC-16,功能一樣嗎?為什么要推出兩種封裝?
    發表于 12-27 07:22

    芯片制造過程中的兩種刻蝕方法

    本文簡單介紹了芯片制造過程中的兩種刻蝕方法 ? 刻蝕(Etch)是芯片制造過程中相當重要的步驟。 刻蝕主要分為干刻蝕和濕法刻蝕。 ①干法刻蝕 利用等離子體將不要的材料去除。 ②濕法刻蝕 利用腐蝕性
    的頭像 發表于 12-06 11:13 ?495次閱讀
    芯片制造過程中的<b class='flag-5'>兩種</b>刻蝕方法

    U50的AMD Vivado Design Tool flow設置

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design Tool flow。比較常見的是 Vitis
    的頭像 發表于 11-13 10:14 ?278次閱讀
    U50的AMD Vivado Design Tool <b class='flag-5'>flow</b>設置

    噪聲傳導的兩種模式

    噪聲傳導有兩種模式,一為差模傳導,一為共模傳導。
    的頭像 發表于 10-15 11:33 ?381次閱讀
    噪聲傳導的<b class='flag-5'>兩種</b>模式

    Linux應用層控制外設的兩種不同的方式

    眾所周知,linux下一切皆文件,那么應用層如何控制硬件層,同樣是通過 文件I/O的方式來實現的,那么應用層控制硬件層通常有兩種方式。
    的頭像 發表于 10-05 19:03 ?702次閱讀
    Linux應用層控制外設的<b class='flag-5'>兩種</b>不同的方式

    請問如何將HSPICE和 IBIS兩種模型怎么轉換成TINA軟件中用?

    TI網站里,給出了一些期間的HSPICE和IBIS模型,但是現有的仿真工具 只有TINA這種,請問如何將HSPICE和 IBIS兩種模型怎么轉換成TINA軟件中用? 請高手給予解答。感謝!
    發表于 09-02 07:56

    兩種電纜類型的特點及優勢

    隨著技術的發展,電纜的材料和結構不斷優化,以滿足日益增長的電力需求和復雜的應用環境。本文將詳細探討兩種廣泛使用的電纜類型——聚氯乙烯絕緣電纜和交聯聚乙烯絕緣電纜,它們的特點、優勢及適用范圍。 一
    的頭像 發表于 08-28 16:23 ?492次閱讀

    晶閘管的阻斷狀態有兩種是什么

    晶閘管(Thyristor)是一半導體器件,具有單向導電性,廣泛應用于電力電子領域。晶閘管的阻斷狀態有兩種:正向阻斷狀態和反向阻斷狀態。以下是對這兩種阻斷狀態的分析。 正向阻斷狀態 正向阻斷狀態
    的頭像 發表于 08-14 16:49 ?838次閱讀

    接地保護分為哪兩種方式

    接地保護是電氣工程中非常重要的一安全措施,其目的是確保電氣設備和系統在發生故障時能夠安全地將電流導向地面,從而保護人身安全和設備安全。接地保護主要分為兩種方式:工作接地和保護接地。以下是對這兩種
    的頭像 發表于 08-05 10:24 ?1328次閱讀

    wdm設備的兩種傳輸方式

    系統中,有多種傳輸方式,其中最常見的兩種是密集波分復用(DWDM)和粗波分復用(CWDM)。 1. 密集波分復用(DWDM) 1.1 DWDM技術原理 密集波分復用(Dense Wavelength Division Multiplexing,簡稱DWDM)是一將多個不
    的頭像 發表于 07-18 09:45 ?548次閱讀

    PCBA加工中常見的兩種焊接方式詳解

    ,在PCBA行業中經常被使用。接下來深圳PCBA加工廠家為大家詳細介紹PCBA加工手工焊接的兩種方式,為您揭秘行業內的技術細節。 PCBA加工過程中常用焊接方式 第一方式是傳統手工焊接。這種方式主要依靠技術工人的手動操作進行焊接。工人需事先準備好所需的焊
    的頭像 發表于 06-14 09:18 ?626次閱讀

    充電樁為什么有直流與交流兩種接口?

    充電樁設計有直流(DC)和交流(AC)兩種接口,主要是為了適應不同類型的電動汽車(EV)充電需求以及電池的充電特性。
    的頭像 發表于 04-30 15:33 ?1792次閱讀

    800G光模塊的兩種主流封裝

    隨著信息時代的快速發展,網絡通信的數據傳輸速率也在不斷提升。800G光模塊作為當前網絡通信領域的重要組件,其封裝類型對于模塊的性能和可靠性具有重要影響。本文小易將為大家介紹800G光模塊的兩種封裝類型。
    的頭像 發表于 04-24 16:20 ?909次閱讀

    電路仿真設計步驟

    電路仿真設計是一個涉及多個步驟的過程,其主要目標是通過計算機模擬來預測和優化電路的性能。
    的頭像 發表于 03-29 14:31 ?1535次閱讀

    GYFTA、GYFTY兩種光纜的區別

    GYFTA和GYFTY兩種光纜的區別主要在于它們的結構和應用場景。 GYFTA光纜是一室外非金屬加強芯松套管層絞聚乙烯粘連鋁帶護套光纜。這種光纜的結構特點是它使用了非金屬加強芯,并且光纜的外護套
    的頭像 發表于 03-26 10:26 ?2186次閱讀
    百家乐五种路单规| 稷山县| 视频百家乐破解| 百家乐官网投注之对冲投注| 大发888怎么玩才赢| 澳门百家乐官网赌场| 百家乐官网路单下注| 最可信百家乐娱乐城| 博彩百家乐官网五2013124预测| 四房播播| 威尼斯人娱乐城图片| 百家乐博彩平台| 晋州市| 大发888娱乐城都有啥扑克牌游戏| 实战百家乐博彩正网| 哪个百家乐官网投注好| 博狗备用| 新澳博百家乐的玩法技巧和规则| 乐天堂在线投注| 老虎机的规律| 百家乐群柏拉图软件| 金都百家乐官网的玩法技巧和规则| 大连娱网棋牌大厅| 威尼斯人娱乐城极好| 百家乐平注赢钱法| 百家乐游戏规测| 做生意怕路冲吗| 中原百家乐官网的玩法技巧和规则 | 罗盘24山八卦| 真人百家乐官网的玩法技巧和规则 | 一筒百家乐的玩法技巧和规则| 百家乐网上投注作弊| 百家乐官网庄最高连开几把| 伯爵百家乐官网赌场娱乐网规则| 百家乐官网英皇娱乐平台| 百家乐官网ho168平台| 崇礼县| 豪博百家乐娱乐城| 百家乐赌博技巧网| 百家乐遥控洗牌器| 真人百家乐视频赌博|