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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

路科驗(yàn)證 ? 來(lái)源:路科驗(yàn)證 ? 作者:路科驗(yàn)證 ? 2022-05-07 14:20 ? 次閱讀

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

VCS是一個(gè)高性能、高容量的編譯代碼仿真器,它將高級(jí)抽象的驗(yàn)證技術(shù)集成到一個(gè)開(kāi)放的本地平臺(tái)中。它能夠分析、編譯和編譯Verilog、VHDL、SystemVerilogOpenVera所描述的design,并且還提供了一組仿真和調(diào)試功能來(lái)驗(yàn)證design,這些特性提供了源代碼級(jí)debug和仿真結(jié)果。支持原生測(cè)試平臺(tái)、SystemVerilog、驗(yàn)證規(guī)劃、覆蓋率分析和收斂。

除了標(biāo)準(zhǔn)Verilog、VHDL和混合HDL和SystemVerilog編譯和仿真功能,VCS包括以下集成的功能和工具集:

SystemC

Verdi

Unified Command-lineInterface (UCLI)

Built-In CoverageMetrics

DirectC Interface

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

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

使用vcs,語(yǔ)法如下:

vcs [compileoptions] Verilog_files

常用選項(xiàng)如下:

-h or -help

列出最常用的VCS編譯和運(yùn)行時(shí)選項(xiàng)的描述

-ID

返回有用的信息,如VCS版本和構(gòu)建日期,VCS編譯器版本,以及工作站名稱(chēng)、平臺(tái)和主機(jī)ID

-v filename

指定Verilog庫(kù)文件,VCS在這個(gè)文件中查找模塊定義和在源代碼中找到的UDP實(shí)例

-y directory

指定Verilog庫(kù)目錄,VCS在這個(gè)目錄的源文件中搜索模塊定義和UDP實(shí)例。VCS在這個(gè)目錄中搜索與實(shí)例中模塊或UDP標(biāo)識(shí)符同名的文件(不是實(shí)例名)。如果找到了這個(gè)文件,VCS會(huì)在文件中搜索模塊或UDP定義來(lái)解析實(shí)例

ps:如果你在不同的庫(kù)中有多個(gè)同名的模塊,VCS會(huì)選擇用第一個(gè)-y選項(xiàng)指定的庫(kù)中定義的模塊

+incdir+directory+

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

+inbext+extension+

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

+liborder

指定在VCS找到實(shí)例的庫(kù)的剩余部分中搜索未解析的模塊實(shí)例的模塊定義

-full64

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

-file filename

指定包含文件列表和編譯時(shí)選項(xiàng)的文件

-verdi

啟動(dòng)verdi

-R

編譯后立即啟動(dòng)仿真

-pvalue+parameter_hierarchical_name=value

將指定的參數(shù)更改為指定的值

-parameters filename

將文件中指定的參數(shù)更改為文件中指定的值

-notice

啟用詳細(xì)診斷消息

-q

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

-V

verbose模式;打印消息,例如編譯器驅(qū)動(dòng)程序在運(yùn)行C編譯器、匯編器和鏈接器時(shí)打印它執(zhí)行的命令

-lfilename

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

+define+macro=value+

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

simulation:在編譯過(guò)程中,VCS生成一個(gè)二進(jìn)制可執(zhí)行文件simv,使用simv來(lái)運(yùn)行仿真。根據(jù)編譯的方式,可用兩種模式運(yùn)行仿真:

Interactivemode

在初始階段以交互模式(調(diào)試模式)編譯design。在這個(gè)階段,可以使用GUI或通過(guò)命令行調(diào)試design問(wèn)題。通過(guò)GUI進(jìn)行調(diào)試可以使用Verdi,通過(guò)命令行進(jìn)行調(diào)試可以使用UCLI(Unified command line interface)

batch mode

當(dāng)大多數(shù)design問(wèn)題解決后,可以使用批處理模式(優(yōu)化模式)編譯design。在這個(gè)階段,可以以最小的debug性能來(lái)?yè)Q取更好的性能來(lái)運(yùn)行回歸

使用下面的命令行來(lái)仿真設(shè)計(jì):

simv_executable [runtime_options]

缺省情況下,VCS生成可執(zhí)行的二進(jìn)制文件simv,但也可以在vcs命令行中使用編譯時(shí)間選項(xiàng) -o 來(lái)生成具有指定名稱(chēng)的二進(jìn)制可執(zhí)行文件

-gui

當(dāng)設(shè)置了VERDI_HOME時(shí),此選項(xiàng)啟動(dòng)Verdi

-ucli

該選項(xiàng)在UCLI模式下啟動(dòng)simv

  • three-step flow
支持Verilog、VHDL和混合HDL設(shè)計(jì),包括三個(gè)步驟: analysis 分析elaboration 細(xì)化simulation 仿真 analysis:分析是仿真design的第一步,在此階段將使用vhdlanvlogan分析VHDL、Verilog、SystemVerilog和OpenVera文件。下面的部分包括幾個(gè)分析設(shè)計(jì)文件的示例命令行: 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常用選項(xiàng):-help顯示vlogan的使用信息 -q忽略所有vlogan消息 -f filename指定包含源文件列表的文件 -full64Analyzes the design for 64-bit simulation -ignore keyword_argument根據(jù)指定的關(guān)鍵字參數(shù),忽略警告消息 -l filename指定VCS記錄分析器消息的日志文件 -sverilog啟用分析SystemVerilog源代碼 -sv_pragma指示VCS在單行或多行注釋中編譯sv_pragma關(guān)鍵字后面的SystemVerilog斷言代碼 -timescale=time_unit/time_precision為不包含timescale編譯器指令的源文件指定unit和precision,并在包含時(shí)間表的源文件之前指定時(shí)間表 -v library_file指定用于搜索模塊定義的Verilog庫(kù)文件 -work library將設(shè)計(jì)庫(kù)名稱(chēng)映射到接收vlogan輸出的邏輯庫(kù)名稱(chēng)work elaboration:細(xì)化是仿真design的第二步,在這個(gè)階段,使用分析過(guò)程中生成的中間文件,VCS構(gòu)建實(shí)例層次結(jié)構(gòu)并生成一個(gè)二進(jìn)制可執(zhí)行的simv,該二進(jìn)制可執(zhí)行文件之后用于仿真??蛇x擇優(yōu)化模式或調(diào)試模式來(lái)細(xì)化design。 常用選項(xiàng)如下:-h or -help列出最常用的VCS編譯和運(yùn)行時(shí)選項(xiàng)的描述 -ID返回有用的信息,如VCS版本和構(gòu)建日期,VCS編譯器版本,以及工作站名稱(chēng)、平臺(tái)和主機(jī)ID -full64支持64位模式下的編譯和仿真-file filename指定包含文件列表和編譯時(shí)選項(xiàng)的文件 -l filename指定VCS記錄編譯消息的文件,如果還有-R選項(xiàng),VCS將在同一個(gè)文件中記錄編譯和仿真的消息 simulation:仿真是最后一步,在細(xì)化過(guò)程中,使用生成的中間文件,VCS創(chuàng)建了一個(gè)二進(jìn)制可執(zhí)行文件simv。使用simv來(lái)運(yùn)行仿真??梢允褂靡韵聝煞N模式運(yùn)行仿真: Interactive mode在初始階段以交互模式(調(diào)試模式)細(xì)化design。在這個(gè)階段,可以使用GUI或通過(guò)命令行調(diào)試design問(wèn)題。通過(guò)GUI進(jìn)行調(diào)試可以使用Verdi,通過(guò)命令行進(jìn)行調(diào)試可以使用UCLI (Unified command line interface) batch mode當(dāng)大多數(shù)design問(wèn)題解決后,可以使用批處理模式(優(yōu)化模式)編譯design。在這個(gè)階段,可以以最小的debug性能來(lái)?yè)Q取更好的性能來(lái)運(yùn)行回歸 使用下面的命令行來(lái)仿真設(shè)計(jì):simv_executable[runtime_options] 缺省情況下,VCS生成可執(zhí)行的二進(jìn)制文件simv,但也可以在vcs命令行中使用編譯時(shí)間選項(xiàng)-o來(lái)生成具有指定名稱(chēng)的二進(jìn)制可執(zhí)行文件 -gui當(dāng)設(shè)置了VERDI_HOME時(shí),此選項(xiàng)啟動(dòng)Verdi-ucli該選項(xiàng)在UCLI模式下啟動(dòng)simv

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

END

審核編輯 :李倩


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

    關(guān)注

    50

    文章

    3992

    瀏覽量

    133218
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1607

    瀏覽量

    48977
  • Flow
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    8822

原文標(biāo)題:淺談VCS的兩種仿真flow

文章出處:【微信號(hào):Rocker-IC,微信公眾號(hào):路科驗(yàn)證】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    噪聲傳導(dǎo)的兩種模式

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

    請(qǐng)問(wèn)如何將HSPICE和 IBIS兩種模型怎么轉(zhuǎn)換成TINA軟件中用?

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

    晶閘管的阻斷狀態(tài)有兩種是什么

    晶閘管(Thyristor)是一半導(dǎo)體器件,具有單向?qū)щ娦?,廣泛應(yīng)用于電力電子領(lǐng)域。晶閘管的阻斷狀態(tài)有兩種:正向阻斷狀態(tài)和反向阻斷狀態(tài)。以下是對(duì)這兩種阻斷狀態(tài)的分析。 正向阻斷狀態(tài) 正向阻斷狀態(tài)
    的頭像 發(fā)表于 08-14 16:49 ?400次閱讀

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

    充電樁設(shè)計(jì)有直流(DC)和交流(AC)兩種接口,主要是為了適應(yīng)不同類(lèi)型的電動(dòng)汽車(chē)(EV)充電需求以及電池的充電特性。
    的頭像 發(fā)表于 04-30 15:33 ?1184次閱讀

    異或門(mén)兩種常見(jiàn)的實(shí)現(xiàn)方式

    兩種實(shí)現(xiàn)方式都能夠?qū)崿F(xiàn)異或門(mén)的功能,具體的選擇取決于設(shè)計(jì)需求和邏輯門(mén)的可用性。實(shí)際構(gòu)建異或門(mén)時(shí),可以使用離散電子元件(如晶體管、二極管等)或整合電路芯片(如 TTL、CMOS 等)來(lái)實(shí)現(xiàn)。
    的頭像 發(fā)表于 02-04 17:30 ?1w次閱讀
    異或門(mén)<b class='flag-5'>兩種</b>常見(jiàn)的實(shí)現(xiàn)方式

    VCS 仿真option 解析

    VCS仿真選項(xiàng)分編譯(compile-time)選項(xiàng)和運(yùn)行(run-time)選項(xiàng)。編譯選項(xiàng)用于RTL/TB的編譯,一遍是編譯了就定了,不能在仿真中更改其特性,例如define等等。
    的頭像 發(fā)表于 01-06 10:19 ?2138次閱讀

    分享兩種簡(jiǎn)單的平衡電橋設(shè)備設(shè)計(jì)

    本文給出了兩種簡(jiǎn)單的平衡電橋設(shè)備設(shè)計(jì),借此即可對(duì)個(gè)電感進(jìn)行高精度的比較。LED指示器或高阻抗電話(huà)耳機(jī)用作不平衡指示器。
    的頭像 發(fā)表于 01-05 09:31 ?716次閱讀
    分享<b class='flag-5'>兩種</b>簡(jiǎn)單的平衡電橋設(shè)備設(shè)計(jì)

    兩種仿真軟件的仿真結(jié)果有差異嗎

    兩種仿真軟件的仿真結(jié)果在某些情況下可能存在差異。具體來(lái)說(shuō),仿真軟件是通過(guò)模擬現(xiàn)實(shí)世界中的某個(gè)系統(tǒng)或過(guò)程來(lái)產(chǎn)生結(jié)果的工具。不同的仿真軟件采用不
    的頭像 發(fā)表于 12-28 15:37 ?993次閱讀

    Multisim仿真幅頻特性曲線(xiàn)和相頻特性曲線(xiàn)的兩種方法

    Multisim仿真幅頻特性曲線(xiàn)和相頻特性曲線(xiàn)的兩種方法
    的頭像 發(fā)表于 12-11 17:29 ?1.5w次閱讀
    Multisim<b class='flag-5'>仿真</b>幅頻特性曲線(xiàn)和相頻特性曲線(xiàn)的<b class='flag-5'>兩種</b>方法

    時(shí)鐘樹(shù)是什么?介紹兩種時(shí)鐘樹(shù)結(jié)構(gòu)

    今天來(lái)聊一聊時(shí)鐘樹(shù)。首先我先講一下我所理解的時(shí)鐘樹(shù)是什么,然后介紹兩種時(shí)鐘樹(shù)結(jié)構(gòu)。
    的頭像 發(fā)表于 12-06 15:23 ?1475次閱讀

    兩種timing分析模式—GBA與PBA簡(jiǎn)單梳理

    今天想來(lái)聊一聊STA相關(guān)的內(nèi)容。GBA和PBA是在做STA分析的時(shí)候的兩種分析模式
    的頭像 發(fā)表于 12-06 15:00 ?1045次閱讀

    兩種常見(jiàn)EMC整改流程!

    兩種常見(jiàn)EMC整改流程!|深圳比創(chuàng)達(dá)電子EMC
    的頭像 發(fā)表于 11-23 10:10 ?890次閱讀

    常見(jiàn)的ARM架構(gòu)分為兩種是M系列另外一是A系列,這兩種有什么區(qū)別???

    現(xiàn)在市面上常見(jiàn)的ARM架構(gòu)分為兩種是M系列另外一是A系列,這兩種有什么區(qū)別啊,用的時(shí)候他們一般分別用在什么地方啊。
    發(fā)表于 10-26 07:00

    vcs實(shí)用技巧

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉(zhuǎn)化為C文件,在linux下編譯生成的可執(zhí)行文./simv即可得到仿真結(jié)果。
    的頭像 發(fā)表于 10-25 17:22 ?909次閱讀
    <b class='flag-5'>vcs</b>實(shí)用技巧

    兩種保護(hù)用電流采樣電路的比較及應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《兩種保護(hù)用電流采樣電路的比較及應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 10-25 10:19 ?3次下載
    <b class='flag-5'>兩種</b>保護(hù)用電流采樣電路的比較及應(yīng)用